summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/context/contrib/context-chat/LICENSE232
-rw-r--r--macros/context/contrib/context-chat/README.md72
-rw-r--r--macros/context/contrib/context-chat/VERSION1
-rw-r--r--macros/context/contrib/context-chat/tex/context/third/chat/t-chat.mkiv231
-rw-r--r--macros/generic/lt3luabridge/CHANGES.md74
-rw-r--r--macros/generic/lt3luabridge/README.md5
-rw-r--r--macros/generic/lt3luabridge/docstrip.cfg2
-rw-r--r--macros/generic/lt3luabridge/lt3luabridge.dtx87
-rw-r--r--macros/generic/lt3luabridge/lt3luabridge.pdfbin497075 -> 505015 bytes
-rw-r--r--macros/generic/markdown/CHANGES.md35
-rw-r--r--macros/generic/markdown/DEPENDS.txt21
-rw-r--r--macros/generic/markdown/README.md2
-rw-r--r--macros/generic/markdown/VERSION2
-rw-r--r--macros/generic/markdown/docstrip.cfg4
-rw-r--r--macros/generic/markdown/libraries/markdown-tinyyaml.lua4
-rw-r--r--macros/generic/markdown/markdown.dtx330
-rw-r--r--macros/generic/markdown/markdown.html57
-rw-r--r--macros/generic/markdown/markdown.ins1
-rw-r--r--macros/generic/markdown/markdown.pdfbin1124699 -> 1114115 bytes
-rw-r--r--macros/jptex/latex/jlreq/README-ja.md10
-rw-r--r--macros/jptex/latex/jlreq/README.md385
-rw-r--r--macros/jptex/latex/jlreq/jlreq-complements.sty14
-rw-r--r--macros/jptex/latex/jlreq/jlreq-ja.pdfbin383731 -> 387548 bytes
-rw-r--r--macros/jptex/latex/jlreq/jlreq-trimmarks-ja.md2
-rw-r--r--macros/jptex/latex/jlreq/jlreq-trimmarks.md4
-rw-r--r--macros/jptex/latex/jlreq/jlreq-trimmarks.sty17
-rw-r--r--macros/jptex/latex/jlreq/jlreq.cls324
-rw-r--r--macros/jptex/latex/jlreq/jlreq.pdfbin121549 -> 209167 bytes
-rw-r--r--macros/jptex/latex/pxchfon/LICENSE2
-rw-r--r--macros/jptex/latex/pxchfon/README-ja.md14
-rw-r--r--macros/jptex/latex/pxchfon/README.md15
-rw-r--r--macros/jptex/latex/pxchfon/pxchfon.pdfbin272287 -> 285062 bytes
-rw-r--r--macros/jptex/latex/pxchfon/pxchfon.sty627
-rw-r--r--macros/jptex/latex/pxchfon/pxchfon.tex124
-rw-r--r--macros/jptex/latex/pxchfon/pxchfon0.def239
-rw-r--r--macros/jptex/latex/pxchfon/sample/sample-2000jis.pdfbin2323 -> 6840 bytes
-rw-r--r--macros/jptex/latex/pxchfon/sample/sample-2000jis.tex9
-rw-r--r--macros/jptex/latex/pxchfon/sample/sample-2004jis.pdfbin2323 -> 6907 bytes
-rw-r--r--macros/jptex/latex/pxchfon/sample/sample-2004jis.tex9
-rw-r--r--macros/jptex/latex/pxchfon/sample/sample-pxchfon.pdfbin44396 -> 38291 bytes
-rw-r--r--macros/jptex/latex/pxchfon/sample/sample-pxchfon.tex15
-rw-r--r--macros/jptex/latex/pxjahyper/LICENSE2
-rw-r--r--macros/jptex/latex/pxjahyper/README-ja.md8
-rw-r--r--macros/jptex/latex/pxjahyper/README.md1
-rw-r--r--macros/jptex/latex/pxjahyper/pxjahyper-ajm.def4
-rw-r--r--macros/jptex/latex/pxjahyper/pxjahyper-enc.sty4
-rw-r--r--macros/jptex/latex/pxjahyper/pxjahyper-uni.def4
-rw-r--r--macros/jptex/latex/pxjahyper/pxjahyper.pdfbin155428 -> 165718 bytes
-rw-r--r--macros/jptex/latex/pxjahyper/pxjahyper.sty245
-rw-r--r--macros/jptex/latex/pxjahyper/pxjahyper.tex115
-rw-r--r--macros/latex-dev/base/README.md2
-rw-r--r--macros/latex-dev/base/alltt.dtx4
-rw-r--r--macros/latex-dev/base/alltt.pdfbin223861 -> 223766 bytes
-rw-r--r--macros/latex-dev/base/cfgguide.pdfbin264168 -> 264168 bytes
-rw-r--r--macros/latex-dev/base/changes.txt91
-rw-r--r--macros/latex-dev/base/classes.dtx12
-rw-r--r--macros/latex-dev/base/classes.pdfbin560294 -> 560495 bytes
-rw-r--r--macros/latex-dev/base/clsguide-historic.pdfbin415956 -> 415956 bytes
-rw-r--r--macros/latex-dev/base/clsguide.pdfbin490149 -> 490531 bytes
-rw-r--r--macros/latex-dev/base/clsguide.tex5
-rw-r--r--macros/latex-dev/base/cmfonts.pdfbin292600 -> 292600 bytes
-rw-r--r--macros/latex-dev/base/cyrguide.pdfbin257359 -> 257359 bytes
-rw-r--r--macros/latex-dev/base/doc-code.pdfbin1079115 -> 1079325 bytes
-rw-r--r--macros/latex-dev/base/doc.dtx8
-rw-r--r--macros/latex-dev/base/doc.pdfbin758047 -> 758260 bytes
-rw-r--r--macros/latex-dev/base/docstrip.pdfbin506564 -> 506443 bytes
-rw-r--r--macros/latex-dev/base/encguide.pdfbin1318576 -> 1318576 bytes
-rw-r--r--macros/latex-dev/base/exscale.pdfbin204708 -> 204708 bytes
-rw-r--r--macros/latex-dev/base/fix-cm.pdfbin287727 -> 287727 bytes
-rw-r--r--macros/latex-dev/base/fntguide.pdfbin522678 -> 522678 bytes
-rw-r--r--macros/latex-dev/base/fontdef.dtx15
-rw-r--r--macros/latex-dev/base/graphpap.pdfbin161722 -> 161722 bytes
-rw-r--r--macros/latex-dev/base/ifthen.pdfbin222460 -> 222460 bytes
-rw-r--r--macros/latex-dev/base/inputenc.pdfbin318372 -> 318372 bytes
-rw-r--r--macros/latex-dev/base/lamport-manual.pdfbin170876 -> 170876 bytes
-rw-r--r--macros/latex-dev/base/latexrelease.dtx4
-rw-r--r--macros/latex-dev/base/latexrelease.pdfbin282095 -> 282447 bytes
-rw-r--r--macros/latex-dev/base/latexsym.pdfbin200759 -> 200759 bytes
-rw-r--r--macros/latex-dev/base/lb2.pdfbin252519 -> 252519 bytes
-rw-r--r--macros/latex-dev/base/letter.dtx5
-rw-r--r--macros/latex-dev/base/letter.pdfbin337881 -> 337660 bytes
-rw-r--r--macros/latex-dev/base/lgc2.pdfbin217663 -> 217663 bytes
-rw-r--r--macros/latex-dev/base/lppl.pdfbin132370 -> 132370 bytes
-rw-r--r--macros/latex-dev/base/ltboxes.dtx51
-rw-r--r--macros/latex-dev/base/ltcmd.dtx152
-rw-r--r--macros/latex-dev/base/ltcmdhooks-code.pdfbin753775 -> 753718 bytes
-rw-r--r--macros/latex-dev/base/ltcmdhooks-doc.pdfbin498793 -> 499315 bytes
-rw-r--r--macros/latex-dev/base/ltcmdhooks.dtx3
-rw-r--r--macros/latex-dev/base/ltfilehook-code.pdfbin806888 -> 807131 bytes
-rw-r--r--macros/latex-dev/base/ltfilehook-doc.pdfbin552230 -> 552465 bytes
-rw-r--r--macros/latex-dev/base/ltfinal.dtx4
-rw-r--r--macros/latex-dev/base/ltfssbas.dtx11
-rw-r--r--macros/latex-dev/base/lthooks-code.pdfbin1248844 -> 1250529 bytes
-rw-r--r--macros/latex-dev/base/lthooks-doc.pdfbin758505 -> 762282 bytes
-rw-r--r--macros/latex-dev/base/lthooks.dtx53
-rw-r--r--macros/latex-dev/base/ltkeys.dtx135
-rw-r--r--macros/latex-dev/base/ltlists.dtx126
-rw-r--r--macros/latex-dev/base/ltluatex.dtx16
-rw-r--r--macros/latex-dev/base/ltluatex.pdfbin325142 -> 325889 bytes
-rw-r--r--macros/latex-dev/base/ltmarks-code.pdfbin718132 -> 718185 bytes
-rw-r--r--macros/latex-dev/base/ltmarks-doc.pdfbin576121 -> 576257 bytes
-rw-r--r--macros/latex-dev/base/ltmarks.dtx8
-rw-r--r--macros/latex-dev/base/ltmiscen.dtx252
-rw-r--r--macros/latex-dev/base/ltnews.pdfbin1408003 -> 1421596 bytes
-rw-r--r--macros/latex-dev/base/ltnews01.pdfbin169553 -> 169553 bytes
-rw-r--r--macros/latex-dev/base/ltnews02.pdfbin151773 -> 151773 bytes
-rw-r--r--macros/latex-dev/base/ltnews03.pdfbin151324 -> 151324 bytes
-rw-r--r--macros/latex-dev/base/ltnews04.pdfbin152551 -> 152551 bytes
-rw-r--r--macros/latex-dev/base/ltnews05.pdfbin175211 -> 175211 bytes
-rw-r--r--macros/latex-dev/base/ltnews06.pdfbin142867 -> 142867 bytes
-rw-r--r--macros/latex-dev/base/ltnews07.pdfbin138214 -> 138214 bytes
-rw-r--r--macros/latex-dev/base/ltnews08.pdfbin155442 -> 155442 bytes
-rw-r--r--macros/latex-dev/base/ltnews09.pdfbin130028 -> 130028 bytes
-rw-r--r--macros/latex-dev/base/ltnews10.pdfbin169433 -> 169433 bytes
-rw-r--r--macros/latex-dev/base/ltnews11.pdfbin112208 -> 112208 bytes
-rw-r--r--macros/latex-dev/base/ltnews12.pdfbin156764 -> 156764 bytes
-rw-r--r--macros/latex-dev/base/ltnews13.pdfbin182483 -> 182483 bytes
-rw-r--r--macros/latex-dev/base/ltnews14.pdfbin170722 -> 170722 bytes
-rw-r--r--macros/latex-dev/base/ltnews15.pdfbin130328 -> 130328 bytes
-rw-r--r--macros/latex-dev/base/ltnews16.pdfbin138107 -> 138107 bytes
-rw-r--r--macros/latex-dev/base/ltnews17.pdfbin166269 -> 166269 bytes
-rw-r--r--macros/latex-dev/base/ltnews18.pdfbin39839 -> 39839 bytes
-rw-r--r--macros/latex-dev/base/ltnews19.pdfbin225936 -> 225936 bytes
-rw-r--r--macros/latex-dev/base/ltnews20.pdfbin318193 -> 318193 bytes
-rw-r--r--macros/latex-dev/base/ltnews21.pdfbin245228 -> 245228 bytes
-rw-r--r--macros/latex-dev/base/ltnews22.pdfbin318026 -> 318026 bytes
-rw-r--r--macros/latex-dev/base/ltnews23.pdfbin286824 -> 286824 bytes
-rw-r--r--macros/latex-dev/base/ltnews24.pdfbin265497 -> 265497 bytes
-rw-r--r--macros/latex-dev/base/ltnews25.pdfbin205100 -> 205100 bytes
-rw-r--r--macros/latex-dev/base/ltnews26.pdfbin379733 -> 379733 bytes
-rw-r--r--macros/latex-dev/base/ltnews27.pdfbin251283 -> 251283 bytes
-rw-r--r--macros/latex-dev/base/ltnews28.pdfbin376950 -> 376950 bytes
-rw-r--r--macros/latex-dev/base/ltnews29.pdfbin455437 -> 455437 bytes
-rw-r--r--macros/latex-dev/base/ltnews30.pdfbin512240 -> 512240 bytes
-rw-r--r--macros/latex-dev/base/ltnews31.pdfbin526681 -> 526681 bytes
-rw-r--r--macros/latex-dev/base/ltnews32.pdfbin546540 -> 546540 bytes
-rw-r--r--macros/latex-dev/base/ltnews33.pdfbin522757 -> 522757 bytes
-rw-r--r--macros/latex-dev/base/ltnews34.pdfbin508345 -> 508345 bytes
-rw-r--r--macros/latex-dev/base/ltnews35.pdfbin563305 -> 563305 bytes
-rw-r--r--macros/latex-dev/base/ltnews36.pdfbin517934 -> 517934 bytes
-rw-r--r--macros/latex-dev/base/ltnews37.pdfbin456933 -> 456933 bytes
-rw-r--r--macros/latex-dev/base/ltnews38.pdfbin523675 -> 523675 bytes
-rw-r--r--macros/latex-dev/base/ltnews39.pdfbin540172 -> 541775 bytes
-rw-r--r--macros/latex-dev/base/ltnews39.tex17
-rw-r--r--macros/latex-dev/base/ltnews40.pdfbin323778 -> 425243 bytes
-rw-r--r--macros/latex-dev/base/ltnews40.tex207
-rw-r--r--macros/latex-dev/base/ltpara-code.pdfbin672808 -> 673220 bytes
-rw-r--r--macros/latex-dev/base/ltpara-doc.pdfbin560721 -> 560929 bytes
-rw-r--r--macros/latex-dev/base/ltpara.dtx28
-rw-r--r--macros/latex-dev/base/ltpictur.dtx3
-rw-r--r--macros/latex-dev/base/ltproperties-code.pdfbin557481 -> 557880 bytes
-rw-r--r--macros/latex-dev/base/ltproperties-doc.pdfbin432004 -> 432407 bytes
-rw-r--r--macros/latex-dev/base/ltproperties.dtx6
-rw-r--r--macros/latex-dev/base/ltshipout-code.pdfbin821771 -> 821964 bytes
-rw-r--r--macros/latex-dev/base/ltshipout-doc.pdfbin567925 -> 568121 bytes
-rw-r--r--macros/latex-dev/base/ltsockets-code.pdfbin599138 -> 599268 bytes
-rw-r--r--macros/latex-dev/base/ltsockets-doc.pdfbin481972 -> 482115 bytes
-rw-r--r--macros/latex-dev/base/ltsockets.dtx8
-rw-r--r--macros/latex-dev/base/lttab.dtx4
-rw-r--r--macros/latex-dev/base/lttagging.dtx146
-rw-r--r--macros/latex-dev/base/ltvers.dtx2
-rw-r--r--macros/latex-dev/base/ltx3info.pdfbin219358 -> 219358 bytes
-rw-r--r--macros/latex-dev/base/ltxdoc.pdfbin244141 -> 244141 bytes
-rw-r--r--macros/latex-dev/base/makeindx.pdfbin165816 -> 165816 bytes
-rw-r--r--macros/latex-dev/base/modguide.pdfbin257825 -> 257825 bytes
-rw-r--r--macros/latex-dev/base/nfssfont.pdfbin211314 -> 211314 bytes
-rw-r--r--macros/latex-dev/base/proc.pdfbin227065 -> 227065 bytes
-rw-r--r--macros/latex-dev/base/slides.pdfbin375493 -> 375493 bytes
-rw-r--r--macros/latex-dev/base/slifonts.pdfbin233905 -> 233905 bytes
-rw-r--r--macros/latex-dev/base/source2e.pdfbin6442612 -> 6484831 bytes
-rw-r--r--macros/latex-dev/base/syntonly.pdfbin189555 -> 189552 bytes
-rw-r--r--macros/latex-dev/base/tlc2.pdfbin290257 -> 290257 bytes
-rw-r--r--macros/latex-dev/base/tlc3.err57
-rw-r--r--macros/latex-dev/base/tlc3.pdfbin369936 -> 385504 bytes
-rw-r--r--macros/latex-dev/base/tulm.pdfbin162773 -> 162773 bytes
-rw-r--r--macros/latex-dev/base/usrguide-historic.pdfbin439393 -> 439393 bytes
-rw-r--r--macros/latex-dev/base/usrguide.pdfbin487553 -> 487553 bytes
-rw-r--r--macros/latex-dev/base/utf8ienc.pdfbin353555 -> 353915 bytes
-rw-r--r--macros/latex-dev/base/webcomp.pdfbin146205 -> 146205 bytes
-rw-r--r--macros/latex-dev/required/graphics/README.md2
-rw-r--r--macros/latex-dev/required/graphics/changes.txt7
-rw-r--r--macros/latex-dev/required/graphics/color.dtx9
-rw-r--r--macros/latex-dev/required/graphics/color.pdfbin212179 -> 212789 bytes
-rw-r--r--macros/latex-dev/required/graphics/drivers.pdfbin286448 -> 286458 bytes
-rw-r--r--macros/latex-dev/required/graphics/epsfig.pdfbin159239 -> 159250 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphics.dtx5
-rw-r--r--macros/latex-dev/required/graphics/graphics.pdfbin304170 -> 303774 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphicx.pdfbin240618 -> 240629 bytes
-rw-r--r--macros/latex-dev/required/graphics/grfguide.pdfbin331361 -> 331377 bytes
-rw-r--r--macros/latex-dev/required/graphics/keyval.pdfbin239587 -> 239600 bytes
-rw-r--r--macros/latex-dev/required/graphics/lscape.pdfbin155987 -> 156001 bytes
-rw-r--r--macros/latex-dev/required/graphics/mathcolor.pdfbin460632 -> 461396 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotating.pdfbin278452 -> 278759 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotex.pdfbin172240 -> 172272 bytes
-rw-r--r--macros/latex-dev/required/graphics/trig.pdfbin199290 -> 199303 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/CHANGELOG.md16
-rw-r--r--macros/latex-dev/required/l3kernel/README.md2
-rw-r--r--macros/latex-dev/required/l3kernel/expl3.dtx13
-rw-r--r--macros/latex-dev/required/l3kernel/expl3.pdfbin610536 -> 610834 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/interface3.pdfbin1800816 -> 1791477 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/interface3.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3basics.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3bitset.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3bootstrap.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3box.dtx6
-rw-r--r--macros/latex-dev/required/l3kernel/l3cctab.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3clist.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3coffins.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3color.dtx30
-rw-r--r--macros/latex-dev/required/l3kernel/l3debug.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3deprecation.dtx8
-rw-r--r--macros/latex-dev/required/l3kernel/l3doc.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3doc.pdfbin565819 -> 565816 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3docstrip.pdfbin151530 -> 151526 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3expan.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3file.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3flag.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-assign.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-aux.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-basics.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-convert.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-expo.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-extended.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-functions.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-logic.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-parse.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-round.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-traps.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-trig.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-types.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3fparray.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3int.dtx17
-rw-r--r--macros/latex-dev/required/l3kernel/l3intarray.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3kernel-functions.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3keys.dtx28
-rw-r--r--macros/latex-dev/required/l3kernel/l3legacy.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3luatex.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3msg.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3names.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3news.pdfbin396223 -> 396223 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news01.pdfbin122959 -> 122959 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news02.pdfbin150919 -> 150919 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news03.pdfbin148747 -> 148747 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news04.pdfbin114754 -> 114754 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news05.pdfbin112524 -> 112524 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news06.pdfbin151591 -> 151591 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news07.pdfbin128344 -> 128344 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news08.pdfbin163484 -> 163484 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news09.pdfbin250161 -> 250161 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news10.pdfbin150302 -> 150302 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news11.pdfbin170102 -> 170102 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news12.pdfbin205020 -> 205020 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3pdf.dtx14
-rw-r--r--macros/latex-dev/required/l3kernel/l3prefixes.csv9
-rw-r--r--macros/latex-dev/required/l3kernel/l3prefixes.pdfbin82843 -> 83133 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3prg.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3prop.dtx42
-rw-r--r--macros/latex-dev/required/l3kernel/l3quark.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3regex.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3seq.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3skip.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3sort.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3str-convert.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3str.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3styleguide.pdfbin296736 -> 296814 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3syntax-changes.pdfbin231569 -> 231657 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3sys.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3term-glossary.pdfbin242363 -> 242449 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text-case.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text-map.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text-purify.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text.dtx16
-rw-r--r--macros/latex-dev/required/l3kernel/l3tl-analysis.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3tl-build.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3tl.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3token.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3unicode.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/source3.pdfbin7619159 -> 7611739 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/source3.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/source3body.tex13
-rw-r--r--macros/latex-dev/required/latex-lab/README.md2
-rw-r--r--macros/latex-dev/required/latex-lab/blocks-code.pdfbin871980 -> 875416 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/blocks-doc.pdfbin486159 -> 486033 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/changes.txt50
-rw-r--r--macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdfbin539394 -> 539538 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdfbin420928 -> 421072 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-amsmath.dtx6
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-amsmath.pdfbin382063 -> 382340 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-bib.dtx10
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-bib.pdfbin383259 -> 383673 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-block.dtx94
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-block.pdfbin871980 -> 875416 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-firstaid.dtx8
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-firstaid.pdfbin368000 -> 367986 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-float.dtx4
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-float.pdfbin426854 -> 427005 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx28
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdfbin819698 -> 820982 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-graphic.dtx10
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-graphic.pdfbin517900 -> 517929 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-marginpar.dtx35
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-marginpar.pdfbin389702 -> 414425 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-math.dtx573
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-math.pdfbin740772 -> 777735 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-mathpkg.pdfbin355789 -> 355928 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-mathtools.dtx4
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-mathtools.pdfbin382063 -> 372090 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-minipage.dtx51
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-minipage.pdfbin280811 -> 282245 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-namespace.dtx4
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-namespace.pdfbin235751 -> 235962 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-new-or-1.pdfbin389721 -> 389721 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-new-or-2.pdfbin632196 -> 632196 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-sec.dtx8
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-sec.pdfbin527096 -> 527408 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-table.dtx447
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-table.pdfbin556567 -> 572645 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-testphase.dtx2
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-testphase.pdfbin298175 -> 298111 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-text.pdfbin307812 -> 307812 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-title.pdfbin348117 -> 348117 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-toc-hyperref-changes.pdfbin296124 -> 296124 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.dtx91
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.pdfbin361081 -> 376511 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-toc.dtx93
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-toc.pdfbin396814 -> 410540 bytes
-rw-r--r--macros/latex-dev/required/tools/README.md2
-rw-r--r--macros/latex-dev/required/tools/afterpage.pdfbin198100 -> 198111 bytes
-rw-r--r--macros/latex-dev/required/tools/array.dtx52
-rw-r--r--macros/latex-dev/required/tools/array.pdfbin839409 -> 862066 bytes
-rw-r--r--macros/latex-dev/required/tools/bm.pdfbin323640 -> 323653 bytes
-rw-r--r--macros/latex-dev/required/tools/calc.pdfbin370660 -> 370673 bytes
-rw-r--r--macros/latex-dev/required/tools/changes.txt32
-rw-r--r--macros/latex-dev/required/tools/dcolumn.pdfbin221038 -> 221051 bytes
-rw-r--r--macros/latex-dev/required/tools/delarray.pdfbin191058 -> 191069 bytes
-rw-r--r--macros/latex-dev/required/tools/enumerate.pdfbin215077 -> 215089 bytes
-rw-r--r--macros/latex-dev/required/tools/fileerr.pdfbin187692 -> 188448 bytes
-rw-r--r--macros/latex-dev/required/tools/fontsmpl.pdfbin146438 -> 146451 bytes
-rw-r--r--macros/latex-dev/required/tools/ftnright.pdfbin387219 -> 387756 bytes
-rw-r--r--macros/latex-dev/required/tools/hhline.pdfbin189678 -> 189689 bytes
-rw-r--r--macros/latex-dev/required/tools/indentfirst.pdfbin157352 -> 157364 bytes
-rw-r--r--macros/latex-dev/required/tools/l3sys-query.pdfbin482622 -> 482631 bytes
-rw-r--r--macros/latex-dev/required/tools/layout.pdfbin260278 -> 260290 bytes
-rw-r--r--macros/latex-dev/required/tools/longtable.dtx156
-rw-r--r--macros/latex-dev/required/tools/longtable.pdfbin399651 -> 402866 bytes
-rw-r--r--macros/latex-dev/required/tools/manifest.txt10
-rw-r--r--macros/latex-dev/required/tools/multicol.dtx37
-rw-r--r--macros/latex-dev/required/tools/multicol.pdfbin524670 -> 525441 bytes
-rw-r--r--macros/latex-dev/required/tools/rawfonts.pdfbin138956 -> 138969 bytes
-rw-r--r--macros/latex-dev/required/tools/shellesc.pdfbin176171 -> 176184 bytes
-rw-r--r--macros/latex-dev/required/tools/showkeys.pdfbin252923 -> 252936 bytes
-rw-r--r--macros/latex-dev/required/tools/somedefs.pdfbin167583 -> 167594 bytes
-rw-r--r--macros/latex-dev/required/tools/tabularx.pdfbin289601 -> 289613 bytes
-rw-r--r--macros/latex-dev/required/tools/theorem.dtx3
-rw-r--r--macros/latex-dev/required/tools/theorem.pdfbin351723 -> 352129 bytes
-rw-r--r--macros/latex-dev/required/tools/tools-overview.pdfbin73673 -> 73698 bytes
-rw-r--r--macros/latex-dev/required/tools/tools-overview.tex8
-rw-r--r--macros/latex-dev/required/tools/trace.pdfbin222074 -> 222086 bytes
-rw-r--r--macros/latex-dev/required/tools/varioref.pdfbin393884 -> 393896 bytes
-rw-r--r--macros/latex-dev/required/tools/verbatim.pdfbin331587 -> 331599 bytes
-rw-r--r--macros/latex-dev/required/tools/xr.pdfbin323877 -> 323888 bytes
-rw-r--r--macros/latex-dev/required/tools/xspace.pdfbin257027 -> 257038 bytes
-rw-r--r--macros/latex/contrib/abraces/README.md4
-rw-r--r--macros/latex/contrib/abraces/abraces-doc.pdfbin245502 -> 245461 bytes
-rw-r--r--macros/latex/contrib/abraces/abraces-doc.tex13
-rw-r--r--macros/latex/contrib/abraces/abraces.sty7
-rw-r--r--macros/latex/contrib/asmeconf/README.md30
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-sample.bib14
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-template.pdfbin706754 -> 705662 bytes
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-template.tex142
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf.cls462
-rw-r--r--macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.pdfbin369381 -> 39914315 bytes
-rw-r--r--macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex75
-rw-r--r--macros/latex/contrib/asmejour/README.md10
-rw-r--r--macros/latex/contrib/asmejour/asmejour-sample.bib17
-rw-r--r--macros/latex/contrib/asmejour/asmejour-template.pdfbin729589 -> 728579 bytes
-rw-r--r--macros/latex/contrib/asmejour/asmejour-template.tex89
-rw-r--r--macros/latex/contrib/asmejour/asmejour.cls458
-rw-r--r--macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdfbin2983602 -> 2982565 bytes
-rw-r--r--macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.tex8
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb-doc.pdfbin208890 -> 208887 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb-doc.tex2
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb.dtx12
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb.pdfbin345846 -> 346426 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/CHANGELOG.md15
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/README.md8
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/beamercolorthememoloch.dtx2
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/beamerfontthememoloch.dtx187
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/beamerinnerthememoloch.dtx19
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/beamerouterthememoloch.dtx42
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/beamerthememoloch.dtx58
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/moloch.pdfbin276169 -> 295500 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex58
-rw-r--r--macros/latex/contrib/beautybook/README.md4
-rw-r--r--macros/latex/contrib/beautybook/beautybook-EN.cls1197
-rw-r--r--macros/latex/contrib/beautybook/beautybook-cn.pdfbin6212741 -> 6154021 bytes
-rw-r--r--macros/latex/contrib/beautybook/beautybook-cn.tex52
-rw-r--r--macros/latex/contrib/beautybook/beautybook-en.pdfbin3584660 -> 3608208 bytes
-rw-r--r--macros/latex/contrib/beautybook/beautybook-en.tex56
-rw-r--r--macros/latex/contrib/beautybook/beautybook.cls (renamed from macros/latex/contrib/beautybook/beautybook-CN.cls)359
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/beautybook-logo.pngbin0 -> 34323 bytes
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/hummingbird-8013214.jpgbin0 -> 5569816 bytes
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/logo.pngbin25086 -> 0 bytes
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/mystery-1599527.jpgbin0 -> 1688394 bytes
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/titleimages/c10.pdfbin0 -> 3365 bytes
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/titleimages/c11.pdfbin0 -> 3672 bytes
-rw-r--r--macros/latex/contrib/beautybook/inner_pics/titleimages/c9.pdfbin0 -> 3827 bytes
-rw-r--r--macros/latex/contrib/beautybook/stys/beautybook-bottompage.sty8
-rw-r--r--macros/latex/contrib/beautybook/stys/beautybook-cover-birkar.sty195
-rw-r--r--macros/latex/contrib/beautybook/stys/beautybook-cover-cn.sty107
-rw-r--r--macros/latex/contrib/beautybook/stys/beautybook-cover-en.sty82
-rw-r--r--macros/latex/contrib/beautybook/stys/beautybook-cover-enfig.sty56
-rw-r--r--macros/latex/contrib/bib2qr/README.md88
-rw-r--r--macros/latex/contrib/bib2qr/bib2qr.dtx594
-rw-r--r--macros/latex/contrib/bib2qr/bib2qr.ins85
-rw-r--r--macros/latex/contrib/bib2qr/bib2qr.pdfbin0 -> 508752 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdfbin306393 -> 305632 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex14
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.bib12
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdfbin402568 -> 404215 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx8
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx8
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx24
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx12
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/magyar-ieee.lbx6
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.bib6
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdfbin448675 -> 482865 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex34
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx25
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx8
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx8
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/README16
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdfbin414056 -> 428272 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex307
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/UKenglish-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/USenglish-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/american-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/australian-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/austrian-publist.lbx58
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/british-publist.lbx58
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/canadian-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/english-publist.lbx58
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/french-publist.lbx58
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/german-publist.lbx58
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/naustrian-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/newzealand-publist.lbx58
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/ngerman-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/nswissgerman-publist.lbx37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/swissgerman-publist.lbx58
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx262
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx62
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx4
-rw-r--r--macros/latex/contrib/bmstu-iu8/README.md2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-example.pdfbin177036 -> 177182 bytes
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls46
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/DEPENDS.txt38
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-01-base.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/01-IU8-base.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-02-construction.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/02-IU8-construction.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-03-numbering.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/03-IU8-numbering.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-04-section-numbering.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/04-IU8-section-numbering.sty)4
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-05-figures.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/05-IU8-figures.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-06-tables.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/06-IU8-tables.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-07-footnotes.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/07-IU8-footnotes.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-08-formulas.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/08-IU8-formulas.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-09-cites.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/09-IU8-cites.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-10-titlepage.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/10-IU8-titlepage.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-11-performers.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/11-IU8-performers.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-12-abstract.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/12-IU8-abstract.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-13-contents.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/13-IU8-contents.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-14-terms-and-definitions.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-15-list-of-abbreviations.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-16-references.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/16-IU8-references.sty)5
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-17-appendices.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/17-IU8-appendices.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-18-extra.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/18-IU8-extra.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-19-counters.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/19-IU8-counters.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-20-listing.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/20-IU8-listing.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-21-math.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/21-IU8-math.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-22-algorithms.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/22-IU8-algorithms.sty)2
-rw-r--r--macros/latex/contrib/bxpdfver/LICENSE2
-rw-r--r--macros/latex/contrib/bxpdfver/README-ja.md60
-rw-r--r--macros/latex/contrib/bxpdfver/README.md48
-rw-r--r--macros/latex/contrib/bxpdfver/bxpdfver.sty206
-rw-r--r--macros/latex/contrib/catppuccinpalette/README.md79
-rw-r--r--macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx430
-rw-r--r--macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins66
-rw-r--r--macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdfbin212270 -> 224058 bytes
-rw-r--r--macros/latex/contrib/changebar/CATALOG2
-rw-r--r--macros/latex/contrib/changebar/README2
-rw-r--r--macros/latex/contrib/changebar/changebar.bug4
-rw-r--r--macros/latex/contrib/changebar/changebar.dtx158
-rw-r--r--macros/latex/contrib/changebar/changebar.pdfbin486497 -> 483890 bytes
-rw-r--r--macros/latex/contrib/chemformula-ru/chemformula-ru.pdfbin167712 -> 167985 bytes
-rw-r--r--macros/latex/contrib/chemformula-ru/chemformula-ru.sty24
-rw-r--r--macros/latex/contrib/chemformula-ru/chemformula-ru.tex41
-rw-r--r--macros/latex/contrib/cjs-rcs-article/README.md12
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-article-fr.pdfbin112323 -> 120466 bytes
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx1038
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.pdfbin176709 -> 190899 bytes
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-en.dbj2
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-fr.dbj2
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-class.dbj2
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs6
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-french.mbs6
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs6
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.pdfbin38737 -> 38794 bytes
-rw-r--r--macros/latex/contrib/colortbl/colortbl-DE.pdfbin346722 -> 346756 bytes
-rw-r--r--macros/latex/contrib/colortbl/colortbl.dtx34
-rw-r--r--macros/latex/contrib/colortbl/colortbl.pdfbin312925 -> 313437 bytes
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdfbin183663 -> 199070 bytes
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex135
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdfbin1466206 -> 1503490 bytes
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex179
-rw-r--r--macros/latex/contrib/customenvs/tex/customenvs.sty438
-rw-r--r--macros/latex/contrib/dashrulex/README.md12
-rw-r--r--macros/latex/contrib/dashrulex/dashrulex.pdfbin58940 -> 57722 bytes
-rw-r--r--macros/latex/contrib/dashrulex/dashrulex.sty180
-rw-r--r--macros/latex/contrib/dashrulex/dashrulex.tex192
-rw-r--r--macros/latex/contrib/dccpaper/README.md2
-rw-r--r--macros/latex/contrib/dccpaper/dccpaper.dtx24
-rw-r--r--macros/latex/contrib/dccpaper/dccpaper.pdfbin344973 -> 350338 bytes
-rw-r--r--macros/latex/contrib/delimset/README.txt4
-rw-r--r--macros/latex/contrib/delimset/delimset.dtx1202
-rw-r--r--macros/latex/contrib/delimset/delimset.ins4
-rw-r--r--macros/latex/contrib/delimset/delimset.pdfbin327877 -> 376509 bytes
-rw-r--r--macros/latex/contrib/doibanner/README.md91
-rw-r--r--macros/latex/contrib/doibanner/doibanner.dtx412
-rw-r--r--macros/latex/contrib/doibanner/doibanner.ins85
-rw-r--r--macros/latex/contrib/doibanner/doibanner.pdfbin0 -> 297278 bytes
-rw-r--r--macros/latex/contrib/easybook/README.md4
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx512
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin622167 -> 638352 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex237
-rw-r--r--macros/latex/contrib/edmaths/LICENSE.txt416
-rw-r--r--macros/latex/contrib/edmaths/README.md5
-rw-r--r--macros/latex/contrib/edmaths/edmaths-docs.pdfbin0 -> 144435 bytes
-rw-r--r--macros/latex/contrib/edmaths/edmaths.sty258
-rw-r--r--macros/latex/contrib/edmaths/example-references.bib10
-rw-r--r--macros/latex/contrib/edmaths/example-report.tex79
-rw-r--r--macros/latex/contrib/esami/README6
-rw-r--r--macros/latex/contrib/esami/VERSION2
-rw-r--r--macros/latex/contrib/esami/doc/esami-doc-en.pdfbin483307 -> 500412 bytes
-rw-r--r--macros/latex/contrib/esami/doc/esami-doc-en.tex4
-rw-r--r--macros/latex/contrib/esami/doc/esami-doc-it.pdfbin492308 -> 508695 bytes
-rw-r--r--macros/latex/contrib/esami/doc/esami-doc-it.tex4
-rw-r--r--macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie1.parametri.tex4
-rw-r--r--macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie2.parametri.tex4
-rw-r--r--macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie3.parametri.tex4
-rw-r--r--macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie4.parametri.tex4
-rw-r--r--macros/latex/contrib/esami/doc/examples/testA-xetex-sol.sol.tex84
-rw-r--r--macros/latex/contrib/esami/esami.sty1
-rw-r--r--macros/latex/contrib/fancyhdr/README2
-rw-r--r--macros/latex/contrib/fancyhdr/fancyhdr.dtx244
-rw-r--r--macros/latex/contrib/fancyhdr/fancyhdr.pdfbin875225 -> 880898 bytes
-rw-r--r--macros/latex/contrib/fillwith/MANIFEST.md54
-rw-r--r--macros/latex/contrib/fillwith/README.md32
-rw-r--r--macros/latex/contrib/fillwith/fillwith-example.pdfbin0 -> 116008 bytes
-rw-r--r--macros/latex/contrib/fillwith/fillwith.dtx747
-rw-r--r--macros/latex/contrib/fillwith/fillwith.ins68
-rw-r--r--macros/latex/contrib/fillwith/fillwith.pdfbin0 -> 513081 bytes
-rw-r--r--macros/latex/contrib/fontscale/CHANGELOG.md54
-rw-r--r--macros/latex/contrib/fontscale/README.txt2
-rw-r--r--macros/latex/contrib/fontscale/beery.cls153
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex39
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex38
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex38
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual.pdfbin117192 -> 0 bytes
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual.tex390
-rw-r--r--macros/latex/contrib/fontscale/fontscale-table-classic.tex41
-rw-r--r--macros/latex/contrib/fontscale/fontscale-table-font-steps.tex39
-rw-r--r--macros/latex/contrib/fontscale/fontscale-table-musical.tex39
-rw-r--r--macros/latex/contrib/fontscale/fontscale.pdfbin0 -> 104879 bytes
-rw-r--r--macros/latex/contrib/fontscale/fontscale.sty1125
-rw-r--r--macros/latex/contrib/fontscale/fontscale.tex409
-rw-r--r--macros/latex/contrib/gridset/LICENSE.md2
-rw-r--r--macros/latex/contrib/gridset/README.md51
-rw-r--r--macros/latex/contrib/gridset/gridset.dtx61
-rw-r--r--macros/latex/contrib/gridset/gridset.pdfbin223385 -> 244186 bytes
-rw-r--r--macros/latex/contrib/harmony/README27
-rw-r--r--macros/latex/contrib/harmony/harmony.pdfbin150295 -> 177261 bytes
-rw-r--r--macros/latex/contrib/harmony/harmony.sty186
-rw-r--r--macros/latex/contrib/harmony/harmony.tex111
-rw-r--r--macros/latex/contrib/hebdomon/README.md18
-rw-r--r--macros/latex/contrib/hebdomon/doc/HebdomonGuide.pdfbin0 -> 544450 bytes
-rw-r--r--macros/latex/contrib/hebdomon/doc/HebdomonGuide.tex461
-rw-r--r--macros/latex/contrib/hebdomon/doc/figures/innsbruck.jpgbin0 -> 421584 bytes
-rw-r--r--macros/latex/contrib/hebdomon/tex/hebdomon.cls412
-rw-r--r--macros/latex/contrib/heria/README.md2
-rw-r--r--macros/latex/contrib/heria/heria-proposal.pdfbin313877 -> 311063 bytes
-rw-r--r--macros/latex/contrib/heria/heria.dtx170
-rw-r--r--macros/latex/contrib/heria/heria.ins4
-rw-r--r--macros/latex/contrib/heria/heria.pdfbin303966 -> 305316 bytes
-rw-r--r--macros/latex/contrib/hypcap/README.md20
-rw-r--r--macros/latex/contrib/hypcap/hypcap.dtx (renamed from macros/latex/contrib/oberdiek/hypcap.dtx)73
-rw-r--r--macros/latex/contrib/hypcap/hypcap.pdf (renamed from macros/latex/contrib/oberdiek/hypcap.pdf)bin310655 -> 300905 bytes
-rw-r--r--macros/latex/contrib/hypdestopt/README.md4
-rw-r--r--macros/latex/contrib/hypdestopt/hypdestopt.dtx57
-rw-r--r--macros/latex/contrib/hypdestopt/hypdestopt.pdfbin323028 -> 347012 bytes
-rw-r--r--macros/latex/contrib/hyperref/ChangeLog.txt9
-rw-r--r--macros/latex/contrib/hyperref/README.md2
-rw-r--r--macros/latex/contrib/hyperref/doc/backref.pdfbin206469 -> 206469 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.html54
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.pdfbin318600 -> 318416 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-doc.tex2
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdfbin439109 -> 438491 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/hyperref.pdfbin2341341 -> 2341312 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/nameref.pdfbin172475 -> 172475 bytes
-rw-r--r--macros/latex/contrib/hyperref/doc/xr-hyper.pdfbin304784 -> 303974 bytes
-rw-r--r--macros/latex/contrib/hyperref/hluatex.dtx4
-rw-r--r--macros/latex/contrib/hyperref/hyperref-linktarget.dtx2
-rw-r--r--macros/latex/contrib/hyperref/hyperref-patches.dtx2
-rw-r--r--macros/latex/contrib/hyperref/hyperref.dtx9
-rw-r--r--macros/latex/contrib/hyperref/xr-hyper.dtx2
-rw-r--r--macros/latex/contrib/isosafety/README.md2
-rw-r--r--macros/latex/contrib/isosafety/doc/isosafety-docs.pdfbin0 -> 112768 bytes
-rw-r--r--macros/latex/contrib/isosafety/doc/isosafety-docs.tex138
-rw-r--r--macros/latex/contrib/isosafety/isosafety.dtx143
-rw-r--r--macros/latex/contrib/isosafety/isosafety.ins56
-rw-r--r--macros/latex/contrib/isosafety/isosafety.pdfbin142768 -> 0 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV003.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV003.pdf)bin1123 -> 1123 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV004.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV004.pdf)bin1861 -> 1861 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV009.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV009.pdf)bin1530 -> 1530 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV010.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV010.pdf)bin1307 -> 1307 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV011.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV011.pdf)bin4364 -> 4364 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV012.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV012.pdf)bin4636 -> 4636 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV013.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV013.pdf)bin1736 -> 1736 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV027.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV027.pdf)bin4901 -> 4901 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV028.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV028.pdf)bin6703 -> 6703 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV029.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV029.pdf)bin9946 -> 9946 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV064.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV064.pdf)bin1729 -> 1729 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV067.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV067.pdf)bin2733 -> 2733 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E001.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E001.pdf)bin1828 -> 1828 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E002.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E002.pdf)bin1824 -> 1824 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E003.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E003.pdf)bin971 -> 971 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E004.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E004.pdf)bin1762 -> 1762 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E007.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E007.pdf)bin2068 -> 2068 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E008.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E008.pdf)bin1657 -> 1657 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E009.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E009.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E010.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E010.pdf)bin1203 -> 1203 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E011.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E011.pdf)bin4272 -> 4272 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E012.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E012.pdf)bin4612 -> 4612 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E013.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E013.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E014.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E014.pdf)bin4467 -> 4467 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E015.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E015.pdf)bin2117 -> 2117 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E016.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E016.pdf)bin1897 -> 1897 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E017.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E017.pdf)bin2562 -> 2562 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E018.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E018.pdf)bin1288 -> 1288 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E019.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E019.pdf)bin1281 -> 1281 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E020.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E020.pdf)bin1943 -> 1943 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E021.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E021.pdf)bin2852 -> 2852 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E022.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E022.pdf)bin1177 -> 1177 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E023.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E023.pdf)bin1172 -> 1172 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E024.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E024.pdf)bin1674 -> 1674 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E025.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E025.pdf)bin4345 -> 4345 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E026.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E026.pdf)bin1489 -> 1489 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E027.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E027.pdf)bin4814 -> 4814 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E028.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E028.pdf)bin6617 -> 6617 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E029.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E029.pdf)bin9864 -> 9864 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E030.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E030.pdf)bin1495 -> 1495 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E031.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E031.pdf)bin1721 -> 1721 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E032.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E032.pdf)bin3770 -> 3770 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E033.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E033.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E034.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E034.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E035.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E035.pdf)bin3820 -> 3820 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E036.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E036.pdf)bin4287 -> 4287 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E037.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E037.pdf)bin1959 -> 1959 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E038.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E038.pdf)bin4687 -> 4687 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E039.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E039.pdf)bin3955 -> 3955 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E040.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E040.pdf)bin1572 -> 1572 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E041.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E041.pdf)bin3792 -> 3792 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E042.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E042.pdf)bin3390 -> 3390 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E043.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E043.pdf)bin5583 -> 5583 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E044.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E044.pdf)bin3280 -> 3280 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E045.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E045.pdf)bin4814 -> 4814 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E046.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E046.pdf)bin4015 -> 4015 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E047.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E047.pdf)bin2346 -> 2346 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E048.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E048.pdf)bin2534 -> 2534 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E049.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E049.pdf)bin2423 -> 2423 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E050.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E050.pdf)bin4458 -> 4458 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E051.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E051.pdf)bin3907 -> 3907 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E052.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E052.pdf)bin2204 -> 2204 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E053.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E053.pdf)bin1886 -> 1886 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E054.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E054.pdf)bin3880 -> 3880 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E055.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E055.pdf)bin3269 -> 3269 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E056.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E056.pdf)bin2379 -> 2379 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E057.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E057.pdf)bin1169 -> 1169 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E058.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E058.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E059.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E059.pdf)bin1136 -> 1136 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E060.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E060.pdf)bin2474 -> 2474 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E061.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E061.pdf)bin4273 -> 4273 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E062.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E062.pdf)bin1760 -> 1760 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E063.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E063.pdf)bin1878 -> 1878 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E064.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E064.pdf)bin1605 -> 1605 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E065.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E065.pdf)bin1808 -> 1808 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E067.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E067.pdf)bin2617 -> 2617 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E068.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E068.pdf)bin6730 -> 6730 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E069.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E069.pdf)bin3345 -> 3345 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E070.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E070.pdf)bin1621 -> 1621 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F001.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F001.pdf)bin1567 -> 1567 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F002.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F002.pdf)bin2714 -> 2714 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F003.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F003.pdf)bin1780 -> 1780 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F004.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F004.pdf)bin2131 -> 2131 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F005.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F005.pdf)bin2289 -> 2289 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F006.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F006.pdf)bin2183 -> 2183 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F007.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F007.pdf)bin3380 -> 3380 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F008.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F008.pdf)bin3755 -> 3755 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F009.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F009.pdf)bin2238 -> 2238 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F010.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F010.pdf)bin1862 -> 1862 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F011.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F011.pdf)bin4254 -> 4254 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F012.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F012.pdf)bin1792 -> 1792 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F013.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F013.pdf)bin1813 -> 1813 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F014.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F014.pdf)bin1735 -> 1735 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F015.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F015.pdf)bin1925 -> 1925 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F016.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F016.pdf)bin2653 -> 2653 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F017.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F017.pdf)bin2724 -> 2724 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F018.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F018.pdf)bin1943 -> 1943 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F019.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F019.pdf)bin2100 -> 2100 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M001.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M001.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M002.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M002.pdf)bin1499 -> 1499 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M003.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M003.pdf)bin1608 -> 1608 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M004.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M004.pdf)bin2358 -> 2358 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M005.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M005.pdf)bin1109 -> 1109 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M006.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M006.pdf)bin2002 -> 2002 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M007.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M007.pdf)bin2092 -> 2092 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M008.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M008.pdf)bin1673 -> 1673 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M009.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M009.pdf)bin2297 -> 2297 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M010.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M010.pdf)bin1301 -> 1301 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M011.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M011.pdf)bin3054 -> 3054 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M012.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M012.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M013.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M013.pdf)bin1849 -> 1849 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M014.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M014.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M015.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M015.pdf)bin1271 -> 1271 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M016.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M016.pdf)bin1790 -> 1790 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M017.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M017.pdf)bin3757 -> 3757 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M018.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M018.pdf)bin2225 -> 2225 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M019.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M019.pdf)bin1772 -> 1772 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M020.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M020.pdf)bin1519 -> 1519 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M021.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M021.pdf)bin1351 -> 1351 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M022.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M022.pdf)bin1760 -> 1760 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M023.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M023.pdf)bin1596 -> 1596 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M024.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M024.pdf)bin1498 -> 1498 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M025.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M025.pdf)bin3246 -> 3246 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M026.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M026.pdf)bin1851 -> 1851 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M027.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M027.pdf)bin6227 -> 6227 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M028.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M028.pdf)bin2649 -> 2649 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M029.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M029.pdf)bin1879 -> 1879 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M030.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M030.pdf)bin6119 -> 6119 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M031.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M031.pdf)bin8180 -> 8180 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M032.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M032.pdf)bin5413 -> 5413 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M033.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M033.pdf)bin5446 -> 5446 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M034.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M034.pdf)bin5112 -> 5112 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M035.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M035.pdf)bin4825 -> 4825 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M036.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M036.pdf)bin3857 -> 3857 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M037.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M037.pdf)bin5183 -> 5183 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M038.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M038.pdf)bin11904 -> 11904 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M039.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M039.pdf)bin15091 -> 15091 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M040.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M040.pdf)bin16077 -> 16077 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M041.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M041.pdf)bin7136 -> 7136 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M042.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M042.pdf)bin5538 -> 5538 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M043.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M043.pdf)bin13741 -> 13741 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M044.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M044.pdf)bin3064 -> 3064 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M045.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M045.pdf)bin8883 -> 8883 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M046.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M046.pdf)bin6530 -> 6530 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M047.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M047.pdf)bin7106 -> 7106 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M048.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M048.pdf)bin15525 -> 15525 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M049.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M049.pdf)bin6205 -> 6205 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M050.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M050.pdf)bin3548 -> 3548 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M051.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M051.pdf)bin3544 -> 3544 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M052.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M052.pdf)bin4020 -> 4020 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M053.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M053.pdf)bin2284 -> 2284 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M054.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M054.pdf)bin4966 -> 4966 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M055.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M055.pdf)bin2010 -> 2010 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M056.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M056.pdf)bin1607 -> 1607 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M057.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M057.pdf)bin1246 -> 1246 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M058.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M058.pdf)bin2414 -> 2414 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M059.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M059.pdf)bin1469 -> 1469 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M060.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M060.pdf)bin2420 -> 2420 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P001.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P001.pdf)bin1197 -> 1197 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P002.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P002.pdf)bin1698 -> 1698 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P003.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P003.pdf)bin1972 -> 1972 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P004.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P004.pdf)bin1811 -> 1811 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P005.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P005.pdf)bin1768 -> 1768 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P006.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P006.pdf)bin2253 -> 2253 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P007.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P007.pdf)bin1676 -> 1676 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P008.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P008.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P009.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P009.pdf)bin1869 -> 1869 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P010.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P010.pdf)bin1775 -> 1775 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P011.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P011.pdf)bin4499 -> 4499 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P012.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P012.pdf)bin1497 -> 1497 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P013.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P013.pdf)bin3162 -> 3162 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P014.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P014.pdf)bin2354 -> 2354 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P015.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P015.pdf)bin1812 -> 1812 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P016.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P016.pdf)bin8652 -> 8652 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P017.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P017.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P018.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P018.pdf)bin1542 -> 1542 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P019.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P019.pdf)bin1772 -> 1772 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P020.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P020.pdf)bin2595 -> 2595 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P021.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P021.pdf)bin1562 -> 1562 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P022.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P022.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P023.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P023.pdf)bin1576 -> 1576 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P024.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P024.pdf)bin1684 -> 1684 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P025.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P025.pdf)bin2175 -> 2175 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P026.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P026.pdf)bin3995 -> 3995 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P027.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P027.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P028.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P028.pdf)bin2847 -> 2847 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P029.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P029.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P030.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P030.pdf)bin2978 -> 2978 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P031.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P031.pdf)bin1582 -> 1582 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P032.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P032.pdf)bin1812 -> 1812 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P033.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P033.pdf)bin15245 -> 15245 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P034.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P034.pdf)bin13872 -> 13872 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P035.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P035.pdf)bin8281 -> 8281 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P036.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P036.pdf)bin2524 -> 2524 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P037.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P037.pdf)bin2542 -> 2542 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P038.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P038.pdf)bin2576 -> 2576 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P039.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P039.pdf)bin6372 -> 6372 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P040.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P040.pdf)bin3697 -> 3697 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P041.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P041.pdf)bin1640 -> 1640 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P042.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P042.pdf)bin1674 -> 1674 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P043.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P043.pdf)bin5266 -> 5266 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P044.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P044.pdf)bin3478 -> 3478 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P045.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P045.pdf)bin1783 -> 1783 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P046.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P046.pdf)bin2063 -> 2063 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P047.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P047.pdf)bin2517 -> 2517 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P048.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P048.pdf)bin1789 -> 1789 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P049.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P049.pdf)bin2190 -> 2190 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P050.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P050.pdf)bin1936 -> 1936 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P051.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P051.pdf)bin2248 -> 2248 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P052.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P052.pdf)bin2184 -> 2184 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P053.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P053.pdf)bin2191 -> 2191 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P054.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P054.pdf)bin2405 -> 2405 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P055.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P055.pdf)bin2247 -> 2247 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P056.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P056.pdf)bin1914 -> 1914 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P057.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P057.pdf)bin2349 -> 2349 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P058.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P058.pdf)bin2302 -> 2302 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P059.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P059.pdf)bin2945 -> 2945 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P060.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P060.pdf)bin1340 -> 1340 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P061.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P061.pdf)bin2408 -> 2408 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P062.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P062.pdf)bin3032 -> 3032 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P063.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P063.pdf)bin2419 -> 2419 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P064.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P064.pdf)bin2879 -> 2879 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P065.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P065.pdf)bin3193 -> 3193 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P066.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P066.pdf)bin2490 -> 2490 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P067.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P067.pdf)bin1517 -> 1517 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P068.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P068.pdf)bin2240 -> 2240 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P069.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P069.pdf)bin1825 -> 1825 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P070.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P070.pdf)bin5310 -> 5310 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P071.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P071.pdf)bin1913 -> 1913 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P072.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P072.pdf)bin1844 -> 1844 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P073.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P073.pdf)bin2703 -> 2703 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P074.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P074.pdf)bin2906 -> 2906 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P075.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P075.pdf)bin1702 -> 1702 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W001.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W001.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W002.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W002.pdf)bin10194 -> 10194 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W003.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W003.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W004.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W004.pdf)bin1684 -> 1684 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W005.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W005.pdf)bin2585 -> 2585 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W006.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W006.pdf)bin1768 -> 1768 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W007.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W007.pdf)bin2221 -> 2221 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W008.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W008.pdf)bin2179 -> 2179 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W009.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W009.pdf)bin2430 -> 2430 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W010.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W010.pdf)bin1731 -> 1731 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W011.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W011.pdf)bin1851 -> 1851 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W012.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W012.pdf)bin1064 -> 1064 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W013.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W013.pdf)bin3018 -> 3018 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W014.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W014.pdf)bin2159 -> 2159 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W015.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W015.pdf)bin1933 -> 1933 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W016.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W016.pdf)bin2628 -> 2628 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W017.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W017.pdf)bin1280 -> 1280 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W018.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W018.pdf)bin2619 -> 2619 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W019.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W019.pdf)bin1803 -> 1803 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W020.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W020.pdf)bin1611 -> 1611 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W021.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W021.pdf)bin2127 -> 2127 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W022.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W022.pdf)bin1671 -> 1671 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W023.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W023.pdf)bin2778 -> 2778 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W024.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W024.pdf)bin1398 -> 1398 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W025.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W025.pdf)bin3060 -> 3060 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W026.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W026.pdf)bin1754 -> 1754 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W027.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W027.pdf)bin1525 -> 1525 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W028.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W028.pdf)bin2278 -> 2278 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W029.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W029.pdf)bin4426 -> 4426 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W030.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W030.pdf)bin2473 -> 2473 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W031.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W031.pdf)bin2764 -> 2764 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W032.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W032.pdf)bin2952 -> 2952 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W033.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W033.pdf)bin3108 -> 3108 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W034.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W034.pdf)bin3383 -> 3383 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W035.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W035.pdf)bin2962 -> 2962 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W036.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W036.pdf)bin23961 -> 23961 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W037.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W037.pdf)bin8525 -> 8525 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W038.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W038.pdf)bin7126 -> 7126 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W039.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W039.pdf)bin1690 -> 1690 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W040.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W040.pdf)bin12232 -> 12232 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W041.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W041.pdf)bin42519 -> 42519 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W042.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W042.pdf)bin1485 -> 1485 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W043.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W043.pdf)bin3520 -> 3520 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W044.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W044.pdf)bin2163 -> 2163 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W045.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W045.pdf)bin4400 -> 4400 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W046.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W046.pdf)bin5475 -> 5475 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W047.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W047.pdf)bin3771 -> 3771 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W048.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W048.pdf)bin3758 -> 3758 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W049.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W049.pdf)bin5523 -> 5523 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W050.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W050.pdf)bin3742 -> 3742 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W051.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W051.pdf)bin2539 -> 2539 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W052.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W052.pdf)bin4373 -> 4373 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W053.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W053.pdf)bin4771 -> 4771 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W054.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W054.pdf)bin2853 -> 2853 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W055.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W055.pdf)bin2162 -> 2162 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W056.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W056.pdf)bin2291 -> 2291 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W057.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W057.pdf)bin3440 -> 3440 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W058.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W058.pdf)bin5427 -> 5427 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W059.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W059.pdf)bin1685 -> 1685 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W060.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W060.pdf)bin4166 -> 4166 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W061.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W061.pdf)bin2533 -> 2533 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W062.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W062.pdf)bin7282 -> 7282 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W063.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W063.pdf)bin5035 -> 5035 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W064.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W064.pdf)bin1691 -> 1691 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W065.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W065.pdf)bin7289 -> 7289 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W066.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W066.pdf)bin6096 -> 6096 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W067.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W067.pdf)bin3205 -> 3205 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W068.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W068.pdf)bin2524 -> 2524 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W069.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W069.pdf)bin2964 -> 2964 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W070.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W070.pdf)bin1961 -> 1961 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W071.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W071.pdf)bin6626 -> 6626 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W072.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W072.pdf)bin1612 -> 1612 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W073.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W073.pdf)bin2727 -> 2727 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W074.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W074.pdf)bin2440 -> 2440 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W075.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W075.pdf)bin3039 -> 3039 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W076.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W076.pdf)bin2006 -> 2006 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W077.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W077.pdf)bin2607 -> 2607 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W078.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W078.pdf)bin1523 -> 1523 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W079.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W079.pdf)bin1778 -> 1778 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W080.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W080.pdf)bin1798 -> 1798 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety.sty49
-rw-r--r--macros/latex/contrib/iwonamath/Makefile6
-rw-r--r--macros/latex/contrib/iwonamath/README7
-rw-r--r--macros/latex/contrib/iwonamath/iwonamath.dtx6
-rw-r--r--macros/latex/contrib/iwonamath/iwonamath.pdfbin502258 -> 503042 bytes
-rw-r--r--macros/latex/contrib/iwonamath/omliwonamath.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omliwonamathc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omliwonamathl.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omliwonamathlc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omsiwonamath.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omsiwonamathc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omsiwonamathl.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omsiwonamathlc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omxiwonamath.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omxiwonamathc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omxiwonamathl.fd2
-rw-r--r--macros/latex/contrib/iwonamath/omxiwonamathlc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamath.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathcm.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathl.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathlc.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathlcm.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathlm.fd2
-rw-r--r--macros/latex/contrib/iwonamath/ot1iwonamathm.fd2
-rw-r--r--macros/latex/contrib/iwonamath/sample.pdfbin382573 -> 379195 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfc-a-answer.pdfbin112749 -> 113078 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfc-a-blank.pdfbin98857 -> 99214 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfc-b-answer.pdfbin112707 -> 112978 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfc-b-blank.pdfbin98922 -> 99233 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfe-a-answer.pdfbin69901 -> 69509 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfe-a-blank.pdfbin66139 -> 65749 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfe-b-answer.pdfbin69943 -> 69556 bytes
-rw-r--r--macros/latex/contrib/jnuexam/examfe-b-blank.pdfbin66167 -> 65775 bytes
-rw-r--r--macros/latex/contrib/jnuexam/jnuexam.cls8
-rw-r--r--macros/latex/contrib/jnuexam/jnuexam.pdfbin85122 -> 85441 bytes
-rw-r--r--macros/latex/contrib/jsonparse/README.md6
-rw-r--r--macros/latex/contrib/jsonparse/jason/jason.pdfbin214713 -> 3965 bytes
-rw-r--r--macros/latex/contrib/jsonparse/jason/jason.svg88
-rw-r--r--macros/latex/contrib/jsonparse/jason/jason.tex289
-rw-r--r--macros/latex/contrib/jsonparse/jsonparse-doc.pdfbin578489 -> 430804 bytes
-rw-r--r--macros/latex/contrib/jsonparse/jsonparse-doc.tex150
-rw-r--r--macros/latex/contrib/jsonparse/jsonparse.sty324
-rw-r--r--macros/latex/contrib/lastpage/README2
-rw-r--r--macros/latex/contrib/lastpage/lastpage-example.pdfbin130201 -> 130263 bytes
-rw-r--r--macros/latex/contrib/lastpage/lastpage.dtx179
-rw-r--r--macros/latex/contrib/lastpage/lastpage.pdfbin440278 -> 465434 bytes
-rw-r--r--macros/latex/contrib/litesolution/README.md2
-rw-r--r--macros/latex/contrib/litesolution/doc/figure/universe.pdfbin97170 -> 97170 bytes
-rw-r--r--macros/latex/contrib/litesolution/doc/figure/universe.tex2
-rw-r--r--macros/latex/contrib/litesolution/doc/litesolution.pdfbin276452 -> 637178 bytes
-rw-r--r--macros/latex/contrib/litesolution/doc/litesolution.tex124
-rw-r--r--macros/latex/contrib/litesolution/tex/litesolution.cls167
-rw-r--r--macros/latex/contrib/lni/CHANGELOG.md16
-rw-r--r--macros/latex/contrib/lni/README.md2
-rw-r--r--macros/latex/contrib/lni/lni-author-template.tex13
-rw-r--r--macros/latex/contrib/lni/lni.dtx108
-rw-r--r--macros/latex/contrib/lni/lni.pdfbin377695 -> 377655 bytes
-rw-r--r--macros/latex/contrib/lstaddons/README.txt (renamed from macros/latex/contrib/lstaddons/README)4
-rw-r--r--macros/latex/contrib/lstaddons/lstautogobble.dtx6
-rw-r--r--macros/latex/contrib/lstaddons/lstautogobble.pdfbin183234 -> 193066 bytes
-rw-r--r--macros/latex/contrib/lstaddons/lstlinebgrd.dtx17
-rw-r--r--macros/latex/contrib/lstaddons/lstlinebgrd.pdfbin213449 -> 224624 bytes
-rw-r--r--macros/latex/contrib/magicwatermark/README.md4
-rw-r--r--macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.pdfbin0 -> 134688 bytes
-rw-r--r--macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.tex373
-rw-r--r--macros/latex/contrib/magicwatermark/doc/magicwatermark-en.pdfbin0 -> 93645 bytes
-rw-r--r--macros/latex/contrib/magicwatermark/doc/magicwatermark-en.tex400
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark-en.pdfbin83023 -> 0 bytes
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark-en.tex212
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark.dtx598
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark.pdfbin137623 -> 0 bytes
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark.sty453
-rw-r--r--macros/latex/contrib/mailing/CATALOG15
-rw-r--r--macros/latex/contrib/mailing/MANIFEST (renamed from macros/latex/contrib/mailing/manifest.txt)4
-rw-r--r--macros/latex/contrib/mailing/README14
-rw-r--r--macros/latex/contrib/mailing/mailing.dtx38
-rw-r--r--macros/latex/contrib/mailing/mailing.ins42
-rw-r--r--macros/latex/contrib/mailing/mailing.pdfbin66516 -> 148418 bytes
-rw-r--r--macros/latex/contrib/mathastext/README.md158
-rw-r--r--macros/latex/contrib/mathastext/mathastext.dtx5913
-rw-r--r--macros/latex/contrib/mathastext/mathastext.pdfbin661328 -> 745164 bytes
-rw-r--r--macros/latex/contrib/mercatormap/CHANGES.md176
-rw-r--r--macros/latex/contrib/mercatormap/README43
-rw-r--r--macros/latex/contrib/mercatormap/README.md50
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap-example.tex4
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.bib41
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.animations.tex538
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.definition.tex38
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.drawing.tex62
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.examples.tex28
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.intro.tex6
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.limitations.tex10
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.maptiles.tex309
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.marker.tex58
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.orthodromes.tex118
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.scales.tex20
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.sty13
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.versionhistory.tex50
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.pdfbin24872307 -> 23145514 bytes
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.sty922
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.tex21
-rw-r--r--macros/latex/contrib/mercatormap/mercatorpy.def16
-rw-r--r--macros/latex/contrib/mercatormap/mercatorsupplier.def221
-rw-r--r--macros/latex/contrib/mitthesis/MIT-Thesis.pdfbin486984 -> 484200 bytes
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex119
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex6
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex5
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex23
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex7
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex6
-rw-r--r--macros/latex/contrib/mitthesis/README.md27
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdfbin116903 -> 116979 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdfbin118312 -> 118460 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdfbin0 -> 118656 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdfbin118803 -> 118959 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdfbin118681 -> 118821 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdfbin121664 -> 121794 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdfbin132021 -> 132181 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex123
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex3
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex13
-rw-r--r--macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex9
-rwxr-xr-xmacros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh31
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdfbin486372 -> 480892 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdfbin319692 -> 349865 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdfbin151566 -> 152948 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdfbin455381 -> 461124 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdfbin171619 -> 173088 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdfbin269937 -> 278894 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdfbin316317 -> 320084 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdfbin159877 -> 162721 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdfbin161667 -> 164333 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdfbin158014 -> 160667 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex14
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex15
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex10
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex14
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex14
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex15
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex14
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt2
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex14
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex14
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex14
-rwxr-xr-xmacros/latex/contrib/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh72
-rw-r--r--macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdfbin94846 -> 108977 bytes
-rw-r--r--macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex369
-rw-r--r--macros/latex/contrib/mitthesis/mitthesis.cls257
-rw-r--r--macros/latex/contrib/moderncv/CHANGELOG622
-rw-r--r--macros/latex/contrib/moderncv/KNOWN_BUGS27
-rw-r--r--macros/latex/contrib/moderncv/README.md43
-rw-r--r--macros/latex/contrib/moderncv/manual/moderncv_userguide.pdfbin320611 -> 123425 bytes
-rw-r--r--macros/latex/contrib/moderncv/manual/moderncv_userguide.tex1449
-rw-r--r--macros/latex/contrib/moderncv/moderncv.cls142
-rw-r--r--macros/latex/contrib/moderncv/moderncvbodyi.sty45
-rw-r--r--macros/latex/contrib/moderncv/moderncvbodyiii.sty50
-rw-r--r--macros/latex/contrib/moderncv/moderncvbodyiv.sty39
-rw-r--r--macros/latex/contrib/moderncv/moderncvbodyv.sty48
-rw-r--r--macros/latex/contrib/moderncv/moderncvbodyvi.sty203
-rw-r--r--macros/latex/contrib/moderncv/moderncvcollection.sty4
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorblack.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorblue.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorburgundy.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorcerulean.sty32
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorgreen.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorgrey.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolororange.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorpurple.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolorred.sty12
-rw-r--r--macros/latex/contrib/moderncv/moderncvcolors.tex35
-rw-r--r--macros/latex/contrib/moderncv/moderncvcompatibility.sty4
-rw-r--r--macros/latex/contrib/moderncv/moderncvdebugtools.sty8
-rw-r--r--macros/latex/contrib/moderncv/moderncvfooti.sty14
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadi.sty54
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadii.sty40
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadiii.sty60
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadiv.sty30
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadv.sty57
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadvi.sty29
-rw-r--r--macros/latex/contrib/moderncv/moderncvheadvii.sty226
-rw-r--r--macros/latex/contrib/moderncv/moderncviconsacademic.sty26
-rw-r--r--macros/latex/contrib/moderncv/moderncviconsawesome.sty91
-rw-r--r--macros/latex/contrib/moderncv/moderncviconsletters.sty17
-rw-r--r--macros/latex/contrib/moderncv/moderncviconsmarvosym.sty4
-rw-r--r--macros/latex/contrib/moderncv/moderncviconssymbols.sty4
-rw-r--r--macros/latex/contrib/moderncv/moderncviconstikz.sty29
-rw-r--r--macros/latex/contrib/moderncv/moderncvskillmatrix.sty408
-rw-r--r--macros/latex/contrib/moderncv/moderncvstylebanking.sty42
-rw-r--r--macros/latex/contrib/moderncv/moderncvstylecasual.sty44
-rw-r--r--macros/latex/contrib/moderncv/moderncvstyleclassic.sty42
-rw-r--r--macros/latex/contrib/moderncv/moderncvstylecontemporary.sty63
-rw-r--r--macros/latex/contrib/moderncv/moderncvstyleempty.sty29
-rw-r--r--macros/latex/contrib/moderncv/moderncvstylefancy.sty47
-rw-r--r--macros/latex/contrib/moderncv/moderncvstyleoldstyle.sty47
-rw-r--r--macros/latex/contrib/moderncv/moderncvverticaltimeline.sty79
-rw-r--r--macros/latex/contrib/moderncv/signature.pngbin0 -> 13746 bytes
-rw-r--r--macros/latex/contrib/moderncv/template.tex71
-rw-r--r--macros/latex/contrib/moderncv/tweaklist.sty2
-rw-r--r--macros/latex/contrib/moremath/MANIFEST.md26
-rw-r--r--macros/latex/contrib/moremath/README.md48
-rw-r--r--macros/latex/contrib/moremath/moremath-doc.pdfbin0 -> 994870 bytes
-rw-r--r--macros/latex/contrib/moremath/moremath.dtx5761
-rw-r--r--macros/latex/contrib/moremath/moremath.ins66
-rw-r--r--macros/latex/contrib/msu-thesis/README.md2
-rw-r--r--macros/latex/contrib/msu-thesis/docs/msu-thesis.tex6
-rw-r--r--macros/latex/contrib/msu-thesis/msu-thesis.cls8
-rw-r--r--macros/latex/contrib/msu-thesis/msu-thesis.pdfbin117627 -> 117738 bytes
-rw-r--r--macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdfbin140074 -> 140074 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-code.dtx381
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-code.pdf46990
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.pdf7644
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.tex109
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.pdf8458
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.tex71
-rw-r--r--macros/latex/contrib/oberdiek/README.md6
-rw-r--r--macros/latex/contrib/oberdiek/aliascnt.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/aliascnt.pdfbin321667 -> 321663 bytes
-rw-r--r--macros/latex/contrib/oberdiek/bmpsize.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/bmpsize.pdfbin525958 -> 525977 bytes
-rw-r--r--macros/latex/contrib/oberdiek/centernot.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/centernot.pdfbin304565 -> 304565 bytes
-rw-r--r--macros/latex/contrib/oberdiek/chemarr.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/chemarr.pdfbin318494 -> 318494 bytes
-rw-r--r--macros/latex/contrib/oberdiek/classlist.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/classlist.pdfbin298087 -> 298081 bytes
-rw-r--r--macros/latex/contrib/oberdiek/colonequals.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/colonequals.pdfbin311530 -> 311533 bytes
-rw-r--r--macros/latex/contrib/oberdiek/dvipscol.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/dvipscol.pdfbin297233 -> 297233 bytes
-rw-r--r--macros/latex/contrib/oberdiek/engord.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/engord.pdfbin347368 -> 347368 bytes
-rw-r--r--macros/latex/contrib/oberdiek/enparen.dtx10
-rw-r--r--macros/latex/contrib/oberdiek/enparen.pdfbin332193 -> 332199 bytes
-rw-r--r--macros/latex/contrib/oberdiek/eolgrab.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/eolgrab.pdfbin346528 -> 346528 bytes
-rw-r--r--macros/latex/contrib/oberdiek/fibnum.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/fibnum.pdfbin387246 -> 387246 bytes
-rw-r--r--macros/latex/contrib/oberdiek/flags.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/flags.pdfbin311381 -> 311381 bytes
-rw-r--r--macros/latex/contrib/oberdiek/holtxdoc.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/holtxdoc.pdfbin333733 -> 333733 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypbmsec.dtx8
-rw-r--r--macros/latex/contrib/oberdiek/hypbmsec.pdfbin317462 -> 317462 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypgotoe.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/hypgotoe.pdfbin313697 -> 313697 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hyphsubst.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/hyphsubst.pdfbin328780 -> 328780 bytes
-rw-r--r--macros/latex/contrib/oberdiek/ifdraft.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/ifdraft.pdfbin292642 -> 292642 bytes
-rw-r--r--macros/latex/contrib/oberdiek/iflang.dtx8
-rw-r--r--macros/latex/contrib/oberdiek/iflang.pdfbin344768 -> 344771 bytes
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek-bundle.bib14
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek.ins4
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek.pdfbin277944 -> 272940 bytes
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek.tex33
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparallel.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparallel.pdfbin348838 -> 348838 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparcolumns.pdfbin336523 -> 336523 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcrypt.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/pdfcrypt.pdfbin337837 -> 337837 bytes
-rw-r--r--macros/latex/contrib/oberdiek/protecteddef.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/protecteddef.pdfbin336483 -> 336480 bytes
-rw-r--r--macros/latex/contrib/oberdiek/resizegather.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/resizegather.pdfbin543911 -> 543911 bytes
-rw-r--r--macros/latex/contrib/oberdiek/rotchiffre.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/rotchiffre.pdfbin345328 -> 345313 bytes
-rw-r--r--macros/latex/contrib/oberdiek/scrindex.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/scrindex.pdfbin309276 -> 309292 bytes
-rw-r--r--macros/latex/contrib/oberdiek/setouterhbox.dtx6
-rw-r--r--macros/latex/contrib/oberdiek/setouterhbox.pdfbin358522 -> 358447 bytes
-rw-r--r--macros/latex/contrib/oberdiek/settobox.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/settobox.pdfbin321376 -> 321375 bytes
-rw-r--r--macros/latex/contrib/oberdiek/stackrel.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/stackrel.pdfbin310389 -> 310389 bytes
-rw-r--r--macros/latex/contrib/oberdiek/stampinclude.dtx6
-rw-r--r--macros/latex/contrib/oberdiek/stampinclude.pdfbin304745 -> 304749 bytes
-rw-r--r--macros/latex/contrib/oberdiek/tabularht.dtx6
-rw-r--r--macros/latex/contrib/oberdiek/tabularht.pdfbin359268 -> 359270 bytes
-rw-r--r--macros/latex/contrib/oberdiek/tabularkv.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/tabularkv.pdfbin280523 -> 280523 bytes
-rw-r--r--macros/latex/contrib/oberdiek/thepdfnumber.dtx12
-rw-r--r--macros/latex/contrib/oberdiek/thepdfnumber.pdfbin377485 -> 377482 bytes
-rw-r--r--macros/latex/contrib/oberdiek/twoopt.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/twoopt.pdfbin301484 -> 301484 bytes
-rw-r--r--macros/latex/contrib/overarrows/README.md4
-rw-r--r--macros/latex/contrib/overarrows/overarrows.dtx1142
-rw-r--r--macros/latex/contrib/overarrows/overarrows.pdfbin554421 -> 597885 bytes
-rw-r--r--macros/latex/contrib/pagelayout/README.md14
-rw-r--r--macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdfbin75292 -> 75391 bytes
-rw-r--r--macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex2
-rwxr-xr-xmacros/latex/contrib/pagelayout/scripts/pagelayoutapi2
-rwxr-xr-xmacros/latex/contrib/pagelayout/scripts/textestvis10
-rw-r--r--macros/latex/contrib/pagelayout/tex/pagelayout.cls10
-rw-r--r--macros/latex/contrib/passopt/README.md18
-rw-r--r--macros/latex/contrib/passopt/passopt.pdfbin0 -> 52494 bytes
-rw-r--r--macros/latex/contrib/passopt/passopt.sty56
-rw-r--r--macros/latex/contrib/passopt/passopt.tex103
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md22
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/README.md2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty5
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx48
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdfbin988776 -> 988844 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx20
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdfbin711669 -> 711589 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdfbin602769 -> 603025 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdfbin515851 -> 516309 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdfbin558756 -> 558991 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdfbin541897 -> 542144 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx21
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdfbin543358 -> 544112 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdfbin538339 -> 538574 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdfbin594389 -> 594625 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdfbin516578 -> 516817 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx10
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdfbin753718 -> 753951 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdfbin568304 -> 568542 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx26
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdfbin685930 -> 686108 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx49
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdfbin848504 -> 850174 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdfbin530707 -> 530920 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdfbin428064 -> 428630 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdfbin587757 -> 588321 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdfbin434746 -> 435158 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdfbin464617 -> 465204 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfx/pdfx.pdfbin2442175 -> 2674056 bytes
-rw-r--r--macros/latex/contrib/pdfx/src/pdfx.dtx1536
-rw-r--r--macros/latex/contrib/pdfx/src/pdfx.ins4
-rw-r--r--macros/latex/contrib/pdfx/src/pdfx.xmpdata33
-rw-r--r--macros/latex/contrib/photobook/Makefile22
-rw-r--r--macros/latex/contrib/photobook/README.md7
-rw-r--r--macros/latex/contrib/photobook/photobook.cls92
-rw-r--r--macros/latex/contrib/photobook/photobook.pdfbin145475 -> 146661 bytes
-rw-r--r--macros/latex/contrib/profcollege/doc/profcollege-doc.pdf (renamed from macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf)bin10330568 -> 10823654 bytes
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCArbreCalcul.tex543
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex20
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCCartographie.tex60
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex244
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex26
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex18
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCInfixRPN.sty538
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCMulJap.tex1
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex10
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex22
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex501
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCPixelArt.tex8
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCProbaFrequence.tex185
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex62
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCSolides.tex114
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCTortueBase.tex6
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCUrneProba.tex928
-rw-r--r--macros/latex/contrib/profcollege/latex/ProfCollege.sty50
-rw-r--r--macros/latex/contrib/profcollege/metapost/PfCMonde.mp75
-rw-r--r--macros/latex/contrib/profcollege/metapost/PfCObjets.mp53
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdfbin1788630 -> 1793092 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdfbin74004 -> 80800 bytes
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty3
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex144
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex63
-rw-r--r--macros/latex/contrib/prtec/PRTEC19-template.pdfbin355572 -> 0 bytes
-rw-r--r--macros/latex/contrib/prtec/PRTEC24-template.pdfbin0 -> 391935 bytes
-rw-r--r--macros/latex/contrib/prtec/PRTEC24-template.tex (renamed from macros/latex/contrib/prtec/PRTEC19-template.tex)63
-rw-r--r--macros/latex/contrib/prtec/README.md10
-rw-r--r--macros/latex/contrib/prtec/prtec.cls204
-rw-r--r--macros/latex/contrib/prtec/sample-figure.pdfbin171646 -> 149248 bytes
-rw-r--r--macros/latex/contrib/randexam/randexam-a-answer.pdfbin49886 -> 49579 bytes
-rw-r--r--macros/latex/contrib/randexam/randexam-a-blank.pdfbin41751 -> 41376 bytes
-rw-r--r--macros/latex/contrib/randexam/randexam-b-answer.pdfbin49948 -> 49565 bytes
-rw-r--r--macros/latex/contrib/randexam/randexam-b-blank.pdfbin41687 -> 41319 bytes
-rw-r--r--macros/latex/contrib/randexam/randexam.cls13
-rw-r--r--macros/latex/contrib/randexam/randexam.pdfbin63636 -> 63481 bytes
-rw-r--r--macros/latex/contrib/randexam/randexam.tex2
-rw-r--r--macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdfbin40800 -> 40803 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdfbin201562 -> 201562 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-criticalnotes.pdfbin197818 -> 197818 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-sidenotes.pdfbin295212 -> 295212 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-tabular.pdfbin285559 -> 285559 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdfbin198959 -> 198959 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/1-verses.pdfbin198796 -> 198796 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-antilabe.pdfbin210970 -> 210970 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-cross_referencing.pdfbin198303 -> 198303 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdfbin201445 -> 201445 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-glossaries.pdfbin285501 -> 285501 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-indexing.pdfbin278069 -> 278069 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdfbin276219 -> 276219 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdfbin292435 -> 292435 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-linespacing.pdfbin286624 -> 286624 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdfbin288122 -> 288122 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-notes-width.pdfbin204669 -> 204669 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdfbin212239 -> 212239 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-performances.pdfbin284580 -> 284580 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdfbin36941 -> 36941 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdfbin310601 -> 310601 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdfbin288795 -> 288795 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdfbin199919 -> 199919 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdfbin23444 -> 23442 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdfbin175645 -> 175645 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdfbin32049 -> 32049 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdfbin289211 -> 289211 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdfbin200045 -> 200045 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdfbin199281 -> 199281 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdfbin177110 -> 177110 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdfbin199684 -> 199684 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdfbin198615 -> 198615 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdfbin198673 -> 198673 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdfbin198798 -> 198798 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdfbin214375 -> 214375 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdfbin210491 -> 210491 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdfbin204973 -> 204973 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdfbin298425 -> 298425 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdfbin204015 -> 204015 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdfbin225554 -> 225554 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdfbin251039 -> 251039 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdfbin202382 -> 202382 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdfbin198565 -> 198565 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdfbin302779 -> 302779 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdfbin206948 -> 206948 bytes
-rw-r--r--macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdfbin194201 -> 194201 bytes
-rw-r--r--macros/latex/contrib/reledmac/migration.pdfbin368433 -> 368426 bytes
-rw-r--r--macros/latex/contrib/reledmac/reledmac.dtx4
-rw-r--r--macros/latex/contrib/reledmac/reledmac.pdfbin2162033 -> 2161963 bytes
-rw-r--r--macros/latex/contrib/reledmac/reledpar.dtx49
-rw-r--r--macros/latex/contrib/reledmac/reledpar.pdfbin1041243 -> 1040784 bytes
-rw-r--r--macros/latex/contrib/reptheorem/reptheorem.dtx84
-rw-r--r--macros/latex/contrib/reptheorem/reptheorem.ins2
-rw-r--r--macros/latex/contrib/reptheorem/reptheorem.pdfbin271120 -> 274602 bytes
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdfbin197707 -> 200069 bytes
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex100
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdfbin126738 -> 126842 bytes
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex16
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdfbin158322 -> 160890 bytes
-rw-r--r--macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex16
-rw-r--r--macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty3
-rw-r--r--macros/latex/contrib/responsive/README4
-rw-r--r--macros/latex/contrib/responsive/responsive-doc.pdfbin77546 -> 75970 bytes
-rw-r--r--macros/latex/contrib/responsive/responsive-doc.tex5
-rw-r--r--macros/latex/contrib/responsive/responsive.sty12
-rw-r--r--macros/latex/contrib/rpgicons/README.md2
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons-doc.pdfbin500755 -> 500161 bytes
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons-doc.tex5
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons-l3.sty40
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons-pgf.sty2
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons.sty4
-rw-r--r--macros/latex/contrib/se2thesis/CHANGELOG.md35
-rw-r--r--macros/latex/contrib/se2thesis/se2colors.dtx2
-rw-r--r--macros/latex/contrib/se2thesis/se2fonts.dtx2
-rw-r--r--macros/latex/contrib/se2thesis/se2packages.dtx4
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdfbin231943 -> 232002 bytes
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis.dtx91
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis.pdfbin362248 -> 366813 bytes
-rw-r--r--macros/latex/contrib/sepfootnotes/README7
-rw-r--r--macros/latex/contrib/sepfootnotes/sepfootnotes.pdfbin218406 -> 223965 bytes
-rw-r--r--macros/latex/contrib/sepfootnotes/sepfootnotes.sty132
-rw-r--r--macros/latex/contrib/sepfootnotes/sepfootnotes.tex16
-rw-r--r--macros/latex/contrib/sillypage/sillypage-example.pdfbin104340 -> 104340 bytes
-rw-r--r--macros/latex/contrib/sillypage/sillypage.dtx34
-rw-r--r--macros/latex/contrib/sillypage/sillypage.pdfbin220111 -> 222678 bytes
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md20
-rw-r--r--macros/latex/contrib/siunitx/siunitx-angle.dtx130
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin645802 -> 645515 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-complex.dtx45
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx8
-rw-r--r--macros/latex/contrib/siunitx/siunitx-table.dtx50
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx5
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin703908 -> 703916 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx.tex12
-rw-r--r--macros/latex/contrib/spbmark/README.md4
-rw-r--r--macros/latex/contrib/spbmark/spbmark.pdfbin93123 -> 92984 bytes
-rw-r--r--macros/latex/contrib/spbmark/spbmark.sty21
-rw-r--r--macros/latex/contrib/spbmark/spbmark.tex112
-rw-r--r--macros/latex/contrib/subeqn/CATALOG17
-rw-r--r--macros/latex/contrib/subeqn/MANIFEST19
-rw-r--r--macros/latex/contrib/subeqn/README14
-rw-r--r--macros/latex/contrib/subeqn/manifest.txt16
-rw-r--r--macros/latex/contrib/subeqn/subeqn-sample.pdfbin0 -> 80142 bytes
-rw-r--r--macros/latex/contrib/subeqn/subeqn.dtx57
-rw-r--r--macros/latex/contrib/subeqn/subeqn.ins49
-rw-r--r--macros/latex/contrib/subeqn/subeqn.pdfbin91698 -> 216768 bytes
-rw-r--r--macros/latex/contrib/subeqnarray/CATALOG17
-rw-r--r--macros/latex/contrib/subeqnarray/MANIFEST (renamed from macros/latex/contrib/subeqnarray/manifest.txt)8
-rw-r--r--macros/latex/contrib/subeqnarray/README16
-rw-r--r--macros/latex/contrib/subeqnarray/subeqnarray-sample.pdfbin0 -> 68356 bytes
-rw-r--r--macros/latex/contrib/subeqnarray/subeqnarray.dtx85
-rw-r--r--macros/latex/contrib/subeqnarray/subeqnarray.ins56
-rw-r--r--macros/latex/contrib/subeqnarray/subeqnarray.pdfbin126532 -> 212013 bytes
-rw-r--r--macros/latex/contrib/supertabular/CATALOG6
-rw-r--r--macros/latex/contrib/supertabular/MANIFEST6
-rw-r--r--macros/latex/contrib/supertabular/README4
-rw-r--r--macros/latex/contrib/supertabular/supertabular.bug (renamed from macros/latex/contrib/supertabular/ChangeLog)69
-rw-r--r--macros/latex/contrib/supertabular/supertabular.dtx323
-rw-r--r--macros/latex/contrib/supertabular/supertabular.pdfbin254349 -> 291267 bytes
-rw-r--r--macros/latex/contrib/synthslant/LICENSE6
-rw-r--r--macros/latex/contrib/synthslant/Makefile133
-rw-r--r--macros/latex/contrib/synthslant/README.md3
-rw-r--r--macros/latex/contrib/synthslant/RELEASE-HOWTO.md51
-rw-r--r--macros/latex/contrib/synthslant/docs/index.md4
-rw-r--r--macros/latex/contrib/synthslant/docs/synthslant-gauge.pdfbin181403 -> 181403 bytes
-rw-r--r--macros/latex/contrib/synthslant/docs/synthslant.pdfbin796407 -> 840480 bytes
-rw-r--r--macros/latex/contrib/synthslant/synthslant.dtx752
-rw-r--r--macros/latex/contrib/synthslant/synthslant.ins21
-rw-r--r--macros/latex/contrib/tablvar/README.md6
-rw-r--r--macros/latex/contrib/tablvar/tablvar.dtx583
-rw-r--r--macros/latex/contrib/tablvar/tablvar.ins6
-rw-r--r--macros/latex/contrib/tablvar/tablvar.pdfbin271901 -> 351117 bytes
-rw-r--r--macros/latex/contrib/tagpdf/README.md4
-rw-r--r--macros/latex/contrib/tagpdf/ex-AF-file.pdf56
-rw-r--r--macros/latex/contrib/tagpdf/ex-alt-actualtext.pdfbin34295 -> 34295 bytes
-rw-r--r--macros/latex/contrib/tagpdf/ex-attribute.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-formula-problem.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-list.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-softhyphen.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf16
-rw-r--r--macros/latex/contrib/tagpdf/link-figure-input.tex6
-rw-r--r--macros/latex/contrib/tagpdf/pac2024-report.pngbin0 -> 60301 bytes
-rw-r--r--macros/latex/contrib/tagpdf/pac2024-version.pngbin0 -> 29032 bytes
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-backend.dtx91
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-checks.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-code.pdfbin1716291 -> 1737121 bytes
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-data.dtx16
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx6
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx6
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-roles.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-space.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-struct.dtx6
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-tree.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-user.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.dtx26
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.pdfbin1172067 -> 1124473 bytes
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.tex75
-rw-r--r--macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty167
-rw-r--r--macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex3
-rw-r--r--macros/latex/contrib/tcolorbox/CHANGES.md40
-rw-r--r--macros/latex/contrib/tcolorbox/README.md2
-rw-r--r--macros/latex/contrib/tcolorbox/tcbbreakable.code.tex23
-rw-r--r--macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex48
-rw-r--r--macros/latex/contrib/tcolorbox/tcbexternal.code.tex8
-rw-r--r--macros/latex/contrib/tcolorbox/tcbfitting.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbhooks.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistings.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistingscore.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbmagazine.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbminted.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbposter.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbprocessing.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbraster.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbskins.code.tex21
-rw-r--r--macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbtheorems.code.tex36
-rw-r--r--macros/latex/contrib/tcolorbox/tcbvignette.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbxparse.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdfbin274323 -> 137729 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example.pdfbin447103 -> 287734 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdfbin438130 -> 247127 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.bib6
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex12
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex18
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex43
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex8
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex7
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex37
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex23
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex21
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex137
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.pdfbin4859487 -> 4856594 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.sty140
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.tex20
-rw-r--r--macros/latex/contrib/telprint/README.md13
-rw-r--r--macros/latex/contrib/telprint/telprint.dtx (renamed from macros/latex/contrib/oberdiek/telprint.dtx)79
-rw-r--r--macros/latex/contrib/telprint/telprint.pdf (renamed from macros/latex/contrib/oberdiek/telprint.pdf)bin331190 -> 329028 bytes
-rw-r--r--macros/latex/contrib/texvc/Makefile17
-rw-r--r--macros/latex/contrib/texvc/texvc.dtx48
-rw-r--r--macros/latex/contrib/texvc/texvc.ins84
-rw-r--r--macros/latex/contrib/texvc/texvc.pdfbin246091 -> 307351 bytes
-rw-r--r--macros/latex/contrib/thuthesis/CHANGELOG.md14
-rw-r--r--macros/latex/contrib/thuthesis/thuthesis-example.pdfbin407055 -> 407059 bytes
-rw-r--r--macros/latex/contrib/thuthesis/thuthesis.dtx46
-rw-r--r--macros/latex/contrib/thuthesis/thuthesis.pdfbin1190791 -> 1193751 bytes
-rw-r--r--macros/latex/contrib/tkz/pgfornament/README.md5
-rw-r--r--macros/latex/contrib/tkz/pgfornament/doc/ornaments.pdfbin1377881 -> 1352275 bytes
-rw-r--r--macros/latex/contrib/tkz/pgfornament/doc/ornaments.tex4
-rw-r--r--macros/latex/contrib/tkz/pgfornament/doc/usefulcommands.tex6
-rw-r--r--macros/latex/contrib/tkz/pgfornament/latex/pgfornament.sty13
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/README.md13
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex1648
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex45
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex789
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-matrices.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-misc.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex355
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex2050
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-vectors.tex8
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex2360
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-indepthstudy.tex2
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-intersection.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex10
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdfbin704147 -> 817269 bytes
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty29
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua13
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua20
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua4
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua49
-rw-r--r--macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua4
-rw-r--r--macros/latex/contrib/tramlines/README5
-rw-r--r--macros/latex/contrib/tramlines/tramlines-documentation.pdfbin58619 -> 60656 bytes
-rw-r--r--macros/latex/contrib/tramlines/tramlines-documentation.tex17
-rw-r--r--macros/latex/contrib/tramlines/tramlines.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/README.md9
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdfbin551993 -> 551956 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdfbin601729 -> 601729 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdfbin561720 -> 561720 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdfbin570473 -> 570469 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdfbin559903 -> 559903 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdfbin571287 -> 571306 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdfbin622886 -> 622755 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdfbin536150 -> 536366 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdfbin655660 -> 655625 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdfbin527627 -> 527804 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdfbin563701 -> 563701 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdfbin621517 -> 621493 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex6
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex14
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex6
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex10
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex13
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex6
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex9
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex6
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex4
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex13
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2008.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2008.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo20
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo20
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo18
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo20
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo20
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo20
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudabeamer.cls23
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.def6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaexercise.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudafonts.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaletter.cls84
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo84
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaposter.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudapub.cls118
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudarules.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasciposter.cls42
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudathesis.cfg19
-rw-r--r--macros/latex/contrib/tutodoc/code/tutodoc-locale-main-french.cfg.sty4
-rw-r--r--macros/latex/contrib/tutodoc/code/tutodoc.sty57
-rw-r--r--macros/latex/contrib/tutodoc/doc/tutodoc-en.pdfbin709681 -> 713562 bytes
-rw-r--r--macros/latex/contrib/tutodoc/doc/tutodoc-en.tex41
-rw-r--r--macros/latex/contrib/tutodoc/doc/tutodoc-fr.pdfbin746351 -> 748226 bytes
-rw-r--r--macros/latex/contrib/tutodoc/doc/tutodoc-fr.tex45
-rw-r--r--macros/latex/contrib/typog/LICENSE415
-rw-r--r--macros/latex/contrib/typog/Makefile183
-rw-r--r--macros/latex/contrib/typog/README.md4
-rw-r--r--macros/latex/contrib/typog/RELEASE-HOWTO.md51
-rw-r--r--macros/latex/contrib/typog/docs/index.md5
-rw-r--r--macros/latex/contrib/typog/docs/typog-example.pdfbin392419 -> 402037 bytes
-rw-r--r--macros/latex/contrib/typog/docs/typog-grep.1428
-rw-r--r--macros/latex/contrib/typog/docs/typog-grep.1.pdfbin511632 -> 514141 bytes
-rw-r--r--macros/latex/contrib/typog/docs/typog.pdfbin902362 -> 996908 bytes
-rw-r--r--macros/latex/contrib/typog/typog.dtx3217
-rw-r--r--macros/latex/contrib/typog/typog.ins30
-rw-r--r--macros/latex/contrib/ulthese/README.md63
-rw-r--r--macros/latex/contrib/ulthese/ulthese.dtx2046
-rw-r--r--macros/latex/contrib/ulthese/ulthese.ins43
-rw-r--r--macros/latex/contrib/ulthese/ulthese.pdfbin256822 -> 132685 bytes
-rw-r--r--macros/latex/contrib/unbtex/README.md8
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example.pdfbin581659 -> 592915 bytes
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example.tex27
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex3
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex10
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex10
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex4
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/referencias.bib4
-rw-r--r--macros/latex/contrib/unbtex/unbtex.cls85
-rw-r--r--macros/latex/contrib/univie-ling/README13
-rw-r--r--macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx2
-rw-r--r--macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx2
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdfbin132715 -> 132716 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdfbin127940 -> 127947 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdfbin201365 -> 201366 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdfbin200965 -> 200967 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdfbin172559 -> 172712 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdfbin167650 -> 167812 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdfbin227173 -> 227180 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdfbin224980 -> 224983 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdfbin167845 -> 190497 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex4
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdfbin164309 -> 186645 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex4
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdfbin250473 -> 250474 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdfbin250364 -> 250365 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdfbin461504 -> 461588 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex7
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdfbin450479 -> 450553 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex7
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdfbin458946 -> 459207 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex7
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdfbin457385 -> 457851 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex7
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdfbin462064 -> 462143 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex7
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdfbin349412 -> 350542 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex12
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling.pdfbin365693 -> 365821 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling.tex2
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls8
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls8
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls8
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls8
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls8
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls10
-rw-r--r--macros/latex/contrib/ut-thesis/README21
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.dtx16
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.ins21
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.pdfbin135197 -> 135618 bytes
-rw-r--r--macros/latex/contrib/zref-clever/CHANGELOG.md12
-rw-r--r--macros/latex/contrib/zref-clever/zref-clever-code.pdfbin880835 -> 890025 bytes
-rw-r--r--macros/latex/contrib/zref-clever/zref-clever-doc.pdfbin227507 -> 228899 bytes
-rw-r--r--macros/latex/contrib/zref-clever/zref-clever-doc.tex100
-rw-r--r--macros/latex/contrib/zref-clever/zref-clever.dtx256
-rw-r--r--macros/latex/required/babel/base/README.md18
-rw-r--r--macros/latex/required/babel/base/babel-code.pdfbin650256 -> 651093 bytes
-rw-r--r--macros/latex/required/babel/base/babel.dtx110
-rw-r--r--macros/latex/required/babel/base/babel.ins2
-rw-r--r--macros/latex/required/babel/base/babel.pdfbin423559 -> 424112 bytes
-rw-r--r--macros/latex/required/babel/base/bbcompat.dtx2
-rw-r--r--macros/latex/required/l3kernel/CHANGELOG.md15
-rw-r--r--macros/latex/required/l3kernel/README.md2
-rw-r--r--macros/latex/required/l3kernel/expl3.dtx4
-rw-r--r--macros/latex/required/l3kernel/expl3.pdfbin610409 -> 610110 bytes
-rw-r--r--macros/latex/required/l3kernel/interface3.pdfbin1800435 -> 1790077 bytes
-rw-r--r--macros/latex/required/l3kernel/interface3.tex2
-rw-r--r--macros/latex/required/l3kernel/l3basics.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3bitset.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3bootstrap.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3box.dtx6
-rw-r--r--macros/latex/required/l3kernel/l3cctab.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3clist.dtx14
-rw-r--r--macros/latex/required/l3kernel/l3coffins.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3color.dtx30
-rw-r--r--macros/latex/required/l3kernel/l3debug.dtx4
-rw-r--r--macros/latex/required/l3kernel/l3deprecation.dtx8
-rw-r--r--macros/latex/required/l3kernel/l3doc.dtx4
-rw-r--r--macros/latex/required/l3kernel/l3doc.pdfbin565557 -> 565298 bytes
-rw-r--r--macros/latex/required/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3docstrip.pdfbin151323 -> 151011 bytes
-rw-r--r--macros/latex/required/l3kernel/l3expan.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3file.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3flag.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-assign.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-aux.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-basics.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-convert.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-expo.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-extended.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-functions.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-logic.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-parse.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-round.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-symbolic.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-traps.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-trig.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-types.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp.dtx4
-rw-r--r--macros/latex/required/l3kernel/l3fparray.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3int.dtx17
-rw-r--r--macros/latex/required/l3kernel/l3intarray.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3kernel-functions.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3keys.dtx41
-rw-r--r--macros/latex/required/l3kernel/l3legacy.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3luatex.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3msg.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3names.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3news.pdfbin396223 -> 396223 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news01.pdfbin122959 -> 122959 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news02.pdfbin150919 -> 150919 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news03.pdfbin148747 -> 148747 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news04.pdfbin114754 -> 114754 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news05.pdfbin112524 -> 112524 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news06.pdfbin151591 -> 151591 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news07.pdfbin128344 -> 128344 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news08.pdfbin163484 -> 163484 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news09.pdfbin250161 -> 250161 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news10.pdfbin150302 -> 150302 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news11.pdfbin170102 -> 170102 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news12.pdfbin205020 -> 205020 bytes
-rw-r--r--macros/latex/required/l3kernel/l3pdf.dtx14
-rw-r--r--macros/latex/required/l3kernel/l3prefixes.csv7
-rw-r--r--macros/latex/required/l3kernel/l3prefixes.pdfbin82843 -> 83064 bytes
-rw-r--r--macros/latex/required/l3kernel/l3prg.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3prop.dtx42
-rw-r--r--macros/latex/required/l3kernel/l3quark.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3regex.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3seq.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3skip.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3sort.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3str-convert.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3str.dtx4
-rw-r--r--macros/latex/required/l3kernel/l3styleguide.pdfbin296602 -> 296298 bytes
-rw-r--r--macros/latex/required/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex/required/l3kernel/l3syntax-changes.pdfbin231447 -> 231148 bytes
-rw-r--r--macros/latex/required/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex/required/l3kernel/l3sys.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3term-glossary.pdfbin242247 -> 241946 bytes
-rw-r--r--macros/latex/required/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex/required/l3kernel/l3text-case.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3text-map.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3text-purify.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3text.dtx16
-rw-r--r--macros/latex/required/l3kernel/l3tl-analysis.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3tl-build.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3tl.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3token.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3unicode.dtx2
-rw-r--r--macros/latex/required/l3kernel/source3.pdfbin7618338 -> 7610534 bytes
-rw-r--r--macros/latex/required/l3kernel/source3.tex2
-rw-r--r--macros/luatex/generic/luamplib/Makefile1
-rw-r--r--macros/luatex/generic/luamplib/NEWS55
-rw-r--r--macros/luatex/generic/luamplib/luamplib.dtx2255
-rw-r--r--macros/luatex/generic/luamplib/luamplib.pdfbin213718 -> 255981 bytes
-rw-r--r--macros/luatex/generic/luamplib/test-luamplib-latex.tex108
-rw-r--r--macros/luatex/generic/luamplib/test-luamplib-plain.tex68
-rw-r--r--macros/luatex/generic/luatexja/README6
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-en.pdfbin699725 -> 700023 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-ja.pdfbin1143479 -> 1143849 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja.dtx30
-rw-r--r--macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty16
-rw-r--r--macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29c.sty16
-rw-r--r--macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29e.sty16
-rw-r--r--macros/luatex/generic/luatexja/src/lltjext.sty8
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-latex.sty103
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-pretreat.lua7
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua4
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.sty2
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjdefs.sty51
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjfont.sty319
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjp-array.sty11
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty24
-rw-r--r--macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty113
-rw-r--r--macros/luatex/generic/luaxml/README2
-rw-r--r--macros/luatex/generic/luaxml/luaxml-cssquery.lua14
-rw-r--r--macros/luatex/generic/luaxml/luaxml-domobject.lua95
-rw-r--r--macros/luatex/generic/luaxml/luaxml-encodings.lua88
-rw-r--r--macros/luatex/generic/luaxml/luaxml-mod-html.lua221
-rw-r--r--macros/luatex/generic/luaxml/luaxml-namedentities.lua4167
-rw-r--r--macros/luatex/generic/luaxml/luaxml-transform.lua13
-rw-r--r--macros/luatex/generic/luaxml/luaxml.pdfbin119150 -> 124725 bytes
-rw-r--r--macros/luatex/generic/luaxml/luaxml.tex92
-rw-r--r--macros/luatex/generic/penlightplus/penlightplus.lua17
-rw-r--r--macros/luatex/generic/penlightplus/penlightplus.pdfbin81225 -> 82217 bytes
-rw-r--r--macros/luatex/generic/penlightplus/penlightplus.sty16
-rw-r--r--macros/luatex/generic/penlightplus/penlightplus.tex16
-rw-r--r--macros/luatex/latex/domaincoloring/Changes4
-rw-r--r--macros/luatex/latex/domaincoloring/README.md12
-rw-r--r--macros/luatex/latex/domaincoloring/doc/domaincoloring-doc.bib27
-rw-r--r--macros/luatex/latex/domaincoloring/doc/domaincoloring-doc.pdfbin0 -> 6845040 bytes
-rw-r--r--macros/luatex/latex/domaincoloring/doc/domaincoloring-doc.tex257
-rw-r--r--macros/luatex/latex/domaincoloring/doc/hsv.pngbin0 -> 533343 bytes
-rw-r--r--macros/luatex/latex/domaincoloring/doc/titleImg.pdfbin0 -> 335225 bytes
-rw-r--r--macros/luatex/latex/domaincoloring/latex/domaincoloring.sty73
-rw-r--r--macros/luatex/latex/domaincoloring/lua/domaincoloring-complex-numbers.lua357
-rw-r--r--macros/luatex/latex/domaincoloring/lua/domaincoloring-functions.lua74
-rw-r--r--macros/luatex/latex/domaincoloring/lua/domaincoloring.lua253
-rw-r--r--macros/luatex/latex/innerscript/README.txt12
-rw-r--r--macros/luatex/latex/innerscript/innerscript_code.dtx56
-rw-r--r--macros/luatex/latex/innerscript/innerscript_code.pdfbin92448 -> 92824 bytes
-rw-r--r--macros/luatex/latex/innerscript/innerscript_user_guide.pdfbin113778 -> 114356 bytes
-rw-r--r--macros/luatex/latex/longmath/README6
-rw-r--r--macros/luatex/latex/longmath/longmath-doc.cls4
-rw-r--r--macros/luatex/latex/longmath/longmath-doc.lua2
-rw-r--r--macros/luatex/latex/longmath/longmath-doc.pdfbin175384 -> 165236 bytes
-rw-r--r--macros/luatex/latex/longmath/longmath-doc.tex68
-rw-r--r--macros/luatex/latex/longmath/longmath.lua13
-rw-r--r--macros/luatex/latex/longmath/longmath.sty11
-rw-r--r--macros/luatex/latex/luamml/README.md14
-rw-r--r--macros/luatex/latex/luamml/luamml-amsmath.lua133
-rw-r--r--macros/luatex/latex/luamml/luamml-array.lua84
-rw-r--r--macros/luatex/latex/luamml/luamml-convert.lua662
-rw-r--r--macros/luatex/latex/luamml/luamml-data-combining.lua27
-rw-r--r--macros/luatex/latex/luamml/luamml-data-stretchy.lua500
-rw-r--r--macros/luatex/latex/luamml/luamml-demo.sty82
-rw-r--r--macros/luatex/latex/luamml/luamml-legacy-mappings.lua73
-rw-r--r--macros/luatex/latex/luamml/luamml-lr.lua71
-rw-r--r--macros/luatex/latex/luamml/luamml-patches-amsmath.sty417
-rw-r--r--macros/luatex/latex/luamml/luamml-patches-amstext.sty37
-rw-r--r--macros/luatex/latex/luamml/luamml-patches-array.sty86
-rw-r--r--macros/luatex/latex/luamml/luamml-patches-kernel.sty63
-rw-r--r--macros/luatex/latex/luamml/luamml-patches-lab-math.sty20
-rw-r--r--macros/luatex/latex/luamml/luamml-pdf-demo.sty50
-rw-r--r--macros/luatex/latex/luamml/luamml-structelemwriter.lua105
-rw-r--r--macros/luatex/latex/luamml/luamml-table.lua110
-rw-r--r--macros/luatex/latex/luamml/luamml-tex-annotate.lua119
-rw-r--r--macros/luatex/latex/luamml/luamml-tex.lua232
-rw-r--r--macros/luatex/latex/luamml/luamml-xmlwriter.lua58
-rw-r--r--macros/luatex/latex/luamml/luamml.dtx531
-rw-r--r--macros/luatex/latex/luamml/luamml.pdfbin0 -> 536611 bytes
-rw-r--r--macros/luatex/latex/luamml/test-mathml-2.txt8
-rw-r--r--macros/luatex/latex/piton/piton-french.pdf4401
-rw-r--r--macros/luatex/latex/piton/piton-french.tex1567
-rw-r--r--macros/luatex/latex/piton/piton.dtx949
-rw-r--r--macros/luatex/latex/piton/piton.pdf22461
-rw-r--r--macros/luatex/latex/tango/README42
-rw-r--r--macros/luatex/latex/tango/doc/tango-en.pdfbin0 -> 160307 bytes
-rw-r--r--macros/luatex/latex/tango/doc/tango-en.tex753
-rw-r--r--macros/luatex/latex/tango/doc/tango-fr.pdfbin0 -> 169741 bytes
-rw-r--r--macros/luatex/latex/tango/doc/tango-fr.tex786
-rw-r--r--macros/luatex/latex/tango/examples/Ch-1-15.tex1312
-rw-r--r--macros/luatex/latex/tango/examples/Ch-16-30.tex2061
-rw-r--r--macros/luatex/latex/tango/examples/book-mathematics.tex44
-rw-r--r--macros/luatex/latex/tango/examples/candide.tex61
-rw-r--r--macros/luatex/latex/tango/examples/euler.tex512
-rw-r--r--macros/luatex/latex/tango/examples/handout-euler.tex29
-rw-r--r--macros/luatex/latex/tango/examples/handout-polynomes-deg2.tex27
-rw-r--r--macros/luatex/latex/tango/examples/polynome-deg2.tex557
-rw-r--r--macros/luatex/latex/tango/examples/puissance-cercle.tex713
-rw-r--r--macros/luatex/latex/tango/examples/recurrence.tex189
-rw-r--r--macros/luatex/latex/tango/examples/rel-bin.tex443
-rw-r--r--macros/luatex/latex/tango/examples/schoolwork.tex238
-rw-r--r--macros/luatex/latex/tango/lualatex/tango.cls2182
-rw-r--r--macros/luatex/latex/yamlvars/yamlvars.lua16
-rw-r--r--macros/luatex/latex/yamlvars/yamlvars.pdfbin85254 -> 85368 bytes
-rw-r--r--macros/luatex/latex/yamlvars/yamlvars.sty4
-rw-r--r--macros/luatex/latex/yamlvars/yamlvars.tex3
-rw-r--r--macros/texinfo/latest/htmlxref.cnf10
-rw-r--r--macros/unicodetex/latex/polyglossia/README.md2
-rw-r--r--macros/unicodetex/latex/polyglossia/polyglossia.dtx8728
-rw-r--r--macros/unicodetex/latex/polyglossia/polyglossia.pdfbin381269 -> 386065 bytes
1941 files changed, 125823 insertions, 76940 deletions
diff --git a/macros/context/contrib/context-chat/LICENSE b/macros/context/contrib/context-chat/LICENSE
new file mode 100644
index 0000000000..c729003181
--- /dev/null
+++ b/macros/context/contrib/context-chat/LICENSE
@@ -0,0 +1,232 @@
+GNU GENERAL PUBLIC LICENSE
+Version 3, 29 June 2007
+
+Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+The GNU General Public License is a free, copyleft license for software and other kinds of works.
+
+The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. 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 them 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 prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. 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.
+
+Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
+
+For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
+
+Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
+
+Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+TERMS AND CONDITIONS
+
+0. Definitions.
+
+“This License” refers to version 3 of the GNU General Public License.
+
+“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
+
+“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
+
+To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
+
+A “covered work” means either the unmodified Program or a work based on the Program.
+
+To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
+
+To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
+
+An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
+
+1. Source Code.
+The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
+
+A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
+
+The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
+
+The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
+
+The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
+
+The Corresponding Source for a work in source code form is that same work.
+
+2. Basic Permissions.
+All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
+
+You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
+
+Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
+
+3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
+
+When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
+
+4. Conveying Verbatim Copies.
+You may convey 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; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
+
+You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
+
+5. Conveying Modified Source Versions.
+You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
+
+ c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
+
+A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
+
+6. Conveying Non-Source Forms.
+You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
+
+ d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
+
+A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
+
+A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
+
+“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
+
+If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
+
+The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
+
+Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
+
+7. Additional Terms.
+“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
+
+When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
+
+Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
+
+All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
+
+If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
+
+Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
+
+8. Termination.
+You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
+
+9. Acceptance Not Required for Having Copies.
+You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
+
+10. Automatic Licensing of Downstream Recipients.
+Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
+
+An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
+
+You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
+
+11. Patents.
+A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
+
+A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
+
+Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
+
+In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
+
+If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
+
+If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
+
+A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
+
+Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
+
+12. No Surrender of Others' Freedom.
+If 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 convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
+
+13. Use with the GNU Affero General Public License.
+Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
+
+14. Revised Versions of this License.
+The Free Software Foundation may publish revised and/or new versions of the GNU 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 that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
+
+If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
+
+Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
+
+15. Disclaimer of Warranty.
+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.
+
+16. Limitation of Liability.
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 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.
+
+17. Interpretation of Sections 15 and 16.
+If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
+
+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 state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
+
+ context-chat
+ Copyright (C) 2024 fiee
+
+ 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 3 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, see <https://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
+
+ context-chat Copyright (C) 2024 fiee
+ This program 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, your program's commands might be different; for a GUI interface, you would use an “about box”.
+
+You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
+
+The GNU 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 Lesser General Public License instead of this License. But first, please read <https://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/macros/context/contrib/context-chat/README.md b/macros/context/contrib/context-chat/README.md
new file mode 100644
index 0000000000..ca1c5ec7e2
--- /dev/null
+++ b/macros/context/contrib/context-chat/README.md
@@ -0,0 +1,72 @@
+# ConTeXt Chat
+
+Typeset messenger chats with ConTeXt
+
+2024 by Henning Hraban Ramm
+
+## Introduction
+
+In a youth novel that I’m writing, the actors frequently use a messenger app on
+their smartphones to chat. I wanted to depict that accordingly, but simplified:
+no need for a sophisticated user interface, for replies, reactions, images,
+attachments etc.
+
+## Usage
+
+ \usemodule[chat]
+ \setupChat[
+ recipient=A,
+ ]
+
+ \starttext
+ \startChat{A} Do you wanna chat?\stopChat
+ \startChat{B} Maybe. What about?\stopChat
+ \startChat{A} How about cats?\stopChat
+ \startChat{A} or squirrels?\stopChat
+ \stoptext
+
+There’s no general environment around the messages. If you need to adapt the spacing or want a background, use ConTeXt’s usual possibilities.
+
+The parameter of `\startChat` is the sender of that message, i.e. their avatar. I’m using emoji for that but I’m planning to add more options.
+
+Every first message of a person shows their avatar and a speech bubble tail.
+Follow-up messages by the same person have no avatar and no tail.
+You can use `\resetChat` to reset this “memory”.
+
+Each conversation has one recipient, that’s the person reading it. Their messages (also avatar and tail) are displayed on the right-hand side, all others on the left.
+
+In my novel, the recipient is fixed by section, so I set it in a setup that is called like `\setuphead[section][before=\setup{section:before}]`.
+
+I suggest using Roboto (Condensed) as base font. You must also setup a fallback font for emojis.
+
+## Options
+
+* `recipient`: Name of the person reading the conversation.
+* `style`: text style; default: `\ss`
+* `senderstyle`: style of the avatar text; default: `\ss\bf`
+* `width`: maximum width of speech bubbles; default: `.8\textwidth`
+* `distance`: vertical distance of speech bubbles, unreliable; default: `.25em`
+* colors: You can change ChatColorI, ChatColorII, ChatNameColor and ChatFrameColor (switching to a palet soon).
+
+Options regarding the bubble, frame and tail are still missing.
+
+## Limitations
+
+Configuration options are limited. I might enhance the possibilities on request.
+
+* Avatars: I’m using emoji as avatars of the participants; I’m planning to make it work with initials (two characters) or graphics.
+* Other planned features: status messages like “Admin added Person”
+* Not currently planned features: images, emoji reactions, replies with quotes, read markers, date & time.
+* Background: Since I’m going for a printed version, I’m not planning to include a general background or a dark mode.
+* There are slightly different bubble forms for “solo”, “first”, “middle” and “last”, but ATM just “solo” and “middle” are used (automatically), since there’s no lookahead, i.e. the module can’t know what will come next. I’ll probably add an option to set the version manually.
+* Only one frame color for all messages.
+* No further documentation.
+
+## Contributors
+
+* Aditya Mahajan wrote a first draft of speech bubbles for me in 2022. His MetaPost code was more elegant than mine, but I didn’t manage to adapt it to my needs.
+* Hans Hagen gave me some valuable hints when I showed him my first working version.
+
+## License
+
+[GPL 3.0+](LICENSE)
diff --git a/macros/context/contrib/context-chat/VERSION b/macros/context/contrib/context-chat/VERSION
new file mode 100644
index 0000000000..72ccc5e1b6
--- /dev/null
+++ b/macros/context/contrib/context-chat/VERSION
@@ -0,0 +1 @@
+2024-08-10
diff --git a/macros/context/contrib/context-chat/tex/context/third/chat/t-chat.mkiv b/macros/context/contrib/context-chat/tex/context/third/chat/t-chat.mkiv
new file mode 100644
index 0000000000..b3e1933549
--- /dev/null
+++ b/macros/context/contrib/context-chat/tex/context/third/chat/t-chat.mkiv
@@ -0,0 +1,231 @@
+%D \module
+%D [ file=t-chat,
+%D version=2024.08.10,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Chat,
+%D author=Henning Hraban Ramm,
+%D date=\currentdate,
+%D copyright={fiëé visuëlle, H. Ramm},
+%D license={GPL 3.0+}]
+
+\unprotect
+
+%D First we define a few colors.
+%D Don’t rely on these names, use the “Chat” palet instead.
+\definecolor[ChatColorI][c=0,m=.03,y=.15,k=0]
+\definecolor[ChatColorII][c=.1,m=0,y=0,k=0]
+\definecolor[ChatNameColor][c=0,m=0,y=0,k=.1]
+\definecolor[ChatColor][ChatColorI]
+\definecolor[ChatFrameColor][ChatNameColor]
+
+%D The palet contains all used colors.
+%D ATM there are only 2 different colors for recipient and sender,
+%D there should be more colors to distinguish senders.
+\definepalet[Chat][
+ frame=ChatFrameColor,
+ name=ChatNameColor,
+ 1=ChatColorI,
+ 2=ChatColorII,
+]
+
+\installcorenamespace {chat}
+
+\installsimplecommandhandler \??chat {Chat} \??chat
+
+\setupChat[
+ recipient=,
+ person=,
+ \c!distance=.25em,
+ \c!style={\ss},
+ \c!width=.8\textwidth,
+ senderstyle={\ss\bf},
+]
+
+% \Chatparameter
+
+\startuniqueMPgraphic{ChatBubble}
+% side: 0=right, 1=left
+% pos: 0 solo, 1 top, 2 middle, 3 bottom
+
+ numeric side, pos ;
+ string bgcol ;
+
+ if "\getvariable{Chat}{Person}" = "\Chatparameter{recipient}" :
+ side := 0;
+ bgcol := "Chat:1";
+ ; else :
+ side := 1;
+ bgcol := "Chat:2";
+ ; fi ;
+
+ if "\getvariable{Chat}{Person}" = "\getvariable{Chat}{PrevPerson}" :
+ % same as previous person: omit tail
+ pos := 3;
+ ; else :
+ % since we can’t know what’s next, go with "solo"
+ pos := 0;
+ ; fi ;
+
+ cradius := .125cm;
+ tailoffset := .125cm;
+ tailsize := .25cm;
+ h := OverlayHeight;
+ w := OverlayWidth;
+
+ if h < (2*cradius + 2*tailsize):
+ % if the box is too small, reduce radius and tail size
+ cradius := h/3;
+ tailsize := h/3;
+ tailoffset := 0;
+ fi;
+
+ pair ll[],lr[],tl[],tr[],s[];
+
+ % corners
+ ll1 := (0,cradius);
+ ll2 := (cradius,0);
+ lr1 := (w,cradius);
+ lr2 := (w-cradius,0);
+ % tail points
+ tl1 := (0,h-cradius);
+ tl2 := (cradius,h);
+ tr1 := (w,h-cradius);
+ tr2 := (w-cradius,h);
+
+ s1 := (w,h-cradius-tailoffset);
+ s2 := (w+tailsize,h-cradius-tailoffset);
+ s3 := (w,h-cradius-tailoffset-tailsize);
+
+ if pos > 1: % disable tail on middle/bottom
+ %s1 := (w,h-cradius-tailoffset);
+ s2 := (w,h-cradius-tailoffset);
+ %s3 := (w,h-cradius-tailoffset-tailsize);
+ fi;
+ if (pos = 1) or (pos = 2): % top/middle
+ lr1 := (w,cradius/3);
+ lr2 := (w-cradius/3,0);
+ fi;
+ if (pos = 2) or (pos = 3): % middle/bottom
+ tr1 := (w,h-cradius/3);
+ tr2 := (w-cradius/3,h);
+ fi;
+
+ path p ;
+ p := (ll1 ... ll2 --- lr2 ... lr1 -- s3 -- s2 -- s1 -- tr1 ... tr2 --- tl2 ... tl1 --- cycle);
+
+ % mirror the bubble for left side
+ if side = 1:
+ p := p reflectedabout ((w/2,0),(w/2,h));
+ fi;
+
+ fill p withcolor bgcol ;
+ draw p withpen pencircle scaled 0.75 withcolor "Chat:frame";
+
+ setbounds currentpicture to OverlayBox ;
+\stopuniqueMPgraphic
+
+\defineframedtext[ChatBubbleFrame][
+ style=\Chatparameter\s!style,
+ align=flushleft,
+ frame=off,
+ width=\Chatparameter\s!width,
+ autowidth=force,
+ offset=0pt,
+ loffset=2pt,
+ roffset=3pt,
+ before={\vskip\dimexpr-1em+\Chatparameter\c!distance\relax},
+ after={\vskip\dimexpr-\Chatparameter\c!distance\relax},
+]
+
+%D Receive text (left-facing).
+\defineoverlay[ChatGetOverlay][\uniqueMPgraphic{ChatBubble}]
+\defineframedtext[ChatGetFrame][ChatBubbleFrame][
+ background=ChatGetOverlay,
+ location=left,
+]
+
+%D Send text (right-facing).
+\defineoverlay[ChatSendOverlay][\uniqueMPgraphic{ChatBubble}]
+\defineframedtext[ChatSendFrame][ChatBubbleFrame][
+ background=ChatSendOverlay,
+ location=right,
+]
+
+%D This should become an avatar
+%D or simply initials in a circle
+\defineframed[ChatSenderFramed][
+ width=1em,
+ offset=overlay,
+ frame=off,
+ style=\Chatparameter{senderstyle},
+ %offset=0pt,
+ %loffset=0.25em,
+ %roffset=0.25em,
+ %corner=rounded,
+ %frameradius=.5em,
+ %background=color,
+ %backgroundcolor=Chat:frame,
+]
+
+%D Only show names (avatars) if person is different from last one
+% Sender name: #1 x-offset
+\define[1]\ChatSender{\offset[x=#1]{%
+ \doifnot{\getvariable{Chat}{Person}}{\getvariable{Chat}{PrevPerson}}{
+ % TODO: style \ss\tfx if more than 2 chars
+ \ChatSenderFramed{\style[style=\Chatparameter{senderstyle}]{\getvariable{Chat}{Person}}}}%
+ }%
+}
+
+\define[1]\startChat{%
+ \setevariable{Chat}{PrevPerson}{\getvariable{Chat}{Person}}
+ \setevariable{Chat}{Person}{#1}
+ \testpage[1]
+ \doifelse{\getvariable{Chat}{Person}}{\Chatparameter{recipient}}{
+ % recipient
+ \ChatSender{\dimexpr\textwidth-1.25em\relax}
+ \startnarrow[left=.5em]\startChatSendFrame
+ }{
+ % other sender
+ \ChatSender{-0.25em}
+ \startnarrow[right=.5em]\startChatGetFrame
+ }
+}
+
+\def\resetChat{%
+ \setevariable{Chat}{Recipient}{}%
+ \setevariable{Chat}{Person}{}%
+ \setevariable{Chat}{PrevPerson}{0}%
+}
+
+\def\stopChat{
+\doifelse{\getvariable{Chat}{Person}}{\Chatparameter{recipient}}{
+ % recipient
+ \stopChatSendFrame%
+}{
+ % other sender
+ \stopChatGetFrame%
+}
+\stopnarrow%
+}
+
+\resetChat
+
+\protect
+
+\continueifinputfile{t-chat.mkiv}
+
+\starttext
+
+\setupChat[
+ recipient=A,
+]
+
+\starttext
+\startChat{A} Do you wanna chat?\stopChat
+\startChat{B} Maybe. What about?\stopChat
+\startChat{A} How about cats?\stopChat
+\startChat{A} or squirrels?\stopChat
+\stoptext
+
+
+\stoptext
diff --git a/macros/generic/lt3luabridge/CHANGES.md b/macros/generic/lt3luabridge/CHANGES.md
new file mode 100644
index 0000000000..470ad7441d
--- /dev/null
+++ b/macros/generic/lt3luabridge/CHANGES.md
@@ -0,0 +1,74 @@
+# Changes
+
+## 2.2.0 (2024-07-03)
+
+Development:
+
+- Automatically determine value of `\c_luabridge_default_output_dirname_str`
+ based on the current output directory.
+ (witiko/markdown#457, #26, #27, reported by @hongy19)
+
+Continuous Integration:
+
+- Automatically test the library on both Linux and Windows.
+
+## 2.1.0 (2024-02-14)
+
+Development:
+
+- Define function `\luabridge_tl_set:Nn`.
+
+## 2.0.2 (2022-10-24)
+
+Fixes:
+
+- Fix tokenization in error-reporting code. (#17, #19)
+- Catch compilation errors in TeX engines other than LuaTeX. (#18, #20)
+
+Refactoring:
+
+- Remove useless uses of `\l_tmpb_tl`. (24e116d)
+
+## 2.0.1 (2022-08-16)
+
+Fixes:
+
+- Apply proper error handling when executing Lua via shell escape. (#15)
+
+## 2.0.0 (2022-08-08)
+
+Breaking Changes:
+
+- Use `\sys_get_shell:nnNTF` from l3sys instead of `\immediate\write18` and
+ `os.execute()`. (#13)
+ - Merges `\c_luabridge_method_write_eighteen_int` and
+ `\c_luabridge_method_os_execute_int` into
+ `\c_luabridge_method_shell_int`.
+ - Removes `\g_luabridge_standard_output_filename_str` and
+ `\c_luabridge_default_standard_output_filename_str`.
+
+Fixes:
+
+- Execute chunks that end with `end` or a Lua comment. (#11, #14)
+- Sandbox direct Lua access. (#11, #14)
+- Make nested calls defined behavior. (#8, #13)
+
+Refactoring:
+
+- Remove needless whitespaces in Lua code.
+- Replace (plain) TeX primitives with `\iow_*` l3file functions. (#1, #3,
+ latex3/latex3#1105, latex3/latex3#1114. latex3/latex3#1117)
+ - Many thanks to @josephwright, @u-fischer, and @FrankMittelbach at
+ latex3/latex3#1114, and Hans Hagen, @hmenke, and @mojca at
+ [dev-context][1] for helping to make l3file compatible with ConTeXt MkII.
+
+ [1]: https://mailman.ntg.nl/pipermail/dev-context/2022/003912.html
+ (A robust way of detecting ConTeXt from LaTeX3)
+
+## 1.0.1 (2022-06-27)
+
+This release includes PDF documentation of lt3luabridge.
+
+## 1.0.0 (2022-06-26)
+
+Initial release
diff --git a/macros/generic/lt3luabridge/README.md b/macros/generic/lt3luabridge/README.md
index a9257f4e09..2a8f4e5125 100644
--- a/macros/generic/lt3luabridge/README.md
+++ b/macros/generic/lt3luabridge/README.md
@@ -23,3 +23,8 @@ available as a separate package.
[2]: https://www.ctan.org/pkg/markdown
[3]: https://github.com/witiko/markdown/pull/141
[4]: https://github.com/Witiko/lt3luabridge/actions
+
+## Additional information
+
+- Author: Vít Starý Novotný <witiko@mail.muni.cz>
+- License: LaTeX Project Public License (LPPL) 1.3c
diff --git a/macros/generic/lt3luabridge/docstrip.cfg b/macros/generic/lt3luabridge/docstrip.cfg
index e562506f72..7298ba5794 100644
--- a/macros/generic/lt3luabridge/docstrip.cfg
+++ b/macros/generic/lt3luabridge/docstrip.cfg
@@ -1,6 +1,6 @@
\preamble
-Copyright (C) 2016-2024 Vít Novotný
+Copyright (C) 2016-2024 Vít Starý Novotný
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/generic/lt3luabridge/lt3luabridge.dtx b/macros/generic/lt3luabridge/lt3luabridge.dtx
index 67cc73c738..d8bb7a3bee 100644
--- a/macros/generic/lt3luabridge/lt3luabridge.dtx
+++ b/macros/generic/lt3luabridge/lt3luabridge.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Released 2024-02-14}
+% \date{Released 2024-07-03}
%
% \maketitle
%
@@ -151,7 +151,7 @@
% \texttt{-output-directory} parameter of the \TeX{} engine.
% \end{variable}
%
-% \begin{variable}[added = 2022-06-26]{\c_luabridge_default_output_dirname_str}
+% \begin{variable}[added = 2022-06-26, updated = 2024-07-03]{\c_luabridge_default_output_dirname_str}
% This constant is the default value of \cs{g_luabridge_output_dirname_str}.
% \end{variable}
%
@@ -261,9 +261,42 @@
=
{ \c_luabridge_method_shell_int }
{
- \str_const:Nn
- \c_luabridge_default_output_dirname_str
- { . }
+% \end{macrocode}
+%
+% Instead of assuming the current working directory as the output directory,
+% try to determine the output directory from the environmental variable
+% \texttt{TEXMF_OUTPUT_DIRECTORY}, which is automatically defined by \TeX{}
+% engines and accessible from child processes.
+%
+% \begin{macrocode}
+ \sys_if_platform_unix:TF
+ {
+ \str_const:Nn
+ \c_luabridge_default_output_dirname_str
+ { $TEXMF_OUTPUT_DIRECTORY }
+ }
+ {
+ \sys_if_platform_windows:TF
+ {
+ \str_set:Nn
+ \l_tmpa_str
+ { TEXMF_OUTPUT_DIRECTORY }
+ \str_put_left:NV
+ \l_tmpa_str
+ \c_percent_str
+ \str_put_right:NV
+ \l_tmpa_str
+ \c_percent_str
+ \str_const:NV
+ \c_luabridge_default_output_dirname_str
+ \l_tmpa_str
+ }
+ {
+ \str_const:Nn
+ \c_luabridge_default_output_dirname_str
+ { . }
+ }
+ }
\str_const:Nx
\c_luabridge_default_helper_script_filename_str
{ \jobname.luabridge.lua }
@@ -358,9 +391,43 @@
\g_luabridge_helper_script_filename_str
\sys_get_shell:xnNTF
{
- texlua~
- \g_luabridge_output_dirname_str /
- \g_luabridge_helper_script_filename_str
+% \end{macrocode}
+%
+% If the environmental variable \texttt{TEXMF_OUTPUT_DIRECTORY} is undefined,
+% use the current working directory (\texttt{.}) instead.
+%
+% \begin{macrocode}
+ \str_if_eq:NNTF
+ \g_luabridge_output_dirname_str
+ \c_luabridge_default_output_dirname_str
+ {
+ \sys_if_platform_windows:TF
+ {
+ if~not~defined~TEXMF_OUTPUT_DIRECTORY~(
+ texlua~
+ \g_luabridge_helper_script_filename_str
+ )~else~(
+ texlua~
+ \g_luabridge_output_dirname_str /
+ \g_luabridge_helper_script_filename_str
+ )
+ }
+ {
+ \sys_if_platform_unix:T
+ {
+ TEXMF_OUTPUT_DIRECTORY =
+ ${TEXMF_OUTPUT_DIRECTORY:-.} \iow_newline:
+ }
+ texlua~
+ \g_luabridge_output_dirname_str /
+ \g_luabridge_helper_script_filename_str
+ }
+ }
+ {
+ texlua~
+ \g_luabridge_output_dirname_str /
+ \g_luabridge_helper_script_filename_str
+ }
}
{ }
#1
@@ -492,8 +559,8 @@
\RequirePackage{expl3}
\ProvidesExplPackage
{lt3luabridge}%
- {2024-02-14}%
- {2.1.0}%
+ {2024-07-03}%
+ {2.2.0}%
{An expl3 package that allows you to execute Lua code in LuaTeX or any other
TeX engine that exposes the shell}
\input lt3luabridge\relax
diff --git a/macros/generic/lt3luabridge/lt3luabridge.pdf b/macros/generic/lt3luabridge/lt3luabridge.pdf
index 2972fad79f..6370f4dbcc 100644
--- a/macros/generic/lt3luabridge/lt3luabridge.pdf
+++ b/macros/generic/lt3luabridge/lt3luabridge.pdf
Binary files differ
diff --git a/macros/generic/markdown/CHANGES.md b/macros/generic/markdown/CHANGES.md
index 550989a936..922aadff91 100644
--- a/macros/generic/markdown/CHANGES.md
+++ b/macros/generic/markdown/CHANGES.md
@@ -1,5 +1,34 @@
# Changes
+## 3.6.2 (2024-07-14)
+
+Fixes:
+
+- Fix the interplay between inline notes and square brackets.
+ (#453, #456, reported by @nopria, contributed by @lostenderman)
+- Fix the interplay between lists and citations.
+ (witiko/expltools#3, #460, #461, contributed by @lostenderman)
+- Do not override the `outputDir` option if if has been defined
+ before loading the package and pass it to lt3luabridge library.
+ (#457, #459)
+
+Documentation:
+
+- Fix various typos. (#454, contributed by @mbertucci47)
+- Add file `DEPENDS.txt`. (#462, #463, 93bb7e18)
+
+Continuous Integration:
+
+- Only test latest TeX Live in pull requests. (81927ca1)
+
+Unit Tests:
+
+- Test the `outputDir` plain TeX option. (#457, #459)
+
+Libraries:
+
+- Update `tinyyaml` to v0.4.4-1-g197632c. (1e83ac94)
+
## 3.6.1 (2024-06-20)
Fixes:
@@ -704,7 +733,7 @@ Development:
- Add support for strike-throughs, fenced divs, subscripts, superscripts,
and fancy lists. (#149, #160, #162, #168, #170)
-- Add facade in front of expl3 inferface for YAML metadata. (#118, #175)
+- Add facade in front of expl3 interface for YAML metadata. (#118, #175)
- Add `\setupmarkdown` and `\inputmarkdown` commands to ConTeXt. (#17, #176)
Fixes:
@@ -784,7 +813,7 @@ Docker:
Documentation:
-- Remove disfunctional badges for Docker from `README.md`. (ad00b58, 707cad9)
+- Remove dysfunctional badges for Docker from `README.md`. (ad00b58, 707cad9)
- Link to TUG's version of the TUG 2021 video in `README.md`. (1462411)
Miscellaneous:
@@ -1045,7 +1074,7 @@ Fixes:
Fixes:
- String text and parenthetical citations. (e6026c1)
-- Escape autolink labels even when hybrid mode is enabled. (repored by @iwelch,
+- Escape autolink labels even when hybrid mode is enabled. (reported by @iwelch,
693e134)
- Protect LaTeX strong emphasis renderer prototype and make it detect font.
(reported by @iwelch, 89a031a)
diff --git a/macros/generic/markdown/DEPENDS.txt b/macros/generic/markdown/DEPENDS.txt
new file mode 100644
index 0000000000..3f73ad3431
--- /dev/null
+++ b/macros/generic/markdown/DEPENDS.txt
@@ -0,0 +1,21 @@
+hard l3kernel
+hard lt3luabridge
+hard lua-uni-algos
+soft amsfonts
+soft amsmath
+soft catchfile
+soft csvsimple
+soft epstopdf-pkg
+soft etoolbox
+soft fancyvrb
+soft gobble
+soft graphics
+soft grffile
+soft latex
+soft ltxcmds
+soft paralist
+soft pgf
+soft soul
+soft tools
+soft url
+soft verse
diff --git a/macros/generic/markdown/README.md b/macros/generic/markdown/README.md
index 1aaa42ed9e..2a02ee9736 100644
--- a/macros/generic/markdown/README.md
+++ b/macros/generic/markdown/README.md
@@ -18,7 +18,7 @@ Markdown
The Markdown package converts [CommonMark][] markup to TeX commands. The
functionality is provided both as a Lua module, and as plain TeX, LaTeX, and
ConTeXt macro packages that can be used to directly typeset TeX documents
-containing markdown markup. Unlike other convertors, the Markdown package does
+containing markdown markup. Unlike other converters, the Markdown package does
not require any external programs, and makes it easy to redefine how each and
every markdown element is rendered. Creative abuse of the markdown syntax is
encouraged. 😉
diff --git a/macros/generic/markdown/VERSION b/macros/generic/markdown/VERSION
index e15dd6a469..c2b2c7e0ab 100644
--- a/macros/generic/markdown/VERSION
+++ b/macros/generic/markdown/VERSION
@@ -1 +1 @@
-3.6.1-0-g5a45a922 (2024-06-20)
+3.6.2-0-g6c30af7e (2024-07-14)
diff --git a/macros/generic/markdown/docstrip.cfg b/macros/generic/markdown/docstrip.cfg
index 9dc5f65230..959a3a21c3 100644
--- a/macros/generic/markdown/docstrip.cfg
+++ b/macros/generic/markdown/docstrip.cfg
@@ -22,7 +22,7 @@
-- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE^^J%
-- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.^^J%
--^^J%
--- Copyright (C) 2016-2024 Vít Starý Novotný^^J%
+-- Copyright (C) 2016-2024 Vít Starý Novotný, Andrej Genčur^^J%
--^^J%
-- This work may be distributed and/or modified under the^^J%
-- conditions of the LaTeX Project Public License, either version 1.3^^J%
@@ -62,7 +62,7 @@
\let\luapostamble\empty
\declarepreamble\texpreamble
-Copyright (C) 2016-2024 Vít Starý Novotný
+Copyright (C) 2016-2024 Vít Starý Novotný, Andrej Genčur
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/generic/markdown/libraries/markdown-tinyyaml.lua b/macros/generic/markdown/libraries/markdown-tinyyaml.lua
index 36cef293ed..25b351f7e4 100644
--- a/macros/generic/markdown/libraries/markdown-tinyyaml.lua
+++ b/macros/generic/markdown/libraries/markdown-tinyyaml.lua
@@ -253,7 +253,9 @@ function Parser:parsestring(line, stopper)
end
line = ssub(line, 2)
end
- return rtrim(buf), line
+ buf = rtrim(buf)
+ local val = tonumber(buf) or buf
+ return val, line
end
local function isemptyline(line)
diff --git a/macros/generic/markdown/markdown.dtx b/macros/generic/markdown/markdown.dtx
index 4685ed3ee6..97fa8d6b56 100644
--- a/macros/generic/markdown/markdown.dtx
+++ b/macros/generic/markdown/markdown.dtx
@@ -122,7 +122,7 @@
---
title: A Markdown Interpreter for \TeX
url: https://github.com/witiko/markdown
-authors: [Vít Starý Novotný]
+authors: [Vít Starý Novotný, Andrej Genčur]
email: witiko@mail.muni.cz
revision: \markdownVersion
date: \markdownLastModified
@@ -796,6 +796,7 @@ abbr {
%<*themes-witiko-markdown-techdoc>
\ProvidesPackage{markdownthemewitiko_markdown_techdoc}[2022/12/13]
\RequirePackage{etoolbox}
+\gdef\ltd@title@author{\@gobble}%
\markdownSetup{
renderers = {
head*Four = {\paragraph{#1}\leavevmode},
@@ -804,6 +805,7 @@ abbr {
codeSpan = {\inline{#1}},
jekyllData(End) = {%
\AfterEndPreamble{%
+ \hypersetup{pdfauthor=\ltd@title@author}%
\printtitlepage
\tableofcontents
{\def\addcontentsline##1##2##3{}\listoffigures}%
@@ -812,8 +814,7 @@ abbr {
},
jekyllDataRenderers = {
/authors/* = {%
- \gdef\ltd@title@author{#1}%
- \hypersetup{pdfauthor={#1}}%
+ \expandafter\gdef\expandafter\ltd@title@author\expandafter{\ltd@title@author, #1}%
},
title = {%
\gdef\ltd@title@title{#1}%
@@ -875,7 +876,7 @@ abbr {
---
title: Markdown Package User Manual
-author: Vít Starý Novotný
+author: Vít Starý Novotný, Andrej Genčur
date: \markdownVersion{} \markdownLastModified{}
---
@@ -890,7 +891,7 @@ Introduction
The [Markdown package][pkg] converts [CommonMark][] markup to \TeX{} commands. The
functionality is provided both as a Lua module and as plain \TeX{}, \LaTeX{}, and
\Hologo{ConTeXt} macro packages that can be used to directly typeset \TeX{} documents
-containing markdown markup. Unlike other convertors, the Markdown package
+containing markdown markup. Unlike other converters, the Markdown package
does not require any external programs, and makes it easy to redefine how each
and every markdown element is rendered. Creative abuse of the markdown
syntax is encouraged. 😉
@@ -928,9 +929,9 @@ documentation][techdoc].
local metadata = {
version = "(((VERSION)))",
comment = "A module for the conversion from markdown to plain TeX",
- author = "John MacFarlane, Hans Hagen, Vít Starý Novotný",
+ author = "John MacFarlane, Hans Hagen, Vít Starý Novotný, Andrej Genčur",
copyright = {"2009-2016 John MacFarlane, Hans Hagen",
- "2016-2023 Vít Starý Novotný"},
+ "2016-2024 Vít Starý Novotný, Andrej Genčur"},
license = "LPPL 1.3c"
}
@@ -1148,6 +1149,17 @@ end)()
%: A package that implements Unicode case-folding in \TeX{} Live${}\geq{}2020$.
%
% \end{markdown}
+% \iffalse
+%</lua>
+%<*depends>
+% \fi
+% \begin{macrocode}
+hard lua-uni-algos
+% \end{macrocode}
+% \iffalse
+%</depends>
+%<*lua>
+% \fi
% \begin{macrocode}
local uni_algos = require("lua-uni-algos")
% \end{macrocode}
@@ -1166,6 +1178,13 @@ local uni_algos = require("lua-uni-algos")
% \end{markdown}
% \iffalse
%</lua>
+%<*depends>
+% \fi
+% \begin{macrocode}
+# hard lua-tinyyaml # TODO: Uncomment after TeX Live 2022 has been deprecated.
+% \end{macrocode}
+% \iffalse
+%</depends>
%<*tex>
% \fi
% \par
@@ -1185,18 +1204,33 @@ local uni_algos = require("lua-uni-algos")
% such as options, renderers, and renderer prototypes.
%
% \end{markdown}
-% \begin{macrocode}
+% \iffalse
%</tex>
+%<*depends>
+% \fi
+% \begin{macrocode}
+hard l3kernel
+% \end{macrocode}
+% \iffalse
+%</depends>
%<*context>
+% \fi
+% \begin{macrocode}
\unprotect
+% \end{macrocode}
+% \iffalse
%</context>
%<*context,tex>
+% \fi
+% \begin{macrocode}
\ifx\ExplSyntaxOn\undefined
\input expl3-generic
\fi
+% \end{macrocode}
+% \iffalse
%</context,tex>
%<*tex>
-% \end{macrocode}
+% \fi
% \begin{markdown}
%
% \pkg{lt3luabridge}
@@ -1205,6 +1239,20 @@ local uni_algos = require("lua-uni-algos")
% with other TeX engines that provide the *shell escape* capability,
% which allows them to execute code with the system's shell.
%
+% \end{markdown}
+% \iffalse
+%</tex>
+%<*depends>
+% \fi
+% \begin{macrocode}
+hard lt3luabridge
+% \end{macrocode}
+% \iffalse
+%</depends>
+%<*tex>
+% \fi
+% \begin{markdown}
+%
% The plain \TeX{} part of the package also requires the following Lua module:
%
% \pkg{Lua File System}
@@ -1249,10 +1297,13 @@ local uni_algos = require("lua-uni-algos")
%<*themes-witiko-dot,latex-themes-witiko-graphicx-http>
% \fi
% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}%
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{expl3}
% \end{macrocode}
% \iffalse
%</themes-witiko-dot,latex-themes-witiko-graphicx-http>
+%</latex>
+%<*depends>
% \fi
% \begin{markdown}
% a \TeX{} engine that extends \Hologo{eTeX}, and all the plain \TeX{}
@@ -1269,10 +1320,23 @@ local uni_algos = require("lua-uni-algos")
%
%: A package that provides the `\url` macro for the typesetting of links.
%
+% \end{markdown}
+% \begin{macrocode}
+soft url
+% \end{macrocode}
+% \begin{markdown}
+%
% \pkg{graphicx}
%
%: A package that provides the `\includegraphics` macro for the typesetting
-% of images.
+% of images.Furthermore, it also provides a key-value interface that is
+% used in the default renderer prototypes for image attribute contexts.
+%
+% \end{markdown}
+% \begin{macrocode}
+soft graphics
+% \end{macrocode}
+% \begin{markdown}
%
% \pkg{paralist}
%
@@ -1281,45 +1345,85 @@ local uni_algos = require("lua-uni-algos")
% ordered lists, and definition lists as well as the rendering of
% fancy lists.
%
+% \end{markdown}
+% \begin{macrocode}
+soft paralist
+% \end{macrocode}
+% \begin{markdown}
+%
% \pkg{ifthen}
%
%: A package that provides a concise syntax for the inspection of macro
% values. It is used in the `witiko/dot` \LaTeX{} theme (see Section
% <#sec:latexthemes>).
%
+% \end{markdown}
+% \begin{macrocode}
+soft latex
+soft epstopdf-pkg # required by `latex`
+% \end{macrocode}
+% \begin{markdown}
+%
% \pkg{fancyvrb}
%
%: A package that provides the `\VerbatimInput` macros for the verbatim
% inclusion of files containing code.
%
+% \end{markdown}
+% \begin{macrocode}
+soft fancyvrb
+% \end{macrocode}
+% \begin{markdown}
+%
% \pkg{csvsimple}
%
%: A package that provides the `\csvautotabular` macro for typesetting
% \acro{csv} files in the default renderer prototypes for iA\\,Writer
% content blocks.
%
+% \end{markdown}
+% \begin{macrocode}
+soft csvsimple
+soft pgf # required by `csvsimple`, which loads `pgfkeys.sty`
+soft tools # required by `csvsimple`, which loads `shellesc.sty`
+% \end{macrocode}
+% \begin{markdown}
+%
% \pkg{gobble}
%
%: A package that provides the `\@gobblethree` \TeX{} command that
% is used in the default renderer prototype for citations. The package
% is included in \TeX Live${}\geq{}2016$.
%
+% \end{markdown}
+% \begin{macrocode}
+soft gobble
+% \end{macrocode}
+% \begin{markdown}
+%
% \pkg{amsmath} and \pkg{amssymb}
%
%: Packages that provide symbols used for drawing ticked and unticked
% boxes.
%
+% \end{markdown}
+% \begin{macrocode}
+soft amsmath
+soft amsfonts
+% \end{macrocode}
+% \begin{markdown}
+%
% \pkg{catchfile}
%
%: A package that catches the contents of a file and puts it in a macro. It
% is used in the `witiko/graphicx/http` \LaTeX{} theme, see Section
% <#sec:latexthemes>.
%
-% \pkg{graphicx}
-%
-%: A package that builds upon the \pkg{graphics} package, which is part of
-% the \LaTeXe{} kernel. It provides a key-value interface that is used in
-% the default renderer prototypes for image attribute contexts.
+% \end{markdown}
+% \begin{macrocode}
+soft catchfile
+% \end{macrocode}
+% \begin{markdown}
%
% \pkg{grffile}
%
@@ -1330,6 +1434,12 @@ local uni_algos = require("lua-uni-algos")
% the `witiko/dot` and `witiko/graphicx/http` \LaTeX{} themes, see Section
% <#sec:latexthemes>.
%
+% \end{markdown}
+% \begin{macrocode}
+soft grffile
+% \end{macrocode}
+% \begin{markdown}
+%
% \pkg{etoolbox}
%
%: A package that is used to polyfill the general hook management system in
@@ -1337,10 +1447,23 @@ local uni_algos = require("lua-uni-algos")
% <#sec:latex-yaml-metadata>, and also in the default renderer prototype
% for identifier attributes.
%
+% \end{markdown}
+% \begin{macrocode}
+soft etoolbox
+% \end{macrocode}
+% \begin{markdown}
+%
% \pkg{soulutf8}
%
%: A package that is used in the default renderer prototype for
% strike-throughs and marked text.
+% <!-- TODO: 1,$s/soulutf8/soul/g in TeX Live 2023. -->
+%
+% \end{markdown}
+% \begin{macrocode}
+soft soul
+% \end{macrocode}
+% \begin{markdown}
%
% \pkg{ltxcmds}
%
@@ -1348,6 +1471,12 @@ local uni_algos = require("lua-uni-algos")
% \pkg{listings} packages are loaded in the default renderer prototype
% for fenced code blocks.
%
+% \end{markdown}
+% \begin{macrocode}
+soft ltxcmds
+% \end{macrocode}
+% \begin{markdown}
+%
% \pkg{verse}
%
%: A package that is used in the default renderer prototypes for
@@ -1355,10 +1484,13 @@ local uni_algos = require("lua-uni-algos")
%
% \end{markdown}
% \begin{macrocode}
-\RequirePackage{expl3}
+soft verse
% \end{macrocode}
+% \begin{markdown}
+%
+% \end{markdown}
% \iffalse
-%</latex>
+%</depends>
%<*context>
% \fi
% \par
@@ -7237,7 +7369,7 @@ defaultOptions.html = true
: false
: Enable the escaping of special plain \TeX{} characters outside verbatim
- environments, so that they are not interpretted by \TeX{}. This is
+ environments, so that they are not interpreted by \TeX{}. This is
encouraged when typesetting automatically generated content or
markdown documents that were not prepared with this package in mind.
@@ -11322,7 +11454,7 @@ for i = 1, #arg do
end
% \end{macrocode}
% \begin{markdown}
-% The first argument that matches none of the above patters is assumed to be
+% The first argument that matches none of the above patterns is assumed to be
% the input filename. The input filename should correspond to the Markdown
% document that is going to be converted to a \TeX{} document.
% \end{markdown}
@@ -11331,7 +11463,7 @@ for i = 1, #arg do
input_filename = arg[i]
% \end{macrocode}
% \begin{markdown}
-% The first argument that matches none of the above patters is assumed to be
+% The first argument that matches none of the above patterns is assumed to be
% the output filename. The output filename should correspond to the \TeX{}
% document that will result from the conversion.
% \end{markdown}
@@ -11856,47 +11988,10 @@ For more information, see the examples for the \Opt{finalizeCache} option.
%
% \end{markdown}
% \begin{macrocode}
-\cs_generate_variant:Nn
- \@@_add_plain_tex_option:nnn
- { nnV }
-% \end{macrocode}
-% \begin{markdown}
-%
-% Use the \pkg{lt3luabridge} library to determine the default value of the
-% \mref{markdownOptionOutputDir} macro by using the environmental variable
-% `TEXMF_OUTPUT_DIRECTORY` that is available since TeX~Live 2024.
-%
-% \end{markdown}
-% \begin{macrocode}
-\ExplSyntaxOff
-\input lt3luabridge.tex
-\ExplSyntaxOn
-\bool_if:nTF
- {
- \cs_if_exist_p:N
- \luabridge_tl_set:Nn &&
- (
- \int_compare_p:nNn
- { \g_luabridge_method_int }
- =
- { \c_luabridge_method_directlua_int } ||
- \sys_if_shell_unrestricted_p:
- )
- }
- {
- \luabridge_tl_set:Nn
- \l_tmpa_tl
- { print(os.getenv("TEXMF_OUTPUT_DIRECTORY") or ".") }
- }
- {
- \tl_set:Nn
- \l_tmpa_tl
- { . }
- }
-\@@_add_plain_tex_option:nnV
+\@@_add_plain_tex_option:nnn
{ outputDir }
{ path }
- \l_tmpa_tl
+ { . }
% \end{macrocode}
% \iffalse
%</tex>
@@ -12172,22 +12267,73 @@ A PDF document named `document.pdf` should be produced and contain the text
% \end{macrocode}
% \begin{markdown}
%
-% Do not override options defined before loading the package.
+% Use the \pkg{lt3luabridge} library to determine the default value of the
+% \mref{markdownOptionOutputDir} macro by using the environmental variable
+% `TEXMF_OUTPUT_DIRECTORY` that is available since TeX~Live 2024.
%
% \end{markdown}
% \begin{macrocode}
- \@@_option_tl_to_csname:nN
+ \str_if_eq:nnTF
{ #1 }
- \l_tmpa_tl
- \cs_if_exist:cF
- { \l_tmpa_tl }
+ { outputDir }
+ { \@@_define_option_command_output_dir: }
{
- \@@_get_default_option_value:nN
- { #1 }
- \l_tmpa_tl
- \@@_set_option_value:nV
+% \end{macrocode}
+% \begin{markdown}
+%
+% Do not override options defined before loading the package.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \@@_option_tl_to_csname:nN
{ #1 }
\l_tmpa_tl
+ \cs_if_exist:cF
+ { \l_tmpa_tl }
+ {
+ \@@_get_default_option_value:nN
+ { #1 }
+ \l_tmpa_tl
+ \@@_set_option_value:nV
+ { #1 }
+ \l_tmpa_tl
+ }
+ }
+ }
+\ExplSyntaxOff
+\input lt3luabridge.tex
+\ExplSyntaxOn
+\cs_new:Nn
+ \@@_define_option_command_output_dir:
+ {
+ \cs_if_free:NT
+ \markdownOptionOutputDir
+ {
+ \bool_if:nTF
+ {
+ \cs_if_exist_p:N
+ \luabridge_tl_set:Nn &&
+ (
+ \int_compare_p:nNn
+ { \g_luabridge_method_int }
+ =
+ { \c_luabridge_method_directlua_int } ||
+ \sys_if_shell_unrestricted_p:
+ )
+ }
+ {
+ \luabridge_tl_set:Nn
+ \l_tmpa_tl
+ { print(os.getenv("TEXMF_OUTPUT_DIRECTORY") or ".") }
+ \tl_gset:NV
+ \markdownOptionOutputDir
+ \l_tmpa_tl
+ }
+ {
+ \tl_gset:Nn
+ \markdownOptionOutputDir
+ { . }
+ }
}
}
\cs_new:Nn
@@ -14039,7 +14185,7 @@ following text:
#### Code Block Renderers
The \mdef{markdownRendererInputVerbatim} macro represents a code
block. The macro receives a single argument that corresponds to the
-filename of a file contaning the code block contents.
+filename of a file containing the code block contents.
% \end{markdown}
%
@@ -14073,7 +14219,7 @@ filename of a file contaning the code block contents.
The \mdef{markdownRendererInputFencedCode} macro represents a fenced code
block. This macro will only be produced, when the \Opt{fencedCode} option is
enabled. The macro receives three arguments that correspond to the filename of
-a file contaning the code block contents, the fully escaped code fence infostring
+a file containing the code block contents, the fully escaped code fence infostring
that can be directly typeset, and the raw code fence infostring that can be used
outside typesetting.
@@ -15289,7 +15435,7 @@ following text:
% \begin{markdown}
#### Ellipsis Renderer
-The \mdef{markdownRendererEllipsis} macro replaces any occurance of ASCII
+The \mdef{markdownRendererEllipsis} macro replaces any occurrence of ASCII
ellipses in the input text. This macro will only be produced, when the
\Opt{smartEllipses} option is enabled. The macro receives no arguments.
@@ -18435,7 +18581,7 @@ following text:
#### Raw Content Renderers
The \mdef{markdownRendererInputRawInline} macro represents an inline raw span.
-The macro receives two arguments: the filename of a file contaning the inline
+The macro receives two arguments: the filename of a file containing the inline
raw span contents and the raw attribute that designates the format of the
inline raw span. This macro will only be produced, when the \Opt{rawAttribute}
option is enabled.
@@ -18470,7 +18616,7 @@ option is enabled.
% \begin{markdown}
The \mdef{markdownRendererInputRawBlock} macro represents a raw block. The
-macro receives two arguments: the filename of a file contaning the raw block
+macro receives two arguments: the filename of a file containing the raw block
and the raw attribute that designates the format of the raw block. This macro
will only be produced, when the \Opt{rawAttribute} and \Opt{fencedCode} options
are enabled.
@@ -19368,7 +19514,7 @@ following content:
\markdownSetup{
renderers = {
table = {%
- This is a table with caption \emph{#1} that is #3 colums wide
+ This is a table with caption \emph{#1} that is #3 columns wide
and #2 rows long.
\rowCounter=0%
\def\rowTotal{#2}%
@@ -19397,7 +19543,7 @@ A PDF document named `document.pdf` should be produced and contain the
following text:
> This is a table with caption *Demonstration of pipe table syntax* that is 4
-> colums wide and 4 rows long. As for the alignment, column number 1 is
+> columns wide and 4 rows long. As for the alignment, column number 1 is
> right-aligned, column number 2 is left-aligned, column number 3 has default
> alignment, and column number 4 is centered. In row 1, column number 1 says
> *Right*, column number 2 says *Left*, column number 3 says *Default*, and
@@ -20256,7 +20402,7 @@ following text:
%#### Generating Plain \TeX{} Token Renderer Macros and Key-Values {#plain-tex-renderers}
%
% We define the command \mdef{@@_define_renderers:} that defines plain \TeX{}
-% macros for token renderers. Futhermore, the `\markdownSetup` macro also accepts
+% macros for token renderers. Furthermore, the `\markdownSetup` macro also accepts
% the `renderers` key, whose value must be a list of key-values, where the keys
% correspond to the markdown token renderer macros and the values are new
% definitions of these token renderers.
@@ -20974,7 +21120,7 @@ following text:
%#### Generating Plain \TeX{} Token Renderer Prototype Macros and Key-Values {#plain-tex-renderer-prototypes}
%
% We define the command \mdef{@@_define_renderer_prototypes:} that defines plain \TeX{}
-% macros for token renderer prototypes. Futhermore, the `\markdownSetup` macro also accepts
+% macros for token renderer prototypes. Furthermore, the `\markdownSetup` macro also accepts
% the `rendererPrototype` key, whose value must be a list of key-values, where the keys
% correspond to the markdown token renderer prototype macros and the values are new
% definitions of these token renderer prototypes.
@@ -21600,7 +21746,7 @@ following code in our \LaTeX{} document:
We can also set all plain \TeX{} options directly from \LaTeX{}. For example,
to set the `\markdownOptionInputTempFileName` plain \TeX{} option to
-`helper-script.lua`, we would inclde the following code in our \LaTeX{}
+`helper-script.lua`, we would include the following code in our \LaTeX{}
document:
``` tex
@@ -22559,7 +22705,7 @@ end
% Given a table `char_escapes` mapping escapable characters to escaped
% strings and optionally a table `string_escapes` mapping escapable strings
% to escaped strings, the \luamdef{util.escaper} method returns an escaper
-% function that escapes all occurances of escapable strings and characters (in
+% function that escapes all occurrences of escapable strings and characters (in
% this order).
%
% The method uses \pkg{LPeg}, which is faster than the Lua `string.gsub`
@@ -22588,7 +22734,7 @@ function util.escaper(char_escapes, string_escapes)
% \begin{markdown}
% If `string_escapes` is provided, turn `escapable` into the
% $$\sum^^B{(`k`, `v`)\in`string_escapes`}`P(k) / v` + `escapable`$$
-% capture that replaces any occurance of the string `k` with the string
+% capture that replaces any occurrence of the string `k` with the string
% `v` for each $(`k`, `v`)\in`string_escapes`$. Note that the pattern
% summation is not commutative and its operands are inspected in the
% summation order during the matching. As a corrolary, the strings always
@@ -28687,7 +28833,7 @@ function M.reader.new(writer, options)
+ #parsers.link_text
* Cg(Cc("link_text"), "link_type")
- parsers.note_opening = #(parsers.circumflex * parsers.shortcut_link)
+ parsers.note_opening = #(parsers.circumflex * parsers.link_text)
* Cg(Cc("note_inline"), "link_type")
parsers.raw_note_opening = #( parsers.lbracket
@@ -29137,9 +29283,10 @@ function M.reader.new(writer, options)
end
for i,value in ipairs(t) do
- if not value.is_closing or
- value.type ~= "delimiter" or
- not (value.element == "link" or value.element == "image" or value.element == "note") then
+ if not value.is_closing
+ or value.type ~= "delimiter"
+ or not (value.element == "link" or value.element == "image" or value.element == "note")
+ or value.removed then
goto continue
end
@@ -30446,7 +30593,7 @@ M.extensions.citations = function(citation_nbsps)
)
* citation_name
* (parsers.internal_punctuation - parsers.semicolon)^-1
- * ( parsers.spnlc
+ * ( parsers.spnlc / function(_) return end
* citation_body_postnote
+ Cc("")
* parsers.spnlc
@@ -33217,7 +33364,7 @@ end
%### Themes {#themes-implementation}
%
% This section implements the theme-loading mechanism and the built-in themes
-% provided with the Markdown package. Futhermore, this section also implements
+% provided with the Markdown package. Furthermore, this section also implements
% the built-in plain \TeX{} themes provided with the Markdown package.
%
% \end{markdown}
@@ -34161,6 +34308,9 @@ end
}
}
}
+ \str_gset:NV
+ \g_luabridge_output_dirname_str
+ \markdownOptionOutputDir
\luabridge_now:e
{ #1 }
}
@@ -34456,7 +34606,7 @@ end
% \LaTeX{} Implementation {#lateximplementation}
%-------------------------
%
-% The \LaTeX{} implemenation makes use of the fact that, apart from some subtle
+% The \LaTeX{} implementation makes use of the fact that, apart from some subtle
% differences, \LaTeX{} implements the majority of the plain \TeX{}
% format~[@latex17, Section 9]. As a consequence, we can directly reuse the
% existing plain \TeX{} implementation.
@@ -34685,7 +34835,7 @@ end
%### Themes {#latex-themes-implementation}
%
% This section overrides the plain \TeX{} implementation of the theme-loading
-% mechanism from Section <#sec:themes-implementation>. Futhermore, this section
+% mechanism from Section <#sec:themes-implementation>. Furthermore, this section
% also implements the built-in \LaTeX{} themes provided with the Markdown package.
%
% \end{markdown}
@@ -36412,7 +36562,7 @@ end
%### Themes {#context-themes-implementation}
%
% This section overrides the plain \TeX{} implementation of the theme-loading
-% mechanism from Section <#sec:themes-implementation>. Futhermore, this section
+% mechanism from Section <#sec:themes-implementation>. Furthermore, this section
% also implements the built-in \Hologo{ConTeXt} themes provided with the
% Markdown package.
%
diff --git a/macros/generic/markdown/markdown.html b/macros/generic/markdown/markdown.html
index f16477d948..81e62b2044 100644
--- a/macros/generic/markdown/markdown.html
+++ b/macros/generic/markdown/markdown.html
@@ -4,7 +4,7 @@
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
- <meta name="author" content="Vít Starý Novotný" />
+ <meta name="author" content="Vít Starý Novotný, Andrej Genčur" />
<title>Markdown Package User Manual</title>
<style>
code{white-space: pre-wrap;}
@@ -92,8 +92,8 @@
<body>
<header id="title-block-header">
<h1 class="title">Markdown Package User Manual</h1>
-<p class="author">Vít Starý Novotný</p>
-<p class="date">3.6.1-0-g5a45a922 2024-06-20</p>
+<p class="author">Vít Starý Novotný, Andrej Genčur</p>
+<p class="date">3.6.2-0-g6c30af7e 2024-07-14</p>
</header>
<nav id="TOC" role="doc-toc">
<ul>
@@ -191,7 +191,7 @@ class="tex">T<sub>e</sub>X</span>, <span
class="latex">L<sup>a</sup>T<sub>e</sub>X</span>, and Con<span
class="tex">T<sub>e</sub>X</span>t macro packages that can be used to
directly typeset <span class="tex">T<sub>e</sub>X</span> documents
-containing markdown markup. Unlike other convertors, the Markdown
+containing markdown markup. Unlike other converters, the Markdown
package does not require any external programs, and makes it easy to
redefine how each and every markdown element is rendered. Creative abuse
of the markdown syntax is encouraged. <i class="em em-wink"></i></p>
@@ -227,10 +227,10 @@ class="tex">T<sub>e</sub>X</span> distribution, you will need to install
it.</p>
<p>From <a href="https://github.com/witiko/markdown/releases"
title="Releases - witiko/markdown">Releases</a>, download <a
-href="https://github.com/witiko/markdown/releases/download/3.6.1/markdown.zip"
-title="Release 3.6.1 - witiko/markdown">an archive
+href="https://github.com/witiko/markdown/releases/download/3.6.2/markdown.zip"
+title="Release 3.6.2 - witiko/markdown">an archive
<code>markdown.zip</code> for this version of the Markdown package
-(3.6.1)</a> or a different version that you wish to install. Then, unzip
+(3.6.2)</a> or a different version that you wish to install. Then, unzip
the archive. If you downloaded an archive for a different version of the
Markdown package, you should now locate a file named
<code>markdown.html</code> with the user manual for that version, open
@@ -4720,7 +4720,7 @@ markdown markup freely.</p>
<dd>
<p>Enable the escaping of special plain <span
class="tex">T<sub>e</sub>X</span> characters outside verbatim
-environments, so that they are not interpretted by <span
+environments, so that they are not interpreted by <span
class="tex">T<sub>e</sub>X</span>. This is encouraged when typesetting
automatically generated content or markdown documents that were not
prepared with this package in mind.</p>
@@ -8288,7 +8288,7 @@ options directly from <span
class="latex">L<sup>a</sup>T<sub>e</sub>X</span>. For example, to set
the <code>\markdownOptionInputTempFileName</code> plain <span
class="tex">T<sub>e</sub>X</span> option to
-<code>helper-script.lua</code>, we would inclde the following code in
+<code>helper-script.lua</code>, we would include the following code in
our <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> document:</p>
<div class="sourceCode" id="cb477"><pre
class="sourceCode tex"><code class="sourceCode latex"><span id="cb477-1"><a href="#cb477-1" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span>
@@ -9077,12 +9077,12 @@ contain the following text:</p>
class="header-section-number">2.3.1.6</span> Code Block Renderers</h4>
<p>The <code>\markdownRendererInputVerbatim</code> macro represents a
code block. The macro receives a single argument that corresponds to the
-filename of a file contaning the code block contents.</p>
+filename of a file containing the code block contents.</p>
<p>The <code>\markdownRendererInputFencedCode</code> macro represents a
fenced code block. This macro will only be produced, when the
<strong><code>fencedCode</code></strong> option is enabled. The macro
receives three arguments that correspond to the filename of a file
-contaning the code block contents, the fully escaped code fence
+containing the code block contents, the fully escaped code fence
infostring that can be directly typeset, and the raw code fence
infostring that can be used outside typesetting.</p>
<h5 class="unnumbered" id="latex-example-62"><span
@@ -9841,7 +9841,7 @@ nutrient-rich, and produced on an industrial scale.</p>
<h4 data-number="2.3.1.11" id="ellipsis-renderer"><span
class="header-section-number">2.3.1.11</span> Ellipsis Renderer</h4>
<p>The <code>\markdownRendererEllipsis</code> macro replaces any
-occurance of ASCII ellipses in the input text. This macro will only be
+occurrence of ASCII ellipses in the input text. This macro will only be
produced, when the <strong><code>smartEllipses</code></strong> option is
enabled. The macro receives no arguments.</p>
<h5 class="unnumbered" id="plain-tex-example-30">Plain <span
@@ -11581,14 +11581,14 @@ item).</p>
class="header-section-number">2.3.1.31</span> Raw Content Renderers</h4>
<p>The <code>\markdownRendererInputRawInline</code> macro represents an
inline raw span. The macro receives two arguments: the filename of a
-file contaning the inline raw span contents and the raw attribute that
+file containing the inline raw span contents and the raw attribute that
designates the format of the inline raw span. This macro will only be
produced, when the <strong><code>rawAttribute</code></strong> option is
enabled.</p>
<p>The <code>\markdownRendererInputRawBlock</code> macro represents a
raw block. The macro receives two arguments: the filename of a file
-contaning the raw block and the raw attribute that designates the format
-of the raw block. This macro will only be produced, when the
+containing the raw block and the raw attribute that designates the
+format of the raw block. This macro will only be produced, when the
<strong><code>rawAttribute</code></strong> and
<strong><code>fencedCode</code></strong> options are enabled.</p>
<h5 class="unnumbered" id="latex-example-89"><span
@@ -12140,7 +12140,7 @@ class="sourceCode tex"><code class="sourceCode latex"><span id="cb646-1"><a href
<span id="cb646-35"><a href="#cb646-35" aria-hidden="true" tabindex="-1"></a><span class="fu">\markdownSetup</span>{</span>
<span id="cb646-36"><a href="#cb646-36" aria-hidden="true" tabindex="-1"></a> renderers = {</span>
<span id="cb646-37"><a href="#cb646-37" aria-hidden="true" tabindex="-1"></a> table = {<span class="co">%</span></span>
-<span id="cb646-38"><a href="#cb646-38" aria-hidden="true" tabindex="-1"></a> This is a table with caption <span class="fu">\emph</span>{#1} that is #3 colums wide</span>
+<span id="cb646-38"><a href="#cb646-38" aria-hidden="true" tabindex="-1"></a> This is a table with caption <span class="fu">\emph</span>{#1} that is #3 columns wide</span>
<span id="cb646-39"><a href="#cb646-39" aria-hidden="true" tabindex="-1"></a> and #2 rows long.</span>
<span id="cb646-40"><a href="#cb646-40" aria-hidden="true" tabindex="-1"></a> <span class="fu">\rowCounter</span>=0<span class="co">%</span></span>
<span id="cb646-41"><a href="#cb646-41" aria-hidden="true" tabindex="-1"></a> <span class="fu">\def\rowTotal</span>{#2}<span class="co">%</span></span>
@@ -12167,18 +12167,19 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb647-1"><a href="
contain the following text:</p>
<blockquote>
<p>This is a table with caption <em>Demonstration of pipe table
-syntax</em> that is 4 colums wide and 4 rows long. As for the alignment,
-column number 1 is right-aligned, column number 2 is left-aligned,
-column number 3 has default alignment, and column number 4 is centered.
-In row 1, column number 1 says <em>Right</em>, column number 2 says
-<em>Left</em>, column number 3 says <em>Default</em>, and column number
-4 says <em>Center</em>. In row 2, column number 1 says <em>12</em>,
-column number 2 says <em>12</em>, column number 3 says <em>12</em>, and
-column number 4 says <em>12</em>. In row 3, column number 1 says
-<em>123</em>, column number 2 says <em>123</em>, column number 3 says
-<em>123</em>, and column number 4 says <em>123</em>. In row 4, column
-number 1 says <em>1</em>, column number 2 says <em>1</em>, column number
-3 says <em>1</em>, and column number 4 says <em>1</em>.</p>
+syntax</em> that is 4 columns wide and 4 rows long. As for the
+alignment, column number 1 is right-aligned, column number 2 is
+left-aligned, column number 3 has default alignment, and column number 4
+is centered. In row 1, column number 1 says <em>Right</em>, column
+number 2 says <em>Left</em>, column number 3 says <em>Default</em>, and
+column number 4 says <em>Center</em>. In row 2, column number 1 says
+<em>12</em>, column number 2 says <em>12</em>, column number 3 says
+<em>12</em>, and column number 4 says <em>12</em>. In row 3, column
+number 1 says <em>123</em>, column number 2 says <em>123</em>, column
+number 3 says <em>123</em>, and column number 4 says <em>123</em>. In
+row 4, column number 1 says <em>1</em>, column number 2 says <em>1</em>,
+column number 3 says <em>1</em>, and column number 4 says
+<em>1</em>.</p>
</blockquote>
<h4 data-number="2.3.1.40" id="tex-math-renderers"><span
class="header-section-number">2.3.1.40</span> <span
diff --git a/macros/generic/markdown/markdown.ins b/macros/generic/markdown/markdown.ins
index 8e777f4217..4261ddfdd4 100644
--- a/macros/generic/markdown/markdown.ins
+++ b/macros/generic/markdown/markdown.ins
@@ -25,5 +25,6 @@
\file{markdown.css}{\from{markdown.dtx}{manual-css}}
\file{markdown-figure-block-diagram.tex}{\from{markdown.dtx}{techdoc-block-diagram}}
\file{markdown.bib}{\from{markdown.dtx}{techdoc-bibliography}}
+ \file{DEPENDS.txt}{\from{markdown.dtx}{depends}}
}
\endbatchfile
diff --git a/macros/generic/markdown/markdown.pdf b/macros/generic/markdown/markdown.pdf
index 40adf14658..3787cdbe80 100644
--- a/macros/generic/markdown/markdown.pdf
+++ b/macros/generic/markdown/markdown.pdf
Binary files differ
diff --git a/macros/jptex/latex/jlreq/README-ja.md b/macros/jptex/latex/jlreq/README-ja.md
index e7d28508c4..3d4f146f11 100644
--- a/macros/jptex/latex/jlreq/README-ja.md
+++ b/macros/jptex/latex/jlreq/README-ja.md
@@ -19,7 +19,7 @@
## 動作環境
pLaTeX / upLaTeX / LuaLaTeX上で動きます.以下のパッケージを内部で読み込みます.
-* (常時):l3keys2e,lmodern
+* (常時):lmodern
* (LuaLaTeX非利用時):everyhook
* (LuaLaTeX利用時):luatexja,luatexja-adjust
@@ -343,7 +343,7 @@ pLaTeX / upLaTeX / LuaLaTeX上で動きます.以下のパッケージを内
* `odd_running_head=<書式>`,`even_running_head=<書式>`:それぞれ奇数ページ,偶数ページの柱を指定します.`_section`のように`_`から始まる名前を指定すると,対応する見出しを出力します.(`_section`だと現在の`\section`を出力する.)
* `mark_format={[odd=<書式>/even=<書式>/_<見出し命令名>=<書式>],...}`:見出しを柱に出力する際のフォーマットを指定します.`mark_format={_section={節\thesection:#1},_chapter={第\thechapter 章\quad #1}}`のように指定します.見出し命令名の代わりに`odd`や`even`も指定でき,それぞれ奇数ページ/偶数ページの柱の書式になります.`\pagestyle`実行時に`\sectionmark`等を定義することで実現しています.
* `nombre_ii=<書式>`:二つ目のノンブルを指定します.`nombre_ii_position`で場所指定,`nombre_ii_font`でフォント設定もできます.指定方法は`nombre`や`nombre_position`と同じです.`odd_running_head_ii`,`even_running_head_ii`,`running_head_ii_position`,`running_head_ii_font`もあります.`nombre_ii_position`や`running_head_ii_position`が指定されなかった場合,`yoko`指定時にはそれぞれ`nombre_position`および`running_head_position`と同じ位置に設定されます.`tate`指定時は一つ目のノンブルや柱に続く場所に表示されます.
-* `odd_head_format=<書式>`, `odd_foot_format=<書式>`, `even_head_format=<書式>`, `even_foot_format=<書式>`:ヘッダやフッタのフォーマットを指定します.`#1`がヘッダまたはフッタ全体に書き換えられます.ただし`#1`には位置調整用のコードが入っている場合もあるので,特に`\NewPageStyle`に`tate`を指定している場合には思うようにならないこともあります.例えば奇数ページのヘッダに罫線を引くためには`odd_head_format={\underline{\makebox[\jlreqyokoheadlength]{#1}}}`とするとよいでしょう.なお,ここで使った`\jlreqyokoheadlength`は本クラスファイル内で定義されているマクロで,ヘッダの横方向の長さを与えます.(フッタの長さも同じです.)縦方向の長さ,すなわち`\DeclarePageStyle`で`tate`が指定されている場合の長さは`\jlreqtateheadlength`で取得できます.
+* `odd_head_format=<書式>`, `odd_foot_format=<書式>`, `even_head_format=<書式>`, `even_foot_format=<書式>`:ヘッダやフッタのフォーマットを指定します.`#1`がヘッダまたはフッタ全体に書き換えられます.ただし`#1`には位置調整用のコードが入っている場合もあるので,特に`\NewPageStyle`に`tate`を指定している場合には思うようにならないこともあります.例えば奇数ページのヘッダに罫線を引くためには`odd_head_format={\underline{\makebox[\jlreqyokoheadlength]{#1}}}`とするとよいでしょう.なお,ここで使った`\jlreqyokoheadlength`は本クラスファイル内で定義されているマクロで,ヘッダの横方向の長さを与えます.(フッタの長さも同じです.)縦方向の長さ,すなわち`\NewPageStyle`で`tate`が指定されている場合の長さは`\jlreqtateheadlength`で取得できます.
`\RenewPageStyle`,`\ProvidePageStyle`,`\DeclarePageStyle`もあります.`\ModifyPageStyle`により既存のページスタイルを改変することが可能です.
@@ -590,6 +590,12 @@ JFMの名前は次の通りです.`[]`で囲まれている文字は設定に
- そのほかいくつか改善など.
* 2024-02-16
- バグ修正
+* 2024-08-23
+ - バグ修正
+ - 内部変数名の変更
+ - 英語ドキュメントに使い方を書いた
+ - `\DeclareKeys`などを使うようにした.
+ - 行見出しの内部処理をちょっとだけ変更.
--------------
Noriyuki Abe
diff --git a/macros/jptex/latex/jlreq/README.md b/macros/jptex/latex/jlreq/README.md
index 80ef200e89..3c7ec380ee 100644
--- a/macros/jptex/latex/jlreq/README.md
+++ b/macros/jptex/latex/jlreq/README.md
@@ -14,7 +14,383 @@ Run `make` to generate JFM files. Move the files as follows:
The other way to install is just to run `make install`. It will install all files in `$TEXMFHOME`.
## Usage
-See [README-ja.md](README-ja.md) (in Japanese).
+To use, simply write
+```latex
+\documentclass{jlreq}
+```
+ This will set up a document class equivalent to an article in horizontal writing. The engine is automatically determined, but if you want to specify it, pass one of `platex/uplatex/lualatex` as a class option. To switch to vertical writing, pass the `tate` option. Additionally, to make the document class equivalent to report or book, pass the `report` or `book` option respectively. For example, to create a vertical book, write `\documentclass[tate,book]{jlreq}`.
+
+Other common options accepted are `oneside/twoside/onecolumn/twocolumn/titlepage/notitlepage/draft/final/landscape/openright/openany/leqno/fleqn`. Also, passing the `disablejfam` option will not register Japanese fonts for use in mathematics.
+
+You can write the content as you would in a standard document class, but the following commands have been added or extended. Note that this document uses terms from [Requirements for Japanese Text Layout](https://www.w3.org/TR/jlreq/?lang=en) without explanation.
+
+### `\jlreqsetup`
+This is a command for settings. It can only be used in the preamble. Settings for the document are made either as class options or through `\jlreqsetup`, depending on the setting item.
+
+### `\section`
+The `\section` command is extended to accept subtitles in addition to the usual format, as in `\section*[running head]{Heading}[Subtitle]`. Other commands such as `\part` (only in article), `\chapter` (only in book/report), `\subsection`, and `\subsubsection` also accept subtitles.
+
+### `abstract` environment
+You can place it in the preamble, and it will be output with `\maketitle`. In the case of two columns, it allows you to output the abstract without columnization. However, this method is now deprecated. By specifying `abstract_with_maketitle=true` in `\jlreqsetup` and writing it before `\maketitle`, you can achieve the same effect.
+
+### `\sidenote`
+This command is only defined when the width of the sidenote is positive. In the default basic layout, this width is set to 0. Therefore, `\sidenote` is not defined. Please refer to the later basic layout settings. `\sidenote` outputs a sidenote (or footnote in vertical writing). Internally, it uses `\marginpar`. By default, it has the same format as `\footnote`, but if `sidenote_type=symbol` is specified in `\jlreqsetup`, the format becomes `\sidenote{relevant item}{note}`. For example, you would write:
+
+```latex
+capable of publishing \sidenote{manuscript}{by methods such as printing…}
+```
+Please refer to the later explanation as well.
+
+### `\endnote`
+Specifies an endnote. It has the same format as `\footnote`. By default, the note itself is output just before the heading. This behavior can be controlled by passing `endnote_position` to `\jlreqsetup`. For more details, please see the later explanation of notes. Also, executing `\theendnotes` will output it on the spot.
+
+### `\warichu`
+Outputs a warichu (split annotation). The line division positions are calculated automatically (multiple compilations are required). With `\warichu*`, you can manually specify these positions. The format is `\warichu*{(before first line) & (after first line)\\ (before second line) & (after second line)...}`. If `&` is omitted, it will be adjusted automatically.
+
+### `\tatechuyoko`
+Outputs horizontal-in-vertical text. You use it as `\tatechuyoko{<content>}`. `\tatechuyoko` will result in an error if used in a non-vertical writing place, but `\tatechuyoko*` will be output as is in a non-vertical writing place.
+
+### `\jidori`
+By using `\jidori{<dimension>}{<content>}`, you can output the content justified to the length of the dimension.
+
+### `\akigumi`
+By using `\akigumi{<dimension>}{<content>}`, you can output the result of spacing the characters of the content by the length of the dimension. However, the correct output result is not obtained except when using LuaLaTeX.
+
+### `\jafontsize`
+Specifies the Japanese font size, similar to `\fontsize`. If `jafontscale=0.9` is specified as a class option, specifying `\fontsize{9pt}{15pt}` will result in a Japanese font size of 8.1pt, but `\jafontsize{9pt}{15pt}` will result in 9pt (with the European font size being 10pt). The second argument is exactly the same as the second argument of `\fontsize`.
+
+### `\ `
+A macro consisting of a single full-width space (U+3000). It inserts a Japanese character space. In LuaLaTeX, you can also input a Japanese character space with ` ` alone.
+
+### Others
+* Ruby and encircled points are not provided. It is recommended to use [PXrubrica](https://github.com/zr-tex8r/PXrubrica) or `luatexja-ruby` (for LuaLaTeX, included in the LuaTeX-ja package).
+
+* When using pLaTeX / upLaTeX, macros `\zw` and `\zh` that expand to `zw` and `zh`, respectively, are defined. In LuaLaTeX, macros of the same name are defined within LuaTeX-ja.
+
+* Requirements for Japanese Text Layout 2.3.2.d state that it is desirable to align the number of lines in each column on the last page of horizontal two-column typesetting, but this process is not performed. You can perform this process by using the `nidanfloat` package and specifying
+
+ ````latex
+ \usepackage[balance]{nidanfloat}
+ ````
+
+ However, `\newpage` and `\clearpage` on the last page will not work correctly. For more details, please see the manual of the `nidanfloat` package.
+
+* The functionality to set fonts is not provided. Japanese fonts can be set using `luatexja-fontspec` or `luatexja-preset` (both included in the LuaTeX-ja package) when using LuaLaTeX. If using dvipdfmx, you can set it with [PXchfon](https://github.com/zr-tex8r/PXchfon).
+
+* The space between Japanese characters (stored in `\kanjiskip` in (u)pTeX and in the `kanjiskip` parameter in LuateX-ja) by default allows for up to a quarter-character width of space, in accordance with the Requirements for Japanese Text Layout. However, due to limitations of TeX’s functionality, this may not always produce appropriate results. If you want to change this value, please redefine `\jlreqkanjiskip`. For example:
+
+ ```latex
+ \documentclass{jlreq}
+ \renewcommand{\jlreqkanjiskip}{0pt plus .1\zw minus .01\zw}
+ \begin{document}
+ (Main text)
+ \end{document}
+ ````
+
+ The space between Japanese and European characters (stored in `\xkanjiskip` in (u)pTeX and in the `xkanjiskip` parameter in LuateX-ja) can also be changed by redefining `\jlreqxkanjiskip`.
+
+* When specifying `book`, even if you specify `openany` as a class option, a blank page may be inserted after `\mainmatter`. This is to match the behavior of the standard class file. By specifying `\jlreqsetup{mainmatter_pagebreak=clearpage}`, you can prevent the insertion of a blank page, but by default, `\mainmatter` resets the page number, so there may be inconsistencies in the parity of page numbers. Please consider changing to a continuous pagination by specifying something like `\jlreqsetup{frontmatter_pagination={arabic,continuous}}`. For more details, please refer to the following “Front Matter, etc.” section.
+
+## Design options
+The design is specified in keyval format via class options or `\jlreqsetup`. However, due to LaTeX’s implementation, cases where input that should be possible is not accepted may occur with class options. In many cases, this can be resolved by removing spaces.
+
+In the following, the following usage will be used:
+* `[A/B]`: Either A or B. `[A/B/C]`, etc., are the same.
+* `<dimension>`: A dimension recognized by TeX. You can also use simple expressions (like `10pt+10pt`). In class options, you may be able to use special values as follows (these are available in pLaTeX / upLaTeX by default, but are processed to be available in LuaLaTeX as well): In places like `\jlreqsetup`, you can always describe the full-width width with `\zw` or `\zh`. Below, for example, if `Q` and `H` are available, it will be described as `<dimension;Q,H>`.
+ - `Q`, `H`: Interpreted as 0.25mm.
+ - `zw`, `zh`: Interpreted as full-width width.
+* `<code>`: LaTeX code.
+* `<font setting code>`: Commands for font settings, such as `\Large` or `\bfseries`. Multiple specifications like `\Large\bfseries` are also possible.
+
+### Kihon-hanmen
+Class option.
+
+* `paper=[<paper size name>/{<dimension>,<dimension>}]`: Specifies the paper size. You can specify from `a0paper` to `a10paper`, `b0paper` to `b10paper` (ISO B series), or `b0j` to `b10j` for JIS B series. Also available are `letterpaper`, `legalpaper`, and `executivepaper`. Alternatively, you can directly specify dimensions with `{<width>,<height>}`.
+* `fontsize=<dimension;Q,H>`: Specifies the font size for Latin script. The default is 10pt.
+* `jafontsize=<dimension;Q,H>`: Specifies the font size for Japanese script.
+* `jafontscale=<real number>`: The ratio of Japanese font size to Latin font size (Japanese / Latin). Ignored if both `fontsize` and `jafontsize` are specified. The default is 1.
+* `line_length=<dimension;zw,zh>`: The length of a line. By default, it's 0.75 times the paper width in the direction of character progression. The actual value is adjusted to be a multiple of the length of one character.
+* `number_of_lines=<natural number>`: The number of lines per page. By default, it's a value that makes it 0.75 times the paper height in the direction of line progression.
+* `gutter=<dimension;zw,zh>`: The size of the gutter margin.
+ - Without `tate`option: It's the margin on the left for odd pages and on the right for even pages.
+ * With `tate` option: It's the opposite.
+ * If `twoside` is not specified in the class options, the margin is always set as for odd pages.
+* `fore-edge=<dimension;zw,zh>`: The size of the fore-edge margin (the side opposite the gutter). It's implemented for convenience, although it's not used when margins are specified according to "Requirements for Japanese Text Layout".
+* `head_space=<dimension;zw,zh>`: The amount of space at the top (head). The default value centers the text block vertically.
+* `foot_space=<dimension;zw,zh>`: The amount of space at the bottom (foot). The default value centers the text block vertically.
+* `baselineskip=<dimension;Q,H,zw,zh>`: The line feed. By default, it's 1.7 times the `jafontsize`.
+* `linegap=<dimension;Q,H,zw,zh>`: The line gap.
+* `headfoot_sidemargin=<dimension;zw,zh>`: The left and right margin for headers and footers.
+* `column_gap=<dimension;zw,zh>`: The gap between columns (only for `twocolumn`).
+* `sidenote_length=<dimension;zw,zh>`: Specifies the width of the sidenote.
+
+###
+class option
+* `open_bracket_pos=[zenkaku_tentsuki/zenkakunibu_nibu/nibu_tentsuki]`: Specifies the positioning of opening brackets at the start of a line. Options are:
+ - `zenkaku_tentsuki`: Full-width characters are indented at the start of a paragraph.
+ - `zenkakunibu_nibu`: Full-width at the start of a paragraph, half-width at a line break.
+ - `nibu_tentsuki`: Half-width indentation at the start of a line.
+* `hanging_punctuation`: Enables hanging punctuation.
+
+### Reverse pagination
+class option.
+* `use_reverse_pagination`: Enables reverse pagination functionality. Defines a ‘read-only counter’ named `jlreqreversepage`. Commands like `\arabic` and `\value` can be applied to it, and `\thejlreqreversepage` is defined as `\arabic{jlreqreversepage}`.
+
+### Note related
+Specified by `\jlreqsetup`.
+
+* `reference_mark=[inline/interlinear]`: Specifies the placement of reference marks. Options are `inline` (in the line after the relevant item) or `interlinear` (above the line for horizontal writing, or to the right for vertical writing).
+* `footnote_second_indent=<dimension>`: Sets the indent for the second and subsequent lines of footnotes (horizontal writing) or sidenotes (vertical writing).
+* `sidenote_type=[number/symbol]`: Determines the correspondence between the sidenote and the text. Options are `number` (default, with a serial number indicating the note) or `symbol` (with a specific symbol and the word with the note emphasized).
+* `sidenote_symbol=<code>`: When `sidenote_type=symbol` is specified, this sets the symbol to be used at the note's location. THe default is *
+* `sidenote_keyword_font=<font setting code>`: Specifies the font for the word with the sidenote when `sidenote_type=symbol` is used.
+* `endnote_second_indent=<dimension>`: Sets the indent for the second and subsequent lines of endnotes.
+` endnote_position=[headings/paragraph/{_<heading name 1>,_<heading name 2>,...}]`: The output location of the endnote can be specified. `headings` will output the note before each heading (default), `paragraph` will output it when a new paragraph starts, and specifying `endnote_position={_chapter,_section}` will output it before `\chapter` and `\section`. To specify `<_heading name>`, the target heading must be created using the functionality of this class file.
+* `warichu_opening=<code>`, `warichu_closing=<code>`: These are inserted before and after the warichu (split annotation). The default is parentheses ().
+
+### Caption
+You can change the captions for figures and tables using `\jlreqsetup`. All settings allow for environment-specific customization. For example, `caption_font=\normalsize,table=\Large` means that within the table environment, `\Large` will be applied, while `\normalsize` will be applied in other environments. Other settings follow the same pattern.
+* `caption_font=<font setting code>`: Specifies the font for the caption itself.
+* `caption_label_font=<font setting code>`: Specifies the font for the caption label.
+* `caption_after_label_space=<dimension>`: Specifies the space between the label and the caption text.
+* `caption_label_format=<code>`: Specifies the format of the label. For example, `caption_label_format={#1:}` where `#1` is replaced with something like “Figure 1”.
+* `caption_align=[left/right/center/bottom/top]`: Specifies the position of the caption. For instance, `{center,*left}` means it’s usually centered, but aligned left when the caption is large.
+
+### Quotation
+* `quote_indent=<dimension>`: Specifies the indentation for quotes. The default is `2\zw`. The length of a line is adjusted to be an integer multiple of the character size.
+* `quote_end_indent=<dimension>`: Specifies the indentation for the end of quotes. The default is `0\zw`.
+* `quote_beforeafter_space=<dimension>`: Specifies the space before and after quotes. Setting `quote_beforeafter_space=1\baselineskip` will result in a one-line space.
+* `quote_fontsize=[normalsize/small/footnotesize/scriptsize/tiny]`: Specifies the font size for quotes.
+
+### Itemization
+* `itemization_beforeafter_space=<dimension>`: Specifies the space before and after the itemization. For example, `itemization_beforeafter_space={i=<dimension>}` sets the space for the top level only. `itemization_beforeafter_space={0pt,i=10pt,ii=5pt}` sets 10pt for level 1 itemization, 5pt for level 2, and 0pt for others. Levels are indicated by lowercase Roman numerals.
+* `itemization_itemsep=<dimension>`: Specifies the space between items.
+
+### Front matter etc.
+You can specify the behavior of `\frontmatter` / `\mainmatter` / `\backmatter` / `\appendix` with `\jlreqsetup`.
+
+* `frontmatter_pagebreak=[cleardoublepage/clearpage]`: Specifies the command name to execute the page break at `\frontmatter`. If it is empty, nothing is done.
+* `frontmatter_counter={<counter name>={value=<value>, the=<code>, restore=[true/false]},…}`: Specifies the operation of the counter at `\frontmatter`. For example, `chapter={value=0,the={[\arabic{chapter]}}` sets the value of the chapter counter to 0 and `\thechapter` to `[\arabic{chapter}]`. By default, the value and `\the<counter name>` definition are restored at `\mainmatter`, but this behavior is suppressed by specifying Prestore=false`.
+* `frontmatter_heading={<heading command name>={<setting>},…}`: Changes the behavior of the heading command. In addition to the items that can be specified by `\Delare***Heading`, the following are accepted.
+ - `heading_type=[Tobira/Block/Runin/Cutin/Modify]`: The type of heading1. If Modify is specified, it will be changed by `\ModifyHeading`.
+ - `heading_level=<number>`: Specifies the level of the heading command. If not specified, the value at `\frontmatter` is used. This is ignored when `heading_type=Modify`.
+ - `restore=[true/false]`: If true is specified, the original definition is restored at `\mainmatter`. The default is true.
+* `frontmatter_pagestyle={<page style name>[,restore=[true/false]]}`: Switches to the specified page style at `\frontmatter`. By default, it returns to the original page style at `\mainmatter`, but this can be prevented by specifying `restore=false`.
+* `frontmatter_pagination={<page number specification>[,continuous,independent]}`: Specifies the output format of the page number, such as `frontmatter_pagination=roman`, with the LaTeX command name. In addition, continuous makes it a continuous number, and independent makes it a separate number.
+* `frontmatter_precode=<code>`: The code that is executed first at `\frontmatter`.
+* `frontmatter_postcode=<code>`: The code that is executed last at `\frontmatter`.
+
+There are also settings that change `frontmatter` to `mainmatter`, `backmatter`, or `appendix`. However, there are some differences as follows.
+* `restore=[true/false]` is an invalid setting.
+* Pmainmatter_pagination` cannot specify continuous or independent.
+* `appendix_pagebreak`, `appendix_pagestyle`, `appendix_pagination` do not exist.
+
+#### Abstract
+* `abstract_with_maketitle=[true/false]`: If the abstract environment is written before `\maketitle`, it delays its content and outputs it with `\maketitle`. Even in the case of two columns, it is output in one column. The default is false. This option is available only when `article` and `report` are specified.
+
+## Headings
+You can create new headings with commands like `\New***Heading` ( is a string that corresponds to the type of heading). The format is always `\New***Heading{<command name>}{<level>}{<settings>}`. Also, `\Renew***Heading`, `\Provide***Heading`, and `\Declare***Heading` are available at the same time. They are respectively
+
+* `\Renew***Heading`: If the command with the specified name is not defined, it causes an error.
+* `\Provide***Heading`: If the command with the specified name is not defined, it defines a new heading command.
+* `\Declare***Heading`: It defines a new heading command regardless of whether the command with the specified name is defined or not.
+
+### Tobira headings
+You can create it with \NewTobiraHeading. It creates a command with the same format as the usual class file’s \section and so on. The settings are as follows.
+.
+* `type=[han/naka]`: It creates a half-title heading if `han` is specified, and a middle-title heading if `naka` is specified.
+* `pagestyle=<page style name>`: It specifies the page style of the heading area.
+* `label_format=<code>`: It specifies the command to output the label. For example, specify it as `label_format={Chapter \thechapter}`.
+* `format=<code>`: It specifies the format to actually output. `#1` is replaced with the label, `#2` with the heading text. In this case, the commands `\jlreqHeadingLabel` and `\jlreqHeadingText` are available internally. They are commands that take one argument each, and output the given argument itself if the label and heading text are not empty, respectively, and output nothing otherwise. For example, if you specify it as `format={[\jlreqHeadingLabel{Label=#1}]}`, it outputs `[Label=<label>]` if the label is not empty, and `[]` otherwise. Note that `#1` is replaced not with the label itself, but with the code that has the adjustment of the space and so on. Therefore, you may get an unexpected result. `#2` is the same.
+* `number=[true/false]`: It specifies whether to number or not. However, even if `number=false` is specified, the corresponding counter is defined. Also, the definition of `\the<counter name>` is not changed, so you need to redefine it if necessary.
+
+### Block headings
+You can create it with `\NewBlockHeading`. It creates a command with the format `\<command name>*[running head]{heading text}[subtitle]`. The settings are as follows.
+
+#### Format related
+* `font=<font setting code>`: It specifies the font of the heading.
+* `subtitle_font=<font setting code>`: It specifies the font of the subtitle.
+* `label_format=<code>`: It specifies the format of the label. Specify it as `label_format={Chapter \thechapter}`, for example.
+* `subtitle_format=<code>`: It specifies the format of the subtitle. Specify it as `subtitle_format={“#1”}`, for example. `#1` is replaced with the subtitle itself.
+* `format=<code>`: It specifies the format of the entire heading. `#1` is replaced with the label, `#2` with the heading text, `#3` with the subtitle. Internally, the commands `\jlreqHeadingLabel`, `\jlreqHeadingText`, and `\jlreqHeadingSubtitle` are available. They are commands that take one argument each, and output the given argument itself if the label, heading text, and subtitle are not empty, respectively, and output nothing otherwise. For example, if you specify it as `format={[\jlreqHeadingLabel{Label=#1}]}`, it outputs `[Label=<label>]` if the label is not empty, and `[]` otherwise. Note that `#1` is replaced not with the label itself, but with the code that has the adjustment of the space and so on. Therefore, you may get an unexpected result. `#2` and `#3` are the same.
+
+#### Indent related
+* `align=[left/center/right]`: It specifies the horizontal alignment of the heading position.
+* `indent=<dimension>`: It specifies the amount of indentation of the entire heading.
+* `end_indent=<dimension>`: It specifies the amount of back indentation of the entire heading.
+* `after_label_space=<dimension>`: It specifies the amount of space between the label and the heading text.
+* `second_heading_text_indent=[<dimension>/{<dimension>,<dimension>}]`: It specifies the indent of the second and subsequent lines of the heading text. It specifies from the beginning of the first line of the heading text, but if you put `*` at the beginning like `second_heading_text_indent=*1\zw`, it specifies from the beginning of the label. Also, if you specify it as `second_heading_text_indent={<when there is a label>,<when there is no label>}`, you can change the value depending on the presence or absence of the label. You can also use * in the specification of `<when there is a label>`.
+* `subtitle_indent=<dimension>`: It specifies the amount of indentation of the subtitle. It specifies from the beginning of the first line of the heading text. However, if you put `*` at the beginning like `subtitle_indent=*1\zw`, it specifies from the beginning of the label. It is valid only when `subtitle_break=true`.
+
+#### Others
+* `subtitle_break=[true/false]`: It specifies whether to break the line between the heading text and the subtitle.
+* `allowbreak_if_evenpage=[true/false]`: It allows a page break immediately after the heading if it is on an even page.
+* `pagebreak=[clearpage/cleardoublepage/clearcolumn/nariyuki/begin_with_odd_page/begin_with_even_page]`: It specifies the page break before the heading2. They are respectively, page break, `\cleardoublepage` execution, column break, as it is, start with odd page, start with even page.
+* `pagestyle=<page style name>`: It specifies the page style of the heading area.
+* `afterindent=[true/false]`: It specifies whether to indent the paragraph immediately after the heading.
+* `column_spanning=[true/false]`: It makes the heading span columns. It is ignored when `pagebreak=nariyuki` or `pagebreak=clearcolumn`.
+* `number=[true/false]`: It specifies whether to number or not. The same caution as `\NewTobiraHeading` is required.
+
+#### Gyo-dori
+You can specify gyo-dori setting in one of the following ways.
+
+* Specify the number of lines and place it in the center. Specify the number of lines with `lines=<natural number>`. You can also specify the number of lines to add before and after with `before_lines=<natural number>` and `after_lines=<natural number>`. For example, if you specify `lines=3,after_lines=1`, it will be placed in four lines, and the space after will be one line larger than the space before. The space specified by `before_lines` does not enter at the top of the page, but if you put `*` at the beginning like `before_lines=*1`, it always enters.
+* Specify the number of lines and either the space before or after. Specify the number of lines with `lines=<natural number>`, and the space before or after with either `before_space=<dimension>` or `after_space=<dimension>`.
+* Specify the space before and after. Specify it with `before_space=<dimension>` and `after_space=<dimension>`.
+
+
+### Gyo-dori for consecutive headings
+You can set the gyo-dori settings for block headings that are placed consecutively with `\SetBlockHeadingSpaces`. `\SetBlockHeadingSpaces` is used as follows:
+
+```latex
+\SetBlockHeadingSpaces { {_part{lines=3,before_lines=1},_section{lines=2},_subsection{lines=2}} [lines=5]{_section,23pt,_subsection,16pt} }
+```
+
+This means the following.
+
+* If the headings are placed in the order of `\part`, `\section`, `\subsection`, and the front and back are not headings, then `\part` is three-line spacing + one line space before, and `\section` and `\subsection` are two-line spacing.
+* If the headings are placed in the order of `\section`, `\subsection`, and the front and back are not headings, then the whole is five-line spacing, and there is `23pt` space between `\section` and `\subsection`, and `16pt` space after `\subsection`.
+
+The individual settings are as follows.
+
+* Each `{}` contains `_<heading command name>` or `<dimension>` separated by commas.
+* You can add settings enclosed in `[]` at the beginning. This is a setting for the entire heading that is placed consecutively. `lines / before_lines / after_lines / before_space / after_space` are available. Each meaning is the same as the line spacing specification described above.
+* The dimension is the amount of space as it is.
+* You can add settings enclosed in `{}` after `_<heading command name>` to set the amount of space for that heading. If not set, there is no space before and after.
+* In the settings enclosed in `{}` for the heading, `lines / before_lines / after_lines / before_space / after_space` are available. Each meaning is the same as the line spacing specification described above.
+* If you make the part enclosed in `{}` only `*`, (for example, `_section{*}`), it uses the same setting as when it is placed alone.
+
+Note that whether the headings are consecutive or not is determined simply by whether the block heading commands are written in succession. Therefore, even if there are commands that are not related to the output between the heading commands, they are not considered to be consecutive headings. However, if only spaces, line breaks, or `\label[<option>]{<argument>}…{<argument>}` are inserted between the heading commands, they are considered to be consecutive headings.
+
+### Run-in headings
+
+Run-in headings are created with `\NewRuninHeading`. The command creates a heading with the same format as the standard document class's `\section`, i.e. `\<command name>*[running head]{heading text}`. The settings are as follows:
+
+* `font=<font setting command>`: Specifies the font of the heading.
+* `indent=<dimension>`: Specifies the indentation of the entire heading text.
+* `after_label_space=<dimension>`: Specifies the space between the label and the heading text.
+* `label_format=<code>`: Specifies the format of the label. For example, `label_format={\theparagraph}`.
+* `after_space=<dimension>`: Specifies the space between the heading and the main text.
+* `number=[true/false]`: Specifies whether to number the heading or not. The same caution as `\NewTobiraHeading` applies.
+
+### Cut-in headings
+You can create cut-in headings with `\NewCutinHeading`. The command has the format `\<command name>{heading text}`. The settings are as follows:
+* `font=<font setting command>`: Specifies the font of the heading.
+* `indent=<dimension>`: Specifies the indentation of the entire heading.
+* `after_space=<dimension>`: Specifies the space between the heading and the text.
+* `onelinemax=<dimension>`, `twolinemax=<dimension>`: If the length of the heading text is less than or equal to `onelinemax`, the window heading is output in one line. If it is less than or equal to `twolinemax`, it is output in two lines. Otherwise, it is output in three lines. The default values are 6 characters and 20 characters, respectively.
+
+### `\ModifyHeading`
+`\ModifyHeading` is a command that changes the settings of a heading command that has already been defined (using one of the above commands). For example,
+
+```latex
+\ModifyHeading{section}{lines=10}
+```
+
+changes only the line spacing of `\section` to 10 lines, while keeping the font and other settings the same. You cannot change the type of heading with this command.
+
+### `\SaveHeading`
+
+`\SaveHeading` saves the definition of a heading command. For example, you can use it like this:
+
+```latex
+\SaveHeading{section}{\restoresection} % Save the contents of \section to \restoresection.
+\RenewBlockHeading{section}{1}{font=…} % Redefine \section with a new font.
+…
+\restoresection % Restore the contents of \section.
+```
+
+## Page Style
+You can define a page style using
+```latex
+\NewPageStyle{<page style name>}{<settings>}
+```
+
+`<settings>` is in keyval format. You can apply the defined page style with `\pagestyle`. The settings are as follows:
+
+* `yoko`: Prints horizontally at the top and bottom. Default.
+* `tate`: Prints vertically on the fore-edge side.
+* `running_head_font=<font setting command>`: Specifies the font for the running head.
+* `nombre_font=<font setting command>`: Specifies the font for the page number.
+* `running_head_position`, `nombre_position`: Specifies the position of the running head and the page number. The specification method changes depending on whether `yoko` or `tate` is specified.
+ - `yoko` specified: You can specify it like top-left. You can use `top / bottom / center / left / right / gutter / fore-edge`. `left` and `right` are for odd pages. If `twoside` is specified, even pages are the opposite.
+ - `tate` specified: You can specify `<dimension>`. `running_head_position` specifies the drop amount from the top of the running head, and `nombre_position` specifies the raise amount from the bottom of the page number.
+* `nombre=<format>`: Specifies the page number to output. The default is `\thepage`.
+* `odd_running_head=<format>`, `even_running_head=<format>`: Specifies the running head for odd and even pages, respectively. If you specify a name starting with _ like `_section`, it outputs the corresponding heading. (`_section` outputs the current `\section`.)
+* `mark_format={[odd=<format>/even=<format>/_<heading command name>=<format>],…}`: Specifies the format for outputting headings to the running head. Specify it like `mark_format={_section={Section \thesection: #1},_chapter={Chapter \thechapter \quad #1}}`. You can also specify odd or even instead of the heading command name, which will be the format for the running head on odd/even pages. It is implemented by defining `\sectionmark` etc. when executing `\pagestyle`.
+* `nombre_ii=<format>`: Specifies the second page number. You can also specify the location with `nombre_ii_position` and the font with `nombre_ii_font`. The specification method is the same as `nombre` and `nombre_position`.
+* `odd_running_head_ii`, `even_running_head_ii`, `running_head_ii_position`, `running_head_ii_font` are also available. If `nombre_ii_position` or `running_head_ii_position` is not specified, it will be set to the same position as `nombre_position` or `running_head_position` when `yoko` is specified. When `tate` is specified, it will be displayed in the place following the first page number or running head.
+* `odd_head_format=<format>`, `odd_foot_format=<format>`, `even_head_format=<format>`, `even_foot_format=<format>P: Specifies the format for the header and footer. `#1` will be replaced with the entire header or footer. However, `#1` may contain code for position adjustment, so it may not work as expected, especially when `tate` is specified in `\NewPageStyle`. For example, to draw a rule under the header on odd pages, you can do `odd_head_format={\underline{\makebox[\jlreqyokoheadlength]{#1}}}`. `\jlreqyokoheadlength` is a macro defined in this class file and gives the horizontal length of the header. (The footer length is the same.) The vertical length, i.e., the length when `tate` is specified in `\NewPageStyle`, can be obtained with `\jlreqtateheadlength`.
+
+`\RenewPageStyle`, `\ProvidePageStyle`, `\DeclarePageStyle` are also available1.
+
+You can modify an existing page style with `\ModifyPageStyle`.
+
+## JFM
+We use the following custom JFMs. Some packages may reset the settings to use their own JFMs or the standard JFMs. In that case, you need to set the appropriate package options to use the JFMs of this class file.
+
+### For pLaTeX/upLaTeX
+
+The names of the JFMs are as follows. The characters enclosed in `[]` may or may not be included depending on the settings.
+
+```
+[u][b][z]jlreq[g][-v]
+```
+
+Each character is included in the following cases.
+
+* `u`: When using upLaTeX
+* `b`: When using hanging punctuation. (When the class option hanging_punctuation is specified.)
+* `z`: When the space before the opening brackets at the beginning of a line is two-bun for the beginning of a paragraph and one-bun for the line break. (When the class option `open_bracket_pos=zenkakunibu_nibu` is specified.)
+* `g`: For gothic fonts.
+* `-v`: For vertical writing.
+
+For example, if you process a source without using hanging punctuation and specifying `open_bracket_pos=zenkakunibu_nibu` as a class option with pLaTeX, the JFM named zjlreq will be used for horizontal writing mincho font.
+
+For LuaLaTeX
+
+* The JFM for horizontal writing is jlreq
+* The JFM for vertical writing is jlreqv
+
+The same JFM is used for gothic fonts. This class file changes the JFM of LuaTeX-ja standard to these.
+
+## Others
+
+If the class option `jlreq_notes` is passed, a notification will be given when a setting that contradicts the description of Japanese typesetting processing is made.
+## jlreq-complements
+`jlreq-complements` is a package that customizes the environments that are typically provided by LaTeX document classes. You can use it as follows. It accepts the following options:
+
+* `platex`, `uplatex`, `lulalatex`: Specify the engine.
+* `setupname=<name>`: Specify the name of the command for customization. The default is `jlreqcomplementssetup`, and you can set it by writing `\jlreqcomplementssetup{<settings>}` in the preamble.
+
+
+In `jlreq`, it is loaded as `\usepackage[<engine recognized in jlreq>,setupname=jlreqsetup]{jlreq-complements}`, so you can customize the environments with the usual `\jlreqsetup`. To make this work well with an existing name, the original command and the new one need to be compatible. It is usually better to avoid this.
+
+### `thebibliography` environment
+
+* `thebibliography_heading=<code>`: Specify the command to output the heading of the `thebibliography` environment. Use it like `thebibliography_heading={\section*{\refname}}`.
+* `thebibliography_after_label_space=<dimension>`: Specify the space after the label of each item in the `thebibliography` environment.
+* `thebibliography_indent=<dimension>`: Specify the indentation of the entire `thebibliography` environment.
+* `thebibliography_mark=<code>`: Specify the code to register the heading of the `thebibliography` environment in the column.
+* `thebibliography_precode=<code>`, `thebibliography_postcode=<code>`: Specify the code that is executed before and after the `thebibliography` environment, respectively.
+
+### `theindex` environment
+* `theindex_heading=<code>`: Specify the command to output the heading of the `theindex` environment.
+* `theindex_mark=<code>`: Specify the code to register the heading of the `theindex` environment in the column.
+* `theindex_twocolumn=[true/false]`: Specify whether to output the `theindex` environment in two columns.
+* `theindex_column_gap=<dimension>`: Specify the column gap in the `theindex` environment when `theindex_twocolumn=true`.
+* `theindex_column_rule_width=<dimension>`: Specify the value of `\columnseprule` in the `theindex` environment when `theindex_twocolumn=true`.
+* `theindex_pagestyle=<page style name>`: Specify the page style for the `theindex` environment.
+* `theindex_postcode=<code>`, `theindex_precode=<code>`: Specify the code that is executed before and after the `theindex` environment, respectively.
+
+### Theorem environment
+* ` theorem_beforeafter_space=<dimension>`: Specify the space before and after the theorem environment.
+* `theorem_label_font=<font setting code>`: Specify the font for the label part of the theorem environment.
+* `theorem_font=<font setting code>`: Specify the font for the body of the theorem environment.
+* `theorem_indent=<dimension>`: Specify the indentation of the body of the theorem environment.
+* `proof_label_font=<font setting code>`: This setting is only valid when the `amsthm` package is loaded. Specify the font for the label of the `proof` environment.
+
+When the `amsthm` package is loaded, a new theorem style `jlreq` is defined and the current style is changed to `jlreq`. In this case, the above settings function as settings for this `jlreq` style.
## LICENSE
This package is distributed under the BSD 2-Clause License. See [LICENSE](LICENSE).
@@ -197,6 +573,13 @@ This package is distributed under the BSD 2-Clause License. See [LICENSE](LICENS
- Some other improvements etc.
* 2024-02-16
- Fixed a bug.
+* 2024-08-23
+ - Fixed bugs.
+ - Changed the name of some internal variables.
+ - Added the usage of this class to English document.
+ - Use `\DeclareKeys` etc.
+ - Changed the internal processing of block headings a little.
+
--------------
Noriyuki Abe
https://github.com/abenori/jlreq
diff --git a/macros/jptex/latex/jlreq/jlreq-complements.sty b/macros/jptex/latex/jlreq/jlreq-complements.sty
index 80ab620650..1dc817a197 100644
--- a/macros/jptex/latex/jlreq/jlreq-complements.sty
+++ b/macros/jptex/latex/jlreq/jlreq-complements.sty
@@ -1,7 +1,6 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{jlreq-complements}[2022/11/28 jlreq-complements]
-\RequirePackage{jlreq-helpers}[2022/11/28]
-\RequirePackage{l3keys2e}
+\ProvidesPackage{jlreq-complements}[2024/08/23 jlreq-complements]
+\RequirePackage{jlreq-helpers}[2024/02/13]
\ExplSyntaxOn
@@ -9,7 +8,7 @@
\str_new:N \g__jlreq_complements_engine_str
\tl_new:N \g__jlreq_complements_finally
-\keys_define:nn { jlreq-complements } {
+\DeclareKeys [jlreq-complements] {
setupname .code:n = {
\str_set:Nn \g__jlreq_complements_setupname_str {#1}
},
@@ -20,8 +19,8 @@
lualatex .code:n = { \str_set:Nn \g__jlreq_complements_engine_str { lualatex } },
lualatex .value_forbidden:n = true,
}
-\keys_set:nn { jlreq-complements } { setupname = jlreqcomplementssetup }
-\ProcessKeysOptions { jlreq-complements }
+\SetKeys [jlreq-complements] { setupname = jlreqcomplementssetup }
+\ProcessKeyOptions [jlreq-complements]
\str_if_empty:NT \g__jlreq_complements_engine_str {
\jlreq@helper@guessengine
@@ -37,7 +36,8 @@
\str_if_eq:VnTF \g__jlreq_complements_engine_str { lualatex } {
\prg_new_conditional:Nnn \__jlreq_complements_iftdir: { T, F, TF} {
- \int_compare_p:n { (\ltjgetparameter{direction}-(\ltjgetparameter{direction}/8)*8) == 3 }
+ \int_compare:nTF { (\ltjgetparameter{direction}-(\ltjgetparameter{direction}/8)*8) == 3 }
+ { \prg_return_true: } { \prg_return_false: }
}
}{
\prg_new_conditional:Nnn \__jlreq_complements_iftdir: { T, F, TF} { \iftdir \prg_return_true: \else \prg_return_false: \fi }
diff --git a/macros/jptex/latex/jlreq/jlreq-ja.pdf b/macros/jptex/latex/jlreq/jlreq-ja.pdf
index 991e8350bd..ed4fb07f5d 100644
--- a/macros/jptex/latex/jlreq/jlreq-ja.pdf
+++ b/macros/jptex/latex/jlreq/jlreq-ja.pdf
Binary files differ
diff --git a/macros/jptex/latex/jlreq/jlreq-trimmarks-ja.md b/macros/jptex/latex/jlreq/jlreq-trimmarks-ja.md
index 683ba23928..f76e369f55 100644
--- a/macros/jptex/latex/jlreq/jlreq-trimmarks-ja.md
+++ b/macros/jptex/latex/jlreq/jlreq-trimmarks-ja.md
@@ -191,6 +191,8 @@ dviドライバの指定です.エンジンに`lualatex`を利用する場合
- 縦書きで読み込み時にエラーが出るバグ修正.
* 2024-02-13
- ドキュメントの間違いを修正.
+* 2024-08-23
+ - `\DeclareKeys`などを使うようにした.
--------------
Noriyuki Abe
diff --git a/macros/jptex/latex/jlreq/jlreq-trimmarks.md b/macros/jptex/latex/jlreq/jlreq-trimmarks.md
index 724969599b..c116121a7c 100644
--- a/macros/jptex/latex/jlreq/jlreq-trimmarks.md
+++ b/macros/jptex/latex/jlreq/jlreq-trimmarks.md
@@ -183,8 +183,10 @@ This package is distributed under the BSD 2-Clause License. See [LICENSE](LICENS
- Added `trimmarks_pattern` to `\jlreqtrimmarkssetup`.
* 2023-06-19
- Fixed a bug: an error occurred when the package is loaded with tate mode.
-* 2023-02-13
+* 2024-02-13
- Fixed a bug in a document.
+* 2024-08-23
+ - Use `\DeclareKeys` etc.
--------------
Noriyuki Abe
diff --git a/macros/jptex/latex/jlreq/jlreq-trimmarks.sty b/macros/jptex/latex/jlreq/jlreq-trimmarks.sty
index ec65cabae9..1cded80d8c 100644
--- a/macros/jptex/latex/jlreq/jlreq-trimmarks.sty
+++ b/macros/jptex/latex/jlreq/jlreq-trimmarks.sty
@@ -1,6 +1,5 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{jlreq-trimmarks}[2024/02/13 jlreq-trimmarks]
-\RequirePackage{l3keys2e}
+\ProvidesPackage{jlreq-trimmarks}[2024/08/23 jlreq-trimmarks]
\RequirePackage{jlreq-helpers}[2024/02/13]
\ExplSyntaxOn
@@ -42,13 +41,13 @@
}
% dvipdfmx=f,dvips=s,dviout = o, lualatex = l
-\keys_define:nn { jlreq-trimmarks } {
+\DeclareKeys [jlreq-trimmarks] {
dvipdfmx .code:n = {\let\jlreq@trimmarks@driver=f}, .value_forbidden:n = true,
dvips .code:n = {\let\jlreq@trimmarks@driver=s}, .value_forbidden:n = true,
dviout .code:n = {\let\jlreq@trimmarks@driver=o}, .value_forbidden:n = true
}
\let\jlreq@trimmarks@engine=\jlreq@engine
-\keys_define:nn { jlreq-trimmarks } {
+\DeclareKeys [jlreq-trimmarks] {
lualatex .code:n = {\let\jlreq@trimmarks@engine=l}, .value_forbidden:n = true,
uplatex .code:n = {\let\jlreq@trimmarks@engine=u}, .value_forbidden:n = true,
platex .code:n = {\let\jlreq@trimmarks@engine=p}, .value_forbidden:n = true
@@ -156,7 +155,7 @@
}
\__jlreq_trimmarks_afterpkg_addtodeletecs:N \jlreq@trimmarks@analyzepapersize
-\keys_define:nn { jlreq-trimmarks } { trimmarks_paper .tl_set:N = \jlreq@trimmarks@option@papersize }
+\DeclareKeys [jlreq-trimmarks] { trimmarks_paper .tl_set:N = \jlreq@trimmarks@option@papersize }
\__jlreq_trimmarks_afterpkg_addtodeletecs:N \jlreq@trimmarks@option@papersize
\newif\ifjlreq@trimmarks@digital \jlreq@trimmarks@digitaltrue
@@ -166,7 +165,7 @@
% flag: `show` is specified or not
\newif\ifjlreq@trimmarks@option@show \jlreq@trimmarks@option@showfalse
-\keys_define:nn { jlreq-trimmarks } {
+\DeclareKeys [jlreq-trimmarks] {
show .code:n = {
\jlreq@trimmarks@option@showtrue
\jlreq@ifempty{#1}{
@@ -214,14 +213,14 @@
}
\newif\ifjlreq@trimmarks@landscape \jlreq@trimmarks@landscapefalse
-\keys_define:nn { jlreq-trimmarks } { landscape .code:n = {\jlreq@trimmarks@landscapetrue}, .value_forbidden:n = true }
+\DeclareKeys [jlreq-trimmarks] { landscape .code:n = {\jlreq@trimmarks@landscapetrue}, .value_forbidden:n = true }
\__jlreq_trimmarks_afterpkg_addtodeleteif:N \ifjlreq@trimmarks@landscape
-\keys_set:nn { jlreq-trimmarks } {
+\SetKeys [jlreq-trimmarks] {
trimmarks_paper = {+2in},
bleed_margin = { top = 3mm, bottom = 3mm, gutter = 3mm, fore-edge = 3mm },
}
-\ProcessKeysOptions { jlreq-trimmarks }
+\ProcessKeyOptions [jlreq-trimmarks]
\ifjlreq@trimmarks@option@show\else
\ifx o\jlreq@trimmarks@driver
diff --git a/macros/jptex/latex/jlreq/jlreq.cls b/macros/jptex/latex/jlreq/jlreq.cls
index b8e5c3dbcb..8f14372b38 100644
--- a/macros/jptex/latex/jlreq/jlreq.cls
+++ b/macros/jptex/latex/jlreq/jlreq.cls
@@ -5,28 +5,39 @@
%%
% (based on JLReq 20200811 https://www.w3.org/TR/2020/NOTE-jlreq-20200811/)
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{jlreq}[2024/02/16 jlreq]
-\RequirePackage{l3keys2e}
+\ProvidesClass{jlreq}[2024/08/23 jlreq]
\RequirePackage{etoolbox}
\RequirePackage{jlreq-helpers}[2024/02/13]
\ExplSyntaxOn
+\cs_new:Nn \l_jlreq_do: {}
\int_new:N \l__jlreq_tmpa_int
+\int_new:N \l__jlreq_tmpb_int
+\int_new:N \l__jlreq_tmpc_int
\tl_new:N \l__jlreq_tmpa_tl
\tl_new:N \l__jlreq_tmpb_tl
\tl_new:N \l__jlreq_tmpc_tl
-\cs_new:Nn \l_jlreq_do: {}
\str_new:N \l__jlreq_tmpa_str
\str_new:N \l__jlreq_tmpb_str
\str_new:N \l__jlreq_tmpc_str
-\bool_new:N \l_jlreq_tmpa_bool
-\clist_new:N \l_jlreq_tmpa_clist
+\bool_new:N \l__jlreq_tmpa_bool
+\bool_new:N \l__jlreq_tmpb_bool
+\bool_new:N \l__jlreq_tmpc_bool
+\clist_new:N \l__jlreq_tmpa_clist
+\clist_new:N \l__jlreq_tmpb_clist
+\clist_new:N \l__jlreq_tmpc_clist
\seq_new:N \l__jlreq_tmpa_seq
+\seq_new:N \l__jlreq_tmpb_seq
+\seq_new:N \l__jlreq_tmpc_seq
\dim_new:N \l__jlreq_tmpa_dim
-\skip_new:N \l_jlreq_tmpa_skip
-\box_new:N \l_jlreq_tmpa_box
-\box_new:N \l_jlreq_tmpb_box
-\box_new:N \l_jlreq_tmpc_box
+\dim_new:N \l__jlreq_tmpb_dim
+\dim_new:N \l__jlreq_tmpc_dim
+\skip_new:N \l__jlreq_tmpa_skip
+\skip_new:N \l__jlreq_tmpb_skip
+\skip_new:N \l__jlreq_tmpc_skip
+\box_new:N \l__jlreq_tmpa_box
+\box_new:N \l__jlreq_tmpb_box
+\box_new:N \l__jlreq_tmpc_box
\prop_new:N \l__jlreq_tmpa_prop
\prop_new:N \l__jlreq_tmpb_prop
\prop_new:N \l__jlreq_tmpc_prop
@@ -91,7 +102,8 @@
% ものは\jlreq@option@<key>に格納する.
% _とかは@に変換する.
% エンジン類
-\keys_define:nn { jlreq } {
+\DeclareKeys [jlreq] {
+ name.usage = load,
uplatex .code:n = { \let\jlreq@engine=u }, uplatex .value_forbidden:n = true,
platex .code:n = { \let\jlreq@engine=p }, platex .value_forbidden:n = true,
lualatex .code:n = { \let\jlreq@engine=l }, lualatex .value_forbidden:n = true,
@@ -115,13 +127,13 @@
\tl_gput_right:Nn \g__jlreq_papersizelist_tl { { ##1 } { \setlength{\paperwidth}{#3} \setlength{\paperheight}{#4} } }
}
\clist_map_inline:nn {#2} {
- \keys_define:nn { jlreq } {
+ \DeclareKeys [jlreq] {
##1 .code:n = { \setlength{\paperwidth}{#3} \setlength{\paperheight}{#4} },
##1 .value_forbidden:n = true
}
}
}
-\keys_define:nn { jlreq } {
+\DeclareKeys [jlreq] {
paper .code:n = {
\str_case:nVF {#1} \g__jlreq_papersizelist_tl {
\jlreq@helper@dividebycomma{#1}%
@@ -153,7 +165,7 @@
}
\clist_map_inline:nn {#2} {
\cs_set:Nx \l__jlreq_do: {
- \exp_not:N \keys_define:nn { jlreq } {
+ \exp_not:N \DeclareKeys [jlreq] {
##1 .code:n = {
\exp_not:o { \l__jlreq_tmpa:n {##1} }
\exp_not:n { \setlength{\paperwidth}{#3} \setlength{\paperheight}{#4} }
@@ -276,7 +288,7 @@
%.. フォントサイズ,行長,1ページあたりの行数で基本版面のサイズを決める(2.4.1.a)
\__jlreq_aftercls_addtodeletecs:N \jlreq@option@fontsize
-\keys_define:nn { jlreq } {
+\DeclareKeys [jlreq] {
fontsize .tl_set:N = \jlreq@option@fontsize,
10pt .code:n = {\def\jlreq@option@fontsize{10pt}}, 10pt .value_forbidden:n = true,
11pt .code:n = {\def\jlreq@option@fontsize{11pt}}, 11pt .value_forbidden:n = true,
@@ -287,69 +299,68 @@
\__jlreq_aftercls_addtodeletecs:N \jlreq@option@jafontsize
\__jlreq_aftercls_addtodeletecs:N \jlreq@option@jafontscale
%.. 行の長さ
-\keys_define:nn { jlreq } { line_length .tl_set:N = \jlreq@option@line@length }
+\DeclareKeys [jlreq] { line_length .tl_set:N = \jlreq@option@line@length }
\__jlreq_aftercls_addtodeletecs:N \jlreq@option@line@length
%.. 1ページあたりの行数
-\keys_define:nn { jlreq } { number_of_lines .tl_set:N = \jlreq@option@number@of@lines }
+\DeclareKeys [jlreq] { number_of_lines .tl_set:N = \jlreq@option@number@of@lines }
\__jlreq_aftercls_addtodeletecs:N \jlreq@option@number@of@lines
% 地の空き量,のどの空き量で配置位置を決める(2.4.1.b)省略されたら中央配置.
%.. 天
-\keys_define:nn { jlreq } { head_space .tl_set:N = \jlreq@option@head@space }
+\DeclareKeys [jlreq] { head_space .tl_set:N = \jlreq@option@head@space }
\__jlreq_aftercls_addtodeletecs:N \jlreq@option@head@space
%.. 地
-\keys_define:nn { jlreq } { foot_space .tl_set:N = \jlreq@option@foot@space }
+\DeclareKeys [jlreq] { foot_space .tl_set:N = \jlreq@option@foot@space }
\__jlreq_aftercls_addtodeletecs:N \jlreq@option@foot@space
%.. のど
-\keys_define:nn { jlreq } { gutter .tl_set:N = \jlreq@option@gutter }
+\DeclareKeys [jlreq] { gutter .tl_set:N = \jlreq@option@gutter }
\__jlreq_aftercls_addtodeletecs:N \jlreq@option@gutter
%.. 小口
\__jlreq_aftercls_addtodeletecs:N \jlreq@option@fore@edge
-\keys_define:nn { jlreq } {
+\DeclareKeys [jlreq] {
fore_edge .tl_set:N = \jlreq@option@fore@edge,
fore-edge .tl_set:N = \jlreq@option@fore@edge
}
%.. 柱とノンブル
% 本文とヘッダ/フッタの間の空き
-\keys_define:nn { jlreq } { headfoot_verticalposition .tl_set:N = \jlreq@option@headfoot@verticalpos }
+\DeclareKeys [jlreq] { headfoot_verticalposition .tl_set:N = \jlreq@option@headfoot@verticalpos }
\__jlreq_aftercls_addtodeletecs:N \jlreq@option@headfoot@verticalpos
% 柱やノンブルの左右の空き
-\keys_define:nn { jlreq } { headfoot_sidemargin .tl_set:N = \jlreq@headfoot@sidemargin }
+\DeclareKeys [jlreq] { headfoot_sidemargin .tl_set:N = \jlreq@headfoot@sidemargin }
%.. 段間
-\keys_define:nn { jlreq } { column_gap .tl_set:N = \jlreq@option@column@gap }
+\DeclareKeys [jlreq] { column_gap .tl_set:N = \jlreq@option@column@gap }
\__jlreq_aftercls_addtodeletecs:N \jlreq@option@column@gap
%.. 行送り,指定無しの場合は文字サイズの1.7倍とする.(1.5から2倍が好ましい:2.4.2.d 注3)
-\keys_define:nn { jlreq } {
- baselineskip .tl_set:N = \jlreq@option@baselineskip,
- linegap .code:n = { \def\jlreq@option@baselineskip{1zw + #1} }
+\DeclareKeys [jlreq] {
+ baselineskip .tl_set:N = \jlreqbaselineskip,
+ linegap .code:n = { \def\jlreqbaselineskip{1zw + #1} }
}
-\__jlreq_aftercls_addtodeletecs:N \jlreq@option@baselineskip
%.. 組み方系
% 行頭に括弧が来たときの配置:3.1.5
% 段落頭指定_折り返し行頭指定 で与える.
-\keys_define:nn { jlreq } { open_bracket_pos .choices:nn = {zenkaku_tentsuki,zenkakunibu_nibu,nibu_tentsuki}{\def\jlreq@open@bracket@pos{#1}} }
+\DeclareKeys [jlreq] { open_bracket_pos .choices:nn = {zenkaku_tentsuki,zenkakunibu_nibu,nibu_tentsuki}{\def\jlreq@open@bracket@pos{#1}} }
% ぶら下げ組みをするか:3.8.2 注1
\newif\ifjlreq@burasage\jlreq@burasagefalse
-\keys_define:nn { jlreq } { hanging_punctuation .code:n = {\jlreq@burasagetrue}, hanging_punctuation .value_forbidden:n = true}
+\DeclareKeys [jlreq] { hanging_punctuation .code:n = {\jlreq@burasagetrue}, hanging_punctuation .value_forbidden:n = true}
% jsarticleと同じkanjiskipを使う
\newif\ifjlreq@narrow@kanjiskip\jlreq@narrow@kanjiskipfalse
-\keys_define:nn { jlreq } { narrow_kanjiskip .code:n = {\jlreq@narrow@kanjiskiptrue}, narrow_kanjiskip .value_forbidden:n = true}
+\DeclareKeys [jlreq] { narrow_kanjiskip .code:n = {\jlreq@narrow@kanjiskiptrue}, narrow_kanjiskip .value_forbidden:n = true}
\__jlreq_aftercls_addtodeleteif:N \ifjlreq@narrow@kanjiskip
%.. 注
% 傍注のタイプ
-\keys_define:nn { jlreq } { sidenote_length .tl_set:N = \jlreq@option@sidenote@length }
+\DeclareKeys [jlreq] { sidenote_length .tl_set:N = \jlreq@option@sidenote@length }
\__jlreq_aftercls_addtodeletecs:N \jlreq@option@sidenote@length
%.. 逆ノンブル
\newif\ifjlreq@option@use@reverse@pagination
\__jlreq_aftercls_addtodeleteif:N \ifjlreq@option@use@reverse@pagination
\jlreq@option@use@reverse@paginationfalse
-\keys_define:nn { jlreq } { use_reverse_pagination .code:n = {\jlreq@option@use@reverse@paginationtrue}, use_reverse_pagination .value_forbidden:n = true }
+\DeclareKeys [jlreq] { use_reverse_pagination .code:n = {\jlreq@option@use@reverse@paginationtrue}, use_reverse_pagination .value_forbidden:n = true }
%.. もろもろ
\newif\if@restonecol\@restonecolfalse
@@ -358,7 +369,7 @@
\newif\if@tate \@tatefalse
\newif\ifjlreq@option@titlepage \jlreq@option@titlepagefalse % titlepageかnotitlepageかが指定された
\__jlreq_aftercls_addtodeleteif:N \ifjlreq@option@titlepage
-\keys_define:nn { jlreq } {
+\DeclareKeys [jlreq] {
landscape .code:n = {\@landscapetrue}, landscape .value_forbidden:n = true,
tombo .code:n = {\ClassWarningNoLine{jlreq}{The~option~`tombo'~is~not~supported~by~jlreq~class.~Please~use~the~jlreq-trimmarks~package}},
tombow .code:n = {\ClassWarningNoLine{jlreq}{The~option~`tombow'~is~not~supported~by~jlreq~class.~Please~use~the~jlreq-trimmarks~package}},
@@ -368,7 +379,7 @@
\newif\ifjlreq@option@twoside\jlreq@option@twosidefalse % onesideかtwosideが指定された
\__jlreq_aftercls_addtodeleteif:N \ifjlreq@option@twoside
-\keys_define:nn { jlreq } {
+\DeclareKeys [jlreq] {
oneside .code:n = { \@twosidefalse\@mparswitchfalse\jlreq@option@twosidetrue }, oneside .value_forbidden:n = true,
twoside .code:n = { \@twosidetrue\@mparswitchtrue\jlreq@option@twosidetrue }, twoside .value_forbidden:n = true,
onecolumn .code:n = { \@twocolumnfalse }, onecolumn .value_forbidden:n = true,
@@ -381,7 +392,7 @@
\newif\if@openright
\newif\ifjlreq@option@open \jlreq@option@openfalse % openrightかopenanyが指定された
\__jlreq_aftercls_addtodeleteif:N \ifjlreq@option@open
-\keys_define:nn { jlreq } {
+\DeclareKeys [jlreq] {
openright .code:n = { \@openrighttrue\jlreq@option@opentrue }, openright .value_forbidden:n = true,
openany .code:n = { \@openrightfalse\jlreq@option@opentrue }, openany .value_forbidden:n = true,
leqno .code:n = { \input{leqno.clo } }, leqno .value_forbidden:n = true,
@@ -389,12 +400,12 @@
}
\newif\ifjlreq@option@enablejfam \jlreq@option@enablejfamtrue
\__jlreq_aftercls_addtodeleteif:N \ifjlreq@option@enablejfam
-\keys_define:nn { jlreq } { disablejfam .code:n = { \jlreq@option@enablejfamfalse }, disablejfam .value_forbidden:n = true}
+\DeclareKeys [jlreq] { disablejfam .code:n = { \jlreq@option@enablejfamfalse }, disablejfam .value_forbidden:n = true}
\def\jlreq@note#1{}
-\keys_define:nn { jlreq } { jlreq_notes .code:n = { \def\jlreq@note##1{\message{^^JJLReq note: ##1^^J}}}, jlreq_notes .value_forbidden:n = true}
+\DeclareKeys [jlreq] { jlreq_notes .code:n = { \def\jlreq@note##1{\message{^^JJLReq note: ##1^^J}}}, jlreq_notes .value_forbidden:n = true}
-\keys_set:nn { jlreq } {
+\SetKeys [jlreq] {
article_type=article,paper=a4,
number_of_lines={},line_length = {},
head_space={},foot_space={},gutter={},fore_edge={},
@@ -402,8 +413,9 @@
sidenote_length=0pt,column_gap={2zw},
headfoot_verticalposition = {},headfoot_sidemargin={0pt},
open_bracket_pos=zenkaku_tentsuki,
- onecolumn,final }
-\ProcessKeysOptions { jlreq }
+ onecolumn,final
+}
+\ProcessKeyOptions [jlreq]
\legacy_if:nF { jlreq@option@titlepage } {
\str_if_eq:VnTF \jlreq@article@type { article } { \@titlepagefalse } { \@titlepagetrue }
@@ -1189,23 +1201,22 @@
% \baselineskipの計算
% いったん文字サイズを変更((u)platexの際にzh/zwをきちんとするため)
\@setfontsize\normalsize{\jlreq@fontsize}{\jlreq@fontsize}%
-\newdimen\jlreq@baselineskip
+% 現在の\baselineskipを計算し#1に入れる
\ifx l\jlreq@engine
- \setlength{\jlreq@baselineskip}{%
- \dimexpr\directlua{
+ \edef\jlreqbaselineskip{
+ \directlua{
local~act = string.char(92)~
- local~s = [[\jlreq@option@baselineskip]]~
+ local~s = [[\jlreqbaselineskip]]~
s = s:gsub("[QH]",act .. "dimexpr 0.25mm" .. act .. "relax"):gsub("zh",act .. "zh"):gsub("zw",act .. "zw")~
- tex.print(s)~
- }\relax
- }%
-\else
- \setlength{\jlreq@baselineskip}{\dimexpr\jlreq@option@baselineskip\relax}
+ tex.print(act .. "unexpanded{" .. s .. "}")~
+ }
+ }
\fi
-\ifdim\jlreq@fontsize>\jlreq@baselineskip
+\dim_set:Nn \l__jlreq_tmpa_dim {\jlreqbaselineskip}
+\ifdim\jlreq@fontsize>\l__jlreq_tmpa_dim
\ClassError{jlreq}{The~baselineskip~is~less~than~fontsize}{\@ehc}%
\fi
-\bool_if:nT { \dim_compare_p:n { \jlreq@baselineskip < 1.5\zw } || \dim_compare_p:n { \jlreq@baselineskip > 2\zw } } {
+\bool_if:nT { \dim_compare_p:n { \l__jlreq_tmpa_dim < 1.5\zw } || \dim_compare_p:n { \l__jlreq_tmpa_dim > 2\zw } } {
\jlreq@note { 行間は二分以上全角以下が望ましい (2.4.2.d~注3).}
}
@@ -1266,7 +1277,7 @@
\fi
\renewcommand{\normalsize}{%
- \@setfontsize\normalsize{\jlreq@fontsize}{\jlreq@baselineskip}%
+ \@setfontsize\normalsize{\jlreq@fontsize}{\dimexpr\jlreqbaselineskip\relax}%
\abovedisplayskip 1.1\jlreq@fontsize \@plus .3\jlreq@fontsize \@minus .4\jlreq@fontsize
\abovedisplayshortskip \z@ \@plus .3\jlreq@fontsize
\belowdisplayskip .9\jlreq@fontsize \@plus.3\jlreq@fontsize \@minus.4\jlreq@fontsize
@@ -1286,26 +1297,49 @@
% 2.5.2 \baselineskipは一定の方がよい?
% \@listiは再定義しないようにした.(\normalsizeと共用でJLReq通りだと思う.)
\newcommand{\footnotesize}{%
- \@setfontsize\footnotesize{.8\jlreq@fontsize}{\dimexpr 115\jlreq@baselineskip/170\relax}% 脚注文字サイズの二分より少し小さい値を行間に: 4.2.5.e
+ \setlength{\jlreq@tempdima}{\dimexpr\jlreqbaselineskip\relax}
+ \@setfontsize\footnotesize{.8\jlreq@fontsize}{\dimexpr 115\jlreq@tempdima/170\relax}% 脚注文字サイズの二分より少し小さい値を行間に: 4.2.5.e
\abovedisplayskip .6\jlreq@fontsize \@plus.2\jlreq@fontsize \@minus.4\jlreq@fontsize
\abovedisplayshortskip \z@ \@plus.1\jlreq@fontsize
\belowdisplayshortskip .3\jlreq@fontsize \@plus.1\jlreq@fontsize \@minus.2\jlreq@fontsize
\belowdisplayskip \abovedisplayskip}
-% tsize10.cloの引数を,そのまま\jlreq@fontsize/\jlreq@baselineskipでスケーリングしているだけ.
+% tsize10.cloの引数を,そのまま\jlreq@fontsize/\jlreqbaselineskipでスケーリングしているだけ.
\newcommand{\small}{%
% jsarticleのもの
- \@setfontsize\small{.9\jlreq@fontsize}{\dimexpr 13\jlreq@baselineskip/17\relax}%
+ \setlength{\jlreq@tempdima}{\dimexpr\jlreqbaselineskip\relax}
+ \@setfontsize\small{.9\jlreq@fontsize}{\dimexpr 13\jlreq@tempdima/17\relax}%
\abovedisplayskip .9\jlreq@fontsize \@plus.3\jlreq@fontsize \@minus.4\jlreq@fontsize
\abovedisplayshortskip \z@ \@plus.3\jlreq@fontsize
\belowdisplayshortskip \abovedisplayshortskip
\belowdisplayskip \abovedisplayskip}
-\newcommand{\scriptsize}{\@setfontsize\scriptsize{\dimexpr 7\jlreq@fontsize/10\relax}{\dimexpr 8\jlreq@baselineskip/17\relax}}
-\newcommand{\tiny}{\@setfontsize\tiny{\dimexpr 5\jlreq@fontsize/10\relax}{\dimexpr 6\jlreq@baselineskip/17\relax}}
-\newcommand{\large}{\@setfontsize\large{\dimexpr12\jlreq@fontsize/10\relax}{\jlreq@baselineskip}}
-\newcommand{\Large}{\@setfontsize\Large{\dimexpr14\jlreq@fontsize/10\relax}{\dimexpr 21\jlreq@baselineskip/17\relax}}
-\newcommand{\LARGE}{\@setfontsize\LARGE{\dimexpr17\jlreq@fontsize/10\relax}{\dimexpr 25\jlreq@baselineskip/17\relax}}
-\newcommand{\huge}{\@setfontsize\huge{2\jlreq@fontsize}{\dimexpr 28\jlreq@baselineskip/17\relax}}
-\newcommand{\Huge}{\@setfontsize\Huge{\dimexpr 25\jlreq@fontsize/10\relax}{\dimexpr 33\jlreq@baselineskip/17\relax}}
+\newcommand{\scriptsize}{
+ \setlength{\jlreq@tempdima}{\dimexpr\jlreqbaselineskip\relax}
+ \@setfontsize\scriptsize{\dimexpr 7\jlreq@fontsize/10\relax}{\dimexpr 8\jlreq@tempdima/17\relax}
+}
+\newcommand{\tiny}{
+ \setlength{\jlreq@tempdima}{\dimexpr\jlreqbaselineskip\relax}
+ \@setfontsize\tiny{\dimexpr 5\jlreq@fontsize/10\relax}{\dimexpr 6\jlreq@tempdima/17\relax}
+}
+\newcommand{\large}{
+ \setlength{\jlreq@tempdima}{\dimexpr\jlreqbaselineskip\relax}
+ \@setfontsize\large{\dimexpr12\jlreq@fontsize/10\relax}{\jlreq@tempdima}
+}
+\newcommand{\Large}{
+ \setlength{\jlreq@tempdima}{\dimexpr\jlreqbaselineskip\relax}
+ \@setfontsize\Large{\dimexpr14\jlreq@fontsize/10\relax}{\dimexpr 21\jlreq@tempdima/17\relax}
+}
+\newcommand{\LARGE}{
+ \setlength{\jlreq@tempdima}{\dimexpr\jlreqbaselineskip\relax}
+ \@setfontsize\LARGE{\dimexpr17\jlreq@fontsize/10\relax}{\dimexpr 25\jlreq@tempdima/17\relax}
+}
+\newcommand{\huge}{
+ \setlength{\jlreq@tempdima}{\dimexpr\jlreqbaselineskip\relax}
+ \@setfontsize\huge{2\jlreq@fontsize}{\dimexpr 28\jlreq@tempdima/17\relax}
+}
+\newcommand{\Huge}{
+ \setlength{\jlreq@tempdima}{\dimexpr\jlreqbaselineskip\relax}
+ \@setfontsize\Huge{\dimexpr 25\jlreq@fontsize/10\relax}{\dimexpr 33\jlreq@tempdima/17\relax}
+}
%. plextから拝借
\def\jlreq@Kanji#1{\expandafter\kansuji\csname c@#1\endcsname}
@@ -1833,42 +1867,32 @@
%.. 別行見出し
% \jlreq@BlockHeading@start:別行見出しを出力する命令.
-% \jlreq@BlockHeading@start{1 = 命令名}{2 = レベル}{3 = スペース関連}{4 = カウンタ関連}{5 = フォーマット関連}{6 = 全体フォーマット}*{見出し}[副題]
+% \jlreq@BlockHeading@start{1 = 命令名}{2 = レベル}{3 = スペース関連}{4 = カウンタ関連}*[running head]{見出し}[副題]
% カウンタ関連=-,*,無し:-はカウンタ関連を処理しない.*はさらに目次に追加しない(星付き命令と同様).星付きで呼び出された時は常に*同等.
% スペース関連={配置:lcr(左中央右)}{字下げ(寸法)}{字上げ(寸法)}{前空き}{後空き}{行取りの行数}{空か*か,偶数ページでも改ページを許可するならば空}
% 前/後空きはprefixにa:/s:/r:が入る.r:は空きがその値そのものになる.a:/s:は行取りに加えて入る.a:で指定された空きはページ行頭では入らない
% 後空きの時はs:は指定できない.
-% フォーマット関連:
-% フォーマット関連={{ラベルのみのフォーマット}{ラベルフォーマット}{見出し文字列フォーマット}{見出し文字列フォーマット(ラベル無し)}{副題フォーマット}{副題フォーマット(ラベル無し)}}{{前フォーマットラベルあり}{前フォーマットラベルなし}{見出し全体のフォーマット}{後ろフォーマットラベルあり}{後ろフォーマットラベルなし}}
+% フォーマット関連:あらかじめマクロに入れておく
+% \jlreq@BlockHeading@start@eachformat: {ラベルのみのフォーマット}{ラベルフォーマット}{見出し文字列フォーマット}{見出し文字列フォーマット(ラベル無し)}{副題フォーマット}{副題フォーマット(ラベル無し)}
+% \jlreq@BlockHeading@start@format: {前フォーマットラベルあり}{前フォーマットラベルなし}{見出し全体のフォーマット}{後ろフォーマットラベルあり}{後ろフォーマットラベルなし}
+% \jlreq@BlockHeading@start@totalformat: 全体フォーマット
% 見出しそのものは「全体フォーマット」に従い出力される.パラメータトークン#1を含み,#1=見出し本体:スペース関連と上の「見出し全体のフォーマット」に基づいて整形される.
% 見出し全体のフォーマット内では#1=ラベル,#2=見出し文字列,#3=副題,それぞれ各々のフォーマットに基づき整形される.
% ラベルフォーマットでは#1=カウンタ名,見出し文字列フォーマットでは#1=見出し文字列,副題フォーマットでは#1=副題
% ラベルのみのフォーマットは目次に使われる.
-\long\def\jlreq@BlockHeading@start#1#2#3#4#5#6{%
- \if@noskipsec\leavevmode\fi
- % #5と#6は\parを含むかもしれないので引数渡しはしない(後の\@ifstarで詰まる)
- \edef\jlreq@BlockHeading@start@eachformat{\exp_not:o {\@firstoftwo#5}}%
- \edef\jlreq@BlockHeading@start@format{\exp_not:o {\@secondoftwo#5}}%
- \edef\jlreq@BlockHeading@start@totalformat{\unexpanded{#6}}%
- \jlreq@BlockHeading@start@{#1}{#2}{#3}{#4}%
-}
-% {1 = 命令}{2 = レベル}{3 = スペース関連}
-\long\def\jlreq@BlockHeading@start@#1#2#3#4{%
- \@ifstar{\@dblarg{\jlreq@BlockHeading@start@@{#1}{#2}{#3}{*}}}{\@dblarg{\jlreq@BlockHeading@start@@{#1}{#2}{#3}{#4}}}%
-}
% {1 = 命令}{2 = レベル}{3 = スペース関連}{4 = *}[5 = running head]{6 = 見出し}
-\long\def\jlreq@BlockHeading@start@@#1#2#3#4[#5]#6{%
- \@ifnextchar[{\jlreq@BlockHeading@start@@@{#1}{#2}{#3}{#4}{#5}{#6}}{\jlreq@BlockHeading@start@@@{#1}{#2}{#3}{#4}{#5}{#6}[]}%
+\long\def\jlreq@BlockHeading@start#1#2#3#4[#5]#6{%
+ \@ifnextchar[{\jlreq@BlockHeading@start@i{#1}{#2}{#3}{#4}{#5}{#6}}{\jlreq@BlockHeading@start@i{#1}{#2}{#3}{#4}{#5}{#6}[]}%
}
% {1 = 命令}{2 = レベル}{3 = スペース関連}{4 = *}{5 = running head}{6 = 見出し}[7 = 副題]
-\long\def\jlreq@BlockHeading@start@@@#1#2#3#4#5#6[#7]{%
- \edef\jlreq@do{\unexpanded{\jlreq@BlockHeading@start@@@@{#1}{#2}{#3}}{\exp_not:o {\jlreq@BlockHeading@start@totalformat}}}%
+\long\def\jlreq@BlockHeading@start@i#1#2#3#4#5#6[#7]{%
+ \edef\jlreq@do{\unexpanded{\jlreq@BlockHeading@start@ii{#1}{#2}{#3}}{\exp_not:o {\jlreq@BlockHeading@start@totalformat}}}%
\jlreq@do{#4}{#5}{#6}{#7}%
}
% {1 = 命令}{2 = レベル}{3 = スペース関連}{4 = 全フォーマット}{5 = *}{6 = running head}{7 = 見出し}{8 = 副題}
-\long\def\jlreq@BlockHeading@start@@@@#1#2#3#4#5#6#7#8{%
+\long\def\jlreq@BlockHeading@start@ii#1#2#3#4#5#6#7#8{%
\global\advance\jlreq@BlockHeading@spaces@current@count by 1
\tl_gput_right:Nn \jlreq@BlockHeading@spaces@current@sequence {_#1}%
\edef\jlreq@tempa##1##2##3##4##5##6##7{%
@@ -2200,18 +2224,12 @@
\jlreq@ifgluezero\jlreq@tempskipb{}{\vskip\jlreq@tempskipb}%
\edef\jlreq@do{%
\dim_compare:nF { \parskip=0pt } {
-% \exp_not:N \cs_set:Nn \exp_not:N \g__jlreq_gyodori_hook_par: {
-% \noexpand\parskip=\the\parskip\noexpand\relax
-% \exp_not:n { \cs_set:Nn \g__jlreq_gyodori_hook_par: {} }
-% }
\exp_not:N \AddToHook { para/before } { \noexpand\parskip=\the\parskip\noexpand\relax }
\noexpand\parskip=0pt
}
}%
\expandafter}\jlreq@do
}
-%\cs_set:Nn \g__jlreq_gyodori_hook_par: {}
-%\PushPostHook{par}{\g__jlreq_gyodori_hook_par:}
% 行取り情報をゲットだぜ
@@ -2498,34 +2516,46 @@
\def\jlreq@totalformat@after{}%
}%
\fi
+ % フォーマットを指定のマクロに入れる命令群
+ \tl_set:Nx \l__jlreq_tmpa_tl {
+ \exp_not:n {\edef\jlreq@BlockHeading@start@eachformat}{\exp_not:N \unexpanded{%
+ {\exp_not:o {\jlreq@label@format}}{\exp_not:o {\jlreq@label@format@modified}}%
+ {\exp_not:o {\jlreq@heading@text@format@wlabel}}{\exp_not:o {\jlreq@heading@text@format@wolabel}}%
+ {\exp_not:o {\jlreq@subtitle@format@wlabel}}{\exp_not:o {\jlreq@subtitle@format@wolabel}}%
+ }}%
+ \exp_not:n {\edef\jlreq@BlockHeading@start@format}{\exp_not:N \unexpanded{%
+ {\exp_not:o {\jlreq@pre@format@wlabel}}{\exp_not:o {\jlreq@pre@format@wolabel}}%
+ {\exp_not:o {\jlreq@format}}%
+ {}{}%
+ }}%
+ \exp_not:n {\edef\jlreq@BlockHeading@start@totalformat}{\exp_not:N \unexpanded{%
+ {\exp_not:n {
+ \par
+ \addpenalty\@secpenalty
+ \addvspace{0pt}\relax % 改ページ関係(#54,#100),よくわかっていない
+ }}
+ {\exp_not:o {\jlreq@totalformat}}{\exp_not:o {\jlreq@totalformat@after}}%
+ }}%
+ }
+ % \jlreq@BlockHeading@startの第四引数
+ \tl_set:Nx \l__jlreq_tmpb_tl {
+ {\exp_not:o {\jlreq@align}}{\exp_not:o {\jlreq@indent}}{\exp_not:o {\jlreq@end@indent}}\exp_not:o {\jlreq@spaceset}{\exp_not:o {\jlreq@allowbreak@evenpage}}
+ }
\edef\jlreq@do{%
\exp_not:o {\jlreq@do}%
\noexpand\edef\exp_not:c {jlreq@headingcs@#1}{\noexpand\unexpanded{%
\exp_not:N \g__jlreq_hook_beforeheading:n {#1}
\exp_not:o {\jlreq@pagebreak}%
\tl_if_empty:NF \l__jlreq_pagestyle_tl { \exp_not:N \thispagestyle {\exp_not:o { \l__jlreq_pagestyle_tl } } }
- \unexpanded{\jlreq@BlockHeading@start{#1}{#2}}%
- {{\exp_not:o {\jlreq@align}}{\exp_not:o {\jlreq@indent}}{\exp_not:o {\jlreq@end@indent}}\exp_not:o {\jlreq@spaceset}{\exp_not:o {\jlreq@allowbreak@evenpage}}}%
- {\ifjlreq@number\else -\fi}%
- {%
- {%
- {\exp_not:o {\jlreq@label@format}}{\exp_not:o {\jlreq@label@format@modified}}%
- {\exp_not:o {\jlreq@heading@text@format@wlabel}}{\exp_not:o {\jlreq@heading@text@format@wolabel}}%
- {\exp_not:o {\jlreq@subtitle@format@wlabel}}{\exp_not:o {\jlreq@subtitle@format@wolabel}}%
- }%
- {%
- {\exp_not:o {\jlreq@pre@format@wlabel}}{\exp_not:o {\jlreq@pre@format@wolabel}}%
- {\exp_not:o {\jlreq@format}}%
- {}{}%
- }%
- }%
- {{\exp_not:n {
- \par
- \addpenalty\@secpenalty
- \addvspace{0pt}\relax % 改ページ関係(#54,#100),よくわかっていない
- }}{\exp_not:o {\jlreq@totalformat}}{\exp_not:o {\jlreq@totalformat@after}}}%
- }}%
- \noexpand\def\exp_not:c {#1}{\exp_not:c {jlreq@headingcs@#1}}%
+ \exp_not:o \l__jlreq_tmpa_tl
+ \exp_not:N \@ifstar
+ {\exp_not:N \@dblarg{\exp_not:N \jlreq@BlockHeading@start{\exp_not:n {#1}}{\exp_not:n {#2}}{\exp_not:o {\l__jlreq_tmpb_tl}}{*}}}%
+ {\exp_not:N \@dblarg{\exp_not:N \jlreq@BlockHeading@start{\exp_not:n {#1}}{\exp_not:n {#2}}{\exp_not:o {\l__jlreq_tmpb_tl}}{\ifjlreq@number\else -\fi}}}%
+ }
+ }%
+ \noexpand\def\exp_not:c {#1}{
+ \exp_not:c {jlreq@headingcs@#1}
+ }%
}%
\expandafter\endgroup
\jlreq@do
@@ -3027,8 +3057,8 @@
\cs_set:Nn \__jlreq_CutinHeading_start_aux:nnnnnn{%
% 一行で処理したときの見出し長さを計測
\group_begin:
- \hbox_set:Nn \l_jlreq_tmpa_box {#1#6}
- \dim_set:Nn \l__jlreq_tmpa_dim { \box_wd:N \l_jlreq_tmpa_box}
+ \hbox_set:Nn \l__jlreq_tmpa_box {#1#6}
+ \dim_set:Nn \l__jlreq_tmpa_dim { \box_wd:N \l__jlreq_tmpa_box}
% 何行必要かを\l__jlreq_cutinheading_linecount_tlに入れる
\dim_compare:nTF { \l__jlreq_tmpa_dim > #5} {
\tl_set:Nn \l__jlreq_cutinheading_linecount_tl {3}
@@ -3038,31 +3068,31 @@
} { \tl_set:Nn \l__jlreq_cutinheading_linecount_tl {1} } }
% \l__jlreq_tmpa_dimが実際の一行の長さに近い
\dim_set:Nn \l__jlreq_tmpa_dim { \l__jlreq_tmpa_dim / \l__jlreq_cutinheading_linecount_tl }
- % \l_jlreq_tmpb_boxに見出し部分を,\l__jlreq_cutinheading_linecount_tlに見出し自身に何行使うかを入れる
+ % \l__jlreq_tmpb_boxに見出し部分を,\l__jlreq_cutinheading_linecount_tlに見出し自身に何行使うかを入れる
\int_compare:nTF { \l__jlreq_cutinheading_linecount_tl = 1 }{
- \vbox_set:Nn \l_jlreq_tmpb_box {\parindent=0pt\rightskip=0pt\leftskip=0pt\box_use_drop:N \l_jlreq_tmpa_box}
+ \vbox_set:Nn \l__jlreq_tmpb_box {\parindent=0pt\rightskip=0pt\leftskip=0pt\box_use_drop:N \l__jlreq_tmpa_box}
\tl_set:Nn \l__jlreq_cutinheading_linecount_tl {2}
}{
\jlreq@inlinenote@determinelength{#6}{#1}{}{\l__jlreq_cutinheading_linecount_tl}{\l__jlreq_cutinheading_linecount_tl}{\l__jlreq_tmpa_dim}{\linewidth}%
- \box_set_eq:NN \l_jlreq_tmpb_box \jlreq@resultbox
+ \box_set_eq:NN \l__jlreq_tmpb_box \jlreq@resultbox
\tl_set:Nn \l__jlreq_cutinheading_linecount_tl {3}
}
% 普通の一行の高さ/深さに合わせて見出しのボックスを作る
- \setbox\l_jlreq_tmpa_box =\vtop to \dimexpr\numexpr\l__jlreq_cutinheading_linecount_tl - 1\relax\baselineskip + 1\jlreq@zh\relax{\skip_vertical:n {0pt~plus~1fill~minus~1fill} \box_use_drop:N \l_jlreq_tmpb_box \skip_vertical:n {0pt~plus~1fill~minus~1fill}}%
+ \setbox\l__jlreq_tmpa_box =\vtop to \dimexpr\numexpr\l__jlreq_cutinheading_linecount_tl - 1\relax\baselineskip + 1\jlreq@zh\relax{\skip_vertical:n {0pt~plus~1fill~minus~1fill} \box_use_drop:N \l__jlreq_tmpb_box \skip_vertical:n {0pt~plus~1fill~minus~1fill}}%
% 高さを通常の一行のそれにする
- \hbox_set:Nn \l_jlreq_tmpc_box {阿}
- \box_set_dp:Nn \l_jlreq_tmpa_box { \box_ht:N \l_jlreq_tmpa_box + \box_dp:N \l_jlreq_tmpa_box - \box_ht:N \l_jlreq_tmpc_box }
- \box_set_ht:Nn \l_jlreq_tmpa_box { \box_ht:N \l_jlreq_tmpc_box }
+ \hbox_set:Nn \l__jlreq_tmpc_box {阿}
+ \box_set_dp:Nn \l__jlreq_tmpa_box { \box_ht:N \l__jlreq_tmpa_box + \box_dp:N \l__jlreq_tmpa_box - \box_ht:N \l__jlreq_tmpc_box }
+ \box_set_ht:Nn \l__jlreq_tmpa_box { \box_ht:N \l__jlreq_tmpc_box }
\noindent
\hspace*{#2}%
- \box_use:N \l_jlreq_tmpa_box
+ \box_use:N \l__jlreq_tmpa_box
\hspace*{#3}%
% でかい見出しボックスの分をキャンセルする空きを入れる
- % \baselineskip - box_ht:N \l_jlreq_tmpc_boxはTeXが挿入するスキップの分
+ % \baselineskip - box_ht:N \l__jlreq_tmpc_boxはTeXが挿入するスキップの分
\cs_set:Nx \l__jlreq_do:{
\exp_not:N \par
- \exp_not:N \skip_vertical:n {\dim_eval:n {-\box_ht:N \l_jlreq_tmpa_box - \box_dp:N \l_jlreq_tmpa_box - \baselineskip + \box_ht:N \l_jlreq_tmpc_box}}
- \exp_not:N\hangindent= \dim_eval:n {#2 + \box_wd:N \l_jlreq_tmpa_box + #3} \exp_not:N \relax
+ \exp_not:N \skip_vertical:n {\dim_eval:n {-\box_ht:N \l__jlreq_tmpa_box - \box_dp:N \l__jlreq_tmpa_box - \baselineskip + \box_ht:N \l__jlreq_tmpc_box}}
+ \exp_not:N\hangindent= \dim_eval:n {#2 + \box_wd:N \l__jlreq_tmpa_box + #3} \exp_not:N \relax
\exp_not:N\hangafter=-\l__jlreq_cutinheading_linecount_tl\relax
}%
\exp_after:wN \group_end:
@@ -3136,14 +3166,14 @@
\str_set:Nn \l__jlreq_tmpa_str {#2}
\str_case_e:nn { \jlreq@HeadingType {#1} } {
{ BlockHeading } {
- \bool_set_false:N \l_jlreq_tmpa_bool
- \str_if_in:NnT \l__jlreq_tmpa_str { before_space= } { \bool_set_true:N \l_jlreq_tmpa_bool }
- \str_if_in:NnT \l__jlreq_tmpa_str { before_space~= } { \bool_set_true:N \l_jlreq_tmpa_bool }
- \bool_if:NT \l_jlreq_tmpa_bool {\tl_put_left:Nn \l__jlreq_tmpa_tl {before_lines={},} }
- \bool_set_false:N \l_jlreq_tmpa_bool
- \str_if_in:NnT \l__jlreq_tmpa_str { after_space= } { \bool_set_true:N \l_jlreq_tmpa_bool }
- \str_if_in:NnT \l__jlreq_tmpa_str { after_space~= } { \bool_set_true:N \l_jlreq_tmpa_bool }
- \bool_if:NT \l_jlreq_tmpa_bool {\tl_put_left:Nn \l__jlreq_tmpa_tl {after_lines={},}}
+ \bool_set_false:N \l__jlreq_tmpa_bool
+ \str_if_in:NnT \l__jlreq_tmpa_str { before_space= } { \bool_set_true:N \l__jlreq_tmpa_bool }
+ \str_if_in:NnT \l__jlreq_tmpa_str { before_space~= } { \bool_set_true:N \l__jlreq_tmpa_bool }
+ \bool_if:NT \l__jlreq_tmpa_bool {\tl_put_left:Nn \l__jlreq_tmpa_tl {before_lines={},} }
+ \bool_set_false:N \l__jlreq_tmpa_bool
+ \str_if_in:NnT \l__jlreq_tmpa_str { after_space= } { \bool_set_true:N \l__jlreq_tmpa_bool }
+ \str_if_in:NnT \l__jlreq_tmpa_str { after_space~= } { \bool_set_true:N \l__jlreq_tmpa_bool }
+ \bool_if:NT \l__jlreq_tmpa_bool {\tl_put_left:Nn \l__jlreq_tmpa_tl {after_lines={},}}
}
}
\cs_set:Nx \l_jlreq_do: {
@@ -3998,7 +4028,7 @@
% \jlreq@resultboxに整形結果を返す(垂直ボックス).見つからなかったらvoid.\globalに設定する.
\long\def\jlreq@inlinenote@determinelength#1#2#3#4#5#6#7{%
\begingroup
- % \message{#1 の試行開始,行数 = #5, \the\dimexpr#6\relax から \the\dimexpr#7\relaxまで}%
+% \message{#1 の試行開始,行数 = #5, \the\dimexpr#6\relax から \the\dimexpr#7\relax まで(長さ\the\dimexpr #7 - #6\relax )}%
\@tempcnta=1\relax
\def\@tempa{}%
% 調整に使う行の\parshape指定を\@tempaに入れる.長さは\jlreq@tempdima.
@@ -4019,12 +4049,12 @@
\parindent=0pt\leftskip=0pt\rightskip=0pt
\parshape #5~#3~\@tempa 0pt~\the\maxdimen
#1\par\global\@tempcntb=\prevgraf}%
- % \message{\string\jlreq@tempdima = \the\jlreq@tempdima で試行,行数は\the\@tempcntb , 書式 #5 #3 \@tempa 0pt \the\maxdimen}%
+% \message{\string\jlreq@tempdima = \the\jlreq@tempdima で試行,行数は\the\@tempcntb , 書式~#5~#3~\@tempa~0pt~\the\maxdimen}%
\fi
\jlreq@getlastbox{\@tempboxa}%
\setbox\jlreq@tempboxa=\box\jlreq@resultbox
\ifnum\@tempcntb<#5\relax% 行数が達していないならOK
- % \message{行数 = \the\@tempcntb により確定}
+% \message{行数 = \the\@tempcntb により確定}
% #5行になるまで空の水平ボックスを加えていく.
\global\setbox\jlreq@resultbox=\vbox{#2%
\unvbox\@tempboxa\hbox{\unhbox\jlreq@tempboxa\unskip\unskip\unpenalty}%
@@ -4034,7 +4064,7 @@
% そうでない場合は最後の二行の長さを比較する
\jlreq@getlastbox{\@tempboxa}%
\setbox\jlreq@tempboxb=\box\jlreq@resultbox
- % \message{最終行の長さ \the\wd\jlreq@tempboxa, その前の長さ \the\wd\jlreq@tempboxb}%
+% \message{最終行の長さ \the\wd\jlreq@tempboxa, その前の長さ \the\wd\jlreq@tempboxb}%
\ifdim\wd\jlreq@tempboxa>\wd\jlreq@tempboxb
\advance\jlreq@tempdima by 0.3pt\relax% 0.3ptに意味はない
\else
@@ -6194,17 +6224,17 @@
\ltj@setpar@global
\cs_set:Nn \l_jlreq_do: {}
\tl_if_empty:nF {#1} {
- \skip_set:Nn \l_jlreq_tmpa_skip { #1 }
+ \skip_set:Nn \l__jlreq_tmpa_skip { #1 }
\cs_set:Nx \l_jlreq_do: { \exp_not:o \l_jlreq_do:
- \exp_not:N \cs_set:Npn \exp_not:N \jlreqkanjiskip { \skip_use:N \l_jlreq_tmpa_skip }
- \exp_not:N \ltjsetkanjiskip \skip_use:N \l_jlreq_tmpa_skip
+ \exp_not:N \cs_set:Npn \exp_not:N \jlreqkanjiskip { \skip_use:N \l__jlreq_tmpa_skip }
+ \exp_not:N \ltjsetkanjiskip \skip_use:N \l__jlreq_tmpa_skip
}
}
\tl_if_empty:nF {#2} {
- \skip_set:Nn \l_jlreq_tmpa_skip { #2 }
+ \skip_set:Nn \l__jlreq_tmpa_skip { #2 }
\cs_set:Nx \l_jlreq_do: { \exp_not:o \l_jlreq_do:
- \exp_not:N \cs_set:Npn \exp_not:N \jlreqxkanjiskip { \skip_use:N \l_jlreq_tmpa_skip }
- \exp_not:N \ltjsetxkanjiskip \skip_use:N \l_jlreq_tmpa_skip
+ \exp_not:N \cs_set:Npn \exp_not:N \jlreqxkanjiskip { \skip_use:N \l__jlreq_tmpa_skip }
+ \exp_not:N \ltjsetxkanjiskip \skip_use:N \l__jlreq_tmpa_skip
}
}
\exp_after:wN \group_end:
@@ -6215,17 +6245,17 @@
\group_begin:
\cs_set:Nn \l_jlreq_do: {}
\tl_if_empty:nF {#1} {
- \skip_set:Nn \l_jlreq_tmpa_skip { #1 }
+ \skip_set:Nn \l__jlreq_tmpa_skip { #1 }
\cs_set:Nx \l_jlreq_do: { \exp_not:o \l_jlreq_do:
- \exp_not:N \cs_set:Npx \exp_not:N \jlreqkanjiskip { \skip_use:N \l_jlreq_tmpa_skip }
- \exp_not:N \skip_set:Nn \exp_not:N \kanjiskip { \skip_use:N \l_jlreq_tmpa_skip }
+ \exp_not:N \cs_set:Npx \exp_not:N \jlreqkanjiskip { \skip_use:N \l__jlreq_tmpa_skip }
+ \exp_not:N \skip_set:Nn \exp_not:N \kanjiskip { \skip_use:N \l__jlreq_tmpa_skip }
}
}
\tl_if_empty:nF {#2} {
- \skip_set:Nn \l_jlreq_tmpa_skip { #2 }
+ \skip_set:Nn \l__jlreq_tmpa_skip { #2 }
\cs_set:Nx \l_jlreq_do: { \exp_not:o \l_jlreq_do:
- \exp_not:N \cs_set:Npx \exp_not:N \jlreqxkanjiskip { \skip_use:N \l_jlreq_tmpa_skip }
- \exp_not:N \skip_set:Nn \exp_not:N \xkanjiskip { \skip_use:N \l_jlreq_tmpa_skip }
+ \exp_not:N \cs_set:Npx \exp_not:N \jlreqxkanjiskip { \skip_use:N \l__jlreq_tmpa_skip }
+ \exp_not:N \skip_set:Nn \exp_not:N \xkanjiskip { \skip_use:N \l__jlreq_tmpa_skip }
}
}
\exp_after:wN \group_end:
diff --git a/macros/jptex/latex/jlreq/jlreq.pdf b/macros/jptex/latex/jlreq/jlreq.pdf
index 03eebb298a..fe98bc8adc 100644
--- a/macros/jptex/latex/jlreq/jlreq.pdf
+++ b/macros/jptex/latex/jlreq/jlreq.pdf
Binary files differ
diff --git a/macros/jptex/latex/pxchfon/LICENSE b/macros/jptex/latex/pxchfon/LICENSE
index 72d5a31c9e..9350cdfdbc 100644
--- a/macros/jptex/latex/pxchfon/LICENSE
+++ b/macros/jptex/latex/pxchfon/LICENSE
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2009-2023 Takayuki YATO (aka. "ZR")
+Copyright (c) 2009-2024 Takayuki YATO (aka. "ZR")
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/macros/jptex/latex/pxchfon/README-ja.md b/macros/jptex/latex/pxchfon/README-ja.md
index ee6573018c..18df6b2606 100644
--- a/macros/jptex/latex/pxchfon/README-ja.md
+++ b/macros/jptex/latex/pxchfon/README-ja.md
@@ -57,6 +57,20 @@ MITライセンスの下で配布される。
更新履歴
--------
+ * Version 2.2 ‹2024/08/22›
+ - `usefontmaplines` 環境を追加。
+ * Version 2.1a ‹2024/08/12›
+ - 警告メッセージの改良。
+ * Version 2.1 ‹2023/08/11›
+ - `\pxchfonsetup` 命令を追加。
+ - `maybe-multiweight` 指定時は japanese-otf 用のマップ行を必ず
+ 出力する。
+ - 開発者用フラグ `\pxchfonNoCheckMultiweight` を追加。
+ ※試験的機能の `\pxchfonMaybeMultiweight` は非推奨。
+ - オプション `nocheck-expert` を追加。
+ - オプション `resetdvidriver` を追加。
+ - プリセット非指定時の `(no)alphabet` の省略に対して警告を出す。
+ - エラー・警告メッセージの改良。
* Version 2.0 ‹2023/08/28›
- keyval パッケージを使用する。
- Unicode 直接指定のオプションを key-value 形式の `unicode` キーに
diff --git a/macros/jptex/latex/pxchfon/README.md b/macros/jptex/latex/pxchfon/README.md
index 6cd05a265c..6357d6c13a 100644
--- a/macros/jptex/latex/pxchfon/README.md
+++ b/macros/jptex/latex/pxchfon/README.md
@@ -39,6 +39,19 @@ This package is distributed under the MIT License.
Revision History
----------------
+ * Version 2.2 ‹2024/08/22›
+ - New environment `usefontmaplines`.
+ * Version 2.1a ‹2024/08/12›
+ - Improve warning messages.
+ * Version 2.1 ‹2024/08/11›
+ - New command `\pxchfonsetup`.
+ - `maybe-multiweight` forces to output map lines for japanese-otf.
+ - Add flag `\pxchfonNoCheckMultiweight`.
+ (Old experimental `\pxchfonMaybeMultiweight` is deprecated.)
+ - New option `nocheck-expert`.
+ - New option `resetdvidriver`.
+ - Warn if `(no)alphabet` is omitted without using a preset.
+ - Improve error/warning messages.
* Version 2.0 ‹2023/08/28›
- Use keyval package.
- Now options on direct-Unicode settings are provided as a single
@@ -47,7 +60,7 @@ Revision History
(Experimental option `unicode(*)-fwid` is removed.)
- New options `legacycode` and `legacycode-replace`.
(Old experimental options on “legacycode” are removed.)
- - Warn if `(no)alphabet` is omitted without using a preset.
+ - Deprecate ommision of `(no)alphabet` without using a preset.
- Warn if user commands on multi-weight are used without employing
`deluxe` option of japanese-otf package.
- New option `maybe-multiweight`.
diff --git a/macros/jptex/latex/pxchfon/pxchfon.pdf b/macros/jptex/latex/pxchfon/pxchfon.pdf
index 10ce88b39d..68b2370e61 100644
--- a/macros/jptex/latex/pxchfon/pxchfon.pdf
+++ b/macros/jptex/latex/pxchfon/pxchfon.pdf
Binary files differ
diff --git a/macros/jptex/latex/pxchfon/pxchfon.sty b/macros/jptex/latex/pxchfon/pxchfon.sty
index 310af67b71..eef9fbc347 100644
--- a/macros/jptex/latex/pxchfon/pxchfon.sty
+++ b/macros/jptex/latex/pxchfon/pxchfon.sty
@@ -1,7 +1,7 @@
%%
%% This is file 'pxchfon.sty'.
%%
-%% Copyright (c) 2009-2023 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2009-2024 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxchfon}[2023/08/28 v2.0]
+\ProvidesPackage{pxchfon}[2024/08/22 v2.2]
\def\pxcz@pkgname{pxchfon}
%--------------------------------------- general
@@ -28,7 +28,11 @@
%% unique tokens
\def\pxcz@end{\pxcz@end@}
\def\pxcz@mt{\pxcz@mt@}
+\toksdef\pxcz@mk=9 % unexpandable
+%% \pxcz@letcs\CSa{<cs2>}
+\def\pxcz@letcs#1#2{%
+ \expandafter\let\expandafter#1\csname#2\endcsname}
%% \pxcz@csletcs{<cs1>}{<cs2>}
\def\pxcz@csletcs#1#2{%
\expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
@@ -47,6 +51,19 @@
\def\pxcz@onlypreamble@let#1{%
\@onlypreamble#1\let#1}
+%% \pxcz@first@doc@hook
+% Invoked earlier than \pxcz@doc@hook.
+\pxcz@onlypreamble@let\pxcz@first@doc@hook\@empty
+\AtBeginDocument{\pxcz@first@doc@hook}
+
+%% \pxcz@new@gbool{<name>}
+\pxcz@onlypreamble@def\pxcz@new@gbool#1{%
+ \expandafter\pxcz@new@gbool@a\csname if#1\endcsname{#1}}
+\pxcz@onlypreamble@def\pxcz@new@gbool@a#1#2{%
+ \@namedef{#2true}{\global\let#1\iftrue}%
+ \@namedef{#2false}{\global\let#1\iffalse}%
+ \@nameuse{#2false}}\@gobbletwo\fi\fi
+
%% \pxcz@csuse@or{<csname>}{<default>}
\def\pxcz@csuse@or#1#2{%
\expandafter\ifx\csname#1\endcsname\relax \expandafter\@firstoftwo
@@ -59,13 +76,22 @@
\def\pxcz@lower@a#1\pxcz@end#2{%
\lowercase{\def#2{#1}}}
-%% \pxcz@setkeys{<text>}{<error>}
-\pxcz@onlypreamble@def\pxcz@setkeys#1#2{%
- \def\KV@errx##1{#2}%
- \edef\pxcz@do{\noexpand\setkeys{pxchfon}{#1}}\pxcz@do
+%% \pxcz@setkeys{<kv-family>}{<text>}{<error>}
+\pxcz@onlypreamble@def\pxcz@setkeys#1#2#3{%
+ \let\KV@errx#3%
+ \edef\pxcz@do{\noexpand\setkeys{#1}{#2}}\pxcz@do
\let\KV@errx\pxcz@org@KV@errx}
\let\pxcz@org@KV@errx\KV@errx
+%% \pxcz@handle@mt@kvopt{<key>}{<value>}{<code>}
+\pxcz@onlypreamble@def\pxcz@handle@mt@kvopt#1#2#3{%
+ \ifx\pxcz@mt#2\pxcz@mt #3%
+ \else
+ \PackageError\pxcz@pkgname
+ {No value allowed for key '#1'}%
+ {\@ehc}%
+ \fi}
+
%% \pxcz@handle@kvopt{<key>}{<cs-key>}{<value>}{<code>}
%% \pxcz@handle@bool@kvopt{<key>}{<cs-key>}{<value>}
\pxcz@onlypreamble@def\pxcz@handle@kvopt{%
@@ -74,10 +100,11 @@
\pxcz@handle@kvopt@a{}{#1}{#2}{#3}{\pxcz@value}}
\pxcz@onlypreamble@def\pxcz@handle@kvopt@a#1#2#3#4{%
\@nameuse{pxcz@#3@giventrue}%
- \pxcz@csletcs{pxcz@value}{pxcz@#3#1#4}%
+ \pxcz@letcs\pxcz@value{pxcz@#3#1#4}%
\ifx\pxcz@value\relax
\PackageError\pxcz@pkgname
- {Invalid value for option key '#2'\MessageBreak (#4)}%
+ {Invalid value for key '#2'\MessageBreak (#4)}%
+ {\@ehc}%
\expandafter\@gobble
\else \expandafter\@firstofone
\fi}
@@ -97,8 +124,46 @@
\def\pxcz@split@c#1\pxcz@mt#2\pxcz@end#3{%
\def\pxcz@pre{#3}\def\pxcz@post{#1}}
+%% \pxcz@let@jchar@token\CS{<code>}
+\pxcz@onlypreamble@def\pxcz@let@jchar@token#1#2{%
+ \begingroup
+ \kansujichar1=#2\relax \kcatcode#2=18\relax
+ \xdef\pxcz@g@tmpa{\kansuji1}%
+ \endgroup
+ \let#1=\pxcz@g@tmpa}
+
+%% \pxcz@geta
+\pxcz@let@jchar@token\pxcz@geta{\jis"222E}
+
+%% \pxcz@Z\newrobustcmd*\CS...
+% On e-TeX engines, it simply does \newrobustcmd*;
+% otherwise it does \DeclareRobustCommand* with 'new' check.
+\pxcz@onlypreamble@def\pxcz@Z\newrobustcmd*#1{%
+ \pxcz@okfalse
+ \@ifdefinable{#1}{\pxcz@oktrue}%
+ \pxcz@cond\ifpxcz@ok\fi
+ {\DeclareRobustCommand*#1}{\providecommand*\pxcz@mt}%
+}
+
+%% \pxcz@PackageNoteNoLine
+\ifx\PackageNoteNoLine\@undefined
+ \let\pxcz@PackageNoteNoLine\PackageWarningNoLine
+\else
+ \let\pxcz@PackageNoteNoLine\PackageNoteNoLine
+\fi
+
%--------------------------------------- environment check
+%%<+> \pxchfonNoCheckMultiweight
+% If defined, skips the check for using multi-weight settings
+% without loading japanese-otf package with 'deluxe'.
+%(keep unchanged)
+
+%%<+> \pxchfonNoCheckExpert
+% If defined, skips the check for using expert settings without
+% substituting all weights.
+%(keep unchanged)
+
%% check for 'pxjafont' package
\@ifpackageloaded{pxjafont}{%
\PackageError\pxcz@pkgname
@@ -115,6 +180,18 @@
\pxcz@do\kchardef{\pxcz@uptextrue}
% only upTeX in Unicode is seen as upTeX
\ifnum\ucs"3000="3000 \else \pxcz@uptexfalse \fi}
+%% \ifpxcz@etex
+\newif\ifpxcz@etex \pxcz@etexfalse
+\pxcz@do\eTeXversion{\pxcz@etextrue}
+%% \ifpxcz@etoolbox
+\newif\ifpxcz@etoolbox
+\ifpxcz@etex
+ \IfFileExists{etoolbox.sty}{%
+ \RequirePackage{etoolbox}[2011/01/03]% v2.1
+ \pxcz@etoolboxtrue
+ \let\pxcz@Z\@empty
+ }{}
+\fi
%% \pxcz@JYn
\edef\pxcz@JYn{%
@@ -128,13 +205,11 @@
\pxcz@lite@modetrue}
%% \ifpxcz@otf@loaded
-%% \ifpxcz@otf@deluxe
%% \pxcz@otf@weight: otf weight mode
\newif\ifpxcz@otf@loaded \pxcz@otf@loadedtrue
-\newif\ifpxcz@otf@deluxe \pxcz@otf@deluxefalse
% watch out for priority...
\@ifpackagewith{otf}{deluxe}{%
- \pxcz@otf@deluxetrue \let\pxcz@otf@weight=d
+ \let\pxcz@otf@weight=d
}{\@ifpackagewith{otf}{bold}{%
\let\pxcz@otf@weight=b
}{\@ifpackagewith{otf}{expert}{%
@@ -253,7 +328,7 @@
\let\pxcz@alphabet\relax
\newif\ifpxcz@otf \pxcz@otftrue
\newif\ifpxcz@cmap@alpha
-\newif\ifpxcz@mmivjis
+\pxcz@new@gbool{pxcz@mmivjis}
\newif\ifpxcz@everypage
\newif\ifpxcz@oneweight
\newif\ifpxcz@fullwidth
@@ -274,9 +349,14 @@
\chardef\pxcz@glyphid\z@
\newif\ifpxcz@autojfmsync
+%% \pxcz@invalid@opt{<key>}
+\pxcz@onlypreamble@def\pxcz@invalid@opt#1{%
+ \@unknownoptionerror}
+
%% process options
% drivers
\DeclareOption{nodvidriver}{\pxcz@enabledfalse}
+\DeclareOption{resetdvidriver}{\pxcz@enabledtrue}
\DeclareOption{dvips}{\pxcz@enabledfalse}
\DeclareOption{dviout}{\pxcz@enabledfalse}
\DeclareOption{xdvi}{\pxcz@enabledfalse}
@@ -353,7 +433,9 @@
\DeclareOption{autojfmsync}{\pxcz@autojfmsynctrue}
\DeclareOption{noautojfmsync}{\pxcz@autojfmsyncfalse}
% maybe-multiweight
-\DeclareOption{maybe-multiweight}{\let\pxchfonMaybeMultiweight=t}
+\DeclareOption{maybe-multiweight}{\let\pxchfonNoCheckMultiweight=t}
+% nocheck-expert
+\DeclareOption{nocheck-expert}{\let\pxchfonNoCheckExpert=t}
% use=<spec>
\define@key{pxchfon}{use}{%
\pxcz@okfalse
@@ -427,7 +509,7 @@
\DeclareOption*{%
\pxcz@parse@opt\CurrentOption
\ifpxcz@ok\else
- \pxcz@setkeys{\CurrentOption}{\@unknownoptionerror}%
+ \pxcz@setkeys{pxchfon}{\CurrentOption}\pxcz@invalid@opt
\fi}
%% \pxcz@use@list
@@ -475,7 +557,7 @@
\ifpxcz@unicode@given\else
\let\pxcz@unicode\pxcz@unicode@@false
\ifnum\pxcz@pxufont@loaded>0
- \PackageWarningNoLine\pxcz@pkgname
+ \pxcz@PackageNoteNoLine\pxcz@pkgname
{Option 'unicode' is enabled, since the package\MessageBreak
'pxufont' is already loaded}
\let\pxcz@unicode\pxcz@unicode@@full
@@ -486,7 +568,13 @@
%% apply default value for \pxcz@alphabet
\if\pxcz@alphabet\relax
\ifx\pxcz@main@preset\relax \ifx\pxcz@file@preset\relax
- % TODO: warn
+ \PackageWarningNoLine\pxcz@pkgname
+ {No preset is given and options for alphabetic\MessageBreak
+ fonts ('alphabet'/'noalphabet'/'relfont') are\MessageBreak
+ omitted. Here 'alphabet' will be assumed, but\MessageBreak
+ such omission is now DEPRECATED and the behavior\MessageBreak
+ might be changed in future!!\MessageBreak
+ You must write the option 'alphabet' explicitly}
\let\pxcz@alphabet=t
\fi\fi
\if\pxcz@alphabet\relax
@@ -530,32 +618,14 @@
\let\pxcz@switch@font@xjistrue\pxcz@switch@font@xjisfalse
\fi
-\begingroup \lccode`\@=`\_ \lowercase{%
- \xdef\pxcz@get@dvipdfmx@version{%
- \let\noexpand\pxcz@dvipdfmx@version\expandafter\noexpand
- \csname c@@Kernel@sys@dvipdfmx@version@int\endcsname}}
-\endgroup
-\AtBeginDocument{%
- \@tempswatrue
- \ifnum\pxcz@unicode<\pxcz@unicode@@full\else
- \pxcz@get@dvipdfmx@version
- \ifx\pxcz@dvipdfmx@version\@undefined\else
- \ifnum\pxcz@dvipdfmx@version<20170918
- \@tempswafalse \fi\fi
- \fi
- \if@tempswa\else
- \PackageError\pxcz@pkgname
- {Option 'unicode' is not available, since\MessageBreak
- your dvipdfmx is too old (v.\number\pxcz@dvipdfmx@version)}
- {The option requires dvipdfmx version 20170918 or later.%
- \MessageBreak\@ehc}
- \fi}
-
%--------------------------------------- preset-dependent setup
-%% variables
-\newif\ifpxcz@warn@unless@all@defined
-\newif\ifpxcz@warn@unless@all@embedded
+%% \pxcz@warn@unless@all@defined@for
+% The \do-list of names of problematic features.
+\pxcz@onlypreamble@let\pxcz@warn@unless@all@defined@for\@empty
+%% \pxcz@warn@unless@all@embedded@for
+% The \do-list of names of problematic features.
+\pxcz@onlypreamble@let\pxcz@warn@unless@all@embedded@for\@empty
%% \pxcz@apply@opt@unicode
% Forces the 'unicode' setup (unless a directunicode option was given).
@@ -566,7 +636,7 @@
\fi}
%% \pxcz@warn@unicode
\pxcz@onlypreamble@def\pxcz@warn@unicode{%
- \PackageWarningNoLine\pxcz@pkgname
+ \pxcz@PackageNoteNoLine\pxcz@pkgname
{The option 'unicode' is enforced, because the\MessageBreak
preset '\pxcz@main@preset' is selected.}}
@@ -586,7 +656,8 @@
\pxcz@custom@apply@opt@unicode
% No-embed is not supported under the 'unicode' setup
\ifnum\pxcz@unicode=\pxcz@unicode@@full
- \pxcz@warn@unless@all@embeddedtrue
+ \g@addto@macro\pxcz@warn@unless@all@embedded@for{%
+ \do{Direct Unicode spec ('unicode')}}
\fi
%% apply default for pxcz@legacycode@replace
@@ -661,9 +732,36 @@
\fi
\let\pxcz@expert=f
\fi
-\if t\pxcz@expert
- \pxcz@warn@unless@all@definedtrue
-\fi
+\g@addto@macro\pxcz@first@doc@hook{%
+ \if t\pxcz@expert \ifx\pxchfonNoCheckExpert\@undefined
+ \g@addto@macro\pxcz@warn@unless@all@defined@for{%
+ \do{Expert glyph shapes ('expert')}}%
+ \fi\fi}
+
+%--------------------------------------- '\pxchfonsetup'
+
+%% errors
+\pxcz@onlypreamble@def\pxcz@err@ivsky#1{%
+ \PackageError\pxcz@pkgname
+ {Unknown key: #1}%
+ {\@ehc}}
+
+%% 'jis2004=<bool>'
+\define@key{pxchfonS}{jis2004}[true]{%
+ \pxcz@handle@bool@kvopt{jis2004}{mmivjis}{#1}}
+%% 'maybe-multiweight'
+\define@key{pxchfonS}{maybe-multiweight}[]{%
+ \pxcz@handle@mt@kvopt{maybe-multiweight}{#1}{%
+ \global\let\pxchfonNoCheckMultiweight=t}}
+%% 'nocheck-expert'
+\define@key{pxchfonS}{nocheck-expert}[]{%
+ \pxcz@handle@mt@kvopt{nocheck-expert}{#1}{%
+ \global\let\pxchfonNoCheckExpert=t}}
+
+%%<*> \pxchfonsetup{<text>}
+\@onlypreamble\pxchfonsetup
+\pxcz@Z\newrobustcmd*\pxchfonsetup[1]{%
+ \pxcz@setkeys{pxchfonS}{#1}\pxcz@err@ivsky}
%--------------------------------------- user interface
@@ -678,53 +776,60 @@
tcml,tcmr,tcmb,tcgr,tcgb,tcgx,tcgu,tcmgr}
%%<*> \setminchofont/\setgothicfont/etc.
-\newcommand*\setminchofont{\pxcz@setfont{mnl,mnr,mnb}}
-\newcommand*\setgothicfont{\pxcz@setfont{gtr,gtb,gtx,gtu}}
-\newcommand*\setlightminchofont{\pxcz@setfont@dx{mnl}}
-\newcommand*\setmediumminchofont{\pxcz@setfont@dx{mnr}}
-\newcommand*\setboldminchofont{\pxcz@setfont@dx{mnb}}
-\newcommand*\setmediumgothicfont{\pxcz@setfont@dx{gtr}}
-\newcommand*\setboldgothicfont{\pxcz@setfont@dx{gtb}}
-\newcommand*\setxboldgothicfont{\pxcz@setfont@dx{gtx}}
-\newcommand*\setoneweightgothicfont{\pxcz@setfont@dx{gtu}}
-\newcommand*\setmarugothicfont{\pxcz@setfont@dx{mgr}}
-
-\newcommand*\setkoreanminchofont{\pxcz@setfont{koml,komr,komb}}
-\newcommand*\setkoreangothicfont{\pxcz@setfont{kogr,kogb,kogx,kogu,komgr}}
-\newcommand*\setkoreanlightminchofont{\pxcz@setfont@dx{koml}}
-\newcommand*\setkoreanmediumminchofont{\pxcz@setfont@dx{komr}}
-\newcommand*\setkoreanboldminchofont{\pxcz@setfont@dx{komb}}
-\newcommand*\setkoreanmediumgothicfont{\pxcz@setfont@dx{kogr}}
-\newcommand*\setkoreanboldgothicfont{\pxcz@setfont@dx{kogb}}
-\newcommand*\setkoreanxboldgothicfont{\pxcz@setfont@dx{kogx}}
-\newcommand*\setkoreanoneweightgothicfont{\pxcz@setfont@dx{kogu}}
-\newcommand*\setkoreanmarugothicfont{\pxcz@setfont@dx{komgr}}
-
-\newcommand*\setschineseminchofont{\pxcz@setfont{scml,scmr,scmb}}
-\newcommand*\setschinesegothicfont{\pxcz@setfont{scgr,scgb,scgx,scgu,scmgr}}
-\newcommand*\setschineselightminchofont{\pxcz@setfont@dx{scml}}
-\newcommand*\setschinesemediumminchofont{\pxcz@setfont@dx{scmr}}
-\newcommand*\setschineseboldminchofont{\pxcz@setfont@dx{scmb}}
-\newcommand*\setschinesemediumgothicfont{\pxcz@setfont@dx{scgr}}
-\newcommand*\setschineseboldgothicfont{\pxcz@setfont@dx{scgb}}
-\newcommand*\setschinesexboldgothicfont{\pxcz@setfont@dx{scgx}}
-\newcommand*\setschineseoneweightgothicfont{\pxcz@setfont@dx{scgu}}
-\newcommand*\setschinesemarugothicfont{\pxcz@setfont@dx{scmgr}}
-
-\newcommand*\settchineseminchofont{\pxcz@setfont{tcml,tcmr,tcmb}}
-\newcommand*\settchinesegothicfont{\pxcz@setfont{tcgr,tcgb,tcgx,tcgu,tcmgr}}
-\newcommand*\settchineselightminchofont{\pxcz@setfont@dx{tcml}}
-\newcommand*\settchinesemediumminchofont{\pxcz@setfont@dx{tcmr}}
-\newcommand*\settchineseboldminchofont{\pxcz@setfont@dx{tcmb}}
-\newcommand*\settchinesemediumgothicfont{\pxcz@setfont@dx{tcgr}}
-\newcommand*\settchineseboldgothicfont{\pxcz@setfont@dx{tcgb}}
-\newcommand*\settchinesexboldgothicfont{\pxcz@setfont@dx{tcgx}}
-\newcommand*\settchineseoneweightgothicfont{\pxcz@setfont@dx{tcgu}}
-\newcommand*\settchinesemarugothicfont{\pxcz@setfont@dx{tcmgr}}
+% japanese
+\pxcz@Z\newrobustcmd*\setminchofont{\pxcz@setfont{mnl,mnr,mnb}}
+\pxcz@Z\newrobustcmd*\setgothicfont{\pxcz@setfont{gtr,gtb,gtx,gtu}}
+\pxcz@Z\newrobustcmd*\setlightminchofont{\pxcz@setdf{mnl}}
+\pxcz@Z\newrobustcmd*\setmediumminchofont{\pxcz@setdf{mnr}}
+\pxcz@Z\newrobustcmd*\setboldminchofont{\pxcz@setdf{mnb}}
+\pxcz@Z\newrobustcmd*\setmediumgothicfont{\pxcz@setdf{gtr}}
+\pxcz@Z\newrobustcmd*\setboldgothicfont{\pxcz@setdf{gtb}}
+\pxcz@Z\newrobustcmd*\setxboldgothicfont{\pxcz@setdf{gtx}}
+\pxcz@Z\newrobustcmd*\setoneweightgothicfont{\pxcz@setdf{gtu}}
+\pxcz@Z\newrobustcmd*\setmarugothicfont{\pxcz@setdf{mgr}}
+% korean
+\pxcz@Z\newrobustcmd*\setkoreanminchofont{%
+ \pxcz@setfont{koml,komr,komb}}
+\pxcz@Z\newrobustcmd*\setkoreangothicfont{%
+ \pxcz@setfont{kogr,kogb,kogx,kogu,komgr}}
+\pxcz@Z\newrobustcmd*\setkoreanlightminchofont{\pxcz@setdf{koml}}
+\pxcz@Z\newrobustcmd*\setkoreanmediumminchofont{\pxcz@setdf{komr}}
+\pxcz@Z\newrobustcmd*\setkoreanboldminchofont{\pxcz@setdf{komb}}
+\pxcz@Z\newrobustcmd*\setkoreanmediumgothicfont{\pxcz@setdf{kogr}}
+\pxcz@Z\newrobustcmd*\setkoreanboldgothicfont{\pxcz@setdf{kogb}}
+\pxcz@Z\newrobustcmd*\setkoreanxboldgothicfont{\pxcz@setdf{kogx}}
+\pxcz@Z\newrobustcmd*\setkoreanoneweightgothicfont{\pxcz@setdf{kogu}}
+\pxcz@Z\newrobustcmd*\setkoreanmarugothicfont{\pxcz@setdf{komgr}}
+% schinese
+\pxcz@Z\newrobustcmd*\setschineseminchofont{%
+ \pxcz@setfont{scml,scmr,scmb}}
+\pxcz@Z\newrobustcmd*\setschinesegothicfont{%
+ \pxcz@setfont{scgr,scgb,scgx,scgu,scmgr}}
+\pxcz@Z\newrobustcmd*\setschineselightminchofont{\pxcz@setdf{scml}}
+\pxcz@Z\newrobustcmd*\setschinesemediumminchofont{\pxcz@setdf{scmr}}
+\pxcz@Z\newrobustcmd*\setschineseboldminchofont{\pxcz@setdf{scmb}}
+\pxcz@Z\newrobustcmd*\setschinesemediumgothicfont{\pxcz@setdf{scgr}}
+\pxcz@Z\newrobustcmd*\setschineseboldgothicfont{\pxcz@setdf{scgb}}
+\pxcz@Z\newrobustcmd*\setschinesexboldgothicfont{\pxcz@setdf{scgx}}
+\pxcz@Z\newrobustcmd*\setschineseoneweightgothicfont{\pxcz@setdf{scgu}}
+\pxcz@Z\newrobustcmd*\setschinesemarugothicfont{\pxcz@setdf{scmgr}}
+% tchinese
+\pxcz@Z\newrobustcmd*\settchineseminchofont{%
+ \pxcz@setfont{tcml,tcmr,tcmb}}
+\pxcz@Z\newrobustcmd*\settchinesegothicfont{%
+ \pxcz@setfont{tcgr,tcgb,tcgx,tcgu,tcmgr}}
+\pxcz@Z\newrobustcmd*\settchineselightminchofont{\pxcz@setdf{tcml}}
+\pxcz@Z\newrobustcmd*\settchinesemediumminchofont{\pxcz@setdf{tcmr}}
+\pxcz@Z\newrobustcmd*\settchineseboldminchofont{\pxcz@setdf{tcmb}}
+\pxcz@Z\newrobustcmd*\settchinesemediumgothicfont{\pxcz@setdf{tcgr}}
+\pxcz@Z\newrobustcmd*\settchineseboldgothicfont{\pxcz@setdf{tcgb}}
+\pxcz@Z\newrobustcmd*\settchinesexboldgothicfont{\pxcz@setdf{tcgx}}
+\pxcz@Z\newrobustcmd*\settchineseoneweightgothicfont{\pxcz@setdf{tcgu}}
+\pxcz@Z\newrobustcmd*\settchinesemarugothicfont{\pxcz@setdf{tcmgr}}
\pxcz@onlypreamble@def\pxcz@setfont#1{\@ifnextchar[%]
{\pxcz@setfont@a{#1}}{\pxcz@setfont@a{#1}[0]}}
-\pxcz@onlypreamble@def\pxcz@setfont@dx{%
+\pxcz@onlypreamble@def\pxcz@setdf{%
\pxcz@deluxe@usedtrue\pxcz@setfont}
\pxcz@onlypreamble@def\pxcz@setfont@a#1[#2]#3{%
\edef\pxcz@tmpa{#3}\pxcz@lower\pxcz@tmpa
@@ -742,22 +847,21 @@
\@for\pxcz@x:=\pxcz@sym@list\do{%
\@namedef{pxcz@FS/\pxcz@x}{}}
-%%<*> \maybemultiweight
-\newcommand*\maybemultiweight{%
- \let\pxchfonMaybeMultiweight=t}
-
% check for usage of multi-weight commands
-\ifx t\pxchfonMaybeMultiweight\else
- \AtBeginDocument{%
- \ifpxcz@deluxe@used\ifpxcz@otf@deluxe\else
+\g@addto@macro\pxcz@first@doc@hook{%
+ \ifx t\pxchfonMaybeMultiweight % for compatibility
+ \let\pxchfonNoCheckMultiweight=t%
+ \fi
+ \ifx\pxchfonNoCheckMultiweight\@undefined
+ \ifpxcz@deluxe@used\if d\pxcz@otf@weight\else
\PackageWarningNoLine\pxcz@pkgname
{Setting for multi-weight usage of japanese-otf\MessageBreak
font set is employed, but 'deluxe' option\MessageBreak
of japanese-otf is not enabled!\MessageBreak
You should specify 'maybe-multiweight' option\MessageBreak
if you really intend the present setting}
- \fi\fi}
-\fi
+ \fi\fi
+ \fi}
%--------------------------------------- fontmap internals
@@ -777,9 +881,9 @@
\def\pxcz@cmap@hwuni{UniJIS-UCS2-HW-H}
%%<*> \usecmapforalphabet/\nousecmapforalphabet
-\newcommand*\usecmapforalphabet{%
+\pxcz@Z\newrobustcmd*\usecmapforalphabet{%
\global\pxcz@cmap@alphatrue}
-\newcommand*\nousecmapforalphabet{%
+\pxcz@Z\newrobustcmd*\nousecmapforalphabet{%
\global\pxcz@cmap@alphafalse}
%% \pxcz@NEF/<sym>
@@ -800,42 +904,56 @@
%%<+> \JaFontReplacementFor{<sym>}
\newcommand*\JaFontReplacementFor[1]{%
\csname pxcz@FS/#1\endcsname}
+\@namedef{pxcz@FS/*}{\pxcz@empty}
%%<+> \JaFontReplacementHook{<code>}
\@onlypreamble\JaFontReplacementHook
-\newcommand*\JaFontReplacementHook{%
+\pxcz@Z\newrobustcmd*\JaFontReplacementHook{%
\g@addto@macro\pxcz@user@hook}
\let\pxcz@user@hook\@empty
%%<+> \JaFontUserDefinedMap
\@onlypreamble\JaFontUserDefinedMap
-\newcommand*\JaFontUserDefinedMap{%
+\pxcz@Z\newrobustcmd*\JaFontUserDefinedMap{%
\g@addto@macro\pxcz@user@map}
-\let\pxcz@user@map\@empty
-\@namedef{pxcz@FS/*}{\pxcz@empty}
-
-%%<+> \usefontmapline{<map-line>}
-\@onlypreamble\usefontmapline
-\newcommand*\usefontmapline[1]{%
- \JaFontUserDefinedMap{\pxcz@addtospec@alt\pxcz@mapline{#1}}}
-
-%%<+> \usefontmapfile{<map-file>}
-\@onlypreamble\usefontmapfile
-\newcommand*\usefontmapfile[1]{%
- \JaFontUserDefinedMap{\pxcz@addtospec@alt\pxcz@mapfile{#1}}}
+\pxcz@onlypreamble@let\pxcz@user@map\@empty
%% \pxcz@check@extra
% Executed at the begin-document hook.
\@onlypreamble\pxcz@check@extra
\let\pxcz@check@extra\@empty
+%% \pxcz@addtospec@aux{<name>}{<text>}
+\pxcz@onlypreamble@def\pxcz@addtospec@aux#1#2{%
+ \xdef\pxcz@spec{\pxcz@spec\noexpand\special{pdf:#1 #2}}%
+}
+
+%%<*> \usefontmapline{<map-line>}
+\@onlypreamble\usefontmapline
+\pxcz@Z\newrobustcmd*\usefontmapline[1]{%
+ \JaFontUserDefinedMap{\pxcz@add@mapline{#1}}%
+}
+%%<*> \usefontmapfile{<map-file>}
+\@onlypreamble\usefontmapfile
+\pxcz@Z\newrobustcmd*\usefontmapfile[1]{%
+ \JaFontUserDefinedMap{\pxcz@add@mapfile{#1}}%
+}
+%% \pxcz@add@mapfile{<map-file>}
+\pxcz@onlypreamble@def\pxcz@add@mapfile{%
+ \pxcz@addtospec@aux{mapfile}%
+}
+%% \pxcz@add@mapline{<map-line>}
+\pxcz@onlypreamble@def\pxcz@add@mapline{%
+ \pxcz@addtospec@aux{mapline}%
+}
+
%--------------------------------------- map entry handling
%%<*> \setnewglyphcmapprefix{<str>}
\def\pxcz@pfx@jis@dflt{2004-}
\def\pxcz@pfx@jis@star{JISX0213-2004-}
\@onlypreamble\setnewglyphcmapprefix
-\newcommand*\setnewglyphcmapprefix{%
+\pxcz@Z\newrobustcmd*\setnewglyphcmapprefix{%
\@ifstar{\pxcz@set@pfx@jis\pxcz@pfx@jis@star}%
{\pxcz@set@pfx@jis}}
\def\pxcz@set@pfx@jis#1{%
@@ -887,18 +1005,6 @@
\ifx\pxcz@font\@empty
\else\ifx\pxcz@font\pxcz@noembed
\else
- \pxcz@inspect@font@tribe@a{?SourceHanSerif-}{.otf?}{sourcehan}%
- \pxcz@inspect@font@tribe@a{?SourceHanSans-}{.otf?}{sourcehan}%
- \pxcz@inspect@font@tribe@a{?:0:SourceHanSerif-}{.ttc?}{sourcehanC}%
- \pxcz@inspect@font@tribe@a{?:0:SourceHanSans-}{.ttc?}{sourcehanC}%
- \pxcz@inspect@font@tribe@a{?NotoSerifCJKjp-}{.otf?}{noto}%
- \pxcz@inspect@font@tribe@a{?NotoSansCJKjp-}{.otf?}{noto}%
- \pxcz@inspect@font@tribe@a{?:0:NotoSerifCJK-}{.ttc?}{notoC}%
- \pxcz@inspect@font@tribe@a{?:0:NotoSansCJK-}{.ttc?}{notoC}%
- \pxcz@inspect@font@tribe@a{?yumin}{.ttf?}{yumin}%
- \pxcz@inspect@font@tribe@a{?YUMIN}{.TTF?}{yuminU}%
- \pxcz@inspect@font@tribe@a{:YuGoth}{.ttc?}{yugoth}%
- \pxcz@inspect@font@tribe@a{:YUGOTH}{.TTC?}{yugoth}%
\pxcz@inspect@font@tribe@a{:moga}{.ttc?}{mogamobo}%
\pxcz@inspect@font@tribe@a{:mobo}{.ttc?}{mogamobo}%
\fi\fi
@@ -919,7 +1025,7 @@
%% \pxcz@switch@font@for{<feature>}
% Modifies \pxcz@font, assuming \pxcz@font@tribe is properly set.
\pxcz@onlypreamble@def\pxcz@switch@font@for#1{%
- \pxcz@csletcs{pxcz@tmpb}{pxcz@switch@font@@\pxcz@font@tribe @#1}%
+ \pxcz@letcs\pxcz@tmpb{pxcz@switch@font@@\pxcz@font@tribe @#1}%
\ifx\pxcz@tmpb\relax\else
%\typeout{#1:\pxcz@font-->\expandafter\pxcz@tmpb\pxcz@font}%
\edef\pxcz@font{\expandafter\pxcz@tmpb\pxcz@font}%
@@ -1085,11 +1191,9 @@
\fi\fi
% output it
\ifx\pxcz@font\pxcz@kill@mapping
- \xdef\pxcz@spec{\pxcz@spec\noexpand\special{%
- \pxcz@mapline{-#2}}}%
+ \pxcz@add@mapline{-#2}%
\else\ifx\pxcz@font\@empty\else
- \xdef\pxcz@spec{\pxcz@spec\noexpand\special{%
- \pxcz@mapline{#2 \pxcz@cmap\space\pxcz@font\pxcz@mopts}}}%
+ \pxcz@add@mapline{#2 \pxcz@cmap\space\pxcz@font\pxcz@mopts}%
\fi\fi}
%% \pxcz@do@file@preset
@@ -1116,13 +1220,7 @@
\ifpxcz@uptex \pxcz@use@mapfile@b{uptex-#1-#2}\fi
\ifpxcz@otf \pxcz@use@mapfile@b{otf-#1-#2}\fi}
\pxcz@onlypreamble@def\pxcz@use@mapfile@b#1{%
- \pxcz@addtospec@alt\pxcz@mapfile{#1.map}}
-
-%% \pxcz@addtospec@alt
-\def\pxcz@addtospec@alt#1#2{%
- \xdef\pxcz@spec{\pxcz@spec\noexpand\special{#1{#2}}}}
-\def\pxcz@mapfile#1{pdf:mapfile #1}
-\def\pxcz@mapline#1{pdf:mapline #1}
+ \pxcz@add@mapfile{#1.map}}
%--------------------------------------- map entry definitions
@@ -1435,15 +1533,15 @@
\else
\ifnum\pxcz@unicode<\pxcz@unicode@@simple\else
\pxcz@diruni@oktrue % 'unicode=UTF' does not need otf
- \AtBeginDocument{% loading otf later causes inconsistency
+ \g@addto@macro\pxcz@first@doc@hook{%
+ % loading otf later causes inconsistency
\@ifpackageloaded{otf}{\pxcz@diruni@okfalse}{}}%
\fi
\fi
\fi
%%<*> \diruni
-\newcommand*{\diruni}{\pxcz@diruni}
-\DeclareRobustCommand*{\pxcz@diruni}{%
+\pxcz@Z\newrobustcmd*\diruni{%
\not@math@alphabet\diruni\relax
\ifx\cy@encoding\pxcz@JYn % if in standard Japanese encoding
\expandafter\let\csname UTF \endcsname\pxcz@du@UTF
@@ -1452,10 +1550,9 @@
}
%%<*> \textdiruni{<text>}
-\@ifdefinable{\textdiruni}{%
- \DeclareRobustCommand*{\textdiruni}[1]{%
- \relax\ifmmode\hbox\fi{\pxcz@diruni#1}%
- }}
+\pxcz@Z\newrobustcmd*\textdiruni[1]{%
+ \relax\ifmmode\hbox\fi{\diruni#1}%
+}
%% \pxcz@du@UTF
\def\pxcz@du@UTF#1{%
@@ -1476,7 +1573,7 @@
\ifcase\pxcz@unicode with 'unicode' option%
\else pxchfon after 'otf' package%
\fi .\MessageBreak\@ehc}}
-\AtBeginDocument{%
+\g@addto@macro\pxcz@first@doc@hook{%
\ifpxcz@diruni@ok \let\pxcz@err@diruni\relax
\else \let\pxcz@diruni\pxcz@err@diruni
\fi}
@@ -1526,7 +1623,7 @@
\fi
\fi\fi\fi
-\AtBeginDocument{%
+\g@addto@macro\pxcz@first@doc@hook{%
\def\pxcz@do#1#2#3{%
\DeclareFontShape{#1}{#2}{#3}{diruni}{<->ssub*#2/#3/n}{}}%
\@for\pxcz@tmpa:={\rmdefault,\sfdefault,\ttdefault}\do{%
@@ -1547,25 +1644,25 @@
\fi %---- </diruni-ok>
%--------------------------------------- 'glyphid'
+\ifnum\pxcz@glyphid>0 %---- <*glyphid>
-%% \pxcz@geta
-\chardef\pxcz@geta=\jis"222E\relax
-
-\ifnum\pxcz@glyphid=2 %---- <*glyphid>
+\ifnum\pxcz@glyphid=2 %---- <*glyphid-ok>
%% check integrity
\ifpxcz@otf@loaded\else
- \AtBeginDocument{% loading otf later causes inconsistency
+ \g@addto@macro\pxcz@first@doc@hook{%
+ % loading otf later causes inconsistency
\@ifpackageloaded{otf}{%
\PackageWarningNoLine\pxcz@pkgname
{The option 'glyphid' will not work. You must\MessageBreak
load pxchfon after 'otf' package}%
- \def\gid{\pxcz@gid@fb}}{}}
+ \def\pxcz@gid{\pxcz@gid@fb}%
+ \chardef\pxcz@glyphid=1
+ }{}}
\fi
-%%<*> \gid{<number>}
-\newcommand*{\gid}{\pxcz@gid}
-\DeclareRobustCommand*{\pxcz@gid}[1]{%
+%% \pxcz@gid{<number>}
+\def\pxcz@gid#1{%
\begingroup
\kanjishape{dirgid}\selectfont
\kchar#1\pxcz@gid@jfm@sync
@@ -1608,108 +1705,38 @@
\pxcz@dg@decl@shape{gt}{bx}f{ssub*gt/m/dirgid}{}%
\fi\fi\fi
-\fi %---- </glyphid>
-
-\ifnum\pxcz@glyphid>0
- %% \pxcz@gid@fb
- \providecommand*{\gid}{\pxcz@gid@fb}
- \DeclareRobustCommand*{\pxcz@gid@fb}[1]{%
- \begingroup \kchar\pxcz@geta \endgroup}
-
- % redefinition in PDF-strings
- \begingroup \kansujichar1=\pxcz@geta \kcatcode\pxcz@geta=18
- \xdef\pxcz@hy@gid#1{\kansuji1}
- \endgroup
- \pxcz@hy@disable@commands{%
- \let\gid\pxcz@hy@gid}
-\fi
-
-%--------------------------------------- 'alphabet' option
-
-%% check for textcomp
-\newif\ifpxcz@textcomp
-\ifx\DeclareEncodingSubset\@undefined\else
- \expandafter\ifx\csname T@TS1\endcsname\relax\else
- \pxcz@textcomptrue
-\fi\fi
+\fi %---- </glyphid-ok>
-%% \pxcz@afont@enc@list
-\def\pxcz@afont@enc@list{OT1,T1}
-\ifpxcz@textcomp \g@addto@macro\pxcz@afont@enc@list{,TS1}\fi
-%% \pxcz@decl@family{<fam>}
-\pxcz@onlypreamble@def\pxcz@decl@family#1{%
- \ifpxcz@textcomp \DeclareEncodingSubset{TS1}{#1}{3}\fi
- \@for\pxcz@x:=\pxcz@afont@enc@list\do{%
- \DeclareFontFamily{\pxcz@x}{#1}{}}}
-%% \pxcz@decl@shape{<fam>}{<ser>}<sw>{<font>}
-\pxcz@onlypreamble@def\pxcz@decl@shape#1#2#3#4{%
- \if s#3%
- \@for\pxcz@x:=\pxcz@afont@enc@list\do{%
- \DeclareFontShape{\pxcz@x}{#1}{#2}{n}{<->ssub*#4}{}}%
+%%<*> \gid{<number>}
+\pxcz@Z\newrobustcmd*\gid{\pxcz@gid}
+
+%% \pxcz@gid@fb
+\def\pxcz@gid@fb#1{%
+ \begingroup
+ \pxcz@geta
+ \endgroup}
+\providecommand*\pxcz@gid{\pxcz@gid@fb}
+
+% redefinition in PDF-strings
+\def\pxcz@hy@gid#1{%
+ \ifx\pxjahyperBadCharacter\@undefined
+ \pxcz@geta
\else
- \DeclareFontShape{OT1}{#1}{#2}{n}{<->#4-l5j}{}%
- \DeclareFontShape {T1}{#1}{#2}{n}{<->#4-t1}{}%
- \ifpxcz@textcomp
- \DeclareFontShape{TS1}{#1}{#2}{n}{<->#4-ts1}{}%
- \fi
+ \pxjahyperBadCharacter{GID+#1}%
\fi
- \@for\pxcz@x:=\pxcz@afont@enc@list\do{%
- \DeclareFontShape{\pxcz@x}{#1}{#2}{it}{<->ssub*#1/#2/n}{}%
- \DeclareFontShape{\pxcz@x}{#1}{#2}{sl}{<->ssub*#1/#2/n}{}}}
-
-\ifpxcz@alphafont %---- <*alphabet>
-\ifpxcz@otf@deluxe %---- <*otfdx> : otf with deluxe option
- % define families cfjar & cfjas
-\pxcz@decl@family{cfjar}%
-\pxcz@decl@shape{cfjar}{l}n{cfjar-l}%
-\pxcz@decl@shape{cfjar}{m}n{cfjar-r}%
-\pxcz@decl@shape{cfjar}{bx}n{cfjar-b}%
-\pxcz@decl@family{cfjas}%
-\pxcz@decl@shape{cfjas}{m}n{cfjas-r}%
-\pxcz@decl@shape{cfjas}{bx}n{cfjas-b}%
-\pxcz@decl@shape{cfjas}{eb}n{cfjas-x}%
-\pxcz@decl@family{cfjam}%
-\pxcz@decl@shape{cfjam}{m}n{cfjam-r}%
- % redefine \ltseries & \ebseries so they affect roman font
-\let\ltseries\relax \let\ebseries\relax
-\DeclareRobustCommand\ltseries{%
- \not@math@alphabet\ltseries\relax
- \fontseries\ltdefault\selectfont}%
-\DeclareRobustCommand\ebseries{%
- \not@math@alphabet\ebseries\relax
- \fontseries\ebdefault\selectfont}%
-\else %---- <*!otfdx>
-\pxcz@decl@family{cfjar}%
-\pxcz@decl@shape{cfjar}{m}n{cfjar-r}%
-\pxcz@decl@shape{cfjar}{bx}s{cfjas/m/n}%
-\pxcz@decl@family{cfjas}%
-\pxcz@decl@shape{cfjas}{m}n{cfjas-r}%
-\pxcz@decl@shape{cfjas}{bx}s{cfjas/m/n}%
-\pxcz@onlypreamble@def\pxcz@err@dxotf#1{%
- \PackageError\pxcz@pkgname
- {Loaded before '#1' with 'deluxe'}%
- {This package must be loaded after '#1' with 'deluxe' option
- when using both.}}
-\g@addto@macro\pxcz@check@extra{%
- \expandafter\let\expandafter\pxcz@x\csname pxcz@FS/mnr\endcsname
- \ifx\pxcz@x\@empty\else
- % if mnr is replaced but gtr is not then ...
- \expandafter\ifx\csname pxcz@FS/gtr\endcsname\@empty
- {\expandafter\let\csname pxcz@FS/gtr\endcsname\pxcz@x
- \pxcz@Entry{gtr}{r-cfjas-r-@PXcjk0@}{unicode}{HWid}}%
- \fi\fi
- \@ifpackagewith{otf}{deluxe}{\pxcz@err@dxotf{otf}}{}%
}
-\fi %---- </otfdx>
-\fi %---- </alphabet>
+ \pxcz@hy@disable@commands{%
+ \let\gid\pxcz@hy@gid}
-%--------------------------------------- begin-document hook
+\fi %---- </glyphid>
+%--------------------------------------- 'pxchfon0' submodule
+\ifpxcz@lite@mode\else
-%% variables
-\let\pxcz@afont@enc\relax
+%% load the submodule
+\input{pxchfon0.def}
-%% \pxcz@mgfamily@hook
-\def\pxcz@mgfamily@hook{\romanfamily{cfjam}}
+\fi
+%--------------------------------------- begin-document hook
%% \pxcz@set@page@hook{<text>}
\ifpxcz@old@hook@system %----
@@ -1740,37 +1767,14 @@
\expandafter\ifx\csname pxcz@FS/\pxcz@x\endcsname\@empty
\pxcz@okfalse \fi}}
-%% \pxcz@decl@relfont{<fam>}{<afam>}{<ser>,...}
-\pxcz@onlypreamble@def\pxcz@decl@relfont#1#2#3{%
- \@for\pxcz@x:={#3}\do{%
- \expandafter\ifx\csname\k@encoding/#1/\pxcz@x/n\endcsname\relax\else
- \edef\pxcz@tmpa{\noexpand\DeclareRelationFont
- {\k@encoding}{#1}{\pxcz@x}{}{\pxcz@afont@enc}{#2}{\pxcz@x}{}%
- }\pxcz@tmpa
- \fi}%
- \PackageInfo\pxcz@pkgname
- {Relation font set for \k@encoding/#1}}
-
-%% \pxcz@check@afont@enc
-\pxcz@onlypreamble@def\pxcz@check@afont@enc{%
- \pxcz@oktrue % OT1 is always okay
- \expandafter\ifx\csname\pxcz@afont@enc+cfjar\endcsname\relax
- \pxcz@okfalse \fi
- % if not okay, use OT1 instead
- \ifpxcz@ok\else \def\pxcz@afont@enc{OT1}\fi}
-
-%% \pxcz@set@bfdefault@to@bx{<doc-ser>}
-\pxcz@onlypreamble@let\pxcz@set@bfdefault@to@bx\@gobble
-\ifx\DeclareFontSeriesDefault\@undefined\else
- \def\pxcz@set@bfdefault@to@bx#1{%
- \DeclareFontSeriesDefault[#1]{bf}{bx}}
-\fi
-
%% the begin-document hook
\pxcz@onlypreamble@def\pxcz@doc@hook{%
\ifpxcz@otf
\@ifpackageloaded{otf}{\pxcz@otftrue}{\pxcz@otffalse}%
\@ifpackageloaded{utf}{\pxcz@utftrue}{\pxcz@utffalse}%
+ \ifx\pxchfonNoCheckMultiweight\@undefined\else
+ \pxcz@otftrue
+ \fi
\fi
\pxcz@user@hook
\let\pxcz@use@do\pxcz@use@mapfile
@@ -1782,44 +1786,11 @@
\pxcz@inspect@flavor@all
\fi
\if t\pxcz@alphabet % 'alphabet'
- \pxcz@check@alldefined{mnl,mnr,mnb}\ifpxcz@ok
- \renewcommand\rmdefault{cfjar}%
- \pxcz@set@bfdefault@to@bx{rm}%
- \fi
- \pxcz@check@alldefined{gtr,gtb,gtx}\ifpxcz@ok
- \renewcommand\sfdefault{cfjas}%
- \pxcz@set@bfdefault@to@bx{sf}%
- \fi
- % attach hook to \mgfamily if mgr font is defined
- \pxcz@check@alldefined{mgr}\ifpxcz@ok\ifpxcz@otf@deluxe
- \begingroup
- \def\pxcz@x##1{\toks@\expandafter{##1}%
- \xdef##1{\noexpand\pxcz@mgfamily@hook\the\toks@}%
- }\expandafter\pxcz@x\csname mgfamily \endcsname
- \endgroup
- \fi\fi
- % decide alphabet font encoding
- \edef\pxcz@afont@enc{\encodingdefault}%
- \pxcz@check@afont@enc\ifpxcz@ok\else
- \PackageWarningNoLine\pxcz@pkgname
- {Default encoding is changed to 'OT1' because%
- \MessageBreak'alphabet' option is in effect}%
- \renewcommand\encodingdefault{OT1}%
- \fi
- \normalfont
+ \pxcz@setup@alphabet
\pxcz@addtospec{ALPHA}%
\fi
\if r\pxcz@alphabet % 'relfont'
- \edef\pxcz@afont@enc{\encodingdefault}%
- \pxcz@check@afont@enc
- \pxcz@check@alldefined{mnl,mnr,mnb}%
- \ifpxcz@ok \pxcz@decl@relfont\mcdefault{cfjar}{m,bx,l}\fi
- \pxcz@check@alldefined{gtr,gtb,gtx}%
- \ifpxcz@ok \pxcz@decl@relfont\gtdefault{cfjas}{m,bx,eb}\fi
- \pxcz@check@alldefined{mgr}%
- \ifpxcz@ok\ifpxcz@otf@deluxe
- \pxcz@decl@relfont\mgdefault{cfjam}{m}%
- \fi\fi
+ \pxcz@setup@relfont
\pxcz@addtospec{ALPHA}%
\fi
\ifpxcz@uptex\else
@@ -1843,24 +1814,34 @@
\ifpxcz@utf \pxcz@addtospec{UTF}%
\fi
% warn if some weights are not substituted, and if necessaty
- \ifpxcz@warn@unless@all@defined
- \ifpxcz@otf@deluxe
+ \ifx\pxcz@warn@unless@all@defined@for\@empty\else
+ \if d\pxcz@otf@weight
\pxcz@check@alldefined{mnl,mnr,mnb,gtr,gtb,gtx,mgr}%
\else \pxcz@check@alldefined{mnr,mnb,gtr,gtb}%
\fi
\ifpxcz@ok\else
+ \def\do##1{\MessageBreak - ##1}%
\PackageWarningNoLine\pxcz@pkgname
- {Some font weights are not substituted.\MessageBreak
- So some features of pxchfon might not work\MessageBreak
- properly when applied to such weights}%
+ {There are some weights that font files are\MessageBreak
+ not specified for. It is possibly okay,\MessageBreak
+ but some features of pxchfon (listed below)\MessageBreak
+ might not work properly when applied to\MessageBreak
+ such weights.%
+ \pxcz@warn@unless@all@defined@for
+ \expandafter\@gobble}% gobble the period
\fi
\fi
% warn if some weights are not embedded, and if necessaty
- \ifpxcz@warn@unless@all@embedded \ifpxcz@noembed@used
+ \ifx\pxcz@warn@unless@all@embedded@for\@empty\else
+ \ifpxcz@noembed@used
+ \def\do##1{\MessageBreak - ##1}%
\PackageWarningNoLine\pxcz@pkgname
{Some font weights have no-embed setting.\MessageBreak
- So some features of pxchfon might not work\MessageBreak
- properly when applied to such weights}%
+ So some features of pxchfon (listed below)\MessageBreak
+ might not work properly when applied to\MessageBreak
+ such weights.%
+ \pxcz@warn@unless@all@embedded@for
+ \expandafter\@gobble}% gobble the period
\fi\fi
%
\pxcz@check@extra
@@ -1868,7 +1849,7 @@
\ifpxcz@enabled
\pxcz@set@page@hook{\pxcz@spec}%
\else\ifx\pxcz@spec\@empty\else
- \PackageWarningNoLine\pxcz@pkgname
+ \pxcz@PackageNoteNoLine\pxcz@pkgname
{Font mapping is disabled, since the driver in use\MessageBreak
is not dvipdfmx}%
\fi\fi
@@ -2090,7 +2071,7 @@
\ifpxcz@autojfmsync %---- <*autojfmsync>
% Makes \git/\CID/\UTF do automatically jfmsync
\let\pxcz@gid@jfm@sync\pxcz@jfm@sync
-\AtBeginDocument{%
+\g@addto@macro\pxcz@first@doc@hook{%
\ifx\put@character\@undefined\else
\g@addto@macro\put@character{\pxcz@jfm@sync}%
\fi
diff --git a/macros/jptex/latex/pxchfon/pxchfon.tex b/macros/jptex/latex/pxchfon/pxchfon.tex
index b58048a15b..6c47ce3d84 100644
--- a/macros/jptex/latex/pxchfon/pxchfon.tex
+++ b/macros/jptex/latex/pxchfon/pxchfon.tex
@@ -14,15 +14,17 @@
pdfauthor={八登崇之}}
\usepackage{bxtexlogo}
\bxtexlogoimport{*,logo-e}
-\usepackage{shortvrb}
+\usepackage{shortvrb,alltt}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{2.0}
-\newcommand{\PkgDate}{2023/08/28}
+\newcommand{\PkgVersion}{2.2}
+\newcommand{\PkgDate}{2024/08/22}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
+\newcommand{\RMeta}[1]{{\rmfamily\Meta{#1}}}
\newcommand{\Note}{\par\noindent ※}
\newcommand{\Means}{:\ }
\newcommand{\Zk}{\mbox{}}
+\newcommand{\cs}[1]{\symbol{`\\}#1}
\providecommand{\Strong}[1]{\textsf{#1}}
%-----------------------------------------------------------
\begin{document}
@@ -88,9 +90,10 @@ OpenTypeフォントをユーザが指定する機能を提供する。
\begin{itemize}
\item \Strong{ドライバオプション}\Means
- |dvipdfmx|、|dvips|、|dviout|、|xdvi| および |nodvidriver|%
- (ドライバ依存動作の無効化を明示的に指示)
+ |dvipdfmx|、|dvips|、|dviout|、|xdvi| %
が指定できる。
+ \footnote{「上級者向け」の一覧にある |nodvidriver|
+ と |resetdvidriver| もドライバオプションの一種である。}%
ただし、本パッケージの主要機能である
「フォントマップの文書内での指定」
がサポートされるのは\Strong{dvipdfmxのみ}である。
@@ -144,7 +147,8 @@ OpenTypeフォントをユーザが指定する機能を提供する。
今でもこの動作は維持されているが、
2.0版以降はこの既定設定を利用することは\Strong{非推奨}%
\footnote{プリセット指定オプションの有無により既定が変わる仕様は
- 好ましくないため。}%
+ 好ましくないため。
+ 2.1版以降では警告が出る。}%
となり、プリセット不使用の場合は
3つのオプションの何れかを指定することが推奨される。
\item |otf|(既定)\Means
@@ -194,6 +198,12 @@ OpenTypeフォントをユーザが指定する機能を提供する。
\paragraph{上級者向けオプション}
\begin{itemize}
+\item |nodvidriver|\Means
+ 特殊なドライバオプションで、
+ ドライバ依存動作の無効化を明示的に指示する。
+\item |resetdvidriver|\Means
+ |nodvidriver| の否定。
+ \Note ドライバ指定は既定値である |dvipdfmx| に戻る。
\item |relfont|\Means
指定された和文フォントの英数字部分を({\pLaTeX}の標準機能である)
\Strong{従属欧文フォント}として設定する。
@@ -281,7 +291,7 @@ OpenTypeフォントをユーザが指定する機能を提供する。
Unicode直接指定が有効である場合に、
全角幅のグリフを優先させる。
\Note 全角幅想定の文字が使える可能性が増えるという利点がある一方で、
- 半角幅想定の文字が使える可能性が減るという欠点もある。
+ 半角幅想定の文字が使えなくなるという欠点もある。
\item |nofullwidth|(既定)\Means
|fullwidth| の否定。
\item |legacycode=|\Meta{値}\Means
@@ -325,12 +335,12 @@ OpenTypeフォントをユーザが指定する機能を提供する。
\item |maybe-multiweight|\Means
「|deluxe| オプション付きの\Pkg{japanese-otf}パッケージが読み込まれて
いないにもかかわらず多ウェイト用のフォント設定命令が使われた」
- 際に出る警告を抑止する。%
- \footnote{例えば
- 「単ウェイト・多ウェイト兼用を意図したフォント設定命令を
- テンプレートに記述している」
- 「\Pkg{japanese-otf}以外でその和文TFMを流用している」
- などの状況を想定している。}
+ 場合に出る警告を抑止する。
+\item |nocheck-expert|\Means
+ 「Unicode 直接指定と |expert| オプションが有効で、
+ かつ置換されていないウェイトが存在する」
+ 場合に出る警告を抑止する。
+ \Note 警告抑止オプションについては\ref{sec:Suppress-Warnings}を参照。
\end{itemize}
%===========================================================
@@ -442,6 +452,17 @@ OpenTypeフォントをユーザが指定する機能を提供する。
\paragraph{上級者向け機能}
\begin{itemize}
+\item |\pxchfonsetup{|\Meta{設定}|,…}|\Means
+ 設定を変更する。
+ 設定可能なパラメタは以下の通り。
+ \Note 真偽値をとるパラメタでは、値を省略した場合は |true|
+ と等価となる。
+ \Note 残念ながら、実装の都合のためパッケージ読込後に変更可能な
+ 設定項目はかなり少ない。
+ \begin{itemize}
+ \item |jis2004|[|=|\Meta{真偽値}]\Means
+ オプションの (|no|)|jis2004| と同じ。
+ \end{itemize}
\item |\usecmapforalphabet|\Means
|usecmapforalphabet| オプションの設定に切り替える。
(\ref{sec:Loading}節を参照。)
@@ -466,6 +487,21 @@ OpenTypeフォントをユーザが指定する機能を提供する。
\item |\usefontmapline{|\Meta{マップ行}|}|\Means
dvipdfmxのマップ行を直接指定して、その読込を指示する。
\Note pdf{\TeX}の |\pdfmapline| に相当する機能。
+\item |usefontmaplines| 環境\Means
+ 複数のマップ行を一度に記述できる環境。
+ \footnote{|usefontmaplines| 環境の中では、
+ {\LaTeX}の特殊文字のうち |\| と空白だけが通常のの規則に従う。
+ 改行は各マップ行の区切りの意味をもつ。
+ \texttt{\%} は行末までをコメントにするが、改行は維持される。
+ 他の文字(|{| |}| も含む)はその文字自体と解釈される。
+ 他の注意として、|\end{usefontmaplines}| は行頭に書く必要がある。}
+\begin{quote}\small\begin{alltt}
+\cs{begin}\{usefontmaplines\}
+\RMeta{マップ行}
+\RMeta{マップ行}
+……
+\cs{end}\{usefontmaplines\}
+\end{alltt}\end{quote}
\item |\diruni|\Means
現在の和文フォントを“Unicode直接入力”
(フォントマップをUnicode直接指定にした上で
@@ -1636,5 +1672,67 @@ r-cfjam-r-@PXcjk0@ msgothic.ttc FontIndex=0
\end{itemize}
%===========================================================
+\section{警告抑止用のオプション・開発者用フラグ}
+\label{sec:Suppress-Warnings}
+
+本パッケージのオプション設定は極めて複雑なため、使用法によっては
+「動作が極めて解りにくい状態」
+や
+「ユーザ命令の範囲ではサポートされない状態」
+といった“奇妙な”状態に移行していまうことがある。
+一方で
+「そういう“奇妙な”設定を解った上で敢えて利用している」
+「本パッケージ以外の手段で生成したフォントマップ行を併用している」
+などの理由で、“奇妙な”設定が正当である可能性もある。
+このため、現状の方針としては
+「“奇妙な”状態になった場合は(エラーでなく
+\footnote{将来的に、警告抑止の手段が十分に周知された段階で、
+ エラーに移行することも考えられる。})
+\Strong{警告を出す}」
+ことにしている。
+
+しかし、正当に利用している人にとってはこの警告は煩わしいはずなので、
+特定の警告を抑止するための手段を用意する。
+警告抑止の方法は「オプション」と「開発者用フラグ」
+の2種類がある。
+
+\paragraph{開発者用フラグ}
+開発者用フラグ
+\footnote{開発者用の機能であるため、ここでは{\TeX}言語の知識を仮定する。}
+とは、例えば |\pxchfonNoCheckMultiweight| のように、
+本パッケージが指定する特定の制御綴のことである。
+制御綴が\Strong{定義済である}場合にフラグが有効であると判断する。
+従って、本パッケージの機能と連携するパッケージの開発者は、
+\begin{quote}\small\begin{verbatim}
+\let\pxchfonNoCheckMultiweight=t
+\end{verbatim}\end{quote}
+のようなコードを実行することで、不要な警告を抑止できる。
+\Note 定義済であれば意味は何でもよいが、上記コードのように
+「文字トークンの|t|」を使うことを推奨する。
+
+\paragraph{オプション・開発者用フラグの一覧}
+以下のものが用意されている。
+
+\begin{itemize}
+\item |maybe-multiweight| オプション/%
+ |\pxchfonNoCheckMultiweight| フラグ\Means
+ 「|deluxe| オプション付きの\Pkg{japanese-otf}パッケージが読み込まれて
+ いないにもかかわらず多ウェイト用のフォント設定命令が使われた」
+ 場合に出る警告を抑止する。
+ \Note 例えば
+ 「単ウェイト・多ウェイト兼用を意図したフォント設定命令を
+ テンプレートに記述している」
+ 「\Pkg{japanese-otf}以外でその和文TFMを流用している」
+ などの状況を想定している。
+ \Note 有効化した場合、たとえ\Pkg{japanese-otf}が読み込まれていなくても
+ \Pkg{japanese-otf}用のフォントマップ行を書き込む。
+\item |nocheck-expert| オプション/%
+ |\pxchfonNoCheckExpert| フラグ\Means
+ 「Unicode 直接指定と |expert| オプションが有効で、
+ かつ置換されていないウェイトが存在する」
+ 場合に出る警告を抑止する。
+\end{itemize}
+
+%===========================================================
\end{document}
%% EOF
diff --git a/macros/jptex/latex/pxchfon/pxchfon0.def b/macros/jptex/latex/pxchfon/pxchfon0.def
index 1be68f098f..1a78b75eb9 100644
--- a/macros/jptex/latex/pxchfon/pxchfon0.def
+++ b/macros/jptex/latex/pxchfon/pxchfon0.def
@@ -1,4 +1,235 @@
-% pxchfon0.def
-% This file does nothing; it exists for check for full installation.
-\relax
-% EOF
+%%
+%% This is file 'pxchfon0.def'.
+%%
+%% Copyright (c) 2009-2024 Takayuki YATO (aka. "ZR")
+%% GitHub: https://github.com/zr-tex8r
+%% Twitter: @zr_tex8r
+%%
+%% This package is distributed under the MIT License.
+%%
+
+%% package declaration
+\NeedsTeXFormat{pLaTeX2e}
+\ProvidesFile{pxchfon0.def}[2024/08/22 v2.2]
+\providecommand{\bxDebug}[1]{}
+
+%--------------------------------------- general
+
+%% variables
+\newif\ifpxcz@textcomp
+
+%--------------------------------------- 'alphabet' option
+\ifpxcz@alphafont
+
+%% check for textcomp
+\ifx\DeclareEncodingSubset\@undefined\else
+ \expandafter\ifx\csname T@TS1\endcsname\relax\else
+ \pxcz@textcomptrue
+\fi\fi
+
+%% \pxcz@afont@enc@list
+\def\pxcz@afont@enc@list{OT1,T1}
+\ifpxcz@textcomp \g@addto@macro\pxcz@afont@enc@list{,TS1}\fi
+%% \pxcz@decl@family{<fam>}
+\pxcz@onlypreamble@def\pxcz@decl@family#1{%
+ \ifpxcz@textcomp \DeclareEncodingSubset{TS1}{#1}{3}\fi
+ \@for\pxcz@x:=\pxcz@afont@enc@list\do{%
+ \DeclareFontFamily{\pxcz@x}{#1}{}}}
+%% \pxcz@decl@shape{<fam>}{<ser>}<sw>{<font>}
+\pxcz@onlypreamble@def\pxcz@decl@shape#1#2#3#4{%
+ \if s#3%
+ \@for\pxcz@x:=\pxcz@afont@enc@list\do{%
+ \DeclareFontShape{\pxcz@x}{#1}{#2}{n}{<->ssub*#4}{}}%
+ \else
+ \DeclareFontShape{OT1}{#1}{#2}{n}{<->#4-l5j}{}%
+ \DeclareFontShape {T1}{#1}{#2}{n}{<->#4-t1}{}%
+ \ifpxcz@textcomp
+ \DeclareFontShape{TS1}{#1}{#2}{n}{<->#4-ts1}{}%
+ \fi
+ \fi
+ \@for\pxcz@x:=\pxcz@afont@enc@list\do{%
+ \DeclareFontShape{\pxcz@x}{#1}{#2}{it}{<->ssub*#1/#2/n}{}%
+ \DeclareFontShape{\pxcz@x}{#1}{#2}{sl}{<->ssub*#1/#2/n}{}}}
+
+\if d\pxcz@otf@weight %---- <*otfdx> : otf with deluxe option
+ % define families cfjar & cfjas
+\pxcz@decl@family{cfjar}%
+\pxcz@decl@shape{cfjar}{l}n{cfjar-l}%
+\pxcz@decl@shape{cfjar}{m}n{cfjar-r}%
+\pxcz@decl@shape{cfjar}{bx}n{cfjar-b}%
+\pxcz@decl@family{cfjas}%
+\pxcz@decl@shape{cfjas}{m}n{cfjas-r}%
+\pxcz@decl@shape{cfjas}{bx}n{cfjas-b}%
+\pxcz@decl@shape{cfjas}{eb}n{cfjas-x}%
+\pxcz@decl@family{cfjam}%
+\pxcz@decl@shape{cfjam}{m}n{cfjam-r}%
+ % redefine \ltseries & \ebseries so they affect roman font
+\let\ltseries\relax \let\ebseries\relax
+\DeclareRobustCommand\ltseries{%
+ \not@math@alphabet\ltseries\relax
+ \fontseries\ltdefault\selectfont}%
+\DeclareRobustCommand\ebseries{%
+ \not@math@alphabet\ebseries\relax
+ \fontseries\ebdefault\selectfont}%
+\else %---- <*!otfdx>
+\pxcz@decl@family{cfjar}%
+\pxcz@decl@shape{cfjar}{m}n{cfjar-r}%
+\pxcz@decl@shape{cfjar}{bx}s{cfjas/m/n}%
+\pxcz@decl@family{cfjas}%
+\pxcz@decl@shape{cfjas}{m}n{cfjas-r}%
+\pxcz@decl@shape{cfjas}{bx}s{cfjas/m/n}%
+\pxcz@onlypreamble@def\pxcz@err@dxotf#1{%
+ \PackageError\pxcz@pkgname
+ {Loaded before '#1' with 'deluxe'}%
+ {This package must be loaded after '#1' with 'deluxe' option
+ when using both.}}
+\g@addto@macro\pxcz@check@extra{%
+ \expandafter\let\expandafter\pxcz@x\csname pxcz@FS/mnr\endcsname
+ \ifx\pxcz@x\@empty\else
+ % if mnr is replaced but gtr is not then ...
+ \expandafter\ifx\csname pxcz@FS/gtr\endcsname\@empty
+ {\expandafter\let\csname pxcz@FS/gtr\endcsname\pxcz@x
+ \pxcz@Entry{gtr}{r-cfjas-r-@PXcjk0@}{unicode}{HWid}}%
+ \fi\fi
+ \@ifpackagewith{otf}{deluxe}{\pxcz@err@dxotf{otf}}{}%
+}
+\fi %---- </otfdx>
+
+\fi
+%--------------------------------------- begin-document hook
+\ifpxcz@alphafont
+
+%% variables
+\let\pxcz@afont@enc\relax
+
+%% \pxcz@mgfamily@hook
+\def\pxcz@mgfamily@hook{\romanfamily{cfjam}}
+
+%% \pxcz@decl@relfont{<fam>}{<afam>}{<ser>,...}
+\pxcz@onlypreamble@def\pxcz@decl@relfont#1#2#3{%
+ \@for\pxcz@x:={#3}\do{%
+ \expandafter\ifx\csname\k@encoding/#1/\pxcz@x/n\endcsname\relax\else
+ \edef\pxcz@tmpa{\noexpand\DeclareRelationFont
+ {\k@encoding}{#1}{\pxcz@x}{}{\pxcz@afont@enc}{#2}{\pxcz@x}{}%
+ }\pxcz@tmpa
+ \fi}%
+ \PackageInfo\pxcz@pkgname
+ {Relation font set for \k@encoding/#1}}
+
+%% \pxcz@check@afont@enc
+\pxcz@onlypreamble@def\pxcz@check@afont@enc{%
+ \pxcz@oktrue % OT1 is always okay
+ \expandafter\ifx\csname\pxcz@afont@enc+cfjar\endcsname\relax
+ \pxcz@okfalse \fi
+ % if not okay, use OT1 instead
+ \ifpxcz@ok\else \def\pxcz@afont@enc{OT1}\fi}
+
+%% \pxcz@set@bfdefault@to@bx{<doc-ser>}
+\pxcz@onlypreamble@let\pxcz@set@bfdefault@to@bx\@gobble
+\ifx\DeclareFontSeriesDefault\@undefined\else
+ \def\pxcz@set@bfdefault@to@bx#1{%
+ \DeclareFontSeriesDefault[#1]{bf}{bx}}
+\fi
+
+%% \pxcz@setup@alphabet
+\pxcz@onlypreamble@def\pxcz@setup@alphabet{%
+ \pxcz@check@alldefined{mnl,mnr,mnb}\ifpxcz@ok
+ \renewcommand\rmdefault{cfjar}%
+ \pxcz@set@bfdefault@to@bx{rm}%
+ \fi
+ \pxcz@check@alldefined{gtr,gtb,gtx}\ifpxcz@ok
+ \renewcommand\sfdefault{cfjas}%
+ \pxcz@set@bfdefault@to@bx{sf}%
+ \fi
+ % attach hook to \mgfamily if mgr font is defined
+ \pxcz@check@alldefined{mgr}\ifpxcz@ok\if d\pxcz@otf@weight
+ \begingroup
+ \def\pxcz@x##1{\toks@\expandafter{##1}%
+ \xdef##1{\noexpand\pxcz@mgfamily@hook\the\toks@}%
+ }\expandafter\pxcz@x\csname mgfamily \endcsname
+ \endgroup
+ \fi\fi
+ % decide alphabet font encoding
+ \edef\pxcz@afont@enc{\encodingdefault}%
+ \pxcz@check@afont@enc\ifpxcz@ok\else
+ \PackageWarningNoLine\pxcz@pkgname
+ {Default encoding is changed to 'OT1' because%
+ \MessageBreak'alphabet' option is in effect}%
+ \renewcommand\encodingdefault{OT1}%
+ \fi
+ \normalfont
+}
+
+%% \pxcz@setup@relfont
+\pxcz@onlypreamble@def\pxcz@setup@relfont{%
+ \edef\pxcz@afont@enc{\encodingdefault}%
+ \pxcz@check@afont@enc
+ \pxcz@check@alldefined{mnl,mnr,mnb}%
+ \ifpxcz@ok \pxcz@decl@relfont\mcdefault{cfjar}{m,bx,l}\fi
+ \pxcz@check@alldefined{gtr,gtb,gtx}%
+ \ifpxcz@ok \pxcz@decl@relfont\gtdefault{cfjas}{m,bx,eb}\fi
+ \pxcz@check@alldefined{mgr}%
+ \ifpxcz@ok\if d\pxcz@otf@weight
+ \pxcz@decl@relfont\mgdefault{cfjam}{m}%
+ \fi\fi
+}
+
+\fi
+%--------------------------------------- 'usefontmaplines'
+
+%%<*> \begin{usefontmaplines}
+% <map-line>
+% ...
+% \end{usefontmaplines}
+\@onlypreamble\usefontmaplines
+\newenvironment{usefontmaplines}{%
+ \catcode`\{=12 \catcode`\}=12 \catcode`\&=12 \catcode`\#=12
+ \catcode`\^=12 \catcode`\~=12 \catcode`\%=12 \catcode13=12
+ \catcode32=10 \endlinechar=13
+ \let\pxcz@tmp@end\end \let\begin\relax \let\end\relax
+ \let\par\@empty \let\ \space \def\pxcz@tmp@end@{\end}%
+ \pxcz@maplines@a
+}{}
+\@onlypreamble\pxcz@maplines@a
+\long\def\pxcz@maplines@a#1{%
+ \def\pxcz@tmpa{#1}\pxcz@cond\ifx\pxcz@tmpa\pxcz@tmp@end@\fi{%
+ \catcode`\{=1 \catcode`\}=2
+ \pxcz@tmp@end
+ }{%else
+ \pxcz@maplines@b#1%
+ }%
+}
+\@onlypreamble\pxcz@maplines@b
+\begingroup \catcode13=12
+\long\gdef\pxcz@maplines@b#1^^M{%
+ \pxcz@maplines@line#1\pxcz@mk%
+ \pxcz@maplines@a%
+}%
+\endgroup
+\@onlypreamble\pxcz@maplines@line
+\long\def\pxcz@maplines@line#1\pxcz@mk{%
+ \edef\pxcz@tmpa{#1}%
+ \pxcz@split{\@percentchar}{\pxcz@tmpa}%
+ \ifx\pxcz@pre\relax\else \let\pxcz@tmpa\pxcz@pre \fi
+ \pxcz@split{\end}{\pxcz@tmpa}%
+ \ifx\pxcz@pre\relax
+ \pxcz@split{\space\pxcz@mk}{\pxcz@tmpa\pxcz@mk}%
+ \ifx\pxcz@pre\relax\else \let\pxcz@tmpa\pxcz@pre \fi
+ \ifx\pxcz@tmpa\@empty\else
+ \expandafter\usefontmapline\expandafter{\pxcz@tmpa}%
+ \fi
+ \else % '\end' found inside the line
+ \pxcz@maplines@err
+ \fi
+}
+\pxcz@onlypreamble@def\pxcz@maplines@err{%
+ \PackageError\pxcz@pkgname
+ {'\string\end{usefontmaplines}' must be put at the top\MessageBreak
+ of a line}%
+ {\@ehc}%
+ \def\pxcz@maplines@a{\pxcz@tmp@end{usefontmaplines}}%
+}
+
+%--------------------------------------- all done
+\endinput
+%% EOF
diff --git a/macros/jptex/latex/pxchfon/sample/sample-2000jis.pdf b/macros/jptex/latex/pxchfon/sample/sample-2000jis.pdf
index e9034e19a9..bad0442fea 100644
--- a/macros/jptex/latex/pxchfon/sample/sample-2000jis.pdf
+++ b/macros/jptex/latex/pxchfon/sample/sample-2000jis.pdf
Binary files differ
diff --git a/macros/jptex/latex/pxchfon/sample/sample-2000jis.tex b/macros/jptex/latex/pxchfon/sample/sample-2000jis.tex
index d8f11703aa..3a83ddb397 100644
--- a/macros/jptex/latex/pxchfon/sample/sample-2000jis.tex
+++ b/macros/jptex/latex/pxchfon/sample/sample-2000jis.tex
@@ -1,7 +1,8 @@
-% 文字コードはUTF-8 (platex -kanji=utf8)
-\documentclass[a6paper,papersize]{jsarticle}
-\usepackage[noembed,noprefer2004jis]{pxchfon} % no-embed
-%\usepackage[hiragino-pron,noprefer2004jis]{pxchfon} % embed Hiragino ProN
+% pLaTeX document; UTF-8 (platex -kanji=utf8)
+% This file is in public domain.
+\documentclass[a6paper,dvipdfmx,papersize,nojis2004]{jsarticle}
+\usepackage[ipaex]{pxchfon} % embed IPAex fonts
+%\usepackage[hiragino-pron]{pxchfon} % embed Hiragino ProN
\begin{document}
葛餅で蓬餅で、かつ煎餅!
\end{document}
diff --git a/macros/jptex/latex/pxchfon/sample/sample-2004jis.pdf b/macros/jptex/latex/pxchfon/sample/sample-2004jis.pdf
index 27e567b8e0..698b4bc254 100644
--- a/macros/jptex/latex/pxchfon/sample/sample-2004jis.pdf
+++ b/macros/jptex/latex/pxchfon/sample/sample-2004jis.pdf
Binary files differ
diff --git a/macros/jptex/latex/pxchfon/sample/sample-2004jis.tex b/macros/jptex/latex/pxchfon/sample/sample-2004jis.tex
index 2563674efc..3cfe0c5079 100644
--- a/macros/jptex/latex/pxchfon/sample/sample-2004jis.tex
+++ b/macros/jptex/latex/pxchfon/sample/sample-2004jis.tex
@@ -1,7 +1,8 @@
-% 文字コードはUTF-8 (platex -kanji=utf8)
-\documentclass[a6paper,papersize]{jsarticle}
-\usepackage[noembed,prefer2004jis]{pxchfon} % no-embed
-%\usepackage[hiragino-pron,prefer2004jis]{pxchfon} % embed Hiragino ProN
+% pLaTeX document; UTF-8 (platex -kanji=utf8)
+% This file is in public domain.
+\documentclass[a6paper,dvipdfmx,papersize,jis2004]{jsarticle}
+\usepackage[ipaex]{pxchfon} % embed IPAex fonts
+%\usepackage[hiragino-pron]{pxchfon} % embed Hiragino ProN
\begin{document}
葛餅で蓬餅で、かつ煎餅!
\end{document}
diff --git a/macros/jptex/latex/pxchfon/sample/sample-pxchfon.pdf b/macros/jptex/latex/pxchfon/sample/sample-pxchfon.pdf
index 38ed09884e..e5d4a966cd 100644
--- a/macros/jptex/latex/pxchfon/sample/sample-pxchfon.pdf
+++ b/macros/jptex/latex/pxchfon/sample/sample-pxchfon.pdf
Binary files differ
diff --git a/macros/jptex/latex/pxchfon/sample/sample-pxchfon.tex b/macros/jptex/latex/pxchfon/sample/sample-pxchfon.tex
index 504b1eb411..ed5f8697fc 100644
--- a/macros/jptex/latex/pxchfon/sample/sample-pxchfon.tex
+++ b/macros/jptex/latex/pxchfon/sample/sample-pxchfon.tex
@@ -1,6 +1,7 @@
-% 文字コードはUTF-8 (platex -kanji=utf8)
+% pLaTeX文書; UTF-8 (platex -kanji=utf8)
+% This file is in public domain.
\documentclass[a4paper]{jsarticle}
-\usepackage{pxchfon}
+\usepackage[alphabet]{pxchfon}% 欧文にも適用
\setminchofont[0]{hgrgy.ttc} % HG行書体
\setgothicfont[0]{hgrpp1.ttc} % HG創英角ポップ体
\usepackage{otf}
@@ -12,7 +13,7 @@
\begin{document}
\title{pxchfon パッケージ}
\author{ZR}
-\date{2009 年 3 月 29 日}
+\date{2024 年 8 月 8 日}
\maketitle
\section{はじめに}
@@ -36,20 +37,18 @@
\item 一度インストールすると、それだけで任意の日本語フォントに
適用できる。
\begin{enumerate}
- \item しかも和文のみを置き換える場合なら、インストールも簡単。
\item 置き換えるフォントは、{\LaTeX} 文書内でファイル名で
指定する。
+ \item とても簡単。
\end{enumerate}
\item ただし、等幅のフォントしか利用できない。
\begin{enumerate}
\item 欧文も等幅(半角)になってしまう。
- \item しかもアクセント付文字・非英語文字(
- {\fontfamily{cmr}\selectfont \'e, \ss} 等)が使えない。
- \item 残念。
+ \item とても残念。
\end{enumerate}
\item dvipdfmx 専用。
\begin{enumerate}
- \item 非常に残念。
+ \item チョット残念。
\end{enumerate}
\end{enumerate}
diff --git a/macros/jptex/latex/pxjahyper/LICENSE b/macros/jptex/latex/pxjahyper/LICENSE
index 5cf6f6fb2d..7b1201927e 100644
--- a/macros/jptex/latex/pxjahyper/LICENSE
+++ b/macros/jptex/latex/pxjahyper/LICENSE
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2012-2023 Takayuki YATO (aka. "ZR")
+Copyright (c) 2012-2024 Takayuki YATO (aka. "ZR")
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/macros/jptex/latex/pxjahyper/README-ja.md b/macros/jptex/latex/pxjahyper/README-ja.md
index 57a117c3d5..88d23a45da 100644
--- a/macros/jptex/latex/pxjahyper/README-ja.md
+++ b/macros/jptex/latex/pxjahyper/README-ja.md
@@ -73,6 +73,14 @@ pxjahyper-enc パッケージ ー 文字コード設定
更新履歴
--------
+ * Version 1.4 〈2024/08/14〉
+ - 設定キー `fallback-warn` を追加。
+ - 設定キー `fallback-cidm` を追加。
+ - `force-unicode` オプションを非推奨とし、警告を出す。
+ - 開発者用命令 `\pxjahyperBadCharacter` を追加。
+ - オプション `autodvidriver`、`fallback-geta`、`fallback-delete`
+ を非推奨にする。
+
* Version 1.3 〈2023/03/01〉
- “pTeX + hyperref unicode モード”を正式にサポートする。これに
伴い、unicode モードに関する警告を削除。
diff --git a/macros/jptex/latex/pxjahyper/README.md b/macros/jptex/latex/pxjahyper/README.md
index b6193b1698..5b13a6de89 100644
--- a/macros/jptex/latex/pxjahyper/README.md
+++ b/macros/jptex/latex/pxjahyper/README.md
@@ -52,6 +52,7 @@ the PDF strings in the output DVI file.
Revision History
----------------
+ * Version 1.4 〈2024/08/14〉
* Version 1.3 〈2023/03/01〉
* Version 1.2a 〈2022/10/19〉
* Version 1.2 〈2022/05/27〉
diff --git a/macros/jptex/latex/pxjahyper/pxjahyper-ajm.def b/macros/jptex/latex/pxjahyper/pxjahyper-ajm.def
index 331dcd32f2..d584942789 100644
--- a/macros/jptex/latex/pxjahyper/pxjahyper-ajm.def
+++ b/macros/jptex/latex/pxjahyper/pxjahyper-ajm.def
@@ -1,7 +1,7 @@
%%
%% This is file 'pxjahyper-ajm.def'.
%%
-%% Copyright (c) 2012-2023 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2012-2024 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -11,7 +11,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxjahyper-ajm.def}[2023/03/01 v1.3]
+\ProvidesFile{pxjahyper-ajm.def}[2024/08/14 v1.4]
%% avoid multiple loading
\csname pxjahyperajmLoaded\endcsname
diff --git a/macros/jptex/latex/pxjahyper/pxjahyper-enc.sty b/macros/jptex/latex/pxjahyper/pxjahyper-enc.sty
index 2d730c5151..dfbe94f8be 100644
--- a/macros/jptex/latex/pxjahyper/pxjahyper-enc.sty
+++ b/macros/jptex/latex/pxjahyper/pxjahyper-enc.sty
@@ -1,7 +1,7 @@
%%
%% This is file 'pxjahyper-enc.sty'.
%%
-%% Copyright (c) 2012-2023 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2012-2024 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxjahyper-enc}[2023/03/01 v1.3]
+\ProvidesPackage{pxjahyper-enc}[2024/08/14 v1.4]
\def\pxhe@pkgname{pxjahyper-enc}
\providecommand{\bxDebug}[1]{}
diff --git a/macros/jptex/latex/pxjahyper/pxjahyper-uni.def b/macros/jptex/latex/pxjahyper/pxjahyper-uni.def
index 4ce0174a9e..dee65ec5d6 100644
--- a/macros/jptex/latex/pxjahyper/pxjahyper-uni.def
+++ b/macros/jptex/latex/pxjahyper/pxjahyper-uni.def
@@ -1,7 +1,7 @@
%%
%% This is file 'pxjahyper-uni.def'.
%%
-%% Copyright (c) 2012-2023 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2012-2024 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxjahyper-uni.def}[2023/03/01 v1.3]
+\ProvidesFile{pxjahyper-uni.def}[2024/08/14 v1.4]
\providecommand{\bxDebug}[1]{}
%--------------------------------------- environment check
diff --git a/macros/jptex/latex/pxjahyper/pxjahyper.pdf b/macros/jptex/latex/pxjahyper/pxjahyper.pdf
index e1b4fbe07a..07d88e51e9 100644
--- a/macros/jptex/latex/pxjahyper/pxjahyper.pdf
+++ b/macros/jptex/latex/pxjahyper/pxjahyper.pdf
Binary files differ
diff --git a/macros/jptex/latex/pxjahyper/pxjahyper.sty b/macros/jptex/latex/pxjahyper/pxjahyper.sty
index 9c3652b29f..7cca26784c 100644
--- a/macros/jptex/latex/pxjahyper/pxjahyper.sty
+++ b/macros/jptex/latex/pxjahyper/pxjahyper.sty
@@ -1,7 +1,7 @@
%%
%% This is file 'pxjahyper.sty'.
%%
-%% Copyright (c) 2012-2023 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2012-2024 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxjahyper}[2023/03/01 v1.3]
+\ProvidesPackage{pxjahyper}[2024/08/14 v1.4]
\def\pxhy@pkgname{pxjahyper}
\providecommand{\bxDebug}[1]{}
@@ -51,9 +51,12 @@
\newif\ifpxhy@otfmacros
\newif\ifpxhy@Uchar@avail
\newif\ifpxhy@ucs@avail
+\newif\ifpxhy@toucs@avail
\let\pxhy@jsclasses@name\relax
\newif\ifpxhy@jlreq@cls
\newif\ifpxhy@fallback@geta
+\newif\ifpxhy@fallback@warn
+\newif\ifpxhy@fallback@cidm
\newif\ifpxhy@extjis@map
\newif\ifpxhy@extjis@use
\newif\ifpxhy@ajhankaku@chars
@@ -91,7 +94,7 @@
\DeclareOption{resetdvidriver}{%
\let\pxhy@driver\@undefined
}
-\DeclareOption{autodvidriver}{%
+\DeclareOption{autodvidriver}{% DEPRECATED
\let\pxhy@driver\@undefined
}
\DeclareOption{auto}{% DEPRECATED
@@ -171,14 +174,15 @@
\DeclareOption{nootfmacros}{%
\pxhy@otfmacrosfalse
}
-\DeclareOption{fallback-geta}{%
+\DeclareOption{fallback-geta}{% DEPRECATED
\pxjahypersetup{fallback=geta}%
}
-\DeclareOption{fallback-delete}{%
+\DeclareOption{fallback-delete}{% DEPRECATED
\pxjahypersetup{fallback=delete}%
}
-\DeclareOption{force-unicode}{%
- \let\pxhy@force@unicode=t
+\DeclareOption{force-unicode}{% DEPRECATED
+ \PackageWarningNoLine\pxhy@pkgname
+ {'force-unicode' is DEPRECATED and ignored}%
}
\DeclareOption{disable-Ux}{% for debug
\let\pxhy@disable@Ux=t
@@ -194,6 +198,16 @@
}
\let\pxhy@kv@fallback@@geta\pxhy@fallback@getatrue
\let\pxhy@kv@fallback@@delete\pxhy@fallback@getafalse
+% 'fallback-warn=<bool>'
+\pxhy@fallback@warntrue
+\define@key{\pxhy@pkgname}{fallback-warn}[true]{%
+ \pxhy@handle@key{fallback-warn}{#1}{fallback@warn#1}%
+}
+% 'fallback-cidm=<bool>'
+\pxhy@fallback@cidmtrue
+\define@key{\pxhy@pkgname}{fallback-cidm}[true]{%
+ \pxhy@handle@key{fallback-cidm}{#1}{fallback@cidm#1}%
+}
% 'extjis=<bool>'
\pxhy@extjis@usetrue
\define@key{\pxhy@pkgname}{extjis}[true]{%
@@ -289,6 +303,8 @@
\pxhy@check\Uchar{\pxhy@Uchar@availtrue}
%% pxhy@ucs@avail switch
\pxhy@check\ucs{\pxhy@ucs@availtrue}
+%% pxhy@toucs@avail switch
+\pxhy@check\toucs{\pxhy@toucs@availtrue}
%% pxhy@extjis@map switch
% Note that 'tounicode' is necessary.
@@ -311,6 +327,8 @@
\@ifl@t@r\fmtversion{2021/11/15}{%
\chardef\pxhy@hook@system=2
}{\@ifl@t@r\fmtversion{2020/02/02}{%
+ % NB. We need to support this intermediate version, because
+ % the hook order matters here.
\chardef\pxhy@hook@system=1
}{}}
@@ -328,13 +346,7 @@
\pxhy@uniescapetrue
\fi\fi
-% hyperref 'unicode' is allowed only on upLaTeX.
-\ifnum0\ifpxhy@hy@unicode\ifpxhy@uptex\else
- \ifx t\pxhy@force@unicode\else1\fi\fi\fi>\z@
-% \PackageWarningNoLine\pxhy@pkgname
-% {The support for the hyperref 'unicode' mode\MessageBreak
-% on the pTeX engine is currently experimental}%
-\fi
+% hyperref 'unicode' mode
\ifpxhy@hy@unicode
\pxhy@uniescapefalse
%\pxhy@otfutftrue
@@ -429,8 +441,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\fi
%% \pxhy@geta : GETA MARK
-\pxhy@get@jchar{\jis"222E}
-\let\pxhy@geta\pxhy@jchar
+\pxhy@let@jchar@jc\pxhy@geta{222E}
%% \pxhy@print@geta
\def\pxhy@print@geta{%
@@ -472,6 +483,25 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
}
+%% \pxhy@ifempty{<text>}{<true>}{<false>}
+\def\pxhy@ifempty#1{%
+ \pxhy@cond\ifx\pxhy@mt#1\pxhy@mt\fi
+}
+
+%% \pxhy@read@num{<text>}\CScont
+\def\pxhy@read@num#1{%
+ \expandafter\pxhy@read@num@a\number#1\pxhy@mk#1\pxhy@mk#1\pxhy@mk
+}
+\def\pxhy@read@num@a#1#2\pxhy@mk{%
+ \expandafter\pxhy@read@num@b\romannumeral\if-#1\else-\fi
+}
+\def\pxhy@read@num@b#1\pxhy@mk#2\pxhy@mk{%
+ \expandafter\pxhy@read@num@c\number\pxhy@ifempty{#1}{#2}{}\pxhy@mk
+}
+\def\pxhy@read@num@c#1\pxhy@mk#2{%
+ \pxhy@cond\ifnum#1<\z@\fi{#2{0}}{#2{#1}}%
+}
+
%--------------------------------------- Helpers (e-TeX)
\ifpxhy@etex
@@ -748,6 +778,47 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\noexpand\pxhy@uchex@out{\pxhy@uc@REPL}%
}
+%--------------------------------------- Unavailable characters
+
+%%<+> \pxjahyperBadCharacter{<label>}
+\newcommand*\pxjahyperBadCharacter[1]{%
+ \ifpxhy@fallback@warn
+ % issue a warning
+ \pxhy@bad@character@a{#1}%
+ \fi
+ \pxhy@print@geta
+}
+\def\pxhy@bad@character@a#1{%
+ % Here the control sequence with name <label> is supposed to be
+ % undefined. This token is intentionally left in the stream.
+ % Then this unknown token will be detected by the hyperref process
+ % and cause it to issue an warning
+ % "Token not allowed in a PDF string (... removing `\<label>'".
+ \expandafter\ifx\csname<#1>\endcsname\relax
+ \csname<#1>\endcsname
+ % If the token should be defined, it is replaced for safety.
+ \else \csname pxhy@<#1>\endcsname
+ \fi
+}
+
+%% \pxhy@fallback@num{<prefix>}<fast>{<number>}
+% Makes a bad character with label '<prefix><number>', after parsing
+% the given number input.
+\def\pxhy@fallback@num#1#2#3{%
+ \ifpxhy@fallback@warn
+ \if t#2%
+ \expandafter\pxhy@fallback@num@a\expandafter{\number#3}{#1}%
+ \else
+ \pxhy@read@num{#3}\pxhy@fallback@num@a{#1}%
+ \fi
+ \else
+ \pxjahyperBadCharacter{}%
+ \fi
+}
+\def\pxhy@fallback@num@a#1#2{%
+ \pxjahyperBadCharacter{#2#1}%
+}
+
%--------------------------------------- Hooks to pdfstringdef
%% variables
@@ -760,6 +831,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\ifpxhy@hy@unicode %<*unicode>
%% \pxhy@Ux
+ % In hyperref "unicode" mode, \unichar is used.
\def\pxhy@Ux{\pxhy@uchex}%
\pxhy@utfXVIfalse
\def\pxhy@uchex@out#1{%
@@ -770,6 +842,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\ifpxhy@uptex
%% \pxhy@Ux
+ % On upTeX with \Uchar, \Uchar is used.
\def\pxhy@Ux{\pxhy@uchex}
\pxhy@utfXVIfalse
\def\pxhy@uchex@out#1{\Uchar"#1 }
@@ -777,29 +850,31 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\else\ifpxhy@ucs@avail
%% \pxhy@Ux
+ % On pTeX with \Uchar and \ucs, we convert the Unicode value to
+ % an internal-code value (using \ucs) and apply \Uchar to it.
\def\pxhy@Ux{\pxhy@uchex}
\pxhy@utfXVIfalse
\def\pxhy@uchex@out#1{%
\expandafter\pxhy@uchex@out@a\ucs"#1\pxhy@mk{#1}%
}
\chardef\pxhy@max@asc="7F
- \def\pxhy@uchex@out@a#1\pxhy@mk#2{%
- \ifnum#1<\z@
- \ifnum"#2>\pxhy@max@asc
+ \def\pxhy@uchex@out@a#1\pxhy@mk#2{% #1:internal #2:Unicode
+ \ifnum#1<\z@ % not in internal (or JIS)
+ \ifnum"#2>\pxhy@max@asc % not ASCII
\ifpxhy@extjis@use
+ % try special conversion
\expandafter\pxhy@uchex@out@b\csname
pxhy@uc/\number"#2\endcsname{#2}%
\else \pxhy@uchex@out@b\relax{#2}%
\fi
- \else \Uchar"#2
+ \else \Uchar"#2 % ASCII
\fi
- \else \Uchar#1
+ \else \Uchar#1 % in internal-code
\fi
}
- \def\pxhy@uchex@out@b#1#2{%
- \ifx#1\relax
- \@nameuse{U+#2}%
- \pxhy@print@geta
+ \def\pxhy@uchex@out@b#1#2{% #2:Unicode
+ \ifx#1\relax % not supported
+ \pxjahyperBadCharacter{U+#2}%
\else #1%
\fi
}
@@ -808,6 +883,9 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\else\ifpxhy@uptex %<*upTeX>
%% \pxhy@Ux
+ % On upTeX without \Uchar, we convert the Unicode value to a ja-char
+ % token using \pxhy@get@jchar, which is not fully expandable.
+ % So we need \pdfstringdefPostHook.
\def\pxhy@Ux{\pxhy@uchex}%
\pxhy@utfXVIfalse
@@ -912,7 +990,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\fi
%--------------------------------------- Fix for high-byte protection
-\ifpxhy@etex
+\ifpxhy@hy@unicode\else \ifpxhy@etex
\begingroup
% Check for high-byte protection.
\catcode"EF=\active \catcode`\^=7
@@ -949,7 +1027,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\fi
\endgroup
-\fi
+\fi\fi
%--------------------------------------- Support for 'otfutf'
\ifpxhy@otfutf
@@ -960,8 +1038,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\def\pxhy@UTF{\pxhy@uchex}
\pxhy@utfXVIfalse
\def\pxhy@uchex@out#1{%
- \@nameuse{U+#1}% issue a warning
- \pxhy@print@geta
+ \pxjahyperBadCharacter{U+#1}%
}
\else
\let\pxhy@UTF\pxhy@Ux
@@ -999,26 +1076,22 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
%% \pxhy@CID{<cid>}
\def\pxhy@CID#1{%
- \expandafter\expandafter\expandafter\pxhy@cid@aux
- \bxjaCidToUcsHex{#1}\pxhy@mk{\pxhy@xdetokenize{#1}}%
+ \pxhy@triexpandafter\pxhy@cid@aux\bxjaCidToUcsHex{#1}@f{#1}%
}
%% \pxhy@fast@CID{<cid>}
\def\pxhy@fast@CID#1{%
- \expandafter\expandafter\expandafter\pxhy@cid@aux
- \bxjaFastCidToUcsHex{#1}\pxhy@mk{\number#1}%
+ \pxhy@triexpandafter\pxhy@cid@aux\bxjaFastCidToUcsHex{#1}@t{#1}%
}
\ifx\pxhy@Ux\@undefined
- \def\pxhy@cid@aux#1\pxhy@mk#2{%
- \@nameuse{CID+#2}% issue a warning
- \pxhy@print@geta
+ \def\pxhy@cid@aux#1@#2#3{%
+ \pxhy@fallback@num{CID+}#2{#3}%
}
\else
-\def\pxhy@cid@aux#1\pxhy@mk#2{%
+\def\pxhy@cid@aux#1@#2#3{%
\ifnum"#1>\z@
\pxhy@Ux{#1}%
\else
- \@nameuse{CID+#2}%
- \pxhy@print@geta
+ \pxhy@fallback@num{CID+}#2{#3}%
\fi
}
\fi
@@ -1059,11 +1132,30 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\fi
}
+%% \pxhy@CIDC{<cid>} / \pxhy@CIDK{<cid>} / \pxhy@CIDT{<cid>}
+\def\pxhy@CIDC{\pxhy@fallback@num{CIDC+}f}
+\def\pxhy@CIDK{\pxhy@fallback@num{CIDK+}f}
+\def\pxhy@CIDT{\pxhy@fallback@num{CIDT+}f}
+
+%% \pxhy@dispatch@fallback@cidm
+\@onlypreamble\pxhy@dispatch@fallback@cidm
+\def\pxhy@dispatch@fallback@cidm{%
+ \global\let\pxhy@dispatch@fallback@cidm\relax
+ \ltx@GlobalPrependToMacro\pdfstringdefPreHook{%
+ \ifpxhy@fallback@cidm
+ \let\CIDC\pxhy@CIDC
+ \let\CIDK\pxhy@CIDK
+ \let\CIDT\pxhy@CIDT
+ \fi
+ }%
+}
+
%% enable hooks
\pxhy@hook@after@package{otf}{\pxhy@dispatch@otfcid}
\ifpxhy@otfmacros
\pxhy@hook@after@package{ajmacros}{\pxhy@dispatch@otfmacros}
\fi
+\pxhy@hook@after@package{mlcid}{\pxhy@dispatch@fallback@cidm}
\fi
%--------------------------------------- Extended JIS mapping
@@ -1161,6 +1253,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
%%<+> \pxDeclarePdfTextCommand{\CS}{<jis>}{<ucs>}
\@onlypreamble\pxDeclarePdfTextCommand
\newcommand*\pxDeclarePdfTextCommand[3]{%
+ \pxhy@prepare@txtcmd#1%
\pxhy@decl@pdf@tc{#2}{#3}%
{\DeclareTextCommand{#1}{\pxhy@pdfenc}}%
{\pxhy@revoke@pdf@tc{#1}}%
@@ -1169,6 +1262,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
%%<+> \pxDeclarePdfTextComposite{\CS}{<arg>}{<jis>}{<ucs>}
\@onlypreamble\pxDeclarePdfTextComposite
\newcommand*\pxDeclarePdfTextComposite[4]{%
+ \pxhy@prepare@txtcmd#1%
\pxhy@decl@pdf@tc{#3}{#4}%
{\DeclareTextCompositeCommand{#1}{\pxhy@pdfenc}{#2}}%
{\pxhy@revoke@pdf@tcc{#1}{#2}}%
@@ -1202,8 +1296,8 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
%% \pxhy@decl@pdf@tc
\@onlypreamble\pxhy@decl@pdf@tc
\def\pxhy@decl@pdf@tc#1#2{%
- \edef\pxhy@next{{#1}{\ifx\pxhy@mt#2\pxhy@mt FFFD\else#2\fi}}%
- \expandafter\pxhy@get@body\pxhy@next
+ \edef\pxhy@next{{#1}{#2}}%
+ \uppercase\expandafter{\expandafter\pxhy@get@body\pxhy@next}%
\ifx\pxhy@body\@undefined
\let\pxhy@next\@secondoftwo
\else
@@ -1217,21 +1311,60 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
#2{#1}%
}
+%% \pxhy@prepare@txtcmd\CS
+% If \CS is defined and not an encoding-aware command,
+% let \[?\CS] be equivalent to \CS, so that doing
+% \DeclareTextCommand\CS... will keep the original meaning of \CS.
+\@onlypreamble\pxhy@prepare@txtcmd
+\def\pxhy@next#1#2\pxhy@end{%#1='\',#2='cmd'
+ \def\pxhy@prepare@txtcmd##1{%
+ \ifx##1\@undefined\else
+ \def\pxhy@tmpb{\pxhy@prepare@txtcmd@c##1}%
+ \expandafter\pxhy@prepare@txtcmd@a\meaning##1{}->#1 \pxhy@end
+ \fi
+ }%
+ \def\pxhy@prepare@txtcmd@a##1->#1##2 ##3\pxhy@end{%
+ \pxhy@prepare@txtcmd@b##2_{}-#2_\pxhy@end
+ }%
+ \def\pxhy@prepare@txtcmd@b##1-#2_##2\pxhy@end{%
+ % if not an encoding-aware command...
+ \ifx\pxhy@mt##2\pxhy@mt \pxhy@tmpb \fi
+ }%
+}\expandafter\pxhy@next\string\cmd\pxhy@end
+\def\pxhy@prepare@txtcmd@c#1{%
+ \expandafter\let\csname?\string#1\endcsname#1%
+}
+
%% \pxhy@get@body{<jis>}{<ucs>}
\@onlypreamble\pxhy@get@body
+\@onlypreamble\pxhy@get@body@a
+\def\pxhy@get@body#1#2{%
+ \edef\pxhy@next{%
+ {\ifx\pxhy@mt#1\pxhy@mt -1\else \jis"#1\fi}%
+ {\ifx\pxhy@mt#2\pxhy@mt
+ \ifx\pxhy@mt#1\pxhy@mt -1%
+ \else\ifpxhy@uptex \jis"#1%
+ \else\ifpxhy@toucs@avail \toucs\jis"#1%
+ \else -1\fi\fi\fi
+ \else \number"#2%
+ \fi}}%
+ \expandafter\pxhy@get@body@a\pxhy@next
+}
\ifpxhy@uptex %<*upTeX>
- \def\pxhy@get@body#1#2{%
- \pxhy@get@jchar{\ucs"#2}%
+ \def\pxhy@get@body@a#1#2{%
+ \pxhy@get@jchar{\ifnum#2<\z@ "FFFD\else#2\fi}%
\let\pxhy@body\pxhy@jchar
}%
\else\ifpxhy@hy@unicode %<*unicode>
- \def\pxhy@get@body#1#2{%
- \def\pxhy@body{\unichar{"#2}}%
+ \def\pxhy@get@body@a#1#2{%
+ \edef\pxhy@body{%
+ \noexpand\unichar{\ifnum#2<\z@ "FFFD\else#2\fi}}%
}%
\else\ifpxhy@uniescape %<*uniescape>
\def\pxhy@get@body#1#2{%
\ifx\pxhy@mt#1\pxhy@mt
- \def\pxhy@body{\0x#2}%
+ \edef\pxhy@body{\noexpand\0x%
+ \ifx\pxhy@mt#2\pxhy@mt FFFD\else#2\fi}%
\else
\pxhy@get@jchar{\jis"#1}%
\let\pxhy@body\pxhy@jchar
@@ -1239,14 +1372,14 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
}%
\else %<*!>
\chardef\pxhy@cc@jis@only=1
- \def\pxhy@get@body#1#2{%
- \ifx\pxhy@mt#1\pxhy@mt
- \let\pxhy@body\@undefined
- \else
- \pxhy@get@jchar{\jis"#1}%
- \let\pxhy@body\pxhy@jchar
- \fi
- }%
+ \def\pxhy@get@body@a#1#2{%
+ \ifnum#1<\z@
+ \let\pxhy@body\@undefined
+ \else
+ \pxhy@get@jchar{#1}%
+ \let\pxhy@body\pxhy@jchar
+ \fi
+ }%
\fi\fi\fi %</>
%%%%%%%%%%%%%%%%%%%% the definitions
@@ -1695,14 +1828,14 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
%% register to 'disable' list
\ltx@GlobalPrependToMacro\pdfstringdefPreHook{\pxhy@disable@tc@commands}
-\else %<*!textcmd>
+\else %<*!charcmds>
\@onlypreamble\pxDeclarePdfTextCommand
\newcommand*\pxDeclarePdfTextCommand[3]{}
\@onlypreamble\pxDeclarePdfTextComposite
\newcommand*\pxDeclarePdfTextComposite[4]{}
-\fi %</textcmd>
+\fi %</charcmds>
%--------------------------------------- Enable hyperref unicode
\ifpxhy@hy@unicode
diff --git a/macros/jptex/latex/pxjahyper/pxjahyper.tex b/macros/jptex/latex/pxjahyper/pxjahyper.tex
index 20d410ba65..28745c5fe6 100644
--- a/macros/jptex/latex/pxjahyper/pxjahyper.tex
+++ b/macros/jptex/latex/pxjahyper/pxjahyper.tex
@@ -17,8 +17,8 @@
\usepackage{shortvrb}
\MakeShortVerb{\|}
\usepackage[verb]{bxghost}
-\newcommand{\PkgVersion}{1.3}
-\newcommand{\PkgDate}{2023/03/01}
+\newcommand{\PkgVersion}{1.4}
+\newcommand{\PkgDate}{2024/08/14}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
@@ -37,7 +37,14 @@
(u){\pLaTeX} + hyperref + dvipdfmxの組み合わせで
日本語を含む\Strong{PDF文字列}%
-(“しおり”などの文書情報の文字列)
+(“しおり”などの文書情報の文字列
+\footnote{例えば、|\hypersetup|の|pdftitle|キーに指定する文字列は
+ 「PDF文字列」の一種である。
+ また、|\section|命令の引数のテキストは
+ 「{\TeX}で組版する版面出力」と「PDF文字列」
+ の両方に使われる。
+ 後者のような箇所で「{\TeX}の版面出力」と「PDF文字列」を
+ 別に指定したい場合は|\texorpdfstring|という命令が利用できる。})
をもつPDF文書を作成する場合に必要となる機能を提供する。
\begin{itemize}
\item dvipdfmx用の「tounicode special」について、
@@ -69,6 +76,17 @@
\usepackage[オプション,...]{pxjahyper}
\end{verbatim}\end{quote}
+\paragraph{plautopatchとの関係}
+\Pkg{plautopatch}パッケージが事前に読み込まれている場合は、
+\Pkg{hyperref}が読み込まれるとその直後に自動的に\Pkg{pxjahyper}が
+オプション無しで読み込まれる。
+もし何らかのオプションを指定したい場合は、
+\Pkg{hyperref}の読込より前に|\PassOptionsToPackage|で
+オプションを指定する必要がある。
+\begin{quote}\small\begin{verbatim}
+\PassOptionsToPackage[nopapersize]{pxjahyper}
+\end{verbatim}\end{quote}
+
\paragraph{使用可能なオプション}\mbox{}
\begin{itemize}
\item \Strong{設定キー記述}\Means
@@ -80,17 +98,24 @@
\end{verbatim}\end{quote}
と指定すると、表現不能文字を代替するゲタ文字が出力されなくなる。
\item \Strong{ドライバオプション}\Means
- |dvipdfmx|、|dvips|、および|nodvidriver|%
- (ドライバ依存動作の無効化を明示的に指示、
- 現状ではほとんどの動作が無効になる)
- が指定できる。
- \Note 1.0版において|nodvidriver|の非推奨の別名の|none|は
- \Strong{廃止}された。
- %(0.5版から非推奨だった。)
-\item |resetdvidriver|(既定)\Means
- ドライバオプションを\Pkg{hyperref}のドライバ指定から自動的に判定する。
- \Note 1.1版において名前を|auto|から|resetdvidriver|に変更した。
- 旧名の|auto|は\Strong{非推奨}とする。
+ 以下の値が指定できる。
+ \begin{itemize}
+ \item |dvipdfmx|
+ \item |dvips|
+ \item |resetdvidriver|(既定)\Means
+ \Pkg{hyperref}のドライバ指定から自動的に判定する。
+ \Note 1.1版において名前を|auto|から|resetdvidriver|に変更した。
+ 旧名の|auto|%
+ \footnote{1.0版では|autodvidriver|としていたが、
+ この旧名も\Strong{非推奨}とする。}%
+ は\Strong{非推奨}とする。
+ \item |nodvidriver|\Means
+ ドライバ依存動作の無効化を明示的に指示する。
+ ほとんどの動作が無効になる。
+ \footnote{1.0版において|nodvidriver|の非推奨の別名の|none|は
+ \Strong{廃止}された。}
+ %(0.5版から非推奨だった。)
+ \end{itemize}
\item |tounicode|(既定)\Means
以下の2つの設定を行う。
\begin{enumerate}
@@ -123,7 +148,8 @@
\paragraph{上級者向けオプション}\mbox{}
\begin{itemize}
-\item |otfmacros|(既定)\Means
+\item |otfmacros|(既定
+ \footnote{0.6版より既定を|otfmacros|に変更した。})\Means
\Pkg{japanese-otf}付属の\Pkg{ajmacros}パッケージが提供する
文字入力命令(|\ajMaru|、|\ajLig|等)をPDF文字列中で
“可能な限り”使えるようにする。
@@ -131,7 +157,6 @@
\Note |otfmacros|を有効にする場合は|otfcid|も有効にする必要がある。
\item |nootfmacros|\Means
|otfmacros|の否定。
- \Note 0.6版より既定を|otfmacros|に変更した。
\item |otfutf|(既定)\Means
\Pkg{japanese-otf}パッケージの|\UTF|命令をPDF文字列中で
使えるようにする。
@@ -151,17 +176,28 @@
\Note 詳細は\ref{ssec:disablecmds}節を参照。
\item |nodisablecmds|\Means
|disablecmds|の否定。
-\item |bigcode|(既定)\Means
+\item |charcmds|(既定)\Means
+ {\LaTeX}標準の文字命令をPDF文字列中で使えるようにする。
+\item |nocharcmds|\Means
+ |charcmds|の否定。
+\item |bigcode|(既定
+ \footnote{0.3a版より既定を|bigcode|に変更した。})\Means
{\upTeX}でのToUnicode CMapとしてUTF8-UTF16を用いる。
%(当該のファイルが存在する必要がある。)
\item |nobigcode|\Means
|bigcode|の否定。
{\upTeX}でのToUnicode CMapとしてUTF8-UCS2を用いる。
- \Note 0.3a版より既定を|bigcode|に変更した。
-\item |force-unicode|\Means
+\item |jacommentline|(既定)\Means
+ \Pkg{hyperref}が出力する|.out|ファイルの先頭に日本語の文字を含む
+ コメント行を出力する。
+ \Note {\pTeX}系エンジンの「入力漢字コード自動判定」に対する対策。
+\item |jacommentline|\Means
+ |jacommentline|の否定。
+ \Note 不具合が発生したときのために無効化できるようにしている。
+\item |force-unicode|(1.4版で\Strong{非推奨})\Means
このオプションは何もしない。
- \Note {\pLaTeX}での“unicodeモード”が正式にサポートされたため
- このオプションは不要になった。
+ \footnote{{\pLaTeX}での“unicodeモード”が正式にサポートされたため
+ このオプションは不要になった。}
\end{itemize}
%===========================================================
@@ -185,6 +221,9 @@
\begin{itemize}
\item |fallback=|\Meta{値}\Means
PDF文字列中で表現不能な文字についての代替出力の方法を指定する。
+ \footnote{1.1版ではパッケージオプション
+ (|fallback-geta|/|fallback-delete|)
+ として提供していたが、この方式は\Strong{非推奨}とする。}
\begin{itemize}
\item |geta|(既定)\Means
表現不能な文字をゲタ記号(〓)に置き換える。
@@ -193,6 +232,20 @@
\end{itemize}
\Note 以下、パッケージ動作の解説中で「ゲタ記号を出力」と
ある場合は実際にはこの設定に従う。
+\item |fallback-warn=|\Meta{真偽値}%
+ \footnote{真偽値は|true|/|false|で指定する。}\Means
+ PDF文字列中の表現不能な文字について「ゲタ記号を出力」する際に
+ 警告を出すか。
+ 既定値は真。
+\item |fallback-cidm=|\Meta{真偽値}\Means
+ \Pkg{japanese-otf}パッケージのAJ1\Strong{以外}のCID入力命令
+ (|\CIDC|・|\CIDK|・|\CIDT|)
+ について、PDF文字列中で「ゲタ記号を出力」する動作に置き換えるか。
+ 既定値は真。
+ \Note これらの命令をサポートするような(本パッケージとは別の)
+ 何らかの機能を利用する場合には偽に設定する必要があるかもしれない。
+ \footnote{ただし、本パッケージによる再定義は“優先度を下げて”いる
+ ので、設定が不要である場合もある。}
\end{itemize}
%-------------------
@@ -218,14 +271,15 @@ Unicode符号値入力用の命令が使っているものである。
\begin{itemize}
\item |out2uni|または|convbkmk|が有効の
場合は、エスケープ表記(|\0xUUUU|)を出力する。
- \item エンジンが{\upLaTeX}の場合、あるいは“unicodeモード”
+ \item エンジンが{\upLaTeX}の場合、
+ あるいは\Pkg{hyperref}の“unicodeモード”
(\ref{sec:Unicode-mode}節)が有効の場合は、
当該のUnicode文字自体を書いたのと同等になる。
\item 上記以外で、{\TeX} Live 2022以降の{\pLaTeX}の場合
\footnote{正確にいうと、|\Uchar|と|\ucs|プリミティブをもつ
{\TLe-(u)\pTeX}エンジンである場合。}%
- は、当該のUnicode文字に対応するJIS符号系の文字を書いたのと同等になる。
- JIS符号系にない文字の場合は出力できないので警告を出しだ上で
+ は、当該のUnicode文字に“対応”するJIS符号系の文字を書いたのと同等になる。
+ “対応”する文字がない場合は出力できないので
ゲタ記号を出力する。
\end{itemize}
\item どの条件にも当てはまらない場合は、|\Ux|は無効になる
@@ -249,7 +303,7 @@ PDF文字列中の動作が以下のように変更される。
|\UTF|もゲタ記号になる。}%
になる。
\item それ以外の場合は、
- 常に(警告を出した上で)ゲタ記号を出力する。
+ 常にゲタ記号を出力する。
\end{itemize}
\Note |\UTF|命令の多言語版、
@@ -266,7 +320,7 @@ PDF文字列中で|\CID|が“可能な限り”使えるようにする。
\begin{itemize}
\item 当該のAJ1のグリフに“対応”する\textbf{単独の}Unicode文字が
あればそれを出力し、なければ
- (警告を出した上で)ゲタ記号を出力する。
+ ゲタ記号を出力する。
\footnote{旧版では削除していたが、他の同様の場合と合わせるため
1.0版よりゲタ記号を出力する仕様を変更した。}
\Note 例えば、|\CID{8226}|(ローマ数字12)はUnicode文字の
@@ -275,14 +329,17 @@ PDF文字列中で|\CID|が“可能な限り”使えるようにする。
単独のUnicode文字がないので、ゲタ記号に置き換えられる。
\item ただし|\Ux|命令(\ref{ssec:ux-command}節参照)が
無効になる場合は、そもそもUnicode文字も出力できないため、
- 常に(警告を出した上で)ゲタ記号を出力する。
- 結局情報は欠落するが、それでも未定義動作(エラーになりえる)
+ 常にゲタ記号を出力する。
+ 結局情報は欠落するが、それでも未定義動作(エラーになる可能性もある)
よりは好ましいであろう。
\end{itemize}
+|\CID|命令の多言語版、
+すなわち|\CIDC|・|\CIDK|・|\CIDT|命令についてはサポートされないので、
+常にゲタ記号を出力する。
+
\Note |otfcid|の利用には、エンジンの{\eTeX}拡張および
\Pkg{etoolbox}と\Pkg{bxjatoucs}パッケージが必要。
-\Note |\CID|命令の多言語版はサポートされない。
\paragraph{ajmacrosパッケージの命令}
本パッケージで|otfmacros|オプションを有効にした場合は、
diff --git a/macros/latex-dev/base/README.md b/macros/latex-dev/base/README.md
index 6827494f25..826fbac092 100644
--- a/macros/latex-dev/base/README.md
+++ b/macros/latex-dev/base/README.md
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2024-11-01 pre-release 1
+Release 2024-11-01 pre-release 3
Overview
--------
diff --git a/macros/latex-dev/base/alltt.dtx b/macros/latex-dev/base/alltt.dtx
index 4718c004b4..8fd4ac2db3 100644
--- a/macros/latex-dev/base/alltt.dtx
+++ b/macros/latex-dev/base/alltt.dtx
@@ -40,7 +40,7 @@
%<package>\ProvidesPackage{alltt}
%<driver>\ProvidesFile{alltt.drv}
%\ProvidesFile{alltt.dtx}
- [2024/02/08 v2.0g defines alltt environment]
+ [2024/07/07 v2.0g defines alltt environment]
%
%<*driver>
\documentclass{ltxdoc}
@@ -83,7 +83,7 @@
% Here are some things you may want to do in an \Lenv{alltt}
% environment:
% \begin{itemize}
-% \item Change fonts--e.g., by typing |{\em emphasized text\/}|
+% \item Change fonts--e.g., by typing |\emph{emphasized text}|
%
% \item Insert text from a file \file{foo.tex} by typing
% |\input{foo}|. Beware that each |<return>| starts a new line, so
diff --git a/macros/latex-dev/base/alltt.pdf b/macros/latex-dev/base/alltt.pdf
index 9dd2202199..05dc79e7d4 100644
--- a/macros/latex-dev/base/alltt.pdf
+++ b/macros/latex-dev/base/alltt.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cfgguide.pdf b/macros/latex-dev/base/cfgguide.pdf
index dde0067a4b..3f6c82bdb2 100644
--- a/macros/latex-dev/base/cfgguide.pdf
+++ b/macros/latex-dev/base/cfgguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/changes.txt b/macros/latex-dev/base/changes.txt
index a37facbbc9..e758eebae0 100644
--- a/macros/latex-dev/base/changes.txt
+++ b/macros/latex-dev/base/changes.txt
@@ -6,6 +6,92 @@ to completeness or accuracy and it contains some references to files that are
not part of the distribution.
================================================================================
+2024-08-12 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * ltluatex.dtx:
+ Allow for missing version string in Lua modules (gh/1443)
+
+2024-08-12 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * letter.dtx (subsection{The generic letter commands}):
+ Alter sample address in documentation (gh/1439)
+
+2024-08-10 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * lttagging.dtx: reset flattened level in para/restore
+
+2024-07-27 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * lttagging.dtx: (subsection{Tagging support for table/tabular packages}):
+ Two sockets added to store and restore cell data when nesting tables to keep track
+ of multirow settings.
+
+2024-07-27 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * lttagging.dtx: (subsection{Paragraph sockets}): A socket and plug to restore paragraph
+ setting added.
+
+2024-07-13 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * lttagging.dtx: (subsection{Tagging sockets}): toc-related tagging sockets added.
+
+2024-07-13 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lttagging.dtx (subsection{Tagging support for table/tabular packages}):
+ Sockets for \cs{cline} leaders added (tagging/134)
+
+2024-07-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmiscen.dtx (subsection{Environments}):
+ Drop code chunks before adding them to avoid duplication in
+ rollback (gh/1407)
+
+2024-07-06 Yukai Chou <muzimuzhi@gmail.com>
+
+ * ltcmd.dtx (subsection{User functions}):
+ Trim spaces for envname before existence check (gh/1399)
+ (subsection{Declaring commands and environments}):
+ Simplify \__cmd_declare_env:nnnn, use space-trimmed envname directly
+
+2024-06-23 Yukai Chou <muzimuzhi@gmail.com>
+
+ * ltpara.dtx
+ Append \everypar toks to \g__parar_standard_everypar_tl, rollback
+ 2023/06/01 (gh/1386)
+
+2024-06-24 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltlists.dtx:
+ Changes to \@doendpe, \@endpefalse, and \@endpetrue for
+ new @endpe handling. \if@endpe is now a global switch and
+ migration out of groups is handled via \aftergroup
+
+ * ltmiscen.dtx (subsection{Environments}):
+ Adjust \end<space> for new @endpe handling
+
+ * ltboxes.dtx (section{\LaTeX\ Box commands}):
+ Adjust \color@endgroup for new @endpe handling
+
+2024-06-19 David Carlisle <David.Carlisle@latex-project.org>
+
+ * fontdef.dtx:
+ preload ts1cmr.fd in Unicode engines
+
+2024-06-19 Joseph Wright <Joseph.Wright@latex-project.org>
+ * ltkeys.dtx, clsguide.tex
+ Ensure only key name is stored for option handling
+
+2024-06-19 Joseph Wright <Joseph.Wright@latex-project.org>
+ * ltkeys.dtx, clsguide.tex
+ Refactor class option code
+ Add mechanism to exclude class options from package processing
+
+2024-06-17 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltfssbas.dtx: set \tracinglostchars in \showhyphens. gh/1380
+
+2024-06-13 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lthooks.dtx:
+ Clarify syntax of hook names and behavior of hook rules and default
+ hook rules (gh/1227 & gh/1237)
+
2024-06-04 Yukai Chou <muzimuzhi@gmail.com>
* ltclass.dtx (section{Package/class rollback mechanism}):
@@ -23,6 +109,11 @@ not part of the distribution.
This way the user can still alter \PrintDescribeMacro, etc. in the preamble
(gh/1000)
+2024-06-04 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * ltluatex.dtx:
+ Mark "v" in provides_module() when logging version string
+
2024-06-04 Yukai Chou <muzimuzhi@gmail.com>
* source2e.tex:
diff --git a/macros/latex-dev/base/classes.dtx b/macros/latex-dev/base/classes.dtx
index f7c53f0f71..ce3d902b21 100644
--- a/macros/latex-dev/base/classes.dtx
+++ b/macros/latex-dev/base/classes.dtx
@@ -53,7 +53,7 @@
%<*driver>
\ProvidesFile{classes.drv}
%</driver>
- [2024/02/08 v1.4n
+ [2024/06/29 v1.4n
%<article|report|book> Standard LaTeX document class]
%<10pt|11pt|12pt> Standard LaTeX file (size option)]
% \end{macrocode}
@@ -257,7 +257,7 @@
%
% \begin{macro}{\@ptsize}
% This control sequence is used to store the second digit of the
-% pointsize we are typesetting in. So, normally, it's value is one
+% pointsize we are typesetting in. So, normally, its value is one
% of 0, 1 or 2.
% \begin{macrocode}
%<*article|report|book>
@@ -362,7 +362,7 @@
% with other packages that use the |\@ptsize| variable to select
% special actions. It makes the declarations of size options less
% than 10pt difficult, although one can probably use \texttt{9}
-% and \texttt{8} assuming that a class wont define both
+% and \texttt{8} assuming that a class won't define both
% \Lopt{8pt} and \Lopt{18pt} options.
%
% \begin{macrocode}
@@ -3122,7 +3122,7 @@
%
% \subsubsection{Theorem}
%
-% This document class does not define it's own theorem environments,
+% This document class does not define its own theorem environments,
% the defaults, supplied by the \LaTeX{} format are available.
%
% \subsubsection{Titlepage}
@@ -3130,12 +3130,12 @@
% \begin{environment}{titlepage}
% In the normal environments, the titlepage environment does nothing
% but start and end a page, and inhibit page numbers. When \LaTeX\ is
-% in two-column mode, the environmont temporarily switches to
+% in two-column mode, the environment temporarily switches to
% one-column mode.
% In the report class, it also resets the page number to one, and
% then, in two-column mode, sets it back to one at the end.
% For the book class the environment makes sure that the title page
-% is on a recto page by issueing a \cs{cleardouplepage}-command.
+% is on a recto page by issuing a \cs{cleardoublepage}-command.
% In compatibility mode, it sets the page number to zero. This is
% incorrect since it results in using the page parameters for a
% right-hand page but it is the way it was.
diff --git a/macros/latex-dev/base/classes.pdf b/macros/latex-dev/base/classes.pdf
index dce87c199f..36b0e0668b 100644
--- a/macros/latex-dev/base/classes.pdf
+++ b/macros/latex-dev/base/classes.pdf
Binary files differ
diff --git a/macros/latex-dev/base/clsguide-historic.pdf b/macros/latex-dev/base/clsguide-historic.pdf
index ada84a99cd..2c2cb2acd2 100644
--- a/macros/latex-dev/base/clsguide-historic.pdf
+++ b/macros/latex-dev/base/clsguide-historic.pdf
Binary files differ
diff --git a/macros/latex-dev/base/clsguide.pdf b/macros/latex-dev/base/clsguide.pdf
index cac62ae0c8..878122bd56 100644
--- a/macros/latex-dev/base/clsguide.pdf
+++ b/macros/latex-dev/base/clsguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/clsguide.tex b/macros/latex-dev/base/clsguide.tex
index 6b9e49c4e8..c7c2ac5e2a 100644
--- a/macros/latex-dev/base/clsguide.tex
+++ b/macros/latex-dev/base/clsguide.tex
@@ -42,7 +42,7 @@
\texttt{clsguide.tex} for full details.}%
}
-\date{2024-05-24}
+\date{2024-06-19}
\NewDocumentCommand\cs{m}{\texttt{\textbackslash\detokenize{#1}}}
\NewDocumentCommand\marg{m}{\arg{#1}}
@@ -841,6 +841,9 @@ The basic properties provided here are
\item \texttt{.code} --- execute arbitrary code
\item \texttt{.if} --- sets a \TeX{} |\if...| switch
\item \texttt{.ifnot} --- sets an inverted \TeX{} |\if...| switch
+ \item \texttt{.pass-to-packages} --- for class options, this specifies
+ whether the option should be treated \enquote{global} (read by packages
+ from the global list); for package options this property has no effect
\item \texttt{.store} --- stores a value in a macro
\item \texttt{.usage} -- defines whether the option can be given only
when loading (\texttt{load}), in the preamble (\texttt{preamble}) or
diff --git a/macros/latex-dev/base/cmfonts.pdf b/macros/latex-dev/base/cmfonts.pdf
index 2a12c635b4..bbcac07ecd 100644
--- a/macros/latex-dev/base/cmfonts.pdf
+++ b/macros/latex-dev/base/cmfonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cyrguide.pdf b/macros/latex-dev/base/cyrguide.pdf
index 39a4172542..7ac546dd41 100644
--- a/macros/latex-dev/base/cyrguide.pdf
+++ b/macros/latex-dev/base/cyrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/doc-code.pdf b/macros/latex-dev/base/doc-code.pdf
index e77afc9951..52404e2f73 100644
--- a/macros/latex-dev/base/doc-code.pdf
+++ b/macros/latex-dev/base/doc-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/doc.dtx b/macros/latex-dev/base/doc.dtx
index af4d9508e9..4cb8dd6b1c 100644
--- a/macros/latex-dev/base/doc.dtx
+++ b/macros/latex-dev/base/doc.dtx
@@ -34,7 +34,7 @@
%\catcode`\<=14
%<+package|shortvrb>\NeedsTeXFormat{LaTeX2e}[1994/12/01]
%<+package>
-% Any rollback request before 2016-02-15 we try to fullfil with the 2016 version:
+% Any rollback request before 2016-02-15 we try to fulfill with the 2016 version:
%<+package>\DeclareRelease{}{1994-06-01}
%<+package> {doc-2016-02-15.sty}
%<+package>\DeclareRelease{v2.1g}{2016-02-15}
@@ -45,7 +45,7 @@
%<+package>
%<+package>\ProvidesPackage{doc}
%<+shortvrb>\ProvidesPackage{shortvrb}
-%<+package|shortvrb> [2024/06/04 v3.0q
+%<+package|shortvrb> [2024/06/29 v3.0q
%<+package|shortvrb> Standard LaTeX documentation package V3 (FMi)]
%\catcode`\<=12
%
@@ -836,7 +836,7 @@
%
% All three above declarations are local to the current group.
%
-% Production (or not) of the index (via the |\makeindex| commend) is
+% Production (or not) of the index (via the |\makeindex| command) is
% controlled by using or omitting the following declarations in the
% driver file preamble; if neither is used, no index is produced.
% \DescribeInterfaceMacro\PageIndex Using |\PageIndex| makes all index
@@ -5565,7 +5565,7 @@
% Since version 2.1g, \texttt{doc} creates a \cs{saved@indexname} command
% which in used by \cs{changes}. We now support that as well. The expansion of
% this command depends on whether the documented item is macrolike or not,
-% which we don't know here (it's only know by \cs{NewDocElement}). That's why we
+% which we don't know here (it's only known by \cs{NewDocElement}). That's why we
% need one specific command generating \cs{saved@indexname} the right way for
% every single item. These commands are
% named\cs{@Save\meta{item}IndexName};
diff --git a/macros/latex-dev/base/doc.pdf b/macros/latex-dev/base/doc.pdf
index 4d7ea93b12..614d9ee59d 100644
--- a/macros/latex-dev/base/doc.pdf
+++ b/macros/latex-dev/base/doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/docstrip.pdf b/macros/latex-dev/base/docstrip.pdf
index ec53a2406d..7f342b3e09 100644
--- a/macros/latex-dev/base/docstrip.pdf
+++ b/macros/latex-dev/base/docstrip.pdf
Binary files differ
diff --git a/macros/latex-dev/base/encguide.pdf b/macros/latex-dev/base/encguide.pdf
index 64fe5b456b..b931ee49a0 100644
--- a/macros/latex-dev/base/encguide.pdf
+++ b/macros/latex-dev/base/encguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/exscale.pdf b/macros/latex-dev/base/exscale.pdf
index 8a921641b1..bc99993ae8 100644
--- a/macros/latex-dev/base/exscale.pdf
+++ b/macros/latex-dev/base/exscale.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fix-cm.pdf b/macros/latex-dev/base/fix-cm.pdf
index 86ee185285..908531663b 100644
--- a/macros/latex-dev/base/fix-cm.pdf
+++ b/macros/latex-dev/base/fix-cm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fntguide.pdf b/macros/latex-dev/base/fntguide.pdf
index 39dd0c620d..135b23ce81 100644
--- a/macros/latex-dev/base/fntguide.pdf
+++ b/macros/latex-dev/base/fntguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fontdef.dtx b/macros/latex-dev/base/fontdef.dtx
index 281add29ef..080cb289e5 100644
--- a/macros/latex-dev/base/fontdef.dtx
+++ b/macros/latex-dev/base/fontdef.dtx
@@ -40,7 +40,7 @@
%<driver, >\ProvidesFile{fontdef.drv}
% \fi
% \ProvidesFile{fontdef.dtx}
- [2024/02/09 v3.0i LaTeX Kernel
+ [2024/07/08 v3.0j LaTeX Kernel
% \iffalse
%<text, > (Text font setup)
%<math, > (Math font setup)
@@ -411,6 +411,18 @@
\endgroup
% \end{macrocode}
%
+% \changes{v3.0j}{2024/06/24}{load ts1 cmr fd file in Unicode engines}
+% Even though Unicode engines default to |lm| load |ts1cmr|
+% as this may be used for fallback for TS1 encoding.
+% \begin{macrocode}
+\ifx\Umathcode\@undefined\else
+\begingroup
+\nfss@catcodes
+\input {ts1cmr.fd}
+\endgroup
+\fi
+% \end{macrocode}
+%
% Even with all the precautions it is still possible that NFSS will
% run into problems, for example, when a |.fd| file contains
% corrupted data. To guard against such cases NFSS has a very
@@ -527,7 +539,6 @@
%<*text|latexrelease>
%<latexrelease>\IncludeInRelease{2020/02/02}%
%<latexrelease> {\updefault}{font defaults change}%
-% \begin{macrocode}
\renewcommand\updefault{up}
% \end{macrocode}
% We append \cs{@empty} to the series value so that we can detect
diff --git a/macros/latex-dev/base/graphpap.pdf b/macros/latex-dev/base/graphpap.pdf
index da13c1f547..31b1914ee9 100644
--- a/macros/latex-dev/base/graphpap.pdf
+++ b/macros/latex-dev/base/graphpap.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ifthen.pdf b/macros/latex-dev/base/ifthen.pdf
index e143a42fd7..4db61e72f5 100644
--- a/macros/latex-dev/base/ifthen.pdf
+++ b/macros/latex-dev/base/ifthen.pdf
Binary files differ
diff --git a/macros/latex-dev/base/inputenc.pdf b/macros/latex-dev/base/inputenc.pdf
index 5343d44527..9301e032b3 100644
--- a/macros/latex-dev/base/inputenc.pdf
+++ b/macros/latex-dev/base/inputenc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lamport-manual.pdf b/macros/latex-dev/base/lamport-manual.pdf
index 9b8a342b03..d840b4c814 100644
--- a/macros/latex-dev/base/lamport-manual.pdf
+++ b/macros/latex-dev/base/lamport-manual.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexrelease.dtx b/macros/latex-dev/base/latexrelease.dtx
index eeda0f8d55..5b5c3648a4 100644
--- a/macros/latex-dev/base/latexrelease.dtx
+++ b/macros/latex-dev/base/latexrelease.dtx
@@ -40,7 +40,7 @@
%<*latexrelease>
% \fi
% \ProvidesFile{latexrelease.dtx}
- [2022/11/14 v1.0p LaTeX release emulation and tests
+ [2024/08/11 v1.0p LaTeX release emulation and tests
(including releases up to \latexreleaseversion)]
% \iffalse
%</latexrelease>
@@ -507,7 +507,7 @@
% \end{macro}
%
% \changes{v1.0c}{2015/02/19}{Swap argument order}
-% \changes{v1.0k}{2018/05/08}{reset \cs{\requestedLaTeXdate} for current
+% \changes{v1.0k}{2018/05/08}{reset \cs{requestedLaTeXdate} for current
% and latest options, github issue 43}
% \begin{macrocode}
\DeclareOption*{%
diff --git a/macros/latex-dev/base/latexrelease.pdf b/macros/latex-dev/base/latexrelease.pdf
index 57b36aae7a..2a6c694299 100644
--- a/macros/latex-dev/base/latexrelease.pdf
+++ b/macros/latex-dev/base/latexrelease.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexsym.pdf b/macros/latex-dev/base/latexsym.pdf
index 16190c92a3..d99873a170 100644
--- a/macros/latex-dev/base/latexsym.pdf
+++ b/macros/latex-dev/base/latexsym.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lb2.pdf b/macros/latex-dev/base/lb2.pdf
index 0a016ec069..158d8b3f5f 100644
--- a/macros/latex-dev/base/lb2.pdf
+++ b/macros/latex-dev/base/lb2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/letter.dtx b/macros/latex-dev/base/letter.dtx
index 4df9e5ead6..dde59f40e4 100644
--- a/macros/latex-dev/base/letter.dtx
+++ b/macros/latex-dev/base/letter.dtx
@@ -45,7 +45,7 @@
%<*driver>
\ProvidesFile{letter.drv}
%</driver>
- [2021/12/07 v1.3c
+ [2024/08/12 v1.3c
%<+letter> Standard LaTeX document class]
% \end{macrocode}
%
@@ -838,9 +838,10 @@
% $1$, with footnotes starting from $1$ as well.
% (The first page is unnumbered.) It has a single argument, which
% is the addressee and his address, as in
+% \changes{v1.3c}{2024/08/12}{Alter sample address (gh/1439)}
%\begin{verbatim}
% \begin{letter}{Sam Jones \\
-% Institute for Retarded Study\\
+% Institute for Trivial Study\\
% Princeton, N.J.}
%\end{verbatim}
% Local declarations, such as |\address|, can follow the
diff --git a/macros/latex-dev/base/letter.pdf b/macros/latex-dev/base/letter.pdf
index b10f7aac5e..4d76be1eaa 100644
--- a/macros/latex-dev/base/letter.pdf
+++ b/macros/latex-dev/base/letter.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lgc2.pdf b/macros/latex-dev/base/lgc2.pdf
index 85aaa66a3a..8fac693b4f 100644
--- a/macros/latex-dev/base/lgc2.pdf
+++ b/macros/latex-dev/base/lgc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lppl.pdf b/macros/latex-dev/base/lppl.pdf
index 36a2dfddd6..683b7915b2 100644
--- a/macros/latex-dev/base/lppl.pdf
+++ b/macros/latex-dev/base/lppl.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltboxes.dtx b/macros/latex-dev/base/ltboxes.dtx
index 9852bc5940..e3620ef1ae 100644
--- a/macros/latex-dev/base/ltboxes.dtx
+++ b/macros/latex-dev/base/ltboxes.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltboxes.dtx}
- [2024/06/10 v1.4g LaTeX Kernel (Box Commands)]
+ [2024/06/23 v1.4h LaTeX Kernel (Box Commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltboxes.dtx}
@@ -456,9 +456,6 @@
% \begin{macro}{\color@begingroup}
% \changes{v1.0b}{1994/03/14}
% {macro added for color support}
-% \begin{macro}{\color@endgroup}
-% \changes{v1.0b}{1994/03/14}
-% {macro added for color support}
% \begin{macro}{\color@setgroup}
% \changes{v1.0f}{1994/05/11}
% {macro added for color support}
@@ -491,7 +488,6 @@
%<latexrelease>\IncludeInRelease{2021/06/01}%
%<latexrelease> {\color@begingroup}{color group settings}%
\let\color@begingroup\begingroup
-\def\color@endgroup{\endgraf\endgroup}
\def\color@setgroup{\color@begingroup} % changed further in color package
\let\normalcolor\relax % remains untouched; only changed in a color package
\def\color@hbox{\hbox\bgroup\color@begingroup}
@@ -506,7 +502,6 @@
%<latexrelease> {\color@begingroup}{color group settings}%
%<latexrelease>
%<latexrelease>\let\color@begingroup\relax
-%<latexrelease>\let\color@endgroup\relax
%<latexrelease>\let\color@setgroup\relax
%<latexrelease>\let\normalcolor\relax
%<latexrelease>\let\color@hbox\relax
@@ -522,7 +517,51 @@
% \end{macro}
% \end{macro}
% \end{macro}
+
+
+
+% \begin{macro}{\color@endgroup}
+% This macro is separated out because it received an update in 2024,
+% so requires its own rollback.
+% \changes{v1.0b}{1994/03/14}
+% {macro added for color support}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2024/11/01}%
+%<latexrelease> {\color@endgroup}{color group settings}%
+% \end{macrocode}
+% Beside \cs{endgraf} for handling vertical boxes we also reset
+% \cs{if@endpe} as we are leaving the context.
+% \changes{v1.4h}{2024/06/23}{Adjust for new \texttt{@endpe} handling}
+% \begin{macrocode}
+\def\color@endgroup{\endgraf\@endpefalse\endgroup}
+%<latexrelease>
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2021/06/01}%
+%<latexrelease> {\color@endgroup}{color group settings}%
+%<latexrelease>\def\color@endgroup{\endgraf\endgroup}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\color@endgroup}{color group settings}%
+%<latexrelease>
+%<latexrelease>\let\color@endgroup\relax
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
% \end{macro}
+
+
+
%
% \begin{macro}{\newsavebox}
% \changes{v0.1a}{1993/12/03}
diff --git a/macros/latex-dev/base/ltcmd.dtx b/macros/latex-dev/base/ltcmd.dtx
index 69bd162e56..eccb104bb9 100644
--- a/macros/latex-dev/base/ltcmd.dtx
+++ b/macros/latex-dev/base/ltcmd.dtx
@@ -34,8 +34,8 @@
%%% From File: ltcmd.dtx
%
% \begin{macrocode}
-\def\ltcmdversion{v1.2e}
-\def\ltcmddate{2024-04-17}
+\def\ltcmdversion{v1.2f}
+\def\ltcmddate{2024-07-06}
% \end{macrocode}
%
%<*driver>
@@ -620,31 +620,51 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@@_declare_env:nnnn}
+% \begin{macro}{\@@_declare_env:nnnn, \@@_declare_env:ennn}
+% \changes{v1.2f}{2024/07/06}{Use space-trimmed envname directly (gh/1399)}
% \begin{macro}{\@@_declare_env_internal:nnnn}
+% \begin{macro}{\@@_set_environment_end:n}
% The lead-off to creating an environment is much the same as that for
% creating a command: issue the appropriate message, store the argument
% specification then hand off to an internal function.
% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2024/11/01}{\@@_declare_env:nnnn}%
+%<latexrelease> {Use~space-trimmed~envname~directly}
\cs_new_protected:Npn \@@_declare_env:nnnn #1#2
{
- \str_set:Nx \l_@@_environment_str {#1}
- \str_set:Nx \l_@@_environment_str
- { \tl_trim_spaces:o { \l_@@_environment_str } }
- \cs_if_exist:cTF { \l_@@_environment_str }
- {
- \msg_info:nnxx { cmd } { redefine-env }
- { \l_@@_environment_str } { \tl_to_str:n {#2} }
- }
- {
- \msg_info:nnxx { cmd } { define-env }
- { \l_@@_environment_str } { \tl_to_str:n {#2} }
- }
+ \str_set:Nn \l_@@_environment_str {#1}
+ \cs_if_exist:cTF { #1 }
+ { \msg_info:nnnn { cmd } { redefine-env } { #1 } { #2 } }
+ { \msg_info:nnnn { cmd } { define-env } { #1 } { #2 } }
\bool_set_false:N \l_@@_expandable_bool
\bool_set_true:N \l_@@_environment_bool
- \exp_args:NV \@@_declare_env_internal:nnnn
- \l_@@_environment_str {#2}
+ \@@_declare_env_internal:nnnn {#1} {#2}
}
+\cs_generate_variant:Nn \@@_declare_env:nnnn { e }
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2024/06/01}{\@@_declare_env:nnnn}%
+%<latexrelease> {Use~space-trimmed~envname~directly}
+%<latexrelease>\cs_new_protected:Npn \@@_declare_env:nnnn #1#2
+%<latexrelease> {
+%<latexrelease> \str_set:Nx \l_@@_environment_str {#1}
+%<latexrelease> \str_set:Nx \l_@@_environment_str
+%<latexrelease> { \tl_trim_spaces:o { \l_@@_environment_str } }
+%<latexrelease> \cs_if_exist:cTF { \l_@@_environment_str }
+%<latexrelease> {
+%<latexrelease> \msg_info:nnxx { cmd } { redefine-env }
+%<latexrelease> { \l_@@_environment_str } { \tl_to_str:n {#2} }
+%<latexrelease> }
+%<latexrelease> {
+%<latexrelease> \msg_info:nnxx { cmd } { define-env }
+%<latexrelease> { \l_@@_environment_str } { \tl_to_str:n {#2} }
+%<latexrelease> }
+%<latexrelease> \bool_set_false:N \l_@@_expandable_bool
+%<latexrelease> \bool_set_true:N \l_@@_environment_bool
+%<latexrelease> \exp_args:NV \@@_declare_env_internal:nnnn
+%<latexrelease> \l_@@_environment_str {#2}
+%<latexrelease> }
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% Creating a document environment requires a few more steps than creating
% a single command. In order to pass the arguments of the command to the
@@ -685,6 +705,7 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \subsection{Structure of \pkg{xparse} commands}
%
@@ -5022,36 +5043,109 @@
%
% \begin{macro}{\NewDocumentEnvironment}
% \changes{v1.0h}{2021/08/27}{Check for end-of-environment command}
+% \changes{v1.2f}{2024/07/06}{Trim spaces from envname first (gh/1399)}
% \begin{macro}{\RenewDocumentEnvironment}
% \begin{macro}{\ProvideDocumentEnvironment}
% \begin{macro}{\DeclareDocumentEnvironment}
-% Very similar for environments.
-% \begin{macrocode}
+% \begin{macro}{\@@_new_env:nnnn, \@@_renew_env:nnnn, \@@_provide_env:nnnn}
+% \begin{macro}{\@@_new_env:ennn, \@@_renew_env:ennn, \@@_provide_env:ennn}
+% Very similar for environments. Trim spaces from user-specified
+% \meta{envname}, do existence check then hand off to
+% \cs{@@_declare_env:nnnn}.
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2024/11/01}{\NewDocumentEnvironment}%
+%<latexrelease> {Trim~spaces~from~envname~first}
\cs_new_protected:Npn \NewDocumentEnvironment #1#2#3#4
{
+ \@@_new_env:ennn { \tl_trim_spaces:e {#1} } {#2} {#3} {#4}
+ }
+\cs_new_protected:Npn \RenewDocumentEnvironment #1#2#3#4
+ {
+ \@@_renew_env:ennn { \tl_trim_spaces:e {#1} } {#2} {#3} {#4}
+ }
+\cs_new_protected:Npn \ProvideDocumentEnvironment #1#2#3#4
+ {
+ \@@_provide_env:ennn { \tl_trim_spaces:e {#1} } {#2} {#3} {#4}
+ }
+\cs_new_protected:Npn \DeclareDocumentEnvironment #1#2#3#4
+ {
+ \@@_declare_env:ennn { \tl_trim_spaces:e {#1} } {#2} {#3} {#4}
+ }
+% \end{macrocode}
+% Each of \cs[no-index]{@@_(new|renew|provide)_env:nnnn} is curried.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_new_env:nnnn #1
+ {
\cs_if_exist:cTF {#1}
- { \msg_error:nnx { cmd } { env-already-defined } {#1} }
+ {
+ \msg_error:nnx { cmd } { env-already-defined } {#1}
+ \use_none:nnn
+ }
{
\cs_if_exist:cTF { end #1 }
- { \msg_error:nnx { cmd } { env-end-already-defined } {#1} }
- { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
+ {
+ \msg_error:nnx { cmd } { env-end-already-defined } {#1}
+ \use_none:nnn
+ }
+ { \@@_declare_env:nnnn {#1} }
}
}
-\cs_new_protected:Npn \RenewDocumentEnvironment #1#2#3#4
+\cs_new_protected:Npn \@@_renew_env:nnnn #1
{
\cs_if_exist:cTF {#1}
- { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
- { \msg_error:nnx { cmd } { env-undefined } {#1} }
+ { \@@_declare_env:nnnn {#1} }
+ {
+ \msg_error:nnx { cmd } { env-undefined } {#1}
+ \use_none:nnn
+ }
}
-\cs_new_protected:Npn \ProvideDocumentEnvironment #1#2#3#4
- { \cs_if_exist:cF {#1} { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} } }
-\cs_new_protected:Npn \DeclareDocumentEnvironment #1#2#3#4
- { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
+\cs_new_protected:Npn \@@_provide_env:nnnn #1
+ {
+ \cs_if_exist:cTF {#1}
+ { \use_none:nnn }
+ { \@@_declare_env:nnnn {#1} }
+ }
+\cs_generate_variant:Nn \@@_new_env:nnnn { e }
+\cs_generate_variant:Nn \@@_renew_env:nnnn { e }
+\cs_generate_variant:Nn \@@_provide_env:nnnn { e }
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2024/06/01}{\NewDocumentEnvironment}%
+%<latexrelease> {Trim~spaces~from~envname~first}
+%<latexrelease>\cs_new_protected:Npn \NewDocumentEnvironment #1#2#3#4
+%<latexrelease> {
+%<latexrelease> \cs_if_exist:cTF {#1}
+%<latexrelease> { \msg_error:nnx { cmd } { env-already-defined } {#1} }
+%<latexrelease> {
+%<latexrelease> \cs_if_exist:cTF { end #1 }
+%<latexrelease> { \msg_error:nnx { cmd } { env-end-already-defined } {#1} }
+%<latexrelease> { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
+%<latexrelease> }
+%<latexrelease> }
+%<latexrelease>\cs_new_protected:Npn \RenewDocumentEnvironment #1#2#3#4
+%<latexrelease> {
+%<latexrelease> \cs_if_exist:cTF {#1}
+%<latexrelease> { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
+%<latexrelease> { \msg_error:nnx { cmd } { env-undefined } {#1} }
+%<latexrelease> }
+%<latexrelease>\cs_new_protected:Npn \ProvideDocumentEnvironment #1#2#3#4
+%<latexrelease> { \cs_if_exist:cF {#1} { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} } }
+%<latexrelease>\cs_new_protected:Npn \DeclareDocumentEnvironment #1#2#3#4
+%<latexrelease> { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
+%<latexrelease>\cs_undefine:N \@@_new_env:nnnn
+%<latexrelease>\cs_undefine:N \@@_new_env:ennn
+%<latexrelease>\cs_undefine:N \@@_renew_env:nnnn
+%<latexrelease>\cs_undefine:N \@@_renew_env:ennn
+%<latexrelease>\cs_undefine:N \@@_provide_env:nnnn
+%<latexrelease>\cs_undefine:N \@@_provide_env:ennn
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}{\NewExpandableDocumentCommand}
% \begin{macro}{\RenewExpandableDocumentCommand}
diff --git a/macros/latex-dev/base/ltcmdhooks-code.pdf b/macros/latex-dev/base/ltcmdhooks-code.pdf
index 94d74cd3b0..4658fb13b1 100644
--- a/macros/latex-dev/base/ltcmdhooks-code.pdf
+++ b/macros/latex-dev/base/ltcmdhooks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltcmdhooks-doc.pdf b/macros/latex-dev/base/ltcmdhooks-doc.pdf
index 6b2db4b7d6..67648cefec 100644
--- a/macros/latex-dev/base/ltcmdhooks-doc.pdf
+++ b/macros/latex-dev/base/ltcmdhooks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltcmdhooks.dtx b/macros/latex-dev/base/ltcmdhooks.dtx
index f8a8699d7e..e8793817df 100644
--- a/macros/latex-dev/base/ltcmdhooks.dtx
+++ b/macros/latex-dev/base/ltcmdhooks.dtx
@@ -20,7 +20,7 @@
%<*driver>
% \fi
\ProvidesFile{ltcmdhooks.dtx}
- [2024/04/17 v1.0j LaTeX Kernel (Command hooks)]
+ [2024/07/08 v1.0j LaTeX Kernel (Command hooks)]
% \iffalse
%
\documentclass{l3doc}
@@ -1530,6 +1530,7 @@
%<latexrelease> {cmd~hooks~with~args}
\cs_new_protected:Npn \@@_patch_retokenize:Nnnn #1 #2 #3 #4
{
+% \end{macrocode}
% Here, when patching by retokenization, we can only guess the number
% of arguments of the macro.
% \changes{v1.0h}{2023/05/21}
diff --git a/macros/latex-dev/base/ltfilehook-code.pdf b/macros/latex-dev/base/ltfilehook-code.pdf
index c58f34fa2d..df8e583b37 100644
--- a/macros/latex-dev/base/ltfilehook-code.pdf
+++ b/macros/latex-dev/base/ltfilehook-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltfilehook-doc.pdf b/macros/latex-dev/base/ltfilehook-doc.pdf
index 89da01c33e..78f5c5f10e 100644
--- a/macros/latex-dev/base/ltfilehook-doc.pdf
+++ b/macros/latex-dev/base/ltfilehook-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltfinal.dtx b/macros/latex-dev/base/ltfinal.dtx
index 648e3e1b8b..2c6b96049b 100644
--- a/macros/latex-dev/base/ltfinal.dtx
+++ b/macros/latex-dev/base/ltfinal.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfinal.dtx}
- [2024/02/08 v2.3c LaTeX Kernel (Final Settings)]
+ [2024/07/08 v2.3c LaTeX Kernel (Final Settings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfinal.dtx}
@@ -930,7 +930,7 @@
%
% \begin{macrocode}
%<*2ekernel>
-% \begin{macrocode}
+% \end{macrocode}
%
% We temporarily define |\reserved@a| to apply |\reserved@c| to all the
% numbers in the range of its arguments.
diff --git a/macros/latex-dev/base/ltfssbas.dtx b/macros/latex-dev/base/ltfssbas.dtx
index df02a5749a..387214e947 100644
--- a/macros/latex-dev/base/ltfssbas.dtx
+++ b/macros/latex-dev/base/ltfssbas.dtx
@@ -35,7 +35,7 @@
%
%
\ProvidesFile{ltfssbas.dtx}
- [2024/02/08 v3.2l LaTeX Kernel (NFSS Basic Macros)]
+ [2024/06/17 v3.2m LaTeX Kernel (NFSS Basic Macros)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -2111,6 +2111,8 @@
% {Suppress unnecessary error when used in preamble}
% \changes{v3.2a}{2017/01/10}
% {Add version of \cs{showhyphens} that works with Xe\TeX.}
+% \changes{v3.2m}{2024/06/17}
+% {set \cs{tracinglostchars} to 0 in \cs{showhyphens}}
% The |\showhyphens| command must be redefined since the version in
% \texttt{plain.tex} uses |\tenrm|. We have also made some further
% adjustments for its use in \LaTeX.
@@ -2142,10 +2144,10 @@
% horizontal list with explicit hyphens to generate the display. Note
% that the |lmr| OpenType font is forced, this works even if the
% characters are not in the font as hyphenation is attempted due to
-% the width of the space and hyphen character. It may generate
+% the width of the space and hyphen character. It would generate
% spurious Missing Character warnings in the log, these are however
-% suppressed from the terminal output by ensuring that
-% |\tracingonline| is locally zero.
+% suppressed from the terminal and log output by ensuring that
+% |\tracinglostchars| is locally zero.
% \begin{macrocode}
\DeclareRobustCommand\showhyphens[1]{%
\setbox0\vbox{%
@@ -2154,6 +2156,7 @@
\hbadness\@M
\hfuzz\maxdimen
\tracingonline\z@
+ \tracinglostchars\z@
\everypar={}%
\leftskip\z@skip
\rightskip\z@skip
diff --git a/macros/latex-dev/base/lthooks-code.pdf b/macros/latex-dev/base/lthooks-code.pdf
index 94956126d3..03716bb52e 100644
--- a/macros/latex-dev/base/lthooks-code.pdf
+++ b/macros/latex-dev/base/lthooks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lthooks-doc.pdf b/macros/latex-dev/base/lthooks-doc.pdf
index 9a4f920b03..9dce6ac8a2 100644
--- a/macros/latex-dev/base/lthooks-doc.pdf
+++ b/macros/latex-dev/base/lthooks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lthooks.dtx b/macros/latex-dev/base/lthooks.dtx
index d282ff841c..aed23ab16d 100644
--- a/macros/latex-dev/base/lthooks.dtx
+++ b/macros/latex-dev/base/lthooks.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{lthooks.dtx}
- [2024/04/22 v1.1h LaTeX Kernel (hooks)]
+ [2024/07/08 v1.1h LaTeX Kernel (hooks)]
% \iffalse
%
\documentclass{l3doc}
@@ -130,6 +130,9 @@
%
% The \meta{hook} can be specified using the dot-syntax to denote
% the current package name. See section~\ref{sec:default-label}.
+% The string \texttt{??} can't be used as a hook name because it
+% has a special significance as a placeholder in hook rules.
+%
% \end{function}
%
% \begin{function}{\NewReversedHook}
@@ -751,8 +754,6 @@
% given \meta{hook}. If \meta{hook} is \texttt{??} this defines a default
% relation for all hooks that use the two labels, i.e., that have
% chunks of code labeled with \meta{label1} and \meta{label2}.
-% Rules specific to a given hook take precedence over default
-% rules that use \texttt{??} as the \meta{hook}.
%
% Currently, the supported relations are the following:
% \begin{itemize}
@@ -793,9 +794,17 @@
%
% \end{itemize}
% There can only be a single relation between two labels for a
-% given hook,
-% i.e., a later \cs{DeclareHookRule} overwrites any previous
-% declaration.
+% given hook, i.e., a later \cs{DeclareHookRule} overwrites any
+% previous declaration. In all cases rules specific to a given
+% hook take precedence over default rules that use \texttt{??} as
+% the \meta{hook}.
+%
+% If a default rule is applied, it is done before reversing the
+% label order in a reversed hook, e.g., \texttt{before} in a
+% default rule effectively becomes \texttt{after} in such a hook.
+% In contrast, a rule for a specific hook is always applied to the
+% state after any reversal (i.e., the state you see when using
+% \cs{ShowHook} on that hook).
%
% The \meta{hook} and \meta{label} can be specified using the
% dot-syntax to denote the current package name.
@@ -826,6 +835,16 @@
% (Technically it is just a shorthand for using \cs{DeclareHookRule}
% with \texttt{??} as the hook name.)
%
+% If such a rule is applied to a reversed
+% hook it behaves as if the rule is reversed (e.g.,
+% \texttt{after} becomes \texttt{before})
+% because those rules are applied first and then the order is reversed.
+% The rationale is that in hook pairs (in which the ordering in one
+% is reversed) default rules have to be reversed too in nearly all
+% scenarios. If this is not the case, a default rule can't be used
+% or has to be overwritten with an explicit \cs{DeclareHookRule}
+% for that specific hook.
+%
% Declaring default rules is only supported in the document
% preamble.\footnotemark{}
%
@@ -1411,7 +1430,7 @@
% This is helpful if you have a pair of hooks where you expect to see
% code added that involves grouping, e.g., starting an environment
% in the first and closing that environment in the second hook.
-% To give a somewhat contrived example\footnote{there are simpler
+% To give a somewhat contrived example\footnote{There are simpler
% ways to achieve the same effect.}, suppose there is a package
% adding the following:
%\begin{verbatim}
@@ -1457,9 +1476,14 @@
% > package-too, package-1.
%\end{verbatim}
%
-% The reversal of the execution order happens before applying any
-% rules, so if you alter the order you will probably have to alter
-% it in both hooks, not just in one, but that depends on the use case.
+% If there is a matching default rule (done with
+% \cs{DeclareDefaultHookRule} or with \texttt{??} for the hook
+% name) then this default rule is applied before the reversal so that the order
+% in the reversed hook mirrors the one in the normal hook. However,
+% all rules specific to a hook happen always after the reversal of the
+% execution order, so if you alter the order you will probably have
+% to alter it in both hooks, not just in one, but that depends on
+% the use case.
%
%
%
@@ -1910,6 +1934,14 @@
% right sequence.
%
% \end{description}
+%
+% Given that these generic hook names involve \texttt{/} as part of
+% their name they would not work if one tries to define an
+% environment using a name that involves a
+% \texttt{/}.\footnote{Officially, \LaTeX{} names for environments
+% should only consist of a sequence of letters, numbers, and the
+% character \texttt{*}, i.e., this is not a new restriction.}
+%
% Generic environment hooks are never one-time hooks even with
% environments that are supposed to appear only once in a
% document.\footnote{Thus if one adds code to such hooks after the
@@ -7601,6 +7633,7 @@
% \begin{macrocode}
\NewDocumentCommand \SetDefaultHookLabel { m }
{ \@@_set_default_hook_label:n {#1} }
+% \end{macrocode}
%
% The label is only automatically updated with \cs{@onefilewithoptions}
% (\cs{usepackage} and \cs{documentclass}), but some packages, like
diff --git a/macros/latex-dev/base/ltkeys.dtx b/macros/latex-dev/base/ltkeys.dtx
index 34a0ab4b47..a9e430206b 100644
--- a/macros/latex-dev/base/ltkeys.dtx
+++ b/macros/latex-dev/base/ltkeys.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltkeys.dtx}
- [2024/01/13 v1.0m LaTeX Kernel (Keyval options)]
+ [2024/06/20 v1.0o LaTeX Kernel (Keyval options)]
% \iffalse
\documentclass{l3doc}
\GetFileInfo{ltkeys.dtx}
@@ -73,6 +73,9 @@
% \item \texttt{.code} --- execute arbitrary code
% \item \texttt{.if} --- sets a \TeX{} \cs{if...} switch
% \item \texttt{.ifnot} --- sets an inverted \TeX{} \cs{if...} switch
+% \item \texttt{.pass-to-packages} --- for class options, this specifies
+% whether the option should be treated \enquote{global} (read by packages
+% from the global list); for package options this property has no effect
% \item \texttt{.store} --- stores a value in a macro
% \item \texttt{.usage} -- defines whether the option can be given only
% when loading (\texttt{load}), in the preamble (\texttt{preamble}) or
@@ -182,12 +185,74 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{.pass-to-packages}
+% \changes{v1.0n}{2024/06/19}{New key property}
+% \begin{macro}{\@@_scope:n}
+% \changes{v1.0n}{2024/06/19}{New function}
+% \begin{macro}{\@@_scope:N}
+% \changes{v1.0n}{2024/06/19}{New function}
+% \changes{v1.0o}{2024/06/20}{Ensure only key name is stored}
+% Used to force options to be global: as this property (uniquely) has
+% an \emph{optional} value, there is a bit of work to do.
+% \begin{macrocode}
+\cs_new_protected:cpn { \c_@@_props_root_str .pass-to-packages }
+ {
+ \bool_if:NTF \l_@@_no_value_bool
+ { \@@_scope:n { true } }
+ { \@@_scope:n }
+ }
+\cs_new_protected:Npn \@@_scope:n #1
+ {
+ \str_case:nnF {#1}
+ {
+ { true }
+ { \@@_scope:N \clist_put_right:NV }
+ { false }
+ { \@@_scope:N \clist_remove_all:NV }
+ }
+ {
+ \msg_error:nnnn { keys }
+ { choice-unknown }
+ { .pass-to-packages }
+ {#1}
+ }
+ }
+\cs_new_protected:Npn \@@_scope:N #1
+ {
+ \exp_after:wN \@@_find_key_module:wNN
+ \l_keys_path_str \s_@@_stop
+ \l_keys_key_tl \l_keys_key_str
+ #1 \l_@@_forced_global_clist \l_keys_key_str
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
% \subsection{Main mechanism}
%
% \begin{macrocode}
+\cs_generate_variant:Nn \clist_if_in:NnT { Ne }
+\cs_generate_variant:Nn \clist_if_in:NnTF { Ne }
\cs_generate_variant:Nn \clist_put_right:Nn { Nv }
% \end{macrocode}
%
+% \begin{macro}{\l_@@_class_only_clist}
+% \changes{v1.0n}{2024/06/19}{New variable}
+% Used to track class-only options.
+% \begin{macrocode}
+\clist_new:N \l_@@_class_only_clist
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_forced_global_clist}
+% \changes{v1.0n}{2024/06/19}{New variable}
+% Used to force options to be global.
+% \begin{macrocode}
+\clist_new:N \l_@@_forced_global_clist
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\l_@@_options_clist}
% A single list is used for all options, into which they are collected
% before processing.
@@ -295,33 +360,34 @@
% \changes{v1.0h}{2022/06/19}{Further work on handling of option removal}
% \changes{v1.0h}{2022/06/20}{Use raw options data}
% \changes{v1.0m}{2024/01/13}{Trim spaces off key names}
+% \changes{v1.0n}{2024/06/19}{Refactor function}
% \begin{macro}{\@@_options_class:nnn}
% \changes{v1.0h}{2022/06/20}{New function}
% \changes{v1.0i}{2022/07/05}{Correct naming of raw class options storage}
% \changes{v1.0l}{2022/10/22}{Correct handling of unused option list}
+% \changes{v1.0n}{2024/06/19}{Refactor function}
+% \changes{v1.0n}{2024/06/19}{Track options used by classes}
+% \begin{macro}{\@@_options_class:nn}
+% \changes{v1.0n}{2024/06/19}{New function}
% For classes, each option (stripped of any content after |=|)
% is checked for existence as a key. If found, the option is added to
% the combined list for processing. On the other hand, unused options
-% are stored up in \cs{@unusedoptionlist}. Before any of that, though,
-% there is a simple check to see if there is an |unknown| key. If there
-% is, then \emph{everything} will match and the mapping can be skipped.
+% are stored up in \cs{@unusedoptionlist}. An earlier version of
+% this code checked for the \texttt{unknown} key just once and
+% if found short-cutted the loop: that though makes handling more
+% complex situations harder, so we take the performance hit instead.
+% Options used by classes are tracked but the catch-all \texttt{unknown}
+% is excluded (hence not using a lazy evaluation for the key testing).
% \begin{macrocode}
\cs_new_protected:Npn \@@_options_class:n #1
{
\cs_if_free:cF { @raw@opt@ \@currname . \@currext }
{
- \keys_if_exist:nnTF {#1} { unknown }
+ \clist_map_inline:cn { @raw@opt@ \@currname . \@currext }
{
- \clist_put_right:Nv \l_@@_options_clist
- { @raw@opt@ \@currname . \@currext }
- }
- {
- \clist_map_inline:cn { @raw@opt@ \@currname . \@currext }
- {
- \exp_args:Ne \@@_options_class:nnn
- { \tl_trim_spaces:e { \@@_remove_equals:n {##1} } }
- {##1} {#1}
- }
+ \exp_args:Ne \@@_options_class:nnn
+ { \tl_trim_spaces:e { \@@_remove_equals:n {##1} } }
+ {##1} {#1}
}
}
}
@@ -329,17 +395,27 @@
{
\keys_if_exist:nnTF {#3} {#1}
{
- \clist_put_right:Nn \l_@@_options_clist {#2}
- \clist_remove_all:Nn \@unusedoptionlist {#1}
+ \@@_options_class:nn {#1} {#2}
+ \clist_put_right:Ne \l_@@_class_only_clist { \tl_to_str:n {#1} }
}
{
- \clist_if_in:NnF \@unusedoptionlist {#1}
- { \clist_put_right:Nn \@unusedoptionlist {#1} }
+ \keys_if_exist:nnTF {#3} { unknown }
+ { \@@_options_class:nn {#1} {#2} }
+ {
+ \clist_if_in:NnF \@unusedoptionlist {#1}
+ { \clist_put_right:Nn \@unusedoptionlist {#1} }
+ }
}
}
+\cs_new_protected:Npn \@@_options_class:nn #1#2
+ {
+ \clist_remove_all:Nn \@unusedoptionlist {#1}
+ \clist_put_right:Nn \l_@@_options_clist {#2}
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_options_package:n}
% \changes{v1.0g}{2022/06/16}{Better handling of option removal}
@@ -348,6 +424,9 @@
% \changes{v1.0m}{2024/01/13}{Trim spaces off key names}
% \begin{macro}{\@@_options_package:nnn}
% \changes{v1.0h}{2022/06/19}{New function}
+% \changes{v1.0n}{2024/06/19}{Skip options given to packages}
+% \begin{macro}{\@@_options_package:nn}
+% \changes{v1.0n}{2024/06/19}{New functions}
% For global options when processing a package, the tasks are slightly
% different from those for a class. The check is the same, but here
% there is nothing to do if the option is not applicable. Each valid
@@ -362,17 +441,31 @@
{##1} {#1}
}
}
+% \end{macrocode}
+% The forced-global test here needs to use \cs{tl_to_str:n} as the data come
+% from a key name, which is always a string.
+% \begin{macrocode}
\cs_new_protected:Npn \@@_options_package:nnn #1#2#3
{
\keys_if_exist:nnT {#3} {#1}
{
- \clist_put_right:Nn \l_@@_options_clist {#2}
- \clist_remove_all:Nn \@unusedoptionlist {#1}
+ \clist_if_in:NeTF \l_@@_class_only_clist { \tl_to_str:n {#1} }
+ {
+ \clist_if_in:NeT \l_@@_forced_global_clist { \tl_to_str:n {#1} }
+ { \@@_options_package:nn {#1} {#2} }
+ }
+ { \@@_options_package:nn {#1} {#2} }
}
}
+\cs_new_protected:Npn \@@_options_package:nn #1#2
+ {
+ \clist_put_right:Nn \l_@@_options_clist {#2}
+ \clist_remove_all:Nn \@unusedoptionlist {#1}
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_options_local:}
% \changes{v1.0h}{2022/06/20}{Use raw options data}
diff --git a/macros/latex-dev/base/ltlists.dtx b/macros/latex-dev/base/ltlists.dtx
index fce6be7754..5858cbddfb 100644
--- a/macros/latex-dev/base/ltlists.dtx
+++ b/macros/latex-dev/base/ltlists.dtx
@@ -31,7 +31,7 @@
%<*driver>
% \fi
\ProvidesFile{ltlists.dtx}
- [2024/06/11 v1.0t LaTeX Kernel (List Environments)]
+ [2024/06/23 v1.0u LaTeX Kernel (List Environments)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltlists.dtx}
@@ -716,6 +716,66 @@
%
% This allows paragraph-making environments to work right when called
% by other environments. (Changed 27 Oct 86)
+%
+% In 2024 this logic was partially replaced with a new algorithm:
+% \begin{itemize}
+% \item
+% \cs{if@endpe} is now set globally to \texttt{true} or \texttt{false}.
+% \item
+% In addition \cs{@endpetrue} initiates an \cs{aftergroup} call
+% to \cs{propagate@doendpe} if it is used inside a group.
+% \item
+% \cs{propagate@doendpe} in turn checks the status of \cs{if@endpe}
+% and if that is \texttt{true} it calls \cs{@doendpe} otherwise it
+% does nothing.
+% \item
+% \cs{@doendpe} in turn calls \cs{@endpetrue} and also makes the
+% necessary changes to
+% \cs{par} and \cs{everypar} so that they handle as before any
+% empty line that follows the environment.
+% \item
+% Because of the \cs{@endpetrue} we get another \cs{aftergroup}, so the
+% mechanisnm slowly migrates out of several groups if those follow
+% immediately after the end of the environment. If, however, there is a new
+% paragraph started or an explicit \cs{par} before the next group ends then this will
+% result in a call to \cs{@endpefalse} and the migration stops
+% (note that \cs{propagate@doendpe} is still called once after the group but does nothing).
+% \item
+% Using this approach something like
+%\begin{verbatim}
+% {% some customization here
+% \begin{equation}
+% x=y
+% \end{equation}}
+% some text
+%\end{verbatim}
+% is still correctly identified as a paragraph continuation so that
+% there is no indentation before \texttt{some text}.
+% \item
+% We can get away with using global settings of \cs{if@endpe} even
+% in nested situations (without keeping track of the status in a
+% stack), because the switch change is made only at
+% the very end of such environments, basically directly before the
+% \cs{endgroup} in \cs{end}, and it is later set back to \texttt{false} by
+% the next \cs{everypar} or the next \cs{par}. Even if the
+% environment is called without using \cs{begin} \cs{end}, the
+% situation doesn't change (or rather cause a problem).
+% \item
+% However, there is one scenario where the new approach would
+% change the behavior. If a box is being built, e.g., with
+% \cs{setbox}, we have now the case that a \cs{@endpetrue}
+% inside would migrate out into a context in which it should not be
+% true (because the box might get used elsewhere, e.g., a float).
+% In the past, due to local switch changes, that didn't happen, i.e.,
+% \cs{if@endpe} would revert to \texttt{false} at the end of the box
+% definition.
+% \item
+% Thus, to avoid that one has to explicitly set it back to false at
+% the end of such constructions, just as we also need to prevent
+% colors from
+% migrating out. Thus the correct place to do this is
+% in \cs{color@endgroup} because that is always called at that point.
+% \end{itemize}
% \begin{macrocode}
\def\@endparenv{%
\addpenalty\@endparpenalty\addvspace\@topsepadd\@endpetrue}
@@ -733,9 +793,12 @@
% |\clubpenalty| back to its default.
% \changes{v1.0t}{2015/05/10}{Explicitly reset \cs{clubpenalty} before
% clearing \cs{everypar}; see also pr/0462 and pr/4065}
+% \changes{v1.0u}{2024/06/23}{Set \cs{if@endpe} to \texttt{false}
+% before calling \cs{par} (needed for tagging)}
% \begin{macrocode}
\clubpenalty\@clubpenalty
- \everypar{}\par\@endpefalse}\everypar
+ \@endpefalse
+ \everypar{}\par}%
% \end{macrocode}
%
% Use |\setbox0=\lastbox| instead of |\hskip -\parindent|
@@ -744,8 +807,9 @@
% \changes{v1.0k}{1995/11/07}{Enclosed \cs{setbox0} assignment by a
% group so that it leaves the contents of box $0$ intact.}
% \begin{macrocode}
- {{\setbox\z@\lastbox}%
- \everypar{}\@endpefalse}}
+ \everypar
+ {{\setbox\z@\lastbox}%
+ \everypar{}\@endpefalse}}
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
%
@@ -762,12 +826,60 @@
%
% \begin{macro}{\if@endpe}
% \begin{macro}{\@endpefalse}
-% \begin{macro}{\@endpeltrue}
+% \begin{macro}{\@endpetrue}
+% \begin{macro}{\propagate@doendpe}
+% As outlined above these are no longer simple switches, but we
+% keep the name because it is used all over the place.
% \begin{macrocode}
\newif\if@endpe
-\@endpefalse
% \end{macrocode}
-% \end{macro}\end{macro}\end{macro}
+%
+% \changes{v1.0u}{2024/06/23}{Set \cs{if@endpe} globally and also set
+% up migration to the outside}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2024/11/01}%
+%<latexrelease> {\@endpetrue}{New @endpe handling}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@endpefalse{\global\let\if@endpe\iffalse}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@endpetrue {%
+ \global\let\if@endpe\iftrue
+% \end{macrocode}
+% If we are inside a group then propagate to the outside:
+% \begin{macrocode}
+ \ifnum\currentgrouplevel>\z@
+ \aftergroup\propagate@doendpe
+ \fi
+}
+% \end{macrocode}
+% If \cs{if@endpe} is still true after the group ends, we run \cs{@doendpe}
+% that in turn runs another \cs{@endpetrue} (besides other things),
+% thus propagating further if necessary.
+% However, if the endpe situation got resolved and \cs{if@endpe} is \texttt{false}
+% then nothing further happens.
+% \begin{macrocode}
+\def\propagate@doendpe{\if@endpe \@doendpe \fi}
+% \end{macrocode}
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@endpetrue}{New @endpe handling}%
+%<latexrelease>
+%<latexrelease>
+%<latexrelease>\def\@endpefalse{\let\if@endpe\iffalse}
+%<latexrelease>\def\@endpetrue{\let\if@endpe\iftrue}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}\end{macro}\end{macro}\end{macro}
%
%
% \begin{macro}{\@mklab}
diff --git a/macros/latex-dev/base/ltluatex.dtx b/macros/latex-dev/base/ltluatex.dtx
index a15019dcd5..315b62cc9e 100644
--- a/macros/latex-dev/base/ltluatex.dtx
+++ b/macros/latex-dev/base/ltluatex.dtx
@@ -30,7 +30,7 @@
%<*plain>
% \fi
% \ProvidesFile{ltluatex.dtx}
-[2024/02/11 v1.2c
+[2024/08/16 v1.2e
% LaTeX Kernel (LuaTeX support)^^A
%\iffalse
%<plain> LuaTeX support for plain TeX (core)%
@@ -330,6 +330,8 @@
% field |date| in the usual \LaTeX{} format |yyyy/mm/dd|. Optional fields
% |version| (a string) and |description| may be used if present. This
% information will be recorded in the log. Other fields are ignored.
+% If the |version| begins with a digit, a \texttt{v} will be added at the
+% start in the log.
%
% \noindent
% \DescribeMacro{module_info}
@@ -420,7 +422,7 @@
% same callback and descriptions.
%
% The callback functions do not have to be registered yet when the functions is called.
-% Ony the constraints for which both callback descriptions refer to callbacks
+% Only the constraints for which both callback descriptions refer to callbacks
% registered at the time the callback is called will have an effect.
%
% \endgroup
@@ -1004,6 +1006,8 @@ local modules = modules or { }
% \begin{macro}{provides_module}
% \changes{v1.0a}{2015/09/24}{Function added}
% \changes{v1.0f}{2015/10/03}{use luatexbase\_log}
+% \changes{v1.2d}{2024/06/04}{Add \texttt{v} to version string if required (gh/1364)}
+% \changes{v1.2e}{2024/08/16}{Support missing version string (gh/1443)}
% Local function to write to the log.
% \begin{macrocode}
local function luatexbase_log(text)
@@ -1024,7 +1028,7 @@ local function provides_module(info)
luatexbase_log(
"Lua module: " .. info.name
.. spaced(info.date)
- .. spaced(info.version)
+ .. spaced(info.version and string_gsub(info.version or "","^(%d)","v%1"))
.. spaced(info.description)
)
modules[info.name] = info
@@ -1336,7 +1340,7 @@ luatexbase.new_luafunction = new_luafunction
% Additionally |callbackrules| describes the ordering constraints: It contains two
% element tables with the descriptions of the constrained callback implementations.
% It can additionally contain a |type| entry indicating the kind of rule. A missing
-% value indicates a normal ordering contraint.
+% value indicates a normal ordering constraint.
%
% \changes{v1.2a}{2022/10/03}{Add rules for callback ordering}
% \begin{macrocode}
@@ -1398,7 +1402,7 @@ local callbacklist = setmetatable({}, {
end
list[i] = current.value
else
- -- Cycle occured. TODO: Show cycle for debugging
+ -- Cycle occurred. TODO: Show cycle for debugging
-- list[i] = ...
local remaining = {}
for name, entry in next, meta do
@@ -1432,7 +1436,7 @@ local callbacklist = setmetatable({}, {
for i=2, length//2 do
cycle[i], cycle[length + 1 - i] = cycle[length + 1 - i], cycle[i]
end
- error('Cycle occured at ' .. table.concat(cycle, ' -> ', 1, length))
+ error('Cycle occurred at ' .. table.concat(cycle, ' -> ', 1, length))
end
end
end
diff --git a/macros/latex-dev/base/ltluatex.pdf b/macros/latex-dev/base/ltluatex.pdf
index d3b036f4dc..ed6b6f34e5 100644
--- a/macros/latex-dev/base/ltluatex.pdf
+++ b/macros/latex-dev/base/ltluatex.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltmarks-code.pdf b/macros/latex-dev/base/ltmarks-code.pdf
index 6d1fb096a2..98e16b3a12 100644
--- a/macros/latex-dev/base/ltmarks-code.pdf
+++ b/macros/latex-dev/base/ltmarks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltmarks-doc.pdf b/macros/latex-dev/base/ltmarks-doc.pdf
index 7cb862462a..8d5833b40b 100644
--- a/macros/latex-dev/base/ltmarks-doc.pdf
+++ b/macros/latex-dev/base/ltmarks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltmarks.dtx b/macros/latex-dev/base/ltmarks.dtx
index a9f3bb0184..f71bfab9b6 100644
--- a/macros/latex-dev/base/ltmarks.dtx
+++ b/macros/latex-dev/base/ltmarks.dtx
@@ -17,7 +17,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmarks.dtx}
- [2024/05/31 v1.0g LaTeX Kernel (Marks)]
+ [2024/07/08 v1.0g LaTeX Kernel (Marks)]
% \iffalse
%
\documentclass{l3doc}
@@ -211,7 +211,7 @@
% The commands are only meaningful inside the output routine, in
% other places their result is (while not random) unpredictable due
% to the way \LaTeX{} cuts text material into pages.
-%% \end{function}
+% \end{function}
%
%
%
@@ -806,7 +806,7 @@
\tl_new:c { g_@@_last-column_first_ #1 _tl }
\tl_new:c { g_@@_last-column_last_ #1 _tl }
% \end{macrocode}
-% All marks will have an identication at the beginning of the form
+% All marks will have an identification at the beginning of the form
% \cs{@@_id:n}\texttt\{\meta{number}\texttt\} and therefore the
% initial empty values should have that too, so that data extraction
% is going to be uniform.
@@ -1027,7 +1027,7 @@
%
% We disguise \cs{c_max_dim} in an odd looking csname, which then
% shows up as part of the display of an error message if that error
-% happens. This csname forms part of the error diplay so what
+% happens. This csname forms part of the error display so what
% you get is something like
%\begin{verbatim}
% ! Infinite glue shrinkage found in box being split.
diff --git a/macros/latex-dev/base/ltmiscen.dtx b/macros/latex-dev/base/ltmiscen.dtx
index accdac24b2..423f51624c 100644
--- a/macros/latex-dev/base/ltmiscen.dtx
+++ b/macros/latex-dev/base/ltmiscen.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmiscen.dtx}
- [2024/02/08 v1.2c LaTeX Kernel (Misc. Environments)]
+ [2024/07/10 v1.2e LaTeX Kernel (Misc. Environments)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltmiscen.dtx}
@@ -276,6 +276,21 @@
% \changes{v1.0w}{1994/11/30}{(DPC) Use \cs{@dofilelist}}
% \changes{v1.2a}{2022/11/06}{Repeat release info at the end (gh/944)}
% \begin{macrocode}
+% \end{macrocode}
+% If we roll back we have to drop stuff before adding chunks,
+% otherwise the code will just be appended, and thus doubled.
+% This would result in a harmless warning during the format
+% generation, because in that case the code chunk label doesn't
+% exist, and therefore can't be dropped.
+% \changes{v1.2e}{2024/07/10}{Drop code chunks before adding them to
+% avoid duplication in rollback (gh/1407)}
+% \begin{macrocode}
+%<latexrelease>\RemoveFromHook{enddocument/info}[kernel/filelist]
+%<latexrelease>\RemoveFromHook{enddocument/info}[kernel/warnings]
+%<latexrelease>\RemoveFromHook{enddocument/info}[kernel/release]
+% \end{macrocode}
+%
+% \begin{macrocode}
\AddToHook{enddocument/info}[kernel/filelist]{\@dofilelist}
\AddToHook{enddocument/info}[kernel/warnings]{\@enddocument@kernel@warnings}
\AddToHook{enddocument/info}[kernel/release]{%
@@ -389,6 +404,18 @@
%<latexrelease>\NewHook{enddocument/afteraux}
%<latexrelease>\NewHook{enddocument/info}
%<latexrelease>\NewHook{enddocument/end}
+% \end{macrocode}
+% If we roll back we have to drop stuff before adding chunks,
+% otherwise the code will just be appended, and thus doubled.
+% \changes{v1.2e}{2024/07/10}{Drop code chunks before adding them to
+% avoid duplication in rollback (gh/1407)}
+% \begin{macrocode}
+%<latexrelease>\RemoveFromHook{enddocument/info}[kernel/filelist]
+%<latexrelease>\RemoveFromHook{enddocument/info}[kernel/warnings]
+%<latexrelease>\RemoveFromHook{enddocument/info}[kernel/release]
+% \end{macrocode}
+%
+% \begin{macrocode}
%<latexrelease>\AddToHook{enddocument/info}[kernel/filelist]{\@dofilelist}
%<latexrelease>\AddToHook{enddocument/info}[kernel/warnings]{\@enddocument@kernel@warnings}
%<latexrelease>\AddToHook{enddocument/info}[kernel/release]{%
@@ -719,6 +746,8 @@
% position of non-matching \cs{begin}.}
% \changes{v1.1e}{1996/07/26}{remove \cs{global} before \cs{@ignore...}}
% \changes{v1.1p}{2019/08/27}{Make command robust}
+% \changes{v1.2d}{2024/06/23}{Separate \cs{begin} and \cs{end} definitions
+% for individual rollback}
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
@@ -758,54 +787,6 @@
}
% \end{macrocode}
%
-% The top level definition for \cs{end}. for an explanation see
-% below (this is the same as the 2019 version where it was
-% introduced, but for rollback we have to repeat it).
-% \begin{macrocode}
-\edef\end
- {\unexpanded{%
- \romannumeral
- \ifx\protect\@typeset@protect
- \expandafter %1
- \expandafter %2
- \expandafter %1
- \expandafter %3 expands the \csname inside \end<space>
- \expandafter %1
- \expandafter %2 expands \end<space>
- \expandafter %1 expands the \else
- \z@
- \else
- \expandafter\z@\expandafter\protect
- \fi
- }%
- \expandafter\noexpand\csname end \endcsname
- }
-% \end{macrocode}
-% Version that adds hooks (so different from the 2019 version). It
-% fixes tlb3722 but the change should perhaps be made in
-% \texttt{tabularx} instead.
-% \begin{macrocode}
-\@namedef{end }#1{%
- \romannumeral
- \IfHookEmptyTF{env/#1/end}%
- {\expandafter\z@}%
- {\z@\UseHook{env/#1/end}}%
- \csname end#1\endcsname\@checkend{#1}%
- \expandafter\endgroup\if@endpe\@doendpe\fi
- \UseHook{env/#1/after}%
- \if@ignore\@ignorefalse\ignorespaces\fi
-}
-% \end{macrocode}
-% Version without the fix for tlb3722 for the record:
-% \begin{macrocode}
-%\@namedef{end }#1{%
-% \UseHook{env/#1/end}%
-% \csname end#1\endcsname\@checkend{#1}%
-% \expandafter\endgroup\if@endpe\@doendpe\fi
-% \UseHook{env/#1/after}%
-% \if@ignore\@ignorefalse\ignorespaces\fi}%
-% \end{macrocode}
-%
% \begin{macrocode}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
@@ -822,6 +803,7 @@
%<latexrelease> \csname #1\endcsname}}%
%<latexrelease> \@ignorefalse
%<latexrelease> \begingroup\@endpefalse\reserved@a}
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% A version that doesn't start out with \cs{relax} when in
% typesetting mode would be the following, but since \cs{begin}
@@ -847,7 +829,45 @@
% \begingroup\@endpefalse\reserved@a}
% \end{macrocode}
%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\begin}{Making \begin/\end robust}%
+%<latexrelease>\def\begin#1{%
+%<latexrelease> \@ifundefined{#1}%
+%<latexrelease> {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
+%<latexrelease> {\def\reserved@a{\def\@currenvir{#1}%
+%<latexrelease> \edef\@currenvline{\on@line}%
+%<latexrelease> \csname #1\endcsname}}%
+%<latexrelease> \@ignorefalse
+%<latexrelease> \begingroup\@endpefalse\reserved@a}
+%<latexrelease>
+% \end{macrocode}
+% Also undo the internal commands as some packages unfortunately test
+% for their existence instead of using \cs{IfFormatAtLeastTF}.
+% \changes{v1.1y}{2021/02/08}{Undo the internals for robust \cs{begin}
+% and \cs{end} in rollback (gh/494)}
+% \begin{macrocode}
+%<latexrelease>\expandafter\let\csname begin \endcsname\@undefined
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+
+
+
+
% \begin{macro}{\end}
+% The top level definition for \cs{end}.
+% \changes{v1.2d}{2024/06/23}{Separate \cs{begin} and \cs{end} definitions
+% for individual rollback}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\end}{Making \begin/\end robust}%
+% \end{macrocode}
% While \cs{begin} was made robust simply by using
% \cs{DeclareRobustCommand} we need to be a bit more subtle with
% \cs{end} as there are packages out there that try to look into
@@ -895,65 +915,129 @@
% \changes{v1.1p}{2019/08/27}{Make command robust}
%
% \begin{macrocode}
-%<latexrelease>\edef\end
-%<latexrelease> {\unexpanded{%
-%<latexrelease> \romannumeral
-%<latexrelease> \ifx\protect\@typeset@protect
-%<latexrelease> \expandafter %1
-%<latexrelease> \expandafter %2
-%<latexrelease> \expandafter %1
-%<latexrelease> \expandafter %3 expands the \csname inside \end<space>
-%<latexrelease> \expandafter %1
-%<latexrelease> \expandafter %2 expands \end<space>
-%<latexrelease> \expandafter %1 expands the \else
-%<latexrelease> \z@
-%<latexrelease> \else
-%<latexrelease> \expandafter\z@\expandafter\protect
-%<latexrelease> \fi
-%<latexrelease> }%
-%<latexrelease> \expandafter\noexpand\csname end \endcsname
-%<latexrelease> }
+\edef\end
+ {\unexpanded{%
+ \romannumeral
+ \ifx\protect\@typeset@protect
+ \expandafter %1
+ \expandafter %2
+ \expandafter %1
+ \expandafter %3 expands the \csname inside \end<space>
+ \expandafter %1
+ \expandafter %2 expands \end<space>
+ \expandafter %1 expands the \else
+ \z@
+ \else
+ \expandafter\z@\expandafter\protect
+ \fi
+ }%
+ \expandafter\noexpand\csname end \endcsname
+ }
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% And here is the original definition of \cs{end} the way it was in
% \LaTeX{} for several decades now hidden in \verb*=\end =.
% \begin{macrocode}
-%<latexrelease>\@namedef{end }#1{%
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\end}{Making \begin/\end robust}%
+%<latexrelease>\def\end#1{%
%<latexrelease> \csname end#1\endcsname\@checkend{#1}%
%<latexrelease> \expandafter\endgroup\if@endpe\@doendpe\fi
%<latexrelease> \if@ignore\@ignorefalse\ignorespaces\fi}
+%<latexrelease>
%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
-% An here the rollback in case that is ever needed.
+% \end{macro}
+
+
+
+% \begin{macro}{\end\verbvisiblespace}
+% The internal version with a space at the end.
% \begin{macrocode}
-%<latexrelease>\IncludeInRelease{0000/00/00}%
-%<latexrelease> {\begin}{Making \begin/\end robust}%
-%<latexrelease>\def\begin#1{%
-%<latexrelease> \@ifundefined{#1}%
-%<latexrelease> {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
-%<latexrelease> {\def\reserved@a{\def\@currenvir{#1}%
-%<latexrelease> \edef\@currenvline{\on@line}%
-%<latexrelease> \csname #1\endcsname}}%
-%<latexrelease> \@ignorefalse
-%<latexrelease> \begingroup\@endpefalse\reserved@a}
-%<latexrelease>\def\end#1{%
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2024/11/01}%
+%<latexrelease> {\end!space}{New @endpe handling}%
+\@namedef{end }#1{%
+ \romannumeral
+ \IfHookEmptyTF{env/#1/end}%
+ {\expandafter\z@}%
+ {\z@\UseHook{env/#1/end}}%
+ \csname end#1\endcsname\@checkend{#1}%
+% \end{macrocode}
+% We can now close the environment group and due to the new
+% \cs{if@endpe} handling we no longer need to \cs{expandafter}
+% out of the group.
+% \changes{v1.2d}{2024/06/23}{Adjust for new \texttt{@endpe} handling}
+% \begin{macrocode}
+% \expandafter\endgroup\if@endpe\@doendpe\fi
+ \endgroup
+ \UseHook{env/#1/after}%
+ \if@ignore\@ignorefalse\ignorespaces\fi
+}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% Version that adds hooks (so different from the 2019 version). It
+% fixes tlb3722 but the change should perhaps be made in
+% \texttt{tabularx} instead.
+% \begin{macrocode}
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\end!space}{Use hook system}%
+%<latexrelease>
+%<latexrelease>\@namedef{end }#1{%
+%<latexrelease> \romannumeral
+%<latexrelease> \IfHookEmptyTF{env/#1/end}%
+%<latexrelease> {\expandafter\z@}%
+%<latexrelease> {\z@\UseHook{env/#1/end}}%
+%<latexrelease> \csname end#1\endcsname\@checkend{#1}%
+%<latexrelease> \expandafter\endgroup\if@endpe\@doendpe\fi
+%<latexrelease> \UseHook{env/#1/after}%
+%<latexrelease> \if@ignore\@ignorefalse\ignorespaces\fi
+%<latexrelease>}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% Version without the fix for tlb3722 for the record:
+%\begin{verbatim}
+%\@namedef{end }#1{%
+% \UseHook{env/#1/end}%
+% \csname end#1\endcsname\@checkend{#1}%
+% \expandafter\endgroup\if@endpe\@doendpe\fi
+% \UseHook{env/#1/after}%
+% \if@ignore\@ignorefalse\ignorespaces\fi}%
+% \end{verbatim}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\end!space}{Making \begin/\end robust}%
+%<latexrelease>
+%<latexrelease>\@namedef{end }#1{%
%<latexrelease> \csname end#1\endcsname\@checkend{#1}%
%<latexrelease> \expandafter\endgroup\if@endpe\@doendpe\fi
%<latexrelease> \if@ignore\@ignorefalse\ignorespaces\fi}
-%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
-% Also undo the internal commands as some packages unfortunately test
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\end!space}{Making \begin/\end robust}%
+% \end{macrocode}
+% Undo the internal command as some packages unfortunately test
% for their existence instead of using \cs{IfFormatAtLeastTF}.
% \changes{v1.1y}{2021/02/08}{Undo the internals for robust \cs{begin}
% and \cs{end} in rollback (gh/494)}
% \begin{macrocode}
-%<latexrelease>\expandafter\let\csname begin \endcsname\@undefined
%<latexrelease>\expandafter\let\csname end \endcsname\@undefined
%<latexrelease>
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
% \end{macro}
-% \end{macro}
%
%
%
diff --git a/macros/latex-dev/base/ltnews.pdf b/macros/latex-dev/base/ltnews.pdf
index ce8db0cc98..099a362d16 100644
--- a/macros/latex-dev/base/ltnews.pdf
+++ b/macros/latex-dev/base/ltnews.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews01.pdf b/macros/latex-dev/base/ltnews01.pdf
index 2183875a25..49d956f8bc 100644
--- a/macros/latex-dev/base/ltnews01.pdf
+++ b/macros/latex-dev/base/ltnews01.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews02.pdf b/macros/latex-dev/base/ltnews02.pdf
index 3e07fd8d31..f99811b46d 100644
--- a/macros/latex-dev/base/ltnews02.pdf
+++ b/macros/latex-dev/base/ltnews02.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews03.pdf b/macros/latex-dev/base/ltnews03.pdf
index 0d090dfef2..3c598c03cc 100644
--- a/macros/latex-dev/base/ltnews03.pdf
+++ b/macros/latex-dev/base/ltnews03.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews04.pdf b/macros/latex-dev/base/ltnews04.pdf
index 61e4de37fd..c1bd1ea4b4 100644
--- a/macros/latex-dev/base/ltnews04.pdf
+++ b/macros/latex-dev/base/ltnews04.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews05.pdf b/macros/latex-dev/base/ltnews05.pdf
index fc943e69a0..c7502d2a58 100644
--- a/macros/latex-dev/base/ltnews05.pdf
+++ b/macros/latex-dev/base/ltnews05.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews06.pdf b/macros/latex-dev/base/ltnews06.pdf
index 0989dc6333..0fed3db7aa 100644
--- a/macros/latex-dev/base/ltnews06.pdf
+++ b/macros/latex-dev/base/ltnews06.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews07.pdf b/macros/latex-dev/base/ltnews07.pdf
index 6e51f990b4..94ab760d5c 100644
--- a/macros/latex-dev/base/ltnews07.pdf
+++ b/macros/latex-dev/base/ltnews07.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews08.pdf b/macros/latex-dev/base/ltnews08.pdf
index fcd8bf3877..67b362a213 100644
--- a/macros/latex-dev/base/ltnews08.pdf
+++ b/macros/latex-dev/base/ltnews08.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews09.pdf b/macros/latex-dev/base/ltnews09.pdf
index 09844b9acd..2dc3022a35 100644
--- a/macros/latex-dev/base/ltnews09.pdf
+++ b/macros/latex-dev/base/ltnews09.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews10.pdf b/macros/latex-dev/base/ltnews10.pdf
index ba3788772a..f7dd06b71b 100644
--- a/macros/latex-dev/base/ltnews10.pdf
+++ b/macros/latex-dev/base/ltnews10.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews11.pdf b/macros/latex-dev/base/ltnews11.pdf
index 8d26eb2d6b..71d611af63 100644
--- a/macros/latex-dev/base/ltnews11.pdf
+++ b/macros/latex-dev/base/ltnews11.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews12.pdf b/macros/latex-dev/base/ltnews12.pdf
index ca2ccb564d..ece8055543 100644
--- a/macros/latex-dev/base/ltnews12.pdf
+++ b/macros/latex-dev/base/ltnews12.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews13.pdf b/macros/latex-dev/base/ltnews13.pdf
index e11438a2bf..57b2732ec9 100644
--- a/macros/latex-dev/base/ltnews13.pdf
+++ b/macros/latex-dev/base/ltnews13.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews14.pdf b/macros/latex-dev/base/ltnews14.pdf
index 64f998af70..e79da819e8 100644
--- a/macros/latex-dev/base/ltnews14.pdf
+++ b/macros/latex-dev/base/ltnews14.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews15.pdf b/macros/latex-dev/base/ltnews15.pdf
index ee9da57311..42d431f65f 100644
--- a/macros/latex-dev/base/ltnews15.pdf
+++ b/macros/latex-dev/base/ltnews15.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews16.pdf b/macros/latex-dev/base/ltnews16.pdf
index f17ceb5c1a..fac9993362 100644
--- a/macros/latex-dev/base/ltnews16.pdf
+++ b/macros/latex-dev/base/ltnews16.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews17.pdf b/macros/latex-dev/base/ltnews17.pdf
index 9f66ce2523..828adce881 100644
--- a/macros/latex-dev/base/ltnews17.pdf
+++ b/macros/latex-dev/base/ltnews17.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews18.pdf b/macros/latex-dev/base/ltnews18.pdf
index b78feb4781..b1d1b09aba 100644
--- a/macros/latex-dev/base/ltnews18.pdf
+++ b/macros/latex-dev/base/ltnews18.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews19.pdf b/macros/latex-dev/base/ltnews19.pdf
index 2edf525e0d..a776cf4b41 100644
--- a/macros/latex-dev/base/ltnews19.pdf
+++ b/macros/latex-dev/base/ltnews19.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews20.pdf b/macros/latex-dev/base/ltnews20.pdf
index 8aa1ff4dc0..170f75f121 100644
--- a/macros/latex-dev/base/ltnews20.pdf
+++ b/macros/latex-dev/base/ltnews20.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews21.pdf b/macros/latex-dev/base/ltnews21.pdf
index bf0338046a..05ab5bfc67 100644
--- a/macros/latex-dev/base/ltnews21.pdf
+++ b/macros/latex-dev/base/ltnews21.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews22.pdf b/macros/latex-dev/base/ltnews22.pdf
index 9950cea60f..bdd619b7fa 100644
--- a/macros/latex-dev/base/ltnews22.pdf
+++ b/macros/latex-dev/base/ltnews22.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews23.pdf b/macros/latex-dev/base/ltnews23.pdf
index 9c8a9c489b..cac39a0cab 100644
--- a/macros/latex-dev/base/ltnews23.pdf
+++ b/macros/latex-dev/base/ltnews23.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews24.pdf b/macros/latex-dev/base/ltnews24.pdf
index 3f0b1091ef..1b8b11d09c 100644
--- a/macros/latex-dev/base/ltnews24.pdf
+++ b/macros/latex-dev/base/ltnews24.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews25.pdf b/macros/latex-dev/base/ltnews25.pdf
index ef12015b97..483cbb9053 100644
--- a/macros/latex-dev/base/ltnews25.pdf
+++ b/macros/latex-dev/base/ltnews25.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews26.pdf b/macros/latex-dev/base/ltnews26.pdf
index e535f146a9..020cd3a994 100644
--- a/macros/latex-dev/base/ltnews26.pdf
+++ b/macros/latex-dev/base/ltnews26.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews27.pdf b/macros/latex-dev/base/ltnews27.pdf
index b3db6b1056..58d2730ca1 100644
--- a/macros/latex-dev/base/ltnews27.pdf
+++ b/macros/latex-dev/base/ltnews27.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews28.pdf b/macros/latex-dev/base/ltnews28.pdf
index c5e06267ab..f95bcbd985 100644
--- a/macros/latex-dev/base/ltnews28.pdf
+++ b/macros/latex-dev/base/ltnews28.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews29.pdf b/macros/latex-dev/base/ltnews29.pdf
index e288ae9c22..b01519ab8e 100644
--- a/macros/latex-dev/base/ltnews29.pdf
+++ b/macros/latex-dev/base/ltnews29.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews30.pdf b/macros/latex-dev/base/ltnews30.pdf
index ddc0c7fac2..6904ebf5cc 100644
--- a/macros/latex-dev/base/ltnews30.pdf
+++ b/macros/latex-dev/base/ltnews30.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews31.pdf b/macros/latex-dev/base/ltnews31.pdf
index 5553234272..40ba3cad42 100644
--- a/macros/latex-dev/base/ltnews31.pdf
+++ b/macros/latex-dev/base/ltnews31.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews32.pdf b/macros/latex-dev/base/ltnews32.pdf
index f947ebc780..9cd5debfed 100644
--- a/macros/latex-dev/base/ltnews32.pdf
+++ b/macros/latex-dev/base/ltnews32.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews33.pdf b/macros/latex-dev/base/ltnews33.pdf
index cd2a122553..47c39c9c60 100644
--- a/macros/latex-dev/base/ltnews33.pdf
+++ b/macros/latex-dev/base/ltnews33.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews34.pdf b/macros/latex-dev/base/ltnews34.pdf
index 5bc99059e0..75795d9553 100644
--- a/macros/latex-dev/base/ltnews34.pdf
+++ b/macros/latex-dev/base/ltnews34.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews35.pdf b/macros/latex-dev/base/ltnews35.pdf
index 668e17ae8c..956ea0c98f 100644
--- a/macros/latex-dev/base/ltnews35.pdf
+++ b/macros/latex-dev/base/ltnews35.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews36.pdf b/macros/latex-dev/base/ltnews36.pdf
index 656da798af..2418ce0ff6 100644
--- a/macros/latex-dev/base/ltnews36.pdf
+++ b/macros/latex-dev/base/ltnews36.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews37.pdf b/macros/latex-dev/base/ltnews37.pdf
index 24a7d87196..b1e668626e 100644
--- a/macros/latex-dev/base/ltnews37.pdf
+++ b/macros/latex-dev/base/ltnews37.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews38.pdf b/macros/latex-dev/base/ltnews38.pdf
index faac7f6c7a..eb3119f066 100644
--- a/macros/latex-dev/base/ltnews38.pdf
+++ b/macros/latex-dev/base/ltnews38.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews39.pdf b/macros/latex-dev/base/ltnews39.pdf
index a23c2e585b..260701d4cb 100644
--- a/macros/latex-dev/base/ltnews39.pdf
+++ b/macros/latex-dev/base/ltnews39.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews39.tex b/macros/latex-dev/base/ltnews39.tex
index 3af8903515..8d306b0bf0 100644
--- a/macros/latex-dev/base/ltnews39.tex
+++ b/macros/latex-dev/base/ltnews39.tex
@@ -725,6 +725,22 @@ logic for the strut changes when vertical mode is detected.
\pkg{bigfoot})}
+\subsection{Fix a ``missing \cs{item}'' rollback error}
+
+If \LaTeX{} is rolled back to a date between 2023/06/01 (inclusive) and
+2024/06/01 (exclusive), any list-based environment would raise an
+error:
+%(shown on two lines for \textsl{TUGboat}):
+\begin{verbatim}
+! LaTeX Error: Something's wrong--perhaps
+a missing \item.
+\end{verbatim}
+This has now been corrected as a hotfix in patch level 2, by enhancing
+the 2023/06/01 version rollback code of the new paragraph mechanism.
+%
+\githubissue{1386}
+
+
\section{Changes to packages in the \pkg{amsmath} category}
@@ -812,6 +828,7 @@ of \pkg{amsthm} theorem styles. This extra box has now been avoided.
%
\githubissue{1123}
+\tubcommand{\newpage}
\subsection{\pkg{xr}:\ Support links and properties}
%
The \pkg{xr} package implements a system for eXternal References.
diff --git a/macros/latex-dev/base/ltnews40.pdf b/macros/latex-dev/base/ltnews40.pdf
index 978e04e509..2fbd82566d 100644
--- a/macros/latex-dev/base/ltnews40.pdf
+++ b/macros/latex-dev/base/ltnews40.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews40.tex b/macros/latex-dev/base/ltnews40.tex
index e6d97757e8..211f638afc 100644
--- a/macros/latex-dev/base/ltnews40.tex
+++ b/macros/latex-dev/base/ltnews40.tex
@@ -73,10 +73,22 @@
{github issue#1 #2}%
)}%
\par\smallskip}
+
+
+% same for issues in the tagging repository:
+
+\providecommand\taggingissue[2][]{\ifhmode\unskip\fi
+ \quad\penalty500\strut\nobreak\hfill
+ \mbox{\small\slshape(%
+ \href{https://github.com/latex3/tagging-project/issues/\getfirstgithubissue#2 \relax}%
+ {github tagging issue#1 #2}%
+ )}%
+ \par\smallskip}
+
%% But Chris has to mostly disable \href for his TEXPAD app:
%% \def\href #1#2{#2} % Only For Chris' deficient TeX engine
-% simple solution right now (just link to the first issue if there are more)
+% simple solution right now (just link to the first issue if there are several)
\def\getfirstgithubissue#1 #2\relax{#1}
\providecommand\sxissue[1]{\ifhmode\unskip
@@ -96,6 +108,8 @@
)}%
\par}
+
+
\let\cls\pkg
\providecommand\env[1]{\texttt{#1}}
\providecommand\acro[1]{\textsc{#1}}
@@ -145,10 +159,93 @@
% To write
+\section{News from the \enquote{\LaTeX{} Tagged PDF} project}
+
+The tagging of tabulars has been extended: it is now possible to tag
+also row headers and to create cells that span more than one row.
+
+\emph{write more details ...}
+
+
+The math module will automatically generate a MathML file and use it to
+attach MathML associated files to the structure if lua\LaTeX{} and
+the \pkg{unicode-math} package are used and the \pkg{luamml} is found.
+This new feature can be disabled with \verb+\tagpdfsetup{math/mathml/luamml=false}+
+More details can be found in the documentation of \pkg{latex-lab-math}.
+
+
+\section{Handling paragraph continuation}
+
+Already \LaTeX~2.09 offered some automatism to detect whether or not
+text after a list or some other display environment is meant to be a
+continuation of the current paragraph or should start a new one. The
+document-level syntax for this is that a blank line after such an
+environment signals to \LaTeX{} that it should start a new paragraph; whilst
+no blank line signals that there should be no new paragraph and the
+text should be considered a continuation.
+
+Unfortunately, there are a number of cases where the original 2.09
+approach failed, e.g., with
+\begin{flushleft}
+ \ttfamily
+\{\meta{local customizations}\\
+\cs{begin}\{equation\} a<b \cs{end}\{equation\}\} \\
+\meta{some text}
+\end{flushleft}
+the \meta{some text} incorrectly started a new paragraph. Bug reports
+about this behavior can be traced back to the time \LaTeXe{} was
+developed, e.g., one test file from 1992 has a note that the above
+case was unfortunately not resolvable despite some improvements made back
+then. The main cause of the issue (as you probably guessed) is that
+the mechanism failed whenever the environment was executed within a
+group (\texttt{\{...\}}, \cs{begingroup}/\cs{endgroup}, or
+\cs{bgroup}/\cs{egroup} pair) that was closed before the next blank
+line was reached.
+
+While most of the time this could be visually corrected by adding some
+explicit \cs{noindent}, the situation got worse when we tried to
+implement tagged PDFs resulting in incorrect structures or worse.
+
+We therefore made a new attempt to resolve this problem in every
+situation and this new solution is rolled out in the current
+release.
+
+
\section{New or improved commands}
\section{Code improvements}
+\subsection{Avoiding keyval option clashes between classes and packages}
+
+In \LaTeX{} News~35~\cite{40:ltnews35} we introduced keyval option processing
+to the kernel. Following the standard for \LaTeXe{} options, keyval options
+given to the \cs{documentclass} line were treated as global and so parsed by
+every package. However, with keyvals, the likelihood of a name clash between a
+class-specific option and one used by a package is much higher than it is with
+simple strings. We have therefore refined the mechanism in the current release.
+
+When a class uses the kernel keyval processor, any options it recognises are
+recorded and any packages using the keyval processor will then \emph{skip}
+these \enquote{global} options. To allow for the case where a class directly
+uses an option which should be global (for example \texttt{draft}), a new key
+property \texttt{.pass-to-packages} has been added. This can then be set to
+indicate that this key is not to be skipped. For example
+\begin{verbatim}
+\DeclareKeys{
+ draft .if = {ifl@cls@draft},
+ draft .pass-to-packages = true,
+ mode .store = \cls@mode
+}
+\end{verbatim}
+in a class would create two options, \texttt{draft} and \texttt{mode}. The
+\texttt{draft} option will be treated in the normal way by packages using
+keyvals, but they will ignore the \texttt{mode} option: it is effectively
+marked as \enquote{private} to the class.
+
+
+
+\githubissue{1279}
+
\section{Bug fixes}
\subsection{Fix wrong file type in a rollback warning}
@@ -157,10 +254,12 @@ When \LaTeX{} is rolled back to date \meta{date1} and a class or
package with minimum date requirement \meta{date2} is to be loaded, a
rollback warning is raised if \meta{date2} is later than \meta{date1}:
\begin{verbatim}
-LaTeX Warning: Suspicious rollback/min-date date given
- A minimal date of YYYY-MM-DD has been specified for package
- '<pkgname>'.
- But this is in conflict with a rollback request to YYYY-MM-DD.
+LaTeX Warning: Suspicious rollback/min-date
+ date given.
+ A minimal date of YYYY-MM-DD has been
+ specified for package '<pkgname>'.
+ But this is in conflict with a rollback
+ request to YYYY-MM-DD.
\end{verbatim}
In some cases this message showed a wrong file type, i.e.,
@@ -169,6 +268,24 @@ This has now been corrected.
%
\githubissue{870}
+\subsection*{Fix existence check of document environments}
+\cs{NewDocumentEnvironment} and friends define (or redefine) a document
+environment using the space-trimmed \meta{envname}, but the existence
+check for \meta{envname} was done without space trimming. Thus when the
+user-specified \meta{envname} consists of leading and/or trailing
+space(s), it may lead to erroneously silent environment declaration.
+For example, in
+\begin{verbatim}
+ \NewDocumentEnvironment{myenv}{}{begin}{end}
+ \NewDocumentEnvironment{ myenv }{}{begin}{end}
+\end{verbatim}
+the first line defines a new environment \env{myenv} but the second
+line would check existence for \env{ myenv } (which is not yet defined),
+then redefine \env{myenv} environment without raising any errors.
+This has now been corrected.
+%
+\githubissue{1399}
+
\subsection{\pkg{doc}:\ \cs{PrintDescribeMacro} in preamble}
In \pkg{doc} version 2 it was possible alter the definition of
@@ -180,12 +297,83 @@ preamble are possible again.
\githubissue{1000}
+\section{Improvement to \XeTeX\ \cs{showhyphens}}
+When using \cs{showhyphens} with \XeTeX, missing character warnings
+would be generated for any character not in Latin Modern. This has been
+corrected and the warnings are suppressed.
+%
+\githubissue{1380}
+
+
+\section{Avoid code duplication in rollback}
+
+When the kernel uses \cs{AddToHook} in a region that might be
+rolled back (which happens in a few places) and a document requests a
+rollback, then we have the situation that the hook already contains code to which we added the same
+(or slightly different) code during the
+rollback; this results in code duplication or, worse, in errors. This has
+now been corrected by dropping any such code chunk (if there is one) prior to
+adding the rollback code.
+%
+\githubissue{1407}
+
+
+
+
+\section{Changes to packages in the \pkg{amsmath} category}
+
+\section{Extend support for \cs{dots}}
+
+The implementation of \cs{dots} in \pkg{amsmath} has the feature that
+it selects different dots depending on the symbol that follows: e.g.,
+dots between commas would normally be on the baseline, while dots
+between binary or relational symols would be raised. However, when symbols such
+as \cs{cong} were protected from expansion in moving arguments (so
+that they worked in places such as headings) it had the unfortunate
+side-effect that the \cs{dots} magic stopped working for them. This
+has now been corrected.
+%
+\githubissue{1265}
+
-%\section{Changes to packages in the \pkg{amsmath} category}
%\section{Changes to packages in the \pkg{graphics} category}
-%\section{Changes to packages in the \pkg{tools} category}
+\section{Changes to packages in the \pkg{tools} category}
+
+
+\subsection{\pkg{array}: Tagging support for \cs{cline}}
+
+In the last release we added tagging support for \pkg{array},
+\pkg{longtable} and other tabular packages, but we overlooked that the
+kernel definition for \cs{cline} also needs modification because the
+rule generated by the command needs to be tagged as an
+artifact. Furthermore, the processing of a \cs{cline} looks to the
+algorithm as if another row is added (which is technically what
+happens), thus it was also necessary to decrement the internal row
+counter to get a correct row count. This has now been corrected in
+\pkg{array} which is automatically loaded for tagging, so that all
+these packages are now fully compatible with the tagging code if it is
+turned on.
+%
+\taggingissue{134}
+
+
+\subsection{\pkg{longtable}: Extend caption type}
+
+The \pkg{longtable} has been extended and now provides the command \cs{LTcaptype}
+(stemming from the \pkg{ltcaption} package) to change
+the counter and caption type used by the \cs{caption} command from longtable.
+So with \verb+\renewcommand\LTcaptype{figure}+, a longtable will step the
+figure counter instead of the table counter and produce an
+entry in the list of figures. An empty definition, \verb+\renewcommand\LTcaptype{}+,
+will suppress increasing of the counter. This makes it easy to define an
+unnumbered variant of longtable:
+\begin{verbatim}
+\newenvironment{longtable*}
+ {\renewcommand\LTcaptype{}\longtable}
+ {\endlongtable}
+\end{verbatim}
%\section{Changes to files in the \pkg{cyrillic} category}
@@ -205,6 +393,10 @@ Leslie Lamport.
\emph{\LaTeXe{} news 1--39}. June, 2024.
\url{https://latex-project.org/news/latex2e-news/ltnews.pdf}
+\bibitem{40:ltnews35} \LaTeX{} Project Team.
+ \emph{\LaTeXe{} news 35}. June 2022.
+ \url{https://latex-project.org/news/latex2e-news/ltnews35.pdf}
+
\bibitem{40:ltnews39} \LaTeX{} Project Team.
\emph{\LaTeXe{} news 39}. June 2024.
\url{https://latex-project.org/news/latex2e-news/ltnews39.pdf}
@@ -212,4 +404,3 @@ Leslie Lamport.
\end{thebibliography}
\end{document}
-
diff --git a/macros/latex-dev/base/ltpara-code.pdf b/macros/latex-dev/base/ltpara-code.pdf
index cba8970020..3d2c2e4866 100644
--- a/macros/latex-dev/base/ltpara-code.pdf
+++ b/macros/latex-dev/base/ltpara-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltpara-doc.pdf b/macros/latex-dev/base/ltpara-doc.pdf
index 614f1df0b7..1247f38154 100644
--- a/macros/latex-dev/base/ltpara-doc.pdf
+++ b/macros/latex-dev/base/ltpara-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltpara.dtx b/macros/latex-dev/base/ltpara.dtx
index f102d68e0d..b7b895350d 100644
--- a/macros/latex-dev/base/ltpara.dtx
+++ b/macros/latex-dev/base/ltpara.dtx
@@ -17,7 +17,7 @@
%<*driver>
% \fi
\ProvidesFile{ltpara.dtx}
- [2024/05/16 v1.0m LaTeX Kernel (paragraph hooks)]
+ [2024/06/29 v1.0n LaTeX Kernel (paragraph hooks)]
% \iffalse
%
\documentclass{l3doc}
@@ -480,7 +480,7 @@
% ended by \cs{RawParEnd}\footnote{Technical note for those who
% know their \textit{\TeX book\/}: the \cs{RawParEnd} command
% invokes the original \TeX{} engine definition of \cs{par} that
-% (soley) triggers the paragraph builder in \TeX{} when found
+% (solely) triggers the paragraph builder in \TeX{} when found
% inside unrestricted horizontal mode and does nothing in other
% processing modes.}
% and not by \cs{par} (or a blank line), because the latter will execute
@@ -634,7 +634,7 @@
% \glue(\parskip) 0.0 plus 1.0
% \glue(\baselineskip) 5.16669
%\end{verbatim}
-% but now there is anothe \cs{parskip} glue (that is always 0pt):
+% but now there is another \cs{parskip} glue (that is always 0pt):
%\begin{verbatim}
% \glue(\parskip) 0.0 plus 1.0
% \glue(\parskip) 0.0
@@ -819,6 +819,18 @@
\@@_handle_indent:
% \the \everypar % <--- done differently below
}
+% \end{macrocode}
+% \changes{v1.0n}{2024/06/23}
+% {Append \cs{everypar} toks to \cs{g_@@_standard_everypar_tl},
+% rollback 2023/06/01 (gh/1386)}
+% \begin{macrocode}
+%<latexrelease>\cs_set:Npn \@@_tmp:w #1#2#3#4#5 { }
+%<latexrelease>\tl_gput_right:Nx \g_@@_standard_everypar_tl {
+%<latexrelease> \exp_not:N \the
+%<latexrelease> \exp_not:N \toks
+%<latexrelease> \exp_after:wN \@@_tmp:w \token_to_meaning:N \everypar
+%<latexrelease> \c_space_tl
+%<latexrelease>}
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{2021/06/01}
%<latexrelease> {\g_@@_standard_everypar_tl}{minipage~ fix}
@@ -917,10 +929,10 @@
% the paragraph text starts.
% \begin{macrocode}
\tl_gput_right:Nx \g_@@_standard_everypar_tl {
- \exp_not:N \the
- \exp_not:N \toks
- \the \allocationnumber
- \c_space_tl
+ \exp_not:N \the
+ \exp_not:N \toks
+ \the \allocationnumber
+ \c_space_tl
}
% \end{macrocode}
% \end{macro}
@@ -1075,7 +1087,7 @@
% it should get removed before the hook code gets added so we have
% to arrange for this removal.
%
-% As in other simular cases, it maybe best to add here
+% As in other similar cases, it may be best to add here
% a \cs{nobreak} in case the hook itself adds glue and thus
% creates a non-explicit and unwanted potential breakpoont.
% On the other hand (as has been argued) the code in the hook
diff --git a/macros/latex-dev/base/ltpictur.dtx b/macros/latex-dev/base/ltpictur.dtx
index ea5ac4205b..c6fc5236a5 100644
--- a/macros/latex-dev/base/ltpictur.dtx
+++ b/macros/latex-dev/base/ltpictur.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltpictur.dtx}
- [2021/04/20 v1.2b LaTeX Kernel (Picture Mode)]
+ [2024/07/08 v1.2b LaTeX Kernel (Picture Mode)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltpictur.dtx}
@@ -1413,7 +1413,6 @@
% \begin{macrocode}
\newif\if@ovvline \@ovvlinetrue
\newif\if@ovhline \@ovhlinetrue
-% \begin{macrocode}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}%
diff --git a/macros/latex-dev/base/ltproperties-code.pdf b/macros/latex-dev/base/ltproperties-code.pdf
index c03284af62..904b39e7f7 100644
--- a/macros/latex-dev/base/ltproperties-code.pdf
+++ b/macros/latex-dev/base/ltproperties-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltproperties-doc.pdf b/macros/latex-dev/base/ltproperties-doc.pdf
index 2e994aa4bf..9b2962b737 100644
--- a/macros/latex-dev/base/ltproperties-doc.pdf
+++ b/macros/latex-dev/base/ltproperties-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltproperties.dtx b/macros/latex-dev/base/ltproperties.dtx
index 0fd8f22e0e..5b869437ba 100644
--- a/macros/latex-dev/base/ltproperties.dtx
+++ b/macros/latex-dev/base/ltproperties.dtx
@@ -30,7 +30,7 @@
%<*driver>
% \fi
\ProvidesFile{ltproperties.dtx}
- [2024/04/17 v1.0e LaTeX Kernel (Properties)]
+ [2024/06/29 v1.0e LaTeX Kernel (Properties)]
% \iffalse
%
\documentclass[full]{l3doc}
@@ -94,7 +94,7 @@
% and labels which consist of lists of these properties. The reason for the
% split is that individual labels will want to record some but not all
% properties. For examples, a label concerned with position would track
-% the $x$ and $y$ co-ordinates of the current point, but not for example
+% the $x$ and $y$ coordinates of the current point, but not for example
% the page number.
%
% In the current implementation, properties share a single namespace. This
@@ -404,7 +404,7 @@
%
% \begin{variable}{pagenum}
% (shipout) The current page as arabic number. This is suitable for integer operations and
-% comparisions.
+% comparisons.
% \end{variable}
%
% \begin{variable}{label}
diff --git a/macros/latex-dev/base/ltshipout-code.pdf b/macros/latex-dev/base/ltshipout-code.pdf
index 10aaaa4be1..504b5cc514 100644
--- a/macros/latex-dev/base/ltshipout-code.pdf
+++ b/macros/latex-dev/base/ltshipout-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltshipout-doc.pdf b/macros/latex-dev/base/ltshipout-doc.pdf
index 21ce0937ba..acd0ec8985 100644
--- a/macros/latex-dev/base/ltshipout-doc.pdf
+++ b/macros/latex-dev/base/ltshipout-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltsockets-code.pdf b/macros/latex-dev/base/ltsockets-code.pdf
index 8b2f4761b8..8fb7667275 100644
--- a/macros/latex-dev/base/ltsockets-code.pdf
+++ b/macros/latex-dev/base/ltsockets-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltsockets-doc.pdf b/macros/latex-dev/base/ltsockets-doc.pdf
index f4cd8ffed0..c136253279 100644
--- a/macros/latex-dev/base/ltsockets-doc.pdf
+++ b/macros/latex-dev/base/ltsockets-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltsockets.dtx b/macros/latex-dev/base/ltsockets.dtx
index 243963f7bc..c77c74b57f 100644
--- a/macros/latex-dev/base/ltsockets.dtx
+++ b/macros/latex-dev/base/ltsockets.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltsockets.dtx}
- [2024/02/11 v0.9a LaTeX Kernel (Sockets)]
+ [2024/06/29 v0.9a LaTeX Kernel (Sockets)]
% \iffalse
%
\documentclass{l3doc}
@@ -87,7 +87,7 @@
% executing code for each command or environment in the document
% source. Through various steps this code transforms the input and
% eventually generates typeset output appearing in a \enquote{galley}
-% from which individual pages are cut off in an asyncronous way. This
+% from which individual pages are cut off in an asynchronous way. This
% page generating process is normally not directly associated with
% commands in the input\footnote{Excepts for directives such as
% \cs{newpage}.} but is triggered whenever the galley has received
@@ -208,7 +208,7 @@
% simply calls some instance that implements the logic and that instance
% is altered by selecting a different templates and/or adjusting their
% parameters. However, in many cases customization through parameters is
-% overkill in such a case (or otherwise awkward, because paramerization
+% overkill in such a case (or otherwise awkward, because parameterization
% is better done on a higher level instead of individually for small
% blocks of code) and using the template mechanism just to replace one
% block of code with a different one results in a fairly high
@@ -400,7 +400,7 @@
%
% However, there is no requirement that sockets and
% hook names have to be different. In fact, if a certain action that
-% could overwise be specified as hook code has to be executed always
+% could otherwise be specified as hook code has to be executed always
% last (or first) one could ensure this by placing a socket (single
% action) after a hook (or vice versa) and using the same name to
% indicate the relationship, e.g.,
diff --git a/macros/latex-dev/base/lttab.dtx b/macros/latex-dev/base/lttab.dtx
index a85b4f8cf7..f114757821 100644
--- a/macros/latex-dev/base/lttab.dtx
+++ b/macros/latex-dev/base/lttab.dtx
@@ -31,7 +31,7 @@
%%% From File: lttab.dtx
%<*driver>
% \fi
-\ProvidesFile{lttab.dtx}[2021/04/20 v1.1s LaTeX Kernel (Columns)]
+\ProvidesFile{lttab.dtx}[2024/06/23 v1.1s LaTeX Kernel (Columns)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{lttab.dtx}
@@ -1499,7 +1499,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@testpatch}
+% \begin{macro}{\@testpach}
% \begin{macrocode}
\def\@testpach#1{\@chclass \ifnum \@lastchclass=\tw@ 4 \else
\ifnum \@lastchclass=3 5 \else
diff --git a/macros/latex-dev/base/lttagging.dtx b/macros/latex-dev/base/lttagging.dtx
index c70e24f590..f4d2377837 100644
--- a/macros/latex-dev/base/lttagging.dtx
+++ b/macros/latex-dev/base/lttagging.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{lttagging.dtx}
- [2024/06/10 v1.0b LaTeX Kernel (tagging support)]
+ [2024/08/10 v1.0g LaTeX Kernel (tagging support)]
% \iffalse
\documentclass{l3doc}
\GetFileInfo{lttagging.dtx}
@@ -56,18 +56,11 @@
% \providecommand\socket[1]{\texttt{#1\DescribeSocket[noprint]{#1}}}
% \providecommand\plug[1]{\texttt{#1\DescribePlug[noprint]{#1}}}
%
-% \let\ProvideDocElement\NewDocElement
-%
% \ProvideDocElement[printtype=\textit{socket},idxtype=socket,idxgroup=Sockets]{Socket}{socketdecl}
% \ProvideDocElement[printtype=\textit{hook},idxtype=hook,idxgroup=Hooks]{Hook}{hookdecl}
% \ProvideDocElement[printtype=\textit{plug},idxtype=plug,idxgroup=Plugs]{Plug}{plugdecl}
%
%
-% \section{}
-%
-%
-%
-% \MaybeStop{}
%
% \begin{macrocode}
%<*2ekernel|latexrelease>
@@ -125,10 +118,16 @@
% suspended with \cs{SuspendTagging} instead of changing the plugs of
% the tagging support sockets back and forth.
%
+% This means that with \cs{SuspendTagging} in force all socket
+% arguments are ignored (including the case when there is a single
+% one), i.e., all sockets used with \cs{UseTaggingSocket} behave as
+% if the \text{noop} plug is assigned.
+%
% It is possible to use the tagging support sockets with
-% \cs{UseSocket} directly, but in this case the socket remains active
-% if \cs{SuspendTagging} is in force. There my be reasons for doing
-% that but in general we expect to always use \cs{UseTaggingSocket}.
+% \cs{UseSocket} instead of \cs{UseTaggingSocket}, but in this case
+% the socket remains active if \cs{SuspendTagging} is in force. There
+% may be reasons for doing that, but in general we expect to always
+% use \cs{UseTaggingSocket}.
%
% The L3 programming layer versions \cs{tag_socket_use:n} and
% \cs{tag_socket_use:nn} are slightly more efficient than
@@ -138,6 +137,12 @@
% of the CamelCase command.
%
%
+% \MaybeStop{}
+%
+%
+% \section{Implementation}
+%
+%
%
% \begin{macro}{\SuspendTagging,\ResumeTagging}
%
@@ -149,7 +154,7 @@
\cs_new_eq:NN \ResumeTagging \use_none:n
% \end{macrocode}
%
-% A simplified version of this defnition should move to
+% A simplified version of this definition should move to
% \pkg{tagpdf} and dropped here, eventually.
% \begin{macrocode}
\AddToHook{begindocument/before}{
@@ -209,16 +214,87 @@
}
\ERRORusetaggingsocket % that should get a proper error message
}
-\ExplSyntaxOff
% \end{macrocode}
%
% \end{macro}
%
+% \subsection{Tagging sockets}
+% This collects tagging sockets that should be generally available
+% so that they can also be used even if the tagging code is not loaded.
+%
+% \subsubsection{Tagging support for paragraph setup}
+%
+% Paragraphs are tagged through the code in the para/hooks. This code is sometimes
+% adjusted, e.g. to produce a \enquote{flattened} paragraph or to use a different tag.
+% Sockets related to such code parts are collected here.
+%
+% \begin{macro}{\l__tag_block_flattened_level_int}
+% The block code needs to know if they are nested blockenvs inside
+% a flattened environment. For this it uses a counter. Inside some contexts,
+% e.g. at the begin of a minipage or a footnote this counter must be reset.
+% We therefore define the counter here so that we can use it in the following
+% socket.
+% \begin{macrocode}
+\int_new:N \l__tag_block_flattened_level_int
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{socketdecl}{tagsupport/para/restore}
+% This socket restores the para related settings to their default. It
+% should be used in places where ``normal'' paragraph tagging must be ensured, for example
+% at the begin of a footnote.
+% \begin{macrocode}
+\NewSocket{tagsupport/para/restore}{0}
+% \end{macrocode}
+% \end{socketdecl}
+%
+% \begin{plugdecl}{default}
+% \begin{macrocode}
+\NewSocketPlug{tagsupport/para/restore}{default}
+ {
+ \tl_set:Nn \l__tag_para_main_tag_tl {text-unit}
+ \tl_set_eq:NN \l__tag_para_tag_tl\l__tag_para_tag_default_tl
+ \bool_set_false:N\l__tag_para_flattened_bool
+ \int_zero:N \l__tag_block_flattened_level_int
+ }
+\AssignSocketPlug{tagsupport/para/restore}{default}
+\ExplSyntaxOff
+% \end{macrocode}
+% \end{plugdecl}
+
+% \subsubsection{Tagging sockets for toc}
+
+% \begin{socketdecl}{tagsupport/toc/contentsline/before,
+% tagsupport/toc/contentsline/after}
+% Tagging sockets at the begin and end of contentsline.
+% They receive \emph{all} contentsline arguments as one argument
+% in four brace groups. The socket code should then use the parts it needs.
+% \begin{macrocode}
+\NewSocket{tagsupport/toc/contentsline/before}{1}
+\NewSocket{tagsupport/toc/contentsline/after}{1}
+% \end{macrocode}
+% \end{socketdecl}
%
-%
-%
-%
-%
+% \begin{socketdecl}{tagsupport/toc/starttoc/before,
+% tagsupport/toc/starttoc/after}
+% Tagging sockets for the begin and end of start of \cs{@starttoc}.
+% They take one argument, the extension.
+% \begin{macrocode}
+\NewSocket{tagsupport/toc/starttoc/before}{1}
+\NewSocket{tagsupport/toc/starttoc/after}{1}
+% \end{macrocode}
+% \end{socketdecl}
+%
+% \begin{socketdecl}{tagsupport/toc/leaders/before,
+% tagsupport/toc/leaders/after}
+% Tagging sockets to make the dot leaders an artifact.
+% They do not take an argument.
+% \begin{macrocode}
+\NewSocket{tagsupport/toc/leaders/before}{0}
+\NewSocket{tagsupport/toc/leaders/after}{0}
+% \end{macrocode}
+% \end{socketdecl}
+%
% \subsection{Tagging support for table/tabular packages}
%
% The code uses a number of sockets to inject the tagging
@@ -260,6 +336,14 @@
% \end{macrocode}
% \end{socketdecl}
%
+% \begin{socketdecl}{tagsupport/tbl/init/celldata}
+% This socket is used in \cs{tbl_init_cell_data_for_table}, the command
+% that stores and initialize cell data to handle nested tables.
+% It can be used to restore similar tagging related values
+% \begin{macrocode}
+\NewSocket{tagsupport/tbl/init/celldata}{0}
+% \end{macrocode}
+% \end{socketdecl}
%
% \begin{socketdecl}{tagsupport/tbl/finalize}
% To fine tune the structure (change cells to header cells, remove
@@ -273,7 +357,14 @@
% \end{macrocode}
% \end{socketdecl}
%
-
+% \begin{socketdecl}{tagsupport/tbl/restore/celldata}
+% This socket is used in \cs{tbl_restore_outer_cell_data:}, the command
+% that restores cell data when quitting a nested table. It can be used to restore
+% similar tagging related values
+% \begin{macrocode}
+\NewSocket{tagsupport/tbl/restore/celldata}{0}
+% \end{macrocode}
+% \end{socketdecl}
% \begin{socketdecl}{tagsupport/tbl/colspan}
% This socket is used to manage spanning cells, e.g., a
@@ -331,6 +422,18 @@
% \end{socketdecl}
%
%
+% \begin{socketdecl}{tagsupport/tbl/leaders/begin,
+% tagsupport/tbl/leaders/end}
+% Sockets around leaders such as rules or dotted lines, that should
+% be tagged as artifacts, used, for example, in \cs{cline}.
+% \changes{v1.0c}{2024/07/13}{Sockets for \cs{cline} leaders added (tagging/134)}
+% \begin{macrocode}
+\NewSocket{tagsupport/tbl/leaders/begin}{0}
+\NewSocket{tagsupport/tbl/leaders/end}{0}
+% \end{macrocode}
+% \end{socketdecl}
+%
+%
%
%
%
@@ -557,6 +660,10 @@
)
}
% \end{macrocode}
+% Tagging has to initialize cell data too.
+% \begin{macrocode}
+ \UseTaggingSocket{tbl/init/celldata}
+% \end{macrocode}
% These are the initial values when starting a table:
% \begin{macrocode}
\int_gzero:N \g_@@_row_int
@@ -656,6 +763,7 @@
\int_gset:Nn \g_@@_row_int { \l_@@_saved_row_tl }
\tl_gset_eq:NN \g_@@_span_tl \l_@@_saved_span_tl
\tl_gset_eq:NN \g_@@_table_cols_tl \l_@@_saved_table_cols_tl
+ \UseTaggingSocket{tbl/restore/celldata}
\@@_trace:n { ==>~ restored~cell~data:~
\int_use:N \g_@@_row_int,
\int_use:N \g_@@_col_int,
@@ -725,7 +833,7 @@
% \end{macrocode}
% Even if we are at the start of a row we my have to do a \cs{cr},
% so we do a \cs{crcr} always at the end.
-% \changes{v1.ob}{2024/06/10}
+% \changes{v1.0b}{2024/06/10}
% {Always issue a \cs{crcr} even if we are at the start of a
% row to avoid problems with tabulary and similar code}
% \begin{macrocode}
diff --git a/macros/latex-dev/base/ltvers.dtx b/macros/latex-dev/base/ltvers.dtx
index 9455c56beb..0df433450c 100644
--- a/macros/latex-dev/base/ltvers.dtx
+++ b/macros/latex-dev/base/ltvers.dtx
@@ -115,7 +115,7 @@
{2024-11-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{1}
+\def\patch@level{-3}
% \end{macrocode}
%
% \begin{macro}{\development@branch@name}
diff --git a/macros/latex-dev/base/ltx3info.pdf b/macros/latex-dev/base/ltx3info.pdf
index 3f65a85e43..5f38c6a69b 100644
--- a/macros/latex-dev/base/ltx3info.pdf
+++ b/macros/latex-dev/base/ltx3info.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltxdoc.pdf b/macros/latex-dev/base/ltxdoc.pdf
index 17b0b7e26d..e9a337c294 100644
--- a/macros/latex-dev/base/ltxdoc.pdf
+++ b/macros/latex-dev/base/ltxdoc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/makeindx.pdf b/macros/latex-dev/base/makeindx.pdf
index 9a8a6270aa..a46919d21e 100644
--- a/macros/latex-dev/base/makeindx.pdf
+++ b/macros/latex-dev/base/makeindx.pdf
Binary files differ
diff --git a/macros/latex-dev/base/modguide.pdf b/macros/latex-dev/base/modguide.pdf
index 72c14d4b29..ffb74f3081 100644
--- a/macros/latex-dev/base/modguide.pdf
+++ b/macros/latex-dev/base/modguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/nfssfont.pdf b/macros/latex-dev/base/nfssfont.pdf
index 1c12e35c2d..ac6aff77ab 100644
--- a/macros/latex-dev/base/nfssfont.pdf
+++ b/macros/latex-dev/base/nfssfont.pdf
Binary files differ
diff --git a/macros/latex-dev/base/proc.pdf b/macros/latex-dev/base/proc.pdf
index 5aa128f5e4..68a40ba5fa 100644
--- a/macros/latex-dev/base/proc.pdf
+++ b/macros/latex-dev/base/proc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slides.pdf b/macros/latex-dev/base/slides.pdf
index 0eb119ca15..d996212322 100644
--- a/macros/latex-dev/base/slides.pdf
+++ b/macros/latex-dev/base/slides.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slifonts.pdf b/macros/latex-dev/base/slifonts.pdf
index 89beaf002c..86fa4d4a12 100644
--- a/macros/latex-dev/base/slifonts.pdf
+++ b/macros/latex-dev/base/slifonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/source2e.pdf b/macros/latex-dev/base/source2e.pdf
index e460c8a5d6..be615118f0 100644
--- a/macros/latex-dev/base/source2e.pdf
+++ b/macros/latex-dev/base/source2e.pdf
Binary files differ
diff --git a/macros/latex-dev/base/syntonly.pdf b/macros/latex-dev/base/syntonly.pdf
index 8ad9bef081..8876c3b6b7 100644
--- a/macros/latex-dev/base/syntonly.pdf
+++ b/macros/latex-dev/base/syntonly.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tlc2.pdf b/macros/latex-dev/base/tlc2.pdf
index b60715484b..f46fd95ad7 100644
--- a/macros/latex-dev/base/tlc2.pdf
+++ b/macros/latex-dev/base/tlc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tlc3.err b/macros/latex-dev/base/tlc3.err
index db8d2c5b2f..a7f8af1bfa 100644
--- a/macros/latex-dev/base/tlc3.err
+++ b/macros/latex-dev/base/tlc3.err
@@ -1,4 +1,4 @@
-\newcommand\erratafiledate{2024/06/05} % needs / and not -
+\newcommand\erratafiledate{2024/08/07} % needs / and not -
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% To produce a printed version of this errata file run this file through
@@ -469,6 +469,10 @@ beyond \> \u{B}eyond
\erroronpage{I-xx\ldots I-xxi}{}{FMi}{2023/04/04}{s}
Dot leaders have been changed on all sections.
+\erroronpage{xxv}{footnote}{FMi}{2024/07/11}{s}
+The package implementing the Silly Walk is called \u{\texttt{sillypage}}
+not \u{\texttt{sillywalk}} as claimed in the footnote.
+
\CHAPTER{Bibliography (Part I)}
@@ -558,7 +562,12 @@ ones.
%\CHAPTER{General}
%
-%\CHAPTER{Front matter}
+
+\CHAPTER{Front matter}
+
+\erroronpage{I-xli}{footnote}{FMi}{2024/07/11}{s}
+The package implementing the Silly Walk is called \u{\texttt{sillypage}}
+not \u{\texttt{sillywalk}} as claimed in the footnote.
\CHAPTER{Bibliography}
@@ -689,6 +698,14 @@ so that both text and math usage of \verb=\qty= are compared in the example.
\erroronpage{I-182}{para 4}{BeB}{2024/03/17}{s}
Add sentence: The command \verb+\textcquote+ is used in Example 16-5-50 on page II-535.
+\erroronpage{I-195}{para 2}{FMi}{2024/07/20}{s}
+Replace the whole paragraph with:\\
+For the same reason \texttt{soul} was unable to cope with UTF-8 input
+characters if they are internally represented by several bytes. If you
+used such characters, you had to load \texttt{soulutf8} (by Heiko Oberdiek)
+instead of \texttt{soul} — since 2023, both packages are equivalent, thus you may
+always use the \texttt{soul} package.
+
\CHAPTER{Chapter 4 --- Basic Formatting Tools -- Larger \ldots}
\erroronpage{I-253}{para 2, l.-3}{YEi}{2023/11/27}{s}
@@ -696,6 +713,17 @@ Move comma:\\
and \textsf{thmtools} packages and \textsf{typed-checklist}\u{,} helps you write \> \\
and \textsf{thmtools} packages\u{,} and \textsf{typed-checklist} helps you write
+\erroronpage{I-286}{para 1, l.3}{DPC}{2024/07/15}{s}
+in this case \texttt{shade\u{d}thm} \> in this case \texttt{shadethm}
+
+\erroronpage{I-322}{para -1, l.-2}{MBe/FMi}{2024/08/07}{s}
+
+Change: \texttt{algorithm\u{s}} \> \texttt{algorithm\u{ic}}
+
+\textit{Reason: The package is called \texttt{algorithmic} and there
+is also \texttt{algorithm} to make floats, but the CTAN bundle (and
+its documentation) calls it \texttt{algorithms}.}
+
\erroronpage{I-323}{Table 4.4, left column}{BeB}{2023/07/25}{s}
Typo: Assembler (\u{N}otorola68k, x86masm) \> \\ Assembler (\u{M}otorola68k, x86masm)
@@ -762,9 +790,10 @@ result in ``31.00'', which is probably not desired.
is not really an error, but it looks better---and is consistent with the
`actual' item of `profit' for Booklet 113.)
+\erroronpage{I-492}{footnote}{DPC}{2024/07/15}{s}
+called \u{\texttt{threetableex}} \> called \u{\texttt{threeparttablex}}
\erroronpage{I-494}{para -2, l.3}{MRu}{2024/03/16}{s}
-
Use plural: The allowed key\u{s} are \ldots
@@ -802,6 +831,10 @@ Correct hyphenation: stan-dalone \> stand-alone
\CHAPTER{Chapter 9 --- Font Selection and Encodings}
+\erroronpage{I-687}{table 9.6, l.21}{YvH}{2024/06/19}{s}
+ cmdh \> lmdh
+
+
\erroronpage{I-688}{para -2, l. 1}{BeB}{2023/08/13}{s}
acronym PSNFSS not explained: PSNFSS \> PostScript New Font Selection Scheme (PSNFSS)
@@ -865,6 +898,9 @@ Open Type font is available: \\
There are no italic blackletters (so it should be in blue): \\
\textit{phœnix's official rôle} \> \textit{\bl phœnix's official rôle}
+\erroronpage{II-27}{para 1, l.1}{MBe/FMi}{2024/08/02}{s}
+Package was renamed: \texttt{droidmono} \> \texttt{droid\u{sans}mono}
+
\erroronpage{II-28}{table 10.14, l. 3}{BeB}{2023/08/13}{s}
Inconsistent order: sl, l \> l, sl
@@ -1186,6 +1222,10 @@ point in front of the display, thus \cs{predisplaypenalty} is no
longer honored.
+\erroronpage{II-149}{para 2, l.4}{DPC}{2024/07/15}{s}
+package \texttt{flex\u{y}sym} \>
+package \texttt{flex\u{i}sym}
+
\erroronpage{II-167}{para. 3, l. -2}{BeB}{2023/08/13}{s}
option\u e \> option\u{s}
@@ -1196,7 +1236,8 @@ option\u e \> option\u{s}
\erroronpage{II-178}{Tab. 11.3, l.10}{BeB}{2023/08/13}{s}
in the description column: \u{array}-symbol-arrow \> \u{arrow}-symbol-arrow
-
+\erroronpage{II-189}{footnote}{DPC}{2024/07/15}{s}
+\texttt{oubrace} package \> \texttt{oubrace\u{s}} package
@@ -1363,6 +1404,10 @@ The keyword \texttt{Harf\u{b}uzz} should be spelled
\texttt{Harf\u{B}uzz}. Both names are supported, but the recommended
spelling is \texttt{HarfBuzz}.
+\erroronpage{II-341}{para -4, l.4}{DPC/FMi}{2024/07/15}{s}
+\texttt{devnag} \u{package} \> \texttt{devnag} \u{program}
+
+
\CHAPTER{Chapter 14 --- Index Generation}
% Das Beispiel von S. II-352 als File wäre schön, dann könnte man das mit
@@ -1399,6 +1444,8 @@ Changes the output of example 16-7-31 on page II-560 as well.
the \cs{MakeUpper}\texttt{\u{C}ase} trick \>
the \cs{MakeUpper}\texttt{\u{c}ase} trick
+\erroronpage{II-423}{table 15.9}{MBe/FMi}{2024/08/04}{s}
+Drop \texttt{nature.bst} line. Style no longer supported.
\erroronpage{II-435}{code}{FMi}{2023/05/26}{s}
\verb=\textcolor{See= \> \cs{textcolor}\u{\texttt{\{blue\}}}\texttt{\{See}
@@ -1515,10 +1562,12 @@ Appendix title not properly capitalized.
\contributor{BeB}{Bernd Burghardt}
\contributor{BYu}{Boshi Yuan}
\contributor{CAR}{Chris Rowley}
+\contributor{DPC}{David Carlisle}
\contributor{DC}{Davide Campagnari}
\contributor{DFl}{Daniel Flipo}
\contributor{EOl}{Edgar Olthof}
\contributor{FMi}{Frank Mittelbach}
+\contributor{MBe}{Matthew Bertucci}
\contributor{MJo}{Maciej Jończyk}
\contributor{MRu}{Mark Rudolph}
\contributor{YFu}{FUJIMURA Yukitoshi}
diff --git a/macros/latex-dev/base/tlc3.pdf b/macros/latex-dev/base/tlc3.pdf
index 49f219e445..325bdc17d5 100644
--- a/macros/latex-dev/base/tlc3.pdf
+++ b/macros/latex-dev/base/tlc3.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tulm.pdf b/macros/latex-dev/base/tulm.pdf
index 9ebf02c983..1816882589 100644
--- a/macros/latex-dev/base/tulm.pdf
+++ b/macros/latex-dev/base/tulm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/usrguide-historic.pdf b/macros/latex-dev/base/usrguide-historic.pdf
index 0af5803f1e..2efbb9cb50 100644
--- a/macros/latex-dev/base/usrguide-historic.pdf
+++ b/macros/latex-dev/base/usrguide-historic.pdf
Binary files differ
diff --git a/macros/latex-dev/base/usrguide.pdf b/macros/latex-dev/base/usrguide.pdf
index bbc05226f4..7ac313fe64 100644
--- a/macros/latex-dev/base/usrguide.pdf
+++ b/macros/latex-dev/base/usrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/utf8ienc.pdf b/macros/latex-dev/base/utf8ienc.pdf
index c58f23dd97..4b1a1edb7c 100644
--- a/macros/latex-dev/base/utf8ienc.pdf
+++ b/macros/latex-dev/base/utf8ienc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/webcomp.pdf b/macros/latex-dev/base/webcomp.pdf
index 6b640eb312..42a2c1bd62 100644
--- a/macros/latex-dev/base/webcomp.pdf
+++ b/macros/latex-dev/base/webcomp.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/README.md b/macros/latex-dev/required/graphics/README.md
index b622f8fbfd..0efecadab8 100644
--- a/macros/latex-dev/required/graphics/README.md
+++ b/macros/latex-dev/required/graphics/README.md
@@ -1,7 +1,7 @@
The LaTeX `graphics` bundle
===========================
-Release 2024-11-01 pre-release 0
+Release 2024-11-01 pre-release 2
Overview
--------
diff --git a/macros/latex-dev/required/graphics/changes.txt b/macros/latex-dev/required/graphics/changes.txt
index face90b342..5e72561389 100644
--- a/macros/latex-dev/required/graphics/changes.txt
+++ b/macros/latex-dev/required/graphics/changes.txt
@@ -4,12 +4,17 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+2024-06-24 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * color.dtx (section{Extra Groups}):
+ Support new @endpe mechanism
+
================================================================================
All changes above are only part of the development branch for the next release.
================================================================================
#########################
-# 2023-11-01 Release
+# 2024-06-01 Release
#########################
2024-05-23 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
diff --git a/macros/latex-dev/required/graphics/color.dtx b/macros/latex-dev/required/graphics/color.dtx
index 130a960d09..b14c148f2f 100644
--- a/macros/latex-dev/required/graphics/color.dtx
+++ b/macros/latex-dev/required/graphics/color.dtx
@@ -21,7 +21,7 @@
%<driver> \ProvidesFile{color.drv}
% \fi
% \ProvidesFile{color.dtx}
- [2024/01/14 v1.3d Standard LaTeX Color (DPC)]
+ [2024/06/23 v1.3e Standard LaTeX Color (DPC)]
%
% \iffalse
%<*driver>
@@ -877,10 +877,15 @@
% commands. The |\endgraf| in its definition is required in the case
% of groups of text in vertical `par' mode, but doesn't do any harm in
% horizontal `LR' contexts.
+% The |\@endpefalse| is required for the newer \texttt{@endpe}
+% handling, again it is harmless if an older kernel is used
+% (because there it was a local assignment).
% \changes{v0.2d}{1994/05/13}
% {New definition, was previously just \cs{endgroup}}
+% \changes{v1.3e}{2024/06/23}
+% {Support new \texttt{@endpe} mechanism}
% \begin{macrocode}
-\def\color@endgroup{\endgraf\endgroup}
+\def\color@endgroup{\endgraf\@endpefalse\endgroup}
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex-dev/required/graphics/color.pdf b/macros/latex-dev/required/graphics/color.pdf
index 964aa7edbd..84ae84109e 100644
--- a/macros/latex-dev/required/graphics/color.pdf
+++ b/macros/latex-dev/required/graphics/color.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/drivers.pdf b/macros/latex-dev/required/graphics/drivers.pdf
index b010839e78..3651bccd85 100644
--- a/macros/latex-dev/required/graphics/drivers.pdf
+++ b/macros/latex-dev/required/graphics/drivers.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/epsfig.pdf b/macros/latex-dev/required/graphics/epsfig.pdf
index 36457b3559..ab7f88d73f 100644
--- a/macros/latex-dev/required/graphics/epsfig.pdf
+++ b/macros/latex-dev/required/graphics/epsfig.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/graphics.dtx b/macros/latex-dev/required/graphics/graphics.dtx
index 2392ac09d1..86556ea40a 100644
--- a/macros/latex-dev/required/graphics/graphics.dtx
+++ b/macros/latex-dev/required/graphics/graphics.dtx
@@ -27,7 +27,7 @@
%<driver> \ProvidesFile{graphics.drv}
% \fi
% \ProvidesFile{graphics.dtx}
- [2024/05/23 v1.4g Standard LaTeX Graphics (DPC,SPQR)]
+ [2024/08/06 v1.4g Standard LaTeX Graphics (DPC,SPQR)]
%
% \iffalse
%<*driver>
@@ -1050,7 +1050,8 @@
%
% \begin{macrocode}
\edef\Gin@gzext{\detokenize{gz}}
-% \edef{macrocode}
+% \end{macrocode}
+% \end{macro}
% \end{macro}
%
% \begin{macro}{\Gin@set@curr@file}
diff --git a/macros/latex-dev/required/graphics/graphics.pdf b/macros/latex-dev/required/graphics/graphics.pdf
index 559f3c5a81..f4dcb01727 100644
--- a/macros/latex-dev/required/graphics/graphics.pdf
+++ b/macros/latex-dev/required/graphics/graphics.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/graphicx.pdf b/macros/latex-dev/required/graphics/graphicx.pdf
index d1568333c2..2407cb488b 100644
--- a/macros/latex-dev/required/graphics/graphicx.pdf
+++ b/macros/latex-dev/required/graphics/graphicx.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/grfguide.pdf b/macros/latex-dev/required/graphics/grfguide.pdf
index 4e68cea91e..adf18e969a 100644
--- a/macros/latex-dev/required/graphics/grfguide.pdf
+++ b/macros/latex-dev/required/graphics/grfguide.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/keyval.pdf b/macros/latex-dev/required/graphics/keyval.pdf
index 1cfd06071d..31c8bcc0bc 100644
--- a/macros/latex-dev/required/graphics/keyval.pdf
+++ b/macros/latex-dev/required/graphics/keyval.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/lscape.pdf b/macros/latex-dev/required/graphics/lscape.pdf
index b3ffd8c2cd..49be46adcf 100644
--- a/macros/latex-dev/required/graphics/lscape.pdf
+++ b/macros/latex-dev/required/graphics/lscape.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/mathcolor.pdf b/macros/latex-dev/required/graphics/mathcolor.pdf
index 36905fbf31..82a7579d12 100644
--- a/macros/latex-dev/required/graphics/mathcolor.pdf
+++ b/macros/latex-dev/required/graphics/mathcolor.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/rotating.pdf b/macros/latex-dev/required/graphics/rotating.pdf
index 2ecb86346a..57e646c94f 100644
--- a/macros/latex-dev/required/graphics/rotating.pdf
+++ b/macros/latex-dev/required/graphics/rotating.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/rotex.pdf b/macros/latex-dev/required/graphics/rotex.pdf
index 251dcd20b1..9e3bd42516 100644
--- a/macros/latex-dev/required/graphics/rotex.pdf
+++ b/macros/latex-dev/required/graphics/rotex.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/trig.pdf b/macros/latex-dev/required/graphics/trig.pdf
index d220e18d1e..35d2e24dfd 100644
--- a/macros/latex-dev/required/graphics/trig.pdf
+++ b/macros/latex-dev/required/graphics/trig.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/CHANGELOG.md b/macros/latex-dev/required/l3kernel/CHANGELOG.md
index 3696c567d1..fff85488a7 100644
--- a/macros/latex-dev/required/l3kernel/CHANGELOG.md
+++ b/macros/latex-dev/required/l3kernel/CHANGELOG.md
@@ -7,6 +7,18 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-08-16]
+
+### Added
+- Add quark (`\q_`) and scan mark (`\s_`) prefixes to naming scheme
+ (issue \#1565)
+
+## [2024-07-20]
+
+### Fixed
+- Implementation of deprecated `\tl_mixed_case:n(n)`
+- Redo the fix for LaTeX2e key properties (issue latex3/latex2e\#1415)
+
## [2024-06-19]
### Fixed
@@ -1747,7 +1759,9 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-06-19...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-08-16...HEAD
+[2024-08-16]: https://github.com/latex3/latex3/compare/2024-07-20...2024-08-16
+[2024-07-20]: https://github.com/latex3/latex3/compare/2024-06-19...2024-07-20
[2024-06-19]: https://github.com/latex3/latex3/compare/2024-05-27...2024-06-19
[2024-05-27]: https://github.com/latex3/latex3/compare/2024-05-08...2024-05-27
[2024-05-08]: https://github.com/latex3/latex3/compare/2024-04-11...2024-05-08
diff --git a/macros/latex-dev/required/l3kernel/README.md b/macros/latex-dev/required/l3kernel/README.md
index 2c0b2a0477..5807a75274 100644
--- a/macros/latex-dev/required/l3kernel/README.md
+++ b/macros/latex-dev/required/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2024-06-19
+Release 2024-08-16
Overview
--------
diff --git a/macros/latex-dev/required/l3kernel/expl3.dtx b/macros/latex-dev/required/l3kernel/expl3.dtx
index 8387c0c44e..ad5cb365dd 100644
--- a/macros/latex-dev/required/l3kernel/expl3.dtx
+++ b/macros/latex-dev/required/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2024-06-19}%
+\def\ExplFileDate{2024-08-16}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -454,6 +454,15 @@
% implementation in \LaTeX3 means that |toks| are not required, and that
% all operations for storing tokens can use the |tl| variable type.
%
+% There are two more special types of constants:
+% \begin{arg-description}
+% \item[q] constants of quark type;
+% \item[s] constants of scan mark type.
+% \end{arg-description}
+% The \meta{type} part of quark and scan mark constants is omitted, and
+% the \meta{module} part of general quarks and scan marks is often
+% omitted too.
+%
% Experienced \TeX{} programmers will notice that some of the variable
% types listed are native \TeX{} registers whilst others are not. In
% general, the underlying \TeX{} implementation for a data structure may
diff --git a/macros/latex-dev/required/l3kernel/expl3.pdf b/macros/latex-dev/required/l3kernel/expl3.pdf
index e2e48dedf7..870c791dc3 100644
--- a/macros/latex-dev/required/l3kernel/expl3.pdf
+++ b/macros/latex-dev/required/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/interface3.pdf b/macros/latex-dev/required/l3kernel/interface3.pdf
index 959d7187ab..49a901cdb2 100644
--- a/macros/latex-dev/required/l3kernel/interface3.pdf
+++ b/macros/latex-dev/required/l3kernel/interface3.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/interface3.tex b/macros/latex-dev/required/l3kernel/interface3.tex
index 9e36aa8fe8..1a5cc9564f 100644
--- a/macros/latex-dev/required/l3kernel/interface3.tex
+++ b/macros/latex-dev/required/l3kernel/interface3.tex
@@ -58,7 +58,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-06-19}
+\date{Released 2024-08-16}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex-dev/required/l3kernel/l3basics.dtx b/macros/latex-dev/required/l3kernel/l3basics.dtx
index 26265f5625..8ef1f6a5be 100644
--- a/macros/latex-dev/required/l3kernel/l3basics.dtx
+++ b/macros/latex-dev/required/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3bitset.dtx b/macros/latex-dev/required/l3kernel/l3bitset.dtx
index 0cc8b996e2..5fc681a677 100644
--- a/macros/latex-dev/required/l3kernel/l3bitset.dtx
+++ b/macros/latex-dev/required/l3kernel/l3bitset.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3bootstrap.dtx b/macros/latex-dev/required/l3kernel/l3bootstrap.dtx
index 1eaab88c97..b3c8536420 100644
--- a/macros/latex-dev/required/l3kernel/l3bootstrap.dtx
+++ b/macros/latex-dev/required/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3box.dtx b/macros/latex-dev/required/l3kernel/l3box.dtx
index 871ed5f2ce..abe1ce302a 100644
--- a/macros/latex-dev/required/l3kernel/l3box.dtx
+++ b/macros/latex-dev/required/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -906,9 +906,9 @@
% \begin{syntax}
% \cs{box_set_trim:Nnnnn} \meta{box} \Arg{left} \Arg{bottom} \Arg{right} \Arg{top}
% \end{syntax}
-% Adjusts the bounding box of the \meta{box} \meta{left} is removed from
+% Adjusts the bounding box of the \meta{box}: \meta{left} is removed from
% the left-hand edge of the bounding box, \meta{right} from the right-hand
-% edge and so fourth. All adjustments are \meta{dim exprs}.
+% edge, and so forth. All adjustments are \meta{dim exprs}.
% Material outside of the bounding box is still displayed in the output
% unless \cs{box_set_clipped:N} is subsequently applied.
% The updated \meta{box} is an
diff --git a/macros/latex-dev/required/l3kernel/l3cctab.dtx b/macros/latex-dev/required/l3kernel/l3cctab.dtx
index 3b756ac739..56f831becf 100644
--- a/macros/latex-dev/required/l3kernel/l3cctab.dtx
+++ b/macros/latex-dev/required/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3clist.dtx b/macros/latex-dev/required/l3kernel/l3clist.dtx
index 175dba141d..cfad9ac5a3 100644
--- a/macros/latex-dev/required/l3kernel/l3clist.dtx
+++ b/macros/latex-dev/required/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -352,7 +352,7 @@
% Reverses the order of items stored in the \meta{clist~var}.
% \end{function}
%
-% \begin{function}[added = 2014-07-18]{\clist_reverse:n}
+% \begin{function}[added = 2014-07-18, EXP]{\clist_reverse:n}
% \begin{syntax}
% \cs{clist_reverse:n} \Arg{comma list}
% \end{syntax}
diff --git a/macros/latex-dev/required/l3kernel/l3coffins.dtx b/macros/latex-dev/required/l3kernel/l3coffins.dtx
index 76ef5c6906..82f234799e 100644
--- a/macros/latex-dev/required/l3kernel/l3coffins.dtx
+++ b/macros/latex-dev/required/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3color.dtx b/macros/latex-dev/required/l3kernel/l3color.dtx
index ca29c87bae..e973fb5e7c 100644
--- a/macros/latex-dev/required/l3kernel/l3color.dtx
+++ b/macros/latex-dev/required/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -103,7 +103,7 @@
% \begin{itemize}
% \item \texttt{Gray} Grayscale color, with a single axis running from
% $0$ (fully black) to $15$ (fully white)
-% \item \texttt{hsb} Hue-saturation-brightness color, with three axes,all
+% \item \texttt{hsb} Hue-saturation-brightness color, with three axes, all
% real values in the range $[0,1]$ for hue saturation and brightness
% \item \texttt{Hsb} Hue-saturation-brightness color, with three axes, integer
% in the range $[0,360]$ for hue, real values in the range $[0,1]$ for
@@ -406,20 +406,20 @@
%
% \begin{function}{\color_export:nnN}
% \begin{syntax}
-% \cs{color_export:nnN} \Arg{color expression} \Arg{format} \Arg{tl}
+% \cs{color_export:nnN} \Arg{color expression} \Arg{format} \meta{tl var}
% \end{syntax}
% Parses the \meta{color expression} as described earlier,
% then converts to the \meta{format} specified and assigns the data to the
-% \meta{tl}.
+% \meta{tl var}.
% \end{function}
%
% \begin{function}{\color_export:nnnN}
% \begin{syntax}
-% \cs{color_export:nnnN} \Arg{model} \Arg{value(s)} \Arg{format} \Arg{tl}
+% \cs{color_export:nnnN} \Arg{model} \Arg{value(s)} \Arg{format} \meta{tl var}
% \end{syntax}
% Expresses the combination of \meta{model} and \meta{value(s)} in an
% internal representation, then converts to the \meta{format} specified and
-% assigns the data to the \meta{tl}.
+% assigns the data to the \meta{tl var}.
% \end{function}
%
% \section{Creating new color models}
@@ -495,7 +495,7 @@
%
% Color profiles are used to ensure color accuracy by linking to collaboration.
% Applying a profile can be used to standardise color which is otherwise
-% device-dependence.
+% device-dependent.
%
% \begin{function}[added = 2021-02-23]{\color_profile_apply:nn}
% \begin{syntax}
@@ -697,14 +697,14 @@
% \begin{macro}{\@@_convert:nnnN, \@@_convert:nVnN, \@@_convert:nnVN}
% \begin{macro}[EXP]
% {
-% \@@_convert_gray_gray:w
-% \@@_convert_gray_rgb:w
-% \@@_convert_gray_cmyk:w
-% \@@_convert_cmyk_gray:w
-% \@@_convert_cmyk_rgb:w
-% \@@_convert_cmyk_cmyk:w
-% \@@_convert_rgb_gray:w
-% \@@_convert_rgb_rgb:w
+% \@@_convert_gray_gray:w,
+% \@@_convert_gray_rgb:w,
+% \@@_convert_gray_cmyk:w,
+% \@@_convert_cmyk_gray:w,
+% \@@_convert_cmyk_rgb:w,
+% \@@_convert_cmyk_cmyk:w,
+% \@@_convert_rgb_gray:w,
+% \@@_convert_rgb_rgb:w,
% \@@_convert_rgb_cmyk:w
% }
% \begin{macro}[EXP]{\@@_convert_rgb_cmyk:nnn}
diff --git a/macros/latex-dev/required/l3kernel/l3debug.dtx b/macros/latex-dev/required/l3kernel/l3debug.dtx
index 777dce794d..41456cf8da 100644
--- a/macros/latex-dev/required/l3kernel/l3debug.dtx
+++ b/macros/latex-dev/required/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -69,7 +69,7 @@
%
% Standard file identification.
% \begin{macrocode}
-\ProvidesExplFile{l3debug.def}{2024-06-19}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-08-16}{}{L3 Debugging support}
% \end{macrocode}
%
% \begin{variable}{\s_@@_stop}
diff --git a/macros/latex-dev/required/l3kernel/l3deprecation.dtx b/macros/latex-dev/required/l3kernel/l3deprecation.dtx
index 3374bf451f..21d96b8f9c 100644
--- a/macros/latex-dev/required/l3kernel/l3deprecation.dtx
+++ b/macros/latex-dev/required/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -505,10 +505,10 @@
{ \text_uppercase:nn {#1} {#2} }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_titlecase_first:n }
\cs_new:Npn \tl_mixed_case:n #1
- { \text_titlecase_first:n {#1} }
+ { \text_titlecase_first:n { \text_lowercase:n {#1} } }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_titlecase_first:nn }
\cs_new:Npn \tl_mixed_case:nn #1#2
- { \text_titlecase_first:nn {#1} {#2} }
+ { \text_titlecase_first:nn {#1} { \text_lowercase:n {#2} } }
% \end{macrocode}
% \end{macro}
%
@@ -571,7 +571,7 @@
% \char_lower_case:N, \char_upper_case:N,
% \char_mixed_case:Nn, \char_fold_case:N,
% \char_str_lower_case:N, \char_str_upper_case:N,
-% \char_str_mixed_case:Nn, \char_str_fold_case:N,
+% \char_str_mixed_case:N, \char_str_fold_case:N,
% }
% \begin{macrocode}
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_lowercase:n }
diff --git a/macros/latex-dev/required/l3kernel/l3doc.dtx b/macros/latex-dev/required/l3kernel/l3doc.dtx
index 65250e78a4..ecd473b837 100644
--- a/macros/latex-dev/required/l3kernel/l3doc.dtx
+++ b/macros/latex-dev/required/l3kernel/l3doc.dtx
@@ -71,7 +71,7 @@ and all files in that bundle must be distributed together.
% This isn't included in the typeset documentation because it's a bit
% ugly:
%<*class>
-\ProvidesExplClass{l3doc}{2024-06-19}{}
+\ProvidesExplClass{l3doc}{2024-08-16}{}
{L3 Experimental documentation class}
%</class>
% \fi
@@ -84,7 +84,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
% \maketitle
% \tableofcontents
%
diff --git a/macros/latex-dev/required/l3kernel/l3doc.pdf b/macros/latex-dev/required/l3kernel/l3doc.pdf
index f417c92811..b21ea4c767 100644
--- a/macros/latex-dev/required/l3kernel/l3doc.pdf
+++ b/macros/latex-dev/required/l3kernel/l3doc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3docstrip.dtx b/macros/latex-dev/required/l3kernel/l3docstrip.dtx
index af95384850..29503b2d55 100644
--- a/macros/latex-dev/required/l3kernel/l3docstrip.dtx
+++ b/macros/latex-dev/required/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3docstrip.pdf b/macros/latex-dev/required/l3kernel/l3docstrip.pdf
index 2c97de0d5f..be416819fd 100644
--- a/macros/latex-dev/required/l3kernel/l3docstrip.pdf
+++ b/macros/latex-dev/required/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3expan.dtx b/macros/latex-dev/required/l3kernel/l3expan.dtx
index 09ef3306ac..714af5dc27 100644
--- a/macros/latex-dev/required/l3kernel/l3expan.dtx
+++ b/macros/latex-dev/required/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3file.dtx b/macros/latex-dev/required/l3kernel/l3file.dtx
index 6b1f21c00c..9074a65921 100644
--- a/macros/latex-dev/required/l3kernel/l3file.dtx
+++ b/macros/latex-dev/required/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3flag.dtx b/macros/latex-dev/required/l3kernel/l3flag.dtx
index e9733bff57..a25a02a2ca 100644
--- a/macros/latex-dev/required/l3kernel/l3flag.dtx
+++ b/macros/latex-dev/required/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-assign.dtx b/macros/latex-dev/required/l3kernel/l3fp-assign.dtx
index 98b71f34aa..2c988e21b4 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-assign.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-assign.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex-dev/required/l3kernel/l3fp-aux.dtx b/macros/latex-dev/required/l3kernel/l3fp-aux.dtx
index e05cc1e439..06c5304064 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-aux.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-basics.dtx b/macros/latex-dev/required/l3kernel/l3fp-basics.dtx
index d72a54eace..5c8ee332b9 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-basics.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-basics.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-convert.dtx b/macros/latex-dev/required/l3kernel/l3fp-convert.dtx
index 435c4ac38e..49d25cc51b 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-convert.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-expo.dtx b/macros/latex-dev/required/l3kernel/l3fp-expo.dtx
index 83af683de1..ea6a3015cf 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-expo.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-expo.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-extended.dtx b/macros/latex-dev/required/l3kernel/l3fp-extended.dtx
index 5f5bd618f4..be1137c0d4 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-extended.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-extended.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-functions.dtx b/macros/latex-dev/required/l3kernel/l3fp-functions.dtx
index da79f1f556..7b28783cfa 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-functions.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-functions.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-logic.dtx b/macros/latex-dev/required/l3kernel/l3fp-logic.dtx
index 96efa4b757..c1b9f68b9d 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-logic.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-logic.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-parse.dtx b/macros/latex-dev/required/l3kernel/l3fp-parse.dtx
index 00244bc2fb..8f8cc99ac4 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-parse.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-parse.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-random.dtx b/macros/latex-dev/required/l3kernel/l3fp-random.dtx
index 9722b5eea0..14a780a392 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-random.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-random.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-round.dtx b/macros/latex-dev/required/l3kernel/l3fp-round.dtx
index 1a407cfcfa..d6097c3258 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-round.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx b/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx
index eb8b3cc212..387d582d99 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-traps.dtx b/macros/latex-dev/required/l3kernel/l3fp-traps.dtx
index 358bbc6382..f2967021e3 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-traps.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-traps.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex-dev/required/l3kernel/l3fp-trig.dtx b/macros/latex-dev/required/l3kernel/l3fp-trig.dtx
index 75731af7ef..297deb2449 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-trig.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-trig.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-types.dtx b/macros/latex-dev/required/l3kernel/l3fp-types.dtx
index e19c8b8fda..b48c37d453 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-types.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-types.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp.dtx b/macros/latex-dev/required/l3kernel/l3fp.dtx
index 3095b53b7e..d970d631eb 100644
--- a/macros/latex-dev/required/l3kernel/l3fp.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -773,7 +773,7 @@
% The result may contain other functions, which are
% then replaced by their results if they have any. For instance,
% \begin{quote}
-% \cs{fp_new_function:n} |{ foo }| \\
+% \cs{fp_new_function:n} |{ npow }| \\
% \cs{fp_set_function:nnn} |{ npow } { a,b } { a**b }| \\
% \cs{fp_show:n} |{ npow(16,0.25) } }|
% \end{quote}
diff --git a/macros/latex-dev/required/l3kernel/l3fparray.dtx b/macros/latex-dev/required/l3kernel/l3fparray.dtx
index 696bf2befa..b20483a583 100644
--- a/macros/latex-dev/required/l3kernel/l3fparray.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3int.dtx b/macros/latex-dev/required/l3kernel/l3int.dtx
index 6dc750369d..d9698e8516 100644
--- a/macros/latex-dev/required/l3kernel/l3int.dtx
+++ b/macros/latex-dev/required/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -100,21 +100,6 @@
% restricted-expandable functions can both be used, and \cs{exp_not:n}
% and its variants have no effect while \cs{exp_not:N} may incorrectly
% interrupt the expression.
-% \begin{texnote}
-% Exactly two expansions are needed to evaluate \cs{int_eval:n}.
-% The result is \emph{not} an \meta{internal integer}, and therefore
-% should be terminated by a space if used in \cs{int_value:w} or in
-% a \TeX{}-style integer assignment.
-%
-% As all \TeX{} integers, integer operands can also be:
-% \tn{value}\Arg{\LaTeXe{} counter}; dimension or skip variables,
-% converted to integers in~\texttt{sp}; the character code of some
-% character given as \texttt{`}\meta{char} or
-% \texttt{`\textbackslash}\meta{char}; octal numbers given as
-% \texttt{'} followed by digits from \texttt{0} to \texttt{7}; or
-% hexadecimal numbers given as |"| followed by digits and upper case
-% letters from \texttt{A} to~\texttt{F}.
-% \end{texnote}
%
% \begin{function}[EXP]{\int_eval:n}
% \begin{syntax}
diff --git a/macros/latex-dev/required/l3kernel/l3intarray.dtx b/macros/latex-dev/required/l3kernel/l3intarray.dtx
index 2a8a5240b3..48b5b83ad1 100644
--- a/macros/latex-dev/required/l3kernel/l3intarray.dtx
+++ b/macros/latex-dev/required/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx b/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx
index 89abe0ae6c..cc6d8f6909 100644
--- a/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3keys.dtx b/macros/latex-dev/required/l3kernel/l3keys.dtx
index 3291f086e2..9225e1042d 100644
--- a/macros/latex-dev/required/l3kernel/l3keys.dtx
+++ b/macros/latex-dev/required/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -649,15 +649,13 @@
% { key } % Name of choice key
% { choice-a , choice-b , choice-c } % Valid choices
% { \exp_not:n {#1} } % Invalid choice given
-% %
-% %
% }
% \end{verbatim}
%
% Multiple choices are created in a very similar manner to mutually-exclusive
% choices, using the properties \texttt{.multichoice:} and
% \texttt{.multichoices:nn}. As with mutually exclusive choices, multiple
-% choices are define as sub-keys. Thus both
+% choices are defined as sub-keys. Thus both
% \begin{verbatim}
% \keys_define:nn { mymodule }
% {
@@ -1926,19 +1924,21 @@
% \end{macro}
%
% \begin{macro}{\@@_define_code:n}
-% \begin{macro}[EXP]{\@@_define_code:TF}
+% \begin{macro}[EXP]{\@@_define_code:nnn}
% \begin{macro}[EXP]{\@@_define_code:w}
% Two possible cases. If there is a value for the key, then just use
% the function. If not, then a check to make sure there is no need for
% a value with the property. If there should be one then complain,
-% otherwise execute it. There is no need to check for a |:| as if it
-% was missing the earlier tests would have failed.
+% otherwise execute it. For a \LaTeXe{} property like |.code| which
+% doesn't contain a |:|, treat it as having arity 1 and pass the
+% (empty) value to it.
% \begin{macrocode}
\cs_new_protected:Npn \@@_define_code:n #1
{
\bool_if:NTF \l_@@_no_value_bool
{
- \@@_define_code:TF
+ \@@_define_code:nnn
+ { \use:c { \c_@@_props_root_str \l_@@_property_str } {#1} }
{ \use:c { \c_@@_props_root_str \l_@@_property_str } }
{
\msg_error:nnee { keys } { property-requires-value }
@@ -1947,7 +1947,7 @@
}
{ \use:c { \c_@@_props_root_str \l_@@_property_str } {#1} }
}
-\cs_new:Npe \@@_define_code:TF
+\cs_new:Npe \@@_define_code:nnn
{
\exp_not:N \exp_after:wN \exp_not:N \@@_define_code:w
\exp_not:N \l_@@_property_str
@@ -1959,7 +1959,15 @@
\cs_new:Npn \exp_not:N \@@_define_code:w
#1 \c_colon_str #2 \c_colon_str #3 \exp_not:N \s_@@_stop
}
- { \tl_if_empty:nTF {#2} }
+ {
+ \tl_if_empty:nTF {#3}
+ { \use_i:nnn }
+ {
+ \tl_if_empty:nTF {#2}
+ { \use_ii:nnn }
+ { \use_iii:nnn }
+ }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex-dev/required/l3kernel/l3legacy.dtx b/macros/latex-dev/required/l3kernel/l3legacy.dtx
index 3ff5c60c72..667b15003a 100644
--- a/macros/latex-dev/required/l3kernel/l3legacy.dtx
+++ b/macros/latex-dev/required/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3luatex.dtx b/macros/latex-dev/required/l3kernel/l3luatex.dtx
index 3df2c8015a..963fdcb032 100644
--- a/macros/latex-dev/required/l3kernel/l3luatex.dtx
+++ b/macros/latex-dev/required/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3msg.dtx b/macros/latex-dev/required/l3kernel/l3msg.dtx
index d4ce94ea01..c8569dd7ac 100644
--- a/macros/latex-dev/required/l3kernel/l3msg.dtx
+++ b/macros/latex-dev/required/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3names.dtx b/macros/latex-dev/required/l3kernel/l3names.dtx
index 12e881781b..9231f409c1 100644
--- a/macros/latex-dev/required/l3kernel/l3names.dtx
+++ b/macros/latex-dev/required/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3news.pdf b/macros/latex-dev/required/l3kernel/l3news.pdf
index 80a88e47cd..13395a51a0 100644
--- a/macros/latex-dev/required/l3kernel/l3news.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news01.pdf b/macros/latex-dev/required/l3kernel/l3news01.pdf
index 99aebce94c..12f78fce05 100644
--- a/macros/latex-dev/required/l3kernel/l3news01.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news02.pdf b/macros/latex-dev/required/l3kernel/l3news02.pdf
index 8724ffc776..d14e137d29 100644
--- a/macros/latex-dev/required/l3kernel/l3news02.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news03.pdf b/macros/latex-dev/required/l3kernel/l3news03.pdf
index 6e02927db4..79ac19eeba 100644
--- a/macros/latex-dev/required/l3kernel/l3news03.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news04.pdf b/macros/latex-dev/required/l3kernel/l3news04.pdf
index ce24a41b64..e14577af81 100644
--- a/macros/latex-dev/required/l3kernel/l3news04.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news05.pdf b/macros/latex-dev/required/l3kernel/l3news05.pdf
index b4e1a4fb63..9317c56453 100644
--- a/macros/latex-dev/required/l3kernel/l3news05.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news06.pdf b/macros/latex-dev/required/l3kernel/l3news06.pdf
index 1d675540ec..b63b3d6f7a 100644
--- a/macros/latex-dev/required/l3kernel/l3news06.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news07.pdf b/macros/latex-dev/required/l3kernel/l3news07.pdf
index a1c228a441..53f05ea997 100644
--- a/macros/latex-dev/required/l3kernel/l3news07.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news08.pdf b/macros/latex-dev/required/l3kernel/l3news08.pdf
index 004c269c5e..c1afcce2d0 100644
--- a/macros/latex-dev/required/l3kernel/l3news08.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news09.pdf b/macros/latex-dev/required/l3kernel/l3news09.pdf
index 33a6bde2a9..9f5bad41a0 100644
--- a/macros/latex-dev/required/l3kernel/l3news09.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news10.pdf b/macros/latex-dev/required/l3kernel/l3news10.pdf
index ab6903d917..92a888e33c 100644
--- a/macros/latex-dev/required/l3kernel/l3news10.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news11.pdf b/macros/latex-dev/required/l3kernel/l3news11.pdf
index e5d326a453..18b77565d4 100644
--- a/macros/latex-dev/required/l3kernel/l3news11.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news12.pdf b/macros/latex-dev/required/l3kernel/l3news12.pdf
index 83cd26364b..dce8290061 100644
--- a/macros/latex-dev/required/l3kernel/l3news12.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3pdf.dtx b/macros/latex-dev/required/l3kernel/l3pdf.dtx
index aed2fa02e2..e827001e9f 100644
--- a/macros/latex-dev/required/l3kernel/l3pdf.dtx
+++ b/macros/latex-dev/required/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -70,8 +70,8 @@
% \cs{pdf_object_write:nnn} \Arg{object} \Arg{type} \Arg{content}
% \end{syntax}
% Writes the \meta{content} as content of the \meta{object}. Depending on the
-% \meta{type} declared for the object, the format required for the
-% \meta{data} will vary
+% \meta{type} declared for the object, the format required for
+% \meta{content} will vary:
% \begin{itemize}
% \item[\texttt{array}] A space-separated list of values
% \item[\texttt{dict}] Key--value pairs in the form
@@ -159,7 +159,7 @@
% \cs{pdf_object_unnamed_write:nn} \Arg{type} \Arg{content}
% \end{syntax}
% Writes the \meta{content} as content of an anonymous object. Depending on the
-% \meta{type}, the format required for the \meta{data} will vary
+% \meta{type}, the format required for \meta{content} will vary:
% \begin{itemize}
% \item[\texttt{array}] A space-separated list of values
% \item[\texttt{dict}] Key--value pairs in the form
@@ -251,9 +251,9 @@
%
% \section{Destinations}
%
-% Destinations are the places a link jumped too.
-% Unlike the name may suggest they don't described
-% an exact location in the PDF. Instead a destination contains a reference to
+% Destinations are the places a link jumped to.
+% Unlike the name may suggest, they don't describe
+% an exact location in the PDF. Instead, a destination contains a reference to
% a page along with an instruction how to display this page.
% The normally used \enquote{XYZ \textit{top left zoom}} for example instructs
% the viewer to show the page with the given \textit{zoom} and
diff --git a/macros/latex-dev/required/l3kernel/l3prefixes.csv b/macros/latex-dev/required/l3kernel/l3prefixes.csv
index e85412b9d8..47cd011a5c 100644
--- a/macros/latex-dev/required/l3kernel/l3prefixes.csv
+++ b/macros/latex-dev/required/l3kernel/l3prefixes.csv
@@ -26,6 +26,7 @@ block,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https:
bool,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
box,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
bxjh,BXjaholiday,Takuto Asakura,https://github.com/wtsnjp/BXjaholiday,https://github.com/wtsnjp/BXjaholiday.git,https://github.com/wtsnjp/BXjaholiday/issues,2018-02-02,2019-02-02,
+cal,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
cascade,cascade,F. Pantigny,,,,2020-07-21,2020-07-21,
catcode,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
cctab,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-28,2012-09-28,
@@ -78,6 +79,7 @@ etex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:
etl,etl,Jonathan P. Spratte,https://github.com/Skillmon/ltx_etl,git@github.com:Skillmon/ltx_etl.git,https://github.com/Skillmon/ltx_etl/issues,2021-08-16,2021-08-16,
exp,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
expl,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
+expltools,expltools,Vít Starý Novotný,https://github.com/witiko/expltools/,https://github.com/witiko/expltools.git,https://github.com/witiko/expltools/issues,2024-06-26,2024-06-26,Development tools for expl3 programmers
exsheets,exsheets,Clemens Niederberger,https://bitbucket.org/cgnieder/exsheets/,git@bitbucket.org:cgnieder/exsheets.git,https://bitbucket.org/cgnieder/exsheets/issues,2013-03-16,2013-03-16,
extblx,biblatex-ext,Moritz Wemheuer,https://github.com/moewew/biblatex-ext/,https://github.com/moewew/biblatex-ext.git,https://github.com/moewew/biblatex-ext/issues,2020-02-09,2020-02-09,
exwf,exwrapfig,Takuto Asakura,https://github.com/wtsnjp/exwrapfig,https://github.com/wtsnjp/exwrapfig.git,https://github.com/wtsnjp/exwrapfig/issues,2018-06-07,2018-06-07,
@@ -135,6 +137,7 @@ keys,"l3kernel,l3keys2e,ltkeys",The LaTeX Project,https://www.latex-project.org/
keyval,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
kgl,kantlipsum,Enrico Gregorio,,,,2013-03-16,2013-03-16,
kivitendo,"kiviletter, kivitables",Marei Peischl for Kivitendo,https://www.kivitendo.de/,https://github.com/kivitendo/kivitendo-erp,https://forum.kivitendo.de/,2021-05-28,2021-05-28,
+knot,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
langsci,langscibook,Language Science Press,https://langsci-press.org,https://github.com/langsci/langscibook,https://github.com/langsci/langscibook/issues,2021-07-20,2021-07-21,
left,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
liftarm,liftarm,Matthias Floré,,,,2024-05-25,2024-05-25,
@@ -160,6 +163,7 @@ minibox,minibox,Will Robertson,,https://github.com/wspr/will2e.git,https://githu
minus,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
mix,media9,Alexander Grahn,,https://gitlab.com/agrahn/media9,https://gitlab.com/agrahn/media9/issues,2013-01-18,2020-04-15,
mode,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
+moremath,moremath,Marcel Ilg,https://github.com/Mister00X/moremath,https://github.com/Mister00X/moremath.git,https://github.com/Mister00X/moremath/issues,2024-07-27,2024-07-27,
morewrites,morewrites,Bruno Le Floch,https://github.com/blefloch/latex-morewrites,https://github.com/blefloch/latex-morewrites.git,https://github.com/blefloch/latex-morewrites/issues,2013-03-16,2015-09-22,
msg,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
msvg,media4svg,Alexander Grahn,,https://gitlab.com/agrahn/media4svg,https://gitlab.com/agrahn/media4svg/issues,2020-04-15,2020-04-15,
@@ -210,6 +214,7 @@ property,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,htt
pseudo,pseudo,Magnus Lie Hetland,https://github.com/mlhetland/pseudo.sty,https://github.com/mlhetland/pseudo.sty.git,https://github.com/mlhetland/pseudo.sty/issues,2019-06-24,2019-06-24,
ptex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2015-07-28,2015-07-28,
ptxcd,ptxcd,Marei Peischl,,,,2020-07-27,2020-07-27,Used for specific corporate design templates
+ptxtools,"depp, ptxtools",Marei Peischl,https://gitlab.com/islandoftex/texmf/depp,https://gitlab.com/islandoftex/texmf/depp.git,https://gitlab.com/islandoftex/texmf/depp,2024-07-09,2024-07-09,
qrbill,qrbill,Marei Peischl,https://github.com/peiTeX/qrbill,https://github.com/peiTeX/qrbill.git,https://github.com/peiTeX/qrbill/issues,2020-06-27,2020-06-27,
quark,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
rainbow,beamertheme-rainbow,samcarter,https://github.com/samcarter/beamertheme-rainbow,https://github.com/samcarter/beamertheme-rainbow,https://github.com/samcarter/beamertheme-rainbow/issues,2023-07-04,2023-07-04,
@@ -239,6 +244,7 @@ slcd,se2thesis,Stephan Lukasczyk,https://github.com/se2p/se2thesis,https://githu
socket,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2023-10-17,2023-10-17,
sort,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2017-02-13,
space,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
+spath,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
starray,starray,Alceu Frigeri,https://github.com/alceu-frigeri/starray,https://github.com/alceu-frigeri/starray,https://github.com/alceu-frigeri/starray/issues,2023-05-15,2023-05-15,
statistics,statistics,Julien Rivaud,https://gitlab.com/frnchfrgg-latex/statistics,https://gitlab.com/frnchfrgg-latex/statistics.git,https://gitlab.com/frnchfrgg-latex/statistics/issues,2018-06-25,2018-06-25,
stm,lt3-stm,CV Radhakrishnan,http://www.cvr.cc/,,,2014-02-26,2014-02-26,
@@ -258,6 +264,7 @@ tex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:/
text,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-01-15,2020-01-15,
tikzfill,tikzfill,Thomas F. Sturm,https://github.com/T-F-S/tikzfill,https://github.com/T-F-S/tikzfill.git,https://github.com/T-F-S/tikzfill/issues,2022-07-19,2022-07-19,
tikzlings,tikzlings,samcarter,https://github.com/samcarter/tikzlings,git@github.com:samcarter/tikzlings.git,https://github.com/samcarter/tikzlings/issues,2023-02-17,2023-02-17,
+tikzspath,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
tikzsymbols,tikzsymbols,Ben Vitecek,https://github.com/Vidabe/tikzsymbols,https://github.com/Vidabe/tikzsymbols.git,https://github.com/Vidabe/tikzsymbols/issues,2018-09-26,2018-09-26,
tilde,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
tl,"l3kernel,l3tl-build",The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
@@ -288,6 +295,7 @@ xmarks,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https
xparse,xparse,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
xpatch,"regexpatch,xpatch",Enrico Gregorio,,,,2013-03-16,2013-03-16,
xpeek,xpeek,Joel C. Salomon,,,,2013-03-16,2013-03-16,
+xpg,polyglossia,Jürgen Spitzmüller,https://github.com/reutenauer/polyglossia/,https://github.com/reutenauer/polyglossia/,https://github.com/reutenauer/polyglossia/issues,2024-07-02,2024-07-02,
xpinyin,xpinyin,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2013-03-16,2013-05-26,
xsb,xsavebox,Alexander Grahn,,https://gitlab.com/agrahn/xsavebox,https://gitlab.com/agrahn/xsavebox/issues,2016-02-26,2020-04-15,
xsim,xsim,Clemens Niederberger,https://github.com/cgnieder/xsim/,https://github.com/cgnieder/xsim.git,https://github.com/cgnieder/xsim/issues,2020-04-14,2020-04-14,
@@ -299,4 +307,5 @@ zhnum,zhnumber,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/
zrefcheck,zref-check,gusbrs,https://github.com/gusbrs/zref-check,https://github.com/gusbrs/zref-check,https://github.com/gusbrs/zref-check/issues,2021-08-05,2021-08-05,
zrefclever,zref-clever,gusbrs,https://github.com/gusbrs/zref-clever,https://github.com/gusbrs/zref-clever,https://github.com/gusbrs/zref-clever/issues,2021-11-29,2021-11-29,
zrefvario,zref-vario,gusbrs,https://github.com/gusbrs/zref-vario,https://github.com/gusbrs/zref-vario,https://github.com/gusbrs/zref-vario/issues,2022-02-02,2022-02-02,
+zugferd,zugferd,Marei Peischl,https://github.com/TeXhackse/LaTeX-ZUGFeRD,https://github.com/TeXhackse/LaTeX-ZUGFeRD.git,https://github.com/TeXhackse/LaTeX-ZUGFeRD/issues,2024-07-09,2024-07-09,
zxjt,zxjatype,Takayuki Yato,,,,2013-03-16,2013-03-16,
diff --git a/macros/latex-dev/required/l3kernel/l3prefixes.pdf b/macros/latex-dev/required/l3kernel/l3prefixes.pdf
index e9633dee24..9b3c4cde2a 100644
--- a/macros/latex-dev/required/l3kernel/l3prefixes.pdf
+++ b/macros/latex-dev/required/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3prg.dtx b/macros/latex-dev/required/l3kernel/l3prg.dtx
index 92bcf69e60..69c66057d4 100644
--- a/macros/latex-dev/required/l3kernel/l3prg.dtx
+++ b/macros/latex-dev/required/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3prop.dtx b/macros/latex-dev/required/l3kernel/l3prop.dtx
index 70bd8bcf1c..5f60f31b81 100644
--- a/macros/latex-dev/required/l3kernel/l3prop.dtx
+++ b/macros/latex-dev/required/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -181,11 +181,11 @@
% \prop_gset_from_keyval:Nn, \prop_gset_from_keyval:cn,
% }
% \begin{syntax}
-% \cs{prop_set_from_keyval:Nn} \meta{property list}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_set_from_keyval:Nn} \meta{property list} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Sets \meta{property list} to contain key--value pairs given in the second
% argument. If duplicate keys appear only the last of the values is kept.
@@ -205,11 +205,11 @@
% \begin{function}[added = 2017-11-28, updated = 2021-11-07]
% {\prop_const_from_keyval:Nn, \prop_const_from_keyval:cn}
% \begin{syntax}
-% \cs{prop_const_from_keyval:Nn} \meta{property list}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_const_from_keyval:Nn} \meta{property list} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Creates a new constant \enquote{flat} \meta{property list} or raises
% an error if the
@@ -224,11 +224,11 @@
% \begin{function}[added = 2024-02-12]
% {\prop_const_linked_from_keyval:Nn, \prop_const_linked_from_keyval:cn}
% \begin{syntax}
-% \cs{prop_const_linked_from_keyval:Nn} \meta{prop~var}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_const_linked_from_keyval:Nn} \meta{prop~var} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Creates a new constant \enquote{linked} \meta{prop~var} or raises an
% error if the
@@ -347,11 +347,11 @@
% \prop_gput_from_keyval:Nn, \prop_gput_from_keyval:cn,
% }
% \begin{syntax}
-% \cs{prop_put_from_keyval:Nn} \meta{property list}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_put_from_keyval:Nn} \meta{property list} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Updates the \meta{property list} by adding entries for each key--value
% pair given in the second argument. The addition is done through
diff --git a/macros/latex-dev/required/l3kernel/l3quark.dtx b/macros/latex-dev/required/l3kernel/l3quark.dtx
index ae2e5b2ace..d4558e216b 100644
--- a/macros/latex-dev/required/l3kernel/l3quark.dtx
+++ b/macros/latex-dev/required/l3kernel/l3quark.dtx
@@ -32,7 +32,7 @@
%
% \title{^^A
% The \pkg{l3quark} module\\ Quarks and scan marks^^A
-% }
+% }\ifdefined\thechapter\label{sec:l3quarks}\fi
%
% \author{^^A
% The \LaTeX{} Project\thanks
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3regex.dtx b/macros/latex-dev/required/l3kernel/l3regex.dtx
index f5557a0bdc..b6ca0d5d2c 100644
--- a/macros/latex-dev/required/l3kernel/l3regex.dtx
+++ b/macros/latex-dev/required/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3seq.dtx b/macros/latex-dev/required/l3kernel/l3seq.dtx
index 8771429150..2f0b223753 100644
--- a/macros/latex-dev/required/l3kernel/l3seq.dtx
+++ b/macros/latex-dev/required/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3skip.dtx b/macros/latex-dev/required/l3kernel/l3skip.dtx
index c53e3c82f0..788abaf20c 100644
--- a/macros/latex-dev/required/l3kernel/l3skip.dtx
+++ b/macros/latex-dev/required/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3sort.dtx b/macros/latex-dev/required/l3kernel/l3sort.dtx
index aabf913745..6c997672de 100644
--- a/macros/latex-dev/required/l3kernel/l3sort.dtx
+++ b/macros/latex-dev/required/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3str-convert.dtx b/macros/latex-dev/required/l3kernel/l3str-convert.dtx
index 579deac4fc..4da5cf1302 100644
--- a/macros/latex-dev/required/l3kernel/l3str-convert.dtx
+++ b/macros/latex-dev/required/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3str.dtx b/macros/latex-dev/required/l3kernel/l3str.dtx
index 211769877c..787bbf6d87 100644
--- a/macros/latex-dev/required/l3kernel/l3str.dtx
+++ b/macros/latex-dev/required/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -757,7 +757,7 @@
% \item Case changing text for typesetting: see the
% \cs[index=text_lowercase:n]{text_lowercase:n(n)},
% \cs[index=text_uppercase:n]{text_uppercase:n(n)} and
-% \cs[index=text_titlecase_all:n]{text_titlecase_(all|once):n(n)} functions which
+% \cs[index=text_titlecase_all:n]{text_titlecase_(all|first):n(n)} functions which
% correctly deal with context-dependence and other factors appropriate
% to text case changing.
% \end{itemize}
diff --git a/macros/latex-dev/required/l3kernel/l3styleguide.pdf b/macros/latex-dev/required/l3kernel/l3styleguide.pdf
index 80dabed626..5ecb6ce5a4 100644
--- a/macros/latex-dev/required/l3kernel/l3styleguide.pdf
+++ b/macros/latex-dev/required/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3styleguide.tex b/macros/latex-dev/required/l3kernel/l3styleguide.tex
index 1caf698e9b..0500ec57cd 100644
--- a/macros/latex-dev/required/l3kernel/l3styleguide.tex
+++ b/macros/latex-dev/required/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-06-19}
+\date{Released 2024-08-16}
\begin{document}
diff --git a/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf b/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf
index ef84d78a9f..2b92188b17 100644
--- a/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3syntax-changes.tex b/macros/latex-dev/required/l3kernel/l3syntax-changes.tex
index 5ed2fba867..8631fe09b8 100644
--- a/macros/latex-dev/required/l3kernel/l3syntax-changes.tex
+++ b/macros/latex-dev/required/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-06-19}
+\date{Released 2024-08-16}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex-dev/required/l3kernel/l3sys.dtx b/macros/latex-dev/required/l3kernel/l3sys.dtx
index 699e348097..861865c677 100644
--- a/macros/latex-dev/required/l3kernel/l3sys.dtx
+++ b/macros/latex-dev/required/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3term-glossary.pdf b/macros/latex-dev/required/l3kernel/l3term-glossary.pdf
index 5705a81599..e70523067d 100644
--- a/macros/latex-dev/required/l3kernel/l3term-glossary.pdf
+++ b/macros/latex-dev/required/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3term-glossary.tex b/macros/latex-dev/required/l3kernel/l3term-glossary.tex
index 3221b10280..b150aee1e9 100644
--- a/macros/latex-dev/required/l3kernel/l3term-glossary.tex
+++ b/macros/latex-dev/required/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-06-19}
+\date{Released 2024-08-16}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex-dev/required/l3kernel/l3text-case.dtx b/macros/latex-dev/required/l3kernel/l3text-case.dtx
index 915b8e1cd9..2a3702df85 100644
--- a/macros/latex-dev/required/l3kernel/l3text-case.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3text-map.dtx b/macros/latex-dev/required/l3kernel/l3text-map.dtx
index b29dbbf0ca..431e033707 100644
--- a/macros/latex-dev/required/l3kernel/l3text-map.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text-map.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3text-purify.dtx b/macros/latex-dev/required/l3kernel/l3text-purify.dtx
index 2fe35a21e7..051933eb9b 100644
--- a/macros/latex-dev/required/l3kernel/l3text-purify.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3text.dtx b/macros/latex-dev/required/l3kernel/l3text.dtx
index 472fc7d9bc..0680c19fed 100644
--- a/macros/latex-dev/required/l3kernel/l3text.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -65,11 +65,11 @@
% \end{syntax}
% Takes user input \meta{text} and expands the content.
% Protected commands (typically
-% formatting) are left in place, and no processing takes place of
+% formatting) are left in place, and no processing of
% math mode material (as delimited by pairs given in
% \cs{l_text_math_delims_tl} or as the argument to commands listed
-% in \cs{l_text_math_arg_tl}). Commands which are neither engine-
-% nor \LaTeX{} protected are expanded exhaustively.
+% in \cs{l_text_math_arg_tl}) takes place. Commands which are neither engine-
+% nor \LaTeX{}-protected are expanded exhaustively.
% Any commands listed in \cs{l_text_expand_exclude_tl} are excluded from
% expansion, as are those in \cs{l_text_case_exclude_arg_tl} and
% \cs{l_text_math_arg_tl}.
@@ -114,8 +114,8 @@
% \end{function}
%
% Upper- and lowercase have the obvious meanings. Titlecasing may be regarded
-% informally as converting the first character of the \meta{tokens} to
-% uppercase. However, the process is more complex
+% informally as converting the first \emph{non-space} character of the
+% \meta{tokens} to uppercase. However, the process is more complex
% than this as there are some situations where a single lowercase character
% maps to a special form, for example \texttt{ij} in Dutch which becomes
% \texttt{IJ}. There are two functions available for titlecasing: one which
@@ -214,8 +214,8 @@
% \text_declare_uppercase_mapping:nnn
% }
% \begin{syntax}
-% \cs{text_declare_lowercase_mapping:nn} \Arg{codeppoint} \Arg{replacement}
-% \cs{text_declare_lowercase_mapping:nnn} \Arg{BCP-47} \Arg{codeppoint} \Arg{replacement}
+% \cs{text_declare_lowercase_mapping:nn} \Arg{codepoint} \Arg{replacement}
+% \cs{text_declare_lowercase_mapping:nnn} \Arg{BCP-47} \Arg{codepoint} \Arg{replacement}
% \end{syntax}
% Declares that the \meta{replacement} tokens should be used when case mapping
% the \meta{codepoint}, rather than the standard mapping given in the
diff --git a/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx b/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx
index 53a8842b6f..aa4ccae287 100644
--- a/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3tl-build.dtx b/macros/latex-dev/required/l3kernel/l3tl-build.dtx
index abd6f97193..a1e5b27ec8 100644
--- a/macros/latex-dev/required/l3kernel/l3tl-build.dtx
+++ b/macros/latex-dev/required/l3kernel/l3tl-build.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3tl.dtx b/macros/latex-dev/required/l3kernel/l3tl.dtx
index da498dcf9c..2c8de13fd3 100644
--- a/macros/latex-dev/required/l3kernel/l3tl.dtx
+++ b/macros/latex-dev/required/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3token.dtx b/macros/latex-dev/required/l3kernel/l3token.dtx
index 34387ca6b0..cf0f998103 100644
--- a/macros/latex-dev/required/l3kernel/l3token.dtx
+++ b/macros/latex-dev/required/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3unicode.dtx b/macros/latex-dev/required/l3kernel/l3unicode.dtx
index 5ca6ffbf41..89450e18fe 100644
--- a/macros/latex-dev/required/l3kernel/l3unicode.dtx
+++ b/macros/latex-dev/required/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/source3.pdf b/macros/latex-dev/required/l3kernel/source3.pdf
index c61b5e0ade..108054a452 100644
--- a/macros/latex-dev/required/l3kernel/source3.pdf
+++ b/macros/latex-dev/required/l3kernel/source3.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/source3.tex b/macros/latex-dev/required/l3kernel/source3.tex
index 4297476aab..9abacf7762 100644
--- a/macros/latex-dev/required/l3kernel/source3.tex
+++ b/macros/latex-dev/required/l3kernel/source3.tex
@@ -57,7 +57,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-06-19}
+\date{Released 2024-08-16}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex-dev/required/l3kernel/source3body.tex b/macros/latex-dev/required/l3kernel/source3body.tex
index 8471296227..db5b907e7b 100644
--- a/macros/latex-dev/required/l3kernel/source3body.tex
+++ b/macros/latex-dev/required/l3kernel/source3body.tex
@@ -344,6 +344,19 @@ are never used by the core code. The nature of \TeX{} grouping means that as
with any other scratch variable, these should only be set and used with no
intervening third-party code.
+There are two more special types of constants:
+\begin{description}
+ \item[\texttt{q}] Quark constants.
+ \item[\texttt{s}] Scan mark constants.
+\end{description}
+Similarly, each quark or scan mark name starts with the module name,
+but doesn't end with a variable type, because the type is already
+marked by the prefix \texttt{q} or \texttt{s}.
+Some general quarks and scan marks provided by \LaTeX3 don't start
+with a module name, for example \cs{s_stop}.
+See documentation of quarks and scan marks in Chapter~\ref{sec:l3quarks}
+for more info.
+
\subsection{Terminological inexactitude}
A word of warning. In this document, and others referring to the \pkg{expl3}
diff --git a/macros/latex-dev/required/latex-lab/README.md b/macros/latex-dev/required/latex-lab/README.md
index fb930aa965..116223aecb 100644
--- a/macros/latex-dev/required/latex-lab/README.md
+++ b/macros/latex-dev/required/latex-lab/README.md
@@ -1,6 +1,6 @@
# LaTeX laboratory
-Release 2024-11-01 pre-release 0
+Release 2024-11-01 pre-release 3
## Overview
diff --git a/macros/latex-dev/required/latex-lab/blocks-code.pdf b/macros/latex-dev/required/latex-lab/blocks-code.pdf
index a5d58887f2..38ff9f597e 100644
--- a/macros/latex-dev/required/latex-lab/blocks-code.pdf
+++ b/macros/latex-dev/required/latex-lab/blocks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/blocks-doc.pdf b/macros/latex-dev/required/latex-lab/blocks-doc.pdf
index e62b76f5e3..e27577d88b 100644
--- a/macros/latex-dev/required/latex-lab/blocks-doc.pdf
+++ b/macros/latex-dev/required/latex-lab/blocks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/changes.txt b/macros/latex-dev/required/latex-lab/changes.txt
index cd53086b2b..9b016419ab 100644
--- a/macros/latex-dev/required/latex-lab/changes.txt
+++ b/macros/latex-dev/required/latex-lab/changes.txt
@@ -1,12 +1,58 @@
+2024-08-22 Joseph Wright <Joseph.Wright@latex-project.org>
+ * latex-lab-math.dtx: correct handling of empty math processing
+
+2024-08-21 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-math.dtx: correct luamml patches for array,
+ allow to use luamml without unicode-math
+
+2024-08-14 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-math.dtx: add luamml support for automatic mathml generation
+
+2024-08-12 Joseph Wright <Joseph.Wright@latex-project.org>
+ * latex-lab-math.dtx: add support for math in tabulars
+
+2024-08-11 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-firstaid.dtx: amsproc support, discussion in PR #517
+
+2024-08-11 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-block.dtx: preset verbatim para-instance, issue #119
+
+2024-08-10 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-block.dtx, latex-lab-table.dtx: reset flattened level in para/restore, issue #544
+
+2024-08-08 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-minipage.dtx, latex-lab-table.dtx: improve support for minipage in tables.
+ handle issue #37
+
+2024-08-06 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-table.dtx: add support for header-columns
+ * latex-lab-table.dtx: add support for multirows
+ * latex-lab-table.dtx: handle issue #432
+ * latex-lab-marginpar.dtx: handle issue #444
+
+2024-07-11 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-footnote.dtx: restore paragraph defaults at the begin of the footnote
+ tagging-project#262
+
+2024-07-13 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * latex-lab-table.dtx (subsection{Tagging support sockets}):
+ add plugs for tbl/leaders/begin and /end
+ (subsection{Misc stuff}): drop unused socket
+
+2024-07-11 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-toc.dtx, latex-lab-toc-kernel-changes: switch from configuration points
+ to sockets.
+
2024-05-25 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
* latex-lab-table.dtx: disable table headers in presentation tables.
2024-05-25 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
- * latex-lab-firstaid.dtx: add firstaid for booktabs cmidrules,
+ * latex-lab-firstaid.dtx: add firstaid for booktabs cmidrules,
see tagging-issue 69.
2024-04-18 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
- * documentmetadata-support.dtx: change handling of default language.
+ * documentmetadata-support.dtx: change handling of default language.
The code now tries to detect languages set by babel/polyglossia.
2024-04-16 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
diff --git a/macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdf b/macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdf
index bc995e7cce..b2d74f849f 100644
--- a/macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdf
+++ b/macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdf b/macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdf
index 9466a187ff..362954edba 100644
--- a/macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdf
+++ b/macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-amsmath.dtx b/macros/latex-dev/required/latex-lab/latex-lab-amsmath.dtx
index 57e27067cb..1b6302bb33 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-amsmath.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-amsmath.dtx
@@ -66,7 +66,7 @@
% \subsection{File declaration}
% \begin{macrocode}
\ProvidesFile{latex-lab-amsmath.ltx}
- [2024-02-12 v0.1b amsmath adaptions]
+ [2024-07-05 v0.1b amsmath adaptions]
% \end{macrocode}
% \subsection{Tagpdf support}
% To make the code independent from tagging being loaded and active
@@ -200,8 +200,8 @@
% \end{macrocode}
%
% \subsection{\cs{pmb}}
-% \cs{pmb} prints is argument three times. For tagging we must mark
-% two of occurences as artifact.
+% \cs{pmb} prints its argument three times. For tagging we must mark
+% two of occurrences as artifact.
% For luatex the attributes in the box must be reset, for this
% we switch to expl3-boxes.
% \begin{macrocode}
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-amsmath.pdf b/macros/latex-dev/required/latex-lab/latex-lab-amsmath.pdf
index 794d259d4c..6bb389ef9e 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-amsmath.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-amsmath.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-bib.dtx b/macros/latex-dev/required/latex-lab/latex-lab-bib.dtx
index e8ee192a7b..9d336aba20 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-bib.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-bib.dtx
@@ -16,7 +16,7 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabbibdate{2024-02-12}
+\def\ltlabbibdate{2024-07-05}
\def\ltlabbibversion{0.81b}
%<*driver>
\documentclass{l3doc}
@@ -128,7 +128,7 @@
%
% \begin{function}{\@extra@binfo,\@extra@b@citeb}
%
-% These are taken from hyperref, they are for chapterbib compability (and also
+% These are taken from hyperref, they are for chapterbib compatibility (and also
% signal to chapterbib not to change the citation commands)
% \end{function}
%
@@ -157,7 +157,7 @@
% \end{macrocode}
% \begin{macro}{\@extra@binfo,\@extra@b@citeb}
-% These are taken from hyperref, they are for chapterbib compability (and also
+% These are taken from hyperref, they are for chapterbib compatibility (and also
% signal to chapterbib not to change the citation commands)
% \begin{macrocode}
\providecommand*\@extra@binfo{}%
@@ -270,7 +270,7 @@
% \end{macrocode}
% Now we add the tagging structure.
% TODO: with the next tagpdf version it should no longer be
-% needed to exand the ref key.
+% needed to expand the ref key.
% \begin{macrocode}
\AddToHookWithArguments{bibcite/before}
{
@@ -305,7 +305,7 @@
% We need in part different code for both systems:
% with biblatex we have to take care that only the first
% structure sets a label, and if
-% hyperref is not loaded (or deactived) we will need additional code
+% hyperref is not loaded (or deactivated) we will need additional code
% but this currently doesn't exist.
% We assume that no document loads both package -- that will probably break.
% \begin{macrocode}
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-bib.pdf b/macros/latex-dev/required/latex-lab/latex-lab-bib.pdf
index 7eb16beaf9..2643725efa 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-bib.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-bib.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-block.dtx b/macros/latex-dev/required/latex-lab/latex-lab-block.dtx
index 7d08b270d2..23c590419e 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-block.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-block.dtx
@@ -9,8 +9,8 @@
%
% https://www.latex-project.org/lppl.txt
%
-\def\ltlabblockdate{2024-03-23}
-\def\ltlabblockversion{0.8n}
+\def\ltlabblockdate{2024-08-11}
+\def\ltlabblockversion{0.8p}
%<*driver>
\documentclass[kernel]{l3doc}
\usepackage{amstext}
@@ -341,7 +341,7 @@
%
% The idea of a \key{heading} key needs some further
% thoughts. Maybe instead the object type should accept a second
-% argument and receive input for such a headding from the document
+% argument and receive input for such a heading from the document
% level instead.
%
% The names of the keys need further thoughts and some
@@ -474,7 +474,7 @@
% \>\>\> The paragraph text before the display element \ldots\\
% \>\> \struct{/text}\\
% \>\> \struct{display element structure}\\
-% \>\>\> Content of the display structure possiblly involving inner \struct{text-unit} tags\\
+% \>\>\> Content of the display structure possibly involving inner \struct{text-unit} tags\\
% \>\> \struct{/display element structure}\\
% \>\> \struct{text}\\
% \>\>\> \ldots{} continuing the outer paragraph text\\
@@ -722,7 +722,7 @@
blockenv implementation]
% \end{macrocode}
%
-% Generell kernel changes, also loaded by the sec and toc code.
+% General kernel changes, also loaded by the sec and toc code.
% \begin{macrocode}
\RequirePackage{latex-lab-kernel-changes}
% \end{macrocode}
@@ -795,7 +795,52 @@
% The flag itself should be set globally not locally.\fmi{verify
% that this claim is actually correct!}
% \begin{macrocode}
-\def\@endpetrue {\global\let\if@endpe\iftrue}
+\def\@endpetrue {%
+ \global\let\if@endpe\iftrue
+% if called inside a group propagate to the outside
+ \ifnum\currentgrouplevel>\z@
+ \aftergroup\propagate@doendpe
+ \fi
+}
+% \end{macrocode}
+%
+% If \cs{if@endpe} is still true run \cs{@doendpe}
+% that in turn runs another \cs{@endpetrue} (besides other things),
+% thus propagating further, if necessary
+% However, if the endpe situation got resolved nothing further happens
+% \begin{macrocode}
+\def\propagate@doendpe{%
+ \if@endpe
+ \@@_debug_typeout:n{run~ (another)~ @doendpe~ at~
+ group~ level~ \the\currentgrouplevel}%
+ \@doendpe
+ \else
+ \@@_debug_typeout:n{do~ not~ run~ (another)~ @doendpe}%
+ \fi
+}
+% \end{macrocode}
+%
+% With the above approach we do not need the propagation in
+% \cs{end...} any longer
+% (since this is now handled by
+% \cs{aftergroup}\cs{propagate@doendpe}) so
+% here a simple \cs{endgroup} is enough. This replaces the
+% definition in ...:
+% \begin{macrocode}
+\@namedef{end }#1{%
+ \romannumeral
+ \IfHookEmptyTF{env/#1/end}%
+ {\expandafter\z@}%
+ {\z@\UseHook{env/#1/end}}%
+ \csname end#1\endcsname\@checkend{#1}%
+% \expandafter\endgroup\if@endpe\@doendpe\fi
+ \endgroup
+ \UseHook{env/#1/after}%
+ \if@ignore\@ignorefalse\ignorespaces\fi
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
\def\@endpefalse{\global\let\if@endpe\iffalse}
% \end{macrocode}
% \end{macro}
@@ -1569,7 +1614,7 @@
% \end{macrocode}
% We need to know later if we have nested blockenvs inside
% a flattened environment. Whenever we start a new blockenv we
-% increment \cs{\l_@@_flattened_level_int} if it is already
+% increment \cs{l__tag_block_flattened_level_int} if it is already
% different from zero. If it is zero we increment it if flattening
% is requested.
% Thus a value of \texttt{0} means no flattening requested so far
@@ -1578,14 +1623,14 @@
% is surrounded by a \texttt{text-unit} tag, while for any value above
% \texttt{1} we have to omit the \texttt{text-unit}.
% \begin{macrocode}
- \int_compare:nNnTF \l_@@_flattened_level_int > 0
+ \int_compare:nNnTF \l__tag_block_flattened_level_int > 0
{
- \int_incr:N \l_@@_flattened_level_int
+ \int_incr:N \l__tag_block_flattened_level_int
}
{
\bool_if:NT \l__tag_para_flattened_bool
{
- \int_incr:N \l_@@_flattened_level_int
+ \int_incr:N \l__tag_block_flattened_level_int
}
}
%
@@ -1681,11 +1726,15 @@
% \end{template}
%
%
-% \begin{macro}{\l_@@_flattened_level_int}
+% \begin{macro}{\l__tag_block_flattened_level_int}
% Count the levels of nested blockenvs starting with the first that
-% is \enquote{flattened}.
+% is \enquote{flattened}. The counter is defined in lttagging.dtx,
+% but until the next release 11/24 we set it up here too
% \begin{macrocode}
-\int_new:N \l_@@_flattened_level_int
+\int_if_exist:NF \l__tag_block_flattened_level_int
+ {
+ \int_new:N \l__tag_block_flattened_level_int
+ }
% \end{macrocode}
% \end{macro}
%
@@ -1814,9 +1863,13 @@
% and should not inherit the setting from the outer environment.
% \begin{macrocode}
\socket_new_plug:nnn{tagsupport/block-endpe}{on}
- { \legacy_if_gset_true:n { @endpe } }
+% \end{macrocode}
+% We can't use \cs{legacy_if_gset_true:n} because this is now doing
+% more than setting the legacy switch
+% \begin{macrocode}
+ { \@endpetrue }
\socket_new_plug:nnn{tagsupport/block-endpe}{off}
- { \legacy_if_gset_false:n { @endpe } }
+ { \@endpefalse }
% \end{macrocode}
%
% \begin{macrocode}
@@ -1981,7 +2034,7 @@
% \cs{parskip} and some other housekeeping, unless this block is inside a list and the list
% \cs{item} has not yet placed. In that case the vertical
% space and penalty us suppressed. This
-% is controled through the legacy switches \texttt{@noparitem},
+% is controlled through the legacy switches \texttt{@noparitem},
% \texttt{minipage}, and \texttt{@nobreak}.
% \begin{macrocode}
\legacy_if:nTF { @noparitem }
@@ -2520,7 +2573,7 @@
%
% \begin{macro}{\item}
% Here we already have all the building blocks. Complain in math
-% mode. Distingusih between first item (do necessary tagging) and
+% mode. Distinguish between first item (do necessary tagging) and
% later items \cs{@@_inter_item:} to
% cleanly close what's before, then call \cs{@@_item_instance:n} (which
% calls \cs{UseInstance}\{item\}\marg{instance}) to prepare the
@@ -2751,7 +2804,7 @@
\socket_assign_plug:nn{tagsupport/block-endpe}{on}
% \end{macrocode}
%
-% Handle the tag name and attribute classess using the key values
+% Handle the tag name and attribute classes using the key values
% from the current list instance.
% \begin{macrocode}
\tl_if_empty:NTF \l_@@_tag_name_tl
@@ -2994,6 +3047,7 @@
block-instance = verbatimblock ,
inner-instance = ,
final-code = \legacyverbatimsetup ,
+ para-instance = justify
}
% \end{macrocode}
% \end{instance}
@@ -3173,7 +3227,7 @@
% block quoteblock-4,
% block quoteblock-5,
% block quoteblock-6 }
-% Default layout is to indent equaly from both side.
+% Default layout is to indent equally from both sides.
% \begin{macrocode}
\DeclareInstance{block}{quoteblock-1}{display}
{ rightmargin = \KeyValue{leftmargin} }
@@ -3468,7 +3522,7 @@
% then have to avoid adding another \texttt{text-unit}.
% \begin{macrocode}
{
- \int_compare:nNnT \l_@@_flattened_level_int < 2
+ \int_compare:nNnT \l__tag_block_flattened_level_int < 2
{
\__tag_gincr_para_main_begin_int:
\tag_struct_begin:n
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-block.pdf b/macros/latex-dev/required/latex-lab/latex-lab-block.pdf
index d13acb45d3..3b31116fd8 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-block.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-block.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-firstaid.dtx b/macros/latex-dev/required/latex-lab/latex-lab-firstaid.dtx
index ce0d46f815..9a94863d7a 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-firstaid.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-firstaid.dtx
@@ -16,8 +16,8 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabfirstaiddate{2024-05-25}
-\def\ltlabfirstaidversion{0.85d}
+\def\ltlabfirstaiddate{2024-08-11}
+\def\ltlabfirstaidversion{0.85e}
%<*driver>
\documentclass{l3doc}
\EnableCrossrefs
@@ -92,7 +92,7 @@
% \end{macro}
% \subsection{ams classes}
-% The amsart and amsbook classes do not use \cs{@author} to store the author list
+% The amsart, amsbook and amsproc classes do not use \cs{@author} to store the author list
% but a command \cs{authors}. To be able to nevertheless use the authors in the
% xmp-metadata we map \cs{@author} to this new command.
%
@@ -101,6 +101,8 @@
{\def\@author{\authors}}
\AddToHook{class/amsbook/after}
{\def\@author{\authors}}
+\AddToHook{class/amsproc/after}
+ {\def\@author{\authors}}
% \end{macrocode}
%
%
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-firstaid.pdf b/macros/latex-dev/required/latex-lab/latex-lab-firstaid.pdf
index c035081f6b..ce2e69882a 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-firstaid.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-firstaid.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-float.dtx b/macros/latex-dev/required/latex-lab/latex-lab-float.dtx
index a817133713..25ae805cfd 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-float.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-float.dtx
@@ -16,7 +16,7 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabfloatdate{2024-03-23}
+\def\ltlabfloatdate{2024-07-05}
\def\ltlabfloatversion{0.81e}
%<*driver>
\documentclass{l3doc}
@@ -64,7 +64,7 @@
%
% A special type, called a H-float, (provided by the float package)
% is always placed in the main text stream and does not
-% necessarly preserve the order with normal floats of the same type: It is basically
+% necessarily preserve the order with normal floats of the same type: It is basically
% a minipage with a caption.
%
% Floats typically contain a figure (or a table, etc.) and a caption,
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-float.pdf b/macros/latex-dev/required/latex-lab/latex-lab-float.pdf
index edc88f0b2a..1ac490c00a 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-float.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-float.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx b/macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx
index a3d044ab87..039d8554f4 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx
@@ -17,8 +17,8 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabfootnotedate{2024-03-12}
-\def\ltlabfootnoteversion{0.8d}
+\def\ltlabfootnotedate{2024-07-27}
+\def\ltlabfootnoteversion{0.8e}
%<*driver>
\documentclass{l3doc}
@@ -636,7 +636,7 @@
% number to setup the reference and the link.
%
% The structure related to the \cs{footref} is added to the end of the \texttt{/Ref} array of the note and so the
-% \texttt{/Ref} array doesn't necessarly reflect the order of the marks in the document. It would probably
+% \texttt{/Ref} array doesn't necessarily reflect the order of the marks in the document. It would probably
% be possible to change this, but it is not clear if it actually matters and so it worth the additional coding
% and processing.
%
@@ -1150,6 +1150,21 @@
%
%
% \begin{macro}{\fnote_footnotetext:n}
+% We temporarily test for the tagging socket until it is in the next release:
+% \begin{macrocode}
+\str_if_exist:cF { l__socket_tagsupport/para/restore_plug_str }
+ {
+ \NewSocket{tagsupport/para/restore}{0}
+ \NewSocketPlug{tagsupport/para/restore}{default}
+ {
+ \tl_set:Nn \l__tag_para_main_tag_tl {text-unit}
+ \tl_set_eq:NN \l__tag_para_tag_tl\l__tag_para_tag_default_tl
+ \bool_set_false:N\l__tag_para_flattened_bool
+ }
+ \AssignSocketPlug{tagsupport/para/restore}{default}
+ }
+% \end{macrocode}
+%
% \begin{macrocode}
\cs_new_protected:Npn \fnote_footnotetext:n #1 {
\@@_debug_footnotetext:
@@ -1191,6 +1206,7 @@
\floatingpenalty \@MM
\hsize\columnwidth
\@parboxrestore
+ \UseTaggingSocket{para/restore}
\parindent 1em % typical default used in \@makefntext moved up here
\def\@currentcounter{footnote}
\protected@edef \@currentlabel { \p@footnote \@thefnmark }
@@ -1673,7 +1689,7 @@
%
% \subsubsection{\pkg{memoir}}
% The \pkg{memoir} class redefines various internal commands to inject its
-% hooks and addtional code. The following reinstates the kernel command and
+% hooks and additional code. The following reinstates the kernel command and
% so probably breaks various options of \pkg{memoir}, but without the
% changes it errors anyway. The \pkg{footmisc} package should be used to change
% for example to para footnotes.
@@ -2446,7 +2462,7 @@
% This can use the default interface, except that a negative value for
% \footnotemargin makes little sense, so we test for this and warn if
-% necessary. But -\maxdimen is ok again, so would need to be a litte bit more elaborate.
+% necessary. But -\maxdimen is ok again, so would need to be a little bit more elaborate.
%
%\AddToHook{fntext/para}{
@@ -2483,7 +2499,7 @@
\leavevmode
% \end{macrocode}
% Typesetting the mark twice means that one can't have any material
-% inside that gets unhappy in that case. Tha shouldn't be a
+% inside that gets unhappy in that case. That shouldn't be a
% problem, but perhaps we have to come up with a more elaborate
% solution in the end.
% \begin{macrocode}
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdf b/macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdf
index 6fa73ecf8b..58309a62f5 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-graphic.dtx b/macros/latex-dev/required/latex-lab/latex-lab-graphic.dtx
index 5ea4a2db9c..a596366aa7 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-graphic.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-graphic.dtx
@@ -15,7 +15,7 @@
% https://github.com/latex3/latex2e/required/latex-lab
%
% for those people who are interested or want to report an issue.
-\def\ltlabgraphicdate{2024-03-13}
+\def\ltlabgraphicdate{2024-07-05}
\def\ltlabgraphicversion{0.80d}
%
%<*driver>
@@ -78,7 +78,7 @@
% The value of a \texttt{BBox} is an array of four numbers that gives the
% coordinates of the left, bottom, right, and top edges
% of the structure element’s bounding box. That is the rectangle that completely encloses
-% its \emph{visible} content so not necessarly the TeX bounding box:
+% its \emph{visible} content so not necessarily the TeX bounding box:
% if \texttt{viewport} or \texttt{trim} is used and the
% graphic is not clipped, the visible content can be larger.
%
@@ -146,8 +146,8 @@
% \item[\texttt{artifact}] When used the graphic will be tagged as artifact. This doesn't
% require a \texttt{BBox} and so works also in some of the not yet supported cases described
% above.
-% \item[\texttt{false}] When used tagging will be stopped completly. It is then the
-% responsability of the surrounding code to add appropriate tagging commands.
+% \item[\texttt{false}] When used tagging will be stopped completely. It is then the
+% responsibility of the surrounding code to add appropriate tagging commands.
% \item[\meta{name}] Other values will be used as tag names in the structure. If the tag is not
% known as a structure tag you will get an warning from tagpdf. The default name is currently
% \texttt{Figure}
@@ -291,7 +291,7 @@
% ,\l_@@_graphic_trim_uy_fp
% }
% A bunch of fp-variables (we don't use tl-vars,
-% to avoid to have to take care about minus signs everwhere)
+% to avoid to have to take care about minus signs everywhere)
% \begin{macrocode}
\fp_new:N\l_@@_graphic_sin_fp
\fp_new:N\l_@@_graphic_cos_fp
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-graphic.pdf b/macros/latex-dev/required/latex-lab/latex-lab-graphic.pdf
index 04e6d424d0..359856eb77 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-graphic.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-graphic.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-marginpar.dtx b/macros/latex-dev/required/latex-lab/latex-lab-marginpar.dtx
index ca79d8a67f..a57ebaab80 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-marginpar.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-marginpar.dtx
@@ -18,8 +18,8 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabmarginpardate{2024-02-12}
-\def\ltlabmarginparversion{0.85b}
+\def\ltlabmarginpardate{2024-08-06}
+\def\ltlabmarginparversion{0.85c}
%<*driver>
\documentclass[kernel]{l3doc}
@@ -72,7 +72,7 @@
% They can be tagged either as artifacts (if they are merely distracting decoration),
% as small headings before the paragraph, or as |Aside|. Unlike the PDF 1.7 fallback |Note|
% the structure |Aside| is not allowed inside |P|,
-% so if |Aside| is used, it must be placed before or after the current |P| in the surounding |text-unit|,
+% so if |Aside| is used, it must be placed before or after the current |P| in the surrounding |text-unit|,
% or it must split the |P|. Splitting is probably not so good as
% |\marginpar| is often used somewhere in the middle of sentence.
% The best default is probably to use |Aside|, find the parent |text-unit| and add it there.
@@ -153,13 +153,38 @@
\socket_new:nn {tagsupport/marginpar/end}{0}
% \end{macrocode}
% \end{socketdecl}
+%
+% \begin{macro}{\@@_get_marginpar_parent:N,\@@_get_marginpar_parent_aux:nn}
+% In a paragraph we must retrieve
+% the structure number of the surrounding Part structure
+% TODO: if this is needed in more places this should
+% go into tagpdf.
+% \begin{macrocode}
+\cs_new_protected:Npn\@@_get_marginpar_parent_aux:nn #1 #2
+ {
+ \str_if_eq:eeT{\use_ii:nn #1}{Part}{\seq_put_right:Nn\l_@@_tmpa_seq {#2}}
+ }
+\cs_new_protected:Npn \@@_get_marginpar_parent:N #1
+ {
+ \seq_clear:N\l_@@_tmpa_seq
+ \seq_map_pairwise_function:NNN
+ \g_@@_struct_tag_stack_seq
+ \g_@@_struct_stack_seq
+ \@@_get_marginpar_parent_aux:nn
+ \seq_put_right:Nn\l_@@_tmpa_seq {2}
+ \seq_get_left:NN \l_@@_tmpa_seq #1
+ }
+\cs_generate_variant:Nn \tag_struct_begin:n {e}
+% \end{macrocode}
+% \end{macro}
% \begin{plugdecl}{tagsupport/marginpar/begin,tagsupport/marginpar/end}
% \begin{macrocode}
\socket_new_plug:nnn {tagsupport/marginpar/begin}{default}
{
\if_mode_horizontal:
- \tag_mc_end:
- \tag_struct_begin:n{tag=Aside,parent=\g__tag_para_main_struct_tl}%
+ \tag_mc_end:
+ \@@_get_marginpar_parent:N \l_@@_tmpa_tl
+ \tag_struct_begin:e{tag=Aside,parent=\l_@@_tmpa_tl}%
\else:
\tag_struct_begin:n{tag=Aside}%
\fi:
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-marginpar.pdf b/macros/latex-dev/required/latex-lab/latex-lab-marginpar.pdf
index 1e9317d8f4..ad936afd31 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-marginpar.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-marginpar.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-math.dtx b/macros/latex-dev/required/latex-lab/latex-lab-math.dtx
index 0dbc591185..c6e07d4832 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-math.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-math.dtx
@@ -19,8 +19,8 @@
% for those people who are interested or want to report an issue.
%
%
-\def\ltlabmathdate{2024-04-16}
-\def\ltlabmathversion{0.5j}
+\def\ltlabmathdate{2024-08-22}
+\def\ltlabmathversion{0.6c}
%
%<*driver>
\documentclass{l3doc}
@@ -247,8 +247,15 @@
% It can be suppressed by an option with
% \texttt{math/tex/AF=false}, see below.
%
-% The MathML is attached if a file |\jobname-mathml.html| is found and
-% if it contains a suitable MathML snippet for the current formula.
+% The MathML is attached if the files |\jobname-mathml.html| and/or
+% |\jobname-luamml-mathml.html| are found
+% and if they contains a suitable MathML snippet for the current formula.
+% If the files contain more than one suitable snippet (as identified by the hash)
+% the first one is used.
+% |\jobname-luamml-mathml.html| is automatically generated (see below section~\ref{sec:luamml})
+% and read after |\jobname-mathml.html|. This means that |\jobname-mathml.html| can contain
+% improved versions of a formula.
+%
% The MathML processing can be suppressed globally by emptying the list of
% mathml files with |math/mathml/sources=|. Locally for a formula |math/mathml/AF=false|
% can be used.
@@ -306,7 +313,7 @@
%
% As mentioned above the MathML-AF can be suppressed for the equations in a group with
% |math/mathml/AF=false|, or
-% completly by setting |math/mathml/sources=| in the preamble.
+% completely by setting |math/mathml/sources=| in the preamble.
%
% Files embedded in a PDF can be listed in the attachments panel of a PDF viewer.
% This is probably not so useful for lots of small files (but one could create
@@ -316,6 +323,27 @@
% |viewer/pane/mathsource=true| (anywhere in the document) and |viewer/pane/mathml=false| (in the
% preamble, before the external file is read).
%
+%
+% \subsection{Automatic mathml creation with luamml}\label{sec:luamml}
+%
+% If lualatex is used, if the package \texttt{unicode-math} is used
+% and if the package \texttt{luamml} is found
+% then it will automatically generate the file |\jobname-luamml-mathml.html|
+% with mathml representations of all math formulas.
+% The generation of the file can be suppressed with |math/mathml/luamml=false|.
+% If \texttt{unicode-math} is not used,
+% the generation of the file can be forced
+% with |math/mathml/luamml=true| or |math/mathml/luamml| but be aware that
+% it is then probable that various symbols are mapped to the wrong unicode code
+% points.
+% The package is still quite experimental and the output should be checked.
+% The |\jobname-luamml-mathml.html| file may be previewed in a browser although
+% you may need to add additional css or javascript declarations
+% to enable browser support for all mathml constructs.
+% The file is then used in subsequent compilations and works also with
+% pdflatex.
+%
+%
% \subsection{Options}
%
%
@@ -538,6 +566,7 @@
% \begin{macrocode}
\tl_new:N \l_@@_tmpa_tl
\skip_new:N \l_@@_tmpa_skip
+\str_new:N \l_@@_tmpa_str
% \end{macrocode}
% \end{variable}
%
@@ -592,8 +621,12 @@
% \l__tag_math_mathml_AF_bool,
% \g__tag_math_mathml_AF_bool,
% \l__tag_math_mathml_pane_bool,
-% \l__tag_math_alt_bool
+% \l__tag_math_alt_bool,
+% \g__tag_math_luamml_tl,
% }
+% The variable \cs{g__tag_math_luamml_tl} is initially 0 and
+% the user key can set it to -1 or 1. This allows to distinguish
+% the unset case from a value set by the user.
% \begin{macrocode}
\bool_new:N\l__tag_math_texsource_AF_bool
\bool_new:N\l__tag_math_texsource_pane_bool
@@ -601,6 +634,8 @@
\bool_new:N\g__tag_math_mathml_AF_bool
\bool_new:N\l__tag_math_mathml_pane_bool
\bool_new:N\l__tag_math_alt_bool
+\tl_new:N\g__tag_math_luamml_tl
+\tl_gset:Nn\g__tag_math_luamml_tl {0}
% \end{macrocode}
% \end{variable}
%
@@ -631,9 +666,11 @@
%
% \begin{variable}{\l__tag_math_mathml_files_clist}
% A sequence to store the file list for the mathml.
+% If luatex is detected with also check the luamml file.
% \begin{macrocode}
\clist_new:N\l__tag_math_mathml_files_clist
-\clist_put_right:Ne\l__tag_math_mathml_files_clist {\c_sys_jobname_str-mathml}
+\clist_put_right:Ne\l__tag_math_mathml_files_clist
+ {\c_sys_jobname_str-mathml,\c_sys_jobname_str-luamml-mathml}
% \end{macrocode}
% \end{variable}
@@ -685,8 +722,268 @@
\@@_AF_mml:nnnn{#1}{#2}{#3}{#4}
}
% \end{macrocode}
+%
+% As with luatex we write two files we define a few constants for
+% the shared texts.
+%
+% \begin{macro}
+% {\c_@@_mathml_write_init_tl,\l_@@_mathml_write_before_tl,
+% \c_@@_mathml_write_after_tl,\c_@@_mathml_write_final_tl}
+% \begin{macrocode}
+\tl_const:Nn \c_@@_mathml_write_init_tl
+ {
+ <!DOCTYPE~html>
+ \iow_newline:
+ <html>
+ \iow_newline:
+ }
+\tl_new:N \l_@@_mathml_write_before_tl
+\tl_const:Nn \c_@@_mathml_write_after_tl
+ {
+ \iow_newline:
+ </div>
+ \iow_newline:
+ }
+\tl_const:Nn \c_@@_mathml_write_final_tl
+ {
+ </html>
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{socketdecl}{tagsupport/math/mathml/write/prepare}
+% To prepare the hash and the starting command we use a socket, so
+% that both the dummy and luamml can make use of it.
+% \begin{macrocode}
+\socket_new:nn {tagsupport/math/mathml/write/prepare}{0}
+% \end{macrocode}
+% \end{socketdecl}
+%
+% \begin{plugdecl}{On}
+% \begin{macrocode}
+\socket_new_plug:nnn{tagsupport/math/mathml/write/prepare}{On}
+ {
+ \str_set:NV\l_@@_tmpa_str\l_@@_content_AF_source_tl
+ \str_replace_all:Nnn\l_@@_tmpa_str{&}{&amp;}
+ \str_replace_all:Nnn\l_@@_tmpa_str{<}{&lt;}
+ \tl_set:Nn \l_@@_mathml_write_before_tl
+ {
+ <div>
+ \iow_newline:
+ <h2>\c_backslash_str mml\c_space_tl \int_use:N \g_@@_math_total_int </h2>
+ \iow_newline:
+ <p>\l_@@_tmpa_str</p>
+ \iow_newline:
+ <p>\l_@@_content_hash_tl </p>
+ \iow_newline:
+ }
+ }
+% \end{macrocode}
+% \end{plugdecl}
+%
+% With luatex we automatically generate mathml with luamml if the package
+% can be loaded and unicode-math is detected.
+% We start the process in the begindocument/end hook
+% so that the reading from a previous compilation can happen before!
+% \begin{macrocode}
+\sys_if_engine_luatex:T
+ {
+ \file_if_exist:nT { luamml.sty }
+ {
+ \RequirePackage { luamml }
+% \end{macrocode}
+% Temporary (!) fixes for endarray
+% \begin{macrocode}
+ \AddToHook{package/array/after}
+ {
+ \cs_set:Npn \endarray
+ {
+ \tbl_crcr:n{endarray}
+ \__luamml_array_save_array:
+ \egroup
+ \UseTaggingSocket{tbl/finalize}
+ \tbl_restore_outer_cell_data:
+ \egroup
+ \mode_if_math:T { \__luamml_array_finalize_array: }
+ \@arrayright
+ \gdef \@preamble {}
+ }
+ \cs_set:Npn \@classz
+ {
+ \@classx
+ \@tempcnta \count@
+ \prepnext@tok
+ \@addtopreamble {
+ \ifcase \@chnum
+ \hfil
+ \hskip 1sp
+ \d@llarbegin
+ \cs_if_eq:NNTF \d@llarbegin \begingroup {
+ \insert@column
+ \d@llarend
+ } {
+ \__luamml_array_init_col:
+ \insert@column
+ \luamml_flag_save:nn {} {mtd}
+ \d@llarend
+ \__luamml_array_finalize_col:w 0~
+ }
+ \do@row@strut
+ \hfil
+ \or
+ \hskip 1sp
+ \d@llarbegin
+ \cs_if_eq:NNTF \d@llarbegin \begingroup {
+ \insert@column
+ \d@llarend
+ } {
+ \__luamml_array_init_col:
+ \insert@column
+ \luamml_flag_save:nn {} {mtd}
+ \d@llarend
+ \__luamml_array_finalize_col:w 1~
+ }
+ \do@row@strut
+ \hfil
+ \or
+ \hfil
+ \hskip 1sp
+ \d@llarbegin
+ \cs_if_eq:NNTF \d@llarbegin \begingroup {
+ \insert@column
+ \d@llarend
+ } {
+ \__luamml_array_init_col:
+ \insert@column
+ \luamml_flag_save:nn {} {mtd}
+ \d@llarend
+ \__luamml_array_finalize_col:w 2~
+ }
+ \do@row@strut
+ \or
+ \setbox \ar@mcellbox \vbox \@startpbox { \@nextchar }
+ \insert@pcolumn
+ \@endpbox
+ \ar@align@mcell
+ \do@row@strut
+ \or
+ \vtop \@startpbox { \@nextchar }
+ \insert@pcolumn
+ \@endpbox
+ \do@row@strut
+ \or
+ \vbox \@startpbox { \@nextchar }
+ \insert@pcolumn
+ \@endpbox
+ \do@row@strut
+ \fi
+ }
+ \prepnext@tok
+ }
+ }
+% \end{macrocode}
%
+% \begin{macrocode}
+ \AddToHook{begindocument/end}
+ {
+ \str_case:on \g__tag_math_luamml_tl
+ {
+ { 1 } {
+ \@@_luamml_activate_write:
+ \msg_note:nnnn { tag }
+ { luamml-status }{ enabled }{ create }
+ }
+ {-1 } {
+ \msg_note:nnnn { tag }
+ { luamml-status }{ disabled }{ not~create }
+ }
+ { 0 }
+ {
+ \@ifpackageloaded { unicode-math }
+ {
+ \@@_luamml_activate_write:
+ \msg_note:nnnn { tag }
+ { luamml-status }{ enabled }{ create }
+ }
+ { \msg_warning:nn { tag }{ unicode-math-missing } }
+ }
+ }
+ }
+ }
+ }
+\msg_new:nnn { tag }{ luamml-status }
+ {
+ luamml~has~been~#1~and~will~#2~an~MathML~file.
+ }
+
+\msg_new:nnn { tag }{ unicode-math-missing }
+ {
+ The~package~unicode-math~is~missing\\
+ luamml~will~not~create~an~MathML~file.\\
+ To~avoid~this~warning~load~unicode-math~\\
+ or~disable~luamml~with~\\
+ \tl_to_str:n{\tagpdfsetup{math/mathml/luamml=false}}\\
+ or~force~luamml~with~\\
+ \tl_to_str:n{\tagpdfsetup{math/mathml/luamml=true}}
+ }
+\cs_new_protected:Npn \@@_luamml_activate_write:
+ {
+% \end{macrocode}
+% to avoid that nothing is written in the first run, we must activate the sockets:
+% \begin{macrocode}
+ \bool_gset_true:N\g__tag_math_mathml_AF_bool
+ \AssignSocketPlug{tagsupport/math/struct/begin}{test-mathml}
+ \AssignSocketPlug{tagsupport/math/struct/end}{test-mathml}
+ \AssignSocketPlug{tagsupport/math/substruct/begin}{single}
+ \AssignSocketPlug{tagsupport/math/substruct/end}{single}
+ \int_set:Nn \l__luamml_pretty_int { 5 }
+ \RegisterFamilyMapping\symsymbols{oms}
+ \RegisterFamilyMapping\symletters{oml}
+ \AssignSocketPlug{tagsupport/math/mathml/write/prepare}{On}
+ \iow_new:N \g_@@_luamml_iow
+ \iow_open:Nn \g_@@_luamml_iow {\c_sys_jobname_str-luamml-mathml.html}
+ \iow_now:Ne \g_@@_luamml_iow { \c_@@_mathml_write_init_tl }
+ \cs_new:Npn \@@_luamml_output_hook:n ##1
+ {
+ \tl_if_empty:NF \l_@@_mathml_write_before_tl
+ {
+ \iow_now:Ne \g_@@_luamml_iow
+ {
+ \l_@@_mathml_write_before_tl
+ ##1
+ \c_@@_mathml_write_after_tl
+ }
+ }
+ }
+ \__luamml_register_output_hook:N \@@_luamml_output_hook:n
+% \end{macrocode}
+% this starts the process and set flag to 3,
+% not really needed, as it is the default but set here for clarity:
+% \begin{macrocode}
+ \luamml_flag_process:
+% \end{macrocode}
+% At the end of the document we must finish and close the file:
+% \begin{macrocode}
+ \AddToHook{enddocument/afterlastpage}
+ {
+ \iow_now:Ne \g_@@_luamml_iow
+ { \c_@@_mathml_write_final_tl }
+ \iow_close:N \g_@@_luamml_iow
+ }
+ }
+% \end{macrocode}
+% And now a key to deactivate luamml
+% \begin{macrocode}
+
+\keys_define:nn { __tag / setup }
+ {
+ math/mathml/luamml .choice: ,
+ math/mathml/luamml/true .code:n = {\tl_gset:Nn \g__tag_math_luamml_tl{1}},
+ math/mathml/luamml/false .code:n = {\tl_gset:Nn \g__tag_math_luamml_tl{-1}},
+ math/mathml/luamml .default:n = true,
+ math/mathml/luamml .usage:n=preamble
+ }
+% \end{macrocode}
% \begin{socketdecl}{tagsupport/math/mathml/write}
% This writes a html-dummy with the hash and the math content.
% This should be optional, so it uses a socket that can be disabled
@@ -700,24 +997,11 @@
% \begin{macrocode}
\socket_new_plug:nnn{tagsupport/math/mathml/write}{On}
{
- \str_set:NV\l_@@_tmpa_str\l_@@_content_AF_source_tl
- \str_replace_all:Nnn\l_@@_tmpa_str{&}{&amp;}
- \str_replace_all:Nnn\l_@@_tmpa_str{<}{&lt;}
\iow_now:Ne \g_@@_writedummy_iow
{
- \iow_newline:
- <div>
- \iow_newline:
- <h2>\c_backslash_str mml\c_space_tl \int_use:N \g_@@_math_total_int </h2>
- \iow_newline:
- <p>\l_@@_tmpa_str</p>
- \iow_newline:
- <p>\l_@@_content_hash_tl </p>
- \iow_newline:
+ \l_@@_mathml_write_before_tl
<math></math>
- \iow_newline:
- </div>
- \iow_newline:
+ \c_@@_mathml_write_after_tl
}
}
% \end{macrocode}
@@ -739,14 +1023,14 @@
}
\iow_now:Ne \g_@@_writedummy_iow
{
- <!DOCTYPE~html>
- \iow_newline:
- <html>
+ \c_@@_mathml_write_init_tl
}
+ \AssignSocketPlug {tagsupport/math/mathml/write/prepare}{On}
\AssignSocketPlug {tagsupport/math/mathml/write}{On}
\AddToHook{enddocument/afterlastpage}
{
- \iow_now:Nn \g_@@_writedummy_iow {</html>}
+ \iow_now:Ne \g_@@_writedummy_iow
+ { \c_@@_mathml_write_final_tl }
\iow_close:N \g_@@_writedummy_iow
}
}
@@ -900,7 +1184,7 @@
% \end{macrocode}
% \end{plugdecl}
%
-% We probably will want to test different tagging receipes.
+% We probably will want to test different tagging recipes.
% \begin{plugdecl}{default}
% \begin{macrocode}
\socket_new_plug:nnn
@@ -1184,6 +1468,7 @@
{
\typeout{WARNING:~mathml~missing~for~hash~\l_@@_content_hash_tl}
}
+ \socket_use:n {tagsupport/math/mathml/write/prepare}
\socket_use:n {tagsupport/math/mathml/write} % write hash if request
\bool_if:NTF\l__tag_math_texsource_AF_bool
{ \tl_set_eq:NN \l_@@_content_AF_source_tmpa_tl \l_@@_content_AF_source_tl }
@@ -1349,48 +1634,60 @@
% \subsection{Content grabbing}
%
% \begin{macro}{\@@_grab_dollar:w}
-% Grab up to a single |$|, for inline math mode, suppressing
-% any processing if the token is \tn{m@th} found in the content.
-%
-% \fmi{what's that test doing?}
-%
-% \car{It is some kind of fix, to avoid the remote
-% possibility that the math is empty, making the code
-% produce an unwanted \texttt{\$\$}.}
-%
-%\car{cf.~the code for this in \cs{@ensuredmath}}
-%
-%\car{It is harmless but unnecessary in the dollardollar grabbing below.}
-%
+% \begin{macro}{\@@_grab_dollar:n}
+% \changes{v0.6c}{2024-08-22}{Correct handling of empty math segments}
+% Top-level function to handle grabbing of inline math mode delimited by
+% |$| tokens. We provide two different ways to do that: a token-by-token
+% one that can be used everywhere, and a fast delimited one that does not
+% work anywhere that the end |$| token may be hidden, most obviously in
+% tabulars. The function here is therefore set up as a variable starting
+% point.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_dollar:w { \@@_grab_dollar_delim:w }
+% \end{macrocode}
+% After grabbing inline math material, there is again common processing
+% independent of mechanism of collection.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_grab_dollar:w % $
- #1 $
+\cs_new_protected:Npn \@@_grab_dollar:n #1
{
% \end{macrocode}
-% \fmi{what's that test doing?}
+% We need to do processing first as this picks up \enquote{fake} math mode:
+% that information is needed below.
% \begin{macrocode}
- \tl_if_blank:nF {#1}
- {
- \@@_process:nn { math } {#1} % $
+ \@@_process:nn { math } {#1}
% \end{macrocode}
% We do not want math tagging in fakemath or when measuring,
% We also do not want math tagging if tagging has been suspended.
% \begin{macrocode}
- \bool_lazy_or:nnTF
- {\legacy_if_p:n { measuring@ }}
- { \l_@@_fakemath_bool }
- { #1 $ }
+ \bool_lazy_any:nTF
+ {
+ {\legacy_if_p:n { measuring@ }}
+ { \l_@@_fakemath_bool }
+ { \tl_if_blank_p:n {#1} }
+ }
+ {
+ #1 $ % $
+ }
{
\tag_socket_use:n {math/inline/begin} %end P-MC
\tag_socket_use:nn {math/inline/formula/begin}{#1}
- $
+ $ % $
\tag_socket_use:n {math/inline/formula/end}
\tag_socket_use:n {math/inline/end} % restart P-MC
- }
- }
+ }
}
% \end{macrocode}
% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_grab_dollar_delim:w}
+% Grab up to a single |$|, for inline math mode, suppressing
+% any processing if the token is \tn{m@th} found in the content.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_dollar_delim:w #1 $ % $
+ { \@@_grab_dollar:n {#1} }
+% \end{macrocode}
+% \end{macro}
%
% \begin{macro}{\@@_grab_dollardollar:w}
% And for the classical \TeX{} display structure.
@@ -1403,8 +1700,8 @@
\@@_process:nn { equation* } {#1}
\socket_use:n {tagsupport/math/display/begin}
\socket_use:nn{tagsupport/math/display/formula/begin}{#1}
- $$
}
+ $$
}
% \end{macrocode}
%
@@ -1463,6 +1760,170 @@
% \end{macrocode}
% \end{macro}
%
+% \subsection{Token-by-token inline grabbing}
+%
+% Grabbing inline math token-by-token is more involved. The mechanism here
+% is essentially a simplified version of that originally seen in
+% \pkg{collcell} and refined in \pkg{siunitx}. We make use of the fact that
+% in math mode spaces are ignored, so we have to deal with only \texttt{N}-type
+% tokens and groups. Furthermore, there is no need to look inside groups, so
+% the only special cases are a small selection of \texttt{N}-type tokens.
+%
+% \begin{variable}{\l_@@_grabbed_tl}
+% For collection of the material piecewise.
+% \begin{macrocode}
+\tl_new:N \l_@@_grabbed_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_grab_env_int}
+% Needed to count up the number of nested environments encountered.
+% \begin{macrocode}
+\int_new:N \l_@@_grab_env_int
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\@@_grab_dollar_loop:}
+% \begin{macro}{\@@_grab_loop:}
+% The lead-off here establishes a group: we need that as we will have to
+% be careful in the way \tn{cr} is handled and ensure this is only
+% manipulated whilst grabbing. The main loop is then started.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_dollar_loop:
+ {
+ \group_begin:
+ \tl_clear:N \l_@@_grabbed_tl
+ \@@_grab_loop:
+ }
+\cs_new_protected:Npn \@@_grab_loop:
+ {
+ \peek_remove_spaces:n
+ {
+ \peek_meaning:NTF \c_group_begin_token
+ { \@@_grab_loop_group:n }
+ { \@@_grab_loop_token:N }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_grab_loop_group:n}
+% \begin{macro}{\@@_grab_loop_store:n}
+% Handling of grabbed groups is pretty easy.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_loop_group:n #1
+ { \@@_grab_loop_store:n { {#1} } }
+\cs_new_protected:Npn \@@_grab_loop_store:n #1
+ {
+ \tl_put_right:Nn \l_@@_grabbed_tl {#1}
+ \@@_grab_loop:
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_grab_loop_token:N}
+% \begin{macro}
+% {
+% \@@_grab_loop_$: ,
+% \@@_grab_loop_\\: ,
+% \@@_grab_loop_\begin: ,
+% \@@_grab_loop_\begin : ,
+% \@@_grab_loop_\end: ,
+% \@@_grab_loop_\ignorespaces: ,
+% \@@_grab_loop_\unskip: ,
+% \@@_grab_loop_\textonly@unskip:
+% }
+% Filter out the special cases: for performance reasons, use a hash table
+% approach rather than a loop (\emph{cf.}~\pkg{collcell}). The need to cover
+% \verb*|begin | is that at the start of a cell, \TeX{} will expand \cs{begin}
+% but the \LaTeX{} robust mechanism will mean this yields \verb*|begin |.
+% If\cs{begin} were protected, that would not be needed.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_loop_token:N #1
+ {
+ \cs_if_exist_use:cF
+ { @@_grab_loop_ \token_to_str:N #1 : }
+ { \@@_grab_loop_store:n {#1} }
+ }
+\cs_new_protected:cpn { @@_grab_loop_ \token_to_str:N $ : }
+ { \@@_grab_loop_end: }
+\cs_new_protected:cpn { @@_grab_loop_ \token_to_str:N \\ : }
+ {
+ \int_compare:nNnTF \l_@@_grab_env_int = 0
+ { \@@_grab_loop_newline: }
+ { \@@_grab_loop_store:n { \\ } }
+ }
+% \end{macrocode}
+% In contrast to \pkg{collcell}, nesting is tracked by counting
+% \cs{begin}/\cs{end} pairs: this is needed in case there is a tabular-like
+% construct containing |\\| inside a cell. As a result, the end-of-tabular
+% can be detected without checking the name argument: if \cs{end} is
+% encountered at nesting level~0, we've hit the end of a cell. In that case,
+% end the row and leave the environment to clean up.
+% \begin{macrocode}
+\cs_new_protected:cpn { @@_grab_loop_ \token_to_str:N \begin : }
+ {
+ \int_incr:N \l_@@_grab_env_int
+ \@@_grab_loop_store:n { \begin }
+ }
+\cs_new_eq:cc { @@_grab_loop_ \token_to_str:N \begin \c_space_tl : }
+ { @@_grab_loop_ \token_to_str:N \begin : }
+\cs_new_protected:cpn { @@_grab_loop_ \token_to_str:N \end : }
+ {
+ \int_compare:nNnTF \l_@@_grab_env_int = 0
+ {
+ \@@_grab_loop_newline:
+ \end
+ }
+ {
+ \int_decr:N \l_@@_grab_env_int
+ \@@_grab_loop_store:n { \end }
+ }
+ }
+\tl_map_inline:nn { \ignorespaces \unskip \textonly@unskip }
+ {
+ \cs_new_protected:cpn { @@_grab_loop_ \token_to_str:N #1 : }
+ { \@@_grab_loop: }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_grab_loop_newline:}
+% To allow collection of tokens in the part of the \tn{halign} template after
+% |#|, we need \TeX{} to see the primitive with the loop token in the right
+% place. That is done by re-defining \tn{cr} at present. Ideally there would
+% be a socket in the definition of \texttt{tabular}, etc., to handle this:
+% there is also the need to examine in interaction with \pkg{longtable}, which
+% also redefines \tn{cr}.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_loop_newline:
+ {
+ \if_false: { \fi:
+ \cs_set_protected:Npn \cr
+ {
+ \@@_grab_loop:
+ \tex_cr:D
+ }
+ \if_false: } \fi:
+ \\
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_grab_loop_end:}
+% Clean up and pass on.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_loop_end:
+ {
+ \exp_args:NNV \group_end:
+ \@@_grab_dollar:n \l_@@_grabbed_tl
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Marking math environments}
%
% A general mechanism for math mode environments that do not grab their
@@ -1861,6 +2322,10 @@
\bool_set_false:N \l_@@_collected_bool
\col@sep\tabcolsep \let\d@llarbegin\begingroup
\let\d@llarend\endgroup
+% \end{macrocode}
+% A proper switching mechanism is needed: for the present, do directly.
+% \begin{macrocode}
+ \cs_set_protected:Npn \@@_grab_dollar:w { \@@_grab_dollar_loop: }
\@tabarray}
}
% \end{macrocode}
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-math.pdf b/macros/latex-dev/required/latex-lab/latex-lab-math.pdf
index 355c1b35db..63bbe46ed7 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-math.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-math.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-mathpkg.pdf b/macros/latex-dev/required/latex-lab/latex-lab-mathpkg.pdf
index daa20cf2e2..9b4e0ef1b9 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-mathpkg.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-mathpkg.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-mathtools.dtx b/macros/latex-dev/required/latex-lab/latex-lab-mathtools.dtx
index aa27cbf01d..79eee7aab7 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-mathtools.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-mathtools.dtx
@@ -23,7 +23,7 @@
\EnableCrossrefs
\CodelineIndex
\begin{document}
- \DocInput{latex-lab-amsmath.dtx}
+ \DocInput{latex-lab-mathtools.dtx}
\end{document}
%</driver>
%
@@ -66,7 +66,7 @@
% \subsection{File declaration}
% \begin{macrocode}
\ProvidesFile{latex-lab-mathtools.ltx}
- [2023-01-05 v0.1a mathtools adaptions]
+ [2024-07-13 v0.1a mathtools adaptions]
% \end{macrocode}
% \subsection{Tagpdf support}
% To make the code independent from tagging being loaded and active
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-mathtools.pdf b/macros/latex-dev/required/latex-lab/latex-lab-mathtools.pdf
index aae05b3b63..7678082ac2 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-mathtools.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-mathtools.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-minipage.dtx b/macros/latex-dev/required/latex-lab/latex-lab-minipage.dtx
index ffbe5357e7..f5a324fa5e 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-minipage.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-minipage.dtx
@@ -18,8 +18,8 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabminipagedate{2023-10-30}
-\def\ltlabminipageversion{0.81c}
+\def\ltlabminipagedate{2024-08-08}
+\def\ltlabminipageversion{0.81d}
%<*driver>
\documentclass{l3doc}
\EnableCrossrefs
@@ -120,12 +120,18 @@
% \end{macrocode}
% insert the socket
% \begin{macrocode}
- \socket_use:n{tagsupport/minipage/before}% new
+ \UseTaggingSocket{minipage/before}% new
\setbox\@tempboxa\vbox\bgroup
\color@begingroup
\hsize\@tempdima
\textwidth\hsize \columnwidth\hsize
\@parboxrestore
+% \end{macrocode}
+% minipages are perhaps used in environments where the tagging of paragraphs
+% has been altered. So we try to restore this. TODO: this should
+% perhaps be done in \cs{@parboxrestore} directly.
+% \begin{macrocode}
+ \UseTaggingSocket{para/restore}
\def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
\socket_assign_plug:nn{fntext/process}{mp}%
\let\@listdepth\@mplistdepth \@mplistdepth\z@
@@ -153,7 +159,7 @@
\tag_stop:n{minipage}
\expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}%
\tag_start:n{minipage}
- \socket_use:n{tagsupport/minipage/after} %new end ...
+ \UseTaggingSocket{minipage/after} %new end ...
}
% \end{macrocode}
%
@@ -164,8 +170,15 @@
\leavevmode
\@pboxswfalse
\setlength\@tempdima{#4}%
- \socket_use:n{tagsupport/parbox/before}
- \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%
+ \UseTaggingSocket{parbox/before}
+ \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore
+% \end{macrocode}
+% parbox are perhaps used in environments where the tagging of paragraphs
+% has been altered. So we try to restore this. TODO: this should
+% perhaps be done in \cs{@parboxrestore} directly.
+% \begin{macrocode}
+ \UseTaggingSocket{para/restore}
+ #5\@@par}%
\ifx\relax#2\else
\setlength\@tempdimb{#2}%
\edef\@parboxto{to\the\@tempdimb}%
@@ -179,7 +192,7 @@
\csname bm@#3\endcsname}%
\if@pboxsw \m@th$\fi
\@end@tempboxa%
- \socket_use:n{tagsupport/parbox/after}
+ \UseTaggingSocket{parbox/after}
}
% \end{macrocode}
%
@@ -191,9 +204,11 @@
\socket_new_plug:nnn{tagsupport/minipage/before}{tag/dflt}
{
% \end{macrocode}
-% As there was a \cs{leavevmode} before that is a P/text open that we have to close.
+% As there was a \cs{leavevmode} before that is a P/text open that we have to close
+% if para tagging is active:
% \begin{macrocode}
- \tag_mc_end_push:\tag_struct_end:
+ \tag_mc_end_push:
+ \bool_if:NT \l__tag_para_bool {\tag_struct_end:}
% \end{macrocode}
% TODO: the P can be further up, we need a proper method to test and handle this.
% \begin{macrocode}
@@ -203,13 +218,25 @@
% similar for the other sockets:
% \begin{macrocode}
\socket_new_plug:nnn{tagsupport/minipage/after}{tag/dflt}
- {\tag_struct_end:\tag_struct_begin:n{tag=\l__tag_para_tag_tl}\tag_mc_begin_pop:n{}}
+ {
+ \tag_struct_end:
+ \bool_if:NT \l__tag_para_bool {\tag_struct_begin:n{tag=\l__tag_para_tag_tl}}
+ \tag_mc_begin_pop:n{}
+ }
\socket_new_plug:nnn{tagsupport/parbox/before}{tag/dflt}
- {\tag_mc_end_push:\tag_struct_end:\tag_struct_begin:n{tag=\l__ltboxes_tag_tl}}
+ {
+ \tag_mc_end_push:
+ \bool_if:NT \l__tag_para_bool {\tag_struct_end:}
+ \tag_struct_begin:n{tag=\l__ltboxes_tag_tl}
+ }
\socket_new_plug:nnn{tagsupport/parbox/after}{tag/dflt}
- {\tag_struct_end:\tag_struct_begin:n{tag=\l__tag_para_tag_tl}\tag_mc_begin_pop:n{}}
+ {
+ \tag_struct_end:
+ \bool_if:NT \l__tag_para_bool {\tag_struct_begin:n{tag=\l__tag_para_tag_tl}}
+ \tag_mc_begin_pop:n{}
+ }
% \end{macrocode}
% Activate the default tagging plug
% \begin{macrocode}
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-minipage.pdf b/macros/latex-dev/required/latex-lab/latex-lab-minipage.pdf
index 68aeacb9ec..6d68904c29 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-minipage.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-minipage.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-namespace.dtx b/macros/latex-dev/required/latex-lab/latex-lab-namespace.dtx
index cfc06c7b09..d76dd8d489 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-namespace.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-namespace.dtx
@@ -26,7 +26,7 @@
% \fi
% \title{Prototype reimplementation of \LaTeXe{}'s role mapping}
% \author{\LaTeX{} Project, initial implementation Ulrike Fischer}
-% \date{v0.8b 2024-03-24}
+% \date{v0.8b 2024-07-05}
%
% \maketitle
%
@@ -37,7 +37,7 @@
% \section{Introduction}
%
% This short file collects tag names from the \LaTeX{} namespace and their role mapping used
-% in the latex-lab files. The names and the roles are not necessarly the final ones!
+% in the latex-lab files. The names and the roles are not necessarily the final ones!
%
% Later settings of the same tag overwrite previous settings.
% The syntax of a line is a list of three strings ending with commas:
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-namespace.pdf b/macros/latex-dev/required/latex-lab/latex-lab-namespace.pdf
index c172554fd8..3363ce1918 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-namespace.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-namespace.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-new-or-1.pdf b/macros/latex-dev/required/latex-lab/latex-lab-new-or-1.pdf
index ae453a241c..4a808d7f1b 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-new-or-1.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-new-or-1.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-new-or-2.pdf b/macros/latex-dev/required/latex-lab/latex-lab-new-or-2.pdf
index 87d097a831..8618ee7deb 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-new-or-2.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-new-or-2.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-sec.dtx b/macros/latex-dev/required/latex-lab/latex-lab-sec.dtx
index f3786c2ddb..231ed1a864 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-sec.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-sec.dtx
@@ -16,7 +16,7 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabsecdate{2024-02-12}
+\def\ltlabsecdate{2024-07-05}
\def\ltlabsecversion{0.84c}
%<*driver>
\documentclass[kernel]{l3doc}
@@ -121,7 +121,7 @@
% commands must be at the right grouping level.
% \end{itemize}
%
-% \subsection{Funktions and keys}
+% \subsection{Functions and keys}
%
% \begin{function}{\tag_tool:n,\tagtool}
%
@@ -138,7 +138,7 @@
% to allow e.g. to put an epigraph or similar in front.
%
% \item The number in \cs{part} and \cs{chapter} is currently not correctly
-% tagged as a \texttt{Lbl} as this requires to redefine the internal (class dependant)
+% tagged as a \texttt{Lbl} as this requires to redefine the internal (class dependent)
% commands too.
%
% \end{itemize}
@@ -376,7 +376,7 @@
\tag_struct_begin:n{tag=part,title=#1}
% \end{macrocode}
% We remap here the text-unit from the paragraph to NonStruct.
-% It would be better to suppress it completly as with the other
+% It would be better to suppress it completely as with the other
% sectioning commands, but this would require to redefine \cs{@spart}
% and \cs{@part}, as there is the grouping, and these commands are
% all slightly different in the standard classes. So this is delayed
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-sec.pdf b/macros/latex-dev/required/latex-lab/latex-lab-sec.pdf
index d7e97aa25c..c62c8dbeb1 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-sec.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-sec.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-table.dtx b/macros/latex-dev/required/latex-lab/latex-lab-table.dtx
index 38596478ae..be0c05a4e1 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-table.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-table.dtx
@@ -16,8 +16,8 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabtbldate{2024-05-25}
-\def\ltlabtblversion{0.85i}
+\def\ltlabtbldate{2024-08-10}
+\def\ltlabtblversion{0.85m}
%<*driver>
\documentclass{l3doc}
\EnableCrossrefs
@@ -100,6 +100,7 @@
% support for the tagging of tables. A list of the known limitations
% is shown below.
%
+% \subsection{Loading}
% The module is not loaded automatically (i.e., not yet integrated
% into any \texttt{phase-XX}) and by itself it doesn't activate
% tagging. For experimenting with table tagging it is therefore best
@@ -113,7 +114,26 @@
% It will then automatically tag all table environments it already supports with
% the exception of tables in the header and footer of the page (where tagging is disabled).
% Such tables can be nested.
+%
+% Inside cells the automatic tagging of paragraphs is disabled with the exception of
+% p/m/b-type cells.
%
+% Rows do not need to contain a full number of \&, missing cells are automatically
+% added with an empty TD-structure.
+%
+% You should not insert meaningful text with \verb+!{...}+ or \verb+@{...}+ or \cs{noalign}
+% between the rows or columns of the table.
+% With pdflatex such text will be unmarked, with lualatex it will be marked as artifact.
+% Either case means that it will be currently ignored in the
+% structure.\footnote{While it is theoretically possible
+% to collect such text and move it into a structure it would require manual markup
+% from the author to clarify where this text belongs too.}
+%
+% As mentioned below the \pkg{colortbl} doesn't work fully with the tagging,
+% but when it does, colors inside the table are currently ignored. If such a color
+% has a semantic meaning (like \enquote{important value}) this meaning will be lost.
+%
+% \subsection{Untagged and presentation tables}
% If a table should not be tagged as table, for example because it is merely used
% as a layout to ensure that the content is properly aligned
% or because it is a not yet (fully) supported table structure,
@@ -130,41 +150,43 @@
% The key should currently only be used in a group as there is no key (yet) to reset to the default
% tag names.
%
-% Inside cells the automatic tagging of paragraphs is disabled with the exception of
-% p/m/b-type cells.
-%
-% Rows do not need to contain a full number of \&, missing cells are automatically
-% added with an empty TD-structure.
-%
+% \subsection{Header rows and columns}
% There is some basic support\footnote{This is not meant to be the
% final interface, though.} for headers. With\footnote{The old key name \texttt{table-header-rows} still
% works but is deprecated.}
% \begin{quote}
% \verb|\tagpdfsetup{table/header-rows={|\meta{list of row numbers}\verb|}|
+% \verb|\tagpdfsetup{table/header-columns={|\meta{list of column numbers}\verb|}|
% \end{quote}
% you can
-% declare which (absolute) row numbers should be tagged as header rows.
-% It applies to all tables until it is changed to a different list of row numbers or undone by setting
-% the key to \meta{empty}.
-% A row number can be
-% negative, then the counting starts from the end of the table. There is no support
-% for header columns yet. In a \env{longtable} the code will currently use the \cs{endhead} or
+% declare which (absolute) row and column numbers should be tagged as header rows and header columns.
+% It applies to all tables until it is changed to a different list of row or
+% columns numbers or undone by setting
+% the keys to \meta{empty}.
+% A row or column number can be
+% negative, then the counting starts from the end of the table.
+% In a \env{longtable} the code will currently use the \cs{endhead} or
% \cs{endfirsthead} rows as header if one of these commands has been
% used and in that case the code
% ignores a \texttt{table/header-rows} setting.
%
-% You should not insert meaningful text with \verb+!{...}+ or \verb+@{...}+ or \cs{noalign}
-% between the rows or columns of the table.
-% With pdflatex such text will be unmarked, with lualatex it will be marked as artifact.
-% Either case means that it will be currently ignored in the
-% structure.\footnote{While it is theoretically possible
-% to collect such text and move it into a structure it would require manual markup
-% from the author to clarify where this text belongs too.}
+% \subsection{Spanning of cells}
%
-% As mentioned below the \pkg{colortbl} doesn't yet work properly with the tagging,
-% but once it does, then colors inside the table will probably be
-% simply ignored (at least initially). If such a color
-% has a semantic meaning (like \enquote{important value}) this meaning will be lost.
+% \cs{multicolumn} is supported out of the box and will create a structure with a
+% suitable \texttt{ColSpan} attribute\footnote{The code uses actually an attribute \emph{class}.
+% The validator PAC doesn't handle this correctly currently and complains about a missing attribute.}
+%
+% For cells spanning rows some preliminary support exists\footnote{The interface is bound to change!}:
+% If you add
+% \begin{quote}
+% \verb|\tagpdfsetup{table/multirow={|\meta{number of rows}\verb|}|
+% \end{quote}
+% to a cell the code will add the suitable \texttt{RowSpan} attribute and suppress the tagging of affected
+% cells in the following rows. This will also work if the current cell is a \cs{multicolumn}, then
+% the cell will span both rows and columns. It is the duty of the author to
+% ensure that all cells below and covered by a \texttt{RowSpan} are empty!
+% The code neither checks that nor does
+% it tries to suppress content.
%
% Feedback and problems with the code can be reported at
% \url{https://github.com/latex3/tagging-project} either in form of
@@ -183,19 +205,19 @@
% \item the \env{array} environment is assumed to be part of math and tagging as a table is disabled for
% it.
%
-% \item Row spans are not yet supported (and the \pkg{multirow} package is untested).
+% \item Row spans can only be added manually (the \pkg{multirow} package is untested).
%
-% \item The \pkg{colortbl} package breaks tagging if there are nested tables. It also breaks
-% the filling up of incomplete rows.
+% \item The \pkg{colortbl} package breaks tagging if there are nested tables.
%
% \item The \pkg{tabularray} package use a completed different
% method to create tables and will not be supported by this code.
%
% \item The \pkg{nicematrix} package is currently incompatible.
%
-% \item Most other packages related to tables in \LaTeX{} are not yet tested,
+% \item Most other packages related to tables in \LaTeX{} are not fully tested,
% that includes packages that change rules like \pkg{booktabs}, \pkg{hhline},
-% \pkg{arydshln}, \pkg{hvdashln}.
+% \pkg{arydshln}, \pkg{hvdashln}. Some problems have been resolved, either
+% in the packages or through a firstaid which can be loaded the \verb+testphase=firstaid+.
%
% \item \env{longtable} currently only works with lualatex.
% With other engines it breaks as its output
@@ -208,9 +230,9 @@
% the tagging of the table must be deactivated with \verb|\tagpdfsetup{table/tagging=false}|
% or \verb|\tagpdfsetup{table/tagging=presentation}|.
%
-% \item Only simple header rows are currently supported. Columns and complex headers with
+% \item Only simple header rows and columns are currently supported. Complex headers with
% subheaders will be handled later as that needs some syntax changes. Tables
-% with more than one header row are probably not pdf/UA as the headers array in
+% with more than one header row or column are probably not pdf/UA as the headers array in
% the cells is missing.
%
% \item A \pkg{longtable} \cs{caption} is currently simply formatted as a multicolumn and
@@ -259,9 +281,6 @@
%
% \item Longtable captions should be properly supported.
%
-% \item Handle p-cells better. para-tagging should probably be enabled,
-% but Part can't be a child of TD, so this should probably be changed to Div here.
-% Also there is a stray MC somewhere.
%
% \item More packages must be tested.
% \end{itemize}
@@ -292,8 +311,8 @@
% ,\l_@@_cellattribute_tl
% ,\l_@@_rowattribute_tl
% ,\l_@@_tmpa_clist
-% ,\l_@@_tmpa_seq
% ,\l_@@_tmpa_tl
+% ,\l_@@_tmpa_str
% }
% This is for the celltag, e.g. TD or TH:
% \begin{macrocode}
@@ -319,10 +338,16 @@
\tl_new:N \l_@@_rowattribute_tl
\tl_set:Nn \l_@@_rowattribute_tl {}
% \end{macrocode}
+% Variable to store cell info like which cell must be skipped when tagging multirows.
+% \begin{macrocode}
+\prop_new:N\g_@@_untagged_cells_prop
+\prop_new:N\l_@@_saved_untagged_cells_prop
+% \end{macrocode}
% Temp variables
% \begin{macrocode}
\clist_new:N \l_@@_tmpa_clist
\tl_new:N \l_@@_tmpa_tl
+\str_new:N \l_@@_tmpa_str
% \end{macrocode}
% \end{macro}
%
@@ -330,7 +355,41 @@
%
%
% This are the standard plugs for tagging of cells and rows.
-%
+%
+% The following two sockets are defined in lttagging, but we check
+% for their existence until the release 11/2024.
+% \begin{macrocode}
+\str_if_exist:cF { l__socket_tagsupport/tbl/init/celldata_plug_str }
+ {
+ \NewSocket{tagsupport/tbl/init/celldata}{0}
+ \NewSocket{tagsupport/tbl/restore/celldata}{0}
+ }
+% \end{macrocode}
+% \begin{plugdecl}{default}
+% This socket is used inside \cs{tbl_init_cell_data_for_table} for the
+% case that this a nested table in a cell.
+% \begin{macrocode}
+\NewSocketPlug{tagsupport/tbl/init/celldata}{default}
+ {
+ \prop_set_eq:NN\l_@@_saved_untagged_cells_prop \g_@@_untagged_cells_prop
+ \prop_gclear:N \g_@@_untagged_cells_prop
+ }
+\AssignSocketPlug{tagsupport/tbl/init/celldata}{default}
+% \end{macrocode}
+% \end{plugdecl}
+
+% \begin{plugdecl}{default}
+% This socket is used inside \cs{tbl_restore_outer_cell_data:} and restores
+% values when a nested table is ended.
+% \begin{macrocode}
+\NewSocketPlug{tagsupport/tbl/restore/celldata}{default}
+ {
+ \prop_gset_eq:NN\g_@@_untagged_cells_prop \l_@@_saved_untagged_cells_prop
+ }
+\AssignSocketPlug{tagsupport/tbl/restore/celldata}{default}
+% \end{macrocode}
+% \end{plugdecl}
+%
% \begin{plugdecl}{TD}
% \begin{macrocode}
\NewSocketPlug{tagsupport/tbl/cell/begin}{TD}
@@ -340,21 +399,44 @@
% always even if the noop plug is in force this needs a different solution.
% \begin{macrocode}
\@@_show_curr_cell_data:
- \tag_struct_begin:n
+% \end{macrocode}
+% We test if the cell should be tagged at all.
+% \begin{macrocode}
+ \@@_if_tag_cell:nnT {\g_@@_row_int } { \g_@@_col_int }
{
- tag =\l_@@_celltag_tl,
- attribute-class =\l_@@_cellattribute_tl
- }
- \seq_gput_right:Ne \g_@@_struct_cur_seq { \tag_get:n {struct_num} }
+% \end{macrocode}
+% this sets row headers
+% \begin{macrocode}
+ \clist_if_in:NVT \l_@@_header_columns_clist\g_@@_col_int
+ {
+ \tl_set:Nn \l_@@_celltag_tl {TH}
+ \tl_set:Ne \l_@@_cellattribute_tl {\l_@@_cellattribute_tl,TH-row}
+ }
+% \end{macrocode}
+% Here we handle negative value for row headers:
+% \begin{macrocode}
+ \tl_set:Ne \l_@@_tmpa_tl {\int_eval:n { \g_@@_col_int - 1 - \g_@@_table_cols_tl }}
+ \clist_if_in:NoT \l_@@_header_columns_clist { \l_@@_tmpa_tl }
+ {
+ \tl_set:Nn \l_@@_celltag_tl {TH}
+ \tl_set:Ne \l_@@_cellattribute_tl {\l_@@_cellattribute_tl,TH-row}
+ }
+ \tag_struct_begin:n
+ {
+ tag =\l_@@_celltag_tl,
+ attribute-class ={\l_@@_cellattribute_tl}
+ }
+ \seq_gput_right:Ne \g_@@_struct_cur_seq { \tag_get:n {struct_num} }
% \end{macrocode}
% we store the cells of multicolumns as negative number. This allow to skip them
% or to use them as needed.
% \begin{macrocode}
- \int_step_inline:nn { \g_@@_span_tl - 1 }
- {
- \seq_gput_right:Ne \g_@@_struct_cur_seq { -\tag_get:n {struct_num} }
- }
- \tag_mc_begin:n{}
+ \int_step_inline:nn { \g_@@_span_tl - 1 }
+ {
+ \seq_gput_right:Ne \g_@@_struct_cur_seq { -\tag_get:n {struct_num} }
+ }
+ \tag_mc_begin:n{}
+ }
}
% \end{macrocode}
% \end{plugdecl}
@@ -363,8 +445,11 @@
% \begin{macrocode}
\NewSocketPlug{tagsupport/tbl/cell/end}{TD}
{
- \tag_mc_end:
- \tag_struct_end:
+ \@@_if_tag_cell:nnT {\g__tbl_row_int } { \g__tbl_col_int }
+ {
+ \tag_mc_end:
+ \tag_struct_end:
+ }
}
% \end{macrocode}
% \end{plugdecl}
@@ -376,18 +461,26 @@
\NewSocketPlug{tagsupport/tbl/pcell/begin}{TDpbox}
{
\@@_show_curr_cell_data:
- \tag_struct_begin:n
+ \@@_if_tag_cell:nnT {\g__tbl_row_int } { \g__tbl_col_int }
{
- tag =\l__tbl_pcelltag_tl,
- attribute-class =\l__tbl_cellattribute_tl
- }
- \seq_gput_right:Ne \g__tbl_struct_cur_seq { \tag_get:n {struct_num} }
- \int_step_inline:nn { \g__tbl_span_tl - 1 }
- {
- \seq_gput_right:Ne \g__tbl_struct_cur_seq { -\tag_get:n {struct_num} }
- }
- \tagpdfparaOn
- \tl_set:Nn \l__tag_para_main_tag_tl {Div}
+ \clist_if_in:NVT \l_@@_header_columns_clist\g_@@_col_int
+ {
+ \tl_set:Nn \l_@@_celltag_tl {TH}
+ \tl_set:Ne \l_@@_cellattribute_tl {\l_@@_cellattribute_tl,TH-row}
+ }
+ \tag_struct_begin:n
+ {
+ tag =\l_@@_pcelltag_tl,
+ attribute-class ={\l_@@_cellattribute_tl}
+ }
+ \seq_gput_right:Ne \g_@@_struct_cur_seq { \tag_get:n {struct_num} }
+ \int_step_inline:nn { \g_@@_span_tl - 1 }
+ {
+ \seq_gput_right:Ne \g_@@_struct_cur_seq { -\tag_get:n {struct_num} }
+ }
+ \tagpdfparaOn
+ \tl_set:Nn \l__tag_para_main_tag_tl {Div}
+ }
}
% \end{macrocode}
% \end{plugdecl}
@@ -396,7 +489,12 @@
% \begin{macrocode}
\NewSocketPlug{tagsupport/tbl/pcell/end}{TDpbox}
{
- \tag_struct_end:
+ \@@_if_tag_cell:nnT {\g_@@_row_int } { \g_@@_col_int }
+ {
+ \tag_struct_end:
+ \legacy_if:nT {@endpe}{\par}
+ \mode_if_vertical:T{ \tagpdfparaOff }
+ }
}
% \end{macrocode}
% \end{plugdecl}
@@ -432,7 +530,7 @@
{
\@@_trace:n
{==>~
- stucture~stored~for~row~\int_use:N\g_@@_row_int :~
+ structure~stored~for~row~\int_use:N\g_@@_row_int :~
\seq_use:Nn \g_@@_struct_cur_seq {,}
}
}
@@ -447,21 +545,49 @@
% normal tables which can also be used inline and nested and
% \enquote{vmode} tables like longtable.
%
+% \begin{macro}{\l__tag_block_flattened_level_int}
+% Count the levels of nested blockenvs starting with the first that
+% is \enquote{flattened}. The counter is defined in lttagging.dtx,
+% but until the next release 11/24 we set it up here too so that we can
+% use it in the following socket
+% \begin{macrocode}
+\int_if_exist:NF \l__tag_block_flattened_level_int
+ {
+ \int_new:N \l__tag_block_flattened_level_int
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{plugdecl}{Table}
+% Inside a TD or TR Part is not allowed as child. For structures that restore
+% paragraph settings we therefore need a special plug that adjust the settings.
+% Currently we set the para main tag to Div. This leads to double Div-structures
+% but flattening the paragraph doesn't work, it errors if there is a list inside.
+% \begin{macrocode}
+\NewSocketPlug{tagsupport/para/restore}{Table}
+ {
+ \tl_set:Nn \l__tag_para_main_tag_tl {Div}
+ \tl_set_eq:NN \l__tag_para_tag_tl\l__tag_para_tag_default_tl
+ \bool_set_true:N \l__tag_para_bool
+ \bool_set_false:N \l__tag_para_flattened_bool
+ \int_zero:N \l__tag_block_flattened_level_int
+ }
+% \end{macrocode}
+% \end{plugdecl}
+%
% \begin{plugdecl}{Table}
% Inside a table we currently only disable paratagging. We assume
-% that these sockets are in an environment group, so there is no
+% that these sockets are called in a group, so there is no
% need to reenable paratagging.
% \begin{macrocode}
\NewSocketPlug{tagsupport/tbl/init}{Table}
{
- \tag_if_active:T
- {
- \bool_set_false:N \l__tag_para_bool
+ \bool_set_false:N \l__tag_para_bool
+ \AssignSocketPlug{tagsupport/para/restore}{Table}
% \end{macrocode}
% We also initialize the structure data variables a this point.
% \begin{macrocode}
- \@@_init_struct_data:
- }
+ \@@_init_struct_data:
}
% \end{macrocode}
% \end{plugdecl}
@@ -573,7 +699,7 @@
\prop_if_exist:cT
{ g__tag_struct_ \l_@@_tmpa_tl _prop }
{
- \exp_args:No \__tag_struct_prop_gput:nnn {\l_@@_tmpa_tl} {S}{/Artifact}
+ \__tag_struct_prop_gput:onn { \l_@@_tmpa_tl } {S}{/Artifact}
}
}
}
@@ -664,7 +790,7 @@
\prop_if_exist:cT
{ g__tag_struct_ \l_@@_tmpa_tl _prop }
{
- \exp_args:No\__tag_struct_prop_gput:nnn {\l_@@_tmpa_tl} {S}{/Artifact}
+ \__tag_struct_prop_gput:onn {\l_@@_tmpa_tl} {S}{/Artifact}
}
}
}
@@ -711,7 +837,7 @@
\tag_mc_end_push:
% \end{macrocode}
% Close the P-chunk. This assumes that para-tagging is active.
-% For nested tables that is not necessarly true, so we test for it.
+% For nested tables that is not necessarily true, so we test for it.
% \begin{macrocode}
\bool_lazy_and:nnT
{ \bool_if_exist_p:N \l__tag_para_bool } { \l__tag_para_bool }
@@ -729,7 +855,7 @@
\tag_struct_end:
% \end{macrocode}
% reopen the P-chunk. This assumes that para-tagging is active.
-% For nested tables that is not necessarly true, so we test for it.
+% For nested tables that is not necessarily true, so we test for it.
% \begin{macrocode}
\bool_lazy_and:nnT
{ \bool_if_exist_p:N \l__tag_para_bool } { \l__tag_para_bool }
@@ -778,15 +904,32 @@
{/O /Table /ColSpan~\int_eval:n{#1}}
}
\tl_set:Ne \l_@@_cellattribute_tl
- {colspan-\int_eval:n{#1}}
+ {\l_@@_cellattribute_tl,colspan-\int_eval:n{#1}}
}
}
% \end{macrocode}
-% TODO: move to tagpdf
+% \end{plugdecl}
+%
+%
+%
+%
+% \begin{plugdecl}{code}
+% The sockets will be in lttagging.dtx, but that may only happen in
+% the next main release, so for now we test if they are in the
+% format and if not define them now.
+% \begin{macrocode}
+\str_if_exist:cF { l__socket_tagsupport/tbl/leaders/end_plug_str }
+ {
+ \NewSocket{tagsupport/tbl/leaders/begin}{0}
+ \NewSocket{tagsupport/tbl/leaders/end}{0}
+ }
+% \end{macrocode}
+%
% \begin{macrocode}
-\tag_if_active:T
- { \cs_generate_variant:Nn \__tag_attr_new_entry:nn {ee} }
-
+\NewSocketPlug{tagsupport/tbl/leaders/begin}{code}
+ { \tag_mc_begin:n{artifact} }
+\NewSocketPlug{tagsupport/tbl/leaders/end}{code}
+ { \tag_mc_end: }
% \end{macrocode}
% \end{plugdecl}
%
@@ -810,8 +953,7 @@
% \subsection{Interfaces to tagging}
%
% \subsubsection{Tagging helper commands}
-%
-%
+
% \subsubsection{Disabling/enabling}
%
% For now we have only the option true/false but this will probably be extended
@@ -839,6 +981,8 @@
\AssignSocketPlug{tagsupport/tbl/vmode/begin}{noop}
\AssignSocketPlug{tagsupport/tbl/vmode/end}{noop}
\AssignSocketPlug{tagsupport/tbl/colspan}{noop}
+ \AssignSocketPlug{tagsupport/tbl/leaders/begin}{noop}
+ \AssignSocketPlug{tagsupport/tbl/leaders/end}{noop}
}
% \end{macrocode}
% \end{macro}
@@ -866,6 +1010,8 @@
\AssignSocketPlug{tagsupport/tbl/vmode/begin}{Table}
\AssignSocketPlug{tagsupport/tbl/vmode/end}{Table}
\AssignSocketPlug{tagsupport/tbl/colspan}{code}
+ \AssignSocketPlug{tagsupport/tbl/leaders/begin}{code}
+ \AssignSocketPlug{tagsupport/tbl/leaders/end}{code}
}
% \end{macrocode}
% \end{macro}
@@ -886,14 +1032,15 @@
\tl_set:Nn\l_@@_pcelltag_tl {NonStruct}
\tl_set:Nn\l_@@_celltag_tl {text}
\tl_set:Nn\l_@@_tabletag_tl {Div}
- \clist_clear:N \l_@@_header_rows_clist
+ \clist_clear:N \l_@@_header_rows_clist
+ \clist_clear:N \l_@@_header_columns_clist
},
table/tagging .default:n = true,
table/tagging .initial:n = true
}
% \end{macrocode}
% This are the old key names kept for now for
-% compability. They will got at some time.
+% compatibility. They will got at some time.
% \begin{macrocode}
\keys_define:nn { __tag / setup }
{
@@ -955,11 +1102,12 @@
% \end{macrocode}
%
-% \begin{variable}{\l_@@_header_rows_clist}
-% This holds the numbers of the header rows. Negative numbers are
+% \begin{variable}{\l_@@_header_rows_clist,\l_@@_header_columns_clist}
+% This holds the numbers of the header rows and columns. Negative numbers are
% possible and count from the last column backwards.
% \begin{macrocode}
\clist_new:N \l_@@_header_rows_clist
+\clist_new:N \l_@@_header_columns_clist
% \end{macrocode}
% \end{variable}
%
@@ -982,14 +1130,26 @@
{
\__tag_struct_prop_gput:nnn{ ####1 }{S}{/TH}
% \end{macrocode}
-% This need refinement once row headers (and perhaps other attributes)
-% are used too, but for now it should be ok.
+% This sets the scope class. If the header has already a row attribute
+% we replace by TH-both.
% \begin{macrocode}
\prop_get:cnNTF
{ g__tag_struct_####1_prop }
{ C }
\l_@@_tmpa_tl
- {\__tag_struct_prop_gput:nne{ ####1 }{C}{[/TH-col~\l_@@_tmpa_tl]} }
+ {
+ \str_set:Ne \l_@@_tmpa_str {\l_@@_tmpa_tl}
+ \str_remove_once:Nn \l_@@_tmpa_str {[}
+ \str_remove_once:Nn \l_@@_tmpa_str {]}
+ \str_if_in:NnTF\l_@@_tmpa_str{/TH-row}
+ {
+ \str_replace_once:Nnn \l_@@_tmpa_str {/TH-row}{/TH-both}
+ \__tag_struct_prop_gput:nne{ ####1 }{C}{[\l_@@_tmpa_str]}
+ }
+ {
+ \__tag_struct_prop_gput:nne{ ####1 }{C}{[/TH-col~\l_@@_tmpa_str]}
+ }
+ }
{\__tag_struct_prop_gput:nnn{ ####1 }{C}{/TH-col}}
}
}
@@ -1004,6 +1164,7 @@
\keys_define:nn { __tag / setup }
{
table/header-rows .clist_set:N = \l_@@_header_rows_clist,
+ table/header-columns .clist_set:N = \l_@@_header_columns_clist,
% \end{macrocode}
% obsolete older name:
% \begin{macrocode}
@@ -1011,8 +1172,114 @@
}
% \end{macrocode}
%
+% \subsection{Multirow support}
+%
+% \begin{macro}{\@@_multirow:n}
+% This command makes the current cell into a multirow cell:
+% it creates, if needed, an RowSpan-attribute, adds it to the attributes
+% of the cell structure, and marks all following cells spanned by the multirow
+% as cells that should not be tagged. The argument is the number of spanned row
+% (including the current row).
+% \begin{macrocode}
+\cs_if_exist:NT \__tag_struct_prop_gput:nnn
+ {
+ \cs_generate_variant:Nn \__tag_struct_prop_gput:nnn {one}
+ }
+\cs_new_protected:Npn \@@_multirow:n #1
+ {
+% \end{macrocode}
+% Create an attribute if needed:
+% \begin{macrocode}
+ \prop_get:NeNF \g__tag_attr_entries_prop
+ {rowspan-\int_eval:n{#1}}
+ \l_@@_tmpa_tl
+ {
+ \__tag_attr_new_entry:ee
+ {rowspan-\int_eval:n{#1}}
+ {/O /Table /RowSpan~\int_eval:n{#1}}
+ }
+% \end{macrocode}
+% ensure that the attribute is marked as used:
+% \begin{macrocode}
+ \seq_gput_left:Ne\g__tag_attr_class_used_seq
+ {\pdf_name_from_unicode_e:n{rowspan-\int_eval:n{#1}}}
+% \end{macrocode}
+% Get the structure number of the current cell
+% \begin{macrocode}
+ \seq_get_right:NN\g_@@_struct_cur_seq \l_@@_tmpb_tl
+% \end{macrocode}
+% If we are in a multicolumn the number can be negative and
+% this must be changed
+% \begin{macrocode}
+ \tl_set:Ne \l_@@_tmpb_tl { \int_abs:n{\l_@@_tmpb_tl} }
+% \end{macrocode}
+% no we must update an existing attribute.
+% TODO: simplify this ... (see also colspan handling).
+% \begin{macrocode}
+ \prop_get:cnNTF
+ { g__tag_struct_\l_@@_tmpb_tl _prop }
+ { C }
+ \l_@@_tmpa_tl
+ {
+ \tl_remove_once:Nn \l_@@_tmpa_tl {[}
+ \tl_remove_once:Nn \l_@@_tmpa_tl {]}
+ \__tag_struct_prop_gput:one{ \l_@@_tmpb_tl }
+ {C}
+ {[/rowspan-\int_eval:n{#1}~\l_@@_tmpa_tl]}
+ }
+ {
+ \__tag_struct_prop_gput:one{ \l_@@_tmpb_tl }
+ {C}
+ {[/rowspan-\int_eval:n{#1}]}
+ }
+% \end{macrocode}
+% Now mark the spanned cells that should be ignored.
+% \begin{macrocode}
+ \@@_gset_untagged_row_cells:nn {#1-1}{\g_@@_span_tl}
+ }
+% \end{macrocode}
+% \end{macro}
%
+% \begin{macrocode}
+\keys_define:nn{ __tag / setup }
+ { table/multirow .code:n = {\@@_multirow:n {#1} }
+ ,table/multirow .default:n = 1
+ }
+% \end{macrocode}
%
+% \begin{macro}{\@@_gset_untagged_row_cells:nn}
+% This command stores the row and column numbers of the cells in the following row(s)
+% that should not be tagged as they are a part of a rowspan.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_gset_untagged_row_cells:nn #1 #2 % #1 number of rows, #2 number of columns
+ {
+ \int_step_inline:nn {#1}
+ {
+ \int_step_inline:nn {#2}
+ {
+ \prop_gput:Nee \g_@@_untagged_cells_prop
+ { \int_eval:n {\g_@@_row_int + ##1},\int_eval:n{\g_@@_col_int + ####1 -1 } }{}
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_if_tag_cell:nn}
+% We must be able to detect if a cell should be tagged. For this
+% we define a conditional --- if more options are needed it can be extended.
+% \begin{macrocode}
+\prg_new_protected_conditional:Npnn\@@_if_tag_cell:nn #1 #2 %#1 row, #2 col
+ { T,TF }
+ {
+ \prop_get:NeNTF \g_@@_untagged_cells_prop
+ {\int_eval:n{#1},\int_eval:n{#2}}\l__tbl_tmpa_tl
+ { \prg_return_false:}
+ { \prg_return_true: }
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Misc stuff}
%
% \begin{macro}{\@@_show_curr_cell_data:}
@@ -1037,13 +1304,6 @@
% cell of a row, but still inside that cell, so we use two
% commands. The one adding is used in the row/end socket.
% \begin{macrocode}
-\NewSocket{tbl/celldata/missingcount}{1}
-\NewSocketPlug{tbl/celldata/missingcount}{code}{\tbl_count_missing_cells:n{#1}}
-\AssignSocketPlug{tbl/celldata/missingcount}{code}
-
-% \end{macrocode}
-%
-% \begin{macrocode}
\cs_new:Npn \@@_add_missing_cells:
{
% \end{macrocode}
@@ -1058,6 +1318,7 @@
additional~cell(s)~into~previous~row:}
\int_step_inline:nn { \g_@@_missing_cells_int }
{
+ \int_gincr:N\g_@@_col_int
\UseTaggingSocket{tbl/cell/begin}
\UseTaggingSocket{tbl/cell/end}
}
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-table.pdf b/macros/latex-dev/required/latex-lab/latex-lab-table.pdf
index 199232ce63..c2bb7e7c2f 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-table.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-table.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-testphase.dtx b/macros/latex-dev/required/latex-lab/latex-lab-testphase.dtx
index f0a6fe65d0..1134654cd6 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-testphase.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-testphase.dtx
@@ -47,7 +47,7 @@
%
% Currently the values |phase-I|, |phase-II|, |phase-III| and |new-or| (bundles |new-or-1|
% and |new-or-2|) are provided.
-% |tagpdf| is an undocumented alias for |phase-II| which is kept for compability.
+% |tagpdf| is an undocumented alias for |phase-II| which is kept for compatibility.
% The value |math| combines various math related files.
%
% \StopEventually{\setlength\IndexMin{200pt} \PrintIndex }
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-testphase.pdf b/macros/latex-dev/required/latex-lab/latex-lab-testphase.pdf
index 531eff4508..c9988c89af 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-testphase.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-testphase.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-text.pdf b/macros/latex-dev/required/latex-lab/latex-lab-text.pdf
index ded11a05be..8c4fc7780d 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-text.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-text.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-title.pdf b/macros/latex-dev/required/latex-lab/latex-lab-title.pdf
index 934b25bdda..64dfa09d2c 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-title.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-title.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-toc-hyperref-changes.pdf b/macros/latex-dev/required/latex-lab/latex-lab-toc-hyperref-changes.pdf
index 58690a8fa9..caf6bd4b7b 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-toc-hyperref-changes.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-toc-hyperref-changes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.dtx b/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.dtx
index bb88ffdcb0..bf10bf4f2f 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.dtx
@@ -17,8 +17,8 @@
% for those people who are interested or want to report an issue.
%
% dates for latex-lab-kernel-changes.sty (pulled from various sources, see ins)
-\def\ltlabkerneldate{2024-02-12}
-\def\ltlabkernelversion{0.85c}
+\def\ltlabkerneldate{2024-07-11}
+\def\ltlabkernelversion{0.85d}
%<*driver>
\documentclass{l3doc}
\EnableCrossrefs
@@ -44,6 +44,11 @@
%
% \providecommand\hook[1]{\texttt{#1}}
%
+%
+% \ProvideDocElement[printtype=\textit{socket},idxtype=socket,idxgroup=Sockets]{Socket}{socketdecl}
+% \ProvideDocElement[printtype=\textit{hook},idxtype=hook,idxgroup=Hooks]{Hook}{hookdecl}
+% \ProvideDocElement[printtype=\textit{plug},idxtype=plug,idxgroup=Plugs]{Plug}{plugdecl}
+%
% \begin{abstract}
% \end{abstract}
%
@@ -187,12 +192,24 @@
% \subsection{\cs{contentsline} extension}
% [latex-lab]
% The tagging code must add code at the begin and end of \cs{contentsline}.
-% This code must have access to the arguments. We set it up as config point
-% for now.
+% This code must have access to the arguments. They are passed
+% together in tagging socket.
+% \begin{socketdecl}{tagsupport/toc/contentsline/before,
+% tagsupport/toc/contentsline/after}
+% Tagging sockets at the begin and end of contentsline.
+% They receive \emph{all} contentsline arguments as one argument
+% in four brace groups. The socket code should then use the parts it needs.
+% The sockets will be in lttagging.dtx, but that may only happen in
+% the next main release, so for now we test if they are in the
+% format and if not define them now.
% \begin{macrocode}
-\def\@contentsline@cfgpoint@before#1#2#3#4{}
-\def\@contentsline@cfgpoint@after#1#2#3#4{}
+\str_if_exist:cF { l__socket_tagsupport/toc/contentsline/before_plug_str }
+ {
+ \NewSocket{tagsupport/toc/contentsline/before}{1}
+ \NewSocket{tagsupport/toc/contentsline/after}{1}
+ }
% \end{macrocode}
+% \end{socketdecl}
% for the hooks we need that the \cs{l@XX} pass also the destination and
% that \cs{l@XX} takes three arguments.
% TODO: test that, if there are two many problems we should pass the
@@ -200,10 +217,10 @@
% \begin{macrocode}
\def\contentsline#1#2#3#4%
{%
- \@contentsline@cfgpoint@before{#1}{#2}{#3}{#4}%
+ \UseTaggingSocket{toc/contentsline/before}{{#1}{#2}{#3}{#4}}%
\gdef\@contentsline@destination{#4}%
\csname l@#1\endcsname{#2}{#3}%
- \@contentsline@cfgpoint@after{#1}{#2}{#3}{#4}%
+ \UseTaggingSocket{toc/contentsline/after}{{#1}{#2}{#3}{#4}}%
}
% \end{macrocode}
%
@@ -225,17 +242,33 @@
% \subsection{\cs{@starttoc}}
% [kernel?]
%
-% We add a configuration point before and after reading the file
+% We add a tagging socket before and after reading the file
% for the tagging.
+% \begin{socketdecl}{tagsupport/toc/starttoc/before,
+% tagsupport/toc/starttoc/after}
+% Tagging sockets for the begin and end of start of \cs{@starttoc}.
+% They take one argument, the extension.
+% The sockets will be in lttagging.dtx, but that may only happen in
+% the next main release, so for now we test if they are in the
+% format and if not define them now.
+% \begin{macrocode}
+\str_if_exist:cF { l__socket_tagsupport/toc/starttoc/before_plug_str }
+ {
+ \NewSocket{tagsupport/toc/starttoc/before}{1}
+ \NewSocket{tagsupport/toc/starttoc/after}{1}
+ }
+% \end{macrocode}
+% \begin{macrocode}
+% \end{macrocode}
+% \end{socketdecl}
+%
% \begin{macrocode}
-\def\@starttoc@cfgpoint@before#1{}
-\def\@starttoc@cfgpoint@after#1{}
\def\@starttoc#1{%
\begingroup
\makeatletter
- \@starttoc@cfgpoint@before{#1}%
+ \UseTaggingSocket{toc/starttoc/before}{#1}%
\@input{\jobname.#1}%
- \@starttoc@cfgpoint@after{#1}%
+ \UseTaggingSocket{toc/starttoc/after}{#1}%
\if@filesw
\expandafter\newwrite\csname tf@#1\endcsname
\immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
@@ -269,15 +302,32 @@
\NewMirroredHookPairWithArguments{contentsline/page/before}{contentsline/page/after}{4}%
% \end{macrocode}
%
-% The dot in the leader must be set as artifact.
+% The dots in the leader must be set as artifact.
% But luatex requires that the mc are set outside the leaders.
-% So we need a config point.
+% So we need sockets.
%
% \cs{@dottedtocline} needs hooks and formatting commands.
-% We add a sixth argument so that it can grab the destination too.
+% To make the leaders into artifact we use tagging sockets.
+% The declaration should perhaps be moved into lttagging so that
+% it can be used also by external packages even if the tagging code is not
+% loaded?
+% \begin{socketdecl}{tagsupport/toc/leaders/before,
+% tagsupport/toc/leaders/after}
+% Tagging sockets to make the dot leaders an artifact.
+% They do not take an argument.
+% The sockets will be in lttagging.dtx, but that may only happen in
+% the next main release, so for now we test if they are in the
+% format and if not define them now.
+% \begin{macrocode}
+\str_if_exist:cF { l__socket_tagsupport/toc/leaders/before_plug_str }
+ {
+ \NewSocket{tagsupport/toc/leaders/before}{0}
+ \NewSocket{tagsupport/toc/leaders/after}{0}
+ }
+% \end{macrocode}
+% \end{socketdecl}
+% The destination is accessed through \cs{@contentsline@destination}.
% \begin{macrocode}
-\def\@dottedtocline@cfgpoint@leaders#1{#1}
-
\def\@dottedtocline#1#2#3#4#5{%
\ifnum #1>\c@tocdepth \else
\vskip \z@ \@plus.2\p@
@@ -291,10 +341,11 @@
\csname contentsline@text@#1@format\endcsname{#4}%
\UseHookWithArguments{contentsline/text/after}{4}{#1}{#4}{#5}{\@contentsline@destination}%
\nobreak
- \@dottedtocline@cfgpoint@leaders{%
+ \UseTaggingSocket{toc/leaders/before}\SuspendTagging{toc/leaders}%
\leaders\hbox{$\m@th
\mkern \@dotsep mu\hbox{.}\mkern \@dotsep
- mu$}\hfill}%
+ mu$}\hfill
+ \ResumeTagging{toc/leaders}\UseTaggingSocket{toc/leaders/after}%
\nobreak
\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor
\UseHookWithArguments{contentsline/page/before}{4}{#1}{#4}{#5}{\@contentsline@destination}%
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.pdf b/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.pdf
index c3dc4523e5..7e19e8a9eb 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-toc.dtx b/macros/latex-dev/required/latex-lab/latex-lab-toc.dtx
index 7235eb9ed9..5ad0d3cec1 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-toc.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-toc.dtx
@@ -16,8 +16,8 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabtocdate{2023-10-16}
-\def\ltlabtocversion{0.85b}
+\def\ltlabtocdate{2024-07-11}
+\def\ltlabtocversion{0.85c}
%<*driver>
\documentclass{l3doc}
\EnableCrossrefs
@@ -42,7 +42,10 @@
% \newcommand{\docclass}{document class \marginpar{\raggedright document class
% customizations}}
%
-% \providecommand\hook[1]{\texttt{#1}}
+%
+% \ProvideDocElement[printtype=\textit{socket},idxtype=socket,idxgroup=Sockets]{Socket}{socketdecl}
+% \ProvideDocElement[printtype=\textit{hook},idxtype=hook,idxgroup=Hooks]{Hook}{hookdecl}
+% \ProvideDocElement[printtype=\textit{plug},idxtype=plug,idxgroup=Plugs]{Plug}{plugdecl}
%
% \begin{abstract}
% \end{abstract}
@@ -196,14 +199,17 @@
\tag_struct_begin:n{tag=TOC,title=#1}
}
% \end{macrocode}
-% Now map it into the config point:
+% \end{macro}
+% Now define the tagging plug and assign it to the socket.
+% \begin{plugdecl}{default}
% \begin{macrocode}
-\cs_set_protected:Npn\@starttoc@cfgpoint@before#1
- {
- \@@_toc_starttoc_init:n{#1}
- }
+\NewSocketPlug{tagsupport/toc/starttoc/before}{default}
+ {
+ \@@_toc_starttoc_init:n{#1}
+ }
+\AssignSocketPlug{tagsupport/toc/starttoc/before}{default}
% \end{macrocode}
-% \end{macro}
+% \end{plugdecl}
% \begin{macro}{\@@_toc_starttoc_finalize:}
% \begin{macrocode}
\cs_new_protected:Npn \@@_toc_starttoc_finalize:
@@ -215,15 +221,18 @@
\seq_gclear:N \g_@@_toc_stack_seq
}
% \end{macrocode}
-% Now map it into the config point:
+% \end{macro}
+% Now define the tagging plug and assign it to the socket.
+% \begin{plugdecl}{default}
% \begin{macrocode}
-\cs_set_protected:Npn\@starttoc@cfgpoint@after#1
- {
- \@@_toc_starttoc_finalize:
- }
+\NewSocketPlug{tagsupport/toc/starttoc/after}{default}
+ {
+ \@@_toc_starttoc_finalize:
+ }
+\AssignSocketPlug{tagsupport/toc/starttoc/after}{default}
% \end{macrocode}
-% \end{macro}
-
+% \end{plugdecl}
+%
% \begin{macro}{\@@_toc_end:n}
% This commands ends all TOC on the stack with a level higher than the argument
% \begin{macrocode}
@@ -249,10 +258,11 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_toc_contentsline_begin:nnn}
+% \begin{macro}{\@@_toc_contentsline_begin:nnnn}
% This is main command executed at the begin of a |\contentsline|.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_toc_contentsline_begin:nnn #1 #2 #3 %#1 level, #2 content, #3 destination
+\cs_new_protected:Npn \@@_toc_contentsline_begin:nnnn #1 #2 #3 #4
+ %#1 level, #2 content, #3 page number (unused) #4 destination
{
\tag_if_active:T
{
@@ -308,30 +318,34 @@
% \end{NOTE}
% \begin{macrocode}
\prop_gput:Nee \g_@@_struct_ref_by_dest_prop
- { \tag_get:n {struct_num} }{#3}
+ { \tag_get:n {struct_num} }{#4}
\seq_gpush:Ne \g_@@_toc_stack_seq {{TOCI}\use:c{toclevel@#1}}
\group_end:
}
}
}
% \end{macrocode}
-% Now map it into the config point:
+% \end{macro}
+% Now define the tagging plug and assign it to the socket.
+% \begin{plugdecl}{default}
% \begin{macrocode}
-\cs_set_protected:Npn\@contentsline@cfgpoint@before#1#2#3#4
+\NewSocketPlug{tagsupport/toc/contentsline/before}{default}
{
- \@@_toc_contentsline_begin:nnn {#1}{#2}{#4}
- }
+ \@@_toc_contentsline_begin:nnnn #1
+ }
+\AssignSocketPlug{tagsupport/toc/contentsline/before}{default}
% \end{macrocode}
-% \end{macro}
+% \end{plugdecl}
%
-% \begin{macro}{\@@_toc_contentsline_end:n}
+% \begin{macro}{\@@_toc_contentsline_end:nnnn}
% This is the closing code of a |\contentsline|.
% If the contentsline was actually printed, the code has to
% close the TOCI structure and to update the stack.
% \begin{macrocode}
\msg_new:nnn {tag}{toc-no-TOCI}{Missing~TOCI~structure~on~toc~stack}
-\cs_new_protected:Npn \@@_toc_contentsline_end:n #1 %#1 level name
+\cs_new_protected:Npn \@@_toc_contentsline_end:nnnn #1 #2 #3 #4
+% #1 level, #2 content (unused), #3 page number (unused) #4 destination (unused)
{
\int_compare:nNnF { \use:c{toclevel@#1} } > {\use:c{c@tocdepth}}
{
@@ -348,14 +362,17 @@
}
}
% \end{macrocode}
-% Now we map it to the config point
+% \end{macro}
+% Now define the tagging plug and assign it to the socket.
+% \begin{plugdecl}{default}
% \begin{macrocode}
-\cs_set_protected:Npn \@contentsline@cfgpoint@after #1#2#3#4
- {
- \@@_toc_contentsline_end:n {#1}
- }
+\NewSocketPlug{tagsupport/toc/contentsline/after}{default}
+ {
+ \@@_toc_contentsline_end:nnnn #1
+ }
+\AssignSocketPlug{tagsupport/toc/contentsline/after}{default}
% \end{macrocode}
-% \end{macro}
+% \end{plugdecl}
%
% \subsection{Tagging of the content}
% This need discussion.
@@ -380,12 +397,16 @@
\tag_struct_end:
\tag_mc_begin:n{tag=Reference}}
% \end{macrocode}
-%
+% \begin{plugdecl}{artifact}
% \begin{macrocode}
-\def\@dottedtocline@cfgpoint@leaders#1{%
- \tag_mc_begin:n{artifact}\tag_stop:n{leaders}\nobreak#1\nobreak\tag_start:n{leaders}\tag_mc_end:}
+\NewSocketPlug{tagsupport/toc/leaders/before}{artifact}
+ {\tag_mc_begin:n{artifact}\nobreak}
+\NewSocketPlug{tagsupport/toc/leaders/after}{artifact}
+ {\nobreak\tag_mc_end:}
+\AssignSocketPlug{tagsupport/toc/leaders/before}{artifact}
+\AssignSocketPlug{tagsupport/toc/leaders/after}{artifact}
% \end{macrocode}
-
+% \end{plugdecl}
%
% \begin{macrocode}
%</package>
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-toc.pdf b/macros/latex-dev/required/latex-lab/latex-lab-toc.pdf
index ba23989257..5f6e705a90 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-toc.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-toc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/README.md b/macros/latex-dev/required/tools/README.md
index 69e0112887..d5c8915ba9 100644
--- a/macros/latex-dev/required/tools/README.md
+++ b/macros/latex-dev/required/tools/README.md
@@ -1,7 +1,7 @@
The LaTeX `tools` bundle
========================
-Release 2024-11-01 pre-release 0
+Release 2024-11-01 pre-release 2
Overview
--------
diff --git a/macros/latex-dev/required/tools/afterpage.pdf b/macros/latex-dev/required/tools/afterpage.pdf
index a7679b78a3..63c625d8ef 100644
--- a/macros/latex-dev/required/tools/afterpage.pdf
+++ b/macros/latex-dev/required/tools/afterpage.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/array.dtx b/macros/latex-dev/required/tools/array.dtx
index e77ef0a3bf..ca5e991bee 100644
--- a/macros/latex-dev/required/tools/array.dtx
+++ b/macros/latex-dev/required/tools/array.dtx
@@ -39,7 +39,7 @@
% \begin{macrocode}
%<+package>\NeedsTeXFormat{LaTeX2e}[2024/06/01]
%<+package>\ProvidesPackage{array}
-%<+package> [2024/05/23 v2.6c Tabular extension package (FMi)]
+%<+package> [2024/07/13 v2.6e Tabular extension package (FMi)]
%
% \fi
%
@@ -715,7 +715,7 @@
%
% A similar problem happened when "\extrarowheight" was used. For that
% reason m-cells now manually position the cell content which
-% allows to ignore this extra space request during the vertical aligment.
+% allows to ignore this extra space request during the vertical alignment.
%
%
% \subsection{Bugs and Features}
@@ -1900,7 +1900,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% is how much do we need to move down? If there is any
% =\arraystretch= in place then the first line will have some
% unusual height and we don't want to consider that when finding
-% the middle point. So we substract from the cell height the height
+% the middle point. So we subtract from the cell height the height
% of that strut. But of course we want to include the normal height
% of the first line (which would be something like =\ht\strutbox=)
% so we need to add that. On the other hand, when centering around
@@ -2656,7 +2656,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \begin{macro}{\d@llarbegin}
% \begin{macro}{\d@llarend}
% =\d@llar= has to be
-% locally asigned since otherwise nested \textsf{tabular} and \textsf{array}
+% locally assigned since otherwise nested \textsf{tabular} and \textsf{array}
% environments (via =\multicolumn=) are impossible.
% For 25 years or so =\@halignto= was set globally (to save space on the
% save stack, but that was a mistake: if there is a tabular in the
@@ -2852,11 +2852,13 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \end{macrocode}
%
% \begin{macro}{\@preamerr}
+% \changes{v2.6d}{2024/06/14}{Keep message sources out of L3 code (gh/1378)}
% We also have to redefine the error routine =\@preamerr= since
% new kind of errors are possible.
% The code for this macro is not perfect yet;
% it still needs too much memory.
% \begin{macrocode}
+\ExplSyntaxOff
\def\@preamerr#1{\def\@tempd{{..} at wrong position: }%
\PackageError{array}{%
\ifcase #1 Illegal pream-token (\@nextchar): `c' used\or %0
@@ -2905,7 +2907,6 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% to define letters, to be used in the same way as the primitive
% column specifiers, `c' `p' etc.
% \begin{macrocode}
-\ExplSyntaxOff % this is really oldstyle using \@tfor :=
\def\newcolumntype#1{%
% \end{macrocode}
% "\NC@char" was added in V2.01 so that active characters, like "@" in
@@ -3439,7 +3440,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \subsection{Implementing column types \texttt{w} and \texttt{W}}
%
% In TugBoat 38/2 an extension was presented that implemented two
-% aditional column types \texttt{w} and \texttt{W}. These have now
+% additional column types \texttt{w} and \texttt{W}. These have now
% been added to the package itself.
%
%
@@ -3516,7 +3517,46 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \end{macro}
%
%
+% \subsection{Handling \cs{cline}}
+%
+% In the past \pkg{array} did not have to concern itself with
+% \cs{cline} but simply used the definition already provided in the
+% kernel. However, for tagged PDF output this definition is
+% insufficient, because it causes incorrect row counting and the rules
+% it generates would need to be marked as artifacts.
+% We therefore update it here.
+%
%
+% \begin{macro}{\@cline}
+% Tagging support for \cs{cline}
+% \changes{v2.6e}{2024/07/13}{Support for tagging \cs{cline} (tagging/134)}
+% \begin{macrocode}
+\ExplSyntaxOn
+\def\@cline#1-#2\@nil{
+ \omit
+ \@multicnt#1
+ \advance\@multispan\m@ne
+ \ifnum\@multicnt=\@ne\@firstofone{&\omit}\fi
+ \@multicnt#2
+ \advance\@multicnt-#1
+ \advance\@multispan\@ne
+% \end{macrocode}
+% The rule needs artifact tagging in tagged PDF.
+% \begin{macrocode}
+ \UseTaggingSocket{tbl/leaders/begin}
+ \leaders\hrule\@height\arrayrulewidth\hfill
+ \UseTaggingSocket{tbl/leaders/end}
+% \end{macrocode}
+% To the row counting the above appears like an extra row, so we
+% have to correct the count.
+% \begin{macrocode}
+ \tbl_gdecr_row_count:
+ \cr
+ \noalign{\vskip-\arrayrulewidth}
+}
+\ExplSyntaxOff
+% \end{macrocode}
+% \end{macro}
%
%
% \begin{macrocode}
diff --git a/macros/latex-dev/required/tools/array.pdf b/macros/latex-dev/required/tools/array.pdf
index 715f3284ec..f42a936a8b 100644
--- a/macros/latex-dev/required/tools/array.pdf
+++ b/macros/latex-dev/required/tools/array.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/bm.pdf b/macros/latex-dev/required/tools/bm.pdf
index a92141480e..8da4641478 100644
--- a/macros/latex-dev/required/tools/bm.pdf
+++ b/macros/latex-dev/required/tools/bm.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/calc.pdf b/macros/latex-dev/required/tools/calc.pdf
index c5424a2a9f..07f9891480 100644
--- a/macros/latex-dev/required/tools/calc.pdf
+++ b/macros/latex-dev/required/tools/calc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/changes.txt b/macros/latex-dev/required/tools/changes.txt
index afd942a4e7..31292d1b2b 100644
--- a/macros/latex-dev/required/tools/changes.txt
+++ b/macros/latex-dev/required/tools/changes.txt
@@ -1,3 +1,14 @@
+2024-08-13 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+
+ * longtable.dtx:
+ store row number of head also if it ends with a \cr
+ (tagging-project-gh/554).
+
+2024-07-13 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * array.dtx (subsection{Handling \cs{cline}}):
+ Support for tagging \cline (tagging/134)
+
=======================================================================
This file lists changes to the LaTeX2e files in reverse chronological order.
It is provided for convenience only. It therefore makes no claims to
@@ -5,12 +16,31 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+2024-07-04 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+
+ * longtable.dtx:
+ Added \LTcaptype (from package ltcaption) to support other types
+ beside table and to support unnumbered longtables (gh/1377).
+
+
+2024-06-28 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * multicol.dtx:
+ Update documentation to reflect that \sloppy isn't using
+ \tolerance=10000 any longer (it did in the early days of LaTeX)
+ (gh/1385)
+
================================================================================
All changes above are only part of the development branch for the next release.
================================================================================
+2024-06-14 David Carlisle <David.Carlisle@latex-project.org>
+
+ * array.dtx move \ExplSyntaxOff earlier so error message spaces preserved gh/1378
+
+
#########################
-# 2023-11-01 Release
+# 2024-06-01 Release
#########################
2024-05-23 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
diff --git a/macros/latex-dev/required/tools/dcolumn.pdf b/macros/latex-dev/required/tools/dcolumn.pdf
index 537bc4d21c..15d118feae 100644
--- a/macros/latex-dev/required/tools/dcolumn.pdf
+++ b/macros/latex-dev/required/tools/dcolumn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/delarray.pdf b/macros/latex-dev/required/tools/delarray.pdf
index 47b5a5fa9a..28d9497fd9 100644
--- a/macros/latex-dev/required/tools/delarray.pdf
+++ b/macros/latex-dev/required/tools/delarray.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/enumerate.pdf b/macros/latex-dev/required/tools/enumerate.pdf
index fc9d77d6af..7a3aa3b340 100644
--- a/macros/latex-dev/required/tools/enumerate.pdf
+++ b/macros/latex-dev/required/tools/enumerate.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/fileerr.pdf b/macros/latex-dev/required/tools/fileerr.pdf
index 574edfdb38..2e5d92685b 100644
--- a/macros/latex-dev/required/tools/fileerr.pdf
+++ b/macros/latex-dev/required/tools/fileerr.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/fontsmpl.pdf b/macros/latex-dev/required/tools/fontsmpl.pdf
index 8d4fe68316..4bc67919a4 100644
--- a/macros/latex-dev/required/tools/fontsmpl.pdf
+++ b/macros/latex-dev/required/tools/fontsmpl.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/ftnright.pdf b/macros/latex-dev/required/tools/ftnright.pdf
index 9f2da32d26..631413b685 100644
--- a/macros/latex-dev/required/tools/ftnright.pdf
+++ b/macros/latex-dev/required/tools/ftnright.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/hhline.pdf b/macros/latex-dev/required/tools/hhline.pdf
index b2b7bc6adb..a8b5e0b679 100644
--- a/macros/latex-dev/required/tools/hhline.pdf
+++ b/macros/latex-dev/required/tools/hhline.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/indentfirst.pdf b/macros/latex-dev/required/tools/indentfirst.pdf
index c95cef137f..d87fd104cd 100644
--- a/macros/latex-dev/required/tools/indentfirst.pdf
+++ b/macros/latex-dev/required/tools/indentfirst.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/l3sys-query.pdf b/macros/latex-dev/required/tools/l3sys-query.pdf
index e333418672..1eafdab83a 100644
--- a/macros/latex-dev/required/tools/l3sys-query.pdf
+++ b/macros/latex-dev/required/tools/l3sys-query.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/layout.pdf b/macros/latex-dev/required/tools/layout.pdf
index 6cbbc763ca..8ab18ca488 100644
--- a/macros/latex-dev/required/tools/layout.pdf
+++ b/macros/latex-dev/required/tools/layout.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/longtable.dtx b/macros/latex-dev/required/tools/longtable.dtx
index cc3a939e7a..439542a18c 100644
--- a/macros/latex-dev/required/tools/longtable.dtx
+++ b/macros/latex-dev/required/tools/longtable.dtx
@@ -28,7 +28,7 @@
%</dtx>
%<package>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
%<package>
-% Try the 2020 version for any rollback before that date:
+% Try the 2020 version for any rollback before that date:
%<package>\DeclareRelease{}{1994-06-01}{longtable-2020-01-07.sty}
%<package>
%<package>\DeclareRelease{v4.13}{2020-01-02}{longtable-2020-01-07.sty}
@@ -38,7 +38,7 @@
%<driver> \ProvidesFile{longtable.drv}
% \fi
% \ProvidesFile{longtable.dtx}
- [2024-04-26 v4.20 Multi-page Table package (DPC)]
+ [2024-07-06 v4.21 Multi-page Table package (DPC)]
%
% \iffalse
%<*driver>
@@ -179,7 +179,7 @@
% \env{longtable}, which has most of the features of the \env{tabular}
% environment, but produces tables which may be broken by \TeX's
% standard page-breaking algorithm. It also shares some features with
-% the \env{table} environment. In particular it uses the same counter,
+% the \env{table} environment. In particular it uses by default the same counter,
% \texttt{table}, and has a similar "\caption" command. Also, the
% standard "\listoftables" command lists tables produced by either the
% \env{table} or \env{longtable} environments.
@@ -335,6 +335,29 @@
% \caption{A floating table}
% \end{table}
%
+% \section{Counter and Caption Types}
+%
+% As mentioned in the introduction \env{longtable} uses and updates by default
+% the \texttt{table} counter, the "\caption" command creates a table caption
+% which is added to the list of tables.
+% Packages like \pkg{ltcaption} added more flexibility here by adding the
+% command "\LTcaptype" which allowed to change the type, e.g. to a listing.
+% Starting with version 4.21 \pkg{longtable} supports this command directly.
+% \DescribeMacro{\LTcaptype}%
+% By redefining this command it is possible to change the counter and caption type.
+% After "\renewcommand\LTcaptype{"\meta{counter}"}" \env{longtable} will update
+% the counter \meta{counter}, use "\fnum@"\meta{counter} in the caption (which
+% typically will make use of "\"\meta{counter}"name" and "\the"\meta{counter}), and
+% write content line entries into the file with the extension stored in the
+% command "\ext@"\meta{counter}. When \pkg{hyperref} is loaded the name of
+% the anchor will use \meta{counter} too. Packages or documents that change
+% "\LTcaptype" to some nonstandard value must ensure that the counter
+% \meta{counter} and the commands "\fnum@"\meta{counter}
+% and "\ext@"\meta{counter} exist and do not error.
+% If "\LTcaptype" is empty no counter is advanced and "\"\meta{counter}"name" in
+% the caption is suppressed.
+%
+%
% \section{Captions and Headings}
%
% At the start of the table one may specify lines which are to appear at
@@ -907,6 +930,15 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\LTcaptype}
+% The name used as counter, in caption, "\addcontentsline" and in targets.
+% "\providecommand" is used for compability with \pkg{ltcaption}
+% \changes{v4.21}{2024/07/04}
+% {Added \cs{LTcaptype} to support other types beside table.}
+% \begin{macrocode}
+\providecommand\LTcaptype{table}
+% \end{macrocode}
+% \end{macro}
% \subsection{Internal Parameters}
%
% \begin{macro}{\LT@head}
@@ -957,8 +989,11 @@
% are preserved correctly when "\includeonly" is used. In the rest of
% the file "\LT@tables" has been replaced by "\c@LT@tables" without
% further comment.
+% \changes{v4.21}{2024/07/04}
+% {Provide a \cs{theH}-representation for targets.}
% \begin{macrocode}
\newcounter{LT@tables}
+\providecommand\theHLT@tables{\theLT@tables}
% \end{macrocode}
% \end{macro}
%
@@ -1050,12 +1085,12 @@
\LT@err{longtable not in 1-column mode}\@ehc
\fi
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/vmode/begin}%
% \end{macrocode}
-%
+%
% \begin{macrocode}
\begingroup
% \end{macrocode}
@@ -1080,6 +1115,9 @@
% Since Version 3.02, \package{longtable} has used the internal counter
% "\c@LT@tables". The \LaTeX\ counter "table" is still incremented
% so that "\caption" works correctly.
+% \changes{v4.21}{2024/07/04}
+% {Use \cs{LTcaptype} instead of \texttt{table} in various places
+% to support other types beside table.}
% \begin{macrocode}
\def\LT@array[#1]#2{%
% \end{macrocode}
@@ -1097,25 +1135,31 @@
% TODO: When a line is killed the structure subtree is there already
% too and must be removed. If hard to do, then maybe at first warn if the
% construction is used.
-%
+%
% \cs{LT@array} is executed in a group, so we can disable para-tagging here.
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/init}
- \@kernel@refstepcounter{table}\stepcounter{LT@tables}
+ \tl_if_empty:eTF { \LTcaptype }
+ {
+ \tl_gset:Ne \@currentHref {LT@tables.\theHLT@tables}
+ }
+ {
+ \@kernel@refstepcounter{\LTcaptype}\stepcounter{LT@tables}
% \end{macrocode}
-% The target is created rather late and a \cs{label} can come earlier,
+% The target is created rather late and a \cs{label} can come earlier,
% so we have to define \cs{@currentHref} explicitly. We can't currently
% assume that \cs{theHtable} is defined always.
% \begin{macrocode}
- \tl_gset:Ne \@currentHref {table.\cs_if_exist_use:N\theHtable}
+ \tl_gset:Ne \@currentHref {\LTcaptype.\cs_if_exist_use:c {theH\LTcaptype}}
+ }
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Managing cell indexes}
% \begin{macrocode}
\tbl_gzero_row_count:
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/longtable/init}
@@ -1225,7 +1269,7 @@
\begingroup
\@mkpream{#2}%
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Managing cell indexes}
% \begin{macrocode}
\tbl_count_table_cols:
@@ -1271,12 +1315,12 @@
\tabskip\z@ \@arstrut
% \end{macrocode}
% Insert the tagging socket to start the row and initialize the cell
-% data for the row.
+% data for the row.
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/row/begin}%
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Managing cell indexes}
% \begin{macrocode}
\tbl_init_cell_data_for_row:
@@ -1314,7 +1358,7 @@
column:~ \the\g_@@_col_int
}
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\tbl_if_row_was_started:T
@@ -1399,7 +1443,7 @@
% We also have to make sure that this breakpoint doesn't affect how the next
% page is broken, so we make the penalty 9999 (10000 is infinite and thus not
% a legal breakpoint) and cancel out the "\kern" with a new "\kern".
-%
+%
% I don't think this is the \emph{right} solution to the problem (that would be
% that the standard output routine has a feature for syncronizing with
% typesetting, as part of the preparations for switching output routine), but
@@ -1476,9 +1520,17 @@
\maxdepth\z@
\fi
% \end{macrocode}
-%
+% \changes{v4.21}{2024/07/04}
+% {Use \cs{LTcaptype} to support other types beside table and handle
+% the case if it is empty.}
% \begin{macrocode}
- \MakeLinkTarget{table}
+ \tl_if_empty:eTF{\LTcaptype}
+ {
+ \MakeLinkTarget{LT@tables}
+ }
+ {
+ \MakeLinkTarget{\LTcaptype}
+ }
% \end{macrocode}
% Put the table head on the page, and then switch to the new output
% routine.
@@ -1487,12 +1539,12 @@
% \begin{macrocode}
\ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/longtable/head}
% \end{macrocode}
-%
+%
% \begin{macrocode}
\output{\LT@output}}
\ExplSyntaxOff
@@ -1524,18 +1576,18 @@
% \begin{macrocode}
\tbl_crcr:n {endlongtable}
% \end{macrocode}
-%
+%
% \changes{v4.01}{1996/04/11}
% {(DPC) use \cs{noalign} to sneak in \cs{LT@entry@chop}}
% \begin{macrocode}
\noalign{%
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/longtable/finalize}
% \end{macrocode}
-%
+%
% \begin{macrocode}
\let\LT@entry\LT@entry@chop
\xdef\LT@save@row{\LT@save@row}}%
@@ -1579,7 +1631,11 @@
\ifx\LT@save@row\LT@@@@save@row
\else
\LT@warn{Column~ widths~ have~ changed\MessageBreak
- in~ table~ \thetable}%
+ in~
+ \tl_if_empty:eTF{\LTcaptype}
+ {longtable~ \theLT@tables}
+ {\LTcaptype\c_space_tl\use:c{the\LTcaptype}}
+ }
\LT@final@warn
\fi
% \end{macrocode}
@@ -1613,7 +1669,7 @@
% \begin{macrocode}
\ifvoid\footins\else\insert\footins{}\fi
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/vmode/end}%
@@ -2161,7 +2217,6 @@
\tbl_gdecr_row_count:
\penalty\@M}
\@gtempa}
-\ExplSyntaxOff
%<@@=>
% \end{macrocode}
% \end{macro}
@@ -2187,14 +2242,22 @@
% {Add new control argument}
% \changes{v4.16}{2021/05/07}
% {use \cs{ext@table} gh/561}
-% \begin{macrocode}
-\def\LT@c@ption#1[#2]#3{%
- \LT@makecaption#1\fnum@table{#3}%
- \def\@tempa{#2}%
- \ifx\@tempa\@empty\else
- {\let\\\space
- \addcontentsline{\ext@table}{table}{\protect\numberline{\thetable}{#2}}}%
- \fi}
+% \changes{v4.21}{2024/07/04}
+% {Use \cs{LTcaptype} to support other types beside table.}
+% \begin{macrocode}
+\def\LT@c@ption#1[#2]#3{
+ \tl_if_empty:eTF{\LTcaptype}
+ {\LT@makecaption\@gobble{}{#3}}
+ {\LT@makecaption#1{\csname fnum@\LTcaptype\endcsname}{#3}
+ \def\@tempa{#2}
+ \ifx\@tempa\@empty\else
+ {\let\\\space
+ \addcontentsline
+ {\@nameuse{ext@\LTcaptype}}
+ {\LTcaptype}
+ {\protect\numberline{\@nameuse{the\LTcaptype}}{#2}}}
+ \fi}}
+\ExplSyntaxOff
% \end{macrocode}
% \end{macro}
%
@@ -2375,7 +2438,7 @@
\ExplSyntaxOn
\def\LT@end@hd@ft#1{%
% \end{macrocode}
-%
+%
% This command is used to store the head and foot boxes.
% We need to retrieve and store the row so that we can clean
% up the structure in the finalize code.
@@ -2388,7 +2451,7 @@
% \end{macrocode}
% TODO: This is exposing internal counters, so it should be encapsulated
% in some interface command (but I'm not sure what that should be
-% called, so not done yet.
+% called, so not done yet.
% \changes{v4.19}{2023/12/16}{Managing cell indexes}
% \begin{macrocode}
\tbl_count_missing_cells:n {head/foot}
@@ -2413,19 +2476,28 @@
% To get out of this trap we run \cs{crcr} (which would normally
% come inside \cs{LT@echunk}. That will then trigger \cs{everycr}
% and update row counter unnecessarily, but now we have a defined state, so
-% we can use \cs{noalign} to undo that.
+% we can use \cs{noalign} to undo that.
% We also change \cs{LT@rows} so that further \cs{cr}s do not do
% any harm (as explained above.
%
% The \cs{crcr} inside \cs{LT@echunk} will be bypassed in that case
% as we have just executed a \cs{crcr} and are still in scanning modus for
-% \cs{omit} or \cs{noalign}.
+% \cs{omit} or \cs{noalign}.
% \begin{macrocode}
{
\crcr
\noalign{
% \end{macrocode}
-%
+% \changes{v4.22}{2024/08/13}{Store header row numbers}
+% \begin{macrocode}
+ \int_step_inline:nn
+ { \LT@rows }
+ {
+ \seq_gput_left:ce
+ {g_@@_\cs_to_str:N #1 _rows_seq }
+ { \int_eval:n {\g_@@_row_int - ##1 } }
+ }
+% \end{macrocode}
% \changes{v4.19}{2023/12/16}{Managing cell indexes}
% \begin{macrocode}
\tbl_gdecr_row_count: % undo the increment
@@ -2442,7 +2514,7 @@
{Increase~ LTchunksize}%
\fi
\setbox#1\box\z@
- \@@_trace:n {-->>~ Saving~\noexpand#1}
+ \@@_trace:n {-->>~ Saving~\noexpand#1}
\LT@get@widths
\LT@bchunk}
% \end{macrocode}
@@ -2501,7 +2573,7 @@
\bgroup
% \end{macrocode}
% \changes{v4.12}{2019/02/06}{Color group to match array package}
-% \changes{v4.18}{2023/08/25}{Use \cs{everypar} to match array package, github 1128}%
+% \changes{v4.18}{2023/08/25}{Use \cs{everypar} to match array package, github 1128}
% \begin{macrocode}
\color@begingroup
\let\@footnotetext\LT@p@ftntext
@@ -2509,7 +2581,7 @@
\@arrayparboxrestore
\everypar{%
\vrule \@height \ht\@arstrutbox \@width \z@
- \everypar{}}%
+ \everypar{}}%
}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex-dev/required/tools/longtable.pdf b/macros/latex-dev/required/tools/longtable.pdf
index f0823ed03f..7be619967c 100644
--- a/macros/latex-dev/required/tools/longtable.pdf
+++ b/macros/latex-dev/required/tools/longtable.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/manifest.txt b/macros/latex-dev/required/tools/manifest.txt
index 004245d1d5..c07b6cd831 100644
--- a/macros/latex-dev/required/tools/manifest.txt
+++ b/macros/latex-dev/required/tools/manifest.txt
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2024
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
@@ -49,7 +49,7 @@ bm.dtx
Access bold math symbols.
calc.dtx
- Infix arithmetic expresions. Contributed to the distribution by
+ Infix arithmetic expressions. Contributed to the distribution by
Kresten Krab Thorup and Frank Jensen.
enumerate.dtx
@@ -60,7 +60,7 @@ fileerr.dtx
missing file error loop.
fontsmpl.dtx
- Package and test file for producing `font samples'
+ Package and test file for producing `font samples'.
ftnright.dtx
Place footnotes in the right hand column in two-column mode.
@@ -77,7 +77,7 @@ multicol.dtx
rawfonts.dtx
Preload fonts under the old internal font names of LaTeX2.09.
- Not recomended for new packages, but may help when updating old
+ Not recommended for new packages, but may help when updating old
files.
shellesc.dtx
@@ -103,7 +103,7 @@ verbatim.dtx
Flexible version of verbatim environment.
xr.dtx
- eXternall References. Extend \ref to access \label commands in
+ eXternal References. Extend \ref to access \label commands in
other documents.
xspace.dtx
diff --git a/macros/latex-dev/required/tools/multicol.dtx b/macros/latex-dev/required/tools/multicol.dtx
index 4d86448002..99f513097e 100644
--- a/macros/latex-dev/required/tools/multicol.dtx
+++ b/macros/latex-dev/required/tools/multicol.dtx
@@ -20,7 +20,7 @@
% \iffalse This is a METACOMMENT
%
%% Package `multicol' to use with LaTeX2e
-%% Copyright 1989-2023 Frank Mittelbach
+%% Copyright 1989-2024 Frank Mittelbach
%%
%% In addition to the terms of LPPL any distributed version
%% (unchanged or modified) of multicol has to keep the statement
@@ -77,7 +77,7 @@
%% not for the payment of a license fee per se (which might or might
%% not follow from this evaluation).
%%
-%% The license fee, if any, can be payed either to the LaTeX fund
+%% The license fee, if any, can be paid either to the LaTeX fund
%% (see ltx3info.txt in the base LaTeX distribution) or to the author of
%% the program who can be contacted at
%%
@@ -98,7 +98,7 @@
%<driver> \ProvidesFile{multicol.drv}
% \fi
% \ProvidesFile{multicol.dtx}
- [2024/05/23 v1.9h multicolumn formatting (FMi)]
+ [2024/07/01 v1.9h multicolumn formatting (FMi)]
%
%
%
@@ -403,12 +403,17 @@
% the most important is called |\tolerance|: this controls the
% allowed `looseness' (i.e.\ the amount of blank space between words).
% Its default value is 200 (the \LaTeX{} |\fussy|) which is too
-% small for narrow columns. On the other hand the |\sloppy|
-% declaration (which sets |\tolerance| to $10000=\infty$) is too
-% large, allowing really bad spacing.\footnote{Look at the next
-% paragraph, it was set with the \cs{sloppy} declaration.}
-%
-% \begin{sloppypar}
+% small for narrow columns.
+
+% Setting it to \texttt{10000} (a.k.a.\ $\infty$) means arbitrary bad
+% lines are possible. With that setting \LaTeX{} will make most lines
+% perfect but intermix them with really bad lines. This was the
+% setting originally used by \cs{sloppy} (nowadays it is a bit more
+% cautious and used \texttt{9999} which makes a huge
+% difference).\footnote{Look at the next paragraph, it was set with
+% the \cs{tolerance}\texttt{=10000}.}
+%
+% \begin{sloppypar}\tolerance=10000
% \DescribeMacro\multicoltolerance \DescribeMacro\multicolpretolerance
% We therefore use a |\multicoltolerance| parameter for the
% |\tolerance| value inside the \mc{} environment. Its default value
@@ -417,10 +422,10 @@
% be done outside the \mc{} environment. Since |\tolerance| is set
% to |\multicoltolerance| at the beginning of every \textsf{multicols}
% environment one can locally overwrite this default by assigning
-% \verb*+\tolerance = +\meta{desired value}. There also exists a
+% \cs{tolerance}\texttt{=}\meta{desired value}. There also exists a
% |\multicolpretolerance| parameter holding the value for
% |\pretolerance| within a \mc{} environment. Both parameters are
-% usually used only by package designers.
+% usually used only by package or class designers.
% \end{sloppypar}
%
% Generation of multicolumn output can be divided into two parts. In
@@ -679,7 +684,7 @@
% this value will additionally trace the mark handling
% algorithm. It will show what marks are found, what marks are
% considered, etc. To fully understand this information you will
-% probably have to read carefully trough the implementation.
+% probably have to read carefully through the implementation.
% \item[$\meta{number}\geq 4$.] Setting \meta{number}\pagebreak[2] to
% such a high value will additionally place an |\hrule| into your
% output, separating the part of text which had already been
@@ -1945,7 +1950,7 @@
% the balancing happened in the output routine then \TeX{} reverts
% to the |\prevdepth| that was current before the OR once the OR has
% finished. In short |\prevdepth| is something you can't set
-% globally it is alway local to the current list being built. Thus
+% globally it is always local to the current list being built. Thus
% we need to set it back to zero here to avoid incorrect spacing.
% \changes{v1.8h}{2014/09/12}{Set \cs{prevdepdth} for current vlist
% when returning from multicols environment}
@@ -2216,7 +2221,7 @@
% \begin{macro}{\multicolmindepthstring}
% The default minimum depth of each column corresponds to the depth
% of a `p' in the current font. This makes sense for Latin-based
-% languages and was hard-wired intitially, but for Asian languages
+% languages and was hard-wired initially, but for Asian languages
% it is better to use a zero depth (and alternatively one might
% want to use the depth of a strut or a parentheses). So we now
% offer a way to adjust this while maintaining backward
@@ -2462,7 +2467,7 @@
% If |\kept@firstmark| is non-empty then |\kept@botmark| must be
% non-empty too so we can use their values. Otherwise we use the
% value of |\kept@topmark| which was first initialized when we
-% gathered the |\partical@page| and later on was updated to the
+% gathered the |\partial@page| and later on was updated to the
% |\botmark| for the preceding page.
%
% \changes{v1.4a}{1992/02/14}{\cs{botmark} set to \cs{splitbotmark}}
@@ -2938,7 +2943,7 @@
% marks from this box. This has to be done \emph{before} we add a
% penalty of $-10000$ to the top of the box, otherwise only an
% empty box will be considered. But even that is not enough: the box
-% may contain \cs{columnbreak}s in which case doing some artifical
+% may contain \cs{columnbreak}s in which case doing some artificial
% splitting to get the marks out still fails to see all marks
% unless we take some special precaution in \cs{get@keptmarks}
% (which is now done).
diff --git a/macros/latex-dev/required/tools/multicol.pdf b/macros/latex-dev/required/tools/multicol.pdf
index 88f6d24fb9..3b740a6974 100644
--- a/macros/latex-dev/required/tools/multicol.pdf
+++ b/macros/latex-dev/required/tools/multicol.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/rawfonts.pdf b/macros/latex-dev/required/tools/rawfonts.pdf
index 4b70b5fb34..f56afeb117 100644
--- a/macros/latex-dev/required/tools/rawfonts.pdf
+++ b/macros/latex-dev/required/tools/rawfonts.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/shellesc.pdf b/macros/latex-dev/required/tools/shellesc.pdf
index 4a7b48325a..96693de02d 100644
--- a/macros/latex-dev/required/tools/shellesc.pdf
+++ b/macros/latex-dev/required/tools/shellesc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/showkeys.pdf b/macros/latex-dev/required/tools/showkeys.pdf
index bc179092e4..e9fd82c879 100644
--- a/macros/latex-dev/required/tools/showkeys.pdf
+++ b/macros/latex-dev/required/tools/showkeys.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/somedefs.pdf b/macros/latex-dev/required/tools/somedefs.pdf
index 350af16103..cdc2b30cb5 100644
--- a/macros/latex-dev/required/tools/somedefs.pdf
+++ b/macros/latex-dev/required/tools/somedefs.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tabularx.pdf b/macros/latex-dev/required/tools/tabularx.pdf
index 3a9261846c..e35268596a 100644
--- a/macros/latex-dev/required/tools/tabularx.pdf
+++ b/macros/latex-dev/required/tools/tabularx.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/theorem.dtx b/macros/latex-dev/required/tools/theorem.dtx
index a9c3ccae3e..3fbba473ba 100644
--- a/macros/latex-dev/required/tools/theorem.dtx
+++ b/macros/latex-dev/required/tools/theorem.dtx
@@ -24,7 +24,7 @@
%%
%
%
-\def\FMithmInfo{2023/07/05 v2.2c Theorem extension package (FMi)}
+\def\FMithmInfo{2024/08/06 v2.2c Theorem extension package (FMi)}
%
% \ProvidesFile{theorem.dtx}[\FMithmInfo]
%\iffalse % this is a METACOMMENT !
@@ -952,7 +952,6 @@
%
% \subsubsection{The \texttt{changebreak} style}
%
-% \begin{macrocode}
% This style option is stored in the file |thcb.sty|.
% \begin{macrocode}
%<*thcb>
diff --git a/macros/latex-dev/required/tools/theorem.pdf b/macros/latex-dev/required/tools/theorem.pdf
index ef3fde6039..f9244454d3 100644
--- a/macros/latex-dev/required/tools/theorem.pdf
+++ b/macros/latex-dev/required/tools/theorem.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tools-overview.pdf b/macros/latex-dev/required/tools/tools-overview.pdf
index fc09cbdfb7..f92bdfdd28 100644
--- a/macros/latex-dev/required/tools/tools-overview.pdf
+++ b/macros/latex-dev/required/tools/tools-overview.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tools-overview.tex b/macros/latex-dev/required/tools/tools-overview.tex
index 54f4b5ed63..3d45a5e2fc 100644
--- a/macros/latex-dev/required/tools/tools-overview.tex
+++ b/macros/latex-dev/required/tools/tools-overview.tex
@@ -132,7 +132,7 @@
Access bold math symbols.
}%
\entry{calc}{%
- Infix arithmetic expresions. Contributed to the distribution by
+ Infix arithmetic expressions. Contributed to the distribution by
Kresten Krab Thorup and Frank Jensen.
}%
\entry{dcolumn}{%
@@ -149,7 +149,7 @@
missing file error loop.
}%
\entry{fontsmpl}{%
- Package and test file for producing \emph{font samples}
+ Package and test file for producing \emph{font samples}.
}%
\entry{ftnright}{%
Place footnotes in the right hand column in two-column mode.
@@ -173,7 +173,7 @@
}%
\entry{rawfonts}{%
Preload fonts under the old internal font names of \LaTeX{}2.09.
- Not recomended for new packages, but may help when updating old
+ Not recommended for new packages, but may help when updating old
files.
}%
\entry{shellesc}{%
@@ -206,7 +206,7 @@
Flexible version of verbatim environment.
}%
\entry{xr}{%
- eXternall References. Extend \cs{ref} to access \cs{label} commands in
+ eXternal References. Extend \cs{ref} to access \cs{label} commands in
other documents.
}%
\entry{xspace}{%
diff --git a/macros/latex-dev/required/tools/trace.pdf b/macros/latex-dev/required/tools/trace.pdf
index 986e0b9765..336007ba1e 100644
--- a/macros/latex-dev/required/tools/trace.pdf
+++ b/macros/latex-dev/required/tools/trace.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/varioref.pdf b/macros/latex-dev/required/tools/varioref.pdf
index 3888f90501..45ccb23775 100644
--- a/macros/latex-dev/required/tools/varioref.pdf
+++ b/macros/latex-dev/required/tools/varioref.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/verbatim.pdf b/macros/latex-dev/required/tools/verbatim.pdf
index 6158390d2b..60e64211fa 100644
--- a/macros/latex-dev/required/tools/verbatim.pdf
+++ b/macros/latex-dev/required/tools/verbatim.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/xr.pdf b/macros/latex-dev/required/tools/xr.pdf
index 1c051e4a12..bfa10f5403 100644
--- a/macros/latex-dev/required/tools/xr.pdf
+++ b/macros/latex-dev/required/tools/xr.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/xspace.pdf b/macros/latex-dev/required/tools/xspace.pdf
index cacc2639aa..3eeaa8c7c9 100644
--- a/macros/latex-dev/required/tools/xspace.pdf
+++ b/macros/latex-dev/required/tools/xspace.pdf
Binary files differ
diff --git a/macros/latex/contrib/abraces/README.md b/macros/latex/contrib/abraces/README.md
index b26a225d8c..5234134d05 100644
--- a/macros/latex/contrib/abraces/README.md
+++ b/macros/latex/contrib/abraces/README.md
@@ -1,11 +1,11 @@
-`abraces` 2022/11/06 v2.1
+`abraces` 2024/08/02 v2.2
----------------------------------------
A package that provides a character key-driven interface to
supplement new constructions of the traditional `\overbrace`
and `\underbrace` pairs in an asymmetric or arbitrary way.
-Copyright (c) 2021 Werner Grundlingh
+Copyright (c) 2024 Werner Grundlingh
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/abraces/abraces-doc.pdf b/macros/latex/contrib/abraces/abraces-doc.pdf
index c0becaadde..a2161dafb5 100644
--- a/macros/latex/contrib/abraces/abraces-doc.pdf
+++ b/macros/latex/contrib/abraces/abraces-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/abraces/abraces-doc.tex b/macros/latex/contrib/abraces/abraces-doc.tex
index 970cf74eab..04178c2de7 100644
--- a/macros/latex/contrib/abraces/abraces-doc.tex
+++ b/macros/latex/contrib/abraces/abraces-doc.tex
@@ -1,4 +1,4 @@
-% $Id: abraces-doc.tex,v 2.1 2022/11/06 00:00:00 wgrundlingh stable $
+% $Id: abraces-doc.tex,v 2.2 2024/08/02 00:00:00 wgrundlingh stable $
\RequirePackage{xcolor}% http://ctan.org/pkg/xcolor (required to "overload" color package)
\documentclass[10pt]{ltxdockit}[2011/03/25]
@@ -7,7 +7,7 @@
\usepackage{booktabs,shortvrb,amsmath,xfp}
\MakeShortVerb{\|}
-\rcsid{$Id: abraces.tex,v 2.1 2022/11/06 00:00:00 wgrundlingh stable $}
+\rcsid{$Id: abraces.tex,v 2.2 2024/08/02 00:00:00 wgrundlingh stable $}
%\setcounter{secnumdepth}{2}
%\setcounter{tocdepth}{4}
@@ -305,11 +305,18 @@ This material is released under and subject to the \href{https://latex-project.o
\section{Acknowledgements}
-Thanks to Frank Mittlebach who stepped in and suggested an improvement in the original way \sty{abraces} functioned. Expansions included the use of \LaTeX3 command interface (via the \href{http://ctan.org/pkg/xparse}{\sty{xparse} package}).
+Thanks to Frank Mittlebach who stepped in and suggested an improvement in the original way \sty{abraces} functioned. Expansions included the use of \LaTeX3 command interface.
\section{Change log}
\begin{itemize}
+ \item v2.2 (2024-08-02) Minor update
+
+ \begin{itemize}
+ \item
+ Added \href{http://ctan.org/pkg/xcolor}{\sty{xcolor}} dependency to always have \lstinline|\bracecolor| available.
+ \end{itemize}
+
\item v2.1 (2022-11-06) Minor update
\begin{itemize}
diff --git a/macros/latex/contrib/abraces/abraces.sty b/macros/latex/contrib/abraces/abraces.sty
index af146826ce..3b096e7ab7 100644
--- a/macros/latex/contrib/abraces/abraces.sty
+++ b/macros/latex/contrib/abraces/abraces.sty
@@ -1,5 +1,5 @@
%% abraces.sty
-%% Copyright 2021 Werner Grundlingh
+%% Copyright 2024 Werner Grundlingh
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -16,9 +16,12 @@
% This work consists of the file abraces.sty.
\ProvidesPackage{abraces}% http://ctan.org/pkg/abraces
- [2022/11/06 v2.1 Arbitrary and asymmetric braces]
+ [2024/08/02 v2.2 Arbitrary and asymmetric braces]
+% xparse definitions now form part of the LaTeX core. However, keeping this in for those using older versions.
\RequirePackage{xparse}
+% Since abraces defines \bracecolor, add xcolor as dependency
+\RequirePackage{xcolor}
\newif\if@overload
\DeclareOption{overload}{\@overloadtrue}
diff --git a/macros/latex/contrib/asmeconf/README.md b/macros/latex/contrib/asmeconf/README.md
index 2c07a04b9b..d01de1897f 100644
--- a/macros/latex/contrib/asmeconf/README.md
+++ b/macros/latex/contrib/asmeconf/README.md
@@ -1,7 +1,7 @@
#asmeconf: A latex template for ASME conference papers#
- Version 1.37 dated 2024/02/06.
+ Version 1.38 dated 2024/08/01.
####Overview####
This class provides a LaTeX template for ASME Conference papers formatted according to
@@ -80,23 +80,37 @@
####Change log####
+ v1.38 (2024/08/01)
+ - Add dcolumn type ",{x.y}" to center numbers on a comma separator
+ - Change appendix section titles block format, rather than hanging indentation
+ - Replace sample French appendix by a German appendix
+ - Fix bug in \[main=\] option (for babel)
+ - Define commands \\@title and \\@author
+ - Code clean-up (compatibility code, bookmark package loading, twocolumn loading,...)
+ - Various code changes to better support future tagged pdf
+ - Update documentation for using fontspec with asmeconf
+ - Rescale Termes, Helvetica, and Inconsolata fontdimens under LuaLaTeX to match pdfTeX
+ - Add logic to asme-template.tex to test for presence of non-latin fonts under LuaLaTeX
+ - Change code for Japanese fonts to by-pass bug in luatexja-fontspec
+ - Correct typo in babel font loading for traditional Chinese
+ - Remove calls for Harfbuzz renderer since fontspec handles this internally
+
v1.37 (2024/02/06)
- - Under luaLaTeX, fontspec is now loaded by default. The option [nofontspec] will prevent this.
- - Eliminate the following long-deprecated options: [oldauthor, lang, lang-second, lang-third]
- - newtxtext has removed the superiors font options (Jan 2024). As a result, the option [nodefaultsups] has been removed from asmeconf, along with supporting code
+ - Under LuaLaTeX, fontspec is now loaded by default. The option \[nofontspec\] will prevent this.
+ - Eliminate the following long-deprecated options: \[oldauthor, lang, lang-second, lang-third\]
+ - newtxtext has removed the superiors font options (Jan 2024). As a result, the option \[nodefaultsups\] has been removed from asmeconf, along with supporting code
- Streamline code for option handling and compatibility testing; other code clean-up
- Switch code handling successive footnotes to expl3, adjust intersecting code
- Small code changes to accommodate future tagged pdf
- Refresh sample figures, edit sample bib file
- Edits to asmeconf.bst: fix punctuation and spacing in journal title macros
-
-
+
v1.36 (2023/12/28)
- Change option-passing to xcolor package to address recent changes that package's code which lead to an error message.
v1.35 (2023/10/19)
- Adjust pdf-a code to accommodate recent changes to hyperxmp package. NOTE: \\DocumentMetadata{ ..} is now preferred to using class option [pdf-a].
- - Add option to not use boldface text in captions: [unboldcaption]
+ - Add option to not use boldface text in captions: \[unboldcaption\]
- Add mathversion sans for sans-serif math and set as default in unbolded captions
v1.34 (2022/12/30)
@@ -131,7 +145,7 @@
v1.27 (2021/12/26):
- fix bug in captions that appeared in Jan. 2021 (code not uppercasing caption text)
- revise code to switch to grid-style author block through a single package option, \[grid\]; previous macros for grid-style remain active.
- - various code modifications to enable older LaTeX distributions to run this class. With pdfLaTeX, TeX Live 2016 or later should be used; with luaLaTeX, TeX Live 2021 or later should be used.
+ - various code modifications to enable older LaTeX distributions to run this class. With pdfLaTeX, TeX Live 2016 or later should be used; with LuaLaTeX, TeX Live 2021 or later should be used.
- eliminate use of \\entry{} with a single argument to produce subheadings in nomenclature; use \\EntryHeading{} instead. (**not backward compatible**)
- incorporate recent changes to LaTeX pdf management in relation to pdf-a color profile loading and recently deprecated \\pdfcatalog command
- minor edits in relation to url links
diff --git a/macros/latex/contrib/asmeconf/asmeconf-sample.bib b/macros/latex/contrib/asmeconf/asmeconf-sample.bib
index 158b0f0081..66b2a356cf 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-sample.bib
+++ b/macros/latex/contrib/asmeconf/asmeconf-sample.bib
@@ -1,6 +1,6 @@
%% Sample bibliography file for asmeconf.bst and asmeconf.cls
%%
-%% Revised 25 January 2024
+%% Revised 26 July 2024
%% Copyright John H. Lienhard, MIT
%% Offered under the MIT license: https://ctan.org/license/mit
@@ -212,6 +212,18 @@
urldate = {January 18, 2021},
}
+@article{pohlhausen1921,
+ author = {Pohlhausen, E.},
+ title = {Der {W}\"{a}rmeaustausch zwischen festen K\"{o}rpern und {F}l\"{u}ssigkeiten mit kleiner reibung und kleiner {W}\"{a}rmeleitung},
+ journal = {Zeitschrift f\"{u}r {A}ngewandte {M}athematik und {Me}chanik},
+ volume = {1},
+ number = {2},
+ pages = {115--121},
+ doi = {10.1002/zamm.19210010205},
+ year = {1921},
+}
+%url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/zamm.19210010205},
+
@book{fourier1822,
author = {Jean Baptiste Joseph Fourier},
year = {1822},
diff --git a/macros/latex/contrib/asmeconf/asmeconf-template.pdf b/macros/latex/contrib/asmeconf/asmeconf-template.pdf
index 0e628963d3..8e3eefb516 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-template.pdf
+++ b/macros/latex/contrib/asmeconf/asmeconf-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmeconf/asmeconf-template.tex b/macros/latex/contrib/asmeconf/asmeconf-template.tex
index 84eecfb071..a325b89357 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-template.tex
+++ b/macros/latex/contrib/asmeconf/asmeconf-template.tex
@@ -4,7 +4,7 @@
%% This file is asmeconf-template.tex, a LaTeX template to format ASME Conference papers according to
%% the requirements on ASME's conference web pages, and including hypertext support for the pdf.
%%
-%% This file is version 1.37 dated 2024/02/06
+%% This file is version 1.38 dated 2024/08/01
%%
%% As of version 1.11, this template defaults to ASME's newer conference guidelines first posted July 2019.
%% Those guidelines changed the requested author block formatting to be inline.
@@ -71,8 +71,8 @@
%% * See Appendix B for details.
%% * Language support is most extensive when running LuaLaTeX, which automatically loads fontspec, but
%% * be aware that you may to install additional fonts on your system to use fontspec.
-%% *
-%% * To use LuaLaTeX without bothering about extra fonts, use the [nofontspec] option to asmeconf.
+%%
+%% * Option to use LuaLaTeX **without** bothering about extra fonts, [nofontspec]
%%
%% The use of commands defined or modified by the asmeconf class is illustrated throughout this file. In particular,
%% ASME requires capitalized, sans-serif section headings, and as a result some care is needed when using macros
@@ -93,13 +93,13 @@
%% STRONGLY RECOMMENDED new pdf management code follows.
%% This addition the LaTeX kernel was made in June 2022 by the LaTeX Project team.
%% https://www.latex-project.org/news/latex2e-news/ltnews35.pdf
-%% Uncomment the next lines and omit the option [pdf-a] from \documentclass[...]{asemconf}
+%% If this doesn't work for you, comment out the next lines and add option [pdf-a] to \documentclass[...]{asmeconf}
-%\DocumentMetadata{%
-% pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
-% pdfversion=1.7,
-% lang=en-US,
-%}
+\DocumentMetadata{%
+ pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
+ pdfversion=1.7,
+ lang=en-US,
+}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -108,7 +108,7 @@
%% Remove the [colorlinks] option before *final* submission to ASME, to get black text for printing,
%% but keep that option for other uses.
-\documentclass[pdf-a,balance,colorlinks,upint,subscriptcorrection,varvw,mathalfa=cal=boondoxo, spanish,french,vietnamese,russian,greek]{asmeconf}
+\documentclass[balance,colorlinks,upint,subscriptcorrection,varvw,mathalfa=cal=boondoxo, german,spanish,vietnamese,russian,greek]{asmeconf}
%%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -121,6 +121,7 @@
pdflicenseurl={https://ctan.org/pkg/asmeconf},% may delete
}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
@@ -154,7 +155,7 @@
% \JointFirstAuthor, if applicable, follows the affiliation of the relevant authors, no spaces.
\SetAuthors{%
- John H.\ Lienhard\affil{1}\JointFirstAuthor\CorrespondingAuthor{},
+ John H. Lienhard\affil{1}\JointFirstAuthor\CorrespondingAuthor{},
Luis Hern\'andez\affil{2}\JointFirstAuthor,
Maria Silva\affil{3},
Henry Tudor\affil{4},
@@ -183,7 +184,6 @@
%%%%% End of fields to be completed. Now write your paper. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%% ABSTRACT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Abstract should be 200 words or less
@@ -314,16 +314,18 @@ Run 12 & 24 & 68.3 \\
%%%%%%%%%%%%%%% begin more complicated table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% note column set as a 3 cm wide paragraph with 1em hanging indentation. See array package documentation.
+% note numbers centered on "." (with d{3.3}) and on "," (with ,{3.3}). See dcolumn package documentation.
\begin{table}[t]
\caption{Table with more complicated columns}\label{tab:2}%
\centering{%
-\begin{tabular}{!{\hspace*{0.5cm}} >{\raggedright\hangindent=1em} p{3cm} d{3.3} @{\hspace*{1cm}} d{3.3} !{\hspace*{0.5cm}}}
+\begin{tabular}{!{\hspace*{0.5cm}} >{\raggedright\hangindent=1em} p{3cm} d{3.3} @{\hspace*{1cm}} ,{3.3} !{\hspace*{0.5cm}}}
\toprule
Experiment & \multicolumn{1}{c@{\hspace*{1cm}}}{$u$ [m/s]} & \multicolumn{1}{c!{\hspace*{0.5cm}}}{$T$ [\textdegree C]} \\
\midrule
-The first test we ran this morning & 124.3 & 68.3 \\
-The second test we ran this morning & 82.50 & 103.46 \\
-Our competitor's test & 72.321 & 141.384 \\
+The first test we ran this morning & 124.3 & 68,3 \\
+The second test we ran this morning & 82.50 & 103,46 \\
+Our competitor's test & 72.321 & 141,384 \\
\bottomrule
\end{tabular}
}
@@ -444,7 +446,7 @@ Math italics are used for Roman and Greek letters by default. If you want an up
\begin{equation}\label{eqn:dw}
\vec{F} = m \vec{a} \quad\textrm{or}\quad \vec{\mathrm{F}} = m \vec{\mathrm{a}} \quad\textrm{or}\quad \mathbf{F} = m \mathbf{a} \quad\textrm{or}\quad \vec{\mathsf{F}} = m \vec{\mathsf{a}}
\end{equation}
-To get additional symbols in bold math, use the \verb|\bm{..}| macro from the \texttt{bm} package (which is loaded by the class) or, for longer passages, use \verb|{\mathversion{bold}|\ldots\texttt{\}}.
+To get additional symbols in bold math, use the \verb|\bm{..}| macro from the \texttt{bm} package (which is loaded by the class) or, for longer passages, use \verb|{\mathversion{bold}..|\texttt{\}}.
The class file also provides upright sans-serif Greek letters with \verb|\sfalpha| and similar expressions (e.g., $\sfalpha, \sfbeta, \sfgamma, \sfdelta$ \ldots $\bm{\sfalpha, \sfbeta, \sfgamma, \sfdelta \ldots}$), in case they are needed (but note that the \verb|newtxmath| options \verb|frenchmath| and \verb|slantedGreek| also affect how Greek letters are presented).
@@ -555,7 +557,9 @@ The \hologo{LuaLaTeX} engine is useful with \texttt{asmeconf} in two situations:
\item \textbf{Executing lua code directly in your \LaTeX\ file.} With lua code, complicated functions can be plotted or numerical integration can be executed. An example file in the distribution demonstrates this capability~\cite{lienhard2024}. In this situation, \textit{be sure to use the class option} \texttt{[nofontspec]}, so that you won't need to install additional fonts on your computer.
-\item \textbf{Using complex alphabets.} With \hologo{pdfLaTeX}, the \texttt{asmeconf} package supports Latin alphabets, as well as Cyrillic, Greek, and Vietnamese. If you need scripts such as Arabic, Chinese, or Japanese, \hologo{LuaLaTeX} with the \texttt{fontspec} package can use fonts installed in your computer operating system. See the example file in this distribution for more details~\cite{lienhard2021}.
+\item \textbf{Using complex alphabets.} With \hologo{pdfLaTeX}, the \texttt{asmeconf} package supports Latin alphabets, as well as Cyrillic, Greek, and Vietnamese. If you need scripts such as Arabic, Chinese, or Japanese, \hologo{LuaLaTeX} with the \texttt{fontspec} package can use fonts installed in your computer operating system.\footnote{For English, you \textit{must} have these fonts installed:\par \parbox{\columnwidth}{\setlength{\parindent}{12pt}TeX Gyre Termes (\hrefurl{https://ctan.org/tex-archive/fonts/newtx/opentype}{ctan.org/tex-archive/fonts/newtx/opentype}),\par TeX~Gyre~Heros (\hrefurl{https://ctan.org/tex-archive/fonts/tex-gyre/opentype}{ctan.org/tex-archive/fonts/tex-gyre/opentype}),\par
+Inconsolatazi4 (\hrefurl{https://ctan.org/tex-archive/fonts/inconsolata/opentype}{ctan.org/tex-archive/fonts/inconsolata/opentype}).}} See the example file in this distribution for more details~\cite{lienhard2021}.
+
\end{description}
@@ -572,9 +576,10 @@ abstract in another language.
When more than one language option is included in \verb|\documentclass[..]{asmeconf}|, English will be
set as the document's main language. (To choose a different main language, set \texttt{[main=..]}).
-If no language options are given, the package defaults to English. As examples, a passage in French is
-shown in \selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english}, followed by
-\ifpdftex abstracts in Spanish, Greek, Russian, and Vietnamese.\else abstracts in other languages.\fi
+If no language options are given, the package defaults to English. As examples, a passage in German is
+shown in \selectlanguage{german}\appendixname~\ref{app:pohlhausen}\selectlanguage{german},
+%\selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english},
+followed by \ifpdftex abstracts in Spanish, Greek, Russian, and Vietnamese.\else abstracts in other languages.\fi
The input encoding can be utf-8, as for these glyphs:
%% If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue.
@@ -588,12 +593,18 @@ The bibliography style, \texttt{asmeconf.bst}, is designed in English and aimed
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{selectlanguage}{french}%
-\section{Discours Préliminaire de Fourier}\label{app:fourier}
-Les causes primordiales ne nous sont point con­nues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'obser­vation, et dont l'étude est l'objet de la philosophie naturelle.
-
-La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élé­ment. Cette théorie formera désormais une des branches les plus importantes de la physique gé­nérale~\cite{fourier1822}.
+\begin{selectlanguage}{german}%
+\section{Wärmeaustausch und Reibungswiderstand (\NoCaseChange{von} E. Pohlhausen)}\label{app:pohlhausen}
+In einer strömenden Flussigkeit sind Wärmeleitung und Wärmekonvektion Vorgänge, die mit der inneren Reibung (oder Impulsleitung) und mit der Impulskonvektion große Aehnlichkeit besitzen. Mathematisch findet dies seinen Ausdruck in dem gleichartigen Bau der Differentialgleichungen, die einerseits für die Temperatur und anderseits für den Geschwindigkeitsvektor in der Flüssigkeit bestehen. Man kann daraus auf eine Beziehung
+zwischen dem Wärmeaustanch und dem Reibungswiderstand schließen, die eine strömende Flüssigkeit an einem festen Körper hervorrufen. Dies ist zuerst von Prandtl ausgesprochen und durchgeführt worden, und zwar für turbulente Vorgänge, unter der vereinfachenden Annahme von Wärmequellen und -senken im Innern der Flüssigkeit~\cite{pohlhausen1921}.
\end{selectlanguage}%
+
+%\begin{selectlanguage}{french}%
+%\section{Discours Préliminaire de Fourier}\label{app:fourier}
+%Les causes primordiales ne nous sont point con­nues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'obser­vation, et dont l'étude est l'objet de la philosophie naturelle.
+%
+%La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élé­ment. Cette théorie formera désormais une des branches les plus importantes de la physique gé­nérale~\cite{fourier1822}.
+%\end{selectlanguage}%
\begin{selectlanguage}{spanish}%
\begin{abstract*}
@@ -625,19 +636,25 @@ Este es el resumen del artículo. Escribimos en español. Se describen el proble
\end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
\fi
-\iffontspecloaded %%% requires lualatex
+\iffontspecloaded %%% These passages require using lualatex AND installing the mentioned fonts as system fonts on your computer.
%
- \begin{selectlanguage}{greek}%
- \begin{abstract*}
- Αυτή είναι η περίληψη του άρθρου. Χρησιμοποιούμε την ελληνική γλώσσα. Περιγράφεται το πρόβλημα, οι μέθοδοι και τα αποτελέσματα. Περιλαμβάνονται επίσης αναφορές.
- \end{abstract*}
- \end{selectlanguage}% Edited by George Barbastathis
-%
- \begin{selectlanguage}{russian}
- \begin{abstract*}
- Это резюме статьи. Пишем по русски. Описаны проблема, методы и результаты. Библиография также включена.%
- \end{abstract*}
- \end{selectlanguage}% edited by Steven Gerasimoff
+ \IfFontExistsTF{NotoSans}{
+ \IfFontExistsTF{NotoSerif}{
+ %
+ \begin{selectlanguage}{greek}%
+ \begin{abstract*}
+ Αυτή είναι η περίληψη του άρθρου. Χρησιμοποιούμε την ελληνική γλώσσα. Περιγράφεται το πρόβλημα, οι μέθοδοι και τα αποτελέσματα. Περιλαμβάνονται επίσης αναφορές.
+ \end{abstract*}
+ \end{selectlanguage}% Edited by George Barbastathis
+ %
+ \begin{selectlanguage}{russian}
+ \begin{abstract*}
+ Это резюме статьи. Пишем по русски. Описаны проблема, методы и результаты. Библиография также включена.%
+ \end{abstract*}
+ \end{selectlanguage}% edited by Steven Gerasimoff
+ %
+ }{\ClassWarning{\ClassName}{I can't find NotoSerif.ttf, which is needed for Greek and Russian language text. Please install that font.}}
+ }{\ClassWarning{\ClassName}{I can't find NotoSans.ttf, which is needed for Greek and Russian language text. Please install that font.}}
%
\begin{selectlanguage}{vietnamese}
\begin{abstract*}
@@ -645,24 +662,41 @@ Este es el resumen del artículo. Escribimos en español. Se describen el proble
\end{abstract*}
\end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
%
-% \begin{selectlanguage}{japanese}% Use class option [japanese] if you uncomment this passage.
-% \begin{abstract*}
-% % 論文の要約です。日本語で記述します。問題、方法、および結果について説明します。また、参考文献も含めます。
-% この論文の日本語での要約は以下のとおりです。問題、方法、および結果が説明されています。参考資料も添付してあります。
-% \end{abstract*}
-% \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto
%
- \begin{selectlanguage}{korean}
- \begin{abstract*}
- 이것은 한국어로 쓰인 논문의 초록입니다. 문제, 방법 및 결과가 설명되어 있습니다. 참조도 포함됩니다.
- \end{abstract*}
- \end{selectlanguage}% Edited by Hyung Won Chung.
+%% Use class option [japanese] if you uncomment this passage.
+% \IfFontExistsTF{NotoSerifCJKjp}{%
+% \IfFontExistsTF{NotoSansCJKjp}{%
+% %
+% \begin{selectlanguage}{japanese}
+% \begin{abstract*}
+% % 論文の要約です。日本語で記述します。問題、方法、および結果について説明します。また、参考文献も含めます。
+% この論文の日本語での要約は以下のとおりです。問題、方法、および結果が説明されています。参考資料も添付してあります。
+% \end{abstract*}
+% \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto
+% %
+% }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKjp, which is needed for Japanese language text. Please install that font.}}
+% }{\ClassWarning{\ClassName}{I can't find NotoSansCJKjp, which is needed for Japanese language text. Please install that font.}}
%
- \begin{selectlanguage}{chinese-simplified}
- \begin{abstract*}
- 这是文章的摘要。我们用中文书写,描述了问题,方法和结果,还包括了参考文献。
- \end{abstract*}
- \end{selectlanguage}% edited by Zi Hao Foo
+ \IfFontExistsTF{NotoSansCJKkr}{%
+ \IfFontExistsTF{NotoSerifCJKkr}{%
+ %
+ \begin{selectlanguage}{korean}
+ \begin{abstract*}
+ 이것은 한국어로 쓰인 논문의 초록입니다. 문제, 방법 및 결과가 설명되어 있습니다. 참조도 포함됩니다.
+ \end{abstract*}
+ \end{selectlanguage}% Edited by Hyung Won Chung.
+ %
+ }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKkr.otf, which is needed for Korean language text. Please install that font.}}
+ %
+ \IfFontExistsTF{NotoSerifCJKsc}{%
+ \begin{selectlanguage}{chinese-simplified}
+ \begin{abstract*}
+ 这是文章的摘要。我们用中文书写,描述了问题,方法和结果,还包括了参考文献。
+ \end{abstract*}
+ \end{selectlanguage}% edited by Zi Hao Foo
+ %
+ }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKsc.otf, which is needed for Korean language text. Please install that font.}}
+ }{\ClassWarning{\ClassName}{I can't find NotoSansCJK.ttf, which is needed for Korean and simplified Chinese text. Please install that font.}}
%
\fi
diff --git a/macros/latex/contrib/asmeconf/asmeconf.cls b/macros/latex/contrib/asmeconf/asmeconf.cls
index 186e5d4941..82ccbc2614 100644
--- a/macros/latex/contrib/asmeconf/asmeconf.cls
+++ b/macros/latex/contrib/asmeconf/asmeconf.cls
@@ -5,8 +5,8 @@
%% ASME conference requirements as represented on ASME's conference web pages in 2024.
%%
%% This file's version and date:
- \def\versionno{1.37}
- \def\versiondate{2024/02/06\space}
+ \def\versionno{1.38}
+ \def\versiondate{2024/08/01\space}
%%
%% Author: John H. Lienhard, V
%% Department of Mechanical Engineering
@@ -23,7 +23,7 @@
%% 6. Provide line numbers for editing and review
%% 7. Support balancing length of columns on last page
%% 8. Provide copyright footer for federal employees and contractors
-%% 9. Support the archival PDF/A standards 1b, 2b, 2u, 3b, and 3u
+%% 9. Support archival PDF/A standards
%% 10. Enable various math and text features from the newtxmath and newtxtext packages
%% 11. Support inclusion of passages in languages other than English
%%
@@ -66,74 +66,76 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{asmeconf}[\versiondate ASME Conference Paper LaTeX Template (JHL)]
-\LoadClass[twoside,twocolumn,10pt]{article}
+\LoadClass[twoside,10pt]{article}% twocolumn is initiated in \MakeTitle
% Even/odd page layout is not used in ASME's specs, although the papers are printed in two-sided format.
\RequirePackage{iftex}% provides \ifpdftex (many) & \ifluatex (once)
\RequirePackage{ifthen}% ifthenelse (many) & \whiledo (once)
-\RequirePackage{etoolbox}% using patchcmd in 4 places
+\RequirePackage{etoolbox}% using patchcmd in 4 or 5 places
+\ExplSyntaxOn
+ \str_const:Nn \ClassName {asmeconf}
+\ExplSyntaxOff
+
+%%%%%%%%%%%%% Compatibility codes for older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%% Test compatibility of older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% compare version to date; \If... added to latex 2020/10/01
+\providecommand\IfPackageAtLeastTF{\@ifpackagelater}% compare version to date; \If... added to latex 2020/10/01
+\providecommand\IfPDFManagementActiveTF{\@secondoftwo}% \If... added to latex 2021/07/23
+\providecommand\IfPackageLoadedTF{\@ifpackageloaded}% \If...added to latex 2021/11/15
+\providecommand\ClassNoteNoLine[2]{\typeout{^^JClass Note #1: #2.^^J}}% log & terminal note... added to latex 2021/11/15
-\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% compare version to date; \If... added to latex 2020/10/01
-\providecommand\IfPackageAtLeastTF{\@ifpackagelater}% compare version to date; \If... added to latex 2020/10/01
-\providecommand\IfPackageLoadedTF{\@ifpackageloaded}% \If...added to latex 2021/11/15
+\IfFormatAtLeastTF{2020/10/01}{\relax}{%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. Formats dated 2020/10/01 or later are recommended for the asmejour class. Older formats and packages may generate errors or fail entirely!}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past the errors for now.}%
+}
+
+% check whether pdfmanagement (\DocumentMetadata) has been loaded (else fall back to hyperxmp and bookmark packages after loading hyperref)
+\newif\ifasme@pdfmanagement
+\IfPDFManagementActiveTF{
+ \asme@pdfmanagementtrue
+}{
+ \asme@pdfmanagementfalse
+ \ClassWarningNoLine{\ClassName}{pdfmanagement is not active. Will load hyperxmp and bookmark packages instead}
+}
-\IfFormatAtLeastTF{2020/10/01}{%
- \ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020/10/01 or later are strongly recommended for best results}
- }{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2020/10/01 or later are recommended for the asmejour class. Older formats and packages may generate errors or fail entirely!}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past the errors for now.}%
+% Allow pre 2021/11/15 formats to see the graphicx alt key without causing an error
+\IfFormatAtLeastTF{2021/11/15}{
+ \relax
+}{
+ \AtBeginDocument{
+ \IfPackageLoadedTF{graphicx}{\define@key{Gin}{alt}{}}{\relax}
+ }
}
+% Enable pre-2020/10 formats to access essential macros later moved into LaTeX kernel
\ifdefined\NewDocumentCommand\else
\RequirePackage{xparse}% enable older installations to access features in LaTeX kernel since 2020/10/01; but need at least 2018/04...
\fi
-\DeclareDocumentCommand\LogNote{m}{%
- \IfFormatAtLeastTF{2021/11/15}{%
- \ClassNoteNoLine{asmeconf}{#1}% Added to LaTeX in Nov. 2021
- }{%
- \ClassWarningNoLine{asmeconf}{#1}%
- }
+% Provide pre-2020/10 installations with basic unicode character mappings
+\IfFormatAtLeastTF{2020/10/01}{\relax}{%
+\ifpdftex
+ \pdfgentounicode=1 %% enable CMaps; was moved into the latex kernel Oct 2020
+ \input glyphtounicode.tex %% lists of mappings; was moved into the latex kernel Oct 2020
+\fi
}
\IfPackageAtLeastTF{iftex}{2019/11/07}{\relax}{%
- \ClassError{asemconf}{Package iftex is too old. Go to \string https://ctan.org and download an up-to-date version.}%
+ \ClassError{\ClassName}{Package iftex is too old. Go to \string https://ctan.org and download an up-to-date version.}{%
+ Your latex installation does not have an up-to-date version of the package iftex. You can get it at CTAN: \string https://ctan.org.}
}
-%% Test whether \DocumentMetadata has been loaded (Thank you Ulrike Fischer)
-\newif\if@asme@pdfmanagement
-% \IfPDFManagementActiveTF{\@asme@pdfmanagementtrue}{\@asme@pdfmanagementfalse}% New 2021/07/23, don't implement yet
-\ExplSyntaxOn
- \IfFormatAtLeastTF{2020/02/02}{%
- \bool_if:nTF
- {
- \bool_lazy_and_p:nn
- {\cs_if_exist_p:N \pdfmanagement_if_active_p:}
- { \pdfmanagement_if_active_p: }
- }
- {
- \@asme@pdfmanagementtrue
- }
- {
- \@asme@pdfmanagementfalse
- }
- }{\@asme@pdfmanagementfalse}
-\ExplSyntaxOff
-
-
%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{kvoptions}
\SetupKeyvalOptions{
- family=asmeconf,
+ family=\ClassName,
prefix=asmeconf@,
setkeys=\kvsetkeys,
}
%%% set key [colorlinks] to have colored hyperlinks, rather than black links (use a key with new pdfmanagement, 2021/12/01)
-\define@key{asmeconf}{colorlinks}[colorlinks]{%
+\define@key{\ClassName}{colorlinks}[colorlinks]{%
\PassOptionsToPackage{#1}{hyperref}%
}
@@ -182,12 +184,11 @@
\ifthenelse{\equal{#1}{\ac@main}}{\ac@cyrillictrue\def\ac@TtwoA{T2A}}{\relax}% comparing strings
}
-\define@key{asmeconf}{main}[english]{%
+\define@key{\ClassName}{main}{% remove default 2024/07/26, to avoid conflict with subsequent logic
\PassOptionsToPackage{main=#1,#1}{babel}% added #1 resolves conflict of russianb.ldf & ukrainianb.ldf under "main=".
\ac@mainsettrue
\ifthenelse{\equal{#1}{english}}{%
- \PassOptionsToPackage{pdflang=en}{hyperref}}{%
- \LogNote{Selecting #1 as the primary language}%
+ \ClassNoteNoLine{\ClassName}{Selecting #1 as the primary language}%
\ifthenelse{\equal{#1}{greek}}{%
\ac@greektrue
\def\ac@LGR{LGR}%
@@ -201,7 +202,7 @@
\@FindCyr{russian;belarusian;bulgarian;macedonian;serbianc;ukrainian}
}%
}
-\define@key{asmeconf}{vietnamese}[]{%
+\define@key{\ClassName}{vietnamese}[]{%
\RequirePackage[vietnamese=nohyphenation]{hyphsubst}% using key, not option, to allow loading package w/o babel warning.
\PassOptionsToPackage{vietnamese.noencoding}{babel}% modified.noencoding suppresses unnecessary warning about inputenc
\ac@vietnamesetrue
@@ -209,21 +210,20 @@
}
\DeclareDefaultOption{}% suppress warnings about unused options
-\ProcessKeyvalOptions{asmeconf}
+\ProcessKeyvalOptions{\ClassName}
-%% if main language was not chosen explicitly, default to English
+%% if main language was not chosen explicitly, ensure default to English
\ifac@mainset\relax\else
\PassOptionsToPackage{main=english}{babel}%
- \PassOptionsToPackage{pdflang=en}{hyperref}
- \ClassInfo{asmeconf}{Selecting English as the primary language, since main= not set}%
+ \ClassInfo{\ClassName}{Selecting English as the primary language, since main= not set}%
\fi
%% Turn off these keys now that we're done with them
-\def\@KeyFamily{asmeconf}
+\def\@KeyFamily{\ClassName}
\NewDocumentCommand\ac@DisableOption{m}{%
\DisableKeyvalOption[%
action=ignore,%
- class=asmeconf%
+ class=\ClassName%
]{#1}{\@KeyFamily}%
}
\NewDocumentCommand\@DisableKeys{>{\SplitList{;}}m}{\ProcessList{#1}{\ac@DisableOption}}
@@ -249,7 +249,7 @@
\ifpdftex
\PassOptionsToPackage{largesc=true}{newtxtext}% largesc is a boolean key in newtxtext
\else
- \ClassWarningNoLine{asmeconf}{largesc option is not available under luaLateX. It will be ignored}%
+ \ClassWarningNoLine{\ClassName}{largesc option is not available under luaLateX. It will be ignored}%
\fi
}
@@ -261,21 +261,23 @@
%% option to hyphenate the inconsolata typewriter font [hyphenate] and to issue a warning when that's done.
\DeclareOption{hyphenate}{%
\ifac@fontspec
- \ClassWarningNoLine{asmeconf}{hyphenate option is not supported by fontspec, will be ignored}%
+ \ClassWarningNoLine{\ClassName}{hyphenate option is not supported by fontspec. It will be ignored}%
\else
\PassOptionsToPackage{hyphenate}{inconsolata}% hyphenate is a key via xkeyval in inconsolata
- \LogNote{Allowing hyphenation of typewriter font}%
+ \ClassNoteNoLine{\ClassName}{Allowing hyphenation of typewriter font}%
\fi
}
%% option for monospacing in inconsolata typewriter font [mono].
+\def\MonoNotMono{WordSpace={1,1,1}}% rescaled tt font to match pdf, 2024/07/28
\DeclareOption{mono}{%
\ifac@fontspec
- \def\MonoNotMono{}%
+ \def\MonoNotMono{WordSpace={1,0,0},PunctuationSpace={3}}% NB: these are the default WordSpace values. 20204/07/30
\else
\PassOptionsToPackage{mono}{inconsolata}% mono is a key via xkeyval in inconsolata
\fi
}
%% option for unslashed zero in inconsolata typewriter font [var0].
+\def\ssztwo{}% for Inconsolatazi4; default uses slashed zero, +ss02 uses regular zero
\DeclareOption{var0}{%
\ifac@fontspec
\def\ssztwo{+ss02}% stylistic alternate for regular zero
@@ -296,7 +298,7 @@
\newif\ifac@setpdfa\ac@setpdfafalse
\newif\ifac@pdfaone\ac@pdfaonefalse
-\if@asme@pdfmanagement\else
+\ifasme@pdfmanagement\else
\SetupKeyvalOptions{
family=pdfaopt,
@@ -308,7 +310,7 @@
%%% set key [pdfa] to activate pdf/a compliance (default is pdf/A-3u)
\define@key{pdfaopt}{pdf-a}[true]{%
\IfFormatAtLeastTF{2018/12/01}{\relax}{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2018/12/01 or later are necessary for the [pdf-a] option. Older formats may generate errors}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Meanwhile, you can remove the [pdf-a] option and try again}%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. Formats dated 2018/12/01 or later are necessary for the [pdf-a] option. Older formats may generate errors}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Meanwhile, you can remove the [pdf-a] option and try again}%
}
\ac@setpdfatrue
\PassOptionsToPackage{pdfa}{hyperref}
@@ -344,7 +346,7 @@
%%%%%%%%%%%% PDF/A compliance related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\if@asme@pdfmanagement\else
+\ifasme@pdfmanagement\else
\ifpdftex
\ifac@pdfaone
\pdfminorversion=4 % for pdf/a-1 need version 4, not 7
@@ -353,7 +355,7 @@
\fi
\else
\ifluatex
- \ifac@setpdfa\ClassWarningNoLine{asmeconf}{pdf-a option requires pdfLaTeX engine. Under LuaLaTeX, use %
+ \ifac@setpdfa\ClassWarningNoLine{\ClassName}{pdf-a option requires pdfLaTeX engine. Under LuaLaTeX, use %
\protect\DocumentMetadata{pdfstandard=A-3b} before \protect\documentclass[..]{asmeconf}}%
\fi
\directlua{
@@ -367,7 +369,7 @@
end
}
\else
- \ClassError{asmeconf}{Please use either pdfLaTeX or LuaLaTeX}{This class has NOT been configured to support other engines, and the results will be unpredictable. Exit and rerun using either pdfLaTeX or LuaLaTeX.}%
+ \ClassError{\ClassName}{Please use either pdfLaTeX or LuaLaTeX}{This class has NOT been configured to support other engines, and the results will be unpredictable. Exit and rerun using either pdfLaTeX or LuaLaTeX.}%
\fi
\fi
\fi
@@ -381,19 +383,17 @@
\ifpdftex
\ifasmeconf@nofontspec
- \ClassWarningNoLine{asmeconf}{The [nofontspec] option requires LuaLaTeX. It will be ignored under pdfLaTeX}%
+ \ClassWarningNoLine{\ClassName}{The [nofontspec] option requires LuaLaTeX. It will be ignored under pdfLaTeX}%
\fi
\else
\ifasmeconf@nofontspec
- \ClassWarningNoLine{asmeconf}{The [nofontspec] option has been issued. LuaLaTeX will run without font support}%
+ \ClassWarningNoLine{\ClassName}{The [nofontspec] option has been issued. LuaLaTeX will run without font support}%
\else
\IfFormatAtLeastTF{2020/10/01}{%
\ac@fontspectrue
\fontspecloadedtrue
- \def\ssztwo{}% for Inconsolatazi4; default uses slashed zero, +ss02 uses regular zero
- \def\MonoNotMono{WordSpace={1,1.33,1.67}}% for Inconsolatazi4; default allows word spacing (is not mono)
}{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX installations dated 2020/10/01 or later are needed to run LuaLaTeX with the fontspec package. Fontspec will NOT be loaded. Language support will be minimal}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You may alternatively choose the [nofontspec] option.}%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX installations dated 2020/10/01 or later are needed to run LuaLaTeX with the fontspec package. Fontspec will NOT be loaded. Language support will be minimal}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You may alternatively choose the [nofontspec] option.}%
}
\fi
\fi
@@ -403,7 +403,7 @@
\PassOptionsToPackage{japanese}{babel}%
\ac@japanesetrue
\else
- \ClassWarningNoLine{asmeconf}{[japanese] option is supported only under LuaLaTeX with fontspec. It will be ignored}%
+ \ClassWarningNoLine{\ClassName}{[japanese] option is supported only under LuaLaTeX with fontspec. It will be ignored}%
\fi
}
@@ -426,23 +426,23 @@
% Several languages do not have .ldf files to load. Babel will call these on demand.
%
-\DeclareOption{arabic}{\ClassError{asmeconf}{Do not specify "arabic" as a class option}{Instead, give the option [bidi=basic] and specify "arabic" when you call the language within your document.}}
+\DeclareOption{arabic}{\ClassError{\ClassName}{Do not specify "arabic" as a class option}{Instead, give the option [bidi=basic] and specify "arabic" when you call the language within your document.}}
%
-\DeclareOption{bengali}{\ClassError{asmeconf}{Do not specify "bengali" as a class option}{Babel does not have an ldf file for Bengali. Instead, specify "bengali" when you call the language within your document. No class option is needed.}}
+\DeclareOption{bengali}{\ClassError{\ClassName}{Do not specify "bengali" as a class option}{Babel does not have an ldf file for Bengali. Instead, specify "bengali" when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{chinese-simplified}{\ClassError{asmeconf}{Do not specify "chinese-simplified" as class option}{Babel does not have an ldf file for simplified Chinese. Instead, specify "chinese-simplified" when you call the language within your document. No class option is needed.}}
+\DeclareOption{chinese-simplified}{\ClassError{\ClassName}{Do not specify "chinese-simplified" as class option}{Babel does not have an ldf file for simplified Chinese. Instead, specify "chinese-simplified" when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{chinese-traditional}{\ClassError{asmeconf}{Do not specify "chinese-traditional" as class option}{Babel does not have an ldf file for traditional Chinese. Instead, specify "chinese-traditional" when you call the language within your document. No class option is needed.}}
+\DeclareOption{chinese-traditional}{\ClassError{\ClassName}{Do not specify "chinese-traditional" as class option}{Babel does not have an ldf file for traditional Chinese. Instead, specify "chinese-traditional" when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{chinese}{\ClassError{asmeconf}{Do not specify "chinese" as a class option}{Instead, specify either "chinese-simplified" or "chinese-traditional" when you call the language within your document. No class option is needed.}}
+\DeclareOption{chinese}{\ClassError{\ClassName}{Do not specify "chinese" as a class option}{Instead, specify either "chinese-simplified" or "chinese-traditional" when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{hindi}{\ClassError{asmeconf}{Do not specify "hindi" as a class option}{Babel does not have an ldf file for Hindi. Instead, specify "hindi" when you call the language within your document. No class option is needed.}}
+\DeclareOption{hindi}{\ClassError{\ClassName}{Do not specify "hindi" as a class option}{Babel does not have an ldf file for Hindi. Instead, specify "hindi" when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{marathi}{\ClassError{asmeconf}{Do not specify "marathi" as a class option}{Babel does not have an ldf file for Marathi. Instead, specify "marathi" when you call the language within your document. No class option is needed.}}
+\DeclareOption{marathi}{\ClassError{\ClassName}{Do not specify "marathi" as a class option}{Babel does not have an ldf file for Marathi. Instead, specify "marathi" when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{korean}{\ClassError{asmeconf}{Do not specify "korean" as class option}{Babel does not have an ldf file for Korean. Instead, specify "korean"when you call the language within your document. No class option is needed.}}
+\DeclareOption{korean}{\ClassError{\ClassName}{Do not specify "korean" as class option}{Babel does not have an ldf file for Korean. Instead, specify "korean"when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{tamil}{\ClassError{asmeconf}{Do not specify "tamil" as a class option}{Babel does not have an ldf file for Tamil. Instead, specify "tamil" when you call the language within your document. No class option is needed.}}
+\DeclareOption{tamil}{\ClassError{\ClassName}{Do not specify "tamil" as a class option}{Babel does not have an ldf file for Tamil. Instead, specify "tamil" when you call the language within your document. No class option is needed.}}
%% Suppress warnings about unused global options
\DeclareOption*{}
@@ -462,23 +462,18 @@
\RequirePackage{graphicx} % removed obsolete options, 2023/11/19
\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}
-% Allow pre 2021/11/15 formats to see the graphicx alt key without causing an error, in preparation for tagged pdf
-\IfFormatAtLeastTF{2021/11/15}{
- \relax
-}{
- \AtBeginDocument{
- \IfPackageLoadedTF{graphicx}{\define@key{Gin}{alt}{}}{\relax}
- }
-}
%%%%%%%%%%%% Table related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{booktabs}
\RequirePackage{array}
-\RequirePackage{dcolumn}% alignment on decimal places
-\newcolumntype{d}[1]{D{.}{.}{#1}}% NB: This conflicts with babel's Spanish language option which makes "." an active character.
- % To use "," separator, put this command in your preamble: \newcolumntype{d}[1]{D{,}{,}{#1}}
+\RequirePackage{dcolumn}% alignment on decimal places
+% use d{x.y} to center on "." as in "12.234"
+\newcolumntype{d}[1]{D{.}{.}{#1}}
+% NB: The above conflicts with babel's Spanish language option which makes "." an active character.
+% Instead, to use "," as the decimal separator, choose columntype "," (as in "12,234")
+\newcolumntype{,}[1]{D{,}{,}{#1}}
%%%%%%%%% Caption related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -507,7 +502,7 @@
\captionsetup[table]{labelformat=uppercase,labelfont={sf,bf,small},textfont={sf,bf,small},textformat=boldmath,labelsep=colon,skip=0.5\baselineskip} %name=TABLE,
\fi
-%% This construction avoids a failure of hyperref in relation to uppercase caption
+%% This construction avoids a failure of hyperref in relation to uppercase captions
%% Discussion: https://tex.stackexchange.com/questions/375695/maketextuppercase-inside-table-captions
\AtBeginDocument{
\let\scaption\caption
@@ -542,8 +537,17 @@
\RequirePackage[no-math]{fontspec}
\defaultfontfeatures{Ligatures=TeX,}
%
- \setmainfont{TeXGyreTermesX}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
- WordSpace = {1,1.4,1},%% This stretch matches newtxtext a little better. 1.4
+ \def\FontWarning{For luaLaTeX, you MUST have these OpenType fonts installed as system fonts on your computer: TeX Gyre Termes and TeX Gyre Heros (from \string http://www.gust.org.pl/projects/e-foundry/tex-gyre) and Inconsolatazi4 (\string https://ctan.org/tex-archive/fonts/inconsolata/opentype). If you DON'T have these fonts, you will see ERROR messages!}
+%
+ \IfFontExistsTF{TeX Gyre Termes}{}{\ClassWarningNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{texgyreheros}{}{ \ClassWarningNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{Inconsolatazi4}{}{ \ClassWarningNoLine{\ClassName}{\FontWarning} }
+%
+ % The newtx package includes a modified version of TeXGyreTermes called TexGyreTermesX, which is loaded here.
+ % Can fall back to TeXGyreTermes if desired, available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
+ \setmainfont{TeXGyreTermesX}[
+ WordSpace = {1,1.6,1.2},%% This stretch matches newtxtext a little better; rescaled 2024/07/28
+ PunctuationSpace = 1.332,%% match fontdimen7 to newtxtext, 2024/07/28
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
@@ -552,7 +556,7 @@
Numbers = Lining,
]
\setsansfont{texgyreheros}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
- WordSpace = {1,1.4,1},
+ WordSpace = {1,1,1},% These spacings match newtxtext; rescaled to unity 2024/07/28
Extension = .otf,
UprightFont = *-regular,
ItalicFont = *-italic,
@@ -562,7 +566,6 @@
Scale=0.91,% same as for newtx; former value 0.9 too small 2022/01/15
]
\setmonofont{Inconsolatazi4}[% This otf font ships with the LaTeX Inconsolata package (it's in TeX Live)
- \MonoNotMono,% match newtxtext if we enable wordspacing
Scale=1.05,% rescaled from 1, 22/03/10
Extension = .otf,
UprightFont = *-Regular,
@@ -570,20 +573,22 @@
BoldFont = *-Bold,
BoldItalicFont = *-Bold,% has no italic face
RawFeature = {+ss01,\ssztwo,+ss03},
- ]
+ \MonoNotMono,% match newtxtext if we enable wordspacing; note wordspace def'd in option above.
+ ]
%
% For many languages, using babel commands helps font loading.
+ % Switched Harbbuzz to OpenType throughout, 2024/07/28
% Noto fonts are available at https://github.com/googlefonts
\def\Noto@scale{0.92}
\def\Ara@scale{0.91}% For the serif font only
\def\NotoBan@scale{0.92}% 1.} should probably stay consistent within the Noto family.
\def\NotoDev@scale{0.92}% 1.} should probably stay consistent within the Noto family.
\def\NotoTam@scale{0.92}
- \def\Noto@color{black}
+ \def\Noto@color{Color=black}% 2024/07/28. Changed this diagnostic command to by-pass a bug in luatexja-fontspec.
%
\babelprovide[import, language=Default]{arabic}
\babelfont [arabic]{rm}[Scale=\Ara@scale,
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% don't use italic face, I am told
@@ -591,7 +596,7 @@
BoldItalicFont = *-Bold,% don't use italic face, I am told
]{Amiri}% NotoNaskhArabic}% Some readers prefer Amiri font
\babelfont [arabic]{sf}[Scale=\Noto@scale,
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Extension =.ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% font has no italic face
@@ -599,7 +604,7 @@
BoldItalicFont = *-SemiBold,% font has no italic face
]{NotoSansArabic}%DejaVuSans}%NotoKufiArabic}% .otf,%
\babelfont [arabic]{tt}[%
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Extension =.ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -610,9 +615,9 @@
%
\babelprovide[import,language=Default,script=Bangla]{bengali}
\babelfont [bengali]{rm}[%
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Scale=\NotoBan@scale,% same as Devanagari
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -620,9 +625,9 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSerifBengali}
\babelfont [bengali]{sf}[%
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Scale=\NotoBan@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -630,9 +635,9 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSansBengali}
\babelfont [bengali]{tt}[
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Scale=\NotoBan@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -646,7 +651,7 @@
\babelprovide[import,language=Default,script=Cyrillic]{#1}
\babelfont [#1]{rm}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
@@ -655,7 +660,7 @@
]{NotoSerif}
\babelfont [#1]{sf}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
@@ -664,7 +669,7 @@
]{NotoSans}
\babelfont [#1]{tt}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -676,14 +681,14 @@
\setlocalecaption{serbian-cyrillic}{abstract}{Сажетак}% NB: utf-8
%
% Devanagari languages
- \newfontscript{Devanagari}{deva}% HarfBuzz has some problems in Hindi, see babel manual Sect. 1.13 (main issue is ra)
+ \newfontscript{Devanagari}{deva}% OpenType has some problems in Hindi, see babel manual Sect. 1.13 (main issue is ra)
\NewDocumentCommand\@LoadBabelDev{>{\SplitList{;}}m}{\ProcessList{#1}{\@DevBabel}}
\NewDocumentCommand\@DevBabel{m}{%
\babelprovide[import,language=Default]{#1}
\babelfont [#1]{rm}[%
-% Renderer=HarfBuzz,% works for Marathi, throws errors in Hindi...
+% %Renderer=OpenType,% Marathi and Hindi may respond differently...
Scale=\NotoDev@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -691,9 +696,9 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSerifDevanagari}
\babelfont [#1]{sf}[%
-% Renderer=HarfBuzz,% works for Marathi, throws errors in Hindi...
+% %Renderer=OpenType,% % Marathi and Hindi may respond differently...
Scale=\NotoDev@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -701,9 +706,9 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSansDevanagari}
\babelfont [#1]{tt}[
-% Renderer=HarfBuzz,% works for Marathi, throws errors in Hindi...
+% %Renderer=OpenType,% % Marathi and Hindi may respond differently...
Scale=\NotoDev@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -719,7 +724,7 @@
\babelfont [greek]{rm}[%
Scale=\Noto@scale,
WordSpace={1.1},% increase word spacing slightly
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
@@ -729,7 +734,7 @@
\babelfont [greek]{sf}[%
Scale=\Noto@scale,
WordSpace={1.1},% increase word spacing slightly
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
@@ -738,7 +743,7 @@
]{NotoSans}
\babelfont [greek]{tt}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -747,11 +752,14 @@
]{NotoSansMono}
%
% Japanese
+ % luatexja-fontspec seems to want lc "color" now, rather than normal "Color", as before. Commenting out.
+ % NB: luatexja-fontspec color breakage appears to be global.
\ifac@japanese
- \RequirePackage[match]{luatexja-fontspec}% japanese typesets *much* better with this loaded
+ \def\Noto@color{}% by-pass bug in luatexja-fontspec, 2024/07/28.
+ \RequirePackage[no-math]{luatexja-fontspec}% japanese typesets *much* better with this loaded
\setmainjfont{NotoSerifCJKjp}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
% Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -760,7 +768,7 @@
]
\setsansjfont{NotoSansCJKjp}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
% Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -769,7 +777,7 @@
]
\setmonojfont{NotoSansMonoCJKjp}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
BoldFont = *-Bold,
@@ -780,7 +788,7 @@
% Need at least one of the following to load the Japanese dictionary.
\babelfont [japanese]{rm}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -789,7 +797,7 @@
]{NotoSerifCJKjp}% Scale estimated
\babelfont [japanese]{sf}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
% Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -798,7 +806,7 @@
]{NotoSansCJKjp}
\babelfont [japanese]{tt}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
% Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -812,7 +820,7 @@
\babelprovide[import,language=Default]{korean}
\babelfont [korean]{rm}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -821,7 +829,7 @@
]{NotoSerifCJKkr}
\babelfont [korean]{sf}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -830,7 +838,7 @@
]{NotoSansCJK}
\babelfont [korean]{tt}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
% Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -843,7 +851,7 @@
\babelprovide[import,language=Default]{chinese-simplified}
\babelfont [chinese-simplified]{rm}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -852,7 +860,7 @@
]{NotoSerifCJKsc}
\babelfont [chinese-simplified]{sf}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -861,7 +869,7 @@
]{NotoSansCJK}
\babelfont [chinese-simplified]{tt}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
% Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -871,9 +879,9 @@
%
% Traditional Chinese (includes characters for Cantonese also)
\babelprovide[import,language=Default]{chinese-traditional}
- \babelfont [chinese-tradiational]{rm}[%
+ \babelfont [chinese-traditional]{rm}[% fixed 2024/07/28
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -882,20 +890,20 @@
]{NotoSerifCJKtc}
\babelfont [chinese-traditional]{sf}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
BoldFont = *-Bold,
BoldItalicFont = *-Bold,% has no italic face
]{NotoSansCJK}
- \babelfont [chinese-traditional]{tt}[Scale=\Noto@scale,Color=\Noto@color]{NotoSansMonoCJKtc}
+ \babelfont [chinese-traditional]{tt}[Scale=\Noto@scale,\Noto@color]{NotoSansMonoCJKtc}
%
\babelprovide[import,language=Default]{tamil}
\babelfont [tamil]{rm}[%
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Scale=\NotoTam@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -903,9 +911,9 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSerifTamil}
\babelfont [tamil]{sf}[%
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Scale=\NotoTam@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -913,9 +921,9 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSansTamil}
\babelfont [tamil]{tt}[
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Scale=\NotoTam@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -949,8 +957,13 @@
\RequirePackage{bm}% load after all math to give further access to bold math
-%% Ensure that the current font is used for equation tags, not \normalfont as set by amsmath
-\def\maketag@@@#1{\hbox{\m@th#1}}
+% To free \eqref from the normal font (e.g., for use in section headings or captions). Revised 2024/07/28
+\renewcommand{\eqref}[1]{\textup{\hbox{\m@th{(\ignorespaces\ref{#1}\unskip\@@italiccorr)}}}}
+%
+% amsmath def: \newcommand{\eqref}[1]{\textup{\tagform@{\ref{#1}}}}
+% \def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)}}
+% \def\maketag@@@#1{\hbox{\m@th\normalfont#1}}
+
% The article class calls \sloppy in two-column mode (\tolerance 9999, \emergencystretch 3em)
% The following adjustments affect line breaking; the values below are intended to produce
@@ -1000,11 +1013,11 @@
\SetMathAlphabet{\mathsf}{sans}{\encodingdefault}{\sfdefault}{m}{n}% \mathsf is upright.
-% Nice solution from DPC to prevent aux file errors (due to active characters from babel) when switching from pdflatex to lualatex.
-\ifx\directlua\undefined
- \AtBeginDocument{\immediate\write\@auxout{\detokenize{%
- \ifx\directlua\undefined\else\endinput\fi}}}
-\fi
+%% Nice solution from DPC to prevent aux file errors (due to active characters from babel) when switching from pdflatex to lualatex. Disabled, 2024/07/28
+%\ifx\directlua\undefined
+% \AtBeginDocument{\immediate\write\@auxout{\detokenize{%
+% \ifx\directlua\undefined\else\endinput\fi}}}
+%\fi
%%%%%%%% Footers and Footnotes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1034,7 +1047,6 @@
\fancyfoot[CE,CO]{\@SetFont\thepage\\[1ex]\footnotesize The United States Government retains, and by accepting the article for publication, the publisher acknowledges that the United States Government retains, a non-exclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this work, or allow others to do so, for United States Government purposes.}
\fi
-% was missing from earlier versions...?
\ifasmeconf@govtsome
\newgeometry{left=0.5in, right=0.5in, top=0.5in, bottom = 1.in, footskip = 0.3in, columnsep = 0.38in}
\fancyfoot[RO,RE]{}
@@ -1088,39 +1100,36 @@
\titlespacing\subsubsection{\parindent}{6pt plus 3pt minus 2pt}{0pt plus 2pt minus 1pt} % from 12 4 3, 2019/7/7
%% Special handling of the appendices
-%% Assumes that appendices are the last content in paper
-\RenewDocumentCommand{\appendix}{}{%
- \setcounter{section}{0}
- \pdfbookmark[0]{\appendicesname}{appendices}
- \renewcommand\thesection{\Alph{section}}
- \titleformat{\section}{\mathversion{sansbold}\bfseries\sffamily\raggedright}{\MakeTextUppercase{\appendixname}\ \thesection.}{0.5em}{\MakeTextUppercase}
-}
-
-%% This patches titlesec's unprotected re-definition of \footnote.
-%% See discussion here: https://github.com/jbezos/titlesec/issues/48
+%% Assumes that appendices are the last content in paper
+%% Code revised to better support tagged pdf, 2024/07/26.
+\patchcmd{\appendix}{%
+ \setcounter{subsection}{0}%
+}{%
+ \setcounter{subsection}{0}\pdfbookmark[1]{\appendicesname}{appendices}%
+}{}{}
+\apptocmd{\appendix}{\titleformat{\section}[block]{\mathversion{sansbold}\bfseries\sffamily\raggedright}{\MakeTextUppercase{\appendixname}\ \thesection.}{0.5em}{\MakeTextUppercase}}{}{}
+% Changed to block layout (rather than default hanging) whilst retaining \raggedright, since "Appendix X." is a very wide hanging indent. 2024/07/26
+
+%% This patches titlesec's unprotected re-definition of \footnote. See discussion here: https://github.com/jbezos/titlesec/issues/48
%% Without this patch, recent versions of LaTeX will require \protect\footnote in section headings.
-%% This issue may be corrected in titlesec, but keeping the patch anyway.
+%% This issue may be corrected in titlesec, but keeping the patch for backward compatibility.
\patchcmd{\ttl@select}{\def\footnote}{\protected\def\footnote}{\typeout{Asmeconf.sty patched titlesec to have protected def of footnote}}{}
%%%%%%%%%% Hyperref, bookmarks, and PDF/A %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this *legacy* approach.
\ifpdftex
- %%% to assist with unicode glyph mapping, following M. Sharpe's recommendation in the newtx documentation.
- \IfFormatAtLeastTF{2020/10/01}{\relax}{%
- \pdfgentounicode=1 %% enable CMaps; has moved into the latex kernel Oct 2020
- \input glyphtounicode.tex %% lists of mappings; has moved into the latex kernel Oct 2020
- }
+ %%% to assist with unicode glyph mapping, following M. Sharpe's recommendation in the newtx documentation.
+ %%% as of 2024/07/28, these are still necessary with \DocumentMetadata{pdfstandard=A-3u}. Note: glyphtounicode-cmex.tex is now in latex-lab.
\InputIfFileExists{glyphtounicode-cmr.tex}{}{} %% additional mappings
\InputIfFileExists{glyphtounicode-ntx.tex}{}{} %% additional mappings
\ifac@setpdfa
- %%%% pdfmanagement options, from Ulrike Fischer 2021/06/12
- \if@asme@pdfmanagement
- \ClassInfo{asmeconf}{pdfmanagement is defined. Class file will not load a color profile}
+ %% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this *legacy* approach.
+ \ifasme@pdfmanagement
+ \ClassInfo{\ClassName}{pdfmanagement is defined. Class file will not load a color profile}
\else
- \ClassInfo{asmeconf}{NOTE: pdfmanagement not defined. Class file will load a color profile}%
+ \ClassInfo{\ClassName}{NOTE: pdfmanagement not defined. Class file will load a color profile}%
%%% a fairly generic RGB color profile, aimed at on-screen rendering (not print production)
\immediate\pdfobj stream attr{/N 3} file{sRGB.icc}
\pdfcatalog{%
@@ -1158,20 +1167,20 @@
\urlstyle{same} % don't switch to typewriter font for urls
\RequirePackage{doi} % supports the nasty characters in some doi's
\renewcommand{\doitext}{DOI } % change to this from default value, {doi:}, per ASME specification
-\RequirePackage{bookmark} % improves handling of pdf bookmarks
\providecommand*{\toclevel@subfigure}{1}% <== to address unknown bookmark level of subfigure. 2021/12/24
\providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code, 2021/12/02
-\if@asme@pdfmanagement
- \ClassInfo{asmejour}{pdfmanagement is defined. Class file will not load hyperxmp}
+\ifasme@pdfmanagement
+ \ClassInfo{asmejour}{pdfmanagement is defined. Class file will not load hyperxmp and bookmark packages}
\else
+ \RequirePackage{bookmark}% improves handling of pdf bookmarks
\RequirePackage{hyperxmp}% improve transfer of metadata to pdf
% Patch bug in hyperxmp, unless a more recent version is used.
\ifdefined\hyxmp@no@bad@parts% \hyxmp@no@bad@parts is not def'd in TeX Live 2019 or older
- \@ifpackagelater{hyperxmp}{2022/10/15}{% v5.11 or later
+ \IfPackageAtLeastTF{hyperxmp}{2022/10/15}{% v5.11 or later
\relax
}{%
\newcount\hypxmp@tempcnt
@@ -1180,13 +1189,11 @@
\hyxmp@pdfstringdef\@pdfapart{\the\hypxmp@tempcnt}%
}
}
- \else
- \relax
\fi
\fi
-%%% ==> recent and evolving development of \pdfstring removes all robust commands from bookmarks, so
-%%% by early 2024, errors are not present; however, these commands serve to still suppress warnings.
+%%% ==> recent development of \pdfstring removes all robust commands from bookmarks, so that
+%%% by early 2024, errors are not present; these commands serve to still suppress warnings, however.
%% Since \bm may be useful in headings, this fix will reduce frequency with which
%% alternate pdfstrings must be given in revised section command as \section[pdfstring]{texstring}
@@ -1212,7 +1219,7 @@
%% Ensure that tag color does not follow \eqref into bookmarks, 2020/02/28
\pdfstringdefDisableCommands{%
- \def\eqref#1{(\ref{#1})}%
+ \def\eqref#1{(\ref*{#1})}% \ref* is from hyperref
}
% Let's make sure footnotes in section headings don't break pdf bookmarks.
@@ -1222,7 +1229,6 @@
}
-
%% Let's also add \footnote to the \TextUppercase exception list, so that footnote text won't be capitalized
%% if given in section headings. Ditto for \eqref
%
@@ -1244,13 +1250,12 @@
\renewcommand{\linenumberfont}{\normalfont\footnotesize\color{red}}
\AtBeginDocument{\linenumbers}
\ifasmeconf@balance
- \ClassWarningNoLine{asmeconf}{Package lineno loaded, so final column balancing will be disabled}%
+ \ClassWarningNoLine{\ClassName}{Package lineno loaded, so final column balancing will be disabled}%
\fi
%%% Patch to allow line numbering in AMS math environments.
%%% This patch is for lineno versions earlier than v5.2 [2023/05/19]. As of mid-2023, the lineno package
- %%% has been corrected to account for the AMS math environments. Retaining temporarily for backward compatibility.
+ %%% has been corrected to account for the AMS math environments. Retaining for backward compatibility.
%%% postdisplaypenalty adjusted to avoid extra line number at end, see: https://tex.stackexchange.com/a/461192/
- %%% multline has some additional problem that puts an extra line number above it.
\IfPackageAtLeastTF{lineno}{2023/05/19}{\relax}{
\NewDocumentCommand{\ac@losepostpenalty}{}{\patchcmd{\linenomathWithnumbers}{\advance\postdisplaypenalty\linenopenalty}{}{}{}}
%
@@ -1270,7 +1275,7 @@
\ifasmeconf@balance
\RequirePackage{flushend}% flushend package is NOT compatible with lineno
\AtEndDocument{\flushcolsend}%
- \LogNote{Calling flushend package to balance column height on last page}%
+ \ClassNoteNoLine{\ClassName}{Calling flushend package to balance column height on last page}%
\fi%
\fi
\providecommand{\@LN@col}[1]{\relax}% Enable dropping lineno option without trashing .aux file
@@ -1364,7 +1369,10 @@
\NewDocumentCommand\PaperNo{m}{\gdef\@PaperNo{#1}}
\providecommand\@PaperNo{\protect\phantom{NO.}}
-\NewDocumentCommand\PaperTitle{m}{\gdef\@PaperTitle{#1}}
+\NewDocumentCommand\PaperTitle{m}{%
+ \gdef\@PaperTitle{#1}%
+ \gdef\@title{#1}% added 2024/07/28
+}
\providecommand\@PaperTitle{\hbox{ }}
\NewDocumentCommand\@HeaderTitle{}{%
@@ -1419,7 +1427,7 @@
%%%% option to use the traditional grid layout of authors or the inline style
\ifasmeconf@grid
- \LogNote{Selected option for a grid of author blocks}%
+ \ClassNoteNoLine{\ClassName}{Selected option for a grid of author blocks}%
%%%%%%%%%%%%%%%%%%%% Gridded author layout %%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1463,7 +1471,7 @@
\ifblank{#1}{%
\expandafter\xdef\csname aut@\theauthorcnt\endcsname{}%
\expandafter\xdef\csname autaffil@\theauthorcnt\endcsname{-1}
- \ClassWarning{asmeconf}{Missing author name, check for extra comma}%
+ \ClassWarning{\ClassName}{Missing author name, check for extra comma}%
}{\expandafter\xdef\csname aut@\theauthorcnt\endcsname{#1}%
}%
}% defines \aut@authorcnt as Name #1
@@ -1547,12 +1555,18 @@
\fi
\fi
\ifnum\value{authorno}>15
- \ClassWarningNoLine{asmeconf}{The class is programmed for up to 15 author blocks. If some of your authors are at the same institution, %
+ \ClassWarningNoLine{\ClassName}{The class is programmed for up to 15 author blocks. If some of your authors are at the same institution, %
you may put more than one name above a single address. If you need more than 15 author blocks, try using the in-line author style %
instead of the [grid] option}
\fi
}% end whiledo
}
+ \ExplSyntaxOn
+ % next three are for backward compatibility
+ \cs_if_exist:NF \cs_gset:Npe { \cs_generate_variant:Nn \cs_gset:Npn {Npe} }
+ \cs_if_exist:NF \tl_set:Ne { \cs_generate_variant:Nn \tl_set:Nn {Ne} }
+ \cs_if_exist:NF \tl_put_right:Ne { \cs_generate_variant:Nn \tl_put_right:Nn {Ne} }
+
\NewDocumentCommand\@ConstructAuthorBlock{}{%
\ifnum\value{authorno}>3
\JoinCoffins\firstrowauthorblock[hc,b]\secondrowauthorblock[hc,t](0pt, -1.5\baselineskip)
@@ -1566,8 +1580,34 @@
\ifnum\value{authorno}>12
\JoinCoffins\firstrowauthorblock[hc,b]\fifthrowauthorblock[hc,t](0pt, -1.5\baselineskip)
\fi
- \centerline{\TypesetCoffin\firstrowauthorblock}%% in this instance, \centerline is better than \centering
+ \centerline{\TypesetCoffin\firstrowauthorblock}% in this instance, \centerline is better than \centering
+ \__asmeconf_concataut:
+ \cs_gset:Npe \@author { \tl_use:N \g_asmeconf_authors_tl }
+ %\iow_term:e { \tl_use:N \g_asmeconf_authors_tl }% diagnostic only
}
+ % build comma-separated list of author names
+ \cs_new_protected:Nn \__asmeconf_concataut: {
+ \tl_new:N \g_asmeconf_authors_tl
+ \int_set:Nn \l_tmpa_int {1}
+ \int_new:N \l__asmeconf_noauts
+ \int_set:Nn \l__asmeconf_noauts { \value{authorcnt} }
+ \int_do_until:nNnn { \l_tmpa_int } > { \l__asmeconf_noauts }
+ {
+ \tl_set:Ne \l_tmpa_tl {\use:c { aut@ \int_use:N \l_tmpa_int } }
+ \tl_replace_all:Nnn \l_tmpa_tl {\unhbox \voidb@x \protect \penalty \@M \ } {~}
+ % If tex unbreakable space character "~" has expanded, replace by a simple space, which is "~" in Expl3 syntax
+ \tl_remove_all:Nn \l_tmpa_tl { \JointFirstAuthor }
+ \tl_replace_all:Nnn \l_tmpa_tl { \CorrespondingAuthor } { \use_none:n }
+ \tl_replace_all:Nnn \l_tmpa_tl { \affil } { \use_none:n }
+ \tl_replace_all:Nnn \l_tmpa_tl { \xdef } { \use_none:nn }
+ \tl_put_right:Ne \g_asmeconf_authors_tl \l_tmpa_tl
+ \int_compare:nNnT { \l_tmpa_int } < { \l__asmeconf_noauts} {
+ \tl_put_right:Ne \g_asmeconf_authors_tl { ,~ }
+ }
+ \int_incr:N \l_tmpa_int
+ }
+ }
+ \ExplSyntaxOff
%%% otherwise use the new compact layout of authors
\else
@@ -1576,13 +1616,35 @@
\NewCoffin{\AffiliationBlock}
\NewCoffin{\AffiliationsBlock}
\AtBeginDocument{\SetHorizontalCoffin\AffiliationsBlock{}}% corrected 2021/12/01
-
+
+ \ExplSyntaxOn
+ \cs_if_exist:NF \cs_gset:Npe { \cs_generate_variant:Nn \cs_gset:Npn {Npe} }
+ \cs_if_exist:NF \tl_gset:Ne { \cs_generate_variant:Nn \tl_gset:Nn {Ne} }
+
%% NB: \parbox width to \textwidth (full page) not \linewidth (single column)
\NewDocumentCommand\SetAuthors{m}{%
- \SetHorizontalCoffin\AuthorBlock{%
+ \SetHorizontalCoffin\AuthorBlock{% ignoring the bug in testphase tagging
\parbox{\textwidth}{\centering\sffamily\bfseries\ignorespaces#1\ignorespaces}%
+ % NB: in vertical mode \parbox needs \noindent ahead of it, _inside_ vertical coffin
+ % \SetVerticalCoffin\AuthorBlock{\textwidth}{% 2024/07/30, test a vertical coffin alternative
+ % \centering\sffamily\bfseries\ignorespaces#1\ignorespaces%
+ \__asmeconf_striptokens:n {#1}
+ \cs_gset:Npe \@author { \tl_use:N \g_asmeconf_authors_tl }% set \@author = list of authors, 2024/07/31
}
}
+ % strip \affil{..}, \JointFirstAuthor, \CorrespondingAuthor{...} from argument
+ \cs_new_protected:Nn \__asmeconf_striptokens:n {
+ \tl_set:Nn \l_tmpa_tl {#1}
+ \regex_replace_all:nnN { \cA\~ } {\ } \l_tmpa_tl % replace ~ by space in author list
+ %\tl_replace_all:Nnn \l__asmeconf_authors_tl {\ } {~}% change "\ " to space (but why? for text we would want this)
+ \tl_remove_all:Nn \l_tmpa_tl { \JointFirstAuthor }
+ \tl_replace_all:Nnn \l_tmpa_tl { \affil } { \use_none:n }
+ \tl_replace_all:Nnn \l_tmpa_tl { \CorrespondingAuthor } { \use_none:n }
+ \tl_new:N \g_asmeconf_authors_tl
+ \tl_gset:Ne \g_asmeconf_authors_tl \l_tmpa_tl
+ \iow_term:e { \tl_use:N \g_asmeconf_authors_tl }% diagnostic only
+ }
+ \ExplSyntaxOff
\def\@makefnmark{\hbox{\@textsuperscript{\sffamily\@thefnmark}}}%
@@ -1598,14 +1660,14 @@
%%% Affiliation mark
\NewDocumentCommand{\affil}{m}{%
\ifblank{#1}{%
- \ClassWarning{asmeconf}{Empty affiliation tag}%
+ \ClassWarning{\ClassName}{Empty affiliation tag}%
\@gobble% 9 Dec 2021, addresses modification for commas
}{\bfseries\footnotemark[#1]}%
}
%%% to deal with sequential notes as, e.g., "1,*", or "1,2,*" %%%%%%%%%%
\ExplSyntaxOn
- \cs_new:Npn \__asmecome_OtherNoteComma:n {
+ \cs_new:Npn \__asmeconf_OtherNoteComma:n {
\peek_meaning:NTF \affil
{ \textsuperscript{\mdseries,} }
{ \peek_meaning:NTF \CorrespondingAuthor
@@ -1614,11 +1676,11 @@
}
}
\cs_new_eq:NN \__saveAF \affil
- \cs_gset_protected:Npn \affil #1 { \__saveAF{#1} \__asmecome_OtherNoteComma:n }
+ \cs_gset_protected:Npn \affil #1 { \__saveAF{#1} \__asmeconf_OtherNoteComma:n }
\cs_new_eq:NN \__saveCA \CorrespondingAuthor
- \cs_gset_protected:Npn \CorrespondingAuthor #1 { \__saveCA{#1} \__asmecome_OtherNoteComma:n }
+ \cs_gset_protected:Npn \CorrespondingAuthor #1 { \__saveCA{#1} \__asmeconf_OtherNoteComma:n }
\cs_new_eq:NN \__saveJA \JointFirstAuthor
- \cs_gset_protected:Npn \JointFirstAuthor { \__saveJA \__asmecome_OtherNoteComma:n }
+ \cs_gset_protected:Npn \JointFirstAuthor { \__saveJA \__asmeconf_OtherNoteComma:n }
\ExplSyntaxOff
%%%
@@ -1633,7 +1695,6 @@
%%%% Make the title and author section
\NewDocumentCommand\MakeTitlePage{}{%
\twocolumn[
- \begin{@twocolumnfalse}
\@HeaderTitle
\vspace*{2\baselineskip}
\ifasmeconf@grid
@@ -1642,7 +1703,6 @@
\@SetAuthorBlock
\fi
\vspace*{3\baselineskip}
- \end{@twocolumnfalse}
]
\let\@makefnmark\savemakefnmark% restore footnote mark font
\renewcommand*{\thefootnote}{\fnsymbol{footnote}}
@@ -1767,12 +1827,12 @@
%%%%%%%%%%%%%%%%%% Times-like fonts for specific languages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifpdftex % Under lualatex, babel has problems with the following approach, which assumes that fontspec has not been loaded.
- % Recommend not to choose the [nofontspec] option.
+ % Recommend not to choose the [nofontspec] option.
% Several modifications made in response to newtx v1.71, 2022/03/14
\ifac@vietnamese
%
\IfFormatAtLeastTF{2020/02/02}{\relax}{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 are necessary to use the fonts of the [vietnamese] option with pdflatex}{Please UPDATE your LaTeX distribution: TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Alternatively, delete the class option [vietnamese].}%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 are necessary to use the fonts of the [vietnamese] option with pdflatex}{Please UPDATE your LaTeX distribution: TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Alternatively, delete the class option [vietnamese].}%
}
%
\AtBeginDocument{%
@@ -1831,7 +1891,7 @@
\ifac@greek
%
\IfFormatAtLeastTF{2020/02/02}{\relax}{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 are necessary to use the fonts of the [greek] option with pdflatex}{Please UPDATE your LaTeX distribution: TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Alternatively, delete the class option [greek].}%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 are necessary to use the fonts of the [greek] option with pdflatex}{Please UPDATE your LaTeX distribution: TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Alternatively, delete the class option [greek].}%
}
%
\AtBeginDocument{%
@@ -1906,7 +1966,7 @@
\ifac@cyrillic
%
\IfFormatAtLeastTF{2020/02/02}{\relax}{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 are necessary to use the fonts of the cyrillic language option with pdflatex, e.g., [russian]}{Please UPDATE your LaTeX distribution: TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Alternatively, delete the class option calling a cyrillic-alphabet language.}%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 are necessary to use the fonts of the cyrillic language option with pdflatex, e.g., [russian]}{Please UPDATE your LaTeX distribution: TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Alternatively, delete the class option calling a cyrillic-alphabet language.}%
}
%
\AtBeginDocument{%
diff --git a/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.pdf b/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.pdf
index 05e276803f..d5ef0f0158 100644
--- a/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.pdf
+++ b/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex b/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex
index b041b0f0ff..406a4dd660 100644
--- a/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex
+++ b/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex
@@ -18,13 +18,36 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\DocumentMetadata{%
+ pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
+ pdfversion=1.7,
+ lang=en-US,
+ debug = {xmp-export},
+}
\documentclass[colorlinks,nofoot,spanish,japanese,russian,greek,ukrainian,vietnamese,french,portuguese,turkish,polish,indonesian,italian,german,latin,serbianc,bidi=basic]{asmeconf}
% note that not all languages given as examples in this file can be called as options.
+% directly add this xmp property. See l3pdfmeta.pdf. This is not automatic with \DocumentMetadata. "True" must be capitalized.
+\ExplSyntaxOn
+ \pdfmeta_xmp_add:n{<xmpRights:Marked>True</xmpRights:Marked>}
+\ExplSyntaxOff
+
\hypersetup{%
- pdftitle={Language Support in ASMECONF: Non-Latin Alphabets, Lualatex, and fontspec},
+ pdftitle={{Language Support in ASMECONF: Non-Latin Alphabets, Lualatex, and fontspec}},
pdfkeywords={asmeconf, non-Latin alphabets, fontspec, LuaLaTeX, PDFLaTeX},
- pdfauthor={John H. Lienhard, V},
+ pdfauthor={John H. Lienhard},
+ pdfsubject = {Describes font support in asmeconf LaTeX template},
+ pdfurl={https://ctan.org/pkg/asmeconf},% may delete
+ pdflicenseurl={https://ctan.org/pkg/asmeconf},
+ pdfcopyright={Copyright (c) \the\year\ by John H. Lienhard},
+ pdfcontactemail={lienhard@mit.edu},
+ pdfcaptionwriter={{John H. Lienhard, V}},
+ pdfcontactaddress={77 Massachusetts Avenue, Room 3-166},
+ pdfcontactcity={Cambridge, MA},
+ pdfcontactpostcode={02139},
+ pdfcontactcountry={USA},
+ pdfcontacturl={https://lienhard.mit.edu},
+ pdfauthortitle={Professor of Mechanical Engineering},
}
% To avoid typing these over and over, define:
@@ -33,13 +56,30 @@
\newcommand*\AC{{\upshape\texttt{asmeconf}}}
\newcommand*\PLT{{\upshape\texttt{\hologo{pdfLaTeX}}}}
+% define a unicode character by its codepoint
+\ExplSyntaxOn
+ \cs_new:Npn \MySym #1 { \codepoint_generate:nn {#1} { 12 } }
+\ExplSyntaxOff
+
+\renewcommand*{\checkmark}{\MySym{"2713}} % because default checkmark has poor glyph information
+
+%% It's necessary to force full embedding of the fonts to get valid PDF/A-3b
+\usepackage{luacode}
+\begin{luacode}
+local function embedfull(tfmdata)
+ tfmdata.embedding = "full"
+end
+luatexbase.add_to_callback("luaotfload.patch_font", embedfull, "embedfull")
+\end{luacode}
+
+
\makeatletter
\def\NotoBan@scale{0.98}% vary this if the Bengali is too small/large; the default value 0.92 matches scaling of the other Noto fonts used.
\def\NotoDev@scale{0.98}% vary this if the Devanagari is too small/large; the default value 0.92 matches scaling of the other Noto fonts used.
%\def\NotoTam@scale{0.92}% vary this if the Tamil is too small/large; the default value 0.92 matches scaling of the other Noto fonts used.
\def\NotoAra@scale{0.93}% The serif font only; the default value is 0.91
-% Noto family is not as close to Tex Gyre Termes as I'd like, so for abstract examples in Latin script [only], use Noto Serif Italic for visual consistency
+% Noto family is not as close to Tex Gyre Termes as I'd like, so for abstract examples in Latin script [only], I'm using Noto Serif Italic for visual consistency
\newfontfamily{\NotoSerif}{NotoSerif}[UprightFont=*-Regular,ItalicFont=*-Italic, BoldItalicFont=*-BoldItalic, BoldFont=*-Bold, Extension=.ttf,Scale=\Noto@scale,WordSpace={1,1.4,1}]
\newfontfamily{\NotoSerifItalns}{NotoSerif-Italic.ttf}[ItalicFont=*,Scale=\Noto@scale]% Turkish has trouble with WordSpace
\makeatother
@@ -107,10 +147,10 @@
\begin{document}
\ConfName{Proceedings of the \texttt{asmeconf} \linebreak International Examples Congress and Exposition}
-\ConfAcronym{AIECE21}
-\ConfDate{January 20, 2021}
+\ConfAcronym{AIECE24}
+\ConfDate{August 1, 2024}
\ConfCity{Cambridge, MA}
-\PaperNo{AIECE2021-0002}
+\PaperNo{AIECE2024-0002}
\title{Language Support in ASMECONF: Non-Latin Alphabets, Lualatex, and fontspec}
@@ -119,7 +159,7 @@
\maketitle
-\versionfootnote{Version~1.01, \today}
+\versionfootnote{Version~1.02, \today}
\keywords{asmeconf, language support, non-Latin alphabets, fontspec, \LLT}
@@ -183,12 +223,12 @@ The \FS\ package~\cite{robertson2020} allows \LLT\ to access fonts that are inst
When processed in \PLT, \AC\ uses the \texttt{newtxtext} and \texttt{inconsolata} fonts, a collection of eight-bit fonts, for Latin script. To use \FS, we must replace those fonts with corresponding unicode fonts (the math fonts, from \texttt{newtxmath}, are unchanged). Specialized fonts are needed for some additional scripts. Thus, the user will need to install several unicode fonts onto their own system in order to use \AC\ with \FS.
Fortunately, all these fonts are all free and easily downloaded.
-The needed fonts are listed in Table~\ref{tab:2}.
+The needed fonts are listed in Table~\ref{tab:2}. \textit{The Latin fonts are required for English when using \FS.}
%%%%%%%%%%%%%%% two column table %%%%%%%%%%%%%%%%%%
\NewDocumentCommand\R{O{11pt}}{\rule{0pt}{#1}}
\begin{table*}[t!]
-\caption{System fonts used by \NoCaseChange{\AC} with \NoCaseChange{\FS}. For all fonts, load regular and bold face. For Latin, Cyrillic, and Greek, also load italic and bold italic. For Noto Sans Arabic, install semibold instead of bold.\label{tab:2}}%
+\caption{System fonts used by \NoCaseChange{\AC} with \NoCaseChange{\FS}. For all fonts, load regular and bold face. For Latin, Cyrillic, and Greek serif and sans serif fonts, also load italic and bold italic. For Noto Sans Arabic, install semibold instead of bold.\label{tab:2}}%
\centering{%
\begin{tabular*}{\textwidth}{@{\hspace*{0.5em}}@{\extracolsep{\fill}}>{\raggedright}p{6em}>{\raggedright}p{12em}>{\raggedright}p{10em}p{23em}@{\hspace*{0.5em}}}
\toprule
@@ -196,7 +236,10 @@ The needed fonts are listed in Table~\ref{tab:2}.
\multicolumn{1}{c}{\textbf{Language}} &
\multicolumn{1}{c}{\textbf{Fonts}} &
\multicolumn{1}{c}{\textbf{Where to get the font}}\\ \midrule
-Latin$^*$ & most European languages & Tex Gyre Termes, Tex~Gyre~Heros & \url{http://www.gust.org.pl/projects/e-foundry/tex-gyre}\rule{0pt}{11pt}\\
+Latin$^*$ & most European languages & TeX Gyre Termes, & \url{https://ctan.org/tex-archive/fonts/newtx/opentype}, \rule{0pt}{11pt}\\
+& & TeX~Gyre~Heros, & \url{https://ctan.org/tex-archive/fonts/tex-gyre/opentype}\\
+%\url{http://www.gust.org.pl/projects/e-foundry/tex-gyre} \\
+& & Inconsolatazi4 & \url{https://ctan.org/tex-archive/fonts/inconsolata/opentype} \\
Arabic\R & Arabic, Punjabi, Urdu, others & Amiri,\\ Noto~Sans~Arabic & \url{https://github.com/alif-type/amiri}\hfill\hbox{} \url{https://github.com/googlefonts/noto-fonts} \\
Bengali\R & Assamese, Bengali, others & Noto Serif Bengali,\\ Noto~Sans Bengali& \url{https://github.com/googlefonts/noto-fonts} \\
Cyrillic\R & Belarusian, Bulgarian, Macedonian, Russian, Serbian, Ukrainian, others & Noto Serif,\\ Noto~Sans, Noto~Sans~Mono & \url{https://github.com/googlefonts/noto-fonts} \\
@@ -215,7 +258,9 @@ Traditional\R\ Chinese & Traditional Mandarin, Cantonese & Noto~Serif~CJK~TC, No
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Using fontspec with asmeconf}
-When running \LLT, the \texttt{[fontspec]} option should be called, to load the appropriate fonts. With \FS, \texttt{babel} will use \texttt{.ldf} files (if available) and separate initialization files (\texttt{.ini}). If a language option is called for which there is no \texttt{.ldf} file, an error will result. However, such languages may still have an \texttt{.ini} that provides necessary information. For example, Chinese and Korean do not have \texttt{.ldf} files, but they do have \texttt{.ini} files. These languages can be accessed as described in Section~\ref{sec:6}.
+%When running \LLT, the \texttt{[fontspec]} option should be called, to load the appropriate fonts.
+When running \LLT, \texttt{fontspec} is loaded by default (as of Feb.\ 2024).
+With \FS, \texttt{babel} will use \texttt{.ldf} files (if available) and separate initialization files (\texttt{.ini}). If a language option is called for which there is no \texttt{.ldf} file, an error will result. However, such languages may still have an \texttt{.ini} that provides necessary information. For example, Chinese and Korean do not have \texttt{.ldf} files, but they do have \texttt{.ini} files. These languages can be accessed as described in Section~\ref{sec:6}.
Japanese typesetting is a little more complicated. When \texttt{[japanese]} is given as an option to the class, \AC\ calls the \texttt{luatexja-fontspec} package~\cite{lua-jp}, which is a specialized module for typesetting Japanese.
@@ -225,7 +270,7 @@ What about support for scripts not shown in Table~\ref{tab:2}? Macros from \tex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{How to call a language\label{sec:6}}
-A language is called by \verb|\begin{selectlanguage}{<lang>}|, where \texttt{<lang>} is the lower-case name of the language.
+Call a language with \verb|\begin{selectlanguage}{<lang>}|, where \texttt{<lang>} is the lower-case name of the language.
For example, suppose that a Spanish language abstract is desired. The user puts \texttt{[spanish]} as a global option (this language has an \texttt{.ldf} file), and then writes:
\begin{quotation}
\noindent\hbox{}\verb|\begin{selectlanguage}{spanish}|\\
@@ -419,10 +464,12 @@ The main language of the document is English by default. This means that secti
To chose a different main language, give the option \texttt{[main=..]}, e.g., \texttt{[main=french]}. The standard caption and section names will follow \texttt{babel}'s dictionary for the language chosen. Users may additionally change ``Keywords'', ``Nomenclature'', ``Corresponding author'', and ``Joint first authors'' by renewing the commands \verb|\keywordname|, \verb|\nomname|, \verb|\CAwords|, and \verb|\JAwords|. Changes to the page footer are described in the \AC\ documentation~\cite{lienhard2021}. The pdf bookmark for ``Appendices'' may be changed by renewing \verb|\appendicesname|. (See the \texttt{babel} documentation \cite[\S 1.15]{bezos2020} if the dictionary for the main language lacks the correct word for, say, \verb|abstractname|).
-Note that some languages make characters active, which can have unexpected effects. For example, Spanish makes ``.'' an active character, which clashes with the default \texttt{dcolumn} decimal separator, \texttt{d\{n.m\}}~\cite{dpc}. \texttt{\textbackslash spanishdeactivate\{.\}} stops this behavior. Alternatively, the decimal separator can be changed to a comma by putting \texttt{\textbackslash newcolumntype\{d\}[1]\{D\{,\}\{,\}\{\#1}\}\} in the preamble.
-
I have not explored this usage in detail, and I would welcome comments from authors who attempt such conversions.
+Note that some languages make characters active, which can have unexpected effects. For example, Spanish makes ``.'' an active character, which clashes with the default decimal separator when using \texttt{dcolumn}'s \texttt{d\{n.m\}}~\cite{dpc}. The command \texttt{\textbackslash spanishdeactivate\{.\}} stops this behavior. As of August 2024, \texttt{asmeconf} defines a \texttt{dcolumn} type \texttt{,\{n.m\}} that uses a comma (not a period) as the decimal separator.
+%Alternatively, the decimal separator can be changed to a comma by putting \texttt{\textbackslash newcolumntype\{d\}[1]\{D\{,\}\{,\}\{\#1}\}\} in the preamble.
+
+
%%% CONCLUSIONS %%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Conclusion}
diff --git a/macros/latex/contrib/asmejour/README.md b/macros/latex/contrib/asmejour/README.md
index 69fe1e00fc..612e0b027a 100644
--- a/macros/latex/contrib/asmejour/README.md
+++ b/macros/latex/contrib/asmejour/README.md
@@ -1,7 +1,7 @@
#asmejour: A template for ASME journal papers#
- Version 1.22 dated 2024/02/06.
+ Version 1.23 dated 2024/07/24.
####Overview####
This class provides a template to format preprints in the style of journal papers published by the American Society of Mechanical Engineers.
@@ -67,6 +67,14 @@
####Change log####
+v1.23 (2024/07/24)
+ - Add class option for single-column formatting, \[singlecolumn\], as sometimes requested for review (thanks Lennart Hultgren)
+ - Change language sample from French to German, to avoid active characters (from Fourier to Pohlhausen)
+ - Reduce size of line number font
+ - Adjust code for \\appendix to better accommodate tagged pdf
+ - Correct bug in babel main language selection
+ - Miscellaneous code clean up and simplification
+
v1.22 (2024/02/06)
- The newtx package has dropped superiors option, so asmejour has dropped the \[superiors\] option and related code.
- Dropped legacy options \[lang, lang-second, lang-third\]
diff --git a/macros/latex/contrib/asmejour/asmejour-sample.bib b/macros/latex/contrib/asmejour/asmejour-sample.bib
index 3b715d3d05..08438fd94d 100644
--- a/macros/latex/contrib/asmejour/asmejour-sample.bib
+++ b/macros/latex/contrib/asmejour/asmejour-sample.bib
@@ -1,6 +1,6 @@
%% Sample bibliography file for asmejour.bst and asmejour.cls
%%
-%% Revised: 06 February 2024
+%% Revised: 21 July 2024
%% Copyright John H. Lienhard, MIT
%% Offered under the MIT license: https://ctan.org/license/mit
@@ -350,9 +350,22 @@
title = {Th\'{e}orie Analytique de la Chaleur},
publisher = {Firmin Didot, P\`{e}re et Fils},
address = {Paris},
- url = {https://archive.org/details/analyticaltheory00fourrich},
+ url = {https://archive.org/details/analyticaltheory00fourrich},
}
+@article{pohlhausen1921,
+ author = {Pohlhausen, E.},
+ title = {Der {W}\"{a}rmeaustausch zwischen festen K\"{o}rpern und {F}l\"{u}ssigkeiten mit kleiner reibung und kleiner {W}\"{a}rmeleitung},
+ journal = {Zeitschrift f\"{u}r {A}ngewandte {M}athematik und {M}echanik},
+ volume = {1},
+ number = {2},
+ pages = {115--121},
+ doi = {10.1002/zamm.19210010205},
+ year = {1921},
+}
+%url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/zamm.19210010205},
+
+
@techreport{reynolds1958,
author = {W. C. Reynolds and W. M. Kays and S. J. Kline},
title = {Heat transfer in the Incompressible Turbulent Boundary Layer. {I}---Constant Wall Temperature},
diff --git a/macros/latex/contrib/asmejour/asmejour-template.pdf b/macros/latex/contrib/asmejour/asmejour-template.pdf
index 6fc9631010..c15cc9f797 100644
--- a/macros/latex/contrib/asmejour/asmejour-template.pdf
+++ b/macros/latex/contrib/asmejour/asmejour-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmejour/asmejour-template.tex b/macros/latex/contrib/asmejour/asmejour-template.tex
index 18ae24c057..7e3f8a2930 100644
--- a/macros/latex/contrib/asmejour/asmejour-template.tex
+++ b/macros/latex/contrib/asmejour/asmejour-template.tex
@@ -3,7 +3,7 @@
%%
%% This file is asmejour-template.tex, a template to format papers in the style of ASME journal papers.
%%
-%% This file is version 1.22 dated 2024/02/06
+%% This file is version 1.23 dated 2024/07/24
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -33,8 +33,10 @@
%%
%% * Option to omit all ASME text fields from the footer [nofoot].
%%
+%% * Option for single column formatting [singlecolumn].
+%%
%% * Options for PDF/A compliance. With pdfTeX, [pdf-a] will produce PDF/A-3u compliance with sRGB OutputIntent.
-%% * [pdfapart= 1 or 2 or 3] and [pdfaconformance= b or u] can enable levels 1b, 2b, 2u, and 3b.
+%% * [pdfapart= 1 or 2 or 3] and [pdfaconformance= b or u] will select other levels: 1b, 2b, 2u, and 3b.
%% *
%% * Recently, LaTeX (2021 and later) has integrated support for pdf-a, through the \DocumentMetadata{..}
%% * command. This approach works with both pdfTeX and luaLaTeX. The asmeconf class supports this new feature,
@@ -59,8 +61,8 @@
%% * [hyphenate] allow hyphenation, with pdfTeX only (normally, the typewriter font is not hyphenated)
%%
%% * Options for the babel package to support passages in other languages (such as a translated
-%% * abstract in an appendix), e.g. [french]. The main language will default to English
-%% * unless a different main language is selected, e.g. [main=spanish]. See Appendix C for details.
+%% * abstract in an appendix), e.g. [german]. The main language will default to English
+%% * unless a different main language is selected, e.g. [main=spanish]. See Appendix B for details.
%%
%% For details of the newtx and mathalfa packages, refer to their documentation (available at CTAN: http://ctan.org).
%%
@@ -82,16 +84,16 @@
%% see https://www.latex-project.org/news/latex2e-news/ltnews35.pdf
%% Uncomment the next lines and omit the option [pdf-a], if you are using an up-to-date LaTeX platform
-%\DocumentMetadata{%
-% pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
-% pdfversion=1.7,
-% lang=en-US,
-%}
+\DocumentMetadata{%
+ pdfstandard=A-3u,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
+ pdfversion=1.7,
+ lang=en-US,
+}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Class options are described above.
-\documentclass[upint,varvw,barcolor=Goldenrod3,mathalfa=cal=euler,balance,hyphenate,french,pdf-a]{asmejour}% subscriptcorrection,
+\documentclass[nocopyright,upint,varvw,barcolor=Goldenrod3,mathalfa=cal=euler,balance,hyphenate,german]{asmejour}% subscriptcorrection,french
%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -121,11 +123,14 @@
% Use title case (upper and lower case letters)
% Note usage below for corresponding author.
-\SetAuthorBlock{Author Name[s]}{Department of Mechanical Engineering,\\
- Institution or Company Name,\\
- Street address,\\
- City, State, Country\\
- email: xxx@yyy.zzz}
+\SetAuthorBlock{John H.\ Lienhard\CorrespondingAuthor}{%
+ Fellow ASME\\
+ Rohsenow Kendall Heat Transfer Laboratory,\\
+ Department of Mechanical Engineering,\\
+ Massachusetts Institute of Technology,\\
+ Cambridge, MA 02139 USA\\
+ email: lienhard@mit.edu
+}
% To label one or more corresponding authors put "Name\CorrespondingAuthor". No space after "Name".
% An optional argument can be added if email is not in address block as
@@ -133,14 +138,12 @@
% Can also include multiple emails and use the command more than once for multiple corresponding authors,
% "Name\CorrespondingAuthor{write@to.him, write@to.her}"
-\SetAuthorBlock{John H.\ Lienhard V\CorrespondingAuthor}{%
-Fellow ASME\\
-Rohsenow Kendall Heat Transfer Laboratory,\\
-Department of Mechanical Engineering,\\
-Massachusetts Institute of Technology,\\
-Cambridge, MA 02139 USA\\
-email: lienhard@mit.edu
-}
+\SetAuthorBlock{Author Name[s]}{Department of Mechanical Engineering,\\
+ Institution or Company Name,\\
+ Street address,\\
+ City, State, Country\\
+ email: xxx@yyy.zzz
+}
%%% Change to your paper title. Can insert line breaks if you wish (otherwise breaks are selected automatically).
\title{Preprint Template for ASME\\ Journal Papers: asmejour.cls}
@@ -164,6 +167,7 @@ This paper is an example and {\upshape\LaTeX} template for the {\upshape\texttt{
\maketitle %% This command creates the author/title/abstract block. Essential!
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%% End of fields to be completed. Now write! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -227,7 +231,7 @@ Section, subsection, and subsubsection headings should be in title case (first l
%% captions go below figures
\begin{figure}
-\centering\includegraphics[width=\linewidth]{sample-figure-1.pdf}
+\centering\includegraphics[width=\linewidth,alt={Linearization errors}]{sample-figure-1.pdf}
\caption{Caption with math, eqn.~\eqref{eqn:1}: $\Delta T/T_m$ vs.\ $\Delta T/T_1$~\cite{lienhard2019}\label{fig:1}}
\end{figure}
@@ -466,8 +470,12 @@ As of June 2022, the \LaTeX 3 team has added native support for PDF/A in the \La
\subsection{Typewriter Font Options} This font is the sans-serif, monospaced font \texttt{inconsolata}. By default, the word spacing is variable, but option \texttt{[mono]} ends this behavior. A slashed zero is the default; option \texttt{[var0]} removes the slash. Option \texttt{[hyphenate]} enables hyphenation of the typewriter font when running \hologo{pdfTeX}.
+\subsection{Single column layout} The option \texttt{[singlecolumn]} switches from two-column to single-column layout.
%%%%%%%%%%%%%%% begin two column table %%%%%%%%%%%%%%%%%%
+%
+% note: the fourth column could be a dcolumn instead of using \makebox, with d{1.4} replacing c column.
+%
\begin{table*}[t]
\caption{A table spanning two columns}\label{tab:4}%
\centering{%
@@ -478,7 +486,8 @@ As of June 2022, the \LaTeX 3 team has added native support for PDF/A in the \La
\multicolumn{1}{c!{\hspace*{3.em}}}{$\textrm{erfc}(x)$} &
\multicolumn{1}{c}{$x$} &
\multicolumn{1}{c}{$\textrm{erf}(x)$} &
-\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\ \midrule
+\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\
+\midrule
0.00 & 0.00000 & 1.00000 & 1.10 & 0.88021 & 0.11980 \\
0.05 & 0.05637 & 0.94363 & 1.20 & 0.91031 & 0.08969 \\
0.10 & 0.11246 & 0.88754 & 1.30 & 0.93401 & 0.06599 \\
@@ -554,7 +563,7 @@ Acknowledge individuals, institutions, or companies that supported the authors i
\entry{b}{bulk value}
\entry{$\infty$}{free stream value}
-\end{nomenclature}
+\end{nomenclature}
%%%%%%%%%%%%%%% APPENDICES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -571,31 +580,30 @@ Acknowledge individuals, institutions, or companies that supported the authors i
This text is just for illustration. The radiation fractional function may be written in terms of the incomplete zeta function for convenience:
\begin{align}
-f(\lambda T) = {}& \frac{1}{\sigma T^4} \int_0^\lambda\frac{2\pi h c_o^2}{\lambda^5 \left[ \exp (h c_o/k_B T \lambda) - 1\right] } \, d\lambda \\
- = {}& \frac{1}{\sigma T^4}\frac{2\pi k_B^4 T^4}{h^3c_o^2}\int^\infty_{c_2/\lambda T}\frac{t^3}{e^t -1}\, dt\label{eqn:zeta}
+f(\lambda T) &= \frac{1}{\sigma T^4} \int_0^\lambda\frac{2\pi h c_o^2}{\lambda^5 \left[ \exp (h c_o/k_B T \lambda) - 1\right] } \, d\lambda \\
+ &= \frac{1}{\sigma T^4}\frac{2\pi k_B^4 T^4}{h^3c_o^2}\int^\infty_{c_2/\lambda T}\frac{t^3}{e^t -1}\, dt\label{eqn:zeta}
\end{align}
When $\lambda T \rightarrow \infty$, $f = 1$ and the last equation yields the well-known result
\begin{equation}
- {\sigma T^4} =\frac{2\pi k_B^4 T^4}{h^3c_o^2} \underbrace{\int_0^\infty \frac{t^3}{e^t - 1} \, dt}_{\equiv\mspace{2mu} \zetaup(4)\Gamma(4)}
+\sigma T^4 =\frac{2\pi k_B^4 T^4}{h^3c_o^2} \underbrace{\int_0^\infty \frac{t^3}{e^t - 1} \, dt}_{\equiv\mspace{2mu} \zetaup(4)\Gamma(4)}
\end{equation}
where the Gamma function $\Gamma(4) = 3!$ and the Riemann zeta function, $\zetaup(4)$, has the indicated integral representation \cite[\S13.12]{ww1927}. A classical result due to Euler \cite{euler1740} gives $\zetaup(4) = \pi^4/90$ (see also \cite[\S167]{euler1748}), from which we recover the usual definition of the Stefan-Boltzmann constant, $\sigma$.
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Language Support}
+\section{Language Support\label{app:language}}
ASME publishes in English, but the \texttt{babel} package is loaded for users who may wish to include other languages.
For example, an author might wish to include an appendix that provides the abstract in another language.
When more than one language option is included in \verb|\documentclass[..]{asmejour}|, English will be
assumed to be the main language of the document. (To choose a different main language, set \texttt{[main=..]}).
-If no language options are given, the package defaults to English. As an example, a passage in French is
-shown in \selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english}.
+If no language options are given, the package defaults to English. As an example, a passage in German is
+shown in \selectlanguage{german}\appendixname~\ref{app:pohlhausen}\selectlanguage{english}.
The standard caption and section names will follow \texttt{babel}'s dictionary for primary languages other than English. Users may additionally change ``Keywords'', ``Nomenclature'', and ``Corresponding author'' by renewing the commands \verb|\keywordname|, \verb|\nomname|, and \verb|\CAwords|. Changes to the page footer were described in Sec.~\ref{sec:footer}. The pdf bookmark for ``Appendices'' by be changed by renewing \verb|\appendicesname|.
The font encoding is set to T1 and utf-8 input is supported:
-%% If you have trouble with the next line (or the French text that follows), your file may not be saved in utf-8 format. You can delete these lines to resolve the issue.
+%% If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete these lines to resolve the issue.
\typeout{If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue.}
\ifluatex\typeout{Under LuaLaTeX, some of these accents must be obtained as escaped characters, with \=a, \c{e}, \l, \.o, \oe, \v{z}, \'z, etc.}\fi
àáâäæãåā èéęëêēė îïíīįì ôöòóœøōõ ûüùúū çćč ł ñń ßśš ÿ žźż
@@ -604,18 +612,13 @@ No effort has been made to support customization of language-specific fonts (som
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\selectlanguage{french}
-\section{Discours Préliminaire de Fourier}\label{app:fourier}
-
-Les causes primordiales ne nous sont point con­nues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'obser­vation, et dont l'étude est l'objet de la philosophie naturelle.
-
-La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élé­ment. Cette théorie formera désormais une des branches les plus importantes de la physique gé­nérale~\cite{fourier1822}.
+\selectlanguage{german}
+\section{Der Wärmeaustausch zwischen festen Körpern und Flüssigkeiten mit kleiner reibung und kleiner Wärmeleitung (von E. Pohlhausen)\label{app:pohlhausen}}
+In einer strömenden Flussigkeit sind Wärmeleitung und Wärmekonvektion Vorgänge, die mit der inneren Reibung (oder Impulsleitung) und mit der Impulskonvektion große Aehnlichkeit besitzen. Mathematisch findet dies seinen Ausdruck in dem gleichartigen Bau der Differentialgleichungen, die einerseits für die Temperatur und anderseits für den Geschwindigkeitsvektor in der Flüssigkeit bestehen. Man kann daraus auf eine Beziehung
+zwischen dem Wärmeaustanch und dem Reibungswiderstand schließen, die eine strömende Flüssigkeit an einem festen Körper hervorrufen. Dies ist zuerst von Prandtl ausgesprochen und durchgeführt worden, und zwar für turbulente Vorgänge, unter der vereinfachenden Annahme von Wärmequellen und -senken im Innern der Flüssigkeit~\cite{pohlhausen1921}.
\selectlanguage{english}
-% When you drop the [french] option, delete your .aux file as well, since [french] sets ":" as an active character.
-
-
%%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\nocite{*} %% <=== Delete this line - unless you wish to typeset the entire contents of your .bib file.
diff --git a/macros/latex/contrib/asmejour/asmejour.cls b/macros/latex/contrib/asmejour/asmejour.cls
index 095964ffc7..a8cd43eae2 100644
--- a/macros/latex/contrib/asmejour/asmejour.cls
+++ b/macros/latex/contrib/asmejour/asmejour.cls
@@ -4,10 +4,9 @@
%%
%% The asmejour.cls file should be used with the files asmejour.bst (for citations) and asmejour-template.tex.
%%
-%%
%% This file's version and date are:
- \def\versionno{1.22}
- \def\versiondate{2024/01/30\space}
+ \def\versionno{1.23}
+ \def\versiondate{2024/07/24\space}
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -22,14 +21,14 @@
%% 4. Support citations, footnotes, and bold face math in section headings
%% 5. Provide optional line numbers for editing and review
%% 6. Support balancing height of columns on the last page
-%% 7. Support the archival PDF/A standards 1b, 2b, 2u, 3b, and 3u
+%% 7. Support archival PDF/A standards
%% 8. Provide copyright notices for government employees and government contractors
%% 9. Enable various math and text features from the newtxmath, mathalfa, and newtxtext packages
%% 10. Support inclusion of passages in languages other than English
%%
%% This class is compatible with both pdfLaTeX and LuaLaTeX. All packages required by the class
-%% are in standard distributions, such as TeXLive, and are also available at CTAN (https://ctan.org/).
-%% The use of an up-to-date (Feb. 2020 or later) and complete LaTeX distribution is strongly recommended.
+%% are in standard distributions, such as TeX Live, and are also available at CTAN (https://ctan.org/).
+%% The use of an up-to-date (Nov. 2022 or later) and complete LaTeX distribution is strongly recommended.
%%
%% The title block is set by specific commands that are described in the asmejour-template.tex file.
%%
@@ -57,72 +56,79 @@
%% 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.
%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{asmejour}[\versiondate asmejour paper format]
-\LoadClass[twoside,9pt,twocolumn]{extarticle}
-
-\ifdefined\NewDocumentCommand\else
- \RequirePackage{xparse}[2020/02/25]
-\fi
+\LoadClass[twoside,9pt]{extarticle}% twocolumn format initiated in \MakeTitle command 2024/07/20
\RequirePackage{iftex}% provides \ifpdftex, etc.
\RequirePackage{ifthen}
-%%%%%%%%%%%%% Test compatibility of older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ExplSyntaxOn
+ \str_const:Nn \ClassName {asmejour}
+\ExplSyntaxOff
-\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% compare version to date; \If... added to latex 2020/10/01
-\providecommand\IfPackageAtLeastTF{\@ifpackagelater}% compare version to date; \If... added to latex 2020/10/01
-\providecommand\IfPackageLoadedTF{\@ifpackageloaded}% \If...added to latex 2021/11/15
+%%%%%%%%%%%%% Some compatibility for older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\IfFormatAtLeastTF{2020/02/25}{%
- \ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020/10/01 or later are strongly recommended, for best results}
- }{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2020/10/01 or later are recommended for the asmejour class. Older formats may generate errors or fail entirely!}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past the errors for now, but your abstract will probably not compile properly if you lack the xparse package [2020/02/25], and the code will crash entirely if you lack the iftex package [2019/11/07].}%
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% compare version to date; \If... added to latex 2020/10/01
+\providecommand\IfPackageAtLeastTF{\@ifpackagelater}% compare version to date; \If... added to latex 2020/10/01
+\providecommand\IfPDFManagementActiveTF{\@secondoftwo}% \If... added to latex 2021/07/23
+\providecommand\IfPackageLoadedTF{\@ifpackageloaded}% \If...added to latex 2021/11/15
+\providecommand\ClassNoteNoLine[2]{\typeout{^^JClass Note #1: #2.^^J}}% log & terminal note... added to latex 2021/11/15
+
+\IfFormatAtLeastTF{2020/10/01}{\relax}{%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. Formats dated 2020/10/01 or later are recommended for the asmejour class. Older formats may generate errors or fail entirely!}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past any errors for now, but your abstract will not compile properly if you lack the xparse package [2020/02/25], and the code will crash entirely if you lack the iftex package [2019/11/07].}%
}
-
-\DeclareDocumentCommand\LogNote{m}{%
- \IfFormatAtLeastTF{2021/11/15}{%
- \ClassNoteNoLine{asmejour}{#1}% Added to LaTeX in Nov. 2021
- }{%
- \ClassWarningNoLine{asmejour}{#1}%
+
+% check whether pdfmanagement (\DocumentMetadata) has been loaded (else fall back to hyperxmp and bookmark packages after loading hyperref)
+\newif\ifasme@pdfmanagement
+\IfPDFManagementActiveTF{
+ \asme@pdfmanagementtrue
+}{
+ \asme@pdfmanagementfalse
+ \ClassWarningNoLine{\ClassName}{pdfmanagement is not active. Will load hyperxmp and bookmark packages instead}
+}
+
+% Allow pre 2021/11/15 formats to see the graphicx alt key without causing an error
+\IfFormatAtLeastTF{2021/11/15}{
+ \relax
+}{
+ \AtBeginDocument{
+ \IfPackageLoadedTF{graphicx}{\define@key{Gin}{alt}{}}{\relax}
}
}
-%% Test whether \DocumentMetadata has been loaded (Thank you Ulrike Fischer)
-\newif\if@asme@pdfmanagement
-\ExplSyntaxOn
-\bool_if:nTF
- {
- \bool_lazy_and_p:nn
- {\cs_if_exist_p:N \pdfmanagement_if_active_p:}
- { \pdfmanagement_if_active_p: }
- }
- {
- \@asme@pdfmanagementtrue
- }
- {
- \@asme@pdfmanagementfalse
- }
-\ExplSyntaxOff
+% Enable pre-2020/10 formats to access essential macros later moved into LaTeX kernel
+\ifdefined\NewDocumentCommand\else
+ \RequirePackage{xparse}[2020/02/25]
+\fi
+
+% Provide pre-2020/10 installations with basic unicode character mappings
+\IfFormatAtLeastTF{2020/10/01}{\relax}{%
+ \pdfgentounicode=1 %% enable CMaps; was moved into the latex kernel Oct 2020
+ \input glyphtounicode.tex %% lists of mappings; was moved into the latex kernel Oct 2020
+}
-%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{kvoptions}% this package calls kvsetkeys
\SetupKeyvalOptions{
- family=asmejour,
+ family=\ClassName,
prefix=asmejour@,
setkeys=\kvsetkeys,
}
%% for mathalfa, so we may pass options in this format: mathalfa=cal=euler, mathalfa=frak=boondox
-\define@key{asmejour}{mathalfa}{%
+\define@key{\ClassName}{mathalfa}{%
\PassOptionsToPackage{#1}{mathalfa}%
}
+%% Option to obtain line numbers [singlecolumn], 2024/07/20
+\DeclareBoolOption{singlecolumn}
+
%% Option to obtain line numbers [lineno]
\DeclareBoolOption{lineno}
@@ -132,6 +138,12 @@
%% Option to omit lists of figures and tables
\DeclareBoolOption{nolists}
+%% Option to omit ASME copyright notice [nocopyright]
+\DeclareBoolOption{nocopyright}
+
+%% Option to omit ASME footers [nofoot]
+\DeclareBoolOption{nofoot}
+
%% Option for copyright notice if all authors are government employees [govt]
\DeclareBoolOption{govt}
@@ -141,57 +153,54 @@
%% Option for government contractor copyright notice [contractor]
\DeclareBoolOption{contractor}
-%% set [barcolor=] to a color name defined by xcolor package
+%% set key [barcolor=] to pass a color name defined by xcolor package
\DeclareStringOption[black]{barcolor}
-%% the key main= passes the choice of main language to babel
+%% the key [main= ] to pass the choice of main language to babel
\newif\ifaj@mainset\aj@mainsetfalse
-\define@key{asmejour}{main}[english]{%
+\define@key{\ClassName}{main}{%
\PassOptionsToPackage{main=#1,#1}{babel}% added #1 resolves conflicts between certain .ldf files under "main=".
\aj@mainsettrue
- \ifthenelse{\equal{#1}{english}}{%
- \PassOptionsToPackage{pdflang=en}{hyperref}}{%
- \LogNote{Selecting #1 as the primary language}
- }%
+ \ClassNoteNoLine{\ClassName}{Selecting #1 as the primary language}
}
-%% if main language was not chosen explicitly, default to English
-\ifaj@mainset\relax\else
- \PassOptionsToPackage{main=english}{babel}%
- \PassOptionsToPackage{pdflang=en}{hyperref}
- \ClassInfo{Selecting English as the primary language, since main= not set}%
-\fi
-
%% Suppress warnings about unused global options, 2021/12/01
-\DeclareDefaultOption{}% suppress warning about unused mathalfa option
+\DeclareDefaultOption{}
-\ProcessKeyvalOptions{asmejour}
+\ProcessKeyvalOptions{\ClassName}
%% Turn off these keys now that we're done with them
\NewDocumentCommand\aj@DisableOption{m}{%
\DisableKeyvalOption[%
action=ignore,%
- class=asmejour%
+ class=\ClassName%
]{#1}{\@KeyFamily}%
}
\NewDocumentCommand\@DisableKeys{>{\SplitList{;}}m}{\ProcessList{#1}{\aj@DisableOption}}
-\def\@KeyFamily{asmejour}
-\@DisableKeys{mathalfa;barcolor;lineno;balance;nolists;govt;govtsome;contractor;main}
+\def\@KeyFamily{\ClassName}
+\@DisableKeys{mathalfa;singlecolumn;lineno;balance;nolists;nocopyright;nofoot;govt;govtsome;contractor;barcolor;main}
+
+
+%% if main language was not was chosen explicitly, default to English
+\ifaj@mainset\relax\else
+ \PassOptionsToPackage{main=english}{babel}%
+ \ClassNoteNoLine{\ClassName}{Selecting English as the primary language, since main= not set}%
+\fi
-%%%%%%% PDF/A Compliance Keys %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%% PDF/A Compliance Keys %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this approach.
\newif\ifaj@setpdfa\aj@setpdfafalse
\newif\ifaj@pdfaone\aj@pdfaonefalse
-\if@asme@pdfmanagement\else
+\ifasme@pdfmanagement\else
\SetupKeyvalOptions{
family=pdfaopt,
- prefix=pdafopt@,
+ prefix=pdfaopt@,
setkeys=\kvsetkeys,
}
@@ -201,7 +210,7 @@
\define@key{pdfaopt}{pdf-a}[true]{%
\aj@setpdfatrue
\PassOptionsToPackage{pdfa}{hyperref}
- \AtBeginDocument{\hypersetup{pdfapart=3,pdfaconformance=u}}% note: hyperref takes these options if hyperxmp is loaded
+ \AtBeginDocument{\hypersetup{pdfapart=3,pdfaconformance=u}}% hyperref takes these options if hyperxmp is loaded
}
%%% to select part 1, 2 or 3
\define@key{pdfaopt}{pdfapart}[3]{%
@@ -209,7 +218,7 @@
\AtBeginDocument{\hypersetup{pdfapart=\asmejour@tempa}}
\ifthenelse{\equal{#1}{1}}{\aj@pdfaonetrue}{\relax}%
}
- %% to select conformance b or u. NB: a is not possible with pdfLaTeX, and u is not possible with 1.
+ %% to select conformance b or u. NB: a is not currently possible with pdfLaTeX; u not possible with 1.
\ExplSyntaxOn
\define@key{pdfaopt}{pdfaconformance}[u]{%
\str_set:Ne \l_tmp_str { \str_uppercase:n {#1} }
@@ -236,9 +245,10 @@
\pdfminorversion=7 % this selection is not required
\fi
\else
- \ifaj@setpdfa\ClassWarningNoLine{asmejour}{pdf-a option requires pdfLaTeX engine. Under LuaLaTeX, use %
- \protect\DocumentMetadata{pdfstandard=A-3b} before \protect\documentclass[..]{asmeconf}}\fi%
- \ifx\directlua\undefined\else
+ \ifaj@setpdfa\ClassWarningNoLine{\ClassName}{pdf-a option requires pdfLaTeX. Under LuaLaTeX, use %
+ \protect\DocumentMetadata{pdfstandard=A-3b} before \protect\documentclass[..]{\ClassName}}%
+ \fi
+ \ifx\directlua\undefined\else % default under lualatex is 1.4
\directlua{
if pdf.getminorversion() \string~= 7 then
if (status.pdf_gone and status.pdf_gone > 0)
@@ -248,58 +258,28 @@
pdf.setminorversion(7)
end
end
+ }
\fi
- }% will lose some accented characters this way... better to use fontspec, if the system fonts exist.
\fi
\fi
-%%%%%%%%%% Further class options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%% Option to omit ASME footer
-\DeclareOption{nofoot}{%
- \AtBeginDocument{\pagestyle{plain}%
- \fancypagestyle{title}{%
- \fancyhf{}
- \fancyfoot[CE,CO]{\thepage}
- }
- }
-}
-
-%% Option to omit ASME copyright
-\DeclareOption{nocopyright}{%
- \AtBeginDocument{\fancypagestyle{title}{%
- \fancyhf{}
- \fancyfoot[RO]{\large\sffamily \@PreprintStringR\space\space\bfseries/\space\space\@PaperNumber\thepage}
- \fancyfoot[LO]{\large\bfseries\sffamily Journal of \@JourName}
- \fancyfoot[CO]{}
- }
- }
-}
+%%%%%%%%% Various font-related options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Option for slightly larger small capitals font [largesc], corrected 2021/01/29
\DeclareOption{largesc}{\PassOptionsToPackage{largesc=true}{newtxtext}}% largesc is a boolean key in newtxtext
-%% ASME word separation is greater than newtxtext defaults so change these parameters.
-\PassOptionsToPackage{spacing=0.3em, stretch=0.18em, shrink=0.10em}{newtxtext}% increased shrink from 0.08, 2021/01/30
-
%% Disable newtxtext osf option, which is not appropriate for documents in this class
\DeclareOption{osf}{%
\PassOptionsToPackage{lining}{newtxtext}%
}
-%% Option to hyphenate the typewriter font [hyphenate]
-\DeclareOption{hyphenate}{%
- \PassOptionsToPackage{hyphenate}{inconsolata}%
- \LogNote{Allowing hyphenation of typewriter font}%
-}
-
\DeclareOption{hyphenate}{%
\ifpdftex
\PassOptionsToPackage{hyphenate}{inconsolata}% hyphenate is a key via xkeyval in inconsolata
- \LogNote{Allowing hyphenation of typewriter font}%
+ \ClassNoteNoLine{\ClassName}{Allowing hyphenation of typewriter font}%
\else
- \ClassWarningNoLine{asmejour}{The [hyphenate] option is only supported with pdftex. It will be ignored}%
+ \ClassWarningNoLine{\ClassName}{The [hyphenate] option is only supported with pdftex. It will be ignored}%
\fi
}
@@ -329,7 +309,7 @@
\ProcessOptions \relax
-%%%%%%%%%%%% Page size, bibliography, graphics, color, etc. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%% Page size, bibliography, graphics, color %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage[paperheight=285.7mm, paperwidth=215.900mm, left=21.100mm, right=21.100mm, top=15.9mm, bottom = 24mm, footskip=8mm]{geometry}
\setlength\columnsep{4.5mm}
@@ -342,22 +322,8 @@
\renewcommand*{\bibfont}{\footnotesize}
\RequirePackage{graphicx}
-\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}% remove obsolete options, 2023/10/23
+\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}% removed obsolete options, 2023/10/23
-% Allow pre 2021/11/15 formats to see the graphicx alt key without causing an error, in preparation for tagged pdf
-\IfFormatAtLeastTF{2021/11/15}{
- \relax
-}{
- \AtBeginDocument{
- \IfPackageLoadedTF{graphicx}{\define@key{Gin}{alt}{}}{\relax}
- }
-}
-
-% Nice solution from DPC to prevent aux file errors when switching from pdflatex to lualatex
-\ifx\directlua\undefined
- \AtBeginDocument{\immediate\write\@auxout{\detokenize{%
- \ifx\directlua\undefined\else\endinput\fi}}}
-\fi
%%%%%%%%%%%%% Table related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -383,7 +349,9 @@
\ifpdftex
\RequirePackage[T1]{fontenc}
\RequirePackage[utf8]{inputenc}% for backward compatibility with pre-2018 LaTeX distributions
- \RequirePackage[helvratio=0.91]{newtxtext}% add this scaling 2022/06/26
+ %% ASME word separation is greater than newtxtext defaults so change these parameters.
+ %% increased shrink from 0.08, 2021/01/30; add this helvetica scaling 2022/06/26
+ \RequirePackage[helvratio=0.91, spacing=0.3em, stretch=0.18em, shrink=0.10em]{newtxtext}% default {0.25em,0.2em,0.1em}
\RequirePackage[varl,varqu]{inconsolata}% sans typewriter font; restored varl, varqu 2020/08/10
\RequirePackage[]{newtxmath}
\else % use lualatex with newtxmath and fontspec for text primary fonts. Revised 2023/10/21.
@@ -396,20 +364,20 @@
%
\RequirePackage[varqu,varl]{inconsolata} % typewriter font for math
\renewcommand\rmdefault{ntxtlf} % roman font for math
- \DeclareFontFamily{T1}{\sfdefault}{} % sf for math
+ \DeclareFontFamily{T1}{\sfdefault}{} % sf for math
\DeclareFontShape{T1}{\sfdefault}{m}{n}{<-> s*[0.94] ec-qhvr}{} %% see t1qhv.fd; 0.9-->0.94 2022/01/15
\RequirePackage[]{newtxmath} % newtxmath still handles mathematics
\RequirePackage[no-math]{fontspec}
\defaultfontfeatures{Ligatures=TeX,}
%
- \def\FontWarning{For luaLaTeX, you MUST have these OpenType fonts installed as system fonts on your computer: TeX Gyre Termes and TeX Gyre Heros (from \string http://www.gust.org.pl/projects/e-foundry/tex-gyre) and Inconsolatazi4 (\string https://ctan.org/tex-archive/fonts/inconsolata/opentype). If DON'T have these fonts, you will see ERROR messages!}
+ \def\FontWarning{For luaLaTeX, you MUST have these OpenType fonts installed as system fonts on your computer: TeX Gyre Termes and TeX Gyre Heros (from \string http://www.gust.org.pl/projects/e-foundry/tex-gyre) and Inconsolatazi4 (\string https://ctan.org/tex-archive/fonts/inconsolata/opentype). If you DON'T have these fonts, you will see ERROR messages!}
%
- \IfFontExistsTF{TeXGyreTermesX}{}{\ClassWarning{asmeconf}{\FontWarning} }
- \IfFontExistsTF{texgyreheros}{}{ \ClassWarning{asmeconf}{\FontWarning} }
- \IfFontExistsTF{Inconsolatazi4}{}{\ClassWarning{asmeconf}{\FontWarning} }
+ \IfFontExistsTF{TeX Gyre Termes}{}{\ClassWarningNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{texgyreheros}{}{ \ClassWarningNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{Inconsolatazi4}{}{\ClassWarningNoLine{\ClassName}{\FontWarning} }
%
- \setmainfont{TeXGyreTermesX}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
- WordSpace = {1,1.4,1},%% This stretch matches newtxtext a little better. 1.4
+ \setmainfont{TeXGyreTermes}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
+ WordSpace = {1.20,1.43,1.2},%% This stretch matches newtxtext a little better (reset 2024/07/23)
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
@@ -418,7 +386,8 @@
Numbers = Lining,
]
\setsansfont{texgyreheros}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
- WordSpace = {1,1.4,1},
+ WordSpace = {1.20,1.43,1.2},%% This stretch matches newtxtext a little better (reset 2024/07/23)
+% WordSpace = {1,1.4,1},
Extension = .otf,
UprightFont = *-regular,
ItalicFont = *-italic,
@@ -443,7 +412,7 @@
\RequirePackage{bm}% load after all math for expanded access to bold math
-%% In addition to the word spacing options declared in line 235...
+%% In addition to the word spacing options declared in line 371...
%% Relative to size9.clo: leading reduced to 10 pt; displayskips made greater
\renewcommand\normalsize{%
\@setfontsize\normalsize\@ixpt{10\p@}% % <== was \@xipt
@@ -464,13 +433,12 @@
\newcommand*{\CondSans}{\fontencoding{T1}\fontfamily{qhvc}\selectfont}% remove extra \selectfont, 2023/10/21
\renewcommand\huge{\@setfontsize\huge{14}{14}} %... for author names only
\newcommand*{\CondSansBold}{\renewcommand\bfdefault{b}\fontencoding{T1}\fontfamily{qhvc}\selectfont\bfseries}
-\renewcommand\Huge{\@setfontsize\Huge{26.5}{26.5}} %... for title font only
+\renewcommand\Huge{\@setfontsize\Huge{26.5}{26.5}} %... for title only
\RequirePackage{metalogo,hologo}% Access to various LaTeX logos (for use in the documentation)
-%% This provides sans serif italic and sans serif bold italic math.
-%% It's intended for use in the figure and table captions.
-%% Fonts are from newtxsf package.
+%% This provides sans serif italic and sans serif bold italic math, against with fonts from newtxsf.
+%% For use in the figure and table captions.
\DeclareMathVersion{sansbold}
\SetSymbolFont{letters}{sansbold}{OML}{ntxsfmi}{b}{it}
\SetSymbolFont{lettersA}{sansbold}{U}{ntxsfmia}{b}{it}
@@ -480,8 +448,8 @@
\SetSymbolFont{operators}{sansbold}{\encodingdefault}{\sfdefault}{\bfdefault}{n}
\SetMathAlphabet{\mathsf}{sansbold}{\encodingdefault}{\sfdefault}{b}{n}% \mathsf is upright
-%% These lines are to provide math accents for the sans and sansbold math versions.
-%% The accents from ntxsfmi work normally with regular times fonts. Added 2021/01/27
+%% Provide math accents for the sans and sansbold math versions. Accents from ntxsfmi work normally
+%% with regular times fonts. 2021/01/27
\DeclareSymbolFont{lettersAB}{U}{ntxsfmia}{m}{it}
\SetSymbolFont{lettersAB}{normal}{U}{ntxsfmia}{m}{it}
\SetSymbolFont{lettersAB}{bold}{U}{ntxsfmia}{b}{it}
@@ -556,8 +524,7 @@
\DeclareMathSymbol{\sfhslash}{\mathalpha}{lettersAB}{52}% this is not upright
\DeclareMathSymbol{\sfhbar}{\mathalpha}{lettersAB}{53}% this is not upright
-%%% sans math version, potential value with PGFPlots, and provisionally called in subfigure captions.
-%%% this is experimental, still needs stress testing. 2021/01/30
+%%% sans math version, potential value with PGFPlots, called in subfigure captions. 2021/01/30
\DeclareMathVersion{sans}
\SetSymbolFont{letters}{sans}{OML}{ntxsfmi}{m}{it}
\SetSymbolFont{lettersA}{sans}{U}{ntxsfmia}{m}{it}
@@ -569,7 +536,7 @@
\SetMathAlphabet{\mathsf}{sans}{\encodingdefault}{\sfdefault}{m}{n}
-%%%%%%%%%%%%%%%%% Some adjustments to math layout %%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% Some adjustments to math layout %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setlength{\jot}{10pt}% <== default is 3pt
@@ -580,7 +547,7 @@
\allowdisplaybreaks % ASME allows these breaks
-%%%%%%%%%%%%%%%%% Equation and Line Numbering %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% Equation and Line Numbering %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{etoolbox}% patching amsmath
@@ -598,37 +565,36 @@
\ifasmejour@lineno
\RequirePackage[switch,mathlines]{lineno}%
- \renewcommand{\linenumberfont}{\normalfont\footnotesize\color{red}}%
+ \renewcommand{\linenumberfont}{\normalfont\scriptsize\color{red}}%
\AtBeginDocument{\linenumbers}%
\ifasmejour@balance
- \ClassWarningNoLine{asmejour}{Package lineno loaded, so final column balancing will be disabled}%
+ \ClassWarningNoLine{\ClassName}{Package lineno loaded, so final column balancing will be disabled}%
\fi
%%% Patch to allow line numbering in AMS math environments.
%%% This patch is for lineno versions earlier than v5.2 [2023/05/19]. As of mid-2023, the lineno package
%%% has been corrected to account for the AMS math environments. Retaining temporarily for backward compatibility.
%%% postdisplaypenalty adjusted to avoid extra line number at end, see: https://tex.stackexchange.com/a/461192/
- %%% multline has some additional problem that puts an extra line number above it.
\IfPackageAtLeastTF{lineno}{2023/05/19}{\relax}{
- \NewDocumentCommand{\ac@losepostpenalty}{}{\patchcmd{\linenomathWithnumbers}{\advance\postdisplaypenalty\linenopenalty}{}{}{}}
+ \NewDocumentCommand{\aj@losepostpenalty}{}{\patchcmd{\linenomathWithnumbers}{\advance\postdisplaypenalty\linenopenalty}{}{}{}}
%
- \NewDocumentCommand{\ac@FixAMSMath}{m}{%
- \AtBeginEnvironment{#1}{\ac@losepostpenalty\linenomath}%
+ \NewDocumentCommand{\aj@FixAMSMath}{m}{%
+ \AtBeginEnvironment{#1}{\aj@losepostpenalty\linenomath}%
\AtEndEnvironment{#1}{\endlinenomath}%
- \AtBeginEnvironment{#1*}{\ac@losepostpenalty\linenomath}%
+ \AtBeginEnvironment{#1*}{\aj@losepostpenalty\linenomath}%
\AtEndEnvironment{#1*}{\endlinenomath}%
}
%
- \NewDocumentCommand{\ac@FixAll}{>{\SplitList{;}}m}{\ProcessList{#1}{\ac@FixAMSMath}}
+ \NewDocumentCommand{\aj@FixAll}{>{\SplitList{;}}m}{\ProcessList{#1}{\aj@FixAMSMath}}
%
- \ac@FixAll{align;alignat;gather;flalign;multline}
+ \aj@FixAll{align;alignat;gather;flalign;multline}
}
%
\else
\ProvideDocumentEnvironment{linenomath}{}{}{}%
- \ifasmejour@balance % balancing through flushend can produce weird errors
- \RequirePackage{flushend}% flushend package is NOT compatible with lineno
+ \ifasmejour@balance % balancing through flushend can produce weird errors.
+ \RequirePackage{flushend}% flushend package is NOT compatible with lineno.
\AtEndDocument{\flushcolsend}%
- \LogNote{Calling flushend package to balance column height on last page}%
+ \ClassNoteNoLine{\ClassName}{Calling flushend package to balance column height on last page}%
\fi%
\fi
@@ -638,9 +604,9 @@
%% ASME page proofs seem to align the number at top of the line, rather than bottom as done here.
-%%%%%%%%%%%%%%%%% Footer Set Up %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% Footer Set Up %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%% footer text names %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% footer text names %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\JourName}[1]{\gdef\@JourName{#1}}
\providecommand\@JourName{\hbox{ }}
@@ -650,8 +616,8 @@
}
\providecommand\@PaperYear{\the\year}
-\def\@PreprintStringL{PREPRINT FOR REVIEW}
-\def\@PreprintStringR{PREPRINT FOR REVIEW}
+\def\@PreprintStringL{PREPRINT}% updated 2024/07/24
+\def\@PreprintStringR{PREPRINT}
\NewDocumentCommand{\PreprintString}{m o}{%
\IfNoValueTF{#2}{%
@@ -668,32 +634,53 @@
%%%%%% Fancyhdr %%%%%%%%%%%%%%%%%%%%%%%%%
-\RequirePackage{fancyhdr}
+\RequirePackage{fancyhdr}% options revised 2024/07/23
\pagestyle{fancy}
\fancyhf{}% clear all header and footer fields
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
-\fancyfoot[RE]{\large\bfseries\sffamily Transactions of the ASME}
-\fancyfoot[LO]{\large\bfseries\sffamily Journal of \@JourName}
-\fancyfoot[RO]{\large\sffamily \@PreprintStringR\space\space\bfseries/\space\space\@PaperNumber\thepage}
-\fancyfoot[LE]{\large\sffamily {\bfseries \@PaperNumber\thepage\space\space/}\space\space\@PreprintStringL\ }
+\ifasmejour@nofoot
+ \fancyfoot[CE,CO]{\thepage}
+\else
+ \fancyfoot[RE]{\large\bfseries\sffamily Transactions of the ASME}
+ \fancyfoot[LO]{\large\bfseries\sffamily Journal of \@JourName}
+ \fancyfoot[RO]{\large\sffamily \@PreprintStringR\space\space\bfseries/\space\space\@PaperNumber\thepage}
+ \fancyfoot[LE]{\large\sffamily {\bfseries \@PaperNumber\thepage\space\space/}\space\space\@PreprintStringL\ }
+\fi
-\fancypagestyle{title}{%
+\fancypagestyle{title}{% is an odd page
\fancyhf{}% clear all header and footer fields
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
- \fancyfoot[RO]{\large\sffamily \@PreprintStringR\space\space\bfseries/\space\space\@PaperNumber\thepage}
- \fancyfoot[LO]{\large\bfseries\sffamily Journal of \@JourName}
- \fancyfoot[CO]{\large\bfseries\sffamily Copyright \textcopyright\ \@PaperYear\ by ASME}
+ \ifasmejour@nofoot
+ \fancyfoot[CO]{\thepage}
+ \else
+ \fancyfoot[RO]{\large\sffamily \@PreprintStringR\space\space\bfseries/\space\space\@PaperNumber\thepage}
+ \fancyfoot[LO]{\large\bfseries\sffamily Journal of \@JourName}
+ \ifasmejour@nocopyright
+ \fancyfoot[CO]{}
+ \else
+ \fancyfoot[CO]{\large\bfseries\sffamily Copyright \textcopyright\ \@PaperYear\ by ASME}
+ \fi
+ \fi
}
+
%%%%%% Footnotes %%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{fnpos}
\makeFNbottom
\makeFNbelow
+\RequirePackage{footmisc}%
+\IfPackageAtLeastTF{footmisc}{2022/02/05}{
+ \PassOptionsToPackage{belowfloats}{footmisc}%
+ }{ \RequirePackage{fnpos}
+ \makeFNbottom
+ \makeFNbelow
+ }%
+\setlength\footnotemargin{4mm}% reduce indentation of footnotes, from footmisc
\setlength{\skip\footins}{12pt plus 2pt minus 1pt}
\renewcommand{\footnoterule}{%
@@ -702,10 +689,6 @@
\kern 2pt
}
-%% reduce indentation of footnotes
-\renewcommand\@makefntext[1]{%
- \noindent\makebox[4mm][r]{\@makefnmark}\hyphenpenalty=300\exhyphenpenalty=300 #1}% <== suppress hyphenation
-
%% Produces an unmarked footnote about the revision date.
%% This command is invoked by \date as part of \MakeTitlePage below.
%% Text can be anything given as the argument to \date{..}.
@@ -717,13 +700,13 @@
%% include a comma for sequential footnotes
\ExplSyntaxOn
- \cs_new:Npn \__asmejour_NoteComma:n { \peek_meaning:NT \footnote { \textsu{\mdseries,} } }
+ \cs_new:Npn \__asmejour_NoteComma:n { \peek_meaning:NT \footnote { \textsuperscript{\mdseries,} } }
\cs_new_eq:NN \__savefootnote \footnote
\cs_gset_protected:Npn \footnote #1 { \__savefootnote{#1}\__asmejour_NoteComma:n }
\ExplSyntaxOff
-%%%%%%%%% Caption Related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%% Caption Related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\addto{\captionsenglish}{%
\renewcommand{\figurename}{Fig.}
@@ -739,7 +722,7 @@
\captionsetup[figure]{labelfont={sf,bf},textfont={sf,bf},textformat=boldmath,labelsep=quad}
\captionsetup[table]{labelfont={sf,bf},textfont={sf,bf},textformat=boldmath,labelsep=quad,skip=0.5\baselineskip}
-%% 30 January 2021. ASME only labels subfigures with a sans serif, italic (a), (b),... no caption text, no bold face.
+%% 2021/01/30: ASME only labels subfigures with a sans serif, italic (a), (b),... no caption text, no bold face.
\captionsetup[subfigure]{labelfont={sf},textfont={sf},textformat=sansmath,labelformat=simple}% default: =parens
\renewcommand\thesubfigure{(\textit{\alph{subfigure}})}
@@ -747,7 +730,7 @@
\renewcommand\thesubtable{(\textit{\alph{subtable}})}
-%%%%%%%%%%%% Section Headings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%% Section Headings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage[raggedright,indentafter]{titlesec}
@@ -760,28 +743,28 @@
\titlespacing{\subsubsection}{\parindent}{12pt plus 3pt minus 2pt}{0.5em}
%% ASME style does not seem to go lower than third level heading, so ...
-%% ....putting \paragraph into \subsubsection settings.
+%% ...put \paragraph into \subsubsection settings.
\titleformat{\paragraph}[runin]{\itshape}{\thesubsubsection}{0.5em}{}[.]
\titlespacing{\paragraph}{\parindent}{14pt plus 3pt minus 2pt}{0.5em}
%% Special handling of the appendices
%% Assumes that appendices are the last technical content in paper
-\providecommand{\appendicesname}{Appendices}
-
-\RenewDocumentCommand{\appendix}{}{%
- \pdfbookmark[1]{\appendicesname}{appendices}
- \setcounter{section}{0}
- \renewcommand\thesection{\Alph{section}}
- \setcounter{equation}{0}
- \renewcommand\theequation{\Alph{section}\arabic{equation}}
- \titleformat{\section}[block]{\mathversion{bold}\bfseries\large\raggedright}{\appendixname\ \thesection:}{0.5em}{}[\setcounter{equation}{0}]
-}
+\providecommand*{\appendicesname}{Appendices}
+\newcounter{appeqn}%% Code revised to better support tagged pdf, 2024/07/24
+\patchcmd{\appendix}{%
+ \setcounter{subsection}{0}}{%
+ \setcounter{subsection}{0}%
+ \pdfbookmark[1]{\appendicesname}{appendices}%
+ \@addtoreset{equation}{appeqn}\stepcounter{appeqn}%
+ \gdef\theequation{\@Alph\c@section\@arabic\c@equation}%
+}{}{}
+\apptocmd{\appendix}{\titleformat{\section}[block]{\mathversion{bold}\bfseries\large\raggedright}{\appendixname\ \thesection:}{0.5em}{}}
%% natbib's \bibsection controls section heading for References.
-%%%%%%%%%%%%%%%%% List environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% List environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{enumitem}
@@ -789,24 +772,20 @@
%% I have no examples of sublists...
-%%%%%%%%%%%%%%%%% Hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% Hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this approach.
\ifpdftex
- %%% to assist with unicode glyph mapping, following M. Sharpe's recommendation in the newtx documentation.
- \IfFormatAtLeastTF{2020/10/01}{\relax}{%
- \pdfgentounicode=1 %% enable CMaps; has moved into the latex kernel Oct 2020
- \input glyphtounicode.tex %% lists of mappings; has moved into the latex kernel Oct 2020
- }
+ %%% to assist with unicode glyph mapping in pdf/a, per M. Sharpe's recommendation in newtx documentation
\InputIfFileExists{glyphtounicode-cmr.tex}{}{} %% additional mappings
\InputIfFileExists{glyphtounicode-ntx.tex}{}{} %% additional mappings
+ %% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this approach.
\ifaj@setpdfa
- %%%% the pdfmanagement options are experimental, from Ulrike Fischer 2021/06/12
- \if@asme@pdfmanagement
- \ClassInfo{asmejour}{pdfmanagement is defined. Class file will not load a color profile}
+ %%%% the pdfmanagement options from Ulrike Fischer 2021/06/12
+ \ifasme@pdfmanagement
+ \ClassInfo{\ClassName}{pdfmanagement is defined. Class file will not load a color profile}
\else
- \ClassInfo{asmejour}{pdfmanagement not defined. Class file will load a color profile}%
+ \ClassInfo{\ClassName}{pdfmanagement not defined. Class file will load a color profile}%
%%% a fairly generic RGB color profile, aimed at on-screen rendering (not print production)
\immediate\pdfobj stream attr{/N 3} file{sRGB.icc}
\pdfcatalog{%
@@ -826,41 +805,41 @@
%%%
-\RequirePackage[psdextra]{hyperref} % recent kernel transition suggests providing most hyperref options via \hypersetup,
- % but setting psdextra here (for additional math support in bookmarks) 2021/12/23
+\RequirePackage[psdextra]{hyperref} % provide most hyperref options via \hypersetup, but per documentation
+ % set [psdextra] here (for additional math support in bookmarks) 2021/12/23
\hypersetup{%
- pdfborder={0 0 0},%
- bookmarksnumbered=true,%
- bookmarksopen=true,%
- bookmarksopenlevel=1,%
- colorlinks=true,%
- linkcolor=blue, %
- citecolor=blue, %
- urlcolor=blue, %
- filecolor=red, % added 2021/12/23, to make certain broken links more apparent
- pdfnewwindow=true,%
- pdfpagelayout=SinglePage, %TwoPageRight,% changed 2020/08/12
- pdfdisplaydoctitle=true%
+ pdfborder={0 0 0},
+ bookmarksnumbered=true,
+ bookmarksopen=true,
+ bookmarksopenlevel=1,
+ colorlinks=true,
+ linkcolor=blue,
+ citecolor=blue,
+ urlcolor=blue,
+ filecolor=red, % added 2021/12/23, to make certain broken links more apparent
+ pdfnewwindow=true,
+ pdfpagelayout=SinglePage, % was TwoPageRight, changed 2020/08/12
+ pdfdisplaydoctitle=true,
}
\urlstyle{same} % don't switch to typewriter font
\RequirePackage{doi} % supports nasty characters in some doi's
\renewcommand{\doitext}{doi:~} % change the default, {doi:}, to this for ASME specification
-\RequirePackage{bookmark} % improves handling of pdf bookmarks
\providecommand*{\toclevel@subfigure}{1}% <== to address unknown bookmark level of subfigure. 2021/12/24
\providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code, 2021/12/22
%% This alias is also incorporated into asmejour.bst
-\if@asme@pdfmanagement
- \ClassInfo{asmejour}{pdfmanagement is defined. Class file will not load hyperxmp}
+\ifasme@pdfmanagement
+ \ClassInfo{\ClassName}{pdfmanagement is defined. Class file will not load hyperxmp}
\else
+ \RequirePackage{bookmark} %% improves handling of pdf bookmarks
\RequirePackage{hyperxmp} %% to fix transfer of metadata to Acrobat pdf
% Patch bug in hyperxmp, unless a more recent version is used.
\@ifpackagelater{hyperxmp}{2022/10/15}{% v5.11 or later
\relax
- % \ClassInfo{asmeconf}{hyperxmp v5.11 or later is in use}
+ % \ClassInfo{\ClassName}{hyperxmp v5.11 or later is in use}
}{%
\ifx\undefined\hyxmp@no@bad@parts\relax\else
\newcount\hypxmp@tempcnt
@@ -872,10 +851,11 @@
}
\fi
-%%%%%% Adjustments to accommodate hyperref bookmarks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%% Adjustments to accommodate hyperref bookmarks %%%%%%%%%%%%%%%%%%%%%%
-%%% ==> recent and evolving development of \pdfstring removes all robust commands from bookmarks, so
-%%% the following interventions may become unnecessary over time (2021/12/23).
+%%% Recent development of \pdfstring has removed all robust commands from bookmarks (2021/12/23).
+%%% By mid-2024, no errors are thrown except for \bm; however, these commands serve to still suppress warnings.
+%%% Math shift by $..$ still creates a warning, but I am leaving that in place. To avoid, use \( .. \) instead.
%% Since \bm is useful in headings, this fix will reduce frequency with which
%% alternate pdfstrings must be given in section command as \section[pdfstring]{texstring}
@@ -896,7 +876,7 @@
%% Ensure that tag color does not follow \eqref into bookmarks, 2020/02/28
\pdfstringdefDisableCommands{%
- \def\eqref#1{(\ref{#1})}%
+ \def\eqref#1{(\ref*{#1})}%
}
%% Let's make sure footnotes in section headings don't break pdf bookmarks.
@@ -906,13 +886,13 @@
}
-%%%%%%%%%%%%% Define some section and other names for special environments %%%%%%%
+%%%%%%%%%%%%% Define some section and other names for special environments %%%%%%%%%%%%%%%%%%%%%%%%
\providecommand{\nomname}{Nomenclature}
\providecommand{\keywordname}{Keywords}
\providecommand{\CAwords}{Corresponding Author.}
-%%%%%%%%%%%%% Nomenclature Environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%% Nomenclature Environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Nomenclature environment in ASME Journal Style.
%% Run twice to get proper label width.
@@ -926,7 +906,7 @@
\NewDocumentCommand{\entry}{m m}{%
\ifblank{#2}{%
- \ClassError{asmejour}{The command \protect\entry should have two arguments. For subheadings, use \protect\EntryHeading}{It appears that you gave only one argument for \protect\entry. You need to include a second argument.}
+ \ClassError{\ClassName}{The command \protect\entry should have two arguments. For subheadings, use \protect\EntryHeading}{It appears that you gave only one argument for \protect\entry. You need to include a second argument.}
}{%
\item[\hfill#1${} = {}$]#2%
\@itempenalty=-\@lowpenalty%
@@ -938,7 +918,7 @@
%% A separate command command for nomenclature subheadings
\NewDocumentCommand\EntryHeading{m}{%
- \itemsep12\p@ plus 4\p@ minus 4\p@% \bigskip
+ \itemsep12\p@ plus 4\p@ minus 4\p@
\goodbreak\item[\bfseries#1\hfill]\mbox{}\itemsep3\p@ plus 1\p@ minus 1\p@\@itempenalty=1000% add \mbox for tagged pdf, 2023/10/20
}
@@ -966,28 +946,25 @@
}%
}{%
\setcounter{savedlength}{\widest}%
- \end{list}%
+ \end{list}\ignorespacesafterend
}
-%%%%%%%%%%%%%%%% List of figures and list of tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%% List of figures and list of tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% ASME requires these lists for production.
\ifasmejour@nolists
- \LogNote{Omitting lists of figures and tables}%
+ \ClassNoteNoLine{\ClassName}{Omitting lists of figures and tables}%
\else
\AtEndDocument{%
- \clearpage
\twocolumn[%
- \begin{@twocolumnfalse}
\listoffigures
\listoftables
- \end{@twocolumnfalse}
]%
}%
\fi
-%%%%%%%%%%%%%%%% Author/Title/Abstract block %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%% Author/Title/Abstract block %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{xcoffins}
@@ -1028,12 +1005,12 @@
\fi
}
-
\NewDocumentCommand\SetTitle{m}{%
\SetVerticalCoffin{\Title}{114mm}{%
\vspace*{0.5mm}% <== ASME doesn't align bar and text
\noindent\Huge\CondSansBold\raggedright%
#1%
+ %\gdef\@title{#1}% for tagging, etc. 2024/07/24. pdf metadata will probably override.
\par
}
}
@@ -1086,7 +1063,7 @@
\addtocounter{footnote}{-1}% in case of more than one CA
}
-%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newlength{\@AbstractSep}%% <== separation of author/abstract coffin from main two-column text.
\setlength{\@AbstractSep}{12.5mm}
@@ -1094,12 +1071,15 @@
\NewDocumentCommand{\MakeTitlePage}{}{%
\thispagestyle{title}%
- \twocolumn[
- \begin{@twocolumnfalse}
+ \ifasmejour@singlecolumn % 2024/07/20
\@ConstructAuthorBlock
\vspace*{\@AbstractSep}
- \end{@twocolumnfalse}
- ]
+ \else
+ \twocolumn[
+ \@ConstructAuthorBlock
+ \vspace*{\@AbstractSep}
+ ]
+ \fi
\ifaj@CA
\addtocounter{footnote}{1}
\footnotetext{\CAwords}
@@ -1113,7 +1093,7 @@
\fi
}
-%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Provide compatibility with titling commands from standard LaTeX article class
@@ -1143,7 +1123,7 @@
\RenewDocumentCommand{\thanks}{m}{\relax}%% disabling this standard command, as it is inconsistent with this format
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%
diff --git a/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf b/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
index 5b93ad2cf9..c3b0bc535e 100644
--- a/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
+++ b/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.tex b/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
index 69b98af0b2..5a506330aa 100644
--- a/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
+++ b/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
@@ -1,6 +1,6 @@
%% Examples of a widetext macro for setting wide equations in the asmejour class.
%%
-%% Copyright (c) 2022 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
+%% Copyright (c) 2024 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
%%
%%
%% USAGE: * \begin{widetext} ...wide material here... \end{widetext}
@@ -15,8 +15,8 @@
\documentclass[nocopyright,nolists,pdf-a]{asmejour}
%% This file's version and date are:
- \def\AJwidetextversion{1.01}
- \def\AJverdate{October 22, 2023}
+ \def\AJwidetextversion{1.02}
+ \def\AJverdate{July 24, 2024}
%
\usepackage{asmewide}
\usepackage{lipsum}% Latin filler text (lipsum generates a message about 'unused global options' - this can be ignored)
@@ -81,6 +81,8 @@ address = {New York},
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
+\PreprintString{PREPRINT}
+
\SetAuthorBlock{John H.\ Lienhard V}{%
Fellow of ASME \\
Rohsenow Kendall Heat Transfer Laboratory, \\
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf b/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
index 2eb2bb0a71..da0dc2cbdb 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
+++ b/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex b/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
index 701df1e896..f3d21083b3 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
+++ b/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
@@ -120,7 +120,7 @@
\title{Mode d’emploi du module \ext{babel-french}}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\latestversion}{3.6b}
+\newcommand*{\latestversion}{3.6c}
\date{Version {\latestversion} -- \today}
\begin{document}
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb.dtx b/macros/latex/contrib/babel-contrib/french/frenchb.dtx
index 1ec34d6f5b..b52e5c67e7 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb.dtx
+++ b/macros/latex/contrib/babel-contrib/french/frenchb.dtx
@@ -75,7 +75,7 @@ Please report errors to: <daniel (dot) flipo (at) free (dot) fr>
%<frenchb>\ProvidesLanguage{frenchb}
%<lua>--[[
%<lua> File `frenchb.lua’ generated from frenchb.dtx
- [2024-06-26 v3.6b French support from the babel system]
+ [2024-07-25 v3.6c French support from the babel system]
%<lua> Copyright © 2014-2024 Daniel Flipo
%<lua> <daniel (dot) flipo (at) free (dot) fr>
%<lua> License LPPL: see french.ldf.
@@ -2782,7 +2782,7 @@ return french_punctuation
% \changes{v3.2c}{2016/05/14}{New definition based on
% \cs{FB@spacing@off} common to all engines.}
%
-% \changes{v3.6b}{2024/06/25}{\cs{NoAutoSpacing} must be inhibited
+% \changes{v3.6b}{2024/06/26}{\cs{NoAutoSpacing} must be inhibited
% in bookmarks.}
%
% \begin{macrocode}
@@ -4582,6 +4582,10 @@ return french_punctuation
\@onlypreamble\frenchbsetup
% \end{macrocode}
%
+% \changes{v3.6c}{2024/07/25}{Removed spurious @ in
+% \cs{FBCompactItemize@setup} and \cs{FBListOldLayout@setup}
+% commands’ names.}
+%
% The following commands, defined with property |.code| in
% |DeclareKeys{}|, execute some post-treatment required to
% immediately take the flags value into account.
@@ -4623,14 +4627,14 @@ return french_punctuation
Reported}%
\fi
}
-\newcommand*{\FB@ListOldLayout@setup}[1]%
+\newcommand*{\FBListOldLayout@setup}[1]%
{\csname FBListOldLayout#1\endcsname
\ifFBListOldLayout
\FBStandardEnumerateEnvtrue
\renewcommand*{\FrenchLabelItem}{\textendash}%
\fi
}
-\newcommand*{\FB@CompactItemize@setup}[1]%
+\newcommand*{\FBCompactItemize@setup}[1]%
{\csname FBCompactItemize#1\endcsname
\ifFBCompactItemize
\FBStandardItemizeEnvfalse
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb.pdf b/macros/latex/contrib/babel-contrib/french/frenchb.pdf
index 44cf3388f2..7e4ce7735b 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb.pdf
+++ b/macros/latex/contrib/babel-contrib/french/frenchb.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/CHANGELOG.md b/macros/latex/contrib/beamer-contrib/themes/moloch/CHANGELOG.md
index 1d90d7617c..d1e8bc4d60 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/CHANGELOG.md
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/CHANGELOG.md
@@ -1,5 +1,20 @@
# Changelog
+## [0.4.0](https://github.com/jolars/moloch/compare/v0.3.0...v0.4.0) (2024-07-09)
+
+
+### Features
+
+* add a small amount of vertical space before subtitle ([b224a9b](https://github.com/jolars/moloch/commit/b224a9b5067187e64a7669b61aee029447535729))
+* support memoize package (closes [#16](https://github.com/jolars/moloch/issues/16)) ([1ca26e8](https://github.com/jolars/moloch/commit/1ca26e857a331fcb29296c4987b69aea0db90fae))
+* support title format modifications ([#18](https://github.com/jolars/moloch/issues/18)) ([46a4f49](https://github.com/jolars/moloch/commit/46a4f49e8bb95798c2d6f3b69a1b96128d95cb8b))
+
+
+### Bug Fixes
+
+* add % at the end of some commands ([33b9833](https://github.com/jolars/moloch/commit/33b9833f21d3e0654fe2452d0b8ac8e8eb3a47bb))
+* convert raw command in manual to text ([ac305e9](https://github.com/jolars/moloch/commit/ac305e9b547ce44e0573f333adc4e6684eb88b68))
+
## [0.3.0](https://github.com/jolars/moloch/compare/v0.2.0...v0.3.0) (2024-03-06)
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/README.md b/macros/latex/contrib/beamer-contrib/themes/moloch/README.md
index f3b7971303..c8d9b78f15 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/README.md
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/README.md
@@ -12,19 +12,23 @@ The fork was created for the following reasons:
- To remove some of the more opinionated design choices, such as special handling of the Fira family of fonts.
- To strip away some features that added complexity to the code base without achieving valuable functionality for the majority of users, such as special code block designs and the pgfplots theme.
+[Here's a blog post](https://jolars.co/blog/2024-05-30-moloch/) in which I introduce the theme and write in more detail about the changes with respect to Metropolis.
+
Do not expect this theme to be backwards compatible with the Metropolis theme.
+![Screenshot](https://raw.githubusercontent.com/jolars/moloch/main/assets/screenshot.svg)
+
## Installation
Moloch is on [CTAN](https://ctan.org/pkg/moloch), so you can install it using your favorite LaTeX package manager. For example, with `tlmgr`:
-```sh
+```bash
tlmgr install moloch
```
You can also install the theme from source, in which case you need a working LaTeX installation with `l3build` installed. Then just follow these steps:
-```sh
+```bash
git clone https://github.com/jolars/moloch.git
cd moloch
l3build install
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/beamercolorthememoloch.dtx b/macros/latex/contrib/beamer-contrib/themes/moloch/beamercolorthememoloch.dtx
index d6a14105ca..f0f644acbd 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/beamercolorthememoloch.dtx
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/beamercolorthememoloch.dtx
@@ -14,7 +14,7 @@
% \iffalse
%<*package>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamercolorthememoloch}[2024-03-06 v0.3.0 Moloch color theme] % x-release-please-version
+\ProvidesPackage{beamercolorthememoloch}[2024-07-09 v0.4.0 Moloch color theme] % x-release-please-version
%</package>
% \fi
% \CheckSum{0}
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerfontthememoloch.dtx b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerfontthememoloch.dtx
index 4748387c3c..cc3396fe47 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerfontthememoloch.dtx
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerfontthememoloch.dtx
@@ -14,7 +14,7 @@
% \iffalse
%<*package>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerfontthememoloch}[2024-03-06 v0.3.0 Moloch font theme] % x-release-please-version
+\ProvidesPackage{beamerfontthememoloch}[2024-07-09 v0.4.0 Moloch font theme] % x-release-please-version
%</package>
% \fi
% \CheckSum{0}
@@ -27,9 +27,12 @@
%
% A |beamer| font theme sets the style of the font used in the document.
%
+%
+%
% \subsubsection{Package dependencies}
%
% \begin{macrocode}
+\RequirePackage{etoolbox}
\RequirePackage{pgfopts}
% \end{macrocode}
%
@@ -51,6 +54,188 @@
\setbeamerfont{standout}{size=\Large, series=\bfseries}
% \end{macrocode}
%
+%
+%
+% \subsubsection{Title format options}
+%
+% \begin{macro}{titleformat title}
+% Controls the format of the title.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/font/titleformat title/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@titleformat\@empty%
+ \setbeamerfont{title}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@titleformat\@empty%
+ \setbeamerfont{title}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@titleformat\lowercase%
+ \setbeamerfont{title}{shape=\scshape}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat title=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\moloch@titleformat\uppercase%
+ \setbeamerfont{title}{shape=\normalfont}
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat title=allcaps can lead to problems%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat subtitle}
+% Control the format of the subtitle.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/font/titleformat subtitle/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@subtitleformat\@empty%
+ \setbeamerfont{subtitle}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@subtitleformat\@empty%
+ \setbeamerfont{subtitle}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@subtitleformat\MakeLowercase%
+ \setbeamerfont{subtitle}{shape=\scshape}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat subtitle=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\moloch@subtitleformat\MakeUppercase%
+ \setbeamerfont{subtitle}{shape=\normalfont}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat subtitle=allcaps can lead to problems%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat section}
+% Controls the format of the section title.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/font/titleformat section/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@sectiontitleformat\@empty%
+ \setbeamerfont{section title}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@sectiontitleformat\@empty%
+ \setbeamerfont{section title}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@sectiontitleformat\MakeLowercase%
+ \setbeamerfont{section title}{shape=\scshape}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat section=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\moloch@sectiontitleformat\MakeUppercase%
+ \setbeamerfont{section title}{shape=\normalfont}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat section=allcaps can lead to problems%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{frametitleformat}
+% Control the format of the frame title.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/font/titleformat frame/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@frametitleformat\@empty%
+ \setbeamerfont{frametitle}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@frametitleformat\@empty%
+ \setbeamerfont{frametitle}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@frametitleformat\MakeLowercase%
+ \setbeamerfont{frametitle}{shape=\scshape}%
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat frame=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\moloch@frametitleformat\MakeUppercase%
+ \setbeamerfont{frametitle}{shape=\normalfont}
+ \PackageNote{beamerthememoloch}{%
+ Be aware that titleformat frame=allcaps can lead to problems%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat aliases}
+% Allows |titleformat title| et al. to be used in the |\usetheme|
+% declaration, where \LaTeX{} automatically removes all spaces.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/font/.cd,
+ titleformattitle/.code=\pgfkeysalso{titleformat title=#1},
+ titleformatsubtitle/.code=\pgfkeysalso{titleformat subtitle=#1},
+ titleformatsection/.code=\pgfkeysalso{titleformat section=#1},
+ titleformatframe/.code=\pgfkeysalso{titleformat frame=#1},
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\moloch@font@setdefaults}
+% Sets default values for font theme options.
+% \begin{macrocode}
+\newcommand{\moloch@font@setdefaults}{
+ \pgfkeys{/moloch/font/.cd,
+ titleformat title=regular,
+ titleformat subtitle=regular,
+ titleformat section=regular,
+ titleformat frame=regular,
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% We first define hooks to change the case format of the titles.
+%
+% \begin{macrocode}
+\def\moloch@titleformat#1{#1}
+\def\moloch@subtitleformat#1{#1}
+\def\moloch@sectiontitleformat#1{#1}
+\def\moloch@frametitleformat#1{#1}
+% \end{macrocode}
+%
+% To make the uppercase and lowercase macros work in the title, subtitle, etc.,
+% we have to patch the appropriate |beamer| commands that set their values.
+% This solution was suggested by Enrico Gregorio in an answer to
+% \href{http://tex.stackexchange.com/questions/112526/}{this StackExchange
+% question}.
+%
+%
+% \subsubsection{Process package options}
+%
+% \begin{macrocode}
+\moloch@font@setdefaults
+\ProcessPgfPackageOptions{/moloch/font}
+% \end{macrocode}
% \iffalse
%</package>
% \fi
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerinnerthememoloch.dtx b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerinnerthememoloch.dtx
index 2b626d526d..9815a0995f 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerinnerthememoloch.dtx
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerinnerthememoloch.dtx
@@ -14,7 +14,7 @@
% \iffalse
%<*package>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerinnerthememoloch}[2024-03-06 v0.3.0 Moloch inner theme] % x-release-please-version
+\ProvidesPackage{beamerinnerthememoloch}[2024-07-09 v0.4.0 Moloch inner theme] % x-release-please-version
%</package>
% \fi
% \CheckSum{0}
@@ -173,7 +173,7 @@
% \begin{macrocode}
\setbeamertemplate{title}{
\raggedright%
- \inserttitle%
+ \moloch@titleformat{\inserttitle}%
\par%
\vspace*{0.2em}
}
@@ -184,8 +184,9 @@
% Set the subtitle on the title page.
% \begin{macrocode}
\setbeamertemplate{subtitle}{
+ \vspace*{0.1em}
\raggedright%
- \insertsubtitle%
+ \moloch@subtitleformat{\insertsubtitle}%
\par%
\vspace*{0.2em}
}
@@ -201,6 +202,7 @@
\setbeamertemplate{title separator}{
\tikzexternaldisable%
\begin{tikzpicture}
+ \mmzUnmemoizable%
\fill[fg] (0,0) rectangle (\textwidth, \moloch@titleseparator@linewidth);
\end{tikzpicture}%
\tikzexternalenable%
@@ -256,7 +258,7 @@
\begin{center}
\usebeamercolor[fg]{section title}
\usebeamerfont{section title}
- \insertsectionhead\par
+ \moloch@sectiontitleformat{\insertsectionhead}\par
\ifx\insertsubsectionhead\@empty\else
\usebeamercolor[fg]{subsection title}
\usebeamerfont{subsection title}
@@ -270,7 +272,7 @@
\raggedright
\usebeamercolor[fg]{section title}
\usebeamerfont{section title}
- \insertsectionhead\\[-1ex]
+ \moloch@sectiontitleformat{\insertsectionhead}\\[-1ex]
\usebeamertemplate*{progress bar in section page}
\par
\ifx\insertsubsectionhead\@empty\else%
@@ -338,9 +340,10 @@
\setbeamertemplate{progress bar in section page}{
\pgfmathsetlength{\moloch@progressonsectionpage}{
\textwidth * min(1,\insertframenumber/\inserttotalframenumber)
- }
- \tikzexternaldisable
+ }%
+ \tikzexternaldisable%
\begin{tikzpicture}
+ \mmzUnmemoizable%
\fill[bg]
(0,0)
rectangle
@@ -350,7 +353,7 @@
rectangle
(\moloch@progressonsectionpage, \moloch@progressonsectionpage@linewidth);
\end{tikzpicture}
- \tikzexternalenable
+ \tikzexternalenable%
}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerouterthememoloch.dtx b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerouterthememoloch.dtx
index a5d5910831..a0ce0af580 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerouterthememoloch.dtx
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerouterthememoloch.dtx
@@ -14,7 +14,7 @@
% \iffalse
%<*package>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerouterthememoloch}[2024-03-06 v0.3.0 Moloch outer theme] % x-release-please-version
+\ProvidesPackage{beamerouterthememoloch}[2024-07-09 v0.4.0 Moloch outer theme] % x-release-please-version
%</package>
% \fi
% \CheckSum{0}
@@ -160,23 +160,42 @@
% Templates for the frame title, which is optionally underlined with a
% progress bar.
% \begin{macrocode}
+\newlength{\moloch@frametitle@padding}
+\setlength{\moloch@frametitle@padding}{2.2ex}
+\newcommand{\moloch@frametitlestrut@start}{%
+ \rule{0pt}{\moloch@frametitle@padding +%
+ \totalheightof{%
+ \ifcsdef{moloch@frametitleformat}{\moloch@frametitleformat X}{X}%
+ }%
+}%
+}
+
+\newcommand{\moloch@frametitlestrut@end}{%
+ \vphantom{\rule[-\moloch@frametitle@padding]{0pt}{\moloch@frametitle@padding}}
+}
\defbeamertemplate{frametitle}{plain}{%
\nointerlineskip%
\begin{beamercolorbox}[%
wd=\paperwidth,%
- sep=1.1ex,%
- leftskip=0.5ex,%
- rightskip=\the\glueexpr 0.5ex plus 1fill\relax,%
+ leftskip=1.6ex,%
+ rightskip=\the\glueexpr 1.6ex plus 1fill\relax,%
]{frametitle}%
\usebeamerfont{frametitle}%
- \vbox{}\vskip-0.4ex%
- \strut\insertframetitle\nolinebreak\strut\par%
+ \moloch@frametitlestrut@start%
+ \moloch@frametitleformat{\insertframetitle}%
{%
\ifx\insertframesubtitle\@empty%
\else%
- {\usebeamerfont{framesubtitle}\vspace{-0.8ex}\usebeamercolor[fg]{framesubtitle}\strut\insertframesubtitle\strut\par}%
+ {%
+ \par%
+ \usebeamerfont{framesubtitle}%
+ \vspace{-0.8ex}%
+ \usebeamercolor[fg]{framesubtitle}%
+ \insertframesubtitle%
+ }%
\fi
}%
+ \moloch@frametitlestrut@end%
\end{beamercolorbox}%
}
\setbeamertemplate{frametitle continuation}{\romannumeral\insertcontinuationcount}
@@ -192,13 +211,14 @@
\newlength{\moloch@progressinheadfoot@linewidth}
\setlength{\moloch@progressinheadfoot@linewidth}{0.4pt}
\setbeamertemplate{progress bar in head/foot}{
- \nointerlineskip
+ \nointerlineskip%
\pgfmathsetlength{\moloch@progressinheadfoot}{%
\paperwidth * min(1,\insertframenumber/\inserttotalframenumber)%
- }
+ }%
\begin{beamercolorbox}[wd=\paperwidth]{progress bar in head/foot}
- \tikzexternaldisable
+ \tikzexternaldisable%
\begin{tikzpicture}
+ \mmzUnmemoizable%
\fill[bg]
(0,0)
rectangle
@@ -208,7 +228,7 @@
rectangle
(\moloch@progressinheadfoot, \moloch@progressinheadfoot@linewidth);
\end{tikzpicture}
- \tikzexternalenable
+ \tikzexternalenable%
\end{beamercolorbox}
}
% \end{macrocode}
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerthememoloch.dtx b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerthememoloch.dtx
index fcebef5a81..e6447ec791 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/beamerthememoloch.dtx
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/beamerthememoloch.dtx
@@ -12,7 +12,7 @@
% \iffalse
%<*package>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerthememoloch}[2024-03-06 v0.3.0 Moloch Beamer theme] % x-release-please-version
+\ProvidesPackage{beamerthememoloch}[2024-07-09 v0.4.0 Moloch Beamer theme] % x-release-please-version
%</package>
% \fi
% \CheckSum{0}
@@ -52,14 +52,69 @@
}
% \end{macrocode}
%
+% \begin{macro}{titleformat plain}
+% Controls the formatting of the text on standout ``plain'' frames.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/titleformat plain/.cd,
+ .is choice,
+ regular/.code={%
+ \let\moloch@plaintitleformat\@empty%
+ \setbeamerfont{standout}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\moloch@plaintitleformat\@empty%
+ \setbeamerfont{standout}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\moloch@plaintitleformat\MakeLowercase%
+ \setbeamerfont{standout}{shape=\scshape}%
+ },
+ allcaps/.code={%
+ \let\moloch@plaintitleformat\MakeUppercase%
+ \setbeamerfont{standout}{shape=\normalfont}%
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat}
+% Sets a standard format for titles, subtitles, section titles, frame
+% titles, and the text on standout ``plain'' frames.
+% \begin{macrocode}
+\pgfkeys{
+ /moloch/titleformat/.code=\pgfkeysalso{
+ font/titleformat title=#1,
+ font/titleformat subtitle=#1,
+ font/titleformat section=#1,
+ font/titleformat frame=#1,
+ titleformat plain=#1,
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% Set default values for options.
+%
+% \begin{macrocode}
+\newcommand{\moloch@setdefaults}{
+ \pgfkeys{/moloch/.cd,
+ titleformat plain=regular,
+ }
+}
+% \end{macrocode}
+%
% To avoid generating externalized figures of the progressbar we have to disable
% them with ``tikzexternalenable'' and ``tikzexternaldisable''. However, if the
% ``external'' libray is not loaded we would get undefined control sequence
% problems, hence we define them as no-ops if they are not defined yet.
+% We do the same for the ``mmzUnmemoizable'' command from the memoize package, in
+% order to avoid memoization of the progress bars.
%
% \begin{macrocode}
\providecommand{\tikzexternalenable}{}
\providecommand{\tikzexternaldisable}{}
+\providecommand{\mmzUnmemoizable}{}
% \end{macrocode}
%
% \subsubsection{Component sub-packages}
@@ -98,6 +153,7 @@
% \subsubsection{Process package options}
%
% \begin{macrocode}
+\moloch@setdefaults
\ProcessPgfOptions{/moloch}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.pdf b/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.pdf
index 3607149cef..15f0652a6a 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.pdf
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex b/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex
index a9eb326933..c8300607be 100644
--- a/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex
+++ b/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex
@@ -58,7 +58,7 @@
xrightmargin=0em,
aboveskip=1em,
belowskip=1em,
- morekeywords={usetheme,institute,maketitle,%
+ morekeywords={usetheme,institute,maketitle,@moloch@titleformat,%
plain,setbeamercolor,molochset,setsansfont,setmonofont},
}
\lstMakeShortInline|
@@ -82,7 +82,7 @@
\newcommand{\themename}{\textsf{moloch}\xspace}
-\def\molochversion{0.3.0} % x-release-please-version
+\def\molochversion{0.4.0} % x-release-please-version
\usepackage{readprov}
% \ReadPackageInfos{beamerthememoloch}
@@ -166,10 +166,10 @@ The following code shows a minimal example of a Beamer presentation using
\begin{lstlisting}
\documentclass{beamer}
\usetheme{moloch}
-\title{A minimal example}
+\title{A Minimal Example}
\date{\today}
\author{Johan Larsson}
-\institute{Centre for Modern Beamer Themes}
+\institute{Some University}
\begin{document}
\maketitle
\section{First Section}
@@ -187,6 +187,7 @@ The following code shows a minimal example of a Beamer presentation using
\begin{itemize}
\item |tikz|
\item |pgfopts|
+ \item |etoolbox|
\item |calc|
\end{itemize}
\end{multicols}
@@ -224,6 +225,27 @@ The list of options is structured as shown in the following example.
A short description of the option.
}
+
+\subsubsection{Main theme}
+
+\DescribeOption{titleformat}%
+{regular, smallcaps, allsmallcaps, allcaps}
+{regular}{
+ Changes the format of titles, subtitles, section titles, frame titles, and
+ the text on ``standout'' frames. The available options produce
+ Regular, \textsc{SmallCaps}, \textsc{\MakeLowercase{AllSmallCaps}}, or
+ \MakeUppercase{AllCaps} titles. Note that these commands do not
+ affect math and numbers, so may not work as you expect if your titles
+ contain these.
+}
+
+\DescribeOption{titleformat plain}%
+{regular, smallcaps, allsmallcaps, allcaps}%
+{regular}{
+ Changes the format of ``standout'' frames (see |titleformat|, above).
+}
+
+
\subsubsection{Inner theme}
\DescribeOption{sectionpage}{none, simple, progressbar}{progressbar}{
@@ -270,6 +292,20 @@ The list of options is structured as shown in the following example.
of the reverse.
}
+
+\subsubsection{Font theme}
+
+\DescribeMacro{titleformat title}
+\DescribeMacro{titleformat subtitle}
+\DescribeMacro{titleformat section}
+\DescribeOption{titleformat frame}%
+{regular, smallcaps, allsmallcaps, allcaps}%
+{regular}{
+ Individually controls the format of titles, subtitles, section titles, and
+ frame titles (see |titleformat|, above).
+}
+
+
\subsection{Color Customization}
The included \themename color theme is used by default, but its colors can be
@@ -321,6 +357,18 @@ single sentence or image. To use it, add the key |standout| to the frame:
\section{Known Issues}
+\subsection{Title Formats}
+
+Be aware that not every font supports small caps, so the |smallcaps| or
+|allsmallcaps| options may not work for all fonts.
+In particular, the Computer Modern sans-serif typeface, which is used
+by default when \themename is compiled with pdf\LaTeX, does not have a
+small-caps variant.
+
+Note that title format options |allsmallcaps| and |allcaps| do not
+affect the sizes of numerals, punctuation, and math symbol, and are
+probably best avoided if your titles contain these characters.
+
\subsection{Interactions with other color themes}
\themename can be used along with any other Beamer color theme, such as
@@ -412,7 +460,7 @@ solution for Org mode users, using |org-set-property|.
\subsection{Standout frames with Pandoc}
-With Pandoc versions prior 1.17.2 it was not possible to create standout frames
+With Pandoc versions prior to 1.17.2 it was not possible to create standout frames
because Pandoc only supported a specific list of frame attributes thus ignoring
additional attributes such as |{.standout}|.
diff --git a/macros/latex/contrib/beautybook/README.md b/macros/latex/contrib/beautybook/README.md
index 78eb52617b..0057185325 100644
--- a/macros/latex/contrib/beautybook/README.md
+++ b/macros/latex/contrib/beautybook/README.md
@@ -12,12 +12,12 @@
beautybook is designed for writing books, created by [Ethan Lu](https://github.com/BeautyLaTeX/latex-template) , and maintained by [Ethan Lu](https://github.com/BeautyLaTeX/latex-template). Just enjoy it! If you have any questions, suggestions or bug reports, you can create issues or contact me at h1479840692@outlook.com.
-If you are an English user, then please use a cls file with the "-EN" suffix and compile the english tex file with pdfLaTeX, and conversely, if you are a Chinese user, then remember, use a cls file with the "-CN" suffix and compile the chinese tex file with the XeLaTeX engine!
+If you are an English user, then please write '\documentclass[lang=en]{beautybook}' in the premble and compile the english tex file with pdfLaTeX, and conversely, if you are a Chinese user, then remember, write '\documentclass[lang=cn]{beautybook}' in the premble and compile the chinese tex file with the XeLaTeX engine!
---
## Version
-Release 2024-06-30.
+Release 2024-07-03.
---
## License
diff --git a/macros/latex/contrib/beautybook/beautybook-EN.cls b/macros/latex/contrib/beautybook/beautybook-EN.cls
deleted file mode 100644
index 1aa67be4a3..0000000000
--- a/macros/latex/contrib/beautybook/beautybook-EN.cls
+++ /dev/null
@@ -1,1197 +0,0 @@
-%This Class is based on the default book class and options will be passed
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{beautybook-EN}[30-06-2024 V10.0 beautybook Class]
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
-\ProcessOptions\relax
-\LoadClass[twoside]{book}
-\RequirePackage[dvipsnames,svgnames,x11names,table]{xcolor}
-\RequirePackage{cncolours}
-\RequirePackage[utf8]{inputenc} % UTF-8编码
-\RequirePackage{times} % Times New Roman Font
-\RequirePackage[T1]{fontenc}
-\RequirePackage{microtype} % 字体间距调整
-\colorlet{outermarginfgcolor}{DarkCyan} % foregroundcolor 较深
-\colorlet{outermarginbgcolor}{DarkCyan!30} % backgroundcolor 较浅
-\RequirePackage{bropd} % math 自适应数学括号命令 \br{} !!!
-\RequirePackage{tikz-imagelabels} % tikz图像标注
-\RequirePackage{epigraph-keys} % 名言引用
-\RequirePackage{fitbox} % 图像自适应
-\RequirePackage{pgfornament-han}
-\RequirePackage{tikz}
-\usetikzlibrary{calc,shadows,hobby,intersections, decorations.markings, decorations.pathreplacing,spy,arrows,shapes,fadings,trees,mindmap,patterns,shapes.arrows,shapes.symbols,tikzmark,shapes.geometric,graphs, quotes, angles,decorations.pathmorphing,through,shadings,backgrounds,positioning,fit,arrows.meta,shapes.misc,decorations.shapes}
-\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令
-\pgfplotsset{compat=1.18}
-%
-\ExplSyntaxOn
-% 封面切换程序 (LaTeX3)!
-\keys_define:nn {beautybook/coverstyle}
- {
- cover-choose.choice:,
- cover-choose.value_required:n = true,
- cover-choose/cn.code:n = {\RequirePackage{stys/beautybook-cover-cn}},
- cover-choose/en.code:n = {\RequirePackage{stys/beautybook-cover-en}},
- cover-choose/enfig.code:n = {\RequirePackage{stys/beautybook-cover-enfig}},
- cover-choose/birkar.code:n = {\RequirePackage{stys/beautybook-cover-birkar}},
- %cover-choose .initial:n = en , % 设置 en 为初始值
- }
-\newtoks \l__beautybook_tmpa_toks
-\cs_new_protected:Npn \coverstyle
- {
- \tex_afterassignment:D \__beautybook_set_coverstyle:
- \l__beautybook_tmpa_toks
- }
-\cs_new:Npn \__beautybook_set_coverstyle:
- { \keys_set:nV { beautybook / coverstyle } \l__beautybook_tmpa_toks }
-% Math fonts
-\keys_define:nn {beautybook/mathstyle}
- {
- math-font.choice:,
- math-font.value_required:n = true,
- math-font/plain.code:n={},
- math-font/stix.code:n={
- \RequirePackage{stix}
- },
- math-font/mtpro2.code:n = {
- \RequirePackage{mtpro2}
- \RequirePackage{bm}
- \DeclareFontFamily{U}{nxlmi}{}
- \DeclareFontSubstitution{U}{nxlmi}{m}{it}
- \DeclareFontShape{U}{nxlmi}{m}{it}{
- <-6.3> nxlmi05
- <6.3-8.6> nxlmi07
- <8.6-> nxlmi0
- }{}
-
- \DeclareFontShape{U}{nxlmi}{b}{it}{
- <-6.3> nxlbmi05
- <6.3-8.6> nxlbmi07
- <8.6-> nxlbmi0
- }{}
- \renewcommand{\partial}{{\text{\usefont{U}{nxlmi}{m}{it}\symbol{64}}\mspace{1mu}}}
- },
- %cover-choose .initial:n = plain , % 设置 en 为初始值
- }
-\cs_new_protected:Npn \mathstyle
- {
- \tex_afterassignment:D \__beautybook_set_mathstyle:
- \l__beautybook_tmpa_toks
- }
-\cs_new:Npn \__beautybook_set_mathstyle:
- { \keys_set:nV { beautybook / mathstyle } \l__beautybook_tmpa_toks }
-\ExplSyntaxOff
-\RequirePackage{stys/beautybook-bottompage} %封底
-\RequirePackage{rotating}
-\tikzset{>=Stealth}
-\setlist{font=\upshape} % 取消所有列表默认距离 nosep,
-% 浮动环境设置
-% 默认情况下, \LaTeX{} 要求每页的文字至少占据 20%,否则该页就只单独放置一个浮动环境,
-% 而这通常不是我们想要的, 我们将这个要求降低到 5%.
-\renewcommand*{\textfraction}{0.05}
-% 有时如果多个浮动环境连续放在一起,
-% 会将它们分在几个不同页,即使它们可在同一页放
-% 得下. 我们可以通过修改 |\topfraction| 和 |\bottomfraction| 分别设置顶端和底端的浮
-% 动环境的最大比例.
-\renewcommand*{\topfraction}{0.9}
-\renewcommand*{\bottomfraction}{0.8}
-% 有时\LaTeX{}会把一个浮动环境单独放在一页,
-% 我们要求这个环境至少要占据 85% 才能单独放在一页.
-% 注意: |\floatpagefraction| 的数值必须小于 |\topfraction|.
-\renewcommand*{\floatpagefraction}{0.85}
-% 关于图片 graphicx
-% 如果图片没有指定后缀, 依次按下列顺序搜索
-\DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png}
-% 设置图表搜索路径, 可以给图表文件夹取如下名字
-\graphicspath{{inner_pics/}{inner_pics/titleimages/}{figures/}{figure/}{pictures/}{picture/}{pic/}{pics/}{image/}{images/}}
-% \RequirePackage[physics]{stys/physicx}
-% \RequirePackage{stys/Symbols}
-\RequirePackage{extarrows}
-\usetikzlibrary{tikzmark}
-% \arrowname{super-script}
-% \arrowname[sub-script]{super-script}
-\RequirePackage{appendix} % 附录
-% \RequirePackage{stys/symbols}
-%
-\RequirePackage{amssymb,amsfonts,upgreek}
-\RequirePackage{makeidx}
-\RequirePackage{etoolbox} % 判断函数
-\RequirePackage{paracol}
-\RequirePackage{tikz-cd}
-\RequirePackage{imakeidx}
-\RequirePackage{anyfontsize}
-\RequirePackage{calc}
-\RequirePackage{xkeyval,ifthen}
-\RequirePackage[backgroundcolor=yellow!40!cyan!20,bordercolor=yellow!40!cyan!20,linecolor=DarkCyan]{todonotes}
-\RequirePackage{varwidth}
-\RequirePackage[colorlinks,linkcolor = purple, %%修改此处为你想要的颜色
-anchorcolor = purple, %%修改此处为你想要的颜色
-urlcolor = purple, %%修改此处为你想要的颜色
-citecolor = purple, %%修改此处为你想要的颜色
-]{hyperref}
-\setcounter{tocdepth}{3}
-\setcounter{secnumdepth}{3}%增加编号深度
-\RequirePackage{dashrule}
-\newlength\outermarginwidth
-\setlength\outermarginwidth{1.5cm}
-\newlength\covershift
-\setlength\covershift{5cm}
-\RequirePackage{caption}
-% 图注与表注格式
-\colorlet{captioncolor}{outermarginfgcolor} % 图片和表格题注文字颜色
-\makeatletter
-%%----------------------------------封面信息定义--------------------------------------------------------%%
-\newcommand\bookseries[1]{\def\@bookseries{#1}}
-\newcommand\subtitle[1]{\def\@subtitle{#1}}
-\newcommand\edition[1]{\def\@edition{#1}}
-\newcommand\presslogo[1]{\def\@presslogo{#1}}
-\newcommand\pressname[1]{\def\@pressname{#1}}
-\newcommand\coverimage[1]{\def\@coverimage{#1}}
-\newcommand\chapimage[1]{\def\@chapimage{#1}}
-%%----------------------------------封面信息定义--------------------------------------------------------%%
-\makeatother
-\RequirePackage{indentfirst}
-\RequirePackage{amsmath}
-\RequirePackage[left=2cm,right=2cm,top=.6cm,bottom=2.2cm]{geometry}
-\RequirePackage{xpatch}%修正章节编号
-\RequirePackage[automark]{scrlayer-scrpage}%页面设置宏包,隶属于koma-script文档类
-\RequirePackage{fontawesome5}
-\RequirePackage{mathrsfs}
-\RequirePackage[most]{tcolorbox}
-\tcbuselibrary{breakable, skins,theorems}%TcolorBox Library
-\RequirePackage{tabularx}
-\RequirePackage{lastpage}
-%\RequirePackage{twemojis}
-\RequirePackage{ninecolors}
-\RequirePackage{colortbl} %彩色表格
-\RequirePackage{tabularray}
-\UseTblrLibrary{amsmath}
-% 定义 +array, +matrix, +bmatrix, +Bmatrix, +pmatrix, +vmatrix, +Vmatrix 和 +cases 环境。其
-% 中,每一个环境都类似于不带 + 前缀的环境,但是就像 tblr 环境一样,使用 rowsep=2pt 默认值。
-% 除了+array 环境外,其余的每个环境都可以带一个可选项,通过该可选项,可能为环境设置内部
-% 参数。
-\UseTblrLibrary{booktabs} % 定义 \toprule、 \midrule、\bottomrule 和 \cmidrule 命令,这些命令可以直接用于 tblr环境中
-\UseTblrLibrary{diagbox} % 在tblr 环境中使用 \diagbox 和\diagboxthree 命令排版斜线表头
-\UseTblrLibrary{varwidth} % 为表格添加 measure 内部参数。当设置了 measure=vbox 后,则会使用 \vbox 测量单元格宽度。%可以使用stretch=-1 移除列表环境上下的间距, 注意,stretch=-1 选项也会移除单元格中的支架
-\RequirePackage{pgfornament}
-\RequirePackage{zhnumber}
-\RequirePackage{dashrule}
-\RequirePackage{adjustbox}
-\RequirePackage{enumitem}
-\RequirePackage{multicol}
-\RequirePackage{amsthm}
-\RequirePackage{thmtools,thm-restate}%定理环境 %定理的重写
-\RequirePackage{bclogo}
-\RequirePackage[normalem]{ulem}
-\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令
-\pgfplotsset{compat=1.18}
-\RequirePackage{graphicx}%修正minipage顶部对齐问题
-\pgfdeclarelayer{background} %背景%底层
-\pgfdeclarelayer{foreground} %上层
-\pgfdeclarelayer{top} %顶部
-\pgfdeclarelayer{bottom} %底部
-\pgfsetlayers{bottom,background,main,foreground,top}
-\newcommand{\tikzoverlay}[1]{\begin{tikzpicture}[remember picture,overlay] #1 \end{tikzpicture}}
-\RequirePackage[explicit]{titlesec}
-\RequirePackage{titletoc}
-
-\newcommand\boxednum[1]
-{
-\tcbsidebyside[sidebyside adapt=left,
-nobeforeafter,fontupper=\sffamily\large\bfseries,fontlower=\large,colframe=white,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width =\textwidth,
-top=0mm,bottom=0mm,right=0mm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside gap=6mm,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上
-fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
-]{% left hand side % adjust from this side
-\thecontentslabel
-}{% right hand side
-\textbf{#1} \hfill \thecontentspage
-}% end
-}
-
-\newcommand\boxednonum[1]
-{
-\begin{tcolorbox}[nobeforeafter,fontupper=\large,fontlower=\large,colframe=white,fontupper=\sffamily\bfseries,colupper=white,colback=outermarginfgcolor!90,colbacklower=gray!10,frame hidden,width = \textwidth,sidebyside gap=6mm,
-top=0mm,bottom=0mm,right=0cm,left=2mm,before skip balanced=0em,after skip balanced=0em,arc=0pt,outer arc=0pt,bicolor,sidebyside,boxrule=0pt,sidebyside align=center,halign=center,halign lower=left,lefthand width=3mm,fuzzy shadow={-0.4mm}{0.4mm}{0mm}{0.2mm}{white!50!gray},% 上
-fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
-]
-\tcblower \textbf{#1}\hfill \thecontentspage
-\end{tcolorbox}
-}
-%
-\titlecontents{chapter}[0mm]
- {\addvspace{-.5em}}
- {\contentsmargin{0pt}\boxednum}
- {\contentsmargin{0pt}\boxednonum}
- {}
- [\addvspace{-.5em}]
-%
- \titlecontents{section}
- [4.5em] % ie, 1.5em (chapter) + 2.3em
- {}
- {\hyperlink{section.\thecontentslabel}{\contentslabel{2.2em}}}
- {\hspace*{-2.2em}}
- {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}}
-%
- \titlecontents{subsection}
- [7.3em] % ie, 1.5em (chapter) + 2.3em
- {}
- {\hyperlink{subsection.\thecontentslabel}{\contentslabel{2.7em}}}
- {\hspace*{-2.7em}}
- {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}}
-%
- \titlecontents{subsubsection}
- [10.7em] % ie, 1.5em (chapter) + 2.3em
- {}
- {\hyperlink{subsubsection.\thecontentslabel}{\contentslabel{3.3em}}}
- {\hspace*{-3.3em}}
- {\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}}
-
-% tcolorbox中插入图片或者tikz绘图方法
-\newcommand\Figure[4]{%
- \begin{center}
- \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this
-%(caption) particular \caption on input line XX.警告信息
- \includegraphics[#1]{#2}
- \captionof{figure}{#3}\label{#4}
- \end{center}
-}%用法 : 用于tcolorbox中插入图片
-\newcommand\Tikz[3]{%
- \begin{center}
- \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this(caption) particular \caption on input line XX.警告信息
- #3 %最后一个参数为Tikz画图代码窗口
- \captionof{figure}{#1}\label{#2} %第一与第二个参数是Tikz画图的名称与标签
- \end{center}
-} %用法 : 用于tcolorbox中插入Tikz绘图
-%特殊注释矩阵
-\newcommand\coolover[2]{\mathrlap{\smash{\overbrace{\phantom{%
- \begin{matrix} #2 \end{matrix}}}^{\mbox{$#1$}}}}#2}
-
-\newcommand\coolunder[2]{\mathrlap{\smash{\underbrace{\phantom{%
- \begin{matrix} #2 \end{matrix}}}_{\mbox{$#1$}}}}#2}
-
-\newcommand\coolleftbrace[2]{%
- #1\left\{\vphantom{\begin{matrix} #2 \end{matrix}}\right.}
-
-\newcommand\coolrightbrace[2]{%
- \left.\vphantom{\begin{matrix} #1 \end{matrix}}\right\}#2}
-\definecolor{lightergray}{gray}{0.99}
-
-\newcommand*{\circled}[1]{\lower.7ex\hbox{\tikz\draw (0pt, 0pt)%
- circle (.5em) node {\makebox[1em][c]{\small #1}};}}
-\newcommand{\twicecircle}{\raisebox{.7ex}{
- \begin{tikzpicture}[remember picture,overlay]
- \draw[line width=0.6pt,black!60] (0,0) circle (3pt);
- \fill[black] (0,0) circle (1.6pt) ;
- \end{tikzpicture}}
-}
-\newcommand{\exercise}[2][\bcicosaedre]{\bigskip
-\begin{tikzpicture}[remember picture,overlay]
-\draw[line width=2pt,loosely dotted,teal] (0,0)--node[pos=0.4,rectangle,minimum height=1.5em,font=\sffamily\Large,text=black,fill=black!2,drop shadow={opacity=.3, shadow xshift=0.1cm},anchor=center,
- inner sep=1.5mm,
- anchor=west,] {$#1$ ~ #2} (\linewidth,0);
-\end{tikzpicture}\bigskip\smallskip
-}
-\RequirePackage{extarrows}
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\F}{\mathcal{F}}
-\newcommand{\lan}[1]{\langle #1 \rangle}
-\newenvironment{eq}[1]{\begin{equation}\begin{aligned}#1}{\end{aligned}\end{equation}} %有编号
-\newenvironment{eq*}[1]{\begin{equation*}\begin{aligned}#1}{\end{aligned}\end{equation*}} %无编号
-% \everymath{\displaystyle}
-
-%% -------- 章节样式
-\makeatletter
-% titleimage
-\ExplSyntaxOn
-\seq_new:N \g__beautybook_chapter_oimage_seq % odd
-\seq_new:N \g__beautybook_chapter_eimage_seq % even
-\seq_new:N \g__beautybook_part_oimage_seq % odd
-\seq_new:N \g__beautybook_part_eimage_seq % even
-%
-\keys_define:nn { beautybook/titleimage }
- {
- chapteroddimage .code:n =
- \seq_gset_from_clist:Nn \g__beautybook_chapter_oimage_seq {#1} ,
- chapterevenimage .code:n =
- \seq_gset_from_clist:Nn \g__beautybook_chapter_eimage_seq {#1} ,
- partoddimage .code:n =
- \seq_gset_from_clist:Nn \g__beautybook_part_oimage_seq {#1} ,
- partevenimage .code:n =
- \seq_gset_from_clist:Nn \g__beautybook_part_eimage_seq {#1} ,
- }
-\cs_new:Npn \__beautybook_title_image:Nn #1#2 % image seq, number
- { \seq_item:Nn #1 { \int_mod:nn {#2} { \seq_count:N #1 } + 1 } } %对照表-对录入的字符串进行编号
-\cs_new:Npn \beautybook@chapterimagename %生成索契表 : 判断奇偶数页并按(章节编号)!!读取相应的列表组中的字符串
- {
- \int_if_odd:nTF { \value{page} }
- { \__beautybook_title_image:Nn \g__beautybook_chapter_oimage_seq { \value{chapter} } }
- { \__beautybook_title_image:Nn \g__beautybook_chapter_eimage_seq { \value{chapter} } }
- }
-\cs_new:Npn \beautybook@partimagename
- {
- \int_if_odd:nTF { \value{page} }
- { \__beautybook_title_image:Nn \g__beautybook_part_oimage_seq { \value{part} } }
- { \__beautybook_title_image:Nn \g__beautybook_part_eimage_seq { \value{part} } }
- }
-\cs_new_protected:Npn \titleimage #1
- { \keys_set:nn { beautybook/titleimage } {#1} }
-\ExplSyntaxOff
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\titleformat{\chapter}{\huge\bfseries\filcenter}{}{1em}{
- \makebox[0pt][l]{\def\rad{7pt}%
- \begin{tikzpicture}[remember picture, overlay]%
- \begin{pgfonlayer}{bottom}
- \ifodd\value{page}
- \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background odd
- \else
- \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background even
- \fi
- \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line
- \end{pgfonlayer}
- \path[fill=outermarginfgcolor]node[append after command={
- ([xshift=-3*\rad]chapinfoofpart.north west) to[out=0,in=-180,looseness=1] ([xshift=\rad]chapinfoofpart.south west) --([xshift=-\rad]chapinfoofpart.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]chapinfoofpart.north east) --cycle},
- text=white,font=\sffamily\large\bfseries,align=center,minimum height=1cm] (chapinfoofpart) at ([shift={(.6\linewidth,-4.95cm)}]current page.north west) {Part\ \thepart};
- \begin{pgfonlayer}{bottom}
- \fill[outermarginfgcolor!90,opacity=0.5] ([shift={(-3*\rad,0)}]chapinfoofpart.north west) to[out=180,in=0,looseness=1] +(-4*\rad,-1.2cm)--([shift={(7*\rad,-1.2cm)}]chapinfoofpart.north east) to[out=-180,in=0,looseness=1] +(-4*\rad,1.2cm); % partnumber shade
- \end{pgfonlayer}
- \ifodd\value{page}
- \begin{pgfonlayer}{top}
- \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},right,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(1.5cm,-2.5cm)}]current page.north west) {\scalebox{3}{\thechapter}};
- \begin{pgfonlayer}{foreground}
- \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt]
- ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east);
- \end{pgfonlayer}
- \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]%
- ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east);
- \node[above left,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
- \end{pgfonlayer}
- \begin{pgfonlayer}{bottom}
- \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}};
- \end{pgfonlayer}
- \else
- \begin{pgfonlayer}{top}
- \fill[outermarginfgcolor,opacity=0.7,rounded corners=5pt]node[append after command={([yshift=2cm]chapnum.north west) rectangle (chapnum.south east)},left,text=white,minimum width=2cm,align=center,font=\sffamily\bfseries] (chapnum) at ([shift={(-1.5cm,-2.5cm)}]current page.north east) {\scalebox{3}{\thechapter}};
- \begin{pgfonlayer}{foreground}
- \pattern[pattern=sixpointed stars,pattern color=white,opacity=1.0,rounded corners=5pt]
- ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east);
- \end{pgfonlayer}
- \fill [outermarginfgcolor,path fading=fade up,rounded corners=5pt]%
- ([yshift=2cm]chapnum.north west) rectangle (chapnum.south east);
- \node[above right,font=\sc\fontsize{22pt}{22pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
- \end{pgfonlayer}
- \begin{pgfonlayer}{background}
- \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}};
- \end{pgfonlayer}
- \fi
- \path[fill=outermarginbgcolor]node[append after command={
- ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle},
- text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage};
- \end{tikzpicture}}
- }
-\titleformat{name=\chapter,numberless}{\bfseries\huge\filcenter}{}{1em}{
- \makebox[0pt][l]{\def\rad{7pt}%
- \begin{tikzpicture}[remember picture, overlay]%
- \begin{pgfonlayer}{bottom}
- \ifodd\value{page}
- \shade[right color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,left color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background odd
- \else
- \shade[left color=outermarginbgcolor!30,middle color=outermarginbgcolor!50,right color=outermarginfgcolor!30] (current page.north west) rectangle ++(\paperwidth,-.2\paperheight); % background even
- \fi
- \fill[outermarginfgcolor,opacity=.5]([shift={(0,-4.45cm)}]current page.north west) rectangle ++(\paperwidth,-2mm); % line
- \end{pgfonlayer}
- \ifodd\value{page}
- \begin{pgfonlayer}{top}
- \node[above left,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north east) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
- \end{pgfonlayer}
- \begin{pgfonlayer}{bottom}
- \node[right] (image) at ([shift={(-0.5cm,-2.8cm)}]current page.north west) {\includegraphics[width=7cm]{\@chapimage}};
- \end{pgfonlayer}
- \else
- \begin{pgfonlayer}{top}
- \node[above right,font=\sc\fontsize{25pt}{25pt}\selectfont,align=center] (contents name) at ([shift={(0cm,-4.45cm)}]current page.north west) {\begin{varwidth}{.7\linewidth}\baselineskip=2ex #1\end{varwidth}};
- \end{pgfonlayer}
- \begin{pgfonlayer}{background}
- \node[left] (image) at ([shift={(0.5cm,-2.8cm)}]current page.north east) {\includegraphics[width=7cm]{\@chapimage}};
- \end{pgfonlayer}
- \fi
- \path[fill=outermarginbgcolor]node[append after command={
- ([xshift=-2*\rad]pagenumber.south west) to[out=0,in=180,looseness=1] ([xshift=\rad]pagenumber.north west) --([xshift=-\rad]pagenumber.north east) to[out=0,in=-180,looseness=1] ([xshift=2*\rad]pagenumber.south east) --cycle},
- text=outermarginfgcolor,font=\sffamily\fontsize{15}{15}\selectfont\bfseries,align=center,minimum height=0.4cm,minimum width=1.3cm,inner sep=1.5mm] (pagenumber) at ([shift={(0,0.3cm)}]current page.south) {\thepage};
- \end{tikzpicture}}
-}
-\titlespacing{\chapter}{0pt}{0pt}{80pt}
-\makeatother
-% -------- Part定制
-%%定义标题文字长度%%
-\newlength{\partstarlen}
-%%设置临界长度%%
-\newlength{\criticstarlen}
-\setlength{\criticstarlen}{\textwidth}
-% 定义垂直方向的渐变
-\tikzfading[name=fade bottom to top,
- bottom color=transparent!0, % 底部完全透明
- top color=transparent!100] % 顶部不透明
-\tikzfading[name=middle, top color=transparent!90, bottom
-color=transparent!90, middle color=transparent!20]
-\makeatletter
-\newcommand\partabstract[1]{\def\@partabstract{#1}}
-\newcommand\partimage[1]{\def\@partimage{#1}}
-\titleformat{\part}
-{\normalfont\huge\filcenter}
-{}
-{20pt}
-{\settowidth{\partstarlen}{\sc\huge #1} % 计算\partabstract的长度并写入到\partstarlen中
- \begin{tikzpicture}[remember picture,overlay]
- \def\barwidth{2cm}
- \fill[outermarginbgcolor,opacity=0.6]
- (current page.north west) rectangle (current page.south east);
- \ifodd\value{page}
- \fill [outermarginfgcolor!20]%
- (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight);
- \pattern [pattern=north east lines,pattern color=outermarginfgcolor!50]%
- (current page.north east) rectangle ++(-\outermarginwidth,-\paperheight);
- \fill [outermarginbgcolor!90,path fading=fade south]%
- ([yshift=1mm]current page.north east) rectangle ++(-\outermarginwidth,-.8\paperheight);
- \fill [outermarginbgcolor,path fading=fade north]%
- (current page.south east) rectangle ++(-\outermarginwidth,.8\paperheight);%
- % lines
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle;
- \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east);
- \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(-.5\outermarginwidth,0)}]current page.north east) {\thepage};
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线
- \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) {
- \begin{tikzpicture}
- %%--------------- Horizontal Line --------------------%%
- \fill[outermarginbgcolor!70]
- (0,0) rectangle ++(\paperwidth,-1cm);
- %%--------------- Horizontal Line -------------------%%
- \fill[outermarginbgcolor]
- (0,-.25cm) rectangle ++(\paperwidth,-.5cm);
- \fill[outermarginfgcolor]
- (.67\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm);
- \fill[outermarginfgcolor!20!white]
- (.67\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm);
- \fill[outermarginfgcolor!20!white]
- (.67\paperwidth+4.4cm,-.25cm) rectangle ++(1mm,-.5cm);
- \end{tikzpicture}
- };
- \node[above,font=\sc\huge,shift={(.33\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart};
- \node[below left,font=\sc\huge,shift={(.146\linewidth,-\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.9\linewidth}\raggedright\baselineskip=25pt #1 \end{varwidth}}; % 标题名称
- \begin{pgfonlayer}{background}
- \node[above,shift={(-.4\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整
- % % 应用渐变效果
-\fill[path fading=fade bottom to top, fill=nuanbai] (current page.north west) rectangle ([xshift=-\outermarginwidth]current page.south east);
- \end{pgfonlayer}
-%判断标题文字长度与临界长度的关系
-\ifdim\partstarlen<\criticstarlen
-%如果标题长度小于临界长度则使用(hbar)定位
-\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
-\else
-\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (partcontents) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
-\fi
- \else
- \fill [outermarginfgcolor!20]%
- (current page.north west) rectangle ++(\outermarginwidth,-\paperheight);
- \pattern [pattern=north west lines,pattern color=outermarginfgcolor!50]%
- (current page.north west) rectangle ++(\outermarginwidth,-\paperheight);
- \fill [outermarginbgcolor!90,path fading=fade south]%
- ([yshift=1mm]current page.north west) rectangle ++(\outermarginwidth,-.8\paperheight);
- \fill [outermarginbgcolor,path fading=fade north]%
- (current page.south west) rectangle ++(\outermarginwidth,.8\paperheight);%
- % lines
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle;
- \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west);
- \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{20}\selectfont] (partpagenum) at ([shift={(.5\outermarginwidth,0)}]current page.north west) {\thepage};
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线
- \node[] (hbar) at ($(current page.north)!0.33!(current page.south)$) {
- \begin{tikzpicture}
- %%--------------- Horizontal Line --------------------%%
- \fill[outermarginbgcolor!70]
- (0,0) rectangle ++(\paperwidth,-1cm);
- %%--------------- Horizontal Line -------------------%%
- \fill[outermarginbgcolor]
- (0,-.25cm) rectangle ++(\paperwidth,-.5cm);
- \fill[outermarginfgcolor]
- (.15\paperwidth,-.25cm) rectangle ++(4.5cm,-.5cm);
- \fill[outermarginfgcolor!20!white]
- (.15\paperwidth-1mm,-.25cm) rectangle ++(1mm,-.5cm);
- \fill[outermarginfgcolor!20!white]
- (.15\paperwidth+4.5cm,-.25cm) rectangle ++(1mm,-.5cm);
- \end{tikzpicture}
- };
- \node[above,font=\sc\huge,shift={(-.31\linewidth,.5\barwidth)}] (partname) at (hbar) {Part\ \thepart};
- \node[below right,font=\sc\huge,shift={(-.125\linewidth,-\barwidth)}] (partcontents) at (partname) {\begin{varwidth}{.9\linewidth}\raggedright\baselineskip=25pt #1 \end{varwidth}}; % 标题名称
- \begin{pgfonlayer}{background}
- \node[above,shift={(.35\linewidth,-4*\barwidth)}] at (partname) {\ifdefvoid{\@partimage}{}{\includegraphics[width=1.2\linewidth]{\@partimage}}}; % 图片位置调整
- % % 应用渐变效果
- \fill[path fading=fade bottom to top, fill=nuanbai] (current page.north east) rectangle ([xshift=\outermarginwidth]current page.south west);
- \end{pgfonlayer}
-%判断标题文字长度与临界长度的关系
-\ifdim\partstarlen<\criticstarlen
-%如果标题长度小于临界长度则使用(hbar)定位
-\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (hbar) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
-\else
-\node[below,font=\itshape\fontsize{13}{13}\selectfont,shift={(0,-1.2*\barwidth)}] at (partcontents) {\ifdefvoid{\@partabstract}{}{\begin{varwidth}{.9\linewidth}\baselineskip=3ex \@partabstract\end{varwidth}}}; % 简介文字调整
-\fi
- \fi
- \end{tikzpicture}}
-\makeatother
-\assignpagestyle{\part}{empty}
-\assignpagestyle{\chapter}{empty}
-
-
-%% -- Section
-\titleformat{\section}
-{}
-{}
-{-.5em} %左右移动\thesection标签位置
-{\mysectionformat{#1}}
-
-\titleformat{name=\section,numberless}{}{}{-.5em}{\mysectionnonumformat{#1}}
-
-\newcommand{\mysectionformat}[1]{%
-\makebox[0pt][l]{\def\rad{7pt}%
-\begin{tikzpicture}[remember picture]
- \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={
- ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle},
- text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec\ \thesection};
- \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}};
-\end{tikzpicture}}}%最后一个选项为 [<after code>]
-
-\newcommand{\mysectionnonumformat}[1]{%
-\makebox[0pt][l]{\def\rad{7pt}%
-\begin{tikzpicture}[remember picture]
- \path[fill=outermarginfgcolor,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={
- ([xshift=\rad]sec.north west) to[out=180,in=0,looseness=1] ([xshift=-3*\rad]sec.south west) --([xshift=-\rad]sec.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]sec.north east) --cycle},
- text=white,font=\sffamily\large\bfseries,align=center,inner ysep=2mm] (sec) at (0,0) {Sec};
- \node[text=black,font=\large,below right] (secnum) at ([shift={(0,-1mm)}]sec.north east) {\begin{varwidth}{.85\linewidth}\setlength\baselineskip{18pt}\hspace{.5cm}#1\end{varwidth}};
-\end{tikzpicture}}}%最后一个选项为 [<after code>]
-
-\titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
-
-%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%%
-%% SIDE-BAR
-\newlength\chapternumbersize
-\setlength\chapternumbersize{36pt}
-\setlength{\headheight}{40pt} % 页眉高度
-\renewcommand\chaptermarkformat{}
-% define a new mark for the chapter number
-\newmarks\chapternum
-\xapptocmd\chaptermark{\marks\chapternum{\thechapter}}{}{\PatchFailed}
-\newmarks\secnum
-\xapptocmd\sectionmark{\marks\secnum{\thesection}}{}{\PatchFailed}
-
-\newcommand*\outermarginpagemark{%
-\tikzoverlay{
- \begin{pgfonlayer}{top}
- \ifodd\value{page}
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.north east) --++(-5pt,-0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,0.15cm)--cycle;
- \coordinate (anchor of headmark) at ([shift={(-1.2\outermarginwidth,-0.2cm)}]current page.north east);
- \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(-.5\outermarginwidth,-0.15cm)}]current page.north east) {\thepage};
- \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(-5pt,-0.15cm)--++(-.45\linewidth,0) --++(-5pt,0.15cm)--cycle; % 页眉横线
- \node[below left,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}};
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.south east) --++(-5pt,0.15cm)--++(-\outermarginwidth+10pt,0) --++(-5pt,-0.15cm)--cycle; % 页码横线
- \else
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.north west) --++(5pt,-0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,0.15cm)--cycle;
- \coordinate (anchor of headmark) at ([shift={(1.2\outermarginwidth,-0.2cm)}]current page.north west);
- \node[below ,text=outermarginfgcolor,font=\sffamily\bfseries\fontsize{15}{15}\selectfont] at ([shift={(.5\outermarginwidth,-0.15cm)}]current page.north west) {\thepage};
- \fill[outermarginfgcolor!50,rounded corners=1pt] ([shift={(-0.2\outermarginwidth,0.2cm)}]anchor of headmark) --++(5pt,-0.15cm)--++(.45\linewidth,0) --++(5pt,0.15cm)--cycle; % 页眉横线
- \node[below right,font=\upshape,text=outermarginfgcolor] at ([yshift=0.05cm]anchor of headmark) {\begin{varwidth}{\linewidth}\rightmark\end{varwidth}};
- \fill[outermarginfgcolor,rounded corners=2pt] (current page.south west) --++(5pt,0.15cm)--++(\outermarginwidth-10pt,0) --++(5pt,-0.15cm)--cycle; % 页码横线
- \fi
- \end{pgfonlayer}}
-}
-\newlength\baryshift
-\setlength\baryshift{-2.5\outermarginwidth}
-\makeatletter
-% Add A Side-Bar Box For The Chapter Number
-\newcommand*\outermarginchapternumberbox{%
- \if@mainmatter
- \tikzoverlay{
- \shade[top color=outermarginfgcolor!90,bottom color=outermarginbgcolor]
- (\outermarginwidth,-.5\outermarginwidth+2mm) rectangle (0,-1.5\outermarginwidth+2mm);
- \node[anchor=center,text=white,font=\sffamily\bfseries] at (1/2*\outermarginwidth,-\outermarginwidth+2mm) {\usekomafont{chapternumber}{\botmarks\chapternum}};%
- }
- \fi
- \vfill
-}
-\makeatother
-
-\newkomafont{chapternumber}{%页边章节编号字体
- \fontsize{\chapternumbersize}{\chapternumbersize}\selectfont
-}%
-\makeatletter
-\newcommand\outermarginmark{
- \ifodd\value{page}\hfill\else\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi
- \rotatebox{90}{\parbox{\layerheight}{
- \raggedleft
- \usekomafont{outermargin}{%
- \MakeMarkcase{\ifodd\value{page}\odd@outermargin\else\even@outermargin\fi}}%
- }}%
- \ifodd\value{page}\hspace*{\dimexpr\outermarginwidth*3/8\relax}\fi%
-}
-\newcommand*\even@outermargin{}
-\newcommand*\odd@outermargin{}
-\newcommand*\evenoutermargin[1]{\renewcommand\even@outermargin{#1}}% 偶数页内容
-\newcommand*\oddoutermargin[1]{\renewcommand\odd@outermargin{#1}}% 奇数页内容
-\makeatother
-%
-\newkomafont{outermargin}{%页边章节名称字体
- \bfseries\fontsize{15}{15}\selectfont\color{outermarginfgcolor}
-}
-% declare new page style using layers
-\DeclareNewPageStyleByLayers{scth}{%
- scth.outermargin.bg.even,%
- scth.outermargin.bg.odd,%
- scth.outermargin.fg.even,%
- scth.outermargin.fg.odd,%
- scth.outermargin.pn.even,%
- scth.outermargin.pn.odd,%
- scth.outermargin.cn.even,%
- scth.outermargin.cn.odd,%
- scth.outermargin.text.even,%
- scth.outermargin.text.odd%
-}
-% define the layers for even pages
-\DeclareNewLayer[
- background, % 下层(背景)
- evenpage,
- outermargin,
- width=\outermarginwidth,
- contents={\color{outermarginbgcolor}\rule{\layerwidth}{\layerheight}} %色彩装饰条
-]{scth.outermargin.bg.even}%
-%%=============% 页边条颜色 %=======================%%
-\tikzfading[name=fade south,
- top color =transparent!0,
- bottom color=transparent!80]
-\tikzfading[name=fade north,
- top color =transparent!100,
- bottom color=transparent!0]
-%偶数页边纹理效果设置
-\newcommand{\evensidbardeepcolor}{%
-\tikzoverlay{
-\ifodd\value{page}
-\fill [outermarginfgcolor!20]%
- (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east);
- \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]%
- (current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=0]current page.south east);
- \fill [outermarginbgcolor!90,path fading=fade south]%
- ([yshift=1mm]current page.north east) rectangle ([xshift=-\outermarginwidth,yshift=-.5\layerheight]current page.north east);
- \fill [outermarginbgcolor,path fading=fade north]%
- (current page.south east) rectangle ([xshift=-\outermarginwidth,yshift=.2\layerheight]current page.south east);
-\else
- \fill [outermarginfgcolor!20]%
- (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west);
- \pattern [pattern=checkerboard,pattern color=outermarginfgcolor!50]%
- (current page.north west) rectangle ([xshift=\outermarginwidth,yshift=0]current page.south west);
- \fill [outermarginbgcolor!90,path fading=fade south]%
- ([yshift=1mm]current page.north west) rectangle ([xshift=\outermarginwidth,yshift=-.5\layerheight]current page.north west);
- \fill [outermarginbgcolor,path fading=fade north]%
- (current page.south west) rectangle ([xshift=\outermarginwidth,yshift=.2\layerheight]current page.south west);
- \fi
-}
-}
-%%==============偶数页页边条颜色========================%%
-\DeclareNewLayer[
- foreground, %
- evenpage,
- outermargin,
- width=\outermarginwidth,
- contents=\evensidbardeepcolor %色彩装饰条
-]{scth.outermargin.fg.even}%
-%%==============偶数页页脚页码========================%%
-\DeclareNewLayer[
- foreground, %上层 (背景之上)
- evenpage,
- foot, % 页脚
- contents=\outermarginpagemark
-]{scth.outermargin.pn.even}%
-%%==============偶数页章节编号========================%%
-\DeclareNewLayer[
- foreground, %上层 (背景之上)
- evenpage,
- head, %页眉
- hoffset=0pt,
- width=\outermarginwidth,
- align=t,
- addvoffset=\dimexpr-\chapternumbersize-12pt+\headheight\relax,
- height=\chapternumbersize+\headheight,
- contents=\outermarginchapternumberbox%章节编号
-]{scth.outermargin.cn.even}%
-%%======================章节名称===================================%%
-\DeclareNewLayer[
- clone=scth.outermargin.cn.even,
- addheight=\dimexpr\headheight+\headsep+\textheight\relax,
- addvoffset=\dimexpr+2\outermarginwidth\relax,
- hoffset=-2.5pt,
- contents=\outermarginmark %
-]{scth.outermargin.text.even}%
-
-% define the layers for odd page from the settings for even pages
-\newcommand*\DeclareOddFromEven[1]{%复制自偶数页样式命令
-\DeclareNewLayer[
- clone=#1.even,
- oddpage,
- align=r,
- hoffset=\paperwidth
-]{#1.odd}%
-}
-\DeclareOddFromEven{scth.outermargin.bg}
-\DeclareOddFromEven{scth.outermargin.pn}
-\DeclareOddFromEven{scth.outermargin.cn}
-\DeclareOddFromEven{scth.outermargin.text}
-\DeclareOddFromEven{scth.outermargin.fg}
-
-% add the layers to page style scrheadings and page style plain
-\ForEachLayerOfPageStyle*{scth}{%
- \AddLayersToPageStyle{scrheadings}{#1}%
- \AddLayersToPageStyle{plain.scrheadings}{#1}%
-}
-%----------------------------------------------
-\KOMAoptions{markcase=upper} %页眉
-% for page styles scrheadings and plain
-\clearpairofpagestyles
-\ohead{}
-\cfoot{}
-\ofoot{}
-
-%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%%
-
-%% Begin The Most Beautiful Box (STYLE : ys style) % 中国风盒子
-\makeatletter
-\definecolor{framegolden}{HTML}{455a64} % 控制外框颜色
-\definecolor{framegray}{HTML}{e0e0e0} % 控制填充颜色
-\newdimen\ys@frame@linewidth
-\newdimen\ys@frame@radius
-\newdimen\ys@frame@sep
-\def\ys@frame@fill@opacity{0.2}
-
-\pgfdeclarehorizontalshading{ys@fade@circle}{500bp}
-{color(0bp)=(pgftransparent!100); color(25bp)=(pgftransparent!100);
-color(45bp)=(pgftransparent!0); color(55bp)=(pgftransparent!0);
-color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)}
-\pgfdeclarefading{ys circle}{\pgfuseshading{ys@fade@circle}}
-
-\def\ys@frame@star@list@t{%
- -0.7071\ys@frame@radius+0.2133\ys@frame@sep/%
- -0.7071\ys@frame@radius+0.2133\ys@frame@sep/%
- frame.north east,%
- 0.7071\ys@frame@radius-0.2133\ys@frame@sep/%
- -0.7071\ys@frame@radius+0.2133\ys@frame@sep/%
- frame.north west}
-\def\ys@frame@star@list@b{%
- 0.7071\ys@frame@radius-0.2133\ys@frame@sep/%
- 0.7071\ys@frame@radius-0.2133\ys@frame@sep/%
- frame.south west,%
- -0.7071\ys@frame@radius+0.2133\ys@frame@sep/%
- 0.7071\ys@frame@radius-0.2133\ys@frame@sep/%
- frame.south east}
-\edef\ys@frame@star@list{\ys@frame@star@list@t,\ys@frame@star@list@b}
-
-%region outer
-\def\ys@frame@remove@middleline#1#2{}
-\def\ys@frame@draw@middleline#1#2{%
- \clip ([xshift=-\ys@frame@linewidth,#1]frame.north west)--
- ([xshift=\ys@frame@linewidth,#1]frame.north east)--
- ([xshift=\ys@frame@linewidth,#2]frame.south east)--
- ([xshift=-\ys@frame@linewidth,#2]frame.south west)--cycle;}
-\def\ys@frame@unbrokenouter{%
- \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth]
- ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east)
- arc(-180:-90:\ys@frame@radius)--
- ([yshift=-\ys@frame@radius]frame.north east)--([yshift=\ys@frame@radius]frame.south east)
- arc(90:180:\ys@frame@radius)--
- ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west)
- arc(0:90:\ys@frame@radius)--
- ([yshift=\ys@frame@radius]frame.south west)--([yshift=-\ys@frame@radius]frame.north west)
- arc(-90:0:\ys@frame@radius)--cycle;}
-\def\ys@frame@firstouter{%
- \ys@frame@remove@middleline{yshift=.5\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}%
- \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth]
- ([xshift=\ys@frame@radius]frame.north west)--([xshift=-\ys@frame@radius]frame.north east)
- arc(-180:-90:\ys@frame@radius)--
- ([yshift=-\ys@frame@radius]frame.north east)--
- (frame.south east)--
- (frame.south west)--
- ([yshift=-\ys@frame@radius]frame.north west)
- arc(-90:0:\ys@frame@radius)--cycle;}
-\def\ys@frame@middleouter{%
- \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=.7\ys@frame@linewidth}%
- \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth]
- (frame.north west)--(frame.north east)--(frame.south east)--
- (frame.south west)--cycle;}
-\def\ys@frame@lastouter{%
- \ys@frame@remove@middleline{yshift=-.7\ys@frame@linewidth}{yshift=-.5\ys@frame@linewidth}%
- \path[draw=framegolden,fill=framegray,fill opacity=\ys@frame@fill@opacity,line width=\ys@frame@linewidth]
- (frame.north west)--(frame.north east)--
- ([yshift=\ys@frame@radius]frame.south east)
- arc(90:180:\ys@frame@radius)--
- ([xshift=-\ys@frame@radius]frame.south east)--([xshift=\ys@frame@radius]frame.south west)
- arc(0:90:\ys@frame@radius)--
- ([yshift=\ys@frame@radius]frame.south west)--
- (frame.north west)--cycle;}
-%endregion
-%region inner
-\def\ys@frame@unbrokeninner{%
-\path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round]
-([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
- ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节
- --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth)
- ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节
- --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)
- %%
-([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)
---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
-([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节
---([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth)
-([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节
-%
- --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)
-%
-([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)
---([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth)
-([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节
---([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
-([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节
- --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)
-%
-([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)
---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth)
-([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节
---([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
-([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节
- --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);}
-\def\ys@frame@firstinner{%
- \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round]
- ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west) --++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
- ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第一节
- --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth)
- ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节
- --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)
- %%
-([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)
---([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east) --++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
-([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.north east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第一节
---([xshift=-\ys@frame@sep]frame.south east)
-
- ([yshift=-\ys@frame@radius-2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)
- --([yshift=-\ys@frame@radius-5\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west) --++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth)
- ([yshift=-\ys@frame@radius-6\ys@frame@linewidth,xshift=\ys@frame@sep]frame.north west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节
- --([xshift=\ys@frame@sep]frame.south west);}
-\def\ys@frame@middleinner{%
- \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round]
- ([xshift=-\ys@frame@sep]frame.north east)--([xshift=-\ys@frame@sep]frame.south east)
- ([xshift=\ys@frame@sep]frame.north west)--([xshift=\ys@frame@sep]frame.south west);}
-\def\ys@frame@lastinner{%
- \path[draw=framegolden,line width=.5\ys@frame@linewidth,line cap=round]
- ([xshift=-\ys@frame@sep]frame.north east)
- --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth)
- ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第二节
- %
- --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=-\ys@frame@sep]frame.south east)
-%
- ([xshift=\ys@frame@radius+2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@radius+5\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west) --++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth)
- ([xshift=\ys@frame@radius+6\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth) %第一节
- --([xshift=-\ys@frame@radius-8.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(45:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
- ([xshift=-\ys@frame@radius-7.828\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)--++(-45:2\ys@frame@linewidth)--++(45:2\ys@frame@linewidth) %第二节
- --([xshift=-\ys@frame@radius-2\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)
-%
- ([xshift=\ys@frame@sep]frame.north west)
- --([yshift=\ys@frame@radius+8.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-135:2\ys@frame@linewidth)--++(-45:2\ys@frame@linewidth)
- ([yshift=\ys@frame@radius+7.828\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west)--++(-45:2\ys@frame@linewidth)--++(-135:2\ys@frame@linewidth) %第二节
- --([yshift=\ys@frame@radius+2\ys@frame@linewidth,xshift=\ys@frame@sep]frame.south west);}
-%endregion
-%region corner
-\def\ys@frame@unbrokencorner{%
- \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round]
- ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west)
- ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)
- --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east)
- --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east)
- ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)
- --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east)
- --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east)
- ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);}
-\def\ys@frame@firstcorner{%
- \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round]
- ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@sep,yshift=-\ys@frame@sep]frame.north west)
- --([xshift=\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north west)
- ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=-\ys@frame@sep]frame.north east)
- --([xshift=-\ys@frame@sep,yshift=-\ys@frame@sep]frame.north east)
- --([xshift=-\ys@frame@sep,yshift=-\ys@frame@radius+2.7\ys@frame@linewidth]frame.north east);}
-\def\ys@frame@middlecorner{}
-\def\ys@frame@lastcorner{%
- \path[draw=framegolden,line width=1.5\ys@frame@linewidth,line cap=round]
- ([xshift=-\ys@frame@radius+2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south east)
- --([xshift=-\ys@frame@sep,yshift=\ys@frame@sep]frame.south east)
- --([xshift=-\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south east)
- ([xshift=\ys@frame@radius-2.7\ys@frame@linewidth,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@sep,yshift=\ys@frame@sep]frame.south west)
- --([xshift=\ys@frame@sep,yshift=\ys@frame@radius-2.7\ys@frame@linewidth]frame.south west);}
-%endregion
-\def\ys@frame@star#1#2#3{%
- \begin{scope}[shift={([xshift=#1,yshift=#2]#3)},scale=\ys@frame@ratio*0.1]
- \path[draw=framegolden,fill=white,
- line width=.7\ys@frame@linewidth,line join=round]
- (1,1)..controls(0.3,0.5) and (-0.3,0.5)..
- (-1,1)..controls(-0.5,0.3) and (-0.5,-0.3)..
- (-1,-1)..controls(-0.3,-0.5) and (0.3,-0.5)..
- (1,-1)..controls(0.5,-0.3) and (0.5,0.3)..(1,1)--cycle;
- \path[scale=0.45,fill=framegolden,line join=round]
- (1,1)..controls(0.3,0.7) and (-0.3,0.7)..
- (-1,1)..controls(-0.7,0.3) and (-0.7,-0.3)..
- (-1,-1)..controls(-0.3,-0.7) and (0.3,-0.7)..
- (1,-1)..controls(0.7,-0.3) and (0.7,0.3)..(1,1)--cycle;
- \end{scope}}
-\def\ys@frame@segmentation{%
- \draw[color=framegolden,path fading=ys circle]
- ([xshift=5\ys@frame@radius]segmentation.west) to[ornament=88]
- ([xshift=-5\ys@frame@radius]segmentation.east);}
-
-\tcbset{
- % 控制是否在断点处的线不画出来
- ys/frame/not at break/.code=\let\ys@frame@remove@middleline\ys@frame@draw@middleline,
- ys/frame/fill opacity/.store in=\ys@frame@fill@opacity,
- ys/frame/draw at break/.code=\let\ys@frame@remove@middleline\@gobbletwo,
- % 控制线宽
- ys/frame/line width/.code={\pgfmathsetlength\ys@frame@linewidth{#1}},
- ys/frame/line width=1.4pt,
- % 控制圆弧大小,应为数字,而非长度
- ys/frame/radius/.code={\pgfmathparse{#1}\let\ys@frame@ratio\pgfmathresult
- \pgfmathsetlength\ys@frame@radius{(#1)*1em}%
- \pgfmathsetlength\ys@frame@sep{(#1)*0.5ex}},
- ys/frame/radius=2,
- ys/frame/unbroken/.style={
- interior code={%
- \ys@frame@unbrokenouter % 外框
- \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星
- \ys@frame@unbrokeninner % 内线
- \ys@frame@unbrokencorner % 四角
- },
- interior titled code={%
- \ys@frame@unbrokenouter % 外框
- \foreach \ii/\jj/\kk in \ys@frame@star@list {\ys@frame@star{\ii}{\jj}{\kk}} % 星
- \ys@frame@unbrokeninner % 内线
- \ys@frame@unbrokencorner % 四角
- }
- },
- ys/frame/first/.style={
- interior code={%
- \ys@frame@firstouter
- \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}}
- \ys@frame@firstinner
- \ys@frame@firstcorner},
- interior titled code={%
- \ys@frame@firstouter
- \foreach \ii/\jj/\kk in \ys@frame@star@list@t {\ys@frame@star{\ii}{\jj}{\kk}}
- \ys@frame@firstinner
- \ys@frame@firstcorner},
- },
- ys/frame/middle/.style={
- interior code={%
- \ys@frame@middleouter
- \ys@frame@middleinner
- \ys@frame@middlecorner}
- },
- ys/frame/last/.style={
- interior code={%
- \ys@frame@lastouter
- \foreach \ii/\jj/\kk in \ys@frame@star@list@b {\ys@frame@star{\ii}{\jj}{\kk}}
- \ys@frame@lastinner
- \ys@frame@lastcorner}
- },
- ys/frame style/unbroken/.style={
- boxsep=2\ys@frame@sep,
- left={.8\ys@frame@radius},right={.8\ys@frame@radius},
- ys/frame/unbroken,title hidden,
- segmentation code=\ys@frame@segmentation
- },
- ys/frame style/first/.style={ys/frame/first,title hidden,segmentation code=\ys@frame@segmentation},
- ys/frame style/middle/.style={ys/frame/middle,segmentation code=\ys@frame@segmentation},
- ys/frame style/last/.style={ys/frame/last,segmentation code=\ys@frame@segmentation},
- ys style/.style={frame hidden,
- ys/frame style/unbroken,
- extras first={ys/frame style/first},
- extras middle={ys/frame style/middle},
- extras last={ys/frame style/last},
- },
-}
-\makeatother
-\newtcolorbox{fancybox}[1][]{enhanced,ys style,breakable,pad at break=2mm,
- ys/frame/not at break,ys/frame/fill opacity=0,#1,fontupper=\itshape}
-%% End The Most Beautiful Box
-\makeatletter
-\definecolor{CyaN}{HTML}{dbe1e5}
-\colorlet{OrangE}{yellow!20!orange}
-\colorlet{BluE}{cyan!70!blue}
-\colorlet{ReD}{red!20!orange}
-\colorlet{GreeN}{yellow!40!green}
-
-% 第一种定理
-\tcbset{my@basic@thm/.style={enhanced jigsaw, breakable,
- enlarge left by=-3.5mm, width=\textwidth+3.5mm, boxrule=0pt,
- top=2pt, bottom=2pt, left=2.5mm, frame hidden}}
-\newcommand{\@my@newtheorem@n}[1]{\ERROR}
-\newcommand{\@my@newtheorem@nn}[2]{%
- \@ifundefined{#1}{\@my@newtheorem{#1}#2}{\@my@renewtheorem{#1}#2}}
-\NewDocumentCommand{\@my@newtheorem}{ m m o +m }
- {\IfNoValueTF{#3}{\newtheorem{#1}{#2}}{\newtheorem{#1}{#2}[#3]}%
- \tcbset{my@#1@thmstyle/.style={#4}}%
- \tcolorboxenvironment{#1}{my@basic@thm, my@#1@thmstyle}}
-\NewDocumentCommand{\@my@renewtheorem}{ m m o +m }
- {\IfNoValueTF{#3}{\renewtheorem{#1}{#2}}{\renewtheorem{#1}{#2}[#3]}%
- \tcbset{my@#1@thmstyle/.style={#4}}}
-%
-% ---------------------------------------------------------------------------------- %
-% 第二种定理
-\tcbset{my@basic@tcbthm/.style={detach title,}}
-\newcommand{\@my@newtcbtheorem@n}[1]{\ERROR}
-\newcommand{\@my@newtcbtheorem@nn}[2]{%
- \@ifundefined{#1}{\@my@newtcbtheorem{#1}{#2}}{\@my@renewtcbtheorem{#1}{#2}}}
-\newcommand{\@my@newtcbtheorem}[2]{%
- \edef\my@curr@thmenvname{#1}% 它保存当前定理环境的名称
- \mytcbtheoremset{#2}%
- \NewTColorBox{#1}{ O{} O{} o }
- {my@basic@tcbthm, my@#1@tcbthmstyle, title={##2}, IfNoValueF={##3}{label={##3}}, ##1}}
-\newcommand{\@my@renewtcbtheorem}[2]{\edef\my@curr@thmenvname{#1}\mytcbtheoremset{#2}}
-
-% 键值设置
-\pgfkeys{/mytcbtheorem/.is family}
-\newcommand{\mytcbtheoremset}{\pgfqkeys{/mytcbtheorem}}
-\mytcbtheoremset{
- name/.code=\@namedef{\my@curr@thmenvname @name}{#1}, %无效
- counter/.code=\@namedef{my@\my@curr@thmenvname @counter}{#1}\newcounter{#1}[chapter], % 计数器遇到subsection就会自动归零 % https://zhuanlan.zhihu.com/p/57454848#circle=on
- the counter/.code=\@namedef{the\@nameuse{my@\my@curr@thmenvname @counter}}{#1},
- autoref name/.code=\@namedef{\@nameuse{my@\my@curr@thmenvname @counter}autorefname}{#1},
- style/.code=\tcbset{my@\my@curr@thmenvname @tcbthmstyle/.style={#1}},
- thmcolor/.code=\@namedef{\my@curr@thmenvname @thmcolor}{#1}, %无效
- lemcolor/.code=\@namedef{\my@curr@thmenvname @lemcolor}{#1}, %无效
-}
-% 存储键值 (LaTeX3)
-\ExplSyntaxOn
-\cs_new_protected:Npn \mynewtheorem
- { \keyval_parse:NNn \@my@newtheorem@n \@my@newtheorem@nn }
-\cs_new_protected:Npn \mynewtcbtheorem
- { \keyval_parse:NNn \@my@newtcbtheorem@n \@my@newtcbtheorem@nn }
-\ExplSyntaxOff
-\makeatother
-
-% 第二种定理
-\makeatletter
-%% Overlay Settings
-\newcommand{\my@theorem@overlay@unbroken}[2]{
- %%============== First ==============%%
- \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle;
- \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2,
-anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}};
- \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}]
- ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle;
- \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle;
- %%============== End ==============%%
- \fill[#2,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}]
- ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle;
- \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle;
- \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle;
-}
-\newcommand{\my@theorem@overlay@first}[2]{
- \fill[black!60] ([xshift=1cm,yshift=5pt]frame.north west)-- ([xshift=0.8cm,yshift=0cm]frame.north west)--([xshift=1.2cm,yshift=0cm]frame.north west)--cycle;
- \node[rectangle, text=white, drop shadow={opacity=.3, shadow xshift=0.1cm}, inner sep=1.5mm,fill=#2, anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshift=-3.mm]frame.north west) {\hspace*{1.5em}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}};
- \fill[color=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}]
- ([xshift=1cm,yshift=5pt]frame.north west) {[rounded corners=3pt]--++(-1cm-5pt,0)}--++(0,-1cm-5pt)--cycle;
- \fill[color=black!60] ([xshift=-5pt,yshift=-1cm]frame.north west)--([xshift=0cm,yshift=-0.8cm]frame.north west)-- ([xshift=0cm,yshift=-1.2cm]frame.north west)--cycle;
-}
-\newcommand{\my@theorem@overlay@last}[1]{
- \fill[#1,drop shadow={opacity=0.3,shadow xshift=-0.008\linewidth,shadow yshift=0.0016\linewidth}]
- ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) {[rounded corners=3pt]--++(0.05\linewidth+5pt,0)}--++(0,0.05\linewidth+5pt)--cycle;
- \fill[black!60] ([xshift=-0.05\linewidth,yshift=-5pt]frame.south east) -- ([xshift=-0.04\linewidth,yshift=0pt]frame.south east)-- ([xshift=-0.06\linewidth,yshift=0pt]frame.south east)--cycle;
- \fill[black!60] ([xshift=5pt,yshift=0.05\linewidth]frame.south east)-- ([yshift=0.04\linewidth]frame.south east) -- ([yshift=0.06\linewidth]frame.south east)--cycle;
-}
-% Second theorem style overlay settings
-\newcommand{\my@lemma@overlay@unbroken}[2]{
- %%============== First ==============%%
- \def\Rad{3.5pt}
- \def\theight{0.57cm}
- \def\rad{7pt}%
- \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={
- ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle},
- text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}};
- \begin{pgfonlayer}{bottom}
- \fill[#2,opacity=0.5]
- ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle;
- \fill[#2,opacity=0.5]
- ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle;
- \end{pgfonlayer}
- %%============== End ==============%%
- \def\tlen{1.5cm}
- \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.3pt}]
- ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle;
- \begin{pgfonlayer}{bottom}
- \fill[color=#2,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle;
- \end{pgfonlayer}
- }
-\newcommand{\my@lemma@overlay@first}[2]{
- %%============== First ==============%%
- \def\Rad{3.5pt}
- \def\theight{0.57cm}
- \def\rad{7pt}%
- \path[fill=#2,drop shadow={opacity=0.3,shadow xshift=.05cm,shadow yshift=-.05cm}]node[append after command={
- ([xshift=-1.5*\rad]thmname.north west) to[out=0,in=180,looseness=1] ([xshift=2.5*\rad]thmname.south west) --([xshift=-\rad]thmname.south east) to[out=0,in=180,looseness=1] ([xshift=3*\rad]thmname.north east) --cycle},
- text=white,font=\bfseries,align=center,inner ysep=1.5mm,minimum height=0.6cm,right] (thmname) at ([xshift=\rad,yshift=-.7*\rad]frame.north west) {\hspace*{10pt}#1.\ \ifdefvoid{\tcbtitletext}{}{(\itshape\tcbtitletext)}};
- \begin{pgfonlayer}{bottom}
- \fill[#2,opacity=0.5]
- ([xshift=-1.5*\rad]thmname.north west) to[out=180,in=305,looseness=1.5] +(3pt,-6pt) -| ++(12pt,0)--cycle;
- \fill[#2,opacity=0.5]
- ([xshift=3*\rad]thmname.north east) to[out=0,in=-90] +(5pt,-5pt) -| ++(-10pt,0) --cycle;
- \end{pgfonlayer}
- }
-\newcommand{\my@lemma@overlay@last}[1]{
- %%============== End ==============%%
- \def\Rad{3.5pt}
- \def\rad{7pt}%
- \def\theight{0.57cm}
- \def\tlen{1.5cm}
- \path[fill=#1,drop shadow={opacity=0.3,shadow xshift=.3pt}]
- ([xshift=-2*\rad,yshift=-5pt]frame.south east) coordinate (SE) to[out=0,in=180] +(4*\rad,5pt+\theight) --([shift={(-\tlen+4*\rad,5pt+\theight)}]SE) to[out=180,in=0] +(-4*\rad,-5pt-\theight) --cycle;
- \begin{pgfonlayer}{bottom}
- \fill[color=#1,opacity=0.5] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east) to[out=180,in=90,looseness=0.7] ([xshift=-1.35*\tlen-0.5*\Rad]frame.south east) coordinate (NWl)--([xshift=2*\rad]NWl) to[out=-90,in=-180,looseness=0.7] ([xshift=-1.35*\tlen+\Rad,yshift=-5pt]frame.south east)--cycle;
- \end{pgfonlayer}
- }
-\makeatother
-%%
-
-% proof
-\newcommand{\itbf}[1]{\textit{\textbf{#1}}}
-\declaretheoremstyle[
- spaceabove=3pt,spacebelow=3pt,
- headfont=\normalfont\bfseries,
- notefont=\normalfont\bfseries,notebraces={(}{)},
- bodyfont=\normalfont,
- postheadspace=.5em,
- headpunct={.},
- qed=\color{cyan!40!black}$\blacksquare$,%\qedsymbol
-]{Proofstyle}
-\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Proof}}]{Proof}
-\renewenvironment{proof}{\begin{Proof} }{\end{Proof}}
-\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Solution}}]{solution}
-
-%%%%%%%%%%%%%%% 计数器知识 %%%%%%%%%%%%%%%%%%%%%%
-% 每次用 \newcounter{foo} 定义新计数器,内部都会定义这几个命令
-
-% \c@foo,储存计数器的值,初始值为 0
-% \thefoo,储存计数器输出时的格式,初始定义为 \arabic{foo}
-% \p@foo,储存计数器被引用时的前缀,初始定义为空
-% \cl@foo,储存「子计数器」列表(此处有简化),foo 自增时它的每个「子计数器」都会归零(详见「自动归零」一节),初始定义为空
-%% 关于计数器的自动归零
-% 如果还定义了计数器 \newcounter{bar}[foo],那么 \cl@foo 里就有了 bar
-% \@addtoreset{child}{parent} 和 \@removefromreset{child}{parent} 可以把计数器 child 移入/移出 \cl@parent
-% \counterwithin* 和 \counterwithout* 和上一条里两个命令的功能类似,但它们在执行前会检查接受的两个参数是否为已定义的计数器。不加星号的版本会修改 \thechild,详见「输出格式」一节
-% 在使用 \stepcounter{parent} 和 \refstepcounter{parent} 时,parent 自增,同时归零\cl@parent 里的「子计数器」
-% \addtocount{parent}{1} 只自增 parent,没有归零其「子计数器」的效果
-% 归零实现为「对每个子计数器,先设为 -1,然后使用 \stepcounter 自增」,这样实现的「归零」功能是递归的
-% 递归的意思是,如果还有 \newcounter{grandchild}[child],那么 \stepcounter{parent} 会将 child 和 grandchild 都归零
diff --git a/macros/latex/contrib/beautybook/beautybook-cn.pdf b/macros/latex/contrib/beautybook/beautybook-cn.pdf
index 7dadd8e3c9..23690e698d 100644
--- a/macros/latex/contrib/beautybook/beautybook-cn.pdf
+++ b/macros/latex/contrib/beautybook/beautybook-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/beautybook/beautybook-cn.tex b/macros/latex/contrib/beautybook/beautybook-cn.tex
index bbfa40c4ae..7e30e04814 100644
--- a/macros/latex/contrib/beautybook/beautybook-cn.tex
+++ b/macros/latex/contrib/beautybook/beautybook-cn.tex
@@ -1,7 +1,7 @@
%% This work is released under the LaTeX Project Public License, v1.3c or later.
% This template is made by Ethan Lu.
% Please use XeLaTeX engine!
-\documentclass[zihao=-4,fontset=windows]{beautybook-CN}
+\documentclass[lang=cn,zihao=-4,a4paper,fontset=windows]{beautybook}
% ---------------------------------------------------------------------------- %
% The Cover Theme Chosen %
% ---------------------------------------------------------------------------- %
@@ -19,7 +19,10 @@
\mathstyle={ % 数学字体键值列表
math-font=plain, %plain (默认数学字体); stix; mtpro2
}
-\setmainfont{Times New Roman}
+\RequirePackage{fontspec}
+\setmainfont{XITS}
+\setsansfont{DejaVu Sans}
+\setmonofont{Latin Modern Mono}
\renewcommand{\partial}{∂}
%% First one
\mynewtheorem{
@@ -243,12 +246,12 @@ sorting=nty
\begin{document}
\thispagestyle{empty}
\title{Beautybook模板简介}
-\subtitle{}
+\subtitle{这是一个副标题!}
\edition{First Edition}
-\bookseries{Illustrated by Ethan Lu}
+\bookseries{Ilustrated by Ethan Lu}
\author{Ethan Lu}
\pressname{Beautybook}
-\presslogo{inner_pics/logo.png}
+\presslogo{inner_pics/beautybook-logo.png}
\coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg
\makecover
@@ -355,7 +358,29 @@ Beauty\LaTeX{} 系列模板是由我所做的书籍模板系列, 名叫\textbf{B
以下是最小工作示例:
\begin{lstlisting}
-\documentclass[zihao=-4,fontset=windows]{beautybook-CN}
+\documentclass[lang=cn,zihao=-4,a4paper,fontset=windows]{beautybook}
+% ---------------------------------------------------------------------------- %
+% The Cover Theme Chosen %
+% ---------------------------------------------------------------------------- %
+\definecolor{coverbgcolor}{HTML}{e0e0e0}
+\definecolor{coverfgcolor}{HTML}{1f3134} % The color of the background
+\definecolor{coverbar}{HTML}{7c9092} % The color of the left bar
+\definecolor{bottomcolor}{HTML}{2c4f54}
+\definecolor{nuanbai}{HTML}{f5f5f5}
+\coverstyle={ % 封面键值列表
+ cover-choose=cn, % cn ; en ; enfig ; birkar
+}
+% ---------------------------------------------------------------------------- %
+% The Cover Theme Chosen %
+% ---------------------------------------------------------------------------- %
+\mathstyle={ % 数学字体键值列表
+ math-font=plain, %plain (默认数学字体); stix; mtpro2
+}
+\RequirePackage{fontspec}
+\setmainfont{XITS}
+\setsansfont{DejaVu Sans}
+\setmonofont{Latin Modern Mono}
+\renewcommand{\partial}{∂}
\coverstyle={ % 封面键值列表
cover-choose=cn, % cn ; en ; enfig ; birkar
}
@@ -683,15 +708,15 @@ tlmgr update --self --all --reinstall-forcibly-removed
-\chapter{Beautybook 设置说明}
+\chapter{beautybook 设置说明}
-本模板英文版基于基础的 book 文类, 中文版则基于ctexbook文类,所以 book或者ctexbook 的选项对于本模板也是有效的。默认编码为 UTF-8,推荐使用 \TeX{} Live 编译。
+本模板英文版基于基础的 book 文类, 中文版则基于ctexbook文类,所以 book或者 ctexbook 的选项对于本模板也是有效的。默认编码为 UTF-8,推荐使用 \TeX{} Live 编译。
\section{语言模式}
-本模板内含两套基础语言环境, 分别为 中文的\lstinline{beautybook-CN.cls}、英文的\lstinline{beautybook-EN.cls}。改变语言环境会改变图表标题的引导词(图,表),文章结构词(比如目录,参考文献等),以及定理环境中的引导词(比如定理,引理等)。不同语言模式的启用如下:
+本模板内含两套基础语言环境, 分别为中文和英文。改变语言环境会改变图表标题的引导词(图,表),文章结构词(比如目录,参考文献等),以及定理环境中的引导词(比如定理,引理等)。不同语言模式的启用如下:
\begin{lstlisting}
-\documentclass{beautybook-CN} % 中文
-\documentclass{beautybook-EN} % 英文
+ \documentclass[lang=cn,zihao=-4,a4paper,fontset=windows]{beautybook} % 中文
+ \documentclass[lang=en]{beautybook} % 英文
\end{lstlisting}
除模板自带的两套语言设定之外,如果您需要使用其他语言, 可以通过更改cls文件中这几处解决, 分别为
@@ -700,7 +725,6 @@ tlmgr update --self --all --reinstall-forcibly-removed
\item 更改 part环境的名称 \lstinline{Part \thepart}为 \lstinline{(你的语言中part的翻译) \thepart}
\item 主文件,即当前文件导言区中的定理引导词
\item 更改chapter环境中的part名称如第一条所示
- \item 记住, 仅有亚洲语言环境可以使用ctexbook文类, 即基于\lstinline{beautybook-CN.cls}更改, 其他西语环境需要基于\lstinline{beautybook-EN.cls}更改.
\end{enumerate}
@@ -756,7 +780,7 @@ tlmgr update --self --all --reinstall-forcibly-removed
\subsection{徽标}
-本文用到的 Logo 为wiki随意找的springer经典马标, 可以自己查询下载出版社logo, 为免侵权,在更换图片的时候请选择合适合法的图片进行替换。
+本文用到的 Logo 为作者自行制作的beautybook专用Logo, 另外还可以使用自己的logo, 为免侵权,在更换图片的时候请选择合适合法的图片进行替换。
\subsection{自定义封面}
@@ -813,7 +837,7 @@ tlmgr update --self --all --reinstall-forcibly-removed
\subsubsection{个人版权的盒子共两种}
\begin{definition}[][名称][def label]
- 这是个人定制的盒子定制的定理环境,这是其中定义环境示例。注意:使用方法如下
+ 这是采用个人定制的盒子制作的定理环境,这是其中定义环境示例。注意:使用方法如下
\begin{itemize}
\item 如果你没有名称和标签,使用方法为
\begin{lstlisting}
diff --git a/macros/latex/contrib/beautybook/beautybook-en.pdf b/macros/latex/contrib/beautybook/beautybook-en.pdf
index 3203378b04..e91e8bbe01 100644
--- a/macros/latex/contrib/beautybook/beautybook-en.pdf
+++ b/macros/latex/contrib/beautybook/beautybook-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/beautybook/beautybook-en.tex b/macros/latex/contrib/beautybook/beautybook-en.tex
index 18c81b9fbf..c9c6b9405d 100644
--- a/macros/latex/contrib/beautybook/beautybook-en.tex
+++ b/macros/latex/contrib/beautybook/beautybook-en.tex
@@ -1,4 +1,11 @@
-\documentclass[12pt]{beautybook-EN}
+\documentclass[lang=en,12pt]{beautybook}
+\RequirePackage[utf8]{inputenc}
+\RequirePackage{times} % Times New Roman Font
+\RequirePackage[T1]{fontenc}
+\RequirePackage{microtype}
+\RequirePackage{pgfplots}
+\tikzset{>=Stealth}
+\pgfplotsset{compat=1.18}
% ---------------------------------------------------------------------------- %
% The Cover Theme Chosen %
% ---------------------------------------------------------------------------- %
@@ -17,6 +24,11 @@
math-font=plain, % plain; stix; mtpro2
}
\usepackage{bm}
+\renewcommand*{\textfraction}{0.05}
+\renewcommand*{\topfraction}{0.9}
+\renewcommand*{\bottomfraction}{0.8}
+\renewcommand*{\floatpagefraction}{0.85}
+
% \overfullrule=1pt
% \RequirePackage[fontsize=13.5pt]{fontsize}
%% First one
@@ -240,12 +252,12 @@ sorting=nty
\begin{document}
\thispagestyle{empty}
\title{An Introduction to beautybook template}
-\subtitle{}
+\subtitle{A subtitle here}
\edition{First Edition}
-\bookseries{Illustrated by Ethan Lu}
+\bookseries{Ilustrated by Ethan Lu}
\author{Ethan Lu}
\pressname{beautybook}
-\presslogo{inner_pics/logo.png}
+\presslogo{inner_pics/beautybook-logo.png}
\coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg
\makecover
@@ -346,7 +358,7 @@ The Project Addresses are the following.
\section{Installation and Maintenance of Template}
-There are two ways you can use this template. The first method is trivial that just download the zip of template from above channel, and then unzip and compile the main file in the archive (i.e. a file with a name like ``Beautybook-xx. tex"). The second way is uploading the zip of template to \texttt{overleaf} to comply.
+There are two ways you can use this template. The first method is trivial that just download the zip of template from above channel, and then unzip and compile the main file in the archive (i.e. a file with a name like ``beautybook-xx. tex"). The second way is uploading the zip of template to \texttt{overleaf} to comply.
Note that if you choose the second way, you must write \lstinline{math-font=plain} in the premble of the main file!
@@ -359,10 +371,17 @@ To install locally, follow above steps to download the latest version from GitHu
The following is an example of a minimal work:
\begin{lstlisting}
-\documentclass[12pt]{beautybook-EN}
-% ---------------------------------------------------------------------------- %
+\documentclass[lang=en,12pt]{beautybook}
+\RequirePackage[utf8]{inputenc}
+\RequirePackage{times} % Times New Roman Font
+\RequirePackage[T1]{fontenc}
+\RequirePackage{microtype}
+\RequirePackage{pgfplots}
+\tikzset{>=Stealth}
+\pgfplotsset{compat=1.18}
+% ------------------------------------------------- %
% The Cover Theme Chosen %
-% ---------------------------------------------------------------------------- %
+% ------------------------------------------------- %
\definecolor{coverbgcolor}{HTML}{e0e0e0}
\definecolor{coverfgcolor}{HTML}{1f3134} % The color of the background
\definecolor{coverbar}{HTML}{7c9092} % The color of the left bar
@@ -601,8 +620,8 @@ sorting=nty
\edition{The Edition}
\bookseries{Illustrated by author}
\author{author}
-\pressname{press}
-\presslogo{inner_pics/logo.png}
+\pressname{beautybook}
+\presslogo{inner_pics/beautybook-logo.png}
\coverimage{inner_pics/coverimage.jpg}%ivy-ge998908f8_1280.jpg
\makecover
@@ -711,17 +730,17 @@ tlmgr update --self --all --reinstall-forcibly-removed
Please refer to \href{https://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution}{How do I update my \TeX{} distribution?} for more information.
-\chapter{The setting of Beautybook Template}
+\chapter{The setting of beautybook Template}
The English version of this template is based on the basic ``book" class, and the Chinese version is based on the ``ctexbook" class, so the option of book or ctexbook is also valid for this template. The default encoding is \texttt{UTF-8}, and it is recommended to compile with \TeX{} Live.
\section{Language Mode}
-This template includes two basic locales: \lstinline{Beautybook-CN.cls} in Chinese and \lstinline{Beautybook-EN.cls} in English. Changing the locales alters the headings (including figures and tables) of the chart title, the article formatting (such as table of contents and references), and the language used for theorem contexts (such as Theorem, Lemma, etc.). You can switch between these language modes using the following instructions in the top of the premble:
+This template includes two basic locales: Chinese and English. Changing the locales alters the headings (including figures and tables) of the chart title, the article formatting (such as table of contents and references), and the language used for theorem contexts (such as Theorem, Lemma, etc.). You can switch between these language modes using the following instructions in the top of the premble:
\begin{lstlisting}
-\documentclass{beautybook-CN} % chinese
-\documentclass{beautybook-EN} % english
+ \documentclass[lang=cn,zihao=-4,a4paper,fontset=windows]{beautybook} % chinese
+ \documentclass[lang=en,12pt]{beautybook} % english
\end{lstlisting}
In addition to the two language settings that come with the template, if you need to use another language, you can do so by modifying the \texttt{.cls} file as follows
@@ -729,7 +748,6 @@ In addition to the two language settings that come with the template, if you nee
\begin{enumerate}
\item Change the name of the part environment \lstinline{Part\ \thepart} to \lstinline{(translation of part in your language)\ \thepart}
\item Theorem environment guide words in premble, such as Theorem.
- \item Please remember that only Asian languages can be modified based on \lstinline{beautybook-CN.cls}, other foreign languages need to be modified based on \lstinline{beautybook-EN.cls}.
\end{enumerate}
\section{Theme Color}
@@ -880,19 +898,19 @@ Here is the effect of the theorem environment provided by amsthm.
\end{definition}
\begin{theorem}
- The usage is the same as above, refer to the tag \ref{def label} below or you can \autoref{def label}.
+ The usage is the same as above, refer to the tag \ref{def label} below or you can use \autoref{def label}.
\end{theorem}
\begin{lemma}
- The usage is the same as above, refer to the tag \ref{def label} below or you can \autoref{def label}.
+ The usage is the same as above, refer to the tag \ref{def label} below or you can use \autoref{def label}.
\end{lemma}
\begin{corollary}
- The usage is the same as above, refer to the tag \ref{def label} below or you can \autoref{def label}.
+ The usage is the same as above, refer to the tag \ref{def label} below or you can use \autoref{def label}.
\end{corollary}
\newpage
\begin{example}
- The usage is the same as above, refer to the tag \ref{def label} below or you can \autoref{def label}.
+ The usage is the same as above, refer to the tag \ref{def label} below or you can use \autoref{def label}.
\end{example}
\subsection*{Ancient style box}
\begin{fancybox}
diff --git a/macros/latex/contrib/beautybook/beautybook-CN.cls b/macros/latex/contrib/beautybook/beautybook.cls
index 49f94464bf..73959a7594 100644
--- a/macros/latex/contrib/beautybook/beautybook-CN.cls
+++ b/macros/latex/contrib/beautybook/beautybook.cls
@@ -1,26 +1,43 @@
-%This Class is based on the default book class and options will be passed
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{beautybook-CN}[30-06-2024 V10.0 Beautybook Class]
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}}
-\ProcessOptions\relax
-\LoadClass[twoside,a4paper]{ctexbook}
-\RequirePackage[dvipsnames,svgnames,x11names,table]{xcolor}
-\RequirePackage{cncolours}
-\usepackage{fontspec}
-\colorlet{outermarginfgcolor}{DarkCyan} % foregroundcolor 较深
-\colorlet{outermarginbgcolor}{DarkCyan!30} % backgroundcolor 较浅
-\RequirePackage{bropd} % math 自适应数学括号命令 \br{} !!!
-\RequirePackage{tikz-imagelabels} % tikz图像标注
-\RequirePackage{epigraph-keys} % 名言引用
-\RequirePackage{fitbox} % 图像自适应
-\RequirePackage{pgfornament-han}
-\RequirePackage{tikz}
-\usetikzlibrary{calc,shadows,hobby,intersections, decorations.markings, decorations.pathreplacing,spy,arrows,shapes,fadings,trees,mindmap,patterns,shapes.arrows,shapes.symbols,tikzmark,shapes.geometric,graphs, quotes, angles,decorations.pathmorphing,through,shadings,backgrounds,positioning,fit,arrows.meta,shapes.misc,decorations.shapes}
-\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令
-\pgfplotsset{compat=1.18}
-%
+\ProvidesClass{beautybook}[02-07-2024 V10.0 beautybook Class]
+% /* -------------------------------------------------------------------------- */
+% /* 切换文类 */
+% /* -------------------------------------------------------------------------- */
+\DeclareKeys{% = \DeclareKeys[autoclass]
+ lang .choice: ,
+ lang/en .code:n = \def\beautybook@class{book} ,
+ lang/cn .code:n = \def\beautybook@class{ctexbook} ,
+ lang .initial:n = en ,
+ unknown .code:n = \beautybook@unknown ,
+}
+
+\ExplSyntaxOn
+\clist_new:N \beautybook@unknownoptions
+\cs_new_protected:Npn \beautybook@unknown
+ {
+ \bool_if:NTF \l__keys_no_value_bool
+ { % eg. 12pt, twoside
+ \clist_put_right:Nx \beautybook@unknownoptions
+ { \l_keys_key_str }
+ }
+ { % eg. zihao=4, fontset=windows
+ \clist_put_right:Nx \beautybook@unknownoptions
+ { \l_keys_key_str = { \exp_not:o \l_keys_value_tl } }
+ }
+ }
+\ExplSyntaxOff
+
+\ProcessKeyOptions % = \ProcessKeyOptions[beautybook]
+\PassOptionsToClass\beautybook@unknownoptions\beautybook@class
+%% 如果不需要过滤上面定义的 lang 等键,可以直接使用
+%% \PassOptionsToClass\@raw@classoptionslist\beautybook@class
+
+\LoadClass{\beautybook@class}
+% /* ---------------------------------- 切换文类 ---------------------------------- */
+
+
% /* -------------------------------------------------------------------------- */
-% /* 解决birkar封面不能用于a4paper问题 */
+% /* 判断 A4 paper程序 */
% /* -------------------------------------------------------------------------- */
\makeatletter
\ExplSyntaxOn
@@ -34,10 +51,24 @@
% \ifaivpaper@TF{a4paper内容}{not a4paper内容} % 这个用在想要判断a4paper的地方
\makeatother
% /* -------------------------------------------------------------------------- */
-% /* 解决birkar封面不能用于a4paper问题 */
+% /* 判断 A4 paper程序 */
+% /* -------------------------------------------------------------------------- */
+
+
+\RequirePackage[dvipsnames,svgnames,x11names,table]{xcolor}
+\RequirePackage{tikz} %%页面样式设计核心包 %提供\pgfonlayer命令
+\usetikzlibrary{cd,calc,shadows,hobby,intersections, decorations.markings, decorations.pathreplacing,spy,arrows,shapes,fadings,trees,mindmap,patterns,shapes.arrows,shapes.symbols,tikzmark,shapes.geometric,graphs, quotes, angles,decorations.pathmorphing,through,shadings,backgrounds,positioning,fit,arrows.meta,shapes.misc,decorations.shapes}
+
+% /* --------------------------------- 模板默认颜色 --------------------------------- */
+\colorlet{outermarginfgcolor}{DarkCyan} % foregroundcolor 较深的前景色
+\colorlet{outermarginbgcolor}{DarkCyan!30} % backgroundcolor 较浅的背景色
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 封面切换程序 */
% /* -------------------------------------------------------------------------- */
+
\ExplSyntaxOn
-% 封面切换程序 (LaTeX3)!
\keys_define:nn {beautybook/coverstyle}
{
cover-choose.choice:,
@@ -81,64 +112,50 @@
{ \keys_set:nV { beautybook / mathstyle } \l__beautybook_tmpa_toks }
\ExplSyntaxOff
\RequirePackage{stys/beautybook-bottompage} %封底
-\RequirePackage{rotating}
-\tikzset{>=Stealth}
-\setlist{font=\upshape} % 取消所有列表默认距离 nosep,
-% 浮动环境设置
-% 默认情况下, \LaTeX{} 要求每页的文字至少占据 20%,否则该页就只单独放置一个浮动环境,
-% 而这通常不是我们想要的, 我们将这个要求降低到 5%.
-\renewcommand*{\textfraction}{0.05}
-% 有时如果多个浮动环境连续放在一起,
-% 会将它们分在几个不同页,即使它们可在同一页放
-% 得下. 我们可以通过修改 |\topfraction| 和 |\bottomfraction| 分别设置顶端和底端的浮
-% 动环境的最大比例.
-\renewcommand*{\topfraction}{0.9}
-\renewcommand*{\bottomfraction}{0.8}
-% 有时\LaTeX{}会把一个浮动环境单独放在一页,
-% 我们要求这个环境至少要占据 85% 才能单独放在一页.
-% 注意: |\floatpagefraction| 的数值必须小于 |\topfraction|.
-\renewcommand*{\floatpagefraction}{0.85}
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 宏包导入 */
+% /* -------------------------------------------------------------------------- */
+\RequirePackage{cncolours,ninecolors}
+\RequirePackage{appendix} % 附录
+\RequirePackage{etoolbox} % 判断函数
+\RequirePackage{imakeidx}
+\RequirePackage{varwidth}
+\RequirePackage{caption}\colorlet{captioncolor}{outermarginfgcolor} % 图片和表格题注文字颜色
+\RequirePackage{indentfirst}
+\RequirePackage{amsmath,amsthm,mathrsfs,extarrows,bropd}
+\RequirePackage{thmtools,thm-restate}%定理环境 %定理的重写
+\RequirePackage[left=2cm,right=2cm,top=.6cm,bottom=2.2cm]{geometry}
+\RequirePackage{tabularray}
+\RequirePackage{enumitem}\setlist{font=\upshape} % 取消所有列表默认距离 nosep,
+\RequirePackage[normalem]{ulem} % 用于参考文献
% 关于图片 graphicx
+\RequirePackage{graphicx}
% 如果图片没有指定后缀, 依次按下列顺序搜索
\DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png}
% 设置图表搜索路径, 可以给图表文件夹取如下名字
\graphicspath{{inner_pics/}{inner_pics/titleimages/}{figures/}{figure/}{pictures/}{picture/}{pic/}{pics/}{image/}{images/}}
-% \RequirePackage[physics]{stys/physicx}
-% \RequirePackage{stys/Symbols}
-\RequirePackage{extarrows}
-\usetikzlibrary{tikzmark}
-% \arrowname{super-script}
-% \arrowname[sub-script]{super-script}
-\RequirePackage{appendix} % 附录
-% \RequirePackage{stys/symbols}
-%
-\RequirePackage{makeidx}
-\RequirePackage{etoolbox} % 判断函数
-\RequirePackage{paracol}
-\RequirePackage{tikz-cd}
-\RequirePackage{imakeidx}
-\RequirePackage{anyfontsize}
-\RequirePackage{calc}
-\RequirePackage{xkeyval,ifthen}
-\RequirePackage[backgroundcolor=yellow!40!cyan!20,bordercolor=yellow!40!cyan!20,linecolor=DarkCyan]{todonotes}
-\RequirePackage{varwidth}
-\RequirePackage[colorlinks,linkcolor = purple, %%修改此处为你想要的颜色
-anchorcolor = purple, %%修改此处为你想要的颜色
-urlcolor = purple, %%修改此处为你想要的颜色
-citecolor = purple, %%修改此处为你想要的颜色
-]{hyperref}
-\setcounter{tocdepth}{3}
-\setcounter{secnumdepth}{3}%增加编号深度
-\RequirePackage{dashrule}
-\newlength\outermarginwidth
-\setlength\outermarginwidth{1.5cm}
-\newlength\covershift
-\setlength\covershift{5cm}
-\RequirePackage{caption}
-% 图注与表注格式
-\colorlet{captioncolor}{outermarginfgcolor} % 图片和表格题注文字颜色
+
+\RequirePackage{anyfontsize} % 消除字体大小警告
+\RequirePackage[colorlinks,linkcolor = purple,anchorcolor = purple,urlcolor = purple,citecolor= purple]{hyperref}
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 设置pgflayers */
+% /* -------------------------------------------------------------------------- */
+\pgfdeclarelayer{background} %背景%底层
+\pgfdeclarelayer{foreground} %上层
+\pgfdeclarelayer{top} %顶部
+\pgfdeclarelayer{bottom} %底部
+\pgfsetlayers{bottom,background,main,foreground,top}
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 设置封面元素 */
+% /* -------------------------------------------------------------------------- */
\makeatletter
-%%----------------------------------封面信息定义--------------------------------------------------------%%
+
\newcommand\bookseries[1]{\def\@bookseries{#1}}
\newcommand\subtitle[1]{\def\@subtitle{#1}}
\newcommand\edition[1]{\def\@edition{#1}}
@@ -146,52 +163,34 @@ citecolor = purple, %%修改此处为你想要的颜色
\newcommand\pressname[1]{\def\@pressname{#1}}
\newcommand\coverimage[1]{\def\@coverimage{#1}}
\newcommand\chapimage[1]{\def\@chapimage{#1}}
-%%----------------------------------封面信息定义--------------------------------------------------------%%
+
\makeatother
-\RequirePackage{indentfirst}
-\RequirePackage{amsmath}
-\RequirePackage[left=2cm,right=2cm,top=.6cm,bottom=2.2cm]{geometry}
+% /* -------------------------------------------------------------------------- */
+
+% /* -------------------------------------------------------------------------- */
+% /* 模板用到的距离标尺 */
+% /* -------------------------------------------------------------------------- */
+\newlength\outermarginwidth % 页边栏宽度
+\setlength\outermarginwidth{1.5cm}
+
+\newlength\covershift % 自定义的距离标尺
+\setlength\covershift{5cm}
+% /* -------------------------------------------------------------------------- */
+\newcommand{\tikzoverlay}[1]{\begin{tikzpicture}[remember picture,overlay] #1 \end{tikzpicture}}
+
+
+
+% /* -------------------------------------------------------------------------- */
+% /* 目录样式设置 */
+% /* -------------------------------------------------------------------------- */
\RequirePackage{xpatch}%修正章节编号
\RequirePackage[automark]{scrlayer-scrpage}%页面设置宏包,隶属于koma-script文档类
-\RequirePackage{fontawesome5}
-\RequirePackage{mathrsfs}
-\RequirePackage[most]{tcolorbox}
-\tcbuselibrary{breakable, skins,theorems}%TcolorBox Library
-\RequirePackage{tabularx}
-\RequirePackage{lastpage}
-%\RequirePackage{twemojis}
-\RequirePackage{ninecolors}
-\RequirePackage{colortbl} %彩色表格
-\RequirePackage{tabularray}
-\UseTblrLibrary{amsmath}
-% 定义 +array, +matrix, +bmatrix, +Bmatrix, +pmatrix, +vmatrix, +Vmatrix 和 +cases 环境。其
-% 中,每一个环境都类似于不带 + 前缀的环境,但是就像 tblr 环境一样,使用 rowsep=2pt 默认值。
-% 除了+array 环境外,其余的每个环境都可以带一个可选项,通过该可选项,可能为环境设置内部
-% 参数。
-\UseTblrLibrary{booktabs} % 定义 \toprule、 \midrule、\bottomrule 和 \cmidrule 命令,这些命令可以直接用于 tblr环境中
-\UseTblrLibrary{diagbox} % 在tblr 环境中使用 \diagbox 和\diagboxthree 命令排版斜线表头
-\UseTblrLibrary{varwidth} % 为表格添加 measure 内部参数。当设置了 measure=vbox 后,则会使用 \vbox 测量单元格宽度。%可以使用stretch=-1 移除列表环境上下的间距, 注意,stretch=-1 选项也会移除单元格中的支架
-\RequirePackage{pgfornament}
-\RequirePackage{zhnumber}
-\RequirePackage{dashrule}
-\RequirePackage{adjustbox}
-\RequirePackage{enumitem}
-\RequirePackage{multicol}
-\RequirePackage{amsthm}
-\RequirePackage{thmtools,thm-restate}%定理环境 %定理的重写
-\RequirePackage{bclogo}
-\RequirePackage[normalem]{ulem}
-\RequirePackage{pgfplots} %画图 %%页面样式设计核心包 %提供\pgfonlayer命令以及下列图层指令
-\pgfplotsset{compat=1.18}
-\RequirePackage{graphicx}%修正minipage顶部对齐问题
-\pgfdeclarelayer{background} %背景%底层
-\pgfdeclarelayer{foreground} %上层
-\pgfdeclarelayer{top} %顶部
-\pgfdeclarelayer{bottom} %底部
-\pgfsetlayers{bottom,background,main,foreground,top}
-\newcommand{\tikzoverlay}[1]{\begin{tikzpicture}[remember picture,overlay] #1 \end{tikzpicture}}
\RequirePackage[explicit]{titlesec}
\RequirePackage{titletoc}
+\RequirePackage[most]{tcolorbox}
+\tcbuselibrary{breakable, skins,theorems}
+\setcounter{tocdepth}{3}
+\setcounter{secnumdepth}{3}%增加编号深度
\newcommand\boxednum[1]
{
@@ -243,63 +242,16 @@ fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
{\hyperlink{subsubsection.\thecontentslabel}{\contentslabel{3.3em}}}
{\hspace*{-3.3em}}
{\titlerule*[1pc]{.}\contentspage\hspace*{1.5mm}}
+% /* -------------------------------------------------------------------------- */
-% tcolorbox中插入图片或者tikz绘图方法
-\newcommand\Figure[4]{%
- \begin{center}
- \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this
-%(caption) particular \caption on input line XX.警告信息
- \includegraphics[#1]{#2}
- \captionof{figure}{#3}\label{#4}
- \end{center}
-}%用法 : 用于tcolorbox中插入图片
-\newcommand\Tikz[3]{%
- \begin{center}
- \captionsetup{type=figure} %消除 Package caption Warning: The option `hypcap=true' will be ignored for this(caption) particular \caption on input line XX.警告信息
- #3 %最后一个参数为Tikz画图代码窗口
- \captionof{figure}{#1}\label{#2} %第一与第二个参数是Tikz画图的名称与标签
- \end{center}
-} %用法 : 用于tcolorbox中插入Tikz绘图
-%特殊注释矩阵
-\newcommand\coolover[2]{\mathrlap{\smash{\overbrace{\phantom{%
- \begin{matrix} #2 \end{matrix}}}^{\mbox{$#1$}}}}#2}
-
-\newcommand\coolunder[2]{\mathrlap{\smash{\underbrace{\phantom{%
- \begin{matrix} #2 \end{matrix}}}_{\mbox{$#1$}}}}#2}
-
-\newcommand\coolleftbrace[2]{%
- #1\left\{\vphantom{\begin{matrix} #2 \end{matrix}}\right.}
-
-\newcommand\coolrightbrace[2]{%
- \left.\vphantom{\begin{matrix} #1 \end{matrix}}\right\}#2}
-\definecolor{lightergray}{gray}{0.99}
-
-\newcommand*{\circled}[1]{\lower.7ex\hbox{\tikz\draw (0pt, 0pt)%
- circle (.5em) node {\makebox[1em][c]{\small #1}};}}
-\newcommand{\twicecircle}{\raisebox{.7ex}{
- \begin{tikzpicture}[remember picture,overlay]
- \draw[line width=0.6pt,black!60] (0,0) circle (3pt);
- \fill[black] (0,0) circle (1.6pt) ;
- \end{tikzpicture}}
-}
-\newcommand{\exercise}[2][\bcicosaedre]{\bigskip
-\begin{tikzpicture}[remember picture,overlay]
-\draw[line width=2pt,loosely dotted,teal] (0,0)--node[pos=0.4,rectangle,minimum height=1.5em,font=\sffamily\Large,text=black,fill=black!2,drop shadow={opacity=.3, shadow xshift=0.1cm},anchor=center,
- inner sep=1.5mm,
- anchor=west,] {$#1$ ~ #2} (\linewidth,0);
-\end{tikzpicture}\bigskip\smallskip
-}
-\RequirePackage{extarrows}
-\newcommand{\R}{\mathbb{R}}
-\newcommand{\F}{\mathcal{F}}
-\newcommand{\lan}[1]{\langle #1 \rangle}
-\newenvironment{eq}[1]{\begin{equation}\begin{aligned}#1}{\end{aligned}\end{equation}} %有编号
-\newenvironment{eq*}[1]{\begin{equation*}\begin{aligned}#1}{\end{aligned}\end{equation*}} %无编号
-% \everymath{\displaystyle}
-
-%% -------- 章节样式
+
+% /* -------------------------------------------------------------------------- */
+% /* 章节样式 */
+% /* -------------------------------------------------------------------------- */
+
+% /* ---------------------------- titleimage自动导入程序 ---------------------------- */
\makeatletter
-% titleimage
+
\ExplSyntaxOn
\seq_new:N \g__beautybook_chapter_oimage_seq % odd
\seq_new:N \g__beautybook_chapter_eimage_seq % even
@@ -334,7 +286,8 @@ fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
\cs_new_protected:Npn \titleimage #1
{ \keys_set:nn { beautybook/titleimage } {#1} }
\ExplSyntaxOff
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% /* -------------------------------- Chatper样式 ------------------------------- */
\titleformat{\chapter}{\huge\bfseries\filcenter}{}{1em}{
\makebox[0pt][l]{\def\rad{7pt}%
\begin{tikzpicture}[remember picture, overlay]%
@@ -418,8 +371,11 @@ fuzzy shadow={0.4mm}{-0.4mm}{0mm}{0.2mm}{fill=white!40!gray},%下
\end{tikzpicture}}
}
\titlespacing{\chapter}{0pt}{0pt}{70pt}
+
+
+% /* --------------------------------- Part定制 --------------------------------- */
\makeatother
-% -------- Part定制
+
%%定义标题文字长度%%
\newlength{\partstarlen}
%%设置临界长度%%
@@ -538,7 +494,7 @@ color=transparent!90, middle color=transparent!20]
\assignpagestyle{\chapter}{empty}
-%% -- Section
+% /* -------------------------------- Section样式 ------------------------------- */
\titleformat{\section}
{}
{}
@@ -567,9 +523,8 @@ color=transparent!90, middle color=transparent!20]
\titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
-% /* -------------------------------------------------------------------------- */
-% /* Subsection Style */
-% /* -------------------------------------------------------------------------- */
+
+% /* ------------------------------ Subsection样式 ------------------------------ */
\usepackage{pifont}
\newcommand{\subsectionnumstyle}[2]{
\makebox[0pt][l]{\def\rad{5pt}%
@@ -610,7 +565,7 @@ color=transparent!90, middle color=transparent!20]
\end{pgfonlayer}
\end{tikzpicture}}
}
-%% -- Subsection
+
\titleformat{\subsection}
{}
{}
@@ -620,8 +575,13 @@ color=transparent!90, middle color=transparent!20]
\titleformat{name=\subsection,numberless}{}{}{-.5em}{\subsectionnonumstyle{#1}{outermarginfgcolor}}
% \titlespacing*{\subsection}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
+
+
+
%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%%
-%% SIDE-BAR
+% /* -------------------------------------------------------------------------- */
+% /* SIDE-BAR配置 */
+% /* -------------------------------------------------------------------------- */
\newlength\chapternumbersize
\setlength\chapternumbersize{36pt}
\setlength{\headheight}{40pt} % 页眉高度
@@ -820,7 +780,12 @@ color=transparent!90, middle color=transparent!20]
%%-------------------------------- SCRLAYER-SCRPAGE -------------------------------------%%
-%% Begin The Most Beautiful Box (STYLE : ys style) % 中国风盒子
+% /* -------------------------------------------------------------------------- */
+% /* 中国风盒子 */
+% /* -------------------------------------------------------------------------- */
+
+%% Begin The Most Beautiful Box (STYLE : ys style)
+
\makeatletter
\definecolor{framegolden}{HTML}{455a64} % 控制外框颜色
\definecolor{framegray}{HTML}{e0e0e0} % 控制填充颜色
@@ -1090,15 +1055,19 @@ color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)}
\makeatother
\newtcolorbox{fancybox}[1][]{enhanced,ys style,breakable,pad at break=2mm,
ys/frame/not at break,ys/frame/fill opacity=0,#1,fontupper=\itshape}
-%% End The Most Beautiful Box
+% /* -------------------------------------------------------------------------- */
+
+
+% /* -------------------------------------------------------------------------- */
+% /* 定理环境设置 */
+% /* -------------------------------------------------------------------------- */
\makeatletter
+% /* ---------------------------------- 第一种定理 --------------------------------- */
\definecolor{CyaN}{HTML}{dbe1e5}
\colorlet{OrangE}{yellow!20!orange}
\colorlet{BluE}{cyan!70!blue}
\colorlet{ReD}{red!20!orange}
\colorlet{GreeN}{yellow!40!green}
-
-% 第一种定理
\tcbset{my@basic@thm/.style={enhanced jigsaw, breakable,
enlarge left by=-3.5mm, width=\textwidth+3.5mm, boxrule=0pt,
top=2pt, bottom=2pt, left=2.5mm, frame hidden}}
@@ -1112,9 +1081,9 @@ color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)}
\NewDocumentCommand{\@my@renewtheorem}{ m m o +m }
{\IfNoValueTF{#3}{\renewtheorem{#1}{#2}}{\renewtheorem{#1}{#2}[#3]}%
\tcbset{my@#1@thmstyle/.style={#4}}}
-%
+
% ---------------------------------------------------------------------------------- %
-% 第二种定理
+% /* ---------------------------------- 第二种定理 --------------------------------- */
\tcbset{my@basic@tcbthm/.style={detach title,}}
\newcommand{\@my@newtcbtheorem@n}[1]{\ERROR}
\newcommand{\@my@newtcbtheorem@nn}[2]{%
@@ -1145,10 +1114,7 @@ color(75bp)=(pgftransparent!100); color(100bp)=(pgftransparent!100)}
\cs_new_protected:Npn \mynewtcbtheorem
{ \keyval_parse:NNn \@my@newtcbtheorem@n \@my@newtcbtheorem@nn }
\ExplSyntaxOff
-\makeatother
-% 第二种定理
-\makeatletter
%% Overlay Settings
\newcommand{\my@theorem@overlay@unbroken}[2]{
%%============== First ==============%%
@@ -1244,19 +1210,6 @@ anchor=west,rounded corners=3pt,font=\bfseries\normalsize] at ([xshift=0cm,yshif
\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Proof}}]{Proof}
\renewenvironment{proof}{\begin{Proof} }{\end{Proof}}
\declaretheorem[style=Proofstyle,numbered=no,name={\itbf{Solution}}]{solution}
+% /* -------------------------------------------------------------------------- */
-%%%%%%%%%%%%%%% 计数器知识 %%%%%%%%%%%%%%%%%%%%%%
-% 每次用 \newcounter{foo} 定义新计数器,内部都会定义这几个命令
-
-% \c@foo,储存计数器的值,初始值为 0
-% \thefoo,储存计数器输出时的格式,初始定义为 \arabic{foo}
-% \p@foo,储存计数器被引用时的前缀,初始定义为空
-% \cl@foo,储存「子计数器」列表(此处有简化),foo 自增时它的每个「子计数器」都会归零(详见「自动归零」一节),初始定义为空
-%% 关于计数器的自动归零
-% 如果还定义了计数器 \newcounter{bar}[foo],那么 \cl@foo 里就有了 bar
-% \@addtoreset{child}{parent} 和 \@removefromreset{child}{parent} 可以把计数器 child 移入/移出 \cl@parent
-% \counterwithin* 和 \counterwithout* 和上一条里两个命令的功能类似,但它们在执行前会检查接受的两个参数是否为已定义的计数器。不加星号的版本会修改 \thechild,详见「输出格式」一节
-% 在使用 \stepcounter{parent} 和 \refstepcounter{parent} 时,parent 自增,同时归零\cl@parent 里的「子计数器」
-% \addtocount{parent}{1} 只自增 parent,没有归零其「子计数器」的效果
-% 归零实现为「对每个子计数器,先设为 -1,然后使用 \stepcounter 自增」,这样实现的「归零」功能是递归的
-% 递归的意思是,如果还有 \newcounter{grandchild}[child],那么 \stepcounter{parent} 会将 child 和 grandchild 都归零
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/beautybook/inner_pics/beautybook-logo.png b/macros/latex/contrib/beautybook/inner_pics/beautybook-logo.png
new file mode 100644
index 0000000000..9a1c819103
--- /dev/null
+++ b/macros/latex/contrib/beautybook/inner_pics/beautybook-logo.png
Binary files differ
diff --git a/macros/latex/contrib/beautybook/inner_pics/hummingbird-8013214.jpg b/macros/latex/contrib/beautybook/inner_pics/hummingbird-8013214.jpg
new file mode 100644
index 0000000000..424cd0909f
--- /dev/null
+++ b/macros/latex/contrib/beautybook/inner_pics/hummingbird-8013214.jpg
Binary files differ
diff --git a/macros/latex/contrib/beautybook/inner_pics/logo.png b/macros/latex/contrib/beautybook/inner_pics/logo.png
deleted file mode 100644
index 470edd8a51..0000000000
--- a/macros/latex/contrib/beautybook/inner_pics/logo.png
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/beautybook/inner_pics/mystery-1599527.jpg b/macros/latex/contrib/beautybook/inner_pics/mystery-1599527.jpg
new file mode 100644
index 0000000000..19c0518b00
--- /dev/null
+++ b/macros/latex/contrib/beautybook/inner_pics/mystery-1599527.jpg
Binary files differ
diff --git a/macros/latex/contrib/beautybook/inner_pics/titleimages/c10.pdf b/macros/latex/contrib/beautybook/inner_pics/titleimages/c10.pdf
new file mode 100644
index 0000000000..76256c2f82
--- /dev/null
+++ b/macros/latex/contrib/beautybook/inner_pics/titleimages/c10.pdf
Binary files differ
diff --git a/macros/latex/contrib/beautybook/inner_pics/titleimages/c11.pdf b/macros/latex/contrib/beautybook/inner_pics/titleimages/c11.pdf
new file mode 100644
index 0000000000..b100782f85
--- /dev/null
+++ b/macros/latex/contrib/beautybook/inner_pics/titleimages/c11.pdf
Binary files differ
diff --git a/macros/latex/contrib/beautybook/inner_pics/titleimages/c9.pdf b/macros/latex/contrib/beautybook/inner_pics/titleimages/c9.pdf
new file mode 100644
index 0000000000..98d9e6a864
--- /dev/null
+++ b/macros/latex/contrib/beautybook/inner_pics/titleimages/c9.pdf
Binary files differ
diff --git a/macros/latex/contrib/beautybook/stys/beautybook-bottompage.sty b/macros/latex/contrib/beautybook/stys/beautybook-bottompage.sty
index 069dc61f60..814b929bb6 100644
--- a/macros/latex/contrib/beautybook/stys/beautybook-bottompage.sty
+++ b/macros/latex/contrib/beautybook/stys/beautybook-bottompage.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/beautybook-bottompage}[2024/06/30,v2.0]
+\ProvidesPackage{stys/beautybook-bottompage}[2024/07/01,v2.0]
\usepackage[ISBN=978-80-85955-35-4,SC0]{ean13isbn}
\makeatletter
%%----------------------------------封面信息定义--------------------------------------------------------%%
@@ -45,9 +45,9 @@
\raggedright
\sc\fontsize{20}{23}\selectfont\@bookseries}
}; %系列丛书名称
- \node[right,text=white,font=\rmfamily\Large,] at
- ([shift={(-.5cm,1.5cm)}]current page.south west) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(5.6cm,2cm)}]current page.south west) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
\ifdefvoid{\@ISBNcode}{}{
\node[scale=1.5] (isbn) at ([shift={(-1.85\outermarginwidth,.5\covershift)}]current page.south east) {\@ISBNcode};%
\begin{pgfonlayer}{bottom}
diff --git a/macros/latex/contrib/beautybook/stys/beautybook-cover-birkar.sty b/macros/latex/contrib/beautybook/stys/beautybook-cover-birkar.sty
index 4253b6a3a0..6668db854b 100644
--- a/macros/latex/contrib/beautybook/stys/beautybook-cover-birkar.sty
+++ b/macros/latex/contrib/beautybook/stys/beautybook-cover-birkar.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/beautybook-cover-birkar}[2024/06/30,v2.0]
+\ProvidesPackage{stys/beautybook-cover-birkar}[2024/07/01,v2.0]
\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令
\usepackage{etoolbox} %提供自定义封面选项接口
\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions
@@ -34,59 +34,69 @@ decorations.pathmorphing, graphs, quotes, angles, calc, through, backgrounds} %
top color=transparent!50]
\makeatletter
\newcommand{\aivcover}{
- \begin{scope}[opacity=0.8]
- \coordinate (triangleA) at ([shift={(1cm,-1.5cm)}]current page.north);
- \coordinate (triangleB) at ([shift={(-.75\linewidth,-.44\paperheight)}]triangleA);
- \coordinate (triangleC) at ([shift={(.5\linewidth,-.44\paperheight)}]triangleA);
- \draw[name path=triangle,very thick,coverfgcolor!70!white]
- (triangleA)--(triangleB)--(triangleC)--cycle;
- \draw[name path=circle,very thick,coverfgcolor!70!white]
- ([shift={(-1.65cm,-7.8cm)}]triangleA) coordinate (O) circle(6cm);
- %标注每个交点坐标
- \fill [name intersections={of=triangle and circle, name=i, total=\t}]
- [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
- \foreach \s in {1,...,\t}{(i-\s) circle (1em) node {}};
- \draw[name path=l,very thick,coverfgcolor!70!white] (i-1) -- (triangleC);
- \draw[very thick,coverfgcolor!70!white] (i-6) -- (triangleB);
- \draw[name path=l2,very thick,coverfgcolor!70!white] (i-4) -- (triangleA);
- \fill[name intersections={of=l and circle,name=j,total=\l}]
- [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
- \foreach \c in {1,...,\l}{(j-\c) circle (1em) node {}};
-
- \fill[name intersections={of=l2 and l,name=jj,total=\ll}]
- [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
- \foreach \cc in {1,...,\ll}{(jj-\cc) circle (1em) node {}};
- \end{scope}
-}
-
-\newcommand{\lettercover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \begin{pgfonlayer}{bottom}
+ \fill[coverfgcolor]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \fill[RED]
+ ([shift={(2.05cm,0)}]current page.north west) rectangle ([shift={(2.35cm,-6cm)}]current page.north west);
+ \fill[coverfgcolor!80,opacity=0.5]
+ ([shift={(0,-2cm)}]current page.north west) arc (90:-90:.3\paperheight) --cycle;
+ \fill[coverfgcolor!80,opacity=0.5]
+ ([shift={(0,-4cm)}]current page.north east) arc (90:270:.2\paperheight) --cycle;
+ \fill[coverfgcolor!80]
+ (current page.north west) rectangle ([shift={(2cm,0)}]current page.south west);
\begin{scope}[opacity=0.8]
- \coordinate (triangleA) at ([shift={(1cm,-1cm)}]current page.north);
- \coordinate (triangleB) at ([shift={(-.85\linewidth,-.46\paperheight)}]triangleA);
- \coordinate (triangleC) at ([shift={(.52\linewidth,-.46\paperheight)}]triangleA);
- \draw[name path=triangle,very thick,coverfgcolor!70!white]
- (triangleA)--(triangleB)--(triangleC)--cycle;
- \draw[name path=circle,very thick,coverfgcolor!70!white]
- ([shift={(-1.6cm,-7.3cm)}]triangleA) coordinate (O) circle(6cm);
- %标注每个交点坐标
- \fill [name intersections={of=triangle and circle, name=i, total=\t}]
- [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
- \foreach \s in {1,...,\t}{(i-\s) circle (1em) node {}};
- \draw[name path=l,very thick,coverfgcolor!70!white] (i-1) -- (triangleC);
- \draw[very thick,coverfgcolor!70!white] (i-6) -- (triangleB);
- \draw[name path=l2,very thick,coverfgcolor!70!white] (i-4) -- (triangleA);
- \fill[name intersections={of=l and circle,name=j,total=\l}]
- [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
- \foreach \c in {1,...,\l}{(j-\c) circle (1em) node {}};
-
- \fill[name intersections={of=l2 and l,name=jj,total=\ll}]
- [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
- \foreach \cc in {1,...,\ll}{(jj-\cc) circle (1em) node {}};
- \end{scope}
+ \coordinate (triangleA) at ([shift={(1cm,-1.5cm)}]current page.north);
+ \coordinate (triangleB) at ([shift={(-.75\linewidth,-.44\paperheight)}]triangleA);
+ \coordinate (triangleC) at ([shift={(.5\linewidth,-.44\paperheight)}]triangleA);
+ \draw[name path=triangle,very thick,coverfgcolor!70!white]
+ (triangleA)--(triangleB)--(triangleC)--cycle;
+ \draw[name path=circle,very thick,coverfgcolor!70!white]
+ ([shift={(-1.65cm,-7.8cm)}]triangleA) coordinate (O) circle(6cm);
+ %标注每个交点坐标
+ \fill [name intersections={of=triangle and circle, name=i, total=\t}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \s in {1,...,\t}{(i-\s) circle (1em) node {}};
+ \draw[name path=l,very thick,coverfgcolor!70!white] (i-1) -- (triangleC);
+ \draw[very thick,coverfgcolor!70!white] (i-6) -- (triangleB);
+ \draw[name path=l2,very thick,coverfgcolor!70!white] (i-4) -- (triangleA);
+ \fill[name intersections={of=l and circle,name=j,total=\l}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \c in {1,...,\l}{(j-\c) circle (1em) node {}};
+
+ \fill[name intersections={of=l2 and l,name=jj,total=\ll}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \cc in {1,...,\ll}{(jj-\cc) circle (1em) node {}};
+ \end{scope}
+ \end{pgfonlayer}
+ \begin{pgfonlayer}{foreground}
+ \fill[coverbar,opacity=.5]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \end{pgfonlayer}
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.3]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east)
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+\end{tikzpicture}%
}
-\newcommand*\makecover{
- \thispagestyle{empty}
+\newcommand{\lettercover}{
\begin{tikzpicture}[remember picture,overlay]
\begin{pgfonlayer}{bottom}
\fill[coverfgcolor]
@@ -99,38 +109,59 @@ decorations.pathmorphing, graphs, quotes, angles, calc, through, backgrounds} %
([shift={(0,-4cm)}]current page.north east) arc (90:270:.2\paperheight) --cycle;
\fill[coverfgcolor!80]
(current page.north west) rectangle ([shift={(2cm,0)}]current page.south west);
- % /* -------------------------------------------------------------------------- */
- % /* 判断a4paper */
- % /* -------------------------------------------------------------------------- */
- \ifaivpaper@TF{\aivcover}{\lettercover}
- % /* -------------------------------------------------------------------------- */
- % /* 判断a4paper */
- % /* -------------------------------------------------------------------------- */
-\end{pgfonlayer}
-\begin{pgfonlayer}{foreground}
- \fill[coverbar,opacity=.5]
-([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
-\end{pgfonlayer}
-\shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.3]
-([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
-\node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
-\parbox{.8\paperwidth}{
-\filright
-\color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
-}; %系列丛书名称
-\node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.57\paperheight]current page.north)
-{\parbox{.8\paperwidth}{%
- \raggedright%
-{\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
- \color{white}\sffamily\fontsize{30}{30}\selectfont
- \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
-}};% 封面标题与副标题
-\node[anchor=west,font=\sffamily\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition};
-\node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author};
-\node[left,text=white,font=\rmfamily\Large,] at
-([shift={(-1cm,2cm)}]current page.south east) %
-{\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \begin{scope}[opacity=0.8]
+ \coordinate (triangleA) at ([shift={(1cm,-1cm)}]current page.north);
+ \coordinate (triangleB) at ([shift={(-.85\linewidth,-.46\paperheight)}]triangleA);
+ \coordinate (triangleC) at ([shift={(.52\linewidth,-.46\paperheight)}]triangleA);
+ \draw[name path=triangle,very thick,coverfgcolor!70!white]
+ (triangleA)--(triangleB)--(triangleC)--cycle;
+ \draw[name path=circle,very thick,coverfgcolor!70!white]
+ ([shift={(-1.6cm,-7.3cm)}]triangleA) coordinate (O) circle(6cm);
+ %标注每个交点坐标
+ \fill [name intersections={of=triangle and circle, name=i, total=\t}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \s in {1,...,\t}{(i-\s) circle (1em) node {}};
+ \draw[name path=l,very thick,coverfgcolor!70!white] (i-1) -- (triangleC);
+ \draw[very thick,coverfgcolor!70!white] (i-6) -- (triangleB);
+ \draw[name path=l2,very thick,coverfgcolor!70!white] (i-4) -- (triangleA);
+ \fill[name intersections={of=l and circle,name=j,total=\l}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \c in {1,...,\l}{(j-\c) circle (1em) node {}};
+
+ \fill[name intersections={of=l2 and l,name=jj,total=\ll}]
+ [coverbar,opacity=0.5, every node/.style={above left, white, opacity=1}]
+ \foreach \cc in {1,...,\ll}{(jj-\cc) circle (1em) node {}};
+ \end{scope}
+ \end{pgfonlayer}
+ \begin{pgfonlayer}{foreground}
+ \fill[coverbar,opacity=.5]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \end{pgfonlayer}
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.3]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east)
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
\end{tikzpicture}%
+}
+
+\newcommand\makecover{
+ \thispagestyle{empty}
+ \ifaivpaper@TF{\aivcover}{\lettercover}
{\newpage\thispagestyle{empty}}
}
\makeatother
diff --git a/macros/latex/contrib/beautybook/stys/beautybook-cover-cn.sty b/macros/latex/contrib/beautybook/stys/beautybook-cover-cn.sty
index 176e740f6f..399246d97a 100644
--- a/macros/latex/contrib/beautybook/stys/beautybook-cover-cn.sty
+++ b/macros/latex/contrib/beautybook/stys/beautybook-cover-cn.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/beautybook-cover-cn}[2024/06/30,v2.0]
+\ProvidesPackage{stys/beautybook-cover-cn}[2024/07/01,v2.0]
\usetikzlibrary{calc,fadings,patterns}
\usepackage{adjustbox} %修正minipage顶部对齐问题
%%%%===============================================================%%%%%
@@ -19,34 +19,31 @@
bottom color =transparent!100,
top color=transparent!50]
\makeatletter
-\newcommand*\makecover{
- %% Use the Tikz library positioning and clear the page header and footer
- \usetikzlibrary{positioning}
- \thispagestyle{empty}
+\newcommand{\aivcover}{
\begin{tikzpicture}[remember picture,overlay]
\fill[coverfgcolor!75]
(current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
- \fill[coverfgcolor!50]
- ([xshift=-3\covershift,yshift=-.4\covershift]current page.east) rectangle ([yshift=-1.35\covershift]current page.east); % 被标题背景遮挡露出一部分的装饰矩形
+ \fill[coverfgcolor!50]
+ ([xshift=-3\covershift,yshift=-.4\covershift]current page.east) rectangle ([yshift=-1.35\covershift]current page.east); % 被标题背景遮挡露出一部分的装饰矩形
\fill[coverfgcolor]
([xshift=\outermarginwidth]current page.north west) rectangle ([xshift=-\outermarginwidth,yshift=1.5\covershift]current page.south east); % 标题背景大矩形
- \fill[coverbar]
- ([yshift=.44\covershift]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.4\covershift]current page.west); % 最左侧装饰矩形
+ \fill[coverbar]
+ ([yshift=.44\covershift+0.05cm]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.4\covershift]current page.west); % 最左侧装饰矩形
\node[left] at ([xshift=-1.8cm,yshift=-1.5cm]current page.north east) {%
\parbox{3\covershift}{
\raggedleft
\color{white}\sffamily\bfseries\fontsize{18}{22}\selectfont\@bookseries}
}; %系列丛书名称
- \node[right] at ([xshift=\outermarginwidth,yshift=1.5*\covershift]current page.west)
- {\parbox{.8\paperwidth}{%
- \filright%
- \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont\@title\\[-1.2ex]
- \begin{tikzpicture}
- \draw[white,line width=1pt] (0,0) --++ (\paperwidth-3\outermarginwidth,0);
- \end{tikzpicture}\\[-.5ex]
- \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont
- \ifdefvoid{\@subtitle}{}{\@subtitle}
- }};% 封面英文书名与中文书名
+ \node[right] at ([xshift=\outermarginwidth,yshift=1.5*\covershift]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \filright%
+ \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont\@title\\[-1ex]
+ \begin{tikzpicture}
+ \draw[white,line width=1pt] (0,0) --++ (\paperwidth-3\outermarginwidth,0);
+ \end{tikzpicture}\\[0ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}
+ }};% 封面英文书名与中文书名
\node[left,inner sep=0pt,outer sep=0pt] at ([xshift=1.2\outermarginwidth,yshift=1.8cm]current page.east)
{%
\adjustbox{valign=t}{
@@ -68,15 +65,77 @@
([xshift=\outermarginwidth]current page.south west) rectangle ++(1.8*\covershift,.575\paperheight);
\fill[pattern color=coverfgcolor!70,pattern=horizontal lines,opacity=0.8]
([xshift=\outermarginwidth,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
- \fill [coverfgcolor!80,path fading=fade right]%
- ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
- \fill [coverfgcolor!80,path fading=fade left]%
+ \fill [coverfgcolor!80,path fading=fade right]%
([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \fill [coverfgcolor!80,path fading=fade left]%
+ ([xshift=\outermarginwidth+.5\linewidth+.5cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
\node[left,text=white,font=\rmfamily\Large,] at
([shift={(-2cm,2cm)}]current page.south east) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
\end{tikzpicture}%
- {\newpage\thispagestyle{empty}}}
+ }
+
+\newcommand{\lettercover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \fill[coverfgcolor!75]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \fill[coverfgcolor!50]
+ ([xshift=-3\covershift,yshift=-.4\covershift]current page.east) rectangle ([yshift=-1.2\covershift]current page.east); % 被标题背景遮挡露出一部分的装饰矩形
+ \fill[coverfgcolor]
+ ([xshift=\outermarginwidth]current page.north west) rectangle ([xshift=-\outermarginwidth,yshift=1.5\covershift]current page.south east); % 标题背景大矩形
+ \fill[coverbar]
+ ([yshift=.44\covershift-0.1cm]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.4\covershift]current page.west); % 最左侧装饰矩形
+ \node[left] at ([xshift=-1.8cm,yshift=-1.5cm]current page.north east) {%
+ \parbox{3\covershift}{
+ \raggedleft
+ \color{white}\sffamily\bfseries\fontsize{18}{22}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[right] at ([xshift=\outermarginwidth,yshift=1.5*\covershift]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \filright%
+ \color{white}\sffamily\bfseries\fontsize{30}{30}\selectfont\@title\\[-1ex]
+ \begin{tikzpicture}
+ \draw[white,line width=1pt] (0,0) --++ (\paperwidth-3\outermarginwidth,0);
+ \end{tikzpicture}\\[0ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}
+ }};% 封面英文书名与中文书名
+ \node[left,inner sep=0pt,outer sep=0pt] at ([xshift=1.2\outermarginwidth,yshift=1.8cm]current page.east)
+ {%
+ \adjustbox{valign=t}{
+ \begin{minipage}{.25\textwidth}
+ \begin{tikzpicture}
+ \foreach \x/\r in {1.2/6,.8/4} {
+ \draw[white,line width=\x pt] (0,0) circle [radius=\r pt];}
+ \fill[white] (0,0) circle [radius=2.5pt];
+ \end{tikzpicture}
+ \hspace{2pt}\color{white}\sffamily\fontsize{20}{25}\selectfont Editors
+ \end{minipage}}
+ \hfill
+ \adjustbox{valign=t}{\begin{minipage}{.45\textwidth}
+ \raggedright\color{white}\sffamily\fontsize{20}{25}\selectfont\@author
+ \end{minipage}}
+ };% 封面作者信息栏
+ \fill [path picture={ \node at (path picture bounding box.center)
+ {\includegraphics[height=1.1\linewidth,keepaspectratio]{\@coverimage}};}]
+ ([xshift=\outermarginwidth]current page.south west) rectangle ++(1.8*\covershift,.575\paperheight);
+ \fill[pattern color=coverfgcolor!70,pattern=horizontal lines,opacity=0.8]
+ ([xshift=\outermarginwidth,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \fill [coverfgcolor!80,path fading=fade right]%
+ ([xshift=\outermarginwidth+.5\linewidth+.2cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \fill [coverfgcolor!80,path fading=fade left]%
+ ([xshift=\outermarginwidth+.5\linewidth+.2cm,yshift=.2\covershift]current page.south west) rectangle ([xshift=-\outermarginwidth,yshift=1.43\covershift]current page.south east);
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ }
+
+\newcommand\makecover{
+ \thispagestyle{empty}
+ \ifaivpaper@TF{\aivcover}{\lettercover}
+ {\newpage\thispagestyle{empty}}
+}
\makeatother
\endinput
% %%%%===============================================================%%%%%
diff --git a/macros/latex/contrib/beautybook/stys/beautybook-cover-en.sty b/macros/latex/contrib/beautybook/stys/beautybook-cover-en.sty
index 1c86810380..76d358c627 100644
--- a/macros/latex/contrib/beautybook/stys/beautybook-cover-en.sty
+++ b/macros/latex/contrib/beautybook/stys/beautybook-cover-en.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/beautybook-cover-en}[2024/06/30,v2.0]
+\ProvidesPackage{stys/beautybook-cover-en}[2024/07/01,v2.0]
\usepackage{anyfontsize} % 提供\fontsize{}{}\selectfont命令
\usepackage{etoolbox} %提供自定义封面选项接口
\usepackage[dvipsnames,svgnames,x11names,table]{xcolor}%颜色宏包 % Driver-independent color extensions
@@ -20,10 +20,66 @@
bottom color =transparent!100,
top color=transparent!50]
\makeatletter
-\newcommand*\makecover{
- %% Use the Tikz library positioning and clear the page header and footer
- \usetikzlibrary{positioning}
- \thispagestyle{empty}
+\newcommand{\aivcover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \fill[coverfgcolor]
+ (current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
+ \coordinate (start) at ($(current page.east)!0.5!(current page.north east)+(1,-1)$);
+ \coordinate (end) at (current page.north west);
+ \foreach \i in {0,0.01,...,1}
+ {
+ \coordinate (point) at ($(start)!\i!(end)$);
+ \draw[coverfgcolor!50]
+ ($(point)+(310*\i:6)$)--
+ ($(point)+(310*\i+120:6)$)--
+ ($(point)+(310*\i+240:6)$)--
+ ($(point)+(310*\i:6)$);
+ }
+ \coordinate (start) at (current page.south west);
+ \coordinate (end) at (current page.east);
+ \foreach \i in {0,0.02,...,1}
+ {
+ \coordinate (point) at ($(start)!\i!(end)$);
+ \draw[coverfgcolor!50]
+ ($(point)+(310*\i:10)$)--
+ ($(point)+(310*\i+120:10)$)--
+ ($(point)+(310*\i+240:10)$)--
+ ($(point)+(310*\i:10)$);
+ }
+ \shade[bottom color=coverfgcolor,top color=coverfgcolor!70,opacity=0.7]
+ ([xshift=.5\outermarginwidth]current page.north west) rectangle (current page.south east); % 背景大矩形
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=0.5]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \fill[coverbar!90,opacity=0.8]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \foreach \lx/\rx/\ry/\bc/\tc in {
+ 1/1.5/1.75/70/80,1.5/2/1.6/65/75,2/2.5/1.3/60/70,2.5/3/1/55/65,3/3.5/.7/50/60,3.5/4/1.2/60/70,4/4.5/1.9/75/85,4.5/5/1.1/55/65,5/5.5/1.2/60/70,6/6.5/1.6/65/75,6.5/7/1.3/60/70,7/7.5/1.87/70/80,7.5/8/1/55/65,8/8.5/.9/50/60,8.5/9/1.8/70/80,9/9.5/1.6/65/75,9.5/10/1.4/60/70,10/10.5/1/55/65,10.5/11/.7/50/60,11/11.5/1.3/55/65,11.5/12/1/70/80,12/12.5/1.3/65/75,12.5/13/1.6/60/70,13/13.5/1.75/55/65,13.5/14/1.6/65/75,14/14.5/1.3/60/70
+ }{
+ \shade[bottom color=coverfgcolor!\bc,top color=coverfgcolor!\tc,opacity=.5]
+ ([xshift=\lx\outermarginwidth]current page.north west) rectangle ([xshift=\rx\outermarginwidth,yshift=-\ry\covershift]current page.north west);%顶部琴键矩形
+ }
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sffamily\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ {\newpage\thispagestyle{empty}}
+}
+
+\newcommand{\lettercover}{
\begin{tikzpicture}[remember picture,overlay]
\fill[coverfgcolor]
(current page.north west) rectangle (current page.south east);% 填充封面背景颜色 (coverbgcolor)
@@ -66,21 +122,27 @@
\filright
\color{white}\sffamily\fontsize{20}{23}\selectfont\@bookseries}
}; %系列丛书名称
- \node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.57\paperheight]current page.north)
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
{\parbox{.8\paperwidth}{%
\raggedright%
{\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
\color{white}\sffamily\fontsize{30}{30}\selectfont
\ifdefvoid{\@subtitle}{}{\@subtitle}\par}
}};% 封面标题与副标题
- \node[anchor=west,font=\sffamily\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition};
- \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author};
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
\node[left,text=white,font=\rmfamily\Large,] at
- ([shift={(-1cm,2cm)}]current page.south east) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
\end{tikzpicture}%
{\newpage\thispagestyle{empty}}
}
+
+\newcommand\makecover{
+ \thispagestyle{empty}
+ \ifaivpaper@TF{\aivcover}{\lettercover}
+ {\newpage\thispagestyle{empty}}
+}
\makeatother
%%%%===============================================================%%%%%
%%------------------------------------------------------封面设计--------------------------------------------------------%%
diff --git a/macros/latex/contrib/beautybook/stys/beautybook-cover-enfig.sty b/macros/latex/contrib/beautybook/stys/beautybook-cover-enfig.sty
index e84129ddea..9c24de8b3e 100644
--- a/macros/latex/contrib/beautybook/stys/beautybook-cover-enfig.sty
+++ b/macros/latex/contrib/beautybook/stys/beautybook-cover-enfig.sty
@@ -1,5 +1,5 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{stys/beautybook-cover-enfig}[2024/06/30,v2.0]
+\ProvidesPackage{stys/beautybook-cover-enfig}[2024/07/01,v2.0]
\tikzfading[name=fade right,
right color =transparent!100,
left color=transparent!0]
@@ -13,10 +13,40 @@
bottom color =transparent!100,
top color=transparent!50]
\makeatletter
-\newcommand*\makecover{
- %% Use the Tikz library positioning and clear the page header and footer
- \usetikzlibrary{positioning}
- \thispagestyle{empty}
+\newcommand{\aivcover}{
+ \begin{tikzpicture}[remember picture,overlay]
+ \begin{pgfonlayer}{bottom}
+ \node[opacity=0.8,inner sep=0pt] at (current
+ page.center){\includegraphics[width=\paperwidth,height=\paperheight]{\@coverimage}};
+ \end{pgfonlayer}
+ \shade[left color=coverbgcolor!70,right color=coverbgcolor!50,path fading=fade right,opacity=.5]
+ ([xshift=.5\outermarginwidth]current page.north west) rectangle ([xshift=4\outermarginwidth]current page.south west); % 背景大矩形虚化
+ \shade[left color=coverfgcolor,right color=coverfgcolor!60,opacity=.8]
+ ([xshift=\outermarginwidth,yshift=2\outermarginwidth]current page.west) rectangle (current page.south east); % 标题背景大矩形
+ \fill[coverbar,opacity=0.8]
+ ([yshift=2\outermarginwidth]current page.west) rectangle ([xshift=\outermarginwidth,yshift=-.2\outermarginwidth]current page.west); % 最左侧装饰矩形
+ \node[anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.4\covershift]current page.north) {%
+ \parbox{.8\paperwidth}{
+ \filright
+ \color{white}\sc\fontsize{20}{23}\selectfont\@bookseries}
+ }; %系列丛书名称
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
+ {\parbox{.8\paperwidth}{%
+ \raggedright%
+ {\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
+ \color{white}\sc\fontsize{30}{30}\selectfont
+ \ifdefvoid{\@subtitle}{}{\@subtitle}\par}
+ }};% 封面标题与副标题
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
+ \node[left,text=white,font=\rmfamily\Large,] at
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ \end{tikzpicture}%
+ {\newpage\thispagestyle{empty}}
+}
+
+\newcommand{\lettercover}{
\begin{tikzpicture}[remember picture,overlay]
\begin{pgfonlayer}{bottom}
\node[opacity=0.8,inner sep=0pt] at (current
@@ -33,20 +63,26 @@
\filright
\color{white}\sc\fontsize{20}{23}\selectfont\@bookseries}
}; %系列丛书名称
- \node[ anchor=south] at ([xshift=.3\outermarginwidth,yshift=-.55\paperheight]current page.north)
+ \node[ anchor=south,below right] (covertitles) at ([xshift=1.8\outermarginwidth-0.2cm,yshift=2.7cm]current page.west)
{\parbox{.8\paperwidth}{%
\raggedright%
{\renewcommand\baselinestretch{1.1}\selectfont \color{white}\sffamily\bfseries\fontsize{40}{40}\selectfont\@title\\[0.5ex]
\color{white}\sc\fontsize{30}{30}\selectfont
\ifdefvoid{\@subtitle}{}{\@subtitle}\par}
}};% 封面标题与副标题
- \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([xshift=1.8\outermarginwidth,yshift=-.6\covershift]current page.west) {\@edition};
- \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth,yshift=\covershift]current page.west) {\@author};
+ \node[anchor=west,font=\sc\fontsize{23}{23}\selectfont,text=white] at ([shift={(-.4\paperwidth,-6cm)}]covertitles) {\@edition};
+ \node[anchor=west,font=\sffamily\Huge,text=white] at ([xshift=1.8\outermarginwidth-0.3cm,yshift=\covershift]current page.west) {\@author};
\node[left,text=white,font=\rmfamily\Large,] at
- ([shift={(-1cm,2cm)}]current page.south east) %
- {\raisebox{-1.1cm}{\includegraphics[width=0.2\linewidth]{\@presslogo}}\hspace*{-3.5ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
+ ([shift={(-2cm,2cm)}]current page.south east) %
+ {\raisebox{-0.5cm}{\includegraphics[width=0.1\linewidth]{\@presslogo}}\hspace*{0ex}\begin{varwidth}{.4\textwidth}\tikz\draw[white,line width=1.25pt] (0,0)--++(0,1cm);\,\raisebox{.25cm}{\@pressname} \end{varwidth}};%
\end{tikzpicture}%
{\newpage\thispagestyle{empty}}
}
+
+\newcommand\makecover{
+ \thispagestyle{empty}
+ \ifaivpaper@TF{\aivcover}{\lettercover}
+ {\newpage\thispagestyle{empty}}
+}
\makeatother
\endinput
diff --git a/macros/latex/contrib/bib2qr/README.md b/macros/latex/contrib/bib2qr/README.md
new file mode 100644
index 0000000000..9f7bb900a1
--- /dev/null
+++ b/macros/latex/contrib/bib2qr/README.md
@@ -0,0 +1,88 @@
+# bib2qr
+
+[![License](https://img.shields.io/ctan/l/bib2qr?color=blue)](https://www.latex-project.org/lppl/lppl-1-3c.txt)
+[![Latest release](https://img.shields.io/gitea/v/release/Cs137/bib2qr?gitea_url=https%3A%2F%2Fcodeberg.org%2F)](https://codeberg.org/Cs137/bib2qr/releases/latest)
+[![CTAN](https://img.shields.io/ctan/v/bib2qr.svg)](https://ctan.org/pkg/bib2qr)
+
+A LaTeX package for citing BibTeX entries with QR codes.
+
+The `bib2qr` package provides functionality to cite BibTeX entries with QR codes
+for easy sharing and referencing. The target of the QR code is the entry's DOI,
+or URL if no DOI exists. A citation generated via `\qrfullcite`, which is part
+of `bib2qr`, might look as follows:
+
+[![Example output generated with `\qrfullcite`](https://codeberg.org/Cs137/bib2qr/media/branch/main/example/qrfullcite_example.png "Example output generated with qrfullcite")](https://codeberg.org/Cs137/bib2qr/media/branch/main/example/qrfullcite_example.png)
+
+
+## Installation
+
+Skip this section, if `bib2qr` is already provided in your TeX distribution.
+You should be able to install it [from the CTAN](https://www.ctan.org/pkg/bib2qr)
+via your distribution's utility (e.g. the TeX Live Utility).
+
+### Manual installation
+
+You can get the package's source code from the
+[project repository on Codeberg](https://codeberg.org/Cs137/bib2qr).
+The repository contains a build script, which allows you to build the required
+files for the `bib2qr` package and copy them into your _TeX Directory Structure_
+(TDS) using `l3build`. Ensure that `l3build` is installed on your system and run
+it from the repository's root directory as follows:
+
+```bash
+l3build install --full
+```
+
+The `--full` option ensures that all necessary files are built and installed.
+
+If you do not want to install the package into your TDS, but use it in a
+particular LaTeX project, follow the steps listed below.
+
+1. unpack `bib2qr.sty` from the `bib2qr.dtx` file
+ - using `l3build` and the `build.lua` script: `l3build unpack`, __or__
+ - directly via the installer file: `pdflatex bib2qr.ins`
+2. copy the extracted `bib2qr.sty` file into the same directory as your LaTeX sources.
+
+
+## Usage
+
+Please consult the [package documentation](http://mirrors.ctan.org/macros/latex/contrib/bib2qr/bib2qr.pdf)
+for detailed usage information.
+
+If you have any questions or need assistance, feel free to
+[open an issue on the repository](https://codeberg.org/Cs137/bib2qr/issues).
+
+
+## Changes
+
+All notable changes to this project are documented in the file
+[`CHANGELOG.md`](https://codeberg.org/Cs137/bib2qr/src/branch/main/CHANGELOG.md).
+
+
+## Contributing
+
+Contributions to the `bib2qr` package are very welcomed. Feel free to submit a
+pull request, if you would like to contribute to the project. In case you are
+unfamiliar with the process, consult the
+[forgejo documentation](https://forgejo.org/docs/latest/user/pull-requests-and-git-flow/)
+and follow the steps using this repository instead of the `example` repository.
+
+Create your [pull request (PR)](https://codeberg.org/Cs137/bib2qr/pulls) to
+inform that you start working on a contribution. Provide a clear description
+of your envisaged changes and the motivation behind them, prefix the PR's title
+with ``WIP: `` until your changes are finalised.
+
+All kind of contributions are appreciated, whether they are
+bug fixes, new features, or improvements to the documentation.
+
+
+### Contributors
+
+- [Christian Schreinemachers](https://codeberg.org/Cs137)
+- [Markus Kohm](https://codeberg.org/komascript)
+
+
+---
+
+This package was created and is maintained by Christian Schreinemachers, (C) 2024.
+
diff --git a/macros/latex/contrib/bib2qr/bib2qr.dtx b/macros/latex/contrib/bib2qr/bib2qr.dtx
new file mode 100644
index 0000000000..980c2002c2
--- /dev/null
+++ b/macros/latex/contrib/bib2qr/bib2qr.dtx
@@ -0,0 +1,594 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2024 Christian Schreinemachers
+%
+% This work may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.3c of this
+% license or (at your option) any later version. The latest version
+% of this license is in
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008-05-04 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The current maintainer of this work is Christian Schreinemachers.
+%
+% This work consists of the files
+% README.md
+% bib2qr.dtx
+% bib2qr.ins
+% and the derived files
+% bib2qr.sty
+% bib2qr.pdf
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \fi
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{bib2qr}
+%<package> [2024-07-31 v0.2 Cite BibTeX entries with QR codes]
+%
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+\usepackage[T1]{fontenc}
+\usepackage[toc]{multitoc}
+\usepackage{geometry}
+\usepackage{fancyvrb}
+% Declare example reference entries
+\begin{filecontents}[overwrite]{example-references.bib}
+ @software{bib2qr,
+ author = {Schreinemachers, Christian},
+ title = {bib2qr - A LaTeX package for citing BibTeX entries with QR codes},
+ url = {https://codeberg.org/Cs137/bib2qr/releases/tag/v0.2},
+ version = {v0.2},
+ date = {2024-07-31}
+ }
+ @article{Doe2024,
+ author = {Doe, Jane},
+ title = {A comprehensive study on example generation},
+ journal = {Journal of Examples},
+ year = {2024},
+ volume = {42},
+ pages = {1982--2024},
+ doi = {10.1234/example.2024.001}
+ }
+ @article{Mustermann2023,
+ author = {Mustermann, Erika},
+ title = {Limitations in including electronic references in articles},
+ journal = {Journal of Examples},
+ year = {2023},
+ volume = {23},
+ pages = {624--666}
+ }
+\end{filecontents}
+\usepackage[style=authoryear,sorting=none]{biblatex}
+\addbibresource{example-references.bib}
+\usepackage[%
+ pdfusetitle,%
+ hyperindex=false,%
+ pdfsubject={LaTeX package documentation},%
+ pdfkeywords={bib2qr, biblatex, latex, qrcode, documentation}%
+]{hyperref}
+\usepackage{scrextend}
+\usepackage{cleveref}
+\usepackage[qrwidth=1.25cm]{bib2qr}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\DoNotIndex{\begin,\DeclareBibliographyDriver,\DeclareCiteCommand,\DeclareFieldFormat,
+ \DeclareKeys,\dimexpr,\edef,\end,\equal,\fullcite,\hspace,\IfBeginWith,
+ \ifboolexpr,\iffieldundef,\ifthenelse,\linewidth,\multicitedelim,
+ \NewDocumentCommand,\newcommand,\noindent,\par,\parindent,\printfield,
+ \ProcessKeyOptions,\qrcode,\RequirePackage,\relax,\SetKeys,\space,
+ \thefield,\usebibmacro,\usedriver}
+\setcounter{IndexColumns}{2}
+\setlength{\IndexMin}{40ex}
+\setlength{\columnseprule}{.4pt}
+\addtolength{\oddsidemargin}{2cm}
+\addtolength{\textwidth}{-2cm}
+\begin{document}
+ \DocInput{bib2qr.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \pagestyle{headings}
+%
+% \newcommand*{\package}[1]{\textsf{#1}}
+% \newcommand*{\ctanpkg}[1]{\href{https://ctan.org/pkg/#1}{\package{#1}}}
+% \newcommand*{\opt}[1]{\texttt{#1}}
+% \newcommand*{\default}[1]{(default: \opt{#1})}
+%
+%
+% ^^A -----------------------------
+%
+% \changes{v0.2}{2024-07-31}{%
+% Initial release,
+% convert into dtx,
+% add documentation,
+% rename internal macros,
+% add \opt{qrdelimiter} option
+% }
+% \changes{v0.1}{2024/06/16}{Initial version}
+%
+% \GetFileInfo{bib2qr.sty}
+%
+%
+% ^^A -----------------------------
+%
+% \title{The \package{bib2qr} package}
+% \author{Christian Schreinemachers}
+% \date{%
+% Released \filedate\thanks{%
+% \package{bib2qr}~\fileversion
+% ~(\href{https://codeberg.org/Cs137/bib2qr/releases/tag/\fileversion}{source code})}%
+% }
+% \maketitle
+%
+%
+% ^^A -----------------------------
+%
+% \begingroup
+% \hypersetup{
+% linkcolor=.,
+% citecolor=.,
+% urlcolor=.,
+% }
+% \begin{abstract}
+% The \package{bib2qr} package provides functionality to cite BibTeX entries
+% with QR codes for easy sharing and referencing. The target of the QR code
+% is the entry's digital object identifier (DOI), or URL if no DOI exists.
+% It is realised in the \cs{qrcite} macro, via the \LaTeX{} packages
+% \package{biblatex} and \package{qrcode}. In addition to the \cs{qrcite}
+% command, the package contains the \cs{qrfullcite} macro, which requires
+% only a BibTeX key as argument and allows to generate output that might
+% look as follows:\\
+% \textcolor{red}{\qrfullcite[noindent]{bib2qr}}
+% \end{abstract}
+% \endgroup
+%
+%
+% ^^A -----------------------------
+%
+% \tableofcontents
+%
+%
+% ^^A -----------------------------
+%
+% \section{Introduction}
+% ^^A
+% I like to include \href{https://en.wikipedia.org/wiki/QR_code}{quick-response (QR) codes}
+% of references on slides created with \LaTeX{} \ctanpkg{beamer}. Previously,
+% I did this by using the \ctanpkg{qrcode} package and manually declaring the
+% URL of the reference's digital object identifier (DOI). Occasionally, I also
+% add human-readable information generated via \cs{fullcite} from the
+% \ctanpkg{biblatex} package.
+%
+% To avoid manually declaring the URL and calling two separate commands for QR
+% codes and human-readable citations, I developed this \LaTeX{} package. It
+% automates the inclusion of QR codes by a \package{biblatex} bibliography
+% driver\footnote{%
+% \href{http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf\#page=166}
+% {\package{biblatex} documentation p.\,166 (v3.20)}%
+% },
+% which uses field formats to display QR codes for the entry's \opt{doi}
+% and \opt{url} fields with the \package{qrcode} package. You can cite any
+% reference from your bibliography with this driver by declaring its \meta{key}
+% to the \cs{qrcite} command. The latter is a cite command\footnote{%
+% \href{http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf\#page=186}%
+% {\package{biblatex} documentation p.\,186 (v3.20)}%
+% \label{biblatexCiteCommand}%
+% },
+% which ensures that any referenced QR code is also listed in the reference list.
+%
+% For the inclusion of both, QR codes and human-readable citation information
+% in a single step, I introduced the \cs{qrfullcite} command. It applies the
+% \cs{qrcite} command and the \cs{fullcite} command from the \package{biblatex}
+% package, ensuring clarity and ease of reference not only on \package{beamer}
+% slides, but in any \LaTeX{} document.
+%
+%
+% ^^A -----------------------------
+%
+% \section{Usage}
+% ^^A
+% Load the package in your document's preamble and specify any of the
+% options described in the next subsection as follows:
+%
+% \begin{quote}
+% \cs{usepackage}\oarg{option(s)}\{bib2qr\}
+% \end{quote}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Options}
+% ^^A
+% In order to change the default behaviour of this package, declare one
+% or more of the options described in this subsection with your desired
+% value.
+%
+% \begin{description}
+%
+% \item[\opt{doiurlbase=\meta{string}}] \default{https://doi.org/}
+% specifies the prefix to convert a DOI string into its URL. If the DOI
+% string starts with \meta{doiurlbase}, it is used as is to generate a
+% QR code. Otherwise, the DOI string is appended to \meta{doiurlbase} to
+% form the DOI's URL, which is then used to generate the QR code.
+% In normal use cases this option does not require any adjustment.
+%
+% \item[\opt{qrdelimiter=\meta{sepcode}}] \default{\cs{space}}
+% specifies the delimiter of QR codes generated by \cs{qrcite} in multicite
+% mode. It is shown between the individual QR codes of multiple references
+% created by \cs{qrcite}\marg{key1,key2,\dots keyN} and \emph{``\dots is
+% arbitrary code to be executed after each iteration...''}\,\footref{biblatexCiteCommand}.
+% The examples shown in this document were generated considering the
+% default \opt{qrdelimiter}.
+%
+% \item[\opt{qrversion=\meta{version specification}}] \default{0}
+% sets the version of the QR code. Consult the \package{qrcode} documentation
+% for details about the \meta{version specification}\footnote{%
+% \href{http://mirrors.ctan.org/macros/latex/contrib/qrcode/qrcode.pdf\#page=3}
+% {\package{qrcode} documentation p.\,3 (v1.51)}%
+% }.
+% The examples shown in this document were generated considering the
+% default \opt{qrversion}.
+%
+% \item[\opt{qrwidth=\meta{dimen}}] \default{2cm}
+% sets the width of the QR code. The value is used to determine the
+% width for the output of the \cs{fullcite} macro and is passed to
+% \package{qrcode} as \opt{height} option. The default value is quite
+% suitable for usage in \LaTeX{} \package{beamer} slides, but in such
+% documents as this one, a smaller width might be desired. The examples
+% shown in this document were generated using \opt{qrwidth=1.25cm}.
+%
+% \end{description}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Macros}
+% ^^A
+% \subsubsection*{\cs{qrcite}\marg{key(s)}}
+%
+% \DescribeMacro{\qrcite}
+% QR code(s) with a link to the reference's DOI or URL can be generated
+% using the \cs{qrcite} command. The target of the QR code is the entry's
+% DOI converted into a URL, or the URL iteself. In case the BibTeX entry has
+% no DOI and no URL, it does nothing besides raising a warning.
+% ^^A
+% The output for some example entries is shown underneath. If you
+% would like to replicate the examples, you can find the entries
+% sources as \cref{ssec:example_bib}. The colours are defined in the
+% examples, as this functionality is out of scope of the package
+% \package{bib2qr}. Moreover, \package{hyperlink} is configured in such
+% a way that the links in the following examples consider the font colour,
+% usually links would be presented in the colour defined as \opt{linkcolor}.
+%
+% The example displayed in blue was created via \textcolor{blue}{%
+% \cs{qrcite\{bib2qr\}}}. The QR code in red next to it was generated
+% via \textcolor{red}{\cs{qrcite\{Doe2024\}}}. The entry of the latter has a
+% DOI, while the entry of the blue example represents a BibTeX entry without
+% a DOI, but there is a value assigned to its URL field.
+% ^^A
+% The macro \cs{qrcite} is a cite command, thus it can be used to cite multiple
+% references, as shown in black (\cs{qrcite\{bib2qr,Doe2024\}}), and entries
+% cited via \cs{qrcite} are included in the document's bibliography
+% (cf. \cref{ssec:example_ref}).
+%
+% \begingroup
+% \hypersetup{
+% linkcolor=.,
+% citecolor=.,
+% urlcolor=.,
+% }
+%
+% \par\smallskip%
+% \noindent%
+% \textcolor{blue}{\qrcite{bib2qr}}
+% \textcolor{red}{\qrcite{Doe2024}}
+% \qrcite{bib2qr,Doe2024}
+% \par\medskip%
+%
+% \subsubsection*{\cs{qrfullcite}\marg{key}}
+%
+% \DescribeMacro{\qrfullcite}
+% This command displays the QR code of a BibTeX entry's DOI link or URL and
+% a full citation. The QR code is generated by \cs{qrcite} and the full
+% citation by \cs{fullcite}, provided by the package \package{biblatex}.
+% Each output is presented in individual minipages which are placed next to
+% each other, as shown in the examples underneath
+% (\textcolor{blue}{\cs{qrfullcite\{bib2qr\}}},
+% \textcolor{red}{\cs{qrfullcite[noindent]\{Doe2024\}}}).
+%
+% Please note that \cs{qrfullcite} does \textbf{not} support group
+% citations and accepts only a single \meta{key} as argument.
+%
+% \textcolor{blue}{\qrfullcite{bib2qr}}%
+% \medskip%
+% \textcolor{red}{\qrfullcite[noindent]{Doe2024}}%
+% \medskip%
+% \endgroup
+%
+% The output of \cs{qrfullcite} is considered as its own paragraph, thus it
+% may be indented, like in this document (see blue example). You can prevent
+% the latter by providing the \opt{noindent} option when calling the macro,
+% as done in the red example.
+%
+% The first minipage has the width of the package option \opt{qrwidth}
+% and displays the output of \cs{qrcite}\marg{key}. The second minipage
+% occupies the remaining width of \cs{linewidth} considering a gap of
+% \opt{0.5em} and \cs{parindent}, if the latter is not deactivated via the
+% \opt{noindent} option. It shows the output of \cs{fullcite}\marg{key}.
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Hints}
+% ^^A
+% If the \package{hyperref} package is loaded, not only the DOI/URL strings,
+% but also the QR codes are presented as links. It was modified in this
+% document to allow you to distinguish the output of the individual macro calls
+% in a better way. The previous example without any modifications of the
+% document settings and without deactivating the indentation looks as follows:\\
+%
+% \qrfullcite{Doe2024}%
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Known limitations}
+% ^^A
+% In case no QR code can be generated by \cs{qrcite} called via \cs{qrfullcite},
+% the output of \cs{fullcite} is nevertheless indented by the width assigned to
+% the \opt{qrwidth} package option and the length of the gap of \opt{0.5em}),
+% as shown in orange below (\textcolor{orange}{\cs{qrcite\{Mustermann2023\}}}).
+%
+% \textcolor{orange}{\qrfullcite{Mustermann2023}}%
+%
+%
+% ^^A -----------------------------
+%
+% \MaybeStop{
+%
+% \IndexPrologue{%
+% \section{Index}
+% Numbers written in italic refer to the page where the corresponding entry
+% is described; numbers underlined refer to the code line of the definition;
+% numbers in roman refer to the code lines where the entry is used.
+% }
+% \PrintIndex
+%
+% \GlossaryPrologue{%
+% \section{Change History}
+% The changes listed in this section aim to provide a brief overview of the
+% changes introduced into the package \package{bib2qr}. The
+% \href{https://codeberg.org/Cs137/bib2qr/}{package repository on Codeberg}
+% contains a
+% \href{https://codeberg.org/Cs137/bib2qr/src/branch/main/CHANGELOG.md}{changelog file},
+% consult it to read a detailed description of the changes introduced into
+% this package.
+% }
+% \PrintChanges
+%
+% ^^A -----------------------------
+%
+% \newpage
+% \appendix
+%
+% \section{Appendix}
+%
+% The examples presented in this document are based on the
+% BibTeX entries listed in \ref{ssec:example_bib} and result
+% in the bibliography shown as \ref{ssec:example_ref} (\package{biblatex}
+% options: \opt{style=authoryear}, \opt{sorting=none}).
+%
+% \subsection{Example BibTeX entries}
+% \label{ssec:example_bib}
+% \small{%
+% \VerbatimInput[firstline=5]{example-references.bib}
+% }
+%
+% \subsection{Example bibliography}
+% \label{ssec:example_ref}
+% \printbibliography[heading=none]
+%
+% }
+%
+%
+% ^^A -----------------------------
+%
+% \section{Implementation}
+% ^^A
+%
+% \subsection{Dependencies}
+% ^^A
+% In order to use \package{bib2qr}, the \LaTeX{} packages
+% \ctanpkg{biblatex},
+% \ctanpkg{ifthen},
+% \ctanpkg{qrcode}, and
+% \ctanpkg{xstring}
+% are required as package dependencies.
+% \iffalse
+%<*package>
+% \fi
+% \begin{macrocode}
+\RequirePackage{biblatex}
+\RequirePackage{ifthen}
+\RequirePackage{qrcode}
+\RequirePackage{xstring}
+% \end{macrocode}
+%
+%
+% \subsection{Options}
+% ^^A
+% The package options are internally available as \cs{@bibiiqr@}\meta{option}.
+% \begin{macrocode}
+\DeclareKeys[@bibiiqr]{
+ doiurlbase.store = \@bibiiqr@doiurlbase,
+ doiurlbase.usage = load,
+ qrdelimiter.store = \@bibiiqr@qrdelimiter,
+ qrdelimiter.usage = load,
+ qrversion.store = \@bibiiqr@qrversion,
+ qrversion.usage = load,
+ qrwidth.store = \@bibiiqr@qrwidth,
+ qrwidth.usage = load,
+}%
+% \end{macrocode}
+%
+% \subsubsection*{Assignement of default values}
+% \begin{macrocode}
+\SetKeys[@bibiiqr]{
+ doiurlbase=https://doi.org/,
+ qrdelimiter=\space,
+ qrversion=0,
+ qrwidth=2cm,
+}%
+% \end{macrocode}
+%
+% \subsubsection*{Processing of package options}
+% \begin{macrocode}
+\ProcessKeyOptions[@bibiiqr]\relax
+% \end{macrocode}
+%
+% \subsection{Macros}
+%
+% \begin{macro}{\@bibiiqr@showqr}
+% \marg{string}\\
+% Display a string as QR code considering the package options \opt{qrversion}
+% and \opt{qrwidth}.
+% \begin{macrocode}
+\newcommand\@bibiiqr@showqr[1]{%
+ \qrcode[height=\@bibiiqr@qrwidth,version=\@bibiiqr@qrversion]{#1}%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Field formats}
+%
+% Custom field formats are defined to display a QR code of an entry's
+% \texttt{doi} and \texttt{url}.
+%
+% \begin{macro}{@bibiiqr@fldFmtDoi}
+% Field format to display a DOI field's value (converted into an URL
+% considering the option \opt{@bibiiqr@doiurlbase}) as QR code using
+% macro \cs{@bibiiqr@showqr}.
+% \begin{macrocode}
+\DeclareFieldFormat{@bibiiqr@fldFmtDoi}{%
+ \IfBeginWith{#1}{\@bibiiqr@doiurlbase}%
+ {\@bibiiqr@showqr{#1}}%
+ {\@bibiiqr@showqr{\@bibiiqr@doiurlbase#1}}%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{@bibiiqr@fldFmtUrl}
+% Field format to display an URL field's value as QR code using \cs{@bibiiqr@showqr}.
+% \begin{macrocode}
+\DeclareFieldFormat{@bibiiqr@fldFmtUrl}{\@bibiiqr@showqr{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Bibliography driver}
+%
+% \begin{macro}{@bibiiqr@bibDrvQR}
+% This bibliography driver
+% allows to display the QR code of an entry's DOI-, or URL field.
+% It applies the \cs{printfield}\oarg{format}\marg{field} macro, which is
+% provided by the \package{biblatex} package to displpay a QR code using the
+% \texttt{@bibiiqr@fldFmtDoi} or \texttt{@bibiiqr@fldFmtUrl} field format and
+% the corresponding field, respectively.
+%
+% The DOI is preferred and the URL is only used if no value is assigned to
+% the DOI field. If neither the DOI, nor the URL field contains a value, a
+% package warning is raised.
+%
+% \begin{macrocode}
+\DeclareBibliographyDriver{@bibiiqr@bibDrvQR}{%
+ \usebibmacro{begentry}%
+ \ifboolexpr{test{\iffieldundef{doi}}}
+ {%
+ \ifboolexpr{test{\iffieldundef{url}}}%
+% \end{macrocode}
+% The entry has no DOI and no URL: Raise a warning.
+% \begin{macrocode}
+ {%
+ \PackageWarning{bib2qr}%
+ {BibTeX entry without DOI or URL: \thefield{entrykey}}{}%
+ }%
+% \end{macrocode}
+% The entry has no DOI but an URL: Display the \texttt{url} field's
+% value using the \texttt{@bibiiqr@fldFmtUrl} field format.
+% \begin{macrocode}
+ {\printfield[@bibiiqr@fldFmtUrl]{url}}%
+ }%
+% \end{macrocode}
+% The entry has a DOI: Display the \texttt{doi} field's value using
+% the \texttt{@bibiiqr@fldFmtDoi} field format.
+% \begin{macrocode}
+ {\printfield[@bibiiqr@fldFmtDoi]{doi}}%
+ \usebibmacro{finentry}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Author commands}
+%
+% \begin{macro}{\qrcite}
+% \marg{key(s)}\\
+% Display the QR code of a BibTeX entry's DOI link or URL by introducing the
+% cite command \cs{qrcite}\marg{key}, which makes use of the previously
+% defined bibliography driver \texttt{@bibiiqr@bibDrvQR}. It requires at least
+% one BibTeX \marg{key} as argument.
+% \begin{macrocode}
+\DeclareCiteCommand{\qrcite}
+ {\usebibmacro{prenote}}%
+ {\usedriver{}{@bibiiqr@bibDrvQR}}%
+ {\@bibiiqr@qrdelimiter}%
+ {\usebibmacro{postnote}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\qrfullcite}
+% \changes{v0.2}{2024-07-31}{Add \opt{noindent} option}
+% \oarg{option(s)}\marg{key}\\
+% Display the QR code of a singe BibTeX entry's DOI link or URL and a full
+% citation of it. Specify \opt{noindent} as option, if the output should not
+% be indented.
+% \begin{macrocode}
+\NewDocumentCommand{\qrfullcite}{O{}m}{%
+ \par%
+ \ifthenelse{\equal{#1}{noindent}}{%
+ \noindent%
+ \edef\@bibiiqr@mpiiwidth{\dimexpr\linewidth-\@bibiiqr@qrwidth-0.5em}%
+ }{%
+ \edef\@bibiiqr@mpiiwidth{%
+ \dimexpr\linewidth-\parindent-\@bibiiqr@qrwidth-0.5em}%
+ }%
+ \begin{minipage}[t]{\@bibiiqr@qrwidth}
+ \qrcite{#2}%
+ \end{minipage}
+ \hspace{0.5em}%
+ \begin{minipage}{\@bibiiqr@mpiiwidth}
+ \fullcite{#2}%
+ \end{minipage}
+ \par%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \iffalse
+%</package>
+% \fi
+%
+%
+% ^^A -----------------------------
+%
+% \Finale
+
diff --git a/macros/latex/contrib/bib2qr/bib2qr.ins b/macros/latex/contrib/bib2qr/bib2qr.ins
new file mode 100644
index 0000000000..7894fdb8e3
--- /dev/null
+++ b/macros/latex/contrib/bib2qr/bib2qr.ins
@@ -0,0 +1,85 @@
+%%
+%% Copyright (C) 2024 Christian Schreinemachers
+%%
+%% This work may be distributed and/or modified under the conditions
+%% of the LaTeX Project Public License, either version 1.3c of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of
+%% LaTeX version 2008-05-04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The current maintainer of this work is Christian Schreinemachers.
+%%
+%% This work consists of the files
+%% README.md
+%% bib2qr.dtx
+%% bib2qr.ins
+%% and the derived files
+%% bib2qr.sty
+%% bib2qr.pdf
+%%
+This work has the LPPL maintenance status `maintained'.
+
+The current maintainer of this work is Christian Schreinemachers.
+
+This work consists of the files
+ README.md
+ bib2qr.dtx
+ bib2qr.ins
+and the derived files
+ bib2qr.sty
+ bib2qr.pdf
+\input docstrip.tex
+\keepsilent
+
+\preamble
+
+Copyright (C) 2024 Christian Schreinemachers
+
+This work may be distributed and/or modified under the conditions
+of the LaTeX Project Public License, either version 1.3c of this
+license or (at your option) any later version. The latest version
+of this license is in
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008-05-04 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The current maintainer of this work is
+ Christian Schreinemachers.
+
+This work consists of the files
+ bib2qr.dtx
+ bib2qr.ins
+and the derived files
+ bib2qr.sty
+ bib2qr.pdf
+
+\endpreamble
+\askforoverwritefalse
+\generate{\file{bib2qr.sty}{\from{bib2qr.dtx}{package}}}
+
+\obeyspaces
+\Msg{****************************************************}
+\Msg{* To finish the installation you have to move the *}
+\Msg{* following file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* bib2qr.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file *}
+\Msg{* bib2qr.dtx through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{****************************************************}
+\endbatchfile
+%%
+%% End of file `bib2qr.ins'.
+
diff --git a/macros/latex/contrib/bib2qr/bib2qr.pdf b/macros/latex/contrib/bib2qr/bib2qr.pdf
new file mode 100644
index 0000000000..fb3800eadf
--- /dev/null
+++ b/macros/latex/contrib/bib2qr/bib2qr.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf
index a833b32d26..43c1b53163 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex
index 142cfe3d76..a089f090f7 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex
@@ -2,7 +2,7 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
@@ -21,11 +21,11 @@
\addbibresource{biblatex-ieee.bib}
\author{Joseph Wright\thanks{E-mail:
- \href{mailto:joseph.wright@morningstar2.co.uk}
- {\texttt{joseph.wright@morningstar2.co.uk}}}}
+ \href{mailto:joseph@texdev.net}
+ {\texttt{joseph@texdev.net}}}}
\title{The \pkg{ieee-alphabetic} bibliography style for \pkg{biblatex}%
- \footnote{This file describes v1.3f, last revised 2021/12/06.}}
-\date{Released 2021/12/06}
+ \footnote{This file describes v1.3g, last revised 2024/08/14.}}
+\date{Released 2024/08/14}
\providecommand*{\pkg}[1]{\textsf{#1}}
@@ -55,8 +55,8 @@ of example citations.
\end{document}
%%
-%% Copyright (C) 2011-2013,2015-2021 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2021,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.bib b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.bib
index 733dac91e1..c002a48e2c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.bib
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.bib
@@ -2,7 +2,7 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright at morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
@@ -168,7 +168,7 @@
title = "Modified {TCP} Congestion Avoidance Algorithm",
howpublished = "end2end-interest mailing list",
url = "ftp://ftp.isi.edu/end2end/end2end-interest-1990.mail",
- year = "1990-04"
+ urldate = "1990-04"
}
@@ -249,7 +249,7 @@
institution = "Dept. Elect. Eng., Technion",
location = "Haifa, Israel",
url = "ftp://ftp.technion.ac.il/pub/supported/ee/Network/lor.mopq98.ps",
- year = "1998-07"
+ urldate = "1998-07"
}
@book{IEEEexample:book,
@@ -350,7 +350,7 @@
title = "Cache Array Routing Protocol v1.1",
howpublished = "Internet draft",
url = "http://ds1.internic.net/internet-drafts/draft-vinod-carp-v1-03.txt",
- year = "1998"
+ urldate = "1998"
}
@inproceedings{IEEEexample:confwithpaper,
@@ -386,8 +386,8 @@
}
%%
-%% Copyright (C) 2011-2013,2015-2020 by
-%% Joseph Wright <joseph.wright at morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2020,2024 by
+%% Joseph Wright <joseph@texev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf
index c5f85504c6..a16e292683 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex
index 734250debf..0a6ec934e4 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex
@@ -2,7 +2,7 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
@@ -21,11 +21,11 @@
\addbibresource{biblatex-ieee.bib}
\author{Joseph Wright\thanks{E-mail:
- \href{mailto:joseph.wright@morningstar2.co.uk}
- {\texttt{joseph.wright@morningstar2.co.uk}}}}
+ \href{mailto:joseph@texdev.net}
+ {\texttt{joseph@texdev.net}}}}
\title{The \pkg{ieee} bibliography style for \pkg{biblatex}%
- \footnote{This file describes v1.3f, last revised 2021/12/06.}}
-\date{Released 2021/12/06}
+ \footnote{This file describes v1.3g, last revised 2024/08/14.}}
+\date{Released 2024/08/14}
\providecommand*{\opt}[1]{\texttt{#1}}
\providecommand*{\pkg}[1]{\textsf{#1}}
@@ -61,6 +61,19 @@ The style adds the \opt{dashed} option to those recognised: as-standard,
this is activated. The option works in the same way as that from the
core \pkg{biblatex} style \pkg{author-year}.
+As-standard, citations are compressed. If you do no wish to have compressed
+citations, add
+\begin{verbatim}
+\DeclareCiteCommand{\cite}
+ {\bibopenbracket\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}\bibclosebracket}
+\renewcommand*\multicitedelim{\bibclosebracket\addcomma \space\bibopenbracket}
+\end{verbatim}
+after loading \pkg{biblatex}.
+
The appearance of URLs in the bibliography is set by the mechanism of the
\textsf{url} package. Thus to print URLs in the current roman font,
place the instruction
@@ -73,7 +86,9 @@ immediately before
\end{verbatim}
Control of the exact information in dates is best achieved by using the
-\cs{AtEveryCite} command with appropriate data manipulation.
+\cs{AtEveryCite} command with appropriate data manipulation. In particular,
+if your database includes full dates, you will likely want to drop these
+for most periodicals using \cs{clearfield}
Also include in the bundle is a style using alphabetic labels, but otherwise
following the guidelines of the \textsc{ieee}. This style should be loaded
@@ -88,8 +103,8 @@ Suggestions for improvement and bug reports can be logged in the package
issue database, found at
\url{https://github.com/josephwright/biblatex-ieee/issues/}, or can
be sent by e-mail to
-\href{mailto:joseph.wright@morningstar2.co.uk}
- {\texttt{joseph.wright@morningstar2.co.uk}}.
+\href{mailto:joseph@texdev.net}
+ {\texttt{joseph@texdev.net}}.
\nocite{*}
\printbibliography
@@ -149,14 +164,16 @@ be sent by e-mail to
\changes{v1.3f}{2021/03/30}{Use \texttt{false} as the default for \texttt{dashed} setting}
\changes{v1.3f}{2021/04/12}{Fix brackets in \cs{supercite}}
\changes{v1.3f}{2021/12/01}{Adjust printing of series for books}
+\changes{v1.3g}{2024/08/14}{Print separator between journal title and subtitle}
+\changes{v1.3g}{2024/08/14}{Correct formatting of URL for online entries}
\PrintChanges
\end{document}
%%
-%% Copyright (C) 2011-2013,2015-2021 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2021,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx
index ff82f97f55..8f4e1bea05 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx
@@ -2,13 +2,13 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{ieee-alphabetic.bbx}[2021/12/06 v1.3f biblatex bibliography style]
+\ProvidesFile{ieee-alphabetic.bbx}[2024/08/14 v1.3g biblatex bibliography style]
\RequireBibliographyStyle{ieee}
@@ -53,8 +53,8 @@
{\item}
%%
-%% Copyright (C) 2011-2013,2015-2021 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2021,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx
index 302517b02e..d28449741b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx
@@ -2,13 +2,13 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{ieee-alphabetic.cbx}[2021/12/06 v1.3f biblatex citation style]
+\ProvidesFile{ieee-alphabetic.cbx}[2024/08/14 v1.3g biblatex citation style]
\RequireCitationStyle{alphabetic}
@@ -45,8 +45,8 @@
}
%%
-%% Copyright (C) 2011-2013,2015-2021 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2021,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx
index 77a8b6794d..088064d1f3 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx
@@ -2,13 +2,13 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{ieee.bbx}[2021/12/06 v1.3f biblatex bibliography style]
+\ProvidesFile{ieee.bbx}[2024/08/14 v1.3g biblatex bibliography style]
% Load the standard style to avoid copy-pasting unnecessary material
\RequireBibliographyStyle{numeric-comp}
@@ -30,6 +30,7 @@
maxbibnames = 6,
sorting = none,
dashed = false,
+ urldate = long,
}
\uspunctuation
@@ -50,6 +51,7 @@
{\bibstring{jourser}\addnbspace#1}
\DeclareFieldFormat[online,report]{title}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat{url}{\bibstring{url}\addcolon\space\url{#1}}
+\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1}
\DeclareFieldFormat*{volume}
{\bibstring{volume}\addnbspace#1}
\DeclareFieldFormat[article,periodical]{volume}
@@ -76,6 +78,7 @@
presentedat = presented at the\addspace ,
techreport = Tech\adddot\addspace Rep\adddot ,
url = [Online]\adddot\addspace Available ,
+ urlseen = Accessed\addcolon
}
\DefineBibliographyStrings{english}{
@@ -210,6 +213,7 @@
{%
\printtext[journaltitle]{%
\printfield[titlecase]{journaltitle}%
+ \setunit{\subtitlepunct}%
\printfield[titlecase]{journalsubtitle}%
}%
}%
@@ -331,6 +335,17 @@
\printfield{titleaddon}%
}
+\renewbibmacro*{url+urldate}{%
+ \usebibmacro{urldate}%
+ \setunit{\adddot\space}%
+ \usebibmacro{url}%
+}
+
+\renewbibmacro*{urldate}{%
+ \printurldate
+ \newunit
+ }
+
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\newunit
@@ -713,7 +728,6 @@
{\usebibmacro{eprint}}
{}%
\setunit{\adddot\addspace}%
- \printtext[parens]{\usebibmacro{date}}%
\newunit\newblock
\usebibmacro{url+urldate}%
\setunit{\adddot\addspace}%
@@ -802,8 +816,8 @@
\usebibmacro{finentry}}
%%
-%% Copyright (C) 2011-2013,2015-2021 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2021,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx
index 877d645053..4b1886683f 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx
@@ -2,19 +2,19 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{ieee.cbx}[2021/12/06 v1.3f biblatex citation style]
+\ProvidesFile{ieee.cbx}[2024/08/14 v1.3g biblatex citation style]
\RequireCitationStyle{numeric-comp}
\ExecuteBibliographyOptions{
- maxcitenames = 3,
- minnames = 3,
+ maxcitenames = 2,
+ minnames = 1,
sorting = none
}
@@ -122,8 +122,8 @@
{}}}
%%
-%% Copyright (C) 2011-2013,2015-2021 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2021,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/magyar-ieee.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/magyar-ieee.lbx
index 79ffd21ce9..33e88122fd 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/magyar-ieee.lbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/magyar-ieee.lbx
@@ -2,7 +2,7 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright at morningstar2.co.uk
+%% E-mail: jsoeph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
@@ -34,8 +34,8 @@
}
%%
-%% Copyright (C) 2011-2013,2015-2020 by
-%% Joseph Wright <joseph.wright at morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2020,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.bib b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.bib
index 3f6af13bdd..6f0f9b5281 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.bib
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.bib
@@ -71,20 +71,20 @@
issue = {25},
pages = {254504},
year = {2008},
- month = {Jun},
+ month = jun,
publisher = {American Physical Society},
doi = {10.1103/PhysRevLett.100.254504},
}
@Book{Augustine1995,
hyphenation = {american},
- author = {Augustine, Robert L.},
+ author = {Augustine, Robert L.},
title = {Heterogeneous Catalysis for the Synthetic
Chemist},
shorttitle = {Heterogeneous catalysis},
publisher = {Marcel Dekker},
location = {New York},
- date = {1995},
+ date = {1995},
}
@Article{Booth1962,
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdf
index 16758e75a7..e7e9e05d58 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex
index 89550aed25..7224b722af 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex
@@ -2,7 +2,7 @@
%% biblatex-phys --- A biblatex implementation of the AIP and APS
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
@@ -21,12 +21,12 @@
\addbibresource{biblatex-phys.bib}
\author{Joseph Wright\thanks{E-mail:
- \href{mailto:joseph.wright@morningstar2.co.uk}
- {\texttt{joseph.wright@morningstar2.co.uk}}}}
+ \href{mailto:joseph@texdev.net}
+ {\texttt{joseph@texdev.net}}}}
\title{\pkg{biblatex-phys} -- A \pkg{biblatex} implementation of the
\textsc{aip} and \textsc{aps} bibliography style%
- \footnote{This file describes v1.1b, last revised 2019/12/03.}}
-\date{Released 2019/12/03}
+ \footnote{This file describes v1.1c, last revised 2024/07/26.}}
+\date{Released 2024/07/26}
\providecommand*{\opt}[1]{\texttt{#1}}
\providecommand*{\pkg}[1]{\textsf{#1}}
@@ -49,12 +49,12 @@ in the usual way
\end{verbatim}
Load-time options are provided to deal with the small number of variations
between the \textsc{aip} and \textsc{aps} styles.
-The References section of this document demonstrates the format
+The References section of this document demonstrates the format
generated by the package using the \texttt{biblatex-phys.bib} database
of example citations.
The styles use the standard \pkg{biblatex} database requirements. This means
-that a database designed for traditional \pkg{biblatex} use may need some
+that a database designed for traditional \BibTeX{} use may need some
editing for optimal output. The accompanying example database
\texttt{biblatex-phys.bib} shows examples of all of the supported entry types
with common fields filled in.
@@ -69,13 +69,13 @@ seen between the \textsc{aip} and \textsc{aps} styles.
\DescribeOption{eprint}
\DescribeOption{isbn}
\DescribeOption{url}
-The standard style options \opt{doi}, \opt{eprint} \opt{isbn} and
-\opt{eprint}, as described in the \pkg{biblatex} manual. However, these
+The standard style options \opt{doi}, \opt{eprint}, \opt{isbn} and
+\opt{url}, as described in the \pkg{biblatex} manual. However, these
options are turned off as standard by the \pkg{phys} style. This reflects the
fact that these entries may be present in reference databases but are not
generally included in published bibliographies. Note that \textsc{doi} values
-are printed for journal articles with no pages given, even if the \opt{doi}
-option is \opt{false}.
+are printed for journal articles with no pages or eid given, even if the
+\opt{doi} option is \opt{false}.
\DescribeOption{subentry}
In common with the standard \pkg{biblatex} numeric styles, all of the styles
@@ -93,7 +93,7 @@ patents, which are treated in the same way.)
\DescribeOption{biblabel}
The format of the numbers used in the bibliography (the \enquote{bibliography
-label}) varies. he \opt{biblabel} option allows the user to easily set the
+label}) varies. The \opt{biblabel} option allows the user to easily set the
format used. This option takes a values \opt{superscript} (the standard
setting) and \opt{brackets}.
@@ -146,7 +146,7 @@ command may be used to alter this, either for the whole document or only
for the bibliography, for example by using
\begin{verbatim}
\AtBeginBibliography{%
- \urlstyle{rm}%
+ \urlstyle{same}%
}
\end{verbatim}
@@ -164,8 +164,8 @@ Suggestions for improvement and bug reports can be logged in the package issue
database, found at
\url{https://github.com/josephwright/biblatex-phys/issues}, or can
be sent by e-mail to
-\href{mailto:joseph.wright@morningstar2.co.uk}
- {\texttt{joseph.wright@morningstar2.co.uk}}.
+\href{mailto:joseph@texdev.net}
+ {\texttt{joseph@texdev.net}}.
\nocite{*}
@@ -208,8 +208,8 @@ be sent by e-mail to
\end{document}
%%
-%% Copyright (C) 2012-2014,2016,2018,2019 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2012-2014,2016,2018-2020,2022,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx
index 442f4feae5..336f90e547 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx
@@ -2,13 +2,13 @@
%% biblatex-phys --- A biblatex implementation of the AIP and APS
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{phys.bbx}[2019/12/03 v1.1b biblatex bibliography style]
+\ProvidesFile{phys.bbx}[2024/07/26 v1.1c biblatex bibliography style]
% Load the standard style to avoid copy-pasting unnecessary material
\RequireBibliographyStyle{numeric-comp}
@@ -464,14 +464,15 @@
\printfield{pages}%
\iffieldundef{pages}
{%
- \printfield{doi}%
- \clearfield{doi}%
- }%
- {%
- \iftoggle{bbx:doi}
- {}
- {\clearfield{doi}}%
- }%
+ \iffieldundef{eid}
+ {%
+ \iftoggle{bbx:doi}
+ {}
+ {\printfield{doi}}%
+ }
+ {}%
+ }
+ {}%
}
\newbibmacro*{related:translatedas}[1]{%
@@ -495,8 +496,8 @@
%%
-%% Copyright (C) 2012-2014,2016,2018,2019 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2012-2014,2016,2018-2020,2023,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx
index 7758bc0a2b..4452bd7113 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx
@@ -2,13 +2,13 @@
%% biblatex-phys --- A biblatex implementation of the AIP and APS
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{phys.cbx}[2019/12/03 v1.1b biblatex citation style]
+\ProvidesFile{phys.cbx}[2024/07/26 v1.1c biblatex citation style]
\RequireCitationStyle{numeric-comp}
@@ -20,8 +20,8 @@
}
%%
-%% Copyright (C) 2012-2014,2016,2018,2019 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2012-2014,2016,2018,2019,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx
index c47ca1e2d9..388e7ee435 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx
@@ -2,19 +2,19 @@
%% biblatex-phys --- A biblatex implementation of the AIP and APS
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{phys.dbx}[2019/12/03 v1.1b biblatex database model extension]
+\ProvidesFile{phys.dbx}[2024/07/26 v1.1c biblatex database model extension]
\DeclareDatamodelFields[type=field, datatype=literal]{collaboration}
%%
-%% Copyright (C) 2012-2014,2016,2018,2019 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2012-2014,2016,2018,2019,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/README b/macros/latex/contrib/biblatex-contrib/biblatex-publist/README
index 8d8b26f969..11885c9993 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/README
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/README
@@ -46,6 +46,22 @@ instructions.
== CHANGES ==
+* V. 2.13 (2024-08-21):
+ - Add basic support for author annotations.
+ - Add support for information about number of citations.
+ - Add support for \citesecitem and \citesecitem* in
+ descending order.
+ - Fix \citeitem in first refsection.
+
+* V. 2.12 (2024-07-16):
+ - Externalize localization to *.lbx files.
+ - Add \citeitemrange and \citesecitemrange commands.
+ - Fix error with section count on first run.
+
+* V. 2.11 (2024-07-02):
+ - Add \citesecitem and \citesecitem* commands.
+ - Support multiple sections in \GetSectionCount.
+
* V. 2.10 (2024-06-17):
- Add bibchecks to show only/no peer-reviewed items.
- Fix bibchecks to work with braced and non-braced values.
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
index a7dfe989e1..fd041e59a8 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
index 788f3e6df0..241bba978e 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
@@ -115,7 +115,7 @@
\thanks{Please report issues via \protect\url{https://github.com/jspitz/biblatex-publist}.}%
}
-\date{Version 2.10, 2024/06/17}
+\date{Version 2.13, 2024/08/21}
\maketitle
\begin{abstract}
@@ -162,6 +162,7 @@ The list of features includes:
\begin{itemize}
\setlength\itemsep{0pt}
\item Omit or hide selected author names, with a specific indication of co-authors in the former case
+ \item Indicate author roles
\item Filter publications of specific authors from heterogeneous bibliography databases
\item Date-centric sorting (as typical for publication lists)
\item Number items in ascending or descending order, globally or sectional
@@ -200,7 +201,7 @@ forms of citing may break or not produce the expected result. The reason is that
The standard way of using the package is to load the style file via
\begin{lstlisting}[moretexcs={[1]{plauthorname}}]
-\usepackage[bibstyle=publist]{biblatex}
+\usepackage[style=publist]{biblatex}
\plauthorname[first name][von-part]{surname}
\end{lstlisting}
The \jcsmacro*{plauthorname} macro\footnote{The macro was named \jfcsmacro{omitname} until v.\,1.4
@@ -213,31 +214,27 @@ it defines the name(s) of the person(s) whose publications are listed.
By default, the author\slash editor name(s) will be omitted completely
for all publications which are authored or edited only by the specified person(s), as in:
-\begin{quote}
-\textbf{2012.} Some recent trends in gardening. In: \emph{Gardening
-Practice} 56, pp.~34--86.
-\end{quote}
+\begin{itemize}
+\item[{[1]}] \textbf{2012.} Some recent trends in gardening. In: \emph{Gardening
+ Practice} 56, pp.~34--86.
+\end{itemize}
If there are co-authors\slash co-editors, your name(s) will be filtered
out and the collaborators added in parentheses, as in:
-\begin{quote}
-\textbf{1987} (with John Doe and Mary Hall). Are there new trends
-in gardening? In: \emph{Gardening Practice} 24, pp.~10--15.
-\end{quote}
+\begin{itemize}
+\item[{[2]}] \textbf{1987} (with John Doe and Mary Hall). Are there new trends
+ in gardening? In: \emph{Gardening Practice} 24, pp.~10--15.
+\end{itemize}
If \joption{plauthorhandling=highlight} is used (see next section), the plauthor(s)
will be printed in bold face instead, as in:
-\begin{quote}
- Doe, John, \textbf{Myself, Me} and Hall, Mary, \textbf{1987}. Are there new trends
- in gardening? In: \emph{Gardening Practice} 24, pp.~10--15.
-\end{quote}
+\begin{itemize}
+\item[{[2]}] Doe, John, \textbf{Myself, Me}, and Hall, Mary. \textbf{1987}. Are there new trends
+ in gardening? In: \emph{Gardening Practice} 24, pp.~10--15.
+\end{itemize}
%
Note that \jcsmacro{plauthorname} expects the name constituents as they are recorded in the
database (special characters are handled). The option \joption{plauthorfirstinit} (see next section),
however, allows you to pass only an initial character instead of a first name.
-If you want to refer to an item number, use \jcsmacro*{citeitem}\jmacro{\{<key>\}} within your publication list.
-This will print the item number in square brackets (like the \jfcsmacro{cite} command in numeric citation styles),
-but as opposed to normal \jfcsmacro{cite} it also considers all numbering tweaks you make via the \bpl\ options.
-
\subsection{Additional Options}\label{sec:addopts}
@@ -262,6 +259,10 @@ By default, the publist author (as defined with \jcsmacro{plauthorname}) is omit
the author or editor list. If you use the option \joption{plauthorhandling=highlight},
it is highlighted instead (set in bold face by default; see sec.~\ref{sec:auxmacros} how to change that).
+\item [{\joption{annotations=\{comma-separated list\}}}]
+
+A list of data annotations that should be handled in output. See sec.~\ref{sec:annotations} for details.
+
\item [{\joption{nameorder{[}=family-given|given-family{]}}}] default: \emph{family-given}.
By default, the author and editor names with \joption{plauthorhandling=highlight} are output in the order \enquote{Lastname, Given Names}.
@@ -333,6 +334,11 @@ with abbreviated and full first name (\textsc{J. Doe} and well as \textsc{John D
works of colleagues with the same surname (maybe your family members), which you will not want to mark as your own's.
Of course, the solution does not help if there is an entry with same surname and same first name initial (such as \textsc{Jane Doe}).
+\item [{\joption{citinfo{[}=true|false{]}}}] default: \emph{false}.
+
+If this option is \joption{true}, the number of citations, as specified via the \texttt{citations} field
+(see section~\ref{sec:citinfo}), will be appended to the entries.
+
\item [{\joption{jifinfo{[}=true|false{]}}}] default: \emph{false}.
If this option is \joption{true}, the journal impact factor, as specified via the \texttt{impactfactor} field
@@ -374,8 +380,8 @@ See section~\ref{sec:clicktitles} for details.
All options listed here should be passed directly to \bibltx\ via \jfcsmacro{usepackage} when loading \bibltx, and they apply to the whole
document.
-For most options, it is possible to change them (repeatedly) within the document. To this end, the macro
-\jcsmacro*[-3]{ExecutePublistOptions} is provided. It takes a comma-separated list of options as its mandatory argument
+For most options, it is possible to change them within the document via the macro
+\jcsmacro*[-3]{ExecutePublistOptions}. It takes a comma-separated list of options as mandatory argument
and can be used (repeatedly) in preamble or anywhere in the document body.
The executed options apply as of the next bibliography (\jfcsmacro{printbibliography}) that follows.
Options that \emph{cannot} be changed within a document that way are \joption{plnumbering} and \joption{pubstateextra},
@@ -385,6 +391,57 @@ Also note that with the \joption{plauthor*} options, as opposed to repeated \jcs
repeated setting of these name options respectively \emph{overwrite}, and not extend, the previous name settings.
+\subsection{Referring to Entries}\label{sec:citeitems}
+
+Even though publication lists usually do not include citations, there might be cases where you need to refer
+to specific entries within it. Especially with sectioned lists, it is arguably most advisable to refer to the items
+by their number, as otherwise your readers will have a hard time to find the item you are referring to.
+Of course, if you do not use global numbering, you should also specify the section the item is in, as in:
+``see [13] (sec.~4)''.
+
+Since \bpl\ plays all sorts of tricks with the numbering (see sec.~\ref{sec:numbers}), the reference needs to take these
+into account. The normal citation commands will often produce inadequate or even wrong output particularly in numeric
+style.
+To account for these peculiarities, the package ships its own cite style which is used if you load \bpl\ via
+\joption{style=publist} (but not with \joption{bibstyle=publist}!). The features described in what follows require
+this particular cite style.
+
+If you want to refer to an item number, use \jcsmacro*{citeitem}\jmacro{\{<key(s)>\}} within your publication list.%
+\footnote{As with the normal citation commands, the argument might also be a comma-separated list of keys.}
+This will print the item number in square brackets (like the \jfcsmacro{cite} command in numeric citation styles),
+but as opposed to normal \jfcsmacro{cite} it also considers all numbering tweaks you make via the \bpl\ options.
+Note, however, that with refsections (see sec.~\ref{sec:example}) \jcsmacro{citeitem} only works within a given
+refsection because the references in a refsection are unknown outside of its scope.
+
+If you want to refer to an item number from outside a refsection, you can use \jcsmacro*{citesecitem}\jmacro{\{<key(s)>\}}.
+This will try to access the number of the given entry from a stored list that is generated by \bpl.
+References of this kind only make sense, of course, with global numbering and if an entry only occurs once in the bibliography,
+since otherwise they would be too ambiguous. However, for locally numbered lists, there is the starred variant
+\jcsmacro*{citesecitem*}\jmacro{\{<key(s)>\}} which will append a reference to the section the item is in.
+By default, the form of this addition is ``(sec.~<no.>)'', with ``sec.'' being localized (see sec.~\ref{sec:auxmacros}
+on how to customize this).
+
+All these commands have counterparts which can be used to refer to a range of entries:
+\begin{itemize}
+ \setlength\itemsep{0pt}
+ \item \jcsmacro*{citeitemrange}\jmacro{\{<first key>\}}\jmacro{\{<last key>\}}
+ \item \jcsmacro*{citesecitemrange}\jmacro{\{<first key>\}}\jmacro{\{<last key>\}}
+ \item \jcsmacro*{citesecitemrange*}\jmacro{\{<first key>\}}\jmacro{\{<last key>\}}
+\end{itemize}
+%
+The range will by default be indicated by an en-dash ([12]--[17]), you can change this by redefining the
+macro \jcsmacro*{itemrangesep}.
+
+Note that due to the design of refsections, no hyperlinks can be generated for the item number with \jcsmacro{citesecitem}
+(or its starred and range counterparts) and the \textsf{hyperref} package being loaded; the section reference of the starred
+commands, however, is hyperlinked in this case.
+If you need hyperlinked item references, consider refsegments rather than refsections and the \jcsmacro{citeitem} command
+(although this will have other drawbacks).
+
+Of course, both \jcsmacro{citeitem} and \jcsmacro{citesecitem} presuppose that you do not disable numbering, and
+\jcsmacro{citesecitem*} requires numbered section headers.
+
+
\subsection{Numbers Games}\label{sec:numbers}
Among the peculiarities of publication lists is the greater variety of numbering conventions, as compared
@@ -474,12 +531,14 @@ The macro \jcsmacro*{GetTotalCount} outputs the total number of entries in your
If you want to output the number of publications per section (when employing \jfcsmacro{refsection}),
you can use the macro \jcsmacro*{GetSectionCount} which takes one optional argument, the section
-number. For instance,
+number or a comma-separated list of section numbers. For instance,
\begin{lstlisting}[moretexcs={[4]{GetSectionCount}}]
\GetSectionCount[1]
\end{lstlisting}
-outputs the number of items in the first section. If the optional argument is not given, the
-statistics for the current section is output (this requires the macro to be within a \jfcsmacro{refsection}).
+outputs the number of items in the first section, whereas \lstinline!\GetSectionCount[1,2]! outputs
+the sum of the numbers of items in the first and second section.
+If the optional argument is not given, the statistic for the current section is output
+(this requires the macro to be within a \jfcsmacro{refsection}).
Note that both values might require additional \LaTeX\ runs to get properly set. You will
get a package warning if additional runs are needed.
@@ -526,22 +585,101 @@ taken care of specifically.
With \joption{plauthorhandling=omit}, the \jfoption{maxnames} value specifies how many co-authors are added in parenthesis (the omitted
author name is not counted here). If the treshold is reached, \emph{et al.}\ (or the corresponding localized string) is appended (and the list truncated
to the \jfoption{minnames} value, \jfoption{1} by default). So you get something like:
-\begin{quote}
- \textbf{2020} (with John Doe et al.). What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7.
-\end{quote}
+\begin{itemize}
+ \item[{[3]}] \textbf{2020} (with John Doe et al.). What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7.
+\end{itemize}
%
With \joption{plauthorhandling=highlight}, \bpl\ outputs all publist authors, even if the \jfoption{maxnames} treshold has been reached.
However, other authors (beyond \jfoption{minnames}) are omitted. If they come before a publist author, this is indicated by [\ldots\unkern],
if authors follow after all publication list authors, \emph{et al.} is appended, as in:
-\begin{quote}
- Doe, John, [\ldots\unkern], \textbf{Myself, Me}, et al., \textbf{2020}. What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7.
-\end{quote}
+\begin{itemize}
+ \item[{[3]}] Doe, John, [\ldots\unkern], \textbf{Myself, Me}, et al., \textbf{2020}. What's up in gardening? In: \emph{Gardening Practice} 44, pp.~1--7.
+\end{itemize}
%
The omission indicator, \jcsmacro*{plnameomission}, can be redefined. The default definition is:
\begin{lstlisting}[moretexcs={[4]{plnameomission,bibellipsis,addcomma,addspace}}]
\newcommand*\plnameomission{\bibellipsis\addcomma\addspace}
\end{lstlisting}
+
+\subsection{Indicating Author Roles}\label{sec:annotations}
+
+If you want to indicate author roles (e.\,g., signify who is corresponding or main author
+of a paper), you need to add this information to the respective entries,
+but you do not want to clutter the author data.
+With \bibltx, separating such extra information from the actual data is well supported
+via the data annotation feature, as in:
+\begin{lstlisting}[morekeywords={[1]{author}}, otherkeywords={author+an}]
+author = {John Doe and Mary Hall and Me Myself},
+author+an = {1=corresponding; 3=main},
+\end{lstlisting}
+%
+where the number (key) refers to the respective name in the list, and the value to the annotation category
+which you can name as you wish.
+Multiple annotations to a single person are possible if you pass multiple comma-separated categories to
+one key, as in \texttt{1=corresponding,main} (please refer to the \bibltx\ manual \cite{bibltx} for details).
+
+To handle such annotations, however, the style file needs to know what to do with what kind of
+annotation. Otherwise annotations are just ignored.
+
+For basic usage, \bpl\ provides some support for such annotations.
+If you pass the annotation categories you have used in the \texttt{*.bib} file as a comma-separated list
+to the \joption{annotations} option,
+\bpl\ will go through these annotations and for each, it
+will print a superscripted symbol in front of the author family name.
+By default this uses a list similar\footnote{If have moved the single dagger (\textdagger) to a later place,
+ since some people associate this with the \enquote*{deceased} indicator.}
+to the one you know from symbolic (\jfcsmacro{thanks}) footnotes
+(in order of the passed category: \textasteriskcentered, \textdaggerdbl, \textsection, \textparagraph,
+\textbardbl, \textdagger, {\textasteriskcentered\textasteriskcentered}, {\textdaggerdbl\textdaggerdbl},
+or {\textdagger\textdagger}). Nine different annotations are supported this way.
+
+With the example given above and \joption{annotations=\{main,correponding\}}, for instance,
+you would get
+\begin{itemize}
+ \item[{[4]}] \textsuperscript{\textdaggerdbl}Doe, John, Hall, Mary, and
+ \textbf{\textsuperscript{\textasteriskcentered}Myself, Me} \ldots
+\end{itemize}
+%
+Of course, each category always gets the same symbol within a publication list, so you can add a caption
+to explain those. For easy access to the symbols, you can use \jcsmacro*{GetAnnotSymbol}\jmacro{\{category\}}.
+This prints the respective symbol in formatted way (superscripted with default settings).
+A starred version of the command prints it without such formatting.
+
+If you want a different list of symbols, or need more, you can change it by means of the macro
+\jcsmacro*{SetAnnotSymbols}\jmacro{\{comma-separated list of symbols/macros\}}.
+This will overwrite the default list.
+
+You can also change the position of the symbol. The default definition is
+\begin{lstlisting}[morekeywords={[1]{mkbibnamefamily,bplannot}}]
+\renewcommand*{\mkbibnamefamily}[1]{\bplannot #1}
+\end{lstlisting}
+%
+with \jcsmacro{bplannot} being the annotation. You can move it after the name, or to another name
+part (e.g., \jfcsmacro{mkbibnamegiven}).
+
+To change the formatting, you can redefine
+\begin{lstlisting}[morekeywords={[1]{mkbplannot,textsuperscript}}]
+\newcommand*\mkbplannot[1]{\textsuperscript{#1}}
+\end{lstlisting}
+%
+If you need a different markup (such as coloring or underlining) you need to set up
+your own annotation handling as documented in the \bibltx\ manual.
+
+With \joption{plauthorhandling=omit}, the annotations of the omitted publist author(s)
+are appended to the entry (as an annotation and with the specific entry-related information
+discussed in the next section). If a \jfcsmacro{bibstring}
+\texttt{annot:<category>} exists (predefined keys are \texttt{annot:main} and
+\texttt{annot:corresponding}), the respective localized string is output, otherwise
+the verbatim category.
+
+So, again with the example given above, you would get:
+\begin{itemize}
+ \item[{[4]}] \ldots\ (with John \textsuperscript{\textdaggerdbl}Doe and Mary Hall)
+ \ldots\ [Main auth.].
+\end{itemize}
+
+
\subsection{Adding Specific Entry-Related Information}
Publication lists usually contain some information which is not commonly given in normal
@@ -563,6 +701,17 @@ in a specific \texttt{@xdata} subset (please refer to the \bibltx\ documentation
If the option \joption{jifinfo} is true, then \bpl\ will append the respective information to the entries.
A specific localizable bibkey is used for this purpose (see section~\ref{sec:localization}).
+
+\subsubsection{Number of Citations}\label{sec:citinfo}
+
+Another common quantification of \enquote*{impact} is the number of citations of a publication
+(by other publications).
+To track this, \bpl\ provides a specific database field, \texttt{citations}.
+
+If the option \joption{citinfo} is true, then \bpl\ will append the respective information to the entries.
+A specific localizable bibkey is used for this purpose (see section~\ref{sec:localization}).
+
+
\subsubsection{Peer Review}\label{sec:peerreview}
It is common, and sometimes mandatory, to add information to publication list entries indicating if
@@ -663,6 +812,16 @@ The default definition is:
\newcommand*\plextrainfosep{\addsemicolon\addspace}
\end{lstlisting}
%
+The\jmcsmacro{secitemsecref} section reference with \jcsmacro{citesecitem*} is determined by
+\jcsmacro{secitemsecref}, which has the following default definition:
+\begin{lstlisting}[moretexcs={[2]{mkbibparens,secitemsecref,bibstring,addnbspace}}]
+\newcommand*\secitemsecref[1]{%
+ \mkbibparens{\bibstring{section}\addnbspace\ref{refsection:#1}}%
+}
+\end{lstlisting}
+%
+Redefine this macro if you need a different output.
+
The indendation of the bibliographic entries (lines > 1) can be adjusted by setting the length
\jmacro*{extralabel\-numberwidth} via \jfcsmacro{setlength} (default is \texttt{0pt}).
This might be needed for long bibliographies (> 99 entries) in order to adjust to the extra
@@ -715,31 +874,55 @@ are printed, so you might get redundant output. To control (e.\,g., omit) them,
\section{Localization}\label{sec:localization}
Since the package draws on \bibltx, it supports localization.
-The following additional localization keys (\jfcsmacro{bibstrings})
-are added by the package:
-\begin{itemize}
+The following additional localization keys (\texttt{bibstrings})
+are added by the package, in verbose and abbreviated form (depending
+on your setting of the \bibltx\ option \joption{abbreviate}):
+
+\begin{description}
\setlength{\itemsep}{0pt}
-\item \emph{impactfactor}: the expression \enquote{impact factor}.
-\item \emph{openaccess:true}: the expression \enquote{OpenAccess}.
-\item \emph{openaccess:gold}: the phrase \enquote{OpenAccess (gold)}.
-\item \emph{openaccess:green}: the phrase \enquote{OpenAccess (green)}.
-\item \emph{parttranslationof}: the expression \enquote{partial translation of}
+\item[annot:corresponding] the expression \enquote{corresponding author} (short form: \enquote{corr. auth.}).
+\item[annot:main] the expression \enquote{main author} (short form: \enquote{main auth.}).
+\item[citations] the expression \enquote{citations} (short form: \enquote{cit.}).
+\item[impactfactor] the expression \enquote{impact factor} (short form: \enquote{JIF}).
+\item[openaccess:true] the expression \enquote{OpenAccess} (short form: \enquote{OA}).
+\item[openaccess:gold] the phrase \enquote{OpenAccess (gold)} (short form: \enquote{OA (gold)}).
+\item[{openaccess:green}] the phrase \enquote{OpenAccess (green)} (short form: \enquote{OA (green)}).
+\item[{parttranslationof}] the phrase \enquote{partial translation of} (short form: \enquote{part.\ trans.\ of})
for entries referring to partially translated work via \bibltx's
\enquote*{related entries} feature (see sec.~\ref{sec:partial-translations}).
-\item \emph{peerreview:sb}: the phrase \enquote{single blind peer review}.
-\item \emph{peerreview:db}: the phrase \enquote{double blind peer review}.
-\item \emph{peerreview:op}: the phrase \enquote{open peer review}.
-\item \emph{peerreview:co}: the phrase \enquote{collaborative peer review}.
-\item \emph{peerreview:cc}: the phrase \enquote{cascading peer review}.
-\item \emph{peerreview:tp}: the phrase \enquote{third-party peer review}.
-\item \emph{peerreview:pp}: the phrase \enquote{post-publication peer review}.
-\item \emph{peerreview:no}: the phrase \enquote{no peer review}.
-\item \emph{with}: the preposition \enquote{with} that precedes the list of
- co-authors by default (i.\,e., with \joption{plauthorhandling=omit}).
+\item[{peerreview:sb}] the phrase \enquote{single blind peer review} (short form: \enquote{single blind peer rev.}).
+\item[{peerreview:db}] the phrase \enquote{double blind peer review} (short form: \enquote{double blind peer rev.}).
+\item[{peerreview:op}] the phrase \enquote{open peer review} (short form: \enquote{open peer rev}).
+\item[{peerreview:co}] the phrase \enquote{collaborative peer review} (short form: \enquote{collab.\ peer rev.}).
+\item[{peerreview:cc}] the phrase \enquote{cascading peer review} (short form: \enquote{casc.\ peer rev.}).
+\item[{peerreview:tp}] the phrase \enquote{third-party peer review} (short form: \enquote{3rd-party peer rev.}).
+\item[{peerreview:pp}] the phrase \enquote{post-publication peer review} (short form: \enquote{post-pub.\ peer rev.}).
+\item[{peerreview:no}] the phrase \enquote{no peer review} (short form: \enquote{no peer rev.}).
+\item[{with}] the preposition \enquote{with} that precedes the list of
+ co-authors by default (i.\,e., with \joption{plauthorhandling=omit}) (short and verbose forms identical).
+\end{description}
+%
+Localization is provided in dedicated language definition files which follow
+the naming scheme, \texttt{<language>-publist.lbx}.
+The package currently ships such files for the following languages and their varieties:
+
+\begin{flushleft}
+\begin{itemize}
+\setlength{\itemsep}{0pt}
+ \item English (\texttt{american}, \texttt{australian}, \texttt{british},
+ \texttt{canadian}, \texttt{english}, \texttt{newzealand},
+ \texttt{UKenglish}, \texttt{USenglish})
+ \item French (\texttt{french})
+ \item German (\texttt{austrian}, \texttt{german}, \texttt{naustrian}, \texttt{ngerman},
+ \texttt{nswissgerman}, \texttt{swissgerman})
\end{itemize}
-Currently, these additional localization keys are available in the following
-languages: English, French and German.%
-\footnote{Please send suggestions for other languages to the package author.}
+\end{flushleft}
+%
+If you want to add support for other languages, you can simply copy one of the existing
+lbx files, name it \texttt{<yourlanguage>-publist.lbx} and adapt the localization keys.
+
+If you are confident enough, please send me your file so I can consider adding it to
+the package.
\section{Further Extensions}
@@ -979,6 +1162,30 @@ until further change).
\section{Revision Log}
\begin{description}
+ \item [{V. 2.13 (2024/08/21):}]~
+ \begin{itemize}
+ \item Add basic support for author annotations (see sec.~\ref{sec:annotations}).
+ \item Add support for information about number of citations (see sec.~\ref{sec:citinfo}).
+ \item Add support for \jcsmacro{citesecitem} and \jcsmacro{citesecitem*} in descending
+ order.
+ \item Fix \jcsmacro{citeitem} in first refsection.
+ \end{itemize}
+
+ \item [{V. 2.12 (2024/07/16):}]~
+ \begin{itemize}
+ \item Externalize localization to \texttt{*.lbx} files.
+ \item Add \jcsmacro{citeitemrange} and \jcsmacro{citesecitemrange} commands
+ (see sec.~\ref{sec:citeitems}).
+ \item Fix error with section count on first run.
+ \end{itemize}
+
+ \item [{V. 2.11 (2024/07/02):}]~
+ \begin{itemize}
+ \item Add \jcsmacro{citesecitem} and \jcsmacro{citesecitem*} commands
+ (see sec.~\ref{sec:citeitems}).
+ \item Support multiple sections in \jcsmacro{GetSectionCount}.
+ \end{itemize}
+
\item [{V. 2.10 (2024/06/17):}]~
\begin{itemize}
\item Add bibchecks to show only/no peer-reviewed items
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/UKenglish-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/UKenglish-publist.lbx
new file mode 100644
index 0000000000..0b5cce13f5
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/UKenglish-publist.lbx
@@ -0,0 +1,37 @@
+% UKenglish-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{UKenglish-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist UK English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{british}
+\InheritBibliographyExtras{british}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/USenglish-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/USenglish-publist.lbx
new file mode 100644
index 0000000000..cc6526761d
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/USenglish-publist.lbx
@@ -0,0 +1,37 @@
+% USenglish-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{USenglish-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist US English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{english}
+\InheritBibliographyExtras{english}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/american-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/american-publist.lbx
new file mode 100644
index 0000000000..5476f022ab
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/american-publist.lbx
@@ -0,0 +1,37 @@
+% american-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{american-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist US English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{english}
+\InheritBibliographyExtras{english}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/australian-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/australian-publist.lbx
new file mode 100644
index 0000000000..0df359aa82
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/australian-publist.lbx
@@ -0,0 +1,37 @@
+% australian-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{australian-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist AU English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{british}
+\InheritBibliographyExtras{british}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/austrian-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/austrian-publist.lbx
new file mode 100644
index 0000000000..0a82a48b77
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/austrian-publist.lbx
@@ -0,0 +1,58 @@
+% austrian-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{austrian-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist Austrian localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{austrian}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {austrian},
+ peerreview:pp = {{Post-Publication-Begutachtung}{Post-Pub\adddot-Beg\adddot}},
+ with = {{mit}{mit}},
+ citations = {{Zitationen}{Zit\adddot}},
+ impactfactor = {{Impactfaktor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (gr\"un)}{OA (gr\"un)}},
+ peerreview:sb = {{Blindbegutachtung}{Blindbeg\adddot}},
+ peerreview:db = {{Doppelblindbegutachtung}{Doppelblindbeg\adddot}},
+ peerreview:op = {{Offene Begutachtung}{Offene Beg\adddot}},
+ peerreview:co = {{Kollaborative Begutachtung}{Kollab\adddotespace Beg\adddot}},
+ peerreview:cc = {{Cascading-Begutachtung}{Cascading-Beg\adddot}},
+ peerreview:tp = {{Begutachtung durch Dritte}{Beg\adddotspace durch Dritte}},
+ peerreview:pp = {{Post-Publication-Begutachtung}{Post-Pub\adddot-Beg\adddot}},
+ peerreview:no = {{keine Begutachtung}{keine Beg\adddot}},
+ annot:main = {{Hauptautor}{Hauptaut\adddot}},
+ annot:corresponding = {{Korrespondenzautor}{Korr.-aut\adddot}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/british-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/british-publist.lbx
new file mode 100644
index 0000000000..b1dbaea5be
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/british-publist.lbx
@@ -0,0 +1,58 @@
+% british-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{british-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist UK English localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{british}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {british},
+ parttranslationof = {{partial translation of}{part\adddotspace trans\adddotspace of}},
+ with = {{with}{with}},
+ citations = {{citations}{cit\adddot}},
+ impactfactor = {{impact factor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (green)}{OA (green)}},
+ peerreview:sb = {{single blind peer review}{single blind peer rev\adddot}},
+ peerreview:db = {{double blind peer review}{double blind peer rev\adddot}},
+ peerreview:op = {{open peer review}{open peer rev\adddot}},
+ peerreview:co = {{collaborative peer review}{collab\adddotspace peer rev\adddot}},
+ peerreview:cc = {{cascading peer review}{casc\adddotspace peer rev\adddot}},
+ peerreview:tp = {{third-party peer review}{3rd-party peer rev\adddot}},
+ peerreview:pp = {{post-publication peer review}{post-pub\adddotspace peer rev\adddot}},
+ peerreview:no = {{no peer review}{no peer rev\adddot}},
+ annot:main = {{main author}{main auth\adddot}},
+ annot:corresponding = {{corresponding author}{corr\adddotspace auth\adddot}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/canadian-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/canadian-publist.lbx
new file mode 100644
index 0000000000..288c694155
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/canadian-publist.lbx
@@ -0,0 +1,37 @@
+% canadian-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{canadian-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist CDN English localisation (JSP)]
+
+% Inherit english
+\InheritBibliographyStrings{english}
+\InheritBibliographyExtras{english}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/english-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/english-publist.lbx
new file mode 100644
index 0000000000..a9dc25db89
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/english-publist.lbx
@@ -0,0 +1,58 @@
+% english-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{english-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist English localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{english}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {english},
+ parttranslationof = {{partial translation of}{part\adddotspace trans\adddotspace of}},
+ with = {{with}{with}},
+ citations = {{citations}{cit\adddot}},
+ impactfactor = {{impact factor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (green)}{OA (green)}},
+ peerreview:sb = {{single blind peer review}{single blind peer rev\adddot}},
+ peerreview:db = {{double blind peer review}{double blind peer rev\adddot}},
+ peerreview:op = {{open peer review}{open peer rev\adddot}},
+ peerreview:co = {{collaborative peer review}{collab\adddotspace peer rev\adddot}},
+ peerreview:cc = {{cascading peer review}{casc\adddotspace peer rev\adddot}},
+ peerreview:tp = {{third-party peer review}{3rd-party peer rev\adddot}},
+ peerreview:pp = {{post-publication peer review}{post-pub\adddotspace peer rev\adddot}},
+ peerreview:no = {{no peer review}{no peer rev\adddot}},
+ annot:main = {{main author}{main auth\adddot}},
+ annot:corresponding = {{corresponding author}{corr\adddotspace auth\adddot}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/french-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/french-publist.lbx
new file mode 100644
index 0000000000..e2f982b03c
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/french-publist.lbx
@@ -0,0 +1,58 @@
+% french-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{french-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist French localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{french}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {french},
+ parttranslationof = {{traduction partielle de}{trad\adddotspace part\adddotspace de}},
+ with = {{avec}{avec}},
+ citations = {{citations}{cit\adddot}},
+ impactfactor = {{facteur d'impact}{FI}},
+ openaccess:true = {{libre acc\`es}{libre acc\`es}},
+ openaccess:gold = {{libre acc\`es (dorée)}{libre acc\`es (dorée)}},
+ openaccess:green = {{libre acc\`es (verte)}{libre acc\`es (verte)}},
+ peerreview:sb = {{\'{e}valuation par des pairs anonymis\'{e}s}{\'{e}val\adddotspace par des pairs anon\adddot}},
+ peerreview:db = {{\'{e}valuation par les pairs en double aveugle}{\'{e}val\adddotspace par les pairs en double aveugle}},
+ peerreview:op = {{\'{e}valuation par les pairs ouverte}{\'{e}val\adddotspace par les pairs ouverte}},
+ peerreview:co = {{\'{e}valuation par les pairs collaborative}{\'{e}val\adddotspace par les pairs collab\adddot}},
+ peerreview:cc = {{\'{e}valuation par les pairs en cascade}{\'{e}val\adddotspace par les pairs en cascade}},
+ peerreview:tp = {{\'{e}valuation par des pairs ext\'{e}rieurs}{\'{e}val\adddotspace par des pairs ext\adddot}},
+ peerreview:pp = {{\'{e}valuation par les pairs apr\`{e}s publication}{\'{e}val\adddotspace par les pairs apr\`{e}s pub\adddot}},
+ peerreview:no = {{pas d'\'{e}valuation par les pairs}{pas d'\'{e}val\adddotspace par les pairs}},
+ annot:main = {{auteur principale}{aut\adddotspace princ\adddot}},
+ annot:corresponding = {{auteur correspondant}{aut\adddotspace corr\adddot}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/german-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/german-publist.lbx
new file mode 100644
index 0000000000..e67d8d44b1
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/german-publist.lbx
@@ -0,0 +1,58 @@
+% german-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{german-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist German localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{german}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {german},
+ parttranslationof = {{Teil\"ubersetzung von}{Teil\"ubers\adddotspace von}},
+ with = {{mit}{mit}},
+ citations = {{Zitationen}{Zit\adddot}},
+ impactfactor = {{Impactfaktor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (gr\"un)}{OA (gr\"un)}},
+ peerreview:sb = {{Blindbegutachtung}{Blindbeg\adddot}},
+ peerreview:db = {{Doppelblindbegutachtung}{Doppelblindbeg\adddot}},
+ peerreview:op = {{Offene Begutachtung}{Offene Beg\adddot}},
+ peerreview:co = {{Kollaborative Begutachtung}{Kollab\adddotespace Beg\adddot}},
+ peerreview:cc = {{Cascading-Begutachtung}{Cascading-Beg\adddot}},
+ peerreview:tp = {{Begutachtung durch Dritte}{Beg\adddotspace durch Dritte}},
+ peerreview:pp = {{Post-Publication-Begutachtung}{Post-Pub\adddot-Beg\adddot}},
+ peerreview:no = {{keine Begutachtung}{keine Beg\adddot}},
+ annot:main = {{Hauptautor}{Hauptaut\adddot}},
+ annot:corresponding = {{Korrespondenzautor}{Korr.-aut\adddot}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/naustrian-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/naustrian-publist.lbx
new file mode 100644
index 0000000000..3b202fe459
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/naustrian-publist.lbx
@@ -0,0 +1,37 @@
+% naustrian-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{naustrian-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist Austrian localisation (JSP)]
+
+% Inherit austrian
+\InheritBibliographyStrings{austrian}
+\InheritBibliographyExtras{austrian}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/newzealand-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/newzealand-publist.lbx
new file mode 100644
index 0000000000..504410f851
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/newzealand-publist.lbx
@@ -0,0 +1,58 @@
+% newzealand-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{newzealand-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist NZ English localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{newzealand}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {newzealand},
+ parttranslationof = {{partial translation of}{part\adddotspace trans\adddotspace of}},
+ with = {{with}{with}},
+ citations = {{citations}{cit\adddot}},
+ impactfactor = {{impact factor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (green)}{OA (green)}},
+ peerreview:sb = {{single blind peer review}{single blind peer rev\adddot}},
+ peerreview:db = {{double blind peer review}{double blind peer rev\adddot}},
+ peerreview:op = {{open peer review}{open peer rev\adddot}},
+ peerreview:co = {{collaborative peer review}{collab\adddotspace peer rev\adddot}},
+ peerreview:cc = {{cascading peer review}{casc\adddotspace peer rev\adddot}},
+ peerreview:tp = {{third-party peer review}{3rd-party peer rev\adddot}},
+ peerreview:pp = {{post-publication peer review}{post-pub\adddotspace peer rev\adddot}},
+ peerreview:no = {{no peer review}{no peer rev\adddot}},
+ annot:main = {{main author}{main auth\adddot}},
+ annot:corresponding = {{corresponding author}{corr\adddotspace auth\adddot}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/ngerman-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/ngerman-publist.lbx
new file mode 100644
index 0000000000..185cbe903a
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/ngerman-publist.lbx
@@ -0,0 +1,37 @@
+% ngerman-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{ngerman-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist German localisation (JSP)]
+
+% Inherit german
+\InheritBibliographyStrings{german}
+\InheritBibliographyExtras{german}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/nswissgerman-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/nswissgerman-publist.lbx
new file mode 100644
index 0000000000..a2f1813b38
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/nswissgerman-publist.lbx
@@ -0,0 +1,37 @@
+% nswissgerman-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{nswissgerman-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist Swiss German localisation (JSP)]
+
+% Inherit swissgerman
+\InheritBibliographyStrings{swissgerman}
+\InheritBibliographyExtras{swissgerman}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/swissgerman-publist.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/swissgerman-publist.lbx
new file mode 100644
index 0000000000..9bc6f05118
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/lbx/swissgerman-publist.lbx
@@ -0,0 +1,58 @@
+% swissgerman-publist.lbx, extra localizations for biblatex-publist
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Jürgen Spitzmüller.
+%
+% This work consists of the file publist.bbx
+%
+%
+% This file adds some additional localizations that are used by
+% the biblatex-publist bibliography style
+%
+% Please send suggestions and bug reports to
+% https://github.com/jspitz/biblatex-publist
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
+
+\ProvidesFile{swissgerman-publist.lbx}[\bpl@rdate\space v.\bpl@version\space
+ biblatex-publist Swiss German localisation (JSP)]
+
+% Inherit general localization
+\InheritBibliographyExtras{swissgerman}
+
+% Localizations
+\DeclareBibliographyStrings{%
+ inherit = {swissgerman},
+ parttranslationof = {{Teil\"ubersetzung von}{Teil\"ubers\adddotspace von}},
+ with = {{mit}{mit}},
+ citations = {{Zitationen}{Zit\adddot}},
+ impactfactor = {{Impactfaktor}{JIF}},
+ openaccess:true = {{OpenAccess}{OA}},
+ openaccess:gold = {{OpenAccess (gold)}{OA (gold)}},
+ openaccess:green = {{OpenAccess (gr\"un)}{OA (gr\"un)}},
+ peerreview:sb = {{Blindbegutachtung}{Blindbeg\adddot}},
+ peerreview:db = {{Doppelblindbegutachtung}{Doppelblindbeg\adddot}},
+ peerreview:op = {{Offene Begutachtung}{Offene Beg\adddot}},
+ peerreview:co = {{Kollaborative Begutachtung}{Kollab\adddotespace Beg\adddot}},
+ peerreview:cc = {{Cascading-Begutachtung}{Cascading-Beg\adddot}},
+ peerreview:tp = {{Begutachtung durch Dritte}{Beg\adddotspace durch Dritte}},
+ peerreview:pp = {{Post-Publication-Begutachtung}{Post-Pub\adddot-Beg\adddot}},
+ peerreview:no = {{keine Begutachtung}{keine Beg\adddot}},
+ annot:main = {{Hauptautor}{Hauptaut\adddot}},
+ annot:corresponding = {{Korrespondenzautor}{Korr.-aut\adddot}}
+}
+
+\endinput
+
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
index 074acd5394..d3f31a7a03 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
@@ -25,8 +25,8 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl@version{2.10}
-\def\bpl@rdate{2024/06/17}
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
\ProvidesFile{publist.bbx}[\bpl@rdate\space v.\bpl@version\space
biblatex bibliography style (JSP)]
@@ -61,13 +61,14 @@
\newtoggle{bpl@linktitleissn}
\newtoggle{bpl@linktitleurl}
\newtoggle{bpl@linktitledoi}
+\newtoggle{bpl@citinfo}
\newtoggle{bpl@jifinfo}
\newtoggle{bpl@prinfo}
\toggletrue{bpl@prinfo}
\newtoggle{bpl@oainfo}
\newtoggle{bpl@oainfosimple}
\newif\if@bpl@reversenum\@bpl@reversenumfalse
-
+\def\bpl@annots{}
% Valid options
%
@@ -188,6 +189,9 @@
},
plnumbering.default:n = { global },
plnumbering.usage:n = preamble,
+ % annotations=<csv>
+ % Store author name prefix
+ annotations.tl_set:N = \bpl@annots,
% linktitles=<all|url|doi|isbn|issn|none>
linktitles .multichoice:,
% Link all titles
@@ -233,6 +237,18 @@
\toggletrue{bpl@linktitle}
},
linktitles.default:n = { all },
+ % citinfo=<true|false>
+ % Information about citation numbers
+ citinfo.code:n =
+ {
+ \str_if_eq:nnTF { #1 } { true }
+ {
+ \toggletrue{bpl@citinfo}
+ }{
+ \togglefalse{bpl@citinfo}
+ }
+ },
+ citinfo.default:n = { true },
% jifinfo=<true|false>
% Impact factor information
jifinfo.code:n =
@@ -428,6 +444,7 @@
\DeclareBibliographyOption{plauthorhandling}[omit]{\ExecutePublistOptions{plauthorhandling=#1}}
\DeclareBibliographyOption{nameorder}[family-given]{\ExecutePublistOptions{nameorder=#1}}
\DeclareBibliographyOption{plsorting}[ydt]{\ExecutePublistOptions{plsorting=#1}}
+\DeclareBibliographyOption{annotations}{\ExecutePublistOptions{annotations={#1}}}
\DeclareBibliographyOption{plnumbering}[global]{\ExecutePublistOptions{plnumbering=#1}}
\DeclareBibliographyOption{marginyear}[true]{\ExecutePublistOptions{marginyear=#1}}
@@ -437,6 +454,7 @@
\DeclareBibliographyOption{jifinfo}[true]{\ExecutePublistOptions{jifinfo=#1}}
\DeclareBibliographyOption{oainfo}[simple]{\ExecutePublistOptions{oainfo=#1}}
\DeclareBibliographyOption{prinfo}[true]{\ExecutePublistOptions{prinfo=#1}}
+\DeclareBibliographyOption{citinfo}[true]{\ExecutePublistOptions{citinfo=#1}}
\DeclareBibliographyOption{linktitles}[all]{\ExecutePublistOptions{linktitles={#1}}}% Extra braces needed (multichoice)
@@ -552,16 +570,31 @@
{}{\PackageWarning{biblatex-publist}{Patching refsection failed!}}
}{}
-\newcommand*\GetSectionCount[1][\empty]{%
- \edef\bpl@secno{#1}%
- \ifx\bpl@secno\empty%
- \csnumdef{bpltmprefsection}{\c@refsection}%
- \csuse{bpl@secitems:\bpltmprefsection}%
- \else%
- \csuse{bpl@secitems:#1}%
- \fi%
+% Section count. We use l3 here to split the argument and do calculations
+\ExplSyntaxOn
+
+\int_new:N \l_bpl_sec_cnt_int
+
+\NewDocumentCommand \GetSectionCount { >{\SplitList{,}} o }
+{
+ \IfNoValueTF{#1}{%
+ \csnumdef{bpltmprefsection}{\c@refsection}
+ \ifcsdef{bpl@secitems:\bpltmprefsection}{\csuse{bpl@secitems:\bpltmprefsection}}{}%
+ }{
+ \int_zero:N \l_bpl_sec_cnt_int
+ \ProcessList{#1}{\__bpl_add_section_count}
+ \int_use:N \l_bpl_sec_cnt_int
+ }
}
+\cs_new:Npn \__bpl_add_section_count #1
+{
+ \cs_if_exist:cT {bpl@secitems:#1}
+ { \int_add:Nn \l_bpl_sec_cnt_int { \use:c{bpl@secitems:#1} } }
+}
+
+\ExplSyntaxOff
+
\newcommand*\GetTotalCount{%
\csuse{bpl@items}%
}
@@ -897,7 +930,15 @@
\newrobustcmd{\mkbibdesc}[1]{%
% Print labelnumber as actual number, plus item total
- \number\numexpr\csuse{bpl@itemtotal}+#1+\csuse{bpl@shift@itemtotal}\relax%
+ \edef\bpl@current@item@no{\number\numexpr\csuse{bpl@itemtotal}+#1+\csuse{bpl@shift@itemtotal}\relax}%
+ \bpl@current@item@no%
+ % Store number in pbx file
+ \if@filesw%
+ \protected@write\bpl@bpxfile{}{%
+ \csedef{bpl@itemnumber:\thefield{entrykey}}{\bpl@current@item@no}%
+ \csedef{bpl@itemsec:\thefield{entrykey}}{\therefsection}%
+ }%
+ \fi%
}%
% Way to manually shift the numbering
@@ -963,23 +1004,37 @@
% Print the labelnumber as the total number of entries in the
% current refsection, minus the actual labelnumber, plus one
\ifbool{plnumgroup}{%
- \number\numexpr\csuse{bpl@itemtotal}-#1+1\relax%
+ \xdef\bpl@current@item@no{\number\numexpr\csuse{bpl@itemtotal}-#1+1\relax}%
+ \bpl@current@item@no%
}{%
\ifcsdef{bpl@secitems:\therefsection}{%
- \number\numexpr\csuse{bpl@secitems:\therefsection}-#1+1%
- +\csuse{bpl@shift@itemtotal}\relax%
+ \xdef\bpl@current@item@no{\number\numexpr\csuse{bpl@secitems:\therefsection}-#1+1%
+ +\csuse{bpl@shift@itemtotal}\relax}%
+ \bpl@current@item@no%
}{%
- \number\numexpr\csuse{bpl@itemtotal}-#1+1\relax%
+ \xdef\bpl@current@item@no{\number\numexpr\csuse{bpl@itemtotal}-#1+1\relax}%
+ \bpl@current@item@no%
}%
}%
}{%
% Use decreasing counter
\ifcsdef{bpl@items:\theprevrefsection}{%
- \number\numexpr\csuse{bpl@itemtotal}-#1+1-\csuse{bpl@items:\theprevrefsection}\relax%
+ \xdef\bpl@current@item@no{\number\numexpr\csuse{bpl@itemtotal}-#1+1%
+ -\csuse{bpl@items:\theprevrefsection}\relax}%
+ \bpl@current@item@no%
}{%
- \number\numexpr\csuse{bpl@itemtotal}-#1+1\relax%
+ \xdef\bpl@current@item@no{\number\numexpr\csuse{bpl@itemtotal}-#1+1\relax}%
+ \bpl@current@item@no%
}%
}%
+ % Store number in pbx file
+ \if@filesw%
+ \protected@write\bpl@bpxfile{}{%
+ \csedef{bpl@itemnumber:\thefield{entrykey}}{\bpl@current@item@no}%
+ \csedef{bpl@itemsec:\thefield{entrykey}}{\therefsection}%
+ \csedef{bpl@itemtotal}{\csuse{bpl@itemtotal}}%
+ }%
+ \fi%
}%
\renewrobustcmd{\mkbibsecstart}[1]{%
\setcounter{prevrefsection}{\therefsection}%
@@ -1014,6 +1069,64 @@
\fi
}%
+%
+% Data annotation
+%
+
+\newcommand*\mkbplannot[1]{\textsuperscript{#1}}
+
+% Symbol helpers
+\ExplSyntaxOn
+ \clist_new:N \l_bpl_annot_symbols
+ \cs_new_nopar:Npn \SetAnnotSymbols #1
+ {
+ \clist_gset:Nn \l_bpl_annot_symbols { #1 }
+ }
+ \SetAnnotSymbols
+ { \textasteriskcentered, \textdaggerdbl, \textsection, \textparagraph,
+ \textbardbl, \textdagger, {\textasteriskcentered\textasteriskcentered},
+ {\textdaggerdbl\textdaggerdbl}, {\textdagger\textdagger}
+ }
+ % get symbol by position (int)
+ \cs_new_nopar:Npn \bpl@get@annot@symbol #1
+ {
+ \clist_item:Nn \l_bpl_annot_symbols { #1 }
+ }
+\ExplSyntaxOff
+
+% get symbol by category name
+\NewDocumentCommand\GetAnnotSymbol { s m }{
+ \edef\tmpa{}%
+ \setcounter{annotsymb}{1}%
+ \renewcommand*{\do}[1]{%
+ \ifstrequal{#2}{##1}
+ {\edef\tmpa{\bpl@get@annot@symbol{\theannotsymb}}}%
+ {}%
+ \stepcounter{annotsymb}%
+ }%
+ \expandafter\docsvlist\expandafter{\bpl@annots}%
+ \IfBooleanTF{#1}{\tmpa}{\mkbplannot{\tmpa}}%
+}
+
+% handle the annotations as passed by annotations option
+\AtEndOfPackage{%
+\ifx\bpl@annots\empty\else
+ % helper function for annotations
+ \newcounter{annotsymb}
+ \newcommand*\bplannot{%
+ \setcounter{annotsymb}{1}%
+ \renewcommand*{\do}[1]{%
+ \ifitemannotation{##1}
+ {\mkbplannot{\bpl@get@annot@symbol{\theannotsymb}}}%
+ {}%
+ \stepcounter{annotsymb}%
+ }%
+ \expandafter\docsvlist\expandafter{\bpl@annots}%
+ }
+ % do annotation in family names
+ \renewcommand*{\mkbibnamefamily}[1]{\bplannot #1}
+\fi
+}
%
% New environment for (foreign) reviews
@@ -1055,6 +1168,13 @@
}
%
+% Citation info
+%
+\DeclareFieldFormat{citations}{%
+ \bibstring{citations}\addcolon\addspace#1%
+}
+
+%
% Impact factor
%
\DeclareFieldFormat{impactfactor}{%
@@ -1356,6 +1476,26 @@
\iftoggle{isplauthor}%
{% <- TRUE condition
\global\toggletrue{hadplauthor}%
+ \ifx\bpl@annots\empty\else
+ \gdef\bpl@extra@annots{}%
+ \renewcommand*{\do}[1]{%
+ \ifitemannotation{##1}
+ {%
+ \iftoggle{bpl@have@extrainfo}%
+ {\gappto\bpl@extra@annots{\plextrainfosep\ifbibstring{annot:##1}%
+ {\bibstring{annot:##1}}%
+ {##1}}%
+ }%
+ {\gappto\bpl@extra@annots{\ifbibstring{annot:##1}%
+ {\bibstring{annot:##1}}%
+ {##1}}%
+ }%
+ \toggletrue{bpl@have@extrainfo}%
+ }%
+ {}%
+ }%
+ \expandafter\docsvlist\expandafter{\bpl@annots}%
+ \fi%
}% <- end TRUE condition
{% <- FALSE condition
\stepcounter{nonpl#1}%
@@ -1379,7 +1519,7 @@
{\ifdefvoid{\namepartgiven}{}{\mkbibnamegiven{\namepartgiven}\addspace}}%
\ifdefvoid{\namepartprefix}{}{\mkbibnameprefix{\namepartprefix}\addspace}%
\global\togglefalse{plauthorprecedes}%
- \namepartfamily%
+ \mkbibnamefamily{\namepartfamily}%
}%
}% <- end FALSE condition
%
@@ -1718,6 +1858,12 @@
}%
}
+%
+% Extra information
+%
+
+\def\bpl@extra@annots{}
+
\newtoggle{bpl@have@extrainfo}
\renewbibmacro*{addendum+pubstate}{%
@@ -1739,14 +1885,35 @@
not test {\iffieldundef{impactfactor}}
and test {\iftoggle{bpl@jifinfo}}
)
+ or
+ (
+ not test {\iffieldundef{citations}}
+ and test {\iftoggle{bpl@citinfo}}
+ )
+ or
+ (
+ not test {\ifcsvoid{bpl@extra@annots}}
+ )
}{%
\newunit\newblock%
\printtext[plextrainfo]{%
+ \ifx\bpl@extra@annots\empty\else
+ \bpl@extra@annots%
+ \toggletrue{bpl@have@extrainfo}%
+ \fi
\ifboolexpr{ not test {\iffieldundef{peerreview}}
and test {\iftoggle{bpl@prinfo}}
}{%
- \toggletrue{bpl@have@extrainfo}%
+ \iftoggle{bpl@have@extrainfo}{\plextrainfosep}{}%
\printfield{peerreview}%
+ \toggletrue{bpl@have@extrainfo}%
+ }{}%
+ \ifboolexpr{ not test {\iffieldundef{citations}}
+ and test {\iftoggle{bpl@citinfo}}
+ }{%
+ \iftoggle{bpl@have@extrainfo}{\plextrainfosep}{}%
+ \printfield{citations}%
+ \toggletrue{bpl@have@extrainfo}%
}{}%
\ifboolexpr{ not test {\iffieldundef{openaccess}}
and test {\iftoggle{bpl@oainfo}}
@@ -1768,6 +1935,11 @@
%
% l7n
%
+
+\DeclareLanguageMappingSuffix{-publist}
+
+% publist-specific bibstrings
+\NewBibliographyString{citations}
\NewBibliographyString{with}
\NewBibliographyString{parttranslationof}
\NewBibliographyString{impactfactor}
@@ -1782,54 +1954,8 @@
\NewBibliographyString{peerreview:tp}
\NewBibliographyString{peerreview:pp}
\NewBibliographyString{peerreview:no}
-\DefineBibliographyStrings{english}{%
- parttranslationof = {partial translation of},
- with = {with},
- impactfactor = {impact factor},
- openaccess:true = {OpenAccess},
- openaccess:gold = {OpenAccess (gold)},
- openaccess:green = {OpenAccess (green)},
- peerreview:sb = {single blind peer review},
- peerreview:db = {double blind peer review},
- peerreview:op = {open peer review},
- peerreview:co = {collaborative peer review},
- peerreview:cc = {cascading peer review},
- peerreview:tp = {third-party peer review},
- peerreview:pp = {post-publication peer review},
- peerreview:no = {no peer review}
-}
-\DefineBibliographyStrings{french}{%
- parttranslationof = {traduction partielle de},
- with = {avec},
- impactfactor = {facteur d'impact},
- openaccess:true = {libre acc\`es},
- openaccess:gold = {libre acc\`es (dorée)},
- openaccess:green = {libre acc\`es (verte)},
- peerreview:sb = {\'{e}valuation par des pairs anonymis\'{e}s},
- peerreview:db = {\'{e}valuation par les pairs en double aveugle},
- peerreview:op = {\'{e}valuation par les pairs ouverte},
- peerreview:co = {\'{e}valuation par les pairs collaborative},
- peerreview:cc = {\'{e}valuation par les pairs en cascade},
- peerreview:tp = {\'{e}valuation par des pairs ext\'{e}rieurs},
- peerreview:pp = {\'{e}valuation par les pairs apr\`{e}s publication},
- peerreview:no = {pas d'\'{e}valuation par les pairs}
-}
-\DefineBibliographyStrings{german}{%
- parttranslationof = {Teil\"ubersetzung von},
- with = {mit},
- impactfactor = {Impactfaktor},
- openaccess:true = {OpenAccess},
- openaccess:gold = {OpenAccess (gold)},
- openaccess:green = {OpenAccess (gr\"un)},
- peerreview:sb = {Blindbegutachtung},
- peerreview:db = {Doppelblindbegutachtung},
- peerreview:op = {Offene Begutachtung},
- peerreview:co = {Kollaborative Begutachtung},
- peerreview:cc = {Cascading-Begutachtung},
- peerreview:tp = {Begutachtung durch Dritte},
- peerreview:pp = {Post-Publication-Begutachtung},
- peerreview:no = {keine Begutachtung}
-}
+\NewBibliographyString{annot:main}
+\NewBibliographyString{annot:corresponding}
%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
index 78d144e32b..d384445d63 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.cbx
@@ -26,14 +26,50 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\bpl@version{2.10}
-\def\bpl@rdate{2024/06/17}
+\def\bpl@version{2.13}
+\def\bpl@rdate{2024/08/21}
\ProvidesFile{publist.cbx}[\bpl@rdate\space v.\bpl@version\space
biblatex citation style (JSP)]
\RequireCitationStyle{numeric}
+\DeclareCiteCommand{\citesecitem}
+ {\defcounter{maxnames}{999}%
+ \boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{bpl:cite:secitem}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand*{\citesecitem}
+ {\defcounter{maxnames}{999}%
+ \boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\usebibmacro{bpl:cite:secitem}%
+ \usebibmacro{bpl:cite:secitemsec}%
+ }
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\newbibmacro*{bpl:cite:secitem}{%
+ \ifcsdef{bpl@itemnumber:\thefield{entrykey}}%
+ {\mkbibbrackets{\csuse{bpl@itemnumber:\thefield{entrykey}}}}%
+ {\textbf{\mkbibbrackets{???}}}%
+}
+
+\newcommand*\secitemsecref[1]{%
+ \mkbibparens{\bibstring{section}\addnbspace\ref{refsection:#1}}%
+}
+
+\newbibmacro*{bpl:cite:secitemsec}{%
+ \ifcsdef{bpl@itemsec:\thefield{entrykey}}%
+ {\addspace\secitemsecref{\csuse{bpl@itemsec:\thefield{entrykey}}}}%
+ {}%
+}
+
\DeclareCiteCommand{\citeitem}
{\defcounter{maxnames}{999}%
\boolfalse{citetracker}%
@@ -55,6 +91,28 @@
\printtext[labelnumberwidth]{\mkrefdesc{\thefield{labelnumber}}}%
}
+\newcommand*\itemrangesep{\bibrangedash}
+
+\newcommand*\citeitemrange[2]{%
+ \citeitem{#1}\itemrangesep\citeitem{#2}%
+}
+
+\NewDocumentCommand\citesecitemrange{s m m}
+{%
+ \IfBooleanTF{#1}%
+ {\ifcsdef{bpl@itemsec:#2}%
+ {\ifcsdef{bpl@itemsec:#3}%
+ {\ifcsequal{bpl@itemsec:#2}{bpl@itemsec:#3}%
+ {\citesecitem{#2}\itemrangesep}%
+ {\citesecitem*{#2}\,\itemrangesep\,}%
+ \citesecitem*{#3}}%
+ {\citesecitem*{#2}\itemrangesep\citesecitem*{#3}}%
+ }%
+ {\citesecitem{#2}\itemrangesep\citesecitem*{#3}}%
+ }%
+ {\citesecitem{#2}\itemrangesep\citesecitem{#3}}%
+}
+
% Manual way to adjust numbering
\csdef{bpl@secstartshift}{0}
\newcommand*\shiftciteitem[1]{\csdef{bpl@secstartshift}{#1}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx
index 874cb3c801..27cb4068f5 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.dbx
@@ -1,5 +1,5 @@
% publist.dbx, biblatex data model specification for the biblatex-publist
-% package, version 2.10 (2024/06/17).
+% package, version 2.13 (2024/08/21).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -22,11 +22,13 @@
% Add peerreview and openaccess (literal) field
\DeclareDatamodelFields[type=field, datatype=literal]{
+ citations,
impactfactor,
openaccess,
peerreview}
\DeclareDatamodelEntryfields{
+ citations,
impactfactor,
openaccess,
peerreview}
diff --git a/macros/latex/contrib/bmstu-iu8/README.md b/macros/latex/contrib/bmstu-iu8/README.md
index 3deb2658c2..485014041c 100644
--- a/macros/latex/contrib/bmstu-iu8/README.md
+++ b/macros/latex/contrib/bmstu-iu8/README.md
@@ -1,6 +1,6 @@
# IU8 package
-Version: v1.2 (released 13.06.2021).
+Version: v1.3 (released 17.08.2024).
This package consist of class file and style files for writing
reports at the IU8 department of IU faculty of BMSTU
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-example.pdf b/macros/latex/contrib/bmstu-iu8/bmstu-example.pdf
index 26654efeff..b0d4cc2ea7 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-example.pdf
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls
index e50cde4c75..17c168f9f2 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{BMSTU-IU8}[2020/06/01 IU8 class]
+\ProvidesClass{BMSTU-IU8}[2024/08/17 IU8 class]
\LoadClass{article}
@@ -26,28 +26,28 @@
\RequirePackage[russian]{babel}
\RequirePackage{hyphsubst}
-\RequirePackage{01-IU8-base}
-\RequirePackage{02-IU8-construction}
-\RequirePackage{03-IU8-numbering}
-\RequirePackage{04-IU8-section-numbering}
-\RequirePackage{05-IU8-figures}
-\RequirePackage{06-IU8-tables}
-\RequirePackage{07-IU8-footnotes}
-\RequirePackage{08-IU8-formulas}
-\RequirePackage{09-IU8-cites}
-\RequirePackage{10-IU8-titlepage}
-\RequirePackage{11-IU8-performers}
-\RequirePackage{12-IU8-abstract}
-\RequirePackage{13-IU8-contents}
-\RequirePackage{14-IU8-terms-and-definitions}
-\RequirePackage{15-IU8-list-of-abbreviations}
-\RequirePackage{16-IU8-references}
-\RequirePackage{17-IU8-appendices}
-\RequirePackage{18-IU8-extra}
-\RequirePackage{19-IU8-counters}
-\RequirePackage{20-IU8-listing}
-\RequirePackage{21-IU8-math}
-\RequirePackage{22-IU8-algorithms}
+\RequirePackage{IU8-01-base}
+\RequirePackage{IU8-02-construction}
+\RequirePackage{IU8-03-numbering}
+\RequirePackage{IU8-04-section-numbering}
+\RequirePackage{IU8-05-figures}
+\RequirePackage{IU8-06-tables}
+\RequirePackage{IU8-07-footnotes}
+\RequirePackage{IU8-08-formulas}
+\RequirePackage{IU8-09-cites}
+\RequirePackage{IU8-10-titlepage}
+\RequirePackage{IU8-11-performers}
+\RequirePackage{IU8-12-abstract}
+\RequirePackage{IU8-13-contents}
+\RequirePackage{IU8-14-terms-and-definitions}
+\RequirePackage{IU8-15-list-of-abbreviations}
+\RequirePackage{IU8-16-references}
+\RequirePackage{IU8-17-appendices}
+\RequirePackage{IU8-18-extra}
+\RequirePackage{IU8-19-counters}
+\RequirePackage{IU8-20-listing}
+\RequirePackage{IU8-21-math}
+\RequirePackage{IU8-22-algorithms}
\RequirePackage{csquotes}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/DEPENDS.txt b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/DEPENDS.txt
new file mode 100644
index 0000000000..8176df3e7e
--- /dev/null
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/DEPENDS.txt
@@ -0,0 +1,38 @@
+algorithm2e
+amscls
+anyfontsize
+babel
+bookmark
+tools
+caption
+chngcntr
+csquotes
+enumitem
+fancyhdr
+float
+geometry
+glossaries
+glossaries-extra
+graphics
+oberdiek
+lastpage
+lineno
+listings
+multirow
+nowidow
+koma-script
+setspace
+fontspec
+stackengine
+tabto-ltx
+titlesec
+totcount
+ulem
+xassoccnt
+xcolor
+xltabular
+xstring
+ltablex # Here (and below) go some dependencies of dependencies
+biblatex
+ifoddpage
+relsize
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/01-IU8-base.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-01-base.sty
index f3df2d3f5e..c51f336b7c 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/01-IU8-base.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-01-base.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{01-IU8-base}[2021/03/21 v1.2 Общие требования]
+\ProvidesPackage{IU8-01-base}[2024/08/17 v1.3 Общие требования]
% 6.1.1 Изложение текста и оформление отчета выполняют в соответствии с
% требованиями настоящего стандарта. Страницы текста отчета о НИР и включенные в
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/02-IU8-construction.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-02-construction.sty
index b94615c003..0c684a5700 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/02-IU8-construction.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-02-construction.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{02-IU8-construction}[2021/03/21 v1.2 Построение отчета]
+\ProvidesPackage{IU8-02-construction}[2024/08/17 v1.3 Построение отчета]
% 6.2.1 Наименования структурных элементов отчета:
% "СПИСОК ИСПОЛНИТЕЛЕЙ", % у нас не используется
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/03-IU8-numbering.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-03-numbering.sty
index b8696c01f3..3d0bb94e9f 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/03-IU8-numbering.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-03-numbering.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{03-IU8-numbering}[2021/03/21 v1.2 Нумерация страниц отчета]
+\ProvidesPackage{IU8-03-numbering}[2024/08/17 v1.3 Нумерация страниц отчета]
% 6.3.1 Страницы отчета следует нумеровать арабскими цифрами, соблюдая сквозную
% нумерацию по всему тексту отчета, включая приложения. Номер страницы
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/04-IU8-section-numbering.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-04-section-numbering.sty
index 839c34816e..af812f5855 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/04-IU8-section-numbering.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-04-section-numbering.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{04-IU8-section-numbering}[2021/03/21 v1.2 Нумерация разделов, подразделов, пунктов, подпунктов и книг отчета]
+\ProvidesPackage{IU8-04-section-numbering}[2024/08/17 v1.3 Нумерация разделов, подразделов, пунктов, подпунктов и книг отчета]
% 6.4.1 Разделы должны иметь порядковые номера в пределах всего отчета,
% обозначенные арабскими цифрами без точки и расположенные с абзацного отступа.
@@ -10,7 +10,7 @@
% подразделы, могут состоять из одного или нескольких пунктов.
% Это настройка по умолчанию, так что её не меняю
-% Про абзацный отступ учетно в 02-IU8-construction
+% Про абзацный отступ учетно в IU8-02-construction
% 6.4.2 Если отчет не имеет подразделов, то нумерация пунктов в нем должна
% быть в пределах каждого раздела и номер пункта должен состоять из номеров
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/05-IU8-figures.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-05-figures.sty
index 7210da5245..4ccda32cda 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/05-IU8-figures.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-05-figures.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{05-IU8-figures}[2021/03/21 v1.2 Иллюстрации]
+\ProvidesPackage{IU8-05-figures}[2024/08/17 v1.3 Иллюстрации]
% 6.5.1 Иллюстрации (чертежи, графики, схемы, компьютерные распечатки, диаграммы,
% фотоснимки) следует располагать в отчете непосредственно после текста отчета,
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/06-IU8-tables.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-06-tables.sty
index eedb9d94df..705924bd99 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/06-IU8-tables.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-06-tables.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{06-IU8-tables}[2021/03/21 v1.2 Таблицы]
+\ProvidesPackage{IU8-06-tables}[2024/08/17 v1.3 Таблицы]
% Пакеты, которые скорее всего пригодятся
\RequirePackage{tabularx}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/07-IU8-footnotes.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-07-footnotes.sty
index 689cdd0337..9efd173fb0 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/07-IU8-footnotes.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-07-footnotes.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{07-IU8-footnotes}[2021/03/21 v1.2 Примечания и сноски]
+\ProvidesPackage{IU8-07-footnotes}[2024/08/17 v1.3 Примечания и сноски]
% 6.7.1 Примечания приводят в отчете, если необходимы пояснения или справочные
% данные к содержанию текста, таблиц или графического материала.
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/08-IU8-formulas.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-08-formulas.sty
index aa65770e77..cfe0b98dbd 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/08-IU8-formulas.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-08-formulas.sty
@@ -1,5 +1,5 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{08-IU8-formulas}[2021/03/21 v1.2 Формулы]
+\ProvidesPackage{IU8-08-formulas}[2024/08/17 v1.3 Формулы]
% Настройки по умолчанию в целом соответствуют ГОСТ \ No newline at end of file
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/09-IU8-cites.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-09-cites.sty
index 651f2a3e4e..6d070074b3 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/09-IU8-cites.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-09-cites.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{09-IU8-cites}[2021/03/21 v1.2 Ссылки]
+\ProvidesPackage{IU8-09-cites}[2024/08/17 v1.3 Ссылки]
% 6.9.1 В отчете о НИР рекомендуется приводить ссылки на использованные
% источники. При нумерации ссылок на документы, использованные при составлении
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/10-IU8-titlepage.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-10-titlepage.sty
index e9834bc07b..97fc11ecc5 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/10-IU8-titlepage.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-10-titlepage.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{10-IU8-titlepage}[2021/03/21 v1.2 Титульный лист]
+\ProvidesPackage{IU8-10-titlepage}[2024/08/17 v1.3 Титульный лист]
% Поля для заполнения для ВКР
\def\student#1{\gdef\@student{#1}}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/11-IU8-performers.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-11-performers.sty
index 14b659de63..e628023df4 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/11-IU8-performers.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-11-performers.sty
@@ -1,5 +1,5 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{11-IU8-performers}[2021/03/21 v1.2 Список исполниетелей]
+\ProvidesPackage{IU8-11-performers}[2024/08/17 v1.3 Список исполниетелей]
% Т.к. у нас это не используется, я оставляю это пустымы \ No newline at end of file
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/12-IU8-abstract.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-12-abstract.sty
index 946d3360bc..c1e1a6dc86 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/12-IU8-abstract.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-12-abstract.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{12-IU8-abstract}[2021/03/21 v1.2 Реферат]
+\ProvidesPackage{IU8-12-abstract}[2024/08/17 v1.3 Реферат]
% 6.12.1 Сведения об общем объеме отчета, количестве книг отчета, иллюстраций,
% таблиц, использованных источников, приложений являются первой компонентой
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/13-IU8-contents.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-13-contents.sty
index bf51955ac0..3bd4e67716 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/13-IU8-contents.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-13-contents.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{13-IU8-contents}[2021/03/21 v1.2 Содержание]
+\ProvidesPackage{IU8-13-contents}[2024/08/17 v1.3 Содержание]
% Каждую запись содержания оформляют как отдельный абзац, выровненный влево.
% Номера страниц указывают выровненными по правому краю поля и соединяют
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-14-terms-and-definitions.sty
index e3e15e2d2e..8378ff2826 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-14-terms-and-definitions.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{14-IU8-terms-and-definitions}[2021/03/21 v1.2 Содержание]
+\ProvidesPackage{IU8-14-terms-and-definitions}[2024/08/17 v1.3 Содержание]
\RequirePackage[
acronym,
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-15-list-of-abbreviations.sty
index d8345fdd1f..49a5aeb8aa 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-15-list-of-abbreviations.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{15-IU8-list-of-abbreviations}[2021/03/21 v1.2 Содержание]
+\ProvidesPackage{IU8-15-list-of-abbreviations}[2024/08/17 v1.3 Содержание]
\RequirePackage[abbreviations]{glossaries-extra}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/16-IU8-references.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-16-references.sty
index 7a51a9235a..7e7fd9d347 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/16-IU8-references.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-16-references.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{16-IU8-references}[2021/03/21 v1.2 Список использованных источников]
+\ProvidesPackage{IU8-16-references}[2024/08/17 v1.3 Список использованных источников]
% Сведения об источниках следует располагать в порядке появления ссылок на
% источники в тексте отчета и нумеровать арабскими цифрами с точкой и печатать
@@ -16,3 +16,6 @@
\addto{\captionsrussian}{%
\renewcommand{\contentsname}{СОДЕРЖАНИЕ}
}
+
+% Специально изменим шрифт для URL, чтобы он соответсвовал ГОСТ и остальному тексту документа
+\renewcommand{\UrlFont}{\normalfont}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/17-IU8-appendices.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-17-appendices.sty
index 025e70b5c8..e89c637ec6 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/17-IU8-appendices.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-17-appendices.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{17-IU8-appendices}[2021/03/21 v1.2 Приложения]
+\ProvidesPackage{IU8-17-appendices}[2024/08/17 v1.3 Приложения]
\newcommand{\appendixsection}[1]{
\stepcounter{apps}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/18-IU8-extra.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-18-extra.sty
index 6fb1570340..44e932a3e9 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/18-IU8-extra.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-18-extra.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{18-IU8-extra}[2021/03/21 v1.2 Разные улучшения]
+\ProvidesPackage{IU8-18-extra}[2024/08/17 v1.3 Разные улучшения]
\RequirePackage{graphicx}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/19-IU8-counters.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-19-counters.sty
index 991f9f4d43..c5e7d80136 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/19-IU8-counters.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-19-counters.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{19-IU8-counters}[2021/03/21 v1.2 Счётчики]
+\ProvidesPackage{IU8-19-counters}[2024/08/17 v1.3 Счётчики]
\RequirePackage{calc}
\RequirePackage{xassoccnt}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/20-IU8-listing.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-20-listing.sty
index c90194a1d2..22dd68b97b 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/20-IU8-listing.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-20-listing.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{20-IU8-listing}[2021/03/21 v1.2 Листинги]
+\ProvidesPackage{IU8-20-listing}[2024/08/17 v1.3 Листинги]
\RequirePackage{listings}
\RequirePackage{xcolor}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/21-IU8-math.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-21-math.sty
index b60a4fd6d2..b72be1370c 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/21-IU8-math.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-21-math.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{21-IU8-math}[2021/03/21 v1.2 Математика]
+\ProvidesPackage{IU8-21-math}[2024/08/17 v1.3 Математика]
\RequirePackage{amsthm}
\theoremstyle{definition}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/22-IU8-algorithms.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-22-algorithms.sty
index f3fdcee25e..5cf8831462 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/22-IU8-algorithms.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-22-algorithms.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{22-IU8-algorithms}[2021/03/21 v1.2 Алгоритмы]
+\ProvidesPackage{IU8-22-algorithms}[2024/08/17 v1.3 Алгоритмы]
\RequirePackage[linesnumbered,boxruled]{algorithm2e}
\SetAlCapSty{}
diff --git a/macros/latex/contrib/bxpdfver/LICENSE b/macros/latex/contrib/bxpdfver/LICENSE
index b6b8b92330..f6ebffefca 100644
--- a/macros/latex/contrib/bxpdfver/LICENSE
+++ b/macros/latex/contrib/bxpdfver/LICENSE
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2014-2022 Takayuki YATO (aka. "ZR")
+Copyright (c) 2014-2024 Takayuki YATO (aka. "ZR")
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/macros/latex/contrib/bxpdfver/README-ja.md b/macros/latex/contrib/bxpdfver/README-ja.md
index 0f0955d378..ea1a7e4ee1 100644
--- a/macros/latex/contrib/bxpdfver/README-ja.md
+++ b/macros/latex/contrib/bxpdfver/README-ja.md
@@ -43,16 +43,20 @@ bxpdfver パッケージ
* `objcompress`(既定): オブジェクトストリームの使用を抑止しない。
* ドライバオプション: 以下の通り。なお、後述の「ドライバ指定」の
節も参照されたい。
- + PDF 出力のエンジンの場合は、既定で適切なドライバが選択される
+ + LaTeX の新 PDF マネジメントが有効化されている場合は、自動的に
+ “latex-pdf”モードに切り替わる。ドライバオプションは不要である。
+ + PDF 出力のエンジンの場合は、自動的に適切なドライバが選択される
のでドライバオプションは不要である。
+ `dvipdfmx`: dvipdfmx 用のドライバを指定する。
+ `nodvidriver`/`disabled`: 全ての機能を無効化する。
※この場合 `lenient+` が既定になる。
+ + `ignorepdfmanagement`: “latex-pdf”モードへの切替を抑止する。
* `lenient`: サポートしない機能に対するエラーを警告に格下げする。
* `lenient+`: サポートしない機能に対するエラーを完全に抑止する。
* `nolenient`(既定): `lenient(+)` の否定。
* `new-dvipdfmx`: dvipdfmx に対するバージョン検査を省略し、常に最新の
- バージョンであると仮定する。
+ バージョンであると仮定する。
+ ※ドライバオプションが `dvipdfmx` に変更される。
`compress`、`objcompress` はこのパッケージによる抑止を行わないという意味
であり、既に抑止されている場合にそれを再び有効化するものではない。
@@ -72,41 +76,61 @@ bxpdfver パッケージ
* `\preservepdfdestinations`: PDF 目的地(PDF destination)の名前の
短縮を抑止し、TeX 文書で指定された名前を用いる。異なる PDF 文書間で
のリンクを正常に機能させるために必要である。
+ * `\setpdfpkresolution{<解像度>}`: PDF に埋め込まれる PK フォントの
+ 解像度(dpi 値)を指定する。
### ドライバ指定に関する補足
\ Drivers (engines) pdfTeX dvipdfmx
- Features / LuaTeX / XeTeX others
- --------------------------- --------- --------- ------
- \setpdfversion Yes Yes No
- \suppresspdfcompression Yes Maybe(*2) No
- \suppresspdfobjcompression Yes Maybe(*2) No
+ Features / LuaTeX / XeTeX latex-pdf
+ --------------------------- --------- --------- ---------
+ \setpdfversion Yes Yes Yes
+ \suppresspdfcompression Yes Maybe(*2) Yes(*4)
+ \suppresspdfobjcompression Yes Maybe(*2) Yes(*4)
\setpdfdecimaldigits Yes Maybe(*2) No
\preservepdfdestinations No-op(*1) Maybe(*2) No
+ \setpdfpkresolution Yes Maybe(*3) No
1. pdfTeX/LuaTeX では PDF 目的地の名前が短縮されるることはない。つまり
`\preservepdfdestinations` は常に有効になっていると見なせる。
- 2. これらの機能を使用するためには、(x)dvipdfmx のバージョンが 20160307
- 以上である必要がある。
- - バージョン判定のために kpsewhich と extractbb の起動を利用する
- ため、少なくともこれらのプログラムについて、シェルエスケープが
- 許可されている必要がある。
- - dvipdfmx のバージョン情報は補助ファイル(.aux)中にキャッシュ
- される。このため、何か状況が変わった場合は、一旦補助ファイルを
- 削除する必要が生じる。
+ 2. (x)dvipdfmx のバージョンが 20160307 以上である必要がある。
+ 3. (x)dvipdfmx のバージョンが 20211016 以上である必要がある。
+ 4. `\suppresspdfcompression` と `\suppresspdfobjcompression` については
+ 一方を実行すると他方も自動的に有効になる。l3pdf モジュールで片方のみ
+ を有効化することはサポートされないからである。
+
+dvipdfmx のバージョン判定について:
+
+ - 必要が生じた場合にのみバージョン判定が実行される。
+ - `new-dvipdfmx` オプションを指定した場合は、バージョン判定を全て
+ 省略した上で、最新の dvipdfmx を使用していると見なす。
+ - バージョン判定のために kpsewhich と extractbb の起動を利用するため、
+ 少なくともこれらのプログラムについて、シェル実行が許可されている
+ 必要がある。
+ - バージョン判定は少し時間がかかるため、dvipdfmx のバージョン情報は
+ 補助ファイル(.aux)中にキャッシュされる。このため、何か状況が変化
+ した場合は、一旦補助ファイルを削除する必要が生じる。
以下のことにも注意されたい。
- * 使用不可能な機能を使おうと試みるとエラーが発生する。
+ * 使用不可能な機能を使おうと試みるとエラーが発生する。
+ ※`lenient` オプションが指定された場合はエラーが警告に変更され、
+ また `lenient+` が指定された場合はエラーも警告も抑止される。
* `dvips` 等の“全く対応していない”若干のドライバオプションを認識
する。この場合、全ての機能の呼出でエラーが発生する。
- * `nodvidriver` は特殊で、これを指定した場合は、どの機能の呼出でも
- エラーは発生しないが、全く何の動作も行わない。
+ * `nodvidriver` オプションは既定で `lenient+` を指定する。つまり、
+ どの機能の呼出でもエラーは発生しないが、全く何の動作も行わない。
更新履歴
--------
+ * Version 0.8 ‹2024/08/03›
+ - カーネルの新 PDF マネジメントが有効な場合にも一部の機能が使える
+ ようにする(“latex-pdf”モード)。
+ * Version 0.7 ‹2024/07/24›
+ - `\setpdfpkresolution` を(正式に)サポート。(dvipdfmx/XeTeX
+ でも使用可能になった。)
* Version 0.6 ‹2022/04/28›
- `lenient+`/`nolenient` オプションを追加。
- 非サポートのドライバでも読込自体はエラーにしない。
diff --git a/macros/latex/contrib/bxpdfver/README.md b/macros/latex/contrib/bxpdfver/README.md
index 332b6215f1..1b78b5da1c 100644
--- a/macros/latex/contrib/bxpdfver/README.md
+++ b/macros/latex/contrib/bxpdfver/README.md
@@ -44,11 +44,16 @@ The available options are:
* `noobjcompress`: Suppresses use of object streams.
* `objcompress` (default): Does not suppress use of object streams.
* Driver options: As below:
+ + When the new PDF management of LaTeX is activated, the package
+ will automatically switch to “latex-pdf” mode. You need not
+ give driver options.
+ When using a PDF-output engine, you need not give driver options
since the appropriate one is auto-detected.
+ `dvipdfmx`: Uses dvipdfmx driver.
+ `nodvidriver`/`disabled`: Disables all functions of the package.
NB. This option sets `lenient+` by default.
+ * `ignorepdfmanagement`: Avoids switching to “latex-pdf” mode, even
+ when the new PDF management of LaTeX is activated.
* `lenient`: Turns the errors for unsupported features into warnings.
* `lenient+`: Suppreseses the errors for unsupported features.
* `nolenient`: Negation of `lenient(+)`.
@@ -72,40 +77,61 @@ when it is already suppressed by other means.
* `\preservepdfdestinations`: Stops shortening the PDF destination
names and uses the original names given in the LaTeX documents. This
is necessary for cross-document links to work correctly.
+ * `\setpdfpkresolution{<resolution>}`: Sets the resolution (in dpi)
+ of the PK fonts embedded in the PDF file.
### NOTE ON DRIVERS
\ Drivers (engines) pdfTeX dvipdfmx
- Features / LuaTeX / XeTeX others
- --------------------------- --------- --------- ------
- \setpdfversion Yes Yes No
- \suppresspdfcompression Yes Maybe(*2) No
- \suppresspdfobjcompression Yes Maybe(*2) No
+ Features / LuaTeX / XeTeX latex-pdf
+ --------------------------- --------- --------- ---------
+ \setpdfversion Yes Yes Yes
+ \suppresspdfcompression Yes Maybe(*2) Yes(*4)
+ \suppresspdfobjcompression Yes Maybe(*2) Yes(*4)
\setpdfdecimaldigits Yes Maybe(*2) No
\preservepdfdestinations No-op(*1) Maybe(*2) No
+ \setpdfpkresolution Yes Maybe(*3) No
1. In pdfTeX and LuaTeX, PDF destination names are never shortened;
that is, it can be thought as if `\preservepdfdestinations` were
always in effect.
2. These features are available only when the version of (x)dvipdfmx
- is 20160307 or later. Also shell escape must be accepted (with or
- without restriction) so that `kpsewhich` and `extractbb` will be
- allowed to run, because those programs are used in order to detect
- the dvipdfmx version.
+ is 20160307 or later.
+ 3. These features are available only when the version of (x)dvipdfmx
+ is 20211016 or later.
+ 4. As for '\suppresspdfcompression' and '\suppresspdfobjcompression',
+ when one of them is executed, the other will be activated. It is
+ because l3pdf module does not support activating only one of them.
+
+On the detection of dvipdfmx version:
+
+ * Shell escape must be accepted (with or without restriction) so that
+ `kpsewhich` and `extractbb` will be allowed to run, because those
+ programs are used in order to detect the dvipdfmx version.
+ * The detection process is slow, so the result is cached in the
+ auxiliary file (`.aux`). When the environment is changed, you need
+ to delete the auxiliary file.
More notices:
- * If you try to use unavailable features, an error will occur.
+ * If you try to use unavailable features, an error will occur.
+ NB. Option `lenient` turns the errors into warnings, and `lenient+`
+ completely suppresses the errors.
* The package recognizes some “unsupported” driver options such as
`dvips`; when such drivers are used, use of any feature will cause
an error.
- * The use of `nodvidriver` sets `lenient*` by default; use of any
+ * The use of `nodvidriver` sets `lenient+` by default; use of any
feature will do nothing (nor issue an error).
REVISION HISTORY
----------------
+ * Version 0.8 ‹2024/08/03›
+ - Support some features even when the new PDF management of the
+ LaTeX kernel is activated (“latex-pdf” mode).
+ * Version 0.7 ‹2024/07/24›
+ - Support (officialy) `\setpdfpkresolution`.
* Version 0.6 ‹2022/04/28›
- Added the `lenient+` and `nolenient` options.
* Version 0.5a ‹2021/02/14›
diff --git a/macros/latex/contrib/bxpdfver/bxpdfver.sty b/macros/latex/contrib/bxpdfver/bxpdfver.sty
index ccc9825f6f..296774068c 100644
--- a/macros/latex/contrib/bxpdfver/bxpdfver.sty
+++ b/macros/latex/contrib/bxpdfver/bxpdfver.sty
@@ -1,7 +1,7 @@
%%
%% This is file 'bxpdfver.sty'.
%%
-%% Copyright (c) 2014-2022 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2014-2024 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,12 +10,8 @@
%% package declaration
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{bxpdfver}[2022/04/28 v0.6]
+\ProvidesPackage{bxpdfver}[2024/08/03 v0.8]
\def\bxpv@pkgname{bxpdfver}
-
-%% preparations
-\RequirePackage{ifthen}[]% for \newboolean
-\newif\ifbxpv@ok
\providecommand\bxDebug[1]{}
%--------------------------------------- package options
@@ -124,13 +120,23 @@
\fi
\fi
-%--------------------------------------- helpers
+%--------------------------------------- general
+
+%% packages
+\RequirePackage{ifthen}[]% for \newboolean
+
+%% variables
+\newif\ifbxpv@ok
%% unique tokens
\def\bxpv@end{\bxpv@end@}
\def\bxpv@mt{\bxpv@mt@}
\let\bxpv@mk\noindent
+%% \ifbxpv@read@file@ok
+% Whether or not the last \bxpv@read@file succeeded.
+\newif\ifbxpv@read@file@ok
+
%% \bxpv@csletcs
\def\bxpv@csletcs#1#2{%
\expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname
@@ -144,6 +150,13 @@
\def#3{#2}%
}
+%% \bxpv@info{<message>}
+% Issues an info message.
+\@onlypreamble\bxpv@info
+\def\bxpv@info#1{%
+ \PackageInfo\bxpv@pkgname{#1\@gobble}%
+}
+
%% \bxpv@warn{<message>}
% Issues a warning.
\@onlypreamble\bxpv@warn
@@ -175,17 +188,61 @@
}
%% \ifbxpv@defined
-\let\ifbxpv@defined\ifdefined
-\ifx\ifbxpv@defined\@undefined \expandafter\@firstofone
-\else \expandafter\@gobble
-\fi{\let\ifbxpv@defined\iffalse}
+% Identical to \ifdefined, and is used only in e-TeX-aware code.
+% On non-e-TeX engines it is made \iffalse to keep \if-balancedness.
+\bxpv@csletcs{ifbxpv@defined}{%
+ if\ifx\ifdefined\@undefined false\else defined\fi}
+
+%% \bxpv@begin@document@hook
+% The begin-document hook.
+\@onlypreamble\bxpv@begin@document@hook
+\let\bxpv@begin@document@hook\@empty
+\AtBeginDocument{\bxpv@begin@document@hook}
+
+%--------------------------------------- environment check
%% \ifbxpv@old@hook@system
\newif\ifbxpv@old@hook@system
\@ifl@t@r\fmtversion{2020/10/01}{}{\bxpv@old@hook@systemtrue}
+%% \ifbxpv@pdfmanagement@ok
+% Whether this package is supporting the LaTeX PDF management
+% of the current kernel.
+% (If the PDF management is active but this switch is off,
+% then this package will switch to no-op mode.)
+\newif\ifbxpv@pdfmanagement@ok
+
+%% check for new PDF management
+\if t\bxpv@ignore@pdfmanagement\else
+ \ifx\IfPDFManagementActiveTF\@undefined\else
+ \IfPDFManagementActiveTF{%
+ \let\bxpv@drv@type=m%
+ \def\bxpv@drv@name{latex-pdf}%
+ \@ifl@t@r\fmtversion{2022/06/01}{%
+ \bxpv@pdfmanagement@oktrue
+ }{}
+ }{}
+ \fi
+\fi
+\ifx m\bxpv@drv@type
+ \ifbxpv@pdfmanagement@ok
+ \bxpv@warn
+ {New PDF management is active.\MessageBreak
+ The driver is set to '\bxpv@drv@name'}%
+ % Here \ExplSyntaxOn should be available.
+ \else
+ \bxpv@warn
+ {New PDF management is active, but\MessageBreak
+ the kernel is too old (before 2022/06/01).\MessageBreak
+ Thus this package will not work}%
+ \fi
+\fi
+
%--------------------------------------- internal dispatchers
+% Initially all dispatchers are "unavailable".
+% They are later redefined according to the driver type.
+
%% \bxpv@suppress@compress
\@onlypreamble\bxpv@suppress@compress
\def\bxpv@suppress@compress{%
@@ -224,25 +281,11 @@
\@onlypreamble\bxpv@cancel@obj@compress
\let\bxpv@cancel@obj@compress\relax
-%% \bxpv@begin@document@hook
-% The begin-document hook.
-\@onlypreamble\bxpv@begin@document@hook
-\let\bxpv@begin@document@hook\@empty
-\AtBeginDocument{\bxpv@begin@document@hook}
\g@addto@macro\bxpv@begin@document@hook{%
\bxpv@check@hyperref % must come first
}
-%% check for new PDF management
-\if t\bxpv@ignore@pdfmanagement\else
- \ifx\IfPDFManagementActiveTF\@undefined\else
- \IfPDFManagementActiveTF{%
- \global\let\bxpv@drv@type=m%
- }{}
- \fi
-\fi
-
-%% adjust internal dispatchers
+%% Redefine internal dispatchers.
\ifx 0\bxpv@drv@type\else %--------
\begingroup
@@ -264,9 +307,31 @@
%% switch
\if m\bxpv@drv@type
- %% when in new PDF management
- \bxpv@warn
- {New PDF management is active}%
+ \ifbxpv@pdfmanagement@ok
+ % Here all l3pdf function is assumed to be available.
+ \gdef\bxpv@check@version{\bxpv@oktrue}
+ \ExplSyntaxOn %!!!!!!
+ \tl_new:N \g__bxpv_org_version
+ \exp_args:NNe \tl_gset:Nn \g__bxpv_org_version { \pdf_version: }
+ \cs_gset:Npn \bxpv@set@version
+ {
+ \token_if_eq_meaning:NNTF \bxpdfverMinorVersion \relax
+ { \pdf_version_gset:n { \g__bxpv_org_version } }
+ {
+ \pdf_version_gset:n
+ {
+ \int_use:N \bxpdfverMajorVersion
+ . \int_use:N \bxpdfverMinorVersion
+ }
+ }
+ }
+ % \pdf_uncompress: does both.
+ \cs_gset:Npn \bxpv@suppress@compress
+ { \pdf_uncompress: }
+ \cs_gset:Npn \bxpv@suppress@obj@compress
+ { \pdf_uncompress: }
+ \ExplSyntaxOff %!!!!!!
+ \fi
\else\ifnum\bxpv@pdfoutput>\z@
%% when in PDF mode
\global\let\bxpv@drv@type=p
@@ -386,12 +451,14 @@
\bxpv@warn
{Unsupported engine}%
\else\if d\bxpv@drv@type % 'dvipdfmx'
+ % All the real settings are done in the begin-document hook,
+ % so the dispatchers themselves will do nothing (if available).
\global\let\bxpv@suppress@compress\relax
\global\let\bxpv@suppress@obj@compress\relax
\global\let\bxpv@check@version\relax
\global\let\bxpv@set@version\relax
\global\let\bxpv@set@decimaldigits\relax
- %\global\let\bxpv@set@pkresolution\relax
+ \global\let\bxpv@set@pkresolution\relax
\global\let\bxpv@preserve@destinations\relax
\g@addto@macro\bxpv@begin@document@hook{%
\bxpv@begin@document@dvipdfmx
@@ -671,6 +738,7 @@
\fi
%% variables
+\let\bxpv@dvipdfmx@known@min\relax % minimum known dviodfmx version
\let\bxpv@C@value\relax
%% \bxpv@C@bits
@@ -689,6 +757,7 @@
%% \bxpv@begin@document@dvipdfmx
\@onlypreamble\bxpv@begin@document@dvipdfmx
\def\bxpv@begin@document@dvipdfmx{%
+ \bxpv@get@dvipdfmx@known@min
% PDF version
\ifx\bxpdfverMajorVersion\tw@
\bxpv@check@dvipdfmx@version{20180217}%
@@ -701,8 +770,8 @@
\bxpv@put@special{pdf:minorversion \the\bxpdfverMinorVersion}%
\fi
\ifx\bxpdfverMinorVersion\relax\else
- \bxpv@cache@fetch{dvipdfmxver}%
- \ifnum\bxpv@cache@@dvipdfmxver<20180217 \else
+ \bxpv@at@least@dvipdfmx@version{20180217}%
+ \ifbxpv@ok
\bxpv@put@special{pdf:majorversion \the\bxpdfverMajorVersion}%
\fi
\fi
@@ -734,7 +803,9 @@
\fi
% PK resolution
\ifx\bxpdfverPkResolution\relax\else
- \iffalse % This will never work....
+ \bxpv@check@dvipdfmx@version{20211016}%
+ {Cannot set PK resolution}%
+ \ifbxpv@ok
\bxpv@put@special{dvipdfmx:config r \the\bxpdfverPkResolution}%
\fi
\fi
@@ -748,10 +819,9 @@
\fi
% C option value
\ifx\bxpv@C@bits\@empty\else
- \bxpv@cache@fetch{dvipdfmxcfg}%
- \def\bxpv@next##1##2\bxpv@mk{\def\bxpv@C@value{##1}}%
- \expandafter\bxpv@next\bxpv@cache@@dvipdfmxcfg{0}\bxpv@mk
- \bxpv@rc@bitset{\bxpv@C@value}{64}%
+ % When C option is used, its value is automatically OR'ed with
+ % the current value, so we need not read the config for that.
+ \def\bxpv@C@value{0}%
\def\do##1{%
\bxpv@rc@bitset{\bxpv@C@value}{##1}%
\let\bxpv@C@value\bxpv@rc@num}%
@@ -776,25 +846,67 @@
\fi
}
+%% \bxpv@get@dvipdfmx@known@min
+% Gathers the information and sets \bxpv@dvipdfmx@known@min,
+% without actually spawning extractbb.
+% (Called in the begin-document hook.)
+\@onlypreamble\bxpv@get@dvipdfmx@known@min
+\def\bxpv@get@dvipdfmx@known@min{%
+ % initially no information
+ \def\bxpv@dvipdfmx@known@min{0}%
+ % l3backend-dvipdfmx of revision 2022-04-10 or later requires
+ % dvipdfmx of version 20201111 or later.
+ \def\bxpv@tmpa{def}%
+ \let\bxpv@tmpb\@gobbletwo
+ \@ifl@aded\bxpv@tmpa{l3backend-dvipdfmx}{%
+ \def\bxpv@tmpb{\@ifl@ter\bxpv@tmpa{l3backend-dvipdfmx}}%
+ }{}%
+ % Just in case....
+ \@ifl@aded\bxpv@tmpa{l3backend-dvips}{%
+ \def\bxpv@tmpb{\@ifl@ter\bxpv@tmpa{l3backend-dvips}}%
+ }{}%
+ \bxpv@tmpb{2022/04/10}{%
+ % Now the version is known to be 20201111 or later.
+ % This information can save much need for spawning extractbb.
+ \def\bxpv@dvipdfmx@known@min{20201111}%
+ }{}%
+ \bxDebug{dvipdfmx-known-min:\bxpv@dvipdfmx@known@min}%
+}
+
+%% \bxpv@at@least@dvipdfmx@version{<version>}
+% Checks if dvipdfmx >= <version> and sets bxpv@ok.
+\@onlypreamble\bxpv@at@least@dvipdfmx@version
+\def\bxpv@at@least@dvipdfmx@version#1{%
+ % first check using known-min
+ \ifnum\bxpv@dvipdfmx@known@min<#1
+ % get real version
+ \bxpv@cache@fetch{dvipdfmxver}%
+ \bxpv@info
+ {dvipdfmx version is \bxpv@cache@@dvipdfmxver}%
+ \bxpv@oktrue
+ \ifnum\bxpv@cache@@dvipdfmxver<#1
+ \bxpv@okfalse
+ \fi
+ \else % new enough
+ \bxpv@oktrue
+ \fi
+}
+
%% \bxpv@check@dvipdfmx@version
\@onlypreamble\bxpv@check@dvipdfmx@version
\def\bxpv@check@dvipdfmx@version#1#2{%
- \bxpv@cache@fetch{dvipdfmxver}%
- \bxpv@okfalse
- \ifnum\bxpv@cache@@dvipdfmxver=\z@
+ \bxpv@at@least@dvipdfmx@version{#1}%
+ \ifbxpv@ok % no-op
+ \else\ifnum\bxpv@cache@@dvipdfmxver=\z@
\bxpv@fail
{#2, because the\MessageBreak
version of dvipdfmx in use is unknown
\MessageBreak (v.#1 or later is required)}%
- \else\ifnum\bxpv@cache@@dvipdfmxver<#1
+ \else
\bxpv@fail
{#2, because the\MessageBreak
version of dvipdfmx in use (v.\bxpv@cache@@dvipdfmxver) is too old
\MessageBreak (v.#1 or later is required)}%
- \else
- \PackageInfo\bxpv@pkgname
- {dvipdfmx version is \bxpv@cache@@dvipdfmxver\@gobble}%
- \bxpv@oktrue
\fi\fi
}
@@ -950,10 +1062,6 @@
\let\bxpv@rf@line\relax % line content
\let\bxpv@rf@cont\relax % continue to read?
-%% \ifbxpv@read@file@ok
-% Whether or not the last \bxpv@read@file succeeded.
-\newboolean{bxpv@read@file@ok}
-
%% \bxpv@read@file{<file-name>}{<line-parser-code>}
% Reads from a text file. The line parser takes as #1 the
% content of each line.
diff --git a/macros/latex/contrib/catppuccinpalette/README.md b/macros/latex/contrib/catppuccinpalette/README.md
index 105e5497a4..4efad071ce 100644
--- a/macros/latex/contrib/catppuccinpalette/README.md
+++ b/macros/latex/contrib/catppuccinpalette/README.md
@@ -1,28 +1,75 @@
-# Readme for the package catppuccinPalette
+<h3 align="center">
+ <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/logos/exports/1544x1544_circle.png" width="100" alt="Logo"/><br/>
+ <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
+ Catppuccin for <a href="https://www.latex-project.org/">LaTeX</a>
+ <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
+</h3>
-Author: Lukas Heindl (`oss.heindl+latex@protonmail.com`).
+<p align="center">
+ <a href="https://github.com/catppuccin/latex/stargazers"><img src="https://img.shields.io/github/stars/catppuccin/latex?colorA=363a4f&colorB=b7bdf8&style=for-the-badge"></a>
+ <a href="https://github.com/catppuccin/latex/issues"><img src="https://img.shields.io/github/issues/catppuccin/latex?colorA=363a4f&colorB=f5a97f&style=for-the-badge"></a>
+ <a href="https://github.com/catppuccin/latex/contributors"><img src="https://img.shields.io/github/contributors/catppuccin/latex?colorA=363a4f&colorB=a6da95&style=for-the-badge"></a>
+</p>
-CTAN page: [catppuccinPalette](https://ctan.org/pkg/catppuccinpalette)
+<p align="center">
+ <img src="assets/preview.webp"/>
+</p>
-## License
-The LaTeX package `catppuccinPalette` is distributed under the LPPL 1.3 license.
+## Previews
-## Description
+<details>
+<summary>🌻 Latte</summary>
+<img src="assets/latte.webp"/>
+</details>
+<details>
+<summary>🪴 Frappé</summary>
+<img src="assets/frappe.webp"/>
+</details>
+<details>
+<summary>🌺 Macchiato</summary>
+<img src="assets/macchiato.webp"/>
+</details>
+<details>
+<summary>🌿 Mocha</summary>
+<img src="assets/mocha.webp"/>
+</details>
-The LaTeX package `catppuccinPalette` provides new colors for xcolor.
+## Usage
-## Installation
+### Importing the theme file
+1. The [catppuccinPalette](https://www.ctan.org/pkg/catppuccinpalette) package is present on CTAN, but probably not included in your TeX Live installation. Follow the steps below to install it manually:
+ - Shortcut: If you set up your local `texmf` you should be able to simply install by executing `make install` (this installs the package locally for the current user)
+ - If you don't like installing the package locally for the current user you might also execue `l3build unpack` and move the generated `.sty` file `build/unpacked/catppuccinpalette.sty` to the root directory of your project.
+ - If you don't have `l3build` available, you can also download the `catppuccinpalette.sty` file from the [latest GitHub release](https://github.com/catppuccin/latex/releases/latest) and move the file to your project root.
+2. Import the package by adding `\usepackage[FLAVOR]{catppuccinpalette}`, replacing `FLAVOR` with the flavor of your choice. i.e. `\usepackage[macchiato]{catppuccinpalette}`. Valid options are: mocha (default), latte, frappe, and macchiato.
+ - If you want the package not only to add color definitions, you can also pass `textcolor=true` and/or `pagecolor=true` to the `catppuccinpalette` package.
+ - Also note that in the pdf containing the documentation, the available options are described in more detail and also the defined colors are listed and shown.
-For a manual installation:
+### Color Naming Conventions
-* put the files `catppuccinpalette.ins` and `catppuccinpalette.dtx` in the same directory;
-* run `latex catppuccinpalette.ins` in that directory.
+All [Catppuccin palette colors](https://github.com/catppuccin/catppuccin#-palette), across all flavors, follow the same naming convention. This theme set prefixes all Catppuccin colors with `Ctp`, i.e. `CtpPeach`, or `CtpBlue`.
-The file `catppuccinpalette.sty` will be generated.
-The file `catppuccinpalette.sty` is the only file necessary to use the latex package `catppuccinPalette`.
-You have to put it in the same directory as your document or (best) in a `texmf` tree.
+### Examples
-Simplified version:
+Please refer to the [examples](https://github.com/catppuccin/latex/tree/main/examples) for full demonstrations, with LaTeX sources and their outputs, on theme usage and code highlighting.
+
+## 💝 Thanks to
+
+- [Lukas](https://github.com/atticus-sullivan)
+- [Brandon](https://github.com/walshyb)
+
+&nbsp;
+
+<p align="center">
+ <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" />
+</p>
+
+<p align="center">
+ Copyright &copy; 2021-present <a href="https://github.com/catppuccin" target="_blank">Catppuccin Org</a>
+</p>
+
+<p align="center">
+ <a href="https://github.com/catppuccin/catppuccin/blob/main/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a>
+</p>
-* run `l3build unpack` to generate the `.sty` in `build/unpacked/`
diff --git a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx
index f74df5dd95..16d8a60e47 100644
--- a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx
+++ b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx
@@ -1,21 +1,26 @@
% \iffalse meta-comment
%
-% Copyright (C) 2024 by Lukas Heindl <oss.heindl+latex@protonmail.com>
-% ---------------------------------------------------------------------------
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainer of this work is Lukas Heindl.
-%
-% This work consists of the files catppuccinpalette.dtx and catppuccinpalette.ins
-% and the derived filebase catppuccinpalette.sty.
+% MIT License
+%
+% Copyright (c) 2024 Catppuccin
+%
+% 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.
%
% \fi
%
@@ -26,7 +31,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{catppuccinpalette}
%<*package>
- [2024/05/22 v1.0.2 catppuccin xcolor palette]
+ [2024/08/13 v1.1.0 catppuccin xcolor palette]
%</package>
%
%<*driver>
@@ -69,13 +74,15 @@
% \changes{v1.0.0}{2024/02/27}{First full release}
% \changes{v1.0.1}{2024/05/19}{Make fit for CTAN}
% \changes{v1.0.2}{2024/05/19}{Fix colors in documentation}
+% \changes{v1.1.0}{2024/08/13}{Move to / Merge with official catppuccin. Thereby deprecate colors with |Cat| prefix. Subject to removal in the future}
%
% \DoNotIndex{\newcommand,\newenvironment,\color,\colorlet,\def,\fi,\RequirePackage,\ProvidesPackage,\ProcessPgfOptions,\preparecolorset,\pgfkeys,\pagecolor,\newif,\NeedsTeXFormat}
%
+% \providecommand*\pkg{\textsf}
% \providecommand*{\url}{\texttt}
% \GetFileInfo{catppuccinpalette.dtx}
% \title{The \textsf{catppuccinPalette} package}
-% \author{Lukas Heindl \\ \url{oss.heindl+latex@protonmail.com} \\ \url{https://github.com/atticus-sullivan/catpuccinPalette}}
+% \author{Lukas Heindl \\ \url{oss.heindl+latex@protonmail.com} \\ \url{https://github.com/catppuccin/latex}}
% \date{\fileversion~from \filedate}
%
% \maketitle
@@ -95,14 +102,14 @@
%
% Load via |\usepackage{catppuccinpalette}|
%
-% Just use the new colors (prefixed with \verb|Cat<Style>|) like normal xcolors.
+% Just use the new colors (prefixed with \verb|Ctp<Style>|) like normal xcolors.
% In addition to the usual colors of the palette, this package defines some
% colors according to the
% style guide\footnote{\url{https://github.com/catppuccin/catppuccin/blob/main/docs/style-guide.md}}
% for ease of use.
%
% This package also allows you to set a specific style which sets the shortened
-% color names (prefixed only with \verb|Cat|) to the selected style (allows for
+% color names (prefixed only with \verb|Ctp|) to the selected style (allows for
% easy switching style) via the package option \verb|style|.
%
% This package loads xcolor (without options) so if you want to set some xcolor
@@ -113,16 +120,21 @@
% \emph{Option} & \emph{Description}
% \\\toprule
% \verb|style| &
-% set the style used by the shortened prefix (\verb|Cat|). Possible values:
+% set the style used by the shortened prefix (\verb|Ctp|). Possible values:
% \verb|Latte| (default+initial), \verb|latte|, \verb|Frappe|, \verb|frappe|,
-% \verb|Mocha|, \verb|mocha|
+% \verb|Mocha|, \verb|mocha|, \verb|Macchiato|, \verb|macchiato|
+% \\
+% &
+% As a shortcut, you can also just use e.\,g.\,
+% |\usepackage[latte]{catppuccinPalette}| as a shorthand for
+% |\usepackage[style=latte]{catppuccinPalette}|
% \\
% \verb|textcolor| &
-% set the default textcolor of the document to \verb|CatText|. Possible values:
+% set the default textcolor of the document to \verb|CtpText|. Possible values:
% \verb|false| (default+initial), \verb|true|
% \\
% \verb|pagecolor| &
-% set the pagecolor of the document to \verb|CatBackground|. Possible values:
+% set the pagecolor of the document to \verb|CtpBackground|. Possible values:
% \verb|false| (default+initial), \verb|true|
% \\\midrule
% \verb|styleAll| &
@@ -130,50 +142,64 @@
% \\\bottomrule
% \end{tabularx}
%
+% \subsubsection{Change settings mid-document}
+% \DescribeMacro{\CtpReinit} |\CtpReinit[opts]|
+%
+% This command allows to reinitialize this package. All previous configuration
+% options will be kept. In particular this allows to change the active
+% style/flavor mid-document. Note that if you decided this package should
+% change the background color when loading the package and only do
+% |\CptReinit[style=<another style>]|, then the background color will also be
+% adjusted on reinitialization.
+%
+% The command processes the same options like the ones you can pass when
+% loading the package (see documentation above).
+%
% \subsection{Colors}
+% \textbf{Note:} The colors with the prefix |Cat| are deprecated and will be removed in a future version!
% \newcommand{\showCol}[1]{\raisebox{0.5ex}{\fcolorbox{black}{#1}{\hspace{1em}}} #1}
% \foreach \Style in {Latte,Frappe,Macchiato,Mocha}{
% \subsubsection{Style \texttt{\Style}}
% \begin{multicols}{2}
-% \showCol{Cat\Style Blue}\par
-% \showCol{Cat\Style Rosewater}\par
-% \showCol{Cat\Style Flamingo}\par
-% \showCol{Cat\Style Pink}\par
-% \showCol{Cat\Style Mauve}\par
-% \showCol{Cat\Style Red}\par
-% \showCol{Cat\Style Maroon}\par
-% \showCol{Cat\Style Peach}\par
-% \showCol{Cat\Style Yellow}\par
-% \showCol{Cat\Style Green}\par
-% \showCol{Cat\Style Teal}\par
-% \showCol{Cat\Style Sky}\par
-% \showCol{Cat\Style Sapphire}\par
-% \showCol{Cat\Style Blue}\par
-% \showCol{Cat\Style Lavender}\par
-% \showCol{Cat\Style Text}\par
-% \showCol{Cat\Style Subtext1}\par
-% \showCol{Cat\Style Subtext0}\par
-% \showCol{Cat\Style Overlay2}\par
-% \showCol{Cat\Style Overlay1}\par
-% \showCol{Cat\Style Overlay0}\par
-% \showCol{Cat\Style Surface2}\par
-% \showCol{Cat\Style Surface1}\par
-% \showCol{Cat\Style Surface0}\par
-% \showCol{Cat\Style Base}\par
-% \showCol{Cat\Style Mantle}\par
-% \showCol{Cat\Style Crust}\par
+% \showCol{Ctp\Style Blue}\par
+% \showCol{Ctp\Style Rosewater}\par
+% \showCol{Ctp\Style Flamingo}\par
+% \showCol{Ctp\Style Pink}\par
+% \showCol{Ctp\Style Mauve}\par
+% \showCol{Ctp\Style Red}\par
+% \showCol{Ctp\Style Maroon}\par
+% \showCol{Ctp\Style Peach}\par
+% \showCol{Ctp\Style Yellow}\par
+% \showCol{Ctp\Style Green}\par
+% \showCol{Ctp\Style Teal}\par
+% \showCol{Ctp\Style Sky}\par
+% \showCol{Ctp\Style Sapphire}\par
+% \showCol{Ctp\Style Blue}\par
+% \showCol{Ctp\Style Lavender}\par
+% \showCol{Ctp\Style Text}\par
+% \showCol{Ctp\Style Subtext1}\par
+% \showCol{Ctp\Style Subtext0}\par
+% \showCol{Ctp\Style Overlay2}\par
+% \showCol{Ctp\Style Overlay1}\par
+% \showCol{Ctp\Style Overlay0}\par
+% \showCol{Ctp\Style Surface2}\par
+% \showCol{Ctp\Style Surface1}\par
+% \showCol{Ctp\Style Surface0}\par
+% \showCol{Ctp\Style Base}\par
+% \showCol{Ctp\Style Mantle}\par
+% \showCol{Ctp\Style Crust}\par
% \end{multicols}
%
% Some basic colors according to the style guide:
%
% \begin{multicols}{2}
-% \showCol{Cat\Style Background}\par
-% \showCol{Cat\Style Link}\par
+% \showCol{Ctp\Style Background}\par
+% \showCol{Ctp\Style Link}\par
% \phantom{}\par
% \columnbreak
-% \showCol{Cat\Style Success}\par
-% \showCol{Cat\Style Warning}\par
-% \showCol{Cat\Style Error}\par
+% \showCol{Ctp\Style Success}\par
+% \showCol{Ctp\Style Warning}\par
+% \showCol{Ctp\Style Error}\par
% \end{multicols}
%
% }
@@ -201,16 +227,24 @@
% \end{macrocode}
% Define the package option keys
% \begin{macrocode}
+ Latte/.style={style=Latte},
+ latte/.style={style=Latte},
+ Frappe/.style={style=Frappe},
+ frappe/.style={style=Frappe},
+ Macchiato/.style={style=Macchiato},
+ macchiato/.style={style=Macchiato},
+ Mocha/.style={style=Mocha},
+ mocha/.style={style=Mocha},
style/.is choice,
style/.value required,
style/Latte/.code = {\def\catppuccinpalette@style{Latte}},
- style/latte/.forward to = /catppuccinPalette/style/Latte,
+ style/latte/.style = {style=Latte},
style/Frappe/.code = {\def\catppuccinpalette@style{Frappe}},
- style/frappe/.forward to = /catppuccinPalette/style/frappe,
+ style/frappe/.style = {style=Frappe},
style/Macchiato/.code = {\def\catppuccinpalette@style{Macchiato}},
- style/macchiato/.forward to = /catppuccinPalette/style/Macchiato,
+ style/macchiato/.style = {style=Macchiato},
style/Mocha/.code = {\def\catppuccinpalette@style{Mocha}},
- style/mocha/.forward to = /catppuccinPalette/style/Mocha,
+ style/mocha/.style = {style=Mocha},
textcolor/.is if = catppuccinpalette@textcolor,
textcolor/.default = true,
pagecolor/.is if = catppuccinpalette@pagecolor,
@@ -223,7 +257,7 @@
pagecolor = false,
style = Latte,
}
-\ProcessPgfOptions*
+\ProcessPgfOptions{catppuccinPalette}
% \end{macrocode}
% Define the \emph{Latte} colorset
% \begin{macrocode}
@@ -255,14 +289,48 @@
Mantle,230,233,239/E6E9EF;%
Crust,220,224,232/DCE0E8%
}
-% \end{macrocode}
-% Define colors according to the catppuccin style guide
-% \begin{macrocode}
\colorlet{CatLatteBackground}{CatLatteBase}
\colorlet{CatLatteLink}{CatLatteBlue}
\colorlet{CatLatteSuccess}{CatLatteGreen}
\colorlet{CatLatteWarning}{CatLatteYellow}
\colorlet{CatLatteError}{CatLatteRed}
+
+\preparecolorset{RGB/HTML}{CtpLatte}{}{%
+ Rosewater,220,138,120/DC8A78;%
+ Flamingo,221,120,120/DD7878;%
+ Pink,234,118,203/EA76CB;%
+ Mauve,136,57,239/8839EF;%
+ Red,210,15,57/D20F39;%
+ Maroon,230,69,83/E64553;%
+ Peach,254,100,11/FE640B;%
+ Yellow,223,142,29/DF8E1D;%
+ Green,64,160,43/40A02B;%
+ Teal,23,146,153/179299;%
+ Sky,4,165,229/04A5E5;%
+ Sapphire,32,159,181/209FB5;%
+ Blue,30,102,245/1E66F5;%
+ Lavender,114,135,253/7287FD;%
+ Text,76,79,105/4C4F69;%
+ Subtext1,92,95,119/5C5F77;%
+ Subtext0,108,111,133/6C6F85;%
+ Overlay2,124,127,147/7C7F93;%
+ Overlay1,140,143,161/8C8FA1;%
+ Overlay0,156,160,176/9CA0B0;%
+ Surface2,172,176,190/ACB0BE;%
+ Surface1,188,192,204/BCC0CC;%
+ Surface0,204,208,218/CCD0DA;%
+ Base,239,241,245/EFF1F5;%
+ Mantle,230,233,239/E6E9EF;%
+ Crust,220,224,232/DCE0E8%
+}
+% \end{macrocode}
+% Define colors according to the catppuccin style guide
+% \begin{macrocode}
+\colorlet{CtpLatteBackground}{CtpLatteBase}
+\colorlet{CtpLatteLink}{CtpLatteBlue}
+\colorlet{CtpLatteSuccess}{CtpLatteGreen}
+\colorlet{CtpLatteWarning}{CtpLatteYellow}
+\colorlet{CtpLatteError}{CtpLatteRed}
% \end{macrocode}
% Define the styles \emph{Frappe}, \emph{Macchiato} and \emph{Mocha} accordingly
% \begin{macrocode}
@@ -299,6 +367,41 @@
\colorlet{CatFrappeSuccess}{CatFrappeGreen}
\colorlet{CatFrappeWarning}{CatFrappeYellow}
\colorlet{CatFrappeError}{CatFrappeRed}
+
+\preparecolorset{RGB/HTML}{CtpFrappe}{}{%
+ Rosewater,242,213,207/F2D5CF;%
+ Flamingo,238,190,190/EEBEBE;%
+ Pink,244,184,228/F4B8E4;%
+ Mauve,202,158,230/CA9EE6;%
+ Red,231,130,132/E78284;%
+ Maroon,234,153,156/EA999C;%
+ Peach,239,159,118/EF9F76;%
+ Yellow,229,200,144/E5C890;%
+ Green,166,209,137/A6D189;%
+ Teal,129,200,190/81C8BE;%
+ Sky,153,209,219/99D1DB;%
+ Sapphire,133,193,220/85C1DC;%
+ Blue,140,170,238/8CAAEE;%
+ Lavender,186,187,241/BABBF1;%
+ Text,198,208,245/C6D0F5;%
+ Subtext1,181,191,226/B5BFE2;%
+ Subtext0,165,173,206/A5ADCE;%
+ Overlay2,148,156,187/949CBB;%
+ Overlay1,131,139,167/838BA7;%
+ Overlay0,115,121,148/737994;%
+ Surface2,98,104,128/626880;%
+ Surface1,81,87,109/51576D;%
+ Surface0,65,69,89/414559;%
+ Base,48,52,70/303446;%
+ Mantle,41,44,60/292C3C;%
+ Crust,35,38,52/232634%
+}
+\colorlet{CtpFrappeBackground}{CtpFrappeBase}
+\colorlet{CtpFrappeLink}{CtpFrappeBlue}
+\colorlet{CtpFrappeSuccess}{CtpFrappeGreen}
+\colorlet{CtpFrappeWarning}{CtpFrappeYellow}
+\colorlet{CtpFrappeError}{CtpFrappeRed}
+
\preparecolorset{RGB/HTML}{CatMacchiato}{}{%
Rosewater,244,219,214/F4DBD6;%
Flamingo,240,198,198/F0C6C6;%
@@ -332,6 +435,41 @@
\colorlet{CatMacchiatoSuccess}{CatMacchiatoGreen}
\colorlet{CatMacchiatoWarning}{CatMacchiatoYellow}
\colorlet{CatMacchiatoError}{CatMacchiatoRed}
+
+\preparecolorset{RGB/HTML}{CtpMacchiato}{}{%
+ Rosewater,244,219,214/F4DBD6;%
+ Flamingo,240,198,198/F0C6C6;%
+ Pink,245,189,230/F5BDE6;%
+ Mauve,198,160,246/C6A0F6;%
+ Red,237,135,150/ED8796;%
+ Maroon,238,153,160/EE99A0;%
+ Peach,245,169,127/F5A97F;%
+ Yellow,238,212,159/EED49F;%
+ Green,166,218,149/A6DA95;%
+ Teal,139,213,202/8BD5CA;%
+ Sky,145,215,227/91D7E3;%
+ Sapphire,125,196,228/7DC4E4;%
+ Blue,138,173,244/8AADF4;%
+ Lavender,183,189,248/B7BDF8;%
+ Text,202,211,245/CAD3F5;%
+ Subtext1,184,192,224/B8C0E0;%
+ Subtext0,165,173,203/A5ADCB;%
+ Overlay2,147,154,183/939AB7;%
+ Overlay1,128,135,162/8087A2;%
+ Overlay0,110,115,141/6E738D;%
+ Surface2,91,96,120/5B6078;%
+ Surface1,73,77,100/494D64;%
+ Surface0,54,58,79/363A4F;%
+ Base,36,39,58/24273A;%
+ Mantle,30,32,48/1E2030;%
+ Crust,24,25,38/181926%
+}
+\colorlet{CtpMacchiatoBackground}{CtpMacchiatoBase}
+\colorlet{CtpMacchiatoLink}{CtpMacchiatoBlue}
+\colorlet{CtpMacchiatoSuccess}{CtpMacchiatoGreen}
+\colorlet{CtpMacchiatoWarning}{CtpMacchiatoYellow}
+\colorlet{CtpMacchiatoError}{CtpMacchiatoRed}
+
\preparecolorset{RGB/HTML}{CatMocha}{}{%
Rosewater,245,224,220/F5E0DC;%
Flamingo,242,205,205/F2CDCD;%
@@ -360,57 +498,139 @@
Mantle,24,24,37/181825;%
Crust,17,17,27/11111B%
}
-% \end{macrocode}
-% Define shortcuts for active style
-% \begin{macrocode}
\colorlet{CatMochaBackground}{CatMochaBase}
\colorlet{CatMochaLink}{CatMochaBlue}
\colorlet{CatMochaSuccess}{CatMochaGreen}
\colorlet{CatMochaWarning}{CatMochaYellow}
\colorlet{CatMochaError}{CatMochaRed}
-\colorlet{CatRosewater}{Cat\catppuccinpalette@style Rosewater}
-\colorlet{CatFlamingo}{Cat\catppuccinpalette@style Flamingo}
-\colorlet{CatPink}{Cat\catppuccinpalette@style Pink}
-\colorlet{CatMauve}{Cat\catppuccinpalette@style Mauve}
-\colorlet{CatRed}{Cat\catppuccinpalette@style Red}
-\colorlet{CatMaroon}{Cat\catppuccinpalette@style Maroon}
-\colorlet{CatPeach}{Cat\catppuccinpalette@style Peach}
-\colorlet{CatYellow}{Cat\catppuccinpalette@style Yellow}
-\colorlet{CatGreen}{Cat\catppuccinpalette@style Green}
-\colorlet{CatTeal}{Cat\catppuccinpalette@style Teal}
-\colorlet{CatSky}{Cat\catppuccinpalette@style Sky}
-\colorlet{CatSapphire}{Cat\catppuccinpalette@style Sapphire}
-\colorlet{CatBlue}{Cat\catppuccinpalette@style Blue}
-\colorlet{CatLavender}{Cat\catppuccinpalette@style Lavender}
-\colorlet{CatText}{Cat\catppuccinpalette@style Text}
-\colorlet{CatSubtext1}{Cat\catppuccinpalette@style Subtext1}
-\colorlet{CatSubtext0}{Cat\catppuccinpalette@style Subtext0}
-\colorlet{CatOverlay2}{Cat\catppuccinpalette@style Overlay2}
-\colorlet{CatOverlay1}{Cat\catppuccinpalette@style Overlay1}
-\colorlet{CatOverlay0}{Cat\catppuccinpalette@style Overlay0}
-\colorlet{CatSurface2}{Cat\catppuccinpalette@style Surface2}
-\colorlet{CatSurface1}{Cat\catppuccinpalette@style Surface1}
-\colorlet{CatSurface0}{Cat\catppuccinpalette@style Surface0}
-\colorlet{CatBase}{Cat\catppuccinpalette@style Base}
-\colorlet{CatMantle}{Cat\catppuccinpalette@style Mantle}
-\colorlet{CatCrust}{Cat\catppuccinpalette@style Crust}
-\colorlet{CatBackground}{Cat\catppuccinpalette@style Base}
-\colorlet{CatLink}{Cat\catppuccinpalette@style Blue}
-\colorlet{CatSuccess}{Cat\catppuccinpalette@style Green}
-\colorlet{CatWarning}{Cat\catppuccinpalette@style Yellow}
-\colorlet{CatError}{Cat\catppuccinpalette@style Red}
+
+\preparecolorset{RGB/HTML}{CtpMocha}{}{%
+ Rosewater,245,224,220/F5E0DC;%
+ Flamingo,242,205,205/F2CDCD;%
+ Pink,245,194,231/F5C2E7;%
+ Mauve,203,166,247/CBA6F7;%
+ Red,243,139,168/F38BA8;%
+ Maroon,235,160,172/EBA0AC;%
+ Peach,250,179,135/FAB387;%
+ Yellow,249,226,175/F9E2AF;%
+ Green,166,227,161/A6E3A1;%
+ Teal,148,226,213/94E2D5;%
+ Sky,137,220,235/89DCEB;%
+ Sapphire,116,199,236/74C7EC;%
+ Blue,137,180,250/89B4FA;%
+ Lavender,180,190,254/B4BEFE;%
+ Text,205,214,244/CDD6F4;%
+ Subtext1,186,194,222/BAC2DE;%
+ Subtext0,166,173,200/A6ADC8;%
+ Overlay2,147,153,178/9399B2;%
+ Overlay1,127,132,156/7F849C;%
+ Overlay0,108,112,134/6C7086;%
+ Surface2,88,91,112/585B70;%
+ Surface1,69,71,90/45475A;%
+ Surface0,49,50,68/313244;%
+ Base,30,30,46/1E1E2E;%
+ Mantle,24,24,37/181825;%
+ Crust,17,17,27/11111B%
+}
+\colorlet{CtpMochaBackground}{CtpMochaBase}
+\colorlet{CtpMochaLink}{CtpMochaBlue}
+\colorlet{CtpMochaSuccess}{CtpMochaGreen}
+\colorlet{CtpMochaWarning}{CtpMochaYellow}
+\colorlet{CtpMochaError}{CtpMochaRed}
+
+% \end{macrocode}
+% Define shortcuts for active style (legacy part)
+% \begin{macrocode}
+\colorlet{CatRosewater}{Ctp\catppuccinpalette@style Rosewater}
+\colorlet{CatFlamingo}{Ctp\catppuccinpalette@style Flamingo}
+\colorlet{CatPink}{Ctp\catppuccinpalette@style Pink}
+\colorlet{CatMauve}{Ctp\catppuccinpalette@style Mauve}
+\colorlet{CatRed}{Ctp\catppuccinpalette@style Red}
+\colorlet{CatMaroon}{Ctp\catppuccinpalette@style Maroon}
+\colorlet{CatPeach}{Ctp\catppuccinpalette@style Peach}
+\colorlet{CatYellow}{Ctp\catppuccinpalette@style Yellow}
+\colorlet{CatGreen}{Ctp\catppuccinpalette@style Green}
+\colorlet{CatTeal}{Ctp\catppuccinpalette@style Teal}
+\colorlet{CatSky}{Ctp\catppuccinpalette@style Sky}
+\colorlet{CatSapphire}{Ctp\catppuccinpalette@style Sapphire}
+\colorlet{CatBlue}{Ctp\catppuccinpalette@style Blue}
+\colorlet{CatLavender}{Ctp\catppuccinpalette@style Lavender}
+\colorlet{CatText}{Ctp\catppuccinpalette@style Text}
+\colorlet{CatSubtext1}{Ctp\catppuccinpalette@style Subtext1}
+\colorlet{CatSubtext0}{Ctp\catppuccinpalette@style Subtext0}
+\colorlet{CatOverlay2}{Ctp\catppuccinpalette@style Overlay2}
+\colorlet{CatOverlay1}{Ctp\catppuccinpalette@style Overlay1}
+\colorlet{CatOverlay0}{Ctp\catppuccinpalette@style Overlay0}
+\colorlet{CatSurface2}{Ctp\catppuccinpalette@style Surface2}
+\colorlet{CatSurface1}{Ctp\catppuccinpalette@style Surface1}
+\colorlet{CatSurface0}{Ctp\catppuccinpalette@style Surface0}
+\colorlet{CatBase}{Ctp\catppuccinpalette@style Base}
+\colorlet{CatMantle}{Ctp\catppuccinpalette@style Mantle}
+\colorlet{CatCrust}{Ctp\catppuccinpalette@style Crust}
+\colorlet{CatBackground}{Ctp\catppuccinpalette@style Base}
+\colorlet{CatLink}{Ctp\catppuccinpalette@style Blue}
+\colorlet{CatSuccess}{Ctp\catppuccinpalette@style Green}
+\colorlet{CatWarning}{Ctp\catppuccinpalette@style Yellow}
+\colorlet{CatError}{Ctp\catppuccinpalette@style Red}
+
% \end{macrocode}
-% Set (only initial) pagecolor according to the style guide if the user wants this
+% New command which parses the same options like the package. Can be used to e.\,g.\, reset/reinit the selected style.
% \begin{macrocode}
-\ifcatppuccinpalette@pagecolor
- \pagecolor{CatBackground}
-\fi
+\NewDocumentCommand\CtpReinit{O{}}{%
+ \pgfkeys{%
+ /catppuccinPalette/.cd,%
+ #1%
+ }%
+% \end{macrocode}
+% Define shortcuts for active style
+% \begin{macrocode}
+ \colorlet{CtpRosewater}{Ctp\catppuccinpalette@style Rosewater}%
+ \colorlet{CtpFlamingo}{Ctp\catppuccinpalette@style Flamingo}%
+ \colorlet{CtpPink}{Ctp\catppuccinpalette@style Pink}%
+ \colorlet{CtpMauve}{Ctp\catppuccinpalette@style Mauve}%
+ \colorlet{CtpRed}{Ctp\catppuccinpalette@style Red}%
+ \colorlet{CtpMaroon}{Ctp\catppuccinpalette@style Maroon}%
+ \colorlet{CtpPeach}{Ctp\catppuccinpalette@style Peach}%
+ \colorlet{CtpYellow}{Ctp\catppuccinpalette@style Yellow}%
+ \colorlet{CtpGreen}{Ctp\catppuccinpalette@style Green}%
+ \colorlet{CtpTeal}{Ctp\catppuccinpalette@style Teal}%
+ \colorlet{CtpSky}{Ctp\catppuccinpalette@style Sky}%
+ \colorlet{CtpSapphire}{Ctp\catppuccinpalette@style Sapphire}%
+ \colorlet{CtpBlue}{Ctp\catppuccinpalette@style Blue}%
+ \colorlet{CtpLavender}{Ctp\catppuccinpalette@style Lavender}%
+ \colorlet{CtpText}{Ctp\catppuccinpalette@style Text}%
+ \colorlet{CtpSubtext1}{Ctp\catppuccinpalette@style Subtext1}%
+ \colorlet{CtpSubtext0}{Ctp\catppuccinpalette@style Subtext0}%
+ \colorlet{CtpOverlay2}{Ctp\catppuccinpalette@style Overlay2}%
+ \colorlet{CtpOverlay1}{Ctp\catppuccinpalette@style Overlay1}%
+ \colorlet{CtpOverlay0}{Ctp\catppuccinpalette@style Overlay0}%
+ \colorlet{CtpSurface2}{Ctp\catppuccinpalette@style Surface2}%
+ \colorlet{CtpSurface1}{Ctp\catppuccinpalette@style Surface1}%
+ \colorlet{CtpSurface0}{Ctp\catppuccinpalette@style Surface0}%
+ \colorlet{CtpBase}{Ctp\catppuccinpalette@style Base}%
+ \colorlet{CtpMantle}{Ctp\catppuccinpalette@style Mantle}%
+ \colorlet{CtpCrust}{Ctp\catppuccinpalette@style Crust}%
+ \colorlet{CtpBackground}{Ctp\catppuccinpalette@style Base}%
+ \colorlet{CtpLink}{Ctp\catppuccinpalette@style Blue}%
+ \colorlet{CtpSuccess}{Ctp\catppuccinpalette@style Green}%
+ \colorlet{CtpWarning}{Ctp\catppuccinpalette@style Yellow}%
+ \colorlet{CtpError}{Ctp\catppuccinpalette@style Red}%
+% \end{macrocode}
+% Set pagecolor according to the style guide if the user wants this
+% \begin{macrocode}
+\ifcatppuccinpalette@pagecolor%
+ \pagecolor{CtpBackground}%
+\fi%
% \end{macrocode}
% Set textcolor according to the style guide if the user wants this
% \begin{macrocode}
-\ifcatppuccinpalette@textcolor
- \color{CatText}
-\fi
+\ifcatppuccinpalette@textcolor%
+ \color{CtpText}%
+\fi%
+% \end{macrocode}
+% \begin{macrocode}
+}
+\CtpReinit[]
% \end{macrocode}
\endinput
%
diff --git a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins
index c93b929dcd..2e44fa2b5f 100644
--- a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins
+++ b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins
@@ -1,20 +1,24 @@
-%% Copyright (C) 2024 by Lukas Heindl <oss.heindl+latex@protonmail.com>
-%% --------------------------------------------------------------------------
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Lukas Heindl.
-%%
-%% This work consists of the files catppuccinpalette.dtx and catppuccinpalette.ins
-%% and the derived filebase catppuccinpalette.sty.
-%%
+%% MIT License
+%%
+%% Copyright (c) 2021 Catppuccin
+%%
+%% 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.
\input docstrip.tex
\keepsilent
@@ -25,15 +29,25 @@
This is a generated file.
-Copyright (C) 2024 by Lukas Heindl <oss.heindl+latex@protonmail.com>
---------------------------------------------------------------------------
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
-of this license or (at your option) any later version.
-The latest version of this license is in
- http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+Copyright (c) 2021 Catppuccin
+
+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.
\endpreamble
diff --git a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdf b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdf
index 8a5e2d9c89..b66eca9b01 100644
--- a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdf
+++ b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdf
Binary files differ
diff --git a/macros/latex/contrib/changebar/CATALOG b/macros/latex/contrib/changebar/CATALOG
index 50cd35da78..5483fa9c13 100644
--- a/macros/latex/contrib/changebar/CATALOG
+++ b/macros/latex/contrib/changebar/CATALOG
@@ -1,7 +1,7 @@
Name: ChangeBar
Problems-To: johannes.braams(at)texniek.nl
Author: J.L. Braams
-Version: 3.7d
+Version: 3.7e
Description:
diff --git a/macros/latex/contrib/changebar/README b/macros/latex/contrib/changebar/README
index 2a9c69bad7..bcd9ab0bbb 100644
--- a/macros/latex/contrib/changebar/README
+++ b/macros/latex/contrib/changebar/README
@@ -1,6 +1,6 @@
changebar bundle
- January 9, 2024
+ July 19, 2024
This bundle contains a package that I maintain to add changebars to a
LaTeX document.
diff --git a/macros/latex/contrib/changebar/changebar.bug b/macros/latex/contrib/changebar/changebar.bug
index d661332150..aa476a2224 100644
--- a/macros/latex/contrib/changebar/changebar.bug
+++ b/macros/latex/contrib/changebar/changebar.bug
@@ -219,6 +219,10 @@
% v3.7d JLB: Arash Esbati reported a simlar phenomenon when \nochangebars
% is used. Similar solution was needed.
%
+% v3.7e JLB: Daniel Flipo and Bruno Winckler reported that changebar no longer
+% works when \usepackage[french]{babel} is used. This was caused by the
+% solution implemented in v3.7b. This time use "/" is chosen as separator.
+%
% Known problems
% - changebars for marginal paragraphs collide with changebars
% for the main body of text
diff --git a/macros/latex/contrib/changebar/changebar.dtx b/macros/latex/contrib/changebar/changebar.dtx
index 406ccf5290..58df74102c 100644
--- a/macros/latex/contrib/changebar/changebar.dtx
+++ b/macros/latex/contrib/changebar/changebar.dtx
@@ -24,7 +24,7 @@
% and covered by LPPL is defined by the unpacking scripts (with
% extension .ins) which are part of the distribution.
% \fi
-% \CheckSum{2954}
+% \CheckSum{2948}
%
%\iffalse
% This file is built for \LaTeXe, so we make sure an error is
@@ -39,7 +39,7 @@
\ProvidesFile{changebar.dtx}
%</dtx>
%<+package>\ProvidesPackage{changebar}
- [2024/01/09 v3.7d Indicate changes with marginal bars]
+ [2024/07/17 v3.7e Indicate changes with marginal bars]
% \end{macrocode}
%
% \section{A driver for this document}
@@ -137,7 +137,10 @@
% \changes{v3.6e}{2023/08/13}{Added supprt for luaTeX}
% \changes{v3.7b}{2023/12/28}{Added a few lines that were inadvertantly removed}
% \changes{v3.7b}{2023/12/30}{the cb2-file use delimiting chars may
-% change meaning when they end up in the wrong situation}
+% change meaning when they end up in the wrong situation}
+% \changes{v3.7e}{2024/07/17}{The us of the character `;´ as a string
+% separator clashes with it's active variant when babel/french has
+% been loaded}
%
% \title{The Changebar package
% \thanks{This file has version number \fileversion,
@@ -229,9 +232,7 @@
% \changes{v3.6a}{2011/04/30}{XeTeX added}
% \item Xe\TeX
% \changes{3.6e}{2023/08/13}{luaTeX added}
-% \begin{changebar}
% \item lua\TeX
-% \end{changebar}
% \end{itemize}
% The drivers are represented in the normal typewriter method of
% typing these names, or by the same entirely in lower case.
@@ -752,7 +753,7 @@
% \item V\TeX
% \item PDF\TeX
% \item Xe\TeX
-% \cbstart\item luaTeX\cbend
+% \item luaTeX
% \end{itemize}
%
% The intent is that the driver names should be case-insensitive,
@@ -799,10 +800,17 @@
% \end{macrocode}
% Redefine the |\cb@pdfxy| macro to write point coordinates to the
% \file{.cb2} file.
-% \changes{v3.7b}{2023/12/30}{use ¨;¨ instead of ¨,¨ as delimiter}
+% \changes{v3.7b}{2023/12/30}{use ";" instead of "," as delimiter}
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
% \begin{macrocode}
\gdef\cb@pdfxy##1##2##3##4##5{%
- \immediate\write\cb@writexy{##1.##2p##3;##4;##5}%
+% \end{macrocode}
+% \begin{changebar}
+% \begin{macrocode}
+ \immediate\write\cb@writexy{##1.##2p##3/##4/##5}%
+% \end{macrocode}
+% \end{changebar}
+% \begin{macrocode}
\expandafter\gdef\csname cb@##1.##2\endcsname{##3,##4,##5}}
\else\cb@pdftexerror\fi\fi\fi}
% \end{macrocode}
@@ -837,10 +845,17 @@
% \end{macrocode}
% Redefine the |\cb@pdfxy| macro to write point coordinates to the
% \file{.cb2} file.
-% \changes{v3.7b}{2023/12/30}{use ¨;¨ instead of ¨,¨ as delimiter}
+% \changes{v3.7b}{2023/12/30}{use ";" instead of "," as delimiter}
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
% \begin{macrocode}
\gdef\cb@pdfxy##1##2##3##4##5{%
- \immediate\write\cb@writexy{##1.##2p##3;##4;##5}%
+% \end{macrocode}
+% \begin{changebar}
+% \begin{macrocode}
+ \immediate\write\cb@writexy{##1.##2p##3/##4/##5}%
+% \end{macrocode}
+% \end{changebar}
+% \begin{macrocode}
\expandafter\gdef\csname cb@##1.##2\endcsname{##3,##4,##5}}
\gdef\sec@nd@ftw@##1 ##2{##2}
\fi}
@@ -854,7 +869,6 @@
{You are not using XeLaTeX}}
% \end{macrocode}
%
-% \begin{changebar}
% \begin{macrocode}
\DeclareOption{luaTeX}{\cb@luatexcheck}
\DeclareOption{luatex}{\cb@luatexcheck}
@@ -877,10 +891,17 @@
% \end{macrocode}
% Redefine the |\cb@pdfxy| macro to write point coordinates to the
% \file{.cb2} file.
-% \changes{v3.7b}{2023/12/30}{use ¨;¨ instead of ¨,¨ as delimiter}
+% \changes{v3.7b}{2023/12/30}{use ";" instead of ",¨ as delimiter}
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
% \begin{macrocode}
\gdef\cb@pdfxy##1##2##3##4##5{%
- \immediate\write\cb@writexy{##1.##2p##3;##4;##5}%
+% \end{macrocode}
+% \begin{changebar}
+% \begin{macrocode}
+ \immediate\write\cb@writexy{##1.##2p##3/##4/##5}%
+% \end{macrocode}
+% \end{changebar}
+% \begin{macrocode}
\expandafter\gdef\csname cb@##1.##2\endcsname{##3,##4,##5}}
\fi}
% \end{macrocode}
@@ -892,7 +913,6 @@
{luaTeX option cannot be used}%
{You are not using luaLaTeX}}
% \end{macrocode}
-% \end{changebar}
%
% The new features of \LaTeXe\ make it possible to implement the
% \Lopt{outerbars} option.
@@ -1120,6 +1140,8 @@
% compatibility mode}
% \changes{v3.3e}{1998/02/24}{Added \cs{Textures}}
% \changes{v3.5a}{2005/05/23}{Added 'PDFtex' option}
+% \changes{v3.6a}{2011/04/30}{Added 'XeTeX' option}
+% \changes{v3.6e}{2023/08/13}{Added 'luaTeX' option}
% \begin{macrocode}
\if@compatibility
\def\driver#1{%
@@ -1132,17 +1154,9 @@
\def\Textures{TEXTURES}%
\def\VTeX{VTEX}%
\def\pdfTeX{PDFTEX}%
-% \end{macrocode}
-% \changes{v3.6a}{2011/04/30}{Added 'XeTeX' option}
-% \begin{macrocode}
\def\xeTeX{XETEX}
-% \end{macrocode}
-% \changes{v3.6e}{2023/08/13}{Added 'luaTeX' option}
-% \begin{changebar}
-% \begin{macrocode}
\def\luaTeX{LUATEX}
% \end{macrocode}
-% \end{changebar}
%
% The choice has to be communicated to the macro
% \verb=\cb@setup@specials= that will be called from within
@@ -1150,6 +1164,7 @@
% \verb=\cb@driver@setup= is used. It receives a numeric value
% using \verb=\chardef=.
% \changes{v3.6a}{2011/04/30}{Added 'XeTeX' option}
+% \changes{v3.6e}{2023/08/13}{Added 'luaTeX' option}
% \begin{macrocode}
\global\chardef\cb@driver@setup=0\relax
\ifx\tempa\LN \global\chardef\cb@driver@setup=0\fi
@@ -1160,14 +1175,7 @@
\ifx\tempa\VTeX \global\chardef\cb@driver@setup=5\fi
\ifx\tempa\pdfTeX \cb@pdftexcheck\fi
\ifx\tempa\xeTeX \cb@xetexcheck\fi
-% \end{macrocode}
-% \changes{v3.6e}{2023/08/13}{Added 'luaTeX' option}
-% \begin{changebar}
-% \begin{macrocode}
\ifx\tempa\luaTeX \cb@luatexcheck\fi
-% \end{macrocode}
-% \end{changebar}
-% \begin{macrocode}
\egroup}
% \end{macrocode}
% We add \verb+\driver+ to \verb+\@preamblecmds+, which is a
@@ -1464,11 +1472,22 @@
% When the point is found it is removed from |\cb@pdfpoints|. \#9
% contains the cumulative head of the list to construct the new list
% with the entry removed. \#3--\#8 are for pattern matching.
-% \changes{v3.7b}{2023/12/30}{use ¨;¨ instead of ¨,¨ as delimiter}
+% \changes{v3.7b}{2023/12/30}{use ";" instead of "," as delimiter}
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
+% \begin{changebar}
+% \begin{macrocode}
+ \def\cb@pdffind##1##2##3.##4p##5/##6/##7pt##8\relax##9{%
+% \end{macrocode}
+% \end{changebar}
% \begin{macrocode}
- \def\cb@pdffind##1##2##3.##4p##5;##6;##7pt##8\relax##9{%
\def\cb@next{%
- \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5;##6;##7pt}}%
+% \end{macrocode}
+% \begin{changebar}
+% \begin{macrocode}
+ \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5/##6/##7pt}}%
+% \end{macrocode}
+% \end{changebar}
+% \begin{macrocode}
\ifnum ##1=##3
\ifnum ##2=##4
\def\cb@pdfx{##5sp}%
@@ -1519,8 +1538,13 @@
% \begin{macro}{\cb@pdfparsexy}
% The |\cb@pdfparsexy| macro extracts the pagecount from an entry read in
% from the \file{.cb2} file.
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
+% \begin{changebar}
+% \begin{macrocode}
+ \def\cb@pdfparsexy##1.##2p##3/##4/##5pt{%
+% \end{macrocode}
+% \end{changebar}
% \begin{macrocode}
- \def\cb@pdfparsexy##1.##2p##3;##4;##5pt{%
\def\cb@pdfpg{##2}}%
% \end{macrocode}
% \end{macro}
@@ -1565,7 +1589,7 @@
% In order to get things in the right spot we need a little scaling
% factor. We define it here.
% \begin{macrocode}
-\def\cb@pdf@scale{0.996264009963}
+ \def\cb@pdf@scale{0.996264009963}
% \end{macrocode}
% \end{macro}
%
@@ -1636,14 +1660,12 @@
% \begin{macrocode}
\gdef\cb@checkPdfxy##1##2##3##4##5{%
\cb@@findpdfpoint{##1}{##2}%
-% \end{macrocdode}
-% \begin{changebar}
-% \begin{macrocode
+% \end{macrocode}
+% \begin{macrocode}
\ifdim##3sp=\cb@pdfx\relax
\ifdim##4sp=\cb@pdfy\relax
-% \end{macrocdode}
-% \end{changebar}
-% \begin{macrocode
+% \end{macrocode}
+% \begin{macrocode}
\ifdim##5=\cb@pdfz\relax
\else
\cb@error
@@ -1741,11 +1763,22 @@
% When the point is found it is removed from |\cb@pdfpoints|. \#9
% contains the cumulative head of the list to construct the new list
% with the entry removed. \#3--\#8 are for pattern matching.
-% \changes{v3.7b}{2023/12/30}{use ¨;¨ instead of ¨,¨ as delimiter}
+% \changes{v3.7b}{2023/12/30}{use ";" instead of "," as delimiter}
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
+% \begin{changebar}
+% \begin{macrocode}
+ \def\cb@pdffind##1##2##3.##4p##5/##6/##7pt##8\relax##9{%
+% \end{macrocode}
+% \end{changebar}
% \begin{macrocode}
- \def\cb@pdffind##1##2##3.##4p##5;##6;##7pt##8\relax##9{%
\def\cb@next{%
- \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5;##6;##7pt}}%
+% \end{macrocode}
+% \begin{changebar}
+% \begin{macrocode}
+ \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5/##6/##7pt}}%
+% \end{macrocode}
+% \end{changebar}
+% \begin{macrocode}
\ifnum ##1=##3
\ifnum ##2=##4
\def\cb@pdfx{##5sp}%
@@ -1796,8 +1829,13 @@
% \begin{macro}{\cb@pdfparsexy}
% The |\cb@pdfparsexy| macro extracts the pagecount from an entry read in
% from the \file{.cb2} file.
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
+% \begin{changebar}
+% \begin{macrocode}
+ \def\cb@pdfparsexy##1.##2p##3/##4/##5pt{%
+% \end{macrocode}
+% \end{changebar}
% \begin{macrocode}
- \def\cb@pdfparsexy##1.##2p##3;##4;##5pt{%
\def\cb@pdfpg{##2}}%
% \end{macrocode}
% \end{macro}
@@ -1842,7 +1880,7 @@
% In order to get things in the right spot we need a little scaling
% factor. We define it here.
% \begin{macrocode}
-\def\cb@pdf@scale{0.996264009963}
+ \def\cb@pdf@scale{0.996264009963}
% \end{macrocode}
% \end{macro}
%
@@ -1934,7 +1972,6 @@
\let\cb@resetpoints\relax
% \end{macrocode}
%
-% \begin{changebar}
% \changes{v3.6e}{2023/08/13}{lua\TeX{} support added}
% The code for lua\TeX{}, like for pdf\TeX\ and Xe\TeX,
% is more elaborate as the calculations have to
@@ -2012,11 +2049,22 @@
% When the point is found it is removed from |\cb@pdfpoints|. \#9
% contains the cumulative head of the list to construct the new list
% with the entry removed. \#3--\#8 are for pattern matching.
-% \changes{v3.7b}{2023/12/30}{use ¨;¨ instead of ¨,¨ as delimiter}
+% \changes{v3.7b}{2023/12/30}{use ";" instead of "," as delimiter}
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
+% \begin{changebar}
+% \begin{macrocode}
+ \def\cb@pdffind##1##2##3.##4p##5/##6/##7pt##8\relax##9{%
+% \end{macrocode}
+% \end{changebar}
% \begin{macrocode}
- \def\cb@pdffind##1##2##3.##4p##5;##6;##7pt##8\relax##9{%
\def\cb@next{%
- \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5;##6;##7pt}}%
+% \end{macrocode}
+% \begin{changebar}
+% \begin{macrocode}
+ \cb@pdffind{##1}{##2}##8\relax{##9##3.##4p##5/##6/##7pt}}%
+% \end{macrocode}
+% \end{changebar}
+% \begin{macrocode}
\ifnum ##1=##3
\ifnum ##2=##4
\def\cb@pdfx{##5sp}%
@@ -2067,8 +2115,13 @@
% \begin{macro}{\cb@pdfparsexy}
% The |\cb@pdfparsexy| macro extracts the pagecount from an entry read in
% from the \file{.cb2} file.
+% \changes{v3.7e}{2024/07/17}{Use "/" instead of ";" as delimiter}
+% \begin{changebar}
+% \begin{macrocode}
+ \def\cb@pdfparsexy##1.##2p##3/##4/##5pt{%
+% \end{macrocode}
+% \end{changebar}
% \begin{macrocode}
- \def\cb@pdfparsexy##1.##2p##3;##4;##5pt{%
\def\cb@pdfpg{##2}}%
% \end{macrocode}
% \end{macro}
@@ -2113,7 +2166,7 @@
% In order to get things in the right spot we need a little scaling
% factor. We define it here.
% \begin{macrocode}
-\def\cb@pdf@scale{0.996264009963}
+ \def\cb@pdf@scale{0.996264009963}
% \end{macrocode}
% \end{macro}
%
@@ -2203,7 +2256,6 @@
\def\cb@maxpoint{9999999}
\let\cb@resetpoints\relax
% \end{macrocode}
-%\end{changebar}
%
% When code for other drivers should be added it can be inserted
% here. When someone makes a mistake and somehow selects an
@@ -2296,7 +2348,7 @@
\newcommand*{\nochangebars}{%
\def\cb@start[##1]{\ignorespaces}%
\def\cb@delete[##1]{}%
- \def\cb@end{\ignorespacesafterend}
+ \def\cb@end{\ignorespacesafterend}%
}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/changebar/changebar.pdf b/macros/latex/contrib/changebar/changebar.pdf
index b313fe1c53..9025ebb624 100644
--- a/macros/latex/contrib/changebar/changebar.pdf
+++ b/macros/latex/contrib/changebar/changebar.pdf
Binary files differ
diff --git a/macros/latex/contrib/chemformula-ru/chemformula-ru.pdf b/macros/latex/contrib/chemformula-ru/chemformula-ru.pdf
index 09126f6cc1..bed9614116 100644
--- a/macros/latex/contrib/chemformula-ru/chemformula-ru.pdf
+++ b/macros/latex/contrib/chemformula-ru/chemformula-ru.pdf
Binary files differ
diff --git a/macros/latex/contrib/chemformula-ru/chemformula-ru.sty b/macros/latex/contrib/chemformula-ru/chemformula-ru.sty
index f1df3002c1..32b6e23fa1 100644
--- a/macros/latex/contrib/chemformula-ru/chemformula-ru.sty
+++ b/macros/latex/contrib/chemformula-ru/chemformula-ru.sty
@@ -1,5 +1,5 @@
%% The chemformula-ru package eliminates an incompatibility
-%% between the chemformula package and Russian settings (russian.ldf) of the babel package.
+%% between the chemformula package and Russian settings (russian.ldf) for the babel package.
%%
%% Copyright (c) 2024 by Alexey Kuznetsov (mailtokuznetsov at gmail.com)
%%
@@ -12,21 +12,21 @@
%% version 2008/05/04 or later.
%%
-\ProvidesPackage{chemformula-ru}[2024-03-01 Using chemformula package with babel-russian]
+\ProvidesPackage{chemformula-ru}[2024-07-10 Using chemformula package with babel-russian]
\DeclareOption{cosh2ch}{\def\cosh@ch{\DeclareRobustCommand\cosh{\mathop{\operator@font ch}\nolimits}}}
\DeclareOption{ch2Ch}{\def\ch@Ch{\DeclareRobustCommand\Ch{\mathop{\operator@font ch}\nolimits}}}
+\DeclareOption*{\PassOptionsToPackage\CurrentOption{chemformula}}
\ProcessOptions\relax
+\RequirePackage{chemformula}
+
\BeforeBeginEnvironment{document}{
- \IfPackageLoadedTF{chemformula}{
- \IfPackageLoadedWithOptionsTF{babel}{russian}{
- \let\@Chem@Formula\ch \let\ch\undefined
- \AtBeginDocument{ \let\ch\@Chem@Formula
- \@ifundefined{cosh@ch}{\relax}{\cosh@ch}
- \@ifundefined{ch@Ch}{\relax}{\ch@Ch}
- }
- } { \relax }
- } { \relax }
-}
+ \let\@Chem@Formula\ch \let\ch\undefined
+ \AtBeginDocument{
+ \let\ch\@Chem@Formula
+ \@ifundefined{cosh@ch}{\relax}{\cosh@ch}
+ \@ifundefined{ch@Ch}{\relax}{\ch@Ch}
+ } }
+
\endinput
diff --git a/macros/latex/contrib/chemformula-ru/chemformula-ru.tex b/macros/latex/contrib/chemformula-ru/chemformula-ru.tex
index 02edcbca41..192da90cb4 100644
--- a/macros/latex/contrib/chemformula-ru/chemformula-ru.tex
+++ b/macros/latex/contrib/chemformula-ru/chemformula-ru.tex
@@ -3,7 +3,6 @@
\geometry{total={180mm, 267mm}, centering}
\usepackage[russian]{babel}
-\usepackage{chemformula}
\usepackage[ch2Ch,cosh2ch]{chemformula-ru}
\usepackage{array,multicol}
@@ -11,7 +10,7 @@
\title{The \textsf{chemformula-ru} package}
\author{Alexey Kuznetsov}
-\date{01.03.2024}
+\date{10.07.2024}
\maketitle
\begin{multicols}{2}
@@ -23,9 +22,8 @@ Russian settings of the \textsf{babel} package \textsf{(russianb.ldf)} define th
\mbox{}\hfil\verb|$\ch x$|\ $\to\ \Ch x$.\\[.5ex]
Loading packages together leads to the error\\[1ex]
\mbox{}\hfil\verb|! LaTeX Error: Command \ch already defined.|\\[1ex]
-The \textsf{chemformula-ru} package ``neutralizes'' it by making the babel's command undefined.
-
-The package has two parameters to configure the printing of the hyperbolic cosine in Russian notation:\\[1ex]
+The \textsf{chemformula-ru} package loads the \textsf{chemformula} and ``neutralizes'' the error by making the babel's command undefined.
+Two it's parameters configure printing of the hyperbolic cosine in Russian notation:\\[1ex]
\begin{tabular}{>\sf l @{ ---\quad } p{.75\linewidth}}
cosh2ch & overrides the \verb|\cosh| command for printing:\linebreak
\verb|$\cosh x$| $\to \cosh x$. \\[1ex]
@@ -37,13 +35,12 @@ ch2Ch & defines a new \verb|\Ch| command for printing:\linebreak
\mbox{}\hfil\verb|\сh{|\textit{химическая фоормула}\verb|}|\\[.5ex]
для верстки химических формул:\\[.5ex]
\mbox{}\hfil\verb|\ch{H3PO4}| $\to$ \ch{H3PO4}.\\[.5ex]
-Русские настройки пакета \textsf{babel (russianb.ldf)} определяют одноименную команду для печати гиперболического косинуса:\\[-.5ex]
+Русские настройки пакета \textsf{babel (russianb.ldf)} определяют одноименную команду для печати гиперболического косинуса:\\[-.85\baselineskip]
\mbox{}\hfil\verb|$\ch x$|\ $\to\ \Ch x$.\\[.5ex]
Cовместная загрузка пакетов ведет к ошибке\\[1ex]
\mbox{}\hfil\verb|! LaTeX Error: Command \ch already defined.|\\[1ex]
-Пакет \textsf{chemformula-ru} <<нейтрализует>> ее, делая команду пакета \textsf{babel} неопределенной.
-
-Пакет имеет два параметра, настраивающих печать гиперболического косинуса в русских нотациях:\\[1ex]
+Пакет \textsf{chemformula-ru} загружает \textsf{chemformula} и <<нейтрализует>> ошибку, делая команду пакета \textsf{babel} неопределенной.
+Два его параметра настраивают печать гиперболического косинуса в русских нотациях:\\[1ex]
\begin{tabular}{>\sf l @{ --- } p{.8\linewidth}}
cosh2ch & переопределяет для печати команду \verb|\cosh|:\linebreak
\verb|$\cosh x$| $\to \cosh x$. \\[1ex]
@@ -52,10 +49,11 @@ ch2Ch & определяет для печати новую команду \verb
\end{tabular}
\end{multicols}
+\thispagestyle{empty}
+
\noindent\hrulefill
\begin{verbatim}
-
%% Redefine \cosh to print ch.
\DeclareOption{cosh2ch}{\def\cosh@ch{%
\DeclareRobustCommand\cosh{\mathop{\operator@font ch}\nolimits}}}
@@ -64,19 +62,22 @@ ch2Ch & определяет для печати новую команду \verb
\DeclareOption{ch2Ch}{\def\ch@Ch{%
\DeclareRobustCommand\Ch{\mathop{\operator@font ch}\nolimits}}}
+%% Pass all other options to the chemformula package.
+\DeclareOption*{\PassOptionsToPackage\CurrentOption{chemformula}}
+
\ProcessOptions\relax
+\RequirePackage{chemformula}
+
\BeforeBeginEnvironment{document}{
- \IfPackageLoadedTF{chemformula}{
- \IfPackageLoadedWithOptionsTF{babel}{russian}{
- \let\@Chem@Formula\ch \let\ch\undefined
- \AtBeginDocument{ \let\ch\@Chem@Formula
- \@ifundefined{cosh@ch}{\relax}{\cosh@ch}
- \@ifundefined{ch@Ch}{\relax}{\ch@Ch}
- }
- } { \relax }
- } { \relax }
-}
+ \let\@Chem@Formula\ch \let\ch\undefined
+ \AtBeginDocument{
+ \let\ch\@Chem@Formula
+ \@ifundefined{cosh@ch}{\relax}{\cosh@ch}
+ @ifundefined{ch@Ch}{\relax}{\ch@Ch}
+ } }
+
+\endinput
\end{verbatim}
\end{document}
diff --git a/macros/latex/contrib/cjs-rcs-article/README.md b/macros/latex/contrib/cjs-rcs-article/README.md
index 69c983dbb7..aa152dd5fd 100644
--- a/macros/latex/contrib/cjs-rcs-article/README.md
+++ b/macros/latex/contrib/cjs-rcs-article/README.md
@@ -16,11 +16,12 @@ compatible with the traditional engine pdfLaTeX.
## Licence
LaTeX Project Public License, version 1.3c or (at your option) any
-later version.
+later version. The documentation is also licensed under CC BY-SA 4.0
+International.
## Version
-1.0 (2023-11-29)
+1.1a (2024-07-30)
## Author
@@ -103,7 +104,7 @@ version history of the bibliographic styles appears in
## Comments or suggestions
-The Gitlab [project repository](https://gitlab.com/cjs-rcs/cjs-rcs-article)
+The GitLab [project repository](https://gitlab.com/cjs-rcs/cjs-rcs-article)
is the best place to report bugs or to propose improvements to the
project.
@@ -127,11 +128,12 @@ grande partie compatible avec le moteur pdfLaTeX.
## Licence
LaTeX Project Public License, version 1.3c ou (à votre choix) toute
-version ultérieure.
+version ultérieure. La documentation est également publiée sous
+licence CC BY-SA 4.0 International.
## Version
-1.0 (2023-11-29)
+1.1a (2024-07-30)
## Auteur
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article-fr.pdf b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article-fr.pdf
index 5ec31c2669..fd93cf709b 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article-fr.pdf
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx
index 9376ddbbf3..a750c136f5 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx
@@ -3,7 +3,7 @@
% Article class for The Canadian Journal of Statistics | La revue
% canadienne de statistique
%
-% Copyright (C) Statistical Society of Canada | Société
+% Copyright (C) 2023-2024 Statistical Society of Canada | Société
% canadienne de statistique
%
% The class file and templates derived from this file are licenced
@@ -25,10 +25,10 @@
%<*driver>
\ProvidesFile{cjs-rcs-article.dtx}
%</driver>
-%<class>\NeedsTeXFormat{LaTeX2e}[2009/09/24]
+%<class>\NeedsTeXFormat{LaTeX2e}[2021/06/01]
%<class>\ProvidesClass{cjs-rcs-article}%
%<*class>
- [2023/11/29 v1.0 Article class for The Canadian Journal of
+[2024/07/30 v1.1a Article class for The Canadian Journal of
Statistics | La revue canadienne de statistique]
%</class>
%<*driver>
@@ -122,6 +122,10 @@
\OnlyDescription
\fi
+ %% Additional colors
+ \colorlet{codebg}{LightYellow1} % code background
+ \colorlet{prompt}{Orchid4} % command prompt
+
%% New \DescribeMacro type environments for class options and lengths
\NewDocElement[envlike,notoplevel,printtype=\emph{option}]{Option}{option}
\NewDocElement[macrolike,notoplevel,printtype=$\ell$]{Length}{length}
@@ -139,9 +143,12 @@
\newcommand*\CJSbstfr{\code{cjs-rcs-fr}}
\makeatother
+ %% URL of the project repository
+ \newcommand*\reposurl{https://gitlab.com/cjs-rcs/cjs-rcs-article}
+
%% Redefine \year using information from \filedate instead of using
%% compilation time
- \def\parsedate#1/#2/#3\relax{\def\year{#1}}
+ \def\parsedate#1/#2/#3\relax{\def\year{#1}\def\isodate{#1-#2-#3}}
%% Definition of a shorthand to either hyphenate a word or insert a
%% regular dash. Use in the long names of Creative Commons licences.
@@ -149,6 +156,26 @@
\useshorthands*{"}
\defineshorthand{"-}{\discretionary{-}{}{-}}
+ %% Source code
+ \usepackage{listings}
+ \lstset{%
+ basicstyle=\ttfamily\NoAutoSpacing,
+ moredelim=[is][\color{prompt}]{---}{-},
+ escapeinside=`',
+ showstringspaces=false,
+ backgroundcolor=\color{codebg},
+ frame=leftline,
+ framerule=2pt,
+ framesep=5pt,
+ xleftmargin=7.4pt
+ }
+
+ %% The \meta command from memoir needs an additionnel \normalfont to
+ %% use the document font in listings.
+ \makeatletter
+ \def\meta@font@select{\normalfont\itshape}
+ \makeatother
+
\begin{document}
\DocInput{cjs-rcs-article.dtx}
\end{document}
@@ -257,6 +284,22 @@
% CTAN.}
% \changes{1.0}{2023-11-29}{Fix various typos and cosmetic issues in
% the documentation.}
+% \changes{1.1}{2024-06-26}{Provide support to acknowledge usage of
+% data from the Alzheimer’s Disease Neuroimaging Initiative (ADNI) and
+% the Alzheimer’s Disease Neuroimaging Metabolomics Consortium
+% (ADMC).}
+% \changes{1.1}{2024-06-26}{Introduce new commands \cs{specialack} and
+% \cs{specialackmark} for the editors.}
+% \changes{1.1}{2024-06-23}{Improve the documentation, in particular
+% the installation instructions and access to the templates.}
+% \changes{1.1}{2024-07-02}{Add the References section to the table of
+% contents of the PDF.}
+% \changes{1.1}{2024-07-13}{Add the command \cs{matit} to typeset bold
+% italic in math in a portable way.}
+% \changes{1.1a}{2024-07-25}{Fix the command \cs{proglang} that would
+% disable hyphenation for the rest of the document. With thanks to
+% Enrico Gregorio (egreg) for the heads up in person at TUG 2024.}
+% \changes{1.1a}{2024-07-25}{Make the command \cs{proglang} robust.}
%
% \ifenglish%
% \title[Guide to the class {\CJSclass}]{%
@@ -353,11 +396,9 @@
% {\CJSclass} requiert une distribution {\TeX} récente et
% à jour. Nous recommandons les distributions %
% \fi
-% \href{https://tug.org/texlive}{{\TeX}~Live} %
-% --- %
+% \href{https://tug.org/texlive}{{\TeX}~Live}\ifenglish---\else~--- \fi%
% \ifenglish or its variant for macOS \else ou sa variante pour macOS \fi%
-% \href{https://tug.org/mactex}{Mac{\TeX}} %
-% --- %
+% \href{https://tug.org/mactex}{Mac{\TeX}}\ifenglish---\else~--- \fi%
% \ifenglish and \else et \fi%
% \href{https://miktex.org}{MiK{\TeX}}. %
% \ifenglish%
@@ -425,17 +466,28 @@
% \section{Démarrage rapide}
% \fi
% \label{sec:quick-start}
+% \changes{1.1}{2024-06-05}{Documentation: add a link to obtain the
+% templates in the \emph{Quick start} section.}
%
% \ifenglish%
% The class ships with templates for articles in English and in
% French. In {\TeX}~Live, these are located with the
-% documentation of the class. To quickly start writing your article,
-% copy the appropriate template to your working directory and follow
-% the brief instructions therein. %
+% documentation of the class. You may also obtain the templates from
+% the %
% \else%
% La classe est livrée avec des gabarits pour des articles en français
% et en anglais. Dans la distribution {\TeX}~Live, ceux-ci sont
-% classés avec la documentation. Pour débuter rapidement la rédaction
+% classés avec la documentation. Vous pouvez aussi les récupérer
+% depuis le %
+% \fi%
+% \href{\reposurl/-/releases/\fileversion}{%
+% \ifenglish project repository\else dépôt du projet\fi}. %
+% \ifenglish%
+% To quickly start writing your article, copy the appropriate template
+% to your working directory and follow the brief instructions
+% therein. %
+% \else%
+% Pour débuter rapidement la rédaction
% de votre article, copiez le gabarit approprié dans votre dossier de
% travail et suivez les directives succinctes qui s'y trouvent. %
% \fi
@@ -490,6 +542,9 @@
% \changes{0.91}{2023-10-16}{Change the name of the archive containing
% a ``local'' installation of the class from
% \texttt{-no-local-tex.zip} to \texttt{-project-install.zip}.}
+% \changes{1.1}{2024-06-05}{Documentation: provide a direct link to
+% the release corresponding to the version of the documentation in the
+% \emph{Installation} section.}
%
% \ifenglish%
% The class {\CJSclass} is distributed as the package %
@@ -507,21 +562,33 @@
% the command line: %
% \else%
% via le réseau de sites \emph{Comprehensive {\TeX} Archive Network}
-% (CTAN). Elle fait partie des distributions {\TeX} standards telles
-% que {TeX}~Live, Mac{\TeX} et MiK{\TeX}. Nous recommandons fortement
-% d'installer ou de mettre à jour le paquetage à l'aide du
+% (CTAN). Celui-ci fait partie des distributions {\TeX} standards
+% telles que {TeX}~Live, Mac{\TeX} et MiK{\TeX}. Nous recommandons
+% fortement d'installer ou de mettre à jour le paquetage à l'aide du
% gestionnaire de paquetages de votre distribution {\TeX}. Par
-% exemple, avec {\TeX}~Live, vous pouvez effectuer ces opérations dans
-% l'assistant graphique, ou encore avec l'une ou l'autre des commandes
-% ci-dessous: %
+% exemple, avec {\TeX}~Live, vous pouvez effectuer ces opérations
+% dans l'assistant graphique, ou encore avec l'une ou l'autre des
+% commandes ci-dessous: %
+% \fi
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+---$- tlmgr install cjs-rcs-article
+\end{lstlisting}
+% \iffalse
+%</example>
% \fi
-% \begin{quote}
-% \code{tlmgr install cjs-rcs-article}
-% \end{quote}
% \ifenglish or\else ou\fi
-% \begin{quote}
-% \code{tlmgr update cjs-rcs-article}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+---$- tlmgr update cjs-rcs-article
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
%
% \ifenglish%
% If you are not in position to install packages or update the {\TeX}
@@ -530,23 +597,23 @@
% limited in scope to your project. Download the archive %
% \else%
% S'il vous est impossible d'installer des paquetages ou de mettre à
-% jour la distribution {\TeX} --- notamment si vous utilisez une
-% plateforme de rédaction en ligne --- vous pouvez procéder à une
+% jour la distribution {\TeX}~--- notamment si vous utilisez une
+% plateforme de rédaction en ligne~--- vous pouvez procéder à une
% installation simplifiée de la classe, mais dont la portée sera
% limitée à votre projet. Pour ce faire, téléchargez l'archive %
% \fi%
% \code{cjs-rcs-article-project-install.zip} %
% \ifenglish from the \else depuis le \fi%
-% \href{https://gitlab.com/cjs-rcs/cjs-rcs-article/-/releases}{%
-% \ifenglish project repository\else dépôt du projet\fi} %
+% \href{\reposurl/-/releases/\fileversion}{%
+% \ifenglish project repository\else dépôt du projet\fi}, %
% \ifenglish%
-% and uncompress it in the directory of your project. You will then
-% have access to all the essential files of the class within this
-% project. %
+% uncompress it and place its contents in the directory of your
+% project. You will then have access to all the essential files of the
+% class within this project. %
% \else%
-% et décompressez celle-ci dans le répertoire de votre projet. Vous
-% disposerez alors de tous les fichiers essentiels de la classe à
-% l'intérieur de ce projet. %
+% décompressez celle-ci et placez son contenu dans le répertoire de
+% votre projet. Vous disposerez alorsà l'intérieur de ce projet de
+% tous les fichiers essentiels de la classe. %
% \fi
%
% \ifenglish%
@@ -631,7 +698,7 @@
% {pdf\LaTeX} utilise les versions Type~1 des polices STIX~Two et
% Fira. Or, la technologie Type~1 PostScript étant aujourd'hui
% obsolète, ces polices ne sont plus mises à jour. Le moteur
-% {\XeLaTeX} utilise les plus modernes --- et complètes --- versions
+% {\XeLaTeX} utilise les plus modernes~--- et complètes~--- versions
% OpenType des polices.}, %
% nous recommandons de compiler votre manuscript avec le plus moderne
% moteur {\XeLaTeX}. %
@@ -643,24 +710,34 @@
% \subsection{Gabarits}
% \fi
% \label{sec:usage:templates}
+% \changes{1.1}{2024-06-05}{Documentation: add a link to the templates
+% in the \emph{Templates} sub-section.}
%
% \ifenglish%
% The class is distributed with templates for articles in English
% and in French. If you are using the version of the class included
% with your {\TeX} distribution, the templates may be located with the
-% documentation (this is the case in {\TeX}~Live). If you installed
-% the class manually by following the instructions in
-% \autoref{sec:installation}, the templates reside in your working
-% directory. %
+% documentation (this is the case in {\TeX}~Live). You may also obtain
+% them from the %
% \else
% La classe est distribuée avec des gabarits pour des articles en français
% et en anglais. Si vous utilisez la version de la classe fournie avec
% votre distribution {\TeX}, les gabarits peuvent être classés avec
-% la documentation (c'est le cas dans {\TeX}~Live). Si vous avez
+% la documentation (c'est le cas dans {\TeX}~Live). Vous pouvez aussi
+% les récupérer depuis le %
+% \fi
+% \href{\reposurl/-/releases/\fileversion}{%
+% \ifenglish project repository\else dépôt du projet\fi}. %%
+% \ifenglish
+% If you installed the class manually by following the instructions in
+% \autoref{sec:installation}, the templates reside in your working
+% directory. %
+% \else%
+% Si vous avez
% plutôt installé la classe manuellement en suivant les instructions
% de la \autoref{sec:installation}, les gabarits se trouvent dans
% votre dossier de travail. %
-% \fi
+% \fi%
%
% \ifenglish%
% We strongly encourage to start from a template to write your
@@ -705,13 +782,19 @@
% \label{sec:usage:options}
%
% \ifenglish%
-% The class is loaded with the command %
+% The class is loaded with the command: %
% \else%
-% On charge la classe avec la commande %
+% On charge la classe avec la commande: %
+% \fi
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\documentclass`\oarg{options}\marg{cjs-rcs-article}'
+\end{lstlisting}
+% \iffalse
+%</example>
% \fi
-% \begin{quote}
-% \cmdprint{\documentclass}\oarg{options}\code{\{cjs-rcs-article\}}
-% \end{quote}
% \ifenglish%
% Some \meta{options} of the class are intended for the authors,
% whereas others are instead intended for the editors of {\TheCJS*}.
@@ -931,22 +1014,28 @@
% du titre qui sera utilisée dans les entêtes. La syntaxe de la
% commande est donc: %
% \fi
-% \begin{quote}
-% \def\OPT{\ifenglish Short title\else Titre court\fi}
-% \def\ARG{\ifenglish Full title\else Titre complet\fi}
-% \cmdprint{\title}\oarg{\OPT}\marg{\ARG}
-% \end{quote}
-% \ifenglish%
-% Write the title in sentence style, that is, with only an initial
-% capital. In English, also capitalize the first word after a colon.
-% Break a long title needing more than one line using \code{\bs\bs}
-% or \cmdprint{\newline}. %
-% \else%
-% Entrez le titre en minuscules (sauf pour la majuscule initiale).
-% En anglais, utilisez toutefois une majuscule initiale après un
-% deux-points. Vous devez couper manuellement avec \code{\bs\bs} ou
-% \cmdprint{\newline} un titre qui nécessite plus d'une ligne.
-% \fi
+% \iffalse
+%<*example>
+% \fi
+\def\OPT{\ifenglish Short title\else Titre court\fi}
+\def\ARG{\ifenglish Full title\else Titre complet\fi}
+\begin{lstlisting}
+\title`\oarg{\OPT}\marg{\ARG}'
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+% \ifenglish%
+% Write the title in sentence style, that is, with only an initial
+% capital. In English, also capitalize the first word after a colon.
+% Break a long title needing more than one line using \code{\bs\bs}
+% or \cmdprint{\newline}. %
+% \else%
+% Entrez le titre en minuscules (sauf pour la majuscule initiale).
+% En anglais, utilisez toutefois une majuscule initiale après un
+% deux-points. Vous devez couper manuellement avec \code{\bs\bs} ou
+% \cmdprint{\newline} un titre qui nécessite plus d'une ligne.
+% \fi
% \end{DescribeMacro}
%
% \ifenglish%
@@ -994,11 +1083,17 @@
% informations relatives à un auteur de l'article. Sa syntaxe
% générale est la suivante: %
% \fi
-% \begin{quote}
-% \def\FORENAME{\ifenglish Forename\else Prénom\fi}
-% \def\SURNAME{\ifenglish Surname\else Nom\fi}
-% \cmdprint{\author}\oarg{options}\code{\{}\meta{\FORENAME}\code{ }\cmdprint{\surname}\marg{\SURNAME}\code{\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\def\FORENAME{\ifenglish Forename\else Prénom\fi}
+\def\SURNAME{\ifenglish Surname\else Nom\fi}
+\begin{lstlisting}
+\author`\oarg{options}'{`\meta{\FORENAME}' \surname`\marg{\SURNAME}'}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish%
% The \meta{Surname} must be entered using the command
% \cmd{\surname}. Write the \meta{Forename} and \meta{Surname} in
@@ -1113,15 +1208,27 @@
% \def\FORENAME{\ifenglish Forename\else Prénom\fi}
% \def\SURNAME{\ifenglish Surname\else Nom\fi}
% \item \ifenglish For the corresponding author\else Pour l'auteur correspondant\fi:
-% \begin{quote}
-% \cmdprint{\author}\code{[orcid=}\meta{id}\code{, email=}\meta{\EMAIL}\code{, corresponding]} \\
-% \verb+ +\code{\{}\meta{\FORENAME}\code{ }\cmdprint{\surname}\marg{\SURNAME}\code{\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\author[orcid=`\meta{id}', email=`\meta{\EMAIL}', corresponding]
+ {`\meta{\FORENAME}' \surname`\marg{\SURNAME}'}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \item \ifenglish For all other authors\else Pour tous les autres auteurs\fi:
-% \begin{quote}
-% \cmdprint{\author}\code{[orcid=}\meta{id}\code{, email=}\meta{\EMAIL}\code{]} \\
-% \verb+ +\code{\{}\meta{\FORENAME}\code{ }\cmdprint{\surname}\marg{\SURNAME}\code{\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\author[orcid=`\meta{id}', email=`\meta{\EMAIL}']
+ {`\meta{\FORENAME}' \surname`\marg{\SURNAME}'}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \end{itemize}
% \end{DescribeMacro}
% \end{DescribeMacro}
@@ -1136,11 +1243,17 @@
% mentionné dans la commande \cmd{\author} qui la précède. La forme
% générale de l'affiliation est: %
% \fi
-% \begin{quote}
-% \def\AFFIL{\ifenglish Department, University, City, Country\else%
-% Département, Université, Ville, Pays\fi}
-% \cmd{\affil}\marg{\AFFIL}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\def\AFFIL{\ifenglish Department, University, City, Country\else%
+ Département, Université, Ville, Pays\fi}
+\begin{lstlisting}
+\affil`\marg{\AFFIL}'
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish%
% Give the country name in the main language of the article. %
% \else%
@@ -1164,13 +1277,19 @@
% premier auteur suivi de la locution «et collab.» (en français) ou
% «et al.» (en anglais): %
% \fi
-% \begin{quote}
-% \def\SURNAME{\ifenglish Surname\else Nom\fi}
-% \def\ETAL{\ifenglish et al.\else et collab.\fi}
-% \def\ETCOLLAB{\ifenglish et collab.\else et al.\fi}
-% \cmdprint{\runningauthor}\code{\{}\meta{\SURNAME}\code{ \ETAL\}} \\
-% \cmdprint{\runningauthor}\code{\{}\meta{\SURNAME}\code{ \ETCOLLAB\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\def\SURNAME{\ifenglish Surname\else Nom\fi}
+\def\ETAL{\ifenglish et al.\else et collab.\fi}
+\def\ETCOLLAB{\ifenglish et collab.\else et al.\fi}
+\begin{lstlisting}
+\runningauthor{`\meta{\SURNAME} \ETAL'}
+\runningauthor{`\meta{\SURNAME} \ETCOLLAB'}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \end{DescribeMacro}
%
% \ifenglish%
@@ -1224,16 +1343,22 @@
% mots-clés de l'article. Il s'utilise comme une liste
% \code{itemize} ou \code{enumerate}: %
% \fi
-% \begin{quote}
-% \def\KEYWORDC{\ifenglish Key word\else Mot-clé\fi}
-% \def\KEYWORD{\ifenglish key word\else mot-clé\fi}
-% \cmdprint{\begin}\code{\{keywords\}} \\
-% \cmdprint{\item} \emph{{\KEYWORDC} 1} \\
-% \cmdprint{\item} \emph{{\KEYWORD} 2} \\
-% \cmdprint{\item} \emph{{\KEYWORD} 3} \\
-% \code{...} \\
-% \cmdprint{\end}\code{\{keywords\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\def\KEYWORDC{\ifenglish Key word\else Mot-clé\fi}
+\def\KEYWORD{\ifenglish key word\else mot-clé\fi}
+\begin{lstlisting}
+\begin{keywords}
+\item `\normalfont\itshape{\KEYWORDC} 1'
+\item `\normalfont\itshape{\KEYWORD} 2'
+\item `\normalfont\itshape{\KEYWORD} 3'
+...
+\end{keywords}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish%
% As shown above, use an initial capital for the first key word
% only. Punctuation will be added automatically. %
@@ -1261,15 +1386,21 @@
% classification mathématique par matières de l'article. Son
% interface est la suivante: %
% \fi
-% \begin{quote}
-% \def\LEVEL{\ifenglish level\else niveau\fi}
-% \def\CODE{\ifenglish code\else rubrique\fi}
-% \cmdprint{\begin}\code{\{classification\}}\oarg{type} \\
-% \cmdprint{\item}\oarg{\LEVEL} \emph{{\CODE} 1}, \emph{{\CODE} 2}, \dots \\
-% \cmdprint{\item}\oarg{\LEVEL} \emph{{\CODE} 1}, \emph{{\CODE} 2}, \dots \\
-% \code{...} \\
-% \cmdprint{\end}\code{\{classification\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\def\LEVEL{\ifenglish level\else niveau\fi}
+\def\CODE{\ifenglish code\else rubrique\fi}
+\begin{lstlisting}
+\begin{classification}`\oarg{type}'
+\item`\oarg{\LEVEL} \normalfont\itshape{\CODE} 1, {\CODE} 2, \dots'
+\item`\oarg{\LEVEL} \normalfont\itshape{\CODE} 1, {\CODE} 2, \dots'
+...
+\end{classification}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish%
% The classification system used is %
% \else%
@@ -1331,7 +1462,53 @@
% les options \code{review}, \code{supplement} et \code{nocjs},
% l'espace est remplacé par un pied de page contenant le numéro de
% page. %
-% \fi%
+% \fi
+%
+% \ifenglish%
+% \subsubsection{ADNI data use agreement}
+% \else%
+% \subsubsection{Contrat d'utilisation des données de l'ADNI}
+% \fi
+% \label{sec:usage:titling:adni}
+%
+% \ifenglish%
+% The Alzheimer’s Disease Neuroimaging Initiative (ADNI) %
+% \else%
+% Le %
+% \fi
+% \href{https://adni.loni.usc.edu/wp-content/uploads/how_to_apply/ADNI_DSP_Policy.pdf}{\ifenglish Data Sharing and Publication Policy\else contrat d'utilisation des données\fi} %
+% \ifenglish%
+% requires authors using their data to acknowledge ADNI in the list of
+% authors and give a specific statement on the title page. %
+% \else%
+% de l'Alzheimer’s Disease Neuroimaging Initiative (ADNI) stipule que
+% les auteurs qui ont recours à leurs données doivent reconnaitre la
+% contribution de l'ADNI parmi les auteurs et inclure une déclaration
+% spécifique sur la page de titre de l'article. %
+% \fi
+%
+% \begin{DescribeMacro}{\ADNIacknowledgement}
+% \ifenglish%
+% The command \cmd{\ADNIacknowledgement} adds these two
+% requirements. The command has no arguments; simply insert it after
+% the declarations of the authors. %
+% \else%
+% La commande \cmd{\ADNIacknowledgement} ajoute ces deux exigences.
+% La commande n'a aucun argument; insérez simplement celle-ci après
+% toutes les autres définitions des auteurs. %
+% \fi
+% \end{DescribeMacro}
+%
+% \begin{DescribeMacro}{\ADMCacknowledgement}
+% \ifenglish%
+% Similarly, the command \cmd{\ADMCacknowledgement} acknowledges the
+% Alzheimer’s Disease Meta\-bo\-lomics Consortium (ADMC). %
+% \else%
+% De manière analogue, la commande \cmd{\ADMCacknowledgement}
+% reconnait la contribution du
+% Alzheimer’s Disease Metabolomics Consortium (ADMC). %
+% \fi
+% \end{DescribeMacro}
%
% \ifenglish%
% \subsection{Back matter information}
@@ -1342,17 +1519,19 @@
%
% \ifenglish%
% Articles in {\TheCJS} end with elements forming the so-called back
-% matter: supplementary material available online, acknowledgements,
-% etc. The class {\CJSclass} provides specialized environments to
-% enter this information. See \autoref{tab:titling} for a summary; the
-% detailed descriptions follow. %
+% matter: supplementary material available online, data sharing
+% statement, acknowledgements, etc. The class {\CJSclass} provides
+% specialized environments to enter this information. See
+% \autoref{tab:titling} for a summary; the detailed descriptions
+% follow. %
% \else%
% Un article de {\LaRevue} se termine par la présentation d'un
% ensemble d'informations dans des parties annexes: matériel
-% additionnel disponible en ligne, remerciements, etc. La classe
-% {\CJSclass} définit des environnements pour entrer ce type
-% d'information de manière uniforme. Le \autoref{tab:backmatter} en
-% présente un sommaire; les descriptions détaillées suivent. \fi
+% additionnel disponible en ligne, conditions de partage des données,
+% remerciements, etc. La classe {\CJSclass} définit des environnements
+% pour entrer ce type d'information de manière uniforme. Le
+% \autoref{tab:backmatter} en présente un sommaire; les descriptions
+% détaillées suivent. \fi
%
% \begin{table}[t]
% \centering
@@ -1428,18 +1607,34 @@
% \fi
% \end{DescribeEnv}
%
+% \changes{1.1}{2024-01-23}{Documentation: revise the description of
+% the \texttt{sharing} environment now that the CJS adhered to the
+% Expects Data Sharing editorial policy of Wiley.}
% \begin{DescribeEnv}{sharing}
+% \def\POLICYNAME{\ifenglish Expects Data Sharing\else \emph{Expects Data Sharing}\fi}
+% \ifenglish%
+% {\TheCJS} adheres to the %
+% \else%
+% {\LaRevue} respecte la politique éditoriale %
+% \fi%
+% \href{https://authorservices.wiley.com/author-resources/Journal-Authors/open-access/data-sharing-citation/data-sharing-policy.html}{\POLICYNAME} %
% \ifenglish%
-% If you wish to share data or the code, use the environment
-% \code{sharing} to describe how to access this material, providing
-% a persistent identifier, such as a digital object identifier (DOI)
-% or a URL. %
+% editorial policy of Wiley. Therefore, you must use the environment
+% \code{sharing} to make a statement about the availability or
+% absence of shared data. In case of ethical or legal concerns, we
+% encourage you to provide synthetic data instead if possible.
+% Provide a persistent identifier to access the data, such as a
+% digital object identifier (DOI) or a URL. You may also use the
+% environment to describe how to access shared computer code. %
% \else%
-% Si vous mettez les données ou le code de votre article à
-% disposition, utilisez l'environnement \code{sharing} pour
-% expliquer comment accéder à ce matériel et pour indiquer un lien
-% permanent, comme un identificateur d'objets numériques (DOI) ou
-% une adresse URL. %
+% de Wiley. Par conséquent, vous devez utiliser l'environnement
+% \code{sharing} pour préciser les conditions de partage des données
+% de recherche, ou encore leur absence, le cas échéant. En cas
+% d'enjeux éthiques ou légaux, veuillez utiliser si possible des
+% données de synthèse. Indiquez un lien permanent pour accéder aux
+% données, comme un identificateur d'objets numériques (DOI) ou une
+% adresse URL. Vous pouvez aussi utiliser l'environnement pour
+% indiquer comment accéder à du code informatique partagé. %
% \fi
% \end{DescribeEnv}
%
@@ -1644,10 +1839,16 @@
% la page de titre du présent document a été composée avec la commande
% suivante: %
% \fi
-% \begin{quote}
-% \cmd{\licence}\code{\{\{}\cmdprint{\ccbysa*}\code{\} {\year}, Statistical Society of Canada \{}\cmdprint{\textbar}\code{\}} \\
-% \verb+ +\code{Société canadienne de statistique\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\licence{{\ccbysa*} `\year', Statistical Society of Canada {\textbar}
+ Société canadienne de statistique}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
%
% \ifenglish%
% \subsection{Mathematics}
@@ -1655,6 +1856,8 @@
% \subsection{Mathématiques}
% \fi
% \label{sec:usage:mathematics}
+% \changes{1.1}{2024-01-23}{Documentation: specify that the class is
+% not compatible with the package \textbf{amssymb}.}
%
% \ifenglish%
% The class automatically loads the packages %
@@ -1666,16 +1869,18 @@
% \ifenglish%
% and, when the document is compiled with {\XeLaTeX}, %
% \else%
-% et, lorsque le document est compilé avec {\XeLaTeX},
+% et, lorsque le document est compilé avec {\XeLaTeX}, %
% \fi%
% \href{https://ctan.org/pkg/unicode-math}{\pkg{unicode-math}}. %
% \ifenglish%
-% The class also defines a number of commands and environments to
-% standardize the typesetting of mathematical content in {\TheCJS}.
+% Note that it is not compatible with the package \pkg{amssymb}. The
+% class also defines a number of commands and environments to
+% standardize the typesetting of mathematical content in {\TheCJS}. %
% \else%
-% Elle définit également des commandes et des environnements pour
-% assurer une mise en forme standardisée des mathématiques dans
-% {\LaRevue}.
+% En revanche, elle n'est pas compatible avec le paquetage
+% \pkg{amssymb}. La classe définit également des commandes et des
+% environnements pour assurer une mise en forme standardisée des
+% mathématiques dans {\LaRevue}. %
% \fi
%
% \ifenglish%
@@ -1724,6 +1929,9 @@
% \cmd{\mat} &
% \ifenglish matrix or vector \else matrice ou vecteur \fi &
% \cmdprint{\mat}\code{\{A\}} & $\mat{A}$ \\
+% \cmd{\matit} &
+% \ifenglish matrix or vector (italic) \else matrice ou vecteur (italique) \fi &
+% \cmdprint{\matit}\code{\{x\}} & $\matit{x}$ \\
% \cmd{\trsp} &
% \ifenglish transposition \else transposée \fi &
% \cmdprint{\mat}\code{\{A\}}\cmdprint{\trsp} & $\mat{A}\trsp$ \\
@@ -1800,7 +2008,7 @@
% \begin{tabbing}
% \hspace*{2.5em}\=\cmd{\prdist}\code{\{E\}(\cmd{\lambda})}%
% \quad\=$\rightarrow$ \quad\=$\prdist{N}(0, 1)$ \quad\=\kill
-% \>\cmd{\prdist}\code{\{N\}(0, 1)}%
+% \>\cmd{\prdist}\code{\{N\}(0, 1)} %
% \>$\rightarrow$ %
% \>$\prdist{N}(0, 1)$ %
% \>(\ifenglish Normal\else normale\fi) \\
@@ -1816,26 +2024,36 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\mat}
-% \begin{DescribeMacro}{\trsp}
-% \begin{DescribeMacro}{\tr}
-% \begin{DescribeMacro}{\diag}
+% \begin{DescribeMacro}{\matit}
% \ifenglish%
% The command \cmd{\mat} typesets a variable in roman bold, a style
% often used for matrices and vectors (hence the name of the
-% command). To indicate matrix transposition, use only the command
-% \cmd{\trsp}. The commands \cmd{\tr} and \cmd{\diag} define two
-% other common linear algebra operators, the trace and the
-% diagonal. %
+% command). The command \cmd{\matit} is similar, but for a variable
+% in bold italic.
% \else%
% La commande \cmd{\mat} compose une variable en romain gras, ce qui
% est souvent utilisé pour les matrices et les vecteurs (d'où le nom
-% de la commande). Pour indiquer la transposée d'une matrice,
-% utilisez uniquement la commande \cmd{\trsp}. Les commandes
-% \cmd{\tr} et \cmd{\diag} définissent deux autres opérateurs
-% courants en algèbre linéaire, la trace et la diagonale. %
+% de la commande). La commande \cmd{\matit} produit plutôt une
+% variable en gras italique.
% \fi
% \end{DescribeMacro}
% \end{DescribeMacro}
+%
+% \begin{DescribeMacro}{\trsp}
+% \begin{DescribeMacro}{\tr}
+% \begin{DescribeMacro}{\diag}
+% \ifenglish%
+% To indicate matrix transposition, use only the command
+% \cmd{\trsp}. The commands \cmd{\tr} and \cmd{\diag} define
+% two other common linear algebra operators, the trace and the
+% diagonal. %
+% \else%
+% Pour indiquer la transposée d'une matrice, utilisez uniquement la
+% commande \cmd{\trsp}. Les commandes \cmd{\tr} et \cmd{\diag}
+% définissent deux autres opérateurs courants en algèbre linéaire,
+% la trace et la diagonale. %
+% \fi
+% \end{DescribeMacro}
% \end{DescribeMacro}
% \end{DescribeMacro}
%
@@ -1999,6 +2217,23 @@
% Évitez si possible les indices doubles et n'utilisez jamais
% d'indices triples. %
% \fi
+% \changes{1.1}{2024-03-06}{Documentation: add an advice on the
+% typesetting of bold symbols in mathematics.}
+% \item %
+% \ifenglish%
+% Bold in mathematics is a tricky issue. Use the aforementioned
+% class commands \cmdprint{\mat} and \cmdprint{\matit} to generate
+% bold symbols reliably across {\TeX} engines. With {\XeLaTeX},
+% \cmdprint{\mat} also works with Greek letters (that will be
+% typeset in italic). %
+% \else%
+% La composition en gras en mathématiques est une opération
+% délicate. Utilisez les commandes de la classe \cmdprint{\mat} et
+% \cmdprint{\matit} mentionnées précédemment pour composer
+% automatiquement des symboles en gras quelque soit le moteur
+% {\TeX}. Avec {\XeLaTeX}, \cmdprint{\mat} fonctionne aussi avec les
+% lettres grecques (qui sont alors composées en italique). %
+% \fi
% \item %
% \ifenglish%
% Always use the command \cmdprint{\ell} to obtain the symbol
@@ -2094,13 +2329,19 @@
% («équation», «inégalité», «relation», etc.), ainsi que par une
% espace insécable: %
% \fi
-% \begin{quote}
-% \def\LABEL{\ifenglish label\else étiquette\fi}
-% \def\EQN{\ifenglish equation\else équation\fi}
-% \def\INEQ{\ifenglish inequalities\else inégalités\fi}
-% \code{\EQN~}\cmdprint{\eqref}\marg{\LABEL} \\
-% \code{\INEQ~}\cmdprint{\eqref}\marg{\LABEL}\code{{-}{-}}\cmdprint{\eqref}\marg{\LABEL}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+ \def\LABEL{\ifenglish label\else étiquette\fi}
+ \def\EQN{\ifenglish equation\else équation\fi}
+ \def\INEQ{\ifenglish inequalities\else inégalités\fi}
+\begin{lstlisting}
+`\EQN'~\eqref`\marg{\LABEL}'
+`\INEQ'~\eqref`\marg{\LABEL}'--\eqref`\marg{\LABEL}'
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \end{itemize}
%
% \ifenglish%
@@ -2533,72 +2774,137 @@
% description pour un nouvel environnement \meta{env}, insérez la
% commande suivante dans le préambule de votre document: %
% \fi
-% \begin{quote}
-% \cmdprint{\addto}\cmdprint{\extras}\code{\languagename}\code{\{}\cmdprint{\def}\code{\bs}\meta{env}\code{autorefname}\marg{description}\code{\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\addto\extras`\languagename'{\def\`\meta{env}'autorefname`\marg{description}'}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish%
% (If the main language of the article is French, replace
% \cmdprint{\extras}\code{\languagename} by
-% \cmdprint{\extrasfrench}.)\footnote{%
+% \cmdprint{\extrasfrench}.\footnote{%
% For further details, see Section~6 of the documentation of
-% \pkg{hyperref}.} %
+% \pkg{hyperref}.}) %
% \else%
% (Si la langue principale de l'article est l'anglais, remplacez
% \cmdprint{\extras}\code{\languagename} par
-% \cmdprint{\extrasenglish}.)\footnote{%
+% \cmdprint{\extrasenglish}.\footnote{%
% Consultez au besoin la section~6 de la documentation de
-% \pkg{hyperref}.} %
+% \pkg{hyperref}.}) %
% \fi
%
% \begin{DescribeMacro}{\texorpdfstring}
% \changes{0.93}{2023-11-07}{Fix the name of a command from
% \cs{textorpdfstring} to the correct \cs{texorpdfstring} in the
-% documentation.}
+% documentation.}%
+% \changes{1.1}{2024-03-12}{Documentation: mention to also use
+% \cs{texorpdfstring} to fix \texttt{Token not allowed in a PDF
+% string} warnings.}
% \ifenglish%
-% The compilation of your manuscript may halt with the error message
+% The package \pkg{hyperref} builds the table of contents of the
+% PDF. If you use mathematical notation or symbols in a section
+% title, compilation of your manuscript may either result in
+% warnings of the form %
+% \else%
+% Le paquetage \pkg{hyperref} se charge de produire la table des
+% matières du fichier PDF. Si vous utilisez de la notation ou des
+% symboles mathématiques dans un titre de section, la compilation de
+% votre article pourrait soit résulter en des avertissements de la
+% forme %
+% \fi%
% \begin{quote}
-% \code{Improper alphabetic constant}
+% Token not allowed in a PDF string
% \end{quote}
-% The reason is most likely that you use a mathematical symbol in a
-% section title that \pkg{hyperref} is not able to properly
-% translate for the table of contents of the PDF. If you need
-% the symbol, try wrapping it in \cmd{\texorpdfstring}. This
-% command takes two arguments: the symbol that should appear in the
-% document, and the replacement text for the table of contents. For
-% example, you would replace %
+% \ifenglish%
+% or halt with the error message %
% \else%
-% Il se pourrait que la compilation de votre article échoue avec le
-% message d'erreur
+% ou échouer avec le message d'erreur %
+% \fi%
% \begin{quote}
% \code{Improper alphabetic constant}
% \end{quote}
-% La cause en est probablement un symbole mathématique placé dans un
-% titre de section que \pkg{hyperref} n'arrive pas à traduire pour
-% la table des matières du fichier PDF. Si vous ne pouvez vous
-% passer du symbole dans le titre, essayez d'utiliser la commande
-% \cmd{\texorpdfstring} dans celui-ci. Cette commande requiert deux
-% arguments: le texte qui doit apparaitre dans le document et celui
-% qui peut figurer dans la table des matières. Par exemple, vous
-% devriez remplacer %
+% \ifenglish%
+% If you need the notation or symbol in the title, wrap it in
+% \cmd{\texorpdfstring}. This command takes two arguments: the
+% notation or symbol that should appear in the document, and the
+% replacement text for the table of contents. For example, you would
+% replace %
+% \else%
+% Si vous ne pouvez vous passer de la notation ou du symbole dans le
+% titre, utilisez la commande \cmd{\texorpdfstring} dans celui-ci.
+% Cette commande requiert deux arguments: le texte qui doit
+% apparaitre dans le document et celui qui peut figurer dans la
+% table des matières. Par exemple, vous devriez remplacer %
% \fi%
-% \def\TEXT{Contribution \ifenglish of \else de \fi}
-% \begin{quote}
-% \cmdprint{\subsection}\code{\{\TEXT $}\cmdprint{\beta}\code{$\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\def\TEXT{\ifenglish Algorithm for\else Algorithme pour\fi}
+\begin{lstlisting}
+\section{`\TEXT' $U_n$}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+% \ifenglish%
+% by something along the lines of %
+% \else%
+% par quelque chose comme %
+% \fi%
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\section{`\TEXT' \texorpdfstring{$U_n$}{U[n]}}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+% \ifenglish%
+% You would also replace %
+% \else
+% De même, vous devriez remplacer %
+% \fi%
+% \iffalse
+%<*example>
+% \fi
+\def\TEXT{Contribution \ifenglish of\else de\fi}
+\begin{lstlisting}
+\subsection{`\TEXT' $\beta$}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish by\else par\fi
-% \begin{quote}
-% \cmdprint{\subsection}\code{\{\TEXT}\cmdprint{\texorpdfstring}\code{\{$}\cmdprint{\beta}\code{$\}\{beta\}\}}
-% \end{quote}
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\subsection{`\TEXT' \texorpdfstring{$\beta$}{beta}}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+% \ifenglish or even\else ou encore\fi
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\subsection{`\TEXT' \texorpdfstring{$\beta$}{`β'}}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \ifenglish%
-% or, even better if you can enter Unicode characters on the
-% keyboard, by %
+% if you can enter Unicode characters on the keyboard. %
% \else%
-% ou même, si vous pouvez entrer des caractères Unicode au clavier,
-% par %
+% si vous êtes en mesure d'entrer des caractères Unicode au
+% clavier. %
% \fi
-% \begin{quote}
-% \cmdprint{\subsection}\code{\{\TEXT}\cmdprint{\texorpdfstring}\code{\{$}\cmdprint{\beta}\code{$\}\{β\}\}}
-% \end{quote}
% \end{DescribeMacro}
%
% \warningbox{%
@@ -2782,12 +3088,12 @@
% \fi
% \item %
% \ifenglish%
-% (Optional) Appendices --- sections numbered A, B, \dots\ after the
-% command \cmd{\appendix} --- for proofs and longer mathematical
+% (Optional) Appendices---sections numbered A, B, \dots\ after the
+% command \cmd{\appendix}---for proofs and longer mathematical
% arguments. Each appendix must be cited in the main article. %
% \else%
-% (Optionnel) Les annexes --- des sections numérotées A, B, \dots\
-% suite à la commande \cmd{\appendix} ---- pour les démontrations de
+% (Optionnel) Les annexes~--- des sections numérotées A, B, \dots\
+% suite à la commande \cmd{\appendix}~--- pour les démontrations de
% théorèmes ou autres longs développements mathématiques. Chaque
% annexe doit être citée dans l'article. %
% \fi
@@ -2871,10 +3177,11 @@
% \end{itemize}
% Les informations de la page de titre et des parties annexes peuvent
% toujours figurer dans le code source. Autrement dit, vous pouvez
-% créer le matérial additionnel directement à partir du même préambule
-% --- ou gabarit --- que votre article principal; il suffit d'ajouter
+% créer le matérial additionnel directement à partir du même
+% préambule que votre article principal; il suffit d'ajouter
% \code{supplement} aux options de la classe. %
-% \fi \endgroup
+% \fi
+% \endgroup
%
% \ifenglish%
% The option \code{supplement} is compatible with the option
@@ -2955,7 +3262,7 @@
% at the bottom of the first page. The option has no other effect on
% the rendering of the article. %
% \else%
-% L'option \code{final} --- qui a préséance sur \code{review} ---
+% L'option \code{final}~--- qui a préséance sur \code{review}~---
% active la vérification que les informations de publication et que
% l'historique de révision sont fournis. De plus, si les
% informations d'octroi de licence sont fournies à l'aide des
@@ -3006,10 +3313,79 @@
% \else%
% AAAA-MM-JJ. Par exemple: %
% \fi
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}
+\received{`\isodate'}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+% \end{DescribeMacro}
+% \end{DescribeMacro}
+%
+% \begin{DescribeMacro}{\specialack}
+% \ifenglish%
+% The command \cmd{\specialack} provides a generic interface to
+% give special acknowledgement on the title page, such as the one
+% required by ADNI (\autoref{sec:usage:titling:adni}). The
+% command takes two arguments: %
+% \else%
+% La commande \cmd{\specialack} permet de reconnaitre une
+% contribution spéciale sur la page de titre, telle que celle exigée
+% par l'ADNI (\autoref{sec:usage:titling:adni}). La commande requiert
+% deux arguments: %
+% \fi%
% \begin{quote}
-% \cmdprint{\received}\code{\{2023-06-20\}}
+% \cmdprint{\specialack}\marg{\ifenglish by-line\else signature\fi}\marg{\ifenglish statement\else déclaration\fi}
% \end{quote}
+% \ifenglish%
+% The \meta{by-line} is inserted in the list of authors, whereas the
+% \meta{statement} is typeset at the bottom of the title page, with
+% the licensing information. Each argument may be empty, in which
+% case the corresponding information is not printed. For example,
+% the command \cmd{\ADNIacknowledgement} is effectively defined
+% as: %
+% \else%
+% La \meta{signature} est ajoutée à la liste des auteurs, alors que
+% la \meta{déclaration} est affichée au bas de la page de titre,
+% avec la déclaration de licence. Chaque argument peut être vide,
+% auquel cas l'information correspondante n'est pas affichée. À
+% titre d'exemple, la commande \cmd{\ADNIacknowledgement} est
+% définie ainsi: %
+% \fi%
+% \begin{quote}
+% \cmdprint{\specialack}\code{\{}\cmdprint{\CJS@adnibyline}\code{\}\{}\cmdprint{\CJS@adnistatement}\code{\}}
+% \end{quote}
+% \ifenglish%
+% (The internal commands \cmd{\CJS@adnibyline} and
+% \cmd{\CJS@adnistatement} typeset the official ADNI by-line and
+% statement. The analogous commands \cmd{\CJS@admcbyline} and
+% \cmd{\CJS@admcstatement} serve the same purpose for the
+% Alzheimer’s Disease Metabolomics Consortium.) %
+% \else%
+% (Les commandes internes \cmd{\CJS@adnibyline} et
+% \cmd{\CJS@adnistatement} contiennent le texte officiel de la
+% signature et de la déclaration de l'ADNI. Les commandes analogues
+% \cmd{\CJS@admcbyline} et \cmd{\CJS@admcstatement} pour
+% l'Alzheimer’s Disease Metabolomics Consortium sont également
+% définies dans la classe.) %
+% \fi%
% \end{DescribeMacro}
+%
+% \begin{DescribeMacro}{\specialackmark}
+% \ifenglish%
+% The command \cmd{\specialackmark} sets the footnote marker used by
+% \cmd{\specialack}. The default definition of the marker is: %
+% \else%
+% La commande \cmd{\specialackmark} permet de modifier l'appel de
+% note de bas de page utilisé par \cmd{\specialack}. La définition
+% par défaut de l'appel de note est: %
+% \fi%
+% \begin{quote}
+% \cmdprint{\textsuperscript}\code{\{}\cmdprint{\ensuremath}\code{\{*\}\}}
+% \end{quote}
% \end{DescribeMacro}
%
% \ifenglish%
@@ -3118,6 +3494,7 @@
\newif\ifCJS@final \CJS@finalfalse % final version?
\newif\ifCJS@titlingfooter \CJS@titlingfooterfalse % footer on title page?
\newif\ifCJS@journalinfo \CJS@journalinfotrue % display journal info?
+\newif\ifCJS@specialack \CJS@specialackfalse % special acknowledgement?
\newif\ifCJS@fancybreak \CJS@fancybreaktrue % display fancy break?
\newif\ifCJS@history \CJS@historyfalse % history present?
\newif\ifCJS@corrauth \CJS@corrauthfalse % corresponding author?
@@ -3198,13 +3575,6 @@
% Useful packages like \pkg{iftex} and \pkg{etoolbox} are already
% loaded by \class{memoir}.
%
-% The package \pkg{iflang} provides expandable checks for the current
-% language based on the macro \cmdprint{\languagename} or hyphenation
-% patterns.
-% \begin{macrocode}
-\RequirePackage{iflang}
-% \end{macrocode}
-%
% We rely on \pkg{natbib} for author-year citations. This package must
% be loaded before \pkg{babel}. The option \code{sectionbib} ensures
% that the bibliography (or list of references) is typeset as a
@@ -3369,6 +3739,9 @@
% {\LuaTeX}, commands from \pkg{fontspec} and \pkg{unicode-math} load
% the OpenType variants of the fonts. The encoding is UTF-8 by default
% for these engines.
+% \changes{1.1}{2024-03-06}{Implementation: explicitly set the option
+% \texttt{bold-style!=TeX} when loading the math font with the modern
+% engines.}
% \begin{macrocode}
\iftutex
\RequirePackage[babel=true]{microtype}
@@ -3388,7 +3761,7 @@
[
Extension = .otf,
Scale = 1,
- Ligatures = TeX
+ bold-style = TeX
]
\setmathfont{FiraMath-Regular}
[
@@ -3436,7 +3809,8 @@
% \label{sec:implementation:layout:colours}
%
% We define some colours used by the class. First, the three main
-% colours of {\TheCJS} logo: %
+% colours of {\TheCJS} logo, hand-picked from the SVG code of the
+% latter: %
% \textcolor{CJSpink}{\rule{1.5em}{1.2ex}} %
% \textcolor{CJSred}{\rule{1.5em}{1.2ex}} %
% \textcolor{CJSyellow}{\rule{1.5em}{1.2ex}}\,.
@@ -3455,8 +3829,8 @@
\definecolor{CJSurl}{rgb}{0.6,0,0} % external links
\definecolor{CJScitation}{rgb}{0,0.5,0} % citations
% \end{macrocode}
-% Finally, the colour of the ORCID icon\footnote{%
-% See \url{https://info.orcid.org/brand-guidelines}.}: %
+% Finally, the colour of the %
+% \href{https://info.orcid.org/brand-guidelines}{ORCID icon}: %
% \textcolor{CJSorcid}{\rule{1.5em}{1.2ex}}\,.
% \begin{macrocode}
\definecolor{CJSorcid}{HTML}{A6CE39}
@@ -3497,12 +3871,12 @@
% The decorative element is created using plain {\TeX} rules. Its
% height and depth are identical to the journal information.
% \begin{macrocode}
-\setbox\z@=\vbox{\sffamily\hbox{\CJS@journalname}\hbox{\bfseries V,}}
\newsavebox\CJS@journalornament
\setbox\CJS@journalornament=\vbox{%
+ \setbox\z@=\vbox{\sffamily\hbox{\CJS@journalname}\hbox{\bfseries V,}}
\setbox\tw@\hbox{\vrule \@width4pt\@height\ht\z@\@depth\dp\z@}
- \hbox{\textcolor{CJSpink}{\copy\tw@}\kern2pt%
- \textcolor{CJSred}{\copy\tw@}\kern2pt%
+ \hbox{\textcolor{CJSpink}{\copy\tw@}\kern2pt
+ \textcolor{CJSred}{\copy\tw@}\kern2pt
\textcolor{CJSyellow}{\copy\tw@}\kern6pt}}
% \end{macrocode}
%
@@ -3535,7 +3909,7 @@
%
% First, a command to set the font.
% \begin{macrocode}
-\newcommand*\CJS@setheadfootfont{%
+\def\CJS@setheadfootfont{%
\firalining\fontsize{9}{13}\selectfont}
% \end{macrocode}
%
@@ -3545,7 +3919,7 @@
\newlength\CJS@headdivheight
\settoheight\CJS@headdivheight{\CJS@setheadfootfont 1}
\setlength\CJS@headdivheight{0.9\CJS@headdivheight}
-\newcommand*\CJS@headdivrule{%
+\def\CJS@headdivrule{%
\rule[0.05\CJS@headdivheight]{0.75\normalrulethickness}{\CJS@headdivheight}}
% \end{macrocode}
%
@@ -3614,7 +3988,7 @@
% \label{sec:implementation:layout:titles}
%
% The \class{memoir} class assumes that sectioning starts at the
-% chapter level --- even with the \code{article} option. To get around
+% chapter level---even with the \code{article} option. To get around
% this requirement, we disable the effect of \cmdprint{\chapter}. A
% desirable side effect is to make \cmd{\autoref} work correctly for
% appendices.
@@ -4160,6 +4534,11 @@
\fancybreak{\pfbreakdisplay}
\fi
% \end{macrocode}
+% \changes{1.1}{2024-06-19}{Implementation: fix the positioning of the
+% licensing information at the bottom of the title page.}
+% \changes{1.1}{2024-06-26}{Implementation: include the special
+% acknowledgement statement in the licensing information, if
+% required.}
% Finally, unless overridden by a class option, allocate space
% for the licence statement at the bottom of the title page. By
% default, a notice indicates that the licence will appear
@@ -4173,11 +4552,12 @@
\iflanguage{french}{Futur emplacement de la déclaration de licence.}%
{Licence statement to appear here.}}
\begin{figure}[!b]
- \raisebox{0pt}[0pt][\footskip]{%
+ \raisebox{0pt}[0pt][\dimexpr\CJS@licenceht-\footskip\relax]{%
\vbox{%
\CJS@setlicencefont
\rule{\textwidth}{\normalrulethickness}
\parbox[t][\CJS@licenceht][t]{\textwidth}{%
+ \ifCJS@specialack\CJS@specialackstatement\fi
\ifCJS@final\CJS@licence \else\textit\CJS@notice \fi}}}
\end{figure}
\fi
@@ -4185,6 +4565,45 @@
% \end{macrocode}
% \end{macro}
%
+% \subsubsection{ADNI data use agreement}
+% \label{sec:implementation:titling:adni}
+%
+% \changes{1.1}{2024-06-26}{Implementation: define the new commands
+% \cs{ADNIacknowledgement} and \cs{ADMCacknowledgement}.}
+% \begin{macro}{\ADNIacknowledgement}
+% \begin{macro}{\ADMCacknowledgement}
+% The commands \cmd{\ADNIacknowledgement} and
+% \cmd{\ADMCacknowledgement} automatically create special
+% acknowledgements for the Alzheimer’s Disease Neuroimaging
+% Initiative (ADNI) and the Alzheimer’s Disease Metabolomics
+% Consortium (ADMC), respectively.
+% \begin{macrocode}
+\newcommand*\CJS@adnibyline{for the Alzheimer’s Disease Neuroimaging Initiative}
+\newcommand*\CJS@adnistatement{%
+ Data used in preparation of this article were obtained
+ from the \href{https://adni.loni.usc.edu}{Alzheimer’s Disease Neuroimaging Initiative}
+ (ADNI) database. As such, the investigators within the ADNI
+ contributed to the design and implementation of ADNI and/or provided
+ data but did not participate in the analysis or writing of this
+ report. A complete listing of ADNI investigators can be found at:
+ \url{https://adni.loni.usc.edu/wp-content/uploads/how_to_apply/ADNI_Acknowledgement_List.pdf}.}
+\newcommand*\CJS@admcbyline{for the Alzheimer’s Disease Metabolomics Consortium}
+\newcommand*\CJS@admcstatement{%
+ Data used in preparation of this article were generated by the
+ Alzheimer’s Disease Metabolomics Consortium (ADMC). As such, the
+ investigators within the ADMC provided data but did not participate
+ in analysis or writing of this report. A complete listing of ADMC
+ investigators can be found at:
+ \url{https://sites.duke.edu/adnimetab/team/}.}
+\newcommand*\ADNIacknowledgement{%
+ \specialack{\CJS@adnibyline}{\CJS@adnistatement}}
+\newcommand*\ADMCacknowledgement{%
+ \renewcommand*\CJS@specialackmark{\textsuperscript{\ensuremath{**}}}
+ \specialack{\CJS@admcbyline}{\CJS@admcstatement}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \subsection{Back matter}
% \label{sec:implementation:backmatter}
%
@@ -4292,20 +4711,20 @@
%
% First, set the font for the licence statement.
% \begin{macrocode}
-\newcommand*\CJS@setlicencefont{%
+\def\CJS@setlicencefont{%
\firalining\fontsize{8pt}{9pt}\selectfont}
% \end{macrocode}
%
% \begin{macro}{\CJS@measurelicence}
-% We need to compute the required space for a licence statement. The
-% internal command \cmd{\CJS@measurelicence} measures the total
-% height of either the licence statement provided with
-% \cmd{\licence}, or the seemingly longest version of the license
-% statement used by the publisher. The command is used inside
-% \cmd{\maketitle}.
+% We need to compute the required space for a licence statement and,
+% possibly, the ADNI statement. The internal command
+% \cmd{\CJS@measurelicence} measures the total height required using
+% either the licence statement provided with \cmd{\licence}, or the
+% seemingly longest version of the license statement used by the
+% publisher. The command is used inside \cmd{\maketitle}.
% \begin{macrocode}
\newlength\CJS@licenceht
-\newcommand\CJS@licencesample{%
+\def\CJS@licencesample{%
{\ccbyncnd*} 2023 The Authors. The Canadian Journal of
Statistics~{\textbar}~La revue canadienne de statistique published
by Wiley Periodicals LLC on behalf of Statistical Society of
@@ -4319,7 +4738,8 @@
\newcommand\CJS@measurelicence{%
\setbox\CJS@licencebox=\vbox{%
\CJS@setlicencefont
- \ifdefempty{\CJS@licence}{\CJS@licencesample}{\CJS@licence}}
+ \ifCJS@specialack\CJS@specialackstatement\fi
+ \ifdefempty{\CJS@licence}{\CJS@licencesample}{\CJS@licence}}%
\setlength\CJS@licenceht{\dimexpr\ht\CJS@licencebox+\dp\CJS@licencebox}}
% \end{macrocode}
% \end{macro}
@@ -4343,14 +4763,17 @@
% Inspired by the package \pkg{ccicons} (not used by the class since
% \pkg{fontawesome5} contains all the Creative Commons icons).
%
+% \changes{1.1a}{2024-07-25}{Implementation: fix the generation of
+% spacing in the \cs{ccby*} commands.}
% \begin{macro}{\ccby,\ccby*}
% The command \cmd{\ccby} typesets the icons for the Attribution
% licence: {\ccby}.
% \begin{macrocode}
\newcommand*\ccby{\ccby@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccby@{\mbox{%
- \faCreativeCommons\kern0.1em%
- \faCreativeCommonsBy\kern0.1em}}
+\def\CJS@fakern{\kern0.1em}
+\def\ccby@{\mbox{%
+ \faCreativeCommons\CJS@fakern
+ \faCreativeCommonsBy\CJS@fakern}}
% \end{macrocode}
% \end{macro}
%
@@ -4359,9 +4782,9 @@
% Attribution"-ShareAlike licence: {\ccbysa}.
% \begin{macrocode}
\newcommand*\ccbysa{\ccbysa@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbysa@{\mbox{%
- \faCreativeCommons\kern0.1em%
- \faCreativeCommonsBy\kern0.1em%
+\def\ccbysa@{\mbox{%
+ \faCreativeCommons\CJS@fakern
+ \faCreativeCommonsBy\CJS@fakern
\faCreativeCommonsSa}}
% \end{macrocode}
% \end{macro}
@@ -4371,9 +4794,9 @@
% Attribution"-NonCommercial licence: {\ccbync}.
% \begin{macrocode}
\newcommand*\ccbync{\ccbync@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbync@{\mbox{%
- \faCreativeCommons\kern0.1em%
- \faCreativeCommonsBy\kern0.1em%
+\def\ccbync@{\mbox{%
+ \faCreativeCommons\CJS@fakern
+ \faCreativeCommonsBy\CJS@fakern
\faCreativeCommonsNc}}
% \end{macrocode}
% \end{macro}
@@ -4384,10 +4807,10 @@
% {\ccbyncsa}.
% \begin{macrocode}
\newcommand*\ccbyncsa{\ccbyncsa@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbyncsa@{\mbox{%
- \faCreativeCommons\kern0.1em%
- \faCreativeCommonsBy\kern0.1em%
- \faCreativeCommonsNc\kern0.1em%
+\def\ccbyncsa@{\mbox{%
+ \faCreativeCommons\CJS@fakern
+ \faCreativeCommonsBy\CJS@fakern
+ \faCreativeCommonsNc\CJS@fakern
\faCreativeCommonsSa}}
% \end{macrocode}
% \end{macro}
@@ -4397,9 +4820,9 @@
% Attribution"-NoDerivatives licence: {\ccbynd}.
% \begin{macrocode}
\newcommand*\ccbynd{\ccbynd@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbynd@{\mbox{%
- \faCreativeCommons\kern0.1em%
- \faCreativeCommonsBy\kern0.1em%
+\def\ccbynd@{\mbox{%
+ \faCreativeCommons\CJS@fakern
+ \faCreativeCommonsBy\CJS@fakern
\faCreativeCommonsNd}}
% \end{macrocode}
% \end{macro}
@@ -4409,10 +4832,10 @@
% Attribution"-NonCommercial"-NoDerivatives licence: {\ccbyncnd}.
% \begin{macrocode}
\newcommand*\ccbyncnd{\ccbyncnd@\@ifstar{~\faCopyright[regular]}\relax}
-\newcommand*\ccbyncnd@{\mbox{%
- \faCreativeCommons\kern0.1em%
- \faCreativeCommonsBy\kern0.1em%
- \faCreativeCommonsNc\kern0.1em%
+\def\ccbyncnd@{\mbox{%
+ \faCreativeCommons\CJS@fakern
+ \faCreativeCommonsBy\CJS@fakern
+ \faCreativeCommonsNc\CJS@fakern
\faCreativeCommonsNd}}
% \end{macrocode}
% \end{macro}
@@ -4447,16 +4870,20 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\mat,\trsp,\tr,\diag}
+% \changes{1.1}{2024-07-13}{Implementation: simpler definition of
+% \cs{mat} and \cs{matit} using \cs{let} instead of \cs{newcommand*}.}
+% \begin{macro}{\mat,\matit,\trsp,\tr,\diag}
% The class provides special commands to typeset matrix and vector
% names, a carefully designed transpose symbol, and the most common
% linear algebra operators.
% \begin{macrocode}
\iftutex
- \newcommand*\mat[1]{\symbf{#1}}
+ \let\mat\symbf
+ \let\matit\symbfit
\newcommand*\trsp{^{\mkern-1.5mu\symsfup{T}}}
\else
- \newcommand*\mat[1]{\mathbf{#1}}
+ \let\mat\mathbf
+ \let\matit\mathbfit
\newcommand*\trsp{^{\mkern-1.5mu\mathsf{T}}}
\fi
\DeclareMathOperator{\tr}{tr}
@@ -4530,6 +4957,8 @@
% \subsection{Computer code and software}
% \label{sec:implementation:software}
%
+% \changes{1.1a}{2024-07-25}{Implementation: prevent hyphenation in
+% \cs{proglang} using a simple \cs{mbox}.}
% \begin{macro}{\proglang}
% The command \cmd{\proglang} provides a means to uniformly typeset
% the name of a software or programming language. The command also
@@ -4537,7 +4966,7 @@
% shortcuts to the most common languages. Notice that the
% \cmd{\Cpplang} case is specially crafted.
% \begin{macrocode}
-\newcommand*\proglang[1]{{\hyphenchar\font=-1 #1}}
+\newrobustcmd*\proglang[1]{\mbox{#1}}
\newcommand*\Rlang{\proglang{R}}
\newcommand*\SASlang{\proglang{SAS}}
\newcommand*\SPSSlang{\proglang{SPSS}}
@@ -4545,13 +4974,13 @@
\newcommand*\Pylang{\proglang{Python}}
\newcommand*\Julialang{\proglang{Julia}}
\newcommand*\Clang{\proglang{C}}
-\newcommand*\CJS@plus{%
+\newcommand*\Cpplang{\proglang{C\CJS@plus\CJS@plus}}
+\def\CJS@plus{%
\ifx\f@family\sfdefault%
\protect\hspace{-.04em}\protect\raisebox{-.125ex}{\larger+}%
\else%
\protect\hspace{-.03em}\protect\raisebox{.25ex}{\smaller+}%
\fi}
-\newcommand*\Cpplang{\proglang{C\CJS@plus\CJS@plus}}
% \end{macrocode}
% \end{macro}
%
@@ -4595,10 +5024,18 @@
% is handled by \pkg{natbib}. We loaded the package with the option
% \code{sectionbib} to obtain the list of references as a section, but
% \class{memoir} will use \cmd{\section} in such instances. We want an
-% unnumbered section. To achieve this efficiently, we redefine
-% the internal command of \class{memoir}.
+% unnumbered section (yet showing in the virtual table of contents of
+% the PDF). To achieve this efficiently, we redefine the internal
+% command of \class{memoir}.
+% \changes{1.1}{2024-07-02}{Implementation: add a
+% \cs{addtocontentsline} command to the redefinition of
+% \cs{@memb@bsec} to include the References section in the virtual
+% table of contents of the PDF.}
% \begin{macrocode}
-\renewcommand{\@memb@bsec}{\section*{\bibname}\prebibhook}
+\renewcommand{\@memb@bsec}{%
+ \section*{\bibname}%
+ \addcontentsline{toc}{section}{\bibname}%
+ \prebibhook}
% \end{macrocode}
%
% Furthermore, we need to redefine the title of the section, because
@@ -4706,14 +5143,14 @@
% \end{macro}
%
% \begin{macro}{\received,\accepted}
-% The article history --- dates when the article was received and
-% accepted --- is printed at the very end of the article when present.
+% The article history---dates when the article was received and
+% accepted---is printed at the very end of the article when present.
% Its treatment involves a number of steps.
%
% First, the dates themselves are input in ISO format YYYY-MM-DD and
% converted in language dependent strings using the package
% \pkg{datetime2}. In English, we want to use the British format
-% without the ordinal for the day: ``1 January 1970''. In French, we
+% without the ordinal for the day: 1 January 1970. In French, we
% can simply rely on the default format.
% \begin{macrocode}
\DTMlangsetup[en-GB]{ord=omit}
@@ -4750,36 +5187,73 @@
% \end{macrocode}
% \end{macro}
%
+% \changes{1.1a}{2024-07-25}{Implementation: replace box registers
+% \cs{@ne} and \cs{thr@@} by \cs{z@} and \cs{tw@}.}
% We also define a decorative element similar to the one used on the
% title page, only adapted for a single line content. To create a
% balanced element, we use the height of a letter with an ascender and
% the depth of the old-style number 4.
% \begin{macrocode}
-\setbox\@ne=\vbox{\hbox{\firaoldstyle\small l4}}
\newsavebox\CJS@historyornament
\setbox\CJS@historyornament=\vbox{%
- \setbox\thr@@\hbox{\vrule \@width1.5pt\@height\ht\@ne\@depth\dp\@ne}
- \hbox{\textcolor{CJSpink}{\copy\thr@@}\kern.75pt%
- \textcolor{CJSred}{\copy\thr@@}\kern.75pt%
- \textcolor{CJSyellow}{\copy\thr@@}\kern3pt}}
+ \setbox\z@=\vbox{\hbox{\firaoldstyle\small l4}}
+ \setbox\tw@\hbox{\vrule \@width1.5pt\@height\ht\z@\@depth\dp\z@}
+ \hbox{\textcolor{CJSpink}{\copy\tw@}\kern.75pt
+ \textcolor{CJSred}{\copy\tw@}\kern.75pt
+ \textcolor{CJSyellow}{\copy\tw@}\kern3pt}}
% \end{macrocode}
%
% Finally, the history information, when present, is printed at the
% end of the article.
% \begin{macrocode}
-\newcommand*\CJS@historybox{
+\def\CJS@historybox{
\par\addvspace{2\baselineskip}\noindent%
\smash{\box\CJS@historyornament \CJS@history}\par%
\vspace*{40pt}}
\AtEndDocument{\ifCJS@journalinfo\ifCJS@history\CJS@historybox\fi\fi}
% \end{macrocode}
% \end{macro}
+%
+% \changes{1.1}{2024-06-26}{Implementation: define the new command
+% \cs{specialack}.}
+% \begin{macro}{\specialack}
+% The command \cmd{\specialack} is the generic interface to give
+% special acknowledgement on the title page. The command inserts its
+% first argument in the list of authors, and its second argument at
+% the bottom of the title page, with the licensing information. Each
+% argument may be empty, in which case the corresponding information
+% is not displayed.
+% \begin{macrocode}
+\def\CJS@specialackstatement{}
+\newcommand*\specialack[2]{%
+ \ifstrempty{#1}{}{%
+ \author{#1\CJS@specialackmark}}
+ \ifstrempty{#2}{}{%
+ \CJS@specialacktrue
+ \renewcommand*\CJS@specialackstatement{\CJS@specialackmark\,#2\medskip\newline}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{1.1}{2024-06-26}{Implementation: define the new command
+% \cs{specialackmark}.}
+% \begin{macro}{\specialackmark}
+% The command \cmd{\specialackmark} changes the footnote marker used
+% by \cmd{\specialack} from its default definition.
+% \begin{macrocode}
+\def\CJS@specialackmark{\textsuperscript{\ensuremath{*}}}
+\newcommand*\specialackmark[1]{%
+ \renewcommand*\CJS@specialackmark{#1}}
+% \end{macrocode}
+% \end{macro}
+%
%</class>
% ^^A <<<<< End of the code of the class
%
% ^^A Change notes for the templates must appear before \Finale
% \changes{0.93}{2023-11-07}{Templates: fix a missing closing brace in
% \cs{author} commands.}
+% \changes{1.1}{2024-01-23}{Templates: revise the description of the
+% \texttt{sharing} environment.}
% \Finale
%
% \iffalse
@@ -4893,18 +5367,18 @@
%<fr> %% la page de titre automatiquement.
\begin{englishabstract}
<Insert your English abstract here. The abstract should be concise
- --- up to 10 lines long --- and descriptive. Avoid symbols as much
- as possible. Formulas are strongly discouraged, and citations
- should be avoided.>
+ (up to 10 lines long) and descriptive. Avoid symbols as much as
+ possible. Formulas are strongly discouraged, and citations should
+ be avoided.>
%<fr> [Un résumé en anglais sera fourni pour les auteurs qui ne peuvent
%<fr> le préparer eux-mêmes.]
\end{englishabstract}
\begin{frenchabstract}
<Insérer le texte du résumé en français ici. Le résumé doit être
- concis --- une dizaine de lignes --- et descriptif. Éviter autant
- que possible les symboles. Les équations mathématiques sont
- fortement découragées et les citations sont à éviter.>
+ concis (une dizaine de lignes) et descriptif. Éviter autant que
+ possible les symboles. Les équations mathématiques sont fortement
+ déconseillées et les citations sont à éviter.>
%<en> [We will supply a French abstract for those authors who
%<en> can't prepare it themselves.]
\end{frenchabstract}
@@ -4958,13 +5432,15 @@
%<fr> <Texte libre>
\end{supplement}
-%<en> %% DATA SHARING (optional - comment out if unused). Describe how to
-%<en> %% access data that you wish to share. Provide a permanent link such
-%<en> %% as a Document Object Identifier (DOI) or an URL.
-%<fr> %% PARTAGE DES DONNÉES (optionnel - commenter si inutilisé).
-%<fr> %% Expliquer comment accéder à des données de l'article mises à
-%<fr> %% disposition. Fournir un lien permanent, comme un identificateur
-%<fr> %% d'objets numériques (DOI) ou une adresse URL.
+%<en> %% DATA SHARING (mandatory). In accordance with the Expect Data
+%<en> %% Sharing editorial policy of Wiley, make a statement about the
+%<en> %% availability or absence of shared data. Provide a permanent link
+%<en> %% such as a Document Object Identifier (DOI) or an URL.
+%<fr> %% PARTAGE DES DONNÉES (obligatoire). Conformément à la politique
+%<fr> %% éditoriale «Expect Data Sharing» de Wiley, vous devez indiquer
+%<fr> %% les conditions de partage des données de recherche, ou l'absence
+%<fr> %% de celles-ci, le cas échéant. Fournir un lien permanent, comme un
+%<fr> %% identificateur d'objets numériques (DOI) ou une adresse URL.
\begin{sharing}
%<en> <Free form text>
%<fr> <Texte libre>
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.pdf b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.pdf
index dc76f9053e..bf7f73c7c4 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.pdf
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.pdf
Binary files differ
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-en.dbj b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-en.dbj
index 38907626da..98372dceb7 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-en.dbj
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-en.dbj
@@ -6,7 +6,7 @@
\preamble
-Copyright (C) 2023 Statistical Society of Canada | Société
+Copyright (C) 2023-2024 Statistical Society of Canada | Société
canadienne de statistique
This file may be distributed and/or modified under the conditions
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-fr.dbj b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-fr.dbj
index 3ae793cf2b..13be31421c 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-fr.dbj
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-bst-fr.dbj
@@ -6,7 +6,7 @@
\preamble
-Copyright (C) 2023 Statistical Society of Canada | Société
+Copyright (C) 2023-2024 Statistical Society of Canada | Société
canadienne de statistique
This file may be distributed and/or modified under the conditions
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-class.dbj b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-class.dbj
index c987b1e6a7..3ef16366bd 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-class.dbj
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-class.dbj
@@ -6,7 +6,7 @@
This is a generated file.
-Copyright (C) 2023 Statistical Society of Canada | Société
+Copyright (C) 2023-2024 Statistical Society of Canada | Société
canadienne de statistique
This file may be distributed and/or modified under the conditions
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs
index e786d500bd..18f0ccbd78 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs
@@ -4,7 +4,7 @@
% for The Canadian Journal of Statistics | La revue canadienne de
% statistique
%
-% Copyright (C) 2023 Statistical Society of Canada | Société
+% Copyright (C) 2023-2024 Statistical Society of Canada | Société
% canadienne de statistique
%
% This file may be distributed and/or modified under the conditions
@@ -31,7 +31,7 @@
%-------------------------------------------------------------------
% Begin module:
%\fi
- % \ProvidesFile{cjs-rcs-english.mbs}[2023/11/29 v1.0 (VG, PWD)]
+ % \ProvidesFile{cjs-rcs-english.mbs}[2024/07/30 v1.1a (VG, PWD)]
%\iffalse
%<*a&!a>
% The following ensures that the driver part is not seen by makebst
@@ -87,7 +87,7 @@
%% Configuration of the glossary
\addto\extrasenglish{%
- \def\glossaryname{Version history}}
+ \def\glossaryname{History of changes}}
\GlossaryPrologue{\section*{\glossaryname}%
\addcontentsline{toc}{section}{\glossaryname}}
\setlength{\GlossaryMin}{5cm}
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-french.mbs b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-french.mbs
index eb60ab8a20..4d3a76021c 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-french.mbs
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-french.mbs
@@ -4,7 +4,7 @@
% The Canadian Journal of Statistics | La revue canadienne de
% statistique
%
-% Copyright (C) 2023 Statistical Society of Canada | Société
+% Copyright (C) 2023-2024 Statistical Society of Canada | Société
% canadienne de statistique
%
% This file may be distributed and/or modified under the conditions
@@ -31,7 +31,7 @@
%-------------------------------------------------------------------
% Begin module:
%\fi
- % \ProvidesFile{cjs-rcs-french.mbs}[2023/11/29 v1.0 (VG, PWD)]
+ % \ProvidesFile{cjs-rcs-french.mbs}[2024/07/30 v1.1a (VG, PWD)]
%\iffalse
%<*a&!a>
% The following ensures that the driver part is not seen by makebst
@@ -87,7 +87,7 @@
%% Configuration of the glossary
\addto\extrasenglish{%
- \def\glossaryname{Version history}}
+ \def\glossaryname{History of changes}}
\GlossaryPrologue{\section*{\glossaryname}%
\addcontentsline{toc}{section}{\glossaryname}}
\setlength{\GlossaryMin}{5cm}
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs
index 10c84b1ff6..cf79365ffd 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs
@@ -3,7 +3,7 @@
% Master bibliography style for The Canadian Journal of Statistics |
% La revue canadienne de statistique
%
-% Copyright (C) 2023 Statistical Society of Canada | Société
+% Copyright (C) 2023-2024 Statistical Society of Canada | Société
% canadienne de statistique
%
% This file may be distributed and/or modified under the conditions
@@ -32,7 +32,7 @@
% -------------------------------------------------------------------
% Name and version information of the main mbs file:
%\fi
- % \ProvidesFile{cjs-rcs-merlin.mbs}[2023/11/29 v1.0 (VG, PWD, AO, DPC)]
+ % \ProvidesFile{cjs-rcs-merlin.mbs}[2024/07/30 v1.1a (VG, PWD, AO, DPC)]
%\iffalse
%</!tail>
%<*a&!a>
@@ -92,7 +92,7 @@
%% Configuration of the glossary
\addto\extrasenglish{%
- \def\glossaryname{Version history}}
+ \def\glossaryname{History of changes}}
\GlossaryPrologue{\section*{\glossaryname}%
\addcontentsline{toc}{section}{\glossaryname}}
\setlength{\GlossaryMin}{5cm}
diff --git a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.pdf b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.pdf
index af76f1c69e..79fddb7248 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.pdf
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.pdf
Binary files differ
diff --git a/macros/latex/contrib/colortbl/colortbl-DE.pdf b/macros/latex/contrib/colortbl/colortbl-DE.pdf
index 57a1653f9c..879d4b3f5b 100644
--- a/macros/latex/contrib/colortbl/colortbl-DE.pdf
+++ b/macros/latex/contrib/colortbl/colortbl-DE.pdf
Binary files differ
diff --git a/macros/latex/contrib/colortbl/colortbl.dtx b/macros/latex/contrib/colortbl/colortbl.dtx
index 076c69643a..8e5f1e8be1 100644
--- a/macros/latex/contrib/colortbl/colortbl.dtx
+++ b/macros/latex/contrib/colortbl/colortbl.dtx
@@ -15,7 +15,7 @@
%<driver>\ProvidesFile{colortbl.drv}
% \fi
% \ProvidesFile{colortbl.dtx}
- [2024/05/26 v1.0h Color table columns (DPC)]
+ [2024/07/06 v1.0i Color table columns (DPC)]
%
% \iffalse
%<*driver>
@@ -1505,9 +1505,21 @@
%
%
% longtable support.
+% \changes{v1.0i}{2024/07/06}{tagging code adjusments for longtable hline}
+% \begin{macrocode}
+\ExplSyntaxOn
+% \end{macrocode}
+%
+% Stub tag support if tagging has not been enabled.
+% \begin{macrocode}
+\cs_if_exist:NF\tag_mc_begin:n{
+ \cs_new:Npn\tag_mc_begin:n#1{}
+ \cs_new:Npn\tag_mc_end:{}
+}
+% \end{macrocode}
+%
% \begin{macrocode}
\AtBeginDocument{
- \ifx\longtable\@undefined\else
\def\LT@@hline{%
\ifx\LT@next\hline
\global\let\LT@next\@gobble
@@ -1517,7 +1529,10 @@
\else
\gdef\CT@LT@sep{%
\multispan\LT@cols{%
- \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill}\cr}%
+ \tag_mc_begin:n{artifact}
+ \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill
+ \tag_mc_end: \int_gdecr:N \g__tbl_row_int
+ }\cr}%
\fi
\else
\global\let\LT@next\empty
@@ -1526,13 +1541,20 @@
\fi
\ifnum0=`{\fi}%
\multispan\LT@cols
- {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
+ {\tag_mc_begin:n{artifact}
+ \CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill
+ \tag_mc_end: \int_gdecr:N \g__tbl_row_int
+ }\cr
\CT@LT@sep
\multispan\LT@cols
- {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
+ {\tag_mc_begin:n{artifact}
+ \CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill
+ \tag_mc_end: \int_gdecr:N \g__tbl_row_int
+ }\cr
\noalign{\penalty\@M}%
\LT@next}
- \fi}
+ }
+\ExplSyntaxOff
% \end{macrocode}
%
%
diff --git a/macros/latex/contrib/colortbl/colortbl.pdf b/macros/latex/contrib/colortbl/colortbl.pdf
index 9a2299528d..6ebe2525c3 100644
--- a/macros/latex/contrib/colortbl/colortbl.pdf
+++ b/macros/latex/contrib/colortbl/colortbl.pdf
Binary files differ
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf
index d0d64760c9..adbd84e2f6 100644
--- a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf
+++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex
index 3e4ce0aa72..9d38bb03ee 100644
--- a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex
+++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex
@@ -34,8 +34,8 @@
\usepackage[margin=1.5cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.1.7}
-\def\TPdate{03/06/2024}
+\def\TPversion{0.1.9}
+\def\TPdate{20/08/2024}
\usepackage{tcolorbox}
\sethlcolor{lightgray!25}
\NewDocumentCommand\MontreCode{ m }{%
@@ -111,6 +111,10 @@
\section{History}
+\verb|v0.1.9|~:~~~~Title banner
+
+\verb|v0.1.8|~:~~~~Score banner
+
\verb|v0.1.7|~:~~~~Small patch for \textsf{Vignette} macro (see \texttt{[fr]} documentation)
\verb|v0.1.6|~:~~~~Small patchs for \textsf{displayskip} + \textsf{pas-tableur} (see \texttt{[fr]} documentation)
@@ -430,6 +434,60 @@ The last argument, mandatory and between \MontreCode{(...)} give the list of cat
\pagebreak
+\pagebreak
+
+\section{Score banner}
+
+\subsection{Global use}
+
+The idea is to insert a score banner, with customizations.
+
+\begin{codehigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+ScoreBanner[keys]{number}
+\end{codehigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+%default output
+\ScoreBanner{}
+\end{demohigh}
+
+\subsection{The macro}
+
+Available \MontreCode{keys} are :
+
+\begin{itemize}
+ \item \MontreCode{Height} : height of the banner (without the legend) ; \MontreCode{1} by default
+ \item \MontreCode{Ratio} : ratio of boxes ; \MontreCode{0.6} by default
+ \item \MontreCode{Symbols} : labels ; \MontreCode{A,B,C,D,E} by default
+ \item \MontreCode{Legend} : legend (uppercase) ; \MontreCode{score} by default ;
+ \item \MontreCode{Font} : global font ; \MontreCode{\textbackslash bfseries\textbackslash sffamily} by default
+ \item \MontreCode{ShowLegend} : boolean for the legend ; \MontreCode{false} by default ;
+ \item \MontreCode{Colors} : colors for boxes ;
+
+ \hfill\MontreCode{colorNS1,colorNS2,colorNS3,colorNS4,colorNS5} by default ;
+ \item \MontreCode{ScaleSymbols} : scale H/V of labels ; \MontreCode{1.25,1.65} by default ;
+ \item \MontreCode{Colbg} : background color for select box ; \MontreCode{white} by default.
+\end{itemize}
+
+\smallskip
+
+If the list of colors doesn't fill all the boxes, \MontreCode{lightgray} color is used.
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\ScoreBanner[Legend=Geometry,Height=2]{4}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25,style/demo=yellow!25]
+%bg of lower part is yellow!25
+\def\lstcouleurs{colorNS1,colorNS2,colorNS3,colorNS4,colorNS5,purple}
+\ScoreBanner%
+ [ScaleSymbols={1.33,2},Height=3.25,ShowLegend=false,Ratio=0.75,
+ Symbols={1,2,3,4,5,6},Colors=\lstcouleurs,
+ Colbg=yellow!25]{1}
+\end{demohigh}
+
+\pagebreak
+
\section{SMS conversation}
\subsection{Global use}
@@ -503,4 +561,77 @@ Regarding the bubble creation commands, \MontreCode{\textbackslash InSMS} and \M
\end{ChatSMS}
\end{demohigh}
+\pagebreak
+
+\section{Title banner}
+
+\subsection{Global usage}
+
+The idea is to propose a banner, made with \TikZ, to present for example a title.
+
+The global style is fixed, but few customizations are possible.
+
+\begin{codehigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri[keys]{number}{title}
+\end{codehigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri{01}{Titre du document}
+\end{demohigh}
+
+Available \MontreCode{keys} are :
+
+\begin{itemize}
+ \item \MontreCode{height} (\MontreCode{2.5em} by default)
+ \item \MontreCode{width} (\MontreCode{\textbackslash linewidth} by default)
+ \item \MontreCode{blockwidth} (\MontreCode{2.75em} by default, but can be set to \MontreCode{auto})
+ \item \MontreCode{coltxt} (\MontreCode{white} by default)
+ \item \MontreCode{fonttxt}
+ \item \MontreCode{swap} (\MontreCode{false} by default, for an other style )
+ \item \MontreCode{maincolor} (\MontreCode{darkgray} by default)
+ \item \MontreCode{collight} (\MontreCode{darkgray!25} by default)
+ \item \MontreCode{colmedium} (\MontreCode{darkgray!50} by default)
+ \item \MontreCode{coldark} (\MontreCode{darkgray} by default)
+ \item \MontreCode{logo}
+ \item \MontreCode{type}
+ \item \MontreCode{dispblock} (\MontreCode{true} by default)
+ \item \MontreCode{num} (\MontreCode{true} by default)
+ \item \MontreCode{customtype}
+\end{itemize}
+
+\subsection{Examples}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri
+ [maincolor=red,type=EXERCISES,blockwidth=auto,logo=\faAddressBook]
+ {7}{My doc}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri
+ [maincolor=red,type=EXERCISES,blockwidth=5em,logo=\faAddressBook]
+ {7}{My doc}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri
+ [maincolor=red,type=EXERCISES,blockwidth=auto,logo=\faAddressBook,swap]
+ {07}{My doc}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri
+ [dispblock=false,maincolor=teal,logo=\faSchool]
+ {}{My doc}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri
+ [maincolor=olive,customtype=TP,blockwidth=4em,logo=\faAddressBook,height=4em]
+ {7}{My doc}
+\end{demohigh}
+
+It's possible to redefine \MontreCode{\textbackslash part} (for example).
+
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf
index b128076999..5f86baf5c9 100644
--- a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf
+++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex
index 2f74296c5d..1d9576f944 100644
--- a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex
+++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex
@@ -39,8 +39,8 @@
\usepackage[margin=1.5cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.1.7}
-\def\TPdate{03 juin 2024}
+\def\TPversion{0.1.9}
+\def\TPdate{20 août 2024}
\usepackage{tcolorbox}
\tcbuselibrary{listingsutf8}
\newtcblisting{DemoCode}[1]{%
@@ -62,14 +62,14 @@
keywordstyle={\color{blue}},%
classoffset=1,%
alsoletter={-},%
- morekeywords={center,justify,\LstDeuxNiv,\LstTroisNiv,\LstQuatreNiv,\NoticeDeuxNiv,\NoticeTroisNiv,\NoticeQuatreNiv,\DeuxNivBatterie,\TroisNivBatterie,\QuatreNivBatterie,\DeuxNivSmiley,\TroisNivSmiley,\QuatreNivSmiley,\vcenterfa,\faIcon},%
+ morekeywords={center,justify,\LstDeuxNiv,\LstTroisNiv,\LstQuatreNiv,\NoticeDeuxNiv,\NoticeTroisNiv,\NoticeQuatreNiv,\DeuxNivBatterie,\TroisNivBatterie,\QuatreNivBatterie,\DeuxNivSmiley,\TroisNivSmiley,\QuatreNivSmiley,\vcenterfa,\faIcon,part,RenewDocumentCommand,IfBooleanTF},%
keywordstyle={\color{violet}},%
classoffset=2,%
alsoletter={-},%
- morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv,BoiteSimple,\SujetTitreExo,\CircledNumber,\AffVignette,\BoiteArrondie,\ChangerDisplaySkip,\celcouleur,\celfusion,\lignetxt,\colonnetxt,\celnumbreak,\celtxt},%
+ morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv,BoiteSimple,\SujetTitreExo,\CircledNumber,\AffVignette,\BoiteArrondie,\ChangerDisplaySkip,\celcouleur,\celfusion,\lignetxt,\colonnetxt,\celnumbreak,\celtxt,\BandeauScore,\InsererImage,\tkzBannerTri},%
keywordstyle={\color{green!50!black}},%
classoffset=3,%
- morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre,AlignH,bg,txt,bthick,bcol,raise,Type,EspH,Fond,Texte,Style,Dense,Avant,AvantS,Apres,ApresS,Global,align,width},%
+ morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre,AlignH,bg,txt,bthick,bcol,raise,Type,EspH,Fond,Texte,Style,Dense,Avant,AvantS,Apres,ApresS,Global,align,width,Legende,CouleurFond,Hauteur,Ratio,AffLegende,Couleurs,EchelleSymboles,Symboles,vRemplir,vOffset,vCentrer,height,width,blockwidth,collight,colmedium,coldar,coltxt,fonttxt,swap,maincolor,logo,type,num,dispblock,customtype},%
keywordstyle={\color{orange}}
},%
#1
@@ -149,6 +149,10 @@
\section{Historique}
+\verb|v0.1.9|~:~~~Bannière de titre + Insertion d'images en remplissage vertical
+
+\verb|v0.1.8|~:~~~Nutriscore
+
\verb|v0.1.7|~:~~~~Possibilité de créer des vignettes \textsf{perso}
\verb|v0.1.6|~:~~~~Patch \textsf{displayskip} + Patches \textsf{pas-tableur}
@@ -799,6 +803,64 @@ L'argument, obligatoire et entre \MontreCode{\{...\}} est la liste des catégori
\pagebreak
+\section{Bandeau de score}
+
+\subsection{Principe et fonctionnement}
+
+L'idée est de proposer une commande pour insérer un bandeau de score, type \textit{nutriscore}.
+
+\smallskip
+
+La majorité des éléments sont personnalisables.
+
+\begin{DemoCode}{listing only}
+\BandeauScore[clés]{numéro}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+%sortie par défaut
+\BandeauScore{}
+\end{DemoCode}
+
+\subsection{La commande}
+
+Les \MontreCode{clés} disponibles, à donner entre \MontreCode{[...]}, sont :
+
+\begin{itemize}
+ \item \MontreCode{Hauteur} : hauteur du bandeau (sans la légende) ; \MontreCode{1} par défaut
+ \item \MontreCode{Ratio} : rapport V/H des cases ; \MontreCode{0.6} par défaut
+ \item \MontreCode{Symboles} : contenu des cases ; \MontreCode{A,B,C,D,E} par défaut
+ \item \MontreCode{Legende} : texte de la légende (qui sera en majuscule) ; \MontreCode{score} par défaut ;
+ \item \MontreCode{Police} : Police globale ; \MontreCode{\textbackslash bfseries\textbackslash sffamily} par défaut
+ \item \MontreCode{AffLegende} : booléen pour afficher la légende ; \MontreCode{false} par défaut ;
+ \item \MontreCode{Couleurs} : couleurs des cases ;
+
+ \hfill\MontreCode{couleurNS1,couleurNS2,couleurNS3,couleurNS4,couleurNS5} par défaut ;
+ \item \MontreCode{EchelleSymboles} : échelle(s) H/V des symboles ; \MontreCode{1.25,1.65} par défaut ;
+ \item \MontreCode{CouleurFond} : couleur du fond (pour la case choisie) ; \MontreCode{white} par défaut.
+\end{itemize}
+
+L'argument obligatoire correspond quant à lui au numéro de la case à mettre en valeur (\MontreCode{vide} par défaut).
+
+\smallskip
+
+Si la liste des couleurs ne permet pas de remplir toutes les cases, la couleur \MontreCode{lightgray} est utilisée.
+
+\begin{DemoCode}{}
+\BandeauScore[Legende=Géométrie,Hauteur=2]{4}
+\end{DemoCode}
+
+\begin{DemoCode}{colbacklower=yellow!25}
+%le fond de la boîte a été défini sur yellow!25
+\def\lstcouleurs{couleurNS1,couleurNS2,couleurNS3,couleurNS4,couleurNS5,purple}
+\BandeauScore%
+ [EchelleSymboles={1.33,2},Hauteur=2,AffLegende=false,
+ Symboles={1,2,3,4,5,6},Couleurs=\lstcouleurs,
+ CouleurFond=yellow!25]{1}
+\end{DemoCode}
+
+\pagebreak
+
\section{Fenêtre type conversation instantanée}
\subsection{Principe et fonctionnement}
@@ -1248,6 +1310,93 @@ On se place dans la plage \VignetteTableur{A3:B5} pour...
On lance le logiciel \BoiteArrondie[Fond=cyan!33,Texte=violet,EspH=2mm,Style=rect]{situé sur le bureau} en cliquant \BoiteArrondie[Fond=lightgray!25,Texte=darkgray]{droit}.
\end{DemoCode}
+\subsection{Bannière de titre}
+
+L'idée est de proposer une bannière, réalisée en \TikZ, pour présenter par exemple un titre.
+
+Il sera ensuite possible de redéfinir un sectionnement du document (\MontreCode{part/section/subsection/...}).
+
+Le style global est fixé, mais des éléments de personnalisations sont possibles (des calculs en interne sont effectués pour adapter la taille des textes).
+
+\begin{DemoCode}{listing only}
+\tkzBannerTri[clés]{numéro}{titre}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\tkzBannerTri{01}{Titre du document}
+\end{DemoCode}
+
+Les principales \MontreCode{clés} (anglicisées) sont :
+
+\begin{itemize}
+ \item \MontreCode{height} : hauteur de la bannière (\MontreCode{2.5em} par défaut)
+ \item \MontreCode{width} : largeur de la bannière (\MontreCode{\textbackslash linewidth} par défaut)
+ \item \MontreCode{blockwidth} : largeur du bloc gauche (\MontreCode{2.75em} par défaut, mais si \MontreCode{auto}, la largeur s'adaptera à son contenu)
+ \item \MontreCode{coltxt} : couleur des textes (\MontreCode{white} par défaut)
+ \item \MontreCode{fonttxt} : police globale des textes (\MontreCode{white} par défaut)
+ \item \MontreCode{swap} : booléen pour changer le style de la partie droite (\MontreCode{false} par défaut)
+ \item \MontreCode{maincolor} : couleur principale, les dégradés étant calculés automatiquement (\MontreCode{darkgray} par défaut)
+ \item \MontreCode{collight} : couleur la plus claire (\MontreCode{darkgray!25} par défaut)
+ \item \MontreCode{colmedium} : couleur du milieu (\MontreCode{darkgray!50} par défaut)
+ \item \MontreCode{coldark} : couleur la plus foncée (\MontreCode{darkgray} par défaut)
+ \item \MontreCode{logo} : logo éventuel, placé tout à droite
+ \item \MontreCode{type} : type éventuel du document, qui est dans le bloc gauche
+ \item \MontreCode{dispblock} : booléen pour afficher le bloc de gauche (actif par défaut)
+ \item \MontreCode{num} : booléen pour afficher le numéro (actif par défaut)
+ \item \MontreCode{customtype} : texte personnalisé éventuel du bloc gauche
+\end{itemize}
+
+\begin{DemoCode}{}
+\tkzBannerTri
+ [maincolor=red,type=EXERCICES,blockwidth=auto,logo=\faAddressBook]
+ {7}{Mon document}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\tkzBannerTri
+ [maincolor=red,type=EXERCICES,blockwidth=5em,logo=\faAddressBook]
+ {7}{Mon document}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\tkzBannerTri[%
+ maincolor=red,type=EXERCICES,blockwidth=auto,logo=\faAddressBook,swap]
+ {07}{Mon document}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\tkzBannerTri
+ [dispblock=false,maincolor=teal,logo=\faSchool]
+ {}{Mon document}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\tkzBannerTri
+ [maincolor=olive,customtype=TP,blockwidth=4em,logo=\faAddressBook,height=4em]
+ {7}{Mon document}
+\end{DemoCode}
+
+Il est de ce fait \textit{normalement} possible (à vérifier quand même\ldots) de modifier le comportement de la commande \MontreCode{\textbackslash part}, dans l'optique de l'utilisation avec une table des matières notamment.
+
+\begin{DemoCode}{}
+%redéfinition de \part avec gestion de la version étoilée
+\RenewDocumentCommand\part{ s m D<>{} }{%
+ \addtocounter{part}{1}%
+ \IfBooleanTF{#1}%
+ {%
+ \tkzBannerTri[#3,num=false]{\thepart}{#2}%
+ }%
+ {%
+ \tkzBannerTri[#3]{\thepart}{#2}%
+ %\addcontentsline{toc}{part}{#2}%éventuellement
+ }%
+}
+%modification de la numérotation, avec forçage du 0
+\renewcommand\thepart{\ifnum\value{part}<10\relax0\fi\arabic{part}}
+
+\part{Éléments de logique}<type=TP,logo=\faAirbnb>
+\end{DemoCode}
+
\pagebreak
\section{Patchs divers}
@@ -1337,4 +1486,24 @@ L'exemple suivant illustre les différentes commandes proposées dans ce package
\end{tikzpicture}
\end{DemoCode}
+\subsection{Insertion d'images avec remplissage de l'espace vertical}
+
+L'idée est de proposer une commande pour adapter la hauteur d'une image à la hauteur restante en base de page.
+
+Cela repose en fait simplement sur l'utilisation de \MontreCode{[height=\textbackslash dimexpr\textbackslash pagegoal-\textbackslash pagetotal\textbackslash relax]}.
+
+\begin{DemoCode}{listing only}
+\InsererImage<vRemplir=true/false,vOffset=...,vCentrer=...>[clés includegraphics]<image>
+\end{DemoCode}
+
+La clé \MontreCode{vOffset} permet de spécifier une longueur à retirer au calcul automatique (par défaut elle est fixée à \MontreCode{0pt})..
+
+La clé \MontreCode{vCentrer} (parmi \MontreCode{m/h/b/n} permet de spécifier un type de centrage vertical, si besoin, parmi \MontreCode{milieu/haut/bas/non} (\MontreCode{n} par défaut).
+
+\begin{DemoCode}{listing only}
+\InsererImage<vRemplir,vOffset=5mm,vCentrer=m>{example-image}
+\end{DemoCode}
+
+\InsererImage<vRemplir,vOffset=5mm,vCentrer=m>{example-image}
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/customenvs/tex/customenvs.sty b/macros/latex/contrib/customenvs/tex/customenvs.sty
index e63ea57f84..535baa0f18 100644
--- a/macros/latex/contrib/customenvs/tex/customenvs.sty
+++ b/macros/latex/contrib/customenvs/tex/customenvs.sty
@@ -3,9 +3,11 @@
% source pencil...: CC-BY-SA 4.0 https://tex.stackexchange.com/questions/504092/replicating-a-fancy-bordered-text-style-in-latex/504145#504145
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{customenvs}[2024/06/03 0.1.7 Custom classic environments]
+\ProvidesPackage{customenvs}[2024/08/20 0.1.9 Custom classic environments]
%====HISTORIQUE
+% v 0.1.9 tkzBanner + tkzBannerTri + includegraphicsfill
+% v 0.1.8 Nutriscore
% v 0.1.7 Style perso pour les vignettes
% v 0.1.6 DisplaySkip patch + Patchs pas-tableur
% v 0.1.5 Boxes for exam title + circled numbers + Vignettes + Small simple boxes creation
@@ -1095,6 +1097,93 @@
title={\@ifpackageloaded{babel}{\NoAutoSpacing#2}{#2}\IfBooleanTF{#1}{}{$\cdot$\scalebox{0.6}[0.6]{\faCheckCircle[regular]\!\faCheckCircle[regular]}~}},left=1mm,right=1mm,boxsep=0mm]{#3}%
}
+%====Nutriscore
+\definecolor{couleurNS1}{RGB}{45,126,67}
+\definecolor{couleurNS2}{RGB}{151,186,56}
+\definecolor{couleurNS3}{RGB}{240,202,13}
+\definecolor{couleurNS4}{RGB}{213,123,26}
+\definecolor{couleurNS5}{RGB}{197,52,25}
+\tikzset{noeudNS/.style={pos=0.5,xscale=\echellexNS*\hauteurNS,yscale=\echelleyNS*\hauteurNS}}
+
+\defKV[NUTRISCORE]{%
+ Hauteur=\pgfmathsetmacro{\hauteurNS}{#1},%
+ Ratio=\pgfmathsetmacro{\ratiolargeurbandeNS}{#1},%
+ Symboles=\def\lettresNS{#1},%
+ Legende=\def\legendeNS{#1},%
+ Police=\def\fonteNS{#1},%
+ Couleurs=\def\couleursNS{#1},%
+ EchelleSymboles=\def\echellesymbNS{#1},%
+ CouleurFond=\def\coulbgNS{#1}
+}
+\setKVdefault[NUTRISCORE]{%
+ Hauteur=1,%
+ Ratio={0.6},%
+ Symboles={A,B,C,D,E},%
+ Legende={score},%
+ Police=\sffamily\bfseries,%
+ AffLegende=true,%
+ Couleurs={couleurNS1,couleurNS2,couleurNS3,couleurNS4,couleurNS5},%
+ EchelleSymboles={1.25,1.65},%
+ CouleurFond=white
+}
+
+\NewDocumentCommand\BandeauScore{ O{} D<>{} m }{%
+ \restoreKV[NUTRISCORE]%
+ \setKV[NUTRISCORE]{#1}%
+ \IfEq{#3}{}%
+ {%
+ \xdef\numcasNS{0}%
+ }%
+ {%
+ \xdef\numcasNS{#3}%
+ }%
+ \readlist\letterListNS{\lettresNS}%
+ \xdef\nbcasesNS{\letterListNSlen}%
+ \readlist\colorListNS{\couleursNS}%
+ \xdef\nbcouleursNS{\colorListNSlen}%
+ \pgfmathsetmacro{\largeurcaseNS}{\hauteurNS*\ratiolargeurbandeNS}%
+ \pgfmathsetmacro{\largeurbandeNS}{\largeurcaseNS*\nbcasesNS}%
+ \pgfmathsetmacro{\margeNS}{0.225*\largeurcaseNS/2.4}%
+ \IfSubStr{\echellesymbNS}{,}%
+ {%
+ \StrCut{\echellesymbNS}{,}{\echellexNS}{\echelleyNS}%
+ }%
+ {%
+ \xdef\echellexNS{\echellesymbNS}\xdef\echelleyNS{\echellesymbNS}%
+ }%
+ \begin{tikzpicture}[font=\fonteNS,#2]
+ %---test
+ \filldraw[white,rounded corners=\fpeval{5*\largeurcaseNS*\ratiolargeurbandeNS}mm,line width=\fpeval{1.5*\largeurcaseNS*\ratiolargeurbandeNS}mm,opacity=0] ({-\margeNS},{-\margeNS}) rectangle++ (\nbcasesNS*\largeurcaseNS+2*\margeNS,\hauteurNS+2*\margeNS) ;
+ %---testfin
+ \begin{scope}
+ \clip[rounded corners=\fpeval{5*\largeurcaseNS*\ratiolargeurbandeNS}mm] (0,0) rectangle (\largeurbandeNS,\hauteurNS);
+ \foreach \tmpiii in {1,...,\letterListNSlen}{%
+ \ifnum\tmpiii=\numcasNS
+ \else
+ \ifnum\tmpiii>\nbcouleursNS
+ \fill[draw=none,lightgray] ({(\tmpiii-1)*\largeurcaseNS},0) rectangle ++(\largeurcaseNS,\hauteurNS) node[noeudNS,white,opacity=0.66]{\letterListNS[\tmpiii]};
+ \else
+ \fill[draw=none,{\colorListNS[\tmpiii]}] ({(\tmpiii-1)*\largeurcaseNS},0) rectangle ++(\largeurcaseNS,\hauteurNS) node[noeudNS,white,opacity=0.66]{\letterListNS[\tmpiii]};
+ \fi
+ \fi
+ }%
+ \end{scope}
+ \xintifboolexpr{\numcasNS >=1 'and' \numcasNS <= \nbcasesNS }%
+ {%
+ \begin{scope}
+ %\clip (-\margeNS,-\margeNS) rectangle++ (\largeurbandeNS+2*\margeNS,\hauteurNS+2*\margeNS);
+ \draw[draw=\coulbgNS,rounded corners=\fpeval{7.25*\largeurcaseNS*\ratiolargeurbandeNS}mm,line width=\fpeval{1.5*\largeurcaseNS*\ratiolargeurbandeNS}mm,fill={\colorListNS[#3]}] ({(\numcasNS-1)*\largeurcaseNS-\margeNS},{-\margeNS}) rectangle++ (\largeurcaseNS+2*\margeNS,\hauteurNS+2*\margeNS) node[noeudNS,white]{\letterListNS[\numcasNS]};
+ \end{scope}
+ }%
+ {%
+ }%
+ %légende
+ \ifboolKV[NUTRISCORE]{AffLegende}%
+ {%
+ \node[above right=1pt,gray,scale=\fpeval{0.5*\hauteurNS},inner sep=1pt] at ({0.125*\margeNS},1.02*\hauteurNS) {\vphantom{QÉ}\MakeUppercase{\legendeNS}};
+ }{}%
+ \end{tikzpicture}%
+}
%%----COMMANDES EN
@@ -1932,4 +2021,351 @@
\fi
+%====BannerScore
+\definecolor{colorNS1}{RGB}{45,126,67}
+\definecolor{colorNS2}{RGB}{151,186,56}
+\definecolor{colorNS3}{RGB}{240,202,13}
+\definecolor{colorNS4}{RGB}{213,123,26}
+\definecolor{colorNS5}{RGB}{197,52,25}
+\tikzset{nodeNS/.style={pos=0.5,xscale=\echellexNS*\hauteurNS,yscale=\echelleyNS*\hauteurNS}}
+
+\defKV[NUTRISCOREEN]{%
+ Height=\pgfmathsetmacro{\hauteurNS}{#1},%
+ Ratio=\pgfmathsetmacro{\ratiolargeurbandeNS}{#1},%
+ Symbols=\def\lettresNS{#1},%
+ Legend=\def\legendeNS{#1},%
+ Font=\def\fonteNS{#1},%
+ Colors=\def\couleursNS{#1},%
+ ScaleSymbols=\def\echellesymbNS{#1},%
+ Colbg=\def\coulbgNS{#1}
+}
+\setKVdefault[NUTRISCOREEN]{%
+ Height=1,%
+ Ratio={0.6},%
+ Symbols={A,B,C,D,E},%
+ Legend={score},%
+ Font=\sffamily\bfseries,%
+ ShowLegend=true,%
+ Colors={colorNS1,colorNS2,colorNS3,colorNS4,colorNS5},%
+ ScaleSymbols={1.25,1.65},%
+ Colbg=white
+}
+
+\NewDocumentCommand\ScoreBanner{ O{} D<>{} m }{%
+ \restoreKV[NUTRISCOREEN]%
+ \setKV[NUTRISCOREEN]{#1}%
+ \IfEq{#3}{}%
+ {%
+ \xdef\numcasNS{0}%
+ }%
+ {%
+ \xdef\numcasNS{#3}%
+ }%
+ \readlist\letterListNS{\lettresNS}%
+ \xdef\nbcasesNS{\letterListNSlen}%
+ \readlist\colorListNS{\couleursNS}%
+ \xdef\nbcouleursNS{\colorListNSlen}%
+ \pgfmathsetmacro{\largeurcaseNS}{\hauteurNS*\ratiolargeurbandeNS}%
+ \pgfmathsetmacro{\largeurbandeNS}{\largeurcaseNS*\nbcasesNS}%
+ \pgfmathsetmacro{\margeNS}{0.225*\largeurcaseNS/2.4}%
+ \IfSubStr{\echellesymbNS}{,}%
+ {%
+ \StrCut{\echellesymbNS}{,}{\echellexNS}{\echelleyNS}%
+ }%
+ {%
+ \xdef\echellexNS{\echellesymbNS}\xdef\echelleyNS{\echellesymbNS}%
+ }%
+ \begin{tikzpicture}[font=\fonteNS,#2]
+ %---test
+ \filldraw[white,rounded corners=\fpeval{5*\largeurcaseNS*\ratiolargeurbandeNS}mm,line width=\fpeval{1.5*\largeurcaseNS*\ratiolargeurbandeNS}mm,opacity=0] ({-\margeNS},{-\margeNS}) rectangle++ (\nbcasesNS*\largeurcaseNS+2*\margeNS,\hauteurNS+2*\margeNS) ;
+ %---testfin
+ \begin{scope}
+ \clip[rounded corners=\fpeval{5*\largeurcaseNS*\ratiolargeurbandeNS}mm] (0,0) rectangle (\largeurbandeNS,\hauteurNS);
+ \foreach \iii in {1,...,\letterListNSlen}{%
+ \ifnum\iii=\numcasNS
+ \else
+ \ifnum\iii>\nbcouleursNS
+ \fill[draw=none,lightgray] ({(\iii-1)*\largeurcaseNS},0) rectangle ++(\largeurcaseNS,\hauteurNS) node[noeudNS,white,opacity=0.66]{\letterListNS[\iii]};
+ \else
+ \fill[draw=none,{\colorListNS[\iii]}] ({(\iii-1)*\largeurcaseNS},0) rectangle ++(\largeurcaseNS,\hauteurNS) node[noeudNS,white,opacity=0.66]{\letterListNS[\iii]};
+ \fi
+ \fi
+ }%
+ \end{scope}
+ \xintifboolexpr{\numcasNS >=1 'and' \numcasNS <= \nbcasesNS }%
+ {%
+ \begin{scope}
+ %\clip (-\margeNS,-\margeNS) rectangle++ (\largeurbandeNS+2*\margeNS,\hauteurNS+2*\margeNS);
+ \draw[draw=\coulbgNS,rounded corners=\fpeval{7.25*\largeurcaseNS*\ratiolargeurbandeNS}mm,line width=\fpeval{1.5*\largeurcaseNS*\ratiolargeurbandeNS}mm,fill={\colorListNS[#3]}] ({(\numcasNS-1)*\largeurcaseNS-\margeNS},{-\margeNS}) rectangle++ (\largeurcaseNS+2*\margeNS,\hauteurNS+2*\margeNS) node[noeudNS,white]{\letterListNS[#3]};
+ \end{scope}
+ }%
+ {}%
+ %légende
+ \ifboolKV[NUTRISCOREEN]{ShowLegend}%
+ {%
+ \node[above right=1pt,gray,scale=\fpeval{0.5*\hauteurNS},inner sep=1pt] at ({0.125*\margeNS},1.02*\hauteurNS) {\MakeUppercase{\legendeNS}};
+ }{}%
+ \end{tikzpicture}%
+}
+
+%====vincludegraphics [fr]
+\newlength{\tmp@includegraphics@vfill@offset}
+
+\defKV[vfillincludegphcs]{vOffset=\setlength\tmp@includegraphics@vfill@offset{#1},vCentrer=\def\tmpincludegpvcenter{#1}}
+\setKVdefault[vfillincludegphcs]{vRemplir=false,vOffset=0pt,vCentrer=n}
+
+\NewDocumentCommand\InsererImage{ D<>{} O{} m }{%
+ \restoreKV[vfillincludegphcs]%
+ \setKV[vfillincludegphcs]{#1}%
+ \ifboolKV[vfillincludegphcs]{vRemplir}%
+ {%
+ \IfStrEqCase{\tmpincludegpvcenter}{%
+ {m}{\vfill\includegraphics[height=\dimexpr\pagegoal-\pagetotal-\tmp@includegraphics@vfill@offset\relax,#2]{#3}\vfill}%
+ {h}{\includegraphics[height=\dimexpr\pagegoal-\pagetotal-\tmp@includegraphics@vfill@offset\relax,#2]{#3}\vfill}%
+ {b}{\vfill\includegraphics[height=\dimexpr\pagegoal-\pagetotal-\tmp@includegraphics@vfill@offset\relax,#2]{#3}}%
+ {n}{\includegraphics[height=\dimexpr\pagegoal-\pagetotal-\tmp@includegraphics@vfill@offset\relax,#2]{#3}}%
+ }[{\includegraphics[height=\dimexpr\pagegoal-\pagetotal-\tmp@includegraphics@vfill@offset\relax,#2]{#3}}]%
+ }%
+ {%
+ \includegraphics[#2]{#3}%
+ }%
+}
+
+%===tkzBanner mixte
+\defKV[tkzBannerKeys]{%
+ maincolor=\def\tkzBannermaincol{#1}
+}
+
+\setKVdefault[tkzBannerKeys]{%
+ height=2.1cm,%
+ width=\linewidth,%
+ collight=teal!25,%
+ colmedium=teal!75,%
+ coldark=teal,%
+ coltxt=white,%
+ fonttxt=\sffamily\bfseries,%
+ swap=false,%
+ maincolor={},%
+ num=true
+}
+
+\NewDocumentCommand\tkzBanner{ O{} m m }{%
+ \noindent%
+ \restoreKV[tkzBannerKeys]%
+ \setKV[tkzBannerKeys]{#1}%
+ \pgfmathsetmacro{\tkzBannerscale}{\useKV[tkzBannerKeys]{width}/\linewidth}%
+ \begin{tikzpicture}
+ \IfEq{\tkzBannermaincol}{}%
+ {%
+ \tikzset{tkzbannerdark/.style={\useKV[tkzBannerKeys]{coldark}}}
+ \tikzset{tkzbannermedium/.style={\useKV[tkzBannerKeys]{colmedium}}}
+ \tikzset{tkzbannerlight/.style={\useKV[tkzBannerKeys]{collight}}}
+ }%
+ {%
+ \tikzset{tkzbannerdark/.style={\tkzBannermaincol}}
+ \tikzset{tkzbannermedium/.style={\tkzBannermaincol!75}}
+ \tikzset{tkzbannerlight/.style={\tkzBannermaincol!25}}
+ }%
+ %coordinates
+ \coordinate (tkzBanner-NW) at (0,{\useKV[tkzBannerKeys]{height}}) ;
+ \coordinate (tkzBanner-SW) at (0,0) ;
+ \coordinate (tkzBanner-NE) at ({\useKV[tkzBannerKeys]{width}},{\useKV[tkzBannerKeys]{height}}) ;
+ \coordinate (tkzBanner-SE) at ({\useKV[tkzBannerKeys]{width}},0) ;%
+ %swap or note
+ \ifboolKV[tkzBannerKeys]{swap}%
+ {%
+ \coordinate (tkzBanner-A) at ($(tkzBanner-SE)!0.57!(tkzBanner-SW)$) ;
+ \coordinate (tkzBanner-B) at ($(tkzBanner-NE)!0.91!(tkzBanner-NW)$) ;
+ \coordinate (tkzBanner-C) at ($(tkzBanner-NE)!0.92!(tkzBanner-NW)$) ;
+ \coordinate (tkzBanner-D) at ($(tkzBanner-SE)!0.63!(tkzBanner-SW)$) ;
+ }%
+ {%
+ \coordinate (tkzBanner-A) at ($(tkzBanner-SW)!0.57!(tkzBanner-SE)$) ;
+ \coordinate (tkzBanner-B) at ($(tkzBanner-NW)!0.91!(tkzBanner-NE)$) ;
+ \coordinate (tkzBanner-C) at ($(tkzBanner-NW)!0.92!(tkzBanner-NE)$) ;
+ \coordinate (tkzBanner-D) at ($(tkzBanner-SW)!0.63!(tkzBanner-SE)$) ;
+ }%
+ %drawing
+ \fill[tkzbannerdark] (0,0) rectangle ({\useKV[tkzBannerKeys]{width}},{\useKV[tkzBannerKeys]{height}});
+ \ifboolKV[tkzBannerKeys]{swap}%
+ {%
+ \fill[tkzbannerlight] (tkzBanner-A) to[bend left=8] (tkzBanner-B) -- (tkzBanner-C) to[bend right=7] (tkzBanner-D) -- cycle ;
+ \fill[tkzbannermedium] (tkzBanner-C) to[bend right=7] (tkzBanner-D) -- (tkzBanner-SW) |- cycle ;
+ }%
+ {%
+ \fill[tkzbannerlight] (tkzBanner-A) to[bend right=8] (tkzBanner-B) -- (tkzBanner-C) to[bend left=7] (tkzBanner-D) -- cycle ;
+ \fill[tkzbannermedium] (tkzBanner-C) to[bend left=7] (tkzBanner-D) -- (tkzBanner-SE) |- cycle ;
+ }%
+ %nodes
+ \ifboolKV[tkzBannerKeys]{swap}%
+ {%
+ \node[inner sep=2pt,text={\useKV[tkzBannerKeys]{coltxt}},below left,font={\useKV[tkzBannerKeys]{fonttxt}},scale={2*\tkzBannerscale}] at (tkzBanner-NE) {\vphantom{qÉ}#2};
+ \ifboolKV[tkzBannerKeys]{num}%
+ {%
+ \node[inner sep=2pt,text={\useKV[tkzBannerKeys]{coltxt}},above right,font={\useKV[tkzBannerKeys]{fonttxt}},scale={1.25*\tkzBannerscale}] at (tkzBanner-SW) {\vphantom{qÉ}#3};
+ }%
+ {}%
+ }%
+ {%
+ \ifboolKV[tkzBannerKeys]{num}%
+ {%
+ \node[inner sep=2pt,text={\useKV[tkzBannerKeys]{coltxt}},above left,font={\useKV[tkzBannerKeys]{fonttxt}},scale={1.25*\tkzBannerscale}] at (tkzBanner-SE) {\vphantom{qÉ}#3};
+ }%
+ {}%
+ \node[inner sep=2pt,text={\useKV[tkzBannerKeys]{coltxt}},below right,font={\useKV[tkzBannerKeys]{fonttxt}},scale={2*\tkzBannerscale}] at (tkzBanner-NW) {\vphantom{qÉ}#2};
+ }%
+ \end{tikzpicture}%
+}
+
+%====titre stylisé [fr], à voir avec part ??
+\newlength{\tmp@tkzbanner@autowidthtype}
+\setlength\tmp@tkzbanner@autowidthtype{2.5em}
+\newlength{\tmp@tkzbanner@autowidthnum}
+\setlength\tmp@tkzbanner@autowidthnum{2em}
+\newlength{\tmp@tkzbanner@marginoffsetbanner}
+\setlength\tmp@tkzbanner@marginoffsetbanner{2pt}
+\newlength{\tmp@tkzbanner@autowidth}
+\setlength\tmp@tkzbanner@autowidth{2.5em}
+
+\defKV[tkzBannerpartKeys]{%
+ maincolor=\def\tkzBannermaintricol{#1},%
+ logo=\def\tkzBannermaintrilogo{#1},%
+ type=\def\tkzBannermaintritype{#1},%
+ blockwidth=\def\tkzBannermaintriblockwidth{#1},%
+ customtype=\def\tkzBannermaintritypelibre{#1}
+}
+
+\setKVdefault[tkzBannerpartKeys]{%
+ height=2.5em,%
+ width=\linewidth,%
+ blockwidth=2.75em,%
+ collight=darkgray!25,%
+ colmedium=darkgray!50,%
+ coldark=darkgray,%
+ coltxt=white,%
+ fonttxt=\sffamily\bfseries,%
+ swap=false,%
+ maincolor={},%
+ logo={},%
+ type={},%
+ num=true,
+ dispblock=true,%
+ customtype={}
+}
+
+\NewDocumentCommand\tkzBannerTri{ O{} m m }{%
+ %#1 := clés
+ %#2 := numéro
+ %#3 := titre
+ \noindent%
+ \restoreKV[tkzBannerpartKeys]%
+ \setKV[tkzBannerpartKeys]{#1}%
+ \pgfmathsetmacro{\tkzBannertriscale}{0.75*\useKV[tkzBannerpartKeys]{height}/1.25cm}%
+ \pgfmathsetmacro{\scaletypedoctribanner}{1.05*0.75*\useKV[tkzBannerpartKeys]{height}/1.25cm}%
+ \pgfmathsetmacro{\scaletypedoctribannernum}{2.5*0.75*\useKV[tkzBannerpartKeys]{height}/1.25cm}%
+ \pgfmathsetmacro{\tkzBannertriangle}{0.10*\useKV[tkzBannerpartKeys]{height}/\useKV[tkzBannerpartKeys]{width}}%
+ \IfEq{\tkzBannermaintriblockwidth}{auto}%
+ {%
+ \settowidth{\tmp@tkzbanner@autowidthtype}{\scalebox{\scaletypedoctribanner}[\scaletypedoctribanner]{\sffamily\bfseries\vphantom{qÉ}\tkzBannermaintritype}}%
+ \addtolength{\tmp@tkzbanner@autowidthtype}{4pt}%
+ \settowidth{\tmp@tkzbanner@autowidthnum}{\scalebox{\scaletypedoctribannernum}[\scaletypedoctribannernum]{\sffamily\bfseries\vphantom{qÉ}00}}%
+ \addtolength{\tmp@tkzbanner@autowidthnum}{4pt}%
+ \pgfmathsetlength{\tmp@tkzbanner@autowidth}{max(\tmp@tkzbanner@autowidthtype,\tmp@tkzbanner@autowidthnum)}%
+ }%
+ {%
+ \setlength\tmp@tkzbanner@autowidth{\tkzBannermaintriblockwidth}%
+ }%
+ \begin{tikzpicture}
+ \IfEq{\tkzBannermaintricol}{}%
+ {%
+ \tikzset{tkzbannertridark/.style={\useKV[tkzBannerpartKeys]{coldark}}}
+ \tikzset{tkzbannertrimedium/.style={\useKV[tkzBannerpartKeys]{colmedium}}}
+ \tikzset{tkzbannertrilight/.style={\useKV[tkzBannerpartKeys]{collight}}}
+ }%
+ {%
+ \tikzset{tkzbannertridark/.style={\tkzBannermaintricol}}
+ \tikzset{tkzbannertrimedium/.style={\tkzBannermaintricol!50}}
+ \tikzset{tkzbannertrilight/.style={\tkzBannermaintricol!25}}
+ }%
+ %coordinates
+ \coordinate (tkzBannerTri-NW) at (0,{\useKV[tkzBannerpartKeys]{height}}) ;
+ \coordinate (tkzBannerTri-SW) at (0,0) ;
+ \coordinate (tkzBannerTri-NE) at ({\useKV[tkzBannerpartKeys]{width}},{\useKV[tkzBannerpartKeys]{height}}) ;
+ \coordinate (tkzBannerTri-SE) at ({\useKV[tkzBannerpartKeys]{width}},0) ;%
+ \coordinate (tkzBannerTri-SWd) at ($(tkzBannerTri-SW)!0.05!(tkzBannerTri-NW)$) ;%
+ \coordinate (tkzBannerTri-SEd) at ($(tkzBannerTri-SE)!0.15!(tkzBannerTri-NE)$) ;%
+ %drawing & shadow
+ \fill[lightgray!75] ([yshift=-1pt]tkzBannerTri-SWd) -- ([yshift=-1pt]tkzBannerTri-SEd) -- (tkzBannerTri-NE) -| cycle ;
+ \ifboolKV[tkzBannerpartKeys]{swap}%
+ {%
+ \fill[white] (tkzBannerTri-SWd) -- (tkzBannerTri-SEd) -- (tkzBannerTri-NE) -| cycle ;
+ \draw[line width=1pt,tkzbannertridark] ([shift={(0.5pt,-0.5pt)}]tkzBannerTri-NW) -| ([shift={(-0.5pt,0)}]tkzBannerTri-SEd) -- (tkzBannerTri-SWd) ;
+ }%
+ {%
+ \fill[tkzbannertrimedium] (tkzBannerTri-SWd) -- (tkzBannerTri-SEd) -- (tkzBannerTri-NE) -| cycle ;
+ }%
+ \ifboolKV[tkzBannerpartKeys]{dispblock}%
+ {%
+ \begin{scope}
+ \clip ($(tkzBannerTri-SW)!0.0375!(tkzBannerTri-NW)$) -- ($(tkzBannerTri-SE)!0.1375!(tkzBannerTri-NE)$) -- (tkzBannerTri-NE) -| cycle ;
+ %light
+ \fill[tkzbannertrilight] (tkzBannerTri-NW) --++ ({\tmp@tkzbanner@autowidth+2*\tmp@tkzbanner@marginoffsetbanner},0) -- ({\tmp@tkzbanner@autowidth+2*\tmp@tkzbanner@marginoffsetbanner+1em},{0.5*\useKV[tkzBannerpartKeys]{height}}) -- ({\tmp@tkzbanner@autowidth+2*\tmp@tkzbanner@marginoffsetbanner},0) -- (tkzBannerTri-SW) -- cycle ;
+ \end{scope}
+ \begin{scope}
+ \clip ($(tkzBannerTri-SW)!0.025!(tkzBannerTri-NW)$) -- ($(tkzBannerTri-SE)!0.125!(tkzBannerTri-NE)$) -- (tkzBannerTri-NE) -| cycle ;
+ %medium
+ \fill[tkzbannertrimedium] (tkzBannerTri-NW) --++ ({\tmp@tkzbanner@autowidth+\tmp@tkzbanner@marginoffsetbanner},0) -- ({\tmp@tkzbanner@autowidth+\tmp@tkzbanner@marginoffsetbanner+1em},{0.5*\useKV[tkzBannerpartKeys]{height}}) -- ({\tmp@tkzbanner@autowidth+\tmp@tkzbanner@marginoffsetbanner},0) -- (tkzBannerTri-SW) -- cycle ;
+ \end{scope}
+ \begin{scope}
+ \clip ($(tkzBannerTri-SW)!0.0125!(tkzBannerTri-NW)$) -- ($(tkzBannerTri-SE)!0.1125!(tkzBannerTri-NE)$) -- (tkzBannerTri-NE) -| cycle ;
+ %dark
+ \fill[tkzbannertridark] (tkzBannerTri-NW) --++ ({\tmp@tkzbanner@autowidth},0) -- ({\tmp@tkzbanner@autowidth+1em},{0.5*\useKV[tkzBannerpartKeys]{height}}) -- ({\tmp@tkzbanner@autowidth},0) -- (tkzBannerTri-SW) -- cycle ;
+ \IfEq{\tkzBannermaintritypelibre}{}%
+ {%
+ \ifboolKV[tkzBannerpartKeys]{num}%
+ {%
+ \IfEq{\tkzBannermaintritype}{}%
+ {%
+ \node[inner sep=2pt,text={\useKV[tkzBannerpartKeys]{coltxt}},font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.5*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({0.5*\tmp@tkzbanner@autowidth},{0.5*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}#2};
+ }%
+ {%
+ \node[inner sep=2pt,below=1pt,text={\useKV[tkzBannerpartKeys]{coltxt}},font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={1.05*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({0.5*\tmp@tkzbanner@autowidth},{\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}\tkzBannermaintritype};
+ \node[inner sep=2pt,text={\useKV[tkzBannerpartKeys]{coltxt}},font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.5*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({0.5*\tmp@tkzbanner@autowidth},{0.425*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}#2};
+ }%
+ }%
+ {}%
+ }%
+ {%
+ \node[inner sep=2pt,text={\useKV[tkzBannerpartKeys]{coltxt}},font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.5*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({0.5*\tmp@tkzbanner@autowidth},{0.5*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}\tkzBannermaintritypelibre};
+ }%
+ \end{scope}
+ }%
+ {}%
+ %nodes
+ \begin{scope}
+ \clip (tkzBannerTri-SWd) -- (tkzBannerTri-SEd) -- (tkzBannerTri-NE) -| cycle ;
+ \ifboolKV[tkzBannerpartKeys]{swap}%
+ {%
+ \node[inner sep=2pt,right,text=\tkzBannermaintricol,font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.75*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({\tmp@tkzbanner@autowidth+2*\tmp@tkzbanner@marginoffsetbanner+1.25em},{0.5*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}#3};
+ %logo
+ \IfEq{\tkzBannermaintrilogo}{}%
+ {}%
+ {%
+ \node[inner sep=2pt,left,text=\tkzBannermaintricol,font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.5*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({\useKV[tkzBannerpartKeys]{width}},{0.55*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}\tkzBannermaintrilogo};
+ }%
+ }%
+ {%
+ \node[inner sep=2pt,right,text={\useKV[tkzBannerpartKeys]{coltxt}},font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.75*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({\tmp@tkzbanner@autowidth+2*\tmp@tkzbanner@marginoffsetbanner+1.25em},{0.5*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}#3};
+ %logo
+ \IfEq{\tkzBannermaintrilogo}{}%
+ {}%
+ {%
+ \node[inner sep=2pt,left,text={\useKV[tkzBannerpartKeys]{coltxt}},font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.5*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({\useKV[tkzBannerpartKeys]{width}},{0.55*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}\tkzBannermaintrilogo};
+ }%
+ }%
+ \end{scope}
+ \end{tikzpicture}%
+}
+
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/dashrulex/README.md b/macros/latex/contrib/dashrulex/README.md
index c0e441ac99..3e81605ffc 100644
--- a/macros/latex/contrib/dashrulex/README.md
+++ b/macros/latex/contrib/dashrulex/README.md
@@ -1,7 +1,15 @@
-# The dashrulex package
+# The `dashrulex` package
+Draw dashed rules (v1.01a)
+## Abstract
The `dashrulex` package provides a flexible solution for drawing dashed rules in the body, and currently provides two commands `\hdashrule` and `\hanyrule`. It's written in LaTeX3 and can be used as an alternative to the `dashrule` package.
## License
+This work may be distributed and/or modified under the conditions of the CC-BY 4.0 License. The latest version of this license is in https://creativecommons.org/licenses/by/4.0/legalcode
-This work may be distributed and/or modified under the conditions of the CC-BY 4.0 License. The latest version of this license is in https://creativecommons.org/licenses/by/4.0/legalcode \ No newline at end of file
+## Website
+| [Gitee](https://gitee.com/texno3/dashrulex) | [Github](https://github.com/texno3/dashrulex) | [CTAN](https://ctan.org/pkg/dashrulex) |
+
+## Maintainer
+Qu Yi<br/>
+Email: toquyi@163.com \ No newline at end of file
diff --git a/macros/latex/contrib/dashrulex/dashrulex.pdf b/macros/latex/contrib/dashrulex/dashrulex.pdf
index 376eb91c90..f97a5ef302 100644
--- a/macros/latex/contrib/dashrulex/dashrulex.pdf
+++ b/macros/latex/contrib/dashrulex/dashrulex.pdf
Binary files differ
diff --git a/macros/latex/contrib/dashrulex/dashrulex.sty b/macros/latex/contrib/dashrulex/dashrulex.sty
index 86d43d1478..090cfe2931 100644
--- a/macros/latex/contrib/dashrulex/dashrulex.sty
+++ b/macros/latex/contrib/dashrulex/dashrulex.sty
@@ -1,91 +1,91 @@
-%
-% ***************** THE DASHRULEX PACKAGE *****************
-%
-% Copyright (C) 2024 by Qu Yi <toquyi@163.com>
-%
-% This work may be distributed and/or modified under the
-% conditions of the CC-BY 4.0 License.
-% The latest version of this license is in
-% https://creativecommons.org/licenses/by/4.0/legalcode
-\NeedsTeXFormat{LaTeX2e}[2012/02/12]
-\RequirePackage{xparse}
-\ProvidesExplPackage{dashrulex}{2024/03/25}{1.00c}
- {Draw dashed rules}
-\DeclareDocumentCommand{\hdashrule}{O{0pt}O{x}mmm}
- {
- \tl_if_blank:nTF {#5}
- { \rule[#1]{#3}{#4} }
- {
- \mbox{}
- \use:c { #2leaders }
- \hbox:n
- {
- \clist_map_inline:nn {#5}
- { \drx@parse@dash{#1}{#4}{##1} }
- }
- \skip_horizontal:n {#3}
- \mbox{}
- }
- }
-\NewDocumentCommand{\drx@parse@dash}
- {mm>{\SplitArgument{1}{|}}m}
- {\drx@parse@dash@inner{#1}{#2}#3}
-\cs_set_protected:Npn \drx@parse@dash@inner #1#2#3#4
- {
- \IfNoValueTF{#4}
- {\vrulemod[#1]{#3}{#2}\skip_horizontal:n {#3}}
- {\vrulemod[#1]{#3}{#2}\skip_horizontal:n {#4}}
- }
-\NewDocumentCommand{\hanyrule}{O{x}mm}
- {
- \mbox{}
- \use:c { #1leaders }
- \hbox:n { \clist_map_inline:nn {#3} {##1} }
- \skip_horizontal:n {#2}
- \mbox{}
- }
-
-\int_new:N \l__drx_vrule_counter_int
-\int_set:Nn \l__drx_vrule_counter_int { 1 }
-\dim_new:N \l__drx_vrule_height_dim
-\tl_new:N \l__drx_tmpa_tl
-\cs_new_protected:Npn \drx@step@counter@height #1
- {
- \int_incr:N \l__drx_vrule_counter_int
- \dim_add:Nn \l__drx_vrule_height_dim {#1}
- }
-\NewDocumentCommand{\vrulemod}{O{0pt}oomm}
- {
- \group_begin:
- \IfValueT{#2}
- {
- \tl_set:Nn \l__drx_tmpa_tl { [#2] }
- \IfValueT{#3}{\tl_put_right:Nn \l__drx_tmpa_tl { [#3] }}
- }
- \exp_last_unbraced:Nnf
- \raisebox{#1}{\l__drx_tmpa_tl}
- {
- \clist_map_inline:nn {#5}
- {
- \int_compare:nNnTF { \l__drx_vrule_counter_int } > { 1 }
- {
- \int_if_even:nTF { \l__drx_vrule_counter_int }
- { \drx@step@counter@height{##1} }
- {
- \kern -#4
- \exp_args:NV
- \raisebox\l__drx_vrule_height_dim{\rule{#4}{##1}}
- \drx@step@counter@height{##1}
- }
- }
- {
- \rule{#4}{##1}
- \drx@step@counter@height{##1}
- }
- }
- }
- \group_end:
- }
-\endinput
-%
+%
+% ***************** THE DASHRULEX PACKAGE *****************
+%
+% Copyright (C) 2024 by Qu Yi <toquyi@163.com>
+%
+% This work may be distributed and/or modified under the
+% conditions of the CC-BY 4.0 License.
+% The latest version of this license is in
+% https://creativecommons.org/licenses/by/4.0/legalcode
+\NeedsTeXFormat{LaTeX2e}[2012/02/12]
+\RequirePackage{xparse}
+\ProvidesExplPackage{dashrulex}{2024/07/18}{1.01a}
+ {Draw dashed rules}
+\DeclareDocumentCommand{\hdashrule}{O{0pt}O{x}mmm}
+ {
+ \tl_if_blank:nTF {#5}
+ { \rule[#1]{#3}{#4} }
+ {
+ \mbox{}
+ \use:c { #2leaders }
+ \hbox:n
+ {
+ \clist_map_inline:nn {#5}
+ { \drx@parse@dash{#1}{#4}{##1} }
+ }
+ \skip_horizontal:n {#3}
+ \mbox{}
+ }
+ }
+\NewDocumentCommand{\drx@parse@dash}
+ {mm>{\SplitArgument{1}{|}}m}
+ {\drx@parse@dash@inner{#1}{#2}#3}
+\cs_set_protected:Npn \drx@parse@dash@inner #1#2#3#4
+ {
+ \IfNoValueTF{#4}
+ {\vrulemod[#1]{#3}{#2}\skip_horizontal:n {#3}}
+ {\vrulemod[#1]{#3}{#2}\skip_horizontal:n {#4}}
+ }
+\NewDocumentCommand{\hanyrule}{O{x}mm}
+ {
+ \mbox{}
+ \use:c { #1leaders }
+ \hbox:n { \clist_map_inline:nn {#3} {##1} }
+ \skip_horizontal:n {#2}
+ \mbox{}
+ }
+
+\int_new:N \l__drx_vrule_counter_int
+\int_set:Nn \l__drx_vrule_counter_int { 1 }
+\dim_new:N \l__drx_vrule_height_dim
+\tl_new:N \l__drx_tmpa_tl
+\cs_new_protected:Npn \drx@step@counter@height #1
+ {
+ \int_incr:N \l__drx_vrule_counter_int
+ \dim_add:Nn \l__drx_vrule_height_dim {#1}
+ }
+\NewDocumentCommand{\vrulemod}{O{0pt}oomm}
+ {
+ \group_begin:
+ \IfValueT{#2}
+ {
+ \tl_set:Nn \l__drx_tmpa_tl { [#2] }
+ \IfValueT{#3}{\tl_put_right:Nn \l__drx_tmpa_tl { [#3] }}
+ }
+ \exp_last_unbraced:Nnf
+ \raisebox{#1}{\l__drx_tmpa_tl}
+ {
+ \clist_map_inline:nn {#5}
+ {
+ \int_compare:nNnTF { \l__drx_vrule_counter_int } > { 1 }
+ {
+ \int_if_even:nTF { \l__drx_vrule_counter_int }
+ { \drx@step@counter@height{##1} }
+ {
+ \tex_kern:D -#4
+ \exp_args:NV
+ \raisebox\l__drx_vrule_height_dim{\rule{#4}{##1}}
+ \drx@step@counter@height{##1}
+ }
+ }
+ {
+ \rule{#4}{##1}
+ \drx@step@counter@height{##1}
+ }
+ }
+ }
+ \group_end:
+ }
+\endinput
+%
% End of file `dashrulex.sty'. \ No newline at end of file
diff --git a/macros/latex/contrib/dashrulex/dashrulex.tex b/macros/latex/contrib/dashrulex/dashrulex.tex
index c7db9dd89c..5469fc0c37 100644
--- a/macros/latex/contrib/dashrulex/dashrulex.tex
+++ b/macros/latex/contrib/dashrulex/dashrulex.tex
@@ -1,95 +1,99 @@
-\documentclass[load-preamble+]{cnltx-doc}
-
-\usepackage{setspace,hologo,dashrulex,tikz}
-\usepackage[noto]{newtxmath}
-\setcnltx
- {
- package = dashrulex,
- title = the dashrulex package,
- version = v1.00c,
- date = 2024/03/25,
- authors = Qu Yi,
- info = Draw dashed rules,
- email = toquyi@163.com,
- abstract =
- {
- The \pkg*{dashrulex} package provides a flexible solution for drawing dashed rules in the body, and currently provides two commands \cs{hdashrule} and \cs{hanyrule}. It's written in \hologo{LaTeX3} and can be used as an alternative to the \pkg*{dashrule} package.
- },
- color-scheme = blue,
- title-format = \huge\bfseries\scshape,
- listings-options = {numbers = none,gobble = 2,lineskip = 1pt},
- pre-output = {\parindent = 0em\setstretch{1.3}},
- before-skip = \smallskipamount,
- after-skip = \smallskipamount
- }
-\makeatletter
-\newcommand{\splitmeta}[3][\code{,}]{\meta{#2}#1\meta{#3}}
-\newcommand{\newsplitarg}[4][\splitmeta]
- {
- \newcommand{#2}[2]
- {\code{\textcolor{argument}{#3\textnormal{#1{##1}{##2}}#4}}}
- }
-\newcommand{\kvsplit}[3]
- {
- \item\code{\option{#1}\cnltx@isvalue\splitmarg{#2}{#3}}
- \cnltx@checkdefault{\hfill\newline}
- }
-\newsplitarg{\splitoarg}{[}{]}
-\newsplitarg{\splitmarg}{\{}{\}}
-\newsplitarg{\splitdarg}{(}{)}
-\newnote{\newtag}[1][New]{\textcolor{red}{\ding{73}\ #1}}
-\renewcommand{\emph}[1]{\textcolor{red}{#1}}
-\renewcommand{\cnltx@write@lastname}{}
-\makeatother
-
-\begin{document}
-\section{Preface}
-Sometimes it is necessary to draw dashed rules when writing documents, such as guides in the table of contents and indexes, horizontal lines in headers and footers, and even adding horizontal lines after headings. Macro packages such as \pkg*{dashrule} and \pkg*{nccrules} are available to accomplish this. Considering that \pkg*{dashrule} has not been updated for a long time, \pkg*{dashrulex} rewrites it using \hologo{LaTeX3} syntax and enhances it a bit.
-
-\section{User commands}
-\begin{commands}
- \command{hdashrule}[\oarg{raise}\oarg{leader}\marg{width}\marg{thickness list}\marg{dash rules}]
- The command to draw horizontal dashed rules, based on the \cs{rule} command, and the same as the \cs{rule} command when the \meta{dash rules} are empty. \meta{raise} is the vertical offset of the rule. \meta{leader} is the alignment of the dashed line fill, which can be empty, \code{c}, or \code{x} (the default), corresponding to the \cs{leaders}, \cs{cleaders}, and \cs{xleaders} commands, respectively. \meta{width} is the length of the dotted line, which can be set to \cs{fill} when used to fill the remaining center of the current text line. \meta{thickness list} is a rule for the height of vertically oriented lines, separated by \textcolor{red}{commas} and written as \splitmeta{height 1}{height a}\code{,...}, where \meta{height 1} denotes the height of a solid line and \meta{height a} denotes the height of a blank space.\meta{dash rules} is expressed as \splitmeta[\code{|}]{length 1}{length a}\code{,}\splitmeta[\code{|}]{length 2}{length b}\code{,...}, where \meta{length 1} represents the length of the solid line and \meta{length a} represents the length of the blank space, such as \code{5pt|2pt,3pt}, if the blank space is empty, then it is equal to the solid line length.
- \begin{example}
- 1X\rule{2cm}{1pt}x \\
- 2X\hdashrule{2cm}{1pt}{}x \\
- 3X\hdashrule{2cm}{1pt}{1pt}x \\
- 4X\hdashrule{4cm}{1pt}{1pt}x \\
- 5X\hdashrule[0.5ex]{4cm}{1pt}{1pt}x \\
- 6X\hdashrule[0.5ex]{4cm}{1pt}{3mm}x \\
- 7X\hdashrule[0.5ex]{4cm}{1mm}{3mm}x \\
- 8X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt}x \\
- 9X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt,1mm|2pt}x \\
- 10X\hdashrule[0.5ex]{4cm}{2pt,1pt,1pt}{3mm|3pt,1mm|2pt}x
- \end{example}
- \command{vrulemod}[\oarg{raise}\oarg{height}\oarg{depth}\marg{width}\marg{thickness list}]
- The vertical component used to fill the dashed line. \meta{thickness list} is consistent with the \cs{hdashrule} command, \meta{width} represents the length of the component, and the three optional parameters are consistent with those of the \cs{raisebox} command.
- \command{hanyrule}[\oarg{leader}\marg{width}\marg{symbol list}]
- This command sets the length of the dotted rule and fills it with arbitrary symbols. \meta{symbol list} can be more than one symbol and they are separated by \textcolor{red}{commas}. Symbols are best packed in boxes of a certain length, as spacing between symbols is not provided.
- \begin{example}
- \newcommand{\dblvmod}
- {%
- \tikz[color=blue]
- {
- \draw[line width=0.8mm](0mm,1.1mm)--(3mm,1.1mm);
- \draw[line width=0.3mm](0mm,0mm)--(3mm,0mm);
- }%
- }
- 1X\hanyrule[]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\
- 2X\hanyrule[c]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\
- 3X\hanyrule[x]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\
- 4X\hanyrule[c]{5cm}{\makebox[8pt]{$\cdot$}}x \\
- 5X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$}}x \\
- 6X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$},\makebox[8pt]{$\circ$}}x \\
- 7X\hanyrule[x]{5cm}{\makebox[5mm]{\vrulemod{3mm}{2pt,1pt,1pt}}}x \\
- 8X\hanyrule[x]{5cm}{\makebox[5mm]{\dblvmod}}x
- \end{example}
-\end{commands}
-
-\section{Known issues}
-Currently only horizontal dashed line drawing is supported, with future plans to support vertical dashed lines, and even box dashed borders and so on.
-
-\appendix
-\nocite{*}
-
+\documentclass[load-preamble+]{cnltx-doc}
+
+\usepackage{setspace,hologo,enumitem,dashrulex,tikz}
+\usepackage[noto]{newtxmath}
+\setcnltx
+ {
+ package = dashrulex,
+ title = dashrulex,
+ version = v1.01a,
+ date = 2024/07/18,
+ authors = Qu Yi,
+ info = Draw dashed rules,
+ email = toquyi@163.com,
+ url = https://github.com/texno3/dashrulex,
+ abstract =
+ {
+ The \pkg*{dashrulex} package provides a flexible solution for drawing dashed rules in the body, and currently provides two commands \cs{hdashrule} and \cs{hanyrule}. It's written in \hologo{LaTeX3} and can be used as an alternative to the \pkg*{dashrule} package.
+ },
+ color-scheme = blue,
+ listings-options = {numbers = none,gobble = 2,lineskip = 1pt},
+ pre-output = {\parindent = 0em\setstretch{1.3}},
+ before-skip = \smallskipamount,
+ after-skip = \smallskipamount
+ }
+\makeatletter
+\newcommand{\splitmeta}[3][\code{,}]{\meta{#2}#1\meta{#3}}
+\newcommand{\newsplitarg}[4][\splitmeta]
+ {
+ \newcommand{#2}[2]
+ {\code{\textcolor{argument}{#3\textnormal{#1{##1}{##2}}#4}}}
+ }
+\newcommand{\kvsplit}[3]
+ {
+ \item\code{\option{#1}\cnltx@isvalue\splitmarg{#2}{#3}}
+ \cnltx@checkdefault{\hfill\newline}
+ }
+\newsplitarg{\splitoarg}{[}{]}
+\newsplitarg{\splitmarg}{\{}{\}}
+\newsplitarg{\splitdarg}{(}{)}
+\newnote{\newtag}[1]{\textcolor{red}{#1}}
+\renewcommand{\emph}[1]{\textcolor{red}{#1}}
+\renewcommand{\cnltx@write@lastname}{}
+\setlist{nosep,topsep = \smallskipamount}
+\setlist[description,1]{leftmargin = \parindent}
+\setlist[itemize,1]{leftmargin = *}
+\makeatother
+
+\begin{document}
+\section{Preface}
+Sometimes it is necessary to draw dashed rules when writing documents, such as guides in the table of contents and indexes, horizontal lines in headers and footers, and even adding horizontal lines after headings. Macro packages such as \pkg*{dashrule} and \pkg*{nccrules} are available to accomplish this. Considering that \pkg*{dashrule} has not been updated for a long time, \pkg*{dashrulex} rewrites it using \hologo{LaTeX3} syntax and enhances it a bit.
+
+\section{User commands}
+\begin{commands}
+ \command{hdashrule}[\oarg{raise}\oarg{leader}\marg{width}\marg{thickness list}\marg{dash rules}]
+ The command to draw horizontal dashed rules, based on the \cs{rule} command, and the same as the \cs{rule} command when the \meta{dash rules} are empty. \meta{raise} is the vertical offset of the rule. \meta{leader} is the alignment of the dashed line fill, which can be empty, \code{c}, or \code{x} (the \textcolor{red}{default}), corresponding to the \cs{leaders}, \cs{cleaders}, and \cs{xleaders} commands, respectively. \meta{width} is the length of the dashed line, which can be set to \cs{fill} when used to fill the remaining part of the current text line. \meta{thickness list} is a rule for the height of \textcolor{red}{vertical} lines, separated by \textcolor{red}{commas} and written as \splitmeta{height 1}{height a}\code{,...}, where \meta{height 1} denotes the height of a solid line and \meta{height a} denotes the height of a blank space. \meta{dash rules} stands for \textcolor{red}{horizontal} dashed line rules, which expressed as \splitmeta[\code{|}]{length 1}{length a}\code{,}\splitmeta[\code{|}]{length 2}{length b}\code{,...}, where \meta{length 1} represents the length of the solid line and \meta{length a} represents the length of the blank space, such as \code{5pt|2pt,3pt}, if the blank space is empty, then it is equal to the solid line length.
+ \begin{example}
+ 1X\rule{2cm}{1pt}x \\
+ 2X\hdashrule{2cm}{1pt}{}x \\
+ 3X\hdashrule{2cm}{1pt}{1pt}x \\
+ 4X\hdashrule{4cm}{1pt}{1pt}x \\
+ 5X\hdashrule[0.5ex]{4cm}{1pt}{1pt}x \\
+ 6X\hdashrule[0.5ex]{4cm}{1pt}{3mm}x \\
+ 7X\hdashrule[0.5ex]{4cm}{1mm}{3mm}x \\
+ 8X\hdashrule[0.5ex]{4cm-3mm}{1mm}{3mm}\vrulemod[0.5ex]{3mm}{1mm}x \\
+ 9X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt}x \\
+ 10X\hdashrule[0.5ex]{4cm}{1mm}{3mm|3pt,1mm|2pt}x \\
+ 11X\hdashrule[0.5ex]{4cm}{2pt,1pt,1pt}{3mm|3pt,1mm|2pt}x
+ \end{example}
+ \command{vrulemod}[\oarg{raise}\oarg{height}\oarg{depth}\marg{width}\marg{thickness list}]
+ The vertical model used to fill the dashed line. \meta{thickness list} is consistent with the \cs{hdashrule} command, \meta{width} represents the length of the component, and the three optional parameters are consistent with those of the \cs{raisebox} command.
+ \command{hanyrule}[\oarg{leader}\marg{width}\marg{symbol list}]
+ This command sets the length of the dotted rule and fills it with arbitrary symbols. \meta{symbol list} can be more than one symbol and they are separated by \textcolor{red}{commas}. Symbols are best packed in boxes of a certain length, as spacing between symbols is not provided.
+ \begin{example}
+ \newcommand{\dblblock}
+ {%
+ \tikz[color=teal]
+ {
+ \draw[line width=0.8mm](0mm,1.1mm)--(3mm,1.1mm);
+ \draw[line width=0.3mm](0mm,0mm)--(3mm,0mm);
+ }%
+ }
+ 1X\hanyrule[]{5cm}{\makebox[8pt]{$\cdot$}}x \\
+ 2X\hanyrule[c]{5cm}{\makebox[8pt]{$\cdot$}}x \\
+ 3X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$}}x \\
+ 4X\hanyrule[x]{5cm}{\makebox[8pt][l]{$\cdot$}}x \\
+ 5X\hanyrule[x]{5cm}{\makebox[8pt][r]{$\cdot$}}x \\
+ 6X\hanyrule[x]{5cm}{\makebox[8pt]{$\cdot$},\makebox[8pt]{$\circ$}}x \\
+ 7X\hanyrule[x]{5cm}{\makebox[5mm]{\vrulemod{3mm}{2pt,1pt,1pt}}}x \\
+ 8X\hanyrule[x]{5cm}{\makebox[5mm]{\dblblock}}x
+ \end{example}
+\end{commands}
+
+\section{Known issues}
+Currently only horizontal dashed line drawing is supported, with future plans to support vertical dashed lines, and even box dashed borders and so on.
+
+\appendix
+\nocite{*}
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/dccpaper/README.md b/macros/latex/contrib/dccpaper/README.md
index 0d52a8434a..b1181bc202 100644
--- a/macros/latex/contrib/dccpaper/README.md
+++ b/macros/latex/contrib/dccpaper/README.md
@@ -73,7 +73,7 @@ A makefile is provided which you can use with the Make utility:
## Licence
-Copyright 2023 Digital Curation Centre, University of Edinburgh.
+Copyright 2024 Digital Curation Centre, University of Edinburgh.
This work consists of the image files dccpaper-by.eps and
dccpaper-by.pdf, the documented LaTeX file dccpaper.dtx and a Makefile.
diff --git a/macros/latex/contrib/dccpaper/dccpaper.dtx b/macros/latex/contrib/dccpaper/dccpaper.dtx
index de8e3b88cc..7218660813 100644
--- a/macros/latex/contrib/dccpaper/dccpaper.dtx
+++ b/macros/latex/contrib/dccpaper/dccpaper.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%<*internal|ijdc9|ijdc14|idcc|base>
-\def\Version{2023/08/11 v2.4}
+\def\Version{2024/08/23 v2.5}
%</internal|ijdc9|ijdc14|idcc|base>
%<*internal>
\iffalse
@@ -246,7 +246,7 @@ See: http://www.latex-project.org/lppl.txt
\endpreamble
\postamble
-Copyright (C) 2023 Digital Curation Centre, University of Edinburgh
+Copyright (C) 2024 Digital Curation Centre, University of Edinburgh
<info@dcc.ac.uk>
\endpostamble
@@ -546,16 +546,16 @@ Use this for a conference preprint.
\subsection{International Digital Curation Conference}
\begin{framed}\noindent
-To emulate a 2024 conference paper/extended abstract, use the \textsf{ijdc-v14}
-class with the \key{conference} option.
+To emulate a conference paper/extended abstract from 2024 onwards, use the
+\textsf{ijdc-v14} class with the \key{conference} option.
\end{framed}
The class is loaded in the usual way with
\lstinline|\documentclass[$\meta{options}$]{idcc}|.
Two types of option are available. The first relates to the conference to which the submission will be made:
\begin{description}[font=\normalfont]
- \item[\key{15}, \key{16}, .~.~.~, \key{22}, \key{24}]
- Use this to select the year of the conference, e.g.\@ \key{24} for 2024.
+ \item[\key{15}, \key{16}, .~.~.~, \key{24}, \key{25}]
+ Use this to select the year of the conference, e.g.\@ \key{25} for 2025.
\end{description}
The second relates to the type of submission:
@@ -871,6 +871,8 @@ Any acknowledgements should be placed in a section immediately before the refere
\section{Appendix A: Change History}
\begin{description}
+\item[v2.5] 2024-08-23\\
+Added details of IDCC 2025.
\item[v2.4] 2023-08-11\\
Added details of and update documentation for IDCC 2024.
\item[v2.3] 2022-01-27\\
@@ -1097,7 +1099,7 @@ Fully funded, part funded (subsidised) or delegate fee.
%<readme>## Licence
%<readme>
%<*driver|readme>
-Copyright 2023 Digital Curation Centre, University of Edinburgh.
+Copyright 2024 Digital Curation Centre, University of Edinburgh.
This work consists of the image files dccpaper-by.eps and
dccpaper-by.pdf, the documented LaTeX file dccpaper.dtx and a Makefile.
@@ -1520,9 +1522,15 @@ the University of Edinburgh on behalf of the Digital Curation Centre. ISSN:
\DeclareOption{24}{%
\def\dccp@publ@short{IDCC}
\def\dccp@publ@msg{The 18th \dccp@publ@long\ takes place on 19--21 February
- 2024 in Edinburgh, Scotland.\par\bigskip URL: \url{https://www.dcc.ac.uk/events/18th-international-digital-curation-conference}}
+ 2024 in Edinburgh, Scotland.\par\bigskip URL: \url{https://www.dcc.ac.uk/events/idcc24}}
\def\dccp@subject{18th \dccp@publ@long, 2024}
}
+\DeclareOption{25}{%
+ \def\dccp@publ@short{IDCC25}
+ \def\dccp@publ@msg{The 19th \dccp@publ@long\ takes place on 17--19 February
+ 2025 in The Hague, Netherlands.\par\bigskip URL: \url{https://www.dcc.ac.uk/events/idcc25}}
+ \def\dccp@subject{19th \dccp@publ@long, 2025}
+}
\ProcessOptions\relax
% \end{macrocode}
diff --git a/macros/latex/contrib/dccpaper/dccpaper.pdf b/macros/latex/contrib/dccpaper/dccpaper.pdf
index 3cd33ff6fa..310af05b12 100644
--- a/macros/latex/contrib/dccpaper/dccpaper.pdf
+++ b/macros/latex/contrib/dccpaper/dccpaper.pdf
Binary files differ
diff --git a/macros/latex/contrib/delimset/README.txt b/macros/latex/contrib/delimset/README.txt
index 729b73fbbf..9094d59624 100644
--- a/macros/latex/contrib/delimset/README.txt
+++ b/macros/latex/contrib/delimset/README.txt
@@ -1,5 +1,5 @@
-delimset v1.1
-Copyright 2016-2018 Niklas Beisert
+delimset v2.0
+Copyright 2016-2024 Niklas Beisert
delimset is a LaTeX2e package to typeset and declare sets of delimiters
in math mode whose size can be adjusted conveniently.
diff --git a/macros/latex/contrib/delimset/delimset.dtx b/macros/latex/contrib/delimset/delimset.dtx
index 9bd070b5ea..337f1a4271 100644
--- a/macros/latex/contrib/delimset/delimset.dtx
+++ b/macros/latex/contrib/delimset/delimset.dtx
@@ -1,6 +1,6 @@
% \iffalse
%
-% delimset.dtx Copyright (C) 2016-2018 Niklas Beisert
+% delimset.dtx Copyright (C) 2016-2024 Niklas Beisert
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -18,15 +18,15 @@
% and the derived files delimset.sty and dlmssamp.tex
%
%<package|sample>\NeedsTeXFormat{LaTeX2e}[1996/12/01]
-%<package>\ProvidesPackage{delimset}[2018/12/30 v1.1 convenient size control for delimiter sets]
-%<sample>\ProvidesFile{dlmssamp.tex}[2018/12/30 v1.1 sample for delimset]
+%<package>\ProvidesPackage{delimset}[2024/07/17 v2.0 convenient size control for delimiter sets]
+%<sample>\ProvidesFile{dlmssamp.tex}[2024/07/17 v2.0 sample for delimset]
%<*driver>
-%\ProvidesFile{delimset.drv}[2018/12/30 v1.1 delimset Reference Manual file]
+%\ProvidesFile{delimset.drv}[2024/07/17 v2.0 delimset Reference Manual file]
\PassOptionsToClass{10pt,a4paper}{article}
\documentclass{ltxdoc}
\usepackage[margin=35mm]{geometry}
-\usepackage{hyperref}
+\usepackage[hyperindex=false]{hyperref}
\usepackage{hyperxmp}
\usepackage[usenames]{color}
\usepackage{amsmath,amsfonts}
@@ -36,7 +36,7 @@
\hypersetup{pdfpagemode=UseNone}
\hypersetup{pdfsource={}}
\hypersetup{pdflang={en-UK}}
-\hypersetup{pdfcopyright={Copyright 2016-2018 Niklas Beisert.
+\hypersetup{pdfcopyright={Copyright 2016-2024 Niklas Beisert.
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
of this license or (at your option) any later version.}}
@@ -50,6 +50,8 @@
\newcommand{\secref}[1]{\hyperref[#1]{section \ref*{#1}}}
+\def\textvert{\texttt{\char"7C}}
+
\parskip1ex
\parindent0pt
\let\olditemize\itemize
@@ -67,7 +69,7 @@
{\texttt{nbeisert@itp.phys.ethz.ch}}}
\hypersetup{pdfauthor={Niklas Beisert}}
\hypersetup{pdfsubject={Manual for the LaTeX2e Package delimset}}
-\date{30 December 2018, \textsf{v1.1}}
+\date{17 July 2024, \textsf{v2.0}}
\maketitle
\begin{abstract}\noindent
@@ -99,9 +101,10 @@ For example:
\\
|(v,w)| &\to (v,w)
\\
-|\langle\psi\vert M\vert\psi\rangle| &\to \langle\psi\vert M\vert\psi\rangle
+|\langle\psi|\textvert|M|\textvert|\psi\rangle|
+&\to \langle\psi\vert M\vert\psi\rangle
\\
-|(x^2+px+q)\vert_{-p/2}| &\to (x^2+px+q)\vert_{-p/2}
+|(x^2+px+q)|\textvert|_{-p/2}| &\to (x^2+px+q)\vert_{-p/2}
\\&\ldots
\end{aligned}
\]
@@ -109,8 +112,9 @@ For example:
In order to adjust the size of delimiters, the modifiers
|\big|, |\Big|, |\bigg|, |\Bigg| are used.
More importantly the construct
-{|\left*| \ldots [|\middle*|] \ldots |\right*|}
+{|\left*| \ldots [|\middle*|] \ldots |\right*|}
adjusts the size of delimiters to the contents:
+%
\[
\Bigg[\bigg[\Big[\big[[*]\big]\Big]\bigg]\Bigg],
\qquad
@@ -150,16 +154,17 @@ the size |\big(...\big)|:
\]
The package \textsf{delimset} provides mechanisms to declare sets of delimiters
-whose size can be adjusted conveniently by simple optional parameters.
+whose size can be adjusted conveniently by adding simple flag parameters.
For example, it provides a general purpose bracket |\brk|
which can be used as follows:
+%
\[
\begin{aligned}
|\brk{A\hat{X}+B}|&\to(A\hat{X}+B)
\\
|\brk*{A\hat{X}+B}|&\to\mathopen{}\mathclose{\left(A\hat{X}+B\right)}
\\
-|\brk2{A\hat{X}+B}|&\to\Bigl(A\hat{X}+B\Bigr)
+|\brk^2{A\hat{X}+B}|&\to\Bigl(A\hat{X}+B\Bigr)
\\
|\brk!{A\hat{X}+B}|&\to\bigl(A\hat{X}+B\bigr)
\end{aligned}
@@ -198,16 +203,18 @@ the more difficult it will be to adjust them
to obtain a visually acceptable result.
The main functionality of the package is based on a
-versatile mechanism to specify sets of delimiters, e.g.:
+versatile mechanism to specify sets of delimiters,
+e.g.:
+%
\[
\begin{aligned}
|\delim<>{ax+b}|
&\to\langle ax+b\rangle
\\
-|\delimpair{[}{[.],}{[}!{a}{b}|
+|\delimpair[{*,}[!{a}{b}|
&\to \bigl[a, b\bigr[
\\
-|\delimtriple<\vert\vert>*{\psi}{A^\dagger}{\psi}|
+|\delimtriple<|\textvert\textvert|>*{\psi}{A^\dagger}{\psi}|
&\to\left\langle\psi\middle\vert A^\dagger\middle\vert \psi\right\rangle
\end{aligned}
\]
@@ -216,14 +223,14 @@ The command |\delim| can be used on the fly, but also
in definitions of custom delimiter sets such as:
%
\[
-|\newcommand{\comm}{\delimpair{[}{[.],}{]}}|
+|\newcommand{\comm}{\delimpair{[}{*,}{]}}|
\]
%
Note that the definition of |\comm| does not specify any arguments.
They are nevertheless read by the incomplete definition of |\delimpair|
-from the what follows |\comm|.
+from what follows |\comm|.
In particular, this incomplete definition
-enables the correct parsing of the optional size specifier,
+enables the correct parsing of the optional size specifier flag,
e.g.:
%
\[
@@ -238,7 +245,7 @@ The above definition could be written as follows:
\begin{aligned}
&|\DeclareMathDelimiterSet{\comm}[2]|
\\
-&\qquad |{\selectdelim[l]{[}{#1},{#2}\selectdelim[r]{]}}|
+&\qquad |{\selectdeliml{[}{#1},{#2}\selectdelimr{]}}|
\end{aligned}
\]
@@ -260,9 +267,9 @@ of the currently selected math font
Unfortunately, it does not account for
the currently selected math style.
Therefore, the size of delimiters in sub/superscripts
-cannot be adjusted appropriately,
-\unskip\footnote{Arguably, it is bad typesetting practice
-to have too complicated expressions in sub/superscripts.}
+cannot be adjusted appropriately
+(an arguably better typesetting practice is
+to avoid complicated expressions in sub/superscripts in the first place),
they come out way too big:
%
\[
@@ -272,7 +279,7 @@ they come out way too big:
This package modifies the definitions of
the size modifiers (of \textsf{amsmath})
to automatically adjust to sub/superscripts
-(subject to availability):
+(subject to availability in the font):
%
\[
\makeatletter
@@ -282,6 +289,7 @@ to automatically adjust to sub/superscripts
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Spacing and Math Classes}
+\label{sec:spacing}
Another shortcoming of the variable-size delimiters is that
the spacing is noticeably different from their fixed-size counterparts:
@@ -291,12 +299,12 @@ the spacing is noticeably different from their fixed-size counterparts:
|\square(ax+b)\square|
&\to \square(ax+b)\square
\\
-|\square\left(ax+b\right)\square|
-&\to \square\left(ax+b\right)\square
-\\
|\square\bigl(ax+b\bigr)\square|
&\to \square\bigl(ax+b\bigr)\square
\\
+|\square\left(ax+b\right)\square|
+&\to \square\left(ax+b\right)\square
+\\
|\square\left(ax+\big.b\right)\square|
&\to \square\left(ax+\big.b\right)\square
\end{aligned}
@@ -328,8 +336,9 @@ For practical purposes, consistent spacing can only be achieved
by a more convenient mechanism.
On a related note, it is important to correctly specify
-the math class (|\mathopen|\hspace{0pt}/\hspace{0pt}|\mathclose|)
+the math class (such as |\mathopen| or |\mathclose|)
for the delimiters, for example:
+%
\[
\begin{aligned}
|\big(-1\big)| &\to \big(-1\big)
@@ -340,19 +349,23 @@ for the delimiters, for example:
%
The math class can also make a major difference for intermediate delimiters,
e.g.:
+%
\[
\begin{aligned}
-|\bigl\langle\psi\big\vert\psi\bigr\rangle|
-&\to \bigl\langle\psi\big\vert\psi\bigr\rangle
+|\bigl<\psi\big|\textvert|\psi\bigr>|
+&\to \bigl<\psi\big\vert\psi\bigr>
\\
-|\bigl\langle\psi\bigm\vert\psi\bigr\rangle|
-&\to \bigl\langle\psi\bigm\vert\psi\bigr\rangle
+|\bigl<\psi\mathpunct\big|\textvert|\psi\bigr>|
+&\to \bigl\langle\psi\mathpunct\big\vert\psi\bigr>
\\
-|\bigl\langle\psi\mathbin\big\vert\psi\bigr\rangle|
-&\to \bigl\langle\psi\mathbin\big\vert\psi\bigr\rangle
+|\bigl<\psi\mathinner\big|\textvert|\psi\bigr>|
+&\to \bigl\langle\psi\mathinner\big\vert\psi\bigr>
\\
-|\bigl\langle\psi\mathpunct\big\vert\psi\bigr\rangle|
-&\to \bigl\langle\psi\mathpunct\big\vert\psi\bigr\rangle
+|\bigl<\psi\mathbin\big|\textvert|\psi\bigr>|
+&\to \bigl\langle\psi\mathbin\big\vert\psi\bigr>
+\\
+|\bigl<\psi\bigm|\textvert|\psi\bigr>|
+&\to \bigl\langle\psi\bigm\vert\psi\bigr>
\end{aligned}
\]
%
@@ -364,6 +377,67 @@ of the left and right delimiters. It also offers several choices for
intermediate delimiters to take the context into account.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{Compounds and Broken Lines}
+
+The mechanism provided by the package requires the delimited expression
+to appear as an uninterrupted compound. In particular, the expression cannot
+span several lines in a multi-line equation or several columns in a matrix.
+The same restriction applies to the elementary |\left| and |\right| construct.
+In cases where delimited expressions are torn apart across several blocks,
+the delimiters have to be typeset individually.
+The package offers a mechanism to display individual delimiters
+of a given delimiter set. It also assists in maintaining
+the same type and size across blocks.
+Being able to display individual delimiters of defined delimiter sets
+offers a broad range of (ab)use.
+
+Individual delimiters of a set can be selected and displayed
+by specifying appropriate flags,
+for example:
+%
+\[
+|\brk(|\to{(},\qquad
+|\brk)|\to{)}
+\]
+%
+These flags can be combined with the size specifier
+or other bracket modifiers,
+e.g.:
+%
+\[
+|\brk^3(|\to{\biggl(},\qquad
+|\brk[s]^2)|\to{\Bigr]}
+\]
+%
+This enables to conveniently split delimited expressions over blocks of code,
+e.g.:
+%
+\[
+|\brk[s]^3(\frac{A}{B}|\ldots\Big/\mkern-9mu\Big/\ldots|\frac{C}{D}\brk[s]^3)|
+\to
+\biggl[\frac{A}{B}\cdots\bigg/\mkern-12mu\bigg/\cdots\frac{C}{D}\biggr]
+\]
+%
+Here, the type and modifiers specifying the delimiter set
+are repeated for all individual delimiters.
+To simplify such expressions and their maintenance,
+the package provides global registers which store
+the type and size of delimiters.
+With those, the above expression can be abbreviated as:
+%
+\[
+|\brk[s]^3[|\ldots\big/\mkern-6mu\big/\ldots|\usedelim]|
+\quad\text{or}\quad
+|\brk[s]^3[|\ldots\big/\mkern-6mu\big/\ldots|\brk]|
+\]
+%
+Here, |\usedelim]|, alternatively |\brk]|,
+closes the delimiter set with
+the type and options previously specified by |\brk...[|.
+For nesting purposes, there also exists a more elaborate
+solution using registers, see below.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Philosophy}
Semantic typesetting is one of the philosophies behind \LaTeX{}:
@@ -435,17 +509,17 @@ Modifier letters can be prepended and appended to adjust their size.
%
A functionality of the present package
not offered by any of the above packages is
-to typeset delimiters on the fly, e.g.:
+to typeset delimiters on the fly,
+e.g.:
%
\[
-|\delim<\vert>!{\psi}{\psi}|
-\to\bigl\langle\psi\big\vert\psi\bigr\rangle
+|\delim<|\textvert|>!{\psi}{\psi}|
+\to\bigl<\psi\big\vert\psi\bigr>
\]
%
The mechanism to specify the size is leaner in the sense that it uses
only a single character and a single command.
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Usage}
@@ -457,139 +531,377 @@ If not yet present,
the package \textsf{amsmath} will be loaded automatically.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\subsection{Inline Usage}
-\label{sec:delimcommands}
+\subsection{Delimiter Sets and Presentation Flags}
+\label{sec:flags}
+
+The package provides commands to represent various delimiter sets,
+see \secref{sec:inline} and \secref{sec:declare} below.
+Their display can be modified systematically by specifying flags.
+A delimiter set |\|\emph{name}, e.g.\ |\brk|, is typically invoked by
+a sequence like:
+%
+\[
+|\|\emph{name}\ \emph{flags}\ |{|\emph{expr1}|}||{|\emph{expr2}|}|\ldots
+\]
+%
+where \emph{expr(n)} are the terms to be enclosed by the delimiters
+and the optional \emph{flags} adjust the presentation of delimiters.
+The \emph{flags} are described as follows:
+
+First, a size modifier flag controls the size of the delimiters
+to be displayed. It can take one of the following values:
+%
+\[
+\begin{aligned}
+|0|&\qquad \text{default size}
+\text{ (0.96 times default line height)}
+\\
+|!|, |+|, |^1|&\qquad \text{size }|\big|
+\text{ (1.2 times default line height)}
+\\
+|^2|&\qquad \text{size }|\Big|
+\text{ (1.8 times default line height)}
+\\
+|^3|&\qquad \text{size }|\bigg|
+\text{ (2.4 times default line height)}
+\\
+|^4|&\qquad \text{size }|\Bigg|
+\text{ (3.0 times default line height)}
+\\
+|^|\emph{n}, |^{|\emph{x}|}|&\qquad \text{flexible size adjustment
+(\emph{n}=|0|\ldots|9|; \emph{x}: decimal number)}
+\\
+|_{|\emph{h}|}|&\qquad \text{adjustment to absolute height \emph{h} (centred)}
+\\
+|*|&\qquad \text{variable size }|\left...\right|
+\end{aligned}
+\]
+%
+The intended delimiter size is stored as the dimension register:
+%
+\[
+|\delimsize|
+\]
+%
+It may be used to adjust spacing within the delimiter set
+proportional to the size of the delimiters.
+Note that the actual size of delimiters may deviate
+depending on availability within the given font.
+Note further that the size cannot be determined for variable-size delimiters
+(`|*|') and thus size |\Big| is assumed for this case.
+Note finally that the sub/superscript styles are not taken into
+account and |\delimsize| applies to the default case |\textstyle|.
+The package also supplies a macro to add horizontal glue
+proportional to the intended delimiter size:
+%
+\[
+|\kerndelim{|\emph{width}|}|
+\]
+%
+Here, \emph{width} is the amount of horizontal glue
+in units of mu scaled by the ratio of |\delimsize|
+and the current math font height.
+The macro does adjust for the selected script style.
+
+Second, a delimiter selection flag is used to pick out
+and display just one individual delimiter within the set.
+It can take one of the following values:
+%
+\[
+\begin{aligned}
+|(|&\qquad \text{left delimiter}
+\\
+\textvert, |,|&\qquad \text{first intermediate delimiter}
+\\
+|)|&\qquad \text{right delimiter}
+\\
+|?|\emph{n}&\qquad \text{\emph{n}-th delimiter (starting with |0|: left)}
+\end{aligned}
+\]
+
+Third, register flags store are retrieve delimiter
+for splitting the across blocks or lines:
+%
+\[
+\begin{aligned}
+|[|&\qquad \text{store delimiter type to register `|.|',
+display left delimiter (same as `|>.(|')}
+\\
+|]|&\qquad \text{display right delimiter stored in default register `|.|'
+(same as `|<.)|')}
+\\
+|>|\emph{r}, |>{|\emph{reg}|}|&\qquad \text{store delimiter type
+in register \emph{r} or \emph{reg}}
+\\
+|<|\emph{r}, |<{|\emph{reg}|}|&\qquad \text{retrieve delimiter type
+from register \emph{r} or \emph{reg}}
+\end{aligned}
+\]
+%
+A register stores the type of delimiter set (|\|\emph{name}),
+the desired size (except for variable size `|*|')
+as well as the math class of the compound (`|'|' vs. `|"|', see below).
+A stored register can be retrieved and displayed by the macro:
+%
+\[
+|\usedelim|\,\emph{r}\ \emph{sel}
+\quad\text{or}\quad
+|\usedelim|\{\emph{reg}\}\emph{sel}
+\]
+%
+Here, \emph{sel} is a flag to select an individual delimiter, see above.
+
+In addition, there are some general purpose flags:
+%
+\[
+\begin{aligned}
+|.|&\qquad \text{terminates flag processing}
+\\
+|:|&\qquad \text{enclose delimiter set in block
+(for using total box dimensions)}
+\\
+|'|&\qquad \text{render delimiter set as }|\mathopen|\text{ and }|\mathclose|
+\\
+|"|&\qquad \text{render delimiter set as }|\mathinner|
+\\
+|-|&\qquad \text{display phantom delimiters (for individual delimiters)}
+\end{aligned}
+\]
+
+Please note the following:
+%
+\begin{itemize}
+\item
+A delimiter selector (including the combined flags `|[|' and `|]|')
+terminates flag processing,
+therefore all relevant flags must be specified before it.
+\item
+Parsing also stops with the opening of the first term argument
+by means of the opening brace `|{|'.
+\item
+Parsing can also be terminated manually by specifying the flag `|.|'
+(in case the opening brace `|{|' for arguments is missing for whatever reason).
+\item
+Any other letter or token at the location of \emph{flags}
+is interpreted as an unrecognised flag and triggers a compiler error.
+For instance, |\brk{x}| must not be abbreviated as |\brk x|
+because `|x|' would be interpreted as a flag
+(it might be abbreviated as |\brk.x|).
+\item
+The legacy size modifier flags `|1|' \ldots `|4|'
+provided for backward compatibility have the same effect as `|^1|'\ldots`|^4|'.
+\item
+The phantom delimiter flag `|-|' does not work for variable size.
+It is intended for reserving space for individual delimiters
+when they are composed manually into sets (e.g.\ across lines).
+\item
+Technically, individual delimiters can be produced in the variable size version
+(even though it may defeat the purpose of the delimiter selection mechanism).
+One has to pay attention when using
+only the opening or only the closing delimiters from the package
+and counterbalancing it by direct code for the opposite side.
+This is because `|*(|' and `|*)|' do not directly translate to
+|\left|\emph{delim} and |\right|\emph{delim}
+due to proper spacing, see \secref{sec:spacing}.
+Instead, they translate to:
+%
+\[
+\begin{aligned}
+|*(|&\to|\mathopen{}\mathclose\bgroup\left|\emph{delim}
+\\
+|*)|&\to|\right|\emph{delim}|\egroup|
+\end{aligned}
+\]
+%
+One should use analogous code to complete the manual variable size block.
+
+Note that similar restrictions apply to using the flag `|:|'
+for block enclosure which uses |\bgroup| and |\egroup| as well.
+
+As it does not make much sense to use variable-size (`|*|')
+and block (`|:|') compounds for individual delimiter selection,
+the state of these flags is not stored in the global registers.
+\end{itemize}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{Inline Declarations}
+\label{sec:inline}
The package provides three general purpose commands
to compose delimiter sets with one, two or three encapsulated expressions:
%
\[
\begin{aligned}
-&|\delim{|\emph{l}|}{|\emph{r}|}|\emph{size}|{|\emph{expr}|}|
+&|\delim{|\emph{l}|}{|\emph{r}|}|\emph{flags}|{|\emph{expr}|}|
\\
&|\delimpair{|\emph{l}|}{|\emph{m}|}{|\emph{r}|}|
-\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}|
+\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}|
\\
-&|\delimtriple{|\emph{l}|}{|\emph{m1}|}{|\emph{m2}|}{|\emph{r}|}|
-\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}{|\emph{expr3}|}|
+&|\delimtriple{|\emph{l}|}{|\emph{m}|}{|\emph{n}|}{|\emph{r}|}|
+\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}{|\emph{expr3}|}|
\end{aligned}
\]
%
The expression(s) \emph{expr(n)} will be surrounded by the
delimiters \emph{l} and \emph{r}
and, in the case of more than one expression,
-they will be separated by the delimiters \emph{m(n)}:
+they will be separated by the delimiters \emph{m}, \emph{n}:
+%
\[
\emph{l}\ \emph{expr}\ \emph{r},
\qquad
\emph{l}\ \emph{expr1}\ \emph{m}\ \emph{expr2}\ \emph{r},
\qquad
-\emph{l}\ \emph{expr1}\ \emph{m1}\ \emph{expr2}\
-\emph{m2}\ \emph{expr3}\ \emph{r}
+\emph{l}\ \emph{expr1}\ \emph{m}\ \emph{expr2}\
+\emph{n}\ \emph{expr3}\ \emph{r}
\]
-Here, \emph{l} and \emph{r} have to be
-math delimiters (symbols which can be used for |\left| and |\right|) or
-the dot `.' for the null delimiter.
-The separators \emph{m(n)} can be plain math delimiters as well, but they can
-also be compound expression of the form |[|\emph{class}|]|\emph{delim}
-where \emph{class} specifies
-the intended math class of the delimiter \emph{delim}:
+Here, \emph{l}, \emph{r}, \emph{m}, \emph{n}
+should be math delimiters \emph{delim}
+(elementary symbols which can be used for |\left| and |\right|)
+or the dot `|.|' for the null delimiter.
+The delimiter set expression can be adjusted in two ways:
+
+First, size adjustment
+for the delimiters \emph{l}, \emph{r}, \emph{m}, \emph{n}
+can be suppressed by a starred variant:
+%
+\[
+|{*|\emph{token}|}|
+\qquad\text{or}\qquad
+|{*{|\emph{expr}|}}|
+\]
+%
+This allows to use an arbitrary \emph{token}
+or a compound expression \emph{expr} in place of a delimiter \emph{delim}.
+This is useful when a delimiter character should not adjust in size
+(e.g.\ commas), or if a flexible-size version of the character
+is not available. One might also use a compound expression
+to create a null delimiter with non-zero width
+(the width may be specified by |\kerndelim|
+to make it proportional to the delimiter size).
+
+Second, the intended math class
+of the intermediate delimiters \emph{m}, \emph{n}
+may be adjusted in order to achieve a more appropriate automatic spacing
+by using |{[|\emph{class}|]|\emph{delim}|}|.
+Here, \emph{class} specifies
+the intended math class of the delimiter \emph{delim}
+according to:
%
\[
-\begin{aligned}{}
+\begin{aligned}
\left.\begin{array}{r}
-\emph{delim}\\|{|\emph{delim}|}|\\|{[]|\emph{delim}|}|
+\emph{delim}\\|{|\emph{delim}|}|
\end{array}\right\}
-&\qquad\text{class }|\mathord|\text{ (similar to }|\big|)
-\\
-|{[l]|\emph{delim}|}|&\qquad
-\text{class }|\mathopen|\text{ (similar to }|\bigl|
-\text{, not for use in }|\delim...|)
-\\
-|{[r]|\emph{delim}|}|&\qquad
-\text{class }|\mathclose|\text{ (similar to }|\bigr|
-\text{, not for use in }|\delim...|)
+&\qquad
+\left\{\begin{array}{l}
+\text{no glue for size-adjusted delimiters (same as }|[o]|\text{)}
\\
-|{[o]|\emph{delim}|}|&\qquad
-\text{class }|\mathopen|\text{ (similar to }|\bigl|)
+\text{determined by expression for unadjusted size (}|*|\text{ variant)}
+\end{array}\right.
\\
-|{[c]|\emph{delim}|}|&\qquad
-\text{class }|\mathclose|\text{ (similar to }|\bigr|)
-\\
-|{[m]|\emph{delim}|}|&\qquad
-\text{class }|\mathrel|\text{ (similar to }|\bigm|)
+|{[o]|\emph{delim}|}|
+&\qquad
+\text{no glue, similar to }|\big|, |\mathord|, |\mathopen|, |\mathclose|
\\
|{[p]|\emph{delim}|}|&\qquad
-\text{class }|\mathpunct|\text{ (similar to }|\bigp|)
+\text{followed by }|\thinmuskip|\text{, similar to }|\bigp|, |\mathpunct|
+\\
+|{[i]|\emph{delim}|}|&\qquad
+\text{surrounded by }|\thinmuskip|\text{, similar to }|\bigi|, |\mathinner|
\\
|{[b]|\emph{delim}|}|&\qquad
-\text{class }|\mathbin|\text{ (similar to }|\bigb|)
+\text{surrounded by }|\medmuskip|\text{, similar to }|\bigb|, |\mathbin|
\\
-|{[.]|\emph{expr}|}|&\qquad
-\text{no size adjustment, \emph{expr} can be any expression}
+|{[m]|\emph{delim}|}|&\qquad
+\text{surrounded by }|\thickmuskip|\text{, similar to }|\bigm|, |\mathrel|
\end{aligned}
\]
-%
-Note that the left and right delimiters \emph{l} and \emph{r} effectively
-have |[l]| and |[r]| prepended, respectively,
-and therefore they must be a plain math delimiter.
-Conversely, the immediate delimiters \emph{m(n)} must not
-have the |[l]| and |[r]| classes
-because the latter must appear precisely once
-and they are already taken by \emph{l} and \emph{r};
-use classes |[o]| and |[c]| instead.
-The optional size modifier \emph{size} should take one of the following values:
+Please note the following:
+%
+\begin{itemize}
+\item
+The left and right delimiters \emph{l} and \emph{r}
+are assigned to special classes:
+They leave no initial and final glue on the enclosed expressions
+(same as |\mathopen| and |\mathclose|).
+From the outside, the delimiter set appears
+either as a combination of |\mathopen|+|\mathclose| (flag `|'|')
+or as |\mathinner| (flag `|"|').
+\item
+The legacy class |[.]| provided for backward compatibility
+specifies delimiters with unadjusted size:
+the compound |{[.]|\emph{expr}|}| has the same effect as |{*{|\emph{expr}|}}|.
+\item
+The legacy class |[c]| provided for backward compatibility
+has the same effect as |[o]|.
+\item
+Unadjusted-size delimiters can be combined with math classes as:
+%
\[
-\begin{aligned}{}
-\emph{empty}, \emph{anything else}, |0|&\qquad \text{default size}
-\\
-|!|, |+|, |1|&\qquad \text{size }|\big|\text{ (|!| is preferred)}
-\\
-|2|&\qquad \text{size }|\Big|
-\\
-|3|&\qquad \text{size }|\bigg|
-\\
-|4|&\qquad \text{size }|\Bigg|
-\\
-|*|&\qquad \text{variable size }|\left...\right|
-\end{aligned}
+|{[|\emph{class}|]*|\emph{token}|}|
+\qquad\text{or}\qquad
+|{[|\emph{class}|]*{|\emph{expr}|}}|
\]
+%
+\item
+The opening square bracket `|[|'
+takes the dual role of indicating the optional |[|\emph{class}|]| argument.
+To avoid conflicts on intermediate delimiters,
+opening square bracket delimiters should be encoded as
+`|{{[}}|' (for |\delim...|) or `|{[}|' (for |\selectdelim|)
+rather than `|[|'.
+\end{itemize}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Declarations}
+\label{sec:declare}
The above constructs can be used to define new delimiter commands via:
%
\[
-|\newcommand{\|\emph{name}|}{\delim...{|\emph{l}|}...{|\emph{r}|}}|
+\begin{aligned}
+&|\newcommand{\|\emph{name}|}{\delim{|\emph{l}|}{|\emph{r}|}|
+\emph{flags}|}|
+\\
+&|\newcommand{\|\emph{name}|}{\delimpair{|\emph{l}|}{|\emph{m}|}{|\emph{r}|}|
+\emph{flags}|}|
+\\
+&|\newcommand{\|\emph{name}|}{\delimtriple{|\emph{l}|}{|\emph{m}|}|
+|{|\emph{n}|}{|\emph{r}|}|\emph{flags}|}|
+\end{aligned}
\]
%
-Here it makes sense to drop all arguments starting
-with the size modifier \emph{size} from the definition.
+Here it makes sense to drop all arguments
+starting at the optional \emph{flags} argument from the definition.
The \TeX{} parsing mechanism will then automatically
use the tokens following |\|\emph{name} including the optional size modifier.
-If the encapsulated expression(s) are to be passed as explicit arguments
-to |\|\emph{name}, one will have to find an alternative way to pass the
-optional size argument.
+If any of the encapsulated expression(s) are to be passed as
+explicit arguments to |\|\emph{name},
+one will have to find an alternative way to pass \emph{flags}.
+However, it is possible to predefine \emph{flags}
+which can be overridden by further \emph{flags} specified by the user.
The above declarations via |\delim...|
-should be sufficient for almost all situations.
+should be sufficient for most situations.
However, there is an even more flexible way to declare delimiter sets:
+%
\[
-|\DeclareMathDelimiterSet{\|\emph{name}|}[|\emph{narg}|]{|\emph{expr}|}|
+|\DeclareMathDelimiterSet{\|\emph{name}|}[|\emph{narg}|]{|\emph{compositor}|}|
\]
%
The syntax of this command is equivalent to the one of |\newcommand|.
The difference is that the command |\|\emph{name} first looks
-for the optional size modifier \emph{size} as
-described above in \secref{sec:delimcommands}.
-It remembers the desired size for evaluating the macro \emph{expr}.
+for the \emph{flags} argument as
+described above in \secref{sec:inline}.
+It remembers the desired size for evaluating
+the macro expression \emph{compositor}.
Then it parses the arguments as if the command
was declared by |\newcommand|.
-As usual, the macro \emph{expr} contains the command arguments
+As usual, the macro expression \emph{compositor} contains the command arguments
specified by |#1|, |#2|, \ldots. Note that these should
be encapsulated in groups |{#1}|, |{#2}|, \ldots,
in order to prevent them from overwriting definitions
@@ -598,16 +910,108 @@ It should also contain the desired math delimiters
specified by:
%
\[
-|\selectdelim[|\emph{class}|]{|\emph{delim}|}|
+\begin{aligned}
+&|\selectdeliml|[|*|]|{|\emph{delim}|}|
+\\
+&|\selectdelim[|\emph{class}|]|[|*|]|{|\emph{delim}|}|
+\\
+&|\selectdelimr|[|*|]|{|\emph{delim}|}|
+\end{aligned}
\]
%
+The three commands must be in proper sequence
+starting with |\selectdeliml| followed by arbitrarily many
+|\selectdelim| and terminated by |\selectdelimr|.
+The math classes \emph{class} and starred variants
+are defined analogously to \secref{sec:inline}.
Here, the sizes are adjusted automatically
-according to the previously specified modifier \emph{size}.
-The math classes must be in proper sequence,
-i.e.\ the first and last ones must be |l| and |r|, respectively,
-while the intermediate ones can be anything by |l| and |r|,
-see \secref{sec:delimcommands}.
+according to the previously specified modifier.
+
+Picking out individual delimiters from a set
+declared by |\DeclareMathDelimiterSet|
+cannot be achieved automatically.
+Instead, a selector method may be specified manually (where needed) by:
+%
+\[
+\begin{aligned}
+&|\DeclareMathDelimiterSel{\|\emph{name}|}|
+\\
+&| {\selectdeliml{|\emph{l}|}|[|\||or\selectdelim{|\emph{m}|}|\ldots]|}|
+\\
+&| {\selectdelimr{|\emph{r}|}}|
+\end{aligned}
+\]
+%
+As many intermediate delimiters as needed can be specified
+at the end of the first argument; each one must start with `|\||or|'.
+
+\makeatletter
+For example, one might declare a set of double square brackets
+$[\kern-0.06\big@size[*]\kern-0.06\big@size]$ using:
+\makeatother
+%
+\[
+\begin{aligned}
+&|\DeclareMathDelimiterSet{\dsb}[1]|
+\\
+&| {\selectdeliml{[}\kerndelim{-1.75}\selectdelim[o]{[}{#1}|
+\\
+&| \selectdelim[o]{]}\kerndelim{-1.75}\selectdelimr{]}}|
+\end{aligned}
+\]
+%
+Here, the command |\kerndelim{-1.75}| reduces the spacing
+between the two square brackets by approximately 1.75\,mu in default size.
+This could be used for:
+%
+\[
+\makeatletter
+|\dsb^4{\dsb^3{\dsb^2{\dsb^1{\dsb{*}}}}}|
+\to
+\Biggl[\kern-0.20\big@size\Biggl[
+\biggl[\kern-0.16\big@size\biggl[
+\Bigl[\kern-0.12\big@size\Bigl[
+\bigl[\kern-0.08\big@size\bigl[
+[\kern-0.06\big@size[*
+]\kern-0.06\big@size]
+\bigr]\kern-0.08\big@size\bigr]
+\Bigr]\kern-0.12\big@size\Bigr]
+\biggr]\kern-0.16\big@size\biggr]
+\Biggr]\kern-0.20\big@size\Biggr],
+\quad
+|\dsb*|\ldots\to
+\left[\kern-0.12\big@size\middle[\frac{x}{y}
+\middle]\kern-0.12\big@size\right]
+\makeatother
+\]
+%
+An appropriate selector method for displaying individual
+delimiters reads:
+%
+\[
+\begin{aligned}
+&|\DeclareMathDelimiterSel{\dsb}|
+\\
+&| {\selectdeliml{[}\kerndelim{-1.75}\selectdelim[o]{[}}|
+\\
+&| {\selectdelim[o]]\kerndelim{-1.75}\selectdelimr{]}}|
+\end{aligned}
+\]
+Finally, towards a very flexible manual composition
+of delimiter sets, there is the macro:
+%
+\[
+|\parsedelimflags{|\emph{compositor}|}{|\emph{selector}|}|\emph{flags}
+\]
+%
+It parses the modifier flags as described in \secref{sec:flags}.
+The argument \emph{compositor} is code that displays the
+composited delimiter set whereas \emph{selector} is a macro
+that displays the delimiter number |\selecteddelim| of the set.
+The \emph{flags} follow immediately and should be terminated by
+an opening brace `|{|', the terminating flag `|.|'
+or a delimiter selection flag.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Default Declarations}
@@ -617,30 +1021,34 @@ The package predefines four commonly used sets of delimiters:
%
\begin{itemize}
\item
-|\brk[|\emph{type}|]|\emph{size}|{|\emph{expr}|}| represents
+|\brk[|\emph{type}|]|\emph{flags}|{|\emph{expr}|}| represents
a standard bracket around a single expression \emph{expr}.
The type of bracket can be specified by the optional
argument \emph{type}:
+%
\[
\text{\emph{empty} or |[r]|: round }(x),\quad
\text{|[s]|: square }[x],\quad
\text{|[c]|: curly }\{x\},\quad
\text{|[a]|: angle }\langle x\rangle
\]
+%
\item
-|\eval[|\emph{type}|]|\emph{size}|{|\emph{expr}|}| represents
+|\eval[|\emph{type}|]|\emph{flags}|{|\emph{expr}|}| represents
evaluation of a functional expression \emph{expr}.
The type of bracket can be specified by the optional
argument \emph{type}:
+%
\[
\text{\emph{empty} or |[v]|: }f(x)\vert_{a},\qquad
\text{|[s]|: }[f(x)]_{a}^{b}
\]
+%
\item
-|\abs|\emph{size}|{|\emph{expr}|}| represents
+|\abs|\emph{flags}|{|\emph{expr}|}| represents
the absolute value $\lvert\emph{expr}\rvert$.
\item
-|\norm|\emph{size}|{|\emph{expr}|}| represents
+|\norm|\emph{flags}|{|\emph{expr}|}| represents
the norm $\lVert\emph{expr}\rVert$.
\end{itemize}
%
@@ -651,19 +1059,20 @@ The package also defines some extended sets of delimiters as follows:
%
\begin{itemize}
\item
-|\pair|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\pair|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
a pair(ing) $(\emph{expr1},\emph{expr2})$.
\item
-|\set|\emph{size}|{|\emph{expr}|}| represents
+|\set|\emph{flags}|{|\emph{expr}|}| represents
the set $\{\emph{expr}\}$.
\item
-|\setcond|\emph{size}|{|\emph{expr}|}{|\emph{cond}|}| represents
+|\setcond|\emph{flags}|{|\emph{expr}|}{|\emph{cond}|}| represents
a set with condition $\{\emph{expr}\vert\emph{cond}\}$.
\item
-|\intv[|\emph{type}|]|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\intv[|\emph{type}|]|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
an interval from \emph{expr1} to \emph{expr2}.
The in/\hspace{0pt}exclusion of the bounds can be specified by the optional
argument \emph{type}:
+%
\[
\text{\emph{empty} or |[c]|: closed }[a,b],\qquad
\text{|[o]|: open }]a,b[,\qquad
@@ -673,28 +1082,35 @@ argument \emph{type}:
\text{|[r]|: right-open }[a,b[
\end{array}
\]
+%
\item
-|\avg|\emph{size}|{|\emph{expr}|}| represents
+|\avg|\emph{flags}|{|\emph{expr}|}| represents
some average $\langle\emph{expr}\rangle$.
\item
-|\corr|\emph{size}|{|\emph{expr}|}| represents
+|\corr|\emph{flags}|{|\emph{expr}|}| represents
some correlator $\langle\emph{expr}\rangle$.
\item
-|\comm|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\comm|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
the commutator $[\emph{expr1},\emph{expr2}]$.
\item
-|\acomm|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\acomm|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
the anti-commutator $\{\emph{expr1},\emph{expr2}\}$.
\item
-|\bra|\emph{size}|{|\emph{expr}|}| represents
+|\bra|\emph{flags}|{|\emph{expr}|}| represents
a bra-vector $\langle\emph{expr}\rvert$ in quantum mechanics.
\item
-|\ket|\emph{size}|{|\emph{expr}|}| represents
+|\ket|\emph{flags}|{|\emph{expr}|}| represents
a ket-vector $\lvert\emph{expr}\rangle$ in quantum mechanics.
\item
-|\setcond|\emph{size}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
+|\braket|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| represents
a bra-ket contraction $\langle\emph{expr1}\vert\emph{expr2}\rangle$.
+\item
+|\lfrac[|\emph{type}|]|\emph{flags}|{|\emph{expr1}|}{|\emph{expr2}|}| describes
+the linear representation $\emph{expr1}/\emph{expr2}$ of a fraction.
+An optional argument \emph{type} taking values |[r]|, |[s]|, |[c]|, |[a]| encloses the
+fraction in round, square, curly or angle brackets as for |\brk|.
\end{itemize}
+%
The extended definitions need to be activated by
the package option |extdef|, see \secref{sec:packageoptions}.
@@ -707,10 +1123,10 @@ or taste of the user, they can be redefined with |\renewcommand|.
In addition to the |\bigl|, |\bigr| and |\bigm| commands
(as well as their |\Big.|, |\bigg.| and |\Bigg.| counterparts),
-the package defines two additional sets |\bigp| and |\bigb|
+the package defines three additional sets |\bigp|, |\bigb| and |\bigi|
(and counterparts).
-Here |\bigp| implies the math class |\mathpunct|
-and |\bigb| the class |\mathbin|.
+Here |\bigp| implies the math class |\mathpunct|,
+|\bigb| the class |\mathbin| and |\bigi| the class |\mathinner|.
Furthermore, the package overloads the size calculation in the |\big...|
commands to properly account for the math styles in sub/superscripts
@@ -722,7 +1138,8 @@ the package option |scriptstyle|, see \secref{sec:packageoptions}.
\subsection{Package Options}
\label{sec:packageoptions}
-Options can be passed to the package by
+Options can be passed to the package by:
+%
\[
|\usepackage[|\emph{opts}|]{delimset}|
\qquad
@@ -735,17 +1152,17 @@ Here \emph{opts} is a comma-separated list of the available options:
%
\begin{itemize}
\item
-|stddef|[|=true|$\vert$|false|]
+|stddef|[|=true|\textbar|false|]
controls the activation of standard delimiter definitions specified in
\secref{sec:defaultcommands}.
If no value is given |true| is assumed; initially set to |true|.
\item
-|extdef|[|=true|$\vert$|false|]
+|extdef|[|=true|\textbar|false|]
controls the activation of extended delimiter definitions specified in
\secref{sec:defaultcommands}.
If no value is given |true| is assumed; initially set to |false|.
\item
-|scriptstyle|[|=true|$\vert$|false|]
+|scriptstyle|[|=true|\textbar|false|]
controls the overwriting of size modifiers explained
in \secref{sec:auxcommands}.
If no value is given |true| is assumed; initially set to |true|.
@@ -758,7 +1175,7 @@ If no value is given |true| is assumed; initially set to |true|.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Copyright}
-Copyright \copyright{} 2016--2018 Niklas Beisert
+Copyright \copyright{} 2016--2024 Niklas Beisert
This work may be distributed and/or modified under the
conditions of the \LaTeX{} Project Public License, either version 1.3
@@ -808,7 +1225,7 @@ distribution, e.g.\ \textit{texmf-root}|/tex/latex/delimset|.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Interaction with CTAN Packages}
-The package relies on other packages:
+The package is related to other packages available at CTAN:
\begin{itemize}
\item
This package relies on some functionality of the package \textsf{amsmath}
@@ -820,24 +1237,63 @@ This package uses the package \textsf{keyval} from the \textsf{graphics} bundle
to process optional arguments to the package options.
Compatibility with the \textsf{keyval} package
has been tested with v1.15 (2014/10/28).
+\item
+The package \textsf{icomma} modifies the spacing behaviour
+of the comma character in math mode
+which leads to inadequate spacing when it is used as a middle delimiter.
+To achieve proper spacing in sample code,
+use |{[p]*,}| rather than |{*,}|.
+The extended commands |\intv|, |\comm|, |\acomm| and |\pair|
+are compatible with the \textsf{icomma} package
+has been tested with v2.0 (2002/03/10).
\end{itemize}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\subsection{Feature Suggestions}
-% specify width of null delimiter?
-% automatic nesting of bracket types?
% make optional arguments work for DeclareMathDelimiterSet?
-% add pfrac for fraction a/b in text mode
+% (must go before parsing, but how to process and react?)
+% make unadjusted size have right height
+% automatic nesting of bracket types? -> depth stack?
% handle cramped style properly (perhaps impossible)
-% outer decorations for delimiters e.g. _y<a,b>_x
-% freestyle delimiter with size adjustment replacement \size{\rangle}_x
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Revision History}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\paragraph{v2.0:} 2024/07/17
+
+\begin{itemize}
+\item
+option to display individual delimiters
+and to store them in global registers across blocks
+(columns, lines, etc.)
+\item
+more general handling of unadjusted-size delimiters
+\item
+more general size adjustments
+\item
+added inner math class for intermediate delimiters
+\item
+added flag to enclose by open/close and inner math class
+\item
+added flag to display phantom delimiters
+\item
+selected size accessible by |\delimsize|
+and add proportional kerning by |\kerndelim|.
+\item
+added extended definition |\lfrac| for plain inline fractions
+\item
+null delimiter now properly has zero width for variable size
+\item
+internal mechanisms revised
+\item
+compatibility with \textsf{icomma} package
+(thanks to Olivier Godin for pointing out the issue)
+\end{itemize}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{v1.1:} 2018/12/30
\begin{itemize}
@@ -914,11 +1370,11 @@ standard definitions
sizes for default brackets:
% \begin{macrocode}
\[
-\brk0{x},\quad
-\brk1{x},\quad
-\brk2{x},\quad
-\brk3{x},\quad
-\brk4{x}
+\brk^0{x},\quad
+\brk^1{x},\quad
+\brk^2{x},\quad
+\brk^3{x},\quad
+\brk^4{x}
\]
% \end{macrocode}
@@ -935,7 +1391,7 @@ styles for default brackets:
nested brackets:
% \begin{macrocode}
\[
-\brk[c]2{\brk[s]!{\brk{ax+b}x+c}x+d}
+\brk[c]^2{\brk[s]!{\brk{ax+b}x+c}x+d}
\]
% \end{macrocode}
@@ -952,7 +1408,7 @@ default absolute value, norm and default evaluations:
outer delimiter spacing:
% \begin{macrocode}
\begin{align*}
-&\square\brk0{x}\square,&&\square\brk1{A^k}\square,
+&\square\brk^0{x}\square,&&\square\brk^1{A^k}\square,
\\
&\square\brk*{x}\square,&&\square\brk*{A^k}\square
\end{align*}
@@ -969,7 +1425,7 @@ e^{\brk!{ax+b}}
delimiter declaration:
% \begin{macrocode}
\DeclareMathDelimiterSet{\braket}[2]
- {\selectdelim[l]<#1\selectdelim|#2\selectdelim[r]>}
+ {\selectdeliml<#1\selectdelim|#2\selectdelimr>}
\[
\braket!{\psi}{\psi},
\quad
@@ -988,32 +1444,36 @@ conditional set, alternative layouts:
% \begin{macrocode}
\[
\delimpair\{{[m]|}\}!{2n}{n\in\mathbb{Z}},
-\qquad
+\quad
\delimpair\{{[b]|}\}!{2n}{n\in\mathbb{Z}},
-\qquad
+\quad
+\delimpair\{{[i]|}\}!{2n}{n\in\mathbb{Z}},
+\quad
\delimpair\{{[p]|}\}!{2n}{n\in\mathbb{Z}},
-\qquad
+\quad
\delimpair\{|\}!{2n}{n\in\mathbb{Z}},
-\qquad
-\delimpair\{{[.];}\}!{2n}{n\in\mathbb{Z}}
+\quad
+\delimpair\{{*;}\}!{2n}{n\in\mathbb{Z}}
\]
conditional set, alternative layouts with variable size:
\[
\delimpair\{{[m]|}\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
+\quad
\delimpair\{{[b]|}\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
+\quad
+\delimpair\{{[i]|}\}*{2n}{n\in\mathbb{Z}\big.},
+\quad
\delimpair\{{[p]|}\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
+\quad
\delimpair\{|\}*{2n}{n\in\mathbb{Z}\big.},
-\qquad
-\delimpair\{{[.];}\}*{2n}{n\in\mathbb{Z}\big.}
+\quad
+\delimpair\{{*;}\}*{2n}{n\in\mathbb{Z}\big.}
\]
% \end{macrocode}
delimiter definition:
% \begin{macrocode}
-\newcommand{\comm}{\delimpair[{[.],}]}
+\newcommand{\comm}{\delimpair[{*,}]}
\[
\comm!{\comm{A}{B}}{C}
+\comm!{\comm{B}{C}}{A}
@@ -1024,7 +1484,7 @@ delimiter definition:
alternative representation:
% \begin{macrocode}
-\renewcommand{\comm}{\delimpair[{[.];}]}
+\renewcommand{\comm}{\delimpair[{*;}]}
\[
\comm!{\comm{A}{B}}{C}
+\comm!{\comm{B}{C}}{A}
@@ -1033,6 +1493,31 @@ alternative representation:
\]
% \end{macrocode}
+display individual delimiters of a set:
+% \begin{macrocode}
+\renewcommand{\braket}{\delimpair<|>}
+\[
+\braket{A}{B}
+\to \braket( A \braket| B \braket),
+\quad
+\braket*( A\big. \braket*| B_{} \braket*),
+\quad
+\braket^1( A \braket^3| B \braket^2)
+\]
+% \end{macrocode}
+
+placing indices before a bracket
+(does not work in variable-size mode because
+the final size is not available for the enclosed expressions):
+% \begin{macrocode}
+\DeclareMathDelimiterSet{\quadindex}[5]
+ {\selectdeliml.^{#2}_{#3}\mathord{}\selectdelim[o][
+ {#1}\selectdelim[o]]^{#4}_{#5}\selectdelimr.}
+\[
+\quadindex^2{\frac{x}{y}}{1}{2}{3}{4}
+\]
+% \end{macrocode}
+
% end of document body:
% \begin{macrocode}
\end{document}
@@ -1057,6 +1542,7 @@ alternative representation:
% if not yet present.
% \textsf{amsmath} is used for basic delimiter size functionality.
% \textsf{keyval} is used for extended options processing.
+%
% \begin{macrocode}
\RequirePackage{amsmath}
\RequirePackage{keyval}
@@ -1067,6 +1553,7 @@ alternative representation:
%
% The package has some boolean \textsf{keyval} options
% which can be set to |true| or |false|.
+%
% \begin{macrocode}
\newif\ifdlm@std\dlm@stdtrue
\newif\ifdlm@ext\dlm@extfalse
@@ -1083,7 +1570,7 @@ alternative representation:
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \paragraph{Internal Definitions.}
+% \paragraph{Improved Size Adjustments.}
%
% Overwrite the \textsf{amsmath} command |\bBigg@|
% to select the size according to the present math style
@@ -1105,102 +1592,269 @@ alternative representation:
\fi
% \end{macrocode}
-% Define punctuation marks (|\bigp|, etc.)
-% and binary operators (|\bigb|, etc.).
+% Define punctuation marks (|\bigp|, etc.),
+% binary operators (|\bigb|, etc.)
+% and inner class (|\bigi|, etc.).
%
% \begin{macrocode}
-\newcommand{\bigp}{\mathpunct\big}
-\newcommand{\Bigp}{\mathpunct\Big}
-\newcommand{\biggp}{\mathpunct\bigg}
-\newcommand{\Biggp}{\mathpunct\Bigg}
-\newcommand{\bigb}{\mathbin\big}
-\newcommand{\Bigb}{\mathbin\Big}
-\newcommand{\biggb}{\mathbin\bigg}
-\newcommand{\Biggb}{\mathbin\Bigg}
+\providecommand{\bigp}{\mathpunct\big}
+\providecommand{\Bigp}{\mathpunct\Big}
+\providecommand{\biggp}{\mathpunct\bigg}
+\providecommand{\Biggp}{\mathpunct\Bigg}
+\providecommand{\bigb}{\mathbin\big}
+\providecommand{\Bigb}{\mathbin\Big}
+\providecommand{\biggb}{\mathbin\bigg}
+\providecommand{\Biggb}{\mathbin\Bigg}
+\providecommand{\bigi}{\mathinner\big}
+\providecommand{\Bigi}{\mathinner\Big}
+\providecommand{\biggi}{\mathinner\bigg}
+\providecommand{\Biggi}{\mathinner\Bigg}
% \end{macrocode}
-% Define size selectors for standard size (|dlm@norm|),
-% variable size (|dlm@var|).
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \paragraph{Size Adjustment Definitions.}
+%
+% The macro |\dlm@setvar| enables variable size,
+% the macro |\dlm@setsize| sets a fixed size.
+% Delimiter sizes are implented by |\dlm@big@|.
+% The macro |\kerndelim| adds some kerning proportional
+% to the chosen fixed size of the delimiters
+% (the spacing is merely an approximation,
+% and it does not actually scale for flexible size).
+%
+% \begin{macrocode}
+\newlength\delimsize
+\newcommand{\dlm@setvar}{\let\dlm@ifvar\@firstoftwo\delimsize1.5\big@size}
+\newcommand{\dlm@setsize}[1]{\let\dlm@ifvar\@secondoftwo%
+ \delimsize#1\big@size\advance\delimsize by\big@size\delimsize0.5\delimsize}
+\newcommand{\dlm@setabssize}[1]{\let\dlm@ifvar\@secondoftwo\delimsize#1\relax}
+\newcommand{\dlm@big@}[1]{{\mathchoice%
+ {\dlm@big@choice{\displaystyle}{1}{#1}}%
+ {\dlm@big@choice{\textstyle}{1}{#1}}%
+ {\dlm@big@choice{\scriptstyle}{0.7}{#1}}%
+ {\dlm@big@choice{\scriptscriptstyle}{0.5}{#1}}}}
+\newcommand{\dlm@big@choice}[3]{\@mathmeasure\z@{\nulldelimiterspace\z@}%
+ {#1\left#3\vcenter to#2\delimsize{}\right.}\box\z@}
+\newcommand{\kerndelim}[1]{{\delimsize#1\delimsize%
+ \mkern\muexpr1.2mu*\delimsize/\big@size\relax}}
+% \end{macrocode}
+
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \paragraph{Math Classes Processing.}
+%
+% Define class selectors for fixed and unadjusted sizes.
%
% \begin{macrocode}
+\newcommand{\dlm@big}[2]{\dlm@plain{#1}{\dlm@big@#2}}
+\newcommand{\dlm@plain}[2]{\dlm@class{#1}{\dlm@phantom{#2}}}
\newcommand{\dlm@class}[1]{\csname dlm@class@#1\endcsname}
-\newcommand{\dlm@class@}{}
-\newcommand{\dlm@class@l}{\mathopen}
-\newcommand{\dlm@class@r}{\mathclose}
-\newcommand{\dlm@class@o}{\mathopen}
-\newcommand{\dlm@class@c}{\mathclose}
-\newcommand{\dlm@class@m}{\mathrel}
-\newcommand{\dlm@class@p}{\mathpunct}
-\newcommand{\dlm@class@b}{\mathbin}
-\newcommand{\dlm@norm}[1]{\dlm@class{#1}\bBigg@{0.0}}
-\newcommand{\dlm@big}[1]{\dlm@class{#1}\big}
-\newcommand{\dlm@Big}[1]{\dlm@class{#1}\Big}
-\newcommand{\dlm@bigg}[1]{\dlm@class{#1}\bigg}
-\newcommand{\dlm@Bigg}[1]{\dlm@class{#1}\Bigg}
+\let\dlm@class@\@firstofone
+\let\dlm@class@o\mathord
+\let\dlm@class@c\mathord
+\let\dlm@class@p\mathpunct
+\let\dlm@class@i\mathinner
+\let\dlm@class@b\mathbin
+\let\dlm@class@m\mathrel
+% \end{macrocode}
+
+% Define class selector for variable size.
+% The macro |\dlm@var@null| removes the extra space from
+% variable-size null delimiters
+% (|\left.|, |\middle.| and |\right.| apply the value
+% of |\nulldelimiterspace| only at the end of math processing,
+% even across blocks).
+% The macro |\dlm@var@kern| applies kerning unless in the script styles.
+%
+% \begin{macrocode}
+\newcommand{\dlm@var@null}[1]{\if.#1\kern-\nulldelimiterspace\fi}
+\newcommand{\dlm@var@kern}[1]{\nonscript\mkern#1}
\newcommand{\dlm@var}[1]{\csname dlm@var@#1\endcsname}
-\newcommand{\dlm@var@}[1]{\middle#1}
-\newcommand{\dlm@var@l}[1]{\mathopen{}\mathclose\bgroup\left#1}
-\newcommand{\dlm@var@r}[1]{\right#1\egroup}
-\newcommand{\dlm@var@o}[1]{\mathopen{}\middle#1\mathopen{}}
-\newcommand{\dlm@var@c}[1]{\mathclose{}\middle#1\mathclose{}}
-\newcommand{\dlm@var@m}[1]{\mathrel{}\middle#1\mathrel{}}
-\newcommand{\dlm@var@p}[1]{\middle#1\mathpunct{}}
-\newcommand{\dlm@var@b}[1]{\mathbin{}{}\mkern-\medmuskip%
- \middle#1\mkern-\medmuskip{}\mathbin{}}
+\newcommand{\dlm@var@}[1]{\dlm@var@null#1\middle#1}
+\let\dlm@var@o\dlm@var@
+\let\dlm@var@c\dlm@var@
+\newcommand{\dlm@var@p}[1]{\dlm@var@#1\dlm@var@kern\thinmuskip}
+\newcommand{\dlm@var@i}[1]{\dlm@var@kern\thinmuskip%
+ \dlm@var@#1\dlm@var@kern\thinmuskip}
+\newcommand{\dlm@var@b}[1]{\dlm@var@kern\medmuskip%
+ \dlm@var@#1\dlm@var@kern\medmuskip}
+\newcommand{\dlm@var@m}[1]{\dlm@var@kern\thickmuskip%
+ \dlm@var@#1\dlm@var@kern\thickmuskip}
+% \end{macrocode}
+
+% Definitions for selecting outer math class
+% |\mathopen|+|\mathclose| vs. |\mathinner|.
+%
+% \begin{macrocode}
+\newcommand{\dlm@open@i}{\mathinner{}\mathclose{}\mathopen}
+\newcommand{\dlm@close@i}{\mathclose{}\mathopen{}\mathinner}
+\newcommand{\dlm@inner@oc}{\mathopen{}\mathclose}
+\newcommand{\dlm@enclose@openclose}{%
+ \let\dlm@open\mathopen\let\dlm@close\mathclose\let\dlm@inner\dlm@inner@oc}
+\newcommand{\dlm@enclose@inner}{%
+ \let\dlm@open\dlm@open@i\let\dlm@close\dlm@close@i\let\dlm@inner\mathinner}
+% \end{macrocode}
+
+% Definitions for selecting inline vs. block insertion.
+%
+% \begin{macrocode}
+\newcommand{\dlm@inline@l}[1]{\dlm@open{#1}}
+\newcommand{\dlm@inline@r}[1]{\dlm@close{#1}}
+\newcommand{\dlm@block@l}[1]{\dlm@inner\bgroup\mathopen{#1}}
+\newcommand{\dlm@block@r}[1]{\mathclose{#1}\egroup}
+\newcommand{\dlm@enclose@inline}{%
+ \let\dlm@class@l\dlm@inline@l\let\dlm@class@r\dlm@inline@r}
+\newcommand{\dlm@enclose@block}{%
+ \let\dlm@class@l\dlm@block@l\let\dlm@class@r\dlm@block@r}
+% \end{macrocode}
+
+% Opening and closing definitions.
+%
+% \begin{macrocode}
+\newcommand{\dlm@plain@l}[1]{\dlm@class@l{\dlm@phantom{#1}}}
+\newcommand{\dlm@plain@r}[1]{\dlm@class@r{\dlm@phantom{#1}}}
+\newcommand{\dlm@big@l}[1]{\dlm@plain@l{\dlm@big@#1}}
+\newcommand{\dlm@big@r}[1]{\dlm@plain@r{\dlm@big@#1}}
+\newcommand{\dlm@var@l}[1]{\dlm@inner\bgroup\dlm@var@null#1\left#1}
+\newcommand{\dlm@var@r}[1]{\right#1\dlm@var@null#1\egroup}
+\newcommand{\dlm@var@pl}[1]{\dlm@var@l.\mathopen{#1}}
+\newcommand{\dlm@var@pr}[1]{\mathclose{#1}\dlm@var@r.}
+% \end{macrocode}
+
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \paragraph{Delimiter Storage.}
+%
+% Macros for storing and retrieving delimiter types using global registers.
+%
+% \begin{macrocode}
+\newcommand{\dlm@reg@save@init}[1]{%
+ \xdef#1{\delimsize\the\delimsize}\ifx\dlm@inner\mathinner%
+ \expandafter\gdef\expandafter#1\expandafter{#1\dlm@enclose@inner}\fi}
+\newcommand{\dlm@reg@save}[2]{%
+ \expandafter\dlm@reg@save@init\csname dlm@reg@init@#1\endcsname%
+ \expandafter\gdef\csname dlm@reg@sel@#1\endcsname{#2}}
+\newcommand{\dlm@reg@init}[1]{\csname dlm@reg@init@#1\endcsname}
+\newcommand{\dlm@reg@sel}[1]{\csname dlm@reg@sel@#1\endcsname}
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \paragraph{Optional Size Argument Processing.}
+% \paragraph{Flags Processing.}
%
-% Parse the optional argument following |\delim|\ldots\
-% commands to specify the size of delimiters.
-% If the next character in line begins a group (`|{|') it is assumed that
-% there is no optional argument.
-% Otherwise the selected size is written to |\dlm@arg|.
-% Unspecified or unknown sizes default to normal size.
-% Finally, execute the code passed as an explicit argument to |\dlm@parsesize|.
+% The macro |\parsedelimflags| parses the optional argument(s)
+% following |\delim|\ldots\ commands to adjust the presentation.
+% Parsing is terminated if the next character in line begins a group (`|{|')
+% and the delimiter set is composed by executing argument |#1|.
+% A size flag is stored and parsing continues.
+% A delimiter selector flag immediately displays the desired delimiter
+% by executing argument |#2|.
+% Unknown flags produce an error message.
%
% \begin{macrocode}
-\newcommand{\dlm@parsesize}[1]{\@ifnextchar\bgroup%
- {\dlm@parsesize@{#1}{0}}{\dlm@parsesize@{#1}}}
-\newcommand{\dlm@parsesize@}[2]{\let\dlm@arg\dlm@norm%
- \if0#2\let\dlm@arg\dlm@norm\fi%
- \if1#2\let\dlm@arg\dlm@big\fi%
- \if+#2\let\dlm@arg\dlm@big\fi%
- \if!#2\let\dlm@arg\dlm@big\fi%
- \if2#2\let\dlm@arg\dlm@Big\fi%
- \if3#2\let\dlm@arg\dlm@bigg\fi%
- \if4#2\let\dlm@arg\dlm@Bigg\fi%
- \if*#2\let\dlm@arg\dlm@var\fi%
- #1}
+\newcommand{\parsedelimflags}{\dlm@setsize{0.6}\let\dlm@phantom\@firstofone%
+ \dlm@enclose@openclose\dlm@enclose@inline\dlm@parseflags}
+\newcommand{\dlm@parseflags}[2]{%
+ \@ifnextchar\bgroup{#1}{\dlm@parseflag{#1}{#2}}}
+\newcommand{\dlm@parseflag}[3]{\begingroup%
+ \ifcsname dlm@parseflag@\string#3\endcsname%
+ \def\dlm@do{\csname dlm@parseflag@\string#3\endcsname{#1}{#2}}\else%
+ \def\dlm@do{\PackageError{delimset}%
+ {unknown delimiter set flag `\string#3'}{}#1}%
+ \fi\expandafter\endgroup\dlm@do}
+\newcommand{\dlm@parsedef}[3]{%
+ \expandafter\def\csname dlm@parseflag@\string#1\endcsname ##1##2#2{#3}}
% \end{macrocode}
+%
% Note that the delimited expression should be contained within a group
% such that nested delimiters will not overwrite the outer size definition.
+% Flags to adjust size.
+% Note that sizes 0 and 1 amount to 0.96 and 1.2 times
+% the current empty math box height.
+%
+% \begin{macrocode}
+\dlm@parsedef{!}{}{\dlm@setsize{1}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{+}{}{\dlm@setsize{1}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{0}{}{\dlm@setsize{0.6}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{1}{}{\dlm@setsize{1}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{2}{}{\dlm@setsize{2}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{3}{}{\dlm@setsize{3}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{4}{}{\dlm@setsize{4}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{^}{#3}{\dlm@setsize{#3}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{_}{#3}{\dlm@setabssize{#3}\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{*}{}{\dlm@setvar\dlm@parseflags{#1}{#2}}
+% \end{macrocode}
+
+% Flags to select individual delimiters.
+%
+% \begin{macrocode}
+\dlm@parsedef{(}{}{\def\selecteddelim{0}#2}
+\dlm@parsedef{|}{}{\def\selecteddelim{1}#2}
+\dlm@parsedef{,}{}{\def\selecteddelim{1}#2}
+\dlm@parsedef{)}{}{\def\selecteddelim{9}#2}
+\dlm@parsedef{?}{#3}{\def\selecteddelim{#3}#2}
+% \end{macrocode}
+
+% Flags to access registers.
+%
+% \begin{macrocode}
+\dlm@parsedef{[}{}{\dlm@reg@save{.}{#2}\def\selecteddelim{0}#2}
+\dlm@parsedef{]}{}{\dlm@reg@init{.}\def\selecteddelim{9}\dlm@reg@sel{.}}
+\dlm@parsedef{>}{#3}{\dlm@reg@save{#3}{#2}}
+\dlm@parsedef{<}{#3}{\dlm@reg@init{#3}\dlm@parseflags%
+ {\PackageError{delimset}{must select delimiter}{}}{\dlm@reg@sel{#3}}}
+% \end{macrocode}
+
+% Further flags.
+%
+% \begin{macrocode}
+\dlm@parsedef{.}{}{#1}
+\dlm@parsedef{:}{}{\dlm@enclose@block\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{'}{}{\dlm@enclose@openclose\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{"}{}{\dlm@enclose@inner\dlm@parseflags{#1}{#2}}
+\dlm@parsedef{-}{}{\let\dlm@phantom\phantom\dlm@parseflags{#1}{#2}}
+% \end{macrocode}
+
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \paragraph{Size Selection.}
+% \paragraph{Delimiter Display.}
%
-% The command |\selectdelim| reproduces the delimiter in the second argument
-% using the math class given in the first argument
-% using the previously selected size stored in |\dlm@arg|.
-% It appends the class identifier to the command stored in |\dlm@arg|
-% and calls the latter with the delimiter as the argument.
+% The command |\selectdelim| reproduces the delimiter in argument |#2|
+% using the math class given in argument |#1| and the previously stored size.
% If the class identifier is `|.|', just return the delimiter argument as is.
+% The commands |\selectdeliml| and |\selectdelimr|
+% implement the left and right delimiter classes, respectively.
+%
% \begin{macrocode}
-\newcommand{\selectdelim}[2][]{\if.#1#2\else\dlm@arg{#1}#2\fi}
+\newcommand{\selectdelim}[1][]{\begingroup\def\dlm@do{\@ifstar{\dlm@plain{#1}}%
+ {\dlm@ifvar{\dlm@var{#1}}{\dlm@big{#1}}}}%
+ \if.#1\let\dlm@do\@empty\fi\expandafter\endgroup\dlm@do}
+\newcommand{\selectdeliml}{\@ifstar%
+ {\dlm@ifvar\dlm@var@pl\dlm@plain@l}{\dlm@ifvar\dlm@var@l\dlm@big@l}}
+\newcommand{\selectdelimr}{\@ifstar%
+ {\dlm@ifvar\dlm@var@pr\dlm@plain@r}{\dlm@ifvar\dlm@var@r\dlm@big@r}}
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \paragraph{Declaration of New Delimiter Commands.}
%
-% Declares a new set of delimiters as the macro `|\|\emph{name}'.
-% This macro checks for an optional size argument and stores it in |\dlm@arg|.
+% The macro |\DeclareMathDelimiterSet| declares a new set of delimiters
+% as the macro `|\|\emph{name}'.
+% This macro checks for optional flags and stores the desired size.
% It then passes on to a second macro `|\dlm@dcl@|\emph{name}',
% which takes the actual code.
+% If the flags select an individual delimiter,
+% the macro `|\dlm@sel@|\emph{name}' is called instead.
+% The latter macro should be defined via |\DeclareMathDelimiterSel|
+% such that it produces the desired delimiter number |\selecteddelim|.
+%
% \begin{macrocode}
\newcommand{\DeclareMathDelimiterSet}[1]{\expandafter\dlm@declare%
\csname dlm@dcl@\expandafter\@gobble\string#1\endcsname{#1}}
-\def\dlm@declare#1#2{\newcommand{#2}{\dlm@parsesize{#1}}\newcommand{#1}}
+\def\dlm@declare#1#2{\expandafter\dlm@declare@%
+ \csname dlm@sel@\expandafter\@gobble\string#2\endcsname{#1}{#2}}
+\def\dlm@declare@#1#2#3{\newcommand{#3}{\parsedelimflags{#2}{#1}}%
+ \providecommand{#1}{}\newcommand{#2}}
+\newcommand{\DeclareMathDelimiterSel}[3]{\expandafter\def%
+ \csname dlm@sel@\expandafter\@gobble\string#1\endcsname%
+ {\ifcase\selecteddelim#2\else#3\fi}}
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1212,29 +1866,51 @@ alternative representation:
% are processed \emph{before} the optional size modifier.
%
% |\delim| is used for a single delimited expression.
+%
% \begin{macrocode}
-\newcommand{\delim}[2]
- {\dlm@parsesize{\dlm@dcl@delim{#1}{#2}}}
-\newcommand{\dlm@dcl@delim}[3]
- {\selectdelim[l]#1{#3}\selectdelim[r]#2}
+\newcommand{\delim}[2]{%
+ \parsedelimflags{\dlm@dcl@delim{#1}{#2}}{\dlm@sel@delim{#1}{#2}}}
+\newcommand{\dlm@dcl@delim}[3]{%
+ \selectdeliml#1{#3}\selectdelimr#2}
+\newcommand{\dlm@sel@delim}[2]{\ifcase\selecteddelim\selectdeliml#1%
+ \else\selectdelimr#2\fi}
% \end{macrocode}
% |\delimpair| is used for two delimited expressions separated
% by an intermediate delimiter.
+%
% \begin{macrocode}
-\newcommand{\delimpair}[3]
- {\dlm@parsesize{\dlm@dcl@delimpair{#1}{#2}{#3}}}
-\newcommand{\dlm@dcl@delimpair}[5]
- {\selectdelim[l]#1{#4}\selectdelim#2{#5}\selectdelim[r]#3}
+\newcommand{\delimpair}[3]{%
+ \parsedelimflags{\dlm@dcl@delimpair{#1}{#2}{#3}}%
+ {\dlm@sel@delimpair{#1}{#2}{#3}}}
+\newcommand{\dlm@dcl@delimpair}[5]{%
+ \selectdeliml#1{#4}\selectdelim#2{#5}\selectdelimr#3}
+\newcommand{\dlm@sel@delimpair}[3]{\ifcase\selecteddelim\selectdeliml#1%
+ \or\selectdelim#2\else\selectdelimr#3\fi}
% \end{macrocode}
% |\delimtriple| is used for three delimited expressions separated
% by two intermediate delimiters.
+%
% \begin{macrocode}
-\newcommand{\delimtriple}[4]
- {\dlm@parsesize{\dlm@dcl@delimtriple{#1}{#2}{#3}{#4}}}
-\newcommand{\dlm@dcl@delimtriple}[7]
- {\selectdelim[l]#1{#5}\selectdelim#2{#6}\selectdelim#3{#7}\selectdelim[r]#4}
+\newcommand{\delimtriple}[4]{%
+ \parsedelimflags{\dlm@dcl@delimtriple{#1}{#2}{#3}{#4}}%
+ {\dlm@sel@delimtriple{#1}{#2}{#3}{#4}}}
+\newcommand{\dlm@dcl@delimtriple}[7]{%
+ \selectdeliml#1{#5}\selectdelim#2{#6}\selectdelim#3{#7}\selectdelimr#4}
+\newcommand{\dlm@sel@delimtriple}[4]{\ifcase\selecteddelim\selectdeliml#1%
+ \or\selectdelim#2\or\selectdelim#3\else\selectdelimr#4\fi}
+% \end{macrocode}
+
+% |\usedelim| retrieves a stored delimiter type.
+% The argument `|]|' immediately closes the delimiter set
+% using the default register.
+% Otherwise the desired register must be followed
+% by the delimiter selection flag.
+%
+% \begin{macrocode}
+\newcommand{\usedelim}{\@ifnextchar]{\parsedelimflags{}{}}{\parsedelimflags%
+ {\PackageError{delimset}{must select delimiter}{}}{}<}}
% \end{macrocode}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1243,17 +1919,18 @@ alternative representation:
% Define some common delimiters (by |providecommand| so as not to
% overwrite previously existing commands).
% This code is activated only if the package option |stddef| is set to |true|.
+%
% \begin{macrocode}
\ifdlm@std
\providecommand{\brk}[1][r]{\begingroup\def\dlm@use{\delim()}%
- \if r#1 \def\dlm@use{\delim()}\fi%
- \if s#1 \def\dlm@use{\delim[]}\fi%
- \if c#1 \def\dlm@use{\delim\{\}}\fi%
- \if a#1 \def\dlm@use{\delim<>}\fi%
+ \if r#1\def\dlm@use{\delim()}\fi%
+ \if s#1\def\dlm@use{\delim[]}\fi%
+ \if c#1\def\dlm@use{\delim\{\}}\fi%
+ \if a#1\def\dlm@use{\delim<>}\fi%
\expandafter\endgroup\dlm@use}
\providecommand{\eval}[1][v]{\begingroup\def\dlm@use{\delim.\rvert}%
- \if v#1 \def\dlm@use{\delim.\rvert}\fi%
- \if s#1 \def\dlm@use{\delim[]}\fi%
+ \if v#1\def\dlm@use{\delim.\rvert}\fi%
+ \if s#1\def\dlm@use{\delim[]}\fi%
\expandafter\endgroup\dlm@use}
\providecommand{\abs}{\delim\lvert\rvert}
\providecommand{\norm}{\delim\lVert\rVert}
@@ -1265,24 +1942,33 @@ alternative representation:
%
% Define some extended delimiters.
% This code is activated only if the package option |extdef| is set to |true|.
+%
% \begin{macrocode}
\ifdlm@ext
-\providecommand{\pair}{\delimpair({[.],})}
+\providecommand{\pair}{\delimpair({[p]*,})}
\providecommand{\set}{\delim\{\}}
\providecommand{\setcond}{\delimpair\{|\}}
-\providecommand{\intv}[1][c]{\begingroup\def\dlm@use{\delimpair[{[.],}]}%
- \if c#1 \def\dlm@use{\delimpair[{[.],}]}\fi%
- \if l#1 \def\dlm@use{\delimpair]{[.],}]}\fi%
- \if r#1 \def\dlm@use{\delimpair[{[.],}[}\fi%
- \if o#1 \def\dlm@use{\delimpair]{[.],}[}\fi%
+\providecommand{\intv}[1][c]{\begingroup%
+ \def\dlm@use{\delimpair[{[p]*,}]}%
+ \if c#1\def\dlm@use{\delimpair[{[p]*,}]}\fi%
+ \if l#1\def\dlm@use{\delimpair]{[p]*,}]}\fi%
+ \if r#1\def\dlm@use{\delimpair[{[p]*,}[}\fi%
+ \if o#1\def\dlm@use{\delimpair]{[p]*,}[}\fi%
\expandafter\endgroup\dlm@use}
\providecommand{\avg}{\delim<>}
\providecommand{\corr}{\delim<>}
-\providecommand{\comm}{\delimpair[{[.],}]}
-\providecommand{\acomm}{\delimpair\{{[.],}\}}
+\providecommand{\comm}{\delimpair[{[p]*,}]}
+\providecommand{\acomm}{\delimpair\{{[p]*,}\}}
\providecommand{\bra}{\delim<|}
\providecommand{\ket}{\delim|>}
\providecommand{\braket}{\delimpair<|>}
+\providecommand{\lfrac}[1][]{\begingroup%
+ \def\dlm@use{\delimpair./.}%
+ \if r#1\def\dlm@use{\delimpair(/)}\fi%
+ \if s#1\def\dlm@use{\delimpair[/]}\fi%
+ \if c#1\def\dlm@use{\delimpair\{/\}}\fi%
+ \if a#1\def\dlm@use{\delimpair</>}\fi%
+ \expandafter\endgroup\dlm@use}
\fi
% \end{macrocode}
diff --git a/macros/latex/contrib/delimset/delimset.ins b/macros/latex/contrib/delimset/delimset.ins
index daf870b5ff..68e41a7242 100644
--- a/macros/latex/contrib/delimset/delimset.ins
+++ b/macros/latex/contrib/delimset/delimset.ins
@@ -2,7 +2,7 @@
\input docstrip.tex
\keepsilent
-% delimset.ins Copyright (C) 2016-2018 Niklas Beisert
+% delimset.ins Copyright (C) 2016-2024 Niklas Beisert
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -14,7 +14,7 @@
\preamble
-Copyright (C) 2016-2018 Niklas Beisert
+Copyright (C) 2016-2024 Niklas Beisert
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/delimset/delimset.pdf b/macros/latex/contrib/delimset/delimset.pdf
index b964bea59d..734ebf01db 100644
--- a/macros/latex/contrib/delimset/delimset.pdf
+++ b/macros/latex/contrib/delimset/delimset.pdf
Binary files differ
diff --git a/macros/latex/contrib/doibanner/README.md b/macros/latex/contrib/doibanner/README.md
new file mode 100644
index 0000000000..a28fd46abd
--- /dev/null
+++ b/macros/latex/contrib/doibanner/README.md
@@ -0,0 +1,91 @@
+# doibanner
+
+A LaTeX package to generate DOI banners and links.
+
+The `doibanner` package allows to generate a banner for a declared [digital
+object identifier](https://www.doi.org/the-identifier/what-is-a-doi/) (DOI).
+It provides the `\doibanner` macro, which draws the banner using
+[`TikZ`](https://www.ctan.org/pkg/tikz) and adds a link via
+[`hyperref`](https://www.ctan.org/pkg/hyperref), if desired. Its output can
+be scaled by [`adjustbox`](https://www.ctan.org/pkg/adjustbox) and it might
+look as follows:
+
+![_DOI banner generated with `\doibanner`_](./example/doibanner_example.png "Example generated with doibanner")
+
+Latest release: 2024-07-28 v0.3
+
+
+## Installation
+
+Skip this section, if `doibanner` is already provided in your TeX distribution.
+You should be able to install it [from the CTAN](https://www.ctan.org/pkg/doibanner)
+via your distribution's utility (e.g. the TeX Live Utility).
+
+### Manual installation
+
+You can get the package's source code from the
+[project repository on Codeberg](https://codeberg.org/Cs137/doibanner).
+The repository contains a build script, which allows you to build the required
+files for the `doibanner` package and copy them into your _TeX Directory Structure_
+(TDS) using `l3build`. Ensure that `l3build` is installed on your system and run
+it from the repository's root directory as follows:
+
+```bash
+l3build install --full
+```
+
+The `--full` option ensures that all necessary files are built and installed.
+
+If you do not want to install the package into your TDS, but use it in a
+particular LaTeX project, follow the steps listed below.
+
+1. unpack `doibanner.sty` from the `doibanner.dtx` file
+ - using `l3build` and the `build.lua` script: `l3build unpack`, __or__
+ - directly via the installer file: `pdflatex doibanner.ins`
+2. copy the extracted `doibanner.sty` file into the same directory as your LaTeX sources.
+
+
+## Usage
+
+Please consult the [package documentation](http://mirrors.ctan.org/macros/latex/contrib/doibanner/doibanner.pdf)
+for detailed usage information.
+
+If you have any questions or need assistance, feel free to
+[open an issue on the repository](https://codeberg.org/Cs137/doibanner/issues).
+
+
+## Contributing
+
+Contributions to the `doibanner` package are very welcomed. Feel free to submit
+a [pull request (PR)](https://codeberg.org/Cs137/doibanner/pulls), if you would
+like to contribute to the project. In case you are unfamiliar with the process,
+consult the [forgejo documentation](https://forgejo.org/docs/latest/user/pull-requests-and-git-flow/)
+and follow the steps using this repository instead of the `example` repository.
+
+Create your [pull request (PR)](https://codeberg.org/Cs137/doibanner/pulls) to
+inform that you started working on a contribution. Provide a clear description
+of your envisaged changes and the motivation behind them, prefix the PR's title
+with ``WIP: `` until your changes are finalised.
+
+All kind of contributions are appreciated, whether they are
+bug fixes, new features, or improvements to the documentation.
+
+
+### Contributors
+
+- [Christian Schreinemachers](https://codeberg.org/Cs137)
+- [Marei Peischl](https://chaos.social/@TeXhackse)
+
+
+## Changes
+
+All notable changes to this project are documented in the file
+[`CHANGELOG.md`](https://codeberg.org/Cs137/doibanner/src/branch/main/CHANGELOG.md).
+
+
+## Credits
+
+This package was created and is maintained by Christian Schreinemachers, (C) 2024.
+The source code is hosted on [Codeberg](https://codeberg.org/Cs137/doibanner).
+It is subject to the [LaTeX Project Public License 1.3c](https://www.ctan.org/license/lppl1.3).
+
diff --git a/macros/latex/contrib/doibanner/doibanner.dtx b/macros/latex/contrib/doibanner/doibanner.dtx
new file mode 100644
index 0000000000..e004b53e31
--- /dev/null
+++ b/macros/latex/contrib/doibanner/doibanner.dtx
@@ -0,0 +1,412 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2024 Christian Schreinemachers
+%
+% This work may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.3c of this
+% license or (at your option) any later version. The latest version
+% of this license is in
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008-05-04 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The current maintainer of this work is Christian Schreinemachers.
+%
+% This work consists of the files
+% doibanner.dtx
+% doibanner.ins
+% README.md
+% and the derived files
+% doibanner.sty
+% doibanner.pdf
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \fi
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{doibanner}
+%<package> [2024-07-28 v0.3 Generate DOI banners and links]
+%
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+\usepackage[%
+ pdfusetitle,%
+ hyperindex=false,%
+ pdfsubject={LaTeX package documentation},%
+ pdfkeywords={doibanner, latex, documentation}%
+]{hyperref}
+\usepackage{doibanner}
+\usepackage[toc]{multitoc}
+\usepackage{geometry}
+\usepackage{fancyvrb}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\DoNotIndex{\adjustbox,\begin,\bfseries,\DeclareKeys,\definecolor,\end,\fill,
+ \fontfamily,\href,\IfBooleanTF,\Large,\NewDocumentCommand,\node,
+ \ProcessKeyOptions,\RequirePackage,\relax,\selectfont,\SetKeys,
+ \sfdefault,\tikzstyle}
+\setcounter{IndexColumns}{2}
+\setlength{\IndexMin}{40ex}
+\setlength{\columnseprule}{.4pt}
+\addtolength{\oddsidemargin}{2cm}
+\addtolength{\textwidth}{-2cm}
+\begin{document}
+ \DocInput{doibanner.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \pagestyle{headings}
+%
+% \newcommand*{\package}[1]{\textsf{#1}}
+% \newcommand*{\opt}[1]{\texttt{#1}}
+% \newcommand*{\default}[1]{(default: \opt{#1})}
+%
+%
+% ^^A -----------------------------
+%
+% \changes{v0.3}{2024-07-28}{%
+% Add package options \opt{width} and \opt{label},
+% fix mistakes,
+% improve documentation,
+% remove unnecessary dependencies}
+% \changes{v0.2}{2024-07-23}{%
+% Initial release,
+% convert into dtx,
+% add documentation,
+% add \opt{urlbase} package option}
+% \changes{v0.1}{2021/05/09}{Initial version}
+%
+% \GetFileInfo{doibanner.sty}
+%
+%
+% ^^A -----------------------------
+%
+% \title{The \package{doibanner} package}
+% \author{Christian Schreinemachers}
+% \date{%
+% Released \filedate\thanks{%
+% \package{doibanner}~\fileversion
+% ~(\href{https://codeberg.org/Cs137/doibanner/releases/tag/\fileversion}{source code})}%
+% }
+% \maketitle
+%
+%
+% ^^A -----------------------------
+%
+% \begin{abstract}
+% The \package{doibanner} package allows to generate a banner for a declared
+% \href{https://www.doi.org/the-identifier/what-is-a-doi/}{digital object identifier}
+% (DOI). It provides the \cs{doibanner} macro, which draws the banner using
+% \package{TikZ} and adds a link via \package{hyperref}, if desired. Its
+% output can be scaled by \package{adjustbox} and it might look as follows:
+% \par\medskip\centering{\doibanner*[width=5cm]{xx.xxxx/yyyyyy.zzzzzzzz}}
+% \end{abstract}
+%
+%
+% ^^A -----------------------------
+%
+% \tableofcontents
+%
+%
+% ^^A -----------------------------
+%
+% \section{Introduction}
+% ^^A
+% I published several documents on \href{https://zenodo.org/}{\emph{Zenodo}},
+% a general-purpose open repository. They offer to register a
+% \href{https://www.doi.org/the-identifier/what-is-a-doi/}{digital object identifier}
+% (DOI) for an entry and download a banner of it. The latter can be added to
+% contents foreseen for the entry, or e.g. when referring to the entry in a
+% slide deck.
+%
+% Since I frequently use such banners in \LaTeX{} documents, I decided to
+% create a package that generates a similar banner and includes a link to the
+% corresponding URL. Additionally, this package eliminates the need to
+% manually download the banner and manage a file that might be used across
+% multiple documents.
+%
+% Due to the motivation, the resulting banner is heavily inspired by the
+% design applied in the banner offered by \emph{Zenodo}. It is drawn using
+% the \package{tikz} package, a link to its URL can be included with
+% \package{hyperref}, and it can be scaled using \package{adjustbox}.
+%
+% The application of this package is not limited to \emph{Zenodo}
+% depositions, it can be used to create a banner for a DOI that can
+% be included in any \LaTeX{} document.
+%
+%
+% ^^A -----------------------------
+%
+% \section{Usage}
+% ^^A
+% Load the package in your document's preamble and specify any of the
+% options described in the next subsection as follows:
+%
+% \begin{quote}
+% \cs{usepackage}\oarg{option(s)}\{doibanner\}
+% \end{quote}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Options}
+% ^^A
+% In order to change the default behaviour of this package, declare one
+% or more of the options described in this subsection with your desired
+% value.
+%
+% \DescribeMacro{label=\meta{string}}
+% \default{DOI} specifies the label (left part) of the DOI banner generated
+% by \cs{doibanner}. The widths of the left and right part of the banner
+% are fixed and do currently not take the length of the text displayed on
+% top into account. Consequently, only a short expression should be declared
+% as value for the option \opt{label}.
+%
+% \DescribeMacro{urlbase=\meta{string}}
+% \default{https://doi.org/} specifies the base URL to convert a DOI string
+% into its URL, for normal use cases this does not require any adjustment.
+%
+% \DescribeMacro{width=\meta{dimen}}
+% \default{3.6cm} specifies the total width of the DOI banner generated by
+% \cs{doibanner}. The widths of the individual parts of the banner are
+% fixed and can currently not be changed.
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Macros}
+% ^^A
+% \subsubsection*{\cs{doibanner}\oarg{dimen}\marg{string}}
+%
+% A DOI banner can be created using the command \cs{doibanner}, which requires
+% a DOI string as argument. Moreover, a \oarg{dimen} option can be defined.
+% The latter specifies the banner's width. If it is not declared, the value
+% of the \opt{width} package option is taken into account \default{3.6cm}.
+%
+% \DescribeMacro{\doibanner}
+% An execution of \cs{doibanner\{xx.xxxx/yyyyyy.zzzzzzzz\}} results in this
+% banner: \doibanner{xx.xxxx/yyyyyy.zzzzzzzz} If a banner with a width of
+% let's say 3\,cm is desired, it can be achieved by specifying the macro option
+% \opt{width} accordingly (\cs{doibanner}\opt{[width=3cm]\{xx.xxxx/yyyyyy.zzzzzzzz\}}):
+% \doibanner[width=3cm]{xx.xxxx/yyyyyy.zzzzzzzz}
+%
+% \DescribeMacro{\doibanner*}
+% The starred version of the command leads to the same banner, but it does
+% not contain a link to the DOI's URL:
+% \doibanner*{xx.xxxx/yyyyyy.zzzzzzzz}
+%
+% \subsubsection*{\cs{doiurl}\marg{string}}
+% ^^A
+% \DescribeMacro{\doiurl}
+% An URL is generated by appending the provided \emph{string} to the string
+% defined as the package option \opt{urlbase}. The resulting link is labelled
+% with the DOI string.
+% A call of \cs{doiurl\{xx.xxxx/yyyyyy.zzzzzzzz\}} results in
+% \doiurl{xx.xxxx/yyyyyy.zzzzzzzz}.
+%
+% \DescribeMacro{\doiurl*}
+% The command is also available as starred version, which prints the full
+% URL instead of the DOI string and does not include a link. Its output for
+% the aforementioned example is as follows:
+% \doiurl*{xx.xxxx/yyyyyy.zzzzzzzz}.
+%
+%
+% ^^A -----------------------------
+%
+% ^^A \section{Known limitations}
+% ^^A ^^A
+% ^^A \begin{itemize}
+% ^^A \item
+% ^^A \end{itemize}
+%
+%
+% ^^A -----------------------------
+%
+% \MaybeStop{
+%
+% \IndexPrologue{%
+% \section{Index}
+% Numbers written in italic refer to the page where the corresponding entry
+% is described; numbers underlined refer to the code line of the definition;
+% numbers in roman refer to the code lines where the entry is used.
+% }
+% \PrintIndex
+%
+% \GlossaryPrologue{%
+% \section{Change History}
+% The changes listed in this section aim to provide a brief overview of the
+% changes introduced into the package \package{doibanner}. The
+% \href{https://codeberg.org/Cs137/doibanner/}{package repository on Codeberg}
+% contains a
+% \href{https://codeberg.org/Cs137/doibanner/src/branch/main/CHANGELOG.md}{changelog file},
+% consult it to read a detailed description of the changes introduced into
+% this package.
+% }
+% \PrintChanges
+%
+% }
+%
+%
+% ^^A -----------------------------
+%
+% \section{Implementation}
+%
+% \subsection{Dependencies}
+% ^^A
+% In order to use \package{doibanner}, the packages
+% \href{https://www.ctan.org/pkg/adjustbox}{\package{adjustbox}},
+% \href{https://www.ctan.org/pkg/hyperref}{\package{hyperref}}, and
+% \href{https://www.ctan.org/pkg/tikz}{\package{tkiz}}
+% are required as package dependencies.
+%
+% \iffalse
+%<*package>
+% \fi
+% \begin{macrocode}
+\RequirePackage{adjustbox}
+\RequirePackage{hyperref}
+\RequirePackage{tikz}
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Constants}
+% ^^A
+% Definition of colours for the banner areas and labels, custom colour
+% definitions are currently not supported.
+% \begin{macrocode}
+\definecolor{leftcolor}{RGB}{82,82,82}
+\definecolor{rightcolor}{RGB}{6,119,183}
+%
+\definecolor{toptextcolor}{RGB}{235,235,235}
+\definecolor{bottomtextcolor}{RGB}{59,59,59}
+% \end{macrocode}
+% ^^A
+% Definition of font and colour for the banner's top and bottom text layers.
+% \begin{macrocode}
+\tikzstyle{toptextstyle} = [
+ font=\fontfamily{\sfdefault}\selectfont\bfseries\Large,toptextcolor]
+\tikzstyle{bottomtextstyle} = [
+ font=\fontfamily{\sfdefault}\selectfont\bfseries\Large,bottomtextcolor]
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Options}
+% ^^A
+% The package options are internally available as \cs{@doibanner@}\meta{option}.
+% \begin{macrocode}
+\DeclareKeys[@doibanner]{
+ label.store = \@doibanner@label,
+ label.usage = load,
+ urlbase.store = \@doibanner@urlbase,
+ urlbase.usage = load,
+ width.store = \@doibanner@width,
+ width.usage = load,
+}
+% \end{macrocode}
+%
+% \subsubsection*{Assignement of default values}
+% \begin{macrocode}
+\SetKeys[@doibanner]{
+ label=DOI,
+ urlbase=https://doi.org/,
+ width=3.6cm,
+}
+% \end{macrocode}
+%
+% \subsubsection*{Processing of package options}
+% \begin{macrocode}
+\ProcessKeyOptions[@doibanner]\relax
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Macros}
+%
+% \changes{v0.2}{2024-07-23}{Remove \cs{doi} macro}
+%
+% \begin{macro}{\doiurl}
+% \changes{v0.2}{2024-07-23}{Remove trailing space}
+% \oarg{dimen}\\
+% The \meta{string} is appended to the package option \opt{urlbase} to
+% generate the URL.
+% \begin{macrocode}
+\NewDocumentCommand\doiurl{s m}{%
+ \IfBooleanTF#1
+ {\@doibanner@urlbase#2}%
+ {\href{\@doibanner@urlbase#2}{#2}}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@doibanner@draw}
+% \changes{v0.3}{2024-07-28}{Rename macro, remove top part}
+% \oarg{dimen}\marg{string}\\
+% Draw the DOI banner including its \opt{label} and \meta{string}, provide
+% \opt{width=\meta{dimen}} to define the banners width as well.
+% \begin{macrocode}
+\NewDocumentCommand\@doibanner@draw{o m}{%
+ \adjustbox{#1}{%
+ \begin{tikzpicture}
+% left part
+ \fill [leftcolor,draw]
+ (1.5,0) --
+ ++(0,.8) {[rounded corners=5] --
+ ++(-1.5,0) --
+ ++(0,-.8)} --
+ cycle
+ {};
+ \node[bottomtextstyle] at (.75,.35) {\@doibanner@label};
+ \node[toptextstyle] at (.75,.4) {\@doibanner@label};
+% right part
+ \fill [rightcolor,draw]
+ (1.5,0) {[rounded corners=5] --
+ ++(6.5,0) --
+ ++(0,.8)} --
+ ++(-6.5,0) --
+ cycle
+ {};
+ \node[bottomtextstyle] at (4.75,.35) {#2};
+ \node[toptextstyle] at (4.75,.4) {#2};
+ \end{tikzpicture}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\doibanner}
+% \changes{v0.3}{2024-07-28}{Add \opt{width} option}
+% \changes{v0.2}{2024-07-23}{Remove trailing space}
+% \oarg{dimen}\marg{string}\\
+% Display the DOI banner with or without (*) a link to its URL. Specify a
+% \oarg{dimen}, if you want a banner width deviating from the one defined
+% as \opt{width} package option.
+% \begin{macrocode}
+\NewDocumentCommand\doibanner{s O{width=\@doibanner@width} m}{%
+ \IfBooleanTF#1
+ {\@doibanner@draw[#2]{#3}}%
+ {\href{\@doibanner@urlbase#3}{\@doibanner@draw[#2]{#3}}}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
+\endinput
+%%
+%% End of file `doibanner.dtx'.
+
diff --git a/macros/latex/contrib/doibanner/doibanner.ins b/macros/latex/contrib/doibanner/doibanner.ins
new file mode 100644
index 0000000000..97cfbb3fbb
--- /dev/null
+++ b/macros/latex/contrib/doibanner/doibanner.ins
@@ -0,0 +1,85 @@
+%%
+%% Copyright (C) 2024 Christian Schreinemachers
+%%
+%% This work may be distributed and/or modified under the conditions
+%% of the LaTeX Project Public License, either version 1.3c of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of
+%% LaTeX version 2008-05-04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The current maintainer of this work is Christian Schreinemachers.
+%%
+%% This work consists of the files
+%% doibanner.dtx
+%% doibanner.ins
+%% README.md
+%% and the derived files
+%% doibanner.sty
+%% doibanner.pdf
+%%
+This work has the LPPL maintenance status `maintained'.
+
+The current maintainer of this work is Christian Schreinemachers.
+
+This work consists of the files
+ doibanner.dtx
+ doibanner.ins
+ README.md
+and the derived files
+ doibanner.sty
+ doibanner.pdf
+\input docstrip.tex
+\keepsilent
+
+\preamble
+
+Copyright (C) 2024 Christian Schreinemachers
+
+This work may be distributed and/or modified under the conditions
+of the LaTeX Project Public License, either version 1.3c of this
+license or (at your option) any later version. The latest version
+of this license is in
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008-05-04 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The current maintainer of this work is
+ Christian Schreinemachers.
+
+This work consists of the files
+ doibanner.dtx
+ doibanner.ins
+and the derived files
+ doibanner.sty
+ doibanner.pdf
+
+\endpreamble
+\askforoverwritefalse
+\generate{\file{doibanner.sty}{\from{doibanner.dtx}{package}}}
+
+\obeyspaces
+\Msg{****************************************************}
+\Msg{* To finish the installation you have to move the *}
+\Msg{* following file into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* doibanner.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file *}
+\Msg{* bib2qr.dtx through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{****************************************************}
+\endbatchfile
+%%
+%% End of file `doibanner.ins'.
+
diff --git a/macros/latex/contrib/doibanner/doibanner.pdf b/macros/latex/contrib/doibanner/doibanner.pdf
new file mode 100644
index 0000000000..546b0c9de1
--- /dev/null
+++ b/macros/latex/contrib/doibanner/doibanner.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/README.md b/macros/latex/contrib/easybook/README.md
index 441d0bda0a..a04be06f54 100644
--- a/macros/latex/contrib/easybook/README.md
+++ b/macros/latex/contrib/easybook/README.md
@@ -1,5 +1,5 @@
# The `easybook` document class
-Easily typesetting Chinese theses or books (v2024cm)
+Easily typesetting Chinese theses or books (v2024dj)
## Abstract
`easybook` is a pure academic template created based on the `ctexbook` book document class. It also has the functions of `book` and `article` document class. Combined with the general framework design of the theses of many universities in China, providing multiple commands and interfaces allows users to easily customize the theses templates. Its basic macro package `easybase` can also be used with `ctex` and standard document classes.
@@ -11,5 +11,5 @@ This work may be distributed and/or modified under the conditions of the LPPL-1.
| [Gitee](https://gitee.com/texno3/easybook) | [Github](https://github.com/texno3/easybook) | [CTAN](https://ctan.org/pkg/easybook) |
## Maintainer
-QuYi<br/>
+Qu Yi<br/>
Email: toquyi@163.com \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 62519599eb..30f7860795 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -14,7 +14,7 @@
% This work has the LPPL maintenance status `maintained'.
%<class|package>\NeedsTeXFormat{LaTeX2e}[2021/11/15]
%<*class>
-\ProvidesExplClass{easybook}{2024/06/24}{2024cm}
+\ProvidesExplClass{easybook}{2024/08/14}{2024dj}
{Easily typesetting Chinese theses or books}
\bool_new:N \l__eb_compile_draft_bool
@@ -301,7 +301,7 @@
%</class>
%<*package>
\RequirePackage{etoolbox}
-\ProvidesExplPackage{easybase}{2024/06/24}{2024cm}
+\ProvidesExplPackage{easybase}{2024/08/14}{2024dj}
{Easily typesetting Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -313,7 +313,7 @@
\cs_generate_variant:Nn \seq_set_from_clist:Nn { No }
\cs_generate_variant:Nn \ctex_define:nn { nx }
\cs_generate_variant:Nn \eb_set_hyperref:n { x }
-\cs_generate_variant:Nn \eb_at_begin_environment:nn { on }
+\cs_generate_variant:Nn \eb_at_begin_environment:nn { o }
\cs_generate_variant:Nn \tl_if_novalue:nF { V }
\cs_set_protected:Npn \ctex_define:nn #1
@@ -332,7 +332,7 @@
\clist_map_inline:nn {#1}
{ \AtBeginEnvironment{##1}{#2} }
}
-\cs_new_protected:Npn \eb_at_end_preamble:n
+\cs_set_protected:Npn \ctex_before_end_preamble:n
{ \BeforeBeginEnvironment{document} }
\cs_new_protected:Npn \eb_if_package_loaded:nnF #1#2#3
{
@@ -372,7 +372,11 @@
\IfNoValueTF{#1}
{\IfFileExists{#2.sty}{\RequirePackage{#2}[#3]}{}}
{\IfFileExists{#2.sty}{\RequirePackage[#1]{#2}[#3]}{}}
+ \IfFileExists{#2.sty}{}
+ {\msg_warning:nnn { easybase } { package-not-found } {#2}}
}
+\msg_new:nnn { easybase } { package-not-found }
+ { The~macro~package~'#1'~can't~be~found. }
\cs_new_protected:Npn \ebloadpackage #1
{
\int_compare:nTF { \clist_count:n {#1} <= 1 }
@@ -448,9 +452,9 @@
\seq_set_from_clist:Nn \l__eb_module_paths_seq
{
- tools,font,space,
- bib,thmt,toc,
- hdr,float,ref,geo
+ tools,font,space,bib,
+ thmt,toc,hdr,float,
+ ref,geo,cap
}
\seq_map_inline:Nn \l__eb_module_paths_seq
{
@@ -505,7 +509,6 @@
\ebloadpackage
{
[text]{spbmark},
- [normalem]{ulem},
[{shortlabels,inline}]{enumitem},
chemformula,siunitx,pifont,
geometry,marginnote,
@@ -802,7 +805,7 @@
\UseFntSymbsList{empty}
\cs_set_eq:NN \DefineFntSymbols \SetFntSymbsList
\cs_set_eq:NN \setfntsymbol \UseFntSymbsList
-\cs_new:Npn \eb_int_format_trans:NN #1
+\cs_new:Npn \eb_int_type_trans:NN #1
{
\str_case:nn {#1}
{
@@ -837,29 +840,44 @@
}
\cs_set_eq:NN \thedownfootnote \thefootnote
}
+\cs_generate_variant:Nn \msg_warning:nnnn { nnnV }
\cs_new_protected:Npn \eb_fnmarktext_short_label_set:Nn #1#2
{
\tl_set:Nn \l__eb_fnmarktext_short_tokens_tl {#2}
\clist_map_inline:nn
{ A,a,1,I,i,c,s }
{
- \regex_match:nnT {##1} {#2}
+ \regex_match:nnTF {##1} {#2}
{
\regex_replace_once:nnN {##1}
- { \c{eb_int_format_trans:NN} ##1 \c{c@footnote} }
+ { \c{eb_int_type_trans:NN} ##1 \c{c@footnote} }
\l__eb_fnmarktext_short_tokens_tl
- \seq_map_break:
+ \cs_set_eq:NN #1 \l__eb_fnmarktext_short_tokens_tl
+ \clist_map_break:
+ }
+ {
+ \str_if_eq:nnT {##1} { s }
+ {
+ \str_if_eq:nnTF {#1} { \thefootnote }
+ { \str_set:Nn \l_tmpa_str { \thedownfootnote } }
+ { \str_set:Nn \l_tmpa_str { \theupfootnote } }
+ \msg_warning:nnnV { easybase } { unknown-fnt-type } {#2} \l_tmpa_str
+ }
}
}
- \cs_set_eq:NN #1 \l__eb_fnmarktext_short_tokens_tl
\cs_set_eq:NN \thedownfootnote \thefootnote
}
+\msg_new:nnn { easybase } { unknown-fnt-type }
+ {
+ The~'#1'~includes~unknown~footnote~numbering~type \\
+ in~#2.
+ }
\cs_new_protected:Npn \eb_footnote_value_handle:n #1
{
\str_case:nnF {#1}
{
{ bottom }
- { \bool_set_true:N \l__eb_fnpara_bottom_bool }
+ { \PushFntBottom }
{ flush }
{
\tl_set:Nn \l__eb_footnote_value_tl { plain }
@@ -892,7 +910,6 @@
}
}
-\bool_new:N \l__eb_fnpara_bottom_bool
\tl_new:N \l__eb_fnmarktext_format_tl
\tl_new:N \l__eb_fncustom_format_tl
\clist_new:N \l__eb_footnote_value_clist
@@ -940,7 +957,7 @@
unknown .code:n = \eb_msg_deprecated_option:n { hdr }
}
-\eb_at_end_preamble:n
+\ctex_before_end_preamble:n
{
\bool_if:NT \l__eb_chap_counter_withpart_bool
{ \counterwithin*{chapter}{part} }
@@ -950,58 +967,91 @@
{ page } { \counterwithin*{footnote}{page} }
}
{ \counterwithout*{footnote}{chapter} }
- \eb_fnpara_if_pos_bottom:
}
-\cs_new_protected:Npn \setspread #1 { \linespread{#1}\selectfont }
-\cs_new:Npn \eb@ifvoid #1#2#3 { \ifvoid #1#2\else #3\fi }
-\cs_new_protected:Npn \eb_fnpara_if_pos_bottom:
+
+\def\@if@footnotes@TF #1#2 {\ifvoid\footins #2\else #1\fi}
+\def\@outputbox@removebskip
+ {
+ \ifx\@textbottom\relax\else
+ \@outputbox@append
+ {
+ \@tempskipa\lastskip
+ \ifnum\gluestretchorder\@tempskipa>\z@
+ \vskip -\@tempskipa
+ \xdef\@outputbox@reinsertbskip
+ {\noexpand\@outputbox@append{\vskip\the\@tempskipa}}
+ \else
+ \global\let\@outputbox@reinsertbskip\relax
+ \fi
+ }
+ \fi
+ }
+\let\@outputbox@reinsertbskip\relax
+\def\@outputbox@append #1
+ {
+ \setbox\@outputbox\vbox
+ {
+ \boxmaxdepth\@maxdepth
+ \dimen@\dp\@outputbox
+ \unvbox\@outputbox
+ #1
+ }
+ }
+\def\@outputbox@attachfloats{\@combinefloats}
+\NewHook{makecol/footins/before}
+\NewHook{makecol/footins/begin}
+\def\@outputbox@appendfootnotes
{
- \bool_if:NT \l__eb_fnpara_bottom_bool
+ \@if@footnotes@TF
{
- \IfPackageLoadedTF{footmisc}
- {\msg_warning:nn { easybase } { bottom-not-compatible }}
+ \UseHook{makecol/footins/before}
+ \@outputbox@append
{
- \cs_set:Npn \@makecol
- {
- \setbox\@outputbox\box\@cclv
- \let\@elt\relax
- \xdef\@freelist{\@freelist\@midlist}
- \global\let\@midlist\@empty
- \@combinefloats
- \eb@ifvoid\footins{}
- {
- \setbox\@outputbox\vbox
- {
- \boxmaxdepth\@maxdepth
- \unvbox\@outputbox
- \vfill\relax
- \vskip\skip\footins
- \color@begingroup
- \normalcolor\footnoterule
- \unvbox\footins
- \color@endgroup
- }
- }
- \eb@ifvoid\@kludgeins
- {\@makespecialcolbox}
- {
- \setbox\@outputbox\vbox to\@colht
- {
- \@texttop\dimen@\dp\@outputbox
- \unvbox\@outputbox
- \vskip -\dimen@\@textbottom
- }
- }
- \global\maxdepth\@maxdepth
- }
+ \vskip\skip\footins
+ \UseHook{makecol/footins/begin}
+ \color@begingroup
+ \normalcolor
+ \footnoterule
+ \@nameuse{pdfcolfoot@current}
+ \unvbox\footins
+ \color@endgroup
}
+ }{}
+ }
+\def\@makenormalcolbox
+ {
+ \setbox\@outputbox\vbox to\@colht
+ {
+ \@texttop
+ \dimen@\dp\@outputbox
+ \unvbox\@outputbox
+ \vskip -\dimen@
+ \@textbottom
}
}
-\msg_new:nnn { easybase } { bottom-not-compatible }
+\cs_new_protected:Npn \PushFntBottom
{
- Not~compatible~with~the~'footmisc'~package. \\
- Please~use~the~'bottom'~option~of~'footmisc'~package.
+ \cs_set:Npn \@makecol
+ {
+ \setbox\@outputbox\box\@cclv
+ \@outputbox@removebskip
+ \let\@elt\relax
+ \xdef\@freelist{\@freelist\@midlist}
+ \global\let\@midlist\@empty
+ \@outputbox@attachfloats
+ \@if@footnotes@TF
+ {\@outputbox@append{\vfill}}
+ {\@outputbox@reinsertbskip}
+ \@outputbox@appendfootnotes
+ \ifvbox\@kludgeins
+ \@makespecialcolbox
+ \else
+ \@makenormalcolbox
+ \fi
+ \global\maxdepth\@maxdepth
+ }
}
+\@onlypreamble\PushFntBottom
\cs_new_protected:Npn \eb_footnote_direct_hang:
{
@@ -1057,6 +1107,7 @@
\l__eb_fnpara_format_tl{#1}
\tl_if_eq:NnT \l__eb_footnote_value_tl { hang } { \par }
}
+\cs_new_protected:Npn \setspread #1 { \linespread{#1}\selectfont }
\clist_map_inline:nn { \@footnotetext,\@mpfootnotetext }
{
\eb_patch_cmd:Nnn #1
@@ -1072,12 +1123,12 @@
\ctex_at_end_package:nn { footmisc }
{
\eb_package_date_check:nn { footmisc } { 2022/02/10 }
- \boolfalse{FN@setspace}
- \ifbool{FN@para}{}
+ \ifboolexpr{not (bool {FN@para} or bool {FN@sidefn})}
{
+ \boolfalse{FN@setspace}
\cs_set_eq:NN \@makefntext \eb@@makefntext
\cs_set_eq:NN \@footnotetext \eb@@footnotetext
- }
+ }{}
\ifboolexpr
{
bool {FN@hangfoot} or
@@ -1316,7 +1367,7 @@
{
\IfBooleanTF{##1}
{
- \use:c {#1}*{\phantomsection ##3}
+ \use:c {#1}*{##3}
\CTEX@addtocline{#1}{##2}
\tl_if_empty:oF {##4} { \CTEX@addbitocline{#1}{##4} }
\use:c { #1mark }{##2}
@@ -1338,22 +1389,22 @@
\skip_if_eq:nnF { \eb@toc@lol@skip } { \c_zero_skip }
{ \addtocontents{lol}{\protect\addvspace{\skip_use:N \eb@toc@lol@skip}} }
}
-\cs_new_protected:Npn \eb_title_base_set_eq:nn #1#2
- {
- \tl_set_eq:cc { CTEX@#2@beforeskip } { CTEX@#1@beforeskip }
- \tl_set_eq:cc { CTEX@#2@afterskip } { CTEX@#1@afterskip }
- \bool_set_eq:cc { CTEX@#2@numbering } { CTEX@#1@numbering }
- \bool_set_eq:cc { CTEX@#2@fixskip } { CTEX@#1@fixskip }
- \bool_set_eq:cc { CTEX@#2@hang } { CTEX@#1@hang }
- \bool_set_eq:cc { CTEX@#2@runin } { CTEX@#1@runin }
- \cs_set_eq:cc { CTEX@#2@tocline } { CTEX@#1@tocline }
- \tl_set_eq:cc { CTEX@#2@break } { CTEX@#1@break }
- \tl_set_eq:cc { CTEX@#2@format } { CTEX@#1@format }
- \tl_set_eq:cc { CTEX@#2@nameformat } { CTEX@#1@nameformat }
- \tl_set_eq:cc { CTEX@#2@numberformat } { CTEX@#1@numberformat }
- \tl_set_eq:cc { CTEX@#2@titleformat } { CTEX@#1@titleformat }
- \tl_set_eq:cc { CTEX@#2@aftername } { CTEX@#1@aftername }
- \tl_set_eq:cc { CTEX@#2@aftertitle } { CTEX@#1@aftertitle }
+\cs_new_protected:Npn \CopyTitleFormat #1#2
+ {
+ \tl_set_eq:cc { CTEX@#1@beforeskip } { CTEX@#2@beforeskip }
+ \tl_set_eq:cc { CTEX@#1@afterskip } { CTEX@#2@afterskip }
+ \bool_set_eq:cc { CTEX@#1@numbering } { CTEX@#2@numbering }
+ \bool_set_eq:cc { CTEX@#1@fixskip } { CTEX@#2@fixskip }
+ \bool_set_eq:cc { CTEX@#1@hang } { CTEX@#2@hang }
+ \bool_set_eq:cc { CTEX@#1@runin } { CTEX@#2@runin }
+ \cs_set_eq:cc { CTEX@#1@tocline } { CTEX@#2@tocline }
+ \tl_set_eq:cc { CTEX@#1@break } { CTEX@#2@break }
+ \tl_set_eq:cc { CTEX@#1@format } { CTEX@#2@format }
+ \tl_set_eq:cc { CTEX@#1@nameformat } { CTEX@#2@nameformat }
+ \tl_set_eq:cc { CTEX@#1@numberformat } { CTEX@#2@numberformat }
+ \tl_set_eq:cc { CTEX@#1@titleformat } { CTEX@#2@titleformat }
+ \tl_set_eq:cc { CTEX@#1@aftername } { CTEX@#2@aftername }
+ \tl_set_eq:cc { CTEX@#1@aftertitle } { CTEX@#2@aftertitle }
}
\NewDocumentCommand{\NewTitleCommand}{omm}
{
@@ -1375,7 +1426,7 @@
{ \CTEXnumberline{##1}##2 }
\exp_args:Nc \providecommand { ttll@#2 }{#3}
\exp_args:Nc \providecommand { toclevel@#2 }{#3}
- \IfValueT{#1}{\eb_title_base_set_eq:nn {#1} {#2}}
+ \IfValueT{#1}{\CopyTitleFormat{#2}{#1}}
}
\NewDocumentCommand{\NewTitleEntryCommand}{O{toc}m}
{
@@ -1384,35 +1435,39 @@
\bool_if:cTF { CTEX@#2@numbering }
{ \CTEX@ifnametrue }
{ \CTEX@ifnamefalse }
+ \CTEX@makeanchor{#2*}
\addcontentsline{#1}{#2}{\use:c { CTEX@#2@tocline }{#2}{##1}}
}
}
\ctex_define:nn { tools }
{
- hyphen-figure .tl_set:N = \l__eb_hyphen_figure_tl,
- hyphen-table .tl_set:N = \l__eb_hyphen_table_tl,
- hyphen-listing .tl_set:N = \l__eb_hyphen_listing_tl,
- hyphen-equation .tl_set:N = \l__eb_hyphen_equation_tl,
- hyphen-every .meta:n =
+ hyphen-figure .tl_set:N = \l__eb_hyphen_figure_tl,
+ hyphen-table .tl_set:N = \l__eb_hyphen_table_tl,
+ hyphen-lstlisting .tl_set:N = \l__eb_hyphen_lstlisting_tl,
+ hyphen-equation .tl_set:N = \l__eb_hyphen_equation_tl,
+ hyphen-every .meta:n =
{
- hyphen-figure = {#1},hyphen-table = {#1},
- hyphen-listing = {#1},hyphen-equation = {#1}
+ hyphen-figure = {#1},hyphen-table = {#1},
+ hyphen-lstlisting = {#1},hyphen-equation = {#1}
},
- hyphen-every .initial:n = .,
- unknown .code:n = \eb_msg_deprecated_option:n { tools }
+ hyphen-every .initial:n = .,
+ unknown .code:n = \eb_msg_deprecated_option:n { tools }
}
-\clist_map_inline:nn
- { figure,table,listing,equation }
+\AtBeginDocument
{
- \cs_set:cpn { the#1 }
+ \clist_map_inline:nn
+ { figure,table,lstlisting,equation }
{
- \int_compare:nNnT { \c@chapter } > { 0 }
+ \cs_set:cpn { the#1 }
{
- \thechapter
- \tl_use:c { l__eb_hyphen_#1_tl }
+ \int_compare:nNnT { \c@chapter } > { 0 }
+ {
+ \thechapter
+ \tl_use:c { l__eb_hyphen_#1_tl }
+ }
+ \int_to_arabic:v { c@#1 }
}
- \int_to_arabic:v { c@#1 }
}
}
@@ -1422,47 +1477,73 @@
\bool_new:N \l__eb_toc_notitle_bool
\newbool{bitoc}
\cs_new:Npn \ebifbitoc { \ifbool{bitoc} }
+\seq_new:N \l__eb_level_tmpa_seq
+\tl_new:N \l__eb_level_tmpa_tl
+\cs_generate_variant:Nn \regex_extract_all:nnN { no }
+\cs_generate_variant:Nn \keys_define:nn { nx }
+\cs_generate_variant:Nn \ctex_set:nn { ox }
+\cs_new_protected:Npn \eb_toc_extract_level:
+ {
+ \regex_extract_all:noN { \cC. } { \eb@toc@title@level }
+ \l__eb_level_tmpa_seq
+ \seq_get_right:NN \l__eb_level_tmpa_seq \l__eb_level_tmpa_tl
+ \tl_set:Nx \l__eb_level_tmpa_tl
+ {
+ \exp_last_unbraced:No
+ \cs_to_str:N { \l__eb_level_tmpa_tl }
+ }
+ \regex_replace_case_once:nN
+ {
+ { ^bi(.*) } { \1 }
+ { .* } { \0 }
+ }
+ \l__eb_level_tmpa_tl
+ }
\keys_define:nn { eb/tocouter }
{
- level .tl_set:N = \eb@toc@title@level,
- level .initial:n =
+ level .code:n =
+ {
+ \tl_set:Nn \eb@toc@title@level {#1}
+ \eb_toc_extract_level:
+ },
+ level .initial:x =
{
\bool_if:NTF \l__eb_class_mode_book_bool
- { \bichapter* }
- { \bisection* }
+ { \exp_not:N \bichapter* }
+ { \exp_not:N \bisection* }
},
- section .meta:n = { level = \bisection* },
- chapter .meta:n = { level = \bichapter* },
- none .code:n =
+ section .meta:n = { level = \bisection* },
+ chapter .meta:n = { level = \bichapter* },
+ none .code:n =
{
\tl_set:Nn \eb@toc@title@level
{ \par\use_none:nn }
\bool_set_true:N \l__eb_toc_notitle_bool
},
- multoc .int_set:N = \l__eb_toc_columns_int,
- multoc .default:n = 2,
- multoc .initial:n = 1,
+ multoc .int_set:N = \l__eb_toc_columns_int,
+ multoc .default:n = 2,
+ multoc .initial:n = 1,
plan .choice:,
plan .value_required:n = true,
- plan/cn .code:n =
+ plan/cn .code:n =
{
\bool_set_true:N \l__eb_toc_plan_cn_bool
\bool_set_false:N \l__eb_toc_plan_bi_bool
},
- plan/bi .code:n =
+ plan/bi .code:n =
{
\bool_set_false:N \l__eb_toc_plan_cn_bool
\bool_set_true:N \l__eb_toc_plan_bi_bool
},
- plan/both .code:n =
+ plan/both .code:n =
{
\bool_set_true:N \l__eb_toc_plan_cn_bool
\bool_set_true:N \l__eb_toc_plan_bi_bool
},
- plan .initial:n = cn,
- columns .meta:n = { multoc = {#1} },
- title .code:n = \eb_assign_toc_title:n {#1},
- bilist .code:n =
+ plan .initial:n = cn,
+ columns .meta:n = { multoc = {#1} },
+ title .code:n = \eb_assign_toc_title:n {#1},
+ bilist .code:n =
{
\tl_gset:Nn \g__eb_bilist_permute_value_tl {#1}
\str_if_eq:nnTF {#1} { mix }
@@ -1480,12 +1561,16 @@
}
}
},
- name .tl_set:N = \l__eb_print_index_name_tl,
- name .initial:n = \imki@jobname
+ name .tl_set:N = \l__eb_print_index_name_tl,
+ name .initial:n = \imki@jobname,
+ unknown .code:n =
+ {
+ \ctex_set:ox { \l__eb_level_tmpa_tl }
+ { \eb_unknown_kv_handle: }
+ },
+ unknown .default:V = \c_novalue_tl
}
-\bool_if:NTF \l__eb_class_mode_book_bool
- { \keys_define:nn { } { eb/tocouter .inherit:n = ctex/chapter } }
- { \keys_define:nn { } { eb/tocouter .inherit:n = ctex/section } }
+
\NewDocumentCommand{\eb_assign_toc_title:n}
{>{\SplitArgument{1}{,}}m}
{\eb_toc_assign_title_judge:nn #1}
@@ -1564,8 +1649,9 @@
{ \protect\numberline{#3}{#4} }
}
}
-\cs_new_protected:Npn \AllotCaptionExt #1#2
+\cs_new_protected:Npn \AssignCaptionExt #1#2
{ \tl_set:cn { ext@#1 } {#2} }
+\cs_set_eq:NN \AllotCaptionExt \AssignCaptionExt
\ctex_define:n
{
bicontentsname .tl_set:N = \bicontentsname,
@@ -1658,7 +1744,7 @@
{
tocformat = \IfBooleanT{#1}{\contentsmargin{0pt}},
tocindent = 0pt,
- tocrule = \IfBooleanTF{#1}{,~\thecontentspage}{\tocrule{$\cdot$}},
+ tocrule = \IfBooleanTF{#1}{,~\thecontentspage}{\cdottocrule},
toclabel =
{
\bool_if:NTF \l__eb_toc_entry_hang_bool
@@ -1729,7 +1815,7 @@
\eb@register@every@toc@option
}
\RegisterEveryTocOption{tocafter,tocindent,tocrule}
-\NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
+\NewDocumentCommand{\tocrule}{st-O{0.6pc}d()mO{}}
{
\normalsize\normalfont
\ttl@row@i[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
@@ -1746,6 +1832,7 @@
}
}
}
+\cs_set:Npn \cdottocrule { \tocrule{\textperiodcentered} }
\ctex_define:nn { toc }
{
lolskip .skip_set:N = \eb@toc@lol@skip,
@@ -1762,6 +1849,8 @@
hang .initial:n = true,
pagenumwd .code:n = \contentsmargin{#1},
pagenumwd .initial:n = 1.55em,
+ fileopen .tl_set:N = \l__eb_fileopen_type_tl,
+ fileopen .initial:n = once,
unknown .code:n = \eb_msg_deprecated_option:n { toc }
}
@@ -1790,10 +1879,14 @@
}
\AddToHook{enddocument/afterlastpage}
{
- \IfHookEmptyTF{starttoc/after}{}
- {\iow_now:Nn \@mainaux { \RemoveFromHook{starttoc/after}[aux] }}
+ \tl_if_eq:NnTF \l__eb_fileopen_type_tl { once }
+ { \iow_now:Nn \@mainaux { \RemoveFromHook{starttoc/after}[*] } }
+ {
+ \IfHookEmptyTF{starttoc/after}{}
+ {\iow_now:Nn \@mainaux { \RemoveFromHook{starttoc/after}[aux] }}
+ }
}
-\cs_set_protected:Npn \AllotPartialExt #1#2
+\cs_set_protected:Npn \AssignPartialExt #1#2
{
\tl_if_exist:cTF { ttl@partial#1 }
{ \msg_warning:nnnn { easybase } { repeated-ptoc } {#1} {#2} }
@@ -1803,12 +1896,13 @@
{\ttl@topartial{#1}{##1}{##2}}
}
}
+\cs_set_eq:NN \AllotPartialExt \AssignPartialExt
\msg_new:nnn { easybase } { repeated-ptoc }
{
Local~directory~file~'#2'~of~directory~type~'#1'~is \\
repeatedly~allocated.
}
-\AllotPartialExt{lol}{pll}
+\AssignPartialExt{lol}{pll}
\cs_new_protected:Npn \RegisterTitleIfname #1
{
@@ -1859,7 +1953,7 @@
{
tocformat = \addvspace{1pc}\sffamily,
tocindent = 0pt,
- tocrule = \tocrule{$\cdot$}[\bfseries],
+ tocrule = \cdottocrule[\bfseries],
tocline = \CTEXnumberline{#1}#2
},
section =
@@ -1869,17 +1963,17 @@
tocrule =
{
\bool_if:NTF \l__eb_class_mode_book_bool
- { \tocrule{$\cdot$} }
- { \tocrule{$\cdot$}[\bfseries] }
+ { \cdottocrule }
+ { \cdottocrule[\bfseries] }
}
},
subsection =
- { tocindent = \bool_if:NTF \l__eb_class_mode_book_bool { 3.8em } { 1.4em } }
+ { tocindent = \bool_if:NTF \l__eb_class_mode_book_bool { 3.8em } { 1.5em } }
}
\ctex_at_end_package:nn { imakeidx }
{
- \RenewDocumentCommand{\printindex}{st+od()}
+ \RenewDocumentCommand{\printindex}{st++o}
{
\group_begin:
\tl_set_eq:NN \eb@toc@title \indexname
@@ -1937,19 +2031,19 @@
\ctex_define:nn { font }
{
- caption-table .tl_set:N = \l__eb_font_caption_table_tl,
- caption-figure .tl_set:N = \l__eb_font_caption_figure_tl,
- caption-listing .tl_set:N = \l__eb_font_caption_listing_tl,
- caption-every .meta:n =
+ caption-table .tl_set:N = \l__eb_font_caption_table_tl,
+ caption-figure .tl_set:N = \l__eb_font_caption_figure_tl,
+ caption-lstlisting .tl_set:N = \l__eb_font_caption_lstlisting_tl,
+ caption-every .meta:n =
{
- caption-table = {#1},caption-figure = {#1},
- caption-listing = {#1}
+ caption-table = {#1},caption-figure = {#1},
+ caption-lstlisting = {#1}
},
- caption-every .initial:n = \sffamily\small,
- footnote .tl_set:N = \eb@font@footnote,
- marginpar .tl_set:N = \marginfont,
- marginpar .initial:n = \footnotesize,
- unknown .code:n = \eb_msg_deprecated_option:n { font }
+ caption-every .initial:n = \sffamily\small,
+ footnote .tl_set:N = \eb@font@footnote,
+ marginpar .tl_set:N = \marginfont,
+ marginpar .initial:n = \footnotesize,
+ unknown .code:n = \eb_msg_deprecated_option:n { font }
}
\cs_new_protected:Npn \ebaddtofont #1#2
{
@@ -1959,13 +2053,13 @@
{ \tl_put_right:Nn \l__eb_font_caption_table_tl {#2} }
{ figure }
{ \tl_put_right:Nn \l__eb_font_caption_figure_tl {#2} }
- { listing }
- { \tl_put_right:Nn \l__eb_font_caption_listing_tl {#2} }
+ { lstlisting }
+ { \tl_put_right:Nn \l__eb_font_caption_lstlisting_tl {#2} }
{ every }
{
\tl_put_right:Nn \l__eb_font_caption_table_tl {#2}
\tl_put_right:Nn \l__eb_font_caption_figure_tl {#2}
- \tl_put_right:Nn \l__eb_font_caption_listing_tl {#2}
+ \tl_put_right:Nn \l__eb_font_caption_lstlisting_tl {#2}
}
{ footnote }
{ \tl_put_right:Nn \eb@font@footnote {#2} }
@@ -1994,7 +2088,7 @@
fntspread .initial:n = 1.2,
captab-spread .fp_set:N = \l__eb_spread_caption_table_fp,
capfig-spread .fp_set:N = \l__eb_spread_caption_figure_fp,
- caplst-spread .fp_set:N = \l__eb_spread_caption_listing_fp,
+ caplst-spread .fp_set:N = \l__eb_spread_caption_lstlisting_fp,
caption-spread .meta:n =
{
captab-spread = {#1},capfig-spread = {#1},
@@ -2034,8 +2128,30 @@
}
\AfterPreamble{\skip_set:Nn \abovedisplayshortskip { 0ex plus .1ex }}
+\cs_new_protected:Npn \eb@register@cap@options #1
+ {
+ \ctex_define:nn { cap }
+ {
+ #1/unknown .code:n =
+ {
+ \use:x
+ {
+ \exp_not:N \captionsetup[#1]
+ { \eb_unknown_kv_handle: }
+ }
+ },
+ #1/unknown .default:V = \c_novalue_tl,
+ #1 .meta:nn = { ctex/cap/#1 } {##1}
+ }
+ }
+\cs_new_protected:Npn \RegisterCapOptions #1
+ {
+ \clist_map_function:nN {#1}
+ \eb@register@cap@options
+ }
+\RegisterCapOptions{table,figure,lstlisting}
\clist_map_inline:nn
- { table,figure,listing }
+ { table,figure,lstlisting }
{
\DeclareCaptionFont{eb@#1@font}
{
@@ -2053,7 +2169,7 @@
}
\captionsetup[table]{font = eb@table@font}
\captionsetup[figure]{font = eb@figure@font}
-\captionsetup[lstlisting]{font = eb@listing@font}
+\captionsetup[lstlisting]{font = eb@lstlisting@font}
\ctex_at_end_package:nn { bicaption }
{
\captionsetup[figure][bi-second]{name = Figure}
@@ -2227,6 +2343,9 @@
\listnumberline{#2}
\thmtname\thmtifnote{~(\thmtnote)}{}
}
+ \cs_gset:cpn { thmt@contentsline@#2 }
+ { \thmt@contentslineIfNamed }
+ \exp_args:Nc \providecommand { p@#2 }[1]{##1}
}
\ctex_define:nn { thmt }
{
@@ -2247,7 +2366,7 @@
\theoremstyle{default}
\cs_undefine:N \proof
\DeclareFloatList{theorem}{loe}
- \AllotPartialExt{loe}{ple}
+ \AssignPartialExt{loe}{ple}
\eb_preto_cmd:nn { listoftheorems }
{
\group_begin:
@@ -2358,7 +2477,7 @@
{ \exp_args:NV \bibliographystyle \l__eb_bib_both_style_tl }
\tl_if_blank:VF \l__eb_bib_cite_style_tl
{ \exp_args:NV \setcitestyle \l__eb_bib_cite_style_tl }
- \NewDocumentCommand{\printbibliography}{st+o}
+ \NewDocumentCommand{\printbibliography}{st++o}
{
\group_begin:
\tl_set_eq:NN \eb@toc@title \bibname
@@ -2406,7 +2525,7 @@
\setcounter{biburllcpenalty}{1}
\setcounter{biburlnumpenalty}{1}
}
-\eb_at_end_preamble:n
+\ctex_before_end_preamble:n
{
\providecommand{\bibname}{\refname}
\clist_if_empty:NF \l__eb_bib_datafile_clist
@@ -2631,9 +2750,100 @@
lstlistingname = Code
}
}
+
+\cs_if_exist:NF \DeclareObjectType
+ { \RequirePackage{xtemplate} }
+\DeclareObjectType{easybook}{0}
+\DeclareTemplateInterface{easybook}{cover}{0}
+ {
+ content : tokenlist = \c_empty_tl,
+ beforecode : tokenlist = \c_empty_tl,
+ aftercode : tokenlist = \c_empty_tl,
+ align : choice {l,r,c,n} = c
+ }
+\DeclareTemplateCode{easybook}{cover}{0}
+ {
+ content = \l__eb_cover_content_tl,
+ beforecode = \l__eb_cover_before_code_tl,
+ aftercode = \l__eb_cover_after_code_tl,
+ align =
+ {
+ l = \cs_set_eq:NN \eb_cover_align: \raggedright,
+ r = \cs_set_eq:NN \eb_cover_align: \raggedleft,
+ c = \cs_set_eq:NN \eb_cover_align: \centering,
+ n = \cs_set:Npn \eb_cover_align: { }
+ }
+ }
+ {
+ \AssignTemplateKeys
+ \tl_use:N \l__eb_cover_before_code_tl
+ \group_begin:
+ \eb_cover_align:
+ \tl_use:N \l__eb_cover_content_tl
+ \tex_par:D
+ \group_end:
+ \tl_use:N \l__eb_cover_after_code_tl
+ }
+\DeclareInstance{easybook}{top}{cover}{}
+\DeclareInstance{easybook}{bottom}{cover}{}
+\DeclareInstance{easybook}{middle}{cover}
+ {
+ content =
+ {
+ \notbool{@titlepage}
+ {
+ \renewcommand{\theupfootnote}{\@fnsymbol\c@footnote}
+ \renewcommand{\thefootnote}{\@fnsymbol\c@footnote}
+ }
+ {}
+ \LARGE\@title\par\vskip 3em
+ \large
+ \begin{tabular}[t]{c}
+ \@author
+ \end{tabular}\par\vskip 1.5em
+ \@date
+ \notbool{@titlepage}{\par\vskip 1.5em}{}
+ \@thanks
+ },
+ beforecode =
+ {
+ \ifbool{@titlepage}
+ {
+ \begin{titlepage}
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \let\footnote\thanks
+ \null\vfil\vskip 60\p@
+ }
+ {\null\vskip 20\p@}
+ },
+ aftercode =
+ {
+ \ifbool{@titlepage}
+ {
+ \vfil\null
+ \end{titlepage}
+ }
+ {\thispagestyle{plain}}
+ \setcounter{footnote}{0}
+ }
+ }
+\keys_define:nn { eb/cover }
+ {
+ title .tl_set:N = \@title,
+ author .tl_set:N = \@author,
+ date .tl_set:N = \@date
+ }
+\RenewDocumentCommand{\maketitle}{+O{}}
+ {
+ \keys_set:nn { eb/cover } {#1}
+ \UseInstance{easybook}{top}
+ \UseInstance{easybook}{middle}
+ \UseInstance{easybook}{bottom}
+ }
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/06/24}{2024cm}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/08/14}{2024dj}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 09ef685a94..54a5f7024c 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index 343669865a..02adc43f5f 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -23,8 +23,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK使用手册,
- version = v2024cm,
- date = 2024/06/24,
+ version = v2024dj,
+ date = 2024/08/14,
authors = 瞿毅,
info = 简便地排版中文学位论文或书籍,
email = toquyi@163.com,
@@ -57,10 +57,8 @@
\setlist[cnltxlist]
{
leftmargin = 0pt,
- labelwidth = 2em,
itemindent = -1em,
- labelsep = 0pt,
- listparindent = 2em,
+ listparindent = \parindent,
topsep = \smallskipamount,
itemsep = \smallskipamount,
partopsep = 0ex,
@@ -232,13 +230,13 @@
\end{frameverb}
\subsection{编译方式}
-假设您的 \TeX 源文件名为 \code{easybook.tex},需要使用参考文献和索引功能,并使用 \hologo{XeLaTeX} 和 \hologo{BibTeX} 引擎编译文档,那么需要在命令行中执行:
+假设您的 \TeX 源文件名为 \code{easybook-demo.tex},需要使用参考文献和索引功能,并使用 \hologo{XeLaTeX} 和 \hologo{BibTeX} 引擎编译文档,那么需要在命令行中执行:
\begin{frameverb}
- xelatex -shell-escape easybook
- bibtex easybook
- makeindex easybook
- xelatex -shell-escape easybook
- xelatex -shell-escape easybook
+ xelatex -shell-escape easybook-demo
+ bibtex easybook-demo
+ makeindex easybook-demo
+ xelatex -shell-escape easybook-demo
+ xelatex -shell-escape easybook-demo
\end{frameverb}
当然也可以使用 \code{latexmk} 及一些软件自带的编译工具,这里就不做介绍。 \\
$\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-shell-escape} 命令行选项。
@@ -251,8 +249,8 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
cells = {cmd = \pkg*},
cell{1}{3,4} = PaleTurquoise,
cell{2}{5} = PaleTurquoise,
- cell{3}{2} = PaleTurquoise,
cell{4}{5} = PaleTurquoise,
+ cell{5}{2} = PaleTurquoise,
cell{5}{1} = GreenYellow,
cell{1}{2} = GreenYellow,
cell{3}{1,4} = GreenYellow
@@ -261,7 +259,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
enumitem & etoolbox & fancyhdr & geometry & hyperref \\
imakeidx & listings & marginnote & mathtools & multicol \\
pifont & pdfpages & siunitx & spbmark & thmtools \\
- tcolorbox & titletoc & tabularray & ulem &
+ tcolorbox & titletoc & tabularray & &
\end{longtblr}
\section{全局选项}
@@ -300,6 +298,12 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\setCJKmonofont{FangSong}
\newCJKfontfamily[song]\songti{SimSun}
\end{ctexexam}
+
+ 如果用 \textsf{Overleaf} 或 \textsf{TeXPage} 等在线平台编译文档,则只有 \code{fandol} 字体可用。使用其它字体可将字体文件上传至项目文件夹,例如上传至 \code{font} 文件夹设置正文和无衬线字体:
+ \begin{ctexexam}
+ \setCJKmainfont{simsun.ttc}[Path = ./font/]
+ \setCJKsansfont{simhei.ttf}[Path = ./font/]
+ \end{ctexexam}
\keychoice{font}{noto,times,times*,ebgaramond,libertine,palatino,\fbox{auto}}\dtag
预置的英文字体相关配置方案如\ref{table:english font} 所示。这些字体已经包含在了 \hologo{TeXLive} 发行版中,所以通常不需要再专门安装。如果您想使用默认的Latin Modern或其它英文字体,可以使用 \code{auto} 选项配合 \pkg*{fontspec} 宏包的相关命令进行设置。
\begin{longtblr}
@@ -340,7 +344,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\label{sec:interface options}
\begin{cnltxlist}
\command{ctexset}[\oarg{模块名}\marg{键值列表}]
- \easybook{} 扩展了 \CTeX 宏集 \hologo{LaTeX3} 风格键值的通用控制命令 \cs{ctexset},模块选项同样可用它设置,原有的 \meta{键值列表} 仍然可用。本文档类目前有9个模块用于实现常规的排版功能,如\ref{table:module List} 所示。
+ \easybook{} 扩展了 \CTeX 宏集 \hologo{LaTeX3} 风格键值的通用控制命令 \cs{ctexset},模块选项同样可用它设置,原有的 \meta{键值列表} 仍然可用。本文档类目前有10个模块用于实现常规的排版功能,如\ref{table:module List} 所示。
\begin{longtblr}
[caption = 模块功能和名称清单,label = table:module List]
{
@@ -350,8 +354,8 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
}
\hyperref[subsec:tools]{工具} & \hyperref[subsec:font]{部件字体} & \hyperref[subsec:space]{间距} & \hyperref[subsec:hyperlinks]{超链接} & \hyperref[subsec:reference]{参考文献} \\
tools & font & space & ref & bib \\
- \hyperref[subsec:theorem]{定理} & \hyperref[subsec:page margins]{页面尺寸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:catalog]{目录} & \\
- thmt & geo & hdr & toc &
+ \hyperref[subsec:theorem]{定理} & \hyperref[subsec:page margins]{页面尺寸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:contents]{目录} & \hyperref[subsec:caption]{图表题注} \\
+ thmt & geo & hdr & toc & cap
\end{longtblr}
\ref{exam:kv setting} 使用\ref{subsec:tools} 介绍的工具模块 \module*{tools} 举例三种键值列表设置方式:1. 各 \meta{模块名} 是统一接口 \cs{ctexset} 的键路径。2. 不同模块还具有单独的接口命令 \cs*{eb}\meta{模块名}\code{\textcolor{cs}{set}}。3. \meta{模块名} 也可以使用 \cs{ctexset} 命令的可选参数设置。路径名与所属下级选项之间可以 \code{/} 或 \code{=} 号分开,斜线 \code{/} 后不能有空格或者换行。
@@ -406,12 +410,14 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\ctexset{tools/figurepath = path1}
\ctexset{tools/figurepath = {path2}{path3}}
\end{ctexexam}
+
+ 以下几个选项用于设置题注编号的连字符,\code{chapter} 计数器的值大于0时连字符才有意义。若需更改题注编号的输出格式可在正文中重新定义 \cs*{the}\meta{计数器} 命令。
\keyval{hyphen-figure}{图片连字符}\Default{\Marg{.}}
设置图片题注编号的连字符。
\keyval{hyphen-table}{表格连字符}\Default{\Marg{.}}
设置表格题注编号的连字符。
- \keyval{hyphen-listing}{代码连字符}\Default{\Marg{.}}
- 设置代码题注编号的连字符。
+ \keyval{hyphen-lstlisting}{代码连字符}\Default{\Marg{.}}
+ 设置代码题注编号的连字符。\pkg*{listings} 宏包的 \option{numberbychapter} 选项失效。
\keyval{hyphen-equation}{公式连字符}\Default{\Marg{.}}
设置公式题注编号的连字符。
\keyval{hyphen-every}{连字符}\Default{\Marg{.}}
@@ -474,7 +480,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
设置表格题注的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
\keyval{caption-figure}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
设置图片题注的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
- \keyval{caption-listing}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
+ \keyval{caption-lstlisting}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
设置代码题注的字体,包括字体族、字体系列、字体尺寸和字体形状命令。
\keyval{caption-every}{字体命令}\Default{\cs*{sffamily}\cs*{small}}
同时设置图片、表格和代码题注的字体命令。
@@ -494,7 +500,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\label{subsec:reference}
\begin{cnltxlist}
\keychoice{backend}{\fbox{bibtex},biblatex}
- 参考文献处理后端。选择 \code{bibtex} 时使用传统的 \hologo{BibTeX} 引擎处理参考文献,加载 \pkg*{natbib} 宏包。选择 \code{biblatex} 时使用 \hologo{biber} 引擎,加载 \pkg*{biblatex} 宏包。
+ 参考文献处理后端。选择 \code{bibtex} 时使用传统的 \hologo{BibTeX} 引擎处理参考文献,加载 \pkg*{natbib} 宏包。选择 \code{biblatex} 时使用 \hologo{biber} 引擎,加载 \pkg*{biblatex} 宏包。若自动载入参考文献宏包则位于导言区末尾,但在 \pkg*{hyperref} 宏包之前。
\keychoice{bibstyle}{\fbox{numerical},authoryear,\optpath*{other sty}}
参考文献格式使用中国参考文献推荐标准GB/T 7714-2015,对应顺序编码制和著者—出版年制两种风格。若使用其它格式,使用 \hologo{BibTeX} 处理时需确保正确的 \code{bst} 文件,使用 \hologo{biber} 处理可使用 \pkg*{biblatex} 宏包支持的参考文献风格名称。
\keyval{citestyle}{标注风格}
@@ -510,9 +516,9 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\keyval{prenote}{参考文献前注}
该选项选择由 \cs{defbibnote} 所定义的前注,缺省状态下不打印任何前注。
\keyval{section}{整数}\Default{0}
- 只打印在指定文节中引用的条目。该参考文献节从1开始编号,所有在 \env*{refsection} 环境外给出的引用标记为第零节。
+ 只打印第 \meta{整数} 文节中引用的条目。该参考文献节从1开始编号,所有在 \env*{refsection} 环境外给出的引用标记为第零节。
\keyval{type}{条目类型}
- 指定条目的打印类型。
+ 只打印名为 \meta{条目类型} 的文献条目。
\keyval{filter}{过滤器名}
使用由 \cs{defbibfilter} 定义的 \option*{filter} 来过滤条目。
@@ -546,11 +552,11 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\keyval{style}{定理样式}\Default{default}
选项的值为使用 \cs{declaretheoremstyle} 命令新定义的定理样式。
- 使用 \cs{declaretheorem} 命令以\ref{exam:new theorem sty} 中的定理样式 \code{fancy} 新建一个定理环境猜想,然后用一个基于 \pkg*{tcolorbox} 宏包的预置彩色盒子 \env{easyboxi} 增加背景:
+ 使用 \cs{declaretheorem} 命令以\ref{exam:new theorem sty} 中的定理样式 \code{fancy} 新建一个定理环境 \env*{lemma},然后用一个基于 \pkg*{tcolorbox} 宏包的预置彩色盒子 \env{easyboxi} 增加背景:
\begin{ctexexam}[labelref = exam:new theorem env]
- \declaretheorem[style = fancy,name = 猜想]{caixiang}
+ \declaretheorem[style = fancy,name = 引理]{lemma}
\addtotcbstyle{tc-easyboxi}{colback = GreenYellow}
- \tcolorboxenvironment{caixiang}{tc-easyboxi}
+ \tcolorboxenvironment{lemma}{tc-easyboxi}
\end{ctexexam}
\command{declaretheoremstyle}[\oarg{键值列表1}\marg{定理样式}\oarg{键值列表2}]
定理样式声明命令,键值列表支持自身以及定理声明命令 \cs{declaretheorem} 的所有选项。可选参数的 \meta{键值列表1} 与 \meta{键值列表2} 等效,其中支持的选项如下:
@@ -593,21 +599,21 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\command{listoftheorems}[\sarg\oarg{键值列表}]\default{}
\item\key{listoftheorems}{定理目录标题名}
\command{settheoremtocline}[\sarg\marg{环境名}\marg{标题定义}]\newtagv{2024bb}%
- 对 \pkg*{thmtools} 宏包的定理环境目录命令 \cs{listoftheorems} 进行了适配调整,\ref{subsec:directory command} 和\ref{subsec:catalog} 中的选项机制均可用,但标题定义选项 \option{tocline} 较为特殊,需用 \cs{settheoremtocline} 命令单独设置。在 \meta{标题定义} 中有三个命令 \cs{thmtname}、\cs{thmtenvname} 和 \cs{thmtnote} 分别代表定理名、定理环境名和题注用于排版目录条目。
+ 对 \pkg*{thmtools} 宏包的定理环境目录命令 \cs{listoftheorems} 进行了适配调整,\ref{subsec:directory command} 和\ref{subsec:contents} 中的选项机制均可用,但标题定义选项 \option{tocline} 较为特殊,需用 \cs{settheoremtocline} 命令单独设置。在 \meta{标题定义} 中有三个命令 \cs{thmtname}、\cs{thmtenvname} 和 \cs{thmtnote} 分别代表定理名、定理环境名和题注用于排版目录条目。
\end{cnltxlist}
\optpath{thmt/}\key{loeskip}{弹性长度}\Default{10pt}
定理目录中每章第一个条目上方增加的垂直距离。与 \CTeX 的表格和图片目录中每章间的条目距离选项 \option*{lotskip} 和 \option*{lofskip} 类似,在 \cls*{article} 模式中此选项失效。
\command{thmtifnote}[\marg{存在题注代码}\marg{不存在题注代码}]
- 如果标题没题注即定理环境不用可选参数,则标题不加入定理目录,这是默认且合理的行为。若需要将无题注的标题加入目录可将 \meta{环境名} 加入目录风格的 \option{show} 选项或使用 \cs*{settheoremtocline}\code{*} 命令。是否存在题注需要在 \meta{标题定义} 中使用 \cs{thmtifnote} 命令判定,从而输出不同的内容。
+ 如果标题没题注即定理环境不用可选参数,则标题不加入定理目录,这是默认且合理的行为。若需要将无题注的标题加入目录可将 \meta{环境名} 传给目录风格的 \option{show} 选项或使用 \cs*{settheoremtocline}\code{*} 命令。是否存在题注需要在 \meta{标题定义} 中使用 \cs{thmtifnote} 命令判定,从而输出不同的内容。
\command{thmtifname}[\marg{存在编号代码}\marg{不存在编号代码}]
在 \meta{标题定义} 中测试当前定理是否有编号从而输出不同的内容,定理风格选项 \keyis{numbered}{no} 设置当前定理环境没有编号。
\begin{ctexexam}
- \contentsuse{caixiang}{loe}
- \RegisterTocName{caixiang}
- \setlisttheoremstyle{ignoreall,show = caixiang}
- \settheoremtocline{caixiang}
+ \contentsuse{lemma}{loe}
+ \RegisterTocName{lemma}
+ \setlisttheoremstyle{ignoreall,show = lemma}
+ \settheoremtocline{lemma}
{
- \listnumberline{caixiang}
+ \listnumberline{lemma}
\thmtname\thmtifnote{[\thmtnote]}{}
}
\end{ctexexam}
@@ -619,9 +625,9 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\begin{cnltxlist}[itemsep = 0ex]
\keyval{headruleskip}{页眉线间距}\dtag\Default*{0pt}
\keyval{footruleskip}{页脚线间距}\dtag\Default*{3.5pt}
- \kvsplit{hdivide}{左边距,版心文本宽度,右边距}\default{}
+ \kvsplit{hdivide}{左边距,版心宽度,右边距}\default{}
\kvsplit{hmargin}{左边距,右边距}\default{}
- \keyval{textheight}{版心文本高度}\default{}
+ \keyval{textheight}{版心高度}\default{}
\keychoice{nofoot}{true,\fbox{false}}\default{}
\begin{ctexexam}
\ctexset[geo]
@@ -634,6 +640,32 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\end{ctexexam}
\end{cnltxlist}
+\subsection[图表题注]{图表题注\smodule{cap}}
+\label{subsec:caption}
+模块 \module*{cap} 用于设置图表等浮动体的题注格式。题注主要由三部分组成:标题标签即图表名与题注编号的组合,标题文本本身通常是内容的简短描述,以及将文本与标签分开的题注分隔符。可以在导言区设置整体格式,也可以在正文使用局部更改格式。模块 \module*{cap} 由 \pkg*{caption} 宏包提供支持,接口选项与 \pkg*{caption} 宏包完全一致,但写法为 \meta{条目名}\code{/}\meta{选项}。\pkg*{caption} 宏包提供了多种方法来定制浮动环境(例如 \env{figure} 和 \env{table})中的题注,并可与许多其它宏包配合使用。功能包括旋转题注、侧向题注和连续题注等。下面列举几个题注选项的用法,\ref{exam:caption set} 中两种设置题注的方法是等效的,更多选项和创建方法可查看宏包文档:
+\begin{cnltxlist}[itemsep = 0ex]
+ \keyval{table/labelsep}{标签分隔符}\default{}
+ \keyval{figure/format}{题注格式}\default{}
+ \keyval{lstlisting/font}{题注字体}\default{}
+ \begin{ctexexam}[labelref = exam:caption set]
+ \ctexset[cap]
+ {
+ table/labelsep = space,
+ figure/format = plain
+ }
+ \captionsetup[table]{labelsep = space}
+ \captionsetup[figure]{format = plain}
+ \end{ctexexam}
+ \begin{cnltxlist}
+ \command{RegisterCapOptions}[\marg{条目名列表}]
+ 给模块 \module*{cap} 注册题注类型为 \meta{条目名} 的 \pkg*{caption} 接口选项。已预注册 \module*{figure}、\module*{table} 和 \module*{lstlisting} 三种类型的题注选项。可以搭配 \pkg*{newfloat} 宏包创建更多类型的浮动环境并设置相应题注。
+ \end{cnltxlist}
+ \command{caption}[\sarg\oarg{目录标题}\marg{标题}]\default{}
+ \command{captionof}[\sarg\marg{条目名}\oarg{目录标题}\marg{标题}]\default{}
+ \command{bicaption}[\sarg\oarg{目录中文标题}\marg{中文标题}\oarg{目录英文标题}\marg{英文标题}]
+ 题注命令 \cs{caption} 用于在图表上下方插入题注,需要在浮动环境 \env*{figure} 和 \env*{table} 中使用。在浮动环境外可以使用 \cs{captionof} 命令,第一个参数指定条目名。\cs{bicaption} 命令可以实现中英文双语题注,需要在导言区载入 \pkg*{bicaption} 宏包,具体用法见宏包文档。
+\end{cnltxlist}
+
\subsection[页眉页脚]{页眉页脚\smodule{hdr}}
\label{subsec:header and footer}
模块 \module*{hdr} 设置的命令由 \pkg*{fancyhdr} 宏包提供支持。标题标记由标签和标题组成,选项中参数 \code{\#1} 代表当前章、节或小节的标题。在 \cls*{book} 模式时使用标题标记选项 \option{chapter-mark} 和 \option{section-mark},在 \cls*{article} 模式时使用 \option{section-mark} 和 \option{subsection-mark} 选项,这与标准文档类的行为一致。重新设置标题标记选项时标记大小写选项 \option{uppercase} 会失效。
@@ -710,6 +742,8 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\ebhdrset{footnotetype = plain,footnotetype = bottom}
\ebhdrset{footnotetype = {hang,bottom}}
\end{ctexexam}
+ \command{PushFntBottom}\newtagv{2024cx}%
+ 默认情况下当具有 \code{b} 参数的底部浮动体与脚注同时存在时,脚注将位于浮动体上部。此命令可使脚注始终位于页面底部,与 \keyis{footnotetype}{bottom} 作用相同,只能在导言区全局使用。
\keyval{fnfirstindent}{刚性长度}\Default{1em}
每个脚注首段的首行缩进(悬挂缩进 \code{hang} 为整段缩进),等于长度 \cs{fnfirstindent} 的值。
\keyval{fnafterindent}{刚性长度}\Default{2em}
@@ -761,11 +795,11 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
fnmarktext-format = \circledtext
}
\end{ctexexam}
- \command{defupfntmark}[\marg{脚注正文标记格式}]
+ \command{defupfntmark}[\marg{正文标记格式}]
定义脚注正文标记的格式,与正文标记编号命令 \cs{theupfootnote} 配合使用。
- \command{defdownfntmark}[\marg{脚注内容标记格式}]
+ \command{defdownfntmark}[\marg{内容标记格式}]
定义脚注内容标记的格式,与内容标记编号命令 \cs{thedownfootnote} 配合使用。
- \command{deffntpara}[\marg{脚注段落文本格式}]
+ \command{deffntpara}[\marg{段落文本格式}]
定义脚注段落文本的格式的命令。脚注段落文本由脚注内容标记和文本两部分组成,段落格式定义中参数 \code{\#1} 代表内容文本。
\command{notminipage}[\marg{普通页内容}\marg{迷你页内容}]
用于在定义脚注标记的命令中判断当前脚注是否处于迷你页而输出不同的内容。
@@ -805,7 +839,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\end{cnltxlist}
\subsection[目录]{目录\smodule{toc}}
-\label{subsec:catalog}
+\label{subsec:contents}
模块 \module*{toc} 将使用 \pkg*{titletoc} 宏包处理目录样式。默认包括 \module*{part}$\longrightarrow$\module*{subparagraph}、\module*{figure}、\module*{table} 和 \module*{lstlisting} 条目名的键路径。选项前带有\hface 符号表示支持所有相应\textbf{条目名}的路径,其它选项则处于 \module*{toc} 键路径下。目录选项均支持标题编号判定命令 \cs{CTEXifname}\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。}。目前支持多数学术论文目录样式,更复杂的样式可以查看 \pkg*{titletoc} 的相关用法。
\begin{cnltxlist}
\keyval{tocformat}{条目格式}\dtag
@@ -869,16 +903,16 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\DeclareFloatList{algorithm}{loa}
\listofalgorithms[multoc] % 在正文中输出双栏算法目录
\end{ctexexam}
- \command{AllotCaptionExt}[\marg{条目名}\marg{扩展名}]
+ \command{AssignCaptionExt}[\marg{条目名}\marg{扩展名}]
给条目类型名称为 \meta{条目名} 的标题分配目录文件 \meta{扩展名},注意 \meta{扩展名} 需要被定义在 \cs*{ext@}\meta{条目名} 命令中才有效(\pkg*{caption} 宏包的默认定义形式)。可以使不同的 \meta{条目名} 共享一个目录:
\begin{ctexexam}
- \AllotCaptionExt{table}{lof}
+ \AssignCaptionExt{table}{lof}
\newcommand{\listoffiguretables}{\listoffigures} % 同时输出图表目录的命令
\end{ctexexam}
- \command{AllotPartialExt}[\marg{扩展名1}\marg{扩展名2}]\newtagv{2024bk}
+ \command{AssignPartialExt}[\marg{扩展名1}\marg{扩展名2}]\newtagv{2024bk}
给目录文件扩展名为 \meta{扩展名1} 的目录分配扩展名为 \meta{扩展名2} 的局部目录\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。},预注册的条目均无需再分配。用于搭配题注标题 \cs{caption} 命令和 \pkg*{titletoc} 宏包的局部题注目录命令。
\begin{ctexexam}
- \AllotPartialExt{loa}{pla}
+ \AssignPartialExt{loa}{pla}
\startlist[fancy]{loa}
\captionof{algorithm}{算法标题}
\stoplist[fancy]{loa}
@@ -915,6 +949,8 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
将目录页码装进一个右对齐的水平盒子里。这样可以使目录引导线右端对齐并与页码保持一定间距,否则会与页码相连。
\keyval{pagenumwd}{刚性长度}\Default{1.55em}
设置开启 \option{dotalign} 选项时页码水平盒子的宽度。
+ \keychoice{fileopen}{\fbox{once},odd}
+ 编译文档时打开目录文件进行写入操作的方式,这个选项影响重复使用目录命令时的输出行为。默认只在第一次编译时打开文件,选择 \code{odd} 将仅在奇数次编译时打开文件。
\keyval{tocafter-every}{距离命令}\Default{\cs*{hspace}\Marg{1em}}
统一设置所有类型条目编号与标题间的代码。
\keyval{tocindent-every}{刚性长度}
@@ -927,8 +963,47 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\section{环境和命令}
-\subsection{文区命令}
+\subsection{封面和文区}
\begin{cnltxlist}
+ \command{maketitle}[\oarg{键值列表}]\newtagv{2024dh}%
+ 重新改写了默认的封面标题命令,在保证原生风格的前提下使用 \pkg*{xtemplate} 宏包将封面抽象为由实例组成的模板。并为命令增加了可选参数,选项的含义与标准文档类一致:
+ \keyval{title}{文档标题}
+ 设置文档的标题,可以包含格式命令。如果没有设置标题而输出封面会报错。
+ \keyval{author}{文档作者}
+ 设置文档的作者,可以包含格式命令。多位作者之间可以用 \cs*{and} 命令分隔,每个作者后可用 \cs*{thanks} 命令添加致谢脚注。
+ \keyval{date}{文档日期}\Default{\cs*{today}}
+ 设置文档的日期,可以包含格式命令。默认的文档日期为当前日期 \cs*{today}。
+ \command{DeclareInstance}[\Marg{easybook}\marg{位置}\Marg{cover}\marg{键值列表}]
+ 封面模板可用 \pkg*{xtemplate} 提供的实例声明命令进行自由定制,\ref{exam:cover instance} 举例说明了定制页面中部的内容。模板由页面上、中和下三个位置的实例组成,它们的 \meta{位置} 名字分别为 \code{top}、\code{middle} 和 \code{bottom}。每个实例的属性可用 \meta{键值列表} 修改,包含的选项如下:
+ \keyval{content}{实例内容}
+ 设置实例内容,可以包含任何记号列表。通常为格式和排版内容的命令,在局部生效。
+ \keyval{beforecode}{实例前代码}
+ 设置实例内容前的代码,可以包含任何记号列表。通常为换页和垂直距离的命令。
+ \keyval{aftercode}{实例后代码}
+ 与 \option{before} 选项类似,设置实例内容后的代码。
+ \keychoice{align}{l,\fbox{c},r,n}
+ 设置实例内容的对齐方式,分别为左、中、右和自然对齐,自然对齐即正常的段落文本。
+ \begin{ctexexam}[labelref = exam:cover instance]
+ \DeclareInstance{easybook}{middle}{cover}
+ {
+ content =
+ {
+ \thispagestyle{empty}
+ \begin{tblr}
+ {
+ columns = c,
+ hline{2-4} = {2}{0.5pt,solid},
+ column{1} = {rightsep = 0pt}
+ }
+ 标题:& 一个文档标题 \\
+ 作者:& 张三 \\
+ 日期:& \today
+ \end{tblr}
+ },
+ beforecode = \null\vspace{3cm},
+ aftercode = \clearpage
+ }
+ \end{ctexexam}
\command{frontmatter}[\sarg\oarg{编号格式}]\Default{Roman}
前言区命令。使部分和章标题不编号,带有星号的变体命令不使用 \cs{cleardoublepage} 命令。页码 \meta{编号格式} 可设置为 \code{arabic}、\code{Alph}、\code{alph}、\code{Roman}、\code{roman} 和 \code{chinese} 形式。
\command{mainmatter}[\sarg]
@@ -943,7 +1018,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\subsection{目录命令}
\label{subsec:directory command}
-\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有可选参数用于设置标题格式和栏数等,并且与标准文档类不同的是目录命令可在正文中\textbf{重复}使用\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。}。更多目录命令的创建和样式设置可参考\ref{subsec:catalog}。
+\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有可选参数用于设置标题格式和栏数等,并且与标准文档类不同的是目录命令可在正文中\textbf{重复}使用\footnote{此功能需要\textbf{2023/06/01}以后的 \hologo{LaTeX} 内核支持。}。更多目录命令的创建和样式设置可参考\ref{subsec:contents}。
\begin{cnltxlist}
\command{tableofcontents}[\sarg\oarg{键值列表}\darg{代码钩子}]
章节标题目录命令,支持中英文双语标题目录输出。带有星号参数不输出目录条目上方的标题。\meta{代码钩子} 是当输出方案 \keyis{plan}{both} 时中文与英文目录之间执行的代码,可以插入设置目录样式和换页等命令。
@@ -990,16 +1065,24 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\UseTocStyle{section}{fancy}{toc}
\tableofcontents[bilist = mix]
\end{ctexexam}
+
+ 除了上述选项还支持 \CTeX 键值列表所有路径的章节标题样式选项,下面仅列举几个选项例子。需要注意的是标题样式选项根据 \option{level} 选项中的\textbf{最后}一个标题命令判断键路径,所以这个标题命令名必须存在于 \CTeX 键值列表路径中,或带有 \code{\textcolor{cs}{bi}} 前缀表示双语标题。
\keyval{format}{目录标题格式}
- 设置目录标题的格式,在标题级别为 \code{chapter} 或者 \cls*{article} 模式且标题级别为 \code{section} 时有效。
+ 设置目录标题的格式。
+ \begin{ctexexam}
+ \tableofcontents[
+ level = \clearpage\bisection*,
+ format = \centering\sffamily\Large
+ ]
+ \end{ctexexam}
\keyval{aftername}{标签后代码}
- 目录标题的标签与内容之间插入的代码,生效情形同上。
+ 目录标题的标签与内容之间插入的代码。
\keyval{aftertitle}{标题后代码}
- 目录标题内容之后插入的代码,生效情形同上。
+ 目录标题内容之后插入的代码。
\keyval{break}{格式命令}
- 控制章节标题与之前正文的分隔关系。一般用于设置是否在标题之前分页或者设置行间罚点,生效情形同上。
+ 控制章节标题与之前正文的分隔关系。一般用于设置是否在标题之前分页或者设置行间罚点。
\keyval{pagestyle}{页面风格}\Default{empty}
- 目录标题所在页的页面格式,仅当目录以 \code{chapter} 级别输出时有效。除了上述选项还支持 \CTeX 键值列表路径 \module*{chapter} 或 \module*{section} 所有的章节标题样式选项。
+ 目录标题所在页的页面格式,仅当目录以 \code{chapter} 级别输出时有效。
\end{cnltxlist}
\subsection{双语章节标题和新建标题}
@@ -1046,6 +1129,12 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\lchapter{正常标题}
\lchapterentry{加入目录的标题}
\end{ctexexam}
+ \command{CopyTitleFormat}[\marg{条目名1}\marg{条目名2}]\newtagv{2024cq}%
+ 将名为 \meta{条目名2} 的章节标题命令除了编号/名字外的格式复制给名为 \meta{条目名1} 的标题命令。
+ \begin{ctexexam}
+ \ctexset{section/format = \sffamily\color{blue}}
+ \CopyTitleFormat{subsection}{section}
+ \end{ctexexam}
\end{cnltxlist}
\subsection[上标和下标]{上标和下标}
@@ -1288,30 +1377,16 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\end{ctexexam}
\end{cnltxlist}
-\subsection{图表题注}
-\pkg*{caption} 宏包提供了多种方法来定制浮动环境(例如 \env{figure} 和 \env{table})中的标题,并可与许多其它宏包配合使用。功能包括旋转题注、侧向题注和连续题注等。
-\begin{cnltxlist}
- \command{captionsetup}[\oarg{条目名}\marg{键值列表}]
- 这是 \pkg*{caption} 宏包的接口命令,\meta{键值列表} 提供多个选项更改图表题注的格式。题注主要由三部分组成:标题标签即图表名与题注编号的组合,标题文本本身通常是内容的简短描述,以及将文本与标签分开的题注分隔符。可以在导言区设置整体格式,也可以在正文使用局部更改格式。
-\end{cnltxlist}
-
-\begin{cnltxlist}[itemsep = 0ex]
- \command{caption}[\sarg\oarg{目录标题}\marg{标题}]\default{}
- \command{captionof}[\sarg\marg{条目名}\oarg{目录标题}\marg{标题}]\default{}
- \command{bicaption}[\sarg\oarg{目录中文标题}\marg{中文标题}\oarg{目录英文标题}\marg{英文标题}]
- 题注命令 \cs{caption} 用于在图表上下方插入题注,需要在浮动环境 \env*{figure} 和 \env*{table} 中使用。在浮动环境外可以使用 \cs{captionof} 命令,第一个参数指定条目名。可以搭配 \pkg*{newfloat} 宏包创建更多类型的浮动环境并设置相应题注。\cs{bicaption} 命令可以实现中英文双语题注,需要在导言区载入 \pkg*{bicaption} 宏包,具体用法见说明文档。
-\end{cnltxlist}
-
\subsection{索引}
\begin{cnltxlist}
\command{indexsetup}[\marg{键值列表}]
- \pkg*{imakeidx} 宏包增强了索引的功能,可使用户在制作和排版文档的同时制作一个或多个索引。这是 \pkg*{imakeidx} 宏包的接口命令,用于设置索引表的整体格式。
+ \pkg*{imakeidx} 宏包增强了索引的功能,可使用户在制作和排版文档的同时制作一个或多个索引。这是 \pkg*{imakeidx} 宏包的接口命令,用于设置索引表的整体格式,它的 \option{level} 和 \option{headers} 选项失效。
\command{index}[\oarg{索引名}\marg{标签}]
索引标签命令的可选参数可以用不同的 \meta{索引名} 给多个索引表设置标签。
\command{makeindex}[\oarg{键值列表}]
用于导言区开启索引收集的命令。这个命令可以重复使用收集多个索引表,以不同的 \meta{索引名} 作为区分,如果仅打印一个索引表没必要重复使用。
\command{printindex}[\sarg\oarg{键值列表}]
- 打印不同索引表的命令。这个命令被重新定义,\meta{键值列表} 中的选项与\ref{subsec:directory command} 其它目录命令相同,但是接口命令 \cs{indexsetup} 的部分选项失效。
+ 打印不同索引表的命令。这个命令被重新定义,\meta{键值列表} 中的选项与\ref{subsec:directory command} 其它目录命令相同,并多出 \option{name} 选项用于指定打印索引的名字。
\keyval{name}{索引名}
指定输出名为 \meta{索引名} 的索引表,如果只使用一个索引表则默认为项目文件名不需要指定。
\end{cnltxlist}
@@ -1367,14 +1442,6 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
该命令由文档宏包 \pkg*{pdfpages} 提供。可以将其它 \code{pdf} 文档插入当前文档,比如插入其它软件制作的封面。可选参数可以指定插入页数、逻辑页和横向页面等,详情查看宏包文档。
\end{cnltxlist}
-\subsection{下划线}
-\begin{cnltxlist}[itemsep = 0ex]
- \command{uline}[\marg{下划直线}]\default{}
- \command{uuline}[\marg{下划双直线}]\default{}
- \command{uwave}[\marg{下划波浪线}]
- \pkg*{ulem} 宏包提供了多种下划线命令,可以重新定义 \cs{ULthickness} 命令控制下划线的粗细。下划线的深度由 \cs{ULdepth} 控制,默认值 \cs*{maxdimen} 是一个允许深度根据当前字体变化的特殊标志,当然也可以使用 \cs*{setlength} 设定为指定深度。
-\end{cnltxlist}
-
\appendix
\setlist[1]{}
\begin{changelog}[title = 更新日志]
@@ -1417,7 +1484,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\item 新增脚注段落文本格式定义命令 \cs{deffntpara} 和脚注间距离选项 \option{footnotesep}。
\item 新增悬挂缩进命令 \cs{hangfrom}。
\item 新增行间公式与正文上下间距选项 \option{abovedisplayskip} 和 \option{belowdisplayskip}。
- \item 新增目录文件扩展名分配命令 \cs{AllotCaptionExt}。
+ \item 新增目录文件扩展名分配命令 \cs{AssignCaptionExt}。
\end{version}
\shortversion{v = 2024aq,date = 2024/03/31,changes = 修复命令 \cs{ebifbitoc} 用于条目缩进选项 \option{tocindent} 失效的问题。}
\begin{version}[v = 2024as,date = 2024/04/19]
@@ -1429,7 +1496,7 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\end{version}
\shortversion{v = 2024aw,date = 2024/04/22,changes = 新增新建章节标题命令 \cs{NewTitleCommand} 和 \cs{NewTitleEntryCommand}。}
\shortversion{v = 2024bb,date = 2024/04/26,changes = 增加对 \pkg*{thmtools} 宏包定理环境目录 \cs{listoftheorems} 的支持。}
- \shortversion{v = 2024bk,date = 2024/05/07,changes = 新增局部题注目录分配命令 \cs{AllotPartialExt}。}
+ \shortversion{v = 2024bk,date = 2024/05/07,changes = 新增局部题注目录分配命令 \cs{AssignPartialExt}。}
\begin{version}[v = 2024bn,date = 2024/05/10]
\fixed
\item 修复 \module*{toc} 模块中带有 \option*{every} 后缀的选项不对所有已注册条目有效的问题。
@@ -1437,8 +1504,26 @@ $\blacktriangleright$需要注意正确\textbf{编译索引}要增加 \code{-she
\item 新增统一设置所有目录格式时的条目类型排除命令 \cs{ExcludeEveryTocName}。
\end{version}
\shortversion{v = 2024cd,date = 2024/06/14,changes = 修复全局选项 \option{class} 无法正确切换单双面排版的问题。}
+ \begin{version}[v = 2024cf,date = 2024/06/16]
+ \fixed
+ \item 修复和改进新建章节/图表标题时目录层次深度的问题。
+ \changed
+ \item \module*{tools} 模块的图片路径选项 \option{figurepath} 可在正文中使用。
+ \end{version}
+ \shortversion{v = 2024ci,date = 2024/06/22,changes = 修复使用 \code{flush} 类型脚注报错。}
+ \shortversion{v = 2024co,date = 2024/07/06,changes = 目录命令的可选参数支持 \CTeX 键值列表所有路径的章节标题样式选项。}
+ \shortversion{v = 2024cq,date = 2024/07/12,changes = 新增章节标题格式复制命令 \cs{CopyTitleFormat}。}
+ \shortversion{v = 2024cu,date = 2024/07/20,changes = 修复无编号的定理环境标签命令 \cs*{p@}\meta{定理名} 缺失导致报错的问题。}
+ \shortversion{v = 2024cx,date = 2024/07/28,changes = 新增将脚注置于页面底部的命令 \cs{PushFntBottom}。}
+ \begin{version}[v = 2024dh,date = 2024/08/06]
+ \changed
+ \item 取消默认载入 \pkg*{ulem} 下划线宏包。
+ \added
+ \item 使用 \pkg*{xtemplate} 宏包将封面标题命令 \cs{maketitle} 抽象为由实例组成的模板。
+ \item 新增图表题注模块 \module*{cap}。
+ \end{version}
\end{changelog}
\nocite{*}
-\AddToHook{cmd/printindex/before}{\clearpage}
+% \AddToHook{cmd/printindex/before}{\clearpage}
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/edmaths/LICENSE.txt b/macros/latex/contrib/edmaths/LICENSE.txt
new file mode 100644
index 0000000000..2244313901
--- /dev/null
+++ b/macros/latex/contrib/edmaths/LICENSE.txt
@@ -0,0 +1,416 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `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 Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
+
diff --git a/macros/latex/contrib/edmaths/README.md b/macros/latex/contrib/edmaths/README.md
new file mode 100644
index 0000000000..a850f29c6b
--- /dev/null
+++ b/macros/latex/contrib/edmaths/README.md
@@ -0,0 +1,5 @@
+# `edmaths` Report & Thesis Class
+
+A report and thesis stylesheet for easier compliance with the [university’s typesetting rules](https://www.ed.ac.uk/academic-services/students/thesis-submission). See also the [_documentation_](https://foggalong.github.io/edinburgh-math-latex/edmaths-docs.pdf) and a [_compiled example_](https://foggalong.github.io/edinburgh-math-latex/example-report.pdf). To use, place the files and store them either with your .tex file(s) or in any directory that's findable by LaTeX (e.g. `$TEXINPUTS`).
+
+For more information on the wider project, including the beamer theme, [see GitHub](https://github.com/Foggalong/edinburgh-math-latex). The stylesheet [edmaths.sty](edmaths.sty) is provided under the [LaTeX Project Public License v1.3c](https://choosealicense.com/licenses/lppl-1.3c/) (LPPL) while the example [example-report.tex](example-report.tex) is provided under the [BSD Zero Clause License](https://choosealicense.com/licenses/0bsd/) (0BSD).
diff --git a/macros/latex/contrib/edmaths/edmaths-docs.pdf b/macros/latex/contrib/edmaths/edmaths-docs.pdf
new file mode 100644
index 0000000000..cd62935fcd
--- /dev/null
+++ b/macros/latex/contrib/edmaths/edmaths-docs.pdf
Binary files differ
diff --git a/macros/latex/contrib/edmaths/edmaths.sty b/macros/latex/contrib/edmaths/edmaths.sty
new file mode 100644
index 0000000000..e11c515344
--- /dev/null
+++ b/macros/latex/contrib/edmaths/edmaths.sty
@@ -0,0 +1,258 @@
+%% Package `edmaths' v0.98
+%% File edmaths.sty
+%% Copyright 2024 Josh Fogg
+%%
+%% edmaths.sty is a LaTeX style file for typesetting reports and theses in the
+%% School of Mathematics at the University of Edinburgh. Suitable for use for
+%% theses, yearly reports, and undergraduate projects. Part of the more general
+%% `edmaths' package. See README.md for usage instructions.
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3 of this license or (at
+%% your option) any later version.
+%%
+%% The latest version of this license is in http://latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained' and the current
+%% maintainer of this work is Josh Fogg. Originally written by Thomas Koeppe in
+%% 2007/07, it has since been updated by Josh Fogg from 2020 onwards.
+%%
+%% This work consists of the file edmaths.sty.
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{edmaths}[2024-08-09 Edinburgh maths thesis/report style v0.98]
+\RequirePackage{calc,ifthen,setspace,amsmath,amsthm,amscd,amssymb}
+
+
+
+% PAGE SIZE AND MARGINS
+% These settings control the size of the page and its margins. All measurements are
+% compliant wih the school's typesetting requirements.
+
+\setlength{\paperheight}{297mm} % A4 Paper
+\setlength{\paperwidth}{210mm} %
+\setlength{\oddsidemargin}{14.6mm} % Left/Inside: 4.0cm (rel. -1in)
+\setlength{\evensidemargin}{-.4mm} % Right/Outside: 2.5cm (rel. -1in)
+\setlength{\topmargin}{-17.4mm} % \
+\setlength{\headheight}{6mm} % | Top: 2.0cm (rel. -1in), out of which 6mm for the header
+\setlength{\headsep}{6mm} % /
+\setlength{\textwidth}{145mm} % Margins: 2.5cm + 4cm
+% Textheight delayed until we know the line spacing.
+
+% The following is removed in favour of the `report' class options "oneside/twoside".
+% \@twosidefalse \@mparswitchfalse % Single-sided by default
+
+
+
+% PACKAGE OPTIONS
+% These options can be selected wihin \usepackage[...]{edmaths} to modify the
+% appearance of different parts of the document.
+
+% Options relating to external packages
+\newboolean{with-fourier} % Use the `fourier' package for Adobe Utopia font
+\newboolean{with-cmbright} % Use the `cmbright' package for Computer Modern Bright (sans serif) font
+\newboolean{with-comicsans} % :)
+\newboolean{with-hyperref} % Use the `hyperref' package for hyperlinks and bookmarks, all black
+\newboolean{with-colour} % Add sane colours to the hyperref links
+\newboolean{with-fancyhdr} % Use the `fancyhdr' package to provide header and footer
+\DeclareOption{fourier}{\setboolean{with-fourier}{true}}
+\DeclareOption{cmbright}{\setboolean{with-cmbright}{true}}
+\DeclareOption{comicsans}{\setboolean{with-comicsans}{true}}
+\DeclareOption{hyperref}{\setboolean{with-hyperref}{true}}
+\DeclareOption{colour}{\setboolean{with-colour}{true}}
+\DeclareOption{fancyhdr}{\setboolean{with-fancyhdr}{true}}
+
+% Options relating to document type (thesis, report, etc)
+\ifthenelse{\isundefined{\degreetext}}{\newcommand{\degreetext}{Specify a degree option!}}{}
+\DeclareOption{phd}{\renewcommand{\degreetext}{Doctor of Philosophy}}
+\DeclareOption{firstyear}{\renewcommand{\degreetext}{First-Year Report\\Maxwell Institute Graduate School}}
+\DeclareOption{secondyear}{\renewcommand{\degreetext}{Second-Year Report\\Maxwell Institute Graduate School}}
+\DeclareOption{thirdyear}{\renewcommand{\degreetext}{Third-Year Report\\Maxwell Institute Graduate School}}
+\DeclareOption{y4project}{\renewcommand{\degreetext}{Year 4 Project\\School of Mathematics}}
+\DeclareOption{mmath}{\renewcommand{\degreetext}{Master of Mathematics with Honours \\ School of Mathematics}}
+\DeclareOption{masterph}{\renewcommand{\degreetext}{Master of Philosophy}}
+\DeclareOption{mastersc}{\renewcommand{\degreetext}{Master of Science by Research}}
+
+% Options relating to stretchfactor (used for margin spacing)
+\ifthenelse{\isundefined{\stretchfactor}}{\newcommand{\stretchfactor}{1}}{}
+\DeclareOption{single}{\renewcommand{\stretchfactor}{1}}
+\DeclareOption{onehalf}{\renewcommand{\stretchfactor}{1.5}}
+\DeclareOption{double}{\renewcommand{\stretchfactor}{2}}
+
+% Options relating to having single or double sided documents
+% \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} % Single-sided by default
+% \DeclareOption{twosides}{\@twosidetrue \@mparswitchtrue}
+
+
+\ProcessOptions
+
+% If with-fourier selected, use the Adobe Utopia font.
+\ifthenelse{\boolean{with-fourier}}{
+ \RequirePackage{cmap}
+ \RequirePackage{fourier}
+ \RequirePackage[T1]{fontenc}
+ \RequirePackage{microtype}
+} {}
+
+% If with-cmbright selected, use the (sans-serif) Computer Modern Bright font.
+\ifthenelse{\boolean{with-cmbright}}{
+ % NOTE must be compiled with xelatex or luatex
+ \RequirePackage{cmap}
+ \RequirePackage{cmbright}
+ \RequirePackage[T1]{fontenc}
+ \RequirePackage{microtype}
+} {}
+
+% :)
+\ifthenelse{\boolean{with-comicsans}}{
+ % NOTE must be compiled with xelatex or luatex
+ \usepackage{fontspec}
+ \setmainfont{Comic Sans MS}
+} {}
+
+% If with-hyperref selected, configure its default settings
+\ifthenelse{\boolean{with-hyperref}}{
+ \RequirePackage[dvipsnames]{xcolor}
+ \RequirePackage[pdftitle={\@title}, pdfauthor={\@author}, pdfcreator={PDFLaTeX with edmaths}, pdfpagelayout=OneColumn, colorlinks=true, linkcolor=black, urlcolor=black, citecolor=black]{hyperref}
+ % If with-colour selected, use it to make hyperlinks blue not black
+ \ifthenelse{\boolean{with-colour}}{
+ \hypersetup{linkcolor=Sepia, urlcolor=NavyBlue, citecolor=Sepia}
+ } {}
+} {}
+
+% If with-fancyhdr selected, use it to provide fancier headers and footers
+\ifthenelse{\boolean{with-fancyhdr}}{
+ \RequirePackage{fancyhdr}
+ % Define a short title for use in headers if title is too long. Default is the same as title. Usage: use command \shortitle{<your short title here>} *after* calling edmaths.
+ \newcommand\@shorttitle{\@title}
+ \newcommand\shorttitle[1]{\renewcommand\@shorttitle{#1}}
+ \pagestyle{fancy}
+ \fancyhf{}
+ % if \fancyhead or \fancyfoot are used without `twoside` in \documentclass{...} then
+ % fancyhdr will complain that the 'E' used here is useless, so need to condition.
+ \if@twoside%
+ %%% put the stuff for true here (twoside=true)
+ \fancyhead[RO,LE]{\thepage}
+ \fancyfoot[RO,LE]{\thepage}
+ \fancyhead[LO]{\it\@shorttitle}
+ \fancyhead[RE]{\@author}
+ \fancyfoot[RE,LO]{}
+ \else%
+ %%% put the stuff for false here (twoside=false)
+ \fancyhead[LO]{\it\@shorttitle~~$\cdot$~~\@author}
+ \fancyhead[R]{\thepage}
+ \fancyfoot[R,LO]{}
+ \fi%
+} {}
+
+
+
+% BODY HEIGHT
+% Set up the text body height. For the text height, we calculate the largest number of
+% lines that gives us no more than 4cm bottom margin. This depends on the line spacing,
+% which we need first.
+
+\setstretch{\stretchfactor}
+
+% Debug only: In the next line, \XXXfactor contains the number of lines on a text-only page.
+% \newlength{\XXXunit}\setlength{\XXXunit}{1pt}\newlength{\XXXfactor}\setlength{\XXXfactor}{1pt + ((672pt - \topskip) / \baselineskip) * \XXXunit}
+\newlength{\scratchlength}\setlength{\scratchlength}{\topskip + ((672pt - \topskip) / \baselineskip) * \baselineskip + \baselineskip}
+\setlength{\textheight}{\scratchlength}
+
+
+
+% DOCUMENT COMPONENTS
+% Provides the formatting for the required document components. Specifically, these are
+% the titlepage, declaration, dedication, abstract, and undergraduate project fulfilment.
+
+\renewcommand{\maketitle}{%
+ \begin{titlepage}
+ \singlespacing
+ \addtolength{\oddsidemargin}{-0.75cm}
+ \begin{center}
+ \null\vskip 4.1cm
+ \begin{minipage}[t][7.6cm]{10.5cm}
+ \begin{center}
+ {\LARGE\textbf{\@title}\par}
+ {\Large\textit{\@author}\par}
+ \end{center}
+ \end{minipage}
+ \vfill
+ {\Large\degreetext \par The University of Edinburgh \par\@date \par}
+ \end{center}
+ \end{titlepage}
+ % For two-sided documents it's required that a blank page follow the title page. For
+ % one-sided documents it's required that the title page contribute to the page count.
+ \if@twoside
+ \thispagestyle{empty}
+ \cleardoublepage
+ \else
+ \addtocounter{page}{1}
+ \fi
+}
+
+
+% Declaration style for everything except year 4 projects
+\newcommand{\declaration}[1]{
+ % Doesn't need a chapter number or adding to the contents page
+ \chapter*{Declaration}
+ % Must always be single spaced
+ \begin{singlespace}
+ \def\param{#1}
+ \ifx\param\empty
+ I declare that this thesis was composed by myself
+ and that the work contained therein is my own,
+ except where explicitly stated otherwise in the text.
+ \else
+ {#1}
+ \fi
+ \end{singlespace}
+ {\raggedleft\vspace{2cm}(\textit{\@author})}
+}
+
+
+% Declaration style for year 4 project, argument is degree programme (e.g. MMath)
+\newcommand{\yfourdeclaration}[1]{
+ \vfill
+ \noindent
+ This project report is submitted in partial fulfilment
+ of the requirements for the degree of \textit{#1}.
+}
+
+
+\renewenvironment{abstract}{
+ % Abstracts don't need a chapter number...
+ \chapter*{\abstractname}
+}{
+ % ...but do need adding to the contents page.
+ \addcontentsline{toc}{chapter}{\abstractname}
+}
+
+
+\newenvironment{laysummary}{
+ % A lay summary is required for PhD theses and is not included in the page count. We treat it in a similar way to the abstract here.
+ \chapter*{Lay Summary}
+}{
+ \addcontentsline{toc}{chapter}{Lay Summary}
+}
+
+
+\newenvironment{acknowledgements}{
+ % Acknowledgements environment similar to abtract and lay summary.
+ \chapter*{Acknowledgements}
+}{
+ \addcontentsline{toc}{chapter}{Acknowledgements}
+}
+
+
+\newcommand{\dedication}[1]{%
+ % Handled dedications (e.g. 'For Alex', not acknowledgements)
+ \clearpage
+ \thispagestyle{plain}
+ \vspace*{7cm}
+ \begin{center}
+ \Large\it #1
+ \end{center}
+}
diff --git a/macros/latex/contrib/edmaths/example-references.bib b/macros/latex/contrib/edmaths/example-references.bib
new file mode 100644
index 0000000000..cd65755781
--- /dev/null
+++ b/macros/latex/contrib/edmaths/example-references.bib
@@ -0,0 +1,10 @@
+ This is an example biblography used in example-presentation.tex and
+ example-report.tex, examples of the edmaths Beamer and report styles
+ respectively. When creating a biblography you might find these bibtex
+ templates useful: https://verbosus.com/bibtex-style-examples.html
+
+@misc{koeppe2007,
+ title = {Package `edmaths'},
+ author = {Thomas Koeppe},
+ year = {2007}
+}
diff --git a/macros/latex/contrib/edmaths/example-report.tex b/macros/latex/contrib/edmaths/example-report.tex
new file mode 100644
index 0000000000..2dae5e22a7
--- /dev/null
+++ b/macros/latex/contrib/edmaths/example-report.tex
@@ -0,0 +1,79 @@
+%% This file is an example of using edmaths.sty to style a PhD thesis that
+%% complies with University of Edinburgh typesetting rules. While the
+%% style is LPPL 1.3 licensed, this example is given under a 0BSD license
+%% (https://choosealicense.com/licenses/0bsd), meaning it can be freely
+%% used, copied, modified, and/or redistributed with or without attribution.
+%% See README.md or https://github.com/Foggalong/edinburgh-math-latex for
+%% instructions on using the style.
+
+\documentclass[12pt,twoside]{report}
+
+\title{Thesis Title}
+\author{Author Name}
+\date{YYYY}
+
+\usepackage[phd,fourier,hyperref,colour,fancyhdr]{edmaths}
+
+%\shorttitle{Short title} % You can optionally define a shorter version of your title for the headers if you use the fancyhdr option.
+
+
+\begin{document}
+
+\flushbottom
+\pagenumbering{roman}
+
+\maketitle
+
+\begin{declaration}
+ {I declare that this thesis has been composed solely by myself and that it has not been
+ submitted, in whole or in part, in any previous application for a degree. Except where
+ stated otherwise by reference or acknowledgement, the work presented is entirely my
+ own.}
+ % Required for PhD theses. This declaration should be tailored to your thesis. If your thesis includes previously-published work, it should be declared on this page. See https://www.ed.ac.uk/sites/default/files/atoms/files/thesis_signed_declaration.pdf.
+\end{declaration}
+
+\begin{abstract}
+ The abstract goes here.
+\end{abstract}
+
+\begin{laysummary}
+ A lay summary is required for PhD theses. See \href{https://www.ed.ac.uk/sites/default/files/atoms/files/lay_summary_in_theses.pdf}{this page on the University website}.
+\end{laysummary}
+
+\dedication{In memory of my sanity.}
+
+\begin{acknowledgements}
+ I'd like to thank my supervisor for putting up with me for four years.
+\end{acknowledgements}
+
+
+\tableofcontents
+% Uncomment to add 'Contents' entry to contents page
+% \addcontentsline{toc}{chapter}{Contents}
+
+\newpage
+\pagenumbering{arabic}
+
+\chapter{First Chapter}
+
+This is an example of a report made using the \texttt{edmaths} stylesheet~\cite{koeppe2007}, which is designed to ensure compliance with the University of Edinburgh's typesetting requirements for reports and theses.
+
+\section{First section}
+
+\section{Second section}
+
+
+\chapter{Second Chapter}
+
+\appendix
+
+\chapter{First Appendix}
+
+
+\bibliography{example-references}
+\addcontentsline{toc}{chapter}{Bibliography}
+% Choose a reference style from https://verbosus.com/bibtex-style-examples.html
+\bibliographystyle{ieeetr}
+% Or use the `amsrefs' package, https://ams.org/tex/amsrefs.html
+
+\end{document}
diff --git a/macros/latex/contrib/esami/README b/macros/latex/contrib/esami/README
index 22f183f8d8..b1ef039c0e 100644
--- a/macros/latex/contrib/esami/README
+++ b/macros/latex/contrib/esami/README
@@ -1,6 +1,6 @@
-The esami package v. 2.8
+The esami package v. 2.9
For generation of texts and solutions of exams in LaTeX
-2023/07/21
+2024/07/01
File: README
Author: Grazia Messineo and Salvatore Vassallo
@@ -14,7 +14,7 @@ varying in random order, with closed or open answer, matching, problems, and so
of each group are randomly scrambled across the exam and variants of each exercise are chosen
randomly from a file which contains them all and.
-Copyright: (C) 2008--2023 Grazia Messineo & Salvatore Vassallo
+Copyright: (C) 2008--2024 Grazia Messineo & Salvatore Vassallo
Licence: LPPL
FILES IN DISTRIBUTION
diff --git a/macros/latex/contrib/esami/VERSION b/macros/latex/contrib/esami/VERSION
index 64fbb8d2f3..98dd005629 100644
--- a/macros/latex/contrib/esami/VERSION
+++ b/macros/latex/contrib/esami/VERSION
@@ -1 +1 @@
-VERSION 2.8 DATE=July 17, 2023
+VERSION 2.9 DATE=July 1, 2024
diff --git a/macros/latex/contrib/esami/doc/esami-doc-en.pdf b/macros/latex/contrib/esami/doc/esami-doc-en.pdf
index d2d96db33a..8f06ffc33b 100644
--- a/macros/latex/contrib/esami/doc/esami-doc-en.pdf
+++ b/macros/latex/contrib/esami/doc/esami-doc-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/esami/doc/esami-doc-en.tex b/macros/latex/contrib/esami/doc/esami-doc-en.tex
index 44da55a481..8adc1c17a1 100644
--- a/macros/latex/contrib/esami/doc/esami-doc-en.tex
+++ b/macros/latex/contrib/esami/doc/esami-doc-en.tex
@@ -81,6 +81,7 @@
\changes{Version 2.6}{2021/10/11}{Improved the spacing in \cmd{\FPsignpol}. Corrected the code to avoid some spourios spaces. }
\changes{Version 2.7}{2022/01/11}{Improved the spacing in \cmd{\sempli} and \cmd{\FPsignpol}. Corrected a misprint in the code.}
\changes{Versione 2.8}{2023/07/21}{Documentation modified to solve a problem with the Spanish Language.}
+\changes{Versione 2.9}{2024/07/03}{Loaded the package tagpdf-base to avoid an error on the measures of the boxes.}
%\IndexPrologue{\section*{Index} Numbers written in italic refer to the page where the item is described; underlined numebers refer to the line of code in which the item is described; other references are to the line of code where the item is used.}
\GlossaryPrologue{\section*{Changelog}}
\def\MacroFont{\fontencoding\encodingdefault
@@ -798,7 +799,8 @@ Inside this file you should use only one command, \cmd{\def \textbackslash eserc
\item[Version 2.5 (2018/05/06)] Corrected a misprint in the code. Improved the selection of random exercises.
\item[Version 2.6 (2021/10/11)] Improved the spacing in \cmd{\FPsignpol}. Corrected the code to avoid some spourios spaces.
\item[Version 2.7 (2021/10/11)] Improved the spacing in \cmd{\sempli} and \cmd{\FPsignpol}. Corrected a misprint in the code
-\item[Versione 2.8 (2023/07/21)] Documentation modified to solve a problem with the spanish language.
+\item[Version 2.8 (2023/07/21)] Documentation modified to solve a problem with the spanish language.
+\item[Version 2.89 ( 2024/07/03)] Loaded the package tagpdf-base to avoid an error on the measures of the boxes.
\end{description}
\bibliographystyle{plain}
diff --git a/macros/latex/contrib/esami/doc/esami-doc-it.pdf b/macros/latex/contrib/esami/doc/esami-doc-it.pdf
index c4c9c5f20e..8b83d7bdf1 100644
--- a/macros/latex/contrib/esami/doc/esami-doc-it.pdf
+++ b/macros/latex/contrib/esami/doc/esami-doc-it.pdf
Binary files differ
diff --git a/macros/latex/contrib/esami/doc/esami-doc-it.tex b/macros/latex/contrib/esami/doc/esami-doc-it.tex
index 0a2b92414f..dae29f96fe 100644
--- a/macros/latex/contrib/esami/doc/esami-doc-it.tex
+++ b/macros/latex/contrib/esami/doc/esami-doc-it.tex
@@ -79,6 +79,8 @@
\changes{Versione 2.6}{2021/10/11}{Migliorata la spaziatura in \cmd{\FPsignpol}. Corretto il codice per eliminare alcuni spazi spuri.}
\changes{Versione 2.7}{2022/01/11}{Migliorata la spaziatura in \cmd{\sempli} e \cmd{\FPsignpol}. Corretto un errore nel codice}
\changes{Versione 2.8}{2023/07/21}{Modificata la documentazione per risolvere un problema con la lingua spagnola.}
+\changes{Versione 2.9}{2024/07/03}{Caricato il pacchetto tagpdf-base per evitare un errore sulle misure delle box.}
+
%\IndexPrologue{\section*{Indice} I numeri scritti in italico rimandano alla pagina dove è descritto l'item; i numeri sottolineati rimandano alla riga di codice in cui l'item è descritto; le altre referenze sono alla riga di codice dove l'item è usato.}
\GlossaryPrologue{\section*{Changelog}}
\def\MacroFont{\fontencoding\encodingdefault
@@ -800,7 +802,7 @@ Al suo interno si deve usare un solo comando, \cmd{\def \textbackslash esercizio
\item[Versione 2.6 (2021/10/11)] Migliorata la spaziatura in \cmd{\FPsignpol}. Corretto il codice per eliminare alcuni spazi spuri.
\item[Versione 2.7 (2022/01/11)] Migliorata la spaziatura in \cmd{\sempli} e \cmd{\FPsignpol}. Corretto un errore nel codice
\item[Versione 2.8 (2023/07/21)] Modificata la documentazione per risolvere un problema con la lingua spagnola.
-
+ \item[Versione 2.8 (2024/07/03)]Caricato il pacchetto tagpdf-base per evitare un errore sulle misure delle box.
\end{description}
diff --git a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie1.parametri.tex b/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie1.parametri.tex
deleted file mode 100644
index 107265dbc4..0000000000
--- a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie1.parametri.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\FPeval{a}{round(12:0)}
-\FPeval{b}{round(13:0)}
-\FPeval{c}{round(3:0)}
-\FPeval{k}{round(4:0)}
diff --git a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie2.parametri.tex b/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie2.parametri.tex
deleted file mode 100644
index e736caa6a0..0000000000
--- a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie2.parametri.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\FPeval{a}{round(14:0)}
-\FPeval{b}{round(15:0)}
-\FPeval{c}{round(2:0)}
-\FPeval{k}{round(5:0)}
diff --git a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie3.parametri.tex b/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie3.parametri.tex
deleted file mode 100644
index 98ef510098..0000000000
--- a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie3.parametri.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\FPeval{a}{round(12:0)}
-\FPeval{b}{round(15:0)}
-\FPeval{c}{round(2:0)}
-\FPeval{k}{round(4:0)}
diff --git a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie4.parametri.tex b/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie4.parametri.tex
deleted file mode 100644
index ab468d8a75..0000000000
--- a/macros/latex/contrib/esami/doc/examples/qftest5-fillinqiie4.parametri.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\FPeval{a}{round(13:0)}
-\FPeval{b}{round(14:0)}
-\FPeval{c}{round(2:0)}
-\FPeval{k}{round(4:0)}
diff --git a/macros/latex/contrib/esami/doc/examples/testA-xetex-sol.sol.tex b/macros/latex/contrib/esami/doc/examples/testA-xetex-sol.sol.tex
new file mode 100644
index 0000000000..00cc5e002c
--- /dev/null
+++ b/macros/latex/contrib/esami/doc/examples/testA-xetex-sol.sol.tex
@@ -0,0 +1,84 @@
+\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 1}}
+\begin{enumerate}
+\item\ref{e:1-file:test2-q:i}
+\item\ref{e:1-file:test3-q:ii}
+\item\ref{e:1-file:test2-q:ii}
+\item\ref{e:1-file:test2-q:iii}
+\item\ref{e:1-file:test3-q:i}
+\item\ref{e:1-file:test1-q:i}
+\item\ref{e:1-file:test9-q:ii}
+\item\ref{e:1-file:test14-q:i}
+\item\ref{e:1-file:test4-q:v}
+\item \makeatletter \input{qftest5-fillinqiie1.parametri}\makeatother
+ \FPsv [2]{b/k}
+\item\ref{e:1-file:test11-q:i}
+\item\ref{e:1-file:test11-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\begin{enumerate}
+\item\ref{e:1-file:test12-q:i}
+\item\ref{e:1-file:test13-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\end{minipage}
+\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 2}}
+\begin{enumerate}
+\item\ref{e:2-file:test2-q:iii}
+\item\ref{e:2-file:test3-q:i}
+\item\ref{e:2-file:test2-q:ii}
+\item\ref{e:2-file:test3-q:iv}
+\item\ref{e:2-file:test2-q:i}
+\item\ref{e:2-file:test1-q:ii}
+\item \makeatletter \input{qftest5-fillinqiie2.parametri}\makeatother
+ \FPsv [2]{a/c}
+\item\ref{e:2-file:test9-q:iii}
+\item\ref{e:2-file:test14-q:i}
+\item\ref{e:2-file:test4-q:ii}
+\item\ref{e:2-file:test11-q:i}
+\item\ref{e:2-file:test11-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\begin{enumerate}
+\item\ref{e:2-file:test13-q:iii}
+\item\ref{e:2-file:test12-q:iii}
+\par\end{enumerate}\vspace{3ex}
+\end{minipage}
+\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 3}}
+\begin{enumerate}
+\item\ref{e:3-file:test2-q:iii}
+\item\ref{e:3-file:test3-q:i}
+\item\ref{e:3-file:test2-q:i}
+\item\ref{e:3-file:test3-q:ii}
+\item\ref{e:3-file:test2-q:ii}
+\item\ref{e:3-file:test14-q:i}
+\item \makeatletter \input{qftest5-fillinqiie3.parametri}\makeatother
+ \FPsv [2]{b/k}
+\item\ref{e:3-file:test4-q:iii}
+\item\ref{e:3-file:test1-q:i}
+\item\ref{e:3-file:test9-q:iv}
+\item\ref{e:3-file:test11-q:i}
+\item\ref{e:3-file:test11-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\begin{enumerate}
+\item\ref{e:3-file:test12-q:i}
+\item\ref{e:3-file:test13-q:iv}
+\par\end{enumerate}\vspace{3ex}
+\end{minipage}
+\begin{minipage}{.33\textwidth}{\large\textbf{Soluzione\ Versione\ n. 4}}
+\begin{enumerate}
+\item\ref{e:4-file:test2-q:ii}
+\item\ref{e:4-file:test2-q:i}
+\item\ref{e:4-file:test3-q:i}
+\item\ref{e:4-file:test3-q:ii}
+\item\ref{e:4-file:test2-q:iii}
+\item\ref{e:4-file:test4-q:v}
+\item\ref{e:4-file:test9-q:iii}
+\item\ref{e:4-file:test1-q:ii}
+\item\ref{e:4-file:test14-q:i}
+\item \makeatletter \input{qftest5-fillinqiie4.parametri}\makeatother
+ \FPsv [2]{a/c}
+\item\ref{e:4-file:test11-q:i}
+\item\ref{e:4-file:test11-q:ii}
+\par\end{enumerate}\vspace{3ex}
+\begin{enumerate}
+\item\ref{e:4-file:test13-q:iii}
+\item\ref{e:4-file:test12-q:iii}
+\par\end{enumerate}\vspace{3ex}
+\end{minipage}
diff --git a/macros/latex/contrib/esami/esami.sty b/macros/latex/contrib/esami/esami.sty
index 12bf761379..d1f8757d56 100644
--- a/macros/latex/contrib/esami/esami.sty
+++ b/macros/latex/contrib/esami/esami.sty
@@ -145,6 +145,7 @@
% | PACKAGES |
% +=============================+
+\usepackage{tagpdf-base}
\usepackage{graphicx}
\usepackage{enumerate}
\usepackage[nomessages]{fp}
diff --git a/macros/latex/contrib/fancyhdr/README b/macros/latex/contrib/fancyhdr/README
index 4a7d219fdc..3131149015 100644
--- a/macros/latex/contrib/fancyhdr/README
+++ b/macros/latex/contrib/fancyhdr/README
@@ -27,7 +27,7 @@ In order to latex the documentation you need to have a copy of
boxedminipage.sty (CTAN:/macros/latex/contrib/boxedminipage) and
refcount.sty (CTAN:/macros/latex/contrib/oberdiek/) installed.
-This is version 4.2 of fancyhdr.sty and extramarks.sty. They are
+This is version 4.3.1 of fancyhdr.sty and extramarks.sty. They are
described in the third edition of The LaTeX Companion.
Extramarks.sty has not been changed, except for the version and
copyright information.
diff --git a/macros/latex/contrib/fancyhdr/fancyhdr.dtx b/macros/latex/contrib/fancyhdr/fancyhdr.dtx
index 43c6631bba..c20c966b8b 100644
--- a/macros/latex/contrib/fancyhdr/fancyhdr.dtx
+++ b/macros/latex/contrib/fancyhdr/fancyhdr.dtx
@@ -26,7 +26,7 @@
%<fancyhdr>\ProvidesPackage{fancyhdr}%
%<fancyheadings>\ProvidesPackage{fancyheadings}
%<extramarks>\ProvidesPackage{extramarks}
-%<fancyhdr|extramarks> [2024/04/23 v4.2
+%<fancyhdr|extramarks> [2024/07/23 v4.3.1
%<fancyhdr> Extensive control of page headers and footers]%
%<fancyheadings> [2022/11/09 v4.1
%<fancyheadings> Legacy package to call fancyhdr]
@@ -59,8 +59,6 @@
\def\pAmS{{\the\textfont2
A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
\def\amslatex/{\ams/-\latex/}
-\newcommand{\PSNFSS}{{\sf
- PSNFSS}}
\newcommand{\bs}{\symbol{'134}}
\newcommand{\env}[1]{\texttt{#1}}
\newcommand{\Package}[1]{\textsf{#1}}
@@ -206,7 +204,7 @@
% \DoNotIndex{\#,\$,\%,\&,\@,\\,\{,\},\^,\_,\~,\ }
% \DoNotIndex{\@ne}
% \DoNotIndex{\advance,\begingroup,\catcode,\closein}
-% \DoNotIndex{\closeout,\day,\def,\edef,\else,\empty,\endgroup}
+% \DoNotIndex{\closeout,\day,\def,\edef,\else,\empty,\@empty,\endgroup}
%
% \title{The \Package{fancyhdr} and \Package{extramarks}
% packages\\{\normalsize version \fileversion.}}
@@ -228,7 +226,7 @@
%
% This documentation describes version 4.0 or later of the
% \Package{fancyhdr} and \Package{extramarks} packages. The user
-% documentation is valid for the versions 3.8 or later of the
+% documentation is valid for the versions 4.0 or later of the
% \Package{fancyhdr} package (except for the changes mentioned in
% section~\ref{sec:version-4}), and version 2.1 or later of the
% \Package{extramarks} package.
@@ -253,11 +251,11 @@
%
% Part IV contains the annotated implementation.
%
-% This document describes version 4 of \Package{fancyhdr}. This version
-% is also described in the forthcoming edition 3 of \textit{The \latex/ Companion},
-% whereas the previous editions describe version 3 of \Package{fancyhdr}.
-% There are some significant differences between these versions. These
-% are summarized in section~\ref{sec:version-4} on page~\pageref{sec:version-4}.
+% This document describes version 4 of \Package{fancyhdr}, which is described in
+% the \emph{The \LaTeX{} Companion, Third Edition}.
+% The differences between this version and previous versions
+% are summarized in section~\ref{sec:version-4} on
+% page~\pageref{sec:version-4}.
% Throughout this documentation it is mentioned when a specific feature
% is only available in version 4, or when there are differences between
% version 3 and 4.
@@ -304,16 +302,14 @@
% \OPTindex{twoside}
% \OPTindex{headings}
% \OPTindex{myheadings}
-% \DescribeMacro{\fancyhead}
-% \DescribeMacro{\fancyfoot}
-% \DescribeMacro{\fancyhf}
-% \begin{verbatim}
-% \fancyhead[places]{field}
-% \fancyfoot[places]{field}
-% \fancyhf[places]{field}
-% \end{verbatim}
-% Here \texttt{places} is a comma-separated list of places where
-% \texttt{field} will be placed. There are 12 places defined: Left,
+%
+% \begin{flushleft}
+% \DescribeMacro{\fancyhead}\cmd{\fancyhead}\oarg{places}\marg{field} \\
+% \DescribeMacro{\fancyfoot}\cmd{\fancyfoot}\oarg{places}\marg{field} \\
+% \DescribeMacro{\fancyhf}\cmd{\fancyhf}\oarg{places}\marg{field}
+% \end{flushleft}
+% Here \meta{places} is a comma-separated list of places where
+% \meta{field} will be placed. There are 12 places defined: Left,
% Center and Right Headers and Footers, and both can be on Even or Odd
% pages. Each place therefore has 3 coordinates which are the inital
% letters of the above description: (1) \texttt{E} or \texttt{O}, (2) \texttt{L}, \texttt{C} or
@@ -321,14 +317,12 @@
% letters, like \texttt{EOH}. A missing coordinate means: all
% possibilities, except for \cs{fancyhead} where \texttt{H} is implied
% and \cs{fancyfoot} where \texttt{F} is implied.
-% \DescribeMacro{\fancyheadoffset}
-% \DescribeMacro{\fancyfootoffset}
-% \DescribeMacro{\fancyhfoffset}
-% \begin{verbatim}
-% \fancyheadoffset[places]{field}
-% \fancyfootoffset[places]{field}
-% \fancyhfoffset[places]{field}
-% \end{verbatim}
+%
+% \begin{flushleft}
+% \DescribeMacro{\fancyheadoffset}\cmd{\fancyheadoffset}\oarg{places}\marg{length} \\
+% \DescribeMacro{\fancyfootoffset}\cmd{\fancyfootoffset}\oarg{places}\marg{length} \\
+% \DescribeMacro{\fancyhfoffset}\cmd{\fancyhfoffset}\oarg{places}\marg{length}
+% \end{flushleft}
% These define offsets to let the headers stick into the margin (or to
% the inside if negative). Places cannot contain the \texttt{C}
% specifier. See section~\ref{sec:book-examples} for more details.
@@ -340,7 +334,6 @@
% \DescribeMacro{\headrule}
% \DescribeMacro{\footrule}
% \DescribeMacro{\headwidth}
-%
% \cs{headrulewidth} and \cs{footrulewidth} are macros to define the
% thickness of a line under the header and above the footer.
% \cs{headruleskip} and \cs{footruleskip} are macros that define the
@@ -353,7 +346,6 @@
% \DescribeMacro{\fancyheadinit}
% \DescribeMacro{\fancyfootinit}
% \DescribeMacro{\fancyhfinit}
-%
% \cs{fancyheadinit} and \cs{fancyfootinit} can be used to define
% initialisation code for the header and footer, respectively, and
% \cs{fancyhfinit} defines both of these. These commands are only
@@ -367,7 +359,6 @@
% \DescribeMacro{\ifbotfloat}
% \DescribeMacro{\iffloatpage}
% \DescribeMacro{\iffootnote}
-%
% The macros \cs{iftopfloat}, \cs{ifbotfloat}, \cs{iffloatpage} and
% \cs{iffootnote} are used to detect if there is a float on the top or
% the bottom of the page, or the page is a float page, or if there is
@@ -375,10 +366,10 @@
% different headers and/or footers if these conditions are met. See
% section~\ref{sec:float} for more details.
%
-% \begin{quote}
-% \DescribeMacro{\fancypagestyle}
-% \verb|\fancypagestyle|\marg{style-name}\oarg{base-style}\marg{definitions}
-% \end{quote}
+% \begin{flushleft}
+% \DescribeMacro{\fancypagestyle}
+% \cmd{\fancypagestyle}\marg{style-name}\oarg{base-style}\marg{definitions}
+% \end{flushleft}
% This command lets you (re)define page styles for use in special
% situations. See section~\ref{sec:fancypagestyle} for more details.
%
@@ -393,13 +384,6 @@
% \DescribeMacro{\lastrightmark}
% \DescribeMacro{\firstrightmark}
% \DescribeMacro{\lastleftmark}
-% \begin{verbatim}
-% \firstleftmark
-% \lastrightmark
-% \firstrightmark
-% \lastleftmark
-% \end{verbatim}
-%
% Standard \latex/ has two marks: a left and a right one. The standard
% command \cs{leftmark} gives you the last left mark on a page, and
% \cs{rightmark} gives you the first right one. These macros give you
@@ -486,7 +470,7 @@
%
% The page headers and footers in \LaTeX{} are defined by the
% \cs{pagestyle} and \cs{pagenumbering} commands. \cs{pagestyle}
-% defines the general contents of the headers and footers (e.g. where the
+% defines the general contents of the headers and footers (e.g.\ where the
% page number will be printed), while
% \cs{pagenumbering} defines the format of the page number.
% \LaTeX{} has four standard page styles:
@@ -527,7 +511,7 @@
%
% These are not user commands, but rather ``variables'' that are used by
% \latex/'s output routine.
-% As the command names contain the character '\texttt{@}', they should
+% As the command names contain the character `\texttt{@}', they should
% be defined in a package file, or otherwise be sandwiched between the commands
% \cs{makeatletter} and \cs{makeatother}.
%
@@ -605,6 +589,12 @@
% We define each of the six ``fields'' and the two decorative lines
% separately.
%
+% \begin{fblock}
+% \textbf{NOTE:} In \Package{fancyhdr} version 4.3 and later, paragraph
+% hooks will not work inside \Package{fancyhdr} headers and footers to
+% avoid unwanted interactions with the main text.
+% \end{fblock}
+%
% \section{A simple example}
% \label{sec:simple}
%
@@ -784,7 +774,7 @@
% for which pages and/or parts of the header/footer they apply. The first
% \cs{fancyhead} command above omits this parameter, and thus applies to all
% header fields. In general this is only useful to get rid of the defaults or
-% a previous definition, as is done here. Similar the \cs{fancyfoot} command
+% a previous definition, as is done here. Similarly the \cs{fancyfoot} command
% without square brackets clears all footer fields. In this particular
% example it could be omitted as all footer fields have a value specified.
% The selectors that can be used
@@ -846,7 +836,7 @@
% \cs{ps@plain} command, but \Package{fancyhdr} gives you an easier way
% with the \cs{fancypagestyle} command. This command can be used to
% redefine existing page styles (like \texttt{plain}) or to define new ones,
-% e.g. if part of your document needs a different page style. This command
+% e.g.\ if part of your document needs a different page style. This command
% has two mandatory parameters: the first one is the name of the page style to be defined, the
% second consists of commands that change the headers and/or footers, i.e.,
% \verb|\fancyhead| etc. Also allowed are changes to \cs{headrulewidth} and
@@ -1105,8 +1095,8 @@
% section and subsection information (section only for one-sided
% printing). \latex/ uses a marker mechanism to remember the chapter and
% section (section and subsection) information for a page; this is
-% discussed in detail in \textit{The \latex/ Companion}, Section 4.3.1, or
-% \textit{The \latex/ Companion, Second Edition}, Section 4.3.4.
+% discussed in detail in \emph{The \LaTeX{} Companion, Third Edition},
+% section 5.3.4 (Part I).
%
% There are two ways you can use and change the higher- and lower-level
% sectioning information available to you. The macros:
@@ -1263,7 +1253,7 @@
%
% As an example let's take a page layout where the leftmarks are generated by
% the sections and the rightmarks by the subsections (as is default in the
-% \texttt{article} class). Take a page with some short sections, e.g.
+% \texttt{article} class). Take a page with some short sections, e.g.,
%
% \begin{samepage}
% \noindent Section 1.\\
@@ -1294,7 +1284,7 @@
% \end{verbatim}
%
% Another problem with the marks in the standard \latex/ classes is that the
-% higher level sectioning commands (e.g. \cs{chapter}) call
+% higher level sectioning commands (e.g.\ \cs{chapter}) call
% \cs{markboth} with an empty right argument. This means that on the first
% page of a chapter (or a section in article style) the \cs{rightmark}
% will be empty. The underlying problem is that the \tex/ machinery has
@@ -1310,7 +1300,7 @@
% \cs{chapter} etc.\ commands do \emph{not} call the mark commands. So if
% you want your preface to set the header info but not be numbered nor be put in
% the table of contents, you must issue the \cs{markboth} command
-% yourself, e.g.
+% yourself, e.g.,
%
% \begin{verbatim}
% \chapter*{Preface}
@@ -1378,7 +1368,8 @@
% \footnote{If you use \texttt{11pt} or \texttt{12pt} you will probably also
% have to do this, because \LaTeX's defaults are quite small}. See the
% warning below.
-% See also Section 4.1 of the \latex/ \emph{Companion} for detail.
+% See also section 5.1 and 5.2 of the \LaTeX{} \emph{Companion, Third Edition}, (Part I)
+% for detail.
%
% For instance, the following code will place the section title and the
% subsection title of an article in two lines in the upper right hand
@@ -1626,7 +1617,7 @@
% in the neighborhood of your header/footer definitions, unless you
% already use such an \texttt{\ldots offset} command, of course.
% \vspace{\baselineskip}
-%
+%
% For the second example, we take the \amslatex/ book\footnote{George Gratzer,
% \textit{Math into LaTeX, An Introduction to \LaTeX{} and \amslatex/}, Birkhauser, Boston.}.
%
@@ -1661,18 +1652,19 @@
% \renewcommand{\footrulewidth}{0pt}
% \end{verbatim}
%
-% The font used in the headers is 9 pt bold Helvetica. The \PSNFSS\ system
-% by Sebastian Rahtz uses the short (Karl Berry) name \verb|phv| for
-% Helvetica, so this font is selected with the commands:
+% The font used in the headers is 9 pt bold Helvetica. The \textsf{PSNFSS} system
+% (originally by the late Sebastian Rahtz) uses the short (Karl Berry) name \texttt{phv} for
+% Helvetica. The more modern \LaTeX{} solution is to use the \TeX{} Gyre font
+% Heros, which uses the short name \texttt{qhv} so this font is selected with the commands^^A
+% \footnote{See \emph{The \LaTeX{} Companion, Third Edition}, Part I, section
+% 9.5.2, and Part II, section 10.8.16.}:
% \begin{verbatim}
-% \fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont
+% \fontfamily{qhv}\fontseries{b}\fontsize{9}{11}\selectfont
% \end{verbatim}
-% (See Sections 7.6.1 and 11.9.1 of the \latex/ \emph{Companion} or
-% Sections 7.6 and 7.9.1 of \emph{The \latex/ Companion, Second Edition}.)
% Let us define a shorthand for this:
% \begin{verbatim}
% \newcommand{\helv}{%
-% \fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont}
+% \fontfamily{qhv}\fontseries{b}\fontsize{9}{11}\selectfont}
% \end{verbatim}
%
% Now we are ready for the page layout:
@@ -1688,7 +1680,7 @@
% \renewcommand{\headrulewidth}{0.5pt}
% \renewcommand{\footrulewidth}{0pt}
% \newcommand{\helv}{%
-% \fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont}
+% \fontfamily{qhv}\fontseries{b}\fontsize{9}{11}\selectfont}
% \fancyhf{}
% \fancyhead[LE,RO]{\helv \thepage}
% \fancyhead[LO]{\helv \rightmark}
@@ -1719,6 +1711,21 @@
% \renewcommand{\headrulewidth}{\iffloatpage{0pt}{0.4pt}}
% \end{verbatim}
%
+% \textbf{NOTE:} There is also a package \TTindex{floatpag}%
+% \Package{floatpag}\footnote{\url{https://www.ctan.org/pkg/floatpag}} by Vytas
+% Statulevičius and Sigitas Tolušis that has a command
+% \cs{floatpagestyle}\marg{pagestyle}, that applies \meta{pagestyle} to
+% all float pages, where \meta{pagestyle} can be defined with
+% \cs{fancypagestyle} (or by any other means).
+%
+% \textbf{NOTE:} There is also a package \TTindex{floatpag}%
+% \Package{floatpag}\footnote{\url{https://www.ctan.org/pkg/floatpag}} by Vytas
+% Statulevičius and Sigitas Tolušis that has a command
+% \cs{floatpagestyle}\marg{pagestyle}, that applies \meta{pagestyle} to
+% all float pages, where \meta{pagestyle} can be defined with
+% \cs{fancypagestyle} (or by any other means). In some cases this might
+% be simpler than putting \cs{iffloatpage} in various headers or footers.
+%
% Sometimes you may want to change the layout also for pages that contain a
% float on the top of the page, a float on the bottom of the page or a footnote on the bottom of the page.
%
@@ -1848,12 +1855,16 @@
% \CmdIndex{pagenumbering}
%
% \begin{verbatim}
+% \clearpage
% \pagenumbering[\thesection]{bychapter}
% \end{verbatim}
%
% What the package also does is reset the page number to 1 at the beginning
% of each chapter.
%
+% In general it is advisable to give a \cs{clearpage} or
+% \cs{cleardoublepage} before changing the page numbering.
+%
% In the frontmatter of your document (for example the Table of
% Contents) there will be no chapter numbers. Therefore a simple page
% number will be used there. This may be confusing, so you might prefer to use roman pagenumbers
@@ -2601,7 +2612,7 @@
% \end{enumerate}
%
% In the first two cases you must first check if you have given the correct
-% ``placement'' parameter to you float, e.g. \Cmd{begin\{figure\}[htp]}
+% ``placement'' parameter to you float, e.g.\ \Cmd{begin\{figure\}[htp]}
% specifies that your figure may be placed either: Here (i.e., in the text
% position where the command is given), on the Top of a page (which may be
% the page where you put the command), or on a separate Page of floats. You
@@ -2660,7 +2671,7 @@
% than 50\% of the page height it will have to wait until some more floats
% are given before a float page can be filled to satisfy the
% \cs{floatpagefraction} parameter. If you have this kind of behaviour you
-% can easily adapt the parameters, e.g. with:
+% can easily adapt the parameters, e.g.\ with:
% \begin{verbatim}
% \renewcommand{\textfraction}{0.05}
% \renewcommand{\topfraction}{0.95}
@@ -2673,7 +2684,7 @@
%
% You can force \latex/ to ignore most of the parameters for one specific float
% occurrence by
-% including an exclamation mark (!) in the placement parameters, e.g.
+% including an exclamation mark (!) in the placement parameters, e.g.,
% \begin{verbatim}
% \begin{figure}[!htb]
% \end{verbatim}
@@ -2811,7 +2822,7 @@
% normal text rather than a \cs{caption}, so that it will not be entered in
% the list of figures. It may also be desirable to issue a \cs{clearpage}
% first, just like we did for the \texttt{longtable}, and to encapsulate this
-% in the \cs{afterpage} command. E.g.
+% in the \cs{afterpage} command. E.g.,
% \begin{verbatim}
% \afterpage{\clearpage\input{myfigure}}
% \end{verbatim}
@@ -2832,7 +2843,7 @@
%
% You have to make sure that the last part is big enough, otherwise \LaTeX{}
% could decide to postpone it until it has collected some more floats. This
-% can be done either by making the figure big enough (e.g. by adding some
+% can be done either by making the figure big enough (e.g.\ by adding some
% \cs{vspace}), or by tweaking the \cs{floatpagefraction}
% \CmdIndex{floatpagefraction} parameter.
%
@@ -3054,9 +3065,27 @@
% \cs{input} in headers/footers when \texttt{verbatim} is active.
% (Issue \# 8 \url{https://github.com/pietvo/fancyhdr/issues/8}.)
% \end{itemize}
+% \item Version 4.3, July 17, 2024
+% \begin{itemize}
+% \item Changed \cs{f@nch@everypar}. If the LaTeX kernel has
+% \texttt{expl3}, use \cs{tex\_everypar:D}, and reset \cs{par},
+% \cs{@@par} and \cs{endgraf} to their original \TeX{} definitions, so that
+% no paragraph hooks will intrude in \Package{fancyhdr} code\footnote
+% {See \url{https://tex.stackexchange.com/q/691262/113546}}.
+% Therefore paragraph hooks will not work inside \Package{fancyhdr} headers and
+% footers to avoid unwanted interactions with the main text.
+% \end{itemize}
+% \item % Version 4.3.1, July 23, 2024
+% \begin{itemize}
+% \item Also reset \cs{everypar} to its original \TeX{} value
+% \cs{tex\_everypar:D} in \cs{f@nch@resetpar}, otherwise environments
+% based on \cs{trivlist} will not work properly in \Package{fancyhdr}
+% headers and footers.
+% \end{itemize}
% \end{itemize}
%
%
+%
% \StopEventually{%
% \PrintChanges
% \PrintIndex}
@@ -3648,26 +3677,8 @@
\ProcessOptions*
% \end{macrocode}
%
-% \begin{macro}{\f@nch@errmsg}
-% This macro generates an error message.
-% \changes{fancyhdr v3.10}{2019/01/25}{Use \cs{f@nch@ifundefined} instead of \cs{ifx}.}
-% \changes{fancyhdr v3.10}{2019/01/25}{Use \cs{newcommand} instead of \cs{def}.}
-% \begin{macrocode}
-\newcommand\f@nch@errmsg[1]{%
- \f@nch@ifundefined{PackageError}{\errmessage{#1}}{\PackageError{fancyhdr}{#1}{}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\f@nch@warning}
-% This macro generates a warning.
-% \changes{fancyhdr v3.10}{2019/01/25}{Use \cs{f@nch@ifundefined} instead of \cs{ifx}.}
-% \changes{fancyhdr v3.10}{2019/01/25}{Use \cs{newcommand} instead of \cs{def}.}
-% \begin{macrocode}
-\newcommand\f@nch@warning[1]{%
- \f@nch@ifundefined{PackageWarning}{\errmessage{#1}}{\PackageWarning{fancyhdr}{#1}{}}}
-% \end{macrocode}
-% \end{macro}
-%
+% \changes{fancyhdr v4.3}{2024/05/08}{Removed \cs{f@nch@errmsg} and
+% \cs{f@nch@warning} and used \cs{PackageError} and \cs{PackageWarning} directly.}
% \begin{macro}{\f@nch@forc}
% Usage: \cs{f@nch@forc} \cs{var} \texttt{\{charstring\}\{body\}}.\\
% Execute the body for each character in \texttt{charstring} bound
@@ -3766,7 +3777,7 @@
\if@twoside\else
\iff@nch@twoside\else
\if\f@nch@@eo e%
- \f@nch@warning {\string#1's `E' option without twoside option is useless.\MessageBreak
+ \PackageWarning{fancyhdr} {\string#1's `E' option without twoside option is useless.\MessageBreak
Please consider using the `twoside' option}%
\fi\fi\fi
}
@@ -3791,8 +3802,8 @@
\f@nch@forc\tmpf@ra{#3}%
{\expandafter\f@nch@ifin\tmpf@ra{eolcrhf,EOLCRHF}%
{}{\edef\temp@c{\temp@c\tmpf@ra}}}%
- \ifx\@empty\temp@c\else \f@nch@errmsg{Illegal char `\temp@c' in
- \string#1 argument: [#3]}%
+ \ifx\@empty\temp@c\else \PackageError{fancyhdr}{Illegal char `\temp@c' in
+ \string#1 argument: [#3]}{}%
\fi \f@nch@for\temp@c{#3}%
{\f@nch@default\f@nch@@eo{eo}\temp@c
\f@nch@fancyhf@Echeck{#1}%
@@ -3827,8 +3838,8 @@
\f@nch@forc\tmpf@ra{#3}%
{\expandafter\f@nch@ifin\tmpf@ra{eolrhf,EOLRHF}%
{}{\edef\temp@c{\temp@c\tmpf@ra}}}%
- \ifx\@empty\temp@c\else \f@nch@errmsg{Illegal char `\temp@c' in
- \string#1 argument: [#3]}%
+ \ifx\@empty\temp@c\else \PackageError{fancyhdr}{Illegal char `\temp@c' in
+ \string#1 argument: [#3]}{}%
\fi \f@nch@for\temp@c{#3}%
{\f@nch@default\f@nch@@eo{eo}\temp@c
\f@nch@fancyhf@Echeck{#1}%
@@ -4000,6 +4011,14 @@
% \begin{macro}{\f@nch@raggedright}
% \begin{macro}{\f@nch@centering}
% \begin{macro}{\f@nch@everypar}
+% \changes{fancyhdr v4.3}{2024/07/17}{Changed \cs{f@nch@everypar}. If the
+% LaTeX kernel has expl3, use \cs{tex\_everypar:D}, and reset \cs{par},
+% \cs{@@par} and \cs{endgraf} to their original \TeX{} definitions, so that
+% no paragraph hooks will intrude in \Package{fancyhdr} code.}
+% \changes{fancyhdr v4.3.1}{2024/07/23}{Also reset \cs{everypar} to its
+% original \TeX{} value \cs{tex\_everypar:D} in \cs{f@nch@resetpar},
+% otherwise environments based on \cs{trivlist}
+% will not work properly in \Package{fancyhdr} headers and footers.}
% Save the standard definitions of \cs{raggedleft}, \cs{raggedright},
% \cs{centering} and \cs{everypar} so that we can reset them when we are
% typesetting the headers and footers. Some packages change these to
@@ -4008,7 +4027,23 @@
\let\f@nch@raggedleft\raggedleft
\let\f@nch@raggedright\raggedright
\let\f@nch@centering\centering
-\let\f@nch@everypar\everypar
+\ifdefined\ExplSyntaxOn
+ \ExplSyntaxOn
+ \let\f@nch@everypar\tex_everypar:D
+ \newcommand\f@nch@resetpar{%
+ \f@nch@everypar{}%
+ \cs_set_eq:NN \everypar\tex_everypar:D
+ \cs_set_eq:NN \par \tex_par:D
+ \cs_set_eq:NN \@@par \tex_par:D
+ \cs_set_eq:NN \endgraf \tex_par:D
+ }
+ \ExplSyntaxOff
+\else
+ \let\f@nch@everypar\everypar
+ \newcommand\f@nch@resetpar{%
+ \f@nch@everypar{}%
+ }
+\fi
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -4044,8 +4079,10 @@
% \changes{fancyhdr v4.2}{2024/04/19}{Reset catcodes to their default
% values in order to facilitate \cs{input} in headers/footers when \texttt{verbatim}
% is active. (Issue \# 8 \url{https://github.com/pietvo/fancyhdr/issues/8}.)}
+% \changes{fancyhdr v4.3}{2024/05/08}{Remove pre-NFSS stuff}
+% \changes{fancyhdr v4.3}{2024/07/17}{Replace \cs{f@nch@everypar} by \cs{f@nch@resetpar}.}
% \begin{macrocode}
-\def\f@nch@reset{\f@nch@everypar{}\restorecr\endlinechar=13
+\def\f@nch@reset{\f@nch@resetpar\restorecr\endlinechar=13
\catcode`\\=0\catcode`\{=1\catcode`\}=2\catcode`\$=3\catcode`\&=4
\catcode`\#=6\catcode`\^=7\catcode`\_=8\catcode`\ =10\catcode`\@=11
\catcode`\:=11\catcode`\~=13\catcode`\%=14
@@ -4061,10 +4098,8 @@
\expandafter\def\csname MakeUppercase\space\space\space\endcsname
[####1]####2{####2}%
##1}}%
- \f@nch@ifundefined{@newbaseline} % NFSS not present; 2.09 or 2e
- {\f@nch@ifundefined{@normalsize} {\normalsize} % for ucthesis.cls
- {\@normalsize}}%
- {\@newbaseline}% NFSS (2.09) present
+ \f@nch@ifundefined{@normalsize} {\normalsize} % for ucthesis.cls
+ {\@normalsize}%
}
% \end{macrocode}
% \end{macro}
@@ -4213,7 +4248,7 @@
% \begin{macrocode}
\iff@nch@check
\dimen0=#1\advance\dimen0-\ht0
- \f@nch@warning{%
+ \PackageWarning{fancyhdr}{%
\string#1 is too small (\the#1): \MessageBreak
Make it at least \the\ht0, for example:\MessageBreak
\string\setlength{\string#1}{\the\ht0}%
@@ -4309,7 +4344,7 @@
% \cs{color} command. The \cs{ignorespaces} skips initial spaces in
% the parameter, as is usual in a \cs{parbox}, for backwards compatibility.}
% We put the \cs{footrule} in a \cs{vbox} to accommodate for flexible
-% footrules (e.g. using \cs{hrulefill}), so that the \cs{headwidth} will
+% footrules (e.g.\ using \cs{hrulefill}), so that the \cs{headwidth} will
% be used as the line width. But to preserve the vertical spacing we
% then \cs{unvbox} this box.
%
@@ -4348,7 +4383,7 @@
% \end{macro}
%
% \begin{macro}{\@chapapp}
-% Define \cs{@chapapp} for classes that don't have it, e.g. amsbook
+% Define \cs{@chapapp} for classes that don't have it, e.g.\ amsbook
% \begin{macrocode}
\f@nch@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}%
% \end{macrocode}
@@ -4660,9 +4695,10 @@
% \begin{macro}{\iffootnote}
% These can be used in a header/footer field to make them conditional on
% the presence of floats and/or footnotes.
+% \changes{fancyhdr v4.3}{2024/05/08}{Replace \cs{empty} with \cs{@empty}}
% \begin{macrocode}
-\newcommand\iftopfloat[2]{\ifx\topfloat\empty #2\else #1\fi}%
-\newcommand\ifbotfloat[2]{\ifx\botfloat\empty #2\else #1\fi}%
+\newcommand\iftopfloat[2]{\ifx\topfloat\@empty #2\else #1\fi}%
+\newcommand\ifbotfloat[2]{\ifx\botfloat\@empty #2\else #1\fi}%
\newcommand\iffloatpage[2]{\if@fcolmade #1\else #2\fi}%
\newcommand\iffootnote[2]{\iff@nch@footnote #1\else #2\fi}%
% \end{macrocode}
@@ -4688,10 +4724,10 @@
% \begin{macrocode}
\long\def\f@nch@pagestyle#1[#2]#3{%
\f@nch@ifundefined{ps@#2}{%
- \f@nch@errmsg{\string\fancypagestyle: Unknown base page style `#2'}%
+ \PackageError{fancyhdr}{\string\fancypagestyle: Unknown base page style `#2'}{}%
}{%
\f@nch@ifundefined{f@nch@ps@#2-is-fancyhdr}{%
- \f@nch@errmsg{\string\fancypagestyle: Base page style `#2' is not fancyhdr-based}%
+ \PackageError{fancyhdr}{\string\fancypagestyle: Base page style `#2' is not fancyhdr-based}{}%
}%
{%
\@namedef{ps@#1}{\let\f@nch@gbl\relax\@nameuse{ps@#2}#3\relax}%
diff --git a/macros/latex/contrib/fancyhdr/fancyhdr.pdf b/macros/latex/contrib/fancyhdr/fancyhdr.pdf
index 9f781dad3b..35cc4524ff 100644
--- a/macros/latex/contrib/fancyhdr/fancyhdr.pdf
+++ b/macros/latex/contrib/fancyhdr/fancyhdr.pdf
Binary files differ
diff --git a/macros/latex/contrib/fillwith/MANIFEST.md b/macros/latex/contrib/fillwith/MANIFEST.md
new file mode 100644
index 0000000000..4cfe517238
--- /dev/null
+++ b/macros/latex/contrib/fillwith/MANIFEST.md
@@ -0,0 +1,54 @@
+# Manifest for fillwith
+
+Copyright (C) Fri Aug 9 12:12:59 2024 Clea F. Rees
+
+This work may be distributed and/or modified under the conditions of the LaTeX
+Project Public License, either version 1.3c of this license or (at your option)
+any later version. The latest version of this license is in
+ https://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX version
+2008-05-04 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Clea F. Rees.
+
+This work consists of all files listed in manifest.txt.
+
+This file was automatically generated by `l3build manifest`.
+
+## Source files
+
+
+### Package files
+
+
+* README.md
+* MANIFEST.md
+* fillwith.dtx
+* fillwith.ins
+
+### Development files
+
+
+* build.lua
+* manifest.lua
+* tag.lua
+* fillwith-test.lvt
+* fillwith-test.luatex.tlg
+* fillwith-test.tlg
+* fillwith-test.xetex.tlg
+
+
+## Derived files
+
+
+### Package files
+
+* fillwith.sty
+* fillwith-example.tex
+
+### Typeset documentation
+
+* fillwith.pdf
+* fillwith-example.pdf
diff --git a/macros/latex/contrib/fillwith/README.md b/macros/latex/contrib/fillwith/README.md
new file mode 100644
index 0000000000..f7f1922b89
--- /dev/null
+++ b/macros/latex/contrib/fillwith/README.md
@@ -0,0 +1,32 @@
+$Id: README.md 10215 2024-08-09 11:12:21Z cfrees $
+
+# fillwith
+
+A LaTeX package for filling vertical space with something rather than nothing.
+
+Currently supported somethings are solid rules and dotted lines, with or
+without numbers. The package uses a mixture of plain-ish macros, LaTeX 2e and
+expl3 methods, but a key-value approach to configuration should make the
+document-level interface relatively sane, even if nothing else is.
+
+For details, please see fillwith.pdf. The implementation is minimally
+documented because I have no idea of how to document code.
+
+## Code Repositories
+
+Code is hosted at
+ https://codeberg.org/cfr/fillwith
+For convenience, the repository is mirrored at
+ https://github.com/cfr42/fillwith
+
+## Contact Details
+
+Bug reports, feature requests etc. should be filed at
+ https://codeberg.org/cfr/fillwith/issues
+
+
+Clea F. Rees
+Version 0.3
+2024-08-09
+
+vim: et:tw=80:
diff --git a/macros/latex/contrib/fillwith/fillwith-example.pdf b/macros/latex/contrib/fillwith/fillwith-example.pdf
new file mode 100644
index 0000000000..5af411b5e0
--- /dev/null
+++ b/macros/latex/contrib/fillwith/fillwith-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/fillwith/fillwith.dtx b/macros/latex/contrib/fillwith/fillwith.dtx
new file mode 100644
index 0000000000..c066ac9dad
--- /dev/null
+++ b/macros/latex/contrib/fillwith/fillwith.dtx
@@ -0,0 +1,747 @@
+% \iffalse meta-comment
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% fillwith.dtx
+% Additions and changes Copyright (C) 2024 Clea F. Rees.
+% Code from skeleton.dtx Copyright (C) 2015-2024 Scott Pakin (see below).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008-05-04 or later.
+%
+% This work has the LPPL maintenance status \muaintained'.
+%
+% The Current Maintainer of this work is Clea F. Rees.
+%
+% This work consists of all files listed in manifest.txt.
+%
+% The file fillwith.dtx is a derived work under the terms of the
+% LPPL. It is based on version 2.4 of skeleton.dtx which is part of
+% dtxtut by Scott Pakin. A copy of dtxtut, including the
+% unmodified version of skeleton.dtx is available from
+% https://www.ctan.org/pkg/dtxtut and released under the LPPL.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \fi
+%
+% \iffalse
+%<*driver>
+\RequirePackage{svn-prov}
+\ProvidesFileSVN{$Id: fillwith.dtx 10202 2024-08-08 15:33:47Z cfrees $}[v0.3 \revinfo][\filename: \filebase]
+\DefineFileInfoSVN[fillwith]
+\GetFileInfoSVN*
+% ref. ateb Max Chernoff: https://tex.stackexchange.com/a/723294/
+\def\MakePrivateLetters{\makeatletter\ExplSyntaxOn\endlinechar13}
+\documentclass[british,a4paper]{ltxdoc}
+\usepackage{babel}
+\usepackage[tt={monowidth,lining,tabular},sf={lining,proportional},rm={lining,proportional}]{cfr-lm}
+\usepackage{fillwith}
+\usepackage{parskip}
+\usepackage{verbatim}
+\usepackage{graphicx}
+\usepackage{xurl}
+% sicrhau hyperindex=false: llwytho CYN bookmark
+\usepackage{hypdoc}% ateb Ulrike Fischer: https://tex.stackexchange.com/a/695555/
+\usepackage{bookmark}
+\usepackage{cleveref}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+%^^A \OnlyDescription
+%^^A \ExplSyntaxOn
+%^^A \makeatletter
+\DoNotIndex{\verb,\ProvidesPackageSVN,\NeedsTeXFormat,\ProcessKeyOptions,\ExplSyntaxOn,\ExplSyntaxOff,\RequirePackage,\NeedsTeXFormat,\DefineFileInfoSVN,\GetInfoSVN,\@ifundefined,\@ifl@t@r\ExplLoaderFileDate,\endinput,\PackageError,\PackageWarning,\PackageInfo,\keys_define:nn,\keys_set:nn,\ProcessKeysOptionns,\author,\title,\maketitle,\date,\revinfo,\ProcessKeysOptions,\MessageBreak,\fmtversion,\documentclass,\ExplLoaderFileDate,\filebase,\fileversion,\fileinfo,\filebase:,\filedate,\documentclass,\@ifl@t@r,\begin,\end,\item,\IfFormatAtLeastTF}
+%^^A \makeatother
+%^^A \ExplSyntaxOff
+\definecolor{strawberry}{rgb}{1.000,0.000,0.502}
+\definecolor{blueberry}{rgb}{0.000,0.000,1.000}
+\definecolor{moss}{rgb}{0.000,0.502,0.251}
+\hypersetup{%
+ colorlinks=true,
+ citecolor={moss},
+ extension=pdf,
+ linkcolor={strawberry},
+ linktocpage=true,
+ pdfcreator={TeX},
+ pdfproducer={pdfeTeX},
+ urlcolor={blueberry}%
+}
+\NewDocElement[%
+ idxtype=opt.,
+ idxgroup=options,
+ printtype=\textit{opt.},
+]{Opt}{option}
+\NewDocumentCommand \val { m }
+{%
+ {\ttfamily =\,\meta{#1}}%
+}
+\ExplSyntaxOn
+\NewDocumentCommand \vals { m }
+{
+ {
+ \ttfamily = \,
+ \clist_use:nn { #1 } { \textbar }
+ }
+}
+\ExplSyntaxOff
+\setcounter{IndexColumns}{2}
+\makeatletter
+\def\@xobeysp{\leavevmode\penalty100\ }
+\makeatother
+\begin{document}
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+% \title{\filebase{} \filerev}
+% \author{Clea F. Rees}
+% \date{\filedate}
+% \maketitle
+% \begin{abstract}
+% A small package originally based on \href{https://tex.stackexchange.com/a/241139/}{Harish Kumar's answer} to a question I asked on \TeX{} SE\footnote{%
+% See \href{https://tex.stackexchange.com/a/241139/}{tex.stackexchange.com/a/241139/}.%
+% }.
+% The intended purpose was the creation of worksheets for students where I would like \LaTeX{} to use the available vertical space to provide lined areas for answers.
+% Since then, the code has been (partially) rewritten in \pkg{expl3} and extended in response to both my own needs and others' questions on \TeX{} SE.
+% The package aims to do one thing: to fill a vertical space in the same way as, say, \verb|\vfill|, but with some kind of ‘filler’ rather than empty space.
+% Currently, the package supports solid rules or dotted lines.
+% The remainder of the current line may optionally be filled in the same way and the ‘filler’ may be coloured if desired.
+%
+% Lines may optionally be numbered, though the numbered versions should not be used to fill long stretches as they are extremely inefficient.
+% \textbf{Numbered fills are highly experimental and not recommended for use in ‘real’ documents.}
+% That is, it seems to work, but I recommend using an alternative package or solution if you need a reliable numbering mechanism.
+% \end{abstract}
+%
+% \section{Load}\label{sec:pkg}
+% To use the package simply load it in your preamble in the usual way.
+%
+% \iffalse
+%<*verb>
+% \fi
+\begin{verbatim}
+ \usepackage[<options>]{fillwith}
+\end{verbatim}
+% \iffalse
+%</verb>
+% \fi
+%
+% A small number of options may be specified when loading the package.
+% See \cref{sec:config}.
+%
+% We start with an example in \cref{sec:ee}.
+% \Cref{sec:use} describes the basic commands illustrated in this example.
+% \Cref{sec:config} explains the options used by these commands, together with other customisation features of \pkg{fillwith}.
+%
+% \section{Example}\label{sec:ee}
+%
+% The code below illustrates most package features.
+%
+% \Cref{fig:ee1} demonstrates filling with rules.
+% Note the effect of altering \texttt{fillwith ht} on line-spacing.
+% \begin{figure}
+% \centering
+% \fbox{\includegraphics{fillwith-example.pdf}}
+% \caption{Filling with rules.}\label{fig:ee1}
+% \end{figure}
+%
+% \Cref{fig:ee2} shows dotted fillings.
+% Note the use of \cmd{\fillwithset} to alter the colour.
+% \begin{figure}
+% \centering
+% \fbox{\includegraphics[page=2]{fillwith-example.pdf}}
+% \caption{Filling with dotted lines.}\label{fig:ee2}
+% \end{figure}
+%
+% \Cref{fig:ee3} shows numbered fillings.
+% Note the use of \texttt{goal ht} to divide the available vertical space more-or-less equally.
+% \begin{figure}
+% \centering
+% \fbox{\includegraphics[page=3]{fillwith-example.pdf}}
+% \caption{Filling with numbered lines.}\label{fig:ee3}
+% \end{figure}
+%
+% \verbatiminput{fillwith-example.tex}
+%
+% \section{Usage}\label{sec:use}
+%
+% \DescribeMacro{\fillwith}\oarg{options}
+% \DescribeMacro{\fillwith*}
+%
+% Fill vertically with current settings, optionally modified by \meta{options}.
+% See \cref{sec:config} for \meta{options}.
+% If used in the middle of a line, the starred form fills to the end of the line first, whereas the unstarred form does not.
+%
+% \DescribeMacro{\fillwithrules}\oarg{line-spacing}
+% \DescribeMacro{\fillwithrules*}
+%
+% Convenience wrappers which just set \texttt{style = rules} and set the line-spacing to \meta{line-spacing}.
+% These macros do nothing which cannot be done using \cmd{\fillwith} and \cmd{\fillwith*}.
+%
+% \DescribeMacro{\fillwithdottedlines}\oarg{line-spacing}
+% \DescribeMacro{\fillwithdottedlines*}
+%
+% Convenience wrappers which just set \texttt{style = dots} and set the line-spacing to \meta{line-spacing}.
+% These macros do nothing which cannot be done using \cmd{\fillwith} and \cmd{\fillwith*}.
+%
+% \DescribeMacro{\fillwithnolines}\oarg{options}
+% \DescribeMacro{\fillwithnolines*}
+%
+% Fill vertically with current settings, numbering each complete line, after optionally setting \meta{options}.
+% Numbering \textbf{requires} use of these commands, as opposed to the generic \cmd{\fillwith}/\cmd{\fillwith*}.
+%
+% \section{Customisation}\label{sec:config}
+%
+% Options can be set per use, locally or globally.
+% A small number of options are implemented as package options (\cref{sec:pkg}).
+%
+% \DescribeMacro{\fillwithset}\marg{options}
+% Set local or global defaults.
+%
+% \DescribeOpt{colour}\val{colour name}
+% \DescribeOpt{color}
+% \DescribeOpt{lliw}
+%
+% Colour to be used for (solid) rules.
+%
+% Initially \texttt{gray}.
+% Available as a package option.
+%
+% \DescribeOpt{dotted color}\val{colour name}
+% \DescribeOpt{dotted colour}
+%
+% Colour to be used for dotted lines.
+%
+% Initially \texttt{black}.
+% Available as a package option.
+%
+% \DescribeOpt{cont}\vals{true,false}
+%
+% Whether to fill the remainder of any current line.
+% Generally, users will probably prefer to use the starred command forms for local usage, but this option permits modification of the package default on a local or global basis.
+%
+% Initially \texttt{false}.
+% Default is \texttt{true}.
+%
+% \DescribeOpt{fillwith~ht}\val{real positive number expressed as decimal}
+%
+% Multiplication factor for line-spacing.
+% Typically, hand-written content requires greater spacing than typewritten content.
+% This option scales the standard line-spacing.
+%
+% Initially \texttt{2}, which is also the default value.
+% Decimal values such as \texttt{1.5} are permitted.
+%
+% \DescribeOpt{goal ~ ht}\val{dimension}
+%
+% Used only by \cmd{\fillwithnolines} and \cmd{\fillwithnolines*}.
+% Sets the target dimension to fill with numbered lines.
+% If unspecified, the code tries to fill the remaining vertical space on the current page.
+% If more than one use of a \pkg{fillwith} macro is used on a single page, this option \textbf{must} be used for numbered fills to prevent a single instance taking (almost) all available space.
+% In contrast, multiple unnumbered fills can coexist on the same page without issue --- the available space will simply be divided equally between them.
+%
+% Initially unset.
+% No default.
+%
+% \DescribeOpt{no ~ font}\val{font switches}
+%
+% Font switches to apply when typesetting numbers for numbered fills.
+%
+% Initially \cmd{\normalfont}\cmd{\normalsize}, which is also the default value.
+% Note the commands used here should be switches rather than text commands -- for example, use \cmd{\bfseries} rather than \cmd{\textbf} --- since the commands should not expect an argument.
+%
+% \DescribeOpt{style}\vals{rule,dots,line,lines,rules}
+%
+% Style of fill.
+% \texttt{rule}, \texttt{line}, \texttt{rules} and \texttt{lines} are synonyms which all denote solid rules or lines.
+% \texttt{dots} uses dotted lines rather than solid rules.
+% The dots are slightly more densely packed than the standard used for dotted fills by the standard classes, as these seem a bit too widely spaced to provide ideal guidelines.
+%
+% Initially \texttt{dots}, which is also the default value.
+%
+% If an unknown value is used, the code will attempt to use two macros derived from that value.
+% The first is constructed simply by preceding \meta{value} with a backslash and the second by also appending \texttt{part}.
+% For example, if \texttt{style}\val{mystyle} is used, the code will try to use \cs{mystyle} and \cs{mystylepart} for complete and partial lines.
+% In theory, this supports filling with somewhat arbitrary content, but the implementation is untested and \textbf{should not be used in real documents}.
+%
+%
+% \changes{v0.0}{???}{First public release.}
+% \changes{\fileversion}{\filedate}{}
+%
+%
+% \MaybeStop{%
+% \PrintChanges
+% \PrintIndex
+% }
+%
+% \section{Implementation}
+%
+% You do not need to read the remainder of this document in order to install or use the package.
+%
+% \iffalse
+%<@@=fillwith>
+%<*sty>
+% \fi
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[2021-11-15]
+\RequirePackage{svn-prov}
+\ProvidesPackageSVN[\filebase.sty]{$Id: fillwith.dtx 10202 2024-08-08 15:33:47Z cfrees $}[v0.0 \revinfo][\filebase: fill vertically with non-space]
+% this is needed only because l3doc overwrites \fileversion and \filedate
+% neither ltxdoc nor doc does this
+\DefineFileInfoSVN
+% \end{macrocode}
+% \iffalse
+% ^^A Paid â defnyddio \GetFileInfoSVN*/\GetFileInfoSVN{} yn y fan hon!!
+% \fi
+% \begin{macrocode}
+\RequirePackage{xcolor}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% copied verbatim, excepting format from Joseph Wright's' siunitx.sty under LPPL
+\@ifundefined{ExplLoaderFileDate}{%
+ \RequirePackage{expl3}%
+}{}
+% almost verbatim from siunitx.sty
+\@ifl@t@r\ExplLoaderFileDate{2022-02-24}{%
+}{%
+ \PackageError{fillwith}{Support package expl3 too old}
+ {%
+ You need to update your installation of the bundles 'l3kernel' and
+ 'l3packages'.\MessageBreak
+ Loading~fillwith~will~abort!%
+ }%
+ \endinput
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ExplSyntaxOn
+\prop_gput:Nnn \g_msg_module_name_prop { fillwith } { fillwith }
+
+% BEGIN Expl pkg option setup
+
+\keys_define:nn { fillwith }
+{
+ color .meta:n = {
+ colour = #1,
+ },
+ colour .code:n = {
+ \colorlet{fillwithcolour}{#1}
+ },
+ dotted ~ color .meta:n = {
+ dotted colour = #1,
+ },
+ dotted color .meta:n = {
+ dotted colour = #1,
+ },
+ dotted ~ colour .meta:n = {
+ dotted colour = #1,
+ },
+ dotted colour .code:n = {
+ \colorlet{fillwithdottedcolour}{#1}
+ },
+ lliw .meta:n = {
+ colour = #1,
+ },
+ colour .initial:n = gray,
+ dotted colour .initial:n = black,
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Joseph Wright: from siunitx.sty ; https://chat.stackexchange.com/transcript/message/64327823#64327823
+\providecommand \IfFormatAtLeastTF { \@ifl@t@r \fmtversion }
+\IfFormatAtLeastTF { 2022-06-01 }
+{
+ \ProcessKeyOptions [ fillwith ]
+}{
+ \RequirePackage { l3keys2e }
+ \ProcessKeysOptions { fillwith }
+}
+\IfFormatAtLeastTF { 2020-10-01 }{
+}{
+ \RequirePackage { xparse }
+ \providecommand \ExpandArgs [1]
+ { \cs_if_exist_use:c { exp_args:N #1 } }
+}
+% END Expl pkg option setup
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% BEGIN vars
+\box_new:N \l__fillwith_adj_rule_box
+\box_new:N \l__fillwith_part_rule_box
+\box_new:N \l__fillwith_tmpa_box
+\box_new:N \l__fillwith_tmpb_box
+% BEGIN coffins
+\coffin_new:N \l__fillwith_line_coffin
+\coffin_new:N \l__fillwith_lines_coffin
+\coffin_new:N \l__fillwith_part_coffin
+\coffin_new:N \l__fillwith_tmpa_coffin
+% END coffins
+% BEGIN dims
+\dim_new:N \l__fillwith_ht_dim
+\dim_new:N \l__fillwith_dp_dim
+\dim_new:N \l__fillwith_rem_dim
+\dim_new:N \l__fillwith_line_ht_dim
+\dim_new:N \l__fillwith_line_adj_hsize_dim
+\dim_set:Nn \l__fillwith_line_ht_dim { 0.4pt }
+\dim_new:N \l__fillwith_line_madj_dim
+\dim_new:N \l__fillwith_line_vadj_dim
+\dim_set_eq:NN \l__fillwith_line_vadj_dim \c_zero_dim
+\dim_new:N \l__fillwith_goal_dim
+\dim_new:N \l__fillwith_tmpa_dim
+% END dims
+\int_new:N \g__fillwith_cnt_int
+% END vars
+% BEGIN fns
+\cs_new_protected_nopar:Nn \__fillwith_style: {}
+\cs_new_protected_nopar:Nn \__fillwith_coffin_tht:N
+{
+ \dim_eval:n { \coffin_ht:N #1 + \coffin_dp:N #1 }
+}
+% BEGIN \__fillwith_hrulefill:
+\cs_new_protected_nopar:Npn \__fillwith_hrulefill_part:
+{
+ \vrule height \c_zero_dim depth \l__fillwith_line_ht_dim width 0.1pt
+}
+\cs_new_protected_nopar:Npn \__fillwith_hrulefill:
+{
+ \vrule height \c_zero_dim depth \l__fillwith_line_ht_dim width \l__fillwith_line_adj_hsize_dim
+}
+% END \__fillwith_hrulefill:
+% BEGIN \__fillwith_dottedfill:
+\cs_new_protected_nopar:Npn \__fillwith_dottedfill_part:
+{
+ \hbox to 0.33em {\hss .\hss}
+}
+\cs_new_protected_nopar:Npn \__fillwith_dottedfill:
+{
+ \leaders \hbox to 0.33em {\hss .\hss} \hfill \kern \c_zero_dim
+}
+% END \__fillwith_dottedfill:
+% END fns
+% \end{macrocode}
+% \begin{macro}{\fillwithset}
+% Wrapper command for configuration.
+% Most global or local customisation will use this as most keys are not valid package options.
+% \begin{macrocode}
+\NewDocumentCommand\fillwithset { +m }{
+ \keys_set:nn { fillwith } { #1 }
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+% BEGIN keys (+)
+\keys_define:nn { fillwith }
+{
+ cont .bool_set:N = \l__fillwith_cont_bool,
+ cont .default:n = true,
+ cont .initial:n = false,
+ fillwith~ht .tl_set:N = \l__fillwith_ht_tl,
+ fillwith~ht .initial:n = 2,
+ fillwith~ht .default:n = 2,
+ goal ~ ht .dim_set:N = \l__fillwith_goal_dim,
+ line nos .bool_set:N = \l__fillwith_nos_bool,
+ line ~ nos .bool_set:N = \l__fillwith_nos_bool,
+ line ~ nos .default:n = true,
+ line ~ nos .initial:n = false,
+ no ~ font .tl_set:N = \l__fillwith_no_font_tl,
+ no ~ font .initial:n = { \normalfont\normalsize },
+ no ~ font .default:n = { \normalfont\normalsize },
+ style .choices:nn =
+ {
+ rule, dots , line , lines , rules , unknown
+ }{
+ \if_case:w \l_keys_choice_int
+ \or: \cs_set_eq:NN \__fillwith_style: \__fillwith_hrulefill:
+ \or: \cs_set_eq:NN \__fillwith_style: \__fillwith_dottedfill:
+ \or: \cs_set_eq:NN \__fillwith_style: \__fillwith_hrulefill:
+ \or: \cs_set_eq:NN \__fillwith_style: \__fillwith_hrulefill:
+ \or: \cs_set_eq:NN \__fillwith_style: \__fillwith_hrulefill:
+ \else: \cs_set_protected_nopar:Nn \__fillwith_style: { \use:c { \l_keys_choice_tl } }
+ \fi:
+ \if_case:w \l_keys_choice_int
+ \or: \cs_set_eq:NN \__fillwith_style_part: \__fillwith_hrulefill_part:
+ \or: \cs_set_eq:NN \__fillwith_style_part: \__fillwith_dottedfill_part:
+ \or: \cs_set_eq:NN \__fillwith_style_part: \__fillwith_hrulefill_part:
+ \or: \cs_set_eq:NN \__fillwith_style_part: \__fillwith_hrulefill_part:
+ \or: \cs_set_eq:NN \__fillwith_style_part: \__fillwith_hrulefill_part:
+ \else: \cs_set_protected_nopar:Nn \__fillwith_style_part: { \use:c { \l_keys_choice_tl part } }
+ \fi:
+ },
+ style .default:n = dots,
+ style .initial:n = dots,
+}
+% END keys (+)
+%
+% BEGIN \__fillwith_fill:
+% ref: https://tex.stackexchange.com/a/241139/ Harish Kumar
+\cs_new_protected_nopar:Nn \__fillwith_fill:
+{
+ \__fillwith_measures:
+ \dim_set:Nn \l__fillwith_line_adj_hsize_dim { \hsize - \@totalleftmargin }
+ \vbox_set:Nn \l__fillwith_adj_rule_box
+ {
+ \parindent=0pt
+ \vrule height \l__fillwith_ht_dim depth \l__fillwith_dp_dim width \c_zero_dim
+ \skip_horizontal:n { \@totalleftmargin }
+ \__fillwith_style:
+ }
+ \if_mode_horizontal:
+ \bool_if:NT \l__fillwith_cont_bool
+ {
+ \leaders \box_use:N \l__fillwith_part_rule_box \hfill \kern \c_zero_dim
+ }{
+ \vrule height \l__fillwith_ht_dim depth \l__fillwith_dp_dim width \c_zero_dim
+ }
+ %^^A gweithio ond erbyn y rheolau
+ %^^A byddai'n achosi draferth, siwr o fod
+ % \tex_par:D
+ %^^A yn lle hynny, ceisio hyn - oes perygl hefyd?
+ \para_raw_end:
+ \else:
+ \unskip
+ \skip_vertical:n { \l__fillwith_dp_dim }
+ \fi:
+ \xleaders \box_use:N \l__fillwith_adj_rule_box \vfill
+ \para_end:
+ \normalcolor
+}
+% END \__fillwith_fill:
+% BEGIN \__fillwith_measures:
+\cs_new_protected_nopar:Nn \__fillwith_measures:
+{
+ \color{fillwithcolour}
+ \offinterlineskip
+ \hbox_set:Nn \l__fillwith_part_rule_box
+ {
+ \strut
+ \__fillwith_style_part:
+ \kern \c_zero_dim
+ }
+ \dim_set:Nn \l__fillwith_tmpa_dim { \box_ht:N \l__fillwith_part_rule_box }
+ \dim_set:Nn \l__fillwith_ht_dim { \l__fillwith_ht_tl \l__fillwith_tmpa_dim }
+ \box_set_ht:Nn \l__fillwith_part_rule_box { \l__fillwith_ht_dim }
+ \dim_set:Nn \l__fillwith_tmpa_dim { \box_dp:N \l__fillwith_part_rule_box }
+ % neu \fp_to_dim:n { \l__fillwith_ht_tl * \l__fillwith_tmpa_dim } ??
+ \dim_set:Nn \l__fillwith_dp_dim { \l__fillwith_ht_tl \l__fillwith_tmpa_dim }
+ \box_set_dp:Nn \l__fillwith_part_rule_box { \l__fillwith_dp_dim }
+}
+% END \__fillwith_measures:
+% BEGIN fillwith
+% \end{macrocode}
+% \begin{macro}{\fillwith}
+% The package is basically this macro.
+% \begin{macrocode}
+\NewDocumentCommand \fillwith { s o }
+{
+ \group_begin:
+ \IfValueT { #2 }
+ {
+ \keys_set:nn { fillwith } { #2 }
+ }
+ \IfBooleanTF { #1 }
+ {
+ \bool_set_true:N \l__fillwith_cont_bool
+ }{
+ \bool_set_false:N \l__fillwith_cont_bool
+ }
+ \__fillwith_fill:
+ \group_end:
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+% END fillwith
+% BEGIN fillwithrules
+% \end{macrocode}
+% \begin{macro}{\fillwithrules}
+% Simple convenience wrapper with simplified syntax for (solid) rules.
+% \begin{macrocode}
+\NewDocumentCommand \fillwithrules { s O { 2 } }
+{
+ \group_begin:
+ \IfBooleanTF { #1 }
+ {
+ \bool_set_true:N \l__fillwith_cont_bool
+ }{
+ \bool_set_false:N \l__fillwith_cont_bool
+ }
+ \keys_set:nn { fillwith } { style = rules, fillwith~ht=#2 }
+ \__fillwith_fill:
+ \group_end:
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+% END fillwithrules
+% BEGIN fillwithdottedlines
+% \end{macrocode}
+% \begin{macro}{\fillwithdottedlines}
+% Simple convenience wrapper with simplified syntax for dotted lines.
+% \begin{macrocode}
+\NewDocumentCommand \fillwithdottedlines { s O { 2 } }
+{
+ \group_begin:
+ \IfBooleanTF { #1 }
+ {
+ \bool_set_true:N \l__fillwith_cont_bool
+ }{
+ \bool_set_false:N \l__fillwith_cont_bool
+ }
+ \colorlet{fillwithcolour}{fillwithdottedcolour}
+ \keys_set:nn { fillwith } { style = dots, fillwith~ht=#2 }
+ \__fillwith_fill:
+ \group_end:
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+% END fillwithdottedlines
+% BEGIN fillwithnolines
+\cs_new_protected:Nn \__fillwith_nos: % rhybudd: ARAF ! SLOW!
+{
+ \parindent=0pt
+ \__fillwith_measures:
+ \dim_set_eq:NN \l__fillwith_line_adj_hsize_dim \linewidth
+ \vcoffin_set:Nnn \l__fillwith_line_coffin { \l__fillwith_line_adj_hsize_dim }
+ {
+ \parindent=0pt
+ \vrule height \l__fillwith_ht_dim depth \l__fillwith_dp_dim width \c_zero_dim
+ \skip_horizontal:n \c_zero_skip
+ \__fillwith_style:
+ }
+ \coffin_set_eq:NN \l__fillwith_lines_coffin \l__fillwith_line_coffin
+ \if_mode_horizontal:
+ \bool_if:NTF \l__fillwith_cont_bool
+ {
+ \leaders \box_use:N \l__fillwith_part_rule_box \hfill \kern \c_zero_dim
+ \int_gincr:N \g__fillwith_cnt_int
+ % \vcoffin_set:Nnn \l__fillwith_tmpa_coffin { 1.5em}
+ % {
+ % \l__fillwith_no_font_tl \int_to_arabic:n { \g__fillwith_cnt_int }
+ % }
+ % \coffin_mark_handle:Nnnn \l__fillwith_tmpa_coffin {B} {l} { red }
+ % \coffin_mark_handle:Nnnn \l__fillwith_tmpa_coffin {b} {l} { green }
+ % \coffin_attach:NnnNnnnn \l__fillwith_lines_coffin {B} {r} \l__fillwith_tmpa_coffin {B} {l} {2.5pt} { \l__fillwith_ht_dim + \l__fillwith_dp_dim }
+ % \coffin_mark_handle:Nnnn \l__fillwith_lines_coffin {T} {r} { blue }
+ % \coffin_mark_handle:Nnnn \l__fillwith_lines_coffin {t} {r} { magenta }
+ \dim_set:Nn \l__fillwith_line_vadj_dim { \l__fillwith_dp_dim }
+ }{
+ \vrule height \l__fillwith_ht_dim depth \l__fillwith_dp_dim width \c_zero_dim
+ }
+ \dim_set:Nn \l__fillwith_line_madj_dim { \@totalleftmargin }
+ \para_raw_end:
+ \else:
+ \dim_set_eq:NN \l__fillwith_line_madj_dim \c_zero_dim
+ \unskip
+ \skip_vertical:n { \l__fillwith_dp_dim }
+ \fi:
+ \int_gincr:N \g__fillwith_cnt_int
+ \vcoffin_set:Nnn \l__fillwith_tmpa_coffin { 1.5em}
+ {
+ \l__fillwith_no_font_tl \int_to_arabic:n { \g__fillwith_cnt_int }
+ }
+ \coffin_attach:NnnNnnnn \l__fillwith_lines_coffin {B} {r} \l__fillwith_tmpa_coffin {B} {l} {2.5pt} {\c_zero_dim}
+ \dim_set:Nn \l__fillwith_rem_dim
+ {
+ \l__fillwith_goal_dim -\footskip - \pagetotal
+ }
+ \dim_until_do:nNnn { \__fillwith_coffin_tht:N \l__fillwith_lines_coffin } > { \l__fillwith_rem_dim - \l__fillwith_ht_dim - \l__fillwith_dp_dim }
+ {
+ \coffin_join:NnnNnnnn \l__fillwith_lines_coffin { b } { l } \l__fillwith_line_coffin { t } { l } { \c_zero_dim } { \c_zero_dim }
+ \int_gincr:N \g__fillwith_cnt_int
+ \vcoffin_set:Nnn \l__fillwith_tmpa_coffin {1.5em}
+ {
+ \l__fillwith_no_font_tl \int_to_arabic:n { \g__fillwith_cnt_int }
+ }
+ \coffin_attach:NnnNnnnn \l__fillwith_lines_coffin {B} {r} \l__fillwith_tmpa_coffin {B} {l} {2.5pt} {\c_zero_dim}
+ }
+ \coffin_typeset:Nnnnn \l__fillwith_lines_coffin { B } { l } { \l__fillwith_line_madj_dim } { \l__fillwith_line_vadj_dim }
+ \para_end:
+ \normalcolor
+}
+% \end{macrocode}
+% \begin{macro}{\fillwithnolines}
+% Provisional experimental macro for numbered fill.
+% \begin{macrocode}
+\NewDocumentCommand \fillwithnolines { s O { } }
+{
+ \group_begin:
+ \IfBooleanTF { #1 }
+ {
+ \bool_set_true:N \l__fillwith_cont_bool
+ }{
+ \bool_set_false:N \l__fillwith_cont_bool
+ }
+ \keys_set:nn { fillwith } { goal ~ ht = \pagegoal, #2 }
+ \__fillwith_nos:
+ \group_end:
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+% END fillwithnolines
+\ExplSyntaxOff
+% \end{macrocode}
+% \iffalse
+%</sty>
+% \fi
+%
+% \subsection{Demonstration}
+%
+% Simple example to demonstrate usage.
+%
+% \iffalse
+%<*ee>
+% \fi
+% \begin{macrocode}
+\listfiles
+\documentclass[british,a6paper]{article}
+\usepackage{babel}
+\usepackage[scale=.85,marginparwidth=0pt,marginparsep=0pt]{geometry}
+\usepackage{fillwith}
+\usepackage{cfr-lm}
+\begin{document}
+\author{A. N. Author}
+\title{\texttt{fillwith} Demo}
+\maketitle
+\begin{enumerate}
+ \item What is the answer to the question?
+ \fillwithrules
+ \item How did you answer the previous question?
+ \fillwith*[style=line]
+ \item Why answer?
+
+ \fillwith*[style=rule,fillwith ht=1.25,colour=blue!40!cyan]
+ \clearpage
+ \item Evaluate your responses so far.
+ \fillwithdottedlines
+ \item Evaluate your responses so far.
+
+ {%
+ \fillwithset{dotted colour=magenta}%
+ \fillwithdottedlines[1.5]
+ }
+ \item Criticise your evaluation.
+ \fillwithdottedlines*
+ \clearpage
+ \item Assess your answers.
+ \fillwithnolines[goal ht = .33\textheight]
+ \item Assess your answers.
+
+ \fillwithnolines[style=rules,no font=\bfseries\tiny,colour=green!50!gray,goal ht = .67\textheight]
+ \item Summarise your analysis.
+ \fillwithnolines*
+\end{enumerate}
+
+\end{document}
+% \end{macrocode}
+% \iffalse
+%</ee>
+% \fi
+% \subsection{Other}
+% \iffalse
+%<*other>
+% \fi
+% \begin{macrocode}
+% \end{macrocode}
+% \iffalse
+%</other>
+% \fi
+%\Finale
diff --git a/macros/latex/contrib/fillwith/fillwith.ins b/macros/latex/contrib/fillwith/fillwith.ins
new file mode 100644
index 0000000000..2f7f4c576c
--- /dev/null
+++ b/macros/latex/contrib/fillwith/fillwith.ins
@@ -0,0 +1,68 @@
+%% $Id: fillwith.ins 10202 2024-08-08 15:33:47Z cfrees $
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% fillwith.ins
+%% Additions and changes Copyright (C) 2024 Clea F. Rees.
+%% Code from skeleton.ins Copyright (C) 2015-2024 Scott Pakin (see below).
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008-05-04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Clea F. Rees.
+%%
+%% This work consists of all files listed in manifest.txt.
+%%
+%% The file fillwith.ins is a derived work under the terms of the
+%% LPPL. It is based on version 2.4 of skeleton.ins which is part of
+%% dtxtut by Scott Pakin. A copy of dtxtut, including the
+%% unmodified version of skeleton.ins is available from
+%% https://www.ctan.org/pkg/dtxtut and released under the LPPL.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\input docstrip.tex
+\keepsilent
+
+%% ???
+\usedir{tex/latex/fillwith}
+
+\declarepreamble\safonol
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Copyright (C) 2024 Clea F. Rees.
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3c
+of this license or (at your option) any later version.
+The latest version of this license is in
+ https://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008-05-04 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Clea F. Rees.
+
+This file may only be distributed together with a copy of the package
+fillwith. You may however distribute the package fillwith without
+such generated files.
+
+This work consists of all files listed in manifest.txt.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\endpreamble
+
+% \askonceonly
+\askforoverwritefalse
+
+\usepreamble\safonol
+
+\generate{\file{fillwith.sty}{\from{fillwith.dtx}{sty}}
+ \file{fillwith-example.tex}{\from{fillwith.dtx}{ee}}
+}
+
+
+\endbatchfile
diff --git a/macros/latex/contrib/fillwith/fillwith.pdf b/macros/latex/contrib/fillwith/fillwith.pdf
new file mode 100644
index 0000000000..77fa2ccc00
--- /dev/null
+++ b/macros/latex/contrib/fillwith/fillwith.pdf
Binary files differ
diff --git a/macros/latex/contrib/fontscale/CHANGELOG.md b/macros/latex/contrib/fontscale/CHANGELOG.md
index 9706fbbe09..46a32e8fc9 100644
--- a/macros/latex/contrib/fontscale/CHANGELOG.md
+++ b/macros/latex/contrib/fontscale/CHANGELOG.md
@@ -7,6 +7,58 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v2.1.0] - 2024-08-12
+
+### Changed
+- Documentation improvements.
+
+### Added
+- `\CurrentFontSizeCommand`
+
+## [v2.0.0] - 2024-08-02
+
+### Changed
+- This update includes many changes that are backwards incompatible.
+- The documentation has been completely rewritten.
+- Package description changed from "A user interface for setting document font
+ sizes" to "A flexible interface for setting font sizes".
+- The code no longer uses `\@setfontsize`.
+- The font size commands provided by this package now do nothing, except issue
+ a warning, if used in math mode.
+- The base font size of the musical typographic scale is now set by the new key
+ `musical/base`.
+- `\PrintFontParameters` renamed to `\PrintFontSizeParameters`.
+- `\PrintAllFontParameters` renamed to `\PrintAllFontSizeParameters`.
+- `\PrintSampleText` uses a `+m`- instead of an `O`-type argument.
+- `\PrintFontSizeCommand` prints `\undefined` instead of `UNDEFINED`.
+- `\fontscalesetup` is now removed in `\text_purify:n`.
+
+### Removed
+- Keys `typographic-scale=modular` and `modular`.
+- Key `ignore-order` (no support for using `\tiny` to `\Huge` in the wrong
+ order).
+- Key `reset` (very rarely used).
+- Public `prop` variables for each font size command from `\tiny` to `\Huge`.
+ (They are redundant with the other public variables and programmers will very
+ likely prefer using their own `prop` variables.)
+
+### Added
+- `\fontscalesetup` now has an optional starred argument which first resets the
+ keys to their initial values.
+- Key `musical/base` (explained earlier).
+- The package commands now issue a user-friendly error message if the font size
+ is a zero or negative length.
+- The package commands now issue an error if the font baselineskip is less than
+ the font size.
+- The package commands that would produce a low-level error if used in math
+ mode now issue a user-friendly error message instead.
+
+### Fixed
+- Now correctly checks that the package requires `LaTeX2e` version 2023-11-01
+ or newer.
+- The keys `<font size command>` no longer incorrectly treat a `/` within a
+ brace group as the delimiter.
+
## [v1.3.0] - 2024-05-17
### Added
@@ -18,7 +70,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Changed
- The code now regularly uses `V`- and `v`-type arguments to get the value of a
variable.
-- The code now uses private `expl3` wrappers around the LaTeX2e commands
+- The code now uses private `expl3` wrappers around the `LaTeX2e` commands
`\@setfontsize`, `\fontsize`, and `\selectfont`.
## [v1.2.2] - 2024-04-29
diff --git a/macros/latex/contrib/fontscale/README.txt b/macros/latex/contrib/fontscale/README.txt
index 292cfada9b..d6c9224ee0 100644
--- a/macros/latex/contrib/fontscale/README.txt
+++ b/macros/latex/contrib/fontscale/README.txt
@@ -1,4 +1,4 @@
-Package: fontscale -- A user interface for setting document font sizes
+Package: fontscale -- A flexible interface for setting font sizes
Copyright: 2024 (c) Oliver Beery <beeryoliver@gmail.com>
CTAN: https://ctan.org/pkg/fontscale
Repository: https://github.com/beeryoliver/fontscale
diff --git a/macros/latex/contrib/fontscale/beery.cls b/macros/latex/contrib/fontscale/beery.cls
index 4777c06a8e..f2fd7fd2c5 100644
--- a/macros/latex/contrib/fontscale/beery.cls
+++ b/macros/latex/contrib/fontscale/beery.cls
@@ -1,71 +1,84 @@
-% Note: This documentclass is designed ONLY for the document 'fontscale-manual'. Compiled using LuaLaTeX.
+% Note: This class is designed ONLY for 'fontscale.tex'. Compiled with LuaTeX.
-% The 2023-06-01 LaTeX kernel update added the 'shipout' hook.
-\NeedsTeXFormat{LaTeX2e}[2023-06-01]
+% LaTeX2e version 2023-11-01 added \IfExplAtLeastTF.
+\NeedsTeXFormat{LaTeX2e}[2023-11-01]
\ProvidesExplClass
{beery}
- {2024-04-21}
+ {2024-08-12}
{}
{}
-\RequirePackage { fix-cm }
\LoadClass { article }
+
+\box_new:N \l__beery_tmp_box
+
\RequirePackage { fontscale }
\fontscalesetup { musical }
-\RequirePackage [ list-final-separator = { ,~ and~ } ] { siunitx }
+\RequirePackage { siunitx }
+\sisetup { list-final-separator = { ,~ and~ } , mode = match }
\RequirePackage { mathtools }
\RequirePackage [ shortcuts , allowbreakbefore ] { extdash }
\RequirePackage { csquotes }
+\RequirePackage { lmodern }
% CUSTOM MACROS
+\tl_const:Nn \c_beery_alphabet_tl { abcdefghijklmnopqrstuvwxyz }
+\NewExpandableDocumentCommand \alphabet { } { \c_beery_alphabet_tl }
\NewDocumentCommand \Key { m o o }
{
+ \mode_leave_vertical:
\group_begin:
\ttfamily
- \bool_case:nF
+ \IfNoValueTF {#3}
{
- {
- \bool_lazy_and_p:nn
- { \tl_if_novalue_p:n {#2} }
- { \tl_if_novalue_p:n {#3} }
- }
- {#1}
- {
- \bool_lazy_and_p:nn
- { ! \tl_if_novalue_p:n {#2} }
- { \tl_if_novalue_p:n {#3} }
- }
- { #1~ =~ #2 }
- {
- \bool_lazy_and_p:nn
- { ! \tl_if_novalue_p:n {#2} }
- { ! \tl_if_novalue_p:n {#3} }
- }
- { #1~ =~ #2 \hspace* { \fill } \makebox { initial~ =~ #3 } }
+ \IfNoValueTF {#2}
+ {#1}
+ { #1 $\,=\,$ \allowbreak #2 }
}
- { \errmessage { invalid } }
+ { #1 $\,=\,$ #2 \hspace* { \fill } \hbox:n { initial $\,=\,$ #3 } }
\group_end:
}
+\NewDocumentCommand \Value { m } { \texttt {#1} }
\NewDocumentCommand \cmd { m } { \texttt { \token_to_str:N #1 } \@ }
\NewDocumentCommand \cs { m } { \texttt { \token_to_str:c {#1} } \@ }
\NewDocumentCommand \marg { m }
- { \allowbreak \texttt { \c_left_brace_str #1 \c_right_brace_str } }
-\NewDocumentCommand \oarg { m } { \allowbreak \texttt { [ #1 ] } }
-\NewDocumentCommand \meta { m } { \texttt { \textlangle #1 \textrangle } }
+ {
+ \allowbreak
+ \texttt { \c_left_brace_str }
+ $\langle$
+ { \normalfont \itshape #1 }
+ $\rangle$
+ \texttt { \c_right_brace_str }
+ }
+\NewDocumentCommand \oarg { m }
+ {
+ \allowbreak
+ \texttt { [ }
+ $\langle$
+ { \normalfont \itshape #1 }
+ $\rangle$
+ \texttt { ] }
+ }
+\NewDocumentCommand \sarg { } { $\langle$ \texttt {*} $\rangle$ }
+\NewDocumentCommand \meta { m }
+ {
+ $\langle$
+ { \normalfont \itshape #1 }
+ $\rangle$
+ }
\NewDocumentCommand \cls { m } { \textsf {#1} }
\NewDocumentCommand \env { m } { \texttt {#1} }
\NewDocumentCommand \pkg { m } { \textsf {#1} }
-\NewDocumentCommand \filex { m } { \texttt {#1} \@ }
\NewDocumentCommand \latin { m } { \textit {#1} }
% PAGE STYLE
-\hbox_set:Nn \l_tmpa_box { abcdefghijklmnopqrstuvwxyz }
-\dim_const:Nn \c_beery_alphabet_dim { \box_wd:N \l_tmpa_box }
+\hbox_set:Nn \l__beery_tmp_box { \c_beery_alphabet_tl }
+\dim_const:Nn \c_beery_alphabet_dim { \box_wd:N \l__beery_tmp_box }
+\dim_log:N \c_beery_alphabet_dim
-\dim_const:Nn \c_beery_big_dim
- { \fp_to_dim:n { \l_fontscale_normalsize_size_dim * 10 / 7 } }
+\dim_const:Nn \c_beery_big_dim { \l_fontscale_normalsize_baselineskip_skip }
\dim_const:Nn \c_beery_medium_dim { \c_beery_big_dim / 2 }
\dim_const:Nn \c_beery_small_dim { \c_beery_big_dim / 4 }
\skip_const:Nn \c_beery_big_skip
@@ -85,12 +98,15 @@
\skip_set:Nn \topskip { \l_fontscale_normalsize_size_dim }
\skip_set_eq:NN \splittopskip \topskip
-\RequirePackage
- [
- letterpaper
- , textwidth = \dim_eval:n { \fp_use:N \c_e_fp \c_beery_alphabet_dim }
+\RequirePackage { geometry }
+\geometry
+ {
+ a4paper
+ , textwidth =
+ \dim_eval:n { \fp_to_dim:n { \c_e_fp * \c_beery_alphabet_dim } }
, textheight =
- \dim_eval:n { \fp_eval:n { \c_e_fp * 1.6180 } \c_beery_alphabet_dim }
+ \dim_eval:n
+ { \fp_to_dim:n { 1.6180 * \c_e_fp * \c_beery_alphabet_dim } }
, heightrounded
, centering
, headheight = \l_fontscale_footnotesize_baselineskip_skip
@@ -98,8 +114,7 @@
, footskip =
\dim_eval:n
{ \c_beery_big_dim + \l_fontscale_footnotesize_baselineskip_skip }
- ]
- { geometry }
+ }
\RequirePackage { fancyhdr }
\pagestyle { fancy }
@@ -111,14 +126,22 @@
% PARAGRAPH STYLE
\nonfrenchspacing
-\linespread { \fp_eval:n { 25 / 21 } }
-\RequirePackage [ skip = \c_beery_medium_skip ] { parskip }
+\linespread { 1 }
+\skip_set_eq:NN \parskip \c_beery_medium_skip
+\dim_zero:N \parindent
\RequirePackage [ raggedrightboxes ] { ragged2e }
\skip_set:Nn \RaggedRightRightskip { 0pt plus 0.5 \linewidth }
+\dim_zero:N \RaggedRightParindent
+\dim_set_eq:NN \JustifyingParindent \RaggedRightParindent
\RaggedRight
+\int_set:Nn \pretolerance { -1 }
+\int_set:Nn \tolerance { 200 }
+\dim_zero:N \emergencystretch
\int_set:Nn \widowpenalty { 10000 }
\int_set_eq:NN \clubpenalty \widowpenalty
\int_set_eq:NN \displaywidowpenalty \widowpenalty
+\int_set:Nn \hyphenpenalty { 99 }
+\int_set_eq:NN \exhyphenpenalty \hyphenpenalty
% HEADINGS, TABLE OF CONTENTS
@@ -129,32 +152,34 @@
\titlespacing* \section % section
{ 0pt } % indent
{
- \fp_eval:n { 4 / 3 } \c_beery_medium_dim
- plus \fp_eval:n { 1 / 2 * 4 } \c_beery_medium_dim
- minus \fp_eval:n { 1 / 3 / 4 } \c_beery_medium_dim
+ - \parskip
+ + \c_beery_big_dim
+ plus \fp_eval:n { 1 / 2 * 4 } \c_beery_big_dim
+ minus \fp_eval:n { 1 / 3 / 4 } \c_beery_big_dim
} % before
- { \c_beery_medium_skip } % after
+ { - \parskip + \c_beery_medium_skip } % after
\titlespacing* \subsection
{ 0pt }
{
- \fp_eval:n { 4 / 3 } \c_beery_medium_dim
+ - \parskip
+ + \fp_eval:n { 4 / 3 } \c_beery_medium_dim
plus \fp_eval:n { 1 / 2 * 4 } \c_beery_medium_dim
minus \fp_eval:n { 1 / 3 / 4 } \c_beery_medium_dim
}
- { \c_beery_medium_skip }
+ { - \parskip + \c_beery_medium_skip }
\titleformat \section % section
[ block ] % shape
{ \raggedright \large \bfseries } % format
- { \thesection . } % label
- { 0.5em } % the horizontal separation between label and title body
+ { \thesection } % label
+ { 1em } % the horizontal separation between label and title body
{ } % before code
{ } % after code
\titleformat \subsection
[ block ]
{ \raggedright \normalsize \bfseries }
- { \thesubsection . }
- { 0.5em }
+ { \thesubsection }
+ { 1em }
{ }
{ }
@@ -181,7 +206,10 @@
{
\par
\IfBooleanTF #1
- { \int_compare:nNnT { \prevgraf } = { 1 } { \nobreak \@afterheading } }
+ {
+ \int_compare:nNnT { \prevgraf } = { 1 }
+ { \nobreak \@afterheading }
+ }
{ \nobreak \@afterheading }
}
\NewDocumentCommand \listheading { m }
@@ -189,7 +217,8 @@
\par
#1
\par
- \int_compare:nNnT { \prevgraf } = { 1 } { \nobreak \@afterheading }
+ \int_compare:nNnT { \prevgraf } = { 1 }
+ { \nobreak \@afterheading }
\vspace { \skip_eval:n { \c_beery_small_skip - \parskip } }
}
@@ -215,7 +244,10 @@
\coffin_new:N \l__beery_footnote_coffin
% 1.2 = baselineskip-size-ratio
\dim_const:Nn \c_beery_footnote_baselineheight_dim
- { \fp_eval:n { 1.2 * \f@linespread - 1 } \l_fontscale_footnotesize_size_dim }
+ {
+ \fp_to_dim:n
+ { ( 1.2 * \f@linespread - 1 ) * \l_fontscale_footnotesize_size_dim }
+ }
\RenewDocumentCommand \@makefntext { +m }
{
\vcoffin_set:Nnn \l__beery_footnote_coffin { \textwidth }
@@ -224,8 +256,10 @@
{
\dim_set:Nn \leftmargin
{
- \fp_eval:n { ( 1 - \l_fontscale_footnotesize_scale_fp ) / 2 }
- \textwidth
+ \fp_to_dim:n
+ {
+ ( 1 - \l_fontscale_footnotesize_scale_fp ) / 2 * \textwidth
+ }
}
\dim_set_eq:NN \rightmargin \leftmargin
\dim_set:Nn \labelsep { 0.5em }
@@ -242,4 +276,5 @@
\AddToHook { shipout / lastpage } { \label { LastPage } }
\RequirePackage { xurl }
-\RequirePackage [ bookmarksnumbered , hidelinks , linktoc = page ] { hyperref } \ No newline at end of file
+\RequirePackage { hyperref }
+\hypersetup { bookmarksnumbered , hidelinks , linktoc = page } \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex b/macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex
deleted file mode 100644
index 029d304d82..0000000000
--- a/macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex
+++ /dev/null
@@ -1,39 +0,0 @@
-\ProvidesFile
- {fontscale-manual-table-classic.tex}
- [2024-04-15]
-
-\begin{table}
- \centering
- \caption
- {%
- The size of each font size command in \unit{pt} when using a classic typographic scale.%
- \label{table:classicscales}%
- }
- \bigskip
- \begin{tblr}
- {
- colspec=
- {
- l
- Q[si={table-format=3.2},c]
- Q[si={table-format=3.2},c]
- Q[si={table-format=3.2},c]
- }
- , cell{1}{2-Z}={guard}
- }
- \toprule
- Command & \Key{classic-10pt} & \Key{classic-11pt} & \Key{classic-12pt} \\
- \midrule
- \cs{tiny} & 6 & 7 & 8 \\
- \cs{scriptsize} & 7 & 8 & 9 \\
- \cs{footnotesize} & 8 & 9 & 10 \\
- \cs{small} & 9 & 10 & 11 \\
- \cs{normalsize} & 10 & 11 & 12 \\
- \cs{large} & 11 & 12 & 14 \\
- \cs{Large} & 12 & 14 & 16 \\
- \cs{LARGE} & 14 & 16 & 18 \\
- \cs{huge} & 16 & 18 & 21 \\
- \cs{Huge} & 18 & 21 & 24 \\
- \bottomrule
- \end{tblr}
-\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex b/macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex
deleted file mode 100644
index 8c5cc8c141..0000000000
--- a/macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex
+++ /dev/null
@@ -1,38 +0,0 @@
-\ProvidesFile
- {fontscale-manual-table-font-steps.tex}
- [2024-04-15]
-
-\begin{table}
- \centering
- \caption
- {%
- The step of each font size command.
- These are constants and cannot be changed.%
- \label{table:fontsteps}%
- }
- \bigskip
- \begin{tblr}
- {
- colspec=
- {
- l
- Q[si={table-format=3.2},c]
- }
- , cell{1}{2}={guard}
- }
- \toprule
- Command & Step \\
- \midrule
- \cs{tiny} & -4 \\
- \cs{scriptsize} & -3 \\
- \cs{footnotesize} & -2 \\
- \cs{small} & -1 \\
- \cs{normalsize} & 0 \\
- \cs{large} & 1 \\
- \cs{Large} & 2 \\
- \cs{LARGE} & 3 \\
- \cs{huge} & 4 \\
- \cs{Huge} & 5 \\
- \bottomrule
- \end{tblr}
-\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex b/macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex
deleted file mode 100644
index 306578ec35..0000000000
--- a/macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex
+++ /dev/null
@@ -1,38 +0,0 @@
-\ProvidesFile
- {fontscale-manual-table-modular-musical.tex}
- [2024-04-15]
-
-\begin{table}
- \centering
- \caption
- {%
- The size of each font size command when using a modular or musical typographic scale with the initial settings.
- The font sizes are in \unit{pt} and rounded to two decimal places.%
- }
- \bigskip
- \begin{tblr}
- {
- colspec=
- {
- l
- Q[si={table-format=3.2},c]
- Q[si={table-format=3.2},c]
- }
- , cell{1}{2-3}={guard}
- }
- \toprule
- Command & \Key{modular} & \Key{musical} \\
- \midrule
- \cs{tiny} & 6.24 & 5.74 \\
- \cs{scriptsize} & 7.02 & 6.60 \\
- \cs{footnotesize} & 7.90 & 7.58 \\
- \cs{small} & 8.89 & 8.71 \\
- \cs{normalsize} & 10 & 10 \\
- \cs{large} & 11.25 & 11.49 \\
- \cs{Large} & 12.66 & 13.20 \\
- \cs{LARGE} & 14.24 & 15.16 \\
- \cs{huge} & 16.02 & 17.41 \\
- \cs{Huge} & 18.02 & 20 \\
- \bottomrule
- \end{tblr}
-\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-manual.pdf b/macros/latex/contrib/fontscale/fontscale-manual.pdf
deleted file mode 100644
index 2637ef9c1f..0000000000
--- a/macros/latex/contrib/fontscale/fontscale-manual.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/fontscale/fontscale-manual.tex b/macros/latex/contrib/fontscale/fontscale-manual.tex
deleted file mode 100644
index 9917636a04..0000000000
--- a/macros/latex/contrib/fontscale/fontscale-manual.tex
+++ /dev/null
@@ -1,390 +0,0 @@
-\documentclass{beery}
-
-\begin{document}
-
-
-\section*
- {%
- \SetFontStep*{1}%
- The \pkg{fontscale} package%
- }
-
-A user interface for setting document font sizes
-
-Oliver Beery
-
-Version 1.3.0\quad{}17 May 2024
-
-
-\section{Introduction}
-\label{sec:intro}
-
-\subsection{About}
-\label{subsec:about}
-
-\listheading{The \pkg{fontscale} package provides the following functionalities:}
-\begin{itemize}
- \item
- Set font sizes via a classic, modular, or musical typographic scale.
- \item
- Set arbitrary sizes and baselineskips for the standard font size commands \cs{tiny}, \cs{scriptsize}, \cs{footnotesize}, \cs{small}, \cs{normalsize}, \cs{large}, \cs{Large}, \cs{LARGE}, \cs{huge}, and \cs{Huge}.
- \item
- Set the font size settings mid\-/document or within a local group.
- \item
- Set the font size by setting the font step, scale, or size.
- \item
- Set the font size relative to the current font size.
- \item
- Use the current font step, scale, size, and baselineskip directly, for example, for printing or within calculations.
- \item
- Print sample text to test different font sizes.
- \item
- For advanced users, store the step, scale, size, and baselineskip of each font size command in \pkg{expl3} variables.
-\end{itemize}
-
-\subsection{Loading the package}
-\label{subsec:loading}
-
-This package requires the 10 October 2023 \pkg{l3kernel} update.
-You may need to ensure that your \LaTeX{} installation is up\-/to\-/date before using this package.
-
-This package lets the user set arbitrary font sizes.
-This works with most fonts produced today, but, for historical reasons, the default Computer Modern font is available only in a number of fixed sizes.
-If you get a warning that Computer Modern is not available in the requested size, you may need to add the code \cs{RequirePackage{fix-cm}} before \cs{documentclass} to make Computer Modern available at arbitrary font sizes.
-
-\cs{usepackage}\marg{fontscale}
-\nopagebreak\newline
-\cs{fontscalesetup}\marg{\meta{keyval list}}
-
-Load the \pkg{fontscale} package via the usual command in the document preamble.
-This package has no package options.
-Instead, the package keys are set up via the command \cs{fontscalesetup}\marg{\meta{keyval list}}.
-\meta{keyval list} must receive a comma\-/separated list of keys and their associated values.
-The package keys are documented in \S\ref{sec:choosing} and \S\ref{sec:overwriting}.
-
-Many \LaTeX{} document classes have a font size option (\Key{10pt}, \Key{11pt}, \Key{12pt}, etc.\@) which not only changes the set of document font sizes, but also modifies additional settings such as the page layout and vertical spacing which were specifically designed to work with those font sizes.
-For this reason, you may want to set the document class font size option close to the value of \cs{normalsize} set by this package.
-
-Internally, this package sets up each font size command from \cs{tiny} to \cs{Huge} using the kernel command \cs{@setfontsize}\---they have no additional functionality beyond that of \cs{@setfontsize}.
-Unlike the standard document classes, the font size commands set up by this package do not change the vertical spacing for displayed math and list structures.
-If the user would like to add this functionality or perhaps other features to the font size commands, they can do so via hooks, which are documented in the \LaTeX{} kernel.
-
-\subsection{Terminology}
-\label{subsec:terminology}
-
-When using the \pkg{fontscale} package, each font size, including the standard font size commands from \cs{tiny} to \cs{Huge}, has a step, scale, size, and baselineskip.
-The latter two parameters are the familiar first and second arguments to the low\-/level font command \cs{fontsize}\marg{\meta{dimen}}\marg{\meta{skip}}.
-The font scale is the relative font size; the ratio of the font size to \cs{normalsize}.
-The font step is the number of font size gradations from \cs{normalsize}, which has a step of \num{0}.
-Table~\ref{table:fontsteps} lists the font step of each font size command.
-
-\input{./fontscale-manual-table-font-steps.tex}
-
-This package defines many keys and commands that take as a value or argument a \meta{dim expr}, \meta{skip expr}, \meta{fp expr}, or \meta{int expr}.
-This syntax is short for a dimen, skip, floating point, or integer expression, respectively.
-See \pkg{usrguide} \S5 for more information.%
-\footnote{\url{https://ctan.org/pkg/usrguide}}
-
-
-\section{Choosing the typographic scale}
-\label{sec:choosing}
-
-\Key{typographic-scale}
- [classic-10pt, classic-11pt, classic-12pt, modular, musical]
- [classic-10pt]
-\newline
-\Key{modular/ratio}[\meta{fp expr}][1.125]
-\newline
-\Key{musical/ratio}[\meta{fp expr}][2]%
-\nopagebreak\newline
-\Key{musical/notes}[\meta{int expr}][5]
-
-The key \Key{typographic\-/scale} sets the font sizes using a classic, modular, or musical typographic scale.
-These are common methods of choosing a set of document font sizes.
-The choice of typographic scale initializes to \Key{classic\-/10pt}.
-
-The key \Key{typographic\-/scale} can also be set in a condensed format via the keys \Key{classic\-/10pt}, \Key{classic\-/11pt}, \Key{classic\-/12pt}, \Key{modular}, or \Key{musical}, which set the key \Key{typographic\-/scale} to the corresponding value.
-
-The classic typographic scale consists of the traditional font sizes
-\numlist{6;7;8;9;10;11;12;14;16;18;21;24;36;48;60;72}.%
-\footnote{See \S{}3.1 of \textit{The Elements of Typographic Style} by Robert Bringhurst.}
-They have been used since the sixteenth century and are the default font sizes on most computer software.
-The keys \Key{classic-10pt, classic-11pt, classic-12pt} set the size of each font size command to values based on their position in the classic typographic scale.
-The size of \cs{normalsize} is the named point size.
-The sizes of the other font size commands are the adjacent font sizes in the scale.
-Table~\ref{table:classicscales} lists the size of each font size command when using a classic typographic scale.
-
-\input{./fontscale-manual-table-classic.tex}
-
-The key \Key{modular} sets the font sizes from \cs{tiny} to \cs{Huge} using a modular typographic scale.
-In a modular scale, each font size is a fixed ratio from the adjacent font sizes.%
-\footnote{\url{https://alistapart.com/article/more-meaningful-typography/}}
-Here, the base font size is the size of \cs{normalsize}, which can be set via the key \Key{normalsize/size}[\meta{dim expr}], more documented in \S\ref{sec:overwriting}.
-If not set, \cs{normalsize} initializes to \qty{10}{pt}.
-The modular ratio can be set via the key \Key{modular\slash{}ratio}.
-The initial modular ratio is \num{1.125}.
-
-\input{./fontscale-manual-table-modular-musical.tex}
-
-The key \Key{musical} sets the font sizes according to their position in a musical typographic scale.
-The font size is calculated using the formula:%
-\footnote
- {%
- I have referenced this article by Spencer Mortensen:
- \newline
- \url{https://spencermortensen.com/articles/typographic-scale/}%
- }
-\[ f_i = f_0 \times r ^ { i / n } \]
-$f_0$ is the base font size, the size of \cs{normalsize}.
-$f_i$ is the font size with font step~$i$.
-$n$ is the number of notes in the musical scale\---the number of font size gradations or steps above \cs{normalsize}.
-$r$ is the ratio of the musical scale, the ratio of the highest to the lowest note $ f_n / f_0 $.
-(The modular typographic scale is actually a special case of the musical typographic scale where $n=1$.)
-
-The musical ratio~$r$ and the number of notes~$n$ can be set via the keys \Key{musical\slash{}ratio} and \Key{musical\slash{}notes}.
-The initial musical ratio\---\num{2}\---and the initial number of notes\---\num{5}\---are the same as that of the classic typographic scale.%
-\footnote{Ibid.}
-Conveniently, \cs{Huge} is \num{5} steps above \cs{normalsize}.
-The font size of \cs{normalsize}~$f_0$ can be set using the key \Key{normalsize/size}[\meta{dim expr}], more documented in \S\ref{sec:overwriting}.
-When using a musical typographic scale, \cs{normalsize} initializes to \qty{10}{pt}.%
-\footnote {I have set the initial value to \qty{10}{pt} instead of the \qty{12}{pt} recommended by the Spencer Mortensen article because this matches the default settings of the standard \LaTeXe{} document classes.}
-
-\Key{baselineskip-size-ratio}[\meta{fp expr}][1.2]
-\KeepNextPar*
-
-The key \Key{baselineskip\-/size\-/ratio} sets the ratio of the font baselineskip to the font size.
-By default, the font baselineskip of each font size command equals its font size times \meta{fp expr}.
-Users should not set this key unless they really know what they are doing.
-When using increased line spacing, users should prefer the low\-/level font command \cs{linespread} or the \pkg{setspace} package.
-
-
-\section{Overwriting the typographic scale}
-\label{sec:overwriting}
-
-In some situations, users may need to explicitly set the scale, size, or baselineskip of a font size command, overwriting the value set by the keys in \S\ref{sec:choosing}.
-Note that the font steps and the scale of \cs{normalsize} are constants and cannot be changed.
-
-\Key{\meta{font size command}/scale}[\meta{fp expr}]
-\KeepNextPar*
-
-The keys \Key{\meta{font size command}\slash{}scale} set the scale of \meta{font size command} to \meta{fp expr}, ignoring the value set by the key \Key{typographic\-/scale}.
-The key \Key{normalsize\slash{}scale} is not defined.
-
-\Key{\meta{font size command}/size}[\meta{dim expr}]
-\KeepNextPar*
-
-The keys \Key{\meta{font size command}\slash{}size} set the size of \meta{font size command} to \meta{dim expr}, ignoring the values set by the keys \Key{typographic\-/scale} and \Key{\meta{font size command}\slash{}scale}.
-\meta{dim expr} supplies a default unit of \unit{pt}.
-
-The package will issue a warning if the user sets the keys \Key{\meta{font size command}\slash{}size} and \Key{\meta{font size command}\slash{}scale} for the same \meta{font size command} since the latter key will be ignored.
-
-\Key{\meta{font size command}/baselineskip}[\meta{skip expr}]
-\KeepNextPar*
-
-The keys \Key{\meta{font size command}\slash{}baselineskip} set the font baselineskip of \meta{font size command} to \meta{skip expr} instead of calculating it from the size of \meta{font size command} and \Key{baselineskip\-/size\-/ratio}.
-\meta{skip expr} supplies a default unit of \unit{pt}.
-
-\Key{\meta{font size command}}[\meta{dim expr}]
-\nopagebreak\newline
-\Key{\meta{font size command}}[\meta{dim expr}/\meta{skip expr}]
-
-The keys \Key{\meta{font size command}} set the keys \Key{\meta{font size command}\slash{}size} or \Key{\meta{font size command}\slash{}baselineskip} in a condensed format.
-The latter format resembles traditional typographic notation where the size and leading of a text can be expressed as, for example, $10/12$ or $11/13$.
-The number before/after the slash is the size/leading in \unit{pts}.
-
-\Key{ignore-order}[true, false][false]
-\KeepNextPar*
-
-The user should take care to ensure that the font sizes and font baselineskips remain in the correct order when directly setting the scales, sizes, or baselineskips of the different font size commands.
-The magnitudes of the font sizes and font baselineskips should be ordered from \cs{tiny} to \cs{normalsize} to \cs{Huge}.
-This is important for typographic and syntactic consistency.
-This package will issue a warning if they are not in the correct order.
-The user can disable this warning via the key \Key{ignore\-/order}[true] or just \Key{ignore\-/order}.
-
-
-\section{User commands}
-\label{sec:usercommands}
-
-\subsection{Expandable font parameters}
-\label{subsec:fontparameters}
-
-\cs{CurrentFontStep}
-\nopagebreak\newline
-\cs{CurrentFontScale}
-\newline
-\cs{CurrentFontSize}
-\nopagebreak\newline
-\cs{CurrentFontBaselineskip}
-
-These are fully expandable commands that expand to the current font step, scale, size, or baselineskip.
-They can be used for printing or within calculations.
-Caution: \cs{CurrentFontStep} will expand to nothing if the current font step is undefined.
-
-Internally, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} use the kernel command \cs{f@size}.
-\cs{CurrentFontSize} expands to \texttt{f@size pt}.
-\cs{CurrentFontBaselineskip} expands to the kernel command \cs{f@baselineskip}.
-Note that the low\-/level font command \cs{fontsize}\marg{\meta{dimen}}\marg{\meta{skip}} sets \cs{f@size} to the new font size before expanding its second argument.
-This means that \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} may need to be first expanded if used in \meta{skip}.
-This package provides the command \cs{SetFontSizeBaselineskip} as an alternative to \cs{fontsize} + \cs{selectfont} that avoids this issue (\S\ref{subsec:fontsize}).
-
-\subsection{More font sizing commands}
-\label{subsec:fontsize}
-
-The \pkg{fontscale} package provides the commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} which set the font size in different ways.
-The first three commands have a starred version which sets the font size relative to the current font size.
-Internally, these commands all use the low\-/level font commands \cs{fontsize} and \cs{selectfont}.
-These commands should be used only in special cases.
-Generally, users should prefer the font size commands from \cs{tiny} to \cs{Huge} for typographic and syntactic consistency, although \cs{SetFontStep*}\marg{\meta{integer}} can use a font size command directly.
-
-\cs{SetFontStep}\marg{\meta{fp expr}}
-\nopagebreak\newline
-\cs{SetFontStep*}\marg{\meta{fp expr}}
-
-\cs{SetFontStep} sets the font size by setting the font step to \meta{fp expr}.
-The starred version \cs{SetFontStep*} adds \meta{fp expr} to the current font step.
-If the choice of typographic scale is not modular or musical, then the only valid values for \meta{fp expr} are the integers from \num{-4} to \num{5}, corresponding to the font size commands from \cs{tiny} to \cs{Huge}.
-\cs{SetFontStep} will issue an error if the calculated font step is invalid.
-The starred version \cs{SetFontStep*} will also issue an error if the current font step is invalid.
-\cs{SetFontStep} sets the font baselineskip to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-If the calculated font step matches the step of any font size command, then that font size command will be used directly.
-
-\listheading{Examples:}
-\begin{itemize}
- \item
- For example, \cs{SetFontStep}\marg{-2} and \cs{SetFontStep}\marg{2} use \cs{footnotesize} and \cs{Large}.
- Note that it is typically better to use the equivalent font size command in place of \cs{SetFontStep}\marg{\meta{integer}}.
- \item
- If the current font size is \cs{normalsize}, \cs{SetFontStep*}\marg{1} and \cs{SetFontStep*}\marg{-1} use \cs{large} and \cs{small}.
- This is useful for moving up or down a note on the typographic scale.
- \item
- If the choice of typographic scale is modular or musical, \cs{SetFontStep*}\marg{-0.5} sets the font size and font baselineskip to values between that of \cs{normalsize} and \cs{small}.
- Otherwise, it produces an error.
-\end{itemize}
-
-\cs{SetFontScale}\marg{\meta{fp expr}}
-\nopagebreak\newline
-\cs{SetFontScale*}\marg{\meta{fp expr}}
-
-\cs{SetFontScale} sets the font size by setting the font scale to \meta{fp expr}.
-The font baselineskip is set to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-The starred version \cs{SetFontScale*} adds \meta{fp expr} to the current font scale.
-For example, \cs{SetFontScale}\marg{1.25} makes the font size 25\% larger than \cs{normalsize}.
-If the current font size is \cs{normalsize}, \cs{SetFontScale*}\marg{0.2} is equivalent to \cs{SetFontScale}\marg{1.2}.
-
-\cs{SetFontSize}\marg{\meta{dim expr}}
-\nopagebreak\newline
-\cs{SetFontSize*}\marg{\meta{dim expr}}
-
-\cs{SetFontSize} sets the font size to \meta{dim expr}.
-\meta{dim expr} supplies a default unit of \unit{pt}.
-The font baselineskip is set to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-The starred version \cs{SetFontSize*} adds \meta{dim expr} to the current font size.
-For example, \cs{SetFontSize*}\marg{1} and \cs{SetFontSize*}\marg{-1pt} increase and decrease the current font size by a \unit{pt}.
-
-\cs{ScaleFont}\marg{\meta{fp expr}}
-\KeepNextPar*
-
-Scales the current font size and the current font baselineskip by a factor of \meta{fp expr}.
-For example, if the current font size and font baselineskip are \qty{10}{pt} and \qty{12}{pt}, using \cs{ScaleFont}\marg{0.8} will reduce them proportionally to \qty{8}{pt} and \qty{9.6}{pt}.
-
-\cs{SetFontSizeBaselineskip}\marg{\meta{dim expr}}\marg{\meta{skip expr}}
-\KeepNextPar*
-
-Sets the font size to \meta{dim expr} and the font baselineskip to \meta{skip expr}.
-Both arguments supply a default unit of \unit{pt}.
-\cs{SetFontSizeBaselineskip} can be used as an alternative to \cs{fontsize} + \cs{selectfont} as it avoids the issue with \cs{f@size} discussed in \S\ref{subsec:fontparameters}.
-
-\subsection{Testing and debugging}
-\label{subsec:debug}
-
-The commands documented here are intended primarily for testing and debugging.
-I have used them often when developing this package so I think users will find them helpful.
-
-\cs{PrintFontParameters}
-\nopagebreak\newline
-\cs{PrintAllFontParameters}
-
-\cs{PrintFontParameters} prints the current font step, scale, size, and baselineskip in this order in a comma\-/separated list of key = value pairs.
-If the current font step is undefined (as explained for \cs{SetFontStep} in \S\ref{subsec:fontsize}), it will be left blank.
-\cs{PrintAllFontParameters} prints the step, scale, size, and baselineskip of each font size command.
-
-\cs{PrintSampleText}\oarg{\meta{text}}
-\nopagebreak\newline
-\cs{PrintSampleText*}\oarg{\meta{text}}
-
-\cs{PrintSampleText} prints \meta{text} in each font size ordered from \cs{tiny} to \cs{Huge} each followed by a paragraph break.
-The starred version \cs{PrintSampleText*} reverses the sizing order.
-The \meta{text} can be changed via the optional argument, but cannot contain \cs{par} tokens.
-The default \meta{text} is \enquote{The \texttt{fontscale} package: A user interface for setting document font sizes}.
-One useful way of printing example text is by using
-\cs{PrintSampleText}\oarg{\cs{PrintFontSizeCommand}:\textvisiblespace{}\cs{PrintFontParameters}}.
-
-\cs{PrintFontSizeCommand}
-\KeepNextPar*
-
-\cs{PrintFontSizeCommand} tests whether the current font size and the current font baselineskip match the font size and font baselineskip of any font size command from \cs{tiny} to \cs{Huge}.
-If so, it prints the name of that font size command, including the backslash character.
-If not, it instead prints \enquote{UNDEFINED\@}.
-\vfill\pagebreak%manual
-
-\subsection
- {%
- \texorpdfstring
- {More on \cs{fontscalesetup}}
- {More on \textbackslash{}fontscalesetup}%
- }
-\label{subsec:fontscalesetup}
-
-\cs{fontscalesetup}\marg{\meta{keyval list}}
-\KeepNextPar*
-
-Sets and processes the \pkg{fontscale} package keys and then uses \cs{normalsize}.
-\cs{fontscalesetup} can be applied mid\-/document or locally within the current \TeX{} group.
-
-\Key{reset}[initial, preamble]
-\KeepNextPar*
-
-The key \Key{reset} is also available.
-Its value must be either \texttt{initial} or \texttt{preamble}.
-The key \Key{reset}[initial] or just \Key{reset} sets all the keys to their initial values.
-The key \Key{reset}[preamble] sets all the keys to their values at the end of the preamble (or does nothing if used before the end of the preamble).
-
-
-\section{Programming}
-\label{sec:programming}
-
-This section is relevant to \LaTeX3 programmers.
-
-The document commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} are set up to work with \cs{text_purify:n}.
-\cs{text_purify:n} will correctly remove these commands and their arguments.
-This includes the starred versions \cs{SetFontStep*}, \cs{SetFontScale*}, and \cs{SetFontSize*}.
-
-This package does not provide any public \pkg{expl3} functions.
-
-This package provides some public \pkg{expl3} variables.
-The package stores in public variables the step, scale, size, and baselineskip of each font size command.
-These variables should not be modified directly.
-Instead, they should be modified only indirectly via the command \cs{fontscalesetup}.
-
-Each takes the form:
-
-\begingroup
- \ttfamily
- \textbackslash{}c\_fontscale\_\meta{font size command}\_step\_fp
- \nopagebreak\newline
- \textbackslash{}l\_fontscale\_\meta{font size command}\_scale\_fp
- \newline
- \textbackslash{}l\_fontscale\_\meta{font size command}\_size\_dim
- \nopagebreak\newline
- \textbackslash{}l\_fontscale\_\meta{font size command}\_baselineskip\_skip
-\endgroup
-
-Exception:
-\cs{l_fontscale_normalsize_scale_fp} is not defined.
-The scale of \cs{normalsize} is instead stored as the constant \cs{c_fontscale_normalsize_scale_fp}, which always equals \num{1}.
-
-The step, scale, size, and baselineskip of each font size command are also stored in property lists, one for each font size command:
-
-\texttt{\textbackslash{}l\_fontscale\_\meta{font size command}\_prop}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-table-classic.tex b/macros/latex/contrib/fontscale/fontscale-table-classic.tex
new file mode 100644
index 0000000000..50ff413e36
--- /dev/null
+++ b/macros/latex/contrib/fontscale/fontscale-table-classic.tex
@@ -0,0 +1,41 @@
+\ProvidesFile
+ {fontscale-table-classic.tex}
+ [2024-08-12]
+
+\begin{table}
+ \centering
+ \caption
+ {%
+ The font size of each font size command from \cs{tiny} to \cs{Huge} in units of \unit{pt} when using a classic typographic scale.%
+ \label{table:classic}%
+ }
+ \bigskip
+ \begin{tblr}
+ {
+ colspec=
+ {
+ l
+ Q[si={table-format=3.2},c]
+ Q[si={table-format=3.2},c]
+ Q[si={table-format=3.2},c]
+ }
+ , cell{1}{2-Z}={guard}
+ , cell{2-Z}{1}={cmd=\cs}
+ , cell{1}{2-Z}={cmd=\Key}
+ }
+ \toprule
+ font size command & classic-10pt & classic-11pt & classic-12pt \\
+ \midrule
+ tiny & 6 & 7 & 8 \\
+ scriptsize & 7 & 8 & 9 \\
+ footnotesize & 8 & 9 & 10 \\
+ small & 9 & 10 & 11 \\
+ normalsize & 10 & 11 & 12 \\
+ large & 11 & 12 & 14 \\
+ Large & 12 & 14 & 16 \\
+ LARGE & 14 & 16 & 18 \\
+ huge & 16 & 18 & 21 \\
+ Huge & 18 & 21 & 24 \\
+ \bottomrule
+ \end{tblr}
+\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-table-font-steps.tex b/macros/latex/contrib/fontscale/fontscale-table-font-steps.tex
new file mode 100644
index 0000000000..5b20f18681
--- /dev/null
+++ b/macros/latex/contrib/fontscale/fontscale-table-font-steps.tex
@@ -0,0 +1,39 @@
+\ProvidesFile
+ {fontscale-table-font-steps.tex}
+ [2024-08-12]
+
+\begin{table}
+ \centering
+ \caption
+ {%
+ The font step of each font size command from \cs{tiny} to \cs{Huge}.
+ These are constants and cannot be changed.%
+ \label{table:fontsteps}%
+ }
+ \bigskip
+ \begin{tblr}
+ {
+ colspec=
+ {
+ l
+ Q[si={table-format=3.2},c]
+ }
+ , cell{1}{2}={guard}
+ , cell{2-Z}{1}={cmd=\cs}
+ }
+ \toprule
+ font size command & font step \\
+ \midrule
+ tiny & -4 \\
+ scriptsize & -3 \\
+ footnotesize & -2 \\
+ small & -1 \\
+ normalsize & 0 \\
+ large & 1 \\
+ Large & 2 \\
+ LARGE & 3 \\
+ huge & 4 \\
+ Huge & 5 \\
+ \bottomrule
+ \end{tblr}
+\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-table-musical.tex b/macros/latex/contrib/fontscale/fontscale-table-musical.tex
new file mode 100644
index 0000000000..e6a6ca5ce0
--- /dev/null
+++ b/macros/latex/contrib/fontscale/fontscale-table-musical.tex
@@ -0,0 +1,39 @@
+\ProvidesFile
+ {fontscale-table-musical.tex}
+ [2024-08-12]
+
+\begin{table}
+ \centering
+ \caption
+ {%
+ The font size of each font size command from \cs{tiny} to \cs{Huge} when using a musical typographic scale with the initial values.
+ The font sizes are in units of \unit{pt} and rounded to two decimal places.%
+ \label{table:musical}%
+ }
+ \bigskip
+ \begin{tblr}
+ {
+ colspec=
+ {
+ l
+ Q[si={table-format=3.2},c]
+ }
+ , cell{1}{2}={guard}
+ , cell{2-Z}{1}={cmd=\cs}
+ }
+ \toprule
+ font size command & \Key{musical} \\
+ \midrule
+ tiny & 5.74 \\
+ scriptsize & 6.60 \\
+ footnotesize & 7.58 \\
+ small & 8.71 \\
+ normalsize & 10 \\
+ large & 11.49 \\
+ Large & 13.20 \\
+ LARGE & 15.16 \\
+ huge & 17.41 \\
+ Huge & 20 \\
+ \bottomrule
+ \end{tblr}
+\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale.pdf b/macros/latex/contrib/fontscale/fontscale.pdf
new file mode 100644
index 0000000000..adcd809134
--- /dev/null
+++ b/macros/latex/contrib/fontscale/fontscale.pdf
Binary files differ
diff --git a/macros/latex/contrib/fontscale/fontscale.sty b/macros/latex/contrib/fontscale/fontscale.sty
index d032e49860..70bfae6026 100644
--- a/macros/latex/contrib/fontscale/fontscale.sty
+++ b/macros/latex/contrib/fontscale/fontscale.sty
@@ -1,33 +1,32 @@
-% Package : fontscale -- A user interface for setting document font sizes
+% Package : fontscale -- A flexible interface for setting font sizes
% Copyright : 2024 (c) Oliver Beery <beeryoliver@gmail.com>
% CTAN : https://ctan.org/pkg/fontscale
% Repository: https://github.com/beeryoliver/fontscale
% License : The LaTeX Project Public License 1.3c
-% The 2022-06-01 LaTeX kernel update added \ProcessKeyOptions.
-\NeedsTeXFormat{LaTeX2e}[2022-06-01]
+% LaTeX2e version 2023-11-01 added \IfExplAtLeastTF.
+\NeedsTeXFormat{LaTeX2e}[2023-11-01]
\ProvidesExplPackage
{fontscale}
- {2024-05-17}
- {1.3.0}
- {A user interface for setting document font sizes}
+ {2024-08-12}
+ {2.1.0}
+ {A flexible interface for setting font sizes}
-% The 2023-10-10 l3kernel update added many 'e'-variants.
-\IfExplAtLeastTF { 2023-10-10 }
- { }
+% l3kernel version 2023-10-10 added many 'e'-variants.
+\IfExplAtLeastTF { 2023-10-10 } { }
{
\msg_new:nnn { fontscale } { expl3-out-of-date }
{
- The~ package~ could~ not~ load.~
- The~ fontscale~ package~ requires~
- L3~ programming~ layer~ version~ 2023-10-10~ or~ later.
+ The~ fontscale~ package~ could~ not~ load.~
+ This~ package~ requires~
+ L3~ programming~ layer~ version~ 2023-10-10~ or~ newer.
}
\msg_critical:nn { fontscale } { expl3-out-of-date }
}
% This package does not require any other packages!
-% DECLARE FONT PARAMETER VARIABLES
+% DECLARE FONT SIZE PARAMETER VARIABLES
\fp_const:Nn \c_fontscale_tiny_step_fp { -4 }
\fp_const:Nn \c_fontscale_scriptsize_step_fp { -3 }
@@ -74,31 +73,7 @@
\skip_new:N \l_fontscale_huge_baselineskip_skip
\skip_new:N \l_fontscale_Huge_baselineskip_skip
-\prop_new:N \l_fontscale_tiny_prop
-\prop_new:N \l_fontscale_scriptsize_prop
-\prop_new:N \l_fontscale_footnotesize_prop
-\prop_new:N \l_fontscale_small_prop
-\prop_new:N \l_fontscale_normalsize_prop
-\prop_new:N \l_fontscale_large_prop
-\prop_new:N \l_fontscale_Large_prop
-\prop_new:N \l_fontscale_LARGE_prop
-\prop_new:N \l_fontscale_huge_prop
-\prop_new:N \l_fontscale_Huge_prop
-
-\prop_put:Nnn \l_fontscale_tiny_prop { step } { -4 }
-\prop_put:Nnn \l_fontscale_scriptsize_prop { step } { -3 }
-\prop_put:Nnn \l_fontscale_footnotesize_prop { step } { -2 }
-\prop_put:Nnn \l_fontscale_small_prop { step } { -1 }
-\prop_put:Nnn \l_fontscale_normalsize_prop { step } { 0 }
-\prop_put:Nnn \l_fontscale_large_prop { step } { 1 }
-\prop_put:Nnn \l_fontscale_Large_prop { step } { 2 }
-\prop_put:Nnn \l_fontscale_LARGE_prop { step } { 3 }
-\prop_put:Nnn \l_fontscale_huge_prop { step } { 4 }
-\prop_put:Nnn \l_fontscale_Huge_prop { step } { 5 }
-
-\prop_put:Nnn \l_fontscale_normalsize_prop { scale } { 1 }
-
-% INITIALIZE FONT PARAMETER VARIABLES
+% INITIALIZE FONT SIZE PARAMETER VARIABLES
\fp_set:Nn \l_fontscale_tiny_scale_fp { 0.6 }
\fp_set:Nn \l_fontscale_scriptsize_scale_fp { 0.7 }
@@ -132,177 +107,221 @@
\skip_set:Nn \l_fontscale_huge_baselineskip_skip { 19.2pt }
\skip_set:Nn \l_fontscale_Huge_baselineskip_skip { 21.6pt }
-\prop_put:Nnn \l_fontscale_tiny_prop { scale } { 0.6 }
-\prop_put:Nnn \l_fontscale_scriptsize_prop { scale } { 0.7 }
-\prop_put:Nnn \l_fontscale_footnotesize_prop { scale } { 0.8 }
-\prop_put:Nnn \l_fontscale_small_prop { scale } { 0.9 }
-\prop_put:Nnn \l_fontscale_large_prop { scale } { 1.1 }
-\prop_put:Nnn \l_fontscale_Large_prop { scale } { 1.2 }
-\prop_put:Nnn \l_fontscale_LARGE_prop { scale } { 1.4 }
-\prop_put:Nnn \l_fontscale_huge_prop { scale } { 1.6 }
-\prop_put:Nnn \l_fontscale_Huge_prop { scale } { 1.8 }
-
-\prop_put:Nnn \l_fontscale_tiny_prop { size } { 6pt }
-\prop_put:Nnn \l_fontscale_scriptsize_prop { size } { 7pt }
-\prop_put:Nnn \l_fontscale_footnotesize_prop { size } { 8pt }
-\prop_put:Nnn \l_fontscale_small_prop { size } { 9pt }
-\prop_put:Nnn \l_fontscale_normalsize_prop { size } { 10pt }
-\prop_put:Nnn \l_fontscale_large_prop { size } { 11pt }
-\prop_put:Nnn \l_fontscale_Large_prop { size } { 12pt }
-\prop_put:Nnn \l_fontscale_LARGE_prop { size } { 14pt }
-\prop_put:Nnn \l_fontscale_huge_prop { size } { 16pt }
-\prop_put:Nnn \l_fontscale_Huge_prop { size } { 18pt }
-
-\prop_put:Nnn \l_fontscale_tiny_prop { baselineskip } { 7.2pt }
-\prop_put:Nnn \l_fontscale_scriptsize_prop { baselineskip } { 8.4pt }
-\prop_put:Nnn \l_fontscale_footnotesize_prop { baselineskip } { 9.6pt }
-\prop_put:Nnn \l_fontscale_small_prop { baselineskip } { 10.8pt }
-\prop_put:Nnn \l_fontscale_normalsize_prop { baselineskip } { 12 pt }
-\prop_put:Nnn \l_fontscale_large_prop { baselineskip } { 13.2pt }
-\prop_put:Nnn \l_fontscale_Large_prop { baselineskip } { 14.4pt }
-\prop_put:Nnn \l_fontscale_LARGE_prop { baselineskip } { 16.8pt }
-\prop_put:Nnn \l_fontscale_huge_prop { baselineskip } { 19.2pt }
-\prop_put:Nnn \l_fontscale_Huge_prop { baselineskip } { 21.6pt }
-
% SOME VARIABLES
-% Used for mapping.
-\tl_const:Nn \c__fontscale_names_tl
- {
- {tiny} {scriptsize} {footnotesize} {small} {normalsize}
- {large} {Large} {LARGE} {huge} {Huge}
- }
-\tl_const:Nn \c__fontscale_names_other_tl
- {
- {tiny} {scriptsize} {footnotesize} {small}
- {large} {Large} {LARGE} {huge} {Huge}
- }
-
% Used to speed up floating point calculations.
\fp_new:N \l__fontscale_normalsize_size_fp
\fp_set:Nn \l__fontscale_normalsize_size_fp { 10 }
+\fp_new:N \l__fontscale_musical_base_fp
\fp_new:N \l__fontscale_musical_notes_fp
-% Temporary variables
-\tl_new:N \l__fontscale_step_tl
-\tl_new:N \l__fontscale_scale_tl
-\dim_new:N \l__fontscale_size_dim
+% Scratch variables
+\tl_new:N \l__fontscale_tmp_tl
+\str_new:N \l__fontscale_tmp_str
+\dim_new:N \l__fontscale_tmp_dim
+\fp_new:N \l__fontscale_tmp_fp
% SOME HELPER FUNCTIONS
-% Sets a dimen/skip variable from a dimen/skip expression, supplying a default
+% Sets a dimen/skip variable from a dimen/skip expression, appending a default
% unit of pt.
-\cs_new_protected:Npn \__fontscale_dim_set_with_default_pt:Nn #1#2
+\cs_new_protected:Npn \__fontscale_dim_set_default_pt:Nn #1#2
{ \@defaultunits #1 = \dimexpr #2 pt \relax \relax \@nnil }
-\cs_generate_variant:Nn \__fontscale_dim_set_with_default_pt:Nn { c }
-\cs_new_protected:Npn \__fontscale_skip_set_with_default_pt:Nn #1#2
+\cs_generate_variant:Nn \__fontscale_dim_set_default_pt:Nn { c }
+\cs_new_protected:Npn \__fontscale_skip_set_default_pt:Nn #1#2
{ \@defaultunits #1 = \glueexpr #2 pt \relax \@nnil }
-\cs_generate_variant:Nn \__fontscale_skip_set_with_default_pt:Nn { c }
-% Used to define \tiny to \Huge. Need \dim_use:N for compatibility with the
-% microtype package. Otherwise the following would do:
-% \cs_new_protected:Npn \__fontscale_fontsize:NNN { \@setfontsize }
-\cs_new_protected:Npn \__fontscale_fontsize:NNN #1#2
- { \@setfontsize #1 { \dim_use:N #2 } }
-% Similar to \fontsize + \selectfont, except that it takes dimen and skip
-% expressions as arguments and avoids the issue where \f@size is set to the new
-% font size before the second argument is expanded.
+\cs_generate_variant:Nn \__fontscale_skip_set_default_pt:Nn { c }
+% Similar to \@setfontsize. Used to define \tiny to \Huge. Need \dim_use:N for
+% compatibility with the microtype package.
+\cs_new_protected:Npn \__fontscale_fontsize:NNN #1#2#3
+ {
+ \mode_if_math:TF
+ {
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N #1 }
+ }
+ {
+ \cs_set_eq:NN \@currsize #1
+ \fontsize { \dim_use:N #2 } #3 \selectfont
+ }
+ }
+% Similar to \fontsize + \selectfont, except that it:
+% (1) Takes dimen and skip expressions as arguments.
+% (2) Avoids the issue where \f@size is set to the new font size before the
+% second argument is expanded.
+% (3) Provides error checking for the font size and font baselineskip.
+\dim_new:N \l__fontscale_fontsize_dim
\skip_new:N \l__fontscale_fontsize_skip
\cs_new_protected:Npn \__fontscale_fontsize:nn #1#2
{
- \__fontscale_skip_set_with_default_pt:Nn \l__fontscale_fontsize_skip {#2}
- \fontsize { = \dimexpr #1 pt \relax \relax } \l__fontscale_fontsize_skip
- \selectfont
+ \__fontscale_dim_set_default_pt:Nn \l__fontscale_fontsize_dim {#1}
+ \__fontscale_skip_set_default_pt:Nn \l__fontscale_fontsize_skip {#2}
+ \dim_compare:nNnTF \l__fontscale_fontsize_dim > \c_zero_dim
+ {
+ \dim_compare:nNnTF \l__fontscale_fontsize_skip <
+ \l__fontscale_fontsize_dim
+ { \msg_error:nn { fontscale } { font-baselineskip-out-of-bounds } }
+ {
+ \fontsize \l__fontscale_fontsize_dim \l__fontscale_fontsize_skip
+ \selectfont
+ }
+ }
+ { \msg_error:nn { fontscale } { font-size-out-of-bounds } }
}
% Similar to the above function, except that it sets the font baselineskip
% equal to the new font size times the baselineskip-size-ratio.
\cs_new_protected:Npn \__fontscale_fontsize:n #1
{
- \fontsize { = \dimexpr #1 pt \relax \relax }
- { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
- \selectfont
+ \__fontscale_dim_set_default_pt:Nn \l__fontscale_fontsize_dim {#1}
+ \dim_compare:nNnTF \l__fontscale_fontsize_dim > \c_zero_dim
+ {
+ \fontsize \l__fontscale_fontsize_dim
+ {
+ \fp_to_dim:n
+ {
+ \l__fontscale_fontsize_dim
+ * \l__fontscale_baselineskip_size_ratio_fp
+ }
+ }
+ \selectfont
+ }
+ { \msg_error:nn { fontscale } { font-size-out-of-bounds } }
}
% MESSAGES
-\msg_new:nnn { fontscale } { modular-ratio-out-of-bounds }
+\msg_new:nnn { fontscale } { key-baselineskip-size-ratio-out-of-bounds }
{
- The~ value~ for~ the~ key~ 'modular / ratio'~
+ The~ value~ of~ the~ key~ 'baselineskip-size-ratio'~
\msg_line_context: \c_space_tl
- must~ be~ greater~ than~ 1.
+ must~ be~ at~ least~ 1.
}
-\msg_new:nnn { fontscale } { musical-ratio-out-of-bounds }
+\msg_new:nnn { fontscale } { key-musical-base-out-of-bounds }
{
- The~ value~ for~ the~ key~ 'musical / ratio'~
+ The~ value~ of~ the~ key~ 'musical / base'~
+ \msg_line_context: \c_space_tl
+ must~ be~ a~ positive~ length.
+ }
+\msg_new:nnn { fontscale } { key-musical-ratio-out-of-bounds }
+ {
+ The~ value~ of~ the~ key~ 'musical / ratio'~
\msg_line_context: \c_space_tl
must~ be~ greater~ than~ 1.
}
-\msg_new:nnn { fontscale } { musical-notes-out-of-bounds }
+\msg_new:nnn { fontscale } { key-musical-notes-out-of-bounds }
{
- The~ value~ for~ the~ key~ 'musical / notes'~
+ The~ value~ of~ the~ key~ 'musical / notes'~
\msg_line_context: \c_space_tl
must~ be~ a~ positive~ integer.
}
-\msg_new:nnn { fontscale } { key-font-scale-ignored }
+\msg_new:nnn { fontscale } { key-font-scale-out-of-bounds }
{
- Key~ '#1 / scale'~
+ The~ value~ of~ the~ key~ '#1 / scale'~
\msg_line_context: \c_space_tl
- ignored.~
- Setting~ the~ scale~ and~ size~ keys~ for~ the~ same~
- font~ size~ command~ ignores~ the~ scale~ key.
+ must~ be~ positive.
+ }
+\msg_new:nnn { fontscale } { key-font-size-out-of-bounds }
+ {
+ The~ value~ of~ the~ key~ '#1 / size'~
+ \msg_line_context: \c_space_tl
+ must~ be~ a~ positive~ length.
+ }
+\msg_new:nnn { fontscale } { key-font-scale-overwritten }
+ {
+ The~ font~ size~ set~ by~ the~ key~ '#1 / scale'~
+ has~ been~ overwritten~ by~ the~ key~ '#1 / size'~
+ \msg_line_context:.
+ }
+\msg_new:nnn { fontscale } { key-font-baselineskip-out-of-bounds }
+ {
+ The~ value~ of~ the~ key~ '#1 / baselineskip'~
+ \msg_line_context: \c_space_tl
+ must~ be~ greater~ than~ or~ equal~ to~
+ the~ font~ size~ of~ '\iow_char:N \\#1'.
}
\msg_new:nnn { fontscale } { font-sizes-out-of-order }
{
The~ font~ sizes~
\msg_line_context: \c_space_tl
are~ not~ in~ the~ correct~ order.~
- The~ magnitude~ of~ the~ font~ sizes~ should~ be~ ordered~ from~
- '\iow_char:N \\tiny'~ to~ '\iow_char:N \\normalsize'~ to~
- '\iow_char:N \\Huge'.
+ The~ lengths~ of~ the~ font~ sizes~ should~ be~ ordered~ from~
+ '\iow_char:N \\tiny'~ to~ '\iow_char:N \\Huge'.
}
\msg_new:nnn { fontscale } { font-baselineskips-out-of-order }
{
The~ font~ baselineskips~
\msg_line_context: \c_space_tl
are~ not~ in~ the~ correct~ order.~
- The~ magnitude~ of~ the~ font~ baselineskips~ should~ be~ ordered~ from~
- '\iow_char:N \\tiny'~ to~ '\iow_char:N \\normalsize'~ to~
- '\iow_char:N \\Huge'.
+ The~ lengths~ of~ the~ font~ baselineskips~ should~ be~ ordered~ from~
+ '\iow_char:N \\tiny'~ to~ '\iow_char:N \\Huge'.
+ }
+
+\msg_new:nnn { fontscale } { math-mode-warning }
+ {
+ '#1'~
+ \msg_line_context: \c_space_tl
+ does~ nothing~ if~ used~ in~ math~ mode.
+ }
+\msg_new:nnn { fontscale } { math-mode-error }
+ {
+ '#1'~
+ \msg_line_context: \c_space_tl
+ cannot~ be~ used~ in~ math~ mode.
+ }
+\msg_new:nnn { fontscale } { font-size-out-of-bounds }
+ {
+ The~ font~ size~
+ \msg_line_context: \c_space_tl
+ must~ be~ a~ positive~ length.
+ }
+\msg_new:nnn { fontscale } { font-baselineskip-out-of-bounds }
+ {
+ The~ font~ baselineskip~
+ \msg_line_context: \c_space_tl
+ must~ be~ greater~ than~ or~ equal~ to~ the~ font~ size.
}
\msg_new:nnn { fontscale } { font-step-out-of-bounds }
{
The~ font~ step~
\msg_line_context: \c_space_tl
- must~ be~ an~ integer~ from~ -4~ to~ 5,~
- unless~ the~ value~ for~ the~ choice~ key~ 'typographic-scale'~
- is~ 'modular'~ or~ 'musical'.
+ must~ equal~ an~ integer~ from~ -4~ to~ 5,~
+ unless~ the~ value~ of~ the~ key~ 'typographic-scale'~ is~ 'musical'.~
+ \msg_see_documentation_text:n { fontscale }
}
\msg_new:nnn { fontscale } { current-font-step-out-of-bounds }
{
'\iow_char:N \\SetFontStep*'~
\msg_line_context: \c_space_tl
could~ not~ calculate~ the~ new~ font~ step~ because~
- the~ current~ font~ step~ is~ undefined.
+ the~ current~ font~ step~ is~ undefined.~
+ \msg_see_documentation_text:n { fontscale }
}
% DEFINE KEYS
\str_new:N \l__fontscale_typographic_scale_str
+\dim_new:N \l__fontscale_musical_base_dim
-\keys_define:nn { fontscale }
+\cs_new_protected:Npn \__fontscale_keys_name:n #1
{
- reset .choices:nn = { initial , preamble }
- { \use:c { __fontscale_keys_precompile_#1: } }
- , reset .default:n = initial
-
- , ignore-order .bool_set:N = \l__fontscale_ignore_order_bool
- , ignore-order .default:n = true
+ \tl_if_in:nnTF {#1} { / }
+ { \__fontscale_keys_name_split:ww #1 \q_stop }
+ { \tl_set:cn { l__fontscale_ \l_keys_key_str _size_tl } {#1} }
+ }
+\cs_new_protected:Npn \__fontscale_keys_name_split:ww #1 / #2 \q_stop
+ {
+ \tl_set:cn { l__fontscale_ \l_keys_key_str _size_tl } {#1}
+ \tl_set:cn { l__fontscale_ \l_keys_key_str _baselineskip_tl } {#2}
+ }
- , baselineskip-size-ratio .fp_set:N =
+\keys_define:nn { fontscale }
+ {
+ baselineskip-size-ratio .fp_set:N =
\l__fontscale_baselineskip_size_ratio_fp
, baselineskip-size-ratio .value_required:n = true
, typographic-scale .choices:nn =
- { classic-10pt , classic-11pt , classic-12pt , modular , musical }
+ { classic-10pt , classic-11pt , classic-12pt , musical }
{ \str_set:Nn \l__fontscale_typographic_scale_str {#1} }
, typographic-scale .value_required:n = true
@@ -315,18 +334,16 @@
, classic-12pt .meta:n = { typographic-scale = classic-12pt }
, classic-12pt .value_forbidden:n = true
- , modular .meta:n = { typographic-scale = modular }
- , modular .value_forbidden:n = true
-
, musical .meta:n = { typographic-scale = musical }
, musical .value_forbidden:n = true
-
- , modular / ratio .fp_set:N = \l__fontscale_modular_ratio_fp
- , modular / ratio .value_required:n = true
}
\keys_define:nn { fontscale / musical }
{
- ratio .fp_set:N = \l__fontscale_musical_ratio_fp
+ base .code:n =
+ \__fontscale_dim_set_default_pt:Nn \l__fontscale_musical_base_dim {#1}
+ , base .value_required:n = true
+
+ , ratio .fp_set:N = \l__fontscale_musical_ratio_fp
, ratio .value_required:n = true
, notes .int_set:N = \l__fontscale_musical_notes_int
@@ -441,58 +458,46 @@
}
\keys_define:nn { fontscale }
{
- tiny .code:n = \__fontscale_keys_name_code:n {#1}
+ tiny .code:n = \__fontscale_keys_name:n {#1}
, tiny .value_required:n = true
- , scriptsize .code:n = \__fontscale_keys_name_code:n {#1}
+ , scriptsize .code:n = \__fontscale_keys_name:n {#1}
, scriptsize .value_required:n = true
- , footnotesize .code:n = \__fontscale_keys_name_code:n {#1}
+ , footnotesize .code:n = \__fontscale_keys_name:n {#1}
, footnotesize .value_required:n = true
- , small .code:n = \__fontscale_keys_name_code:n {#1}
+ , small .code:n = \__fontscale_keys_name:n {#1}
, small .value_required:n = true
- , normalsize .code:n = \__fontscale_keys_name_code:n {#1}
+ , normalsize .code:n = \__fontscale_keys_name:n {#1}
, normalsize .value_required:n = true
- , large .code:n = \__fontscale_keys_name_code:n {#1}
+ , large .code:n = \__fontscale_keys_name:n {#1}
, large .value_required:n = true
- , Large .code:n = \__fontscale_keys_name_code:n {#1}
+ , Large .code:n = \__fontscale_keys_name:n {#1}
, Large .value_required:n = true
- , LARGE .code:n = \__fontscale_keys_name_code:n {#1}
+ , LARGE .code:n = \__fontscale_keys_name:n {#1}
, LARGE .value_required:n = true
- , huge .code:n = \__fontscale_keys_name_code:n {#1}
+ , huge .code:n = \__fontscale_keys_name:n {#1}
, huge .value_required:n = true
- , Huge .code:n = \__fontscale_keys_name_code:n {#1}
+ , Huge .code:n = \__fontscale_keys_name:n {#1}
, Huge .value_required:n = true
}
-\cs_new_protected:Npn \__fontscale_keys_name_code:n #1
- {
- \str_if_in:nnTF {#1} { / }
- { \__fontscale_keys_name_code_split:ww #1 \q_stop }
- { \tl_set:cn { l__fontscale_ \l_keys_key_str _size_tl } {#1} }
- }
-\cs_new_protected:Npn \__fontscale_keys_name_code_split:ww #1 / #2 \q_stop
- {
- \tl_set:cn { l__fontscale_ \l_keys_key_str _size_tl } {#1}
- \tl_set:cn { l__fontscale_ \l_keys_key_str _baselineskip_tl } {#2}
- }
-% PRE-COMPILE KEYS
+% INITIALIZE AND PRE-COMPILE KEYS
% Pre-compiles the keys with their initial values and then sets the keys to
% their initial values. This is done by hand for speed.
-\cs_new_protected:Npn \__fontscale_keys_precompile_initial:
+\cs_new_protected:Npn \__fontscale_keys_set_initial:
{
- \bool_set_false:N \l__fontscale_ignore_order_bool
\fp_set:Nn \l__fontscale_baselineskip_size_ratio_fp { 1.2 }
\str_set:Nn \l__fontscale_typographic_scale_str { classic-10pt }
- \fp_set:Nn \l__fontscale_modular_ratio_fp { 1.125 }
+ \dim_set:Nn \l__fontscale_musical_base_dim { 10pt }
\fp_set:Nn \l__fontscale_musical_ratio_fp { 2 }
\int_set:Nn \l__fontscale_musical_notes_int { 5 }
@@ -528,98 +533,23 @@
\tl_set:Nn \l__fontscale_huge_baselineskip_tl { \q_no_value }
\tl_set:Nn \l__fontscale_Huge_baselineskip_tl { \q_no_value }
}
-\__fontscale_keys_precompile_initial:
+\__fontscale_keys_set_initial:
-% Pre-compiles the keys with their values at the end of the preamble. The keys
-% are pre-compiled by hand for speed.
-\cs_new_eq:NN \__fontscale_keys_precompile_preamble: \prg_do_nothing:
-% \AddToHook is passed only a single token for speed.
-\AddToHook { begindocument / before }
- { \__fontscale_keys_precompile_preamble_set: }
-\cs_new_protected:Npn \__fontscale_keys_precompile_preamble_set:
+% SET AND PROCESS KEYS
+
+\NewDocumentCommand \fontscalesetup { s m }
{
- \cs_set_protected:Npe \__fontscale_keys_precompile_preamble:
+ \mode_if_math:TF
{
- \bool_if:NTF \l__fontscale_ignore_order_bool
- { \bool_set_true:N } { \bool_set_false:N }
- \exp_not:N \l__fontscale_ignore_order_bool
- \fp_set:Nn \exp_not:N \l__fontscale_baselineskip_size_ratio_fp
- { \exp_not:V \l__fontscale_baselineskip_size_ratio_fp }
- \str_set:Nn \exp_not:N \l__fontscale_typographic_scale_str
- { \l__fontscale_typographic_scale_str }
- \fp_set:Nn \exp_not:N \l__fontscale_modular_ratio_fp
- { \exp_not:V \l__fontscale_modular_ratio_fp }
- \fp_set:Nn \exp_not:N \l__fontscale_musical_ratio_fp
- { \exp_not:V \l__fontscale_musical_ratio_fp }
- \int_set:Nn \exp_not:N \l__fontscale_musical_notes_int
- { \int_use:N \l__fontscale_musical_notes_int }
-
- \tl_set:Nn \exp_not:N \l__fontscale_tiny_scale_tl
- { \exp_not:V \l__fontscale_tiny_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_scriptsize_scale_tl
- { \exp_not:V \l__fontscale_scriptsize_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_footnotesize_scale_tl
- { \exp_not:V \l__fontscale_footnotesize_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_small_scale_tl
- { \exp_not:V \l__fontscale_small_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_large_scale_tl
- { \exp_not:V \l__fontscale_large_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Large_scale_tl
- { \exp_not:V \l__fontscale_Large_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_LARGE_scale_tl
- { \exp_not:V \l__fontscale_LARGE_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_huge_scale_tl
- { \exp_not:V \l__fontscale_huge_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Huge_scale_tl
- { \exp_not:V \l__fontscale_Huge_scale_tl }
-
- \tl_set:Nn \exp_not:N \l__fontscale_tiny_size_tl
- { \exp_not:V \l__fontscale_tiny_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_scriptsize_size_tl
- { \exp_not:V \l__fontscale_scriptsize_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_footnotesize_size_tl
- { \exp_not:V \l__fontscale_footnotesize_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_small_size_tl
- { \exp_not:V \l__fontscale_small_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_normalsize_size_tl
- { \exp_not:V \l__fontscale_normalsize_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_large_size_tl
- { \exp_not:V \l__fontscale_large_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Large_size_tl
- { \exp_not:V \l__fontscale_Large_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_LARGE_size_tl
- { \exp_not:V \l__fontscale_LARGE_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_huge_size_tl
- { \exp_not:V \l__fontscale_huge_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Huge_size_tl
- { \exp_not:V \l__fontscale_Huge_size_tl }
-
- \tl_set:Nn \exp_not:N \l__fontscale_tiny_baselineskip_tl
- { \exp_not:V \l__fontscale_tiny_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_scriptsize_baselineskip_tl
- { \exp_not:V \l__fontscale_scriptsize_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_footnotesize_baselineskip_tl
- { \exp_not:V \l__fontscale_footnotesize_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_small_baselineskip_tl
- { \exp_not:V \l__fontscale_small_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_normalsize_baselineskip_tl
- { \exp_not:V \l__fontscale_normalsize_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_large_baselineskip_tl
- { \exp_not:V \l__fontscale_large_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Large_baselineskip_tl
- { \exp_not:V \l__fontscale_Large_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_LARGE_baselineskip_tl
- { \exp_not:V \l__fontscale_LARGE_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_huge_baselineskip_tl
- { \exp_not:V \l__fontscale_huge_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Huge_baselineskip_tl
- { \exp_not:V \l__fontscale_Huge_baselineskip_tl }
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N \fontscalesetup }
+ }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_keys_reset:n {#2} }
+ { \__fontscale_keys_set:n {#2} }
}
}
-
-% PROCESS KEYS
-
-\NewDocumentCommand \fontscalesetup { m } { \__fontscale_keys_set:n {#1} }
\cs_new_protected:Npn \__fontscale_keys_set:n #1
{
\keys_set:nn { fontscale } {#1}
@@ -628,55 +558,65 @@
\prg_break:
\prg_break_point:
}
+\cs_new_protected:Npn \__fontscale_keys_reset:n
+ { \__fontscale_keys_set_initial: \__fontscale_keys_set:n }
\cs_new_protected:Npn \__fontscale_keys_process:
{
- \__fontscale_keys_process_check_modular_musical:
+ \__fontscale_keys_process_start:
\__fontscale_keys_process_normalsize:
\__fontscale_keys_process_other:
\__fontscale_keys_process_check_order:
}
-% Issues an error if the key 'modular/ratio', 'musical/ratio', or
-% 'musical/notes' is set to an impossible value.
-\cs_new_protected:Npn \__fontscale_keys_process_check_modular_musical:
+\cs_new_protected:Npn \__fontscale_keys_process_start:
{
- \fp_compare:nNnF \l__fontscale_modular_ratio_fp > \c_one_fp
+ \fp_compare:nNnT \l__fontscale_baselineskip_size_ratio_fp < \c_one_fp
{
- \msg_error:nn { fontscale } { modular-ratio-out-of-bounds }
+ \msg_error:nn { fontscale }
+ { key-baselineskip-size-ratio-out-of-bounds }
+ \prg_break:
+ }
+ \dim_compare:nNnF \l__fontscale_musical_base_dim > \c_zero_dim
+ {
+ \msg_error:nn { fontscale } { key-musical-base-out-of-bounds }
\prg_break:
}
\fp_compare:nNnF \l__fontscale_musical_ratio_fp > \c_one_fp
{
- \msg_error:nn { fontscale } { musical-ratio-out-of-bounds }
+ \msg_error:nn { fontscale } { key-musical-ratio-out-of-bounds }
\prg_break:
}
\int_compare:nNnF \l__fontscale_musical_notes_int > 0
{
- \msg_error:nn { fontscale } { musical-notes-out-of-bounds }
+ \msg_error:nn { fontscale } { key-musical-notes-out-of-bounds }
\prg_break:
}
}
-% Sets the size and baselineskip of \normalsize and updates their property list
-% entries.
+% Sets the font size and font baselineskip of \normalsize.
\cs_new_protected:Npn \__fontscale_keys_process_normalsize:
{
\quark_if_no_value:NTF \l__fontscale_normalsize_size_tl
{
\dim_set:Nn \l_fontscale_normalsize_size_dim
{
- \str_case:VnF \l__fontscale_typographic_scale_str
+ \str_case:Vn \l__fontscale_typographic_scale_str
{
+ { classic-10pt } { 10pt }
{ classic-11pt } { 11pt }
{ classic-12pt } { 12pt }
+ { musical } { \l__fontscale_musical_base_dim }
}
- { 10pt }
}
}
{
- \__fontscale_dim_set_with_default_pt:Nn
- \l_fontscale_normalsize_size_dim { \l__fontscale_normalsize_size_tl }
+ \__fontscale_dim_set_default_pt:Nn \l_fontscale_normalsize_size_dim
+ { \l__fontscale_normalsize_size_tl }
+ \dim_compare:nNnF \l_fontscale_normalsize_size_dim > \c_zero_dim
+ {
+ \msg_error:nnn { fontscale } { key-font-size-out-of-bounds }
+ { normalsize }
+ \prg_break:
+ }
}
- \prop_put:NnV \l_fontscale_normalsize_prop { size }
- \l_fontscale_normalsize_size_dim
\fp_set:Nn \l__fontscale_normalsize_size_fp
{ \l_fontscale_normalsize_size_dim }
\quark_if_no_value:NTF \l__fontscale_normalsize_baselineskip_tl
@@ -691,12 +631,17 @@
}
}
{
- \__fontscale_skip_set_with_default_pt:Nn
+ \__fontscale_skip_set_default_pt:Nn
\l_fontscale_normalsize_baselineskip_skip
{ \l__fontscale_normalsize_baselineskip_tl }
+ \dim_compare:nNnT \l_fontscale_normalsize_baselineskip_skip <
+ \l_fontscale_normalsize_size_dim
+ {
+ \msg_error:nnn { fontscale }
+ { key-font-baselineskip-out-of-bounds } { normalsize }
+ \prg_break:
+ }
}
- \prop_put:NnV \l_fontscale_normalsize_prop { baselineskip }
- \l_fontscale_normalsize_baselineskip_skip
}
% Auxiliary functions that expand to the font size depending on the name of the
% font size command.
@@ -745,57 +690,55 @@
{ Huge } { 24pt }
}
}
-\cs_new:Npn \__fontscale_keys_process_other_modular:n #1
- {
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp * \l__fontscale_modular_ratio_fp
- ^ \use:c { c_fontscale_#1_step_fp }
- }
- }
\cs_new:Npn \__fontscale_keys_process_other_musical:n #1
{
\fp_to_dim:n
{
- \l__fontscale_normalsize_size_fp * \l__fontscale_musical_ratio_fp
+ \l__fontscale_musical_base_fp * \l__fontscale_musical_ratio_fp
^ ( \use:c { c_fontscale_#1_step_fp }
/ \l__fontscale_musical_notes_fp )
}
}
-% Sets the size, scale, and baselineskip of the other font size commands and
-% updates their property list entries. Issues a warning if the user sets both
-% the scale and size keys for the same font size command.
+% Sets the font size, font scale, and font baselineskip of the other font size
+% commands.
\cs_new_protected:Npn \__fontscale_keys_process_other:
{
- \cs_set_eq:Nc \__fontscale_keys_process_other_typographic_scale:n
+ \str_case:Vn \l__fontscale_typographic_scale_str
{
- \str_case:Vn \l__fontscale_typographic_scale_str
- {
- { classic-10pt } { __fontscale_keys_process_other_classic_xpt:n }
- { classic-11pt } { __fontscale_keys_process_other_classic_xipt:n }
- { classic-12pt } { __fontscale_keys_process_other_classic_xiipt:n }
- { modular } { __fontscale_keys_process_other_modular:n }
- { musical } { __fontscale_keys_process_other_musical:n }
- }
+ { classic-10pt }
+ {
+ \cs_set_eq:NN \__fontscale_keys_process_other_fn_aux:n
+ \__fontscale_keys_process_other_classic_xpt:n
+ }
+ { classic-11pt }
+ {
+ \cs_set_eq:NN \__fontscale_keys_process_other_fn_aux:n
+ \__fontscale_keys_process_other_classic_xipt:n
+ }
+ { classic-12pt }
+ {
+ \cs_set_eq:NN \__fontscale_keys_process_other_fn_aux:n
+ \__fontscale_keys_process_other_classic_xiipt:n
+ }
+ { musical }
+ {
+ \cs_set_eq:NN \__fontscale_keys_process_other_fn_aux:n
+ \__fontscale_keys_process_other_musical:n
+ \fp_set:Nn \l__fontscale_musical_base_fp
+ { \l__fontscale_musical_base_dim }
+ \fp_set:Nn \l__fontscale_musical_notes_fp
+ { \l__fontscale_musical_notes_int }
+ }
}
- \str_if_eq:VnT \l__fontscale_typographic_scale_str { musical }
+ \tl_map_function:nN
{
- \fp_set:Nn \l__fontscale_musical_notes_fp
- { \l__fontscale_musical_notes_int }
+ {tiny} {scriptsize} {footnotesize} {small}
+ {large} {Large} {LARGE} {huge} {Huge}
}
- \tl_map_function:NN \c__fontscale_names_other_tl
- \__fontscale_keys_process_other_aux:n
+ \__fontscale_keys_process_other_fn:n
}
-\cs_new_protected:Npn \__fontscale_keys_process_other_aux:n #1
+\cs_new_protected:Npn \__fontscale_keys_process_other_fn:n #1
{
- \quark_if_no_value:cF { l__fontscale_#1_size_tl }
- {
- \__fontscale_dim_set_with_default_pt:cn { l_fontscale_#1_size_dim }
- { \use:c { l__fontscale_#1_size_tl } }
- \quark_if_no_value:cF { l__fontscale_#1_scale_tl }
- { \msg_warning:nnn { fontscale } { key-font-scale-ignored } {#1} }
- \prg_break:
- }
\quark_if_no_value:cF { l__fontscale_#1_scale_tl }
{
\dim_set:cn { l_fontscale_#1_size_dim }
@@ -806,17 +749,42 @@
* ( \use:c { l__fontscale_#1_scale_tl } )
}
}
+ \dim_compare:nNnF { \use:c { l_fontscale_#1_size_dim } } > \c_zero_dim
+ {
+ \tl_map_break:n
+ {
+ \msg_error:nnn { fontscale } { key-font-scale-out-of-bounds }
+ {#1}
+ \prg_break:
+ }
+ }
+ \quark_if_no_value:cT { l__fontscale_#1_size_tl } { \prg_break: }
+ }
+ \quark_if_no_value:cF { l__fontscale_#1_size_tl }
+ {
+ \__fontscale_dim_set_default_pt:cn { l_fontscale_#1_size_dim }
+ { \use:c { l__fontscale_#1_size_tl } }
+ \dim_compare:nNnF { \use:c { l_fontscale_#1_size_dim } } > \c_zero_dim
+ {
+ \tl_map_break:n
+ {
+ \msg_error:nnn { fontscale } { key-font-size-out-of-bounds }
+ {#1}
+ \prg_break:
+ }
+ }
+ \quark_if_no_value:cF { l__fontscale_#1_scale_tl }
+ {
+ \msg_warning:nnn { fontscale } { key-font-scale-overwritten } {#1}
+ }
\prg_break:
}
\dim_set:cn { l_fontscale_#1_size_dim }
- { \__fontscale_keys_process_other_typographic_scale:n {#1} }
+ { \__fontscale_keys_process_other_fn_aux:n {#1} }
\prg_break:
\prg_break_point:
\fp_set:cn { l_fontscale_#1_scale_fp }
{ \use:c { l_fontscale_#1_size_dim } / \l__fontscale_normalsize_size_fp }
- \prop_put:cne { l_fontscale_#1_prop } { scale }
- { \fp_use:c { l_fontscale_#1_scale_fp } }
- \prop_put:cnv { l_fontscale_#1_prop } { size } { l_fontscale_#1_size_dim }
\quark_if_no_value:cTF { l__fontscale_#1_baselineskip_tl }
{
\skip_set:cn { l_fontscale_#1_baselineskip_skip }
@@ -829,122 +797,113 @@
}
}
{
- \__fontscale_skip_set_with_default_pt:cn
+ \__fontscale_skip_set_default_pt:cn
{ l_fontscale_#1_baselineskip_skip }
{ \use:c { l__fontscale_#1_baselineskip_tl } }
+ \dim_compare:nNnT { \use:c { l_fontscale_#1_baselineskip_skip } } <
+ { \use:c { l_fontscale_#1_size_dim } }
+ {
+ \tl_map_break:n
+ {
+ \msg_error:nnn { fontscale }
+ { key-font-baselineskip-out-of-bounds } {#1}
+ \prg_break:
+ }
+ }
}
- \prop_put:cnv { l_fontscale_#1_prop } { baselineskip }
- { l_fontscale_#1_baselineskip_skip }
}
% Issues a warning if the font sizes or font baselineskips (ignoring the
-% stretch and shrink components) are not in the correct order unless the value
-% for the key 'ignore-order' is 'true'.
+% stretch and shrink components) are not in the correct order.
\cs_new_protected:Npn \__fontscale_keys_process_check_order:
{
- \bool_if:NF \l__fontscale_ignore_order_bool
+ \dim_compare:nF
{
- \dim_compare:nF
- {
- \l_fontscale_tiny_size_dim
- < \l_fontscale_scriptsize_size_dim
- < \l_fontscale_footnotesize_size_dim
- < \l_fontscale_small_size_dim
- < \l_fontscale_normalsize_size_dim
- < \l_fontscale_large_size_dim
- < \l_fontscale_Large_size_dim
- < \l_fontscale_LARGE_size_dim
- < \l_fontscale_huge_size_dim
- < \l_fontscale_Huge_size_dim
- }
- { \msg_warning:nn { fontscale } { font-sizes-out-of-order } }
- \dim_compare:nF
- {
- \l_fontscale_tiny_baselineskip_skip
- < \l_fontscale_scriptsize_baselineskip_skip
- < \l_fontscale_footnotesize_baselineskip_skip
- < \l_fontscale_small_baselineskip_skip
- < \l_fontscale_normalsize_baselineskip_skip
- < \l_fontscale_large_baselineskip_skip
- < \l_fontscale_Large_baselineskip_skip
- < \l_fontscale_LARGE_baselineskip_skip
- < \l_fontscale_huge_baselineskip_skip
- < \l_fontscale_Huge_baselineskip_skip
- }
- { \msg_warning:nn { fontscale } { font-baselineskips-out-of-order } }
+ \l_fontscale_tiny_size_dim
+ < \l_fontscale_scriptsize_size_dim
+ < \l_fontscale_footnotesize_size_dim
+ < \l_fontscale_small_size_dim
+ < \l_fontscale_normalsize_size_dim
+ < \l_fontscale_large_size_dim
+ < \l_fontscale_Large_size_dim
+ < \l_fontscale_LARGE_size_dim
+ < \l_fontscale_huge_size_dim
+ < \l_fontscale_Huge_size_dim
}
+ { \msg_warning:nn { fontscale } { font-sizes-out-of-order } }
+ \dim_compare:nF
+ {
+ \l_fontscale_tiny_baselineskip_skip
+ < \l_fontscale_scriptsize_baselineskip_skip
+ < \l_fontscale_footnotesize_baselineskip_skip
+ < \l_fontscale_small_baselineskip_skip
+ < \l_fontscale_normalsize_baselineskip_skip
+ < \l_fontscale_large_baselineskip_skip
+ < \l_fontscale_Large_baselineskip_skip
+ < \l_fontscale_LARGE_baselineskip_skip
+ < \l_fontscale_huge_baselineskip_skip
+ < \l_fontscale_Huge_baselineskip_skip
+ }
+ { \msg_warning:nn { fontscale } { font-baselineskips-out-of-order } }
}
% DOCUMENT COMMANDS
-% The internal functions of each font size command are not used elsewhere in
-% the code for compatibility with user-defined hooks
-% (e.g. \AddToHook{cmd/normalsize/after}{<user-defined-function>}).
-\DeclareDocumentCommand \tiny { } { \__fontscale_tiny: }
-\cs_new_protected:Npn \__fontscale_tiny:
+% Defines the standard LaTeX font size commands from \tiny to \Huge and
+% initializes to \normalsize.
+\DeclareDocumentCommand \tiny { }
{
\__fontscale_fontsize:NNN \tiny \l_fontscale_tiny_size_dim
\l_fontscale_tiny_baselineskip_skip
}
-\DeclareDocumentCommand \scriptsize { } { \__fontscale_scriptsize: }
-\cs_new_protected:Npn \__fontscale_scriptsize:
+\DeclareDocumentCommand \scriptsize { }
{
\__fontscale_fontsize:NNN \scriptsize \l_fontscale_scriptsize_size_dim
\l_fontscale_scriptsize_baselineskip_skip
}
-\DeclareDocumentCommand \footnotesize { } { \__fontscale_footnotesize: }
-\cs_new_protected:Npn \__fontscale_footnotesize:
+\DeclareDocumentCommand \footnotesize { }
{
\__fontscale_fontsize:NNN \footnotesize \l_fontscale_footnotesize_size_dim
\l_fontscale_footnotesize_baselineskip_skip
}
-\DeclareDocumentCommand \small { } { \__fontscale_small: }
-\cs_new_protected:Npn \__fontscale_small:
+\DeclareDocumentCommand \small { }
{
\__fontscale_fontsize:NNN \small \l_fontscale_small_size_dim
\l_fontscale_small_baselineskip_skip
}
-\DeclareDocumentCommand \normalsize { } { \__fontscale_normalsize: }
-\cs_new_protected:Npn \__fontscale_normalsize:
+\DeclareDocumentCommand \normalsize { }
{
\__fontscale_fontsize:NNN \normalsize \l_fontscale_normalsize_size_dim
\l_fontscale_normalsize_baselineskip_skip
}
-\DeclareDocumentCommand \large { } { \__fontscale_large: }
-\cs_new_protected:Npn \__fontscale_large:
+\DeclareDocumentCommand \large { }
{
\__fontscale_fontsize:NNN \large \l_fontscale_large_size_dim
\l_fontscale_large_baselineskip_skip
}
-\DeclareDocumentCommand \Large { } { \__fontscale_Large: }
-\cs_new_protected:Npn \__fontscale_Large:
+\DeclareDocumentCommand \Large { }
{
\__fontscale_fontsize:NNN \Large \l_fontscale_Large_size_dim
\l_fontscale_Large_baselineskip_skip
}
-\DeclareDocumentCommand \LARGE { } { \__fontscale_LARGE: }
-\cs_new_protected:Npn \__fontscale_LARGE:
+\DeclareDocumentCommand \LARGE { }
{
\__fontscale_fontsize:NNN \LARGE \l_fontscale_LARGE_size_dim
\l_fontscale_LARGE_baselineskip_skip
}
-\DeclareDocumentCommand \huge { } { \__fontscale_huge: }
-\cs_new_protected:Npn \__fontscale_huge:
+\DeclareDocumentCommand \huge { }
{
\__fontscale_fontsize:NNN \huge \l_fontscale_huge_size_dim
\l_fontscale_huge_baselineskip_skip
}
-\DeclareDocumentCommand \Huge { } { \__fontscale_Huge: }
-\cs_new_protected:Npn \__fontscale_Huge:
+\DeclareDocumentCommand \Huge { }
{
\__fontscale_fontsize:NNN \Huge \l_fontscale_Huge_size_dim
\l_fontscale_Huge_baselineskip_skip
}
-% Initializes to \normalsize.
\normalsize
-\NewExpandableDocumentCommand \CurrentFontStep { }
- { \__fontscale_current_font_step: }
-\cs_new:Npn \__fontscale_current_font_step:
+\NewExpandableDocumentCommand \CurrentFontStep { } { \__fontscale_step: }
+\cs_new:Npn \__fontscale_step:
{
\dim_case:nnF { \f@size pt }
{
@@ -960,47 +919,100 @@
{ \l_fontscale_Huge_size_dim } { 5 }
}
{
- \str_case:Vn \l__fontscale_typographic_scale_str
+ \str_if_eq:VnT \l__fontscale_typographic_scale_str { musical }
{
- { modular }
- {
- \fp_eval:n
- {
- ln ( \f@size / \l__fontscale_normalsize_size_fp )
- / ln ( \l__fontscale_modular_ratio_fp )
- }
- }
- { musical }
- {
- \fp_eval:n
- {
- \l__fontscale_musical_notes_fp
- * ln ( \f@size / \l__fontscale_normalsize_size_fp )
- / ln ( \l__fontscale_musical_ratio_fp )
- }
- }
+ \fp_eval:n
+ {
+ \l__fontscale_musical_notes_fp
+ * ln ( \f@size / \l__fontscale_musical_base_fp )
+ / ln ( \l__fontscale_musical_ratio_fp )
+ }
}
}
}
-\NewExpandableDocumentCommand \CurrentFontScale { }
- { \__fontscale_current_font_scale: }
-\cs_new:Npn \__fontscale_current_font_scale:
+\NewExpandableDocumentCommand \CurrentFontScale { } { \__fontscale_scale: }
+\cs_new:Npn \__fontscale_scale:
{ \fp_eval:n { \f@size / \l__fontscale_normalsize_size_fp } }
-\NewExpandableDocumentCommand \CurrentFontSize { }
- { \__fontscale_current_font_size: }
-\cs_new:Npn \__fontscale_current_font_size: { \f@size pt }
+\NewExpandableDocumentCommand \CurrentFontSize { } { \__fontscale_size: }
+\cs_new:Npn \__fontscale_size: { \f@size pt }
\NewExpandableDocumentCommand \CurrentFontBaselineskip { }
- { \__fontscale_current_font_baselineskip: }
-\cs_new:Npn \__fontscale_current_font_baselineskip: { \f@baselineskip }
+ { \__fontscale_baselineskip: }
+\cs_new:Npn \__fontscale_baselineskip: { \f@baselineskip }
+
+\NewExpandableDocumentCommand \CurrentFontSizeCommand { }
+ { \__fontscale_name: }
+\cs_new:Npn \__fontscale_name:
+ {
+ \dim_case:nn { \f@size pt }
+ {
+ { \l_fontscale_tiny_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_tiny_baselineskip_skip }
+ { \f@baselineskip } { tiny }
+ }
+ { \l_fontscale_scriptsize_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_scriptsize_baselineskip_skip }
+ { \f@baselineskip } { scriptsize }
+ }
+ { \l_fontscale_footnotesize_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_footnotesize_baselineskip_skip }
+ { \f@baselineskip } { footnotesize }
+ }
+ { \l_fontscale_small_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_small_baselineskip_skip }
+ { \f@baselineskip } { small }
+ }
+ { \l_fontscale_normalsize_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_normalsize_baselineskip_skip }
+ { \f@baselineskip } { normalsize }
+ }
+ { \l_fontscale_large_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_large_baselineskip_skip }
+ { \f@baselineskip } { large }
+ }
+ { \l_fontscale_Large_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_Large_baselineskip_skip }
+ { \f@baselineskip } { Large }
+ }
+ { \l_fontscale_LARGE_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_LARGE_baselineskip_skip }
+ { \f@baselineskip } { LARGE }
+ }
+ { \l_fontscale_huge_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_huge_baselineskip_skip }
+ { \f@baselineskip } { huge }
+ }
+ { \l_fontscale_Huge_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_Huge_baselineskip_skip }
+ { \f@baselineskip } { Huge }
+ }
+ }
+ }
\NewDocumentCommand \SetFontStep { s m }
{
- \IfBooleanTF #1
- { \__fontscale_add_font_step:n {#2} }
- { \__fontscale_set_font_step:n {#2} }
+ \mode_if_math:TF
+ {
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N \SetFontStep }
+ }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_add_font_step:n {#2} }
+ { \__fontscale_set_font_step:n {#2} }
+ }
}
% Using \str_case: here is significantly faster (and easier to write) than
% repeatedly testing \fp_compare:.
@@ -1020,49 +1032,42 @@
{ 5 } { \Huge }
}
{
- \str_case:VnF \l__fontscale_typographic_scale_str
+ \str_if_eq:VnTF \l__fontscale_typographic_scale_str { musical }
{
- { modular }
- {
- \__fontscale_fontsize:n
- {
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp
- * \l__fontscale_modular_ratio_fp ^ (#1)
- }
- }
- }
- { musical }
- {
- \__fontscale_fontsize:n
- {
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp
- * \l__fontscale_musical_ratio_fp
- ^ ( (#1) / \l__fontscale_musical_notes_fp )
- }
- }
- }
+ \__fontscale_fontsize:n
+ {
+ \fp_to_dim:n
+ {
+ \l__fontscale_musical_base_fp
+ * \l__fontscale_musical_ratio_fp
+ ^ ( (#1) / \l__fontscale_musical_notes_fp )
+ }
+ }
}
{ \msg_error:nn { fontscale } { font-step-out-of-bounds } }
}
}
\cs_new_protected:Npn \__fontscale_add_font_step:n #1
{
- \tl_set:Ne \l__fontscale_step_tl { \__fontscale_current_font_step: }
- \tl_if_empty:NTF \l__fontscale_step_tl
+ \tl_set:Ne \l__fontscale_tmp_tl { \__fontscale_step: }
+ \tl_if_empty:NTF \l__fontscale_tmp_tl
{ \msg_error:nn { fontscale } { current-font-step-out-of-bounds } }
- { \__fontscale_add_font_step_aux:n { (#1) + \l__fontscale_step_tl } }
+ { \__fontscale_add_font_step_aux:n { (#1) + \l__fontscale_tmp_tl } }
}
\cs_new_eq:NN \__fontscale_add_font_step_aux:n \__fontscale_set_font_step:n
\NewDocumentCommand \SetFontScale { s m }
{
- \IfBooleanTF #1
- { \__fontscale_add_font_scale:n {#2} }
- { \__fontscale_set_font_scale:n {#2} }
+ \mode_if_math:TF
+ {
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N \SetFontScale }
+ }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_add_font_scale:n {#2} }
+ { \__fontscale_set_font_scale:n {#2} }
+ }
}
\cs_new_protected:Npn \__fontscale_set_font_scale:n #1
{
@@ -1077,70 +1082,150 @@
\NewDocumentCommand \SetFontSize { s m }
{
- \IfBooleanTF #1
- { \__fontscale_add_font_size:n {#2} }
- { \__fontscale_set_font_size:n {#2} }
+ \mode_if_math:TF
+ {
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N \SetFontSize }
+ }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_add_font_size:n {#2} }
+ { \__fontscale_set_font_size:n {#2} }
+ }
}
\cs_new_eq:NN \__fontscale_set_font_size:n \__fontscale_fontsize:n
\cs_new_protected:Npn \__fontscale_add_font_size:n #1
{
- \__fontscale_dim_set_with_default_pt:Nn \l__fontscale_size_dim {#1}
- \dim_add:Nn \l__fontscale_size_dim { \f@size pt }
- \__fontscale_fontsize:n { \l__fontscale_size_dim }
+ \__fontscale_dim_set_default_pt:Nn \l__fontscale_tmp_dim {#1}
+ \__fontscale_fontsize:n { \l__fontscale_tmp_dim + \f@size pt }
}
\NewDocumentCommand \ScaleFont { m }
- { \__fontscale_scale_font_size_baselineskip:n {#1} }
-\cs_new_protected:Npn \__fontscale_scale_font_size_baselineskip:n #1
{
+ \mode_if_math:TF
+ {
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N \ScaleFont }
+ }
+ { \__fontscale_scale_font:n {#1} }
+ }
+\cs_new_protected:Npn \__fontscale_scale_font:n #1
+ {
+ \fp_set:Nn \l__fontscale_tmp_fp {#1}
\__fontscale_fontsize:nn
- { \fp_to_dim:n { \f@size * (#1) } }
- { \fp_to_dim:n { \dim_to_fp:n { \f@baselineskip } * (#1) } }
+ { \fp_to_dim:n { \f@size * \l__fontscale_tmp_fp } }
+ {
+ \fp_to_dim:n
+ { \dim_to_fp:n { \f@baselineskip } * \l__fontscale_tmp_fp }
+ }
}
\NewDocumentCommand \SetFontSizeBaselineskip { m m }
- { \__fontscale_set_font_size_baselineskip:nn {#1} {#2} }
+ {
+ \mode_if_math:TF
+ {
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N \SetFontSizeBaselineskip }
+ }
+ { \__fontscale_set_font_size_baselineskip:nn {#1} {#2} }
+ }
\cs_new_eq:NN \__fontscale_set_font_size_baselineskip:nn
\__fontscale_fontsize:nn
-\NewDocumentCommand \PrintFontParameters { }
- { \__fontscale_print_font_parameters: }
-\cs_new_protected:Npn \__fontscale_print_font_parameters:
+\NewDocumentCommand \PrintFontSizeParameters { }
+ { \__fontscale_print_font_size_parameters: }
+\cs_new_protected:Npn \__fontscale_print_font_size_parameters:
{
- step ~=~ \__fontscale_current_font_step: ,~
- scale ~=~ \__fontscale_current_font_scale: ,~
- size ~=~ \__fontscale_current_font_size: ,~
- baselineskip ~=~ \__fontscale_current_font_baselineskip:
+ step ~=~ \__fontscale_step: ,~
+ scale ~=~ \__fontscale_scale: ,~
+ size ~=~ \__fontscale_size: ,~
+ baselineskip ~=~ \__fontscale_baselineskip:
}
-\NewDocumentCommand \PrintAllFontParameters { }
- { \__fontscale_print_all_font_parameters: }
-\cs_new_protected:Npn \__fontscale_print_all_font_parameters:
+\NewDocumentCommand \PrintAllFontSizeParameters { }
{
- \tl_map_inline:Nn \c__fontscale_names_tl
+ \mode_if_math:TF
{
- \prop_get:cnN { l_fontscale_##1_prop } { step } \l__fontscale_step_tl
- \prop_get:cnN { l_fontscale_##1_prop } { scale } \l__fontscale_scale_tl
- \token_to_str:c {##1} \@ \c_colon_str \c_space_tl
- step ~=~ \l__fontscale_step_tl ,~
- scale ~=~ \l__fontscale_scale_tl ,~
- size ~=~ \dim_use:c { l_fontscale_##1_size_dim } ,~
- baselineskip ~=~ \skip_use:c { l_fontscale_##1_baselineskip_skip }
- \str_if_eq:nnF {##1} { Huge } { \newline }
+ \msg_error:nne { fontscale } { math-mode-error }
+ { \token_to_str:N \PrintAllFontSizeParameters }
+ }
+ { \__fontscale_print_all_font_size_parameters: }
+ }
+\cs_new_protected:Npn \__fontscale_print_all_font_size_parameters:
+ {
+ \token_to_str:N \tiny \c_colon_str \c_space_tl
+ step ~=~ -4 ,~
+ scale ~=~ \fp_use:N \l_fontscale_tiny_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_tiny_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_tiny_baselineskip_skip
+ \newline
+ \token_to_str:N \scriptsize \c_colon_str \c_space_tl
+ step ~=~ -3 ,~
+ scale ~=~ \fp_use:N \l_fontscale_scriptsize_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_scriptsize_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_scriptsize_baselineskip_skip
+ \newline
+ \token_to_str:N \footnotesize \c_colon_str \c_space_tl
+ step ~=~ -2 ,~
+ scale ~=~ \fp_use:N \l_fontscale_footnotesize_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_footnotesize_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_footnotesize_baselineskip_skip
+ \newline
+ \token_to_str:N \small \c_colon_str \c_space_tl
+ step ~=~ -1 ,~
+ scale ~=~ \fp_use:N \l_fontscale_small_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_small_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_small_baselineskip_skip
+ \newline
+ \token_to_str:N \normalsize \c_colon_str \c_space_tl
+ step ~=~ 0 ,~
+ scale ~=~ 1 ,~
+ size ~=~ \dim_use:N \l_fontscale_normalsize_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_normalsize_baselineskip_skip
+ \newline
+ \token_to_str:N \large \c_colon_str \c_space_tl
+ step ~=~ 1 ,~
+ scale ~=~ \fp_use:N \l_fontscale_large_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_large_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_large_baselineskip_skip
+ \newline
+ \token_to_str:N \Large \c_colon_str \c_space_tl
+ step ~=~ 2 ,~
+ scale ~=~ \fp_use:N \l_fontscale_Large_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_Large_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_Large_baselineskip_skip
+ \newline
+ \token_to_str:N \LARGE \@ \c_colon_str \c_space_tl
+ step ~=~ 3 ,~
+ scale ~=~ \fp_use:N \l_fontscale_LARGE_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_LARGE_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_LARGE_baselineskip_skip
+ \newline
+ \token_to_str:N \huge \c_colon_str \c_space_tl
+ step ~=~ 4 ,~
+ scale ~=~ \fp_use:N \l_fontscale_huge_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_huge_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_huge_baselineskip_skip
+ \newline
+ \token_to_str:N \Huge \c_colon_str \c_space_tl
+ step ~=~ 5 ,~
+ scale ~=~ \fp_use:N \l_fontscale_Huge_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_Huge_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_Huge_baselineskip_skip
+ }
+
+\NewDocumentCommand \PrintSampleText { s +m }
+ {
+ \mode_if_math:TF
+ {
+ \msg_error:nne { fontscale } { math-mode-error }
+ { \token_to_str:N \PrintSampleText }
+ }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_print_sample_text_descending_order:n {#2} }
+ { \__fontscale_print_sample_text_ascending_order:n {#2} }
}
- }
-
-\NewDocumentCommand \PrintSampleText
- { s O
- {
- The~ \texttt { fontscale }~ package \c_colon_str \c_space_tl
- A~ user~ interface~ for~ setting~ document~ font~ sizes
- }
- }
- {
- \IfBooleanTF #1
- { \__fontscale_print_sample_text_descending_order:n {#2} }
- { \__fontscale_print_sample_text_ascending_order:n {#2} }
}
\cs_new_protected:Npn \__fontscale_print_sample_text_ascending_order:n #1
{
@@ -1169,80 +1254,26 @@
{ \tiny #1 \par }
}
-\NewDocumentCommand \PrintFontSizeCommand { } { \__fontscale_print_name: }
-\cs_new_protected:Npn \__fontscale_print_name:
+\NewDocumentCommand \PrintFontSizeCommand { }
{
- \dim_case:nn { \f@size pt }
+ \mode_if_math:TF
{
- { \l_fontscale_tiny_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_tiny_baselineskip_skip }
- { \token_to_str:N \tiny \prg_break: }
- }
- { \l_fontscale_scriptsize_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_scriptsize_baselineskip_skip }
- { \token_to_str:N \scriptsize \prg_break: }
- }
- { \l_fontscale_footnotesize_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_footnotesize_baselineskip_skip }
- { \token_to_str:N \footnotesize \prg_break: }
- }
- { \l_fontscale_small_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_small_baselineskip_skip }
- { \token_to_str:N \small \prg_break: }
- }
- { \l_fontscale_normalsize_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_normalsize_baselineskip_skip }
- { \token_to_str:N \normalsize \prg_break: }
- }
- { \l_fontscale_large_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_large_baselineskip_skip }
- { \token_to_str:N \large \prg_break: }
- }
- { \l_fontscale_Large_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_Large_baselineskip_skip }
- { \token_to_str:N \Large \prg_break: }
- }
- { \l_fontscale_LARGE_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_LARGE_baselineskip_skip }
- { \token_to_str:N \LARGE \@ \prg_break: }
- }
- { \l_fontscale_huge_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_huge_baselineskip_skip }
- { \token_to_str:N \huge \prg_break: }
- }
- { \l_fontscale_Huge_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_Huge_baselineskip_skip }
- { \token_to_str:N \Huge \prg_break: }
- }
+ \msg_error:nne { fontscale } { math-mode-error }
+ { \token_to_str:N \PrintFontSizeCommand }
}
- UNDEFINED \@
- \prg_break:
- \prg_break_point:
+ { \__fontscale_print_name: }
+ }
+\cs_new_protected:Npn \__fontscale_print_name:
+ {
+ \str_set:Ne \l__fontscale_tmp_str { \__fontscale_name: }
+ \str_if_empty:NTF \l__fontscale_tmp_str
+ { \token_to_str:N \undefined }
+ { \c_backslash_str \l__fontscale_tmp_str \@ }
}
% TEXT PURIFY
-\cs_new:Npn \__fontscale_text_purify_equivalent:n #1
+\cs_new:Npn \__fontscale_remove_arg_spec_sm:n #1
{
\bool_lazy_all:nT
{
@@ -1252,11 +1283,13 @@
}
{ \use_none:n }
}
+\text_declare_purify_equivalent:Nn \fontscalesetup
+ { \__fontscale_remove_arg_spec_sm:n }
\text_declare_purify_equivalent:Nn \SetFontStep
- { \__fontscale_text_purify_equivalent:n }
+ { \__fontscale_remove_arg_spec_sm:n }
\text_declare_purify_equivalent:Nn \SetFontScale
- { \__fontscale_text_purify_equivalent:n }
+ { \__fontscale_remove_arg_spec_sm:n }
\text_declare_purify_equivalent:Nn \SetFontSize
- { \__fontscale_text_purify_equivalent:n }
+ { \__fontscale_remove_arg_spec_sm:n }
\text_declare_purify_equivalent:Nn \ScaleFont { \use_none:n }
\text_declare_purify_equivalent:Nn \SetFontSizeBaselineskip { \use_none:nn } \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale.tex b/macros/latex/contrib/fontscale/fontscale.tex
new file mode 100644
index 0000000000..3737afe5b6
--- /dev/null
+++ b/macros/latex/contrib/fontscale/fontscale.tex
@@ -0,0 +1,409 @@
+\documentclass{beery}
+
+
+\begin{document}
+
+
+\section*
+ {%
+ \SetFontStep*{1}%
+ The \pkg{fontscale} package%
+ }
+
+A flexible interface for setting font sizes
+
+Oliver Beery
+
+Version 2.1.0\quad{}12 August 2024
+
+
+\section{Introduction}
+\label{sec:intro}
+
+\subsection{About}
+\label{subsec:about}
+
+\listheading{The \pkg{fontscale} package provides the following functionalities:}
+\begin{itemize}
+ \item
+ Set font sizes using a classic or musical typographic scale (\S\ref{subsec:typographicscale}).
+ \item
+ Set arbitrary font sizes and font baselineskips for the standard \LaTeX{} font size commands \cs{tiny}, \cs{scriptsize}, \cs{footnotesize}, \cs{small}, \cs{normalsize}, \cs{large}, \cs{Large}, \cs{LARGE}, \cs{huge}, and \cs{Huge} (\S\ref{subsec:overwriting}).
+ \item
+ Set the font sizes and font baselineskips of the standard \LaTeX{} font size commands mid\-/document or within a local group (\S\ref{subsec:fontscalesetup}).
+ \item
+ Provides expandable commands that expand to the current font step, font scale, font size, font baselineskip, or font size command (\S\ref{subsec:expandable}).
+ \item
+ Provides additional font size commands, including setting the font size by setting the font step or font scale and setting the font size relative to the current font size using more powerful tools than the \pkg{scalefnt} and \pkg{relsize} packages (\S\ref{subsec:fontsize}).
+ \item
+ For \LaTeX3 programmers, this package defines public \pkg{expl3} variables that store the font step, font scale, font size, and font baselineskip of each font size command from \cs{tiny} to \cs{Huge} (\S\ref{sec:programming}).
+\end{itemize}
+
+\subsection{Loading the package}
+\label{subsec:loading}
+
+\listheading{Requirements:}
+\begin{itemize}
+ \item \LaTeXe{} version 2023-11-01 or newer
+ \item \pkg{l3kernel} version 2023-10-10 or newer
+\end{itemize}
+
+You may need to ensure that your \LaTeX{} installation is up\-/to\-/date before using this package.
+
+This package lets the user set arbitrary font sizes.
+This works with most fonts produced today, but, for historical reasons, the default Computer Modern font is available only in a number of discrete font sizes.
+If you get a warning that Computer Modern is not available in the requested font size, you may need to add the code \cs{RequirePackage}\allowbreak\verb|{fix-cm}| before \cs{documentclass} to make Computer Modern available at arbitrary font sizes.
+Alternatively, you can use the Latin Modern font by loading the \pkg{lmodern} package.
+
+The \pkg{fontscale} package has no package options.
+Instead, this package provides the command \cs{fontscalesetup}\marg{key\-/value list} (\S\ref{subsec:fontscalesetup}) which sets the package keys (\S\ref{sec:keys}).
+
+When loaded, this package uses \cs{normalsize} after defining and initializing the font size commands from \cs{tiny} to \cs{Huge}.
+
+Many \LaTeX{} document classes have a font size option (e.g.\@ \Key{10pt}, \Key{11pt}, \Key{12pt}) which not only changes the set of document font sizes, but also modifies additional settings such as the page layout and vertical spacing which were specifically designed to work with those font sizes.
+For this reason, you may want to set the document class font size option close to the font size of \cs{normalsize} set by this package.
+
+\listheading{Internally, this package defines each font size command from \cs{tiny} to \cs{Huge} using the low\-/level font commands \cs{fontsize} and \cs{selectfont}\---they have no additional functionality beyond that of \cs{fontsize} and \cs{selectfont}, except that they:}
+\begin{itemize}
+ \item
+ Set the kernel command \cs{@currsize} equal to the font size command.
+ This is needed only for compatibility.
+ \item
+ Do nothing, except issue a warning, if used in math mode.
+\end{itemize}
+
+Unlike the standard \LaTeX{} document classes, the font size commands from \cs{tiny} to \cs{Huge} defined by this package do not change the vertical spacing for displayed math and list structures.
+If the user would like to add this functionality or perhaps other features to the font size commands, they can use hooks, which are documented in the \LaTeXe{} kernel.
+
+\subsection{The font size parameters}
+\label{subsec:fontsizeparameters}
+
+When using the \pkg{fontscale} package, each font size, including the standard \LaTeX{} font size commands from \cs{tiny} to \cs{Huge}, has a font step, font scale, font size, and font baselineskip.
+The latter two parameters are the familiar first and second arguments to the low\-/level font command \cs{fontsize}\marg{dimen}\marg{skip}.
+(The font baselineskip, stored in the kernel command \cs{f@baselineskip}, should not be confused with the paragraph baselineskip \cs{baselineskip}.)
+The font scale and font step are different ways of describing the font size.
+The font scale is the relative font size; the ratio of the font size to \cs{normalsize}, which has a font scale of \num{1}.
+The font step is the number of font size gradations from \cs{normalsize}, which has a font step of \num{0}.
+Table~\ref{table:fontsteps} displays the font step of each font size command.
+
+\input{./fontscale-table-font-steps.tex}
+
+\subsection{Syntax}
+\label{subsec:syntax}
+
+This package defines some keys and commands that take as a value or argument a \meta{floating point expression}, \meta{integer expression}, \meta{dimen expression}, or \meta{skip expression}.
+This syntax has the same representation as the arguments to \cs{fpeval}, \cs{inteval}, \cs{dimeval}, and \cs{skipeval}, documented in \pkg{usrguide}.%
+\footnote{\url{https://ctan.org/pkg/usrguide}}
+
+
+\section{Keys}
+\label{sec:keys}
+
+This section documents the keys provided by the \pkg{fontscale} package.
+This package has no package options.
+Set the package keys using \cs{fontscalesetup}\marg{key-value list} (\S\ref{subsec:fontscalesetup}).
+
+\subsection{The typographic scale}
+\label{subsec:typographicscale}
+
+The font sizes of the font size commands from \cs{tiny} to \cs{Huge} are initially set by the key \Key{typographic\-/scale}.
+
+\Key{typographic-scale}
+ [%
+ classic-10pt$\,\vert\,$\allowbreak
+ classic-11pt$\,\vert\,$\allowbreak
+ classic-12pt$\,\vert\,$\allowbreak\hspace*{1.5em}%
+ musical%
+ ]
+ [classic-10pt]
+\newline
+\Key{classic-10pt}
+\newline
+\Key{classic-11pt}
+\newline
+\Key{classic-12pt}
+\nopagebreak\newline
+\Key{musical}
+
+The value of the key \Key{typographic\-/scale} must be \Value{classic\-/10pt}, \Value{classic\-/11pt}, \Value{classic\-/12pt}, or \Value{musical}.
+The initial value is \Value{classic\-/10pt}.
+Sets the font size of each font size command from \cs{tiny} to \cs{Huge} using a classic or musical typographic scale.
+These are common methods of choosing a set of document font sizes.
+The keys \Key{classic\-/10pt}, \Key{classic\-/11pt}, \Key{classic\-/12pt}, and \Key{musical} set the key \Key{typographic\-/scale} to the corresponding value.
+
+\input{./fontscale-table-classic.tex}
+
+The classic typographic scale consists of the traditional font sizes
+\numlist{6;7;8;9;10;11;12;14;16;18;21;24;36;48;60;72}.%
+\footnote{See \S3.1 of \textit{The Elements of Typographic Style} by Robert Bringhurst.}
+They have been used since the sixteenth century and are the default font sizes on most computer software.
+Setting the value of the key \Key{typographic\-/scale} to \Key{classic\-/10pt}, \Key{classic\-/11pt}, or \Key{classic\-/12pt} sets the font size of each font size command from \cs{tiny} to \cs{Huge} to values based on their position in the classic typographic scale.
+The named point size\---\qtylist[list-final-separator={, or }]{10;11;12}{pt}\---is the font size of \cs{normalsize}.
+The font sizes of the other font size commands are the adjacent font sizes in the classic typographic scale.
+Table~\ref{table:classic} displays the font size of each font size command when using a classic typographic scale.
+
+\Key{musical/base}[\meta{dimen expression}][10pt]%
+\nopagebreak\newline
+\Key{musical/ratio}[\meta{floating point expression}][2]%
+\nopagebreak\newline
+\Key{musical/notes}[\meta{integer expression}][5]
+
+The key \Key{typographic\-/scale}[musical] sets the font size of each font size command from \cs{tiny} to \cs{Huge} using a musical typographic scale.
+The font sizes are calculated using the formula:%
+\footnote
+ {%
+ I have referenced this article by Spencer Mortensen:
+ \newline
+ \url{https://spencermortensen.com/articles/typographic-scale/}%
+ }
+\begin{equation}\label{eq:musical}
+ f_i = f_0 \times r ^ { i / n }
+\end{equation}
+$f_i$ is the font size with font step~$i$.
+$f_0$ is the base font size.
+$n$ is the number of musical notes\---the number of font size gradations or steps above $f_0$.
+$r$ is the musical ratio, the ratio of the highest to the lowest note $ f_n / f_0 $.
+
+The key \Key{musical\slash{}base} sets the base font size to the value of \meta{dimen expression}, appending a default unit of \unit{pt}.
+The base font size is the font size of \cs{normalsize}.
+The key \Key{musical\slash{}ratio} sets the musical ratio to the result of computing the \meta{floating point expression}.
+The key \Key{musical\slash{}notes} sets the number of musical notes to the value of \meta{integer expression}.
+Table~\ref{table:musical} displays the font size of each font size command when using a musical typographic scale with the initial values.
+
+\input{./fontscale-table-musical.tex}
+
+\subsection{The baselineskip-size-ratio}
+\label{subsec:baselineskipsizeratio}
+
+The font baselineskips of the font size commands from \cs{tiny} to \cs{Huge} are initially set by the key \Key{baselineskip\-/size\-/ratio}.
+
+\Key{baselineskip-size-ratio}[\meta{floating point expression}][1.2]
+\KeepNextPar*
+
+Sets the font baselineskip of each font size command from \cs{tiny} to \cs{Huge} equal to its font size \texttimes{} the result of computing the \meta{floating point expression}.
+Sets the font baselineskip set by \cs{SetFontStep}, \cs{SetFontScale}, and \cs{SetFontSize} (\S\ref{subsec:fontsize}) equal to the new font size \texttimes{} the result of computing the \meta{floating point expression}.
+The font baselineskip must be greater than or equal to the font size.
+
+
+\subsection{Overwriting the previous keys}
+\label{subsec:overwriting}
+
+This subsection documents keys for directly setting the font scales, font sizes, and font baselineskips of the font size commands from \cs{tiny} to \cs{Huge}.
+When doing so, the user should take care to ensure that the lengths of the font sizes and font baselineskips remain correctly ordered from \cs{tiny} to \cs{Huge}.
+This is important for typographic and syntactic consistency.
+If the font size commands are in the wrong order, this package will issue a warning and some package features may not work correctly.
+
+\Key{\meta{font size command}/scale}[\meta{floating point expression}][\meta{not set}]
+\KeepNextPar*
+
+Sets the font size of \meta{font size command} by setting its font scale to the result of computing the \meta{floating point expression}.
+Overwrites the font size set by the key \Key{typographic\-/scale}.
+The key \Key{normalsize\slash{}scale} is not defined.
+
+\Key{\meta{font size command}/size}[\meta{dimen expression}][\meta{not set}]
+\KeepNextPar*
+
+Sets the font size of \meta{font size command} to the value of \meta{dimen expression}, appending a default unit of \unit{pt}.
+Overwrites the font size set by the keys \Key{typographic\-/scale} and \Key{\meta{font size command}\slash{}scale}.
+
+\Key{\meta{font size command}/baselineskip}[\meta{skip expression}][\meta{not set}]
+\KeepNextPar*
+
+Sets the font baselineskip of \meta{font size command} to the value of \meta{skip expression}, appending a default unit of \unit{pt}.
+The font baselineskip must be greater than or equal to the font size.
+Overwrites the font baselineskip set by the key \Key{baselineskip\-/size\-/ratio}.
+
+\Key{\meta{font size command}}[\meta{dimen expression}]
+\nopagebreak\newline
+\Key{\meta{font size command}}[\meta{dimen expression}/\meta{skip expression}]
+
+Sets the keys \Key{\meta{font size command}\slash{}size}[\meta{dimen expression}] or \Key{\meta{font size command}\slash{}baselineskip}[\meta{skip expression}] in a condensed format.
+The latter format resembles traditional typographic notation where the size and leading of a text can be expressed as, for example, \num{10}/\num{12} or \num{11}/\num{13}.
+The number before\slash{}after the slash is the size\slash{}leading in units of \unit{pt}.
+
+
+\section{Commands}
+\label{sec:commands}
+
+This section documents the commands provided by the \pkg{fontscale} package.
+
+\subsection{Setting the keys}
+\label{subsec:fontscalesetup}
+
+\cs{fontscalesetup} \sarg{} \marg{key-value list}
+\KeepNextPar*
+
+Sets and processes the \pkg{fontscale} package keys (\S\ref{sec:keys}) in \meta{key\-/value list} and then uses \cs{normalsize}.
+Adding the optional star first resets all the \pkg{fontscale} package keys to their initial values.
+The order of the keys in \meta{key\-/value list} does not matter.
+Can be used mid\-/document.
+The effect is local to the current group.
+Does nothing, except issue a warning, if used in math mode.
+\cs{fontscalesetup} should typically be used only once in the preamble or omitted if the user is satisfied with the initial font sizes and font baselineskips.
+
+\subsection{Expandable commands}
+\label{subsec:expandable}
+
+\cs{CurrentFontStep}
+\nopagebreak\newline
+\cs{CurrentFontScale}
+\newline
+\cs{CurrentFontSize}
+\nopagebreak\newline
+\cs{CurrentFontBaselineskip}
+
+This package provides expandable commands that expand to the current font step, font scale, font size, or font baselineskip.
+They can be used for printing or within calculations.
+
+For clarity, \cs{CurrentFontStep} will be explained in detail.
+\cs{CurrentFontStep} initially tests if the current font size equals the font size of any font size command from \cs{tiny} to \cs{Huge}.
+If so, it expands to the font step of that font size command (Table~\ref{table:fontsteps}).
+If not and if the value of the key \Key{typographic\-/scale} is \Value{musical}, \cs{CurrentFontStep} expands to the current font step calculated from the musical typographic scale (Equation~\ref{eq:musical}).
+Otherwise, the current font step is undefined and \cs{CurrentFontStep} expands to nothing.
+
+Internally, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} rely on the kernel command \cs{f@size}.
+(\cs{f@size} stores the current font size in units of \unit{pt}, omitting the unit.)
+The low\-/level font command \cs{fontsize}\marg{dimen}\marg{skip} sets \cs{f@size} to the new font size before expanding its second argument.
+This means that, if used in \meta{skip}, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} will expand to the new value\---unless they are first expanded.
+This package provides \cs{SetFontSizeBaselineskip} as an alternative to \cs{fontsize} + \cs{selectfont} that avoids this issue (\S\ref{subsec:fontsize}).
+
+\cs{CurrentFontSizeCommand}
+\KeepNextPar*
+
+Tests if the current font size and current font baselineskip equal the font size and font baselineskip, respectively, of any font size command from \cs{tiny} to \cs{Huge}.
+If so, expands to the name of that font size command.
+This omits the backslash character and leaves only letters with catcode \num{11}.
+If not, expands to nothing.
+This package also provides a similar command \cs{PrintFontSizeCommand} (\S\ref{subsec:debug}), which is not expandable and includes the backslash character.
+
+\subsection{More font size commands}
+\label{subsec:fontsize}
+
+This package provides additional font size commands for use only in special cases.
+Users should prefer the standard \LaTeX{} font size commands from \cs{tiny} to \cs{Huge} for typographic and syntactic consistency.
+
+\cs{SetFontStep} \sarg{} \marg{floating point expression}
+\KeepNextPar*
+
+Sets the font size by setting the font step to the result of computing the \meta{floating point expression}.
+Adding the optional star instead increases the current font step by the result of computing the \meta{floating point expression} or issues an error if the current font step is undefined (as explained for \cs{CurrentFontStep} in \S\ref{subsec:expandable}).
+Sets the font baselineskip equal to the new font size \texttimes{} the value of the key \Key{baselineskip\-/size\-/ratio}.
+
+\listheading{Three exceptions:}
+\begin{itemize}
+ \item
+ The font step must equal the font step of any font size command from \cs{tiny} to \cs{Huge} (Table~\ref{table:fontsteps}) unless the value of the key \Key{typographic\-/scale} is \Value{musical}.
+ \cs{SetFontStep} will issue an error if the font step is undefined (as explained for \cs{CurrentFontStep} in \S\ref{subsec:expandable}).
+ \item
+ If the font step equals the font step of any font size command from \cs{tiny} to \cs{Huge}, then that font size command will be used directly.
+ \item
+ Does nothing, except issue a warning, if used in math mode.
+\end{itemize}
+
+\cs{SetFontScale} \sarg{} \marg{floating point expression}
+\KeepNextPar*
+
+Sets the font size by setting the font scale to the result of computing the \meta{floating point expression}.
+Adding the optional star instead increases the current font scale by the result of computing the \meta{floating point expression}.
+Sets the font baselineskip equal to the new font size \texttimes{} the value of the key \Key{baselineskip\-/size\-/ratio}.
+Does nothing, except issue a warning, if used in math mode.
+
+\cs{SetFontSize} \sarg{} \marg{dimen expression}
+\KeepNextPar*
+
+Sets the font size to the value of \meta{dimen expression}, appending a default unit of \unit{pt}.
+Adding the optional star instead increases the current font size by the result of \meta{dimen expression}, appending a default unit of \unit{pt}.
+Sets the font baselineskip equal to the new font size \texttimes{} the value of the key \Key{baselineskip\-/size\-/ratio}.
+Does nothing, except issue a warning, if used in math mode.
+
+\cs{ScaleFont} \marg{floating point expression}
+\KeepNextPar*
+
+Sets the font size equal to the current font size \texttimes{} the result of computing the \meta{floating point expression}.
+Sets the font baselineskip equal to the current font baselineskip \texttimes{} the result of computing the \meta{floating point expression}.
+Does nothing, except issue a warning, if used in math mode.
+
+\cs{SetFontSizeBaselineskip} \marg{dimen expression} \marg{skip expression}
+\KeepNextPar*
+
+Sets the font size to the value of \meta{dimen expression}, appending a default unit of \unit{pt}.
+Sets the font baselineskip to the value of \meta{skip expression}, appending a default unit of \unit{pt}.
+The font baselineskip must be greater than or equal to the font size.
+Does nothing, except issue a warning, if used in math mode.
+Can be used as an alternative to \cs{fontsize} + \cs{selectfont} as discussed in \S\ref{subsec:expandable}.
+
+\subsection{Testing and debugging}
+\label{subsec:debug}
+
+The commands documented here are intended primarily for testing and debugging.
+I have used them often when developing this package so I think users will find them helpful.
+
+\cs{PrintFontSizeParameters}
+\KeepNextPar*
+
+Prints the current font size parameters\---the font step, font scale, font size, and font baselineskip.
+The current font step will be left blank if it is undefined (as explained for \cs{CurrentFontStep} in \S\ref{subsec:expandable}).
+
+\cs{PrintAllFontSizeParameters}
+\KeepNextPar*
+
+Prints the font step, font scale, font size, and font baselineskip of each font size command from \cs{tiny} to \cs{Huge}.
+
+\cs{PrintSampleText} \sarg{} \marg{text}
+\KeepNextPar*
+
+Prints \meta{text} in each font size ordered from \cs{tiny} to \cs{Huge} each followed by a paragraph break.
+\meta{text} can contain \cs{par} tokens.
+Adding the optional star reverses the order of the font sizes.
+One useful way of printing example text is \cs{PrintSampleText}\allowbreak\texttt{\{\cs{PrintFontSizeCommand}:\allowbreak\textvisiblespace\allowbreak\cs{PrintFontSizeParameters}\}}.
+
+\cs{PrintFontSizeCommand}
+\KeepNextPar*
+
+Tests if the current font size and current font baselineskip equal the font size and font baselineskip, respectively, of any font size command from \cs{tiny} to \cs{Huge}.
+If so, prints the name of that font size command, including the backslash character.
+If not, prints \enquote{\string\undefined}.
+This package also provides a similar command \cs{CurrentFontSizeCommand} (\S\ref{subsec:expandable}), which is expandable and omits the backslash character.
+
+
+\section{Programming}
+\label{sec:programming}
+
+This section documents the \pkg{expl3} programming support provided by the \pkg{fontscale} package.
+
+\subsection
+ {%
+ Compatibility with
+ \texorpdfstring
+ {\cs{text_purify:n}}
+ {\textbackslash{}text\_purify:n}%
+ }
+\label{subsec:textpurify}
+
+\cs{text_purify:n} will correctly remove the formatting commands defined by this package, including \cs{fontscalesetup} and the commands documented in \S\ref{subsec:fontsize}.
+
+\subsection{Public functions and variables}
+\label{subsec:publicexpl3}
+
+This package does not define any public \pkg{expl3} functions.
+
+This package defines public \pkg{expl3} variables that store the font step, font scale, font size, and font baselineskip of each font size command from \cs{tiny} to \cs{Huge}.
+These variables should never be modified directly.
+Their values should be changed only by \cs{fontscalesetup}.
+
+Each takes the form:
+
+\verb|\c_fontscale_|\meta{font size command}\verb|_step_fp|
+\nopagebreak\newline
+\verb|\l_fontscale_|\meta{font size command}\verb|_scale_fp|
+\newline
+\verb|\l_fontscale_|\meta{font size command}\verb|_size_dim|
+\nopagebreak\newline
+\verb|\l_fontscale_|\meta{font size command}\verb|_baselineskip_skip|
+
+Exception:
+\cs{l_fontscale_normalsize_scale_fp} is not defined.
+The font scale of \cs{normalsize} is stored in \cs{c_fontscale_normalsize_scale_fp}.
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/gridset/LICENSE.md b/macros/latex/contrib/gridset/LICENSE.md
index 99a6973749..1863f2f61a 100644
--- a/macros/latex/contrib/gridset/LICENSE.md
+++ b/macros/latex/contrib/gridset/LICENSE.md
@@ -13,7 +13,7 @@ Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle
Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01
-oder später. Dieses Werk hat den LPPL-Verwaltungs-Status „maintained”
+oder später. Dieses Werk hat den LPPL-Verwaltungs-Status „maintained”.
Der aktuelle Verwalter und Autor dieses Werks ist Markus Kohm.
----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/gridset/README.md b/macros/latex/contrib/gridset/README.md
index 0a1963d1eb..a27c928e92 100644
--- a/macros/latex/contrib/gridset/README.md
+++ b/macros/latex/contrib/gridset/README.md
@@ -4,10 +4,14 @@ An experimental LaTeX package for semi-manual grid (a.k.a. in-register) setting
------------------------------------------------------------------------------
-LaTeX package `gridset`
-Copyright (c) 2008—2020 Markus Kohm
-Release: 2020-02-12 v0.3
-License: LPPL 1.3c (see LICENSE.md)
+LaTeX package `gridset`
+
+Copyright (c) 2008—2024 Markus Kohm
+
+Release: 2024-08-17 v0.4
+
+License: LPPL 1.3c (see LICENSE.md)
+
CTAN Location: https://ctan.org/pkg/gridset
------------------------------------------------------------------------------
@@ -32,9 +36,31 @@ The package is part of [TeX Live](https://tug.org/texlive) (and therefore
also [MacTeX](https://tug.org/mactex)) and [MiKTeX](http://miktex.org). Users
should use the packages provided by their TeX distribution.
-However, manual extraction can be used to try out the developer version.
+------------------------------------------------------------------------------
+
+For a semi-manual installation you can first create a local clone
+if the repository:
+
+```bash
+git clone https://github.com/komascript/gridset.git
+```
+
+Then enter the directory created while cloning the repository:
+
+```bash
+cd gridset
+```
+
+Last, but not least use `l3build` to install it locally:
+
+```bash
+l3build install --full
+```
+
+------------------------------------------------------------------------------
-To extract the package use:
+To do a completely manual installation, download `gridset.dtx`. Then extract
+it using:
```bash
tex gridset.dtx
@@ -48,3 +74,16 @@ mkindex gridset
pdflatex gridset.dtx
pdflatex gridset.dtx
```
+
+Now, you can either install it in the proper directory or copy `gridset.sty`
+to your document directory.
+
+------------------------------------------------------------------------------
+
+# How to Say Thank You for my Work
+
+Hey, I'm doing this as a hobby. So no need to say thank you. But I'm a vain
+fop, so I'm certainly up for a quick thank you by email. On komascript.de you
+can find an [explanation of my wishes](https://komascript.de/wunschliste) if
+you want to give more. If you don't understand German, just click to links at
+that page.
diff --git a/macros/latex/contrib/gridset/gridset.dtx b/macros/latex/contrib/gridset/gridset.dtx
index 68b251db55..29818473fb 100644
--- a/macros/latex/contrib/gridset/gridset.dtx
+++ b/macros/latex/contrib/gridset/gridset.dtx
@@ -2,7 +2,7 @@
%
% gridset.dtx
%
-%% Copyright (C) 2008-2020 Markus Kohm
+%% Copyright (C) 2008-2024 Markus Kohm
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -25,37 +25,17 @@
%%
%
%<*dtx>
-\def\FmtName{LaTeX2e}
-\ifx\FmtName\fmtname
- % Give me the package or the documentation
- \ifnum \catcode`\@=12\relax
- % Give me the documentation
- \ProvidesFile{gridset.dtx}
+\ifx\ProvidesFile\undfined\def\ProvidesFile#1[#2]{}\fi
+\ProvidesFile{gridset.dtx}
%</dtx>
%<*dtx|package|example>
%<package>\ProvidesPackage{gridset}
%<example>\ProvidesFile{gridsetexample.tex}
- [2020-02-12 v0.3 grid - a.k.a. in-register - setting]
+ [2024-08-17 v0.4 grid - a.k.a. in-register - setting]
%</dtx|package|example>
%<*dtx>
- \documentclass{ltxdoc}
- \begin{document}
- \RecordChanges
- \GetFileInfo{gridset.dtx}
- \DocInput{gridset.dtx}
-%</dtx>
-%<*dtx>
- \expandafter\expandafter\expandafter\enddocument
- \fi
-\else
- % Make the package
- \def\batchfile{gridset.dtx}
- \let\batchendinput\endinput
-%</dtx>
-%<*ins>
-%<ins>\def\batchfile{gridset.ins}
+\ifx\documentclass\undefined
\input docstrip.tex
-
\keepsilent
\askforoverwritefalse
\usedir{tex/latex/gridset}
@@ -98,12 +78,16 @@ about the files the work consists of.
\Msg{*}
\Msg{*********************************************************************}
}
-
-%</ins>
-%<*dtx>
+\else
+ \let\endbatchfile\relax
\fi
-\csname fi\endcsname
-\csname batchendinput\endcsname
+\endbatchfile
+\documentclass{ltxdoc}
+\begin{document}
+\RecordChanges
+\GetFileInfo{gridset.dtx}
+\DocInput{gridset.dtx}
+\end{document}
%</dtx>
% \fi ^^A meta-comment
%
@@ -313,6 +297,12 @@ about the files the work consists of.
% \item the x-coordinate of the absolute position,
% \item the y-coordinate of the absolute position.
% \end{itemize}
+% \begin{description}
+% \item[Todo:] Currently we use our own command \cs{newpos} to store the
+% position information in the \texttt{aux}-file. But with the extended
+% reference mechanism of \LaTeX{} since 2023-11-01 this should be replaced
+% by the new properties.
+% \end{description}
% \begin{macrocode}
\newcommand*{\SavePos}[1]{%
\begingroup
@@ -411,8 +401,17 @@ about the files the work consists of.
that won't be reported!}%
\fi
}
+% \end{macrocode}
+% \changes{0.4}{2024/08/17}{fix deactivation of
+% \cs{grid@unique@test}
+% (\href{https://github.com/komascript/gridset/issues/1}{Issue \#1})}
+% The test should be done only, when reading the \texttt{aux} file at
+% |\begin{document}|, but not later (e.g. at |\end{document}|). So we
+% deactivate the test after reading the \texttt{aux} file in
+% |\begin{document}|.
+% \begin{macrocode}
\AtBeginDocument{%
- \global\let\grid@unique@test\@gobble
+ \global\let\grid@unique@test\@gobbletwo
}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/gridset/gridset.pdf b/macros/latex/contrib/gridset/gridset.pdf
index 3f6a39a8e9..a2af21f205 100644
--- a/macros/latex/contrib/gridset/gridset.pdf
+++ b/macros/latex/contrib/gridset/gridset.pdf
Binary files differ
diff --git a/macros/latex/contrib/harmony/README b/macros/latex/contrib/harmony/README
index da777f5964..39f72b35f7 100644
--- a/macros/latex/contrib/harmony/README
+++ b/macros/latex/contrib/harmony/README
@@ -1,43 +1,26 @@
-harmony.sty 2007/05/04
+harmony 2024/08/01
-Copyright 2005 - 2007
+Copyright 2005 - 2024
Dagny Wegner <dagny.wegner@t-online.de>
-Arnim Wegner <arnim.wegner@t-online.de>
+Arnim Wegner <arnim.e.wegner@t-online.de>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
version 1.3 of this license or (at your option) any
later version.
-The latest version of this license is in
-http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions
-of LaTeX version 2005/12/01 or later.
-
-This work has the LPPL maintenance status `maintained'.
-
-The Current Maintainers of this work are
-Dagny Wegner and Arnim Wegner.
This work consists of the files harmony.sty,
harmony.tex, harmony.pdf, and Readme.
--------------------------------------------------------
-
-harmony.sty uses the packages ifthen and amssymb
-and the fonts lcirclew10, musix11, and musix13.
-
--------------------------------------------------------
+harmony.sty uses the packages ifthen, mathtools and amssymb
+and the fonts lcircle10, musix11 and musix13.
harmony.sty is a LaTeX2e package for typesetting
harmony symbols etc. in musicological texts;
usage: cf. harmony.pdf.
-Many commands in this package are only suitable
-for size 12pt !
harmony.sty ist ein LaTeX2e-Package zum Setzen von
Harmoniesymbolen etc. in musikwissenschaftlichen Texten;
Benutzung: vgl. harmony.pdf.
-Viele Befehle in diesem Package sind
-nur fr die Schriftgre 12pt geeignet!
diff --git a/macros/latex/contrib/harmony/harmony.pdf b/macros/latex/contrib/harmony/harmony.pdf
index 4b523de911..b792390663 100644
--- a/macros/latex/contrib/harmony/harmony.pdf
+++ b/macros/latex/contrib/harmony/harmony.pdf
Binary files differ
diff --git a/macros/latex/contrib/harmony/harmony.sty b/macros/latex/contrib/harmony/harmony.sty
index ce528cf085..1145113c4d 100644
--- a/macros/latex/contrib/harmony/harmony.sty
+++ b/macros/latex/contrib/harmony/harmony.sty
@@ -1,29 +1,30 @@
-%% harmony.sty 2007/05/04
-%% Copyright 2005 - 2007
+%% harmony.sty 2024/08/01
+%% Copyright 2005 - 2024
%% Dagny Wegner <dagny.wegner@t-online.de>
-%% Arnim Wegner <arnim.wegner@t-online.de>
+%% Arnim Wegner <arnim.e.wegner@t-online.de>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3 of this license or (at your option) any
% later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions
-% of LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainers of this work are
-% Dagny Wegner and Arnim Wegner.
%
% This work consists of the files harmony.sty,
% harmony.tex, harmony.pdf, and Readme.
% ==================================================================================
+\ProvidesPackage{harmony}[2024/08/01]
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{harmony}[2007/05/04]
\RequirePackage{ifthen}
\RequirePackage{amssymb}
+\RequirePackage{mathtools} % contains \overbracket
+%
+\newcounter{notekorr}
+\DeclareOption{8pt}{\setcounter{notekorr}{800}}
+\DeclareOption{9pt}{\setcounter{notekorr}{900}}
+\DeclareOption{10pt}{\setcounter{notekorr}{1000}}
+\DeclareOption{11pt}{\setcounter{notekorr}{1100}}
+\DeclareOption{12pt}{\setcounter{notekorr}{1200}}
+\DeclareOption{13pt}{\setcounter{notekorr}{1300}}
+\DeclareOption{14pt}{\setcounter{notekorr}{1400}}
\DeclareOption{sf}{\def\FAM{\sffamily}}
\DeclareOption{rm}{\def\FAM{\rmfamily}}
\ExecuteOptions{sf}
@@ -43,14 +44,31 @@
\newbox\nbxg
\newbox\nbxh
\newbox\nbxi
-\newfont{\KREIS}{lcirclew10}
-\newfont{\NOTEN}{musix13}
-\newfont{\noten}{musix11}% 2007/05/03
+\newcounter{notescl}
+\newcounter{fontscl}
%
-\newcommand{\Ohne}[2][0em]{%
+\ifthenelse{\value{notekorr}=0}%
+{\ifthenelse{\@ptsize<-2}{\setcounter{notescl}{800}}{}
+\ifthenelse{\equal{\@ptsize}{-2}}{\setcounter{notescl}{800}}{}
+\ifthenelse{\equal{\@ptsize}{-1}}{\setcounter{notescl}{900}}{}
+\ifthenelse{\equal{\@ptsize}{0}}{\setcounter{notescl}{1000}}{}
+\ifthenelse{\equal{\@ptsize}{1}}{\setcounter{notescl}{1100}}{}
+\ifthenelse{\equal{\@ptsize}{2}}{\setcounter{notescl}{1200}}{}
+\ifthenelse{\equal{\@ptsize}{3}}{\setcounter{notescl}{1300}}{}
+\ifthenelse{\equal{\@ptsize}{4}}{\setcounter{notescl}{1400}}{}
+\ifthenelse{\@ptsize>4}{\setcounter{notescl}{1400}}{}}
+{\setcounter{notescl}{\value{notekorr}}}
+%
+\newfont{\NOTEN}{musix13 scaled \value{notescl}}
+\newfont{\noten}{musix11 scaled \value{notescl}}
+\setcounter{fontscl}{\value{notescl}}
+\addtocounter{fontscl}{1000}
+\newfont{\KREIS}{lcircle10 scaled \value{fontscl}}
+%
+\newcommand{\Ohne}[2][0.17em]{%
\setbox\nbxi=\hbox{%
\FAM%
-\setbox\nbxa=\hbox{\sl\large /}%
+\setbox\nbxa=\hbox{\textsl\large\raisebox{0.2ex}{/}}%
#2%
\kern-0.8em%
\kern#1%
@@ -60,8 +78,14 @@
}%
\unhbox\nbxi%
}
+\let\Sans\Ohne
%
\newcommand{\Dohne}{\Ohne{D}}
+\let\Dsans\Dohne
+\newcommand{\DohneR}{\framebox{\Dohne}}
+\let\DsansR\DohneR
+\newcommand{\Dohner}{\frame{\Dohne}}
+\let\Dsansr\Dohner
%
\newcommand{\DD}{%
\setbox\nbxi=\hbox{%
@@ -73,6 +97,9 @@
\unhbox\nbxi%
}
%
+\newcommand{\DDR}{\framebox{\DD}}
+\newcommand{\DDr}{\frame{\DD}}
+%
\newcommand{\DS}{%
\setbox\nbxi=\hbox{%
\FAM%
@@ -96,7 +123,7 @@
\newcommand{\DDohne}{%
\setbox\nbxi=\hbox{%
\FAM%
-\setbox\nbxa=\hbox{\sl\large /}%
+\setbox\nbxa=\hbox{\textsl\large\raisebox{0.25ex}{/}}%
\raise0.2ex\hbox{D}%
\kern-0.5em%
\lower0.2ex\hbox{D}%
@@ -107,17 +134,23 @@
}%
\box\nbxi%
}
+\let\DDsans\DDohne
+%
+\newcommand{\DDohneR}{\framebox{\DDohne}}
+\let\DDsansR\DDohneR
+\newcommand{\DDohner}{\frame{\DDohne}}
+\let\DDsansr\DDohner
%
\newcommand{\VM}{%
\setbox\nbxg=\hbox{>}%
\setbox\nbxh=\hbox to \wd\nbxg{%
-\raise0.24ex\hbox{{\boldmath$\scriptscriptstyle{>}$\unboldmath}\hss}}% 2005/05/10
+\raise0.24ex\hbox{{\boldmath$\scriptscriptstyle{>}$\unboldmath}\hss}}%
\box\nbxh}
%
\newcommand{\UB}{%
\setbox\nbxg=\hbox{<}%
\setbox\nbxh=\hbox to \wd\nbxg{%
-\raise0.24ex\hbox{\boldmath$\scriptscriptstyle{<}$\unboldmath\hss}}% 2005/05/10
+\raise0.24ex\hbox{\boldmath$\scriptscriptstyle{<}$\unboldmath\hss}}%
\box\nbxh}
%
\newcommand{\HAa}[3]{%
@@ -243,6 +276,9 @@
{\HAc{#1}{#2}{#3}{#4}{#5}}%
}
%
+\def\HHR.#1.#2.#3.#4.#5.{\framebox{\HH.#1.#2.#3.#4.#5.}}%
+\def\HHr.#1.#2.#3.#4.#5.{\frame{\HH.#1.#2.#3.#4.#5.\hspace{0.17em}}}%
+%
\newcommand{\FERM}[2][0.1pt]{%
\setbox\nbxi=\hbox{%
\FAM%
@@ -287,15 +323,13 @@
\kern-\tmpdima\box\nbxb%
}}
%
-\newcommand{\Kr}[1]{%
-\ifthenelse{\equal{\@ptsize}{2}}{\@tempcnta=110}%
-{\ifthenelse{\equal{\@ptsize}{1}}{\@tempcnta=109}%
-{\@tempcnta=108}}%
+\newcommand{\Kr}[2][102]{%
+\ifthenelse{#1>110}{\@tempcnta=110}%
+{\ifthenelse{#1<100}{\@tempcnta=100}{\@tempcnta=#1}}
\setbox\nbxi=\hbox{%
-\FAM\small%
\setbox\nbxa=\hbox{#1}%
\setbox\nbxb=\hbox{\KREIS\char\@tempcnta}%
-\setbox\nbxc=\hbox to \wd\nbxb{\hss #1\hss}%
+\setbox\nbxc=\hbox to \wd\nbxb{\hss #2\hss}%
\tmpdima=0.5\ht\nbxa%
\advance\tmpdima by -0.4\dp\nbxa\relax%
\copy\nbxc%
@@ -332,8 +366,8 @@
{\raisebox{0.58ex}[8pt][2pt]{\kern-1pt\NOTEN\symbol{82}\kern0.3em}}}%
{\kern0.05em\ueber{#1}{#2}\kern0.05em%
}}}
-%
-\newcommand{\Ganz}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{9}}\kern1.35em}}
+% Noten
+\newcommand{\Ganz}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{9}}\kern1.5em}}
\newcommand{\Halb}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{8}\kern0.936em%
\raisebox{0.55ex}{\symbol{16}}}\kern0.2em}}
\newcommand{\Vier}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{7}\kern0.955em%
@@ -343,7 +377,7 @@
\newcommand{\Sech}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{7}\kern0.955em%
\raisebox{0.55ex}{\symbol{16}}}\symbol{41}\kern0.9em}}
\newcommand{\Zwdr}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{7}\kern0.955em%
-\raisebox{0.55ex}{\symbol{16}}}\symbol{42}\kern0.9em}}
+\raisebox{0.55ex}{\symbol{16}}\raisebox{1.3ex}{\symbol{16}}}\symbol{42}\kern0.9em}}
\newcommand{\GaPa}{{\NOTEN\kern0.055em\raisebox{0.25ex}{\symbol{60}}\kern0.05em}}
\newcommand{\HaPa}{{\NOTEN\kern0.055em\raisebox{0.25ex}{\symbol{60}}\kern0.05em}}
\newcommand{\ViPa}{{\NOTEN\kern0.05em\raisebox{-0.8ex}{\symbol{62}}\kern0.955em}}
@@ -351,28 +385,76 @@
\newcommand{\SePa}{{\NOTEN\kern0.15em\raisebox{-0.4ex}{\symbol{64}}\kern1.3em}}
\newcommand{\ZwPa}{{\NOTEN\kern0.25em\raisebox{-0.8ex}{\symbol{65}}\kern1.4em}}
\newcommand{\Pu}{{\NOTEN\kern-0.2em\raisebox{-0.5ex}{\symbol{24}}\kern1em}}
-\newcommand{\AAcht}{\Vier\kern0.1em\Vier{\NOTEN\kern-1.72em\raisebox{3.1ex}%
+\newcommand{\AAcht}{{\NOTEN\Vier\kern0.3em\Vier\kern-1.72em\raisebox{3.1ex}%
{\symbol{61}\kern-0.87em\symbol{61}}}}
-\newcommand{\AchtBL}% 2007/05/03
-{\kern0.135em\Vier%
-{\NOTEN\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}\kern0.09em}}
-\newcommand{\SechBL}% 2007/05/03
-{\kern0.135em\Vier%
-{\NOTEN\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
+\newcommand{\AchtBL}{{\NOTEN\Vier\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}}}
+\newcommand{\AchtBR}{{\NOTEN\Vier\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}}}
+\newcommand{\SechBL}{{\NOTEN\Vier\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
\kern-1.63em\raisebox{2.3ex}{\symbol{61}\kern-0.87em\symbol{61}}\kern0.09em}}
-\newcommand{\SechBl}% 2007/05/03
-{\kern0.135em\Vier%
-{\NOTEN\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
+\newcommand{\SechBl}{{\NOTEN\Vier\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
\kern-1.63em\raisebox{2.3ex}{{\noten\kern0.9em\symbol{61}}}\kern0.09em}}
-\newcommand{\AchtBR}% 2007/05/03
-{\kern0.135em\Vier%
-{\NOTEN\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}\kern-1em}}
-\newcommand{\SechBR}% 2007/05/03
-{\kern0.135em\Vier%
-{\NOTEN\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
-\kern-1.63em\raisebox{2.3ex}{\symbol{61}\kern-0.87em\symbol{61}}\kern-1.01em}}
-\newcommand{\SechBr}% 2007/05/03
-{\kern0.135em\Vier%
-{\NOTEN\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
-\kern-1.63em\raisebox{2.3ex}{{\noten\kern-0.12em\symbol{61}}}\kern-0.3em}}
-% etc. ... ! Define your own commands! \ No newline at end of file
+\newcommand{\SechBR}{{\NOTEN\Vier\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
+\kern-1.63em\raisebox{2.3ex}{\symbol{61}\kern-0.87em\symbol{61}}}}
+\newcommand{\SechBr}{{\NOTEN\Vier\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
+\kern-1.63em\raisebox{2.3ex}{{\noten\kern-0.12em\symbol{61}}}\kern0.87em}}
+%
+\newcommand{\Blkn}[2]{\raisebox{#2}{{\NOTEN\kern#1\symbol{61}}}}%
+%
+\newcommand{\Overset}[3][0pt]{\ensuremath{\overset{\raisebox{#1}{\scriptsize\ensuremath{#2}}}{#3}}}
+%
+\newcommand\achteltriole{%
+ \ensuremath{\NOTEN%
+ \Overset[-1ex]%
+ {\text{\itshape\tiny\kern0.7em 3}}%
+ {\AchtBR\kern-1.1em\Vier\kern0.4em\AchtBL}%
+ }%
+}
+%
+\newcommand\vierteltrioleA{%
+ \ensuremath{\NOTEN%
+ \Overset[-1ex]%
+ {\text{\itshape\tiny 3}}%
+ {\overbracket[0.45pt]{%
+ \rule{0pt}{2.4ex}\Vier\kern0.5em\Vier\kern0.5em\Vier\kern0.25em}%
+ }%
+ }%
+}
+%
+\newcommand\vierteltrioleB{%
+ \ensuremath{\NOTEN%
+ \Overset%
+ {\raisebox{1ex}{%
+ \rule{0.45pt}{1ex}%
+ \kern0.25em\raisebox{0.88ex}{\kern-0.3em\rule{1.15em}{0.45pt}}%
+ \raisebox{0.53ex}{\text{\itshape\tiny 3}}%
+ \raisebox{0.88ex}{\rule{1.15em}{0.45pt}}%
+ \kern-0.05em\rule{0.45pt}{1ex}%
+ }}%
+ {\Vier\kern0.5em\Vier\kern0.5em\Vier\kern0.3em}%
+ }%
+}
+%
+\newcommand\halbetrioleA{%
+ \ensuremath{\NOTEN%
+ \Overset[-1ex]%
+ {\text{\itshape\tiny 3}}%
+ {\overbracket[0.45pt]{%
+ \rule{0pt}{2.4ex}\Halb\kern0.5em\Halb\kern0.5em\Halb\kern0.25em}%
+ }%
+ }%
+}
+%
+\newcommand\halbetrioleB{%
+ \ensuremath{\NOTEN%
+ \Overset%
+ {\raisebox{1ex}{%
+ \rule{0.45pt}{1ex}%
+ \kern0.25em\raisebox{0.88ex}{\kern-0.3em\rule{1.15em}{0.45pt}}%
+ \raisebox{0.53ex}{\text{\itshape\tiny 3}}%
+ \raisebox{0.88ex}{\rule{1.15em}{0.45pt}}%
+ \kern-0.05em\rule{0.45pt}{1ex}%
+ }}%
+ {\Halb\kern0.5em\Halb\kern0.5em\Halb\kern0.3em}%
+ }%
+}
+% ================================================================================== \ No newline at end of file
diff --git a/macros/latex/contrib/harmony/harmony.tex b/macros/latex/contrib/harmony/harmony.tex
index 326aff42c3..7b163dc7ab 100644
--- a/macros/latex/contrib/harmony/harmony.tex
+++ b/macros/latex/contrib/harmony/harmony.tex
@@ -1,38 +1,29 @@
-%% harmony.sty 2007/05/04
-%% Copyright 2005 - 2007
+%% harmony.sty 2024/08/01
+%% Copyright 2005 - 2024
%% Dagny Wegner <dagny.wegner@t-online.de>
-%% Arnim Wegner <arnim.wegner@t-online.de>
+%% Arnim Wegner <arnim.e.wegner@t-online.de>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3 of this license or (at your option) any
% later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions
-% of LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainers of this work are
-% Dagny Wegner and Arnim Wegner.
%
% This work consists of the files harmony.sty,
% harmony.tex, harmony.pdf, and Readme.
-%====================================================================================
-\documentclass[12pt,origlongtable,pdftex]{scrartcl}
+% ==================================================================================
+\documentclass[paper=a4,fontsize=12pt,origlongtable]{scrartcl}
%
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{mathpazo}
-\usepackage[ansinew]{inputenc}
\usepackage{array}
\usepackage{longtable}
-\usepackage[pdftex,a4paper]{hyperref}
+\usepackage[pdftex]{hyperref}
%
-\usepackage{harmony}
+\usepackage[12pt]{harmony} % options: 8pt 9pt 10pt 11pt 12pt 13pt 14pt
%
-\setlength{\textheight}{240mm}
+\setlength{\voffset}{-10mm}
+\setlength{\textheight}{255mm}
\setlength{\overfullrule}{0pt}
\setlength{\extrarowheight}{2ex}
\setlength{\parindent}{0pt}
@@ -49,45 +40,37 @@ pdfstartview = {Fit},
%-------------------------------------------------------------------------------------
\begin{document}
%
-\title{harmony.sty}
-\author{Dagny Wegner \and Arnim Wegner}
-\date{2007/05/04}
+\title{harmony}
+\author{Dagny Wegner \and Arnim Wegner}
+\date{2024/08/01}
\maketitle
%
\vfill
%
\begin{center}
-Copyright 2005 - 2007\\
+Copyright 2005 - 2024\\
Dagny Wegner <dagny.wegner@t-online.de>\\
-Arnim Wegner <arnim.wegner@t-online.de>
+Arnim Wegner <arnim.e.wegner@t-online.de>
\end{center}
This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
+conditions of the \LaTeX\ Project Public License, either
version 1.3 of this license or (at your option) any
later version.
-The latest version of this license is in
-http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions
-of LaTeX version 2005/12/01 or later.
-This work has the LPPL maintenance status `maintained'.
-The Current Maintainers of this work are
-Dagny Wegner and Arnim Wegner.
This work consists of the files harmony.sty,
harmony.tex, harmony.pdf, and Readme.
%
\newpage
%
\begin{center}
-This work was developed for the doctoral dissertation in musicology of\\
+The package harmony was first developed for the doctoral dissertation in\\ musicology of
Dagny Wegner; cf. this dissertation for further examples.\\
-(Look at http://www.sub.uni-hamburg.de/opus/volltexte/2006/3047/ or
-http://www.chmtl.indiana.edu/ddm/DNclassical.html)\\[2ex]
-\textbf{Many commands in this package therefore are only suitable for size 12pt !}
+(Look at https://ediss.sub.uni-hamburg.de/handle/ediss/1483)\\[1ex]
+This package accepts the optional parameters 8pt, \dots ,14pt for the size\\ of the notes
+ independent of the fontsize of the document.
\end{center}
%
-\vspace{2ex}
-%
-\begin{longtable}{|l|l|}
+\vspace*{-5mm}
+\begin{longtable}{|l|c|}
%
\caption*{\textbf{Usage and Examples}}
\endfirsthead
@@ -95,9 +78,11 @@ http://www.chmtl.indiana.edu/ddm/DNclassical.html)\\[2ex]
\endhead
%
\hline
-input & output\\
+Input & Output\\
\hline\hline
\verb|\HH.X.u.v.w.z.|&\HH.X.u.v.w.z.\\
+\verb|\HHR.X.u.v.w.z.|&\HHR.X.u.v.w.z.\\
+\verb|\HHr.X.u.v.w.z.|&\HHr.X.u.v.w.z.\\
\verb|\HH.D.....|&\HH.D.....\\
\verb|\HH.D..7...|&\HH.D..7...\\
\verb|\HH.D.3....|&\HH.D.3....\\
@@ -105,19 +90,26 @@ input & output\\
\verb|\HH.D.3.9.7..|&\HH.D.3.9.7..\\
\verb|\HH.D.3.9.7.5.|&\HH.D.3.9.7.5.\\
\hline
-\verb|\Dohne|&\Dohne\\
+\verb|\Dohne, \Dsans|&\Dohne\\
+\verb|\DohneR, \DsansR|&\DohneR\\
+\verb|\Dohner, \Dsansr|&\Dohner\\
\verb|\DD|&\DD\\
-\verb|\DDohne|&\DDohne\\
+\verb|\DDR|&\DDR\\
+\verb|\DDr|&\DDr\\
+\verb|\DDohne, \DDsans|&\DDohne\\
+\verb|\DDohneR, \DDsansR|&\DDohneR\\
+\verb|\DDohner. \DDsansr|&\DDohner\\
\verb|\DS|&\DS\\
\verb|\Ds|&\Ds\\
\verb|\UB|&\UB\\
\verb|\VM|&\VM\\
-\verb|\Ohne{D}|&\Ohne{D}\\
-\verb|\Ohne[3pt]{D}|&\Ohne[3pt]{D}\\
-\verb|\Ohne[-3pt]{D}|&\Ohne[-3pt]{D}\\
\hline
\newpage
\hline
+\verb|\Ohne{D}, \Sans{D}|&\Ohne{D}\\
+\verb|\Ohne[3pt]{D}, \Sans[3pt]{D}|&\Ohne[3pt]{D}\\
+\verb|\Ohne[-3pt]{D}, \Sans[-3pt]{D}|&\Ohne[-3pt]{D}\\
+\hline
\verb|\Fermi{X}|&\Fermi{X}\\
\verb|\Ferli{X}|&\Ferli{X}\\
\verb|\Ferli[5pt]{T}|&\Ferli[5pt]{T}\\
@@ -125,10 +117,9 @@ input & output\\
\hline
\verb|\Umd{D}|&\Umd{D}\\
\verb|\Umd[5pt]{D}|&\Umd[5pt]{D}\\
-\hline
\verb|\Kr{a:}|&\Kr{a:}\\
\verb|\Kr{f:} \Kr{g:}|&\Kr{f:} \Kr{g:}\\
-\verb|\Kr{\small fis:}|&\Kr{\small fis:}\\
+\verb|\Kr[105]{fis:} (#1: 100 - 110)|&\Kr[105]{fis:}\\[1ex]
\hline
\verb|\Takt{u}{v}|&\Takt{u}{v}\\
\verb|\Takt{3}{4}|&\Takt{3}{4}\\
@@ -142,12 +133,12 @@ input & output\\
\verb|\Umd{\HH.D.3.9.7.5.}|&\Umd{\HH.D.3.9.7.5.}\\
\verb|\Umd[5pt]{\HH.D.3.9.7.5.}|&\Umd[5pt]{\HH.D.3.9.7.5.}\\
\verb|\HH.\DDohne.5\VM.9\VM.7..|&\HH.\DDohne.5\VM.9\VM.7..\\
-\verb|\HH.\Ohne[0,1em]{Es}.5-3.7...|&\HH.\Ohne[0,1em]{Es}.5-3.7...\\
+\verb|\HH.\Ohne[0.1em]{Es}.5-3.7...|&\HH.\Ohne[0,1em]{Es}.5-3.7...\\
\verb|\Ferli[-1pt]{\HH.\DDohne.5\VM.9\VM.7..}|&\Ferli[-1pt]{\HH.\DDohne.5\VM.9\VM.7..}\\
\hline
\newpage
\hline
-\verb|\Ganz|&\Ganz\\
+\verb|\Ganz|&\kern-0.1em\Ganz\\
\verb|\Halb|&\Halb\\
\verb|\Vier|&\Vier\\
\verb|\Acht|&\Acht\\
@@ -167,18 +158,28 @@ input & output\\
\verb|\SechBr|&\SechBr\\
\hline
\verb|\Vier\AchtBL|&\Vier\AchtBL\\
+\verb|\Vier\kern0.2em\AchtBL|&\Vier\kern0.2em\AchtBL\\
\verb|\Vier\SechBL|&\Vier\SechBL\\
+\verb|\Vier\kern0.2em\SechBL|&\Vier\kern0.2em\SechBL\\
\verb|\Vier\SechBl|&\Vier\SechBl\\
+\verb|\Vier\kern0.2em\SechBl|&\Vier\kern0.2em\SechBl\\
\verb|\AchtBR\Vier|&\AchtBR\Vier\\
\verb|\SechBR\Vier|&\SechBR\Vier\\
\verb|\SechBr\Vier|&\SechBr\Vier\\
-\verb|\SechBr\Vier\SechBl|&\SechBr\Vier\SechBl\\
+\verb|\SechBr\Vier\kern0.2em\SechBl|&\SechBr\Vier\kern0.2em\SechBl\\
\verb|\AchtBR\AchtBR\AchtBL|&\AchtBR\AchtBR\AchtBL\\
-\verb|\AchtBR\kern-0.15em\AchtBR\kern-0.15em\AchtBL|%
-&\AchtBR\kern-0.15em\AchtBR\kern-0.15em\AchtBL\\
\hline
\newpage
\hline
+\verb|\Blkn{0em}{0ex}|&\Blkn{0ex}{0em}\\
+\verb|\AchtBR\Blkn{0.04em}{2.07ex}|&\AchtBR\Blkn{0.04em}{2.07ex}\\
+\hline
+\verb|\achteltriole|&\kern-0.6em\achteltriole\\
+\verb|\vierteltrioleA|&\vierteltrioleA\\
+\verb|\vierteltrioleB|&\vierteltrioleB\\
+\verb|\halbetrioleA|&\halbetrioleA\\
+\verb|\halbetrioleB|&\halbetrioleB\\
+\hline
\verb|\GaPa|&\GaPa\\
\verb|\HaPa|&\HaPa\\
\verb|\ViPa|&\ViPa\\
@@ -217,13 +218,13 @@ rm&rmfamily\\
\newcommand{\Str}[2][0.5]{\raise#1ex\hbox to #2em{\hrulefill}}
\newcommand{\ST}{\h0.03h\Str[0.65]{0.27}\h0.03h}
%
-\h9h\Kr{g:}%
+\h9h\Kr[103]{g:}%
\h1h\HH.\DDohne.5\VM.9\VM.7..%
\h0,5h\HH.D..6.4..%
\h0,5h\HH.\DDohne.3.9\VM.7..%
\h0,5h\HH.\Dohne.7.9\VM...%
\h0,5h\HH.T.3....\\[1ex]
-\h17h\Kr{d:}%
+\h17h\Kr[102]{d:}%
\h0,5h\Umd[1ex]{\HH.S.3....}%
\h0,5h\HH.\DD.5\VM.7...%
\h0,5h\HH.D..8\Str[0,65]{1,2}7\ST6\ST5.8\ST6\ST4\Str[0,65]{2}3.6\ST5\ST8%
@@ -237,13 +238,13 @@ rm&rmfamily\\
\newcommand{\Str}[2][0.5]{\raise#1ex\hbox to #2em{\hrulefill}}
\newcommand{\ST}{\h0.03h\Str[0.65]{0.27}\h0.03h}
%
-\h9h\Kr{g:}%
+\h9h\Kr[103]{g:}%
\h1h\HH.\DDohne.5\VM.9\VM.7..%
\h0,5h\HH.D..6.4..%
\h0,5h\HH.\DDohne.3.9\VM.7..%
\h0,5h\HH.\Dohne.7.9\VM...%
\h0,5h\HH.T.3....\\[1ex]
-\h17h\Kr{d:}%
+\h17h\Kr[102]{d:}%
\h0,5h\Umd[1ex]{\HH.S.3....}%
\h0,5h\HH.\DD.5\VM.7...%
\h0,5h\HH.D..8\Str[0,65]{1,2}7\ST6\ST5.8\ST6\ST4\Str[0,65]{2}3.6\ST5\ST8%
diff --git a/macros/latex/contrib/hebdomon/README.md b/macros/latex/contrib/hebdomon/README.md
new file mode 100644
index 0000000000..cb581a6ab0
--- /dev/null
+++ b/macros/latex/contrib/hebdomon/README.md
@@ -0,0 +1,18 @@
+# Hebdomon - A Documentclass for Assignment Preparation
+
+## Description
+
+Hebdomon is a latex documentclass for streamlining document creation in latex. This
+package does not ovewrite any TeX or LaTeX commands so the user could use their own
+macros or other commands as they wish.
+
+A manual is written which can be seen in HebdomonGuide which showcases some commands written for the class.
+
+## Author
+
+This package is maintained by D. T. McGuiness: dtm@mci4me.at
+
+## Licence
+
+Released under the LaTeX Project Public License v1.3c or later.
+See https://www.latex-project.org/lppl.txt
diff --git a/macros/latex/contrib/hebdomon/doc/HebdomonGuide.pdf b/macros/latex/contrib/hebdomon/doc/HebdomonGuide.pdf
new file mode 100644
index 0000000000..f458c73d8e
--- /dev/null
+++ b/macros/latex/contrib/hebdomon/doc/HebdomonGuide.pdf
Binary files differ
diff --git a/macros/latex/contrib/hebdomon/doc/HebdomonGuide.tex b/macros/latex/contrib/hebdomon/doc/HebdomonGuide.tex
new file mode 100644
index 0000000000..714857cf40
--- /dev/null
+++ b/macros/latex/contrib/hebdomon/doc/HebdomonGuide.tex
@@ -0,0 +1,461 @@
+% Load the base class
+\documentclass[minted, draw]{../tex/hebdomon}
+
+\begin{document}
+
+\title{Hebdomon \\ Report and Documentation Standard}
+\author{v0.1 - Angry Avocado}
+\StudentName{D. T. McGuiness}
+\date{dtm@mci4me.at}
+
+\publishers{
+ \begin{tabular}[!b]{rl}
+ \textbf{Student Name} & xxxxx \\[3pt]
+ \textbf{Student Number} & xxxxx \\[3pt]
+ \textbf{Module Name} & xxxxx
+ \end{tabular}\\[20pt]
+ }
+
+\maketitle
+\dominitoc
+\tableofcontents
+\newpage
+
+\Chapter{The Hebdomon Template}
+\Section{Introduction}
+
+This document is designed to abstract a significant portion of the
+commands and MACROs to hide away the programming aspect and ease into
+LaTeX programming. While some commands are have been changed \hlight{NO}
+command has been overwritten so feel free to use the original ones
+if you wish.
+
+\begin{warning}
+ As to the best of the authors knowledge, the original commands should work
+ but the aesthetics may be compromised.
+\end{warning}
+
+\Section{Title Formatting}
+
+To begin a new content, always start the content with a chapter heading. To
+insert the chapter with an additional \lstinline[columns=fixed]{minitoc}
+use \lstinline[columns=fixed]{\Chapter}, which produces an heading as
+you see at the beginning of this page, to have a heading without
+a \lstinline[columns=fixed]{minitoc} use the standard
+\lstinline[columns=fixed]{\chapter}.
+
+The document relies on the user to use the \hlight{correct} title commands to
+keep the formatting consistent. The commands that starting with a
+capital letter are the overloaded commands of the standard ones.
+The following are the current ones:
+%
+\begin{code}{python}
+\Chapter{...}
+\Section{...}
+\Subsection{...}
+\Subsubsection{...}
+\end{code}
+%
+\begin{warning}
+ Unless there is a specific reason, it is suggested to use the aforementioned
+ commands. However, original LaTeX command should work as well if you want to use.
+\end{warning}
+
+\Subsection{Page Geometry}
+
+The page geometry is set to the following settings. This is done using the
+standard package \pcode{\usepackage{geometry}} which is defined in the
+\pcode{Hebdomon.cls}.
+%
+\begin{itemize}[leftmargin=!,labelindent=-29.2pt]
+ \item[\textbf{top}] 2.5cm,
+ \item[\textbf{right}] 2.0cm,
+ \item[\textbf{bottom}] 2.5cm,
+ \item[\textbf{left}] 3.0cm.
+\end{itemize}
+%
+\Section{Image Positioning}
+%
+The image positioning could be done with the following code snippet:
+%
+\begin{code}{latex}
+\begin{figure}[ht]
+ \centering
+ \includegraphics[options]{figures/path.pdf}
+ \caption{\label{fig:label} }
+\end{figure}
+\end{code}
+%
+Here there are a few options worth mentioning:
+%
+\begin{hgitemize}
+ \item[\pcode{figures/path}] The place where the image is kept. If the
+ image is in the same folder where the main.tex file resides, it is as
+ simple as writing the files name. If the file is in a folder called
+ image, just write \pcode{image/innsbruck.jpg}. Finally if the image is
+ in a higher directory (i.e., image is in folderA/innsbruck.jpg and the
+ main tex is in folderA/document/main.tex then the path becomes \pcode{../innsbruck.jpg}
+ \item[\pcode{\caption{..}}] Where you write the caption of the image.
+ For consistency make sure every image has a caption as if the image does not
+ need a caption, maybe it not be present to begin with.
+ \item[\pcode{label{}}] This is an identifier for you to use when you need
+ to cite this Figure in a place somewhere. For example if you were to have
+ and image with the following:
+\end{hgitemize}
+%
+\begin{code}{latex}
+\begin{figure}[ht]
+ \centering
+ \includegraphics[width=\textwidth]{figures/path.pdf}
+ \caption{A photo I found on the web.}\label{fig:innsbruck}
+\end{figure}
+\end{code}
+%
+\begin{hgitemize}
+ \item[] Now this image is referenced as \pcode{fig:innsbruck}, which
+ means if we write the following:
+\end{hgitemize}
+%
+\begin{code}{text}
+To see the image, have a look at Figure \ref{fig:innsbruck}
+\end{code}
+%
+This line of command will be presented as
+%
+\begin{excerpt}
+ To see the image, have a look at Figure 1.1.
+\end{excerpt}
+%
+Finally you can see the image here as well.
+%
+\begin{figure}[ht]
+ \centering
+ \includegraphics[width=\linewidth]{figures/innsbruck.jpg}
+ \caption{The famous Innsbruck houses near the river Inn. This image is
+ placed with a width value of \pcode{width=\linewidth}. This is also
+ a good opportunity to showcase the hanging behaviour of the figure
+ caption.}
+\end{figure}
+%
+\Section{Defined Environments}
+%
+\begin{hgitemize}
+ \item[\pcode{excerpt}] The template relies on the excellent \lstinline[columns=fixed]{tcolorbox}
+ package for formatting the boxes within the document and for that end different styles were created.
+ \item[] Sometimes one needs to quote either a proverb or to create drama, for this use
+ the \lstinline[columns=fixed]{excerpt} environment with the following notation and effect.
+\end{hgitemize}
+%
+\begin{code}{latex}
+\begin{excerpt}
+ To be, or not to be...
+\end{excerpt}
+\end{code}
+%
+\begin{hgitemize}
+ \item[] Compiling this code snippet would show as in the document
+\end{hgitemize}
+%
+\begin{excerpt}
+ To be, or not to be...
+\end{excerpt}
+%
+\begin{itemize}[leftmargin=!,labelindent=-29.2pt]
+ \item[\pcode{code}] During the preparation of your document, it is useful to showcase
+ some code either in the shape of all the document or a snippet of it.
+ There are two (\hlight{2}) ways of doing this where the first one will be discussed here.
+ \item[] For example to print out a hello world in python, please use the following environment
+\end{itemize}
+%
+\begin{verbatim}
+\begin{code}{python}
+print("Hello, World!")
+\end{code}
+\end{verbatim}
+%
+Producing the following:
+%
+\begin{code}{python}
+print("Hello, World!")
+\end{code}
+%
+The class also come with some predefined environments to modify the behaviour/aesthetics of the document.
+%
+Highlighting text is \hlight{very easy}, here is an example on how to write one.
+
+\begin{code}{latex}
+Highlighting text is \hlight{very easy}, here is an example:
+\end{code}
+
+\begin{itemize}[leftmargin=!,labelindent=-29.2pt]
+ \item[\pcode{example}] Sometimes you need to showcase an example or
+ need to highlight a certain idea.
+ For these things the environment Example could be useful.
+ \item[] For example to show as simple example or give a slight attention to a topic you can do the following.
+\end{itemize}
+
+\begin{example}
+ This is an example. This could be anything which you would like to have a certain amount of
+ attention but not too much as to distract from the flow of the document.
+\end{example}
+
+\begin{itemize}[leftmargin=!,labelindent=-29.2pt]
+ \item[\pcode{highlight}] Or sometimes you need to give a clear break to the flow of the
+ document and ask the reader to look at your banner. For that use highlight.
+\end{itemize}
+
+\begin{highlight}
+ Hey! Pay attention as this is a highlight box.
+\end{highlight}
+
+\Subsection{Writing Equations}
+%
+One of the strong suits of LaTeX compared to other editors and programs is
+it simplicity and ease of use methods of writing equations. Consider the
+following equation:
+%
+\begin{equation*}
+ f(x) = x^2 + 2x + 1
+\end{equation*}
+%
+In code form this would be written as:
+%
+\begin{code}{latex}
+ \begin{equation*}
+ f(x) = x^2 + 2x + 1
+ \end{equation*}
+\end{code}
+%
+All equations that has their newline and centre staged are mostly written
+in an environment where it has a \pcode{begin} and an \pcode{end}. You may
+have noticed the asterisks sign just after the equation. This implies the
+environment is \hlight{not numbered}, meaning you won't be able to
+reference it. This is used to limit the numbering of equations to just the
+essential parts in the document and not reach 3 digits by the time you are
+in page 8. For a numbered equation like the following
+%
+\begin{equation}
+ f(x) = x^2 + 2x + 1
+\end{equation}
+%
+You only need to do:
+%
+\begin{code}{latex}
+ \begin{equation}\label{eq:quad}
+ f(x) = x^2 + 2x + 1
+ \end{equation}
+\end{code}
+%
+where \pcode{\label{eq:quad}} is the equation reference label.
+%
+You could also make matrices as well as \pcode{amsmath} is preloaded into this template.
+%
+\Subsection{Designing a Table}
+%
+Finally, no template is done without someone telling you how a table should be designed.
+%
+Below is a standard table
+%
+\begin{table}[!ht]
+ \begin{NiceTabular}{rX}[rules/color=[gray]{0.9},rules/width=1pt]
+ \CodeBefore
+ \rowcolors{1}{black!5}{}
+ \rowcolors{3}{blue!5}{}
+ \Body
+ \toprule
+ \textbf{Section} & \textbf{Scientific Method Step} \\
+ \midrule
+ \textbf{Introduction} & states your hypothesis \\
+ \textbf{Methods} & details how you tested your hypothesis \\
+ \textbf{Results} & provides raw (i.e., uninterpreted) data collected \\
+ \textbf{Discussion} & considers whether the data you obtained support the hypothesis \\
+ \bottomrule
+ \end{NiceTabular}
+ \caption{A Detailed look into the scientific method.}
+\end{table}
+%
+And the code used to generate it:
+%
+\begin{code}{latex}
+\begin{table}[!ht]
+ \begin{NiceTabular}{rX}[rules/color=[gray]{0.9},rules/width=1pt]
+ \CodeBefore
+ \rowcolors{1}{black!5}{}
+ \rowcolors{3}{blue!5}{}
+ \Body
+ \toprule
+ \textbf{Section} & \textbf{Scientific Method Step} \\
+ \midrule
+ \textbf{Introduction} & states hypothesis \\
+ \textbf{Methods} & how you tested hypothesis \\
+ \textbf{Results} & provides raw data collected \\
+ \textbf{Discussion} & whether it support the hypothesis \\
+ \bottomrule
+ \end{NiceTabular}
+ \caption{A Detailed look into the scientific method.}
+\end{table}
+\end{code}
+
+\Chapter{Plotting your data using PGF/TikZ}
+
+\Section{Introduction}
+
+PGFplots and Tikz are powerful scripting languages allowing you to draw high-quality diagrams
+using only a programming language. PGFplots are generally used for plotting data from a wide
+variety of representations from simple 2D plots to complex 3D geometries.
+\\
+But wikipedia description put it best:
+
+\begin{excerpt}
+ PGF/TikZ is a pair of languages for producing vector graphics
+ (e.g., technical illustrations and drawings) from a geometric/algebraic description, with
+ standard features including the drawing of points, lines, arrows, paths, circles,
+ ellipses and polygons. PGF is a lower-level language, while TikZ is a set of higher-level
+ macros that use PGF. The top-level PGF and TikZ commands are invoked as TeX macros,
+ but in contrast with PSTricks, the PGF/TikZ graphics themselves are described in a
+ language that resembles MetaPost.
+\end{excerpt}
+
+For more info please look at the documentation \href{https://tikz.dev/pgfplots/}{here}.
+It is of course up to the user to select which graphical software to produce the necessary
+visual components but unless it requires complex functions/processing, it would be be easier
+to have it in PGF/TikZ format for easy editing/maintenance.
+
+For this manual we will be looking at the three (\hlight{3}) plot types you may
+encounter in your studies.
+%
+\Subsection{A Simple 2D Plot}
+%
+2D plots are simple yet powerful to show the relation of a single parameters
+and its related function.
+Below is an example of a simple comparison of two (\hlight{2}) functions.
+%
+\begin{figure}[!ht]
+ \centering
+ \begin{tikzpicture}
+ \begin{axis}[hebdomon, xlabel = \(x\), ylabel = {\(f(x)\)}]
+ %
+ \addplot [domain=-10:10, samples=100,red]{x^3 - 7*x - 1};
+ \addlegendentry{\(x^2 - 2x - 1\)}
+ %
+ \addplot [domain=-10:10, samples=100, blue]{x^2 + 6*x + 8};
+ %
+ \addlegendentry{\(x^2 + 2x + 1\)}
+ %
+ \end{axis}
+ \end{tikzpicture}
+ \caption{This is an example of a 2D PGF plot comparing
+ two functions where these functions are calculated using
+ PGF itself rather than entering/reading from data.}
+\end{figure}
+%
+The image above is generated using the following code:
+
+\begin{code}{latex}
+\begin{figure}[!ht]
+ \centering
+ \begin{tikzpicture}
+ \begin{axis}[hebdomon, xlabel = \(x\), ylabel = {\(f(x)\)}]
+ %
+ \addplot [domain=-10:10, samples=100,red]{x^3 - 7*x - 1};
+ \addlegendentry{\(x^2 - 2x - 1\)}
+ %
+ \addplot [domain=-10:10, samples=100, blue]{x^2 + 6*x + 8};
+ %
+ \addlegendentry{\(x^2 + 2x + 1\)}
+ %
+ \end{axis}
+ \end{tikzpicture}
+ \caption{This is an example of a 2D PGF plot comparing
+ two functions where these functions are calculated using
+ PGF itself rather than entering/reading from data.}
+\end{figure}
+\end{code}
+
+As can be seen it is relatively standard to create plots. Some aspect
+which need mentioning.
+
+\begin{hgitemize}
+ \item[\pcode{\addplot}] You invoke this command when you want to
+ create a plot. In the square brackets (i.e., []) you insert your
+ \hlight{configuration} of your plot. The most important ones are
+ \begin{itemize}
+ \item[\pcode{domain}] the range in which the function will be
+ calculated
+ \item[\pcode{sample}] the number of calculations will be done
+ within the defined domain.
+ \end{itemize}
+\end{hgitemize}
+
+\Subsection{Plotting 3D plots}
+
+Plotting data with PGFplots is also quite possible and will generate
+great plot (as long as it is not massively complicated). For more
+information on the precautions on designing 3D plots, please have a look
+at \href{https://tikz.dev/pgfplots/reference-3dplots}{here}.
+
+Below is the prototypical plot to showcase the 3D capabilities of PGF:
+
+\begin{figure}[!ht]
+ \centering
+ \begin{tikzpicture}
+ \begin{axis}[view={25}{30},mark layer=like plot]
+ \addplot3 [
+ surf,
+ shader=faceted,
+ fill opacity=0.75,
+ samples=25,
+ domain=-4:4,
+ y domain=-4:4,
+ on layer=main,
+ ] {x^2-y^2};
+ \end{axis}
+ \end{tikzpicture}
+ \caption{An example 3D plot done wit PGFplots.}
+\end{figure}
+
+And, of course the code for generating the plot is given as follows:
+
+\begin{code}{latex}
+\begin{figure}[!ht]
+ \centering
+ \begin{tikzpicture}
+ \begin{axis}[view={25}{30},mark layer=like plot]
+ \addplot3 [
+ surf,
+ shader=faceted,
+ fill opacity=0.75,
+ samples=25,
+ domain=-4:4,
+ y domain=-4:4,
+ on layer=main,
+ ] {x^2-y^2};
+ \end{axis}
+ \end{tikzpicture}
+ \caption{An example 3D plot done wit PGFplots.}
+\end{figure}
+\end{code}
+
+Some options worth mentioning are as follows:
+
+\begin{hgitemize}
+ \item[\pcode{surf}] Generates a \hlight{surface} based on the 2D
+ data it was given (in this case these are $x$ and $y$.
+ \item[\pcode{shader}] Describes, basically how each segment should be
+ filled.
+ \item[\pcode{samples}] Similar to 2D plots, tells how many data points will
+ be measured. However, make a note that 3D is significantly more taxing
+ on the TeX memory than 2D and making this sampling high may result in
+ exceeding the memory limit.
+\end{hgitemize}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-command-extra-options: "-shell-escape"
+%%% TeX-master: t
+%%% TeX-engine: luatex
+%%% End:
+
diff --git a/macros/latex/contrib/hebdomon/doc/figures/innsbruck.jpg b/macros/latex/contrib/hebdomon/doc/figures/innsbruck.jpg
new file mode 100644
index 0000000000..c42a2a0580
--- /dev/null
+++ b/macros/latex/contrib/hebdomon/doc/figures/innsbruck.jpg
Binary files differ
diff --git a/macros/latex/contrib/hebdomon/tex/hebdomon.cls b/macros/latex/contrib/hebdomon/tex/hebdomon.cls
new file mode 100644
index 0000000000..33277f76c3
--- /dev/null
+++ b/macros/latex/contrib/hebdomon/tex/hebdomon.cls
@@ -0,0 +1,412 @@
+% Hebdomon document class for use in report and assessment writing
+% Written by D. T. McGuiness: dtm@mci4me.at
+
+% v0.1 - Angry Avocado [WS2024]
+
+\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+\ProvidesClass{hebdomon}[2024/08/08 v0.1 Report and Documentation standard]
+
+% This document is based on the excellent KOMA Script scrreprt class
+% The following options are declared beforehand.
+
+\RequirePackage{ifthen} % require an if-else loop to
+% choose depending on the field
+
+% Allows students to choose which package for code printing.
+
+\newboolean{mnt} % set bool operator for minted
+\newboolean{lst} % set bool operator for lstlisting
+\newboolean{drw} % set bool operator for PGF/TikZ
+
+%-OPTION: set option to choose minted code printing package
+\DeclareOption{minted}{
+ \setboolean{mnt}{true}
+}
+
+%-OPTION: set option to choose lstlisting code printing package
+\DeclareOption{lstlisting}{
+ \setboolean{lst}{true}
+}
+
+%-OPTION: set option to choose PGF/TikZ plotting packages
+\DeclareOption{draw}{
+ \setboolean{drw}{true}
+}
+
+\DeclareOption*{
+ \PassOptionsToClass{\CurrentOption}{scrreprt}
+}
+\ExecuteOptions{}
+\ProcessOptions \relax
+
+% Load the base class to create the custom template
+\LoadClass[
+ bibliography = totoc,
+ headings = big,
+ captions = tableheading,
+ chapterprefix = true,
+]{scrreprt}
+
+% Page Geometry -----------------------------------------------------------
+% Define the default page geometry
+\RequirePackage[
+ left = 3.0cm,
+ right = 2.0cm,
+ top = 2.5cm,
+ bottom = 2.5cm]{geometry}
+
+% Required Packages -------------------------------------------------------
+\RequirePackage{nicematrix} % For modern table design
+\RequirePackage{booktabs} % To access \midrule \toprule \bottomrule
+
+% For use in referencing purposes
+\RequirePackage[
+ backend=bibtex]{biblatex}
+
+\RequirePackage{graphicx} % To enable image insertion
+\RequirePackage{environ} % To allow new environments with Environ
+
+
+\RequirePackage{lmodern}
+\RequirePackage[sfdefault]{FiraSans}
+
+\RequirePackage{minitoc}
+\RequirePackage{setspace}
+
+\RequirePackage{hyperref} % Allow the use of hyperlink within document
+
+\RequirePackage{enumitem}
+
+\RequirePackage{amsmath}
+
+\usepackage[labelfont=bf]{caption} % Set the caption style to bold
+
+\RequirePackage{titlesec}
+
+% %%%%% ----- Colour Definitions ------ %%%%%
+\RequirePackage{xcolor}
+
+% Define the MCI colours.
+\definecolor{mciRed}{HTML}{821131}
+\definecolor{mciBlue}{HTML}{004983}
+\definecolor{mciOrange}{HTML}{fe640b}
+\definecolor{quoteColour}{HTML}{CBA6F7}
+\definecolor{nord7}{HTML}{81a1c1}
+\definecolor{norda}{HTML}{bf616a}
+\definecolor{nord9}{HTML}{5e81ac}
+\definecolor{nord13}{HTML}{ebcb8b}
+\definecolor{nord14}{HTML}{a3be8c}
+
+% %%%%% ----- Code Presentation ----- %%%%%
+% To make this class more compatible and avoid questions about pygments,
+% the author has decided to use listings for code presentation, instead of
+% minted.
+\RequirePackage{listings}
+
+\lstset{
+ aboveskip={1.3\baselineskip},
+ basicstyle=\small\ttfamily\linespread{4},
+ breaklines=false,
+ backgroundcolor = \color[HTML]{eff1f5},
+ columns=flexible,
+ commentstyle=\color[HTML]{6c6f85}\ttfamily,
+ escapechar=@,
+ extendedchars=true,
+ identifierstyle=\color{black},
+ inputencoding=latin1,
+ keywordstyle=\color[HTML]{fe640b},
+ language=Python,
+ ndkeywordstyle=\color[HTML]{228B22},
+ numbers=left,
+ numberstyle=\tiny,
+ prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
+ showstringspaces=false,
+ stringstyle=\color[HTML]{40a02b}\ttfamily,
+ upquote=true,
+ emph={None},
+ emphstyle={\color[HTML]{FE640B}},
+ % keywordstyle=[1]{\color[HTML]{8839ef}},
+ % morekeywords={(,)},
+ keywordstyle=[2]\color[HTML]{D20F39},
+ keywordstyle={[3]\color[HTML]{8839ef}},
+ keywords=[3]{x},
+}
+
+% \lstset{style=mystyle}
+
+% New Environment Definitions ---------------------------------------------
+% To create environments tcolorbox package is required to make them
+% aesthetically pleasing.
+\RequirePackage{tcolorbox}
+\tcbuselibrary{breakable, minted, skins,theorems, hooks, most}
+
+% %%%%% ----- tcolorbox Templates ----- %%%%%
+
+% Define the excerpt environment style.
+\tcbset{%
+ quoteTemplate/.style={%
+ enhanced,
+ breakable,
+ arc=0pt,
+ outer arc=0pt,
+ toprule=0pt,
+ rightrule=0pt,
+ bottomrule=0pt,
+ leftrule=1mm,
+ colback=white,
+ colframe=mciRed,
+ detach title
+ }%
+}%
+
+\tcbset{%
+ blockTemplate/.style={%
+ enhanced,
+ breakable,
+ arc=0pt,
+ outer arc=0pt,
+ toprule=0pt,
+ rightrule=0pt,
+ bottomrule=0pt,
+ leftrule=1mm,
+ colback=#1!25,
+ colframe=#1,
+ coltitle=black,
+ detach title
+ }%
+}%
+
+% %%%%% --------------------------------%%%%%
+
+% Environment used to insert quotations.
+\NewEnviron{excerpt}[1][]{%
+ \begin{tcolorbox}[blockTemplate=nord7]
+ \BODY
+ \end{tcolorbox}
+}%
+
+\NewEnviron{example}[1][]{%
+ \begin{tcolorbox}[blockTemplate=nord14]
+ \BODY
+ \end{tcolorbox}
+}%
+
+\NewEnviron{highlight}[1][]{%
+ \begin{tcolorbox}[blockTemplate=nord13]
+ \BODY
+ \end{tcolorbox}
+}%
+
+\NewEnviron{theory}[1][]{%
+ \begin{tcolorbox}[blockTemplate=black]
+ \BODY
+ \end{tcolorbox}
+}%
+
+\NewEnviron{warning}[1][]{%
+ \begin{tcolorbox}[blockTemplate=norda]
+ \BODY
+ \end{tcolorbox}
+}%
+
+\NewEnviron{hgitemize}[1][]{%
+ \begin{itemize}[leftmargin=!,labelindent=-29.2pt]
+ \BODY
+ \end{itemize}
+}%
+
+
+
+
+
+% KOMA-Script Configuration -----------------------------------------------
+
+\addtokomafont{chapterprefix}{\raggedleft}
+\addtokomafont{chapter}{\fontsize{30}{38}\selectfont}
+\addtokomafont{section}{\huge}
+\addtokomafont{subsection}{\Large}
+\addtokomafont{subsubsection}{\large}
+
+% Set the fontstyle of minitoc to that of the document
+\renewcommand{\mtifont}{\large\sffamily}
+\renewcommand{\mtcfont}{\small\sffamily}
+\renewcommand{\mtcSfont}{\small\sffamily}
+\renewcommand{\mtcSSfont}{\small\sffamily}
+\renewcommand{\mtcSSSfont}{\small\sffamily}
+
+\newcommand{\StudentName}[1]{\author{#1}}
+
+% Set the depth of TOC
+\setcounter{secnumdepth}{3} % number subsubsections
+\setcounter{tocdepth}{3} % list subsubsections
+
+% Configure the document titles
+\newcommand{\Chapter}[1]{\chapter{\textcolor{mciBlue}{#1}}\minitoc}
+\newcommand{\Section}[1]{\section{\textcolor{mciBlue}{#1}}}
+\newcommand{\Subsection}[1]{\subsection{\textcolor{mciBlue}{#1}}}
+\newcommand{\Subsubsection}[1]{\subsubsection{\textcolor{mciBlue}{#1}}}
+
+\newcommand{\hlight}[1]{\textcolor{mciOrange}{#1}}
+
+
+% Configure the baseline of the document
+\renewcommand{\baselinestretch}{1.2}
+
+\renewcommand*{\chapterformat}{%
+ \mbox{\scalebox{1.5}{\chapappifchapterprefix{\nobreakspace}}%
+ \scalebox{4}{\color{mciRed}\thechapter\autodot}\enskip}}
+
+\newcommand{\heading}[1]{\subsubsection*{$\blacksquare$ #1}}
+\newcommand{\marginsecnumber}[1]{%
+ \makebox[0pt][r]{#1\hspace{6pt}}%
+}
+
+\titleformat{\section} {\normalfont\Large\bfseries}
+{\marginsecnumber\thesection} {0pt} {}
+\titleformat{\subsection} {\normalfont\large\bfseries}
+{\marginsecnumber\thesubsection} {0pt} {}
+\titleformat{\subsubsection}
+{\normalfont\normalsize\bfseries}
+{\marginsecnumber\thesubsubsection}
+{0pt} {}
+\titleformat{\paragraph}[runin]
+{\normalfont\normalsize\bfseries}
+{\marginsecnumber\theparagraph}
+{0pt} {}
+\titleformat{\subparagraph}[runin]
+{\normalfont\normalsize\bfseries}
+{\marginsecnumber\thesubparagraph}
+{0pt}
+{}
+
+\titlespacing*{\subsection}{0pt}{*3.25}{*1.5}%
+
+\setlength\parindent{0pt} % set no indent for the entire file
+
+\ifthenelse{\boolean{mnt}}{%
+ \RequirePackage{minted}
+
+ \newcommand{\pcode}[1]{%
+ {%
+ \colorbox{gray!10}{%
+ \mintinline[fontsize=\small]{text}{#1}%
+ }%
+ }%
+ }%
+
+ %\usemintedstyle{catppuccin-latte}
+
+ \definecolor{catback}{HTML}{585b70}
+ \definecolor{catground}{HTML}{eff1f5}
+
+ % Set box and font rules for inputminted command for paper
+ \newtcbinputlisting{\codeinputpaper}[4][]{%
+ listing file={#3},
+ minted language=#2,
+ minted options={
+ fontsize=\small,
+ tabsize=4,
+ xleftmargin=-2.25mm,
+ numbersep=5mm,
+ breaklines=true,
+ highlightcolor=orange!50,
+ %formatcom=orange!50
+ },% <-- put other minted options inside the brackets
+ overlay unbroken and first={%
+ \begin{tcbclipinterior}
+ \fill[catback] (frame.south west) rectangle
+ ([xshift=1mm]frame.north west);
+ \fill[catback] (frame.north east) rectangle
+ ([xshift=-4mm, yshift=-10mm]frame.north east);
+ \fill[catback]
+ ([xshift=-4mm, yshift=-10mm]frame.north east) --
+ ([xshift=0mm, yshift=-10mm]frame.north east) --
+ ([xshift=0mm, yshift=-12mm]frame.north east);
+ \end{tcbclipinterior}
+ \node[rotate=-90, minimum width=1cm, anchor=north,
+ font=\bfseries] at ([xshift=0mm, yshift=-4mm]frame.north
+ east) {\tiny \textcolor{white}{#2}}; },
+ sharp corners,
+ leftrule=1mm,
+ toprule=0pt,
+ rightrule=0pt,
+ bottomrule=0pt,
+ colback=catground,
+ colframe=black,
+ breakable,
+ enhanced,% <-- put other tcolorbox options here
+ arc=0mm,
+ boxrule=0pt,
+ frame hidden,
+ listing only,
+ minted options app={#1}}
+
+ \RequirePackage{xpatch}
+
+ \newenvironment{code}[1]
+ {%
+ \VerbatimEnvironment
+ \begin{minted}{#1}%
+}
+{%
+ \end{minted}%
+ }
+ %
+ \xpatchcmd{\mintinline}{\begingroup}{\begingroup\let\itshape\relax}{}{}
+ \xpatchcmd{\minted}{\VerbatimEnvironment}{\VerbatimEnvironment\let\itshape\relax}{}{}
+ \xpatchcmd{\inputminted}{\begingroup}{\begingroup\let\itshape\relax}{}{}
+}{}
+
+\ifthenelse{\boolean{lst}}{%
+ \RequirePackage{listings}%
+ \RequirePackage{xparse}
+
+ \NewDocumentCommand{\pcode}{v}{%
+ #1%
+ }
+
+ \newenvironment{code}[1]
+ {%
+ \VerbatimEnvironment
+ \begin{lstlisting}{language=#1}%
+}
+{%
+ \end{lstlisting}%
+ }
+}{}
+
+
+\ifthenelse{\boolean{drw}}{%
+ \RequirePackage{pgfplots} % Enable to draw plots in the documents
+ \usepackage{tikz} % Enable Tikz and its libraries
+ \pgfplotsset{compat=1.18} % Set the pgf compatibility.
+ %
+ \usepgfplotslibrary{polar} % To access polarplot
+ %
+ \pgfplotsset{
+ hebdomon/.style={
+ minor grid style={dotted, gray!50},
+ major grid style={dotted, gray!50},
+ %
+ grid = both,
+ minor tick num=2,
+ ytick align=outside,
+ xtick align=outside,
+ axis line style={draw=none},
+ axis lines = left,
+ %
+ line width=2pt,
+ %
+ legend style = {
+ line width=0.5pt
+ },
+ %
+ every non boxed x axis/.append style={x axis line style=-},
+ every non boxed y axis/.append style={y axis line style=-},
+ %
+ },
+ }
+}{}
+
+
+\endinput
diff --git a/macros/latex/contrib/heria/README.md b/macros/latex/contrib/heria/README.md
index b3d5cf32b1..664e9ae18b 100644
--- a/macros/latex/contrib/heria/README.md
+++ b/macros/latex/contrib/heria/README.md
@@ -34,5 +34,5 @@ feature requests.
The `heria` class is distributed under the conditions of the [LaTeX
Project Public License](https://www.latex-project.org/lppl.txt),
-either version 1.3 of this license or (at your option) any later
+either version 1.3c of this license or (at your option) any later
version.
diff --git a/macros/latex/contrib/heria/heria-proposal.pdf b/macros/latex/contrib/heria/heria-proposal.pdf
index f8d64312a9..79892c24d2 100644
--- a/macros/latex/contrib/heria/heria-proposal.pdf
+++ b/macros/latex/contrib/heria/heria-proposal.pdf
Binary files differ
diff --git a/macros/latex/contrib/heria/heria.dtx b/macros/latex/contrib/heria/heria.dtx
index 5c6b5e9691..7da06a879d 100644
--- a/macros/latex/contrib/heria/heria.dtx
+++ b/macros/latex/contrib/heria/heria.dtx
@@ -1,10 +1,10 @@
% \iffalse meta-comment
%
-% Copyright 2023 Tristan Miller
-% -----------------------------
+% Copyright 2023, 2024 Tristan Miller
+% -----------------------------------
%
% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
@@ -18,11 +18,11 @@
\ProvidesFile{heria.dtx}
%</driver>
%<*class>
-%% Copyright 2023 Tristan Miller
+%% Copyright 2023, 2024 Tristan Miller
%% Copyright 2016 John Kormylo
%%
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
@@ -33,7 +33,7 @@
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{heria}
%<*class>
-[2023-12-04 v3.2.1.0 Class for Horizon Europe (R)IA proposals]
+[2024-08-14 v3.4.1.1 Class for Horizon Europe (R)IA proposals]
%</class>
%
%<*driver>
@@ -50,7 +50,7 @@
%</driver>
% \fi
%
-% \CheckSum{1506}
+% \CheckSum{1520}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -80,8 +80,9 @@
% for an explanation of the versioning scheme.}}
%
% \author{Tristan Miller\\
-% Austrian Research Institute for Artificial Intelligence\\
-% \texttt{tristan.miller@ofai.at}}
+% Department of Computer Science\\
+% University of Manitoba\\
+% \texttt{Tristan.Miller@umanitoba.ca}}
%
% \maketitle
% \tableofcontents
@@ -104,14 +105,26 @@
% the user. The advantage of this becomes clear when one considers
% that much of the data is reused across multiple tables.
%
-% At the time of writing (2023-12-04), open calls to the RIA and IA
-% calls require proposals to be submitted according to either
-% Version~3.2 (2022-11-15) or Version~3.3 (2023-09-27) of the Part~B
-% template. The \textsf{heria} package was developed with reference
-% to the Version~3.2 template; however, according to the changelog for
-% the Version~3.3 template, the only difference from the previous
-% version is the addition of some instructions concerning the use of
-% generative AI tools for the preparation of the proposal.
+% The \textsf{heria} package can be used to write proposals using
+% either Version~3.2 (2022-11-15), 3.3 (2023-09-27), or 3.4
+% (2024-04-04) of the official Part~B template.
+%
+% \bigskip
+%
+% \noindent Besides this technical manual, there is a journal article
+% that describes the motivation for and development of \textsf{heria}:
+%
+% \begin{quote}
+% Tristan
+% Miller. \href{https://dx.doi.org/10.47397/tb/45-1/tb139miller-horizon}{Preparing
+% Horizon Europe proposals in \LaTeX\ with
+% \textsf{heria}}. \emph{TUGboat: The Communications of the \TeX\
+% Users Group}, 45(1):\allowbreak 59–64, 2024. ISSN 0896-3207. DOI:
+% \href{https://dx.doi.org/10.47397/tb/45-1/tb139miller-horizon}{10.47397/tb/45-1/tb139miller-horizon}.
+% \end{quote}
+%
+% \noindent Please cite this journal article if you want to refer to
+% \textsf{heria} in a publication.
%
% \section{Usage}
%
@@ -140,8 +153,20 @@
%
% \medskip
%
-% \noindent Following \cs{documentclass} you should provide the
-% proposal metadata using the following macros:
+% \noindent Following \cs{documentclass} you should tell
+% \textsf{heria} which version of the official Part~B template you
+% want to use:
+%
+% \DescribeMacro{\templateversion} This macro sets the version of the
+% official Part~B template the proposal should use. It takes a single
+% argument; valid values are \verb|3.2|, \verb|3.3|, and \verb|3.4|.
+% If you omit this macro, \textsf{heria} will default to using the
+% latest version of the template.
+%
+% \medskip
+%
+% \noindent You should then provide the proposal metadata using the
+% following macros:
%
% \DescribeMacro{\title} This macro takes the title of the proposal as
% its sole argument. This title will be printed by the \cs{maketitle}
@@ -446,18 +471,6 @@
%
% \section{Limitations and caveats}
%
-% \paragraph{No backward compatibility.} This version of the
-% \textsf{heria} class implements a specific version of the official
-% Horizon Europe template as described in §\ref{sec:introduction}. It
-% is intended that \textsf{heria}, over the course of its development,
-% will track changes made to the official template. Since these
-% changes may be incompatible with previous versions, you are advised
-% to retain a copy of the version of \textsf{heria} you used to
-% produce a proposal; this way you will still be able to build the
-% proposal even if you later install a new version of \textsf{heria}.
-% See §\ref{sec:version} for further information on \textsf{heria}'s
-% versioning scheme and when to expect breaking changes.
-%
% \paragraph{Table 3.1h.} The instructions in the official template
% are ambiguous about the construction of the tables for purchase
% costs. In particular, it's not clear whether each individual cost
@@ -497,21 +510,28 @@
%
% Each release of the \textsf{heria} class carries a version number in
% the format \textit{omaj.\allowbreak omin.\allowbreak maj.\allowbreak
-% min}. Here \textit{omaj.omin} is the version number of the official
-% Horizon Europe RIA template that the class implements, and
+% min}. Here \textit{omaj.omin} is the highest version number of the
+% official Horizon Europe RIA template that the class implements, and
% \textit{maj} and \textit{min} represent, respectively, major and
% minor revisions to the class (including any ancillary files, such as
% the skeleton proposal and documentation). A major revision is one
-% that includes breaking changes or significant new features; minor
-% revisions are for all other changes. You should generally assume
-% that any change to \textit{omaj.omin} introduces breaking changes to
-% the class interface and\slash or significant changes to the official
-% proposal preparation instructions.
+% that includes potentially breaking changes or significant new
+% features; minor revisions are for all other changes. While efforts
+% will be made to preserve compatibility with earlier versions of the
+% official template (via the \cs{templateversion} macro), any change
+% to \textit{omaj.omin} could unavoidably introduce breaking changes
+% to the class interface. Any such changes will be noted in the
+% package documentation.
%
% \subsection{Version history}
%
% \begin{description}
-% \item[v3.2.1.0 (2023-12-04)] Initial release.
+% \item[v3.4.1.1 (2024-08-14)] Update documentation with a reference
+% to the \emph{TUGboat} paper on \textsf{heria}.
+% \item[v3.4.1.0 (2024-07-14)] Add support for version 3.4 of the
+% official Part~B template and the \cs{templateversion} macro for
+% backward compatibility with earlier versions.
+% \item[v3.2.1.0 (2023-12-04)] Initial release.
% \end{description}
%
% \section{Disclaimer}
@@ -599,6 +619,22 @@
\definecolor{summaryblue}{HTML}{00B0F0}
% \end{macrocode}
%
+% \subsection*{Set official Horizon Europe template version}
+%
+% \begin{macrocode}
+\gdef\@templateversion{3.4} % Default version
+\def\@supportedtemplateversions{3.2,3.3,3.4} % Supported versions
+\ExplSyntaxOn
+\NewDocumentCommand{\templateversion}{m}{%
+ \clist_if_in:NnTF {\@supportedtemplateversions} {#1}
+ {\gdef\@templateversion{#1}}
+ {\PackageError{heria}%
+ {unsupported~template~version}%
+ {Use~one~of~\@supportedtemplateversions}
+ }%
+}
+\ExplSyntaxOff
+% \end{macrocode}
% \subsection*{Basic proposal variables}
%
% \begin{macrocode}
@@ -1459,7 +1495,6 @@
% communication with Tristan Miller on 2023-12-02.
%
% \begin{macrocode}
-\RequirePackage{everypage}
\RequirePackage{environ}
\newcounter{abspage}% \thepage not reliab
\newcommand{\newSFPage}[1]% #1 = \theabspage
@@ -1474,15 +1509,17 @@
\rotatebox{90}{\parbox[c][\textwidth][c]{\textheight}{\BODY}}%
\fi
\end{figure}}
-\AddEverypageHook{% check if sideways figure on this page
- \ifdim\textwidth=\textheight
- \stepcounter{abspage}% already in landscape
- \else
- \@ifundefined{SFPage@\theabspage}{}{\global\pdfpageattr{/Rotate 0}}%
- \stepcounter{abspage}%
- \@ifundefined{SFPage@\theabspage}{}%
- {\global\pdfpageattr{/Rotate 90}}%
- \fi}
+\AddToHook{shipout/background}{% check if sideways figure on this page
+ \put(1in,-1in){%
+ \ifdim\textwidth=\textheight
+ \stepcounter{abspage}% already in landscape
+ \else
+ \@ifundefined{SFPage@\theabspage}{}{\global\pdfpageattr{/Rotate 0}}%
+ \stepcounter{abspage}%
+ \@ifundefined{SFPage@\theabspage}{}%
+ {\global\pdfpageattr{/Rotate 90}}%
+ \fi}%
+ }
% \end{macrocode}
%
% \subsection*{Font setup}
@@ -1987,7 +2024,7 @@ purchase costs for equipment).
environmental objectives of the EU Taxonomy Regulation.}
\item
\emph{If you plan to use, develop and/or deploy artificial
- intellingence (AI) based systems and/or techniques you must
+ intelligence (AI) based systems and/or techniques you must
demonstrate their technical robustness. AI-based systems or techniques
should be, or be developed to become:~}
@@ -2371,12 +2408,33 @@ Please provide the following:
\item
\emph{Give full details. Base your account on the logical structure of
the project and the stages in which it is to be carried out.}
+\makeatletter
+\ifdim\@templateversion pt<3.4pt
\emph{The number of work packages should be proportionate to the scale
and complexity of the project.}
\item
\emph{You should give enough detail in each work package to justify
the proposed resources to be allocated and also quantified information
so that progress can be monitored, including by the Commission}
+\else
+ \emph{Each work package should be a substantial part of the work
+ plan, and the number of work packages should be proportionate to
+ the scale and complexity of the project.}
+\item \emph{Structure each work package by breaking it down into
+ tasks. If tasks are not appropriate, work packages can be
+ organised according to other criteria (e.g., according to the type
+ of work or thematically). For each task or element of the work
+ package, describe all activities to be carried out and quantify
+ them (e.g., number of protocols, tests, measurements,
+ combinations, study subjects, conferences, publications,
+ etc.). Provide enough detail to clarify who will do this work and
+ why it is needed for the project, (e.g., the level of
+ qualification and number of person-months for personnel, as well
+ as the requested equipment, consumables, meetings, etc.), to
+ justify the proposed resources and so that progress can be
+ monitored, including by the Commission.}
+\fi
+\makeatother
\item
\emph{Resources assigned to work packages should be in line with their
objectives and deliverables. You are advised to include a distinct
@@ -2431,9 +2489,15 @@ Please provide the following:
\end{itemize}
%</hi-workplan>
%<*hi-wp-description>
+\makeatletter
+\ifdim\@templateversion pt<3.4pt
(where appropriate, broken down into tasks), lead partner and role of
participants. Deliverables linked to each WP are listed in table 3.1c
(no need to repeat the information here).
+\else
+(where appropriate, broken down into tasks), lead partner and role of participants. For each task, quantify the amount of work. Provide enough detail to justify the resources requested and clarify why the work is needed and who will do it. Deliverables linked to each WP are listed in table 3.1c (no need to repeat the information here).
+\fi
+\makeatother
%</hi-wp-description>
%<*hi-wp-objectives>
\twarn \emph{Participants involved in each WP and their efforts are
@@ -2441,10 +2505,10 @@ participants. Deliverables linked to each WP are listed in table 3.1c
each WP are shown in table 3.1a.)}
%</hi-wp-objectives>
%<*heria-proposal>
-%% Copyright 2023 Tristan Miller
+%% Copyright 2023, 2024 Tristan Miller
%%
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
@@ -2453,6 +2517,8 @@ participants. Deliverables linked to each WP are listed in table 3.1c
%%
\documentclass[showinstructions]{heria}
+\templateversion{3.4}
+
\title{Skeleton Horizon Europe Proposal}
\callname{insert call name}
\callidentifier{HORIZON-XX0-0000-XXXXX-00-XXXXX}
diff --git a/macros/latex/contrib/heria/heria.ins b/macros/latex/contrib/heria/heria.ins
index 89b8b7f72c..406573836d 100644
--- a/macros/latex/contrib/heria/heria.ins
+++ b/macros/latex/contrib/heria/heria.ins
@@ -1,8 +1,8 @@
%%
-%% Copyright 2023 Tristan Miller
+%% Copyright 2023, 2024 Tristan Miller
%%
%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
diff --git a/macros/latex/contrib/heria/heria.pdf b/macros/latex/contrib/heria/heria.pdf
index af4f0cd627..3295f000a9 100644
--- a/macros/latex/contrib/heria/heria.pdf
+++ b/macros/latex/contrib/heria/heria.pdf
Binary files differ
diff --git a/macros/latex/contrib/hypcap/README.md b/macros/latex/contrib/hypcap/README.md
new file mode 100644
index 0000000000..07580bcb3f
--- /dev/null
+++ b/macros/latex/contrib/hypcap/README.md
@@ -0,0 +1,20 @@
+# hypcap package for LaTeX
+
+* adjusting anchors of captions;
+
+Version: 2024-07-26 v1.13
+
+This package tries a solution of the problem with
+hyperref, that links to floats points below the
+caption and not at the beginning of the float.
+Therefore this package divides the task into two
+part, the link setting with `\capstart` or
+automatically at the beginning of a float and
+the rest in the `\caption` command.
+
+## Copyright (C)
+* 1999-2001, 2006-2008, 2011 Heiko Oberdiek
+* 2016-2024 Oberdiek Package Support Group
+
+## License
+LATEX Project Public License, version 1.3c or later.
diff --git a/macros/latex/contrib/oberdiek/hypcap.dtx b/macros/latex/contrib/hypcap/hypcap.dtx
index a9bb106fe3..ef7538e91e 100644
--- a/macros/latex/contrib/oberdiek/hypcap.dtx
+++ b/macros/latex/contrib/hypcap/hypcap.dtx
@@ -1,13 +1,13 @@
% \iffalse meta-comment
%
% File: hypcap.dtx
-% Version: 2016/05/16 v1.12
+% Version: 2024-07-26 v1.13
% Info: Adjusting the anchors of captions
%
% Copyright (C)
% 1999-2001, 2006-2008, 2011 Heiko Oberdiek
-% 2016-2019 Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
+% 2016-2024 Oberdiek Package Support Group
+% https://github.com/ho-tex/hypcap/issues
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -23,15 +23,15 @@
%
% The Current Maintainers of this work are
% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
+% https://github.com/ho-tex/hypcap/issues
%
% This work consists of the main source file hypcap.dtx
% and the derived files
% hypcap.sty, hypcap.pdf, hypcap.ins, hypcap.drv.
%
% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/hypcap.dtx
-% CTAN:macros/latex/contrib/oberdiek/hypcap.pdf
+% CTAN:macros/latex/contrib/hypcap/hypcap.dtx
+% CTAN:macros/latex/contrib/hypcap/hypcap.pdf
%
% Unpacking:
% (a) If hypcap.ins is present:
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex hypcap.dtx
% makeindex -s gind.ist hypcap.idx
% pdflatex hypcap.dtx
@@ -60,9 +60,9 @@
% pdflatex hypcap.dtx
%
% Installation:
-% TDS:tex/latex/oberdiek/hypcap.sty
-% TDS:doc/latex/oberdiek/hypcap.pdf
-% TDS:source/latex/oberdiek/hypcap.dtx
+% TDS:tex/latex/hypcap/hypcap.sty
+% TDS:doc/latex/hypcap/hypcap.pdf
+% TDS:source/latex/hypcap/hypcap.dtx
%
%<*ignore>
\begingroup
@@ -79,7 +79,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: hypcap 2016/05/16 v1.12 Adjusting the anchors of captions (HO)}
+\Msg{* Package: hypcap 2024-07-26 v1.13 Adjusting the anchors of captions (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -91,11 +91,11 @@
This is a generated file.
Project: hypcap
-Version: 2016/05/16 v1.12
+Version: 2024-07-26 v1.13
Copyright (C)
1999-2001, 2006-2008, 2011 Heiko Oberdiek
- 2016-2019 Oberdiek Package Support Group
+ 2016-2024 Oberdiek Package Support Group
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -111,7 +111,7 @@ This work has the LPPL maintenance status "maintained".
The Current Maintainers of this work are
Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
+https://github.com/ho-tex/hypcap/issues
This work consists of the main source file hypcap.dtx
@@ -124,7 +124,7 @@ and the derived files
\generate{%
\file{hypcap.ins}{\from{hypcap.dtx}{install}}%
\file{hypcap.drv}{\from{hypcap.dtx}{driver}}%
- \usedir{tex/latex/oberdiek}%
+ \usedir{tex/latex/hypcap}%
\file{hypcap.sty}{\from{hypcap.dtx}{package}}%
}
@@ -152,7 +152,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{hypcap.drv}%
- [2016/05/16 v1.12 Adjusting the anchors of captions (HO)]%
+ [2024-07-26 v1.13 Adjusting the anchors of captions (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\begin{document}
@@ -166,9 +166,9 @@ and the derived files
% \GetFileInfo{hypcap.drv}
%
% \title{The \xpackage{hypcap} package}
-% \date{2016/05/16 v1.12}
+% \date{2024-07-26 v1.13}
% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
+% {Please report any issues at \url{https://github.com/ho-tex/hypcap/issues}}}
%
% \maketitle
%
@@ -301,7 +301,7 @@ and the derived files
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{hypcap}%
- [2016/05/16 v1.12 Adjusting the anchors of captions (HO)]
+ [2024-07-26 v1.13 Adjusting the anchors of captions (HO)]
% \end{macrocode}
%
% For unique command names this package uses |hc@| as prefix
@@ -461,7 +461,7 @@ and the derived files
\capstart
}{%
\if@capstart
- \PackageError{hypcap}{You have forgotten to use \string\caption}%
+ \PackageWarning{hypcap}{You have forgotten to use \string\caption}%
\global\@capstartfalse
\else
\fi
@@ -497,31 +497,11 @@ and the derived files
% \paragraph{Package.} This package is available on
% CTAN\footnote{\CTANpkg{hypcap}}:
% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/hypcap.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/hypcap.pdf}] Documentation.
+% \item[\CTAN{macros/latex/contrib/hypcap/hypcap.dtx}] The source file.
+% \item[\CTAN{macros/latex/contrib/hypcap/hypcap.pdf}] Documentation.
% \end{description}
%
%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-% |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
-%
% \subsection{Package installation}
%
% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
@@ -537,9 +517,9 @@ and the derived files
% \begin{quote}
% \def\t{^^A
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
-% hypcap.sty & tex/latex/oberdiek/hypcap.sty\\
-% hypcap.pdf & doc/latex/oberdiek/hypcap.pdf\\
-% hypcap.dtx & source/latex/oberdiek/hypcap.dtx\\
+% hypcap.sty & tex/latex/hypcap/hypcap.sty\\
+% hypcap.pdf & doc/latex/hypcap/hypcap.pdf\\
+% hypcap.dtx & source/latex/hypcap/hypcap.dtx\\
% \end{tabular}^^A
% }^^A
% \sbox0{\t}^^A
@@ -718,6 +698,9 @@ and the derived files
% \item
% Documentation updates.
% \end{Version}
+% \begin{Version}{2024-07-26 v1.13}
+% \item Change error into warning, issue \#1
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/oberdiek/hypcap.pdf b/macros/latex/contrib/hypcap/hypcap.pdf
index 46df7e8951..bea211492f 100644
--- a/macros/latex/contrib/oberdiek/hypcap.pdf
+++ b/macros/latex/contrib/hypcap/hypcap.pdf
Binary files differ
diff --git a/macros/latex/contrib/hypdestopt/README.md b/macros/latex/contrib/hypdestopt/README.md
index 0610b53e58..71e1c7066e 100644
--- a/macros/latex/contrib/hypdestopt/README.md
+++ b/macros/latex/contrib/hypdestopt/README.md
@@ -1,6 +1,6 @@
# hypdestopt package for LaTeX
-Version: 2020-09-02 v2.7
+Version: 2024-08-07 v2.8
Hyperref destination optimizer
@@ -11,7 +11,7 @@ to get smaller PDF files.
## Copyright (C)
* 2007, 2009-2011 Heiko Oberdiek
-* 2016-2020 Oberdiek Package Support Group
+* 2016-2024 Oberdiek Package Support Group
## License
LATEX Project Public License, version 1.3c or later.
diff --git a/macros/latex/contrib/hypdestopt/hypdestopt.dtx b/macros/latex/contrib/hypdestopt/hypdestopt.dtx
index 03006db27b..f9c6af1e6d 100644
--- a/macros/latex/contrib/hypdestopt/hypdestopt.dtx
+++ b/macros/latex/contrib/hypdestopt/hypdestopt.dtx
@@ -1,12 +1,12 @@
% \iffalse meta-comment
%
% File: hypdestopt.dtx
-% Version: 2020-09-02 v2.7
+% Version: 2024-08-07 v2.8
% Info: Hyperref destination optimizer
%
% Copyright (C)
% 2006-2008, 2011 Heiko Oberdiek
-% 2016-2020 Oberdiek Package Support Group
+% 2016-2024 Oberdiek Package Support Group
% https://github.com/ho-tex/hypdestopt/issues
%
% This work may be distributed and/or modified under the
@@ -79,7 +79,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: hypdestopt 2020-09-02 v2.7 Hyperref destination optimizer (HO)}
+\Msg{* Package: hypdestopt 2024-08-07 v2.8 Hyperref destination optimizer (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -91,11 +91,11 @@
This is a generated file.
Project: hypdestopt
-Version: 2020-09-02 v2.7
+Version: 2024-08-07 v2.8
Copyright (C)
2006-2008, 2011 Heiko Oberdiek
- 2016-2020 Oberdiek Package Support Group
+ 2016-2024 Oberdiek Package Support Group
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -152,7 +152,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{hypdestopt.drv}%
- [2020-09-02 v2.7 Hyperref destination optimizer (HO)]%
+ [2024-08-07 v2.8 Hyperref destination optimizer (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\begin{document}
@@ -166,7 +166,7 @@ and the derived files
% \GetFileInfo{hypdestopt.drv}
%
% \title{The \xpackage{hypdestopt} package}
-% \date{2020-09-02 v2.7}
+% \date{2024-08-07 v2.8}
% \author{Heiko Oberdiek\thanks
% {Please report any issues at \url{https://github.com/ho-tex/hypdestopt/issues}}}
%
@@ -177,6 +177,9 @@ and the derived files
% \xoption{pdftex} and \xoption{luatex} driver. It removes unnecessary destinations
% and shortens the destination names or uses numbered destinations
% to get smaller PDF files.
+%
+% The package is not compatible with the \LaTeX{} PDFmanagement loaded with
+% \cs{DocumentMetadata} and will do nothing if it detects it.
% \end{abstract}
%
% \tableofcontents
@@ -289,9 +292,24 @@ and the derived files
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{hypdestopt}%
- [2020-09-02 v2.7 Hyperref destination optimizer (HO)]%
+ [2024-08-07 v2.8 Hyperref destination optimizer (HO)]%
% \end{macrocode}
%
+% \subsection{Check for PDF management}
+% \begin{macrocode}
+\IfDocumentMetadataTF
+ {
+ \PackageWarning{hypdestopt}
+ {
+ \string\DocumentMetadata detected. \MessageBreak
+ The package will do nothing.
+ }{}
+ }{}
+\IfDocumentMetadataTF
+ {
+ \endinput
+ }{}
+% \end{macrocode}
% \subsection{Options}
%
% \subsubsection{Option \xoption{verbose}}
@@ -752,26 +770,6 @@ and the derived files
% \end{description}
%
%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-% |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
-%
% \subsection{Package installation}
%
% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
@@ -956,6 +954,9 @@ and the derived files
% \begin{Version}{2020-09-02 v2.7}
% \item Adapted to the new hook management of LaTeX (github issue 1)
% \end{Version}
+% \begin{Version}{2024-08-07 v2.8}
+% \item Disable the package if \cs{DocumentMetadata} is detected (github issue 2)
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/hypdestopt/hypdestopt.pdf b/macros/latex/contrib/hypdestopt/hypdestopt.pdf
index 1835545dc8..1ca7cc4c29 100644
--- a/macros/latex/contrib/hypdestopt/hypdestopt.pdf
+++ b/macros/latex/contrib/hypdestopt/hypdestopt.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/ChangeLog.txt b/macros/latex/contrib/hyperref/ChangeLog.txt
index 7d8f3b3a24..0ff7510869 100644
--- a/macros/latex/contrib/hyperref/ChangeLog.txt
+++ b/macros/latex/contrib/hyperref/ChangeLog.txt
@@ -1,3 +1,12 @@
+Version: 2024-07-10 v7.01j
+2024-07-10 Ulrike Fischer
+ * hyperref.dtx: define \HyOrg@addtoreset always for cleveref
+ compability with tagging code, see https://github.com/latex3/tagging-project/issues/2
+
+2024-06-02 Ulrike Fischer
+ * hyperref.dtx: enable use of onmousedown and onmouseup, issue #342
+
+Version: 2024-05-23 v7.01i
2024-05-25 Ulrike Fischer
* hyperref.dtx: load stringenc always to allow the use of pdfencoding in a group.
diff --git a/macros/latex/contrib/hyperref/README.md b/macros/latex/contrib/hyperref/README.md
index 7161209179..335fb1f62b 100644
--- a/macros/latex/contrib/hyperref/README.md
+++ b/macros/latex/contrib/hyperref/README.md
@@ -1,6 +1,6 @@
# README for hyperref bundle
-Version 2024-05-23 v7.01i
+Version 2024-07-10 v7.01j
## INTRODUCTION
diff --git a/macros/latex/contrib/hyperref/doc/backref.pdf b/macros/latex/contrib/hyperref/doc/backref.pdf
index ae783bd0cf..5ec3d8b07f 100644
--- a/macros/latex/contrib/hyperref/doc/backref.pdf
+++ b/macros/latex/contrib/hyperref/doc/backref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc.html b/macros/latex/contrib/hyperref/doc/hyperref-doc.html
index 70741ce170..0b918b602d 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc.html
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.html
@@ -25,7 +25,7 @@ href="https://github.com/latex3/hyperref/issues" class="url" ><span
class="ec-lmvtt-10x-x-120">https://github.com/latex3/hyperref/issues</span></a><span
class="ec-lmr-12">)</span></div><br />
<div class="date" ><span
-class="ec-lmr-12">2024-05-23 v7.01i</span></div>
+class="ec-lmr-12">2024-07-10 v7.01j</span></div>
</div>
<h3 class="likesectionHead"><a
id="x1-1000"></a>Contents</h3>
@@ -1079,45 +1079,54 @@ class="td11"> <!--l. 604--><p class="noindent" >this
style="vertical-align:baseline;" id="TBL-2-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-8-1"
class="td11"> <span
class="ec-lmvtt-10">backref </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-8-2"
-class="td11"> <!--l. 606--><p class="noindent" > </td></tr><tr
+class="td11"> <!--l. 606--><p class="noindent" >
+ </td></tr><tr
style="vertical-align:baseline;" id="TBL-2-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-9-1"
class="td11"> <span
class="ec-lmvtt-10">pagebackref </span></td> <td style="white-space:normal; text-align:left;" id="TBL-2-9-2"
-class="td11"> <!--l. 607--><p class="noindent" ></td>
+class="td11"> <!--l. 607--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-10-1"
class="td11"> <span
class="ec-lmvtt-10">destlabel </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-10-2"
-class="td11"> <!--l. 608--><p class="noindent" > </td></tr><tr
+class="td11"> <!--l. 608--><p class="noindent" >
+ </td></tr><tr
style="vertical-align:baseline;" id="TBL-2-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-11-1"
class="td11"> <span
class="ec-lmvtt-10">pdfusetitle </span></td> <td style="white-space:normal; text-align:left;" id="TBL-2-11-2"
-class="td11"> <!--l. 609--><p class="noindent" ></td>
+class="td11"> <!--l. 609--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-12-1"
class="td11"> <span
class="ec-lmvtt-10">pdfpagelabels </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-12-2"
-class="td11"> <!--l. 610--><p class="noindent" > </td>
+class="td11"> <!--l. 610--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-13-1"
class="td11"> <span
class="ec-lmvtt-10">hyperfootnotes </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-13-2"
-class="td11"> <!--l. 611--><p class="noindent" > </td>
+class="td11"> <!--l. 611--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-14-1"
class="td11"> <span
class="ec-lmvtt-10">hyperfigures </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-14-2"
-class="td11"> <!--l. 612--><p class="noindent" > </td>
+class="td11"> <!--l. 612--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-15-1"
class="td11"> <span
class="ec-lmvtt-10">hyperindex </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-15-2"
-class="td11"> <!--l. 613--><p class="noindent" > </td>
+class="td11"> <!--l. 613--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-16-1"
class="td11"> <span
class="ec-lmvtt-10">encap </span></td><td style="white-space:normal; text-align:left;" id="TBL-2-16-2"
-class="td11"> <!--l. 614--><p class="noindent" > </td>
+class="td11"> <!--l. 614--><p class="noindent" >
+ </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-2-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-17-1"
class="td11"> <span
@@ -1950,8 +1959,7 @@ class="td01"><span
class="ec-lmvtt-10">hyperfigures </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-2"
class="td11"> boolean </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-3"
class="td11"> </td><td style="white-space:normal; text-align:left;" id="TBL-8-2-4"
-class="td10">
- <!--l. 941--><p class="noindent" > </td>
+class="td10"> <!--l. 941--><p class="noindent" > </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-8-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-8-3-1"
class="td01"><span
@@ -3174,8 +3182,6 @@ class="td10">
<!--l. 1198--><p class="noindent" >The old page slides off the screen in the direction
specified by /Di, uncovering the new page in the
direction specified by /Di. </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-13-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-13-12-1"
class="td01"><span
@@ -3184,6 +3190,8 @@ class="td11"> </td><td style="white-space:normal; text-align:left;
class="td10">
<!--l. 1201--><p class="noindent" >The new page gradually becomes visible through the old
one. </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-13-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-13-13-1"
class="td01"> </td>
@@ -3709,8 +3717,7 @@ class="td10">
class="td01"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-14-58-2"
class="td11"> <span
class="ec-lmri-10">hyperref </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-58-3"
-class="td10">
- <!--l. 1293--><p class="noindent" > </td>
+class="td10"> <!--l. 1293--><p class="noindent" > </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-14-59-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-59-1"
class="td01"><span
@@ -3850,8 +3857,6 @@ class="td11"> <span
class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-75-3"
class="td10">
<!--l. 1313--><p class="noindent" >set PDF page labels </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-14-76-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-76-1"
class="td01"><span
@@ -3860,6 +3865,8 @@ class="td11"> <span
class="ec-lmri-10">empty </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-76-3"
class="td10">
<!--l. 1314--><p class="noindent" >set layout of PDF pages </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-14-77-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-77-1"
class="td01"><span
@@ -4091,8 +4098,6 @@ class="td11"> <span
class="ec-lmri-10">true </span></td><td style="white-space:normal; text-align:left;" id="TBL-14-104-3"
class="td10">
<!--l. 1345--><p class="noindent" >set page size by special driver commands </td>
-
-
</tr><tr
style="vertical-align:baseline;" id="TBL-14-105-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-105-1"
class="td01"><span
@@ -4101,6 +4106,8 @@ class="td11"> </td><td style="white-space:normal; text-align:l
class="td10">
<!--l. 1346--><p class="noindent" >use <span
class="ec-lmss-10">TeX4ht </span>backend </td>
+
+
</tr><tr
style="vertical-align:baseline;" id="TBL-14-106-"><td style="white-space:nowrap; text-align:left;" id="TBL-14-106-1"
class="td01"><span
@@ -4226,8 +4233,6 @@ class="ec-lmvtk-10">nextactionraw</span><span
class="ec-lmbx-10">:</span> </dt><dd
class="description">
<!--l. 1379--><p class="noindent" >The value of key <span class="obeylines-h"><code class="verb">/Next</code></span> of action dictionaries, see PDF specification.</dd></dl>
-
-
<!--l. 1383--><p class="noindent" ><span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-16" class="tabular"
><colgroup id="TBL-16-1g"><col
@@ -4241,6 +4246,7 @@ class="ec-lmvtt-10">\href</span><span class="obeylines-h"><code class="verb">{</
class="ec-lmri-10">URL</span><span class="obeylines-h"><code class="verb">}{</code></span><span
class="ec-lmvtt-10">\nolinkurl</span><span class="obeylines-h"><code class="verb">{</code></span><span
class="ec-lmri-10">URL</span><span class="obeylines-h"><code class="verb">}}</code></span>. Depending on the driver <span class="obeylines-h"><code class="verb">\href</code></span> also tries to detect the link
+
type. Thus the result can be a url link, file link, &#x2026;. The implementation makes use of the <span
class="ec-lmss-10">url </span>package and
its commands can be used to format and fine tune the url, but the behaviour of <span
@@ -4360,8 +4366,6 @@ and the <span
class="ec-lmri-10">text </span>which is used as the link on the page.
<!--l. 1457--><p class="indent" > Note that in HTML parlance, the <span class="obeylines-h"><code class="verb">\hyperlink</code></span> command inserts a notional # in front of each link,
making it relative to the current testdocument; <span class="obeylines-h"><code class="verb">\href</code></span> expects a full URL.
-
-
<!--l. 1461--><p class="noindent" ><span class="fbox"><!--tex4ht:inline--><div class="tabular"> <table id="TBL-25" class="tabular"
><colgroup id="TBL-25-1g"><col
@@ -4372,6 +4376,8 @@ class="ec-lmvtt-10">\phantomsection </span></td>
</tr></table> </div></span>
<!--l. 1465--><p class="noindent" >This sets an anchor at this location. It works similar to <span class="obeylines-h"><code class="verb">\hypertarget{}{}</code></span> with an automatically chosen
anchor name. Often it is used in conjunction with <span class="obeylines-h"><code class="verb">\addcontentsline</code></span> for sectionlike things (index,
+
+
bibliography, preface). <span class="obeylines-h"><code class="verb">\addcontentsline</code></span> refers to the latest previous location where an anchor is set.
Example:
<blockquote class="quote">
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf b/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
index 51e6b0d29b..1637285c01 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-doc.tex b/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
index 55b0476967..2f4ff93f80 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
+++ b/macros/latex/contrib/hyperref/doc/hyperref-doc.tex
@@ -166,7 +166,7 @@
}
\makeatother
\title{Hypertext marks in \hologo{LaTeX}: a manual for \xpackage{hyperref}}
-\date{2024-05-23 v7.01i}
+\date{2024-07-10 v7.01j}
\begin{document}
diff --git a/macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdf b/macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdf
index f95e9380f6..3e29950cf1 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdf
+++ b/macros/latex/contrib/hyperref/doc/hyperref-linktarget.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/hyperref.pdf b/macros/latex/contrib/hyperref/doc/hyperref.pdf
index 62ce7aba61..bb0f2a46aa 100644
--- a/macros/latex/contrib/hyperref/doc/hyperref.pdf
+++ b/macros/latex/contrib/hyperref/doc/hyperref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/nameref.pdf b/macros/latex/contrib/hyperref/doc/nameref.pdf
index 47209adb7c..4c4ea6606b 100644
--- a/macros/latex/contrib/hyperref/doc/nameref.pdf
+++ b/macros/latex/contrib/hyperref/doc/nameref.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/doc/xr-hyper.pdf b/macros/latex/contrib/hyperref/doc/xr-hyper.pdf
index 3b4395c0f6..a5d0e690fc 100644
--- a/macros/latex/contrib/hyperref/doc/xr-hyper.pdf
+++ b/macros/latex/contrib/hyperref/doc/xr-hyper.pdf
Binary files differ
diff --git a/macros/latex/contrib/hyperref/hluatex.dtx b/macros/latex/contrib/hyperref/hluatex.dtx
index 8a90953abb..20a2f3a4a3 100644
--- a/macros/latex/contrib/hyperref/hluatex.dtx
+++ b/macros/latex/contrib/hyperref/hluatex.dtx
@@ -1,6 +1,6 @@
% \iffalse
% Source File: hluatex.dtx
-% 2024-05-23 v7.01i
+% 2024-07-10 v7.01j
%
% Copyright
% 2016-2019 Oberdiek Package Support Group
@@ -31,7 +31,7 @@
%
% \begin{macrocode}
%<*luatex>
-%% 2024-05-23 v7.01i
+%% 2024-07-10 v7.01j
%% force unicode encoding, see issue #101
%% code mostly copied from hxetex.def
\HyPsd@LoadUnicode
diff --git a/macros/latex/contrib/hyperref/hyperref-linktarget.dtx b/macros/latex/contrib/hyperref/hyperref-linktarget.dtx
index c35b68d116..874a492736 100644
--- a/macros/latex/contrib/hyperref/hyperref-linktarget.dtx
+++ b/macros/latex/contrib/hyperref/hyperref-linktarget.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Version 2024-05-23 v7.01i}
+% \date{Version 2024-07-10 v7.01j}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/hyperref/hyperref-patches.dtx b/macros/latex/contrib/hyperref/hyperref-patches.dtx
index c9ffbf15bc..ac4bac4f8c 100644
--- a/macros/latex/contrib/hyperref/hyperref-patches.dtx
+++ b/macros/latex/contrib/hyperref/hyperref-patches.dtx
@@ -55,7 +55,7 @@
% }^^A
% }
%
-% \date{Version 2024-05-23 v7.01i}
+% \date{Version 2024-07-10 v7.01j}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/hyperref/hyperref.dtx b/macros/latex/contrib/hyperref/hyperref.dtx
index 8f6096d77d..80cef9b890 100644
--- a/macros/latex/contrib/hyperref/hyperref.dtx
+++ b/macros/latex/contrib/hyperref/hyperref.dtx
@@ -51,7 +51,7 @@
%<puvnenc>\ProvidesFile{puvnenc.def}
%<puarenc>\ProvidesFile{puarenc.def}
%<psdextra>\ProvidesFile{psdextra.def}
-%<!none&!packageEnd> [2024-05-23 v7.01i %
+%<!none&!packageEnd> [2024-07-10 v7.01j %
%<package> Hypertext links for LaTeX]
%<nohyperref> Dummy hyperref (SR)]
%<driver> Hyperref documentation driver file]
@@ -9177,6 +9177,8 @@
\Hy@temp{calculate}
\Hy@temp{onfocus}
\Hy@temp{onblur}
+\Hy@temp{onmousedown}
+\Hy@temp{onmouseup}
\Hy@temp{onenter}
\Hy@temp{onexit}
% \end{macrocode}
@@ -9201,8 +9203,6 @@
}%
\fi
\Hy@temp{ondblclick}
-\Hy@temp{onmousedown}
-\Hy@temp{onmouseup}
\Hy@temp{onmouseover}
\Hy@temp{onmousemove}
\Hy@temp{onmouseout}
@@ -12103,7 +12103,10 @@
% the hyperref version of the counter print command
% \cs{theHcounter} is redefined in order to add the
% parent counter.
+% change 2024-07-10: define |\HyOrg@addtoreset| always for cleveref
+% compability with tagging code, see https://github.com/latex3/tagging-project/issues/2
% \begin{macrocode}
+\def\HyOrg@addtoreset#1#2{\expandafter\@cons\csname cl@#2\endcsname {{#1}}}
\@ifundefined{hyper@nopatch@counter}
{
\let\HyOrg@addtoreset\@addtoreset
diff --git a/macros/latex/contrib/hyperref/xr-hyper.dtx b/macros/latex/contrib/hyperref/xr-hyper.dtx
index aced2ac70b..f7b39072f5 100644
--- a/macros/latex/contrib/hyperref/xr-hyper.dtx
+++ b/macros/latex/contrib/hyperref/xr-hyper.dtx
@@ -26,7 +26,7 @@
%
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{xr-hyper}
-%<package> [2024-05-23 v7.01i eXternal References (DPC)]
+%<package> [2024-07-10 v7.01j eXternal References (DPC)]
%
%<*driver>
\documentclass{l3doc}
diff --git a/macros/latex/contrib/isosafety/README.md b/macros/latex/contrib/isosafety/README.md
index 5cedddab81..d67f9940ca 100644
--- a/macros/latex/contrib/isosafety/README.md
+++ b/macros/latex/contrib/isosafety/README.md
@@ -4,6 +4,8 @@ isosafety is a LaTeX package that contains safety colors (ISO 3864) and safety s
Maintainer: BenSt099 (https://github.com/BenSt099/isosafety)
+Version 1.2
+
License: LPPL 1.3c
Note: This is **not** an **official** package from ISO. \ No newline at end of file
diff --git a/macros/latex/contrib/isosafety/doc/isosafety-docs.pdf b/macros/latex/contrib/isosafety/doc/isosafety-docs.pdf
new file mode 100644
index 0000000000..70e1ecce63
--- /dev/null
+++ b/macros/latex/contrib/isosafety/doc/isosafety-docs.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/doc/isosafety-docs.tex b/macros/latex/contrib/isosafety/doc/isosafety-docs.tex
new file mode 100644
index 0000000000..ff0e6918e6
--- /dev/null
+++ b/macros/latex/contrib/isosafety/doc/isosafety-docs.tex
@@ -0,0 +1,138 @@
+\documentclass{article}
+
+\usepackage{xcolor}
+\definecolor{Caution}{HTML}{F9A800}
+\definecolor{Warning}{HTML}{D05D29}
+\definecolor{Prohibition}{HTML}{9B2423}
+\definecolor{Mandatory}{HTML}{005387}
+\definecolor{Rescue}{HTML}{237F52}
+\definecolor{Backgrounds}{HTML}{ECECE7}
+\definecolor{Symbol}{HTML}{2B2B2C}
+\usepackage{array}
+\usepackage{hyperref}
+\usepackage{verbatim}
+\makeatletter
+\newcommand{\verbatimfontfamily}[1]{\def\verbatim@font{#1}}%
+\makeatother
+\usepackage{colortbl}
+\usepackage{geometry}
+\geometry{
+ left=2cm,
+ right=2cm,
+ top=3cm,
+ bottom=3cm
+}
+
+\begin{document}
+
+\begin{center}
+ {\Huge isosafety} \vspace{5mm}
+
+ {\Large Version 1.2}\vspace{5mm}
+
+ {\Large August 20, 2024}\vspace{5mm}
+
+ \href{https://github.com/BenSt099/isosafety}{github.com/BenSt099/isosafety}
+\end{center}\vspace{5mm}
+
+\section{General information}
+
+This is the official documentation of the package \textbf{isosafety}. It provides ISO colors and signs according to the ISO standards
+3864 and 7010. It can be used to create instructions for chemical or physical experiments.\vspace{5mm}
+
+\noindent{\large \textbf{NOTE}}
+
+\noindent This is not an official package from the ISO. All signs are taken from Wikipedia.
+
+\section{Dependencies}
+
+This package has the following dependencies: \texttt{graphicx}, \texttt{xcolor}, \texttt{ifthen}, \texttt{xkeyval}
+
+\section{ISO Colors}
+
+Seven colors are defined which are also used to create the signs: \vspace{5mm}
+
+\renewcommand{\arraystretch}{1.2}
+ \begin{tabular}{ll}
+ \hline
+ Name & Colors \\
+ \hline
+ Caution & \cellcolor{Caution} \\
+ Warning & \cellcolor{Warning} \\
+ Prohibition & \cellcolor{Prohibition} \\
+ Mandatory & \cellcolor{Mandatory} \\
+ Rescue & \cellcolor{Rescue} \\
+ Backgrounds & \cellcolor{Backgrounds} \\
+ Smybol & \cellcolor{Symbol} \\
+ \hline
+\end{tabular}\vspace{5mm}
+
+\noindent How to use: \vspace{3mm}
+
+\verbatimfontfamily{\slshape\ttfamily}
+
+\begin{verbatim}
+{\color{Mandatory} \textbf{Text with Mandatory color.}}
+\end{verbatim}\vspace{2mm}
+
+\noindent{\color{Mandatory} \textbf{Text with Mandatory color.}}
+
+\newpage
+
+\section{ISO Signs}
+
+\noindent This section deals with the construction of signs. To begin with, each sign is placed in a category, has a letter and a number: \vspace{5mm}
+
+\renewcommand{\arraystretch}{1.2}
+ \begin{tabular}{lll}
+ \hline
+ Category & Letter(s) & Numbers \\
+ \hline
+ Safe condition & E & (001 - 070) \\
+ Crescent variant & CV & (003, 004, 009, 010, 011, 012, 013, 027, 028, 029, 064, 067) \\
+ Fire Protection & F & (001 - 019) \\
+ Mandatory & M & (001 - 060) \\
+ Prohibition & P & (001 - 074) \\
+ Warning & W & (001 - 080) \\
+ \hline
+\end{tabular}\vspace{5mm}
+
+\noindent The command to access a sign is: \begin{verbatim}
+ \Isosign{<Letter><Number>}
+\end{verbatim}\vspace{5mm}
+
+\noindent This command constructs a path to a sign in your \TeX Live / Mik\TeX / \ldots $\;$ installation. That means to actually display the sign, resize it, edit it, etc., follow the given example:
+
+\begin{verbatim}
+ %%% Example file
+ \documentclass{article}
+
+ % example path
+ \usepackage[ fullpath = /texlive/2024/texmf-dist/tex/latex/isosafety ]{isosafety}
+
+ \usepackage{graphicx}
+
+ \begin{document}
+
+ \includegraphics{\Isosign{F001}}
+ \includegraphics[scale=2]{\Isosign{P074}}
+
+ \end{document}
+\end{verbatim}\vspace{5mm}
+
+\noindent As you can notice, when we import the package, we provide it with an option. The option is named \textbf{fullpath} and is \textbf{necessary}!
+Since you may have a different version of \TeX Live or maybe even a different \TeX-installation, you have to provide a path that leads to the installation directory
+of isosafety. The path that is given in the example is the typical path on most systems. The year \textit{2024} refers to the version of \TeX Live installed on your system \vspace{5mm}
+
+\noindent\textbf{NOTE}: On Windows, the path should also be given with foreslashes (just like in the example). \\
+
+\noindent\textbf{NOTE}: The last directory in the path \textit{does not} end with a foreslash (just like in the example). \\
+
+\noindent\textbf{NOTE}: For a complete overview of the available signs, take a look at \href{https://en.wikipedia.org/wiki/ISO_7010}{Wikipedia}.
+
+
+
+
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/isosafety/isosafety.dtx b/macros/latex/contrib/isosafety/isosafety.dtx
deleted file mode 100644
index da754c4932..0000000000
--- a/macros/latex/contrib/isosafety/isosafety.dtx
+++ /dev/null
@@ -1,143 +0,0 @@
-% \iffalse meta-comment
-%
-% Copyright (C) 2023 by BenSt099
-% -------------------------------------------------------
-%
-% This file may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in:
-%
-% http://www.latex-project.org/lppl.txt
-%
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
-%
-% \fi
-%
-% \iffalse
-%<*driver>
-\ProvidesFile{isosafety.dtx}
-%</driver>
-%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-%<package>\ProvidesPackage{isosafety}
-%<*package>
- [2023/11/09 v1.1 ISO Safety Colors And Safety Signs]
-
-\RequirePackage{graphicx}
-\RequirePackage{xcolor}
-%</package>
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage{isosafety}[2023/11/09]
-\usepackage{hyperref}
-\EnableCrossrefs
-\CodelineIndex
-\RecordChanges
-\begin{document}
- \DocInput{isosafety.dtx}
- \PrintChanges
- \PrintIndex
-\end{document}
-%</driver>
-% \fi
-%
-%
-% \changes{v1.1}{2023/11/09}{Beta version}
-%
-% \GetFileInfo{isosafety.sty}
-%
-% \DoNotIndex{\newcommand,\newenvironment}
-%
-%
-% \title{The \textsf{isosafety} package\thanks{This document
-% corresponds to \textsf{isosafety}~\fileversion, dated \filedate.}}
-% \author{BenSt099 \\ \texttt{github.com/BenSt099}}
-%
-% \maketitle
-%
-% \section{Introduction}
-%
-% This package provides ISO colors and ISO signs according to the ISO standards 3864 and 7010.
-% It can be useful when creating instructions for chemical or physical experiments.
-%
-% \section{Dependencies}
-%
-% The package has the following dependencies: \texttt{graphicx}, \texttt{xcolor}.
-%
-%
-% \section{Usage}
-%
-% \subsection{ISO colors}
-%
-% There are 6 colors that are also used in the signs: \vspace*{5mm}
-%
-% \begin{tabular}{cc}
-% Warning & {\color{Warning} Warning Color} \\
-% Prohibition & {\color{Prohibition} Prohibition Color} \\
-% Mandatory & {\color{Mandatory} Mandatory Color} \\
-% Rescue & {\color{Rescue} Rescue Color} \\
-% Backgrounds & {\color{Backgrounds} Backgrounds Color} \\
-% Symbol & {\color{Symbol} Symbol Color} \\
-% \end{tabular}
-%
-% \subsection{Colors - Example}
-%
-% \begin{verbatim}
-% {\color{Mandatory} Text with mandatory color}
-% \end{verbatim}
-%
-% \subsection{ISO signs}
-%
-% The signs from ISO are placed in a category, have a letter and a number
-%
-% \begin{itemize}
-% \item Safe condition - Letter E (001 - 070)
-% \item Crescent variant - CV (003, 004, 009, 010, 011, 012, 013, 027, 028, 029, 064, 067)
-% \item Fire Protection - Letter F (001 - 019)
-% \item Mandatory - Letter M (001 - 060)
-% \item Prohibition - Letter P (001 - 074)
-% \item Warning - Letter W (001 - 080)
-% \end{itemize}
-%
-% The command to access these signs has the following syntax:
-%
-% \begin{verbatim}
-% \Isosign{{Letter}{Number}}
-% \end{verbatim}
-%
-% \subsection{Signs - Example}
-%
-% Imagine you want to put the sign of a fire extinguisher in your document.
-% Use the following command:
-%
-% \begin{verbatim}
-% \includegraphics{\Isosign{F001}}
-% \end{verbatim}
-%
-% \includegraphics{\Isosign{F001}}
-% \vspace*{5mm}
-%
-% \noindent For an overview, take a look at \href{https://en.wikipedia.org/wiki/ISO_7010}{Wikipedia}
-%
-% \StopEventually{}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\definecolor{Warning}{HTML}{F9A800}
-\definecolor{Prohibition}{HTML}{9B2423}
-\definecolor{Mandatory}{HTML}{005387}
-\definecolor{Rescue}{HTML}{237F52}
-\definecolor{Backgrounds}{HTML}{ECECE7}
-\definecolor{Symbol}{HTML}{2B2B2C}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand{\Isosign}[1]{isosafety-pdfs/ISO_7010_#1.pdf}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \Finale
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/isosafety/isosafety.ins b/macros/latex/contrib/isosafety/isosafety.ins
deleted file mode 100644
index f7563b4ab1..0000000000
--- a/macros/latex/contrib/isosafety/isosafety.ins
+++ /dev/null
@@ -1,56 +0,0 @@
-%%
-%% Copyright (C) 2023 by BenSt099
-%%
-%% This file may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License, either version 1.3 of this license
-%% or (at your option) any later version. The latest version of this
-%% license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.3 or later is part of all distributions of LaTeX version
-%% 2005/12/01 or later.
-%%
-
-\input docstrip.tex
-\keepsilent
-
-\usedir{tex/latex/isosafety}
-
-\preamble
-
-This is a generated file.
-
-Copyright (C) 2023 by BenSt099
-
-This file may be distributed and/or modified under the conditions of
-the LaTeX Project Public License, either version 1.3 of this license
-or (at your option) any later version. The latest version of this
-license is in:
-
- http://www.latex-project.org/lppl.txt
-
-and version 1.3 or later is part of all distributions of LaTeX version
-2005/12/01 or later.
-
-\endpreamble
-
-\generate{\file{isosafety.sty}{\from{isosafety.dtx}{package}}}
-
-\obeyspaces
-\Msg{*************************************************************}
-\Msg{* *}
-\Msg{* To finish the installation you have to move the following *}
-\Msg{* file into a directory searched by TeX: *}
-\Msg{* *}
-\Msg{* isosafety.sty *}
-\Msg{* isosafety-pdfs/* *}
-\Msg{* *}
-\Msg{* To produce the documentation run the file isosafety.dtx *}
-\Msg{* through LaTeX. *}
-\Msg{* *}
-\Msg{* Happy TeXing! *}
-\Msg{* *}
-\Msg{*************************************************************}
-
-\endbatchfile
diff --git a/macros/latex/contrib/isosafety/isosafety.pdf b/macros/latex/contrib/isosafety/isosafety.pdf
deleted file mode 100644
index 09d630c77a..0000000000
--- a/macros/latex/contrib/isosafety/isosafety.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV003.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV003.pdf
index c3671853cc..c3671853cc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV003.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV003.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV004.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV004.pdf
index 426766af28..426766af28 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV004.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV004.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV009.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV009.pdf
index 4371233c53..4371233c53 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV009.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV009.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV010.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV010.pdf
index 4f7c7b0c4e..4f7c7b0c4e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV010.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV010.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV011.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV011.pdf
index b53137946c..b53137946c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV011.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV011.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV012.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV012.pdf
index ee3d79d2fe..ee3d79d2fe 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV012.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV012.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV013.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV013.pdf
index 54a7ef44db..54a7ef44db 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV013.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV013.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV027.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV027.pdf
index c2c5f6e332..c2c5f6e332 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV027.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV027.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV028.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV028.pdf
index 005109c5c8..005109c5c8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV028.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV028.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV029.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV029.pdf
index 070e7a2743..070e7a2743 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV029.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV029.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV064.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV064.pdf
index 9ef30ac6e6..9ef30ac6e6 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV064.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV064.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV067.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV067.pdf
index d0e6340114..d0e6340114 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV067.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV067.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E001.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E001.pdf
index abc60c2691..abc60c2691 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E001.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E001.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E002.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E002.pdf
index fbe80ce3f8..fbe80ce3f8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E002.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E002.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E003.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E003.pdf
index 21dfafc605..21dfafc605 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E003.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E003.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E004.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E004.pdf
index 3663147e2e..3663147e2e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E004.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E004.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E007.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E007.pdf
index cd21e70dc4..cd21e70dc4 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E007.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E007.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E008.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E008.pdf
index 9d651b8d9e..9d651b8d9e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E008.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E008.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E009.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E009.pdf
index 93822c975e..93822c975e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E009.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E009.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E010.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E010.pdf
index ef0b21d588..ef0b21d588 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E010.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E010.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E011.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E011.pdf
index 127667563d..127667563d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E011.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E011.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E012.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E012.pdf
index 98cb2bd8b4..98cb2bd8b4 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E012.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E012.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E013.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E013.pdf
index 0d89ed3065..0d89ed3065 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E013.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E013.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E014.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E014.pdf
index 0a9e382903..0a9e382903 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E014.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E014.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E015.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E015.pdf
index d8e8f0e401..d8e8f0e401 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E015.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E015.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E016.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E016.pdf
index 06065e969e..06065e969e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E016.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E016.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E017.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E017.pdf
index fc1ca1bdf0..fc1ca1bdf0 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E017.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E017.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E018.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E018.pdf
index 4b05b96f89..4b05b96f89 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E018.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E018.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E019.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E019.pdf
index 45fe98dcd7..45fe98dcd7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E019.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E019.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E020.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E020.pdf
index 7b85394d63..7b85394d63 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E020.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E020.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E021.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E021.pdf
index 187694547c..187694547c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E021.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E021.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E022.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E022.pdf
index 2e772aa41a..2e772aa41a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E022.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E022.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E023.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E023.pdf
index 9a14e4d901..9a14e4d901 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E023.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E023.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E024.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E024.pdf
index 3fefa8edfd..3fefa8edfd 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E024.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E024.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E025.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E025.pdf
index 026668d438..026668d438 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E025.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E025.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E026.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E026.pdf
index 3c9979f590..3c9979f590 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E026.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E026.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E027.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E027.pdf
index fb532c645c..fb532c645c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E027.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E027.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E028.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E028.pdf
index affca9c7f5..affca9c7f5 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E028.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E028.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E029.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E029.pdf
index 7faeee6464..7faeee6464 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E029.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E029.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E030.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E030.pdf
index cf1a93fe95..cf1a93fe95 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E030.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E030.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E031.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E031.pdf
index 1b8b8f3b7c..1b8b8f3b7c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E031.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E031.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E032.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E032.pdf
index b70eefa505..b70eefa505 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E032.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E032.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E033.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E033.pdf
index a49b3fe4bf..a49b3fe4bf 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E033.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E033.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E034.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E034.pdf
index 44341bd96b..44341bd96b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E034.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E034.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E035.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E035.pdf
index c79abaa600..c79abaa600 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E035.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E035.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E036.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E036.pdf
index 0bdad717ba..0bdad717ba 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E036.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E036.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E037.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E037.pdf
index 65d6a6f2f2..65d6a6f2f2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E037.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E037.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E038.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E038.pdf
index a99e0485f3..a99e0485f3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E038.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E038.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E039.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E039.pdf
index b8247de081..b8247de081 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E039.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E039.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E040.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E040.pdf
index f49aabdf1e..f49aabdf1e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E040.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E040.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E041.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E041.pdf
index 9cfa31db6c..9cfa31db6c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E041.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E041.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E042.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E042.pdf
index 917e764de5..917e764de5 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E042.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E042.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E043.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E043.pdf
index 7b126756d4..7b126756d4 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E043.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E043.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E044.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E044.pdf
index 8049c34a95..8049c34a95 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E044.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E044.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E045.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E045.pdf
index 7f57b529fe..7f57b529fe 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E045.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E045.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E046.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E046.pdf
index 3af4a0a9b9..3af4a0a9b9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E046.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E046.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E047.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E047.pdf
index 823f7704fe..823f7704fe 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E047.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E047.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E048.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E048.pdf
index 2cd85b1273..2cd85b1273 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E048.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E048.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E049.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E049.pdf
index 67ae74aeb9..67ae74aeb9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E049.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E049.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E050.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E050.pdf
index 1c0120948d..1c0120948d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E050.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E050.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E051.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E051.pdf
index 9ac16abe7e..9ac16abe7e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E051.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E051.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E052.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E052.pdf
index 057a6590ad..057a6590ad 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E052.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E052.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E053.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E053.pdf
index b050874db9..b050874db9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E053.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E053.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E054.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E054.pdf
index f4de9c9b1f..f4de9c9b1f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E054.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E054.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E055.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E055.pdf
index a05639bfd2..a05639bfd2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E055.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E055.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E056.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E056.pdf
index 015f18e06d..015f18e06d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E056.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E056.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E057.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E057.pdf
index c3da1ac56b..c3da1ac56b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E057.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E057.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E058.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E058.pdf
index fac59cd693..fac59cd693 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E058.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E058.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E059.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E059.pdf
index 45a8ae2bd2..45a8ae2bd2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E059.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E059.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E060.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E060.pdf
index 7a0e488172..7a0e488172 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E060.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E060.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E061.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E061.pdf
index 2e3b5992b3..2e3b5992b3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E061.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E061.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E062.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E062.pdf
index 69fb85f956..69fb85f956 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E062.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E062.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E063.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E063.pdf
index 5eea8873cc..5eea8873cc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E063.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E063.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E064.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E064.pdf
index ad4fdc7034..ad4fdc7034 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E064.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E064.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E065.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E065.pdf
index 60400eaa5e..60400eaa5e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E065.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E065.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E067.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E067.pdf
index 2784052b1b..2784052b1b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E067.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E067.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E068.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E068.pdf
index 0d74c205c8..0d74c205c8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E068.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E068.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E069.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E069.pdf
index b5e6b2c220..b5e6b2c220 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E069.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E069.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E070.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E070.pdf
index 7554106d64..7554106d64 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E070.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E070.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F001.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F001.pdf
index 349878fd5f..349878fd5f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F001.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F001.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F002.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F002.pdf
index 2ba7a82fbc..2ba7a82fbc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F002.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F002.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F003.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F003.pdf
index 54b6f5da2c..54b6f5da2c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F003.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F003.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F004.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F004.pdf
index ed273764db..ed273764db 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F004.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F004.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F005.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F005.pdf
index 1e8a6103e0..1e8a6103e0 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F005.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F005.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F006.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F006.pdf
index c9f1f7bccb..c9f1f7bccb 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F006.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F006.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F007.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F007.pdf
index b0e5f32cbe..b0e5f32cbe 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F007.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F007.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F008.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F008.pdf
index ba9cfa7c4b..ba9cfa7c4b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F008.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F008.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F009.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F009.pdf
index cc4b7f52b0..cc4b7f52b0 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F009.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F009.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F010.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F010.pdf
index 785c5f9122..785c5f9122 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F010.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F010.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F011.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F011.pdf
index 12ff257deb..12ff257deb 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F011.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F011.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F012.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F012.pdf
index ddd5706419..ddd5706419 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F012.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F012.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F013.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F013.pdf
index 2772821d84..2772821d84 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F013.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F013.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F014.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F014.pdf
index 2aaf0826af..2aaf0826af 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F014.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F014.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F015.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F015.pdf
index cf3ae1c46f..cf3ae1c46f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F015.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F015.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F016.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F016.pdf
index 06ff3352a3..06ff3352a3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F016.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F016.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F017.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F017.pdf
index c9a67b8129..c9a67b8129 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F017.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F017.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F018.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F018.pdf
index 57aa49d669..57aa49d669 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F018.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F018.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F019.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F019.pdf
index a331b56a36..a331b56a36 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F019.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F019.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M001.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M001.pdf
index bf8ac9665d..bf8ac9665d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M001.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M001.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M002.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M002.pdf
index 6fe904c927..6fe904c927 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M002.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M002.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M003.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M003.pdf
index caaddd06b5..caaddd06b5 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M003.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M003.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M004.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M004.pdf
index 28795830dc..28795830dc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M004.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M004.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M005.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M005.pdf
index 56aaa82124..56aaa82124 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M005.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M005.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M006.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M006.pdf
index 5da66c41a2..5da66c41a2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M006.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M006.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M007.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M007.pdf
index 5cc9f1a019..5cc9f1a019 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M007.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M007.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M008.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M008.pdf
index e8de5ffce9..e8de5ffce9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M008.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M008.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M009.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M009.pdf
index c915a508c2..c915a508c2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M009.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M009.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M010.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M010.pdf
index 90334f320f..90334f320f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M010.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M010.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M011.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M011.pdf
index 795558d1b5..795558d1b5 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M011.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M011.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M012.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M012.pdf
index 33f20feb1a..33f20feb1a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M012.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M012.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M013.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M013.pdf
index a9133b9fbe..a9133b9fbe 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M013.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M013.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M014.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M014.pdf
index 8731ca26ff..8731ca26ff 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M014.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M014.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M015.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M015.pdf
index 1e0e1991ba..1e0e1991ba 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M015.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M015.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M016.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M016.pdf
index c301799f8c..c301799f8c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M016.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M016.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M017.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M017.pdf
index 403e4af957..403e4af957 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M017.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M017.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M018.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M018.pdf
index c1684c5612..c1684c5612 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M018.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M018.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M019.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M019.pdf
index 899dc343f7..899dc343f7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M019.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M019.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M020.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M020.pdf
index a05f2f9c28..a05f2f9c28 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M020.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M020.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M021.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M021.pdf
index e8e9b4444b..e8e9b4444b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M021.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M021.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M022.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M022.pdf
index e8c5b7be31..e8c5b7be31 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M022.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M022.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M023.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M023.pdf
index 422ada6ac3..422ada6ac3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M023.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M023.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M024.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M024.pdf
index 48cf114099..48cf114099 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M024.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M024.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M025.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M025.pdf
index 95cacc24f2..95cacc24f2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M025.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M025.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M026.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M026.pdf
index 96d5a96820..96d5a96820 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M026.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M026.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M027.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M027.pdf
index 57ff5fc421..57ff5fc421 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M027.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M027.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M028.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M028.pdf
index 24fb157422..24fb157422 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M028.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M028.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M029.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M029.pdf
index 8c0888c998..8c0888c998 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M029.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M029.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M030.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M030.pdf
index b23dff04e0..b23dff04e0 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M030.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M030.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M031.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M031.pdf
index 58ecb0cda8..58ecb0cda8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M031.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M031.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M032.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M032.pdf
index 7fd3c279dc..7fd3c279dc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M032.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M032.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M033.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M033.pdf
index 5800fc4b44..5800fc4b44 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M033.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M033.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M034.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M034.pdf
index aed2ce3967..aed2ce3967 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M034.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M034.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M035.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M035.pdf
index d419f6aeeb..d419f6aeeb 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M035.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M035.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M036.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M036.pdf
index b3c84ef022..b3c84ef022 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M036.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M036.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M037.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M037.pdf
index a8088da27f..a8088da27f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M037.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M037.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M038.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M038.pdf
index 32f5f03eab..32f5f03eab 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M038.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M038.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M039.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M039.pdf
index bbe60d2b2c..bbe60d2b2c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M039.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M039.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M040.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M040.pdf
index c5be6a8394..c5be6a8394 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M040.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M040.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M041.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M041.pdf
index 7f6c9cac5b..7f6c9cac5b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M041.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M041.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M042.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M042.pdf
index 240f54561f..240f54561f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M042.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M042.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M043.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M043.pdf
index 3cec333117..3cec333117 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M043.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M043.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M044.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M044.pdf
index c4e9b90c42..c4e9b90c42 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M044.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M044.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M045.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M045.pdf
index e18044d5f1..e18044d5f1 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M045.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M045.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M046.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M046.pdf
index 1c7dc014f0..1c7dc014f0 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M046.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M046.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M047.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M047.pdf
index 96c4433dcb..96c4433dcb 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M047.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M047.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M048.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M048.pdf
index a738ce3b0c..a738ce3b0c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M048.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M048.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M049.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M049.pdf
index 913fe8388a..913fe8388a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M049.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M049.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M050.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M050.pdf
index c2e3ba295e..c2e3ba295e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M050.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M050.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M051.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M051.pdf
index 841dcfc799..841dcfc799 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M051.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M051.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M052.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M052.pdf
index 5d9fb414b9..5d9fb414b9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M052.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M052.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M053.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M053.pdf
index 3124ec47c6..3124ec47c6 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M053.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M053.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M054.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M054.pdf
index e146dadce7..e146dadce7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M054.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M054.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M055.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M055.pdf
index b744fbd6bd..b744fbd6bd 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M055.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M055.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M056.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M056.pdf
index 42b1a3d475..42b1a3d475 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M056.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M056.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M057.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M057.pdf
index 8a0fa9e817..8a0fa9e817 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M057.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M057.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M058.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M058.pdf
index d16a09083f..d16a09083f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M058.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M058.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M059.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M059.pdf
index f97c260b8a..f97c260b8a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M059.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M059.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M060.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M060.pdf
index 373633588c..373633588c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M060.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M060.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P001.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P001.pdf
index 4204639a36..4204639a36 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P001.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P001.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P002.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P002.pdf
index cbff0bd974..cbff0bd974 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P002.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P002.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P003.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P003.pdf
index 3d70a21875..3d70a21875 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P003.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P003.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P004.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P004.pdf
index 7557ddb6b3..7557ddb6b3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P004.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P004.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P005.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P005.pdf
index 47f4f06543..47f4f06543 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P005.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P005.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P006.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P006.pdf
index d81b6c5e1a..d81b6c5e1a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P006.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P006.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P007.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P007.pdf
index 7ef93afe83..7ef93afe83 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P007.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P007.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P008.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P008.pdf
index 16b5b94fbb..16b5b94fbb 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P008.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P008.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P009.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P009.pdf
index 8aedd6064b..8aedd6064b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P009.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P009.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P010.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P010.pdf
index 494c68d1df..494c68d1df 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P010.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P010.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P011.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P011.pdf
index 42d5f63dde..42d5f63dde 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P011.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P011.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P012.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P012.pdf
index b196406cb8..b196406cb8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P012.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P012.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P013.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P013.pdf
index 6f94e89b1f..6f94e89b1f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P013.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P013.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P014.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P014.pdf
index 40f30b66a3..40f30b66a3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P014.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P014.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P015.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P015.pdf
index 7de907b497..7de907b497 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P015.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P015.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P016.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P016.pdf
index 26f222085e..26f222085e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P016.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P016.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P017.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P017.pdf
index 07dc17d10e..07dc17d10e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P017.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P017.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P018.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P018.pdf
index 1649aaaed1..1649aaaed1 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P018.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P018.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P019.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P019.pdf
index 567db7aa6f..567db7aa6f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P019.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P019.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P020.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P020.pdf
index 1a93bf6a57..1a93bf6a57 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P020.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P020.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P021.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P021.pdf
index 52a3486198..52a3486198 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P021.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P021.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P022.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P022.pdf
index b3221c84d7..b3221c84d7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P022.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P022.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P023.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P023.pdf
index bc61ff3957..bc61ff3957 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P023.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P023.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P024.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P024.pdf
index cfdcc65602..cfdcc65602 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P024.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P024.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P025.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P025.pdf
index 0f63052829..0f63052829 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P025.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P025.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P026.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P026.pdf
index 14622fd474..14622fd474 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P026.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P026.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P027.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P027.pdf
index 287fa92485..287fa92485 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P027.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P027.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P028.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P028.pdf
index fbc0e109ac..fbc0e109ac 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P028.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P028.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P029.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P029.pdf
index cb3e49f544..cb3e49f544 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P029.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P029.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P030.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P030.pdf
index 021c0b9795..021c0b9795 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P030.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P030.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P031.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P031.pdf
index 421ee50f92..421ee50f92 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P031.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P031.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P032.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P032.pdf
index 584f20d8e7..584f20d8e7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P032.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P032.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P033.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P033.pdf
index f7d6e8f944..f7d6e8f944 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P033.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P033.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P034.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P034.pdf
index d8ee13c5fd..d8ee13c5fd 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P034.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P034.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P035.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P035.pdf
index d42d57242c..d42d57242c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P035.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P035.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P036.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P036.pdf
index 555a6afe24..555a6afe24 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P036.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P036.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P037.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P037.pdf
index 6a6563ca97..6a6563ca97 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P037.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P037.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P038.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P038.pdf
index ddaf05f9ed..ddaf05f9ed 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P038.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P038.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P039.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P039.pdf
index 0a41c0d8b6..0a41c0d8b6 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P039.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P039.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P040.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P040.pdf
index bfeec12e1e..bfeec12e1e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P040.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P040.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P041.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P041.pdf
index 6da07255e5..6da07255e5 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P041.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P041.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P042.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P042.pdf
index 8a77221585..8a77221585 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P042.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P042.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P043.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P043.pdf
index a4e069ba9a..a4e069ba9a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P043.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P043.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P044.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P044.pdf
index 81cf8f7189..81cf8f7189 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P044.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P044.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P045.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P045.pdf
index 16726e7cf2..16726e7cf2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P045.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P045.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P046.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P046.pdf
index 320c0f6c5d..320c0f6c5d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P046.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P046.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P047.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P047.pdf
index de38a973bd..de38a973bd 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P047.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P047.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P048.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P048.pdf
index 30b9137f54..30b9137f54 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P048.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P048.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P049.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P049.pdf
index e7ebbd1202..e7ebbd1202 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P049.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P049.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P050.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P050.pdf
index c0cb30329d..c0cb30329d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P050.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P050.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P051.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P051.pdf
index c4f9032953..c4f9032953 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P051.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P051.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P052.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P052.pdf
index 1aa30711be..1aa30711be 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P052.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P052.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P053.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P053.pdf
index 5e75ac56a2..5e75ac56a2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P053.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P053.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P054.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P054.pdf
index 39fbd4b6af..39fbd4b6af 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P054.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P054.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P055.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P055.pdf
index 561d15386b..561d15386b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P055.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P055.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P056.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P056.pdf
index 2c984d0b7e..2c984d0b7e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P056.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P056.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P057.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P057.pdf
index 886365621e..886365621e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P057.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P057.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P058.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P058.pdf
index e82cdecead..e82cdecead 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P058.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P058.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P059.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P059.pdf
index 46a6dc0b1c..46a6dc0b1c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P059.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P059.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P060.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P060.pdf
index b152234d17..b152234d17 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P060.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P060.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P061.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P061.pdf
index 04327846dd..04327846dd 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P061.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P061.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P062.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P062.pdf
index a3a86b1252..a3a86b1252 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P062.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P062.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P063.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P063.pdf
index bc4e823a18..bc4e823a18 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P063.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P063.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P064.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P064.pdf
index feaf4db700..feaf4db700 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P064.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P064.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P065.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P065.pdf
index f0a3cf25b6..f0a3cf25b6 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P065.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P065.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P066.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P066.pdf
index ca0ad4180a..ca0ad4180a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P066.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P066.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P067.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P067.pdf
index f8de06dbd8..f8de06dbd8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P067.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P067.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P068.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P068.pdf
index 9de356ab4d..9de356ab4d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P068.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P068.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P069.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P069.pdf
index 93c6e07dd2..93c6e07dd2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P069.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P069.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P070.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P070.pdf
index 34b973fa36..34b973fa36 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P070.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P070.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P071.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P071.pdf
index 882eec6982..882eec6982 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P071.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P071.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P072.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P072.pdf
index 85c8329f27..85c8329f27 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P072.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P072.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P073.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P073.pdf
index a70fc01368..a70fc01368 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P073.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P073.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P074.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P074.pdf
index b0dcdbdd31..b0dcdbdd31 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P074.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P074.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P075.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P075.pdf
index dbd0eece86..dbd0eece86 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P075.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P075.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W001.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W001.pdf
index 93e4ff1096..93e4ff1096 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W001.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W001.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W002.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W002.pdf
index cd4e5efe71..cd4e5efe71 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W002.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W002.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W003.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W003.pdf
index e9718ec0b9..e9718ec0b9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W003.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W003.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W004.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W004.pdf
index 52821d3ee2..52821d3ee2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W004.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W004.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W005.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W005.pdf
index e0af280633..e0af280633 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W005.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W005.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W006.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W006.pdf
index 5a8cd08340..5a8cd08340 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W006.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W006.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W007.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W007.pdf
index 5aee6b6eeb..5aee6b6eeb 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W007.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W007.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W008.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W008.pdf
index 2279b4802e..2279b4802e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W008.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W008.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W009.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W009.pdf
index 9dda0f4ee9..9dda0f4ee9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W009.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W009.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W010.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W010.pdf
index 8a70dd40fc..8a70dd40fc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W010.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W010.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W011.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W011.pdf
index 5feeebec8d..5feeebec8d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W011.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W011.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W012.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W012.pdf
index fed0023c08..fed0023c08 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W012.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W012.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W013.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W013.pdf
index 22e6c03d15..22e6c03d15 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W013.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W013.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W014.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W014.pdf
index 0ffc581a81..0ffc581a81 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W014.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W014.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W015.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W015.pdf
index 0a8f3c6a98..0a8f3c6a98 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W015.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W015.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W016.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W016.pdf
index 1635032be1..1635032be1 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W016.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W016.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W017.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W017.pdf
index e7f3eaa7e3..e7f3eaa7e3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W017.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W017.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W018.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W018.pdf
index f56cfa12f4..f56cfa12f4 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W018.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W018.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W019.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W019.pdf
index 37445e7a28..37445e7a28 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W019.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W019.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W020.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W020.pdf
index 1e06b95eab..1e06b95eab 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W020.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W020.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W021.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W021.pdf
index d60016dc80..d60016dc80 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W021.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W021.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W022.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W022.pdf
index bf13211210..bf13211210 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W022.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W022.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W023.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W023.pdf
index d7b080a243..d7b080a243 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W023.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W023.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W024.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W024.pdf
index c1148bf3e6..c1148bf3e6 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W024.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W024.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W025.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W025.pdf
index 1f94d88dde..1f94d88dde 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W025.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W025.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W026.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W026.pdf
index b51f591e19..b51f591e19 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W026.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W026.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W027.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W027.pdf
index 299c473c61..299c473c61 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W027.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W027.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W028.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W028.pdf
index 06a2a1730e..06a2a1730e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W028.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W028.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W029.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W029.pdf
index b26c8d242e..b26c8d242e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W029.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W029.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W030.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W030.pdf
index 6991d20397..6991d20397 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W030.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W030.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W031.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W031.pdf
index 3b04fca386..3b04fca386 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W031.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W031.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W032.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W032.pdf
index 874d5d1856..874d5d1856 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W032.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W032.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W033.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W033.pdf
index 954c565b07..954c565b07 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W033.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W033.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W034.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W034.pdf
index e05340bf57..e05340bf57 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W034.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W034.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W035.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W035.pdf
index b519520de2..b519520de2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W035.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W035.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W036.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W036.pdf
index 8b3c75efa4..8b3c75efa4 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W036.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W036.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W037.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W037.pdf
index 82fdb9e25a..82fdb9e25a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W037.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W037.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W038.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W038.pdf
index 20d7fecebf..20d7fecebf 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W038.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W038.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W039.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W039.pdf
index 1c99515ed9..1c99515ed9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W039.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W039.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W040.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W040.pdf
index 3941b25097..3941b25097 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W040.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W040.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W041.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W041.pdf
index c6416f08ea..c6416f08ea 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W041.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W041.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W042.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W042.pdf
index 9321af66db..9321af66db 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W042.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W042.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W043.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W043.pdf
index 55ead51620..55ead51620 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W043.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W043.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W044.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W044.pdf
index e262f16d1d..e262f16d1d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W044.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W044.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W045.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W045.pdf
index e6d68cba29..e6d68cba29 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W045.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W045.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W046.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W046.pdf
index d1d0f0b781..d1d0f0b781 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W046.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W046.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W047.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W047.pdf
index 10b71d56d7..10b71d56d7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W047.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W047.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W048.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W048.pdf
index ed0b84886f..ed0b84886f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W048.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W048.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W049.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W049.pdf
index 814955db23..814955db23 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W049.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W049.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W050.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W050.pdf
index c2f4bcb9b8..c2f4bcb9b8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W050.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W050.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W051.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W051.pdf
index b0e7c09dc4..b0e7c09dc4 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W051.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W051.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W052.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W052.pdf
index 9ad59817a5..9ad59817a5 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W052.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W052.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W053.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W053.pdf
index 8013e0e966..8013e0e966 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W053.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W053.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W054.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W054.pdf
index 2b3f5323d9..2b3f5323d9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W054.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W054.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W055.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W055.pdf
index c61a359de6..c61a359de6 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W055.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W055.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W056.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W056.pdf
index 6f3b502881..6f3b502881 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W056.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W056.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W057.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W057.pdf
index a4e2e379cc..a4e2e379cc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W057.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W057.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W058.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W058.pdf
index a6cc2f357e..a6cc2f357e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W058.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W058.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W059.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W059.pdf
index 03037b8f9d..03037b8f9d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W059.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W059.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W060.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W060.pdf
index 4947b7f529..4947b7f529 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W060.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W060.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W061.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W061.pdf
index fa0dbad4ee..fa0dbad4ee 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W061.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W061.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W062.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W062.pdf
index 38168b8b90..38168b8b90 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W062.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W062.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W063.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W063.pdf
index 0bc81af20e..0bc81af20e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W063.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W063.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W064.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W064.pdf
index 75f8625838..75f8625838 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W064.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W064.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W065.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W065.pdf
index f13b05c99f..f13b05c99f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W065.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W065.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W066.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W066.pdf
index 92afceab2f..92afceab2f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W066.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W066.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W067.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W067.pdf
index d891a4bdc7..d891a4bdc7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W067.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W067.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W068.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W068.pdf
index 0da984a06f..0da984a06f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W068.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W068.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W069.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W069.pdf
index 494ab14531..494ab14531 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W069.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W069.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W070.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W070.pdf
index 4cd988cba7..4cd988cba7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W070.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W070.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W071.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W071.pdf
index 0e55001c94..0e55001c94 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W071.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W071.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W072.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W072.pdf
index 7b8a9c0839..7b8a9c0839 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W072.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W072.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W073.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W073.pdf
index 0f6f5fcd9b..0f6f5fcd9b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W073.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W073.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W074.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W074.pdf
index b6ec9d92f3..b6ec9d92f3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W074.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W074.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W075.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W075.pdf
index 6e8b28d276..6e8b28d276 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W075.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W075.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W076.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W076.pdf
index 32709b9144..32709b9144 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W076.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W076.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W077.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W077.pdf
index db62ce47be..db62ce47be 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W077.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W077.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W078.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W078.pdf
index 867eb1b6c1..867eb1b6c1 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W078.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W078.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W079.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W079.pdf
index 78e325ce3d..78e325ce3d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W079.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W079.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W080.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W080.pdf
index b0b0b76b90..b0b0b76b90 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W080.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W080.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/tex/isosafety.sty b/macros/latex/contrib/isosafety/tex/isosafety.sty
new file mode 100644
index 0000000000..852aed35ea
--- /dev/null
+++ b/macros/latex/contrib/isosafety/tex/isosafety.sty
@@ -0,0 +1,49 @@
+%% Copyright (C) 2024 by BenSt099
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3 of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{isosafety}
+[2024/08/20 v1.2 ISO Safety Colors And Safety Signs]
+
+\RequirePackage{graphicx}
+\RequirePackage{xcolor}
+\RequirePackage{ifthen}
+\RequirePackage{xkeyval}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\definecolor{Caution}{HTML}{F9A800}
+\definecolor{Warning}{HTML}{D05D29}
+\definecolor{Prohibition}{HTML}{9B2423}
+\definecolor{Mandatory}{HTML}{005387}
+\definecolor{Rescue}{HTML}{237F52}
+\definecolor{Backgrounds}{HTML}{ECECE7}
+\definecolor{Symbol}{HTML}{2B2B2C}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\isosafetypath}{false}
+\DeclareOptionX{fullpath}{\renewcommand{\isosafetypath}{#1}}
+\ProcessOptionsX\relax
+
+\ifthenelse{\equal{\isosafetypath}{false}}
+{\PackageError{isosafety}{Missing key-value option 'fullpath' in usepackage-statement, please see documentation.}{Please provide the full path to this package, usually /texlive/2024/texmf-dist/tex/latex/isosafety}}
+{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\Isosign}[1]{\isosafetypath /isosafety-pdfs/ISO_7010_#1.pdf}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\endinput
+%%
+%% End of file `isosafety.sty'. \ No newline at end of file
diff --git a/macros/latex/contrib/iwonamath/Makefile b/macros/latex/contrib/iwonamath/Makefile
index 5b8322bf33..fcac414a15 100644
--- a/macros/latex/contrib/iwonamath/Makefile
+++ b/macros/latex/contrib/iwonamath/Makefile
@@ -48,6 +48,7 @@ all: ${PDF} $(PACKAGE).sty $(FD)
pdflatex $<
- bibtex $*
pdflatex $<
+ pdflatex $<
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \
do pdflatex $<; done
@@ -64,7 +65,8 @@ clean:
*.ilg *.ind *.out *.lof \
*.lot *.bbl *.blg *.gls \
*.dvi *.ps *.thm *.tgz *.zip *.rpi \
- *.hd sample-blx.bib
+ *.hd sample-blx.bib \
+ omsiwonamathcmsy.fd *.sty
distclean: clean
@@ -75,7 +77,7 @@ distclean: clean
#
archive: all clean
COPYFILE_DISABLE=1 \
- tar -C .. -czvf ../$(PACKAGE).tgz --exclude '*~' \
+ tar -C .. -czvf ../$(PACKAGE).tgz --exclude '*~' --exclude LICENSE \
--exclude '*.tgz' --exclude '*.zip' --exclude .git $(PACKAGE)
mv ../$(PACKAGE).tgz .
diff --git a/macros/latex/contrib/iwonamath/README b/macros/latex/contrib/iwonamath/README
index 72fe9e3508..8bf59e86c3 100644
--- a/macros/latex/contrib/iwonamath/README
+++ b/macros/latex/contrib/iwonamath/README
@@ -2,4 +2,9 @@ This package provides an interface to Iwona math fonts by Janusz
Marian Nowacki. It allows to use Iwona as math complement for sans
serif fonts without native math. The package allows font scaling, the
choice of light and condensed versions and the creation of multiple
-math versions. \ No newline at end of file
+math versions.
+
+Author: Boris Veytsman, borisv@lk.net, boris@varphi.com
+License: LPPL 1.3c, https://www.latex-project.org/lppl/lppl-1-3c/
+
+Version 1.1: Improved delimitershack as suggested by Enrico Gregorio. \ No newline at end of file
diff --git a/macros/latex/contrib/iwonamath/iwonamath.dtx b/macros/latex/contrib/iwonamath/iwonamath.dtx
index 020c8d6ad0..38aebd666a 100644
--- a/macros/latex/contrib/iwonamath/iwonamath.dtx
+++ b/macros/latex/contrib/iwonamath/iwonamath.dtx
@@ -141,7 +141,7 @@
%<oms>{oms_FAMILY_.fd}
%<omx>{omx_FAMILY_.fd}
%<cmsy>{omsiwonamathcmsy.fd}
-%<package|fd>{2023-08-31} {1.0}
+%<package|fd>{2024-07-19} {1.1}
%<package|fd>{Scaled Iwona math fonts}
%<*package>
% \end{macrocode}
@@ -233,7 +233,8 @@
%
% We add delimiters from |cmsy|, as discussed in
% \citep[\S~12.5.5]{TLC3}). We predefine the symbols for the standard
-% versions just in case.
+% versions just in case. The last line is suggested by Enrico
+% Gregorio.
% \begin{macrocode}
\bool_if:NTF \l_@@_delimitershack_bool
{
@@ -241,6 +242,7 @@
\SetSymbolFont{symbols2} {bold}{OMS}{cmsy}{b}{n}
\DeclareMathDelimiter{\lVert}{\mathopen} {symbols2}{"6B}{largesymbols}{"0D}
\DeclareMathDelimiter{\rVert}{\mathclose}{symbols2}{"6B}{largesymbols}{"0D}
+ \DeclareMathDelimiter{\|}{\mathclose}{symbols2}{"6B}{largesymbols}{"0D}
}
{}
% \end{macrocode}
diff --git a/macros/latex/contrib/iwonamath/iwonamath.pdf b/macros/latex/contrib/iwonamath/iwonamath.pdf
index fc0b5e6e2c..e80a3e33d0 100644
--- a/macros/latex/contrib/iwonamath/iwonamath.pdf
+++ b/macros/latex/contrib/iwonamath/iwonamath.pdf
Binary files differ
diff --git a/macros/latex/contrib/iwonamath/omliwonamath.fd b/macros/latex/contrib/iwonamath/omliwonamath.fd
index eca19657e2..869b63021f 100644
--- a/macros/latex/contrib/iwonamath/omliwonamath.fd
+++ b/macros/latex/contrib/iwonamath/omliwonamath.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omliwonamath.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omliwonamathc.fd b/macros/latex/contrib/iwonamath/omliwonamathc.fd
index 452341075f..567abb4d8c 100644
--- a/macros/latex/contrib/iwonamath/omliwonamathc.fd
+++ b/macros/latex/contrib/iwonamath/omliwonamathc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omliwonamathc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omliwonamathl.fd b/macros/latex/contrib/iwonamath/omliwonamathl.fd
index a0dba2a829..c52bb24dcf 100644
--- a/macros/latex/contrib/iwonamath/omliwonamathl.fd
+++ b/macros/latex/contrib/iwonamath/omliwonamathl.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omliwonamathl.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omliwonamathlc.fd b/macros/latex/contrib/iwonamath/omliwonamathlc.fd
index 90d147d1ee..ebfaea2b69 100644
--- a/macros/latex/contrib/iwonamath/omliwonamathlc.fd
+++ b/macros/latex/contrib/iwonamath/omliwonamathlc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omliwonamathlc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omsiwonamath.fd b/macros/latex/contrib/iwonamath/omsiwonamath.fd
index 958053cd49..7a0c889c7d 100644
--- a/macros/latex/contrib/iwonamath/omsiwonamath.fd
+++ b/macros/latex/contrib/iwonamath/omsiwonamath.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omsiwonamath.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omsiwonamathc.fd b/macros/latex/contrib/iwonamath/omsiwonamathc.fd
index 02b892ffc5..22c1755011 100644
--- a/macros/latex/contrib/iwonamath/omsiwonamathc.fd
+++ b/macros/latex/contrib/iwonamath/omsiwonamathc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omsiwonamathc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omsiwonamathl.fd b/macros/latex/contrib/iwonamath/omsiwonamathl.fd
index d291ba7eb0..3e0815ef80 100644
--- a/macros/latex/contrib/iwonamath/omsiwonamathl.fd
+++ b/macros/latex/contrib/iwonamath/omsiwonamathl.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omsiwonamathl.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omsiwonamathlc.fd b/macros/latex/contrib/iwonamath/omsiwonamathlc.fd
index 55a040e93e..8cdb0f6503 100644
--- a/macros/latex/contrib/iwonamath/omsiwonamathlc.fd
+++ b/macros/latex/contrib/iwonamath/omsiwonamathlc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omsiwonamathlc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omxiwonamath.fd b/macros/latex/contrib/iwonamath/omxiwonamath.fd
index 662121a6be..8b33fd85b9 100644
--- a/macros/latex/contrib/iwonamath/omxiwonamath.fd
+++ b/macros/latex/contrib/iwonamath/omxiwonamath.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omxiwonamath.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omxiwonamathc.fd b/macros/latex/contrib/iwonamath/omxiwonamathc.fd
index fce676f1e8..9738a6961d 100644
--- a/macros/latex/contrib/iwonamath/omxiwonamathc.fd
+++ b/macros/latex/contrib/iwonamath/omxiwonamathc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omxiwonamathc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omxiwonamathl.fd b/macros/latex/contrib/iwonamath/omxiwonamathl.fd
index 895f359e35..759ecad381 100644
--- a/macros/latex/contrib/iwonamath/omxiwonamathl.fd
+++ b/macros/latex/contrib/iwonamath/omxiwonamathl.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omxiwonamathl.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/omxiwonamathlc.fd b/macros/latex/contrib/iwonamath/omxiwonamathlc.fd
index 85f60415e3..fbe5cdc48c 100644
--- a/macros/latex/contrib/iwonamath/omxiwonamathlc.fd
+++ b/macros/latex/contrib/iwonamath/omxiwonamathlc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{omxiwonamathlc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamath.fd b/macros/latex/contrib/iwonamath/ot1iwonamath.fd
index 20be53c3af..789656bfa7 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamath.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamath.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamath.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathc.fd b/macros/latex/contrib/iwonamath/ot1iwonamathc.fd
index a0b92a2b37..182d34be2f 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathc.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathcm.fd b/macros/latex/contrib/iwonamath/ot1iwonamathcm.fd
index a5e69e07ad..4f49f9befb 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathcm.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathcm.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathcm.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathl.fd b/macros/latex/contrib/iwonamath/ot1iwonamathl.fd
index 82060b21d1..504e9c87ad 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathl.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathl.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathl.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathlc.fd b/macros/latex/contrib/iwonamath/ot1iwonamathlc.fd
index c5b2f0024b..5ad18477c7 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathlc.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathlc.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathlc.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathlcm.fd b/macros/latex/contrib/iwonamath/ot1iwonamathlcm.fd
index 130c63822e..c1b3f9bb44 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathlcm.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathlcm.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathlcm.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathlm.fd b/macros/latex/contrib/iwonamath/ot1iwonamathlm.fd
index ab72419cd8..f15d880adc 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathlm.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathlm.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathlm.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/ot1iwonamathm.fd b/macros/latex/contrib/iwonamath/ot1iwonamathm.fd
index 7a103a029b..9f82d65734 100644
--- a/macros/latex/contrib/iwonamath/ot1iwonamathm.fd
+++ b/macros/latex/contrib/iwonamath/ot1iwonamathm.fd
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\ProvidesExplFile
{ot1iwonamathm.fd}
-{2023-08-31} {1.0}
+{2024-07-19} {1.1}
{Scaled Iwona math fonts}
\tl_if_exist:NTF \l__iwonamath_scale_tl
{}
diff --git a/macros/latex/contrib/iwonamath/sample.pdf b/macros/latex/contrib/iwonamath/sample.pdf
index c64d5e078d..342ba53f87 100644
--- a/macros/latex/contrib/iwonamath/sample.pdf
+++ b/macros/latex/contrib/iwonamath/sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfc-a-answer.pdf b/macros/latex/contrib/jnuexam/examfc-a-answer.pdf
index f6f0a50649..e12e04e047 100644
--- a/macros/latex/contrib/jnuexam/examfc-a-answer.pdf
+++ b/macros/latex/contrib/jnuexam/examfc-a-answer.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfc-a-blank.pdf b/macros/latex/contrib/jnuexam/examfc-a-blank.pdf
index 09d8a14b15..d033fe6d75 100644
--- a/macros/latex/contrib/jnuexam/examfc-a-blank.pdf
+++ b/macros/latex/contrib/jnuexam/examfc-a-blank.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfc-b-answer.pdf b/macros/latex/contrib/jnuexam/examfc-b-answer.pdf
index 2356b53690..6497883408 100644
--- a/macros/latex/contrib/jnuexam/examfc-b-answer.pdf
+++ b/macros/latex/contrib/jnuexam/examfc-b-answer.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfc-b-blank.pdf b/macros/latex/contrib/jnuexam/examfc-b-blank.pdf
index d9160a13ed..5682c2d24b 100644
--- a/macros/latex/contrib/jnuexam/examfc-b-blank.pdf
+++ b/macros/latex/contrib/jnuexam/examfc-b-blank.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfe-a-answer.pdf b/macros/latex/contrib/jnuexam/examfe-a-answer.pdf
index 6ac1d17806..c029ef99ea 100644
--- a/macros/latex/contrib/jnuexam/examfe-a-answer.pdf
+++ b/macros/latex/contrib/jnuexam/examfe-a-answer.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfe-a-blank.pdf b/macros/latex/contrib/jnuexam/examfe-a-blank.pdf
index 4192ead99f..e2f4dac7e2 100644
--- a/macros/latex/contrib/jnuexam/examfe-a-blank.pdf
+++ b/macros/latex/contrib/jnuexam/examfe-a-blank.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfe-b-answer.pdf b/macros/latex/contrib/jnuexam/examfe-b-answer.pdf
index bf5e9342ee..8e60df9eac 100644
--- a/macros/latex/contrib/jnuexam/examfe-b-answer.pdf
+++ b/macros/latex/contrib/jnuexam/examfe-b-answer.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/examfe-b-blank.pdf b/macros/latex/contrib/jnuexam/examfe-b-blank.pdf
index c37242241f..03bcefee49 100644
--- a/macros/latex/contrib/jnuexam/examfe-b-blank.pdf
+++ b/macros/latex/contrib/jnuexam/examfe-b-blank.pdf
Binary files differ
diff --git a/macros/latex/contrib/jnuexam/jnuexam.cls b/macros/latex/contrib/jnuexam/jnuexam.cls
index f5df920469..086c55f2b0 100644
--- a/macros/latex/contrib/jnuexam/jnuexam.cls
+++ b/macros/latex/contrib/jnuexam/jnuexam.cls
@@ -6,7 +6,7 @@
% ----------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{jnuexam}[2024-02-18 v2024E An exam class for Jinan University]
+\ProvidesClass{jnuexam}[2024-07-09 v2024F An exam class for Jinan University]
%% 旧版本的 LaTeX 不能识别 2022-11-01 这种日期格式
%\@ifl@t@r\fmtversion{2022-11-01}{}{
@@ -521,9 +521,10 @@
\let\doscratchpaper=\doscratchpaperone
}
-% 在旧版本 ctex 宏包中不能用 \AtEndDocument 添加含中文的内容,即不能用 \appto 而要用 \preto
+%% 此时 \AtEndDocument{...} 等价于 \AddToHook{enddocument}[jnuexam]{...}
+%% 而且默认会在 \AddToHook{enddocument}[randexam]{...} 所加的代码之后执行
\newcommand{\addscratchpaper}{
- \preto{\@enddocumenthook}{\doscratchpaper}
+ \AtEndDocument{\doscratchpaper}
}
\IfExamBoolF{plain}{\IfExamBoolF{answer}{\addscratchpaper}}
@@ -534,6 +535,7 @@
\DeclareExamTheme{final-chinese}{
\SetExamOption{chinese}
+ \SetExamBoolTrue{evaluator}
\SelectExamTranslation{chinese}
\SetExamValue{exampart}{number=\Chinese}
\SelectExamTemplate{examtitle}{final-chinese}
diff --git a/macros/latex/contrib/jnuexam/jnuexam.pdf b/macros/latex/contrib/jnuexam/jnuexam.pdf
index 0cc01cc3f1..c0a756123c 100644
--- a/macros/latex/contrib/jnuexam/jnuexam.pdf
+++ b/macros/latex/contrib/jnuexam/jnuexam.pdf
Binary files differ
diff --git a/macros/latex/contrib/jsonparse/README.md b/macros/latex/contrib/jsonparse/README.md
index 69258570db..c4df9ad419 100644
--- a/macros/latex/contrib/jsonparse/README.md
+++ b/macros/latex/contrib/jsonparse/README.md
@@ -1,6 +1,6 @@
-![Version 0.8.3](https://img.shields.io/badge/version-0.8.3-blue)
+![Version 0.8.7](https://img.shields.io/badge/version-0.8.7-blue)
-![Jason, the JSON parsing horse](https://github.com/jasperhabicht/jsonparse/assets/6378801/d6abde3a-fa12-4b63-a213-ad8332e32199)
+![Jason, the JSON parsing horse](https://github.com/jasperhabicht/jsonparse/assets/6378801/ddfddc70-bf5f-4121-ba45-4b9128875d85)
# The `jsonparse` package
@@ -46,5 +46,5 @@ We can store it in the token variable `\myJSONdata` using the command `\JSONPars
This package including all files is subject to the LPPL 1.3c license. Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
-Jason, the JSON parseing horse: Copyright 2024 Hannah Klöber.
+Jason, the JSON parsing horse: Copyright 2024 Hannah Klöber.
diff --git a/macros/latex/contrib/jsonparse/jason/jason.pdf b/macros/latex/contrib/jsonparse/jason/jason.pdf
index 324458e684..44ff3db133 100644
--- a/macros/latex/contrib/jsonparse/jason/jason.pdf
+++ b/macros/latex/contrib/jsonparse/jason/jason.pdf
Binary files differ
diff --git a/macros/latex/contrib/jsonparse/jason/jason.svg b/macros/latex/contrib/jsonparse/jason/jason.svg
index fe8793dfa8..aff567e175 100644
--- a/macros/latex/contrib/jsonparse/jason/jason.svg
+++ b/macros/latex/contrib/jsonparse/jason/jason.svg
@@ -1,67 +1,25 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="250px" height="250px" viewBox="0 0 450 450" enable-background="new 0 0 449.5 435" xml:space="preserve">
-<circle fill="#3FA9F5" cx="239" cy="226" r="206.166"/>
-<g>
- <defs>
- <circle id="SVGID_1_" cx="239" cy="226" r="206.166"/>
- </defs>
- <clipPath id="SVGID_2_">
- <use xlink:href="#SVGID_1_" overflow="visible"/>
- </clipPath>
- <path clip-path="url(#SVGID_2_)" fill="#C69C6D" d="M418.334,389.667c0,0-10.334-12.333-36-86.667S344,189.333,333.667,163
- c-5.552-14.149-12.545-22.326-17.83-26.869c7.769-5.957,15.778-13.185,19.83-20.131c6.902-11.834,11.667-24.5,15.667-38.5
- C353.731,69.108,361,63.333,361,63.333s-55-13-78.666,29.5c-1.534,2.754-3.036,5.383-4.538,7.892l-125.587,25.33
- C141.705,137.165,130.648,151.436,126,166c-4.127,12.93-11.333,16-26.333,28s-47.398,43.774-47.398,43.774l12.106,48.851
- l56.113,69.247c13.436-9.009,28.206-20.065,46.512-27.122c13.874-5.348,33.133-8.479,51.113-12.082
- c2.555,6.323,8.828,23.014,11.387,40.332c3.25,22,4.5,91.5,4.5,91.5L418.334,389.667z"/>
- <path clip-path="url(#SVGID_2_)" fill="#F7931E" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M465.5,307.334
- c0,0-9.667-14.833-21.667-21c-11.409-5.863-24.5-7.167-24.5-7.167s2.853-11.646,11.167-22.833C439.667,244,456,233.667,456,233.667
- l-51.499-17.5c0,0,17.166-6.5,25.166-13.833c9.095-8.336,13.333-30,13.333-30s-47.621,2.806-54.333-15.167
- C383.501,143.333,402.001,114,402.001,114s-27.334-6.333-41.167-6.167c-7.572,0.091-15.827,0.876-22.104,2.556
- c-0.978,1.889-1.986,3.764-3.063,5.611c-4.052,6.946-12.062,14.174-19.83,20.131c5.285,4.543,12.278,12.72,17.83,26.869
- c10.333,26.333,23.001,65.666,48.667,140s36,86.667,36,86.667l32.5-36.5c-15.167-3-22.334-20.5-22.334-20.5L465.5,307.334z"/>
- <path clip-path="url(#SVGID_2_)" fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M234,448.5
- c0,0-1.25-69.5-4.5-91.5c-2.559-17.318-8.832-34.009-11.387-40.332c-0.185,0.037-0.369,0.074-0.554,0.111"/>
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This file was generated by dvisvgm 3.2.2 -->
+<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width="250px" height="250px" viewBox='-70.503905 -70.50391 452.105105 441.67801'>
+<defs>
+<clipPath id='clip'>
+<path d='M361.3402 148.0117C361.3402 261.4457 269.3832 353.4067 155.9452 353.4067C42.5082 353.4067-49.4531 261.4457-49.4531 148.0117C-49.4531 34.5747 42.5082-57.3867 155.9452-57.3867C269.3832-57.3867 361.3402 34.5747 361.3402 148.0117Z'/>
+</clipPath>
+</defs>
+<g id='page1'>
+<path d='M361.3402 148.0117C361.3402 261.4457 269.3832 353.4067 155.9452 353.4067C42.5082 353.4067-49.4531 261.4457-49.4531 148.0117C-49.4531 34.5747 42.5082-57.3867 155.9452-57.3867C269.3832-57.3867 361.3402 34.5747 361.3402 148.0117Z' fill='#5ba3de'/>
+<path d='M334.6092 311.0627C334.6092 311.0627 324.3162 298.7777 298.7422 224.7227C273.1762 150.6637 260.5542 111.4807 250.2582 85.2457C244.7262 71.1487 237.7622 62.9997 232.4962 58.4767C240.2342 52.5387 248.2152 45.3397 252.2502 38.4217C259.1252 26.6289 263.8752 14.0117 267.8592 .0664C270.2462-8.2969 277.4922-14.0508 277.4922-14.0508S222.6952-27 199.1172 15.3398C197.5862 18.0859 196.0942 20.7031 194.5942 23.2031L69.4762 48.4377C59.0122 59.5077 48.0002 73.7227 43.3672 88.2347C39.2542 101.1167 32.0742 104.1757 17.1289 116.1287C2.1875 128.0857-30.0898 159.7387-30.0898 159.7387L-18.0273 208.4097L37.8752 277.3987C51.2622 268.4177 65.9722 257.4067 84.2152 250.3787C98.0352 245.0467 117.2222 241.9297 135.1372 238.3397C137.6832 244.6367 143.9332 261.2657 146.4802 278.5237C149.7192 300.4377 150.9652 369.6797 150.9652 369.6797Z' fill='#ba8d5d' clip-path='url(#clip)'/>
+<path d='M381.6012 229.0387C381.6012 229.0387 371.9692 214.2617 360.0122 208.1167C348.6442 202.2777 335.6052 200.9767 335.6052 200.9767S338.4452 189.3747 346.7302 178.2307C355.8592 165.9457 372.1372 155.6447 372.1372 155.6447L320.8282 138.2107C320.8282 138.2107 337.9292 131.7347 345.8982 124.4297C354.9612 116.1247 359.1832 94.5427 359.1832 94.5427S311.7422 97.3397 305.0512 79.4337C299.9062 65.6527 318.3362 36.4297 318.3362 36.4297S291.1012 30.1167 277.3242 30.2847C269.7812 30.3747 261.5542 31.1567 255.3042 32.8277C254.3282 34.7107 253.3242 36.5817 252.2502 38.4217C248.2152 45.3397 240.2342 52.5387 232.4962 58.4767C237.7622 62.9997 244.7262 71.1487 250.2582 85.2457C260.5542 111.4807 273.1762 150.6637 298.7422 224.7227C324.3162 298.7777 334.6092 311.0627 334.6092 311.0627L366.9882 274.6997C351.8752 271.7107 344.7382 254.2777 344.7382 254.2777Z' fill='#f68623' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10' clip-path='url(#clip)'/>
+<path d='M37.8712 277.3987C51.2622 268.4177 65.9722 257.4067 84.2152 250.3787C108.1682 241.1407 148.2502 238.5427 169.8632 228.6327C191.4762 218.7307 194.1792 185.4067 194.1792 185.4067M150.9652 369.6797C150.9652 369.6797 149.7192 300.4377 146.4802 278.5237C143.9332 261.2657 137.6832 244.6367 135.1332 238.3397C134.9492 238.3747 134.7692 238.4097 134.5862 238.4497M212.7342 71.7967C212.7342 71.7967 242.9532 54.3637 252.2502 38.4217C259.1252 26.6289 263.8752 14.0117 267.8592 .0664C270.2462-8.2969 277.4922-14.0508 277.4922-14.0508S222.6952-27 199.1172 15.3398C197.5862 18.0859 196.0942 20.7031 194.5942 23.2031M69.4762 48.4377C59.0122 59.5077 47.9962 73.7227 43.3672 88.2347C39.2542 101.1167 32.0742 104.1757 17.1289 116.1287C2.1875 128.0857-30.0898 159.7387-30.0898 159.7387' stroke='#512c15' fill='none' stroke-width='2.9888' stroke-miterlimit='10' clip-path='url(#clip)'/>
+<path d='M106.4652 1.2266C106.4652 1.2266 105.9652-3.918 96.3322-13.8828C94.6292-15.6484 92.7692-17.0078 90.8672-18.0586C91.1792-11.9961 91.7852-6.9063 92.1642-4.1016C98.3012-4.2969 103.4262-2.5938 106.4652 1.2266Z' fill='#ba8d5d' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M96.1722-32.6484C106.4652-33.4766 119.5822-30.9844 125.7222-21.6875C128.7112-24.8398 128.7112-39.9531 128.7112-39.9531S136.2112-20.1836 148.1132-14.75C143.5472-30.8398 127.1132-45.75 120.3282-51.2422C113.3552-56.8906 103.7652-70.50391 103.7652-70.50391S94.8202-59.2109 91.8322-41.6133C91.2892-38.4297 90.9722-35.0938 90.8042-31.7695C92.5002-32.1836 94.2892-32.4961 96.1722-32.6484Z' fill='#ba8d5d' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M184.1722-2.2617C173.5472-11.8906 162.4222-13.0547 153.6172-13.3828C138.5702-13.9531 128.7112-39.9531 128.7112-39.9531S128.7112-24.8398 125.7222-21.6875C119.5822-30.9844 106.4652-33.4766 96.1722-32.6484C81.6252-31.4727 72.2622-21.0234 72.2622-21.0234S86.7072-23.8438 96.3322-13.8828C105.9652-3.918 106.4652 1.2266 106.4652 1.2266C99.3242-7.7422 80.7262-5.082 64.4532 6.543C48.1832 18.1602 52.9962 49.3787 52.9962 49.3787S56.6522 36.5937 73.5862 28.7887C80.1332 25.7734 97.4962 25.1367 97.4962 25.1367S72.7582 25.9687 67.9412 54.8597C65.0472 72.2457 71.5942 87.0707 71.5942 87.0707S73.0902 71.6287 87.8672 62.4957C98.1402 56.1487 109.6212 53.1997 109.6212 53.1997C104.4722 57.0157 106.4652 67.9767 106.4652 67.9767S115.4292 52.8667 139.1722 54.3637C169.5392 56.2737 182.0352 44.1877 194.5942 23.2031C194.0432 17.1289 191.9692 4.8008 184.1722-2.2617Z' fill='#f68623' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M37.8712 277.3987C46.1912 267.0387 57.7072 251.8637 60.5542 243.9027C68.0272 222.9807 59.3082 213.2657 54.5782 206.0427C49.8442 198.8207 57.8122 194.5857 44.6132 181.8827S-8.9336 190.1017-14.4141 187.6137C-19.8945 185.1207-19.3945 181.8827-20.8906 170.9257C-22.3867 159.9647-28.0469 158.7847-37.3281 159.9647C-49.9297 161.5627-55.7617 184.3747-58.9961 200.0667C-62.23437 215.7577-70.503905 215.5117-68.71094 228.9567C-67.86328 235.3317-64.28125 241.8907-52.8711 244.2927C-53.5937 250.0317-53.8047 257.0317-52.5898 264.6597C-49.4414 284.4727-17.918 294.3787 5.5 292.1247C16.2148 291.0977 26.5742 284.9727 37.8712 277.3987Z' fill='#976d46' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M159.6012 113.0977C159.6012 122.6597 150.8982 130.4097 140.1722 130.4097C129.4412 130.4097 120.7462 122.6597 120.7462 113.0977C120.7462 103.5347 129.4412 95.7887 140.1722 95.7887C150.8982 95.7887 159.6012 103.5347 159.6012 113.0977Z' fill='#fff' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M146.6482 115.1327C146.6482 118.9847 143.1172 122.1097 138.7622 122.1097C134.4062 122.1097 130.8712 118.9847 130.8712 115.1327C130.8712 111.2817 134.4062 108.1597 138.7622 108.1597C143.1172 108.1597 146.6482 111.2817 146.6482 115.1327Z' fill='#341a13'/>
+<path d='M-1.9453 215.2187C-1.9453 215.2187 .4883 211.0157 4.1406 206.1677C8.5508 200.3047 16.4766 195.1837 20.4531 194.8357C27.5508 194.2107 32.6052 195.9337 29.7152 201.4997C26.8281 207.0707 17.3984 212.9567 10.4922 213.8907C3.5781 214.8167-1.9453 215.2187-1.9453 215.2187Z' fill='#341a13'/>
+<path d='M-43.0742 245.1407C-43.793 249.6797-44.1641 256.3747-41.0664 260.0897C-36.082 266.0667-26.6211 275.0347-5.1992 262.0817C12.7813 251.2107 35.8402 229.8127 42.7892 223.2227C38.7772 226.3637 28.1367 232.1247 4.0156 231.9457C-22.5469 231.7417-28.8125 244.2577-43.0742 245.1407Z' fill='#fff' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M-52.8711 244.2927C-50.918 244.7027-48.7383 244.9997-46.2969 245.1487C-45.1719 245.2107-44.1055 245.2067-43.0742 245.1407' stroke='#512c15' fill='none' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M25.7773 230.1017C9.6211 238.6997-18.1562 252.9177-25.7695 253.2777C-33.0273 253.6167-39.2852 248.5467-42.6719 245.1057C-42.8047 245.1167-42.9375 245.1287-43.0742 245.1407' stroke='#512c15' fill='none' stroke-width='2.9888' stroke-miterlimit='10'/>
</g>
-<path fill="#F7931E" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M267.334,75.167
- C256.668,65.5,245.5,64.333,236.667,64c-15.107-0.57-25-26.667-25-26.667s0,15.167-3,18.333c-6.167-9.333-19.333-11.833-29.667-11
- c-14.596,1.177-24,11.667-24,11.667s14.5-2.833,24.167,7.167c9.667,10,10.167,15.167,10.167,15.167
- c-7.167-9-25.834-6.334-42.167,5.333s-11.5,43-11.5,43s3.667-12.833,20.667-20.667c6.572-3.028,24-3.667,24-3.667
- S155.5,103.5,150.667,132.5c-2.909,17.455,3.667,32.333,3.667,32.333s1.5-15.5,16.333-24.667c10.31-6.371,21.833-9.333,21.833-9.333
- c-5.167,3.833-3.166,14.833-3.166,14.833s9-15.167,32.833-13.667c30.479,1.918,43.022-10.208,55.629-31.275
- C277.24,94.63,275.157,82.257,267.334,75.167z"/>
-<path fill="#A67C52" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M120.487,355.872
- c8.348-10.395,19.908-25.626,22.763-33.622c7.5-21-1.25-30.75-6-38s3.25-11.5-10-24.25S73.5,268.25,68,265.75S63,260,61.5,249
- s-7.183-12.182-16.5-11c-12.646,1.604-18.5,24.5-21.75,40.25s-11.549,15.507-9.75,29c0.854,6.402,4.447,12.983,15.898,15.396
- c-0.721,5.758-0.935,12.787,0.283,20.442c3.164,19.888,34.804,29.832,58.308,27.572C98.749,369.626,109.143,363.479,120.487,355.872
- z"/>
-<path fill="#C69C6D" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M189.334,78.667c0,0-0.5-5.167-10.167-15.167
- c-1.713-1.772-3.58-3.135-5.489-4.188c0.317,6.082,0.921,11.189,1.303,14.006C181.138,73.124,186.281,74.833,189.334,78.667z"/>
-<path fill="#C69C6D" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M179,44.667c10.334-0.833,23.5,1.667,29.667,11
- c3-3.167,3-18.333,3-18.333s7.525,19.843,19.471,25.298c-4.58-16.15-21.08-31.12-27.888-36.632
- c-7-5.667-16.625-19.333-16.625-19.333s-8.979,11.333-11.979,29c-0.542,3.195-0.864,6.542-1.031,9.882
- C175.318,45.129,177.115,44.819,179,44.667z"/>
-<ellipse fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" cx="223.167" cy="190.959" rx="19.5" ry="17.375"/>
-<ellipse fill="#42210B" cx="221.751" cy="193" rx="7.917" ry="7"/>
-<path fill="#603813" d="M80.519,293.464c0,0,2.443-4.219,6.106-9.089C91.052,278.49,99.007,273.351,103,273
- c7.125-0.625,12.198,1.105,9.299,6.695S99.936,291.193,93,292.125S80.519,293.464,80.519,293.464z"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M296,149.5c0,0,30.334-17.5,39.667-33.5
- c6.902-11.834,11.667-24.5,15.667-38.5C353.731,69.108,361,63.333,361,63.333s-55-13-78.666,29.5
- c-1.534,2.754-3.036,5.383-4.538,7.892"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M120.488,355.872
- c13.437-9.009,28.207-20.065,46.512-27.122c24.045-9.269,64.273-11.878,85.969-21.821s24.408-43.392,24.408-43.392"/>
-<path fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M127.5,299.5c0,0-0.749,0.729-2.083,1.995
- C126.919,300.316,127.5,299.5,127.5,299.5z"/>
-<path fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M39.236,323.495
- c-0.724,4.556-1.093,11.276,2.014,15.005c5,6,14.5,15,36,2c18.048-10.912,41.196-32.388,48.167-39.005
- c-4.023,3.157-14.707,8.937-38.917,8.755C59.839,310.05,53.549,322.611,39.236,323.495z"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M29.398,322.646c1.963,0.413,4.15,0.708,6.602,0.854
- c1.129,0.067,2.202,0.06,3.236-0.005"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M108.345,308.401
- c-16.22,8.63-44.097,22.899-51.74,23.26c-7.288,0.344-13.568-4.744-16.966-8.201c-0.135,0.01-0.266,0.026-0.403,0.035"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M152.209,126.056
- C141.705,137.165,130.648,151.436,126,166c-4.126,12.93-11.333,16-26.333,28s-47.398,43.774-47.398,43.774"/>
</svg>
diff --git a/macros/latex/contrib/jsonparse/jason/jason.tex b/macros/latex/contrib/jsonparse/jason/jason.tex
new file mode 100644
index 0000000000..28e9eb1b0c
--- /dev/null
+++ b/macros/latex/contrib/jsonparse/jason/jason.tex
@@ -0,0 +1,289 @@
+% File: jason/jason.tex
+% Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+%
+% This file is part of the `jsonparse' package (The Work in LPPL)
+% and all files in that bundle must be distributed together.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+\documentclass{standalone}
+\usepackage{l3draw}
+
+\begin{document}
+\ExplSyntaxOn
+
+\color_set:nnn { color_i } { rgb } { 0.356863 , 0.639216 , 0.870588 }
+\color_set:nnn { color_ii } { rgb } { 0.729412 , 0.552941 , 0.364706 }
+\color_set:nnn { color_iii } { rgb } { 0.964706 , 0.52549 , 0.137255 }
+\color_set:nnn { color_iv } { rgb } { 0.592157 , 0.427451 , 0.27451 }
+\color_set:nnn { color_v } { rgb } { 0.317647 , 0.172549 , 0.0823529 }
+\color_set:nnn { color_vi } { rgb } { 0.203922 , 0.101961 , 0.0745098 }
+\color_set:nnn { color_vii } { rgb } { 1 , 1 , 1 }
+
+\draw_begin:
+
+\cs_new:Npn \__jsonparse_jason_path_i: {
+ \draw_path_moveto:n { 433.418 , 221.836 }
+ \draw_path_curveto:nnn { 433.418 , 335.695 } { 341.117 , 428 } { 227.254 , 428 }
+ \draw_path_curveto:nnn { 113.391 , 428 } { 21.086 , 335.695 } { 21.086 , 221.836 }
+ \draw_path_curveto:nnn { 21.086 , 107.973 } { 113.391 , 15.668 } { 227.254 , 15.668 }
+ \draw_path_curveto:nnn { 341.117 , 15.668 } { 433.418 , 107.973 } { 433.418 , 221.836 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_ii: {
+ \draw_path_moveto:n { 406.586 , 385.5 }
+ \draw_path_curveto:nnn { 406.586 , 385.5 } { 396.254 , 373.168 } { 370.586 , 298.836 }
+ \draw_path_curveto:nnn { 344.922 , 224.5 } { 332.254 , 185.168 } { 321.918 , 158.836 }
+ \draw_path_curveto:nnn { 316.367 , 144.684 } { 309.375 , 136.508 } { 304.09 , 131.965 }
+ \draw_path_curveto:nnn { 311.859 , 126.008 } { 319.867 , 118.781 } { 323.918 , 111.836 }
+ \draw_path_curveto:nnn { 330.82 , 100 } { 335.586 , 87.336 } { 339.586 , 73.336 }
+ \draw_path_curveto:nnn { 341.984 , 64.941 } { 349.254 , 59.168 } { 349.254 , 59.168 }
+ \draw_path_curveto:nnn { 349.254 , 59.168 } { 294.254 , 46.168 } { 270.586 , 88.668 }
+ \draw_path_curveto:nnn { 269.051 , 91.422 } { 267.551 , 94.051 } { 266.047 , 96.559 }
+ \draw_path_lineto:n { 140.461 , 121.891 }
+ \draw_path_curveto:nnn { 129.957 , 133 } { 118.902 , 147.27 } { 114.254 , 161.836 }
+ \draw_path_curveto:nnn { 110.125 , 174.766 } { 102.918 , 177.836 } { 87.918 , 189.836 }
+ \draw_path_curveto:nnn { 72.918 , 201.836 } { 40.52 , 233.609 } { 40.52 , 233.609 }
+ \draw_path_lineto:n { 52.629 , 282.461 }
+ \draw_path_lineto:n { 108.742 , 351.707 }
+ \draw_path_curveto:nnn { 122.176 , 342.695 } { 136.945 , 331.641 } { 155.254 , 324.586 }
+ \draw_path_curveto:nnn { 169.125 , 319.234 } { 188.387 , 316.105 } { 206.367 , 312.504 }
+ \draw_path_curveto:nnn { 208.922 , 318.824 } { 215.195 , 335.516 } { 217.754 , 352.836 }
+ \draw_path_curveto:nnn { 221.004 , 374.836 } { 222.254 , 444.336 } { 222.254 , 444.336 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_iii: {
+ \draw_path_moveto:n { 453.754 , 303.168 }
+ \draw_path_curveto:nnn { 453.754 , 303.168 } { 444.086 , 288.336 } { 432.086 , 282.168 }
+ \draw_path_curveto:nnn { 420.676 , 276.305 } { 407.586 , 275 } { 407.586 , 275 }
+ \draw_path_curveto:nnn { 407.586 , 275 } { 410.438 , 263.355 } { 418.754 , 252.168 }
+ \draw_path_curveto:nnn { 427.918 , 239.836 } { 444.254 , 229.5 } { 444.254 , 229.5 }
+ \draw_path_lineto:n { 392.754 , 212 }
+ \draw_path_curveto:nnn { 392.754 , 212 } { 409.918 , 205.5 } { 417.918 , 198.168 }
+ \draw_path_curveto:nnn { 427.016 , 189.832 } { 431.254 , 168.168 } { 431.254 , 168.168 }
+ \draw_path_curveto:nnn { 431.254 , 168.168 } { 383.633 , 170.973 } { 376.918 , 153 }
+ \draw_path_curveto:nnn { 371.754 , 139.168 } { 390.254 , 109.836 } { 390.254 , 109.836 }
+ \draw_path_curveto:nnn { 390.254 , 109.836 } { 362.918 , 103.5 } { 349.086 , 103.668 }
+ \draw_path_curveto:nnn { 341.516 , 103.758 } { 333.258 , 104.543 } { 326.984 , 106.223 }
+ \draw_path_curveto:nnn { 326.004 , 108.113 } { 324.996 , 109.988 } { 323.918 , 111.836 }
+ \draw_path_curveto:nnn { 319.867 , 118.781 } { 311.859 , 126.008 } { 304.09 , 131.965 }
+ \draw_path_curveto:nnn { 309.375 , 136.508 } { 316.367 , 144.684 } { 321.918 , 158.836 }
+ \draw_path_curveto:nnn { 332.254 , 185.168 } { 344.922 , 224.5 } { 370.586 , 298.836 }
+ \draw_path_curveto:nnn { 396.254 , 373.168 } { 406.586 , 385.5 } { 406.586 , 385.5 }
+ \draw_path_lineto:n { 439.086 , 349 }
+ \draw_path_curveto:nnn { 423.918 , 346 } { 416.754 , 328.5 } { 416.754 , 328.5 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_iv: {
+ \draw_path_moveto:n { 255.586 , 71 }
+ \draw_path_curveto:nnn { 244.922 , 61.336 } { 233.754 , 60.168 } { 224.918 , 59.836 }
+ \draw_path_curveto:nnn { 209.812 , 59.266 } { 199.918 , 33.168 } { 199.918 , 33.168 }
+ \draw_path_curveto:nnn { 199.918 , 33.168 } { 199.918 , 48.336 } { 196.918 , 51.5 }
+ \draw_path_curveto:nnn { 190.754 , 42.168 } { 177.586 , 39.668 } { 167.254 , 40.5 }
+ \draw_path_curveto:nnn { 152.656 , 41.68 } { 143.254 , 52.168 } { 143.254 , 52.168 }
+ \draw_path_curveto:nnn { 143.254 , 52.168 } { 157.754 , 49.336 } { 167.418 , 59.336 }
+ \draw_path_curveto:nnn { 177.086 , 69.336 } { 177.586 , 74.5 } { 177.586 , 74.5 }
+ \draw_path_curveto:nnn { 170.418 , 65.5 } { 151.754 , 68.168 } { 135.418 , 79.836 }
+ \draw_path_curveto:nnn { 119.086 , 91.5 } { 123.918 , 122.836 } { 123.918 , 122.836 }
+ \draw_path_curveto:nnn { 123.918 , 122.836 } { 127.586 , 110 } { 144.586 , 102.168 }
+ \draw_path_curveto:nnn { 151.156 , 99.141 } { 168.586 , 98.5 } { 168.586 , 98.5 }
+ \draw_path_curveto:nnn { 168.586 , 98.5 } { 143.754 , 99.336 } { 138.918 , 128.336 }
+ \draw_path_curveto:nnn { 136.012 , 145.789 } { 142.586 , 160.668 } { 142.586 , 160.668 }
+ \draw_path_curveto:nnn { 142.586 , 160.668 } { 144.086 , 145.168 } { 158.918 , 136 }
+ \draw_path_curveto:nnn { 169.23 , 129.629 } { 180.754 , 126.668 } { 180.754 , 126.668 }
+ \draw_path_curveto:nnn { 175.586 , 130.5 } { 177.586 , 141.5 } { 177.586 , 141.5 }
+ \draw_path_curveto:nnn { 177.586 , 141.5 } { 186.586 , 126.336 } { 210.418 , 127.836 }
+ \draw_path_curveto:nnn { 240.898 , 129.754 } { 253.441 , 117.625 } { 266.047 , 96.559 }
+ \draw_path_curveto:nnn { 265.492 , 90.465 } { 263.41 , 78.09 } { 255.586 , 71 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_v: {
+ \draw_path_moveto:n { 108.738 , 351.707 }
+ \draw_path_curveto:nnn { 117.086 , 341.312 } { 128.648 , 326.078 } { 131.504 , 318.086 }
+ \draw_path_curveto:nnn { 139.004 , 297.086 } { 130.254 , 287.336 } { 125.504 , 280.086 }
+ \draw_path_curveto:nnn { 120.754 , 272.836 } { 128.754 , 268.586 } { 115.504 , 255.836 }
+ \draw_path_curveto:nnn { 102.254 , 243.086 } { 61.754 , 264.086 } { 56.254 , 261.586 }
+ \draw_path_curveto:nnn { 50.754 , 259.086 } { 51.254 , 255.836 } { 49.754 , 244.836 }
+ \draw_path_curveto:nnn { 48.254 , 233.836 } { 42.57 , 232.652 } { 33.254 , 233.836 }
+ \draw_path_curveto:nnn { 20.605 , 235.438 } { 14.754 , 258.336 } { 11.504 , 274.086 }
+ \draw_path_curveto:nnn { 8.254 , 289.836 } { -0.047 , 289.59 } { 1.754 , 303.086 }
+ \draw_path_curveto:nnn { 2.605 , 309.484 } { 6.199 , 316.066 } { 17.652 , 318.48 }
+ \draw_path_curveto:nnn { 16.93 , 324.238 } { 16.715 , 331.266 } { 17.934 , 338.922 }
+ \draw_path_curveto:nnn { 21.098 , 358.809 } { 52.738 , 368.754 } { 76.242 , 366.492 }
+ \draw_path_curveto:nnn { 87 , 365.461 } { 97.395 , 359.312 } { 108.738 , 351.707 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_vi: {
+ \draw_path_moveto:n { 108.738 , 351.707 }
+ \draw_path_curveto:nnn { 122.176 , 342.695 } { 136.945 , 331.641 } { 155.254 , 324.586 }
+ \draw_path_curveto:nnn { 179.297 , 315.316 } { 219.527 , 312.707 } { 241.223 , 302.762 }
+ \draw_path_curveto:nnn { 262.918 , 292.82 } { 265.629 , 259.371 } { 265.629 , 259.371 }
+
+ \draw_path_moveto:n { 222.254 , 444.336 }
+ \draw_path_curveto:nnn { 222.254 , 444.336 } { 221.004 , 374.836 } { 217.754 , 352.836 }
+ \draw_path_curveto:nnn { 215.195 , 335.516 } { 208.922 , 318.824 } { 206.363 , 312.504 }
+ \draw_path_curveto:nnn { 206.18 , 312.539 } { 205.996 , 312.574 } { 205.812 , 312.613 }
+
+ \draw_path_moveto:n { 284.254 , 145.336 }
+ \draw_path_curveto:nnn { 284.254 , 145.336 } { 314.586 , 127.836 } { 323.918 , 111.836 }
+ \draw_path_curveto:nnn { 330.82 , 100 } { 335.586 , 87.336 } { 339.586 , 73.336 }
+ \draw_path_curveto:nnn { 341.984 , 64.941 } { 349.254 , 59.168 } { 349.254 , 59.168 }
+ \draw_path_curveto:nnn { 349.254 , 59.168 } { 294.254 , 46.168 } { 270.586 , 88.668 }
+ \draw_path_curveto:nnn { 269.051 , 91.422 } { 267.551 , 94.051 } { 266.047 , 96.559 }
+
+ \draw_path_moveto:n { 140.461 , 121.891 }
+ \draw_path_curveto:nnn { 129.957 , 133 } { 118.898 , 147.27 } { 114.254 , 161.836 }
+ \draw_path_curveto:nnn { 110.125 , 174.766 } { 102.918 , 177.836 } { 87.918 , 189.836 }
+ \draw_path_curveto:nnn { 72.918 , 201.836 } { 40.52 , 233.609 } { 40.52 , 233.609 }
+}
+
+\cs_new:Npn \__jsonparse_jason_path_vii: {
+ \draw_path_moveto:n { 177.586 , 74.5 }
+ \draw_path_curveto:nnn { 177.586 , 74.5 } { 177.086 , 69.336 } { 167.418 , 59.336 }
+ \draw_path_curveto:nnn { 165.707 , 57.562 } { 163.84 , 56.199 } { 161.93 , 55.145 }
+ \draw_path_curveto:nnn { 162.246 , 61.227 } { 162.852 , 66.336 } { 163.234 , 69.152 }
+ \draw_path_curveto:nnn { 169.391 , 68.957 } { 174.535 , 70.668 } { 177.586 , 74.5 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_viii: {
+ \draw_path_moveto:n { 167.254 , 40.5 }
+ \draw_path_curveto:nnn { 177.586 , 39.668 } { 190.754 , 42.168 } { 196.918 , 51.5 }
+ \draw_path_curveto:nnn { 199.918 , 48.336 } { 199.918 , 33.168 } { 199.918 , 33.168 }
+ \draw_path_curveto:nnn { 199.918 , 33.168 } { 207.445 , 53.012 } { 219.391 , 58.465 }
+ \draw_path_curveto:nnn { 214.809 , 42.316 } { 198.312 , 27.348 } { 191.504 , 21.836 }
+ \draw_path_curveto:nnn { 184.504 , 16.168 } { 174.879 , 2.5 } { 174.879 , 2.5 }
+ \draw_path_curveto:nnn { 174.879 , 2.5 } { 165.898 , 13.836 } { 162.898 , 31.5 }
+ \draw_path_curveto:nnn { 162.355 , 34.695 } { 162.035 , 38.043 } { 161.867 , 41.383 }
+ \draw_path_curveto:nnn { 163.57 , 40.965 } { 165.367 , 40.652 } { 167.254 , 40.5 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_ix: {
+ \draw_path_moveto:n { 230.922 , 186.793 }
+ \draw_path_curveto:nnn { 230.922 , 196.391 } { 222.188 , 204.168 } { 211.422 , 204.168 }
+ \draw_path_curveto:nnn { 200.648 , 204.168 } { 191.922 , 196.391 } { 191.922 , 186.793 }
+ \draw_path_curveto:nnn { 191.922 , 177.195 } { 200.648 , 169.418 } { 211.422 , 169.418 }
+ \draw_path_curveto:nnn { 222.188 , 169.418 } { 230.922 , 177.195 } { 230.922 , 186.793 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_x: {
+ \draw_path_moveto:n { 217.922 , 188.836 }
+ \draw_path_curveto:nnn { 217.922 , 192.699 } { 214.375 , 195.836 } { 210.004 , 195.836 }
+ \draw_path_curveto:nnn { 205.633 , 195.836 } { 202.086 , 192.699 } { 202.086 , 188.836 }
+ \draw_path_curveto:nnn { 202.086 , 184.969 } { 205.633 , 181.836 } { 210.004 , 181.836 }
+ \draw_path_curveto:nnn { 214.375 , 181.836 } { 217.922 , 184.969 } { 217.922 , 188.836 }
+ \draw_path_close:
+}
+
+% nostril
+\cs_new:Npn \__jsonparse_jason_path_xi: {
+ \draw_path_moveto:n { 68.77 , 289.297 }
+ \draw_path_curveto:nnn { 68.77 , 289.297 } { 71.215 , 285.078 } { 74.879 , 280.211 }
+ \draw_path_curveto:nnn { 79.305 , 274.324 } { 87.262 , 269.184 } { 91.254 , 268.836 }
+ \draw_path_curveto:nnn { 98.379 , 268.211 } { 103.449 , 269.938 } { 100.551 , 275.527 }
+ \draw_path_curveto:nnn { 97.652 , 281.117 } { 88.188 , 287.027 } { 81.254 , 287.961 }
+ \draw_path_curveto:nnn { 74.316 , 288.891 } { 68.77 , 289.297 } { 68.77 , 289.297 }
+ \draw_path_close:
+}
+
+% mouth
+\cs_new:Npn \__jsonparse_jason_path_xii: {
+ \draw_path_moveto:n { 27.488 , 319.328 }
+ \draw_path_curveto:nnn { 26.766 , 323.887 } { 26.395 , 330.605 } { 29.504 , 334.336 }
+ \draw_path_curveto:nnn { 34.504 , 340.336 } { 44.004 , 349.336 } { 65.504 , 336.336 }
+ \draw_path_curveto:nnn { 83.551 , 325.422 } { 106.699 , 303.945 } { 113.672 , 297.328 }
+ \draw_path_curveto:nnn { 109.645 , 300.484 } { 98.965 , 306.266 } { 74.754 , 306.086 }
+ \draw_path_curveto:nnn { 48.09 , 305.883 } { 41.801 , 318.445 } { 27.488 , 319.328 }
+ \draw_path_close:
+}
+
+% mouth edge
+\cs_new:Npn \__jsonparse_jason_path_xiii: {
+ \draw_path_moveto:n { 17.652 , 318.48 }
+ \draw_path_curveto:nnn { 19.613 , 318.891 } { 21.801 , 319.188 } { 24.254 , 319.336 }
+ \draw_path_curveto:nnn { 25.383 , 319.402 } { 26.453 , 319.395 } { 27.488 , 319.328 }
+}
+
+% teeth
+\cs_new:Npn \__jsonparse_jason_path_xiv: {
+ \draw_path_moveto:n { 96.598 , 304.234 }
+ \draw_path_curveto:nnn { 80.379 , 312.863 } { 52.5 , 327.137 } { 44.855 , 327.496 }
+ \draw_path_curveto:nnn { 37.57 , 327.84 } { 31.289 , 322.75 } { 27.891 , 319.293 }
+ \draw_path_curveto:nnn { 27.758 , 319.305 } { 27.625 , 319.32 } { 27.488 , 319.328 }
+}
+
+\draw_transform_yscale:n { -1 }
+\draw_linewidth:n { 3pt }
+\draw_miterlimit:n { 10 }
+\color_stroke:n { color_v }
+
+\draw_scope_begin:
+
+ \color_fill:n { color_i }
+ \__jsonparse_jason_path_i:
+ \draw_path_use_clear:n { fill , clip }
+
+ \color_fill:n { color_ii }
+ \__jsonparse_jason_path_ii:
+ \draw_path_use_clear:n { fill }
+
+ \color_fill:n { color_iii }
+ \__jsonparse_jason_path_iii:
+ \draw_path_use_clear:n { fill , draw }
+
+ \__jsonparse_jason_path_vi:
+ \draw_path_use_clear:n { draw }
+
+\draw_scope_end:
+
+\color_fill:n { color_ii }
+\__jsonparse_jason_path_vii:
+\draw_path_use_clear:n { fill , draw }
+
+\__jsonparse_jason_path_viii:
+\draw_path_use_clear:n { fill , draw }
+
+\color_fill:n { color_iii }
+\__jsonparse_jason_path_iv:
+\draw_path_use_clear:n { fill , draw }
+
+\color_fill:n { color_iv }
+\__jsonparse_jason_path_v:
+\draw_path_use_clear:n { fill , draw }
+
+\color_fill:n { color_vii }
+\__jsonparse_jason_path_ix:
+\draw_path_use_clear:n { fill , draw }
+
+\color_fill:n { color_vi }
+\__jsonparse_jason_path_x:
+\draw_path_use_clear:n { fill }
+
+\__jsonparse_jason_path_xi:
+\draw_path_use_clear:n { fill }
+
+\color_fill:n { color_vii }
+\__jsonparse_jason_path_xii:
+\draw_path_use_clear:n { fill , draw }
+
+\__jsonparse_jason_path_xiii:
+\draw_path_use_clear:n { draw }
+
+\__jsonparse_jason_path_xiv:
+\draw_path_use_clear:n { draw }
+
+\draw_end:
+
+\ExplSyntaxOff
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/jsonparse/jsonparse-doc.pdf b/macros/latex/contrib/jsonparse/jsonparse-doc.pdf
index ed7a1dded6..e52f8631a0 100644
--- a/macros/latex/contrib/jsonparse/jsonparse-doc.pdf
+++ b/macros/latex/contrib/jsonparse/jsonparse-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/jsonparse/jsonparse-doc.tex b/macros/latex/contrib/jsonparse/jsonparse-doc.tex
index 1cfcde1e18..7e775f7499 100644
--- a/macros/latex/contrib/jsonparse/jsonparse-doc.tex
+++ b/macros/latex/contrib/jsonparse/jsonparse-doc.tex
@@ -11,8 +11,8 @@
% This work has the LPPL maintenance status `maintained'.
%
\documentclass[a4paper]{article}
-\def\jsonparsefileversion{0.8.3}
-\def\jsonparsefiledate{28 April 2024}
+\def\jsonparsefileversion{0.8.7}
+\def\jsonparsefiledate{8 August 2024}
\usepackage[T1]{fontenc}
\usepackage{Alegreya}
@@ -193,10 +193,13 @@
\changes{v0.5.7}{2024/04/14}{Bug fixes, key-value option setting added.}
\changes{v0.6.0}{2024/04/15}{Bug fixes, renaming of several commands.}
\changes{v0.7.0}{2024/04/18}{Renaming and rearranging of keys, escaping of special JSON escape sequences added.}
-\changes{v0.7.1}{2024/04/20}{Access to first-level keys of object added.}
+\changes{v0.7.1}{2024/04/20}{Access to top-level keys of object added.}
\changes{v0.8.0}{2024/04/24}{Internal rewrite, escaping procedures changed.}
\changes{v0.8.2}{2024/04/26}{Bug fixes, externalizing parsed data.}
\changes{v0.8.3}{2024/04/28}{Escaping of characters with special meaning in TeX.}
+\changes{v0.8.5}{2024/05/05}{Enhanced key management.}
+\changes{v0.8.6}{2024/05/09}{Bug fix in nesting function.}
+\changes{v0.8.7}{2024/08/08}{Corrections in documentation, error messages.}
\begin{document}
\vspace*{-1cm}
@@ -225,20 +228,22 @@ The package does not load any dependencies.
\end{macrodef}
The package can be loaded with the option \macro{debug}. It will then output to the log file every instance of a string, a boolean (true or false) value, a null value, a number as well as the start and end of every object and the start and end of every array that is found while parsing the JSON string or JSON file.
+This key can be set either as package option or using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
+
\section{Escaping and special treatment of the input}\label{sec:escaping}
In general, the package reads the JSON source as string, which means that all characters have category code 12 (other), except for spaces which have category code 10 (space). The \macro{\endlinechar} value is set to $-1$. Furthermore, if PDFLaTeX is used, the upper-half of the 8-bit range is set to ``active''. JSON, however, defines a small set of escape sequences and in order to be able to process these, the category code of the backslash is set to 0 (escpape).
JSON strings cannot contain the two characters \macro{"} and \macro{\}. These two characters need to be escaped with a preceding backslash (\macro{\}). This package therefore redefines locally the TeX control symbols \macro{\"}, \macro{\/}, \macro{\\}, \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} and \macro{\u}. These control symbols are prevented from expanding during parsing. For example, \macro{\"} is first defined as \macro{\exp_not:N \"} and only hen typeset, \macro{\"} is expanded to \macro{"}, which ensures that strings are parsed properly.
-Similarly, the control symbol \macro{\/} expands eventually to \macro{/} and \macro{\\} to \macro{\c_backslash_str} (i.\,e. a backslash with category code 12). The escape sequence \macro{\u} followed by a hex value consisting of four digits eventually eventually expands to \macro{\char"} followed by the relevant four hex digits. The JSON escape sequences \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} or \macro{\u} (followed by a hex value) eventually expand to token variables of which the contents can be set using the relevant \macro{replacement} key. See more on setting keys below in section \ref{sec:settings}.
+Similarly, the control symbol \macro{\/} expands eventually to \macro{/} and \macro{\\} to \macro{\c_backslash_str} (i.\,e. a backslash with category code 12). The escape sequence \macro{\u} followed by a hex value consisting of four digits eventually eventually expands to \macro{\char"} followed by the relevant four hex digits. The JSON escape sequences \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} or \macro{\u} (followed by a hex value) eventually expand to token variables of which the contents can be set using the relevant \macro{replacement} key. See more on setting options below in section \ref{sec:options}.
It is possible to insert TeX macros to the JSON source that will eventually be parsed when typesetting. Backslashes of TeX macros need to be escaped by another backslash. The TeX macros \macro{\"} and \macro{\\} must be escaped twice in the JSON source, so that they become \macro{\\\"} and \macro{\\\\} respectively.
\begin{macrodef}
-|\x|[<token variable name>][<key>]
+|\x|{<token variable name>}{<key>}
\end{macrodef}
-Using the control sequence \macro{\x}, it is possible to nest JSON strings into each other. The control sequence takes two arguments delimited by square brackets. The first argument represents the name of the token variable that holds the parsed JSON data where the inserted JSON string should be taken from. The second argument sets the key that should be selected. The following example shows a simple use case:
+Using the control sequence \macro{\x}, it is possible to nest JSON strings into each other. The control sequence takes two arguments delimited by curly braces. The first argument represents the name of the token variable that holds the parsed JSON data where the inserted JSON string should be taken from. The second argument sets the key that should be selected. The following example shows a simple use case:
\begin{codeexamplecolumns}
\JSONParse{\myJSONdataA}{
@@ -246,49 +251,52 @@ Using the control sequence \macro{\x}, it is possible to nest JSON strings into
}
\JSONParse{\myJSONdataB}{
- { "d" : \x[myJSONdataA][a] }
+ { "d" : \x{myJSONdataA}{a} }
}
\JSONParseValue{\myJSONdataB}{d.b}
\end{codeexamplecolumns}
+Note that the control sequence \macro{\x} is replaced by the value exactly. Therefore, if the value happens to be a string, the control sequence \macro{\x} should be placed between quotation marks (\macro{"}) in order for the resulting string to be valid JSON.
+
\begin{macrodef}
-|escape|={<all>}
-|escape|={<none>}
-|escape|={<number sign>}
-|escape|={<dollar sign>}
-|escape|={<percent sign>}
-|escape|={<ampersand>}
-|escape|={<circumflex accent>}
-|escape|={<low line>}
-|escape|={<tilde>}
+|escape|={all}
+|escape|={none}
+|escape|={number sign}
+|escape|={dollar sign}
+|escape|={percent sign}
+|escape|={ampersand}
+|escape|={circumflex accent}
+|escape|={low line}
+|escape|={tilde}
\end{macrodef}
-The key \macro{escape} can be used to convert characters that don't require escaping in JSON but in TeX into their relevant TeX escape sequences. Apart from the backslash and curly braces that need to be escaped anyways, these are the number sign, the dollar sign, the percent sign, the ampersand, the circumflex accent, the low line and the tilde. The characters can be selected individually separated by a comma (for example \macro{escape={dollar sign, circumflex accent, low line}}. With \macro{escape={all}}, all escaping sequences are selected, with \macro{escape={none}}, none is selected.
+The key \macro{escape} can be used to convert characters that don't require escaping in JSON but in TeX into the relevant TeX escape sequences. Apart from the backslash and curly braces that need to be escaped anyways, these are the number sign, the dollar sign, the percent sign, the ampersand, the circumflex accent, the low line and the tilde. The characters can be selected individually separated by a comma (for example \macro{escape={dollar sign, circumflex accent, low line}}. With \macro{escape={all}}, all escaping sequences are selected, with \macro{escape={none}}, none is selected.
The naming of the relevant characters follows their Unicode names. However, \macro{hash} exists as alias for \macro{number sign}, \macro{dollar} as alias for \macro{dollar sign}, \macro{percent} for \macro{percent sign}, \macro{circumflex} for \macro{circumflex accent} and \macro{underscore} for \macro{low line}.
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParseValue}, \macro{\JSONParseArrayValues} and \macro{\JSONParseArrayValuesMap}.
+
\begin{macrodef}
-replacement/|backspace|={<string>}
-replacement/|formfeed|={<string>}
-replacement/|linefeed|={<string>}
-replacement/|carriage return|={<string>}
-replacement/|horizontal tab|={<string>}
+|rescan|
+|rescan|={<boolean>}
\end{macrodef}
-These keys can be used to set the replacement text for the JSON escape sequences \macro{\b} (backspace), \macro{\f} (formfeed), \macro{\n} (linefeed), \macro{\r} (carriage return) and \macro{\t} (horizontal tab). The default replacement string is a space. Only strings can be used as replacement.
+The key \macro{rescan} can be used to activate and deactivate rescanning of the output. This key is active per default. Rescanning converts all tokens to their default category codes and TeX control sequences are expanded before typesetting. Further, during the rescanning process, JSON escape sequences are replaced and characters that don't require escaping in JSON but in TeX are replaced by the relevant TeX escape sequences.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParseValue}, \macro{\JSONParseArrayValues} and \macro{\JSONParseArrayValuesMap}.
\section{Main user commands}
\begin{macrodef}
-|\JSONParse|[<file name>]{<token variable>}{<JSON string>}
+|\JSONParse|[<options>]{<token variable>}{<JSON string>}
\end{macrodef}
The command \macro{\JSONParse} is used to parse a JSON string and store the parsed result in a token variable (a property list). The second argument takes the name of the token variable that is created by the command. The third argument takes the JSON string to be parsed.
For example, using \macro{\JSONParse{\myJSONdata}{ { "key" : "value" } }}, the relevant JSON string will be parsed and the result stored in the token variable \macro{\myJSONdata} as property list. In this case, the property list only consists of one entry with the key \macro{key} and the value \macro{value}. The command \macro{\JSONParseValue{\myJSONdata}{key}}, for example, can then be used to extract the relevant value from this property list (see the description below).
-The first optinal argument can be used to externalize the parsed JSON data to a file. See more on externalization in section \ref{sec:externalizing} below.
+The first optional argument can be used to pass options to the command that are then applied locally.
\begin{macrodef}
-|\JSONParseFromFile|[<file name>]{<token variable>}{<JSON file>}
+|\JSONParseFromFile|[<options>]{<token variable>}{<JSON file>}
\end{macrodef}
The command \macro{\JSONParseFromFile} is used to parse a JSON file and store the parsed result in a token variable (a property list). It works the same way as \macro{\JSONParse}, but instead of a JSON string, it takes as third argument the path to the JSON file relative to the working directory.
@@ -298,8 +306,7 @@ The command \macro{\JSONParseFromFile} is used to parse a JSON file and store th
The command \macro{\JSONParseKeys} is used to store all top-level keys of a parsed JSON object as array into a token variable. The command takes as first argument the token variable that holds the parsed JSON data. The second argument takes the token variable that is assigned a JSON array containing the top-level keys of the object represented by the token variable in the first argument. The token variable to store the keys as array is created if it does not exist.
\begin{macrodef}
-|\JSONParseValue|{<token variable>}{<key>}
-|\JSONParseValue*|{<token variable>}{<key>}
+|\JSONParseValue|[<options>]{<token variable>}{<key>}
|\JSONParseExpandableValue|{<token variable>}{<key>}
\end{macrodef}
The command \macro{\JSONParseValue} is used to select values from the token variable (property list) that has been created using the commands \macro{\JSONParse} or \macro{\JSONParseFromFile}. The first argument takes the token variable that holds the parsed JSON data. The second argument takes the key to select the relevant entry from the parsed JSON data using JavaScript syntax.
@@ -308,15 +315,14 @@ If the JSON string \macro{{ "key" : "value" }} is parsed into the token variable
Nested objects and arrays are assigned keys that adhere to JavaScript syntax. For example, if the JSON string \macro{{ "outer_key" : { "inner_key" : "value" } }} is parsed into the token variable \macro{\myJSONdata}, to select the value associated with the key \macro{inner_key}, the command \macro{\JSONParseValue{\myJSONdata}{outer_key.inner_key}} can be used. To give an example for an array, the command \macro{\JSONParseValue{\myJSONdata}{key[0]}} selects the first value of the array associated with the key \macro{key} in the JSON string \macro{{ "key" : [ "one" , "two" ] }}.
-The non-starred variant of this command, \macro{\JSONParseValue}, rescans the token list before it is typeset (which means that all category codes that may have been changed before are set to the default values). The starred variant, \macro{\JSONParseValue*}, does not rescan the ouput. The non-starred variants of this and similar commands should therefore not be placed in a \macro{\JSONParse} command.
+The first optional argument can be used to pass options to the command, such as \macro{escape} or \macro{rescan}, that are then applied locally. When the option \macro{rescan} is used, the token list is rescanned before it is typeset (which means that all category codes that may have been changed before are set to the default values). This is the default behaviour. If rescanning is not desired, pass the option \macro{rescan=false} to the command.
When a key is associated with an object or array, the whole object or array is output as JSON string. The special key \macro{.} (or the string defined using the key \macro{child sep}) returns the whole JSON object as string.
Whole objects or arrays can also be output as JSON string for further use in other macros using the expandable command \macro{\JSONParseExpandableValue}.
\begin{macrodef}
-|\JSONParseArrayValues|{<token variable>}{<key>}[<subkey>]{<string>}
-|\JSONParseArrayValues*|{<token variable>}{<key>}[<subkey>]{<string>}
+|\JSONParseArrayValues|[<options>]{<token variable>}{<key>}[<subkey>]{<string>}
\end{macrodef}
The command \macro{\JSONParseArrayValues} is used to select all values from an array from a parsed JSON string or JSON file. The first argument takes the token variable that holds the parsed JSON data. The second argument takes the key to select the relevant entry from the parsed JSON data using JavaScript syntax. The third argument is optional and can be used to pass a subkey, i.\,e. a key that is used to select a value for every item. The last argument takes a string that is inserted between all values when they are typeset.
@@ -339,11 +345,11 @@ For example, let us assume the following JSON data structure is parsed into the
Then, when using \macro{\JSONParseArrayValues{\myJSONdata}{array}[key_a]{, }}, `one, three' is typeset to the document.
-The starred variant, \macro{\JSONParseArrayValues*}, does not rescan the token lists before they are typeset.
+The first optional argument can be used to pass options to the command, such as \macro{escape} or \macro{rescan}, that are then applied locally.
\begin{macrodef}
-|\JSONParseArrayValuesMap|{<token variable>}{<key>}[<subkey>]{<command name>}
-|\JSONParseArrayValuesMap*|{<token variable>}{<key>}[<subkey>]{<command name>}
+|\JSONParseArrayValuesMap|[<options>]{<token variable>}{<key>}[<subkey>]
+ {<command name>}
\end{macrodef}
The command \macro{\JSONParseArrayValuesMap} takes the same first three arguments as the command \macro{\JSONParseArrayValues} and works in a similar way. However, instead of a string that is added between the array items, it takes a command name as fourth argument. This command can be defined beforehand and will be called for every array item. Inside its definition, the commands \macro{\JSONParseArrayIndex}, \macro{\JSONParseArrayKey} and \macro{\JSONParseArrayValue} can be used which are updated for each item and output the index, the key and the value of the current item respectively.
@@ -362,7 +368,7 @@ For example, let us assume the same JSON data structure as defined above parsed
\end{itemize}
\end{codeexamplecolumns}
-The starred variant, \macro{\JSONParseArrayValuesMap*}, does not rescan the token lists before they are typeset.
+The first optional argument can be used to pass options to the command, such as \macro{escape} or \macro{rescan}, that are then applied locally.
\begin{macrodef}
|\JSONParseArrayCount|{<token variable>}{<key>}
@@ -371,45 +377,89 @@ The command \macro{\JSONParseArrayCount} takes as first argument a token variabl
\subsection{Externalising parsed JSON data}\label{sec:externalizing}
-Parsing large JSON files can take quite a while. In order to speed up follow-up compilation runs, this package provides a way to store parsed JSON data for future use. The first opional argument of the commands \macro{\JSONParse} and \macro{\JSONParseFromFile} can be used to provide the name of a file (without file extension) that will be created in the working directory and which stores the relevant information. The file name will have the extension \macro{.jsonparse}. If a file with the same name and file extension already exists, an error will be issued. Once the file has been created, the package will try to load the data from this file instead of parsing the JSON data again.
+Parsing large JSON files can take quite a while. In order to speed up follow-up compilation runs, this package provides a way to store parsed JSON data for future use. Once a file for externalization has been created, the package will try to load the data from this file instead of parsing the JSON data again.
+
+\begin{macrodef}
+|externalize|
+|externalize|={<boolean>}
+\end{macrodef}
+With the key \macro{externalize} set (or set to true), a file will be created in the working directory that stores the externalization of the parsed JSON data. The file name gets the extension \macro{.jsonparse}. The file name is created automatically and consists of the name of the current file followed by an underscore and the name of the token variable where the JSON data is stored into. If a file with the same name and file extension already exists, an error will be issued.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
+
+\begin{macrodef}
+|externalize prefix|={<string>}
+\end{macrodef}
+With the key \macro{externalize prefix}, a prefix can be defined that is added to the file name. Per default this is an empty string.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
+
+\begin{macrodef}
+|externalize file name|={<token list>}
+\end{macrodef}
+The key \macro{externalize file name} sets the schema for the file name. The default schema is as follows:
+
+\begin{codeexample}
+\l_jsonparse_externalize_prefix_str \c_sys_jobname_str
+ \c_underscore_str \l_jsonparse_current_prop_str
+\end{codeexample}
+
+The token variable \macro{\l_jsonparse_externalize_prefix_str} contains the prefix that is set using the key \macro{externalize prefix}. \macro{\c_sys_jobname_str} holds the name of the current file (the current job name), \macro{\c_underscore_str} is an underscore and the token variable \macro{\l_jsonparse_current_prop_str} contains the name of the property list where the relevant JSON data is stored into.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
\begin{macrodef}
|\JSONParsePut|{<token variable>}{<key>}[<JSON string>]
\end{macrodef}
The command \macro{\JSONParsePut} is used by the externalization procedure to re-read already parsed JSON data to the main file. It just adds a key-value pair to the property list (where the value part is read as string). Hence, it can also be used to append more entries to an already existing property list containing parsed JSON data.
-\subsection{Changing separators, output and other settings}\label{sec:settings}
+\subsection{Changing separators, output and other options}\label{sec:options}
The package provides a set of keys can be set to change the separators used to select the relevant value in the JSON structure, the output that is generated from the JSON data as well as other things.
\begin{macrodef}
-|\JSONParseSet|{<key-value list>}
+|\JSONParseSet|{<options>}
\end{macrodef}
-The commands \macro{\JSONParseSet} can be used to specify settings via key-value pairs (separated by commas). Keys that are presented here as a subkey (i.\,e. preceded by another key and a slash) can also be set using the syntax \macro{key={subkey}} and multiple subkeys belonging to one key can be combined using a comma as separator. The following keys are available:
+The commands \macro{\JSONParseSet} can be used to specify options via key-value pairs (separated by commas). Keys that are presented here as a subkey (i.\,e. preceded by another key and a slash) can also be set using the syntax \macro{key={subkey}} and multiple subkeys belonging to one key can be combined using a comma as separator. Several user commands allow to pass keys directly which are then applied locally. The following keys are available:
\begin{macrodef}
separator/|child|={<string>}
+separator/|array left|={<string>}
+separator/|array right|={<string>}
\end{macrodef}
-With the key \macro{child sep}, the separator for child objects that is used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the child separator is a dot (\macro{.}). Changing the separator can be useful if keys in the JSON structure already use these characters.
+With the key \macro{separator/child}, the separator for child objects that is used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the child separator is a dot (\macro{.}). Changing the separator can be useful if keys in the JSON structure already use these characters.
+
+With the keys \macro{separator/array left} and \macro{separator/array right}, the separators for arrays that are used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the separators are square brackets (\macro{[} and \macro{]}). Changing the separators can be useful if keys in the JSON structure already use these characters. Changing these separators to curly braces (\macro{{}}) is not supported due to their grouping function in TeX.
+
+These keys can be set using \macro{\JSONParseSet}. They can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
\begin{macrodef}
-separator/|array left|={<string>}
-separator/|array right|={<string>}
+|zero-based|
+|zero-based|={<boolean>}
\end{macrodef}
-With the keys \macro{array sep left} and \macro{array sep right}, the separators for arrays that are used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the separators are square brackets (\macro{[} and \macro{]}). Changing the separators can be useful if keys in the JSON structure already use these characters.
+If set (or explicitly set to \macro{true}), the key \macro{zero-based} sets the numbering of the index of array items to zero-based. If set to false, the indexing starts with one instead. Per default, the package uses zero-based indexing to resemble JavaScript notation.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
\begin{macrodef}
-replacement/|true|={<string>}
-replacement/|false|={<string>}
-replacement/|null|={<string>}
+replace/|true|={<string>}
+replace/|false|={<string>}
+replace/|null|={<string>}
\end{macrodef}
-With the keys \macro{true}, \macro{false} and \macro{null}, the string that is typeset for true, false and null values can be changed. The default strings that are typeset are \macro{true}, \macro{false} and \macro{null} respectively. Only strings can be used as replacement.
+With the keys \macro{replace/true}, \macro{replace/false} and \macro{replace/null}, the string that is typeset for true, false and null values can be changed. The default strings that are typeset are \macro{true}, \macro{false} and \macro{null} respectively. Only strings can be used as replacement. These replacements take place already during parsing.
+
+These keys can be set using \macro{\JSONParseSet}. They can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
\begin{macrodef}
-|array index zero-based|
-|array index zero-based|={<boolean>}
+replace/|backspace|={<string>}
+replace/|formfeed|={<string>}
+replace/|linefeed|={<string>}
+replace/|carriage return|={<string>}
+replace/|horizontal tab|={<string>}
\end{macrodef}
-If set (or explicitly set to \macro{true}), the key \macro{array index zero-based} sets the numbering of the index of array items to zero-based. If set to false, the indexing starts with one instead. Per default, the package uses zero-based indexing to resemble JavaScript notation.
+These keys can be used to set the replacement text for the JSON escape sequences \macro{\b} (backspace), \macro{\f} (formfeed), \macro{\n} (linefeed), \macro{\r} (carriage return) and \macro{\t} (horizontal tab). The default replacement string is a space. Only strings can be used as replacement. These replacements take place only during typesetting.
+
+These keys can be set using \macro{\JSONParseSet}. They can also be set locally as option to the commands \macro{\JSONParseValue}, \macro{\JSONParseArrayValues} and \macro{\JSONParseArrayValuesMap}.
\subsection{L3 commands}
diff --git a/macros/latex/contrib/jsonparse/jsonparse.sty b/macros/latex/contrib/jsonparse/jsonparse.sty
index 680e89bfca..514064d92a 100644
--- a/macros/latex/contrib/jsonparse/jsonparse.sty
+++ b/macros/latex/contrib/jsonparse/jsonparse.sty
@@ -10,15 +10,16 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-\ProvidesExplPackage {jsonparse} {2024-04-28} {0.8.3}
+\ProvidesExplPackage {jsonparse} {2024-08-08} {0.8.7}
{JSON Parse}
\bool_new:N \l__jsonparse_debug_mode_bool
-\keys_define:nn { jsonparse } {
+\keys_define:nn { jsonparse / global } {
debug .bool_set:N = \l__jsonparse_debug_mode_bool ,
debug .default:n = { true } ,
+ debug .initial:n = { false }
}
-\ProcessKeyOptions [ jsonparse ]
+\ProcessKeyOptions [ jsonparse / global ]
\msg_new:nnn { jsonparse } { debug-info } {
#1
@@ -43,7 +44,7 @@
\msg_new:nnn { jsonparse } { file-exists } {
\msg_error_text:n { jsonparse } \iow_newline:
- File ~ #1 ~ already ~ existing.
+ File ~ #1 ~ already ~ existing.
}
\msg_new:nnn { jsonparse } { escape-in-key } {
@@ -56,6 +57,11 @@
Escape ~ character ~ #1 ~ not ~ found.
}
+\msg_new:nnn { jsonparse } { unknown-key } {
+ \msg_warning_text:n { jsonparse } \iow_newline:
+ Ignoring ~ unknown ~ key: ~ #1.
+}
+
\msg_new:nnn { jsonparse } { saving-external } {
\msg_info_text:n { jsonparse } \iow_newline:
Saving ~ external ~ file: ~ #1.
@@ -67,14 +73,21 @@
}
% ===
-
+
+\str_new:N \l_jsonparse_externalize_prefix_str
+\str_new:N \l_jsonparse_current_prop_str
+
+\tl_new:N \l__jsonparse_externalize_file_name_tl
+
\str_new:N \l__jsonparse_child_sep_str
\str_new:N \l__jsonparse_array_sep_left_str
\str_new:N \l__jsonparse_array_sep_right_str
\str_new:N \l__jsonparse_true_str
\str_new:N \l__jsonparse_false_str
\str_new:N \l__jsonparse_null_str
-\bool_new:N \l__jsonparse_array_index_zero_based_bool
+\bool_new:N \l__jsonparse_zero_based_bool
+\bool_new:N \l__jsonparse_rescan_bool
+\bool_new:N \l__jsonparse_externalize_bool
\str_new:N \l__jsonparse_backspace_str
\str_new:N \l__jsonparse_formfeed_str
@@ -82,6 +95,8 @@
\str_new:N \l__jsonparse_carriage_return_str
\str_new:N \l__jsonparse_horizontal_tab_str
+\clist_new:N \l__jsonparse_unused_keys_clist
+
\clist_new:N \l__jsonparse_escape_tex_chars_clist
\clist_set:Nn \l__jsonparse_escape_tex_chars_clist {
number_sign ,
@@ -98,35 +113,48 @@
\bool_new:c { l__jsonparse_escape_ #1 _bool }
}
-\keys_define:nn { jsonparse } {
- array ~ index ~ zero-based .bool_set:N = \l__jsonparse_array_index_zero_based_bool ,
- array ~ index ~ zero-based .default:n = { true } ,
- array ~ index ~ zero-based .initial:n = { true } ,
- separator .code:n = { \keys_set:nn { jsonparse / separator } {#1} },
- separator / child .str_set:N = \l__jsonparse_child_sep_str ,
- separator / child .initial:n = { . } ,
- separator / array ~ left .str_set:N = \l__jsonparse_array_sep_left_str ,
- separator / array ~ left .initial:n = { [ } ,
- separator / array ~ right .str_set:N = \l__jsonparse_array_sep_right_str ,
- separator / array ~ right .initial:n = { ] } ,
- replacement .code:n = { \keys_set:nn { jsonparse / replacement } {#1} },
- replacement / true .str_set:N = \l__jsonparse_true_str ,
- replacement / true .initial:n = { true } ,
- replacement / false .str_set:N = \l__jsonparse_false_str ,
- replacement / false .initial:n = { false } ,
- replacement / null .str_set:N = \l__jsonparse_null_str ,
- replacement / null .initial:n = { null } ,
- replacement / backspace .str_set:N = \l__jsonparse_backspace_str ,
- replacement / backspace .initial:n = { ~ } ,
- replacement / formfeed .str_set:N = \l__jsonparse_formfeed_str ,
- replacement / formfeed .initial:n = { ~ } ,
- replacement / linefeed .str_set:N = \l__jsonparse_linefeed_str ,
- replacement / linefeed .initial:n = { ~ } ,
- replacement / carriage ~ return .str_set:N = \l__jsonparse_carriage_return_str ,
- replacement / carriage ~ return .initial:n = { ~ } ,
- replacement / horizontal ~ tab .str_set:N = \l__jsonparse_horizontal_tab_str ,
- replacement / horizontal ~ tab .initial:n = { ~ } ,
- escape .code:n = {
+\keys_define:nn { jsonparse / parse } {
+ externalize .bool_set:N = \l__jsonparse_externalize_bool ,
+ externalize .default:n = { true } ,
+ externalize .initial:n = { false } ,
+ externalize ~ prefix .str_set:N = \l_jsonparse_externalize_prefix_str ,
+ externalize ~ prefix .initial:n = { } ,
+ externalize ~ file ~ name .tl_set:N = \l__jsonparse_externalize_file_name_tl ,
+ externalize ~ file ~ name .initial:n = {
+ \l_jsonparse_externalize_prefix_str \c_sys_jobname_str \c_underscore_str \l_jsonparse_current_prop_str
+ } ,
+ separator .code:n = { \keys_set:nn { jsonparse / parse / separator } {#1} } ,
+ separator / child .str_set:N = \l__jsonparse_child_sep_str ,
+ separator / child .initial:n = { . } ,
+ separator / array ~ left .str_set:N = \l__jsonparse_array_sep_left_str ,
+ separator / array ~ left .initial:n = { [ } ,
+ separator / array ~ right .str_set:N = \l__jsonparse_array_sep_right_str ,
+ separator / array ~ right .initial:n = { ] } ,
+ zero-based .bool_set:N = \l__jsonparse_zero_based_bool ,
+ zero-based .default:n = { true } ,
+ zero-based .initial:n = { true } ,
+ replace .code:n = { \keys_set:nn { jsonparse / parse / replace } {#1} } ,
+ replace / true .str_set:N = \l__jsonparse_true_str ,
+ replace / true .initial:n = { true } ,
+ replace / false .str_set:N = \l__jsonparse_false_str ,
+ replace / false .initial:n = { false } ,
+ replace / null .str_set:N = \l__jsonparse_null_str ,
+ replace / null .initial:n = { null }
+}
+
+\keys_define:nn { jsonparse / typeset } {
+ replace .code:n = { \keys_set:nn { jsonparse / typeset / replace } {#1} } ,
+ replace / backspace .str_set:N = \l__jsonparse_backspace_str ,
+ replace / backspace .initial:n = { ~ } ,
+ replace / formfeed .str_set:N = \l__jsonparse_formfeed_str ,
+ replace / formfeed .initial:n = { ~ } ,
+ replace / linefeed .str_set:N = \l__jsonparse_linefeed_str ,
+ replace / linefeed .initial:n = { ~ } ,
+ replace / carriage ~ return .str_set:N = \l__jsonparse_carriage_return_str ,
+ replace / carriage ~ return .initial:n = { ~ } ,
+ replace / horizontal ~ tab .str_set:N = \l__jsonparse_horizontal_tab_str ,
+ replace / horizontal ~ tab .initial:n = { ~ } ,
+ escape .code:n = {
\str_case:nnF {#1} {
{ all } {
\clist_map_inline:Nn \l__jsonparse_escape_tex_chars_clist {
@@ -168,11 +196,27 @@
}
}
}
+ } ,
+ escape .groups:n = { output } ,
+ rescan .bool_set:N = \l__jsonparse_rescan_bool ,
+ rescan .default:n = { true } ,
+ rescan .initial:n = { true } ,
+ rescan .groups:n = { output }
+}
+
+\cs_new:Npn \__jsonparse_warning_unused_keys: {
+ \clist_map_inline:Nn \l__jsonparse_unused_keys_clist {
+ \msg_warning:nne { jsonparse } { unknown-key } {
+ ##1
+ }
}
}
\NewDocumentCommand { \JSONParseSet } { m } {
- \keys_set:nn { jsonparse } {#1}
+ \keys_set_known:nnN { jsonparse / global } {#1} \l__jsonparse_unused_keys_clist
+ \keys_set_known:noN { jsonparse / parse } { \l__jsonparse_unused_keys_clist } \l__jsonparse_unused_keys_clist
+ \keys_set_known:noN { jsonparse / typeset } { \l__jsonparse_unused_keys_clist } \l__jsonparse_unused_keys_clist
+ \__jsonparse_warning_unused_keys:
}
% ===
@@ -181,6 +225,7 @@
\cs_new:Npn \str_casefold:n { \str_foldcase:n }
}
+\cs_generate_variant:Nn \file_input:n { e }
\cs_generate_variant:Nn \tl_gset_rescan:Nnn { Nne }
\cs_generate_variant:Nn \tl_range:nnn { nne , nen }
\cs_generate_variant:Nn \tl_range:Nnn { Nne , Nen }
@@ -193,14 +238,20 @@
\cs_generate_variant:Nn \str_case_e:nn { en }
\cs_generate_variant:Nn \str_casefold:n { o }
\cs_generate_variant:Nn \str_head_ignore_spaces:n { o }
+\cs_generate_variant:Nn \str_set:Nn { Ne }
\cs_generate_variant:Nn \prop_gput:Nnn { Nee }
\cs_generate_variant:Nn \prop_item:Nn { Ne , ce }
\cs_generate_variant:Nn \prop_put:Nnn { Nen , Nee }
+\cs_generate_variant:Nn \keys_set_known:nnN { noN }
\cs_generate_variant:Nn \iow_now:Nn { Ne }
+\cs_generate_variant:Nn \iow_open:Nn { Ne }
\cs_generate_variant:Nn \msg_error:nnn { nno }
\cs_generate_variant:Nn \msg_error:nnnn { nnoo }
+\cs_generate_variant:Nn \msg_info:nnn { nne }
\cs_generate_variant:Nn \msg_log:nnn { nne }
+\cs_generate_variant:Nn \msg_warning:nnn { nne }
+\prg_generate_conditional_variant:Nnn \file_if_exist:n { e } { T , TF }
\prg_generate_conditional_variant:Nnn \tl_if_eq:nn { en } { T }
\prg_generate_conditional_variant:Nnn \tl_if_head_eq_charcode:nN { oN } { T , TF }
\prg_generate_conditional_variant:Nnn \tl_if_in:nn { nV } { F }
@@ -224,7 +275,7 @@
\int_new:N \l__jsonparse_array_count_last_int
\bool_new:N \l__jsonparse_prop_map_first_bool
-\bool_new:N \l__jsonparse_load_external_bool
+\bool_new:N \l__jsonparse_externalize_load_bool
\ior_new:N \l__jsonparse_json_ior
\iow_new:N \g__jsonparse_externalize_iow
@@ -366,10 +417,10 @@
\bool_if:NT \l__jsonparse_debug_mode_bool {
\msg_log:nnn { jsonparse } { debug-info } {
(arr ~ begin)
- }
+ }
}
\int_zero:N \l__jsonparse_array_index_int
- \bool_if:NT \l__jsonparse_array_index_zero_based_bool {
+ \bool_if:NT \l__jsonparse_zero_based_bool {
\int_decr:N \l__jsonparse_array_index_int
}
\tl_set_eq:NN \l__jsonparse_object_array_key_tl \l__jsonparse_key_tl
@@ -412,7 +463,7 @@
\tl_if_head_eq_charcode:oNTF { \l__jsonparse_remainder_tl } : {
\tl_remove_once:NV \l__jsonparse_remainder_tl \c_colon_str
\tl_set:Ne \l__jsonparse_key_tl { \l__jsonparse_prefix_tl #1 }
- } {
+ } {
\tl_set:Nn \l__jsonparse_val_tl {#1}
\prop_gput:Nee \g_jsonparse_entries_prop
{ \l__jsonparse_key_tl } { \l__jsonparse_val_tl }
@@ -515,7 +566,7 @@
\tl_if_empty:NF \l__jsonparse_remainder_tl {
\exp_args:No \jsonparse_parse:n { \l__jsonparse_remainder_tl }
}
-}
+}
\cs_new_protected:Npn \jsonparse_filter:Nn #1#2 {
\prop_clear:N \l__jsonparse_temp_prop
@@ -542,98 +593,117 @@
\prop_if_exist:NF #1 {
\prop_new:N #1
}
- \prop_gput:Nnn #1 { #2 } { #3 }
+ \prop_gput:Nnn #1 {#2} {#3}
}
\cs_new:Npn \__jsonparse_externalize:Nn #1#2 {
- \file_if_exist:nTF {#2} {
- \msg_error:nnn { jsonparse } { file-exists }
+ \file_if_exist:eTF {#2} {
+ \msg_error:nne { jsonparse } { file-exists }
{#2}
} {
- \iow_open:Nn \g__jsonparse_externalize_iow {#2}
+ \iow_open:Ne \g__jsonparse_externalize_iow {#2}
\prop_map_inline:Nn #1 {
\iow_now:Nn \g__jsonparse_externalize_iow {
\JSONParsePut {#1} {##1} {##2}
}
}
\iow_close:N \g__jsonparse_externalize_iow
- \msg_info:nnn { jsonparse } { saving-external }
+ \msg_info:nne { jsonparse } { saving-external }
{#2}
}
}
% ===
-\NewDocumentCommand { \JSONParse } { o m +v } {
- \bool_set_false:N \l__jsonparse_load_external_bool
- \tl_if_novalue:nF {#1} {
- \file_if_exist:nT { #1 .jsonparse } {
- \bool_set_true:N \l__jsonparse_load_external_bool
- }
+\cs_new:Npn \__json_nested_construct_cs:Nnn #1 #2 #3 {
+ \cs_set:Npn #1 #2 ##1 #3 #2 ##2 #3 {
+ \prop_item:ce {##1} {##2}
}
- \bool_if:NTF \l__jsonparse_load_external_bool {
- \msg_info:nnn { jsonparse } { loading-external }
- { #1 .jsonparse }
- \file_input:n { #1 .jsonparse }
- } {
- \prop_new:N #2
- \tl_gclear:N \g__jsonparse_json_tl
- \group_begin:
- \cs_set:Npn \" { \exp_not:N \" }
- \cs_set:Npn \/ { \exp_not:N \/ }
- \cs_set:Npn \\ { \exp_not:N \\ }
- \cs_set:Npn \b { \exp_not:N \b }
- \cs_set:Npn \f { \exp_not:N \f }
- \cs_set:Npn \n { \exp_not:N \n }
- \cs_set:Npn \r { \exp_not:N \r }
- \cs_set:Npn \t { \exp_not:N \t }
- \cs_set:Npn \u { \exp_not:N \u }
- \cs_set:Npn \x [ ##1 ] [ ##2 ] { \prop_item:ce {##1} {##2} }
- \tl_gset_rescan:Nne \g__jsonparse_json_tl { \cctab_select:N \c__jsonparse_json_escape_cctab } {#3}
- \exp_args:NNe \jsonparse_parse_to_prop:Nn #2 { \g__jsonparse_json_tl }
- \group_end:
- \tl_if_novalue:nF {#1} {
- \__jsonparse_externalize:Nn #2 { #1 .jsonparse }
+}
+\cs_generate_variant:Nn \__json_nested_construct_cs:Nnn { Noo }
+
+\NewDocumentCommand { \JSONParse } { O{} m +v } {
+ \group_begin:
+ \str_set:Ne \l_jsonparse_current_prop_str { \cs_to_str:N #2 }
+ \keys_set_known:nnN { jsonparse / global } {#1} \l__jsonparse_unused_keys_clist
+ \keys_set_known:noN { jsonparse / parse } { \l__jsonparse_unused_keys_clist } \l__jsonparse_unused_keys_clist
+ \__jsonparse_warning_unused_keys:
+ \bool_set_false:N \l__jsonparse_externalize_load_bool
+ \bool_if:NT \l__jsonparse_externalize_bool {
+ \file_if_exist:eT { \l__jsonparse_externalize_file_name_tl .jsonparse } {
+ \bool_set_true:N \l__jsonparse_externalize_load_bool
+ }
}
- }
+ \bool_if:NTF \l__jsonparse_externalize_load_bool {
+ \msg_info:nne { jsonparse } { loading-external }
+ { \l__jsonparse_externalize_file_name_tl .jsonparse }
+ \file_input:e { \l__jsonparse_externalize_file_name_tl .jsonparse }
+ } {
+ \prop_new:N #2
+ \tl_gclear:N \g__jsonparse_json_tl
+ \group_begin:
+ \cs_set:Npn \" { \exp_not:N \" }
+ \cs_set:Npn \/ { \exp_not:N \/ }
+ \cs_set:Npn \\ { \exp_not:N \\ }
+ \cs_set:Npn \b { \exp_not:N \b }
+ \cs_set:Npn \f { \exp_not:N \f }
+ \cs_set:Npn \n { \exp_not:N \n }
+ \cs_set:Npn \r { \exp_not:N \r }
+ \cs_set:Npn \t { \exp_not:N \t }
+ \cs_set:Npn \u { \exp_not:N \u }
+ \__json_nested_construct_cs:Noo \x \c_left_brace_str \c_right_brace_str
+ \tl_gset_rescan:Nne \g__jsonparse_json_tl { \cctab_select:N \c__jsonparse_json_escape_cctab } {#3}
+ \exp_args:NNe \jsonparse_parse_to_prop:Nn #2 { \g__jsonparse_json_tl }
+ \group_end:
+ \bool_if:NT \l__jsonparse_externalize_bool {
+ \__jsonparse_externalize:Nn #2 { \l__jsonparse_externalize_file_name_tl .jsonparse }
+ }
+ }
+ \group_end:
}
-\NewDocumentCommand { \JSONParseFromFile } { o m m } {
+\NewDocumentCommand { \JSONParseFromFile } { O{} m m } {
\file_if_exist:nF {#3} {
\msg_error:nnn { jsonparse } { file-not-found }
{#3}
}
- \bool_set_false:N \l__jsonparse_load_external_bool
- \tl_if_novalue:nF {#1} {
- \file_if_exist:nT { #1 .jsonparse } {
- \bool_set_true:N \l__jsonparse_load_external_bool
+ \group_begin:
+ \str_set:Ne \l_jsonparse_current_prop_str { \cs_to_str:N #2 }
+ \keys_set_known:nnN { jsonparse / global } {#1} \l__jsonparse_unused_keys_clist
+ \keys_set_known:noN { jsonparse / parse } { \l__jsonparse_unused_keys_clist } \l__jsonparse_unused_keys_clist
+ \__jsonparse_warning_unused_keys:
+ \bool_set_false:N \l__jsonparse_externalize_load_bool
+ \bool_if:NT \l__jsonparse_externalize_bool {
+ \file_if_exist:eT { \l__jsonparse_externalize_file_name_tl .jsonparse } {
+ \bool_set_true:N \l__jsonparse_externalize_load_bool
+ }
}
- }
- \bool_if:NTF \l__jsonparse_load_external_bool {
- \msg_info:nnn { jsonparse } { loading-external }
- { #1 .jsonparse }
- \file_input:n { #1 .jsonparse }
- } {
- \prop_new:N #2
- \tl_gclear:N \g__jsonparse_json_tl
- \group_begin:
- \cs_set:Npn \" { \exp_not:N \" }
- \cs_set:Npn \/ { \exp_not:N \/ }
- \cs_set:Npn \\ { \exp_not:N \\ }
- \cs_set:Npn \b { \exp_not:N \b }
- \cs_set:Npn \f { \exp_not:N \f }
- \cs_set:Npn \n { \exp_not:N \n }
- \cs_set:Npn \r { \exp_not:N \r }
- \cs_set:Npn \t { \exp_not:N \t }
- \cs_set:Npn \u { \exp_not:N \u }
- \cs_set:Npn \x [ ##1 ] [ ##2 ] { \prop_item:ce {##1} {##2} }
- \file_get:nnN {#3} { \cctab_select:N \c__jsonparse_json_escape_cctab } \g__jsonparse_json_tl
- \exp_args:NNe \jsonparse_parse_to_prop:Nn #2 { \g__jsonparse_json_tl }
- \group_end:
- \tl_if_novalue:nF {#1} {
- \__jsonparse_externalize:Nn #2 { #1 .jsonparse }
+ \bool_if:NTF \l__jsonparse_externalize_load_bool {
+ \msg_info:nne { jsonparse } { loading-external }
+ { \l__jsonparse_externalize_file_name_tl .jsonparse }
+ \file_input:e { \l__jsonparse_externalize_file_name_tl .jsonparse }
+ } {
+ \prop_new:N #2
+ \tl_gclear:N \g__jsonparse_json_tl
+ \group_begin:
+ \cs_set:Npn \" { \exp_not:N \" }
+ \cs_set:Npn \/ { \exp_not:N \/ }
+ \cs_set:Npn \\ { \exp_not:N \\ }
+ \cs_set:Npn \b { \exp_not:N \b }
+ \cs_set:Npn \f { \exp_not:N \f }
+ \cs_set:Npn \n { \exp_not:N \n }
+ \cs_set:Npn \r { \exp_not:N \r }
+ \cs_set:Npn \t { \exp_not:N \t }
+ \cs_set:Npn \u { \exp_not:N \u }
+ \cs_set:Npn \x [ ##1 ] [ ##2 ] { \prop_item:ce {##1} {##2} }
+ \file_get:nnN {#3} { \cctab_select:N \c__jsonparse_json_escape_cctab } \g__jsonparse_json_tl
+ \exp_args:NNe \jsonparse_parse_to_prop:Nn #2 { \g__jsonparse_json_tl }
+ \group_end:
+ \bool_if:NT \l__jsonparse_externalize_bool {
+ \__jsonparse_externalize:Nn #2 { \l__jsonparse_externalize_file_name_tl .jsonparse }
+ }
}
- }
+ \group_end:
}
\NewExpandableDocumentCommand { \JSONParseExpandableValue } { m m } {
@@ -682,12 +752,16 @@
\group_end:
}
-\NewDocumentCommand { \JSONParseValue } { s m m } {
- \bool_if:NTF #1 {
- \prop_item:Ne #2 {#3}
- } {
- \exp_args:Ne \__jsonparse_rescan:n { \prop_item:Ne #2 {#3} }
- }
+\NewDocumentCommand { \JSONParseValue } { O{} m m } {
+ \group_begin:
+ \keys_set_known:nn { jsonparse / typeset } {#1} \l__jsonparse_unused_keys_clist
+ \__jsonparse_warning_unused_keys:
+ \bool_if:NTF \l__jsonparse_rescan_bool {
+ \exp_args:Ne \__jsonparse_rescan:n { \prop_item:Ne #2 {#3} }
+ } {
+ \prop_item:Ne #2 {#3}
+ }
+ \group_end:
}
\NewDocumentCommand { \JSONParseKeys } { m m } {
@@ -700,7 +774,7 @@
\tl_if_in:nVF {##1} \l__jsonparse_child_sep_str {
\bool_if:NTF \l__jsonparse_prop_map_first_bool {
\bool_set_false:N \l__jsonparse_prop_map_first_bool
- } {
+ } {
\tl_put_right:Nn \l__jsonparse_temp_tl { , }
}
\tl_put_right:Nn \l__jsonparse_temp_tl { " ##1 " }
@@ -710,8 +784,10 @@
\tl_set_eq:NN #2 \l__jsonparse_temp_tl
}
-\NewDocumentCommand { \JSONParseArrayValues } { s m m O{} m } {
+\NewDocumentCommand { \JSONParseArrayValues } { O{} m m O{} m } {
\group_begin:
+ \keys_set_known:nn { jsonparse / typeset } {#1} \l__jsonparse_unused_keys_clist
+ \__jsonparse_warning_unused_keys:
\tl_set:Nn \l__jsonparse_temp_tl {#2}
\jsonparse_filter:Nn \l__jsonparse_temp_tl {#3}
\bool_set_true:N \l__jsonparse_prop_map_first_bool
@@ -721,13 +797,13 @@
} {#4} {
\bool_if:NTF \l__jsonparse_prop_map_first_bool {
\bool_set_false:N \l__jsonparse_prop_map_first_bool
- } {
+ } {
#5
}
- \bool_if:NTF #1 {
- ##2
- } {
+ \bool_if:NTF \l__jsonparse_rescan_bool {
\__jsonparse_rescan:n {##2}
+ } {
+ ##2
}
}
}
@@ -759,10 +835,12 @@
\tl_new:N \JSONParseArrayIndex
\tl_new:N \JSONParseArrayKey
-\tl_new:N \JSONParseArrayValue
+\tl_new:N \JSONParseArrayValue
-\NewDocumentCommand { \JSONParseArrayValuesMap } { s m m O{} m } {
+\NewDocumentCommand { \JSONParseArrayValuesMap } { O{} m m O{} m } {
\group_begin:
+ \keys_set_known:nn { jsonparse / typeset } {#1} \l__jsonparse_unused_keys_clist
+ \__jsonparse_warning_unused_keys:
\jsonparse_filter:Nn #2 {#3}
\prop_map_inline:Nn #2 {
\str_if_eq:enT {
@@ -771,10 +849,10 @@
\int_incr:N \l__jsonparse_array_index_int
\tl_set:Ne \JSONParseArrayIndex { \__jsonparse_get_array_index:w ##1 \q_stop }
\tl_set:Nn \JSONParseArrayKey {##1}
- \bool_if:NTF #1 {
- \tl_set:Nn \JSONParseArrayValue { \prop_item:Nn #2 {##1} }
- } {
+ \bool_if:NTF \l__jsonparse_rescan_bool {
\tl_set:Nn \JSONParseArrayValue { \exp_args:Ne \__jsonparse_rescan:n { \prop_item:Nn #2 {##1} } }
+ } {
+ \tl_set:Nn \JSONParseArrayValue { \prop_item:Nn #2 {##1} }
}
\use:c {#5}
}
diff --git a/macros/latex/contrib/lastpage/README b/macros/latex/contrib/lastpage/README
index 4545b13a60..b7c3c78bb2 100644
--- a/macros/latex/contrib/lastpage/README
+++ b/macros/latex/contrib/lastpage/README
@@ -1,4 +1,4 @@
-README for lastpage package, 2024-04-27, v2.1a
+README for lastpage package, 2024-07-07, v2.1c
TABLE OF CONTENTS
diff --git a/macros/latex/contrib/lastpage/lastpage-example.pdf b/macros/latex/contrib/lastpage/lastpage-example.pdf
index 6d1c748525..db990f6942 100644
--- a/macros/latex/contrib/lastpage/lastpage-example.pdf
+++ b/macros/latex/contrib/lastpage/lastpage-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/lastpage/lastpage.dtx b/macros/latex/contrib/lastpage/lastpage.dtx
index 104d6b8418..c447d39cc6 100644
--- a/macros/latex/contrib/lastpage/lastpage.dtx
+++ b/macros/latex/contrib/lastpage/lastpage.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
%
% File: lastpage.dtx
-% Version: 2024-04-27 v2.1a
+% Version: 2024-07-07 v2.1c
% Info: Refers to last page's name
%
% Copyright © 2010 - 2024 by
@@ -65,7 +65,7 @@
\input docstrip.tex
\Msg{**********************************************************************}
\Msg{* Installation *}
-\Msg{* Package: lastpage 2024-04-27 v2.1a Refers to last page's name (HMM)*}
+\Msg{* Package: lastpage 2024-07-07 v2.1c Refers to last page's name (HMM)*}
\Msg{**********************************************************************}
\keepsilent
@@ -77,7 +77,7 @@
This is a generated file.
Project: lastpage
-Version: 2024-04-27 v2.1a
+Version: 2024-07-07 v2.1c
Info: Refers to last page's name
Copyright (C) 2010 - 2024 by
@@ -100,10 +100,9 @@ The Current Maintainer of this work is H.-Martin Muench.
This package was invented by Jeffrey P. Goldberg.
I thought that a replacement was needed and therefore created the pageslts package,
-https://ctan.org/pkg/pageslts
-. Nevertheless, for compatibility with existing documents/packages as well as for
-the low amount of resources needed by the lastpage package (no new counter!),
-I updated this package.
+https://ctan.org/pkg/pageslts. Nevertheless, for compatibility with existing
+documents/packages as well as for the low amount of resources needed by the
+lastpage package (no new counter!), I updated this package.
Thanks go to Jeffrey P. Goldberg for allowing me to do this.
While this package allows for things like "Page slash thepage{} of slash pageref{LastPage}"
@@ -185,8 +184,8 @@ In memoriam
%<*driver>
\NeedsTeXFormat{LaTeX2e}[2023-11-01]
\ProvidesFile{lastpage.drv}%
- [2024-04-27 v2.1a Refers to last page's name (HMM)]
-\documentclass{ltxdoc}[2023/03/28]% v2.1j Standard LaTeX documentation class
+ [2024-07-07 v2.1c Refers to last page's name (HMM)]
+\documentclass{ltxdoc}[2024/02/08]% v2.1j Standard LaTeX documentation class
\usepackage{holtxdoc}[2019/12/09]% v0.30 Private additional ltxdoc support (HO)
\hypersetup{%
pdfsubject={Refers to last page's name (HMM; JPG)},%
@@ -234,23 +233,23 @@ In memoriam
% \DoNotIndex{\@auxout,\@evenfoot,\@firstofone,\@firstoftwo,\@ifl@t@r,\@ifpackagelater,\@ifpackageloaded}
% \DoNotIndex{\@ifundefined,\@kernel@reserved@label@data,\@mainaux,\@number,\@oddfoot}
% \DoNotIndex{\addtocounter,\AddToHook,\arabic,\begin}
-% \DoNotIndex{\bigskip,\clearpage,\csname,\documentclass,\EdefUnescapeString,\empty,\end,\endcsname}
-% \DoNotIndex{\enddocument,\ExplSyntaxOff,\ExplSyntaxOn,\fmtversion}
+% \DoNotIndex{\bigskip,\clearpage,\csname,\detokenize,\documentclass,\EdefUnescapeString,\empty,\end}
+% \DoNotIndex{\endcsname,\enddocument,\expanded,\ExplSyntaxOff,\ExplSyntaxOn,\fmtversion}
% \DoNotIndex{\g,\gdef,\here,\hfil,\Hy@temp,\Hy@unicodefalse}
-% \DoNotIndex{\hypersetup,\if@filesw,\if@nobreak,\ifHy@hypertexnames,\ifHy@pageanchor,\ifHy@plainpages}
+% \DoNotIndex{\hypersetup,\if,\if@filesw,\if@nobreak,\ifHy@hypertexnames,\ifHy@pageanchor,\ifHy@plainpages}
% \DoNotIndex{\ifdim,\ifnum,\IfPackageAtLeastTF,\IfPackageLoadedTF,\ifvmode,\ifx,\immediate,\input}
% \DoNotIndex{\label,\lastpage,\lastpage-example.tex,\lastpage.dtx,\lastpage.sty,\lastpagee.sty}
% \DoNotIndex{\lastpageclassic.sty,\lastpagemodern.sty,\LaTeX,\LaTeX-kernel,\listfiles}
-% \DoNotIndex{\makeatletter,\makeatother,\markboth,\mbox,\message,\MessageBreak}
+% \DoNotIndex{\makeatletter,\makeatother,\markboth,\meaning,\mbox,\message,\MessageBreak}
% \DoNotIndex{\NeedsTeXFormat,\newcommand,\newcounter,\newline,\newpage,\nobreak}
% \DoNotIndex{\noindent,\normalsize,\numexpr,\origenddocument,\PackageError,\PackageWarning}
% \DoNotIndex{\PackageWarningNoLine,\pagenumbering,\pageref,\pdfstringdef,\protect,\ProvidesPackage}
% \DoNotIndex{\qquad,\RequirePackage,\section,\ShowHook,\slshape,\smallskip,\space,\test,\textbf}
% \DoNotIndex{\textit,\textquotedblleft,\textquotedblright,\textsf,\texttt,\the,\thepage}
-% \DoNotIndex{\today,\upshape,\url,\usepackage,\value,\verb,\wd,\write}
+% \DoNotIndex{\today,\upshape,\url,\usepackage,\value,\verb,\wd,\write,\xlastpage@rmpage,\xxlastpage@rmpage}
%
% \title{The \xpackage{lastpage} package}
-% \date{2024-04-27 v2.1a}
+% \date{2024-07-07 v2.1c}
% \author{H.-Martin Münch\\\xemail{Martin.Muench at Uni-Bonn.de}\\
% invented by Jeffrey P. Goldberg\\\xemail{jeffrey+news at goldmark.org}}
%
@@ -559,6 +558,18 @@ In memoriam
% but |\lastpage@putlabel| was replaced by |\lastpage@putl@bel|.
% Because \linebreak |\lastpage@putlabel| is no longer called, now there should not be any
% double definitions of the \texttt{lastpage} label.
+%
+% \subsection{\texttt{\textbackslash pagenumbering\{fnsymbol\}}}
+% When using the foot-note-symbols as page numbers,
+% it can be necessary to declare in the document's preamble:
+% \begin{verbatim}
+% \DeclareTextCommand{\textasteriskcentered}{PD1}{*}
+% \DeclareTextCommand{\textdagger}{PD1}{†}
+% %\DeclareTextCommand{\textdaggerdbl}{PD1}{‡)% seems to neither work nor be necessary
+% \DeclareTextCommand{\textsection}{PD1}{§}
+% \DeclareTextCommand{\textparagraph}{PD1}{¶}
+% \DeclareTextCommand{\textbardbl}{PD1}{‖}
+% \end{verbatim}
% \newpage
%
% \section{Alternatives\label{sec:Alternatives}}
@@ -574,7 +585,7 @@ In memoriam
% \textbf{Note: The current version 2015/12/21 v1.2f of the \pkg{pageslts} package
% has not yet been updated to the new hook mechanism. In special cases (for example }%
% |\pagenumbering{fnsymbol}|\textbf{) the current version of that package combined
-% with a current \LaTeX-format fails. Together with about 80~other packages
+% with a current \LaTeX-format fails. Together with several other packages
% (small to large, public as well as private, some probably obsolete) it is
% in the update queue.}\newline
% The \xpackage{pageslts} package first started as a revision of this
@@ -723,17 +734,17 @@ In memoriam
%
% \begin{macrocode}
%<*example>
-\documentclass[british]{article}[2023/05/17]% v1.4n Standard LaTeX document class
+\documentclass[british]{article}[2024/02/08]% v1.4n Standard LaTeX document class
\makeatletter
\@ifl@t@r\fmtversion{2022/11/01}{%
\AddToHook{enddocument/afterlastpage}[lastpage]{%
\message{^^JLaTeX Info: Executing hook `enddocument/afterlastpage'.}}%
}{\AtEndDocument{\message{^^JLaTeX Info: Executing hook `AtEndDocument'.}}%
}
-\usepackage[draft]{showkeys}[2023/07/08]% v3.19 Show cite and label keys (DPC, MH)
+\usepackage[draft]{showkeys}[2024/05/23]% v3.21 Show cite and label keys (DPC, MH)
%% Use final instead of draft to hide the keys. %%
\usepackage[pdfpagelabels=true,hyperindex=false]{hyperref}[2024-01-20]% v7.01h
-%% Hypertext links for LaTeX
+\@ifpackageloaded{hyperref}{% Hypertext links for LaTeX
\hypersetup{extension=pdf,%
plainpages=false,%
pdflang={en},%
@@ -744,9 +755,8 @@ In memoriam
pdfview=Fit,%
pdfstartview=Fit,%
pdfpagelayout=SinglePage%
-}
-\@ifpackageloaded{hyperref}{}{\usepackage{url}[2013/09/16]}% v3.4
-\usepackage{lastpage}[2024/04/27]% v2.1a
+}}{\usepackage{url}[2013/09/16]}% v3.4
+\usepackage{lastpage}[2024/07/07]% v2.1c
\renewcommand{\@evenfoot}{%
\normalsize\slshape \today\hfil \upshape %
page \thepage{} of \pageref{LastPage}}
@@ -758,7 +768,7 @@ In memoriam
\section*{Example for lastpage}
\markboth{Example for lastpage}{Example for lastpage}
This example demonstrates the use of package\newline
-\textsf{lastpage}, v2.1a as of 2024-04-27 (HMM; JPG).\newline
+\textsf{lastpage}, v2.1c as of 2024-07-07 (HMM; JPG).\newline
The package takes no options.\newline
For more details please see the documentation!\newline
@@ -783,7 +793,7 @@ trademark owner. There is no intention of infringement; the
usage is to the benefit of the trademark owner.\newline
\textbf{Tip}: Use \textit{logical page numbers}
-for the display of the pdf (in Adobe Acrobat Reader 2024.002.20687:
+for the display of the pdf (in Adobe Acrobat Reader 2024.002.20895:
Edit $>$ Preferences $>$ Page Display $>$
Page Content and Information: Use logical page numbers)!\newline
@@ -837,8 +847,8 @@ The code does not generally work even without hyperref.
\end{verbatim}
\end{quote}
-\noindent does work, because \verb|\lastpage@lastpage| contains the name
-of the page, \mbox{example:}
+\noindent does work (two compilations needed), because \verb|\lastpage@lastpage|
+contains the name of the page, \mbox{example:}
\begin{verbatim}
Page \thepage{} is (not) page \makeatletter\lastpage@lastpage\makeatother.
\end{verbatim}
@@ -894,7 +904,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \DescribeMacro{lastpage.sty}
% We first need to determine whether we are on \TeX~2.09 or \LaTeX2e.\newline
% (That line, which is too long for the documentation, reads:\newline
-% |\def\loadlastpage{\ProvidesPackage{lastpage}[2024/04/27 v2.1a lastpage:|\linebreak
+% |\def\loadlastpage{\ProvidesPackage{lastpage}[2024/07/07 v2.1c lastpage:|\linebreak
% | 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}}|.)
%
% \begin{macrocode}
@@ -902,7 +912,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
%% Part of the "lastpage" package
%% loads either lastpage2.09.sty for TeX 2.09 or lastpage2e.sty for LaTeX 2e
%% with code from https://groups.google.com/g/comp.text.tex/c/-Qmhj1ZI4xM
-\def\loadlastpage{\ProvidesPackage{lastpage}[2024/04/27 v2.1a lastpage: 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}}
+\def\loadlastpage{\ProvidesPackage{lastpage}[2024/07/07 v2.1c lastpage: 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}}
\begingroup \expandafter \ifx \csname documentclass\endcsname\relax
\endgroup \expandafter \input{lastpage209.sty}
\else \endgroup \expandafter \loadlastpage
@@ -942,7 +952,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
%<*lastpage2e>
%% Part of the "lastpage" package
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{lastpage2e}[2024/04/27 v2.1a %
+\ProvidesPackage{lastpage2e}[2024/07/07 v2.1c %
Decide which 2e lastpage version to use (HMM)]
\@ifl@t@r\fmtversion{2023/06/01}{\RequirePackage{lastpagemodern}}{%
\RequirePackage{lastpageclassic}}
@@ -957,7 +967,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
%<*lastpageclassic>
%% Part of the "lastpage" package
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\ProvidesPackage{lastpageclassic}[2024/04/27 v2.1a %
+\ProvidesPackage{lastpageclassic}[2024/07/07 v2.1c %
Refers to last page's name (HMM; JPG)]
%% allows for things like "Page \thepage{} of \pageref{LastPage}"
%% to get "Page 7 of 9"
@@ -1375,7 +1385,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
%<*lastpagemodern>
%% Part of the "lastpage" package
\NeedsTeXFormat{LaTeX2e}[2023-06-01]
-\ProvidesPackage{lastpagemodern}[2024-04-27 v2.1a %
+\ProvidesPackage{lastpagemodern}[2024-07-07 v2.1c %
Refers to last page's name (HMM; JPG)]
%% allows for things like "Page \thepage{} of \pageref{LastPage}"
%% to get "Page 7 of 9" or "Page VII of IX";
@@ -1463,14 +1473,69 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\lastpage@makeHy}
+% Just once we need the page from |\@currentHpage| without any \mbox{\textquotedblleft |page.|\textquotedblright :}
+% \begin{macrocode}
+\newcommand{\lastpage@makeHy}{%
+ \gdef\lastpage@Hy{}%
+ \IfPackageLoadedTF{hyperref}{%
+ \ifHy@pageanchor%
+ \@ifundefined{@currentHpage}{%
+ \PackageError{lastpage}{%
+ Kernel command \string\@currentHpage\space is undefined}{%
+ Please contact the lastpage maintainer.}%
+% \end{macrocode}
+% |\gdef\lastpage@Hy{}|, but that was already done at the beginning of this command.
+% \begin{macrocode}
+ }{\xdef\lastpage@Hptest{Doc-Start}%
+ \ifx\lastpage@Hptest\@currentHpage\relax%
+ \gdef\lastpage@Hy{\@currentHpage}%
+ \else%
+ \edef\lastpage@Hptest{\@currentHpage}%
+ \ifx\lastpage@Hptest\empty\relax%
+% \end{macrocode}
+% |\gdef\lastpage@Hy{}|, but that was already done at the beginning of this command.
+% \begin{macrocode}
+ \else%
+% \end{macrocode}
+% |\@currentHpage| should be |page.<some number>|, |\lastpage@rmpage| removes the
+% \mbox{\textquotedblleft |page.|\textquotedblright .} Next compilation run,
+% |\lastpage@lastpageHy| gets defined via the \xfile{aux} file.
+% If we arrived at this place, but the definition is still empty,
+% then |\@currentHpage| has some unexpected content.
+% \begin{macrocode}
+ \gdef\lastpage@Hy{\lastpage@rmpage{\@currentHpage}}%
+ \ifx\lastpage@lastpageHy\empty\relax%
+ \PackageWarningNoLine{lastpage}{%
+ \string\@currentHpage\space is\MessageBreak%
+ \meaning\@currentHpage\MessageBreak%
+ not beginning with "page.",\MessageBreak%
+ \string\lastpage@lastpageHy\space is now let empty.}%
+ \fi%
+ \fi%
+ \fi%
+ }%
+ \fi%
+ }{}%
+ }%
+
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\lastpage@rmpage}
-% Just once we need |\@currentHpage| without the \mbox{\textquotedblleft |page.|\textquotedblright :}
+% |\lastpage@rmpage| removes the \mbox{\textquotedblleft |page.|\textquotedblright.}
+%
% \begin{macrocode}
-%% similar to https://tex.stackexchange.com/a/12811/6865
-\def\lastpage@rmpage#1{\expandafter\lastpage@currentH#1\relax}
-\def\lastpage@currentH#1.#2\relax{#2}
+%% Code provided by David Carlisle at https://tex.stackexchange.com/a/721877
+\def\lastpage@rmpage#1{%
+ \expandafter\xlastpage@rmpage\expanded{#1}\xlastpage@rmpage page.%
+ \xlastpage@rmpage\xxlastpage@rmpage{#1}}
+\def\xlastpage@rmpage #1page.#2\xlastpage@rmpage#3\xxlastpage@rmpage#4{%
+ \if$\detokenize{#1}$#2%\else#4
+ \fi}
% \end{macrocode}
+% |\else#4| means, that it did not start with |page.|, and whatever it is,
+% we cannot use this |#4| for |\lastpage@Hy|.
% \end{macro}
% \begin{macro}{\lastpage@putl@bel}
% \indent This command does the writing of the label.
@@ -1529,15 +1594,13 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
{\@kernel@reserved@label@data}}%
}%
% \end{macrocode}
-% \pagebreak
% \noindent We also save the values, so that we can later (next rerun) check,
% whether they have been saved in the \xfile{aux} file.
%
% \begin{macrocode}
\protected@iwrite\@auxout{}{%
\string\gdef\string\lastpage@lastpage{\thepage}}%
- \gdef\lastpage@Hy{\IfPackageLoadedTF{hyperref}{%
- \ifHy@pageanchor\lastpage@rmpage{\@currentHpage}\fi}{}}%
+ \lastpage@makeHy%
\protected@iwrite\@auxout{}{%
\string\gdef\string\lastpage@lastpageHy{\lastpage@Hy}}%
% \end{macrocode}
@@ -1553,7 +1616,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \end{macrocode}
% \end{macro}
-%
+%\pagebreak
% \begin{macro}{\lastpage@fileswtest}
% \indent \hspace*{2em}Later it will be determined whether it is allowed to write
% to the \xfile{aux} file. If it was \emph{not} allowed, it is checked
@@ -1679,7 +1742,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \begin{description}
% \item[-] \TeX Format \LaTeXe{}: \url{https://www.CTAN.org}
%
-% \item[-] document class \xclass{ltxdoc}, 2023/03/28, v2.1j,
+% \item[-] document class \xclass{ltxdoc}, 2024/02/08, v2.1j,
% \url{https://ctan.org/pkg/ltxdoc}
%
% \item[-] package \xpackage{holtxdoc}, 2019/12/09, v0.30,
@@ -1692,7 +1755,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \begin{description}
% \item[-] \TeX, \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
+% \item[-] package \xpackage{lastpage}, 2024-07-07, v2.1c,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
%
@@ -1702,7 +1765,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \begin{description}
% \item[-] \TeX-format \LaTeX{}, v2.09
%
-% \item[-] package \xpackage{lastpage209}, 2024-04-27, v2.1a,
+% \item[-] package \xpackage{lastpage209}, 2024-07-07, v2.1c,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
% and does not work with \xpackage{hyperref}, which needs \LaTeX2e{}.\smallskip
@@ -1714,7 +1777,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item[-] \TeX-format \LaTeXe{} 1994/12/01 or newer,
% \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
+% \item[-] package \xpackage{lastpage}, 2024-07-07, v2.1c,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
%
@@ -1725,7 +1788,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item[-] \TeX-format \LaTeXe{} between 1994/12/01 and 2023-05-31,\newline
% \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
+% \item[-] package \xpackage{lastpage}, 2024-07-07, v2.1c,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
% and can use
@@ -1742,13 +1805,13 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item[-] \TeX-format \LaTeXe{} 2023-06-01 or newer,\newline
% \url{https://www.CTAN.org}
%
-% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
+% \item[-] package \xpackage{lastpage}, 2024-07-07, v2.1c,
% \url{https://ctan.org/pkg/lastpage}
% \end{description}
% and can use
% \begin{description}
% \item[-] package \xpackage{hyperref}, 2023-11-07 and newer
-% (tested with: 2024-01-20, v7.01h),
+% (tested with: 2024-05-23, v7.01i),
% \url{https://ctan.org/pkg/hyperref}
% \end{description}
% \pagebreak
@@ -1757,7 +1820,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% The |lastpage-example.tex| requires the same file as all
% documents using the \xpackage{lastpage} package, i.\,e.
% \begin{description}
-% \item[-] package \xpackage{lastpage}, 2024-04-27, v2.1a,
+% \item[-] package \xpackage{lastpage}, 2024-07-07, v2.1c,
% \url{https://ctan.org/pkg/lastpage}\newline
% (Well, it is the example file for this package, and because you are reading the
% documentation for the \xpackage{lastpage} package, it can be assumed that you already
@@ -1765,13 +1828,13 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \end{description}
% and additionally:
% \begin{description}
-% \item[-] class \xpackage{article}, 2023-05-17, v1.4n, from \xpackage{classes}:
+% \item[-] class \xpackage{article}, 2024-02-08, v1.4n, from \xpackage{classes}:
% \url{https://ctan.org/pkg/classes}
%
-% \item[-] package \xpackage{showkeys}, 2023-07-08, v3.19,
+% \item[-] package \xpackage{showkeys}, 2024-05-23, v3.21,
% \url{https://ctan.org/pkg/showkeys}
%
-% \item[-] package \xpackage{hyperref}, 2024-01-20, v7.01h,
+% \item[-] package \xpackage{hyperref}, 2024-05-23, v7.01i,
% \url{https://ctan.org/pkg/hyperref}
% \end{description}
%
@@ -2038,7 +2101,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% to update it. Further I would like to thank \textsc{Heiko Oberdiek}
% for providing a~lot~(!) of useful packages (from which I also learned everything
% I know about creating a file in \xfile{dtx} format, OK, say it: copying).
-% Thanks for bug reports go to \textsc{Ulrike Fischer} (twice),
+% Thanks to \textsc{David Carlisle} for the new code for |\lastpage@rmpage|.
+% Thanks for bug reports go to \textsc{Ulrike Fischer} (several times),
% \textsc{Sebastian Bank}, \textsc{James Hedges}, \textsc{Mikhail Titov},
% \textsc{Micha\l{} Herman}, \textsc{Matteo Gamboz}, and \textsc{James Small}.
% Thanks to \textsc{Sven Siegmund} for pointing out a necessary further
@@ -2219,8 +2283,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item Replaced |\immediate\write| by a form of (pseudo-code!) |\immediate\protected@write|.
% (Thanks to \textsc{Ulrike Fischer} for the error report and solution!)
% \item Update of the |\lastpage@putl@bel| code to \pkg{hyperref} 2023-07-08, v7.01b,
-% which now allows fnsymbol as page numbering scheme (while links to, for example,
-% a page named $\|$ still do not work).
+% which now allows fnsymbol as page numbering scheme.
% \end{Version}
% \begin{Version}{2023-10-06 v2.0d}
% \item For plain arabic page numbers only, \pkg{lastpage} again writes the page number
@@ -2237,6 +2300,16 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook
% \item |\lastpage@IfNumericTF| is no longer needed, but has not been removed
% so as not to break older documents that use it in a different context.
% \end{Version}
+% \begin{Version}{2024-07-03 v2.1b}
+% \item The \xclass{beamer} class loads \xpackage{hyperref} partially,
+% so that \xpackage{hyperref} is incorrectly detected as having been loaded.
+% The defining operation for |\lastpage@Hy| has been changed to catch this
+% and other different cases.
+% \end{Version}
+% \begin{Version}{2024-07-07 v2.1c}
+% \item With help from \textsc{David Carlisle} |\lastpage@rmpage| no longer assumes
+% |\@currentHpage| to begin with |page.|.
+% \end{Version}
% \end{History}
% \bigskip
%
diff --git a/macros/latex/contrib/lastpage/lastpage.pdf b/macros/latex/contrib/lastpage/lastpage.pdf
index 02cb1362b7..9d224e6772 100644
--- a/macros/latex/contrib/lastpage/lastpage.pdf
+++ b/macros/latex/contrib/lastpage/lastpage.pdf
Binary files differ
diff --git a/macros/latex/contrib/litesolution/README.md b/macros/latex/contrib/litesolution/README.md
index f597d5fb09..452c7e9de9 100644
--- a/macros/latex/contrib/litesolution/README.md
+++ b/macros/latex/contrib/litesolution/README.md
@@ -10,7 +10,7 @@ This work may be distributed and/or modified under the conditions of the [LaTeX
This work has the LPPL maintenance status `maintained`.
-The Current Maintainer of this work is [Mingyu Hsia](https://www.ctan.org/author/xia-my).
+The Current Maintainer of this work is [Mingyu XIA](https://www.ctan.org/author/xia-my).
## Derivative Works
diff --git a/macros/latex/contrib/litesolution/doc/figure/universe.pdf b/macros/latex/contrib/litesolution/doc/figure/universe.pdf
index 6ebe5201dc..244c7770a7 100644
--- a/macros/latex/contrib/litesolution/doc/figure/universe.pdf
+++ b/macros/latex/contrib/litesolution/doc/figure/universe.pdf
Binary files differ
diff --git a/macros/latex/contrib/litesolution/doc/figure/universe.tex b/macros/latex/contrib/litesolution/doc/figure/universe.tex
index f2fa69eaab..7cce50ecd2 100644
--- a/macros/latex/contrib/litesolution/doc/figure/universe.tex
+++ b/macros/latex/contrib/litesolution/doc/figure/universe.tex
@@ -5,7 +5,7 @@
\usephysicsmodule{ab.legacy}
\usetikzlibrary{tikzmark}
\tikzset{every node/.style={align=center,DarkSlateGray!30},
- every path/.style={DarkSlateGray!30,line cap=round}}
+ every path/.style={DarkSlateGray!30,line cap=round}}
\begin{document}\tikz{
\node [above right] at (0,0) {$\color{DarkSlateGray!30}
diff --git a/macros/latex/contrib/litesolution/doc/litesolution.pdf b/macros/latex/contrib/litesolution/doc/litesolution.pdf
index 8d9efb2ba3..eb14917941 100644
--- a/macros/latex/contrib/litesolution/doc/litesolution.pdf
+++ b/macros/latex/contrib/litesolution/doc/litesolution.pdf
Binary files differ
diff --git a/macros/latex/contrib/litesolution/doc/litesolution.tex b/macros/latex/contrib/litesolution/doc/litesolution.tex
index 678e4cd4aa..34d82694a2 100644
--- a/macros/latex/contrib/litesolution/doc/litesolution.tex
+++ b/macros/latex/contrib/litesolution/doc/litesolution.tex
@@ -1,17 +1,34 @@
+%% ******************************************************
+%% * This work may be distributed and/or modified under *
+%% * the conditions of the LaTeX Project Public License *
+%% * http://www.latex-project.org/lppl.txt *
+%% * either version 1.3c of this license or any later *
+%% * version. *
+%% ******************************************************
\documentclass[mtpro2,twoside,openany]{litesolution}
-
\usepackage[listings]{tcolorbox}
+\usepackage{pmboxdraw}
\lstset{language=[LaTeX]TeX,basicstyle=\small\ttfamily,breaklines=true,columns=flexible}
-\title{\sffamily The \pkg{LiteSolution} Class}
-\subtitle{\sffamily\scshape Hangzhou Dianzi University}
-\bioinfo{Mingyu Hsia (\mailto{xiamyphys@hdu.edu.cn})\quad|\quad\today\quad|\quad Version 2.2b}
-\cover[checkerboard]{schrodinger}\coverhead[3]{universe}
+\coverset{
+ title = \sffamily The \pkg{LiteSolution} Class,
+ subtitle = \sffamily\scshape Hangzhou Dianzi University,
+ bioinfo = Mingyu XIA (\mailto{xiamyphys@gmail.com})\quad|\quad Version 2.4a,
+ covercolor = DarkSeaGreen,
+ coverhead = universe,
+ coverhead.rotate = 3,
+ cover = schrodinger,
+ cover.pattern = sixpointed stars
+}
\begin{document}
-\maketitle[DarkSlateGray]
-\frontmatter\tableofcontents\mainmatter
+\maketitle
+
+\frontmatter
+\tableofcontents
+\mainmatter
+
\chapterimage{\UPFadingImage*[trim={0 {.9\paperheight} 0 0},clip]{Beautiful-realities}}
\chapter{Introduction to the \pkg{LiteSolution} Class}
@@ -20,7 +37,7 @@
This is the document for the \pkg{LiteSolution} class, which is designed for typesetting solutions of problems in exams, textbooks, etc.
-Welcome to feedback bugs or ideas via email \href{mailto:xiamyphys@hdu.edu.cn}{\ttfamily xiamyphys@hdu.edu.cn} or \href{https://github.com/xiamyphys/litesolution}{GitHub}.
+Welcome to feedback bugs or ideas via email \href{mailto:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com} or \href{https://github.com/xiamyphys/litesolution}{GitHub}.
\subsection{Installing \pkg{LiteSolution} and loading it}
@@ -39,18 +56,18 @@ The test environments are macOS + Mac\hologo{TeX} 2024 / Overleaf / Ubuntu 22.04
\section{Global Options of this Class}
\begin{verbatim}
- \documentclass[<options>]{litesolution}
+ \documentclass[⟨options⟩]{litesolution}
\end{verbatim}
\subsection{The \mode{answer} option}
-The \mode{hideanswer} mode can hide contents in \cmd{solution} environment and \cmd{ans} command.
+The \mode{hideanswer} mode can hide contents in the \cmd{solution} environment and \cmd{ans} command, and make the effect of \cmd{emph} weaker.
\subsection{The \mode{math} option}
The \mode{mtpro2}, \mode{newtx} and \mode{newtxsf} modes can format the font of formulas in the document. Please check if mtpro2 font has been installed on your computer correctly before using \mode{mtpro2} mode.
-\section{Related Packages}
+\section{Derivative Works}
\begin{description}
\item[Package \pkg{notebeamer}] provides macros for inputting slides on note papers quickly.
\item[Package \pkg{fadingimage}] provides macros for inputting full width picture at the edges of pages quickly.
@@ -63,27 +80,23 @@ The \mode{mtpro2}, \mode{newtx} and \mode{newtxsf} modes can format the font of
\subsection{The cover page configurations}
\begin{verbatim}
- \title{<content>} \subtitle{<content>}
- \bioinfo{<content>} \cover[<pattern>]{<image>}
- \coverhead[<angle>]{<image>} \coverhead*[<angle>]{<content>}
-
- \begin{document} \maketitle[<color>]
-\end{verbatim}
-
-\begin{verbatim}
- \title{\sffamily The \pkg{LiteSolution} Class}
- \subtitle{\sffamily\scshape Hangzhou Dianzi University}
- \bioinfo{Mingyu Hsia (\mailto{xiamyphys@hdu.edu.cn})
- \quad|\quad\today\quad|\quad Version 2.2b}
- \cover[checkerboard]{schrodinger} \coverhead[5]{universe}
-
- \begin{document} \maketitle[Midnightblue]
+ \coverset{
+ title = \sffamily The \pkg{LiteSolution} Class,
+ subtitle = \sffamily\scshape Hangzhou Dianzi University,
+ bioinfo = Mingyu XIA (\mailto{xiamyphys@gmail.com})\quad|\quad
+ Version 2.4a,
+ covercolor = DarkSeaGreen,
+ coverhead = universe,
+ coverhead.rotate = 3,
+ cover = schrodinger,
+ cover.pattern = sixpointed stars
+ }
\end{verbatim}
\subsection{The chapter head configurations}
\begin{verbatim}
- \chapterimage {<insert image macro>}
+ \chapterimage {⟨insert image macro⟩}
\end{verbatim}
This command can assign the format of the image at every chapters begin and you can adjust the format of the image with the \pkg{fadingimage} package.
@@ -94,24 +107,32 @@ This template has preset many packages. The following packages are the common on
\begin{table}[htbp]
\centering\small
- \begin{tabular}{l l l l l l l l}
+ \begin{tabularx}{.96\linewidth}{*{6}{X}}
\toprule
- \pkg{amsthm} & \pkg{amssymb} & \pkg{bm} & \pkg{booktabs} &
- \pkg{cancel} & \pkg{caption} & \pkg{circuitikz} & \pkg{datetime} \\
+ \pkg{amsthm} & \pkg{amssymb} & \pkg{bm} &
+ \pkg{booktabs} & \pkg{cancel} & \pkg{caption}\\
+ \midrule
+ \pkg{circuitikz} & \pkg{datetime} & \pkg{derivative} &
+ \pkg{diagbox} & \pkg{enumitem} & \pkg{esvect}\\
+ \midrule
+ \pkg{extarrows} & \pkg{fadingimage} & \pkg{fancyhdr} &
+ \pkg{fixdif} & \pkg{fontawesome5}& \pkg{geometry}\\
\midrule
- \pkg{derivative} & \pkg{diagbox} & \pkg{esvect} & \pkg{extarrows} &
- \pkg{fadingimage} & \pkg{fancyhdr} & \pkg{fixdif} & \pkg{fontawesome5} \\
+ \pkg{graphicx} & \pkg{hyperref} & \pkg{indentfirst} &
+ \pkg{lipsum} & \scriptsize\pkg{magicwatermark} & \pkg{mathtools}\\
\midrule
- \pkg{geometry} & \pkg{graphics} & \pkg{graphicx} & \pkg{hyperref} &
- \pkg{indentfirst} & \pkg{lipsum} & \pkg{mathtools} & \pkg{multicol} \\
+ \pkg{mhchem} & \pkg{multicol} & \pkg{multirow} &
+ \pkg{nicematrix} & \pkg{notebeamer} & \pkg{paracol}\\
\midrule
- \pkg{multirow} & \pkg{nicematrix} & \pkg{notebeamer} & \pkg{paracol} &
- \pkg{pgfplots} & \pkg{physics2} & \pkg{qrcode} & \pkg{refstyle} \\
+ \pkg{pgfplots} & \pkg{physics2} & \pkg{qrcode} &
+ \pkg{refstyle} & \pkg{setspace} & \pkg{siunitx}\\
\midrule
- \pkg{setspace} & \pkg{siunitx} & \pkg{tabularx} & \pkg{tasks} &
- \pkg{wallpaper} & \pkg{xcolor} & \pkg{xeCJK} & \pkg{xfrac} \\
+ \pkg{subcaption} & \pkg{tabularx} & \pkg{soul} &
+ \pkg{tasks} & \pkg{ulem} & \pkg{xcolor}\\
+ \midrule
+ \pkg{xeCJK} & \pkg{xeCJKfntef} & \pkg{xfrac}\\
\bottomrule
- \end{tabular}
+ \end{tabularx}
\end{table}
\section{Preset Commands}
@@ -119,7 +140,7 @@ This template has preset many packages. The following packages are the common on
\subsection{The \cmd{ans} command}
\begin{verbatim}
- \ans {<contents>}
+ \ans {⟨contents⟩}
\end{verbatim}
This command can underline the answer, and if mode \mode{noans} is enabled the answer will be hidden.
@@ -127,11 +148,21 @@ This command can underline the answer, and if mode \mode{noans} is enabled the a
\subsection{The \cmd{solute} command}
\begin{verbatim}
- \solute {<number>} \solute* {<contents>}
+ \solute {⟨number⟩} \solute* {⟨contents⟩}
\end{verbatim}
This command can create a fixable answer box when the mode \mode{noans} is enabled.
+\subsection{The \cmd{emph} command}
+
+\begin{verbatim}
+ \emph {⟨content⟩} \emph* {⟨content⟩}
+\end{verbatim}
+
+\emph{The Quick Brown Fox Jumps Over the Lazy Dog: non-hideanswer mode}
+
+\emph*{The Quick Brown Fox Jumps Over the Lazy Dog: hideanswer mode}
+
\subsection{Other preset commands}
\begin{verbatim}
@@ -144,7 +175,7 @@ This command can create a fixable answer box when the mode \mode{noans} is enabl
\subsection{The \cmd{problem} environment}
\begin{tcblisting}{sidebyside,colback=DarkGreen!5,colframe=DarkGreen!80}
-\begin{problem}[<Keywords>]\leavevmode
+\begin{problem}[Keywords]\leavevmode
\begin{tasks}(2)
\task Choice A \task[\true] Choice B
\task Choice C \task Choice D
@@ -167,16 +198,9 @@ This command can create a fixable answer box when the mode \mode{noans} is enabl
\begin{note}
We note that.
\end{note}
-\end{tcblisting}
+\end{tcblisting}
\end{minipage}
-\section{Equation test}
-
-\[\begin{cases}
- \i\hbar\partial_t\psi(\mathbf x,t)=\ab(-\frac{\hbar^2}{2m}\bm\nabla^2+V)\\
- \i\hbar\partial_t\psi(\mathbf x,t)=-(\i\hbar c\bm\alpha\cdot\bm\nabla+\beta mc^2)\psi(\mathbf x,t)
-\end{cases}\]
-
\section*{Original Code for the Cover Head}
\setstretch{1.15}
diff --git a/macros/latex/contrib/litesolution/tex/litesolution.cls b/macros/latex/contrib/litesolution/tex/litesolution.cls
index 0f59d89630..2b7a3ecb34 100644
--- a/macros/latex/contrib/litesolution/tex/litesolution.cls
+++ b/macros/latex/contrib/litesolution/tex/litesolution.cls
@@ -1,5 +1,5 @@
%% ***********************************************************
-%% Copyright 2024 by Mingyu Hsia <xiamyphys@hdu.edu.cn> *
+%% Copyright 2024 by Mingyu XIA <xiamyphys@gmail.com> *
%% *
%% This work may be distributed and/or modified under *
%% the conditions of the LaTeX Project Public License *
@@ -11,19 +11,18 @@
%% *
%% This work has the LPPL maintenance status `maintained'. *
%% *
-%% The Current Maintainer of this work is Mingyu Hsia. *
+%% The Current Maintainer of this work is Mingyu XIA. *
%% *
%% This work consists of the files litesolution.cls, *
%% and README.md. *
-%% available at https://github.com/xiamyphys/litsolution *
+%% available at https://github.com/xiamyphys/litesolution *
%% ***********************************************************
% !Mode:: "TeX:UTF-8"
\NeedsTeXFormat{LaTeX2e}
\PassOptionsToPackage{no-math}{fontspec}
\PassOptionsToPackage{svgnames}{xcolor}
-\ProvidesClass{litesolution}[2024/05/07 v2.2b LiteSolution document class]
-\RequirePackage{kvoptions}
-\RequirePackage{etoolbox}
+\ProvidesClass{litesolution}[2024/08/15 v2.4a LiteSolution document class]
+\RequirePackage{kvoptions,etoolbox,keyval}
\SetupKeyvalOptions{family=LITE, prefix=LITE@, setkeys=\kvsetkeys}
\def\ekv#1{\kvsetkeys{LITE}{#1}}
@@ -39,7 +38,7 @@
\ProcessKeyvalOptions*\relax
\LoadClass[letterpaper,11pt]{book}
-\RequirePackage{setspace,datetime,caption,booktabs,multicol,diagbox,paracol}
+\RequirePackage{setspace,datetime,tabularx,caption,subcaption,anyfontsize,booktabs,multicol,diagbox,paracol}
\linespread{1.3}
\ddmmyyyydate
\captionsetup{labelsep=period,labelfont={bf,sf},font=small}
@@ -52,18 +51,18 @@
\setlist[enumerate]{itemsep=.5ex}
\setlist[itemize]{itemsep=.5ex}
\RequirePackage[notelinecolor=MidnightBlue,notemargin=.75in]{notebeamer}
-\geometry{margin=1in}
+\geometry{margin=1in,headheight=14pt}
\RequirePackage[nokeyprefix]{refstyle}
\newref{eq}{refcmd=(\ref{#1}),name={\sffamily eq.~},Name={\sffamily Eq.~}}
\newref{fig}{name={\sffamily fig.~},Name={\sffamily Fig.~}}
\newref{tab}{name={\sffamily tab.~},Name={\sffamily Tab.~}}
-\RequirePackage{graphics,graphicx,wallpaper,pagecolor}
+\RequirePackage{graphicx,magicwatermark,pagecolor}
\graphicspath{{./figure/}{./figures/}{./image/}{./images/}{./graphics/}{./graphic/}{./pictures/}{./picture/}}
\RequirePackage{ifxetex}
\ifXeTeX
- \RequirePackage[quiet]{xeCJK}
+ \RequirePackage[quiet,CJKmath,CheckSingle,PlainEquation]{xeCJK}
\RequirePackage{zhlipsum}
\setlength{\parindent}{2em}
\fi
@@ -82,8 +81,7 @@
\RequirePackage[mono=false]{libertine}
}{\relax}
\let\openbox\relax\def\hmmax{0}\def\bmmax{0}
-\RequirePackage{amsthm,amssymb,mathtools,physics2,bm,fixdif,derivative,cancel,extarrows,siunitx,xfrac,nicematrix}
-\renewcommand\qedsymbol{$\color{gray}\blacksquare$}
+\RequirePackage{amssymb,mathtools,physics2,bm,fixdif,derivative,cancel,extarrows,siunitx,xfrac,nicematrix}
\usephysicsmodule{ab,braket,diagmat,doubleprod,xmat,ab.legacy,op.legacy}
\RequirePackage[e]{esvect}
\let\vec\vv
@@ -109,6 +107,7 @@
\AddToHook{cmd/faIcon/after}{\endgroup}
\RequirePackage{circuitikz,pgfplots,fadingimage}
+\RequirePackage[version=4]{mhchem}
\usetikzlibrary{arrows,tikzmark,patterns,calc,angles,quotes,intersections}
\tikzset{>=stealth',
every picture/.append style={%
@@ -133,56 +132,77 @@
\def\mode#1{\textcolor{Indigo}{\textsf{#1}}}
\def\cmd#1{\textcolor{MidnightBlue}{\texttt{\string#1}}}
-\def\subtitle#1{\gdef\@subtitle{#1}}
-\def\bioinfo#1{\gdef\@bioinfo{#1}}
-\NewDocumentCommand\coverhead{ O{0} m }{
- \gdef\@coverheadrotate{#1}\gdef\@coverhead{#2}
+\define@key{coverset}{title}{\gdef\@title{#1}}
+\define@key{coverset}{subtitle}{\gdef\@subtitle{#1}}
+\define@key{coverset}{bioinfo}{\gdef\@bioinfo{#1}}
+\define@key{coverset}{covercolor}{\gdef\@covercolor{#1}}
+\define@key{coverset}{coverhead}{\gdef\@coverhead{#1}}
+\define@key{coverset}{coverhead.rotate}{\gdef\@coverheadrotate{#1}}
+\define@key{coverset}{cover}{\gdef\@cover{#1}}
+\define@key{coverset}{cover.pattern}{\gdef\@coverpattern{#1}}
+\def\coverset#1{
+ \setkeys{coverset}{#1}
+ \ifcsname @covercolor\endcsname
+ \relax
+ \else
+ \gdef\@covercolor{DarkSlateGray}
+ \fi
}
-\NewDocumentCommand\cover{ o m }{
- \IfValueT{#1}{\gdef\@coverpattern{#1}}
- \gdef\@cover{#2}}
-\RenewDocumentCommand\maketitle{O{MidnightBlue}}{
+
+\renewcommand*\maketitle{
\begin{titlepage}
- \newgeometry{margin=0in}\newpagecolor{#1!15}
+ \newgeometry{margin=0in}
+ \newpagecolor{\@covercolor!15}
+ \gdef\@covercolor{DarkSlateGray}
\tikz[remember picture,overlay]{
- \ifcsname @coverhead\endcsname
- \node [rotate=\@coverheadrotate] at ($(current page.center)+(0,.35*\paperheight)$) {\includegraphics[width=\paperwidth]{\@coverhead}};
- \fi
\fill [white,opacity=.5] ($(current page.south west)+(.2*\paperwidth,.6*\paperheight)$) rectangle (current page.south east);
\fill [white,opacity=.5] ($(current page.south west)+(.3*\paperwidth,.7*\paperheight)$) rectangle (current page.south east);
- \ifcsname @cover\endcsname
- \node [opacity=.5] at ($(current page.south west)+(.65*\paperwidth,.3*\paperheight)$) {\includegraphics[height=.3\paperheight]{\@cover}};
- \ifcsname @coverpattern\endcsname
- \fill [pattern=\@coverpattern,pattern color=#1!15!white!25] ($(current page.south west)+(.3*\paperwidth,0)$) rectangle ++ (.7*\paperwidth,.6\paperheight);
- \fi\fi
\node [darkgray] at ($(current page.south west)+(.65*\paperwidth,.65*\paperheight)$) {\Huge\bfseries\@title};
\ifcsname @subtitle\endcsname
\node [rotate=90,gray,opacity=.6] at ($(current page.south west)+(.25*\paperwidth,.3*\paperheight)$) {\huge\bfseries\@subtitle};
\fi
\ifcsname @bioinfo\endcsname
\node [gray,opacity=.4] at ($(current page.south)+(.15*\paperwidth,.075*\paperheight)$) {\large\@bioinfo};
- \fi}
+ \fi
+ \ifcsname @coverhead\endcsname
+ \ifcsname @coverheadrotate\endcsname
+ \relax
+ \else
+ \gdef\@coverheadrotate{0}
+ \fi
+ \node [rotate=\@coverheadrotate] at ($(current page.center)+(0,.35*\paperheight)$) {\includegraphics[width=\paperwidth]{\@coverhead}};
+ \fi
+ \ifcsname @cover\endcsname
+ \node (@cover) at ($(current page.south west)+(.65*\paperwidth,.3*\paperheight)$) {\includegraphics[height=.3\paperheight]{\@cover}};
+ \ifcsname @coverpattern\endcsname
+ \fill [scope fading=south,pattern=\@coverpattern,pattern color=\@covercolor!15!white!25] (@cover.south west) rectangle (@cover.north east);
+ \fi\fi}
\end{titlepage}
- \restoregeometry\restorepagecolor
+ \restoregeometry
+ \restorepagecolor
\if@twoside
\clearpage%
- \newpagecolor{#1!15!white!50}
+ \newpagecolor{\@covercolor!15!white!25}
\thispagestyle{empty}%
\null\clearpage
- \fi\restorepagecolor
+ \fi
+ \restorepagecolor
}
\RequirePackage{tocloft}
\setlength{\cftbeforetoctitleskip}{6\p@}
\setlength{\cftaftertoctitleskip}{24\p@}
-\setlength{\cftbeforesecskip}{3\p@}
-\def\contentsname{\sffamily\scshape\hfill Contents\hfill}
+\AddToHook{cmd/tableofcontents/before}{
+ \begingroup
+ \setstretch{1.5}
+}
+\AddToHook{cmd/tableofcontents/after}{\endgroup}
+\renewcommand\contentsname{\sffamily\scshape Contents}
\setcounter{tocdepth}{1}
\let\@chapapptmp\@chapapp
-\def\@chapapp{\textsc{\@chapapptmp}}
+\gdef\@chapapp{\textsc{\@chapapptmp}}
\def\chapterimage#1{\gdef\@chapterimage{#1}}
-\def\HUGE{\@setfontsize\HUGE{30}{40}}
\def\@makechapterhead#1{%
\def\thesection{\arabic{chapter}.\arabic{section}}
\def\theproblem{\thechapter.\arabic{problem}}
@@ -194,8 +214,8 @@
\fi
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
- \parbox{6em}
- {\centering\HUGE\normalfont\bfseries\textcolor{darkgray}\thechapter\vskip4\p@\normalsize\bfseries\textcolor{darkgray}{\bfseries\sffamily\@chapapp}}%
+ \parbox{6em}
+ {\centering\@setfontsize\HUGE{30}{40}\normalfont\bfseries\textcolor{darkgray}\thechapter\vskip4\p@\normalsize\bfseries\textcolor{darkgray}{\bfseries\sffamily\@chapapp}}%
\fi
\fi
\interlinepenalty\@M\hspace*{3ex}
@@ -203,20 +223,20 @@
\vskip 36\p@
}}
\def\@makeschapterhead#1{%
- \def\thesection{\arabic{section}}
- \def\theproblem{\arabic{problem}}
- \setcounter{section}{0}
- \setcounter{problem}{0}
- {\centering
- \ifcsname @chapterimage\endcsname
- \@chapterimage
- \fi\vskip-40\p@
- \parindent \z@ \normalfont
- \interlinepenalty\@M
- \huge \bfseries #1\par\nobreak
- \vskip 28\p@}}
+\def\thesection{\arabic{section}}
+\def\theproblem{\arabic{problem}}
+\setcounter{section}{0}
+\setcounter{problem}{0}
+{\centering
+\ifcsname @chapterimage\endcsname
+ \@chapterimage
+\fi\vskip-40\p@
+ \parindent \z@ \normalfont
+ \interlinepenalty\@M
+ \huge \bfseries #1\par\nobreak
+ \vskip 28\p@}}
\let\cleardoublepage=\clearpage
-\renewcommand*{\cleardoublepage}{\clearpage\if@twoside \ifodd\c@page\else
+\renewcommand*\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
\ifnum \thechapter=0
\vspace*{\fill}
{\centering\itshape\Large This page was intentionally left blank.\par}
@@ -231,27 +251,38 @@
\RequirePackage{fancyhdr}
\pagestyle{fancy}
- \let\oldheadrule\headrule
- \renewcommand{\headrule}{{\color{gray}\oldheadrule}}
- \renewcommand{\headrulewidth}{1pt}
- \if@twoside\cfoot{}
- \fancyhead[OL]{\color{darkgray}\nouppercase\leftmark}
- \fancyhead[OR]{\color{darkgray}\sffamily\thepage}
- \fancyhead[ER]{\color{darkgray}\nouppercase\rightmark}
- \fancyhead[EL]{\color{darkgray}\sffamily\thepage}
- \else
- \fancyhead[L]{\color{darkgray}\nouppercase\leftmark}
- \fancyhead[R]{\color{darkgray}\nouppercase\rightmark}
- \cfoot{\color{darkgray}\sffamily\thepage}
- \fi
- \setlength{\headheight}{14pt}
+\let\oldheadrule\headrule
+\renewcommand{\headrule}{{\color{gray}\oldheadrule}}
+\renewcommand{\headrulewidth}{1pt}
+\fancyfoot[L]{\footnotesize\fbox{Unauthorized copying or reuse of any part of this page is illegal}}
+\fancyfoot[OR]{\sffamily\bfseries GO ON TO THE NEXT PAGE}
+\if@twoside\cfoot{}
+ \fancyhead[OL]{\color{darkgray}\nouppercase\leftmark}
+ \fancyhead[OR]{\color{darkgray}\sffamily\thepage}
+ \fancyhead[ER]{\color{darkgray}\nouppercase\rightmark}
+ \fancyhead[EL]{\color{darkgray}\sffamily\thepage}
+\else
+ \fancyhead[L]{\color{darkgray}\nouppercase\leftmark}
+ \fancyhead[R]{\color{darkgray}\nouppercase\rightmark}
+ \cfoot{\color{darkgray}\sffamily\thepage}
+\fi
+\RequirePackage{amsthm}
+\renewcommand\qedsymbol{$\color{gray}\blacksquare$}
\theoremstyle{definition}
\newtheorem{problem}{\color{DarkGreen}\faIcon{pen-square}~\textsc{\textsf{Problem}}}[chapter]
\newtheorem*{solution}{\color{MidnightBlue}\faIcon{check-square}~\textsc{\textsf{Solution}}}
\newtheorem*{scratch}{\color{MidnightBlue}\faIcon{check-square}~\textsc{\textsf{Scratch}}}
\newtheorem*{note}{\color{DarkRed}\faIcon{info-circle}~\textsc{\textsf{Note}}}
-\RequirePackage{comment}
+\RequirePackage{comment,ulem,soul}
+\ifxetex
+ \RequirePackage{xeCJKfntef}
+ \def\@emph#1{\CJKsout*[thickness=2.5ex, format=\color{\@covercolor!15}]{#1}}
+ \def\s@emph#1{\CJKunderwave{#1}}
+\else
+ \def\@emph#1{\sethlcolor{\@covercolor!15}\hl{#1}}
+ \def\s@emph#1{\uwave{#1}}
+\fi
\ifdefstring{\LITE@answer}{hideanswer}{%
\def\ans#1{\underline{\phantom{#1}}}
\def\choiceans#1{\phantom{#1}}
@@ -261,6 +292,7 @@
\excludecomment{solution}\excludecomment{note}
\let\endsolution\relax\let\endnote\relax}
\def\true{\addtocounter{task}{1}\thetask}
+ \DeclareRobustCommand\emph{\@ifstar\s@emph\s@emph}
}{
\def\ans#1{\underline{~#1~}}
\def\s@solute#1{\relax}\def\@solute#1{\relax}
@@ -268,6 +300,7 @@
\excludecomment{scratch}
\let\endscratch\relax}
\def\true{\addtocounter{task}{1}\faIcon{check-circle}}
+ \DeclareRobustCommand\emph{\@ifstar\s@emph\@emph}
}
\DeclareRobustCommand\solute{\@ifstar\s@solute\@solute}
%%
diff --git a/macros/latex/contrib/lni/CHANGELOG.md b/macros/latex/contrib/lni/CHANGELOG.md
index 84bff5fcc6..377ce68c43 100644
--- a/macros/latex/contrib/lni/CHANGELOG.md
+++ b/macros/latex/contrib/lni/CHANGELOG.md
@@ -6,6 +6,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
## [Unreleased]
+## [1.10] - 2024-07-23
+### Changed
+- Footnotes are set as superscripts in the footer
+- URLs are set using the text font instead of a typewriter font
+
+### Fixed
+- Support for multiple affiliations (#173)
+
+## [1.9] - 2024-07-01
+### Added
+- Support for multiple affiliations (#158)
+
## [1.8.1] - 2024-01-08
### Changed
@@ -167,7 +179,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
First release of the revised files
-[Unreleased]: https://github.com/gi-ev/LNI/compare/v1.8.1...HEAD
+[Unreleased]: https://github.com/gi-ev/LNI/compare/v1.10...HEAD
+[1.10]: https://github.com/gi-ev/LNI/compare/v1.9...v1.10
+[1.9]: https://github.com/gi-ev/LNI/compare/v1.8.1...v1.9
[1.8.1]: https://github.com/gi-ev/LNI/compare/v1.8...v1.8.1
[1.8]: https://github.com/gi-ev/LNI/compare/v1.7...v1.8
[1.7]: https://github.com/gi-ev/LNI/compare/v1.6...v1.7
diff --git a/macros/latex/contrib/lni/README.md b/macros/latex/contrib/lni/README.md
index 31fbf3da10..9935391e3b 100644
--- a/macros/latex/contrib/lni/README.md
+++ b/macros/latex/contrib/lni/README.md
@@ -4,7 +4,7 @@
----------------------------------------------------------------------------
lni -- A class for submissions to the ``Lecture Notes in Informatics''
(c) 2016-2024 Gesellschaft für Informatik (GI)
-Version: 1.8.1
+Version: 1.10
Maintainer: Martin Sievers
Email: martin.sievers@schoenerpublizieren.de
License: Released under the LaTeX Project Public License v1.3c or later
diff --git a/macros/latex/contrib/lni/lni-author-template.tex b/macros/latex/contrib/lni/lni-author-template.tex
index 411fea056a..9a39a2d585 100644
--- a/macros/latex/contrib/lni/lni-author-template.tex
+++ b/macros/latex/contrib/lni/lni-author-template.tex
@@ -19,12 +19,13 @@
\title[Ein Kurztitel]{Ein sehr langer Titel über mehrere Zeilen mit sehr vielen
Worten und noch mehr Buchstaben}
%% \subtitle{Untertitel / Subtitle} % if needed
-\author[1]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000}
-\author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000}
-\author[1]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000}
-\author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}%
-\affil[1]{Universität\\Abteilung\\Straße\\Postleitzahl Ort\\Land}
-\affil[2]{University\\Department\\Address\\Country}
+ \author[1,2]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000}
+ \author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000}
+ \author[3]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000}
+ \author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}%
+ \affil[1]{Universität 1\\Abteilung\\Straße\\Postleitzahl Ort\\Land}
+ \affil[2]{University 2 \\Department\\Address\\Country}
+ \affil[3]{University 3\\Department\\Address\\Country}
\maketitle
\begin{abstract}
diff --git a/macros/latex/contrib/lni/lni.dtx b/macros/latex/contrib/lni/lni.dtx
index 20261238d4..b5699cbac6 100644
--- a/macros/latex/contrib/lni/lni.dtx
+++ b/macros/latex/contrib/lni/lni.dtx
@@ -134,7 +134,7 @@ This work consists of the file lni.dtx
%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<class>\ProvidesClass{lni}
%<*class>
- [2024/01/08 v1.8.1 Official class for submissions to the ``Lecture Notes
+ [2024/07/23 v1.10 Official class for submissions to the ``Lecture Notes
in Informatics'']
%</class>
%<*driver>
@@ -286,6 +286,9 @@ This work consists of the file lni.dtx
% \changes{v1.8}{2022/06/10}{Fix output error in bst files (#97)}
% \changes{v1.8}{2022/11/25}{Make class compatable with latest publisher requirements (#121)}
% \changes{v1.8}{2022/11/25}{Make usage of `hyperref` mandatory (#131)}
+% \changes{v1.9}{2024/07/01}{Support multiple affiliations (#158)}
+% \changes{v1.10}{2024/07/01}{Change font for URLs to text font and change footnote numbers to superscript}
+% \changes{v1.10}{2024/07/23}{Fix support multiple affiliations (#173)}
%
% \GetFileInfo{\jobname.dtx}
% \DoNotIndex{\newcommand,\newenvironment}
@@ -489,12 +492,13 @@ This work consists of the file lni.dtx
% \cs{affil\oarg{number}\marg{information}} where you can use
% \texttt{\textbackslash\textbackslash} to split the address.
% \begin{examplecode}[label={lst:author}]
-% \author[1]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000}
+% \author[1,2]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000}
% \author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000}
-% \author[1]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000}
+% \author[3]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000}
% \author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}%
-% \affil[1]{Universität\\Abteilung\\Straße\\Postleitzahl Ort\\Land}
-% \affil[2]{University\\Department\\Address\\Country}
+% \affil[1]{Universität 1\\Abteilung\\Straße\\Postleitzahl Ort\\Land}
+% \affil[2]{University 2 \\Department\\Address\\Country}
+% \affil[3]{University 3\\Department\\Address\\Country}
% \end{examplecode}
%
% Leave the third and/or fourth argument empty if there is no email address and/or ORCID iD.
@@ -1044,7 +1048,7 @@ This work consists of the file lni.dtx
\RequirePackage[hang]{footmisc}
\setlength{\footnotemargin}{1em}
\long\def\@makefntext#1{%
- \def\@makefnmark{\rlap{\normalfont\@thefnmark}}%
+ \def\@makefnmark{\rlap{\normalfont\textsuperscript{\@thefnmark}}}%
\ifFN@hangfoot
\bgroup
\setbox\@tempboxa\hbox{%
@@ -1149,53 +1153,71 @@ This work consists of the file lni.dtx
\renewcommand\Authsep{, }
\renewcommand\Authands{\iflanguage{ngerman}{ und }{, and }}
\renewcommand\Authand{\iflanguage{ngerman}{ und }{ and }}
-\renewcommand{\AB@authnote}[1]{$^{\text{\mbox{\normalfont\footnotesize #1}}}$}
+\NewDocumentCommand{\multiaffil}{ >{\SplitList{,}} m m m}{%
+ \gdef\@currEmail{#2}
+ \gdef\@currOrcid{#3}
+ \ProcessList{#1}{\@multiaffil}
+}
+
+\newcommand{\@multiaffil}[1]{%
+ \ifcsundef{@emailsandorcids#1}{\csgdef{@emailsandorcids#1}{}}{}%
+ \ifcsempty{@emailsandorcids#1}%
+ {\protected@csxappto{@emailsandorcids#1}{%
+ \if\relax\@currEmail\relax\else\email{\@currEmail}\fi\if\relax\@currOrcid\relax\else,\ \orcid{\@currOrcid}\fi}}%
+ {\protected@csxappto{@emailsandorcids#1}{%
+ \if\relax\@currEmail\relax\else;\ \email{\@currEmail}\fi\if\relax\@currOrcid\relax\else,\ \orcid{\@currOrcid}\fi}}%
+}
+
\renewcommand\author[4][]{%
\ifnewaffil\addtocounter{affil}{1}%
\edef\AB@thenote{\arabic{affil}}%
\fi%
\if\relax#1\relax\def\AB@note{\AB@thenote}\else\def\AB@note{#1}%
- \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}%
\setcounter{Maxaffil}{0}\fi
\ifnum\value{authors}=0\def\@firstauthor{#2}\fi
\ifnum\value{authors}>1\relax
- \@namedef{@sep\number\c@authors}{\Authsep}\fi
+ \@namedef{@sep\number\c@authors}{\Authsep}\fi
\addtocounter{authors}{1}%
\begingroup
- \let\protect\@unexpandable@protect \let\and\AB@pand
- \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
- \@temptokena=\expandafter{\AB@authors}%
- \@temptokenb=\expandafter{\AB@authors}%
- {\def\\{\protect\\[\@affilsep]\protect\Affilfont
- \protect\AB@resetsep}%
- \xdef\AB@author{\AB@blk@and#2}%
- \ifnewaffil\gdef\AB@las{}\gdef\AB@lasx{\protect\Authand}\gdef\AB@as{}%
- \xdef\AB@authors{\the\@temptokena\AB@blk@and}%
- \else
- \xdef\AB@authors{\the\@temptokena\AB@as\AB@au@str}%
- \global\let\AB@las\AB@lasx\gdef\AB@lasx{\protect\Authands}%
- \gdef\AB@as{\Authsep}%
- \fi
- \gdef\AB@au@str{#2}}%
- \@temptokena=\expandafter{\AB@authlist}%
- \@temptokenb=\expandafter{\@authlisthead}%
- \let\\=\authorcr
- \xdef\AB@authlist{\the\@temptokena
- \protect\@nameuse{@sep\number\c@authors}%
- \protect\Authfont#2\if\relax#4\relax\else\,\orcidlink{#4}\fi\AB@authnote{\AB@note}}%
- \xdef\@authlisthead{\the\@temptokenb
- \protect\@nameuse{@sep\number\c@authors}%
- \protect\Authfont#2}%
+ \let\protect\@unexpandable@protect \let\and\AB@pand
+ \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
+ \@temptokena=\expandafter{\AB@authors}%
+ \@temptokenb=\expandafter{\AB@authors}%
+ {\def\\{\protect\\[\@affilsep]\protect\Affilfont
+ \protect\AB@resetsep}%
+ \xdef\AB@author{\AB@blk@and#2}%
+ \ifnewaffil\gdef\AB@las{}\gdef\AB@lasx{\protect\Authand}\gdef\AB@as{}%
+ \xdef\AB@authors{\the\@temptokena\AB@blk@and}%
+ \else
+ \xdef\AB@authors{\the\@temptokena\AB@as\AB@au@str}%
+ \global\let\AB@las\AB@lasx\gdef\AB@lasx{\protect\Authands}%
+ \gdef\AB@as{\Authsep}%
+ \fi
+ \gdef\AB@au@str{#2}}%
+ \@temptokena=\expandafter{\AB@authlist}%
+ \@temptokenb=\expandafter{\@authlisthead}%
+ \let\\=\authorcr
+ \xdef\AB@authlist{\the\@temptokena
+ \protect\@nameuse{@sep\number\c@authors}%
+ \protect\Authfont#2\if\relax#4\relax\else\,\orcidlink{#4}\fi\AB@authnote{\AB@note}}%
+ \xdef\@authlisthead{\the\@temptokenb
+ \protect\@nameuse{@sep\number\c@authors}%
+ \protect\Authfont#2}%
\endgroup
\ifnum\value{authors}>2\relax
\@namedef{@sep\number\c@authors}{\Authands}\fi
+ \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}%
+ \sbox\z@{\@tempcnta=0#1\relax}%
+ \expandafter\ifdim\wd\z@>\z@\relax
+ \multiaffil{#1}{#3}{#4}
+ \else
+ \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}%
\ifcsempty{@emailsandorcids\AB@note}%
{\csgappto{@emailsandorcids\AB@note}{%
- \if\relax#3\relax\else\email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}%
- }%
+ \if\relax#3\relax\else\email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}}%
{\csgappto{@emailsandorcids\AB@note}{%
\if\relax#3\relax\else;\ \email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}}%
-
+ \fi%
\newaffilfalse
}
\renewcommand\@author{%
@@ -1529,6 +1551,7 @@ This work consists of the file lni.dtx
% \end{macrocode}
% \begin{macrocode}
\RequirePackage{url}
+\urlstyle{same}
% \end{macrocode}
% improve wrapping of URLs - hint by http://tex.stackexchange.com/a/10419/9075
% \begin{macrocode}
@@ -3071,12 +3094,13 @@ EXECUTE {end.bib}
\title[Ein Kurztitel]{Ein sehr langer Titel über mehrere Zeilen mit sehr vielen
Worten und noch mehr Buchstaben}
%% \subtitle{Untertitel / Subtitle} % if needed
-\author[1]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000}
-\author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000}
-\author[1]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000}
-\author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}%
-\affil[1]{Universität\\Abteilung\\Straße\\Postleitzahl Ort\\Land}
-\affil[2]{University\\Department\\Address\\Country}
+ \author[1,2]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000}
+ \author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000}
+ \author[3]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000}
+ \author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}%
+ \affil[1]{Universität 1\\Abteilung\\Straße\\Postleitzahl Ort\\Land}
+ \affil[2]{University 2 \\Department\\Address\\Country}
+ \affil[3]{University 3\\Department\\Address\\Country}
\maketitle
\begin{abstract}
diff --git a/macros/latex/contrib/lni/lni.pdf b/macros/latex/contrib/lni/lni.pdf
index ae032bd25b..b79a12a091 100644
--- a/macros/latex/contrib/lni/lni.pdf
+++ b/macros/latex/contrib/lni/lni.pdf
Binary files differ
diff --git a/macros/latex/contrib/lstaddons/README b/macros/latex/contrib/lstaddons/README.txt
index 7306f47deb..04cca2d309 100644
--- a/macros/latex/contrib/lstaddons/README
+++ b/macros/latex/contrib/lstaddons/README.txt
@@ -1,8 +1,8 @@
LaTeX bundle 'lstaddons'
~~~~~~~~~~~~~~~~~~~~~~~~
-Copyright (c) 2011-2012 by Martin Scharrer <martin@scharrer-online.de>
+Copyright (c) 2011-2022 by Martin Scharrer <martin.scharrer@web.de>
CTAN: http://www.ctan.org/pkg/lstaddons
-Code repository: https://bitbucket.org/martin_scharrer/lstaddons
+Code repository: https://github.com/MartinScharrer/lstaddons/
This bundle contains a small collections of add-on packages for
the 'listings' package.
diff --git a/macros/latex/contrib/lstaddons/lstautogobble.dtx b/macros/latex/contrib/lstaddons/lstautogobble.dtx
index f9d62cf8d3..106034b6bb 100644
--- a/macros/latex/contrib/lstaddons/lstautogobble.dtx
+++ b/macros/latex/contrib/lstaddons/lstautogobble.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%<=*COPYRIGHT>
-%% Copyright (C) 2011-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% Copyright (c) 2011-2022 by Martin Scharrer <martin.scharrer@web.de>
%% -----------------------------------------------------------------------
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -69,9 +69,9 @@
%
% \GetFileInfo{lstautogobble.dtx}
% \author{Martin Scharrer}
-% \email{martin@scharrer-online.de}
+% \email{martin.scharrer@web.de}
% \ifdefined\repository
-% \repository{https://bitbucket.org/martin_scharrer/lstautogobble}
+% \repository{https://github.com/MartinScharrer/lstaddons/}
% \fi
%
% \maketitle
diff --git a/macros/latex/contrib/lstaddons/lstautogobble.pdf b/macros/latex/contrib/lstaddons/lstautogobble.pdf
index 5321a97319..f054ba6597 100644
--- a/macros/latex/contrib/lstaddons/lstautogobble.pdf
+++ b/macros/latex/contrib/lstaddons/lstautogobble.pdf
Binary files differ
diff --git a/macros/latex/contrib/lstaddons/lstlinebgrd.dtx b/macros/latex/contrib/lstaddons/lstlinebgrd.dtx
index 860e6b6e81..705ffd19a7 100644
--- a/macros/latex/contrib/lstaddons/lstlinebgrd.dtx
+++ b/macros/latex/contrib/lstaddons/lstlinebgrd.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%<=*COPYRIGHT>
-%% Copyright (C) 2011-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% Copyright (c) 2011-2024 by Martin Scharrer <martin.scharrer@web.de>
%% ----------------------------------------------------------------------
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -24,10 +24,10 @@
%<*driver>
\ProvidesFile{lstlinebgrd.dtx}[%
%<=*DATE>
- 2012/05/03
+ 2014/08/18
%<=/DATE>
%<=*VERSION>
- v0.1
+ v0.2
%<=/VERSION>
DTX file for 'lstlinebgrd']
\documentclass{ydoc}
@@ -73,14 +73,15 @@
%
% \changes{v0.1}{2012/05/03}{Initial release.}
+% \changes{v0.2}{2024/08/18}{Updated internal separator.}
%
% \DoNotIndex{\newcommand,\newenvironment}
%
% \GetFileInfo{lstlinebgrd.dtx}
% \author{Martin Scharrer}
-% \email{martin@scharrer-online.de}
+% \email{martin.scharrer@web.de}
% \ifdefined\repository
-% \repository{https://bitbucket.org/martin_scharrer/lstlinebgrd}
+% \repository{https://github.com/MartinScharrer/lstaddons/}
% \fi
%
% \maketitle
@@ -238,10 +239,10 @@
\lst@Key{numbers}{none}{%
\def\lst@PlaceNumber{\lst@linebgrd}%
\lstKV@SwitchCases{#1}%
- {none&\\%
- left&\def\lst@PlaceNumber{\llap{\normalfont
+ {none:\\%
+ left:\def\lst@PlaceNumber{\llap{\normalfont
\lst@numberstyle{\thelstnumber}\kern\lst@numbersep}\lst@linebgrd}\\%
- right&\def\lst@PlaceNumber{\rlap{\normalfont
+ right:\def\lst@PlaceNumber{\rlap{\normalfont
\kern\linewidth \kern\lst@numbersep
\lst@numberstyle{\thelstnumber}}\lst@linebgrd}%
}{\PackageError{Listings}{Numbers #1 unknown}\@ehc}}
diff --git a/macros/latex/contrib/lstaddons/lstlinebgrd.pdf b/macros/latex/contrib/lstaddons/lstlinebgrd.pdf
index 55843f75a6..af15c644f5 100644
--- a/macros/latex/contrib/lstaddons/lstlinebgrd.pdf
+++ b/macros/latex/contrib/lstaddons/lstlinebgrd.pdf
Binary files differ
diff --git a/macros/latex/contrib/magicwatermark/README.md b/macros/latex/contrib/magicwatermark/README.md
index db59f622e8..39615d2bb4 100644
--- a/macros/latex/contrib/magicwatermark/README.md
+++ b/macros/latex/contrib/magicwatermark/README.md
@@ -3,6 +3,4 @@
- Repository: https://github.com/ljguo1020/magicwatermark
- License: The LaTeX Project Public License 1.3c
-> magicwatermark is a package based on everypage and tikz and encapsulated by LATEX3 İt can
-> flexibly set and clear watermarks. All watermark content is placed in inside a node of verbtikz and
-> in the center of the page.
+magicwatermark is based on tikz and expl3, and can flexibly set backgrounds or watermarks.
diff --git a/macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.pdf b/macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.pdf
new file mode 100644
index 0000000000..c43ac7ff92
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.tex b/macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.tex
new file mode 100644
index 0000000000..883f2b6808
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.tex
@@ -0,0 +1,373 @@
+\documentclass{article}
+
+\usepackage{lipsum}
+
+\usepackage{../magicwatermark}
+
+\usepackage[margin = 2.51828cm]{geometry}
+
+
+\def\pkgname{\textcolor{teal}{\texttt{magicwatermark}}}
+\usepackage{indentfirst}
+\pagestyle{empty}
+
+\usepackage[UTF8, scheme=plain, fontset=none, heading=true, zihao=-4]{ctex}
+\setCJKmainfont[BoldFont={LXGWWenKai-Bold},ItalicFont={LXGWWenKai-Light}]{LXGWWenKai-Regular}
+\setCJKsansfont[BoldFont={LXGWWenKai-Bold}]{LXGWWenKai-Regular}
+\setCJKmonofont[BoldFont={LXGWWenKaiMono-Bold},ItalicFont={LXGWWenKaiMono-Light}]{LXGWWenKaiMono-Regular}
+
+\ctexset{
+% chapter={
+% format+=\raggedright,
+% name = {第,部分},
+% afterskip = .5cm
+% },
+ section={
+ format+=\raggedright,
+ afterskip = .5cm
+ },
+ contentsname = {目次}
+}
+
+\usepackage{fontspec}
+\IfFontExistsTF{calibri.ttf}
+{
+ \setmainfont{calibri.ttf}[
+ BoldFont = calibrib.ttf,
+ ItalicFont = calibrii.ttf,
+ BoldItalicFont = calibriz.ttf
+ ]
+}
+{}
+
+\usepackage[listings,breakable]{tcolorbox}
+
+\ExplSyntaxOn
+\clist_new:N \l_function_variant_list %fuction variant list
+\NewDocumentCommand{\function}{svo} % #1:function name #2: variant list
+{
+ \IfBooleanTF{#1}
+ {
+ \IfNoValueTF{#3}
+ {
+ \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30]
+ \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2}\hfill \examplelabel*
+ \end{tcolorbox}
+ }
+ {
+ \clist_gset:Nn \l_function_variant_list {#3}
+ \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30]
+ \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2\textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})}} \hfill \examplelabel*
+ \end{tcolorbox}
+ }
+ }
+ {
+ \IfNoValueTF{#3}
+ {
+ \def\functionn{
+ \texttt{#2}
+ }
+ }
+ {
+ \clist_gset:Nn \l_function_variant_list {#3}
+ \def\functionn{
+ \texttt{
+ #2
+ \textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})}
+ }
+ }
+ }
+ }
+
+}
+\NewDocumentCommand{\examplelabel}{s}
+{
+ \IfBooleanTF{#1}{
+ \raisebox{-0.5ex}{
+ \tikz{
+ \node[ball~color=purple,circle,outer~sep=0pt,scale=0.5] {\phantom{2}};
+ }}
+ }{
+ \raisebox{-0.5ex}{
+ \tikz{
+ \node[ball~color=cyan,circle,outer~sep=0pt,scale=0.5,font=\bfseries] {\theexample};
+ }}
+ }
+}
+\ExplSyntaxOff
+\def\Triangle{ % triangle icon
+ \raisebox{-0.3ex}{
+ \tikz{
+ \fill[scale=2,outer sep=0pt] (240:0.5ex) -- (0:0.5ex) -- (120:0.5ex);
+ }
+}}
+\newcounter{example}
+\tcbset{
+ example style/.style={
+ sharp corners,
+ colback=white,
+ boxrule=.5pt,
+ breakable,
+ left=1mm,right=1mm,top=1mm,bottom=1mm,
+ fonttitle=\bfseries,
+ colbacktitle=lime!30,
+ coltitle=black,
+ % title={MagicWatermark},
+ listing only
+ }
+}
+
+\newtcblisting[use counter=example]{example}[1][]{
+ listing options={
+ style=tcblatex,
+ tabsize = 1,
+ language={[LaTeX]TeX},
+ classoffset=0,
+ morekeywords = {MagicWatermark, foreach, includegraphics},
+ keywordstyle={\color[RGB]{178,34,34}\bfseries},
+ commentstyle={\color[RGB]{102,205,170}\itshape},
+ classoffset=1,
+ morekeywords = {setup, pages, content, is, append, style},
+ keywordstyle=\color{cyan!50!green}\bfseries,
+ },
+ example style,
+ #1
+ }
+
+
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ },
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ },
+ setup = {
+ pages = {1},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large\linespread{1}\selectfont, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+
+
+\def\opt#1{\textcolor{magenta}{\texttt{#1}}}
+\def\para#1{\textcolor[rgb]{0.13, 0.67, 0.8}{\texttt{#1}}}
+
+\usepackage[hidelinks]{hyperref}
+\begin{document}
+
+
+\vspace*{\fill}
+\begin{center}
+ {\Huge \textcolor{teal}{\texttt{magicwatermark}} 宏包\footnote{\url{https://github.com/ljguo1020/magicwatermark}}} \\[.5cm]
+ {\Large 郭李军<ljguo1020@gmail.com>} \\[.5cm]
+ {\Large V1.2B}\\[1cm]
+\begin{example}[]
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ },
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ },
+ setup = {
+ pages = {1},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+\end{example}
+\end{center}
+
+\vspace*{\fill}
+
+\newpage
+
+
+\linespread{1.3}\selectfont
+\tableofcontents
+
+\section{介绍}
+
+\pkgname{} 是一个全新的水印宏包, 在 2022 年 6 月 17 日发布了第一版, 本次更新并不是基于第一版, 而是进行了重构.
+
+\pkgname{} 基于 \texttt{tikz} 和 \texttt{expl3}, 可以灵活的设置背景或水印.
+
+\section{使用}
+\pkgname{} 的使用, 相比于其它同类功能的包来说, 可以说是易用性最高的, 它只提供了一个命令 \verb|\MagicWatermark|, 命令参数由多个 \opt{setup} 规则组成.
+\begin{example}[]
+\MagicWatermark{
+ setup = {},
+ setup = {},
+ ...
+}
+\end{example}
+
+\opt{setup} 内部接受四个键值选项, 用于配置水印的表现形式.
+
+\subsection{pages}
+\opt{pages} 接受一个逗号分割列表, 用于配置水印作用范围, 例如 \verb|pages = {2, 4, 5, 8-10}|, 表示选中页码为第 2, 4, 5, 8, 9, 10 这些页面.
+
+\opt{pages} 共接受 4 种配置规则,
+\begin{itemize}
+ \item \para{*}, 表示所有页面;
+ \item \para{odd} 和 \para{oven}, 表示奇偶页;
+ \item 范围, 形如 \para{3-5}, \para{12-ii};
+ \item 表达式, 形如 \para{2X+1}, \para{2X\^{}2+X+1}, 但是变量必须为 \para{X}.
+\end{itemize}
+
+这里假定页面总页数为 24 页,
+\begin{example}[title = pages 配置规则]
+pages = {*} => 1, 2, 3, ..., 24
+pages = {odd} => 1, 3, 5, ..., 23
+pages = {1, 3, 5-10} => 1, 3, 5, 6, 7, ..., 10
+pages = {1-5, 8, 20-ii} => 1, 2, ..., 5, 8, 20, 21, ..., 23
+pages = {3X + 1} => 1, 4, 7, 10, ..., 22
+\end{example}
+
+\subsection{tikz}
+\opt{tikz} 用于设置是否将水印内容放置在 \texttt{tikz} 的 \texttt{node} 中, 见下文, 可选值为 \para{true} 和 \para{false}, 默认为 \para{true}. 当你需要使用 \opt{tikz} 时, 需要手动加载 \texttt{tikz} 宏包.
+
+\subsection{content}
+\opt{content} 用来设置水印的内容, 当 \opt{tikz} 被启用时, 它被放在了 \texttt{tikz} 的 \texttt{node} 中, 为此, 想要灵活的设置它, 您需要对 \texttt{node} 有一些了解.
+
+\subsection{style}
+\opt{style} 用于设置容纳水印内容的 \texttt{node} 的样式, 默认为 \para{inner~sep = 0pt, outer~sep = 0pt, opacity = .5, align = left}, 当 \opt{tikz} 被禁用时, 它会被忽略.
+
+\subsection{is append}
+\opt{is append} 用于设置是否覆盖当前页已有的水印, 可选值为 \para{true} 和 \para{false}, 默认为 \para{false}.
+
+\section{使用案例}
+\begin{example}[title = 为所有页面右上角添加页码]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ }
+}
+\end{example}
+
+\begin{example}[title = 为偶数页页面中心添加文字 Watermark]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ }
+}
+\end{example}
+
+\begin{example}[title = 为第二页到最后一页设置铺满整个页面的文字]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {2-i},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+\end{example}
+
+\begin{example}[title = 为奇偶页设置不同水印]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {scale = 8, rotate = 45, text=red, align = center,font = \linespread{2}\selectfont},
+ content = {
+ Even MagicWatermark\\
+ Even MagicWatermark\\
+ Even MagicWatermark\\
+ Even MagicWatermark
+ }
+ },
+ setup = {
+ pages = {odd},
+ style = {scale = 6, rotate = -45, text = cyan, text width = 1.7\paperwidth, font = \linespread{1.5}\selectfont, align = center},
+ content = {
+ \foreach \x in {0,...,5}{
+ Odd MagicWatermark
+ }
+ }
+ }
+}
+\end{example}
+
+\begin{example}[title = 设置图片为水印]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {opacity = 0.3},
+ content = {
+ \includegraphics{example-image-a}
+ }
+ },
+ setup = {
+ pages = {odd},
+ style = {opacity = .3, rotate=45, text width = 3\paperwidth},
+ content = {
+ \foreach \x in {0, ..., 20}{
+ \foreach \y in {1, 2, 3} {
+ \includegraphics{example-image-b}
+ } \\
+ }
+ }
+ }
+}
+\end{example}
+
+\begin{example}[title = 禁用 tikz]
+\def\addhead#1#2{%
+ \expandafter\gdef\csname head@content@#1\endcsname{#2}%
+}
+
+\def\printhead#1{%
+ \csname head@content@#1\endcsname%
+}
+
+\addhead{2}{The only way to do great work is to love what you do.}
+\addhead{3}{Success is not final, failure is not fatal: It is the courage to continue that counts.}
+\addhead{4}{In the end, we will remember not the words of our enemies, but the silence of our friends.}
+\addhead{5}{It does not matter how slowly you go as long as you do not stop.}
+
+\NewDocumentCommand{\mywatermark}{}{%
+ \begin{tikzpicture}[remember picture, overlay]
+ \node[yshift = -\headheight - \headsep, text = teal, font = \large] at (current page.north) {\printhead{\thepage}};
+ \end{tikzpicture}
+}
+
+\MagicWatermark{
+ setup = {
+ pages = {2-5},
+ tikz = false,
+ content = \mywatermark
+ }
+}
+\end{example}
+
+
+\end{document}
diff --git a/macros/latex/contrib/magicwatermark/doc/magicwatermark-en.pdf b/macros/latex/contrib/magicwatermark/doc/magicwatermark-en.pdf
new file mode 100644
index 0000000000..30b84bd6cd
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/doc/magicwatermark-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/magicwatermark/doc/magicwatermark-en.tex b/macros/latex/contrib/magicwatermark/doc/magicwatermark-en.tex
new file mode 100644
index 0000000000..e6520fa330
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/doc/magicwatermark-en.tex
@@ -0,0 +1,400 @@
+\documentclass{article}
+
+\usepackage{lipsum}
+
+\usepackage{../magicwatermark}
+
+\usepackage[margin = 2.51828cm]{geometry}
+
+
+\def\pkgname{\textcolor{teal}{\texttt{magicwatermark}}}
+\usepackage{indentfirst}
+\pagestyle{empty}
+
+\usepackage[UTF8, scheme=plain, fontset=none, heading=true, zihao=-4]{ctex}
+%\setCJKmainfont[BoldFont={LXGWWenKai-Bold},ItalicFont={LXGWWenKai-Light}]{LXGWWenKai-Regular}
+%\setCJKsansfont[BoldFont={LXGWWenKai-Bold}]{LXGWWenKai-Regular}
+%\setCJKmonofont[BoldFont={LXGWWenKaiMono-Bold},ItalicFont={LXGWWenKaiMono-Light}]{LXGWWenKaiMono-Regular}
+
+\ctexset{
+% chapter={
+% format+=\raggedright,
+% name = {第,部分},
+% afterskip = .5cm
+% },
+ section={
+ format+=\raggedright,
+ afterskip = .5cm
+ },
+ contentsname = {Table of contents}
+}
+
+\usepackage{fontspec}
+\IfFontExistsTF{calibri.ttf}
+{
+ \setmainfont{calibri.ttf}[
+ BoldFont = calibrib.ttf,
+ ItalicFont = calibrii.ttf,
+ BoldItalicFont = calibriz.ttf
+ ]
+}
+{}
+
+\newcommand\blfootnote[1]{
+ \begingroup
+ \renewcommand\thefootnote{}\footnote{#1}
+ \addtocounter{footnote}{-1}
+ \endgroup
+}
+
+\usepackage[listings,breakable]{tcolorbox}
+
+\ExplSyntaxOn
+\clist_new:N \l_function_variant_list %fuction variant list
+\NewDocumentCommand{\function}{svo} % #1:function name #2: variant list
+{
+ \IfBooleanTF{#1}
+ {
+ \IfNoValueTF{#3}
+ {
+ \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30]
+ \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2}\hfill \examplelabel*
+ \end{tcolorbox}
+ }
+ {
+ \clist_gset:Nn \l_function_variant_list {#3}
+ \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30]
+ \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2\textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})}} \hfill \examplelabel*
+ \end{tcolorbox}
+ }
+ }
+ {
+ \IfNoValueTF{#3}
+ {
+ \def\functionn{
+ \texttt{#2}
+ }
+ }
+ {
+ \clist_gset:Nn \l_function_variant_list {#3}
+ \def\functionn{
+ \texttt{
+ #2
+ \textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})}
+ }
+ }
+ }
+ }
+
+}
+\NewDocumentCommand{\examplelabel}{s}
+{
+ \IfBooleanTF{#1}{
+ \raisebox{-0.5ex}{
+ \tikz{
+ \node[ball~color=purple,circle,outer~sep=0pt,scale=0.5] {\phantom{2}};
+ }}
+ }{
+ \raisebox{-0.5ex}{
+ \tikz{
+ \node[ball~color=cyan,circle,outer~sep=0pt,scale=0.5,font=\bfseries] {\theexample};
+ }}
+ }
+}
+\ExplSyntaxOff
+\def\Triangle{ % triangle icon
+ \raisebox{-0.3ex}{
+ \tikz{
+ \fill[scale=2,outer sep=0pt] (240:0.5ex) -- (0:0.5ex) -- (120:0.5ex);
+ }
+}}
+\newcounter{example}
+\tcbset{
+ example style/.style={
+ sharp corners,
+ colback=white,
+ boxrule=.5pt,
+ breakable,
+ left=1mm,right=1mm,top=1mm,bottom=1mm,
+ fonttitle=\bfseries,
+ colbacktitle=lime!30,
+ coltitle=black,
+ % title={MagicWatermark},
+ listing only
+ }
+}
+
+\newtcblisting[use counter=example]{example}[1][]{
+ listing options={
+ style=tcblatex,
+ tabsize = 1,
+ language={[LaTeX]TeX},
+ classoffset=0,
+ morekeywords = {MagicWatermark, foreach, includegraphics},
+ keywordstyle={\color[RGB]{178,34,34}\bfseries},
+ commentstyle={\color[RGB]{102,205,170}\itshape},
+ classoffset=1,
+ morekeywords = {setup, pages, content, is, append, style},
+ keywordstyle=\color{cyan!50!green}\bfseries,
+ },
+ example style,
+ #1
+ }
+
+
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ },
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ },
+ setup = {
+ pages = {1},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large\linespread{1}\selectfont, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+
+
+\def\opt#1{\textcolor{magenta}{\texttt{#1}}}
+\def\para#1{\textcolor[rgb]{0.13, 0.67, 0.8}{\texttt{#1}}}
+
+\usepackage[hidelinks]{hyperref}
+\begin{document}
+
+
+\vspace*{\fill}
+\begin{center}
+ {\Huge The \textcolor{teal}{\texttt{magicwatermark}}\footnote{\url{https://github.com/ljguo1020/magicwatermark}} package\blfootnote{English version of the documentation by Jérémy Just <\url{jeremy@jejust.fr}>.}} \\[.5cm]
+ {\Large Guo Li Jun <ljguo1020@gmail.com>} \\[.5cm]
+ {\Large V1.2B}\\[1cm]
+\begin{example}[]
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ },
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ },
+ setup = {
+ pages = {1},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+\end{example}
+\end{center}
+
+\vspace*{\fill}
+
+\newpage
+
+
+\linespread{1.3}\selectfont
+\tableofcontents
+
+\section{Presentation}
+
+\pkgname{} is a new watermarking package. Tts first version was released on June 17\textsuperscript{th}, 2022,
+but this update is a complete refactoring.
+
+\pkgname{} is based on \texttt{ti\textit{k}z} and \texttt{expl3}, which gives you a lot of flexibility
+to add a background or a watermark to the pages of your document.
+
+\section{Use}
+
+The use of \pkgname{}, compared to other packages of similar functionality, is a lot easier,
+as it provides a single command, \verb|\MagicWatermark|.
+This command takes a parameter consisting in a number of \opt{setup} rules.
+\begin{example}[]
+\MagicWatermark{
+ setup = {},
+ setup = {},
+ ...
+}
+\end{example}
+
+\opt{setup} internally accepts four key options to configure the presentation of the watermark.
+
+\subsection{pages}
+\opt{pages} accepts a comma-separated list which defines the scope of the watermark,\linebreak[4] \textit{e.g.} \verb|pages = {2, 4, 5, 8-10}| indicates that the watermark is to appear on pages 2, 4, 5, 8, 9 and 10.
+
+\opt{pages} accepts a total of four configuration rules:
+\begin{itemize}
+ \item \para{*}, indicating all pages;
+ \item \para{odd} and \para{even}, for odd/even pages;
+ \item a range, like \para{3-5} or \para{12-ii};
+ \item expressions, such as \para{2X+1}, \para{2X\^{}2+X+1} (the variable \textbf{has to be} \para{X}).
+\end{itemize}
+
+Here, we assume that the total number of pages is 24:
+\begin{example}[title = pages machine rules]
+pages = {*} => 1, 2, 3, ..., 24
+pages = {odd} => 1, 3, 5, ..., 23
+pages = {1, 3, 5-10} => 1, 3, 5, 6, 7, ..., 10
+pages = {1-5, 8, 20-ii} => 1, 2, ..., 5, 8, 20, 21, ..., 23
+pages = {3X + 1} => 1, 4, 7, 10, ..., 22
+\end{example}
+
+\subsection{tikz}
+
+\opt{tikz} is used to choose whether the watermark content will be placed
+in a \texttt{tikz} \texttt{node} (see below).
+The two possible values are \para{true} and \para{false}. The default is \para{true}.
+When you choose to use \opt{tikz}, you need to load the \texttt{tikz} package manually.
+
+\subsection{content}
+
+\opt{content} is used to define the content of the watermark, when \opt{tikz} is enabled.
+The given value is placed inside the \texttt{tikz} \texttt{node};
+for this reason, to take full avantage of this syntax, you need to have some knowledge
+of the available \texttt{node} options.
+
+\subsection{style}
+
+\opt{style} is used to set the style of the \texttt{node} that holds the watermark content.
+The default style is \para{inner~sep = 0pt, outer~sep = 0pt, opacity = .5, align = left},
+and is ignored when \opt{tikz} is disabled.
+
+\subsection{is append}
+
+\opt{is append} is used to choose whether or not to override the existing watermark on the
+current page. The available values are \para{true} and \para{false}, the default is \para{false}.
+
+
+\section{Examples}
+
+\begin{example}[title = Add page number to the top right corner of each pages:]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ }
+}
+\end{example}
+
+\begin{example}[title = Add text watermark at the center of even numbered pages:]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ }
+}
+\end{example}
+
+\begin{example}[title = Add a full page of text as watermark to the second to last page:]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {2-i},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+\end{example}
+
+\begin{example}[title = Use different watermarks for odd and even pages:]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {scale = 8, rotate = 45, text=red, align = center,font = \linespread{2}\selectfont},
+ content = {
+ Even MagicWatermark\\
+ Even MagicWatermark\\
+ Even MagicWatermark\\
+ Even MagicWatermark
+ }
+ },
+ setup = {
+ pages = {odd},
+ style = {scale = 6, rotate = -45, text = cyan, text width = 1.7\paperwidth, font = \linespread{1.5}\selectfont, align = center},
+ content = {
+ \foreach \x in {0,...,5}{
+ Odd MagicWatermark
+ }
+ }
+ }
+}
+\end{example}
+
+\begin{example}[title = Use an image as watermark:]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {opacity = 0.3},
+ content = {
+ \includegraphics{example-image-a}
+ }
+ },
+ setup = {
+ pages = {odd},
+ style = {opacity = .3, rotate=45, text width = 3\paperwidth},
+ content = {
+ \foreach \x in {0, ..., 20}{
+ \foreach \y in {1, 2, 3} {
+ \includegraphics{example-image-b}
+ } \\
+ }
+ }
+ }
+}
+\end{example}
+
+\begin{example}[title = Disable tikz]
+\def\addhead#1#2{%
+ \expandafter\gdef\csname head@content@#1\endcsname{#2}%
+}
+
+\def\printhead#1{%
+ \csname head@content@#1\endcsname%
+}
+
+\addhead{2}{The only way to do great work is to love what you do.}
+\addhead{3}{Success is not final, failure is not fatal: It is the courage to continue that counts.}
+\addhead{4}{In the end, we will remember not the words of our enemies, but the silence of our friends.}
+\addhead{5}{It does not matter how slowly you go as long as you do not stop.}
+
+\NewDocumentCommand{\mywatermark}{}{%
+ \begin{tikzpicture}[remember picture, overlay]
+ \node[yshift = -\headheight - \headsep, text = teal, font = \large] at (current page.north) {\printhead{\thepage}};
+ \end{tikzpicture}
+}
+
+\MagicWatermark{
+ setup = {
+ pages = {2-5},
+ tikz = false,
+ content = \mywatermark
+ }
+}
+\end{example}
+
+
+\end{document}
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark-en.pdf b/macros/latex/contrib/magicwatermark/magicwatermark-en.pdf
deleted file mode 100644
index 5ee2d2d9f5..0000000000
--- a/macros/latex/contrib/magicwatermark/magicwatermark-en.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark-en.tex b/macros/latex/contrib/magicwatermark/magicwatermark-en.tex
deleted file mode 100644
index 03a3e6db11..0000000000
--- a/macros/latex/contrib/magicwatermark/magicwatermark-en.tex
+++ /dev/null
@@ -1,212 +0,0 @@
-\documentclass{l3doc}
-\usepackage{graphicx}
-\usepackage{enumitem}
-\usepackage{listings}
-\lstset{
-frame=tb,framerule=2pt,language={[LaTeX]TeX},basicstyle={\ttfamily},
-language={[LaTeX]TeX},
-keywordstyle=\color{red!70!black}\bfseries,
-keywordstyle={[2]\color{blue!70!black}\bfseries},
-morekeywords={PageSetup,Watermark,NewWatermark,MyPageSetup,MyWatermark,EvenPageSetup,OddPageSetup,EvenWatermark,OddWatermark,ClearWatermark}}
-\usepackage{fontspec}
-\IfFontExistsTF{calibri.ttf}
-{
- \setmainfont{calibri.ttf}[
- BoldFont = calibrib.ttf,
- ItalicFont = calibrii.ttf,
- BoldItalicFont = calibriz.ttf
- ]
-}
-{}
-\usepackage{magicwatermark}
-\renewcommand*\marg[1]{\{\meta{#1}\}}
-\renewcommand*\oarg[1]{[\meta{#1}]}
-\renewcommand*\parg[1]{(\meta{#1})}
-\title{\pkg{magicwatermark}}
-\author{lijun guo \\ liguo1020@gmail.com}
-\def\version{v1.0.1}
-\date{\today\quad\version}
-\pagestyle{empty}
-\PageSetup*
-{
- \begin{tikzpicture}[remember picture,overlay]
- \node[cyan,scale = 2,shift={(-1,-1)}] at (current page.north east){--~\thepage~--};
- \end{tikzpicture}
-}
-\Watermark
-\begin{document}
-\maketitle
-\tableofcontents
-\begin{abstract}
-\pkg{magicwatermark} is a package based on \pkg{everypage} and \pkg{tikz} and encapsulated by \LaTeX3 \. It can flexibly set and clear watermarks. All watermark content is placed in \ inside a \verb|node| of \verb|tikz| and in the center of the page.
-\end{abstract}
-\section{Introduction}
-Currently the \pkg{magicwatermark} package can only implement the following functions
-\begin{itemize}
- \item Set watermark for all pages
- \item Set watermark for odd pages
- \item Set the watermark for even pages
- \item Create a new watermark and set multiple watermarks on the same page
- \item Clear watermark
-\end{itemize}
-\section{Interface}
-\subsection{Some command}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\PageSetup}
- \begin{syntax}
- \tn{PageSetup} \oarg{option} \marg{content for watermark}
- \end{syntax}
- This command is used to set the watermark content of all pages. It accepts two parameters. The first parameter is used to set some properties and is given in the form of \verb|key=value|. The second parameter is used to set the watermark content. It is text, pictures, etc.
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\Watermark}
-\begin{syntax}
- \tn{Watermark}
-\end{syntax}
-This command is used to display the watermark set above
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenPageSetup}
-\begin{syntax}
-\tn{EvenPageSetup}\oarg{option}\marg{content for watermark}
-\end{syntax}
-This command is used to set the watermark content of even pages
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenWatermark}
-\begin{syntax}
- \tn{EvenWatermark}
-\end{syntax}
-This command is used to display the even page watermark set above
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddPageSetup}
-\begin{syntax}
-\tn{OddPageSetup}\oarg{option}\marg{content for watermark}
-\end{syntax}
-This command is used to set the watermark content of odd pages
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddWatermark}
-\begin{syntax}
- \tn{OddWatermark}
-\end{syntax}
-This command is used to display the odd page watermark set above
-\end{function}
-\subsection{Add command}
-The usage of the following commands with asterisks is similar to the above. It is not so much an extension as it is a cancellation of restrictions. The above commands all write the watermark content in a \verb|node|, for users who are not familiar with TikZ , the former is more square is convenient and fast, while the latter is more flexible
-\begin{function}[added=2022-01-07,updated=2022-01-07]{\PageSetup*}
-\begin{syntax}
-\tn{PageSetup*}\marg{content for watermark}
-\end{syntax}
-\end{function}
-\begin{function}[added=2022-01-07,updated=2022-01-07]{\EvenPageSetup*}
-\begin{syntax}
-\tn{EvenPageSetup*}\marg{content for watermark}
-\end{syntax}
-\end{function}
-\begin{function}[added=2022-01-07,updated=2022-01-07]{\OddPageSetup*}
-\begin{syntax}
-\tn{OddPageSetup*}\marg{content for watermark}
-\end{syntax}
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\NewWatermark}
-\begin{syntax}
-\tn{NewWatermark}\marg{watermark name}
-\end{syntax}
-This command is used to create a new watermark. Note that the watermark name cannot be \verb|main|, \verb|even|, \verb|odd|.
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyPageSetup}
-\begin{syntax}
-\tn{MyPageSetup}\oarg{option}\marg{watermark name}\marg{content for watermark}
-\end{syntax}
-Used to set the new watermark content
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyWatermark}
-\begin{syntax}
- \tn{MyWatermark}\marg{watermark name}
-\end{syntax}
-This command is used to display the watermark set above
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\ClearWatermark}
-\begin{syntax}
- \tn{ClearWatermark}\marg{watermark list}
-This command is used to clear the set watermark, accepts a comma list as parameter, for example:
-\begin{itemize}
- \item \verb|\ClearWatermark{main}| clears the watermark set by \verb|\Watermark|
- \item \verb|\ClearWatermark{even,odd}| clears the watermark on odd and even pages
- \item \verb|\ClearWatermark{all}| Clear all watermarks
- \item \verb|\ClearWatermark{name1,name2,name3,...}|
-\end{itemize}
-\end{syntax}
-\end{function}
-\subsection{option list}
-The \textbf{option} in the above setting command is as follows
-\begin{itemize}
- \item \verb|scale = <number>| set the scale
- \item \verb|opacity = <number>| set the opacity
- \item \verb|shift = {(x,y)}| for translation by vector (x,y)
- \item \verb|color = <color expression>| set the color
- \item \verb|rotate = <angle>| Set the rotation angle
- \item \verb+align = <center|left|right>+ Set the alignment of multi-line text, the default is center
- \item \verb+showframe = <true|false>+ Set whether to display the frame, the default is false
-\end{itemize}
-\subsection{notes}
-All show and clear commands take effect only on the text following the command.
-
-\section{Examples}
-\subsection{basic}
-\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\PageSetup[
- rotate = 30, % set the rotation angle
- color = red!80, % set color for watermark content
- scale = 6 % set the scale
-]{
- watermark content
-}
-\Watermark
-\begin{document}
-...
-\end{document}
-\end{lstlisting}
-\subsection{Odd and Even Pages}
-\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\EvenPageSetup[color=cyan,showframe,scale=4]{Even page} % Even page
-\OddPageSetup[color=purple,showframe,scale=4]{Odd page} % Odd page
-\EvenWatermark % show watermark
-\OddWatermark
-\begin{document}
-...
-\end{document}
-\end{lstlisting}
-\subsection{star}
-\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\PageSetup*{
- \begin{tikzpicture}[remember picture,overlay]
- \node[cyan,scale = 2,shift={(-1,-1)}] at
- (current page.north east){--~\thepage~--};
- \end{tikzpicture}
-}
-\begin{document}
-...
-\Watermark % This order did not take effect before
-\end{document}
-\end{lstlisting}
-\subsection{New watermark}
-\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\NewWatermark{one} % new
-\NewWatermark{two}
-\MyPageSetup[scale=5,color=blue]{one}{content one} % setting
-\MyPageSetup[scale=5,color=red]{two}{content two}
-\begin{document}
-\MyWatermark{one} % use watermark one
-...
-\newpage
-\ClearWatermark{one} % clear watermark one
-\MyWatermark{two} % use watermark two
-...
-\end{document}
-\end{lstlisting}
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark.dtx b/macros/latex/contrib/magicwatermark/magicwatermark.dtx
deleted file mode 100644
index 35115c1cca..0000000000
--- a/macros/latex/contrib/magicwatermark/magicwatermark.dtx
+++ /dev/null
@@ -1,598 +0,0 @@
-% \iffalse meta-comment
-% !TEX program = XeLaTeX
-%<*internal>
-\iffalse
-%</internal>
-%<*internal>
-\fi
-\begingroup
- \def\temp{LaTeX2e}
-\expandafter\endgroup\ifx\temp\fmtname\else
-\csname fi\endcsname
-%</internal>
-%<*install>
-
-\input ctxdocstrip %
-
-\let\MetaPrefix\relax
-
-\declarepostamble\emptypostamble
-\endpostamble
-
-\def\MetaPrefix{-- }
-
-
-\let\MetaPrefix\DoubleperCent
-
-\generate
- {
-%</install>
-%<*internal>
- \usedir{source/xelatex/magicwatermark}
- \file{magicwatermark.ins} {\from{\jobname.dtx}{install}}
-%</internal>
-%<*install>
- \usedir{xetex/xelatex/magicwatermark}
- \file{magicwatermark.sty} {\from{\jobname.dtx}{package}}
- \nopreamble\nopostamble
- \usedir{doc/xelatex/magicwatermark}
- \file{README.md} {\from{\jobname.dtx}{readme}}
- }
-
-\endbatchfile
-%</install>
-%<*internal>
-\fi
-%</internal>
-%<package>\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-%<package>\ProvidesPackage{magicwatermark}[2021/12/22 v1.0.1 watermark for ljguo ]
-%<*driver>
-\documentclass{ctxdoc}
-\usepackage{graphicx}
-\usepackage{enumitem}
-\usepackage{listings}
-\lstset{
-frame=tb,framerule=2pt,language={[LaTeX]TeX},basicstyle={\ttfamily},
-language={[LaTeX]TeX},
-keywordstyle=\color{red!70!black}\bfseries,
-keywordstyle={[2]\color{blue!70!black}\bfseries},
-morekeywords={PageSetup,Watermark,NewWatermark,MyPageSetup,MyWatermark,EvenPageSetup,OddPageSetup,EvenWatermark,OddWatermark,ClearWatermark}}
-\usepackage{fontspec}
-\IfFontExistsTF{calibri.ttf}
-{
- \setmainfont{calibri.ttf}[
- BoldFont = calibrib.ttf,
- ItalicFont = calibrii.ttf,
- BoldItalicFont = calibriz.ttf
- ]
-}
-{}
-\setCJKmainfont[AutoFakeBold,AutoFakeSlant]{simfang.ttf}
-\usepackage{magicwatermark}
-\renewcommand*\marg[1]{\{\meta{#1}\}}
-\renewcommand*\oarg[1]{[\meta{#1}]}
-\renewcommand*\parg[1]{(\meta{#1})}
-\begin{document}
-%<!--CODEDOC--> \DisableImplementation
- \EnableImplementation
- \DocInput{\jobname.dtx}
- \IndexLayout
- \PrintChanges
- \PrintIndex
-\end{document}
-%</driver>
-% \fi
-%
-
-% \GetFileId{magicwatermark.sty}
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-%
-%\title{\pkg{magicwatermark}: 魔法水印宏包}
-%\author{郭李军 \\ liguo1020@gmail.com}
-%\def\version{v1.0.1}
-%\date{\today\quad\version}
-%\pagestyle{empty}
-%\PageSetup*
-%{
-% \begin{tikzpicture}[remember picture,overlay]
-% \node[cyan,scale = 2,shift={(-1,-1)}] at (current page.north east){--~\thepage~--};
-% \end{tikzpicture}
-%}
-%\Watermark
-%\maketitle
-%\thispagestyle{empty}
-%\tableofcontents
-%\begin{documentation}
-%\changes{v1.0.1}{2021/12/21}{实现了一些基本功能}
-%\begin{abstract}
-%\pkg{magicwatermark} 是一个基于 \pkg{everypage} 和 \pkg{tikz} 宏包,并经过 \LaTeX3 \ 进行封装的宏包,它可以很灵活的设置和清除水印,所有水印内容都放在 \verb|tikz| 的一个 \verb|node| 里面,并处于页面中心。
-%\end{abstract}
-%\section{介绍}
-%目前 \pkg{magicwatermark} 宏包只能实现如下功能
-%\begin{itemize}
-% \item 设置所有页面的水印
-% \item 设置奇数页的水印
-% \item 设置偶数页的水印
-% \item 新建水印,同页面设置多个水印
-% \item 清除水印
-%\end{itemize}
-%\section{用户接口}
-%\subsection{提供命令}
-% \begin{function}[added=2021-12-21,updated=2021-12-21]{\PageSetup}
-% \begin{syntax}
-% \tn{PageSetup} \oarg{水印参数} \marg{水印内容}
-% \end{syntax}
-% 此命令用于设置所有页面的水印内容,接受两个参数,第一个参数用于设置一些属性,以 \verb|key=value| 的形式给出, 第二个参数用于设置水印内容,可以是文字、图片、等.
-% \end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\Watermark}
-%\begin{syntax}
-% \tn{Watermark}
-%\end{syntax}
-% 该命令用于显示上面设置的水印
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenPageSetup}
-%\begin{syntax}
-% \tn{EvenPageSetup}\oarg{水印参数}\marg{水印内容}
-%\end{syntax}
-% 该命令用于设置偶数页的水印内容
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenWatermark}
-%\begin{syntax}
-% \tn{EvenWatermark}
-%\end{syntax}
-% 该命令用于显示上面设置的偶数页水印
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddPageSetup}
-%\begin{syntax}
-% \tn{OddPageSetup}\oarg{水印参数}\marg{水印内容}
-%\end{syntax}
-% 该命令用于设置奇数页的水印内容
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddWatermark}
-%\begin{syntax}
-% \tn{OddWatermark}
-%\end{syntax}
-% 该命令用于显示上面设置的奇数页水印
-%\end{function}
-%\subsection{扩展命令}
-%以下带星号命令用法和上面的类似,与其说是扩展,不如说是取消了限制,以上的命令都将水印内容写在一个\verb|node|中,对于对 TikZ 不太熟练的用户来说,前者更加方
-%便快捷,而后者则更加灵活
-%\begin{function}[added=2022-01-07,updated=2022-01-07]{\PageSetup*}
-%\begin{syntax}
-% \tn{PageSetup*}\marg{水印内容}
-%\end{syntax}
-%\end{function}
-%\begin{function}[added=2022-01-07,updated=2022-01-07]{\EvenPageSetup*}
-%\begin{syntax}
-% \tn{EvenPageSetup*}\marg{水印内容}
-%\end{syntax}
-%\end{function}
-%\begin{function}[added=2022-01-07,updated=2022-01-07]{\OddPageSetup*}
-%\begin{syntax}
-% \tn{OddPageSetup*}\marg{水印内容}
-%\end{syntax}
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\NewWatermark}
-%\begin{syntax}
-% \tn{NewWatermark}\marg{水印名称}
-%\end{syntax}
-%该命令用于新建一个水印,注意水印名称不能是 \verb|main|, \verb|even|, \verb|odd|.
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyPageSetup}
-%\begin{syntax}
-% \tn{MyPageSetup}\oarg{水印参数}\marg{水印名称}\marg{水印内容}
-%\end{syntax}
-%用于设置新建的水印内容
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyWatermark}
-%\begin{syntax}
-% \tn{MyWatermark}\marg{水印名称}
-%\end{syntax}
-% 该命令用于显示上面设置的水印
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\ClearWatermark}
-%\begin{syntax}
-% \tn{ClearWatermark}\marg{水印列表}
-%该命令用于清除设置的水印,接受一个逗号列表作为参数,例如:
-%\begin{itemize}
-% \item \verb|\ClearWatermark{main}| 清除由 \verb|\Watermark| 设置的水印
-% \item \verb|\ClearWatermark{even,odd}| 清除奇数和偶数页的水印
-% \item \verb|\ClearWatermark{all}| 清除所有的水印
-% \item \verb|\ClearWatermark{name1,name2,name3,...}|
-%\end{itemize}
-%\end{syntax}
-%\end{function}
-%\subsection{参数列表}
-%以上设置命令中的\textbf{水印参数}如下
-%\begin{itemize}
-% \item \verb|scale = <number>| 用于设置缩放比例
-% \item \verb|opacity = <number>| 用于设置不透明度
-% \item \verb|shift = {(x,y)}| 用于按向量 (x,y) 平移
-% \item \verb|color = <color expression>| 用于设置文本颜色
-% \item \verb|rotate = <angle>| 用于设置旋转角度
-% \item \verb+align = <center|left|right>+ 用于设置多行文本对齐方式,默认为 center
-% \item \verb+showframe = <true|false>+ 用于设置是否显示文本框,默认为 false
-%\end{itemize}
-%\subsection{一些说明}
-%所有的显示命令和清除命令都仅对该命令后面的文本生效。
-
-%\section{Examples}
-%\subsection{不带星号}
-%\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\PageSetup[
- rotate = 30, % 设置旋转角度
- color = red!80, % 设置水印内容颜色
- scale = 6 % 设置比例
-]{
- 水印内容
-}
-\Watermark % 全文生效
-\begin{document}
-...
-\end{document}
-\end{lstlisting}
-%\subsection{奇偶页}
-%\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\EvenPageSetup[color=cyan,showframe,scale=4]{偶数页} % 设置奇数页
-\OddPageSetup[color=purple,showframe,scale=4]{奇数页} % 设置偶数页
-\EvenWatermark % 显示水印
-\OddWatermark
-\begin{document}
-...
-\end{document}
-\end{lstlisting}
-%\subsection{带星号}
-%\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\PageSetup*{
- \begin{tikzpicture}[remember picture,overlay]
- \node[cyan,scale = 2,shift={(-1,-1)}] at
- (current page.north east){--~\thepage~--};
- \end{tikzpicture}
-}
-\begin{document}
-...
-\Watermark % 该命令之前不生效
-\end{document}
-\end{lstlisting}
-%\subsection{新建水印}
-%\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\NewWatermark{one} % 新建两个水印
-\NewWatermark{two}
-\MyPageSetup[scale=5,color=blue]{one}{水印内容一} % 设置水印
-\MyPageSetup[scale=5,color=red]{two}{水印内容二}
-\begin{document}
-\MyWatermark{one} % 使用第一个水印
-...
-\newpage
-\ClearWatermark{one} % 清除第一个水印
-\MyWatermark{two} % 使用第二个水印
-...
-\end{document}
-\end{lstlisting}
-%\end{documentation}
-%
-% \StopEventually{}
-% \section{代码实现}
-% \begin{macrocode}
-%<*package>
-% \end{macrocode}
-% 加载必要的宏包
-% \begin{macrocode}
-\RequirePackage{everypage-1x,tikz,xparse,expl3}
-% \end{macrocode}
-% 打开\LaTeX3 编程环境
-% \begin{macrocode}
-\ExplSyntaxOn
-% \end{macrocode}
-% 声明一些变量
-% \begin{macrocode}
-\tl_new:N \l_mainpage_tl
-\tl_new:N \l_evenpage_tl
-\tl_new:N \l_oddpage_tl
-\tl_new:N \g_case_tl
-\tl_new:N \g_clear_all_tl
-% \end{macrocode}
-% 定义警告
-% \begin{macrocode}
-\msg_new:nnn{clear}{not~have}{I~can~not~find~the~"\clear"~watermark~!}
-% \end{macrocode}
-% \begin{macro}{\PageSetup}
-% 对所有页面设置水印
-% \begin{macrocode}
-\NewDocumentCommand{\PageSetup}{sO{}+m}
-{
- \IfBooleanTF{#1}
- {
- \tl_set:Nn \l_mainpage_tl{#3}
- }
- {
- \tl_set:Nn \l_mainpage_tl
- {
- \group_begin:
- \keys_set:nn{watermark}{#2}
- \begin{tikzpicture}[remember~picture,overlay]
- \node
- [
- scale = \fp_use:N\l_scale_fp,
- opacity = \fp_use:N\l_opacity_fp,
- shift = \tl_use:N\l_shift_tl,
- color = \tl_use:N \l_color_tl,
- rotate = \fp_use:N \l_rotate_fp,
- align = \tl_use:N \l_align_tl,
- \bool_if:NTF \l_showframe_bool{draw}{},
- ]
- at(current~page.center){#3};
- \end{tikzpicture}
- \group_end:
- }
- }
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\Watermark}
-% 用于显示由 \verb|\PageSetup| 命令设置的水印
-% \begin{macrocode}
-\NewDocumentCommand{\Watermark}{}
-{
- \AddEverypageHook{\tl_use:N \l_mainpage_tl}
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EvenPageSetup}
-% 对偶数页设置水印
-% \begin{macrocode}
-\NewDocumentCommand{\EvenPageSetup}{sO{}+m}
-{
- \IfBooleanTF{#1}
- {
- \tl_set:Nn \l_evenpage_tl{#3}
- }
- {
- \tl_set:Nn \l_evenpage_tl
- {
- \group_begin:
- \keys_set:nn{watermark}{#2}
- \begin{tikzpicture}[remember~picture,overlay]
- \node
- [
- scale = \fp_use:N\l_scale_fp,
- opacity = \fp_use:N\l_opacity_fp,
- shift = \tl_use:N\l_shift_tl,
- color = \tl_use:N \l_color_tl,
- rotate = \fp_use:N \l_rotate_fp,
- align = \tl_use:N \l_align_tl,
- \bool_if:NTF \l_showframe_bool{draw}{},
- ]
- at(current~page.center){#3};
- \end{tikzpicture}
- \group_end:
- }
- }
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EvenWatermark}
-% 用于显示由 \verb|\EvenPageSetup| 命令设置的水印
-% \begin{macrocode}
-\NewDocumentCommand{\EvenWatermark}{}
-{
- \AddEverypageHook
- {
- \int_if_even:nT{\int_use:N \value{page}}
- {
- \tl_use:N \l_evenpage_tl
- }
- }
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\OddPageSetup}
-% 对奇数页设置水印
-% \begin{macrocode}
-\NewDocumentCommand{\OddPageSetup}{sO{}+m}
-{
- \IfBooleanTF{#1}
- {
- \tl_set:Nn \l_oddpage_tl{#3}
- }
- {
- \tl_set:Nn \l_oddpage_tl
- {
- \group_begin:
- \keys_set:nn{watermark}{#2}
- \begin{tikzpicture}[remember~picture,overlay]
- \node
- [
- scale = \fp_use:N\l_scale_fp,
- opacity = \fp_use:N\l_opacity_fp,
- shift = \tl_use:N\l_shift_tl,
- color = \tl_use:N \l_color_tl,
- rotate = \fp_use:N \l_rotate_fp,
- align = \tl_use:N \l_align_tl,
- \bool_if:NTF \l_showframe_bool{draw}{},
- ]
- at(current~page.center){#3};
- \end{tikzpicture}
- \group_end:
- }
- }
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\OddWatermark}
-% 用于显示由 \verb|\OddPageSetup| 命令设置的水印
-% \begin{macrocode}
-\NewDocumentCommand{\OddWatermark}{}
-{
- \AddEverypageHook
- {
- \int_if_odd:nT{\int_use:N \value{page}}
- {
- \tl_use:N \l_oddpage_tl
- }
- }
-}
-% \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\NewWatermark}
-% 用于新建一个水印
-% \begin{macrocode}
-\NewDocumentCommand{\NewWatermark}{m}
-{
- \tl_new:c {l_#1_tl}
- \tl_put_right:Nn \g_case_tl {{#1}{\tl_clear:c {l_#1_tl}}}
- \tl_put_right:Nn \g_clear_all_tl {\tl_clear:c {l_#1_tl}}
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\MyPageSetup}
-% 用于设置新建的水印
-% \begin{macrocode}
-\NewDocumentCommand{\MyPageSetup}{O{} m +m}
-{
- \tl_set:cn {l_#2_tl}
- {
- \group_begin:
- \keys_set:nn{watermark}{#1}
- \begin{tikzpicture}[remember~picture,overlay]
- \node
- [
- scale = \fp_use:N\l_scale_fp,
- opacity = \fp_use:N\l_opacity_fp,
- shift = \tl_use:N\l_shift_tl,
- color = \tl_use:N \l_color_tl,
- rotate = \fp_use:N \l_rotate_fp,
- align = \tl_use:N \l_align_tl,
- \bool_if:NTF \l_showframe_bool{draw}{},
- ]
- at(current~page.center){#3};
- \end{tikzpicture}
- \group_end:
- }
-}
-% \end{macrocode}
-% \end{macro}
-
-
-
-% \begin{macro}{\MyWatermark}
-% 用于显示由 \verb|\MyPageSetup| 命令设置的水印
-% \begin{macrocode}
-\NewDocumentCommand{\MyWatermark}{m}
-{
- \AddEverypageHook{\tl_use:c {l_#1_tl}}
-}
-% \end{macrocode}
-% \end{macro}
-% 定义一些可选参数, 用于对水印进行设置
-% \begin{macrocode}
-\keys_define:nn{watermark}
-{
- scale.fp_set:N = \l_scale_fp,
- scale.initial:n = 1.0,
- scale.default:n = 1.0,
- opacity.fp_set:N = \l_opacity_fp,
- opacity.initial:n = 0.8,
- opacity.default:n = 0.8,
- shift.tl_set:N = \l_shift_tl,
- shift.initial:n = {(0,0)},
- shift.default:n = {(0,0)},
- color.tl_set:N = \l_color_tl,
- color.initial:n = black,
- color.default:n =black,
- rotate.fp_set:N =\l_rotate_fp,
- rotate.initial:n = 0.0,
- rotate.default:n = 0.0,
- align.tl_set:N = \l_align_tl,
- align.initial:n = center,
- align.default:n = center,
- showframe.bool_set:N = \l_showframe_bool,
- showframe.initial:n = false,
- showframe.default:n = true,
-}
-% \end{macrocode}
-% \begin{macro}{\g_clear_all_tl}
-% 用于保存待清空的所有水印
-% \begin{macrocode}
-\tl_gset:Nn \g_clear_all_tl
-{
- \tl_clear:N \l_mainpage_tl
- \tl_clear:N \l_evenpage_tl
- \tl_clear:N \l_oddpage_tl
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\g_case_tl}
-% 用于保存一些开关
-% \begin{macrocode}
-\tl_gset:Nn \g_case_tl{
- {all}
- {
- \tl_use:N\g_clear_all_tl
- }
- {even}
- {
- \tl_clear:N \l_evenpage_tl
- }
- {odd}
- {
- \tl_clear:N \l_oddpage_tl
- }
- {main}
- {
- \tl_clear:N \l_mainpage_tl
- }
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ClearWatermark}
-% 用于清除设置的水印
-% \begin{macrocode}
-\NewDocumentCommand{\ClearWatermark}{m}
-{
-\clist_gset:Nn \g_clear_clist{#1}
-\clist_map_variable:NNn \g_clear_clist \clear
-{
- \exp_args:NV \str_case:nVF \clear
- \g_case_tl
- {\msg_warning:nn{clear}{not~have}}
-}
-}
-% \end{macrocode}
-% \end{macro}
-% 关闭\LaTeX3 编程环境
-% \begin{macrocode}
-\ExplSyntaxOff
-% \end{macrocode}
-% \begin{macrocode}
-%</package>
-% \end{macrocode}
-% \Finale
-%
-\endinput
-\endlinechar \ No newline at end of file
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark.pdf b/macros/latex/contrib/magicwatermark/magicwatermark.pdf
deleted file mode 100644
index 396233aba2..0000000000
--- a/macros/latex/contrib/magicwatermark/magicwatermark.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark.sty b/macros/latex/contrib/magicwatermark/magicwatermark.sty
new file mode 100644
index 0000000000..e40af7ea0b
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/magicwatermark.sty
@@ -0,0 +1,453 @@
+\ProvidesExplPackage{magicwatermark}{2024/06/11}{1.2B}{magic watermark, author}
+
+
+\msg_new:nnn {magicwatermark}{ Unable to parse }
+{
+ Unable~to~parse~this~list~parameter.^^J
+ #1
+}
+
+\msg_new:nnn {magicwatermark}{ Enable TikZ }
+{
+ tikz~option~has~been~disabled,^^J
+ style~will~be~ignored.
+}
+
+\msg_new:nnn {magicwatermark}{ Load TikZ }
+{
+ Please~load~tikz~package~before~magicwatermark.
+}
+
+\seq_new:N \l__mw_tmpa_seq
+\seq_new:N \l__mw_tmpb_seq
+\seq_new:N \l__mw_tmpc_seq
+\seq_new:N \l__mw_tmpd_seq
+
+
+\int_new:N \l__mw_tmpa_int
+\int_new:N \l__mw_tmpb_int
+\int_new:N \l__mw_tmpc_int
+\int_new:N \l__mw_tmpd_int
+\int_new:N \l__mw_tmpe_int
+
+\clist_new:N \l__mw_list_arabic_number_clist
+\clist_new:N \l__mw_list_roman_number_clist
+\clist_new:N \l__mw_list_range_clist
+\clist_new:N \l__mw_list_expression_clist
+
+
+
+
+\clist_new:N \l__mw_tmpa_clist
+\clist_new:N \l__mw_tmpb_clist
+\clist_new:N \l__mw_tmpc_clist
+
+
+\tl_new:N \l__mw_tmpa_tl
+\tl_new:N \l__mw_tmpb_tl
+\tl_new:N \l__mw_tmpc_tl
+\tl_new:N \g__mw_list_tl
+
+\tl_new:N \g__mw_style_tl
+\tl_new:N \g__mw_content_tl
+
+\bool_new:N \g__mw_is_append_bool
+\bool_set_false:N \g__mw_is_append_bool
+\bool_new:N \g__mw_tikz_bool
+\bool_set_true:N \g__mw_tikz_bool
+
+\regex_const:Nn \c__mw_arabic_numbers_regex { ^\d+$ }
+\regex_const:Nn \c__mw_roman_numbers_regex { ^[ivxlcdm]+$ }
+
+
+
+\int_new:N \g__mw_last_page_int
+
+\AtBeginDocument{
+ \int_compare:nTF { \@abspage@last = \number\maxdimen }
+ {
+ \int_gset:Nn \g__mw_last_page_int { 10 }
+ }
+ {
+ \int_gset:Nn \g__mw_last_page_int { \@abspage@last }
+ }
+}
+
+\cs_new_protected:Npn \__mw_clist_deduplicate:N #1
+{
+ \group_begin:
+ \clist_clear:N \l_tmpa_clist
+ \clist_map_inline:Nn #1
+ {
+ \clist_if_in:NnF \l_tmpa_clist { ##1 }
+ { \clist_put_right:Nn \l_tmpa_clist { ##1 } }
+ }
+ \clist_gset_eq:NN #1 \l_tmpa_clist
+ \group_end:
+}
+
+
+\cs_new:Npn \__mw_list_parser_aux:n #1 {
+
+ \clist_clear:N \l__mw_list_arabic_number_clist
+ \clist_clear:N \l__mw_list_roman_number_clist
+ \clist_clear:N \l__mw_list_range_clist
+ \clist_clear:N \l__mw_list_expression_clist
+
+ % split by commas
+ \group_begin:
+ \seq_set_split:Nnn \l__mw_tmpa_seq { , } { #1 }
+ \seq_map_inline:Nn \l__mw_tmpa_seq
+ {
+ \tl_if_eq:nnTF { ##1 } { odd } % odd, push 2X + 1
+ {
+ \clist_gput_right:Nn \l__mw_list_expression_clist { 2X + 1 }
+ }
+ {
+ \tl_if_eq:nnTF { ##1 } { even } % even, push 2X
+ {
+ \clist_gput_right:Nn \l__mw_list_expression_clist { 2X }
+ }
+ {
+ \tl_if_in:nnTF { ##1 } { X } % expression, push ##1
+ {
+ \clist_gput_right:Nn \l__mw_list_expression_clist { ##1 }
+ }
+ {
+ \tl_if_in:nnTF { ##1 } { - } % range, push ##1
+ {
+ \clist_gput_right:Nn \l__mw_list_range_clist { ##1 }
+ }
+ {
+ \__mw_if_arabic_number:nTF { ##1 }
+ {
+ \clist_gput_right:Nn \l__mw_list_arabic_number_clist { ##1 }
+ }
+ {
+ \__mw_if_roman_number:nTF { ##1 }
+ {
+ \clist_gput_right:Nn \l__mw_list_roman_number_clist { ##1 }
+ }
+ {
+ % error
+ \msg_error:nnn {magicwatermark}{ Unable to parse }
+ {
+ Error~list~parameter~``##1''.
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ \group_end:
+}
+
+\prg_new_conditional:Npnn \__mw_if_arabic_number:n #1 { p, T, F, TF }
+{
+ \regex_match:NnTF \c__mw_arabic_numbers_regex { #1 }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+}
+
+\prg_new_conditional:Npnn \__mw_if_roman_number:n #1 { p, T, F, TF }
+{
+ \regex_match:NnTF \c__mw_roman_numbers_regex { #1 }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+}
+
+\prg_generate_conditional_variant:Nnn \__mw_if_arabic_number:n { x } {p, T, F, TF}
+\prg_generate_conditional_variant:Nnn \__mw_if_roman_number:n { x } {p, T, F, TF}
+
+
+\cs_new:Npn \__mw_list_parser_for_arabic_number:n #1 {
+ % arabic number
+ \fp_compare:nTF { #1 <= \g__mw_last_page_int && #1 > 0 }
+ {
+ \clist_put_right:Nn \l__mw_tmpa_clist { #1 }
+ }
+ {
+ % error
+ \msg_error:nnn {magicwatermark}{ Unable to parse }
+ {
+ Error~list~parameter~``#1''.^^J
+ Error~number~``#1''.
+ }
+ }
+}
+
+
+
+\cs_new:Npn \__mw_list_parser_for_roman_number:n #1 {
+ % roman number
+ \int_set:Nn \l__mw_tmpa_int { \g__mw_last_page_int - \int_from_roman:n { #1 } + 1 }
+ \fp_compare:nTF
+ {
+ \l__mw_tmpa_int <= \g__mw_last_page_int && \l__mw_tmpa_int > 0
+ }
+ {
+ \clist_put_right:NV \l__mw_tmpa_clist \l__mw_tmpa_int
+ }
+ {
+ % error
+ \msg_error:nnn {magicwatermark}{ Unable to parse }
+ {
+ Error~list~parameter~``#1''.^^J
+ Error~roman~number~``#1''.
+ }
+ }
+}
+
+
+\cs_new:Npn \__mw_list_parser_for_range:n #1 {
+ % range, 1-5, 3-i
+ \seq_set_split:Nnn \l__mw_tmpb_seq { - } { #1 }
+
+ \__mw_if_arabic_number:xTF { \seq_item:Nn \l__mw_tmpb_seq { 1 } }
+ {
+ \int_set:Nn \l__mw_tmpb_int { \seq_item:Nn \l__mw_tmpb_seq { 1 } }
+ }
+ {
+ \__mw_if_roman_number:xTF { \seq_item:Nn \l__mw_tmpb_seq { 1 } }
+ {
+ \exp_args:NNx \int_set:Nn \l__mw_tmpb_int
+ {
+ \g__mw_last_page_int - \exp_not:N \int_from_roman:n { \seq_item:Nn \l__mw_tmpb_seq { 1 } } + 1
+ }
+ }
+ {
+ \int_set:Nn \l__mw_tmpb_int { -1 }
+ % error
+ \msg_error:nnn {magicwatermark}{ Unable to parse }
+ {
+ Error~list~parameter~``#1''.^^J
+ Error~range~left~``#1''.
+ }
+ }
+ }
+
+ \__mw_if_arabic_number:xTF { \seq_item:Nn \l__mw_tmpb_seq { 2 } }
+ {
+ \int_set:Nn \l__mw_tmpc_int { \seq_item:Nn \l__mw_tmpb_seq { 2 } }
+ }
+ {
+ \__mw_if_roman_number:xTF { \seq_item:Nn \l__mw_tmpb_seq { 2 } }
+ {
+ \exp_args:NNx \int_set:Nn \l__mw_tmpc_int
+ {
+ \g__mw_last_page_int - \exp_not:N \int_from_roman:n { \seq_item:Nn \l__mw_tmpb_seq { 2 } } + 1
+ }
+ }
+ {
+ \int_set:Nn \l__mw_tmpc_int { -1 }
+ % error
+ \msg_error:nnn {magicwatermark}{ Unable to parse }
+ {
+ Error~list~parameter~``#1''.^^J
+ Error~range~right~``#1''.
+ }
+ }
+ }
+
+ \fp_compare:nT { \l__mw_tmpb_int > 0 && \l__mw_tmpc_int > 0}
+ {
+ \int_step_inline:nnn
+ { \int_min:nn { \l__mw_tmpb_int } { \l__mw_tmpc_int } }
+ { \int_max:nn { \l__mw_tmpb_int } { \l__mw_tmpc_int } }
+ {
+ \clist_put_right:Nn \l__mw_tmpa_clist { ##1 }
+ }
+ }
+}
+
+\cs_new:Npn \__mw_list_parser_for_expression:n #1 {
+ \int_zero:N \l__mw_tmpd_int
+ \int_zero:N \l__mw_tmpe_int
+ \group_begin:
+ \tl_set:Nn \l__mw_tmpa_tl { #1 }
+ \regex_replace_all:nnN { (\d+)X } { \1*\c{l__mw_tmpe_int} } \l__mw_tmpa_tl
+ \tl_replace_all:Nnn \l__mw_tmpa_tl { X } { \l__mw_tmpe_int }
+ % \tl_show:N \l__mw_tmpa_tl
+ \int_while_do:nn { \l__mw_tmpd_int < \g__mw_last_page_int }
+ {
+ \int_set:Nn \l__mw_tmpd_int
+ {
+ \fp_eval:n { \l__mw_tmpa_tl }
+ }
+ \clist_gput_right:NV \l__mw_tmpa_clist \l__mw_tmpd_int
+ \int_incr:N \l__mw_tmpe_int
+ }
+ \group_end:
+}
+
+
+\cs_new_nopar:Npn \__mw_list_parser:nN #1#2 {
+
+ % case 1 -> odd, even
+ % case 2 -> number, 1
+ % case 3 -> roman, i
+ % case 4 -> range, 1-5, 3-ii
+ % case 5 -> expression, 3X + 1
+
+ \__mw_list_parser_aux:n { #1 }
+
+ \clist_clear:N \l__mw_tmpa_clist
+ \clist_map_inline:Nn \l__mw_list_arabic_number_clist
+ {
+ \__mw_list_parser_for_arabic_number:n { ##1 }
+ }
+
+ \clist_map_inline:Nn \l__mw_list_roman_number_clist
+ {
+ \__mw_list_parser_for_roman_number:n { ##1 }
+ }
+
+
+ \clist_map_inline:Nn \l__mw_list_range_clist
+ {
+ \__mw_list_parser_for_range:n { ##1 }
+ }
+
+
+ \clist_map_inline:Nn \l__mw_list_expression_clist
+ {
+ \__mw_list_parser_for_expression:n { ##1 }
+ }
+
+
+ \clist_sort:Nn \l__mw_tmpa_clist {
+ \int_compare:nNnTF { ##1 } > { ##2 }
+ { \sort_return_swapped: }
+ { \sort_return_same: }
+ }
+ \__mw_clist_deduplicate:N \l__mw_tmpa_clist
+ \clist_set_eq:NN #2 \l__mw_tmpa_clist
+}
+
+
+\cs_new:Npn \__mw_parser:nN #1#2 {
+ \clist_clear:N #2
+ \tl_if_eq:nnTF { #1 } { * }
+ {
+ \int_step_inline:nnn { 1 } { \g__mw_last_page_int }
+ {
+ \clist_put_right:Nn #2 { ##1 }
+ }
+ }
+ {
+ \__mw_list_parser:nN { #1 } #2
+ }
+}
+
+
+
+
+\keys_define:nn { mw / new }
+{
+ pages .tl_set:N = \g__mw_list_tl,
+ style .tl_set:N = \g__mw_style_tl,
+ % style .code:n = \__mw_parse_style:n { #1 },
+ content .tl_set:N = \g__mw_content_tl,
+ is~append .bool_set:N = \g__mw_is_append_bool,
+ tikz .bool_set:N = \g__mw_tikz_bool
+}
+
+\cs_new:Npn \__mw_parse_style: {
+ \tl_if_empty:NF \g__mw_style_tl
+ {
+ \bool_if:NTF \g__mw_tikz_bool
+ {
+ \IfPackageLoadedTF{tikz}
+ {
+ \tl_set_eq:NN \l__mw_tmpc_tl \g__mw_style_tl
+ }
+ {
+ \msg_error:nn {magicwatermark}{ Load TikZ }
+ }
+ }
+ {
+ \msg_warning:nn {magicwatermark}{ Enable TikZ }
+ }
+ }
+}
+
+\keys_define:nn { mw }
+{
+ setup .code:n = \__mw_new_watermark:n {#1}
+}
+
+
+\cs_new:Npn \__mw_new_watermark:n #1 {
+ \group_begin:
+ \keys_set:nn { mw / new }{#1}
+
+ % parse style
+ \__mw_parse_style:
+
+ % parse pages
+ \exp_args:NV \__mw_parser:nN \g__mw_list_tl \l__mw_tmpc_clist
+
+ \clist_map_inline:Nn \l__mw_tmpc_clist {
+
+ \bool_if:NTF \g__mw_tikz_bool
+ {
+ \IfPackageLoadedTF{tikz}
+ {
+ \tl_set:Ne \l__mw_tmpb_tl
+ {
+ \exp_not:N \tikz[remember~picture, overlay]
+ {
+ \exp_not:N \node[inner~sep = 0pt, outer~sep = 0pt, opacity = .5, align = left, \exp_not:V \g__mw_style_tl] at (current~page.center)
+ {
+ \exp_not:V \g__mw_content_tl
+ };
+ }
+ }
+ }
+ {
+ \msg_error:nn {magicwatermark}{ Load TikZ }
+ }
+ }
+ {
+ \tl_set:NV \l__mw_tmpb_tl \g__mw_content_tl
+ }
+
+ \bool_if:nTF { \g__mw_is_append_bool && \tl_if_exist_p:c { g__mw_content_ \int_to_roman:n { ##1 } _tl } }
+ {
+ \tl_gput_right:cV { g__mw_content_ \int_to_roman:n { ##1 } _tl } \l__mw_tmpb_tl
+ }
+ {
+ \tl_gset:cV { g__mw_content_ \int_to_roman:n { ##1 } _tl } \l__mw_tmpb_tl
+ }
+ }
+ \group_end:
+}
+
+
+\NewDocumentCommand{\MagicWatermark}{m}{
+ \group_begin:
+ \AtBeginDocument{
+ \keys_set:nn { mw } { #1 }
+ \AddToHook{shipout/background}{
+ \put(.5\paperwidth,-.5\paperheight){
+ \tl_if_exist:cT { g__mw_content_ \int_to_roman:n { \value{page} }_tl }
+ {
+ \tl_use:c { g__mw_content_ \int_to_roman:n { \value{page} } _tl }
+ }
+ }
+ }
+ }
+ \group_end:
+}
+
+\@onlypreamble\MagicWatermark \ No newline at end of file
diff --git a/macros/latex/contrib/mailing/CATALOG b/macros/latex/contrib/mailing/CATALOG
new file mode 100644
index 0000000000..bfc37ff238
--- /dev/null
+++ b/macros/latex/contrib/mailing/CATALOG
@@ -0,0 +1,15 @@
+Name: mailing
+Problems-To: texniek at texniek.nl
+Author: J.L. Braams
+Version: 1.0c
+
+Description:
+
+The mailing package implements support for producing letters to
+multiple people.
+
+Keywords: latex mailing
+
+Address:
+TeXniek
+The Netherlands
diff --git a/macros/latex/contrib/mailing/manifest.txt b/macros/latex/contrib/mailing/MANIFEST
index b0653434c7..b93e68a619 100644
--- a/macros/latex/contrib/mailing/manifest.txt
+++ b/macros/latex/contrib/mailing/MANIFEST
@@ -2,11 +2,11 @@
% CONTENTS OF THE MAILING PACKAGE
% ===============================
%
-% manifest.txt -- This file
+% MANIFEST -- This file
%
% mailing.dtx -- A package to produce a `mailing' ie a large number
% of letters with (almost) identical text.
-% mailing.pdf -- The `printed version of mailing.dtx
+% mailing.pdf -- The `printed´ version of mailing.dtx
%
% Installation script for the various parts:
% -------------------------------------------
diff --git a/macros/latex/contrib/mailing/README b/macros/latex/contrib/mailing/README
new file mode 100644
index 0000000000..6dccf798b9
--- /dev/null
+++ b/macros/latex/contrib/mailing/README
@@ -0,0 +1,14 @@
+ mailing bundle
+
+ July 2024, 2024
+
+This bundle contains a package that provides functionality to
+produce multiple letters with the same text to different addressses.
+It provides three commands \addressfile, \mailingtext and \makemailing.
+
+Copyright (C) 2024 Johannes L. Braams texniek(at)texniek.nl
+
+This program can be redistributed and/or modified under the terms
+of the LaTeX Project Public License Distributed from CTAN
+archives in directory macros/latex/base/lppl.txt; either
+version 1.3c of the License, or any later version.
diff --git a/macros/latex/contrib/mailing/mailing.dtx b/macros/latex/contrib/mailing/mailing.dtx
index 01aabfcfd4..2a1747d440 100644
--- a/macros/latex/contrib/mailing/mailing.dtx
+++ b/macros/latex/contrib/mailing/mailing.dtx
@@ -1,33 +1,34 @@
% \iffalse meta-comment
%
-% Copyright 1994-2004 Johannes Braams. All rights reserved.
-%
+% Copyright 1999-2024 Johannes L. Braams. All rights reserved.
+%
% This file is part of the mailing package.
% -----------------------------------------
-%
+%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2003/12/01 or later.
-%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
% This work has the LPPL maintenance status "maintained".
-%
+%
% The Current Maintainer of this work is Johannes Braams.
-%
-% The list of all files belonging to the mailing package is
-% given in the file `manifest.txt'.
-%
+%
+% The list of all files belonging to the supertabular package is
+% given in the file `MANIFEST.
+%
% The list of derived (unpacked) files belonging to the distribution
% and covered by LPPL is defined by the unpacking scripts (with
% extension .ins) which are part of the distribution.
% \fi
+%
% \CheckSum{157}
%
%\iffalse
-%% Copyright (C) 1999-2004 Johannes L. Braams texniek at braams.cistron.nl
+%% Copyright (C) 1999-2024 Johannes L. Braams texniek at texniek.nl
%%
%%
%<*dtx>
@@ -38,7 +39,7 @@
%<driver>\ProvidesFile{mailing.drv}
%\fi
%\ProvidesFile{mailing}
- [2004/02/20 v1.0b Send letters to multiple addresses]
+ [2024/07/20 v1.0c Send letters to multiple addresses]
%\iffalse
%<*driver>
\documentclass{ltxdoc}
@@ -48,11 +49,14 @@
\end{document}
%</driver>
%\fi
+% \changes{v1.0c}{2024/07/20}{Updated contact info}
%
% \GetFileInfo{mailing}
-% \title{Creating a mailing}
+% \title{Creating a mailing\thanks{This file
+% has version number \fileversion, last
+% revised \filedate.}}
% \author{Johannes Braams}
-% \date{september 7, 1994}
+% \date{\filedate}^^AA original date{september 7, 1994}
% \maketitle
%
% \markboth
@@ -304,4 +308,4 @@
% \end{macro}
%
% \Finale
-\endinput \ No newline at end of file
+\endinput
diff --git a/macros/latex/contrib/mailing/mailing.ins b/macros/latex/contrib/mailing/mailing.ins
index b9143a89b6..a9c133d718 100644
--- a/macros/latex/contrib/mailing/mailing.ins
+++ b/macros/latex/contrib/mailing/mailing.ins
@@ -3,54 +3,43 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1989-2004 Johannes L. Braams. All rights reserved.
%%
-%% This file is part of the mailing package.
-%% ------------------------------------------
+%% This file 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.
%%
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2003/12/01 or later.
+%% IMPORTANT NOTICE:
%%
-%% This work has the LPPL maintenance status "maintained".
+%% Copyright (C) 1994-2024 Johannes Braams, All rights reserved.
%%
-%% The Current Maintainer of this work is Johannes Braams.
-%%
-%% The list of all files belonging to the mailing package is
-%% given in the file `manifest.txt.
-%%
-%% The list of derived (unpacked) files belonging to the distribution
-%% and covered by LPPL is defined by the unpacking scripts (with
-%% extension .ins) which are part of the distribution.
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1.3c of the License, or any later version.
%%
%% --------------- start of docstrip commands ------------------
%%
% ignored commands
-\def\filedate{2004/02/20}
+\def\filedate{2024/07/20}
\def\batchfile{mailing.ins}
\input docstrip.tex
-
% package file
\preamble
-Copyright (C) 1999-2004 Johannes Braams. All rights reserved.
+Copyright (C) 1999-2024 Johannes Braams. All rights reserved.
This file was generated from file(s) of the mailing package.
------------------------------------------------------------
It may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
+conditions of the LaTeX Project Public License, either version 1.3c
of this license or (at your option) any later version.
The latest version of this license is in
http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2003/12/01 or later.
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008 or later.
This work has the LPPL maintenance status "maintained".
@@ -61,12 +50,13 @@ mailing package. You may however distribute the mailing package
without such generated files.
The list of all files belonging to the mailing package is
-given in the file `manifest.txt.
+given in the file `MANIFEST'.
The list of derived (unpacked) files belonging to the distribution
and covered by LPPL is defined by the unpacking scripts (with
extension .ins) which are part of the distribution.
\endpreamble
+\keepsilent
\generateFile{mailing.sty}{t}{\from{mailing.dtx}{package}}
diff --git a/macros/latex/contrib/mailing/mailing.pdf b/macros/latex/contrib/mailing/mailing.pdf
index 1625f90e04..109c5c3de0 100644
--- a/macros/latex/contrib/mailing/mailing.pdf
+++ b/macros/latex/contrib/mailing/mailing.pdf
Binary files differ
diff --git a/macros/latex/contrib/mathastext/README.md b/macros/latex/contrib/mathastext/README.md
index 44b778b728..f2c55cf149 100644
--- a/macros/latex/contrib/mathastext/README.md
+++ b/macros/latex/contrib/mathastext/README.md
@@ -8,13 +8,13 @@
+-------------------------------------------+
This Work may be distributed and/or modified under the conditions
-of the [LPPL1.3c](http://www.latex-project.org/lppl/lppl-1-3c.txt)
+of the [LPPL 1.3c](https://www.latex-project.org/lppl/lppl-1-3c.txt)
The Author of this Work is Jean-Francois Burnol (`jfbu at free dot fr`)
-Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
+Copyright (C) 2011-2019, 2022-2024 Jean-Francois Burnol
- Source: mathastext.dtx 1.3zb 2023/12/29
+ Source: mathastext.dtx 1.4b 2024/07/27
DESCRIPTION
@@ -82,6 +82,98 @@ Main options: `italic`, `frenchmath`, `subdued`, `LGRgreek`.
RECENT CHANGES
==============
+1.4b \[2024/07/27\]
+----
+
+* Fix a regression at `1.4` regarding option `nodigits`.
+
+* New option: `noletters`. I am in old age now so I can provide an option
+ completely antithetical to my life work.
+
+* Option `everymath` which is destined to be removed at next major
+ release warns user about it. As major releases tend to happen once
+ per decade I think the constant nagging will become insufferable
+ and you will adapt to the `1.4` changes rather than persisting into
+ using this option.
+
+1.4a \[2024/07/20\]
+----
+
+* There was a documentation glitch in 1.4 and also a problem with the
+ `\MTprimeskip` feature being lost under the emergency fall-back
+ `everymath` option.
+
+1.4 \[2024/07/20\]
+---
+
+* Since 1.2 of 2012/12/20, mathastext has used mathematically active
+ characters to propose certain advanced functionalities. For reasons half
+ lost in the mists of time but whose main one was surely to keep the
+ meaning of the active shape of characters unchanged outside of math mode,
+ this mathematical activation, and (in most cases) the definitions of what
+ active characters do, were done again at *each* entrance into math mode.
+ At this 1.4 release, mathastext does not inject *any* code whatsoever into
+ the `\everymath` and `\everydisplay` toks registers anymore (except for
+ one font-related hack needed under LuaLaTeX, see below). Your documents
+ will compile a tiny bit faster.
+
+* In (unsual) documents where users play with catcodes and mathcodes it is
+ impossible to keep exact backward compatibility, because documented user
+ commands which acted formerly a toggles with delayed action now will enact
+ changes immediately if in the document body. In practice consequences are
+ expected to be few, because catcode active characters are (as was already
+ the case with earlier releases) hacked only when they are Babel shorthands
+ and they are then modified in a way altering only their action in math
+ mode. The precise description of what mathastext does when mathematically
+ activating (or not) a character, depending on circumstances, is to be
+ found among small-print comments in the section "Extended scope of the
+ math alphabets commands". See also the documentation of the
+ `\MTmathactiveletters` command for some specifics regarding ascii letters.
+
+* New option: `everymath`. It instructs mathastext to revert (partially)
+ to its legacy code which uses `\everymath/\everydisplay`. This reversal
+ is partial, the handling of ascii letters not being included into it. The
+ `everymath` option is there only to try as a quick fix in case transition
+ to this release causes a major problem in a user document and time is
+ lacking to investigate. Please report to the author such issues. Option
+ `everymath` is destined to be removed at next major release.
+
+* New option: `activedigits`. Enjoy.
+
+* It is now easier to hook into the mathastext architecture for
+ mathematically activated ascii letters. See the new section "Hacking
+ letters (and even digits) for special tasks".
+
+* Bugfix: do not override special behavior of the math mode dot in
+ babel-spanish.
+
+* Bugfix: A desperate hack related to LuaLaTeX font matters and dating
+ back to 1.3o 2016/05/03 had been for some years in dire need of an update
+ regarding fonts using `Renderer=HarfBuzz`. This is done now. Thanks to
+ tex.sx `user691586` for report. This is currently the sole remaining
+ usage of `\everymath/\everydisplay`.
+
+* Bugfix: an optional feature related to `\{` and `\}` was broken since an
+ upstream LaTeX change at its 2020-02-02 release.
+
+* With option symbolmisc, those math symbol macros formerly defined via
+ `\DeclareRobustCommand` are now declared via `\protected\def`.
+
+* Removal of legacy branches previously kept to support LaTeX earlier than
+ 2020-02-02.
+
+* Removal of support for EU1 and EU2 font encodings.
+
+* Option `noasterisk` deprecated at 1.2d 2013/01/02 has (finally) been removed.
+
+* Four test files previously included and auto-extracted from the
+ distributed dtx have been dropped. One of them is still available
+ on the package homepage.
+
+* Some parts of the documentation have been massively re-ordered and even to some
+ extent improved. But there may be some occasions where obsolete statements will
+ be found having the legacy `\everymath/\everydisplay` situation as background.
+
1.3zb \[2023/12/29\]
-----
@@ -133,63 +225,3 @@ RECENT CHANGES
* Fix long-standing hyperlink problems in the documentation:
blue color words should now all be functioning hyperlinks.
-1.3z \[2023/09/01\]
-----
-
-Fix 1.3y regression which broke `selfGreek` option due to internal
-renamings. Thanks to Stephan Korell for report.
-
-1.3y \[2022/11/04\]
-----
-
-(the 1.3x had an annoying documentation bug, and had already
-been pushed to CTAN, hence the version increase to 1.3y)
-
-* mathastext now requires the `\expanded` primitive (which is
- available with all major engines since TeXLive 2019).
-
-* Revisit parts of the documentation (mainly
- the Examples, and the section on Greek letters) and shuffle
- the other parts to surely improve things. Mention
- the [mathfont](https://ctan.org/pkg/mathfont)
- and [frenchmath](https://ctan.org/pkg/frenchmath) packages.
-
-* Add the `ncccomma` option which loads the
- [ncccomma](https://ctan.org/pkg/ncccomma)
- package to allow the comma as decimal separator.
-
-* Add the `binarysemicolon` option to let the semi-colon
- be of type `\mathbin`, not `\mathpunct`.
-
-* Add the `frenchmath*` option which does all three of
- `frenchmath`, `ncccomma` and `binarysemicolon`.
-
-* Under the `LGRgreek` and `LGRgreeks` options only:
-
- - make available upright and italic Greek letters in math mode
- via `\alphaup`, `\alphait`, ... control sequences, in
- addition to those not using such postfixed-names.
-
- - add `\mathgreekup` and `\mathgreekit` math alphabets.
-
- - add `\MTgreekupdefault` and `\MTgreekitdefault`. The former
- replaces `\updefault` which was used in some places and since
- LaTeX 2020-02-02 caused systematic Font Warnings about the
- substitution of `up` by `n`.
-
- These new features required an extensive internal refactoring
- which is expected to not induce changes to most existing
- documents. But it may induce changes to those using some
- unusual configuration in the preamble, as made possible via the
- package macros; this can apply only to documents authored by
- those few people who actually read the documentation. For full
- details make sure to read the PDF documentation about this
- change.
-
-* Fix "`\Digamma` under `LGRgreek` option uses the shape for
- lowercase not uppercase Greek".
-
-* Fix some incongruities in log messages related to Greek
- letters and emitted during math version creation in the
- preamble.
-
diff --git a/macros/latex/contrib/mathastext/mathastext.dtx b/macros/latex/contrib/mathastext/mathastext.dtx
index d8c464a117..7857f9b70a 100644
--- a/macros/latex/contrib/mathastext/mathastext.dtx
+++ b/macros/latex/contrib/mathastext/mathastext.dtx
@@ -2,8 +2,8 @@
% N.B.: this dtx file does NOT use \DocInput, it only uses docstrip.
% The LaTeX source of the documentation is NOT prefixed with %'s.
%<*dtx>
-\def\dtxtimestamp {Time-stamp: <29-12-2023 at 10:54:52 CET>}
-\def\docdate{2023/12/29}
+\def\dtxtimestamp {Time-stamp: <26-07-2024 at 11:21:35 CEST>}
+\def\docdate{2024/07/27}
% To extract run etex on this file, then to build documentation run
% latexmk on mathastext.tex then dvipdfmx on the dvi.
% For more information see http://jf.burnol.free.fr/v13/INSTALL.txt
@@ -11,8 +11,8 @@
% due to usage of (<A7>) as an active character.
%</dtx>
%<*drv>
-\def\MSTpkgdate {2023/12/29}
-\def\MSTpkgversion {1.3zb}
+\def\MSTpkgdate {2024/07/27}
+\def\MSTpkgversion {1.4b}
%</drv>
%<*dtx>
\iffalse % meta-comment
@@ -28,13 +28,13 @@
+-------------------------------------------+
This Work may be distributed and/or modified under the conditions
-of the [LPPL1.3c](http://www.latex-project.org/lppl/lppl-1-3c.txt)
+of the [LPPL 1.3c](https://www.latex-project.org/lppl/lppl-1-3c.txt)
The Author of this Work is Jean-Francois Burnol (`jfbu at free dot fr`)
-Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
+Copyright (C) 2011-2019, 2022-2024 Jean-Francois Burnol
- Source: mathastext.dtx 1.3zb 2023/12/29
+ Source: mathastext.dtx 1.4b 2024/07/27
%</readme>
%<*dtx>
@@ -44,10 +44,10 @@ Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
%%----------------------------------------------------------------
%% Package: mathastext
%% Info: Use the text font in math mode (JFB)
-%% Version: 1.3zb 2023/12/29
+%% Version: 1.4b 2024/07/27
%% License: LPPL 1.3c (http://www.latex-project.org/lppl/lppl-1-3c.txt)
-%% Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
-%% <jfbu at free dot fr>
+%% Copyright (C) 2011-2019, 2022-2024 Jean-Francois Burnol
+%% <jfbu at free dot fr>
%% Examples of use of mathastext:
%% http://jf.burnol.free.fr/mathastext.html
%% http://jf.burnol.free.fr/showcase.html
@@ -95,19 +95,11 @@ Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
\begingroup
\input docstrip.tex
\askforoverwritefalse
-\def\testfilepreamble{\string\def\string\testfileincipit{Test file
- to accompany \string\texttt{mathastext}^^J%
- version \string\texttt{\MSTpkgversion} of \string\texttt{\MSTpkgdate}}}
\generate{\nopreamble\nopostamble
\file{README.md}{\from{mathastext.dtx}{readme}}
\file{ChangeLog.md}{\from{mathastext.dtx}{changelog}}
\usepostamble\defaultpostamble
\file{mathastext.tex}{\from{mathastext.dtx}{drv}}
- \usepreamble\testfilepreamble
- \file{mathastexttestmathversions.tex}{\from{mathastext.dtx}{mathversions}}
- \file{mathastexttestunicodemacos.tex}{\from{mathastext.dtx}{macos}}
- \file{mathastexttestunicodelinux.tex}{\from{mathastext.dtx}{linux}}
- \file{mathastexttestalphabets.tex}{\from{mathastext.dtx}{alphabets}}
\usepreamble\defaultpreamble
\file{mathastext.sty}{\from{mathastext.dtx}{package}}%
}
@@ -120,7 +112,8 @@ Copyright (C) 2011-2019, 2022, 2023 Jean-Francois Burnol
% no file extractions if latex compilation was on mathastext.tex
\ifdefined\MessageDeFin\AtEndDocument{\MessageDeFin}\fi
\begingroup\catcode1 0 \catcode`\\ 12
-% this is to fool TeX's recognition of \if/\else/\fi like tokens in test files
+% This is to fool TeX's recognition of \if/\else/\fi like tokens in test files,
+% but on 2024/07/14 I removed from the dtx four previously included such filss.
^^Aiffalse
%</dtx>
%<*readme>
@@ -200,6 +193,98 @@ MATHASTEXT CHANGE LOG
%</changelog>
%<*readme|changelog>
+1.4b \[2024/07/27\]
+----
+
+* Fix a regression at `1.4` regarding option `nodigits`.
+
+* New option: `noletters`. I am in old age now so I can provide an option
+ completely antithetical to my life work.
+
+* Option `everymath` which is destined to be removed at next major
+ release warns user about it. As major releases tend to happen once
+ per decade I think the constant nagging will become insufferable
+ and you will adapt to the `1.4` changes rather than persisting into
+ using this option.
+
+1.4a \[2024/07/20\]
+----
+
+* There was a documentation glitch in 1.4 and also a problem with the
+ `\MTprimeskip` feature being lost under the emergency fall-back
+ `everymath` option.
+
+1.4 \[2024/07/20\]
+---
+
+* Since 1.2 of 2012/12/20, mathastext has used mathematically active
+ characters to propose certain advanced functionalities. For reasons half
+ lost in the mists of time but whose main one was surely to keep the
+ meaning of the active shape of characters unchanged outside of math mode,
+ this mathematical activation, and (in most cases) the definitions of what
+ active characters do, were done again at *each* entrance into math mode.
+ At this 1.4 release, mathastext does not inject *any* code whatsoever into
+ the `\everymath` and `\everydisplay` toks registers anymore (except for
+ one font-related hack needed under LuaLaTeX, see below). Your documents
+ will compile a tiny bit faster.
+
+* In (unsual) documents where users play with catcodes and mathcodes it is
+ impossible to keep exact backward compatibility, because documented user
+ commands which acted formerly a toggles with delayed action now will enact
+ changes immediately if in the document body. In practice consequences are
+ expected to be few, because catcode active characters are (as was already
+ the case with earlier releases) hacked only when they are Babel shorthands
+ and they are then modified in a way altering only their action in math
+ mode. The precise description of what mathastext does when mathematically
+ activating (or not) a character, depending on circumstances, is to be
+ found among small-print comments in the section "Extended scope of the
+ math alphabets commands". See also the documentation of the
+ `\MTmathactiveletters` command for some specifics regarding ascii letters.
+
+* New option: `everymath`. It instructs mathastext to revert (partially)
+ to its legacy code which uses `\everymath/\everydisplay`. This reversal
+ is partial, the handling of ascii letters not being included into it. The
+ `everymath` option is there only to try as a quick fix in case transition
+ to this release causes a major problem in a user document and time is
+ lacking to investigate. Please report to the author such issues. Option
+ `everymath` is destined to be removed at next major release.
+
+* New option: `activedigits`. Enjoy.
+
+* It is now easier to hook into the mathastext architecture for
+ mathematically activated ascii letters. See the new section "Hacking
+ letters (and even digits) for special tasks".
+
+* Bugfix: do not override special behavior of the math mode dot in
+ babel-spanish.
+
+* Bugfix: A desperate hack related to LuaLaTeX font matters and dating
+ back to 1.3o 2016/05/03 had been for some years in dire need of an update
+ regarding fonts using `Renderer=HarfBuzz`. This is done now. Thanks to
+ tex.sx `user691586` for report. This is currently the sole remaining
+ usage of `\everymath/\everydisplay`.
+
+* Bugfix: an optional feature related to `\{` and `\}` was broken since an
+ upstream LaTeX change at its 2020-02-02 release.
+
+* With option symbolmisc, those math symbol macros formerly defined via
+ `\DeclareRobustCommand` are now declared via `\protected\def`.
+
+* Removal of legacy branches previously kept to support LaTeX earlier than
+ 2020-02-02.
+
+* Removal of support for EU1 and EU2 font encodings.
+
+* Option `noasterisk` deprecated at 1.2d 2013/01/02 has (finally) been removed.
+
+* Four test files previously included and auto-extracted from the
+ distributed dtx have been dropped. One of them is still available
+ on the package homepage.
+
+* Some parts of the documentation have been massively re-ordered and even to some
+ extent improved. But there may be some occasions where obsolete statements will
+ be found having the legacy `\everymath/\everydisplay` situation as background.
+
1.3zb \[2023/12/29\]
-----
@@ -251,6 +336,8 @@ MATHASTEXT CHANGE LOG
* Fix long-standing hyperlink problems in the documentation:
blue color words should now all be functioning hyperlinks.
+%</readme|changelog>
+%<*changelog>
1.3z \[2023/09/01\]
----
@@ -311,8 +398,6 @@ been pushed to CTAN, hence the version increase to 1.3y)
letters and emitted during math version creation in the
preamble.
-%</readme|changelog>
-%<*changelog>
1.3w \[2019/11/16\]
----
@@ -358,7 +443,7 @@ been pushed to CTAN, hence the version increase to 1.3y)
to some other (robust) math alphabet macros, but were not
robust in the strict sense. This does cause some issues for
moving arguments in the context of multiple math versions,
- hence it was a bug. The special behaviour of the math
+ hence it was a bug. The special behavior of the math
alphabet commands (they redefine themselves and other macros
on first use) makes is somewhat problematic for mathastext
to keep them updated across math versions and at the same
@@ -620,16 +705,14 @@ been pushed to CTAN, hence the version increase to 1.3y)
redefined as math symbols and could not be used as delimiters.
-1.3d \[2015/02/26\]
+1.3d \[2014/05/23\]
----
-* the documentation mentions the improved compatibility of mathastext
+* A 2015/02/26 edit to the documentation mentions the
+ improved compatibility of mathastext
with the latest (3.34) beamer release: no more need for
`\usefonttheme{professionalfonts}`.
-1.3d \[2014/05/23\]
-----
-
* new commands `\MTstandardgreek` and `\MTcustomgreek`.
* The Greek letters, in case of use of one of the package related
@@ -760,6 +843,8 @@ use of mathematically active characters in versions 1.2 and 1.2b.
mechanism of letting non-letter symbols obey the math alphabet
commands.
+* the `noasterisk` option is deprecated and made a no-op.
+
* documentation extended and improved.
1.2c \[2012/12/31\]
@@ -904,6 +989,11 @@ use of mathematically active characters in versions 1.2 and 1.2b.
complete manner to adapt the math configuration to fonts
provided with no math support.
+1.13d
+----
+
+* new macros `\MTstandardgreek` and `\MTcustomgreek`
+
1.13b
----
@@ -972,502 +1062,6 @@ use of mathematically active characters in versions 1.2 and 1.2b.
%%% mode: latex
%%% End:
%</drv>
-%<*mathversions>
-%% This file `mathastexttestversions.tex' is for testing the enhanced
-%% concept of math versions provided by the package `mathastext'.
-%%
-%% See `mathastext.dtx' for the copyright and conditions of distribution or
-%% modification.
-%%
-\documentclass{article}
-\usepackage[T1]{fontenc}
-\usepackage{newcent}
-\usepackage[subdued]{mathastext}
-\Mathastext[newcent]
-\renewcommand\familydefault\ttdefault
-\Mathastext[courier]
-\renewcommand\familydefault\sfdefault
-\Mathastext[avantgarde]
-\renewcommand\familydefault\rmdefault
-\begin{document}
-\testfileincipit
-
-text in NewCentury and $math\ as\ in\ default$,%
-\MTversion{courier} text in Courier and $math\ in\ Courier$,%
-\MTversion{avantgarde} text in AvantGarde and $math\ in\ AvantGarde$,%
-\MTversion[newcent]{courier} text in NewCentury and $math\ in\
-Courier$,\MTversion{bold} text in bold NewCentury and $math\ as\ in\
-bold\ default$,\MTversion[courier]{avantgarde} text in Courier and
-$math\ in\ AvantGarde$.
-\end{document}
-%</mathversions>
-%<*macos>
-%% This file `mathastexttestunicodemacos.tex' is for testing the use
-%% of the package `mathastext' with the unicode engines XeTeX or LuaLaTeX.
-%%
-%% Mac OS X specific fonts are used (initially tested on 10.8.2).
-%%
-%% See `mathastext.dtx' for the copyright and conditions of distribution or
-%% modification.
-%%
-\documentclass{article}
-\usepackage[hscale=0.85]{geometry}
-\usepackage{multicol}
-\usepackage[no-math]{fontspec}
-\usepackage{lmodern}
-\usepackage{metalogo}
-\usepackage{iftex}
-\ifXeTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \XeLaTeX)}
-\else
-\ifLuaTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \LuaLaTeX)}
-\fi\fi
-\usepackage[subdued,italic,asterisk]{mathastext}
-\setmainfont[Color=FF0000]{Hoefler Text} \Mathastext[Hoefler]
-\setmainfont[Color=336633]{American Typewriter}\Mathastext[Typewriter]
-\setmainfont[Color=0000FF]{Herculanum} \Mathastext[Herculanum]
-\setmainfont[Color=FF00FF]{Didot} \Mathastext[Didot]
-\setmainfont[Color=999999]{Comic Sans MS} \Mathastext[Comic]
-\MTDeclareVersion{Times}{T1}{ptm}{m}{n}
-\begin{document}
-\MTversion{normal}
-\testfileincipit
-
-This test uses \verb|mathastext| with its \emph{italic}, \emph{asterisk}, and
-\emph{subdued} options. The base document fonts are the Latin Modern ones (in
-OpenType format). The other OpenType fonts were chosen from those available on
-a Mac OS machine. We also used the Times font in traditional \TeX\ font T1
-encoding, to demonstrate the removal since release \texttt{1.3u} of a former
-limitation that all math versions had to share the same font encoding, else
-some characters such as the dotless \texttt{i} ($\imath$), or the minus sign
-could well vanish from the output in the non-normal math versions.
-
-Furthermore we test (last line of each block, on the left) if the non-letter
-characters obey the math alphabet \verb|\mathbf|. In the normal and bold math
-versions, this feature is de-activated, as option \emph{subdued} was used; and
-if activated we should then use in these math versions the package
-\verb|\Mathbf| rather than \verb|\mathbf| which is there still the original
-one, which will use encoding \verb|OT1| in the normal and bold versions, as we
-loaded \verb|fontspec| with its option \emph{no-math}.
-
-Some among the fonts tested have no bold variant or no italic variant.
-
-Note (tested 2013/09/03): for some reason the \verb|Color| specifications in the
-\verb|\setmainfont| commands work only
-with \XeLaTeX{}, not with \LuaLaTeX{}; a few months back I had not noticed
-such a difference between the two engines.
-
-Update (tested 2016/01/15 with reasonably up-to-date TL2015): \verb|Color|
-spec in use of \verb|\setmainfont| command now functional again with
-\LuaLaTeX.
-
-Note (tested 2019/08/11, reasonably up-to-date TL2019): spacing with the Didot
-font differs widely between \XeLaTeX\ and \LuaLaTeX{} (perhaps related to
-italic corrections, see the package documentation), and also it seems
-\LuaLaTeX{} will not find (from our generic usage of the \verb|fontspec|
-interface, at least) bold variants of the Hoefler Text and American Typewriter
-fonts, contrarily to \XeLaTeX. Also, the \emph{italic} option remains
-seemingly without effect with \LuaLaTeX{} in the case of the Hoefler Text font
-(see the package source code comments on some problems with the two ``modes''
-for text fonts under \LuaLaTeX, which may be related with this specific issue
-here).
-
-Update (tested 2022/10/29, with 1.3x and up-to-date TL2022): it appears that
-most, perhaps even all, of the remarks in the preceding note are now obsolete
-as I do not see obvious differences between outputs from \XeLaTeX{} versus
-\LuaLaTeX{} but I did not seriously compare, only quickly done.
-
-\newcommand\TEST[1]{\MTversion{#1}\def\tmpa{#1}%
- \def\tmpb{normal}\def\tmpc{bold}%
- \ifx\tmpa\tmpb\else\ifx\tmpa\tmpc\else \MTnonlettersobeymathxx
- \MTexplicitbracesobeymathxx\fi\fi
-\begin{multicols}{2}
-\hbox to\columnwidth{\hbox to\columnwidth{\hfil
- $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}}
- \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ }
- \centerline{ $0123456789$ }
- \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ }
- \centerline{ $\mathbf{!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash}$ }
-\columnbreak
- \centerline{ abcdefghijklmnopqrstuvwxyz }
- \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ }
- \centerline{ 0123456789 }
- \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
- \centerline{\bfseries !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
-\end{multicols}}
-\begin{multicols}{2}
- \centerline{\textbf{math mode}}
-\columnbreak
- \centerline{ \textbf{text} }
-\end{multicols}
-\TEST{Didot}\TEST{Comic}\TEST{normal}\TEST{Herculanum}
-\TEST{Hoefler}\TEST{Typewriter}\TEST{bold}\TEST{Times}
-\end{document}
-%</macos>
-%<*linux>
-%% This file `mathastexttestunicodelinux.tex' is for testing the use
-%% of the package `mathastext' with the unicode engines XeTeX or LuaLaTeX.
-%%
-%% Fonts which were available on a Linux machine are used. Beware that
-%% compilation with LuaLaTeX will abort with errors if specified fonts do not
-%% exist on your system.
-%%
-%% See `mathastext.dtx' for the copyright and conditions of distribution or
-%% modification.
-%%
-\documentclass{article}
-\usepackage[hscale=0.8]{geometry}
-\usepackage{multicol}
-\usepackage[no-math]{fontspec}
-\usepackage{lmodern}
-\usepackage{metalogo}
-\usepackage{iftex}
-\ifXeTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \XeLaTeX)}
-\else
-\ifLuaTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \LuaLaTeX)}
-\fi\fi
-\usepackage[subdued,italic,asterisk]{mathastext}
-\setmainfont[Color=999999]{Verdana} \Mathastext[Verdana]
-\setmainfont[Color=0000FF]{Arial} \Mathastext[Arial]
-\setmainfont[Color=00C000]{DejaVu Serif} \Mathastext[DejaVu]
-\setmainfont[Color=FF0000]{Andale Mono} \Mathastext[Andale]
-%% commented out as these fonts do not exist anymore on the Linux box
-%% I have access to (test last done 2016/01/15)
-%%\setmainfont[Color=C000C0]{URW Chancery L} \Mathastext[Chancery]
-%%\setmainfont[Color=800080]{URW Palladio L} \Mathastext[Palladio]
-\setmainfont[Color=808000]{Liberation Serif} \Mathastext[Liberation]
-\MTDeclareVersion{Times}{T1}{ptm}{m}{n}
-\begin{document}
-\MTversion{normal}
-\testfileincipit
-
-This test uses \verb|mathastext| with its \emph{italic}, \emph{asterisk}, and
-\emph{subdued} options. The base document fonts are the Latin Modern ones (in
-OpenType format). The other OpenType fonts were chosen from those available on
-a Linux machine. We also used the Times font in traditional \TeX\ font T1
-encoding, to demonstrate the removal since release \texttt{1.3u} of a former
-limitation that all math versions had to share the same font encoding, else
-some characters such as the dotless \texttt{i} ($\imath$), or the minus sign
-could well vanish from the output in the non-normal math versions.
-
-Furthermore we test (last line of each block, on the left) if the non-letter
-characters obey the math alphabet \verb|\mathbf|. In the normal and bold math
-versions, this feature is de-activated, as option \emph{subdued} was used; and
-if activated we should then use in these math versions the package
-\verb|\Mathbf| rather than \verb|\mathbf| which is there still the original
-one, which will use encoding \verb|OT1| in the normal and bold versions, as we
-loaded \verb|fontspec| with its option \emph{no-math}.
-
-Some among the fonts tested have no bold variant or no italic variant.
-
-Note: the two unicode engines \XeLaTeX\ and \LuaLaTeX\ give likely not fully
-identical results particularly for the math mode. At least this is what I
-observed regularly over the years with the variant of this file prepared for
-fonts available on Mac OS, which is my main system where I develop
-|\mathastext|. Lastly for example (TL2019, august 2019), \LuaLaTeX\ could not
-find the bold variant of some system font, but \XeLaTeX\ did. And the spacing
-for the letters of the Didot font was vastly different between the two
-engines.
-
-\newcommand\TEST[1]{\MTversion{#1}\def\tmpa{#1}%
- \def\tmpb{normal}\def\tmpc{bold}%
- \ifx\tmpa\tmpb\else\ifx\tmpa\tmpc\else \MTnonlettersobeymathxx
- \MTexplicitbracesobeymathxx\fi\fi
-\begin{multicols}{2}
-\hbox to\columnwidth{\hbox to\columnwidth{\hfil
- $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}}
- \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ }
- \centerline{ $0123456789$ }
- \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ }
- \centerline{ $\mathbf{!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash}$ }
-\columnbreak
- \centerline{ abcdefghijklmnopqrstuvwxyz }
- \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ }
- \centerline{ 0123456789}
- \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
- \centerline{\bfseries !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
-\end{multicols}}
-\begin{multicols}{2}
- \centerline{\textbf{math mode}}
-\columnbreak
- \centerline{ \textbf{text} }
-\end{multicols}
-\TEST{DejaVu}
-\TEST{Verdana}
-\TEST{Andale}
-%%\TEST{Palladio}
-\TEST{Arial}
-%%\TEST{Chancery}
-\TEST{Liberation}
-\TEST{bold}\TEST{normal}\TEST{Times}
-\end{document}
-%</linux>
-%<*alphabets>
-%% This file `mathastexttestalphabets.tex' is for testing the extended
-%% scope of the math alphabet commands with package `mathastext', via
-%% the package command \MTnonlettersobeymathxx.
-%%
-%% Compile either with latex, pdflatex, lualatex (pdf output) or xelatex.
-%%
-%% See `mathastext.dtx' for the copyright and conditions of distribution or
-%% modification.
-%%
-\documentclass{article}
-\usepackage[hscale=0.66, vscale=0.72]{geometry}
-\usepackage{amsmath}
-\usepackage{mathtools}\mathtoolsset{centercolon}
-%% WARNING THIS IS INCOMPATIBLE WITH BABEL+FRENCHB
-%% BUT WITH MATHASTEXT LOADED THIS IS CORRECTED
-%% *IF* \MTnonlettersobeymathxx IS MADE USE OF.
-\usepackage{iftex}
-\ifXeTeX
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \XeLaTeX)}
-\usepackage[no-math]{fontspec}
-\setmainfont[ExternalLocation,
- Mapping=tex-text,
- BoldFont=texgyretermes-bold,
- ItalicFont=texgyretermes-italic,
- BoldItalicFont=texgyretermes-bolditalic]{texgyretermes-regular}
-\setmonofont[ExternalLocation,
- Mapping=tex-text]{texgyrecursor-regular}
-\setsansfont[ExternalLocation,
- Mapping=tex-text]{texgyreheros-regular}
-\else
-\ifLuaTeX % for pdf output
-\expandafter\def\expandafter\testfileincipit\expandafter
- {\testfileincipit\ (compiled with \LuaLaTeX)}
-\usepackage[no-math]{fontspec}
-\setmainfont[Ligatures=TeX]{TeX Gyre Termes}
-\setmonofont[Ligatures=TeX]{TeX Gyre Cursor}
-\setsansfont[Ligatures=TeX]{TeX Gyre Heros}
-\else
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{tgtermes}
-\usepackage{tgcursor}
-\usepackage{tgheros}
-\fi\fi
-\usepackage{metalogo} % must be loaded /after/ [no-math]fontspec
-\usepackage[french]{babel}
-\usepackage[italic,asterisk]{mathastext}
-\MTlettershape{n}\Mathastext[upright]
-\MTnonlettersobeymathxx
-\MTexplicitbracesobeymathxx
-\delimitershortfall-1pt
-\usepackage{color}
-\begin{document}
-\testfileincipit
-
-\begin{center}
- \bfseries Two features of \texttt{mathastext}:\\
-extended scope of the math alphabets and added italic corrections\par
-\end{center}
-
-The package makes
-${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}\,{\{}\,{\}}$,
-the asterisk $*$, and $.\,/\,\vert\,\backslash\,{\#}\,{\$}\,{\%}\,{\&}$ obey the
-math alphabet commands (this is the maximal list, some characters may have been
-excluded by the corresponding package options). For the characters listed first
-the mechanism involves a `mathematical activation'.
-
-As this process may create incompatibilities, it will be put into action
-for
-${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}$
-only if the user makes use of the package command
-\verb|\MTnonlettersobeymathxx| (and the braces necessitate
-\verb|\MTexplicitbracesobeymathxx|).
-
-It could be that one such character has been made `active' in the entire
-document by some other package, typically a language definition file for the
-\verb|babel| system. Here for example we have used \verb|babel| with the
-\verb|french| option, which makes the high punctuation characters !?:; active
-throughout the document (extra spacing is put in front of the character when
-used in text; no change in math but perhaps for other languages and characters
-this could happen, it is up to the language definition file to decide).
-
-When \verb|mathastext| detects that a character it wants to `mathematically
-activate' is already `active', it does not go further except if it seems that
-the activation was done by Babel. If the activation was done by Babel, then
-\verb|mathastext| replaces the expansion of the active character in math mode by
-what is necessary to achieve its goal. It does not additionally mathematically
-activate the character; rather it makes sure that the character is \emph{not}
-mathematically active. In the present document the colon was made mathematically
-active by \verb|mathtools| but this was already canceled in the preamble by
-\verb|mathastext| as it was loaded later. And it is better so, because the
-combination \verb|babel| (with option \verb|frenchb|) +\verb|mathtools| (with
-\verb|centercolon|) makes \verb|$:$| create an infinite loop!
-
-But even if someone had mathematically activated the colon after the preamble,
-or after the loading of \verb|mathastext|, this would be canceled again
-automatically for each inline or displayed mathematical formula (if the user
-does \verb|\MTnonlettersobeymathxx|).
-
-The conclusion with \verb|\MTnonlettersobeymathxx| is: if some package has tried
-to make the character mathematically active, this will be overruled by
-\verb|mathastext|; if some package has made the character globally active, then
-the package wins except if it is Babel, as \verb|mathastext| may in the latter
-case safely modify the action in math mode (paying attention to the fact that
-the character should be usable in \verb|\label| and \verb|\ref| in and outside
-of math mode).
-
-The displayed equations next illustrate the extended scope of the math alphabets
-which now apply to $=$, $-$, $($, $)$, $[$, $]$ (but not to the large delimiters
-of course). Furthermore, for testing purposes the equations were labeled using
-such characters, for example the last one has label \verb|eq=7|, to check that
-the mathematical activation of $=$ does not cause problems with
-\verb|\label/\ref|.
-
-\def\testformula{\quad\Biggl\lbrace\biggl(\left(\left[[\sin(a) + \cos(b) - \log(c) =
-\sec(d)]\right]\right)\biggr)\Biggr\rbrace}
-\begin{equation}\testformula\label{eq:1}\end{equation}
-\begin{equation}\mathnormalbold{mathnormalbold:\testformula}\label{eq;2}\end{equation}
-\begin{equation}\mathrm{mathrm:\testformula}\label{eq?3}\end{equation}
-\begin{equation}\mathbf{mathbf:\testformula}\label{eq!4}\end{equation}
-\begin{equation}\mathit{mathit:\testformula}\label{eq(5}\end{equation}
-\begin{equation}\mathtt{mathtt:\testformula}\label{eq)6}\end{equation}
-\begin{equation}\mathsf{mathsf:\testformula}\label{eq=7}\end{equation}
-
-Equations above are numbered \ref{eq:1}, \ref{eq;2}, \ref{eq?3}, \ref{eq!4}, and
-$\ref{eq(5}$, $\ref{eq)6}$, and $\ref{eq=7}$.
-
-\def\testline#1{$#1$&$\mathnormalbold{#1}$&$\mathrm{#1}$&$\mathbf{#1}$&$\mathit{#1}$&$\mathtt{#1}$&$\mathsf{#1}$}
-
-\centerline{\begin{tabular}{ccccccc}
-\testline{a!b}\\
-\testline{a?b}\\
-\testline{a,b}\\
-\testline{a;b}\\
-\testline{a:b}\\
-\testline{a:=b}\\
-\testline{a\vcentcolon= b}\\
-\testline{a\colon b}\\
-\testline{a.b}\\
-\testline{a-b}\\
-\testline{a+b}\\
-\testline{a=b}\\
-\testline{a<b}\\
-\testline{a>b}\\
-\testline{<x,y>}\\
-\testline{\mathopen{<} x,y\mathclose{>}}\\
-\testline{\left< x,y\right>}\\
-\testline{a/b}\\
-\testline{a\backslash b}\\
-\testline{a\setminus b}\\
-\testline{a|b}\\
-\testline{a\mid b}\\
-\testline{(a,b)}\\
-\testline{[a,b]}\\
-\testline{\{a,b\}}
-\end{tabular}}
-
-The question mark has been made active by \verb|babel+frenchb|.
-\verb|mathastext| has imposed in math mode its ways (now \verb|$\mathbf{???}$|
-gives $\mathbf{???}$). As the extra spacing is added by \verb|frenchb| only in
-text, we had to use the math alphabet to check that indeed \verb|mathastext|
-overruled Babel.
-
-To double-check we will now make \string? mathematically active:
-\verb|\mathcode`?="8000|\mathcode`?="8000. This is a sure cause for disaster
-normally with Babel (don't do this at home without \verb|mathastext|!). But here
-with \verb|$?$| no bad surprise (infinite loop!) awaits us: just $?$.
-
-Let's take some other character, for example the opening parenthesis, and make
-it catcode active:
-\verb|\catcode`(=\active \def ({X}|.
-Let's try the input
-\verb|( and $($|.
-\begingroup
-\catcode`(=\active \gdef ({X}
-This gives ( and $($. We see that \verb|mathastext| does not attempt to modify
-the definition of the active character, as this activation was not done via the
-\verb|babel| services. \catcode`\(=12 \mathcode`(="8000 We now revert the
-parenthesis to catcode other (but maintain \verb|\def ({X}| as definition of its
-active version), and then make it mathematically active using the command
-\verb|\mathcode`(="8000|. If we try \verb|$((($| we see that the parenthesis is
-not converted into an $X$: $((($. The mathematically active character was
-overruled by \verb|mathastext|.
-
-Issuing \verb|\MTnonlettersdonotobeymathxx|\MTnonlettersdonotobeymathxx\ we do
-get the $X$'s from the input \verb|$((($|: $((($
-\endgroup
-This shows that \verb|mathastext| now does not modify in math mode the
-non-letter \verb|(|.
-
-\MTversion{upright}\MTnonlettersobeymathxx
-We defined in the preamble of the document a \verb|mathastext|-enhanced
-math version (named \verb|upright|) having the Latin letters upright in
-math mode. Let's switch to
-it: \newline
-\hbox to\linewidth{\hss\verb|\MTversion{upright}|\hss}
-
-With a font which is neither italic nor slanted, \verb|mathastext| automatically
-inserts italic corrections for better positioning of the subscript:
-\verb|$f_i^i$| gives
-$f_i^i$.
-After \verb|\MTnoicinmath| which turns off this feature\MTnoicinmath{}, the same
-input gives $f_i^i$, which is different.
-\footnote{last time I tried, this only worked with PDF\LaTeX{}, not with
- \LuaLaTeX{} or \XeTeX{}.}
-
-Again with italic corrections on (\verb|\MTicinmath|)\MTicinmath{}
-\verb|$f_{abc}^{def}$| gives $f_{abc}^{def}$, and here is another one:
-$f^{f_{abc}^{def}}_u$. Without italic corrections\MTnoicinmath: $f_{abc}^{def}$,
-and respectively $f^{f_{abc}^{def}}_u$.
-
-\MTicinmath
-
-\verb|mathastext| does not add these italic corrections inside arguments of
-math alphabets, as this would prevent the formation of ligatures:
-$\mathnormal{ff}$, $\mathrm{ff}$, $\mathit{ff}$, $\mathbf{ff}$, $\mathtt{ff}$
-(no ligature in teletype) and $\mathsf{ff}$.\footnote{\llap{\textcolor{magenta}{\bfseries Changed!\kern3em}}Prior to 1.3i,
- italic corrections were added to the \string\mathnormal\ arguments.}
-
-\centerline{\begin{tabular}{ccccccc}
-\testline{a!b}\\
-\testline{a?b}\\
-\testline{a,b}\\
-\testline{a;b}\\
-\testline{a:b}\\
-\testline{a:=b}\\
-\testline{a\vcentcolon= b}\\
-\testline{a\colon b}\\
-\testline{a.b}\\
-\testline{a-b}\\
-\testline{a+b}\\
-\testline{a=b}\\
-\testline{a<b}\\
-\testline{a>b}\\
-\testline{<x,y>}\\
-\testline{\mathopen{<} x,y\mathclose{>}}\\
-\testline{\left< x,y\right>}\\
-\testline{a/b}\\
-\testline{a\backslash b}\\
-\testline{a\setminus b}\\
-\testline{a|b}\\
-\testline{a\mid b}\\
-\testline{(a,b)}\\
-\testline{[a,b]}\\
-\testline{\{a,b\}}
-\end{tabular}}
-
-\end{document}
-%</alphabets>
%<*dtx>
^^Afi^^Aendgroup % end of big \iffalse block including generated files
% Removal of the *sfixed found in tex/latex/mlmodern/omxmlmex.fd
@@ -1523,7 +1117,7 @@ $\mathnormal{ff}$, $\mathrm{ff}$, $\mathit{ff}$, $\mathbf{ff}$, $\mathtt{ff}$
\def\cmd#1{\cs{\expandafter\cmd@to@cs\string#1}}
\def\cmd@to@cs#1#2{\char\number`#2\relax}
% Here I am loading doc=v2 but formerly I was using ltxdoc via scrdoc
-% which I dropped at release 1.4l (2022-05-29) and without much
+% which I dropped at (etoc) release 1.4l (2022-05-29) and without much
% thinking I had kept this.
\DeclareRobustCommand\cs[1]{\texttt{\bslash#1}}
% As I may have the * active, or macro names with _ or ^, I should
@@ -1552,12 +1146,19 @@ $\mathnormal{ff}$, $\mathrm{ff}$, $\mathit{ff}$, $\mathbf{ff}$, $\mathtt{ff}$
% is set by geometry package and a4paper option from xint.tex file. So it
% seems I only need the hologo loading:
\usepackage{hologo}
-\DeclareRobustCommand*{\eTeX}{\hologo{eTeX}}%
-\DeclareRobustCommand*{\pdfLaTeX}{\hologo{pdfLaTeX}}%
-\DeclareRobustCommand*{\LuaTeX}{\hologo{LuaTeX}}%
-\DeclareRobustCommand*{\LuaLaTeX}{\hologo{LuaLaTeX}}%
-\DeclareRobustCommand*{\XeTeX}{\hologo{XeTeX}}%
-\DeclareRobustCommand*{\XeLaTeX}{\hologo{XeLaTeX}}%
+% 1.4 fix to some extra line spacing obviously caused by usage of the
+% \hologo macro.
+% I opened https://github.com/ho-tex/hologo/issues/9
+% after testing, actually only XeTeX and XeLaTeX are problematic
+% update: as per @u-fischer the problem goes away if graphicx package
+% is loaded, but we don't use it in this document...
+\def\msthologo#1{\smash{\hologo{#1}}}
+\DeclareRobustCommand*{\eTeX}{\msthologo{eTeX}}%
+\DeclareRobustCommand*{\pdfLaTeX}{\msthologo{pdfLaTeX}}%
+\DeclareRobustCommand*{\LuaTeX}{\msthologo{LuaTeX}}%
+\DeclareRobustCommand*{\LuaLaTeX}{\msthologo{LuaLaTeX}}%
+\DeclareRobustCommand*{\XeTeX}{\msthologo{XeTeX}}%
+\DeclareRobustCommand*{\XeLaTeX}{\msthologo{XeLaTeX}}%
%
\makeatother
%%% end of ltxdoc+srcdoc emulation from June 2022 xint.dtx,
@@ -1669,7 +1270,8 @@ pdfpagemode=UseOutlines,%
asterisk,%
defaultmathsizes,%
symbolmisc,symbolre,%
- LGRgreek+]{mathastext}
+ LGRgreek+,
+ activedigits]{mathastext}
\let\symbolbullet\bullet
\let\bullet\originalbullet
% This version will use the mlmodern font which is current
@@ -1790,15 +1392,15 @@ pdfpagemode=UseOutlines,%
\def\tt {\normalfont\ttfamily}
% mais bon, en fait je ne les utilise pas.
-% 2023/12/27 pas encore
-% \newcommand\mstrelease[1]{\hyperlink{v#1}{\texttt{#1}}}
-
% 2023/12/27
\DeclareRobustCommand\ctanpkg[1]
{\texorpdfstring{\href{https://ctan.org/pkg/#1}{#1}}{#1}}
-% bataille avec le rendu de l'entre 1.3zb du change log
-% \hyphenation{ncc-comma}
+% 2024/07/10
+% Attention que si la cible n'existe pas il n'y a AUCUN warning
+% dans le log...
+\newcommand\mstrelease[1]{\hyperlink{#1}{\texttt{#1}}}
+
\begin{document}
% \makeatletter\show\mv@normal\makeatother
% contient
@@ -1924,10 +1526,6 @@ the preamble:
\end{verbatim}
The package records which font is set up for text, at the time it is
loaded,
-%\footnote{alternatively it is possible to configure the text font after
- % loading \mst, and then the command \cs{Mathastext} will accomplish the
- % necessary changes to the font for letters, digits and a few extra ascii
- % symbols in math mode.}
and
then arranges things in order for this text font to be used in math mode as
well. So, with the preamble as above
@@ -1955,293 +1553,6 @@ The exact list of characters concerned by
As one can see, this is a very limited list! Some possibilities exist
regarding Greek letters and will be described later.
-\subsection{Miscellanea}
-
-Please note that most of this section was written many years ago (except for
-the item about math alphabets which was enriched with important background
-information and moved upfront at |1.3zb|). But it should still be valid!
-%
-\begin{description}
-
-\item[math alphabets:] Let us first recall fundamental facts of life, in the
- world of traditional PDF\TeX\ engine and \TeX\ fonts, as background for
- understanding what \mst does in this context, which will be explained next.
- People familiar with using Unicode engines and \ctanpkg{unicode-math}, please be
- aware that the semantics there of the \LaTeX\ math alphabet commands are
- \textbf{significantly} modified!
-\begin{snugshade}
-\begin{itemize}
-\item In the default \LaTeX\ set-up all five of \mathrm, \mathbf,
- \mathit, \mathsf and \mathtt tell \TeX\ to use for their arguments
- specific \texttt{OT1}-encoded fonts,
-\item if the document body uses, as will be the case probably with any
- language other than English or its variants, some other encoding such as
- \texttt{T1} for its fonts, there is no change whatsoever to the math
- configuration, indeed most font packages ignore it completely,
-\item it is thus a priori wrong to think of these commands as switching to
- some body text font, although letters within their scopes will act as in a
- text font, and in particular obey ligatures (this also applies to operator
- names defined by |amsmath|'s \cs{DeclareMathOperator} which are, with some
- extras not mentioned here, as using \mathrm),
-\item these commands are completely different in spirit from the \LaTeX\
- \cs{textrm}, \cs{textbf}, and others, which change only some font axis;
- indeed the math alphabet commands inherit from legacy Knuth's \cs{rm},
- \cs{bf}, and others which are complete font specifiers,
-\item in particular when nesting, it is the inner-most which wins,
-\item only mathematical characters (such as letters) which are declared to
- \TeX\ as being of ``variable family type'' react to being in the argument of
- a math alphabet command,
-\item lowercase Greek letters are by default in \LaTeX\ immune to math
- alphabets (so \verb|\mathrm{\pi}| induces no change in output), but the
- eleven uppercase Greek letters are of ``variable family type'' because they
- are picked in the \texttt{OT1}-encoded font also used for operator names
- (the one to which \mathrm maps), \emph{and they occupy the exact same
- slots in the \emph{\texttt{OML}}-encoding to which} \mathnormal maps! So
- in default \TeX, \verb|\mathnormal{\Gamma}| gives a slanted one. The slots
- occupied in \texttt{OML}-encoding by the lowercase Greek letters (to which
- encoding they are a priori assigned) give
- completely unrelated glyphs in the \texttt{OT1}-encoding, so it makes sense
- that the default \LaTeX\ declares them to not react to math alphabets.
- Notice though, that if \LaTeX\ had declared a \cs{mathnormalbold}, mapping
- to a bold \texttt{OML}-encoded font, it would have made sense to also have
- \cs{alpha}, \cs{beta}, etc... be of ``variable family type'',
-\item but of course then one should a priori never use |\mathbf{\pi}| for
- example, because the default \mathbf selects an \texttt{OT1}-encoded
- font, where there is no pi glyph whatsoever and in particular not at the slot of
- pi in the \texttt{OML} encoding (slot number 25)!
-\end{itemize}
-\end{snugshade}
-Please keep all the above in mind when trying to understand what \mst does
-with math alphabets. The most significant point described next naturally is that
-\mst will sync \mathnormal, \mathrm, \mathbf, \mathit, \mathsf and
-\mathtt to map to the \mst-ified body text fonts.
- \begin{itemize}
- \item \mathnormal, \mathrm, \mathbf, \mathit,
- \mathsf and \mathtt are modified to use the \mst-ified
- text fonts; this can be disabled via defaultalphabets and
- related individual options, but the package always provides
- \Mathnormal, \Mathrm, etc..., to match the \mst font
- configuration (\RLNote{changed:}{1.3za}prior to |1.3za|
- defaultalphabets and related options also caused the \mst
- alphabet commands not to be defined). Recall that there may
- arise a ``too many math alphabets'' error if too many of these
- commands are \emph{used} in the document:
- \emph{declaring} them is not by itself the cause of the error. See the
- \LaTeX\ news entry of its \texttt{2021-11-15} release for
- the counter \texttt{localmathalphabets} (with default value 2)
- which can be now be used if one hits such a difficulty.
- \item We define a new math alphabet command
- \mathnormalbold which gives direct access to
- the bold version of the \mathnormal alphabet
- (rather than using either the \cs{bm} command from
- the \ctanpkg{bm} package or the \cs{boldsymbol} command
- from the \ctanpkg{amsbsy} package). As it does not
- exist in the default \LaTeX{} math font set-up, this
- alphabet is \emph{not} subjected to the {subdued option} action.
-
-\item version \RightNote{1.2}|1.2| of \mst has extended the scope of the math
- alphabets to apply to non-alphabetical characters and to
- operator names. This respects the automatic white spaces
- added by \TeX{} around math symbols.
-\item The\RightNote{1.3i}
- extra skips around letters (see \autoref{sec:mathskips} and
- \autoref{sec:ic}) are removed in the scope of the math alphabets.
-
- \item Depending on options, further math alphabet commands
- are defined by the package: \MathEulerBold,
- \MathEuler, \MathPSymbol, and since |1.3x| under
- the LGRgreek family of options\RightNote{1.3x} also
- \mathgreekup and \mathgreekit. See
- \autoref{sec:newgreek}.
- \item \RightNote{1.3za}Addition of \mathgreekupbold and
- \mathgreekitbold under the LGRgreek family of options.
- \item With\RightNote{1.3za} the LGRgreek+ option
- which enhances Greek letters with a specific behavior when in the
- arguments of the \mathrm, \mathbf, etc..., math alphabet
- commands, this special behavior is not triggered by the \Mathrm,
- \Mathbf, et al., which are genuine unmodifed math alphabet commands. See
- \autoref{sec:newgreekplus}.
- \end{itemize}
-
-\item[the en-dash as minus sign:] very often the -
- character from the text font does not give a good
- minus sign. So by default, the package uses the
- en-dash sign \textendash{}. Use noendash to
- deactivate it. Starting with version |1.12| of the
- package this `en-dash as minus' should work in all
- encodings, including Unicode (if \ctanpkg{fontspec} has been
- loaded); see also |unicodeminus| for OpenType fonts.
-
-\item[amsmath:] \strut the behaviour of the
- \cs{DeclareMathOperator}\RightNote{1.3n} command
- of |amsmath| is modified by \mst for it to use the correct font.
- Additionally, release |1.3n| of \mst at long last also handles an extra
- operation done by |amsmath| for |'.:/-*| to be used in operator names
- without the extra math spacing.%
-%
-\footnote{To the experts: there is a long story here that \cs{newmcodes@}
- hardcodes the font, that it was not compatible with Unicode engines, that
- during some time (2013-2016) \texttt{lualatex-math} fixed that and very
- recently |amsopn.sty 2016/03/08 v2.02| also, so now \texttt{lualatex-math
- 1.6} does nothing as it is already fixed ``upstream'' in |amsopn.sty|, but
- anyhow in both cases, this still hardcoded the font, so finally \mst does
- the right thing from its point of view. See the code comments for more,
- there is an issue here with \LuaLaTeX\ not applying the curly right quote
- contrarily to \XeLaTeX.}
-%
-This customization is suppressed in subdued mode for the |normal| and |bold|
-math versions.
-
-\item[hbar:] the default \LaTeX\ definition of \hbar would in our context
- make use of the |h| of the current math font (so for us, it is also the text
- font, perhaps in italic shape), but with a bar accross the |h| from the
- original default math font for letters (usually |cmmi|). We redefine
- \cs{hbar} to use the text font macron accent (|\=|) as a mock math accent
- (this takes into account the italic option and is compatible with
- subscripts and superscripts).
-
- Since |1.12| \mst when dealing with a Unicode font sets the \cs{hbar}
- to be the character from the font having hexadecimal codepoint |U+0127|.
-
- Since |1.3u| the general 8bits font encoding is
- supported\RightNote{1.3u} (see discussion of the |mathaccents| option
- at end of this list for the shared limitations). Brief testing with
- various usual \TeX\ fonts shows that the vertical positioning of
- the bar isn't satisfying. It is planned to either add a parameter to
- adjust it or to modify altogether the mode of construction of the |\hbar|.
-
- Use nohbar to tell \mst not do provide its own |\hbar|.
-
-
-\item[dotless i and j:] by default the package redefines \cs{imath} and
- \cs{jmath} to give (in math mode) the dotless i and j (if it exists at
- all) from the text font.%
-%
-\footnote{\RightNote{1.3t}Since \texttt{1.12} it also redefined \cs{i} and
- \cs{j} for usability both in text and math modes, but this has been
- dropped at \texttt{1.3t}. Breaking change!}
-
-\item[asterisk:] versions of \mst earlier than |1.2d [2013/01/02]|
- did not do anything
- with the \cs{ast} control sequence but did pick the asterisk
- $*$ in the document text font, and this often was a rather
- silly thing as the text asterisk is generally in a raised
- position. Furthermore, the $*$ lost its status of a binary
- operator and was treated as an `ordinary' symbol. An option
- |noasterisk| turned this feature off. Starting with |1.2d|,
- the |noasterisk| option is deprecated and the new default is
- to do nothing. But when option asterisk is received by the
- package, then both \cs{ast} and $*$ are simultaneously
- modified to use (as binary operators) the text asterisk,
- slightly lowered. The amount of lowering\footnote{with the
- option \texttt{symbolmisc}, the asterisk is picked from
- the Symbol font, and the amount of lowering is
- non-customizable; however if a math alphabet command is
- used, the asterisk is then again from a text font and the
- lowering will be as specified by \cs{MTlowerast}.} is
- decided by the mandatory argument to the command
- \csb{MTlowerast}\marg{dimen}. The package initially does
- \cs{MTlowerast}|{.3\height}|. Doing \cs{MTlowerast}|{.5ex}| is
- not a good idea as it does not scale properly in the script
- and scriptscript styles. With an argument given as a
- multiple of |\height|, the asterisk will behave as expected
- in subscripts and subscripts of subscripts. But $*$ is now
- `mathematically active'\thinspace\footnote{in a hopefully
- safe way, for example {\ttfamily\$\string\label\{eq*1\}\$}
- is ok.} and |$R^*$| or |$R^\ast$| \emph{must} be input as
- |$R^{*}$| and |$R^{\ast}$|. Furthermore, they will obey the
- math alphabet commands.
-
-\item[\XeTeX{} and \LuaLaTeX{}:] regarding the en-dash and the
- dotless i and j, the package is now under the Unicode engines
- compatible not only with the ``Unicode'' \LaTeX\ font encodings
- EU1 (\XeTeX, old fontspec), EU2 (\LuaLaTeX, old fontspec), TU
- (\XeTeX\ and \LuaLaTeX, modern fontspec), but also with
- traditional 8bits-encodings declared as a |fontenc|
- option.\RightNote{1.3u}
-
-% obsolete
- % Formerly, with a Unicode engine,
- % only OT1, T1 and LY1 were supported by \mst as the 8bit encoding
- % of the document text font, regarding the minus as en-dash and
- % the dotless i and j.
-
- \item[fontspec:] one more note to users of
-\XeTeX{}/\LuaLaTeX{} with \ctanpkg{fontspec}:\newline
-\fbox{it has to be
-loaded {with the option} |no-math|},
-and \emph{before} \mst.
-
-\item[vec accent:] The default \cs{vec} accent is not
- appropriate for upright letters, so \mst
- provides a \cs{fouriervec} which takes its glyph in a
- Fourier font, and an Ersatz \cs{pmvec}
- which is reasonably good looking on upright letters
- and works with the \cs{rightarrow} glyph. Contrarily
- to version |1.0|, the default \cs{vec} is not
- overwritten with \cs{fouriervec}. And contrarily to
- version |1.1|, one now needs to pass the option
- fouriervec to have the math accent \cs{fouriervec}
- defined by the package.%
-%
-\footnote{this costs a math family, as I never came back to this to try to
- do otherwise.}
-
-\item[math accents:] if option mathaccents is used then \mst attempts to let
- the math accents |\acute|, |\grave|, etc... use the suitable glyphs from the
- text font. Prior to |1.3u| only |OT1|, |T1|, and |LY1| were supported (via
- hardcoded slots). It should now work with any 8bits font
- encoding\RightNote{1.3u} having been declared as an option to the
- \ctanpkg{fontenc} package (and of course providing the ten needed text accents which
- will mock math accents).%
- %
- \footnote{The code will raise low-level \TeX\ errors if the user attempts to
- use an 8bits font encoding whose \LaTeX\ definition file is lacking the
- suitable uses of \cs{DeclareTextAccent} or if the low level \LaTeX\ macro
- implementation of text accents changes significantly; in such cases please
- report the problem to the author, so that it can be documented in future
- releases!}
-
- The |\vec| math accent is not handled here, as it is not available in the
- usual 8bits font encodings. See the fouriervec option or the \pmvec
- command.
-
- The math accents obey the subdued option\RightNote{1.3u}
- and will change in sync with the \mst-ified text font used in
- each non subdued math version.
-
- (Very) brief testing during |1.3u| development with \XeTeX\ and \LuaTeX\ let
- the author conclude that usage with the \cs{Umathaccent} primitive of an
- OpenType accent glyph slot (which in the text font is for usage as a
- postpended combining character) gives definitely bad horizontal placements
- for both engines (each in its own way). Thus, the redefinitions of accents
- for a \mst declared math version with an OpenType font is by default
- canceled.%
-%
-\footnote{I.e., the \cs{grave} etc... control sequences will, in math versions
- with an OpenType \mst-ified font, expand to macros holding their initial
- meanings, unmodified by \mst, which was in force at the
- |\string\begin\string{document\string}|.}
-%
- Use unimathaccents to force usage of the OpenType font text
- accents glyph slots with the \cs{Umathaccent} primitive. Expert users are
- invited to check out the code and to contribute suggestions if some extras
- can improve it.
-
-\item[varying font encodings:] the very first release of \mst dealt with only
- one font; very soon thereafter it acquired the capacity to define multiple
- math versions, each one using its own text font. But, as was documented at
- this location formerly, various encoding dependent decisions were done once
- and for all during package loading.
-
- This meant in particular that the minus sign (using the text endash), the
- dotless |i| and |j|, the |\hbar|, the math accents were all set up for only
- one unique font encoding. It was thus recommended that all math versions
- share the same font encoding.
-
- The |1.3u| release has lifted this restriction.\RightNote{1.3u}
-\end{description}
-
\subsection{Examples}
\label{sec:examples}
@@ -2473,7 +1784,7 @@ versions.%
% \href{http://mirrors.ctan.org/help/Catalogue/entries/cbgreek-complete.html}{cbfonts},
% \href{http://mirrors.ctan.org/help/Catalogue/entries/txfontsb.html}{txfontsb}.
-\emph{Since |1.3x| this documentation uses globally the |mlmodern|%
+\emph{Since \mstrelease{1.3y} this documentation uses globally the |mlmodern|%
%
\footnote{Daniel Benjamin \textsc{Miller}, \emph{A blacker Type 1 version of Computer Modern, with multilingual
support}, \url{https://ctan.org/pkg/mlmodern}. I have added to the preamble
@@ -2500,7 +1811,7 @@ reasons of PDF file size.}%
\subsubsection{The \blueit{italic} option}
-In the initial version |1.0|, the Latin letters in
+In the initial version \mstrelease{1.0}, the Latin letters in
mathematical mode assumed the exact same shape as in
text mode, and this meant, generally speaking, that
they would turn up upright. Doing this gives a very
@@ -2510,15 +1821,15 @@ one of the design goals of \mst.
Nevertheless, soon after I posted the initial version
of the package to CTAN, I was overwhelmed by
-numerous\footnote{this means ``more then one.''}
+numerous\footnote{this means ``more than one.''}
questions\footnote{I thank in particular
Tariq~\textsc{Perwez} and Kevin~\textsc{Klement} for
their kind remarks (chronological order).} on how to
have the letters be in italic shape.
-The default is still, as in version |1.0|, for everything to be in
+The default is still, as in version \mstrelease{1.0}, for everything to be in
upright shape, but it suffices to pass to the package the option
-italic\RightNote{1.1} to let the Latin letters in math mode be
+italic\RightNote{\mstrelease{1.1}} to let the Latin letters in math mode be
in italic shape.%
%
\footnote{more precisely stated, the value of \cs{itdefault}
@@ -2547,7 +1858,7 @@ the \ctanpkg{moresize} package. To cancel all of this use option
\subsubsection[The subdued option]{The \blueit{subdued} option}\label{sec:subdued}
-This option was introduced in |v1.15|.\RightNote{1.15} It provides a manner to
+This option was introduced in |v1.15|.\RightNote{\mstrelease{1.15}} It provides a manner to
switch on the \mst-\emph{ification} only for limited portions of
the document, with the help of the mechanism of math versions. Without the
subdued option, the \emph{mathastextification} applies by default
@@ -2560,7 +1871,7 @@ Despite some limitations I will now partially describe, the subdued option
has its utility, as I think is illustrated enough by the examples given at the
start of this document and it works reasonably well.
-\begin{framed}
+\begin{shaded*}
\mst was not written initially in order to allow its action to
be completely canceled. It does not store (all) mathcodes nor
does it set them (all) when changing math versions; only that would
@@ -2569,7 +1880,7 @@ start of this document and it works reasonably well.
official interface to math mode, as it is almost entirely
preamble only).
- Releases |1.3t| and |1.3u| do this kind of things to maintain
+ Releases \mstrelease{1.3t} and \mstrelease{1.3u} do this kind of things to maintain
usability across multiple \mst-ified math versions of characters
which are obviously font encoding dependent such as the minus
sign as en-dash (or unicode minus), the dotless i, the |\hbar|,
@@ -2581,7 +1892,7 @@ start of this document and it works reasonably well.
mode and to multiple math versions amounts to some kind of a
kludge, added to an initial design which handled a single unique
text font.
-\end{framed}
+\end{shaded*}
To get the displayed math
(almost) as if \mst had not been loaded, one must also
@@ -2590,7 +1901,7 @@ as, for example, the colon, the dot, and the minus sign belong
in the default \LaTeX{} math mode set-up to three distinct fonts
whereas \mst will pick (even subdued) the three of them in the same
font,%
-\footnote{\RightNote{1.3t}The minus sign is now perfectly subdued,
+\footnote{\RightNote{\mstrelease{1.3t}}The minus sign is now perfectly subdued,
because its original mathcode is stored and restored; this was only
way to handle the case with Unicode engines
where the math operator font is in a classic
@@ -2604,13 +1915,13 @@ mathcodes, so to
be on the safe side one needs the basic option which limits the
mathastextification to letters and digits.%
%
-\footnote{\RightNote{1.3d}The subdued mode does extinguish
+\footnote{\RightNote{\mstrelease{1.3d}}The subdued mode does extinguish
in the normal and bold math versions the action of options selfGreek,
eulergreek, and symbolgreek (previously only LGRgreek was
subdue-able).}
-\footnote{\RightNote{1.3t}The \texttt{\string\imath} and
+\footnote{\RightNote{\mstrelease{1.3t}}The \texttt{\string\imath} and
\texttt{\string\jmath} now obey the subdued regime.}
-\footnote{\RightNote{1.3u}Also \texttt{\string\hbar}
+\footnote{\RightNote{\mstrelease{1.3u}}Also \texttt{\string\hbar}
and the math accents (see mathaccents option) obey the subdued regime.}
%
Even then, in some circumstances, this may not suffice: for example the
@@ -2644,80 +1955,192 @@ customization of Greek letters. The command \MTcustomgreek reenables the
customization done by \mst, if it was loaded with the LGRgreek or one of the
other Greek related options.
-\begin{framed}
- Release |1.3x| has added important new aspects to the handling of Greek
+\begin{shaded*}
+ Release \mstrelease{1.3y} has added important new aspects to the handling of Greek
letters via the LGRgreek option. Make sure to read the \autoref{sec:newgreek}.
-\end{framed}
+\end{shaded*}
+
+\subsection{Miscellanea}
+
+Please note that most material to be found in this section was written many
+years ago (except the two subsections on frenchmath on one hand and
+intervals on the other hand). But it should still be valid!
-\subsection{More miscellanea}
+Ultimately most information here should be moved into the
+reference sections \autoref{sec:cmd} and \autoref{sec:opt}, and only some
+generalities should be kept here.
-This may repeat information already given.
+\subsubsection{Load \mst always last}
+
+The ``large'' math symbols are not modified in any way by \mst. Only loading
+some math font packages such as \ctanpkg{fourier}, \ctanpkg{kpfonts}, \ctanpkg{mathabx}, \ctanpkg{mathdesign},
+\ctanpkg{txfonts}, \ctanpkg{newtxmath}, \ctanpkg{libertinust1math}, others\dots{} will change them. Think of loading these
+packages before \mst, else they might undo what \mst did.
+
+More generally any package (such as \ctanpkg{amsmath}) dealing with math mode should be
+loaded \emph{before} \mst.
\subsubsection{Avoid \texorpdfstring{\texttt{OT1}}{OT1} encoding}
- We specified in our minimal working example a |T1| encoding (|LY1| would
- have been ok, too) because the default |OT1| does not have the
+ The default |OT1| does not have the
{\color{joli}\DeleteShortVerb{\|}
$\mathord{<}\,\mathord{>}\,\mathord{|}$\,\{\,\}} and
{\color{joli}$\backslash$\MakeShortVerb{\|}} glyphs. If
\mst detects |OT1| as the default encoding it will leave these characters to
- their defaults from the math fonts.\footnote{the subdued option, described next,
+ their defaults from the math fonts.%
+%
+\footnote{The subdued option, described next,
acts a bit otherwise, it forces, contrarily to its usual low-key character,
the replacement of |OT1| by |T1| for the fonts ultimately used with letters
and digits in math mode.}
-\begin{framed}
+%
+\begin{shaded*}
If \mst detects the obsolete |OT1| encoding it does not do anything with
\DeleteShortVerb{\|}<, >, |, \{, and \} which (except for monospace fonts)
are not available in that encoding.\MakeShortVerb{\|}
To fully benefit from \mst it is
recommended to use some other encoding having these glyphs such as |T1| or
|LY1|.
-\end{framed}
+\end{shaded*}
\subsubsection{Derivative, minus, asterisk}
The text characters {}'{} and {}-{} are not used, and the asterisk is
-done optionally:
+done only optionally:
\begin{itemize}
\item the derivative sign ${}'$ is left to its default as the text font
- glyph {}'{} is not, as a rule, a satisfying alternative.\footnote{|v1.2| adds
+ glyph {}'{} is not, as a rule, a satisfying alternative.%
+%
+\footnote{|v1.2| adds
a customizable tiny space before ${}'$ to separate it from the previous
letter, this is really needed when using upright letters in math mode with
the CM derivative glyph.{\MTversion{upright}\sffamily\MTprimeskip{.5mu}%
Compare $f'$ with \MTprimeskip{0mu}$f'$.} }
+
\item for the minus sign \mst uses the endash character
- \textendash, if available, and not the hyphen character -.%
-%
-\footnote{see the unicodeminus option if using an OpenType font.}
-%
-\item the asterisk option is mandatory for \mst to replace the binary math
- operator $*$ (and the equivalent control sequence \cs{ast}) with a version
- which uses the text asterisk * suitably lowered\footnote{the amount of
- lowering can be customized.} (and with the correct spaces around it as
- binary operator). The reason is that after this inputs such as |$R^*$|
- or |$R^\ast$| raise errors and \emph{must} be written |$R^{*}$| or |$R^{\ast}$|.
+ \textendash, if available, and not the hyphen character -. With
+an OpenType font, \mst uses per default the EN DASH U+2013 (see unicodeminus).
+
+\item the asterisk option is required for \mst to use the text font for the
+ binary infix math operator $*$ and
+ the control sequence \cs{ast}. They will use then the text asterisk
+ * suitably lowered, and with the correct spaces around it as binary
+ operator.
+ \begin{snugshade}
+ Attention that with this option, inputs such as |$R^*$| or |$R^\ast$|
+ raise errors and \emph{must} be replaced by |$R^{*}$|, respectively
+ |$R^{\ast}$|.
+ \end{snugshade}
\end{itemize}
+\subsubsection{Large symbols and delimiters}
+
Nothing is changed to the ``large'' math symbols, except for
$\MToriginalprod$ and $\MToriginalsum$ in inline math which, like here:
$\prod\sum$, will be taken from the Symbol Font if option symbolmisc
was used.
The left and right delimiters are taken from
-the text font only for the base size: any |\big|, |\bigl|, |\bigr|,
-etc\dots reverts to the original math symbols.
+the text font only for the base size: any one of |\big|, |\bigl|, |\bigr|,
+etc\dots will trigger the use of the original math symbols.
+\subsubsection{amsmath}
+The behavior of the
+ \cs{DeclareMathOperator}\RightNote{\mstrelease{1.3n}} command
+ of |amsmath| is modified by \mst for it to use the correct font.
+ Additionally, release \mstrelease{1.3n} of \mst at long last also handles an extra
+ operation done by |amsmath| for |'.:/-*| to be used in operator names
+ without the extra math spacing.%
+%
+\footnote{To the experts: there is a long story here that \cs{newmcodes@}
+ hardcodes the font, that it was not compatible with Unicode engines, that
+ during some time (2013-2016) \texttt{lualatex-math} fixed that and very
+ recently |amsopn.sty 2016/03/08 v2.02| also, so now \texttt{lualatex-math
+ 1.6} does nothing as it is already fixed ``upstream'' in |amsopn.sty|, but
+ anyhow in both cases, this still hardcoded the font, so finally \mst does
+ the right thing from its point of view. See the code comments for more,
+ there is an issue here with \LuaLaTeX\ not applying the curly right quote
+ contrarily to \XeLaTeX.}
+%
+This customization is suppressed in subdued mode for the |normal| and |bold|
+math versions.
-\subsubsection{Load \mst always last}
+\subsubsection{hbar}
+The default \LaTeX\ definition of \hbar would in our context
+ make use of the |h| of the current math font (so for us, it is also the text
+ font, perhaps in italic shape), but with a bar accross the |h| from the
+ original default math font for letters (usually |cmmi|). We redefine
+ \cs{hbar} to use the text font macron accent (|\=|) as a mock math accent
+ (this takes into account the italic option and is compatible with
+ subscripts and superscripts).
-The ``large'' math symbols are not modified in any way by \mst. Only loading
-some math font packages such as \ctanpkg{fourier}, \ctanpkg{kpfonts}, \ctanpkg{mathabx}, \ctanpkg{mathdesign},
-\ctanpkg{txfonts}, \ctanpkg{newtxmath}, etc\dots{} will change them. Think of loading these
-packages before \mst, else they might undo what \mst did.
+ Since \mstrelease{1.12} \mst when dealing with a Unicode font sets the \cs{hbar}
+ to be the character from the font having hexadecimal codepoint |U+0127|.
-More generally any package (such as \ctanpkg{amsmath}) dealing with math mode should be
-loaded \emph{before} \mst.
+ Since \mstrelease{1.3u} the general 8bits font encoding is
+ supported\RightNote{\mstrelease{1.3u}} (see discussion of the |mathaccents| option
+ at end of this list for the shared limitations). Brief testing with
+ various usual \TeX\ fonts shows that the vertical positioning of
+ the bar isn't satisfying. It is planned to either add a parameter to
+ adjust it or to modify altogether the mode of construction of the |\hbar|.
+
+ Use nohbar to tell \mst not do provide its own |\hbar|.
+
+
+\subsubsection{Dotless i and j}
+By default the package redefines \cs{imath} and
+ \cs{jmath} to give (in math mode) the dotless i and j (if it exists at
+ all) from the text font.%
+
+ \subsubsection{fontspec}
+
+\fbox{\ctanpkg{fontspec}
+has to be
+loaded {with the option} |no-math|},
+\emph{and before} \mst.
+
+\subsubsection{vec accent}
+
+The default \cs{vec} accent is not appropriate for upright letters, so \mst
+provides under option fouriervec a math accent control sequence
+\cs{fouriervec} which takes its glyph in a Fourier font. A poorman Ersatz
+\cs{pmvec} is always available ; it is reasonably good looking on upright
+letters and works with the \cs{rightarrow} glyph.
+
+\subsubsection{math accents}
+If option mathaccents is used then \mst attempts to let
+ the math accents |\acute|, |\grave|, etc... use the suitable glyphs from the
+ text font.
+
+ The |\vec| math accent is not handled here, as it is not available in the
+ usual 8bits font encodings. See the fouriervec option or the \pmvec
+ command.
+
+ The math accents obey the subdued option\RightNote{\mstrelease{1.3u}}
+ and will change in sync with the \mst-ified text font used in
+ each non subdued math version.
+
+\begin{footnotesize}
+ (Very) brief testing during \mstrelease{1.3u} development with \XeTeX\ and \LuaTeX\ let
+ the author conclude that usage with the \cs{Umathaccent} primitive of an
+ OpenType accent glyph slot (which in the text font is for usage as a
+ postpended combining character) gives definitely bad horizontal placements
+ for both engines (each in its own way). Thus, the redefinitions of accents
+ for a \mst declared math version with an OpenType font is by default
+ canceled.%
+%
+\footnote{I.e., the \cs{grave} etc... control sequences will, in math versions
+ with an OpenType \mst-ified font, expand to macros holding their initial
+ meanings, unmodified by \mst, which was in force at the
+ |\string\begin\string{document\string}|.}
+%
+ Use unimathaccents to force usage of the OpenType font text
+ accents glyph slots with the \cs{Umathaccent} primitive. Expert users are
+ invited to check out the code and to contribute suggestions if some extras
+ can improve it.\par
+\end{footnotesize}
+
\subsubsection{Sans serif in math}
@@ -2733,8 +2156,6 @@ text.
\subsubsection{\mst with \ctanpkg{beamer}}\label{ssec:beamer}
-%\noindent\llap{\textcolor{green}{\bfseries 2015/02/26}\hspace{1em}}
-
Starting
with release |3.34| of \ctanpkg{beamer}%
%
@@ -2791,24 +2212,9 @@ Antoine~\textsc{Missier}:
\item and load \mst afterwards (with possibly some font packages loaded in-between), passing it
the option frenchmath*.
\end{itemize}
-% \begin{footnotesize}
-% The\RightNote{1.3zb} release |2.7| dated |2023/12/23| of
-% \ctanpkg{frenchmath} required \mst to add a compatiblity patch and modify
-% the frenchmath* option. The above instructions cause a build crash with
-% |2.7| \ctanpkg{frenchmath} and \mst |1.3za| and earlier. One must use \mst
-% |1.3zb| or later.\par
-% \end{footnotesize}
-% Also, \ctanpkg{frenchmath} must be at least at
-% version |2.7| of |2023/12/23|.%
Limited testing indicated that the combination of the two packages (using the
options as indicated above) works satisfactorily.
-% as expected but that some adjustments may be needed for some of
-% the macros defined by \ctanpkg{frenchmath}: we
-% observed in particular that the |\paral| command (which produces
-% $\mathrel{/\!\!/}$) may not work well if the $/$ is picked up from the text
-% font due to \mst (alternative could be for most text fonts
-% |\def\paral{\mathrel{//}}|),
There may be some minor adjustments to do, as the \mst-ified math font may
cause issues to some of
the \ctanpkg{frenchmath} macros: for exemple \cs{Oijk} may not work
@@ -2886,9 +2292,9 @@ respectively, which make
the comma (to some extent) `intelligent', i.e. decide on the spacing type
(ordinary or punctuation) depending on next token. Do not load directly the packages
but simply use the corresponding option and \mst will do the loading and take
-appropriate needed measures for compatibility. The\RightNote{1.3zb} decimalcomma option is
+appropriate needed measures for compatibility. The\RightNote{\mstrelease{1.3zb}} decimalcomma option is
included in the frenchmath* option, and the ncccomma
-option is included in the frenchmath+ option.\RightNote{1.3zb}
+option is included in the frenchmath+ option.\RightNote{\mstrelease{1.3zb}}
Let's give another example of usage of \ctanpkg{mathtools} here to define a
macro for integer ranges:
@@ -2924,6 +2330,417 @@ multiple math versions. Read the fine print below for some limitations though.
\mst actions on square brackets (and parentheses).\par
\end{footnotesize}
+\subsubsection{Unicode engines}
+
+\mst is minimally Unicode aware since \mstrelease{1.12} and can be used with \XeTeX{} or
+\LuaTeX{}. Starting with release \mstrelease{1.3}, it needs |luatex| to be at least
+as recent as the one which was provided with the TL2013 distribution.
+
+However \mst applies only to (a subset of) the |32-127| ascii range, and
+optionally to Greek letters, but for the latter only if provided via ``\TeX\
+fonts'' such as Euler, Symbol or LGR-encoded fonts.
+It does not know how to use a given Unicode font simultaneously for Latin and
+Greek letters.
+
+Thus, first consider much better alternatives:
+\begin{itemize}
+\item Since 2018, the package \ctanpkg{mathfont}%
+%
+\footnote{Conrad \textsc{Kosowsky}, \emph{Use TrueType and OpenType fonts in math mode}
+\url{https://ctan.org/pkg/mathfont}.}
+%
+adapts Unicode text fonts to usage in math mode. It works with both \XeTeX\
+and \LuaTeX.
+\item For \XeTeX\ only, \ctanpkg{mathspec}%
+%
+\footnote{Andrew Gilbert \textsc{Moschou}, \emph{Specify arbitrary fonts for mathematics in \XeTeX}
+\url{https://ctan.org/pkg/mathspec}.}
+%
+also allows usage of arbitrary text fonts in mathematics.
+\item and of course
+\ctanpkg{unicode-math}%
+%
+\footnote{Will \textsc{Robertson}, et al., \emph{Unicode mathematics with
+ support for XeTeX and LuaTeX} \url{https://ctan.org/pkg/unicode-math}.}
+%
+is the standard package for using OpenType fonts which are equipped with the needed extra
+support being used in \TeX\ math mode.
+\end{itemize}
+
+If using any one of the above you probably don't need, don't want, and should
+not use \mst.
+
+Let me insist that \mst has not been tested in any systematic
+manner under the Unicode engines; and that it is expected to be most definitely
+incompatible with \ctanpkg{unicode-math}, although your mileage may vary and some
+features may appear to work.
+
+When using \mst with either \XeTeX{} or \LuaTeX{} it is recommended to use the
+\ctanpkg{fontspec} package (see remark below on \cs{encodingdefault}). Furthermore,
+if using \ctanpkg{fontspec} it is \emph{necessary} to load it with its
+|no-math| option, and this \emph{must} happen before loading \mst.
+\begin{shaded*}
+\begin{itemize}[label=$\bullet$, leftmargin=1em]
+\item
+ Use \ctanpkg{fontspec} with its
+ \emph{no-math} option, and load it \emph{prior} to \mst. As some packages
+ load \ctanpkg{fontspec} themselves (for example |polyglossia|), a
+ \centeredline{|\PassOptionsToPackage{no-math}{fontspec}|} early in the
+ preamble might be needed.
+
+\item
+ The \ctanpkg{amsmath} package, if used, \emph{must} be loaded \emph{prior} to \mst.
+
+\item
+ Under |lualatex| engine, it is recommended to also load the package
+ \ctanpkg{lualatex-math}.% Please check its documentation as possibly it has now
+ % been incorporated upstream (I am not following up on the situation).
+\end{itemize}
+\end{shaded*}
+
+I already mentioned in the \autoref{sec:ic} the fact that
+the italic corrections were not available for OpenType fonts
+under the \XeTeX{} engine and only partially available for the
+\LuaTeX{} engine, with the result that the spacings in math
+mode when using for the letters an upright text font will be
+less satisfying than with the standard PDF\TeX{} engine (the
+OpenType fonts not being usable with the latter engine, this is
+not a criterion of choice anyhow).
+
+To define math versions when using unicode fonts, use \ctanpkg{fontspec}'s
+\cs{setmainfont} before the \cs{Mathastext}\oarg{version} command, or simply
+before loading \mst for the default math versions.
+
+It is possible to mix usage of Unicode fonts and classical \TeX{}
+fonts. All used 8bits font encoding must have been passed as
+options to the \ctanpkg{fontenc} package.
+
+\subsubsection{The unicodeminus option}
+
+For legacy reason, \mst uses by default the |EN DASH U+2013| for the minus
+sign in math mode, if the font is determined to be a ``Unicode'' font.
+
+There is now the unicodeminus\RightNote{\mstrelease{1.3q}} to use rather
+% BORDEL DE BORDEL DE FAIT CHIER \verb ET Text for \verb command ended by end
+% of line. je l'ai patch dans etoc et xint mais pas ici encore.
+|MINUS SIGN U+2212|.%
+\footnote{Thanks to Tobias~\textsc{Brink} who asked for this feature.}
+%
+Check \hyperref[nicodeminus]{\ttfamily\hyphenchar\font=189 its documentation}
+on page \pageref{nicodeminus}.
+
+\subsubsection{Two examples with OpenType fonts}
+
+\begingroup\def\MacroFont{\normalfont\footnotesize\ttfamily}
+I include
+here two examples which compiled successfully (a long time ago!) with \XeTeX{} and
+\LuaLaTeX{}, the first one on a Linux machine, the second one on a Mac
+OS X machine.
+\begin{verbatim}
+\documentclass{article}
+\usepackage[hscale=0.8]{geometry}
+\usepackage{multicol}
+\usepackage[no-math]{fontspec}
+\usepackage{lmodern}
+\usepackage[subdued,italic]{mathastext}
+\setmainfont[Color=999999]{Verdana} \Mathastext[Verdana]
+\setmainfont[Color=0000FF]{Arial} \Mathastext[Arial]
+\setmainfont[Color=00FF00]{DejaVu Serif} \Mathastext[DejaVu]
+\MTDeclareVersion{times}{T1}{ptm}{m}{n}
+\setmainfont[Color=FF0000]{Andale Mono} \Mathastext[Andale]
+\begin{document}
+\newcommand\TEST[1]{\MTversion{#1}%
+\begin{multicols}{2}
+\hbox to\columnwidth{\hbox to\columnwidth{\hfil
+ $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}}
+ \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ }
+ \centerline{ $0123456789$ }
+ \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
+ \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ }
+\columnbreak
+ \centerline{ abcdefghijklmnopqrstuvwxyz }
+ \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ }
+ \centerline{ 0123456789}
+ \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
+ \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
+\end{multicols}}
+\begin{multicols}{2}
+ \centerline{\textbf{math mode}}
+\columnbreak
+ \centerline{ \textbf{text} }
+\end{multicols}
+\TEST{DejaVu}\TEST{Verdana}\TEST{times}\TEST{Andale}
+\TEST{Arial}\TEST{bold}\TEST{normal}
+\end{document}
+\end{verbatim}
+And now the same thing with fonts available on Mac OS X:
+\begin{verbatim}
+\documentclass{article}
+\usepackage[hscale=0.8]{geometry}
+\usepackage{multicol}
+\usepackage[no-math]{fontspec}
+\usepackage{lmodern}
+\usepackage[subdued,italic]{mathastext}
+\setmainfont[Color=FF0000]{Hoefler Text} \Mathastext[Hoefler]
+\setmainfont[Color=336633]{American Typewriter}\Mathastext[Typewriter]
+\setmainfont[Color=0000FF]{Herculanum} \Mathastext[Herculanum]
+\setmainfont[Color=FF00FF]{Didot} \Mathastext[Didot]
+\setmainfont[Color=999999]{Comic Sans MS} \Mathastext[Comic]
+\begin{document}
+ --- copy here the code from the previous example ---
+\TEST{Didot}\TEST{Comic}\TEST{normal}\TEST{Herculanum}
+\TEST{Hoefler}\TEST{Typewriter}\TEST{bold}
+\end{document}
+\end{verbatim}
+\endgroup
+
+
+\subsubsection{Compatibility with other packages}\label{sec:compat}
+
+Regarding the namespace of the package: all internal macros use
+\cs{mst@} (or \cs{ifmst@} for \TeX{} conditionals) as prefix. Almost all user
+commands have \cs{MT} prefix, the oldest ones
+may use \cs{Mathastext} or variants.%
+%
+\footnote{It is only years after initial release that I became aware that
+package \ctanpkg{mathtools} used \cs{MT\string_} prefix (with an underscore as
+shown) for most internal constructs, and sometimes \cs{MT@}, and those can not
+clash with our \cs{MT[a-z\string|A-Z]} for public commands and \cs{mst@} for
+internal macros. They do have however user commands \cs{MTFlushSpaceAbove} and
+\cs{MTFlushSpaceBelow}, but nothing else hence some retroactive relief.}
+
+Compatibility issues are often questions of who decides last. They are
+naturally to be expected with packages dealing with the math setting. The fix
+is simply to load \mst last. In particular one should \emph{always} load \mst
+\emph{after} \ctanpkg{amsmath} (this is especially needed with Unicode engines
+but applies in general as well).
+
+Any definition made in a package loaded before \mst of the font to be
+used for letters or for the common characters in the |ascii| basic range
+will be overruled by the loading of \mst.
+Conversely most of the set-up done by \mst may well be overruled by
+packages loaded later which do math related things.
+
+Starting with version \mstrelease{1.2}, \mst makes some characters
+`mathematically active' to achieve certain effects: automatic insertion of the
+italic corrections when using an upright text font in math (\autoref{sec:ic}),
+extended scope of the math alphabet commands which now apply to non-letter
+symbols (\autoref{sec:mathxx}; and also to math operator names, but this is
+much easier to achieve). And the (already mathematically active) right quote
+is modified to have some extra space added before the derivative glyph ${}'$
+(see \MTprimeskip).
+
+This mathematical activation is compatible with the \cs{label} and \cs{ref}
+commands in and outside of math mode.
+
+But a difficulty arises when some other package has
+made the character `catcode active' everywhere in the document. If it is
+detected for such a character that \mst wishes to make `mathematically active'
+that it is already `catcode active', \mst then checks if it is handling a Babel
+shorthand. If yes, it then hacks into \ctanpkg{babel} support macros for that
+character to let it do what it desires it to do in math mode. And it does not
+make the character mathematically active, to the contrary it makes sure
+that the character is \emph{not} mathematically active.
+
+\begin{footnotesize}
+ This last paragraph applies to the characters
+ {{;}\,{,}\,{:}\,{!}\,{?}\,{+}\,{\textendash}\,{=}\,{<}\,{>}\,{(}\,{)}\,{[}\,{]}*}
+ mentioned in \autoref{sec:mathxx} as `hard non-letters'. The right tick
+ (which is already mathematically active per default) is also handled via a
+ similar process, and in particular is tested for being a Babel shorthand
+ (which happens in particular with the Spanish language |activeacute| option).
+
+ The reason for avoiding in general for a catcode active character to be at
+ same time mathematically active is illustrated in next shaded box.
+
+ In the case of the Spanish active |'|, the advantage of \mst intervention to
+ reset its mathcode is that in case of a faulty input as a curly right tick
+ |U+8217| ', which \LaTeX{} will map to \cs{textquoteright} which itself
+ gives the catcode 12 |'|, it will show as curly quote in output not as prime
+ glyph, as \mst removes its mathematical activation. This complements the
+ \LaTeX{} warnings about \cs{textquoteright} being invalid in math mode.
+
+ The ascii letters can not have been made active by Babel interface (see code
+ comments of \cs{mst@do@activecase}) so if an ascii letter is catcode active
+ when \mst examines it, nothing will change to its meaning.
+
+ \CHANGED{\mstrelease{1.4}}At \mstrelease{1.4} these actions are done for
+ ascii letters at loading of the package or via \csb{MTmathactiveletters},
+ which is itself done by \csb{MTversion} when entering non-subdued math
+ version. Check documentation of \csb{MTmathactiveletters} for some relevant
+ details.\par
+\end{footnotesize}
+
+\begin{shaded*}
+\footnotesize
+On matters of \emph{mathematical} versus \emph{catcode} active character
+tokens, here is some code, not involving \mst, that you should \textbf{not}
+try at home:
+\begin{verbatim}
+ \documentclass{article}
+ \usepackage[french]{babel}
+ \usepackage{mathtools}\mathtoolsset{centercolon}
+ \begin{document}
+ $:$
+ \end{document}
+\end{verbatim}
+\fbox{DO NOT DO THIS AT HOME}\thinspace: it creates (with |pdflatex|) an infinite
+loop.
+% %
+% \footnote{This seems to still be the case with Babel |3.9f| and
+% frenchb.ldf |2.6e|, as tested on Sep. 2, 2013. Again tested with up-to-date
+% TL2015 Jan. 15, 2016 with same result. Again tested July 11, 2024 with
+% up-to-date TL2024 with the
+% same result.}
+% %
+This is due
+to the fact that the colon is simultaneously active (this is made by
+\ctanpkg{babel-french} at begin document) and mathematically active (done by
+\ctanpkg{mathtools} in the preamble). The interaction gives an infinite loop.
+%
+% Such a
+% situation will be cured by \mst, even loaded before \ctanpkg{mathtools},
+% \emph{if} use is made of \MTnonlettersobeymathxx.
+%
+% At each math formula
+% \mst will detect that Babel has activated the colon, and will cancel the
+% mathematical activation (the precise definition done by \ctanpkg{mathtools} was
+% already lost at begin document due to overwriting by \ctanpkg{babel} but the fact that
+% the character was mathematically active remained true).
+\par
+\end{shaded*}
+
+
+ Regarding mathematical activation, an incompatibility of
+ another type arose with \ctanpkg{amsmath}. To fix it, \mst now replaces
+ an inner macro of \ctanpkg{amsmath}
+ (\cs{resetMathstrut@}) with its own version.\\
+ \null\hspace{1cm}\fbox{Always load \ctanpkg{amsmath} before \mst.}
+
+\begin{footnotesize}
+ Actually this last commandment was already made necessary by the use of the
+ text endash to represent the minus sign in math mode, and, especially for
+ Unicode engines, some aspects of the \cs{DeclareMathOperator} macro from
+ \ctanpkg{amsmath}.\par
+\end{footnotesize}
+
+
+
+ \begin{shaded*}
+ \textcolor{magenta}{\bfseries New with 1.3i:} \mst patches |\url| of
+ packages \ctanpkg{url} and \ctanpkg{hyperref}, and also |\nolinkurl|, to force them
+ to do automatically \MTeverymathoff. Indeed they use math mode, and it
+ is better to turn \mst off for their dealings.
+
+ See the \MTeverymathoff documentation.
+ \end{shaded*}
+
+
+
+\subsection{Math alphabets}
+
+Let us first recall fundamental facts of life, in the
+ world of traditional PDF\TeX\ engine and \TeX\ fonts, as background for
+ understanding what \mst does in this context.
+ People familiar with using Unicode engines and \ctanpkg{unicode-math}, please be
+ aware that the semantics there of the \LaTeX\ math alphabet commands are
+ \textbf{significantly} modified!
+\begin{shaded*}
+\begin{itemize}
+\item In the default \LaTeX\ set-up all five of \mathrm, \mathbf,
+ \mathit, \mathsf and \mathtt tell \TeX\ to use for their arguments
+ specific \texttt{OT1}-encoded fonts.
+\item If the document body uses, as will be the case probably with any
+ language other than English or its variants, some other encoding such as
+ \texttt{T1} for its fonts, there is no change whatsoever to the math
+ configuration, indeed most font packages ignore it completely.
+\item It is thus a priori wrong to think of these commands as switching to
+ some body text font, although letters within their scopes will act as in a
+ text font, and in particular obey ligatures (this also applies to operator
+ names defined by |amsmath|'s \cs{DeclareMathOperator} which are, with some
+ extras not mentioned here, as using \mathrm).
+\item These commands are completely different in spirit from the \LaTeX\
+ \cs{textrm}, \cs{textbf}, and others, which change only some font axis;
+ indeed the math alphabet commands inherit from legacy Knuth's \cs{rm},
+ \cs{bf}, and others which are complete font specifiers.
+\item In particular when nesting, it is the inner-most which wins.
+\item Only mathematical characters (such as letters) which are declared to
+ \TeX\ as being of ``variable family type'' react to being in the argument of
+ a math alphabet command.
+\item Lowercase Greek letters are by default in \LaTeX\ immune to math
+ alphabets (so \verb|\mathrm{\pi}| induces no change in output), but the
+ eleven uppercase Greek letters are of ``variable family type'' because they
+ are picked in the \texttt{OT1}-encoded font also used for operator names
+ (the one to which \mathrm maps), \emph{and they occupy the exact same
+ slots in the \emph{\texttt{OML}}-encoding to which} \mathnormal maps! So
+ in default \TeX, \verb|\mathnormal{\Gamma}| gives a slanted glyph. The slots
+ occupied in \texttt{OML}-encoding by the lowercase Greek letters (to which
+ encoding they are a priori assigned) give
+ completely unrelated glyphs in the \texttt{OT1}-encoding, so it makes sense
+ that the default \LaTeX\ declares lowercase Greek to not react to math alphabets.
+ Notice though, that if \LaTeX\ had declared a \cs{mathnormalbold}, mapping
+ to a bold \texttt{OML}-encoded font, it would have made sense to also have
+ \cs{alpha}, \cs{beta}, etc... be of ``variable family type''.
+\item But of course even if |\pi| is of such ``variable family type'' then
+ |\mathbf{\pi}| will give garbage because the default \mathbf selects an
+ \texttt{OT1}-encoded font, where there is no pi glyph whatsoever and in
+ particular not at the slot (which is 25) of $\pi$ in the \texttt{OML} encoding!
+\end{itemize}
+\end{shaded*}
+
+Please keep all the above in mind when trying to understand what \mst does
+with math alphabets. The most significant point described next naturally is that
+\mst will sync \mathnormal, \mathrm, \mathbf, \mathit, \mathsf and
+\mathtt to map to the \mst-ified body text fonts.
+ \begin{itemize}
+ \item \mathnormal, \mathrm, \mathbf, \mathit,
+ \mathsf and \mathtt are modified to use the \mst-ified
+ text fonts; this can be disabled via defaultalphabets and
+ related individual options, but the package always provides
+ \Mathnormal, \Mathrm, etc..., to match the \mst font
+ configuration (\RLNote{changed:}{\mstrelease{1.3za}}prior to \mstrelease{1.3za}
+ defaultalphabets and related options also caused the \mst
+ alphabet commands not to be defined). Recall that there may
+ arise a ``too many math alphabets'' error if too many of these
+ commands are \emph{used} in the document:
+ \emph{declaring} them is not by itself the cause of the error. See the
+ \LaTeX\ news entry of its \texttt{2021-11-15} release for
+ the counter \texttt{localmathalphabets} (with default value 2)
+ which can be now be used if one hits such a difficulty.
+ \item We define a new math alphabet command
+ \mathnormalbold which gives direct access to
+ the bold version of the \mathnormal alphabet
+ (rather than using either the \cs{bm} command from
+ the \ctanpkg{bm} package or the \cs{boldsymbol} command
+ from the \ctanpkg{amsbsy} package). As it does not
+ exist in the default \LaTeX{} math font set-up, this
+ alphabet is \emph{not} subjected to the {subdued option} action.
+
+\item Version \RightNote{\mstrelease{1.2}}\mstrelease{1.2} of \mst has extended the scope of the math
+ alphabets to apply to non-alphabetical characters and to
+ operator names. This respects the automatic white spaces
+ added by \TeX{} around math symbols. See the devoted \autoref{sec:mathxx}.
+\item The optional\RightNote{\mstrelease{1.3i}}
+ extra skips around letters (see \autoref{sec:mathskips} and
+ \autoref{sec:ic}) are removed in the scope of the math alphabets.
+
+ \item Depending on options, further math alphabet commands
+ are defined by the package: \MathEulerBold,
+ \MathEuler, \MathPSymbol, and since \mstrelease{1.3y} under
+ the LGRgreek family of options\RightNote{\mstrelease{1.3y}} also
+ \mathgreekup and \mathgreekit. See
+ \autoref{sec:newgreek}. And also \mathgreekupbold and
+ \mathgreekitbold under the LGRgreek family of
+ options.\RightNote{\mstrelease{1.3za}}
+
+ \item With\RightNote{\mstrelease{1.3za}} the LGRgreek+ option
+ which enhances Greek letters with a specific behavior when in the
+ arguments of the \mathrm, \mathbf, etc..., math alphabet
+ commands, this special behavior is not triggered by the \Mathrm,
+ \Mathbf, et al., which are genuine unmodifed math alphabet commands. See
+ \autoref{sec:newgreekplus}.
+ \end{itemize}
+
\subsection{Math versions}\label{sec:mathversions}
@@ -2972,13 +2789,13 @@ It is still possible to switch on via \MTversion in the document body
\footnote{When not using math versions at all (so not using \texttt{subdued}
mode either) another way to achieve distinct fonts in text and math is
naturally to modify the document text font \emph{after} having loaded \mst (or
-after last usage of \cs{Mathastext} without optional argument).
-Another way is to use \cs{MTfamily}, \cs{MTencoding}, \cs{MTseries},
-\cs{MTshape}, \cs{MTlettershape} in the preamble before a call to
-\cs{Mathastext} which will configure math fonts without having modified the
+after last usage of \csb{Mathastext} without optional argument).
+Another way is to use \csb{MTfamily}, \csb{MTencoding}, \csb{MTseries},
+\csb{MTshape}, \csb{MTlettershape} in the preamble before a call to
+\csb{Mathastext} which will configure math fonts without having modified the
document text fonts. However if one does \texttt{\string\MTversion\{normal\}}
in the document then the text font will be reset to what was recorded as math
-font by the \cs{Mathastext} call in the preamble (as said above, when not
+font by the \csb{Mathastext} call in the preamble (as said above, when not
using \texttt{subdued} option).}
The native \LaTeX{} command \cs{mathversion}\marg{version\_name} would change
@@ -3000,19 +2817,19 @@ For all math versions if not using the subdued option, or only
for the non-\emph{normal} and non-\emph{bold} math versions if
using the subdued option, \cs{MTversion} does further additional tasks:
\begin{itemize}
-\item it resets\RightNote{1.3u} the \hbar, \cs{imath}
+\item it resets\RightNote{\mstrelease{1.3u}} the \hbar, \cs{imath}
(see \inodot), \cs{jmath}, math accents (see option
mathaccents) and minus sign as en dash according to the used
font encoding for the \mst-ified text font,
-\item (see sections \ref{sec:mathskips} and \ref{sec:ic}) it re-issues the
+\item (see \autoref{sec:mathskips} and \autoref{sec:ic}) it re-issues the
command \MTmathactiveletters to let a to z, A to Z, be mathematically
active in order to automatically insert the skips as defined by the user
with \MTsetmathskips, and the italic corrections (if the font is not
italic or slanted),
-\item (see section \ref{sec:extraskips}) it resets the extra spaces after the
+\item (see \autoref{sec:extraskips}) it resets the extra spaces after the
symbols $\exists$, $\forall$ and before the derivative ${}'$ to the values as
decided by the user in the preamble on a \emph{per version} basis,
-\item (see section \ref{sec:mathxx}) it re-issues the commands
+\item (see \autoref{sec:mathxx}) it re-issues the commands
\MTmathoperatorsobeymathxx and \MTeasynonlettersobeymathxx to let
the math operator names and (`easy') non letter characters obey the math
alphabets,
@@ -3058,8 +2875,9 @@ provided by \mst:
package, Greek letters are the default Computer
Modern ones or have been set-up by other packages;
for example by the \ctanpkg{fourier} package with option
- `upright', which gives upright Greek letters.
-\item[LGRgreek:] (this was substantially updated at |1.3x|, make sure to
+ `upright', which gives upright Greek letters
+ or by the author \ctanpkg{lgrmath} package.
+\item[LGRgreek:] (this was substantially updated at \mstrelease{1.3y}, make sure to
read the new documentation at \autoref{sec:newgreek})
this option is for fonts which additionally to Latin
letters also provide Greek letters in |LGR| encoding. Here is
@@ -3088,7 +2906,7 @@ provided by \mst:
If you use the italic option note that the italic Greek
letters from the |cbfonts| are not the same glyphs as
the default Greek letters from the |OML| encoded font |cmmi|.
-\item[LGRgreek+:] \RightNote{1.3za}extends LGRgreek to allow abusive
+\item[LGRgreek+:] \RightNote{\mstrelease{1.3za}}extends LGRgreek to allow abusive
usage of \cs{mathrm} and alike commands with Greek letters.
This is very much not in the spirit (especially with traditional
``8bit'' \TeX\ fonts) of the \LaTeX\ kernel concept of math alphabet
@@ -3146,17 +2964,17 @@ from the lowest to the highest priority:
the digits and operator names (most of the time this means ``upright
shape'', but it can be otherwise),
\item[itgreek]: says that Greek letters (both lowercase and uppercase) will
- be in `|it|' shape. \RLNote{changed:}{1.3x}More precisely the expansion of
+ be in `|it|' shape. \RLNote{changed:}{\mstrelease{1.3y}}More precisely the expansion of
\MTgreekitdefault is used.
- This was changed at |1.3x|, formerly the value of \cs{itdefault} which was in
+ This was changed at \mstrelease{1.3y}, formerly the value of \cs{itdefault} which was in
force at the time of using \Mathastext (or at time of loading the package
if no use is made of \Mathastext) was used.
\item[upgreek]: says that Greek letters (both lowercase and uppercase) will
- be in `|n|' shape. \RLNote{changed:}{1.3x}More precisely the expansion of
+ be in `|n|' shape. \RLNote{changed:}{\mstrelease{1.3y}}More precisely the expansion of
\MTgreekupdefault is used.
- This was changed at |1.3x|, formerly the value of \cs{updefault} which was in
+ This was changed at \mstrelease{1.3y}, formerly the value of \cs{updefault} which was in
force at the time of using \Mathastext (or at time of loading the package
if no use is made of \Mathastext) was used. But since \LaTeX{}
|2020-02-02| this caused many Font Warnings in the log because
@@ -3187,7 +3005,7 @@ font family available in |LGR| encoding: for example |lmr|,
|DejaVuSerif-TLF| (needs \ctanpkg{dejavu} package on your system),
etc\dots
-\begin{framed}
+\begin{shaded*}
\MTitgreek, \MTupgreek, \MTitGreek, \MTupGreek
have some effect only if one of the LGRgreek, LGRgreeks,
selfGreek or selfGreeks options was passed to the package.
@@ -3198,14 +3016,14 @@ etc\dots
\MTgreekfont has an effect only for LGRgreek and selfGreek. It is
without any effect with LGRgreeks and selfGreeks.
-\end{framed}
+\end{shaded*}
\subsubsection{Control sequences to access directly upright or italic
shape for Greek under \texttt{LGRgreek} option}
\label{sec:newgreek}
-Some changes were made at |1.3x| to enhance the LGRgreek (and LGRgreeks)
+Some changes were made at \mstrelease{1.3y} to enhance the LGRgreek (and LGRgreeks)
options with new features. Everything which will be explained here applies
only to these two options.
@@ -3224,7 +3042,7 @@ command in the preamble (possibly with \oarg{version\_name} optional
argument). Their default definitions are to expand to `|n|' and `|it|'
respectively. They can also be defined prior to loading \mst.
-See\RightNote{1.3x} the \autoref{table:greekup} and \autoref{table:greekit}
+See\RightNote{\mstrelease{1.3y}} the \autoref{table:greekup} and \autoref{table:greekit}
for illustrations (using here the Libertinus Serif font).
\begin{table}[htbp]
\MTversion{libertinus}
@@ -3364,7 +3182,7 @@ etc\dots\ options or \MTitgreek et al.\@ commands. This is on a per \mst-enri
math version basis, depending only on how the options or commands were used
in the preamble.
-Furthermore\RightNote{1.3x} two math alphabets are provided
+Furthermore\RightNote{\mstrelease{1.3y}} two math alphabets are provided
\centeredline{\mathgreekup}
\centeredline{\mathgreekit}
which can be used to map a letter to the corresponding Greek fonts:
@@ -3379,14 +3197,14 @@ which can be used to map a letter to the corresponding Greek fonts:
\centeredline{$\mathgreekit{W}=\mathgreekit{\Omega}=\mathgreekit{\Omegaup}=\Omegait$}
}
-Some\RightNote{1.3x} refactoring%
+Some\RightNote{\mstrelease{1.3y}} refactoring%
%
\footnote{Technically, formerly two symbol fonts were declared, one for the
lowercase Greek letters and one for the uppercase Greek letters; now those
are dropped and replaced by two symbol fonts, one for `italic' Greek letters,
the other for `upright' Greek letters.}
%
-was required to achieve this at |1.3x|
+was required to achieve this at \mstrelease{1.3y}
and it is not 100\% backwards compatible: if none of the itgreek etc\dots\
things was used, the Greek letters formerly would follow the shape of Latin
letters (for lowercase Greek) and of operator names (for uppercase Greek).
@@ -3414,10 +3232,10 @@ compatibility.
\subsubsection{\cs{mathgreekupbold} and \cs{mathgreekitbold}}
\label{sec:newgreekbold}
-Again this applies only to LGRgreek and LGRgreeks options (and the |1.3za|
+Again this applies only to LGRgreek and LGRgreeks options (and the \mstrelease{1.3za}
added LGRgreek+ and LGRgreeks+).
-See\RightNote{1.3za} the \autoref{table:greekupbold} and \autoref{table:greekitbold}
+See\RightNote{\mstrelease{1.3za}} the \autoref{table:greekupbold} and \autoref{table:greekitbold}
for illustration of usage (in math mode only) of code such as
\begin{verbatim}
\mathgreekupbold{\alpha}
@@ -3594,7 +3412,7 @@ commands on Latin letters also:
the \texttt{LGRgreek+} option}
\label{sec:newgreekplus}
-With option\RightNote{1.3za} LGRgreek+ or LGRgreeks+, \mst makes Greek
+With option\RightNote{\mstrelease{1.3za}} LGRgreek+ or LGRgreeks+, \mst makes Greek
letters control sequences \cs{alpha}, \cs{beta}, ... (but not \cs{alphaup} or
\cs{betait} and the others) react in a special manner within the scope of
\mathnormal, \mathrm, \mathit, \mathbf, and \mathnormalbold, but not
@@ -3671,15 +3489,24 @@ fonts having only 128 or 256 glyphs, and from the fact that \mathrm and
\mathbf originate in Plain \TeX\ \cs{rm} and \cs{bf} and are still quite
akin to it, they are font switching commands nothing more or less.
+\subsection{Advanced capacities}
+
+Some such capacities are on per default (but if with subdued option will be
+turned off in the \emph{normal} and \emph{bold} math versions), others require
+an action from the user for activation.
-\subsection{Extra spaces around letters}
+\subsubsection{Extra spaces around letters}
\label{sec:mathskips}
-This is a new feature added with release |1.3|: the command \MTsetmathskips
-allows the user to set up some spaces (more precisely, `mu glue'; but stretch
-and shrink are discarded) to be
-automatically inserted around the letters in math mode. Some (very) unrealistic
-uses:
+This is a new feature%
+%
+\footnote{It was new in 2013 indeed. Not so much new now, but it is never too
+late to try it out.}
+%
+added with release \mstrelease{1.3}: the command \MTsetmathskips allows the
+user to set up some spaces (more precisely, `mu glue'; but stretch and shrink
+are discarded) to be automatically inserted around the letters in math
+mode. Some (very) unrealistic uses:
\begin{verbatim}
% this may be anywhere in the document (also within a math group):
\MTsetmathskips{x}{20.33mu}{15.66mu}% 20.33mu before all x's and 15.66mu after.
@@ -3699,28 +3526,25 @@ limits as usual the scope of this command. Furthermore the command
\MTunsetmathskips cancels previous use of \cs{MTsetmathskips} for a given
letter.
-The implementation relies on the `mathematical activation' of letters, which is
-done by default by the package since release |1.2b|. Should this cause
-compatibility problems, the command \MTmathstandardletters cancels it
+The implementation relies on the `mathematical activation' of letters, which
+is done by default by the package since release \mstrelease{1.2b}. Should this
+cause compatibility problems, the command \MTmathstandardletters cancels it
entirely. To reactivate it, there is \MTmathactiveletters. Note that
-\cs{MTmathactiveletters} is done automatically by \mst when loaded, and also
-each time the package enhanced math-version-switch command \MTversion is used,
-except for the normal and bold math versions under the subdued option.
-
-% Earlier this `mathematical activation' of letters had been used by the package
-% only to add automatically italic corrections, as described in the next
-% section.
+\MTmathactiveletters is done automatically (as part of \MTicinmath) by
+\mst when loaded (if not with subdued option), and also each time the
+package enhanced math-version-switch command \MTversion is used, except for
+the normal and bold math versions under the subdued option.
-\begin{framed}
+\begin{shaded*}
The extra skips are set at natural width; they do not contribute to the
overall stretchability or shrinkability of the math formula and do not
create break points.
- \textcolor{magenta}{\bfseries Changed with |1.3i|}: they are \emph{not}
+ \textcolor{magenta}{\bfseries Changed with \mstrelease{1.3i}}: they are \emph{not}
applied within the scope of math alphabet commands.
-\end{framed}
+\end{shaded*}
-\subsection{Italic corrections}
+\subsubsection{Background on italic corrections in math mode}
\label{sec:ic}
{\small Note: this is somewhat technical discussion which may well be skipped in
@@ -3824,9 +3648,14 @@ $\xdef\mstrestorefontdimen{\fontdimen2\textfont\symmtletterfont=
We learn in Appendix G of the \TeX book that the italic correction is used for
the horizontal shift of the superscript with respect to the position of
-the subscript: $\mathit{f_i^j}$, or,
+% CETTE LIGNE PROVOQUE L'AJOUT D'UN LINESKIP
+% the subscript: $\mathit{f_i^j}$, or,
+% En fait dj en Plain TeX, configuration de base la hauteur totale de
+% $f_i^j$ est > 12pt = baselineskip !
+% Work-around ad hoc
+the subscript: \smash{$\mathit{f_i^j}$}, or,
going back now to the standard math italics $f_i^j$. In the next paragraphs
-we use $f_i^i$ for more accurate comparison of the positioning of the sub- and superscript.
+we use \smash{$f_i^i$} for more accurate comparison of the positioning of the sub- and superscript.
If we try something like this: |${f\/}_i^i$| we obtain ${f\/}_i^i$. Our
overlapping game with |\rlap{$f_i^i$}${f\/}_i^i$| gives
@@ -3889,15 +3718,10 @@ to preserve this behavior).
italic corrections are canceled inside the arguments to the math alphabet
commands, to allow the formation of ligatures as
is expected in the standard default \TeX{} font set-up in math.%
-% \footnotemark
-% \global\let\saved@Href@B\Hy@footnote@currentHref
\end{framed}\vskip-.75\baselineskip
\end{framed}
-%\addtocounter{footnote}{-1}%
-%\let\Hy@footnote@currentHref\saved@Href@A
-%
\footnotetext{the situation is rather ironical! by the way, the warnings in
- section \ref{sec:mathxx} with \texttt{\$x\^{}?\$} or similar are less of an
+ \autoref{sec:mathxx} with \texttt{\$x\^{}?\$} or similar are less of an
issue here, because the letter is only \emph{followed} by \texttt{\char92/}
and anyhow the whole is put by \mst within group braces, so no surprises
with \texttt{\$x\^{}y\$} or \texttt{\$\char92mathbin x\$}. Nevertheless it
@@ -3905,16 +3729,10 @@ to preserve this behavior).
composite objects, something which could surprise other packages. The
command \csb{MTmathstandardletters} cancels this mechanism.}
-%\addtocounter{footnote}{1}%
-% \let\Hy@footnote@currentHref\saved@Href@B
-%
-% \footnotetext{\RightNote{1.3i}Formerly, italic corrections were added to the
-% \cs{mathnormal} arguments.}
-
\makeatother
The feature-implementing commands \MTicinmath, \MTnoicinmath,
-\MTicalsoinmathxx are described in section \ref{sec:cmds}.
+\MTicalsoinmathxx are described in \autoref{sec:cmds}.
\endgroup
\textbf{\hbox{Note:}} \emph{from brief testing on 2012/12/28, \XeTeX{} seems not
@@ -3944,11 +3762,7 @@ at least on current TL2016.
\noindent\kern-0.5em\relax2022/10/29: no change with current TL2022.}
-% For more see
-% \url{http://tex.stackexchange.com/a/337076} which explores also the differences
-% between the two Unicode engines regarding italic corrections in pure text mode.
-
-\subsection{Extra glue after \texorpdfstring{\cs{exists}}{\textbackslash
+\subsubsection{Extra glue after \texorpdfstring{\cs{exists}}{\textbackslash
exists}, \texorpdfstring{\cs{forall}}{\textbackslash forall}, and before the prime glyph}
\label{sec:extraskips}
@@ -3998,21 +3812,16 @@ Under the subdued option, the \emph{normal} math version (at the start of
the document body, or after |\MTversion{normal}|) and the \emph{bold} math
version (either at the start of the document body after \cs{boldmath}, or after
|\MTversion{bold}|) do not have any extra skip inserted (even one of zero
-width) after $\oldforall$, $ \oldexists$, or before the ${}'$.%
-%
-%\footnote{\RightNote{1.3j}Formerly, skips of zero widths were inserted.}
+width) after $\oldforall$, $ \oldexists$, or before the ${}'$.
\endgroup
-
-\subsection{Extended scope of the math alphabets commands}
+\subsubsection{Extended scope of the math alphabets commands}
\label{sec:mathxx}
\begingroup
\MTversion{italic}\renewcommand\familydefault\sfdefault
-% il faudra peut-tre que j'annule cette faon qu' mathastext de tripatouiller
-% \familydefault...
-\makeatletter\let\mst@doasterisk\relax\makeatother
+\MTnormalasterisk
Ever since the initial version of the package, some characters usually
unaffected by the math alphabet commands \cs{mathbf}, \cs{mathtt},
@@ -4027,21 +3836,31 @@ $<$, or $]$ could not be declared of `variable family' (in addition to being
picked up in the text font) as this would, for reasons of the inner workings of
\TeX{}, not be compatible with the automatically inserted spaces around them.
-A revolutionary\RightNote{1.2} ;-) novelty is introduced with version |1.2| of the package:
+A revolutionary\RightNote{\mstrelease{1.2}} ;-) novelty is introduced with
+version \mstrelease{1.2} of the package:
\begin{enumerate}
\item the pre-declared or user-declared (using the |amsmath|
\cs{DeclareMathOperator} or equivalent) operator names obey the math
alphabet commands,\footnote{contrarily to the next feature, this one is not
likely to create incompatibilities with other packages, so it is
activated by default.}
-\item and, \emph{optionally}, all non alphabetical
- characters\footnote{of course some of them are input preceded by a
- backslash, and the backslash itself is input as \cs{backslash}.} treated by
- \mst, \emph{i.e.}, if not disabled by options,
- ${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}\,{\{}\,{\}}$,
- the asterisk $*$, and
- $.\,/\,\vert\,\backslash\,{\#}\,{\$}\,{\%}\,{\&}$%
-%
+\item as well as all non alphabetical characters treated by \mst.
+\end{enumerate}
+
+The non-letters handled by \mst (if not disabled by options) fall into two
+groups:
+\begin{itemize}[nosep]
+\item Those to which \TeX{} associates some specific spacings:
+ \centeredline{${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,%
+ {(}\,{)}\,{[}\,{]}\,{<}\,{>}\,{\{}\,{\}}\,*$}
+ We call them the ``hard'' ones.
+\item Those for which \TeX{} uses so-called ordinary spacings:
+ \centeredline{$.\,/\,\vert\,\backslash\,{\#}\,{\$}\,{\%}\,{\&}$}
+ We call them the ``easy'' ones.
+\end{itemize}
+The ``easy'' non-letters are handled \emph{easily} by \mst, simply
+by declaring them to be of ``variable family type''. This will
+be done automatically.%
\footnote{%
${\#}\,{\$}\,{\%}\,{\&}$ obey the math alphabets since the initial version
of \mst; the dot $.$, the slash $/$, the vertical bar $\vert$ and the
@@ -4049,431 +3868,326 @@ A revolutionary\RightNote{1.2} ;-) novelty is introduced with version |1.2| of t
around them, and the procedure is then activated by default since
\texttt{1.2} for these characters as they are `easy non-letters'. But for
\cs{mid} and \cs{setminus} which are $\vert$ and $\backslash$ with special
- spacing (of type \cs{mathrel} and \cs{mathbin} resp.) the procedure has
- some constraints explained in the framed box on next page and the
- activation requires \cs{MTnonlettersobeymathxx}.}
+ spacing (of type \cs{mathrel} and \cs{mathbin} resp.) the
+ activation requires \csb{MTnonlettersobeymathxx}.}
%
-will also obey
- the math alphabet commands (when not used as delimiters). The
- important thing is that the spaces added by \TeX{} before and after
- are not modified.
-\end{enumerate}
+The ``hard'' non-letters require a more complex approach using a concept
+called ``mathematical activation''. For reasons explained next, this is not
+done automatically and requires the user to employ the command
+\MTnonlettersobeymathxx (or, for the specific case of the asterisk the option
+asterisk).
+
+\begin{shaded*}
+ It is a fundamental feature that the spacing added by \TeX{} before and
+ after each such \mst-ified non-letter is in no way modified.
+\end{shaded*}
+
+
Let us compare, for example, the new behavior of \cs{mathtt} and \cs{mathbf}
-\MTmathoperatorsobeymathxx\MTnonlettersobeymathxx\MTeasynonlettersobeymathxx
-\[ \mathtt{(\sin(n!)<\cos(m-p)?)}\qquad \mathbf{[\sin(x+y)=\cos(z-t)]}\]
-with the traditional default behavior:
-\MTmathoperatorsdonotobeymathxx\MTnonlettersdonotobeymathxx
+when \MTnonlettersobeymathxx has been used
+\MTmathoperatorsobeymathxx
+\MTnonlettersobeymathxx
+\MTeasynonlettersobeymathxx
+\[ new:\quad \mathtt{(\sin(n!)<\cos(m-p)?)}\qquad \mathbf{[\sin(x+y)=\cos(z-t)]}\]
+with the traditional default behavior one observes without \mst or in
+subdued normal or bold math version:
+\MTmathoperatorsdonotobeymathxx
+\MTnonlettersdonotobeymathxx
\MTeasynonlettersdonotobeymathxx
-\[ \mathtt{(\sin(n!)<\cos(m-p)?)}\qquad \mathbf{[\sin(x+y)=\cos(z-t)]}\]
-
-The first feature is activated by default, except of course for the normal and
-bold math versions when the package was given the \emph{subdued} option. The
-second feature is \emph{off} by default for the characters listed first. It is
-\emph{on} for the `easy' cases
-${\#}\,{\$}\,{\%}\,{\&}\,.\,/\,\vert\,\backslash$ (activating the feature for
-them puts no constraint on the user input and should not be too upsetting to
-other packages), and also for $*$ but only if this was required explicitly by
-the option asterisk, as the user then is supposed to know that |$R^*$| is no
-valid input anymore and should be replaced by |$R^{*}$|. The remaining `difficult'
-cases create similar
-constraints, which will be commented more upon next. The commands%
-\footnote{these commands are to be used outside of math mode.
- Their scope is limited to the current \LaTeX{} environment or group. They use
- the \cs{everymath} and \cs{everydisplay} mechanism so if the document needs to
- modify these token lists it has to do so in a responsible manner, extending
- not annihilating their previous contents.}
-%
-for deactivation are:\\
+\[ standard:\quad \mathtt{(\sin(n!)<\cos(m-p)?)}\qquad \mathbf{[\sin(x+y)=\cos(z-t)]}\]
+
+The commands for
+\emph{deactivation} are:\\
\mbox{}\hspace{1cm}\csb{MTmathoperatorsdonotobeymathxx},\\
\mbox{}\hspace{1cm}\csb{MTeasynonlettersdonotobeymathxx},\\
\mbox{}\hspace{1cm}\csb{MTnonlettersdonotobeymathxx},\\
-and those for activation:\\
-\mbox{}\hspace{1cm}\csb{MTmathoperatorsobeymathxx} regards operator names and is executed by default,\\
-\mbox{}\hspace{1cm}\csb{MTeasynonlettersobeymathxx} is done by default and applies to \centeredline{${\#}\,{\$}\,{\%}\,{\&}\,.\,/\,\vert\,\backslash$} and also to $*$ under package option asterisk,\\
-\mbox{}\hspace{1cm}\csb{MTnonlettersobeymathxx} is \emph{not} done by default (see explanations why in the framed box next) and regards \centeredline{${!}\,{?}\,{,}\,{:}\,{;}\,{+}\,{-}\,{=}\,{(}\,{)}\,{[}\,{]}\,{<}\,{>}$} and also \cs{mid} and \cs{setminus} but applies to
-the braces ${\{}\,{\}}$ only if \csb{MTexplicitbracesobeymathxx} is also used.\par
-%
-%% suppression de cette note de bas de page 1.3u car elle est obsolte
-%% (pas sr si 100%, mais en tout cas l'exemple avec \mathbf{-} n'a plus
-%% de problme.
-% \footnote{when in subdued mode, the
-% math alphabets are the default ones, not the ones modified by \mst to use the
-% document text fonts. As a result, matters of font encodings may then give
-% unexpected results, for example for $-$. On the present document page we
-% switched to a math version to escape from the |subdued| mode and avoid the
-% problem with \cs{mathbf\{-\}} giving in the normal (subdued) math version
-% {\MTversion{normal}\MTnonlettersobeymathxx$\mathbf-$\sffamily, when
-% `non-letters' are declared to obey math alphabets.}}
+and those for \emph{activation}:\\
+\mbox{}\hspace{1cm}\csb{MTmathoperatorsobeymathxx} (done by default),\\
+\mbox{}\hspace{1cm}\csb{MTeasynonlettersobeymathxx} (done by default),\\
+\mbox{}\hspace{1cm}\csb{MTnonlettersobeymathxx} is \emph{not} done by default
+(see explanations why in the shaded box next) and applies to the ``hard''
+non-letters mentioned above and also to \cs{mid} and \cs{setminus}.
+Furthermore, it applies to
+the braces ${\{}\,{\}}$ only if \csb{MTexplicitbracesobeymathxx} is also used.
+
+
+\begin{shaded*}
+ \textbf{Important:} the package does not execute on its own
+ \csb{MTnonlettersobeymathxx}. The reason is that the
+ mechanism in effet replaces the original ``hard'' characters such as
+ |?|, |[|, |<| by (in math mode only) a more complex structure, which
+ ceases looking to \TeX{} as only one token, and as a consequence |$x^?$|, |$R^+$|
+ or |$\mathopen<A\mathclose>$| raise an error, the workaround being to
+ employ additional braces: |$x^{?}$|, |$R^{+}$| and |$\mathopen{<}A\mathclose{>}$|.
+
+ Similarly |$R^*$| does not work anymore under option asterisk, the user is
+ supposed to know that with this option |$R^{*}$| is the mark-up to use.
+
+ Thus, if one adds
+ \centeredline{|\usepackage{mathastext}|\MTnonlettersobeymathxx} to a
+ pre-existing document, it is needed to check if the mark-up satisfies
+ to the above guidelines. For this reason the mechanism is by default
+ not activated and the user has to execute:
+ \centeredline{\MTnonlettersobeymathxx}
+ This can be done in the preamble and will trigger actual modifications
+ only at time of |\begin{document}|.
+\end{shaded*}
-\begin{framed}
- \textbf{Important:} the package does \csb{MTnonlettersdonotobeymathxx} by
- default. The reason is that activating the mechanism adds some constraints to
- the way things must be input, adding
-\centeredline{|\usepackage{mathastext}|\csb{MTnonlettersobeymathxx}}
- to a pre-existing
- document might well create errors:
- all these characters treated by \mst, such
- as |?|, |[|, |<| now represent (in math mode only!) \emph{two} `tokens' and
- this will utterly confuse \TeX{} if some precautions are not taken: |$x^?$|,
- |$R^+$| or |$\mathopen<A\mathclose>$| \emph{must} now be coded as |$x^{?}$|,
- |$R^{+}$| and |$\mathopen{<}A\mathclose{>}$| (the rule is to do as if |?|,
- |+|, |<| or |>| were each really \emph{two} characters).
-
- Even if this rule is respected in the document source, it is still a
- possibility that incompatibilities with other packages will arise because
- \mst does a \emph{mathematical activation} of the characters which could be
- unexpected and unchecked for by other packages. This is precisely the case
- with the \ctanpkg{amsmath} package, and the problem goes away by just making sure
- that |amsmath| is loaded before \mst{} (generally speaking, \mst should be
- loaded last after all packages dealing with math things).
-\end{framed}
+
+\begin{footnotesize}
+Some \TeX nical notes:%
+%
+\footnote{The complete truth is only to be found in source code. Here are
+ some extra details:
+
+ The
+ dollar sign and the curly braces are not tested for mathematical or catcode
+ activation.
+
+ The $*$\RLNote{changed:}{\mstrelease{1.4}} is tested as
+ are the ``hard'' non-letters, except under option everymath. On the
+ other hand \cs{ast} will be modified independently of what is decided for
+ $*$. Comprenne qui pourra.}
+
+\begin{itemize}[nosep]
+\item
+The asterisk $*$ is associated with its own option asterisk, because
+independently of the matter of its behavior in the scope of math alphabets
+commands, its handling by \mst (via the \MTlowerast associated
+configuration) always requires it to be made mathematically active and to
+expand to a more complex structure. So once this option is received by the
+package, it goes full steam and also adds by default the responsiveness to
+math alphabet commands (in non-subdued math versions).
+
+\item The legacy situation which is a bit late to change is that the
+ responsiveness of the asterisk to math alphabets being on by default under
+ option asterisk, it was decided that this responsiveness would be turned
+ off by \MTeasynonlettersdonotobeymathxx and back on by
+ \MTeasynonlettersobeymathxx, although the $*$ is part of the ``hard''
+ non-letters. One can use \MTnormalasterisk to stop the $*$ to obey math
+ alphabet commands, but it also cancels the \MTlowerast mechanism.
+
+\item At\RLNote{changed:}{\mstrelease{1.4}} \mstrelease{1.4} ``easy''
+ non-letters found out to be (at |\begin{document}| or with \MTversion
+ except for subdued \emph{normal} or \emph{bold}) mathematically active
+ characters will not get overridden by \mst.
+ This applies for example with
+ the dot ``.'' under \ctanpkg{babel} with Spanish language. Its special
+ behavior to transform into a comma ``,'' if before a digit is now
+ kept. As an amusing side note, if \MTnonlettersobeymathxx is used, this
+ comma does obey math alphabet commands.
+
+\item An ``easy'' non-letter which (at |\begin{document}| or with \MTversion
+ except for subdued \emph{normal} or \emph{bold}) is catcode active will
+ still be set by \mst to be of ``variable family type'', if it is not
+ mathematically active. The catcode status is not checked nor modified, only
+ the mathcode as per previous item. Now whether the \mst-ification has any
+ effect depends on how the user has configured the catcode active character
+ to behave if in math mode.
+
+\item When \mst wants to employ mathematical activation for a non-letter
+ character among the ``hard'' cases (inclusive of the asterisk), which is done
+ at |\begin{document}| if not subdued or with every \MTversion except for
+ subdued \emph{normal} or \emph{bold}, it first checks if this character
+ is currently catcode active. If this is the case, it then checks if the
+ character is a \ctanpkg{babel} shorthand. If yes, it then hooks into
+ \ctanpkg{babel} internals to modify the way this shorthand acts in math
+ mode, so that now the character will respond to math alphabet commands.
+ If however the catcode active character does not appear to be a
+ \ctanpkg{babel} shorthand, then \mst does not do anything at all (beyond
+ its general business at package loading time to set-up the
+ font used for the non-active token).
+%
+ In relation to this context \mst should always be loaded \emph{after} \ctanpkg{babel}.
+ And also \emph{after} the \ctanpkg{amsmath} package.
+
+\item
The braces |\{| and |\}| remain unresponsive to the alphabet changing commands
-even after \csb{MTnonlettersobeymathxx}. One must issue also
-\csb{MTexplicitbracesobeymathxx}, but it has the disadvantage that |\{| and
+even after \csb{MTnonlettersobeymathxx}. The user must employ for this
+\centeredline{\csb{MTexplicitbracesobeymathxx}}
+This has the disadvantage that |\{| and
|\}| become then unusable as variable-size delimiters: |\big\{| or |\big\}|
create errors and one must make use of |\big\lbrace| and |\big\rbrace|. But
-\MTmathoperatorsobeymathxx\MTnonlettersobeymathxx\MTexplicitbracesobeymathxx
+%
+\MTmathoperatorsobeymathxx
+\MTnonlettersobeymathxx
+\MTexplicitbracesobeymathxx
+%
one can now enjoy $\mathtt{\{a, a>b\}}$, $\mathbf{\{a, a>b\}}$,
-$\mathsf{\{a, a>b\}}$, or even $\mathnormalbold{\{a, a>b\}}$.\footnote{this
- last example uses the \cs{mathnormalbold} additional alphabet defined by
- \mst.}\footnote{Let me recall that braces will anyhow not be handled at all
+$\mathsf{\{a, a>b\}}$, or even $\mathnormalbold{\{a, a>b\}}$.%
+%
+\footnote{This
+ last example uses the \csb{mathnormalbold} additional alphabet defined by
+ \mst.}%
+%
+\footnote{Let me recall that braces will anyhow not be handled at all
by \mst if the document
font encoding is |OT1|, except under option |alldelims|.}
-Even with \csb{MTnonlettersobeymathxx}, the parenthese-like symbols $($, $)$,
+\item
+Even with \csb{MTnonlettersobeymathxx}, the parentheses-like symbols $($, $)$,
$[$, $]$, $<$ and $>$ and the slashes $/$, $\backslash$, \emph{if used as
- left/right delimiters} (i.e.\@ with |\left/\right|) do not react to math
+ left/right delimiters} (i.e.\@ with |\left/\right|) will not respond to math
alphabet commands. This is mainly explained by the fact that the text font
-will not contain suitable glyphs, hence no attempt was made to make the
+will not contain suitable glyphs, hence no attempt was made by \mst to make the
delimiters pick up their glyphs there.
But \mst does try to pick up most of the `small variants' of the delimiters
-from the text font: |$\left<x\right>$| gives $\left<x\right>$ (but
-|$\left<b\right>$| gives $\left<b\right>$.) Notice that this differs from
+from the text font: |$\left<x\right>$| gives $\left<x\right>$ but
+|$\left<b\right>$| gives $\left<b\right>$. Notice that this differs from
standard \LaTeX{} for which |$\left< x\right>$| gives $\langle x\rangle$. As
-it is perhaps a bit strange to have $\left< x\right>$ next to
-$\left< X\right>$ there is option nosmalldelims: with this option the
-small-sized variants of the delimiters are not modified by \mst (option
-nosmalldelims has the side effect that, for the non-delimiter uses of
-|\{, \}|
-to be \mst-ified it is necessary to issue \csb{MTnonlettersobeymathxx} and
-\csb{MTexplicitbracesobeymathxx}.)
-
-At any rate, as said above, whether `small' or not, delimiters are
-unresponsive to math alphabet commands, due to technical aspects of \TeX, and
-the way \mst handles these things. Examples: |\mathbf{<a,b>}| gives
-$\mathbf{<a,b>}$
-%{\setbox0\hbox{$\mathbf{<a,b>}$}\typeout{ICI}\showboxdepth\maxdimen
-% \showboxbreadth\maxdimen \showbox0}
-(no use of |\left/\right|, hence brackets do obey the math alphabets --- as we
-issued \MTnonlettersobeymathxx a bit earlier), |\mathbf{\left<a,b\right>}|
-gives $\mathbf{\left<a,b\right>}$ (brackets used with |\left/\right| do not
-obey the math alphabets), |\mathbf{\mathopen{<}a,b \mathclose{>}}| gives
-$\mathbf{\mathopen{<} a,b \mathclose{>}}$ (no |\left/\right|, brackets
-do obey the math alphabets).
-
-\endgroup
-For comparison, the \LaTeX{} standard behavior for
-\centeredline{|\mathbf{\mathopen{<}a,b\mathclose{>}}|}
-is $\mathbf{\mathopen{<} a,b
- \mathclose{>}}$ (neither brackets nor the comma do respond).
-
-
-\subsection{Unicode engines}
-
-\mst is minimally Unicode aware since |1.12| and can be used with \XeTeX{} or
-\LuaTeX{}. Starting with release |1.3|, it needs |luatex| to be at least
-as recent as the one which was provided with the TL2013 distribution.
-
-However \mst applies only to (a subset of) the |32-127| ascii range, and
-optionally to Greek letters, but for the latter only if provided via ``\TeX\
-fonts'' such as Euler, Symbol or LGR-encoded fonts.
-It does not know how to use a given Unicode font simultaneously for Latin and
-Greek letters.
-
-Thus, first consider much better alternatives:
-\begin{itemize}
-\item Since 2018, the package \ctanpkg{mathfont}%
-%
-\footnote{Conrad \textsc{Kosowsky}, \emph{Use TrueType and OpenType fonts in math mode}
-\url{https://ctan.org/pkg/mathfont}.}
-%
-adapts Unicode text fonts to usage in math mode. It works with both \XeTeX\
-and \LuaTeX.
-\item For \XeTeX\ only, \ctanpkg{mathspec}%
-%
-\footnote{Andrew Gilbert \textsc{Moschou}, \emph{Specify arbitrary fonts for mathematics in \XeTeX}
-\url{https://ctan.org/pkg/mathspec}.}
-%
-also allows usage of arbitrary text fonts in mathematics.
-\item and of course
-\ctanpkg{unicode-math}%
-%
-\footnote{Will \textsc{Robertson}, et al., \emph{Unicode mathematics with
- support for XeTeX and LuaTeX} \url{https://ctan.org/pkg/unicode-math}.}
-%
-is the standard package for using OpenType fonts which are equipped with the needed extra
-support being used in \TeX\ math mode.
-\end{itemize}
-
-If using any one of the above you probably don't need, don't want, and should
-not use \mst.
-
-Let me insist that \mst has not been tested in any systematic
-manner under the Unicode engines; and that it is expected to be most definitely
-incompatible with \ctanpkg{unicode-math}, although your mileage may vary and some
-features may appear to work.
+it is perhaps a bit strange to have $\left< x\right>$ and $\left< y\right>$
+not use the same bracketing glyphs, there is an option nosmalldelims: with
+this option the small-sized variants of the delimiters are not modified by
+\mst (option nosmalldelims has the side effect that, for the non-delimiter
+uses of |\{, \}| to be \mst-ified it is necessary to issue
+\csb{MTnonlettersobeymathxx} and \csb{MTexplicitbracesobeymathxx}.)\par
-When using \mst with either \XeTeX{} or \LuaTeX{} it is recommended to use the
-\ctanpkg{fontspec} package (see remark below on \cs{encodingdefault}). Furthermore,
-if using \ctanpkg{fontspec} it is \emph{necessary} to load it with its
-|no-math| option, and this \emph{must} happen before loading \mst.
-\begin{framed}
-\begin{itemize}[label=$\bullet$, leftmargin=1em]
\item
- Use \ctanpkg{fontspec} with its
- \emph{no-math} option, and load it \emph{prior} to \mst. As some packages
- load \ctanpkg{fontspec} themselves (for example |polyglossia|), a
- \centeredline{|\PassOptionsToPackage{no-math}{fontspec}|} early in the
- preamble might be needed.
-
-\item
- The \ctanpkg{amsmath} package, if used, \emph{must} be loaded \emph{prior} to \mst.
-
-\item
- Under |lualatex| engine, it is recommended to also load the package
- \ctanpkg{lualatex-math}.% Please check its documentation as possibly it has now
- % been incorporated upstream (I am not following up on the situation).
+At any rate, as said above, whether `small' or not, delimiters will remain
+unresponsive to math alphabet commands, due to technical aspects of \TeX, and
+the way \mst handles these things. Examples:
+\begin{itemize}[nosep]
+\item |\mathbf{<a,b>}| gives $\mathbf{<a,b>}$: no use of |\left/\right|, hence
+ brackets do obey the math alphabets --- as we issued
+ \MTnonlettersobeymathxx a bit earlier,
+\item |\mathbf{\left<a,b\right>}| gives
+ $\mathbf{\left<a,b\right>}$: delimiters used with |\left/\right| will not obey
+ the math alphabets,
+\item |\mathbf{\mathopen{<}a,b \mathclose{>}}| gives
+ $\mathbf{\mathopen{<} a,b \mathclose{>}}$: no |\left/\right|, so the
+ brackets do obey the math alphabets due to \MTnonlettersobeymathxx.
+\item
+\MTnonlettersdonotobeymathxx
+to compare, the \LaTeX{} standard for
+|\mathbf{\mathopen{<}a,b\mathclose{>}}| is to produce
+$\mathbf{\mathopen{<} a,b \mathclose{>}}$: neither brackets nor the comma are
+responding to \cs{mathbf}.
\end{itemize}
-\end{framed}
-
-% obsolete with release 1.3:
-% A little piece of the functionality of \mst is less fully
-% realized under the \LuaLaTeX{} engine than it is with
-% \XeTeX{}. This is a temporary situation as the needed feature
-% of \LuaLaTeX{} has been implemented in its latest development
-% release. I will update \mst when these binaries will have
-% reached the distribution stage.
-
-I already mentioned in the section \ref{sec:ic} the fact that
-the italic corrections were not available for OpenType fonts
-under the \XeTeX{} engine and only partially available for the
-\LuaTeX{} engine, with the result that the spacings in math
-mode when using for the letters an upright text font will be
-less satisfying than with the standard PDF\TeX{} engine (the
-OpenType fonts not being usable with the latter engine, this is
-not a criterion of choice anyhow).
-
-To define math versions when using unicode fonts, use \ctanpkg{fontspec}'s
-\cs{setmainfont} before the \cs{Mathastext}\oarg{version} command, or simply
-before loading \mst for the default math versions.
-
-It is possible to mix usage of Unicode fonts and classical \TeX{}
-fonts. All used 8bits font encoding must have been passed as
-options to the \ctanpkg{fontenc} package.
-
-\subsubsection{The unicodeminus option}
-
-For legacy reason, \mst uses by default the |EN DASH U+2013| for the minus
-sign in math mode, if the font is determined to be a ``Unicode'' font.
-
-There is now the unicodeminus\RightNote{1.3q} to use rather
-% BORDEL DE BORDEL DE FAIT CHIER \verb ET Text for \verb command ended by end
-% of line. je l'ai patch dans etoc et xint mais pas ici encore.
-|MINUS SIGN U+2212|.%
-\footnote{Thanks to Tobias~\textsc{Brink} who asked for this feature.}
-%
-Check \hyperref[nicodeminus]{\ttfamily\hyphenchar\font=189 its documentation}
-on page \pageref{nicodeminus}.
+\end{itemize}
+\end{footnotesize}
-\subsubsection{Two examples}
+\endgroup
-I include
-here two examples which compiled successfully with \XeTeX{} and
-\LuaLaTeX{}, the first one on a Linux machine, the second one on a Mac
-OS X machine.\footnote{A |tex mathastext.dtx| (in a temporary repertory) on a
- copy of |kpsewhich mathastext.dtx| will extract extended versions of
- these examples as test files.}
+\subsubsection{Hacking letters (and even digits) for special tasks}
+\label{ssec:hackingletters}
+
+For some ascii characters, i.e.\@ the ``hard'' non-letters considered in the
+previous section, and even more spectacularly for all ascii letters, \mst
+achieves the capabilities describes in earlier sections via a \TeX nique known
+as ``mathematically active characters''. For letters this is turned on by
+default, but for the non-letter characters it is the command
+\cs{MTnonlettersobeymathxx} which triggers this mathematical activation.
+
+It is possible for daring \LaTeX{} users to hook into this architecture.
+Release \mstrelease{1.4} has made this especially easy regarding ascii letters
+(and even for digits if using the package option activedigits).
+
+Except if told otherwise, \mst will make all Latin ascii letters mathematically
+active, and when \TeX{} encounters e.g.\@ `e' in math mode it replaces it with
+the macro having name \cs{MTcommandlettere} (mind the ending |e|). Its
+default definition inserts \hyperref[sec:mathskips]{optional extra skips}
+and/or an \hyperref[sec:ic]{italic correction}.
+
+You can redefine this \cs{MTcommandlettere}, or any
+\cs{MTcommandletter}\meta{ascii-letter}, to achieve (globally or locally)
+custom goals.%
+%
+\footnote{\CHANGED{\mstrelease{1.4}}%
+Prior to \mstrelease{1.4}, there was no equivalent to
+\cs{MTcommandletter}\meta{letter}. An internal macro \cs{mst@}\meta{letter}
+stood for what is denoted now \cs{MTmathcharletter}\meta{letter}, but required
+a \cs{protected} if redefined as it was submitted to an \cs{edef} during
+processing.}
+%
+Attention, this redefinition should not use `e' itself as a ``naked''
+character to typeset in math mode, else an infinite loop will arise at time of
+use. To access a symbol equivalent to the ``naked'' `e', use
+\cs{MTmathcharlettere} (again mind the ending |e|). For example:
\begin{verbatim}
-\documentclass{article}
-\usepackage[hscale=0.8]{geometry}
-\usepackage{multicol}
-\usepackage[no-math]{fontspec}
-\usepackage{lmodern}
-\usepackage[subdued,italic]{mathastext}
-\setmainfont[Color=999999]{Verdana} \Mathastext[Verdana]
-\setmainfont[Color=0000FF]{Arial} \Mathastext[Arial]
-\setmainfont[Color=00FF00]{DejaVu Serif} \Mathastext[DejaVu]
-\MTDeclareVersion{times}{T1}{ptm}{m}{n}
-\setmainfont[Color=FF0000]{Andale Mono} \Mathastext[Andale]
-\begin{document}
-\newcommand\TEST[1]{\MTversion{#1}%
-\begin{multicols}{2}
-\hbox to\columnwidth{\hbox to\columnwidth{\hfil
- $abcdefghijklmnopqrstuvwxyz$\hfil}\kern-2.5em{#1}}
- \centerline{ $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ }
- \centerline{ $0123456789$ }
- \centerline{ $!\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\backslash$ }
-\columnbreak
- \centerline{ abcdefghijklmnopqrstuvwxyz }
- \centerline{ ABCDEFGHIJKLMNOPQRSTUVWXYZ }
- \centerline{ 0123456789}
- \centerline{ !\,?\,*\,,\,.\,:\,;\,+\,-\,=\,(\,)\,[\,]\,/\,\#\,%
- \$\,\%\,\&\,<\,>\,|\,\{\,\}\,\char92 }
-\end{multicols}}
-\begin{multicols}{2}
- \centerline{\textbf{math mode}}
-\columnbreak
- \centerline{ \textbf{text} }
-\end{multicols}
-\TEST{DejaVu}\TEST{Verdana}\TEST{times}\TEST{Andale}
-\TEST{Arial}\TEST{bold}\TEST{normal}
-\end{document}
+\renewcommand\MTcommandlettere{\mathsf{\MTmathcharlettere}}% not \mathsf{e}!
\end{verbatim}
-And now the same thing with fonts available on Mac OS X:
+In this case we could do the simpler approach with \cs{textsf}, which works
+as it will then typeset the |e| in text mode, not math mode.
\begin{verbatim}
-\documentclass{article}
-\usepackage[hscale=0.8]{geometry}
-\usepackage{multicol}
-\usepackage[no-math]{fontspec}
-\usepackage{lmodern}
-\usepackage[subdued,italic]{mathastext}
-\setmainfont[Color=FF0000]{Hoefler Text} \Mathastext[Hoefler]
-\setmainfont[Color=336633]{American Typewriter}\Mathastext[Typewriter]
-\setmainfont[Color=0000FF]{Herculanum} \Mathastext[Herculanum]
-\setmainfont[Color=FF00FF]{Didot} \Mathastext[Didot]
-\setmainfont[Color=999999]{Comic Sans MS} \Mathastext[Comic]
-\begin{document}
- --- copy here the code from the previous example ---
-\TEST{Didot}\TEST{Comic}\TEST{normal}\TEST{Herculanum}
-\TEST{Hoefler}\TEST{Typewriter}\TEST{bold}
-\end{document}
+\renewcommand\MTcommandlettere{\textsf{e}}% not \mathsf{e}!
\end{verbatim}
-% The test files which will be produced by running |latex| on
-% |mathastext.dtx| are more extent.
+This gives a priori the same result in our \mst context, which
+picks the font for \cs{mathsf} from the one used by \cs{textsf}, assuming here
+default configuration in the preamble following the loading of \mst.%
+%
+\footnote{This example simply reassigns \texttt{e} to another font, and one
+could use also the \LaTeX{} command \cs{DeclareMathSymbol} for this. But few
+\LaTeX{} users are familiar with its interface, and such an approach could
+cost adding an extra math symbol font, depending on what one wants to do.
+Besides \cs{DeclareMathSymbol} is a preamble-only command, which limits
+considerably its usability, forcing basically the change to apply to the whole
+document. Using the \mst interface via mathematically active characters opens
+up the possibility of arbitrary replacements, of local scope in the document
+body.}
-\subsection{Compatibility issues}\label{sec:compat}
-
-Compatibility issues (or just questions of who decides last) are naturally to
-be expected with packages dealing with the math setting; the fix is simply to
-load \mst last. And one should always load |amsmath| before \mst (this is
-especially true when using Unicode engines but applies in general as well).
-
-Any definition made in a package loaded before \mst of the font to be
-used for letters or for the common characters in the |ascii| basic range
-will be overruled by the loading of \mst (this includes the case
-when the earlier package had made the character `mathematically active').
-Conversely most of the set-up done by \mst may well be overruled by
-packages loaded later which do math related things.
-
-Starting with version |1.2|, \mst makes some characters `mathematically
-active' to achieve certain effects: automatic insertion of the italic
-corrections when using an upright text font in math, extended scope of
-the math alphabet commands which now apply to non-letter symbols (and
-also to math operator names, but this is much easier to achieve). And
-the (already mathematically active) right quote is modified to have some
-extra space added before the derivative glyph ${}'$.
-
-This is compatible with using \cs{label} and \cs{ref} in and outside of
-math mode. But a difficulty arises when some other package has made the
-character `globally active' everywhere in the document. The action of
-\mst is made anew at each mathematical inline or displayed formula. If
-it is detected that a character has been activated then nothing further
-will be done (so the \mst feature\footnote{italic correction insertion
- for the latin letters, receptivity to the math alphabet action for the
- other characters.} for that character is lost) \emph{except} if it
-appears that this activation was done by the Babel system. In that case
-\mst does not make the character mathematically active but it modifies
-in the appropriate manner the action of Babel for that character in math
-mode. Furthermore \mst makes the character mathematically
-\emph{inactive}.\footnote{only the characters
- {{;}\,{,}\,{:}\,{!}\,{?}\,{+}\,{\textendash}\,{=}\,{<}\,{>}\,{(}\,{)}\,{[}\,{]}\,*}
- mentioned in section \ref{sec:mathxx} as `difficult non letters' (and
- the right quote {'}) and
- the latin letters are concerned here; it seems highly unprobable that
- a latin letter ${\in}\{a\mbox{--}z,A\mbox{--}Z\}$ will have been made
- globally active (only letters never being used in command names are
- possible candidates), but \mst has been
- designed to cope with it, should it happen ...}
-
-Here is indeed some code that you should \textbf{not} try at
-home:
+
+It is recommended in general to add an extra pair of braces
+to avoid problems when used with |_| and |^|. Let's give an other example and
+demonstrate its output:
\begin{verbatim}
- \documentclass{article}
- \usepackage[french]{babel}
- \usepackage{mathtools}\mathtoolsset{centercolon}
- \begin{document}
- $:$
- \end{document}
+\[
+\renewcommand\MTcommandlettere{{\mathcolor{blue}{\mathsf{\MTmathcharlettere}}}}%
+abcde^efgh
+\]
\end{verbatim}
-\fbox{DO NOT DO THIS AT HOME}\thinspace: it creates an infinite
-loop.\footnote{This seems to still be the case with Babel |3.9f| and
- frenchb.ldf |2.6e|, as tested on Sep. 2, 2013. Again tested with up-to-date
- TL2015 Jan. 15, 2016 with same result.} This is due
-to the fact that the colon is simultaneously active (this is made by
-\ctanpkg{babel-french} at begin document) and mathematically active (done by
-\ctanpkg{mathtools} in the preamble). The interaction gives an infinite loop. Such a
-situation will be cured by \mst, even loaded before \ctanpkg{mathtools},
-\emph{if} use is made of \cs{MTnonlettersobeymathxx}. At each math formula
-\mst will detect that Babel has activated the colon, and will cancel the
-mathematical activation (the precise definition done by \ctanpkg{mathtools} was
-already lost at begin document due to overwriting by \ctanpkg{babel} but the fact that
-the character was mathematically active remained true).
+\MTversion{times}
+\[
+\renewcommand\MTcommandlettere{{\mathcolor{blue}{\mathsf{\MTmathcharlettere}}}}%
+abcde^efgh
+\]%
+\MTversion{normal}%
+As this document is in subdued mode, we had, to show the effect, to
+switch temporarily to some math version activating \mst, and we used here a
+|times| math version with Times and Helvetica clones.
+
+If you redefine \cs{MTcommandlettere} as described in this section the optional extra
+math skips added before or after via \MTsetmathskips will be lost, as well
+as the automatic italic correction |\/| added by \mst for an upright font, and it
+is up to the redefinition of \cs{MTcommandlettere} to do the job.
+
+The explanations above apply to any (ascii) Latin letters \meta{ascii-letter}
+with associed macros \cs{MTcommandletter}\meta{ascii-letter} and ``naked''
+symbol command \cs{MTmathcharletter}\meta{ascii-letter}.
+
+With option activedigits you can even extend the game to digits. The
+``raw'' digit symbol is kept as a math symbol control sequence
+\cs{MTmathchardigit}\meta{y} where \meta{y} stands for the Roman version of
+the digit: empty
+for $0$, then |i|, |ii|, etc... until |ix|. The macro to redefine for special
+effect is \cs{MTcommanddigit}\meta{y}. Example:
+\begin{verbatim}
+\[
+\renewcommand\MTcommanddigit{{\MTmathchardigit^{\mathcolor{blue}{1}}
+ _{\mathcolor{red}{2}}}}%
+\renewcommand\MTcommanddigiti{{\boxed{\mathbf{\MTmathchardigiti}}}}
+0^0_0
+\]
+\end{verbatim}
+\MTversion{times}
+\[
+\renewcommand\MTcommanddigit{{\MTmathchardigit^{\mathcolor{blue}{1}}
+ _{\mathcolor{red}{2}}}}%
+\renewcommand\MTcommanddigiti{{\boxed{\mathbf{\MTmathchardigiti}}}}
+0^0_0
+\]%
+\MTversion{normal}%
+(\cs{boxed} is from \ctanpkg{amsmath}) Let's hope you find better
+usage... recall that you can't use digit $0$ in its redefinition but must use
+\cs{MTcommanddigit}. But you can of course use other digits... except if
+their definitions use the digit $0$ rather than the non-active symbol control
+sequence \cs{MTmathchardigit}.
+See also \MTmathactiveletters and \MTmathactivedigits.
- So far I have briefly described the problem of document active
- characters (see the test file |mathastexttestalphabets.tex| for more
- explanations and illustrations, and the commented source code of the
- package). Pure mathematical activation revealed an incompatibility of
- another type with \ctanpkg{amsmath}. To fix it, \mst now replaces
- an inner macro of \ctanpkg{amsmath}
- (\cs{resetMathstrut@}) with its own version.\\
- \null\hspace{1cm}\fbox{Always load \ctanpkg{amsmath} before \mst.}\\
- Actually this last commandment was already made necessary by the use of the
- text endash to represent the minus sign in math mode, and, especially for
- Unicode engines, some aspects of the \cs{DeclareMathOperator} macro from
- \ctanpkg{amsmath}.
-
- \begin{framed}\kern-.75\baselineskip
- \begin{framed}
- \textbf{Important!} As is mentioned in the section \ref{sec:mathxx},
- after command \MTnonlettersobeymathxx, characters such as
- |?|, or |[|, now represent \emph{two} `tokens' and this will utterly
- confuse \TeX{} if some precautions are not taken. Examples: |$0^+$| or
- |$x\mathrel?y$| or |$R^*$| \emph{must} be input now as |$0^{+}$|
- and, respectively,
- |$x\mathrel{?}y$| or |$R^{*}$|. This is why the package does
- \MTnonlettersdonotobeymathxx by default.
- \end{framed}\vskip-.75\baselineskip
- \end{framed}
- One thing to take note of is that this mechanism uses the \cs{everymath}
- and \cs{everydisplay}, so if it is needed to add to these \TeX{} `token
- lists' some additional things this should be done in a way preserving the
- former contents.
-
- If one issues (after |\begin{document}|) |\everymath={}| and
- |\everydisplay={}| this annihilates not only all the \mst (evil ?) doings
- with math active characters but also everything else some other package
- might have put in these token registers, so it is better, if the need
- arises to cancel the math activation of characters done by \mst to use the
- command \MTeverymathoff, which does all of
- \MTmathoperatorsdonotobeymathxx, \MTnonlettersdonotobeymathxx (already
- default), \MTmathstandardletters, \MTnormalprime, and
- \MTnormalasterisk. This is supposed to be used in a group or
- environment (as there is no |\MTactivemathon|). It must be used prior to
- entering math mode.
-
- \begin{framed}
- \textcolor{magenta}{\bfseries New with 1.3i:} \mst patches |\url| of
- packages \ctanpkg{url} and \ctanpkg{hyperref}, and also |\nolinkurl|, to force them
- to do automatically \MTeverymathoff. Indeed they use math mode, and it
- is better to turn \mst off for their dealings.
- \end{framed}
-
% 2 septembre 2013; finalis 22:58
% Mardi 19 dcembre 2023: l'utilisation de bleu alors que ce n'est
@@ -4503,7 +4217,7 @@ option).
\item \mstcmd{Mathastext} (or \mstcmd{mathastext}) reinitializes \mst: it sets the
fonts used in math mode (in versions |normal| and |bold|) for letters,
digits and a few ascii symbols to the \emph{current} defaults of encoding,
- family, series and shape.\footnote{\texttt{\char92Mathastext} updates also
+ family, series and shape.\footnote{\csb{Mathastext} updates also
the font and shapes for the Greek letters (|LGRgreek| option), and the
skips to be inserted after the symbols $\oldforall$ and $\oldexists$,
see \emph{infra.}} Both the normal and bold math version are modified by
@@ -4517,7 +4231,7 @@ option).
the \LaTeX{} \cs{DeclareMathVersion} macro. \emph{Do not use}
|\string\Mathastext[foo]| \emph{with
|foo| equal to ``normal'' or ``bold'';} this is already taken care of by the
- initial loading of the package or a later command \cs{Mathastext}
+ initial loading of the package or a later command \csb{Mathastext}
without any optional argument. And it will be rejected.}
\item %\textbf{inheritance:}
\csb{Mathastext}\oarg{version\_name}\oarg{parent\_name}
@@ -4553,7 +4267,7 @@ option).
\mstcmd{MTlettershape}\marg{sh}.%
%
\footnote{These commands exist also with
- long names: \texttt{\char92Mathastextencoding},
+ long names: \csb{Mathastextencoding},
etc\dots{} The same applies to the other commands
mentioned in this section.}
%
@@ -4597,7 +4311,7 @@ optional argument) will these commands have any real effect.
of the time of loading the package.} else letters will
have the same shape as used for digits and operator-names.
- Another optional argument may be used as last argument.\RightNote{1.3c}
+ Another optional argument may be used as last argument.\RightNote{\mstrelease{1.3c}}
Similarly as its
use with \Mathastext this makes the declared math version inherit, for
things not modified by \mst like large symbols, the font set up of the math
@@ -4645,7 +4359,7 @@ optional argument) will these commands have any real effect.
redefined). In the absence of the optional argument, the mandatory one is
used. The versions \emph{must} be either |normal|, or |bold|, or previously
declared ones via \Mathastext or \MTDeclareVersion.
- \item the starred variant\RightNote{1.3c} does the math set-up, but changes \emph{nothing} to
+ \item the starred variant\RightNote{\mstrelease{1.3c}} does the math set-up, but changes \emph{nothing} to
the text fonts (see \autoref{sec:mathversions} for a description of the math
set-up, which summarizes
what is done additionally to only using \LaTeX{}'s |\mathversion|).
@@ -4659,7 +4373,7 @@ optional argument) will these commands have any real effect.
option the package checks separately the letter shape for lowercase and
uppercase.
- \RightNote{1.3j}\MTversion also does \MTexistsdoesskip,
+ \RightNote{\mstrelease{1.3j}}\MTversion also does \MTexistsdoesskip,
\MTforalldoesskip, and also \MTprimedoesskip,
\csb{MTmathoperatorsobeymathxx}, except under the |subdued| option for
\emph{normal} and \emph{bold}, in which case it does the opposite actions.
@@ -4668,17 +4382,13 @@ optional argument) will these commands have any real effect.
the |italic| option) combining the |h| letter and the \={ } accent from the
\mst font. Note that \cs{mathrm}|{\hbar}| and \cs{mathbf}|{\hbar}| will
work and that \cs{hbar} does scale in subscripts and exponents. Since
- |1.3u|, this is a priori compatible with all 8bits text font
- encodings\RightNote{1.3u} supporting the |\=| text accent in
+ \mstrelease{1.3u}, this is a priori compatible with all 8bits text font
+ encodings\RightNote{\mstrelease{1.3u}} supporting the |\=| text accent in
the LaTeX way.%
%
-\footnote{\RightNote{1.3u}The horizontal skips for letter |h| from
- \cs{MTsetmathskips} are ignored for \cs{hbar}.% Formerly, a positive
- % ``before'' skip was not properly taken into account for the horizontal
- % positioning of the accent and thus gave a bad result. The user can extend
- % the package \cs{hbar} definition to add skips.
-}
-\footnote{\RightNote{1.3u}The \cs{hbar} redefinition is canceled in normal and
+\footnote{\RightNote{\mstrelease{1.3u}}The horizontal skips for letter |h| from
+ \csb{MTsetmathskips} are ignored for \cs{hbar}.}
+\footnote{\RightNote{\mstrelease{1.3u}}The \cs{hbar} redefinition is canceled in normal and
bold math versions under the |subdued| option.}
\item \mstcmd{fouriervec}: this is a |\vec| accent taken from the Fourier font;
@@ -4687,7 +4397,7 @@ if option fouriervec.
\item \mstcmd{pmvec}: this provides a poor man \cs{vec} accent command, for
upright letters. It uses the right arrow. Does not change
size in subscripts and exponents.
-\item \RLNote{new description:}{1.3za}\mstcmd{Mathnormal}, \mstcmd{Mathrm},
+\item \RLNote{new description:}{\mstrelease{1.3za}}\mstcmd{Mathnormal}, \mstcmd{Mathrm},
\mstcmd{Mathbf}, \mstcmd{Mathit}, \mstcmd{Mathsf}, \mstcmd{Mathtt}: they use the
\mst-ified fonts. By default, \mstcmd{mathnormal}, \mstcmd{mathrm},
\mstcmd{mathbf}, \mstcmd{mathit}, \mstcmd{mathsf}, \mstcmd{mathtt} are redefined
@@ -4707,7 +4417,7 @@ size in subscripts and exponents.
This command is also made available under subdued option in
the ``normal'' and ``bold'' math versions, as \LaTeX\ does not define it a
priori, contrarily to \mathbf and other math alphabet commands.
- \item \RightNote{1.3x}\mstcmd{mathgreekup}: math alphabet, only available
+ \item \RightNote{\mstrelease{1.3y}}\mstcmd{mathgreekup}: math alphabet, only available
under LGRgreek (or LGRgreeks) option, which gives access to `upright'
Greek letters (picked up from a font available in |LGR|-encoding). Note
that the package also defines \cs{alphaup}, \dots, \cs{piup}, \dots\
@@ -4725,7 +4435,7 @@ size in subscripts and exponents.
support as long as suitable usage of \MTgreekfont later on configures a
suitable font).
- \RightNote{1.3za}Also \mstcmd{mathgreekupbold}.
+ \RightNote{\mstrelease{1.3za}}Also \mstcmd{mathgreekupbold}.
\begin{footnotesize}
These math alphabets are also available under subdued option in the
@@ -4764,14 +4474,14 @@ size in subscripts and exponents.
the subdued option anyhow.\par
\end{footnotesize}
-\item \RightNote{1.3x}\mstcmd{mathgreekit}: math alphabet, only available
+\item \RightNote{\mstrelease{1.3y}}\mstcmd{mathgreekit}: math alphabet, only available
under LGRgreek (or LGRgreeks) option, which gives access to `italic'
Greek letters (picked up from a font available in |LGR|-encoding). The
actual shape is configurable via re-defining \MTgreekitdefault and then
redeclaring the math version via \Mathastext (with optional argument if
for a math version other than the ``normal'' one), or \MTDeclareVersion.
- \RightNote{1.3za}Also \mstcmd{mathgreekitbold}.
+ \RightNote{\mstrelease{1.3za}}Also \mstcmd{mathgreekitbold}.
\begin{footnotesize}
See the discussion of \mathgreekup for some \TeX\ hacker level
@@ -4782,13 +4492,6 @@ size in subscripts and exponents.
font for use in math mode. By default, |\imath| and |\jmath| are redefined to use
them. Since \texttt{1.3t}, these macros obey the \texttt{subdued}
regime.
-%
-% \footnote{\RightNote{1.3t}Formerly (i.e.\@ since \texttt{1.12}) \mst
-% redefined the \texttt{\string\i} and \texttt{\string\j} as robust
-% commands usable both in text and math mode and using the above macros
-% in the latter. I have decided it wasn't such a good idea and there is
-% from now on \texttt{1.3t} no such redefinition of \texttt{\string\i}
-% and \texttt{\string\j}!}
\item \mstcmd{MathEuler}, \mstcmd{MathEulerBold}: math alphabets to access
all the glyphs of the Euler font, if option |eulergreek| (or
|eulerdigits| was passed to the package.
@@ -4811,14 +4514,14 @@ all the glyphs of the Euler font, if option |eulergreek| (or
\cs{let}\cs{varepsilon}$=$\cs{epsilon}, etc\dots,
in case only the `variant' form of the letter was used
in the documents.
-\item \hypertarget{symbolmisc}{Miscelleneous mathematical symbols} from the
+\item \hypertarget{symbolmisc}{Miscellaneous mathematical symbols} from the
postscript Symbol font are made available (or replaced) by option
symbolmisc.\footnote{option \blueit{asterisk} is also required to treat the
$*$.
Recall from \autoref{sec:mathxx} that the asterisk in math mode (also
when using the control sequence \cs{ast}) appears then to \TeX{} to be
a composite object.}
- \makeatletter\let\mst@doasterisk\mst@@doasterisk\makeatother They are
+ \MTactiveasterisk They are
\cs{prod}~$\prod$ \cs{sum}~$\sum$ \cs{implies}~$\implies$
\cs{impliedby}~$\impliedby$ \cs{iff}~$\iff$ \cs{shortiff}~$\shortiff$
\cs{to}~$\to$ \cs{longto}~$\longto$ \cs{mapsto}~$\mapsto$
@@ -4864,64 +4567,106 @@ comments).
The timing for actions of \mst falls into three cases:
\begin{enumerate}
-\item things done during the loading of the package, or delayed to
- |\AtBeginDocument|,
+\item things done by \mst itself during its loading (some are delayed to
+ |\begin{document}|),
\item things done as the result of user commands, either in the preamble or in
- the body of the document,
+ the body of the document, (but note that some commands if used in preamble
+ have a real effect only at the time of |\begin{document}|),
\item things done everytime math mode is entered.
\end{enumerate}
-The second category overlaps with the others, as the (preamble) use of some
-commands can have either immediate effect or only trigger some actions in
-|\AtBeginDocument| or perhaps only influence the things done later by \mst
-each time math mode is entered.
-
-The third category deserves some brief additional comments: it mainly (but not
-exclusively) regards the ``math activation'' of characters, and conversely all
-``math activations'' fall into this category. The package re-checks each time
-math mode is entered if some characters have been made in-between catcode
-active, or math active, and takes appropriate decisions: one important aspect
-of this issue is that |babel|'s mechanism for activating character was not, last
-time I checked, very robust against math active characters. I now checked
-again (on January 15, 2016) that
-\begin{verbatim}
- \documentclass{article}
- \usepackage[french]{babel}
- \usepackage{mathtools}\mathtoolsset{centercolon}
- \begin{document}
- $:$
- \end{document}
-\end{verbatim}
-creates an infinite loop (see section \ref{sec:compat} where this was
-mentioned already, some years ago). Thus \mst has (since |1.2e 2013/01/10|) a
-somewhat elaborate mechanism related to these issues (see the code comments),
-installed into the list of things done by \TeX\ systematically each time
-it enters math mode. For some legacy reason the package also puts into
-this list a few other things which could arguably be done elsewhere once and
-for all. The command \csb{MTeverymathoff} cancels all actions done by
-\mst.
+At \mstrelease{1.4}\RLNote{changed:}{\mstrelease{1.4}} a very significant
+change took place: the last category, the one of things done everytime math mode
+is entered, has become \emph{empty}.%
+%
+\footnote{There ia always an exception to a good
+rule, and here it is: only with \LuaLaTeX{} engine, a certain
+command is executed as part of \cs{everymath}. For details see
+\csb{MTfixfonts}.}
+
+The everymath option added at \mstrelease{1.4} re-establishes the legacy
+behavior. Except for ascii letters: they will not even then be made
+mathematically active at each entrance in to math mode, but only once at time
+of package loading (if not subdued) and also when using \MTversion (for
+non-subdued math versions).
+
+\begin{shaded*}
+Under everymath option some commands described here as being usable
+everywhere have in fact an effect only if used externally of math mode.
+The documentation is only accurate for the default \mstrelease{1.4}
+configuration, not for the legacy one as re-enacted by everymath.
+\end{shaded*}
+
+\subsubsection{Expert commands which are preamble-only}
+
+\begin{enumerate}[label=$\bullet$, leftmargin=1em]
+\item \mstcmd{MTgreekupdefault}:\RightNote{\mstrelease{1.3y}} a command with
+ no argument whose expansion specifies, under LGRgreek regime, the
+ shape for the `|up|' Greek control sequences (and for the no-postfix
+ Greek control sequences under upgreek option) in all \mst math
+ versions declared \emph{afterwards} via \cs{Mathastext} or
+ \cs{MTDeclareVersion}. The a priori default for this shape is `|n|'
+ (without the quotes). See
+ \autoref{sec:newgreek}.
+
+ This command can also be defined \emph{prior} to loading the package,
+ as the package itself only does:
+ \centeredline{|\providecommand*\MTgreekupdefault{n}|}
+
+\item \mstcmd{MTgreekitdefault}:\RightNote{\mstrelease{1.3y}} a command with
+ no argument whose expansion specifies, under LGRgreek regime, the
+ shape for the `|it|' Greek control sequences (and for the no-postfix
+ Greek control sequences under itgreek option) in all \mst math
+ versions declared \emph{afterwards} via \cs{Mathastext} or
+ \cs{MTDeclareVersion}. The a priori default for this shape is `|it|'
+ (without the quotes).
+ See \autoref{sec:newgreek}.
+
+ This command can also be defined \emph{prior} to loading the package,
+ as the package itself only does:
+ \centeredline{|\providecommand*\MTgreekitdefault{it}|}
+\end{enumerate}
+
\subsubsection{Expert commands usable everywhere}\label{sec:cmds}
\begin{enumerate}[label=$\bullet$, leftmargin=1em]
+ \item \mstcmd{MTcustomgreek}:\RightNote{\mstrelease{1.3d}} in case \mst has been loaded with one of its
+ Greek related options, this activates the corresponding
+ customization of Greek letters in math mode. It is issued
+ automatically by the package in the preamble (except if loaded with
+ |subdued| option) and at each switch of math version via
+ |\MTversion| or |\MTversion*| (except for the normal and bold math
+ versions in subdued mode). Also available as
+ |\Mathastextcustomgreek|. May be used even inside of math mode.
+
+ \item \mstcmd{MTstandardgreek}:\RightNote{\mstrelease{1.3d}} in case \mst was loaded with one of the Greek
+ related options this command reverts the customization, it resets the Greek
+ letters to their definitions in force at package loading time. Can be used
+ in the preamble, but is mainly for the document body (may even be used
+ inside math mode ...). Done automatically
+ under the |subdued| option when switching to the normal or bold math
+ version. Also available as |\Mathastextstandardgreek|.
+
+
\DeleteShortVerb{\|}%
\item \mstcmd{MTsetmathskips}\marg{a-z|A-Z}\marg{muglue\_before}\marg{muglue\_after}:
%
\MakeShortVerb{\|}%
%
- is\RightNote{1.3a} used to specify extra skips (or rather mu glue) to be
+ is\RightNote{\mstrelease{1.3a}} used to specify extra skips (or rather mu glue) to be
inserted in math mode, before and after a letter. The rationale is that
standard text fonts used in math mode may sometimes cause glyph (near-)
collisions with math symbols, as \TeX{} has some implicit expectations on the
design of fonts for math letters.
- \begin{framed}
+ \begin{snugshade}
These extra skips around letters are set at their natural width and do not
add any stretchability or shrinkability to the math formula as a whole,
nor do they result in extra potential break points.
- \end{framed}
+ \end{snugshade}
Random (silly) examples:
\centeredline{|\MTsetmathskips{x}{\medmuskip}{\thickmuskip}|} \centeredline
@@ -4941,19 +4686,19 @@ for all. The command \csb{MTeverymathoff} cancels all actions done by
\makeatother
\end{verbatim}
- \begin{framed}
+ \begin{snugshade}
\emph{\color{magenta}\bfseries Starting with |v1.3i|:} the extra skips are
\emph{not} applied to the letters within the scope of math alphabet
commands, or the letters from operator names (pre-defined or user
declared).
- \end{framed}
+ \end{snugshade}
{\footnotesize
Note that contrarily to the \csb{MTexistsskip}, \csb{MTforallskip}, and
\csb{MTprimeskip} commands described next, these extra skips (which may be
specified in the preamble) are not recorded in the definition of the math
- version (as defined via \Mathastext with its optional argument or via
- \MTDeclareVersion). The declared skips hold thoughout the document
+ version (as defined via \csb{Mathastext} with its optional argument or via
+ \csb{MTDeclareVersion}). The declared skips hold thoughout the document
until modified or canceled, independently of math versions (of
course, \mst cancels the skips in the normal and bold math versions if
package option \blueit{subdued} was used).\par}
@@ -4967,18 +4712,15 @@ for all. The command \csb{MTeverymathoff} cancels all actions done by
cancels the skips
for that letter (they are not set to |0mu| but completely removed).
-
- % setting the skips to |0mu| which prevents formation of ligatures
- % when the letter is used inside a \cs{mathbf} for example). Example (using a
- % version with upright Latin Modern): \centeredline
- % {|\MTsetmathskips{f}{8mu}{0mu}$gffg\MTunsetmathskips{f}ff\mathbf{ff}$|}
- % gives: \begingroup\MTversion{upright}%
- % \MTsetmathskips{f}{8mu}{0mu}$gffg\MTunsetmathskips{f}ff\mathbf{ff}$\endgroup.
- % The ligature was correctly formed.
-
The argument may be a macro (or any expandable code) expanding to a letter.
+\item \RightNote{\mstrelease{1.3j}}\mstcmd{MTnormalexists}, \mstcmd{MTexistsdoesskip}: the
+ latter (done by default if not |subdued|, and also on each use of
+ |\MTversion| in the body of the document) makes it so that $\oldexists$
+ takes into account the math glue as specified by \MTexistsskip. The
+ former is its opposite.
+
\item \mstcmd{MTexistsskip}\marg{math glue}: specifies the amount of skip or more
generally glue to put after each $\oldexists$ math symbol. Indeed, upright
letters (or digits for that matter) often appear to be positioned a bit too
@@ -4991,17 +4733,13 @@ for all. The command \csb{MTeverymathoff} cancels all actions done by
version (and subsequent ones). One may also use the command at any time in
the document. In the case of the option |subdued|, the skip is canceled in
the \emph{normal} and \emph{bold} math versions.
-%
-% \footnote{\RightNote{1.3j}%
-% Formerly, it was set to |0mu|.}
-%
In the case of the option |italic|, the
default skip is set to zero.
-\item \RightNote{1.3j}\mstcmd{MTnormalexists}, \mstcmd{MTexistsdoesskip}: the
+\item \RightNote{\mstrelease{1.3j}}\mstcmd{MTnormalforall}, \mstcmd{MTforalldoesskip}: the
latter (done by default if not |subdued|, and also on each use of
- |\MTversion| in the body of the document) makes it so that $\oldexists$
- takes into account the math glue as specified by \csb{MTexistsskip}. The
+ |\MTversion| in the body of the document) makes it so that $\oldforall$
+ takes into account the math glue as specified by \MTforallskip. The
former is its opposite.
\item \mstcmd{MTforallskip}\marg{math glue}: the default is to add a |.6667mu| math
@@ -5012,138 +4750,191 @@ for all. The command \csb{MTeverymathoff} cancels all actions done by
be declared} math versions. In the case of the option |subdued|, the skip
is canceled in the \emph{normal} and \emph{bold} math
versions.
-%
-%\footnote{\RightNote{1.3j}Formerly, it was set to |0mu|.}
In the
case of the option |italic|, the default skip is zero for all math versions.
One may use the command at any location in the document.
-\item \RightNote{1.3j}\mstcmd{MTnormalforall}, \mstcmd{MTforalldoesskip}: the
- latter (done by default if not |subdued|, and also on each use of
- |\MTversion| in the body of the document) makes it so that $\oldforall$
- takes into account the math glue as specified by \csb{MTforallskip}. The
- former is its opposite.
+\item \RightNote{\mstrelease{1.3j}}\mstcmd{MTnormalprime},
+ \mstcmd{MTprimedoesskip}: the latter (done by default if not |subdued|,
+ and also on each use of \csb{MTversion} in the body of the document except
+ for the subdued \emph{normal} and \emph{bold} math version) makes it so
+ that $'$ takes into account the math glue as specified by
+ \MTprimeskip. The former is its opposite. In all cases the right quote
+ |'| is a mathematically active character throughout the document producing
+ ${}'$ as is the default in \TeX, it is only its meaning which changes to
+ include or not an extra skip.
+
+ \begin{footnotesize}
+ Even though \MTprimedoesskip is not done in the subdued case, it is
+ \emph{not} a no-op even then in the preamble or in the \emph{normal} and
+ \emph{bold} math versions.\par
+ \end{footnotesize}
-\item \mstcmd{MTprimeskip}\marg{math glue}: the default is to add a |0.5mu| skip
- before the derivative glyph, except for the |italic| option. In the case of
- the option |subdued|, the skip is canceled in the \emph{normal} and
+\item \mstcmd{MTprimeskip}\marg{math glue}: specifies the amount of math
+ skip to add before the derivative glyph. The default iniitial value is
+ |0.5mu|, except with the |italic| option where it is |0mu|. In the case
+ of the option |subdued|, the skip is canceled in the \emph{normal} and
\emph{bold} math versions.
-%
-%\footnote{\RightNote{1.3j}Formerly, it was set to
-% |0mu|.}
-% obsolete et mme faux avec 1.3j
-% \footnote{if \cs{begin\{document\}} is not followed
-% with \cs{MTversion\{normal\}}, the latest values set in the preamble by
-% these commands are used at the beginning of the document,
-% even under option \texttt{subdued}.}
+\item \mstcmd{MTnormalasterisk}, \mstcmd{MTactiveasterisk}: the latter will
+ use for |*| and |\ast| the text font asterisk, suitably lowered; the former
+ if used in the preamble tells \mst to not modify the non-\mst situation, or
+ if used in the body to revert to it. Both are no-op's in absence of option
+ asterisk.
+
+\begin{footnotesize}
+ A legacy feature is that \MTactiveasterisk is \emph{not} a no-op in
+ subdued \emph{normal} or \emph{bold} math versions, and does let the
+ asterisk obey the \MTlowerast configuration, if used explicitly by user
+ (even in the preamble).
+
+ At \mstrelease{1.4}\RLNote{changed:}{\mstrelease{1.4}} \mst checks at
+ |\begin{document}| (or each time \MTaciveasterisk is made use of) if
+ * is a Babel shorthand (which I far as I know is the case of no
+ language) or is already mathematically active. In the latter case the
+ * is not modified in math mode; and it is not modified either if
+ found to be catcode active but not a \ctanpkg{babel} shorthand. In
+ contrast, the \cs{ast} will always be set to obey \MTlowerast
+ configuration after \MTactiveasterisk.
+
+\end{footnotesize}
-\item \mstcmd{MTlowerast}\marg{dimen}: a \cs{raisebox} command is
+\item \mstcmd{MTlowerast}\marg{dimen}: under option asterisk
+ a \cs{raisebox} command is
used to lower the text asterisk to produce a reasonable math
asterisk. The package uses this command initially with
argument |0.3\height|, this will have to be fine-tuned for
each given text font but worked out ok with the fonts we
- tried. Note that the dimension argument will be used also in
+ tried. The dimension argument will be used also in
sub-scripts and sub-sub-scripts, so it is best not to use an
- absolute dimension.
+ absolute dimension. The dimension specification is for text
+ it can not be with |mu| unit.
\item \mstcmd{MTmathoperatorsobeymathxx}, \mstcmd{MTmathoperatorsdonotobeymathxx}: the
former is done by default, it makes operator names obey math alphabets. See
- also section \ref{sec:mathxx}. This functionality \emph{does
+ also \autoref{sec:mathxx}. This functionality \emph{does
{\normalfont\bfseries not} rely}
on ``math active characters''. Automatically issued by each \cs{MTversion},
except under option |subdued| when switching to \emph{normal} or \emph{bold}.
- \item \mstcmd{MTcustomgreek}:\RightNote{1.3d} in case \mst has been loaded with one of its
- Greek related options, this activates the corresponding
- customization of Greek letters in math mode. It is issued
- automatically by the package in the preamble (except if loaded with
- |subdued| option) and at each switch of math version via
- |\MTversion| or |\MTversion*| (except for the normal and bold math
- versions in subdued mode). Also available as
- |\Mathastextcustomgreek|. May be used even inside of math mode.
+\item \mstcmd{MTmathactiveletters}:\RightNote{\mstrelease{1.3}}
+ `math activation' of all ascii Latin
+ letters. This is done by the package automatically except under the
+ subdued option.
- \item \mstcmd{MTstandardgreek}:\RightNote{1.3d} in case \mst was loaded with one of the Greek
- related options this command reverts the customization, it resets the Greek
- letters to their definitions in force at package loading time. Can be used
- in the preamble, but is mainly for the document body (may even be used
- inside math mode ...). Done automatically
- under the |subdued| option when switching to the normal or bold math
- version. Also available as |\Mathastextstandardgreek|.
-\end{enumerate}
-
-\subsubsection{Expert commands which are preamble-only}
-
-\begin{enumerate}[label=$\bullet$, leftmargin=1em]
-\item \mstcmd{MTgreekupdefault}:\RightNote{1.3x} a command with
- no argument whose expansion specifies, under LGRgreek regime, the
- shape for the `|up|' Greek control sequences (and for the no-postfix
- Greek control sequences under upgreek option) in all \mst math
- versions declared \emph{afterwards} via \cs{Mathastext} or
- \cs{MTDeclareVersion}. The a priori default for this shape is `|n|'
- (without the quotes). See
- \autoref{sec:newgreek}.
-
- This command can also be defined \emph{prior} to loading the package,
- as the package itself only does:
- \centeredline{|\providecommand*\MTgreekupdefault{n}|}
-
-\item \mstcmd{MTgreekitdefault}:\RightNote{1.3x} a command with
- no argument whose expansion specifies, under LGRgreek regime, the
- shape for the `|it|' Greek control sequences (and for the no-postfix
- Greek control sequences under itgreek option) in all \mst math
- versions declared \emph{afterwards} via \cs{Mathastext} or
- \cs{MTDeclareVersion}. The a priori default for this shape is `|it|'
- (without the quotes).
- See \autoref{sec:newgreek}.
-
- This command can also be defined \emph{prior} to loading the package,
- as the package itself only does:
- \centeredline{|\providecommand*\MTgreekitdefault{it}|}
-\end{enumerate}
-
-\subsubsection{Expert commands usable only outside of math mode}\label{sec:cmdsoutmath}
+ At \mstrelease{1.4}\RLNote{changed:}{\mstrelease{1.4}} its behavior was
+ modified significantly: instead of setting some toggle obeyed only at
+ entrance of math mode, it acts on the spot immediately.
+\begin{snugshade}
+ Formerly, this command was only a configuration toggle with no immediate
+ impact (and was not usable from inside math mode). Indeed, the \mst work of
+ mathematical activation was done (or not done) \emph{each time} math mode
+ was entered (if not in subdued), and the ascii letters kept standard
+ mathcodes outside of math mode.
+
+ The command now does the mathematical activation on the spot and the meaning
+ of the active shape of the ascii letters --- a priori undefined because
+ typesetting a document with an active ascii letter is near impossible, as no
+ \LaTeX{} command name used in the document can contain it --- is modified
+ here and then; but of course the catcodes are not modified only the
+ mathcodes are. Except if \mst is loaded with the subdued option, this
+ mathematical activation is executed already at package loading time.
+
+ If with the subdued option, the command is inactive in the preamble, as
+ well as in the \emph{normal} and \emph{bold} math versions. In all cases it
+ gets (re-)executed automatically when \MTversion is used for activating a
+ non-subdued math version.
-They are usable only from outside math mode because they act via turning on
-or off the execution, each time math mode is entered, of certain macros added
-by \mst to the \cs{everymath} and \cs{everydisplay} token list variables.
+ \begin{footnotesize}
+ The new situation may be dangerous if the document author makes a letter,
+ say |A|, catcode active at some point, with a definition of the active
+ state using |\string A|. As \mst has (earlier, in the preamble) set |A|
+ to be mathematically active as well, and as the \cs{string} changes
+ nothing to that, an infinite loop will be triggered by such an |A| in math
+ mode.
+
+ But, having an active ascii letter can only be in very localized portions
+ of a document, and only be authored by experts. The experts should
+ carefully make sure the mathcode of the letter is not active if they set
+ the catcode to active and let the active meaning use \cs{string} on the
+ letter itself, thus we can trust that the mathematical activation done
+ earlier by \mst is undone and there will be no problems.\par
+ \end{footnotesize}
-\begin{enumerate}[label=$\bullet$, leftmargin=1em]
+ This \mstrelease{1.4} change may thus need to be followed by some
+ adjustments in some quite special circumstances caused by some expert
+ interventions.
-\item \mstcmd{MTmathactiveletters}: activates the `math activation' of Latin
- letters. This is done by the package during loading, except under the
- |subdued| option.
-%
-% \footnote{\RightNote{1.3j}Formerly, it was also executed
-% from each \cs{Mathastext} in the preamble.}
- It is again executed in the
- body at each \cs{MTversion}, except under the |subdued| option when
- switching to the \emph{normal} or \emph{bold} math versions.
+ See \autoref{sec:mathskips} and \autoref{sec:ic} for the rationale of this
+ mathematical activation, and \autoref{ssec:hackingletters} for ways to
+ use it for other goals.
+\end{snugshade}
+ \begin{footnotesize}
+ If you do want mathematically active letters also in subdued \emph{normal}
+ or \emph{bold} math versions (to apply tricks such as those of
+ \autoref{ssec:hackingletters}) there is \cs{mst@mathactivateletters} which
+ does not check the subdued status.\par
+ \end{footnotesize}
+
+\item \mstcmd{MTmathstandardletters}:\RightNote{\mstrelease{1.3}}
+ turns off the mathematical active
+ ascii letters, i.e.\@ reverts their mathcodes to package font configuration.
+ Here ``standard'' only means
+ that the letters will not be mathematically active, but they are still under the
+ influence of \mst regarding the typeface they use, so they are only
+ ``standard'' from \mst point of view.
+
+ At \mstrelease{1.4}\RLNote{changed:}{\mstrelease{1.4}} its behavior was
+ modified: instead of setting some toggle obeyed only at entrance of math
+ mode, it acts on the spot immediately.
+ \begin{snugshade}
+ \MTmathstandardletters will not try to restore the meaning associated to
+ the catcode active variant of the letter token which may have been in place
+ at the time of \MTmathactiveletters. This meaning is not saved for
+ later reset.
+
+ \emph{Except} if the \emph{letter} was an active Babel-shorthand at the time
+ of \MTmathactiveletters, which is in fact almost impossible to achieve
+ via the \ctanpkg{babel} interface.
+
+ And if the letter was catcode-active due to user action,
+ \MTmathactiveletters will not have made it mathematically active, nor
+ will it have modified its active meaning. So the active meaning may get
+ overwritten only for a letter having a normal catcode at time of
+ \MTmathactiveletters but which for some reason has some meaning
+ associated to its catcode active variant.
+ \end{snugshade}
+
+\item \mstcmd{MTmathactivedigits}:\RLNote{new:}{\mstrelease{1.4}}
+ is a no-op except under option
+ activedigits. It then makes all digits mathematically active and is
+ executed during package loading, except if subdued. It is again executed
+ when entering any non-subdued math version in the document body. See
+ \autoref{ssec:hackingletters} for an example of use.
- The letters are made mathematically active\footnote{the |mathcode|'s are
- only modified at the time of execution of \cs{everymath},
- \cs{everydisplay}.} to insert the extra skips as specified by
- \csb{MTsetmathskips} (see section \ref{sec:mathskips}), and also possibly
- the italic corrections when using upright fonts (see section \ref{sec:ic}).
+ \begin{footnotesize}
+ If you do want mathematically active digits also in subdued \emph{normal}
+ or \emph{bold} math versions (to apply tricks such as those of
+ \autoref{ssec:hackingletters}) there is \cs{mst@mathactivatedigits} which
+ does not check the subdued status.\par
+ \end{footnotesize}
-\item \mstcmd{MTmathstandardletters}: cancels the `math activation' of the letters.
- Must be re-issued after each \csb{MTversion}, but see
- \csb{MTeverymathdefault}.
+\item \mstcmd{MTmathstandarddigits}:\RLNote{new:}{\mstrelease{1.4}}
+ a no-op except under option
+ activedigits. Under this option it resets the digits to their normal
+ mathcodes as configured by the package.
\item \mstcmd{MTicinmath}: this command is executed by default by \mst except in
case of option |subdued| or if the user chosen letter shape is oblique (|it|
or |sl|). It tells \mst to add italic corrections after all letters in math
mode, except within the scope of math alphabets.
-%
-% \footnote{\RightNote{1.3i}%
-% Formerly, italic corrections were added to the (non-oblique) letters of
-% \cs{mathnormal} arguments.}
- This command and the next ones in this item can be used in the preamble as
- well as in the body of the document (in case of |subdued| option, using the
- commands from within the preamble will remain without effect, as the
- document body will start in the subdued normal math version anyhow.) But
- each \cs{MTversion} in the body will re-emit \cs{MTicinmath} (in case of
+ This\RLNote{changed:}{\mstrelease{1.4}}
+ command and the next ones in this item can be used anywhere in the
+ document and even from inside math mode. In case of subdued option, using the
+ command from within the preamble remains without effect, as the
+ document body will start in the subdued normal math version anyhow.
+ Each \cs{MTversion} in the body reemits \cs{MTicinmath} (in case of
non-oblique letter shape), except if the
|subdued| option was used and the chosen math version is \emph{normal} or
\emph{bold}.
@@ -5153,54 +4944,38 @@ by \mst to the \cs{everymath} and \cs{everydisplay} token list variables.
{\footnotesize
- It may theoretically be used from inside math mode, but the included
- \MTmathactiveletters will have an effect only if issued prior to
- entering math mode.
+ The description above about the command not being executed if the letter
+ shape is italic or slanted is not quite right, as it refers only to the
+ act of inserting or not italic correction. The
+ \MTmathactiveletters component is always executed, however it will be a
+ no-op in |subdued| \emph{normal} and \emph{bold}.
\mstcmd{MTnoicinmath}: this command deactivates the package added
italic corrections. It can be used inside as well as outside
- of math mode (or in the preamble of the document).
-
- \mstcmd{MTICinmath}, \mstcmd{MTnoICinmath}: these commands activate the italic
- corrections only for the uppercase letters (but recall that \cs{MTicinmath}
- is done by default, thus this will typically have to follow
- \cs{MTnoicinmath}.)
-
-% obsolte 1.3i
- % Following some decision of the package author whose rationale has been
- % forgotten, afer \cs{MTICinmath} italic corrections for uppercase letters in
- % arguments to all math alphabets (\emph{i.e.} also \cs{mathnormal}) are
- % suppressed (with \cs{MTicinmath} the italic corrections are suppressed
- % inside the scope of math alphabets \emph{except} \cs{mathnormal}.)
- % No italic corrections are explicitly added inside arguments of math
- % alphabets.
+ of math mode (or in the preamble of the document). Note that it does not
+ deactivate the mathematical activation of the ascii letters. Use
+ \MTmathstandardletters for that.
+
+ \mstcmd{MTICinmath}, \mstcmd{MTnoICinmath}: only acts on the uppercase
+ letters. But recall that \cs{MTicinmath} is done by default, thus
+ using italic corrections only for uppercase needs to go via
+ \cs{MTnoicinmath} then \cs{MTICinmath}.
\mstcmd{MTicalsoinmathxx}: this command de-activates the de-activation of
the italic corrections inside the arguments to the math alphabet
- commands.
-% apart from \cs{mathnormal}.
+ commands.
It can be issued inside as well as outside of math mode. Will be effective
only if \MTicinmath or \MTICinmath is in force.
-% obsolte 1.3i
- % \footnote{it is provided
- % for the \mst defined math alphabet \cs{mathnormalbold} which
- % contrarily to \cs{mathnormal} is not treated apart from the other
- % math alphabets.}
To cancel its effect either enclose it in a group or
environment or re-issue \MTicinmath after it.
}
-\item \mstcmd{MTnormalasterisk}, \mstcmd{MTactiveasterisk}: the latter will use for |*|
- and |\ast| the text font asterisk, suitably lowered; the former tells \mst
- to not modify the \LaTeX\ default. Both are no-op without option
- asterisk.
-
\item \mstcmd{MTeasynonlettersobeymathxx}, \mstcmd{MTeasynonlettersdonotobeymathxx}: the
former is done by default, it makes characters \verb+.+, \verb+/+, \verb+|+,
\verb+\+, \verb+#+, \verb+$+, \verb+%+, and \verb+&+
(if not excluded by package options) obey math alphabet commands. See also
- section \ref{sec:mathxx}. This functionality does \emph{not} make the
+ \autoref{sec:mathxx}. This functionality does \emph{not} make the
characters ``math active'' (but it does modify |\mathcode|'s, naturally).
\item \mstcmd{MTnonlettersobeymathxx}, \mstcmd{MTnonlettersdonotobeymathxx}: the former
@@ -5213,105 +4988,110 @@ by \mst to the \cs{everymath} and \cs{everydisplay} token list variables.
it will have to be coded |$a^{!}$|. Hence, by default, the package does
\MTnonlettersdonotobeymathxx.
- \begin{framed}
- Under |subdued| option, \cs{MTnonlettersobeymathxx} effect is of course
- canceled in the \emph{normal} and \emph{bold} math versions; but please
- note that when switching back to a non-subdued math version it will be
- mandatory to issue again \cs{MTnonlettersobeymathxx} explicitly if its
- effect is to be re-activated.
-
- In particular, executing \cs{MTnonlettersobeymathxx} in the preamble or at
- the start of the document body serves nothing, because the document is in
- the subdued \emph{normal} math version regime then. It must thus be
- executed after the first usage of \cs{MTversion} switching to a
- non-subdued math version, and again on each successive exit from the
- \emph{normal} or \emph{bold} math versions.
- \end{framed}
-
\item \mstcmd{MTexplicitbracesobeymathxx}: extends an earlier \MTnonlettersobeymathxx
to also treat \verb|\{| and \verb|\}|. But then |\left\{|, |\right\}| must
be coded |\left\lbrace|, |\right\rbrace| rather. There is also
\mstcmd{MTexplicitbracesdonotobeymathxx}.
-\item \RightNote{1.3j}\mstcmd{MTnormalprime}, \mstcmd{MTprimedoesskip}: the latter (done by default if not
- |subdued|, and also on each use of \csb{MTversion} in the body of the document
- except for the |subdued| \emph{normal} and \emph{bold} math version)
- makes it so that $'$ takes into account the math glue as specified by
- \csb{MTprimeskip}. The former is its opposite. In all cases the right quote
- |'| is a mathematically active character producing ${}'$ as is the default
- in \TeX, it is only its meaning which changes to include or not an extra
- skip. For some (legacy) reason, this change of meaning is done anew
- by \mst each time math mode is entered. The commands of this item are thus
- no-op from inside math mode.
-
-
-\item \RightNote{1.3j}\mstcmd{MTeverymathdefault}: this hook is executed by
- \csb{MTversion}\marg{version\_name}, except under option |subdued|
- when switching to the \emph{normal} or \emph{bold} math versions. Its
+\item \RightNote{\mstrelease{1.3j}}\mstcmd{MTeverymathdefault}: this hook is executed by
+ \csb{MTversion}\marg{version\_name} (but if under option |subdued|
+ and switching to the \emph{normal} or \emph{bold} math version its default
+ effect is overruled by an \MTeverymathoff executed after it). Its
default meaning is:
\begin{verbatim}
\MTactiveasterisk % this has no effect without option asterisk
\MTprimedoesskip % this makes prime glyph obey extra space
\MTeasynonlettersobeymathxx
- \MTicinmath % this does \MTmathactiveletters, hence also skips from
- % \MTsetmathskips are obeyed.
+ \MTicinmath % this does \MTmathactiveletters, hence the extra
+ % skips from \MTsetmathskips are obeyed.
+ \MTmathactivedigits % this is a no-op in absence of option activedigits
\MTfixfonts % only operant under LuaLaTeX.
\end{verbatim}
- {\footnotesize Notice that under |subdued| option, switching to the
+ {\footnotesize Under |subdued| option, switching to the
\emph{normal} or \emph{bold} version does \csb{MTeverymathoff} which
- includes \cs{MTnonlettersdonotobeymathxx}.
+ includes \MTnonlettersdonotobeymathxx.
The default
\MTeverymathdefault which is issued when going back to a
non-\emph{normal} or \emph{bold} math version doesn't do
- \cs{MTnonlettersobeymathxx}: thus it is up to the user to correct this if
- needed (no issue without |subdued| option).
+ \MTnonlettersobeymathxx: thus it is up to the user to correct this if
+ desired.
Notice also that \csb{MTversion}\marg{version\_name}, except for \emph{normal}
or \emph{bold} if |subdued| does \csb{MTforalldoesskip} and
\csb{MTexistsdoesskip}, which are not included in \cs{MTeverymathdefault}
-actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
+actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par
-\item \RightNote{1.3j}\mstcmd{MTeverymathoff}: does \MTnormalasterisk,
+At \mstrelease{1.4}, the name of this command diverges somewhat from its
+action as mathematical activation of ascii letters (or, optionally, of digits)
+will happen on the spot and not during \cs{everymath} or \cs{everydisplay}
+execution.\par
+}
+
+\item \RightNote{\mstrelease{1.3j}}\mstcmd{MTeverymathoff}: does \MTnormalasterisk,
\MTnormalprime, \MTnonlettersdonotobeymathxx,
- \MTeasynonlettersdonotobeymathxx, \MTmathstandardletters and
+ \MTeasynonlettersdonotobeymathxx, \MTmathstandardletters,
+ \MTmathstandarddigits\RightNote{\mstrelease{1.4}} and
\MTdonotfixfonts.
- {\footnotesize \RightNote{1.3i}The commands
- |\url/\nolinkurl| of package |hyperref| and |url| from |url.sty| (which
+ Automatically done by \csb{MTversion}|{normal}| (or |{bold}|) under option |subdued|
+ (and
+ also \csb{MTnormalexists} and
+ \csb{MTnormalforall} are executed then).
+
+
+ {\footnotesize \RightNote{\mstrelease{1.3i}}The commands
+ |\url/\nolinkurl| of package |hyperref| and |\url| from |url.sty| (which
use math mode under the hood) are patched by \mst to do \MTeverymathoff
automatically: this is needed because \mst modifies anew some mathcodes
\emph{each time math mode is entered,} hence may overwrite to some extent
- the specific preparation done by |{url,hyperref}.sty|.
- % {\parfillskip0pt\hfill
- % \rlap{\kern10pt\textcolor{magenta}{\bfseries New! (1.3i)}}\par}
+ the specific preparations done by |{url,hyperref}.sty|.
+
+ \RightNote{\mstrelease{1.4}}However, in some cases it may be interesting to
+ be able to apply hacks as described in \autoref{ssec:hackingletters}.
+ You can use now \MTeverymathoff as a hook inside
+ |\url| and |\nolinkurl| commands. Perhaps redefine it (locally) to do
+ all of the above except \MTmathstandardletters and/or
+ \MTmathstandarddigits, and use the \autoref{ssec:hackingletters}
+ instructions to achieve special effects for some letters or digits in
+ the URLs rendered via |\url| and |\nolinkurl|.
+ \par
+ }
+
+\end{enumerate}
- Automatically done by \csb{MTversion} under option |subdued|
- if switching to the \emph{normal} or \emph{bold} math versions; and
- \csb{MTversion} then does also \csb{MTnormalexists} and
- \csb{MTnormalforall}.
-\par}
+\subsubsection{Expert commands usable only outside of math mode}\label{sec:cmdsoutmath}
+
+There is only one pair of commands here: \MTfixfonts and \MTdonotfixfonts.
+They are operant only under \LuaLaTeX{}. As \MTeverymathdefault and
+\MTeverymathoff use them, they arguably could have been listed here, but
+only for engine \LuaLaTeX{}.
\small
-\item \RightNote{1.3o}\mstcmd{MTfixfonts}: this is operant only under
+\begin{enumerate}[label=$\bullet$, leftmargin=1em]
+
+\item \RightNote{\mstrelease{1.3o}}\mstcmd{MTfixfonts}: this is operant only under
\LuaLaTeX{}. It has the effect that each time math mode is entered macro
\csb{MTfixmathfonts} will be executed. The latter forces so-called |base|
mode for the used text font in math mode, in an effort to (only partially,
see code comments) fix the fact that OpenType features such as Lining
Figures were in some cases not being applied in math mode when one uses text
fonts there (text fonts are declared by \LuaTeX+|luaotfload| to use |node|
- mode, which is non-functional in math.) It is invoked automatically by the
+ or |harf| mode, which are non-functional in math.) It is invoked automatically by the
package (except for |normal| and |bold| math versions under |subdued|
option), and in normal situations, there is no reason to use it directly.
+ \RLNote{changed:}{\mstrelease{1.4}}The hack was updated at \mstrelease{1.4}
+ in order to also handle fonts using |Renderer=HarfBuzz|.
+
% pas envie de perdre mon temps l-dessus. D'ailleurs peut-tre dj pour
% commencer bm ne fonctionne pas avec fontes OpenType.
% Notice (not tested) that package |bm| is presumably not compatible.
-\item \RightNote{1.3o}\mstcmd{MTdonotfixfonts}: cancels the job of
+\item \RightNote{\mstrelease{1.3o}}\mstcmd{MTdonotfixfonts}: cancels the job of
|\MTfixfonts|. Done automatically in subdued mode when in the |normal| or
|bold| math version; in normal contexts, there is no reason to use this
command. Only operant under \LuaLaTeX.
@@ -5321,17 +5101,19 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
\subsubsection{Expert commands usable only in math mode}
\begin{enumerate}[label=$\bullet$, leftmargin=1em]
-{\small
-\item\RightNote{1.3p}%
+
+\item\RightNote{\mstrelease{1.3p}}%
\mstcmd{MTfixmathfonts}: this used to be an internal package macro
- but it is given a public name at |1.3p| because I discovered that
+ but it is given a public name at \mstrelease{1.3p} because I discovered that
|$..\hbox{\mathversion{foo}$..$}..$| causes an
issue and one needs to invoke again \cs{MTfixmathfonts} \emph{after} the
\verb|\hbox|, for some reason. To be used \emph{only} under \LuaLaTeX{} and only for
such rare cases where it may be needed.\par
-}
+
\end{enumerate}
+\normalsize
+
\section{Package options}
\subsection{Summary of main options}
@@ -5388,7 +5170,8 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
roughly by themes. So, objectively, the best for the diligent reader is to
read thoroughly all descriptions.
\begin{enumerate}[label=$\bullet$, leftmargin=1em]
- \item \mstopt{basic}: only mathastextify letters and digits.
+ \item \mstopt{basic}: only mathastextify (ascii) letters and digits. Can
+ be combined with either nodigits or noletters.
\item \mstopt{subdued}: acts in a subdued way, which means that the \LaTeX\
``normal'' (default) and ``bold'' (triggered by \cs{boldmath} or
\cs{mathversion}|{bold}|, undone by \cs{unboldmath} or on exit from a
@@ -5410,10 +5193,10 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
handles Greek letters, also lowercase (but not uppercase) Greek
letters will use this a priori italic shape except if some other
option such as \blueit{upgreek} was used.%
- \footnote{Since \texttt{1.3x}, in presence of the \blueit{LGRgreek}
- option in addition to \blueit{italic}, the \cs{MTgreekitdefault}
+ \footnote{Since \texttt{1.3y}, in presence of the \blueit{LGRgreek}
+ option in addition to \blueit{italic}, the \csb{MTgreekitdefault}
shape is then used for lowercase Greek letters and
- \cs{MTgreekupdefault} for uppercase.}
+ \csb{MTgreekupdefault} for uppercase.}
\item \mstopt{frenchmath}: configures the lowercase Latin letters to use
italic shape (\cs{itdefault}), and uppercase Latin letters to be in
same shape as for digits and operator names (i.e.\@ a priori
@@ -5424,8 +5207,8 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
and uppercase Greek letters will use the same shape as
operator names, except if some other option such as \blueit{itgreek}
was used.%
- \footnote{Under \blueit{LGRgreek} and since |1.3x|, the
- \cs{MTgreekupdefault} is used for Greek letters if no other option
+ \footnote{Under \blueit{LGRgreek} and since \mstrelease{1.3y}, the
+ \csb{MTgreekupdefault} is used for Greek letters if no other option
such as \blueit{itgreek} was employed.}
\begin{snugshade}
@@ -5434,9 +5217,7 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
be in the same shape as the one for digits and operator
names) is \textbf{not} undone in the subdued ``normal''
and ``bold'' math versions. It holds throughout the
- document, but math versions declared by \mst may use
- \MTshape and \MTlettershape to, in effect, obtain
- whatever configuration is desired.
+ document.
As a bonus, note that doing
\centeredline{|\usepackage[basic,subdued,frenchmath]{mathastext}|}
@@ -5490,7 +5271,7 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
%\end{footnotesize}
-\item \mstopt{defaultalphabets}: \RLNote{new behavior}{1.3za}\mst
+\item \mstopt{defaultalphabets}: \RLNote{new behavior}{\mstrelease{1.3za}}\mst
always defines \cs{Mathnormal}, \cs{Mathrm}, \cs{Mathbf} etc... to
refer to the \mst-ified text fonts, and redefines the math
alphabets \cs{mathrm}, \cs{mathit}, \cs{mathtt} etc\dots{} (but
@@ -5501,22 +5282,22 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
be available whether or not this option is made use of.
\begin{footnotesize}
- Prior to |1.3za| (and since |1.15f|), this option also prevented the
+ Prior to \mstrelease{1.3za} (and since \mstrelease{1.15f}), this option also prevented the
package to declare the \cs{Mathnormal} et al.\@ and \cs{mathnormalbold}
commands. In this context, recall that the dreaded ``too many math
alphabets'' error can only occur on \emph{use} in the document of too many
of such commands, and not at the time of their declarations. The author's
- notes from time of |1.15f| release (|2012/10/25|) only say that it may not
+ notes from time of \mstrelease{1.15f} release (|2012/10/25|) only say that it may not
be ``useful'' to package user to have both (for example) |\mathrm| and
|\Mathrm|, which sounds weird if they are to acquire distinct meanings.
- So since |1.3za| both will exist. In the default package configuration
+ So since \mstrelease{1.3za} both will exist. In the default package configuration
|\mathrm| is configured to expand to |\Mathrm| (with some extra behavior
under LGRgreek+), and with this option or the defaultrm option
|\mathrm| is kept with its original meaning (and the LGRgreek+ extras do
not work).\par
\end{footnotesize}
-\item \RLNote{changed:}{1.3za}\mstopt{defaultnormal}, \mstopt{defaultrm},
+\item \RLNote{changed:}{\mstrelease{1.3za}}\mstopt{defaultnormal}, \mstopt{defaultrm},
\mstopt{defaultbf}, \mstopt{defaultit}, \mstopt{defaultsf},
\mstopt{defaulttt}: tell \mst to not set up, respectively, the
\cs{mathnormal}, \cs{mathrm}, \cs{mathbf}, \cs{mathit}, \cs{mathsf}, and
@@ -5524,11 +5305,11 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
always via \cs{Mathnormal}, \cs{Mathrm}, \cs{Mathbf}, \cs{Mathit}, etc...
\begin{footnotesize}
- Prior to |1.3za| these options also prevented the creation of the
+ Prior to \mstrelease{1.3za} these options also prevented the creation of the
corresponding \mst command with an uppercased initial.\par
\end{footnotesize}
-\item \mstopt{ncccomma}:\RightNote{1.3x} it triggers the loading of the
+\item \mstopt{ncccomma}:\RightNote{\mstrelease{1.3y}} it triggers the loading of the
\ctanpkg{ncccomma} package%
%
\footnote{Alexander I. \textsc{Rozhenko}, \emph{Use comma as decimal
@@ -5553,8 +5334,8 @@ those parts of the document using another language than French.%
reenact it. For background on this issue see
\url{https://github.com/latex3/babel/issues/190}.
- This does not apply to \ctanpkg{decimalcomma} |1.3| or later.}
-\item \mstopt{decimalcomma}:\RightNote{1.3zb} it triggers the loading of the
+ This does not apply to \ctanpkg{decimalcomma} \mstrelease{1.3} or later.}
+\item \mstopt{decimalcomma}:\RightNote{\mstrelease{1.3zb}} it triggers the loading of the
\ctanpkg{decimalcomma} package%
%
\footnote{Antoine \textsc{Missier}, \emph{Comma for decimal numbers},
@@ -5565,7 +5346,7 @@ The same remarks apply as for the ncccomma option. In particular \emph{note
\emph{\texttt{decimalcomma}}, the correct way is to use the eponymous
option.}
-\item \mstopt{binarysemicolon}:\RightNote{1.3x} sets (except if
+\item \mstopt{binarysemicolon}:\RightNote{\mstrelease{1.3y}} sets (except if
\blueit{nopunctuation} is used) the semi-colon to let \TeX\ use
spacing of binary type, not punctuation type, around the semi-colon
(it is often used in French mathematical typesetting as separator in
@@ -5575,12 +5356,12 @@ The same remarks apply as for the ncccomma option. In particular \emph{note
The effect applies to all math versions, even the \emph{normal} and
\emph{bold} math versions with \mst having been loaded with the
\blueit{subdued} option.
-\item \mstopt{frenchmath*}:\RLNote{CHANGED!}{1.3zb} does all three of \blueit{frenchmath},
+\item \mstopt{frenchmath*}:\RLNote{CHANGED!}{\mstrelease{1.3zb}} does all three of \blueit{frenchmath},
\blueit{decimalcomma} and \blueit{binarysemicolon}.
\begin{footnotesize}
- Prior to |1.3zb|, this option did what is now available via frenchmath+.
- The |1.3zb|
+ Prior to \mstrelease{1.3zb}, this option did what is now available via frenchmath+.
+ The \mstrelease{1.3zb}
change was made as a follow-up consecutive to the |2.7| release \ctanpkg{frenchmath}.
Indeed this option as explained in \autoref{ssec:frenchmath} is provided as
a compatiblity layer with \ctanpkg{frenchmath}, and it was mandatory to
@@ -5588,20 +5369,75 @@ The same remarks apply as for the ncccomma option. In particular \emph{note
consecutive to the internal change of \ctanpkg{frenchmath} at its |2.7|
release to use \ctanpkg{decimalcomma}.\par
\end{footnotesize}
-\item \mstopt{frenchmath+}:\RightNote{1.3zb} does all three of \blueit{frenchmath},
+\item \mstopt{frenchmath+}:\RightNote{\mstrelease{1.3zb}} does all three of \blueit{frenchmath},
\blueit{ncccomma} and \blueit{binarysemicolon}. This is what used to be
- called frenchmath* prior to |1.3zb|.
+ called frenchmath* prior to \mstrelease{1.3zb}.
\item \mstopt{endash}, \mstopt{emdash}: use the text font en-dash (\textendash) or even
the em-dash (\textemdash, but this seems crazy) for the minus sign
rather than {}-{}. endash option is default for the package.
-\item \mstopt{unicodeminus}:\RightNote{1.3q} use the |MINUS SIGN U+2212| (requires
+\item \mstopt{unicodeminus}:\RightNote{\mstrelease{1.3q}} use the |MINUS SIGN U+2212| (requires
\ctanpkg{fontspec}.) Or, in the form |unicodeminus=HHHH| with four \emph{uppercased}
hexadecimal digits: use the |U+HHHH| code point. As noendash really means
``use the hyphen from the text font'', unicodeminus remains without effect
under it, or, naturally, under nominus. Without this option,
\mst uses the |EN DASH U+2013| by default for OpenType fonts.
-\item \mstopt{asterisk}: use the text font (or the Symbol font) asterisk in math mode.
-\item \mstopt{nohbar}: prevents \mst from defining its own
+\item \mstopt{asterisk}: this tells \mst to replace the binary math operator $*$
+ and the control sequence \cs{ast} with versions which uses the text asterisk
+ * suitably lowered, and with the correct spaces around it as binary
+ operator. The amount of lowering%
+%
+\footnote{With the option
+ \texttt{symbolmisc}, the asterisk is picked from the Symbol font, and the
+ amount of lowering is non-customizable; however if a math alphabet command
+ is used, the asterisk is then again from a text font and the lowering will
+ be as specified by \cs{MTlowerast}.}
+%
+ is decided by the mandatory argument to the command
+ \csb{MTlowerast}\marg{dimen}. The package does
+ \cs{MTlowerast}|{.3\height}|. Using the |ex| unit as in
+ \cs{MTlowerast}|{.5ex}| is not a good idea as it does not scale properly in
+ the script and scriptscript styles.
+
+ Attention that if using this option, inputs such as |$R^*$| or |$R^\ast$|
+ raise errors and \emph{must} be replaced by |$R^{*}$|, respectively
+ |$R^{\ast}$|. The $*$ is now `mathematically active'\thinspace%
+%
+\footnote{In
+ a hopefully safe way, for example {\ttfamily\$\string\label\{eq*1\}\$} is
+ ok.}
+%
+ and |*| and |\ast| will obey the math alphabet
+ commands (see \autoref{sec:mathxx}).
+
+\item \mstopt{activedigits}:\RLNote{new:}{\mstrelease{1.4}}
+ it makes all digits mathematically active! This is
+ reserved to expert \LaTeX{} users. See \autoref{ssec:hackingletters} for an
+ example. Do not use this option if you don't intend to make use of such
+ techniques to achieve special effects at some location of your document at
+ least. (I know this goes without saying, but passing this option and not
+ using it is only adding overhead to all your equations with digits).
+
+\item \mstopt{nodigits}: no \mst-ification of digits.
+\item \mstopt{noletters}:\RLNote{new:}{\mstrelease{1.4b}}
+ This is quite antithetical to the package core aim, but here you go.
+
+ \begin{footnotesize}
+ This option implies nohbar and defaultimath.
+
+ Note though that \mst will still declare to \LaTeX{} two extra symbol
+ fonts and define alphabet commands such as \Mathrm, \Mathnormal and
+ \mathnormalbold which map to them. But ascii letters will if not in
+ arguments of these commands not use the \mst-font and all business of
+ active letters (see \autoref{ssec:hackingletters}) is now irrevocably
+ inaccessible.
+
+ If you simply want to avoid the overhead of math active
+ letters, use rather \MTmathstandardletters in the preamble after having
+ loaded the package (although this does not undo the fact that \mst will
+ have redefined what a letter does if it is catcode active but that remark
+ should have been made in an even smaller typeface).\par
+ \end{footnotesize}
+ \item \mstopt{nohbar}: prevents \mst from defining its own
\cs{hbar}.
\item \mstopt{noendash}: the minus sign will be the - from the
text font, not the en-dash \textendash.
@@ -5616,7 +5452,7 @@ The same remarks apply as for the ncccomma option. In particular \emph{note
\ \mstopt{nopunctuation} ,\,.\,:\,;\ \mstopt{noplus},
\mstopt{nominus}, \mstopt{noplusnominus}\ +\,\textendash{} \mstopt{noequal} =\
\mstopt{noparenthesis} (\,)\,[\,]\,/\ \mstopt{nospecials}
-\#\,\$\,\%\,\&\ and \mstopt{nodigits}.
+\#\,\$\,\%\,\&\ (and nodigits and noletters mentioned earlier).
\item \mstopt{alldelims}: true by default, means that the
characters excluded by nolessnomore are
treated. Use this option in case of a mono-width
@@ -5690,7 +5526,7 @@ Euler font.
declared |\alphaup|, |\alphait|, ...., and the
associated \mathgreekup
and \mathgreekit commands to access the underlying fonts, and also since
- |1.3za| \mathgreekupbold and \mathgreekitbold.
+ \mstrelease{1.3za} \mathgreekupbold and \mathgreekitbold.
The font used by these math
alphabet commands in the subdued ``normal'' and ``bold'' is either
@@ -5699,7 +5535,7 @@ Euler font.
\MTgreekfont when the command \Mathastext (without
optional argument) was used in the preamble.
- |1.3za| fixes here a bug which froze the target font to be
+ \mstrelease{1.3za} fixes here a bug which froze the target font to be
the one at time of loading the package: this bug applied
(only) to the subdued ``normal'' and ``bold'' math versions
and was not readily visible as there is a priori no reason to
@@ -5716,7 +5552,7 @@ Euler font.
LGRgreek and then \MTgreekfont manually appropriately.
\item \mstopt{LGRgreek+} and
- \mstopt{LGRgreeks+}:\RightNote{1.3za} they extend
+ \mstopt{LGRgreeks+}:\RightNote{\mstrelease{1.3za}} they extend
respectively LGRgreek or LGRgreeks to let Greek letters
control sequences when in the scope of \mathrm, \mathit,
and \mathbf behave as would be expected by LaTeX users who
@@ -5747,7 +5583,7 @@ Euler font.
accents. As in vanilla \LaTeX{}, they are taken from the font
for the digits and \cs{log}-like names. Obey the alphabet
changing commands.
- \item \mstopt{unimathaccents}:\RightNote{1.3u} extends |mathaccents| to
+ \item \mstopt{unimathaccents}:\RightNote{\mstrelease{1.3u}} extends |mathaccents| to
OpenType fonts. Gave bad results in my brief testing.
\item \mstopt{defaultimath}: do not overwrite \cs{imath} and
\cs{jmath} to use \cs{inodot} and \cs{jnodot}.
@@ -5756,7 +5592,29 @@ OpenType fonts. Gave bad results in my brief testing.
\item \mstopt{fouriervec}: provides a \cs{fouriervec} command. The user can then
add in the preamble \cs{let}\cs{vec}$=$\cs{fouriervec}. There is also
always available a ``poor man'' vec accent \cs{pmvec} for upright letters.
- \end{enumerate}
+\item \mstopt{everymath}:\RLNote{new:}{\mstrelease{1.4}} this option tells
+ \mst to employ as in the \mstrelease{1.3} releases the
+ \cs{everymath}/\cs{everydisplay} registers to store certain actions to be
+ executed at each entrance into math mode. The main change with
+ \mstrelease{1.4} is that mathcode changes done by user (or possibly via
+ language changes in a multilingual \ctanpkg{babel} context) in the document
+ body, and which apply to those characters which \mst used to handle as part of
+ \cs{everymath}/\cs{everydisplay}, will now have an effect, whereas with
+ earlier releases or this one
+ with the everymath option, they may get overruled by \mst. Use
+ everymath for backward compatibility if needed (and \emph{only} if needed).
+ Notice though that regarding ascii letters, there is no return to the
+ pre-\mstrelease{1.4}: they will not acquire their mathcode active status only
+ at each entrance into math mode, even with this option,
+ but once and for all at package loading time, if not subdued, or when using
+ \MTversion to enter a non-subdued math version.
+
+ Please report breakages due to the \mstrelease{1.4} release, which made it
+ necessary for you to use this option everymath as workaround.
+
+ The option is destined to be removed at next major release and it will warn
+ the user about this.
+\end{enumerate}
Thanks to Kevin~\textsc{Klement}, Tariq~\textsc{Perwez}
and Ricard~\textsc{Torres} for sending bug reports and feature requests when
@@ -5780,6 +5638,7 @@ Numerous examples will be found there:\\
\label{sec:changelog}
\begingroup
+\hyphenation{Lua-La-TeX}
\def\MacroFont{\footnotesize\normalfont}
% utilis par verbatim en classe scrdoc (ou plutt shortvrb)
@@ -5817,16 +5676,27 @@ Numerous examples will be found there:\\
\lccode`\~`1
\lowercase{\endgroup\def~}{\ifvmode\medskip\expandafter\@DTXLOGhelper\fi 1}
+% 2024/07/10 hypertargets pour \mstrelease (import de etoc, et j'ai dj ici
+% toute une infrastructure rendant le truc trivial avec un fol 1 actif). Par
+% contre j'ai fait une modification s/#1\[/#1 \[/ car le #1 avant se terminait
+% par un espace.\]\]
+% Et attention au detokenize...
+% Il y a juste un problme avec le cas "1.15f and 1.15g".
\begingroup
\catcode`\| 0
\catcode`\\ 12
-|long|gdef|@DTXLOGhelper #1 ----#2|par{|@@DTXLOGhelper #1\[\]|par}
-|long|gdef|@@DTXLOGhelper #1\[#2\]#3|par%
- {|textbf{#1}% le #1 ici contient un espace
+% Je rduis --- ici.
+|long|gdef|@DTXLOGhelper #1 ---#2|par{|@@DTXLOGhelper #1 \[\]|par}
+|long|gdef|@@DTXLOGhelper #1 \[#2\]#3|par%
+ {|hypertarget{|detokenize|expandafter{|fixonexv#1 and|relax}}{|textbf{#1}} %
|ifx|relax #2|relax|else [#2]|fi
|par|nopagebreak}
|endgroup
+% uniquement pour s'occuper de "1.15f and 1.15g" et en profitant du fait qu'il
+% n'y a de rfrence 1.15g nulle part.
+\def\fixonexv#1 and#2\relax{#1}
+
\catcode`-=\active
\def-{%
\catcode`M\active
@@ -5869,7 +5739,7 @@ Numerous examples will be found there:\\
\StopEventually{\end{document}\endinput}
\cleardoublepage
-\newgeometry{hmarginratio=3:2}
+\newgeometry{hmarginratio=2:1}
\small
\section{Implementation}
@@ -5884,27 +5754,44 @@ Numerous examples will be found there:\\
%
%</dtx>
%<*package>
-% The usual catcode regime for letters and digits is assumed and some characters
-% such as |*|, |`|, |"|, |=| are supposed to be of catcode other at the time of loading
-% of \mst. The source of \mst takes precautions for some other characters such
-% as the right quote |'|, which may thus be active with no harm at the time of
-% loading. By the way, I think \LaTeX2e should have provided to authors a
+% The comments are a kind of palimpsest. Indeed they are not destined to the
+% reader but to the author: when coming back to the source code perhaps years
+% after having last looked at it, all bits of past information even if
+% obsolete are useful. Not only comments but perhaps also some ancient parts
+% of the code itself are a bit strange (the author hardly new any \LaTeX{} at
+% that time).
+%
+% For about the same reason, there may be some long macro names which do not
+% fit in the margins and that one sees only partially. The author sometimes
+% has used a workaround to hyphenate, but not systematically. Life is
+% time-limited. At \mstrelease{1.4} large chunks of code have been re-ordered
+% but the global architecture is still somewhat of a mess and doing some such
+% large diffs makes it sometimes difficult to follow small bits of code across
+% commit history, so this is done reluctantly.
+%
+% The usual catcode regime for letters and digits is assumed and some
+% characters such as |*|, |`|, |"|, |=| are supposed to be of catcode other at
+% the time of loading of \mst. The source of \mst takes precautions for some
+% other characters such as the right quote |'|, which may thus be active with
+% no harm at the time of loading (note added |2024/07/16|: very hard to
+% understand why I was so paranoid, but I have kept this annoying constraint).
+%
+% By the way, I think \LaTeX2e should have provided to authors a
% standard macro to be used at the beginning of a style file to make sure the
% catcodes are standard. Shorthands created by Babel should be mostly no problem
% as Babel does the activation only at the |\begin{document}|.
%
-% The comments have been accumulating through successive versions with only
-% partial efforts to achieve some sort of coherence; as a result some are a
-% bit strange or obsolete to various degrees. And the similar remark
-% applies to some ancient parts of the code itself!
-%
-% Should I require |2005/12/01| \LaTeX? (not sure about the month).
+% \mstrelease{1.4} removes a few code branches still there for support to
+% old \LaTeX{} and requires \LaTeX{} |2020-02-02| (which made |\{| and |\}|
+% \cs{protected}; earlier release |2019-10-01| had math macros such as the
+% math accents and \cs{hbar} robust and so far we kept supporting both new and
+% old contexts).
% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
+\NeedsTeXFormat{LaTeX2e}[2020/02/02]
\ProvidesPackage {mathastext}
- [2023/12/29 v1.3zb Use the text font in math mode (JFB)]
+ [2024/07/27 v1.4b Use the text font in math mode (JFB)]
% \end{macrocode}
-% |1.3zb| avoids writing \mst info messages also to console output, only log file.
+% \mstrelease{1.3zb} avoids writing \mst info messages also to console output, only log file.
% Make prefix occupy 20 not 25 characters for alignment with \texttt{LaTeX Font Info},
% as the latter often issues info messages. For similar reason the usages of
% \cs{PackageInfo} will be done with empty lines above and below for better visual
@@ -5915,16 +5802,9 @@ Numerous examples will be found there:\\
\immediate\write\m@ne{}
\PackageInfo{mathastext}{Starting the math mode configuration\@gobble}
% \end{macrocode}
-% \LaTeX{} |2019-10-01| release has made robust math macros such as the math
-% accents and \cs{hbar}.
-% \begin{macrocode}
-\newif\ifmst@robust@obsessed@LaTeX@era
-\@ifl@t@r\fmtversion{2019/10/01}{\mst@robust@obsessed@LaTeX@eratrue}{}
-\edef\mst@robustifyingspace{\ifmst@robust@obsessed@LaTeX@era\space\fi}
-% \end{macrocode}
% Testing for \XeTeX\ and \LuaLaTeX.
%
-% |1.3g 2015/10/15|: update for the naming of primitives, the situation has
+% \mstrelease{1.3g} |2015/10/15|: update for the naming of primitives, the situation has
% evolved both on \XeTeX\ side and on the \LuaLaTeX\ side (LaTeX base
% |2015/10/01|): I was told "U" named math primitives were always available
% for \LuaLaTeX. For \XeTeX, the XeTeX prefix got replaced by U prefix with
@@ -5967,10 +5847,37 @@ Numerous examples will be found there:\\
\ifmst@LuaTeX\mst@XeOrLuatrue\fi
\ifmst@XeTeX \mst@XeOrLuatrue\fi
% \end{macrocode}
-% |1.2|: all inner macros of \mst now starts with |\mst@| for a cleaner
+% \mstrelease{1.4}. I only checked this is correct with TL2024.
+% The macro will be used with |#1| a catcode 11 or 12 token or a one character
+% control sequence such as |\#|.
+% \begin{macrocode}
+\ifmst@XeTeX
+ \def\mst@OnlyIfNotMathActive#1{%
+ \ifnum\mst@Umathcodenum`#1="1FFFFF
+ \expandafter\@gobble
+ \else\expandafter\@firstofone
+ \fi
+ }
+\else\ifmst@LuaTeX
+ \def\mst@OnlyIfNotMathActive#1{%
+ \ifnum\mst@Umathcodenum`#1="1000000
+ \expandafter\@gobble
+ \else\expandafter\@firstofone
+ \fi
+ }
+\else
+ \def\mst@OnlyIfNotMathActive#1{%
+ \ifnum\mathcode`#1="8000
+ \expandafter\@gobble
+ \else\expandafter\@firstofone
+ \fi
+ }
+\fi\fi
+% \end{macrocode}
+% \mstrelease{1.2}: all inner macros of \mst now starts with |\mst@| for a cleaner
% name-space.
%
-% |1.3l 2016/01/29|: hmmm... at this late stage where nobody would expect me
+% \mstrelease{1.3l} |2016/01/29|: hmmm... at this late stage where nobody would expect me
% to still look at the code, I have found at least two macros which still
% didn't: \cs{do@the@endashstuff} and \cs{do@the@emdashstuff}.
%
@@ -5980,16 +5887,16 @@ Numerous examples will be found there:\\
% engines for a while, hence it is not hard to adapt to the replacement of
% |EU1/EU2| by |TU|, maintaining compatibility with legacy installations.
%
+% At \mstrelease{1.4} the support for obsolete |EU1| and |EU2| font encodings
+% has been removed.
+%
% \begin{macro}{\mst@OneifUniEnc}
% The \cs{mst@OneifUniEnc} is expandable but must be used after
% having set \cs{mst@tmp@enc}...
% \begin{macrocode}
\def\mst@oti{OT1}
-\def\mst@eui{EU1}\def\mst@euii{EU2}\def\mst@tu{TU}
-\def\mst@OneifUniEnc {%
- \ifx \mst@tmp@enc\mst@tu 1\else
- \ifx \mst@tmp@enc\mst@eui 1\else
- \ifx \mst@tmp@enc\mst@euii 1\else 0\fi\fi\fi }
+\def\mst@tu{TU}
+\def\mst@OneifUniEnc{\ifx\mst@tmp@enc\mst@tu1\else0\fi}
\newif\ifmst@goahead
\newif\ifmst@abort
% \end{macrocode}
@@ -6006,9 +5913,13 @@ Numerous examples will be found there:\\
\def\mst@enc{\encodingdefault}
\def\mst@fam{\familydefault}
\def\mst@ser{\seriesdefault}
- \def\mst@opsh{\shapedefault} %% will be default shape for operator names
+% \end{macrocode}
+% \noindent\cs{mst@opsh} will hold default shape for operator names.\newline
+% \cs{mst@ltsh} will hold default shape for letters.
+% \begin{macrocode}
+ \def\mst@opsh{\shapedefault}
\def\mst@bold{\bfdefault}
- \def\mst@ltsh{\shapedefault} %% will be default shape for letters
+ \def\mst@ltsh{\shapedefault}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -6017,7 +5928,7 @@ Numerous examples will be found there:\\
% \end{macro}
% \end{macro}
% \begin{macro}{\mst@greekfont}
-% |1.15c|: for use by the LGRgreek and selfGreek options. Defined as
+% \mstrelease{1.15c}: for use by the LGRgreek and selfGreek options. Defined as
% an \cs{edef} in order to be able to set-up once and for all the
% Greek at the time of \cs{usepackage}. Modifiable in the preamble
% via \cs{MTgreekfont}\marg{font\_name}\cs{Mathastext}.
@@ -6026,20 +5937,24 @@ Numerous examples will be found there:\\
% \end{macrocode}
% \end{macro}
% \begin{macro}{Package options}
-% |2011/03/09|: |1.13| introduces the option LGRgreek and systematic use
+% |2011/03/09|: \mstrelease{1.13} introduces the option LGRgreek and systematic use
% of \cs{if...} conditionals, for better readability (by myself) of
% the code.
%
-% |1.3x| of |2022/11/03| adds |ncccomma|, |binarysemicolon| and
+% \mstrelease{1.3y} of |2022/11/03| adds |ncccomma|, |binarysemicolon| and
% |frenchmath*| options.
%
-% |1.3za| adds |LGRgreek+| and |LGRgreeks+|.
+% \mstrelease{1.3za} adds |LGRgreek+| and |LGRgreeks+|.
%
-% |1.3zb| adds |decimalcomma| and modifies |frenchmath*| to use it. And
-% provides |frenchmath+| as an alias to former |frenchmath*|. Consecutive
-% to the change at |2.7| of \ctanpkg{frenchmath} which replaced
+% \mstrelease{1.3zb} adds |decimalcomma| and modifies |frenchmath*| to use
+% it. And provides |frenchmath+| as an alias to former |frenchmath*|.
+% Consecutive to the change at |v2.7| of \ctanpkg{frenchmath} which replaced
% \ctanpkg{ncccomma} by \ctanpkg{decimalcomma} and broke the compatibility
% recipe explained in \autoref{ssec:frenchmath}.
+%
+% \mstrelease{1.4} adds options |everymath| and |activedigits|.
+%
+% \mstrelease{1.4b} adds |noletters|.
% \begin{macrocode}
\newif\ifmst@italic
\newif\ifmst@frenchmath
@@ -6082,25 +5997,32 @@ Numerous examples will be found there:\\
\newif\ifmst@noexclam
\DeclareOption{noexclam}{\mst@noexclamtrue}
\newif\ifmst@asterisk
- \DeclareOption{noasterisk}{\PackageWarningNoLine{mathastext}
- {option `noasterisk\string' is deprecated.^^J\space\space\space
- Check the documentation}}
\DeclareOption{asterisk}{\mst@asterisktrue}
\newif\ifmst@nospecials
\DeclareOption{nospecials}{\mst@nospecialstrue}
-\newif\ifmst@basic % 1.3 to avoid unnecessary patch of amsmath \newmcodes@
+\newif\ifmst@basic
\DeclareOption{basic}{\mst@basictrue
\ExecuteOptions{noparenthesis,nopunctuation,%
noplusnominus,noequal,noexclam,nospecials,nolessnomore}}
\newif\ifmst@nohbar
\DeclareOption{nohbar}{\mst@nohbartrue}
+% \end{macrocode}
+% \mstrelease{1.4} adds option |activedigits|.
+% \begin{macrocode}
+\newif\ifmst@activedigits
+ \DeclareOption{activedigits}{\mst@activedigitstrue}
\newif\ifmst@nodigits
\DeclareOption{nodigits}{\mst@nodigitstrue}
\newif\ifmst@defaultimath
\DeclareOption{defaultimath}{\mst@defaultimathtrue}
+% \end{macrocode}
+% \mstrelease{1.4b} adds option |noletters|.
+% \begin{macrocode}
+\newif\ifmst@noletters
+ \DeclareOption{noletters}{\mst@noletterstrue\ExecuteOptions{nohbar,defaultimath}}
\newif\ifmst@mathaccents
\DeclareOption{mathaccents}{\mst@mathaccentstrue}
-\newif\ifmst@unimathaccents % 1.3u
+\newif\ifmst@unimathaccents
\DeclareOption{unimathaccents}{\mst@mathaccentstrue\mst@unimathaccentstrue}
\newif\ifmst@needsymbol
\newif\ifmst@symboldelimiters
@@ -6108,7 +6030,7 @@ Numerous examples will be found there:\\
\newif\ifmst@symboldigits
\DeclareOption{symboldigits}{\mst@needsymboltrue\mst@symboldigitstrue}
\newif\ifmst@symbolgreek
-\newif\ifmst@customgreek %% new with 1.3d
+\newif\ifmst@customgreek
\DeclareOption{symbolgreek}{\mst@needsymboltrue\mst@symbolgreektrue
\mst@customgreektrue }
\newif\ifmst@symbolre
@@ -6144,13 +6066,13 @@ Numerous examples will be found there:\\
\DeclareOption{itGreek}{\def\mst@greek@select{1}}
\DeclareOption{upGreek}{\def\mst@greek@select{2}}
% \end{macrocode}
-% Starting with |1.15f| the meaning of the `defaultxx' options has changed. They
+% Starting with \mstrelease{1.15f} the meaning of the `defaultxx' options has changed. They
% now prevent |mathastext| from defining additional alphabets rather than
% prevent it from identifying the `mathxx' with the new `Mathxx'. The
% `Mathnormal' and `Mathrm' alphabet commands are always created as they are
% SymbolFontAlphabets.
%
-% This was again changed at |1.3za|. The additional alphabets are
+% This was again changed at \mstrelease{1.3za}. The additional alphabets are
% always declared, the options only prevent mapping the existing
% `mathxx' to the new `Mathxx'. This may be breaking change if
% people used these options because they had a need for the
@@ -6169,7 +6091,7 @@ Numerous examples will be found there:\\
\newif\ifmst@defaulttt
\DeclareOption{defaulttt}{\mst@defaulttttrue}
% \end{macrocode}
-% Here and elsewhere |1.3za| has removed an
+% Here and elsewhere \mstrelease{1.3za} has removed an
% \cs{ifmst@nonormalbold} conditional.
% \begin{macrocode}
\DeclareOption{defaultalphabets}{\ExecuteOptions{defaultnormal,defaultrm,%
@@ -6185,14 +6107,25 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\newif\ifmst@fouriervec
\DeclareOption{fouriervec}{\mst@fouriervectrue}
% \end{macrocode}
-% |1.15|: the subdued option.
+% \mstrelease{1.15}: the |subdued| option.
% \begin{macrocode}
\newif\ifmst@subdued
\DeclareOption{subdued}{\mst@subduedtrue}
% \end{macrocode}
-% |1.3q|: the unicode option. Thanks to Tobias~\textsc{Brink} for suggesting its
-% incorporation. The parsing of |\CurrentOption| does not seek any robustness,
-% it just does its job if the option is used correctly.
+% \mstrelease{1.4}: the |everymath| option.
+% \begin{macrocode}
+\newif\ifmst@everymath
+ \DeclareOption{everymath}{\mst@everymathtrue
+\PackageWarningNoLine{mathastext}{%
+ `everymath\string' will be removed at next major release.\MessageBreak
+ Please report to the author the circumstances\MessageBreak
+ which mandated its use in the present document}%
+}
+% \end{macrocode}
+% \mstrelease{1.3q}: the |unicode| option. Thanks to Tobias~\textsc{Brink}
+% for suggesting its incorporation. The parsing of \cs{CurrentOption} does
+% not seek any robustness, it just does its job if the option is used
+% correctly.
% \begin{macrocode}
\def\mst@unicodeminus {2013}
\def\mst@checkoption #1unicodeminus#2\mst@#3\mst@@
@@ -6216,7 +6149,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% This broke usage of \cs{Mathastext} macro in preamble.
%
-% |1.3w| works around this via \cs{mst@DeclareMathAccent}. And other
+% \mstrelease{1.3w} works around this via \cs{mst@DeclareMathAccent}. And other
% changes were made in \mst code to cope with these complications around
% robustness.
% \begin{macrocode}
@@ -6226,13 +6159,36 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\DeclareMathAccent{#1}}
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\mst@normalversionname}
+% \begin{macro}{\mst@boldversionname}
% Helper macros to test math version names. User is not allowed to redefine
% via \cs{Mathastext} with optional argument or via \cs{MTDeclareVersion} the
-% |normal| and |bold| math versions! Added at |1.3w|, about 7 years late.
+% |normal| and |bold| math versions. Added at \mstrelease{1.3w}, about 7 years late.
% \begin{macrocode}
\def\mst@normalversionname{normal}%
\def\mst@boldversionname{bold}%
% \end{macrocode}
+% \end{macro}\end{macro}
+% \begin{macro}{\mst@OnlyIfNotSubdued}
+% \mstrelease{1.3u} adds this check that we are not in a subdued normal or
+% bold math version. We do not push the |#1| out of the TeX conditionals,
+% and anyhow there was no real need for expandable coding.
+% \begin{macrocode}
+\def\mst@OnlyIfNotSubdued#1{%
+ \ifmst@subdued
+ \ifx\math@version\mst@normalversionname
+ \else
+ \ifx\math@version\mst@boldversionname
+ \else
+ #1%
+ \fi
+ \fi
+ \else
+ #1%
+ \fi
+}%
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\exists} \begin{macro}{\mst@exists@skip}
% \begin{macro}{\forall} \begin{macro}{\mst@forall@skip}
% \begin{macro}{\MTnormalexists}
@@ -6240,7 +6196,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\MTnormalforall}
% \begin{macro}{\MTforalldoesskip }
%
-% |1.15e| |2012/10/21|: math skip/glue \emph{after} \cs{exists} and
+% \mstrelease{1.15e} |2012/10/21|: math skip/glue \emph{after} \cs{exists} and
% \cs{forall}, this is useful with upright letters in math mode.
% Each math version has its own user defined values for the skips,
% stored as macros. The redefinitions of $\exists$ and $\forall$ are
@@ -6249,32 +6205,32 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% The subdued option (later and only for the normal and bold math
% version) and the italic option (here) set to zero the package
-% default skips. With |1.2| the skips can be modified on the fly in
+% default skips. With \mstrelease{1.2} the skips can be modified on the fly in
% the document, they are not necessarily set in the preamble once
% and for all for each math version.
%
-% |1.3j| adds \cs{MTnormalexists}, \cs{MTexistsdoesskip},
+% \mstrelease{1.3j} adds \cs{MTnormalexists}, \cs{MTexistsdoesskip},
% \cs{MTnormalforall}, \cs{MTforalldoesskip}.
%
-% Earlier to |1.3j|, |\let\mst@exists@original\exists| was done at End of
+% Earlier to \mstrelease{1.3j}, |\let\mst@exists@original\exists| was done at End of
% Package, now it is done at Begin Document, and same for |\forall|. We
% pay attention that use of \cs{MTnormalexists} etc... inside the
% preamble does not create self-let's.
%
% Also |subdued| mode will do \cs{MTnormalexists}, \cs{MTnormalforall}
-% (earlier than |1.3j|, it only set the muskips to |0mu|.) Same when
+% (earlier than \mstrelease{1.3j}, it only set the muskips to |0mu|.) Same when
% using |\MTversion{normal}|, if |subdued|.
%
% For some (random, legacy) reason, the handling of $\exists$ and
% $\forall$ is part of the things
% not included inside |\everymath/\everydisplay|.
%
-% |1.3v| The \mst-defined \cs{exists} and \cs{forall} are created
+% \mstrelease{1.3v} The \mst-defined \cs{exists} and \cs{forall} are created
% \cs{protected}. We feel this matches better with their default
% definition as \cs{mathchardef} tokens than dealing with \LaTeX2e robust
% macros. Besides, the coding is simpler.
% \begin{macrocode}
-\newmuskip\mst@exists@muskip %% v 1.15e
+\newmuskip\mst@exists@muskip
\newmuskip\mst@forall@muskip
\def\mst@exists@skip{1mu}
\def\mst@forall@skip{.6667mu}
@@ -6318,13 +6274,13 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\MTnormalprime}
% \begin{macro}{\MTprimedoesskip}
%
-% |1.2| |2012/12/17|: math skip/glue \emph{before} the \cs{prime}
+% \mstrelease{1.2} |2012/12/17|: math skip/glue \emph{before} the \cs{prime}
% glyph. This is useful with the default CM glyph and upright letters
% (in contrast the prime from |txfonts| works fine with upright
% letters). For this we replace the \LaTeX{} kernel \cs{active@math@prime}
% with our own skip-enhanced version \cs{mst@active@math@prime}.
%
-% |1.2b| |2012/12/31|: doing\\
+% \mstrelease{1.2b} |2012/12/31|: doing\\
% \null\hspace{1cm}|{\catcode`\'=\active \global\let'\mst@active@math@prime}|\\
% is awfully wrong when the right quote is made active at begin document by
% some other package (as happens with |babel| for some languages). So \mst
@@ -6340,47 +6296,102 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% does its job only as part of the \cs{everymath} and
% \cs{everydisplay} token lists.
%
-% |1.2e| being paranoid, we take precautions against a possibly
+% \mstrelease{1.2e} being paranoid, we take precautions against a possibly
% catcode active right quote at
% the time of loading mathastext.
%
-% |1.3i| adds \cs{MTactiveprime}.
+% \mstrelease{1.3i} adds \cs{MTactiveprime}.
%
-% |1.3j| renames it to \cs{MTprimedoesskip}. Besides, it makes use in the
-% preamble of \cs{MTnormalprime} or \cs{MTprimedoesskip}.
+% \mstrelease{1.3j} renames it to \cs{MTprimedoesskip}. Besides, it makes use in the
+% preamble of \cs{MTnormalprime} or \cs{MTprimedoesskip}.
+%
+% \mstrelease{1.4} adds the support for the new ``non-everymath''
+% implementation, which has to satisfy to very different constraints.
+%
+% The \cs{MTprimedoesskip} is not a |no-op| in |subdued| math version.
+% This is legacy situation, not changed at \mstrelease{1.4}.
+%
% \begin{macrocode}
-\newmuskip\mst@prime@muskip %% v 1.2
+\newmuskip\mst@prime@muskip
\def\mst@prime@skip{.5mu}
\ifmst@italic\ifmst@frenchmath\else\def\mst@prime@skip{0mu}\fi\fi
+% \end{macrocode}
+% Shouldn't I have rather hacked \cs{prim@s}? (answer: perhaps related to
+% Babel see a comment above).\par
+% \noindent
+% TODO: clarify why I used \cs{sp} not |^| in
+% \cs{mst@active@math@prime} in 2012/2013.\newline
+% TODO: clarify why I am paranoid regarding the |'| catcode here.
+%
+% The |everymath| branch was initially superficially refactored at
+% \mstrelease{1.4}, but unfortunately as \cs{mst@mathactivate} had been
+% modified to not handle mathematically active characters, this meant that the
+% \mst feature of extra math skip was lost under the |everymath| option, due to
+% an oversight by the author. For this among other reasons having mainly to
+% do with code comments we did \mstrelease{1.4a}.
+%
+% At \mstrelease{1.4} we can not go via \cs{mst@mathactivate} (defined further
+% down in the code) which filters out the already mathematically active
+% characters.
+%
+% Why am I paranoid here about |'| catcode at package loading time? (this
+% looks ridiculous...).
+% \begin{macrocode}
+\def\mst@tmp#1{%
+\def\mst@mathactivateprime{%
+ \ifnum\catcode`#1=\active
+ \@ifundefined{active@char#1}
+ {}
+ {\mst@do@activecase #1{}{\mst@active@math@prime}}%
+ \else
+ \mst@@mathactivate #1{}{\mst@active@math@prime}%
+ \fi
+}%
+% \end{macrocode}
+% The ``undo'' is needed at \mstrelease{1.4} (but not if |everymath|).
+% \begin{macrocode}
+\def\mst@undo@mathactivateprime{\mst@mathdeactivate#1{"8000}}%
+}\expandafter\mst@tmp\string'
\def\mst@active@math@prime{\sp\bgroup\mskip\mst@prime@muskip\prim@s}
-{\catcode`\'=12
-\gdef\mst@@modifyprime{\mst@mathactivate'{}\mst@active@math@prime}}
-\newcommand*\MTnormalprime {\let\mst@modifyprime\@empty }
-\newcommand*\MTprimedoesskip {\let\mst@modifyprime\mst@@modifyprime}
-\ifmst@subdued
- \MTnormalprime
+\ifmst@everymath
+ \newcommand*\MTnormalprime {\let\mst@modifyprime\@empty}
+ \newcommand*\MTprimedoesskip{\let\mst@modifyprime\mst@mathactivateprime}%
+ \AtBeginDocument{%
+ \everymath\expandafter
+ {\the\everymath \mst@modifyprime \MTnormalprime}%
+ \everydisplay\expandafter
+ {\the\everydisplay \mst@modifyprime \MTnormalprime}%
+% \end{macrocode}
+% MEMO: |subdued| case will do its own \cs{MTnormalprime} at
+% |\begin{document}| later as part of \cs{MTeverymathoff}.
+% \begin{macrocode}
+ \MTprimedoesskip
+ }
\else
- \MTprimedoesskip
+% \end{macrocode}
+% \mstrelease{1.4} must do things a bit differently.
+% \begin{macrocode}
+ \newcommand*\MTnormalprime {\mst@undo@mathactivateprime}
+ \newcommand*\MTprimedoesskip{\mst@mathactivateprime}
+% \end{macrocode}
+% MEMO: |subdued| case will do its own \cs{MTnormalprime} at
+% |\begin{document}| later as part of \cs{MTeverymathoff}.
+% \begin{macrocode}
+ \AtBeginDocument{\MTprimedoesskip}
\fi
-\AtBeginDocument{%
- \everymath\expandafter
- {\the\everymath \mst@modifyprime \MTnormalprime}%
- \everydisplay\expandafter
- {\the\everydisplay \mst@modifyprime \MTnormalprime}%
-}
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
% \begin{macro}{\MTexistsskip}
% \begin{macro}{\MTforallskip}
% \begin{macro}{\MTprimeskip}
-% |1.15e|: These user macros set up the amount of muglue after
+% \mstrelease{1.15e}: These user macros set up the amount of muglue after
% \cs{exists} or \cs{forall}. The normal and
% bold math versions inherit the same skips; these skips are set to
% zero in case of the subdued, or the italic option. Each command
% \cs{Mathastext}\oarg{version\_name} stores the current values in
% the definition of the math version.
%
-% |1.2|: \cs{MTprimeskip} added, the silly \cs{@onlypreamble} are removed
+% \mstrelease{1.2}: \cs{MTprimeskip} added, the silly \cs{@onlypreamble} are removed
% and the macros are modified to have immediate effect in the document,
% independently of their possible use in the preamble for the math
% versions to store values.
@@ -6433,35 +6444,49 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% mathastext font (both in the current math version). If option
% |noparenthesis| was used, we leave everything untouched.
%
-% In |1.3a|, |2013/09/04|, the modification is done only at the time of
+% In \mstrelease{1.3a}, |2013/09/04|, the modification is done only at the time of
% \cs{MTnonlettersobeymathxx}. It is canceled by
% \cs{MTnonlettersdonotobeymathxx}. So the code has been moved to these
% macros and here we just store at the begin document the then meaning of
% \cs{resetMathstrut@}, and check also if \cs{MTnonlettersobeymathxx} has
% been invoked in the preamble.
%
-% |1.3f| |2015/09/12| issues only an Info message not a Warning, as I am
+% \mstrelease{1.3f} |2015/09/12| issues only an Info message not a Warning, as I am
% becoming aware from another context (etoc) that Warnings are stressful to
% users, in some integrated environments for editing and compiling \LaTeX{}
% source files.
+%
+% \mstrelease{1.4} adds here an \cs{AtEndOfPackage}. As this must be
+% executed (if not in the legacy |everymath| context) after the
+% redefinition of \cs{MTnonlettersobeymathxx} which happens at begin
+% document.
% \begin{macrocode}
\ifmst@noparen\else
-\AtBeginDocument{%
- \@ifundefined{resetMathstrut@}{% nothing to do, no amsmath
- }{% amsmath loaded, and possibly patched by things such as lualatex-math
- \let\mst@savedresetMathstrut@\resetMathstrut@
-% \PackageInfo{mathastext}{current `at begin document\string' meaning of
-% amsmath\MessageBreak
-% \string\resetMathstrut@\space preserved for
-% future use\@gobble}%
- \ifx\mst@the\the % means that \MTnonlettersobeymathxx was used in preamble
- \let\mst@the\@gobble\MTnonlettersobeymathxx
- \fi}}
+\AtEndOfPackage{%
+ \AtBeginDocument{%
+ \@ifundefined{resetMathstrut@}
+ {}%
+ {%
+ \let\mst@savedresetMathstrut@\resetMathstrut@
+% \end{macrocode}
+% The |\ifx\mst@the\the| is true iff \cs{MTnonlettersobeymathxx} was used in preamble
+% (last compared to \cs{MTnonlettersdonotobeymathxx}).
+% Setting \cs{mst@the} to \cs{@gobble} here wiil cause \cs{MTnonlettersobeymathxx}
+% to indeed modify \cs{resetMathstrut@} (and it resets \cs{mst@the} to \cs{the} for
+% its behavior in \cs{everymath}).
+% \begin{macrocode}
+ \ifx\mst@the\the
+ \let\mst@the\@gobble
+ \MTnonlettersobeymathxx
+ \fi
+ }%
+ }%
+}%
\fi
% \end{macrocode}
% \end{macro}
%
-% |1.2| |2012/12/20| does some rather daring \emph{math} activation of
+% \mstrelease{1.2} |2012/12/20| does some rather daring \emph{math} activation of
% \verb$; , : ! ? + - = < > ( ) [ ]$ in
% math mode to achieve something I wanted to do since a long time: overcome
% the mutually excluding relation between the variable-family concept and
@@ -6476,7 +6501,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% the entrance of the math mode are discussed later),\\
% \null\hspace{1cm}\fbox{but the concerned characters will now expand in math
% mode to \emph{two} tokens.}\\
-% |1.2c| |2012/12/31|: hence, this current
+% \mstrelease{1.2c} |2012/12/31|: hence, this current
% implementation puts constraints on the input: |$x^?$| or |$x\mathrel?y$|
% now create errors. They must be input
% |$x^{?}$|, respectively |$x\mathrel{?}y$|.\\
@@ -6488,8 +6513,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% should be used instead) but it can be activated for them too.
%
%
-% \begin{macro}{\mst@mathactivate}
-% |1.2b| |2012/12/30|: there were bad oversights in the |1.2| code
+% \mstrelease{1.2b} |2012/12/30|: there were bad oversights in the \mstrelease{1.2} code
% for \cs{mst@mathactivate} related to the possibility for some
% characters to have been made active (in the sense of the catcode)
% elsewhere (something which often is done by language definition
@@ -6503,7 +6527,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% |:| (assuming for the latter that things would have worked ok before
% the twiddling by \mst).
%
-% |1.2e| |2013/01/09|: alas |$\ref{eq:1}$| still was a problem.
+% \mstrelease{1.2e} |2013/01/09|: alas |$\ref{eq:1}$| still was a problem.
% Indeed in that case the \mst prefix had no means to know it was
% inside a \cs{ref} so it made the character expand to its \mst
% redefinition, which is not acceptable inside a
@@ -6566,13 +6590,13 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% the mathcode to 32768!!}, rather it makes \emph{sure} the character
% is not mathematically active.
%
-% As |1.2e| is a bit paranoid it takes precautions against
+% As \mstrelease{1.2e} is a bit paranoid it takes precautions against
% the possibility of characters it treats being active at
% the time of its loading. Excepted from the scope of the
% paranoia are the latin letters (that would be crazy!) and
% also |*|, |"| and the left quote |`|.
%
-% |1.2f| |2013/01/21| with earlier versions (*) it was important not
+% \mstrelease{1.2f} |2013/01/21| with earlier versions (*) it was important not
% to do twice the business of \cs{mst@mathactivate} (think
% |$\hbox{$?$}$|), so I used (this was a bit wasteful) some sort of
% boolean macro for each character. But now that there are the
@@ -6590,57 +6614,274 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% |\label| or |\ref|. So testing for active characters should be done
% always... many things should be done always... I leave as is.
%
-% |1.3i| |2016/01/06| removes a spurious end of line space in
+% \mstrelease{1.3i} |2016/01/06| removes a spurious end of line space in
% \cs{mst@mathactivate} (did not show as anyhow done in math mode).
%
-% \begin{macro}{\mst@do@az}
-% \begin{macro}{\mst@do@AZ}
-% \begin{macro}{\mst@addtodo@az}
-% \begin{macro}{\mst@addtodo@AZ}
-% \begin{macro}{\mst@the}
-% |1.2b| |2012/12/28| now that we understand the great advantages of |"8000|
-% we do it also for all letters a-z and A-Z to insert automatically the
-% italic corrections. See the \hyperref[sec:ic]{discussion} in the user
-% manual. Ironically I wrote the code initially for the |italic| option only
-% to realize later it was more suitable to using an \emph{upright} text font
-% in math mode! So this mathematical activation of the letters is not done if
-% the font shape is detected to be |it| or |sl|; to bypass this the command
-% \cs{MTicinmath} is provided.
-%
-% |1.2e| |2013/01/10| corrects a bad oversight of |1.2b| in
-% \cs{mst@mathactivate} which made the reproduction of the user manual
-% illustrations with |$f_i^i$| impossible. As \cs{mst@mathactivate} was
-% originally used also to get the non-letters obey math alphabet while
-% maintaining the \TeX{} spacings, it added no extra braces. The braces
-% should however be added for expansion of math active letters, in order of
-% things like |x^y| to work as expected. (the group braces do not prevent
-% ligatures when the letters are arguments to the math alphabet commands,
-% the added macros \cs{mst@itcorr} and \cs{mst@before<letter>} expanding to
-% nothing).
+% \mstrelease{1.4} has significantly refactored the coding, there were
+% simplication from a changed way to use \cs{mst@mathactivate} for letters
+% and added branches to accomodate the renouncement to \cs{everymath}.
+% \begin{macro}{\mst@do@activecase}
+% Called by \cs{mst@mathactivate} if |#1| is catcode active.
+%
+% Check if token activation originates apparently into \ctanpkg{babel}:
+% \begin{itemize}[nosep]
+% \item if NO, nothing is done. The active meaning of |#1| is not modified.
+% \item if YES, we hook into \ctanpkg{babel} associated macros so
+% that in math mode the catcode active token does what \mst expects it to
+% do. Its \cs{mathcode} is set to the
+% one of the associated \cs{mathalpha} symbol as declared by \mst, except
+% for asterisk and right tick which simply use their ascii number as mathcode.
+% \end{itemize}
+%
+% In the case of \ctanpkg{babel}-spanish which has a catcode active right
+% tick, resetting its mathcode has the advantage to reveal in output the case
+% of a faulty input using the curly right tick U+8217 which one can get easily
+% from copy paste, for example from the |babel-spanish.pdf| file.
+%
+% And in general it is dangerous to have a character both catcode active and
+% mathcode active.
+%
+% Some auxiliaries.
+% \begin{macrocode}
+\def\mst@magic@v #1#2#3#4#5{#1#3#4}
+\def\mst@magic@vi #1#2#3#4#5#6{#1#2#4#5}
+\def\mst@fork{\ifmmode\mst@magic@v\fi\@thirdofthree}
+\def\mst@safefork{\ifmmode\if@safe@actives\else\mst@magic@vi\fi\fi\@thirdofthree}
+% \end{macrocode}
+% Some refactoring (and streamlining) at \mstrelease{1.4} here.
+% \begin{footnotesize}
+% There was at some point in the case of a Babel-active token a special
+% hanlding for |#1| to use \cs{MTmathcharletter}|#1| (and event for
+% digits!). But this is almost impossible to arise in practice:
+% \begin{itemize}[nosep]
+% \item Babel commands to set up a shorthand are preamble only (they use
+% \cs{AtBeginDocument}),
+% \item A shorthand is made active at begin document, and we don't want that
+% for a letter!
+% \item Activation is recorded as an instruction in the |.aux| file which
+% breaks it almost surely (except perhaps for letter |Z| or such not
+% likely to appear in macro names in the |.aux| file).
+% \item Even if we somehow hack against that (which I did to test) a more
+% subtle problem arises that Babel updates \cs{nfss@catcodes}, so that the
+% latter will want to make (e.g.) |a| of catcode 12! This causes breakage
+% very easily at the time of \cs{process@table} almost as easily as with
+% the |a| set to be an active character...
+% \end{itemize}
+%
+%^^A In revisiting and
+%^^A improving the coding here (following up on a simplification of
+%^^A \cs{mst@mathactivate} itself, I discovered a bug of earlier releases: in
+%^^A this fictitious "letter made active by Babel" branch the insertion of mu
+%^^A glue around the letter was lost, only the italic correction was kept in the
+%^^A modified meaning of Babel active letter in math mode. This bug was
+%^^A dissolved by the new way \cs{mst@mathactivate} is used by
+%^^A \cs{mst@DeclareMathLetter} and the ensuing simplifcation here. But in fact
+%^^A as summarized above this is purely fictitious code, which will never get
+%^^A executed in real life!
+%^^A As I am not of the repenting type, I also add at \mstrelease{1.4} a similar
+%^^A fictituous layer for catcode active digits...\par
+% \end{footnotesize}
+% |#1| here is a character token of catcode 11 or 12.
+% We do something only if the catcode activation appears to have been triggered
+% by \ctanpkg{babel}. The test has been moved earlier at \mstrelease{1.4}.
+% \begin{macrocode}
+\def\mst@do@activecase#1#2#3{%
+% \end{macrocode}
+% As letters and digits are impossible here, |#2| is either empty (which
+% happens only now for asterisk and right tick) or a single token (\cs{mathclose},
+% \cs{mathopen},... ). When |#2| is not empty, |#3| is always a mathchar
+% token. For safety we make sure then the mathcode is not active.
+%
+% The rationale is
+% to avoid context where people have both catcode and math active and use
+% |\string|. In the case of \ctanpkg{babel}-spanish with
+% |activeacute| option it allows to reveal more easily input errors using
+% curly right tick U+8217.
+%
+% Arguably I probably mainly wanted to do this if the character was found
+% catcode active but not a Babel shorthand. But it ended into the Babel
+% branch and the non-Babel branch for active catcode is to do nothing.
+%
+% |#2| is empty exactly for the case of the right tick and the asterisk.
+% In all other cases, then |#3| is a mathchar token.
+% \begin{macrocode}
+ \ifx\relax #2\relax\mathcode`#1=`#1\relax\else\mathcode`#1=#3\relax\fi
+% \end{macrocode}
+% Less \cs{expandafter}'s at \mstrelease{1.4}. Also, it is now required
+% to make sure:
+% \begin{itemize}[nosep]
+% \item not do it twice in succession (else infinite loop),
+% \item and undo it when deactivating.
+% \end{itemize}
+% This was easily done under legacy code (now only used under |everymath|
+% option, and only for non-letters) as it activated only when entering into
+% math mode.
+%
+% This is more annoying when activation happens in an uncontrolled
+% scope, and we handle this via a \cs{mst@hackedshorthand@<char>} flag.
+%
+% MEMO: the undoing is done in \cs{mst@mathdeactivate} which is invoked
+% only for those non-letters submitted to \cs{mst@mathactivate}.
+% \begin{macrocode}
+ \ifmst@everymath\else\@ifundefined{mst@hackedshorthand@#1}{\fi
+ \expandafter\let\csname mst@orig@user@active#1\expandafter\endcsname
+ \csname user@active#1\endcsname
+ \expandafter\let\csname mst@orig@normal@char#1\expandafter\endcsname
+ \csname normal@char#1\endcsname
+ \ifmst@everymath\else}{}\fi
+% \end{macrocode}
+% No more \cs{edef}'s at \mstrelease{1.4}. At this release, in letter case
+% |#3| is empty and |#2| is a single token which needs no extra brace
+% pair as this brace pair will come from its expansion.
+% We can use |{#2}{#3}| in all cases rather than either |{{#2#3}}{}| versus
+% |{#2}#3| depending on whether |#1| is letter or not as was done in the past.
+% Attention that |#2| and |#3| may each be empty.
+% \begin{macrocode}
+ \def\mst@tmp##1##2{\def##1{\mst@fork{#2}{#3}##2}}%
+ \expandafter\mst@tmp\csname user@active#1\expandafter\endcsname
+ \csname mst@orig@user@active#1\endcsname
+ \def\mst@tmp##1##2{\def##1{\mst@safefork{#2}{#3}##2}}%
+ \expandafter\mst@tmp\csname normal@char#1\expandafter\endcsname
+ \csname mst@orig@normal@char#1\endcsname
+ \ifmst@everymath
+ \else
+ \expandafter\let\csname mst@hackedshorthand@#1\endcsname\@empty
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\mst@@mathactivate}
+% \begin{macrocode}
+\begingroup
+ \catcode`\~=\active
+ \def\x{%
+\endgroup
+% \end{macrocode}
+% |##1| is always a token of catcode 11 or 12.
+% \begin{macrocode}
+\ifmst@everymath
+ \def\mst@@mathactivate##1##2##3{%
+ \begingroup
+ \lccode`~=`##1
+ \lccode`##1=`##1
+% \end{macrocode}
+% Careful here as |##2| is empty in the asterisk and prime case. And |##3|
+% also is at \mstrelease{1.4} empty for letters.
+% \begin{macrocode}
+ \lowercase{\endgroup
+% \end{macrocode}
+% Refactoring at \mstrelease{1.4} merged the catcode 11 and catcode 12
+% branches here and in particular avoided in former case an \cs{edef}. This
+% helped into providing the \cs{MTcommandletter}\meta{letter} as a
+% customizable macro. There was no equivalent to this macro, which here is
+% |##2|, prior to \mstrelease{1.4}.
+% \begin{macrocode}
+ \mathcode`##1="8000
+ \def~{##2##3}%
+ }%
+ }%
+\else
+ \def\mst@@mathactivate##1##2##3{%
+ \begingroup
+ \lccode`~=`##1
+ \lccode`##1=`##1
+ \lowercase{\endgroup
+ \mathcode`##1="8000
+% \end{macrocode}
+% Also, \mstrelease{1.4} possibly execute \cs{mst@mathactivate} everywhere
+% in document body (at version changes for example) or at begin document.
+% Hence this modifies globally the active meaning. So we add some safeguard
+% here using an \cs{ifmmode}. And we store the original meaning of the
+% active variant of the token to reset it when ``undoing''.
+%
+% Careful not to do it twice in a row... (but this means \cs{mst@deactivate}
+% might not revert to a user custom redefinition done in-between but to a
+% prior one; although if the character is made active the second
+% \cs{mst@mathactivate} would not have been done).
+% \begin{macrocode}
+ \@ifundefined{mst@prioractivemeaning@##1}
+ {\expandafter\let
+ \csname mst@prioractivemeaning@##1\endcsname ~}
+ {}%
+ \def~{\ifmmode##2##3\else##1\fi}%
+ }%
+ }%
+\fi
+}\x
+% \end{macrocode}
+% At \mstrelease{1.4} the macro was split into two, to test first whether the
+% character which is encountered is currently with active catcode.
%
-% Added note |2016/01/06|: it should be explicitly said that the extra
-% |{..}| in |\mst@mathactivate| for letters end up creating |\hbox|'es
-% around each letter with its extra skips and explicit italic correction,
-% when present. These skips are thus set at natural width and do not add
-% any break point.
+% At \mstrelease{1.4} the non-catcode active branch is entered only if the
+% character isn't mathematically active at time of use..
%
-% \begin{macro}{\MTmath-}\begin{macro}{activeletters}
-% \begin{macro}{\MTmath-}\begin{macro}{standardletters}
-% |1.3| |2013/09/02| extends the use of mathematically active letters to
-% allow the user to specify muglue before and after the letter itself (see
-% \cs{MTsetmathskips}, below).
-% Mathematically active letters were previously used only to add the italic
-% correction; the math activation has now been separated and put in
-% \cs{MTmathactiveletters}. There is also \cs{MTmathactiveLetters} to allow
-% math activation only for the uppercase letters. To cancel the (now default,
-% even with option |italic|) math
-% activation of letters, there is \cs{MTmathstandardletters}. Version |1.3a|
-% removes some silly |\string|'s from the code, which prevented to pass
-% macros as first argument to the command.
-% \begin{macro}{\MTnonletters-}\begin{macro}{obeymathxx}
-% \begin{macro}{\MTnonletters-}\begin{macro}{donotobeymathxx}
-% \begin{macro}{\resetMathstrut@}
-% These macros are modified in version |1.3a| |2013/09/04| in order to
+% Careful that |#2| and |#3| may each be empty. The test for being a Babel
+% shorthand is done here and not as prior to \mst@release{1.4} inside
+% \cs{mst@do@activecase}.
+% \begin{macrocode}
+\def\mst@mathactivate#1#2#3{%
+ \ifnum\catcode`#1=\active
+ \@ifundefined{active@char#1}{}{\mst@do@activecase #1{#2}{#3}}%
+ \else
+ \mst@OnlyIfNotMathActive{#1}{\mst@@mathactivate #1{#2}{#3}}%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\mst@mathdeactivate}
+% This is needed at \mstrelease{1.4} for non-letters which are mathematically
+% activated. See comments above in \cs{mst@do@activecase}. Works in
+% sync with \cs{mst@addtodo@nonletters}.
+%
+% The \cs{mst@mathdeactivate} is active (sic) only in the non |everymath|
+% situation. It will restore a previously existing active meaning if it has
+% been changed.
+% \begin{macrocode}
+\ifmst@everymath
+\else
+\def\mst@mathdeactivate#1#2{%
+ \mathcode`#1=#2\relax
+ \@ifundefined{active@char#1}
+ {\@ifundefined{mst@prioractivemeaning@#1}
+ {}%
+ {\mst@restoreactivemeaning#1%
+ \expandafter\let\csname mst@prioractivemeaning@#1\endcsname\relax}%
+ }
+ {\@ifundefined{mst@hackedshorthand@#1}
+ {}
+ {\expandafter\let\csname user@active#1\expandafter\endcsname
+ \csname mst@orig@user@active#1\endcsname
+ \expandafter\let\csname normal@char#1\expandafter\endcsname
+ \csname mst@orig@normal@char#1\endcsname
+ \expandafter\let\csname mst@hackedshorthand@#1\endcsname\relax
+ }%
+ }%
+}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\mst@restoreactivemeaning}
+% At \mstrelease{1.4} when we undo the mathematical activation we now also
+% restore the prior existing active meaning, if any. Only in the ``no
+% |everymath|'' branch (because in the |everymath| \TeX{} itself takes care
+% of that on exiting the scope of the math mode).
+% \begin{macrocode}
+\def\mst@restoreactivemeaning#1{%
+ \begingroup
+ \lccode`~=`#1
+ \lccode`#1=`#1
+ \lowercase{\endgroup
+ \expandafter\let\expandafter~\csname mst@prioractivemeaning@#1\endcsname
+ }%
+}
+\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\mst@do@nonletters}
+% \begin{macro}{\mst@addtodo@nonletters}
+% \begin{macro}{\mst@the}
+% \begin{macro}{\MTnonlettersobeymathxx}
+% \begin{macro}{\MTnonlettersdonotobeymathxx}
+% These macros are modified in version \mstrelease{1.3a} |2013/09/04| in order to
% cleverly adjust, or not, the |amsmath| \cs{resetMathstrut@}. When used in
% the preamble, they just modify \cs{mst@the}. And there is code at begin
% document to check the status there of \cs{mst@the} and if its meaning is
@@ -6658,7 +6899,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% |2016/03/03 v2.15a| of |amsmath.sty| is still not compatible with a math
% active opening parenthesis. Hence my patch here is still needed.
%
-% At |1.3u| \cs{MTnonlettersobeymathxx} and \cs{MTeasynonlettersobeymathxx}
+% At \mstrelease{1.3u} \cs{MTnonlettersobeymathxx} and \cs{MTeasynonlettersobeymathxx}
% are made no-ops under subdued mode. This fixes some bug if for example
% the former was used in preamble or immediately after |\begin{document}|
% making the minus sign math active although the \mst action was
@@ -6667,42 +6908,42 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% versions.
% \begin{macrocode}
\newtoks\mst@do@nonletters
-\newtoks\mst@do@easynonletters
-\newtoks\mst@do@az
-\newtoks\mst@do@AZ
+\ifmst@everymath
+\else
+ \newtoks\mst@undo@nonletters
+\fi
+% \end{macrocode}
+% |#1| is a category 12 character, |#2| is a \cs{mathopen}, or \cs{mathclose},
+% etc..., |#3| is a \cs{mathchar} (of variable family type).
+%
+% At \mstrelease{1.4}, \cs{mst@mathactivate} will not do anything if |#1|
+% is mathcode active (but not catcode active) at time of use.
+% \begin{macrocode}
+\ifmst@everymath
+ \def\mst@addtodo@nonletters#1#2#3{\mst@do@nonletters\expandafter
+ {\the\mst@do@nonletters\mst@mathactivate#1#2#3}%
+ }%
+\else
+% \end{macrocode}
+% We need to automatize some safeguards related to \cs{mst@do@activecase} when
+% deactivating.
+% \begin{macrocode}
+ \def\mst@addtodo@nonletters#1#2#3{\mst@do@nonletters\expandafter
+ {\the\mst@do@nonletters\mst@mathactivate#1#2#3}%
+ \edef\mst@tmp{\noexpand\mst@mathdeactivate#1{\the\mathcode`#1}}%
+ \mst@undo@nonletters\expandafter\expandafter\expandafter
+ {\expandafter\mst@tmp\the\mst@undo@nonletters}%
+ }%
+\fi
\let\mst@the\@gobble
-\newcommand*\MTnonlettersdonotobeymathxx{%
- \ifx\mst@the\@gobble
- \else
- \@ifundefined{mst@savedresetMathstrut@}{}{%
- \PackageInfo{mathastext}{restoring for this group or environment
- the original\MessageBreak
- amsmath \protect\resetMathstrut@}%
- \let\resetMathstrut@\mst@savedresetMathstrut@}%
- \fi
- \let\mst@the\@gobble
-}%
% \end{macrocode}
-% |1.3u| adds this check that we are not in a subdued normal or bold math
-% version. No need for expandable coding.
+% As \cs{mst@savedresetMathstrut@} will only be defined at begin document,
+% the next two macros are no-op in the preamble.
% \begin{macrocode}
-\def\mst@OnlyIfNotSubdued#1{%
- \ifmst@subdued
- \ifx\math@version\mst@normalversionname
- \else
- \ifx\math@version\mst@boldversionname
- \else
- #1%
- \fi
- \fi
- \else
- #1%
- \fi
-}%
-\def\mst@nonlettersobeymathxx{%
- \ifx\mst@the\the
- \else
- \@ifundefined{mst@savedresetMathstrut@}{}{%
+\def\mst@redefine@resetMathstrut@{%
+ \@ifundefined{mst@savedresetMathstrut@}
+ {}
+ {%
\ifmst@symboldelimiters
\def\resetMathstrut@{%
\setbox\z@\hbox{\the\textfont\symmtpsymbol\char40
@@ -6715,234 +6956,186 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\the\textfont\symoperators\char40}%
\ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@}%
\fi
- \PackageInfo{mathastext}{\string\resetMathstrut@\space
- from amsmath replaced for this\MessageBreak group or environment}}%
- \fi
- \let\mst@the\the
+ \PackageInfo{mathastext}{\string\resetMathstrut@\space
+ from amsmath replaced for this\MessageBreak group or environment}%
+ }%
}%
-\newcommand*\MTnonlettersobeymathxx
- {\mst@OnlyIfNotSubdued\mst@nonlettersobeymathxx}%
-\newcommand*\MTeasynonlettersdonotobeymathxx{\let\mst@theeasy\@gobble}%
-\def\mst@easynonlettersobeymathxx{\let\mst@theeasy\the}%
-\newcommand*\MTeasynonlettersobeymathxx
- {\mst@OnlyIfNotSubdued\mst@easynonlettersobeymathxx}%
-\MTeasynonlettersobeymathxx % no-op here if subdued mode
-\def\mst@mathactiveletters{\let\mst@thef\the \let\mst@theF\the}%
-\newcommand*\MTmathactiveletters
- {\mst@OnlyIfNotSubdued\mst@mathactiveletters}%
-\MTmathactiveletters % no-op here if subdued mode
-\def\mst@mathactiveLetters{\let\mst@theF\the}%
-\newcommand*\MTmathactiveLetters
- {\mst@OnlyIfNotSubdued\mst@mathactiveLetters}%
-\newcommand*\MTmathstandardletters{\let\mst@thef\@gobble \let\mst@theF\@gobble}%
+\def\mst@restore@resetMathstrut@{%
+ \@ifundefined{mst@savedresetMathstrut@}{}{%
+ \PackageInfo{mathastext}{restoring for this group or environment
+ the original\MessageBreak
+ amsmath \protect\resetMathstrut@}%
+ \let\resetMathstrut@\mst@savedresetMathstrut@}%
+}%
+\ifmst@everymath
+ \newcommand*\MTnonlettersobeymathxx{%
+ \mst@OnlyIfNotSubdued{%
+ \ifx\mst@the\the
+ \else
+ \mst@redefine@resetMathstrut@
+ \fi
+ \let\mst@the\the
+ }%
+ }%
+ \newcommand*\MTnonlettersdonotobeymathxx{%
+ \ifx\mst@the\@gobble
+ \else
+ \mst@restore@resetMathstrut@
+ \fi
+ \let\mst@the\@gobble
+ }%
+\else
+ \newcommand*\MTnonlettersobeymathxx{%
+ \mst@OnlyIfNotSubdued{%
+ \AtBeginDocument{\MTnonlettersobeymathxx}%
+ }%
+ }%
+ \newcommand*\MTnonlettersdonotobeymathxx{%
+ \AtBeginDocument{\MTnonlettersdonotobeymathxx}%
+ }%
+ \AtBeginDocument{%
+ \renewcommand*\MTnonlettersobeymathxx{%
+ \mst@OnlyIfNotSubdued{%
+ \the\mst@do@nonletters
+ \ifx\mst@the\the
+ \else
+ \mst@redefine@resetMathstrut@
+ \fi
+ \let\mst@the\the
+ }%
+ }%
+ \renewcommand*\MTnonlettersdonotobeymathxx{%
+ \the\mst@undo@nonletters
+ \ifx\mst@the\@gobble
+ \else
+ \mst@restore@resetMathstrut@
+ \fi
+ \let\mst@the\@gobble
+ }%
+ }%
+\fi
% \end{macrocode}
-% \begin{macro}{\MTicinmath}
-% \begin{macro}{\MTICinmath}
-% \begin{macro}{\MTnoicinmath}
-% \begin{macro}{\MTicalsoinmathxx}
-% \cs{MTnoicinmath} can also be used from inside math mode.
-%
-% \cs{MTicalsoinmathxx} is destined to be used inside
-% \cs{mathnormalbold} as I didn't want to add the complication of
-% extracting the family number used inside \cs{mathnormalbold} (will
-% perhaps come back if I have time to spend on
-% |source2e|). Added note |2016/01/06|: this number is a priori simply
-% |symmtletterfont+1|.
-%
-% \cs{MTicinmath} can also be used inside math mode, to revert an
-% earlier \cs{MTnoicinmath} from inside the same math group: the math mode
-% had to be entered with the math activation of letters allowed.
-%
-% |1.3i| |2016/01/06|: For some reason which I have now forgotten I did
-% until now:
-% \begin{verbatim}
-% \def\mst@itcorr{\ifnum\fam=\m@ne\/\else\ifnum\fam=\symmtletterfont\/\fi\fi}%
-% \end{verbatim}
-% hence italic corrections were also applied inside \cs{mathnormal} (for
-% upright fonts; \cs{mathnormalbold} math alphabet was not treated like
-% \cs{mathnormal}). I now drop this to be more in sync with the handling
-% of the extra skips around letters. Everything gets suppressed inside
-% all math alphabets, allowing ligatures, even for \cs{mathnormal}.
-%
+% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
+% \begin{macro}{\MTeasynonlettersobeymathxx}
+% \begin{macro}{\MTeasynonlettersdonotobeymathxx}
% \begin{macrocode}
-\newcommand*\MTicinmath{%
- \MTmathactiveletters
- \def\mst@itcorr{\ifnum\fam=\m@ne\/\fi}%
- \let\mst@ITcorr\mst@itcorr}
-\newcommand*\MTICinmath{%
- \MTmathactiveLetters
- \def\mst@ITcorr{\ifnum\fam=\m@ne\/\fi}}
-\newcommand*\MTnoicinmath{\let\mst@itcorr\@empty\let\mst@ITcorr\@empty}
-\newcommand*\MTnoICinmath{\let\mst@ITcorr\@empty}
-\newcommand*\MTicalsoinmathxx{%
- \ifx\mst@itcorr\@empty\else\def\mst@itcorr{\/}\fi
- \ifx\mst@ITcorr\@empty\else\def\mst@ITcorr{\/}\fi}
+\newtoks\mst@do@easynonletters
+\ifmst@everymath
+ \newcommand*\MTeasynonlettersdonotobeymathxx{\let\mst@theeasy\@gobble}%
+ \newcommand*\MTeasynonlettersobeymathxx{%
+ \mst@OnlyIfNotSubdued{\let\mst@theeasy\the}%
+ }%
+ \MTeasynonlettersobeymathxx
+\else
+ \newtoks\mst@undo@easynonletters
+ \newcommand*\MTeasynonlettersdonotobeymathxx{\the\mst@undo@easynonletters}
+ \newcommand*\MTeasynonlettersobeymathxx{%
+ \mst@OnlyIfNotSubdued{\the\mst@do@easynonletters}%
+ }%
+ \AtEndOfPackage{\MTeasynonlettersobeymathxx}%
+\fi
% \end{macrocode}
-% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
-% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
-% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
-% \begin{macro}{\MTsetmathskips}
-% \begin{macro}{\MTunsetmathskips}
-% |1.3| |2013/09/02|: user level command to specify extra spaces in math mode
-% around the letters (only the 7bit a,b,..,z and A,B,..,Z). First parameter is
-% the letter, second is the math skip to be inserted before, and third the
-% skip to be inserted after; for example \cs{thickmuskip} or explicitly
-% |0.1mu|.
-%
-% For this, letters are made mathematically active. This is now the package
-% default (version |1.2| did this only in the absence of option |italic|, or
-% more precisely when the font used was not of shape |it| or |sl|). But if
-% \cs{MTsetmathskips} has not been used for that letter, the only effect of
-% the math activation is, as in |1.2|, to add the italic correction
-% automatically, except when the font shape is detected to be |it| or |sl|; in
-% these latter cases, although mathematically active, the letter acts in the
-% standard way.
-%
-% The command \cs{MTmathstandardletters} turns off math activation and its
-% effects for all letters.
-%
-% Ligatures within the argument of a math alphabet command are impeached by
-% skips; so \cs{MTunsetmathskips} is provided to cancel the skips for one
-% specific letter (|f| for example).
+% \end{macro}\end{macro}
+% \begin{macro}{\mst@addtodo@easynonletters}
+% |#1| is a one character control sequence (|\.|, |\/|, |\#|, |\%| or |\&|)
+% and |#2| is a mathchar.
%
-% |1.3a| |2013/09/04|: I strangely had |\string#1| inside \cs{MTsetmathskips}.
-% Phobic of catcode active letters... but with |\string| one needs some
-% |\expandafter| to use \cs{MTsetmathskips} in an |\@for| loop for example. It
-% is better to allow the first argument to be a macro or anything expanding to
-% a letter, and to not be paranoid about improbable catcode active letters
-% (the user just has to tame them at the time of the \cs{MTsetmathskip}) so I
-% take out these |\string|'s.
+% Perhaps I should use the Unicode engine \cs{Umathcode} et alia. I do this
+% at other places. However
+% I realized in 2013 and it is still true in 2024 that \LaTeX{} interface
+% \cs{DeclareSymbolFont} does not allow to declare more than 16 font
+% families even with \LuaLaTeX{} despite the latter allowing 256 such.
%
-% |1.3i| |2016/01/06|: the extra skips are suppressed for the arguments of
-% math alphabet commands. This applies in particular for amsmath's
-% \cs{DeclareMathOperator}.
+% So why bother?
%
+% \mstrelease{1.4} adds to this legacy branch a test to not override
+% a mathematically active ``easy'' non-letter. Main case is the dot
+% with Babel Spanish.
% \begin{macrocode}
-\newcommand*\MTsetmathskips[3]{%
- \@namedef{mst@before#1}{\ifnum\fam=\m@ne\mskip#2\relax\fi }%
- \@namedef{mst@after#1}{\ifnum\fam=\m@ne\mskip#3\relax\fi }%
-}
-\newcommand*\MTunsetmathskips[1]{%
- \@namedef{mst@before#1}{}%
- \@namedef{mst@after#1}{}%
-}
+\ifmst@everymath
+ \def\mst@addtodo@easynonletters#1#2{%
+ \mst@do@easynonletters\expandafter{%
+ \the\mst@do@easynonletters
+ \mst@OnlyIfNotMathActive{#1}{\mathcode`#1=#2}%
+ }%
+ }%
+ \def\mst@addtodo@easynonletters@U#1#2{%
+ \mst@do@easynonletters\expandafter{%
+ \the\mst@do@easynonletters
+ \mst@OnlyIfNotMathActive{#1}{\mst@Umathcodenum`#1=#2}%
+ }%
+ }%
+\else
% \end{macrocode}
-% \end{macro}\end{macro}
-% \begin{macro}{\mst@mathactivate}
-% \begin{macro}{\mst@addtodo@nonletters}
-% \begin{macro}{\mst@addtodo@easynonletters}
-% \begin{macro}{\mst@addtodo@az}
-% \begin{macro}{\mst@addtodo@AZ}
-% Added note |2016/01/06|:
-% Notice that the initially |\relax| tokens \verb+\mst@[before|after]@<letter>+
-% formed with |\csname...\endcsname| do not modify TeX's math layout:
-% |{\relax f\relax}| is like |f| (also for ligatures inside |\mathrm| for
-% example).
+% The character may have been made mathcode active
+% exterior to \mst. We can not test this for sure at begin document as it
+% may happen later. If such an ``easy'' character is mathcode active,
+% this can not originate in \mst. So we should not overwrite when
+% we issue \cs{MTeasynonlettersdonotobeymathxx}. Example I know is
+% with \ctanpkg{babel} Spanish which makes the dot math active. With PDF\LaTeX{}
+% it is also catcode active
+%
+% This macro may be used with Unicoe engines, and \LuaTeX{} and \XeTeX{}
+% differ regarding math active characters. I have only tested this (anew)
+% for \mstrelease{1.4} for which this branch is needed, so in 2024.
% \begin{macrocode}
-\def\mst@magic@v #1#2#3#4#5{#1#3#4}
-\def\mst@magic@vi #1#2#3#4#5#6{#1#2#4#5}
-\def\mst@fork{\ifmmode\mst@magic@v\fi\@thirdofthree}
-\def\mst@safefork{\ifmmode\if@safe@actives\else\mst@magic@vi\fi\fi\@thirdofthree}
-\def\mst@do@activecase#1#2#3{% #1 is a category 11 or 12 character token
- \@ifundefined{active@char#1}{}{%
- \ifcat #1a\mathcode`#1=#2\else
- \ifx\relax #2\relax\mathcode`#1=`#1 \else\mathcode`#1=#3\fi\fi
- \expandafter\expandafter\expandafter\let\expandafter\expandafter
- \csname mst@orig@user@active#1\endcsname
- \csname user@active#1\endcsname
- \expandafter\expandafter\expandafter\let\expandafter\expandafter
- \csname mst@orig@normal@char#1\endcsname
- \csname normal@char#1\endcsname
- \ifcat #1a%
- \expandafter\edef\csname user@active#1\endcsname
- {\noexpand\mst@fork {{#2\noexpand#3}}{}\expandafter
- \noexpand\csname mst@orig@user@active#1\endcsname
- }%
- \expandafter\edef\csname normal@char#1\endcsname
- {\noexpand\mst@safefork {{#2\noexpand#3}}{}\expandafter
- \noexpand\csname mst@orig@normal@char#1\endcsname
- }%
- \else
- \expandafter\edef\csname user@active#1\endcsname
- {\noexpand\mst@fork {#2}\noexpand#3\expandafter
- \noexpand\csname mst@orig@user@active#1\endcsname
- }%
- \expandafter\edef\csname normal@char#1\endcsname
- {\noexpand\mst@safefork {#2}\noexpand#3\expandafter
- \noexpand\csname mst@orig@normal@char#1\endcsname
- }%
- \fi}}
-\begingroup
- \catcode`\~=\active
- \def\x{\endgroup
- \def\mst@mathactivate##1##2##3{% ##1 guaranteed of cat 11 or 12
- \begingroup
- \lccode`~=`##1
- \lccode`##1=`##1
- \lowercase{\endgroup
- \ifnum\catcode`##1=\active
- \mst@do@activecase ##1{##2}##3%
- % careful as ##2 is empty in the asterisk and
- % prime case!
- \else
- \mathcode`##1="8000
- % version 1.3 adds the possibility of extra skips around letters,
- % (only if non catcode active at the time of use).
- \ifcat##1a\edef~{% extra braces for a^b for example
- {\expandafter\noexpand\csname mst@before##1\endcsname
- ##2\noexpand##3%
- \expandafter\noexpand\csname mst@after##1\endcsname}}%
- \else\def~{##2##3}\fi
- \fi}}}
-\x
-\def\mst@addtodo@nonletters#1#2#3{%
- % #1 will be of cat 11 or 12.
- % #2 is empty for asterisk and right quote
- \mst@do@nonletters\expandafter
- {\the\mst@do@nonletters \mst@mathactivate#1{#2}#3}%
-}
-\def\mst@addtodo@easynonletters#1#2{% #1 is a one char control sequence
- \mst@do@easynonletters\expandafter{\the\mst@do@easynonletters\mathcode`#1=#2}%
-}
-\def\mst@addtodo@az#1#2{%
- \mst@do@az\expandafter{\the\mst@do@az\mst@mathactivate#1#2\mst@itcorr}
-}
-\def\mst@addtodo@AZ#1#2{%
- \mst@do@AZ\expandafter{\the\mst@do@AZ\mst@mathactivate#1#2\mst@ITcorr}%
-}
+ \def\mst@addtodo@easynonletters#1#2{%
+ \mst@do@easynonletters\expandafter
+ {\the\mst@do@easynonletters
+ \mst@OnlyIfNotMathActive{#1}{\mathcode`#1=#2}}%
+ \def\mst@tmp##1\relax{%
+ \def\mst@tmp{\mst@OnlyIfNotMathActive{#1}{\mathcode`#1=##1\relax}}%
+ }%
+ \expandafter\mst@tmp\the\mathcode`#1\relax
+ \mst@undo@easynonletters\expandafter\expandafter\expandafter
+ {\expandafter\mst@tmp\the\mst@undo@easynonletters}%
+ }%
+ \def\mst@addtodo@easynonletters@U#1#2{%
+ \mst@do@easynonletters\expandafter{%
+ \the\mst@do@easynonletters
+ \mst@OnlyIfNotMathActive{#1}{\mst@Umathcodenum`#1=#2}%
+ }%
+ \def\mst@tmp##1\relax{%
+ \def\mst@tmp{\mst@OnlyIfNotMathActive{#1}{\mst@Umathcodenum`#1=##1\relax}}%
+ }%
+ \expandafter\mst@tmp\the\mst@Umathcodenum`#1\relax
+ \mst@undo@easynonletters\expandafter\expandafter\expandafter
+ {\expandafter\mst@tmp\the\mst@undo@easynonletters}%
+ }%
+\fi
% \end{macrocode}
-% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
+% \end{macro}
% \begin{macro}{\newmcodes@}
% \begin{macro}{\mst@newmcodes@}
% \begin{macro}{\MTresetnewmcodes}
% \begin{macro}{\MTcustomizenewmcodes}
-% |1.15d|: the \cs{newmcodes@} amsmath macro causes an error in Unicode engines as soon
-% someone assigns a Unicode mathcode to the minus sign, and then makes a
-% \cs{DeclareMathOperator} declaration. Furthermore it hard-codes the font
-% family 0 as being the one to be used. Moreover just putting the concerned
-% signs |-|, |:|, |.|, |\| ,|'|, |*| inside braces emulates enough the
-% behavior (although the tick will give a prime).
+% \mstrelease{1.15d}: the \cs{newmcodes@} amsmath macro causes an error in
+% Unicode engines as soon someone assigns a Unicode mathcode to the minus
+% sign, and then makes a \cs{DeclareMathOperator} declaration. Furthermore
+% it hard-codes the font family 0 as being the one to be used. Moreover just
+% putting the concerned signs |-|, |:|, |.|, |\| ,|'|, |*| inside braces
+% emulates enough the behavior (although the tick will give a prime).
%
-% |1.3|: now tests if `basic' option was used.
+% \mstrelease{1.3}: now tests if `basic' option was used.
%
-% |1.3d|: I should re-examine the situation with |\newmcodes@|. In the
+% \mstrelease{1.3d}: I should re-examine the situation with |\newmcodes@|. In the
% meantime its relaxification will not be done if lualatex-math is
% loaded. And the whole thing is put at begin document.
%
-% |1.3m|: |lualatex-math 1.5| n'a pas modifi son traitement de |\newmcodes@|
+% \mstrelease{1.3m}: |lualatex-math 1.5| n'a pas modifi son traitement de |\newmcodes@|
% mais par contre a supprim le patch de \cs{resetMathstrut@}. Mais la date
-% de release est reste |2015/09/22| (date de |1.4a|) au lieu de quelque
+% de release est reste |2015/09/22| (date de \mstrelease{1.4a}) au lieu de quelque
% chose comme |2016/03/13| (date pour l'annonce sur CTAN). Il faudra suivre
% l'volution future de |amsmath.sty| maintenant assure par D.C.
%
-% |1.3n 2016/04/22|: there is no more a patch of |\newmcodes@| by
+% \mstrelease{1.3n} |2016/04/22|: there is no more a patch of |\newmcodes@| by
% |lualatex-math 1.6| |(2016/04/16)|, as |amsmath 2016/03/10 v2.15b| has now
% a version compatible with \LuaLaTeX.
%
% My very radical |\let\newmcodes@\relax| was only a temporary measure I
% adopted for lack of time on October 13, 2012, and apart from avoiding to
% do that in case |lualatex-math| was detected, I never came back... finally
-% I handle it myself for |1.3n|. The remaining problem of this macro (now
+% I handle it myself for \mstrelease{1.3n}. The remaining problem of this macro (now
% that it does not anymore crash |lualatex| or vice versa) is that (also
% with |amsmath| version |2016/03/10 v2.15b|) it hardcodes the font used.
% The aim of the macro is to modify the type of spacing affected to symbols
@@ -6954,7 +7147,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \item \mst makes (or not, depending on commands issued by the user) these
% characters math active (the right tick already is), which complicates
% recovery of former mathcode. We have mathchar type \emph{macros}, but
-% then the complication is in diverging behaviours of the engines:
+% then the complication is in diverging behaviors of the engines:
% |\numexpr\mst@varfam@minus\relax| works with \LuaTeX, not with \XeTeX.
% \item the |*| must presumably really be the non-lowered text glyph.
% \item for the |-| I hesitated but do use the hyphen in the end.
@@ -6979,7 +7172,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \item I noticed that \LuaLaTeX\ does not apply the ``TeX Ligature'' (bad
% name) regarding the right tick APOSTROPHE being transformed into RIGHT
% SINGLE QUOTATION MARK in math mode, but \XeLaTeX\ does. From the point
-% of view of \mst, the behaviour of \XeLaTeX\ is the coherent one. It
+% of view of \mst, the behavior of \XeLaTeX\ is the coherent one. It
% appears that \LuaLaTeX\ use in math mode of a text font does not obey
% the set features.^^A like this
%^^A \url{http://tex.stackexchange.com/questions/208688/oldstylefigure-issue-with-lualatex-and-mathastext}
@@ -6997,7 +7190,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% in 2012! I spent some hours on this small thing, with consequent testing and
% for example this TeX Ligature issue with Unicode engines.
%
-% Since |1.3v| we require e-\TeX{} extensions, so a test for
+% Since \mstrelease{1.3v} we require e-\TeX{} extensions, so a test for
% \cs{numexpr} has been dropped here.
% \begin{macrocode}
\ifmst@basic
@@ -7027,7 +7220,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
}%
\let\mst@originalnewmcodes@\newmcodes@
\fi
- }% end of AtBeginDocument
+ }%
\else
\AtBeginDocument {%
\ifx\newmcodes@\@undefined\else
@@ -7047,9 +7240,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
}%
\let\mst@originalnewmcodes@\newmcodes@
\fi
- }% end of second AtBeginDocument
- \fi % mst@XeOrLua
-\fi % mst@basic
+ }%
+ \fi
+\fi
\newcommand*\MTresetnewmcodes{\ifx\mst@originalnewmcodes@\undefined\else
\let\newmcodes@\mst@originalnewmcodes@\fi}
\newcommand*\MTcustomizenewmcodes{\ifx\mst@originalnewmcodes@\undefined\else
@@ -7080,7 +7273,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% we'll see.
% \begin{macro}{\MTmathoperators-}\begin{macro}{obeymathxx}
% \begin{macro}{\MTmathoperators-}\begin{macro}{donot-}\begin{macro}{obeymathxx}
-% |1.2|: rather than just replacing \cs{symoperators} by
+% \mstrelease{1.2}: rather than just replacing \cs{symoperators} by
% \cs{symmtoperatorfont} I add a modification which makes the
% declared operator names sensitive to the math alphabets... ouh le
% vilain!
@@ -7093,7 +7286,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
% \begin{macro}{mtletterfont}
-% At version |1.1|, we add the possibility to mimick the standard
+% At version \mstrelease{1.1}, we add the possibility to mimick the standard
% behavior, that is to have italic letters and upright
% digits. Thanks to Tariq~\textsc{Perwez} and
% Kevin~\textsc{Klement} who asked for such a feature.
@@ -7134,39 +7327,59 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% simultaneously when specified with |mode=base|. It does work with
% |mode=node| but this mode ``does not work in math mode.''
%
-% Done for |1.3o| of |2016/05/03|.
+% Done for \mstrelease{1.3o} of |2016/05/03|.
+%
+% \mstrelease{1.3p} renames the macro to \cs{MTfixmathfonts} for public access.
+%
+% \mstrelease{1.4} intercepts also |mode=harf|. Cf
+% \url{https://tex.stackexchange.com/questions/722084/change-number-style-with-mathastext}
+% (thanks to |user691586| for bug report). The new code unconditionally
+% replaces |mode=foo| by |mode=base|. The complications due to the output of
+% |\fontname| using only category 12 characters are handled in a different way
+% than the |2016| code.
%
-% |1.3p| renames the macro to \cs{MTfixmathfonts} for public access.
+% The \url{https://github.com/latex3/fontspec/issues/525} problem causes
+% additional complications.
+%
+% Perhaps I should simply zap spaces always rather than check for quotes?
+% Anyway this appears to work.
% \begin{macrocode}
-\begingroup
-\catcode`N 12
-\catcode`O 12
-\catcode`D 12
-\catcode`E 12
-\lowercase{\gdef\mst@fixmathfonts@ #1=NODE;#2#3\relax #4\@empty #5}%
- {\ifx#2\empty\else\font\mst@mathfont=#1=base;#2#3\relax#5=\mst@mathfont\fi}
-\lowercase{\gdef\MTfixmathfonts
-{\expandafter\mst@fixmathfonts@
- \fontname\textfont\symmtoperatorfont\relax\relax=NODE;\empty\relax\@empty
- {\textfont\symmtoperatorfont}%
- \expandafter\mst@fixmathfonts@
- \fontname\scriptfont\symmtoperatorfont\relax\relax=NODE;\empty\relax\@empty
- {\scriptfont\symmtoperatorfont}%
- \expandafter\mst@fixmathfonts@
- \fontname\scriptscriptfont\symmtoperatorfont\relax\relax=NODE;\empty\relax\@empty
- {\scriptscriptfont\symmtoperatorfont}%
- \expandafter\mst@fixmathfonts@
- \fontname\textfont\symmtletterfont\relax\relax=NODE;\empty\relax\@empty
- {\textfont\symmtletterfont}%
- \expandafter\mst@fixmathfonts@
- \fontname\scriptfont\symmtletterfont\relax\relax=NODE;\empty\relax\@empty
- {\scriptfont\symmtletterfont}%
- \expandafter\mst@fixmathfonts@
- \fontname\scriptscriptfont\symmtletterfont\relax\relax=NODE;\empty\relax\@empty
- {\scriptscriptfont\symmtletterfont}%
- }%
+\def\mst@fixmathfonts@#1.#2.#3.{%
+\def\mst@fixmathfonts@##1##2#1=##3;##4##5\relax##6\@empty##7{%
+ \ifx##3\empty\else
+ \if"##1%
+ \font\mst@mathfont=##1##2#1=base;##4##5\relax
+ \else
+ \mst@arrrrgh@fixmathfonts##1##2#1=base;##4##5#2\empty#3\relax
+ \fi
+ ##7=\mst@mathfont
+ \fi
}%
-\endgroup
+\def\mst@arrrrgh@fixmathfonts##1#2##2##3#3##4\relax{%
+ \ifx##2\empty
+ \font\mst@mathfont="##1"\relax
+ \else
+ \font\mst@mathfont="##1"#2##2##3#3\relax
+ \fi
+}%
+}%
+\expandafter\mst@fixmathfonts@\detokenize{mode. at.pt.}%
+\def\MTfixmathfonts#1{%
+\def\MTfixmathfonts{%
+ \expandafter\mst@fixmathfonts@\fontname\textfont\symmtoperatorfont
+ \relax\relax #1=;\empty\relax\@empty{\textfont\symmtoperatorfont}%
+ \expandafter\mst@fixmathfonts@\fontname\scriptfont\symmtoperatorfont
+ \relax\relax #1=;\empty\relax\@empty{\scriptfont\symmtoperatorfont}%
+ \expandafter\mst@fixmathfonts@\fontname\scriptscriptfont\symmtoperatorfont
+ \relax\relax #1=;\empty\relax\@empty{\scriptscriptfont\symmtoperatorfont}%
+ \expandafter\mst@fixmathfonts@\fontname\textfont\symmtletterfont
+ \relax\relax #1=;\empty\relax\@empty{\textfont\symmtletterfont}%
+ \expandafter\mst@fixmathfonts@\fontname\scriptfont\symmtletterfont
+ \relax\relax #1=;\empty\relax\@empty{\scriptfont\symmtletterfont}%
+ \expandafter\mst@fixmathfonts@\fontname\scriptscriptfont\symmtletterfont
+ \relax\relax #1=;\empty\relax\@empty{\scriptscriptfont\symmtletterfont}%
+}}%
+\expandafter\MTfixmathfonts\expandafter{\detokenize{mode}}%
\ifmst@LuaTeX
\everymath\expandafter{\the\everymath\mst@fixmathfonts}%
\everydisplay\expandafter{\the\everydisplay\mst@fixmathfonts}%
@@ -7198,7 +7411,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \cs{mathrm} and not \cs{mathnormal}.
%
% Actually math alphabet macros are created robust since \LaTeX{} from 2005,
-% so at |1.3v 2019/09/19| I decided to modify the old \mst approach a bit.
+% so at \mstrelease{1.3v} |2019/09/19| I decided to modify the old \mst approach a bit.
% Indeed with the old approach a \cs{mathtt} in a moving argument translates
% ultimately into \cs{Mathtt} but if for example the new context where it
% gets expanded is a subdued normal math version, this does not give the same
@@ -7220,10 +7433,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% robustness (except of course in the subdued math versions as there the math
% alphabets acquire back their original robust meanings.)
%
-% Potential breaking change at |1.3za|, the |defaultbf| etc... options do
+% Potential breaking change at \mstrelease{1.3za}, the |defaultbf| etc... options do
% not prevent the package declaring |\Mathbf| etc... commands.
%
-% |1.3za| defines a \cs{Mathnormalbold} and then defines \cs{mathnormalbold}
+% \mstrelease{1.3za} defines a \cs{Mathnormalbold} and then defines \cs{mathnormalbold}
% in terms of it in place of defining directly \cs{mathnormalbold} as a math
% alphabet. This is in relation to implementation of the |LGRgreek+|
% option. There was some hesitation though to restrict this change to that
@@ -7249,7 +7462,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\mst@original@it\mathit
\let\mst@original@sf\mathsf
\let\mst@original@tt\mathtt
-\def\mst@restorealphabets{% for subdued
+\def\mst@restorealphabets{%
\let\mathnormal\mst@original@normal
\let\mathrm\mst@original@rm
\let\mathbf\mst@original@bf
@@ -7264,7 +7477,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% there to be a robust and easy way to know when one is in the argument of
% \cs{mathrm} or \cs{mathbf}, and the code is spread on various chapters of
% \texttt{source2e.pdf}, and the comments are often not up-to-date. So I did
-% not try a too complex hack and decided for |1.3za| to add a numeric
+% not try a too complex hack and decided for \mstrelease{1.3za} to add a numeric
% indicator to let Greek letters react to it. It incorporates a space to be
% self-delimiting in an \cs{ifcase} to maintain expandability in numeric
% context of the to-be-defined Greek control sequences.
@@ -7316,7 +7529,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\MTgreekupdefault}
% \begin{macro}{\MTgreekitdefault}
% \begin{macro}{selfGreek}
-% |1.14b|: We can not move the \cs{DeclareSymbolFont} to the
+% \mstrelease{1.14b}: We can not move the \cs{DeclareSymbolFont} to the
% \cs{Mathastext} macro because it resets the font family in *all*
% math versions, and some could have been defined by the user with
% previous calls to \cs{Mathastext}. So we have to have them here.
@@ -7336,7 +7549,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% First we establish the cumulative effect of the greek related options.
%
-% |1.15c| introduces some possibilities to change the shapes of Greek letters
+% \mstrelease{1.15c} introduces some possibilities to change the shapes of Greek letters
% in each math versions, and even the Greek font (in LGR encoding). The
% commands \cs{MTitgreek} etc... will be used in-between calls to
% \cs{Mathastext} and re-adjust the shapes. And the command \cs{MTgreekfont}
@@ -7355,7 +7568,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \LaTeX\ (since 2020-02-02 now that I check this out). As a result this
% triggered Font Warnings in the log about the replacement of |up| by |n|.
%
-% |1.3x| refactors completely the handling of Greek letter shapes under the
+% \mstrelease{1.3y} refactors completely the handling of Greek letter shapes under the
% |LGRgreek(s)| options (and only under them). Under these options we don't
% use one font for lowercase Greek and anotherone for uppercase Greek (some
% above code comments have not been updated) but one math font |mtgreekit| for italic Greek
@@ -7372,7 +7585,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% In order to maintain perfect identical code for non-|LGRgreek|, the
% |LGRgreek| related code is simply added to previously shared
-% constructions. The |LGRgreek| behaviour will remain identical in most
+% constructions. The |LGRgreek| behavior will remain identical in most
% documents, but for example those who used some adventurous `|sc|' for the
% main shape (the one used per default for operator names) need to adjust
% \cs{MTgreekupdefault} to be `|sc|', for the math version being defined, or
@@ -7386,9 +7599,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% package; to be examined next time --- which may be a long time in
% future!).
%
-% Unfortunately the |1.3x/1.3y| did some internal renamings here (using
+% Unfortunately the \mstrelease{1.3y} did some internal renamings here (using
% |@lgr@| in macro names in place of |@greek@|) which were not everywhere
-% followed up, and this broke the |selfGreek| option. Fixed at |1.3z|.
+% followed up, and this broke the |selfGreek| option. Fixed at \mstrelease{1.3z}.
%
% \begin{macrocode}
\providecommand*\MTgreekupdefault{n}
@@ -7442,14 +7655,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\mathgreekit}
% \begin{macro}{\mathgreekupbold}
% \begin{macro}{\mathgreekitbold}
-% The |1.3x| refactoring was done in order to be able to define \cs{alphaup},
+% The \mstrelease{1.3y} refactoring was done in order to be able to define \cs{alphaup},
% etc \dots\ control sequences (\cs{mathchar}'s), as well as the italic ones.
% Formerly two math fonts were created but to be used respectively with
% lowercase or uppercase Greek. Now we have two fonts indexed by their shape,
% and we take advantage to create two math alphabets mapping to the two
% defined symbol fonts |mtgreekup| and |mtgreekit|.
%
-% |1.3za| adds \cs{mathgreekupbold} and \cs{mathgreekitbold}.
+% \mstrelease{1.3za} adds \cs{mathgreekupbold} and \cs{mathgreekitbold}.
% \begin{macrocode}
\ifmst@LGRgreek
\DeclareFontEncoding{LGR}{}{}
@@ -7484,10 +7697,11 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% In case we need the Euler font, we declare it here. It will use
% |uzeur.fd| from the \ctanpkg{eulervm} package of Walter~\textsc{Schmidt}
% \begin{macrocode}
-\ifmst@needeuler\mst@infoline{will use Euler font; command \string\MTEulerScale}
-\DeclareSymbolFont{mteulervm}{U}{zeur}{m}{n}
-\DeclareSymbolFontAlphabet{\MathEuler}{mteulervm}
-\DeclareMathAlphabet{\MathEulerBold}{U}{zeur}{\mst@bold}{n}
+\ifmst@needeuler
+\mst@infoline{will use Euler font; command \string\MTEulerScale}
+ \DeclareSymbolFont{mteulervm}{U}{zeur}{m}{n}
+ \DeclareSymbolFontAlphabet{\MathEuler}{mteulervm}
+ \DeclareMathAlphabet{\MathEulerBold}{U}{zeur}{\mst@bold}{n}
\fi
\newcommand*\MTEulerScale[1]{\edef\zeu@Scale{#1}}
\let\MathastextEulerScale\MTEulerScale
@@ -7534,14 +7748,15 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \cs{psy@scale} will be used to scale the font (see at the
% very end of this file).
% \begin{macrocode}
-\ifmst@needsymbol\mst@infoline{will use Symbol font; command \string\MTSymbolScale}
- \def\psy@scale{1}
- \DeclareSymbolFont{mtpsymbol}{U}{psy}{m}{n}
- \DeclareSymbolFontAlphabet{\MathPSymbol}{mtpsymbol}
-\AtBeginDocument{%
- \DeclareFontFamily{U}{psy}{}%
- \DeclareFontShape{U}{psy}{m}{n}{<->s*[\psy@scale] psyr}{}%
-}
+\ifmst@needsymbol
+ \mst@infoline{will use Symbol font; command \string\MTSymbolScale}
+ \def\psy@scale{1}
+ \DeclareSymbolFont{mtpsymbol}{U}{psy}{m}{n}
+ \DeclareSymbolFontAlphabet{\MathPSymbol}{mtpsymbol}
+ \AtBeginDocument{%
+ \DeclareFontFamily{U}{psy}{}%
+ \DeclareFontShape{U}{psy}{m}{n}{<->s*[\psy@scale] psyr}{}%
+ }
\fi
\newcommand*\MTSymbolScale[1]{\edef\psy@scale{#1}}
\let\MathastextSymbolScale\MTSymbolScale
@@ -7553,10 +7768,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macro}
% \end{macro}
% \begin{macro}{\pmvec}
-% Definition of a poor man version of the \cs{vec} accent
+% Definition of a poor man version of the \cs{vec} accent.
+% Done using \cs{protected}\cs{def} at \mstrelease{1.4}.
% \begin{macrocode}
-\DeclareRobustCommand*\pmvec[1]{\mathord{\stackrel{\raisebox{-.5ex}%
-{\tiny\boldmath$\mathord{\rightarrow}$}}{{}#1}}}
+\protected\def\pmvec#1{%
+ \mathord{\stackrel{\raisebox{-.5ex}{\tiny\boldmath$\mathord{\rightarrow}$}}%
+ {{}#1}%
+ }%
+}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\fouriervec}
@@ -7584,7 +7803,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% Some public macros to modify our private internals, and
% we will use them also ourself.
%
-% In version |1.1| we add the possibility to have two
+% In version \mstrelease{1.1} we add the possibility to have two
% distinct font shapes for letters and digits. So in fact
% we could as well have two really unrelated fonts but
% this is really not the spirit of the package.
@@ -7594,7 +7813,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% same time not modifying the \cs{familydefault} or \cs{romandefault}
% etc\dots
%
-% At time of |1.3za| I considered letting |LGRgreeks| and |selfGreeks|
+% At time of \mstrelease{1.3za} I considered letting |LGRgreeks| and |selfGreeks|
% support \cs{MTgreekfont} and this needed a chaneg to \cs{MTfamily}
% here but I dropped the idea. Too wary of documentation changes.
% \begin{macrocode}
@@ -7622,14 +7841,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\MTitGreek}
% \begin{macro}{\MTupGreek}
% \begin{macro}{\MTgreekfont}
-% |1.15c|: These new macros can be used in-between calls to \cs{Mathastext}.
+% \mstrelease{1.15c}: These new macros can be used in-between calls to \cs{Mathastext}.
% They reset the shapes for Greek letters (applies to LGRgreek(s) and
% selfGreek(s) options). The \cs{MTgreekfont} presupposes either LGRgreek or
% selfGreek (it is inoperant under |LGRgreeks| or |selfGreeks|).
% |\MTgreekfont{\familydefault}| is somewhat like using LGRgreeks or
% selfGreeks.
%
-% At time of |1.3za| I let \cs{MTgreekfont} also have an effect under option
+% At time of \mstrelease{1.3za} I let \cs{MTgreekfont} also have an effect under option
% |LGRgreeks| or |selfGreeks|, via a refactoring which also modified \cs{MTfamily}.
% \begin{macrocode}
\newcommand*\MTitgreek{\mst@itgreektrue\mst@upgreekfalse\def\mst@greek@select{0}}
@@ -7648,55 +7867,359 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macro}
% \end{macro}
% \end{macro}
+%
% At (long...) last we now change the font for the letters of the
-% latin alphabet. In version |1.1|, Latin letters have their own font
+% latin alphabet. In version \mstrelease{1.1}, Latin letters have their own font
% (shape).
%
-% |1.2b| initiated the use of mathematically active letters to insert the italic
-% corrections. With version |1.3| the use of math active letters is also for
-% extra muglue added before and after the letters. Use of |\@for| to shorten the
-% code initiated with release |1.3|.
+% \mstrelease{1.2b} |2012/12/28| now that we understand the great advantages of |"8000|
+% we do it also for all letters a-z and A-Z to insert automatically the
+% italic corrections. See the \hyperref[sec:ic]{discussion} in the user
+% manual. Ironically I wrote the code initially for the |italic| option only
+% to realize later it was more suitable to using an \emph{upright} text font
+% in math mode! So this mathematical activation of the letters is not done if
+% the font shape is detected to be |it| or |sl|; to bypass this the command
+% \cs{MTicinmath} is provided.
+%
+% \mstrelease{1.2e} |2013/01/10| corrects a bad oversight of \mstrelease{1.2b} in
+% \cs{mst@mathactivate} which made the reproduction of the user manual
+% illustrations with |$f_i^i$| impossible. As \cs{mst@mathactivate} was
+% originally used also to get the non-letters obey math alphabet while
+% maintaining the \TeX{} spacings, it added no extra braces. The braces
+% should however be added for expansion of math active letters, in order of
+% things like |x^y| to work as expected. (the group braces do not prevent
+% ligatures when the letters are arguments to the math alphabet commands,
+% the added macros \cs{mst@itcorr} and \cs{mst@before@<letter>} expanding to
+% nothing).
+%
+% Added note |2016/01/06|: it should be explicitly said that the extra
+% |{..}| in |\mst@mathactivate| for letters end up creating |\hbox|'es
+% around each letter with its extra skips and explicit italic correction,
+% when present. These skips are thus set at natural width and do not add
+% any break point.
+%
+% Added note at \mstrelease{1.4}: the extra pair of braces is inserted here
+% at \cs{mst@DeclareMathLetter}, not at \cs{mst@mathactivate}.
+%
+% \mstrelease{1.3} |2013/09/02| extends the use of mathematically active letters to
+% allow the user to specify muglue before and after the letter itself (see
+% \cs{MTsetmathskips}, below).
+% Mathematically active letters were previously used only to add the italic
+% correction; the math activation has now been separated and put in
+% \cs{MTmathactiveletters}. There is also \cs{MTmathactiveLetters} to allow
+% math activation only for the uppercase letters. To cancel the (now default,
+% even with option |italic|) math
+% activation of letters, there is \cs{MTmathstandardletters}. Version \mstrelease{1.3a}
+% removes some silly |\string|'s from the code, which prevented to pass
+% macros as first argument to the command.
+%
+% Added note |2016/01/06|:
+% Notice that the initially |\relax| tokens \verb+\mst@[before|after]@<letter>+
+% formed with |\csname...\endcsname| do not modify TeX's math layout:
+% |{\relax f\relax}| is like |f| (also for ligatures inside |\mathrm| for
+% example).
+%
+% The code here was refactored at \mstrelease{1.4} and this simplified
+% \cs{mst@mathactivate} definition.
+%
+% The \cs{mst@before}\meta{letter} were renamed at \mstrelease{1.4} into
+% \cs{mst@before@}\meta{letter} and are incorporated at the
+% \cs{mst@DeclareMathLetter} location. Formerly \cs{mst@}\meta{letter} was
+% only the math symbol, now \cs{MTmathcharletter}\meta{letter} is used for that and
+% \cs{MTcommandletter}\meta{letter} is the whole thing to which the active letter
+% expands (the definition of the active letter done by \cs{mst@mathactivate}
+% is done with a \cs{def}, not a \cs{let}).
+% \begin{macro}{\mst@DeclareMathLetter}
+%
+% \mstrelease{1.4b} adds |noletters| option.
% \begin{macrocode}
-\def\mst@DeclareMathLetter #1{%
+\ifmst@noletters
+ \let\MTmathactiveletters\@empty
+ \let\MTmathactiveLetters\@empty
+ \let\MTmathstandardletters\@empty
+\else
+\def\mst@DeclareMathLetter#1#2#3#4#5{%
\DeclareMathSymbol {#1}{\mathalpha}{mtletterfont}{`#1}%
- \expandafter
- \DeclareMathSymbol \csname mst@#1\endcsname{\mathalpha}{mtletterfont}{`#1}%
- \expandafter\mst@addtodo@az\expandafter #1\csname mst@#1\endcsname
+ \DeclareMathSymbol {#4}{\mathalpha}{mtletterfont}{`#1}%
+ \def#2{{#3#4#5\mst@itcorr}}%
+}%
+\@tfor\mst@tmp:=abcdefghijklmnopqrstuvwxyz\do{%
+ \expandafter\expandafter\expandafter\mst@DeclareMathLetter
+ \expandafter\mst@tmp
+ \csname MTcommandletter\mst@tmp\expandafter\endcsname
+ \csname mst@before@\mst@tmp\expandafter\endcsname
+ \csname MTmathcharletter\mst@tmp\expandafter\endcsname
+ \csname mst@after@\mst@tmp\endcsname
}%
-\@tfor\mst@tmp:=abcdefghijklmnopqrstuvwxyz\do
- {\expandafter\mst@DeclareMathLetter\mst@tmp}%
\ifmst@frenchmath \def\mst@font@tbu{mtoperatorfont}%
\else \def\mst@font@tbu{mtletterfont}%
\fi
-\def\mst@DeclareMathLetter #1{%
+\def\mst@DeclareMathLetter #1#2#3#4#5{%
\DeclareMathSymbol {#1}{\mathalpha}{\mst@font@tbu}{`#1}%
- \expandafter
- \DeclareMathSymbol \csname mst@#1\endcsname{\mathalpha}{\mst@font@tbu}{`#1}%
- \expandafter\mst@addtodo@AZ\expandafter #1\csname mst@#1\endcsname
+ \DeclareMathSymbol {#4}{\mathalpha}{\mst@font@tbu}{`#1}%
+ \def#2{{#3#4#5\mst@ITcorr}}%
}%
-\@tfor\mst@tmp:=ABCDEFGHIJKLMNOPQRSTUVWXYZ\do
- {\expandafter\mst@DeclareMathLetter\mst@tmp}%
-\let\mst@DeclareMathLetter\relax
+\@tfor\mst@tmp:=ABCDEFGHIJKLMNOPQRSTUVWXYZ\do{%
+ \expandafter\expandafter\expandafter\mst@DeclareMathLetter
+ \expandafter\mst@tmp
+ \csname MTcommandletter\mst@tmp\expandafter\endcsname
+ \csname mst@before@\mst@tmp\expandafter\endcsname
+ \csname MTmathcharletter\mst@tmp\expandafter\endcsname
+ \csname mst@after@\mst@tmp\endcsname
+}%
+\def\mst@mathactivate@lowercase{%
+ \@tfor\mst@tmp:=abcdefghijklmnopqrstuvwxyz\do{%
+ \expandafter\expandafter\expandafter
+ \mst@mathactivate\expandafter\mst@tmp\csname MTcommandletter\mst@tmp\endcsname{}%
+ }%
+}%
+\def\mst@mathactivate@uppercase{%
+ \@tfor\mst@tmp:=ABCDEFGHIJKLMNOPQRSTUVWXYZ\do{%
+ \expandafter\expandafter\expandafter
+ \mst@mathactivate\expandafter\mst@tmp\csname MTcommandletter\mst@tmp\endcsname{}%
+ }%
+}%
+\def\mst@mathdeactivate@lowercase{%
+ \@tfor\mst@tmp:=abcdefghijklmnopqrstuvwxyz\do{%
+ \expandafter\mathcode\expandafter`\mst@tmp=\csname MTmathcharletter\mst@tmp\endcsname
+ }%
+}%
+\def\mst@mathdeactivate@uppercase{%
+ \@tfor\mst@tmp:=ABCDEFGHIJKLMNOPQRSTUVWXYZ\do{%
+ \expandafter\mathcode\expandafter`\mst@tmp=\csname MTmathcharletter\mst@tmp\endcsname
+ }%
+}%
+% \end{macrocode}
+% We redo the definitions with some added layer (silly because will never
+% happen in pratice that a letter is Babel-active) related to
+% \cs{mst@do@activecase} in \ctanpkg{babel} context.
+% \begin{macrocode}
+\ifmst@everymath
+\else
+ \def\mst@mathdeactivate@lowercase{%
+ \@tfor\mst@tmp:=abcdefghijklmnopqrstuvwxyz\do{%
+ \expandafter\mathcode\expandafter`\mst@tmp=
+ \csname MTmathcharletter\mst@tmp\endcsname
+ }%
+ }%
+ \def\mst@mathdeactivate@uppercase{%
+ \@tfor\mst@tmp:=ABCDEFGHIJKLMNOPQRSTUVWXYZ\do{%
+ \expandafter\mathcode\expandafter`\mst@tmp=
+ \csname MTmathcharletter\mst@tmp\endcsname
+ }%
+ }%
+\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\MTmathactiveletters}
+% \begin{macro}{\MTmathstandardletters}
+%
+% Important changes at \mstrelease{1.4}.
+%
+% Ascii letters are math-activated at package loading time, rather than again and
+% again each time math mode is entered. But not under |subdued| mode, then
+% the activation is done as part of switching to some math version.
+%
+% The ordering in this code source is a bit of a mess, and it may be too early
+% here to execute \cs{MTmathactiveletters} (I think it is fine now after some
+% major moving around of code chunks but will not waste time checking
+% it) so this will be postponed to end of package loading. Prior to
+% \mstrelease{1.4} \cs{MTmathactiveletters} could be executed here as it only
+% set some toggle to be obeyed at every math mode entrance.
+% \begin{macrocode}
+\def\mst@mathactivateletters{%
+ \mst@mathactivate@lowercase
+ \mst@mathactivate@uppercase
+}%
+\newcommand*\MTmathactiveletters{%
+ \mst@OnlyIfNotSubdued
+ \mst@mathactivateletters
+}%
+\AtEndOfPackage{\MTmathactiveletters}%
+% \end{macrocode}
+% Duplication due to some legacy reasons, do not rely on these internal
+% macro names, beware they change at future release.
+% \begin{macrocode}
+\def\mst@mathactivateLetters{\mst@activate@uppercase}%
+\newcommand*\MTmathactiveLetters{%
+ \mst@OnlyIfNotSubdued
+ \mst@mathactivateLetters
+}%
+\newcommand*\MTmathstandardletters{%
+ \mst@mathdeactivate@lowercase
+ \mst@mathdeactivate@uppercase
+}%
+\fi
+% \end{macrocode}
+% \end{macro}\end{macro}
+% \begin{macro}{\MTicinmath}
+% \begin{macro}{\MTICinmath}
+% \begin{macro}{\MTnoicinmath}
+% \begin{macro}{\MTicalsoinmathxx}
+% \cs{MTnoicinmath} can also be used from inside math mode.
+%
+% \cs{MTicalsoinmathxx} is destined to be used inside
+% \cs{mathnormalbold} as I didn't want to add the complication of
+% extracting the family number used inside \cs{mathnormalbold} (will
+% perhaps come back if I have time to spend on
+% |source2e|). Added note |2016/01/06|: this number is a priori simply
+% |symmtletterfont+1|.
+%
+% \cs{MTicinmath} can also be used inside math mode, to revert an
+% earlier \cs{MTnoicinmath} from inside the same math group.
+%
+% \mstrelease{1.3i} |2016/01/06|: For some reason which I have now forgotten I did
+% until then:
+% \begin{verbatim}
+% \def\mst@itcorr{\ifnum\fam=\m@ne\/\else\ifnum\fam=\symmtletterfont\/\fi\fi}%
+% \end{verbatim}
+% hence italic corrections were also applied inside \cs{mathnormal} (for
+% upright fonts; \cs{mathnormalbold} math alphabet was not treated like
+% \cs{mathnormal}). I now drop this to be more in sync with the handling
+% of the extra skips around letters. Everything gets suppressed inside
+% all math alphabets, allowing ligatures, even for \cs{mathnormal}.
+%
+% \begin{macrocode}
+\newcommand*\MTicinmath{%
+ \MTmathactiveletters
+ \def\mst@itcorr{\ifnum\fam=\m@ne\/\fi}%
+ \let\mst@ITcorr\mst@itcorr
+}
+\newcommand*\MTICinmath{%
+ \MTmathactiveLetters
+ \def\mst@ITcorr{\ifnum\fam=\m@ne\/\fi}%
+}
+\newcommand*\MTnoicinmath{\let\mst@itcorr\@empty\let\mst@ITcorr\@empty}
+\newcommand*\MTnoICinmath{\let\mst@ITcorr\@empty}
+\newcommand*\MTicalsoinmathxx{%
+ \ifx\mst@itcorr\@empty\else\def\mst@itcorr{\/}\fi
+ \ifx\mst@ITcorr\@empty\else\def\mst@ITcorr{\/}\fi
+}
+% \end{macrocode}
+% \end{macro}\end{macro}\end{macro}\end{macro}
+% \begin{macro}{\MTsetmathskips}
+% \begin{macro}{\MTunsetmathskips}
+% \mstrelease{1.3} |2013/09/02|: user level command to specify extra spaces in math mode
+% around the letters (only the 7bit a,b,..,z and A,B,..,Z). First parameter is
+% the letter, second is the math skip to be inserted before, and third the
+% skip to be inserted after; for example \cs{thickmuskip} or explicitly
+% |0.1mu|.
+%
+% For this, letters are made mathematically active. This is now the package
+% default (version \mstrelease{1.2} did this only in the absence of option |italic|, or
+% more precisely when the font used was not of shape |it| or |sl|). But if
+% \cs{MTsetmathskips} has not been used for that letter, the only effect of
+% the math activation is, as in \mstrelease{1.2}, to add the italic correction
+% automatically, except when the font shape is detected to be |it| or |sl|; in
+% these latter cases, although mathematically active, the letter acts in the
+% standard way.
+%
+% The command \cs{MTmathstandardletters} turns off math activation and its
+% effects for all letters.
+%
+% Ligatures within the argument of a math alphabet command are impeached by
+% skips; so \cs{MTunsetmathskips} is provided to cancel the skips for one
+% specific letter (|f| for example).
+%
+% \mstrelease{1.3a} |2013/09/04|: I strangely had |\string#1| inside \cs{MTsetmathskips}.
+% Phobic of catcode active letters... but with |\string| one needs some
+% |\expandafter| to use \cs{MTsetmathskips} in an |\@for| loop for example. It
+% is better to allow the first argument to be a macro or anything expanding to
+% a letter, and to not be paranoid about improbable catcode active letters
+% (the user just has to tame them at the time of the \cs{MTsetmathskip}) so I
+% take out these |\string|'s.
+%
+% \mstrelease{1.3i} |2016/01/06|: the extra skips are suppressed for the arguments of
+% math alphabet commands. This applies in particular for amsmath's
+% \cs{DeclareMathOperator}.
+%
+% \begin{macrocode}
+\newcommand*\MTsetmathskips[3]{%
+ \@namedef{mst@before@#1}{\ifnum\fam=\m@ne\mskip#2\relax\fi}%
+ \@namedef{mst@after@#1}{\ifnum\fam=\m@ne\mskip#3\relax\fi}%
+}
+\newcommand*\MTunsetmathskips[1]{%
+ \@namedef{mst@before@#1}{}%
+ \@namedef{mst@after@#1}{}%
+}
+% \end{macrocode}
+% \end{macro}\end{macro}
+% \begin{macro}{\mst@DeclareMathDigit}
+% \begin{macro}{\MTmathactivedigits}
+% \begin{macro}{\MTmathstandarddigits}
+% In version \mstrelease{1.1}, we have now separated digits from letters, so paradoxically
+% it is less problematic to give them the |mathalpha| type.
+%
+% \mstrelease{1.4} had defined some no-op \cs{MTmathstandarddigits} and
+% \cs{MTmathactivedigits} but if not under option |nodigits|. As they are
+% used in \cs{MTeverymathoff} and \cs{MTeverymathdefault} though this broke
+% the option |nodigits| (either with |subdued| or when using \cs{MTversion}).
+%
+% Defining them as \cs{empty} so that \LaTeX{} defensive mechanism with
+% \cs{newcommand} works but this is sooooooo hypothetical context!
+% \begin{macrocode}
+\let\MTmathactivedigits\empty
+\let\MTmathstandarddigits\empty
\ifmst@nodigits\else
-\def\mst@font@tbu{mtoperatorfont}%
+ \def\mst@font@tbu{mtoperatorfont}%
+ \ifmst@symboldigits \def\mst@font@tbu{mtpsymbol}\fi
+ \ifmst@eulerdigits \def\mst@font@tbu{mteulervm}\fi
+ \DeclareMathSymbol{0}{\mathalpha}{\mst@font@tbu}{`0}%
+ \DeclareMathSymbol{1}{\mathalpha}{\mst@font@tbu}{`1}%
+ \DeclareMathSymbol{2}{\mathalpha}{\mst@font@tbu}{`2}%
+ \DeclareMathSymbol{3}{\mathalpha}{\mst@font@tbu}{`3}%
+ \DeclareMathSymbol{4}{\mathalpha}{\mst@font@tbu}{`4}%
+ \DeclareMathSymbol{5}{\mathalpha}{\mst@font@tbu}{`5}%
+ \DeclareMathSymbol{6}{\mathalpha}{\mst@font@tbu}{`6}%
+ \DeclareMathSymbol{7}{\mathalpha}{\mst@font@tbu}{`7}%
+ \DeclareMathSymbol{8}{\mathalpha}{\mst@font@tbu}{`8}%
+ \DeclareMathSymbol{9}{\mathalpha}{\mst@font@tbu}{`9}%
% \end{macrocode}
-% In version |1.1|, we have now separated digits from letters, so paradoxically
-% it is less problematic to give them the |mathalpha| type.
-% \begin{macrocode}
-\ifmst@symboldigits \def\mst@font@tbu{mtpsymbol} \fi
-\ifmst@eulerdigits \def\mst@font@tbu{mteulervm} \fi
-\DeclareMathSymbol{0}{\mathalpha}{\mst@font@tbu}{`0}%
-\DeclareMathSymbol{1}{\mathalpha}{\mst@font@tbu}{`1}%
-\DeclareMathSymbol{2}{\mathalpha}{\mst@font@tbu}{`2}%
-\DeclareMathSymbol{3}{\mathalpha}{\mst@font@tbu}{`3}%
-\DeclareMathSymbol{4}{\mathalpha}{\mst@font@tbu}{`4}%
-\DeclareMathSymbol{5}{\mathalpha}{\mst@font@tbu}{`5}%
-\DeclareMathSymbol{6}{\mathalpha}{\mst@font@tbu}{`6}%
-\DeclareMathSymbol{7}{\mathalpha}{\mst@font@tbu}{`7}%
-\DeclareMathSymbol{8}{\mathalpha}{\mst@font@tbu}{`8}%
-\DeclareMathSymbol{9}{\mathalpha}{\mst@font@tbu}{`9}%
+% \mstrelease{1.4} adds possibility of mathematically active digits.
+% \begin{macrocode}
+ \ifmst@activedigits
+ \def\mst@DeclareMathDigit #1#2#3{%
+ \DeclareMathSymbol{#3}{\mathalpha}{\mst@font@tbu}{`#1}%
+ \def#2{#3}%
+ }%
+ \@tfor\mst@tmp:=0123456789\do{%
+ \expandafter\expandafter\expandafter\mst@DeclareMathDigit
+ \expandafter\mst@tmp
+ \csname MTcommanddigit\romannumeral\mst@tmp\expandafter\endcsname
+ \csname MTmathchardigit\romannumeral\mst@tmp\endcsname
+ }%
+ \def\mst@mathactivatedigits{%
+ \@tfor\mst@tmp:=0123456789\do{%
+ \expandafter\expandafter\expandafter\mst@mathactivate
+ \expandafter\mst@tmp\csname MTcommanddigit\romannumeral\mst@tmp\endcsname{}%
+ }%
+ }%
+ \def\MTmathactivedigits{\mst@OnlyIfNotSubdued\mst@mathactivatedigits}%
+ \MTmathactivedigits
+ \ifmst@everymath
+ \def\MTmathstandarddigits{%
+ \@tfor\mst@tmp:=0123456789\do{%
+ \expandafter\mathcode\expandafter`\mst@tmp
+ =\csname MTmathchardigit\romannumeral\mst@tmp\endcsname
+ }%
+ }%
+ \else
+% \end{macrocode}
+% We inject some extra layer (silly because will never happen in pratice
+% that a digit token is Babel-active) related to \cs{mst@do@activecase} in
+% \ctanpkg{babel} context.
+% \begin{macrocode}
+ \def\MTmathstandarddigits{%
+ \@tfor\mst@tmp:=0123456789\do{%
+ \expandafter\mathcode\expandafter`\mst@tmp
+ =\csname MTmathchardigit\romannumeral\mst@tmp\endcsname
+ }%
+ }%
+ \fi
+ \fi
\fi
% \end{macrocode}
+% \end{macro}\end{macro}\end{macro}
% When |symboldelimiters| is passed as an option, we use the
% Symbol font for the printable characters other than
% letters and digits.
@@ -7709,7 +8232,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\def\mst@font@tbu{mtoperatorfont}%
\fi
% \end{macrocode}
-% |1.2| adds the tricks to let non letters/digits obey math alphabets. We have
+% \mstrelease{1.2} adds the tricks to let non letters/digits obey math alphabets. We have
% to double the definitions for easy switch on-off of the mechanism, via a token
% list which is put into \cs{everymath} and \cs{everydisplay}.
% \begin{macrocode}
@@ -7727,7 +8250,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\mst@@doasterisk}
% \begin{macro}{\MTnormalasterisk}
% \begin{macro}{\MTactiveasterisk}
-% |1.12d| The \cs{ast} or |*| is defined in |fontmath.ltx| as a binary
+% \mstrelease{1.12d} The \cs{ast} or |*| is defined in |fontmath.ltx| as a binary
% operator from the |symbols| font. Usually the asterisk from the text
% font is in a raised position. Previous versions of \mst did nothing
% with \cs{ast} but strangely defined |*| to be the one from the text
@@ -7740,61 +8263,100 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% The user macro \cs{MTlowerast} sets the amount
% of lowering to be applied to the text asterisk.
%
-% |1.12e| Somehow there was a big omission in |1.12d|, the
+% \mstrelease{1.12e} Somehow there was a big omission in \mstrelease{1.12d}, the
% command \cs{MTlowerast} as described in the manual was missing!
%
-% nota bene: it is assumed that |*| is of type |other| when \mst
-% is loaded... it should neither be active, nor of type |letter|!
+% \mstrelease{1.3i} adds \cs{MTnormalasterisk} and \cs{MTactiveasterisk}.
+% They do nothing if package is loaded without option |asterisk|.
+%
+% \mstrelease{1.4} uses \cs{protected} rather than robust commands.
+% And implements the support for the new default of not using \cs{everymath}.
%
-% |1.3i| adds \cs{MTnormalasterisk} and \cs{MTactiveasterisk}. They do nothing
-% without option |asterisk|.
+% The first two \cs{newcommand*} are because the commands were previously
+% defined unconditionally anyhow, in a way making them no-op's without
+% option |asterisk|. Finally using \cs{let} here with \cs{empty} with
+% the idea of less impact on \TeX{} internals, but losing \LaTeX{} check.
% \begin{macrocode}
-\def\mst@@doasterisk{\let\ast\mst@ast\mst@mathactivate*{}\mst@ast}%
-\newcommand*\MTnormalasterisk {\let\mst@doasterisk\relax}
-\newcommand*\MTactiveasterisk {\let\mst@doasterisk\mst@@doasterisk}
+\let\MTnormalasterisk\empty
+\let\MTactiveasterisk\empty
\ifmst@asterisk\mst@infoline{asterisk: \string\ast\space and *}
- \AtBeginDocument{%
- \everymath\expandafter
- {\the\everymath \mst@doasterisk \MTnormalasterisk }%
- \everydisplay\expandafter
- {\the\everydisplay\mst@doasterisk \MTnormalasterisk }}
\ifmst@symbolmisc
- \def\mst@bin@ast{%
- \mathbin{\mathchoice{\raisebox{-.1\height}%
- {\the\textfont\symmtpsymbol\char42}}%
- {\raisebox{-.1\height}%
- {\the\textfont\symmtpsymbol\char42}}%
- {\raisebox{-.1\height}%
- {\the\scriptfont\symmtpsymbol\char42}}%
- {\raisebox{-.1\height}%
- {\the\scriptscriptfont\symmtpsymbol\char42}}}}%
+ \protected\def\mst@bin@ast{\mathbin{\mathchoice
+ {\raisebox{-.1\height}{\the\textfont\symmtpsymbol\char42}}%
+ {\raisebox{-.1\height}{\the\textfont\symmtpsymbol\char42}}%
+ {\raisebox{-.1\height}{\the\scriptfont\symmtpsymbol\char42}}%
+ {\raisebox{-.1\height}{\the\scriptscriptfont\symmtpsymbol\char42}}}%
+ }%
\else
- \def\mst@bin@ast{%
- \mathbin{\mathchoice{\raisebox{-\mst@lowerast}%
- {\the\textfont\symmtoperatorfont\char42}}%
- {\raisebox{-\mst@lowerast}%
- {\the\textfont\symmtoperatorfont\char42}}%
- {\raisebox{-\mst@lowerast}%
- {\the\scriptfont\symmtoperatorfont\char42}}%
- {\raisebox{-\mst@lowerast}%
- {\the\scriptscriptfont\symmtoperatorfont\char42}}}}%
+ \protected\def\mst@bin@ast{\mathbin{\mathchoice
+ {\raisebox{-\mst@lowerast}{\the\textfont\symmtoperatorfont\char42}}%
+ {\raisebox{-\mst@lowerast}{\the\textfont\symmtoperatorfont\char42}}%
+ {\raisebox{-\mst@lowerast}{\the\scriptfont\symmtoperatorfont\char42}}%
+ {\raisebox{-\mst@lowerast}{\the\scriptscriptfont\symmtoperatorfont\char42}}}%
+ }%
\fi
- \def\mst@varfam@ast{\ifnum\fam=\m@ne\mst@bin@ast\else
- \mathbin{\mathchoice{\raisebox{-\mst@lowerast}%
- {\the\textfont\fam\char42}}%
- {\raisebox{-\mst@lowerast}%
- {\the\textfont\fam\char42}}%
- {\raisebox{-\mst@lowerast}%
- {\the\scriptfont\fam\char42}}%
- {\raisebox{-\mst@lowerast}%
- {\the\scriptscriptfont\fam\char42}}}\fi}%
- \MTactiveasterisk
- \DeclareRobustCommand*{\mst@ast}{\mst@bin@ast}
+ \protected\def\mst@varfam@ast{\ifnum\fam=\m@ne
+ \mst@bin@ast
+ \else
+ \mathbin{\mathchoice
+ {\raisebox{-\mst@lowerast}{\the\textfont\fam\char42}}%
+ {\raisebox{-\mst@lowerast}{\the\textfont\fam\char42}}%
+ {\raisebox{-\mst@lowerast}{\the\scriptfont\fam\char42}}%
+ {\raisebox{-\mst@lowerast}{\the\scriptscriptfont\fam\char42}}}%
+ \fi}%
+ \let\mst@ast\mst@bin@ast
\newcommand*\MTlowerast[1]{\def\mst@lowerast{#1}}
\MTlowerast{.3\height}
- \mst@do@easynonletters\expandafter\expandafter\expandafter
- {\expandafter\the\expandafter\mst@do@easynonletters
- \expandafter\def\csname mst@ast \endcsname{\mst@varfam@ast}}
+% \end{macrocode}
+% Arguably \mst should have used the ``hard'' non-letters affiliation here.
+% Probably too late to change this in 2024... and costly in documentation
+% time.
+% \begin{macrocode}
+ \mst@do@easynonletters\expandafter{%
+ \the\mst@do@easynonletters\let\mst@ast\mst@varfam@ast
+ }%
+ \ifmst@everymath
+ \def\mst@@doasterisk {\let\ast\mst@ast\mst@mathactivate*{}\mst@ast}%
+ \def\MTnormalasterisk {\let\mst@doasterisk\relax}
+ \def\MTactiveasterisk {\let\mst@doasterisk\mst@@doasterisk}
+ \MTactiveasterisk
+ \AtBeginDocument{%
+ \everymath\expandafter
+ {\the\everymath \mst@doasterisk \MTnormalasterisk }%
+ \everydisplay\expandafter
+ {\the\everydisplay\mst@doasterisk \MTnormalasterisk }%
+ }%
+ \else
+ \def\MTnormalasterisk{\AtBeginDocument{\MTnormalasterisk}}
+ \def\MTactiveasterisk{\AtBeginDocument{\MTactiveasterisk}}
+% \end{macrocode}
+% For legacy reasons the responsiveness to math alphabets is made part of the
+% handling of ``easy'' non letters (probably because it is on per default),
+% and this causes me problems of internal logic and even more annoyingly of
+% documentation. I am leaving this standing because it would be too much of a
+% pain at this stage to document a change and it was already quite annoying to
+% better document actual situation.
+% \begin{macrocode}
+ \mst@undo@easynonletters\expandafter{%
+ \the\mst@do@easynonletters\let\mst@ast\mst@bin@ast
+ }%
+% \end{macrocode}
+% For legacy reasons the action of \cs{MTactiveasterisk} is not testing if
+% in |subdued| mode.
+%
+% MEMO: if |subdued| there is \cs{MTeverymathoff} added to |\begin{document}|
+% near end of package and it will do \cs{MTnormalasterisk}.
+% \begin{macrocode}
+ \AtBeginDocument{%
+ \let\mst@orig@abd@ast\ast
+ \edef\MTnormalasterisk{\noexpand\mst@mathdeactivate*{\the\mathcode`\*}%
+ \let\noexpand\ast\noexpand\mst@orig@abd@ast}%
+ \def\MTactiveasterisk{\def\ast{\mst@ast}%
+ \mst@mathactivate*{}\mst@ast
+ }%
+ \MTactiveasterisk
+ }
+ \fi
\fi
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}
@@ -7807,17 +8369,19 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% [(Dec. 2012) should I reexamine these definitive sounding remarks?]
%
-% |1.3x| of |2022/11/03| adds support for |ncccomma| option.
+% \begin{macro}{ncccomma}
+% \begin{macro}{decimalcomma}
+% \mstrelease{1.3y} of |2022/11/03| adds support for |ncccomma| option.
%
% Some non-obvious hack is needed for compatibility with our home-made
% mechanism of non-letters obeying math alphabet commands. Alternative would
-% have been to not load at all \ctanpkg{ncccomma} (or since |1.3zb|
+% have been to not load at all \ctanpkg{ncccomma} (or since \mstrelease{1.3zb}
% \ctanpkg{decimalcomma}) and provide the functionality purely by our own
% means; because here in order to support \cs{MTnonlettersobeymathxx} we are
% almost contrived to override quasi entirely the contents of these tiny
% packages.
%
-% |1.3zb| adds support for the |decimalcomma| option. This was mandatory to
+% \mstrelease{1.3zb} adds support for the |decimalcomma| option. This was mandatory to
% keep a compatibility layer with \ctanpkg{frenchmath} after its |2.7| release
% of |2023/12/23|.
%
@@ -7838,7 +8402,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\RequirePackage{decimalcomma}[2023/12/28]% 1.3 or later
% \end{macrocode}
% Attention
-% that the breaking behavior of \cs{AtBeginDocument} at October 2020
+% that the \textbf{BREAKING CHANGE} to \cs{AtBeginDocument} at October 2020
% \LaTeX{} release means that, \emph{taking into account that \emph{\mst} already has
% employed some \emph{\cs{AtBeginDocument}} prior to loading} \ctanpkg{decimalcomma}, any
% code here will be executed \textbf{BEFORE} the \cs{AtBeginDocument} material
@@ -7855,7 +8419,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% latter for which \ctanpkg{babel-french} has a dectection mechanism, which as
% a result avoids the bad interactions with \ctanpkg{numprint} plus its
% |autolanguage| option, which are mentioned below in the \ctanpkg{ncccomma}
-% branch. So we don't need here the workaround done below is in the
+% branch. So we don't need here the workaround done below in the
% |ncccomma| branch. Notice though that in both cases, the `intelligent'
% comma feature will be applied to the whole document, even inside those
% portions where the user has switched to another language such as English.
@@ -7884,19 +8448,26 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\mathcomma\mst@varfam@comma
\let\sm@rtcomma\mst@sm@rtcomma
}
- \else % end of decimalcomma branch
- \ifmst@ncccomma
- \mst@infoline{loading package ncccomma for `smart comma\string'}
- \RequirePackage{ncccomma}%
+ \ifmst@everymath
+ \else
+ \edef\mst@tmp{\mathchardef\mathcomma=\the\mathcode`\,\relax}%
+ \mst@undo@nonletters\expandafter\expandafter\expandafter
+ {\expandafter\mst@tmp\the\mst@undo@nonletters}%
+ \fi
+ \else
% \end{macrocode}
% Work around some bad interaction of \ctanpkg{ncccomma}, \ctanpkg{numprint}
% with |autolanguage| and \ctanpkg{babel-french}. See
% \centeredline{\url{https://github.com/latex3/babel/issues/190}} for
-% background. Some hesitation whether I should use the \cs{noextrasfrench}
-% to work around \ctanpkg{babel-french} code influencing non-French sections
-% in the document. Update: I think the last sentence means I was hesitating
-% at time of |1.3x| whether to insert some extra code inside the \cs{noextrasfrench}.
+% background. Some hesitation whether I should use the \cs{noextrasfrench} to
+% work around \ctanpkg{babel-french} code influencing non-French sections in
+% the document. Update: I think the last sentence means I was hesitating at
+% time of \mstrelease{1.3y} whether to insert some extra code inside the
+% \cs{noextrasfrench}.
% \begin{macrocode}
+ \ifmst@ncccomma
+ \mst@infoline{loading package ncccomma for `smart comma\string'}
+ \RequirePackage{ncccomma}%
\AtBeginDocument{%
\mathcode`\,="8000\relax
\@ifpackageloaded{babel}{%
@@ -7918,34 +8489,77 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\mathcomma\mst@varfam@comma
\let\NCC@comma\mst@NCC@comma
}
- \else % neither ncccomma nor decimalcomma
+ \ifmst@everymath
+ \else
+% \end{macrocode}
+% Attention that \ctanpkg{ncccomma} (contrarily to \ctanpkg{icomma} loaded by
+% \ctanpkg{decimalcomma} has made the comma math active already when we loaded it.
+% So we don't use |\the\mathcode`\,\relax| here.
+% \begin{macrocode}
+ \edef\mst@tmp{\mathchardef\mathcomma=\the\mathcomma\relax}%
+ \mst@undo@nonletters\expandafter\expandafter\expandafter
+ {\expandafter\mst@tmp\the\mst@undo@nonletters}%
+ \fi
+ \else
+% \end{macrocode}
+% Neither option |ncccomma| nor |decimalcomma|. The \mstrelease{1.4} non-use
+% of \cs{everymath} and consequences is accounted for automatically by
+% \cs{mst@addtodo@nonletters}.
+% \begin{macrocode}
\expandafter\mst@addtodo@nonletters\string,\mathpunct\mst@varfam@comma
\fi\fi
+% \end{macrocode}
+% math dot.
+% \begin{macrocode}
\DeclareMathSymbol{.}{\mathord}{\mst@font@tbu}{"2E}
\DeclareMathSymbol{\mst@varfam@dot}{\mathalpha}{\mst@font@tbu}{"2E}
\mst@addtodo@easynonletters\.\mst@varfam@dot
- \DeclareMathSymbol{:}{\mathrel}{\mst@font@tbu}{"3A} % relation spacing
+% \end{macrocode}
+% math colon.
+% \begin{macrocode}
+ \DeclareMathSymbol{:}{\mathrel}{\mst@font@tbu}{"3A}
\DeclareMathSymbol{\mst@varfam@colon}{\mathalpha}{\mst@font@tbu}{"3A}
\expandafter\mst@addtodo@nonletters\string:\mathrel\mst@varfam@colon
\@ifpackageloaded{amsmath}
- {} % \colon defined in amsmath.sty in terms of : with some enlarged explicit
- % spacing. No need to intervene.
- {% no amsmath, use standard punctuation spacing
+% \end{macrocode}
+% \cs{colon} gets defined in \ctanpkg{amsmath} in terms of |:| with some enlarged explicit
+% spacing. No need to intervene.
+% \begin{macrocode}
+ {}
+% \end{macrocode}
+% No \ctanpkg{amsmath}, use standard punctuation spacing.
+%
+% The reason for |\et\colon\undefined| is if some package has redefined
+% \cs{colon} which then can not be used in \cs{DeclareMathSymbol} anymore (we
+% shamelessly overwrite...)
+% \begin{macrocode}
+ {%
\let\colon\undefined
- % the reason is if some package has redefined \colon which then
- % can not be used in \cs{DeclareMathSymbol} anymore (we
- % shamelessly overwrite...)
\DeclareMathSymbol{\colon}{\mathpunct}{\mst@font@tbu}{"3A}
- \mst@do@nonletters\expandafter{\the\mst@do@nonletters
+ \let\mst@colon\colon
+% \end{macrocode}
+% \mstrelease{1.3v} uses \cs{protected} for the (optional) \cs{colon} redefinition.
+% \begin{macrocode}
+ \mst@do@nonletters\expandafter{%
+ \the\mst@do@nonletters
+ \protected\def\colon{\mathpunct{\mst@varfam@colon}}%
+ }%
% \end{macrocode}
-% |1.3v| uses \cs{protected} for the (optional) \cs{colon} redefinition.
+% \mstrelease{1.4} needs extras.
% \begin{macrocode}
- \protected\def\colon{\mathpunct{\mst@varfam@colon}}}%
+ \ifmst@everymath
+ \else
+ \mst@undo@nonletters\expandafter{%
+ \the\mst@undo@nonletters
+ \let\colon\mst@colon
+ }%
+ \fi
}
- \DeclareMathSymbol{\mst@varfam@pointvirgule}{\mathalpha}{\mst@font@tbu}{"3B}
% \end{macrocode}
-% |1.3x| adds |binarysemicolon| option.
+% Semi-colon.
+% \mstrelease{1.3y} adds |binarysemicolon| option.
% \begin{macrocode}
+ \DeclareMathSymbol{\mst@varfam@pointvirgule}{\mathalpha}{\mst@font@tbu}{"3B}
\ifmst@binarysemicolon
\mst@infoline{semi-colon set to be of type \string\mathbin}
\DeclareMathSymbol{;}{\mathbin}{\mst@font@tbu}{"3B}
@@ -7953,21 +8567,22 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\else
\DeclareMathSymbol{;}{\mathpunct}{\mst@font@tbu}{"3B}
\expandafter\mst@addtodo@nonletters\string;\mathpunct\mst@varfam@pointvirgule
- \fi % binarysemicolno
-\fi % end \ifmst@nopunct else branch
+ \fi
+\fi
% \end{macrocode}
+% \end{macro}\end{macro}
% \begin{macro}{\relbar}
% Due to the way = and - are used by \LaTeX{} in arrows, we will
% have to redefine \cs{Relbar} and \cs{relbar} in order for
% them to preserve their original meanings.
%
-% |1.15d|: Oct 13, 2012. Belated amendment of the code to be compatible
+% \mstrelease{1.15d}: Oct 13, 2012. Belated amendment of the code to be compatible
% with Unicode engines in case someone changed the mathcode of -.
% However, for the time being I can do it in an easy way only for
% \XeTeX, not for \LuaLaTeX. Also I do my modifications to \cs{relbar}
% in a manner testing for the presence of amsmath.
%
-% |1.3v 2019/09/19|: \LaTeX{} of |2019-10-01| defines \cs{leftarrowfill}
+% \mstrelease{1.3v} |2019/09/19|: \LaTeX{} of |2019-10-01| defines \cs{leftarrowfill}
% and \cs{rightarrowfill} as robust macros, so we do the same.
%
% I need to put amsmath under surveillance to check if it decides to
@@ -7981,49 +8596,48 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\else
\ifmst@XeOrLua
\mst@Umathcharnumdef\mst@minus@sign=\mst@Umathcodenum`\-\relax
-%^^A I used this prior to the new \luatexUmathcodenum, as available since TL2013:
-%^^A \mathchardef\mst@minus@sign=8704\relax % "2200
+% \end{macrocode}
+% I used this prior to the new \cs{luatexUmathcodenum}, as available since TL2013:
+% \centeredline{|\mathchardef\mst@minus@sign=8704\relax % "2200|}
+%^^A L'alignement est bizarre dans l'output.
+% \begin{macrocode}
\else
\mathchardef\mst@minus@sign=\mathcode`\-\relax
\fi
\@ifpackageloaded{amsmath}
{\def\relbar{\mathrel{\mathpalette\mathsm@sh\mst@minus@sign}}}
{\DeclareRobustCommand\relbar{\mathrel{\smash\mst@minus@sign}}}
- \ifmst@robust@obsessed@LaTeX@era\expandafter\DeclareRobustCommand
- \else\expandafter\def\fi
- \rightarrowfill{$\m@th\mathord{\relbar}\mkern-7mu%
+ \DeclareRobustCommand\rightarrowfill{$\m@th\mathord{\relbar}\mkern-7mu%
\cleaders\hbox{$\mkern-2mu\relbar\mkern-2mu$}\hfill
\mkern-7mu\mathord\rightarrow$}
- \ifmst@robust@obsessed@LaTeX@era\expandafter\DeclareRobustCommand
- \else\expandafter\def\fi
- \leftarrowfill{$\m@th\mathord\leftarrow\mkern-7mu%
+ \DeclareRobustCommand\leftarrowfill{$\m@th\mathord\leftarrow\mkern-7mu%
\cleaders\hbox{$\mkern-2mu\relbar\mkern-2mu$}\hfill
\mkern-7mu\mathord{\relbar}$}
\fi
% \end{macrocode}
% \end{macro}
% \begin{macro}{endash}
-% |1.1| |2011/01/29|: Producing this next piece of code was not a piece
+% \mstrelease{1.1} |2011/01/29|: Producing this next piece of code was not a piece
% of cake for a novice like myself!\newline
-% |1.11| |2011/02/05|: Compatibility with Unicode (via use of fontspec
+% \mstrelease{1.11} |2011/02/05|: Compatibility with Unicode (via use of fontspec
% encodings EU1 and EU2)\newline
-% |1.12| |2011/02/07|: Improved dealing of Unicode possibility.\newline
-% |1.14b| |2011/04/02|: Corrected some very irresponsible bug in the
+% \mstrelease{1.12} |2011/02/07|: Improved dealing of Unicode possibility.\newline
+% \mstrelease{1.14b} |2011/04/02|: Corrected some very irresponsible bug in the
% Unicode part which caused a problem when 10 or more math families have
% been allocated.\newline
-% |1.15| |2012/09/24|: Added AtBeginDocument to circumvent some amsmath
+% \mstrelease{1.15} |2012/09/24|: Added AtBeginDocument to circumvent some amsmath
% problem with unicode engines.
%
-% |1.3l| |2016/01/29|: anticipating TL2016 fontspec's switch to |TU|.
+% \mstrelease{1.3l} |2016/01/29|: anticipating TL2016 fontspec's switch to |TU|.
%
-% |1.3t| |2018/08/22|: fix to very ancient (|2012/12/20|) bug with
+% \mstrelease{1.3t} |2018/08/22|: fix to very ancient (|2012/12/20|) bug with
% |\DeclareMathSymbol| lacking last argument if encoding not T1, OT1 or
% LY1 when setting up math mode to use the en-dash character as minus
% sign (PDF\TeX\ engine).
%
% \begin{macro}{\mst@subduedminus}
% \begin{macro}{\mst@nonsubduedminus}
-% |1.3t| Further, new macros |\mst@subduedminus| and |\mst@nonsubduedminus|,
+% \mstrelease{1.3t} Further, new macros |\mst@subduedminus| and |\mst@nonsubduedminus|,
% for the good functioning of the subdued option also in case of
% presence of fontspec. This is the only character for which subdued
% option works (now) by setting the mathcode on each math version
@@ -8034,7 +8648,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% change. This means also that |\MTversion| and not |\mathversion|
% must be used for good functioning.
%
-% |1.3u| improves the handling of the minus sign by letting it be compatible
+% \mstrelease{1.3u} improves the handling of the minus sign by letting it be compatible
% with math versions (and not only with the with subdued mechanism but all
% math versions) having varying font encodings, even possibly classic 8bit
% font encoding mixed with TU encoding for Unicode engines. For this it is
@@ -8047,9 +8661,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% This is counter-intuitive and breaks expectations.
% \end{quotation}
%
-% But the |1.3u| mechanism with \cs{mst@UmathchardefWorkAround@i} introduced a
+% But the \mstrelease{1.3u} mechanism with \cs{mst@UmathchardefWorkAround@i} introduced a
% bug which showed under option |noendash| (hence also |symboldelimiters|) with
-% Unicode engines. Fixed at |1.3w|.
+% Unicode engines. Fixed at \mstrelease{1.3w}.
% \begin{macrocode}
\let\mst@subduedminus\empty
\let\mst@nonsubduedminus\empty
@@ -8063,7 +8677,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
{\csname\mst@tmp@enc\string\textendash\endcsname}
\DeclareMathSymbol{#2}{\mathalpha}{mtoperatorfont}
{\csname\mst@tmp@enc\string\textendash\endcsname}
- \fi}% mst@dothe@endashstuff
+ \fi
+}%
\def\mst@dothe@emdashstuff#1#2#3{%
\edef\mst@tmp@enc{#3}%
\if1\mst@OneifUniEnc
@@ -8074,7 +8689,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
{\csname\mst@tmp@enc\string\textemdash\endcsname}
\DeclareMathSymbol{#2}{\mathalpha}{mtoperatorfont}
{\csname\mst@tmp@enc\string\textemdash\endcsname}
- \fi}% mst@dothe@emdashstuff
+ \fi
+}%
\def\mst@dothe@hyphenstuff#1#2{%
\DeclareMathSymbol{#1}{\mathbin}{\mst@font@tbu}{"2D}%
\DeclareMathSymbol{#2}{\mathalpha}{\mst@font@tbu}{"2D}%
@@ -8090,9 +8706,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\csname mst@minus@mv\math@version\endcsname
\relax
\else
- \mathcode`\-=\@nameuse{mst@minus@mv\math@version}% self-delimiting
+ \mathcode`\-=\@nameuse{mst@minus@mv\math@version}%
\fi
- }% \mst@nonsubduedminus
+ }%
% \end{macrocode}
% The above works only if the \cs{mst@minus@mv<name>} was really
% defined via \cs{Umathchardef}. If it was defined via \cs{DeclareMathSymbol}
@@ -8101,8 +8717,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macrocode}
\ifmst@endash\else\ifmst@emdash\else
\def\mst@nonsubduedminus{%
- \mathcode`\-=\@nameuse{mst@minus@mv\math@version}% self-delimiting
- }% non Umathchardef \mst@minus@mv<mathversion> macros
+ \mathcode`\-=\@nameuse{mst@minus@mv\math@version}%
+ }%
\fi\fi
\fi
\def\mst@UmathchardefWorkAround@i
@@ -8112,7 +8728,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macro}\end{macro}\end{macro}
% \begin{macro}{\mst@hbar@mvnormal}
% \begin{macro}{\mst@ltbar@mvnormal}
-% |2011/01/31|, |1.1| I decide to settle the question of the |\hbar|. The
+% |2011/01/31|, \mstrelease{1.1} I decide to settle the question of the |\hbar|. The
% \LaTeX{} definition is |\def\hbar{{\mathchar'26\mkern-9muh}}|
% and its advantage is that |h| is in the correct font. But of course not
% the macron character (|\=|, |\bar|). And anyway |amsfonts| uses a
@@ -8125,26 +8741,26 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% (as an aside, I am only now (April 2, 2011) aware that the package
% |mathtools| provides the |mathrlap| etc... )
%
-% |1.3l 2016/01/29|: anticipating TL2016 fontspec's switch to |TU|.
+% \mstrelease{1.3l} |2016/01/29|: anticipating TL2016 fontspec's switch to |TU|.
%
-% |1.3u 2019/08/20|: encoding (8bits) agnostic construct for hbar, using same
+% \mstrelease{1.3u} |2019/08/20|: encoding (8bits) agnostic construct for hbar, using same
% method as for |mathaccents| option. I should add some way to adjust the
% vertical positioning.
%
% On this occasion I replace |h| by |\mst@h| because the mechanism for
% before and after skips does not interact well with the rlap construct.
%
-% |1.3v 2019/09/19| adapts to maintain the robustness of \cs{hbar} which now
+% \mstrelease{1.3v} |2019/09/19| adapts to maintain the robustness of \cs{hbar} which now
% applies with \LaTeX{} |2019-10-01|.
%
-% |1.3w| works around \url{https://github.com/latex3/latex2e/issues/216} via
+% \mstrelease{1.3w} works around \url{https://github.com/latex3/latex2e/issues/216} via
% \cs{mst@DeclareMathAccent}. The upstream bug affected the definition of
% \cs{mst@ltbar@mvnormal} and broke usage of \cs{Mathastext} in preamble.
%
-% |1.3w| also fixes oversight that \cs{hbar} may have been redefined via
+% \mstrelease{1.3w} also fixes oversight that \cs{hbar} may have been redefined via
% \cs{DeclareMathSymbol} by some package (e.g. |amsfonts|) and with \LaTeX{}
% |2019-10-01| this means \cs{hbar<space>} is now undefined. Modifying it
-% changed nothing to \cs{hbar} behaviour in such circumstances. Finally we
+% changed nothing to \cs{hbar} behavior in such circumstances. Finally we
% opt for a \cs{protected} \cs{hbar} and choose to ignore completely if
% there is a \cs{hbar<space>} or not. To avoid extra steps we do not
% undefine it if it exists, because we would need to restore it in
@@ -8161,7 +8777,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\def\mst@mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}}
\def\mst@dothe@hbarstuff#1#2#3{%
\edef\mst@tmp@enc{#3}%
- \if1\mst@OneifUniEnc % Unicode engine and font
+ \if1\mst@OneifUniEnc
\mst@Umathchardef#1="7 \symmtletterfont "0127 \relax %% or 210F?
\else
\begingroup
@@ -8170,13 +8786,13 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\mst@DeclareMathAccent{#2}{\mathalpha}{mtletterfont}%
{\csname\mst@tmp@enc\string\=\endcsname{}}%
\endgroup
- \protected\def#1{\mst@mathrlap{#2{\ }}\mst@h}%
+ \protected\def#1{\mst@mathrlap{#2{\ }}\MTmathcharletterh}%
\fi
-}% end of \mst@dothe@hbarstuff
+}%
% \end{macrocode}
% \end{macro}
% \end{macro}
-% |1.15d|: Oct 13, 2012. The \cs{mathcode} thing with = is (belatedly,
+% \mstrelease{1.15d}: Oct 13, 2012. The \cs{mathcode} thing with = is (belatedly,
% sorry!) made Unicode compatible.
% \begin{macro}{+,=,\Relbar}
% \begin{macrocode}
@@ -8246,7 +8862,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% sequences can not be simultaneously math symbols and math delimiters,
% thus, this complicates things for the mathastextification.
% \begin{macrocode}
-\ifmst@noparen\else\mst@infoline{parentheses \string( \string) \string[ \string] and slash \string/}
+\ifmst@noparen\else
+\mst@infoline{parentheses \string( \string) \string[ \string] and slash \string/}
\ifmst@nosmalldelims
\DeclareMathSymbol{(}{\mathopen}{\mst@font@tbu}{"28}
\DeclareMathSymbol{)}{\mathclose}{\mst@font@tbu}{"29}
@@ -8287,17 +8904,22 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% other math symbol fonts they do respect the encoding of the CM symbols and
% largesymbols, so this is 90\% safe. But in truth I should extract from the
% meaning of \cs{backslash} the |delcode|.
+%
+% At \mstrelease{1.4} I am a bit perplexed at the \cs{mathalpha} here.
+% Adding a a \cs{mst@mathord@backslash} for matters of option |noeverymath|.
% \begin{macrocode}
\DeclareMathDelimiter{\mst@varfam@backslash}
{\mathalpha}{symbols}{"6E}{largesymbols}{"0F}
+ \let\mst@mathord@backslash\backslash
\else
\DeclareMathDelimiter{<}{\mathopen}{\mst@font@tbu}{"3C}{largesymbols}{"0A}
\DeclareMathDelimiter{>}{\mathclose}{\mst@font@tbu}{"3E}{largesymbols}{"0B}
% \end{macrocode}
% There is no backslash in the Symbol font hence |mtoperatorfont| here.
% \begin{macrocode}
- \DeclareMathDelimiter{\backslash}
+ \DeclareMathDelimiter{\mst@mathord@backslash}
{\mathord}{mtoperatorfont}{"5C}{largesymbols}{"0F}
+ \let\backslash\mst@mathord@backslash
\DeclareMathDelimiter{\mst@varfam@backslash}
{\mathalpha}{mtoperatorfont}{"5C}{largesymbols}{"0F}
\fi
@@ -8309,17 +8931,38 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\expandafter\mst@addtodo@nonletters\string>\mathrel\mst@varfam@more
\mst@do@easynonletters\expandafter{\the\mst@do@easynonletters
\let\backslash\mst@varfam@backslash}
+% \end{macrocode}
+% Extras for \mstrelease{1.4} are needed:
+% \begin{macrocode}
+\ifmst@everymath
+\else
+ \mst@undo@easynonletters\expandafter{\the\mst@undo@easynonletters
+ \let\backslash\mst@mathord@backslash}
+\fi
\DeclareMathSymbol{\setminus}{\mathbin}{mtoperatorfont}{"5C}
+\let\mst@setminus\setminus
\DeclareMathSymbol{\mst@varfam@setminus}{\mathalpha}{mtoperatorfont}{"5C}
% \end{macrocode}
-% |1.3v| adds a \cs{protected} here for \cs{setminus}.
+% \mstrelease{1.3v} adds a \cs{protected} here for \cs{setminus}.
% \begin{macrocode}
-\mst@do@nonletters\expandafter{\the\mst@do@nonletters
- \protected\def\setminus{\mathbin{\mst@varfam@setminus}}}
+\mst@do@nonletters\expandafter{%
+ \the\mst@do@nonletters
+ \protected\def\setminus{\mathbin{\mst@varfam@setminus}}%
+}
+% \end{macrocode}
+% Extras for \mstrelease{1.4} are needed:
+% \begin{macrocode}
+\ifmst@everymath
+\else
+ \mst@undo@nonletters\expandafter{%
+ \the\mst@undo@nonletters
+ \let\setminus\mst@setminus
+ }
+\fi
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}
% \begin{macro}{\models}
-% |1.15d|: 13 oct 2012. Before modifying \string| we must preserve \cs{models}.
+% \mstrelease{1.15d}: 13 oct 2012. Before modifying \string| we must preserve \cs{models}.
% \begin{macrocode}
\ifmst@XeOrLua
\mst@Umathcharnumdef\mst@vert@bar=\mst@Umathcodenum`\|\relax
@@ -8335,7 +8978,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% it used to be anyhow, so it is too late. Or not (2019)? maybe I
% \emph{should} do something here...
%
-% |1.3v 2019/09/19|: I discover this rather radical legacy
+% \mstrelease{1.3v} |2019/09/19|: I discover this rather radical legacy
% \verb+\def\vert{|}+, which is done here once in the preamble, but I leave
% it unmodified apart from prefixing it with \cs{protected}. I also add a
% \cs{protected} for the definition of \cs{mid} (which applies only under
@@ -8349,34 +8992,53 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\protected\def\vert{|}
\DeclareMathSymbol{\mst@varfam@vbar}{\mathalpha}{\mst@font@tbu}{124}
\mst@addtodo@easynonletters\|\mst@varfam@vbar
-\let\mid\undefined % 1.3: to avoid problems with some packages
+\let\mid\undefined
\DeclareMathSymbol{\mid}{\mathrel}{\mst@font@tbu}{124}
-\mst@do@nonletters\expandafter{\the\mst@do@nonletters
- \protected\def\mid{\mathrel\mst@varfam@vbar}}
+\let\mst@mid\mid
+\mst@do@nonletters\expandafter{%
+ \the\mst@do@nonletters
+ \protected\def\mid{\mathrel\mst@varfam@vbar}%
+}
+% \end{macrocode}
+% Extras for \mstrelease{1.4} are needed:
+% \begin{macrocode}
+\ifmst@everymath
+\else
+ \mst@undo@nonletters\expandafter{%
+ \the\mst@undo@nonletters
+ \let\mid\mst@mid
+ }
+\fi
% \end{macrocode}
% \begin{macro}{\MTexplicitbraces-}\begin{macro}{obeymathxx}
% \begin{macro}{\MTexplicitbraces-}\begin{macro}{donotobeymathxx}
-% Braces. With version |1.2|, |\{| and |\}| will not be acceptable as
+% Braces. With version \mstrelease{1.2}, |\{| and |\}| will not be acceptable as
% delimiters anymore if the redefinitions below in \cs{mst@dobraces} are
-% enacted. But they will obey math alphabets. Improvements in |1.2a|, to
+% enacted. But they will obey math alphabets. Improvements in \mstrelease{1.2a}, to
% preserve robustness.
%
-% For |1.3| I make |\lbrace| and |\rbrace| undefined first, else problems
+% For \mstrelease{1.3} I make |\lbrace| and |\rbrace| undefined first, else problems
% may arise with some packages.
%
-% |1.3e| suppresses under option
+% \mstrelease{1.3e} suppresses under option
% |nosmalldelims| the definitions of |\lbrace| and |\rbrace| as math
% symbols as this made |\left\lbrace| cause an error, it was a bug.
%
-% LaTeX2e defines |\{| and |\}| as robust commands for a long time
+% (obsolete) LaTeX2e defines |\{| and |\}| as robust commands since a long time
% (I don't know since when). The \mst redefinition is done only if user
% has executed \cs{MTexplicitbracesobeymathxx}, and it is done only when
% entering math mode, but there could be some |\hbox| inside math, hence
% it has to be careful to be valid in text too.
%
-% |1.3v| maintains strict \LaTeX2e robustness for |\{| and |\}|.
+% \mstrelease{1.3v} maintains strict \LaTeX2e robustness for |\{| and |\}|.
% This assumes no one fiddled with |\{| and |\}| proper (without space
% in the name).
+%
+% \LaTeX{} made |\{| and |\}| \cs{protected}, not robust, at its
+% |2020-02-02| release, so the code used by \mst under
+% \cs{MTexplicitbracesobeymathxx} toggle remained without effect since
+% as it configured a change to |\{<space>| and |\}<space>|. Fixed at
+% \mstrelease{1.4}.
% \begin{macrocode}
\ifmst@nosmalldelims
\else
@@ -8388,28 +9050,46 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\fi
\DeclareMathSymbol{\mst@varfam@lbrace}{\mathalpha}{\mst@font@tbu}{123}
\DeclareMathSymbol{\mst@varfam@rbrace}{\mathalpha}{\mst@font@tbu}{125}
-\DeclareRobustCommand*{\mst@lbrace}
- {\ifmmode\mathopen\mst@varfam@lbrace\else\textbraceleft\fi}
-\DeclareRobustCommand*{\mst@rbrace}
- {\ifmmode\mathclose\mst@varfam@rbrace\else\textbraceright\fi}
-\mst@do@nonletters\expandafter{\the\mst@do@nonletters
- \mst@dobraces{\expandafter\let\csname\string{ \expandafter\endcsname
- \csname mst@lbrace \endcsname
- \expandafter\let\csname\string} \expandafter\endcsname
- \csname mst@rbrace \endcsname}}
-\fi % end of \ifmst@alldelims
+% \end{macrocode}
+% \begin{macrocode}
+\protected\def\mst@lbrace{\ifmmode\mathopen\mst@varfam@lbrace\else\textbraceleft\fi}
+\protected\def\mst@rbrace{\ifmmode\mathclose\mst@varfam@rbrace\else\textbraceright\fi}
+\mst@do@nonletters\expandafter{%
+ \the\mst@do@nonletters
+ \mst@dobraces{\let\{\mst@lbrace\let\}\mst@rbrace}%
+}
+\fi
\newcommand*{\MTexplicitbracesobeymathxx}{\let\mst@dobraces\@firstofone}
\newcommand*{\MTexplicitbracesdonotobeymathxx}{\let\mst@dobraces\@gobble}
+% \end{macrocode}
+% Extras for \mstrelease{1.4} are needed:
+% \begin{macrocode}
+\ifmst@everymath
+\else
+ \renewcommand*\MTexplicitbracesobeymathxx{%
+ \let\mst@dobraces\@firstofone
+ \MTnonlettersobeymathxx
+ }%
+ \renewcommand*\MTexplicitbracesdonotobeymathxx{%
+ \let\mst@dobraces\@gobble
+ \protected\def\{{\ifmmode \lbrace \else \textbraceleft \fi}%
+ \protected\def\}{\ifmmode \rbrace \else \textbraceright \fi}%
+ }%
+ \mst@undo@nonletters\expandafter{\the\mst@undo@nonletters
+ \protected\def\{{\ifmmode \lbrace \else \textbraceleft \fi}%
+ \protected\def\}{\ifmmode \rbrace \else \textbraceright \fi}%
+ }%
+\fi
\MTexplicitbracesdonotobeymathxx
% \end{macrocode}
% \end{macro}\end{macro}\end{macro}\end{macro}
% \end{macro}\end{macro}
% \begin{macro}{specials}
-% \leavevmode\kern\parindent |1.14b| |2011/04/02|: the redefinitions of
+% \leavevmode\kern\parindent \mstrelease{1.14b} |2011/04/02|: the redefinitions of
% \#, \$, \% and \& were buggy (this showed up when 10 or more math
% families had been created).
%
-% |1.15f| |2012/10/23|: the code, although working, was perhaps a bit insane
+% \mstrelease{1.15f} |2012/10/23|: the code, although working, was perhaps a bit insane
% and
% had definitions which could surprise other packages. For example, it did:\\
% \null\hspace{1cm}|\renewcommand{\%}{\ifmmode\mt@mmode@percent\else\char37\relax\fi}|\\
@@ -8426,60 +9106,80 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% mathcode. So here it is \emph{not} a redefinition of the control sequences,
% purely an adjustment of mathcodes.
%
-% |1.2d| |2013/01/01|: previous versions imposed the variable family type. I
+% \mstrelease{1.2d} |2013/01/01|: previous versions imposed the variable family type. I
% hereby make it possible to de-activate this feature with the macro
% \cs{MTeasynonlettersdonotobeymathxx}. Besides, I have absolutely no idea
% why I had different looking code depending on the engine \XeTeX, \LuaTeX\ or
% default. Removed.
%
-% |1.3c| |2013/12/14|: I have absolutely no idea why I removed the \XeTeX\
-% and \LuaTeX\ code at the time of |1.2d|! the code for tex/pdftex engine
+% \mstrelease{1.3c} |2013/12/14|: I have absolutely no idea why I removed the \XeTeX\
+% and \LuaTeX\ code at the time of \mstrelease{1.2d}! the code for tex/pdftex engine
% could not accomodate more than 16 math families. Code for \XeTeX\ and
% \LuaTeX\ again added. (and since TL2013 no more problems with
% |\luatexUmathcode|.)
+%
+% \mstrelease{1.4} has done slight refactoring here to share more code related
+% to math activation across the two branches.
% \begin{macrocode}
\ifmst@nospecials
\else
- \mst@infoline{\string\#\space\string\mathdollar\space
- \string\%\space\string\&\space}
+ \mst@infoline{\string\#\space\string\mathdollar\space
+ \string\%\space\string\&\space}
\ifmst@XeOrLua
- \mst@Umathcode`\#=0 \symmtoperatorfont "23 \relax
- \mst@Umathchardef\mathdollar=0 \symmtoperatorfont "24 \relax
- \mst@Umathcode`\%=0 \symmtoperatorfont "25 \relax
- \mst@Umathcode`\&=0 \symmtoperatorfont "26 \relax
- \mst@do@easynonletters\expandafter{%
- \the\mst@do@easynonletters
- \mst@Umathcode`\#=7 \symmtoperatorfont "23 \relax
- \mst@Umathchardef\mathdollar=7 \symmtoperatorfont "24 \relax
- \mst@Umathcode`\%=7 \symmtoperatorfont "25 \relax
- \mst@Umathcode`\&=7 \symmtoperatorfont "26 \relax
- }
+ \mst@Umathcode`\#=0 \symmtoperatorfont "23 \relax
+ \mst@Umathchardef\mathdollar=0 \symmtoperatorfont "24 \relax
+ \mst@Umathcode`\%=0 \symmtoperatorfont "25 \relax
+ \mst@Umathcode`\&=0 \symmtoperatorfont "26 \relax
+ \mst@Umathchardef\mst@varfam@mathhash = 7 \symmtoperatorfont "23 \relax
+ \mst@Umathchardef\mst@varfam@mathdollar = 7 \symmtoperatorfont "24 \relax
+ \mst@Umathchardef\mst@varfam@mathpercent = 7 \symmtoperatorfont "25 \relax
+ \mst@Umathchardef\mst@varfam@mathampersand = 7 \symmtoperatorfont "26 \relax
+ \mst@addtodo@easynonletters@U\#\mst@varfam@mathhash
+ \mst@addtodo@easynonletters@U\%\mst@varfam@mathpercent
+ \mst@addtodo@easynonletters@U\&\mst@varfam@mathampersand
\else
- \count@=\symmtoperatorfont
- \multiply\count@ by \@cclvi
- \advance\count@ by 35
- \mathcode`\#\count@
- \advance\count@ by \@ne
- \mathchardef\mathdollar\count@
- \advance\count@ by \@ne
- \mathcode`\%\count@
- \advance\count@ by \@ne
- \mathcode`\&\count@
- \count@=\symmtoperatorfont
- \multiply\count@ by \@cclvi
- \advance\count@ by 28707 % = "7023
- \mathchardef\mst@varfam@mathhash\count@
- \advance\count@ by \@ne
- \mathchardef\mst@varfam@mathdollar\count@
- \advance\count@ by \@ne
- \mathchardef\mst@varfam@mathpercent\count@
- \advance\count@ by \@ne
- \mathchardef\mst@varfam@mathampersand\count@
+ \count@=\symmtoperatorfont
+ \multiply\count@ by \@cclvi
+ \advance\count@ by 35
+ \mathcode`\#\count@
+ \advance\count@ by \@ne
+ \mathchardef\mathdollar\count@
+ \advance\count@ by \@ne
+ \mathcode`\%\count@
+ \advance\count@ by \@ne
+ \mathcode`\&\count@
+ \count@=\symmtoperatorfont
+ \multiply\count@ by \@cclvi
+ \advance\count@ by 28707 % = "7023
+ \mathchardef\mst@varfam@mathhash\count@
+ \advance\count@ by \@ne
+ \mathchardef\mst@varfam@mathdollar\count@
+ \advance\count@ by \@ne
+ \mathchardef\mst@varfam@mathpercent\count@
+ \advance\count@ by \@ne
+ \mathchardef\mst@varfam@mathampersand\count@
+ \mst@addtodo@easynonletters\#\mst@varfam@mathhash
+ \mst@addtodo@easynonletters\%\mst@varfam@mathpercent
+ \mst@addtodo@easynonletters\&\mst@varfam@mathampersand
+ \fi
+% \end{macrocode}
+% It is possible to mathematically activate the dollar sign, and to use
+% it in math mode as |\string$|... well, how many documents will have
+% done that? But we do not modify the mathcode of the |$| character
+% anyhow, so why should I add here a \cs{mst@OnlyIfNotMathActive}?
+% There is no good reason for that.
+% \begin{macrocode}
\mst@do@easynonletters\expandafter{\the\mst@do@easynonletters
- \mathcode`\#=\mst@varfam@mathhash
- \let\mathdollar\mst@varfam@mathdollar
- \mathcode`\%=\mst@varfam@mathpercent
- \mathcode`\&=\mst@varfam@mathampersand}
+ \let\mathdollar\mst@varfam@mathdollar}%
+% \end{macrocode}
+% Extras for \mstrelease{1.4} are needed. Here too we do not worry
+% about math active dollar character.
+% \begin{macrocode}
+ \ifmst@everymath\else
+ \edef\mst@tmp{\ifmst@XeOrLua\mst@Umathcharnumdef\else\mathchardef\fi
+ \mathdollar=\the\mathdollar\relax}%
+ \mst@undo@easynonletters\expandafter\expandafter\expandafter
+ {\expandafter\mst@tmp\the\mst@undo@easynonletters}%
\fi
\fi
% \end{macrocode}
@@ -8495,7 +9195,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% manipulations, but well, life is finite.
% \begin{macro}{\prod}
% \begin{macro}{\sum}
-% |1.13b|: I correct the brutal re-definitions of \cs{prod} and \cs{sum} from
+% \mstrelease{1.13b}: I correct the brutal re-definitions of \cs{prod} and \cs{sum} from
% the earlier versions of the package; most of the time the Symbol glyphs do
% appear to be too small in display mode. The new redefinitions do have some
% defects: |$\displaystyle\prod_1^2$| changes the position of limits but not
@@ -8506,40 +9206,50 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% October 2012: maybe I should re-examine what I did?
%
-% |1.3c| (|2013/12/14|) renames |\defaultprod| to |\MToriginalprod| and
+% \mstrelease{1.3c} (|2013/12/14|) renames |\defaultprod| to |\MToriginalprod| and
% |\defaultsum| to
% |\MToriginalsum|.
%
-% |1.3v| hesitates about making robust here \cs{prod} and \cs{sum}. Finally I
+% \mstrelease{1.3v} hesitates about making robust here \cs{prod} and \cs{sum}. Finally I
% use \cs{protected} for them.
+%
+% \mstrelease{1.4} finally replaces all control sequences defines earlier via
+% \cs{DeclareRobustCommand} to be defined using \cs{protected}\cs{def}. It
+% also removes \cs{mst@prod} and \cs{mst@sum} which were aliases of
+% \cs{MToriginalprod} and \cs{MToriginalsum}, and having both must have
+% been some left-over of earlier versions in 2012 or 2013 (unchecked).
% \begin{macrocode}
-\ifmst@symbolmisc\mst@infoline{symbolmisc: miscellaneous math symbols from Symbol font}
-\let\mst@prod\prod
+\ifmst@symbolmisc
+\mst@infoline{symbolmisc: miscellaneous math symbols from Symbol font}
\let\MToriginalprod\prod
\DeclareMathSymbol{\prodpsy}{\mathop}{mtpsymbol}{213}
-\protected\def\prod{\ifinner\prodpsy\else\mst@prod\fi}
-\let\mst@sum\sum
+\protected\def\prod{\ifinner\prodpsy\else\MToriginalprod\fi}
\let\MToriginalsum\sum
\DeclareMathSymbol{\sumpsy}{\mathop}{mtpsymbol}{229}
-\protected\def\sum{\ifinner\sumpsy\else\mst@sum\fi}
+\protected\def\sum{\ifinner\sumpsy\else\MToriginalsum\fi}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \begin{macrocode}
\DeclareMathSymbol{\mst@implies}{\mathrel}{mtpsymbol}{222}
-\DeclareRobustCommand*{\implies}{\;\mst@implies\;}
+\protected\def\implies{\;\mst@implies\;}
\DeclareMathSymbol{\mst@impliedby}{\mathrel}{mtpsymbol}{220}
-\DeclareRobustCommand*{\impliedby}{\;\mst@impliedby\;}
-\DeclareRobustCommand*{\iff}{\;\mst@impliedby\mathrel{\mkern-3mu}\mst@implies\;}
+\protected\def\impliedby{\;\mst@impliedby\;}
+\protected\def\iff{\;\mst@impliedby\mathrel{\mkern-3mu}\mst@implies\;}
\DeclareMathSymbol{\mst@iff}{\mathrel}{mtpsymbol}{219}
-\DeclareRobustCommand*{\shortiff}{\;\mst@iff\;}
-\DeclareMathSymbol{\mst@to}{\mathrel}{mtpsymbol}{174}
+\protected\def\shortiff{\;\mst@iff\;}
+% \end{macrocode}
+% \mstrelease{1.4} drops defining a \cs{mst@to} and employs \cs{to}
+% in subsequent definitions
+% \begin{macrocode}
+\let\to\relax
+\DeclareMathSymbol{\to}{\mathrel}{mtpsymbol}{174}
\DeclareMathSymbol{\mst@trait}{\mathrel}{mtpsymbol}{190}
-\DeclareRobustCommand*\to{\mst@to}
-\DeclareRobustCommand*\longto{\mkern2mu\mst@trait\mathrel{\mkern-10mu}\mst@to}
-\DeclareRobustCommand*\mapsto{\mapstochar\mathrel{\mkern0.2mu}\mst@to}
-\DeclareRobustCommand*\longmapsto{%
-\mapstochar\mathrel{\mkern2mu}\mst@trait\mathrel{\mkern-10mu}\mst@to}
+\protected\def\longto{\mkern2mu\mst@trait\mathrel{\mkern-10mu}\to}
+\protected\def\mapsto{\mapstochar\mathrel{\mkern0.2mu}\to}
+\protected\def\longmapsto{%
+ \mapstochar\mathrel{\mkern2mu}\mst@trait\mathrel{\mkern-10mu}\to
+}
\DeclareMathSymbol{\aleph}{\mathord}{mtpsymbol}{192}
\DeclareMathSymbol{\inftypsy}{\mathord}{mtpsymbol}{165}
\DeclareMathSymbol{\emptyset}{\mathord}{mtpsymbol}{198}
@@ -8593,7 +9303,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{symbolre}
% I like the \cs{Re} and \cs{Im} from Symbol, so I overwrite the CM ones.
% \begin{macrocode}
-\ifmst@symbolre\mst@infoline{symbolre: \string\Re\space and \string\Im\space from Symbol font}
+\ifmst@symbolre
+\mst@infoline{symbolre: \string\Re\space and \string\Im\space from Symbol font}
\DeclareMathSymbol{\Re}{\mathord}{mtpsymbol}{"C2}
\DeclareMathSymbol{\Im}{\mathord}{mtpsymbol}{"C1}
\DeclareMathSymbol{\DotTriangle}{\mathord}{mtpsymbol}{92}
@@ -8603,12 +9314,12 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{Greek letters}
% LGRgreek $>$ selfGreek $>$ eulergreek $>$ symbolgreek
%
-% |1.11| I correct some bugs on how eulergreek and
+% \mstrelease{1.11} I correct some bugs on how eulergreek and
% symbolgreek interacted.
%
-% |1.12b| more bug fixes.
+% \mstrelease{1.12b} more bug fixes.
%
-% |1.13|
+% \mstrelease{1.13}
%
% * Option LGRgreek.
%
@@ -8616,10 +9327,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% the default shape is now the one for letters, not for operator-names
% and digits. This complies to the ISO standard.
%
-% * bugfix: version |1.12b| did not define the \cs{omicron} in the
+% * bugfix: version \mstrelease{1.12b} did not define the \cs{omicron} in the
% case when no Greek-related option was passed to the package.
%
-% |1.13d| has new macros |\MTstandardgreek| and |\MTcustomgreek|.
+% \mstrelease{1.13d} has new macros |\MTstandardgreek| and |\MTcustomgreek|.
% And in the subdued case |\MTstandardgreek| is done when switching to
% the normal or bold math versions (previously something like this
% was only done in case of |LGRgreek| option. )
@@ -8672,13 +9383,13 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macrocode}
\ifx\mst@mathord\mathord
% \end{macrocode}
-% symbolgreek but neither eulergreek nor selfGreek
-% \begin{macrocode}
-%% attention le P de Symbol est un \Pi pas un \Rho
+% \noindent symbolgreek but neither eulergreek nor selfGreek\newline
+% Attention le P de Symbol est un \cs{Pi} pas un \cs{Rho}.\newline
+% Attention le X de Symbol est un \cs{Xi} pas un \cs{Chi}.\newline
+% Attention le F de Symbol est un \cs{Phi}. Il n'y a pas de \cs{Digamma}.
+% \begin {macrocode}
\DeclareMathSymbol{\mst@Rho}{\mathord}{mtpsymbol}{"52}
-%% attention le X de Symbol est un \Xi pas un \Chi
\DeclareMathSymbol{\mst@Chi}{\mathord}{mtpsymbol}{"43}
-%% attention le F de Symbol est un \Phi. Il n'y a pas de \Digamma
\DeclareMathSymbol{\mst@Gamma}{\mathord}{mtpsymbol}{"47}
\DeclareMathSymbol{\mst@Delta}{\mathord}{mtpsymbol}{"44}
\DeclareMathSymbol{\mst@Theta}{\mathord}{mtpsymbol}{"51}
@@ -8690,7 +9401,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\DeclareMathSymbol{\mst@Phi}{\mathord}{mtpsymbol}{"46}
\DeclareMathSymbol{\mst@Psi}{\mathord}{mtpsymbol}{"59}
\DeclareMathSymbol{\mst@Omega}{\mathord}{mtpsymbol}{"57}
- \else % de \mst@mathord=\mathord
+ \else
% \end{macrocode}
% not symbolgreek but eulergreek or selfGreek. Note |2015/10/31| : apparemment
% un moment dans le pass je considrais eulergreek et selfGreek comme pouvant
@@ -8709,8 +9420,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\DeclareMathSymbol\mst@Phi {\mathalpha}{\mst@font@tbu}{"08}
\DeclareMathSymbol\mst@Psi {\mathalpha}{\mst@font@tbu}{"09}
\DeclareMathSymbol\mst@Omega {\mathalpha}{\mst@font@tbu}{"0A}
- \fi % de \mst@mathord=\mathord
-\fi % fin de goahead
+ \fi
+\fi
% \end{macrocode}
% There are differences regarding Euler and Symbol with respect to the
% available var-letters. We include one or two things like the |wp| and the
@@ -8796,10 +9507,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\fi
% \end{macrocode}
% \begin{macro}{\alphaup etc...}
-% Completely refactored at |1.3x| to define |\Alphaup|, |\Alphait|,
+% Completely refactored at \mstrelease{1.3y} to define |\Alphaup|, |\Alphait|,
% |\alphaup|, |\alphait|, etc\dots{} and prepare templates |\Alpha|, \dots{},
% |\alpha|, \dots{}, which when activating a math version will be submitted to
-% an |\expanded|, whose behaviour will depend on version-specific conditionals.
+% an |\expanded|, whose behavior will depend on version-specific conditionals.
% \begin{macrocode}
\ifmst@LGRgreek
% cf http://milde.users.sourceforge.net/LGR/lgrxenc.def.html
@@ -8832,7 +9543,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\DeclareMathSymbol{\Tauit}{\mathalpha}{mtgreekit}{84}
\DeclareMathSymbol{\Chiit}{\mathalpha}{mtgreekit}{81}
% \end{macrocode}
-% |1.3w| and earlier had a bug regarding Digamma which was set up
+% \mstrelease{1.3w} and earlier had a bug regarding Digamma which was set up
% to use same font shape as for lowercase digamma.
% \begin{macrocode}
\DeclareMathSymbol{\Digammaup}{\mathalpha}{mtgreekup}{195}
@@ -8916,7 +9627,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\DeclareMathSymbol{\omegaup}{\mathalpha}{mtgreekup}{119}
%
\DeclareMathSymbol{\digammaup}{\mathalpha}{mtgreekup}{147}
-% only varsigma defined (I should check this again)
+% \end{macrocode}
+% Only varsigma defined (I should check this again).
+% \begin{macrocode}
\DeclareMathSymbol{\varsigmaup}{\mathalpha}{mtgreekup}{99}
%
\DeclareMathSymbol{\alphait}{\mathalpha}{mtgreekit}{97}
@@ -8981,12 +9694,12 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{\MTstandardgreek}
% \begin{macro}{\MTcustomgreek}
% \begin{macro}{\MTrecordstandardgreek}
-% |1.3d 2014/05/23| defines the commands |\MTstandardgreek| and
+% \mstrelease{1.3d} |2014/05/23| defines the commands |\MTstandardgreek| and
% |\MTcustomgreek| for package and user. I leave |\MTrecordstandardgreek|
% undocumented as I don't want to encourage people to load math packages
% after \mst.
%
-% |1.3h 2015/10/31|: corrected |\MTcustomgreek| as it caused |\ell| to
+% \mstrelease{1.3h} |2015/10/31|: corrected |\MTcustomgreek| as it caused |\ell| to
% become undefined under option |symbolgreek| and, much more catastrophic,
% caused |\alpha|, etc.. to become undefined under option |selfGreek| !
% \begin{macrocode}
@@ -9055,7 +9768,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
\let\mst@origpartial\partial
\let\mst@origwp\wp
- \let\mst@origell\ell }% \MTrecordstandardgreek
+ \let\mst@origell\ell }%
\MTrecordstandardgreek
\renewcommand*{\MTstandardgreek}{%
\let\Alpha\mst@origAlpha
@@ -9119,10 +9832,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\partial\mst@origpartial
\let\wp\mst@origwp
\let\ell\mst@origell
-}% \MTstandardgreek
+}%
\ifmst@greekplus
% \end{macrocode}
-% |1.3za| implementation of |LGRgreek+| option. It is not exactly
+% \mstrelease{1.3za} implementation of |LGRgreek+| option. It is not exactly
% clear what we should do for \cs{mathnormal} and \cs{mathnormalbold}.
%
% This definition allows usage of \cs{alpha} for example in numerical
@@ -9210,7 +9923,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\mst@define@lowergreekletter\omega\mst@omega
\mst@define@lowergreekletter\varsigma\mst@varsigma
\mst@define@lowergreekletter\digamma\mst@digamma
-}% end of True branch of \ifmst@greekplus
+}%
\else
% \end{macrocode}
% Under |selfGreek| or other Greek option but not |LGRgreek|, these Greek
@@ -9243,8 +9956,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\noexpand\Rho\mst@Rho
\let\noexpand\Tau\mst@Tau
\let\noexpand\Chi\mst@Chi
- }% end of first big \expanded
-% 1.3h: \mst@Digamma not defined if symbolgreek option
+ }%
+% \end{macrocode}
+% \mstrelease{1.3h}: \cs{mst@Digamma} not defined if |symbolgreek| option.
+% \begin{macrocode}
\ifmst@symbolgreek\else
\expanded{\let\noexpand\Digamma\mst@Digamma}%
\fi
@@ -9260,10 +9975,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\noexpand\Phi\mst@Phi
\let\noexpand\Psi\mst@Psi
\let\noexpand\Omega\mst@Omega
- }% end of second big \expanded
+ }%
% \end{macrocode}
-% |1.3h 2015/10/31| adds this conditional to correct the bad bug in
-% |1.3d 2014/05/23| which caused |\alpha| etc... to become undefined
+% \mstrelease{1.3h} |2015/10/31| adds this conditional to correct the bad bug in
+% \mstrelease{1.3d} |2014/05/23| which caused |\alpha| etc... to become undefined
% under option |selfGreek|.
% \begin{macrocode}
\ifmst@selfGreek\else
@@ -9293,28 +10008,34 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\noexpand\psi\mst@psi
\let\noexpand\omega\mst@omega
\let\noexpand\varsigma\mst@varsigma
- }% end of third big \expanded
-% 1.3h: digamma only defined with option LGRgreek:
+ }%
+% \end{macrocode}
+% \mstrelease{1.3h}: digamma only defined with option |LGRgreek|.
+% \begin{macrocode}
\ifmst@LGRgreek
\expanded{\let\noexpand\digamma\mst@digamma}%
\fi
-% conditional added 1.3h 2015/10/31
+% \end{macrocode}
+% Conditional added \mstrelease{1.3h} |2015/10/31|.
+% \begin{macrocode}
\ifmst@LGRgreek\else
\let\varepsilon\mst@varepsilon
\let\vartheta\mst@vartheta
\let\varpi\mst@varpi
\let\varrho\mst@varrho
\let\varphi\mst@varphi
-%
\let\partial\mst@partial
\let\wp\mst@wp
-% 1.3h: no \mst@ell if symbolgreek (bugfix 1.3h 2015/10/31)
+% \end{macrocode}
+% \mstrelease{1.3h}: no \cs{mst@ell} if |symbolgreek| (bugfix
+% \mstrelease{1.3h} |2015/10/31|).
+% \begin{macrocode}
\ifmst@symbolgreek\else\let\ell\mst@ell\fi
\fi
\fi
-}% \MTcustomgreek
-\fi% end of else branch of \ifmst@greekplus
-\fi% end of \ifmst@customgreek
+}%
+\fi
+\fi
\let\Mathastextstandardgreek\MTstandardgreek
\let\Mathastextcustomgreek\MTcustomgreek
\ifmst@subdued\else\MTcustomgreek\fi
@@ -9322,22 +10043,22 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macro}\end{macro}\end{macro}
% \begin{macro}{\inodot}
% \begin{macro}{\jnodot}
-% In |1.0|, I had them of type |mathord|, here I choose |mathalpha|. If I
+% In \mstrelease{1.0}, I had them of type |mathord|, here I choose |mathalpha|. If I
% used \cs{i} and \cs{j} from the text font the problem would be with the
% fontsize, if in scriptstyle. The amsmath \cs{text} would do the trick.
%
-% |1.14b| |2011/04/02|: again this bug in the EU1/EU2 encoding part, as in the
+% \mstrelease{1.14b} |2011/04/02|: again this bug in the EU1/EU2 encoding part, as in the
% code redefining \$ etc in math mode (see above). Fixed.
%
-% |1.3l| |2016/01/29|: anticipating TL2016 fontspec's switch to |TU|.
+% \mstrelease{1.3l} |2016/01/29|: anticipating TL2016 fontspec's switch to |TU|.
%
-% |1.3t| |2018/08/22| removes the definitions done of |\i| and |\j|
-% since |1.12| (as robust commands usable both in text and math mode).
+% \mstrelease{1.3t} |2018/08/22| removes the definitions done of |\i| and |\j|
+% since \mstrelease{1.12} (as robust commands usable both in text and math mode).
%
-% |1.3u| lets the \cs{imath} and \cs{jmath} react to the font encoding at each
+% \mstrelease{1.3u} lets the \cs{imath} and \cs{jmath} react to the font encoding at each
% math version.
%
-% |1.3v| lets the redefined \cs{imath} and \cs{jmath} be \cs{protected}.
+% \mstrelease{1.3v} lets the redefined \cs{imath} and \cs{jmath} be \cs{protected}.
% \begin{macrocode}
\def\mst@subduedinodot{%
\let\inodot\mst@original@imath
@@ -9352,7 +10073,6 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\def\mst@dothe@inodotstuff#1#2#3{%
\edef\mst@tmp@enc{#3}%
\if1\mst@OneifUniEnc
- % Unicode engine and font
\mst@Umathchardef#1="7 \symmtletterfont "0131 \relax
\mst@Umathchardef#2="7 \symmtletterfont "0237 \relax
\else
@@ -9360,7 +10080,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
{\csname\mst@tmp@enc\string\i\endcsname}
\DeclareMathSymbol{#2}{\mathalpha}{mtletterfont}
{\csname\mst@tmp@enc\string\j\endcsname}
- \fi}% \mst@dothe@inodotstuff
+ \fi}%
\ifmst@defaultimath\else\mst@infoline{\string\imath\space and \string\jmath\space}
\AtEndOfPackage{\AtBeginDocument{%
\protected\def\imath{\inodot}%
@@ -9382,10 +10102,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% define math versions with different encodings. Here I
% take T1 if it was the default at the time of loading the
% package, else OT1.
-% |1.12b|: I add LY1 which is quasi like OT1.
+% \mstrelease{1.12b}: I add LY1 which is quasi like OT1.
% \end{quote}
%
-% At |1.3u 2019/08/20| I decide to remove the hard-coded slot positions
+% At \mstrelease{1.3u} |2019/08/20| I decide to remove the hard-coded slot positions
% for OT1, T1 and LY1, and replace them with some hack which assumes
% LaTeX2e way of handling text accents got executed by the encoding
% definition file. If not, some breakage on package loading could occur, but
@@ -9395,21 +10115,22 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% The |\vec| accent is not considered here because it has no suitable
% available glyph in a standard 8bits text font encodings.
%
-% Also at |1.3u| the math accents adapt to the font encoding at each math
+% Also at \mstrelease{1.3u} the math accents adapt to the font encoding at each math
% version.
%
-% |1.3v| adapts to \LaTeX{} |2019-10-01| which now comes with robust math
-% accent macros. The original-named macros are without the robustifying
-% space (NOT true anymore, see |1.3w| next), as they only serve as meaning
+% (obsolete at \mstrelease{1.4}) \mstrelease{1.3v} adapts to \LaTeX{}
+% |2019-10-01| which now comes with robust math accent macros. The
+% original-named macros are without the robustifying space (NOT true
+% anymore, see \mstrelease{1.3w} next), as they only serve as meaning
% holders.
%
-% On the other hand the macros
-% indexed by math version names are (in the pdflatex branch) always defined
-% via \cs{DeclareMathAccent} hence they will be robust with |2019-10-01| or
+% (obsolete at \mstrelease{1.4}) On the other hand the macros indexed by
+% math version names are (in the pdflatex branch) always defined via
+% \cs{DeclareMathAccent} hence they will be robust with |2019-10-01| or
% later and we must use the \cs{mst@robustifyingspace} with them to access
% their real meaning (this thus differs from the situation with \cs{hbar}).
%
-% |1.3w| The above was a bit optimistic as |amsmath| for example modifies
+% \mstrelease{1.3w} The above was a bit optimistic as |amsmath| for example modifies
% \LaTeX{} internals and handles math accents differently.
%
% We thus needed to double our
@@ -9456,73 +10177,63 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\add@unicode@accent\@firstoftwo
\if1\mst@OneifUniEnc
\ifmst@unimathaccents
- % \` -> \grave
\expandafter\xdef\csname mst@grave@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\`\endcsname{}\relax}%
- % \' -> \acute
\expandafter\xdef\csname mst@acute@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\'\endcsname{}\relax}%
- % \v -> \check
\expandafter\xdef\csname mst@check@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\v\endcsname{}\relax}%
- % \u -> \breve
\expandafter\xdef\csname mst@breve@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\u\endcsname{}\relax}%
- % \= -> \bar
\expandafter\xdef\csname mst@bar@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\=\endcsname{}\relax}%
- % \. -> \dot
\expandafter\xdef\csname mst@dot@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\.\endcsname{}\relax}%
- % \" -> \ddot
\expandafter\xdef\csname mst@ddot@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\"\endcsname{}\relax}%
- % \r -> \mathring
\expandafter\xdef\csname mst@mathring@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\r\endcsname{}\relax}%
- % \^ -> \hat
\expandafter\xdef\csname mst@hat@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\^\endcsname{}\relax}%
- % \~ -> \tilde
\expandafter\xdef\csname mst@tilde@mv#1\mst@robustifyingspace\endcsname
{\mst@Umathaccent
7
\number\symmtoperatorfont\space
\csname#2\string\~\endcsname{}\relax}%
- \else % false branch of ifmst@unimathaccents
+ \else
% \end{macrocode}
-% |1.3u| used some \cs{def} but this made the accent macro meanings look
+% \mstrelease{1.3u} used some \cs{def} but this made the accent macro meanings look
% slightly different depending on whether the math version being set-up was
% with an 8bit encoding or TU encoding.
%
-% For the sake of uniform treatment we modify this at |1.3v|, but this is a
+% For the sake of uniform treatment we modify this at \mstrelease{1.3v}, but this is a
% bit complicated regarding timing: we need, in absence of |unimathaccents|
% option, in math versions with an OpenType font, to let the \cs{acute} etc...
% acquire back some prior non-\mst meanings. To allow maximal flexibility,
@@ -9535,8 +10246,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% definition of the original-named macros but prior to the (last one, if
% multiple) \cs{mst@nonsubduedmathaccents}.
%
-% Hence |1.3v| delayed a bit the initial execution of this macro (see further
-% down in the code) compared to what happened in |1.3u|.
+% Hence \mstrelease{1.3v} delayed a bit the initial execution of this macro (see further
+% down in the code) compared to what happened in \mstrelease{1.3u}.
%
% We are in a group but \cs{AtEndOfPackage} does the right thing.
% \begin{macrocode}
@@ -9561,7 +10272,6 @@ defaultbf,defaultit,defaultsf,defaulttt}}
%
% But wouldn't it be simpler to manage \cs{protected} macros?
% \begin{macrocode}
- \ifmst@robust@obsessed@LaTeX@era
\@tfor\@tempa:={grave}{acute}{check}{breve}{bar}%
{dot}{ddot}{mathring}{hat}{tilde}%
\do
@@ -9569,58 +10279,47 @@ defaultbf,defaultit,defaultsf,defaulttt}}
{\noexpand\protect
\expandafter\noexpand\csname mst@\@tempa @mv#1 \endcsname}%
}%
- \fi
- \else % false branch of ifUniEnc
+ \else
% \end{macrocode}
% \cs{DeclareMathAccent} works \cs{global}ly. And with \LaTeX{} |2019-10-01|
% or later it creates robust macros.
%
% \cs{mst@DeclareMathAccent} to work around \url{https://github.com/latex3/latex2e/issues/216}
% \begin{macrocode}
- % \` -> \grave
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@grave@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\`\endcsname{}}
- % \' -> \acute
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@acute@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\'\endcsname{}}
- % \v -> \check
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@check@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\v\endcsname{}}
- % \u -> \breve
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@breve@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\u\endcsname{}}
- % \= -> \bar
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@bar@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\=\endcsname{}}
- % \. -> \dot
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@dot@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\.\endcsname{}}
- % \" -> \ddot
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@ddot@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\"\endcsname{}}
- % \r -> \mathring
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@mathring@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\r\endcsname{}}
- % \^ -> \hat
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@hat@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\^\endcsname{}}
- % \~ -> \tilde
\expandafter\mst@DeclareMathAccent\expandafter
{\csname mst@tilde@mv#1\endcsname}{\mathalpha}{mtoperatorfont}%
{\csname#2\string\~\endcsname{}}
\fi
\endgroup
}%
-\fi % \ifmst@mathaccents
+\fi
% \end{macrocode}
% \end{macro}
% \begin{macro}{\MTDeclareVersion}
@@ -9634,14 +10333,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \cs{SetSymbolFont}|{mteulervm}||{versionname}||{U}{zeur}{bx}{n}| if
% one wants to have a math version with bold Euler characters.
%
-% For version |1.1| we add an optional parameter specifying the shape
+% For version \mstrelease{1.1} we add an optional parameter specifying the shape
% to be used for letters.
%
% Note: (|2012/10/24|) I really should check whether the user attempts to
% redefine the `normal' and `bold' versions and issue a warning in
-% that case! Finally done at |1.3w| |2019/11/16|! Better late than never...
+% that case! Finally done at \mstrelease{1.3w} |2019/11/16|! Better late than never...
%
-% |1.3c| (|2013/12/14|) adds an extra optional parameter after all
+% \mstrelease{1.3c} (|2013/12/14|) adds an extra optional parameter after all
% previous ones, to inherit the settings from another version. Typically
% to be used with [bold]. I take this opportunity to sanitize a bit some
% line endings to avoid generating (in the preamble, document macros were
@@ -9650,11 +10349,11 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% purpose) the strange way I used |\@onlypreamble| in earlier
% version.
%
-% |1.3u| adds storage of macros holding the needed meanings for
+% \mstrelease{1.3u} adds storage of macros holding the needed meanings for
% \cs{imath}, \cs{hbar}, math accents, and the minus symbol,
% version wise.
%
-% |1.3w| adds the check to forbid |normal| and |bold| as version names.
+% \mstrelease{1.3w} adds the check to forbid |normal| and |bold| as version names.
% \begin{macrocode}
\newcommand*\MTDeclareVersion[6][]{%
\edef\mst@declareversionargs{{#1}{#2}{#3}{#4}{#5}{#6}}%
@@ -9666,14 +10365,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\MTDoNotDeclareVersion@\expandafter\@gobblefour
\fi
\relax\DeclareMathVersion{\mst@version}\MTDeclareVersion@
-}% \MTDeclareVersion
+}%
\newcommand*\MTDoNotDeclareVersion@[1][]{%
\PackageWarningNoLine{mathastext}{You asked to declare a version with name
`\mst@version'.^^J%
\@spaces Sorry but you are not allowed to do that.^^J%
\@spaces \ifmst@subdued Anyway the `subdued' option is in force\else
Use rather \string\Mathastext\space macro (with no optional argument)\fi
-}}%\MTDoNotDeclareVersion@
+}}%
\newcommand*\MTDeclareVersion@[1][]{%
\edef\mst@tmp{#1}%
\ifx\mst@tmp\empty\else
@@ -9685,7 +10384,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
inherits from `#1\string'\@gobble}%
\fi
\expandafter\MTDeclareVersion@@\mst@declareversionargs
-}% \MTDeclareVersion@
+}%
\newcommand*\MTDeclareVersion@@[6]{%
\expandafter\edef\csname mst@encoding@\mst@version\endcsname{#3}%
\expandafter\edef\csname mst@family@\mst@version\endcsname{#4}%
@@ -9706,46 +10405,69 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\ifx\mst@tmp\empty
\ifmst@italic
\SetSymbolFont{mtletterfont}{#2}{#3}{#4}{#5}{\mst@ltsh}%
-\immediate\write\m@ne{}%
-\PackageInfo{mathastext}{Latin letters in math version `#2\string'\MessageBreak
+ \immediate\write\m@ne{}%
+ \PackageInfo{mathastext}%
+ {\ifmst@noletters
+ \else
+ Latin letters in math version `#2\string'\MessageBreak
declared\on@line\MessageBreak
will use the font #3/#4/#5/\mst@ltsh
\ifmst@frenchmath\space(uppercase: #6)\fi\MessageBreak
+ \fi
Other characters (digits, ...) and \protect\log-like names\MessageBreak
- will be in `#6\string' shape\@gobble}%
-\immediate\write\m@ne{}%
+ \ifmst@noletters
+ will use the font #3/#4/#5/#6%
+ \else
+ will be in `#6\string' shape%
+ \fi\@gobble}%
+ \immediate\write\m@ne{}%
\expandafter\edef\csname mst@ltshape@\mst@version\endcsname{\mst@ltsh}%
\else
\SetSymbolFont{mtletterfont}{#2}{#3}{#4}{#5}{#6}%
-\immediate\write\m@ne{}%
-\PackageInfo{mathastext}{Latin letters in math version `#2\string'\MessageBreak
+ \ifmst@noletters
+ \else
+ \immediate\write\m@ne{}%
+ \PackageInfo{mathastext}%
+ {Latin letters in math version `#2\string'\MessageBreak
declared\on@line\MessageBreak
will use the fonts #3/#4/#5(\mst@bold)/#6\@gobble}%
-\immediate\write\m@ne{}%
+ \fi
+ \immediate\write\m@ne{}%
\expandafter\edef\csname mst@ltshape@\mst@version\endcsname{#6}%
\fi
- \else % #1 not empty
+ \else
+% \end{macrocode}
+% |#1| not empty.
+% \begin{macrocode}
\SetSymbolFont{mtletterfont}{#2}{#3}{#4}{#5}{#1}%
-\immediate\write\m@ne{}%
-\PackageInfo{mathastext}{Latin letters in math version `#2\string'\MessageBreak
+ \immediate\write\m@ne{}%
+ \PackageInfo{mathastext}%
+ {\ifmst@noletters
+ \else
+ Latin letters in math version `#2\string'\MessageBreak
declared\on@line\MessageBreak
will use the font #3/#4/#5/#1%
\ifmst@frenchmath\space(uppercase: #6)\fi\MessageBreak
+ \fi
Other characters (digits, ...) and
\protect\log-like names\MessageBreak
- will be in `#6\string' shape\@gobble}%
-\immediate\write\m@ne{}%
- \expandafter\edef\csname mst@ltshape@\mst@version\endcsname{#1}%
+ \ifmst@noletters
+ will use the font #3/#4/#5/#6%
+ \else
+ will be in `#6\string' shape%
+ \fi\@gobble}%
+ \immediate\write\m@ne{}%
+ \expandafter\edef\csname mst@ltshape@\mst@version\endcsname{#1}%
\fi
% \end{macrocode}
-% Here and elsewhere |1.3za| has removed an
+% Here and elsewhere \mstrelease{1.3za} has removed an
% \cs{ifmst@nonormalbold} conditional.
% \begin{macrocode}
\SetMathAlphabet{\Mathnormalbold}{#2}{#3}{#4}{\mst@bold}%
{\csname mst@ltshape@\mst@version\endcsname}%
\SetSymbolFont{mtoperatorfont}{#2}{#3}{#4}{#5}{#6}%
% \end{macrocode}
-% Since |1.3za| (and prior to |1.15f|) these math alphabet
+% Since \mstrelease{1.3za} (and prior to \mstrelease{1.15f}) these math alphabet
% commands are always defined.
% \begin{macrocode}
\SetMathAlphabet{\Mathbf}{#2}{#3}{#4}{\mst@bold}{#6}
@@ -9765,12 +10487,12 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% options as well as on the (local to this version) shapes for letters
% and digits.
%
-% |1.3x| replaces \cs{updefault} by \cs{MTgreekupdefault} and
+% \mstrelease{1.3y} replaces \cs{updefault} by \cs{MTgreekupdefault} and
% \cs{itdefault} by \cs{MTgreekitdefault}. It also prepares to store
% two Boolean settings saying whether lowercase respectively uppercase
% Greek letters will use `upright' or `italic' (|LGRgreek(s)| only).
%
-% The |1.3x| refactoring of |LGRgreek| is done via a decoupling,
+% The \mstrelease{1.3y} refactoring of |LGRgreek| is done via a decoupling,
% thus things are done here under |selfGreek| or other Greek options
% which ultimately serve nothing and conversely things are done here
% for |LGRgreek| which are superfluous.
@@ -9813,7 +10535,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\mst@greek@upper@uptrue
\fi
% \end{macrocode}
-% |1.3za| refactoring to reduce code duplication; I briefly considered
+% \mstrelease{1.3za} refactoring to reduce code duplication; I briefly considered
% trying to enhance \cs{MTgreekfont} to work also with |LGRgreeks| and
% |selfGreeks| but I have dropped the idea for now.
% \begin{macrocode}
@@ -9875,7 +10597,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\expandafter\mst@dothe@hyphenstuff\mst@tmp
\fi
\fi
-}% \MTDeclareVersion@@
+}%
\let\MathastextDeclareVersion\MTDeclareVersion
% \end{macrocode}
% \end{macro}
@@ -9890,45 +10612,48 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% additionally to the math fonts. Present already in the initial
% version of the package (January 2011.)
%
-% |1.15|: some modifications for the subdued option vs LGRgreek and
+% \mstrelease{1.15}: some modifications for the subdued option vs LGRgreek and
% for the math muskips after \cs{exists} and \cs{forall}.
%
-% |1.2|: with the subdued option sets the math alphabets in the
+% \mstrelease{1.2}: with the subdued option sets the math alphabets in the
% normal and bold math versions do not apply to operator
% names and non-alphabetical symbols. The switch for braces
% is left as it is.
%
-% |1.2b|: with the subdued option, the italic corrections are not added.
+% \mstrelease{1.2b}: with the subdued option, the italic corrections are not added.
% Else, we check the shape of letters in this version. Also, there was a bug
-% since |1.15|: the values of the math skips were taken not from the
+% since \mstrelease{1.15}: the values of the math skips were taken not from the
% settings for the math version (\#2) but from those of the optional argument
% (\#1), if present...
%
-% |1.3|: activation of italic corrections is now separated from actual math
+% \mstrelease{1.3}: activation of italic corrections is now separated from actual math
% activation of letters.
%
-% |1.3c|: a starred variant is added which does not modify the text fonts,
+% \mstrelease{1.3c}: a starred variant is added which does not modify the text fonts,
% only the math set-tup.
%
-% |1.3d|: replaced in |\MTversion@| things like |\edef\mst@encoding{...}| and
-% |\renewcommand{\encodingdefault}{\mst@@encoding}| by
+% \mstrelease{1.3d}: replaced in |\MTversion@| things like |\edef\mst@encoding{...}| and
+% \centeredline{|\renewcommand{\encodingdefault}{\mst@@encoding}|} by
% |\edef\encodingdefault{...}| etc\dots All those |\mst@@...| things were
% useless. I also redefine |\seriesdefault| rather than |\mddefault|.
%
-% |1.3d|: mechanism of restoration of Greek in subdued normal and bold
+% \mstrelease{1.3d}: mechanism of restoration of Greek in subdued normal and bold
% versions has been to all cases, and not only for the
% |LGRgreek| option.
%
-% |1.3u|: version savvy (i.e.\@ font-encoding savvy) minus sign,
+% \mstrelease{1.3u}: version savvy (i.e.\@ font-encoding savvy) minus sign,
% \cs{hbar}, \cs{imath}, math accents.
%
-% |1.3x|: Booleans recovered from stored data in the math version will
+% \mstrelease{1.3y}: Booleans recovered from stored data in the math version will
% configure the things \cs{MTcustomgreek} do, under |LGRgreek| option.
% \begin{macrocode}
-\newcommand*\MTversion {\@ifstar\MTversion@s\MTversion@ }
-\newcommand*\MTversion@s [1]{\mathversion{#1}\MTversion@@ }
+\newcommand*\MTversion {\@ifstar\MTversion@s\MTversion@}
+\newcommand*\MTversion@s [1]{\mathversion{#1}\MTversion@@}
\newcommand*\MTversion@ [2][]{%
- \mathversion{#2}% defines \math@version as expanded #2
+% \end{macrocode}
+% This defines \cs{math@version} as expanded |#2|.
+% \begin{macrocode}
+ \mathversion{#2}%
\edef\mst@tmpa{#1}%
\ifx\mst@tmpa\empty
\let\mst@tmp\math@version
@@ -9946,14 +10671,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\edef\ttdefault {\csname mst@ttdefault@\mst@tmp\endcsname}%
\usefont{\encodingdefault}{\familydefault}{\seriesdefault}{\shapedefault}%
\MTversion@@
-}% \MTversion@
+}%
% \end{macrocode}
-% |1.3j| has a stronger subdued which does \cs{MTnormalprime},
+% \mstrelease{1.3j} has a stronger subdued which does \cs{MTnormalprime},
% \cs{MTnormalexists}, \cs{MTnormalforall} rather than setting the skips to
% |0mu|. Hence \cs{MTversion} by default should do \cs{MTprimedoesskip},
% \cs{MTexistsdoesskip}, \cs{MTforalldoesskip}.
%
-% |1.3u| drops the argument, as the info is in \cs{math@version} from
+% \mstrelease{1.3u} drops the argument, as the info is in \cs{math@version} from
% \LaTeX2e code.
% \begin{macrocode}
\newcommand*\MTversion@@ {%
@@ -9979,18 +10704,18 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\edef\mst@tmpa{\csname mst@ltshape@\math@version\endcsname}%
\edef\mst@tmpb{\csname mst@shape@\math@version\endcsname}%
% \end{macrocode}
-% |v1.15c|: extending subdued to LGRgreek.
+% \mstrelease{1.15c}: extending subdued to LGRgreek.
%
-% |v1.15f|: subdueing math alphabets in a simpler way than in |1.15e|.
+% \mstrelease{1.15f}: subdueing math alphabets in a simpler way than in \mstrelease{1.15e}.
%
-% |v1.2b|: subdueing the activation of characters in math mode.
+% \mstrelease{1.2b}: subdueing the activation of characters in math mode.
%
-% |v1.2d|: special treatment of the asterisk.
+% \mstrelease{1.2d}: special treatment of the asterisk.
%
-% |v1.3d|: extended LGRgreek mechanism of activation/restoration of Greek to all
+% \mstrelease{1.3d}: extended LGRgreek mechanism of activation/restoration of Greek to all
% cases.
%
-% |v1.3j|: use of \cs{MTeverymathdefault}, which includes \cs{MTicinmath}, but
+% \mstrelease{1.3j}: use of \cs{MTeverymathdefault}, which includes \cs{MTicinmath}, but
% must be corrected then according to shape of letters and presence or absence
% of option |frenchmath|. We do only |\def\mst@ITcorr{\ifnum\fam=\m@ne\/\fi}|
% and not \cs{MTICinmath} to not overwrite some user-defined
@@ -9999,6 +10724,12 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% user customizing possibilities, but if I moved it later, I would possibly
% have to put inside the \cs{MTicinmath} the check for |it| ot |sl|. Similary
% the \cs{MTcustomgreek} always executed (if not |subdued|).
+%
+% MEMO: \cs{MTeverymathdefault} is executed \emph{also} if in |subdued| mode
+% but there is a \cs{MTeverymathoff} done next in the \emph{normal} and
+% \emph{bold} version. It does \cs{MTicinmath} and \cs{MTmathactivedigits}
+% which however are no-ops (only partly for the former, and for the latter
+% always anyhow if no option |activedigits|) in subdude mode.
% \begin{macrocode}
\MTmathoperatorsobeymathxx
\MTeverymathdefault
@@ -10009,7 +10740,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\@for\mst@tmpc:=it,sl\do{\ifx\mst@tmpc\mst@tmpb\MTnoICinmath\fi}%
\fi
% \end{macrocode}
-% |1.3j| has a stronger subdued which does \cs{MTnormalprime},
+% \mstrelease{1.3j} has a stronger subdued which does \cs{MTnormalprime},
% \cs{MTnormalexists}, \cs{MTnormalforall} rather than simply setting the
% skips to |0mu|. Note: \cs{MTnormalprime} is done as part of
% \cs{MTeverymathoff}.
@@ -10027,13 +10758,18 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\MTmathoperatorsdonotobeymathxx
\MTnormalexists
\MTnormalforall
+% \end{macrocode}
+% \mstrelease{1.4} has kept \cs{MTmathstandardletters} inside
+% \cs{MTeverymathoff} but its action is now quite different from earlier
+% situation as it resets mathcodes from active to normal status on the spot.
+% \begin{macrocode}
\MTeverymathoff
\MTresetnewmcodes
% \end{macrocode}
-% |1.3t| adds better compatibility with |subdued| mode for
+% \mstrelease{1.3t} adds better compatibility with |subdued| mode for
% |\imath/\jmath| and perfect compatibility for the minus sign.
%
-% |1.3u| extends this further to allow per-math-version meanings
+% \mstrelease{1.3u} extends this further to allow per-math-version meanings
% for them.
% \begin{macrocode}
\mst@subduedhbar
@@ -10056,7 +10792,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\else
\mst@setalphabets
% \end{macrocode}
-% |1.3x| addition for \cs{MTcustomgreek} under |LGRgreeks| option.
+% \mstrelease{1.3y} addition for \cs{MTcustomgreek} under |LGRgreeks| option.
+%
+% MEMO: the needed mathematical re-activation of letters when switching from
+% \emph{normal} or \emph{bold} to a non-|subdued| math version has already
+% been done above from the \cs{MTicinmath} which is part of
+% \cs{MTeverymathdefault}.
+%
+% MEMO: idem for digits under option |activedigits|.
% \begin{macrocode}
\expandafter\let\csname ifmst@greek@upper@up\expandafter\endcsname
\csname ifmst@greek@\math@version @upper@up\endcsname
@@ -10071,19 +10814,22 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\fi
\else
% \end{macrocode}
-% |1.3x| addition for \cs{MTcustomgreek} under |LGRgreek| option.
+% \mstrelease{1.3y} addition for \cs{MTcustomgreek} under |LGRgreek| option.
+%
+% MEMO: the mathematical activation of letters happened above from
+% \cs{MTeverymathdefault}. Idem if |activedigits| for digits.
% \begin{macrocode}
\expandafter\let\csname ifmst@greek@upper@up\expandafter\endcsname
\csname ifmst@greek@\math@version @upper@up\endcsname
\expandafter\let\csname ifmst@greek@lower@up\expandafter\endcsname
\csname ifmst@greek@\math@version @lower@up\endcsname
- \MTcustomgreek % new with 1.3d
+ \MTcustomgreek
\mst@nonsubduedhbar
\mst@nonsubduedinodot
\mst@nonsubduedmathaccents
\mst@nonsubduedminus
\fi
-}% \MTversion@@
+}%
\let\MathastextVersion\MTversion
\let\Mathastextversion\MTversion
\let\MTVersion\MTversion
@@ -10100,7 +10846,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\MTfamily{#3}
\MTseries{#4}
\MTshape{#5}
- \ifmst@italic\MTlettershape{\itdefault}\fi % was missing in v 1.14 and prior
+ \ifmst@italic\MTlettershape{\itdefault}\fi
\edef\mst@tmp{#1}
\ifx\mst@tmp\empty\else\MTlettershape{#1}\fi
\Mathastext}
@@ -10113,23 +10859,23 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% preamble and any number of time, the last one is the
% one that counts.
%
-% In version |1.1| we have two fonts: they only differ in
+% In version \mstrelease{1.1} we have two fonts: they only differ in
% shape. The |mtletterfont| is for letters, and the
% |mtoperatorfont| for digits and log-like operator
% names. The default is that both are upright.
%
-% Starting with version |1.12|, an optional argument makes
+% Starting with version \mstrelease{1.12}, an optional argument makes
% \cs{Mathastext} act as the declaration of a math
% version, to be later used in the document.
%
-% Versions |1.15x| brought some adaptations related to the subdued
+% Versions \mstrelease{1.15x} brought some adaptations related to the subdued
% option.
%
-% |1.3c| adds a second optional parameter to inherit previous settings
+% \mstrelease{1.3c} adds a second optional parameter to inherit previous settings
% from another version; mostly done to inherit the bold version fonts for
% symbols and large symbols. This is done in |\MTDeclareVersion|.
%
-% |1.3j| moves the code related to \cs{MTicinmath} from \cs{Mathastext@} to
+% \mstrelease{1.3j} moves the code related to \cs{MTicinmath} from \cs{Mathastext@} to
% \cs{AtBeginDocument} (code depending on whether |subdued| option in use).
% But we omit for this from \cs{MTicinmath} the \cs{MTmathactiveletters}
% and issue the latter during loading of package, hence allowing
@@ -10139,15 +10885,15 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% command without optional parameter does not any |\SetSymbolFont| etc...
% but it has a few other tasks to complete nevertheless.
%
-% |1.3u| fixes some long-standing bug that \cs{Mathastext} did not repeat some
+% \mstrelease{1.3u} fixes some long-standing bug that \cs{Mathastext} did not repeat some
% font-encoding dependent things: they got done only once during package
% loading (things regarding the \cs{hbar}, \cs{imath}, the math accents and
% the minus sign). They are now part of the contents of \cs{Mathastext} macro
% itself (which is executed during package loading).
%
-% |1.3x| has refactored the |LGRgreek| associated math fonts.
+% \mstrelease{1.3y} has refactored the |LGRgreek| associated math fonts.
% \begin{macrocode}
-\def\Mathastext {\@ifnextchar [\Mathastext@declare\Mathastext@ }
+\def\Mathastext {\@ifnextchar[\Mathastext@declare\Mathastext@}% ]
\def\Mathastext@declare [#1]{%
\edef\mst@tmp{#1}%
\ifx\mst@tmp\empty
@@ -10156,7 +10902,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\fi
\Mathastext@
{\MTDeclareVersion[\mst@ltsh]{#1}{\mst@enc}{\mst@fam}{\mst@ser}{\mst@opsh}}%
-}% \Mathastext@declare
+}%
\def\Mathastext@ {%
\mst@update@greeksh
\edef\mst@encoding@normal{\mst@enc}%
@@ -10187,7 +10933,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\edef\mst@prime@skip@bold{\mst@prime@skip}%
\ifmst@subdued
% \end{macrocode}
-% Since |1.3j| this branch is actually almost superfluous, as entering
+% Since \mstrelease{1.3j} this branch is actually almost superfluous, as entering
% |normal| or |bold| with \cs{MTversion} does \cs{MTnormalexists},
% \cs{MTnormalforall}, and \cs{MTnormalprime}. But some default values are
% needed if the user insists on issuing \cs{MTexistsdoesskip}, etc...
@@ -10199,7 +10945,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\def\mst@exists@skip@bold{0mu}%
\def\mst@forall@skip@bold{0mu}%
\def\mst@prime@skip@bold{0mu}%
- \else % not subdued
+ \else
\ifmst@italic
\ifmst@frenchmath
\mst@exists@muskip\mst@exists@skip\relax
@@ -10220,8 +10966,8 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\fi
\fi
% \end{macrocode}
-% Here and elsewhere |1.3za| has removed usage of an
-% \cs{ifmst@nonormalbold} conditional which was added at |1.15f|.
+% Here and elsewhere \mstrelease{1.3za} has removed usage of an
+% \cs{ifmst@nonormalbold} conditional which was added at \mstrelease{1.15f}.
% \begin{macrocode}
\SetMathAlphabet{\Mathnormalbold}{normal}{\mst@encoding@normal}%
{\mst@family@normal}%
@@ -10249,7 +10995,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
{\mst@series@bold}%
{\mst@shape@bold}%
% \end{macrocode}
-% |1.3za| removes the |1.15f| added conditional checks.
+% \mstrelease{1.3za} removes the \mstrelease{1.15f} added conditional checks.
% \begin{macrocode}
\SetMathAlphabet{\Mathbf}{normal}{\mst@encoding@normal}%
{\mst@family@normal}%
@@ -10283,10 +11029,10 @@ defaultbf,defaultit,defaultsf,defaulttt}}
{\mst@ttdefault@bold}%
{\mst@series@bold}%
{\mst@shape@bold}%
- \fi % de \ifmst@subdued
+ \fi
% \end{macrocode}
% \begin{macro}{\MathEulerBold}
-% |1.14c|: We reset |mteulervm| and \cs{MathEulerBold} here as the
+% \mstrelease{1.14c}: We reset |mteulervm| and \cs{MathEulerBold} here as the
% variant for bold may have been changed by the user via
% \cs{Mathastextboldvariant}|{m}|; and we should keep this local to
% math versions.
@@ -10309,9 +11055,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \begin{macro}{selfGreek*}
% LGRgreek, LGRgreeks, selfGreek, and selfGreeks options.
%
-% |1.3x| has refactored the |LGRgreek| associated math fonts.
+% \mstrelease{1.3y} has refactored the |LGRgreek| associated math fonts.
%
-% |1.3za| adds the math alphabets \cs{mathgreekitbold} and
+% \mstrelease{1.3za} adds the math alphabets \cs{mathgreekitbold} and
% \cs{mathgreekupbold}.
% And it executes this code also in |subdued| mode, because
% anyhow the symbolfonts |mtgreekup| and |mtgreekit| and
@@ -10352,7 +11098,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macrocode}
% \end{macro}
% \end{macro}
-% |1.3za| adds the log message in case of |selfGreek| option.
+% \mstrelease{1.3za} adds the log message in case of |selfGreek| option.
% \begin{macrocode}
\ifmst@subdued
\else
@@ -10380,7 +11126,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\mst@infoline{Other characters (digits, ...) and \string\log-like names will be}%
\mst@infoline{typeset with the \mst@shape@normal\space shape.}%
\fi
- \fi % end of else branch \ifmst@subdued
+ \fi
\ifmst@nohbar\else
\mst@infoline{\string\hbar}%
\mst@dothe@hbarstuff
@@ -10415,9 +11161,9 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\let\mst@varfam@minus@mvbold\mst@varfam@minus@mvnormal
\fi
\fi
- \fi % minus
+ \fi
% \end{macrocode}
-% |1.3zb| moves this info line last and also explicitly mentions |italic| or
+% \mstrelease{1.3zb} moves this info line last and also explicitly mentions |italic| or
% |frenchmath| (here and at some other locations above).
% \begin{macrocode}
\ifmst@subdued
@@ -10427,7 +11173,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\mst@infoline{The \ifmst@frenchmath frenchmath \else
italic \fi option is in effect.}%
\fi
-}% \Mathastext@
+}%
\let\mathastext\Mathastext
\Mathastext
% \end{macrocode}
@@ -10488,14 +11234,23 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\MTeverymathoff}
-% |1.3i 2016/01/06| Compatibility patch with |\url| from |url.sty| and
+% \mstrelease{1.3i} |2016/01/06| Compatibility patch with |\url| from |url.sty| and
% |\url/\nolinkurl| from |hyperref.sty|.
%
-% |1.3j 2016/01/15| renamed the macro from |\MTactivemathoff| to
+% \mstrelease{1.3j} |2016/01/15| renamed the macro from |\MTactivemathoff| to
% |\MTeverymathoff|, as it is not exclusively a matter of math active
% characters due to |\MTeasynonlettersdonotobeymathxx|.
%
-% |1.3o 2016/05/03| adds \cs{MTdonotfixfonts}. Operant with \LuaLaTeX\ only.
+% \mstrelease{1.3o} |2016/05/03| adds \cs{MTdonotfixfonts}. Operant with
+% \LuaLaTeX\ only.
+%
+% \mstrelease{1.4} |2024/07/20| keeps the \cs{MTmathstandardletters} as a
+% component of \cs{MTeverymathoff}. It was checked that \ctanpkg{url} and
+% \ctanpkg{hyperref} do not change mathcodes of ascii letters prior to
+% location where \cs{MTeverymathoff} gets executed, so nothing is
+% overwritten, despite the new mode of action of \cs{MTmathstandardletters}.
+%
+% \mstrelease{1.4} has \cs{MTmathstandarddigits} and inserts it into \cs{MTeverymathoff}.
% \begin{macrocode}
\newcommand*\MTeverymathoff {%
\MTnormalasterisk
@@ -10503,6 +11258,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\MTnonlettersdonotobeymathxx
\MTeasynonlettersdonotobeymathxx
\MTmathstandardletters
+ \MTmathstandarddigits
\MTdonotfixfonts
}%
\AtBeginDocument {%
@@ -10513,7 +11269,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\MTeverymathdefault}
-% |1.3j 2016/01/15| Customizable command which gets executed by
+% \mstrelease{1.3j} |2016/01/15| Customizable command which gets executed by
% \cs{MTversion} except when switching to |normal/bold| if option |subdued|.
% The included \cs{MTicinmath} does \cs{MTmathactiveletters} which will also
% activate the math skips around letters.
@@ -10537,13 +11293,18 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% it will not be overruled (as it is delayed at begin document to after \mst
% dealings).
%
-% |1.3o 2016/05/03| adds \cs{MTfixfonts}. Operant with \LuaLaTeX\ only.
+% \mstrelease{1.3o} |2016/05/03| adds \cs{MTfixfonts}. Operant with
+% \LuaLaTeX\ only.
+%
+% \cs{MTmathactivedigits} of \mstrelease{1.4} is a no-op except under option
+% |activedigits|.
% \begin{macrocode}
\newcommand*\MTeverymathdefault {%
\MTactiveasterisk
\MTprimedoesskip
\MTeasynonlettersobeymathxx
\MTicinmath
+ \MTmathactivedigits
\MTfixfonts
}%
% \end{macrocode}
@@ -10552,48 +11313,54 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% \def~{\rlap}
% \begin{macro}{Things to do last ~{``at begin document''}}
% \let~\temp
+%
+% \mstrelease{1.4} has a significant change here that mathematical
+% activation of ascii letters is now not incorporated into the \cs{everymath}
+% and \cs{everydisplay}.
% \begin{macrocode}
-\AtBeginDocument{%
- \everymath\expandafter{\the\everymath
- \mst@the\mst@do@nonletters \let\mst@the\@gobble
- \mst@theeasy\mst@do@easynonletters \let\mst@theeasy\@gobble
- \mst@thef\mst@do@az \let\mst@thef\@gobble
- \mst@theF\mst@do@AZ \let\mst@theF\@gobble}%
- \everydisplay\expandafter{\the\everydisplay
- \mst@the\mst@do@nonletters \let\mst@the\@gobble
- \mst@theeasy\mst@do@easynonletters \let\mst@theeasy\@gobble
- \mst@thef\mst@do@az \let\mst@thef\@gobble
- \mst@theF\mst@do@AZ \let\mst@theF\@gobble}%
-% \end{macrocode}
-% |1.3j|: moved here to be executed at begin document (and not from inside
+\ifmst@everymath
+ \AtBeginDocument{%
+ \everymath\expandafter{\the\everymath
+ \mst@the\mst@do@nonletters \let\mst@the\@gobble
+ \mst@theeasy\mst@do@easynonletters \let\mst@theeasy\@gobble
+ }%
+ \everydisplay\expandafter{\the\everydisplay
+ \mst@the\mst@do@nonletters \let\mst@the\@gobble
+ \mst@theeasy\mst@do@easynonletters \let\mst@theeasy\@gobble
+ }%
+ }
+\fi
+% \end{macrocode}
+% \mstrelease{1.3j}: moved here to be executed at begin document (and not from inside
% \cs{Mathastext@}.) The \cs{MTeverymathoff} does: \cs{MTnormalasterisk},
% \cs{MTnormalprime}, \cs{MTnonlettersdonotobeymathxx},
% \cs{MTeasynonlettersdonotobeymathxx}, \cs{MTmathstandardletters}.
%
-% |1.3m|: doing \cs{MTmathactiveletters} in subdued mode immediately after
+% \mstrelease{1.3m}: doing \cs{MTmathactiveletters} in subdued mode immediately after
% |\begin{document}| resulted in errors because \cs{mst@itcorr} had been left
% undefined. We thus add \cs{MTnoicinmath} to the subdued initialization.
%
-% Since |1.3n| there is \cs{MTresetnewmcodes} which needs
+% Since \mstrelease{1.3n} there is \cs{MTresetnewmcodes} which needs
% \cs{mst@originalnewmcodes@}, itself defined at begin document. Thus we have
-% wrapped the whole thing in \cs{AtEndOfPackage} (at |1.3u| whole code
+% wrapped the whole thing in \cs{AtEndOfPackage} (at \mstrelease{1.3u} whole code
% directly moved at end of package).
%
-% And |1.3p| adds here \cs{MTcustomizenewmcodes} which had been regrettably
-% forgotten by |1.3n|.
+% And \mstrelease{1.3p} adds here \cs{MTcustomizenewmcodes} which had been regrettably
+% forgotten by \mstrelease{1.3n}.
%
-% |1.3t| adds some extras to handle correctly the minus sign and
+% \mstrelease{1.3t} adds some extras to handle correctly the minus sign and
% dotless i and j in subdued mode, even in case of usage with fontspec.
%
-% |1.3u| similarly lets math accents be correctly subdued.
+% \mstrelease{1.3u} similarly lets math accents be correctly subdued.
%
-% |1.3v| adapts to \cs{hbar} and math accents now being robust with \LaTeX{}
+% \mstrelease{1.3v} adapts to \cs{hbar} and math accents now being robust with \LaTeX{}
% |2019-10-01| or later.
%
-% |1.3w| pays attention to the fact that \cs{hbar} may well be
+% \mstrelease{1.3w} pays attention to the fact that \cs{hbar} may well be
% a |\mathchar| and not a robust macro! And no need to worry about
% \cs{hbar<space>} finally in revised code.
% \begin{macrocode}
+\AtBeginDocument{%
\MTcustomizenewmcodes
\let\mst@original@hbar\hbar
\let\mst@original@imath\imath
@@ -10617,21 +11384,18 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\MTresetnewmcodes
\MTnoicinmath
\MTmathoperatorsdonotobeymathxx
- %\mst@subduedhbar
\let\inodot\imath
\let\jnodot\jmath
- %\mst@subduedmathaccents
\mst@subduedminus
\else
\mst@nonsubduedhbar
% \end{macrocode}
-% |1.3v| needs this \cs{mst@nonsubduedmathaccents} to get executed later (see
+% \mstrelease{1.3v} needs \cs{mst@nonsubduedmathaccents} to get executed later (see
% code comments for \cs{mst@dothe@mathaccentsstuff}).
% \begin{macrocode}
- % \mst@nonsubduedmathaccents % will get executed later
\mst@nonsubduedminus
% \end{macrocode}
-% |1.3j|: an earlier version of this code was earlier part of \cs{Mathastext@}.
+% \mstrelease{1.3j}: an earlier version of this code was earlier part of \cs{Mathastext@}.
% As we are now in \cs{AtBeginDocument} we try to be careful not to overwrite
% \cs{MTicinmath}, \cs{MTnoicinmath}, \cs{MTicalsoinmathxx}, ... if issued by
% the user in the preamble, though. And we do not execute
@@ -10652,12 +11416,12 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\fi
\fi
\fi
-}% \AtBeginDocument
+}%
\AtEndOfPackage{\AtBeginDocument{\ifmst@subdued\else\mst@nonsubduedmathaccents\fi}}%
% \end{macrocode}
% \end{macro}
% \begin{macro}{subdued}
-% |1.15|: The subdued code was initiated in May 2011. I returned to
+% \mstrelease{1.15}: The subdued code was initiated in May 2011. I returned to
% |mathastext| on Sep 24, 2012, and decided to complete what I had started
% then, but in the mean time I had forgotten almost all of the little I knew
% about \LaTeX{} macro programming.
@@ -10671,7 +11435,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% $^1$but the \emph{euler} package for example
% assigns the digits to the \emph{letters} symbol font...
%
-% |1.15d|: Oct 13, 2012. The \cs{mathcode} thing has to be used with care
+% \mstrelease{1.15d}: Oct 13, 2012. The \cs{mathcode} thing has to be used with care
% under Unicode engines. Unfortunately the \cs{luatexUmathcode} macro is
% helpless as it is not possible to know if it will return a legacy mathcode
% or a Unicode mathcode. On the other hand the much saner
@@ -10683,14 +11447,14 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% treats identically under both unicode engines the equal and minus signs (and
% the vertical bar).}
%
-% |1.15e|: Oct 22, 2012. I add the necessary things to also subdue the
+% \mstrelease{1.15e}: Oct 22, 2012. I add the necessary things to also subdue the
% \cs{mathbf}, \cs{mathit}, \cs{mathsf} and \cs{mathtt} macros (previous
% version only took care of the symbol alphabets \cs{mathnormal} and
-% \cs{mathrm}.) [update: |1.15f| does that in a completely different and much
+% \cs{mathrm}.) [update: \mstrelease{1.15f} does that in a completely different and much
% simpler way] Notice that the package defines a \cs{mathnormalbold} macro,
% but it will not be subdued in the normal and bold math versions.
%
-% |1.15f|: Oct 23, 2012. The previous version of the code queried the math
+% \mstrelease{1.15f}: Oct 23, 2012. The previous version of the code queried the math
% family of a, respectively 1, to guess and then extract the fonts to be
% reassigned to mtletterfont and mtoperatorfont (which is done at the end of
% this .sty file). The present code simply directly uses letters and operators
@@ -10705,23 +11469,24 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% to revert these changes (and one would have to do even more hacking for
% |\mathversion{normal}| and not only |\MTversion{normal}| to work).
%
-% |1.15f|: and also I take this opportunity to do the subdued math
+% \mstrelease{1.15f}: and also I take this opportunity to do the subdued math
% alphabets things in a much much easier way, see below.
%
-% |1.3s 2018/08/21|: I have half-forgotten the reasons for modifiying the
+% \mstrelease{1.3s} |2018/08/21|: I have half-forgotten the reasons for modifiying the
% font encoding to current |\encodingdefault|, but at any rate this should
% not be done in a \ctanpkg{fontspec} context, encoding default being (now) |TU| it
% is very unlikely modifying from |TU| or to |TU| from something else will
-% do any good.^^A See
+% do any good.
+%^^A See
%^^A \centeredline{\url{https://tex.stackexchange.com/questions/444565/mathastext-wrong-digits-in-math-mode/}}
%^^A for original report.
% I add workaround here for case of \ctanpkg{fontspec} being
% detected via the |\encodingdefault| setting.
%
-% |1.3t 2018/08/22|: the |1.3s| fix erroneously removed the
+% \mstrelease{1.3t} |2018/08/22|: the \mstrelease{1.3s} fix erroneously removed the
% |OT1->T1| replacement in |TU| context.
%
-% |1.3u|: the whole thing will only get executed At Begin
+% \mstrelease{1.3u}: the whole thing will only get executed At Begin
% Document.
%
% I realize extremely late (|2023/12/28|) I never said explicitly anywhere
@@ -10734,7 +11499,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
% behavior of the package.
% \begin{macrocode}
\ifmst@subdued
-\AtBeginDocument{%
+ \AtBeginDocument{%
\def\mst@reserved#1\getanddefine@fonts\symletters#2#3\@nil{%
\def\mst@normalmv@letter{#2}}%
\expandafter\mst@reserved\mv@normal\@nil
@@ -10773,15 +11538,19 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\else
\mst@tmp@enc
\fi/\mst@reste\endcsname}%
- \expandafter\SetSymbolFont@ \expandafter\mv@normal\mst@normalmv@letter\symmtletterfont
- \expandafter\SetSymbolFont@ \expandafter\mv@bold\mst@boldmv@letter\symmtletterfont
- \expandafter\SetSymbolFont@ \expandafter\mv@normal\mst@normalmv@operator\symmtoperatorfont
- \expandafter\SetSymbolFont@ \expandafter\mv@bold\mst@boldmv@operator\symmtoperatorfont
-\immediate\write\m@ne{}%
+ \expandafter\SetSymbolFont@
+ \expandafter\mv@normal\mst@normalmv@letter\symmtletterfont
+ \expandafter\SetSymbolFont@
+ \expandafter\mv@bold\mst@boldmv@letter\symmtletterfont
+ \expandafter\SetSymbolFont@
+ \expandafter\mv@normal\mst@normalmv@operator\symmtoperatorfont
+ \expandafter\SetSymbolFont@
+ \expandafter\mv@bold\mst@boldmv@operator\symmtoperatorfont
+ \immediate\write\m@ne{}%
\PackageInfo{mathastext}{...entering subdued mode...\MessageBreak ...done}%
-\immediate\write\m@ne{}%
-}% \AtBeginDocument
-\fi % \ifmst@subdued
+ \immediate\write\m@ne{}%
+ }%
+\fi
% \end{macrocode}
%^^A In the short-lived |1.15e| I was doing the following for alphabets:\\
%^^A |\def\mst@reservedc#1#2#3#4{\def\mst@normalmv@mathbf{#4#3}}|\\
diff --git a/macros/latex/contrib/mathastext/mathastext.pdf b/macros/latex/contrib/mathastext/mathastext.pdf
index 6e95227410..635b6149fb 100644
--- a/macros/latex/contrib/mathastext/mathastext.pdf
+++ b/macros/latex/contrib/mathastext/mathastext.pdf
Binary files differ
diff --git a/macros/latex/contrib/mercatormap/CHANGES.md b/macros/latex/contrib/mercatormap/CHANGES.md
new file mode 100644
index 0000000000..49ef66fb7a
--- /dev/null
+++ b/macros/latex/contrib/mercatormap/CHANGES.md
@@ -0,0 +1,176 @@
+# Changelog
+All notable changes to this project will be documented in this file.
+
+The format is based on
+[Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
+and this project adheres to
+[Semantic Versioning](http://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+### Added
+### Changed
+### Deprecated
+### Removed
+### Fixed
+### Security
+
+
+
+## [1.2.0] - 2024-08-05
+
+### Added
+- Command `\ifmrcNPexists` to test existence of a named position
+- Macros `\mrcAnimAngle` and `\l_mermap_anim_angle_fp` to measure
+ the current orthodrome angle
+- Animation example for static maps
+
+### Changed
+- `\mrcNPlat` and `\mrcNPlon` result to 0 now, if named position does not exist
+- `\ifmrcNPinmap` and `\ifmrcNPinvicinity` result to `false` now, if named position does not exist
+- Point definitions on an orthodrome now take an optional angle as result:
+ - Command `mrcNPfromOrthoFraction`
+ - Command `mrcNPfromOrthoFractionNamed`
+ - Command `mrcNPfromOrthoDistance`
+ - Command `mrcNPfromOrthoDistanceNamed`
+
+### Fixed
+- Documentation contained dates from `2023` instead of `2024`
+
+
+
+## [1.1.0] - 2024-08-01
+
+### Added
+- New supply sources (web tile servers):
+ - `thunderforest atlas`
+ - `topplusopen web light`
+ - `topplusopen web light grau`
+- Needed LaTeX version 2023-11-01
+- Point definitions on an orthodrome:
+ - Command `mrcNPfromOrthoFraction`
+ - Command `mrcNPfromOrthoFractionNamed`
+ - Command `mrcNPfromOrthoDistance`
+ - Command `mrcNPfromOrthoDistanceNamed`
+- Animation support:
+ - Environment `mrcAnimation`
+ - Command `\mrcTimewarpIdentity`
+ - Command `\mrcTimewarpSlowStart`
+ - Command `\mrcTimewarpSlowFinal`
+ - Command `\mrcTimewarpSlowStartFinal`
+ - Command `\mrcAnimFrame`
+ - Command `\l_mermap_anim_frame_int`
+ - Command `\mrcAnimTime`
+ - Command `\l_mermap_anim_time_fp`
+ - Command `\mrcAnimScaleDenom`
+ - Command `\l_mermap_anim_scaledenom_fp`
+ - Command `\mrcAnimLatitude`
+ - Command `\l_mermap_anim_lat_fp`
+ - Command `\mrcAnimLongitude`
+ - Command `\l_mermap_anim_lon_fp`
+ - Option `start-position`
+ - Option `named-start-position`
+ - Option `final-position`
+ - Option `named-final-position`
+ - Option `position`
+ - Option `named-position`
+ - Option `frames`
+ - Option `drop-first-frame`
+ - Option `drop-last-frame`
+ - Option `drop-no-frame`
+ - Option `scale-denominators`
+ - Option `common-scale-denominator`
+ - Option `timewarp`
+ - Option `timewarp-identity`
+ - Option `timewarp-slow-start`
+ - Option `timewarp-slow-final`
+ - Option `timewarp-slow-start-final`
+
+### Changed
+- Version history moved from documentation Chapter 11 to this changelog
+- Versioning changed to [Semantic Versioning](http://semver.org/spec/v2.0.0.html)
+ starting with 1.1.0
+- `README` changed to `README.md`
+- Key names start with `mermap` instead of `/mermap` now
+- All common scratch variables like `\l_tmpa_tl` replaced by package variables
+- Orthodrome code
+- Several code further revisions
+
+### Deprecated
+- Stamen Design has discontinued to server map tiles since 2023-07-31.
+ Therefore, all `supply/source` options based on Stamen Design are
+ deprecated now, namely
+ - `stamen terrain`
+ - `stamen terrain-background`
+ - `stamen terrain-labels`
+ - `stamen terrain-lines`
+ - `stamen toner`
+ - `stamen toner-lite`
+ - `stamen toner-hybrid`
+ - `stamen toner-background`
+ - `stamen toner-labels`
+ - `stamen toner-lines`
+ - `stamen watercolor`
+ All these options are now not documented any more, but for some time
+ are still available for old documents with cached map tiles.
+
+### Removed
+- Requirement for packages `expl3`, `xparse`, and `pdftexcmds`
+
+### Fixed
+- Links to the WMS maps of Bundesamt für Kartographie und Geodäsie changed
+- Overwrite warning while generating `maptiles.texpy`
+- Orthodrome drawing with identical starting and final point is now silently ignored
+
+
+
+## [1.02] - 2020-08-06
+
+### Added
+- New options
+ `/mermap/supply/area from marker input` and
+ `/mermap/supply/add area from marker input`
+ which allow to fit a map to a given external list of marker positions.
+- New option `/mermap/fail on missing resource` to control
+ compilation behavior for missing resource files.
+- New marker option `/mermap/marker/distance` with corresponding
+ macro `\mrcmarkerdistance` (issue #2)
+
+### Deprecated
+- Openrouteservice has discontinued mapsurfer tiles since June 2020.
+ Therefore, `/mermap/supply/source=openrouteservice mapsurfer`
+ is deprecated now. It is not documented any more, but
+ for some time it is still available for old documents with
+ cached map tiles.
+
+
+
+## [1.01] - 2020-05-05
+
+### Added
+- New general marker option
+ `/mermap/marker/generic` with corresponding macros
+ `\mrcmarkergeneric` and `\l_mermap_marker_generic_tl`.
+ Also, the marker uuid is made expl3 accessible as `\l_mermap_marker_uuid_tl`.
+- New hyper marker options:
+ - `/mermap/marker/url`
+ - `/mermap/marker/link`
+ - `/mermap/marker/use urls`
+ - `/mermap/marker/ignore urls`
+ - `/mermap/marker/use links`
+ - `/mermap/marker/ignore links`
+
+### Changed
+- User messages for failed Python script calls are changed from warnings to
+ errors to fail fast and to provide more information and hints about
+ possible reasons.
+
+### Fixed
+- Sorting of index key entries fixed for the documentation.
+
+
+
+## [1.00] - 2020-04-20
+
+### Added
+- Initial public release
diff --git a/macros/latex/contrib/mercatormap/README b/macros/latex/contrib/mercatormap/README
deleted file mode 100644
index c33ea99112..0000000000
--- a/macros/latex/contrib/mercatormap/README
+++ /dev/null
@@ -1,43 +0,0 @@
-%% The LaTeX package mercatormap - version 1.02 (2020/08/06)
-%%
-%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
-%% -------------------------------------------------------------------------------------------
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `author-maintained'.
-%%
-%% This work consists of all files listed in README
-%%
-
-The package ...
-
-Contents of the package
-=======================
- 'README' this file
- 'mercatormap.sty' LaTeX package file (style file)
- 'mercatorsupplier.def' LaTeX package file (include file for style)
- 'mercatorpy.def' LaTeX package file (Python generator)
- 'mercatormap.pdf' Documentation
- 'mercatormap.tex' Source code of the documentation (main file)
- '*.doc.*' Source code of the documentation (include files)
- 'mercatormap-example.tex' Source code of an example
- 'mercatormap.bib' Bibliography of the documentation
-
-Installation
-============
-Copy the contents of the 'mercatormap.tds.zip' from CTAN to your local TeX file tree.
-
-Alternatively, put the files to their respective locations within the TeX installation:
- 'mercatormap.sty' -> /tex/latex/mercatormap
- 'mercatorpy.def' -> /tex/latex/mercatormap
- 'mercatorsupplier.def' -> /tex/latex/mercatormap
-
- all other files -> /doc/latex/mercatormap
diff --git a/macros/latex/contrib/mercatormap/README.md b/macros/latex/contrib/mercatormap/README.md
new file mode 100644
index 0000000000..b7b4be29ab
--- /dev/null
+++ b/macros/latex/contrib/mercatormap/README.md
@@ -0,0 +1,50 @@
+# The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
+
+
+> Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+
+> This work may be distributed and/or modified under the
+> conditions of the LaTeX Project Public License, either version 1.3
+> of this license or (at your option) any later version.
+> The latest version of this license is in
+> https://www.latex-project.org/lppl.txt
+> and version 1.3c or later is part of all distributions of LaTeX
+> version 2008-05-04 or later.
+
+> This work has the LPPL maintenance status `author-maintained`.
+
+> This work consists of all files listed in README.md
+
+
+The mercatormap package extends TikZ with tools to
+create map graphics. The provided coordinate system relies on the
+Web Mercator projection used on the Web by OpenStreetMap and others.
+The package supports the seamless integration of graphics
+from public map tile servers by a Python script. Also, common map
+elements like markers, geodetic networks, bar scales, routes, orthodrome
+pieces, and more are part of the package.
+
+
+## Contents of the package
+
+- `README.md` this file
+- `CHANGES.md` log of changes (history)
+- `mercatormap.sty` LaTeX package file (style file)
+- `mercatorsupplier.def` LaTeX package file (include file for style)
+- `mercatorpy.def` LaTeX package file (Python generator)
+- `mercatormap.pdf` Documentation
+- `mercatormap.tex` Source code of the documentation (main file)
+- `*.doc.*` Source code of the documentation (include files)
+- `mercatormap-example.tex` Source code of an example
+- `mercatormap.bib` Bibliography of the documentation
+
+
+## Installation
+
+Copy the contents of the `mercatormap.tds.zip` from CTAN to your local TeX file tree.
+
+Alternatively, put the files to their respective locations within the TeX installation:
+- `mercatormap.sty` -> /tex/latex/mercatormap
+- `mercatorpy.def` -> /tex/latex/mercatormap
+- `mercatorsupplier.def` -> /tex/latex/mercatormap
+- all other files -> /doc/latex/mercatormap
diff --git a/macros/latex/contrib/mercatormap/mercatormap-example.tex b/macros/latex/contrib/mercatormap/mercatormap-example.tex
index 0951bf14d1..333a249590 100644
--- a/macros/latex/contrib/mercatormap/mercatormap-example.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap-example.tex
@@ -1,11 +1,11 @@
% \LaTeX-Main\
% !TeX encoding=UTF-8
%%
-%% The LaTeX package mercatormap - version 1.02 (2020/08/06)
+%% The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
%% mercatormap-example.tex: Example document with a map
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/mercatormap/mercatormap.bib b/macros/latex/contrib/mercatormap/mercatormap.bib
index ef2e9b6213..36a3e976ec 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.bib
+++ b/macros/latex/contrib/mercatormap/mercatormap.bib
@@ -1,4 +1,5 @@
% Encoding: UTF-8
+
% include file of mercatormap.tex (manual of the LaTeX package mercatormap)
@Report{Sturm:2020,
@@ -14,35 +15,27 @@
}
-@manual{package:tikz,
- author = {Till Tantau},
- title = {The TikZ and PGF Packages},
- subtitle = {Manual for version 3.1.5b},
- url = {http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf},
- date = {2020-01-08},
+@Manual{package:tikz,
+ author = {Till Tantau},
+ date = {2023-01-15},
+ title = {The TikZ and PGF Packages},
+ subtitle = {Manual for version 3.1.10},
+ url = {https://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf},
}
-@manual{package:xparse,
- author = {{The \LaTeX3 Project}},
- title = {The xparse package},
- subtitle = {Document command parser},
- url = {http://mirrors.ctan.org/macros/latex/contrib/l3packages/xparse.pdf},
- date = {2020-03-06},
+@Manual{l3kernel:interfaces,
+ author = {{The \LaTeX3 Project}},
+ date = {2024-05-27},
+ title = {The \LaTeX3 Interfaces},
}
-@manual{package:siunitx,
- author = {Joseph Wright},
- title = {siunitx -- A comprehensive (SI) units package},
- url = {http://mirrors.ctan.org/macros/latex/contrib/siunitx/siunitx.pdf},
- date = {2020-02-25},
+@Manual{package:siunitx,
+ author = {Joseph Wright},
+ date = {2024-06-24},
+ title = {siunitx -- A comprehensive (SI) units package},
+ url = {https://mirrors.ctan.org/macros/latex/contrib/siunitx/siunitx.pdf},
}
-
-@manual{package:expl3,
- author = {{The \LaTeX3 Project}},
- title = {The expl3 package and \LaTeX3 programming},
- url = {http://mirrors.ctan.org/macros/latex/contrib/l3kernel/expl3.pdf},
- date = {2020-04-06},
-}
+@Comment{jabref-meta: databaseType:biblatex;}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.animations.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.animations.tex
new file mode 100644
index 0000000000..022b856a61
--- /dev/null
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.animations.tex
@@ -0,0 +1,538 @@
+% !TeX root = mercatormap.tex
+% !TeX encoding=UTF-8
+% !TeX spellcheck=en_US
+% include file of mercatormap.tex (manual of the LaTeX package mercatormap)
+\clearpage
+\section{Animations}\label{sec:animations}%
+
+An animation in the context of map drawing is considered to be a direct movement
+from a starting position to a final position with possible adaption of
+scale denominators.
+
+This package does not provide animation production, but allows to create a
+PDF with a sequence of maps (frames) following such an animation path.
+
+
+%-------------------------------------------------------------------------------
+\subsection{Animation Environment}
+
+\begin{docEnvironment}[doc new=2024-07-31]{mrcAnimation}{\marg{options}}
+ According to the given \meta{options}, the environment loops over the
+ \meta{environment content} several times generating \textit{frames}
+ for an external animation program.
+ A detailed description for the \meta{options} is found in \Fullref{ref:animOptions}.
+ \begin{itemize}
+ \item Basically, the position is moved from
+ a given \refKey{mermap/anim/start-position} with time index |0|
+ following an orthodrome
+ to a \refKey{mermap/anim/final-position} with time index |1|.
+ \item
+ This time interval $[0,1]$ is divided into \refKey{mermap/anim/frames}.
+ The current frame number is denoted by \refCom{mrcAnimFrame},
+ the current time is denoted by \refCom{mrcAnimTime}, and
+ the current position is denoted by
+ \refCom{mrcAnimLatitude} and \refCom{mrcAnimLongitude},
+ alternatively by the named positon \docValue{AnimNP}.
+ \item
+ During movement, a time dependent sequence of \refKey{mermap/anim/scale-denominators}
+ defines the current scale denominator \refCom{mrcAnimScaleDenom}.
+ \item
+ The frames may have an equal time distance or have different time
+ distances using a \refKey{mermap/anim/timewarp}. This could be used
+ to slow down movement near ground and to speed up with more height.
+ \end{itemize}
+ The generated sequence of frames is applicable for
+ \begin{itemize}
+ \item Movement along an orthodrome from starting to final position with an unchanged
+ common scale denominator.
+ \item Zoom in or out on a fixed position.
+ \item Combination of both animations.
+ \item Animated orthodrome drawing on a static map.
+ \end{itemize}
+ For more complex animations, several \refEnv{mrcAnimation} environments may be
+ used consecutively.
+\end{docEnvironment}
+
+\clearpage
+\begin{dispExample*}{breakable}
+ \mrcNPdef{heathrow}{51.4678}{-0.4548}
+ \mrcNPdef{fiumicino}{41.8151}{12.2508}
+
+ \begin{tcbraster}[raster height=22cm,raster columns=4,raster rows=7,
+ tile,size=minimal,boxsep=1pt,colback=black!20 ]
+ \begin{mrcAnimation}
+ {
+ named-start-position = heathrow,
+ named-final-position = fiumicino,
+ frames = 36,
+ scale-denominators = 0/1000000 - 0.3/8000000 - 0.7/8000000 - 1/1000000,
+ timewarp-slow-start-final = 1.5,
+ }
+ \begin{tcolorbox}
+ \begin{tikzpicture}
+ \mermapset
+ {
+ named flex scale = \mrcAnimScaleDenom:AnimNP,
+ }
+ \mrcmap
+ [
+ type = reference,
+ named position = AnimNP,
+ source = topplusopen web,
+ tex width = \tcbtextwidth,
+ tex height = \tcbtextheight
+ ]{london-roma-\mrcAnimFrame}
+ \mrcdrawmap
+ \node[above left,font=\fontsize{3.5pt}{3.5pt}\sffamily]
+ at (mrcmap.south east) {\mrcmapattribution};
+ \mrcclipmap
+ \end{tikzpicture}
+ \end{tcolorbox}
+ \end{mrcAnimation}
+ \end{tcbraster}
+\end{dispExample*}
+
+
+
+\clearpage
+\begin{dispExample*}{breakable}
+ % \usepackage{fontawesome5}
+ \mrcNPdef{heathrow}{51.4678}{-0.4548}
+ \mrcNPdef{lax}{33.9421}{-118.4088}
+ \mrcNPdef{reykjavik}{64.1289}{-21.9369}
+
+ \begin{tcbraster}[raster height=22cm,raster columns=2,raster rows=4,
+ tile,size=minimal,boxsep=1pt,colback=black!20 ]
+ \begin{mrcAnimation}
+ {
+ named-start-position = heathrow,
+ named-final-position = lax,
+ frames = 8,
+ }
+ \begin{tcolorbox}
+ \begin{tikzpicture}
+ \mrcmap
+ [
+ type = areafit,
+ area = {heathrow,lax,reykjavik},
+ source = topplusopen web,
+ tex width = \tcbtextwidth,
+ tex height = \tcbtextheight,
+ flex area fit = 8mm,
+ ]{london-lax-\mrcAnimFrame}
+ \mrcdrawmap
+ \node[above left,font=\fontsize{3.5pt}{3.5pt}\sffamily]
+ at (mrcmap.south east) {\mrcmapattribution};
+ \mrcclipmap
+ \mrcNPdraworthodrome[red,very thick]{heathrow}{AnimNP}
+ \node[red!70!black,rotate=\mrcAnimAngle]
+ at (\mrcNPcs{AnimNP}) {\large\faPlane};
+ \end{tikzpicture}
+ \end{tcolorbox}
+ \end{mrcAnimation}
+ \end{tcbraster}
+\end{dispExample*}
+
+
+\clearpage
+%-------------------------------------------------------------------------------
+\subsection{Animation Options}\label{ref:animOptions}
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = start-position,
+ doc parameter = {=\meta{latitude}/\meta{longitude}},
+ doc description = initially |51.4779/0|
+ },
+ {
+ doc name = named-start-position,
+ doc parameter = {=\meta{name}},
+ }
+ }
+ Starting position of the animation given by
+ \meta{latitude} and \meta{longitude} or by a named position using \meta{name}.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = final-position,
+ doc parameter = {=\meta{latitude}/\meta{longitude}},
+ doc description = initially |51.4779/0|
+ },
+ {
+ doc name = named-final-position,
+ doc parameter = {=\meta{name}},
+ }
+ }
+ Final position of the animation given by
+ \meta{latitude} and \meta{longitude} or by a named position using \meta{name}.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = position,
+ doc parameter = {=\meta{latitude}/\meta{longitude}},
+ doc description = initially |51.4779/0|
+ },
+ {
+ doc name = named-position,
+ doc parameter = {=\meta{name}},
+ }
+ }
+ Fixed position of the animation given by
+ \meta{latitude} and \meta{longitude} or by a named position using \meta{name}.
+ This sets \refKey{mermap/anim/start-position} and
+ \refKey{mermap/anim/final-position} to the identical value.
+\end{docMrcKeys}
+
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = frames,
+ doc parameter = {=\meta{frame number}},
+ doc description = initially |20|
+ },
+ }
+ Integer \meta{frame number} for the animation, at least |2|. For maps made with tiles,
+ even a large \meta{frame number} typically results in limited downloads,
+ because the tiles a reused as far as possible. For WMS maps, every frame
+ could give another download!
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ doc parameter = {\colOpt{=true\textbar false}},
+ doc description = {default |true|, initially |false|},
+ ]{
+ {
+ doc name = drop-first-frame,
+ },
+ {
+ doc name = drop-last-frame,
+ },
+ }
+ If several \refEnv{mrcAnimation} environments are used consecutively,
+ the end frame of one animation is identical to the start frame of the
+ next animation. These options allow to remove one superfluous connecting frame.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = drop-no-frame,
+ doc description = {no value, initially set},
+ },
+ }
+ Reset to drop no frames.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = scale-denominators,
+ doc parameter = {=\marg{time and scale sequence}},
+ doc description = {initially |0/25000-1/25000|},
+ },
+ }
+ The \meta{time and scale sequence} has to obey the following pattern:
+ \par
+ \meta{time$_1$}|/|\meta{scale$_1$} |-|
+ \meta{time$_2$}|/|\meta{scale$_2$} |-| $\ldots$ |-|
+ \meta{time$_n$}|/|\meta{scale$_n$}
+ \par
+ The time values have to be taken from the interval $[0,1]$ and have to be
+ strictly monotonically increasing, i.e.
+ \par
+ $0\le$ \meta{time$_1$} $<$
+ \meta{time$_2$} $<$ $\ldots$ $<$
+ \meta{time$_n$} $\le 1$
+ \par
+ If not given, time and scale for time $0$ and $1$ are automatically added
+ as constant continuation.\par
+ Depending on the current time value \refCom{mrcAnimTime}, the current
+ scale denominator \refCom{mrcAnimScaleDenom} is interpolated from this
+ sequence using a logarithmic approach.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = common-scale-denominator,
+ doc parameter = {=\marg{scale denominator}},
+ doc description = {initially |25000|},
+ },
+ }
+ This is a shortcut for\par
+ \refKey{mermap/anim/scale-denominators} |=|\\
+ \hspace*{5mm} |0/|\marg{scale denominator} |- 1/|\marg{scale denominator}
+ \par
+ Thereby, a fixed \marg{scale denominator} is set for the animation.
+\end{docMrcKeys}
+
+
+\clearpage
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp,
+ doc parameter = {=\meta{macro}},
+ doc description = initially \texttt{\textbackslash mrcTimewarpIdentity}
+ },
+ }
+ \meta{macro} has to be a fully expandable \LaTeX\ macro with one parameter.
+ The expansion has to be a valid |expl3| \meta{floating point expression}
+ denoting a strictly monotonically increasing function mapping from
+ the interval \mbox{$[0,1]$} into \mbox{$[0,1]$} again.
+ This timewarp may slow down and accelerate time over the span from $0$ to $1$.
+\end{docMrcKeys}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcTimewarpIdentity,
+ doc parameter = {=\marg{time}},
+ },
+ }
+ Identity function from \mbox{$[0,1]$} into \mbox{$[0,1]$}.
+\end{docCommands}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp-identity,
+ doc description = {no value, initially set}
+ },
+ }
+ Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpIdentity}.
+ This means that time flows constantly.
+\end{docMrcKeys}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcTimewarpSlowStart,
+ doc parameter = {=\marg{exponent}\marg{time}},
+ doc description = {default |2|}
+ },
+ }
+ Function term $t^{\text{\meta{exponent}}}$
+\end{docCommands}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp-slow-start,
+ doc parameter = \colOpt{=\meta{exponent}},
+ doc description = {default |2|}
+ },
+ }
+ Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpSlowStart}\marg{exponent}.
+ \par
+ If $\text{\meta{exponent}}>1$ is used, time flows slower at the begin of the
+ interval \mbox{$[0,1]$}. This can be used, if a low scale denominator is
+ present at begin of a movement and is becoming larger later. Here, for smoothness,
+ you may want this to have slower speed near ground and larger speed later.
+\end{docMrcKeys}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcTimewarpSlowFinal,
+ doc parameter = {=\marg{exponent}\marg{time}},
+ doc description = {default |2|}
+ },
+ }
+ Function term $1 - (1-t)^{\text{\meta{exponent}}}$
+\end{docCommands}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp-slow-final,
+ doc parameter = \colOpt{=\meta{exponent}},
+ doc description = {default |2|}
+ },
+ }
+ Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpSlowFinal}\marg{exponent}.
+ \par
+ If $\text{\meta{exponent}}>1$ is used, time flows slower at the end of the
+ interval \mbox{$[0,1]$}. This can be used, if a large scale denominator is
+ present at begin of a movement and is becoming lower later. Here, for smoothness,
+ you may want this to have slower speed near ground at the end.
+\end{docMrcKeys}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcTimewarpSlowStartFinal,
+ doc parameter = {=\marg{exponent}\marg{time}},
+ doc description = {default |2|}
+ },
+ }
+ Combination of \refCom{mrcTimewarpSlowStart} and \refCom{mrcTimewarpSlowFinal}
+ using case discrimination for the first and the second half of the intervall.
+\end{docCommands}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp-slow-start-final,
+ doc parameter = \colOpt{=\meta{exponent}},
+ doc description = {default |2|}
+ },
+ }
+ Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpSlowStartFinal}\marg{exponent}.
+ \par
+ If $\text{\meta{exponent}}>1$ is used, time flows slower at the begin and at the end of the
+ interval \mbox{$[0,1]$}. This can be used, if a low scale denominator is
+ present at begin of a movement, becomes larger in the middle, and finally
+ is becoming lower later. Here, for smoothness,
+ you may want this to have slower speed near ground at the begin and the end.
+\end{docMrcKeys}
+
+
+\clearpage
+%-------------------------------------------------------------------------------
+\subsection{Macros inside the Animation Environment}\label{ref:animMacros}
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimFrame,
+ },
+ {
+ doc name = l_mermap_anim_frame_int,
+ },
+ }
+ The current frame number ranging from $1$ to \refKey{mermap/anim/frames}.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimTime,
+ },
+ {
+ doc name = l_mermap_anim_time_fp,
+ },
+ }
+ The current time ranging from $0$ to $1$.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimScaleDenom,
+ },
+ {
+ doc name = l_mermap_anim_scaledenom_fp,
+ },
+ }
+ The current scale denominator according to \refKey{mermap/anim/scale-denominators}.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimLatitude,
+ },
+ {
+ doc name = l_mermap_anim_lat_fp,
+ },
+ }
+ The latitude of the current position.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimLongitude,
+ },
+ {
+ doc name = l_mermap_anim_lon_fp,
+ },
+ }
+ The longitude of the current position.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-08-05,
+ ]{
+ {
+ doc name = mrcAnimAngle,
+ },
+ {
+ doc name = l_mermap_anim_angle_fp,
+ },
+ }
+ Current angle between the tangent vector to the orthodrome and
+ the current parallel circle.
+\end{docCommands}
+
+
+
+
+\docValue{AnimNP}\tcbdocmarginnote{\tcbdocnew{2024-07-31}}:
+ The current named position.
+
+
+
+
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.definition.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.definition.tex
index ad285fb7c9..01667cd1d3 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.definition.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.definition.tex
@@ -23,14 +23,14 @@
\subsection{Option Setting}
\begin{docCommand}{mermapset}{\marg{options}}
Sets \meta{options} for all following maps inside the current \TeX\ group.
- All options share the common prefix |/mermap/|, e.g. for setting
- \refKey{/mermap/vicinity} use
+ All options share the common prefix |mermap/|, e.g. for setting
+ \refKey{mermap/vicinity} use
\begin{dispListing}
\mermapset{vicinity=3cm}
\end{dispListing}
Also see \refCom{mrcdefinemap}, \refCom{mermapsetsupply},
and \refCom{mermapsetmarker}.\par
- Note that the options by \refCom{mermapset} are |expl3| \cite{package:expl3}
+ Note that the options by \refCom{mermapset} are |expl3| \cite{l3kernel:interfaces}
keys while \tikzname\ \cite{package:tikz} uses its own key management.
\end{docCommand}
@@ -45,7 +45,7 @@ See \Fullref{sec:automated_map} for script aided map definitions.
\begin{docCommand}{mrcdefinemap}{\marg{options}}
Establishes a map inside a |tikzpicture| environment following
and applying the given \meta{options}.
- All options share the common prefix |/mermap/mapdef/|.
+ All options share the common prefix |mermap/mapdef/|.
After \refCom{mrcdefinemap} is applied, map drawing and map coordinates
can be used.
\begin{itemize}
@@ -60,25 +60,25 @@ See \Fullref{sec:automated_map} for script aided map definitions.
\begin{docMrcKey}[mapdef]{north}{=\meta{map north latitude}}{no default, initially 50}
Northern latitude degree of the visible map, possibly negative for the southern hemisphere,
- lower than $90$ but always larger than \refKey{/mermap/mapdef/south}.
+ lower than $90$ but always larger than \refKey{mermap/mapdef/south}.
It is accessible as \docAuxCommand{mrcmapnorth} (use read-only).
\end{docMrcKey}
\begin{docMrcKey}[mapdef]{south}{=\meta{map south latitude}}{no default, initially 48}
Southern latitude degree of the visible map, possibly negative for the southern hemisphere,
- larger than $-90$ but always lower than \refKey{/mermap/mapdef/north}.
+ larger than $-90$ but always lower than \refKey{mermap/mapdef/north}.
It is accessible as \docAuxCommand{mrcmapsouth} (use read-only).
\end{docMrcKey}
\begin{docMrcKey}[mapdef]{west}{=\meta{map west longitude}}{no default, initially 11}
Western longitude degree of the visible map, possibly negative for the western hemisphere,
- possibly shifted periodically, but always lower than \refKey{/mermap/mapdef/east}.
+ possibly shifted periodically, but always lower than \refKey{mermap/mapdef/east}.
It is accessible as \docAuxCommand{mrcmapwest} (use read-only).
\end{docMrcKey}
\begin{docMrcKey}[mapdef]{east}{=\meta{map east longitude}}{no default, initially 13}
Eastern longitude degree of the visible map, possibly negative for the western hemisphere,
- possibly shifted periodically, but always larger than \refKey{/mermap/mapdef/west}.
+ possibly shifted periodically, but always larger than \refKey{mermap/mapdef/west}.
It is accessible as \docAuxCommand{mrcmapeast} (use read-only).
\end{docMrcKey}
@@ -149,7 +149,7 @@ information.
\begin{docMrcKey}[mapdef]{attribution print}{=\meta{attribution text}}{no default, initially empty}
Attribution text for the map source.
- In contrast to \refKey{/mermap/mapdef/attribution} it is intended for media
+ In contrast to \refKey{mermap/mapdef/attribution} it is intended for media
that does not support hyperlinks like printed posters, books, etc.
It is accessible as \docAuxCommand{mrcmapattributionprint} (use read-only).
\end{docMrcKey}
@@ -166,7 +166,7 @@ information.
\end{docMrcKey}
\begin{docMrcKey}[mapdef]{tile size}{=\meta{length}}{no default, initially |32.512mm|}
- Typically set computationally. It is identical to \refKey{/mermap/tile size}
+ Typically set computationally. It is identical to \refKey{mermap/tile size}
which is the recommended user option for manual setup.
\end{docMrcKey}
@@ -204,7 +204,7 @@ The border of the visible map is denoted by a \tikzname\ node \docNode{mrcmap}.
\medskip
The |mrc cs| coordinate system defines a map point by
-\refKey{/mermap/cs/latitude} and \refKey{/mermap/cs/longitude}
+\refKey{mermap/cs/latitude} and \refKey{mermap/cs/longitude}
\begin{docMrcKey}[cs]{latitude}{=\meta{latitude}}{no default}
Sets the \meta{latitude} of a map point.
@@ -220,7 +220,7 @@ The |mrc cs| coordinate system defines a map point by
\medskip
A map point can also be defined by shorter variants
-\refKey{/mermap/cs/lat} and \refKey{/mermap/cs/lon}
+\refKey{mermap/cs/lat} and \refKey{mermap/cs/lon}
\begin{docMrcKey}[cs]{lat}{=\meta{latitude}}{no default}
Sets the \meta{latitude} of a map point.
@@ -298,9 +298,10 @@ A map point can be defined even quicker by
\end{docCommand}
-\begin{docCommand}{mrcNPlat}{\marg{name}}
+\begin{docCommand}[doc updated=2024-08-02]{mrcNPlat}{\marg{name}}
Inserts the \emph{latitude} of a \emph{named position} with given \meta{name}.
\refCom{mrcNPlat} is expandable and may be used in floating point expressions.
+ If the \meta{name} does not exist, the macro expands to |0|.
\begin{dispExample}
\mrcNPdef{nuremberg}{49.45522}{11.07631}
Latitude: \mrcNPlat{nuremberg}\\
@@ -309,9 +310,16 @@ A map point can be defined even quicker by
\end{docCommand}
-\begin{docCommand}{mrcNPlon}{\marg{name}}
+\begin{docCommand}[doc updated=2024-08-02]{mrcNPlon}{\marg{name}}
Inserts the \emph{longitude} of a \emph{named position} with given \meta{name}.
\refCom{mrcNPlon} is expandable and may be used in floating point expressions.
+ If the \meta{name} does not exist, the macro expands to |0|.
+\end{docCommand}
+
+
+\begin{docCommand}[doc new=2024-08-02]{ifmrcNPexists}{\marg{name}\marg{true}\marg{false}}
+ If the given \emph{named position} with given \meta{name} exists, the \meta{true} code is executed, otherwise
+ the \meta{false} code.
\end{docCommand}
@@ -356,7 +364,7 @@ Very similar to \refCom{ifmrcinmap} is \refCom{ifmrcinvicinity}.
\begin{docCommand}{ifmrcinvicinity}{\marg{latitude}\marg{longitude}\marg{true}\marg{false}}
If the given \meta{latitude} and \meta{longitude} describes a point
- inside a vicinity of the visible map, i.e. the map \emph{plus} a margin of \refKey{/mermap/vicinity},
+ inside a vicinity of the visible map, i.e. the map \emph{plus} a margin of \refKey{mermap/vicinity},
the \meta{true} code is executed, otherwise
the \meta{false} code.\par
Inside the \meta{true} code a \tikzname\ coordinate \docNode{mrcpos}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.drawing.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.drawing.tex
index dd86fcedbd..0b484da09b 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.drawing.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.drawing.tex
@@ -11,7 +11,7 @@
\begin{docCommand}{mrcdrawmap}{\oarg{options}}
Inside a |tikzpicture| environment, \refCom{mrcdrawmap} draws a map
prepared by \refCom{mrcdefinemap}, \refCom{mrcapplymap}, or \refCom{mrcmap}.
- All \meta{options} share the common prefix |/mermap/|.
+ All \meta{options} share the common prefix |mermap/|.
This is the principal macro to draw a prepared map respectively
the background of the map. The background consists of downloaded map tiles
or just a color rectangle.
@@ -19,10 +19,10 @@
\begin{docMrcKey}{draw}{=\meta{tile draw}}{no default, initially |auto|}
\begin{itemize}
- \item\docValue{auto}: Draws the map according to \refKey{/mermap/mapdef/resource},
+ \item\docValue{auto}: Draws the map according to \refKey{mermap/mapdef/resource},
i.e. downloaded maps or tiles are used, if available.
\item\docValue{path}: Draws the map according to the style given by
- \refKey{/mermap/map path}. Existing map tiles or merged maps are ignored
+ \refKey{mermap/map path}. Existing map tiles or merged maps are ignored
\item\docValue{tiles}: Draws the map with downloaded map tiles, if
available.
\item\docValue{mergedmap}: Draws the map with a merged picture, if
@@ -75,24 +75,24 @@
Typically, the pixel size of a map tile is fixed and a map tile is a
pixel graphics file. The actual size of such an included picture inside
the document is freely selectable. Note that a very small
-\refKey{/mermap/tile size} results in very small map lettering,
-while a very large \refKey{/mermap/tile size} results results in
+\refKey{mermap/tile size} results in very small map lettering,
+while a very large \refKey{mermap/tile size} results results in
very blurred images.
The general idea of a \emph{flexible} tile size is to specify an aspired
-tile size called \refKey{/mermap/flex tile size} and to give \LaTeX\
-the freedom to select \refKey{/mermap/tile size} in \emph{about the same size}
-as \refKey{/mermap/flex tile size}.
+tile size called \refKey{mermap/flex tile size} and to give \LaTeX\
+the freedom to select \refKey{mermap/tile size} in \emph{about the same size}
+as \refKey{mermap/flex tile size}.
This freedom is used to achieve a \emph{pseudo zoom} called
-\refKey{/mermap/flex zoom} which is a nearly arbitrary rational number instead
-of \refKey{/mermap/supply/zoom} which is a natural number.
+\refKey{mermap/flex zoom} which is a nearly arbitrary rational number instead
+of \refKey{mermap/supply/zoom} which is a natural number.
This \emph{pseudo zoom} is applied by several options which share \emph{flex}
in their names, e.g.
-\refKey{/mermap/flex scale}, \refKey{/mermap/named flex scale},
-\refKey{/mermap/supply/flex reference scale},
-\refKey{/mermap/supply/flex area scale},
-\refKey{/mermap/supply/flex area fit}.
+\refKey{mermap/flex scale}, \refKey{mermap/named flex scale},
+\refKey{mermap/supply/flex reference scale},
+\refKey{mermap/supply/flex area scale},
+\refKey{mermap/supply/flex area fit}.
@@ -101,30 +101,30 @@ in their names, e.g.
For standard tiles with 256 times 256 pixels a tile size of
\SI{32.512}{mm} = \SI{1.28}{in} results in an approximate
\SI{200}{dpi} output for the document.
- For a |beamer| document, consider to use a \refKey{/mermap/tile size} of
+ For a |beamer| document, consider to use a \refKey{mermap/tile size} of
\SI{21.333333}{mm} to get approximate 1:1 pixel input and output (depending on |beamer| settings
- and used hardware). Also see \refKey{/mermap/mapdef/tile size}.
+ and used hardware). Also see \refKey{mermap/mapdef/tile size}.
\end{docMrcKey}
\begin{docMrcKey}{flex tile size}{=\meta{length}}{no default, initially |32.512mm|}
Aspired width and height of a tile picture are set to \meta{length}.
- This value is used while applying \refKey{/mermap/flex zoom}.
+ This value is used while applying \refKey{mermap/flex zoom}.
\end{docMrcKey}
\begin{docMrcKey}{flex zoom}{=\meta{pseudo zoom}}{style, no default}
- This style sets \refKey{/mermap/supply/zoom} and \refKey{/mermap/tile size} in combination.
+ This style sets \refKey{mermap/supply/zoom} and \refKey{mermap/tile size} in combination.
\begin{itemize}
\item
If \meta{pseudo zoom} is a natural number,
- \refKey{/mermap/supply/zoom} is set to \meta{pseudo zoom} and
- \refKey{/mermap/tile size} is set to \refKey{/mermap/flex tile size}.
- \item Otherwise, \refKey{/mermap/supply/zoom} is set to the natural number
- closest to \meta{pseudo zoom} and \refKey{/mermap/tile size} is such
+ \refKey{mermap/supply/zoom} is set to \meta{pseudo zoom} and
+ \refKey{mermap/tile size} is set to \refKey{mermap/flex tile size}.
+ \item Otherwise, \refKey{mermap/supply/zoom} is set to the natural number
+ closest to \meta{pseudo zoom} and \refKey{mermap/tile size} is such
enlarged or reduced that the \meta{pseudo zoom} value is simulated,
i.e. the \emph{impression} of a rational zoom factor is given.
\end{itemize}
- Note that \refKey{/mermap/flex zoom} has to be used \emph{before}
+ Note that \refKey{mermap/flex zoom} has to be used \emph{before}
\refCom{mrcsupplymap} or \refCom{mrcmap}, because the zoom setup is
adapted.
\end{docMrcKey}
@@ -133,12 +133,12 @@ in their names, e.g.
\clearpage
\begin{docMrcKey}{flex scale}{=\meta{scale denominator}:\meta{latitude}}{style, no default}
For different latitude scopes, an identical zoom factor produces maps of
- different scale. With \refKey{/mermap/flex scale}, a \refKey{/mermap/flex zoom}
+ different scale. With \refKey{mermap/flex scale}, a \refKey{mermap/flex zoom}
is computed to achieve the given \meta{scale denominator} at a given \meta{latitude}.
Note that this only applies to the center of a map. If the produced
map is not centered at \meta{latitude}, the produced scale may
differ from the intended one.
- Also see \refKey{/mermap/supply/flex reference scale}.
+ Also see \refKey{mermap/supply/flex reference scale}.
\tikzsetnextfilename{drawing_flex_scale}%
\begin{dispExample}
@@ -162,7 +162,7 @@ in their names, e.g.
\begin{docMrcKey}{named flex scale}{=\meta{scale denominator}:\meta{name}}{style, no default}
- Identical to \refKey{/mermap/flex scale}, but used the \emph{named position}
+ Identical to \refKey{mermap/flex scale}, but used the \emph{named position}
\meta{name} to provide a \emph{latitude}, see \Fullref{sec:names_positions}.
\begin{dispListing}
\mrcNPdef{munich}{48.137222}{11.575556}
@@ -179,12 +179,12 @@ in their names, e.g.
\begin{docCommand}{mrcdrawnetwork}{\oarg{options}}
Draws a geodetic network with meridians and parallels.
- All \meta{options} share the common prefix |/mermap/|.
+ All \meta{options} share the common prefix |mermap/|.
The displayed lines are selected automatically according to some tuning
parameters.
- The map is sliced in \emph{about} maximal \refKey{/mermap/network pieces} in each
+ The map is sliced in \emph{about} maximal \refKey{mermap/network pieces} in each
direction. Meridians and parallels share a minimal distance of
- \emph{about} \refKey{/mermap/network distance}. The algorithm is
+ \emph{about} \refKey{mermap/network distance}. The algorithm is
allowed to violate these conditions \emph{somewhat}.
Note that oversized maps are not supported, i.e. maps which are wider
@@ -213,7 +213,7 @@ in their names, e.g.
\begin{docMrcKey}{network pieces}{=\meta{number}}{no default, initially |8|}
The map is sliced in \emph{about} maximal \meta{number} pieces in each
direction. \meta{number} may be exceeded \emph{somewhat}.
- It is underrun to comply with \refKey{/mermap/network distance}.
+ It is underrun to comply with \refKey{mermap/network distance}.
\end{docMrcKey}
@@ -221,7 +221,7 @@ in their names, e.g.
Meridians and parallels share a minimal distance of
\emph{about} \meta{mesh width}.
\meta{mesh width} may be underrun \emph{somewhat}.
- It is exceeded to comply with \refKey{/mermap/network pieces}.
+ It is exceeded to comply with \refKey{mermap/network pieces}.
For parallels on small scale maps, it refers to an averaged mesh width.
\end{docMrcKey}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.examples.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.examples.tex
index 7eb5b5f86e..11c3068f31 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.examples.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.examples.tex
@@ -14,13 +14,13 @@ Note to do all preparations documented in \Fullref{sec:python}.
%-------------------------------------------------------------------------------
\subsection{Reference Position}
-With \refKey{/mermap/supply/type}|=|\docValue{reference} a map with a
+With \refKey{mermap/supply/type}|=|\docValue{reference} a map with a
\emph{reference position} is constructed. Here, Munich is taken as
reference position and center of the map. Since the position is used
more than once, it is stored with \refCom{mrcNPdef} for further reference.
-With \refKey{/mermap/supply/flex reference scale} the scale
+With \refKey{mermap/supply/flex reference scale} the scale
is set to 1:6\,000\,000. For the background map tiles, a
-\refKey{/mermap/supply/source} is selected for download.
+\refKey{mermap/supply/source} is selected for download.
This setup is done by \refCom{mrcmap} while \refCom{mrcdrawmap} draws
the downloaded map tiles.
@@ -84,10 +84,10 @@ the downloaded map tiles.
%-------------------------------------------------------------------------------
\subsection{Fitting Area}
-With \refKey{/mermap/supply/type}|=|\docValue{areafit} a map is constructed
+With \refKey{mermap/supply/type}|=|\docValue{areafit} a map is constructed
where a given area is fitted in. The following example lists some
-US-American cities and constructs an \refKey{/mermap/supply/area} which
-contains all of them. With \refKey{/mermap/supply/flex area fit}|=15mm| a
+US-American cities and constructs an \refKey{mermap/supply/area} which
+contains all of them. With \refKey{mermap/supply/flex area fit}|=15mm| a
border region is added.
@@ -102,7 +102,7 @@ border region is added.
\mrcNPdef{denver}{39.7372435}{-104.997378}
\mrcmap[type=areafit,
area={honolulu,fairbanks,sandiego,miami,boston,denver},
- source=stamen terrain,
+ source=topplusopen web,
tex width=15cm, tex height=11cm,
flex area fit=15mm,
]{examples_fitting_area}
@@ -122,12 +122,12 @@ border region is added.
%-------------------------------------------------------------------------------
\subsection{Fixed Boundaries}
-With \refKey{/mermap/supply/type}|=|\docValue{boundaries} a map is constructed
+With \refKey{mermap/supply/type}|=|\docValue{boundaries} a map is constructed
with fixed boundaries. In contrast to the other map types, the document
map size cannot be given directly but derives from the map setup. This bears
the risk of too large maps. The following example is a map with exact
boundaries \mrcformlat{-45} to \mrcformlat{-10}
-and \mrcformlon{110} to \mrcformlon{155}. A decent \refKey{/mermap/supply/zoom}
+and \mrcformlon{110} to \mrcformlon{155}. A decent \refKey{mermap/supply/zoom}
is 5 (every zoom step doubles the map size in each direction).
\tikzsetnextfilename{examples_boundaries}%
@@ -160,7 +160,7 @@ is 5 (every zoom step doubles the map size in each direction).
\subsection{Map Without Map Tiles}
There is no coercion to use downloaded map tiles, if they are not needed or
-wanted. With \refKey{/mermap/supply/target}|=none| no map tiles are downloaded.
+wanted. With \refKey{mermap/supply/target}|=none| no map tiles are downloaded.
The following example draws a rough polygon shape of Germany using
\refEnv{mrcroute*}.
@@ -299,7 +299,7 @@ The following example draws a rough polygon shape of Germany using
%-------------------------------------------------------------------------------
\subsection{Alignment of the Reference Position}
-With \refKey{/mermap/supply/align} the reference position can be aligned
+With \refKey{mermap/supply/align} the reference position can be aligned
at different map positions.
\tikzsetnextfilename{examples_alignment}%
@@ -332,13 +332,13 @@ at different map positions.
\subsection{Flexible Zoom}
Map tiles are only provided at fixed zoom levels with natural numbers,
-but the package allows a \refKey{/mermap/flex zoom} with rational numbers.
+but the package allows a \refKey{mermap/flex zoom} with rational numbers.
The flexible zoom is realized by combining a suitable fixed zoom with
an adapted document tile scaling, see \Fullref{sec:flexible_tile_size}.
The following example shows a more or less smooth zoom increase.
The same technique is used by all options starting with |flex|, e.g.
-\refKey{/mermap/supply/flex reference scale}
-or \refKey{/mermap/supply/flex area fit}
+\refKey{mermap/supply/flex reference scale}
+or \refKey{mermap/supply/flex area fit}
as seen in the examples before.
\tikzexternaldisable
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.intro.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.intro.tex
index 294f5e278f..29514fb0f0 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.intro.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.intro.tex
@@ -18,9 +18,7 @@ and the algorithms of this packages, you are invited to read
\enquote{\fullcite{Sturm:2020}}.
With very few exceptions, the package is programmed with the
-|expl3| \cite{package:expl3} programming interface for \LaTeX3
-and loads the packages
-|xparse| \cite{package:xparse} and |siunitx| \cite{package:siunitx}.
+|expl3| programming interface for \LaTeX3 \cite{l3kernel:interfaces}.
\medskip
@@ -103,7 +101,7 @@ This should give a version number starting with 3. Otherwise, try
\begin{dispListing}
python3 --version
\end{dispListing}
-If this is successful, \refKey{/mermap/python} has to be adapted to |python3|
+If this is successful, \refKey{mermap/python} has to be adapted to |python3|
\subsubsection{Python Packages}
The Python packages |Pillow| (\url{https://pypi.org/project/Pillow/})
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.limitations.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.limitations.tex
index 0c44427ca5..70a08de273 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.limitations.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.limitations.tex
@@ -42,8 +42,8 @@
remember that the eastern hemisphere lies \emph{west} and
the western hemisphere lies \emph{east} for your map.
Consider the following example displaying Vladivostok and Anchorage.
- Here, \refKey{/mermap/supply/west} is set to \ang{130}\,E (|130|)
- and \refKey{/mermap/supply/east} is set to \ang{149}\,W (|211| instead of |-149|).
+ Here, \refKey{mermap/supply/west} is set to \ang{130}\,E (|130|)
+ and \refKey{mermap/supply/east} is set to \ang{149}\,W (|211| instead of |-149|).
There is some automatic correction for positions to fit inside the
defined map (see Anchorage in the example below), but
@@ -123,7 +123,7 @@
\tikzsetnextfilename{limit_zoom_scale_1}
\begin{dispExample}
- \mermapsetsupply{source=stamen terrain, type=reference, zoom=12,
+ \mermapsetsupply{source=topplusopen web, type=reference, zoom=12,
tex width=7cm, tex height=5cm}
\begin{tikzpicture}
\mrcmap[latitude=59.91,longitude=10.75]{oslo1} \mrcdrawmap
@@ -133,12 +133,12 @@
\begin{center}\fontsize{7pt}{7pt}\sffamily\mrcmapattribution\end{center}
\end{dispExample}
- Same example again, but with \refKey{/mermap/flex scale} which gives
+ Same example again, but with \refKey{mermap/flex scale} which gives
1:150000 for both cities and comparable maps.
\tikzsetnextfilename{limit_zoom_scale_2}
\begin{dispExample}
- \mermapsetsupply{source=stamen terrain, type=reference}
+ \mermapsetsupply{source=topplusopen web, type=reference}
\begin{tikzpicture}
\mrcmap[latitude=59.91,longitude=10.75, flex reference scale=150000,
tex width=7cm, tex height=5cm]{oslo2} \mrcdrawmap
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.maptiles.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.maptiles.tex
index 9786414753..aa306f5962 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.maptiles.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.maptiles.tex
@@ -73,7 +73,7 @@ accompanying Python script. The technical background is documented in
\cite[Section~5]{Sturm:2020}.
\begin{enumerate}
-\item \refKey{/mermap/supply/type}|=|\docValue{reference}:
+\item \refKey{mermap/supply/type}|=|\docValue{reference}:
\tcbsidebyside[sidebyside adapt=left,blankest,grow to left by=1cm]
{
\tikzexternaldisable
@@ -85,12 +85,12 @@ accompanying Python script. The technical background is documented in
}{
The default method determines the map dimensions from a reference
position and given document map dimensions.
- Also, a zoom level \refKey{/mermap/supply/zoom}
+ Also, a zoom level \refKey{mermap/supply/zoom}
is required which relates to the Web Mercator map tile covering of the Earth.
A higher zoom level gives a growing number of smaller map tiles.
Alternative to the zoom level, a \meta{scale denominator} can be provided
- by \refKey{/mermap/supply/flex area scale}, \refKey{/mermap/flex scale}
- or \refKey{/mermap/supply/flex reference scale} which determines
+ by \refKey{mermap/supply/flex area scale}, \refKey{mermap/flex scale}
+ or \refKey{mermap/supply/flex reference scale} which determines
the zoom level implicitly.
As default, the reference position is the center of the map, but can be
aligned at the map borders. This method is quite safe to use and could
@@ -100,7 +100,7 @@ accompanying Python script. The technical background is documented in
be more tricky.
}
-\item \refKey{/mermap/supply/type}|=|\docValue{areafit}:
+\item \refKey{mermap/supply/type}|=|\docValue{areafit}:
\tcbsidebyside[sidebyside adapt=left,blankest,grow to left by=1cm]
{
\tikzexternaldisable
@@ -114,7 +114,7 @@ accompanying Python script. The technical background is documented in
The map dimensions are determined by an area with
latitude and longitude boundaries which is fitted into given
document map dimensions. The zoom level is computed accordingly
- for a fixed document tile size or by \refKey{/mermap/supply/flex area fit}.
+ for a fixed document tile size or by \refKey{mermap/supply/flex area fit}.
In any case, the map contains the target area plus some protrusion.
This method is also quite safe to use and may be
the preferred one for many applications like showing a map which contains
@@ -123,7 +123,7 @@ accompanying Python script. The technical background is documented in
the third method can be regarded.
}
-\item \refKey{/mermap/supply/type}|=|\docValue{boundaries}:
+\item \refKey{mermap/supply/type}|=|\docValue{boundaries}:
\tcbsidebyside[sidebyside adapt=left,blankest,grow to left by=1cm]
{
\tikzexternaldisable
@@ -134,11 +134,11 @@ accompanying Python script. The technical background is documented in
}{
The most obvious method determines the map dimensions from
latitude and longitude boundaries. For this, a corresponding zoom level
- \refKey{/mermap/supply/zoom}
+ \refKey{mermap/supply/zoom}
is required which relates to the Web Mercator map tile covering of the Earth.
Alternative to the zoom level, a \meta{scale denominator} can be provided
- by \refKey{/mermap/supply/flex area scale}
- or \refKey{/mermap/supply/flex reference scale} which determines
+ by \refKey{mermap/supply/flex area scale}
+ or \refKey{mermap/supply/flex reference scale} which determines
the zoom level implicitly.
Note that a too high zoom level imposes the risk of downloading an unwanted
high quantity of map tiles resulting in a much too large document map.
@@ -156,9 +156,9 @@ accompanying Python script. The technical background is documented in
\begin{docCommand}{mrcsupplymap}{\oarg{options}\marg{definition}}
The \meta{options} provide parameters for the Python~3 script to supply all
materials for a map.
- All options share the common prefix |/mermap/supply/|.\par
+ All options share the common prefix |mermap/supply/|.\par
The map is identified by\\
- \meta{id}=\refKey{/mermap/definition prefix}+\meta{definition}\\
+ \meta{id}=\refKey{mermap/definition prefix}+\meta{definition}\\
for later drawing.
This identifier \meta{id} has to be unique for the document.
It corresponds to generated files \meta{id}|.def|, \meta{id}|.md5|, and
@@ -172,8 +172,8 @@ accompanying Python script. The technical background is documented in
\begin{docCommand}{mermapsetsupply}{\marg{options}}
Sets \meta{options} for all following maps inside the current \TeX\ group.
- All options share the common prefix |/mermap/supply/|, e.g. for setting
- \refKey{/mermap/supply/type} use
+ All options share the common prefix |mermap/supply/|, e.g. for setting
+ \refKey{mermap/supply/type} use
\begin{dispListing}
\mermapsetsupply{type=reference}
\end{dispListing}
@@ -184,7 +184,7 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}{definition prefix}{=\meta{definition prefix}}{no default, initially |maps/|}
Prefix for map identifiers and generated map files, see \refCom{mrcsupplymap}
and \refCom{mrcapplymap}.
- Note that \refKey{/mermap/definition prefix} is not to be used inside
+ Note that \refKey{mermap/definition prefix} is not to be used inside
the option list for \refCom{mrcsupplymap}.
\end{docMrcKey}
@@ -193,30 +193,30 @@ accompanying Python script. The technical background is documented in
\begin{itemize}
\item\docValue{reference}: \flqq map with reference position\frqq\\
The map is constructed from a given reference position
- \refKey{/mermap/supply/latitude},\\
- \refKey{/mermap/supply/longitude},\\
- a zoom level \refKey{/mermap/supply/zoom},\\
+ \refKey{mermap/supply/latitude},\\
+ \refKey{mermap/supply/longitude},\\
+ a zoom level \refKey{mermap/supply/zoom},\\
map dimensions\\
- \refKey{/mermap/supply/width},\\
- \refKey{/mermap/supply/height},\\
- and alignment \refKey{/mermap/supply/align}.
+ \refKey{mermap/supply/width},\\
+ \refKey{mermap/supply/height},\\
+ and alignment \refKey{mermap/supply/align}.
\item\docValue{areafit}: \flqq map fitting an area\frqq\\
The map is constructed from a given area boundaries\\
- \refKey{/mermap/supply/west},\\
- \refKey{/mermap/supply/east},\\
- \refKey{/mermap/supply/north},\\
- \refKey{/mermap/supply/south},\\
+ \refKey{mermap/supply/west},\\
+ \refKey{mermap/supply/east},\\
+ \refKey{mermap/supply/north},\\
+ \refKey{mermap/supply/south},\\
map dimensions\\
- \refKey{/mermap/supply/width},\\
- \refKey{/mermap/supply/height},\\
- and alignment \refKey{/mermap/supply/align}.
+ \refKey{mermap/supply/width},\\
+ \refKey{mermap/supply/height},\\
+ and alignment \refKey{mermap/supply/align}.
\item\docValue{boundaries}: \flqq map with boundaries\frqq\\
The map is constructed from given boundaries\\
- \refKey{/mermap/supply/west},\\
- \refKey{/mermap/supply/east},\\
- \refKey{/mermap/supply/north},\\
- \refKey{/mermap/supply/south},\\
- and zoom level \refKey{/mermap/supply/zoom}.
+ \refKey{mermap/supply/west},\\
+ \refKey{mermap/supply/east},\\
+ \refKey{mermap/supply/north},\\
+ \refKey{mermap/supply/south},\\
+ and zoom level \refKey{mermap/supply/zoom}.
\end{itemize}
\end{docMrcKey}
@@ -229,25 +229,25 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{north}{=\meta{setup north latitude}}{no default, initially |50|}
Northern latitude degree, possibly negative for the southern hemisphere,
- lower than $90$ but always larger than \refKey{/mermap/supply/south}.
+ lower than $90$ but always larger than \refKey{mermap/supply/south}.
Used for map types \docValue{boundaries} and \docValue{areafit}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{south}{=\meta{setup south latitude}}{no default, initially |48|}
Southern latitude degree, possibly negative for the southern hemisphere,
- larger than $-90$ but always lower than \refKey{/mermap/supply/north}.
+ larger than $-90$ but always lower than \refKey{mermap/supply/north}.
Used for map types \docValue{boundaries} and \docValue{areafit}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{west}{=\meta{setup west longitude}}{no default, initially |11|}
Western longitude degree, possibly negative for the western hemisphere,
- possibly shifted periodically, but always lower than \refKey{/mermap/supply/east}.
+ possibly shifted periodically, but always lower than \refKey{mermap/supply/east}.
Used for map types \docValue{boundaries} and \docValue{areafit}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{east}{=\meta{setup east longitude}}{no default, initially |13|}
Eastern longitude degree, possibly negative for the western hemisphere,
- possibly shifted periodically, but always larger than \refKey{/mermap/supply/west}.
+ possibly shifted periodically, but always larger than \refKey{mermap/supply/west}.
Used for map types \docValue{boundaries} and \docValue{areafit}.
\end{docMrcKey}
@@ -262,19 +262,19 @@ accompanying Python script. The technical background is documented in
{ doc name = add area },
}
Sets
- \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south},
- \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east}
+ \refKey{mermap/supply/north}, \refKey{mermap/supply/south},
+ \refKey{mermap/supply/west}, \refKey{mermap/supply/east}
according to the given \meta{comma separated list of named positions}, i.e.
the described area contains all these positions.\\
- \refKey{/mermap/supply/area} resets the current area which requires
+ \refKey{mermap/supply/area} resets the current area which requires
at least two points inside the list.\\
- \refKey{/mermap/supply/add area} does not reset the current area,
+ \refKey{mermap/supply/add area} does not reset the current area,
i.e. the positions are added to the
current area which possibly grows to fit all positions.\\
Also note to take special care, if the international dateline is on your
resulting map, see \Fullref{sec:dateline}.
Used for map types \docValue{boundaries} and \docValue{areafit}
- or in combination with \refKey{/mermap/supply/area to reference} also
+ or in combination with \refKey{mermap/supply/area to reference} also
for for map type \docValue{reference}.
\end{docMrcKeys}
@@ -290,19 +290,19 @@ accompanying Python script. The technical background is documented in
{ doc name = add area from marker input },
}
Sets
- \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south},
- \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east}
+ \refKey{mermap/supply/north}, \refKey{mermap/supply/south},
+ \refKey{mermap/supply/west}, \refKey{mermap/supply/east}
according to the given \refCom{mrcmarker} positions contained in a
file with the given \meta{file name}.\\
- \refKey{/mermap/supply/area from marker input} resets the current area which requires
+ \refKey{mermap/supply/area from marker input} resets the current area which requires
at least two marker positions inside the file.\\
- \refKey{/mermap/supply/add area from marker input} does not reset the current area,
+ \refKey{mermap/supply/add area from marker input} does not reset the current area,
i.e. the positions are added to the
current area which possibly grows to fit all positions.\\
Also note to take special care, if the international dateline is on your
resulting map, see \Fullref{sec:dateline}.
Used for map types \docValue{boundaries} and \docValue{areafit}
- or in combination with \refKey{/mermap/supply/area to reference} also
+ or in combination with \refKey{mermap/supply/area to reference} also
for for map type \docValue{reference}.
\end{docMrcKeys}
@@ -310,10 +310,10 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{area to reference}{}{no value, initially unset}
The map settings
- \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south},
- \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east}
+ \refKey{mermap/supply/north}, \refKey{mermap/supply/south},
+ \refKey{mermap/supply/west}, \refKey{mermap/supply/east}
are taken to compute the map center. This center position is saved
- to \refKey{/mermap/supply/latitude} and \refKey{/mermap/supply/longitude}.
+ to \refKey{mermap/supply/latitude} and \refKey{mermap/supply/longitude}.
Used for map type \docValue{reference}.
\end{docMrcKey}
@@ -352,8 +352,8 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{tex width}{=\meta{width}}{style, no default}
Width of the map as \TeX\ dimension.
- This is a style to compute \refKey{/mermap/supply/width} according to
- the current \refKey{/mermap/tile size}.
+ This is a style to compute \refKey{mermap/supply/width} according to
+ the current \refKey{mermap/tile size}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{height}{=\meta{setup height in tiles}}{no default, initially |4|}
@@ -363,8 +363,8 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{tex height}{=\meta{width}}{style, no default}
Height of the map as \TeX\ dimension.
- This is a style to compute \refKey{/mermap/supply/height} according to
- the current \refKey{/mermap/tile size}.
+ This is a style to compute \refKey{mermap/supply/height} according to
+ the current \refKey{mermap/tile size}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{align}{=\meta{setup alignment}}{no default, initially |center|}
@@ -379,12 +379,12 @@ accompanying Python script. The technical background is documented in
\begin{itemize}
\item\docValue{none}: No tiles are downloaded and no merged map is generated, just map computation.
This is the fastest method and needs no tile supplier.
- \item\docValue{tiles}: Download map tiles from a tile map service (TMS) \refKey{/mermap/supply/url}.
+ \item\docValue{tiles}: Download map tiles from a tile map service (TMS) \refKey{mermap/supply/url}.
Compilation of a document with map tile takes longer than compilation
with a merged map and transparency should not be used with tiles,
but the resulting document is smaller than a document with merged maps.
\item\docValue{mergedmap}: Download map tiles from a tile map service (TMS)
- \refKey{/mermap/supply/url} and merge them into a single map picture.
+ \refKey{mermap/supply/url} and merge them into a single map picture.
This speeds compilation and allows transparency effects, but
the resulting document is possibly larger than a document with map tiles,
because map tiles often are optimized 8-bit image files while the merged
@@ -394,7 +394,7 @@ accompanying Python script. The technical background is documented in
may differ (shift/size) from the more accurate tile representation by
one pixel.
\item\docValue{wmsmap}: Download a single map from a web map service (WMS)
- \refKey{/mermap/supply/url}. Internally, the package treats a WMS like
+ \refKey{mermap/supply/url}. Internally, the package treats a WMS like
a tile map service including all tile calculations. Actually, a single
file is downloaded.
\end{itemize}
@@ -404,7 +404,7 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[][doc new=2020-08-06]{fail on missing resource}{\colOpt{=true\textbar false}}{default |true|, initially |true|}
If set to |true|, compilation stops with an error, if
- \refKey{/mermap/supply/target} and \refKey{/mermap/mapdef/resource} are different.
+ \refKey{mermap/supply/target} and \refKey{mermap/mapdef/resource} are different.
Typically, this means that something went wrong while trying to download
map tiles. Set this option temporarily to |false|,
if the map tile service or the internet
@@ -427,7 +427,7 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{url with api key}{=\marg{prefix}\marg{name}\marg{postfix}}{no default}
- This is an alternative version of \refKey{/mermap/supply/url}.
+ This is an alternative version of \refKey{mermap/supply/url}.
The URL is constructed from some fixed \meta{prefix} and \meta{postfix} with
an API key in between. The API key is retrieved by \meta{name} from a
repository filled by \refCom{mrcsetapikey}.
@@ -442,7 +442,7 @@ accompanying Python script. The technical background is documented in
Stores an API key \meta{value} for access with the given \meta{name}.
Typically, \meta{value} is a received ID from a map tile service provider
after personal registration. \meta{name} is a placeholder which is used
- inside \refKey{/mermap/supply/url with api key} to mark the insertion
+ inside \refKey{mermap/supply/url with api key} to mark the insertion
point for the API key.
\begin{dispListing}
\mrcsetapikey{myservice}{....K942XY....}
@@ -454,7 +454,7 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{attribution}{=\meta{attribution text}}{no default, initially empty}
Attribution text for the map source. Typically, it acknowledges the copyright
of the map data provider. It may contain hyperlinks.
- It is used to set up \refKey{/mermap/mapdef/attribution} afterwards
+ It is used to set up \refKey{mermap/mapdef/attribution} afterwards
and it is accessible as \docAuxCommand{mrcmapattribution} (use read-only).\par
For technical reasons, do not use \verb+"+. \docAuxCommand{mrcumlaut}
may be used for masking umlauts, e.g. use \verb+\mrcumlaut{u}+ instead of
@@ -463,9 +463,9 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{attribution print}{=\meta{attribution text}}{no default, initially empty}
Attribution text for the map source.
- In contrast to \refKey{/mermap/supply/attribution} it is intended for media
+ In contrast to \refKey{mermap/supply/attribution} it is intended for media
that does not support hyperlinks like printed posters, books, etc.
- It is used to set up \refKey{/mermap/mapdef/attribution print} afterwards
+ It is used to set up \refKey{mermap/mapdef/attribution print} afterwards
and it is accessible as \docAuxCommand{mrcmapattributionprint} (use read-only).
\end{docMrcKey}
@@ -477,10 +477,10 @@ accompanying Python script. The technical background is documented in
\clearpage
\begin{docMrcKey}[supply]{flex reference scale}{=\meta{scale denominator}}{no default}
- With the given \meta{scale denominator}, an appropriate \refKey{/mermap/supply/zoom}
- and \refKey{/mermap/tile size} is computed. Note that
+ With the given \meta{scale denominator}, an appropriate \refKey{mermap/supply/zoom}
+ and \refKey{mermap/tile size} is computed. Note that
the \meta{scale denominator}
- always applies to the current \refKey{/mermap/supply/latitude}
+ always applies to the current \refKey{mermap/supply/latitude}
and is used for map type \docValue{boundaries} and \docValue{reference}.
For example, if the reference point is on the north side of the map,
also the \meta{scale denominator}
@@ -489,16 +489,16 @@ accompanying Python script. The technical background is documented in
Note to take special care to the order of the options.
\begin{itemize}
\item The reference point has to be set \emph{before}
- \refKey{/mermap/supply/flex reference scale}, e.g. by
- \refKey{/mermap/supply/latitude}, \refKey{/mermap/supply/position},
- \refKey{/mermap/supply/named position}.
- \item \refKey{/mermap/supply/tex height}, \refKey{/mermap/supply/tex width}
+ \refKey{mermap/supply/flex reference scale}, e.g. by
+ \refKey{mermap/supply/latitude}, \refKey{mermap/supply/position},
+ \refKey{mermap/supply/named position}.
+ \item \refKey{mermap/supply/tex height}, \refKey{mermap/supply/tex width}
(only for map type \docValue{reference})
- have to be set \emph{after} \refKey{/mermap/supply/flex reference scale},
- because the \refKey{/mermap/tile size} is adapted.
+ have to be set \emph{after} \refKey{mermap/supply/flex reference scale},
+ because the \refKey{mermap/tile size} is adapted.
\end{itemize}
- Also see \refKey{/mermap/flex tile size}, \refKey{/mermap/flex zoom},
- and \refKey{/mermap/flex scale}.
+ Also see \refKey{mermap/flex tile size}, \refKey{mermap/flex zoom},
+ and \refKey{mermap/flex scale}.
\tikzsetnextfilename{maptiles_flex_reference_scale}%
\begin{dispExample}
\begin{tikzpicture}
@@ -519,17 +519,17 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{flex area scale}{=\meta{scale denominator}}{no default}
- This is a shortcut for setting \refKey{/mermap/supply/area to reference}
- and \refKey{/mermap/supply/flex reference scale}=\meta{scale denominator}.
+ This is a shortcut for setting \refKey{mermap/supply/area to reference}
+ and \refKey{mermap/supply/flex reference scale}=\meta{scale denominator}.
Used for map type \docValue{boundaries} and \docValue{reference}.
Note to take special care to the order of the options.
\begin{itemize}
\item The reference point has to be set \emph{before}
- \refKey{/mermap/supply/flex area scale}.
- \item \refKey{/mermap/supply/tex height}, \refKey{/mermap/supply/tex width}
+ \refKey{mermap/supply/flex area scale}.
+ \item \refKey{mermap/supply/tex height}, \refKey{mermap/supply/tex width}
(only for map type \docValue{reference})
- have to be set \emph{after} \refKey{/mermap/supply/flex reference scale}.
+ have to be set \emph{after} \refKey{mermap/supply/flex reference scale}.
\end{itemize}
\end{docMrcKey}
@@ -538,13 +538,13 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{flex area fit}{\colOpt{=\meta{size}}}{default |0pt|}
This key can be used for map type \docValue{areafit} as \emph{final}
option \emph{after} all other options.
- It applies a fine tuning to \refKey{/mermap/tile size},
- \refKey{/mermap/supply/width}, and \refKey{/mermap/supply/height} such
+ It applies a fine tuning to \refKey{mermap/tile size},
+ \refKey{mermap/supply/width}, and \refKey{mermap/supply/height} such
that the defined area fits exactly into the map region.
If a \meta{size} is specified, width and height are reduced for the
calculation by this \meta{size}, e.g. \meta{size}|=1cm| ensures a
border of |5mm| on each side.
- Also see \refKey{/mermap/flex tile size} and \refKey{/mermap/flex zoom}.
+ Also see \refKey{mermap/flex tile size} and \refKey{mermap/flex zoom}.
\tikzsetnextfilename{maptiles_flex_area_fit}%
\begin{dispExample}
@@ -580,24 +580,24 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{dpi}{=\meta{dpi value}}{style, no default}
- This style sets \refKey{/mermap/supply/pixel} such that the given \meta{dpi value}
+ This style sets \refKey{mermap/supply/pixel} such that the given \meta{dpi value}
is resulting (approximately).
\begin{itemize}
\item Note that this only applies for WMS Servers and not for
TMS (Tile Map Service) Servers,
- because there \refKey{/mermap/supply/pixel} is a fixed number depending on
+ because there \refKey{mermap/supply/pixel} is a fixed number depending on
Server settings and cannot be chosen arbitrarily.
\item A high \meta{dpi value} results in large downloaded map files.
If the server does not provide a high resolution map, you will get
unnecessary large files with blurred content.
\item The \meta{dpi value} for TMS data can be changed by adapting
- \refKey{/mermap/tile size} or \refKey{/mermap/flex tile size}.
+ \refKey{mermap/tile size} or \refKey{mermap/flex tile size}.
\end{itemize}
\tikzsetnextfilename{maptiles_dpi_value}
\begin{dispExample}
\begin{tikzpicture}
- \mrcmap[type=reference,latitude=48.14,longitude=11.57,
+ \mrcmap[type=reference,latitude=48.14,longitude=11.57,
flex reference scale=250000,
source=topplusopen p250, target=wmsmap, dpi=300,
tex width=\linewidth,tex height=5cm]{dpi_value}
@@ -654,7 +654,7 @@ map data is free for everyone to use.
\textbf{But, map tile servers based on OpenStreetMap are not necessarily free}.
A list of online raster tile servers based on OpenStreetMap data is found here:\\
-\url{https://wiki.openstreetmap.org/wiki/Tile_servers}
+\url{https://wiki.openstreetmap.org/wiki/Raster_tile_providers}
\begin{itemize}
\item\bfseries I do not run a map tile server.
@@ -681,8 +681,8 @@ want to add more to avoid any legal uncertainties.
\medskip
\begin{docMrcKey}[supply]{source}{=\meta{source}}{style, no default}
- This style sets \refKey{/mermap/supply/url}, \refKey{/mermap/supply/attribution},\\
- \refKey{/mermap/supply/attribution print} and \refKey{/mermap/supply/basename}.\\
+ This style sets \refKey{mermap/supply/url}, \refKey{mermap/supply/attribution},\\
+ \refKey{mermap/supply/attribution print} and \refKey{mermap/supply/basename}.\\
Feasible values for \meta{source} are:
%\mermapset{tile size=3.2512cm}
\newcommand{\mapexample}[3][]{%
@@ -690,10 +690,10 @@ want to add more to avoid any legal uncertainties.
\mermapset{supply/source=#2}%
\begin{itemize}
\item Required attribution (\docAuxCommand{mrcmapattribution}):
- \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left]
+ \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left,before skip=2pt]
\mrcmapattribution\end{tcolorbox}
\item Required attribution for media without hyperlinks (\docAuxCommand{mrcmapattributionprint}):
- \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left]
+ \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left,before skip=2pt]
\mrcmapattributionprint\end{tcolorbox}
%\par\smallskip\
\end{itemize}
@@ -713,71 +713,13 @@ want to add more to avoid any legal uncertainties.
Dummy tile server at loopback |127.0.0.1| for test purposes.
\item\docValue{opentopomap}:\\
- Tile server (TMS) of \href{http://opentopomap.org/}{OpenTopoMap}.
+ Tile server (TMS) of \href{https://opentopomap.org/}{OpenTopoMap}.
\begin{itemize}
\item Usage (German language): \url{https://opentopomap.org/about#verwendung}
\end{itemize}
\mapexample{opentopomap}{opentopomap}
\clearpage
- \item\docValue{stamen terrain}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#terrain}
- \mapexample{stamen terrain}{stamen_terrain}
-
- \item\docValue{stamen terrain-background}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#terrain-background}
- \mapexample{stamen terrain-background}{stamen_terrain-background}
-
- \item\docValue{stamen terrain-labels}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#terrain-labels}
- \mapexample{stamen terrain-labels}{stamen_terrain-labels}
-
-\clearpage
- \item\docValue{stamen terrain-lines}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#terrain-lines}
- \mapexample{stamen terrain-lines}{stamen_terrain-lines}
-
- \item\docValue{stamen toner}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner}
- \mapexample{stamen toner}{stamen_toner}
-
- \item\docValue{stamen toner-lite}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-lite}
- \mapexample{stamen toner-lite}{stamen_toner-lite}
-
-\clearpage
- \item\docValue{stamen toner-hybrid}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-hybrid}
- \mapexample{stamen toner-hybrid}{stamen_toner-hybrid}
-
- \item\docValue{stamen toner-background}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-background}
- \mapexample{stamen toner-background}{stamen_toner-background}
-
- \item\docValue{stamen toner-labels}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-labels}
- \mapexample{stamen toner-labels}{stamen_toner-labels}
-
-\clearpage
- \item\docValue{stamen toner-lines}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-lines}
- \mapexample{stamen toner-lines}{stamen_toner-lines}
-
- \item\docValue{stamen watercolor}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#watercolor}
- \mapexample{stamen watercolor}{stamen_watercolor}
-
\item\docValue{thunderforest opencyclemap}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -789,7 +731,6 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest opencyclemap}{thunderforest_opencyclemap}
-\clearpage
\item\docValue{thunderforest transport}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -812,6 +753,7 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest landscape}{thunderforest_landscape}
+\clearpage
\item\docValue{thunderforest outdoors}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -823,7 +765,17 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest outdoors}{thunderforest_outdoors}
-\clearpage
+ \item\docValue{thunderforest atlas}:\tcbdocmarginnote{\tcbdocnew{2024-07-29}}\\
+ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
+ A registered \meta{api-key} is needed (free plan available)
+ which is applied by\\
+ \refCom{mrcsetapikey}\brackets{\docValue{thunderforest}}\marg{api-key}.
+ \begin{itemize}
+ \item Usage: \url{https://www.thunderforest.com/terms}
+ \item API documentation: \url{https://www.thunderforest.com/maps/atlas}
+ \end{itemize}
+ \mapexample{thunderforest atlas}{thunderforest_atlas}
+
\item\docValue{thunderforest transport-dark}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -835,6 +787,7 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest transport-dark}{thunderforest_transport-dark}
+\clearpage
\item\docValue{thunderforest spinal-map}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -857,7 +810,6 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest pioneer}{thunderforest_pioneer}
-\clearpage
\item\docValue{thunderforest mobile-atlas}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -869,6 +821,7 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest mobile-atlas}{thunderforest_mobile-atlas}
+\clearpage
\item\docValue{thunderforest neighbourhood}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -880,31 +833,49 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest neighbourhood}{thunderforest_neighbourhood}
-\clearpage
\item\docValue{topplusopen web}:\\
- Tile server (TMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
\begin{itemize}
\item Covers world / Europe / Germany depending on zoom level
- \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html}
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
\end{itemize}
\mapexample{topplusopen web}{topplusopen_web}
\item\docValue{topplusopen web grau}:\\
- Tile server (TMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
\begin{itemize}
\item Covers world / Europe / Germany depending on zoom level
- \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html}
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
\end{itemize}
\mapexample{topplusopen web grau}{topplusopen_web_grau}
+\clearpage
+ \item\docValue{topplusopen web light}:\tcbdocmarginnote{\tcbdocnew{2024-07-29}}\\
+ Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ \begin{itemize}
+ \item Covers world / Europe / Germany depending on zoom level
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
+ \end{itemize}
+ \mapexample{topplusopen web light}{topplusopen_web_light}
+
+ \item\docValue{topplusopen web light grau}\tcbdocmarginnote{\tcbdocnew{2024-07-29}}:\\
+ Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ \begin{itemize}
+ \item Covers world / Europe / Germany depending on zoom level
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
+ \end{itemize}
+ \mapexample{topplusopen web light grau}{topplusopen_web_light_grau}
+
\end{itemize}
-\clearpage
+
+\vfill
\begin{tcolorbox}[spartan,colback=white]
The following sources are Web map server (WMS). Therefore,
-\refKey{/mermap/supply/target} can only be set to \docValue{wmsmap}
+\refKey{mermap/supply/target} can only be set to \docValue{wmsmap}
or \docValue{none}.
\end{tcolorbox}
+\clearpage
\begingroup
\ExplSyntaxOn
@@ -928,19 +899,19 @@ or \docValue{none}.
{
\cleanstep
\item\docValue{topplusopen \name}:\\
- Web map server (WMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ Web map server (WMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
\begin{itemize}
\item 1:\scdenom, covers Europe / Germany depending on zoom level
- \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html}
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
\end{itemize}
\mapexample[target=wmsmap]{topplusopen \name}{topplusopen_\name}
\cleanstep
\item\docValue{topplusopen \name\ grau}:\\
- Web map server (WMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ Web map server (WMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
\begin{itemize}
\item 1:\scdenom, covers Europe / Germany depending on zoom level
- \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html}
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
\end{itemize}
\def\grau{ grau}%
\mapexample[target=wmsmap]{topplusopen \name\grau}{topplusopen_\name_grau}
@@ -954,16 +925,16 @@ or \docValue{none}.
\begin{docCommand}{mrcnewsupplysource}{\marg{source}\marg{options}}
- Adds a new \meta{source} value to \refKey{/mermap/supply/source}.
+ Adds a new \meta{source} value to \refKey{mermap/supply/source}.
The \meta{options} should set the keys
- \refKey{/mermap/supply/url}, \refKey{/mermap/supply/attribution},\\
- \refKey{/mermap/supply/attribution print} and \refKey{/mermap/supply/basename}.
+ \refKey{mermap/supply/url}, \refKey{mermap/supply/attribution},\\
+ \refKey{mermap/supply/attribution print} and \refKey{mermap/supply/basename}.
It is recommend to use |x ...| for \meta{source} to avoid conflicts
- with future official additions to \refKey{/mermap/supply/source}.
+ with future official additions to \refKey{mermap/supply/source}.
\begin{dispListing}
\mrcnewsupplysource{x example}
{
- url = http://127.0.0.1/dummy/{z}/{x}/{y}.png,
+ url = https://127.0.0.1/dummy/{z}/{x}/{y}.png,
attribution = {Dummy tile server},
attribution print = {Dummy tile server},
basename = tiles/dummy,
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.marker.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.marker.tex
index dcd0e072b8..fb206c339e 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.marker.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.marker.tex
@@ -14,8 +14,8 @@ may be helpful which provides some predefined marker types.
\begin{docCommand}{mrcmarker}{\marg{options}}
Places a marker according to the given \meta{options} on the map.
- All \meta{options} share the common prefix |/mermap/marker/|.
- Different \refKey{/mermap/marker/type} settings are available which are
+ All \meta{options} share the common prefix |mermap/marker/|.
+ Different \refKey{mermap/marker/type} settings are available which are
more or less customizable.
\tikzsetnextfilename{marker_mrcmarker}%
@@ -48,8 +48,8 @@ may be helpful which provides some predefined marker types.
\begin{docCommand}{mermapsetmarker}{\marg{options}}
Sets \meta{options} for all following markers inside the current \TeX\ group.
- All options share the common prefix |/mermap/marker/|, e.g. for setting
- \refKey{/mermap/marker/type} use
+ All options share the common prefix |mermap/marker/|, e.g. for setting
+ \refKey{mermap/marker/type} use
\begin{dispListing}
\mermapsetmarker{type=pin}
\end{dispListing}
@@ -74,7 +74,7 @@ may be helpful which provides some predefined marker types.
\end{docMrcKey}
\begin{docMrcKey}[marker]{lat}{=\meta{latitude}}{no default, initially |12|}
- Alias for \refKey{/mermap/marker/latitude}.
+ Alias for \refKey{mermap/marker/latitude}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{longitude}{=\meta{longitude}}{no default, initially |49|}
@@ -83,7 +83,7 @@ may be helpful which provides some predefined marker types.
\end{docMrcKey}
\begin{docMrcKey}[marker]{lon}{=\meta{longitude}}{no default, initially |49|}
- Alias for \refKey{/mermap/marker/longitude}.
+ Alias for \refKey{mermap/marker/longitude}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{position}{=\meta{place latitude}:\meta{place longitude}}{no default, initially |12:49|}
@@ -100,7 +100,7 @@ may be helpful which provides some predefined marker types.
given \meta{area}. Feasible values for \meta{area} are:
\begin{itemize}
\item\docValue{map}: Use inside map.
- \item\docValue{vicinity}: Use inside map plus vicinity, see \refKey{/mermap/vicinity}.
+ \item\docValue{vicinity}: Use inside map plus vicinity, see \refKey{mermap/vicinity}.
\end{itemize}
\end{docMrcKey}
@@ -157,36 +157,36 @@ may be helpful which provides some predefined marker types.
\begin{docMrcKey}[marker]{hide}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
If set to |true|, the marker is not used.
- \refKey{/mermap/marker/hide} is inverse to \refKey{/mermap/marker/show}.
+ \refKey{mermap/marker/hide} is inverse to \refKey{mermap/marker/show}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{show category}{=\meta{category}}{style, no default}
- Sets \refKey{/mermap/marker/show} to |true|, if \refKey{/mermap/marker/category} equals \meta{category}.
+ Sets \refKey{mermap/marker/show} to |true|, if \refKey{mermap/marker/category} equals \meta{category}.
Otherwise, nothing happens.
- \refKey{/mermap/marker/category} has to be set \emph{before}.
+ \refKey{mermap/marker/category} has to be set \emph{before}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{show all but category}{=\meta{category}}{style, no default}
- Sets \refKey{/mermap/marker/show} to |true|, if \refKey{/mermap/marker/category} does not equal \meta{category}.
+ Sets \refKey{mermap/marker/show} to |true|, if \refKey{mermap/marker/category} does not equal \meta{category}.
Otherwise, nothing happens.
- \refKey{/mermap/marker/category} has to be set \emph{before}.
+ \refKey{mermap/marker/category} has to be set \emph{before}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{hide category}{=\meta{category}}{style, no default}
- Sets \refKey{/mermap/marker/show} to |false|, if \refKey{/mermap/marker/category} equals \meta{category}.
+ Sets \refKey{mermap/marker/show} to |false|, if \refKey{mermap/marker/category} equals \meta{category}.
Otherwise, nothing happens.
- \refKey{/mermap/marker/category} has to be set \emph{before}.
+ \refKey{mermap/marker/category} has to be set \emph{before}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{hide all but category}{=\meta{category}}{style, no default}
- Sets \refKey{/mermap/marker/show} to |false|, if \refKey{/mermap/marker/category} does not equal \meta{category}.
+ Sets \refKey{mermap/marker/show} to |false|, if \refKey{mermap/marker/category} does not equal \meta{category}.
Otherwise, nothing happens.
- \refKey{/mermap/marker/category} has to be set \emph{before}.
+ \refKey{mermap/marker/category} has to be set \emph{before}.
\tikzsetnextfilename{marker_hide}%
\begin{dispExample}
\begin{tikzpicture}
@@ -206,10 +206,10 @@ may be helpful which provides some predefined marker types.
\clearpage
The following options require the package |hyperref| to be loaded.
-If |hyperref| is not loaded, \refKey{/mermap/marker/url} and
-\refKey{/mermap/marker/link} are ignored.\\
-Note that if \refKey{/mermap/marker/url} and \refKey{/mermap/marker/link}
-are applied concurrently, then \refKey{/mermap/marker/link} will win.
+If |hyperref| is not loaded, \refKey{mermap/marker/url} and
+\refKey{mermap/marker/link} are ignored.\\
+Note that if \refKey{mermap/marker/url} and \refKey{mermap/marker/link}
+are applied concurrently, then \refKey{mermap/marker/link} will win.
\begin{docMrcKeys}[
@@ -279,9 +279,9 @@ are applied concurrently, then \refKey{/mermap/marker/link} will win.
doc description = {default |true|, initially |false|},
},
}
- If \refKey{/mermap/marker/use urls} is set to |false|, external links
- with \refKey{/mermap/marker/url} are ignored.\\
- \refKey{/mermap/marker/ignore urls} is inverse to \refKey{/mermap/marker/use urls}.
+ If \refKey{mermap/marker/use urls} is set to |false|, external links
+ with \refKey{mermap/marker/url} are ignored.\\
+ \refKey{mermap/marker/ignore urls} is inverse to \refKey{mermap/marker/use urls}.
\end{docMrcKeys}
@@ -299,9 +299,9 @@ are applied concurrently, then \refKey{/mermap/marker/link} will win.
doc description = {default |true|, initially |false|},
},
}
- If \refKey{/mermap/marker/use links} is set to |false|, internal links
- with \refKey{/mermap/marker/link} are ignored.\\
- \refKey{/mermap/marker/ignore links} is inverse to \refKey{/mermap/marker/use links}.
+ If \refKey{mermap/marker/use links} is set to |false|, internal links
+ with \refKey{mermap/marker/link} are ignored.\\
+ \refKey{mermap/marker/ignore links} is inverse to \refKey{mermap/marker/use links}.
\end{docMrcKeys}
@@ -596,7 +596,7 @@ The different marker types can be customized by some additional options:
\subsection{New Marker Types}
\begin{docCommand}{mrcnewmarkertype}{\marg{type name}\marg{\tikzname\ code}}
- Creates a new \refKey{/mermap/marker/type} value \meta{type name} using the
+ Creates a new \refKey{mermap/marker/type} value \meta{type name} using the
given \meta{\tikzname\ code} for drawing a place marker.
To avoid future name clashes, you should start a private \meta{type name}
with letter |x|. For \meta{\tikzname\ code} settings like
@@ -630,9 +630,9 @@ The different marker types can be customized by some additional options:
\subsection{New Marker Styles}
\begin{docCommand}{mrcnewmarkerstyle}{\marg{style name}\marg{options}}
- Creates a new \refKey{/mermap/marker/style} value \meta{style name} using the
+ Creates a new \refKey{mermap/marker/style} value \meta{style name} using the
given \meta{options} for drawing a place marker.
- All \meta{options} share the common prefix |/mermap/marker/|. Here, a \emph{style}
+ All \meta{options} share the common prefix |mermap/marker/|. Here, a \emph{style}
has the same concept as a \tikzname\ style.
\tikzsetnextfilename{marker_markerstyle}%
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.orthodromes.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.orthodromes.tex
index cddb277c86..6f9620fae0 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.orthodromes.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.orthodromes.tex
@@ -26,7 +26,7 @@ The mathematical background and further information are found in \cite{Sturm:202
\begin{docTikzKey}{mermap samples}{=\meta{number}}{style, no default}
- \tikzname\ variant to set \refKey{/mermap/samples}.
+ \tikzname\ variant to set \refKey{mermap/samples}.
\end{docTikzKey}
\enlargethispage*{1cm}
@@ -56,7 +56,7 @@ The mathematical background and further information are found in \cite{Sturm:202
\mrcclipmap
\draw (mrcmap.south west) rectangle (mrcmap.north east);
\mrcdraworthodrome[red,very thick,mermap samples=100]
- {48.14}{11.58}{40.71}{-74.01}
+ {48.14}{11.58}{40.71}{-74.01}
\node[red,fill=white] at ([above=1.3cm]mrcmap) {
\mrcprettyorthodistance{48.14}{11.58}{40.71}{-74.01} };
\end{tikzpicture}
@@ -99,6 +99,120 @@ The mathematical background and further information are found in \cite{Sturm:202
\clearpage
%-------------------------------------------------------------------------------
+\subsection{Orthodrome Points}
+
+\begin{docCommands}[
+ ]{
+ {
+ doc new and updated = {2024-08-01}{2024-08-05},
+ doc name = mrcNPfromOrthoFraction,
+ doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{lat1}\marg{lon1}\marg{lat2}\marg{lon2}\marg{fraction},
+ },
+ {
+ doc name = mrcNPfromOrthoFractionNamed,
+ doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{name1}\marg{name2}\marg{fraction},
+ },
+ }
+ Defines a new named position \meta{name} which is located on a \meta{fraction}
+ from the starting point of the orthodromic curve
+ from a point with
+ latitude \meta{lat1} and longitude \meta{lon1} (or described by a named position \meta{name1})
+ to a point with
+ latitude \meta{lat2} and longitude \meta{lon2} (or described by a named position \meta{name2}).
+ The given starting and final point of the orthodrome need to have a distance of more than
+ \SI{1}{\meter}.
+ If \meta{\textbackslash angle} is given, this macro is set to the
+ angle between the tangent vector to the orthodrome and
+ the current parallel circle.
+
+\tikzsetnextfilename{ortho_orthodrome3}%
+\begin{dispExample}
+ \begin{tikzpicture}
+ \mrcNPdef{munich}{48.14}{11.58}
+ \mrcNPdef{newyork}{40.71}{-74.01}
+ \mrcmap[type=areafit, area={munich,newyork},
+ source=topplusopen web,
+ tex width=\linewidth,tex height=6cm,
+ ]{ortho_orthodrome3}
+ \mrcdrawmap
+ \node[below,font=\fontsize{7pt}{7pt}\sffamily] at (mrcmap.south)
+ {\mrcmapattribution};
+ \mrcclipmap
+ \draw (mrcmap.south west) rectangle (mrcmap.north east);
+ \mrcmarker{type=pin,named position=munich,contents={M\"unchen}}
+ \mrcmarker{type=pinflip,shift=5mm,named position=newyork,
+ contents={New York City}}
+ \mrcNPdraworthodrome[red,very thick] {munich}{newyork}
+ \foreach \fraction in { 0.1,0.3,0.5,0.7,1.0,1.1 }
+ {
+ \mrcNPfromOrthoFractionNamed{waypoint}[\myangle]
+ {munich}{newyork}{\fraction}
+ \mrcmarker{type=pin,named position=waypoint,
+ contents={\fraction: \fpeval{round(\myangle)}\textdegree }}
+ }
+ \end{tikzpicture}
+\end{dispExample}
+\end{docCommands}
+
+\clearpage
+
+\begin{docCommands}[
+ ]{
+ {
+ doc new and updated = {2024-08-01}{2024-08-05},
+ doc name = mrcNPfromOrthoDistance,
+ doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{lat1}\marg{lon1}\marg{lat2}\marg{lon2}\marg{distance},
+ },
+ {
+ doc name = mrcNPfromOrthoDistanceNamed,
+ doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{name1}\marg{name2}\marg{distance},
+ },
+ }
+ Defines a new named position \meta{name} which is located on a \meta{distance}
+ from the starting point of the orthodromic curve
+ from a point with
+ latitude \meta{lat1} and longitude \meta{lon1} (or described by a named position \meta{name1})
+ to a point with
+ latitude \meta{lat2} and longitude \meta{lon2} (or described by a named position \meta{name2}).
+ The given starting and final point of the orthodrome need to have a distance of more than
+ \SI{1}{\meter}. The unit for the \meta{distance} is kilometer.
+ If \meta{\textbackslash angle} is given, this macro is set to the
+ angle between the tangent vector to the orthodrome and
+ the current parallel circle.
+
+\tikzsetnextfilename{ortho_orthodrome4}%
+\begin{dispExample}
+ \begin{tikzpicture}
+ \mrcNPdef{munich}{48.14}{11.58}
+ \mrcNPdef{newyork}{40.71}{-74.01}
+ \mrcmap[type=areafit, area={munich,newyork},
+ source=topplusopen web,
+ tex width=\linewidth,tex height=6cm,
+ ]{ortho_orthodrome4}
+ \mrcdrawmap
+ \node[below,font=\fontsize{7pt}{7pt}\sffamily] at (mrcmap.south)
+ {\mrcmapattribution};
+ \mrcclipmap
+ \draw (mrcmap.south west) rectangle (mrcmap.north east);
+ \mrcmarker{type=pin,named position=munich,contents={M\"unchen}}
+ \mrcmarker{type=pinflip,shift=5mm,named position=newyork,
+ contents={New York City}}
+ \mrcNPdraworthodrome[red,very thick] {munich}{newyork}
+ \foreach \distance in { 1000,2000,3000,4000,5000,6000 }
+ {
+ \mrcNPfromOrthoDistanceNamed{waypoint}{munich}{newyork}{\distance}
+ \mrcmarker{type=pin,named position=waypoint,
+ contents={\SI{\distance}{\kilo\meter}}}
+ }
+ \end{tikzpicture}
+\end{dispExample}
+\end{docCommands}
+
+
+
+
+\clearpage
+%-------------------------------------------------------------------------------
\subsection{Orthodromic and Loxodromic Distances}
\begin{docCommand}{mrcprettyorthodistance}{\marg{lat1}\marg{lon1}\marg{lat2}\marg{lon2}}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.scales.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.scales.tex
index 6efc4fe0d0..9e210c2a24 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.scales.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.scales.tex
@@ -164,7 +164,7 @@ but not for critical navigation purposes etc.
\begin{docCommand}{mrcdrawscalebar}{\oarg{options}}
Draws a scale bar according to the given \meta{options}.
- All \meta{options} share the common prefix |/mermap/scalebar/|.
+ All \meta{options} share the common prefix |mermap/scalebar/|.
The most essential option is the \emph{width} of the scale bar.
\tikzsetnextfilename{scales_scalebar1}
@@ -216,7 +216,7 @@ but not for critical navigation purposes etc.
\end{docMrcKey}
\begin{docMrcKey}[scalebar]{width-in-kilometer}{=\meta{number}}{no default, initially |0|}
- Alias for \refKey{/mermap/scalebar/width-in-km}
+ Alias for \refKey{mermap/scalebar/width-in-km}
\end{docMrcKey}
\begin{docMrcKey}[scalebar]{width-in-meter}{=\meta{number}}{no default, initially |0|}
@@ -247,7 +247,7 @@ but not for critical navigation purposes etc.
\begin{docMrcKey}[scalebar]{at}{=\marg{\tikzname\ coordinate}}{no default,
initially \texttt{\brackets{(0,0)}}}
The scale bar is positioned at the given \meta{\tikzname\ coordinate}.
- The placement is done with the \refKey{/mermap/scalebar/placement} option.
+ The placement is done with the \refKey{mermap/scalebar/placement} option.
Both option correspond to the \tikzname\ options for positioning nodes.
The scale bar can be positioned outside the map (e.g. below), but
remember to use \refCom{mrcclipmap} \emph{after} the scale bar
@@ -285,7 +285,7 @@ but not for critical navigation purposes etc.
\begin{docMrcKey}[scalebar]{placement}{=\meta{\tikzname\ positioning}}{no default, initially empty}
\meta{\tikzname\ positioning} of a scale bar in combination with
- \refKey{/mermap/scalebar/at}. All \tikzname\ placement options for nodes
+ \refKey{mermap/scalebar/at}. All \tikzname\ placement options for nodes
can be used, e.g. \texttt{above left} or \texttt{anchor=mid west}, etc.
Actually, \emph{any} node option could be applied here, but the intended use
is for placement options only.
@@ -298,7 +298,7 @@ but not for critical navigation purposes etc.
absolute shift values in each direction, i.e. the algebraic sign is
automatically complemented.
If only \meta{x shift} is given, then \meta{y shift} is set
- to the same value. \refKey{/mermap/scalebar/at} and \refKey{/mermap/scalebar/placement}
+ to the same value. \refKey{mermap/scalebar/at} and \refKey{mermap/scalebar/placement}
are set by this option.
\end{docMrcKey}
@@ -349,8 +349,8 @@ but not for critical navigation purposes etc.
The \emph{minor} part of the scale bar is a single \tikzname\ path object
which can be customized by the given \meta{\tikzname\ options}.
The \emph{minor} part is seen as holes in the default case.
- \refKey{/mermap/scalebar/minor style} has only an effect, if
- the minor part is drawn \refKey{/mermap/scalebar/solid}.
+ \refKey{mermap/scalebar/minor style} has only an effect, if
+ the minor part is drawn \refKey{mermap/scalebar/solid}.
\tikzsetnextfilename{scales_scalebar5}
\begin{dispExample}
\begin{tikzpicture}
@@ -369,7 +369,7 @@ but not for critical navigation purposes etc.
\begin{docMrcKey}[scalebar]{single}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
If set to |true|, the scale bar is drawn as a single ruler.
- \refKey{/mermap/scalebar/single} is inverse to \refKey{/mermap/scalebar/double}.
+ \refKey{mermap/scalebar/single} is inverse to \refKey{mermap/scalebar/double}.
\tikzsetnextfilename{scales_scalebar6}
\begin{dispExample}
\begin{tikzpicture}
@@ -387,8 +387,8 @@ but not for critical navigation purposes etc.
\begin{docMrcKey}[scalebar]{solid}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
If set to |true|, the \emph{minor} part of the scale bar is drawn opaque.
- It is drawn white or according to \refKey{/mermap/scalebar/minor style}.
- \refKey{/mermap/scalebar/solid} is inverse to \refKey{/mermap/scalebar/transparent}.
+ It is drawn white or according to \refKey{mermap/scalebar/minor style}.
+ \refKey{mermap/scalebar/solid} is inverse to \refKey{mermap/scalebar/transparent}.
\end{docMrcKey}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.sty b/macros/latex/contrib/mercatormap/mercatormap.doc.sty
index 80b38241ce..95b45544d7 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.sty
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.sty
@@ -4,10 +4,9 @@
\renewcommand*\l@subsubsection{\@dottedtocline{3}{4.2em}{3.2em}}
\RequirePackage[T1]{fontenc}
-\RequirePackage[utf8]{inputenc}
\RequirePackage[english]{babel}
\RequirePackage{lmodern,parskip,array}
-\RequirePackage[svgnames,table,hyperref]{xcolor}
+\RequirePackage[svgnames,table]{xcolor}
\RequirePackage{tikz}
\RequirePackage{varioref}
\RequirePackage[makeindex]{imakeidx}
@@ -31,15 +30,17 @@
\RequirePackage{array,tabularx,booktabs}
\RequirePackage{lipsum}
\RequirePackage[extendedchars,encoding,filenameencoding=utf-8]{grffile}
-\RequirePackage{siunitx,xfp}
+\RequirePackage{xfp}
\RequirePackage{tcolorbox}
-\tcbuselibrary{skins,xparse,minted,breakable,documentation,raster}
+\tcbuselibrary{skins,minted,breakable,documentation,raster}
\providecommand\mrcpkgprefix{}
\RequirePackage{\mrcpkgprefix mercatormap}
\IfFileExists{../private/privatekeys.tex}{\input{../private/privatekeys.tex}}{}
+\RequirePackage{fontawesome5}
+
\RequirePackage{csquotes}
\RequirePackage[%style=authoryear,
style=numeric-comp,
@@ -96,8 +97,8 @@
borderline horizontal={0.3mm}{0pt}{red!50},
#1}{#2}
-\tcbmakedocSubKey{docMrcKey}{mermap}
-\tcbmakedocSubKeys{docMrcKeys}{mermap}
+\tcbmakedocSubKey[doc key prefix=]{docMrcKey}{mermap}
+\tcbmakedocSubKeys[doc key prefix=]{docMrcKeys}{mermap}
\tcbmakedocSubKey{docTikzKey}{tikz}
\def\tikzname{\textup{Ti\textit{k}Z}}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.versionhistory.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.versionhistory.tex
deleted file mode 100644
index bcdf2fd322..0000000000
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.versionhistory.tex
+++ /dev/null
@@ -1,50 +0,0 @@
-% !TeX root = mercatormap.tex
-% !TeX encoding=UTF-8
-% !TeX spellcheck=en_US
-% include file of mercatormap.tex (manual of the LaTeX package mercatormap)
-\clearpage
-\section{Version History}%
-
-\section*{v1.00 (2020/04/20)}
-\begin{itemize}
-\item Initial public release.
-\end{itemize}
-
-\section*{v1.01 (2020/05/05)}
-\begin{itemize}
-\item Sorting of index key entries fixed for the documentation.
-\item User messages for failed Python script calls are changed from warnings to
- errors to fail fast and to provide more information and hints about
- possible reasons.
-\item New general marker option
- \refKey{/mermap/marker/generic} with corresponding macros
- \docAuxCommand*{mrcmarkergeneric}
- and \docAuxCommand*{l_mermap_marker_generic_tl}. Also, the marker uuid is
- made |expl3| accessible as \docAuxCommand*{l_mermap_marker_uuid_tl}.
-\item New hyper marker options
- \refKey{/mermap/marker/url},
- \refKey{/mermap/marker/link},
- \refKey{/mermap/marker/use urls},
- \refKey{/mermap/marker/ignore urls},
- \refKey{/mermap/marker/use links},
- \refKey{/mermap/marker/ignore links}.
-\end{itemize}
-
-
-\section*{v1.02 (2020/08/06)}
-\begin{itemize}
-\item New options
- \refKey{/mermap/supply/area from marker input} and
- \refKey{/mermap/supply/add area from marker input}
- which allow to fit a map to a given external list of marker positions.
-\item New option \refKey{/mermap/fail on missing resource} to control
- compilation behavior for missing resource files.
-\item Openrouteservice has discontinued mapsurfer tiles since June 2020.\\
- Therefore, \refKey{/mermap/supply/source}=\docValue{openrouteservice mapsurfer}
- is deprecated now. It is not documented any more, but
- for some time it is still available for old documents with
- cached map tiles.
-\item\issuetracker{2}
- New marker option \refKey{/mermap/marker/distance} with corresponding
- macro \docAuxCommand{mrcmarkerdistance}.
-\end{itemize}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.pdf b/macros/latex/contrib/mercatormap/mercatormap.pdf
index d90d749617..1c0c7dc3d8 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.pdf
+++ b/macros/latex/contrib/mercatormap/mercatormap.pdf
Binary files differ
diff --git a/macros/latex/contrib/mercatormap/mercatormap.sty b/macros/latex/contrib/mercatormap/mercatormap.sty
index d2c8d61ae4..b9f77b9715 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.sty
+++ b/macros/latex/contrib/mercatormap/mercatormap.sty
@@ -1,8 +1,8 @@
-%% The LaTeX package mercatormap - version 1.02 (2020/08/06)
+%% The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
%% mercatormap.sty: geographic coordinates (Mercator projection) and map tiles for TikZ pictures
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,24 +17,11 @@
%%
%% This work consists of all files listed in README
%%
-\RequirePackage{expl3}[2020/02/25]
-\RequirePackage{xparse}
-\ProvidesExplPackage{mercatormap}{2020/08/06}{1.02}
+\NeedsTeXFormat{LaTeX2e}[2023-11-01]
+\ProvidesExplPackage{mercatormap}{2024/08/05}{1.2.0}
{A Web Mercator projection package with map tile support}
-\@ifpackagelater { expl3 } { 2020/02/25 }
- { }
- {
- \PackageError { mercatormap } { Support~package~expl3~too~old }
- {
- You~need~to~update~your~installation~of~the~bundles~'l3kernel'~and~
- 'l3packages'.\MessageBreak
- Loading~mercatormap~will~abort!
- }
- \tex_endinput:D
- }
-\RequirePackage{siunitx}
-\RequirePackage{graphicx,tikz,pdftexcmds}
+\RequirePackage{siunitx,graphicx,tikz}
\ExplSyntaxOff
% space character problem if within explSyntax
@@ -51,8 +38,23 @@
\NewDocumentCommand\mermapsetmarker{ m } { \keys_set:nn { mermap/marker } {#1} }
-%---- constants ----------------------------------------------------------------
+%---- scratch variables --------------------------------------------------------
+
+\box_new:N \l__mermap_tmpa_box
+
+\clist_new:N \l__mermap_tmpa_clist
+\dim_new:N \l__mermap_tmpa_dim
+\dim_new:N \l__mermap_tmpb_dim
+
+\fp_new:N \l__mermap_tmpa_fp
+\fp_new:N \l__mermap_tmpb_fp
+
+\tl_new:N \g__mermap_tmpa_tl
+\tl_new:N \l__mermap_tmpa_tl
+\tl_new:N \l__mermap_tmpb_tl
+
+%---- constants ----------------------------------------------------------------
\fp_const:Nn \c__mermap_scale_radius_fp { 6371*pi/180 }
\fp_const:Nn \c__mermap_mean_radius_fp { 637100000cm }
@@ -235,16 +237,16 @@
\cs_new_nopar:Npn \__mermap_longitude_to_x:n #1
{
- \fp_set:Nn \l_tmpa_fp { #1-\l__mermap_mapwest_fp }
- \fp_sub:Nn \l_tmpa_fp { 360*floor(\l_tmpa_fp/360) }
- \fp_set:Nn \l_tmpa_fp
- { \l_tmpa_fp>\l__mermap_westeast_fp
- ?(\l_tmpa_fp-\l__mermap_westeast_fp>360-\l_tmpa_fp
- ?\l_tmpa_fp-360
- :\l_tmpa_fp)
- :\l_tmpa_fp
+ \fp_set:Nn \l__mermap_tmpa_fp { #1-\l__mermap_mapwest_fp }
+ \fp_sub:Nn \l__mermap_tmpa_fp { 360*floor(\l__mermap_tmpa_fp/360) }
+ \fp_set:Nn \l__mermap_tmpa_fp
+ { \l__mermap_tmpa_fp>\l__mermap_westeast_fp
+ ?(\l__mermap_tmpa_fp-\l__mermap_westeast_fp>360-\l__mermap_tmpa_fp
+ ?\l__mermap_tmpa_fp-360
+ :\l__mermap_tmpa_fp)
+ :\l__mermap_tmpa_fp
}
- \fp_set:Nn \l__mermap_cs_x_fp { \l_tmpa_fp*\l__mermap_cs_xfactor_fp }
+ \fp_set:Nn \l__mermap_cs_x_fp { \l__mermap_tmpa_fp*\l__mermap_cs_xfactor_fp }
}
@@ -328,7 +330,7 @@
}
-\prg_new_conditional:Npnn \__mermap_if_in_map:nn #1#2 { p, TF }
+\prg_new_conditional:Npnn \__mermap_if_in_map:nn #1#2 { p, T, F, TF }
{
\fp_compare:nNnTF {#1} > \l__mermap_mapnorth_fp
{
@@ -340,14 +342,14 @@
\prg_return_false:
}
{
- \fp_set:Nn \l_tmpa_fp { #2-\l__mermap_mapwest_fp }
- \fp_sub:Nn \l_tmpa_fp { 360*floor(\l_tmpa_fp/360) }
- \fp_compare:nNnTF \l_tmpa_fp > \l__mermap_westeast_fp
+ \fp_set:Nn \l__mermap_tmpa_fp { #2-\l__mermap_mapwest_fp }
+ \fp_sub:Nn \l__mermap_tmpa_fp { 360*floor(\l__mermap_tmpa_fp/360) }
+ \fp_compare:nNnTF \l__mermap_tmpa_fp > \l__mermap_westeast_fp
{
\prg_return_false:
}
{
- \fp_set:Nn \l__mermap_cs_x_fp { \l_tmpa_fp*\l__mermap_cs_xfactor_fp }
+ \fp_set:Nn \l__mermap_cs_x_fp { \l__mermap_tmpa_fp*\l__mermap_cs_xfactor_fp }
\__mermap_latitude_to_y:n {#1}
\pgfnoderename{mrclastpos}{mrcpos}
\pgfcoordinate{mrcpos}{
@@ -366,7 +368,7 @@
}
-\prg_new_conditional:Npnn \__mermap_if_in_vicinity:nn #1#2 { p, TF }
+\prg_new_conditional:Npnn \__mermap_if_in_vicinity:nn #1#2 { p, T, F, TF }
{
\fp_compare:nNnTF {#1} > \l__mermap_vic_north_fp
{
@@ -378,14 +380,14 @@
\prg_return_false:
}
{
- \fp_set:Nn \l_tmpa_fp { #2-\l__mermap_vic_west_fp }
- \fp_sub:Nn \l_tmpa_fp { 360*floor(\l_tmpa_fp/360) }
- \fp_compare:nNnTF \l_tmpa_fp > \l__mermap_vic_westeast_fp
+ \fp_set:Nn \l__mermap_tmpa_fp { #2-\l__mermap_vic_west_fp }
+ \fp_sub:Nn \l__mermap_tmpa_fp { 360*floor(\l__mermap_tmpa_fp/360) }
+ \fp_compare:nNnTF \l__mermap_tmpa_fp > \l__mermap_vic_westeast_fp
{
\prg_return_false:
}
{
- \fp_set:Nn \l__mermap_cs_x_fp { \l_tmpa_fp*\l__mermap_cs_xfactor_fp - \l__mermap_vic_dim_fp }
+ \fp_set:Nn \l__mermap_cs_x_fp { \l__mermap_tmpa_fp*\l__mermap_cs_xfactor_fp - \l__mermap_vic_dim_fp }
\__mermap_latitude_to_y:n {#1}
\pgfnoderename{mrclastpos}{mrcpos}
\pgfcoordinate{mrcpos}{
@@ -443,19 +445,13 @@
\NewExpandableDocumentCommand \mrcNPlat { m }
{
- \cs_if_exist_use:cF{__mermap__lat__#1}
- {
- \msg_error:nnx{ mercatormap }{ np-undefined }{ #1 }
- }
+ \cs_if_exist_use:cF{ __mermap__lat__#1 }{ 0 }
}
\NewExpandableDocumentCommand \mrcNPlon { m }
{
- \cs_if_exist_use:cF{__mermap__lon__#1}
- {
- \msg_error:nnx{ mercatormap }{ np-undefined }{ #1 }
- }
+ \cs_if_exist_use:cF{ __mermap__lon__#1 }{ 0 }
}
@@ -465,15 +461,75 @@
}
+\prg_new_conditional:Npnn \__mermap_if_NP_exists:n #1 { p, TF }
+ {
+ \cs_if_exist:cTF{ __mermap__lat__#1 }
+ {
+ \cs_if_exist:cTF{ __mermap__lon__#1 }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+ {
+ \prg_return_false:
+ }
+ }
+
+
+\NewDocumentCommand{\ifmrcNPexists}{ m }
+ {
+ \__mermap_if_NP_exists:nTF{ #1 }
+ }
+
+
+\prg_new_conditional:Npnn \__mermap_if_NP_in_map:n #1 { p, TF }
+ {
+ \__mermap_if_NP_exists:nTF { #1 }
+ {
+ \__mermap_if_in_map:nnTF{ \mrcNPlat{#1} }{ \mrcNPlon{#1} }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+ {
+ \prg_return_false:
+ }
+ }
+
+
\NewDocumentCommand{\ifmrcNPinmap}{ m }
{
- \__mermap_if_in_map:nnTF{\mrcNPlat{#1}}{\mrcNPlon{#1}}
+ \__mermap_if_NP_in_map:nTF { #1 }
+ }
+
+
+\prg_new_conditional:Npnn \__mermap_if_NP_in_vicinity:n #1 { p, TF }
+ {
+ \__mermap_if_NP_exists:nTF { #1 }
+ {
+ \__mermap_if_in_vicinity:nnTF{ \mrcNPlat{#1} }{ \mrcNPlon{#1} }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+ {
+ \prg_return_false:
+ }
}
\NewDocumentCommand{\ifmrcNPinvicinity}{ m }
{
- \__mermap_if_in_vicinity:nnTF{\mrcNPlat{#1}}{\mrcNPlon{#1}}
+ \__mermap_if_NP_in_vicinity:nTF{ #1 }
}
@@ -485,7 +541,7 @@
\char_set_catcode_other:n {`\"}
\tl_const:Nn \c__mermap_supply_call_boundaries_tl
- {%
+ {
\l__mermap_python_tl\c_space_tl boundaries
-u "\str_use:N\l__mermap_supply_url_str"
-at "\str_use:N\l__mermap_supply_attribution_str"
@@ -503,7 +559,7 @@
}
\tl_const:Nn \c__mermap_supply_call_reference_tl
- {%
+ {
\l__mermap_python_tl\c_space_tl reference
-u "\str_use:N\l__mermap_supply_url_str"
-at "\str_use:N\l__mermap_supply_attribution_str"
@@ -523,7 +579,7 @@
\tl_const:Nn \c__mermap_supply_call_areafit_tl
- {%
+ {
\l__mermap_python_tl\c_space_tl areafit
-u "\str_use:N\l__mermap_supply_url_str"
-at "\str_use:N\l__mermap_supply_attribution_str"
@@ -604,11 +660,11 @@
\cs_new:Npn \__mermap_supply_url_with_api_key:nnn #1#2#3
{
\str_set:Nn \l__mermap_supply_url_str {#1}
- \prop_get:NnNF \g__mermap_apikey_prop {#2} \l_tmpa_tl
+ \prop_get:NnNF \g__mermap_apikey_prop {#2} \l__mermap_tmpa_tl
{
\msg_error:nnx{ mercatormap }{ api-key-undefined }{ #2 }
}
- \str_put_right:NV \l__mermap_supply_url_str \l_tmpa_tl
+ \str_put_right:NV \l__mermap_supply_url_str \l__mermap_tmpa_tl
\str_put_right:Nn \l__mermap_supply_url_str {#3}
}
@@ -621,16 +677,16 @@
{
\msg_error:nnx{ mercatormap }{ np-undefined }{ ##1 }
}
- \fp_set:Nn \l_tmpa_fp { \mrcNPlat{##1} }
- \fp_compare:nNnT \l_tmpa_fp < \l__mermap_supply_south_fp
- { \fp_set_eq:NN \l__mermap_supply_south_fp \l_tmpa_fp }
- \fp_compare:nNnT \l_tmpa_fp > \l__mermap_supply_north_fp
- { \fp_set_eq:NN \l__mermap_supply_north_fp \l_tmpa_fp }
- \fp_set:Nn \l_tmpa_fp { \mrcNPlon{##1} }
- \fp_compare:nNnT \l_tmpa_fp < \l__mermap_supply_west_fp
- { \fp_set_eq:NN \l__mermap_supply_west_fp \l_tmpa_fp }
- \fp_compare:nNnT \l_tmpa_fp > \l__mermap_supply_east_fp
- { \fp_set_eq:NN \l__mermap_supply_east_fp \l_tmpa_fp }
+ \fp_set:Nn \l__mermap_tmpa_fp { \mrcNPlat{##1} }
+ \fp_compare:nNnT \l__mermap_tmpa_fp < \l__mermap_supply_south_fp
+ { \fp_set_eq:NN \l__mermap_supply_south_fp \l__mermap_tmpa_fp }
+ \fp_compare:nNnT \l__mermap_tmpa_fp > \l__mermap_supply_north_fp
+ { \fp_set_eq:NN \l__mermap_supply_north_fp \l__mermap_tmpa_fp }
+ \fp_set:Nn \l__mermap_tmpa_fp { \mrcNPlon{##1} }
+ \fp_compare:nNnT \l__mermap_tmpa_fp < \l__mermap_supply_west_fp
+ { \fp_set_eq:NN \l__mermap_supply_west_fp \l__mermap_tmpa_fp }
+ \fp_compare:nNnT \l__mermap_tmpa_fp > \l__mermap_supply_east_fp
+ { \fp_set_eq:NN \l__mermap_supply_east_fp \l__mermap_tmpa_fp }
}
}
@@ -662,14 +718,14 @@
{
\msg_error:nnn { mercatormap }{ input-area-marker }{ #1 }
}
- \tl_gset:Nx \g_tmpa_tl
+ \tl_gset:Nx \g__mermap_tmpa_tl
{
\exp_not:N\fp_set:Nn \exp_not:N\l__mermap_supply_west_fp { \fp_to_decimal:N\l__mermap_supply_west_fp }
\exp_not:N\fp_set:Nn \exp_not:N\l__mermap_supply_east_fp { \fp_to_decimal:N\l__mermap_supply_east_fp }
\exp_not:N\fp_set:Nn \exp_not:N\l__mermap_supply_south_fp { \fp_to_decimal:N\l__mermap_supply_south_fp }
\exp_not:N\fp_set:Nn \exp_not:N\l__mermap_supply_north_fp { \fp_to_decimal:N\l__mermap_supply_north_fp }
}
- \group_insert_after:N \g_tmpa_tl
+ \group_insert_after:N \g__mermap_tmpa_tl
\group_end:
}
@@ -715,18 +771,18 @@
_source .choice:,
area .code:n =
{
- \clist_set:Nn \l_tmpa_clist { #1 }
+ \clist_set:Nn \l__mermap_tmpa_clist { #1 }
\fp_set:Nn \l__mermap_supply_west_fp { inf }
\fp_set:Nn \l__mermap_supply_east_fp { -inf }
\fp_set:Nn \l__mermap_supply_south_fp { 89 }
\fp_set:Nn \l__mermap_supply_north_fp { -89 }
- \__mermap_supply_add_area_clist:N \l_tmpa_clist
+ \__mermap_supply_add_area_clist:N \l__mermap_tmpa_clist
},
area .value_required:n = true,
add~area .code:n =
{
- \clist_set:Nn \l_tmpa_clist { #1 }
- \__mermap_supply_add_area_clist:N \l_tmpa_clist
+ \clist_set:Nn \l__mermap_tmpa_clist { #1 }
+ \__mermap_supply_add_area_clist:N \l__mermap_tmpa_clist
},
area~from~marker~input .code:n =
{
@@ -756,20 +812,20 @@
flex~area~fit .code:n = {
\fp_compare:nNnF \l__mermap_tile_size_dim = \l__mermap_flex_tile_size_dim
{
- \fp_set:Nn \l_tmpa_fp { \l__mermap_tile_size_dim/\l__mermap_flex_tile_size_dim }
- \fp_set:Nn \l__mermap_supply_width_fp{\l__mermap_supply_width_fp*\l_tmpa_fp}
- \fp_set:Nn \l__mermap_supply_height_fp{\l__mermap_supply_height_fp*\l_tmpa_fp}
+ \fp_set:Nn \l__mermap_tmpa_fp { \l__mermap_tile_size_dim/\l__mermap_flex_tile_size_dim }
+ \fp_set:Nn \l__mermap_supply_width_fp{\l__mermap_supply_width_fp*\l__mermap_tmpa_fp}
+ \fp_set:Nn \l__mermap_supply_height_fp{\l__mermap_supply_height_fp*\l__mermap_tmpa_fp}
}
\fp_set:Nn \l__mermap_supply_width_fp{\l__mermap_supply_width_fp-(#1)/\l__mermap_flex_tile_size_dim}
\fp_set:Nn \l__mermap_supply_height_fp{\l__mermap_supply_height_fp-(#1)/\l__mermap_flex_tile_size_dim}
- \fp_set:Nn \l_tmpa_fp { min ( 180*\l__mermap_supply_width_fp / (\l__mermap_supply_east_fp-\l__mermap_supply_west_fp)
+ \fp_set:Nn \l__mermap_tmpa_fp { min ( 180*\l__mermap_supply_width_fp / (\l__mermap_supply_east_fp-\l__mermap_supply_west_fp)
, pi*\l__mermap_supply_height_fp / ln( tand(\l__mermap_supply_north_fp/2+45) / tand(\l__mermap_supply_south_fp/2+45) ) ) }
- \fp_set:Nn \l_tmpb_fp { ln(\l_tmpa_fp)/ln(2) }
- \fp_set:Nn \l_tmpb_fp { round(\l_tmpb_fp)/\l_tmpb_fp }
- \fp_set:Nn \l_tmpb_fp { \l_tmpa_fp^(\l_tmpb_fp-1+0.0000001) }
- \dim_set:Nn \l__mermap_tile_size_dim { \fp_to_dim:n { \l__mermap_flex_tile_size_dim / \l_tmpb_fp }}
- \fp_set:Nn \l__mermap_supply_width_fp { \l__mermap_supply_width_fp * \l_tmpb_fp + (#1)/\l__mermap_tile_size_dim }
- \fp_set:Nn \l__mermap_supply_height_fp { \l__mermap_supply_height_fp * \l_tmpb_fp + (#1)/\l__mermap_tile_size_dim }
+ \fp_set:Nn \l__mermap_tmpb_fp { ln(\l__mermap_tmpa_fp)/ln(2) }
+ \fp_set:Nn \l__mermap_tmpb_fp { round(\l__mermap_tmpb_fp)/\l__mermap_tmpb_fp }
+ \fp_set:Nn \l__mermap_tmpb_fp { \l__mermap_tmpa_fp^(\l__mermap_tmpb_fp-1+0.0000001) }
+ \dim_set:Nn \l__mermap_tile_size_dim { \fp_to_dim:n { \l__mermap_flex_tile_size_dim / \l__mermap_tmpb_fp }}
+ \fp_set:Nn \l__mermap_supply_width_fp { \l__mermap_supply_width_fp * \l__mermap_tmpb_fp + (#1)/\l__mermap_tile_size_dim }
+ \fp_set:Nn \l__mermap_supply_height_fp { \l__mermap_supply_height_fp * \l__mermap_tmpb_fp + (#1)/\l__mermap_tile_size_dim }
},
flex~area~fit .default:n = 0pt,
}
@@ -815,16 +871,13 @@
\msg_new:nnn { mercatormap }{ python-script }
- { Python~script~'maptiles.texpy'~is~created~(for~map~tile~download). }
+ { Python~script~'maptiles.texpy'~is~created~for~map~tile~download. }
\NewDocumentCommand \mrcactivatescript {}
{
\msg_info:nn { mercatormap }{ python-script }
- \group_begin:
- \def\@latex@warning@no@line##1{}% suppress filecontents warning
\file_input:n {\mrcpkgprefix mercatorpy.def}
- \group_end:
\bool_set_true:N \l__mermap_script_activated_bool
}
\@onlypreamble\mrcactivatescript
@@ -838,21 +891,21 @@
\cs_new:Npn \__mermap_create_definition_id:n #1
{
- \tl_set:Nx \l_tmpa_tl {#1}
- \tl_trim_spaces:N \l_tmpa_tl
- \str_set:Nx \l__mermap_definition_postfix_str {\tl_to_str:N \l_tmpa_tl}
+ \tl_set:Nx \l__mermap_tmpa_tl {#1}
+ \tl_trim_spaces:N \l__mermap_tmpa_tl
+ \str_set:Nx \l__mermap_definition_postfix_str {\tl_to_str:N \l__mermap_tmpa_tl}
\str_concat:NNN \l__mermap_definition_id_str
\l__mermap_definition_prefix_str \l__mermap_definition_postfix_str
}
\cs_new:Npn \__mermap_map:nn #1#2
{
- \tl_set:Nx \l_tmpa_tl {#2}
- \tl_trim_spaces:N \l_tmpa_tl
- \tl_if_empty:NT \l_tmpa_tl
+ \tl_set:Nx \l__mermap_tmpa_tl {#2}
+ \tl_trim_spaces:N \l__mermap_tmpa_tl
+ \tl_if_empty:NT \l__mermap_tmpa_tl
{
\int_gincr:N \g__mermap_automap_int
- \tl_set:Nx \l_tmpa_tl
+ \tl_set:Nx \l__mermap_tmpa_tl
{
automap-
\int_compare:nNnTF \g__mermap_automap_int<{10} {000}
@@ -865,7 +918,7 @@
\int_use:N \g__mermap_automap_int
}
}
- \str_set:Nx \l__mermap_definition_postfix_str {\tl_to_str:N \l_tmpa_tl}
+ \str_set:Nx \l__mermap_definition_postfix_str {\tl_to_str:N \l__mermap_tmpa_tl}
\str_concat:NNN \l__mermap_definition_id_str
\l__mermap_definition_prefix_str \l__mermap_definition_postfix_str
\__mermap_supplymap:n {#1}
@@ -886,12 +939,12 @@
{
\group_begin:
\keys_set:nn { mermap/supply } { #1 }
- \tl_set:Nx \l_tmpa_tl { \str_use:N\l__mermap_definition_id_str }
- \prop_if_in:NVT \g__mermap_definition_prop \l_tmpa_tl
+ \tl_set:Nx \l__mermap_tmpa_tl { \str_use:N\l__mermap_definition_id_str }
+ \prop_if_in:NVT \g__mermap_definition_prop \l__mermap_tmpa_tl
{
- \msg_warning:nnx { mercatormap }{ definition-id-used }{ \tl_use:N \l_tmpa_tl }
+ \msg_warning:nnx { mercatormap }{ definition-id-used }{ \tl_use:N \l__mermap_tmpa_tl }
}
- \prop_gput:NVn \g__mermap_definition_prop \l_tmpa_tl {}
+ \prop_gput:NVn \g__mermap_definition_prop \l__mermap_tmpa_tl {}
\bool_if:NT \l__mermap_script_activated_bool
{
\__mermap_supplymap_call:
@@ -927,10 +980,10 @@
\cs_new:Npn \__mermap_supplymap_call:
{
- \tl_set_eq:Nc \l_tmpa_tl {
+ \tl_set_eq:Nc \l__mermap_tmpa_tl {
c__mermap_supply_call_\l__mermap_supply_type_tl _tl }
- \tl_set:Nx \l__mermap_supply_call_tl \l_tmpa_tl
- \tl_set:Nx \l__mermap_mdfivesum_tl { \pdf@mdfivesum{\l__mermap_supply_call_tl} }
+ \tl_set:Nx \l__mermap_supply_call_tl \l__mermap_tmpa_tl
+ \tl_set:Nx \l__mermap_mdfivesum_tl { \str_mdfive_hash:e{\l__mermap_supply_call_tl} }
\file_if_exist:nTF {\l__mermap_definition_id_str.def}
{
\tl_clear:N \l__mermap_last_mdfivesum_tl
@@ -1031,8 +1084,8 @@
\cs_new_nopar:Npn \__mermap_set_flex_scale:nn #1#2
{
- \fp_set:Nn \l_tmpa_fp { 1+ln(\c__mermap_mean_radius_fp/#1*cosd(#2)*pi/\l__mermap_flex_tile_size_dim)/ln(2) }
- \keys_set:nn { mermap }{ flex~zoom=\l_tmpa_fp }
+ \fp_set:Nn \l__mermap_tmpa_fp { 1+ln(\c__mermap_mean_radius_fp/#1*cosd(#2)*pi/\l__mermap_flex_tile_size_dim)/ln(2) }
+ \keys_set:nn { mermap }{ flex~zoom=\l__mermap_tmpa_fp }
}
\use:x
@@ -1323,19 +1376,19 @@
\cs_new_nopar:Npn \__mermap_compute_network_step:nn #1#2
{
- \fp_set:Nn \l_tmpa_fp
+ \fp_set:Nn \l__mermap_tmpa_fp
{
min ( \l__mermap_network_pieces_int, round((#1)/\l__mermap_network_distance_dim) )
}
- \fp_set:Nn \l_tmpb_fp { (#2)/\l_tmpa_fp }
- \fp_set:Nn \l_tmpa_fp { floor(ln(\l_tmpb_fp)/ln(10)) }
- \fp_compare:nNnTF {\l_tmpa_fp} < {0}
+ \fp_set:Nn \l__mermap_tmpb_fp { (#2)/\l__mermap_tmpa_fp }
+ \fp_set:Nn \l__mermap_tmpa_fp { floor(ln(\l__mermap_tmpb_fp)/ln(10)) }
+ \fp_compare:nNnTF {\l__mermap_tmpa_fp} < {0}
{
- \fp_compare:nNnTF {\l_tmpa_fp} > {-5}
+ \fp_compare:nNnTF {\l__mermap_tmpa_fp} > {-5}
{
\use:x
{
- \exp_not:N\keys_set:nn { mermap }{ format~angle=decimal\fp_to_int:N\l_tmpa_fp}
+ \exp_not:N\keys_set:nn { mermap }{ format~angle=decimal\fp_to_int:N\l__mermap_tmpa_fp}
}
}
{
@@ -1345,25 +1398,25 @@
{
\keys_set:nn { mermap }{ format~angle=decimal-0 }
}
- \fp_set:Nn \l_tmpa_fp { 10^\l_tmpa_fp }
- \fp_set:Nn \l_tmpb_fp { \l_tmpb_fp/\l_tmpa_fp }
- \fp_compare:nNnTF {abs(\l_tmpb_fp-1)} < {abs(\l_tmpb_fp-2)}
+ \fp_set:Nn \l__mermap_tmpa_fp { 10^\l__mermap_tmpa_fp }
+ \fp_set:Nn \l__mermap_tmpb_fp { \l__mermap_tmpb_fp/\l__mermap_tmpa_fp }
+ \fp_compare:nNnTF {abs(\l__mermap_tmpb_fp-1)} < {abs(\l__mermap_tmpb_fp-2)}
{
- \fp_compare:nNnTF {abs(\l_tmpb_fp-1)} < {abs(\l_tmpb_fp-5)}
+ \fp_compare:nNnTF {abs(\l__mermap_tmpb_fp-1)} < {abs(\l__mermap_tmpb_fp-5)}
{
- \fp_set:Nn \l__mermap_result_fp {\l_tmpa_fp}
+ \fp_set:Nn \l__mermap_result_fp {\l__mermap_tmpa_fp}
}
{
- \fp_set:Nn \l__mermap_result_fp {5*\l_tmpa_fp}
+ \fp_set:Nn \l__mermap_result_fp {5*\l__mermap_tmpa_fp}
}
}
{
- \fp_compare:nNnTF {abs(\l_tmpb_fp-2)} < {abs(\l_tmpb_fp-5)}
+ \fp_compare:nNnTF {abs(\l__mermap_tmpb_fp-2)} < {abs(\l__mermap_tmpb_fp-5)}
{
- \fp_set:Nn \l__mermap_result_fp {2*\l_tmpa_fp}
+ \fp_set:Nn \l__mermap_result_fp {2*\l__mermap_tmpa_fp}
}
{
- \fp_set:Nn \l__mermap_result_fp {5*\l_tmpa_fp}
+ \fp_set:Nn \l__mermap_result_fp {5*\l__mermap_tmpa_fp}
}
}
}
@@ -1376,46 +1429,46 @@
\IfNoValueF {#1} { \keys_set:nn { mermap } {#1} }
\tl_use:N \l__mermap_tikz_map_clip_tl
\__mermap_compute_network_step:nn {\l__mermap_tex_height_fp}{\l__mermap_mapnorth_fp-\l__mermap_mapsouth_fp}
- \fp_set:Nn \l_tmpa_fp { ceil(\l__mermap_mapsouth_fp/\l__mermap_result_fp)*\l__mermap_result_fp}
- \fp_compare:nNnT {\l_tmpa_fp-\l__mermap_mapsouth_fp} < {1e-10}
+ \fp_set:Nn \l__mermap_tmpa_fp { ceil(\l__mermap_mapsouth_fp/\l__mermap_result_fp)*\l__mermap_result_fp}
+ \fp_compare:nNnT {\l__mermap_tmpa_fp-\l__mermap_mapsouth_fp} < {1e-10}
{
- \fp_add:Nn \l_tmpa_fp {\l__mermap_result_fp}
+ \fp_add:Nn \l__mermap_tmpa_fp {\l__mermap_result_fp}
}
- \fp_while_do:nNnn {\l_tmpa_fp} < {\l__mermap_mapnorth_fp}
+ \fp_while_do:nNnn {\l__mermap_tmpa_fp} < {\l__mermap_mapnorth_fp}
{
- \tl_set:Nn \l_tmpa_tl {\fp_use:N\l_tmpa_fp}
- \draw[gray,very~thin] (mrc~cs\c_colon_str lat=\l_tmpa_tl,lon=\mrcmapwest)
+ \tl_set:Nn \l__mermap_tmpa_tl {\fp_use:N\l__mermap_tmpa_fp}
+ \draw[gray,very~thin] (mrc~cs\c_colon_str lat=\l__mermap_tmpa_tl,lon=\mrcmapwest)
coordinate (mermap_temp)
node[right=1mm,inner~sep=0.5pt,black!50!gray,font=\l__mermap_network_font_tl,
fill=white,opacity=0.3,text~opacity=1,
- ]{\mrcformlat{\l_tmpa_tl}}
+ ]{\mrcformlat{\l__mermap_tmpa_tl}}
-- (mermap_temp -| mrcmap.east)
node[left=1mm,inner~sep=0.5pt,black!50!gray,font=\l__mermap_network_font_tl,
fill=white,opacity=0.3,text~opacity=1,
- ]{\mrcformlat{\l_tmpa_tl}}
+ ]{\mrcformlat{\l__mermap_tmpa_tl}}
;
- \fp_add:Nn \l_tmpa_fp {\l__mermap_result_fp}
+ \fp_add:Nn \l__mermap_tmpa_fp {\l__mermap_result_fp}
}
\__mermap_compute_network_step:nn {\l__mermap_tex_width_fp}{\l__mermap_mapeast_fp-\l__mermap_mapwest_fp}
- \fp_set:Nn \l_tmpa_fp { ceil(\l__mermap_mapwest_fp/\l__mermap_result_fp)*\l__mermap_result_fp}
- \fp_compare:nNnT {\l_tmpa_fp-\l__mermap_mapwest_fp} < {1e-10}
+ \fp_set:Nn \l__mermap_tmpa_fp { ceil(\l__mermap_mapwest_fp/\l__mermap_result_fp)*\l__mermap_result_fp}
+ \fp_compare:nNnT {\l__mermap_tmpa_fp-\l__mermap_mapwest_fp} < {1e-10}
{
- \fp_add:Nn \l_tmpa_fp {\l__mermap_result_fp}
+ \fp_add:Nn \l__mermap_tmpa_fp {\l__mermap_result_fp}
}
- \fp_while_do:nNnn {\l_tmpa_fp} < {\l__mermap_mapeast_fp}
+ \fp_while_do:nNnn {\l__mermap_tmpa_fp} < {\l__mermap_mapeast_fp}
{
- \tl_set:Nn \l_tmpa_tl {\fp_use:N\l_tmpa_fp}
- \draw[gray,very~thin] (mrc~cs\c_colon_str lon=\l_tmpa_tl,lat=\mrcmapsouth)
+ \tl_set:Nn \l__mermap_tmpa_tl {\fp_use:N\l__mermap_tmpa_fp}
+ \draw[gray,very~thin] (mrc~cs\c_colon_str lon=\l__mermap_tmpa_tl,lat=\mrcmapsouth)
coordinate (mermap_temp)
node[above=1mm,inner~sep=0.5pt,black!50!gray,font=\l__mermap_network_font_tl,
fill=white,opacity=0.3,text~opacity=1,
- ]{\mrcformlon{\l_tmpa_tl}}
+ ]{\mrcformlon{\l__mermap_tmpa_tl}}
-- (mermap_temp |- mrcmap.north)
node[below=1mm,inner~sep=0.5pt,black!50!gray,font=\l__mermap_network_font_tl,
fill=white,opacity=0.3,text~opacity=1,
- ]{\mrcformlon{\l_tmpa_tl}}
+ ]{\mrcformlon{\l__mermap_tmpa_tl}}
;
- \fp_add:Nn \l_tmpa_fp {\l__mermap_result_fp}
+ \fp_add:Nn \l__mermap_tmpa_fp {\l__mermap_result_fp}
}
\end{scope}
}
@@ -1488,26 +1541,26 @@
\cs_new_nopar:Npn \__mermap_pretty_distance:n #1
{
- \fp_set:Nn \l_tmpa_fp { #1 }
- \fp_compare:nNnTF \l_tmpa_fp < 5
+ \fp_set:Nn \l__mermap_tmpa_fp { #1 }
+ \fp_compare:nNnTF \l__mermap_tmpa_fp < 5
{
- \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:n{1000*\l_tmpa_fp}}{\meter}
+ \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:n{1000*\l__mermap_tmpa_fp}}{\meter}
}
{
- \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:N \l_tmpa_fp}{\kilo\meter}
+ \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:N \l__mermap_tmpa_fp}{\kilo\meter}
}
}
\cs_new_nopar:Npn \__mermap_pretty_length:n #1
{
- \fp_set:Nn \l_tmpa_fp { (#1)*\l__mermap_scale_fp }
- \fp_compare:nNnTF \l_tmpa_fp < 5
+ \fp_set:Nn \l__mermap_tmpa_fp { (#1)*\l__mermap_scale_fp }
+ \fp_compare:nNnTF \l__mermap_tmpa_fp < 5
{
- \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:n{1000*\l_tmpa_fp}}{\meter}
+ \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:n{1000*\l__mermap_tmpa_fp}}{\meter}
}
{
- \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:N \l_tmpa_fp}{\kilo\meter}
+ \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:N \l__mermap_tmpa_fp}{\kilo\meter}
}
}
@@ -1535,25 +1588,25 @@
\cs_new_nopar:Npn \__mermap_format_angle_minute:n #1
{
- \fp_set:Nn \l_tmpa_fp {floor(#1)}
- \fp_set:Nn \l_tmpb_fp {round((#1-\l_tmpa_fp)*60)}
+ \fp_set:Nn \l__mermap_tmpa_fp {floor(#1)}
+ \fp_set:Nn \l__mermap_tmpb_fp {round((#1-\l__mermap_tmpa_fp)*60)}
\ang[add-arc-degree-zero,add-arc-minute-zero]
{
- \fp_to_int:N \l_tmpa_fp ;
- \fp_to_int:N \l_tmpb_fp ;
+ \fp_to_int:N \l__mermap_tmpa_fp ;
+ \fp_to_int:N \l__mermap_tmpb_fp ;
}
}
\cs_new_nopar:Npn \__mermap_format_angle_second:n #1
{
- \fp_set:Nn \l_tmpa_fp {floor(#1)}
- \fp_set:Nn \l_tmpb_fp {floor((#1-\l_tmpa_fp)*60)}
+ \fp_set:Nn \l__mermap_tmpa_fp {floor(#1)}
+ \fp_set:Nn \l__mermap_tmpb_fp {floor((#1-\l__mermap_tmpa_fp)*60)}
\ang[add-arc-degree-zero,add-arc-minute-zero]
{
- \fp_to_int:N \l_tmpa_fp ;
- \fp_to_int:N \l_tmpb_fp ;
- \fp_to_int:n {round(((#1-\l_tmpa_fp)*60-\l_tmpb_fp)*60)}
+ \fp_to_int:N \l__mermap_tmpa_fp ;
+ \fp_to_int:N \l__mermap_tmpb_fp ;
+ \fp_to_int:n {round(((#1-\l__mermap_tmpa_fp)*60-\l__mermap_tmpb_fp)*60)}
}
}
@@ -1562,14 +1615,14 @@
\group_begin:
\IfNoValueF {#1}
{ \keys_set:nn { mermap } {#1} }
- \fp_set:Nn \l_tmpa_fp {#2}
- \fp_compare:nNnTF \l_tmpa_fp < 0
+ \fp_set:Nn \l__mermap_tmpa_fp {#2}
+ \fp_compare:nNnTF \l__mermap_tmpa_fp < 0
{
- \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:n{-\l_tmpa_fp}}
+ \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:n{-\l__mermap_tmpa_fp}}
\__mermap_format_south:n {\__mermap_format_angle:n{\l__mermap_temp_tl}}
}
{
- \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:N \l_tmpa_fp}
+ \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:N \l__mermap_tmpa_fp}
\__mermap_format_north:n {\__mermap_format_angle:n{\l__mermap_temp_tl}}
}
\group_end:
@@ -1580,14 +1633,14 @@
\group_begin:
\IfNoValueF {#1}
{ \keys_set:nn { mermap } {#1} }
- \fp_set:Nn \l_tmpa_fp {#2-360*floor((#2+180)/360)}
- \fp_compare:nNnTF \l_tmpa_fp < 0
+ \fp_set:Nn \l__mermap_tmpa_fp {#2-360*floor((#2+180)/360)}
+ \fp_compare:nNnTF \l__mermap_tmpa_fp < 0
{
- \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:n{-\l_tmpa_fp}}
+ \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:n{-\l__mermap_tmpa_fp}}
\__mermap_format_west:n{\__mermap_format_angle:n{\l__mermap_temp_tl}}
}
{
- \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:N \l_tmpa_fp}
+ \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:N \l__mermap_tmpa_fp}
\__mermap_format_east:n {\__mermap_format_angle:n{\l__mermap_temp_tl}}
}
\group_end:
@@ -1608,22 +1661,22 @@
{
\tl_if_empty:nTF {#5}
{
- \fp_set:Nn \l_tmpa_fp {0}
- \fp_set:Nn \l_tmpb_fp {0}
+ \fp_set:Nn \l__mermap_tmpa_fp {0}
+ \fp_set:Nn \l__mermap_tmpb_fp {0}
}
{
- \fp_set:Nn \l_tmpa_fp {#3*(#5)}
+ \fp_set:Nn \l__mermap_tmpa_fp {#3*(#5)}
\tl_if_empty:nTF {#6}
{
- \fp_set:Nn \l_tmpb_fp {#4*(#5)}
+ \fp_set:Nn \l__mermap_tmpb_fp {#4*(#5)}
}
{
- \fp_set:Nn \l_tmpb_fp {#4*(#6)}
+ \fp_set:Nn \l__mermap_tmpb_fp {#4*(#6)}
}
}
\tl_set:Nx \l__mermap_scalebar_at_tl
{
- {([xshift=\fp_to_dim:N\l_tmpa_fp,yshift=\fp_to_dim:N\l_tmpb_fp]mrcmap.#1)}
+ {([xshift=\fp_to_dim:N\l__mermap_tmpa_fp,yshift=\fp_to_dim:N\l__mermap_tmpb_fp]mrcmap.#1)}
}
\tl_set:Nn \l__mermap_scalebar_placement_tl {#2}
}
@@ -1691,60 +1744,56 @@
\begin{scope}[shift=(mrcscalebar.south~west)]
\__mermap_tikz_path_begin:n { fill=black, mrcscalebarmajor }
\pgfseteorule
- \fp_set:Nn \l_tmpa_fp {\l__mermap_scalebar_width_fp/\l__mermap_scale_fp} % Breite
+ \fp_set:Nn \l__mermap_tmpa_fp {\l__mermap_scalebar_width_fp/\l__mermap_scale_fp} % Breite
\pgfpathrectangle{\pgfpoint{0pt}{0pt}}
- {\pgfpoint{\fp_to_dim:N\l_tmpa_fp}{\l__mermap_scalebar_height_dim}}
+ {\pgfpoint{\fp_to_dim:N\l__mermap_tmpa_fp}{\l__mermap_scalebar_height_dim}}
\bool_if:NF \l__mermap_scalebar_transparent_bool
{
\__mermap_tikz_path_end:
\__mermap_tikz_path_begin:n { fill=white, mrcscalebarminor }
- \fp_set:Nn \l_tmpa_fp {\l__mermap_scalebar_width_fp/\l__mermap_scale_fp}
+ \fp_set:Nn \l__mermap_tmpa_fp {\l__mermap_scalebar_width_fp/\l__mermap_scale_fp}
}
- \fp_set:Nn \l_tmpb_fp {\l_tmpa_fp/\l__mermap_scalebar_partitions_int}
+ \fp_set:Nn \l__mermap_tmpb_fp {\l__mermap_tmpa_fp/\l__mermap_scalebar_partitions_int}
\bool_if:NTF \l__mermap_scalebar_double_bool
{
- \int_set:Nn \l_tmpa_int {1}
- \dim_set:Nn \l_tmpb_dim {\l__mermap_scalebar_height_dim/2}
- \dim_set:Nn \l_tmpa_dim {0.2pt-\l_tmpb_dim}
+ \dim_set:Nn \l__mermap_tmpb_dim {\l__mermap_scalebar_height_dim/2}
+ \dim_set:Nn \l__mermap_tmpa_dim {0.2pt-\l__mermap_tmpb_dim}
\int_compare:nNnTF \l__mermap_scalebar_partitions_int = 1
{
- \pgfpathrectangle{\pgfpoint{0.2pt}{\l_tmpb_dim}}
- {\pgfpoint{\fp_to_dim:n{\l_tmpb_fp-0.4pt}}{\l_tmpa_dim}}
+ \pgfpathrectangle{\pgfpoint{0.2pt}{\l__mermap_tmpb_dim}}
+ {\pgfpoint{\fp_to_dim:n{\l__mermap_tmpb_fp-0.4pt}}{\l__mermap_tmpa_dim}}
}
{
- \pgfpathrectangle{\pgfpoint{0.2pt}{\l_tmpb_dim}}
- {\pgfpoint{\fp_to_dim:n{\l_tmpb_fp-0.2pt}}{\l_tmpa_dim}}
+ \pgfpathrectangle{\pgfpoint{0.2pt}{\l__mermap_tmpb_dim}}
+ {\pgfpoint{\fp_to_dim:n{\l__mermap_tmpb_fp-0.2pt}}{\l__mermap_tmpa_dim}}
}
- \int_while_do:nNnn \l_tmpa_int < \l__mermap_scalebar_partitions_int
+ \int_step_inline:nn { \l__mermap_scalebar_partitions_int-1 }
{
- \dim_set:Nn \l_tmpa_dim {-\l_tmpa_dim}
- \int_compare:nNnTF {\l_tmpa_int+1} = \l__mermap_scalebar_partitions_int
+ \dim_set:Nn \l__mermap_tmpa_dim {-\l__mermap_tmpa_dim}
+ \int_compare:nNnTF {##1+1} = \l__mermap_scalebar_partitions_int
{
- \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{\l_tmpa_int*\l_tmpb_fp}}{\l_tmpb_dim}}
- {\pgfpoint{\fp_to_dim:n{\l_tmpb_fp-0.2pt}}{\l_tmpa_dim}}
+ \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{##1*\l__mermap_tmpb_fp}}{\l__mermap_tmpb_dim}}
+ {\pgfpoint{\fp_to_dim:n{\l__mermap_tmpb_fp-0.2pt}}{\l__mermap_tmpa_dim}}
}
{
- \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{\l_tmpa_int*\l_tmpb_fp}}{\l_tmpb_dim}}
- {\pgfpoint{\fp_to_dim:N\l_tmpb_fp}{\l_tmpa_dim}}
+ \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{##1*\l__mermap_tmpb_fp}}{\l__mermap_tmpb_dim}}
+ {\pgfpoint{\fp_to_dim:N\l__mermap_tmpb_fp}{\l__mermap_tmpa_dim}}
}
- \int_incr:N \l_tmpa_int
}
}
{
- \int_set:Nn \l_tmpa_int {1}
- \dim_set:Nn \l_tmpa_dim {\l__mermap_scalebar_height_dim-0.4pt}
- \int_while_do:nNnn \l_tmpa_int < \l__mermap_scalebar_partitions_int
+ \dim_set:Nn \l__mermap_tmpa_dim {\l__mermap_scalebar_height_dim-0.4pt}
+ \int_step_inline:nnnn { 1 }{ 2 }{ \l__mermap_scalebar_partitions_int-1 }
{
- \int_compare:nNnTF {\l_tmpa_int+1} = \l__mermap_scalebar_partitions_int
+ \int_compare:nNnTF {##1+1} = \l__mermap_scalebar_partitions_int
{
- \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{\l_tmpa_int*\l_tmpb_fp}}{0.2pt}}
- {\pgfpoint{\fp_to_dim:n{\l_tmpb_fp-0.2pt}}{\l_tmpa_dim}}
+ \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{##1*\l__mermap_tmpb_fp}}{0.2pt}}
+ {\pgfpoint{\fp_to_dim:n{\l__mermap_tmpb_fp-0.2pt}}{\l__mermap_tmpa_dim}}
}
{
- \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{\l_tmpa_int*\l_tmpb_fp}}{0.2pt}}
- {\pgfpoint{\fp_to_dim:N\l_tmpb_fp}{\l_tmpa_dim}}
+ \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{##1*\l__mermap_tmpb_fp}}{0.2pt}}
+ {\pgfpoint{\fp_to_dim:N\l__mermap_tmpb_fp}{\l__mermap_tmpa_dim}}
}
- \int_add:Nn \l_tmpa_int {2}
}
}
\__mermap_tikz_path_end:
@@ -2032,53 +2081,53 @@
\__mermap_new_marker_type:nn {pin}
{
- \tl_set:Nx \l_tmpa_tl {\fp_to_dim:N \l__mermap_marker_distance_fp}
+ \tl_set:Nx \l__mermap_tmpa_tl {\fp_to_dim:N \l__mermap_marker_distance_fp}
\path[fill=mrcmarkerfill,draw=none,fill~opacity=0.7]
- (0,0) -- (0.1,\l_tmpa_tl) -- (-0.1,\l_tmpa_tl) -- cycle;
+ (0,0) -- (0.1,\l__mermap_tmpa_tl) -- (-0.1,\l__mermap_tmpa_tl) -- cycle;
\node[fill=white,draw=none,text=mrcmarkertext,
above,font=\mrcmarkerfont,inner~sep=0.5mm,align=center,
line~width=0mm,xshift=\mrcmarkershift,
fill~opacity=0.7,text~opacity=1,xshift=0mm,mrcnodestyle,mrchyperpath]
- (pin_node) at (0,\l_tmpa_tl) {\mrcmarkercontents};
+ (pin_node) at (0,\l__mermap_tmpa_tl) {\mrcmarkercontents};
\path[draw=mrcmarkerdraw,fill=none,line~join=round,mrcpathstyle]
- (0,0) -- (0.1,\l_tmpa_tl) -- (pin_node.south~east) -- (pin_node.north~east)
+ (0,0) -- (0.1,\l__mermap_tmpa_tl) -- (pin_node.south~east) -- (pin_node.north~east)
-- (pin_node.north~west) -- (pin_node.south~west)
- -- (-0.1,\l_tmpa_tl) [line~join=bevel] -- cycle;
+ -- (-0.1,\l__mermap_tmpa_tl) [line~join=bevel] -- cycle;
}
\__mermap_new_marker_type:nn {pinflip}
{
- \tl_set:Nx \l_tmpa_tl {\fp_to_dim:N \l__mermap_marker_distance_fp}
+ \tl_set:Nx \l__mermap_tmpa_tl {\fp_to_dim:N \l__mermap_marker_distance_fp}
\path[fill=mrcmarkerfill,draw=none,fill~opacity=0.7]
- (0,0) -- (-0.1,-\l_tmpa_tl) -- (0.1,-\l_tmpa_tl) -- cycle;
+ (0,0) -- (-0.1,-\l__mermap_tmpa_tl) -- (0.1,-\l__mermap_tmpa_tl) -- cycle;
\node[fill=white,draw=none,text=mrcmarkertext,
below,font=\mrcmarkerfont,inner~sep=0.5mm,align=center,
line~width=0mm,xshift=\mrcmarkershift,
fill~opacity=0.7,text~opacity=1,xshift=0mm,mrcnodestyle,mrchyperpath]
- (pin_node) at (0,-\l_tmpa_tl) {\mrcmarkercontents};
+ (pin_node) at (0,-\l__mermap_tmpa_tl) {\mrcmarkercontents};
\path[draw=mrcmarkerdraw,fill=none,line~join=round,mrcpathstyle]
- (0,0) -- (-0.1,-\l_tmpa_tl) -- (pin_node.north~west) -- (pin_node.south~west)
+ (0,0) -- (-0.1,-\l__mermap_tmpa_tl) -- (pin_node.north~west) -- (pin_node.south~west)
-- (pin_node.south~east) -- (pin_node.north~east)
- -- (0.1,-\l_tmpa_tl) [line~join=bevel] -- cycle;
+ -- (0.1,-\l__mermap_tmpa_tl) [line~join=bevel] -- cycle;
}
\cs_new_nopar:Npn \__mermap_tikz_drop_path:n #1
{
- \tl_set:Nn \l_tmpa_tl {\fp_to_dim:N\l__mermap_marker_radius_fp}
- \tl_set:Nn \l_tmpb_tl {\fp_to_dim:n{\l__mermap_marker_radius_fp*0.552}}
+ \tl_set:Nn \l__mermap_tmpa_tl {\fp_to_dim:N\l__mermap_marker_radius_fp}
+ \tl_set:Nn \l__mermap_tmpb_tl {\fp_to_dim:n{\l__mermap_marker_radius_fp*0.552}}
\__mermap_tikz_path_begin:n
{
line~join=bevel,draw=mrcmarkerdraw,fill=mrcmarkerfill,mrcpathstyle,mrchyperpath
}
\pgfpathmoveto{\pgfpoint{0pt}{\fp_to_dim:n{-2*\l__mermap_marker_radius_fp-\l__mermap_marker_shift_fp}}}
- \pgfpathcurveto{\pgfpoint{\l_tmpb_tl}{-\l_tmpa_tl}}{\pgfpoint{\l_tmpa_tl}{-\l_tmpb_tl}}
- {\pgfpoint{\l_tmpa_tl}{0pt}}
- \pgfpathcurveto{\pgfpoint{\l_tmpa_tl}{\l_tmpb_tl}}{\pgfpoint{\l_tmpb_tl}{\l_tmpa_tl}}
- {\pgfpoint{0pt}{\l_tmpa_tl}}
- \pgfpathcurveto{\pgfpoint{-\l_tmpb_tl}{\l_tmpa_tl}}{\pgfpoint{-\l_tmpa_tl}{\l_tmpb_tl}}
- {\pgfpoint{-\l_tmpa_tl}{0pt}}
- \pgfpathcurveto{\pgfpoint{-\l_tmpa_tl}{-\l_tmpb_tl}}{\pgfpoint{-\l_tmpb_tl}{-\l_tmpa_tl}}
+ \pgfpathcurveto{\pgfpoint{\l__mermap_tmpb_tl}{-\l__mermap_tmpa_tl}}{\pgfpoint{\l__mermap_tmpa_tl}{-\l__mermap_tmpb_tl}}
+ {\pgfpoint{\l__mermap_tmpa_tl}{0pt}}
+ \pgfpathcurveto{\pgfpoint{\l__mermap_tmpa_tl}{\l__mermap_tmpb_tl}}{\pgfpoint{\l__mermap_tmpb_tl}{\l__mermap_tmpa_tl}}
+ {\pgfpoint{0pt}{\l__mermap_tmpa_tl}}
+ \pgfpathcurveto{\pgfpoint{-\l__mermap_tmpb_tl}{\l__mermap_tmpa_tl}}{\pgfpoint{-\l__mermap_tmpa_tl}{\l__mermap_tmpb_tl}}
+ {\pgfpoint{-\l__mermap_tmpa_tl}{0pt}}
+ \pgfpathcurveto{\pgfpoint{-\l__mermap_tmpa_tl}{-\l__mermap_tmpb_tl}}{\pgfpoint{-\l__mermap_tmpb_tl}{-\l__mermap_tmpa_tl}}
{\pgfpoint{0pt}{\fp_to_dim:n{-2*\l__mermap_marker_radius_fp-\l__mermap_marker_shift_fp}}}
\pgfpathclose
#1
@@ -2089,14 +2138,14 @@
{
\node[circle,inner~sep=0pt,font=\mrcmarkerfont,text=mrcmarkertext,mrcnodestyle]
{
- \hbox_set:Nn \l_tmpa_box {\mrcmarkercontents}
- \fp_compare:nNnT {\box_wd:N \l_tmpa_box} > {1.5*\l__mermap_marker_radius_fp}
+ \hbox_set:Nn \l__mermap_tmpa_box {\mrcmarkercontents}
+ \fp_compare:nNnT {\box_wd:N \l__mermap_tmpa_box} > {1.5*\l__mermap_marker_radius_fp}
{
- \box_resize_to_wd_and_ht:Nnn \l_tmpa_box
+ \box_resize_to_wd_and_ht:Nnn \l__mermap_tmpa_box
{\fp_to_dim:n {1.5*\l__mermap_marker_radius_fp}}
- {\box_ht:N \l_tmpa_box}
+ {\box_ht:N \l__mermap_tmpa_box}
}
- \box_use_drop:N \l_tmpa_box
+ \box_use_drop:N \l__mermap_tmpa_box
};
}
@@ -2153,22 +2202,22 @@
\__mermap_new_marker_type:nn {ringx}
{
- \tl_set:Nn \l_tmpa_tl {\fp_to_dim:N\l__mermap_marker_radius_fp}
+ \tl_set:Nn \l__mermap_tmpa_tl {\fp_to_dim:N\l__mermap_marker_radius_fp}
\path[draw=mrcmarkerdraw,very~thin]
- (45 \c_colon_str \l_tmpa_tl)--(225\c_colon_str \l_tmpa_tl)
- (135\c_colon_str \l_tmpa_tl)--(315\c_colon_str \l_tmpa_tl);
+ (45 \c_colon_str \l__mermap_tmpa_tl)--(225\c_colon_str \l__mermap_tmpa_tl)
+ (135\c_colon_str \l__mermap_tmpa_tl)--(315\c_colon_str \l__mermap_tmpa_tl);
\path[draw=mrcmarkerdraw,fill=mrcmarkerfill,mrcpathstyle,mrchyperpath,even~odd~rule]
- circle (\l_tmpa_tl) circle (\fp_to_dim:N\l__mermap_marker_inner_radius_fp);
+ circle (\l__mermap_tmpa_tl) circle (\fp_to_dim:N\l__mermap_marker_inner_radius_fp);
}
\__mermap_new_marker_type:nn {markx}
{
- \tl_set:Nn \l_tmpa_tl {\fp_to_dim:N\l__mermap_marker_radius_fp}
+ \tl_set:Nn \l__mermap_tmpa_tl {\fp_to_dim:N\l__mermap_marker_radius_fp}
\path[line~join=bevel,draw=mrcmarkerdraw,fill=mrcmarkerfill,mrcpathstyle,mrchyperpath]
- (0,0) -- (35 \c_colon_str \l_tmpa_tl) -- (55 \c_colon_str \l_tmpa_tl) -- cycle
- (0,0) -- (125 \c_colon_str \l_tmpa_tl) -- (145 \c_colon_str \l_tmpa_tl) -- cycle
- (0,0) -- (215 \c_colon_str \l_tmpa_tl) -- (235 \c_colon_str \l_tmpa_tl) -- cycle
- (0,0) -- (305 \c_colon_str \l_tmpa_tl) -- (325 \c_colon_str \l_tmpa_tl) -- cycle;
+ (0,0) -- (35 \c_colon_str \l__mermap_tmpa_tl) -- (55 \c_colon_str \l__mermap_tmpa_tl) -- cycle
+ (0,0) -- (125 \c_colon_str \l__mermap_tmpa_tl) -- (145 \c_colon_str \l__mermap_tmpa_tl) -- cycle
+ (0,0) -- (215 \c_colon_str \l__mermap_tmpa_tl) -- (235 \c_colon_str \l__mermap_tmpa_tl) -- cycle
+ (0,0) -- (305 \c_colon_str \l__mermap_tmpa_tl) -- (325 \c_colon_str \l__mermap_tmpa_tl) -- cycle;
}
@@ -2269,12 +2318,21 @@
\fp_new:N \l__mermap_b_x_fp
\fp_new:N \l__mermap_b_y_fp
\fp_new:N \l__mermap_b_z_fp
+\fp_new:N \l__mermap_alpha_fp
\fp_new:N \l__mermap_delta_lambda_fp
\fp_new:N \l__mermap_delta_phi_fp
+\fp_new:N \l__mermap_n_x_fp
+\fp_new:N \l__mermap_n_y_fp
+\fp_new:N \l__mermap_n_z_fp
\fp_new:N \l__mermap_psi_fp
+\fp_new:N \l__mermap_sin_psi_fp
+\fp_new:N \l__mermap_t_fp
+\fp_new:N \l__mermap_t_psi_fp
\fp_new:N \l__mermap_t_x_fp
\fp_new:N \l__mermap_t_y_fp
\fp_new:N \l__mermap_t_z_fp
+\fp_const:Nn \c__mermap_linearization_threshold_fp { 10e-9 }
+\bool_new:N \l__mermap_linearization_bool
\int_new:N \l__mermap_samples_int
@@ -2309,41 +2367,86 @@
}
-\cs_new:Npn \__mermap_draw_orthodrome:nnnnn #1#2#3#4#5
+\cs_new_protected:Npn \__mermap_draw_orthodrome:nnnnn #1#2#3#4#5
{
\__mermap_tikz_path_begin:n { draw,mermap_every_route,#1 }
- \fp_set:Nn \l__mermap_a_x_fp { cosd(#3)*cosd(#2) }
- \fp_set:Nn \l__mermap_a_y_fp { sind(#3)*cosd(#2) }
- \fp_set:Nn \l__mermap_a_z_fp { sind(#2) }
- \fp_set:Nn \l__mermap_b_x_fp { cosd(#5)*cosd(#4) }
- \fp_set:Nn \l__mermap_b_y_fp { sind(#5)*cosd(#4) }
- \fp_set:Nn \l__mermap_b_z_fp { sind(#4) }
-
- \fp_set:Nn \l_tmpa_fp { sind(#2)*sind(#4) + cosd(#2)*cosd(#4)*cosd(#5-(#3)) }
- \fp_set:Nn \l__mermap_psi_fp { acosd(\l_tmpa_fp) }
- \fp_set:Nn \l_tmpb_fp { sind(\l__mermap_psi_fp) }
-
- \fp_set:Nn \l__mermap_b_x_fp { (\l__mermap_b_x_fp - \l_tmpa_fp*\l__mermap_a_x_fp)/\l_tmpb_fp }
- \fp_set:Nn \l__mermap_b_y_fp { (\l__mermap_b_y_fp - \l_tmpa_fp*\l__mermap_a_y_fp)/\l_tmpb_fp }
- \fp_set:Nn \l__mermap_b_z_fp { (\l__mermap_b_z_fp - \l_tmpa_fp*\l__mermap_a_z_fp)/\l_tmpb_fp }
-
- \__mermap_pgf_moveto_point:nn {#2}{#3}
- \int_set:Nn \l_tmpa_int {1}
- \int_until_do:nNnn \l_tmpa_int > \l__mermap_samples_int
- {
- \fp_set:Nn \l_tmpa_fp { \l__mermap_psi_fp*\l_tmpa_int/\l__mermap_samples_int }
- \fp_set:Nn \l_tmpb_fp { sind(\l_tmpa_fp) }
- \fp_set:Nn \l_tmpa_fp { cosd(\l_tmpa_fp) }
- \fp_set:Nn \l__mermap_t_x_fp { \l_tmpa_fp*\l__mermap_a_x_fp + \l_tmpb_fp*\l__mermap_b_x_fp }
- \fp_set:Nn \l__mermap_t_y_fp { \l_tmpa_fp*\l__mermap_a_y_fp + \l_tmpb_fp*\l__mermap_b_y_fp }
- \fp_set:Nn \l__mermap_t_z_fp { \l_tmpa_fp*\l__mermap_a_z_fp + \l_tmpb_fp*\l__mermap_b_z_fp }
- \pgfpathlineto{\__mermap_unit_sphere_point:nnn {\l__mermap_t_x_fp}{\l__mermap_t_y_fp}{\l__mermap_t_z_fp}}
- \int_incr:N \l_tmpa_int
+ \__mermap_setup_orthodrome:nnnn { #2 }{ #3 }{ #4 }{ #5 }
+ \__mermap_pgf_moveto_point:nn { #2 }{ #3 }
+ \int_step_inline:nn { \l__mermap_samples_int }
+ {
+ \__mermap_point_on_orthodrome:n { ##1/\l__mermap_samples_int }
+ \__mermap_pgf_lineto_point:nn{ \l__mermap_cs_lat_fp }{ \l__mermap_cs_lon_fp }
}
\__mermap_tikz_path_end:
}
+\cs_new_protected:Npn \__mermap_setup_orthodrome:nnnn #1#2#3#4
+ {
+ \fp_set:Nn \l__mermap_a_x_fp { cosd(#2)*cosd(#1) }
+ \fp_set:Nn \l__mermap_a_y_fp { sind(#2)*cosd(#1) }
+ \fp_set:Nn \l__mermap_a_z_fp { sind(#1) }
+
+ \fp_set:Nn \l__mermap_b_x_fp { cosd(#4)*cosd(#3) }
+ \fp_set:Nn \l__mermap_b_y_fp { sind(#4)*cosd(#3) }
+ \fp_set:Nn \l__mermap_b_z_fp { sind(#3) }
+
+ \fp_set:Nn \l__mermap_psi_fp { acosd( sind(#1)*sind(#3) + cosd(#1)*cosd(#3)*cosd(#4-(#2)) ) }
+ \fp_set:Nn \l__mermap_sin_psi_fp { sind(\l__mermap_psi_fp) }
+
+ \bool_set:Nn \l__mermap_linearization_bool { \fp_compare_p:nNn \l__mermap_psi_fp < \c__mermap_linearization_threshold_fp }
+ }
+
+
+\cs_new_protected:Npn \__mermap_point_on_orthodrome:n #1
+ {
+ \fp_set:Nn \l__mermap_t_fp { #1 }
+
+ \bool_if:NTF \l__mermap_linearization_bool
+ {
+ \fp_set:Nn \l__mermap_tmpa_fp { 1 - \l__mermap_t_fp }
+ \fp_set_eq:NN \l__mermap_tmpb_fp \l__mermap_t_fp
+ }
+ {
+ \fp_set:Nn \l__mermap_t_psi_fp { \l__mermap_t_fp * \l__mermap_psi_fp }
+ \fp_set:Nn \l__mermap_tmpa_fp { sind( \l__mermap_psi_fp - \l__mermap_t_psi_fp ) / \l__mermap_sin_psi_fp }
+ \fp_set:Nn \l__mermap_tmpb_fp { sind( \l__mermap_t_psi_fp ) / \l__mermap_sin_psi_fp }
+ }
+
+ \fp_set:Nn \l__mermap_t_x_fp { \l__mermap_tmpa_fp*\l__mermap_a_x_fp + \l__mermap_tmpb_fp*\l__mermap_b_x_fp }
+ \fp_set:Nn \l__mermap_t_y_fp { \l__mermap_tmpa_fp*\l__mermap_a_y_fp + \l__mermap_tmpb_fp*\l__mermap_b_y_fp }
+ \fp_set:Nn \l__mermap_t_z_fp { \l__mermap_tmpa_fp*\l__mermap_a_z_fp + \l__mermap_tmpb_fp*\l__mermap_b_z_fp }
+
+ \fp_set:Nn \l__mermap_cs_lat_fp { asind(\l__mermap_t_z_fp) }
+ \fp_set:Nn \l__mermap_cs_lon_fp { sign(\l__mermap_t_y_fp)*acosd(\l__mermap_t_x_fp/sqrt(\l__mermap_t_x_fp^2+\l__mermap_t_y_fp^2)) }
+ }
+
+
+\cs_new_protected:Npn \__mermap_angle_at_orthodrome:
+ {
+ \bool_if:NTF \l__mermap_linearization_bool
+ {
+ \fp_set:Nn \l__mermap_alpha_fp { 90 }
+ }
+ {
+ \fp_set:Nn \l__mermap_tmpa_fp { cosd( \l__mermap_psi_fp - \l__mermap_t_psi_fp ) }
+ \fp_set:Nn \l__mermap_tmpb_fp { cosd( \l__mermap_t_psi_fp ) }
+ \fp_set:Nn \l__mermap_n_x_fp { \l__mermap_tmpb_fp*\l__mermap_b_x_fp - \l__mermap_tmpa_fp*\l__mermap_a_x_fp }
+ \fp_set:Nn \l__mermap_n_y_fp { \l__mermap_tmpb_fp*\l__mermap_b_y_fp - \l__mermap_tmpa_fp*\l__mermap_a_y_fp }
+ \fp_set:Nn \l__mermap_n_z_fp { \l__mermap_tmpb_fp*\l__mermap_b_z_fp - \l__mermap_tmpa_fp*\l__mermap_a_z_fp }
+ \fp_set:Nn \l__mermap_tmpa_fp { sqrt( \l__mermap_n_x_fp^2 + \l__mermap_n_y_fp^2 + \l__mermap_n_z_fp^2 ) }
+ \fp_set:Nn \l__mermap_n_x_fp { \l__mermap_n_x_fp / \l__mermap_tmpa_fp }
+ \fp_set:Nn \l__mermap_n_y_fp { \l__mermap_n_y_fp / \l__mermap_tmpa_fp }
+ \fp_set:Nn \l__mermap_n_z_fp { \l__mermap_n_z_fp / \l__mermap_tmpa_fp }
+ \fp_set:Nn \l__mermap_alpha_fp { acosd( \l__mermap_n_y_fp*cosd(\l__mermap_cs_lon_fp) - \l__mermap_n_x_fp*sind(\l__mermap_cs_lon_fp) ) }
+ \fp_compare:nNnT \l__mermap_n_z_fp < 0
+ {
+ \fp_set:Nn \l__mermap_alpha_fp { 360 - \l__mermap_alpha_fp }
+ }
+ }
+ }
+
+
\NewDocumentCommand \mrcdraworthodrome { O{} mmmm }
{
\__mermap_draw_orthodrome:nnnnn {#1}{#2}{#3}{#4}{#5}
@@ -2392,11 +2495,11 @@
\fp_set:Nn \l__mermap_delta_lambda_fp {(#4-(#2))/180*pi}
\fp_compare:nNnTF {abs(\l__mermap_delta_phi_fp)} < {1e-5}
{
- \fp_set:Nn \l_tmpa_fp { tand(#1) }
- \fp_set:Nn \l_tmpb_fp { \l__mermap_delta_lambda_fp*cosd(#1)
- /( 1 + (\l_tmpa_fp + (1+2*\l_tmpa_fp*\l_tmpa_fp)*\l__mermap_delta_phi_fp/3)*\l__mermap_delta_phi_fp/2 ) }
+ \fp_set:Nn \l__mermap_tmpa_fp { tand(#1) }
+ \fp_set:Nn \l__mermap_tmpb_fp { \l__mermap_delta_lambda_fp*cosd(#1)
+ /( 1 + (\l__mermap_tmpa_fp + (1+2*\l__mermap_tmpa_fp*\l__mermap_tmpa_fp)*\l__mermap_delta_phi_fp/3)*\l__mermap_delta_phi_fp/2 ) }
\fp_set:Nn \l__mermap_result_fp {
- sqrt( \l__mermap_delta_phi_fp*\l__mermap_delta_phi_fp + \l_tmpb_fp*\l_tmpb_fp ) }
+ sqrt( \l__mermap_delta_phi_fp*\l__mermap_delta_phi_fp + \l__mermap_tmpb_fp*\l__mermap_tmpb_fp ) }
}
{
\fp_set:Nn \l__mermap_result_fp { abs(\l__mermap_delta_phi_fp)
@@ -2422,11 +2525,314 @@
\NewDocumentCommand \mrcNPprettyloxodistance { mm }
{
- \__mermap_loxo_distance:nnnn {\mrcNPlat{#1}}{\mrcNPlon{#1}}{\mrcNPlat{#2}}{\mrcNPlon{#2}}
+ \__mermap_loxo_distance:nnnn { \mrcNPlat{#1} }{ \mrcNPlon{#1} }{ \mrcNPlat{#2} }{ \mrcNPlon{#2} }
\__mermap_pretty_distance:n { \l__mermap_result_fp }
}
+\cs_new_protected:Npn \__mermap_orthodrome_point:nnn #1#2#3
+ {
+ \__mermap_point_on_orthodrome:n { #3 }
+ \__mermap_set_named_position { #1 }{ \l__mermap_cs_lat_fp }{ \l__mermap_cs_lon_fp }
+ \IfNoValueF { #2 }
+ {
+ \__mermap_angle_at_orthodrome:
+ \cs_set:Npe #2 { \fp_to_decimal:N \l__mermap_alpha_fp }
+ }
+ }
+
+\NewDocumentCommand \mrcNPfromOrthoFraction { mo mm mm m }
+ {
+ \__mermap_setup_orthodrome:nnnn { #3 }{ #4 }{ #5 }{ #6 }
+ \__mermap_orthodrome_point:nnn { #1 }{ #2 }{ #7 }
+ }
+
+\NewDocumentCommand \mrcNPfromOrthoFractionNamed { mo m m m }
+ {
+ \__mermap_setup_orthodrome:nnnn { \mrcNPlat{#3} }{ \mrcNPlon{#3} }{ \mrcNPlat{#4} }{ \mrcNPlon{#4} }
+ \__mermap_orthodrome_point:nnn { #1 }{ #2 }{ #5 }
+ }
+
+\NewDocumentCommand \mrcNPfromOrthoDistance { mo mm mm m }
+ {
+ \__mermap_ortho_distance:nnnn { #3 }{ #4 }{ #5 }{ #6 }
+ \fp_compare:nNnTF \l__mermap_result_fp > { 0.001 }
+ {
+ \__mermap_setup_orthodrome:nnnn { #3 }{ #4 }{ #5 }{ #6 }
+ \__mermap_orthodrome_point:nnn { #1 }{ #2 }{ #7 / \l__mermap_result_fp }
+ }
+ {
+ \__mermap_set_named_position { #1 }{ #3 }{ #4 }
+ \IfNoValueF { #2 }
+ {
+ \cs_set:Npn #2 { 90 }
+ }
+ }
+ }
+
+\NewDocumentCommand \mrcNPfromOrthoDistanceNamed { mo m m m }
+ {
+ \__mermap_ortho_distance:nnnn { \mrcNPlat{#3} }{ \mrcNPlon{#3} }{ \mrcNPlat{#4} }{ \mrcNPlon{#4} }
+ \fp_compare:nNnTF \l__mermap_result_fp > { 0.001 }
+ {
+ \__mermap_setup_orthodrome:nnnn { \mrcNPlat{#3} }{ \mrcNPlon{#3} }{ \mrcNPlat{#4} }{ \mrcNPlon{#4} }
+ \__mermap_orthodrome_point:nnn { #1 }{ #2 }{ #5 / \l__mermap_result_fp }
+ }
+ {
+ \__mermap_set_named_position { #1 }{ \mrcNPlat{#3} }{ \mrcNPlon{#3} }
+ \IfNoValueF { #2 }
+ {
+ \cs_set:Npn #2 { 90 }
+ }
+ }
+ }
+
+
+%---- animations ---------------------------------------------------------------
+
+\bool_new:N \l__mermap_anim_drop_first_frame_bool
+\bool_new:N \l__mermap_anim_drop_last_frame_bool
+
+\fp_new:N \l__mermap_anim_a_lat_fp
+\fp_new:N \l__mermap_anim_a_lon_fp
+\fp_new:N \l__mermap_anim_a_scaledenom_fp
+\fp_new:N \l__mermap_anim_a_time_fp
+\fp_new:N \l__mermap_anim_b_lat_fp
+\fp_new:N \l__mermap_anim_b_lon_fp
+\fp_new:N \l__mermap_anim_b_scaledenom_fp
+\fp_new:N \l__mermap_anim_b_time_fp
+\fp_new:N \l_mermap_anim_angle_fp
+\fp_new:N \l_mermap_anim_lat_fp
+\fp_new:N \l_mermap_anim_lon_fp
+\fp_new:N \l_mermap_anim_scaledenom_fp
+\fp_new:N \l_mermap_anim_time_fp
+
+\int_new:N \l__mermap_anim_final_frame_int
+\int_new:N \l__mermap_anim_frames_int
+\int_new:N \l__mermap_anim_start_frame_int
+\int_new:N \l_mermap_anim_frame_int
+
+\seq_new:N \l__mermap_anim_scaledenom_seq
+
+\tl_new:N \l__mermap_anim_timescale_tl
+\tl_new:N \l__mermap_anim_timewarp_tl
+
+
+\NewExpandableDocumentCommand \mrcTimewarpIdentity { m }
+ {
+ #1
+ }
+
+\NewExpandableDocumentCommand \mrcTimewarpSlowStart { m m }
+ {
+ (#2)^(#1)
+ }
+
+\NewExpandableDocumentCommand \mrcTimewarpSlowFinal { m m }
+ {
+ 1 - (1-#2)^(#1)
+ }
+
+\NewExpandableDocumentCommand \mrcTimewarpSlowStartFinal { m m }
+ {
+ %1 - (1-#2)^(#1)
+ #2 <= 0.5
+ ? (2*(#2))^(#1) / 2
+ : 1 - (2-2*(#2))^(#1) / 2
+ }
+
+
+\NewDocumentEnvironment { mrcAnimation }{ m +b }
+ {
+ \keys_set:nn { mermap/anim }{ #1 }
+
+ \__mermap_anim_autocorrect_scaledenom_seq:
+ \int_compare:nNnT \l__mermap_anim_frames_int < 2
+ {
+ \int_set:Nn \l__mermap_anim_frames_int { 2 }
+ }
+ \bool_if:NTF \l__mermap_anim_drop_first_frame_bool
+ {
+ \int_set:Nn \l__mermap_anim_start_frame_int { 2 }
+ }
+ {
+ \int_set:Nn \l__mermap_anim_start_frame_int { 1 }
+ }
+ \bool_if:NTF \l__mermap_anim_drop_last_frame_bool
+ {
+ \int_set:Nn \l__mermap_anim_final_frame_int { \l__mermap_anim_frames_int-1 }
+ }
+ {
+ \int_set:Nn \l__mermap_anim_final_frame_int { \l__mermap_anim_frames_int }
+ }
+
+ \__mermap_setup_orthodrome:nnnn { \l__mermap_anim_a_lat_fp }{ \l__mermap_anim_a_lon_fp }
+ { \l__mermap_anim_b_lat_fp }{ \l__mermap_anim_b_lon_fp }
+
+ \__mermap_anim_pop_time_scale:NN \l__mermap_anim_a_time_fp \l__mermap_anim_a_scaledenom_fp
+ \__mermap_anim_pop_time_scale:NN \l__mermap_anim_b_time_fp \l__mermap_anim_b_scaledenom_fp
+
+ \int_step_variable:nnNn { \l__mermap_anim_start_frame_int }{ \l__mermap_anim_final_frame_int } \l_mermap_anim_frame_int
+ {
+ \fp_set:Nn \l_mermap_anim_time_fp { (\l_mermap_anim_frame_int-1)/(\l__mermap_anim_frames_int-1) }
+ \fp_set:Nn \l_mermap_anim_time_fp { \l__mermap_anim_timewarp_tl { \l_mermap_anim_time_fp } }
+
+ \__mermap_point_on_orthodrome:n { \l_mermap_anim_time_fp }
+ \fp_set_eq:NN \l_mermap_anim_lat_fp \l__mermap_cs_lat_fp
+ \fp_set_eq:NN \l_mermap_anim_lon_fp \l__mermap_cs_lon_fp
+ \__mermap_set_named_position{ AnimNP }{ \l_mermap_anim_lat_fp }{ \l_mermap_anim_lon_fp }
+
+ \__mermap_angle_at_orthodrome:
+ \fp_set_eq:NN \l_mermap_anim_angle_fp \l__mermap_alpha_fp
+
+ \fp_while_do:nNnn \l_mermap_anim_time_fp > \l__mermap_anim_b_time_fp
+ {
+ \fp_set_eq:NN \l__mermap_anim_a_time_fp \l__mermap_anim_b_time_fp
+ \fp_set_eq:NN \l__mermap_anim_a_scaledenom_fp \l__mermap_anim_b_scaledenom_fp
+ \__mermap_anim_pop_time_scale:NN \l__mermap_anim_b_time_fp \l__mermap_anim_b_scaledenom_fp
+ }
+ \fp_set:Nn \l_mermap_anim_scaledenom_fp
+ {
+ round ( exp (
+ ln(\l__mermap_anim_a_scaledenom_fp) +
+ ( ln(\l__mermap_anim_b_scaledenom_fp)-ln(\l__mermap_anim_a_scaledenom_fp) ) *
+ ( \l_mermap_anim_time_fp-\l__mermap_anim_a_time_fp ) / ( \l__mermap_anim_b_time_fp-\l__mermap_anim_a_time_fp )
+ ) )
+ }
+
+ #2
+ }
+ }{}
+
+
+\cs_new_protected:Npn \__mermap_anim_autocorrect_scaledenom_seq:
+ {
+ \seq_get_left:NN \l__mermap_anim_scaledenom_seq \l__mermap_anim_timescale_tl
+ \bool_lazy_any:nTF
+ {
+ { \seq_if_empty_p:N \l__mermap_anim_scaledenom_seq }
+ { \tl_if_empty_p:N \l__mermap_anim_timescale_tl }
+ { \quark_if_no_value_p:N \l__mermap_anim_timescale_tl }
+ }
+ {
+ \seq_set_split:Nnn \l__mermap_anim_scaledenom_seq { - }{ 0/25000 - 1/25000 },
+ }
+ {
+ \fp_compare:nNnF { \__mermap_anim_use_time:o \l__mermap_anim_timescale_tl } = 0
+ {
+ \seq_put_left:Ne \l__mermap_anim_scaledenom_seq { 0 / \__mermap_anim_use_scale:o \l__mermap_anim_timescale_tl }
+ }
+ }
+ \seq_get_right:NNF \l__mermap_anim_scaledenom_seq \l__mermap_anim_timescale_tl
+ {
+ \msg_error:nn{ mercatormap }{ anim-scaledenom-invalid }
+ }
+ \fp_compare:nNnF { \__mermap_anim_use_time:o \l__mermap_anim_timescale_tl } = 1
+ {
+ \seq_put_right:Ne \l__mermap_anim_scaledenom_seq { 1 / \__mermap_anim_use_scale:o \l__mermap_anim_timescale_tl }
+ }
+ \fp_set:Nn \l__mermap_anim_a_time_fp { -1 }
+ \seq_map_inline:Nn \l__mermap_anim_scaledenom_seq
+ {
+ \fp_set:Nn \l__mermap_anim_b_time_fp { \__mermap_anim_use_time:n { ##1 } }
+ \fp_compare:nNnTF \l__mermap_anim_a_time_fp < \l__mermap_anim_b_time_fp
+ {
+ \fp_set_eq:NN \l__mermap_anim_a_time_fp \l__mermap_anim_b_time_fp
+ }
+ {
+ \msg_error:nn{ mercatormap }{ anim-scaledenom-invalid }
+ }
+ }
+ }
+
+\cs_new_protected:Npn \__mermap_anim_pop_time_scale:NN #1#2
+ {
+ \seq_pop_left:NN \l__mermap_anim_scaledenom_seq \l__mermap_anim_timescale_tl
+ \fp_set:Nn #1 { \__mermap_anim_use_time:o \l__mermap_anim_timescale_tl }
+ \fp_set:Nn #2 { \__mermap_anim_use_scale:o \l__mermap_anim_timescale_tl }
+ }
+
+\msg_new:nnnn{ mercatormap }{ anim-scaledenom-invalid }
+ { The~animation~scale~denominator~sequence~is~invalid. }
+ {
+ Check~\seq_use:Nn \l__mermap_anim_scaledenom_seq { ~-~ }~with~the~documentation.~
+ Time~values~are~not~strictly~monotonically~increasing.
+ }
+
+\cs_new_protected_nopar:Npn \__mermap_anim_set_position:w #1 #2 / #3 \q_stop
+ {
+ \fp_set:cn { l__mermap_anim_#1_lat_fp }{ #2 }
+ \fp_set:cn { l__mermap_anim_#1_lon_fp }{ #3 }
+ }
+
+\cs_new_nopar:Npn \__mermap_anim_use_time:w #1 / #2 \q_stop
+ {
+ #1
+ }
+\cs_new_nopar:Npn \__mermap_anim_use_time:n #1
+ {
+ \__mermap_anim_use_time:w #1 \q_stop
+ }
+\cs_generate_variant:Nn \__mermap_anim_use_time:n { o }
+
+\cs_new_nopar:Npn \__mermap_anim_use_scale:w #1 / #2 \q_stop
+ {
+ #2
+ }
+\cs_new_nopar:Npn \__mermap_anim_use_scale:n #1
+ {
+ \__mermap_anim_use_scale:w #1 \q_stop
+ }
+\cs_generate_variant:Nn \__mermap_anim_use_scale:n { o }
+
+\keys_define:nn { mermap/anim }
+ {
+ start-position .code:n = \__mermap_anim_set_position:w { a } #1 \q_stop,
+ final-position .code:n = \__mermap_anim_set_position:w { b } #1 \q_stop,
+ position .meta:n = { start-position = #1, final-position = #1 },
+ named-start-position .code:n =
+ {
+ \fp_set:Nn \l__mermap_anim_a_lat_fp { \mrcNPlat{ #1 } }
+ \fp_set:Nn \l__mermap_anim_a_lon_fp { \mrcNPlon{ #1 } }
+ },
+ named-final-position .code:n =
+ {
+ \fp_set:Nn \l__mermap_anim_b_lat_fp { \mrcNPlat{ #1 } }
+ \fp_set:Nn \l__mermap_anim_b_lon_fp { \mrcNPlon{ #1 } }
+ },
+ named-position .meta:n = { named-start-position = #1, named-final-position = #1 },
+ frames .int_set:N = \l__mermap_anim_frames_int,
+ drop-first-frame .bool_set:N = \l__mermap_anim_drop_first_frame_bool,
+ drop-last-frame .bool_set:N = \l__mermap_anim_drop_last_frame_bool,
+ drop-no-frame .meta:n = { drop-first-frame=false, drop-last-frame=false },
+ scale-denominators .code:n = \seq_set_split:Nnn \l__mermap_anim_scaledenom_seq { - }{ #1 },
+ common-scale-denominator .meta:n = { scale-denominators = 0/#1 - 1/#1 },
+ timewarp .tl_set:N = \l__mermap_anim_timewarp_tl,
+ timewarp-identity .meta:n = { timewarp = \mrcTimewarpIdentity },
+ timewarp-slow-start .meta:n = { timewarp = \mrcTimewarpSlowStart{#1} },
+ timewarp-slow-start .default:n = 2,
+ timewarp-slow-final .meta:n = { timewarp = \mrcTimewarpSlowFinal{#1} },
+ timewarp-slow-final .default:n = 2,
+ timewarp-slow-start-final .meta:n = { timewarp = \mrcTimewarpSlowStartFinal{#1} },
+ timewarp-slow-start-final .default:n = 2,
+ }
+
+\keys_set:nn { mermap/anim }
+ {
+ position = 51.4779 / 0,
+ frames = 20,
+ drop-no-frame,
+ common-scale-denominator = 25000,
+ timewarp-identity,
+ }
+
+\NewExpandableDocumentCommand\mrcAnimFrame{}{\int_to_arabic:n \l_mermap_anim_frame_int}
+\NewExpandableDocumentCommand\mrcAnimTime{}{\fp_to_decimal:N \l_mermap_anim_time_fp}
+\NewExpandableDocumentCommand\mrcAnimScaleDenom{}{\fp_to_decimal:N \l_mermap_anim_scaledenom_fp}
+\NewExpandableDocumentCommand\mrcAnimLatitude{}{\fp_to_decimal:N \l_mermap_anim_lat_fp}
+\NewExpandableDocumentCommand\mrcAnimLongitude{}{\fp_to_decimal:N \l_mermap_anim_lon_fp}
+\NewExpandableDocumentCommand\mrcAnimAngle{}{\fp_to_decimal:N \l_mermap_anim_angle_fp}
+
%---- supplier -----------------------------------------------------------------
diff --git a/macros/latex/contrib/mercatormap/mercatormap.tex b/macros/latex/contrib/mercatormap/mercatormap.tex
index 882587a3d2..a904cce2f9 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.tex
@@ -2,11 +2,11 @@
% !TeX encoding=UTF-8
% !TeX spellcheck=en_US
%%
-%% The LaTeX package mercatormap - version 1.02 (2020/08/06)
+%% The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
%% mercatormap.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -32,8 +32,8 @@
% The following personal API-keys are needed for compilation
% \mrcsetapikey{thunderforest}{YOUR-API-KEY} % registered key
-\def\version{1.02}%
-\def\datum{2020/08/06}%
+\def\version{1.2.0}%
+\def\datum{2024/08/05}%
\mrcactivatescript% activates Python script
@@ -54,9 +54,14 @@
\tikzexternaldisable% for final version
\tcbset{shield externalize}
-\nocite{Sturm:2020,package:tikz,package:xparse,package:siunitx,package:expl3}
+\nocite{Sturm:2020,package:tikz,package:siunitx}
-\pdfsuppresswarningpagegroup=1
+\ExplSyntaxOn
+\cs_if_exist:NT \pdfsuppresswarningpagegroup
+ {
+ \pdfsuppresswarningpagegroup=1
+ }
+\ExplSyntaxOff
%\includeonly{mercatormap.doc.intro}
%\includeonly{mercatormap.doc.examples}
@@ -67,8 +72,8 @@
%\includeonly{mercatormap.doc.marker}
%\includeonly{mercatormap.doc.routes}
%\includeonly{mercatormap.doc.orthodromes}
+%\includeonly{mercatormap.doc.animations}
%\includeonly{mercatormap.doc.limitations}
-%\includeonly{mercatormap.doc.versionhistory}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
@@ -83,8 +88,8 @@
\include{mercatormap.doc.marker}
\include{mercatormap.doc.routes}
\include{mercatormap.doc.orthodromes}
+\include{mercatormap.doc.animations}
\include{mercatormap.doc.limitations}
-\include{mercatormap.doc.versionhistory}
\clearpage
\phantomsection
diff --git a/macros/latex/contrib/mercatormap/mercatorpy.def b/macros/latex/contrib/mercatormap/mercatorpy.def
index 670d8fca3b..0df48609bf 100644
--- a/macros/latex/contrib/mercatormap/mercatorpy.def
+++ b/macros/latex/contrib/mercatormap/mercatorpy.def
@@ -1,19 +1,19 @@
-\begin{filecontents*}[overwrite]{maptiles.texpy}
+\begin{filecontents}[force,noheader,nowarn]{maptiles.texpy}
"""
-The LaTeX package mercatormap - version 1.02 (2020/08/06)
+The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
maptiles.texpy: Python script for map tile download
-------------------------------------------------------------------------------------------
-Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
-------------------------------------------------------------------------------------------
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
of this license or (at your option) any later version.
The latest version of this license is in
- http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
+ https://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008-05-04 or later.
This work has the LPPL maintenance status `author-maintained'.
@@ -28,7 +28,7 @@ from pathlib import Path
from PIL import Image
-packageversion = '1.02 (2020/08/06)'
+packageversion = '1.2.0 (2024/08/05)'
def gd(x):
@@ -531,5 +531,5 @@ if __name__ == '__main__':
print('No url for download given')
mapdef.save_map(args.definition, tiles_success, merge_success, wms_success)
-\end{filecontents*}
+\end{filecontents}
diff --git a/macros/latex/contrib/mercatormap/mercatorsupplier.def b/macros/latex/contrib/mercatormap/mercatorsupplier.def
index 1bf7866b7a..a8063f8135 100644
--- a/macros/latex/contrib/mercatormap/mercatorsupplier.def
+++ b/macros/latex/contrib/mercatormap/mercatorsupplier.def
@@ -1,15 +1,15 @@
-%% The LaTeX package mercatormap - version 1.02 (2020/08/06)
+%% The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
%% mercatorsupplier.def: predefined map supplier list
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
@@ -46,7 +46,7 @@
attribution = {
Kartendaten:~\textcopyright\nobreakspace\href{https://openstreetmap.org/copyright}{OpenStreetMap}
\ Mitwirkende,~SRTM\nobreakspace\textbar\nobreakspace
- Kartendarstellung:~\textcopyright\nobreakspace\href{http://opentopomap.org/}{OpenTopoMap}
+ Kartendarstellung:~\textcopyright\nobreakspace\href{https://opentopomap.org/}{OpenTopoMap}
\ (\href{https://creativecommons.org/licenses/by-sa/3.0/}{CC-BY-SA})
},
attribution~print = {
@@ -61,12 +61,12 @@
{
__attribution_topplusopen .meta:nn = {mermap/supply} {
attribution = {
- \textcopyright\nobreakspace\href{http://www.bkg.bund.de}{Bundesamt~f\mrcumlaut{u}r~Kartographie~und~Geod\mrcumlaut{a}sie}\nobreakspace\the\year,
- \ \href{http://sg.geodatenzentrum.de/web_public/Datenquellen_TopPlus_Open.pdf}{Datenquellen}
+ Kartendarstellung:\nobreakspace\textcopyright\nobreakspace\href{https://www.bkg.bund.de}{BKG\nobreakspace(\the\year)},
+ \ \href{https://sgx.geodatenzentrum.de/web_public/Datenquellen_TopPlus_Open.pdf}{Datenquellen}
},
attribution~print = {
- \textcopyright\nobreakspace Bundesamt~f\mrcumlaut{u}r~Kartographie~und~Geod\mrcumlaut{a}sie\nobreakspace\the\year,
- \ Datenquellen:~\detokenize{http://sg.geodatenzentrum.de/web_public/Datenquellen_TopPlus_Open.pdf}
+ \textcopyright\nobreakspace BKG\nobreakspace(\the\year),
+ \ Datenquellen:~\detokenize{https://sgx.geodatenzentrum.de/web_public/Datenquellen_TopPlus_Open.pdf}
}
}
}
@@ -85,29 +85,121 @@
basename = tiles/tpo_web_grau,
}
-\cs_new:Npn \__mermap_new_supply_source_topplusopen:n #1
+\__mermap_new_supply_source:nn { topplusopen~web~light }
+ {
+ url = {https://sgx.geodatenzentrum.de/wmts_topplus_open/tile/1.0.0/web_light/default/WEBMERCATOR/{z}/{y}/{x}.png},
+ __attribution_topplusopen,
+ basename = tiles/tpo_web_light,
+ }
+
+\__mermap_new_supply_source:nn { topplusopen~web~light~grau }
+ {
+ url = {https://sgx.geodatenzentrum.de/wmts_topplus_open/tile/1.0.0/web_light_grau/default/WEBMERCATOR/{z}/{y}/{x}.png},
+ __attribution_topplusopen,
+ basename = tiles/tpo_web_light_grau,
+ }
+
+
+\cs_new:Npn \__mermap_new_supply_source_topplusopen:nn #1#2
{
\keys_define:nn { mermap/supply/_source }
{
topplusopen~#1 .meta:nn = {mermap/supply}{
- url = {https://sgx.geodatenzentrum.de/wms_topplus_open?service=wms&version=1.3.0&request=GetMap&Layers=#1&STYLES=default&CRS=EPSG:3857&bbox={xmin},{ymin},{xmax},{ymax}&width={width}&height={height}&Format=image/png},
+ url = {https://sgx.geodatenzentrum.de/wms_topplus_open_#2?service=wms&version=1.3.0&request=GetMap&Layers=#1&STYLES=default&CRS=EPSG:3857&bbox={xmin},{ymin},{xmax},{ymax}&width={width}&height={height}&Format=image/png},
__attribution_topplusopen,
basename = tiles/tpo,
},
topplusopen~#1~grau .meta:nn = {mermap/supply}{
- url = {https://sgx.geodatenzentrum.de/wms_topplus_open?service=wms&version=1.3.0&request=GetMap&Layers=#1_grau&STYLES=default&CRS=EPSG:3857&bbox={xmin},{ymin},{xmax},{ymax}&width={width}&height={height}&Format=image/png},
+ url = {https://sgx.geodatenzentrum.de/wms_topplus_open_#2?service=wms&version=1.3.0&request=GetMap&Layers=#1&STYLES=grau&CRS=EPSG:3857&bbox={xmin},{ymin},{xmax},{ymax}&width={width}&height={height}&Format=image/png},
__attribution_topplusopen,
basename = tiles/tpo,
},
}
}
-\__mermap_new_supply_source_topplusopen:n { p5 }
-\__mermap_new_supply_source_topplusopen:n { p10 }
-\__mermap_new_supply_source_topplusopen:n { p17.5 }
-\__mermap_new_supply_source_topplusopen:n { p25 }
-\__mermap_new_supply_source_topplusopen:n { p50 }
-\__mermap_new_supply_source_topplusopen:n { p100 }
-\__mermap_new_supply_source_topplusopen:n { p250 }
+\__mermap_new_supply_source_topplusopen:nn { p5 }{ p5 }
+\__mermap_new_supply_source_topplusopen:nn { p10 }{ p10 }
+\__mermap_new_supply_source_topplusopen:nn { p17.5 }{ p17 }
+\__mermap_new_supply_source_topplusopen:nn { p25 }{ p25 }
+\__mermap_new_supply_source_topplusopen:nn { p50 }{ p50 }
+\__mermap_new_supply_source_topplusopen:nn { p100 }{ p100 }
+\__mermap_new_supply_source_topplusopen:nn { p250 }{ p250 }
+
+
+\keys_define:nn { mermap/supply }
+ {
+ __attribution_thunderforest .meta:nn = {mermap/supply} {
+ attribution = {
+ Maps~\textcopyright\nobreakspace\href{https://www.thunderforest.com/}{Thunderforest},
+ \ Data~\textcopyright\nobreakspace\href{https://openstreetmap.org/copyright}{OpenStreetMap~contributors}
+ },
+ attribution~print = {
+ Maps~\textcopyright\nobreakspace www.thunderforest.com,
+ \ Data~\textcopyright\nobreakspace www.osm.org/copyright
+ }
+ }
+ }
+\__mermap_new_supply_source:nn { thunderforest~opencyclemap }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/opencyclemap,
+ }
+\__mermap_new_supply_source:nn { thunderforest~transport }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/transport/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/transport,
+ }
+\__mermap_new_supply_source:nn { thunderforest~landscape }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/landscape/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/landscape,
+ }
+\__mermap_new_supply_source:nn { thunderforest~outdoors }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/outdoors/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/outdoors,
+ }
+\__mermap_new_supply_source:nn { thunderforest~atlas }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/atlas/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/atlas,
+ }
+\__mermap_new_supply_source:nn { thunderforest~transport-dark }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/transport-dark/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/transport-dark,
+ }
+\__mermap_new_supply_source:nn { thunderforest~spinal-map }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/spinal-map/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/spinal-map,
+ }
+\__mermap_new_supply_source:nn { thunderforest~pioneer }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/pioneer/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/pioneer,
+ }
+\__mermap_new_supply_source:nn { thunderforest~mobile-atlas }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/mobile-atlas/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/mobile-atlas,
+ }
+\__mermap_new_supply_source:nn { thunderforest~neighbourhood }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/neighbourhood/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/neighbourhood,
+ }
+
+
%% openrouteservice mapsurfer is DISCONTINUED after June 2020
%% Therefore, the following source is DEPRECATED and will be removed in future
@@ -127,7 +219,7 @@
basename = tiles/mapsurfer,
}
-\keys_define:nn { mermap/supply }
+\keys_define:nn { mermap/supply }% DISCONTINUED after July 2023 and DEPRECATED
{
__attribution_stamen .meta:nn = {mermap/supply} {
attribution = {
@@ -144,67 +236,67 @@
}
}
}
-\__mermap_new_supply_source:nn { stamen~terrain }
+\__mermap_new_supply_source:nn { stamen~terrain }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/terrain,
}
-\__mermap_new_supply_source:nn { stamen~terrain-background }
+\__mermap_new_supply_source:nn { stamen~terrain-background }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/terrain-background/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/terrain-background,
}
-\__mermap_new_supply_source:nn { stamen~terrain-labels }
+\__mermap_new_supply_source:nn { stamen~terrain-labels }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/terrain-labels/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/terrain-labels,
}
-\__mermap_new_supply_source:nn { stamen~terrain-lines }
+\__mermap_new_supply_source:nn { stamen~terrain-lines }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/terrain-lines/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/terrain-lines,
}
-\__mermap_new_supply_source:nn { stamen~toner }
+\__mermap_new_supply_source:nn { stamen~toner }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/toner/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/toner,
}
-\__mermap_new_supply_source:nn { stamen~toner-lite }
+\__mermap_new_supply_source:nn { stamen~toner-lite }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/toner-lite/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/toner-lite,
}
-\__mermap_new_supply_source:nn { stamen~toner-hybrid }
+\__mermap_new_supply_source:nn { stamen~toner-hybrid }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/toner-hybrid/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/toner-hybrid,
}
-\__mermap_new_supply_source:nn { stamen~toner-background }
+\__mermap_new_supply_source:nn { stamen~toner-background }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/toner-background/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/toner-background,
}
-\__mermap_new_supply_source:nn { stamen~toner-labels }
+\__mermap_new_supply_source:nn { stamen~toner-labels }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/toner-labels/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/toner-labels,
}
-\__mermap_new_supply_source:nn { stamen~toner-lines }
+\__mermap_new_supply_source:nn { stamen~toner-lines }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/toner-lines/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/toner-lines,
}
-\__mermap_new_supply_source:nn { stamen~watercolor }
+\__mermap_new_supply_source:nn { stamen~watercolor }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png},
attribution = {
@@ -221,72 +313,3 @@
},
basename = tiles/watercolor,
}
-
-\keys_define:nn { mermap/supply }
- {
- __attribution_thunderforest .meta:nn = {mermap/supply} {
- attribution = {
- Maps~\textcopyright\nobreakspace\href{https://www.thunderforest.com/}{Thunderforest},
- \ Data~\textcopyright\nobreakspace\href{https://openstreetmap.org/copyright}{OpenStreetMap~contributors}
- },
- attribution~print = {
- Maps~\textcopyright\nobreakspace www.thunderforest.com,
- \ Data~\textcopyright\nobreakspace www.osm.org/copyright
- }
- }
- }
-\__mermap_new_supply_source:nn { thunderforest~opencyclemap }
- {
- url~with~api~key = {https://tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/opencyclemap,
- }
-\__mermap_new_supply_source:nn { thunderforest~transport }
- {
- url~with~api~key = {https://tile.thunderforest.com/transport/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/transport,
- }
-\__mermap_new_supply_source:nn { thunderforest~landscape }
- {
- url~with~api~key = {https://tile.thunderforest.com/landscape/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/landscape,
- }
-\__mermap_new_supply_source:nn { thunderforest~outdoors }
- {
- url~with~api~key = {https://tile.thunderforest.com/outdoors/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/outdoors,
- }
-\__mermap_new_supply_source:nn { thunderforest~transport-dark }
- {
- url~with~api~key = {https://tile.thunderforest.com/transport-dark/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/transport-dark,
- }
-\__mermap_new_supply_source:nn { thunderforest~spinal-map }
- {
- url~with~api~key = {https://tile.thunderforest.com/spinal-map/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/spinal-map,
- }
-\__mermap_new_supply_source:nn { thunderforest~pioneer }
- {
- url~with~api~key = {https://tile.thunderforest.com/pioneer/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/pioneer,
- }
-\__mermap_new_supply_source:nn { thunderforest~mobile-atlas }
- {
- url~with~api~key = {https://tile.thunderforest.com/mobile-atlas/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/mobile-atlas,
- }
-\__mermap_new_supply_source:nn { thunderforest~neighbourhood }
- {
- url~with~api~key = {https://tile.thunderforest.com/neighbourhood/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/neighbourhood,
- }
-
diff --git a/macros/latex/contrib/mitthesis/MIT-Thesis.pdf b/macros/latex/contrib/mitthesis/MIT-Thesis.pdf
index f0964659d8..e7f9b4a01a 100644
--- a/macros/latex/contrib/mitthesis/MIT-Thesis.pdf
+++ b/macros/latex/contrib/mitthesis/MIT-Thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex
index 2faced3b18..fc7e8a88f1 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex
@@ -1,12 +1,11 @@
% !TEX encoding = UTF-8 Unicode
-% !BIB TS-program = biber
-% !BIB program = biber
+% !BIB TS-program = biber
% This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class.
%
-% Version: 1.11, 2023/11/02
+% Version: 1.14, 2024/07/19
%
-% Author: John H. Lienhard, copyright 2023. Reuse under the MIT license: https://ctan.org/license/mit
+% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit
% Documentation is here: https://ctan.org/pkg/mitthesis
@@ -16,8 +15,11 @@
pdfstandard = a-2b,
pdfversion = 1.7,
lang = en-US,
-% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata
+% pdfversion = 2.0,
+% pdfstandard = a-4,
+% debug = {xmp-export}, % uncomment to output a separate xmpi file showing the metadata
}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[twoside]{mitthesis} %,fontset=libertine, fontset=newtx-sans-text, fontset=heros-stix2, fontset=stix2
@@ -26,9 +28,9 @@
% option [lineno] provides line numbers, as for editing
% option [mydesign] loads packages for color, title and list formats, margins, or captions: edit mydesign.tex to change defaults.
% option [fontset] is a keyvalue which can be:
-% pdftex or unicode engines: defaultfonts, libertine, lucida
-% pdftex only: fira-newtxsf, newtx, newtx-sans-text
-% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2
+% for pdftex or unicode engines: defaultfonts, libertine, lucida
+% for pdftex only: fira-newtxsf, newtx, newtx-sans-text
+% for unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2
% if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the LaTeX font".
% You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts].
% If you are using multiple languages, load the babel package in your fontset file, before the fonts.
@@ -39,12 +41,23 @@
\usepackage{listings}% documentation is here https://ctan.org/pkg/listings
%% Set chemical formulas nicely
-\usepackage[version=4]{mhchem}% documentation is here https://ctan.org/pkg/mhchem
+\usepackage[version=4]{mhchem}% documentation at https://ctan.org/pkg/mhchem
-%% Latin filler used in Chapter 1, with a test for package version date. https://ctan.org/pkg/lipsum
+%% Latin filler used in Chapter 1, with a test for package version date (https://ctan.org/pkg/lipsum)
\usepackage{lipsum}
\IfPackageAtLeastTF{lipsum}{2021/09/20}{\setlipsum{auto-lang=false}}{}
+%% Table related packages
+
+\usepackage{booktabs}% publication quality tables (https://ctan.org/pkg/booktabs)
+
+\usepackage{array}% Additional options for column formats (https://ctan.org/pkg/array)
+
+%\usepackage{dcolumn}% For alignment of numbers on the decimal place (https://ctan.org/pkg/dcolumn)
+% \newcolumntype{d}[1]{D{.}{.}{#1}}% use with dcolumn package
+
+%\usepackage{tabularx}% adjustable-width columns in tabular (https://ctan.org/pkg/tabularx)
+
%%%%%%%%% Graphics path (to figure files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -56,8 +69,17 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
+
+%% IEEE style citations and references
+% \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
+% \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces the IEEE default "[Online]. Available" by "URL"
+
+%% author-year style citations and references
+%% use \parencite, not \cite, when you want "(Author, year)"
+%% The sample files are not set up to include parentheses.
+% \usepackage[style=authoryear, maxbibnames=10]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <= CHANGE
@@ -65,9 +87,11 @@
%% to avoid split urls and stretched white space, you can set the bibliography ragged-right:
%\appto{\bibsetup}{\raggedright}
-% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs.
-% documentation is here: https://ctan.org/pkg/biblatex
+%% biblatex is very powerful, and you can customize most aspects the reference list and citations to suit your needs.
+%% documentation is here: https://ctan.org/pkg/biblatex
+%% cheat sheet is here: https://tug.ctan.org/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf
+%% To ensure citations are set, run Latex --> biblatex/biber --> Latex again
%%%%%%%%%% Option to use natbib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -79,19 +103,9 @@
%%% You can use this to rename the bibliography section
%\renewcommand{\bibname}{References}
-%%% Can adjust space between bibliography items (change 4pt to something else; don't drop last two lengths, they are stretchable "glue")
+%%% To adjust space between bibliography items
%\setlength\bibsep{4pt plus 1pt minus 1pt}
-
-
-%%%%%%%%%% Table related packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\usepackage{booktabs}% better quality tables, https://ctan.org/pkg/booktabs
-\usepackage{array}% additional options for table columns, https://ctan.org/pkg/array
-
-%\usepackage{tabularx}% https://ctan.org/pkg/tabularx
-
-%\usepackage{dcolumn}% alignment on decimal place, https://ctan.org/pkg/dcolumn
-%\newcolumntype{d}[1]{D{.}{.}{#1}}
+% change 4pt to something else; don't drop last two lengths (they are stretchable "glue")
%%%%%%%%%% Option for "double spacing" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -107,13 +121,13 @@
% \usepackage{setspace}% documentation at https://ctan.org/pkg/setspace
% \setstretch{1.1}% you can choose some other value for the stretch of space between lines
%
-%% Use one or more of the these commands AFTER the frontmatter
+%% Use one or more of the these commands *AFTER* the frontmatter
%
% \onehalfspacing
% \doublespacing
% \singlespacing % will turn these effects off (you can use these anywhere in the document)
-%% The best result may be to stay with leading selected by the typographer who set up the font.
+%% The best result is usually to stay with leading selected by the typographer who set up the font.
%%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -128,7 +142,7 @@
pdfkeywords={Massachusetts Institute of Technology, MIT},
% Add keywords that will help search engines and libraries to find your work.
% Includes the name[s] of the author[s]
- % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.)
+ % (If you used \DocumentMetadata at line 14, you can just put "\CopyrightAuthor," for the names.)
%
pdfurl={},
% If you have a url for the thesis, put it here. Otherwise delete this.
@@ -162,29 +176,31 @@
% Use once for each degree fulfilled by thesis
% For two degrees from one department, leave the department argument blank for the second degree {}.
-% \Degree{Bachelor of Science in Physics}{Department of Physics}
-% \Degree{Master of Science in Physics}{}
-\Degree{Bachelor of Science in Mechanical Engineering}{Department of Mechanical Engineering}
+\Degree{Bachelor of Science in Physics}{Department of Physics}
+%\Degree{Master of Science in Physics}{}
+%\Degree{Bachelor of Science in Mechanical Engineering}{Department of Mechanical Engineering}
% If there is more than one supervisor, use the \Supervisor command for each.
\Supervisor{Edward C. Pickering}{Professor of Physics}
+% \Supervisor{Edward C. Pickering}{Professor of Physics, and \\ \> Professor of Something Else}
% \Supervisor{Secunda Castor}{Professor of Research}
% \Supervisor{Quintus Castor}{Professor of Log Dams}
% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
% If more than one department, use more than once
-% **If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.**
- \Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics}
+ \Acceptor{Primus Castor}{Professor of Wetlands Engineering}{}%{Undergraduate Officer, Department of Physics}
% \Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research}
% \Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering}
+%% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank, {}.
% Usage: \DegreeDate{Month}{year}
-% Valid degree months are September, February, or June
+% Valid degree months are February, May, June, or September
\DegreeDate{June}{1876}
% Date that final thesis is submitted to department
\ThesisDate{May 18, 1876}
+
%%%%%% Choose whether to have a CREATIVE COMMONS License %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% If you are using a cc license, put details of your cc license here.
@@ -208,33 +224,34 @@
% (c) you can put the acceptor name and title onto two lines, rather than three like this:
%
% \Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{}
-% \Acceptor{Quarta Castor}{Professor and Graduate Officer, Department of Mechanical Engineering}{}
%
-% (d) you can change the font size of the the author name[s] with
+% (d) you can change the font size of the author name[s] with
%
% \AuthorNameSize{\normalsize}
%
-% (e) and you can omit any previous degrees from the title page, instead mentioning them in the Biosketch
+% (e) and you can omit any previous degrees from the title page, instead mentioning them in the biographical sketch
% Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you
-% can you this command to squash all of the vertical glue (stretchy space) with this command:
+% can use this command to squash all of the vertical glue (stretchy space) with this command:
%
% \Squash
%
% This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically
% when the page is too full.
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Make titlepage
\maketitle
-%%%%%%%%% Contents that you need to write follows %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%% Contents that you need to write follows! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \includeonly{acknowledgments,biography,chapter1,chapter2,...,appendixa,...}
-% for usage, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html
+% for usage of includeonly, see https://latexref.xyz/_005cinclude-_0026-_005cincludeonly.html
-%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% Frontmatter (write this material in the mentioned files) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% The abstract environment creates all the required headings and footers.
% You only need to the text of the abstract in the file abstract.tex
@@ -242,24 +259,22 @@
\input{abstract.tex}% use \input rather than \include because we're inside an environment
\end{abstract}
-\include{acknowledgments}% .tex extension is presumed by \include
-
-\include{biography}% optional, see MIT Libraries https://libraries.mit.edu/distinctive-collections/thesis-specs/#format
+\include{acknowledgments}% acknowledgments.tex (.tex extension is presumed by \include)
+\include{biography}% biography.tex (optional, see https://libraries.mit.edu/distinctive-collections/thesis-specs/#format)
-%%% Table of contents and lists of stuff (delete lists you don't need, e.g., if no tables) %%%%%%%%
+%%% Table of contents and lists of stuff (delete unused lists, i.e., if no tables or figures) %%%%%
\tableofcontents
\listoffigures
\listoftables
-
%%% Chapters of thesis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% If you want to use "double spacing", you should start here...
\include{chapter1}% .tex extension is presumed
-%\include{chapter2}
+% \include{chapter2}
%\include{chapter3}
%\include{chapter4}
@@ -270,9 +285,13 @@
\include{appendixa}
-%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Bibliography (biblatex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
-\printbibliography[title={References},heading=bibintoc]
+\printbibliography[title={\refname},heading=bibintoc]
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex
index a1ceaacffd..de4fcfd51d 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/acknowledgments.tex
@@ -1,11 +1,11 @@
%% acknowledgments.tex
% From mitthesis package
-% Version: 1.01, 2023/10/16
+% Version: 1.02, 2024/06/19
% Documentation: https://ctan.org/pkg/mitthesis
-
\chapter*{Acknowledgments}
-\addcontentsline{toc}{chapter}{Acknowledgments}
+\pdfbookmark[0]{Acknowledgments}{acknowledgments}
+
Write your acknowledgments here.
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex
index 30e4784525..6148c2f133 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/biography.tex
@@ -2,11 +2,12 @@
%% This section is optional
% From mitthesis package
-% Version: 1.01, 2023/10/16
+% Version: 1.02, 2024/06/19
% Documentation: https://ctan.org/pkg/mitthesis
\chapter*{Biographical Sketch}
-\addcontentsline{toc}{chapter}{Biographical Sketch}
+\pdfbookmark[0]{Biographical Sketch}{biosketch}
+
Silas Whitcomb Holman was born in Harvard, Massachusetts on January 20, 1856. He received his S.B. degree in Physics from MIT in 1876, and then joined the MIT Department of Physics as an Assistant. He became Instructor in Physics in 1880, Assistant Professor in 1882, Associate Professor in 1885, and Full Professor in 1893. Throughout this period, he struggled with increasingly severe rheumatoid arthritis. At length, he was defeated, becoming Professor Emeritus in 1897 and dying on April 1, 1900.
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex
index cc7683744e..1f2acd20a6 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex
@@ -1,5 +1,5 @@
% From mitthesis package
-% Version: 1.04, 2023/10/19
+% Version: 1.06, 2024/07/09
% Documentation: https://ctan.org/pkg/mitthesis
@@ -7,11 +7,11 @@
\lipsum[1-2] Postremo aliquos futuros suspicor, qui me ad alias litteras vocent, genus hoc scribendi, etsi sit elegans, personae tamen et dignitatis esse negent~\cite{DKE1969,ww1920,kirk2288a,churchill1948,gibbs1863}.
-\section[A section discussing the first issue: \(J/\psi\)]{A section discussing the first issue: \ifpdftex\(\bm{J}/\bm{\psi}\)\else{\(\symbfup{J/\psi}\)}\fi}
+\section[A section discussing the first issue: \(J/\psi\)]{A section discussing the first issue: \ifpdftex\(\bm{J}/\bm{\psi}\)\else{\(\symbfit{J/\psi}\)}\fi}
We begin with some ideas from the literature \cite{Fong2015,sharpe1}.
-\begin{equation}
+\begin{equation}\label{eqn:1}
\frac{\partial}{\partial t}\left[\rho\bigl(e + \lvert\vec{u}\rvert^2\big/2\bigr)\right] + \nabla\cdot\left[\rho\bigl(h + \lvert\vec{u}\rvert^2\big/2 \bigr)\vec{u}\right]
={}-\nabla \cdot \vec{q} + \rho \vec{u}\cdot\vec{g}+ \frac{\partial}{\partial x_j}\bigl(d_{ji}u_i\bigr)
\end{equation}
@@ -37,7 +37,8 @@ We begin with some ideas from the literature \cite{Fong2015,sharpe1}.
\lipsum[4]
-\subsection{Subsection~eqn.~\eqref{eqn:WT1}}
+%% note use of \ref* here to avoid placing a nested link in the table of contents
+\subsection[Subsection~eqn.~(\ref*{eqn:WT1})]{Subsection~eqn.~\eqref{eqn:WT1}}
\lipsum[5-6]
\subsubsection{A subsubsection}
@@ -84,9 +85,9 @@ L(\ifpdftex\bm{A}\else\symbfup{A}\fi) = \begin{pmatrix}
\ce{SO4^2- + Ba^2+ -> BaSO4 v} \\[0.5em]
\ce{Zn^2+
<=>[+ 2OH-][+ 2H+]
-$\underset{\text{amphoteric hydroxide}}{\ce{Zn(OH)2 v}}$
+$\underset{\textrm{amphoteric hydroxide}}{\ce{Zn(OH)2 v}}$
<=>[+ 2OH-][+ 2H+]
-$\underset{\text{tetrahydroxozincate}}{\ce{[Zn(OH)4]^2-}}$
+$\underset{\textrm{tetrahydroxozincate}}{\ce{[Zn(OH)4]^2-}}$
}
\end{gather}
These examples of chemical formul\ae\ are copied directly from the documentation of the \texttt{mhchem} package, which was used to typeset them.
@@ -94,7 +95,7 @@ These examples of chemical formul\ae\ are copied directly from the documentation
\section{Baroclinic generation of vorticity\label{sec:stratified-flow}}
Substitution of the particle acceleration and application Stokes theorem leads to the \textit{Kelvin-Bjerknes circulation theorem}, for
-$\rho \neq \text{fn}(p)$:
+$\rho \neq \textrm{fn}(p)$:
\begin{align}
\frac{d\Gamma}{dt} &{}= \frac{d}{dt} \int_{\mathcal{C}} \mathbf{u} \cdot d\mathbf{r}\\
&{}= \int_{\mathcal{C}} \frac{D\mathbf{u}}{Dt} \cdot d\mathbf{r} + \underbrace{\int_{\mathcal{C}} \mathbf{u}\cdot d\biggl( \frac{d\mathbf{r}}{dt}\Biggr)}_{=\, 0} \\[-2pt]
@@ -130,11 +131,11 @@ Baroclinic generation of vorticity accounts for the sea breeze and various other
\\[-0.5em]
\toprule
\multicolumn{1}{@{\hspace*{1.5em}}c}{$x$\rule{0pt}{8pt}} &
-\multicolumn{1}{c}{$\text{erf}(x)$} &
-\multicolumn{1}{c!{\hspace*{3.em}}}{$\text{erfc}(x)$} &
+\multicolumn{1}{c}{$\textrm{erf}(x)$} &
+\multicolumn{1}{c!{\hspace*{3.em}}}{$\textrm{erfc}(x)$} &
\multicolumn{1}{c}{$x$} &
-\multicolumn{1}{c}{$\text{erf}(x)$} &
-\multicolumn{1}{c@{\hspace*{1.5em}}}{$\text{erfc}(x)$} \\ \midrule
+\multicolumn{1}{c}{$\textrm{erf}(x)$} &
+\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\ \midrule
0.00 & 0.00000 & 1.00000 & 1.10 & 0.88021 & 0.11980 \\
0.05 & 0.05637 & 0.94363 & 1.20 & 0.91031 & 0.08969 \\
0.10 & 0.11246 & 0.88754 & 1.30 & 0.93401 & 0.06599 \\
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex
index a599af35e2..03d62286e2 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex
@@ -1,14 +1,17 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-newtx-sans-text.tex}[2023/09/12 v1.02 Load newtx sans-serif text and regular math fonts]
+\ProvidesFile{mitthesis-newtx-sans-text.tex}[2023/10/03 v1.03 Load newtx sans-serif text and regular math fonts]
%% newtx package with sans-serif text (Helvetica-like text with Times-like math)
%
\ifpdftex
\RequirePackage[T1]{fontenc}
\RequirePackage[subscriptcorrection,varvw,helvratio=0.91,defaultsups]{newtx}% upint for upright integrals
- \renewcommand{\familydefault}{\sfdefault}% use sans for main text
+ \AtEndPreamble{% added to accommodate v1.731 of newtx, 2023/11/03
+ \renewcommand{\familydefault}{\sfdefault}% use sans for main text
+% \renewcommand{\rmdefault}{\sfdefault}% uses sans for \textrm{}, if that's desired.
+ }
% these two commands enable hyphenation of the typewriter font - https://tex.stackexchange.com/a/204421/119566
% \input{t1ntxtt.fd}
% \DeclareFontFamily{\encodingdefault}{\ttdefault}{\hyphenchar\font=`\-} %
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex
index 2a612d88a1..1d9184e973 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex
@@ -1,14 +1,14 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mydesign.tex}[2023/10/11 v1.03 Typographic design options for thesis]
+\ProvidesFile{mydesign.tex}[2024/06/28 v1.04 Typographic design options for thesis]
%%%%%%%%%% Color support %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Color package: xcolor.
%% Change this if you prefer something else
-\usepackage[hyperref,dvipsnames,svgnames,x11names]{xcolor}
+\usepackage[dvipsnames,svgnames,x11names]{xcolor}
%% can add option [table] to xcolor to use color in tables (see xcolor documentation)
@@ -57,7 +57,7 @@
\titleformat{\subsection}{\mathversion{bold}\normalfont\large\bfseries}{\thesubsection}{1em}{}
\titleformat{\subsubsection}{\mathversion{bold}\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
-% ==> NOT every font includes a bold math version, so you may need to use other math macros in the headings to get bold math <==
+% ==> NOT every font includes a bold math version, so you may need other math macros in the headings to get bold math <==
%%%%%%%%% Change page margins %%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/macros/latex/contrib/mitthesis/README.md b/macros/latex/contrib/mitthesis/README.md
index 9ead4e57e0..9d2918ca36 100644
--- a/macros/latex/contrib/mitthesis/README.md
+++ b/macros/latex/contrib/mitthesis/README.md
@@ -1,11 +1,11 @@
#mitthesis --- A LaTeX template for an MIT thesis#
- v1.11 dated 2023/11/02
+ v1.14 dated 2024/07/19
####Overview####
This class provides a LaTeX template to format an MIT thesis according to
- the requirements of the Massachusetts Institute of Technology Libraries (as posted in 2023):
+ the requirements of the Massachusetts Institute of Technology Libraries (as posted in 2024):
[https://libraries.mit.edu/distinctive-collections/thesis-specs/](https://libraries.mit.edu/distinctive-collections/thesis-specs/)
@@ -53,9 +53,30 @@
---
####Change log####
+ v1.14 (19 July 2024)
+ - add backward compatibility code for \\text_titlecase_all:n
+ - adjust supervisor and acceptor titles used on sample cover pages
+ - format J/psi as \\symbfit in sample chapter 1 and regenerate font samples
+ - edit documentation
+
+ v1.13 (03 July 2024)
+ - same as v1.12, except now includes the correct documentation
+
+ v1.12 (02 July 2024)
+ - add logic for one degree issued by two departments
+ - fix missing space in abstract block for multiple departments
+ - adjust second department layout on title and abstract pages
+ - table of contents revised
+ - revise documentation
+ - switch default citation style to numeric (from IEEE). Provide examples for IEEE and author/year styles.
+ - add \\AtEndPreamble{..} to mitthesis-newtx-sans-text.tex to accommodate v1.731 of newtx
+ - in chapter1.tex, replace \\text by \\textrm; fix nested link in section heading
+ - remove obsolete hyperref option from xcolor
+ - minor changes to log notes of fontset files
+ - code clean up
v1.11 (02 November 2023)
- - Revise all skips on cover page to better group material while allowing for glue compression as content increases; increase font size of author name; provide user macros for control cover page spacing and author name font.
+ - revise all skips on cover page to better group material while allowing for glue compression as content increases; increase font size of author name; provide user macros for control cover page spacing and author name font.
- use \\mdseries for linenumbers in all cases, rather than using the locally active series
- remove \\raggedright in favor of \\bibsetup for bibliography in MIT-Thesis.tex
- add backward compatibility for alt tag of \\includegraphics for pre-2021/11/15 distributions, add alt tag in chapter1.tex
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdf
index 304d89113b..159f037a4d 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdf
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/No_cc_license.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf
index 737603f89c..8b4d3e0942 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf
new file mode 100644
index 0000000000..e7e2f13e88
--- /dev/null
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf
index 7ab9882820..1adb097a70 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf
index 8950c7ed3c..0617a275f8 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_two_degrees_from_one_department.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf
index 61a2b63115..7e4300d5b6 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf
index c9ccbd8a9a..299acda338 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex
new file mode 100644
index 0000000000..6c1f5c3982
--- /dev/null
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex
@@ -0,0 +1,123 @@
+% !TEX encoding = UTF-8 Unicode
+% !BIB TS-program = biber
+% !BIB program = biber
+
+% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit
+% Version 1.02, 2024/07/08
+
+% Documentation: https://ctan.org/pkg/mitthesis
+
+%% Don't modify the \DocumentMetadata command unless you know what it does.
+%% If this command throws an "undefined" error, your latex system is out of date: try commenting this command out.
+\DocumentMetadata
+{
+ pdfstandard = a-2b,
+ pdfversion = 1.7,
+ lang = en-US,
+% debug = {xmp-export}, % output xmpi file to directly examine metadata
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\documentclass[]{mitthesis}
+%
+% option [twoside] gives facing-page behavior for printing; omitting it will eliminate even-numbered blank pages.
+% option [lineno] provides line numbers, as for editing
+% option [mydesign] loads titlesec, enumitem, caption, subcaption - you may edit the mydesign.tex file as you like it.
+% option [fontset] is a keyvalue which can be:
+% pdftex or unicode engines: defaultfonts, libertine, lucida
+% pdftex only: fira-newtxsf, newtx, newtx-sans-text
+% unicode engines (luatex): heros-stix2, stix2, termes, termes-stix2
+% if no key value is given, fonts default to CMR (pdftex) or LMR (unicode), i.e., "the latex font".
+% You can edit the fontset files or you can write your own, myfonts.tex, and do [fontset=myfonts].
+% If you are using multiple languages, load the babel package in your fontset file, before the fonts.
+
+
+%%%%%%%%%%% Metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Most of the document metadata is created automatically.
+% The following items should be adjusted to match your work. <================= !!!!!!!!!!
+
+\hypersetup{%
+ pdfsubject={Template for writing MIT theses with the mitthesis class},
+ % Change this to briefly state topic of your thesis
+%
+ pdfkeywords={Massachusetts Institute of Technology, MIT},
+ % Add keywords that will help search engines and libraries to find your work.
+ % Includes the name[s] of the author[s]
+ % (If you have used \DocumentMetadata, at line 15, you can just put "\CopyrightAuthor," for the names.)
+%
+ pdfurl={},
+ % If you have a url for the thesis, put it here. Otherwise delete this.
+ % (MIT Libraries will put your thesis in DSPACE with a persistent url after you submit it.)
+%
+ pdfcontactemail={},
+ % You can put a [permanent] email address into the metadata, if you like.
+ % Otherwise delete this.
+%
+ pdfauthortitle={},
+ % If you have a title, you can include it here.
+}
+
+
+%%%%%%%%%%%%%% End preamble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{document}
+
+
+%%% edit the following commands to match your thesis %%%%%%%%%%
+
+\title{The Atomic Theory as Applied To Gases, with Some Experiments on the Viscosity of Air}
+
+% \Author{Author full name}{Author department}[Author's first PREVIOUS degree][Author's second PREVIOUS degree][...
+% Note that third, fourth, fifth, and sixth arguments are optional [] and may be omitted
+
+% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century.
+
+\Author{Silas W. Holman}{Department of Nuclear Science and Engineering}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022]
+%\Author{Luisa Hernández}{Department of Research}%[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022]
+
+% For one degree issued by two departments, leave the degree argument blank for the second degree {}.
+\Degree{Master of Science in Computational Nuclear Materials}{Department of Nuclear Science and Engineering}
+\Degree{}{Center for Computational Science and Engineering}
+
+% If there is more than one supervisor, use the \Supervisor command for each.
+\Supervisor{Edward C. Pickering}{Professor of Nuclear Science and Engineering}
+%\Supervisor{Secunda Castor}{Professor of Research}
+%\Supervisor{Quintus Castor}{Professor of Log Dams}
+
+% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
+% If more than one department, use more than once
+% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.
+\Acceptor{Primus Castor}{Professor and Graduate Officer}{Department of Nuclear Science and Engineering}
+\Acceptor{Tertius Castor}{Professor and Graduate Officer}{Center for Computational Science and Engineering}
+%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Undergraduate Officer, Department of Mechanical Engineering}
+
+
+% Usage: \DegreeDate{Month}{year}
+% Valid degree months are September, February, or June.
+\DegreeDate{June}{1876}
+
+% Date that final thesis is submitted to department
+\ThesisDate{May 18, 1876}
+
+%%%%%% Choose whether to have a CREATIVE COMMONS License %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% If you are using a cc license, put details of your cc license here.
+% Omit this command if you are not using a cc license.
+%
+\CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% Titlepage
+\maketitle
+
+% The abstract environment creates all the required headers and footnote.
+% You only need to add the text of the abstract itself in the file abstract.tex
+\begin{abstract}
+ \input{abstract.tex}% in this case, use \input rather than \include because you are inside an environment
+\end{abstract}
+
+\end{document}
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex
index 6334a228ae..f8ebb1b965 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_two_degrees.tex
@@ -85,8 +85,7 @@
% If there is more than one supervisor, use the \Supervisor command for each.
\Supervisor{Edward C. Pickering}{Professor of Physics}
-\Supervisor{Secunda Castor}{Professor of Research}
-%\Supervisor{Quintus Castor}{Professor of Log Dams}
+\Supervisor{Secunda Castor}{Professor of Mechanical Engineering}
% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
% If more than one department, use more than once
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex
index e5e2618b69..a757806b01 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree.tex
@@ -2,7 +2,7 @@
% !BIB TS-program = biber
% !BIB program = biber
-% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit
+% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit
% Documentation: https://ctan.org/pkg/mitthesis
@@ -75,7 +75,7 @@
% note on names: most of the following names are made up; Silas Holman was a professor at MIT in the 19th century.
\Author{Silas W. Holman}{Department of Physics}%[B.S. Physics, MIT, 1876][MBA, Ferengi School of Management, 2022]
-\Author{Luisa Hernández}{Department of Research}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022]
+\Author{Luisa Hernández}{Department of Physics}[B.S. Mechanical Engineering, UCLA, 2018][M.S. Stellar Interiors, Vulcan Science Academy, 2020][MBA, Ferengi School of Management, 2022]
% Use once for each degree fulfilled by thesis
% For two degrees from one department, leave the department argument blank for the second degree {}.
@@ -85,20 +85,11 @@
% If there is more than one supervisor, use the \Supervisor command for each.
\Supervisor{Edward C. Pickering}{Professor of Physics}
-%\Supervisor{Secunda Castor}{Professor of Research}
-%\Supervisor{Quintus Castor}{Professor of Log Dams}
% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
% If more than one department, use more than once
% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.
-%\Acceptor{Primus Castor}{Professor of Wetlands Engineering}{Graduate Officer, Department of Physics}
\Acceptor{Quintus Castor}{Professor of Wetlands Engineering}{Undergraduate Officer, Department of Physics}
-%\Acceptor{Tertius Castor}{Professor of Log Dams}{Graduate Officer, Department of Research}
-%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Graduate Officer, Department of Mechanical Engineering}
-
-% If your title page is overflowing (from too many names, degrees, etc.), you can scale
-% down the Signature block at the bottom with this command, or use another creative solution...
-%\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize}
% Usage: \DegreeDate{Month}{year}
% Valid degree months are September, February, or June.
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex
index 5e004fe134..57a957b6ba 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_two_degrees.tex
@@ -2,8 +2,8 @@
% !BIB TS-program = biber
% !BIB program = biber
-% Author: John H. Lienhard (c) 2023. Reuse under the MIT license: https://ctan.org/license/mit
-% Version 1.01, 2023/10/27
+% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit
+% Version 1.02, 2024/07/08
% Documentation: https://ctan.org/pkg/mitthesis
@@ -81,20 +81,17 @@
% Use once for each degree fulfilled by thesis
% For two degrees from one department, leave the department argument blank for the second degree {}.
\Degree{Master of Science in Physics}{Department of Physics}
-%\Degree{Master of Science in Physics}{}
\Degree{Master of Science in Mechanical Engineering}{Department of Mechanical Engineering}
% If there is more than one supervisor, use the \Supervisor command for each.
\Supervisor{Edward C. Pickering}{Professor of Physics}
-\Supervisor{Secunda Castor}{Professor of Research}
-%\Supervisor{Quintus Castor}{Professor of Log Dams}
+\Supervisor{Secunda Castor}{Professor of of Mechanical Engineering}
% Professor who formally accepts theses for your department (e.g., the Graduate Officer, Professor Sméagol,...)
% If more than one department, use more than once
% If you need to reduce vertical space, put the acceptor title in the second argument and leave the third blank {}.
\Acceptor{Primus Castor}{Professor and Graduate Officer, Department of Physics}{}
\Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Mechanical Engineering}{}
-%\Acceptor{Quarta Castor}{Professor of Lodge Building}{Undergraduate Officer, Department of Mechanical Engineering}
% In this example, several steps have been taken to make the content fit on the title page! The \Acceptors have been confined to two
% lines in the above commands, the signature block font size is reduced, the skips are tightened, the author names use normal font size,
diff --git a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh
new file mode 100755
index 0000000000..da23571eff
--- /dev/null
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/cover_compile.sh
@@ -0,0 +1,31 @@
+#! /bin/bash
+
+# first run
+
+for i in *.tex;
+ do
+ if [ "$i" != "abstract.tex" ] ; then
+ pdflatex $i;
+ fi;
+ done
+
+# second run
+
+for i in *.tex;
+ do
+ if [ "$i" != "abstract.tex" ] ; then
+ pdflatex $i;
+ fi;
+ done
+
+# clean up
+
+mkdir pdffiles
+mv *.pdf pdffiles
+rm *.aux
+rm *.gz
+rm *.log
+
+
+
+
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdf
index e55782bbb4..97243bde84 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdf
index 2d802b2a0e..cc3e40ce75 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdf
index 09a93e218b..c09afd43ee 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdf
index 45b6d25430..418bf7e8d3 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdf
index 383bbfd3a9..43081a36f0 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdf
index 3c8fc160ba..d21ca4d057 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdf
index 142d3afc0d..45952c0c52 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdf
index 46b54f1a07..0792ee30f9 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdf
index e4306cb237..80b8e07d10 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdf
index 93e1db4400..90dfd3ab31 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdf
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex
index 8b34293ed2..b6480ef952 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Defaultfonts.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex
index d428bcadf1..f2c8ed1158 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Fira_Newtxsf.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,12 +246,11 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
-% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
-% see the biblatex manual, section 3.14.3
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
%%%% Option for natbib %%%%%%%%%%%%%
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex
index 1ae057c0cd..7e914bfa38 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Heros-Stix2.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,9 +246,13 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
%
-\printbibliography[title={References},heading=bibintoc]
+\printbibliography[title={\refname},heading=bibintoc]
}
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex
index 8fa97df9b0..9198d8a489 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Libertine.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex
index 1af3c90754..3fd445d4ff 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Lucida.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex
index 87ad88c57e..9729118c30 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx-sans-text.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,12 +246,11 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
-% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
-% see the biblatex manual, section 3.14.3
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
%%%% Option for natbib %%%%%%%%%%%%%
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex
index eb96cc7892..e2cebe98ac 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Newtx.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt
index c4d5c782c1..beacdde0a3 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/README_font_sample_sources.txt
@@ -12,3 +12,5 @@ mitthesis-sample.bib
mydesign.tex
All of those files are in the directory mitthesis/MIT-thesis-template.
+
+You should also copy the fontsets directory (and mitthesis.cls) into this folder.
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex
index ffc9657186..6fe4965432 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Stix2.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex
index 29bb0e05cf..3bbf3c8333 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes-stix2.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex
index fb2f11a35d..92a905fe99 100644
--- a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/Termes.tex
@@ -56,8 +56,8 @@
%%%%%%%%% Representative set-up for biblatex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}% style=ext-numeric-comp,articlein=false,giveninits=true
- \DefineBibliographyStrings{english}{url= \textsc{url} , }% replaces default "[Online]. Available" by "URL"
+%% Numerical citations of references
+\usepackage[style=ext-numeric-comp,giveninits=true,maxbibnames=10,sorting=none]{biblatex}
\addbibresource{mitthesis-sample.bib}%% <== change to YOUR bib file <================= CHANGE
@@ -246,10 +246,12 @@
%%% Bibliography %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-{ \raggedright% to avoid stretched white space and split urls; DELETE THIS if you prefer justified text
-%
-\printbibliography[title={References},heading=bibintoc]
-}
+\defbibheading{bibintoc}{\chapter*{#1}\addcontentsline{toc}{backmatter}{\refname}}
+% this sets the title of contents name for bibliography to \refname (= References)
+% change "backmatter" to "chapter" if you prefer a bold face entry in the table of contents
+
+\printbibliography[title={\refname},heading=bibintoc]
+
% biblatex also supports chapter-by-chapter bibliography, https://tex.stackexchange.com/a/296502/119566
% see the biblatex manual, section 3.14.3
diff --git a/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh
new file mode 100755
index 0000000000..fdb19c1f4f
--- /dev/null
+++ b/macros/latex/contrib/mitthesis/examples/font_samples/latex_sources/compile-font-samples.sh
@@ -0,0 +1,72 @@
+#! /bin/bash
+
+# first run
+
+pdflatex Defaultfonts
+pdflatex Fira_Newtxsf
+pdflatex Libertine
+pdflatex Lucida
+pdflatex Newtx-sans-text
+pdflatex Newtx
+
+lualatex Heros-Stix2
+lualatex Stix2
+lualatex Termes-stix2
+lualatex Termes
+
+# biber
+
+biber Defaultfonts
+biber Fira_Newtxsf
+biber Libertine
+biber Lucida
+biber Newtx-sans-text
+biber Newtx
+biber Heros-Stix2
+biber Stix2
+biber Termes-stix2
+biber Termes
+
+# second run
+
+pdflatex Defaultfonts
+pdflatex Fira_Newtxsf
+pdflatex Libertine
+pdflatex Lucida
+pdflatex Newtx-sans-text
+pdflatex Newtx
+
+lualatex Heros-Stix2
+lualatex Stix2
+lualatex Termes-stix2
+lualatex Termes
+
+# third run
+
+pdflatex Defaultfonts
+pdflatex Fira_Newtxsf
+pdflatex Libertine
+pdflatex Lucida
+pdflatex Newtx-sans-text
+pdflatex Newtx
+
+lualatex Heros-Stix2
+lualatex Stix2
+lualatex Termes-stix2
+lualatex Termes
+
+# clean up
+
+mkdir pdffiles
+mv *.pdf pdffiles
+rm *.aux
+rm *.bbl
+rm *.bcf
+rm *.blg
+rm *.log
+rm *.lot
+rm *.lof
+rm *.toc
+rm *.xml
+
+
diff --git a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf
index 611f9c69ac..ab61cf59e5 100644
--- a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf
+++ b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex
index 2b434f49a7..4e5e739585 100644
--- a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex
+++ b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex
@@ -1,12 +1,13 @@
% !TEX TS-program = lualatex
% !TEX encoding = UTF-8 Unicode
-% Version date: 02 November 2023
+% Version date: 19 July 2024
\DocumentMetadata
{
- pdfstandard = a-2b,%a-3u,%a-4,%
- pdfversion = 1.7, %2.0,
+ pdfstandard = a-4,
+ pdfversion = 2.0,
+% testphase = {phase-III, table, firstaid, math},
lang = en-US,
% debug = {xmp-export}, % note that subject entries are all fine in dc format of outputted xmpi file.
}
@@ -23,6 +24,8 @@
\usepackage[x11names,svgnames,dvipsnames,table]{xcolor}
\usepackage{luacolor} % load AFTER xcolor
+\usepackage{mathtools}
+
\usepackage[en-US]{datetime2} %% change default date format
\makeatletter
\newcommand{\daymonthyeardate}{%
@@ -32,41 +35,6 @@
\usepackage{booktabs}
-%%% Create an optional argument for unnumbered sections and set pdf bookmark (thru \addcontentsline).
-%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref
-%%% errors when macros are in section titles.
-\let\svsection\section
-\RenewDocumentCommand{\section}{s o m}{%
- \IfBooleanTF {#1}
- {\svsection*{#3}\phantomsection%
- {\IfNoValueTF {#2}
- {\addcontentsline{toc}{section}{#3}}
- {\addcontentsline{toc}{section}{#2}}% removed trailing space 2020/02/28
- }%
- }%
- {\IfNoValueTF {#2}
- {\svsection{#3}}
- {\svsection[#2]{#3}}%
- }%
-}
-
-%%% Create an optional argument for unnumbered SUBsections and set pdf bookmark (thru \addcontentsline).
-%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref
-%%% errors when macros are in section titles.
-\let\svsubsection\subsection
-\RenewDocumentCommand{\subsection}{s o m}{%
- \IfBooleanTF {#1}
- {\svsubsection*{#3}\phantomsection%
- {\IfNoValueTF {#2}
- {\addcontentsline{toc}{subsection}{#3}}
- {\addcontentsline{toc}{subsection}{#2}}
- }%
- }%
- {\IfNoValueTF {#2}
- {\svsubsection{#3}}
- {\svssubection[#2]{#3}}%
- }%
-}
%%%%%%%%% Set up text and math fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -128,7 +96,7 @@
citecolor=blue,
urlcolor=violet,
filecolor=red,
-% anchorcolor=yellow,% not all pdf viewers recognize this field (Firefox does)
+ anchorcolor=yellow,% not all pdf viewers recognize this field (Firefox does)
% colorscheme=phelype,% overrides link, cite, url, file colors with a preset scheme, through \DocumentMetadata
pdfpagelayout=SinglePage,
pdfdisplaydoctitle=true,%
@@ -159,42 +127,40 @@
\ExplSyntaxOff
\urlstyle{same} % this changes font for \url to the current text font, but it is not recognized by \href.
-\RequirePackage{bookmark}% improves handling of pdf bookmarks
+%\RequirePackage{bookmark}% improves handling of pdf bookmarks
%\providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code
-%%%%%%% A nomenclature environment, if needed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%% A nomenclature environment, if needed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\providecommand{\nomname}{Nomenclature}
\newlength\nomenwidth
\newlength\savitemsep
\makeatletter
+% nomenclature entries
\NewDocumentCommand\entry{m m}{%
- \ifblank{#2}{%
- \ClassWarning{\ClassName}{The command \protect\entry requires two arguments. To obtain a subheading, use \protect\EntryHeading}
- \itemsep3\p@ plus 1\p@ minus 1\p@%
- \goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000%
- }{%
- \item[#1\hfill]#2%
- \@itempenalty=-\@lowpenalty%
- }%
+ \item[#1\hfill]#2%
+ \@itempenalty=-\@lowpenalty
}
-% A separate command command for nomenclature subheadings
+% nomenclature subheadings
\NewDocumentCommand\EntryHeading{m}{%
- \itemsep3\p@ plus 1\p@ minus 1\p@%
- \goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000%
+ \itemsep3\p@ plus 1\p@ minus 1\p@
+ \goodbreak\item[\itshape#1\hfill]\mbox{}% mbox added for tagged pdf 2023/10/11
+ \setlength{\itemsep}{\savitemsep}\@itempenalty=1000
}
\makeatother
%
% Increase first optional argument to a dimension > 2em if wide entries cause undesired misalignment of columns.
% Second optional argument can be used to rename the environment, e.g., to List of Symbols.
+% Third optional argument selects section-level or chapter-level style for the nomenclature list.
+\newcounter{dummy}% for tagging code
\NewDocumentEnvironment{nomenclature}{O{2em} O{\nomname} O{section}}{%
\setlength\columnsep{2em}
\setlength{\nomenwidth}{#1}
- \csname #3\endcsname *{#2}% this level will probably vary amongst users! add to toc, as well.
-% \phantomsection\addcontentsline{toc}{#3}{#2}% removed for this example.
+ \csname #3\endcsname *{#2}% this level will vary amongst users!
+% \refstepcounter{dummy}\addcontentsline{toc}{#3}{#2}% omit contentsline for this document!
\raggedright
\begin{list}{}{%
\setlength{\itemsep}{0pt}%
@@ -203,7 +169,7 @@
\setlength{\labelwidth}{\nomenwidth}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
- \setlength\savitemsep\itemsep%
+ \setlength{\savitemsep}{\itemsep}%
}%
}{\end{list}\ignorespacesafterend}
@@ -211,110 +177,121 @@
%%%%%%%%%%%%% End preamble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\title{The MIT thesis template}
-\author{John H. Lienhard \\ Department of Mechanical Engineering \\ Massachusetts Institute of Technology}
-\date{\daymonthyeardate}
+\renewcommand\abstractname{SUMMARY}
\begin{document}
-\maketitle
+\begingroup
+ \centering
+ \LARGE The MIT thesis template\\[1em]
+ \large
+ John H. Lienhard \\ Department of Mechanical Engineering \\ Massachusetts Institute of Technology
+ \\[1em]
+ \daymonthyeardate\\[1em]
+\endgroup
-\section*{THE MIT THESIS TEMPLATE}
-This template is suitable for MIT theses of all types and at all levels. The title and abstract pages are automatically laid out from information provided by the user. The template includes options to use a variety of fonts, and it is compatible with either pdfTeX or unicode engines such as luaLaTeX. When using LaTeX formats dated November 2022 or later, the resulting pdf file meets the PDF/A-2b archivability standard. A standard \href{https://www.tug.org/texlive/}{\TeX\ Live} installation includes all other packages required by the template.
+\phantomsection\pdfbookmark[1]{\abstractname}{summary}
+\begin{abstract}
+This \LaTeX\ class formats theses according to the requirements of the MIT Libraries. The template is suitable for MIT theses of all types and at all levels. The title and abstract pages are automatically laid out from information provided by the user. The template includes options to use a variety of typefaces, and it is compatible with either pdfTeX or unicode engines such as LuaLaTeX. When using LaTeX formats dated November 2022 or later, the resulting pdf file meets the PDF/A-2b archivability standard. A standard \href{https://www.tug.org/texlive/}{\TeX\ Live} installation includes all other packages required by the template. This document provides instructions for installation and use of the template.
+\end{abstract}
-\subsection*{Background}
+\tableofcontents
+
+\section{BACKGROUND}
The original MIT Thesis template was written \LaTeX\ 2.09 by Stephen Gildea in the late 1980s (in CTAN, \href{https://mirrors.ctan.org/obsolete/macros/latex209/contrib/mitthesis/mitthesis.sty}{here}). That template was edited by many later students.
-LaTeX has changed greatly since the original MIT thesis template was written. \LaTeX\ 2.09 was replaced by \LaTeXe\ in 1994. New engines were developed, particularly pdfTeX during the 1990s and Unicode-aware engines in the decades that followed. Many packages and fonts were developed to accompany the original platform, particularly after 2000; and major updates to the LaTeX kernel began in 2018. Over the years, the MIT Libraries have changed the required format several times, especially as electronic thesis submission has become the norm. The original template served MIT well; but by the early 2020s, it was substantially out of date. That situation motivated the creation of a new template.
+LaTeX has changed greatly since the original MIT thesis template was written. \LaTeX\ 2.09 was replaced by \LaTeXe\ in 1994. New engines were developed, particularly pdfTeX during the 1990s and Unicode-aware engines in the decades that followed. Many packages and fonts were developed to accompany the original platform, particularly after 2000; and major updates to the LaTeX kernel began in 2018. Over the years, the MIT Libraries changed the required format several times, especially as electronic thesis submission became the norm. The original template served MIT well; but by the early 2020s, it was substantially out of date. That situation motivated the creation of a new template.
This new MIT thesis template was developed in 2023 at the request of the MIT Libraries. The title and abstract pages strictly follow the current \href{https://libraries.mit.edu/distinctive-collections/thesis-specs/}{requirements of the Libraries}. The underlying code is entirely new, with extensive use of \texttt{expl3} syntax.
-\subsection*{System requirements}
+\section{SYSTEM REQUIREMENTS AND INSTALLATION}
The new \texttt{mitthesis} class uses the features of \LaTeX\ as of 2022, with limited backward compatibility. An up-to-date \LaTeX\ system is therefore necessary when using this template.
-\LaTeX\ is a free, open source system. The entire system is distributed through the \TeX\ Live platform (\url{https://www.tug.org/texlive/}), including the basic format, packages, and user interfaces. The system operates on Windows, MacOS, and Unix/Linux. \TeX\ Live is formally updated each year in the spring, and the associated utility package allows users download the most current codes more frequently if they desire. (At the time of this writing, the commercial platform Overleaf.com provides similar functionality.)
+\LaTeX\ is a free, open source system. The entire system is distributed through the \TeX\ Live platform (\url{https://www.tug.org/texlive/}), including the basic format, packages, and user interfaces. The system operates on Windows, MacOS, and Unix/Linux. \TeX\ Live is formally updated each year in the spring, and the associated utility package allows users to download the most current codes more frequently if they desire. (At the time of this writing, the commercial platform Overleaf.com provides a similar functionality.)
If you are missing a package or documentation, you may obtain it at no cost from CTAN (\href{http://ctan.org}{ctan.org}).
-\subsection*{\LaTeX\ engine}
-The template works with either \pdfTeX\ or unicode engines such as \LuaLaTeX. With the latter, fonts that you install in your operating system can be configured for use in your thesis. \LuaLaTeX\ also enables the direct use of lua code in your \texttt{.tex} file.
-
-\subsection*{Downloading the template}
+\subsection{Downloading the template}
The files needed for preparing your thesis are in the CTAN repository: \url{https://ctan.org/pkg/mitthesis}. Copy the subdirectory \texttt{MIT-thesis-template} onto your system. That directory contains files you can modify into your own thesis.
-If \texttt{mitthesis.cls} is installed in your system (e.g., if you use an up-to-date version of \TeX\ Live), you are all set. If not, copy the file \texttt{mitthesis.cls} into your working directory. If you plan to use fonts other than the default fonts, ensure that the subdirectory \texttt{fontsets} is present in your working directory.
+If the most current version of \texttt{mitthesis.cls} is installed in your system (e.g., if you use an up-to-date version of \TeX\ Live), you are all set. If not, copy the file \texttt{mitthesis.cls} into your working directory. If you plan to use fonts other than the default fonts, ensure that the subdirectory \texttt{fontsets} is present in your working directory.
-\subsection*{File structure}
+\subsection{File structure}
The new MIT thesis template consists of: \texttt{mitthesis.cls}; a root file \texttt{MIT-Thesis.tex}; a file to load the abstract, \texttt{abstract.tex}; a file for design options, \texttt{mydesign.tex}; and an optional file to change the fonts (see the subdirectory, \texttt{fontset}). You should change the name of the root file to something more descriptive of your own work (e.g., \texttt{JohnsThesis.tex}, \texttt{MagnumOpusScientiae.tex},\ldots). In addition, files must be loaded for acknowledgments, an optional biosketch, chapters, optional appendices, and bibliography.
-\subsection*{Bibliography}
-You may generate your bibliography using either \texttt{biblatex/biber} or \texttt{natbib/bibtex}. The template is set up for \texttt{biblatex} by default, rather than the older, less flexible \texttt{natbib}.
+\subsection{\LaTeX\ engine}
+The template works with either \pdfTeX\ or unicode engines such as \LuaLaTeX. With the latter, fonts that you install in your operating system can be configured for use in your thesis. \LuaLaTeX\ also enables the direct use of Lua code in your \texttt{.tex} file. With Lua code, you can automate plotting, table generation, and other numerical computations.
-\subsection*{PDF/A compatibility}
-PDF/A-2b compliance will be automatic if the \verb|\DocumentMetadata{..}| command is issued before the \verb|\documentclass{..}| command and \textit{provided that your graphics are also compliant}. This command was added to \LaTeX\ in June 2022. For older versions of \LaTeX, the \texttt{mitthesis} class will fall back to loading the \texttt{hyperxmp} package to support pdf metadata, but PDF/A compliance will require post-processing (for example, by using the PreFlight function of Adobe Acrobat). An up-to-date \LaTeX\ installation is preferred.
+\subsection{PDF/A compliance}
+PDF/A-2b compliance will be automatic if the \verb|\DocumentMetadata{pdfstandard = a-2b}| command is issued before the \verb|\documentclass{..}| command and \textit{provided that your graphics are also compliant}. This command was added to \LaTeX\ in June 2022. For older versions of \LaTeX,
+PDF/A compliance will require post-processing (for example, by using the PreFlight function of Adobe Acrobat). Current \LaTeX\ development (ca.~2024) is working toward fully \textit{accessible} PDF/A out of the box (e.g., PDF/A-2a). Unicode compliance (e.g., PDF/A-2u) depends greatly on your fonts and figures.
-Current \LaTeX\ development (ca.~2023) is working toward fully \textit{accessible} PDF/A out of the box (e.g., PDF/A-2a). Unicode compliance (e.g., PDF/A-2u) depends greatly on your fonts and figures.
-\section*{INFORMATION YOU NEED TO COMPLETE}
-Various fields and commands must be changed to your own information in the preamble of \texttt{MIT-Thesis.tex} and immediately after the \verb|\begin{document}| command. This information includes the title, author, degree and other essential information. With the comments in \texttt{MIT-Thesis.tex}, this step should be self-explanatory. Nevertheless some comments follow.
+\section{SETTING UP TITLE PAGE, ABSTRACT, AND BIBLIOGRAPHY}
+Various fields and commands must be changed to your own information in the preamble of \texttt{MIT-Thesis.tex} and immediately after the \verb|\begin{document}| command. This information includes the title, author, degree and other essential information. With the comments in \texttt{MIT-Thesis.tex}, this step should be self-explanatory. Nevertheless, some explanation follows.
-In the \verb|\hypersetup{..}| command, change the sample file to match your own information (e.g., keywords, subject, etc.). These commands generate metadata that are incorporated into the pdf file.
-The commands that define the title page are as follow.
-\begin{itemize}
+\begin{enumerate}
+\item In the \verb|\hypersetup{..}| command, change the sample file to match your own information (e.g., keywords, subject, etc.). These commands generate metadata that are incorporated into the pdf file.
+
\item \verb|\title{the title of your thesis}|
\item \verb|\Author{author full name}{author department}[1st PREVIOUS degree][2nd...| \linebreak
Note that third, fourth, fifth, and sixth arguments are optional [..] and may be omitted. Use once for each author.
-\item \verb|\Degree{name of degree}{department giving degree}|. Use once for each degree fulfilled by the thesis. If the thesis satisfies two degrees from one department, leave the department argument blank for the \textit{second} degree: \verb|\Degree{2nd degree name}{}|
+\item \verb|\Degree{name of degree}{department giving degree}|. Use once for each degree fulfilled by the thesis.
+
+If two departments jointly issue a single degree, leave the degree name blank for the \textit{second} degree:
+\verb|\Degree{}{2nd department name}|.
+If the thesis satisfies two degrees from one department, leave the department argument blank for
+the \textit{second} degree: \verb|\Degree{2nd degree name}{}|.
-\item \verb|\Supervisor{supervisor name}{supervisor title}|. Use once for each supervisor.
+If you wish to cause a line break in a very long degree name, you can insert \verb|\\| at an appropriate point.
+Department names should not break across lines. For example:
+\begin{quote}
+\verb|\Degree{Doctor of Philosophy \\ in \\ Electrical Engineering and Computer|\linebreak
+\hbox{}\qquad\verb|Science}{Department of Electrical Engineering and Computer Science}|
+\end{quote}
+
+\item \verb|\Supervisor{supervisor name}{supervisor title}|. Use once for each supervisor. See \S\ref{sec:6.3} if your supervisor has more than one title.
\item \verb|\Acceptor{acceptor name}{acceptor title}{thesis related position}|. Professor who accepts theses for your department (e.g., the Graduate Officer). Use once for each department.
\item \verb|\DegreeDate{Month}{year}|. Date degree is awarded (February, May, June, or September).
\item \verb|\ThesisDate{date}|. Date that your final thesis is submitted to the department.
-\end{itemize}
+\end{enumerate}
-\subsection*{Copyright license}
+\subsection{Copyright license}
If you wish to make your thesis available under a Creative Commons License, issue the following command between
\verb|\begin{document}| and \verb|\maketitle|: \verb|\CClicense{license type}{license url}|. For example,
\vskip 5pt
\noindent\quad\verb|\CClicense{CC BY-NC-ND 4.0}{https://creativecommons.org/licenses/by-nc-nd/4.0/}|.
-\subsection*{Overflowing title page: managing space} If your title page overflows the vertical space (from too many authors, degrees, previous degrees, etc.), you can using some or all of the following techniques. The commands must be given before \verb|\maketitle|.
-\begin{enumerate}
- \item Reduce the 12pt and 18pt skips between the various blocks of text to 6pt with this command:
- \vskip 5pt
- \noindent\verb|\Tighten|
- \item Reduce the font size in the signature block with this command:
- \vskip 5pt
- \noindent\verb|\SignatureBlockSize{\small}|
- \item Put the acceptor name and title onto two lines, rather than three, by putting the acceptor's position into the 2\textsuperscript{nd} argument and leaving the 3\textsuperscript{rd} argument blank:
- \vskip 5pt
- {\small\noindent\verb|\Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{}|}
- \item Reduce the font size of the the author name[s] from \verb|\large| to \verb|\normalsize| with this command:
- \vskip 5pt
- \noindent\verb|\AuthorNameSize{\normalsize}|
- \item Omit previous degrees from the title page, instead mentioning them in the biographical sketch.
-\end{enumerate}
+\subsection{Bibliography}
+You may generate your bibliography using either \texttt{biblatex/biber} or \texttt{natbib/bibtex}. The template is set up for \texttt{biblatex} by default, rather than the older, less flexible \texttt{natbib}. The \texttt{biblatex} package is very powerful, and you can customize most aspects the reference list and citations to suit your needs. See the documentation for details: \hrefurl{https://ctan.org/pkg/biblatex}{ctan.org/pkg/biblatex}.
-Also, if you prefer to keep the text toward the top of the page with most white space at the bottom, you
-can use this command to squash the vertical glue (\TeX's stretchy space):
- \vskip 5pt
- \quad\verb|\Squash|
- \vskip 5pt
-\noindent This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically when the page is too full.
+The style of citations and references can be set in your \texttt{.tex} file. For numerical citations of references (e.g., [1]), you can do
+\vskip 5pt
+\verb|\usepackage[style=ext-numeric-comp,giveninits=true,sorting=none]{biblatex}|
+\vskip 5pt
+\noindent For IEEE style citations and references, you might do
+\vskip 5pt
+\verb| \usepackage[style=ieee,maxbibnames=10,sorting=none]{biblatex}|
+\vskip 5pt
+\noindent For author/year style (Smith, 2024), you might do
+\vskip 5pt
+\verb| \usepackage[style=authoryear, maxbibnames=10]{biblatex} |
+\vskip 5pt
+\noindent In the author/year style, \verb|\cite{..}| commands do not automatically produce parentheses. Instead, you can do
+\verb|\parencite{..}| to get ``(Author, year).''
-\section*{PACKAGE OPTIONS}
-Package options may be specified for \verb|\documentclass[..]{mitthesis}|. These options are described in Table~\ref{tab:1} and the subsections that follow.
+\section{CLASS OPTIONS}
+Class options may be specified for \verb|\documentclass[..]{mitthesis}|. These options are described in Table~\ref{tab:1} and the subsections that follow.
\begin{table}[b]
\caption{Options to the document class\label{tab:1}}
@@ -323,7 +300,7 @@ Package options may be specified for \verb|\documentclass[..]{mitthesis}|. These
\small
\begin{tabular}{>{\ttfamily}l<{} >{\raggedright\arraybackslash}p{42em} }
\toprule
-\textrm{Package option} & Effect \\
+\textrm{Class option} & Effect \\
\midrule
fontset & is a keyvalue, \texttt{fontset = <\textit{name}>}, which selects the set of fonts used for the thesis. See description below. \\
lineno & this option loads the \texttt{\hrefurl{https://ctan.org/pkg/lineno}{lineno}} package, which provides line numbers, as for editing. The \texttt{\hrefurl{https://ctan.org/pkg/lineno}{lineno}} package provides additional commands to control line numbering. \\
@@ -334,17 +311,16 @@ twoside & gives facing-page behavior for two-sided printing; omitting it will e
\end{tabular}}%
\end{table}
-\subsection*{Font loading}
-By default, \texttt{mitthesis.cls} will load the traditional \LaTeX\ fonts, Computer Modern (for \pdfTeX) or Latin Modern (for unicode engines). By using the key value \texttt{fontset=$\cdots$} in the \verb|\documentclass| command, you can select a different set of fonts.
+\subsection{Font loading}
+By default, \texttt{mitthesis.cls} will load the traditional \LaTeX\ typeface, Computer Modern (for \pdfTeX) or Latin Modern (for unicode engines). By using the key value \texttt{fontset=$\cdots$} in the \verb|\documentclass| command, you can select a different set of fonts.
-Ten fontsets are predefined, including the default set (see Table~\ref{tab:2}). Three work only with \pdfTeX, four work only with unicode engines, and three work with either. These options include a mixture of serif or sans serif text and math fonts, as shown in the table. To access the predefined font sets, you \textit{must} have the directory \texttt{fontsets} as a subdirectory of your working directory, including its files as named.
+Ten font sets are predefined, including the default set (see Table~\ref{tab:2}). Three work only with \pdfTeX, four work only with unicode engines, and three work with either. These options include a mixture of serif or sans serif text and math fonts, as shown in the table. To access the predefined font sets, you \textit{must} have the directory \texttt{fontsets} as a subdirectory of your working directory, including its files as named. For unicode engines, you must have the relevant fonts installed as system fonts on your computer.
-Among the predefined fonts, Termes and NewTX are serifed fonts similar to the digital font Times New Roman. STIX Two is more similar to the original metal-type Times font. Linux Libertine is a serif font inspired by 19\textsuperscript{th} century book type. Lucida is a serifed font designed for high legibility at small size or on low resolution devices. This font is excellent for mathematics and includes a complete bold-face math font, but it is not free. Heros and NewTX-sans are sans-serif text fonts similar to Helvetica. NewTXsf is a sans-serif math font which draws upon glyphs from the STIX font. Fira is a humanist sans-serif text font designed in association with the Firefox browser. Finally, Computer Modern (and its extension Latin Modern)---the traditional \LaTeX\ font---is a Didone font, with high contrast between thick and thin elements.
+Among the predefined font sets, Termes and NewTX are serifed typefaces similar to the digital typeface Times New Roman. STIX Two is more similar to the original metal-type Times typeface. Linux Libertine is a serif typeface inspired by 19\textsuperscript{th} century book type. Lucida is a serifed typeface designed for high legibility at small size or on low resolution devices. Lucida is excellent for mathematics and includes a complete bold-face math font, but it is not free. Heros and NewTX-sans are sans-serif text typefaces similar to Helvetica. NewTXsf is a sans-serif math font which draws upon glyphs from the STIX fonts. Fira is a humanist sans-serif text typeface designed in association with the Firefox browser. Finally, Computer Modern (and its extension Latin Modern)---the traditional \LaTeX\ typeface---is a Didone typeface, with high contrast between thick and thin elements.
+% STIX Two, Termes, and LMR do not include a separate bold math font.
-You may also place your own fontset file, say \texttt{Myfontset.tex}, in your working directory, and load it with
-
-\vskip10pt
-\hfill\verb|\documentclass[fontset=Myfontset]{mitthesis}|\hfill\hbox{}
+You may also place your own font-set file, say \texttt{Myfontset.tex}, in your working directory, and load it with:
+\verb|\documentclass[fontset=Myfontset]{mitthesis}|.
\begin{table}[t]
\caption{Predefined font sets\label{tab:2}}
@@ -362,7 +338,7 @@ default & yes & yes & serif & serif & CM \& LM fonts are included in \TeX\
libertine & yes & yes & serif & serif & in \TeX\ Live for \pdfTeX. For unicode, OpenType text fonts freely available here
\linebreak \url{https://sourceforge.net/projects/linuxlibertine/}\linebreak and the math font here
\linebreak \url{https://github.com/alerque/libertinus} \\
-lucida & yes & yes & serif & serif & the lucida fonts are available from the \TeX\ User's Group,
+lucida & yes & yes & serif & serif & the Lucida fonts are available from the \TeX\ User's Group,
\url{https://tug.org/store/lucida} \\[2em]
heros-stix2 & no & yes & sans & serif & \url{http://www.gust.org.pl/projects/e-foundry/tex-gyre} \linebreak\url{https://github.com/stipub/stixfonts} \linebreak fonts are free \\
stix2 & no & yes & serif & serif & \url{https://github.com/stipub/stixfonts}, fonts are free\\
@@ -374,17 +350,65 @@ termes-stix2 & no & yes & serif & serif & \url{http://www.gust.org.pl/projects/
\end{tabular}}%
\end{table}
-\subsection*{Design options}
+\subsection{Design options}
The thesis will follow the default styles of the \LaTeX\ report class for sections headings, captions, and lists. If you prefer different styles you can use the class option [mydesign] which loads the file \texttt{mydesign.tex}.
-With \texttt{mydesign.tex}, you can set options for packages that manage color, e.g.\ \texttt{\hrefurl{https://ctan.org/pkg/xcolor}{xcolor}}, that change the margins, or that change the design of titles, captions, and lists: \texttt{\hrefurl{https://ctan.org/pkg/titlesec}{titlesec}}, \texttt{\hrefurl{https://ctan.org/pkg/caption}{caption}}, or \texttt{\hrefurl{https://ctan.org/pkg/enumitem}{enumitem}}. You can also load other packages. The \texttt{mitthesis} class will insert these commands at the appropriate point (prior to loading \texttt{\hrefurl{https://ctan.org/pkg/babel}{babel}}, fonts, or \texttt{\hrefurl{https://ctan.org/pkg/hyperref}{hyperref}}). You should not need to edit the class file.
+With \texttt{mydesign.tex}, you can set options for packages that manage color, e.g.\ \texttt{\hrefurl{https://ctan.org/pkg/xcolor}{xcolor}}, or that change the design of titles, captions, and lists: \texttt{\hrefurl{https://ctan.org/pkg/titlesec}{titlesec}}, \texttt{\hrefurl{https://ctan.org/pkg/caption}{caption}}, or \texttt{\hrefurl{https://ctan.org/pkg/enumitem}{enumitem}}. You can change the margins with \verb|\newgeometry{..}| from the \texttt{\hrefurl{https://ctan.org/pkg/geometry}{geometry}} package. You can also load other packages. The \texttt{mitthesis} class will insert these commands at the appropriate point (prior to loading \texttt{\hrefurl{https://ctan.org/pkg/babel}{babel}}, fonts, or \texttt{\hrefurl{https://ctan.org/pkg/hyperref}{hyperref}}). You should not need to edit the class file.
Hyperlink colors and pdf bookmark or viewing options from the \texttt{hyperref} package can be changed by using \verb|\hypersetup{ .. }| in the preamble or using \verb|\AtBeginDocument{ \hypersetup{ .. } }| in the \texttt{mydesign.tex} file.
-\subsection*{Single-sided vs.\ double-sided layout}
+\subsection{Single-sided vs.\ double-sided layout}
The sample template uses the option \texttt{[twosided]}, which starts major sections (abstract, table of contents, chapters, etc.) on odd-numbered pages. This arrangement is suitable for two-sided printing, but can lead to empty even-numbered pages. If you do not wish to have this behavior, omit that option. By default, even and odd page margins are the same; this can be changed in \texttt{mydesign.tex} if necessary.
-\begin{table}[t]
+\subsection{Additional commands}
+The class also provides \verb|\DegreeYear|, \verb|\DegreeMonth|, and \verb|\CopyrightAuthor|. The latter combines all author names into a single token list, e.g., ``Joseph O. Hirschfelder, Charles F. Curtiss and R. Byron Bird''; a period at the end of the final name (e.g., as in ``John F. Nash Jr.'') is removed.
+
+\subsection{Nomenclature}
+An optional nomenclature environment is provided by the class. This environment can support either chapter-by-chapter nomenclature (at the section level) or a single nomenclature for the entire thesis (at the chapter level). The environment has three optional arguments: [1] adjust space between symbol and definition; [2] name (heading) of the nomenclature list; and [3] level, which can be ``chapter'' or ``section'' depending on whether you
+have one nomenclature list for whole thesis or one for each chapter (the default is section).
+
+For example, the following code
+\begin{center}
+\begin{minipage}{0.85\textwidth}
+\begin{verbatim}
+\begin{nomenclature}[2em][Nomenclature for Chapter 1][section]
+\EntryHeading{Roman letters}
+\entry{$\mathcal{C}$}{material curve}
+\entry{$\mathbf{u}$}{velocity [m s$\cramped{^{-1}}$]}
+\EntryHeading{Greek letters}
+\entry{$\Gamma$}{circulation [m$\cramped{^2}$ s$\cramped{^{-1}}$]}
+\entry{$\rho$}{mass density [kg m$\cramped{^{-3}}$]}
+\end{nomenclature}
+\end{verbatim}
+\end{minipage}
+\end{center}
+produces the nomenclature list below
+\begin{center}
+\begin{minipage}{0.8\textwidth}
+\begin{nomenclature}[2em][Nomenclature for Chapter 1][section]
+\EntryHeading{Roman letters}
+\entry{$\mathcal{C}$}{material curve}
+\entry{$\mathbf{u}$}{velocity [m s$\cramped{^{-1}}$]}
+\EntryHeading{Greek letters}
+\entry{$\Gamma$}{circulation [m$\cramped{^2}$ s$\cramped{^{-1}}$]}
+\entry{$\rho$}{mass density [kg m$\cramped{^{-3}}$]}
+\end{nomenclature}
+\end{minipage}
+\end{center}
+%% \cramped is from the mathtools package, and moves the superscript a bit lower
+
+\section{PACKAGES FOR MATH, CHEMISTRY, CODE, TABLES, AND MORE}
+The \texttt{mitthesis} class loads the \texttt{amsmath} package and its extension \texttt{mathttools}. These packages provide many useful macros for typesetting equations and symbols, such as: environments for aligning and splitting equations or groups of equations; tools for matrices; a wide variety of operators and symbols; tools to define new math operators and paired delimiters; and much, much more. If you are including equations, look at the documentation for these packages: \url{https://ctan.org/pkg/amsmath} and \url{https://ctan.org/pkg/mathtools}.\looseness=1
+
+Specialized packages for many disciplines can be found in \hrefurl{https://ctan.org}{CTAN}. These include subjects like \hrefurl{https://ctan.org/topic/chemistry}{chemistry}, \hrefurl{https://ctan.org/topic/linguistic}{linguistics}, and \hrefurl{https://ctan.org/topic/physics}{physics}. As examples of such packages, the sample thesis template uses the package \texttt{\hrefurl{https://ctan.org/pkg/mhchem}{mhchem}} to set chemical equations and the package \texttt{\hrefurl{https://ctan.org/pkg/listings}{listings}} to list computer code.
+
+Several packages focus on table and tabular environments. The \texttt{\hrefurl{https://ctan.org/pkg/booktabs}{booktabs}} package, use in the sample thesis template, produces better quality horizontal lines (called \textit{rules}) for separating material in tables. The \texttt{\hrefurl{https://ctan.org/pkg/array}{array}} package (also used) provides additional options for column formats in tabular environments, and the \texttt{\hrefurl{https://ctan.org/pkg/dcolumn}{dcolumn}} package aligns columns of numbers on the decimal separator.
+
+When selecting a package to use, check that it is currently maintained (with relatively recent updates), and compare it to other packages that perform similar functions. Some packages are better than others, and some obsolete packages remain online.
+
+The packages called by \texttt{mitthesis} are listed in Table~\ref{tab:3} on page~\pageref{tab:3}.
+
+\begin{table}
\caption{External packages used. For documentation, visit CTAN, \url{https://ctan.org}. Alternatively, if you have \hrefurl{https://www.tug.org/texlive/}{\TeX\ Live} installed, you can open a terminal window and type \texttt{\%\ texdoc package-name}.\label{tab:3}}
\vskip5pt
\centering{\small%
@@ -398,22 +422,25 @@ bm & defines commands to access bold math symbols (loaded for default fonts) &
bookmarks& is loaded automatically under the new pdf-management system & customize pdf bookmarks \\
doi & support for hyperlinking DOIs & hyperlink a doi number: \verb|\doi{..}| \\
etoolbox & extend or modify other macros & can use in preamble if needed \\
-iftex & check which \LaTeX\ engine is running& macros to check which engine, e.g., \verb|\ifpdftex| \\
geometry & set page size and margins & can use \verb|\newgeometry| in \texttt{mydesign.tex}\\
graphicsx& support for inserting images & use to include graphics\\
hyperref & support for hyperlinks and metadata & must complete setup in preamble\\
+iftex & check which \LaTeX\ engine is running& macros to check which engine, e.g., \verb|\ifpdftex| \\
mathtools& loads and extends \texttt{amsmath} & \textbf{many useful math macros available}. See documentation for \texttt{amsmath} and \texttt{mathtools} \\[0.7em]
\midrule
hyperxmp & fallback if no \verb|\DocumentMetadata{..}|& ---\\
kvoptions& key values for systems pre 2022/11/01 & ---\\
-xparse & for systems older than 2020/10/01 & macros to define new commands\\[0.7em]
+xparse & for systems older than 2020/10/01 & macros to define new commands\\
\midrule
-lineno & loaded if class option is given & keyvalue \texttt{lineno} will give line numbers; \texttt{lineno} package has additional commands that control line numbering\\[3em]
+lineno & loaded if class option is given & keyvalue \texttt{lineno} will give line numbers; \texttt{lineno} package adds commands to control numbering\\[0.7em]
\midrule
caption & also loaded by \texttt{mydesign.tex} & support for caption styling \\
subcaption & also loaded by \texttt{mydesign.tex} & support for subfigures within figures \\
titlesec & also loaded by \texttt{mydesign.tex} & support for styling section headings \\
xcolor & also loaded by \texttt{mydesign.tex} & support for colors, including colored fonts \\[0.7em]
+array & --- & additional options for formatting table columns \\
+booktabs & --- & better quality tables, with additional commands \\
+dcolumn & --- & align number columns on selectable separators \\
\midrule
babel & --- & if you use multiple languages, load \texttt{babel} in a fontset file before loading fonts \\
biblatex & --- & sample template uses this bibliography tool. Change to \texttt{natbib} if you prefer\\
@@ -428,75 +455,71 @@ unicode-math & --- & load in a fontset file if using a unicode engine\\
\end{tabular*}}%
\end{table}
-\subsection*{Additional commands}
-The class also provides \verb|\DegreeYear|, \verb|\DegreeMonth|, and \verb|\CopyrightAuthor|. The latter combines all author names into a single token list, e.g., ``Joseph O. Hirschfelder, Charles F. Curtiss and R. Byron Bird''; a period at the end of the final name (e.g., as in ``John F. Nash Jr.'') is removed.
-
-
-\subsection*{Nomenclature}
-An optional nomenclature environment is provided by the class. This environment can support either chapter-by-chapter nomenclature (at the section level) or a single nomenclature for the entire thesis (at the chapter level). The environment has three optional arguments: [1] adjust space between symbol and definition; [2] name (heading) of the nomenclature list; and [3] level, which can be ``chapter'' or ``section'' depending on whether you
-have one nomenclature list for whole thesis or one for each chapter (the default is section).
+\section{TROUBLESHOOTING AND MODIFICATIONS}
+\subsection{Listing thesis committee members or using a signature page}
+Listing committee members (with or without signatures) is not required under MIT's thesis specifications. Only the thesis supervisor should appear on the title page, not a list of committee members. However, some departments may require a separate committee or signature page. That page can be inserted by the author between the title and abstract pages. Check with your department about this page and any associated formatting requirements.
-For example, the following code
-\begin{center}
-\begin{minipage}{0.8\textwidth}
-\begin{verbatim}
-\begin{nomenclature}[2em][Nomenclature for Chapter 1][section]
-\EntryHeading{Roman letters}
-\entry{$\mathcal{C}$}{material curve}
-\EntryHeading{Greek letters}
-\entry{$\Gamma$}{circulation [m$^2$ s$^{-1}$]}
-\end{nomenclature}
-\end{verbatim}
-\end{minipage}
-\end{center}
-produces the nomenclature list below
-\begin{center}
-\begin{minipage}{0.8\textwidth}
-\begin{nomenclature}[2em][Nomenclature for Chapter 1][section]
-\EntryHeading{Roman letters}
-\entry{$\mathcal{C}$}{material curve}
-%\entry{$\mathbf{u}$}{velocity [m s$^{-1}$]}
-\EntryHeading{Greek letters}
-\entry{$\Gamma$}{circulation [m$^2$ s$^{-1}$]}
-%\entry{$\rho$}{mass density [kg m$^{-3}$]}
-\end{nomenclature}
-\end{minipage}
-\end{center}
+\subsection{Dealing with multiple titles in the signature block}\label{sec:6.3}
+When a thesis supervisor has multiple titles (which will not fit on one line), you can obtain a line break with proper horizontal spacing by doing
+ \vskip 5pt
+ \quad\verb|\Supervisor{name}{first title and \\ \> second title}|
+ \vskip 5pt
+\noindent\textbf{\TeX hackers note:} The signature block is typeset as a \LaTeX\ \texttt{tabbing} environment.
-\section*{PACKAGES FOR MATH, CHEMISTRY, CODE LISTINGS, AND MORE}
-The \texttt{mitthesis} class loads the \texttt{amsmath} package and its extension \texttt{mathttools}. These packages provide many useful macros for typesetting equations and symbols, such as: environments for aligning and splitting equations or groups of equations; tools for matrices; a wide variety of operators and symbols; tools to define new math operators and paired delimiters; and much, much more. If you are including equations, look at the documentation for these packages: \url{https://ctan.org/pkg/amsmath} and \url{https://ctan.org/pkg/mathtools}.\looseness=1
+\subsection{Overflowing title page: managing space} If your title page overflows the vertical space (from too many authors, degrees, previous degrees, etc.), you can use some or all of the following techniques. The commands must be given before \verb|\maketitle|.
+\begin{enumerate}
+ \item Reduce the 12 pt and 18 pt skips between the various blocks of text to 6 pt with this command:
+ \vskip 5pt
+ \noindent\verb|\Tighten|
+ \item Reduce the font size in the signature block with this command:
+ \vskip 5pt
+ \noindent\verb|\SignatureBlockSize{\small}|
+ \item Put the acceptor name and title onto two lines, rather than three, by putting the acceptor's position into the 2\textsuperscript{nd} argument and leaving the 3\textsuperscript{rd} argument blank:
+ \vskip 5pt
+ {\small\noindent\verb|\Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Research}{}|}
+ \item Reduce the font size of the the author name[s] from \verb|\large| to \verb|\normalsize| with this command:
+ \vskip 5pt
+ \noindent\verb|\AuthorNameSize{\normalsize}|
+ \item Omit previous degrees from the title page, instead mentioning them in the biographical sketch.
+\end{enumerate}
-Specialized packages for many disciplines can be found in \hrefurl{https://ctan.org}{CTAN}. These include subjects like \hrefurl{https://ctan.org/topic/chemistry}{chemistry}, \hrefurl{https://ctan.org/topic/linguistic}{linguistics}, and \hrefurl{https://ctan.org/topic/physics}{physics}. As examples of such packages, the sample thesis template uses the package \texttt{\hrefurl{https://ctan.org/pkg/mhchem}{mhchem}} to set chemical equations and the package \texttt{\hrefurl{https://ctan.org/pkg/listings}{listings}} to list computer code.
-When selecting a package to use, check that it is currently maintained (with relatively recent updates), and compare it to other packages that perform similar functions. Some packages are better than others, and some obsolete packages remain online.
+\subsection{Push title page text toward top} If you prefer to keep the text toward the top of the page with most white space at the bottom, you
+can use this command to squash the vertical glue (\TeX's stretchy space):
+ \vskip 5pt
+ \quad\verb|\Squash|
+ \vskip 5pt
+\noindent This command is useful when the text has not already reach the bottom of the page, since the glue gets squashed automatically when the page is too full.
-The packages called by \texttt{mitthesis} are listed in Table~\ref{tab:3} on page~\pageref{tab:3}.
+\subsection{Changing paragraph separation}
+If you prefer to denote paragraph breaks by vertical space rather than indentation, you can try the \texttt{parskip} package: \hrefurl{https://ctan.org/pkg/parskip}{ctan.org/pkg/parskip}. See that package's documentation for details.
-\section*{USE OUTSIDE MIT}
-If you wish to adapt this template for use at a different institution, you can put the following commands in your preamble.
+\subsection{Use outside MIT}
+To adapt this template for use at a different institution, you can put the following commands in your preamble.
\begin{itemize}
-\item Use \verb|\Institution{Your Institution}| to change MIT to your own institution on the title page. %{\small\textit{New with v1.06.}}
+\item Use \verb|\Institution{Your Institution}| to change MIT to your own institution on the title page.
\item Use \verb|\maketitle*| (in place of \verb|\maketitle|) to drop the MIT copyright permission statement
\item If your institution issues degrees in months other than February, May, June, or September, you can still put those months into the
-\verb|\DegreeDate| command. To suppress the resulting error message, put \verb|\SuppressMonthError| before \verb|\maketitle*|. %\newline{\small\textit{New with v1.11.}}
+\verb|\DegreeDate| command. To suppress the resulting error message, put \verb|\SuppressMonthError| before \verb|\maketitle*|.
-\item Omitting \verb|\Acceptor| commands will drop the ``Accepted by:'' field. To suppress the resultant error message, put \verb|\SuppressAcceptorError| before \verb|\maketitle*|. %\newline{\small\textit{New with v1.06.}}
+\item Omitting \verb|\Acceptor| commands will drop the ``Accepted by:'' field. To suppress the resultant error message, put \verb|\SuppressAcceptorError| before \verb|\maketitle*|.
+
+\item To change ``Thesis Supervisor'' to something else use \verb|\SupervisorDesignation{..}|.
\end{itemize}
Please do not remove the license/copyright text from the sources files --- this code took me some time write!
-\section*{RESOURCES FOR \LaTeX}
+\section[RESOURCES FOR LATEX]{RESOURCES FOR \LaTeX}
\LaTeX\ documentation is easy to find online. A few useful resources, among many, are these:
\begin{description}
\item[\LaTeX\ Wikibook.] \url{https://en.wikibooks.org/wiki/LaTeX}. An online tutorial book.
\item[\LaTeX 2e: An unofficial reference manual.] \url{https://latexref.xyz/dev/latex2e.html}. A comprehensive explanation of each \LaTeX\ command, from the \TeX\ User's Group.
\item[\TeX\ Stack-Exchange.]\ \url{https://tex.stackexchange.com/}. More than 250,000 answered questions, and you can ask your own!
-\item[ChatGPT.] At the time of this writing, ChatGPT, a chatbot based on a large language model, could both answer some \LaTeX-related questions and write acceptable \LaTeX\ and expl3 code.
+\item[ChatGPT.] At the time of this writing, ChatGPT, a chatbot based on a large language model, could sometimes accurately answer \LaTeX-related questions or write acceptable \LaTeX\ and expl3 code.
\end{description}
-
\vskip 30pt
\centering{\color{Red3}\Large\textbf{\textit{Good luck with your thesis and your thesis defense!}}
diff --git a/macros/latex/contrib/mitthesis/mitthesis.cls b/macros/latex/contrib/mitthesis/mitthesis.cls
index b48703d745..0a3a44310c 100644
--- a/macros/latex/contrib/mitthesis/mitthesis.cls
+++ b/macros/latex/contrib/mitthesis/mitthesis.cls
@@ -4,11 +4,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% This file provides the mitthesis LaTeX class for formatting theses according to
-%% MIT Libraries' requirements as of 2023.
+%% MIT Libraries' requirements as of 2024.
%%
%% This file's version and date:
- \def\versionno{1.11}
- \def\versiondate{2023/11/02\space}
+ \def\versionno{1.14}
+ \def\versiondate{2024/07/19\space}
%%
%% Author: John H. Lienhard, V
%% Department of Mechanical Engineering
@@ -25,7 +25,7 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2023 John H. Lienhard
+%% Copyright (c) 2024 John H. Lienhard
%%
%% 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,
@@ -57,34 +57,24 @@
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% compare version to date; \If... added to latex 2020/10/01
\providecommand\IfPackageAtLeastTF{\@ifpackagelater}% compare version to date; \If... added to latex 2020/10/01
-\providecommand\IfPackageLoadedTF{\@ifpackageloaded}% \If...added to latex 2021/11/15
+\providecommand\IfPDFManagementActiveTF{\@secondoftwo}% \If... added to latex 2021/07/23
+\providecommand\IfPackageLoadedTF{\@ifpackageloaded}% \If... added to latex 2021/11/15
+\providecommand\ClassNoteNoLine[2]{\typeout{^^JClass Note #1: #2.^^J}}% log & terminal note... added to latex 2021/11/15
\IfFormatAtLeastTF{2020/10/01}{%
- \typeout{^^JYour LaTeX format is dated \fmtversion. LaTeX distributions from 2022/11/01 or later are strongly recommended for best results^^J}
+ \ClassNoteNoLine{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX distributions from 2022/11/01 or later are strongly recommended for best results}
}{%
\ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. Formats dated 2022/11/01 or later are strongly recommended for this class. Older formats may generate errors}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past the errors for now...}%
}
-% check whether pdfmanagement (\DocumentMetadata) has been loaded (if not, fall back to hyperxmp)
+% check whether pdfmanagement (\DocumentMetadata) has been loaded (if not, fall back to hyperxmp and bookmark packages after loading hyperref)
\newif\ifmit@pdfmanagement
-\ExplSyntaxOn
- \msg_new:nnn { \ClassName } { loading_hyperxmp } { pdfmanagement\ is\ not\ active.\ Will\ load\ hyperxmp\ instead. }
- % As of 2021/07/23 we could instead use \IfPDFManagementActiveTF{true code}{false code}
- \IfFormatAtLeastTF{2020/10/01}{
- \bool_if:nTF
- {
- \bool_lazy_and_p:nn
- { \cs_if_exist_p:N \pdfmanagement_if_active_p: }
- { \pdfmanagement_if_active_p: }
- }
- { \mit@pdfmanagementtrue }
- { \mit@pdfmanagementfalse
- \msg_warning:nn { \ClassName } { loading_hyperxmp }
- }
- }{ \mit@pdfmanagementfalse
- \msg_warning:nn { \ClassName } { loading_hyperxmp }
- }
-\ExplSyntaxOff
+\IfPDFManagementActiveTF{
+ \mit@pdfmanagementtrue
+}{
+ \mit@pdfmanagementfalse
+ \ClassWarningNoLine{\ClassName}{pdfmanagement is not active. Will load hyperxmp and bookmark packages instead}
+}
% Enable pre-2020/10 formats to access essential macros later moved into LaTeX kernel
\ifdefined\NewDocumentCommand\else
@@ -163,19 +153,35 @@
%%%%%%%%%%%%% Patch table of contents, list of figures, and list of tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\RequirePackage{etoolbox}% provides \patchcmd
-
-% We'd like these sections to have pdf bookmarks and to have the two lists appear in the table of contents
+% We'd like these sections to have pdf bookmarks and to have the two lists appear in the table of contents and have
+% pdf bookmarks. This is not automatic for \chapter*, which is the format of toc, lof, and lot.
-\patchcmd{\tableofcontents}{\@starttoc{toc}}{\pdfbookmark[0]{Table of Contents}{toc}\@starttoc{toc}}{}{}
-\patchcmd{\listoffigures}{\chapter*{\listfigurename}}{\chapter*{\listfigurename}\addcontentsline{toc}{chapter}{\listfigurename}}{}{}
-\patchcmd{\listoftables}{\chapter*{\listtablename}}{\chapter*{\listtablename}\addcontentsline{toc}{chapter}{\listtablename}}{}{}
+\RequirePackage{etoolbox}% provides \patchcmd
+\patchcmd{\tableofcontents}{\contentsname}{\pdfbookmark[0]{Table of Contents}{toc}\contentsname}{}{} % placement matters.
+\patchcmd{\listoffigures}{\chapter*{\listfigurename}}{\chapter*{\phantomsection\listfigurename}\addcontentsline{toc}{frontmatter}{\listfigurename}}{}{}
+\patchcmd{\listoftables}{\chapter*{\listtablename}}{\chapter*{\phantomsection\listtablename}\addcontentsline{toc}{frontmatter}{\listtablename}}{}{}
+
+\NewCommandCopy\l@frontmatter\l@chapter
+\NewCommandCopy\l@backmatter\l@chapter
+\providecommand*{\toclevel@frontmatter}{0}% prevent warning, see hyperref manual Sec. 13.3
+\providecommand*{\toclevel@backmatter}{0}
+%% if you want different formatting for front/back matter, change here (cf. report.cls). This approach preserves tagging hooks.
+\AtBeginDocument{
+ \patchcmd{\l@frontmatter}{\bfseries}{\itshape}{}{}
+ \patchcmd{\l@frontmatter}{\nobreak\hfil}{\upshape\nobreak\hfil}{}{}
+ \patchcmd{\l@frontmatter}{1.0em}{3pt}{}{}
+ \patchcmd{\l@backmatter}{\bfseries}{\itshape}{}{}
+ \patchcmd{\l@backmatter}{\nobreak\hfil}{\upshape\nobreak\hfil}{}{}
+}
%%%%%%%%%%%%% Geometry, mathtools, graphics, design, fonts, hyperrefs, bookmarks, footnotes %%%%%%%%%%%%%%%%%%%
-%\RequirePackage[letterpaper,top=1in,bottom=0.97136in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.47136in]{geometry} % bottom margin allows 45\baselineskip in \textheight
-\RequirePackage[letterpaper,top=1in,bottom=1in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.5in,heightrounded]{geometry} % 44\baselineskip = \texteheight - \topskip = 650.0pt - 12pt with rounded height
+%\RequirePackage[letterpaper,top=1in,bottom=0.97136in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.47136in]{geometry}
+% bottom margin allows 45\baselineskip in \textheight
+
+\RequirePackage[letterpaper,top=1in,bottom=1in,left=1in,right=1in,marginparwidth=50pt,headsep=12pt,footskip=0.5in,heightrounded]{geometry}
+% 44\baselineskip = \texteheight - \topskip = 650.0pt - 12pt with rounded height
\RequirePackage{mathtools}% loads and extends amsmath; must load before hyperref and unicode-math
@@ -198,16 +204,17 @@
https://ctan.org/tex-archive/macros/latex/contrib/mitthesis/MIT-thesis-template.}%
}%
\else
- \RequirePackage[hyperref,dvipsnames,svgnames,x11names]{xcolor}
+ \RequirePackage[dvipsnames,svgnames,x11names]{xcolor}
%
\RequirePackage{caption,subcaption}
%
\RequirePackage{titlesec}
% these titlesec commands just automate the bold math in some headings (rest follows default styles)
% NOT every font includes a bold math version, so you may need to use other math macros in the headings to get bold math <==
- \titleformat{\section}{\mathversion{bold}\normalfont\Large\bfseries}{\thesection }{1em}{}
+ % Predefined fontsets for which bold math exists are: CMR, Fira, Libertinus, Lucida, newtx
+ \titleformat{\section}{\mathversion{bold}\normalfont\Large\bfseries}{\thesection}{1em}{}
\titleformat{\subsection}{\mathversion{bold}\normalfont\large\bfseries}{\thesubsection}{1em}{}
- \titleformat{\subsubsection}{\mathversion{bold}\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
+ \titleformat{\subsubsection}{\mathversion{bold}\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
%
\AtBeginDocument{
\hypersetup{
@@ -226,21 +233,21 @@
\RequirePackage{iftex}[2019/11/07]% provides \ifpdftex, etc.
-\typeout{^^JFontset key is \mit@fontset.^^J}
+\ClassNoteNoLine{\ClassName}{Fontset key is \mit@fontset}
\IfFileExists{fontsets/\ClassName-\mit@fontset.tex}{% 2023/07/03
\input{fontsets/\ClassName-\mit@fontset.tex}
}{%
- \ClassWarning{\ClassName}{^^JFontset file \ClassName-\mit@fontset.tex or subdirectory fontsets not found, will look for \mit@fontset.tex in your working directory.}
+ \ClassWarning{\ClassName}{Fontset file \ClassName-\mit@fontset.tex or subdirectory fontsets not found, will look for \mit@fontset.tex in your working directory}
\IfFileExists{\mit@fontset.tex}{% 2023/08/30
\input{\mit@fontset.tex}
}{
- \ClassWarning{\ClassName}{^^JFontset file \mit@fontset.tex not found, using default fonts. You may need to place the fontset file into your working directory.}
+ \ClassWarning{\ClassName}{Fontset file \mit@fontset.tex not found, using default fonts. You may need to place the fontset file into your working directory}
\ifpdftex
- \typeout{^^JLoading Computer Modern text and math fonts (default for pdftex).^^J}
+ \ClassNoteNoLine{\ClassName}{Loading Computer Modern text and math fonts (default for pdftex)}
\RequirePackage[T1]{fontenc}
\RequirePackage{bm}
\else
- \typeout{^^JLoading Latin Modern text and math fonts (default for unicode engines).^^J}
+ \ClassNoteNoLine{\ClassName}{Loading Latin Modern text and math fonts (default for unicode engines)}
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math.
% Unicode-math loads fontspec package, but default fonts are not selected by fontspec in this case.
@@ -251,15 +258,18 @@
%%%%%%%%%%%% Hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage[psdextra]{hyperref}
-% the new pdf-management scheme loads the bookmarks package internally.
% authors should use hypersetup to set details, in root .tex file
\urlstyle{same} % this changes font for \url to the current text font
-\providecommand\hrefurl[2]{\href{#1}{#2}}% in case \DocumentMetadata has not been loaded
\RequirePackage{doi} % create macro for hyperlinking doi numbers
+%% In case \DocumentMetadata was not loaded
+\providecommand\hrefurl[2]{\href{#1}{#2}}
+
+% pdfmanagement loads bookmarks package internally
\ifmit@pdfmanagement\else
\RequirePackage{hyperxmp}
+ \RequirePackage{bookmark}
\fi
% the user can alter these choices in the preamble, or by
@@ -289,7 +299,7 @@
\pdfstringdefDisableCommands{%
\def\bm#1#{\relax}%
}
-%%% Let's disable \( and \) in pdf bookmarks
+%% Let's disable \( and \) in pdf bookmarks
\pdfstringdefDisableCommands{%
\def\({\relax}%
\def\){\relax}%
@@ -312,10 +322,22 @@
\def\footnote#1{}%
}
+%%% Here's a more cumbersome removal of the warning for $ (math shift) in pdfbookmarks.
+%%% Not implementing this by default, since novice authors may benefit from the warning.
+%%% https://tex.stackexchange.com/a/620360/119566
+%\let\oldHyPsd@CatcodeWarning\HyPsd@CatcodeWarning
+%\renewcommand{\HyPsd@CatcodeWarning}[1]{%
+% \ifnum\pdfstrcmp{#1}{math shift}=0 % If 'math shift' is present, do nothing
+% \else
+% \oldHyPsd@CatcodeWarning{#1}% % else, keep usual warning.
+% \fi
+%}
\ExplSyntaxOn
%\debug_on:n {all}
+\prop_gput:Nnn \g_msg_module_type_prop { \ClassName } { Class }
+
%%%%%%%%%% Commas between successive footnotes %%%
\cs_new:Npn \__mitthesis_NoteComma:n { \peek_meaning:NT \footnote {\textsuperscript{\mdseries,}} }
@@ -346,11 +368,10 @@
}
\msg_new:nnnn { \ClassName } { wrong_month } {The\ degree\ month\ must\ be\ one\ of\ February,\ May,\ June,\ or\ September.} {You\ cannot\ use\ #1\ as\ the\ degree\ month.}
-\cs_generate_variant:Nn \text_titlecase:n {o,V}
\NewDocumentCommand\DegreeDate{mm}{% {month}{year}
\__dd_setdates:nn {#1}{#2}
- \cs_new:Npn \DegreeMonth { \text_titlecase:V { \g__dd_month_tl } }
- \cs_new:Npn \DegreeYear { \text_titlecase:V { \g__dd_year_tl } }
+ \cs_new:Npn \DegreeMonth { \text_titlecase_first:n { \text_lowercase:n \g__dd_month_tl } }
+ \cs_new:Npn \DegreeYear { \text_expand:n { \g__dd_year_tl } }% edited 2024/06/24
}
\msg_new:nnnn { \ClassName } { no_degree_date } {Missing\ degree\ date!}{
You\ MUST\ issue\ the\ \DegreeDate{month}{year}\ command\ between\ \string\begin{document}\ and\ \string\maketitle.}
@@ -516,7 +537,6 @@
\seq_new:N \g_supervisor_title_seq
\int_gzero_new:N \g_supervisor_supervisorcnt_int
-
\NewDocumentCommand\Supervisor{mm}{
\tl_if_blank:nTF{#1}{
\msg_error:nn { \ClassName } { blank_supervisor }
@@ -535,11 +555,27 @@
\cs_new_protected:Nn \__supervisor_data_add:nn
{
\int_gincr:N \g_supervisor_supervisorcnt_int
- \seq_gput_right:cx { g_supervisor_name_seq } { \tl_trim_spaces:n {#1} }
+ \seq_gput_right:cx { g_supervisor_name_seq } { \tl_trim_spaces:n {#1} }
\seq_gput_right:cx { g_supervisor_title_seq } { \tl_trim_spaces:n {#2} }
}
-
+\tl_new:N \g_titlepage_supervisor_designation_tl
+\tl_new:N \g_abstract_supervisor_designation_tl
+\tl_gset:Nn \g_titlepage_supervisor_designation_tl {Thesis\ Supervisor}
+\tl_gset:Nn \g_abstract_supervisor_designation_tl {Thesis\ supervisor}% style from MIT Libraries
+
+% If for some reason you need to change "Thesis Supervisor" to a different string (say, "Doctoral Advisor")
+% This construction removes leading and trailing spaces and lowercases the string.
+\NewDocumentCommand\SupervisorDesignation{ m } {
+ \tl_gset:Nn \g_titlepage_supervisor_designation_tl
+ { \cs_if_exist:NTF \text_titlecase_all:n % not def'd until 2023/07/08
+ { \text_titlecase_all:n { \text_lowercase:n { \tl_trim_spaces:n {#1} } } }
+ { \tl_trim_spaces:n {#1} }
+ }
+ \tl_gset:Nn \g_abstract_supervisor_designation_tl
+ { \text_titlecase_first:n { \text_lowercase:n { \tl_trim_spaces:n {#1} } } }
+ }
+
\cs_new:Nn \__supervisor_abstractblock: {
\int_zero_new:N \l__supervisor_supervisorno_int
\int_incr:N \l__supervisor_supervisorno_int
@@ -549,11 +585,13 @@
\msg_error:nn { \ClassName } { no_supervisor }
}
{\int_until_do:nNnn { \l__supervisor_supervisorno_int } = { \g_supervisor_supervisorcnt_int } {
- Thesis\ supervisor:\space \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par
+ \g_abstract_supervisor_designation_tl :\space
+ \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par
Title:\space \seq_item:cn { g_supervisor_title_seq } { \l__supervisor_supervisorno_int }\par\medskip
\int_incr:N \l__supervisor_supervisorno_int
}
- Thesis\ supervisor:\space \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par
+ \g_abstract_supervisor_designation_tl :\space
+ \seq_item:cn { g_supervisor_name_seq } { \l__supervisor_supervisorno_int }\par
Title:\space \seq_item:cn { g_supervisor_title_seq } { \l__supervisor_supervisorno_int }\ignorespaces
}
}
@@ -593,8 +631,8 @@
{ Missing\ acceptor\ department,\ check\ for\ blank\ in\ \Acceptor{name}{department}{title}\ command. }{
You\ MUST\ provide\ the\ acceptor's\ department\ using\ the\ \Acceptor{name}{department}{title}\ command.}
\msg_new:nnn { \ClassName } { blank_acceptor_title }
- { Missing\ acceptor\ title\ (blank\ in\ \Acceptor{name}{department}{title}\ command).\ Perhaps\ you\ are\ trying\ to\ save\ vertical\ space?\
- You\ can\ put\ the\ acceptor\ title\ into\ department\ field\ instead.\ For\ consistency,\ I\ will\ omit\ titles\ of\ ALL\ acceptors.}
+ { Missing\ acceptor\ title\ (blank\ in\ \Acceptor{name}{department}{title}\ command).\space Perhaps\ you\ are\ trying\ to\ save\ vertical\ space?\space
+ You\ can\ put\ the\ acceptor\ title\ into\ department\ field\ instead.\space For\ consistency,\ I\ will\ omit\ titles\ of\ ALL\ acceptors.}
\cs_new_protected:Nn \__acceptor_data_add:nnn
{
@@ -607,36 +645,56 @@
%%%%%%%%%% End Acceptor Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%% Degree Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%% Degree Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% extensive edits 2024/06/25
\seq_new:N \g_degree_name_seq
\seq_new:N \g_degree_department_seq
\int_gzero_new:N \g_degree_degreecnt_int
-\int_gzero_new:N \g__degree_degreeflag_int
+\int_gzero_new:N \g_degree_deptcnt_int
\NewDocumentCommand\Degree{mm}
{
- \tl_if_blank:nTF {#1} {
- \msg_error:nn { \ClassName } { blank_degree }
- }{
- \__degree_data_add:nn { #1 } { #2 }
- }
- \tl_if_blank:nT {#2} {
- \int_gset_eq:NN \g__degree_degreeflag_int \g_degree_degreecnt_int
- \msg_warning:nnx { \ClassName } { blank_degree_dep } { \int_to_arabic:n { \g__degree_degreeflag_int } }
- \tl_if_blank:nT {#1} { \int_gincr:N \g__degree_degreeflag_int }% in case both are blank
- }
+ \int_compare:nNnTF { \g_degree_deptcnt_int } = {0} {
+ \tl_if_blank:nTF {#1} {
+ \msg_error:nn { \ClassName } { no_degree_name }
+ }{
+ \__degree_data_add:nn { #1 } { #2 }
+ \int_gincr:N \g_degree_degreecnt_int
+ }
+ \tl_if_blank:nT {#2} {
+ \msg_error:nn { \ClassName } { no_degree_dep }
+ }{
+ \int_gincr:N \g_degree_deptcnt_int
+ }
+ }{
+ \tl_if_blank:nTF {#1} {
+ \msg_warning:nn { \ClassName } { blank_degree }
+ }{
+ \__degree_data_add:nn { #1 } { #2 }
+ \int_gincr:N \g_degree_degreecnt_int
+ }
+ \tl_if_blank:nTF {#2} {
+ \msg_warning:nn { \ClassName } { blank_degree_dep }
+ }{
+ \int_gincr:N \g_degree_deptcnt_int
+ \tl_if_blank:nT {#1} { % in case department is blank
+ \__degree_data_add:nn { #1 } { #2 }
+ }
+ }
+ }
}
+
\cs_new_protected:Nn \__degree_data_add:nn
{
- \int_gincr:N \g_degree_degreecnt_int
\seq_gput_right:cx { g_degree_name_seq } { \tl_trim_spaces:n {#1} }
\seq_gput_right:cx { g_degree_department_seq } { \tl_trim_spaces:n {#2} }
}
-\msg_new:nnnn { \ClassName } { blank_degree } {Missing\ degree\ name,\ check\ for\ blank\ in\ \Degree\ command.}
- {You\ MUST\ provide\ a\ degree\ name\ using\ the\ \Degree{name}{department}\ command.}
-\msg_new:nnnn { \ClassName } { blank_degree_dep } {Missing\ degree\ department\ for\ Degree\ command\ number\
- #1.\ Will\ treat\ as\ a\ duplicate\ of\ previous\ department.}{}
+\msg_new:nnnn { \ClassName } { no_degree_name } {Missing\ degree\ name,\ check\ for\ blank\ in\ \Degree\ command.}
+ {You\ MUST\ provide\ at\ least\ one\ degree\ name\ using\ the\ \Degree{name}{department}\ command.}
+\msg_new:nnnn { \ClassName } { no_degree_dep } {Missing\ degree\ department\ for\ Degree\ command.}
+ {You\ MUST\ provide\ at\ least\ one\ department\ name\ using\ the\ \Degree{name}{department}\ command.}
+\msg_new:nnnn { \ClassName } { blank_degree } {Missing\ degree\ name\ in\ second\ Degree\ command.\ Will\ treat\ as\ two\ departments\ issuing\ one\ degree.}{}
+\msg_new:nnnn { \ClassName } { blank_degree_dep } {Missing\ degree\ department\ in\ second\ \ Degree\ command.\ Will\ treat\ as\ one\ department\ issuing\ two\ degrees.}{}
\int_zero_new:N \l__degree_degreeno_int
\int_zero_new:N \l__degree_departmentno_int
@@ -651,20 +709,18 @@
\int_incr:N \l__degree_departmentno_int
\cs_new:Nx \__degree_prevdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } }
\cs_new:Nn \__degree_currdept: {}
- \mbox {Submitted\ to\ the\ } \mbox {\__degree_prevdept:}
- \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_degreecnt_int } {
+% \mbox {Submitted\ to\ the\ } \mbox {\__degree_prevdept:}
+ {Submitted\ to\ the\ \__degree_prevdept:}
+ \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_deptcnt_int } {
\int_incr:N \l__degree_departmentno_int
\cs_set:Nx \__degree_currdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } }
- \int_compare:nNnTF { \l__degree_departmentno_int } = {\g__degree_degreeflag_int } { \scan_stop: }
- {
- \mbox {\ and\ the}\linebreak
- \mbox {\__degree_currdept: }
- }
- }
+ \mbox {\ and}\linebreak
+ \mbox {the\ \__degree_currdept: }
+ }
\linebreak \mbox {in\ partial\ fulfillment\ of\ the\ requirements\ for\ the\
\int_compare:nNnTF { \g_degree_degreecnt_int } > {1} {degrees} {degree}
\ of}
- \par%\medskip, removed 2023/10/25 to work better with four block layout of title page
+ \par
\int_until_do:nNnn { \l__degree_degreeno_int } = { \g_degree_degreecnt_int } {
\text_uppercase:n {\seq_item:cn { g_degree_name_seq } { \l__degree_degreeno_int }}\par and\par
\int_incr:N \l__degree_degreeno_int
@@ -681,16 +737,14 @@
\int_set:Nn \l__degree_departmentno_int {1}
\cs_set:Nx \__degree_prevdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } }
\cs_set:Nn \__degree_currdept: {}
- \mbox {Submitted\ to\ the\ }\mbox{\__degree_prevdept:}
- \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_degreecnt_int } {
- \int_incr:N \l__degree_departmentno_int
+% \mbox {Submitted\ to\ the\ }\mbox {\__degree_prevdept:} % changed 2024/4/20
+ {Submitted\ to\ the\ \__degree_prevdept:}
+ \int_until_do:nNnn { \l__degree_departmentno_int } = { \g_degree_deptcnt_int } {
+ \int_incr:N \l__degree_departmentno_int
\cs_set:Nx \__degree_currdept: {\seq_item:cn { g_degree_department_seq } { \l__degree_departmentno_int } }
- \int_compare:nNnTF { \g__degree_degreeflag_int } = { \g_degree_degreecnt_int } { \scan_stop: }
- {
- \mbox {\ and\ the}\linebreak
- \mbox { \__degree_currdept: }
- }
- }
+ \mbox {\ and}\linebreak
+ \mbox {the\ \__degree_currdept: }
+ }
\linebreak \mbox{on\ \g_dd_thesisdate_tl\ in\ partial\ fulfillment\ of\ the\ requirements\ for\ the\
\int_compare:nNnTF { \g_degree_degreecnt_int } > {1} {degrees} {degree}
\ of}
@@ -749,7 +803,8 @@
\int_do_while:nNnn { \g__signature_supno_int } < { \g_supervisor_supervisorcnt_int } {
\int_gincr:N \g__signature_supno_int
Certified\ by: \> \seq_item:cn { g_supervisor_name_seq } { \g__signature_supno_int } \\
- \> \seq_item:cn { g_supervisor_title_seq } { \g__signature_supno_int },\ Thesis\ Supervisor\\[1em]
+ \> \seq_item:cn { g_supervisor_title_seq } { \g__signature_supno_int },\
+ \g_titlepage_supervisor_designation_tl \\[1em]
}
\int_compare:nNnF { \g_acceptor_acceptorcnt_int } = {0} {
\int_do_while:nNnn { \g__signature_accno_int } < { \g_acceptor_acceptorcnt_int } {
@@ -883,12 +938,12 @@
\tl_gset:Nn \g_copyright_copyrightlicencse_tl
{This\ work\ is\ licensed\ under\ a\ \mbox{\g_copyright_cclicensetext_tl}\ license.\par\g_copyright_mitpermission_tl}
\tl_gset:Nn \g_copyright_pdfrightstext_tl
- {This\ work\ is\ licensed\ under\ a\ \g_copyright_ccname_tl\ license.\ \g_copyright_mitpermission_tl}
+ {This\ work\ is\ licensed\ under\ a\ \g_copyright_ccname_tl\ license.\space \g_copyright_mitpermission_tl}
}{
\tl_gset:Nn \g_copyright_copyrightlicencse_tl
{All\ rights\ reserved. \par\g_copyright_mitpermission_tl}
\tl_gset:Nn \g_copyright_pdfrightstext_tl
- {All\ rights\ reserved.\ \g_copyright_mitpermission_tl}
+ {All\ rights\ reserved.\space \g_copyright_mitpermission_tl}
}
\int_compare:nNnTF {\g_author_authorcnt_int} > {1}
{
@@ -908,8 +963,10 @@
{\centering \vbox_to_ht:nn { \vsize }% to prevent signature block from breaking across page
{
\setlength{\parskip}{7.5pt plus 1pt minus 1pt}% edited all vertical space on this page 2023/10/25
- \setlength{\parindent}{0pt}
- {\Large\textbf{\g_mitthesis_title_tl}\phantomsection\addcontentsline{toc}{chapter}{Title\ page}\par} % revise for tagging in future
+ \setlength{\parindent}{0pt}\pdfbookmark[0]{Title\ page}{titlepage}
+ {\Large\textbf{\g_mitthesis_title_tl}
+ %\phantomsection\addcontentsline{toc}{chapter}{Title\ page}
+ \par}
\__titlepage_blockskip:nn {12}{1.5}% new idea
\__author_block:
\__titlepage_blockskip:nn {12}{1.5}
@@ -925,7 +982,7 @@
}
}
\hypersetup{
- pdfcopyright={Copyright\ \DegreeYear\ by\ \CopyrightAuthor.\ \g_copyright_pdfrightstext_tl},
+ pdfcopyright={Copyright\ \DegreeYear\ by\ \CopyrightAuthor.\space \g_copyright_pdfrightstext_tl},
pdfauthor={\g__author_pdfca_tl},
pdfcaptionwriter = {\g__author_pdfca_tl},
}
@@ -937,14 +994,17 @@
%%%%%%%%%% Abstract page Module %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% to change abstract name, follow either of these approaches in your preamble:
+% to change abstract name (e.g., to "Summary"), follow either approach in your preamble:
% \RenewExpandableDocumentCommand\abstractname{}{Summary}
% \renewcommand\abstractname{Summary}
\RenewDocumentEnvironment{abstract}{+b}{
\newpage
\begin{center}
- {\large{\textbf{\g_mitthesis_title_tl}}\phantomsection\addcontentsline{toc}{chapter}{\abstractname}\par} % revise for tagging as LaTeX evolves further
+ \pdfbookmark[0]{Abstract}{abstract}
+ {\large{\textbf{\g_mitthesis_title_tl}}
+ %\phantomsection\addcontentsline{toc}{chapter}{\abstractname}
+ \par}
\setlength{\parskip}{0.5\baselineskip plus 2pt minus 2pt}
\__author_abstractblock:
\par
@@ -992,11 +1052,12 @@
% Increase first optional argument to a dimension > 2em if wide entries cause undesired misalignment of columns.
% Second optional argument can be used to rename the environment, e.g., to List of Symbols.
% Third optional argument selects section-level or chapter-level style for the nomenclature list.
+\newcounter{dummy}% for tagging code
\NewDocumentEnvironment{nomenclature}{O{2em} O{\nomname} O{section}}{%
\setlength\columnsep{2em}
\setlength{\nomenwidth}{#1}
\csname #3\endcsname *{#2}% this level will vary amongst users!
- \phantomsection\addcontentsline{toc}{#3}{#2}% tagged pdf may not capture both of these ... 2023/10/18
+ \refstepcounter{dummy}\addcontentsline{toc}{#3}{#2}% \refstepcounter is a hack until tagging code evolves more
\raggedright
\begin{list}{}{%
\setlength{\itemsep}{0pt}%
diff --git a/macros/latex/contrib/moderncv/CHANGELOG b/macros/latex/contrib/moderncv/CHANGELOG
index 245eda72b7..bcfdad1373 100644
--- a/macros/latex/contrib/moderncv/CHANGELOG
+++ b/macros/latex/contrib/moderncv/CHANGELOG
@@ -1,371 +1,396 @@
-version 2.3.1 (2022-02-21)
-- Fix duplicate GitLab icon (#105)
-- Revert using detokenize in social links (#97)
-- Fix broken compilation in classic style (#96)
-
-version 2.3.0 (2021-12-16)
-- Remove font loading from class (#87)
-- Add Matrix and Signal icon (#84)
-- Improved symbol loading (#84)
-
-version: 2.2.0 (2021-07-28)
-- Remove dot in cventry when using moderncvbodyi.
+version 2.4.1 (18 Jul 2024)
+- Fix commons/colors.tex not found in package (#194)
+
+version 2.4.0 (08 Jul 2024)
+- Rewrote user guide, thanks to David Seus (#58, #106, #169).
+- Fixed "Underfull \hbox (badness 10000)" warning in \makecvtitle (#162).
+- Fixed unnecessary academicons warning when academicons aren't used (#161).
+- Fixed page counts unnecessarily linking to the last page of the PDF (#159).
+- Added support for an optional signature in the cover letter (#157).
+- Added support for non-ASCII characters in links (#155).
+- Added option to force a homepage link to use HTTP rather than HTTPS (#154).
+- Passed unicode option directly to hyperref to avoid conflicts with the
+ inclusion of hyperref by other packages (#148).
+- Fixed the sender block on the cover letter in banking style (#146).
+- Added option to classic style to align header elements at the top (#144).
+- Added Twitch, YouTube, TikTok, Instagram, SoundCloud, Steam, Xbox, PlayStation
+ and Battle.net social icons (#131).
+- Removed extra dash in PDF metadata when CV title is empty (#116).
+- Added support for an optional subject line in the cover letter (#114).
+- Added Discord social icon (#112).
+- Replace instances of ~~~ in codebase with \hspace to be more compatible with
+ babel for Spanish (#109).
+- Added Codeberg and Mastodon social icons (#107).
+- New \social options: arXiv, INSPIRE (#185)
+- Systematize colors and make them user adjustable. See documentation for details.
+ This requires the \moderncvcolor to be issued BEFORE \moderncvstyle (#151).
+- all styles: make the head options 'details' and 'nodetails' available to the user. (previously they were hidden). Oldstyle does not respond too well to nodetails (#150).
+- casual style: make the head options 'alternate', 'details' and 'nodetails' available to the user. (previously they were hidden) (#150).
+- Setting \listitemsymbolspace allows custom spacing between list symbol and text item (for \cvlistitem and \cvlistdoubleitem) (#74).
+- Introducing \cvtripleitem command for items in three columns. Closing feature request #174.
+- Fixed wrong cvlistitem vspace caused by multiline section titles in fancy style (#69).
+
+version 2.3.1 (21 Feb 2022)
+- Fix duplicate GitLab icon (#105).
+- Revert using detokenize in social links (#97).
+- Fix broken compilation in classic style (#96).
+
+version 2.3.0 (16 Dec 2021)
+- Remove font loading from class (#87).
+- Add Matrix and Signal icon (#84).
+- Improved symbol loading (#84).
+
+version: 2.2.0 (28 Jul 2021)
+- Remove dot in \cventry when using moderncvbodyi.
+
- Remove http baseurl in hyperref.
-- Change font encoding to use fontspec with Latin Modern for luatex and xetex,
+- Change font encoding to use fontspec with Latin Modern for LuaTeX and XeTeX,
else inputenc / fontenc / lmodern (https://tex.stackexchange.com/a/496643).
- Add birthdate field command.
- Add Social entries for WhatsApp, Signal and Matrix.
- Fix Researcher ID not showing (#29).
-- Make options 'symbols' and 'nosymbols' available to all styles to toggle whether
- symbols should be used or not. Include symbols in oldstyle by default.
-- Migrate older newcommand syntax in moderncvcollection.sty to the xparse syntax.
+- Make options "symbols" and "nosymbols" available to all styles to toggle
+ whether symbols should be used or not. Include symbols in oldstyle by default.
+- Migrate older newcommand syntax in moderncvcollection.sty to xparse syntax.
- Fix resumé typo in template. Is now résumé.
- Various other minor fixes.
version 2.1.0 (21 Jan 2021)
-- maintainer change: now team maintained (https://github.com/moderncv), since
- original repository is basically dead since 2016.
-- new \social options: Xing, Skype, GitLab, Bitbucket, stack overflow, ORCID,
- ResearcherID, ResearchGate, Telegram and Google Scholar
-- hyperlinks in phone numbers
-- switch from l3regex to expl3
-- new skill matrix feature
-- move to fonawesome5 package
-- default to https
+- Maintainer change: now team maintained (https://github.com/moderncv), since
+ original repository has been basically dead since 2016.
+- New \social options: Xing, Skype, GitLab, Bitbucket, stack overflow, ORCID,
+ ResearcherID, ResearchGate, Telegram and Google Scholar.
+- Hyperlinks in phone numbers.
+- Switch from l3regex to expl3.
+- New skill matrix feature.
+- Move to fontawesome5 package.
+- Default to https.
version 2.0.0 (28 Jul 2015)
- - refactored the code into heads, body, foot and icon substyles. All styles
- (classic, casual, banking and oldstyle) are just a combination of these and
- some font selection. Mixing substyles (e.g., the banking header with the
- classic body) is now trivial by using the \moderncvhead, \moderncvbody,
- \moderncvfoot and \moderncvicons commands. Each of these take a substyle number
- as argument. \moderncvcolor takes a color name as argument.
- - added a new style, "fancy".
- - added an optional argument to \moderncvstyle to specify style options, i.e.
- \moderncvstyle[options]{style}. Below is a list of the available options per
- style:
- * classic
- > to specify of one's name should appear left or right at the top: "left"
- (default) or "right;
- * casual
- > to specify of one's name should appear left or right at the top: "left"
- (default) or "right;
- * banking
- > to specify how the section- and subsectionrules should be set:
- "fullrules", "shortrules", "mixedrules" (default; full rules for sections,
- short rules for subsections), "centered" (fullrules with centered title)
- and "norules" (norules, small caps font);
- > to specify how the body should be aligned: left" (default), "center" or
- "right";
- * oldstyle & fancy
- n/a
- - added a new color variant: "burgundy".
- - corrected the color of \addressstyle to match the one effectively used
- (color2).
- - adjusted the bibliography spacing to handle entries with or without labels.
- - added a check on the emptyness of \title when setting the hyperref document
- properties.
+- Refactored the code into heads, body, foot and icon substyles. All styles
+ (classic, casual, banking and oldstyle) are just a combination of these and
+ some font selection. Mixing substyles (e.g., the banking header with the
+ classic body) is now trivial by using the \moderncvhead, \moderncvbody,
+ \moderncvfoot and \moderncvicons commands. Each of these take a substyle
+ number as argument. \moderncvcolor takes a color name as argument.
+- Added a new style: fancy.
+- Added an optional argument to \moderncvstyle to specify style options, i.e.
+ \moderncvstyle[options]{style}. Below is a list of the available options per
+ style:
+ * classic
+ > to specify where at the top one's name should appear: "left" (default) or
+ "right;
+ * casual
+ > to specify where at the top one's name should appear: "left" (default) or
+ "right;
+ * banking
+ > to specify how the section and subsection rules should be set:
+ "fullrules", "shortrules", "mixedrules" (default; full rules for sections,
+ short rules for subsections), "centered" (fullrules with centered title)
+ and "norules" (norules, small caps font);
+ > to specify how the body should be aligned: left" (default), "center" or
+ "right";
+ * oldstyle & fancy
+ > n/a
+- Added a new color variant: "burgundy".
+- Corrected \addressstyle color to match the one effectively used (color2).
+- Adjusted the bibliography spacing to handle entries with or without labels.
+- Added a check on the emptiness of \title when setting the hyperref document
+ properties.
version 1.5.1 (29 Apr 2013)
- - made sure that XeLaTeX or LuaLaTeX is in use before loading the awesome icon
- set and if not, revert to the marvosym icon set.
+- Made sure that XeTeX or LuaTeX is in use before loading the awesome icon set
+ and if not, revert to the marvosym icon set.
version 1.5.0 (23 Apr 2013)
- - added a command to showcase social accounts in one's personal information:
- \social. The command currently handles automatically LinkedIn, Twitter and
- Github accounts, and other links can be provided explicitly.
- - added a new icon set: "awesome" (using the icons from the Font Awesome font).
- - set the "awesome" icon set as the default for the "casual" and "banking"
- style variants (can be changed back with \moderncvicons{marvosym}).
- - forced all the icons of the "letters" icon set to be of the same width, for
- alignment purpose.
- - added a letter icon ("W") for the homepage of the "letters" icon set.
- - forced some white space between the main text and the footer of the "casual"
- style variant.
- - removed the rule below the headings of the cvcolumns environment.
+- Added a command to showcase social accounts in one's personal information:
+ \social. The command currently handles LinkedIn, Twitter and Github accounts
+ automatically, and other links can be provided explicitly.
+- Added a new icon set: "awesome" (using the icons from the Font Awesome font).
+- Set the "awesome" icon set as the default for the casual and banking styles
+ (can be changed back with \moderncvicons{marvosym}).
+- Forced all the icons of the "letters" icon set to be of the same width, for
+ alignment purposes.
+- Added a letter icon ("W") for the homepage of the "letters" icon set.
+- Forced some whitespace between the main text and the footer of the casual
+ style.
+- Removed the rule below the headings of the cvcolumns environment.
version 1.4.0 (28 Mar 2013)
- - deprecated \phone, \mobile and \fax in favour of \phone[<type>], where <type>
- can be "fixed" (default), "mobile" or "fax". As part of the change, one can now
- use each of these multiple times, to e.g. display multiple mobile phone numbers.
- - deprecated \firstname and \familyname in favour of \name{<first>}{<last>}.
- - added a new mechanism to select amongs different possible icon sets:
- \moderncvicons{<iconsetname>}, where <iconsetname> can be "marvosym" (used by
- default in the "banking", "casual" and "classic" style variants) or "letters"
- (used by default in the "oldstyle" style variant). \moderncvicons should
- always be called after \moderncvstyle in order to override the style variants
- defaults.
- - added a command to control the font of the page numbering: \pagenumberfont,
- as requested by fr1a1nky (launchpad question #224496).
- - removed the use of the suffix package.
+- Deprecated \phone, \mobile and \fax in favour of \phone[<type>], where <type>
+ can be "fixed" (default), "mobile" or "fax". As part of the change, one can
+ now use each of these multiple times, e.g. to display multiple mobile phone
+ numbers.
+- Deprecated \firstname and \familyname in favour of \name{<first>}{<last>}.
+- Added a new mechanism to select amongs different possible icon sets:
+ \moderncvicons{<iconsetname>}, where <iconsetname> can be "marvosym" (used by
+ default in the banking, casual and classic styles) or "letters" (used by
+ default in the oldstyle style). \moderncvicons should always be called after
+ \moderncvstyle in order to override the styles' defaults.
+- Added a command to control the font of the page numbering: \pagenumberfont, as
+ requested by fr1a1nky (launchpad question #224496).
+- Removed the use of the suffix package.
version 1.3.0 (09 Feb 2013)
- - added a new environment to create multiple columns: cvcolumns. Each column
- is then created by \cvcolumn[width]{header}{content}, where the optional width
- is given as a fraction of the total width (between 0 and 1). The header and
- content are robust and can contain any paragraph command (e.g., a nest itemize
- environment).
- - added a macro (\pdfpagemode) to control what is visible upon opening compiled
- pdfs (assuming pdf reader support), as suggested by U. Stöhr.
- Possible values include: "UseNone" (only the document), "UseThumbs" (show
- thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in
- fullscreen mode).
- - added a 3rd, fully optional (can be omitted or left blank) argument to
- \address to specify a country, as requested on launchpad (launchpad bug
- #1063995).
- - compacted list environments further.
- - replaced the use of the xargs package by the xparse one.
+- Added a new environment to create multiple columns: cvcolumns. Each column is
+ then created by \cvcolumn[width]{header}{content}, where the optional width is
+ given as a fraction of the total width (between 0 and 1). The header and
+ content are robust and can contain any paragraph command (e.g., a nested
+ itemize environment).
+- Added a macro (\pdfpagemode) to control what is visible upon opening compiled
+ PDFs (assuming PDF reader support), as suggested by U. Stöhr.
+ Possible values include: "UseNone" (only the document), "UseThumbs" (show
+ thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in
+ fullscreen mode).
+- Added a 3rd, fully optional (can be omitted or left blank) argument to
+ \address to specify a country, as requested on launchpad (launchpad bug
+ #1063995).
+- Compacted list environments further.
+- Replaced the use of the xargs package by the xparse one.
version 1.2.1 (04 Dec 2012)
- - fixed a regression bug introduced in version 1.2.0 in the header of the
- "banking" style when no title is used, as reported on tex.stackexchange
- (question #85427).
+- Fixed a regression bug introduced in v1.2.0 in the header of the banking style
+ when no title is used, as reported on tex.stackexchange (question #85427).
version 1.2.0 (31 Oct 2012)
- - updated the "banking" style header to include the option to show a title.
- - set the values of \arrayrulewidth and \doublerulesep to their standard values
- (0.4pt and 2pt resp.) to enable the drawing of rules in tabulars and arrays by
- default.
- - modified the code of \makecvtitle and \makelettertitle of the "casual" style
- to avoid it to cause horizontal alignment issues after and before itself.
- - corrected a bug in \makelettertitle of most styles that displayed the current
- date (\today) instead of the date given through the \date command, as reported
- by B. Schlimmchen and S. Fnord.
- - removed the need to set pdfpagelabels=false when loading hyperref, by putting
- \pagenumbering{arabic} (to define \thepage) before loading hyperref, as figured
- out by J. Wolf.
- - corrected the line wrapping of \cvlistitem of the "banking" style.
- - corrected a bug in \makecvtitle and \makelettertitle of the "banking" style.
- - removed an unwanted space in the footer of the "casual" style.
- - moved the font style definitions to moderncv.cls for better readability
- (moderncv.cls is meant to be a sort of header file, implementing only some
- macros shared by all styles and defining the macros that the style files need
- to implement).
+- Updated the banking style header to include the option to show a title.
+- Set the values of \arrayrulewidth and \doublerulesep to their standard values
+ (0.4pt and 2pt, respectively) to enable the drawing of rules in tabulars and
+ arrays by default.
+- Modified the code of \makecvtitle and \makelettertitle of the casual style to
+ avoid it causing horizontal alignment issues before and after itself.
+- Corrected a bug in \makelettertitle of most styles that displayed the current
+ date (\today) instead of the date given through the \date command, as reported
+ by B. Schlimmchen and S. Fnord.
+- Removed the need to set pdfpagelabels=false when loading hyperref by putting
+ \pagenumbering{arabic} (to define \thepage) before loading hyperref, as
+ figured out by J. Wolf.
+- Corrected the line wrapping of \cvlistitem of the banking style.
+- Corrected a bug in \makecvtitle and \makelettertitle of the banking style.
+- Removed an unwanted space in the footer of the casual style.
+- Moved the font style definitions to moderncv.cls for better readability
+ (moderncv.cls is meant to be a sort of header file, implementing only some
+ macros shared by all styles and defining the macros that the style files need
+ to implement).
version 1.1.3 (10 Aug 2012)
- - corrected a longstanding issue causing hyperref to issue two warnings
- regarding its "pdfpagelabels" option, as pointed out and solved by P. Leifeld
- (launchpad bug #1035466).
+- Corrected a long-standing issue causing hyperref to issue two warnings about
+ its "pdfpagelabels" option, as pointed out and solved by P. Leifeld (launchpad
+ bug #1035466).
version 1.1.2 (09 Aug 2012)
- - fixed a regression bug introduced in version 1.0.0 in the footer of the
- "casual" style, as discovered on tex.stackexchange (question #66316).
+- Fixed a regression bug introduced in v1.0.0 in the footer of the casual style,
+ as discovered on tex.stackexchange (question #66316).
version 1.1.1 (30 Jul 2012)
- - fixed a compatibility issue introduced in version 1.0.0 when
- \maketitlenamewidth was renamed to \makecvtitlenamewidth, as reported by Peppe
- on launchpad (launchpad bug #1030802). The template now correctly uses
- \makecvtitlenamewidth, and \maketitlenamewidth was created as an alias for
- backward compatibility.
+- Fixed a compatibility issue introduced in v1.0.0 when \maketitlenamewidth was
+ renamed to \makecvtitlenamewidth, as reported by Peppe on launchpad (launchpad
+ bug #1030802). The template now correctly uses \makecvtitlenamewidth, and
+ \maketitlenamewidth was created as an alias forbackward compatibility.
version 1.1.0 (29 Jul 2012)
- - fixed the switching from letter to resume, correcting spacing errors when a
- letter is typeset before the resume, as noticed by U. Gabor.
- - fixed the vertical alignment of the footers, as reported by T. Homa.
- Footers are now aligned to the bottom and the letter and cv footers are
- perfectly aligned in the "casual" style.
- - prepared moderncv for fontspec font loading (still commented in code).
- - changed the handling of the "sans" and "roman" class options, to be reflected
- at the beginning of the document and override style font choices.
- - turned unicode support in hyperref on by default.
- - tweaked the use of \textbullet to avoid the fall-back to Computer Modern
- fonts and prepared the use of symbols from the MarVoSym font for fontspec
- (LauLaTeX or XeLaTeX).
- - tweaked the \subsectionfill of the "banking" style to distribute extra space
- evenly between leaders.
- - added two options to change the "Enclosure" string used for the letter
- enclosure: either specify another string as optional argument to \enclosure,
- or redefine \enclname, as suggested by D. Wille.
+- Fixed the switching from letter to resume, correcting spacing errors when a
+ letter is typeset before the resume, as noticed by U. Gabor.
+- Fixed the vertical alignment of the footers, as reported by T. Homa. Footers
+ are now aligned to the bottom and the letter and CV footers are perfectly
+ aligned in the casual style.
+- Prepared moderncv for fontspec font loading (still commented out in code).
+- Changed the handling of the "sans" and "roman" class options, to be reflected
+ at the beginning of the document and override style font choices.
+- Turned unicode support in hyperref on by default.
+- Tweaked the use of \textbullet to avoid a fallback to Computer Modern fonts
+ and prepared the use of symbols from the MarVoSym font for fontspec (LuaTeX or
+ XeTeX).
+- Tweaked the \subsectionfill of the banking style to distribute extra space
+ evenly between leaders.
+- Added two options to change the "Enclosure" string used for the letter
+ enclosure: either specify another string as an optional argument to \enclosure
+ or redefine \enclname, as suggested by D. Wille.
version 1.0.0 (26 Mar 2012)
- - added commands to generate letters for every resume style: \recipient, \date,
- \opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The
- old \maketitle and \makefooter commands are now deprecated and replaced by
- \makecvtitle and \makecvfooter.
- - changed the alignment algorithm for the personal data display in the oldstyle
- style, as to align on the baseline of the first line with the surrounding text.
+- Added commands to generate letters for every resume style: \recipient, \date,
+ \opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The
+ old \maketitle and \makefooter commands are now deprecated and replaced by
+ \makecvtitle and \makecvfooter.
+- Changed the alignment algorithm for the personal data display in the oldstyle
+ style, to align on the baseline of the first line with the surrounding text.
version 0.19.0 (06 Feb 2012)
- - reintroduced the ability to force the width reserved to display the name
- in the resume header for the classic style (\maketitlenamewidth).
- - improved the pdf metadata, as reported by S. Wunsch (launchpad bug #922476).
- - fixed a footersymbol bug in the casual style when no mobile number was given,
- as reported by S. Wunsch (launchpad bug #922470).
- - fixed a display bug when an address was given without postcode/city, as
- reported by O. Shaneh (launchpad bug #670263).
+- Reintroduced the ability to force the width reserved to display the name in
+ the resume header for the classic style (\maketitlenamewidth).
+- Improved the PDF metadata, as reported by S. Wunsch (launchpad bug #922476).
+- Fixed a \footersymbol bug in the casual style when no mobile number was given,
+ as reported by S. Wunsch (launchpad bug #922470).
+- Fixed a display bug when an address was given without postcode/city, as
+ reported by O. Shaneh (launchpad bug #670263).
version 0.18.0 (05 Feb 2012)
- - corrected the handling of pdf bookmarks, as suggested on stackexchange by
- U. Fischer.
- - improved the spacing between sections and subsections by using \addvspace
- instead of \vspace.
- - corrected the spacing between entries with nested itemize environments
- (temporary solution working only for single line items).
- - added a check in the oldstyle style for an empty 4th argument in the
- \cvdoubleitem definition, to avoid printing a colon without preceding label.
- - added a new style on top of classic, casual and oldstyle: banking.
+- Corrected the handling of PDF bookmarks, as suggested on stackexchange by
+ U. Fischer.
+- Improved the spacing between sections and subsections by using \addvspace
+ instead of \vspace.
+- Corrected the spacing between entries with nested itemize environments
+ (temporary solution working only for single line items).
+- Added a check in the oldstyle style for an empty 4th argument in the
+ \cvdoubleitem definition to avoid printing a colon without a preceding label.
+- Added a new style on top of classic, casual and oldstyle: banking.
version 0.17.0 (25 Jan 2012)
- - changed the footer algorithm of style casual to avoid starting lines with
- the footer symbol.
- - aligned the space before and after the title across styles.
- - added an optional title to the casual style.
- - changed the definition of the font styles to avoid undesired extra spacing.
- - added a Spanish template, kindly provided by I. Buitrón.
- - corrected the vertical misalignment between the page number and the center
- footer in the casual style.
+- Changed the footer algorithm of the casual style to avoid starting lines with
+ the footer symbol.
+- Aligned the space before and after the title across styles.
+- Added an optional title to the casual style.
+- Changed the definition of the font styles to avoid undesired extra spacing.
+- Added a Spanish template, kindly provided by I. Buitrón.
+- Corrected the vertical misalignment between the page number and the center
+ footer in the casual style.
version 0.16.0 (15 Jan 2012)
- - added starred versions of \section and \subsection (that are identical to
- their non-starred version, to e.g. enable biblatex support as requested by
- S. Verberkt (launchpad bug #913102).
- - corrected a misalignment of the colored rule in front of the section titles
- in the classic and casual styles, as reported by P. Neidhardt (launchpad bug
- #915910).
+- Added starred versions of \section and \subsection that are identical to their
+ non-starred versions (e.g. to enable BibLaTeX support) as requested by
+ S. Verberkt (launchpad bug #913102).
+- Corrected a misalignment of the colored rule in front of the section titles in
+ the classic and casual styles, as reported by P. Neidhardt (launchpad bug
+ #915910).
version 0.15.1 (23 December 2011)
- - corrected a bug in the classic style causing the address font and color not
- being carried over newlines, as reported by J. Smith.
+- Corrected a bug in the classic style causing the address font and color to not
+ be carried over newlines, as reported by J. Smith.
version 0.15.0 (19 December 2011)
- - corrected list spacing.
- - corrected inconsistent use of sans serif fonts in roman layout option.
- - the lmodern fonts are now automatically loaded only if installed on the
- system. The "nolmodern" option is now therefore obsolete.
- - complete code refactoring separating themes in separate styles and colors.
- - renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer
- to \cvdoubleitem (the old command name still work and redirect to the new ones,
- but are deprecated).
- - removed the arbitrary minipage widths of skill proficiency vs comment in
- \cvitemwithcomments. The skill proficiency is now typeset exactly as given
- (i.e. one one line if no linebreaks are implicitly given) and the comment uses
- the remaining horizontal space.
- - changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify
- the vertical skip after the item (as for \cvitem, cvitemwithcomments, etc).
- The way to change the list symbol is to redefine \listitemsymbol.
- - added a new style on top of classic and casual: oldstyle.
- - loaded the microtype package to improve typography.
+- Corrected list spacing.
+- Corrected inconsistent use of sans serif fonts in roman layout option.
+- The lmodern fonts are now automatically loaded only if they're installed on
+ the system. The "nolmodern" option is now therefore obsolete.
+- Completed code refactoring separating themes in separate styles and colors.
+- Renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer
+ to \cvdoubleitem (the old command names still work and redirect to the new
+ ones, but are deprecated).
+- Removed the arbitrary minipage widths of skill proficiency vs comment in
+ \cvitemwithcomments. The skill proficiency is now typeset exactly as given
+ (i.e. one one line if no linebreaks are implicitly given) and the comment uses
+ the remaining horizontal space.
+- Changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify
+ the vertical skip after the item (as for \cvitem, \cvitemwithcomments, etc).
+ The way to change the list symbol is to redefine \listitemsymbol.
+- Added a new style on top of classic and casual: oldstyle.
+- Loaded the microtype package to improve typography.
version 0.14.0 (04 December 2011)
- - added support for CJK, thanks to the help of P. D'Apice.
- - the use of \recomputelengths after modifying any length in the preamble is
- now unnecessary; \recomputelength is automatically called at the start of the
- document.
+- Added support for CJK, thanks to the help of P. D'Apice.
+- The use of \recomputelengths after modifying any length in the preamble is now
+ unnecessary; \recomputelength is automatically called at the start of the
+ document.
version 0.13.1 (11 November 2011)
- - corrected a bug introduced by v0.13 in the classic style when no \photo is
- used, as reported by S. Gislais (launchpad bug #888702).
+- Corrected a bug introduced by v0.13 in the classic style when no \photo is
+ used, as reported by S. Gislais (launchpad bug #888702).
version 0.13.0 (06 November 2011)
- - added a "black" color option to render the resume in black & white, as
- suggested by F. Bicarri.
- - removed the pdflatex option when loading hyperref to enable other engines
- (e.g., dvips, xetex), leftover from the v 0.11 cleanup, as reported by
- K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834).
- - added a "purple" color option, as proposed by B. Ravel.
- - added a 3rd optional argument to the \photo command to control the thickness
- of the framebox. Setting it to 0pt will disable the frame around the photo, as
- requested by T. Krennwallner (launchpad bug #664568).
+- Added a "black" color option to render the resume in black & white, as
+ suggested by F. Bicarri.
+- Removed the pdflatex option when loading hyperref to enable other engines
+ (e.g., dvips, XeTeX), leftover from the v0.11 cleanup, as reported by
+ K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834).
+- Added a "purple" color option, as proposed by B. Ravel.
+- Added a 3rd optional argument to the \photo command to control the thickness
+ of the framebox. Setting it to 0pt will disable the frame around the photo, as
+ requested by T. Krennwallner (launchpad bug #664568).
version 0.12.0 (03 August 2010)
- - prevented pagebreaks after sections and subsections (launchpad bug #409902),
- as originally reported by C. Gaspoz and fixed by launchpad user tentotwo).
+- Prevented pagebreaks after sections and subsections (launchpad bug #409902),
+ as originally reported by C. Gaspoz and fixed by launchpad user tentotwo.
version 0.11.0 (20 July 2010)
- - removed the \ifpdf check when loading the graphicx package, as graphicx does
- does check internally and this was preventing proper functionning with xelatex
- and luatex, as reported by A. Trautmann. The same check was also removed
- everywhere else in the document (i.e. when loading the color and hyperref
- packages).
+- Removed the \ifpdf check when loading the graphicx package, as graphicx
+ already does this check internally. This was preventing proper functioning
+ with XeTeX and LuaTeX, as reported by A. Trautmann. The same check was also
+ removed everywhere else in the document (i.e. when loading the color and
+ hyperref packages).
version 0.10.0 (13 June 2010)
- - fixed a compatibility issue with the natbib package (natbib uses \section*
- to format the bibliography title, while only \section was defined by
- moderncv), as reported on launchpad (launchpad bug #393920).
- - fixed a compatibility issues with (any package relying on) the etoolbox
- package, due to the double definition of \AtEndPreamble, as reported by
- D. Becker.
+- Fixed a compatibility issue with the natbib package (natbib uses \section* to
+ format the bibliography title, while only \section was defined by moderncv),
+ as reported on launchpad (launchpad bug #393920).
+- Fixed compatibility issues with (any package relying on) the etoolbox package,
+ due to the double definition of \AtEndPreamble, as reported by D. Becker.
version 0.9.0 (31 May 2010)
- - added support for the itemize, enumerate and description environments.
+- Added support for the itemize, enumerate and description environments.
version 0.8.0 (24 May 2010)
- - added support for multibib. Also modified the template to illustrate how to
+- Added support for multibib. Also modified the template to illustrate how to
show labels in the bibliography, as requested by Tom D. R. and Stefan K.
- - added a command to indicate your personal homepage (\homepage{url}), as
+- Added a command to indicate your personal homepage (\homepage{url}), as
requested by J. de Jong and A. Pairet.
- - corrected an alignment bug for text following a \quote with no immediate
+- Corrected an alignment bug for text following a \quote with no immediate
\section, as kindly reported by J. Vermeulen and L. Saliou.
- - corrected a spacing bug when no blank line (or \par) is left after
- \maketitle. Thanks to A. Menzel for reporting the strange behaviour.
- - corrected the alignment of the extrainfo title part when no picture was
- used, as reported by M. Bana.
- - corrected the missplacement of pdf bookmarks as noticed by L. Fortunato.
- - corrected several bugs linked to the code for checking for empty arguments
- in \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and
+- Corrected a spacing bug when no blank line (or \par) is left after \maketitle.
+ Thanks to A. Menzel for reporting the strange behaviour.
+- Corrected the alignment of the \extrainfo title part when no picture was used,
+ as reported by M. Bana.
+- Corrected the misplacement of PDF bookmarks as noticed by L. Fortunato.
+- Corrected several bugs linked to the code for checking for empty arguments in
+ \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and
E. Gregorio.
version 0.7.0 (17 June 2008)
- - corrected an outstanding spacing bug (space between cvlines longer
- than 1 line).
- - removed the need to use \closesection and \emptysection as internal
- tabulars are now always closed. This allows she use of bibliography packages
- such as bibunits. Thanks to S. Busch for pointing out the incompatibility and
- helping testing out the bug correction.
- - changed the definition of \photo: the first (optional) argument should
- give the desired width of the picture, instead of its height
- - corrected an alignment bug for \cvlistitems longer than 1 line, as
- reported by S. Nikolopoulos.
- - deprecated the commands \sethintscolumnlength and \sethintscolumntowidth.
+- Corrected an outstanding spacing bug where the space between cvlines was
+ longer than 1 line.
+- Removed the need to use \closesection and \emptysection as internal tabulars
+ are now always closed. This allows the use of bibliography packages such as
+ bibunits. Thanks to S. Busch for pointing out the incompatibility and helping
+ test out the bug correction.
+- Changed the definition of \photo: the first (optional) argument should give
+ the desired width of the picture, instead of its height
+- Corrected an alignment bug for \cvlistitems longer than 1 line, as reported by
+ S. Nikolopoulos.
+- Deprecated the commands \sethintscolumnlength and \sethintscolumntowidth.
Instead, just set \hintscolumnwidth to the desired length by using the regular
\setlength or \settowidth commands, and call \recomputelengths.
- - added the ability to control the width of the name placeholder in the
- classic theme, by setting the length \maketitlenamewidth. Again, don't forget
- to call \recomputelengths afterward.
+- Added the ability to control the width of the name placeholder in the classic
+ theme, by setting the length \maketitlenamewidth. Again, don't forget to call
+ \recomputelengths afterward.
version 0.6.0 (28 May 2007)
- - corrected some spacing bugs and cleaned up the code.
- - corrected a bug in the bibliography file of the examples spotted by
- U. Stöhr.
- - added color variants to the classic and casual style, as suggested by
+- Corrected some spacing bugs and cleaned up the code.
+- Corrected a bug in the bibliography file of the examples spotted by U. Stöhr.
+- Added color variants to the classic and casual styles, as suggested by
U. Stöhr.
- - added a page counter for resumes running longer than 1 page, as requested by
+- Added a page counter for resumes running longer than 1 page, as requested by
A. Martin. It can be disabled by the command \nopagenumbers{}.
- - added commands to include a mobile phone and fax number.
- - made the symbols used for the phone number, the email, ... customizable.
- To modify those symbols, just redefine \phonesymbol, emailsymbol, ...
- - corrected the pdf information given to hyperref as pointed out by
- C. Knuepfer.
- - rewrote the examples.
+- Added commands to include a mobile phone and fax number.
+- Made the symbols used for the phone number, the email etc. customizable. To
+ modify those symbols, just redefine \phonesymbol, \emailsymbol etc.
+- Corrected the PDF information given to hyperref as pointed out by C. Knuepfer.
+- Rewrote the examples.
version 0.5.0 (9 September 2006)
- - added a \photo command to display a picture. That command takes the name of
- the file with the picture as argument, and the desired height as optional
- argument.
- - implemented the needed commands to make moderncv compatible with BibTeX, as
+- Added a \photo command to display a picture. This command takes the name of
+ the file with the picture as a required argument and the desired height as an
+ optional argument.
+- Implemented the needed commands to make moderncv compatible with BibTeX, as
suggested by J. Lie. This makes it possible to display one's publications,
- stored in the BibTeX file 'publications.bib'
- by using:
+ stored in the BibTeX file "publications.bib" by using:
\nocite{*}
\bibliographystyle{plain}
\bibliography{publications}
- As usual, the name of the section title can be changed by redefining the
- command \refname.
- - added the \today command, useful for example if one need to add the date the
- resumé was produced with
+ As usual, the name of the section title can be changed by redefining \refname.
+- Added the \today command, useful for example if one needs to add the date the
+ resume was produced with:
\closesection{}
\vfill{\hfill{\scriptsize Produced \today.}}
at the end of your CV, as suggested by F. Hammann.
version 0.4.0 (2 May 2006)
- - removed the dependency on the geometry package, so that users can now invoke
- it themselve, and easily change the geometry of the page.
+- Removed the dependency on the geometry package so that users can now invoke it
+ themselves and easily change the geometry of the page.
version 0.3.0 (10 April 2006)
- - moderncv now uses the 'longtable' class, allowing cv sections to split
- across multiple pages.
- - the different lengths used by moderncv are now customizable! In particular,
- the first column (the one containing the date in the examples), can now be set
+- Moderncv now uses the longtable class, allowing CV sections to split across
+ multiple pages.
+- The different lengths used by moderncv are now customizable! In particular,
+ the first column (the one containing the date in the examples) can now be set
to any width, for people needing a smaller or larger one. To do that, either
use
\sethintscolumnlength{<length>},
@@ -374,33 +399,32 @@ version 0.3.0 (10 April 2006)
where <string> is a string of the desired length (usually, the longest string
that has to appear in the column). Thanks to A. Pöge for pointing out the need
of such a feature.
- - added the command \emptysection{}, which makes it possible to start a
- section without name. In combination with \closesection{}, this makes it
- possible to drop out of the layout of moderncv, and come back to it later.
- This should make the inclusion of arbitrary elements not covered by moderncv
- code possible.
- - corrected a spacing problem in the cventry command, as pointed out and
- solved by B. Eßmann.
+- Added the command \emptysection{}, which makes it possible to start an unnamed
+ section. In combination with \closesection{}, this makes it possible to drop
+ out of the layout of moderncv, and come back to it later. This should make the
+ inclusion of arbitrary elements not covered by moderncv code possible.
+- Corrected a spacing problem in the \cventry command, as pointed out and solved
+ by B. Eßmann.
version 0.2.0 (6 March 2006)
- - rewrite of the code to have the styles (fonts, colours, headers and footers)
+- Rewrite of the code to have the styles (fonts, colours, headers and footers)
be defined in different files than the class. The styles are now defined in a
separate file per style, named moderncvstyle<style_name>. It should now be
easy to write your own style, starting from moderncvstyleempty.sty. If you
feel you have created a nice style, just email it to me and I'll include it in
the next version.
- - due to the previous point, styles are now loaded by the command
+- Due to the previous point, styles are now loaded by the command
\moderncvstyle{style_name}. I couldn't figure out a way to preserve the old
"casual" and "classic" class options, so these are now broken! Use
\moderncvstyle{casual} or \moderncvstyle{classic} at the beginning of your
- document. This should be the only incompatibility with version 0.1.
- - added class option "nolmodern" for people without the latin modern fonts.
- - corrected some English mistakes in the examples. Thanks to M. H. Prager for
+ document. This should be the only incompatibility with v0.1.
+- Added class option "nolmodern" for people without the Latin Modern fonts.
+- Corrected some English mistakes in the examples. Thanks to M. H. Prager for
pointing them out.
- - added a \cvlistitem to produce items with a bullet (or whatever is defined
- in \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for
- consistency purpose. For compatibility reasons, the command \cvresume still
- works, but should be avoided.
+- Added a \cvlistitem to produce items with a bullet (or whatever is defined in
+ \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for consistency
+ purposes. For compatibility reasons, the command \cvresume still works, but
+ should be avoided.
version 0.1.0 (1 March 2006)
- - first release.
+- First release.
diff --git a/macros/latex/contrib/moderncv/KNOWN_BUGS b/macros/latex/contrib/moderncv/KNOWN_BUGS
index 15b86eccbc..25ef872007 100644
--- a/macros/latex/contrib/moderncv/KNOWN_BUGS
+++ b/macros/latex/contrib/moderncv/KNOWN_BUGS
@@ -1,15 +1,12 @@
-- When using the "fancy" style, undesired space is added between the bibliography
- head and the first entry, as well as after the last entry
-- Moderncv is incompatible with biblatex.
-- Footnotes generates errors (though the output seem correct when running with
- "-interaction=nonstopmode")
-- When using CJK, the last \clearpage required for fancyhdr to work properly kills
- the "lastpage" counter, hence also the page numbering.
-- Moderncv produces an error ("lonely \item--perhaps a missing list environment")
- when used with bibentry, through the output is actually correct. Amongst other,
- this causes compilation by LyX to stop.
-- The space after a cventry gets eaten up when the last argument contains a nested
- itemize environment. An ugly hack and incomplete solution was implemented by
- including a \strut in every item label, but this doesn't solve the problem for
- multi-line items. Ideally, the strut should end the item, but there seems to be
- no way to do this.
+- moderncv is incompatible with biber.
+- moderncv is incompatible with BibLaTeX.
+- moderncv is incompatible with babel in Spanish.
+
+- Skill matrices don't break automatically in fancy style.
+- Long names break the oldstyle style and possibly other styles (needs testing).
+- Long URLs in classic style can make the name break line. Fixed width for the address part must be implemented.
+- When using the fancy style, undesired space is added between the bibliography head and the first entry, as well as after the last entry.
+- Footnotes generate errors, but the output seems correct when running with "-interaction=nonstopmode"
+- When using CJK, the last \clearpage required for the fancyhdr package to work properly kills the "lastpage" counter, and therefore also the page numbering.
+- moderncv produces an error "lonely \item--perhaps a missing list environment" when used with the bibentry package, though the output is actually correct. Among other things, this causes compilation by LyX to stop.
+- The space after a \cventry gets eaten up when the last argument contains a nested itemize environment. An ugly hack and incomplete solution was implemented by including a \strut in every item label, but this doesn't solve the problem for multi-line items. Ideally, the \strut should end the item, but there seems to be no way to do this.
diff --git a/macros/latex/contrib/moderncv/README.md b/macros/latex/contrib/moderncv/README.md
index 1eb439d16b..19ff062dae 100644
--- a/macros/latex/contrib/moderncv/README.md
+++ b/macros/latex/contrib/moderncv/README.md
@@ -1,27 +1,44 @@
# moderncv
+[![Build template](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml/badge.svg)](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml)
+[![CTAN](https://img.shields.io/ctan/v/moderncv.svg)](https://www.ctan.org/pkg/moderncv)
+[![Matrix](https://img.shields.io/matrix/moderncv:matrix.org)](https://matrix.to/#/#moderncv:matrix.org)
+
## A modern curriculum vitae class for LaTeX
-**moderncv** provides a documentclass for typesetting curricula vitae in various styles. Moderncv aims to be both straightforward to use and customizable, providing five ready-made styles (classic, casual, banking, oldstyle and fancy) and allowing one to define his own by modifying colors, fonts, icons, etc.
+The `moderncv` package provides a document class for typesetting applications (curricula vitae and cover letters) in various styles. `moderncv` aims to be both straightforward to use and customizable, providing five ready-made styles (classic, casual, banking, oldstyle and fancy) and allowing you to define your own by modifying colors, fonts, icons, etc.
-Most commands are defined in such a way that arguments are optional.
+## Getting started
-Until a decent manual is written, one can always look in the `template.tex` file for an example. It can be compiled to pdf via `latexmk -pdf ./template.tex`.
+### Installation
+`moderncv` should already be included in your installed LaTeX distribution.
+If not, you can get the tarball of the package from [CTAN](https://www.ctan.org/pkg/moderncv).
+Alternatively, you can also build the package from source by cloning the its [GitHub repository](https://github.com/moderncv/moderncv) and compiling the included LaTeX files:
+```
+latexmk -pdf ./template.tex manual/moderncv_userguide.tex
+```
-If using [`academicons`](https://ctan.org/tex-archive/fonts/academicons) in the template, you need to use a Xe(La)TeX or Lua(La)TeX engine for them to render. Otherwise an alternative will be used automatically.
+### Usage
+To get started on your own CV, use and modify the template file `template.tex`.
+The user guide can be found in the folder `manual` and contains additional information on what the document class offers.
+Take a look at it to see if this package suits your needs.
-## Development
+If you are using the [`academicons`](https://ctan.org/tex-archive/fonts/academicons) package in the template, you will need to use a Xe(La)TeX or Lua(La)TeX engine to render the icons. Otherwise, an alternative icon package will be used automatically.
-[![Build template](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml/badge.svg)](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml)
-[![CTAN](https://img.shields.io/ctan/v/moderncv.svg)](https://www.ctan.org/pkg/moderncv)
-[![Matrix](https://img.shields.io/matrix/moderncv:matrix.org)](https://matrix.to/#/#moderncv:matrix.org)
+## Development
-As the main goal is to keep this package alive, it is maintained in a loosely structured team. You can contact us in our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org), feel free to join if you have questions or want to contribute. Development takes places at [github.com/moderncv/moderncv](https://github.com/moderncv/moderncv).
+As the main goal is to keep this package alive, it is maintained in a loosely structured team.
+You can contact us in our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org), feel free to join if you have questions or want to contribute.
+Development takes place at [github.com/moderncv/moderncv](https://github.com/moderncv/moderncv).
## Licence
-moderncv is licensed under the [LPPL-1.3c](https://spdx.org/licenses/LPPL-1.3c.html).
+
+`moderncv` is licensed under the [LPPL-1.3c](https://spdx.org/licenses/LPPL-1.3c.html).
## Origin
-Original author: Xavier Danaux <xdanaux@gmail.com><br/>
-Original repository: https://github.com/xdanaux/moderncv<br/>
-This repository is a fork aiming to maintain moderncv inside CTAN, since upstream is dead since 2016.
+
+Original author: Xavier Danaux <xdanaux@gmail.com>
+<br/>
+Original repository: https://github.com/xdanaux/moderncv
+
+This repository is a fork aiming to maintain `moderncv` inside CTAN, since upstream has been dead since 2016.
diff --git a/macros/latex/contrib/moderncv/manual/moderncv_userguide.pdf b/macros/latex/contrib/moderncv/manual/moderncv_userguide.pdf
index cadbefe386..0468a22e0f 100644
--- a/macros/latex/contrib/moderncv/manual/moderncv_userguide.pdf
+++ b/macros/latex/contrib/moderncv/manual/moderncv_userguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/moderncv/manual/moderncv_userguide.tex b/macros/latex/contrib/moderncv/manual/moderncv_userguide.tex
index 26d2016178..feb6f31f6f 100644
--- a/macros/latex/contrib/moderncv/manual/moderncv_userguide.tex
+++ b/macros/latex/contrib/moderncv/manual/moderncv_userguide.tex
@@ -1,462 +1,1071 @@
-%% moderncv_userguide.tex (compiled with pdfLaTeX)
-%% Copyright 2007 Cristina Sambo
+%% moderncv_userguide.tex as shipped with 2024-07-18 v2.4.1 modern curriculum vitae and letter document class (moderncv)
+%% 2021 David Seus, cryptointerest@posteo.de
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
-\documentclass[a4paper,11pt]{article}
+\documentclass[a4paper, 11pt]{article}
-\title{\bfseries Moderncv -- v. 0.6}
-\author{Package by Xavier Danaux \\ \begin{small}Documentation by Cristina Sambo \end{small}}
-\date{}
+\title{%
+ \texttt{moderncv} User Guide\\
+ {\small Package v2.4.1}%
+}
+% Cristina Sambo,
+\author{%
+ Package by Xavier Danaux\\
+ and\\
+ moderncv community\\
+ {\small Documentation by David Seus}%
+}
+\date{\today}
-%language and encoding options
+% Language and encoding options
\usepackage[english]{babel}
+\usepackage{ifxetex, ifluatex}
+\newif\ifxetexorluatex
+\ifxetex
+ \xetexorluatextrue
+\else
+ \ifluatex
+ \xetexorluatextrue
+ \else
+ \xetexorluatexfalse
+ \fi
+\fi
+
+% PDFLaTeX or LUALaTeX/XeLaTeX
+\ifxetexorluatex
+ % \usepackage{luatextra}
+ % \usepackage{lualatex-math}
+ \usepackage{shellesc} % Fix a bug for lualatex shellescape
+ % \usepackage{unicode-math}
+ % \setmathfont{xits-math.otf}
+\else
+ \usepackage[utf8]{inputenx} % Uncomment if using pdflatex, comment if using lualatex
+\fi
+\PassOptionsToPackage{T1}{fontenc} % T2A for Cyrillic
\usepackage[T1]{fontenc}
-\usepackage[latin1]{inputenc}
-%font options
+% Font options
\usepackage{txfonts}
\usepackage{marvosym}
\usepackage{pifont}
-%margins, spacing and page layout
-\usepackage[pdftex,colorlinks=true]{hyperref} %(hyperref must be loaded before geometry)
-\usepackage[pdftex]{geometry}
+% Margins, spacing and page layout
+\usepackage[pdftex, colorlinks=true]{hyperref} % hyperref must be loaded before geometry
+\usepackage[pdftex, marginparwidth=50pt]{geometry}
\geometry{top=2.5cm, bottom=3cm}
-\setlength{\parindent}{0pt} %(to soppress indentation when starting a new paragraph)
-\frenchspacing %(to soppress additional space after a full stop)
-
-%packages
-\usepackage[pdftex]{graphicx}
-\usepackage[pdftex]{xcolor}
-\usepackage[labelfont=sl,font=small,width=0.9\textwidth]{caption}
+\usepackage{parskip} % Replace paragraph indentation with vertical spacing
+\frenchspacing % Suppress additional space after a full stop
+\renewcommand{\arraystretch}{1.1}
+
+% Packages
+\usepackage{graphicx}
+\usepackage{xcolor}
+\usepackage[labelfont=sl, font=small, width=0.9\textwidth]{caption}
\usepackage{marvosym}
\usepackage{latexsym}
-
-%pdfLaTeX options
-\pdfpagewidth=\paperwidth
-\pdfpageheight=\paperheight
-\pdfimageresolution=150
-\pdfinfo{
- /Title (Moderncv -- v. 0.6)
- /Author (Cristina Sambo)
- /Subject (Moderncv package user's guide)
- /Keywords (curriculum vitae, LaTeX)
+\usepackage{url}
+\usepackage{scrhack} % Fix warnings when using KOMA with listings package
+\usepackage{xspace} % Fix spacing after macros
+\usepackage{mparhack} % Fix marginpar
+\usepackage{microtype}
+\usepackage{multicol} % Multicolumn text for long lists
+
+% Code listings
+\usepackage{listings}
+% \lstset{emph={trueIndex, root}, emphstyle=\color{BlueViolet}}% \underbar} % Special keywords
+\lstset{%
+ language=[LaTeX]Tex, % C++,
+ morekeywords={PassOptionsToPackage, selectlanguage},
+ keywordstyle=\color{cvblue}, % \bfseries,
+ basicstyle=\small\ttfamily,
+ % identifierstyle=\color{NavyBlue},
+ commentstyle=\color{gray}\ttfamily,
+ stringstyle=\rmfamily,
+ numbers=none, % left,
+ numberstyle=\scriptsize, % \tiny
+ stepnumber=5,
+ numbersep=8pt,
+ showstringspaces=false,
+ breaklines=true,
+ % frameround=ftff,
+ % frame=single,
+ belowcaptionskip=0.75\baselineskip,
+ % frame=L,
+ emph={
+ cvitem, cventry, cvdoubleentry, cvdoubleitem, cvtripleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor,
+ cvskill, cvskilllegend, cvskillplainlegend, cvskillhead, cvskillentry, nopagenumbers,
+ name, born, address, email, link, social, phone, homepage, extrainfo, photo, quote, section, subsection, setlength, NewDocumentCommand, definecolor, colorlet, cvitemwithcomment,
+ recipient, subject, opening, closing, signature, enclosure
+ },
+ emphstyle={\color{cvblue}},
+ emph={[2]
+ familydefault, sfdefault, rmdefault, inputenc, moderncv, document, bibliographyitemlabel,
+ addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol,
+ xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol,
+ stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol, arxivsocialsymbol, inspiresocialsymbol,
+ researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol
+ },
+ emphstyle={[2]\color{cvblue!60!cvgrey}\bfseries},
+ literate={{é}{{\'e}}1},
}
-%my commands
-\definecolor{bluecv}{rgb}{0.25,0.5,0.75}
-\definecolor{greencv}{rgb}{0.55,0.85,0.35}
-\definecolor{redcv}{rgb}{1.00,0.30,0.30}
-\definecolor{orangecv}{rgb}{1,0.65,0.20}
-\definecolor{greycv}{rgb}{0.75,0.75,0.75}
+% Hyperlinks
+\usepackage{hyperref}
+\hypersetup{
+ unicode=true,
+ % draft, % Draft mode for printing (see below)
+ colorlinks=true, linktocpage=true, pdfstartpage=3, pdfstartview=FitV,
+ % colorlinks=false, linktocpage=false, pdfstartpage=3, pdfstartview=FitV, pdfborder={0 0 0}, % Black links (e.g., for printing)
+ breaklinks=true, pageanchor=true,
+ pdfpagemode=UseNone,
+ % pdfpagemode=UseOutlines,
+ plainpages=false, bookmarksnumbered, bookmarksopen=true, bookmarksopenlevel=1,
+ hypertexnames=true, pdfhighlight=/O, % nesting=true, frenchlinks,
+ urlcolor=cvblue, linkcolor=cvblue, citecolor=cvblue, % pagecolor=RoyalBlue,
+ % urlcolor=Black, linkcolor=Black, citecolor=Black, % pagecolor=Black,
+ % pdfborder={0 0 1}, % Width of PDF link border 0 0 1, 0 0 0 = colorlinks
+ % linkbordercolor=gray!15,
+ % citebordercolor=green!15,
+}
-%==================
+% Colors
+\definecolor{cvblue}{rgb}{0.22, 0.45, 0.70}
+\definecolor{cvgreen}{rgb}{0.35, 0.70, 0.30}
+\definecolor{cvred}{rgb}{0.95, 0.20, 0.20}
+\definecolor{cvorange}{rgb}{0.95, 0.55, 0.15}
+\definecolor{cvgrey}{rgb}{0.75, 0.75, 0.75}
+\definecolor{cvburgundy}{rgb}{0.596078, 0, 0} % burgundy: 139/255 (0.545098) or 152/255 (0.596078)
+\definecolor{cvgrey}{rgb}{0.55, 0.55, 0.55}
+\definecolor{cvpurple}{rgb}{0.50, 0.33, 0.80}
+
+% Macros
+\newcommand{\todo}[1]{\marginpar{\raggedright \textcolor{red}{[\textbf{TODO:} #1]}}}
+\newcommand{\todox}[1]{\textcolor{red}{[\textbf{TODO:} #1]}}
+\newcommand{\note}{\paragraph{Note.}}
+\newcommand{\code}[1]{\lstinline!#1!}
+\newcommand{\moderncv}{\code{moderncv}}
+\newcommand{\Moderncv}{\moderncv~}
+\newcommand{\github}{GitHub}
+\newcommand{\Github}{\github~}
+\newcommand{\ctan}{CTAN}
+\newcommand{\Ctan}{\ctan~}
+\newcommand{\cvtemplate}{\code{template.tex}}
+\newcommand{\Cvtemplate}{\cvtemplate~}
+\newcommand{\Latex}{\LaTeX~}
+\newcommand{\biblatex}{BibLaTeX}
+\newcommand{\Biblatex}{\biblatex~}
+\newcommand{\cvdoccolorbox}[1]{{\color{#1}\rule{4ex}{2ex}}}
+\newcommand{\moderncvGithub}{\url{https://github.com/moderncv/moderncv}}
+\newcommand{\moderncvCtan}{\url{https://ctan.org/pkg/moderncv}}
+
+
+
+
+
+% ==================
% DOCUMENT BEGINNING
-%==================
+% ==================
\begin{document}
\maketitle
-
\begin{abstract}
-\noindent \texttt{Moderncv}, as its author says in the readme file, provides a documentclass for typesetting modern curriculum vitaes in various styles. It is fairly customizable, allowing you to define your own style by changing the colors, the fonts, \dots\ and provides two default styles: classic and casual.
+ \noindent
+ The \Moderncv package provides a document class for typesetting modern curriculum vit\ae{} and cover letters in various styles.
+ Five predefined styles are available, each of which can be adjusted through various options for headings, footers and colors.
+ It is fairly customizable, allowing the user to adjust the look and feel of each style to their liking.
+ Several macros allow the user to add content to the CV and format it in a consistent way.
+ A letter of motivation consistent with the style is part of the template as well.
\end{abstract}
+\tableofcontents
+
-\section{Introduction}
-When I saw for the first time this class I was amazing: ``Here it is what I need'', I thought. Using the very clear examples, was easy to make my first curriculum.
-Indeed the class is very simple to use, in this documentation I will only put together all the things to help users to have all on hand.
-
-\smallskip
-\texttt{Moderncv} requires the following packages: \texttt{ifthen}, \texttt{ifpdf}, \texttt{color}, \texttt{lmodern}, \texttt{marvosym}, \texttt{url}, \texttt{hyperref}, \texttt{longtable}, \texttt{graphicx}, \texttt{fancyhdr}, usually all just included in the \LaTeX\ distributions.
-
-\section{In the preamble}
-
-At the very beginning of your preamble (that is the part before \verb|\begin{document}|) insert:
-
-\begin{verbatim}
-\documentclass[<options>]{moderncv}
-\end{verbatim}
-
-where the options are:
-
-\begin{description}
- \item[paper size options:] \texttt{a4paper}, \texttt{a5paper}, \texttt{b5paper}, \texttt{letterpaper}, \texttt{legalpaper}, \texttt{ex\-ec\-u\-tive\-pa\-per}, \texttt{landscape}
- \item[font size options:] \texttt{10pt}, \texttt{11pt}, \texttt{12pt}
- \item[font option:] \texttt{nolmodern}, for people without the latin modern fonts
- \item[color option:] \texttt{nocolor}, to have all in black and white
- \item[draft/final options:] \texttt{draft}, \texttt{final}
-\end{description}
-
-The default options are: \texttt{a4paper}, \texttt{11pt}, \texttt{color}, \texttt{final}.
-
-After the documentclass specification, choose the theme for your curriculum vit\ae:
-
-\begin{verbatim}
-\moderncvtheme[<options>]{casual}
-\end{verbatim}
-
-which is the default theme, or
-
-\begin{verbatim}
-\moderncvtheme[<options>]{classic}
-\end{verbatim}
-
-where the theme options are:
-
-\begin{description}
- \item[color options:] you can choose between five color:
- \begin{itemize}
- \item[\texttt{blue}] {\color{bluecv}\rule{1cm}{2ex}} (default color)
- \item[\texttt{green}] {\color{greencv}\rule{1cm}{2ex}}
- \item[\texttt{red}] {\color{redcv}\rule{1cm}{2ex}}
- \item[\texttt{orange}] {\color{orangecv}\rule{1cm}{2ex}}
- \item[\texttt{grey}] {\color{greycv}\rule{1cm}{2ex}}
- \end{itemize}
- \item[roman option:] \texttt{roman}, for {\fontsize{11}{12} \usefont{T1}{lmr}{m}{n}\selectfont roman} fonts, instead of \fontsize{11}{12} \usefont{T1}{lmss}{m}{n}\selectfont sans serif fonts.
-\end{description}
-
-Then you have to specify the character encoding (utf8, latin1, and so on):
-
-\begin{verbatim}
-\usepackage[<your encoding>]{inputenc}
-\end{verbatim}
-
-and you can adjust the page geometry:
-
-\begin{verbatim}
-\usepackage[<options>]{geometry}
-\recomputelengths
-\end{verbatim}
-
-where \verb|\recomputelengths| is required when changes are made to page layout lengths.
-
-Now we can get into the part most related to our curriculum vit\ae: our personal data. They will be inserted in the header of the first page, in the classic theme, or in the footer of every page, in the case of casual theme.
-
+
+\section{Getting started}
+\subsection{How to read this manual}
+This manual is organized as follows.
+The current section explains on how to get started with the \Moderncv package, i.e. how to install required packages.
+% \emph{Note that it is assumed that you know how to install \Latex packages in case some are missing.}
+Section \ref{section:moderncvTemplate} explains how to work with the \Moderncv template file step by step.
+Section \ref{section:customization} details the customizations that the user can make: the different styles, their options, colors and tips and tricks.
+Section \ref{section:implementationDetails} details the packages that \Moderncv uses, known problems and possible solutions to those problems.
+
+\subsection{Installation instructions}
+If the \Moderncv package does not ship with your \Latex distribution or if the installed version is too old, grab the \Moderncv code from \Ctan or \github:
+
+\begin{tabular}{l}
+ \moderncvCtan \\% [.5ex]
+ \moderncvGithub
+\end{tabular}
+
+\note Depending on your \Latex distribution, you may have to install some additional packages.
+Section \ref{section:implementationDetails:requiredPackages} lists all the packages that \Moderncv requires to be installed on your system.
+
+
+
+\section{The \texttt{moderncv} template step by step}
+This section is a quick reference to the \Moderncv package and should contain enough information to typeset a first working CV.
+\label{section:moderncvTemplate}
+The easiest way to get started with \Moderncv is to use the template that comes with the package.
+If \Moderncv is part of your \Latex distribution, search for the folder \Moderncv on your system, which should contain all the files for the package.
+In this folder, there should be a file called \cvtemplate.
+If you downloaded the package from \Github or \ctan, look for \Cvtemplate in the folder of the newly downloaded (and possibly extracted) package.
+
+\note If you downloaded \Moderncv from \Github or \Ctan and moved \Cvtemplate to another folder, make sure to adjust the \code{TEXINPUTS} variable to find the newly downloaded package.
+Otherwise, either the package version provided by your \Latex distribution gets used or \Latex throws an error if there is no other version installed.
+
+Test your setup by compiling \Cvtemplate and looking at the result.
+
+\note The \Moderncv package should compile with \code{pdflatex}, \code{lualatex} and \code{xelatex}.
+However, not all icons are available when using \code{pdflatex}, so using either \code{lualatex} or \code{xelatex} \emph{is highly recommended.}
+
+\subsection{Basic setup}
+A document using the \Moderncv document class is set up like any other document class.
+We will go through the template step by step.
+
+\subsubsection*{Configuring document class options}
+The \Moderncv document class is loaded as per usual, by
+\begin{lstlisting}
+ \documentclass[<options>]{moderncv}
+\end{lstlisting}
+where at most one value for each option can be passed to the document class:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.55\textwidth}}
+ \textbf{\code{paper}:} & \code{a4paper} (default), \code{a5paper}, \code{b5paper}, \code{letterpaper},
+ \code{legalpaper}, \code{executivepaper}, \code{landscape} \\
+ \textbf{\code{font family}:} & \code{sans}, \code{roman} \\
+ \textbf{\code{font size}:} & \code{10pt}, \code{11pt} (default), \code{12pt} \\
+ \textbf{\code{draft/final}:} & \code{draft}, \code{final} (default)
+\end{tabular}
+
+\subsubsection*{Choosing a \texttt{moderncv} style and color}
+Choose a \Moderncv style and color by adjusting the commands
+\begin{lstlisting}
+ \moderncvstyle{<style>}
+ \moderncvcolor{<color>}
+\end{lstlisting}
+As explained in \cvtemplate, the possible values are
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.65\textwidth}}
+ \textbf{\code{style}:} & \code{casual} (default), \code{classic}, \code{banking}, \code{oldstyle},
+ \code{fancy} \\
+ \textbf{\code{color}:} & \code{black} \cvdoccolorbox{black}, \code{blue} \cvdoccolorbox{cvblue} (default), \code{burgundy} \cvdoccolorbox{cvburgundy}, \code{green} \cvdoccolorbox{cvgreen}, \code{grey} \cvdoccolorbox{cvgrey}, \code{orange} \cvdoccolorbox{cvorange}, \code{purple} \cvdoccolorbox{cvpurple}, \code{red} \cvdoccolorbox{cvred}
+\end{tabular}
+
+\note Some of the styles take additional options to fine-tune their appearance.
+To keep this overview short, these options will be described in section \ref{section:customization:stylesAndOptions}.
+
+\subsubsection*{Font family and page numbering}
+The default font family is set by the line \code{\\renewcommand\{\\familydefault\}\{\\sfdefault\}} in \cvtemplate.
+Use \code{\\sfdefault} for the default sans-serif font, \code{\\rmdefault} for the default roman font, and likewise for any \TeX{} font name.
+The general syntax is
+\begin{lstlisting}
+ \renewcommand{\familydefault}{<fontfamily>}
+ % \nopagenumbers{}
+\end{lstlisting}
+Uncommenting \code{\%\\nopagenumbers\{\}} suppresses automatic page numbering for CVs longer than one page.
+
+\subsubsection*{Adjusting input encoding}
+If you are not using \code{xelatex} or \code{lualatex}, which both use \code{utf8} encoding by default, uncomment the \code{\\usepackage[utf8]\{inputenc\}} import and change the encoding as needed.
+
+\subsubsection{Language-specific setup}
+The \code{babel} package can be loaded in the preamble of your CV.
+
+\note \Moderncv doesn't work with \code{babel} in Spanish (see this \href{https://github.com/moderncv/moderncv/issues/103}{GitHub issue}).
+
+For CJK users, uncomment the \code{\\usepackage\{CJKutf8\}} import.
+
+\subsection{Personal data}
+Edit the personal data section to reflect your personal information.
+This data will appear in the header of the first page of the CV and/or in the footer of every page, as well as on the cover letter.
+Most of the commands are optional, so try out what you like and see what you need.
+
+\paragraph{\code{\\name}}
+A command for your name. Takes the given name and surname as arguments.
+\begin{lstlisting}
+ \name{<given name>}{<surname>}
+\end{lstlisting}
+
+\paragraph{\code{\\title}}
+A command for a document title. Could be used for a generic CV title, job title, etc.
+\begin{lstlisting}
+ \title{<title>}
+\end{lstlisting}
+
+\paragraph{\code{\\born}}
+A command for a birth date.
+\begin{lstlisting}
+ \born{<birth date>}
+\end{lstlisting}
+
+\paragraph{\code{\\address}}
+A command for a three-lined street address.
+\begin{lstlisting}
+ \address{<street address>}{<city and postcode>}{<country>}
+\end{lstlisting}
+
+\paragraph{\code{\\phone}}
+A command for a phone number. Takes the phone type as an optional argument.
+\begin{lstlisting}
+ \phone[<type>]{<phone number>}
+\end{lstlisting}
+The allowed values for \code{<type>} are \code{fax}, \code{fixed} and \code{mobile}.
+
+\paragraph{\code{\\email}}
+A command for an email address.
+\begin{lstlisting}
+ \email{<email address>}
+\end{lstlisting}
+
+\paragraph{\code{\\homepage}}
+A command for a personal website.
+\begin{lstlisting}
+ \homepage{<web address>}
+\end{lstlisting}
+
+\paragraph{\code{\\social}}
+A command for a social media account.
+Takes the platform as an optional argument.
+\begin{lstlisting}
+ \social[<platform>]{<username or handle>}
+\end{lstlisting}
+The following values are supported for \code{<platform>}:
\begin{itemize}
-\item \verb|\firstname{John}|
-\item \verb|\familyname{Doe}|
-\item \verb|\title{Resum\'e title}|: optional
-\item \verb|\address{street and number}{postcode city}|: optional
-\item \verb|\mobile{mobile}|: optional
-\item \verb|\phone{phone}|: optional
-\item \verb|\fax{fax}|: optional
-\item \verb|\email{email}|: optional
-\item \verb|\extrainfo{additional information}|: optional; here you can put, for example, the address of your website
-\item \verb|\photo[64pt]{picture}|: optional; \texttt{64pt} is the height the picture, you can set here the size you prefer; \texttt{picture} is the name of the picture file
-\item \verb|\quote{Some quote}|: optional
-\end{itemize}
-
-Finally you can suppress automatic page numbering for CVs longer than one page:
-
-\begin{verbatim}
-\nopagenumbers{}
-\end{verbatim}
-
-\subsection{Examples}
-
-In practice, you will type:
-
-\begin{verbatim}
-\documentclass[11pt,a4paper]{moderncv}
-
-% moderncv themes
-\moderncvtheme[green]{casual}
-
-% character encoding
-\usepackage[utf8]{inputenc}
-
-% adjust the page margins
-\usepackage[scale=0.8]{geometry}
-\recomputelengths
-
-% personal data
-\firstname{John}
-\familyname{Doe}
-\title{Design enthusiast}
-\address{12 somestreet}{3456 somecity}
-\mobile{+123 456 7890}
-\phone{+12 (3)456 78 90}
-\fax{+12 (3)456 78 90}
-\email{jdoe@design.org}
-\extrainfo{\weblink{www.ctan.org}}
-\photo[64pt]{jdoe_picture}
-\quote{Any intelligent fool can make things bigger, more complex,
-and more violent. It takes a touch of genius -- and a lot of courage -- to
-move in the opposite direction.}
-
-\begin{document}
-\maketitle
-
-... <what you'll see in the next section>
-
-\end{document}
-\end{verbatim}
-
-to obtain a casual moderncv in green, as shown in figure \ref{fig:casual}, and you will substitute the line describing the theme with:
-
-\begin{verbatim}
-% moderncv themes
-\moderncvtheme[blue]{classic}
-\end{verbatim}
-
-to obtain a classic moderncv in blue, as shown in figure \ref{fig:classic}.
-
-
-\begin{figure}[p]
- \centering
- \fbox{\includegraphics[angle=90,width=\textwidth]{cv_casual.pdf}}
- \caption{An example of casual moderncv in green.}
- \label{fig:casual}
-\end{figure}
-
-\begin{figure}[p]
- \centering
- \fbox{\includegraphics[angle=90,width=\textwidth]{cv_classic.pdf}}
- \caption{An example of classic moderncv in blue.}
- \label{fig:classic}
-\end{figure}
-
-\section{Customize sections}
-
-Now we are ready to edit the part between \verb|\begin{document}| and \verb|\end{document}|.
-
-As you can seen in figure \ref{fig:casual} e \ref{fig:classic}, you can divide your CV into sections, each of them describing what you are, what you know and what you have done in your life. Every section is divide into items chosen from different flavours. More in details:
-
-\subsection{Section}
-
-The command to open a new section is:
-
-\begin{verbatim}
-\section{<title>}
-\end{verbatim}
-
-and every section can be divided into subsections:
-
-\begin{verbatim}
-\subsection{<title>}
-\end{verbatim}
-
-If necessary, there is a command to close the section:
-
-\begin{verbatim}
-\closesection{}
-\end{verbatim}
-
-and even one to create an empty section:
-
-\begin{verbatim}
-\emptysection{}
-\end{verbatim}
-
-An example of their usage can be the next one:
-
-\begin{verbatim}
-\section{Section with your own content}\closesection
-Your content here, inside the normal \LaTeX{} environment.
-You can use any regular \LaTeX{} command, display mathematics
-\[e =m\,c^2,\]
-put some table or figure, \dots
-
-\emptysection{}
-\cvitem{Now}{Back to moderncv layout, without making a new section :-)}
-\end{verbatim}
-
-whose results is shown in figure \ref{fig:ex_sec}.
-
-\begin{figure}[!ht]
- \centering
- \fbox{\includegraphics[width=0.9\textwidth]{ex_sec}}
- \caption{Example of usage of section commands.}
- \label{fig:ex_sec}
-\end{figure}
-
-\subsection{Items}
-
-Inside sections, you can choose between different kind of items depending on the purpose:
+ \begin{multicols}{4}
+ \item \code{arxiv}
+ \item \code{battlenet}
+ \item \code{bitbucket}
+ \item \code{codeberg}
+ \item \code{discord}
+ \item \code{github}
+ \item \code{gitlab}
+ \item \code{googlescholar}
+ \item \code{inspire}
+ \item \code{instagram}
+ \item \code{linkedin}
+ \item \code{mastodon}
+ \item \code{matrix}
+ \item \code{orcid}
+ \item \code{playstation}
+ \item \code{researcherid}
+ \item \code{researchgate}
+ \item \code{signal}
+ \item \code{skype}
+ \item \code{soundcloud}
+ \item \code{stackoverflow}
+ \item \code{steam}
+ \item \code{telegram}
+ \item \code{tiktok}
+ \item \code{twitch}
+ \item \code{twitter}
+ \item \code{whatsapp}
+ \item \code{xbox}
+ \item \code{xing}
+ \item \code{youtube}
+ \end{multicols}
+\end{itemize}
+\paragraph{\code{\\extrainfo}}
+A command for any extra information.
+\begin{lstlisting}
+ \extrainfo{<extra information>}
+\end{lstlisting}
+
+\paragraph{\code{\\photo}}
+A command for a photo.
+Takes the image file name as a required argument.
+Takes the height of the photo and the thickness of the photo frame as optional arguments.
+\begin{lstlisting}
+ \photo[<photo height>][<frame thickness>]{<photo file name>}
+\end{lstlisting}
+
+\paragraph{\code{\\quote}}
+A command for a quote.
+\begin{lstlisting}
+ \quote{<quote>}
+\end{lstlisting}
+
+\note{Long names and URLs can break some CVs and cover letters depending on the used style. Manually inserting line breaks for names with \code{\\\\} can help for \texttt{oldstyle} or \texttt{fancy}. Adjusting lengths as described in section \ref{subsection:adjusting:lengths} could help to mitigate issues with long URLs.}
+
+\paragraph{Pictures.}
+For some occasions you may need to include pictures besides the portrait photo. For this task it is helpful to know basic lengths used in \moderncv. For a more detailed description of lengths see section \ref{subsection:adjusting:lengths}.
+For instance, pictures can be included with \code{\\includegraphics}:
+\begin{lstlisting}
+ \hspace{\hintscolumnwidth + \separatorcolumnwidth}\includegraphics[<scale>]{<file name picture>}
+\end{lstlisting}
+Adding \code{\\hspace} in units of basic \code{moderncv} lengths will fit them more naturally into the CV or resume.
+
+\paragraph{Bibliography.}
+In case BibTeX is used, the bibliography settings are adjusted in the lines
+\begin{lstlisting}
+ % to show numerical labels in the bibliography (default is to show no labels)
+ % \renewcommand*{\bibliographyitemlabel}{[\arabic{enumiv}]}
+ % \renewcommand{\refname}{Articles}
+
+ % bibliography with mutiple entries
+ % \usepackage{multibib}
+ % \newcites{book, misc}{{Books}, {Others}}
+\end{lstlisting}
+By default, no labels are shown for bibliography entries.
+Uncommenting the line \code{\%\\renewcommand*\{\\bibliographyitemlabel\}\{[\\arabic\{enumiv\}]\}}
+allows one to fine-tune the labels.
+Uncommenting the line \code{\%\\renewcommand\{\\refname\}\{Articles\}} allows one to redefine the bibliography heading string ``Publications'' that is shown by default.
+Finally, adjustments using the \code{multibib} package can be done in the last two lines shown here.
+
+\note \Biblatex is currently not supported.
+
+\subsection{Modifying CV content}
+\subsubsection{Structuring the CV}
+As with any other document style, the CV can be structured into sections and subsections using \code{\\section} and \code{\\subsection}.
+
+The \Moderncv package provides some macros to add content to your CV.
+The easiest way to understand their intended use is to look at how they're used in the template.
+Nonetheless, we list the macros here along with a short description of their intended use.
+
+\subsubsection{General macros}
+
+\paragraph{\code{\\cvitem}}
+A flexible command for a single CV entry.
+Takes the descriptor and body text as required arguments.
+Can be used to list job experiences and similar.
+\begin{lstlisting}
+ \cvitem{<descriptor>}{<body>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvdoubleitem}}
+A two-column variation of \code{\\cvitem}.
+Takes four required arguments: the descriptor and body text of the first column and the descriptor and body text of the second column.
+Can be used to enter skills, such as computer skills or language skills, in a two-column fashion.
+\begin{lstlisting}
+ \cvdoubleitem{<descriptor 1>}{<body 1>}{<descriptor 2>}{<body 2>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvtripleitem}}
+A three-column variation of \code{\\cvitem}.
+Takes six required arguments: the descriptor and body text of the first column, second and third column.
+Can be used to enter skills, such as computer skills or language skills, in a three-column fashion.
+\begin{lstlisting}
+ \cvtripleitem{<descriptor 1>}{<body 1>}{<descriptor 2>}{<body 2>}{<descriptor 3>}{<body 3>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvitemwithcomment}}
+A variation of \code{\\cvitem} with an additional argument for a comment.
+Can be used to enter skills such as computer skills or language skills.
+\begin{lstlisting}
+ \cvitemwithcomment{<descriptor>}{<skill level>}{<comment>}
+\end{lstlisting}
+
+\paragraph{\code{\\cventry}}
+A command for entering an education or job experience.
+Takes six required arguments: date(s), degree/job title, educational institution/employer, city, academic grade and description.
+While arguments 3 to 6 aren't optional, they can be left empty.
+If line breaks in argument 6 aren't done properly, a minipage can be used.
+Alternatively, \code{\\newline\{\}} can be used to break lines in argument 6.
+\begin{lstlisting}
+ \cventry{<year--year>}{<degree/job title>}{<institution/employer>}
+ {<city>}{<grade>}{<description>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvlistitem}}
+A command for a single bullet-list item.
+Very long lines get broken.
+\begin{lstlisting}
+ \cvlistitem{<item>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvlistdoubleitem}}
+A two-column variation of \code{\\cvlistitem}.
+\begin{lstlisting}
+ \cvlistdoubleitem{<item 1>}{item 2>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvcolumns}}
+An environment typesetting multicolumn \code{\\cvitem}s.
+This can be combined with the \code{itemize} environment.
+\begin{lstlisting}
+ \begin{cvcolumns}
+ \cvcolumn{<category 1>}{<content>}
+ \cvcolumn{<category 2>}{<content>}
+ \cvcolumn[<width>]{<content>}
+ \end{cvcolumns}
+\end{lstlisting}
+\code{<width>} is a number between 0 and 1 controling the width of the column.
+
+\subsubsection{Skill matrix macros}
+The skill matrix is a table for displaying skills such as computer skills or project management skills graphically.
+The skill matrix table consists of several elements:
\begin{itemize}
- \item in the sections describing your education or your job experiences, you can use:
- \begin{verbatim}
-\cventry{years}{degree/job title}{institution/employer}
-{localization}{optional: grade/...}
-{optional: comment/job description}
- \end{verbatim}
-\vspace{-20pt}
-where the last three arguments are optional
- \item inside `language' cvsection environment, you can type every entry with:
- \begin{verbatim}
-\cvlanguage{name}{level}{comment}
- \end{verbatim}
- \item inside `computer skills' cvsection environment, you can type every entry with:
- \begin{verbatim}
-\cvcomputer{category}{programs}{category}{programs}
- \end{verbatim}
- \item to typeset lines with a hint on the left:
- \begin{verbatim}
-\cvline{leftmark}{text}
- \end{verbatim}
- \item to typeset entry with a description on the left, but in two columns inside a cvsection:
- \begin{verbatim}
-\cvdoubleitem{subtitle}{text}{subtitle}{text}
- \end{verbatim}
- \item to typeset lists on one column inside a cvsection:
- \begin{verbatim}
-\cvlistitem{point1}
- \end{verbatim}
- \item to typeset lists on two columns inside a cvsection:
- \begin{verbatim}
-\cvlistdoubleitem{point1}{point2}
- \end{verbatim}
- \item to add a section listing all your publications stored in a BibTeX file:
- \begin{verbatim}
-\nocite{*}
-\bibliographystyle{plain}
-\bibliography{BibTeX_file}
- \end{verbatim}
-\vspace{-20pt}
- where the name of the section title can be changed by redefining the \texttt{refname} with \verb|\renewcommand{\refname}{<new_name>}|
+ \item the graphical representation of the skill on a scale from 0 to 5,
+ \item the legend to explain the meaning of the scale,
+ \item a header line to explain the meaning of the table columns and
+ \item the actual skill entries.
\end{itemize}
-\subsubsection*{Example}
-
-Let's put all together and see in figure \ref{fig:sections} what is the result:
-
-\begin{verbatim}
-... preamble ...
-\begin{document}
-\section{Education}
-\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
-\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
-%
-\section{Master thesis}
-\cvline{title}{\emph{Title}}
-\cvline{supervisors}{Supervisors}
-\cvline{description}{\small Short thesis abstract}
-%
-\section{Experience}
-\subsection{Vocational}
-\cventry{year--year}{Job title}{Employer}{City}{}{Description}
-\cventry{year--year}{Job title}{Employer}{City}{}{Description}
-\subsection{Miscellaneous}
-\cventry{year--year}{Job title}{Employer}{City}{}%
- {Description line 1\newline{}Description line 2}
-%
-\section{Languages}
-\cvlanguage{language 1}{Skill level}{Comment}
-\cvlanguage{language 2}{Skill level}{Comment}
-%
-\section{Computer skills}
-\cvcomputer{category 1}{XXX, YYY, ZZZ}{category 3}{XXX, YYY, ZZZ}
-\cvcomputer{category 2}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
-%
-\section{Interests}
-\cvline{hobby 1}{\small Description}
-\cvline{hobby 2}{\small Description}
-\cvline{hobby 3}{\small Description}
-%
-\closesection{}
-\pagebreak
-%
-\section{Extra}
-\cvlistitem{Item 1}
-\cvlistitem{Item 2}
-\cvlistitem{Item 3}
-%
-\section{Extra 2}
-\cvlistdoubleitem{Item 1}{Item 4}
-\cvlistdoubleitem{Item 2}{Item 5}
-\cvlistdoubleitem{Item 3}{}
-%
-% Publications from a BibTeX file
-\nocite{*}
-\bibliographystyle{plain}
-\bibliography{publications} % 'publications' is the name of a BibTeX file
-%
-\end{document}
-\end{verbatim}
-
-\begin{figure}[!ht]
- \centering
- \fbox{\includegraphics[angle=90,width=\textwidth]{test_cvsection2.pdf}}\\
- \fbox{\includegraphics[angle=90,width=\textwidth]{test_cvsection1.pdf}}
-\caption{Example of usage of items inside cvsections.}
- \label{fig:sections}
-\end{figure}
-
-\section{More customizations}
-
-You have some useful commands to personalize your CV further.
-
-\subsection*{Modifying the symbols}
-You can modify the symbols used for the personal data (phone number, the email, \ldots) redefining \texttt{phonesymbol}, \texttt{emailsymbol}, \texttt{addresssymbol}, \texttt{mobilesymbol}, \texttt{faxsymbol}.
-
-For example: if you want to use the dingbat fonts, load the \texttt{pifont} package in the preamble, then substitute the default symbol \Telefon\ with the dingbat symbol \ding{38}\ by:
-\begin{verbatim}
-\renewcommand{\phonesymbol}{\ding{38}}
-\end{verbatim}
-
-You can change the symbol for lists in two way:
+\paragraph{\code{\\cvskill}}
+A command for the graphical representation of a single skill.
+The required argument must be a number from 0 to 5.
+\begin{lstlisting}
+ \cvskill{<0-5>}
+\end{lstlisting}
+This command can be used outside of the skill matrix, too.
+
+\paragraph{\code{\\cvskilllegend}}
+A command for a legend for the skill matrix.
+Takes six optional arguments: post-padding width and the descriptions for the five skill levels.
+\begin{lstlisting}
+ \cvskilllegend
+ \cvskilllegend*[<post-padding>][<level 1>][<level 2>][<level 3>]
+ [<level 4>][<level 5>]{<descriptor>}
+\end{lstlisting}
+The command with no arguments inserts the legend in its standard form: without a descriptor or any lines.
+An optional asterisk toggles the inclusion of a dashed line.
+\code{<post-padding>} must be a valid length like \code{1em} or \code{1ex}.
+
+The most general form of this command can be used to translate the legend descriptions into other languages or to add a name descriptor:
+\begin{lstlisting}
+ % Example: German translation
+ \cvskilllegend[0.2em][Grundkenntnisse]
+ [Grundkenntnisse und eigene Erfahrung in Projekten]
+ [Umfangreiche Erfahrung in Projekten]
+ [Vertiefte Expertenkenntnisse][Experte/Guru]{Legende}
+\end{lstlisting}
+
+\paragraph{\code{\\cvskillplainlegend}}
+A variation of \code{\\cvskilllegend} with the first three skill levels in the first column.
+\begin{lstlisting}
+ \cvskillplainlegend
+ \cvskillplainlegend*[<post-padding>][<level 1>][<level 2>]
+ [<level 3>][<level 4>][<level 5>]{<descriptor>}
+\end{lstlisting}
+
+\paragraph{\code{\\cvskillhead}}
+A command for a header line for the skill matrix.
+Takes five optional arguments: post-padding width, level, skill label, years of experience and a comment.
+\begin{lstlisting}
+ \cvskillhead[<post-padding>][<level>][<skill>][<years of experience>][<comment>]
+\end{lstlisting}
+\code{<post-padding>} must be a valid length like \code{1em} or \code{1ex}.
+
+\paragraph{\code{\\cvskillentry}}
+A command for an entry in the skill matrix.
+Takes five required arguments: skill category, skill level (0 to 5), skill name, years of experience and a comment.
+Takes a single optional argument for the post-padding width.
+\begin{lstlisting}
+ \cvskillentry*[<post-padding>]{<skill category>}{<0-5>}
+ {<skill name>}{<years of experience>}{<comment>}
+\end{lstlisting}
+An optional asterisk toggles the inclusion of a dashed line.
+\code{<post-padding>} must be a valid length like \code{1em} or \code{1ex}.
+
+How to make length adjustments to the skill matrix will be explained in section \ref{section:length:skillmatrix}.
+
+\subsection{Letter of motivation}
+
+In order to provide additional information for a job application, {\moderncv} provides a motivation letter. Define the following recipient data fields to customize your letter:
+\paragraph{\code{\\recipient}}
+A command for the letter's recipient. This allows line breaks to properly format the recipient's address.
+\begin{lstlisting}
+ \recipient{<Team or contact person>}{<company>\\<street>\\<city>}
+\end{lstlisting}
+
+\paragraph{\code{\\date}}
+A command to set the letter's date.
+\begin{lstlisting}
+ \date{<your custom date>}
+\end{lstlisting}
+
+\paragraph{\code{\\subject}}
+A command to define the job application subject.
+\begin{lstlisting}
+ \subject{<subject>}
+\end{lstlisting}
+
+\paragraph{\code{\\opening}}
+A command to set your opening (e.g. ``Dear X,'' or ``To whom it may concern,'').
+\begin{lstlisting}
+ \opening{<greeting>}
+\end{lstlisting}
+
+\paragraph{\code{\\closing}}
+A command to set your closing (e.g. ``Sincerely,'' or ``Yours truly,'').
+\begin{lstlisting}
+ \closing{<closing>}
+\end{lstlisting}
+
+\paragraph{\code{\\signature}}
+An optional command to include your signature after the closing. This feature is defined using the \code{\\includegraphics}. The first argument is the scale and the second argument is the filename of your scanned signature.
+\begin{lstlisting}
+ \signature{<scale>}{<signature filename>}
+\end{lstlisting}
+
+\paragraph{\code{\\enclosure}}
+A command to list the attached documents. The first optional parameter allows a redefinition of the default ``Enclosure'' label.
+\begin{lstlisting}
+ \enclosure[<optional alternative label>]{<list of documents>}
+\end{lstlisting}
+
+\note If typesetting the resume in Chinese using CJK an additional \code{\\clearpage} is required after the \code{\\makeletterclosing} command. This helps \code{fancyhdr} to work correctly with CJK. Otherwise it will remove the page numbering by making \code{lastpage} undefined.
+
+\section{Customization}
+\label{section:customization}
+\subsection{Styles and their options}
+\label{section:customization:stylesAndOptions}
+Each style allows fine-tuning via options passed into the \code{\\moderncvstyle} command:
+\begin{lstlisting}
+ \moderncvstyle[<option 1>, <option 2>, ...]{<style>}
+\end{lstlisting}
+Each style defines its own options, and not all options are available for each style.
+Below is a list of all the options available for each style:
+
+\paragraph{\code{casual}}
+This style allows the following options which \emph{only} affect header and footer styles:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.72\textwidth}}
+ \textbf{\code{head alignment}} & values: \code{left}, \code{right} (default).
+ Aligns the title and the picture if one is included. \\
+ \textbf{\code{name}} & values: \code{alternate}.
+ Displays the name in all lowercase.
+ Differentiation of the name is done by color (disabled by default).
+ This feature is discouraged for longer names. \\
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\paragraph{\code{classic}}
+This style allows the following options which \emph{only} affect header and footer styles:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}}
+ \textbf{\code{alignment}} & values: \code{left} (default), \code{right}.
+ Aligns the address block and the picture. \\
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\paragraph{\code{banking}}
+This style allows the following options:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.68\textwidth}}
+ \textbf{\code{alignment (body)}} & values: \code{left} (default), \code{center}, \code{right}.
+ Aligns the entries in the style. \\
+ \textbf{\code{rule style}} & values: \code{fullrules}, \code{shortrules}, \code{mixedrules} (default), \code{norules}.
+ Adjusts the rules used in the style. \\
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\paragraph{\code{oldstyle}}
+This style allows the following options:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}}
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\paragraph{\code{fancy}}
+This style allows the following options:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.73\textwidth}}
+ \textbf{\code{data in head}} & values: \code{details}, \code{nodetails} (default).
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{symbols}} & values: \code{symbols} (default), \code{nosymbols}.
+ Toggles between inclusion of icons or text-based abbreviations for personal data.
+\end{tabular}
+
+\note Only one option from each option category can be passed in at a time, e.g.
+\begin{lstlisting}
+ \moderncvstyle[left, nosymbols]{casual}
+\end{lstlisting}
+
+\paragraph{\code{contemporary}}
+This style allows the following options which \emph{only} affect header and footer styles:
+
+\begin{tabular}{r@{\hspace{2ex}}p{0.75\textwidth}}
+ \textbf{\code{alignment}} & values: \code{left} (default), \code{right}.
+ Aligns the address block and the picture. \\
+ \textbf{\code{data in head}} & values: \code{details} (default), \code{nodetails}.
+ Toggles between the header and footer as the location of personal data on the page. \\
+ \textbf{\code{qr}} & values: \code{qr} (default), \code{noqr}.
+ Enables or disables the inclusion of a QR code of your personal website.
+\end{tabular}
+\note For the \code{contemporary} style it is recommended to use the \code{\\moderncvcolor\{cerulean\}} color scheme. The \code{contemporary} style is even more appealing with reduced margins. Use this in your preamble:
+\begin{lstlisting}
+ \usepackage[hmargin=0.5in,vmargin=10pt]{geometry}
+\end{lstlisting}
+
+\subsection{Adjusting colors}
+The colors of each style can be adjusted.
+
+\note The color theme must be loaded \emph{before} \code{\\moderncvstyle}, i.e.
+\begin{lstlisting}
+ \moderncvcolor{blue}
+ \moderncvstyle{casual}
+\end{lstlisting}
+
+\paragraph{Base colors.}
+Each style defines three main colors: \code{color0}, \code{color1} and \code{color2}.
+\code{color0} is black and the main text color.
+\code{color1} is the main theme color, like blue, green, etc.
+\code{color2} is a some form of grey used for the user data, etc.
+These colors can be redefined by using either \code{\\definecolor} or \code{\\colorlet}:
+\begin{lstlisting}
+ \definecolor{color1}{rgb}{0.55, 0.55, 0.55} % dark grey
+ \colorlet{color1}{black}
+\end{lstlisting}
+Any mechanism for naming and defining colors used by the \code{xcolor} package can be used to redefine the colors of a \Moderncv style.
+
+\paragraph{Fine tuning.}
+If an even finer control over the color scheme of the style is desired, the following color settings are used internally for the \code{casual} style and can be redefined:
+\begin{lstlisting}
+ % Head and footer
+ \colorlet{lastnamecolor}{color1}
+ \colorlet{namecolor}{lastnamecolor}
+ \colorlet{headrulecolor}{color1}
+ \colorlet{firstnamecolor}{lastnamecolor!50}
+ \colorlet{titlecolor}{color2}
+ \colorlet{addresscolor}{color2}
+ \colorlet{quotecolor}{color1}
+ \colorlet{pictureframecolor}{color1}
+ % Body
+ \colorlet{bodyrulecolor}{color1}
+ \colorlet{sectioncolor}{color1}
+ \colorlet{subsectioncolor}{color1}
+ \colorlet{hintstylecolor}{color0}
+ % Letter
+ \colorlet{letterclosingcolor}{color2}
+ % Skill matrix
+ \colorlet{skillmatrixfullcolor}{color1}
+ \colorlet{skillmatrixemptycolor}{color2!30}
+\end{lstlisting}
+
+
+\subsection{Modifying symbols and icons}
+\subsubsection{Icons}
+As stated in section \ref{section:customization:stylesAndOptions}, the use of icons is toggled by the \code{symbols} option that can be passed to \code{\\moderncvstyle}.
+
+The icons used in the display of the personal data (phone numbers, email, fax, social media accounts, etc.) can be customized by redefining the internal commands for the symbols:
+\begin{lstlisting}
+ \renewcommand*{<\symbolcommand>}{{\small<\symbol>}~}
+\end{lstlisting}
+Using \code{\\small} is optional, but the default behavior is to render all icons using \code{\\small}.
+Use \code{\\small} if one merely wishes to replace an icon/symbol while keeping the size consistent with the default icons/symbols.
+The tilde ensures proper spacing after the symbols and is recommended as well.
+
+Currently \Moderncv supports the following commands as \code{<\\symbolcommand>}:
\begin{itemize}
- \item redefining the command \texttt{listitemsymbol}: \verb|\renewcommand{\listitemsymbol}{-}|
- \item adding a specification for the label in \texttt{cvlistitem} and \texttt{cvlistdoubleitem}
+ \begin{multicols}{2}
+ \item \code{\\addresssymbol}
+ \item \code{\\mobilephonesymbol}
+ \item \code{\\fixedphonesymbol}
+ \item \code{\\faxphonesymbol}
+ \item \code{\\emailsymbol}
+ \item \code{\\homepagesymbol}
+ \item \code{\\linkedinsocialsymbol}
+ \item \code{\\xingsocialsymbol}
+ \item \code{\\twittersocialsymbol}
+ \item \code{\\githubsocialsymbol}
+ \item \code{\\gitlabsocialsymbol}
+ \item \code{\\stackoverflowsocialsymbol}
+ \item \code{\\googlescholarsocialsymbol}
+ \item \code{\\telegramsocialsymbol}
+ \item \code{\\whatsappsocialsymbol}
+ \item \code{\\signalsocialsymbol}
+ \item \code{\\matrixsocialsymbol}
+ \item \code{\\orcidsocialsymbol}
+ \item \code{\\researchgatesocialsymbol}
+ \item \code{\\researcheridsocialsymbol}
+ \item \code{\\bitbucketsocialsymbol}
+ \item \code{\\skypesocialsymbol}
+ \item \code{\\bornsymbol}
+ \item \code{\\arxivsocialsymbol}
+ \item \code{\\inspiresocialsymbol}
+ \end{multicols}
\end{itemize}
+The possible options for \code{<\\symbol>} depend on the package that is used.
+By default, the \code{marvosym} package is loaded if \code{pdflatex} is used, and the \code{academicons} and \code{fontawesome5} packages are loaded if either \code{lualatex} or \code{xelatex} is used.
+Full lists of all available symbols and icons can be found in the documentation of each respective package:
+
+\begin{tabular}{l}
+ \url{https://ctan.org/pkg/marvosym} \\[1ex]
+ \url{https://ctan.org/pkg/fontawesome5} \\[1ex]
+ \url{https://ctan.org/pkg/academicons}
+\end{tabular}
+
+\paragraph{Example.}
+If one wanted to use the dingbat fonts to replace the default phone symbol, one should load the \code{pifont} package in the preamble and then substitute the default symbol with the dingbat symbol \ding{38}\ with
+\begin{lstlisting}
+ \renewcommand*{\fixedphonesymbol}{\ding{38}~}
+\end{lstlisting}
+
+\paragraph{Alternative to icons}
+In case you do not want \texttt{symbols} (default) for the icons, there is also the option to replace icons with \texttt{letters} instead. This is set by the macro \code{\\moderncvicons}, which must be called after setting the style in the preamble.
+\begin{lstlisting}
+ \moderncvicons{<symbols|letters>}
+\end{lstlisting}
+This mechanism is also used to determine the icon set. In principle the \code{\\moderncvicons} can be used to determine the icon set with the possible values \texttt{marvosym}, \texttt{awesome} or \texttt{academic}, but it is recommended to let {\moderncv} decide the correct icon set due to differing \Latex compiler support.
+
+\subsubsection{Listing labels}
+The labels used in \code{itemize} environments, \code{cvlistitem} and \code{cvlistdoubleitem} can be changed in two different ways:
-For example: the following code produces the result shown in figure \ref{fig:ex_items}.
-
-\begin{verbatim}
-\closesection{} % needed to renewcommands
-\renewcommand{\listitemsymbol}{-} % change the symbol for lists
-
-\section{Extra 1}
-\cvlistitem{Item 1}
-\cvlistitem{Item 2}
-\cvlistitem[+]{Item 3} % optional other symbol
-
-\section{Extra 2}
-\cvlistdoubleitem[\Neutral]{Item 1}{Item 4}
-\cvlistdoubleitem[\Neutral]{Item 2}{Item 5}
-\cvlistdoubleitem[\Neutral]{Item 3}{}
-\end{verbatim}
-
-\begin{figure}[!hbt]
- \centering
- \fbox{\includegraphics[width=.8\textwidth]{ex_items.png}}
- \caption{Example of customization of the list labels.}
- \label{fig:ex_items}
-\end{figure}
-
-\subsection*{Adjusting lenghts}
-The different lengths used by moderncv are customizable by
-\begin{verbatim}
-\setlength{<length>}{<new_dimensions>}
-\end{verbatim}
-where \texttt{<length>} are \texttt{quote\-width}, \texttt{sep\-a\-ra\-tor\-col\-umn\-width}, \texttt{main\-col\-umn\-width}, \texttt{doub\-le\-i\-tem\-main\-col\-umn\-width}, \texttt{list\-i\-tem\-sym\-bol\-width}, \texttt{list\-doub\-le\-i\-tem\-main\-col\-umn\-width},
-
-In particular, the first column, can be set to any width. You can do that in two way:
\begin{itemize}
- \item using \verb|\sethintscolumnlength{<length>}|, where \texttt{<length>} is the desired length in a unit LaTeX understands
- \item using \verb|\sethintscolumntowidth{<string>}|, where \texttt{<string>} is a string of the desired length (usually, the longest string that has to appear in the column)
+ \item Redefining \code{\\labelitemi}, \code{\\labelitemii}, \code{\\labelitemiii} and \code{\\labelitemiv} changes the labels for \code{itemize} environments as well as for \code{cvlistitem} and \code{cvlistdoubleitem}, e.g.
+ \begin{lstlisting}
+ \renewcommand{\labelitemi}{-}
+ \end{lstlisting}
+ \item Redefining \code{\\listitemsymbol} changes the labels for \code{cvlistitem} and \code{cvlistdoubleitem} but \emph{not} for \code{itemize} environments, e.g.
+ \begin{lstlisting}
+ \renewcommand{\listitemsymbol}{-}
+\end{lstlisting}
\end{itemize}
-\subsection*{Additional commands}
-There are commands to manage hypertextual links:
+\subsection{Adjusting lengths}\label{subsection:adjusting:lengths}
+Some lengths in \Moderncv can be adjusted.
+
+The hints column can be adjusted by setting \code{\\hintscolumnwidth}:
+\begin{lstlisting}
+ \setlength{\hintscolumnwidth}{3cm}
+\end{lstlisting}
+
+For the \code{classic} style, the amount of horizontal space for the name can be adjusted by setting \code{\\makecvheadnamewidth} to avoid breaks:
+\begin{lstlisting}
+ \setlength{\makecvheadnamewidth}{10cm}
+\end{lstlisting}
+One should be careful though, as the length is normally calculated to avoid any overlap with the personal information.
+This should be used at one's own typographical risk.
+
+The spacing between the hints column and the CV entries can be adjusted by setting\\
+\code{\\separatorcolumnwidth}. The default value is \code{0.025\\textwidth}.
+\begin{lstlisting}
+ \setlength{\separatorcolumnwidth}{0.05\textwidth}
+\end{lstlisting}
+
+The spacing between the list symbol and the text item of \code{\\cvlistitem} and \code{\\cvlistdoubleitem} can be adjusted by setting \code{\\listitemsymbolspace} in the preamble. The default value is set to \code{0pt}.
+\begin{lstlisting}
+ \setlength{\listitemsymbolspace}{5pt}
+\end{lstlisting}
+
+The width of the footer can be adjusted by setting \code{\\footwidth}. Due to internal calculations \code{\\renewcommand} is needed. The default value is \code{0.8\\textwidth}.
+\begin{lstlisting}
+ \renewcommand*{\recomputefootlengths}{%
+ \setlength{\footwidth}{0.9\textwidth}}
+\end{lstlisting}
+
+The width of the quote can be adjusted by setting \code{\\quotewidth}. Due to internal calculations \code{\\renewcommand} is needed. The default value is \code{0.65\\textwidth}.
+\begin{lstlisting}
+ \renewcommand*{\recomputecvheadlengths}{%
+ \setlength{\quotewidth}{0.5\textwidth}}
+\end{lstlisting}
+
+
+% The different lengths used by moderncv are customizable by
+% \begin{lstlisting}
+% \setlength{<length>}{<new_dimensions>}
+% \end{lstlisting}
+% where \code{<length>} are \code{maincolumnwidth}, \code{doubleitemmaincolumnwidth}, \code{listitemsymbolwidth}, \code{listdoubleitemmaincolumnwidth},
+
+
+\subsubsection{Lengths in the skill matrix}
+\label{section:length:skillmatrix}
+Both the width of the skill matrix legend and the width of the skill matrix columns can be adjusted.
+
+The width of the skill matrix legend can be adjusted as follows:
+\begin{lstlisting}
+ \setcvskilllegendcolumns[<width>][<factor>]
+ % Examples:
+ \setcvskilllegendcolumns[][0.45]
+ \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]
+ \setcvskilllegendcolumns[0ex][0.46] % useful for the banking style
+\end{lstlisting}
+\code{<width>} should be a length smaller than \code{\\textwidth}, and \code{<factor>} must be between 0 and 1.
+
+The width of the skill matrix columns can be adjusted as follows:
+\begin{lstlisting}
+ \setcvskillcolumns[<width>][<factor>][<exp_width>]
+ % Examples:
+ \setcvskillcolumns[5em][][] % adjust first column, same as \setcvskillcolumns[5em]
+ \setcvskillcolumns[][0.45][] % adjust third (skill) column, same as \setcvskillcolumns[][0.45]
+ \setcvskillcolumns[][][\widthof{``Year''}] % adjust fourth (years of experience) column
+ \setcvskillcolumns[][0.45][\widthof{``Year''}]
+ \setcvskillcolumns[\widthof{``Language''}][0.48][]
+ \setcvskillcolumns[\widthof{``Language''}]
+\end{lstlisting}
+\code{<width>} and \code{<exp_width>} should be lengths smaller than \code{\\textwidth}, and \code{<factor>} must be between 0 and 1.
+
+\subsection{Additional link commands}%% adapted from Cristina Sambo's documentation
+To create links to a website or a email address, use the following commands:
+
+A general weblink with optional text.
+\begin{lstlisting}
+ \link[<text>]{<link>}
+ %% example
+ \link[name of the link]{ftp://ftp.somesite.org}
+\end{lstlisting}
+
+An HTTP link. The HTTP prefix is generated automatically and is not needed in the link argument.
+\begin{lstlisting}
+ \link[<text>]{<link>}
+ %% example
+ \link[goto HTTP site]{www.somehttpsite.org}
+\end{lstlisting}
+
+A HTTPS link. The HTTPS prefix is generated automatically and is not needed in the link argument.
+\begin{lstlisting}
+ \link[<text>]{<link>}
+ %% example
+ \httpslink[goto HTTPS site]{www.somesecuresite.org}
+\end{lstlisting}
+
+An email link. The mailto prefix is generated automatically and is not needed in the link argument.
+\begin{lstlisting}
+ \link[<text>]{<link>}
+ %% example
+ \emaillink[my email]{jdoe@website.org}
+\end{lstlisting}
+
+\subsection{Page breaks and orphaned section headers}
+If \Latex breaks pages just after \code{\\section} or \code{\\subsection} commands, try adjusting the stretchability of the page with \code{\\cvsectionstretchability} or \code{\\cvsubsectionstretchability}:
+\begin{lstlisting}
+ \setlength{\cvsectionstretchability}{\baselineskip}
+ \setlength{\cvsubsectionstretchability}{100pt}
+\end{lstlisting}
+These two lengths tell \Latex how much extra length it needs after \code{\\section} and \code{\\subsection} commands.
+By default, \Moderncv sets both lengths to \code{0.9\\baselineskip}.
+
+This should solve orphaned \code{\\section} and \code{\\subsection} commands that are used alone for most users.
+However, \Latex does not check for content.
+For example, writing
+\begin{lstlisting}
+ \section{blub}
+ \subsection{blubblub}
+\end{lstlisting}
+one after the other may cause \Latex to place the section and subsection headers on separate pages.
+Since \Latex considers the subsection header to not be orphaned, it may place the section header at the bottom of a page if there is enough space to do so while placing the subsection header on the next page.
+One solution is to increase \code{\\cvsectionstretchability} to force the break of the section header.
+However, this changes the behaviour for all \code{\\section} commands in your CV and might cause unnecessary page breaks.
+It is therefore recommended to force the page break manually with a \code{\\newpage} in this case.
+
+\paragraph{Experts only:}
+Internally, \Moderncv uses a custom \code{\\needspace} command:
+\begin{lstlisting}
+ \NewDocumentCommand\@cvneedspace{m}{%
+ \begingroup
+ \setlength{\dimen@}{#1}%
+ \vskip\z@\@plus\dimen@
+ \penalty \withinstretchpenalty\vskip\z@\@plus -\dimen@
+ \vskip\dimen@
+ \penalty \poststretchpenalty%
+ \vskip -\dimen@
+ \vskip\z@skip % hide the previous |\vskip| from |\addvspace|
+ \endgroup
+ }
+\end{lstlisting}
+Thus, instead of setting \code{\\cvsectionstretchability} and/or \code{\\cvsubsectionstretchability}, page break behavior can be adjusted by redefining the following internal penalties:
+\begin{lstlisting}
+ \renewcommand{\withinstretchpenalty}{<-100...9999>}
+ \renewcommand{\poststretchpenalty}{<-100...9999>}.
+\end{lstlisting}
+By default, \Moderncv sets \code{\\withinstretchpenalty} to 0 and \code{\\poststretchpenalty} to 9999.
+The higher the penalties are, the less likely a page break will occur.
+A good explanation of \code{\\needspace} can be found at \url{https://tex.stackexchange.com/questions/348994/understanding-needspace}.
+
+
+\subsection{Tips and Tricks}
+\subsubsection{Legal disclaimer at the end of the CV}
+Some countries (e.g. Italy) require you to add a legal disclaimer authorizing the use of the personal data in your CV.
+To add such a disclaimer, add the following to the bottom of your CV:%
+\footnote{Example provided by Cristina Sambo}%
+\begin{lstlisting}
+ \vfill
+ \begin{center}
+ \textit{\small Ai sensi del D. Lgs. 196/2003 ...}
+ \end{center}
+\end{lstlisting}
+
+
+
+\section{Implementation details}
+\label{section:implementationDetails}
+
+\subsection{Creating your own styles}
+Currently {\moderncv} ships with six different styles: \texttt{casual} (default), \texttt{classic}, \texttt{banking}, \texttt{oldstyle}, \texttt{fancy} and \texttt{contemporary}. Internally, these styles are numbered 1, 2, 3, 4, 5 and 6, respectively. All styles except \texttt{oldstyle} and \texttt{fancy} possess additional option parameters which were described in section \ref{section:customization:stylesAndOptions}.
+
+Different styles' head, body and foot can be combined to create custom styles. This is done by setting \code{\\moderncvhead}, \code{\\moderncvbody} and \code{\\moderncvfoot} in the preamble. Here is an example of a custom style with a \texttt{banking} head, an \texttt{oldstyle} body and a \texttt{casual} foot:
+\begin{lstlisting}
+ \moderncvhead{3}
+ \moderncvbody{4}
+ \moderncvfoot{1}
+\end{lstlisting}
+Furthermore, options for each part of {\moderncv} parts can be set as well in such combinations. To get a CV with a \texttt{classic} head and a \texttt{banking} body with full rules, define the following in the preamble:
+\begin{lstlisting}
+ \moderncvhead{2}
+ \moderncvbody[fullrules]{3}
+ \moderncvfoot{1}
+\end{lstlisting}
+
+
+\subsection{Required packages}
+\label{section:implementationDetails:requiredPackages}
+In addition to the packages that \Moderncv provides, the following packages are loaded internally:
\begin{itemize}
- \item[-] \verb|\weblink[optional text]{link}|
- \item[-] \verb|\httplink[optional text]{link}|
- \item[-] \verb|\emaillink[optional text]{link}|
+ \begin{multicols}{3}
+ \item \code{etoolbox}
+ \item \code{ifthen}
+ \item \code{xcolor}
+ \item \code{ifxetex} or \code{ifluatex}
+ \item \code{fontenc}
+ \item \code{url}
+ \item \code{hyperref}
+ \item \code{graphicx}
+ \item \code{fancyhdr}
+ \item \code{tweaklist}%
+ \footnote{The \code{tweaklist} package has been altered for the development of \Moderncv and ships with \moderncv.}
+ \item \code{calc}
+ \item \code{xparse}
+ \item \code{microtype}
+ \item \code{expl3}
+ \item \code{tikz}
+ \item \code{changepage}
+ \item \code{fontawesome5}
+ \item \code{academicons}
+ \item \code{tgpagella}
+ \item \code{ebgaramond}
+ \item \code{kurier}
+ \item \code{multirow}
+ \item \code{arydshln}
+ \end{multicols}
\end{itemize}
-There is a \verb|\today| command, useful for example if you need to add the date the CV was produced.
-
-\subsection*{Putting things at the end of CV}
-Sometimes there is the need to add some lines at the end of the CV. For example, in Italy is necessary to add the permission to treat the personal data contained in the r\'esum\'e. You can do that dropping out of the layout of \texttt{moderncv} and pushing the lines at the end by the command \verb|\vfill|:
-\begin{verbatim}
-\emptysection{}\closesection
-\vfill
-\begin{center}
-\textit{\small Ai sensi del D. Lgs. 196/2003 ...}
-\end{center}
-\end{verbatim}
+Most of these packages should be included in your \Latex distribution of choice.
+
+\subsection{Known conflicts with other packages}
+\begin{enumerate}
+ \item \Moderncv is incompatible with \code{biber}.
+ \item \Moderncv is incompatible with \biblatex.
+ \item \Moderncv is incompatible with \code{babel} in Spanish
+\end{enumerate}
+
+\subsection{Known bugs}
+\begin{enumerate}
+ \item Skill matrices don't break automatically in \texttt{fancy} style.
+ \item Long names break the \texttt{oldstyle} style and possibly other styles (needs testing).
+ \item Long URLs in \texttt{classic} style can make the name break line.
+ Fixed width for the address part must be implemented.
+ \item When using the \texttt{fancy} style, undesired space is added between the bibliography head and the first entry, as well as after the last entry.
+ \item Footnotes generate errors, but the output seems correct when running with \code{-interaction=nonstopmode}.
+ \item When using CJK, the last \code{\\clearpage} required for the \code{fancyhdr} package to work properly kills the ``lastpage'' counter, and therefore also the page numbering.
+ \item \Moderncv produces the error ``\code{lonely \\item--perhaps a missing list environment}'' when used with the \code{bibentry} package, though the output is actually correct.
+ Among other things, this causes compilation by LyX to stop.
+ \item The space after a \code{\\cventry} gets eaten up when the last argument contains a nested \code{itemize} environment.
+ An ugly hack and incomplete solution was implemented by including a \code{\\strut} in every item label, but this doesn't solve the problem for multi-line items.
+ Ideally, the \code{\\strut} should end the item, but there seems to be no way to do this.
+\end{enumerate}
\end{document}
diff --git a/macros/latex/contrib/moderncv/moderncv.cls b/macros/latex/contrib/moderncv/moderncv.cls
index 44b9e35914..20cedc8b61 100644
--- a/macros/latex/contrib/moderncv/moderncv.cls
+++ b/macros/latex/contrib/moderncv/moderncv.cls
@@ -1,5 +1,5 @@
%% start of file `moderncv.cls'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{moderncv}[2022-02-21 v2.3.1 modern curriculum vitae and letter document class]
+\ProvidesClass{moderncv}[2024-07-18 v2.4.1 modern curriculum vitae and letter document class]
%-------------------------------------------------------------------------------
@@ -103,7 +103,8 @@
\urlstyle{tt}
\AtEndPreamble{
\pagenumbering{arabic}% has to be issued before loading hyperref, as to set \thepage and hence to avoid hyperref issuing a warning and setting pdfpagelabels=false
- \RequirePackage[unicode]{hyperref}% unicode is required for unicode pdf metadata
+ \PassOptionsToPackage{unicode}{hyperref}
+ \RequirePackage{hyperref}
\hypersetup{
breaklinks,
pdfborder = 0 0 0,
@@ -114,10 +115,16 @@
bookmarksopen = true,
bookmarksdepth= 2,% to show sections and subsections
pdfauthor = {\@firstname{}~\@lastname{}},
- pdftitle = {\@firstname{}~\@lastname{}\notblank{\@title}{ -- \@title}{}},
+ pdftitle =
+ {\@firstname{}~\@lastname{}\expandafter\notblank\expandafter{\@title}{ -- \@title}{}}, %\notblank does not expand argument automatically
pdfsubject = {R\'{e}sum\'{e} of \@firstname{}~\@lastname{}},
pdfkeywords = {\@firstname{}~\@lastname{}, curriculum vit\ae{}, r\'{e}sum\'{e}}}}
+% pdftex not using pdfmanagement-testphase requires T1 font encoding in order to handle links containing special characters somewhat properly
+\ifpdftex
+ \IfPDFManagementActiveTF{}{\RequirePackage[T1]{fontenc}}
+\fi
+
% graphics
\RequirePackage{graphicx}
@@ -138,9 +145,9 @@
\@ifundefined{r@lastpage}{}{%
\ifthenelse{\pageref{lastpage}>1}{%
\newlength{\pagenumberwidth}%
- \settowidth{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}%
+ \settowidth{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\pageref{lastpage}}%
\fancypagestyle{plain}{%
- \fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\pageref{lastpage}}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
+ \fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\protect\NoHyper\pageref{lastpage}\protect\endNoHyper}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
\pagestyle{plain}}{}}\fi}%
\AtEndDocument{\label{lastpage}}}
\pagestyle{plain}
@@ -231,8 +238,9 @@
\newcommand*{\email}[1]{\def\@email{#1}}
% defines one's home page (optional)
-% usage: \homepage{<url>}
-\newcommand*{\homepage}[1]{\def\@homepage{#1}}
+% usage: \homepage[<optional protocol>]{<url>}
+% where <optional protocol> should be either "https" (default) or "http"
+\NewDocumentCommand{\homepage}{O{https}m}{\def\@homepageprotocol{#1}\def\@homepage{#2}}
% adds a fixed/mobile/fax number to one's personal information (optional)
% usage: \phone[<optional type>]{<number>}
@@ -247,11 +255,41 @@
% http://latex.org/forum/viewtopic.php?t=12239
\def\SplitMyMacro#1/#2{#2}
-
-
+
+
% adds a social link to one's personal information (optional)
% usage: \social[<optional type>][<optional url>]{<account name>}
-% where <optional type> should be either "linkedin", "xing", "twitter", "github", "gitlab", "bitbucket" or "skype"
+% where <optional type> should be either:
+% - "linkedin"
+% - "xing"
+% - "twitter"
+% - "mastodon"
+% - "github"
+% - "gitlab"
+% - "stackoverflow"
+% - "bitbucket"
+% - "skype"
+% - "orcid"
+% - "researchgate"
+% - "researcherid"
+% - "telegram"
+% - "whatsapp"
+% - "signal"
+% - "matrix"
+% - "googlescholar"
+% - "codeberg"
+% - "discord"
+% - "twitch"
+% - "youtube"
+% - "tiktok"
+% - "instagram"
+% - "soundcloud"
+% - "steam
+% - "xbox"
+% - "playstation"
+% - "battlenet"
+% - "arxiv"
+% - "inspire"
\collectionnew{socials}
\NewDocumentCommand{\social}{O{}O{}m}{%
\ifthenelse{\equal{#2}{}}%
@@ -259,6 +297,7 @@
\ifthenelse{\equal{#1}{linkedin}} {\collectionadd[linkedin]{socials} {\protect\httpslink[#3]{www.linkedin.com/in/#3}}} {}%
\ifthenelse{\equal{#1}{xing}} {\collectionadd[xing]{socials} {\protect\httpslink[#3]{www.xing.com/profile/#3}}} {}%
\ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{twitter.com/#3}}} {}%
+ \ifthenelse{\equal{#1}{mastodon}} {\collectionadd[mastodon]{socials} {\protect\httpslink[#3]{#3}}} {}%
\ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httpslink[#3]{github.com/#3}}} {}%
\ifthenelse{\equal{#1}{gitlab}} {\collectionadd[gitlab]{socials} {\protect\httpslink[#3]{gitlab.com/#3}}} {}%
\ifthenelse{\equal{#1}{stackoverflow}}{\collectionadd[stackoverflow]{socials}{\protect\httpslink[#3]{stackoverflow.com/users/#3}}} {}%
@@ -271,7 +310,20 @@
\ifthenelse{\equal{#1}{whatsapp}} {\collectionadd[whatsapp]{socials} {\protect\httpslink[#3]{wa.me/#3}}} {}%
\ifthenelse{\equal{#1}{signal}} {\collectionadd[signal]{socials} {#3}} {}%
\ifthenelse{\equal{#1}{matrix}} {\collectionadd[matrix]{socials} {\httpslink[#3]{matrix.to/\#/#3}}} {}%
- \ifthenelse{\equal{#1}{googlescholar}}{\collectionadd[googlescholar]{socials}{\protect\httpslink[#3]{scholar.google.com/citations?user=#3}}} {}% {}%
+ \ifthenelse{\equal{#1}{googlescholar}}{\collectionadd[googlescholar]{socials}{\protect\httpslink[#3]{scholar.google.com/citations?user=#3}}} {}%
+ \ifthenelse{\equal{#1}{codeberg}} {\collectionadd[codeberg]{socials} {\protect\httpslink[#3]{codeberg.org/#3}}} {}%
+ \ifthenelse{\equal{#1}{discord}} {\collectionadd[discord]{socials} {#3}} {}%
+ \ifthenelse{\equal{#1}{twitch}} {\collectionadd[twitch]{socials} {\protect\httpslink[#3]{twitch.tv/#3}}} {}%
+ \ifthenelse{\equal{#1}{youtube}} {\collectionadd[youtube]{socials} {\protect\httpslink[#3]{youtube.com/#3}}} {}%
+ \ifthenelse{\equal{#1}{tiktok}} {\collectionadd[tiktok]{socials} {\protect\httpslink[#3]{tiktok.com/@#3}}} {}%
+ \ifthenelse{\equal{#1}{instagram}} {\collectionadd[instagram]{socials} {\protect\httpslink[#3]{instagram.com/#3}}} {}%
+ \ifthenelse{\equal{#1}{soundcloud}} {\collectionadd[soundcloud]{socials} {\protect\httpslink[#3]{soundcloud.com/#3}}} {}%
+ \ifthenelse{\equal{#1}{steam}} {\collectionadd[steam]{socials} {\protect\httpslink[#3]{steamcommunity.com/id/#3}}} {}%
+ \ifthenelse{\equal{#1}{xbox}} {\collectionadd[xbox]{socials} {\protect\httpslink[#3]{account.xbox.com/profile?gamertag=#3}}} {}%
+ \ifthenelse{\equal{#1}{playstation}} {\collectionadd[playstation]{socials} {#3}} {}%
+ \ifthenelse{\equal{#1}{battlenet}} {\collectionadd[battlenet]{socials} {#3}} {}%
+ \ifthenelse{\equal{#1}{arxiv}} {\collectionadd[arxiv]{socials} {\protect\httpslink[#3]{arxiv.org/a/#3}}} {}%
+ \ifthenelse{\equal{#1}{inspire}} {\collectionadd[inspire]{socials} {\protect\httpslink[#3]{inspirehep.net/authoris/#3}}} {}%
}
{\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}%
@@ -312,6 +364,7 @@
\newcommand*{\linkedinsocialsymbol} {}
\newcommand*{\xingsocialsymbol} {}
\newcommand*{\twittersocialsymbol} {}
+\newcommand*{\mastodonsocialsymbol} {}
\newcommand*{\githubsocialsymbol} {}
\newcommand*{\gitlabsocialsymbol} {}
\newcommand*{\stackoverflowsocialsymbol}{}
@@ -325,6 +378,19 @@
\newcommand*{\whatsappsocialsymbol} {}
\newcommand*{\matrixsocialsymbol} {}
\newcommand*{\signalsocialsymbol} {}
+\newcommand*{\codebergsocialsymbol} {}
+\newcommand*{\discordsocialsymbol} {}
+\newcommand*{\twitchsocialsymbol} {}
+\newcommand*{\youtubesocialsymbol} {}
+\newcommand*{\tiktoksocialsymbol} {}
+\newcommand*{\instagramsocialsymbol} {}
+\newcommand*{\soundcloudsocialsymbol} {}
+\newcommand*{\steamsocialsymbol} {}
+\newcommand*{\xboxsocialsymbol} {}
+\newcommand*{\playstationsocialsymbol} {}
+\newcommand*{\battlenetsocialsymbol} {}
+\newcommand*{\arxivsocialsymbol} {}
+\newcommand*{\inspiresocialsymbol} {}
% other
%------
@@ -441,6 +507,8 @@
% styles
\newcommand*{\namestyle}[1]{{\namefont#1}}
+\NewDocumentCommand{\firstnamestyle}{+m}{{\namefont#1}}
+\NewDocumentCommand{\lastnamestyle}{+m}{{\namefont#1}}
\newcommand*{\titlestyle}[1]{{\titlefont#1}}
\newcommand*{\addressstyle}[1]{{\addressfont#1}}
\newcommand*{\quotestyle}[1]{{\quotefont#1}}
@@ -492,12 +560,16 @@
% usage: \cvdoubleitem[spacing]{header1}{text1}{header2}{text2}
\newcommand*{\cvdoubleitem}[5][.25em]{}
+% makes a resume line 3 headers and their corresponding text
+% usage: \cvtripleitem[spacing]{header1}{text1}{header2}{text2}{header3}{text3}
+\newcommand*{\cvtripleitem}[7][.1em]{}
+
% makes a resume line with a list item
-% usage: \cvlistitem[label]{item}
+% usage: \cvlistitem[spacing]{item}
\newcommand*{\cvlistitem}[2][\listitemsymbol]{}
% makes a resume line with 2 list items
-% usage: \cvlistdoubleitem[label]{item1}{item2}
+% usage: \cvlistdoubleitem[spacing]{item1}{item2}
\newcommand*{\cvlistdoubleitem}[3][\listitemsymbol]{}
% makes a typical resume job / education entry
@@ -510,25 +582,39 @@
% makes a generic hyperlink
% usage: \link[optional text]{link}
-\newcommand*{\link}[2][]{%
- \ifthenelse{\equal{#1}{}}%
- {\href{#2}{#2}}%
- {\href{#2}{#1}}}
+% uses pdfmanagement-testphase when available, which provides url encoding of special characters
+\NewDocumentCommand{\link}{O{}m}{%
+ \IfPDFManagementActiveTF{%
+ \ifthenelse{\equal{#1}{}}%
+ {\hrefurl[urlencode]{#2}{#2}}%
+ {\hrefurl[urlencode]{#2}{#1}}}{%
+ \ifthenelse{\equal{#1}{}}%
+ {\href{#2}{#2}}%
+ {\href{#2}{#1}}}}
% makes a http hyperlink
% usage: \httplink[optional text]{link}
-\newcommand*{\httplink}[2][]{%
- \ifthenelse{\equal{#1}{}}%
- {\href{http://#2}{#2}}%
- {\href{http://#2}{#1}}}
-
+% uses pdfmanagement-testphase when available, which provides url encoding of special characters
+\NewDocumentCommand{\httplink}{O{}m}{%
+ \IfPDFManagementActiveTF{%
+ \ifthenelse{\equal{#1}{}}%
+ {\hrefurl[urlencode]{http://#2}{#2}}%
+ {\hrefurl[urlencode]{http://#2}{#1}}}{%
+ \ifthenelse{\equal{#1}{}}%
+ {\href{http://#2}{#2}}%
+ {\href{http://#2}{#1}}}}
% makes an https hyperlink
% usage: \httpslink[optional text]{link}
-\newcommand*{\httpslink}[2][]{%
- \ifthenelse{\equal{#1}{}}%
- {\href{https://#2}{#2}}%
- {\href{https://#2}{#1}}}
+% uses pdfmanagement-testphase when available, which provides url encoding of special characters
+\NewDocumentCommand{\httpslink}{O{}m}{%
+ \IfPDFManagementActiveTF{%
+ \ifthenelse{\equal{#1}{}}%
+ {\hrefurl[urlencode]{https://#2}{#2}}%
+ {\hrefurl[urlencode]{https://#2}{#1}}}{%
+ \ifthenelse{\equal{#1}{}}%
+ {\href{https://#2}{#2}}%
+ {\href{https://#2}{#1}}}}
% makes an email hyperlink
% usage: \emaillink[optional text]{link}
@@ -712,8 +798,10 @@
% elements
\newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
\renewcommand*{\date}[1]{\def\@date{#1}}\date{\today}
+\newcommand*{\subject}[1]{\def\@subject{#1}}
\newcommand*{\opening}[1]{\def\@opening{#1}}
\newcommand*{\closing}[1]{\def\@closing{#1}}
+\newcommand*{\signature}[2]{\def\@signature{\includegraphics[scale=#1]{#2}}}
\newcommand*{\enclosure}[2][]{%
% if an optional argument is provided, use it to redefine \enclname
\ifthenelse{\equal{#1}{}}{}{\renewcommand*{\enclname}{#1}}%
diff --git a/macros/latex/contrib/moderncv/moderncvbodyi.sty b/macros/latex/contrib/moderncv/moderncvbodyi.sty
index 02ac2e3aa5..d3db954fef 100644
--- a/macros/latex/contrib/moderncv/moderncvbodyi.sty
+++ b/macros/latex/contrib/moderncv/moderncvbodyi.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyi.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyi}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 1]
+\ProvidesPackage{moderncvbodyi}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 1]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-% provides the commands for the skillmatrix as well as the command
+% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyi]{moderncvskillmatrix}
@@ -29,9 +29,9 @@
\renewcommand*{\hintfont}{}
% styles
-\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
+\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -44,11 +44,14 @@
\@initializelength{\maincolumnwidth}
% used by \cvdoubleitem
\@initializelength{\doubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
% used by \cvlistitem
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
\@initializelength{\listitemcolumnwidth}
% used by \cvlistdoubleitem
\@initializelength{\listdoubleitemcolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars
\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}%
@@ -59,6 +62,8 @@
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\hintscolumnwidth-3\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
@@ -73,7 +78,7 @@
\par\addvspace{2.5ex}%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{section}{#2}%
- \cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{color1}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}%
+ \cvitem[0ex]{\strut\raggedleft\raisebox{\baseletterheight}{\color{bodyrulecolor}\rule{\hintscolumnwidth}{0.95ex}}}{\strut\sectionstyle{#2}}%
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
\RenewDocumentCommand{\subsection}{sm}{%
@@ -97,15 +102,28 @@
\hspace*{\separatorcolumnwidth}%
\begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}}
+\renewcommand*{\cvtripleitem}[7][.1em]{%
+ \cvitem[#1]{#2}{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#5\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#7\end{minipage}}}
+
+
\renewcommand*{\cvlistitem}[2][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifthenelse{\equal{#3}{}}%
{}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\renewcommand*{\cventry}[7][.25em]{%
\cvitem[#1]{#2}{%
@@ -162,13 +180,14 @@
\recomputecvlengths%
\setlength{\parskip}{6\p@}}
-\renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
+\renewcommand*{\makeletterclosing}{%
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
- {\color{color2}\itshape\enclname: \@enclosure}}%
+ {\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
\vfil}
diff --git a/macros/latex/contrib/moderncv/moderncvbodyiii.sty b/macros/latex/contrib/moderncv/moderncvbodyiii.sty
index 003f9f3e1b..37d8d13200 100644
--- a/macros/latex/contrib/moderncv/moderncvbodyiii.sty
+++ b/macros/latex/contrib/moderncv/moderncvbodyiii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyiii.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyiii}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 3]
+\ProvidesPackage{moderncvbodyiii}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 3]
% rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
\@initializeif{\if@fullrules}\@fullrulesfalse
@@ -37,7 +37,7 @@
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-% provides the commands for the skillmatrix as well as the command
+% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyiii]{moderncvskillmatrix}
@@ -61,16 +61,16 @@
\renewcommand*{\sectionstyle}[1]{{%
\if@center\centering\else%
\if@right\raggedleft\fi\fi%
- \sectionfont\textcolor{color1}{#1}%
+ \sectionfont\textcolor{sectioncolor}{#1}%
\if@shortrules\else%
\par\fi}}
\renewcommand*{\subsectionstyle}[1]{{%
\if@center\centering\else%
\if@right\raggedleft\fi\fi%
- \subsectionfont\textcolor{color1}{#1}%
+ \subsectionfont\textcolor{subsectioncolor}{#1}%
\if@shortrules\else\if@mixedrules\else%
\par\fi\fi}}
-\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -83,11 +83,14 @@
\@initializelength{\maincolumnwidth}
% used by \cvdoubleitem
\@initializelength{\doubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
% used by \cvlistitem
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
\@initializelength{\listitemcolumnwidth}
% used by \cvlistdoubleitem
\@initializelength{\listdoubleitemcolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
% commands
\renewcommand*{\recomputecvbodylengths}{%
@@ -96,6 +99,8 @@
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
@@ -133,14 +138,14 @@
\newcommand*{\sectionrule}{}
\newcommand*{\subsectionrule}{}
\if@fullrules%
- \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
- \renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
+ \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
+ \renewcommand*{\subsectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}
\if@shortrules%
- \renewcommand*{\sectionrule}{\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
- \renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
+ \renewcommand*{\sectionrule}{\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
+ \renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\if@mixedrules%
- \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{color1}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
- \renewcommand*{\subsectionrule}{\leavevmode{\color{color1}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
+ \renewcommand*{\sectionrule}{\par\nobreak\vspace*{-.7\baselineskip}\leavevmode{\color{bodyrulecolor}\leaders\hbox{\rule{1pt}{0.4pt}}\hfill\kern0pt}}
+ \renewcommand*{\subsectionrule}{\leavevmode{\color{bodyrulecolor}\xleaders\hbox to 0.35em{\scriptsize.}\hfill}}\fi% different subsectionrules will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible}}
\if@norules%
\renewcommand*{\sectionrule}{}
\renewcommand*{\subsectionrule}{}\fi
@@ -155,16 +160,24 @@
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifstrempty{#4}{}{\hintstyle{#4}: }#5\end{minipage}%
\par\addvspace{#1}}
+\renewcommand*{\cvtripleitem}[7][.1em]{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\ifstrempty{#6}{}{\hintstyle{#6}: }#7\end{minipage}%
+ \par\addvspace{#1}}
+
\renewcommand*{\cvlistitem}[2][.25em]{%
- \listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}%
+ \listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\par\addvspace{#1}}
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifstrempty{#3}%
{}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\renewcommand*{\cventry}[7][.25em]{
\begin{tabular*}{\maincolumnwidth}{l@{\extracolsep{\fill}}r}%
@@ -231,13 +244,14 @@
\recomputecvbodylengths%
\setlength{\parskip}{6\p@}}
-\renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
+\renewcommand*{\makeletterclosing}{%
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
- {\color{color2}\itshape\enclname: \@enclosure}}%
+ {\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
\vfil}
diff --git a/macros/latex/contrib/moderncv/moderncvbodyiv.sty b/macros/latex/contrib/moderncv/moderncvbodyiv.sty
index 9127af18e8..0d9fe6fb87 100644
--- a/macros/latex/contrib/moderncv/moderncvbodyiv.sty
+++ b/macros/latex/contrib/moderncv/moderncvbodyiv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyiv.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyiv}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 4]
+\ProvidesPackage{moderncvbodyiv}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 4]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-% provides the commands for the skillmatrix as well as the command
+% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyiv]{moderncvskillmatrix}
@@ -29,9 +29,9 @@
\renewcommand*{\hintfont}{\bfseries}
% styles
-\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
+\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -49,6 +49,10 @@
\@initializelength{\listitemcolumnwidth}
% used by \cvlistdoubleitem
\@initializelength{\listdoubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
+
% commands
\renewcommand*{\recomputecvbodylengths}{%
@@ -57,6 +61,8 @@
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
@@ -87,15 +93,23 @@
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}%
\par\addvspace{#1}}
+\renewcommand*{\cvtripleitem}[7][.1em]{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\ifthenelse{\equal{#6}{}}{}{\hintstyle{#6}: }#7\end{minipage}%
+ \par\addvspace{#1}}
+
\renewcommand*{\cvlistitem}[2][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
- \cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifthenelse{\equal{#3}{}}%
{}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\@initializebox{\cventryyearbox}
\@initializelength{\cventrytitleboxwidth}
@@ -170,13 +184,14 @@
\recomputecvbodylengths%
\setlength{\parskip}{6\p@}}
-\renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
+\renewcommand*{\makeletterclosing}{%
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
- {\color{color2}\itshape\enclname: \@enclosure}}%
+ {\color{letterclosingcolor}\itshape\enclname: \@enclosure}}%
\vfil}
diff --git a/macros/latex/contrib/moderncv/moderncvbodyv.sty b/macros/latex/contrib/moderncv/moderncvbodyv.sty
index 1f49692984..f29e57786b 100644
--- a/macros/latex/contrib/moderncv/moderncvbodyv.sty
+++ b/macros/latex/contrib/moderncv/moderncvbodyv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvbodyv.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvbodyv}[2022-02-21 v2.3.1 modern curriculum vitae and letter body variant: 5]
+\ProvidesPackage{moderncvbodyv}[2024-07-18 v2.4.1 modern curriculum vitae and letter body variant: 5]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
-% provides the commands for the skillmatrix as well as the command
+% provides the commands for the skillmatrix as well as the command
% \recompute@cvskillmatrix@lengths
\RequirePackage[moderncvbodyv]{moderncvskillmatrix}
@@ -34,9 +34,9 @@
\renewcommand*{\hintfont}{\bfseries}
% styles
-\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
-\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{sectioncolor}{#1}}}
+\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{subsectioncolor}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{hintstylecolor}{#1}}}
% lengths
% used by \cvitem (and all children command)
@@ -46,6 +46,8 @@
\@initializelength{\maincolumnwidth}
% used by \cvdoubleitem
\@initializelength{\doubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
% used by \cvlistitem
\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
\@initializelength{\listitemcolumnwidth}
@@ -53,6 +55,7 @@
% used by \cvlistdoubleitem
\@initializelength{\listdoubleitemcolumnwidth}
%\@initializelength{\listdoubleitemmaincolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
% commands
\@initializecommand{\recomputecvbodylengths}{%
@@ -61,6 +64,8 @@
\setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
\setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
\recompute@cvskillmatrix@lengths
@@ -72,7 +77,8 @@
\addvspace{2.5ex}%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{section}{#2}%
- \noindent\rlap{\@cvitem{\raggedleft\sectionstyle{#2}}{}}%
+ % minipage for correct spacing with multiline sections #69
+ \noindent\rlap{\@cvitem{\begin{minipage}[t][1ex]{\hintscolumnwidth}\raggedleft\sectionstyle{#2}\end{minipage}}{}}%
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
%\@initializeif{\if@aftersubsection}\@aftersubsectionfalse%
@@ -83,7 +89,8 @@
\par\ignorespaces\fi%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{subsection}{#2}%
- \noindent\rlap{\@cvitem{\if@aftersection\else\@moderncvstrut{4pt}{24pt}\fi\raggedleft\subsectionstyle{#2}}{}}%
+ % minipage for correct spacing with multiline subsections #69
+ \noindent\rlap{\@cvitem{\begin{minipage}[t][1ex]{\hintscolumnwidth}\if@aftersection\else\@moderncvstrut{4pt}{24pt}\fi\raggedleft\subsectionstyle{#2}\end{minipage}}{}}%
\nobreak\@afterheading\@aftersectiontrue\ignorespaces}
\renewcommand*{\cvitem}[3][.5ex]{%
@@ -99,7 +106,7 @@
% underlying command to implement \cvitem, \subsection and \section
\newcommand*{\@cvitem}[3][.5ex]{%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\if@aftersection\else%
\vspace*{-\separatorrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
@@ -117,15 +124,23 @@
\hfill% fill of \separatorcolumnwidth
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}}}
+\renewcommand*{\cvtripleitem}[7][.1ex]{%
+ \@cvitem[#1]{}{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\hintstyle{#4}: #5\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\tripleitemcolumnwidth}\ifthenelse{\equal{#6}{}}{}{\hintstyle{#6}: }#7\end{minipage}}}
+
\renewcommand*{\cvlistitem}[2][.5ex]{%
- \@cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemcolumnwidth}#2\end{minipage}}}
+ \@cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
\renewcommand*{\cvlistdoubleitem}[3][.5ex]{%
- \@cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#2\end{minipage}%
+ \@cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifthenelse{\equal{#3}{}}%
{}%
- {\listitemsymbol\begin{minipage}[t]{\listdoubleitemcolumnwidth}#3\end{minipage}}}}
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
\@initializebox{\cventryyearbox}
\@initializelength{\cventrytitleboxwidth}
@@ -165,7 +180,7 @@
{%
\bibliographyhead{\refname}%
% \small%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\noindent%
\begin{tabular}[t]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}|@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
@@ -206,13 +221,14 @@
\recomputecvbodylengths%
\setlength{\parskip}{6\p@}}
-\renewcommand*{\makeletterclosing}{
- \@closing\\[3em]%
+\renewcommand*{\makeletterclosing}{%
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
{\bfseries \@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfill%
- {\color{color2}\itshape\enclname: \@enclosure}}}
+ {\color{letterclosingcolor}\itshape\enclname: \@enclosure}}}
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvbodyvi.sty b/macros/latex/contrib/moderncv/moderncvbodyvi.sty
new file mode 100644
index 0000000000..76e1a15c3a
--- /dev/null
+++ b/macros/latex/contrib/moderncv/moderncvbodyvi.sty
@@ -0,0 +1,203 @@
+%% start of file `moderncvbodyvi.sty'.
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvbodyvi}[2023/11/21 v2.0.0 modern curriculum vitae and letter body variant: 6]
+
+
+%-------------------------------------------------------------------------------
+% required packages
+%-------------------------------------------------------------------------------
+\RequirePackage{moderncvverticaltimeline}
+% No customization currently exists for `modercvbodyvi`; just reuse
+% `moderncvbodyi`. We might consider supporting a short table format (only skill
+% name and rating) in the future.
+\RequirePackage[moderncvbodyi,circle]{moderncvskillmatrix}
+
+
+%-------------------------------------------------------------------------------
+% overall body definition
+%-------------------------------------------------------------------------------
+% fonts
+\renewcommand*{\sectionfont}{\Large\upshape\bfseries}
+\renewcommand*{\subsectionfont}{\large\mdseries\upshape}
+\renewcommand*{\hintfont}{}
+
+% styles
+\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
+\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
+\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
+
+
+%-------------------------------------------------------------------------------
+% resume body definition
+%-------------------------------------------------------------------------------
+% lengths
+% used by \cvitem (and all children command)
+\@initializelength{\hintscolumnwidth} \setlength{\hintscolumnwidth}{0.175\textwidth}
+\@initializelength{\separatorcolumnwidth} \setlength{\separatorcolumnwidth}{0.025\textwidth}
+\@initializelength{\maincolumnwidth}
+% used by \cvdoubleitem
+\@initializelength{\doubleitemcolumnwidth}
+% used by \cvtripleitem
+\@initializelength{\tripleitemcolumnwidth}
+% used by \cvlistitem
+\@initializelength{\listitemsymbolwidth} \settowidth{\listitemsymbolwidth}{\listitemsymbol}
+\@initializelength{\listitemcolumnwidth}
+% used by \cvlistdoubleitem
+\@initializelength{\listdoubleitemcolumnwidth}
+\@initializelength{\listitemsymbolspace} \setlength{\listitemsymbolspace}{0pt}
+% default moderncv \photo (change the definition such that by default the photo and its box align with the section bars
+\RenewDocumentCommand{\photo}{O{\hintscolumnwidth-0.8pt-2\fboxsep}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}%
+
+% commands
+\renewcommand*{\recomputecvbodylengths}{%
+ % body lengths
+ \setlength{\maincolumnwidth}{\textwidth-\leftskip-\rightskip-\separatorcolumnwidth-\hintscolumnwidth}%
+ \setlength{\listitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
+ \setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
+ \setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{\maincolumnwidth-2\hintscolumnwidth-3\separatorcolumnwidth}%
+ \setlength{\tripleitemcolumnwidth}{0.33\tripleitemcolumnwidth}%
+ \setlength{\listdoubleitemcolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
+ \setlength{\listdoubleitemcolumnwidth}{0.5\listdoubleitemcolumnwidth}%
+ \recompute@cvskillmatrix@lengths
+ % regular lengths
+ \setlength{\parskip}{0\p@}}
+
+\@initializelength{\baseletterheight}
+\settoheight{\baseletterheight}{\sectionstyle{o}}
+\setlength{\baseletterheight}{\baseletterheight-0.95ex}
+% The optional argument can be used to place a small icon near the section name.
+% E.g. `\section[\faBookmark]{Education}`
+\RenewDocumentCommand{\section}{sO{}m}{%
+ \tl@resetchain%
+ \par\addvspace{2.5ex}%
+ \phantomsection{}% reset the anchor for hyperrefs
+ \addcontentsline{toc}{section}{#3}%
+ \strut\sectionstyle{\textcolor{color1!55!white}{{#2}\rule{.75ex}{0pt}\rule{1pt}{\heightof{#3}}}%
+ \rule{.75ex}{0pt}#3}%
+ \par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
+
+\RenewDocumentCommand{\subsection}{sm}{%
+ \par\addvspace{1ex}%
+ \phantomsection{}% reset the anchor for hyperrefs
+ \addcontentsline{toc}{subsection}{#2}%
+ \cvitem[0ex]{}{\strut\subsectionstyle{#2}}%
+ \par\nobreak\addvspace{.5ex}\@afterheading}% to avoid a pagebreak after the heading
+
+\renewcommand*{\cvitem}[3][.25em]{%
+ \begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
+ \raggedleft\hintstyle{#2} &{#3}%
+ \end{tabular}%
+ \par\addvspace{#1}}
+
+\renewcommand*{\cvdoubleitem}[5][.25em]{%
+ \cvitem[#1]{#2}{%
+ \begin{minipage}[t]{\doubleitemcolumnwidth}#3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\doubleitemcolumnwidth}#5\end{minipage}}}
+
+\renewcommand*{\cvtripleitem}[7][.1em]{%
+ \cvitem[#1]{#2}{%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#3\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#5\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}%
+ \hspace*{\separatorcolumnwidth}%
+ \begin{minipage}[t]{\tripleitemcolumnwidth}#7\end{minipage}}}
+
+\renewcommand*{\cvlistitem}[2][.25em]{%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}}}
+
+\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
+ \cvitem[#1]{}{\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#2\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \ifthenelse{\equal{#3}{}}%
+ {}%
+ {\listitemsymbol\hspace{\listitemsymbolspace}\begin{minipage}[t]{\listdoubleitemcolumnwidth-\listitemsymbolspace}#3\end{minipage}}}}
+
+\renewcommand*{\cventry}[7][.25em]{%
+ \cvitem[#1]{\tl@milestone{#2}}{%
+ {\bfseries#3}%
+ \ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
+ \ifthenelse{\equal{#5}{}}{}{, #5}%
+ \ifthenelse{\equal{#6}{}}{}{, #6}%
+ \strut%
+ \ifx&#7&%
+ \else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}
+
+\@initializebox{\cvitemwithcommentbox}
+\@initializelength{\cvitemwithcommentskilllength}
+\@initializelength{\cvitemwithcommentcommentlength}
+\renewcommand*{\cvitemwithcomment}[4][.25em]{%
+ \savebox{\cvitemwithcommentbox}{{#3}}%
+ \setlength{\cvitemwithcommentskilllength}{\widthof{\usebox{\cvitemwithcommentbox}}}%
+ \setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentskilllength}%
+ \cvitem[#1]{#2}{%
+ \begin{minipage}[t]{\cvitemwithcommentskilllength}\usebox{\cvitemwithcommentbox}\end{minipage}%
+ \hfill% fill of \separatorcolumnwidth
+ \begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}}}
+
+\renewenvironment{thebibliography}[1]%
+ {%
+ \bibliographyhead{\refname}%
+% \small%
+ \begin{list}{\bibliographyitemlabel}%
+ {%
+ \setlength{\topsep}{0pt}%
+ \setlength{\labelwidth}{\hintscolumnwidth}%
+ \setlength{\labelsep}{\separatorcolumnwidth}%
+ \leftmargin\labelwidth%
+ \advance\leftmargin\labelsep%
+ \@openbib@code%
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty%
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy%
+ \clubpenalty4000%\@clubpenalty \clubpenalty%
+ \widowpenalty4000%
+ \sfcode`\.\@m%
+ \sfcode `\=1000\relax}%
+ {%
+ \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
+ \end{list}}
+
+
+%-------------------------------------------------------------------------------
+% letter style definition
+%-------------------------------------------------------------------------------
+% commands
+\renewcommand*{\recomputeletterbodylengths}{%
+ \recomputecvlengths%
+ \setlength{\parskip}{6\p@}}
+
+\renewcommand*{\makeletterclosing}{
+ \@closing\ifthenelse{\isundefined{\@signature}}{\\[3em]}{\\[1em]}% shrink space when signature is set
+ \ifthenelse{\isundefined{\@signature}}{}{{\@signature\\}}
+ {\bfseries\@firstname~\@lastname}%
+ \ifthenelse{\isundefined{\@enclosure}}{}{%
+ \\%
+ \vfil%
+ {\color{color2}\itshape\enclname: \@enclosure}}%
+ \vfil}
+
+
+\endinput
+
+
+%% end of file `moderncvbodyvi.sty'.
diff --git a/macros/latex/contrib/moderncv/moderncvcollection.sty b/macros/latex/contrib/moderncv/moderncvcollection.sty
index 5d3432e661..bddc9a5177 100644
--- a/macros/latex/contrib/moderncv/moderncvcollection.sty
+++ b/macros/latex/contrib/moderncv/moderncvcollection.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcollection.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcollection}[2022-02-21 v2.3.1 moderncv collections]
+\ProvidesPackage{moderncvcollection}[2024-07-18 v2.4.1 moderncv collections]
%-------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/moderncv/moderncvcolorblack.sty b/macros/latex/contrib/moderncv/moderncvcolorblack.sty
index ea3653eace..29ba5bd410 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorblack.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorblack.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorblack.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorblack}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: black]
+\ProvidesPackage{moderncvcolorblack}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: black]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0,0,0}% black
-\definecolor{color2}{rgb}{0,0,0}% black
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{black}% black
+\colorlet{color2}{black}% black
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolorblue.sty b/macros/latex/contrib/moderncv/moderncvcolorblue.sty
index b02992e1b3..779b3be956 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorblue.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorblue.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorblue.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorblue}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: blue]
+\ProvidesPackage{moderncvcolorblue}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: blue]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.22,0.45,0.70}% light blue
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{lightblue}% light blue
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolorburgundy.sty b/macros/latex/contrib/moderncv/moderncvcolorburgundy.sty
index 775f033f23..aeeccf5ef6 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorburgundy.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorburgundy.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorburgundy.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorburgundy}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: burgundy]
+\ProvidesPackage{moderncvcolorburgundy}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: burgundy]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.596078,0,0}% burgundy: 139/255 (0.545098) or 152/255 (0.596078)
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{burgundy}% burgundy
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolorcerulean.sty b/macros/latex/contrib/moderncv/moderncvcolorcerulean.sty
new file mode 100644
index 0000000000..1f7cce83c7
--- /dev/null
+++ b/macros/latex/contrib/moderncv/moderncvcolorcerulean.sty
@@ -0,0 +1,32 @@
+%% start of file `moderncvcolorcerulean.sty'.
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvcolorcerulean}[2023/11/21 v2.0.0 modern curriculum vitae and letter color scheme: cerulean]
+
+
+%-------------------------------------------------------------------------------
+% color scheme definition
+%-------------------------------------------------------------------------------
+\definecolor{color0}{rgb}{0,0,0}% black
+\definecolor{color1}{HTML}{0081a7}% cerulean
+\definecolor{color2}{HTML}{4d908e}% dark cyan
+\definecolor{headTL}{HTML}{00afb9}% verdigris
+\colorlet{headBR}{color1}
+\definecolor{headtext}{HTML}{ffffff}% white
+\colorlet{headhr}{color2}
+
+
+\endinput
+
+
+%% end of file `moderncvcolorcerulean.sty'.
diff --git a/macros/latex/contrib/moderncv/moderncvcolorgreen.sty b/macros/latex/contrib/moderncv/moderncvcolorgreen.sty
index 891c3290b5..03c026ea07 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorgreen.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorgreen.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorgreen.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorgreen}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: green]
+\ProvidesPackage{moderncvcolorgreen}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: green]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.35,0.70,0.30}% green
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{green}% green
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolorgrey.sty b/macros/latex/contrib/moderncv/moderncvcolorgrey.sty
index 37d2b57749..6bd9184c0e 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorgrey.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorgrey.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorgrey.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorgrey}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: grey]
+\ProvidesPackage{moderncvcolorgrey}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: grey]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.55,0.55,0.55}% dark grey
-\definecolor{color2}{rgb}{0.55,0.55,0.55}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{darkgrey}% dark grey
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolororange.sty b/macros/latex/contrib/moderncv/moderncvcolororange.sty
index f249fd7de9..c4f612ab6d 100644
--- a/macros/latex/contrib/moderncv/moderncvcolororange.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolororange.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolororange.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolororange}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: orange]
+\ProvidesPackage{moderncvcolororange}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: orange]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.95,0.55,0.15}% orange
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{orange}% orange
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolorpurple.sty b/macros/latex/contrib/moderncv/moderncvcolorpurple.sty
index 22053d7849..d0110526f1 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorpurple.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorpurple.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorpurple.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorpurple}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: purple]
+\ProvidesPackage{moderncvcolorpurple}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: purple]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.50,0.33,0.80}% purple
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{purple}% purple
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolorred.sty b/macros/latex/contrib/moderncv/moderncvcolorred.sty
index 68b1335c84..bc51d4adf5 100644
--- a/macros/latex/contrib/moderncv/moderncvcolorred.sty
+++ b/macros/latex/contrib/moderncv/moderncvcolorred.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcolorred.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,15 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorred}[2022-02-21 v2.3.1 modern curriculum vitae and letter color scheme: red]
+\ProvidesPackage{moderncvcolorred}[2024-07-18 v2.4.1 modern curriculum vitae and letter color scheme: red]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
-\definecolor{color0}{rgb}{0,0,0}% black
-\definecolor{color1}{rgb}{0.95,0.20,0.20}% red
-\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
+\input{moderncvcolors.tex}
+
+\colorlet{color0}{black}% black
+\colorlet{color1}{red}% red
+\colorlet{color2}{darkgrey}% dark grey
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvcolors.tex b/macros/latex/contrib/moderncv/moderncvcolors.tex
new file mode 100644
index 0000000000..7f840ff059
--- /dev/null
+++ b/macros/latex/contrib/moderncv/moderncvcolors.tex
@@ -0,0 +1,35 @@
+%-------------------------------------------------------------------------------
+% built-in colors
+%-------------------------------------------------------------------------------
+
+\definecolor{black}{RGB}{0, 0, 0}
+\definecolor{red}{rgb}{0.95, 0.20, 0.20}
+\definecolor{darkgrey}{rgb}{0.45, 0.45, 0.45}
+\definecolor{orange}{rgb}{0.95, 0.55, 0.15}
+\definecolor{burgundy}{rgb}{0.596078, 0, 0}% 139/255 (0.545098) or 152/255 (0.596078)
+\definecolor{purple}{rgb}{0.50, 0.33, 0.80}
+\definecolor{lightblue}{rgb}{0.22, 0.45, 0.70}
+\definecolor{green}{rgb}{0.35, 0.70, 0.30}
+
+%-------------------------------------------------------------------------------
+% default colors
+%-------------------------------------------------------------------------------
+
+\@ifundefined{\string\color@default-socialicon-color}{\colorlet{default-socialicon-color}{darkgrey}}{}
+
+%-------------------------------------------------------------------------------
+% colors for social icons
+%-------------------------------------------------------------------------------
+
+% \definecolor{weixin}{rgb}{.184, .533, .098}
+% \definecolor{linkedin}{HTML}{0a66c2}
+% \definecolor{orcid}{HTML}{a6ce39}
+% \definecolor{twitter}{RGB}{29, 155, 240}
+% \definecolor{facebook}{HTML}{1b74e4}
+% TODO: add more colors
+
+%-------------------------------------------------------------------------------
+% custom colors
+%-------------------------------------------------------------------------------
+
+% \definecolor{tsinghua}{HTML}{791CB5}
diff --git a/macros/latex/contrib/moderncv/moderncvcompatibility.sty b/macros/latex/contrib/moderncv/moderncvcompatibility.sty
index fb9a8c4363..e8e0af713f 100644
--- a/macros/latex/contrib/moderncv/moderncvcompatibility.sty
+++ b/macros/latex/contrib/moderncv/moderncvcompatibility.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvcompatibility.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcompatibility}[2022-02-21 v2.3.1 modern curriculum vitae and letter compatibility patches]
+\ProvidesPackage{moderncvcompatibility}[2024-07-18 v2.4.1 modern curriculum vitae and letter compatibility patches]
%-------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/moderncv/moderncvdebugtools.sty b/macros/latex/contrib/moderncv/moderncvdebugtools.sty
index b28e409b54..c19651ab05 100644
--- a/macros/latex/contrib/moderncv/moderncvdebugtools.sty
+++ b/macros/latex/contrib/moderncv/moderncvdebugtools.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvdebugtools.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvdebugtools}[2022-02-21 v2.3.1 modern curriculum vitae and letter debug tools]
+\ProvidesPackage{moderncvdebugtools}[2024-07-18 v2.4.1 modern curriculum vitae and letter debug tools]
%-------------------------------------------------------------------------------
@@ -32,7 +32,7 @@
\begin{tikzpicture}[remember picture,overlay]
\begin{pgfonlayer}{background}
\coordinate (a\thedebugrule);
- \draw[red,thin,#1]
+ \draw[red,thin,#1]
([xshift=#2]a\thedebugrule|-current page.north) -- ([xshift=#2]a\thedebugrule|-current page.south);
\end{pgfonlayer}
\end{tikzpicture}}
@@ -42,7 +42,7 @@
\begin{tikzpicture}[remember picture,overlay]
\begin{pgfonlayer}{background}
\coordinate (b\thedebugrule);
- \draw[red,thin,#1]
+ \draw[red,thin,#1]
([yshift=#2]b\thedebugrule-|current page.west) -- ([yshift=#2]b\thedebugrule-|current page.east);
\end{pgfonlayer}
\end{tikzpicture}}
diff --git a/macros/latex/contrib/moderncv/moderncvfooti.sty b/macros/latex/contrib/moderncv/moderncvfooti.sty
index 370365848f..f1de51a44e 100644
--- a/macros/latex/contrib/moderncv/moderncvfooti.sty
+++ b/macros/latex/contrib/moderncv/moderncvfooti.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvfooti.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvfooti}[2022-02-21 v2.3.1 modern curriculum vitae and letter footer variant: 1]
+\ProvidesPackage{moderncvfooti}[2024-07-18 v2.4.1 modern curriculum vitae and letter footer variant: 1]
%-------------------------------------------------------------------------------
@@ -79,7 +79,7 @@
\fancyfoot[c]{%
\parbox[b]{\footwidth}{%
\centering%
- \color{color2}\addressfont%
+ \color{addresscolor}\addressfont%
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtofoot[]{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
@@ -89,7 +89,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
@@ -109,7 +110,7 @@
\fancyfoot[c]{%
\parbox[b]{\footwidth}{%
\centering%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
\vspace{-\baselineskip}% to cancel out the extra vertical space taken by the name (below) and ensure perfect alignment of letter and cv footers
\strut{\bfseries\upshape\@firstname~\@lastname}\\% the \strut is required to ensure the line is exactly \baselineskip tall
@@ -121,7 +122,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtofoot{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofoot{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofoot{\@extrainfo}}%
diff --git a/macros/latex/contrib/moderncv/moderncvheadi.sty b/macros/latex/contrib/moderncv/moderncvheadi.sty
index 087cf776e2..9dfb35a06c 100644
--- a/macros/latex/contrib/moderncv/moderncvheadi.sty
+++ b/macros/latex/contrib/moderncv/moderncvheadi.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadi.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadi}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 1]
+\ProvidesPackage{moderncvheadi}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 1]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -23,6 +23,11 @@
\@initializeif{\if@right}\@rightfalse
\DeclareOption{right} {\@leftfalse\@righttrue}
+% top options: align header elements by their top instead of their bottom
+% default: bottom
+\@initializeif{\if@top}\@topfalse
+\DeclareOption{top}{\@toptrue}
+
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{details,left}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
@@ -43,10 +48,12 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -72,7 +79,7 @@
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\savebox{\makecvheaddetailsbox}{%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\if@left\begin{tabular}[b]{@{}r@{}}\fi%
\if@right\begin{tabular}[b]{@{}l@{}}\fi%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
@@ -81,7 +88,8 @@
\ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}%
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
\end{tabular}
@@ -94,7 +102,7 @@
{%
\if@left%
\hspace*{\separatorcolumnwidth}\fi%
- \color{color1}%
+ \color{pictureframecolor}%
\setlength{\fboxrule}{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
@@ -112,9 +120,14 @@
\begin{minipage}[b]{\makecvheadnamewidth}%
\if@left\raggedright\fi%
\if@right\raggedleft\fi%
- \namestyle{\@firstname\ \@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}}%
+ % raise boxes if top option is set
+ \if@top%
+ \savebox{\makecvheadnamebox}{\raisebox{-\height+\baselineskip}{\usebox{\makecvheadnamebox}}}%
+ \savebox{\makecvheaddetailsbox}{\raisebox{-\height+\baselineskip}{\usebox{\makecvheaddetailsbox}}}%
+ \savebox{\makecvheadpicturebox}{\raisebox{-\height+\baselineskip}{\usebox{\makecvheadpicturebox}}}\fi%
% rendering
\if@left%
\usebox{\makecvheadnamebox}%
@@ -126,11 +139,17 @@
\rlap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
\hfill%
\usebox{\makecvheadnamebox}\fi%
- \\[2.5em]%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
+ {\vspace{2.5em}}%
+ {%
+ \\[2.5em]%
+ {%
+ \centering%
+ \begin{minipage}{\quotewidth}%
+ \centering%
+ \quotestyle{\@quote}%
+ \end{minipage}\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
@@ -150,7 +169,7 @@
% optional detailed information
\if@details%
\raggedleft%
- \addressfont\textcolor{color2}{%
+ \addressfont\textcolor{addresscolor}{%
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
% optional detailed information
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
@@ -159,9 +178,10 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
- \end{minipage}\\[1em]
+ \end{minipage}\\[2em]
% recipient block
\begin{minipage}[t]{.5\textwidth}
\raggedright%
@@ -173,6 +193,8 @@
\hfill% US style
% \\[1em]% UK style
\@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[2em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/macros/latex/contrib/moderncv/moderncvheadii.sty b/macros/latex/contrib/moderncv/moderncvheadii.sty
index b699242ed4..a36c8e1af4 100644
--- a/macros/latex/contrib/moderncv/moderncvheadii.sty
+++ b/macros/latex/contrib/moderncv/moderncvheadii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadii.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadii}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 2]
+\ProvidesPackage{moderncvheadii}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 2]
% details options: "details" or "nodetails" (default)
\@initializeif{\if@details}\@detailsfalse
@@ -47,10 +47,10 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
% commands
\@initializecommand{\makeheaddetailssymbol}{%
@@ -110,7 +110,7 @@
\setlength\fboxrule{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
- {\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
+ {\color{pictureframecolor}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
% name (pre-rendering)
\@initializelength{\makecvheadpicturewidth}%
\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
@@ -121,9 +121,9 @@
\if@right\raggedleft\fi%
\namefont%
\if@alternate% alternate design: first- and lastname in lowercase with no space in between (distinction is made by color difference)
- {\color{color2!50}\MakeLowercase\@firstname}{\color{color2}\MakeLowercase\@lastname}%
+ {\color{firstnamecolor}\MakeLowercase\@firstname}{\color{lastnamecolor}\MakeLowercase\@lastname}%
\else% default design: first- and lastname as given with a space in between
- {\color{color2!50}\@firstname} {\color{color2}\@lastname}\fi}}%
+ {\color{firstnamecolor}\@firstname} {\color{lastnamecolor}\@lastname}\fi}}%
% rendering
\if@left%
\usebox{\makecvheadnamebox}%
@@ -131,11 +131,11 @@
\if@right%
\usebox{\makecvheadpicturebox}%
\usebox{\makecvheadnamebox}\fi\\[-.35em]%
- {\color{color2!50}\rule{\textwidth}{.25ex}}%
+ {\color{headrulecolor}\rule{\textwidth}{.25ex}}%
% optional detailed information
\if@details{%
\\\null%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
@@ -144,7 +144,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
@@ -157,15 +158,18 @@
\titlestyle{\MakeLowercase\@title}%
\else%
\titlestyle{\@title}\fi%
- }\\[2.5em]%
+ }
% optional quote
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {{\null\hfill%
+ {\vspace{2.5em}}%
+ {%
+ \\[2.5em]%
+ {%
+ \centering%
\begin{minipage}{\quotewidth}%
\centering%
\quotestyle{\@quote}%
- \end{minipage}\hfill\null\\[2.5em]}}%
+ \end{minipage}\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
@@ -189,7 +193,9 @@
% date
\hfill% US style
% \\[1em]% UK style
- \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ \@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/macros/latex/contrib/moderncv/moderncvheadiii.sty b/macros/latex/contrib/moderncv/moderncvheadiii.sty
index e4dbafd5ae..51a3aa2444 100644
--- a/macros/latex/contrib/moderncv/moderncvheadiii.sty
+++ b/macros/latex/contrib/moderncv/moderncvheadiii.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadiii.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadiii}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 3]
+\ProvidesPackage{moderncvheadiii}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 3]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -36,10 +36,12 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
% commands
\@initializecommand{\makeheaddetailssymbol}{%
@@ -81,12 +83,12 @@
\parbox{\makeheaddetailswidth}{%
\centering%
% name and title
- \namestyle{\@firstname~\@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
% optional detailed information
\if@details{%
\\%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
@@ -95,11 +97,12 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
- \flushmakeheaddetails}\fi}\\[2.5em]}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead
+ \flushmakeheaddetails}\fi}}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \makehead
%-------------------------------------------------------------------------------
@@ -117,8 +120,15 @@
\makehead%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
+ {\vspace{2.5em}}%
+ {%
+ \\[2.5em]%
+ {%
+ \centering%
+ \begin{minipage}{\quotewidth}%
+ \centering%
+ \quotestyle{\@quote}%
+ \end{minipage}\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle}
@@ -132,9 +142,25 @@
\renewcommand*{\makeletterhead}{%
% recompute lengths (in case we are switching from letter to resume, or vice versa)
\recomputeletterlengths%
- % sender block
- \makehead%
- \par%
+ % sender contact info
+ \hfill%
+ \begin{minipage}{.5\textwidth}%
+ % optional detailed information
+ \if@details%
+ \raggedleft%
+ \addressfont\textcolor{color2}{%
+ {\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
+ % optional detailed information
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
+ \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
+ \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
+ \makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
+ \end{minipage}\\[2em]
% recipient block
\begin{minipage}[t]{.5\textwidth}
\raggedright%
@@ -145,7 +171,9 @@
% date
\hfill% US style
% \\[1em]% UK style
- \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ \@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/macros/latex/contrib/moderncv/moderncvheadiv.sty b/macros/latex/contrib/moderncv/moderncvheadiv.sty
index 9b59dacb9b..5a088fdb73 100644
--- a/macros/latex/contrib/moderncv/moderncvheadiv.sty
+++ b/macros/latex/contrib/moderncv/moderncvheadiv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadiv.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadiv}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 4]
+\ProvidesPackage{moderncvheadiv}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 4]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -38,10 +38,12 @@
\renewcommand*{\quotefont}{\large\itshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -80,7 +82,7 @@
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
- \color{color1}%
+ \color{pictureframecolor}%
\setlength\fboxrule{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
@@ -91,7 +93,7 @@
{\setlength{\makecvheadnamewidth}{\textwidth-\makecvheadpicturewidth}}%
{}%
\begin{minipage}[b]{\makecvheadnamewidth}%
- \namestyle{\@firstname\ \@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}%
% optional photo
@@ -103,7 +105,7 @@
% optional details
\if@details%
\makecvheadinfo{%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
@@ -111,7 +113,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi}
@@ -143,13 +146,15 @@
\@recipientaddress}\\[1em]%
% date
\@date\\[2em]%
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[2em]}}
% opening
\@opening\\[1.5em]%
% sender contact info
\if@details%
\hspace{0pt}%
\marginpar{%
- \addressfont\textcolor{color2}{%
+ \addressfont\textcolor{addresscolor}{%
{\bfseries\@firstname~\@lastname}\@firstdetailselementfalse%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
@@ -157,7 +162,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\hbox to 1.0em{\homepagesymbol}~%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\hbox to 1.0em{\csname\collectionloopkey socialsymbol\endcsname}~\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}%
diff --git a/macros/latex/contrib/moderncv/moderncvheadv.sty b/macros/latex/contrib/moderncv/moderncvheadv.sty
index c4d4084324..e92233ef34 100644
--- a/macros/latex/contrib/moderncv/moderncvheadv.sty
+++ b/macros/latex/contrib/moderncv/moderncvheadv.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadv.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadv}[2022-02-21 v2.3.1 modern curriculum vitae and letter header variant: 5]
+\ProvidesPackage{moderncvheadv}[2024-07-18 v2.4.1 modern curriculum vitae and letter header variant: 5]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -37,10 +37,12 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
%-------------------------------------------------------------------------------
@@ -61,7 +63,7 @@
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
- \color{color1}%
+ \color{pictureframecolor}%
\setlength{\fboxrule}{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
@@ -75,7 +77,7 @@
% optional details
\if@details%
\ifthenelse{\isundefined{\@photo}}{}{\\[0.5em]}%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
@@ -83,7 +85,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname~\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol~\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol~\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol~%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\csname\collectionloopkey socialsymbol\endcsname~\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}\fi}%
@@ -91,23 +94,32 @@
% name and optional title
\newlength{\makecvheadpictureboxskip}%
\setlength{\makecvheadpictureboxskip}{\totalheightof{\usebox{\makecvheadpicturebox}}}%
- \namestyle{\@firstname\ \@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {\\[1.25em]\begin{minipage}{\quotewidth}\quotestyle{\@quote}\end{minipage}\\[2.5em]}
- }{
- \\[1.25em]\titlestyle{\@title}\\[2.5em]%
+ {}%
+ {%
+ \\[1.25em]%
+ \begin{minipage}{\quotewidth}%
+ \quotestyle{\@quote}%
+ \end{minipage}}%
+ }{%
+ \\[1.25em]%
+ \titlestyle{\@title}
% optional quote
\ifthenelse{\isundefined{\@quote}}%
- {}%
- {\begin{minipage}{\quotewidth}\quotestyle{\@quote}\end{minipage}\\[2.5em]}}}%
+ {\vspace{2.5em}}%
+ {%
+ \\[2.5em]%
+ \begin{minipage}{\quotewidth}%
+ \quotestyle{\@quote}
+ \end{minipage}}}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
% underlying command to implement \makecvtitle, identical to \@cvitem from moderncvbodyv
\let\standarddoublebackslash\\%
\newcommand*{\@makecvtitle}[3][.5ex]{%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{headrulecolor}%
\setlength\arrayrulewidth{1.2\p@}%
\if@aftersection\else%
\vspace*{-\arrayrulewidth}\fi% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
@@ -137,7 +149,7 @@
% optional detailed information
\if@details%
\raggedleft%
- \addressfont\textcolor{color2}{%
+ \addressfont\textcolor{addresscolor}{%
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
% optional detailed information
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
@@ -146,9 +158,10 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
- \end{minipage}\\[1em]
+ \end{minipage}\\[2em]
% recipient block
\begin{minipage}[t]{.5\textwidth}
\raggedright%
@@ -159,7 +172,9 @@
% date
\hfill% US style
% \\[1em]% UK style
- \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ \@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[2em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/macros/latex/contrib/moderncv/moderncvheadvi.sty b/macros/latex/contrib/moderncv/moderncvheadvi.sty
index 8595901901..ecd6dbb041 100644
--- a/macros/latex/contrib/moderncv/moderncvheadvi.sty
+++ b/macros/latex/contrib/moderncv/moderncvheadvi.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvheadvi.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvheadvi}[2022-02-21 v2.3.1 modern curriculum vitae and letter header: 6]
+\ProvidesPackage{moderncvheadvi}[2024-07-18 v2.4.1 modern curriculum vitae and letter header: 6]
% details options: "details" (default) or "nodetails"
\@initializeif{\if@details}\@detailsfalse
@@ -24,7 +24,7 @@
\DeclareOption{right} {\@leftfalse\@righttrue}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{details, left}
+\ExecuteOptions{details,left}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
@@ -43,20 +43,22 @@
\renewcommand*{\quotefont}{\large\slshape}
% styles
-\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
-\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
-\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
-\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{namecolor}{#1}}}
+\renewcommand*{\firstnamestyle}[1]{{\namefont\textcolor{firstnamecolor}{#1}}}
+\renewcommand*{\lastnamestyle}[1]{{\namefont\textcolor{lastnamecolor}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{titlecolor}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{addresscolor}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{quotecolor}{#1}}}
% commands
\@initializecommand{\makehead}{%
\setlength{\makeheaddetailswidth}{\textwidth}%
% name and title
\if@left\hfill\fi%
- \namestyle{\@firstname~\@lastname}%
+ \firstnamestyle{\@firstname}~\lastnamestyle{\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}\\[-.35em]% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
% rule
- {\color{color1}\rule{\textwidth}{.25ex}}}
+ {\color{bodyrulecolor}\rule{\textwidth}{.25ex}}}
%-------------------------------------------------------------------------------
% resume head definition
@@ -107,7 +109,7 @@
% optional detailed information
\if@details{%
\\\null%
- \addressfont\color{color2}%
+ \addressfont\color{addresscolor}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomakeheaddetails{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}%
@@ -116,7 +118,8 @@
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol\httpslink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomakeheaddetails{\homepagesymbol%
+ \ifthenelse{\equal{\@homepageprotocol}{http}}{\httplink{\@homepage}}{\httpslink{\@homepage}}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomakeheaddetails{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomakeheaddetails{\@extrainfo}}%
@@ -154,7 +157,9 @@
% date
\hfill% US style
% \\[1em]% UK style
- \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ \@date\\[3em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
% opening
\raggedright%
\@opening\\[1.5em]%
diff --git a/macros/latex/contrib/moderncv/moderncvheadvii.sty b/macros/latex/contrib/moderncv/moderncvheadvii.sty
new file mode 100644
index 0000000000..f0c259ec05
--- /dev/null
+++ b/macros/latex/contrib/moderncv/moderncvheadvii.sty
@@ -0,0 +1,226 @@
+%% start of file `moderncvheadvii.sty'.
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvheadvii}[2023/11/21 v2.0.0 modern curriculum vitae and letter header variant: 7]
+
+% details options: "details" (default) or "nodetails"
+\@initializeif{\if@details}\@detailsfalse
+\DeclareOption{details} {\@detailstrue}
+\DeclareOption{nodetails} {\@detailsfalse}
+% QR options: "qr" (default) or "noqr". If "qr" is specified, a QR code is generated to point to the
+% homepage and placed near the details section
+\@initializeif{\if@headqr}\@headqrfalse
+\DeclareOption{qr} {\@headqrtrue}
+\DeclareOption{noqr} {\@headqrfalse}
+
+% left/right options: "left" (default) or "right"
+\@initializeif{\if@left} \@leftfalse
+\DeclareOption{left} {\@lefttrue\@rightfalse}
+\@initializeif{\if@right}\@rightfalse
+\DeclareOption{right} {\@leftfalse\@righttrue}
+
+\DeclareOption*{}% avoid choking on unknown options
+\ExecuteOptions{details,qr,left}
+\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
+
+
+%-------------------------------------------------------------------------------
+% required packages
+%-------------------------------------------------------------------------------
+\RequirePackage{qrcode}
+\RequirePackage{tikz}
+\usetikzlibrary{tikzmark,fit}
+
+
+%-------------------------------------------------------------------------------
+% overall head definition
+%-------------------------------------------------------------------------------
+\@ifundefined{\string\color@headTL}{\colorlet{headTL}{color1}}{}
+\@ifundefined{\string\color@headBR}{\colorlet{headBR}{color1}}{}
+\@ifundefined{\string\color@headtext}{\colorlet{headtext}{color2}}{}
+\@ifundefined{\string\color@headhr}{\colorlet{headhr}{color2}}{}
+
+% fonts
+\renewcommand*{\namefont}{\fontsize{30}{32}\rmfamily\mdseries\upshape}
+\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
+\renewcommand*{\addressfont}{\small\mdseries\slshape}
+\renewcommand*{\quotefont}{\large\slshape}
+
+% styles
+\renewcommand*{\namestyle}[1]{{\namefont\textcolor{headtext}{#1}}}
+\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{headtext}{#1}}}
+\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{headtext}{#1}}}
+\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color0}{#1}}}
+
+
+%-------------------------------------------------------------------------------
+% resume head definition
+%-------------------------------------------------------------------------------
+% lengths
+\@initializelength{\quotewidth}
+\@initializelength{\makecvheadnamewidth}% optional makecvheadname width to force a certain width (if set/remains to 0pt, the width is calculated automatically)
+\renewcommand*{\recomputecvheadlengths}{%
+ \setlength{\quotewidth}{0.65\textwidth}}
+
+% commands
+\renewcommand*{\makecvhead}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputecvlengths%
+ % optional detailed information (pre-rendering)
+ \@initializebox{\makecvheaddetailsbox}%
+ \if@details%
+ \def\phonesdetails{}%
+ \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
+ \protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
+ \def\socialsdetails{}%
+ \collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
+ \protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
+ \savebox{\makecvheaddetailsbox}{%
+ \addressfont\color{headtext}%
+ \if@left\begin{tabular}[b]{@{}r@{}}\fi%
+ \if@right\begin{tabular}[b]{@{}l@{}}\fi%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
+ \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
+ \phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
+ \end{tabular}
+ }\fi%
+ % optional photo (pre-rendering)
+ \@initializebox{\makecvheadpicturebox}%
+ \savebox{\makecvheadpicturebox}{%
+ \ifthenelse{\isundefined{\@photo}}%
+ {}%
+ {%
+ \if@right%
+ \hspace*{\separatorcolumnwidth}\fi%
+ \begin{tikzpicture}
+ \path[top color=headBR,bottom color=headTL,shading angle=45] (0,0) circle (\dimexpr\@photowidth/2+\@photoframewidth*2);
+ \path[fill=white] (0,0) circle (\dimexpr\@photowidth/2+\@photoframewidth);
+ \begin{scope}
+ \clip (0,0) circle (\dimexpr\@photowidth/2);
+ \node[inner sep=0pt] at (0,0) {\includegraphics[width=\@photowidth]{\@photo}};
+ \end{scope}
+ \end{tikzpicture}%
+ }%
+ \if@left%
+ \hspace*{\separatorcolumnwidth}\fi}%
+ % optional QR for homepage (pre-rendering)
+ \@initializebox{\makecvheadqrbox}%
+ \if@headqr%
+ \savebox{\makecvheadqrbox}{%
+ \ifthenelse{\isundefined{\@homepage}}{}{\tikz\node[inner sep=1ex,fill=white]{\qrcode[height=1.5cm]{\@homepage}};}%
+ }\fi%
+ % name and title (pre-rendering)
+ \@initializelength{\makecvheaddetailswidth}\settowidth{\makecvheaddetailswidth}{\usebox{\makecvheaddetailsbox}}%
+ \@initializelength{\makecvheadpicturewidth}\settowidth{\makecvheadpicturewidth}{\usebox{\makecvheadpicturebox}}%
+ \ifthenelse{\lengthtest{\makecvheadnamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvheadnamewidth=0pt)
+ {\setlength{\makecvheadnamewidth}{\textwidth-\makecvheaddetailswidth-\makecvheadpicturewidth}}%
+ {}%
+ \@initializebox{\makecvheadnamebox}%
+ \savebox{\makecvheadnamebox}{%
+ \begin{minipage}[b]{\makecvheadnamewidth}%
+ \if@left\raggedright\fi%
+ \if@right\raggedleft\fi%
+ \namestyle{\@firstname\ {\scshape\@lastname}}%
+ \ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
+ \end{minipage}}%
+ % rendering
+ \begin{tikzpicture}[remember picture,overlay]
+ \node(head-bg) [top color=headTL,bottom color=headBR,shading angle=45,inner sep=0pt,
+ fit={(current page.north west)(current page.north east)(pic cs:head-end)}] {};
+ % Users may define `\@moderncvheadBackground` for additional background decoration
+ \ifthenelse{\isundefined{\@moderncvheadBackground}}{}{\@moderncvheadBackground}
+
+ \path[draw,line width=\@photoframewidth]
+ (head-bg.south west) edge[color=headhr!85!black] ([xshift=8em]head-bg.south west)
+ ([xshift=8em]head-bg.south west) edge[color=headhr] ([xshift=-8em]head-bg.south east)
+ ([xshift=-8em]head-bg.south east) edge[color=headhr!85!black] (head-bg.south east);
+ \end{tikzpicture}%
+ \if@left%
+ \usebox{\makecvheadpicturebox}%
+ \usebox{\makecvheadnamebox}%
+ \hfill%
+ \llap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
+ \usebox{\makecvheadqrbox}\fi%
+ \if@right%
+ \usebox{\makecvheadqrbox}%
+ \rlap{\usebox{\makecvheaddetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvheadnamewidth is forced
+ \hfill%
+ \usebox{\makecvheadnamebox}%
+ \usebox{\makecvheadpicturebox}\fi%
+ \\[.15em]%
+ \tikzmark{head-end}\\[.15em]%
+ % optional quote
+ \ifthenelse{\isundefined{\@quote}}%
+ {}%
+ {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[.15em]}}%
+ \par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvhead
+
+
+%-------------------------------------------------------------------------------
+% letter head definition
+%-------------------------------------------------------------------------------
+% lengths
+%\renewcommand*{\recomputeletterheadlengths}{}
+
+% commands
+\renewcommand*{\makeletterhead}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputeletterlengths%
+ % sender contact info
+ \hfill%
+ \begin{minipage}{.5\textwidth}%
+ % optional detailed information
+ \if@details%
+ \raggedleft%
+ \addressfont\textcolor{color2}{%
+ {\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
+ % optional detailed information
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
+ \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
+ \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
+ \makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}\fi%
+ \end{minipage}\\[1em]
+ % recipient block
+ \begin{minipage}[t]{.5\textwidth}
+ \raggedright%
+ \addressfont%
+ {\bfseries\upshape\@recipientname}\\%
+ \@recipientaddress%
+ \end{minipage}
+ % date
+ \hfill% US style
+% \\[1em]% UK style
+ \@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
+ % optional subject
+ \ifthenelse{\isundefined{\@subject}}{}{{\bfseries\@subject\\[3em]}}
+ % opening
+ \raggedright%
+ \@opening\\[1.5em]%
+ % ensure no extra spacing after \makelettertitle due to a possible blank line
+% \ignorespacesafterend% not working
+ \hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
+
+
+\endinput
+
+
+%% end of file `moderncvheadvii.sty'.
diff --git a/macros/latex/contrib/moderncv/moderncviconsacademic.sty b/macros/latex/contrib/moderncv/moderncviconsacademic.sty
index e1eae589aa..cf7bbbb536 100644
--- a/macros/latex/contrib/moderncv/moderncviconsacademic.sty
+++ b/macros/latex/contrib/moderncv/moderncviconsacademic.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsacademic.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsacademic}[2022-02-21 v2.3.1 modern curriculum vitae icons: academicons]
+\ProvidesPackage{moderncviconsacademic}[2024-07-18 v2.4.1 modern curriculum vitae icons: academicons]
%-------------------------------------------------------------------------------
@@ -18,7 +18,19 @@
%-------------------------------------------------------------------------------
% Package for academic icons
\RequirePackage{academicons}
+\RequirePackage{xcolor}
+%-------------------------------------------------------------------------------
+% set colors
+%-------------------------------------------------------------------------------
+\input{moderncvcolors.tex}
+
+\providecolor{orcid}{named}{default-socialicon-color}
+\providecolor{researchgate}{named}{default-socialicon-color}
+\providecolor{researcherid}{named}{default-socialicon-color}
+\providecolor{googlescholar}{named}{default-socialicon-color}
+\providecolor{arxiv}{named}{default-socialicon-color}
+\providecolor{inspire}{named}{default-socialicon-color}
%-------------------------------------------------------------------------------
% all symbols described in moderncv.cls
@@ -39,14 +51,16 @@
%\newcommand*{\stackoverflowsocialsymbol}{}
%\newcommand*{\bitbucketsocialsymbol} {}
%\newcommand*{\skypesocialsymbol} {}
-\renewcommand*{\orcidsocialsymbol} {{\small\aiOrcid}~}
-\renewcommand*{\researchgatesocialsymbol} {{\small\aiResearchGateSquare}~} % alternative: \aiResearchGate
-\renewcommand*{\researcheridsocialsymbol} {{\small\aiResearcherIDSquare}~} % alternative: \aiResearcherID
-\renewcommand*{\googlescholarsocialsymbol}{{\small\aiGoogleScholar}~}
+\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\aiOrcid}~}
+\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\aiResearchGateSquare}~} % alternative: \aiResearchGate
+\renewcommand*{\researcheridsocialsymbol} {{\color{researcherid}\small\aiResearcherIDSquare}~} % alternative: \aiResearcherID
+\renewcommand*{\googlescholarsocialsymbol}{{\color{googlescholar}\raisebox{-1pt}{\large\aiGoogleScholar}}~}
%\newcommand*{\telegramsocialsymbol} {}
%\newcommand*{\whatsappsocialsymbol} {}
%\newcommand*{\matrixsocialsymbol} {}
%\newcommand*{\signalsocialsymbol} {}
+\renewcommand*{\arxivsocialsymbol}{{\color{arxiv}{\small\aiarXiv}}~}
+\renewcommand*{\inspiresocialsymbol}{{\color{inspire}{\small\aiInspire}}~}
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncviconsawesome.sty b/macros/latex/contrib/moderncv/moderncviconsawesome.sty
index 2a0ea3a23c..a51729faa6 100644
--- a/macros/latex/contrib/moderncv/moderncviconsawesome.sty
+++ b/macros/latex/contrib/moderncv/moderncviconsawesome.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsawesome.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,13 +10,51 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsawesome}[2022-02-21 v2.3.1 modern curriculum vitae icons: awesome]
+\ProvidesPackage{moderncviconsawesome}[2024-07-18 v2.4.1 modern curriculum vitae icons: awesome]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% Font Awesome font
\RequirePackage{fontawesome5}
+\RequirePackage{xcolor}
+
+%-------------------------------------------------------------------------------
+% set colors
+%-------------------------------------------------------------------------------
+\input{moderncvcolors.tex}
+
+\providecolor{address}{named}{default-socialicon-color}
+\providecolor{mobilephone}{named}{default-socialicon-color}
+\providecolor{fixedphone}{named}{default-socialicon-color}
+\providecolor{faxphone}{named}{default-socialicon-color}
+\providecolor{email}{named}{default-socialicon-color}
+\providecolor{homepage}{named}{default-socialicon-color}
+\providecolor{googlescholar}{named}{default-socialicon-color}
+\providecolor{linkedin}{named}{default-socialicon-color}
+\providecolor{xing}{named}{default-socialicon-color}
+\providecolor{twitter}{named}{default-socialicon-color}
+\providecolor{mastodon}{named}{default-socialicon-color}
+\providecolor{github}{named}{default-socialicon-color}
+\providecolor{gitlab}{named}{default-socialicon-color}
+\providecolor{stackoverflow}{named}{default-socialicon-color}
+\providecolor{bitbucket}{named}{default-socialicon-color}
+\providecolor{skype}{named}{default-socialicon-color}
+\providecolor{orcid}{named}{default-socialicon-color}
+\providecolor{researchgate}{named}{default-socialicon-color}
+\providecolor{telegram}{named}{default-socialicon-color}
+\providecolor{whatsapp}{named}{default-socialicon-color}
+\providecolor{discord}{named}{default-socialicon-color}
+\providecolor{twitch}{named}{default-socialicon-color}
+\providecolor{youtube}{named}{default-socialicon-color}
+\providecolor{tiktok}{named}{default-socialicon-color}
+\providecolor{instagram}{named}{default-socialicon-color}
+\providecolor{soundcloud}{named}{default-socialicon-color}
+\providecolor{steam}{named}{default-socialicon-color}
+\providecolor{xbox}{named}{default-socialicon-color}
+\providecolor{playstation}{named}{default-socialicon-color}
+\providecolor{battlenet}{named}{default-socialicon-color}
+\providecolor{born}{named}{default-socialicon-color}
%-------------------------------------------------------------------------------
% all symbols described in moderncv.cls
@@ -28,28 +66,41 @@
%\renewcommand*{\addresssymbol} {}
-\renewcommand*{\mobilephonesymbol} {{\small\faMobile*}~} % alternative: \faMobile (solid style)
-\renewcommand*{\fixedphonesymbol} {{\small\faPhone*}~} % alternative: \faPhone (reversed)
-\renewcommand*{\faxphonesymbol} {{\small\faFax}~} % alternative: \faPrint
-\renewcommand*{\emailsymbol} {{\small\faEnvelope[regular]}~} % alternative: \faInbox, \faEnvelope (solid style)
-\renewcommand*{\homepagesymbol} {{\small\faGlobeAmericas}~} % alternative: \faHome, \faGlobe, \faGlobeEurope, \faGlobeAfrica, \faGlobeAsia
-\renewcommand*{\linkedinsocialsymbol} {{\small\faLinkedinIn}~} % alternative: \faLinkedin
-\renewcommand*{\xingsocialsymbol} {{\small\faXing}~} % alternative: \faXingSquare
-\renewcommand*{\twittersocialsymbol} {{\small\faTwitter}~} % alternative: \faTwitterSquare
-\renewcommand*{\githubsocialsymbol} {{\small\faGithub}~} % alternative: \faGithubSquare, \faGithub*
-\renewcommand*{\gitlabsocialsymbol} {{\small\faGitlab}~}
-\renewcommand*{\stackoverflowsocialsymbol}{{\small\faStackOverflow}~}
-\renewcommand*{\bitbucketsocialsymbol} {{\small\faBitbucket}~}
-\renewcommand*{\skypesocialsymbol} {{\small\faSkype}~}
-\renewcommand*{\orcidsocialsymbol} {{\small\faOrcid}~}
-\renewcommand*{\researchgatesocialsymbol} {{\small\faResearchgate}~}
+\renewcommand*{\mobilephonesymbol} {{\color{mobilephone}\small\faMobile*}~} % alternative: \faMobile (solid style)
+\renewcommand*{\fixedphonesymbol} {{\color{fixedphone}\small\faPhone*}~} % alternative: \faPhone (reversed)
+\renewcommand*{\faxphonesymbol} {{\color{faxphone}\small\faFax}~} % alternative: \faPrint
+\renewcommand*{\emailsymbol} {{\color{email}\small\faEnvelope[regular]}~} % alternative: \faInbox, \faEnvelope (solid style)
+\renewcommand*{\homepagesymbol} {{\color{homepage}\small\faGlobeAmericas}~} % alternative: \faHome, \faGlobe, \faGlobeEurope, \faGlobeAfrica, \faGlobeAsia
+\renewcommand*{\linkedinsocialsymbol} {{\color{linkedin}\small\faLinkedinIn}~} % alternative: \faLinkedin
+\renewcommand*{\xingsocialsymbol} {{\color{xing}\small\faXing}~} % alternative: \faXingSquare
+\renewcommand*{\twittersocialsymbol} {{\color{twitter}\small\faTwitter}~} % alternative: \faTwitterSquare
+\renewcommand*{\mastodonsocialsymbol} {{\color{mastodon}\small\faMastodon}~}
+\renewcommand*{\githubsocialsymbol} {{\color{github}\small\faGithub}~} % alternative: \faGithubSquare, \faGithub*
+\renewcommand*{\gitlabsocialsymbol} {{\color{gitlab}\small\faGitlab}~}
+\renewcommand*{\stackoverflowsocialsymbol}{{\color{stackoverflow}\small\faStackOverflow}~}
+\renewcommand*{\bitbucketsocialsymbol} {{\color{bitbucket}\small\faBitbucket}~}
+\renewcommand*{\skypesocialsymbol} {{\color{skype}\small\faSkype}~}
+\renewcommand*{\orcidsocialsymbol} {{\color{orcid}\small\faOrcid}~}
+\renewcommand*{\researchgatesocialsymbol} {{\color{researchgate}\small\faResearchgate}~}
%\renewcommand*{\researcheridsocialsymbol} {}
%\renewcommand*{\googlescholarsocialsymbol}{}
-\renewcommand*{\telegramsocialsymbol} {{\small\faTelegram}~}
-\renewcommand*{\whatsappsocialsymbol} {{\small\faWhatsapp}~}
+\renewcommand*{\telegramsocialsymbol} {{\color{telegram}\small\faTelegram}~}
+\renewcommand*{\whatsappsocialsymbol} {{\color{whatsapp}\small\faWhatsapp}~}
+\renewcommand*{\discordsocialsymbol} {{\color{discord}\small\faDiscord}~}
+\renewcommand*{\twitchsocialsymbol} {{\color{twitch}\small\faTwitch}~}
+\renewcommand*{\youtubesocialsymbol} {{\color{youtube}\small\faYoutube}~}
+\renewcommand*{\tiktoksocialsymbol} {{\color{tiktok}\small\faTiktok}~}
+\renewcommand*{\instagramsocialsymbol} {{\color{instagram}\small\faInstagram}~}
+\renewcommand*{\soundcloudsocialsymbol} {{\color{soundcloud}\small\faSoundcloud}~}
+\renewcommand*{\steamsocialsymbol} {{\color{steam}\small\faSteam}~}
+\renewcommand*{\xboxsocialsymbol} {{\color{xbox}\small\faXbox}~}
+\renewcommand*{\playstationsocialsymbol} {{\color{playstation}\small\faPlaystation}~}
+\renewcommand*{\battlenetsocialsymbol} {{\color{battlenet}\small\faBattleNet}~}
%\renewcommand*{\signalsocialsymbol} {}
%\renewcommand*{\matrixsocialsymbol} {}
-\renewcommand*{\bornsymbol} {{\small\faAsterisk}~} % alternative: \faBabyCarriage
+% \renewcommand*{\arxivsocialsymbol} {{\color{arxiv}{\small\faarXiv}}~}
+% \renewcommand*{\inspiresocialsymbol} {{\color{inspire}{\small\faInspire}}~}
+\renewcommand*{\bornsymbol} {{\color{born}\small\faAsterisk}~} % alternative: \faBabyCarriage
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncviconsletters.sty b/macros/latex/contrib/moderncv/moderncviconsletters.sty
index 832e21035a..2dc6386d51 100644
--- a/macros/latex/contrib/moderncv/moderncviconsletters.sty
+++ b/macros/latex/contrib/moderncv/moderncviconsletters.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsletters.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsletters}[2022-02-21 v2.3.1 modern curriculum vitae icons: letter]
+\ProvidesPackage{moderncviconsletters}[2024-07-18 v2.4.1 modern curriculum vitae icons: letter]
%-------------------------------------------------------------------------------
% symbols definition
@@ -31,6 +31,7 @@
\renewcommand*{\linkedinsocialsymbol} {\textbf{in}~}
\renewcommand*{\xingsocialsymbol} {\textbf{xi}~}
\renewcommand*{\twittersocialsymbol} {\textbf{tw}~}
+\renewcommand*{\mastodonsocialsymbol} {\textbf{ms}~}
\renewcommand*{\githubsocialsymbol} {\textbf{gh}~}
\renewcommand*{\gitlabsocialsymbol} {\textbf{gl}~}
\renewcommand*{\stackoverflowsocialsymbol}{\textbf{so}~}
@@ -45,6 +46,18 @@
\renewcommand*{\matrixsocialsymbol} {\textbf{ma}~}
\renewcommand*{\googlescholarsocialsymbol}{\textbf{gs}~}
\renewcommand*{\bornsymbol} {\textbf{B}~}
+\renewcommand*{\codebergsocialsymbol} {\textbf{cb}~}
+\renewcommand*{\twitchsocialsymbol} {\textbf{ttv}~}
+\renewcommand*{\youtubesocialsymbol} {\textbf{yt}~}
+\renewcommand*{\tiktoksocialsymbol} {\textbf{tok}~}
+\renewcommand*{\instagramsocialsymbol} {\textbf{insta}~}
+\renewcommand*{\soundcloudsocialsymbol} {\textbf{sc}~}
+\renewcommand*{\steamsocialsymbol} {\textbf{st}~}
+\renewcommand*{\xboxsocialsymbol} {\textbf{xb}~}
+\renewcommand*{\playstationsocialsymbol} {\textbf{psn}~}
+\renewcommand*{\battlenetsocialsymbol} {\textbf{bn}~}
+\renewcommand*{\arxivsocialsymbol} {\textbf{arx}~}
+\renewcommand*{\inspiresocialsymbol} {\textbf{ins}~}
\renewcommand*{\listitemsymbol} {\labelitemi~}
diff --git a/macros/latex/contrib/moderncv/moderncviconsmarvosym.sty b/macros/latex/contrib/moderncv/moderncviconsmarvosym.sty
index 0a1d8f107d..2dbc71011e 100644
--- a/macros/latex/contrib/moderncv/moderncviconsmarvosym.sty
+++ b/macros/latex/contrib/moderncv/moderncviconsmarvosym.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconsmarvosym.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconsmarvosym}[2022-02-21 v2.3.1 modern curriculum vitae icons: marvosym]
+\ProvidesPackage{moderncviconsmarvosym}[2024-07-18 v2.4.1 modern curriculum vitae icons: marvosym]
%-------------------------------------------------------------------------------
% all symbols described in moderncv.cls
diff --git a/macros/latex/contrib/moderncv/moderncviconssymbols.sty b/macros/latex/contrib/moderncv/moderncviconssymbols.sty
index 256304380e..b6c1fb7b1d 100644
--- a/macros/latex/contrib/moderncv/moderncviconssymbols.sty
+++ b/macros/latex/contrib/moderncv/moderncviconssymbols.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconssymbols.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -17,7 +17,7 @@
\RequirePackage{moderncviconsawesome}
\RequirePackage{moderncviconsacademic}
\else
- \ClassWarningNoLine{moderncv}{"academicons requires xetex/luatex to work. Using alternatives."}
+ \typeout{^^Jmoderncv: academicons requires XeTeX/LuaTeX to work. Using alternatives.^^J}
\ifpdftex
\RequirePackage{moderncviconsawesome}
\else
diff --git a/macros/latex/contrib/moderncv/moderncviconstikz.sty b/macros/latex/contrib/moderncv/moderncviconstikz.sty
index c3e9f40b0d..e1a0248924 100644
--- a/macros/latex/contrib/moderncv/moderncviconstikz.sty
+++ b/macros/latex/contrib/moderncv/moderncviconstikz.sty
@@ -1,5 +1,5 @@
%% start of file `moderncviconstikz.sty'.
-%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2013-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncviconstikz}[2022-02-21 v2.3.1 modern curriculum vitae and letter icons: tickz]
+\ProvidesPackage{moderncviconstikz}[2024-07-18 v2.4.1 modern curriculum vitae and letter icons: tickz]
%-------------------------------------------------------------------------------
@@ -218,7 +218,7 @@
\protect\begin{tikzpicture}[x=0.11em, y=0.11em, xscale=0.015, yscale=-0.015, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
\protect\path[fill=color2,line width=0.057pt]
- (105.2000,24.9000) .. controls (102.1000,16.0000) and (89.5000,16.0000) ..
+ (105.2000,24.9000) .. controls (102.1000,16.0000) and (89.5000,16.0000) ..
(86.3000,24.9000) -- (29.8000,199.7000) -- (161.7000,199.7000) .. controls
(161.7000,199.7000) and (105.2000,24.9000) .. (105.2000,24.9000) -- cycle
(0.9000,287.7000) .. controls (-1.7000,295.7000) and (1.2000,304.6000) ..
@@ -327,7 +327,7 @@
\protect\raisebox{-0.12em}{
\protect\begin{tikzpicture}[y=1.8pt, x=1.8pt, yscale=-0.15, xscale=0.15, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
- \protect\path[fill=color2]
+ \protect\path[fill=color2]
(0.9360,0.7320) .. controls (0.9360,10.9053) and (0.9360,21.0787) ..
(0.9360,31.2520) .. controls (1.6673,31.2520) and (2.3987,31.2520) ..
(3.1300,31.2520) .. controls (3.3452,32.0075) and (2.8778,32.0803) ..
@@ -374,7 +374,7 @@
\protect\raisebox{-0.12em}{
\protect\begin{tikzpicture}[y=0.1pt, x=0.1pt, yscale=-0.13, xscale=0.13, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
- \protect\path[fill=color2]
+ \protect\path[fill=color2]
(430.1000,180.9000) -- (437.8000,211.9000) .. controls (407.6000,219.3000)
and (378.7000,231.3000) .. (352.1000,247.3000) -- (335.7000,220.0000) ..
controls (365.0000,202.3000) and (396.9000,189.1000) .. (430.1000,180.9000) --
@@ -439,6 +439,25 @@
~}
}{}\par
+\ifdefempty{\codebergsocialsymbol} {
+ \renewcommand*{\codebergsocialsymbol} {
+ \protect\raisebox{-0.12em}{
+ \protect\begin{tikzpicture}[y=0.8pt, x=0.8pt, yscale=-1.0, xscale=1.0, inner sep=0pt, outer sep=0pt]
+ \protect\begin{scope}[shift={(507, 387)}]
+ \protect\path[scale=0.265, opacity=0.500, line cap=butt, line join=miter, line width=0.779pt, miter limit=2.00]
+ (11249.8942,-1872.9296)arc(269.285:169.240:0.201313 and 0.150) --
+ (11258.5852,-1839.4433)arc(66.699:32.084:23.067) --
+ (11250.0698,-1872.8557)arc(329.460:269.346:0.201313 and 0.150) -- cycle;
+
+ \protect\path[scale=0.265, fill=color2, line width=0.426pt]
+ (11249.3743,-1883.6959)arc(269.785:180.000:23.067)arc(180.001:147.920:23.067)
+ -- (11249.1480,-1873.2412)arc(209.929:330.071:0.360097 and 0.269) --
+ (11269.0053,-1848.3766)arc(32.082:-0.002:23.067)arc(360.000:270.000:23.067)arc(270.108:269.892:23.067)
+ -- cycle;
+ \protect\end{scope}
+ \protect\end{tikzpicture}}
+ ~}
+}{}\par
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvskillmatrix.sty b/macros/latex/contrib/moderncv/moderncvskillmatrix.sty
index 68b8db9a0a..9f03be117a 100644
--- a/macros/latex/contrib/moderncv/moderncvskillmatrix.sty
+++ b/macros/latex/contrib/moderncv/moderncvskillmatrix.sty
@@ -2,30 +2,30 @@
%% Copyright 2021 David Seus (cryptointerest@posteo.de).
%
% This package provides a skill matrix template for the moderncv package.
-% Some recruiting firms require applicants to rate their skills, computer
-% skills, management tools, or similar in a table involving a graphical
-% illustration of their skill level. This package implements this idea
-% and provides the following commands to use within the moderncv
+% Some recruiting firms require applicants to rate their skills, computer
+% skills, management tools, or similar in a table involving a graphical
+% illustration of their skill level. This package implements this idea
+% and provides the following commands to use within the moderncv
% package:
-%
-%
+%
+%
% PUBLIC COMMANDS
% \cvskill{<1-5>}
% Illustrate skill level with little colored boxes.
-% By default five skill levels are predefined.
-%
-% Input:
+% By default five skill levels are predefined.
+%
+% Input:
% input_1: integer between 0 and 5
-%
-% Example usages:
+%
+% Example usages:
% \cvskill{3}
-%
-%
+%
+%
% \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
% Print legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
-%
+%
% Input:
-% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
@@ -34,25 +34,25 @@
% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
% input_7: string giving a name to the legend, default: <>
-%
+%
% Example usages:
% \cvskilllegend{} print default legend
% \cvskilllegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
% \cvskilllegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
-%
+%
% Note:
% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
-% -The design of the table is such that the <second_level> entry stands in the first column but
+% -The design of the table is such that the <second_level> entry stands in the first column but
% occupies rows two and three. This has been done to accomodate english and german defaults.
% An alternative is provided by \cvskillplainlegend
-%
-%
+%
+%
% \cvskillplainlegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
% Print alternative legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
% In this legend, the first three skill levels are in one column
-%
+%
% Input:
-% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
@@ -61,40 +61,40 @@
% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
% input_7: string giving a name to the legend, default: <>
-%
+%
% Example usages:
% \cvskillplainlegend{} print default legend
% \cvskillplainlegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
% \cvskillplainlegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
-%
+%
% Note:
% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
-%
-%
+%
+%
% \cvskillhead[<post_padding>][<Level>][<Skill>][<Years>][<Comment>]%
% add skill matrix line acting as header explaining the meaning of columns.
-%
+%
% Input:
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string naming the level column (2nd column), default: <Level>
% input_3 (optional): string naming the skill column (3nd column), default: <Skill>
% input_4 (optional): string naming the experience-in-years column (4th column), default: <Years>
% input_5 (optional): string naming the comment column (5th column), default: <Comment>
-%
+%
% Example usages:
% \cvskillhead print default head.
% \cvskillhead[0.5em] print default head, but adjust post padding.
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung] Fully adjust head to German example
-%
-% Note:
+%
+% Note:
% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
-%
-%
+%
+%
% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
% add cvskill matrix row.
-%
+%
% Input:
-% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
+% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2: string, naming skill cathegory, default: <>
@@ -102,98 +102,98 @@
% input_4: string, naming the skill, default: <>
% input_5: positive real number, stating the number of years of experience with this skill , default: <>
% input_6: string, explaining details w.r.t. that particual skill default: <>
-%
+%
% Example usages:
% \cvskillentry*{Language:}{3}{Python}{2}{I have done a million projects with Python}
% \cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man I'm the best!}
% \cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
% \cvskillentry*[1.5em]{OS:}{3}{Linux}{2}{I only use Archlinux}
-%
-% Note:
+%
+% Note:
% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
-%
-%
+%
+%
% \setcvskillcolumns[<width>][<factor>][<exp_width>]
% adjust column width of skill table
-%
-% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
-% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
+%
+% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
+% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
% and actually yield a decent looking table. The defaults depend on the style used and are chosen reasonably.
-% However, depending on the user input and the style that is used some of the columns might need adjustments.
-% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
+% However, depending on the user input and the style that is used some of the columns might need adjustments.
+% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
% skill matrix column. The second column containg the output of \cvskill remains fixed width. The last column,
% the comment column gets recalculated according to the setting of the other columns.
-%
+%
% Input
% Input_1 (optional): width smaller than \textwidth, default <\skillmatrix@hintscolumnwidth>
-% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
+% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
% the first column is used columns two, three and four. Through this parameter
% the width of the 3rd column (skill name) can be adjusted, default <\skillmatrix@columnwidth>
-% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
+% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
% (Years of experience), default <\cvskill@experiencewidth>
-%
+%
% Example usage
% \setcvskillcolumns[5em][][]% adjust first column. Same as \setcvskillcolumns[5em]
% \setcvskillcolumns[][0.45][]% adjust third (skill) column. Same as \setcvskillcolumns[][0.45]
% \setcvskillcolumns[][][\widthof{``Year''}]% adjust fourth (years) column.
-% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
+% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
% \setcvskillcolumns[\widthof{``Management Tools''}][0.6][3em]% ajust all at once.
-%
+%
% Note
% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
-% it aligns with the rest of the entries. A readjustment of the first column should therefor
-% be avoided. It is recomended to only use \setcvskillcolumns in the form of
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \setcvskillcolumns in the form of
% \setcvskillcolumns[][<factor>][<width>], thereby leaving the defaults in place for the first column.
-%
-%
+%
+%
% \setcvskilllegendcolumns[<width>][<factor>]
% adjust column width of legend
-%
-% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
-% such that the default english and german examples look good.
-% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
-% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
+%
+% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
+% such that the default english and german examples look good.
+% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
+% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
% \cvskill commands. The second column containg the output of \cvskill remains fixed width. The last column,
% the comment column gets recalculated according to the setting of the other columns.
-%
+%
% Input
-% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
-% where depending on the style the legend_string gets printed. In case the
-% string is left empty adjusting this width allows moving the legend horizontally.
+% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
+% where depending on the style the legend_string gets printed. In case the
+% string is left empty adjusting this width allows moving the legend horizontally.
% Default <\skilllegend@hintscolumnwidth>
-% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
-% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
+% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
+% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
% \cvskilllegend@rightdescriptorwidth is influenced by the factor 1-<factor>.
% Default <\skilllegend@leftdesriptorfactor>
-%
+%
% Example usage
% \setcvskilllegendcolumns[][0.45]%% adjust left desriptor column.
% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]% adjust both left descriptor column and string column
-%
+%
% Note
-% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
+% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
% the first optional variable has no effect in this case.
% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
-% it aligns with the rest of the entries. A readjustment of the first column should therefor
-% be avoided. It is recomended to only use \cvskilllegend in the form of
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \cvskilllegend in the form of
% \cvskilllegend[][<factor>], thereby leaving the defaults in place for the first column.
% - For style 'banking' the first column is set to align with the rest of the \cvskillentry entries
-% Therefor adjusting the first column can be used to widen the table while moving it around. If no
+% Therefor adjusting the first column can be used to widen the table while moving it around. If no
% legend string is used, setting \cvskilllegend[0em] maximises the real enstate for the legend.
-%
-%
+%
+%
% PRIVATE COMMANDS
-%
+%
% \recompute@cvskillmatrix@lengths
-% compute all lengths necessary for the skill matrix depending on
+% compute all lengths necessary for the skill matrix depending on
% the moderncv style (moderncvbody)
-%
+%
% Input: none
-%
+%
% Example usage (only internally in moderncvbody<i-v>.sty)
-% \recompute@cvskillmatrix@lengths
-%
-%
+% \recompute@cvskillmatrix@lengths
+%
+%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
@@ -203,10 +203,10 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvskillmatrix}[2022-02-21 v2.3.1 modern curriculum vitae and letter skill matrix]
+\ProvidesPackage{moderncvskillmatrix}[2024-07-18 v2.4.1 modern curriculum vitae and letter skill matrix]
-% The definitions need to be adjusted depending on which moderncvbody<i-v>.sty style is usde.
-% body type options: "moderncvbodyi" (default), "moderncvbodyii", "moderncvbodyiii", "moderncvbodyiv" or "moderncvbodyv"
+% The definitions need to be adjusted depending on which moderncvbody<i-v>.sty style is usde.
+% body type options: "moderncvbodyi" (default), "moderncvbodyii", "moderncvbodyiii", "moderncvbodyiv" or "moderncvbodyv"
\@initializeif{\if@moderncvbodyi}\@moderncvbodyifalse
\DeclareOption{moderncvbodyi}{\@moderncvbodyitrue\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvfalse}
\@initializeif{\if@moderncvbodyii}\@moderncvbodyiifalse % this option is added in case moderncvbodyii gets implemented standalone
@@ -218,6 +218,10 @@
\@initializeif{\if@moderncvbodyv}\@moderncvbodyvfalse
\DeclareOption{moderncvbodyv}{\@moderncvbodyifalse\@moderncvbodyiifalse\@moderncvbodyiiifalse\@moderncvbodyivfalse\@moderncvbodyvtrue}
+% If option `circle` is specified, use circles instead of small rectangles for rating skills
+\@initializeif{\if@cvskillcircle}\@cvskillcirclefalse
+\DeclareOption{circle}{\@cvskillcircletrue}
+
\DeclareOption*{}% avoid choking on unknown options
\ExecuteOptions{moderncvbodyi}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
@@ -239,23 +243,29 @@
% %-------------------------------------------------------------------------------
% The code for the Skilllevel illustration with the little boxes.
% This is idea stolen from the limecv package, see https://github.com/opieters/limecv.git
-\@initializelength{\cvSkill@RectangleSize}
-\setlength{\cvSkill@RectangleSize}{1.2ex}
+\@initializelength{\cvSkill@ShapeSize}
+\if@cvskillcircle%
+ \setlength{\cvSkill@ShapeSize}{.7ex}%
+ \def\cvSkill@Shape#1{\tikz\filldraw[#1] (0, 0) circle (\cvSkill@ShapeSize);}
+\else
+ \setlength{\cvSkill@ShapeSize}{1.2ex}
+ \def\cvSkill@Shape#1{\tikz\filldraw[#1] (0, 0) rectangle (\cvSkill@ShapeSize, \cvSkill@ShapeSize);}
+\fi
\newcount\my@repeat@count
\DeclareDocumentCommand{\cvskill}{m}{%
% Illustrate skill level with little colored boxes.
-% By default five skill levels are predefined.
-%
-% Input:
+% By default five skill levels are predefined.
+%
+% Input:
% integer between 0 and 5
-% Example usage:
+% Example usage:
% \cvskill{3}
\begingroup
\my@repeat@count=\z@
- \@whilenum\my@repeat@count<#1\do{\tikz\filldraw[color1] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
+ \@whilenum\my@repeat@count<#1\do{\cvSkill@Shape{skillmatrixfullcolor}\advance%
\my@repeat@count\@ne\,}%
\my@repeat@count=\numexpr5-\z@\relax
- \@whilenum\my@repeat@count>#1\do{\tikz\filldraw[color2!30] (0, 0) rectangle (\cvSkill@RectangleSize, \cvSkill@RectangleSize);\advance%
+ \@whilenum\my@repeat@count>#1\do{\cvSkill@Shape{skillmatrixemptycolor}\advance%
\my@repeat@count\m@ne\,}%
\endgroup
}% end \cvskill
@@ -279,10 +289,10 @@
\@initializelength{\skilllegend@padding}
\@initializelength{\skilllegend@bodylength}
-% \separatorrulewidth is defined in moderncvbodyv.sty and we need to
+% \separatorrulewidth is defined in moderncvbodyv.sty and we need to
% define it to not throw an error in the other cases
\if@moderncvbodyv%
-%
+%
\else%
\@initializelength{\separatorrulewidth}
\setlength{\separatorrulewidth}{1ex}
@@ -292,13 +302,13 @@
%% DEFINITION \recompute@cvskillmatrix@lengths
% declare the command \recompute@cvskillmatrix@lengths empty
\DeclareDocumentCommand{\recompute@cvskillmatrix@lengths}{}{}%
-% compute all lengths necessary for the skill matrix depending on
+% compute all lengths necessary for the skill matrix depending on
% the moderncv style (moderncvbody)
-%
+%
% Input: none
-%
+%
% Example usage (only internally in moderncvbody<i-v>.sty)
-% \recompute@cvskillmatrix@lengths
+% \recompute@cvskillmatrix@lengths
% Definition of \recompute@cvskillmatrix@lengths for moderncvbodyi
\if@moderncvbodyi%
@@ -332,7 +342,7 @@
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
% lengths and definitions needed for the legends
- % note that \skillmatrix@padding also affects the appearance of legends
+ % note that \skillmatrix@padding also affects the appearance of legends
\setlength{\skilllegend@padding}{0.25ex}%
\setlength{\skilllegend@hintscolumnwidth}{\skillmatrix@hintscolumnwidth}%
\setlength{\skilllegend@bodylength}{\skillmatrix@bodylength}%
@@ -352,7 +362,7 @@
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
% lengths and definitions needed for the legends
- % note that \skillmatrix@padding also affects the appearance of legends
+ % note that \skillmatrix@padding also affects the appearance of legends
\setlength{\skilllegend@padding}{0.25ex}
\setlength{\skilllegend@hintscolumnwidth}{0ex}%\skillmatrix@hintscolumnwidth
\setlength{\skilllegend@bodylength}{\maincolumnwidth}
@@ -371,7 +381,7 @@
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
% lengths and definitions needed for the legends
- % note that \skillmatrix@padding also affects the appearance of legends
+ % note that \skillmatrix@padding also affects the appearance of legends
\setlength{\skilllegend@padding}{0.25ex}%
\setlength{\skilllegend@hintscolumnwidth}{\skillmatrix@hintscolumnwidth}%
\setlength{\skilllegend@bodylength}{\maincolumnwidth}%
@@ -385,43 +395,43 @@
% \setcvskillcolumns[<width>][<factor>][<exp_width>]
\DeclareDocumentCommand{\setcvskillcolumns}{+O{\skillmatrix@hintscolumnwidth} +O{\skillmatrix@columnwidth} +O{\cvskill@experiencewidth}}{%
% adjust column width of skill table
-%
-% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
-% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
+%
+% The \cvskillentry command comes with default FIXED width definitions of the kill matrix for the columns
+% based on the author's own skill matrix. This is necessary to ensure that the entries are nicely aligned
% and actually yield a decent looking table. The defaults depend on the style used and are chosen reasonably.
-% However, depending on the user input and the style that is used some of the columns might need adjustments.
-% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
+% However, depending on the user input and the style that is used some of the columns might need adjustments.
+% The \setcvskillcolumns command provides means to influence the width of the first, the third and the fourth
% skill matrix column. The second column containg the output of \cvskill remains fixed width. The last column,
% the comment column gets recalculated according to the setting of the other columns.
-%
+%
% Input
% Input_1 (optional): width smaller than \textwidth, default <\skillmatrix@hintscolumnwidth>
-% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
+% Input_2 (optional): float between 0 and 1 adjusting how much percent of the table width without
% the first column is used columns two, three and four. Through this parameter
% the width of the 3rd column (skill name) can be adjusted, default <\skillmatrix@columnwidth>
-% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
+% Input_3 (optional): width smaller than \textwidth, setting the width of the 4th column
% (Years of experience), default <\cvskill@experiencewidth>
-%
+%
% Example usage
% \setcvskillcolumns[5em][][]% adjust first column. Same as \setcvskillcolumns[5em]
% \setcvskillcolumns[][0.45][]% adjust third (skill) column. Same as \setcvskillcolumns[][0.45]
% \setcvskillcolumns[][][\widthof{``Year''}]% adjust fourth (years) column.
-% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
+% \setcvskillcolumns[\widthof{``Language''}][0.48][]% adjust 1st and 3rd columns. Same as \setcvskillcolumns[\widthof{``Language''}][0.45]
% \setcvskillcolumns[\widthof{``Management Tools''}][0.6][3em]% ajust all at once.
-%
+%
% Note
% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
-% it aligns with the rest of the entries. A readjustment of the first column should therefor
-% be avoided. It is recomended to only use \setcvskillcolumns in the form of
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \setcvskillcolumns in the form of
% \setcvskillcolumns[][<factor>][<width>], thereby leaving the defaults in place for the first column.
-%
+%
\def\arg@new@hintscolumnwidth{#1}% <-- all these terminal % signs are necessary for the fancy style to not show weird spaces!!!
- \def\arg@new@bodyLengthFactor{#2}%
- \def\arg@new@experienceWidth{#3}%
- % Check for empty arguments. Defaults are given. Thus a call of \setcvskillcolumns
+ \def\arg@new@bodyLengthFactor{#2}%
+ \def\arg@new@experienceWidth{#3}%
+ % Check for empty arguments. Defaults are given. Thus a call of \setcvskillcolumns
% without any arguments leads to nonempty arguments \arg@new@hintscolumnwidth and
- % \def\arg@new@bodyLengthFactor{#2}. However, we need to take care of calls like
- % \setcvskillcolumns[], \setcvskillcolumns[][], \setcvskillcolumns[][][] or even
+ % \def\arg@new@bodyLengthFactor{#2}. However, we need to take care of calls like
+ % \setcvskillcolumns[], \setcvskillcolumns[][], \setcvskillcolumns[][][] or even
% \setcvskillcolumns[<somelength>][], \setcvskillcolumns[][<somefactor>] \setcvskillcolumns[][][<length>]
\ifdefempty{\arg@new@hintscolumnwidth}{%
% Case \setcvskillcolumns[], \setcvskillcolumns[][] or \setcvskillcolumns[][<somefactor>]
@@ -445,13 +455,13 @@
% \cvskill@descriptorwidth accordingly
\setlength{\cvskill@experiencewidth}{\arg@new@experienceWidth}%
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
- }%
+ }%
\setlength{\cvskill@descriptorwidth}{\skillmatrix@columnwidth-\cvskill@width-\cvskill@experiencewidth}%
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
}%
% Case \setcvskillcolumns[] nothing needs to be done here recalculate lengths affected by the change
- }{%
- % Case \setcvskillcolumns, \setcvskillcolumns[<width>], \setcvskillcolumns[<width>][]
+ }{%
+ % Case \setcvskillcolumns, \setcvskillcolumns[<width>], \setcvskillcolumns[<width>][]
% or \setcvskillcolumns[<width>][<somefactor>]
\setlength{\skillmatrix@hintscolumnwidth}{\arg@new@hintscolumnwidth}%
\setlength{\skillmatrix@bodylength}{\maincolumnwidth-\skillmatrix@hintscolumnwidth-\separatorcolumnwidth}%
@@ -483,41 +493,41 @@
\setlength{\skillmatrix@commentwidth}{\skillmatrix@bodylength-\skillmatrix@columnwidth-3\skillmatrix@padding}%
}%
}%
-%
+%
% \setcvskilllegendcolumns[<width>][<factor>]
\DeclareDocumentCommand{\setcvskilllegendcolumns}{+O{\skilllegend@hintscolumnwidth} +O{\skilllegend@leftdesriptorfactor}}{%
% adjust column width of legend
-%
-% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
-% such that the default english and german examples look good.
-% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
-% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
+%
+% The \cvskilllegend command comes with default FIXED width definitions for the columns of the legend matrix
+% such that the default english and german examples look good.
+% However, depending on the user input (translation) and the style that is used some adjustment might be needed.
+% The \setcvskilllegendcolumns command provides means to influence all columns except the ones containing
% \cvskill commands. The second column containg the output of \cvskill remains fixed width. The last column,
% the comment column gets recalculated according to the setting of the other columns.
-%
+%
% Input
-% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
-% where depending on the style the legend_string gets printed. In case the
-% string is left empty adjusting this width allows moving the legend horizontally.
+% Input_1 (optional): length smaller than \textwidth influencing the width of the first column
+% where depending on the style the legend_string gets printed. In case the
+% string is left empty adjusting this width allows moving the legend horizontally.
% Default <\skilllegend@hintscolumnwidth>
-% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
-% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
+% Input_2 (optional): float between 0 and 1 influencing the width of the left legend descritor column,
+% aka \cvskilllegend@leftdescriptorwidth. The desriptor column on the right,
% \cvskilllegend@rightdescriptorwidth is influenced by the factor 1-<factor>.
% Default <\skilllegend@leftdesriptorfactor>
-%
+%
% Example usage
% \setcvskilllegendcolumns[][0.45]%% adjust left desriptor column.
% \setcvskilllegendcolumns[\widthof{``Legend''}][0.45]% adjust both left descriptor column and string column
-%
+%
% Note
-% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
+% - Due to implementation of \cvskilllegend for style 'fancy' (moderncvbodyv)
% the first optional variable has no effect in this case.
% - For the styles 'classic' and 'casual' the first column is set to hintscolumnwidth such that
-% it aligns with the rest of the entries. A readjustment of the first column should therefor
-% be avoided. It is recomended to only use \cvskilllegend in the form of
+% it aligns with the rest of the entries. A readjustment of the first column should therefor
+% be avoided. It is recomended to only use \cvskilllegend in the form of
% \cvskilllegend[][<factor>], thereby leaving the defaults in place for the first column.
% - For style 'banking' the first column is set to align with the rest of the \cvskillentry entries
-% Therefor adjusting the first column can be used to widen the table while moving it around. If no
+% Therefor adjusting the first column can be used to widen the table while moving it around. If no
% legend string is used, setting \cvskilllegend[0em] maximises the real enstate for the legend.
%
\def\arg@new@legend@hintscolumnwidth{#1}%
@@ -532,8 +542,8 @@
\RenewDocumentCommand{\skilllegend@leftdesriptorfactor}{}{\arg@new@legend@leftDescriptorFactor}%
}%
% % Case \setcvskilllegendcolumns[] nothing needs to be done here i.e. leave default values unaltered
- }{%
- % Case \setcvskilllegendcolumns, \setcvskilllegendcolumns[<width>], \setcvskilllegendcolumns[<width>][]
+ }{%
+ % Case \setcvskilllegendcolumns, \setcvskilllegendcolumns[<width>], \setcvskilllegendcolumns[<width>][]
% or \setcvskilllegendcolumns[<width>][<somefactor>]
\setlength{\skilllegend@hintscolumnwidth}{\arg@new@legend@hintscolumnwidth}%
\if@moderncvbodyi%
@@ -554,18 +564,18 @@
}%
}%
}%
-%
+%
% %-------------------------------------------------------------------------------
-% % \cvskilllegend
+% % \cvskilllegend
% %-------------------------------------------------------------------------------
% default legend style
% \cvskilllegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
\NewDocumentCommand\skillLegend@FontSize{}{\scriptsize}
\DeclareDocumentCommand\cvskilllegend{s +O{} +O{} +O{} +O{} +O{} +O{} +m}{}%
% Print legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
-%
+%
% Input:
-% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
@@ -574,15 +584,15 @@
% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
% input_7: string giving a name to the legend, default: <>
-%
+%
% Example usages:
% \cvskilllegend{} print default legend
% \cvskilllegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
% \cvskilllegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
-%
+%
% Note:
% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
-% -The design of the table is such that the <second_level> entry stands in the first column but
+% -The design of the table is such that the <second_level> entry stands in the first column but
% occupies rows two and three. This has been done to accomodate english and german defaults.
% An alternative is provided by \cvskillplainlegend
@@ -596,7 +606,7 @@
\RenewDocumentCommand\cvskilllegend{s +O{.25em} +O{\skillLegend@defaultLevelOne} +O{\skillLegend@defaultLevelTwo} +O{\skillLegend@defaultLevelThree} +O{\skillLegend@defaultLevelFour} +O{\skillLegend@defaultLevelFive} +m}{%
\IfBooleanTF#1{% if a star is given, add dashed line
\begingroup%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
% calculate descriptor widths
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
@@ -610,7 +620,7 @@
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{3}& &{\skillLegend@FontSize #5 } \\%
%
& \cvskill{2} & & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}& & {\skillLegend@FontSize #6 } \\%
- %
+ %
& & & & \cvskill{5}& & {\skillLegend@FontSize #7 }%
\end{tabular}%
\endgroup
@@ -629,7 +639,7 @@
\raggedleft\hintstyle{#8} & \cvskill{1}\, & \,{\skillLegend@FontSize #3} & \cvskill{3}\, &\,{\skillLegend@FontSize #5 } \\%
%
& \cvskill{2}\, & \,\multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}\, &\,{\skillLegend@FontSize #6 } \\%
- %
+ %
& & & \cvskill{5}\, &\,{\skillLegend@FontSize #7 }%
\end{tabular}%
\endgroup%
@@ -646,11 +656,11 @@
}%
\IfBooleanTF#1{% if a star is given, add dashed line
\begingroup%
- % recalculate desrciptor widths on the fly. Allows for different padding
+ % recalculate desrciptor widths on the fly. Allows for different padding
% in the stared and nonstared case
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
- \arrayrulecolor{color1}
+ \arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
@{\hspace{\separatorcolumnwidth}}p{\cvskill@width}@{\hspace{\skilllegend@padding}};{.6pt/1pt}%
p{2\skilllegend@padding}%
@@ -660,13 +670,13 @@
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize #3} & \cvskill{3} & & {\skillLegend@FontSize #5 } \\
%
& \cvskill{2} & & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4} & &{\skillLegend@FontSize #6 } \\
- %
- & & & & \cvskill{5}& & {\skillLegend@FontSize #7 }
+ %
+ & & & & \cvskill{5}& & {\skillLegend@FontSize #7 }
\end{tabular}%
\endgroup%
\par\addvspace{#2}}{
\begingroup%
- % oddly enough, we should only need to subtract 2 paddings in the descritorwidths.
+ % oddly enough, we should only need to subtract 2 paddings in the descritorwidths.
% but while testing I got overflow of text into the margin
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-4\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-5\skilllegend@padding}%
@@ -678,8 +688,8 @@
\raggedleft\hintstyle{} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{3} & {\skillLegend@FontSize #5 } \\
%
& \cvskill{2} & \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4} &{\skillLegend@FontSize #6 } \\
- %
- & & & \cvskill{5} & {\skillLegend@FontSize #7 }
+ %
+ & & & \cvskill{5} & {\skillLegend@FontSize #7 }
\end{tabular}%
\endgroup%
\par\addvspace{#2}
@@ -697,7 +707,7 @@
}{%
\cvitem[-0.5em]{#8}{}%
}%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\RenewDocumentCommand{\@starIndependentTabular}{}{%
\begingroup%
@@ -713,32 +723,32 @@
\@moderncvstrut{4pt}{16pt} & \cvskill{1}& {\skillLegend@FontSize #3} & \cvskill{3}& {\skillLegend@FontSize #5 }\\%
%
& \cvskill{2}& \multirow{2}{\cvskilllegend@leftdescriptorwidth}{{\skillLegend@FontSize #4}} & \cvskill{4}& {\skillLegend@FontSize #6 }\\%
- %
+ %
& & & \cvskill{5} & {\skillLegend@FontSize #7 }\\[#2]% the spacing needs to be inside the cell for the vertical rule to extend correctly
\end{tabular}%
\endgroup%
- \par\@aftersectionfalse\ignorespaces%
+ \par\@aftersectionfalse\ignorespaces%
}%
- % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
+ % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
\IfBooleanTF#1{%
\@starIndependentTabular%
- }{%
+ }{%
\@starIndependentTabular%
}%
}%
\fi
% %-------------------------------------------------------------------------------
-% % \cvskillplainlegend
+% % \cvskillplainlegend
% %-------------------------------------------------------------------------------
% alternative legend style
% \cvskillplainlegend[*][<post_padding>][<first_level>][<second_level>][<third_level>][<fourth_level>][<fifth_level>]{<name>}
\DeclareDocumentCommand\cvskillplainlegend{s +O{} +O{} +O{} +O{} +O{} +O{} +m}{}%
% Print alternative legend table explaining the meaning of \cvskill{1}...\cvskill{5}.
% In this legend, the first three skill levels are in one column
-%
+%
% Input:
-% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
+% asterix (optional): include vertical (dashed) lines. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string describing meaning of \cvskill{1}, default: <basic knowledge>
@@ -747,12 +757,12 @@
% input_5 (optional): string describing meaning of \cvskill{4}, default: <deepened expert knowledge>
% input_6 (optional): string describing meaning of \cvskill{5}, default: <expert/guru>
% input_7: string giving a name to the legend, default: <>
-%
+%
% Example usages:
% \cvskillplainlegend{} print default legend
% \cvskillplainlegend[0.5em]{Legend} print default legend, but adjust post padding and display the word ``Legend''.
% \cvskillplainlegend*[0.2em][Grundkenntnisse][Grundkenntnisse und eigene Erfahrung in Projekten][Umfangreiche Erfahrung in Projekten][Vertiefte Expertenkenntnisse][Experte/Guru]{Legende} Fully adjust legend to German example and including dashed lines
-%
+%
% Note:
% -The width of the columns can be adjusted by the \setcvskilllegendcolumns, see \setcvskilllegendcolumns
@@ -766,7 +776,7 @@
\RenewDocumentCommand\cvskillplainlegend{s +O{.25em} +O{\skillPlainLegend@defaultLevelOne} +O{\skillPlainLegend@defaultLevelTwo} +O{\skillPlainLegend@defaultLevelThree} +O{\skillPlainLegend@defaultLevelFour} +O{\skillPlainLegend@defaultLevelFive} +m}{%
\IfBooleanTF#1{% if a star is given, add dashed line
\begingroup%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
% calculate descriptor widths
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-3\skilllegend@padding}%
@@ -780,7 +790,7 @@
\raggedleft\hintstyle{#8} & \cvskill{1}& & {\skillLegend@FontSize #3} & \cvskill{4}& &{\skillLegend@FontSize #6} \\%
%
& \cvskill{2} & & {\skillLegend@FontSize #4} & \cvskill{5}& & {\skillLegend@FontSize #7} \\%
- %
+ %
& \cvskill{3} & & {\skillLegend@FontSize #5} & & & %
\end{tabular}%
\endgroup%
@@ -799,7 +809,7 @@
\raggedleft\hintstyle{#8} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} &{\skillLegend@FontSize #6} \\%
%
& \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} &{\skillLegend@FontSize #7} \\%
- %
+ %
& \cvskill{3} & {\skillLegend@FontSize #5 } & & %
\end{tabular}%
\endgroup%
@@ -816,7 +826,7 @@
}%
\IfBooleanTF#1{% if a star is given, add dashed line
\begingroup%
- \arrayrulecolor{color1}
+ \arrayrulecolor{bodyrulecolor}
\setlength{\cvskilllegend@leftdescriptorwidth}{\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
\setlength{\cvskilllegend@rightdescriptorwidth}{\skilllegend@bodylength-\skilllegend@leftdesriptorfactor\skilllegend@bodylength-\cvskill@width-\skillmatrix@padding-6\skilllegend@padding}%
\begin{tabular}{@{}p{\skilllegend@hintscolumnwidth}
@@ -828,8 +838,8 @@
\raggedleft\hintstyle{} & \cvskill{1} & & {\skillLegend@FontSize#3} & \cvskill{4} & & {\skillLegend@FontSize#6}\\%
%
& \cvskill{2} & &{\skillLegend@FontSize#4} & \cvskill{5} & &{\skillLegend@FontSize#7}\\%
- %
- & \cvskill{3} & &{\skillLegend@FontSize#5} & & &%
+ %
+ & \cvskill{3} & &{\skillLegend@FontSize#5} & & &%
\end{tabular}%
\endgroup%
\par\addvspace{#2}}{
@@ -845,7 +855,7 @@
\raggedleft\hintstyle{} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} & {\skillLegend@FontSize #6} \\
%
& \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} & {\skillLegend@FontSize #7} \\
- %
+ %
& \cvskill{3} & {\skillLegend@FontSize #5} & & %
\end{tabular}%
\endgroup
@@ -863,7 +873,7 @@
}{%
\cvitem[-0.5em]{#8}{}%
}%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\RenewDocumentCommand{\@starIndependentTabular}{}{%
\begingroup%
@@ -879,16 +889,16 @@
\@moderncvstrut{4pt}{16pt} & \cvskill{1} & {\skillLegend@FontSize #3} & \cvskill{4} & {\skillLegend@FontSize #6}\\%
%
& \cvskill{2} & {\skillLegend@FontSize #4} & \cvskill{5} & {\skillLegend@FontSize #7}\\%
- %
+ %
& \cvskill{3} & {\skillLegend@FontSize #5} & & \\[#2]% the spacing needs to be inside the cell for the vertical rule to extend correctly
\end{tabular}%
\endgroup%
- \par\@aftersectionfalse\ignorespaces%
+ \par\@aftersectionfalse\ignorespaces%
}%
- % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
+ % because of this weird style and the position of the parameter [#2], the dashed lines of the other version look bad. So no lines.
\IfBooleanTF#1{%
\@starIndependentTabular%
- }{%
+ }{%
\@starIndependentTabular%
}%
}%
@@ -900,20 +910,20 @@
\NewDocumentCommand\cvSkillMatrix@HeadFont{}{\normalfont}
\DeclareDocumentCommand\cvskillhead{+O{} +O{} +O{} +O{} +O{}}{}%
% add skill matrix line acting as header explaining the meaning of columns.
-%
+%
% Input:
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2 (optional): string naming the level column (2nd column), default: <Level>
% input_3 (optional): string naming the skill column (3nd column), default: <Skill>
% input_4 (optional): string naming the experience-in-years column (4th column), default: <Years>
% input_5 (optional): string naming the comment column (5th column), default: <Comment>
-%
+%
% Example usages:
% \cvskillhead print default head.
% \cvskillhead[0.5em] print default head, but adjust post padding.
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung] Fully adjust head to German example
-%
-% Note:
+%
+% Note:
% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
\NewDocumentCommand\skillMatrix@HeaderDefaultOne{}{Level}
@@ -924,13 +934,13 @@
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
\begingroup
\renewcommand{\arraystretch}{1.25}
- \arrayrulecolor{color1}
+ \arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@experiencewidth}@{\hspace{\skillmatrix@padding}}
p{\skillmatrix@commentwidth}@{}}%
- & \centering{\cvSkillMatrix@HeadFont #2} & \centering{\cvSkillMatrix@HeadFont #3} & \centering{\cvSkillMatrix@HeadFont #4} & {\cvSkillMatrix@HeadFont #5}
+ & \centering{\cvSkillMatrix@HeadFont #2} & \centering{\cvSkillMatrix@HeadFont #3} & \centering{\cvSkillMatrix@HeadFont #4} & {\cvSkillMatrix@HeadFont #5}
\end{tabular}%
\endgroup
\par\addvspace{#1}
@@ -938,7 +948,7 @@
% Definition of \cvskillhead valid moderncvbodyv
\if@moderncvbodyv%
\RenewDocumentCommand\cvskillhead{O{.25em} +O{\skillMatrix@HeaderDefaultOne} +O{\skillMatrix@HeaderDefaultTwo} +O{\skillMatrix@HeaderDefaultThree} +O{\skillMatrix@HeaderDefaultFour}}{%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
\begingroup%
@@ -954,19 +964,19 @@
& & \centering{\cvSkillMatrix@HeadFont#2} & \centering{\cvSkillMatrix@HeadFont#3} & \centering{\cvSkillMatrix@HeadFont#4} & {\cvSkillMatrix@HeadFont#5} \\[#1]% the spacing needs to be inside the cell for the vertical rule to extend correctly
\end{tabular}%
\endgroup%
- \par\@aftersectionfalse\ignorespaces%
+ \par\@aftersectionfalse\ignorespaces%
}%
\fi
% %-------------------------------------------------------------------------------
-% % \cvskillentry
+% % \cvskillentry
% %-------------------------------------------------------------------------------
% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
\DeclareDocumentCommand\cvskillentry{s +O{} +m +m +m +m +m}{}%
% add cvskill matrix row.
-%
+%
% Input:
-% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
+% asterix (optional): include horizontal (dashed) line above the entered line. This behaviour depends on the body style.
% For the fancy style, the asterix has no meaning.
% input_1 (optional): padding length appended to the legend, default: <0.25em>
% input_2: string, naming skill cathegory, default: <>
@@ -974,14 +984,14 @@
% input_4: string, naming the skill, default: <>
% input_5: positive real number, stating the number of years of experience with this skill , default: <>
% input_6: string, explaining details w.r.t. that particual skill default: <>
-%
+%
% Example usages:
% \cvskillentry*{Language:}{3}{Python}{2}{I have done a million projects with Python}
% \cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man I'm the best!}
% \cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
% \cvskillentry*[1.5em]{OS:}{3}{Linux}{2}{I only use Archlinux}
-%
-% Note:
+%
+% Note:
% - The width of the columns can be adjusted by the \setcvskillcolumns command, see \setcvskillcolumns.
% Definition of \cvskillentry valid for moderncvbodyi, moderncvbodyii, moderncvbodyiii, moderncvbodyiv
@@ -990,7 +1000,7 @@
\IfBooleanTF{#1}{% If a star is seen a dotted line is drawn above the entry
\begingroup
\renewcommand{\arraystretch}{1.25}
- \arrayrulecolor{color1}
+ \arrayrulecolor{bodyrulecolor}
\begin{tabular}{@{}p{\skillmatrix@hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}%
p{\cvskill@width}@{\hspace{\skillmatrix@padding}}%
p{\cvskill@descriptorwidth}@{\hspace{\skillmatrix@padding}}%
@@ -1018,7 +1028,7 @@
\if@moderncvbodyv%
\DeclareDocumentCommand\@starIndependentMatrixEntry{}{}%
\RenewDocumentCommand\cvskillentry{s O{.25em} +m +m +m +m +m}{%
- \arrayrulecolor{color1}%
+ \arrayrulecolor{bodyrulecolor}%
\setlength\arrayrulewidth{\separatorrulewidth}%
\vspace*{-\separatorrulewidth}% HACK; I don't understand where the space is coming from, nor what it's exact value is :(
%test for the star * in the command
@@ -1038,13 +1048,13 @@
}%
\IfBooleanTF{#1}{% the star does not do anything here
\@starIndependentMatrixEntry%
- }{%
+ }{%
\@starIndependentMatrixEntry%
}%
\par\@aftersectionfalse\ignorespaces%
}%
\fi
-%
+%
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvstylebanking.sty b/macros/latex/contrib/moderncv/moderncvstylebanking.sty
index afc20e5399..6398480ef9 100644
--- a/macros/latex/contrib/moderncv/moderncvstylebanking.sty
+++ b/macros/latex/contrib/moderncv/moderncvstylebanking.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstylebanking.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylebanking}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: banking]
+\ProvidesPackage{moderncvstylebanking}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: banking]
% body rules type options: "fullrules", "shortrules", "mixedrules" (default) or "norules"
\@initializecommand{\moderncvstylebodyoptions}{}
@@ -24,6 +24,12 @@
\DeclareOption{center} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,center}}
\DeclareOption{right} {\edef\moderncvstylebodyoptions{\moderncvstylebodyoptions,right}}
+% head options
+\@initializecommand{\moderncvstyleheadoptions}{}
+\@initializeif{\if@datainhead}\@datainheadtrue
+\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
+
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
\DeclareOption{symbols} {\@symbolstrue}
@@ -55,19 +61,45 @@
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
-
+%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color1}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!60}
+\colorlet{titlecolor}{color2!85}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
-\moderncvhead{3}
+\moderncvhead[\moderncvstyleheadoptions]{3}
\moderncvbody[\moderncvstylebodyoptions]{3}
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvstylecasual.sty b/macros/latex/contrib/moderncv/moderncvstylecasual.sty
index eba5df696e..1192c8911c 100644
--- a/macros/latex/contrib/moderncv/moderncvstylecasual.sty
+++ b/macros/latex/contrib/moderncv/moderncvstylecasual.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstylecasual.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,12 +10,18 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylecasual}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: casual]
+\ProvidesPackage{moderncvstylecasual}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: casual]
% head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{}
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
+% head options alternate, details and no details
+\DeclareOption{alternate}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,alternate}}
+\@initializeif{\if@datainhead}\@datainheadfalse
+\DeclareOption{details}{\@datainheadtrue\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
+
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
@@ -23,7 +29,7 @@
\DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{right,symbols}
+\ExecuteOptions{right,symbols,nodetails}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
@@ -42,18 +48,46 @@
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
+%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color2}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
\moderncvhead[\moderncvstyleheadoptions]{2}
\moderncvbody{1}
-\moderncvfoot{1}
+% include foot only if nodetails option is active since otherwise we have two times the information
+% on the page
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvstyleclassic.sty b/macros/latex/contrib/moderncv/moderncvstyleclassic.sty
index 3018cc67a7..07950bcfa5 100644
--- a/macros/latex/contrib/moderncv/moderncvstyleclassic.sty
+++ b/macros/latex/contrib/moderncv/moderncvstyleclassic.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstyleclassic.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,12 +10,17 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleclassic}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: classic]
+\ProvidesPackage{moderncvstyleclassic}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: classic]
% head section alignment options: "left" (default) or "right"
\@initializecommand{\moderncvstyleheadoptions}{}
\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
+\DeclareOption{top}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,top}}
+
+\@initializeif{\if@datainhead}\@datainheadtrue
+\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
@@ -23,7 +28,7 @@
\DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{left,symbols}
+\ExecuteOptions{left,symbols,details}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
@@ -42,17 +47,46 @@
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
+%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color2}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
\moderncvhead[\moderncvstyleheadoptions]{1}
\moderncvbody{1}
+% include foot only if nodetails option is active since otherwise we have two times the information
+% on the page
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvstylecontemporary.sty b/macros/latex/contrib/moderncv/moderncvstylecontemporary.sty
new file mode 100644
index 0000000000..32f02ceb37
--- /dev/null
+++ b/macros/latex/contrib/moderncv/moderncvstylecontemporary.sty
@@ -0,0 +1,63 @@
+%% start of file `moderncvstylecontemporary.sty'.
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvstylecontemporary}[2023/11/24 v2.0.0 modern curriculum vitae and letter style scheme: contemporary]
+
+% head section alignment options: "left" (default) or "right"
+\@initializecommand{\moderncvstyleheadoptions}{}
+\DeclareOption{left} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,left}}
+\DeclareOption{right}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,right}}
+\DeclareOption{qr} {\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,qr}}
+\DeclareOption{noqr}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,noqr}}
+
+\DeclareOption*{}% avoid choking on unknown options
+\ExecuteOptions{left,qr}
+\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
+
+%-------------------------------------------------------------------------------
+% fonts & icons
+%-------------------------------------------------------------------------------
+% Latin Modern fonts
+%\ifxetexorluatex
+% \setmainfont{Latin Modern Roman}
+% \setsansfont{Latin Modern Sans}
+% \setmathfont{Latin Modern Math}
+%\else
+ \IfFileExists{lmodern.sty}%
+ {\RequirePackage{lmodern}}%
+ {}
+%\fi
+
+% symbols
+\providecolor{default-socialicon-color}{named}{headtext}
+\moderncvicons{symbols}
+
+%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% skillmatrix
+\colorlet{bodyrulecolor}{color1}
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
+
+%-------------------------------------------------------------------------------
+% header, body & footer
+%-------------------------------------------------------------------------------
+\moderncvhead[\moderncvstyleheadoptions]{7}
+\moderncvbody{6}
+
+
+\endinput
+
+
+%% end of file `moderncvstylecontemporary.sty'.
diff --git a/macros/latex/contrib/moderncv/moderncvstyleempty.sty b/macros/latex/contrib/moderncv/moderncvstyleempty.sty
index a86560524c..8dcce13aa5 100644
--- a/macros/latex/contrib/moderncv/moderncvstyleempty.sty
+++ b/macros/latex/contrib/moderncv/moderncvstyleempty.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstyleempty.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleempty}[2022-02-21 v2.3.1 modern curriculum vitae scheme: empty]
+\ProvidesPackage{moderncvstyleempty}[2024-07-18 v2.4.1 modern curriculum vitae scheme: empty]
%-------------------------------------------------------------------------------
% required packages
@@ -33,11 +33,34 @@
%-------------------------------------------------------------------------------
%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color2}
+% \colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
+
+%-------------------------------------------------------------------------------
% fonts & icons
%-------------------------------------------------------------------------------
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
diff --git a/macros/latex/contrib/moderncv/moderncvstylefancy.sty b/macros/latex/contrib/moderncv/moderncvstylefancy.sty
index 56de636100..1ad8d8732f 100644
--- a/macros/latex/contrib/moderncv/moderncvstylefancy.sty
+++ b/macros/latex/contrib/moderncv/moderncvstylefancy.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstylefancy.sty'.
-%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2015-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,13 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylefancy}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: fancy]
+\ProvidesPackage{moderncvstylefancy}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: fancy]
+
+% headoptions
+\@initializecommand{\moderncvstyleheadoptions}{}
+\@initializeif{\if@datainhead}\@datainheadtrue
+\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
@@ -18,10 +24,34 @@
\DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{symbols}
+\ExecuteOptions{symbols,details}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color1}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{color1}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
+
+
+%-------------------------------------------------------------------------------
% fonts & icons
%-------------------------------------------------------------------------------
% EB Garamond font
@@ -38,7 +68,7 @@
% symbols
\if@symbols
- \moderncvicons{symbols} % use symbols
+ \moderncvicons{symbols} % use symbols
\else
\moderncvicons{letters} % do not use symbols, use letters
\fi
@@ -47,9 +77,16 @@
%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
-\moderncvhead{5}
+\moderncvhead[\moderncvstyleheadoptions]{5}
\moderncvbody{5}
+% include foot only if nodetails option is active since otherwise we have two times the information
+% on the page
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvstyleoldstyle.sty b/macros/latex/contrib/moderncv/moderncvstyleoldstyle.sty
index 78225e0a58..37de3c57b3 100644
--- a/macros/latex/contrib/moderncv/moderncvstyleoldstyle.sty
+++ b/macros/latex/contrib/moderncv/moderncvstyleoldstyle.sty
@@ -1,5 +1,5 @@
%% start of file `moderncvstyleoldstyle.sty'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -10,7 +10,14 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleoldstyle}[2022-02-21 v2.3.1 modern curriculum vitae and letter style scheme: oldstyle]
+\ProvidesPackage{moderncvstyleoldstyle}[2024-07-18 v2.4.1 modern curriculum vitae and letter style scheme: oldstyle]
+
+% headoptions
+\@initializecommand{\moderncvstyleheadoptions}{}
+\@initializeif{\if@datainhead}\@datainheadtrue
+\DeclareOption{details}{\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,details}}
+\DeclareOption{nodetails}{\@datainheadfalse\edef\moderncvstyleheadoptions{\moderncvstyleheadoptions,nodetails}}
+
% toggle use of symbol fonts.
\@initializeif{\if@symbols}\@symbolsfalse
@@ -18,7 +25,7 @@
\DeclareOption{nosymbols} {\@symbolsfalse}
\DeclareOption*{}% avoid choking on unknown options
-\ExecuteOptions{symbols}
+\ExecuteOptions{symbols,details}
\ProcessOptions*\relax% \ProcessOptions* processes the options in the order provided (i.e., with the later ones possibly overriding the former ones), while \ProcessOptions processes them in the order of the package
%-------------------------------------------------------------------------------
@@ -51,11 +58,41 @@
%-------------------------------------------------------------------------------
+% Colors
+%-------------------------------------------------------------------------------
+% head and footer
+\colorlet{lastnamecolor}{color2}
+\colorlet{namecolor}{lastnamecolor}
+\colorlet{headrulecolor}{lastnamecolor!50}
+\colorlet{firstnamecolor}{lastnamecolor!50}
+\colorlet{titlecolor}{color2}
+\colorlet{addresscolor}{color2}
+\colorlet{quotecolor}{color1}
+\colorlet{pictureframecolor}{color1}
+% body
+\colorlet{bodyrulecolor}{color1}
+\colorlet{sectioncolor}{color1}
+\colorlet{subsectioncolor}{color1}
+\colorlet{hintstylecolor}{color0}
+% letter
+\colorlet{letterclosingcolor}{color2}
+% skillmatrix
+\colorlet{skillmatrixfullcolor}{color1}
+\colorlet{skillmatrixemptycolor}{color2!30}
+
+
+%-------------------------------------------------------------------------------
% header, body & footer
%-------------------------------------------------------------------------------
-\moderncvhead{4}
+\moderncvhead[\moderncvstyleheadoptions]{4}
\moderncvbody{4}
-
+% include foot only if nodetails option is active since otherwise we have two times the information
+% on the page
+\if@datainhead
+% if data is shown in head, do not include the footer
+\else
+ \moderncvfoot{1}
+\fi
\endinput
diff --git a/macros/latex/contrib/moderncv/moderncvverticaltimeline.sty b/macros/latex/contrib/moderncv/moderncvverticaltimeline.sty
new file mode 100644
index 0000000000..1ee94a5ef5
--- /dev/null
+++ b/macros/latex/contrib/moderncv/moderncvverticaltimeline.sty
@@ -0,0 +1,79 @@
+%% start of file `moderncvverticaltimeline.sty'.
+%% Copyright 2023 Javier Lopez-Gomez (javier.lopez.gomez@proton.me).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+% identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvverticaltimeline}[2023/11/29 v2.0.0 modern curriculum vitae vertical timeline]
+
+
+%-------------------------------------------------------------------------------
+% required packages
+%-------------------------------------------------------------------------------
+\RequirePackage{tikz}
+
+%-------------------------------------------------------------------------------
+% vertical timeline implementation
+%-------------------------------------------------------------------------------
+\tikzset{
+ tl_milestone/.style={circle,inner sep=1.5pt,draw=color0!20,label={west:#1}},
+ tl_link/.style={thick,densely dotted,color0!20},
+}
+
+\newcounter{tl@chainidx}\setcounter{tl@chainidx}{0}
+\newcounter{tl@nodeidx}\setcounter{tl@nodeidx}{0}
+
+% Mark the end of the current chain; any `\tl@milestone` issued afterward will be on a new timeline.
+\def\tl@resetchain{%
+ \stepcounter{tl@chainidx}%
+ \setcounter{tl@nodeidx}{0}%
+}
+
+% Create a node in the current timeline and link it to the previous node; if the previous milestone
+% is on the last shipped out page, draw a line that extends until the top margin. The argument is laid out as a label (default left).
+\def\tl@milestone#1{%
+ \edef\@tl@prev{tl-\thetl@chainidx-\thetl@nodeidx}%
+ \stepcounter{tl@nodeidx}%
+ \edef\@tl@this{tl-\thetl@chainidx-\thetl@nodeidx}%
+ \tikz[remember picture,overlay] {
+ \node[tl_milestone={#1}] (\@tl@this) {};
+ \ifnum\thetl@nodeidx>1
+ \pgfpointdiff{\pgfpointanchor{\@tl@prev}{center}}{\pgfpointanchor{\@tl@this}{center}}
+ \ifnum\pgf@y>0
+ \draw[tl_link] (\@tl@this) -- ([yshift=-1em] \@tl@this |- current page.north);
+ \else
+ \draw[tl_link] (\@tl@this) -- (\@tl@prev);
+ \fi
+ \fi
+ }
+}
+
+\AddToHook{shipout/background}{%
+ % If there are follow-up milestones in the current timeline, draw a line that extends until the bottom margin
+ \edef\@tl@prev{tl-\thetl@chainidx-\number\numexpr\thetl@nodeidx-1}%
+ \edef\@tl@this{tl-\thetl@chainidx-\thetl@nodeidx}%
+ \tikz[remember picture,overlay] {
+ \ifnum\thetl@nodeidx>1
+ \pgfpointdiff{\pgfpointanchor{\@tl@prev}{center}}{\pgfpointanchor{\@tl@this}{center}}
+ \ifnum\pgf@y>0
+ \draw[tl_link] (\@tl@prev) -- ([yshift=1em] \@tl@prev |- current page.south);
+ \fi
+ \fi
+ }
+}
+
+\AtEndDocument{\tl@resetchain}
+
+\let\@old@section=\section%
+\RenewDocumentCommand{\section}{sm}{\tl@resetchain\@old@section{#1}}
+
+\endinput
+
+
+%% end of file `moderncvverticaltimeline.sty'.
diff --git a/macros/latex/contrib/moderncv/signature.png b/macros/latex/contrib/moderncv/signature.png
new file mode 100644
index 0000000000..8daa868ed8
--- /dev/null
+++ b/macros/latex/contrib/moderncv/signature.png
Binary files differ
diff --git a/macros/latex/contrib/moderncv/template.tex b/macros/latex/contrib/moderncv/template.tex
index 38d313b383..7128f09e08 100644
--- a/macros/latex/contrib/moderncv/template.tex
+++ b/macros/latex/contrib/moderncv/template.tex
@@ -1,5 +1,5 @@
%% start of file `template.tex'.
-%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Copyright 2006-2015 Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
@@ -8,17 +8,23 @@
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
+\moderncvcolor{cerulean} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'; for contemporary style use 'cerulean'
% moderncv themes
-\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle' and 'fancy'
-\moderncvcolor{blue} % color options 'black', 'blue' (default), 'burgundy', 'green', 'grey', 'orange', 'purple' and 'red'
+\moderncvstyle[]{contemporary} % style options are 'casual' (default), 'classic', 'banking', 'oldstyle', 'fancy' and 'contemporary'
+ % the 'contemporary' style optionally takes the `qr` (default) or `noqr` options
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
% adjust the page margins
-\usepackage[scale=0.75]{geometry}
-\setlength{\footskip}{136.00005pt} % depending on the amount of information in the footer, you need to change this value. comment this line out and set it to the size given in the warning
+\usepackage[hmargin=0.5in,vmargin=10pt]{geometry} % the 'contemporary' style looks better with reduced margins; uncomment the line below for increased margin
+%\usepackage[scale=0.75]{geometry}
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
%\setlength{\makecvheadnamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
+%\setlength{\listitemsymbolspace}{10pt} % set custom spacing between list symbol and text item (influences \cvlistitem and \cvlistdoubleitem)
+
+% the 'contemporary' style allows to append additional elements to the head background; uncomment and customize if needed
+%\def\@moderncvheadBackground{
+%}
% font loading
% for luatex and xetex, do not use inputenc and fontenc
@@ -30,7 +36,13 @@
\setmainfont{Latin Modern Roman}
\setsansfont{Latin Modern Sans}
\setmonofont{Latin Modern Mono}
- \setmathfont{Latin Modern Math}
+ \setmathfont{Latin Modern Math}
+
+ % you may also consider Fira Sans Light for a extra modern look
+ %\setsansfont[ItalicFont={Fira Sans Light Italic},%
+ % BoldFont={Fira Sans},%
+ % BoldItalicFont={Fira Sans Italic}]%
+ % {Fira Sans Light}%
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
@@ -54,24 +66,49 @@
% Social icons
\social[linkedin]{john.doe} % optional, remove / comment the line if not wanted
\social[xing]{john\_doe} % optional, remove / comment the line if not wanted
-\social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted
+
\social[github]{jdoe} % optional, remove / comment the line if not wanted
\social[gitlab]{jdoe} % optional, remove / comment the line if not wanted
-\social[stackoverflow]{0000000/johndoe} % optional, remove / comment the line if not wanted
+\social[codeberg]{jdoe} % optional, remove / comment the line if not wanted
\social[bitbucket]{jdoe} % optional, remove / comment the line if not wanted
+\social[stackoverflow]{0000000/johndoe} % optional, remove / comment the line if not wanted
+
\social[skype]{jdoe} % optional, remove / comment the line if not wanted
\social[orcid]{0000-0000-000-000} % optional, remove / comment the line if not wanted
\social[researchgate]{jdoe} % optional, remove / comment the line if not wanted
\social[researcherid]{jdoe} % optional, remove / comment the line if not wanted
+\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted
+
+\social[twitter]{ji\_doe} % optional, remove / comment the line if not wanted
+\social[mastodon]{mastodon.social/web/@user} % optional, remove / comment the line if not wanted
\social[telegram]{jdoe} % optional, remove / comment the line if not wanted
\social[whatsapp]{12345678901} % optional, remove / comment the line if not wanted
\social[signal]{12345678901} % optional, remove / comment the line if not wanted
\social[matrix]{@johndoe:matrix.org} % optional, remove / comment the line if not wanted
-\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted
+\social[discord]{jdoe\#0000} % optional, remove / comment the line if not wanted
+
+% YouTube links can take several forms, depending on how your account and channel are set up.
+% See https://support.google.com/youtube/answer/6180214 for more information.
+\social[youtube]{c/jdoeschannel} % optional, remove / comment the line if not wanted; Custom URL - can be shorted by removing 'c/'
+\social[youtube]{channel/XXXXXX} % optional, remove / comment the line if not wanted; Channel URL (ID-based) - can not be shortened
+\social[youtube]{user/jdoe} % optional, remove / comment the line if not wanted; Legacy username URL - if jdoe is not already claimed by a Custom URL, can be shortened by removing 'user/'
+
+\social[twitch]{jdoe} % optional, remove / comment the line if not wanted
+\social[tiktok]{jdoe} % optional, remove / comment the line if not wanted
+\social[instagram]{jdoe} % optional, remove / comment the line if not wanted
+
+\social[soundcloud]{jdoe} % optional, remove / comment the line if not wanted
+
+\social[steam]{jdoe} % optional, remove / comment the line if not wanted
+\social[xbox]{jdoe} % optional, remove / comment the line if not wanted
+\social[playstation]{jdoe} % optional, remove / comment the line if not wanted
+\social[battlenet]{jdoe\#0000} % optional, remove / comment the line if not wanted
+\social[arxiv]{doe\_j\_1} % optional, remove / comment the line if not wanted
+\social[inspire]{0000000} % optional, remove / comment the line if not wanted
\extrainfo{additional information} % optional, remove / comment the line if not wanted
-\photo[64pt][0.4pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
+\photo[64pt][2pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 2pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
\quote{Some quote} % optional, remove / comment the line if not wanted
% bibliography adjustments (only useful if you make citations in your resume, or print a list of publications using BibTeX)
@@ -92,7 +129,7 @@
%----- resume ---------------------------------------------------------
\makecvtitle
-\section{Education}
+\section{Education} % for 'contemporary' style use optional argument for displaying an icon, e.g. \section[\faGraduationCap]{Education}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
@@ -135,12 +172,13 @@ Detailed achievements:
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
+\cvtripleitem{category 4}{XYZ}{category 5}{XYZ}{category 6}{XYZ}
\section{Skill matrix}
\cvitem{Skill matrix}{Alternatively, provide a skill matrix to show off your skills}
-%% Skill matrix as an alternative to rate one's skills, computer or other.
+%% Skill matrix as an alternative to rate one's skills, computer or other.
-%% Adjusts width of skill matrix columns.
+%% Adjusts width of skill matrix columns.
%% Usage \setcvskillcolumns[<width>][<factor>][<exp_width>]
%% <width>, <exp_width> should be lengths smaller than \textwidth, <factor> needs to be between 0 and 1.
%% Examples:
@@ -179,12 +217,12 @@ Detailed achievements:
%% Adjust head of the skill matrix for other languages
% \cvskillhead[0.25em][Level][F\"ahigkeit][Jahre][Bemerkung]
-%% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
+%% \cvskillentry[*][<post_padding>]{<skill_cathegory>}{<0-5>}{<skill_name>}{<years_of_experience>}{<comment>}%
%% Example usages:
\cvskillentry*{Language:}{3}{Python}{2}{I'm so experienced in Python and have realised a million projects. At least.}
\cvskillentry{}{2}{Lilypond}{14}{So much sheet music! Man, I'm the best!}
\cvskillentry{}{3}{\LaTeX}{14}{Clearly I rock at \LaTeX}
-\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional
+\cvskillentry*{OS:}{3}{Linux}{2}{I only use Archlinux btw}% notice the use of the starred command and the optional
\cvskillentry*[1em]{Methods}{4}{SCRUM}{8}{SCRUM master for 5 years}
%% \cvskill{<0-5>} command
% \cvitem{\textbackslash{cvskill}:}{Skills can be visually expressed by the \textbackslash{cvskill} command, e.g. \cvskill{2}}
@@ -232,8 +270,10 @@ Detailed achievements:
% recipient data
\recipient{Company Recruitment team}{Company, Inc.\\123 somestreet\\some city}
\date{January 01, 1984}
+\subject{Job application}
\opening{Dear Sir or Madam,}
\closing{Yours faithfully,}
+\signature{0.9}{signature.png} % optional, remove / comment the line if not wanted: first argument goes to \includegraphics > scale
\enclosure[Attached]{curriculum vit\ae{}} % use an optional argument to use a string other than "Enclosure", or redefine \enclname
\makelettertitle
@@ -254,4 +294,3 @@ Albert Einstein discovered that $e=mc^2$ in 1905.
%% end of file `template.tex'.
-
diff --git a/macros/latex/contrib/moderncv/tweaklist.sty b/macros/latex/contrib/moderncv/tweaklist.sty
index 3739c95f92..c5f5870000 100644
--- a/macros/latex/contrib/moderncv/tweaklist.sty
+++ b/macros/latex/contrib/moderncv/tweaklist.sty
@@ -1,6 +1,6 @@
%% start of file `tweaklist.sty'.
%% Original by Jakob Schiotz, downloaded from http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty; not found on ctan.
-%% Modified by Xavier Danaux (xdanaux@gmail.com), 2020-2022 moderncv maintainers (github.com/moderncv).
+%% Modified by Xavier Danaux (xdanaux@gmail.com), 2020-2024 moderncv maintainers (github.com/moderncv).
%
% The tweaklist.sty package redefines the itemize, enumerate and description packages, so that all parameters can be adjusted.
% This was done by copying the original definitions, and adding "hook commands" that are executed when entering the environment.
diff --git a/macros/latex/contrib/moremath/MANIFEST.md b/macros/latex/contrib/moremath/MANIFEST.md
new file mode 100644
index 0000000000..ef52db4ec2
--- /dev/null
+++ b/macros/latex/contrib/moremath/MANIFEST.md
@@ -0,0 +1,26 @@
+# Manifest of the `moremath`-package
+
+This file lists all files that are considered to be part of `moremath`.
+
+
+## Source Files
+- `moremath.dtx`: Documentation and package source.
+- `moremath.ins`: Batch file for generating `moremath.sty`
+
+## Text Files
+These plain text files are included as documentation or metadata.
+
+- `README.md`: README file.
+- `MANIFEST.md`: This file.
+
+## Derived Files
+
+These files are derived from other files mentioned above.
+
+### Documentation
+
+- `moremath-doc.pdf`: Package documentation generated from `moremath.dtx`
+
+### Unpacked Package Code
+
+- `moremath.sty`: File generated from `moremath.dtx` by `moremath.ins`.
diff --git a/macros/latex/contrib/moremath/README.md b/macros/latex/contrib/moremath/README.md
new file mode 100644
index 0000000000..4727b4b11d
--- /dev/null
+++ b/macros/latex/contrib/moremath/README.md
@@ -0,0 +1,48 @@
+# `moremath`: Convenience Math Macros
+
+The `moremath` package provides convenience shorthand math macros such as
+(auto-)delimited operators, (auto-)delimited vector calculus operators
+and some commands for quickly producing diagonal matrices,
+column, and row vectors.
+
+It depends on [mathtools](https://ctan.org/pkg/mathtools),
+[amssymb](https://ctan.org/pkg/amsfonts),
+and optionally on [bm](https://ctan.org/pkg/bm).
+
+_____
+**Note: This package is still in its initial development phase.**
+
+Its interface may be subject to change until version 1.0.0 has been reached.
+
+_____
+
+## Unpacking the Source Code
+
+To unpack the source code use
+
+``` shell
+TEX moremath.ins
+```
+
+## Generating the Documentation
+
+To produce the documentation run `moremath.dtx` through `*latex`.
+
+
+## License
+
+Copyright (C) 2024 Marcel Ilg
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+https://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is Marcel Ilg.
+
+This work consists of the files listed in `MANIFEST.md`.
diff --git a/macros/latex/contrib/moremath/moremath-doc.pdf b/macros/latex/contrib/moremath/moremath-doc.pdf
new file mode 100644
index 0000000000..8ed1c145fd
--- /dev/null
+++ b/macros/latex/contrib/moremath/moremath-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/moremath/moremath.dtx b/macros/latex/contrib/moremath/moremath.dtx
new file mode 100644
index 0000000000..48e7bae62d
--- /dev/null
+++ b/macros/latex/contrib/moremath/moremath.dtx
@@ -0,0 +1,5761 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2024 Marcel Ilg
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%
+% https://www.latex-project.org/lppl.txt
+%
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status ‘maintained’.
+%
+% The Current Maintainer of this work is Marcel Ilg.
+%
+% This work consists of the files listed in MANIFEST.md.
+% \fi
+%
+% \iffalse
+%
+%<*driver>
+% Generated by ctanbib
+\begin{filecontents*}[overwrite]{\jobname.bib}
+@preamble{ "\providecommand\ctanbibpkgname[1]{\textsl{#1}}" }
+@manual{amsfonts,
+ title = {The \ctanbibpkgname{amsfonts} package},
+ subtitle = {TeX fonts from the American Mathematical Society},
+ author = {{The American Mathematical Society}},
+ url = {https://ctan.org/pkg/amsfonts},
+ urldate = {2024-07-04},
+ date = {},
+ version = {3.04},
+}
+
+@preamble{ "\providecommand\ctanbibpkgname[1]{\textsl{#1}}" }
+@manual{amsmath,
+ title = {The \ctanbibpkgname{amsmath} package},
+ subtitle = {AMS mathematical facilities for LaTeX},
+ author = {{The LaTeX Project Team}},
+ url = {https://ctan.org/pkg/amsmath},
+ urldate = {2024-07-04},
+ date = {2023-05-13},
+ version = {2.17o},
+}
+
+@preamble{ "\providecommand\ctanbibpkgname[1]{\textsl{#1}}" }
+@manual{bm,
+ title = {The \ctanbibpkgname{bm} package},
+ subtitle = {Access bold symbols in maths mode},
+ author = {Carlisle, David and Mittelbach, Frank and {The LaTeX Project Team}},
+ url = {https://ctan.org/pkg/bm},
+ urldate = {2024-07-04},
+ date = {2023-12-19},
+ version = {1.2f},
+}
+
+@preamble{ "\providecommand\ctanbibpkgname[1]{\textsl{#1}}" }
+@manual{mathtools,
+ title = {The \ctanbibpkgname{mathtools} package},
+ subtitle = {Mathematical tools to use with amsmath},
+ author = {Høgholm, Morten and Madsen, Lars and Robertson, Will and Wright, Joseph and {The LaTeX Project Team}},
+ url = {https://ctan.org/pkg/mathtools},
+ urldate = {2024-07-04},
+ date = {2024-03-11},
+ version = {1.30},
+}
+
+@comment{Below are non-package References}
+
+@article{package-rollback,
+ title = {A rollback concept for packages and classes},
+ author = {Frank Mitelbach},
+ year = {2018},
+ journaltitle = {TUGboat},
+ number = 2,
+ url = {https://www.latex-project.org/publications/2018-FMi-TUB-tb122mitt-version-rollback.pdf},
+ urldate = {2024-08-06},
+}
+\end{filecontents*}
+\begin{filecontents*}[overwrite]{\jobname-ams-op-table.tex}
+\begin{tabular}{rlrlrlrl}
+ \cs[module=amsmath,replace=false]{arccos} &\(\arccos\) &\cs[module=amsmath,replace=false]{deg} &\( \deg \) &\cs[module=amsmath,replace=false]{lg} &\( \lg \) &\cs[module=amsmath,replace=false]{projlim} &\( \projlim \)\\
+ \cs[module=amsmath,replace=false]{arcsin} &\(\arcsin\) &\cs[module=amsmath,replace=false]{det} &\( \det \) &\cs[module=amsmath,replace=false]{lim} &\( \lim \) &\cs[module=amsmath,replace=false]{sec} &\( \sec \)\\
+ \cs[module=amsmath,replace=false]{arctan} &\(\arctan\) &\cs[module=amsmath,replace=false]{dim} &\( \dim \) &\cs[module=amsmath,replace=false]{liminf} &\( \liminf \) &\cs[module=amsmath,replace=false]{sin} &\( \sin \)\\
+ \cs[module=amsmath,replace=false]{arg} &\(\arg\) &\cs[module=amsmath,replace=false]{exp} &\( \exp \) &\cs[module=amsmath,replace=false]{limsup} &\( \limsup \) &\cs[module=amsmath,replace=false]{sinh} &\( \sinh \)\\
+ \cs[module=amsmath,replace=false]{cos} &\(\cos\) &\cs[module=amsmath,replace=false]{gcd} &\( \gcd \) &\cs[module=amsmath,replace=false]{ln} &\( \ln \) &\cs[module=amsmath,replace=false]{sup} &\( \sup \)\\
+ \cs[module=amsmath,replace=false]{cosh} &\(\cosh\) &\cs[module=amsmath,replace=false]{hom} &\( \hom \) &\cs[module=amsmath,replace=false]{log} &\( \log \) &\cs[module=amsmath,replace=false]{tan} &\( \tan \)\\
+ \cs[module=amsmath,replace=false]{cot} &\(\cot\) &\cs[module=amsmath,replace=false]{inf} &\( \inf \) &\cs[module=amsmath,replace=false]{max} &\( \max \) &\cs[module=amsmath,replace=false]{tanh} &\( \tanh \)\\
+ \cs[module=amsmath,replace=false]{coth} &\(\coth\) &\cs[module=amsmath,replace=false]{injlim} &\(\injlim\) &\cs[module=amsmath,replace=false]{min} &\( \min \) & &\\
+ \cs[module=amsmath,replace=false]{csc} &\(\csc\) &\cs[module=amsmath,replace=false]{ker} &\(\ker\) &\cs[module=amsmath,replace=false]{Pr} &\( \Pr \) & &\\
+\end{tabular}
+\begin{center}
+ \begin{tabular}{rlrl}
+ \cs[module=amsmath,replace=false]{varinjlim} &\(\varinjlim\) &\cs[module=amsmath,replace=false]{varliminf} &\(\varliminf\)\\
+ \cs[module=amsmath,replace=false]{varprojlim} &\(\varprojlim\) &\cs[module=amsmath,replace=false]{varlimsup} &\(\varlimsup\)\\
+ \end{tabular}
+\end{center}
+\end{filecontents*}
+
+
+% custom commands for use inside the documentation
+\ExplSyntaxOn
+% Property list storing version date information
+\prop_new:N \l__moremathdoc_version_date_prop
+
+\cs_new_protected:Nn \moremathdoc_add_version:nn
+{
+ \prop_put_if_new:Nnn \l__moremathdoc_version_date_prop {#1} {#2}
+}
+
+\cs_new_protected:Nn \moremathdoc_get_version:n
+{
+ \group_begin:
+ \prop_get:NnNT \l__moremathdoc_version_date_prop {#1} \l_tmpa_tl
+ {
+ \tl_use:N \l_tmpa_tl
+ }
+ \group_end:
+}
+
+\NewDocumentCommand \AddVersion { m m }
+{
+ \moremathdoc_add_version:nn {#1} {#2}
+}
+
+\NewDocumentCommand \GetVersionDate { m }
+{
+ \moremathdoc_get_version:n {#1}
+}
+\ExplSyntaxOff
+
+\documentclass[%
+%show-notes,%
+]{l3doc}
+
+\SetupDoc{reportchangedates=true}
+\RecordChanges
+
+\usepackage[american]{babel}
+\AddBabelHook[american]{nofrench}{afterextras}{\frenchspacing}
+
+\usepackage[style=alphabetic]{biblatex}
+\addbibresource{\jobname.bib}
+
+\usepackage{csquotes}
+\SetCiteCommand{\autocite}
+
+\usepackage{amssymb}
+\usepackage[bm]{moremath}
+
+% renew the ctanbibpkgname command
+\NewDocumentCommand\ctanbibpkgname{m}{\pkg{#1}}
+
+% Example operators and commands
+\DeclareMathOperator{\glorb}{glorb}
+\DeclarePairedDelimiter{\inparen}{\lparen}{\rparen}
+\DeclareDelimitedOperator{\pglorb}{\glorb}{\inparen}
+
+\begin{document}
+ \DocInput{moremath.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% ^^X Get the package version name etc.
+% \GetFileInfo{moremath.sty}
+%
+% ^^X Register changes here
+% \AddVersion{v0.1.0}{2024-06-28}
+% \AddVersion{v0.2.0}{2024-07-04}
+% \AddVersion{v0.3.0}{2024-07-08}
+% \AddVersion{v0.4.0}{2024-07-15}
+% \AddVersion{v0.5.0}{2024-08-20}
+%
+% ^^X Placeholder for unreleased versions
+% \AddVersion{vUNRELEASED}{UNRELEASED}
+%
+% \begin{documentation}
+%
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{Initial development release}
+% \changes{v0.3.0}{\GetVersionDate{v0.3.0}}{
+% Split the documentation into several parts.
+% }
+% \changes{v0.4.0}{\GetVersionDate{v0.4.0}}{
+% \textbf{Breaking Change:} Rename the package
+% and the \meta{prefix} used for function names from
+% "conmath" to "moremath".
+% }
+%
+% \title{The \pkg{moremath} package\thanks{This document coresponds to
+% \textsf{moremath}~\fileversion, dated \filedate.}}
+%
+% \author{Marcel Ilg\thanks{\texttt{mister01x (at) web (dot) de}}}
+%
+% \date{Released \filedate}
+%
+% \maketitle
+%
+% \begin{abstract}
+% The \pkg{moremath} package provides several document level commands
+% to ease the typesetting
+% and \LaTeX{} code readability of certain mathematical constructs.
+% It provides complementary commands to all operators defined by \pkg{amsmath},
+% the commands typeset delimiters that may be automatically, manually or
+% not scaled at all.
+% The commands also accept optional sub- and superscripts to the operators.
+%
+% Furthermore it provides several commands to typeset gradient, divergence,
+% curl, and Laplace operators,
+% for which there are also versions with delimiters.
+% Those commands also accept an optional subscript
+% and their appearance can be modified using key-value options.
+%
+% Additionally commands are provided for producing row and column vectors,
+% as well as (anti-)diagonal matrices,
+% utilizing \pkg{mathtools} \env{matrix*} family of environments.
+%
+% Most of the document level commands defined by this package can also
+% be disabled using a package load-time option to avoid clashes with
+% commands defined by other packages.
+% \end{abstract}
+%
+% \section*{Note: This Package is Still in its Initial Development Phase}
+% Do not expect a stable interface until version 1.0.0 has been reached!
+% While I try to keep the interface stable and backwards compatible,
+% I am unable to promise this.
+%
+% \tableofcontents
+%
+% \part{Document Author Documentation}
+% \label{pt:doc-auth}
+%
+% \section{Introduction}
+% \label{sec:intro}
+%
+% When typesetting mathematics in \LaTeX{} it is very common to often encounter,
+% code patterns such as |\sin \left( \frac{x}{2} \right)|.
+% While this above code works as expected its not especially easy for human
+% readers of this code to immediately understand what that code is going to
+% do.
+%
+% This package tries to ease readability of such commonly used constructs
+% by providing commands that (hopefully) increase readability,
+% as well as speeding up writing math in \LaTeX{}.
+% Using \pkg{moremath} the above code can be simplified to |\psin*{\frac{x}{2}}|,
+% which is shorter and better \enquote{human readable}.
+% The package also provides the possibility for users to define such delimited operators,
+% on their own.
+%
+% There are also other things that can be improved when typesetting math.
+% One prominent example is the typesetting of row and column vectors,
+% which require the use of a \env{matrix} environment.
+% For this case \pkg{moremath} provides commands which accept a comma separated
+% list of vector entries,
+% obliterating the need for a \env{matrix} environment to typeset vectors.
+%
+% The same goes for (anti-)diagonal matrices,
+% only the elements of the diagonal are of importance here.
+% Therefore the production of those matrices may also be simplified into a single command,
+% which again improves readability of the code compared to a mostly empty \env{matrix} environment.
+%
+% Another feature of this package is the definition of several (delimited)
+% vector calculus operators such as gradient, divergence and curl operators,
+% this does not only improve the semantics of the math code
+% (|\mathop{\nabla} f| vs.\ |\grad f|),
+% but also tries to provide the correct spacing between the operator and its
+% arguments.
+%
+% The \pkg{moremath} package is written using \LaTeX{}3
+% and provides a small \LaTeX{}3 interface for class and package writers.
+%
+% The source code for \pkg{moremath} is hosted on GitHub at
+% \begin{center}
+% \url{https://github.com/Mister00X/moremath}
+% \end{center}
+% If you have any issues or found a bug, feel free to register an issue there.
+%
+% \section{Dependencies}
+% \label{sec:deps}
+%
+% The main dependency of this package is \pkg{mathtools}~\autocite{mathtools}.
+% Optionally the \pkg{bm}~\autocite{bm} may be loaded.
+%
+% If the option "no-vector" has \emph{not} been given as a package load time option,
+% this package also loads the \pkg{amssymb}~\autocite{amsfonts} package.
+%
+% \section{Package Options}
+% \label{sec:pack-opts}
+%
+% ^^X SUBSECTION: Package Load Time Options
+% \subsection{Package Load Time Options}
+% \label{sec:pkg-load-time-opts}
+% The options described in this section \emph{must} be given
+% at package load time i.e.\ as package options.
+% All options which are not described below will be passed to
+% \pkg{mathtools}~\autocite{mathtools},
+% see its documentation for more information.
+%
+% \DescribeOption{bm} The \verb|bm| option
+% loads the \pkg{bm}~\autocite{bm} package which provides a better version of
+% the \cs{boldsymbol} command.
+%
+%
+%
+%
+% The options
+% \DescribeOption{no-vector} "no-vector",
+% \DescribeOption{no-abs-shorthands} "no-abs-shorthands",
+% \DescribeOption{no-operators} "no-operators",
+% \DescribeOption{no-crvector} "no-crvector",
+% and \DescribeOption{no-matrix} "no-matrix"
+% disable the definition of the predefined commands described in sections~\ref{sec:vector-calculus},
+% \ref{sec:shorthands},
+% \ref{sec:delim-ops},
+% \ref{sec:rc-vectors},
+% and~\ref{sec:matrices}
+% respectively.
+%
+% \DescribeOption{nopredef}
+% The option |nopredef| achieves the same as the three
+% |no-|\meta{functionality} options above.
+% It accepts multiple values, valid option values are:
+% |vector|,
+% |abs|,
+% |operators|,
+% |crvector|,
+% |matrix|,
+% and |all|.
+% The values
+% |abs|,
+% |operators|,
+% and |vector|
+% disable the predefined
+% document level commands for
+% delimited operators,
+% vector calculus
+% and the shorthands for absolute value and norm respectively.
+% The values "crvector" and "matrix" disable the shorthand commands
+% for row and column vectors, and simple matrices respectively.
+% The special value |all| disables all of them.
+%
+% The option accepts multiple values which can be given as a comma separated
+% list, or as multiple key-value options, like in the examples below:
+% \begin{verbatim}
+% \usepackage[nopredef={vector,abs,operators}]{moremath}
+% \end{verbatim}
+% This is equivalent to
+% \begin{verbatim}
+% \usepackage[nopredef=all]{moremath}
+% \end{verbatim}
+% and to:
+% \begin{verbatim}
+% \usepackage[nopredef=vector,nopredef=abs,nopredef=operators]{moremath}
+% \end{verbatim}
+%
+% The command \cs{NewDelimitedOperator} is not affected by any of the above
+% settings.
+%
+% ^^X SUBSECTION: General Options
+% \subsection{General Options}
+% \label{sec:pkg-general-options}
+%
+% The options described in this section
+% \emph{must not} be given as package options,
+% instead they should be set using \cs{moremathsetup}
+% or given as optional argument to the commands described later.
+% \begin{function}[updated = 2024-07-15]{\moremathsetup}
+% \begin{syntax}
+% \cs{moremathsetup}\marg{kv~list}
+% \end{syntax}
+% Sets the options specified in the \meta{key-value list},
+% the assignment is local to the current group.
+% If a \meta{value} contains a comma it needs to be wrapped in braces.
+% This command may be used anywhere in the document after \pkg{moremath}
+% has been loaded.
+% \end{function}
+%
+% \subsubsection{Options Affecting Vector Calculus Operators}
+% \label{sec:options-vec-calc}
+%
+% \DescribeOption{nabla}
+% The option |nabla| sets the symbol to use by the document level commands
+% described in section~\ref{sec:vector-calculus} to use for the nabla.
+% It accepts a list of \meta{tokens}. Its default value is |\nabla|.
+%
+% \DescribeOption{arrownabla}
+% The option |arrownabla| puts a small arrow over the gradient operator symbol.
+% Its default value is |false|.
+%
+% \DescribeOption{boldnabla}
+% The option |boldnabla| makes the nabla symbol bold.
+% If the |bm| package option has been given the |\boldsymbol| command from
+% the \pkg{bm} package is used for the bold symbol,
+% otherwise the \pkg{amsmath}~\autocite{amsmath} version is used.
+%
+% \DescribeOption{grad-op}
+% The option |grad-op| may be used to overwrite,
+% the built in version of the gradient operator, it accepts a \meta{token list}.
+% Use at your own responsibility.
+%
+% \DescribeOption{laplacian-symb}
+% The option |laplacian-symb| sets the symbol to use by the document level
+% commands described in section~\ref{sec:vector-calculus} to use for the
+% Laplace operator. It accepts a list of \meta{tokens}.
+%
+% \DescribeOption{delta-laplace}
+% The option |delta-laplace| replaces the Laplace operator symbol
+% (by default \(\laplacian\)) with a uppercase delta
+% (\(\laplacian[delta-laplace=true]\)).
+% Its default value is |false|.
+%
+% \DescribeOption{arrowlaplace}
+% The option |arrowlaplace| if set to |true| makes the Laplace operator look
+% like this: \(\laplacian[arrowlaplace=true]\).
+%
+% \DescribeOption{laplacian}
+% Like the option |grad-op| above the option |laplacian| may be used to
+% overwrite the built-in version of the Laplace operator.
+% Use at your own responsibility.
+%
+% \DescribeOption{dalembert-symb}
+% Like the option "nabla" this sets the symbol to use by the document level
+% commands described in section~\ref{sec:dalembert-op-cmds} to use as symbol
+% for the \foreignlanguage{french}{d'Alembert} operator. It accepts a list of
+% \meta{tokens}. It's default value is \cs[module=amssymb,replace=false]{square}.
+%
+% \DescribeOption{vcenter}
+% The option "vcenter" controls if certain mathematical symbols
+% of the operators described in section~\ref{sec:vector-calculus} should be
+% vertically centered along the math-axis.
+% The default value of this option is "true".
+%
+%
+%
+% \subsubsection{Options Affecting Matrices and Vectors}
+% \label{sec:options-matrix}
+%
+% The options in this section only affect the commands described in sections~\ref{sec:rc-vectors}
+% and~\ref{sec:matrices}. To set them with \cs{moremathsetup} it is necessary
+% to add the prefix |matrix / | to these options,
+% so that the resulting command looks like \cs{moremathsetup}\texttt{\{matrix / \meta{option}\}}.
+% When using these options inside the optional argument of the commands described
+% in sections~\ref{sec:rc-vectors} and~\ref{sec:matrices}, the prefix "matrix /"
+% must be omitted.
+%
+% \DescribeOption{delimiter}
+% The option |delimiter| determines the delimiters used for the matrices,
+% valid values are "p" for parenthesis, "b" for brackets, "B" for braces,
+% "v" for single vertical lines (\enquote{\(\vert\)}),
+% "V" for double vertical lines (\enquote{\(\Vert\)}) or empty for no delimiters.
+% The default value is "{}" (empty).
+%
+% \DescribeOption{fill}
+% The fill option determines the values an (anti-)diagonal matrix is filled with,
+% outside the diagonal. The default is again empty.
+%
+% \DescribeOption{align}
+% This option determines the alignment of the numbers inside the matrix.
+% The value of this option gets passed to the optional argument of the \env{matrix*}
+% or \env{smallmatrix*} family of environments defined by \pkg{mathtools}~\autocite{mathtools}.
+% Valid values for both types of those environments are |l| for left alignment,
+% |r| for right alignment and |c| for centered alignment. The default is |c|.
+%
+% \begin{texnote}
+% The non-"small" versions of the commands described in the sections~\ref{sec:rc-vectors}
+% and~\ref{sec:matrices}, accept \textcquote{mathtools}{\textelp{}
+% any column type valid in the usual \env{array} environment.}
+% \end{texnote}
+%
+%
+% \section{Delimited Operators}
+% \label{sec:delim-ops}
+%
+% \subsection{Delimited Operators Predefined by \pkg{moremath}}
+% \label{sec:delim-op-predef}
+%
+% \DescribeOption{no-operators}
+% If the package load time option |no-operators| is not given this package defines several
+% delimited mathematical operators.
+%
+% \begin{table}
+% \caption{%
+% Operator commands defined by the \pkg{amsmath}~\autocite{amsmath}
+% package.}
+% \label{tab:amsmath-operators}
+% \vspace{.5\baselineskip}
+% \input{\jobname-ams-op-table.tex}
+% \end{table}
+%
+% \begin{function}{
+% \parccos, \barccos, \Barccos, \varccos, \Varccos,
+% }
+% \begin{syntax}
+% \cs{parccos} \oarg{size cmd} \marg{contents}
+
+% \cs{parccos} \oarg{size cmd} \textasciicircum\marg{superscript} \marg{contents}
+%
+% \cs{parccos} \oarg{size cmd} \_\marg{subscript} \marg{contents}
+%
+% \cs{parccos} \oarg{size cmd} \textasciicircum\marg{superscript} \_\marg{subscript} \marg{contents}
+%
+% \cs{parccos}* \marg{contents}
+%
+% \cs{parccos}* \textasciicircum\marg{superscript} \marg{contents}
+%
+% \cs{parccos}* \_\marg{subscript} \marg{contents}
+% \cs{parccos}* \textasciicircum\marg{superscript} \_\marg{subscript} \marg{contents}
+%
+%
+% \cs[no-index]{\meta{prefix}\meta{op name}} \oarg{size cmd} \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}} \oarg{size cmd} \textasciicircum\marg{superscript} \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}} \oarg{size cmd} \_\marg{subscript} \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}} \oarg{size cmd} \textasciicircum\marg{superscript} \_\marg{subscript} \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}}* \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}}* \textasciicircum\marg{superscript} \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}}* \_\marg{subscript} \marg{contents}
+% \cs[no-index]{\meta{prefix}\meta{op name}}* \textasciicircum\marg{superscript} \_\marg{subscript} \marg{contents}
+% \end{syntax}
+% For all of the operators predefined by \pkg{amsmath}~\autocite{amsmath},
+% which are shown in table~\ref{tab:amsmath-operators},
+% \pkg{moremath} declares delimited versions.
+% The name of those commands follows the scheme \cs[no-index]{\meta{prefix}\meta{op}},
+% where \meta{prefix} is one of |p|, |b|, |B|, |v|, or |V|
+% and \meta{op} is the name of one of the operators shown in table~\ref{tab:amsmath-operators}.
+%
+% The \meta{prefix}es |p|, |b|, |B|, |v|, and |V| stand for
+% parenthesis, brackets, braces, single vertical lines (\enquote{\(\vert\)}), and double vertical lines
+% (\enquote{\(\Vert\)}) respectively.
+%
+% The commands accept a \meta{size cmd} optional argument, which is usually one of
+% \cs{big}, \cs{Big}, \cs{bigg} and \cs{Bigg}.
+% These \meta{size cmd}s are used to change the size of the delimiters.
+%
+% The commands also accept sub- and superscripts,
+% which have to be issued \emph{after} the optional argument (if present),
+% but before the mandatory argument \meta{contents}.
+%
+% The starred variant uses automatic scaling for the delimiters depending on the height of its contents.
+% \end{function}
+%
+% \paragraph{Examples}
+%
+% The following examples showcase the use of those predefined delimited operators:
+% \begin{enumerate}
+% \item Different delimited operators without any scaling:
+%
+% \begin{verbatim}
+% \[
+% \pcos{x} \times \bcos{y}
+% \times \Bcos{z} \times \vcos{a}
+% \times \Vcos{b}
+% \]
+% \end{verbatim}
+% \[
+% \pcos{x} \times \bcos{y}
+% \times \Bcos{z} \times \vcos{a}
+% \times \Vcos{b}
+% \]
+%
+% \item Delimited operator with automatic scaling:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcos*{\frac{x^{2}}{2}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pcos*{\frac{x^{2}}{2}}
+% \]
+% \end{minipage}
+%
+% \item Delimited operator with manual scaling:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcos[\Big]{\frac{x^{2}}{2}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pcos[\Big]{\frac{x^{2}}{2}}
+% \]
+% \end{minipage}
+%
+% \item Delimited operator with subscript:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \plog_{10}{1+x}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% ^^X XXX: Using an underscore is broken here (because of l3doc???) therefore I
+% ^^X use "\sb" instead.
+% \[
+% \plog\sb{10}{1+x}
+% \]
+% \end{minipage}
+%
+% \item Delimited operator with superscript:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcos^{2}{x}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pcos^{2}{x}
+% \]
+% \end{minipage}
+%
+% \item Delimited operator with both sub- and superscript and manual scaling:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcos[\Big]^{2}_{x}{\frac{x}{2}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% ^^X XXX: Again use "\sb" instead of "_" because of l3doc
+% \[
+% \pcos[\Big]^{2}\sb{x}{\frac{x}{2}}
+% \]
+% \end{minipage}
+% \end{enumerate}
+%
+%
+% \subsection{Declaring New Delimited Operators}
+% \label{sec:delim-op-new}
+%
+% \begin{function}{\DeclareDelimitedOperator}
+% \begin{syntax}
+% \cs{DeclareDelimitedOperator}\marg{new op}\marg{op}\marg{delim}
+% \end{syntax}
+% Creates a new delimited operator,
+% the name of the new command will be \meta{new op}.
+% The \meta{op} is the command of the operator to use,
+% which is usually a command declared with
+% \cs[module=amsmath,replace=false]{DeclareMathOperator}.
+% \meta{delim} is the command to use as paired delimiter,
+% it is expected to behave like a paired delimiter declared by
+% \pkg{mathtools}~\autocite{mathtools}
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter}.
+% \end{function}
+%
+% \paragraph{Example: Creating a New Delimited Operator}
+% The following code creates a new operator and a paired delimiter
+% and uses it afterwards to declare a paired operator.
+% \begin{verbatim}
+% \documentclass{scrartcl}
+%
+% \DeclareMathOperator{\glorb}{glorb}
+% \DeclarePairedDelimiter{\inparen}{\lparen}{\rparen}
+% \DeclarePairedOperator{\pglorb}{\glorb}{\inparen}
+%
+% \begin{document}
+% \[
+% \pglorb{a}
+% \]
+% \end{document}
+% \end{verbatim}
+% The result then looks like this:
+% \[
+% \pglorb{a}
+% \]
+%
+%
+% \section{Vector Calculus Operators}
+% \label{sec:vector-calculus}
+%
+% \DescribeOption{no-vector}
+% The commands in this section are only declared if the option |no-vector|
+% has not been given to the package as a load time option.
+%
+% \DescribeOption{vcenter}
+% The option "vcenter" controls if the symbols for the operators described below
+% should be vertically centered along the math axis. Its default value is "true".
+%
+% This option only shows its effects if other options like "arrownabla",
+% "arrowlaplace", or "boldnabla" are set to "true".
+% Like in the example below:
+% \begin{quote}
+% \begin{verbatim}
+% \begin{gather*}
+% \grad f(x) \quad \grad[arrownabla,vcenter=false] f(x)
+% \quad \grad[arrownabla,vcenter=true] f(x)\\
+% \laplacian f(x) \quad \laplacian[arrowlaplace,vcenter=false] f(x)
+% \quad \laplacian[arrowlaplace,vcenter=true] f(x)
+% \end{gather*}
+% \end{verbatim}
+% \begin{gather*}
+% \grad f(x) \quad \grad[arrownabla,vcenter=false] f(x)
+% \quad \grad[arrownabla,vcenter=true] f(x)\\
+% \laplacian f(x) \quad \laplacian[arrowlaplace,vcenter=false] f(x)
+% \quad \laplacian[arrowlaplace,vcenter=true] f(x)
+% \end{gather*}
+% \end{quote}
+%
+% All of the commands described in this section take key-value options
+% as optional argument, which are described in section~\ref{sec:options-vec-calc}
+%
+% \subsection{Gradient Operator Commands}
+% \label{sec:grad-op-cmds}
+%
+% \subsubsection{Standalone Operator Command}
+% \label{sec:grad-op-standalone}
+%
+% \begin{function}[updated=2024-07-08]{
+% \grad,
+% }
+% \begin{syntax}
+% \cs{grad} \oarg{kv opts}
+% \cs{grad} \oarg{kv opts} \_\marg{subscript}
+% \end{syntax}
+% The \cs{grad} command produces a gradient operator
+% looking like this \enquote{\(\grad\)} by default.
+% The optional argument \meta{kv opts} accepts the key-value options
+% described in section~\ref{sec:options-vec-calc},
+% whitespace between the command name
+% and \oarg{kv~opts} is \emph{not allowed}.
+% An optional subscript using "_" may be given after the optional argument.
+% \end{function}
+%
+% \paragraph{Examples of Use}
+% \begin{enumerate}
+% \item Standalone gradient operator (with and without subscript):
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \grad f(x), \quad \grad_{x} f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \grad f(x), \quad \grad\sb{x} f(x)
+% \]
+% \end{minipage}
+%
+% \item Bold version of the gradient operator:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \grad[boldnabla] f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \grad[boldnabla] f(x)
+% \]
+% \end{minipage}
+%
+% \item Gradient operator with an arrow:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \grad[arrownabla] f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}
+% \begin{minipage}{.49\linewidth}
+% \[
+% \grad[arrownabla] f(x)
+% \]
+% \end{minipage}
+% \end{enumerate}
+%
+% \subsubsection{Operators with Delimiters}
+% \label{sec:grad-op-delim}
+%
+% \begin{function}{
+% \pgrad,
+% \bgrad,
+% \Bgrad,
+% \vgrad,
+% \Vgrad
+% }
+% \begin{syntax}
+% \cs[no-index]{\meta{delim}grad} \oarg{size cmd} \marg{content}
+% \cs[no-index]{\meta{delim}grad} \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}grad} \oarg{size cmd} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}grad} \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}grad}* \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}grad}* \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}grad} family of commands produces
+% gradient operator which is followed by \meta{contents} inside delimiters.
+% The delimiter is determined by the first letter of the command \meta{delim},
+% which may be "p" for parenthesis, "b" for brackets, "B" for braces,
+% "v" for a single vertical line (\enquote{\(\vert\)}), or "V" for a double
+% vertical line (\enquote{\(\Vert\)}).
+%
+% The commands accept either a \meta{size command} as optional argument,
+% which gets passed to \pkg{mathtools}~\autocite{mathtools} paired delimiter
+% or a list of \meta{key-value option}s,
+% the \meta{kv opts} \emph{must} be given using the complete syntax,
+% i.e.\ \meta{key}"="\meta{value},
+% shorthands for options with an implicit default value (|arrownabla|),
+% will not work here.
+% The \meta{size~command} is usually one of \cs{big}, \cs{Big}, \cs{bigg} and
+% \cs{Bigg}.
+% Valid \meta{kv opts} are all options described in section~\ref{sec:options-vec-calc}
+% and the key "scale" which accepts a \meta{size cmd}.
+%
+% \begin{quote}
+% \textbf{Note:}\\
+% Do not mix \meta{kv opts} and \meta{size cmd},
+% use either |\pgrad[\big]{f(x)}| or |\pgrad[arrownabla=true,scale=\big]{f(x)}|.
+% \end{quote}
+%
+% \medskip\noindent
+% An optional \meta{subscript} may be given between the optional argument,
+% and \meta{contents}. One use case for this subscript is to write formulae
+% using the so called Feynman-notation, where the gradient operator acts
+% only on one variable.
+%
+% The starred version of the commands automatically scale the delimiters
+% with its contents.
+% \end{function}
+%
+% \paragraph{Examples:}
+% \begin{enumerate}
+% \item Gradient operator with non-scaled delimiters:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pgrad{1+\vec{x}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pgrad{1+\vec{x}}
+% \]
+% \end{minipage}
+%
+% \item Bold version:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pgrad[boldnabla=true]{1+\vec{x}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pgrad[boldnabla=true]{1+\vec{x}}
+% \]
+% \end{minipage}
+%
+% \item Gradient operator with automatically scaled delimiters:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pgrad*{\frac{1}{x}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pgrad*{\frac{1}{x}}
+% \]
+% \end{minipage}
+%
+% \item Manually scaled version:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \begin{gather*}
+% \pgrad[\Big]{\frac{1}{x}}\\[.5ex]
+% \pgrad[scale=\Big]{\frac{1}{x}}
+% \end{gather*}
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \begin{gather*}
+% \pgrad[\Big]{\frac{1}{x}}\\[.5ex]
+% \pgrad[scale=\Big]{\frac{1}{x}}
+% \end{gather*}
+% \end{minipage}
+%
+% \item Feynman-notation:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pgrad_{x}{x+y+z}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pgrad\sb{x}{x+y+z}
+% \]
+% \end{minipage}
+% \end{enumerate}
+%
+% \subsection{Divergence Operator Commands}
+% \label{sec:div-op-cmds}
+%
+% \subsubsection{Standalone Operator Command}
+% \label{sec:div-op-standalone}
+%
+% \begin{function}[updated=2024-07-08]{\divergence}
+% \begin{syntax}
+% \cs{divergence} \oarg{kv opts}
+% \cs{divergence} \oarg{kv opts} \_\marg{subscript}
+% \end{syntax}
+% The \cs{divergence} command produces the divergence operator
+% \enquote{\(\divergence\)},
+% its usage is analogous to the use of the \cs{grad} command,
+% which is described in section~\ref{sec:grad-op-standalone}.
+% \end{function}
+%
+% \paragraph{Examples}
+% \begin{enumerate}
+% \item Standalone divergence operator
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \divergence f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\divergence f\]
+% \end{minipage}
+%
+% \item Standalone divergence operator
+% with an arrow over the gradient operator
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \divergence[arrownabla] f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\divergence[arrownabla] f(x)\]
+% \end{minipage}
+%
+% \item Standalone divergence operator with subscript
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \divergence_{x} f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% ^^X We need to use \sb because of the subscript package
+% \begin{minipage}{.49\linewidth}
+% \[\divergence\sb{x} f(x)\]
+% \end{minipage}
+% \end{enumerate}
+% \subsubsection{Operators with Delimiters}
+% \label{sec:div-op-delim}
+%
+% \begin{function}{
+% \pdiv,
+% \bdiv,
+% \Bdiv,
+% \vdiv,
+% \Vdiv
+% }
+% \begin{syntax}
+% \cs[no-index]{\meta{delim}div} \oarg{size cmd} \marg{content}
+% \cs[no-index]{\meta{delim}div} \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}div} \oarg{size cmd} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}div} \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}div}* \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}div}* \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}div} family of commands produces the divergence
+% operator with its arguments placed inside delimiters.
+% The usage of these commands is analogous to the \cs[no-index]{\meta{delim}grad}
+% family of commands described in section~\ref{sec:grad-op-delim}.
+% \end{function}
+%
+% \paragraph{Examples}
+%
+% \begin{enumerate}
+% \item Divergence operator with parenthesis and no scaling
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pdiv{1+x}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\pdiv{1+x}\]
+% \end{minipage}
+% \item Bold version with manual scaling and subscript
+%
+% \begin{verbatim}
+% \[
+% \pdiv[boldnabla=true,scale=\Big]_{x}{1 + \frac{1}{x}}
+% \]
+% \end{verbatim}
+% \[\pdiv[boldnabla=true,scale=\Big]\sb{x}{1+\frac{1}{x}}\]
+%
+% \item Automatic scaling
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pdiv*{1 + \frac{1}{x}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\pdiv*{1 + \frac{1}{x}}\]
+% \end{minipage}
+% \end{enumerate}
+%
+% \subsection{Curl Operator Commands}
+% \label{sec:curl-op-cmds}
+%
+% \subsubsection{Standalone Operator Command}
+% \label{sec:curl-op-standalone}
+%
+% \begin{function}[updated=2024-07-08]{\curl}
+% \begin{syntax}
+% \cs{curl} \oarg{kv opts}
+% \cs{curl} \oarg{kv opts} \_\marg{subscript}
+% \end{syntax}
+% The \cs{curl} command produces the curl operator \enquote{\(\curl\)},
+% its usage is analogous to the use of the \cs{grad} command
+% described in section~\ref{sec:grad-op-standalone}.
+% \end{function}
+%
+% \paragraph{Examples}
+% \begin{enumerate}
+% \item Standalone curl operator
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \curl f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\curl f(x)\]
+% \end{minipage}
+%
+% \item Standalone curl operator with an arrow over the gradient operator
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \curl[arrownabla] f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\curl[arrownabla] f(x)\]
+% \end{minipage}
+%
+% \item Standalone curl operator with subscript
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \curl_{x} f(x,y)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\curl\sb{x} f(x,y)\]
+% \end{minipage}
+% \end{enumerate}
+%
+% \subsubsection{Operators with Delimiters}
+% \label{sec:curl-op-delim}
+%
+% \begin{function}{
+% \pcurl,
+% \bcurl,
+% \Bcurl,
+% \vcurl,
+% \Vcurl
+% }
+% \begin{syntax}
+% \cs[no-index]{\meta{delim}curl} \oarg{size cmd} \marg{content}
+% \cs[no-index]{\meta{delim}curl} \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}curl} \oarg{size cmd} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}curl} \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}curl}* \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}curl}* \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}curl} family of commands produce the curl operator
+% with its arguments placed inside delimiters.
+% The usage of these commands is analogous to the \cs[no-index]{\meta{delim}grad}
+% family of commmands described in section~\ref{sec:grad-op-delim}.
+% \end{function}
+%
+% \paragraph{Examples}
+% \begin{enumerate}
+% \item Curl operator with parenthesis without scaling
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcurl{1+x}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\pcurl{1+x}\]
+% \end{minipage}
+%
+% \item Bold version with manual scaling and subscript
+%
+% \begin{verbatim}
+% \[
+% \pcurl[boldnabla=true,scale=\Big]_{x}{1 + \frac{1}{x}}
+% \]
+% \end{verbatim}
+% \[
+% \pcurl[boldnabla=true,scale=\Big]\sb{x}{1 + \frac{1}{x}}
+% \]
+%
+% \item Automatic scaling
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcurl*{1 + \frac{1}{x}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\pcurl*{1 + \frac{1}{x}}\]
+% \end{minipage}
+% \end{enumerate}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Fixed example to match description.
+% }
+%
+%
+% \subsection{Laplace Operator Commands}
+% \label{sec:laplace-op-cmds}
+%
+% This section describes commands which can be used to typeset a Laplace
+% operator.
+%
+%
+% Like the commands described in sections~\ref{sec:grad-op-cmds},
+% \ref{sec:div-op-cmds}, and~\ref{sec:curl-op-cmds}
+% the commands in this section accept key-value options via an optional
+% argument.
+% There is some deviation from the options compared to the above commands:
+% The "arrownabla" option is ignored,
+% instead the "arrowlaplace" option produces an arrow over the operator.
+% The "boldnabla" option on the other hand is not ignored.
+% Finally the "delta-laplace" option replaces the symbol used
+% for the operator from \(\laplacian\) to \(\laplacian[delta-laplace]\)
+%
+% \subsubsection{Standalone Operator Command}
+% \label{sec:laplace-op-standalone}
+%
+%
+% \begin{function}[updated=2024-07-08]{\laplacian}
+% \begin{syntax}
+% \cs{laplacian} \oarg{kv opts}
+% \cs{laplacian} \oarg{kv opts} \_\marg{subscript}
+% \end{syntax}
+% The \cs{laplacian} command produces a Laplace operator,
+% which looks by default like this: \(\laplacian\).
+%
+% Its interface is analogous to the \cs{grad}, \cs{divergence},
+% and \cs{curl} commands described above,
+% with the difference in key-value options described at the start of this
+% subsection.
+% \end{function}
+%
+%
+% \subsubsection{Operators with Delimiters}
+% \label{sec:laplace-op-delim}
+%
+% \begin{function}{
+% \plaplacian,
+% \blaplacian,
+% \Blaplacian,
+% \vlaplacian,
+% \Vlaplacian
+% }
+% \begin{syntax}
+% \cs[no-index]{\meta{delim}laplacian} \oarg{size cmd} \marg{content}
+% \cs[no-index]{\meta{delim}laplacian} \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}laplacian} \oarg{size cmd} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}laplacian} \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \cs[no-index]{\meta{delim}laplacian}* \oarg{kv opts} \marg{content}
+% \cs[no-index]{\meta{delim}laplacian}* \oarg{kv opts} \_\marg{subscript} \marg{content}
+% \end{syntax}
+% \end{function}
+%
+% \paragraph{Examples}
+% \begin{enumerate}
+% \item Laplace operator delimited by parenthesis without scaling
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \plaplacian{1+x}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\plaplacian{1+x}\]
+% \end{minipage}
+%
+% \item Version with arrow, manual scaling and subscript
+%
+% \begin{verbatim}
+% \[
+% \plaplacian[arrowlaplace=true,scale=\Big]_{x}{1 + \frac{1}{x}}
+% \]
+% \end{verbatim}
+% \[
+% \plaplacian[arrowlaplace=true,scale=\Big]\sb{x}{1 + \frac{1}{x}}
+% \]
+%
+% \item Version with automatic scaling
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \plaplacian*{1 + \frac{1}{x}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\plaplacian*{1 + \frac{1}{x}}\]
+% \end{minipage}
+%
+% \item Using a delta as symbol for the Laplacian
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \plaplacian[delta-laplace=true]{1+x}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\plaplacian[delta-laplace=true]{1+x}\]
+% \end{minipage}
+% \end{enumerate}
+%
+%
+% \subsection{^^X
+% Commands Producing a \foreignlanguage{french}{d'Alembert} operator
+% }
+% \label{sec:dalembert-op-cmds}
+%
+% \subsubsection{Standalone Operator Command}
+% \label{sec:dalembert-op-standalone}
+%
+% \begin{function}[
+% added = 2024-07-04,
+% updated=2024-07-08,
+% ]{\quabla}
+% \begin{syntax}
+% \cs{quabla} \oarg{kv~opts}
+% \cs{quabla} \oarg{kv~opts} \_\marg{subscript}
+% \end{syntax}
+% The \cs{quabla} command produces
+% the \foreignlanguage{french}{d'Alembert} operator \enquote{\(\quabla\)}.
+% This command accepts an optional subscript.
+% \end{function}
+%
+% The command is called \cs{quabla} because thats shorter and easier to type than
+% \cs[no-index]{dalembertian}.
+% If you want to have a command called \cs[no-index]{dalembertian},
+% put the following in your documents preamble.
+% \begin{verbatim}
+% \NewCommandCopy\quabla\dalembertian
+% \end{verbatim}
+%
+% \paragraph{Example of Use:}
+% \begin{quote}
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \quabla f(x)
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\quabla f(x)\]
+% \end{minipage}
+% \end{quote}
+%
+%
+% \subsubsection{Operators with Delimiters}
+% \label{sec:dalembert-op-delim}
+%
+% \begin{function}[added = 2024-07-04]{
+% \pquabla,
+% \bquabla,
+% \Bquabla,
+% \vquabla,
+% \Vquabla,
+% }
+% \begin{syntax}
+% \cs[no-index]{\meta{delim}quabla} \oarg{size~cmd} \marg{contents}
+% \cs[no-index]{\meta{delim}quabla} \oarg{kv~opts} \marg{contents}
+% \cs[no-index]{\meta{delim}quabla} \oarg{size~cmd} \_\marg{subscript} \marg{contents}
+% \cs[no-index]{\meta{delim}quabla} \oarg{kv~opts} \_\marg{subscript} \marg{contents}
+% \cs[no-index]{\meta{delim}quabla}* \oarg{kv~opts} \marg{contents}
+% \cs[no-index]{\meta{delim}quabla}* \oarg{kv~opts} \_\marg{subscript} \marg{contents}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}quabla} family of commands produce a
+% \foreignlanguage{french}{d'Alembert} operator with <contents> placed inside
+% delimiters.
+% Their usage is analogous to the \cs[no-index]{\meta{delim}grad} family of
+% commands described in section~\ref{sec:grad-op-delim}.
+% \end{function}
+%
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Fixed syntax description of standalone operators not matching reality.
+% }
+%
+%
+% \section{Row- and Column Vectors}
+% \label{sec:rc-vectors}
+%
+% \DescribeOption{no-crvector}
+% The command in this section are only declared if the option |no-crvector|
+% has not been given as a package option.
+%
+% ^^X \DescribeOption{delimiter}
+% ^^X \DescribeOption{fill}
+% ^^X \DescribeOption{align}
+% ^^X The commands in this section all accept key-value options as optional argument.
+% Valid keys are "delimiter", "fill", and "align",
+% their usage is described in section~\ref{sec:options-matrix}.
+%
+% \begin{function}[
+% updated=2024-08-20,
+% ]{
+% \cvector,
+% \rvector
+% }
+% \begin{syntax}
+% \cs{cvector} \oarg{kv opts} \marg{clist}
+% \cs{rvector} \oarg{kv opts} \marg{clist}
+% \end{syntax}
+% The commands \cs{cvector} and \cs{rvector} produce row and column vectors
+% respectively. Both of them accept key-value options as optional argument
+% \meta{kv opts}. Valid keys and values are described in section~\ref{sec:options-matrix}.
+%
+% The mandatory argument \meta{clist} is a comma-separated-list,
+% whose elements are the entries of the column/row vector.
+% If a comma has to appear inside an entry the entire entry has to be wrapped
+% in braces.
+%
+% The delimiter of the row or column vectors depends on the current value of
+% the option |delimiter|, by default empty. The option |fill| has no effect
+% on the commands and is simply ignored.
+%
+% \begin{texnote}
+% If you were to define your own \env{matrix*}-like environment
+% called \env{mymatrix*},
+% which has an interface compatible to \pkg{mathtools}'s \env{matrix*}
+% family of environments,
+% you could make use of it by setting the value of |delimiter| to |my|.
+% \end{texnote}
+% \end{function}
+%
+% \medbreak\noindent
+% \textbf{Examples:}
+% \begin{enumerate}
+% \item Column \enquote{vector} without delimiters:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \cvector{a_{1},a_{2},a_{3}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \cvector{a_{1},a_{2},a_{3}}
+% \]
+% \end{minipage}
+%
+% \item A column vectors delimited with parenthesis and different alignment:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \cvector[delimiter=p,align=c]{-1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \cvector[delimiter=p,align=c]{-1,2,3}
+% \]
+% \end{minipage}\\[1ex]
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \cvector[delimiter=p,align=r]{-1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \cvector[delimiter=p,align=r]{-1,2,3}
+% \]
+% \end{minipage}\\[1ex]
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \cvector[delimiter=p,align=l]{-1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \cvector[delimiter=p,align=l]{-1,2,3}
+% \]
+% \end{minipage}
+% \end{enumerate}
+%
+% \paragraph{Row- and Column Vectors with Predefined Delimiters}
+%
+% As vectors are commonly delimited by parenthesis, brackets, braces, etc.\
+% several shorthands producing delimited vectors are also available.
+% \begin{function}[updated=2024-08-20]{
+% \pcvector,
+% \bcvector,
+% \Bcvector,
+% \vcvector,
+% \Vcvector,
+% \prvector,
+% \brvector,
+% \Brvector,
+% \vrvector,
+% \Vrvector,
+% \prvector,
+% \brvector,
+% \Brvector,
+% \vrvector,
+% \Vrvector
+% }
+% \begin{syntax}
+% \cs[no-index]{\meta{delim}cvector} \oarg{kv opts} \marg{clist}
+% \cs[no-index]{\meta{delim}rvector} \oarg{kv opts} \marg{clist}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}\meta{c or r}vector} family of commands,
+% accepts a list of key-value options as optional argument \meta{kv opts}.
+% Valid keys are described in section~\ref{sec:options-matrix}.
+%
+% The mandatory argument \meta{clist} is a comma-separated-list of
+% the entries of the vector.
+% If a comma needs to appear inside an entry of the vector,
+% that entry has to be wrapped in braces.
+%
+% \meta{delim} may have the value "p" for parenthesis,
+% "b" for brackets, "B" for braces, "v" for a single vertical line,
+% or "V" for a double vertical line.
+% \end{function}
+%
+% \subparagraph{Example}
+% \begin{quote}
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pcvector{a_{1},a_{2},a_{3}}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pcvector{a_{1},a_{2},a_{3}}
+% \]
+% \end{minipage}
+% \end{quote}
+%
+% \subsection{Small Versions for Inline Math}
+% \label{sec:rc-vectors-small}
+%
+% As the \env{matrix} and \env{matrix*} family of environments is unsuitable,
+% for inline math,
+% \pkg{mathtools}~\autocite{mathtools} provides the \env{smallmatrix}
+% and \env{smallmatrix*} family of environments.
+% This package provides analogous commands for row and column vectors
+% to be typeset in inline math mode.
+%
+% \begin{function}[
+% updated=2024-08-20,
+% ]{
+% \smallcvector,
+% \smallrvector
+% }
+% \begin{syntax}
+% \cs{smallcvector} \oarg{kv opts} \marg{clist}
+% \cs{smallrvector} \oarg{kv opts} \marg{clist}
+% \end{syntax}
+% \cs{smallcvector} and \cs{smallrvector} produce column and row vectors
+% suitable for inline math.
+% Both commands accept the same optional key-value arguments as
+% \cs{cvector} and \cs{rvector}.
+% \end{function}
+%
+%
+% \medbreak\noindent
+% \textbf{Example:}
+% \begin{quote}
+% \begin{verbatim}
+% An inline version of \verb|\cvector| looks like this
+% \(\smallcvector{1,0}\).
+% \end{verbatim}
+% An inline version of \verb|\cvector| looks like this
+% \(\smallcvector{1,0}\).
+% \end{quote}
+%
+% \begin{function}[updated=2024-08-20]{
+% \psmallcvector,
+% \bsmallcvector,
+% \Bsmallcvector,
+% \vsmallcvector,
+% \Vsmallcvector,
+% \psmallrvector,
+% \bsmallrvector,
+% \Bsmallrvector,
+% \vsmallrvector,
+% \Vsmallrvector,
+% }
+% \begin{syntax}
+% \cs{psmallcvector} \oarg{kv opts} \marg{clist}
+% \cs[no-index]{psmallrvector} \oarg{kv opts} \marg{clist}
+% \cs[no-index]{\meta{delim}small\meta{c or r}vector} \oarg{kv opts} \marg{clist}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}small\meta{c or r}vector} family of commands
+% like \cs{psmallcvector} produce small inline math version of row and column
+% vectors. Their interface is identical to the commands described above.
+% \end{function}
+%
+% \medbreak\noindent
+% \textbf{Example:}\nobreak
+% \begin{quote}
+% \begin{verbatim}
+% An inline version of \verb|\pcvector| looks like this
+% \(\psmallcvector{1,0}\).
+% \end{verbatim}
+% An inline version of \verb|\pcvector| looks like this
+% \(\psmallcvector{1,0}\).
+% \end{quote}
+%
+%
+% \section{Shorthands for Simple Matrices}
+% \label{sec:matrices}
+%
+% \DescribeOption{no-matrix}
+% The commands in this section are only defined if the option "no-matrix"
+% \emph{has not been given} to the package at load-time.
+%
+%
+% \subsection{(Anti-)diagonal Matrices}
+% \label{sec:diagonal-matrices}
+%
+% \begin{function}{
+% \diagmat,
+% \antidiagmat,
+% }
+% \begin{syntax}
+% \cs{diagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{antidiagmat} \oarg{kv opts} \marg{diagonal}
+% \end{syntax}
+% \cs{diagmat} and \cs{antidiagmat} produce a diagonal or anti-diagonal matrix
+% respectively.
+% The optional argument \meta{kv~opts} accepts the key value options
+% described in section~\ref{sec:options-matrix}.
+%
+% The key "fill" determines the contents of the matrix entries
+% which are not part of the (anti-)diagonal,
+% its default value is |{}| i.e.\ empty.
+% The key "align" determines the alignment of the entries inside the
+% matrix, valid values are usually "l", "c", and "r",
+% the default is "c".
+% The key "delimiter" determines the delimiter around the matrix,
+% its default value is |{}| (none).
+% Valid values for the delimiters are "p" for parenthesis,
+% "b" for brackets, "B" for braces, "v" for a single vertical line
+% (\enquote{\(\vert\)}), and "V" for a double vertical line (\enquote{\(\Vert\)}).
+% See the \pkg{mathtools} manual~\autocite{mathtools} for more information.
+%
+% \begin{texnote}
+% The value of "delimiter" gets inserted inside the |\begin{#1matrix*}|
+% and |\end{#1matrix*}| commands.
+% Therefore it would be possible to define your own \env{matrix*}
+% like environment,
+% called for example \env{mymatrix*} and set "delimiter=my"
+% to make use of it.
+% \end{texnote}
+%
+% The mandatory argument \meta{diagonal} has to be a comma separated list
+% of the entries of the (anti-)diagonal.
+% If an entry of the diagonal needs to contain a comma "," the entire entry
+% has to be wrapped in braces.
+% \end{function}
+%
+% \medskip\noindent
+% \textbf{Examples:}
+% \begin{enumerate}
+% \item A diagonal and an anti-diagonal matrix without delimiters:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \begin{gather*}
+% \diagmat{1,2,3}\\[.5ex]
+% \antidiagmat{1,2,3}
+% \end{gather*}
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \begin{gather*}
+% \diagmat{1,2,3}\\[.5ex]
+% \antidiagmat{1,2,3}
+% \end{gather*}
+% \end{minipage}
+% \item A diagonal matrix delimited by parenthesis filled with zeros:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \diagmat[delimiter=p,fill=0]{1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \diagmat[delimiter=p,fill=0]{1,2,3}
+% \]
+% \end{minipage}
+%
+% \item A diagonal matrix filled with a symbol:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \diagmat[fill=\square]{1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\diagmat[fill=\square]{1,2,3}\]
+% \end{minipage}
+%
+% \item Diagonal matrices with different alignment:
+%
+% \begin{verbatim}
+% \[
+% \diagmat[delimiter=p,align=c,fill=0]{-1,-2,-3} \qquad
+% \diagmat[delimiter=p,align=l,fill=0]{-1,-2,-3} \qquad
+% \diagmat[delimiter=p,align=r,fill=0]{-1,-2,-3}
+% \]
+% \end{verbatim}
+% \[
+% \diagmat[delimiter=p,align=c,fill=0]{-1,-2,-3} \qquad
+% \diagmat[delimiter=p,align=l,fill=0]{-1,-2,-3} \qquad
+% \diagmat[delimiter=p,align=r,fill=0]{-1,-2,-3}
+% \]
+% \end{enumerate}
+%
+%
+% \paragraph{Shorthands for (Anti-)diagonal Matrices with Delimiters}
+%
+% As matrices are more often than not written inside of delimiters,
+% \pkg{moremath} provides several shorthands for producing those matrices
+% without having to set the "delimiter" key explicitly.
+% \begin{function}{
+% \pdiagmat,
+% \bdiagmat,
+% \Bdiagmat,
+% \vdiagmat,
+% \Vdiagmat
+% }
+% \begin{syntax}
+% \cs{pdiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{bdiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Bdiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{vdiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Vdiagmat} \oarg{kv opts} \marg{diagonal}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}diagmat} family of commands provides
+% shorthands for producing a delimited (anti-)diagonal matrix
+% without having to set the "delimiter" key explicitly every time.
+% The pre-set "delimiter" may be overwritten by explicitly passing "delimiter"
+% as a key-value option.
+%
+% The optional argument \meta{kv~opts} accepts the same key-value arguments
+% as \cs{diagmat}.
+% \end{function}
+%
+% \medskip\noindent
+% \textbf{Example:}
+% \begin{quote}
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pdiagmat{1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pdiagmat{1,2,3}
+% \]
+% \end{minipage}
+% \end{quote}
+%
+% \begin{function}{
+% \pantidiagmat,
+% \bantidiagmat,
+% \Bantidiagmat,
+% \vantidiagmat,
+% \Vantidiagmat
+% }
+% \begin{syntax}
+% \cs{pantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{bantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Bantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{vantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Vantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \end{syntax}
+% The \cs[no-index]{\meta{delim}antidiagmat} family of commands behaves
+% like the \cs[no-index]{\meta{delim}diagmat} commands described above,
+% except they produce anti-diagonal matrices.
+% \end{function}
+%
+% \medskip\noindent
+% \textbf{Example:}
+% \begin{quote}
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pantidiagmat{1,2,3}
+% \]
+% \end{verbatim}
+% \end{minipage}
+% \begin{minipage}{.49\linewidth}
+% \[
+% \pantidiagmat{1,2,3}
+% \]
+% \end{minipage}
+% \end{quote}
+%
+%
+% \subsubsection{Small Versions for Inline Math}
+% \label{sec:matrices-small}
+%
+% \pkg{mathtools} defines special matrix environments for use in
+% inline math mode,
+% the \env{smallmatrix} and \env{smallmatrix*} family of environments.
+% \pkg{moremath} provides for the case of typesetting an (anti-)diagonal
+% matrix several commands which utilize these inline math versions.
+%
+% \begin{function}{
+% \smalldiagmat,
+% \smallantidiagmat,
+% }
+% \begin{syntax}
+% \cs{smalldiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{smallantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \end{syntax}
+% The \cs{smalldiagmat} and \cs{smallantidiagmat} commands behave like
+% their non-"small" counterpart described above,
+% see their description for more information.
+% \end{function}
+%
+% \medskip\noindent
+% \textbf{Example:}
+% \begin{quote}
+% \begin{verbatim}
+% An inline version of a diagonal matrix looks like this
+% \(\smalldiagmat{1,1}\).
+% \end{verbatim}
+% An inline version of a diagonal matrix looks like this
+% \(\smalldiagmat{1,1}\).
+% \end{quote}
+%
+% \begin{function}{
+% \psmalldiagmat,
+% \bsmalldiagmat,
+% \Bsmalldiagmat,
+% \vsmalldiagmat,
+% \Vsmalldiagmat,
+% }
+% \begin{syntax}
+% \cs{psmalldiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{bsmalldiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Bsmalldiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{vsmalldiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Vsmalldiagmat} \oarg{kv opts} \marg{diagonal}
+% \end{syntax}
+% Like the \cs[no-index]{\meta{delim}diagmat} commands described above
+% there are also shorthand commands for producing an inline math version
+% of a diagonal matrix with pre-set delimiters.
+% \end{function}
+%
+% \medbreak\noindent
+% \textbf{Example:}
+% \begin{quote}
+% \begin{verbatim}
+% An inline math delimited diagonal matrix looks like this
+% \(\psmalldiagmat{1,1}\).
+% \end{verbatim}
+% An inline math delimited diagonal matrix looks like this
+% \(\psmalldiagmat{1,1}\).
+% \end{quote}
+%
+% \begin{function}{
+% \psmallantidiagmat,
+% \bsmallantidiagmat,
+% \Bsmallantidiagmat,
+% \vsmallantidiagmat,
+% \Vsmallantidiagmat,
+% }
+% \begin{syntax}
+% \cs{psmallantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{bsmallantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Bsmallantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{vsmallantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \cs{Vsmallantidiagmat} \oarg{kv opts} \marg{diagonal}
+% \end{syntax}
+% Like the \cs[no-index]{\meta{delim}antidiagmat} commands described above
+% there are also shorthand commands for producing inline math versions
+% of anti-diagonal matrices inside of delimiters.
+% \end{function}
+%
+% \medbreak\noindent
+% \textbf{Example:}
+% \begin{quote}
+% \begin{verbatim}
+% A delimited version of an inline math anti-diagonal matrix
+% looks like this \(\psmallantidiagmat{1,1}\).
+% \end{verbatim}
+% A delimited version of an inline math anti-diagonal matrix
+% looks like this \(\psmallantidiagmat{1,1}\).
+% \end{quote}
+%
+% \subsection{Identity Matrices}
+% \label{sec:id-matrices}
+%
+% As identity matrices are always quadratic,
+% one can further simplify the typesetting of identity matrices to a command,
+% which constructs the identity matrix from the number of dimensions.
+% The commands in this subsection perform this.
+%
+% \begin{function}[added = 2024-07-04]{
+% \idmat,
+% \smallidmat,
+% }
+% \begin{syntax}
+% \cs{idmat} \oarg{kv~opts} \marg{dimension}
+% \cs{smallidmat} \oarg{kv~opts} \marg{dimension}
+% \end{syntax}
+% The \cs{idmat} command produces an identity matrix.
+% The optional argument <kv~opts> accepts any valid \emph{matrix} key-value
+% arguments,
+% which are described in section~\ref{sec:options-matrix}.
+% The mandatory argument <dimension> expects a \emph{positive} integer,
+% which specifies the dimensions of the identity matrix.
+%
+% The \cs{smallidmat} command behaves like the \cs{idmat} command,
+% except it produces a matrix suitable for inline math mode.
+%
+% \begin{texnote}
+% The maximum number of columns is determined by the \TeX{} counter
+% "MaxMatrixCols",
+% which has a default value of 10.
+% See \textcite{amsmath} for more information.
+% \end{texnote}
+% \end{function}
+%
+%
+% \begin{function}[added = 2024-07-04]{
+% \pidmat,
+% \bidmat,
+% \Bidmat,
+% \vidmat,
+% \Vidmat
+% }
+% \begin{syntax}
+% \cs{pidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{bidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{Bidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{vidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{Vidmat} \oarg{kv~opts} \marg{dimension}
+% \end{syntax}
+% Like the \cs[no-index]{\meta{delim}diagmat} commands,
+% the \cs[no-index]{\meta{delim}idmat} commands produce an identity matrix
+% with a pre-set delimiter around the matrix,
+% i.e.\ they behave like \cs{idmat}|[delimiter = |<delim>|]|\marg{dimension}.
+% <delim> can be "p" for parenthesis,
+% "b" for brackets,
+% "B" for braces,
+% "v" for a single vertical line (\enquote{\(\vert\)}),
+% or "V" for a double vertical line (\enquote{\(\Vert\)}).
+%
+% Furthermore these commands accept the same <kv~opts> as the \cs{idmat} command.
+% \end{function}
+%
+% \begin{function}[added = 2024-07-04]{
+% \psmallidmat,
+% \bsmallidmat,
+% \Bsmallidmat,
+% \vsmallidmat,
+% \Vsmallidmat
+% }
+% \begin{syntax}
+% \cs{psmallidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{bsmallidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{Bsmallidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{vsmallidmat} \oarg{kv~opts} \marg{dimension}
+% \cs{Vsmallidmat} \oarg{kv~opts} \marg{dimension}
+% \end{syntax}
+% These commands are provide inline math suitable versions of the
+% \cs[no-index]{\meta{delim}idmat} commands described above.
+% See their description for more information.
+%
+% The commands accept any of the key-value options described in section~\ref{sec:options-matrix}
+% as optional argument <kv~opts>.
+% \end{function}
+%
+% \paragraph{Examples of Use}
+% \begin{enumerate}
+% \item Identity matrix without delimiters:
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \idmat{3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\idmat{3}\]
+% \end{minipage}
+%
+% \item Identity matrices with different delimiters:
+%
+% \begin{verbatim}
+% \[
+% \pidmat{3}\text{,}\quad \bidmat{3}\text{,}\quad
+% \Bidmat{3}\text{,}\quad \vidmat{3}\text{,}\quad
+% \Vidmat{3}
+% \]
+% \end{verbatim}
+% \[
+% \pidmat{3}\text{,}\quad
+% \bidmat{3}\text{,}\quad
+% \Bidmat{3}\text{,}\quad
+% \vidmat{3}\text{,}\quad
+% \Vidmat{3}
+% \]
+%
+% \item Inline math versions of identity matrices with delimiters:
+%
+% \begin{verbatim}
+% Inline math mode matrices look like this:
+% \(\psmallidmat{2}\), \(\bsmallidmat{2}\), \(\Bsmallidmat{2}\),
+% \(\vsmallidmat{2}\), \(\Vsmallidmat{2}\).
+% \end{verbatim}
+% Inline math mode matrices look like this:
+% \(\psmallidmat{2}\), \(\bsmallidmat{2}\), \(\Bsmallidmat{2}\),
+% \(\vsmallidmat{2}\), \(\Vsmallidmat{2}\).
+%
+% \item Identity matrix using the "fill" option for the non-diagonal elements
+%
+% \begin{minipage}{.49\linewidth}
+% \begin{verbatim}
+% \[
+% \pidmat[fill=\star]{3}
+% \]
+% \end{verbatim}
+% \end{minipage}\hfill
+% \begin{minipage}{.49\linewidth}
+% \[\pidmat[fill=\star]{3}\]
+% \end{minipage}
+% \end{enumerate}
+%
+%
+% \section{Shorthands for Absolute Value and Norm}
+% \label{sec:shorthands}
+%
+% \DescribeOption{no-abs-shorthands}
+% The commands in this section are only declared if the option "no-abs-shorthands"
+% has not been given to the package as a load time option.
+%
+% \begin{function}{
+% \abs,
+% \norm
+% }
+% \begin{syntax}
+% \cs{abs} \oarg{size cmd} \marg{content}
+% \cs{abs}* \marg{content}
+% \cs{norm} \oarg{size cmd} \marg{content}
+% \cs{norm}* \marg{content}
+% \end{syntax}
+% The commands \cs{abs} and \cs{norm}, produce \(\abs{\cdot}\) and
+% \(\norm{\cdot}\) respectively.
+% These commands are simply paired delimiters defined using \pkg{mathtools}'
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter} command,
+% instruction on their usage can therefore be found in~\textcite{mathtools}.
+% \end{function}
+%
+%
+% \section{Vertically Centering Math Along the Math Axis}
+% \label{sec:vcenter}
+%
+% Sometimes it is useful to explicitly center a math symbol along the math axis.
+% A prominent example is the case of |\mathop{\boldsymbol\nabla}\nolimits|
+% vs.\ |\mathop{\nabla}\nolimits|,
+% as displayed below.
+% \[
+% \mathop{\boldsymbol\nabla}\nolimits f(x)
+% \quad \mathop{\nabla}\nolimits f(x)
+% \]
+% Here the bold nabla is slightly higher up than the non-bold version.
+%
+% \begin{function}[added=2024-07-08]{\VCenterMath}
+% \begin{syntax}
+% \cs{VCenterMath} \marg{contents}
+% \end{syntax}
+% \begin{danger}
+% The command \cs{VCenterMath} centers <contents> along the current math axis,
+% while adhering to the current math style.
+% This command is not in a \TeX{}-sense
+% \tn[no-index]{long}, i.e.\ it does not take \tn[no-index]{par} tokens.
+%
+% This command is somewhat dangerous as it utilizes the \tn{vcenter} primitive,
+% which leaves math mode and requires to reenter it.
+% \emph{Use at your own responsibility.}
+% \end{danger}
+% \begin{texnote}
+% This command is a wrapper around \tn{vcenter}, \cs{hbox:n}
+% and \tn{mathpalette}, it reenters math mode inside the hbox.
+% \end{texnote}
+% \end{function}
+%
+% With \cs{VCenterMath} it is possible to fix the above example to:
+% \begin{quote}
+% \begin{verbatim}
+% \[
+% \mathop{\VCenterMath{\boldsymbol\nabla}}\nolimits f(x)
+% \quad \mathop{\nabla}\nolimits f(x)
+% \]
+% \end{verbatim}
+% \[
+% \mathop{\VCenterMath{\boldsymbol\nabla}}\nolimits f(x)
+% \quad \mathop{\nabla}\nolimits f(x)
+% \]
+% \end{quote}
+%
+%
+% \part{Documentation for Class and Package Authors}
+% \label{sec:package-auth-doc}
+%
+% \section{Setting of Options}
+% \label{sec:authors-options}
+%
+% \begin{function}[updated = 2024-07-15]{
+% \moremath_setup:n
+% }
+% \begin{syntax}
+% \cs{moremath_setup:n} \marg{kv opts}
+% \end{syntax}
+% This functions sets the key-value options \meta{kv~opts} in the "moremath" namespace.
+% \end{function}
+%
+% \section{Delimited Operators}
+% \label{sec:authors-delim-op}
+%
+% \begin{function}[updated = 2024-07-15]{
+% \moremath_delim_op_noscale:NNnnn,
+% \moremath_delim_op_autoscale:NNnnn
+% }
+% \begin{syntax}
+% \cs{moremath_delim_op_noscale:NNnnn} \meta{math~op} \meta{delim}
+% \hspace*{2ex} \marg{sup~tl} \marg{sub~tl} \marg{tl}
+% \cs{moremath_delim_op_autoscale:NNnnn} \meta{math op} \meta{delim}
+% \hspace*{2ex} \marg{sup~tl} \marg{sub~tl} \marg{tl}
+% \end{syntax}
+% The two functions \cs{moremath_delim_op_noscale:NNnnn} and \cs{moremath_delim_op_autoscale:NNnnn}
+% provide a version of a delimited operator with no scaling or automatic scaling respectively.
+% The token list arguments \meta{sup~tl} and \meta{sub~tl} take the super- and subscript
+% of the operator respectively. Both of those token lists may be empty.
+%
+% The first argument to the function is a control sequence \meta{math~op},
+% which should be an operator declared with
+% \cs[module=amsmath,replace=false]{DeclareMathOperator}.
+% The second argument \meta{delim} has to be a control sequence of a paired delimiter,
+% as defined by \pkg{mathtools}'s
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter}.
+%
+% The final argument \meta{tl} is a list of arbitrary token to put inside the delimiters.
+% \end{function}
+%
+% \begin{function}[updated=2024-07-15]{
+% \moremath_delim_op_manuscale:NNnnnn,
+% \moremath_delim_op_manuscale:NNVnnn
+% }
+% \begin{syntax}
+% \cs{moremath_delim_op_manuscale:NNnnnn} \meta{math op} \meta{delim} \marg{scale cmd}
+% \hspace*{2ex} \marg{sup} \marg{sub} \marg{tl}
+% \end{syntax}
+% The function \cs{moremath_delim_op_manuscale:NNnnnn} typesets a math operator with
+% manual scaling of its delimiters.
+% Its arguments are identical to \cs{moremath_delim_op_noscale:NNnnn}
+% except for the argument \meta{scale~cmd} which has to be a token list containing
+% a \meta{size~cmd} that can be understood by \pkg{mathtools},
+% usually \cs{big}, \cs{Big}, \cs{bigg} and \cs{Bigg}.
+% \end{function}
+%
+% \begin{function}[updated=2024-07-15]{
+% \moremath_new_delim_op_command:NNN,
+% \moremath_new_delim_op_command:cNN,
+% }
+% \begin{syntax}
+% \cs{moremath_new_delim_op_command:NNN} \meta{new~csname} \meta{operator} \meta{delim}
+% \end{syntax}
+% The function \cs{moremath_new_delim_op_command:NNN} defines a new document level command
+% called \meta{new~csname}, utilizing the operator \meta{operator} and the delimiter \meta{delim}.
+%
+% \meta{operator} has to be a control sequence referring to an operator,
+% as declared by \cs{DeclareMathOperator}.
+%
+% \meta{delim} has to be a paired delimiter as defined by \pkg{mathtools}'
+% \cs{DeclarePairedDelimiter}.
+% \end{function}
+%
+% \section{Vector Calculus Typesetting}
+% \label{sec:authors-vec-calc}
+%
+% \subsection{Functions Producing Standalone Operators with Subscripts}
+% \label{sec:authors-vec-calc-operators}
+%
+% \begin{function}[updated=2024-07-15]{
+% \moremath_gradient_operator:n,
+% \moremath_divergence_operator:n,
+% \moremath_curl_operator:n,
+% \moremath_laplace_operator:n,
+% \moremath_dalembert_operator:n
+% }
+% \begin{syntax}
+% \cs{moremath_gradient_operator:n} \marg{subscript}
+% \cs{moremath_divergence_operator:n} \marg{subscript}
+% \cs{moremath_curl_operator:n} \marg{subscript}
+% \cs{moremath_laplace_operator:n} \marg{subscript}
+% \cs{moremath_dalembert_operator:n} \marg{subscript}
+% \end{syntax}
+% Each of these functions return a vector calculus operator,
+% with an (optional) subscript.
+% The argument \meta{subscript}, a token list, may be empty,
+% in which case no subscript is produced.
+%
+% The actual operator produced depends on the current settings
+% of the key-value options described in section~\ref{sec:pack-opts}
+% inside the current group.
+% \end{function}
+%
+% \subsection{Functions Producing Operators with Delimiters}
+% \label{sec:authors-vec-calc-delim-ops}
+%
+% \begin{function}[updated=2024-07-15]{
+% \moremath_delim_nabla_op_noscale:NNnn,
+% \moremath_delim_nabla_op_autoscale:NNnn,
+% }
+% \begin{syntax}
+% \cs{moremath_delim_nabla_op_noscale:NNnn} \meta{operator} \meta{delim}
+% \hspace*{2ex} \marg{sub} \marg{contents}
+%
+% \cs{moremath_delim_nabla_op_autoscale:NNnn} \meta{operator} \meta{delim}
+% \hspace*{2ex} \marg{sub} \marg{contents}
+% \end{syntax}
+% The usage of these functions is similar to the functions
+% \cs{moremath_delim_op_noscale:NNnnn} and \cs{moremath_delim_op_autoscale:NNnnn}
+% except for the missing superscript.
+%
+% The first argument \meta{operator} has to be a function which accepts one argument
+% (the subscript).
+% This is usually one of the \cs[no-index]{moremath_\meta{op}_operator:n} commands.
+%
+% The argument \meta{sub}, which may be empty,
+% is a token list to pass as the subscript to
+% \cs[no-index]{moremath_\meta{op}_operator:n}.
+%
+% The last argument \meta{contents} is a token list to put inside the delimiters.
+%
+% \end{function}
+%
+% \begin{function}[updated=2024-07-15]{
+% \moremath_delim_nabla_op_manuscale:NNnnn,
+% \moremath_delim_nabla_op_manuscale:NNVnn,
+% }
+% \begin{syntax}
+% \cs{moremath_delim_nabla_op_manuscale:NNnnn} \meta{operator} \meta{delim}
+% \hspace*{2ex} \marg{scale~cmd} \marg{sub} \marg{contents}
+% \end{syntax}
+% The usage of this function is similar to the above functions
+% except for the additional argument \meta{scale~cmd} which is a token list
+% with a \meta{size~cmd} that should be understood by \pkg{mathtools}
+% (e.g.\ \cs{big}, \cs{Big}, etc.).
+% \end{function}
+%
+% \section{Formatting Matrices and Vectors}
+% \label{sec:authors-matrix}
+%
+% \begin{function}[
+% updated=2024-07-15,
+% updated=2024-08-20,
+% ]{
+% \moremath_column_vector:nn,
+% \moremath_column_vector:Vn,
+% \moremath_row_vector:nn,
+% \moremath_row_vector:Vn,
+% \moremath_column_smallvector:nn,
+% \moremath_column_smallvector:Vn,
+% \moremath_row_smallvector:nn,
+% \moremath_row_smallvector:Vn,
+% }
+% \begin{syntax}
+% \cs{moremath_column_vector:nn} \marg{delim spec tl} \marg{clist}
+% \cs{moremath_row_vector:nn} \marg{delim spec tl} \marg{clist}
+% \cs{moremath_column_smallvector:nn} \marg{delim spec tl} \marg{clist}
+% \cs{moremath_row_smallvector:nn} \marg{delim spec tl} \marg{clist}
+% \end{syntax}
+% These functions produce a column or row vector.
+% The "small"\meta{c~or~r}"vector" versions are intended for inline math mode.
+%
+% The first argument \meta{delim spec tl} should be the specification of
+% a delimiter, as used in the naming of the \env{matrix*} environments
+% by \pkg{mathtools}.
+%
+% The second argument \meta{clist}, is a comma-separated list of entries
+% of the vector.
+%
+% Of this commands the "c" versions produce column vectors, the "r" versions
+% produce row vectors.
+%
+% The alignment of the entries inside the vector depends on the current
+% value of the key "align".
+% \end{function}
+%
+% \begin{function}[
+% updated = 2024-07-04,
+% updated=2024-07-15,
+% updated=2024-08-20,
+% ]{
+% \moremath_diagonal_matrix:nn,
+% \moremath_diagonal_matrix:nV,
+% \moremath_diagonal_matrix:Vn,
+% \moremath_diagonal_matrix:VV,
+% \moremath_antidiagonal_matrix:nn,
+% \moremath_antidiagonal_matrix:nV,
+% \moremath_antidiagonal_matrix:Vn,
+% \moremath_antidiagonal_matrix:VV,
+% \moremath_diagonal_smallmatrix:nn,
+% \moremath_diagonal_smallmatrix:nV,
+% \moremath_diagonal_smallmatrix:Vn,
+% \moremath_diagonal_smallmatrix:VV,
+% \moremath_antidiagonal_smallmatrix:nn,
+% \moremath_antidiagonal_smallmatrix:nV,
+% \moremath_antidiagonal_smallmatrix:Vn,
+% \moremath_antidiagonal_smallmatrix:VV,
+% }
+% \begin{syntax}
+% \cs{moremath_diagonal_matrix:nn} \marg{delim tl} \marg{clist}
+% \cs{moremath_antidiagonal_matrix:nn} \marg{delim tl} \marg{clist}
+% \cs{moremath_diagonal_smallmatrix:nn} \marg{delim tl} \marg{clist}
+% \cs{moremath_antidiagonal_smallmatrix:nn} \marg{delim tl} \marg{clist}
+% \end{syntax}
+% These functions produce (anti-)diagonal matrices.
+% The argument \meta{delim~tl} is a token list,
+% intended to specify the delimiter of the matrix or no delimiter if the
+% <tl> is empty no delimiters are produced.
+%
+% The argument <clist> is a list of comma separated values which specify the
+% entries of the diagonal.
+% Other properties of the matrix to produce like alignment ("align")
+% and the tokens to insert for non-diagonal entries ("fill")
+% depend on the current setting of the keys described in section~\ref{sec:options-matrix}.
+%
+% The "smallmatrix" versions are intended for use in inline math mode.
+% \end{function}
+%
+% \begin{function}[
+% added = 2024-07-04,
+% updated=2024-07-15,
+% ]{
+% \moremath_id_matrix:n,
+% \moremath_id_matrix:V,
+% \moremath_id_smallmatrix:n,
+% \moremath_id_smallmatrix:V,
+% }
+% \begin{syntax}
+% \cs{moremath_id_matrix:n} \marg{dimensions}
+% \cs{moremath_id_smallmatrix:n} \marg{dimensions}
+% \end{syntax}
+% These functions produce a identity matrix with <dimensions> rows and columns.
+% <dimensions> is expected to be a \emph{positive} integer.
+% The "smallmatrix" version utilizes \pkg{mathtools}' \env{smallmatrix*} environment,
+% which makes it suitable for inline math mode.
+%
+% The delimiter around the matrix is determined by the current value of the key
+% "matrix / delimiter" inside the current group.
+%
+% As these functions utilize \cs{moremath_diagonal_matrix:VV} or
+% \cs{moremath_diagonal_smallmatrix:VV} and make use of temporary variables
+% it is advised to put them into their own group,
+% i.e.\ surround them by \cs{group_begin:} and \cs{group_end:}.
+% \end{function}
+%
+% \section{Vertically Centering Math Along the Math Axis}
+% \label{sec:autors-vcenter}
+%
+% As already said in section~\ref{sec:vcenter} sometimes it is needed to
+% explicitly center some math code.
+%
+% \begin{function}[
+% added=2024-07-08,
+% updated=2024-07-15,
+% updated=2024-08-20,
+% ]{
+% \moremath_vcenter:n,
+% }
+% \begin{syntax}
+% \cs{moremath_vcenter:n} \marg{contents}
+% \end{syntax}
+% The function \cs{moremath_vcenter:n} places <contents> inside a "hbox",
+% which is centered along the math axis by \tn{vcenter}.
+% The contents inside the "hbox" are set in math mode.
+% The function also applies the \enquote{outer} math style
+% to the contents of the "hbox".
+%
+% This function is not \tn[no-index]{long},
+% as it sets its contents inside a "hbox".
+%
+% \begin{texnote}
+% This function is a wrapper around \tn{vcenter}, \cs{hbox:n},
+% and \tn{mathpalette}.
+% Inside the "hbox" math mode is reentered.
+% \end{texnote}
+% \end{function}
+%
+% \end{documentation}
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+% \begin{implementation}
+% \part{Implementation}
+% \label{pt:implementation}
+% Start the \pkg{DocStrip} guards.
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% Set the internal prefix for this package so that \pkg{DocStrip} knows what to
+% do.
+% \begin{macrocode}
+%<@@=moremath>
+% \end{macrocode}
+%
+% \section{Initial Setup}
+%
+% First set the required version of \LaTeX{},
+% we need at least
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[2022-11-01]
+% \end{macrocode}
+% for key-value option handling, \pkg{xparse}-like document commands
+% (especially for using the "=" option specification)
+% and hooks.
+%
+% Afterwards we provide rollback information,
+% for the \pkg{latexrelease} rollback mechanism.
+% (See \textcite{package-rollback} for more information.)
+%
+% For the v0.x.x versions I've decided on using the date of the first release
+% that was uploaded to CTAN\@.
+% \begin{macrocode}
+\DeclareCurrentRelease{v0}{2024-07-15}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Add information for \LaTeX{}'s package rollback mechanism.
+% }
+%
+% Then identify this package as \pkg{moremath}.
+% \begin{macrocode}
+\ProvidesExplPackage{moremath}
+ {2024-08-20}{v0.5.0}{More Math Macros}
+% \end{macrocode}
+%
+% ^^X Debugging switch
+% \iffalse
+% \debug_on:n {all}
+% \fi
+% \section{Key-value interfaces}
+% \label{sec:key-val}
+% To make use of key-value interfaces we need to define a few keys.
+%
+% \subsection{Package load time options}
+% \label{sec:load-time-options}
+%
+% To allow for the conditional definition of macros at load time
+% we define a few keys.
+%
+% But before doing so we define a few messages to write the package options to
+% the log file.
+% One message to issue if the \texttt{bm} option has been given:
+% \begin{macrocode}
+\msg_new:nnn { moremath } {load / bm}
+{
+ Option~'bm'~given.\\
+ Loading~the~bm~package~\msg_line_context:.
+}
+% \end{macrocode}
+% And a more generic message to issue for the other options,
+% which all disable certain parts of the library.
+% \begin{macrocode}
+\msg_new:nnn {moremath} { load / disabling }
+{
+ Option~'#1'~given.\\
+ Disabling~#2~\msg_line_context:.
+}
+% \end{macrocode}
+%
+% \begin{variable}{
+% \l_@@_predef_vector_op_bool,
+% \l_@@_predef_operators_bool,
+% \l_@@_predef_crvector_bool,
+% \l_@@_predef_matrix_bool,
+% \l_@@_predef_abs_bool,
+% }
+% To store the values of several switch type key-value options
+% we declare several boolean variables.
+% \begin{macrocode}
+\bool_new:N \l_@@_predef_vector_op_bool
+\bool_new:N \l_@@_predef_operators_bool
+\bool_new:N \l_@@_predef_crvector_bool
+\bool_new:N \l_@@_predef_matrix_bool
+\bool_new:N \l_@@_predef_abs_bool
+% \end{macrocode}
+%
+% The variables \cs{l_@@_predef_vector_op_bool}, \cs{l_@@_predef_operators_bool}
+% \cs{l_@@_predef_abs_bool}, \cs{l_@@_predef_matrix_bool}
+% and \cs{l_@@_predef_crvector_bool}
+% control if the predefined macros
+% for vector calculus, delimited operators, the matrix shorthands,
+% the row and column vectors,
+% and the shorthands for absolute value
+% and norm shall be defined.
+%
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{
+% Explicitly declared boolean variables used to store key-value options.
+% }
+% \end{variable}
+%
+% \begin{optionenv}{
+% bm,
+% no-vector,
+% no-operators,
+% no-abs-shorthands,
+% no-matrix,
+% no-crvector,
+% nopredef,
+% }
+% Now we define package load time keys:
+% \begin{macrocode}
+\keys_define:nn { moremath / load }
+{
+% \end{macrocode}
+% We provide an option to conditionally load the \pkg{bm}-package~\autocite{bm}
+% to provide better looking bold symbols.
+% \begin{macrocode}
+ bm .code:n = {
+ \msg_info:nn {moremath} {load / bm}
+ \RequirePackage{bm}
+ },
+ bm .value_forbidden:n = true,
+ bm. usage:n = load,
+% \end{macrocode}
+% Then we define options for en-/disabling predefined macros of this package
+% to avoid name clashes.
+% \begin{macrocode}
+ no-vector .bool_set_inverse:N = \l_@@_predef_vector_op_bool,
+ no-vector .default:n = true,
+ no-vector .initial:n = false,
+ no-vector .usage:n = load,
+ no-operators .bool_set_inverse:N = \l_@@_predef_operators_bool,
+ no-operators .default:n = true,
+ no-operators .initial:n = false,
+ no-operators .usage:n = load,
+ no-abs-shorthands .bool_set_inverse:N = \l_@@_predef_abs_bool,
+ no-abs-shorthands .default:n = true,
+ no-abs-shorthands .initial:n = false,
+ no-abs-shorthands .usage:n = load,
+ no-matrix .bool_set_inverse:N = \l_@@_predef_matrix_bool,
+ no-matrix .initial:n = false,
+ no-matrix .default:n = true,
+ no-matrix .usage:n =load,
+ no-crvector .bool_set_inverse:N = \l_@@_predef_crvector_bool,
+ no-crvector .default:n = true,
+ no-crvector .initial:n = false,
+ no-crvector .usage:n = load,
+ nopredef .multichoice:,
+ nopredef / operators .meta:nn = { moremath / load }
+ {
+ no-operators = true
+ },
+ nopredef / vector .meta:nn = { moremath / load }
+ {
+ no-vector = true
+ },
+ nopredef / abs .meta:nn = { moremath / load }
+ {
+ no-abs-shorthands = true,
+ },
+ noperdef / matrix .meta:nn = { moremath / load }
+ {
+ no-matrix = true,
+ },
+ nopredef / crvector .meta:nn = {moremath / load}
+ {
+ no-crvector = true,
+ },
+ nopredef / all .meta:nn = { moremath / load }
+ {
+ no-operators = true,
+ no-vector = true,
+ no-abs-shorthands = true
+ },
+ nopredef .usage:n = load,
+% \end{macrocode}
+% Unknown package options get passed to \pkg{mathtools}.
+% \begin{macrocode}
+ unknown .code:n = {\PassOptionsToPackage{\CurrentOption}{mathtools}},
+ unknown .usage:n = load,
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added package load-time options.
+% }
+% \end{optionenv}
+%
+%
+% \subsection{Keys controlling appearance}
+% \label{sec:keys-appearance}
+%
+% \begin{variable}{
+% \l_@@_nabla_tl,
+% \l_@@_nabla_arrow_bool,
+% \l_@@_nabla_arrow_bold_bool,
+% \l_@@_grad_op_tl,
+% \l_@@_laplacian_symb_tl,
+% \l_@@_laplacian_delta_bool,
+% \l_@@_laplacian_arrow_bool,
+% \l_@@_laplacian_tl,
+% \l_@@_dalembert_symb_tl,
+% }
+% We declare several variables to store the values of the keys affecting
+% appearance.
+% \begin{macrocode}
+\tl_new:N \l_@@_nabla_tl
+\bool_new:N \l_@@_nabla_arrow_bool
+\bool_new:N \l_@@_nabla_arrow_bold_bool
+\tl_new:N \l_@@_grad_op_tl
+% \end{macrocode}
+%
+% The symbol to use as \enquote{nabla} is stored in \cs{l_@@_nabla_tl}.
+% The variables \cs{l_@@_nabla_arrow_bool} and \cs{l_@@_nabla_bold_bool}
+% determine if the nabla-symbol shall have an arrow over itself and/or be bold
+% respectively.
+%
+% The variable \cs{l_@@_grad_op_tl} contains a user provided token list to
+% overwrite the built-in gradient operator of the package.
+%
+% \begin{macrocode}
+\tl_new:N \l_@@_laplacian_symb_tl
+\bool_new:N \l_@@_laplacian_delta_bool
+\bool_new:N \l_@@_laplacian_arrow_bool
+\tl_new:N \l_@@_laplacian_tl
+% \end{macrocode}
+% The token list variable \cs{l_@@_laplacian_symb_tl} stores the tokens to be
+% used for the Laplace operator.
+% The boolean variable \cs{l_@@_laplacian_delta_bool}
+% determines if a delta should be used instead
+% of \(\laplacian\) for the laplacian symbol.
+% If the boolean variable \cs{l_@@_laplacian_arrow_bool} a small arrow will be
+% placed over the Laplace operator symbol.
+% If the user wants to overwrite the symbol used for the Laplacian,
+% the user provided list of tokens is stored in the variable
+% \cs{l_@@_laplacian_tl}.
+%
+% Finally we define a variable to hold the symbol to use for the
+% \foreignlanguage{french}{d'Alembert} operator.
+% \begin{macrocode}
+\tl_new:N \l_@@_dalembert_symb_tl
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Explicitly declared variables before using them to set keys.
+% }
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added: New variable \cs{l_@@_dalembert_symb_tl}
+% }
+% \end{variable}
+%
+% \begin{variable}{
+% \l_@@_vcenter_bool,
+% }
+% Additionally we declare a variable to decide if certain math symbols
+% shall be centered explicitly along the math axis.
+% \begin{macrocode}
+\bool_new:N \l_@@_vcenter_bool
+% \end{macrocode}
+% If \cs{l_@@_vcenter_bool} is true, the symbols of certain math operators,
+% should be centered explicitly.
+% \end{variable}
+%
+% \begin{optionenv}{
+% nabla,
+% arrownabla,
+% boldnabla,
+% grad-op,
+% laplacian-symb,
+% delta-laplace,
+% arrowlaplace,
+% laplacian,
+% dalembert-symb,
+% }
+% First define keys for the vector calculus macros.
+% \begin{macrocode}
+\keys_define:nn { moremath }
+{
+% \end{macrocode}
+% First we define keys for use with the gradient and gradient based operators.
+% \begin{macrocode}
+ % Symbol to use for the nabla
+ nabla .tl_set:N = \l_@@_nabla_tl,
+ nabla .initial:n = {\nabla},
+ nabla .value_required:n = true,
+ % shall the nabla have an arrow over it
+ arrownabla .bool_set:N = \l_@@_nabla_arrow_bool,
+ arrownabla .default:n = {true},
+ arrownabla .initial:n = {false},
+ % shall the nabla be bold
+ boldnabla .bool_set:N = \l_@@_nabla_bold_bool,
+ boldnabla .default:n = {true},
+ boldnabla .initial:n = {false},
+% \end{macrocode}
+% We also provide an override for the gradient operator
+% \begin{macrocode}
+ % Symbol to use for the gradient operator
+ grad-op .tl_set:N = \l_@@_grad_op_tl,
+ grad-op .value_required:n = true,
+% \end{macrocode}
+%
+% Then we define keys for the laplacian.
+% \begin{macrocode}
+ % Symbol to use for the laplacian
+ laplacian-symb .tl_set:N = \l_@@_laplacian_symb_tl,
+ laplacian-symb .initial:n = {\l_@@_nabla_tl},
+ % shall the Laplace operator be a delta
+ delta-laplace .bool_set:N = \l_@@_laplacian_delta_bool,
+ delta-laplace .initial:n = {false},
+ % shall the laplace operator have an arrow over itself
+ arrowlaplace .bool_set:N = \l_@@_laplacian_arrow_bool,
+ arrowlaplace .default:n = {true},
+ arrowlaplace .initial:n = {false},
+ % overwrite the laplace operator
+ laplacian .tl_set:N = \l_@@_laplacian_tl,
+ laplacian .value_required:n = true,
+% \end{macrocode}
+% And keys for the \foreignlanguage{french}{d'Alembert} operator.
+% \begin{macrocode}
+ dalembert-symb .tl_set:N = \l_@@_dalembert_symb_tl,
+ dalembert-symb .initial:n = {\square},
+% \end{macrocode}
+% \begin{optionenv}{
+% vcenter,
+% }
+% The "vcenter" option will control the manual centering of certain math
+% operators.
+% \begin{macrocode}
+ vcenter .bool_set:N = \l_@@_vcenter_bool,
+ vcenter .initial:n = true,
+ vcenter .value_required:n = true,
+}% \keys_define:nn
+% \end{macrocode}
+% \changes{v0.3.0}{\GetVersionDate{v0.3.0}}{
+% Added new option.
+% }
+% \end{optionenv} ^^X vcenter
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added options controlling appearance.
+% }
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added: New option "dalembert-symb".
+% }
+% \end{optionenv}
+%
+% \begin{optionenv}{
+% delimiter,
+% fill,
+% align
+% }
+% Then we define some keys for the matrix based environments:
+% \begin{macrocode}
+\keys_define:nn { moremath / matrix }
+{
+% \end{macrocode}
+% \begin{variable}{
+% \l_@@_matrix_delim_tl,
+% \l_@@_matrix_fill_tl,
+% \l_@@_matrix_align_tl,
+% }
+% Every one of the following keys stores its value inside a token list variable.
+% \begin{macrocode}
+ delimiter .tl_set:N = \l_@@_matrix_delim_tl,
+ delimiter .initial:n = {},
+ fill .tl_set:N = \l_@@_matrix_fill_tl,
+ fill .initial:n = {},
+ align .tl_set:N = \l_@@_matrix_align_tl,
+ align .initial:n = {c},
+ align .value_required:n = true,
+}
+% \end{macrocode}
+% The keys \verb|delimiter| and \verb|fill| set the variables
+% \cs{l_@@_matrix_delim_tl} and \cs{l_@@_matrix_fill_tl} respectively.
+% \cs{l_@@_matrix_delim_tl} determines the delimiter in use to surround
+% matrices and \cs{l_@@_matrix_fill_tl} determines the fill values of the
+% \cs{diag}, \cs{smalldiag}, \cs[no-index]{Xdiag} and \cs[no-index]{Xsmalldiag}
+% commands, which are used for non-diagonal matrix entries.
+% The variable \cs{l_@@_matrix_align_tl} contains the alignment specifier
+% for use with the \env{matrix*} environment.
+%
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added internal variables.
+% }
+% \end{variable}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added options for the matrix-based environments of \pkg{mathtools}.
+% }
+% \end{optionenv}
+%
+% \subsection{Functions for Setting Options}
+% \label{sec:option-setters}
+%
+%
+% Now we define a function for setting the options within the document
+% \begin{macro}{\moremath_setup:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \moremath_setup:n
+{
+ \keys_set:nn {moremath} {#1}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added function for setting options.
+% }
+% \end{macro}
+%
+% Additionally we provide the user with a version of this command.
+% \begin{macro}{\moremathsetup}
+% \begin{macrocode}
+\NewDocumentCommand \moremathsetup {m}
+{
+ \moremath_setup:n {#1}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added document command for setting package options.
+% }
+% \end{macro}
+% We also need a function for setting the package load time options.
+% This function should set all given values for all key families
+% and pass unknown options to mathtools.
+% \begin{macro}{\@@_load_time_setup:}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_load_time_setup:
+{
+ \ProcessKeyOptions[ moremath / load ]
+}
+% \end{macrocode}
+% \end{macro}
+%
+% ^^X SUBSECTION: Package Initialization
+% \section{Package Initialization}
+% \label{sec:init}
+%
+% We now \enquote{initialize} the package by processing the package options,
+% all unknown options are passed to \pkg{mathtools}~\autocite{mathtools},
+% which is loaded afterwards.
+% Because certain \pkg{mathtools}-features are needed by this package,
+% we need to require a version of at least 2004/06/05.
+% As explained in section~\ref{sec:load-time-options} this may also load \pkg{bm}
+% if the \verb|bm| package option has been given.
+% \begin{macrocode}
+\@@_load_time_setup:
+% \end{macrocode}
+% If the "no-vector" option has not been given during load time,
+% we also need the \pkg{amssymb} package~\autocite{amsfonts} for the
+% \cs[module=amssymb,replace=false]{square} command.
+% We first define a message to inform the user about this.
+% \begin{macrocode}
+\msg_new:nnn { moremath } { load / loading-amssymb }
+{
+ Vector~calculus~commands~enabled.\\
+ Loading~amssymb~package~\msg_line_context:.
+}
+% \end{macrocode}
+% Then we conditionally load the package.
+% \begin{macrocode}
+\bool_if:NT \l_@@_predef_vector_op_bool
+{
+ \msg_info:nn { moremath } { load / loading-amssymb }
+ \RequirePackage{amssymb}
+}
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{
+% New: Load \pkg{amssymb} if the "no-vector" option has \emph{not} been given.
+% }
+%
+% Finally we load our most important dependency \pkg{mathtools}.
+% \begin{macrocode}
+\RequirePackage{mathtools}[2004/06/05]
+% \end{macrocode}
+%
+%
+% \section{Abstractions for \TeX{}-primitives and \LaTeXe{}-commands}
+% \label{sec:impl-abstractions}
+%
+% As this package makes use of certain \TeX{}-primitives and \LaTeXe{}-commands,
+% which are either part of the \LaTeX{}-kernel or of some package.
+% It is sensible to provide a (package internal) abstraction for those commands,
+% so that they can be switched out once a \LaTeX3{}-command has been defined for them.
+%
+% \subsection{\TeX{}-primitives}
+% \label{sec:impl-tex-abstractions}
+%
+% \begin{macro}[added=2024-08-20]{
+% \@@_tex_vcenter:n,
+% }
+% \cs{@@_tex_vcenter:n} is an abstraction for \cs{tex_vcenter:D}
+% i.e.\ \tn{vcenter}.
+% Its single argument is passed to \cs{tex_vcenter:D}.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_tex_vcenter:n
+{
+ \tex_vcenter:D {#1}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[added=2024-08-20]{
+% \@@_tex_mathpalette:Nn,
+% }
+% The function \cs{@@_tex_mathpalette:Nn} is an abstraction for the \tn{mathpalette},
+% primitive.
+% The function takes two arguments
+% \begin{arguments}
+% \item The \meta{csname} of the macro to pass to \tn{mathpalette}
+%
+% This macro \textbf{must} accept \textbf{two} arguments:
+% The first is a single token containing the current math-style,
+% the second is the contents to \enquote{typeset}.
+% See \url{https://tex.stackexchange.com/questions/34393/the-mysteries-of-mathpalette/34412#34412}
+% for further information.
+%
+% \item The \meta{tokens} to forward to the macro passed as first argument.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_tex_mathpalette:Nn
+{
+ \mathpalette #1 {#2}
+}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Added new function.
+% }
+% \end{macro}
+%
+% \begin{macro}[added=2024-08-20]{
+% \@@_tex_mathsurround:n
+% }
+% The function \cs{@@_tex_mathsurround:n} provides (hopefully) a correct abstraction
+% for the \tn{mathsurround} primitive.
+% It takes one argument
+% \begin{arguments}
+% \item A \meta{length~expr} for the whitespace surrounding a math switch.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_tex_mathsurround:n
+{
+ \tex_mathsurround:D = #1
+}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Added new function.
+% }
+% \end{macro}
+%
+% \begin{macro}[added=2024-08-20]{
+% \@@_tex_mathop:n
+% }
+% The function \cs{@@_tex_mathop:n} provides an abstraction for the \tn{mathop}
+% \TeX{}-primitive.
+% It accepts a single argument:
+% \begin{arguments}
+% \item \meta{Tokens} to treat as a math operator.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_tex_mathop:n
+{
+ \tex_mathop:D {#1}
+}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Added new function.
+% }
+% \end{macro}
+%
+%
+% \subsection{\LaTeXe{}-commands}
+% \label{sec:impl-latex-abstractions}
+%
+% \begin{macro}[EXP,added=2024-08-20]{
+% \@@_matrix_star_begin:nn,
+% \@@_matrix_star_begin:nV,
+% \@@_matrix_star_begin:Vn,
+% \@@_matrix_star_begin:VV,
+% \@@_matrix_star_end:n,
+% \@@_matrix_star_end:V,
+% }
+% The functions \cs{@@_matrix_star_begin:nn} and \cs{@@_matrix_star_end:n}
+% provide an abstraction to the \env{matrix*} family of environments provided
+% by \pkg{mathtools}.
+% \NB{MI}{These functions need to be expandable,
+% as they produce an empty line otherwise.}
+%
+% \cs{@@_matrix_star_begin:nn} takes two arguments:
+% \begin{arguments}
+% \item A \meta{tl} determining the type of the matrix.
+%
+% This is used to further specify which "matrix*" environment to use.
+%
+% The \meta{tl} may be empty.
+%
+% \item A \meta{tl} specifying the column type.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_nopar:Nn \@@_matrix_star_begin:nn
+{
+ \begin{ #1 matrix* } [ #2 ]
+}
+% \end{macrocode}
+% We also create "nV", "Vn", and "VV" variants of this function:
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_matrix_star_begin:nn { nV, Vn, VV }
+% \end{macrocode}
+%
+% The function \cs{@@_matrix_star_end:n} takes only one argument
+% \begin{arguments}
+% \item The \meta{tl} determining the type of the \env{matrix*} environment.
+%
+% The \meta{tl} \textbf{must} have the same value as used for
+% \cs{@@_matrix_star_begin:nn}.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_nopar:Nn \@@_matrix_star_end:n
+{
+ \end{ #1 matrix* }
+}
+% \end{macrocode}
+% We also provide a "V" type variant of this function.
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_matrix_star_end:n {V}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Added new functions and variants.
+% }
+% \end{macro}
+%
+%
+% \section{Centering Math Symbols Along the Math-Axis}
+% \label{sec:impl-vcenter}
+%
+% Certain math constructs such cause \TeX{}
+% to not center the operator along the math axis,
+% like case of |\mathop{\nabla}\nolimits| vs.\
+% |\mathop{\boldsymbol\nabla}\nolimits|,
+% as can be seen below.
+% \[
+% \mathop{\nabla}\nolimits f(x)
+% \quad \text{vs.} \quad
+% \mathop{\boldsymbol\nabla}\nolimits f(x)
+% \]
+% As can be seen the bold nabla symbol is slightly higher up than the non-bold
+% version.
+% Because of this it is sometimes useful to manually center some math symbols,
+% along the math axis.\footnote{%
+% The code in this section is inspired by
+% \url{http://www.tug.org/TUGboat/Articles/tb22-4/tb72perlS.pdf}
+% }
+%
+% \begin{macro}[added = 2024-07-08, updated=2024-08-20]{
+% \moremath_vcenter:n
+% }
+% The function \cs{moremath_vcenter:n} is a wrapper around the \tn{vcenter}
+% \TeX{} primitive.
+% It takes a single argument.
+% \begin{arguments}
+% \item A \meta{tl} containing math mode material to center along the math axis.
+%
+% This argument is typeset in math mode.
+% \end{arguments}
+% The function uses the \tn{mathpalette} primitive to switch to the right
+% math style.
+% The function is not in a \TeX{}-sense long,
+% i.e.\ it does not take \tn{par} tokens.
+%
+% As this function might be useful not only for internal use by \pkg{moremath},
+% we declare it as a public function here.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_vcenter:n
+{
+ \@@_tex_mathpalette:Nn \@@_vcenter:Nn {#1}
+}
+% \end{macrocode}
+% \changes{v0.3.0}{\GetVersionDate{v0.3.0}}{
+% Added new function.
+% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Changed: Make use of \cs{@@_tex_mathpalette:Nn}.
+% }
+% \end{macro}
+%
+% \begin{macro}[
+% added=2024-07-08,
+% updated=2024-08-20,
+% ]{
+% \@@_vcenter:Nn,
+% }
+% As \tn{mathpalette} needs as its first argument a macro which takes two
+% arguments
+% (the first is a math style switch and the second the contents).\footnote{%
+% See \TeX{}SE answer \url{https://tex.stackexchange.com/a/34412}
+% }
+% We define an internal helper function for \cs{moremath_vcenter:n} for
+% \cs{mathpalette} to call.
+%
+% The function \cs{@@_vcenter:Nn} takes two arguments:
+% \begin{arguments}
+% \item The math style macro, which is passed to this function by
+% \tn{mathpalette}.
+%
+% \item The \meta{tl} to typeset inside the \tn{vcenter}.
+% \end{arguments}
+%
+% Because of the properties of \tn{vcenter}, it switches to vertical mode,
+% we need to put the contents to typeset inside a horizontal box.
+% Because of this we also need to reenter math mode, and because of this
+% we need to remove the spacing inserted by entering math mode
+% by setting \tn{mathsurround} to zero.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_vcenter:Nn
+{
+ \@@_tex_vcenter:n
+ {
+ \hbox:n
+ {
+ $
+ \@@_tex_mathsurround:n {0pt}
+ #1 {#2}
+ $
+ }
+ }
+}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Changed: Now uses \cs{@@_tex_vcenter:n} and \cs{@@_tex_mathsurround:n}
+% instead of \TeX-primitives.
+% }
+% \end{macro}
+%
+%
+% \subsection*{Document Level Command}
+%
+% Although unlikely there might arise the need for a document author to center
+% some math along the math axis.
+% For this purpose we are going to define a new document level command.
+%
+% But first we are going to declare some messages to use by the command.
+% The first message informs the user that the command is not available,
+% because its \meta{csname} is already taken.
+% \begin{macrocode}
+\msg_new:nnn { moremath } { csname-already-defined }
+{
+ Control~sequence~' #1 '~is~already~ defined.\\
+ Skipping~definition~\msg_line_context:
+}
+% \end{macrocode}
+% The second message should be issued if a command that only works in math mode
+% was given outside of it.
+% \begin{macrocode}
+\msg_new:nnnn { moremath } { vcenter / only-in-math-mode }
+{
+ Command~#1~used~outside~math~mode~\msg_line_context:.
+}
+{
+ The~command~#1~may~only~be~used~inside~math~mode.
+}
+% \end{macrocode}
+% \begin{macro}{
+% \VCenterMath,
+% }
+% Now to the document level command for centering math along the math axis.
+% \begin{macrocode}
+\cs_if_free:NTF \VCenterMath
+{
+ \NewDocumentCommand \VCenterMath { m }
+ {
+ \mode_if_math:TF
+ {
+ \moremath_vcenter:n {#1}
+ }{% \mode_if_math:TF FALSE BRANCH
+ \msg_error:nnn { moremath } { vcenter / only-in-math-mode } {\VCenterMath}
+ }
+ }
+}{% \cs_if_free:NTF \VCenterMath FALSE BRANCH
+ \msg_warning:nnn { moremath } { csname-already-defined } {\VCenterMath}
+}
+% \end{macrocode}
+% \changes{v0.3.0}{\GetVersionDate{v0.3.0}}{
+% Added new document level command.
+% }
+% \end{macro}
+%
+%
+% ^^X SECTION: Paired Delimiters
+% \section{Declaring Paired Delimiters for Internal Use}
+% \label{sec:impl-paired-delim}
+%
+% \begin{macro}{
+% \@@_inparent:w,
+% \@@_inbrack:w,
+% \@@_inbrace:w,
+% \@@_in_vert:w,
+% \@@_in_Vert:w
+% }
+% As we are going to use \pkg{mathtools}' \emph{paired delimiters}
+% at several places throughout this package,
+% we define \emph{paired delimiters} for internal use, as functions with weird
+% syntax.
+% \begin{macrocode}
+\DeclarePairedDelimiter{\@@_inparent:w}{\lparen}{\rparen}
+\DeclarePairedDelimiter{\@@_inbrack:w}{\lbrack}{\rbrack}
+\DeclarePairedDelimiter{\@@_inbrace:w}{\lbrace}{\rbrace}
+\DeclarePairedDelimiter{\@@_in_vert:w}{\lvert}{\rvert}
+\DeclarePairedDelimiter{\@@_in_Vert:w}{\lVert}{\rVert}
+% \end{macrocode}
+% \end{macro}
+%
+% ^^X SECTION: Delimited Operators
+% \section{Delimited Operators}
+% \label{sec:impl-delim-op}
+%
+% We need three different functions for providing the delimited operators.
+% But as we share a lot of code between those, we define an additional
+% helper function beforehand.
+% \begin{macro}{
+% \@@_operator:Nnn
+% }
+% The function \cs{@@_operator:Nnn} takes care of the operator part
+% of the new delimiter.
+% It allows the operator to have super- and subscripts.
+% It takes three arugments.
+% \begin{arguments}
+% \item The \meta{csname} of the operator to use.
+% \item A \meta{token list}, which is used as the superscript operator.
+%
+% This argument may be empty
+% \item A \meta{tl}, which is used as the subscript operator.
+%
+% The \meta{tl} may be empty.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_operator:Nnn
+{
+ #1
+ % add superscript if present
+ \tl_if_empty:nF {#2} {^{#2}}
+ % add subscript if present
+ \tl_if_empty:nF {#3} { \c_math_subscript_token {#3} }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% We now define three version of the delimited operators.
+% \begin{macro}{
+% \moremath_delim_op_noscale:NNnnn,
+% \moremath_delim_op_autoscale:NNnnn,
+% }
+% \cs{moremath_delim_op_noscale:NNnnn} is provides a delimited operator without
+% any scaling of the delimiters
+% and \cs{moremath_delim_op_autoscale:NNnnn} provides a version with
+% automatic scaling of the delimiters.
+% Both of them take five arguments:
+% \begin{arguments}
+% \item The \meta{csname} of the operator to use.
+%
+% Any operator declared with \pkg{amsmath}'s \cs{operatorname}
+% and/or\linebreak[3]
+% \cs[module=amsmath,replace=false]{DeclareMathOperator}
+% is valid for this.
+%
+% \item The \meta{csname} of a paired delimiter declared by
+% \pkg{mathtools}'~\autocite{mathtools}
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter}.
+%
+% \item A \meta{tl} to use as the superscript of the operator.
+%
+% \item A \meta{tl} to use as the subscript of the operator.
+%
+% \item A \meta{tl} to insert inside the delimiters.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_delim_op_noscale:NNnnn
+{
+ \@@_operator:Nnn #1 {#3} {#4}
+ % #2 is the paired delimiter
+ #2 {#5}
+}
+
+\cs_new_protected_nopar:Nn \moremath_delim_op_autoscale:NNnnn
+{
+ \@@_operator:Nnn #1 {#3} {#4}
+ % #2 is the paired delimiter
+ #2 * {#5}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added "noscale" and "autoscale" versions.
+% }
+% \end{macro}
+% \begin{macro}{
+% \moremath_delim_op_manuscale:NNnnnn,
+% \moremath_delim_op_manuscale:NNVnnn
+% }
+% \cs{moremath_delim_op_manuscale:NNnnnn} provides a delimited operator with
+% manual scaling.
+% This version takes six arguments:
+% \begin{arguments}
+% \item The \meta{csname} of the operator to use.
+%
+% \item The \meta{csname} of the paired delimiter
+% declared by \pkg{mathtools}'~\autocite{mathtools}\linebreak[3]
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter}.
+%
+% \item A \meta{tl} containing the scaling macro i.e.\ \cs{big}, \cs{Big},
+% \cs{Bigg},\dots
+%
+% \item A \meta{tl} containing the superscript of the operator.
+%
+% The \meta{tl} may be empty
+%
+% \item A \meta{tl} containing the subscript of the operator
+%
+% The \meta{tl} may be empty.
+%
+% \item A \meta{tl} to insert inside the delimiters
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_delim_op_manuscale:NNnnnn
+{
+ \@@_operator:Nnn #1 {#4} {#5}
+ % #2 is the paired delimiter
+ #2 [ #3 ] {#6}
+}
+% \end{macrocode}
+% We also provide a variant for the scaling macro.
+% \begin{macrocode}
+\cs_generate_variant:Nn \moremath_delim_op_manuscale:NNnnnn {NNVnnn}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Function added.
+% }
+% \end{macro}
+%
+% For the creation of document level commands we also create a function,
+% so that the user is also able to declare new delimited operators.
+% But before we do so we create a message to inform the user if a
+% \meta{csname} was already taken.
+% \begin{macrocode}
+\msg_new:nnn { moremath } { delimop / already-defined-skip }
+{
+ Control~sequence~'#1'~is~already~defined.\\
+ Skipping~definition~of~delimited~operator~'#1'~\msg_line_context:.
+}
+% \end{macrocode}
+%
+% We also create a message to inform the user about conflicting options
+% given to the command.
+% \begin{macrocode}
+\msg_new:nnn { moremath } { delimop / auto-manu-scale-conflict }
+{
+ Both~star~and~scale~cmd~given~to~'#1'.\\
+ Automatic~scaling~will~be~preferred,~the~size~command~will~be~
+ ignored~\msg_line_context:.
+}
+% \end{macrocode}
+% \begin{macro}{
+% \moremath_new_delim_op_command:NNN,
+% \moremath_new_delim_op_command:cNN,
+%}
+% \cs{moremath_new_delim_op_command:NNN} takes three arguments:
+% \begin{arguments}
+% \item The \meta{csname} to be defined.
+%
+% \item The \meta{csname} of the operator to use,
+% which should be an operator declared with
+% \cs[module=amsmath,replace=false]{DeclareMathOperator}.
+%
+% \item The \meta{csname} of the delimiter to use,
+% which should have been declared with
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter}.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \moremath_new_delim_op_command:NNN
+{
+ \cs_if_free:NTF #1
+ {
+ \exp_args:NNe \NewDocumentCommand #1
+ { s o E{ ^ \char_generate:nn {`_} {8} }{{}{}} m }
+ {
+ \tl_if_novalue:nTF {##2}
+ {
+ % second argument empty
+ \bool_if:nTF {##1}
+ {
+ % star given
+ \moremath_delim_op_autoscale:NNnnn #2 #3 {##3} {##4} {##5}
+ }{
+ % star not given
+ \moremath_delim_op_noscale:NNnnn #2 #3 {##3} {##4} {##5}
+ }
+ }{
+ % second argument present
+ % star given?
+ \bool_if:nTF {##1}
+ {
+ % Warn if both star and scaling factor are present
+ \msg_warning:nnn { moremath } { delimop / auto-manu-scale-conflict }
+ {#1}
+ \moremath_delim_op_autoscale:NNnnn #2 #3 {##3} {##4} {##5}
+ }{ % FALSE BRANCH
+ \moremath_delim_op_manuscale:NNnnnn #2 #3 {##2} {##3} {##4} {##5}
+ }
+ }
+ }
+ }{ % \cs_if_free:nTF #1 FALSE BRANCH
+ \msg_warning:nnn { moremath } { delimop / already-defined-skip }
+ {#1}
+ }
+}
+
+\cs_generate_variant:Nn \moremath_new_delim_op_command:NNN {cNN}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added function and variant.
+% }
+% \end{macro}
+%
+% \subsection{Document Level Commands}
+% \label{sec:impl-delim-op-doc-cmds}
+%
+% \begin{macro}{\DeclareDelimitedOperator}
+% Finally provide the user with a command to declare an additional
+% delimited operator.
+% \begin{macrocode}
+\NewDocumentCommand\DeclareDelimitedOperator { m m m }
+{
+ \msg_redirect_name:nnn { moremath } { delimop / already-defined-skip } { error }
+ \moremath_new_delim_op_command:NNN #1 #2 #3
+ \msg_redirect_name:nnn { moremath } { delimop / already-defined-skip } {}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{Added document level command.}
+% \end{macro}
+%
+% As \pkg{amsmath}~\autocite{amsmath} pre-defines the following operators
+% it is only sensible to also define delimited versions of them:\\
+% \input{\jobname-ams-op-table.tex}
+%
+% \begin{macro}{\@@_new_delim_op_cmds:nN}
+% \cs{@@_new_delim_op_cmds:nN} creates document level macros of the form
+% \cs[no-index]{\meta{prefix}\meta{op name}}.
+% It declares fife versions \cs[no-index]{p\meta{op name}},
+% \cs[no-index]{b\meta{op name}}, \cs[no-index]{B\meta{op name}},
+% \cs[no-index]{v\meta{op name}} and \cs[no-index]{V\meta{op name}}.
+%
+% The function takes two arguments:
+% \begin{arguments}
+% \item A token list which contains \meta{op name}
+%
+% \item The \meta{csname} of the operator to use.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_new_delim_op_cmds:nN
+{
+ \moremath_new_delim_op_command:cNN {p #1} #2 \@@_inparent:w
+ \moremath_new_delim_op_command:cNN {b #1} #2 \@@_inbrack:w
+ \moremath_new_delim_op_command:cNN {B #1} #2 \@@_inbrace:w
+ \moremath_new_delim_op_command:cNN {v #1} #2 \@@_in_vert:w
+ \moremath_new_delim_op_command:cNN {V #1} #2 \@@_in_Vert:w
+}
+% \end{macrocode}
+% \end{macro}
+%
+% The decision if the following macros are defined depends on a package load
+% time option.
+% \begin{macrocode}
+\bool_if:NTF \l_@@_predef_operators_bool
+{
+% \end{macrocode}
+% We define the commands for the operators already declared by amsmath.
+% \begin{macro}[documented-as=\parccos]{
+% \parccos, \barccos, \Barccos, \varccos, \Varccos,
+% }
+% For \cs[module=amsmath,replace=false]{arccos},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {arccos} \arccos
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added delimited document commands for all \pkg{amsmath}-defined operators.
+% }
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \parcsin, \barcsin, \Barcsin, \varcsin, \Varcsin,
+% }
+% \cs[module=amsmath,replace=false]{arcsin},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {arcsin} \arcsin
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \parctan, \barctan, \Barctan, \varctan, \Varctan,
+% }
+% \cs[module=amsmath,replace=false]{arctan},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {arctan} \arctan
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \Parg, \barg, \Barg, \varg, \Varg,
+% }
+% \cs[module=amsmath,replace=false]{arg}
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {arg} \arg
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pcos, \bcos, \Bcos, \vcos, \Vcos,
+% }
+% \cs[module=amsmath,replace=false]{cos}
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {cos} \cos
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pcosh, \bcosh, \Bcosh, \vcosh, \Vcosh,
+% }
+% \cs[module=amsmath,replace=false]{cosh},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {cosh} \cosh
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pcot, \bcot, \Bcot, \vcot, \Vcot,
+% }
+% \cs[module=amsmath,replace=false]{cot},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {cot} \cot
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pcoth, \bcoth, \Bcoth, \vcoth, \Vcoth,
+% }
+% \cs[module=amsmath,replace=false]{coth},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {coth} \coth
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pcsc, \bcsc, \Bcsc, \vcsc, \Vcsc,
+% }
+% \cs[module=amsmath,replace=false]{csc},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {csc} \csc
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pdeg, \bdeg, \Bdeg, \vdeg, \Vdeg,
+% }
+% \cs[module=amsmath,replace=false]{deg},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {deg} \deg
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pdet, \bdet, \Bdet, \vdet, \Vdet,
+% }
+% \cs[module=amsmath,replace=false]{det},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {det} \det
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pdim, \bdim, \Bdim, \vdim, \Vdim,
+% }
+% \cs[module=amsmath,replace=false]{dim},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {dim} \dim
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pexp, \bexp, \Bexp, \vexp, \Vexp,
+% }
+% \cs[module=amsmath,replace=false]{exp},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {exp} \exp
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pgcd, \bgcd, \Bgcd, \vgcd, \Vgcd,
+% }
+% \cs[module=amsmath,replace=false]{gcd},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {gcd} \gcd
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \phom, \bhom, \Bhom, \vhom, \Vhom,
+% }
+% \cs[module=amsmath,replace=false]{hom},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {hom} \hom
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pinf, \binf, \Binf, \vinf, \Vinf,
+% }
+% \cs[module=amsmath,replace=false]{inf},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {inf} \inf
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pinjlim, \binjlim, \Binjlim, \vinjlim, \Vinjlim,
+% }
+% \cs[module=amsmath,replace=false]{injlim},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {injlim} \injlim
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pker, \bker, \Bker, \vker, \Vker,
+% }
+% \cs[module=amsmath,replace=false]{ker},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {ker} \ker
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \plg, \blg, \Blg, \vlg, \Vlg,
+% }
+% \cs[module=amsmath,replace=false]{lg},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {lg} \lg
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \plim, \blim, \Blim, \vlim, \Vlim,
+% }
+% \cs[module=amsmath,replace=false]{lim},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {lim} \lim
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pliminf, \bliminf, \Bliminf, \vliminf, \Vliminf,
+% }
+% \cs[module=amsmath,replace=false]{liminf},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {liminf} \liminf
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \plimsup, \blimsup, \Blimsup, \vlimsup, \Vlimsup,
+% }
+% \cs[module=amsmath,replace=false]{limsup},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {limsup} \limsup
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pln, \bln, \Bln, \vln, \Vln,
+% }
+% \cs[module=amsmath,replace=false]{ln}
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {ln} \ln
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \plog, \blog, \Blog, \vlog, \Vlog,
+% }
+% \cs[module=amsmath,replace=false]{log},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {log} \log
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pmax, \bmax, \Bmax, \vmax, \Vmax,
+% }
+% \cs[module=amsmath,replace=false]{max},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {max} \max
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pmin, \bmin, \Bmin, \vmin, \Vmin,
+% }
+% \cs[module=amsmath,replace=false]{min},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {min} \min
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pPr, \bPr, \BPr, \vPr, \VPr,
+% }
+% \cs[module=amsmath,replace=false]{Pr},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {Pr} \Pr
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pprojlim, \bprojlim, \Bprojlim, \vprojlim, \Vprojlim,
+% }
+% \cs[module=amsmath,replace=false]{projlim},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {projlim} \projlim
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \psec, \bsec, \Bsec, \vsec, \Vsec,
+% }
+% \cs[module=amsmath,replace=false]{sec},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {sec} \sec
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \psin, \bsin, \Bsin, \vsin, \Vsin,
+% }
+% \cs[module=amsmath,replace=false]{sin},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {sin} \sin
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \psinh, \bsinh, \Bsinh, \vsinh, \Vsinh,
+% }
+% \cs[module=amsmath,replace=false]{sinh},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {sinh} \sinh
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \psup, \bsup, \Bsup, \vsup, \Vsup,
+% }
+% \cs[module=amsmath,replace=false]{sup},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {sup} \sup
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \ptan, \btan, \Btan, \vtan, \Vtan,
+% }
+% \cs[module=amsmath,replace=false]{tan},
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {tan} \tan
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \ptanh, \btanh, \Btanh, \vtanh, \Vtanh
+% }
+% and \cs[module=amsmath,replace=false]{tanh}.
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {tanh} \tanh
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[documented-as=\parccos]{
+% \pvarinjlim, \bvarinjlim, \Bvarinjlim, \vvarinjlim, \Vvarinjlim,
+% \pvarprojlim, \bvarprojlim, \Bvarprojlim, \vvarprojlim, \Vvarprojlim,
+% \pvarliminf, \bvarliminf, \Bvarliminf, \vvarliminf, \Vvarliminf,
+% \pvarlimsup, \bvarlimsup, \Bvarlimsup, \vvarlimsup, \Vvarlimsup,
+% }
+% We also provide delimited versions of \cs[module=amsmath,replace=false]{varinjlim},
+% \cs[module=amsmath,replace=false]{varprojlim},
+% \cs[module=amsmath,replace=false]{varliminf},
+% and \cs[module=amsmath,replace=false]{varlimsup}.
+% \begin{macrocode}
+\@@_new_delim_op_cmds:nN {varinjlim} \varinjlim
+\@@_new_delim_op_cmds:nN {varprojlim} \varprojlim
+\@@_new_delim_op_cmds:nN {varliminf} \varliminf
+\@@_new_delim_op_cmds:nN {varlimsup} \varlimsup
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+}{
+ \msg_info:nnnn {moremath} {load /disabling} {no-operators}
+ {
+ predefined~delimited~operator~macros
+ }
+} % End of the conditional
+% \end{macrocode}
+%
+% ^^X SECTION: Vector Calculus Macros
+% \section{Vector Calculus Macros}
+% \label{sec:vector-calc}
+%
+% For providing macros which help with vector differentials,
+% we first need some setup functions.
+%
+% \subsection{Macros Providing Symbols of Operators}
+% \label{sec:op-symbols}
+%
+% \begin{macro}{
+% \@@_maybe_vcenter:n,
+% }
+% Sometimes a symbol should be centered explicitly,
+% as this will depend on the current setting of "vcenter",
+% i.e.\ the current value of \cs{l_@@_vcenter_bool},
+% we provide a helper function which puts its argument
+% \begin{arguments}
+% \item A list of \meta{tokens}
+% \end{arguments}
+% inside a \tn{vcenter} by means of \cs{moremath_vcenter:n}
+% or not depending on the current value of \cs{l_@@_vcenter_bool}.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_maybe_vcenter:n
+{
+ \bool_if:NTF \l_@@_vcenter_bool
+ {
+ \moremath_vcenter:n {#1}
+ }{
+ #1
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[updated=2024-08-20]{\@@_gradient_operator_get:}
+% This function returns the gradient operator depending on the current setting
+% of the keys.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_gradient_operator_get:
+{
+ \tl_if_empty:NTF \l_@@_grad_op_tl
+ {
+ \@@_tex_mathop:n
+ {
+% \end{macrocode}
+% Otherwise we first need to check if the operator shall have an arrow over it.
+% Afterwards if the nabla shall be bold.
+% \begin{macrocode}
+ \bool_if:NTF \l_@@_nabla_arrow_bool
+ {
+ \vec
+ {
+% \end{macrocode}
+% In case \cs{l_@@_nabla_arrow_bool} is true we should \emph{maybe}
+% center the symbol.
+% \begin{macrocode}
+ \@@_maybe_vcenter:n
+ {
+ \bool_if:NT \l_@@_nabla_bold_bool
+ {
+ \boldsymbol
+ }
+ \l_@@_nabla_tl
+ }
+ }
+ }{
+% \end{macrocode}
+% Like in the case above we should \emph{maybe} center the symbol
+% if \cs{l_@@_nabla_bold_bool} is true.
+% \begin{macrocode}
+ \bool_if:NTF \l_@@_nabla_bold_bool
+ {
+ \@@_maybe_vcenter:n
+ {
+ \boldsymbol
+ \l_@@_nabla_tl
+ }
+ }{
+ \l_@@_nabla_tl
+ }
+ }
+ }% \@@_tex_mathop:n
+ \nolimits
+ }{
+% \end{macrocode}
+% If the user provided its own implementation of the operator,
+% we simply return it.
+% \begin{macrocode}
+ \l_@@_grad_op_tl
+ }
+}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Now uses \cs{@@_tex_mathop:n} instead of \TeX{}-primitives.
+% }
+% \end{macro}
+%
+% \begin{macro}[updated=2024-08-20]{\@@_laplace_operator_get:}
+% Then we define a function for returning the laplace operator symbol,
+% depending on the currently set keys.
+% The function wraps the symbol for the operator inside
+% \tn{mathop} to provide the right spacing.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_laplace_operator_get:
+{
+ \tl_if_empty:NTF \l_@@_laplacian_tl
+ {
+ \@@_tex_mathop:n
+ {
+ \bool_if:NTF \l_@@_laplacian_delta_bool
+ {
+ \Delta
+ }{
+ \bool_if:NTF \l_@@_laplacian_arrow_bool
+ {
+ \vec{
+ \@@_maybe_vcenter:n
+ {
+ \bool_if:NT \l_@@_nabla_bold_bool {\boldsymbol}
+ \l_@@_laplacian_symb_tl
+ }
+ }
+ }{
+ \bool_if:NTF \l_@@_nabla_bold_bool
+ {
+ \@@_maybe_vcenter:n
+ {
+ \boldsymbol
+ \l_@@_laplacian_symb_tl
+ }
+ }{
+ \l_@@_laplacian_symb_tl
+ }
+ }
+ }
+ }\nolimits
+ \bool_if:NF \l_@@_laplacian_delta_bool
+ {
+ \c_math_superscript_token
+ {
+ 2
+ }
+ }
+ }{
+ \l_@@_laplacian_tl
+ }
+}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Now uses \cs{@@_tex_mathop:n} instead of \TeX{}-primitives.
+% }
+% \end{macro}
+%
+% \begin{macro}[updated=2024-08-20]{
+% \@@_dalembert_operator_get:
+% }
+% This function returns the \foreignlanguage{french}{d'Alembert} operator
+% depending on the currently set keys. The symbol for the
+% \foreignlanguage{french}{d'Alembert} operator is wrapped inside \tn{mathop}
+% to provide proper spacing.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_dalembert_operator_get:
+{
+ \@@_tex_mathop:n
+ {
+ \l_@@_dalembert_symb_tl
+ }% \@@_tex_mathop:n
+ \nolimits
+}
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added function: \cs{@@_dalembert_operator_get:}
+% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Now uses \cs{@@_tex_mathop:n} instead of \TeX{}-primitives.
+% }
+% \end{macro}
+%
+% \subsection{Macros Producing an Operator}
+% \label{sec:op-macros}
+%
+% After we have defined the symbols it is now time to provide a function which
+% produces the entire gradient operator
+% \begin{macro}{
+% \moremath_gradient_operator:n,
+% \moremath_laplace_operator:n
+% }
+% This function takes one arguments, the subscript to use with the operator.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_gradient_operator:n
+{
+ \@@_gradient_operator_get:
+ \tl_if_empty:nF {#1} {\c_math_subscript_token {#1}}
+}
+% \end{macrocode}
+%
+% Like for the gradient operator we do the same for the laplacian
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_laplace_operator:n
+{
+ \@@_laplace_operator_get:
+ \tl_if_empty:nF {#1} {\c_math_subscript_token {#1}}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added functions.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \moremath_divergence_operator:n,
+% \moremath_curl_operator:n
+% }
+% Using the already defined gradient operator it is possible to define a
+% function which acts as an operator suitable for representing the divergence
+% operator and the curl operator.
+% Like the gradient operator this functions take one argument
+% \begin{arguments}
+% \item the subscript of the gradient operator.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_divergence_operator:n
+{
+% \end{macrocode}
+% The braces around \cs{moremath_gradient_operator:n} are necessary to avoid
+% issues with the spacing between \tn{cdot} and the following \tn{mathopen}
+% from any braces.\footnote{%
+% See: \url{https://tex.stackexchange.com/a/223914}
+% }
+% Example:
+% \[
+% \text{With braces:}\quad \pdiv{f(x)} \text{,}
+% \qquad\text{without braces: }\quad \mathop{\nabla}\nolimits\cdot(f(x))
+% \]
+% \begin{macrocode}
+ {
+ \moremath_gradient_operator:n {#1}
+ }
+ \cdot
+}
+
+\cs_new_protected_nopar:Nn \moremath_curl_operator:n
+{
+ {
+ \moremath_gradient_operator:n {#1}
+ }
+ \times
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added functions.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \moremath_dalembert_operator:n
+% }
+% This function produces the \foreignlanguage{french}{d'Alembert} operator,
+% including an optional subscript.
+% The function takes one argument:
+% \begin{arguments}
+% \item A \meta{tl} with the contents of the subscript of the operator.
+%
+% This variable may be empty,
+% in this case no subscript (not even an empty one) is produced.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \moremath_dalembert_operator:n
+{
+ \@@_dalembert_operator_get:
+ \tl_if_empty:nF {#1}
+ {
+ \c_math_subscript_token {#1}
+ }
+}
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added new function \cs{moremath_dalembert_operator:n}.
+% }
+% \end{macro}
+%
+%
+% \subsection{Producing Delimited Vector Calculus Operators}
+% \label{sec:delim-vec-ops}
+%
+% \begin{macro}{
+% \moremath_delim_nabla_op_noscale:NNnn,
+% \moremath_delim_nabla_op_autoscale:NNnn
+% }
+% These functions produce a vector calculus operator with \meta{contents}
+% inside delimiters.
+% The "autoscale" variant scales the delimiters with the size of \meta{contents},
+% the "noscale" variant does no scaling at all.
+% \begin{arguments}
+% \item The \meta{csname} of the operator to use.
+%
+% This should have the same form as \cs{moremath_gradient_operator:n},
+% i.e.\ the function passed as \meta{csname} should accept one argument
+% to typeset as subscript.
+%
+% \item The \meta{csname} of the \emph{paired delimiter} to use.
+%
+% The paired delimiter has to be one declared using \pkg{mathtools}'
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter} command.
+%
+% \item A \meta{tl} with the subscript of the operator.
+%
+% \item A \meta{tl} with the contents to typeset inside the delimiters
+% \end{arguments}
+% We begin with the "noscale" version.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_delim_nabla_op_noscale:NNnn
+{
+ #1 {#3} #2{#4}
+}
+% \end{macrocode}
+% Then we create the version with automatic scaling.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_delim_nabla_op_autoscale:NNnn
+{
+ #1 {#3} #2 * {#4}
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added "noscale" and "autoscale" functions.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \moremath_delim_nabla_op_manuscale:NNnnn
+% }
+% This function produces a vector calculus operator like
+% \cs{moremath_delim_nabla_op_noscale:NNnn}
+% and \cs{moremath_delim_nabla_op_autoscale:NNnn},
+% but with manual scaling.
+% It takes five arguments:
+% \begin{arguments}
+% \item The \meta{csname} of the operator to use.
+%
+% \item The \meta{csname} of the paired delimiter.
+%
+% \item A \meta{token~list} containing the \meta{scale~cmd} like
+% \cs{big}, \cs{Big}, \cs{bigg}, etc.
+%
+% \item A \meta{tl} with the subscript of the operator.
+%
+% \item A \meta{tl} with the contents to typeset inside the delimiters.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_delim_nabla_op_manuscale:NNnnn
+{
+ #1 {#4} #2 [#3] {#5}
+}
+% \end{macrocode}
+% \begin{macro}{
+% \moremath_delim_nabla_op_manuscale:NNVnn
+% }
+% We also declare a variant for passing a variable with the \meta{scale~cmd}
+% instead of a \meta{token~list}.
+% \begin{macrocode}
+\cs_generate_variant:Nn \moremath_delim_nabla_op_manuscale:NNnnn {NNVnn}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Add variant.
+% }
+% \end{macro}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Add function.
+% }
+% \end{macro}
+%
+% To ease the definition of those macros we define a function for defining
+% the delimited versions.
+%
+% Of course we also need a way to declare a user interface for this functions.
+% For this purpose we first need some helpers for setting
+% necessary parameters.
+% \begin{macro}{\@@_parse_kv_args:nN}
+% This helper macro takes two arguments,
+% \begin{arguments}
+% \item A token list of the key-value arguments.
+% \item The \meta{csname} of a token list to put the scale value in.
+% \end{arguments}
+% The function sets the given keys but before it does so it searches for a
+% key named \verb|scale| and puts it into the second argument.
+% For this to work it is necessary that all values have \verb|=| in them.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_parse_kv_args:nN
+{
+% \end{macrocode}
+% We first put the key-value arguments inside a property list.
+% Afterwards we check if the key \verb|scale| has been given.
+% If yes we pop it and assign it to the second argument.
+% Otherwise we do nothing.
+% \NB{MI}{It may be a better idea to use a key instead but I'm not sure.
+% If one nests those environments the size of the outer one will propagate into
+% the inner scope, which might not be what is wanted.}
+% \begin{macrocode}
+ \prop_set_from_keyval:Nn \l_tmpa_prop {#1}
+
+ \prop_pop:NnNT \l_tmpa_prop {scale} #2 {}
+
+ \keys_set:ne {moremath} {\prop_to_keyval:N \l_tmpa_prop}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% We also need a warning message for conflicting arguments,
+% to inform the user that one of his options is going to be ignored.
+% \begin{macrocode}
+\msg_new:nnn { moremath } { vector-calc / scale-star-conflict }
+{
+ Both~star~and~scaling~factor~given~to~'#1'.\\
+ Automatic~scaling~will~be~preferred,~the~size~command~'#2'~will~be~
+ ignored~\msg_line_context:.
+}
+% \end{macrocode}
+%
+% \begin{macro}{
+% \@@_new_delim_nabla_doc_cmd:NNN,
+% \@@_new_delim_nabla_doc_cmd:cNN,
+% }
+% This function takes three arguments:
+% \begin{arguments}
+% \item The \meta{csname} of the to be defined command
+% \item The \meta{csname} of the operator to use.
+%
+% This should be a function like \cs{moremath_gradient_operator:n}.
+% \item The \meta{csname} of the delimiter function to use.
+%
+% This should be a macro/command created with \pkg{mathtools}
+% \cs[module=mathtools,replace=false]{DeclarePairedDelimiter} command.
+% \end{arguments}
+% Its purpose is to create a new document level command,
+% for the delimited vector calculus operators.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_new_delim_nabla_doc_cmd:NNN
+{
+ \cs_if_free:NTF #1
+ {
+ \exp_args:NNe \NewDocumentCommand #1
+ {
+ s ={scale} o E{ \char_generate:nn {`_}{8} }{ {} } m
+ }
+ { % command code
+ \group_begin:
+ % optional arguments given?
+ \tl_if_novalue:nF {##2}
+ {
+ \@@_parse_kv_args:nN {##2} \l_tmpa_tl
+ }
+ % star given?
+ \bool_if:nTF {##1}
+ {
+ % scale factor given?
+ \tl_if_empty:NF \l_tmpa_tl
+ {
+ \msg_warning:nnnV { moremath } { vector-calc / scale-star-conflict }
+ {#1} \l_tmpa_tl
+ }
+ \moremath_delim_nabla_op_autoscale:NNnn #2 #3 {##3} {##4}
+ }{ % \bool_if:nTF {##1} FALSE BRANCH
+ % scale factor given?
+ \tl_if_empty:NTF \l_tmpa_tl
+ {
+ \moremath_delim_nabla_op_noscale:NNnn #2 #3 {##3} {##4}
+ }{ % FALSE BRANCH
+ \moremath_delim_nabla_op_manuscale:NNVnn #2 #3 \l_tmpa_tl {##3} {##4}
+ }
+ } % \bool_if:nTF {##1}
+ \group_end:
+ }
+ }{ % \cs_if_free:NTF #1 FALSE BRANCH
+ \msg_warning:nnn { moremath } { vector-calc / already-defined-skip } {#1}
+ } % \cs_if_free:NTF #1
+}
+%
+\cs_generate_variant:Nn \@@_new_delim_nabla_doc_cmd:NNN {cNN}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_new_nabla_doc_cmds:nN}
+% This internal function creates five different document level commands at once,
+% using \cs{@@_new_delim_nabla_doc_cmd:cNN}.
+% It takes two arguments:
+% \begin{arguments}
+% \item The a \meta{suffix~tl} for constructing the command names.
+%
+% The resulting commands will have the form \cs[no-index]{p\meta{suffix}},
+% \cs[no-index]{b\meta{suffix}}, \cs[no-index]{B\meta{suffix}},
+% \cs[no-index]{v\meta{suffix}} and \cs[no-index]{V\meta{suffix}}.
+%
+% \item The \meta{csname} of the operator to use
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_new_nabla_doc_cmds:nN
+{
+ \@@_new_delim_nabla_doc_cmd:cNN { p #1 } #2 \@@_inparent:w
+ \@@_new_delim_nabla_doc_cmd:cNN { b #1 } #2 \@@_inbrack:w
+ \@@_new_delim_nabla_doc_cmd:cNN { B #1 } #2 \@@_inbrace:w
+ \@@_new_delim_nabla_doc_cmd:cNN { v #1 } #2 \@@_in_vert:w
+ \@@_new_delim_nabla_doc_cmd:cNN { V #1 } #2 \@@_in_Vert:w
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Document Level Commands}
+% \label{sec:vec-doc-lvl-commands}
+%
+% The predefined macros for vector calculus are also guarded by a package
+% option to be conditionally disabled by the user.
+% \begin{macrocode}
+\bool_if:NTF \l_@@_predef_vector_op_bool
+{
+% \end{macrocode}
+% \subsubsection{Standalone Operators}
+% \label{par:impl-vector-calc-standalone}
+% The user might want to use also a non-delimited version
+% of the vector calculus operators,
+% we provide them with a standalone version of those.
+%
+% As the definition of a new document command can fail if the \meta{csname}
+% clashes with some already defined macro,
+% we define an error message to use when defining document level commands.
+% \begin{macrocode}
+\msg_new:nnn { moremath } { vector-calc / already-defined-skip }
+{
+ Control~sequence~'#1'~is~already~defined.\\
+ Skipping~definition~\msg_line_context:.
+}
+% \end{macrocode}
+%
+% \begin{macro}{
+% \grad,
+% \divergence,
+% \curl,
+% \laplacian
+% }
+% Now we provide the user with document level commands for
+% \cs[no-index]{moremath_\meta{op}_operator:n}.
+% \begin{macrocode}
+\cs_if_free:NTF \grad
+{
+ \exp_args:NNe \NewDocumentCommand \grad { !o E{ \char_generate:nn {`_}{8} }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath} {#1}
+ }
+ \moremath_gradient_operator:n {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} { vector-calc / already-defined-skip } {\grad}
+}
+
+\cs_if_free:NTF \divergence
+{
+ \exp_args:NNe \NewDocumentCommand \divergence
+ { !o E{ \char_generate:nn {`_} {8} }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath} {#1}
+ }
+ \moremath_divergence_operator:n {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} { vector-calc / already-defined-skip } {\divergence}
+}
+
+\cs_if_free:NTF \curl
+{
+ \exp_args:NNe \NewDocumentCommand \curl
+ { !o E{ \char_generate:nn {`_}{8} }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath} {#1}
+ }
+ \moremath_curl_operator:n {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} {vector-calc / already-defined-skip} {\curl}
+}
+
+\cs_if_free:NTF \laplacian
+{
+ \exp_args:NNe \NewDocumentCommand \laplacian
+ { !o E{ \char_generate:nn {`_}{8} }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath} {#1}
+ }
+ \moremath_laplace_operator:n {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} { vector-calc / already-defined-skip }
+ {\laplacian}
+}
+% \end{macrocode}
+% \begin{macro}{\quabla}
+% We now also define a command to use as a standalone
+% \foreignlanguage{french}{d'Alembert} operator.
+% As the name \cs[no-index]{dalembertian} is a bit cumbersome to type out,
+% I've decided to use one of its alternate names \cs{quabla}
+% \begin{macrocode}
+\cs_if_free:NTF \quabla
+{
+ \exp_args:NNe \NewDocumentCommand \quabla
+ { !o E{ \char_generate:nn {`_} { 8 } }{{}} }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath } {#1}
+ }
+ \moremath_dalembert_operator:n {#2}
+ \group_end:
+ }
+}{ % \cs_if_free:NTF \quabla FALSE BRANCH
+ \msg_warning:nnn { moremath } { vector-calc / already-defined-skip }
+ {\quabla}
+}
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{
+% Added \cs{quabla} command.
+% }
+% \changes{v0.3.0}{\GetVersionDate{v0.3.0}}{
+% Changed: Spaces between the \meta{csname}
+% and the optional argument are now disallowed.
+% }
+% \end{macro}^^X \quabla
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added \cs{grad}, \cs{divergence}, \cs{curl} and \cs{laplacian}
+% commands.
+% }
+% \changes{v0.3.0}{\GetVersionDate{v0.3.0}}{
+% Changed: Spaces between the \meta{csname}
+% and the optional argument are now disallowed
+% for \cs{grad}, \cs{divergence}, \cs{curl} and \cs{laplacian}.
+% }
+% \end{macro}
+%
+% \subsubsection{Operators with Delimiters}
+% \label{par:impl-vec-calc-op-delim}
+%
+% \begin{macro}{
+% \pgrad,
+% \bgrad,
+% \Bgrad,
+% \vgrad,
+% \Vgrad,
+% }
+% Now lets declare the delimited gradient operators.
+% We provide five versions using parenthesis, brackets, braces, single \tn{vert},
+% and double \tn{Vert}.
+% \begin{macrocode}
+\@@_new_nabla_doc_cmds:nN {grad} \moremath_gradient_operator:n
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added commands for delimited gradient operators.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \pdiv,
+% \bdiv,
+% \Bdiv,
+% \vdiv,
+% \Vdiv
+% }
+% Now we do the same for the divergence operator.
+% \begin{macrocode}
+\@@_new_nabla_doc_cmds:nN {div} \moremath_divergence_operator:n
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added commands for delimited divergence operators.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \pcurl,
+% \bcurl,
+% \Bcurl,
+% \vcurl,
+% \Vcurl
+% }
+% Now to the curl macros.
+% \begin{macrocode}
+\@@_new_nabla_doc_cmds:nN {curl} \moremath_curl_operator:n
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added commands for delimited curl operators.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \plaplacian,
+% \blaplacian,
+% \Blaplacian,
+% \vlaplacian,
+% \Vlaplacian
+% }
+% Next we take care of the laplacian
+% \begin{macrocode}
+\@@_new_nabla_doc_cmds:nN {laplacian} \moremath_laplace_operator:n
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added commands for delimited Laplace operators.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \pquabla,
+% \bquabla,
+% \Bquabla,
+% \vquabla,
+% \Vquabla
+% }
+% Finally we define delimited commands for the
+% \foreignlanguage{french}{d'Alembert} operator.
+% \begin{macrocode}
+\@@_new_nabla_doc_cmds:nN {quabla} \moremath_dalembert_operator:n
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{
+% Added commands for a delimited \foreignlanguage{french}{d'Alembert}
+% operator.
+% }
+% \end{macro}
+%
+% If the user issued \texttt{no-vector} as a package loading option,
+% write this to the log file.
+% \begin{macrocode}
+}{ % IF NOT \l_@@_predef_vector_op_bool
+ \msg_info:nnnn {moremath} { load /disabling } {no-vector}
+ {
+ predefined~vector~calculus~macros
+ }
+} % END \l_@@_predef_vector_op_bool
+% \end{macrocode}
+%
+% \section{Macros Producing Matrices and Vectors}
+% \label{sec:impl-matr-vec}
+%
+% \subsection{Producing Row and Column Vectors}
+%
+% The functions in this section are used to generate row and column vectors
+% utilizing \pkg{mathtools}~\autocite{mathtools} \env{matrix*} and
+% \env{smallmatrix*} environments.
+%
+% \begin{variable}{\l_@@_vector_entries_seq}
+% For generating row or column vectors it is necessary to store the entries
+% inside a variable. \cs{l_@@_vector_entries_seq} is used for this purpose.
+% \begin{macrocode}
+\seq_new:N \l_@@_vector_entries_seq
+% \end{macrocode}
+% \end{variable}
+%
+% Then we need a function for formatting the actual entries of the vector.
+% We need two version one for the row vector and one for the column vector
+% version.
+% \begin{macro}{
+% \@@_seq_to_column_vector:N,
+% \@@_seq_to_row_vector:N
+% }
+% These functions take one argument
+% \begin{arguments}
+% \item A sequence which should be converted to the contents of the single
+% column/row matrix.
+% \end{arguments}
+% They format the input suitable to be put inside a \env{matrix*} environment.
+% We begin with the column vector version.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_seq_to_column_vector:N
+{
+ \seq_use:Nn #1 {\\}
+}
+% \end{macrocode}
+% Then we get to the row vector.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_seq_to_row_vector:N
+{
+ \seq_use:Nn #1 {&}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% In the next step we construct the single row/column matrix from the user
+% provided input.
+% \begin{macro}[updated=2024-08-20]{
+% \moremath_column_vector:nn,
+% \moremath_column_vector:Vn,
+% \moremath_row_vector:nn,
+% \moremath_row_vector:Vn,
+% }
+% The two commands \cs{moremath_column_vector:nn} and \cs{moremath_row_vector:nn}
+% construct the matrix, they both take two arguments.
+% \begin{arguments}
+% \item The delimiter specifier.
+%
+% This should be one of the prefixes of the \env{\meta{prefix}matrix*},
+% environments.
+%
+% Another possibility is to issue |small| as this parameter to get
+% an inline matrix.
+%
+% \item The comma separated contents of the matrix.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_column_vector:nn
+{
+ \seq_clear:N \l_@@_vector_entries_seq
+ \seq_set_from_clist:Nn \l_@@_vector_entries_seq {#2}
+
+ \@@_matrix_star_begin:nV {#1} \l_@@_matrix_align_tl
+ \@@_seq_to_column_vector:N \l_@@_vector_entries_seq
+ \@@_matrix_star_end:n {#1}
+}
+%
+\cs_new_protected_nopar:Nn \moremath_row_vector:nn
+{
+ \seq_clear:N \l_@@_vector_entries_seq
+ \seq_set_from_clist:Nn \l_@@_vector_entries_seq {#2}
+
+ \@@_matrix_star_begin:nV {#1} \l_@@_matrix_align_tl
+ \@@_seq_to_row_vector:N \l_@@_vector_entries_seq
+ \@@_matrix_star_end:n {#1}
+}
+% \end{macrocode}
+% We also provide a "Vn" variant of those functions.
+% \begin{macrocode}
+\cs_generate_variant:Nn \moremath_column_vector:nn { Vn }
+\cs_generate_variant:Nn \moremath_row_vector:nn { Vn }
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added functions producing row- and column vectors.
+% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Changed now uses \cs{@@_matrix_star_begin:nV} instead of raw
+% |\begin{#1matrix*}|.
+% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Added new "Vn" variants.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \moremath_column_smallvector:nn,
+% \moremath_column_smallvector:Vn,
+% \moremath_row_smallvector:nn,
+% \moremath_row_smallvector:Vn,
+% }
+% To make the code more readable, we define functions specifically for
+% creating row and column vectors using the \env{smallmatrix*} family of
+% environments. These functions take the same arguments as the non-small
+% versions above.
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_column_smallvector:nn
+{
+ \moremath_column_vector:nn {#1 small} {#2}
+}
+
+\cs_new_protected_nopar:Nn \moremath_row_smallvector:nn
+{
+ \moremath_row_vector:nn {#1 small} {#2}
+}
+% Variants
+\cs_generate_variant:Nn \moremath_column_smallvector:nn { Vn }
+\cs_generate_variant:Nn \moremath_row_smallvector:nn { Vn }
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added functions producing inline math row- and column vectors.
+% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Added new "Vn" variants.
+% }
+% \end{macro}
+%
+% ^^X SUBSECTION: Shorthands for simple matrices
+% \subsection{Shorthands for Simple Matrices}
+% \label{sec:impl-matr-shorth}
+%
+% The construction of several simple matrices like diagonal matrices,
+% can be simplified as there is no need to use the \env{matrix} environment.\footnote{%
+% The code in this section is heavily inspired by the following answer on
+% \TeX{}SE: \url{https://tex.stackexchange.com/a/539741}
+% }
+%
+% \begin{variable}{
+% \l_@@_mat_diag_entries_seq,
+% \l_@@_mat_row_entries_seq,
+% }
+% We construct the matrices row by row, therefore we need to store the
+% currently constructed row inside a variable.
+% The same is true for the diagonal entries which also need to be stored
+% somewhere.
+% We therefore declare two sequence variables \cs{l_@@_mat_diag_entries_seq}
+% and \cs{l_@@_mat_row_seq} for this purpose
+% \begin{macrocode}
+\seq_clear_new:N \l_@@_mat_diag_entries_seq
+\seq_clear_new:N \l_@@_mat_row_entries_seq
+% \end{macrocode}
+% \end{variable}
+%
+% \subsubsection{(Anti-)diagonal matrices}
+% We split the construction of the matrix into multiple parts,
+% utilizing internal helper functions.
+% \begin{macro}{
+% \@@_constr_diagmat_row:n,
+% \@@_constr_antidiagmat_row:n
+% }
+% \cs{@@_constr_diagmat_row:n} and \cs{@@_constr_antidiagmat_row:n}
+% take one integer argument:
+% \begin{arguments}
+% \item The number of the current row.
+% \end{arguments}
+% They both construct a matrix row and place it inside the input stream.
+% They take the content of the (anti-)diagonal from the variable
+% \cs{l_@@_mat_diag_entries_seq}
+% and use the variable \cs{l_@@_mat_row_entries_seq}
+% to store the current row.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_constr_diagmat_row:n
+{
+ \seq_clear:N \l_@@_mat_row_entries_seq
+% \end{macrocode}
+% As all diagonal matrices \(M \in A^{m \times n}\), where \(A\) is a field,
+% are quadratic i.e.\ \(A^{m \times n} \equiv A^{n \times n}\) the length of the
+% diagonal sequence equals the number of rows and columns of the matrix.
+% We exploit this fact here.
+% \begin{macrocode}
+ \int_step_inline:nn {\seq_count:N \l_@@_mat_diag_entries_seq}
+ {
+ \int_compare:nTF { #1 == ##1 }
+ {
+ \seq_put_right:Nx \l_@@_mat_row_entries_seq
+ {
+ \seq_item:Nn \l_@@_mat_diag_entries_seq { #1 }
+ }
+ }{ % false branch
+ \seq_put_right:NV \l_@@_mat_row_entries_seq \l_@@_matrix_fill_tl
+ } % \int_compare:nTF { #1 == ##1 }
+ }
+ \seq_use:Nn \l_@@_mat_row_entries_seq { & } \\
+}
+
+% Anti-diagonal version
+\cs_new_protected:Nn \@@_constr_antidiagmat_row:n
+{
+ \seq_clear:N \l_@@_mat_row_entries_seq
+ \int_step_inline:nn {\seq_count:N \l_@@_mat_diag_entries_seq}
+ {
+ \int_compare:nTF { #1 == ##1 }
+ {
+ % as this is a anti diagonal matrix we put in the elements from the
+ % left so that the first entry is the right most entry
+ \seq_put_left:Nx \l_@@_mat_row_entries_seq
+ {
+ \seq_item:Nn \l_@@_mat_diag_entries_seq { #1 }
+ }
+ }{ % false branch
+ \seq_put_left:NV \l_@@_mat_row_entries_seq \l_@@_matrix_fill_tl
+ } % \int_compare:nTF { #1 == ##1 }
+ }
+ \seq_use:Nn \l_@@_mat_row_entries_seq { & } \\
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{
+% \moremath_diagonal_matrix:nn,
+% \moremath_antidiagonal_matrix:nn,
+% \moremath_diagonal_smallmatrix:nn,
+% \moremath_antidiagonal_smallmatrix:nn,
+% }
+% The \cs[no-index]{moremath_\meta{a or d}_matrix:nn} and
+% \cs[no-index]{moremath_\meta{a or d}_smallmatrix:nn} family of functions
+% produce a matrix based on \pkg{mathtools}~\autocite{mathtools}
+% \env{matrix*} environment.
+% The functions take two arguments.
+% \begin{arguments}
+% \item The delimiter specifier.
+%
+% This should be one of the prefixes of the \env{\meta{prefix}matrix*}
+% environments.
+%
+% \item The comma separated contents of the (anti-)diagonal.
+% \end{arguments}
+% These functions also use the values of the variables
+% \cs{l_@@_matrix_fill_tl} and \cs{l_@@_matrix_align_tl}.
+% And modifies the variable \cs{l_@@_mat_diag_entries_seq}.
+% \begin{macrocode}
+\cs_new_protected:Nn \moremath_diagonal_matrix:nn
+{
+ \seq_set_from_clist:Nn \l_@@_mat_diag_entries_seq { #2 }
+ \@@_matrix_star_begin:nV { #1 } \l_@@_matrix_align_tl
+ \int_step_function:nN { \seq_count:N \l_@@_mat_diag_entries_seq }
+ \@@_constr_diagmat_row:n
+ \@@_matrix_star_end:n { #1 }
+}
+%
+% Anti-diagonal matrix
+\cs_new_protected:Nn \moremath_antidiagonal_matrix:nn
+{
+ \seq_set_from_clist:Nn \l_@@_mat_diag_entries_seq { #2 }
+ \@@_matrix_star_begin:nV { #1 } \l_@@_matrix_align_tl
+ \int_step_function:nN { \seq_count:N \l_@@_mat_diag_entries_seq }
+ \@@_constr_antidiagmat_row:n
+ \@@_matrix_star_end:n { #1 }
+}
+
+% Small versions
+\cs_new_protected:Nn \moremath_diagonal_smallmatrix:nn
+{
+ \moremath_diagonal_matrix:nn {#1 small} {#2}
+}
+
+\cs_new_protected:Nn \moremath_antidiagonal_smallmatrix:nn
+{
+ \moremath_antidiagonal_matrix:nn {#1 small} {#2}
+}
+% \end{macrocode}
+% \begin{macro}{
+% \moremath_diagonal_matrix:nV,
+% \moremath_diagonal_matrix:Vn,
+% \moremath_diagonal_matrix:VV,
+% \moremath_antidiagonal_matrix:nV,
+% \moremath_antidiagonal_matrix:Vn,
+% \moremath_antidiagonal_matrix:VV,
+% \moremath_diagonal_smallmatrix:nV,
+% \moremath_diagonal_smallmatrix:Vn,
+% \moremath_diagonal_smallmatrix:VV,
+% \moremath_antidiagonal_smallmatrix:nV,
+% \moremath_antidiagonal_smallmatrix:Vn,
+% \moremath_antidiagonal_smallmatrix:VV,
+% }
+% For convenience we also define some variants of the above functions.
+% \begin{macrocode}
+\cs_generate_variant:Nn \moremath_diagonal_matrix:nn { nV, Vn, VV }
+\cs_generate_variant:Nn \moremath_antidiagonal_matrix:nn { nV, Vn, VV }
+\cs_generate_variant:Nn \moremath_diagonal_smallmatrix:nn { nV, Vn, VV}
+\cs_generate_variant:Nn \moremath_antidiagonal_smallmatrix:nn { nV, Vn, VV }
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{Added variants.}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{Added "nV" and "VV" variants.}
+% \end{macro}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added functions producing (anti-)diagonal matrices.
+% Also added versions for inline math.
+% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Changed now uses \cs{@@_matrix_star_begin:nV} instead of raw
+% |\begin{#1matrix*}|.
+% }
+% \end{macro}
+%
+%
+% \subsubsection{Identity Matrices}
+% As we already have functions available for producing diagonal matrices,
+% it makes only sense to also provide a shorthand for producing an identity matrix,
+% i.e.\ a diagonal matrix with \enquote{1} along the diagonal.
+%
+%
+% \begin{macro}{
+% \@@_generate_one_filled_clist:Nn
+% }
+% The function \cs{@@_generate_one_filled_clist:Nn} produces a \meta{clist},
+% consisting only of \enquote{1} as entries.
+% This function takes two arguments:
+% \begin{arguments}
+% \item The \emph{csname} of a \meta{clist~var} to store the \meta{clist}
+% into.
+%
+% \item An \meta{int} to represent the number of entries to produce.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_generate_one_filled_clist:Nn
+{
+ \seq_clear:N \l_tmpa_seq
+ \int_step_inline:nn {#2}
+ {
+ \seq_put_right:NV \l_tmpa_seq \c_one_int
+ }
+ \clist_set_from_seq:NN #1 \l_tmpa_seq
+}
+% \end{macrocode}
+% \begin{macro}{
+% \@@_generate_one_filled_clist:NV
+% }
+% We also define a variant accepting an integer variable.
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_generate_one_filled_clist:Nn { N V }
+% \end{macrocode}
+% \end{macro}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added function.
+% }
+% \end{macro}
+%
+% \begin{variable}{
+% \l_@@_id_entries_clist
+% }
+% As we want to utilize the \cs{moremath_diagonal_matrix:VV} and
+% \cs{moremath_diagonal_smallmatrix:VV} functions for creating the identity
+% matrix we declare an internal \meta{clist~var} called
+% \cs{l_@@_id_entries_clist} for passing the \meta{clist} around.
+% \begin{macrocode}
+\clist_new:N \l_@@_id_entries_clist
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{Added variable.}
+% \end{variable}
+%
+% \begin{macro}{
+% \moremath_id_matrix:n,
+% \moremath_id_smallmatrix:n
+% }
+% These functions are intended to produce an identity matrix from an integer
+% expression.
+% They take one argument.
+% \begin{arguments}
+% \item The number of diagonal entries.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_id_matrix:n
+{
+ \clist_clear:N \l_@@_id_entries_clist
+ \@@_generate_one_filled_clist:Nn \l_@@_id_entries_clist {#1}
+ \moremath_diagonal_matrix:VV \l_@@_matrix_delim_tl \l_@@_id_entries_clist
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \moremath_id_smallmatrix:n
+{
+ \clist_clear:N \l_@@_id_entries_clist
+ \@@_generate_one_filled_clist:Nn \l_@@_id_entries_clist {#1}
+ \moremath_diagonal_smallmatrix:VV \l_@@_matrix_delim_tl \l_@@_id_entries_clist
+}
+% \end{macrocode}
+%
+% \begin{macro}{
+% \moremath_id_matrix:V,
+% \moremath_id_smallmatrix:V
+% }
+% We also provide variants, which accepts a "V"-type argument:
+% \begin{macrocode}
+\cs_generate_variant:Nn \moremath_id_matrix:n { V }
+\cs_generate_variant:Nn \moremath_id_smallmatrix:n { V }
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added functions \cs{moremath_id_matrix:n} and \cs{moremath_id_smallmatrix:n}
+% and variants.
+% }
+% \end{macro}
+%
+% \subsection{Document Level Commands}
+% \label{sec:mat-doc-lvl-cmds}
+%
+% Now we define document level commands for the previously defined
+% functions.
+%
+% But before we do so we define a message to be issued in case the targeted
+% \meta{csname} is already defined elsewhere.
+% \begin{macrocode}
+\msg_new:nnnn { moremath } { matrix / already-defined-doc-cmd-skip }
+{
+ Control~sequence~'#1'~is~already~defined.\\
+ Skipping~definition~\msg_line_context:.
+}
+{
+ The~control~sequence~'#1'~has~already\\
+ been~defined~by~some~other~package.\\
+ And~I~am~refusing~to~overwrite~the~existing~definition,\\
+ therefore~I~am~skipping~the~definition~of~this~command.
+}
+% \end{macrocode}
+%
+% \subsubsection{Row and Column Vectors}
+% We begin with the row and column vector functions.
+% As with the other document level commands, we guard the definitions
+% with a key value option, so that the user can disable them.
+% \begin{macrocode}
+\bool_if:nTF \l_@@_predef_crvector_bool
+{
+% \end{macrocode}
+% \begin{macro}[updated=2024-08-20,]{
+% \cvector,
+% \rvector,
+% \smallcvector,
+% \smallrvector
+% }
+% First we define the document level command for the bare column vector
+% \begin{macrocode}
+\cs_if_free:NTF \cvector
+{
+ \NewDocumentCommand \cvector { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_column_vector:Vn \l_@@_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ % issue a warning message if the csname is already taken.
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \cvector
+ }
+} % \cs_if_free:NTF \cvector
+% \end{macrocode}
+% and the row vector.
+% \begin{macrocode}
+\cs_if_free:NTF \rvector
+{
+ \NewDocumentCommand \rvector { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_row_vector:Vn \l_@@_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ % warn if csname is already taken
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip}
+ {
+ \rvector
+ }
+} % \cs_if_free:NTF \rvector
+% \end{macrocode}
+% Then we define the smaller inline versions of those commands.
+% \begin{macrocode}
+\cs_if_free:NTF \smallcvector
+{
+ \NewDocumentCommand \smallcvector { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn {moremath / matrix} {#1}
+ }
+ \moremath_column_smallvector:Vn \l_@@_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ % Issue a warning message if the csname is already taken
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \smallcvector
+ }
+} % \cs_if_free:NTF \smallcvector
+
+\cs_if_free:NTF \smallrvector
+{
+ \NewDocumentCommand \smallrvector { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_row_smallvector:Vn \l_@@_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ % warn if csname is taken
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \smallrvector
+ }
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added commands producing row and column vectors,
+% including inline math versions.
+% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Use "Vn" versions of functions when passing variables around.
+% }
+% \end{macro}
+%
+% \paragraph{Commands with Pre-defined Delimiters}
+% Next we define several shorthands to for the commonly used delimiters,
+% to avoid code duplication, we first create some helper functions which
+% define those functions.
+% \begin{macro}[updated=2024-08-20]{
+% \@@_new_vector_shorth_doc_cmd:NNn
+% }
+% The function \cs{@@_new_vector_shorth_doc_cmd} creates a new vector shorthand,
+% command. It takes three arguments:
+% \begin{arguments}
+% \item The \meta{csname} to be defined.
+% \item The \meta{function} to use for this shorthand.
+%
+% This should be one of the
+% \cs[no-index]{moremath_\meta{type}_\meta{size}vector:Vn}
+% like commands.
+%
+% \item The \meta{delimiter} to use.
+%
+% Usually one of |p|, |b|, |B|, |v|, |V|.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_new_vector_shorth_doc_cmd:NNn
+{
+ \cs_if_free:NTF #1
+ {
+ \NewDocumentCommand #1 { o m }
+ {
+ \group_begin:
+ % set the delimiter key pre-set for this function
+ \keys_set:nn {moremath / matrix } {delimiter = #3}
+ \tl_if_novalue:nF {##1}
+ {
+ \keys_set:nn {moremath / matrix } {##1}
+ }
+ #2 \l_@@_matrix_delim_tl {##2}
+ \group_end:
+ }
+ }{
+ % warn if csname is taken
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ #1
+ }
+ }
+}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Require function with "Vn" signature to pass variable correctly.
+% }
+% \end{macro}
+%
+% \begin{macro}[updated=2024-08-20]{
+% \pcvector,
+% \bcvector,
+% \Bcvector,
+% \vcvector,
+% \Vcvector,
+% \prvector,
+% \brvector,
+% \Brvector,
+% \vrvector,
+% \Vrvector,
+% }
+% Now we define shorthands for all of the matrix types so that the user
+% does not have to specify |delimiter=|\meta{delim} every time.
+% We begin with the column vector.
+% \begin{macrocode}
+% parenthesis
+\@@_new_vector_shorth_doc_cmd:NNn \pcvector \moremath_column_vector:Vn {p}
+% brackets
+\@@_new_vector_shorth_doc_cmd:NNn \bcvector \moremath_column_vector:Vn {b}
+% braces
+\@@_new_vector_shorth_doc_cmd:NNn \Bcvector \moremath_column_vector:Vn {B}
+% single vert
+\@@_new_vector_shorth_doc_cmd:NNn \vcvector \moremath_column_vector:Vn {v}
+% double vert
+\@@_new_vector_shorth_doc_cmd:NNn \Vcvector \moremath_column_vector:Vn {V}
+% \end{macrocode}
+% Now to the row vectors.
+% \begin{macrocode}
+% parenthesis
+\@@_new_vector_shorth_doc_cmd:NNn \prvector \moremath_row_vector:Vn {p}
+% brackets
+\@@_new_vector_shorth_doc_cmd:NNn \brvector \moremath_row_vector:Vn {b}
+% braces
+\@@_new_vector_shorth_doc_cmd:NNn \Brvector \moremath_row_vector:Vn {B}
+% single vert
+\@@_new_vector_shorth_doc_cmd:NNn \vrvector \moremath_row_vector:Vn {v}
+% double vert
+\@@_new_vector_shorth_doc_cmd:NNn \Vrvector \moremath_row_vector:Vn {V}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added commands for row and column vectors with predefined delimiters.
+% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Use functions with "Vn" signature instead of "nn"
+% }
+% \end{macro}
+%
+% \begin{macro}[updated=2024-08-20]{
+% \psmallcvector,
+% \bsmallcvector,
+% \Bsmallcvector,
+% \vsmallcvector,
+% \Vsmallcvector,
+% \psmallrvector,
+% \bsmallrvector,
+% \Bsmallrvector,
+% \vsmallrvector,
+% \Vsmallrvector
+% }
+% We also define shorthands for the \cs{shortcvector} and \cs{shortrvector}
+% versions.
+% \begin{macrocode}
+% column vectors
+% parenthesis
+\@@_new_vector_shorth_doc_cmd:NNn \psmallcvector \moremath_column_smallvector:Vn
+ {p}
+% brackets
+\@@_new_vector_shorth_doc_cmd:NNn \bsmallcvector \moremath_column_smallvector:Vn
+ {b}
+% braces
+\@@_new_vector_shorth_doc_cmd:NNn \Bsmallcvector \moremath_column_smallvector:Vn
+ {B}
+% single vert
+\@@_new_vector_shorth_doc_cmd:NNn \vsmallcvector \moremath_column_smallvector:Vn
+ {v}
+% double vert
+\@@_new_vector_shorth_doc_cmd:NNn \Vsmallcvector \moremath_column_smallvector:Vn
+ {V}
+%
+% row vectors
+% parenthesis
+\@@_new_vector_shorth_doc_cmd:NNn \psmallrvector \moremath_row_smallvector:Vn {p}
+% brackets
+\@@_new_vector_shorth_doc_cmd:NNn \bsmallrvector \moremath_row_smallvector:Vn {b}
+% braces
+\@@_new_vector_shorth_doc_cmd:NNn \Bsmallrvector \moremath_row_smallvector:Vn {B}
+% single vert
+\@@_new_vector_shorth_doc_cmd:NNn \vsmallrvector \moremath_row_smallvector:Vn {v}
+% double vert
+\@@_new_vector_shorth_doc_cmd:NNn \Vsmallrvector \moremath_row_smallvector:Vn {V}
+
+
+}{ % \bool_if:nTF \l_@@_predef_crvector_bool FALSE PATH
+ \msg_info:nnnn {moremath} {load / disabling} {no-crvector}
+ {
+ commands~producing~row~and~column~vectors
+ }
+} % \bool_if:nTF \l_@@_predef_crvector_bool
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added commands for inline math row and column vectors
+% with predefined delimiters.
+% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Use functions with "Vn" signature instead of "nn"
+% }
+% \end{macro}
+%
+%
+% \subsubsection{(Anti-)diagonal Matrices}
+% Now to the (anti-)diagonal matrix shorthands,
+% these are also guarded by a key value option.
+% \begin{macrocode}
+\bool_if:nTF \l_@@_predef_matrix_bool
+{
+% \end{macrocode}
+% \begin{macro}{
+% \diagmat,
+% \antidiagmat,
+% \smalldiagmat,
+% \smallantidiagmat,
+% }
+% \begin{NOTE}{MI}
+% Say something like we begin with some commands producing a matrix that
+% is not necessarily delimited.
+% \end{NOTE}
+% \begin{macrocode}
+\cs_if_free:NTF \diagmat
+{
+ \NewDocumentCommand \diagmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_diagonal_matrix:Vn \l_@@_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn {moremath} {matrix / already-defined-doc-cmd-skip}
+ {
+ \diagmat
+ }
+} % \cs_if_free:nTF \diagmat
+
+\cs_if_free:NTF \antidiagmat
+{
+ \NewDocumentCommand \antidiagmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_antidiagonal_matrix:Vn \l_@@_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \antidiagmat
+ }
+} % \cs_if_free:nTF \antidiagmat
+
+\cs_if_free:NTF \smalldiagmat
+{
+ \NewDocumentCommand \smalldiagmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_diagonal_smallmatrix:Vn \l_@@_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \smalldiagmat
+ }
+}
+
+\cs_if_free:NTF \smallantidiagmat
+{
+ \NewDocumentCommand \smallantidiagmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_antidiagonal_smallmatrix:Vn \l_@@_matrix_delim_tl {#2}
+ \group_end:
+ }
+}{
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ \smallantidiagmat
+ }
+}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added commands producing (anti-)diagonal matrices, including inline math
+% versions.
+% }
+% \end{macro}
+%
+% \paragraph{(Anti-)diagonal Matrices with Pre-defined Delimiters}
+% As it is sort of cumbersome to always specify the delimiter key,
+% we also provide commands with pre-defined delimiters.
+% \begin{macro}{
+% \@@_new_matrix_shorth_doc_cmd:NNn
+% }
+% To provide several shorthands for delimited matrices,
+% we use a helper function to avoid code duplication.
+% \cs{@@_new_matrix_shorth_doc_cmd:NNn} takes three arguments:
+% \begin{arguments}
+% \item The \meta{csname} to define
+% \item The \meta{csname} of the matrix function to use,
+% which should have the signature |Vn|.
+% \item The \enquote{predefined} delimiter of this version
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_new_matrix_shorth_doc_cmd:NNn
+{
+ \cs_if_free:NTF #1
+ {
+ \NewDocumentCommand #1 { o m }
+ {
+ \group_begin:
+ \tl_if_empty:nF {#3}
+ {
+ \keys_set:nn { moremath / matrix }
+ {
+ delimiter = #3
+ }
+ } % \tl_if_empty:nF {#3}
+ \tl_if_novalue:nF {##1}
+ {
+ \keys_set:nn { moremath / matrix } {##1}
+ }
+ #2 \l_@@_matrix_delim_tl {##2}
+ \group_end:
+ }
+ }{
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {
+ #1
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% We now define the shorthand commands with predefined delimiters.
+% \begin{macro}{
+% \pdiagmat,
+% \bdiagmat,
+% \Bdiagmat,
+% \vdiagmat,
+% \Vdiagmat,
+% }
+% We begin with the regular diagonal matrix
+% \begin{macrocode}
+\@@_new_matrix_shorth_doc_cmd:NNn \pdiagmat \moremath_diagonal_matrix:Vn {p}
+\@@_new_matrix_shorth_doc_cmd:NNn \bdiagmat \moremath_diagonal_matrix:Vn {b}
+\@@_new_matrix_shorth_doc_cmd:NNn \Bdiagmat \moremath_diagonal_matrix:Vn {B}
+\@@_new_matrix_shorth_doc_cmd:NNn \vdiagmat \moremath_diagonal_matrix:Vn {v}
+\@@_new_matrix_shorth_doc_cmd:NNn \Vdiagmat \moremath_diagonal_matrix:Vn {V}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added commands for delimited diagonal matrices.
+% }
+% \end{macro}
+% \begin{macro}{
+% \pantidiagmat,
+% \bantidiagmat,
+% \Bantidiagmat,
+% \vantidiagmat,
+% \Vantidiagmat,
+% }
+% Now for the anti-diagonal matrix commands.
+% \begin{macrocode}
+\@@_new_matrix_shorth_doc_cmd:NNn \pantidiagmat
+ \moremath_antidiagonal_matrix:Vn {p}
+\@@_new_matrix_shorth_doc_cmd:NNn \bantidiagmat
+ \moremath_antidiagonal_matrix:Vn {b}
+\@@_new_matrix_shorth_doc_cmd:NNn \Bantidiagmat
+ \moremath_antidiagonal_matrix:Vn {B}
+\@@_new_matrix_shorth_doc_cmd:NNn \vantidiagmat
+ \moremath_antidiagonal_matrix:Vn {v}
+\@@_new_matrix_shorth_doc_cmd:NNn \Vantidiagmat
+ \moremath_antidiagonal_matrix:Vn {V}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added commands for delimited antidiagonal matrices.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \psmalldiagmat,
+% \bsmalldiagmat,
+% \Bsmalldiagmat,
+% \vsmalldiagmat,
+% \Vsmalldiagmat,
+% }
+% We continue with the inline math versions based on the \env{smallmatrix*}
+% environment.
+% \begin{macrocode}
+\@@_new_matrix_shorth_doc_cmd:NNn \psmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {p}
+\@@_new_matrix_shorth_doc_cmd:NNn \bsmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {b}
+\@@_new_matrix_shorth_doc_cmd:NNn \Bsmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {B}
+\@@_new_matrix_shorth_doc_cmd:NNn \vsmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {v}
+\@@_new_matrix_shorth_doc_cmd:NNn \Vsmalldiagmat
+ \moremath_diagonal_smallmatrix:Vn {V}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added commands for delimited diagonal matrices suitable for inline math.
+% }
+% \end{macro}
+% \begin{macro}{
+% \psmallantidiagmat,
+% \bsmallantidiagmat,
+% \Bsmallantidiagmat,
+% \vsmallantidiagmat,
+% \Vsmallantidiagmat,
+% }
+% We provide also anti-diagonal versions of the small matrices.
+% \begin{macrocode}
+\@@_new_matrix_shorth_doc_cmd:NNn \psmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {p}
+\@@_new_matrix_shorth_doc_cmd:NNn \bsmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {b}
+\@@_new_matrix_shorth_doc_cmd:NNn \Bsmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {B}
+\@@_new_matrix_shorth_doc_cmd:NNn \vsmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {v}
+\@@_new_matrix_shorth_doc_cmd:NNn \Vsmallantidiagmat
+ \moremath_antidiagonal_smallmatrix:Vn {V}
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
+% Added commands for delimited anti-diagonal matrices suitable for inline math.
+% }
+% \end{macro}
+%
+% \subsubsection{Identity Matrices}
+% We also provide document level commands for producing an identity matrix.
+% These commands are also guarded by the same variable as the other matrix commands
+% (\cs{l_@@_predef_matrix_bool}).
+%
+% \begin{macro}{
+% \idmat,
+% \smallidmat,
+% }
+% We provide two document level commands for producing the identiy matrix,
+% one for inline math mode and one for display math mode.
+%
+% We start with the display math mode version.
+% \begin{macrocode}
+\cs_if_free:NTF \idmat
+{
+ \NewDocumentCommand \idmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_id_matrix:n {#2}
+ \group_end:
+ }
+}{ % \cs_if_free:NTF \idmat FALSE BRANCH
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {\idmat}
+}
+% \end{macrocode}
+% Afterwards we continue with the inline math mode version.
+% \begin{macrocode}
+\cs_if_free:NTF \smallidmat
+{
+ \NewDocumentCommand \smallidmat { o m }
+ {
+ \group_begin:
+ \tl_if_novalue:nF {#1}
+ {
+ \keys_set:nn { moremath / matrix } {#1}
+ }
+ \moremath_id_smallmatrix:n {#2}
+ \group_end:
+ }
+}{ % \cs_if_free:NTF \smallidmat FALSE BRANCH
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {\smallidmat}
+}
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added \cs{idmat} and \cs{smallidmat} document level commands.
+% }
+% \end{macro}
+%
+% \paragraph{Identity Matrices with Pre-defined Delimiters}
+% We also define shorthands for the commonly used delimiters around matrices,
+% to avoid code duplication, we first declare a helper function for this.
+% \begin{macro}{
+% \@@_new_id_matrix_doc_cmd:NNn
+% }
+% This function creates a new document level command for an identity matrix like
+% command.
+% It allows pre-setting \meta{kv~opts}.
+% The function takes three arguments.
+% \begin{arguments}
+% \item The \meta{csname} of the document level command to define
+%
+% \item The \meta{csname} of the function to use
+%
+% This is indented to be one of \cs{moremath_id_matrix:n} or
+% \cs{moremath_id_smallmatrix:n}
+%
+% \item \meta{kv~opts} to preset in the "moremath / matrix" namespace
+% for this command
+%
+% This is meant to be used for pre-setting the key "delimiter".
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_new_id_matrix_doc_cmd:NNn
+{
+ \cs_if_free:NTF #1
+ {
+ \NewDocumentCommand #1 { o m }
+ {
+ \group_begin:
+ \tl_if_empty:nF {#3}
+ {
+ \keys_set:nn { moremath / matrix } {#3}
+ }
+ \tl_if_novalue:nF {##1}
+ {
+ \keys_set:nn { moremath / matrix } {##1}
+ }
+ #2 {##2}
+ \group_end:
+ }
+ }{ % \cs_if_free:NTF #1 FALSE BRANCH
+ \msg_warning:nnn { moremath } { matrix / already-defined-doc-cmd-skip }
+ {#1}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{
+% \pidmat,
+% \bidmat,
+% \Bidmat,
+% \vidmat,
+% \Vidmat
+% }
+% We begin with the display math versions,
+% starting with the version delimited by parenthesis,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \pidmat \moremath_id_matrix:n { delimiter = p }
+% \end{macrocode}
+% continue with the bracketed version,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \bidmat \moremath_id_matrix:n { delimiter = b }
+% \end{macrocode}
+% the version using braces,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \Bidmat \moremath_id_matrix:n { delimiter = B }
+% \end{macrocode}
+% single vertical lines,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \vidmat \moremath_id_matrix:n { delimiter = v }
+% \end{macrocode}
+% and finally double vertical lines.
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \Vidmat \moremath_id_matrix:n { delimiter = V }
+% \end{macrocode}
+%
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{
+% Added document level commands \cs{pidmat}, \cs{bidmat}, \cs{Bidmat},
+% \cs{vidmat}, and \cs{Vidmat}.
+% }
+% \end{macro}
+%
+% \begin{macro}{
+% \psmallidmat,
+% \bsmallidmat,
+% \Bsmallidmat,
+% \vsmallidmat,
+% \Vsmallidmat,
+% }
+% Now we also define shorthands for inline math mode.
+% We start again defining the version using parenthesis,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \psmallidmat \moremath_id_smallmatrix:n
+ { delimiter = p }
+% \end{macrocode}
+% then brackets,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \bsmallidmat \moremath_id_smallmatrix:n
+ { delimiter = b }
+% \end{macrocode}
+% then braces,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \Bsmallidmat \moremath_id_smallmatrix:n
+ { delimiter = B }
+% \end{macrocode}
+% followed by single vertical lines,
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \vsmallidmat \moremath_id_smallmatrix:n
+ { delimiter = v }
+% \end{macrocode}
+% and finally double vertical lines.
+% \begin{macrocode}
+\@@_new_id_matrix_doc_cmd:NNn \Vsmallidmat \moremath_id_smallmatrix:n
+ { delimiter = V }
+% \end{macrocode}
+% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
+% Added document level commands \cs{psmallidmat}, \cs{bsmallidmat},
+% \cs{Bsmallidmat}, \cs{vsmallidmat} and \cs{Vsmallidmat}.
+% }
+% \end{macro}
+%
+% \begin{macrocode}
+}{ % \bool_if:nTF \l_@@_predef_matrix_bool FALSE BRANCH
+ \msg_info:nnnn {moremath} { load / disabling } { no-matrix }
+ {
+ (anti-)diagonal~matrix~commands
+ }
+} % \bool_if:nTF \l_@@_predef_matrix_bool
+% \end{macrocode}
+%
+%
+% \section{Shorthand Macros for Absolute Value and Norm}
+% \label{sec:impl-abs-shorthands}
+%
+% We first declare another warning message to inform the user of the case that,
+% the \meta{csnames} are already taken.
+% \begin{macrocode}
+\msg_new:nnnn { moremath } { abs-shorth / csname-already-defined-skip }
+{
+ Control~sequence~'#1'~is~already~defined.\\
+ Skipping~declaration~of~paired~delimiter~\msg_line_context:.\\
+ Use~package~option~'no-abs-shorthands'~to~disable~the~paired\\
+ delimiter~shorthands.
+}{
+ The~control~sequence~'#1'~has~already~been\\
+ defined~by~something~else.\\
+ I~am~refusing~to~overwrite~its~existing~definition~and~instead~avoid\\
+ declaring~a~paired~delimiter.\\
+}
+% \end{macrocode}
+%
+%
+% As with the other parts these macros may be conditionally disabled.
+% \begin{macrocode}
+\bool_if:NTF \l_@@_predef_abs_bool
+{
+% \end{macrocode}
+% \begin{macro}{\abs,\norm}
+% These macros provide shorthands for \(\abs{\meta{content}}\)
+% and \(\norm{\meta{content}}\).
+% \begin{macrocode}
+\cs_if_free:NTF \abs
+{
+ \DeclarePairedDelimiter \abs {\lvert} {\rvert}
+}{
+ % warn if the csname is taken
+ \msg_warning:nnn { moremath } { abs-shorth / csname-already-defined-skip }
+ {\abs}
+} % \cs_if_free:NTF \abs
+
+\cs_if_free:NTF \norm
+{
+ \DeclarePairedDelimiter \norm {\lVert} {\rVert}
+}{
+ % warn if csname is already taken
+ \msg_warning:nnn { moremath } { abs-shorth / csname-already-defined-skip }
+ {\norm}
+} % \cs_if_free:NTF
+% \end{macrocode}
+% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
+% Added shorthands for absolute value and norm.
+% }
+% \end{macro}
+%
+% \begin{macrocode}
+}{
+ \msg_info:nnnn {moremath} {load / disabling} {no-abs-shorthands}
+ {
+ '\abs'~and~'\norm'~macros
+ }
+} % End of the conditional
+% \end{macrocode}
+%
+% \iffalse debug-switch
+%\debug_off:n {all}
+% \fi
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+% \end{implementation}
+%
+% \section*{Copyright and License}
+% \addcontentsline{toc}{section}{Copyright and License}
+% \label{sec:license}
+%
+% The following copyright notice applies to the \pkg{moremath} package:
+%
+% \begin{quote}
+% Copyright \textcopyright{} 2024 Marcel Ilg
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% \url{https://www.latex-project.org/lppl.txt}
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status \enquote{maintained}.
+%
+% The Current Maintainer of this work is Marcel Ilg.
+%
+% This work consists of the files listed in \file{MANIFEST.md}.
+% \end{quote}
+%
+% \noindent The file \file{MANIFEST.md} has to be distributed together with the
+% package.
+%
+%
+% \printbibliography[heading=bibintoc]
+% \PrintChanges
+% \PrintIndex
diff --git a/macros/latex/contrib/moremath/moremath.ins b/macros/latex/contrib/moremath/moremath.ins
new file mode 100644
index 0000000000..f04f2b04b2
--- /dev/null
+++ b/macros/latex/contrib/moremath/moremath.ins
@@ -0,0 +1,66 @@
+%%
+%% Copyright (C) 2024 Marcel Ilg
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%
+%% https://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status ‘maintained’.
+%%
+%% The Current Maintainer of this work is Marcel Ilg.
+%%
+%% This work consists of the files listed in MANIFEST.md.
+
+\input docstrip
+
+\usedir{tex/latex/moremath}
+
+\keepsilent
+
+\preamble
+
+This is a generated file.
+
+
+Copyright (C) 2024 Marcel Ilg
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+
+ https://www.latex-project.org/lppl.txt
+
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status ‘maintained’.
+
+The Current Maintainer of this work is Marcel Ilg.
+
+This work consists of the files listed in MANIFEST.md.
+
+\endpreamble
+
+\generate{\file{moremath.sty}{\from{moremath.dtx}{package}}}
+
+\obeyspaces
+\Msg{***************************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following file into a}
+\Msg{* directory searched by TeX:}
+\Msg{*}
+\Msg{* moremath.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file moremath.dtx through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{***************************************************************************}
+\endbatchfile
diff --git a/macros/latex/contrib/msu-thesis/README.md b/macros/latex/contrib/msu-thesis/README.md
index e46f1c7d41..d1942487f7 100644
--- a/macros/latex/contrib/msu-thesis/README.md
+++ b/macros/latex/contrib/msu-thesis/README.md
@@ -1,4 +1,4 @@
-# MSU Thesis Class Version 4.3 2024/06/07
+# MSU Thesis Class Version 4.3b 2024/07/08
Copyright 2011-2024 by Alan Munn <amunn@msu.edu>
diff --git a/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex b/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
index 4a65332621..ffd0904eb8 100644
--- a/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
+++ b/macros/latex/contrib/msu-thesis/docs/msu-thesis.tex
@@ -2,8 +2,8 @@
\documentclass[11pt]{article}
-\def\msuversion{4.3}
-\def\msudate{2024/06/07}
+\def\msuversion{4.3b}
+\def\msudate{2024/07/08}
\title{\textbf{Using the MSU Thesis Class}}
\author{\textbf{Alan Munn}\\Department of Linguistics, Languages, and Cultures\\Michigan State University\\\texttt{\href{mailto:amunn@msu.edu}{amunn@msu.edu}}}
\date{Version \msuversion\\\msudate}
@@ -467,7 +467,7 @@ Florent Chervet for early \pkg{hyperref} code (up until v.3.6), and Ulrike Fisch
current \pkg{hyperref} code. Thanks to David Carlisle for helping me understand a ridiculous spacing problem.
Thanks also to the following people who have reported
problems over the years: Irina Agafonova, Ali Al-jiboory, Abubakr Ayesh, Julian Blank,
-Nathan Brugnone, Dmitriy Bryndin, Greg Christian, Kyle Crayne, Ciaron Hamilton, Matt Husband, Changkuk
+Nathan Brugnone, Dmitriy Bryndin, Harrison Cassady, Greg Christian, Kyle Crayne, Ciaron Hamilton, Matt Husband, Changkuk
Jung, Minkyu Kim, Claire Kopenhafer, Adam Liter, Vanessa Maldonado, Andriana Manousidaki, Ben Miller, William Muir, Eureka
Pai, Alicia Parrish, Victoria Parrish, Neil ver Planck, Taha Posos, Nick Rekuski, Giacomo Romanini, William Sands, Adam
Soliman, Mookyong Son, Erik Stitt, Fanurs C.E. Teh, Eremey Valetov, Matthew Vincent, Michael Wojcik, Stephen Yowono, Atacan Yücesoy, Ali
diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.cls b/macros/latex/contrib/msu-thesis/msu-thesis.cls
index 7f5955ab4a..538a98da06 100644
--- a/macros/latex/contrib/msu-thesis/msu-thesis.cls
+++ b/macros/latex/contrib/msu-thesis/msu-thesis.cls
@@ -194,10 +194,11 @@
% Version 4.2 2024/02/18 Changed spacing for sections to address complaints about adjacent sectioning commands
% Version 4.2b 2024/05/16 Added version check for l3kernel.
% Version 4.3 2024/06/07 Fixed bug with TOCs when calc package was loaded; added \msuappendixdelim
+% Version 4.3b 2024/07/08 Fixed spurious page break with biblatex per chapter bibliographies
% Report bugs/problems/questions to <amunn@msu.edu>
%
-\def\msu@version{4.3}
-\def\msu@date{2024/06/07}
+\def\msu@version{4.3b}
+\def\msu@date{2024/07/08}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{msu-thesis}[\msu@date\space Michigan State University Thesis Class version \msu@version]
\@ifundefined{ExplLoaderFileDate}
@@ -837,9 +838,10 @@ chapterapp.code = {
% This code probably needs to be revisited since it’s a unholy amalgam of old and new code
% Removed clearpage from the document level code in response to issue #26.
% Problem seems to only arise with biblatex so more testing is needed
+% Added test for natbib here 7/8/2024 because biblatex produces extra page
\newcommand\msu@addbibheadtotoc{%
\ifmsu@chapterbib
- \clearpage\phantomsection\addcontentsline{toc}{\msu@bibsection}{\bibtocname}
+ \@ifpackageloaded{natbib}{\clearpage}{}\phantomsection\addcontentsline{toc}{\msu@bibsection}{\bibtocname}
\else
\phantomsection\addcontentsline{toc}{chapter}{\bibtocname}
\fi
diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.pdf b/macros/latex/contrib/msu-thesis/msu-thesis.pdf
index 89adadc332..11fe39050a 100644
--- a/macros/latex/contrib/msu-thesis/msu-thesis.pdf
+++ b/macros/latex/contrib/msu-thesis/msu-thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
index 6e9c51144e..2de16c4965 100644
--- a/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
+++ b/macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix-code.dtx b/macros/latex/contrib/nicematrix/nicematrix-code.dtx
index 05251bd9cd..58a841a655 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-code.dtx
+++ b/macros/latex/contrib/nicematrix/nicematrix-code.dtx
@@ -17,8 +17,8 @@
%
% \fi
% \iffalse
-\def\myfileversion{6.28b}
-\def\myfiledate{2024/06/29}
+\def\myfileversion{6.28c}
+\def\myfiledate{2024/08/22}
%
%
%<*batchfile>
@@ -2449,7 +2449,7 @@ version 2005/12/01 or later.
%
% \bigskip
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / xdots }
+\keys_define:nn { nicematrix / xdots }
{
shorten-start .code:n =
\hook_gput_code:nnn { begindocument } { . }
@@ -2509,7 +2509,7 @@ version 2005/12/01 or later.
%
% \bigskip
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / rules }
+\keys_define:nn { nicematrix / rules }
{
color .tl_set:N = \l_@@_rules_color_tl ,
color .value_required:n = true ,
@@ -2521,11 +2521,11 @@ version 2005/12/01 or later.
%
%
% \bigskip
-% First, we define a set of keys ``|NiceMatrix / Global|'' which will be used
+% First, we define a set of keys ``|nicematrix / Global|'' which will be used
% (with the mechanism of |.inherit:n|) by other sets of keys.
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Global }
+\keys_define:nn { nicematrix / Global }
{
ampersand-in-blocks .bool_set:N = \l_@@_amp_in_blocks_bool ,
ampersand-in-blocks .default:n = true ,
@@ -2537,7 +2537,7 @@ version 2005/12/01 or later.
rounded-corners .dim_set:N = \l_@@_tab_rounded_corners_dim ,
rounded-corners .default:n = 4 pt ,
custom-line .code:n = \@@_custom_line:n { #1 } ,
- rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
+ rules .code:n = \keys_set:nn { nicematrix / rules } { #1 } ,
rules .value_required:n = true ,
standard-cline .bool_set:N = \l_@@_standard_cline_bool ,
standard-cline .default:n = true ,
@@ -2551,7 +2551,7 @@ version 2005/12/01 or later.
cell-space-bottom-limit = #1 ,
} ,
cell-space-limits .value_required:n = true ,
- xdots .code:n = \keys_set:nn { NiceMatrix / xdots } { #1 } ,
+ xdots .code:n = \keys_set:nn { nicematrix / xdots } { #1 } ,
light-syntax .code:n =
\bool_set_true:N \l_@@_light_syntax_bool
\bool_set_false:N \l_@@_light_syntax_expanded_bool ,
@@ -2644,7 +2644,7 @@ version 2005/12/01 or later.
% We define a set of keys used by the environments of \pkg{nicematrix} (but not
% by the command |\NiceMatrixOptions|).
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Env }
+\keys_define:nn { nicematrix / environments }
{
corners .clist_set:N = \l_@@_corners_clist ,
corners .default:n = { NW , SW , NE , SE } ,
@@ -2698,7 +2698,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / notes }
+\keys_define:nn { nicematrix / notes }
{
para .bool_set:N = \l_@@_notes_para_bool ,
para .default:n = true ,
@@ -2741,7 +2741,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / delimiters }
+\keys_define:nn { nicematrix / delimiters }
{
max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
max-width .default:n = true ,
@@ -2754,63 +2754,63 @@ version 2005/12/01 or later.
% We begin the construction of the major sets of keys (used by the different
% user commands and environments).
% \begin{macrocode}
-\keys_define:nn { NiceMatrix }
+\keys_define:nn { nicematrix }
{
NiceMatrixOptions .inherit:n =
- { NiceMatrix / Global } ,
- NiceMatrixOptions / xdots .inherit:n = NiceMatrix / xdots ,
- NiceMatrixOptions / rules .inherit:n = NiceMatrix / rules ,
- NiceMatrixOptions / notes .inherit:n = NiceMatrix / notes ,
- NiceMatrixOptions / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
- SubMatrix / rules .inherit:n = NiceMatrix / rules ,
- CodeAfter / xdots .inherit:n = NiceMatrix / xdots ,
- CodeBefore / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
- CodeAfter / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
+ { nicematrix / Global } ,
+ NiceMatrixOptions / xdots .inherit:n = nicematrix / xdots ,
+ NiceMatrixOptions / rules .inherit:n = nicematrix / rules ,
+ NiceMatrixOptions / notes .inherit:n = nicematrix / notes ,
+ NiceMatrixOptions / sub-matrix .inherit:n = nicematrix / sub-matrix ,
+ SubMatrix / rules .inherit:n = nicematrix / rules ,
+ CodeAfter / xdots .inherit:n = nicematrix / xdots ,
+ CodeBefore / sub-matrix .inherit:n = nicematrix / sub-matrix ,
+ CodeAfter / sub-matrix .inherit:n = nicematrix / sub-matrix ,
NiceMatrix .inherit:n =
{
- NiceMatrix / Global ,
- NiceMatrix / Env ,
+ nicematrix / Global ,
+ nicematrix / environments ,
} ,
- NiceMatrix / xdots .inherit:n = NiceMatrix / xdots ,
- NiceMatrix / rules .inherit:n = NiceMatrix / rules ,
+ NiceMatrix / xdots .inherit:n = nicematrix / xdots ,
+ NiceMatrix / rules .inherit:n = nicematrix / rules ,
NiceTabular .inherit:n =
{
- NiceMatrix / Global ,
- NiceMatrix / Env
+ nicematrix / Global ,
+ nicematrix / environments
} ,
- NiceTabular / xdots .inherit:n = NiceMatrix / xdots ,
- NiceTabular / rules .inherit:n = NiceMatrix / rules ,
- NiceTabular / notes .inherit:n = NiceMatrix / notes ,
+ NiceTabular / xdots .inherit:n = nicematrix / xdots ,
+ NiceTabular / rules .inherit:n = nicematrix / rules ,
+ NiceTabular / notes .inherit:n = nicematrix / notes ,
NiceArray .inherit:n =
{
- NiceMatrix / Global ,
- NiceMatrix / Env ,
+ nicematrix / Global ,
+ nicematrix / environments ,
} ,
- NiceArray / xdots .inherit:n = NiceMatrix / xdots ,
- NiceArray / rules .inherit:n = NiceMatrix / rules ,
+ NiceArray / xdots .inherit:n = nicematrix / xdots ,
+ NiceArray / rules .inherit:n = nicematrix / rules ,
pNiceArray .inherit:n =
{
- NiceMatrix / Global ,
- NiceMatrix / Env ,
+ nicematrix / Global ,
+ nicematrix / environments ,
} ,
- pNiceArray / xdots .inherit:n = NiceMatrix / xdots ,
- pNiceArray / rules .inherit:n = NiceMatrix / rules ,
+ pNiceArray / xdots .inherit:n = nicematrix / xdots ,
+ pNiceArray / rules .inherit:n = nicematrix / rules ,
}
% \end{macrocode}
%
%
% \bigskip
% We finalise the definition of the set of keys
-% ``|NiceMatrix / NiceMatrixOptions|'' with the options specific to
+% ``|nicematrix / NiceMatrixOptions|'' with the options specific to
% |\NiceMatrixOptions|.
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / NiceMatrixOptions }
+\keys_define:nn { nicematrix / NiceMatrixOptions }
{
delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
delimiters / color .value_required:n = true ,
delimiters / max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
delimiters / max-width .default:n = true ,
- delimiters .code:n = \keys_set:nn { NiceMatrix / delimiters } { #1 } ,
+ delimiters .code:n = \keys_set:nn { nicematrix / delimiters } { #1 } ,
delimiters .value_required:n = true ,
width .dim_set:N = \l_@@_width_dim ,
width .value_required:n = true ,
@@ -2858,9 +2858,9 @@ version 2005/12/01 or later.
allow-duplicate-names .code:n =
\@@_msg_redirect_name:nn { Duplicate~name } { none } ,
allow-duplicate-names .value_forbidden:n = true ,
- notes .code:n = \keys_set:nn { NiceMatrix / notes } { #1 } ,
+ notes .code:n = \keys_set:nn { nicematrix / notes } { #1 } ,
notes .value_required:n = true ,
- sub-matrix .code:n = \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
+ sub-matrix .code:n = \keys_set:nn { nicematrix / sub-matrix } { #1 } ,
sub-matrix .value_required:n = true ,
matrix / columns-type .tl_set:N = \l_@@_columns_type_tl ,
matrix / columns-type .value_required:n = true ,
@@ -2878,17 +2878,17 @@ version 2005/12/01 or later.
% current TeX group.
% \begin{macrocode}
\NewDocumentCommand \NiceMatrixOptions { m }
- { \keys_set:nn { NiceMatrix / NiceMatrixOptions } { #1 } }
+ { \keys_set:nn { nicematrix / NiceMatrixOptions } { #1 } }
% \end{macrocode}
%
%
% \bigskip
-% We finalise the definition of the set of keys ``|NiceMatrix / NiceMatrix|''.
+% We finalise the definition of the set of keys ``|nicematrix / NiceMatrix|''.
% That set of keys will be used by |{NiceMatrix}|, |{pNiceMatrix}|,
% |{bNiceMatrix}|, etc.
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / NiceMatrix }
+\keys_define:nn { nicematrix / NiceMatrix }
{
last-col .code:n = \tl_if_empty:nTF { #1 }
{
@@ -2904,7 +2904,7 @@ version 2005/12/01 or later.
delimiters / color .value_required:n = true ,
delimiters / max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
delimiters / max-width .default:n = true ,
- delimiters .code:n = \keys_set:nn { NiceMatrix / delimiters } { #1 } ,
+ delimiters .code:n = \keys_set:nn { nicematrix / delimiters } { #1 } ,
delimiters .value_required:n = true ,
small .bool_set:N = \l_@@_small_bool ,
small .value_forbidden:n = true ,
@@ -2915,11 +2915,11 @@ version 2005/12/01 or later.
%
%
% \bigskip
-% We finalise the definition of the set of keys ``|NiceMatrix / NiceArray|''
+% We finalise the definition of the set of keys ``|nicematrix / NiceArray|''
% with the options specific to |{NiceArray}|.
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / NiceArray }
+\keys_define:nn { nicematrix / NiceArray }
{
% \end{macrocode}
%
@@ -2941,7 +2941,7 @@ version 2005/12/01 or later.
%
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / pNiceArray }
+\keys_define:nn { nicematrix / pNiceArray }
{
first-col .code:n = \int_zero:N \l_@@_first_col_int ,
last-col .code:n = \tl_if_empty:nF {#1}
@@ -2952,7 +2952,7 @@ version 2005/12/01 or later.
delimiters / color .value_required:n = true ,
delimiters / max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
delimiters / max-width .default:n = true ,
- delimiters .code:n = \keys_set:nn { NiceMatrix / delimiters } { #1 } ,
+ delimiters .code:n = \keys_set:nn { nicematrix / delimiters } { #1 } ,
delimiters .value_required:n = true ,
small .bool_set:N = \l_@@_small_bool ,
small .value_forbidden:n = true ,
@@ -2963,11 +2963,11 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% We finalise the definition of the set of keys ``|NiceMatrix / NiceTabular|''
+% We finalise the definition of the set of keys ``|nicematrix / NiceTabular|''
% with the options specific to |{NiceTabular}|.
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / NiceTabular }
+\keys_define:nn { nicematrix / NiceTabular }
{
% \end{macrocode}
% The dimension |width| will be used if at least a column of type |X| is used.
@@ -2976,7 +2976,7 @@ version 2005/12/01 or later.
width .code:n = \dim_set:Nn \l_@@_width_dim { #1 }
\bool_set_true:N \l_@@_width_used_bool ,
width .value_required:n = true ,
- notes .code:n = \keys_set:nn { NiceMatrix / notes } { #1 } ,
+ notes .code:n = \keys_set:nn { nicematrix / notes } { #1 } ,
tabularnote .tl_gset:N = \g_@@_tabularnote_tl ,
tabularnote .value_required:n = true ,
caption .tl_set:N = \l_@@_caption_tl ,
@@ -3003,18 +3003,18 @@ version 2005/12/01 or later.
% We \emph{must} put the following instructions \emph{after} the :
%
% \begin{verbatim}
-% CodeAfter / sub-matrix .inherit:n = NiceMatrix / sub-matrix
+% CodeAfter / sub-matrix .inherit:n = nicematrix / sub-matrix
% \end{verbatim}
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / CodeAfter }
+\keys_define:nn { nicematrix / CodeAfter }
{
delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
delimiters / color .value_required:n = true ,
- rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
+ rules .code:n = \keys_set:nn { nicematrix / rules } { #1 } ,
rules .value_required:n = true ,
- xdots .code:n = \keys_set:nn { NiceMatrix / xdots } { #1 } ,
- sub-matrix .code:n = \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
+ xdots .code:n = \keys_set:nn { nicematrix / xdots } { #1 } ,
+ sub-matrix .code:n = \keys_set:nn { nicematrix / sub-matrix } { #1 } ,
sub-matrix .value_required:n = true ,
unknown .code:n = \@@_error:n { Unknown~key~for~CodeAfter }
}
@@ -4282,11 +4282,11 @@ version 2005/12/01 or later.
%
% \bigskip
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / CodeBefore }
+\keys_define:nn { nicematrix / CodeBefore }
{
create-cell-nodes .bool_gset:N = \g_@@_recreate_cell_nodes_bool ,
create-cell-nodes .default:n = true ,
- sub-matrix .code:n = \keys_set:nn { NiceMatrix / sub-matrix } { #1 } ,
+ sub-matrix .code:n = \keys_set:nn { nicematrix / sub-matrix } { #1 } ,
sub-matrix .value_required:n = true ,
delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
delimiters / color .value_required:n = true ,
@@ -4298,7 +4298,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\NewDocumentCommand \@@_CodeBefore_keys: { O { } }
{
- \keys_set:nn { NiceMatrix / CodeBefore } { #1 }
+ \keys_set:nn { nicematrix / CodeBefore } { #1 }
\@@_CodeBefore:w
}
% \end{macrocode}
@@ -4559,8 +4559,8 @@ version 2005/12/01 or later.
% |{NiceArray}|, we have the options |t|, |c|, |b| and |baseline|.
% \begin{macrocode}
\bool_if:NTF \g_@@_delims_bool
- { \keys_set:nn { NiceMatrix / pNiceArray } }
- { \keys_set:nn { NiceMatrix / NiceArray } }
+ { \keys_set:nn { nicematrix / pNiceArray } }
+ { \keys_set:nn { nicematrix / NiceArray } }
{ #3 , #5 }
% \end{macrocode}
%
@@ -4592,7 +4592,7 @@ version 2005/12/01 or later.
\skip_horizontal:N \l_@@_right_margin_dim
\skip_horizontal:N \l_@@_extra_right_margin_dim
- % % awful workaround
+ % awful workaround
\int_compare:nNnT \g_@@_col_total_int = \c_one_int
{
\dim_compare:nNnT \l_@@_columns_width_dim > \c_zero_dim
@@ -6153,6 +6153,24 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
+% \bigskip
+% We want |\cellcolor| to be available in |\multicolumn| because |\cellcolor| of
+% \pkg{colortbl} is available in |\multicolumn|.
+% \begin{macrocode}
+ \RenewDocumentCommand \cellcolor { O { } m }
+ {
+ \@@_test_color_inside:
+ \tl_gput_right:Nx \g_@@_pre_code_before_tl
+ {
+ \@@_rectanglecolor [ ##1 ]
+ { \exp_not:n { ##2 } }
+ { \int_use:N \c@iRow - \int_use:N \c@jCol }
+ { \int_use:N \c@iRow - \int_eval:n { \c@jCol + #1 } }
+ }
+ \ignorespaces
+ }
+% \end{macrocode}
+%
% \medskip
% The following lines were in the original definition of |\multicolumn|.
% \begin{macrocode}
@@ -7487,7 +7505,7 @@ version 2005/12/01 or later.
\bool_set_true:N \l_@@_last_col_without_value_bool
\int_set:Nn \l_@@_last_col_int { -1 }
}
- \keys_set:nn { NiceMatrix / NiceMatrix } { ##1 }
+ \keys_set:nn { nicematrix / NiceMatrix } { ##1 }
\@@_begin_of_NiceMatrix:nV { #1 } \l_@@_columns_type_tl
}
{ \use:c { end #1 NiceArray } }
@@ -7505,7 +7523,7 @@ version 2005/12/01 or later.
\bool_set_true:N \l_@@_last_col_without_value_bool
\int_set:Nn \l_@@_last_col_int { -1 }
}
- \keys_set:nn { NiceMatrix / NiceMatrix } { #1 }
+ \keys_set:nn { nicematrix / NiceMatrix } { #1 }
\bool_lazy_or:nnT
{ \clist_if_empty_p:N \l_@@_vlines_clist }
{ \l_@@_except_borders_bool }
@@ -7536,7 +7554,7 @@ version 2005/12/01 or later.
\dim_compare:nNnT \l_@@_width_dim = \c_zero_dim
{ \dim_set_eq:NN \l_@@_width_dim \linewidth }
\str_gset:Nn \g_@@_name_env_str { NiceTabular }
- \keys_set:nn { NiceMatrix / NiceTabular } { #1 , #3 }
+ \keys_set:nn { nicematrix / NiceTabular } { #1 , #3 }
\tl_if_empty:NF \l_@@_short_caption_tl
{
\tl_if_empty:NT \l_@@_caption_tl
@@ -7588,7 +7606,7 @@ version 2005/12/01 or later.
\str_gset:Nn \g_@@_name_env_str { NiceTabularX }
\dim_zero_new:N \l_@@_width_dim
\dim_set:Nn \l_@@_width_dim { #1 }
- \keys_set:nn { NiceMatrix / NiceTabular } { #2 , #4 }
+ \keys_set:nn { nicematrix / NiceTabular } { #2 , #4 }
\@@_settings_for_tabular:
\NiceArray { #3 }
}
@@ -7605,7 +7623,7 @@ version 2005/12/01 or later.
{
\str_gset:Nn \g_@@_name_env_str { NiceTabular* }
\dim_set:Nn \l_@@_tabular_width_dim { #1 }
- \keys_set:nn { NiceMatrix / NiceTabular } { #2 , #4 }
+ \keys_set:nn { nicematrix / NiceTabular } { #2 , #4 }
\@@_settings_for_tabular:
\NiceArray { #3 }
}
@@ -7969,7 +7987,7 @@ version 2005/12/01 or later.
% the |\CodeBefore.|
% \begin{macrocode}
\NewDocumentCommand \@@_CodeAfter_keys: { O { } }
- { \keys_set:nn { NiceMatrix / CodeAfter } { #1 } }
+ { \keys_set:nn { nicematrix / CodeAfter } { #1 } }
% \end{macrocode}
%
%
@@ -8578,7 +8596,7 @@ version 2005/12/01 or later.
\int_compare:nNnT { #1 } = \l_@@_last_row_int
{ \color { nicematrix-last-row } }
}
- \keys_set:nn { NiceMatrix / xdots } { #3 }
+ \keys_set:nn { nicematrix / xdots } { #3 }
\tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
\@@_actually_draw_Ldots:
\group_end:
@@ -8673,7 +8691,7 @@ version 2005/12/01 or later.
\int_compare:nNnT { #1 } = \l_@@_last_row_int
{ \color { nicematrix-last-row } }
}
- \keys_set:nn { NiceMatrix / xdots } { #3 }
+ \keys_set:nn { nicematrix / xdots } { #3 }
\tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
\@@_actually_draw_Cdots:
\group_end:
@@ -8801,7 +8819,7 @@ version 2005/12/01 or later.
\int_compare:nNnT { #2 } = \l_@@_last_col_int
{ \color { nicematrix-last-col } }
}
- \keys_set:nn { NiceMatrix / xdots } { #3 }
+ \keys_set:nn { nicematrix / xdots } { #3 }
\tl_if_empty:oF \l_@@_xdots_color_tl
{ \color { \l_@@_xdots_color_tl } }
\@@_actually_draw_Vdots:
@@ -8950,7 +8968,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\group_begin:
\@@_open_shorten:
- \keys_set:nn { NiceMatrix / xdots } { #3 }
+ \keys_set:nn { nicematrix / xdots } { #3 }
\tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
\@@_actually_draw_Ddots:
\group_end:
@@ -9014,11 +9032,14 @@ version 2005/12/01 or later.
% extremity of the line by modifying the coordinate |\l_@@_x_initial_dim|.
% \begin{macrocode}
{
- \dim_set:Nn \l_@@_y_final_dim
- {
- \l_@@_y_initial_dim +
- ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
- \dim_ratio:nn \g_@@_delta_y_one_dim \g_@@_delta_x_one_dim
+ \dim_compare:nNnF \g_@@_delta_x_one_dim = \c_zero_dim
+ {
+ \dim_set:Nn \l_@@_y_final_dim
+ {
+ \l_@@_y_initial_dim +
+ ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
+ \dim_ratio:nn \g_@@_delta_y_one_dim \g_@@_delta_x_one_dim
+ }
}
}
}
@@ -9045,7 +9066,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\group_begin:
\@@_open_shorten:
- \keys_set:nn { NiceMatrix / xdots } { #3 }
+ \keys_set:nn { nicematrix / xdots } { #3 }
\tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
\@@_actually_draw_Iddots:
\group_end:
@@ -9090,11 +9111,14 @@ version 2005/12/01 or later.
{ \l_@@_y_final_dim - \l_@@_y_initial_dim }
}
{
- \dim_set:Nn \l_@@_y_final_dim
- {
- \l_@@_y_initial_dim +
- ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
- \dim_ratio:nn \g_@@_delta_y_two_dim \g_@@_delta_x_two_dim
+ \dim_compare:nNnF \g_@@_delta_x_two_dim = \c_zero_dim
+ {
+ \dim_set:Nn \l_@@_y_final_dim
+ {
+ \l_@@_y_initial_dim +
+ ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
+ \dim_ratio:nn \g_@@_delta_y_two_dim \g_@@_delta_x_two_dim
+ }
}
}
}
@@ -9603,7 +9627,7 @@ version 2005/12/01 or later.
\l_@@_last_col_int { \@@_error:nn { in~last~col } \Ddots }
}
{
- \keys_set_known:nn { NiceMatrix / Ddots } { #1 }
+ \keys_set_known:nn { nicematrix / Ddots } { #1 }
\@@_instruction_of_type:nnn \l_@@_draw_first_bool { Ddots }
{ #1 , down = #2 , up = #3 , middle = #4 }
}
@@ -9633,7 +9657,7 @@ version 2005/12/01 or later.
\l_@@_last_col_int { \@@_error:nn { in~last~col } \Iddots }
}
{
- \keys_set_known:nn { NiceMatrix / Ddots } { #1 }
+ \keys_set_known:nn { nicematrix / Ddots } { #1 }
\@@_instruction_of_type:nnn \l_@@_draw_first_bool { Iddots }
{ #1 , down = #2 , up = #3 , middle = #4 }
}
@@ -9651,7 +9675,7 @@ version 2005/12/01 or later.
% Despite its name, the following set of keys will be used for |\Ddots| but also
% for |\Iddots|.
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Ddots }
+\keys_define:nn { nicematrix / Ddots }
{
draw-first .bool_set:N = \l_@@_draw_first_bool ,
draw-first .default:n = true ,
@@ -9810,7 +9834,7 @@ version 2005/12/01 or later.
{ \color { nicematrix-last-row } }
}
- \keys_set:nn { NiceMatrix / xdots } { #4 }
+ \keys_set:nn { nicematrix / xdots } { #4 }
\tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
\@@_actually_draw_Ldots:
\group_end:
@@ -9916,7 +9940,7 @@ version 2005/12/01 or later.
\int_compare:nNnT { #2 } = \g_@@_col_total_int
{ \color { nicematrix-last-col } }
}
- \keys_set:nn { NiceMatrix / xdots } { #4 }
+ \keys_set:nn { nicematrix / xdots } { #4 }
\tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
\@@_actually_draw_Vdots:
\group_end:
@@ -9943,14 +9967,14 @@ version 2005/12/01 or later.
\peek_remove_spaces:n
{
\bool_gset_true:N \g_@@_rotate_bool
- \keys_set:nn { NiceMatrix / rotate } { #1 }
+ \keys_set:nn { nicematrix / rotate } { #1 }
}
}
% \end{macrocode}
%
% \bigskip
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / rotate }
+\keys_define:nn { nicematrix / rotate }
{
c .code:n = \bool_gset_true:N \g_@@_rotate_c_bool ,
c .value_forbidden:n = true ,
@@ -10004,7 +10028,7 @@ version 2005/12/01 or later.
\exp_args:NNo \NewDocumentCommand \@@_line \l_@@_argspec_tl
{
\group_begin:
- \keys_set:nn { NiceMatrix / xdots } { #1 , #4 , down = #5 , up = #6 }
+ \keys_set:nn { nicematrix / xdots } { #1 , #4 , down = #5 , up = #6 }
\tl_if_empty:oF \l_@@_xdots_color_tl { \color { \l_@@_xdots_color_tl } }
\use:e
{
@@ -10125,7 +10149,7 @@ version 2005/12/01 or later.
% \end{macrocode}
% \medskip
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / RowStyle }
+\keys_define:nn { nicematrix / RowStyle }
{
cell-space-top-limit .dim_set:N = \l_tmpa_dim ,
cell-space-top-limit .value_required:n = true ,
@@ -10162,7 +10186,7 @@ version 2005/12/01 or later.
\int_set_eq:NN \l_@@_key_nb_rows_int \c_one_int
\dim_zero:N \l_tmpa_dim
\dim_zero:N \l_tmpb_dim
- \keys_set:nn { NiceMatrix / RowStyle } { #1 }
+ \keys_set:nn { nicematrix / RowStyle } { #1 }
% \end{macrocode}
% If the key |rowcolor| has been used.
% \begin{macrocode}
@@ -10608,7 +10632,7 @@ version 2005/12/01 or later.
%
% \bigskip
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / rowcolors }
+\keys_define:nn { nicematrix / rowcolors }
{
respect-blocks .bool_set:N = \l_@@_respect_blocks_bool ,
respect-blocks .default:n = true ,
@@ -10645,7 +10669,7 @@ version 2005/12/01 or later.
\seq_set_split:Nnn \l_@@_colors_seq { , } { #3 }
\tl_clear_new:N \l_@@_cols_tl
\cs_set_nopar:Npn \l_@@_cols_tl { - }
- \keys_set:nn { NiceMatrix / rowcolors } { #4 }
+ \keys_set:nn { nicematrix / rowcolors } { #4 }
% \end{macrocode}
% The counter |\l_@@_color_int| will be the rank of the current color in the list of
% colors (modulo the length of the list).
@@ -11304,7 +11328,7 @@ version 2005/12/01 or later.
% However, unknown keys will be analyzed further with another set of keys.
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Rules }
+\keys_define:nn { nicematrix / Rules }
{
position .int_set:N = \l_@@_position_int ,
position .value_required:n = true ,
@@ -11327,7 +11351,7 @@ version 2005/12/01 or later.
% following set of keys.
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / RulesBis }
+\keys_define:nn { nicematrix / RulesBis }
{
multiplicity .int_set:N = \l_@@_multiplicity_int ,
multiplicity .initial:n = 1 ,
@@ -11378,7 +11402,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\group_begin:
\int_set_eq:NN \l_@@_end_int \c@iRow
- \keys_set_known:nnN { NiceMatrix / Rules } { #1 } \l_@@_other_keys_tl
+ \keys_set_known:nnN { nicematrix / Rules } { #1 } \l_@@_other_keys_tl
% \end{macrocode}
% The following test is for the case where the user does not use all the columns
% specified in the preamble of the environment (for instance, a preamble of
@@ -11477,7 +11501,7 @@ version 2005/12/01 or later.
\cs_new_protected:Npn \@@_vline_ii:
{
\tl_clear:N \l_@@_tikz_rule_tl
- \keys_set:nV { NiceMatrix / RulesBis } \l_@@_other_keys_tl
+ \keys_set:nV { nicematrix / RulesBis } \l_@@_other_keys_tl
\bool_if:NTF \l_@@_dotted_bool
\@@_vline_iv:
{
@@ -11633,7 +11657,7 @@ version 2005/12/01 or later.
% \bigskip
% The following command will be executed in the internal |\CodeAfter|. The
% argument |#1| is a list of \textsl{key=value} pairs of the form
-% |{NiceMatrix/Rules}|.
+% |{nicematrix/Rules}|.
% \begin{macrocode}
\cs_new_protected:Npn \@@_hline:n #1
{
@@ -11643,7 +11667,7 @@ version 2005/12/01 or later.
\group_begin:
\int_zero_new:N \l_@@_end_int
\int_set_eq:NN \l_@@_end_int \c@jCol
- \keys_set_known:nnN { NiceMatrix / Rules } { #1 } \l_@@_other_keys_tl
+ \keys_set_known:nnN { nicematrix / Rules } { #1 } \l_@@_other_keys_tl
\@@_hline_i:
\group_end:
}
@@ -11738,7 +11762,7 @@ version 2005/12/01 or later.
\cs_new_protected:Npn \@@_hline_ii:
{
\tl_clear:N \l_@@_tikz_rule_tl
- \keys_set:nV { NiceMatrix / RulesBis } \l_@@_other_keys_tl
+ \keys_set:nV { nicematrix / RulesBis } \l_@@_other_keys_tl
\bool_if:NTF \l_@@_dotted_bool
\@@_hline_iv:
{
@@ -12018,7 +12042,7 @@ version 2005/12/01 or later.
\str_clear_new:N \l_@@_ccommand_str
\str_clear_new:N \l_@@_letter_str
\tl_clear_new:N \l_@@_other_keys_tl
- \keys_set_known:nnN { NiceMatrix / custom-line } { #1 } \l_@@_other_keys_tl
+ \keys_set_known:nnN { nicematrix / custom-line } { #1 } \l_@@_other_keys_tl
% \end{macrocode}
% If the final user only wants to draw horizontal rules, he does not need to
% specify a letter (for the vertical rules in the preamble of the array). On the
@@ -12040,7 +12064,7 @@ version 2005/12/01 or later.
%
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / custom-line }
+\keys_define:nn { nicematrix / custom-line }
{
letter .str_set:N = \l_@@_letter_str ,
letter .value_required:n = true ,
@@ -12064,7 +12088,7 @@ version 2005/12/01 or later.
\bool_set_false:N \l_@@_color_bool
% \end{macrocode}
% \begin{macrocode}
- \keys_set:nn { NiceMatrix / custom-line-bis } { #1 }
+ \keys_set:nn { nicematrix / custom-line-bis } { #1 }
\bool_if:NT \l_@@_tikz_rule_bool
{
\IfPackageLoadedTF { tikz }
@@ -12112,10 +12136,10 @@ version 2005/12/01 or later.
% The previous command |\@@_custom_line_i:n| uses the following set of keys.
% However, the whole definition of the customized lines (as provided by the
% final user as argument of |custom-line|) will also be used further with
-% other sets of keys (for instance |{NiceMatrix/Rules}|). That's why the
+% other sets of keys (for instance |{nicematrix/Rules}|). That's why the
% following set of keys has some keys which are no-op.
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / custom-line-bis }
+\keys_define:nn { nicematrix / custom-line-bis }
{
multiplicity .int_set:N = \l_@@_multiplicity_int ,
multiplicity .initial:n = 1 ,
@@ -12150,7 +12174,7 @@ version 2005/12/01 or later.
% deprecated and has been replaced by the key |total-width|.
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / custom-line-width }
+\keys_define:nn { nicematrix / custom-line-width }
{
multiplicity .int_set:N = \l_@@_multiplicity_int ,
multiplicity .initial:n = 1 ,
@@ -12240,7 +12264,7 @@ version 2005/12/01 or later.
\bool_set_false:N \l_@@_tikz_rule_bool
\bool_set_false:N \l_@@_total_width_bool
\bool_set_false:N \l_@@_dotted_rule_bool
- \keys_set_known:nn { NiceMatrix / custom-line-width } { #1 }
+ \keys_set_known:nn { nicematrix / custom-line-width } { #1 }
\bool_if:NF \l_@@_total_width_bool
{
\bool_if:NTF \l_@@_dotted_rule_bool
@@ -12566,7 +12590,7 @@ version 2005/12/01 or later.
% Up to now, there is only one option available for the environment
% |{NiceMatrixBlock}|.
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / NiceMatrixBlock }
+\keys_define:nn { nicematrix / NiceMatrixBlock }
{
auto-columns-width .code:n =
{
@@ -12583,7 +12607,7 @@ version 2005/12/01 or later.
{
\int_gincr:N \g_@@_NiceMatrixBlock_int
\dim_zero:N \l_@@_columns_width_dim
- \keys_set:nn { NiceMatrix / NiceMatrixBlock } { #1 }
+ \keys_set:nn { nicematrix / NiceMatrixBlock } { #1 }
\bool_if:NT \l_@@_block_auto_columns_width_bool
{
\cs_if_exist:cT
@@ -12998,7 +13022,7 @@ version 2005/12/01 or later.
% array (and once again when the block will be put in the array).
% Here is the set of keys for the first pass (in the cell of the array).
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Block / FirstPass }
+\keys_define:nn { nicematrix / Block / FirstPass }
{
j .code:n = \str_set:Nn \l_@@_hpos_block_str j
\bool_set_true:N \l_@@_p_block_bool ,
@@ -13042,6 +13066,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
%
+%
% The following command |\@@_Block:| will be linked to |\Block| in the
% environments of \pkg{nicematrix}. We define it with
% |\NewExpandableDocumentCommand| because it has an optional argument between~
@@ -13139,7 +13164,7 @@ version 2005/12/01 or later.
%
% \medskip
% \begin{macrocode}
- \keys_set_known:nn { NiceMatrix / Block / FirstPass } { #3 }
+ \keys_set_known:nn { nicematrix / Block / FirstPass } { #3 }
% \end{macrocode}
%
% \begin{macrocode}
@@ -13182,11 +13207,11 @@ version 2005/12/01 or later.
\l_@@_X_bool { \exp_args:Nee \@@_Block_v:nnnnn }
{ \tl_if_empty_p:n { #5 } } { \exp_args:Nee \@@_Block_v:nnnnn }
{ \int_compare_p:nNn \l_tmpa_int = \c_one_int }
- { \exp_args:Nee \@@_Block_iv:nnnnn }
+ { \exp_args:Nee \@@_Block_iv:nnnnn }
{ \int_compare_p:nNn \l_tmpb_int = \c_one_int }
- { \exp_args:Nee \@@_Block_iv:nnnnn }
- }
- { \exp_args:Nee \@@_Block_v:nnnnn }
+ { \exp_args:Nee \@@_Block_iv:nnnnn }
+ }
+ { \exp_args:Nee \@@_Block_v:nnnnn }
{ \l_tmpa_int } { \l_tmpb_int } { #3 } { #4 } { #5 }
}
% \end{macrocode}
@@ -13254,10 +13279,42 @@ version 2005/12/01 or later.
\int_compare:nNnT { #1 } = \c_one_int
{
\int_if_zero:nTF \c@iRow
- \l_@@_code_for_first_row_tl
+ {
+% \end{macrocode}
+%
+% \bigskip
+% In the following code, the value of |code-for-first-row| contains a |\Block|
+% (in order to have the ``first row'' centered). But, that block will be
+% executed, since it is entirely contained in the first row, the value of
+% |code-for-first-row| will be inserted once again... with the same command
+% |\Block|. That's why we have to nullify the command |\Block.|
+% \begin{Verbatim}
+% $\begin{bNiceMatrix}%
+% [
+% r,
+% first-row,
+% last-col,
+% code-for-first-row = \Block{}{\scriptstyle\color{blue} \arabic{jCol}},
+% code-for-last-col = \scriptstyle \color{blue} \arabic{iRow}
+% ]
+% & & & & \\
+% -2 & 3 & -4 & 5 & \\
+% 3 & -4 & 5 & -6 & \\
+% -4 & 5 & -6 & 7 & \\
+% 5 & -6 & 7 & -8 & \\
+% \end{bNiceMatrix}$
+% \end{Verbatim}
+%
+% \begin{macrocode}
+ \cs_set_eq:NN \Block \@@_NullBlock:
+ \l_@@_code_for_first_row_tl
+ }
{
\int_compare:nNnT \c@iRow = \l_@@_last_row_int
- \l_@@_code_for_last_row_tl
+ {
+ \cs_set_eq:NN \Block \@@_NullBlock:
+ \l_@@_code_for_last_row_tl
+ }
}
\g_@@_row_style_tl
}
@@ -13614,7 +13671,7 @@ version 2005/12/01 or later.
%
% \medskip
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Block / SecondPass }
+\keys_define:nn { nicematrix / Block / SecondPass }
{
ampersand-in-blocks .bool_set:N = \l_@@_amp_in_blocks_bool ,
ampersand-in-blocks .default:n = true ,
@@ -13785,7 +13842,7 @@ version 2005/12/01 or later.
\group_begin:
\int_compare:nNnT { #1 } = { #3 }
{ \str_set:Nn \l_@@_vpos_block_str { t } }
- \keys_set:nn { NiceMatrix / Block / SecondPass } { #5 }
+ \keys_set:nn { nicematrix / Block / SecondPass } { #5 }
% \end{macrocode}
%
%
@@ -14190,6 +14247,9 @@ version 2005/12/01 or later.
}
\endpgfpicture
}
+% \end{macrocode}
+% Now the case where there is no ampersand |&| in the content of the block.
+% \begin{macrocode}
{
\bool_if:NTF \l_@@_p_block_bool
{
@@ -14391,6 +14451,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
%
+%
% \bigskip
% The first argument of |\@@_stroke_block:nnn| is a list of options for the
% rectangle that you will stroke. The second argument is the upper-left cell of
@@ -14402,7 +14463,7 @@ version 2005/12/01 or later.
\group_begin:
\tl_clear:N \l_@@_draw_tl
\dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
- \keys_set_known:nn { NiceMatrix / BlockStroke } { #1 }
+ \keys_set_known:nn { nicematrix / BlockStroke } { #1 }
\pgfpicture
\pgfrememberpicturepositiononpagetrue
\pgf@relevantforpicturesizefalse
@@ -14456,7 +14517,7 @@ version 2005/12/01 or later.
%
% Here is the set of keys for the command |\@@_stroke_block:nnn|.
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / BlockStroke }
+\keys_define:nn { nicematrix / BlockStroke }
{
color .tl_set:N = \l_@@_draw_tl ,
draw .code:n =
@@ -14478,7 +14539,7 @@ version 2005/12/01 or later.
\cs_new_protected:Npn \@@_vlines_block:nnn #1 #2 #3
{
\dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
- \keys_set_known:nn { NiceMatrix / BlockBorders } { #1 }
+ \keys_set_known:nn { nicematrix / BlockBorders } { #1 }
\@@_cut_on_hyphen:w #2 \q_stop
\tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
\tl_set_eq:NN \l_@@_tmpd_tl \l_tmpb_tl
@@ -14502,7 +14563,7 @@ version 2005/12/01 or later.
\cs_new_protected:Npn \@@_hlines_block:nnn #1 #2 #3
{
\dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
- \keys_set_known:nn { NiceMatrix / BlockBorders } { #1 }
+ \keys_set_known:nn { nicematrix / BlockBorders } { #1 }
\@@_cut_on_hyphen:w #2 \q_stop
\tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
\tl_set_eq:NN \l_@@_tmpd_tl \l_tmpb_tl
@@ -14534,13 +14595,13 @@ version 2005/12/01 or later.
\cs_new_protected:Npn \@@_stroke_borders_block:nnn #1 #2 #3
{
\dim_set_eq:NN \l_@@_line_width_dim \arrayrulewidth
- \keys_set_known:nn { NiceMatrix / BlockBorders } { #1 }
+ \keys_set_known:nn { nicematrix / BlockBorders } { #1 }
\dim_compare:nNnTF \l_@@_rounded_corners_dim > \c_zero_dim
{ \@@_error:n { borders~forbidden } }
{
\tl_clear_new:N \l_@@_borders_tikz_tl
\keys_set:nV
- { NiceMatrix / OnlyForTikzInBorders }
+ { nicematrix / OnlyForTikzInBorders }
\l_@@_borders_clist
\@@_cut_on_hyphen:w #2 \q_stop
\tl_set_eq:NN \l_@@_tmpc_tl \l_tmpa_tl
@@ -14584,7 +14645,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / OnlyForTikzInBorders }
+\keys_define:nn { nicematrix / OnlyForTikzInBorders }
{
tikz .code:n =
\cs_if_exist:NTF \tikzpicture
@@ -14653,7 +14714,7 @@ version 2005/12/01 or later.
% \bigskip
% Here is the set of keys for the command |\@@_stroke_borders_block:nnn|.
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / BlockBorders }
+\keys_define:nn { nicematrix / BlockBorders }
{
borders .clist_set:N = \l_@@_borders_clist ,
rounded-corners .dim_set:N = \l_@@_rounded_corners_dim ,
@@ -14677,7 +14738,7 @@ version 2005/12/01 or later.
\@@_clip_with_rounded_corners:
\clist_map_inline:nn { #5 }
{
- \keys_set_known:nnN { NiceMatrix / SpecialOffset } { ##1 } \l_tmpa_tl
+ \keys_set_known:nnN { nicematrix / SpecialOffset } { ##1 } \l_tmpa_tl
\use:e { \exp_not:N \path [ \l_tmpa_tl ] }
(
[
@@ -14702,9 +14763,21 @@ version 2005/12/01 or later.
%
% \medskip
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / SpecialOffset }
+\keys_define:nn { nicematrix / SpecialOffset }
{ offset .dim_set:N = \l_@@_offset_dim }
% \end{macrocode}
+%
+% \bigskip
+% In some circonstancies, we want to nullify the command |\Block|. In order to
+% reach that goal, we will link the command |\Block| to the following command
+% |\@@_NullBlock:| which has the same syntax as the standard command |\Block|
+% but which is no-op.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_NullBlock:
+ { \@@_collect_options:n { \@@_NullBlock_i: } }
+\NewExpandableDocumentCommand \@@_NullBlock_i: { m m D < > { } +m }
+ { }
+% \end{macrocode}
%
%
% \section{How to draw the dotted lines transparently}
@@ -14738,7 +14811,7 @@ version 2005/12/01 or later.
% We will extract some keys and pass the other keys to the environment
% |{NiceArrayWithDelims}|.
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Auto }
+\keys_define:nn { nicematrix / Auto }
{
columns-type .tl_set:N = \l_@@_columns_type_tl ,
columns-type .value_required:n = true ,
@@ -14749,7 +14822,7 @@ version 2005/12/01 or later.
delimiters / color .value_required:n = true ,
delimiters / max-width .bool_set:N = \l_@@_delimiters_max_width_bool ,
delimiters / max-width .default:n = true ,
- delimiters .code:n = \keys_set:nn { NiceMatrix / delimiters } { #1 } ,
+ delimiters .code:n = \keys_set:nn { nicematrix / delimiters } { #1 } ,
delimiters .value_required:n = true ,
rounded-corners .dim_set:N = \l_@@_tab_rounded_corners_dim ,
rounded-corners .default:n = 4 pt
@@ -14770,7 +14843,7 @@ version 2005/12/01 or later.
% The group is for the protection of the keys.
% \begin{macrocode}
\group_begin:
- \keys_set_known:nnN { NiceMatrix / Auto } { #6 } \l_tmpa_tl
+ \keys_set_known:nnN { nicematrix / Auto } { #6 } \l_tmpa_tl
\use:e
{
\exp_not:N \begin { NiceArrayWithDelims } { #1 } { #2 }
@@ -15139,7 +15212,7 @@ version 2005/12/01 or later.
%
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / sub-matrix }
+\keys_define:nn { nicematrix / sub-matrix }
{
extra-height .dim_set:N = \l_@@_submatrix_extra_height_dim ,
extra-height .value_required:n = true ,
@@ -15160,12 +15233,12 @@ version 2005/12/01 or later.
hvlines .meta:n = { hlines, vlines } ,
hvlines .value_forbidden:n = true
}
-\keys_define:nn { NiceMatrix }
+\keys_define:nn { nicematrix }
{
- SubMatrix .inherit:n = NiceMatrix / sub-matrix ,
- NiceArray / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
- pNiceArray / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
- NiceMatrixOptions / sub-matrix .inherit:n = NiceMatrix / sub-matrix ,
+ SubMatrix .inherit:n = nicematrix / sub-matrix ,
+ NiceArray / sub-matrix .inherit:n = nicematrix / sub-matrix ,
+ pNiceArray / sub-matrix .inherit:n = nicematrix / sub-matrix ,
+ NiceMatrixOptions / sub-matrix .inherit:n = nicematrix / sub-matrix ,
}
% \end{macrocode}
%
@@ -15173,7 +15246,7 @@ version 2005/12/01 or later.
% The following keys set is for the command |\SubMatrix| itself (not the tuning
% of |\SubMatrix| that can be done elsewhere).
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / SubMatrix }
+\keys_define:nn { nicematrix / SubMatrix }
{
delimiters / color .tl_set:N = \l_@@_delimiters_color_tl ,
delimiters / color .value_required:n = true ,
@@ -15199,7 +15272,7 @@ version 2005/12/01 or later.
{ \@@_error:n { Invalid~name } }
} ,
name .value_required:n = true ,
- rules .code:n = \keys_set:nn { NiceMatrix / rules } { #1 } ,
+ rules .code:n = \keys_set:nn { nicematrix / rules } { #1 } ,
rules .value_required:n = true ,
code .tl_set:N = \l_@@_code_tl ,
code .value_required:n = true ,
@@ -15331,7 +15404,7 @@ version 2005/12/01 or later.
{ \@@_error:nn { Construct~too~large } { \SubMatrix } }
{
\str_clear_new:N \l_@@_submatrix_name_str
- \keys_set:nn { NiceMatrix / SubMatrix } { #5 }
+ \keys_set:nn { nicematrix / SubMatrix } { #5 }
\pgfpicture
\pgfrememberpicturepositiononpagetrue
\pgf@relevantforpicturesizefalse
@@ -15772,7 +15845,7 @@ version 2005/12/01 or later.
%
% \medskip
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Brace }
+\keys_define:nn { nicematrix / Brace }
{
left-shorten .bool_set:N = \l_@@_brace_left_shorten_bool ,
left-shorten .default:n = true ,
@@ -15816,7 +15889,7 @@ version 2005/12/01 or later.
}
{
\tl_clear:N \l_tmpa_tl
- \keys_set:nn { NiceMatrix / Brace } { #4 }
+ \keys_set:nn { nicematrix / Brace } { #4 }
\tl_if_empty:NF \l_tmpa_tl { \color { \l_tmpa_tl } }
\pgfpicture
\pgfrememberpicturepositiononpagetrue
@@ -15967,7 +16040,7 @@ version 2005/12/01 or later.
\bool_new:N \l_@@_not_empty_bool
\bool_new:N \l_@@_empty_bool
-\keys_define:nn { NiceMatrix / TikzEveryCell }
+\keys_define:nn { nicematrix / TikzEveryCell }
{
not-empty .code:n =
\bool_lazy_or:nnTF
@@ -15992,7 +16065,7 @@ version 2005/12/01 or later.
\IfPackageLoadedTF { tikz }
{
\group_begin:
- \keys_set:nn { NiceMatrix / TikzEveryCell } { #1 }
+ \keys_set:nn { nicematrix / TikzEveryCell } { #1 }
% \end{macrocode}
% The inner pair of braces in the following line is mandatory because, the last
% argument of |\@@_tikz:nnnnn| is \emph{a list of lists} of TikZ keys.
@@ -16282,7 +16355,7 @@ version 2005/12/01 or later.
%
%
% \begin{macrocode}
-\keys_define:nn { NiceMatrix / Package }
+\keys_define:nn { nicematrix / Package }
{
renew-dots .bool_set:N = \l_@@_renew_dots_bool ,
renew-dots .value_forbidden:n = true ,
@@ -16295,7 +16368,7 @@ version 2005/12/01 or later.
no-test-for-array .default:n = true ,
unknown .code:n = \@@_error:n { Unknown~key~for~package }
}
-\ProcessKeysOptions { NiceMatrix / Package }
+\ProcessKeysOptions { nicematrix / Package }
% \end{macrocode}
%
% \bigskip
@@ -17534,8 +17607,8 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \medskip
-% This error message is used for the set of keys |NiceMatrix/NiceMatrix| and
-% |NiceMatrix/pNiceArray| (but not by |NiceMatrix/NiceArray| because, for this
+% This error message is used for the set of keys |nicematrix/NiceMatrix| and
+% |nicematrix/pNiceArray| (but not by |nicematrix/NiceArray| because, for this
% set of keys, there is no |l| and |r|).
% \begin{macrocode}
\@@_msg_new:nnn { Unknown~key~for~NiceMatrix }
diff --git a/macros/latex/contrib/nicematrix/nicematrix-code.pdf b/macros/latex/contrib/nicematrix/nicematrix-code.pdf
index fb046dc4c9..8d79c6ecdf 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-code.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix-code.pdf
@@ -291,17 +291,18 @@ endobj
<< /S /GoTo /D [ 169 0 R /FitBH 771.02165 ] >>
endobj
171 0 obj
-<< /Filter /FlateDecode /Length 2073 >>
+<< /Filter /FlateDecode /Length 2080 >>
stream
-xڝY[ۺ~_j,;-ͦ 6m kӶ[`EkFyH%97ofd-3?ï<2=\"#
-Q"8Ϧ338#0&&*SIM7ٯte/&>2?i^/³[ŁS3K{#cLʙݘ){a
-!
-lD7Sw9$FL'*Pn\bl73^I 4D$C p ϝ;|psanl;;w<? ?OXKKci~]愂G#~q}tT;}
-6vYB~_
-ɦliѬ3dcfMN֦Y]75fʮnrQv'xy}bCQ6miB:1,ɐ& w.3s=mIHT{&C2ob:ޭiz <ݭ]P{^K>XXH@n30.;H~%W)m˛u\Ey'vʡ8W $0p͛zp+A
-#2f:y&ERwCՙT* ?i # d2+ KTCL*Qc×S)$teߕlf.6hDW %ԶČ~Ⱥ6-ct\ R`ցIrlkʮ4=I~zگlb0[qь7>HјبJ1#؇_wGAJ:HET5 HXC"}g7B y$%9
-C"d(vp<ֱ͑Vp E8nmP.+.^2}|WL5su"7McZcQee=?LoRc$!:zEh79+rڴ&̄n F2]<9ʹ~Mu\?' $zK0f,=$ 32+\F :aW7>/ #):eVOl)?G{}q_aD9x>i!+ptvLmc0&at~?Dxړ(&1?TMjȐ>
- W\
+xڝYmo_ox W4Ns\#E/cMQԑ_` -La>$wwvٙyf*3o%d<#0ciE2|$ *Ӆ?uؙYc8=q؞̋ !(
+ĥ_0fALQ1*bY #g;+AOΩNrO>$ߎID
+9
+~4s~s2=t2@3E*愂_Ƣ)<釃~a=H*~tzݝ>Vb 7oO'`̉Р+W^`/ՊAJۡ}Wnte] k2;ѭJglhڀ>p<sp[,Oj4vߕ2չiSTY*$ʧ+S:;Fy_K1Cx
+OZ;HXFJ"2UJclr*ĒeS|2 GMm2"
+I{NZ߾nj~6-cl Rڼ`6Qrl跺kʮ=Q~zگWnC0gL7>HѐؤJCKJ %-OM} ok#*Kq(EvQ><!}w}Xbp:͑֡Vp E8nƖӡ@]e(Z*u"5McZCQe]lv͆}~z5_=B!HBuo.s+iB]eysSzg ,O&
+#X,zH@f#dEspF,hm
+'xdK1->(l
+Dcm q\ico1} !ӞLD4 :jR}tq() rHl{8]e\'P6N_M"+6K~Qwüoww0YB)"'"T'p-:8TE nzs MP۽g-nvpmWN
+{j%t-Gda>Bw+Oc;tit h+5+8\M;#7dR1jvЈ`0ht~P!{Z 53GaNؘ'Xg#z2dEgѢƈj۳_ L'wnMP DRB4 T+9!Y6FMBYˣ|. 3(@hwamÀeszQTTCh񣒌$D3MwЖOpSQ^ㅏP4 m
endstream
endobj
169 0 obj
@@ -3354,7 +3355,7 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1105 0 obj
-<< /Filter /FlateDecode /Length 2701 >>
+<< /Filter /FlateDecode /Length 2705 >>
stream
xZ[۸~ϯ0Їzbf76/) -ՑYI$h~{oh{ls6XsG\I~zWo32H*z@2aIF׫ѿj¸ϫUf}_81{<>?LrOWE{[/p:JN͚- Uf=o#?)
\Să; S)1pMʃX4]^q[rn@
@@ -3363,9 +3364,11 @@ K>T2Hl|%^mKoz7.l2c3h⤎]PIf{4]c׬|,VuIgvnM \"
2L<yQ7|F59I:VmR >;0]Q,I{#+1/Xw;!΄
G}u~E]v\4?QAo;k:D&x EGKaOq|;kn08{N<wbf&>aB#iaY,e

--~+se8w
-ű6Ac5 1o7-Tm9i{|)ja2&yć0sHi!qMlJHcgC6[my9͎Ք(ȎI|aDh4C;(IXaH2g@@$k?!~%#JyDl;!Nm{"<^JE= 7rՅS:,ȗ/mE@Ql.BP@WBloH >巈cĴhV4H=)h„v[iB~ ; r כuj1-|_M[b.䅡x[W@r
-qi=/^^9#[EȋFCLAք΄pbgNE g05!`*Omk:ͬWuѴ_K'8,F W iӰeܿ)BxOS~~
+-~+se8w
+1ua @쉁T* 7C7-Pu*FgMB{ 
+H^J Dܧрp͊ q'% M<n+ۺ4mZB{G:Y.1!znZ-caWwYi˗:@ х0v}
+h^Z!.E;K3b$byhH;sW>ȚԙR̩h2LɢmZU1ϔ.WxG(A
+!mV w#ERi*oׯX
endstream
endobj
1104 0 obj
@@ -3486,20 +3489,20 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1145 0 obj
-<< /Filter /FlateDecode /Length 2293 >>
-stream
-xZ]o}ϯ0Pu1ߤ,XΠ:O)
-Bd+Mo(*Ȧ/Gts//﹗2vG$|O84atv}sA!<#3!*LI$_sM_mxO2iIK(FE>lѴEvTbu.}CX,0")<{m7Y{c0^??Uq[KEp戓0cjD4wli1N|tWU= DT8N4N \̮.ؒ*{ZaeZvl K8Jg?ъ i\ ];1<eO3"#V"+؋
-m9b<rte18/۬~Ȗ!60RA=?ZJ8sZBuP\{㺛w kAW҄>??~",a 0*BL$H>]ɔW6ʦS|O@R/HrrP"$H(>dF)&)"Hl
-(howeY$.TϻUsIռRu/\/dn;Ь/d^敆ޤSDG&y
-u߲g|^I#i#v۟Bi=Y4]
- .b|GR~ˋ'd֝5묜$ !؁@GDPi`'HyXaŁ93œ꼼׶Ƅ*Lo$u8͑.-ieI{f%{.{{5 2%sUEX<m6FU!5dַ%1c :7F=ʻ@B꺪.{ ɏ.˞ v~ĽI*16x`.#m SO|qxJjoKu`?C+s}ƅFЀ:*i[:(
-n{[ϼlrpFІo;<c`>e"}MR`},()x'TL2h@{|2,imNشИݧ0ǾnWg{yOD"x!~.eRLW
+<< /Filter /FlateDecode /Length 2292 >>
+stream
+xZMo8WX`l~
+0`ۍÜ [J,DISEEttK=UX2vG$|닏qiCxFf:BTaIfכٯsM߮='4dz%#"\eh"\*I:.}CX,0")<{m7Y{ a9~H88'a1ws3Ոh0cp鮪4{"ʉ(DpiL]W]|ݵ%U2˴Z6Y[߼jp
+~/)L|c<vbx;߈gط3cEF1E"(V<+Rsx0cp^Y-Cl`{+ZJ8sZBuP\{㺛w kAW҄>??~",a 0*BL$H>]ɔW6ʦS|O@R/HrrP"$H(>dF)&)"Hl
+(howeY$.TϻUsIռRu/\/dn;Ь/d^敆ޤSDG&y
+H"\q-ˡbiP%tH[&+)ai{ۧ #rclо$+ !"@T]B:$CZ'ni!/qd2>_+3P!󼱔6Yүv[}.Y,QAg &ŸA
+ .b|GR~ˋ'd֝5묜$ !؁@GDPi`'HyXaŁ93œ꼼׶Ƅ*Lo$u8͑.-ieI{f%{.{{5 2%sUEX<m6FU!5dַ%1c :7F=ʻ@B꺪?.{ .˞ v~ĽI*16x`.#m SO|qxJjoW&i^zWd uU<ࡹ{uP
+n{[ϼlrpFІo;<c`>e"}MR`},()xo'TL2h@{|2,imNشИݧ0Ǿng{yOD"x!~.eRLW
( bjlc-9&Oe/pWHwW]McN6}KRf0xmɠƶry{udtAv _!{֕xs\dn),!
-aS~\M#9H,K<p25H,^䁓6(yX}XVդ2bbya \3l DE+ڷ eaE3MhY8q T-eXeE(Ac:9NMl՗m驭Ɗ`P#Gu%}[o!Ӻںu7,8Cكx; "beY)
+aS~\M#9H,K<p25H,^䁓6(yX}XVդ2bbya \3l DE+ڷ eaEM&{L_,WVxZXgo1Ba'O}s&HWx[WmNm驭Ɗ`P#Gu%}[o!Ӻںu7,8Cكx; "beY)
֍{ڕi.VU]š:Zvoec VKoLX_0`me %NtDo*<j״fafٸDM) ?a"G5Kt 3Z4D Z{gs֎c߫#":"Lc=pӂt&5Q+p(@p"A44͋"1bi [@4d-j +~eN:d ȸC"ZEL8ٓa[x¤w[L#Z4ȏ#˪I)
U3'2L=a61D"$0!#ý@(=,AP#^ʠx}iq7wNgN3$kߤ
-"8NI*$w'u؏GXX^F"mp"{4⿽?
+"8NI*$w'u؏GXX^F"mp"{4=
endstream
endobj
1144 0 obj
@@ -3662,16 +3665,16 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1199 0 obj
-<< /Filter /FlateDecode /Length 1958 >>
+<< /Filter /FlateDecode /Length 1957 >>
stream
-xڽZn8}Wh/(̒3`az (6%KiYNR]*ؾv\/-.
-O Hߟ.z{Z GFF'  h% ’LnN4OL42R2b H1g(c6I/fu*)+6o뼶󫲿ci?\`D0+ c_vV_ _UU93﬩<h_Htn43p&0Cp?4kd/oeF5"{f0f̹Al] WGi=P0Y“e0!8"Ȋ1+vvAJϞ }..mq*@ +ZXGu#bXj7E1,Cl`\,GqEGiX(]pHq5*L3#-IHytnqnxZ-R7<mcs7x0ٌ[ϥ$ U̪benj+:|r5D#ah
-&ּqִt5X!ɼi&YdLzG*O.DRyA0vf 9Hy„3l:G(.fK}הs!!kV0!xޅ ]A^4L~#{ Wd<sF9T7R$%n3f5S1g10SG lƾ"GL9s_&K;jnܱԵBX{I30O O@]ID L#poذR 2LgCYI
-(Bd`{I^&] NN;!* #7Ԍ"jFy8PvO WOE¦Mo}lʔP >Pȸ8`HhČW7c5K!-lz5JΩnjA*T=/{ܞuUoX_{3#`!uoЧkb&p"ʸ50MKͦN:os'~SӬ9ˬw;Z7aC>jm6_>v]1ީOyw2޹kw4gOWx#+[#/d0_CjD762bnYܒ
-ZrU¼y>5w 7M̒h].:q.HJΕ#H6Psmtaaj~ H)IOC0Xq,!3; iI=Oq͞m=mPCKtؗqBaCm lFcK 5vxľcU>"y)s-$*`xRHXhĵؗa`CwO
-f 0!H,J:S;ŠVWi
-;Y"6ٽ/2~;O
-piߊ{svMswHlf܇ɫrxo=`j[']$Жb敃vʵv/7ۏMfsTۓ'3k1۳=MiD5ͦ]z{ٸKefUA]5wF2X2q}.>]R͌NKRw|1rV(x_]_bb#ߘ_g ͥSmҢ-qOfoL҂:vD#|BaT"pP+ m[b
+xڽZ[o6~ϯ0/Pqx(0b} BPl:FRYN2} Nl;Ȗ|<T~'?_`E|ŧk&M..'d O$K2]N7\vQhdd:b&lQ$lf"_2TLSVmZymWek9 `:0W<̫ ƿدter[)]fM?FFpA3o4IV_&{yv(331c bܮ]Uzm\ݼ:H?N;i=m(, EV/Y9ȏ,Uz! uQw|nˏWibXy:Rsĸ%(,"wab#W`T?"3/:JB!
+E Qy`m9OERWspjiSKa+f". !hEE^dV>/[W[SOݐc! GS5!u
+IH35!"cZ;R}"ua$ hޠ>l]4Hȱ<@h& d3v .?Bqp0[컦 ɐ^1#.lN"44a3lN"Ô7oϡ
+
+')p1CGw9qԼ"G8nex/`08gʹF{20E^W;v㎥KIo~Q
+wK9 [ q=lplT9}f8w7k75jyϭqyèuSl??KfU?n
+.̛ASsp!,?/'nճ?RecI1V)عr>I3FJ{.#О<_v)e<)i5C5vxbG#-I`<C Cٳ篲j(s2N(yÙB؛|l\|&.ؗ}l}G$/e [ O^* ݓ2LyI9"լ!<`i:eRRǑu[~|uCJCAT*Ma1]d"&<E/{I.p[qop._a ݌P=6yUA,~TmKtDRlڼr.TA]palj{bd X{&s6f{)&ٴ+6To6;wV7}iL8Ӭ6kw.P_]&q%ӧKii[^6Fjw\ZKKL ݽq{lR""ap{{PZ%ڬPqPZ9Y.tuhĕO(Ja-`C ʥ(m7+xˀSHQ a["_|,
+{bK C:{vD)tvN#j?o/~l
endstream
endobj
1198 0 obj
@@ -3858,19 +3861,23 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1261 0 obj
-<< /Filter /FlateDecode /Length 2114 >>
+<< /Filter /FlateDecode /Length 2118 >>
stream
-xڽZoH~_a^iCK+͝nI{h0n;h18g&iLYϾ WU_ E*GoWn%]0
+xڽZoH~_ai_iCK'͝vJ{h0n;h18w&iLYϽ W]U_ E*GWn%]0
à`a` )0
-^YFD^>܊hHHJu5UrSU_p—hdU?(ŏ ǏφAGs6q?s?OnG@#D~<jWM&dVNn{)c s !! C69;zJ2a.o,!~*=|š@Lϙ^D@Zԋv(=tkurFr2DYd f~IhϘ1`MN-B!JI
-?[`c7\h 6Q쀍9{ȗa&3ꗍpo_qqF{D>ej|fڿ$Qŕz<fڌ6tS\8D<Yeg\榍,uS&}ȧ L 613CmiaWww=SׇWjoʸ(حx5f5旎\Gٖ:lTq9O!G_NvݶU7/:M>kDq5A2${OKC9ޠdEa`{gQН{ pEDFEuH` ]n瀲%9Rrk_ṮVs}?CU_,<\6u8CUR$%[d'M}4FHrOMLL%Ees 2סʢ$Aq<~L
-ҤFajcFq.8"
-8NQAAm-p<[gOؗ!e6w
-C'@I<4tǦ-:Wwi ZRuĸUR_0ATXŹ C.ViZ^=қ+$f'~+=zOxfD!F_:UM< l]b,]r^܀ ʈtZ0#G iABޒjX܅hg1SIΉI"D0xg-i 6sI@Z9NͽJ
-(e͏a;ߚP`wA2͓"{*ۋ|Nޞc-)
-۪e'tQ]'A]#0}7S$\ȒPsL /dz%$7>_[J꛼O<$(웚¯GTCH¾)<8-㾨of"L";{<P߾"5WcSΔABxJT0t^ BKmlπ!x`@Ix8ՙ7 QbyۛJ~)yeKN+`Pt2~n@Ŵ@Tk"̐`TʌeX'Sj ڙ;Z?cAΩV3bPP ۔ٌ
-;Iݺ$2fAH)P@2bB@1i#$Z_Q_iĬIb'O_ѱR<i2ۘ[M<IXU]'ȅA!t3z@uV[cb)ө Rn%qƏ3#>>J0w,Eϒx5L6 p2(_գNY&ɤR|<k/oJI~v>*G۝S>%[`6KFWck=fځ
-
+^^FD^QnEQ$ XL$iJ%Q_*)ʍo8KWM*̏(ŏ ǏφAGs6q?s?OfG@#D~<jWM&dVNn{)c s !! C69iw$U<e^\X"BxU{q503;ν8ĩqPv#I{n~9 qs\ QYCo$Eg&{v%A$F-C15r{1b<ꗓ1g‡|1m2~w~9ッ-3a!D痩i3ɏ*1fMuTsIf9旝pJ6M# gIa=3koKk톱z\ݝ|P\ɯN.ޔqQ6Y[}=<HH՘_:vsm6ʶfr$qhd|m[e|EGɧ# b5"n&Hd{΀ԗ( lRbL#
+knq
+}Ϭ*>M?P9a$ sYISe_'ͤF$.s{tZIA$ls-,IwPY)k"bƠ'By
+?t鶰K5AQs A;_*pZVl/#ͳt831 E3 ?_MtwGkyɽ鯕KLHՑO8`o
+򥺄Xa~r?,0; ތmiU:+}ɾ )C$SA0R?9
+Nbg!T &gw86m+N.kJz<nڀ
+0l5uY+du" \!0>[{h 7K/tsc"}_p/cW8-('PuQ^ty{QF'ӚF98H, ]H3PfÒHF.h=.D+a=JrNN!B>kw]MxO ~HZ!uhUR@Mk~$9ꛚh?
+'7s&6_uE+d^qiL%ݖ'G TL/
+Ne.& Iu==UVQi>&*j1ouA#U
+u'zMͨ@_.p=\M"/j]CtR 0,&F;B5Mzk{N̚$v(e˓-;$ϓ4+y^uފ\9rMwl3}\h
+{kL,"}:W
+pmQ$}40̈GϢ{LݳK$^Mn*t?$1ܺL3
+^`ӣkp9zԉ=+Vw7ԟ2Z˛O{ү;怟oj'Y=oS
endstream
endobj
1260 0 obj
@@ -4042,18 +4049,17 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F70 185 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1319 0 obj
-<< /Filter /FlateDecode /Length 1657 >>
+<< /Filter /FlateDecode /Length 1661 >>
stream
-xZ]o6}ϯ0~,Pvl1Yd>%I:]9^"1Ͻ$%gW3<{}}}yfiE]\҈J>$AXzn>pKSgRR2c (b:,T A}L+6Lh~^jkڻm,0":FʼYҎ jB1gnjYFb0,<ޘ:nrM˩yǯ^;q=n^
-Y#ǐmH˲Ny!Ja=vZ,MMK{;2_ٍ6u5HVjY9,!#웎5 $6|ĩ
-;ܵ7U|^6N]*ır,k>ܴ5A+
-#FQCG0>xSi6mo%Oud*}"΁>o!o]<Y.uI5>;]V㢙`iY!f3:T jfggzBg4{4xgC0GؕF6j)6E
-GuUnR&2Ijҋ AnM1H# wXi&wTmŵ8CӟSa
-h0 GM@#u9 oHD„$G ;{E%0#)걌i8Ŗ @^~0zE&07`)cE2J`nO7` !zE&07
-{t'`$ @C1̀Qfz0hpV
-3
-ۘ ЏEDgInS\7E3dޫMUD7hvYVߦt1 0`M>2:lΚRg<&'
->8hSŧ,GJB |? l,@h+ лQG!^8(bއOXG"l޳M
+xZ]o6}ϯ0~,Pvl1Yd>%I:]9^bY1Ͻ$%gW3<{}'͕Nj8Ҋ0:<!%<#3|I$\+|Υ)dQt^Y$N9[WmVE~~ִW&=FY`D0u ^yY-bD1P2c3:=a|Yy1uśS _w{ܼ
+&K"; F!ې4eq$B
+Gz?pY +S:X|g7 8 Yb8rd8 fS4bo:4&H e2+ts~ʬ>Ϻem6%Tc+X|i!εkZFW
+ ˍ
+GuUnR&2Ijҋ AnM1H# wXi&λnW|!ש0h4ERb:
+ƜM$bWaB`᣿NTTXF4GbK`F @? bG"h"Az%070I"hx
+Fy=0iJ`V!^fBR J 3
+N4) K{
+C S#`[lz`fe sCyO4EDU /?SSMq fڧ,#Epٌ&Xn'93m!&imsUߟ-q|yjw=M{*oUge{em4$nyzsjʦ
endstream
endobj
1318 0 obj
@@ -4243,16 +4249,19 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1382 0 obj
-<< /Filter /FlateDecode /Length 1715 >>
+<< /Filter /FlateDecode /Length 1721 >>
stream
-xZMoFWE~(h{B-&B.E9Iw\٢5bJr̛t͑( ?z{~trfHg舍&ьPFџcFusXL%Nka`)1_Ͽ]YY,'NJI{Vy>C*h:.ָ)Jv슲>]g'aRv Ǯf\]/z(n<%xѿ.C&3sX >riyV&\JXўt^V)" `~m/J" 4_m}&Xی 3g
-~;>//8M1"MWμ>zyCJe,T)Eq^룿j*+qvZ%ʅ
-pu1B?^߾]a-B Qu*O' h+!e1̆{+TG!e$14κx@&iA, p#B=JqbefeQEKX:npлx(pVhwzaQ1fbq50B{TU4:BiPqYG5U:K (ՊϡBm|-qOI 
-}J뜇U୐~IaJBG~ՋȪpʅƕ}#'upG3"DeCq G?0JD3~re}kTA nTߑ ctA !^4HhM
-I`k-W[\ު[akX^O=%` Mơp*^ljCP -CБF{6*bg=HOuf̓w:1<('t`p)G+%w020\gi-:\e^nHׯ45[̆n{IU:VYζV,4 ݝ zES6
-0(}=izС xXd $Amh5-qqަ@.YeiP*dj{ٯ0 Z\Ă*#`׉E(Pj5ɚrgqH#tgd* ^yZc'r2[i49L
-~zͧrZ+&_jŽз]BUUVdlv(ݼvv6R2p2܋dE=7M l|0+͙Δp57B/IYXkO%\!B2p4BnB"u݀+l35c [P?TKUi~{$Q[v{i羛*l` mhDEH>[yn\H/[9
-L'U4{Оpb5PY:=0Z2ΉTJS$Lb|*i6Qz\7>Ex|N=
+xZnF}W_ HR4
+$}>4@[EK;$%W kWyn<9;3gf&tn_'//N^1Y&Et&VhFf)%uJ%Nka`)1Te*-Tq5=k_u7ߐ4eZۗ5G[%-;IqavyQc Gñ룇٭֗}qwxfeq<֗oCMf*8V}O¿|iQTXxVTu`%qK]{
+F
+E0B?c?Gw 6#L3&@ŕw;kNeRo툂"ǽΊ$NSH93c?e/}J#%\BR>XJp3B1EW3K D
+dC(RSCD*di]$,)IWꀒhh5RVlB{~
+5RFӹM"mZK+\ cEH)N b,*#Wa}LRk;}ǍzȐ; z90;T +,Ϗ%Jh>-Ye@W~
+qjk3~VOMV(E*+""nwb
++$ʡ T0諔p}B$'upGㅈ3"DgCqG?1JD3~:!ɀ=VD 7DH1D wo#1ZXWK<{ܤn}qɠf}fNUwT<UYO 4;eӴ>o-t3nj<8}<q By2Z>qFCVӚUZ`V Mơp*^ljCP -CБFv,bp=8{iM f̓&1<('t`p)GK&w0D0\+>KiQU#*C4l[`ހU6RMlY}
+w~z^|ړWX-".{peYdlw>/uQlFR2p2]sIj/m ԭ92 ) jn^-,;6J
+B
+e*i݊eX0<W"vvkne;zjBmxPoR/U $Q;v<{>)ʌi5<"EZcZ!,pc.F$KVP
endstream
endobj
1381 0 obj
@@ -4430,18 +4439,14 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1441 0 obj
-<< /Filter /FlateDecode /Length 2285 >>
+<< /Filter /FlateDecode /Length 2283 >>
stream
-xZmo@8w ׽@_rJ",$yA_$ޤɔpfZOﰿ݇OD/4ҒJ8|G^EK$K8-<V euUy
-tB}t[KtQUźڏ??gxu]kr⦅TX!*KL\5A\p"ߕ6߶
-vsDzXn A qEfG:\g,OҽC0jMcK8;d&s<
-hcbM]WuPGCΒ'v`r@xPqr 9rI=eVz^% 4{bwgY
-
-"qTkv+K[S(.z4 V쮱RЙacTKR;+{ؔW4BUO7 bh,5Ex?.m O3AqIOYQwO|ݍɢK `'ueJd
-z+pbM{AT C&i*f3['9;q~>&6LEz?, ;D/eu[<T35/APOP\0DI
-[+:zf|Z؛tc/镥"0u3?\A20ۊc)N8ba/t7z#9G̼7AFMuC]u?j]p'}` 3:L&!n*K:{uNt$4(X#r\NlTHmf'$Bx?Ֆ`k%^."H%~6r[甩fMASpnz[ d\Cy+ #9#L-Xg, |#>F>h]7~i{DWA:^ *nUŨ05#
-)jsWcjVYK[4 )J^f3p|X %4DGM(Jx"@iӮ6]\軛-X):LJJ4h R e;=*~
-3_ F?]6 q9ѱ)ַy{]۵elR l{F`թ֦)v_[$HgBICONSwqg} {@ͽӸ?lP*NOoMGkwnb{/D\,@ק Q!"' ۬wy͸Tճ0ڂN qHq
+xZ[o~_a/0.rv;%]S$RV'oE8IڗH/~z>|"zT;,XH$AXnuvbX.6ʳ: fu^իӻMU4ٍ%H rC,VddeFϘlzY3#7ٟ2PF^V[o:[(̢#p%IB\',v0lҝ8[{j_
+ ˖,IEB 'iE•
+q%‰@lVv&!<o&۾F-jx~F46  %b{sLk R L:/kf:N@z$<-3&l:HdM*# 9ҫHYB,ӼH/,: ه
+
+8'#8g]sm^C6rTcţ _Veph$\j8Sj5Ef T!d4N!쮱S?tg|:)Z8Ku6DXō|tX -JO"F='Ϡ¤YƉ<
+S3Qv1w5, W6M4/!)14 )J^f3=(C!'" E sVWP"mզ:
endstream
endobj
1440 0 obj
@@ -4580,17 +4585,15 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1487 0 obj
-<< /Filter /FlateDecode /Length 1967 >>
+<< /Filter /FlateDecode /Length 1968 >>
stream
-xZ[o6~ϯ0hXI XX2l:J4Be)Y2E:c:NȒQ;<<?7H6P&/T)Idt<=sٸ2Nǟ0u^;?xVWeW6{՜7~Ȣ7_&T#05œ(O48jMi{޵ɡb]6g,"\3yYv\.&Tp?5l$Çtl02c0YZ84a4k$O3`~ &0F>-> HD7ge]յ
-9m۴G_ѼuwE=%bPmV ݰ)pMr$4 fy`%[{ukuHOD{J<R^
-%L"SiBR7Np[H.DFӒIQNHFR[ZydINS]N`({K l7z@]Kp
-z(Ңg~B|EmQa1#􏎘BA˽i3B?wQi3B;o'Y?`<\WE=+r^vE|Y}`jAn kxfނKe\)D2D
-#w=">T˱l齤iR[rL Ԗ O
-iGSAA2.1<AO5eR*ޡZݎ;j̇p֢
-th&<xV΋zXptpuWL
-aFvzz3>h{Zn>DWRS%Fr͑$F;Lژ~KLNirLn*CG谒x !^\-` dhQ-Lujҽ; Nvca>};tTZÅx*2|Ғ\7]ߒ.q/UZ;ˣ>@q|9}YO}
-KŊ"!}i2B"5tuZ /dN Ts7(LGYC>oR([cb
+xZ[o6~ϯ0hXI XX2l:J4Be)Y2E:c:NȒQ;<<?7H6P&/T)Idt<=sٸ2Nǟ0u^;?xVWeW6{՜7~Ȣ7_&T#05œ(O48jM<-yז&wn~Lgpr'eٝG@ CpR=.NKHD_} {QZ$0B0fi{+6(ӄ%>-ƛw2id:4&(#a ,tVuqTNۛd)E/N|B"F_oTvNX F|0MV@-ۦz-6.>4v)Èjz*Dqޖy/kXfo (?T6L"E%-f:>q[ɺ\f5.P- xEdMm&r/?b.rntЏj|`
+K)RDxJ"R^_މ{ i%RBzZ2)9VHTJZbwK+/:ɑփi  etpoi1B6Ah as NAZEZOH 006,"fSP(hwp"-bF玘>wZ"-bFhgms$gPS늴hgEUˮhu7ܠۘL-hsUZ[r}[,b+Bp/˙94ڪ
+S }J%C/T%CDB :"čr60]>ڎ9GlDZ.mbC ~Rć*@4Cw9m!4MRjK1?ђi?B LK
+~WUk?F';'\H8Fq,HS'o?YCЂ.sҸS42_\dO ]Ncx!7CkjʤU޽CZw
+$2EPь#Lzxlm>Aһ Z
+* g#tV*#jP>ƪl*fpO}X
+$9:t E0Ce~)gsEj(_ɜ&HN !xrO;nPiN||Pai#Qr,x
endstream
endobj
1486 0 obj
@@ -4756,22 +4759,22 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1542 0 obj
-<< /Filter /FlateDecode /Length 2483 >>
-stream
-xڵZ[o~ϯЇx2
-X 鶻ݢ[)Zm鐔H~{\Hq(C,r3^?_y3$|qu !J%Y\m^^e\H(>FB0F>M՞DH c6KWLS޹؋lEϓ( 
- 0#61FDˤRciG`6^].ndl`iݣƭ<$yxJճ$<ɋǕ
-s}h /z&2vȅb4mgw.v]eٿƏP[d] *(҄!B-(;hg-4p'(A !`Sqe.=c{G2rD9>>!QR>[*iΦ)iVTE%"?^_Va^ bK{l pDq5>GA:,<8z\px{.<.<v3_D\3=tC!(CB.wH9﫤YIPI(:<>;C_H}e"{r/rZYͳuWכfN}ԬP* 1.aE$DW_0(x-T@&
-.LL*inwzŰ$_3P׉!|:|,\hd;8\@c^W\e;zk<ث}E|mӉ"#>S1TGOt=Z
-"<)/
-'kx ܩтW]A ]D-
-G(Ӷ//_jZ(5Y
-2CD/(Ix{#
- ,m
-ͼ#`:pqc ̖v=nd4qT?<ueO Yl^WWXhL$7s?ncC v8= #@v#K頙)Unih~f?LrT&},2wM.36:vSdIjNgLJ>H8AH 捥5]flv,:3uc>0X0Ο҈"*EHnjOZto ;dZy~jhLuŸ
-#:mM{ *tY{`Lr94PI:c}RAEISJD !xJ$$~X[V7-S{)!{7}g֗>q>y@l3:H?Lٿڹz)T#'#Su"GqTo+GF{`A56xmfx佂njl[#aDܼ?)C ̥us.q-
-5KV \+/(eA|׈07BӪuoqdF*85qY̡0yКy4yS!eӻ&eSmCb>c`Bw_ܬ1GÃlS?]Q$Gx]v8|ۆ^%
-x3 U'i&iC&7I2 ,Sz`]Qu|@L}i:(rzW%׻"XDkĺ,r7۝bcO{fCSz}AR\ȵs.$Iln y!"VDzD
+<< /Filter /FlateDecode /Length 2482 >>
+stream
+xڵZ[o~ϯЇJ@< ,t@SH۬)!);P2%هXg;  z'-"I* xA*BL-$K.VH(>FB0F>M՞DH c6KWLS޹؋lEϓ( 
+ 0#61FDˤRciG`6^].ndl`iݣƭ<$yxJճ$<ɋǕ
+s}h ϯz&2vȅb4mgw.v]OokEօ
+rADxWC3z44Oґ̓gGbH]3Lh<%x/$X5H0sMq=r)2$ypԟӪJzH};m3;z<Y*"8G,g!z*<^~]~oP(gHʜ VDHy s_[7BU'mRTʤfv W NB%N $d!r Gˇ&A*wO*Z/X^훬(kĬN8┼~rVR`OyQ8\ÈHNpV|ս
+jX476'5m WPG>'FU| }ByIp#f,۴k"ܚm`ۢN
+$Ly 8KP?(kvond|
+P
+_d!F Fj0o,5cK4f֙E^OI:qFQ)BrPsx~r Χ|c9&jϣ3UCcg.T!noڳ hV!%Βf/Cc#ȡ0M룕z*LR""d S&!&ڲj)oK ;̼F@8x̨9_9`}٠Dbt\dpj^%PՉ NRu8`pb-
+ђ
+7 oćqp1^^2n͝@Ƶ+,Y1pybeon_]#X
+6N{˸#30Wb(tȣNϛ (Ü5 ,jkLmef9d;9m7'9ǃ蒶6<*1wؕzJL'yg,1V_cѝ8(wW d ޑ4C];멜'ޭg-m0mM躼,|w<-U@68htI
+9dP]
+RἎߖ7yݘ
+u^lvOquz8:ᤜh0Dg;1pS>SmLб+p"1seGiW-
endstream
endobj
1541 0 obj
@@ -6963,24 +6966,18 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2214 0 obj
-<< /Filter /FlateDecode /Length 2840 >>
+<< /Filter /FlateDecode /Length 2837 >>
stream
xڵZ[oܸ~ϯ0Ї5#$]l[`R}h
-A#!i"ixp<36šx?]_D'87 $UۻWEB$ESv{MRvۿO^ E8jILYDo)Ez뛛+ɤڇۮ~!g͖ a00K곘^ SB0K >b:5S*1aԧQy
-{9&19p/_yWQ'/COńt$K'~[>tG4U \Bk;z8Gtt6Ooo] E:aOð/Oc="L&{ (ztJ _Y2ʧ˶(IOl׵.]^OJ.
-zDJ1eaZR
-ޛ*"S9<jGgEvвRpB6",KIJ8@ Sۍbqڽn
-
-JqEX qCL* 籷sE!ȼP~[mډN<JU^ۙ9:)a6
-q (r XNIWƀ[C+I|+](F|YFJɪmJ|OWvT?rdNO- 6o؁$BwNыH)Q4U6
-L"H-˘v-%we6 n=Fu3?>{OHF`ar>n:w׽~:]t:tZ5 ia JcOXQl]A\L .+/7V%Qhz3CYuD,O Ls<zc
-
-}W2,LNGa􌎢,|2$H3 8f&.?:lߠCĦ@:+]XpKӇEiP6QI"'OQ=i `#-2'Vl3 X-qz49
-dBR|.!
-vWL D2? 2z$;մ` Qj< ВT%L1ea7|Ma=%7Dt`AÚ,M^p-YOI~e`4%Q:}eazQuY7B5e9^Y »
-,RNJ>{{S(lQ,
-%-JSw?T^kXk8&,L yC@$|y\] /,# 5 ԑ@?}=];w H,b:p_߯ -%BFV^lOl!)r¢G
-oxg`b,,zԥme,e0O7!g6Iګ᧊`5N=u7*%rn賰\wMМ7%GطZ/`i_ <|Á"Q$]uX]~> <<IDQ釦o_
+A#!i"ixp<36ˈx?Ή./_^EHl/~}M/IAP1irĔD1^gE]oB4ZS>[Eg2J2izh~^3seDh&< ,_BP'" 4GEJLe%iԀlm^ aLN0K37mޕGD1aq< [
+_]у>fUPlN.!N%Q2-A->M|bWpN0KowAw ŞpG*^RAğg0ij#JRMkCA.ovK.zDJ1ea[<7UDr;̙yԸ~;ܴ녔g֖!|oy)gXORH,nuShǀEPpTsE(
+bgP ~dmC^5nVo#p`;u]Z;x.=9V!R8 l% .Ox}y%(]=l
+QdLGBuYƜt9,ǐ,](ul'1y=>o(ń|5.fݶuv.{2ut> (k(5ϣ6غvr_5/0LV:_*nJo8kB%Y"`o~#֓J" >PkFKjvUhd 澮;Plkb×~u~,FNV3 c<n(Wݾ9ƌHN}v!
+2ҧ`#O{ԓZUw7>ըOCs OL}my '@huukr*ĩEН^28adZ(Ȍv6c8: HzڨϮHOPьݡ !?`T|x(bbx FlTc:U~cCW&r]RzZm$dTӷQ`xgEQSH xr@G0?AMR]5K&=?℥
+b"wuv!<E
+J<j\},t;c%iOҠhƣ1Dnol5EBnL'!+BT6Wn+X5")er! KZr>Z-)U N`z+T
+}JUWkdfpå1j^C~obpmP/1=mېnr͛=U,yO|):tvXf TIRq`Y=
+6WL D2? Rz$;Ѵ`{ Qj< ВT&T1ea7|La5%7Dtarz. /8HN, zԧv20(nhX^$CCVƿF&-Gާ]>#DxUE
endstream
endobj
2213 0 obj
@@ -7107,16 +7104,16 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F78 556 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2257 0 obj
-<< /Filter /FlateDecode /Length 2075 >>
+<< /Filter /FlateDecode /Length 2074 >>
stream
-xZ[o~'
-MQ672F3eT[Ѧy~<s.׳t8go>||!5C."V.nLn:geXiJ1+xKT?<dB2ٯ]]-?իcbxn/wJ$?̤))C)Lh*('19̹heUE.oYהO?L\7:B8ʂG6T>S
->
-Hť6B{.]o| .. >vt&<&'}!mjeN~8$E}a_5iy;a2jI?˯.Hð88/{:٦ír\7Ϡ;})ӫǷ9p=nMb`0 0<Я㪮=gMr]o6՝oh^)Sۻ5+#Qrpҥ/4/F3nC,IMR3fy:vYV*.j殍#KHG6ݮM65"8E% Qnvޭu[ZrþGWToga?3lhm_rx3>W {apּUYe]}3S f9qX'L{*q85<Fό
-p) MnM3\/.2G#@}yI
- OOt]Y͇}xvw\91ѹ1DqIN5v<w=+Rd",XD82Dq4Hb9Qj
-9hQ/F6n;P)Έ9(/K|Tk1zEqq)vWXRfl4Githİ!+:B/8"mQcWg-ry~M0
-MV"H)WDc3s>~SI"ܵ)=GEυd DeEN9l&U\?ǜ12s?%Bѳꗛ
+xZKoHWȅ퓑d=x]9lMQ6'2% }GklY`/U_SNwtY:tg׳7g>kf}FtAFEB+JRE7'?7ᳲ CR4rq]<wE}ju~!׮UXMV<~?cv%Wgf[ȔД졔p&cwln |͎R\l"GUe^<d]S>09wpPf5b4㌚hm& 5h#pᝣ'>|va”C%ĥ)azsp.Oer3;SdyWܥJŸۮ6\Vox~tYXJPH)Y%F_VAfU4A"(x_˪TY7E=0v2p%/6
+LkZE$)`"}ur{~LRܵŊ_-]$*x*]Wx7NYNx-rWbL?[Ⱥp5I^x Ȝ%Yӟ Wsm a[n2[J1"4t$fD`ļ]Vr]
+z[2vD=e[ 9P(BFp[כereU{%Dip0H; {l K:8Ky(DA Dh~G¥֣p
+EFi$ԌP"1[JC 3z*Uvz蚞5A
+xN1cЌx,ҙI{
+,6^7 +C IA }0mn6.)~<,ZzMmr P[{jԜheJ
+-(= Lۍ"30)T.R/ 1ܱ/ew4aZJ3梙iّ+K+lЅ\kջ<]d]e,}My4y1LOBd p8Hžk*78d2:ow_]aqpN/_t M[[/"<nAw RWosz0s~kaax_ U]y{Δ(Xl</;+мRw0k8WFxKe_*h^ ,4c1f܆6BY0f##HYu@6eU\V]G(%l0-nl]e~ k lj(%
+Ep"4ދJ:P\[]m>}~.~fЄ۬f|JA<Ly]7ʺ"Xgr<X NTpkx&nkU^Gm˼5XӉqlaI܎#Bn_yyӫAnNR\lh|uF8R`ܚfJ^Oe]7XeSG7ԟ\4z@P߹rbsc9\k"8x#T{W?V!E9XO)4Aq6?eq!bh9'Řsds_N2l.v>RsKQ^8bl<GSn6 ]Z?1*9i>=2cacCVu+8"mQcWg-ry~M0
endstream
endobj
2256 0 obj
@@ -7603,18 +7600,22 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F22 473 0 R /F70 185 0 R /F76 318 0 R /F78 556 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2410 0 obj
-<< /Filter /FlateDecode /Length 2481 >>
-stream
-xڵZ[o~ϯ0(
-_zpgۃ0P+bf(RɇALͤ!ܯsOLI`,LS끞WC='w3nt_͌uI-J|>CB4hS9vN{&C˴jyO K[rTK_\٤b ~Ìg u'@O}Z{26/iq=[ZƎa9jsRjılu2KM3=>(=;yq}5pY%m)gHC롃cd>v(=t1
-XMI }P"!]j]-1 m8HB% :8RcD
-t,<cZ#UǭҔǵ&AJ5NZAف=Nk^4ӒxYeOխowƹC@F̼\Dz`\#am<vH)<.ŐFt:.j9F MZ;O Q.| c?M#/G
-2&x'B12=2ܶ
-[LL D'*sDˮq;6QT#DY^ۜ)Dhz S7U}]_szEXMlUz# Q!v\Wr&7t(c
-D0 :$gyܽzRQ=UYsjaf7BC&Z[
-x϶$i٧E0Y]n_6=U%TOlS*74Ab?S,h '`_*`)1_W0y}jR7S+Nk EGϿVF-o"bYl6eu%^$YIib-d"+m|;c͗wy<[R6r*նauoa-Zoز ؆A+NmhhOxaށA&dnH!BI%aנGmn }L`0|{s}Ǹ-pO{OpJbm˄x`
-@}n3#3~ܫS6fs^O'}' zAc.//j/TVG+}>(7q]اF!eC|/M\X.Mr\5rC[c.#R.ҽ
-!f,KxFNKBc` Kמ1aCI\!.`8Cwք}ۯ u~eb ~2*~*‘wnۄt!R(tM*
+<< /Filter /FlateDecode /Length 2480 >>
+stream
+xڵZ[o~ϯ0X&/ZdgY>)h(Y
+dylCQ7*l:\xxnfxnHzb3&nL32IfJ%lf#o~|%L##%C0)f|*(yJbysu~!2t], ͫhM̋[ϼUu<<$` )JpLD8h#i$ʹ-,Zm*kŻw+Ոhx-Gv_&_&@Tt0ic-mh/zKAS13C fhc9U &|o$0jX&q@ϫ⡞7/fƺLxYEm!}enϩ;=@!eZ5Ӌㄥ-ap/.lRC\1ĄA`Ƴ>RH`I~s4ø--|cǰ
+9)5Xw6Gnj%qUFyv cocq,6 LN3$ءXC2D;olS>x(l㮊t`6`$H’)1H"
+:
+:5haia&b' j(>HKџ&˗# RΓj@\r~ߞ_DeCnL
+buy&a ѧ d>ain834"K5 C[ڔ˸\^.QQd GVm497A9Pm\qWM(jp䴯q!lb:<m5q%Ce
+B~V@+NUDKEv]% wlfG6.9S*f!@j ngH;Y.|M
+$c}_ϫF :أ?Bn
+7Mn\QNF5"#Da t޵75I*4_{u?{~k4k[;nȅLk77;
+mcI6-ҲO`&5m9zJܟv<#[-`EUn9;oh0dkXNTSL!c>2,'nSa`դtYo( (0W~)3y8AV!$bύ=)n[[b5E#IJl8KH+:,>[:E?W-pv6#ƚ/vyPωm6ʍӤnUmZކ e />W@I-&My<(49(>L݀ӑB
+J®Al>;^9`m6x܏qY [༟?p%g4 % S2fPGHgaDnWęmF缊N*N=Ѓ:;=\^^L_8?V1 VD}4yQn컰OBt 2m^FPX.Mr\5rC[c.#R.ҽ
+!f,KxFNKBc` Kמ1aC$u/ʇ暑 aܹY銇n?CDʾ^ͫ6NM_)˨ȓI *FkC
+JRН6axh0wؼv|;p~oC%IM@Xf>:X@ٻ##}.CO e[k(;I1alӉB<)G J< o< Ǝ<Vϴ".QC:Yh,C"h' :q:6Pn6:6ќ&t<ݏmTw![QbfVw 
+ZBAumhN۸iO嗡9{X7,齃!:XFpCnW_ltY];Z?MjZ<N 6+cukJ8oM֛2$pߧUI]}
endstream
endobj
2409 0 obj
@@ -7934,12 +7935,12 @@ stream
xڽZKo8Wxo6Qaг9ؙ
T./֮mIkתWfml emnG/ q26)Iig!o m<VIQ\;<
>+g'Y TP85,Q m|wVS0QoٵbzZ[a
-?zCϬ {160}[ m@nVa7T:Pҝ=dU9aE; ԘD5N=w(:VUUipz4OfnлMlq8h "ds̾}p4Ϫz:\稯Yg|Y2
+?zCϬ {$0}[ m@nVa7T:Pҝ=dU9aE; ԘD5N=w(:VUUipz4OfnлMlq8h "ds̾}p4Ϫz:\稯Yg|Y2
E{@:/i9|{ *>0>>뙗)wAצIm @:Z8DC@_XâNx x6уz^*
ഏ'ʶ. :st"MVxoZ]ㆲ9ʡ@EȋIxuϣ;Wc^g5B
WbsO
hj: 4
-622Gf3D0.K bD0=ůQpRON*^Fpzki1\C6-n O|1J *h8.΃Bo>;"AGnvp=FGFh܇<6JiZrAQb|"xB>4D~ [;3\N
+622Gf3D0.K bD0=ůQpRON*^Fpzki1\C6-n O|1J *h8.΃Bo>;"AGnvp=FGFh܇<6JiZrAQb|"xB>4D~ [;3\N
endstream
endobj
2513 0 obj
@@ -8106,14 +8107,13 @@ HSX!ah]=qt1u\q~K̝zƒppt-ŔKv}>֧"QLyEkX6y+
˒d0d$B*' s)up*AYРį;"X#1q\'`}kҠ)l@.{rahO`KlvN(M͗]n犬2k;jY]cr{w[)KkYk'ljm'j4yRDz%
])G2jca@08ppVbG;pyTt퐻WC..#FcgfVR
IWH)3[z8ڼ?~
-̾<KQsQ~pk
+̾<KQsQMuk
}=< )PpR BdS) L;eW}eP\#"Nҙi[7k|,rIdoi`=# 1H xJ/1S$Aḥ(*m1(|QU5-?Oϣߟ2K뵱8 = Wa1
giU둴+8*6UuŃ~oyV;Pu1jJGkД,+QWݛU(A@k솙u]YbE t4(6M}_fbzNk|/)W۽-*uN @ .@ +>-Z]Kis3;S]86EUYpߗ(s`_ v
g-^U"7j;9`W]fs3Òԫ(ѳ]5ᏳmL[Nf%>YpL MiصR_q1re ju5tO( 84#z[}o~vaf;i=
_#"RaR@ ݊)*ܗIb W`?T6{L,z v_ A ŔP>ޡ><]ṅfi 0v PƐ]Y>3Lctpĸl-*U9ժ_m,* /03Y +ަKt]2g$~H,MiR
jJS|B#E`-Sp7Nf!@ɗJpI:yRJ%l6 =7EB<U& ){:@ْڂgՍ&c@'~ٌ˭QƔ x]mh2ϴF"q;g]@َA':@4xee[%@eHdW%: To*?1 }u&Z]!#*ǔ΃G1V"LhTFZ#QPRAdjq?(߸
-ฐ3{>
-)
+ฐ3{>r*
endstream
endobj
2565 0 obj
@@ -10875,12 +10875,19 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F72 187 0 R /F76 318 0 R /F20 186 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3428 0 obj
-<< /Filter /FlateDecode /Length 1767 >>
+<< /Filter /FlateDecode /Length 1905 >>
stream
-xڽZMo8WxزiEvM=R=l"+J"Z-I\"# y3d9'ۓ?'/#1&d~u%:af$ҌP&)7ƞ3\ۉ!Vka`&шolE qc @)۱_3;
-n=g<Dl'b0,
-',r'
-c9D}'riB\zr"=oς]u)9 `Gh" A5vDLI} sr`G`qOpb h`Zи/CpM >Sn?y_v4ԑ> ")qHJ
+xڽZ]o6}ϯCX~SÐ[!6}XAqG,\߾KKE'u}/чuK{%CzA+Qz+#؄ >_0 D330`25IbGO~ mx !VkLD V0ʻ-=o(%ctW,@}D@w\Lx=JЍ͈aVuϵ8% 9uE1jy3$,Fp`tx;]󐍸)="-ZyyWSnuQ@n=/D@KkW`B)qi$dt [yK9,{o*Cݛ|ooWDtc&9aB Oik*;Χ`aac'+j~YYy7R\cs=z\v<pTpTЏ_4oqdߖ()B{k]_[bi^;7FsҒ$ $S9E:[tRX:{[w_}]BPR
+_"4~nq]+}p;{K7rVޚ\^o4I5DZRяsiY2K9%!N l#u
+e|Ӌ,զy/yYZ 㱸'ǽˊyfO|,(_Cѡ#󒔄*Bo 7+!ԭT3
+.Dcdedys'^K1Flr_a !Eꖮtm݁+yӝ{C,:pV =f(h(IQh$#ֲ0%U"aVr|(wtzȖ8S}.<8}Z\u R# Goi@^by@dLǣ<uQR ajWU5o_m
+6d5ߔG8_5v"ZD }ݱVs+7.oCaO;BI
+- Btg>D㛛ldvQ4< AYvd(Y>&I*QcI΃WӦ
+EsxC]ͳ~C6m{ fc<(T]Jdc3Ͻᱡo8 UM [ޛb %q`~!x-&f
+@%EaVȇ;׉M^?_n_/* g1SL)FTYA,hvrTX nK6PcW5nO\_.7wE%CiL?Bp1hlȤ '"7 tAqUM(-HDHLrMGSL6sIf3l\.>FaC4>zCt-qQA*C)sqK9qg.
+8}q>=sPYL qzqw`t}fnRNCn=r](w[X2P>68.-F1ܷ[C`PCﶉ8.QF'rp42됞8.Fhmމ!RenA8CFG-6d`GԽWx:fm>\NMvzGIDh!ʄ$0BgtEZ?9}j`,}%
+#$nT=pwXd:]l"5:v\)
+ܡq[Ib|w_T#Cl7u}t C0Lrb}L}V?9]զ|?,ܧ?thHIw?#_ן$|~o 2.J$%&v_&(h
endstream
endobj
3427 0 obj
@@ -10896,52 +10903,52 @@ endobj
<< /D [ 3427 0 R /XYZ 81.077 757.873 null ] >>
endobj
3432 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 723.047 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 705.136 null ] >>
endobj
3433 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 712.088 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 694.177 null ] >>
endobj
3434 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 701.129 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 683.218 null ] >>
endobj
3435 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 690.17 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 672.259 null ] >>
endobj
3436 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 655.344 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 661.3 null ] >>
endobj
3437 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 644.385 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 650.341 null ] >>
endobj
3438 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 633.426 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 639.382 null ] >>
endobj
3439 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 622.467 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 628.423 null ] >>
endobj
3440 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 611.508 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 617.464 null ] >>
endobj
3441 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 558.771 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 606.506 null ] >>
endobj
3442 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 547.812 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 595.547 null ] >>
endobj
3443 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 536.854 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 584.588 null ] >>
endobj
3444 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 525.895 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 549.762 null ] >>
endobj
3445 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 514.936 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 538.803 null ] >>
endobj
3446 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 503.977 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 527.844 null ] >>
endobj
3447 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 493.018 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 516.885 null ] >>
endobj
3448 0 obj
<< /D [ 3427 0 R /XYZ 81.077 482.059 null ] >>
@@ -10959,85 +10966,85 @@ endobj
<< /D [ 3427 0 R /XYZ 81.077 438.223 null ] >>
endobj
3453 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 427.264 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 385.486 null ] >>
endobj
3454 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 416.306 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 374.527 null ] >>
endobj
3455 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 405.347 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 363.568 null ] >>
endobj
3456 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 394.388 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 352.61 null ] >>
endobj
3457 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 383.429 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 341.651 null ] >>
endobj
3458 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 372.47 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 330.692 null ] >>
endobj
3459 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 361.511 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 319.733 null ] >>
endobj
3460 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 350.552 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 308.774 null ] >>
endobj
3461 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 339.593 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 297.815 null ] >>
endobj
3462 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 328.634 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 286.856 null ] >>
endobj
3463 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 317.675 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 275.897 null ] >>
endobj
3464 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 306.717 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 264.938 null ] >>
endobj
3465 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 295.758 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 253.979 null ] >>
endobj
3466 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 284.799 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 243.021 null ] >>
endobj
3467 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 273.84 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 232.062 null ] >>
endobj
3468 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 262.881 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 221.103 null ] >>
endobj
3469 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 251.922 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 210.144 null ] >>
endobj
3470 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 240.963 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 199.185 null ] >>
endobj
3471 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 230.004 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 188.226 null ] >>
endobj
3472 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 195.178 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 177.267 null ] >>
endobj
3473 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 184.219 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 166.308 null ] >>
endobj
3474 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 173.26 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 155.349 null ] >>
endobj
3475 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 162.302 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 144.39 null ] >>
endobj
3476 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 151.343 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 133.431 null ] >>
endobj
3477 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 140.384 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 122.473 null ] >>
endobj
3478 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 129.425 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 111.514 null ] >>
endobj
3479 0 obj
-<< /D [ 3427 0 R /XYZ 81.077 118.466 null ] >>
+<< /D [ 3427 0 R /XYZ 81.077 100.555 null ] >>
endobj
3480 0 obj
<< /D [ 3427 0 R /XYZ 81.077 89.596 null ] >>
@@ -11046,18 +11053,20 @@ endobj
<< /D [ 3427 0 R /XYZ 81.077 78.637 null ] >>
endobj
3426 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3484 0 obj
-<< /Filter /FlateDecode /Length 1501 >>
+<< /Filter /FlateDecode /Length 1449 >>
stream
-xڽKoF,rvF:@95Z-5zA{-wT[(n/M򧝝ee<p»믗'o/D VZ]ޞx3˜[].Ӌ3NW9,8&x~ %n {fOG 7JGY}ypf;iP2ŽeV@u=jih?[6dƶ9
-J|כUUr2^bis/X|6-7ѾF
-c{~E+Bq0S?S˂LA Χ5JJa!A!C+9nKf|`sqHljTȓq9˪tDXǜJ:jB X楋,ӊ7I҆yKXU0~<☁xt|ߔwTu,M ,fٺ+Qcw 5"ϙyPG<Phd&uդeP妚!`rH O&BJ:b))Ɵb;} `6ne"߬䵪$\l澂'IxM':yB5{فUGM0MކP(V4cذX"D6vJ;R4o[Me)}`d7d}p.I(Цu%4dĕ^z,pZ FjpF]vSh^5I8n~R*U-xִyOږq궽s ZP
-ń3aԄ*&_K)L/tWb5v4WAk%l
-S;0"k@'r"g$y5Wk<)NƮ<ɵPq˜y6D ZSyYͳ!$5:,}gN1ch;-
-yx
->*/-{GsxÜ֭S~ yWfRܰaD^f)*_[zmJVpx_<'uR-!cd[#9휧Y*Dkk5.E:~ZUx<a!:= &*Y D rv;xW۠(2'zV3|z#)aKv5MSKF1~[qɀQ(Ոn@.+\]W޼ߖdB~e$+Pi٫i )cCmTI xR?_KBA0 iR/1xBX?c3͡e4u yo
+xڽZKoH WhN0"(COzh Aۨ$]dߗ0Gtҽt ˟!9GNóqƳOG|2|?}<:p*,xdvy}$G<
+9+"e_e]6dkOBq&_-41mo2ږl 4>!
+cp!i
+W|NB6!h1ZuEvK椎Z 4=HN0gMzp|Fo#rjiXVU~U][D\u>_,.dXHfR(kPwk9znS4,X.4)qh@Hy恝N+G
+Ԍ4RPSJn?]8_M61u9nnb/Jp 6xC)`#T@h|$j#hDLL&'Ɓ:#^ A%W蜜2ӻ:" >&+{0
++;#4YՌQ M(O} (
+ciJO
+(SطY$eJ-K:NTS+g*x~ 0ћ@&E7l@2Χb\+.EFY^
+caӊ~ pw/̅9yqbm@_ȡԎŒ4!Af`{~bkWM M n)MRl6!܄@]hBӃlTRO-t)x7KUi=r ~: x)qrҴNzC}"%h e)y8ՃXc3Y1Ӄ
endstream
endobj
3483 0 obj
@@ -11067,1152 +11076,1169 @@ endobj
<< /D [ 3483 0 R /XYZ 78.37 808.885 null ] >>
endobj
3486 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 754.884 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 768.832 null ] >>
endobj
3487 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 743.925 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 757.873 null ] >>
endobj
3488 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 732.966 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 723.372 null ] >>
endobj
3489 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 722.007 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 712.413 null ] >>
endobj
3490 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 711.048 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 701.454 null ] >>
endobj
3491 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 676.179 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 690.495 null ] >>
endobj
3492 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 665.22 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 679.536 null ] >>
endobj
3493 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 654.261 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 668.577 null ] >>
endobj
3494 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 643.302 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 657.618 null ] >>
endobj
3495 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 632.344 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 646.659 null ] >>
endobj
3496 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 597.474 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 617.952 null ] >>
endobj
3497 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 586.515 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 606.993 null ] >>
endobj
3498 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 575.556 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 572.492 null ] >>
endobj
3499 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 564.598 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 561.533 null ] >>
endobj
3500 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 553.639 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 550.574 null ] >>
endobj
3501 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 542.68 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 539.615 null ] >>
endobj
3502 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 531.721 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 528.656 null ] >>
endobj
3503 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 520.762 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 494.155 null ] >>
endobj
3504 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 509.803 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 483.196 null ] >>
endobj
3505 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 498.844 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 472.237 null ] >>
endobj
3506 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 487.885 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 461.278 null ] >>
endobj
3507 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 476.926 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 450.319 null ] >>
endobj
3508 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 465.967 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 415.818 null ] >>
endobj
3509 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 455.009 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 404.859 null ] >>
endobj
3510 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 444.05 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 393.9 null ] >>
endobj
3511 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 433.091 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 382.942 null ] >>
endobj
3512 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 422.132 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 371.983 null ] >>
endobj
3513 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 411.173 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 361.024 null ] >>
endobj
3514 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 382.281 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 350.065 null ] >>
endobj
3515 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 371.322 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 339.106 null ] >>
endobj
3516 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 336.453 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 328.147 null ] >>
endobj
3517 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 325.494 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 317.188 null ] >>
endobj
3518 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 314.535 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 306.229 null ] >>
endobj
3519 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 303.576 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 295.27 null ] >>
endobj
3520 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 292.618 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 284.311 null ] >>
endobj
3521 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 281.659 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 273.353 null ] >>
endobj
3522 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 270.7 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 262.394 null ] >>
endobj
3523 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 259.741 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 251.435 null ] >>
endobj
3524 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 248.782 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 240.476 null ] >>
endobj
3525 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 237.823 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 229.517 null ] >>
endobj
3526 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 226.864 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 200.809 null ] >>
endobj
3527 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 215.905 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 189.85 null ] >>
endobj
3528 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 204.946 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 155.349 null ] >>
endobj
3529 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 193.987 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 144.39 null ] >>
endobj
3530 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 183.028 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 133.431 null ] >>
endobj
3531 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 172.07 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 122.473 null ] >>
endobj
3532 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 161.111 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 111.514 null ] >>
endobj
3533 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 150.152 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 100.555 null ] >>
endobj
3534 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 139.193 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 89.596 null ] >>
endobj
3535 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 128.234 null ] >>
-endobj
-3536 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 99.342 null ] >>
-endobj
-3537 0 obj
-<< /D [ 3483 0 R /XYZ 81.077 88.383 null ] >>
+<< /D [ 3483 0 R /XYZ 81.077 78.637 null ] >>
endobj
3482 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3540 0 obj
-<< /Filter /FlateDecode /Length 2167 >>
+3538 0 obj
+<< /Filter /FlateDecode /Length 2201 >>
stream
-xڭZ[o~_ah.1X-zp[%WVM3#ʴ8ǻ/L#B|CO'|=}MsVZ=]}'b8IbVLnߧ])sfW2ZSOa[f2.ٕ)qpTìf}rZȪn'ۥy_QS:j0-Xˏ/NF+6EpfвW@'jK}tj R{tN :ٺI
-K[ D C(geMٕ+#MSɳ- ۻM}n_,LX$I.S0mXۜ,Q.FaM,,o?{إ}~<4RIyr+΄1 QT\1A&U2ۮ1Ӓi)iFhډ!ڎrl#EǶskaHGϭ5iڂtn#4Zd&us}ӳ}V j6NچҀA'Iө TdP>z< z~`!$kLǐv;/WhpڻkVjS=]
-"bx4̰4^(7kJd5|-&k9J6*J$$g7sß_@ X_ͼ(뺥G
-0֗IgxA (y4
-޽ADᄒɿ QZSXD>Eq$kHI%Beֶ,h}d }p@ weH,*]P7G](սu"hҴ;V苹C1煄#p7C*=8س&9(Tڑ
-=0=lYW [Y)G-8M>tD
-rLI= A)5JgU-l<øޤV jIґ2^{'Bhz`BNnH ȯxs-<)oT^wzu҅wvp}bT88BҦ1bȱ죽<@%b怯h`HE^œt/IN0&hUd&'|)JrBF{Wb<9Y0kʐf׮*fpVWO?ąA^%%<TvQ\=R6/Xb3Y^qv)ű0*p}*w@0pH{FmYt3G̗r,=mA#6F=m_89tb#`ъ
-AzRI'=I
-Q.\q~8jC.`H8KmHZT/S?ߠ27W*ިi؉d~?
+xڭZo0Ћ6\-!
+xBrIT4 9 #>13h' *h@H$Rl.c6oZ롪C7yFVu(>&iC׳RIDA%IybvAf
+Y2ΛSA2Z%Tq:1k. RE>e(]0~9.Zxv/i__V4qB%)yeவlpm3PݹMѸUQ71VTYXp_7 g *DEHRX<1c4 k,m g#\|#'(\F`fLkIԑ 0M[3H&Ӥ3I`҂
+ -&B`MyU9gxcep kD1c[s5MhtNL>eǥ
+'cT/-U 7<Ơ5ۥ`N!PD/bmoB X4YQNuң/
+MRC4ӓi*py3IT%lLe)Q2n/J 4=S7Y$k_dQqm7澏u"wALǐrZ#*U2l{{=-k5'lO/#)gb)Idᤌ"ʇWCtO)AT UF%
+8'41@ǘ׌Qi&CXG|?ِg ǭsm6;o)Ppy>#6zDvsJ'Nܭ
+O9MBDl u6KޥN yP ^|g[L|9eܼ{pO8u 5޽3~ur W>n֬~5!0|flnFwQ绬-{7{~-ge\Bg\xPY%EϦXN>tt%A/Q/>N#@W@WrBS2\j 6"PNd% `
endstream
endobj
+3537 0 obj
+<< /Type /Page /Contents 3538 0 R /Resources 3536 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+endobj
3539 0 obj
-<< /Type /Page /Contents 3540 0 R /Resources 3538 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+<< /D [ 3537 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3540 0 obj
+<< /D [ 3537 0 R /XYZ 81.077 768.832 null ] >>
endobj
3541 0 obj
-<< /D [ 3539 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 757.873 null ] >>
endobj
3542 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 754.895 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 746.914 null ] >>
endobj
3543 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 743.936 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 735.955 null ] >>
endobj
3544 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 732.977 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 724.996 null ] >>
endobj
3545 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 722.018 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 714.037 null ] >>
endobj
3546 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 711.059 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 703.078 null ] >>
endobj
3547 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 700.1 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 692.119 null ] >>
endobj
3548 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 684.182 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 681.16 null ] >>
endobj
3549 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 673.223 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 670.202 null ] >>
endobj
3550 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 662.264 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 659.243 null ] >>
endobj
3551 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 651.305 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 648.284 null ] >>
endobj
3552 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 640.346 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 619.411 null ] >>
endobj
3553 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 561.717 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 608.452 null ] >>
endobj
3554 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 550.758 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 579.579 null ] >>
endobj
3555 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 539.799 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 568.62 null ] >>
endobj
3556 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 528.84 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 557.661 null ] >>
endobj
3557 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 517.881 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 546.702 null ] >>
endobj
3558 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 506.922 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 535.744 null ] >>
endobj
3559 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 495.963 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 524.785 null ] >>
endobj
3560 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 485.005 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 508.863 null ] >>
endobj
3561 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 426.311 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 497.904 null ] >>
endobj
3562 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 415.353 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 486.945 null ] >>
endobj
3563 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 404.394 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 475.986 null ] >>
endobj
3564 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 393.435 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 465.028 null ] >>
endobj
3565 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 382.476 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 386.389 null ] >>
endobj
3566 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 371.517 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 375.43 null ] >>
endobj
3567 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 360.558 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 364.471 null ] >>
endobj
3568 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 349.599 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 353.512 null ] >>
endobj
3569 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 308.774 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 342.553 null ] >>
endobj
3570 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 297.815 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 331.594 null ] >>
endobj
3571 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 286.856 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 320.635 null ] >>
endobj
3572 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 275.897 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 309.676 null ] >>
endobj
3573 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 264.938 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 250.972 null ] >>
endobj
3574 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 253.979 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 240.013 null ] >>
endobj
3575 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 243.021 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 229.054 null ] >>
endobj
3576 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 232.062 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 218.095 null ] >>
endobj
3577 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 221.103 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 207.136 null ] >>
endobj
3578 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 210.144 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 196.177 null ] >>
endobj
3579 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 199.185 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 185.218 null ] >>
endobj
3580 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 188.226 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 174.259 null ] >>
endobj
3581 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 133.431 null ] >>
endobj
3582 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 122.473 null ] >>
endobj
3583 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 111.514 null ] >>
endobj
3584 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 100.555 null ] >>
endobj
3585 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 89.596 null ] >>
endobj
3586 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 122.473 null ] >>
-endobj
-3587 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 3537 0 R /XYZ 81.077 78.637 null ] >>
endobj
-3588 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 100.555 null ] >>
+3536 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3589 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 89.596 null ] >>
+<< /Filter /FlateDecode /Length 2237 >>
+stream
+xڵYmo6ߪ
+S2[aL $IQ*lДQd32!XJD Z8))ѯ7'LYWz_uVwwR,*wO4CQ`^&0Wf*DǯMŠMkfШh} PS1h=[3mw:kU)i;
+9tS4nm8fQc/ֹe~_->~އ#ȄblGY~ 5]3fVy 愤 $ǟ щeli!L#O^^4I
+["ec~Í )I?HRT]^JoqmueXR 1[ X EeGG[m>|Ap8C_p@k]W4ϝ WF\ɸEU!Y5[\q)TmKeR LK8)CpDsbP<įjgYtybٵ;g} xkb*Adc]ԣ!Z+tu1( :酹I 4L
+ޟ;`ħBo?U]fwv2Br9\uMv B9I.hG6Xdݙ9
+p"
+{{=o$ *OC֛cFAoCש-#xa6 C癝 >}>^q[/P38C՝?`FTB+r
+.$:V2ǫ qwzL kp8TIuO+YISn|2걙uJN} kR94!)O*c rs29'zUs^mbJ[e.X,]kQFEek{i8^]nmط۽mKԊ3"SW^c[|6D}E5Cqw2Q1Ծǫ}{rRDE
+@$f,Ex+a
+endstream
endobj
-3590 0 obj
-<< /D [ 3539 0 R /XYZ 81.077 78.637 null ] >>
+3588 0 obj
+<< /Type /Page /Contents 3589 0 R /Resources 3587 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
endobj
-3538 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+3590 0 obj
+<< /D [ 3588 0 R /XYZ 78.37 808.885 null ] >>
endobj
-3593 0 obj
-<< /Filter /FlateDecode /Length 2433 >>
-stream
-xڥZ[o~ϯ:#)-,h` . ١ul#qo9"u'C"GL֓dU=W?i>$5¤dB'FED+JE'/SvOZ?tbH7c0ԄWmeBhy{+M`+vnfdiSۯj cbG4<%TdG$E3m3_fww\̛.è#mW,jDO1:]Td:ooh_v%芫7ek?Eµ>~$ctJ8)a/?_>0|dvolҔn,[.˽qͣGoue]bZݜmM/=5 eJ :24r!~1+a, ZE`llsl|1g.e0sޙ@% "~̽lI'֫ۗ3$UIJD;|8 xcJed_Nӧk)h]{ю{*[00.4?D5UVԛ;>=1f
-=N2^&`;Ay#DmD`/}eia
-DWIhE<ߖOv͊
-[ϮoTn(9͛j  | >?t{hF?S+< -n\cj!nboTrp[$V'YKs 7@7n^ΌJR`0Uecfw9MAv
-o!~o ]eCN=MxGQ8}c*j3׉#
-L
-Bwm6 [E>!1Qk nԮ~ @ެc4}dyz0Eg ,\A XݤRq`6 56:E<y}zSM<[|2:C,5D8F
-Ye
-endstream
+3591 0 obj
+<< /D [ 3588 0 R /XYZ 81.077 768.832 null ] >>
endobj
3592 0 obj
-<< /Type /Page /Contents 3593 0 R /Resources 3591 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+<< /D [ 3588 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+3593 0 obj
+<< /D [ 3588 0 R /XYZ 81.077 746.914 null ] >>
endobj
3594 0 obj
-<< /D [ 3592 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 735.955 null ] >>
endobj
3595 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 724.996 null ] >>
endobj
3596 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 714.037 null ] >>
endobj
3597 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 703.078 null ] >>
endobj
3598 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 692.119 null ] >>
endobj
3599 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 681.16 null ] >>
endobj
3600 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 696.104 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 670.202 null ] >>
endobj
3601 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 685.146 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 659.243 null ] >>
endobj
3602 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 674.187 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 648.284 null ] >>
endobj
3603 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 645.295 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 637.325 null ] >>
endobj
3604 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 634.336 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 626.366 null ] >>
endobj
3605 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 623.377 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 615.407 null ] >>
endobj
3606 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 612.418 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 604.448 null ] >>
endobj
3607 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 547.661 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 593.489 null ] >>
endobj
3608 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 536.702 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 582.53 null ] >>
endobj
3609 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 571.571 null ] >>
endobj
3610 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 472.941 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 560.613 null ] >>
endobj
3611 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 461.982 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 549.654 null ] >>
endobj
3612 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 451.023 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 520.762 null ] >>
endobj
3613 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 440.065 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 509.803 null ] >>
endobj
3614 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 429.106 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 498.844 null ] >>
endobj
3615 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 418.147 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 469.953 null ] >>
endobj
3616 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 407.188 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 458.994 null ] >>
endobj
3617 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 366.341 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 448.035 null ] >>
endobj
3618 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 355.382 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 437.076 null ] >>
endobj
3619 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 344.423 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 372.319 null ] >>
endobj
3620 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 333.464 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 361.36 null ] >>
endobj
3621 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 322.505 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 308.558 null ] >>
endobj
3622 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 306.565 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 297.599 null ] >>
endobj
3623 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 295.606 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 286.64 null ] >>
endobj
3624 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 284.647 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 275.681 null ] >>
endobj
3625 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 229.853 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 264.722 null ] >>
endobj
3626 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 218.894 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 253.763 null ] >>
endobj
3627 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 207.935 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 242.804 null ] >>
endobj
3628 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 196.976 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 231.845 null ] >>
endobj
3629 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 186.017 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 190.999 null ] >>
endobj
3630 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 175.058 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 180.04 null ] >>
endobj
3631 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 164.099 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 169.081 null ] >>
endobj
3632 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 153.141 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 158.122 null ] >>
endobj
3633 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 142.182 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 147.163 null ] >>
endobj
3634 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 131.223 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 131.223 null ] >>
endobj
3635 0 obj
-<< /D [ 3592 0 R /XYZ 81.077 120.264 null ] >>
+<< /D [ 3588 0 R /XYZ 81.077 120.264 null ] >>
endobj
-3591 0 obj
+3636 0 obj
+<< /D [ 3588 0 R /XYZ 81.077 109.305 null ] >>
+endobj
+3587 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3638 0 obj
-<< /Filter /FlateDecode /Length 2549 >>
-stream
-xڭZK6ϯpN1#>%i`'bX4$ԶFIo!ZjŲHWŢ"^!?˅DR:^$db/Xv !%Lj'S{hY0!ҧ̗$$r-W4I~ꟄsOyxulYqHЉ"eݕwxhJOM?gUͲ"Abb^Eo}'eu^ \mc՝,-P\QJ`?&C2ŔMPahR3> HAWASoI*}j_BD a):0g>k0oLa5DJy=;vxLs\qu{:ey/{[,)".):cݕ -}4OU϶U;f.SUΌmǝzqT{LA+ j_ϋ!j*o͋HͳksRyW궝>evmHofn㾾S
-^8G5Г͍0j]Ԇb銍i*m_.F">tMKLDbܸ<mMha-%Q_.AӪzQ-Ύ jcOhD KY?N83ve.adXN%?LbI>YmMs F3i+:+`˦jî`)b)u#ǣaț%4 &0 jL߳rCr  .Dp
-$Ah x)6M}?UOaMU5{
-6ӑB<;Cnwqm.{&cl]},D4v- SgKC[Gjbw1M)xrܢu,Fi8Ice/lq7ISWc-pխc%;ɰG;NQkzDl4?Kxd
-樫2n*fJ0n6% Pxy9!y* `\~ >@w=joٍOJ[ac.'ptMYs(LPIQWSoL\WXїhMT]썺e5D󯅵|ْvGeUu|ݛ~0Gnfx>+ywkMUp8j?Q𔨩6nz;͚0(,g"Ab8Iaϰ;#Jv} e˨]fP$D ʐHɹE>jpL\sK K6ao ϻS Tmm FW-,,49
-ak$lM2e鴮moLpjG=JI/1ewwQ SDbDXeȣ~U؝>pXȣ>;?OݮeH!c$2yzn YhN8&У~K_3VpO^?"~}\0l>-
-.H?-ttL)꛱δJd&)]&ݠ=Bt7۹p >BS
+3639 0 obj
+<< /Filter /FlateDecode /Length 2353 >>
+stream
+xڭZKϯpN4OQ!,C! %,Ow`o!TE'MXrn?O?}!jhO
+1A8#<XNþ+,]}T}[Q;7Pǔr$W1Ƈܔ} ;}ukE;toPw_7ud~e0_ՀgSÕ痫R\ DmxSŒC&"8$6qug̯edF+վҦ=!VwV\lj7h퇈L Iקέ?덖fdu1}>u;
+'~)$"Yt_j)3ɗUگS՟ aaxqdS26)ܔA/?O_ϥ ͸/U~1;PdH蘄?J-8R9a4T)PF@'p.EX#ZnnBau'0ovυEK^m_3R5!Qν&b&Dp`L=7&Q:6ny(z/+B(&ULahedԜt
+vHΛg+yhGStVaTIKJrFDn%ʑ>*67Ŝ ϕjfgQ8`!@I iGKGK][].R}("N<f8`hkQzGn{iշ}\<6u
+6ZXzҮ8X=HXn*ҡ@aaE$+Z&/H^ʃY){bURD
+ xQkA{]Zez7U}_œfq
+k*gw
+ŖWN?\Wj\%8i#,f=ٽ6dcױ)A WKm]q>i? pM*Þ/踡Cvw9ڵhxe7IZ|VO@Yl"])GT񫹼 W^V<ۛ}GgBąxn4.ό=pnz6ͫfn`s ̂Ro oOuL@HC5چ+
+ 2mGD
+LR!@+@鈲Izr۵Ə346ȁ%ȐnZ|0V#*
+9Ir$[lrvbTʰ |4C2ۑ89&+DTӲq>qF62$Ȅf+ӫ,s4&7}IVΤ]3ޑSĵs 5XC5kiK+
+@뚐x'M&{Z'jc0:
+-]ە~"}'8MڌuKs!vX[c$s
++1u2o*1ʕ2
+*/C*BiB$A(l?"%ш־;jWZr:plfgH7(qu
endstream
endobj
-3637 0 obj
-<< /Type /Page /Contents 3638 0 R /Resources 3636 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
-endobj
-3639 0 obj
-<< /D [ 3637 0 R /XYZ 78.37 808.885 null ] >>
+3638 0 obj
+<< /Type /Page /Contents 3639 0 R /Resources 3637 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
endobj
3640 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 742.929 null ] >>
+<< /D [ 3638 0 R /XYZ 78.37 808.885 null ] >>
endobj
3641 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 731.97 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 730.974 null ] >>
endobj
3642 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 721.011 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 720.015 null ] >>
endobj
3643 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 656.254 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 709.056 null ] >>
endobj
3644 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 645.295 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 698.097 null ] >>
endobj
3645 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 634.336 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 687.138 null ] >>
endobj
3646 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 581.534 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 676.179 null ] >>
endobj
3647 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 570.575 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 665.22 null ] >>
endobj
3648 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 559.616 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 654.261 null ] >>
endobj
3649 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 548.657 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 643.302 null ] >>
endobj
3650 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 537.698 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 632.344 null ] >>
endobj
3651 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 526.74 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 621.385 null ] >>
endobj
3652 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 515.781 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 580.538 null ] >>
endobj
3653 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 504.822 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 569.579 null ] >>
endobj
3654 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 493.863 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 558.62 null ] >>
endobj
3655 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 482.904 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 493.863 null ] >>
endobj
3656 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 471.945 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 482.904 null ] >>
endobj
3657 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 441.061 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 471.945 null ] >>
endobj
3658 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 430.102 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 419.143 null ] >>
endobj
3659 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 419.143 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 408.184 null ] >>
endobj
3660 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 408.184 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 397.225 null ] >>
endobj
3661 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 397.225 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 386.266 null ] >>
endobj
3662 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 386.266 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 375.307 null ] >>
endobj
3663 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 375.307 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 364.349 null ] >>
endobj
3664 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 364.349 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 353.39 null ] >>
endobj
3665 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 353.39 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 342.431 null ] >>
endobj
3666 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 320.513 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 331.472 null ] >>
endobj
3667 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 309.554 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 320.513 null ] >>
endobj
3668 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 298.595 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 309.554 null ] >>
endobj
3669 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 255.756 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 278.67 null ] >>
endobj
3670 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 202.954 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 267.711 null ] >>
endobj
3671 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 191.995 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 256.752 null ] >>
endobj
3672 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 181.036 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 245.793 null ] >>
endobj
3673 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 170.077 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 234.834 null ] >>
endobj
3674 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 159.118 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 223.875 null ] >>
endobj
3675 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 148.159 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 212.916 null ] >>
endobj
3676 0 obj
-<< /D [ 3637 0 R /XYZ 81.077 137.2 null ] >>
-endobj
-3636 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3638 0 R /XYZ 81.077 201.957 null ] >>
endobj
-3679 0 obj
-<< /Filter /FlateDecode /Length 2194 >>
-stream
-xڽZ[o8~0{1ayE1v0Ev،#Ԗ<4}uHQ}t±)}|t/oh7>tTs-g7wo<36KR"YnzJh3k77Rǽ]\]fv{e`Q6!/™:_g&/ R>6p]mmmƕY
-ߎ~2RLp ѭVfD&DK1 XsJ˖,¶^
-:T`nׇb<98VjYt`8ht lT`8 ѽbZeh'/"2@o_ˇz~"W)x_p&"tme7y'!-C~ ev!%oBE~}jtQ5F5: .Dhڮyg Ѕ|9;J<nh63RIСu8MN%X4o~k
-1?>5l7 Ҥ+;{M uˆoM׶2쮬kl[{69ZmAVw:wGQts"mTL,',=-7vukAvAOC`25PDf.B n~IDf$q`V1r%'Ͻ$.G)ۺbH^ VP5#9
-5*7c?g;38./ =y"b1+஺n\R8}>:s-)GV+\qiTp%#)<F%C4:q DCt[a-
-%IQA74iJIST?:xq B81
-mlle֑뻹_8}~Rg,X/ޗ0T
-^=qg<$Я!&q_
-endstream
+3677 0 obj
+<< /D [ 3638 0 R /XYZ 81.077 190.999 null ] >>
endobj
3678 0 obj
-<< /Type /Page /Contents 3679 0 R /Resources 3677 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
+<< /D [ 3638 0 R /XYZ 81.077 158.122 null ] >>
+endobj
+3679 0 obj
+<< /D [ 3638 0 R /XYZ 81.077 147.163 null ] >>
endobj
3680 0 obj
-<< /D [ 3678 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 136.204 null ] >>
endobj
3681 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 743.087 null ] >>
+<< /D [ 3638 0 R /XYZ 81.077 93.365 null ] >>
endobj
-3682 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 732.128 null ] >>
-endobj
-3683 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 721.169 null ] >>
+3637 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3684 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 710.21 null ] >>
+<< /Filter /FlateDecode /Length 2554 >>
+stream
+xڽZmo8_C?rhYKCuo0lb3PYJrlE:cX&5q晡l3ó_ūwH>Q.+xFfiX:K%AXb;-YܩLdWh|*6ϰFAXhm
+qH*[Sf&hZ.-6=M @Z;9(ߕF5w ܗUeYT_XK?*rnj޶v[؂`i7ꋛ}U-'"M%~TW$i߀$Q&M2ٚr񬲘@Bp,,&2\,?7~,:NQ<2(※݌Srz ]YgɌ>ȇ_.։ @ RD;EWi/ѡƸoH
+*Gq[o_y%Q2^uz`Hꖝ4ݍ 2H_Ȃ1bT:(Z-},ojףD|~5mthfp52G+]62Cg#O Sh
+I~f֒~X\ Mm-}4&w+x498$aa}wj7Hig8环XFሐ"mPTS~nLu/vS5K
+LE]!g,e2(qԆOnYJQb$rA cݴMŤaXۦC+I(m&PRf+S]r_VdED,6kQ'r9X.ӷLy q'|s6e|#H.Z0~^1| L".瀮9>yJL1ْGuty|
+q^@}Jm4{ԓS.q\@=qT> gAJ.M%` 6W!!a4PuqąʮOC)
+HS.ýlשmY!)O$RoZ::juk?6hÎtBwlc/hq
+endstream
+endobj
+3683 0 obj
+<< /Type /Page /Contents 3684 0 R /Resources 3682 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3298 0 R >>
endobj
3685 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 699.251 null ] >>
+<< /D [ 3683 0 R /XYZ 78.37 808.885 null ] >>
endobj
3686 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 688.292 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 730.974 null ] >>
endobj
3687 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 677.333 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 720.015 null ] >>
endobj
3688 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 666.374 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 709.056 null ] >>
endobj
3689 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 655.415 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 698.097 null ] >>
endobj
3690 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 639.791 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 687.138 null ] >>
endobj
3691 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 628.832 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 676.179 null ] >>
endobj
3692 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 617.873 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 665.22 null ] >>
endobj
3693 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 606.914 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 588.508 null ] >>
endobj
3694 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 595.955 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 577.549 null ] >>
endobj
3695 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 580.33 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 566.59 null ] >>
endobj
3696 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 569.371 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 555.631 null ] >>
endobj
3697 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 558.413 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 544.672 null ] >>
endobj
3698 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 547.454 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 533.713 null ] >>
endobj
3699 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 536.495 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 522.754 null ] >>
endobj
3700 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 506.084 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 511.796 null ] >>
endobj
3701 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 495.125 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 500.837 null ] >>
endobj
3702 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 484.166 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 484.896 null ] >>
endobj
3703 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 473.207 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 473.938 null ] >>
endobj
3704 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 462.248 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 462.979 null ] >>
endobj
3705 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 451.289 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 452.02 null ] >>
endobj
3706 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 440.33 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 441.061 null ] >>
endobj
3707 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 399.799 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 425.121 null ] >>
endobj
3708 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 388.84 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 414.162 null ] >>
endobj
3709 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 377.881 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 403.203 null ] >>
endobj
3710 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 366.922 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 392.244 null ] >>
endobj
3711 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 355.964 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 381.285 null ] >>
endobj
3712 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 345.005 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 350.401 null ] >>
endobj
3713 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 334.046 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 339.442 null ] >>
endobj
3714 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 323.087 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 328.483 null ] >>
endobj
3715 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 312.128 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 317.524 null ] >>
endobj
3716 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 271.597 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 306.565 null ] >>
endobj
3717 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 260.638 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 295.606 null ] >>
endobj
3718 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 249.679 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 284.647 null ] >>
endobj
3719 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 238.72 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 243.801 null ] >>
endobj
3720 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 227.761 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 232.842 null ] >>
endobj
3721 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 216.802 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 221.883 null ] >>
endobj
3722 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 205.843 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 210.924 null ] >>
endobj
3723 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 194.884 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 199.965 null ] >>
endobj
3724 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 183.925 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 189.006 null ] >>
endobj
3725 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 172.967 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 178.047 null ] >>
endobj
3726 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 162.008 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 167.088 null ] >>
endobj
3727 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 151.049 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 156.129 null ] >>
endobj
3728 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 140.09 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 115.283 null ] >>
endobj
3729 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 129.131 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 104.324 null ] >>
endobj
3730 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 118.172 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 93.365 null ] >>
endobj
3731 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 107.213 null ] >>
+<< /D [ 3683 0 R /XYZ 81.077 82.406 null ] >>
endobj
-3732 0 obj
-<< /D [ 3678 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-3677 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+3682 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F70 185 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3735 0 obj
-<< /Filter /FlateDecode /Length 2401 >>
-stream
-xڽZM6ϯ0 l3ScL=!h`m-,yd;䷧HJȦіE=HV*O<>ǏO 2J>yz@ODDI$'OOY|sJ(G\\gwi텙w;/Oeu˺CUO,fTN:,j(Z$l3M(GDL8~7G}_nBE?ۜɨi<JSR7B!yKWuGUB']{&M%(qaSFt[ǏL4PLG/4bF诳;AEMs(suM;hʳ7Zڍg4DD0 v48,FM"FyCifYSSm뭵_E_f}oI8L &İ3bN3:-b֊g$ϗ*gm2GxTmi/̳#Yx &hh:
-8=A#HT?GO6vrJu#+}{ Cnj_lY?a._۾mVT-oxuG-`3[NiI jLAO+xF% e (clxù)ۋ2[x%S2Ǯ UyoMbw q쩁rY+*jwnJY>lu,%
->\0A`.mi06_qWEj|C﫮;^)ĕBis_ǖ)fI'B#[΋g/Yy
-B&5yBD׬7|
-Cgjx '龭WUbs^/]y]O>DsD)8rrcM@'rr")bXiD@A-wv?hjʺڏW){V{s sP+$3B D04MJ> RB8!n 4͓~-d:T\ DWh[a.$2CLI$CJyhUvǜ: h9#i߻
+3734 0 obj
+<< /Filter /FlateDecode /Length 2451 >>
+stream
+xڭZ]o}ϯ0/6pOy
+Zt/ZAqw/fl!dŽCRD+NFt8G3ÙCJd5I&$__o>I!%1%ǧ 7%< NRQ"q;mJqg?ӏPTX _1e{-滬(7E-'^ZeYY5z]̀9<A8!'g"B?zN*u& vDS
+aF=U!ںM4"s`qQ%CGh6؄{626 NJ㣑De)$ g!:ڶP$lAhC.v$$C)OBƑ4.&R.C yUmᱟ̫͛a3sg4UA*$*ih#J'/P68\
+)xwxW_U/_)8fR'܆}$jbh_(T!
+@Hֳ[J鴙t:#rZb}QvL :ո,W/^FY A7V 'HPZ/okl֣v)eηuPV91}kOOrd. -\lf#Ȼ(:0A)'cRĶ)/'B~:|. x{G0I $hc~g="o -ՓcQmC w\ZJ$I$f< T=ybͿ1qطT4~1}tZ<g !H4
++u %/q,@%WRC1뺪3
+J(Wwi
+|-uuh<nW::^4J/xЄ0W
+DZ lu] .˼XL.Ԃ?.,(Q| ӧjZ+L~s*]-6z7kgӍ͋=7bw*upfXڂ LiQ4z;+8!!2%2i%O5IDOx yj5|d^YvWH
+Rw~9ԟe yKeѲtG.(oUv
+"gzP9n:{Lv⳽ٷw!F? VFCe9wd'Sdfv^TvA0{n]mKSndjlukhƈD¥D!VJq ыF/ve88N}gquތ`@ʋDţzlgٱ^o`+::E߬Qq;|z&mٽ(}'S$߂Ds
+)͑=k~cdQy/*$r#tu"v6(p}0x4H z(4jlbLt#WXN[;I.R$y8;\_u'[߸6ʓÓJHQqӮ-#c4 Z8?3A)Cՙ!$v/gvb,V-B˒))k( s}1h{K"LzqĠ+z˥mDF146;5>TF;ڌ,rdLS~턙+U{!
+'65<ɏ'UW6N qOqu/8~A[R9r^}Lv/V_PP<6Hĵ!:Zhs9؎[3hiW,C6&!Q @` ܺ?J*RGƑf+#`_ .o\A)Þ-c;DǸC98@L%mcq}
+K;ROVM!($\޼h|<8[2×x1tLg+ߓ? ay 8)&<QCttM\5'QeFڹ̸^
+6
+r
+Q 3H >CDtJ O8Q0Fվ6ym:͵_q 0Aj7jgW#S3I
+Px*m[gmoF
endstream
endobj
-3734 0 obj
-<< /Type /Page /Contents 3735 0 R /Resources 3733 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+3733 0 obj
+<< /Type /Page /Contents 3734 0 R /Resources 3732 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3784 0 R >>
+endobj
+3735 0 obj
+<< /D [ 3733 0 R /XYZ 78.37 808.885 null ] >>
endobj
3736 0 obj
-<< /D [ 3734 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 768.832 null ] >>
endobj
3737 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 754.884 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 757.873 null ] >>
endobj
3738 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 743.925 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 746.914 null ] >>
endobj
3739 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 732.966 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 735.955 null ] >>
endobj
3740 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 722.007 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 724.996 null ] >>
endobj
3741 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 711.048 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 714.037 null ] >>
endobj
3742 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 700.089 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 703.078 null ] >>
endobj
3743 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 689.131 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 692.119 null ] >>
endobj
3744 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 678.172 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 681.16 null ] >>
endobj
3745 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 667.213 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 670.202 null ] >>
endobj
3746 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 596.478 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 659.243 null ] >>
endobj
3747 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 585.519 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 648.284 null ] >>
endobj
3748 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 574.56 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 620.523 null ] >>
endobj
3749 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 563.601 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 592.762 null ] >>
endobj
3750 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 552.642 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 581.804 null ] >>
endobj
3751 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 541.684 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 570.845 null ] >>
endobj
3752 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 482.904 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 559.886 null ] >>
endobj
3753 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 471.945 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 548.927 null ] >>
endobj
3754 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 460.986 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 537.968 null ] >>
endobj
3755 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 450.027 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 527.009 null ] >>
endobj
3756 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 439.068 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 516.05 null ] >>
endobj
3757 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 428.109 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 505.091 null ] >>
endobj
3758 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 417.151 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 436.618 null ] >>
endobj
3759 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 406.192 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 425.659 null ] >>
endobj
3760 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 395.233 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 414.701 null ] >>
endobj
3761 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 384.274 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 403.742 null ] >>
endobj
3762 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 373.315 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 392.783 null ] >>
endobj
3763 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 362.356 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 381.824 null ] >>
endobj
3764 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 351.397 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 325.306 null ] >>
endobj
3765 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 340.438 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 314.347 null ] >>
endobj
3766 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 329.479 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 303.388 null ] >>
endobj
3767 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 318.52 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 292.43 null ] >>
endobj
3768 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 283.651 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 281.471 null ] >>
endobj
3769 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 272.692 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 270.512 null ] >>
endobj
3770 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 243.801 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 259.553 null ] >>
endobj
3771 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 232.842 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 248.594 null ] >>
endobj
3772 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 191.995 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 237.635 null ] >>
endobj
3773 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 181.036 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 226.676 null ] >>
endobj
3774 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 170.077 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 215.717 null ] >>
endobj
3775 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 159.118 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 204.758 null ] >>
endobj
3776 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 148.159 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 193.799 null ] >>
endobj
3777 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 137.2 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 182.841 null ] >>
endobj
3778 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 126.241 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 171.882 null ] >>
endobj
3779 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 115.283 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 160.923 null ] >>
endobj
3780 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 104.324 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 128.315 null ] >>
endobj
3781 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 93.365 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 117.357 null ] >>
endobj
3782 0 obj
-<< /D [ 3734 0 R /XYZ 81.077 82.406 null ] >>
+<< /D [ 3733 0 R /XYZ 81.077 89.596 null ] >>
endobj
-3733 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F70 185 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+3783 0 obj
+<< /D [ 3733 0 R /XYZ 81.077 78.637 null ] >>
endobj
-3786 0 obj
-<< /Filter /FlateDecode /Length 1852 >>
+3732 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3787 0 obj
+<< /Filter /FlateDecode /Length 1949 >>
stream
-xڵZK807M1 LCN  j[r1[ԃ"r'HMSX_ˡ~(~󯇛WoIX&":c3fff4#Tn\pfo|֫7:Yh-lf@d+J^vrlS}U}y{?:/w!*=4~ mvRŘv8p; %c4^6Ye3 \y=|#1p"kmQiEM5Z{NYT6f?U}_Xutƫ#Q&9c.+]6U_)0cQ7m
-V!)TnSNSk)jK6eӞ4nOiZs"'kn.,1z ̼qr|ȶcU#Zc)F-N}99C(a;y4DÁO'nAQ,BODs%*AS˦h^\8%c3Ϊإ氈ߺMcOXeUO_鐗+Pc_,Cuf.KV.S}bnZImS:
-=
-=1*|/y!zTp~ꞣ
-.u6'5Q;Л\d25`A#=)bwd؉Tc: Æ-q?:Fx?EowTynn-sWjϣB)Y5Y:D3 K I'I2BdL -q
+xڵZMϯ0HsMA9̩ ۲DoOQ)u'㱊4mgt:^ghi :c3afF3B5=g(?竺zz<oaw% +5cכ?&9M:g&d~.6/*Or|eZyiW@r=lCynw׬0o†$/.L)¨]nZ?=0(c`nҢZKdbc<!('1$Ln5 EZp g,̭nDvs(VݱD$,ID8 ю/l
+)tF 2N.|H(@y
+G;D;:˺.2kZ7zBӁKШ<Ёn8cj]E}_.eS4mB'%ZXK^a5/^|KqM^XKh|1E{&5?7 H/۳+m95UrH2z G/ܒT(BsD_N-L?fY_Kj"&QQ*Jpdlvj}fˌ8.!.[pYd_cuC 48!e7k#(3DLaiq)ˇtuR6!Fi s"D)J+ׇqHU^1#4ZD1
+:t_?J+k;)y*]Z]ަyo|涩T-FtlyjPj}}ZJ0F]RT馄[*cÊv`^Nd<HrJP.oڏIGQ F>TEgNGV|ٝtQ( o?>2(3e`?hka vD_*NḷjZ ]܅/'vݐXG&))
+ɐȋƊQ?漣8XHB\hfu}C!k>,lMХUbq" {+KU·WGc^v0B X~Aag+NEY\} 5yߗLq}>ua*\㽫 I]\a5@6m˥eҞ=>Tpo#"зm=|&S/,n
endstream
endobj
-3785 0 obj
-<< /Type /Page /Contents 3786 0 R /Resources 3784 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
-endobj
-3787 0 obj
-<< /D [ 3785 0 R /XYZ 78.37 808.885 null ] >>
+3786 0 obj
+<< /Type /Page /Contents 3787 0 R /Resources 3785 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3784 0 R >>
endobj
3788 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 3786 0 R /XYZ 78.37 808.885 null ] >>
endobj
3789 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 742.929 null ] >>
endobj
3790 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 731.97 null ] >>
endobj
3791 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 721.011 null ] >>
endobj
3792 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 710.052 null ] >>
endobj
3793 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 699.093 null ] >>
endobj
3794 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 688.134 null ] >>
endobj
3795 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 677.175 null ] >>
endobj
3796 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 666.217 null ] >>
endobj
3797 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 655.258 null ] >>
endobj
3798 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 644.299 null ] >>
endobj
3799 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 633.34 null ] >>
endobj
3800 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 622.381 null ] >>
endobj
3801 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 611.422 null ] >>
endobj
3802 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 600.463 null ] >>
endobj
3803 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 589.504 null ] >>
endobj
3804 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 578.545 null ] >>
endobj
3805 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 567.586 null ] >>
endobj
3806 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 556.627 null ] >>
endobj
3807 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 545.669 null ] >>
endobj
3808 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 534.71 null ] >>
endobj
3809 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 523.751 null ] >>
endobj
3810 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 512.792 null ] >>
endobj
3811 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 501.833 null ] >>
endobj
3812 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 453.345 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 490.874 null ] >>
endobj
3813 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 442.386 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 479.915 null ] >>
endobj
3814 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 413.936 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 468.956 null ] >>
endobj
3815 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 402.977 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 457.997 null ] >>
endobj
3816 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 392.018 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 447.038 null ] >>
endobj
3817 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 381.059 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 436.08 null ] >>
endobj
3818 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 370.101 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 425.121 null ] >>
endobj
3819 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 359.142 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 414.162 null ] >>
endobj
3820 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 348.183 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 403.203 null ] >>
endobj
3821 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 337.224 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 392.244 null ] >>
endobj
3822 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 326.265 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 381.285 null ] >>
endobj
3823 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 315.306 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 370.326 null ] >>
endobj
3824 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 304.347 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 305.569 null ] >>
endobj
3825 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 293.388 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 294.61 null ] >>
endobj
3826 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 282.429 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 265.718 null ] >>
endobj
3827 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 271.47 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 254.759 null ] >>
endobj
3828 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 260.512 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 243.801 null ] >>
endobj
3829 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 249.553 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 232.842 null ] >>
endobj
3830 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 238.594 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 221.883 null ] >>
endobj
3831 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 227.635 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 210.924 null ] >>
endobj
3832 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 216.676 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 199.965 null ] >>
endobj
3833 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 205.717 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 189.006 null ] >>
endobj
3834 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 194.758 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 178.047 null ] >>
endobj
3835 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 183.799 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 167.088 null ] >>
endobj
3836 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 172.84 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 156.129 null ] >>
endobj
3837 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 161.881 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 145.17 null ] >>
endobj
3838 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 150.922 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 134.212 null ] >>
endobj
3839 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 139.964 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 123.253 null ] >>
endobj
3840 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 129.005 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 112.294 null ] >>
endobj
3841 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 118.046 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 101.335 null ] >>
endobj
3842 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 107.087 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 90.376 null ] >>
endobj
3843 0 obj
-<< /D [ 3785 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 3786 0 R /XYZ 81.077 79.417 null ] >>
endobj
-3784 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+3785 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3846 0 obj
-<< /Filter /FlateDecode /Length 2867 >>
-stream
-xڭZ[o~_a@GNiݝm` t
-AX[Jr` 63}H,<wύgx뛸E\?_Jdv|aP<3%r&F?%]\?dP"USbLb$iSƔ_m՜u:!mle.uIƮ8A}2
-#t˞Ϸ")]Lk,ʳ. cng ;a>Ρqz{5{̤@щӵssʶL9$rOwvE=Ha'dZˋ[4 Mcu
-^+M11n*ŅDJj8(u2,")VmQ|xS?i򢽮1>""!`sS B_2a^v8tyԃ86EV1{6PLL]2hHңv9bVe?\߄(CΥx)u>a<N+(ɢksIm k3% ߊF[S9<1T>;
-FyfeZf Av.}}N/熞IHouֶE=
-Q֞RH>OBBiei^Ӫ^@
-&%4GއP AH6`AQ_R9+Mᒲ x 2K&Чc*>ldI_؇~#2ׄ+`f9kmoٹzHm/2s/} ,n(AA`\/-y9iN#H^c(HG|yqS#1}vċ6zQ_iM_;(4ѵlC7V-H_'/T >1f-p>ҍٟifB]c* !8ʾeS7=¬=AE*}d_Q[nuتA_.M1m>C=Bm2 x>V<`y&&
-|DOCS G|n?ͣG[2Zt]zGyvZ(+8^y x0*)tmӲZUq]U/
- HG#|zQ>րD,TQ+׮1;@x؁*2# n+x2l{Y})‰x aRJH~LazwRK 8Wt<Km,)$9^yBKGcdfXy1
-On(_D4
-2i9`&ޚUk}]7zY tNwkAD^i~ɳf67 X7wjkr>^,FlZO2/6Yהi\F˟{Ht9.V [t*YYIC(z“
-ΞKᓻ{{e4Sq
+<< /Filter /FlateDecode /Length 2522 >>
+stream
+xڭZ[o}_a`L8I4-vg;EBPd9VG\IN f~{?^D㘙C]^(VOwy` RI]ܬd! A8!__ont!Q$LaDb tkk0 n̵SCB/M>KZ6`n™c1\ 1#̄JD$wLD9Z1mHpՄ
+qq(~2ǡ()F!ֻ>[n:6<[0a $pFx~z#$b qyhu$]u "9b<u\H9g`Mhљ%3g$;oihVg6Y_W\|?~̺23}kٲa ą26{{X>ӷI.fWך5]͋r>t9"Yb* %c4zP/zfQ7að]<2G!7E?Mb]fϢuU4i˗æ4LĢZ}5O(Et Zm3؃Ic<ɞr;? uN_`eה1tE9ZR JVup()R1'q:34Hpev>s"ǧg:XO>ǘŌ4^F[mCͅ$Q28$\ٕyDW]h $ҡa3L/Lӻ$FLS>Ա\`mcζ98,
+ig p/k%0d(ySP><[E,$y.CMm,9-X@Hj9;Eʞ?NRv +p-hv*P@UW$uijWYIԁ%H3g9`5hl
+Fy̻ Jb ߏk5}_6VZ
+M8K ,pHpPHxTV6ӆVRj5رrȀ. !oK'z;aIlf%*FxC- |z2sڶqnvΫef͊<TumLSZ2clL n`žs/ [u*ڮ32 M93n6E$ԕR
+z&"dnrx[_!8޴e*RȺKҰ> &c.K
+Ǧ̛4%=pũ$&m7ỳIJ+"~O1Ep^zfvKRY ]l B36c崿2@S \*Ԟbʈ?¢7eTc8ZKh eX7xEw)#,E1ph8ب@Mm6l!hUΥmP`6`kdz0Hu;
+ijc9lndru9`2/L]@UզT ij~rG!͖ hA
+uV2%uS]3muQ.4^5^{yh U|*v:G۝nmV5uՔ?5$X9wO‚9881d.&4N2ϭCp0R`oU "k_U3oeCj脾0x%`8F כw}
endstream
endobj
3845 0 obj
-<< /Type /Page /Contents 3846 0 R /Resources 3844 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+<< /Type /Page /Contents 3846 0 R /Resources 3844 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3784 0 R >>
endobj
3847 0 obj
<< /D [ 3845 0 R /XYZ 78.37 808.885 null ] >>
@@ -12233,778 +12259,777 @@ endobj
<< /D [ 3845 0 R /XYZ 81.077 724.996 null ] >>
endobj
3853 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 640.396 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 714.037 null ] >>
endobj
3854 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 575.639 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 703.078 null ] >>
endobj
3855 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 564.68 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 692.119 null ] >>
endobj
3856 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 553.721 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 681.16 null ] >>
endobj
3857 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 542.763 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 670.202 null ] >>
endobj
3858 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 531.804 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 659.243 null ] >>
endobj
3859 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 520.845 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 630.351 null ] >>
endobj
3860 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 509.886 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 619.392 null ] >>
endobj
3861 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 469.039 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 608.433 null ] >>
endobj
3862 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 458.08 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 597.474 null ] >>
endobj
3863 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 447.121 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 586.515 null ] >>
endobj
3864 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 436.162 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 575.556 null ] >>
endobj
3865 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 425.203 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 490.957 null ] >>
endobj
3866 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 414.244 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 426.2 null ] >>
endobj
3867 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 403.286 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 415.241 null ] >>
endobj
3868 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 392.327 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 404.282 null ] >>
endobj
3869 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 339.525 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 393.323 null ] >>
endobj
3870 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 328.566 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 382.364 null ] >>
endobj
3871 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 275.764 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 371.405 null ] >>
endobj
3872 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 264.805 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 360.446 null ] >>
endobj
3873 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 253.846 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 319.599 null ] >>
endobj
3874 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 242.887 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 308.641 null ] >>
endobj
3875 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 231.928 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 297.682 null ] >>
endobj
3876 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 220.969 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 286.723 null ] >>
endobj
3877 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 210.01 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 275.764 null ] >>
endobj
3878 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 199.051 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 264.805 null ] >>
endobj
3879 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 122.339 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 253.846 null ] >>
endobj
3880 0 obj
-<< /D [ 3845 0 R /XYZ 81.077 93.447 null ] >>
-endobj
-3844 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3845 0 R /XYZ 81.077 242.887 null ] >>
endobj
-3883 0 obj
-<< /Filter /FlateDecode /Length 2868 >>
-stream
-xڵZo߿nE(pmڇ4@zL"-$ybΐ,ʎbn)CqA?/w>߰|\q%w r"E-v'ϒOWׂId֬j,MZ{eK\]K]iQ*]q=mMapk}s[VuͲv)BSZUYcuF:̻ү$$)dc3_sS><>1_ ]?To}_'Wg;t݌e-</Exعg-2Rv!` ~[N%|9aL&D8ͽ'9ji"Ԅn6Lu=ꁌ>ƺvU;+O%d'9'Rr4eLIPZD<$S7#n[ 3Qe$LZ <ss
-A3G/4pOӀkʌذliNI&&O?֍):#_Uƴh(+KyKcjdTiX6TNEQP^;$ՃB0vڰ(ujԝYwf݃<l[>>uꊗU|v/?2|W8??th)GڮGJ v$:sr`~mT5
-ۮ!Rv$UUͮ`cVJomݘ^~u:.(|CH"a
-'ژ輸y1L)₁tG6Z(4ٞMߖ],FOIٙRI% F02ǰԌBD]-F8V8S[=v
-\|fP1*V1c!-b@EӀ?E~"1Qsh + pD U0
-fGJsG.OjL ˇ̈́ |=؜٬p|4 qd@ܛ
-F+'
-6
-ؽbpM~K)MlA
-q3@S1<$bI'&uc7Oi4 ]+M}'Gѧ.[7`wV7%~~2]2x
-[\TlL,F1Uƒ/n)6
-ܫ?:g1
-P@gOkS#}\4 9( P7_e*厩\T=W͸Q2q✸]@W ]·:AR*){O) f9vj[l},.D_(`^Twm}j6SF`>M{gO 0YHZ7PQr+%.3b]䛷 &*\6Gv9;N!#C<Չ*q ˳K>nl姺|kQ@HItMٴ'k3
-wvQ |"t.|`e8VlCF
-{{iԓST{cԔ9ԛu} Wz}9DNRxP{zi#{)¶z}O5|CdL= ~:l$"k vt[:8vSm~dd^]_9 $T)n%2^,:#ЅA\B'8 s~Qq2qWѧ
-i#Q"V84k7+
-6"1?y<}F‡{oѓ+ynluaa>u3ER"ezE弘ʉE _f<yJ^lr;\+"ʍW=2F4
-ҙy= O@+o| й lwe3;2 1ZeGw|Gu}fw692z6ژۄ9QZHJ:_S
-endstream
+3881 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 190.085 null ] >>
endobj
3882 0 obj
-<< /Type /Page /Contents 3883 0 R /Resources 3881 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+<< /D [ 3845 0 R /XYZ 81.077 179.126 null ] >>
+endobj
+3883 0 obj
+<< /D [ 3845 0 R /XYZ 81.077 126.324 null ] >>
endobj
3884 0 obj
-<< /D [ 3882 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 115.365 null ] >>
endobj
3885 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 731.041 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 104.406 null ] >>
endobj
3886 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 720.082 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 93.447 null ] >>
endobj
3887 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 709.123 null ] >>
-endobj
-3888 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 698.164 null ] >>
+<< /D [ 3845 0 R /XYZ 81.077 82.489 null ] >>
endobj
-3889 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 682.358 null ] >>
+3844 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3890 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 671.399 null ] >>
+<< /Filter /FlateDecode /Length 3004 >>
+stream
+xڵZ[o~?]8=E 4/ Ї0I%$$]ΐԅ#Cb37CūU˧% >|($K)gO+J%T$tu_+✊m/2[$Sb3+ߔk6Fۄ%Oo(>g϶~O$~:tܧ0Ǽu񺫏}ȷ?e>RTsw۾U]AQ@TAyN}*&ŔDerLeாa*z g,zF}#5gfiʉT̟5zf3&(r[8mnnY 
+hjiԑ[K=Wo8#aHYTն)#L>v˚aԧ^3TJ³ya3vB35j&e9N_oPq459;;Qn̝D}T69I<_U$){<2p2KI8%4hpf㘰Y%Ow/
+VߺXuϲveER~I$JV6,loW9UrvN%TXJ3E9~[KR;F_9Uo]QWyb
+\pbz_,*
+if7Q)@LMx6Bz)P_,B[%s0 >ޝ02:Mg[7LO"1dGsl;*t_otˢҭ}Dvj*3%;3 ~!Sr~Vqmuَy1/l?8vv׏s<ץ{a?g;r/E/ytN2dƛ`}^yX>`c\H 0knv&,‘cOoSjv"Of c9/bq%/nNǪ^F1XOPTO((3W`?G ?Q6uC!
+gsF睆\n*[:%9R:UFXR#Kڍ+ `a2!.R$l(0~1Q߶JlMmwC`C'CD߰ 'K`LsJn4&XbIAMQ]y0iPs뻉:Wcr'iu0>KnM,3ƋbYa4K Ž6ʛAJ ~ ND
+;Q2NM.\0  ꯍHd1=K)6u-T-
+/Ao/wIBt4QdhwD[uvU٧PxCUϫy-SĹMxnAOgXX]M2;2@ o#[ m:|ܣ8&9-W@19ScADb#-BYlǞa]HP&*V;L|;_Lm)O[nWߢ8r{Ӣv=}=̳W2evWap*bc&=x n4ʿKzhgsz=ۋyl]uW *lP.ژz@1nXQ^Ww#2
+{~-e 9O#;ncխŽXvIA{a2 x#Ľ'%RCdO%"Im+iCC:Gϯj0W7k??nZ@9;ak}԰t!1ɆmkC-x2)': qhk9EL8guO#|nDYT@P.^e "o>4.}DjeRp u|j$5s`+_.hSMCM{8>ifəv5K..VtƮu
+;JƋdAPZq/a|Sj f,ү[}E[Cc{d{LYUe-%Jz],5R|Do꥝&7V-ra[uo
+endstream
+endobj
+3889 0 obj
+<< /Type /Page /Contents 3890 0 R /Resources 3888 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3784 0 R >>
endobj
3891 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 660.44 null ] >>
+<< /D [ 3889 0 R /XYZ 78.37 808.885 null ] >>
endobj
3892 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 629.756 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 768.832 null ] >>
endobj
3893 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 600.999 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 757.873 null ] >>
endobj
3894 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 590.04 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 746.914 null ] >>
endobj
3895 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 579.081 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 670.202 null ] >>
endobj
3896 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 568.122 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 641.31 null ] >>
endobj
3897 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 557.163 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 588.508 null ] >>
endobj
3898 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 528.405 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 577.549 null ] >>
endobj
3899 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 517.446 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 566.59 null ] >>
endobj
3900 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 506.487 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 555.631 null ] >>
endobj
3901 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 453.819 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 539.691 null ] >>
endobj
3902 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 442.86 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 528.732 null ] >>
endobj
3903 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 378.505 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 517.773 null ] >>
endobj
3904 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 367.546 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 486.889 null ] >>
endobj
3905 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 338.788 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 457.997 null ] >>
endobj
3906 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 327.829 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 447.038 null ] >>
endobj
3907 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 299.071 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 436.08 null ] >>
endobj
3908 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 288.112 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 425.121 null ] >>
endobj
3909 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 277.154 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 414.162 null ] >>
endobj
3910 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 266.195 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 385.27 null ] >>
endobj
3911 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 255.236 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 374.311 null ] >>
endobj
3912 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 244.277 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 363.352 null ] >>
endobj
3913 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 228.47 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 310.55 null ] >>
endobj
3914 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 217.512 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 299.591 null ] >>
endobj
3915 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 206.553 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 234.834 null ] >>
endobj
3916 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 195.594 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 223.875 null ] >>
endobj
3917 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 184.635 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 194.984 null ] >>
endobj
3918 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 141.996 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 184.025 null ] >>
endobj
3919 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 3889 0 R /XYZ 81.077 155.133 null ] >>
endobj
3920 0 obj
-<< /D [ 3882 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-3881 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F70 185 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3889 0 R /XYZ 81.077 144.174 null ] >>
endobj
-3923 0 obj
-<< /Filter /FlateDecode /Length 2310 >>
-stream
-xڽZKo800t|f=`; Ai[YHr)-:i4I?+>*63<H;˧}r،LFgwO:i$Q3% ’vwr#FLOa|ymӛeoV}}u-~WemDzfsOD ޣ/0"2 FE~IepM1dә?eeN8mU4U'%ՈhX4SȲ3pu]C.a}kID!
-7L-I`̉-}lLKD eGct򾔙@ 0vv*BӳgN&9G"_FCf1GT #f~96?s`?ɥMA:}lAW
-t"8IfWf D~/J&Ρ .Y4Sayn: U~(U?yk}z6
-LiR,BD;EORN[8a_4N[2&;6;$H!|A'IAQ`Chn7`='g'=z'6apuOeUן*RDMQ|ñsjǶ6@16.ٯppJwXУ31; C Ӫ+SE< e2aZg7$ $?cK u ife)a#SA9,{XK$YW:aYJ VwzĚy]T[2":e^-1۰qW7^D0uC+u GY9Ù=R M[O\[֬Oî_4 qUwE^Dz~dAr$l[ga;/O&cԭko e̳E#k߱E_k snȳ Bb1܉D4()DG=J}SX:$oR&,|@#"A'V)jm2B—iiT| yl~X49Td$UpahJNE+Ӎ',ZE(LіyʛV/%oB1MѤiN^14!R
-"l7vGu %7 4ɕ9Hs*uB
-P,FORf=w_wEJ|&!IXkwzRSii0E{?&2'd)iM bc@'ShYPJQ=eӴDlo-7m)e_(tS4洜ksx EяgiqEU.;]pJ/ZQ&
-ai7Eof,!hev>¦Զ_\j٧2$ G$ PD:]2c!i#t"!JC<ID蟓ǖQ"I1B Бh<_%!L"NJbƓSlfjK|d^9҃}wu !\e}̔cY^deYLNH HLNnZnwmǼY3ڟW\P-gx^6RB|bLEzC kw&-} v K"m5" Y5@Ÿy|$ىAn)ĵ{F|Y&X@*OcGj.dtZ6?No~d6@uJgu S($r(k'_w
-endstream
+3921 0 obj
+<< /D [ 3889 0 R /XYZ 81.077 133.215 null ] >>
endobj
3922 0 obj
-<< /Type /Page /Contents 3923 0 R /Resources 3921 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+<< /D [ 3889 0 R /XYZ 81.077 122.256 null ] >>
endobj
-3924 0 obj
-<< /D [ 3922 0 R /XYZ 78.37 808.885 null ] >>
+3923 0 obj
+<< /D [ 3889 0 R /XYZ 81.077 111.297 null ] >>
endobj
-3925 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 768.832 null ] >>
+3924 0 obj
+<< /D [ 3889 0 R /XYZ 81.077 100.339 null ] >>
endobj
-3926 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 757.873 null ] >>
+3888 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F75 317 0 R /F70 185 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3927 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 746.914 null ] >>
+<< /Filter /FlateDecode /Length 2439 >>
+stream
+xڭZKo80ŇHCN0%$1oߢHѤ(f/1E#JUůJIwddEߟ?.$dqd#Bp7ůKJXny(JIBoNfutS߾uuϙ[0?
+)<MS#MNSC^TBs4CQwvJVLثa}/VF"l1M.!LV ՟^ǷUwo DHqoG~"̇ Q.I\+"_VWÊ1˲h.˶Xr)38tkm֫+e={ثΌvE6zD6ۑz%d'kSP@
+j
+^`$p"GVZLR
+}q"rqmשҸjhP.%@16z^p+(vSMo&y&ǻ;ƌ=Nm捕@2 XqD ȇjصl~JeQu.;_'Q :@mG L &Y9k=ˡ5>YivUo/m];+d-IɁЁLaܨMUژ}Qv*2"җ*G-;
+gv1i!'C`mpY_uը\<vx\g-HSQ 3\8zyY&\_Wj sLP D:)e>zhp nޔ/ ?UE
+udS)SG2{BNJt$ x r8 Гq:BhAg~D6D8q|WjAa&`?,(I]b,ʅt2EI*O,@OF:V[;2p x5.%s' :=V&?+c?@-N.&@Oc_ qR5,%PM^\'@?٣Ɯ5l:#at<>8~g"!h;ը
+誢 .Evm};W Da+PY"AS9:%dItLQˀe;b{J<QS
+ O!rxa9xc:X7:<ۄ4u%ٖf/+IcNtדA0n7l0Hl>#$9!zi1þN=]Q ?}i'Ѥ\=TumF/*.8jnӄ"! ިvx|
+D)cw"m)'B"q
+endstream
+endobj
+3926 0 obj
+<< /Type /Page /Contents 3927 0 R /Resources 3925 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3784 0 R >>
endobj
3928 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 3926 0 R /XYZ 78.37 808.885 null ] >>
endobj
3929 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 768.832 null ] >>
endobj
3930 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 757.873 null ] >>
endobj
3931 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 746.914 null ] >>
endobj
3932 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 735.955 null ] >>
endobj
3933 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 724.996 null ] >>
endobj
3934 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 682.157 null ] >>
endobj
3935 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 629.355 null ] >>
endobj
3936 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 618.396 null ] >>
endobj
3937 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 602.456 null ] >>
endobj
3938 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 591.497 null ] >>
endobj
3939 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 580.538 null ] >>
endobj
3940 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 569.579 null ] >>
endobj
3941 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 538.145 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 558.62 null ] >>
endobj
3942 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 527.186 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 547.661 null ] >>
endobj
3943 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 516.227 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 536.702 null ] >>
endobj
3944 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 505.268 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 525.743 null ] >>
endobj
3945 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 464.549 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 514.784 null ] >>
endobj
3946 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 453.59 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 503.825 null ] >>
endobj
3947 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 389.216 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 492.867 null ] >>
endobj
3948 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 378.257 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 481.908 null ] >>
endobj
3949 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 367.298 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 470.949 null ] >>
endobj
3950 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 356.339 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 459.99 null ] >>
endobj
3951 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 345.38 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 449.031 null ] >>
endobj
3952 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 334.422 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 438.072 null ] >>
endobj
3953 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 323.463 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 371.322 null ] >>
endobj
3954 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 312.504 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 360.363 null ] >>
endobj
3955 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 301.545 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 349.405 null ] >>
endobj
3956 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 290.586 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 338.446 null ] >>
endobj
3957 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 279.627 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 297.599 null ] >>
endobj
3958 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 268.668 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 286.64 null ] >>
endobj
3959 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 257.709 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 221.883 null ] >>
endobj
3960 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 246.75 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 210.924 null ] >>
endobj
3961 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 235.791 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 199.965 null ] >>
endobj
3962 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 224.833 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 189.006 null ] >>
endobj
3963 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 213.874 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 178.047 null ] >>
endobj
3964 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 202.915 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 167.088 null ] >>
endobj
3965 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 191.956 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 156.129 null ] >>
endobj
3966 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 180.997 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 145.17 null ] >>
endobj
3967 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 170.038 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 134.212 null ] >>
endobj
3968 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 159.079 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 123.253 null ] >>
endobj
3969 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 130.315 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 112.294 null ] >>
endobj
3970 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 101.335 null ] >>
endobj
3971 0 obj
-<< /D [ 3922 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 3926 0 R /XYZ 81.077 90.376 null ] >>
endobj
-3921 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3974 0 obj
-<< /Filter /FlateDecode /Length 1858 >>
-stream
-xZKo6WV-2"(,CNzlˉY2$9ݢJ2Ezތ7i^qyr(ngtD;짛wWIb |v>c0hY2K4#Tf\KJۙ!VkaB0()B`B.L[UL//eEAL@[<%rϓ=F?вA[&͟'["w#7)Q c4^}Ε-';qS/]ʋ!Rs4٧fWŪCsp=W^n~[EW)!bb,!g6\Ī"&^R'B1X^Ij7S" ռh !/Ys"T>-|F1޶Ų59bD&()GHo"oFBmvwOQ0&<EG˺nVEu/()x cH>Cy:^NWT!*)DEk#HͶtq}uT&Oa$Mړ84*YYd!}V4) $Q(Eh8V%eI\| h A"4$ Nt
-|m⌡WYڗXQ}]~NQK(j/tB/ Я&!*B#4N&[/[C֊E ~k3_Gjm[_9Ņ[VKҒ3"/ЯKK+q~&Bzi9U" E1D*pjh#`wW\# !wD"`=ԯF̡ %ě伨Ʃ8}j*&-adif[=rL Ƶɘ^qtQT*Zt?Op /pS e5 Z0#=iz[ <]$n& ozësYSdr8<_fxΓ\Y3ˇs.rip5ic}+ {[@nNqw{x8wC7`e6eS&xt tB&Zwk{[!4>4켅4Ԏ](t~}B.^u$B0&@x7 [yY܏
-m<eGںqZ|UWźM
-/Io8P{)od;1w(q.}28' U -}@W:ە0br7`G}\CẂDTYUqq0QNtXڶc-wm<J6K.lb { lXA?g+ᡭ7}lpW?0hQ`ȭ&ƟJhm⺚УQ7_O[~E?h\T
-їF1uu:ir'35ol: vRdRwQ]W_~
-iǯ57hA,v+D q^6nG}O),Uus&$9R
-,Bx F-O@7t:EY/Ĝ;BpP˲x-^^cä+CǡR6!4u6¦3U!Q+΃Vm=U >
-f/;фO'E#_[j0$yHp$Cg`i"L[q"4zaR@76x܊_
-9&JB6PUan؞
-endstream
+3972 0 obj
+<< /D [ 3926 0 R /XYZ 81.077 79.417 null ] >>
endobj
-3973 0 obj
-<< /Type /Page /Contents 3974 0 R /Resources 3972 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+3925 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3975 0 obj
-<< /D [ 3973 0 R /XYZ 78.37 808.885 null ] >>
+<< /Filter /FlateDecode /Length 2060 >>
+stream
+xZOoS"s(Sr",w(:KC/D 3~rIb |vb0hY64#TvϹ-u0[mgXLg&Lѿ.WLnE^y[jòηŲ[,׾wTa|wSE&|ͯ+kQ0ʃ`yQkR㸨 ]mEX¤/1}*w˧-6uW7w^D?t!788c ]ףr?-7eKx.hYF8WcuHxۢpm}mУ',mm4 3i=+F!mmΣ)Nm3evfɵ%jK$uuT,MSU͂g~tM|^֋k6_eSq[7faq rۏ/Z?e=My%
+ryְkD$h(Et lǮ藰⻍6flSK7]حR«Cr!'#2霫W`@~ nkX?{Q9HlCUo⅕>CKxȺ9Ɠ$3M=ZSrPÁ$<SuN^7pFQ!)mLHJq6e/k67Q`3J0'DQs1W,m-9PJ# 0\>?O㶢|
+2$2hœ͂zB | gg-'kumiU1D{h^ؚk5FMO+}|pAV.LG
+cpˉ'DH) 4}2s 1M[Z 'cpgdQg H[lCю 쿩wc<44Q&p,UӴԮAB$tz{k\/:i>;\~Q):NO1zp:}bF$:q:`ꬸP{6   1kc0^
+TC5 G:F%a!;L!0,P(IY!`\"_>dʆpKT\:s7UZӀ+1Q n΂{d&Ay2#!G2F`hFkhjblr Bjn1"Ώ'
+y& )pG}Cj.k!4;úp9O~XKNh(IgW,#T$C2ӱ4LaШ6;©d{4,_J}?b钋99ēPKwv3Wf:<+ۡ\$~GWFq89Y:
+-e-#^=qxWOTb
+l*0H#nxDc<oPjeP]̋U`
+ZvjO֔۽{I?>mW* o8p.g8 M 5Šwc_Ky,?Ňf?_|_~j? >>k4GQMҦ8
+A1=({tYqCT
+C
+]&&AyYeDNFD&A'WFbx S]rsĨ&M:v-AGpw]1!$ˏuW9:%E-+/MbpPv_+?=$z*;J\6ϳ0ܦ@i8!i
+endstream
+endobj
+3974 0 obj
+<< /Type /Page /Contents 3975 0 R /Resources 3973 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3784 0 R >>
endobj
3976 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 3974 0 R /XYZ 78.37 808.885 null ] >>
endobj
3977 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 768.832 null ] >>
endobj
3978 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 757.873 null ] >>
endobj
3979 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 746.914 null ] >>
endobj
3980 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 735.955 null ] >>
endobj
3981 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 724.996 null ] >>
endobj
3982 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 714.037 null ] >>
endobj
3983 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 703.078 null ] >>
endobj
3984 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 692.119 null ] >>
endobj
3985 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 663.228 null ] >>
endobj
3986 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 622.381 null ] >>
endobj
3987 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 611.422 null ] >>
endobj
3988 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 600.463 null ] >>
endobj
3989 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 589.504 null ] >>
endobj
3990 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 578.545 null ] >>
endobj
3991 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 567.586 null ] >>
endobj
3992 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 556.627 null ] >>
endobj
3993 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 545.669 null ] >>
endobj
3994 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 534.71 null ] >>
endobj
3995 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 523.751 null ] >>
endobj
3996 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 512.792 null ] >>
endobj
3997 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 501.833 null ] >>
endobj
3998 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 490.874 null ] >>
endobj
3999 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 479.915 null ] >>
endobj
4000 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 468.956 null ] >>
endobj
4001 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 457.997 null ] >>
endobj
4002 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 447.038 null ] >>
endobj
4003 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 472.941 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 436.08 null ] >>
endobj
4004 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 461.982 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 425.121 null ] >>
endobj
4005 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 451.023 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 414.162 null ] >>
endobj
4006 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 440.065 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 403.203 null ] >>
endobj
4007 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 429.106 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 392.244 null ] >>
endobj
4008 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 418.147 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 381.285 null ] >>
endobj
4009 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 407.188 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 370.326 null ] >>
endobj
4010 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 396.229 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 359.367 null ] >>
endobj
4011 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 304.573 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 348.408 null ] >>
endobj
4012 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 293.614 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 337.449 null ] >>
endobj
4013 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 282.655 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 326.49 null ] >>
endobj
4014 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 271.696 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 315.532 null ] >>
endobj
4015 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 260.737 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 304.573 null ] >>
endobj
4016 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 249.778 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 293.614 null ] >>
endobj
4017 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 238.819 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 282.655 null ] >>
endobj
4018 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 227.86 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 271.696 null ] >>
endobj
4019 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 216.901 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 260.737 null ] >>
endobj
4020 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 205.943 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 249.778 null ] >>
endobj
4021 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 194.984 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 238.819 null ] >>
endobj
4022 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 184.025 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 227.86 null ] >>
endobj
4023 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 173.066 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 136.204 null ] >>
endobj
4024 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 162.107 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 125.245 null ] >>
endobj
4025 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 151.148 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 114.286 null ] >>
endobj
4026 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 140.189 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 103.327 null ] >>
endobj
4027 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 129.23 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 92.368 null ] >>
endobj
4028 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 118.271 null ] >>
-endobj
-4029 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 107.312 null ] >>
+<< /D [ 3974 0 R /XYZ 81.077 81.41 null ] >>
endobj
-4030 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 96.354 null ] >>
+3973 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4031 0 obj
-<< /D [ 3973 0 R /XYZ 81.077 85.395 null ] >>
-endobj
-3972 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4034 0 obj
-<< /Filter /FlateDecode /Length 1900 >>
+<< /Filter /FlateDecode /Length 1744 >>
stream
-xZ]o}ϯ})l\oQ~Zh
-y> ۲#,JrvE;e&'Kl: 9gf:+z$~^}zs$aV+7M4Kffj6[f?΅z;77:j-Lf:!܊F;ln EJ~ns܀R0bBcOm& aFz")Hš8v$tl/"KLQQ=R4M-/׊/Î}^kw}Tө&\kp!:`l}ߔu-ed
-SU/y ~x},&ۖW.Oq"mVp7*'4I#')P>бf[Uwlog7 B0{ b9/
-E% ;`!`=bxm;u~]3 3/G7V;lwgDM.>8%1ϊ/oo*M]xa83Jt s<MSA]ޮnBp3ZkN67b4%:<:: >*7 ˺$ZZ?O +>.J/SE׆We IqLq)3ED)4ř"D[k/sd.B[)b&]Ӹ(B[w4<$G!DW֛vtcU9GB%Ճdž|MNH_Q. )"A߰GtLvBpwTEO5՟~ RHg@27EU%R1c~<cv״ǦĮw)RE(Εq ѱ">J7grUj(SIF<~0kPz=4&} אF4 7G5pyrUtuP=Cέ4#8*\ \(-yFִg)O0qb_>/?v=9Bq/l?g;Ro$!4H\0 їp3Q>Z[ mKIALm@L|D'Զnküŏ˨n8WH/t2*N"絑d'm!K5LШ&?+ 5i@bPi@'vm\Zpچ|y` gߐ1 %7
-PK4T6B?nRbϤ@-:B O 1˓sæS3$UwEhe:e !P3:mv;}Qe,5TCGkiZ]5U5y_{{ͫ.:7z~::vpl@6ܐobH%N9fqƍwM^nt}ڻs =N?5Hs-'޸ؚak_3B6_Ds9W/6D@)E~"Pٷ96UC8Ss(^L$5#D[)/m-cAU.O|S\;Ba|aYߠ@ 5#4:dP{+TD9Bӻ-н+Be@&ק*o_Hvwk1.'n}=Í=({A3G+B'U|苶ll Jw1sM8J$%i2ZQw6
+xYnF+t
+$nd'9$AILX").jv˨q2X~Uj!Ft>j.~]\1Y&hvw&:b#ffd4#Tl3c,fg]h7i-lf~"F\*2!eNNbu\_'uxH}]&rC-#%ro#v6Y60bԛm4M1Yduo2ߜkpIQ8sBy洁
+k%Jo>B}`8n{w\+!+o9
+ZJhT_۞6B/sYzz$SDPI:0$BEQ1_kAİ4Cm3e̳:IJԜH^qDh#xV'fe56FA$Ƽ6s2NuC| \iU:k͕Y;q\CtCf}]oa[:/{lx?>2s~jj^?_pwri*ڡ&e1J"4~m#%!o|Q MC bGMgUOb)*N29b).ʲZEZg/JOXX:0nb_ErOp9msV({{݊N]AEdmiz{sT&K4I怃z4"t
+tG[*{ܿ*W= ᚖ0Ί$%TqGpuܨ 2G,g}bt*|r8[Ec]f\nodU䒍R:u :[eUOӧ(
+*&t.D :2Tȵ \vwGw.Uu4<kSd [#t Wo.[614
+G!D{ˋE5}Zx!D~c<z.],D{`%їS(8-dMǎn;n>6 ֋y:Yjc>ѓCDYAl(#b+
+#aDdHOLE|Y2L"CM"CHA 1[7KQc6Ѳ2PӰHnÛ0q\CsH,##ff<F#;Cރ*a>/ᵗ
endstream
endobj
+4030 0 obj
+<< /Type /Page /Contents 4031 0 R /Resources 4029 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3784 0 R >>
+endobj
+4032 0 obj
+<< /D [ 4030 0 R /XYZ 78.37 808.885 null ] >>
+endobj
4033 0 obj
-<< /Type /Page /Contents 4034 0 R /Resources 4032 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+<< /D [ 4030 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4034 0 obj
+<< /D [ 4030 0 R /XYZ 81.077 757.873 null ] >>
endobj
4035 0 obj
-<< /D [ 4033 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 746.914 null ] >>
endobj
4036 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 735.955 null ] >>
endobj
4037 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 724.996 null ] >>
endobj
4038 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 714.037 null ] >>
endobj
4039 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 703.078 null ] >>
endobj
4040 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 692.119 null ] >>
endobj
4041 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 681.16 null ] >>
endobj
4042 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 670.202 null ] >>
endobj
4043 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 659.243 null ] >>
endobj
4044 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 648.284 null ] >>
endobj
4045 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 637.325 null ] >>
endobj
4046 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 629.355 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 626.366 null ] >>
endobj
4047 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 618.396 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 615.407 null ] >>
endobj
4048 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 607.437 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 604.448 null ] >>
endobj
4049 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 596.478 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 593.489 null ] >>
endobj
4050 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 585.519 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 582.53 null ] >>
endobj
4051 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 574.56 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 571.571 null ] >>
endobj
4052 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 563.601 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 560.613 null ] >>
endobj
4053 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 552.642 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 549.654 null ] >>
endobj
4054 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 523.751 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 538.695 null ] >>
endobj
4055 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 512.792 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 527.736 null ] >>
endobj
4056 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 501.833 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 516.777 null ] >>
endobj
4057 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 490.874 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 505.818 null ] >>
endobj
4058 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 479.915 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 464.971 null ] >>
endobj
4059 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 468.956 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 454.012 null ] >>
endobj
4060 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 457.997 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 443.053 null ] >>
endobj
4061 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 447.038 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 432.094 null ] >>
endobj
4062 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 436.08 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 421.136 null ] >>
endobj
4063 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 425.121 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 410.177 null ] >>
endobj
4064 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 414.162 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 399.218 null ] >>
endobj
4065 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 385.27 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 388.259 null ] >>
endobj
4066 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 374.311 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 359.367 null ] >>
endobj
4067 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 363.352 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 348.408 null ] >>
endobj
4068 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 352.393 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 337.449 null ] >>
endobj
4069 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 341.434 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 326.49 null ] >>
endobj
4070 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 330.476 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 315.532 null ] >>
endobj
4071 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 319.517 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 304.573 null ] >>
endobj
4072 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 308.558 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 293.614 null ] >>
endobj
4073 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 297.599 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 282.655 null ] >>
endobj
4074 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 286.64 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 271.696 null ] >>
endobj
4075 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 275.681 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 260.737 null ] >>
endobj
4076 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 264.722 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 249.778 null ] >>
endobj
4077 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 233.838 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 220.887 null ] >>
endobj
4078 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 222.879 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 209.928 null ] >>
endobj
4079 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 180.04 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 198.969 null ] >>
endobj
4080 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 169.081 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 188.01 null ] >>
endobj
4081 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 158.122 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 177.051 null ] >>
endobj
4082 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 147.163 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 166.092 null ] >>
endobj
4083 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 136.204 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 155.133 null ] >>
endobj
4084 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 125.245 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 144.174 null ] >>
endobj
4085 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 114.286 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 133.215 null ] >>
endobj
4086 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 103.327 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 122.256 null ] >>
endobj
4087 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 92.368 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 111.297 null ] >>
endobj
4088 0 obj
-<< /D [ 4033 0 R /XYZ 81.077 81.41 null ] >>
+<< /D [ 4030 0 R /XYZ 81.077 100.339 null ] >>
endobj
-4032 0 obj
+4029 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4091 0 obj
-<< /Filter /FlateDecode /Length 1713 >>
+<< /Filter /FlateDecode /Length 1907 >>
stream
-xZKoFWV7~dOzh
-(D
-e1;|hIJFv`"vvt3$ ~?ݵ#Ieng YM43#nWB:w~wڍ,qZ D8?0!U2I$%<YWYJ&eMQ()J&1 ڶpIm3t~jݳ?E./o[ͽid
-/YO"tCٮ$_۽,dNSf8'm ۖXэ?&',x
-8
-0F$p½m}mӸ|}(Ks;.|Vߵ]37r`k00ۿs\ai}f97*UwO&eFì*鯴O_5,1\n/z|I{.핺V٪l6]֯SUyY/%~h*'ۺ/uExow!rRk߮ιO/9+a踜wvUl/fEjsF3d5w-zC/=٭ FOn]py=+d[/pH@io{(q|ëRdU!Փ )N!êoVaq?_zp\q✎`"M0Ghp>Z#Jip"汛|ub<֔:_E9)iìq1j!ܜ*M|HZ/*>M^ee(Vge}o䢻LH:M`Dw~50WPbd
-(_3TZ|.BgmRXx&QaۖX sPy/̙F5/u>P]`pF: !'8[M'ƲXxB,b)N˲EZg_Iϫ:S43J >q&B=kg 1(!л]6ᄥb&T
-D谏ijr8H*\ ߯ei+\z(0̫i=\^ h'XE򪎓vN2bH-*b x^o;68j2s
+xZ]o}ϯp_noIy
+
+46/ Їӎhr`;et^QKd<p,'t=r_D"gO : hM2lro*dQ\0ֻ[]LrRh-DA4%xhdk%Ѷg;FgBU#eŤ
+־mtF?oj:gL3aa!tU AX pm_֋u{y/˛6eo).4T4^"Eym>r1]Wt删_7ۍcQ7yN0WDH&(P+mW-aIf\G2FeYΉ-Y`pb#2M饬ڗMGq"uh\WmɈEf[Dywnz)[ttvcƑٶ0X:N}>4fAZ/:pCsDp2@tʪY]Udvz Pt 7Ҵ.ugy w$hLLdg;F`!msxf)-IV5e8OAM~xsSv5U",S8h*Ie1qf?)F(:#0^OS9(;Q3X$<Rms=O(%[ HiOɟζ|ӷeJ}t8!aSrw0lvo2q#ۙP슌ь3(}sBW/Gg!$
+yKu 6զaaT (~[ZP”Lhub Rw׍>eW/kP
+w$h;i9:C632*x=G_!cD(bi1X5k'"c%O
endstream
endobj
4090 0 obj
-<< /Type /Page /Contents 4091 0 R /Resources 4089 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+<< /Type /Page /Contents 4091 0 R /Resources 4089 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3784 0 R >>
endobj
4092 0 obj
<< /D [ 4090 0 R /XYZ 78.37 808.885 null ] >>
@@ -13016,2948 +13041,2989 @@ endobj
<< /D [ 4090 0 R /XYZ 81.077 757.873 null ] >>
endobj
4095 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 715.033 null ] >>
endobj
4096 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 704.075 null ] >>
endobj
4097 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 693.116 null ] >>
endobj
4098 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 682.157 null ] >>
endobj
4099 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 671.198 null ] >>
endobj
4100 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 660.239 null ] >>
endobj
4101 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 639.317 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 649.28 null ] >>
endobj
4102 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 628.358 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 638.321 null ] >>
endobj
4103 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 617.4 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 627.362 null ] >>
endobj
4104 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 606.441 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 616.403 null ] >>
endobj
4105 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 595.482 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 605.444 null ] >>
endobj
4106 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 584.523 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 594.486 null ] >>
endobj
4107 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 573.564 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 583.527 null ] >>
endobj
4108 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 562.605 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 572.568 null ] >>
endobj
4109 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 551.646 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 561.609 null ] >>
endobj
4110 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 540.687 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 550.65 null ] >>
endobj
4111 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 529.728 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 539.691 null ] >>
endobj
4112 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 518.769 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 528.732 null ] >>
endobj
4113 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 507.811 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 475.93 null ] >>
endobj
4114 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 496.852 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 464.971 null ] >>
endobj
4115 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 485.893 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 454.012 null ] >>
endobj
4116 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 474.934 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 443.053 null ] >>
endobj
4117 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 463.975 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 432.094 null ] >>
endobj
4118 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 453.016 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 421.136 null ] >>
endobj
4119 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 442.057 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 410.177 null ] >>
endobj
4120 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 431.098 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 399.218 null ] >>
endobj
4121 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 420.139 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 388.259 null ] >>
endobj
4122 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 409.18 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 377.3 null ] >>
endobj
4123 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 398.221 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 366.341 null ] >>
endobj
4124 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 387.263 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 355.382 null ] >>
endobj
4125 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 376.304 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 344.423 null ] >>
endobj
4126 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 365.345 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 333.464 null ] >>
endobj
4127 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 354.386 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 322.505 null ] >>
endobj
4128 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 343.427 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 311.547 null ] >>
endobj
4129 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 312.543 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 300.588 null ] >>
endobj
4130 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 301.584 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 289.629 null ] >>
endobj
4131 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 290.625 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 278.67 null ] >>
endobj
4132 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 279.666 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 267.711 null ] >>
endobj
4133 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 268.707 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 256.752 null ] >>
endobj
4134 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 257.748 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 245.793 null ] >>
endobj
4135 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 246.789 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 234.834 null ] >>
endobj
4136 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 235.83 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 223.875 null ] >>
endobj
4137 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 224.872 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 212.916 null ] >>
endobj
4138 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 213.913 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 201.957 null ] >>
endobj
4139 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 202.954 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 190.999 null ] >>
endobj
4140 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 191.995 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 180.04 null ] >>
endobj
4141 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 181.036 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 149.155 null ] >>
endobj
4142 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 170.077 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 138.197 null ] >>
endobj
4143 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 159.118 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 127.238 null ] >>
endobj
4144 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 148.159 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 116.279 null ] >>
endobj
4145 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 137.2 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 105.32 null ] >>
endobj
4146 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 126.241 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 94.361 null ] >>
endobj
4147 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 115.283 null ] >>
-endobj
-4148 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 104.324 null ] >>
-endobj
-4149 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 93.365 null ] >>
-endobj
-4150 0 obj
-<< /D [ 4090 0 R /XYZ 81.077 82.406 null ] >>
+<< /D [ 4090 0 R /XYZ 81.077 83.402 null ] >>
endobj
4089 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4153 0 obj
-<< /Filter /FlateDecode /Length 2230 >>
-stream
-xڭZKo8WXa%J2Lb9 a{!(lkZ<'ݘU"EvcfHdLgzC+zͻI&LA':cDYvEŷyG*%-SCɎ(a[Il.ÇN_M=c)nsd0`*"L?9^B-R¤N eDNv&>Wz_.C[bydua"1>:|"\)+_'[EGViDlqlƈzL6lH$2z0=\^wY:K•t!qJ1(\~kwljhuzzaWC3ϟhD˵lG?tE;ޡTg[p&.A;t3Br *=$ɂwNu*n(#)h9}}=A6LO{*XY bUaf梿ˆQb:+ܬ!X6Qޒ 㡿^q$" 5Gb<13OŦf WeRs_ 4U/ڋsiJ(D7Zx/f~8n%ՏtWۋK%T\q| (q:e:-' H8zVޮ-Wulӥ9D?| 0Dw+ەKkk<fH豀|$K?e]{M6֬\-cFmԼo$-~)&
-YY.,#C֬9.H\0axk4K2;݊~& !}Wv8lXe_tcYh5<_vX)h)_Ki5$ 4T<M!̹YjhF?ns|xrZ nvCo ]+> qWV宨EtGT4']s*ӘjXAqUxRϗ:DAX)袍~ %fSA Emsu9rRQc6CV
- $ icL3,<nTQz!2?0=Qei6
-{ۦ:pB6@sWݯ
-w~Vj4Q%@ߒŢC[s7bSQA %DF86:Wi5Y:Pigqx>aev2^8RA#_%ocD
-݄-0C_7'<߿2շ|4EP \mHbdNW8"(i"KM%<L1=o1=mc\rY@m绉FqVӏu%\#a;ehF2'zpiQaL #&
-Whʚ,56K9ԶI [/C^7roL<xِۆZgy,1$v\Z4㬵;,Dl]j}6/&'wuU^5a zEPZ?FAٜvj Ty?CyƧ?U@u\OR(c搶:AМ!mO DZ"8~,Sj.l*51-]nQ\, Ua/2!ƞ&DQ$Уt"i7T@jk4p&*c%*GQS0Z,)8l6 +KHjea?rPgۦ-4uWgVEFd7ڊޗaX/cAzdp_
+4150 0 obj
+<< /Filter /FlateDecode /Length 2081 >>
+stream
+xYKoWDF~?bv.raa L@%C
+I俧lF5l.nA?_I{#8_mL hfF3B5[Z
+z^%Nka` S:-يFy.m  ym>o?˦Fk$aRDey)jPݻVX7UuOyDZ L7}^e0s/!l|-aVF hlSE2lNp(c[p"i}/ڠM}wE>UNAͤ(tPq4DHua(Iп;Tš~oh#`3g <9k
+6m+d5'RD sW۬fпn7Z")h%#D׸EK"k\~IfSUwhU#\*Ē,Q.29h_ibuhIW[nsHg쀴C9x#3;&hlavm(NT(# ո3%kA,k8xߦ|բ'VF~5& Vh>HFj.vu;YˆUj.vƈr1Akt~ŚHF=x󞹅@p3qDj฿/7Beٍ! oز-57jm&} l|@-cW'/8ы-^A~ y?h["7SVHAe
+Ev#s^x8]zQ$ѩRpKOcQ%V92ޅCz7A-4:2(IП/0%~#ð܆/o]Peǚ +|l<}UFPx5# J}ў;G(xߌnތ/0nS0*.!I-_+·Uܩ;@p>9$@X8:]ff|{ha E0.|};iN-{8nzO]nc/$=TuTrYhP0f
+6\e8h}\~-=VMg;r;Cly^]H h
+;(<QC܅L?x?]I6lqOp#4>',Gh^<lf
+Ȥ̹t7QGyx n>@f_|>ui6徨=Et#B1S>N'>3JLt*~stp}?o
+<;0
+51k6stЦI:Xd>K9ZV [k(|)צJkO 3*u!՜5ad=BTG_hs1@MS9 ql|iF˼ӻ !
+
+F`Șx⇲NMBzZy[L_CU?|ρ[bJ|A)}^CG$veCs 5^OmSC|g6? a-Ul,CV~U\䊧 '-7㩓_hLo؆Ek3L1_hkeןլ7D+*'e%
endstream
endobj
+4149 0 obj
+<< /Type /Page /Contents 4150 0 R /Resources 4148 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3784 0 R >>
+endobj
+4151 0 obj
+<< /D [ 4149 0 R /XYZ 78.37 808.885 null ] >>
+endobj
4152 0 obj
-<< /Type /Page /Contents 4153 0 R /Resources 4151 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
+<< /D [ 4149 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+4153 0 obj
+<< /D [ 4149 0 R /XYZ 81.077 757.873 null ] >>
endobj
4154 0 obj
-<< /D [ 4152 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 746.914 null ] >>
endobj
4155 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 735.955 null ] >>
endobj
4156 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 724.996 null ] >>
endobj
4157 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 714.037 null ] >>
endobj
4158 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 703.078 null ] >>
endobj
4159 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 692.119 null ] >>
endobj
4160 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 681.16 null ] >>
endobj
4161 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 670.202 null ] >>
endobj
4162 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 659.243 null ] >>
endobj
4163 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 641.393 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 648.284 null ] >>
endobj
4164 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 630.434 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 637.325 null ] >>
endobj
4165 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 619.475 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 626.366 null ] >>
endobj
4166 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 608.516 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 615.407 null ] >>
endobj
4167 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 567.669 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 604.448 null ] >>
endobj
4168 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 556.71 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 593.489 null ] >>
endobj
4169 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 545.751 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 582.53 null ] >>
endobj
4170 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 504.905 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 571.571 null ] >>
endobj
4171 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 493.946 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 560.613 null ] >>
endobj
4172 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 482.987 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 549.654 null ] >>
endobj
4173 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 442.14 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 538.695 null ] >>
endobj
4174 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 431.181 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 527.736 null ] >>
endobj
4175 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 420.222 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 477.009 null ] >>
endobj
4176 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 409.263 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 466.05 null ] >>
endobj
4177 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 398.304 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 455.091 null ] >>
endobj
4178 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 387.345 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 444.132 null ] >>
endobj
4179 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 376.386 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 403.286 null ] >>
endobj
4180 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 365.428 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 392.327 null ] >>
endobj
4181 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 354.469 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 381.368 null ] >>
endobj
4182 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 343.51 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 340.521 null ] >>
endobj
4183 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 332.551 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 329.562 null ] >>
endobj
4184 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 291.704 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 318.603 null ] >>
endobj
4185 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 280.745 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 277.756 null ] >>
endobj
4186 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 269.786 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 266.797 null ] >>
endobj
4187 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 258.827 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 255.839 null ] >>
endobj
4188 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 247.868 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 244.88 null ] >>
endobj
4189 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 236.91 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 233.921 null ] >>
endobj
4190 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 225.951 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 222.962 null ] >>
endobj
4191 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 214.992 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 212.003 null ] >>
endobj
4192 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 174.145 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 201.044 null ] >>
endobj
4193 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 163.186 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 190.085 null ] >>
endobj
4194 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 134.294 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 179.126 null ] >>
endobj
4195 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 123.335 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 168.167 null ] >>
endobj
4196 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 112.377 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 127.32 null ] >>
endobj
4197 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 101.418 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 116.362 null ] >>
endobj
4198 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 90.459 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 105.403 null ] >>
endobj
4199 0 obj
-<< /D [ 4152 0 R /XYZ 81.077 79.5 null ] >>
+<< /D [ 4149 0 R /XYZ 81.077 94.444 null ] >>
endobj
-4151 0 obj
+4200 0 obj
+<< /D [ 4149 0 R /XYZ 81.077 83.485 null ] >>
+endobj
+4148 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4202 0 obj
-<< /Filter /FlateDecode /Length 2155 >>
+4203 0 obj
+<< /Filter /FlateDecode /Length 2172 >>
stream
-xڭZKoFW2aL6I9G$Ȟ }fUJ3X_w͌~'QͿn}L4a7 n36K"xGЈvEDouz1Jg IH$>4 џc϶M[~m>wR}Uźvy)lU0[l%rVKO}m"%L
-Y^Yb"B_h<!,NL6Tp)@C4U>[UWkeQU͖ńsF8>v︾l]GSQ(RS2D;e#%@>tG҇) .DDV?mq{'va{mny<\ |n>9D97p] kD-NCW[wrQ+N8}m'"{xMni[g DH ZmQD$L&Lm`m}-|K|{8Ln큑RD*gbLG-%G2ٜ!{l!9ʭ4~ߜ5m[vZ=/$0g.@hL"a rځ~vDȎuYoZ6&_q[󐪬:0HHA Uúpn<!7Fxn5]^̏\j~[s[2쭳~{H|w>DQ؛wө뇄JRۣĖa]ە_n(|$9#1d!6s6MUdU b:z9{q}ÒjV.."'6Bm(̡Pb(\zcFy 砐ƏeU=֍^?~'\~l
-In<Ԗ*xA -)os㋷2$aWٽ*$t쒠-j:l\*m2S5+@Y?5|B3alRTkm^|MrE(86>ڲ$Aܽ$UI%g@~M`e@7֟Q+NgLZ q}Ѡ|3IAEDBn襤4 r]5l5i\ !@0)<G'4H̲,5&5Ô/]MBcu/ dOH]C\ z>z :m?4Gп;үE ˜A\R>݊IH
-.ku, ӝYuku a1 Oq:x<Fr+
-4^6I]"j*)4 łmP: %;@GN$4.>
-:
-Aџ^tk4D
+xZKoWxWh8|a iN.(tqs!hlV#K$)!)Qq|wHl3x%J~z13I҄ >[_1x,HY1B#63cFH|0)Q(@3!?5MʴmsD'S*x{SxQK=0W>/AL
+Haknl]-WYM-wY:K[I8%(qIl_'b^\؄|O5ͱ\[{۬5SN祖@6,갫ߟox2/axqcYU0 [v}ўZ6u׷e_6c2]Ij'kB5'={(MIDjOU6]/n51 02ko& dƗqИNS友  jW۩QmuybIhv-;pIm4 W'zP}'F蠥>gcV~_`oļJ-x2sڥ'Q>ZV/qP̪b/j4#m 'GY<fUBDQTnŢ>#ynzi})M:RlQL=YYI}.q||ɲQVm?rr c+XdGkJC϶M[~i>*
+D ۭREY"/&MYmTŎ±ї-6ǜcaF9G(kѢ"Np(]ȬlW]ᯗqn?3bDN 3>pcCW%'p z.{z!E1fh0Q `w:TV>k'M(1p}O-M5u'L4̄ӗf"EY56DH mSb!Xm_e&VXlGL!Tr
+r?v@J7I (&*arhPEM8Ԑ(1}·62l*뇳*̥2#ߛxAE;x>Pkv^m>
+X*&,ru !Qj^
+EU)kE #.)탽ҷ^iv8w;̈ko7ٸ7%}ٜ||T2i
+GE +Db,Ņ[OЯh/jJIQOymiS5mUaY]. pmxJ|y>3år(qb?6D2u\
+%$N&K}3D)P,[QHAS ݙ9tᓒtiP?]}
endstream
endobj
-4201 0 obj
-<< /Type /Page /Contents 4202 0 R /Resources 4200 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3783 0 R >>
-endobj
-4203 0 obj
-<< /D [ 4201 0 R /XYZ 78.37 808.885 null ] >>
+4202 0 obj
+<< /Type /Page /Contents 4203 0 R /Resources 4201 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3784 0 R >>
endobj
4204 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 4202 0 R /XYZ 78.37 808.885 null ] >>
endobj
4205 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 768.832 null ] >>
endobj
4206 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 757.873 null ] >>
endobj
4207 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 746.914 null ] >>
endobj
4208 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 707.379 null ] >>
endobj
4209 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 696.42 null ] >>
endobj
4210 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 668.84 null ] >>
endobj
4211 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 674.187 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 657.881 null ] >>
endobj
4212 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 663.228 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 646.922 null ] >>
endobj
4213 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 652.269 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 635.963 null ] >>
endobj
4214 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 641.31 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 625.004 null ] >>
endobj
4215 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 630.351 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 614.046 null ] >>
endobj
4216 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 589.504 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 603.087 null ] >>
endobj
4217 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 592.128 null ] >>
endobj
4218 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 581.169 null ] >>
endobj
4219 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 570.21 null ] >>
endobj
4220 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 497.848 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 559.251 null ] >>
endobj
4221 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 486.889 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 548.292 null ] >>
endobj
4222 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 475.93 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 537.333 null ] >>
endobj
4223 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 435.083 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 509.753 null ] >>
endobj
4224 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 424.124 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 498.794 null ] >>
endobj
4225 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 413.165 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 487.836 null ] >>
endobj
4226 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 402.207 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 476.877 null ] >>
endobj
4227 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 391.248 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 465.918 null ] >>
endobj
4228 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 380.289 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 426.383 null ] >>
endobj
4229 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 369.33 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 398.803 null ] >>
endobj
4230 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 358.371 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 387.844 null ] >>
endobj
4231 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 347.412 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 376.885 null ] >>
endobj
4232 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 336.453 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 337.35 null ] >>
endobj
4233 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 325.494 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 326.391 null ] >>
endobj
4234 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 314.535 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 315.432 null ] >>
endobj
4235 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 303.576 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 275.897 null ] >>
endobj
4236 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 292.618 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 264.938 null ] >>
endobj
4237 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 281.659 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 253.979 null ] >>
endobj
4238 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 270.7 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 243.021 null ] >>
endobj
4239 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 259.741 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 232.062 null ] >>
endobj
4240 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 248.782 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 221.103 null ] >>
endobj
4241 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 237.823 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 210.144 null ] >>
endobj
4242 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 196.976 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 199.185 null ] >>
endobj
4243 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 186.017 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 188.226 null ] >>
endobj
4244 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 175.058 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 177.267 null ] >>
endobj
4245 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 146.167 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 166.308 null ] >>
endobj
4246 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 135.208 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 155.349 null ] >>
endobj
4247 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 124.249 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 144.39 null ] >>
endobj
4248 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 113.29 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 133.431 null ] >>
endobj
4249 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 102.331 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 122.473 null ] >>
endobj
4250 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 91.372 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 111.514 null ] >>
endobj
4251 0 obj
-<< /D [ 4201 0 R /XYZ 81.077 80.413 null ] >>
+<< /D [ 4202 0 R /XYZ 81.077 100.555 null ] >>
endobj
-4200 0 obj
+4252 0 obj
+<< /D [ 4202 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+4253 0 obj
+<< /D [ 4202 0 R /XYZ 81.077 78.637 null ] >>
+endobj
+4201 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4254 0 obj
-<< /Filter /FlateDecode /Length 1746 >>
+4256 0 obj
+<< /Filter /FlateDecode /Length 1657 >>
stream
-xڵYKo8W:OnhNȱ
--Dn,摂m8κjW'ˢ̟'Q VDx΀Hю~ t,Ӓp3Zub wC]T6mkq(gAmqڶ4p7 ;qmPL܌|QIBV+7{aLa˓51[h9AQg]X/ߦ|Z>woa L!:{ft9+O`[Cz.wy)q= GM2мJ,m"tEuՇs.ݖw#mWw EE֜.KQo~[д"Xؓq=6qY{?H
+xڵYIoFW2POf_t( ЃOBs(D
+$e'u 9JE7oޘngt/17silyqDьPfÅR9W1ޥesնOն7')ڻU;3x{=fc?EwkW>^\nZ~pdUUq\Uiyz~tQ~o(˗
+x;A/i7`-̄#
+^k&:GeR-CWի1AT[8FC4U. sSӨJxhE~ՌE6p&ݯWÓ]\%]L.Jƌ5m"'ϪxSKWerhx<ⴳX%0y>lL ~Z[ 6*<ʤuoMPyWϘpHb2J"E
+e
+Lh'V'ƈ*D.D%UD]$K<
+Ŕ! `tJDx b:z^;))꩔:9jcNHPC`N,BpW|u3To"U wቲY:AؠClFW|i9fb PpcTI9EpA#:F7ų*t&g("pT #ZqpoԤTY䐂XwJC^Ja侀
+c=TM+pxZ%E+NdG6:Xd~='i_'z%(fUhswS
+)11ɇ6 ,DS!皸pk1(g_S4dsxpXNWpʮk[zMsN9"Fb|n;
+~z"RkM!| D8 GءNi )Be}t(*50Mo_X7n/|(`8jDpIƢ2@z{\E'$8O&C
endstream
endobj
-4253 0 obj
-<< /Type /Page /Contents 4254 0 R /Resources 4252 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
-endobj
4255 0 obj
-<< /D [ 4253 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-4256 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 768.832 null ] >>
+<< /Type /Page /Contents 4256 0 R /Resources 4254 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4299 0 R >>
endobj
4257 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 4255 0 R /XYZ 78.37 808.885 null ] >>
endobj
4258 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 742.929 null ] >>
endobj
4259 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 731.97 null ] >>
endobj
4260 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 721.011 null ] >>
endobj
4261 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 692.119 null ] >>
endobj
4262 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 666.565 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 681.16 null ] >>
endobj
4263 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 655.606 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 670.202 null ] >>
endobj
4264 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 644.647 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 659.243 null ] >>
endobj
4265 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 633.688 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 648.284 null ] >>
endobj
4266 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 622.729 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 637.325 null ] >>
endobj
4267 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 582.122 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 626.366 null ] >>
endobj
4268 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 571.163 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 615.407 null ] >>
endobj
4269 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 560.204 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 604.448 null ] >>
endobj
4270 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 510.86 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 593.489 null ] >>
endobj
4271 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 499.901 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 582.53 null ] >>
endobj
4272 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 488.942 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 571.571 null ] >>
endobj
4273 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 477.983 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 560.613 null ] >>
endobj
4274 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 467.024 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 511.878 null ] >>
endobj
4275 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 456.065 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 500.919 null ] >>
endobj
4276 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 445.106 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 489.961 null ] >>
endobj
4277 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 434.147 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 479.002 null ] >>
endobj
4278 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 423.188 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 468.043 null ] >>
endobj
4279 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 412.229 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 427.196 null ] >>
endobj
4280 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 401.271 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 416.237 null ] >>
endobj
4281 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 390.312 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 405.278 null ] >>
endobj
4282 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 374.611 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 354.551 null ] >>
endobj
4283 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 363.652 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 343.593 null ] >>
endobj
4284 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 352.693 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 332.634 null ] >>
endobj
4285 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 341.734 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 321.675 null ] >>
endobj
4286 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 330.775 null ] >>
-endobj
-57 0 obj
-<< /D [ 4253 0 R /XYZ 79.37 305.442 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 310.716 null ] >>
endobj
4287 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 237.8 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 299.757 null ] >>
endobj
4288 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 226.841 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 288.798 null ] >>
endobj
4289 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 215.882 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 277.839 null ] >>
endobj
4290 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 204.923 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 266.88 null ] >>
endobj
4291 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 193.964 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 255.921 null ] >>
endobj
4292 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 183.005 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 244.962 null ] >>
endobj
4293 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 172.046 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 234.003 null ] >>
endobj
4294 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 161.087 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 218.063 null ] >>
endobj
4295 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 150.128 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 207.104 null ] >>
endobj
4296 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 139.169 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 196.145 null ] >>
endobj
4297 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 128.211 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 185.187 null ] >>
endobj
4298 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 117.252 null ] >>
+<< /D [ 4255 0 R /XYZ 81.077 174.228 null ] >>
endobj
-4299 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 106.293 null ] >>
-endobj
-4300 0 obj
-<< /D [ 4253 0 R /XYZ 81.077 95.334 null ] >>
+57 0 obj
+<< /D [ 4255 0 R /XYZ 79.37 148.175 null ] >>
endobj
-4252 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+4254 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4304 0 obj
-<< /Filter /FlateDecode /Length 1894 >>
+4302 0 obj
+<< /Filter /FlateDecode /Length 1758 >>
stream
-xڽZo~_"/Nq኿%z@}/Ƶ@I%$' w(8^ˢif7)EY4"NjV>i>$)gŊ(gZQ):[mfsȫ~rI%$JS <0DPlˈЈ9
-gG\]K&R.McV,ʾͻTYӦHF{I̯;hxP]4h4<DmX81ζM cҹ
-"DmG0:γ"mEژv, j7ۛ-֮1uz9$2_uusH(*
-жo*(i[b9N{[oMoޅv4pH Qmiں3 2ۘԔ) EƠ'x
-P轨?L]-)ESP]\4:/%(I]gV(!屴 ;)o] ؙIi*"R@9o۷:Rv$tMf
-팀eu(Gўv|f>734iwn(g9yٶ0[SN°Q(3>s4ki;V@Ą@1k96/Ýg ,Յ\IFa.h/@ʿ_VLA/|WEeS^&6_WMfW V6?Eysu yAffQ?ob}Cd%s}$_ۦ:'('ZO/7}8噐,:KdD
-4+<ۺjͺ56|aKP%ަ׸\чv*<]C5Yxκf3j_(v$A{dQ/J$zou*fWdwPZik-g4sP_b`\=Go* m'38nw0x`0<j<o]s)m|s#%Q 7+]V 9G 1i X,l[ll1Yhߘ}C 0e` eg?g}Ӷ6yk:'CV zm L) +b'8~޶0>@j<Mo
-xGHܗF
+xڽZKoFWR[KܴqQ/Bzh
+6Q(#Çh/)<8;tp=wGtk}3=:=7|$R:`aFY" LL;cD$wzF'¨+F rY,㪾 O|gU?|no͊ HaV
+n!ڻ1O[.ϫm­DkmZP”OUI˯Ogk$G{3a-뛗 @r0\{\Žl(B斘Dx|?~"FfX!=T9]YY(η<[õzZK5kgנ1!((3C8BwG8H C~[nseᚲ^c8Do4f/i\pw~.lG";=g x]IҖP+!)L[=ʎ'0%ULbDYVXnmٞ߸Si~9@^0kOT|6fxݽn׬hW`L$A}~Wg7~
+x(#RPݧCpRFthqC~<=5dPX#aO *Ghl. jO&Qj{˦p!(_nܭr pjkYf__2&82.BUdy_EDJp}\{JCH}Nc
+Gv+ʥwMw:.:C_>p^٧iQ&Ƥy9p  SU.ٛ.:;غ]\h4Um]v_ndWoM^ ;Rs.n F}Wߌ *)GhpEh? *Uy U~
+%ǽ~if;~bU=g{Dw#9N
endstream
endobj
+4301 0 obj
+<< /Type /Page /Contents 4302 0 R /Resources 4300 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4299 0 R >>
+endobj
4303 0 obj
-<< /Type /Page /Contents 4304 0 R /Resources 4302 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+<< /D [ 4301 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4304 0 obj
+<< /D [ 4301 0 R /XYZ 81.077 735.194 null ] >>
endobj
4305 0 obj
-<< /D [ 4303 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 724.235 null ] >>
endobj
4306 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 713.276 null ] >>
endobj
4307 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 702.317 null ] >>
endobj
4308 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 691.359 null ] >>
endobj
4309 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 680.4 null ] >>
endobj
4310 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 669.441 null ] >>
endobj
4311 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 658.482 null ] >>
endobj
4312 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 647.523 null ] >>
endobj
4313 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 636.564 null ] >>
endobj
4314 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 678.332 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 625.605 null ] >>
endobj
4315 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 662.713 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 614.646 null ] >>
endobj
4316 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 651.754 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 603.687 null ] >>
endobj
4317 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 640.795 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 592.728 null ] >>
endobj
4318 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 629.836 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 564.833 null ] >>
endobj
4319 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 618.877 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 553.874 null ] >>
endobj
4320 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 607.918 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 542.915 null ] >>
endobj
4321 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 596.959 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 531.956 null ] >>
endobj
4322 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 586 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 520.997 null ] >>
endobj
4323 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 575.041 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 510.039 null ] >>
endobj
4324 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 564.082 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 499.08 null ] >>
endobj
4325 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 553.124 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 488.121 null ] >>
endobj
4326 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 542.165 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 474.173 null ] >>
endobj
4327 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 531.206 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 458.233 null ] >>
endobj
4328 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 520.247 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 447.274 null ] >>
endobj
4329 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 509.288 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 436.315 null ] >>
endobj
4330 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 498.329 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 425.356 null ] >>
endobj
4331 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 459.441 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 414.397 null ] >>
endobj
4332 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 448.482 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 403.438 null ] >>
endobj
4333 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 437.523 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 392.479 null ] >>
endobj
4334 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 426.564 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 381.52 null ] >>
endobj
4335 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 415.605 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 370.562 null ] >>
endobj
4336 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 404.646 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 359.603 null ] >>
endobj
4337 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 393.687 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 348.644 null ] >>
endobj
4338 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 382.728 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 337.685 null ] >>
endobj
4339 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 371.77 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 326.726 null ] >>
endobj
4340 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 360.811 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 315.767 null ] >>
endobj
4341 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 349.852 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 304.808 null ] >>
endobj
4342 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 338.893 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 293.849 null ] >>
endobj
4343 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 327.934 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 253.999 null ] >>
endobj
4344 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 316.975 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 243.04 null ] >>
endobj
4345 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 306.016 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 232.081 null ] >>
endobj
4346 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 295.057 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 221.122 null ] >>
endobj
4347 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 258.001 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 210.163 null ] >>
endobj
4348 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 247.042 null ] >>
-endobj
-61 0 obj
-<< /D [ 4303 0 R /XYZ 79.37 223.137 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 199.204 null ] >>
endobj
4349 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 183.92 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 188.245 null ] >>
endobj
4350 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 172.961 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 177.286 null ] >>
endobj
4351 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 166.327 null ] >>
endobj
4352 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 155.369 null ] >>
endobj
4353 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 144.41 null ] >>
endobj
4354 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 133.451 null ] >>
endobj
4355 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 122.492 null ] >>
endobj
4356 0 obj
-<< /D [ 4303 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 4301 0 R /XYZ 81.077 111.533 null ] >>
endobj
-4302 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F72 187 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4359 0 obj
-<< /Filter /FlateDecode /Length 1555 >>
-stream
-xZn7}WKR4 =%m
-Ϸ'?NO^1b$L":b#ffd4#Tt=0R?{K|׋7ڍ,qZ pDW/&_Zodjxl¯n$~IKE <jiR‡V+lIed+K9:xPmle=7ylMwκ\Es᯻n 2pFn/Ɠ79bg11 \ݚ(.R4}Tu;%s4Zvjl~lN ^ohUV{$B@'CSAEK_Zs"EdYPzL%Ba&RҸNxHR!EM˟źòmkiyz*ImקC!TceqNL|a(%LN<m3-dYsV幯"CJ "ҮQ~FM'U0Q&f(k24zӕU0esTyw7*[~`%ц2p|sv9_~X]748Aĸ~ 5Aqbed}+`/[2bmd}8/x$jmpSP3"_k*zc?h=޶8eV:BiVzն<`@Ig ḱ1"`Hxj#</&n va& 82zخ͢V!Wՠ6C*I8f$*3tR6Vr>DҟvXC}?H)W6…aˆUY@ʦ8w-شPf:O6u=
-Ilf _)Ъ
-' 3t̖p@ۋjB9hPB% {Α@uoU5N:v^56д6VHO*/L}]<%PZ3$c
-bCKX#('@3"E}ϖ⿪mBCٗ3CXU;~x }侣&X3fu}'
-~-}7k/So?P#5f46hWK3cA\TG^N u4],nxF3kի L5:ҵÍS3hdo'qʲ01p߸f5\*v-WSN }lY.+ z5*R0^2 Ἷ)p#e`|#A?8}F'<\W2=C(8R\-#!3" !e& c /,պkƦO(xa)</'u,RB7\,)qн
-endstream
+4357 0 obj
+<< /D [ 4301 0 R /XYZ 81.077 100.574 null ] >>
endobj
4358 0 obj
-<< /Type /Page /Contents 4359 0 R /Resources 4357 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+<< /D [ 4301 0 R /XYZ 81.077 89.615 null ] >>
endobj
-4360 0 obj
-<< /D [ 4358 0 R /XYZ 78.37 808.885 null ] >>
+4300 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F73 189 0 R /F69 183 0 R /F19 184 0 R /F23 660 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4361 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 768.832 null ] >>
+<< /Filter /FlateDecode /Length 1879 >>
+stream
+xڵZ[6~ϯb_<b`vۤupl!JrAKJ2M:I (}~<YMgxg+b&I%,
+a1zt׎tHpYlX=KVa%π}aC@b83E{\eFoΪy8PQ><^fM04`i\i<EGo W𵼂9"Ι{%8 1ڋvM_f%+Vo30 Qw @:$h/.UU"h/.$]
+0%cW+~!fWGq֮˖yOYWeUQc
+ <Į S_66LG1#+s $yaݠf)nJ^A )zlmM=ML4m`z>Cѭ]aMP%oG%)G7r#'! pa/a+A憻uk k +8 <V淶7\3$iZ)@I")wJ "
+&(xcc
+ <E!ׯp%hc4|n4eTl`/\͎}ʼ^Z#RVyaq0̈1/D!B)P/1:l.Wɤf}ga**Ȑ@
+F 6?Շy%9dD r@$hә[ZqPOHpջ(@R"]X#;W]5j}bu$rcEmTKf|.~mW@PDh`}_ >7'
+Vq4|nDm`skMO <ƠGs{HgX#C; LQiwi+FBs+!5<O@԰B^1PQ$G=vFg;vuZȥ͠!ni JZW+h76+2[o\XC9E
+1>P|Y!4;[M ;L*te`CgQ_>T! HNMޭ^J;f0wvՁ %A5Elm|AM67(`D`=lʸ f(5Sק667?:
+$f &;B8R?T1
+1'h5 sHA S"F1cUWf>
+i(r-`]şY$j4&iz4ɯTQVDcOr12j,GxsE
+endstream
+endobj
+4360 0 obj
+<< /Type /Page /Contents 4361 0 R /Resources 4359 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4299 0 R >>
endobj
4362 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 4360 0 R /XYZ 78.37 808.885 null ] >>
endobj
4363 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 757.873 null ] >>
endobj
4364 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+61 0 obj
+<< /D [ 4360 0 R /XYZ 79.37 723.409 null ] >>
endobj
4365 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 684.193 null ] >>
endobj
4366 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 673.234 null ] >>
endobj
4367 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 633.864 null ] >>
endobj
4368 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 622.906 null ] >>
endobj
4369 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 611.947 null ] >>
endobj
4370 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 600.988 null ] >>
endobj
4371 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 590.029 null ] >>
endobj
4372 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 579.07 null ] >>
endobj
4373 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 568.111 null ] >>
endobj
4374 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 557.152 null ] >>
endobj
4375 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 546.193 null ] >>
endobj
4376 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 535.234 null ] >>
endobj
4377 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 524.275 null ] >>
endobj
4378 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 513.317 null ] >>
endobj
4379 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 502.358 null ] >>
endobj
4380 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 491.399 null ] >>
endobj
4381 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 480.44 null ] >>
endobj
4382 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 469.481 null ] >>
endobj
4383 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 458.522 null ] >>
endobj
4384 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 447.563 null ] >>
endobj
4385 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 436.604 null ] >>
endobj
4386 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 425.645 null ] >>
endobj
4387 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 414.686 null ] >>
endobj
4388 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 472.941 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 403.728 null ] >>
endobj
4389 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 461.982 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 392.769 null ] >>
endobj
4390 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 451.023 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 381.81 null ] >>
endobj
4391 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 437.076 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 370.851 null ] >>
endobj
4392 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 426.117 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 359.892 null ] >>
endobj
4393 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 415.158 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 348.933 null ] >>
endobj
4394 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 404.199 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 337.974 null ] >>
endobj
4395 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 393.24 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 327.015 null ] >>
endobj
4396 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 382.281 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 316.056 null ] >>
endobj
4397 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 371.322 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 305.097 null ] >>
endobj
4398 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 343.427 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 294.138 null ] >>
endobj
4399 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 332.468 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 283.18 null ] >>
endobj
4400 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 321.509 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 272.221 null ] >>
endobj
4401 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 310.55 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 261.262 null ] >>
endobj
4402 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 299.591 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 250.303 null ] >>
endobj
4403 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 288.632 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 236.596 null ] >>
endobj
4404 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 277.674 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 225.637 null ] >>
endobj
4405 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 266.715 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 214.678 null ] >>
endobj
4406 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 255.756 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 203.719 null ] >>
endobj
4407 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 244.797 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 192.76 null ] >>
endobj
4408 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 233.838 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 181.801 null ] >>
endobj
4409 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 222.879 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 170.842 null ] >>
endobj
4410 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 211.92 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 144.39 null ] >>
endobj
4411 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 200.961 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 133.431 null ] >>
endobj
4412 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 173.066 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 122.473 null ] >>
endobj
4413 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 162.107 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 111.514 null ] >>
endobj
4414 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 151.148 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 100.555 null ] >>
endobj
4415 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 140.189 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 89.596 null ] >>
endobj
4416 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 129.23 null ] >>
-endobj
-4417 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 118.271 null ] >>
+<< /D [ 4360 0 R /XYZ 81.077 78.637 null ] >>
endobj
-4418 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 107.312 null ] >>
+4359 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F70 185 0 R /F73 189 0 R /F69 183 0 R /F72 187 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4419 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 96.354 null ] >>
+<< /Filter /FlateDecode /Length 1998 >>
+stream
+xڵZ[o6~ϯ/bᝒv
+! ~T q`P(Q8ff2h~w-g73< O$O˳q&$<#D"ILI$v%w_GJɒ1PKCge?up~!?w=G_c'0"zv4v FEߛpq{я{EܩTYK(DA2F[*i:K,YÇ>e]l`ib:-C<D?䀚^NվOOTSoox
+İ$QV
+q2ܶ1A) +ЇWVgs_ԕ_S?uo?/oM)
+q<q_yBY5uvL.ɷ:>)F# q$@[bMe([Ghfbl2V! ,m]߄~ÀySeUHBx!yctAĦ07캪YD7"EiŅ
+sքs:[E ϐK0j(αBQ8hO~s_F2{|lHCGy
+/3#qVnMV&xUYnˍ Ps11:F4A`~#
+q:݉RcX0DkR.}O9OӴӱ&y9»h@Pxd@cϤh)UUVo~*8t{v3$Y96r^ eq\IJ:1Շⷪ;ʋ!C}qr9[I<.;"xʊ
+ΟuoHېfvݾ(\]e'Ճ^m ,ilBEdE8ʗb{"msyqצϖv#Wmk5yvk3n
+m׾>*meS@oQfHYK %S0!d\Sؾ]Y;&奟[7v~Jeb}7mxk{R}E#[=Zh yjn&r'1q5dMtp=KzON`#IIA<Ф 8*g1xpIVJ/$"dQ>qc n/ȔﲖbWN
+i3Q/
+endstream
endobj
-4420 0 obj
-<< /D [ 4358 0 R /XYZ 81.077 85.395 null ] >>
+4418 0 obj
+<< /Type /Page /Contents 4419 0 R /Resources 4417 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4299 0 R >>
endobj
-4357 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+4420 0 obj
+<< /D [ 4418 0 R /XYZ 78.37 808.885 null ] >>
endobj
-4423 0 obj
-<< /Filter /FlateDecode /Length 2619 >>
-stream
-xZo~߿}:pş ػ{!>t AX,^;CR8;/Lq8Ï3DY4]4ypçͨ \(6}GC48%<2!"s{RJۮhW<n[uSʦ6-K޶W'R* l1nBmSU͂Dz3Mf 2ͫKi>i~.輨ͯnk;EEpq@x#kc)6W릭pvb<<(em6Ns$NuSpp[{F0$JF<nʾqC.輩w:75Dž2buDQBhMwޮ,!*9d- HBF$fAnV*A>S.~U
-e] Hs.<- 8}`kL#Nv)
-=F)KFw 0,cIH:q.?(-LG,Du3 SY5SNtyy9DvBiHR _e_` #9 2'tA+@%RWk삅6,HRE* m{`qSy
-h45tw㹝E^70#  S;ݜ2-0JQJaLD0nU/lB.'5MQ>p"*y1Ůy(znI@Mei
- '0@` $܆U WBk8ˁICUz8DoMP\x%C dY!,M>_U.; 8ߡ
-"tl4(P>]ú~,PX:O
-,f$8v:<){0[.x9foXe]jċ"M6{G6QѴREnlXQ/2^Ra푇Mx"l ~cpҧ޳<K M}j6{kV~'cŞEչEcg|ɀxP?3r+I/Y%`mN!RԗDz
-p81(V-"3!x~_Bڡm<K1Y xi7 @J_tcG-&"і6
-!K{k٨F/\5#pWuhe1'Enj GuL@Ha{B LWT’E&A|IDXכ +|TK˓胭);xY+u|K_R@>6Kfapb=7ኛa7~pʿE[Da7~|֓7yaiSFTF$ԯI
-endstream
+4421 0 obj
+<< /D [ 4418 0 R /XYZ 81.077 768.832 null ] >>
endobj
4422 0 obj
-<< /Type /Page /Contents 4423 0 R /Resources 4421 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+<< /D [ 4418 0 R /XYZ 81.077 757.873 null ] >>
endobj
-4424 0 obj
-<< /D [ 4422 0 R /XYZ 78.37 808.885 null ] >>
+4423 0 obj
+<< /D [ 4418 0 R /XYZ 81.077 746.914 null ] >>
endobj
-65 0 obj
-<< /D [ 4422 0 R /XYZ 79.37 771.024 null ] >>
+4424 0 obj
+<< /D [ 4418 0 R /XYZ 81.077 735.955 null ] >>
endobj
4425 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 684.136 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 724.996 null ] >>
endobj
4426 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 673.177 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 714.037 null ] >>
endobj
4427 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 662.218 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 703.078 null ] >>
endobj
4428 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 651.259 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 675.183 null ] >>
endobj
4429 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 640.3 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 664.224 null ] >>
endobj
4430 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 629.341 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 653.265 null ] >>
endobj
4431 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 618.382 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 642.306 null ] >>
endobj
4432 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 607.423 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 631.347 null ] >>
endobj
4433 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 596.464 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 620.388 null ] >>
endobj
4434 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 585.506 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 609.429 null ] >>
endobj
4435 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 574.547 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 598.471 null ] >>
endobj
4436 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 563.588 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 587.512 null ] >>
+endobj
+65 0 obj
+<< /D [ 4418 0 R /XYZ 79.37 560.812 null ] >>
endobj
4437 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 552.629 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 470.537 null ] >>
endobj
4438 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 541.67 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 459.578 null ] >>
endobj
4439 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 530.711 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 448.619 null ] >>
endobj
4440 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 519.752 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 437.66 null ] >>
endobj
4441 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 508.793 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 426.701 null ] >>
endobj
4442 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 497.834 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 415.742 null ] >>
endobj
4443 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 486.875 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 404.783 null ] >>
endobj
4444 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 475.917 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 393.824 null ] >>
endobj
4445 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 464.958 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 382.865 null ] >>
endobj
4446 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 453.999 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 371.906 null ] >>
endobj
4447 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 443.04 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 360.948 null ] >>
endobj
4448 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 432.081 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 349.989 null ] >>
endobj
4449 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 421.122 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 339.03 null ] >>
endobj
4450 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 396.215 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 328.071 null ] >>
endobj
4451 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 385.256 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 317.112 null ] >>
endobj
4452 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 318.507 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 306.153 null ] >>
endobj
4453 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 307.548 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 295.194 null ] >>
endobj
4454 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 218.88 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 284.235 null ] >>
endobj
4455 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 207.921 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 273.276 null ] >>
endobj
4456 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 167.075 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 262.317 null ] >>
endobj
4457 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 156.116 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 251.359 null ] >>
endobj
4458 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 121.247 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 240.4 null ] >>
endobj
4459 0 obj
-<< /D [ 4422 0 R /XYZ 81.077 110.288 null ] >>
-endobj
-4421 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 4418 0 R /XYZ 81.077 229.441 null ] >>
endobj
-4462 0 obj
-<< /Filter /FlateDecode /Length 1735 >>
-stream
-xڵZnF+dCdu.( t,S
-TEN{z\٘9s_stɇ+;wwWonH,|rbD331n5=VwwnbZ1qJp1)zۤ|uzj,ӷok#8*J#?
-UZ[>=+pƭ;7ΈZkXw6wXpOF-7C0'B#[DG0
--z@t)9 ؈ay5 B9S9
-
-w⽍Q1+Y[_5sRH
-v~wP0ս;m7Z٦K~~jÃ]U 611y\yw30D%~1xX7:"/q!w߿ rtF7TiÃmpR:B>& UyC?dp9BV\YMw;zŢ]?kQFX-18c4h94=Ƣ"1BVܿ:PYOik#,AAzOS@%2\)Xn9.G>$~C:†JV8'H0gA@mqEƏm (PB%inPyz/鿄@o$ij8DeZ TFUL^lA2k-*"48
-3TPܧ}i )CAu%#CaDh9gDPQ/m9-c\pA gnu >i6%jp[c0ߗ@\FS4vh'g
-endstream
+4460 0 obj
+<< /D [ 4418 0 R /XYZ 81.077 218.482 null ] >>
endobj
4461 0 obj
-<< /Type /Page /Contents 4462 0 R /Resources 4460 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+<< /D [ 4418 0 R /XYZ 81.077 207.523 null ] >>
+endobj
+4462 0 obj
+<< /D [ 4418 0 R /XYZ 81.077 182.616 null ] >>
endobj
4463 0 obj
-<< /D [ 4461 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 171.657 null ] >>
endobj
4464 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 104.908 null ] >>
endobj
4465 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-4466 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 4418 0 R /XYZ 81.077 93.949 null ] >>
endobj
-4467 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 735.955 null ] >>
+4417 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4468 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 724.996 null ] >>
+<< /Filter /FlateDecode /Length 2458 >>
+stream
+xZ[o~_a`.4Eg">t
+qD[r`{! ]G13%ȏ %:hx,e$\:c3afF3B5lgPTK}(Mk˺Z0bxr^M@ T!˽/]yL
+Xr3,⽝Tݦ\kA=6JMeu*4ϿO.Q1A1brFumwtLrN X0c]X4[\JKhz`*l594weنBO{*-en7u7y:0 ]7b*6=r746-õvtl]YYJgY4gWSJD>2!n~tMy^Uڐۣڐ-RI="v`B
+aSz()pEX
+]"vUsbWhQxmnۼťӶO@{`)0@ M)fO"N|^@=,_\e-p"hqwNac:Mw5I?$JEȻBw f66Vo?B/k~B>vU7M
+?.@z͡EsǤposüii48$:j/Q~AIY&xPff!?Bfi~̈SbDqa5g}u}T\hP\2Ubjϣ*(8  @hⷫ5[ۺ]}r>%h`˞/Mqf- x=Yp 6G [N(l7K(lyzrB"LΘ)!Egܝ;PcxJ41ƣ nOC@1*9y%wVb)HpߺB ɋNN<@!8k~{$ŦBCלFjcH1:&a E N KW#K*^T|zЗink-
+tOզQ_z_~z#=i15ʒE&o
+B4cJBr:Um G4cJO_HOA:T/ %$Z$9sń}N&ȕ_VSS AeckMwPڟ u'}+*J]u~W}x4
+KEZF=rw| VV+;).%DȰ[;ZP>3z w\ ep_
+~Z&C T?)]<hU8{͑z #Mx]w28}n'! ޟ0Ohmł?q&2`M+8dGx<:H.
+x*)']Ubk?_]8rwN
+[u+9
+1x:yW[W֜Ta#BjN\ zP.Tf|ILT۰4{禂XC&xs󌓌~J;BնM[5{9L~ؤ%Y:yrCI^դl\SBE}MZu#3B3V]Gm΄%lp6ɽyӜ㐬1=봰n
+qQIb
+@{,5
+/^\0 ɈMK"4<qzQs9F1S,>x*r/ UjRהE<d1}jqqLY;F}ǭolB1<}gHLzݯw=ӌ"ȗi6eU\]y8N% R:B''T_gN#nwYmZ<-z w,M!m:fIDg~
+PH(LHɳx{ʣ>
+endstream
+endobj
+4467 0 obj
+<< /Type /Page /Contents 4468 0 R /Resources 4466 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4299 0 R >>
endobj
4469 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 4467 0 R /XYZ 78.37 808.885 null ] >>
endobj
4470 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 695.248 null ] >>
endobj
4471 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 684.289 null ] >>
endobj
4472 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 643.72 null ] >>
endobj
4473 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 632.762 null ] >>
endobj
4474 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 598.45 null ] >>
endobj
4475 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 587.491 null ] >>
endobj
4476 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 563.281 null ] >>
endobj
4477 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 552.322 null ] >>
endobj
4478 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 541.363 null ] >>
endobj
4479 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 530.404 null ] >>
endobj
4480 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 519.445 null ] >>
endobj
4481 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 508.486 null ] >>
endobj
4482 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 497.528 null ] >>
endobj
4483 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 486.569 null ] >>
endobj
4484 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 475.61 null ] >>
endobj
4485 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 464.651 null ] >>
endobj
4486 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 453.692 null ] >>
endobj
4487 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 472.941 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 442.733 null ] >>
endobj
4488 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 461.982 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 388.357 null ] >>
endobj
4489 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 451.023 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 377.398 null ] >>
endobj
4490 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 440.065 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 366.439 null ] >>
endobj
4491 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 429.106 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 355.48 null ] >>
endobj
4492 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 418.147 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 344.521 null ] >>
endobj
4493 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 407.188 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 333.562 null ] >>
endobj
4494 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 372.319 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 322.603 null ] >>
endobj
4495 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 337.449 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 311.644 null ] >>
endobj
4496 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 326.49 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 300.685 null ] >>
endobj
4497 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 315.532 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 289.726 null ] >>
endobj
4498 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 304.573 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 278.768 null ] >>
endobj
4499 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 293.614 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 267.809 null ] >>
endobj
4500 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 282.655 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 256.85 null ] >>
endobj
4501 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 271.696 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 245.891 null ] >>
endobj
4502 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 260.737 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 234.932 null ] >>
endobj
4503 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 249.778 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 223.973 null ] >>
endobj
4504 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 238.819 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 213.014 null ] >>
endobj
4505 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 227.86 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 202.055 null ] >>
endobj
4506 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 216.901 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 167.743 null ] >>
endobj
4507 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 205.943 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 133.431 null ] >>
endobj
4508 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 194.984 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 122.473 null ] >>
endobj
4509 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 184.025 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 111.514 null ] >>
endobj
4510 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 173.066 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 100.555 null ] >>
endobj
4511 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 162.107 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 89.596 null ] >>
endobj
4512 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 151.148 null ] >>
+<< /D [ 4467 0 R /XYZ 81.077 78.637 null ] >>
endobj
-4513 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 140.189 null ] >>
+4466 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4514 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 129.23 null ] >>
+4516 0 obj
+<< /Filter /FlateDecode /Length 2533 >>
+stream
+xڭZKoFWa%`O &I ! DʤCQ[&lI&ٚ9|VU_U
+wG$۫[pd4atq{wE% -$j$AX%~я4 L ÈJDt SM1R̄ҿƳTu}yZ *gwGd<@ghT#f6H@./viϒ*
+QRyP8,/ɻw4tnaTup;w.,҃q;{뛡e?/h6İQH1nnKUn>>Շn<e4H18 UJ8Dj :KqѬ8*xpx0{& Ce1I{(3\*_^s3O->FAJOpg׸酳
+I&lI [8*u` Ch2N BquQQ:P!G=]hOBPyO&P:߾ =}HlkBRz .Q%O m$wOٶ~.fYط!A c0m=jYһy_+CΒ"OʲPN_}{jM}))>gS]/v~.$2i10Mxu9?1 SC2jy-;WT-_V7!L
+Ky% Qy\Hw,6y2[s5
+`q~Q8CiYs<qHe+Hn؁:cVYW&0 魕dySֹJ:F:@GfgPz4˯HҐ Cg>6 nw Υ_EGs0`,:%" T0`CtjҹI<я؆#LRv22'k'y9;VuQ|>|]b4d_iev;Ll90
+$4 Ž}NEs
+E#
+؃1&[#MFn"?*9뺭B.l|ܧqI2>vqIr(=#.{R \@Ƣ~H{R3^H|;<Cmuϣaǫ_;eҼě^^\^-`7G3&q!F4B]^ر 7?lq%,*s>s%M)wQ j8BiUml6n^Ab`E~/BFJJ`Z683,zY
+endstream
endobj
4515 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 118.271 null ] >>
+<< /Type /Page /Contents 4516 0 R /Resources 4514 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4299 0 R /Annots 4565 0 R >>
endobj
-4516 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 107.312 null ] >>
+4565 0 obj
+[ 4513 0 R ]
+endobj
+4513 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 300.185 502.088 310.618 514.024 ]/A << /S /GoTo /D (Hfootnote.11) >> >>
endobj
4517 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 96.354 null ] >>
+<< /D [ 4515 0 R /XYZ 78.37 808.885 null ] >>
endobj
4518 0 obj
-<< /D [ 4461 0 R /XYZ 81.077 85.395 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 768.832 null ] >>
endobj
-4460 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+4519 0 obj
+<< /D [ 4515 0 R /XYZ 81.077 757.873 null ] >>
endobj
-4522 0 obj
-<< /Filter /FlateDecode /Length 2848 >>
-stream
-xڭZKs8Wj#mޏLea2b$"IoA>{ BF?
-p<`
-
-ND.|V8}
-Ei;WxОlC8
-jlŀmwi*wFp&ip*''X18u4zH4|&ͧs;n:\:{ZZ+5  i3cso4Yqo$qO#%=BfV54I).نO6=;qu_8MW ( >LVS{;!bM?W nPFSC
-@ vܽ7^ o=}V>1kp(oī_Fy<~"y~r
-cy(_m~_pw,˺|! ِox xg9a+Dݸ+vpô9Y#+k H,@ح]j7Tm|YiV
-endstream
+4520 0 obj
+<< /D [ 4515 0 R /XYZ 81.077 746.914 null ] >>
endobj
4521 0 obj
-<< /Type /Page /Contents 4522 0 R /Resources 4520 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R /Annots 4558 0 R >>
+<< /D [ 4515 0 R /XYZ 81.077 735.955 null ] >>
endobj
-4558 0 obj
-[ 4519 0 R ]
-endobj
-4519 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 300.185 699.348 310.618 711.284 ]/A << /S /GoTo /D (Hfootnote.11) >> >>
+4522 0 obj
+<< /D [ 4515 0 R /XYZ 81.077 724.996 null ] >>
endobj
4523 0 obj
-<< /D [ 4521 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 714.037 null ] >>
endobj
4524 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 703.078 null ] >>
endobj
4525 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 692.119 null ] >>
endobj
4526 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 681.16 null ] >>
endobj
4527 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 670.202 null ] >>
endobj
4528 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 659.243 null ] >>
endobj
4529 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 672.194 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 648.284 null ] >>
endobj
4530 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 661.235 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 637.325 null ] >>
endobj
4531 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 650.276 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 626.366 null ] >>
endobj
4532 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 639.317 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+4533 0 obj
+<< /D [ 4515 0 R /XYZ 81.077 604.448 null ] >>
endobj
4534 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 574.56 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 593.489 null ] >>
endobj
4535 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 563.601 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 582.53 null ] >>
endobj
4536 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 552.642 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 571.571 null ] >>
endobj
4537 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 541.684 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 560.613 null ] >>
endobj
4538 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 530.725 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 549.654 null ] >>
endobj
4539 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 514.784 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 538.695 null ] >>
endobj
4540 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 503.825 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 527.736 null ] >>
endobj
4541 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 492.867 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 474.934 null ] >>
endobj
4542 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 481.908 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 463.975 null ] >>
endobj
4543 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 470.949 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 453.016 null ] >>
endobj
4544 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 459.99 null ] >>
-endobj
-4545 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 405.195 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 442.057 null ] >>
endobj
4546 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 394.236 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 377.3 null ] >>
endobj
4547 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 383.278 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 366.341 null ] >>
endobj
4548 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 372.319 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 355.382 null ] >>
endobj
4549 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 331.472 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 344.423 null ] >>
endobj
4550 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 320.513 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 333.464 null ] >>
endobj
4551 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 309.554 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 317.524 null ] >>
endobj
4552 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 298.595 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 306.565 null ] >>
endobj
4553 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 287.636 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 295.606 null ] >>
endobj
4554 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 246.789 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 284.647 null ] >>
endobj
4555 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 182.032 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 273.688 null ] >>
endobj
4556 0 obj
-<< /D [ 4521 0 R /XYZ 81.077 129.23 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 262.73 null ] >>
endobj
4557 0 obj
-<< /D [ 4521 0 R /XYZ 94.613 98.396 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 207.935 null ] >>
endobj
-4520 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F22 473 0 R /F20 186 0 R /F23 660 0 R /F27 4533 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+4558 0 obj
+<< /D [ 4515 0 R /XYZ 81.077 196.976 null ] >>
endobj
-4561 0 obj
-<< /Filter /FlateDecode /Length 2674 >>
-stream
-xڭZ[~_ᗢ6WQFSld@\[c +K^Iw#J/6E\`?Xߟ|S'Dr6Y>R0$TNɿ<bz_>|RDH)”$+rc6I?6.C6xU)z
-q
-d
-HF򶱥&<Үy4}>fmw%2z6*$С+:emC!a.`mh7
-
-Vk?Cޔ>#
-4Qe<C4Γ(!}4d&\؊/H =KsioV^u:ӎء$YM1#?$z.o7)9Ѽ4! #:x_,'\R'Mo,cy#谧6!k(m
-.m2BvLN0M?s7yf0
-<M DssŠ+MB&>| - EЈ;!xӸl#-}I9nl.
-+GYށUroӉt_..cu Y$Lv6eqK ݾ|ĔFDy_.ёxp<}G;ynhMP3Cx᳸{>[)8oX;%Ti@D޽T[p2\._D [3ꇾ!'#JH
-endstream
+4559 0 obj
+<< /D [ 4515 0 R /XYZ 81.077 186.017 null ] >>
endobj
4560 0 obj
-<< /Type /Page /Contents 4561 0 R /Resources 4559 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+<< /D [ 4515 0 R /XYZ 81.077 175.058 null ] >>
+endobj
+4561 0 obj
+<< /D [ 4515 0 R /XYZ 81.077 134.212 null ] >>
endobj
4562 0 obj
-<< /D [ 4560 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 123.253 null ] >>
endobj
4563 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 4515 0 R /XYZ 81.077 112.294 null ] >>
endobj
4564 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 4515 0 R /XYZ 94.613 82.107 null ] >>
endobj
-4565 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 746.914 null ] >>
+4514 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F22 473 0 R /F20 186 0 R /F23 660 0 R /F27 4545 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4566 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 704.075 null ] >>
+4568 0 obj
+<< /Filter /FlateDecode /Length 2542 >>
+stream
+xڝZ[o~_bb]R-YhuM!жl%$'ËdI3/E|<<<7O<HçpĄb <!X"II$ ’Lɿ,abş>}$F,1fsA#iw"9&mvUfetYvoL{: -O_I2IJ>$Āebf ngsQdͦjUQۺVffs Iڶ;,ps3nRtrH)~ )#qrU -E2NQ$>qnq-ƈg܌0v@
++NW:E,*@]aSQ٣+E1!DnM7UQX˭U?[$p#0ū.&:ޫr<gZgEhQckj7SgY٧e}UFqN}$μbPtSUfs tĭ׾5ז>/},}Hq R#~H\|Wz̋iV*BD"F;uP64 ۴ a
+_ݿb`ԟke{lZ Z>fkkl/mj\ўtNiu{./h.S:3败9ǝpTx`I,Yh=oǽ0e( A2&AjQ;5\nEEq!u2UyKXyg%!D=6mHEoRmN7_/ĝa>uy7!  Ŭ7?-`HFpu0!(~ٻCWܯڴƁk_PxsٜU#$!0Zg0: ᧔`tv֐ZCojuٟ+ a.Si3 #{<( ?rqp'lʄiǓFAMbDhq6z"!"cHxCV~=䐾iU}=`BBsV+C@QCJ?E
+S` #^M0 C:geV;NF{_&H!uٯ`7NG>+nl<$DRJ0R[5zM`az@r+řuAyIo˄=~z;-C&M Qk \VSnng\
+QW:m5.R[Wm^%q=F0#7o 5dܻy.
+BDPBPiPw柰K<j׌t%J]RHU?s'uW#;8:ћ !v.L "Őe5|#8=^9U||v"aG9quJȯ)QpDY̌FdjnznؚnSi#M웳o j/&ćDzv 엀8#oA-{{q֯S@.>xa'/o
+tW s[FG%u7zLsTCe+18u7m>wp؛eӨNqF`W6N#}!VIs6Syٚk~ƛ\x6-ڦ8B&Zݔ 7w8dX)ƣE^xk ]gJ)X ߈yƎ(\ЕNŇ
+q"
+endstream
endobj
4567 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 693.116 null ] >>
-endobj
-4568 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 682.157 null ] >>
+<< /Type /Page /Contents 4568 0 R /Resources 4566 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4299 0 R >>
endobj
4569 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 671.198 null ] >>
+<< /D [ 4567 0 R /XYZ 78.37 808.885 null ] >>
endobj
4570 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 660.239 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 768.832 null ] >>
endobj
4571 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 649.28 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 757.873 null ] >>
endobj
4572 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 638.321 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 717.026 null ] >>
endobj
4573 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 627.362 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 652.269 null ] >>
endobj
4574 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 616.403 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 599.467 null ] >>
endobj
4575 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 605.444 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 583.527 null ] >>
endobj
4576 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 594.486 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 572.568 null ] >>
endobj
4577 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 583.527 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 561.609 null ] >>
endobj
4578 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 572.568 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 518.769 null ] >>
endobj
4579 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 561.609 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 507.811 null ] >>
endobj
4580 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 550.65 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 496.852 null ] >>
endobj
4581 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 539.691 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 485.893 null ] >>
endobj
4582 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 528.732 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 474.934 null ] >>
endobj
4583 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 517.773 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 463.975 null ] >>
endobj
4584 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 506.814 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 453.016 null ] >>
endobj
4585 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 495.855 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 442.057 null ] >>
endobj
4586 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 484.896 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 431.098 null ] >>
endobj
4587 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 473.938 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 420.139 null ] >>
endobj
4588 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 462.979 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 409.18 null ] >>
endobj
4589 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 410.177 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 398.221 null ] >>
endobj
4590 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 369.33 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 387.263 null ] >>
endobj
4591 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 310.55 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 376.304 null ] >>
endobj
4592 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 299.591 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 365.345 null ] >>
endobj
4593 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 240.812 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 354.386 null ] >>
endobj
4594 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 229.853 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 343.427 null ] >>
endobj
4595 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 218.894 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 332.468 null ] >>
endobj
4596 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 207.935 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 321.509 null ] >>
endobj
4597 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 196.976 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 310.55 null ] >>
endobj
4598 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 138.197 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 299.591 null ] >>
endobj
4599 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 127.238 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 288.632 null ] >>
endobj
4600 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 116.279 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 277.674 null ] >>
endobj
4601 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 105.32 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 224.872 null ] >>
endobj
4602 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 94.361 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 184.025 null ] >>
endobj
4603 0 obj
-<< /D [ 4560 0 R /XYZ 81.077 83.402 null ] >>
+<< /D [ 4567 0 R /XYZ 81.077 125.245 null ] >>
endobj
-4559 0 obj
+4604 0 obj
+<< /D [ 4567 0 R /XYZ 81.077 114.286 null ] >>
+endobj
+4566 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F75 317 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4607 0 obj
-<< /Filter /FlateDecode /Length 2753 >>
+4608 0 obj
+<< /Filter /FlateDecode /Length 3052 >>
stream
-xڵZ[o~ϯ0u 7b:N 4E0d[IcKItԅ!M9<<WJtv?^I2l^x^$0gw &E3n*{Zo+;3*%̔&`zyl Y|-Ǯ۷]S,VX,'o(alkz:鴅%L6;62(n_myYZrCLVA<bbp y9% T-r}~*\ۼkϿWZTL5T$нRݢ)?B>H"xTIF#i}
-R6OrvsʷŢ~]T.3``)O~\]vKy,,ŕ.-`P!>Wnj3)XۼY=I.b.wyYȇw=C5UWQn7ƀjWl)3M#/W[s?8)dScbr/ ̳C5;q R_Op^ʀ EfY帥gώ+P,^T/kuoڷaa˻rYn`c/Sv }t "Bj.t=89R1Js
-(iÎ8v|"{<A4YQ2co8eFwMTdc"LJ:)<3>"v7mT] Q :.~
-f |;lz௜S&hi7a%݌$zÂeuuĘ *?a[o.'Ch85DOw]ѼpB::AgImp= _=$ճL
-Hә1g "'<w$}&;z8$d(d<`f#u>ǵNRsuI_Pff ,)Dj-H'hccdWr#&P* I+BOJivwUqy]mǨ a}~â޳"D;_ؖ.PJki;}:zʛ{<>!}kSE "~%
-ݦ^}<mL{dA?'-!0{ 1I>!
-rO8;RX
-rf /
-r]9
-pa_zv
+xڵZIs6P"W6bәI&9xjW!I( H5I
+HMzᄎ][Teյ"޸- ц큵c_ZvVm7Aa$9ȳЄe}赶x>57guǴ!Z!BIp-fX" ©ha5 }շ ̭IhaS4򰬪͢q+
+8\Ev2.eO.FT&ožĕ7Ձ#
+=,by[LYp,i, HXEV(K'DL"$A#!fڸ.Nl
+w=rC'+7l]"\ݻvN*
+>a(ʛ7so79رrMa ]x뺷͛=V1YDkzZU꼋e)2 ",$rL(¸iF_;Avx]ŧ.W<ϓq )5#ڰjH{D65d
+^UޚrkB Ё@)V|kW>6I1CPf#j"V , J"ɸVxK(s;wE\#
+0` b,EyɁǕ|
+CW@"C>ƒދ #ՄX\ϕK~ܶRnwGz؅gQuӆm:TS^=~..wjb{Vn *} B͛H3F{ }!FNlZGa
+7baƛbo;ѩY25/MԺ4#\$0 9~MbK#U$Rу|:F>uy+lc [[f1%u+/#RL,Me8>SFp<@/h54;Aą žKsEAux;EV**9sEtn7ZBJ!Em_ /l:\}XnW>D{_Io7&E4|?BoGV]v|zD1_eݽ/jdm_e:¼]b[t1G66OԻ:ߗݖ̺1U /(Z)tGhNgDf1$N YpLK`lV-{ܕIК7:V!cYG5?|Hd 훟5
endstream
endobj
-4606 0 obj
-<< /Type /Page /Contents 4607 0 R /Resources 4605 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R /Annots 4650 0 R >>
-endobj
-4650 0 obj
-[ 4604 0 R ]
+4607 0 obj
+<< /Type /Page /Contents 4608 0 R /Resources 4606 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4299 0 R /Annots 4643 0 R >>
endobj
-4604 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 434.917 577.501 445.35 589.438 ]/A << /S /GoTo /D (Hfootnote.12) >> >>
+4643 0 obj
+[ 4605 0 R ]
endobj
-4608 0 obj
-<< /D [ 4606 0 R /XYZ 78.37 808.885 null ] >>
+4605 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 434.917 367.592 445.35 379.529 ]/A << /S /GoTo /D (Hfootnote.12) >> >>
endobj
4609 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 4607 0 R /XYZ 78.37 808.885 null ] >>
endobj
4610 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 730.974 null ] >>
endobj
4611 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 720.015 null ] >>
endobj
4612 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 709.056 null ] >>
endobj
4613 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 698.097 null ] >>
endobj
4614 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 687.138 null ] >>
endobj
4615 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 628.358 null ] >>
endobj
4616 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 617.4 null ] >>
endobj
4617 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 606.441 null ] >>
endobj
4618 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 595.482 null ] >>
endobj
4619 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 584.523 null ] >>
endobj
4620 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 573.564 null ] >>
endobj
4621 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 562.605 null ] >>
endobj
4622 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 615.049 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 551.646 null ] >>
endobj
4623 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 604.09 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 540.687 null ] >>
endobj
4624 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 538.918 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 529.728 null ] >>
endobj
4625 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 527.959 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 518.769 null ] >>
endobj
4626 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 466.359 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 507.811 null ] >>
endobj
4627 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 455.4 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 496.852 null ] >>
endobj
4628 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 345.978 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 485.893 null ] >>
endobj
4629 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 335.019 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 474.934 null ] >>
endobj
4630 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 324.06 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 463.975 null ] >>
endobj
4631 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 313.102 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 453.016 null ] >>
endobj
4632 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 302.143 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 442.057 null ] >>
endobj
4633 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 274.303 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 431.098 null ] >>
endobj
4634 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 263.344 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 406.192 null ] >>
endobj
4635 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 252.385 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 395.233 null ] >>
endobj
4636 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 241.426 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 328.483 null ] >>
endobj
4637 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 230.468 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 317.524 null ] >>
endobj
4638 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 219.509 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 252.767 null ] >>
endobj
4639 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 208.55 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 241.808 null ] >>
endobj
4640 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 197.591 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 129.23 null ] >>
endobj
4641 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 186.632 null ] >>
+<< /D [ 4607 0 R /XYZ 81.077 118.271 null ] >>
endobj
4642 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 175.673 null ] >>
+<< /D [ 4607 0 R /XYZ 94.613 88.682 null ] >>
endobj
-4643 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 164.714 null ] >>
+4606 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F22 473 0 R /F70 185 0 R /F76 318 0 R /F26 662 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4644 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 153.755 null ] >>
+4646 0 obj
+<< /Filter /FlateDecode /Length 2008 >>
+stream
+xڵZK6004G|Ja1$`чHh[YXNc{"Mp>$XM֓hEti/\\| iB9,V:E:IQ4ĊHb;s*ՏJ' ILYDbϔV֭mWWR2ٿ[g?f͚Uv]5/m_}ɈЈ%E~ymlw悔&SBi)%m L1$N /6zv9jf,ޕ4n0b5@
+nX=7>Ji‚;ʉ1hL&vݾAFAib` 4=XYWbzPw]
+wũ2~q
+3=w;FY
+D5MǦ:SeDxJc14TTL[V3?T$eeY
+:% plk\0 uJAm_o5C[fɡ\E*nWq*wYtdUYv~<? { uѰM?_3U meòڻeCSÖ4/yVM!W1ʙ=%a4,O$gMdyϦidݍ
+
+=ɽz]E bׁiE ݤl{FTBN{eP2@rvHa,jq@/-^X
+j
+S/mRVⷉ* Bh/*,H@hFur}RQЧq"t\c1=TCX}&`aKcn,!WX̆
+}t!2lƶxWӴ仝]^,7K|.Ww2TƧ-n`(㒓(Gg_qK} Ñ)Nh:H c v1^oZ5miwZi4A1o!9hG^W6;f[~ӫj2
+yAZ 
+o,|\XhϪ'u>2sc4F{F?QO|8q
+OF%2^G\ 3SD;1AX)@ Mo?5lNV*eͯ P9|+vu~ \lʸVb໺
+GeVSG+ ¡:Z&AQ_+P1!;>6?[;3|X5}4^־ CxmצHٖHg3~WUKbc9@tW> $XG!#ޛ
+endstream
endobj
4645 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 142.796 null ] >>
-endobj
-4646 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 131.837 null ] >>
+<< /Type /Page /Contents 4646 0 R /Resources 4644 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4299 0 R >>
endobj
4647 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 120.879 null ] >>
+<< /D [ 4645 0 R /XYZ 78.37 808.885 null ] >>
endobj
4648 0 obj
-<< /D [ 4606 0 R /XYZ 81.077 109.92 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 768.832 null ] >>
endobj
4649 0 obj
-<< /D [ 4606 0 R /XYZ 94.613 80.331 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 757.873 null ] >>
endobj
-4605 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F22 473 0 R /F70 185 0 R /F76 318 0 R /F26 662 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+4650 0 obj
+<< /D [ 4645 0 R /XYZ 81.077 746.914 null ] >>
endobj
-4653 0 obj
-<< /Filter /FlateDecode /Length 2097 >>
-stream
-xڵZK8W62p0a=Lڢڑ%R?AE"?~,K~zC_G2iz:c3afF3B5]of'"wdgyU6޺,yc]W嗼+l_`p: ٕ~ٖngCHF
-̳oޮW;lf)L2jϜFR A4̹IW$)JP>RN˶qQYes&IIkдZT 0mn]3
-Y vx] P)[]iVOJa:q(vâhm{$:ZU<í%
- ot_-־C2Q5$Жg΄"\PSBrf
-~r(L,eOL5h.
-SǓf~}f)"2XmXoŲ)U]Q/wce]4˻;5@U0NU0z*#X/OU77w~*(\>,mG
-j*|IMd2S4krO G_ψ4T{<7,Y5U̹Nz훖f3 FІŃnΉq bssÓ`.',vPvCbOגoWdMv@] i5wB=rI"aWO(zbSNjOis}P fb3Gh 'f4؜[$=;϶iKaM͢!Bƛ<p$=@|
-2шsC7vΈoШ *7
-D:8Pဩt9PJDx"fHf
-h*R 5b
-f#!@h -Cp1Tx_m;]{quԾ& ۯN|L1I*](=?tbW
-endstream
+4651 0 obj
+<< /D [ 4645 0 R /XYZ 81.077 718.123 null ] >>
endobj
4652 0 obj
-<< /Type /Page /Contents 4653 0 R /Resources 4651 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+<< /D [ 4645 0 R /XYZ 81.077 707.164 null ] >>
+endobj
+4653 0 obj
+<< /D [ 4645 0 R /XYZ 81.077 696.205 null ] >>
endobj
4654 0 obj
-<< /D [ 4652 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 685.247 null ] >>
endobj
4655 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 730.974 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 674.288 null ] >>
endobj
4656 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 720.015 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 663.329 null ] >>
endobj
4657 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 709.056 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 652.37 null ] >>
endobj
4658 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 698.097 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 641.411 null ] >>
endobj
4659 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 687.138 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 630.452 null ] >>
endobj
4660 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 676.179 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 619.493 null ] >>
endobj
4661 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 665.22 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 608.534 null ] >>
endobj
4662 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 654.261 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 597.575 null ] >>
endobj
4663 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 643.302 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 586.616 null ] >>
endobj
4664 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 602.456 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 575.658 null ] >>
endobj
4665 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 591.497 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 564.699 null ] >>
endobj
4666 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 580.538 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 553.74 null ] >>
endobj
4667 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 569.579 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 489.286 null ] >>
endobj
4668 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 558.62 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 478.327 null ] >>
endobj
4669 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 547.661 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 467.368 null ] >>
endobj
4670 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 536.702 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 456.409 null ] >>
endobj
4671 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 525.743 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 445.45 null ] >>
endobj
4672 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 514.784 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 434.491 null ] >>
endobj
4673 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 503.825 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 423.532 null ] >>
endobj
4674 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 492.867 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 412.573 null ] >>
endobj
4675 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 461.982 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 401.614 null ] >>
endobj
4676 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 451.023 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 360.869 null ] >>
endobj
4677 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 440.065 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 349.91 null ] >>
endobj
4678 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 429.106 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 338.951 null ] >>
endobj
4679 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 418.147 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 327.992 null ] >>
endobj
4680 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 363.352 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 317.033 null ] >>
endobj
4681 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 352.393 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 306.074 null ] >>
endobj
4682 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 341.434 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 295.115 null ] >>
endobj
4683 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 330.476 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 284.156 null ] >>
endobj
4684 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 319.517 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 273.197 null ] >>
endobj
4685 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 308.558 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 262.239 null ] >>
endobj
4686 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 297.599 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 251.28 null ] >>
endobj
4687 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 286.64 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 220.749 null ] >>
endobj
4688 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 275.681 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 209.79 null ] >>
endobj
4689 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 264.722 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 198.831 null ] >>
endobj
4690 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 253.763 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 187.872 null ] >>
endobj
4691 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 242.804 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 176.913 null ] >>
endobj
4692 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 231.845 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 122.473 null ] >>
endobj
4693 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 220.887 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 111.514 null ] >>
endobj
4694 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 209.928 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 100.555 null ] >>
endobj
4695 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 198.969 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 89.596 null ] >>
endobj
4696 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 188.01 null ] >>
+<< /D [ 4645 0 R /XYZ 81.077 78.637 null ] >>
endobj
-4697 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 177.051 null ] >>
-endobj
-4698 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 124.249 null ] >>
+4644 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F76 318 0 R /F20 186 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4699 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 113.29 null ] >>
+<< /Filter /FlateDecode /Length 1942 >>
+stream
+xڽZIo6WiAfRȭ- Ŗ䑕%Pc9z[ ?od=OGO_\*6h~uA <!-$j$AXvהcA.?VFFJ` V0L>.啠[n^)/O7b{:"%`(Cwք3n6# ю(]<fyѷOT߃n*7RS^jzEnM˒d*ATx%L.G 6DZ\aD}sQ)=#H=bÈ41<#
+Haψ1"GbDsĸh#]t#|F4=#!b`t=|s /B"RRę{Q3AE} $0FFH#cynH
+caĜψ126>ABYH}}KX Q1:BS-#*lKI.-6JOyST(>]&:KMufW jͱ.GsǫhQ4YUSQ'_G'YEu!<_? tJJ
+c+shdTגьO`dՅ ePCȁ2&Ȑb?O.ϊxQ.mgͼ܉<O3 ,th/
+B!YOֲPABuyq^Idiu\OpDشah'"͓t,M_yN7d}x=w5ۜ-wj G8"_AM
+7򉓁WT"'>=2y|aia0!聓&mf#_b>sDS[8iFBABd`]
+endstream
+endobj
+4698 0 obj
+<< /Type /Page /Contents 4699 0 R /Resources 4697 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4299 0 R >>
endobj
4700 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 102.331 null ] >>
+<< /D [ 4698 0 R /XYZ 78.37 808.885 null ] >>
endobj
4701 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 91.372 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 768.832 null ] >>
endobj
4702 0 obj
-<< /D [ 4652 0 R /XYZ 81.077 80.413 null ] >>
-endobj
-4651 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F78 556 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 4698 0 R /XYZ 81.077 757.873 null ] >>
endobj
-4705 0 obj
-<< /Filter /FlateDecode /Length 3903 >>
-stream
-x[o_!/6kڇ)WZR"qw9pwz@Np~?3$3>Ofkf/~!@[f9+bn=ƝݟmyU ř0wgJm^mmfWWW>nWHmp?t ZWrSw{Gū}ԺM@V~Z
-)!7mVPk2/l:i:e2^vILpfab> Ha|d=2m[Y׎tZ|)PE94cea_ers:3WV#nBtZ]_5돇o^zz3_7W29H>9rAUmMhM6]8؎C2IzL56"{y芆
-vy9|x(_;b{7BWNeI'nwf~8]_#k[,}ӅvMf{8V~<3s2 YS7vVg݃_tz؟xO0Y(}7r"9~mWdxM+w;= ,1/ol^ ׌4&SRne=Y: 2)n:F/N &H5
-ReHĎD}fJ=(=;Rô"SCсɜ=RI!#9d7V\W:DmiZE)WZOEs`͓۞vXYlE *o&5*Qۉ9n*vbx; ~,=̈\g3̘F&5(!*YaZduaZ-=>' &%:2lqZvQJ8J#Lg$t)Sʇ{ilzNFawwN-ws%_& r{84vi#$%%s<<G?vϒx?_y!bji܈fs$Hrb\<~r5a$MAa2thZ՗ qvW(/)/n&^>0m~'=ژ?a;͝]oooC_Kܻ;x6mGGfA>tOqlkZGk~d/Q$yK;lDcB3d3<j$kx^v^Z?+ZJ1+}êa~iY;%!~b3{vVbR]xm$DqSѾꂁ0ϋsU vCt™bloȣ#Q;7uD[խ6MɌY?݊5ZnjEeP#zm;3Ku'T,wgRҝlfRw*&RcDbMV%J=g H)IQ`i :fm`&E"TKc 
-6 j/5^^@YÔWmŒ1*-YFB7E1~[{9h֨M,/iϳƒ~d-ߎq\)]:z]Ai
-tUb!XQ+>F$8,q% 0b꧊5gw(F"ta)J'G}x
-NQ<!!I Q.1 &J=pA]]{TQ*>>$#xZ
-E d?fn*j%rt  p+a1h$G؀E GPNK7U>Q[` ^  œ$ZZ*:@ 8[\A Cvq)9cGO=
-Llb#E0tGtnQº!a='9$ڄzu/(Cp
-9UyBI*)9UBGO}
-tUb!XV#'W0"!!]#z"K@ ̂SZƵuiLf\7U:1[tZ=
-endstream
+4703 0 obj
+<< /D [ 4698 0 R /XYZ 81.077 746.914 null ] >>
endobj
4704 0 obj
-<< /Type /Page /Contents 4705 0 R /Resources 4703 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4301 0 R >>
+<< /D [ 4698 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+4705 0 obj
+<< /D [ 4698 0 R /XYZ 81.077 724.996 null ] >>
endobj
4706 0 obj
-<< /D [ 4704 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 714.037 null ] >>
endobj
4707 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 703.078 null ] >>
endobj
4708 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 692.119 null ] >>
endobj
4709 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 681.16 null ] >>
endobj
4710 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 670.202 null ] >>
endobj
4711 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 659.243 null ] >>
endobj
4712 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 648.284 null ] >>
endobj
4713 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 637.325 null ] >>
endobj
4714 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 587.698 null ] >>
endobj
4715 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 576.739 null ] >>
endobj
4716 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 565.78 null ] >>
endobj
4717 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 629.355 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 554.821 null ] >>
endobj
4718 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 618.396 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 543.862 null ] >>
endobj
4719 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 607.437 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 532.903 null ] >>
endobj
4720 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 596.478 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 521.944 null ] >>
endobj
4721 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 585.519 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 510.985 null ] >>
endobj
4722 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 574.56 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 500.027 null ] >>
endobj
4723 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 533.713 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 489.068 null ] >>
endobj
4724 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 522.754 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 478.109 null ] >>
endobj
4725 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 511.796 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 467.15 null ] >>
endobj
4726 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 500.837 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 456.191 null ] >>
endobj
4727 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 489.878 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 445.232 null ] >>
endobj
4728 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 478.919 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 434.273 null ] >>
endobj
4729 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 467.96 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 394.485 null ] >>
endobj
4730 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 457.001 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 383.526 null ] >>
endobj
4731 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 446.042 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 372.567 null ] >>
endobj
4732 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 435.083 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 361.608 null ] >>
endobj
4733 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 424.124 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 350.649 null ] >>
endobj
4734 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 413.165 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 339.69 null ] >>
endobj
4735 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 402.207 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 299.902 null ] >>
endobj
4736 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 391.248 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 288.943 null ] >>
endobj
4737 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 380.289 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 277.984 null ] >>
endobj
4738 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 369.33 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 267.025 null ] >>
endobj
4739 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 358.371 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 256.066 null ] >>
endobj
4740 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 347.412 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 245.107 null ] >>
endobj
4741 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 336.453 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 234.148 null ] >>
endobj
4742 0 obj
-<< /D [ 4704 0 R /XYZ 81.077 325.494 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 223.189 null ] >>
endobj
-69 0 obj
-<< /D [ 4704 0 R /XYZ 79.37 302.032 null ] >>
+4743 0 obj
+<< /D [ 4698 0 R /XYZ 81.077 212.23 null ] >>
endobj
-4703 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R /F76 318 0 R /F32 1809 0 R /F26 662 0 R /F23 660 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+4744 0 obj
+<< /D [ 4698 0 R /XYZ 81.077 201.271 null ] >>
endobj
4745 0 obj
-<< /Filter /FlateDecode /Length 1956 >>
-stream
-xZ[o6~0)@.1  Ca Ŗdr.ߡHQآ[t}dJυ*ݫ77)$|vzE"HtJ$%⟻? 9&#CqqKVi}޼oꂦIkFʝ׵77TA)C,rX-J3$HˏB$ziGz|PnJ`ޖue?b֍b='*PM/=UlȾ{W7Z}[F>IE(>T&*2_KkKh K!>̇DL?(ؔy|(GtȞ!Vл,m"ERWSs}uFX?(3?ݛr+"QYNH"=C@``C,T c]}C=I^1) q<:xgۢdԣTs$H1i[2ޘIY-@wa?gzf9DmEqsDe
- yU<ηMB(W[QP=5]νE\U<^a)Qik#1ͩ~:& ET
-0Оd$z;_teH@LdyZ4H(K3U3z! MݽO%kRVAiI;@B4?2c̹+fhzUgFk!5pz7:XCHG<q КD͚~UW=x],JtNe=Wm~/RWNJ0"hٌ 2'{b(@5_.O"*;3p(\q>=p ͯTcV゙ MϮ+fyM)z/3c9OD|Q
-MOxT 3 D~OS DF
-(,Fy7bG $
-3}xyet**h4d 8}tl"TN6}je]4|7s( V$4ԅ^:1+v.&I.ziCSVkIs8=pd-D
-A.^h5&92T=IAL<?M/RTaDqTj#W
-endstream
-endobj
-4744 0 obj
-<< /Type /Page /Contents 4745 0 R /Resources 4743 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+<< /D [ 4698 0 R /XYZ 81.077 190.312 null ] >>
endobj
4746 0 obj
-<< /D [ 4744 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 179.354 null ] >>
endobj
4747 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 628.358 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 168.395 null ] >>
endobj
4748 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 617.4 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 157.436 null ] >>
endobj
4749 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 586.515 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 146.477 null ] >>
endobj
4750 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 557.624 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 135.518 null ] >>
endobj
4751 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 546.665 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 124.559 null ] >>
endobj
4752 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 535.706 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 113.6 null ] >>
endobj
4753 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 524.747 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 102.641 null ] >>
endobj
4754 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 471.945 null ] >>
+<< /D [ 4698 0 R /XYZ 81.077 91.682 null ] >>
endobj
-4755 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 460.986 null ] >>
+69 0 obj
+<< /D [ 4698 0 R /XYZ 79.37 70.866 null ] >>
endobj
-4756 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 450.027 null ] >>
+4697 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4757 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 439.068 null ] >>
+<< /Filter /FlateDecode /Length 4021 >>
+stream
+x[m_! _thnN:H?0` K{:Er݋ K7 y\60c^_߽3}63igVFY>{w7۫{VƖ(_ǕZZ5_mW_z/~oW۴o^s?7¨#Xgc߂T|vn_] 7Oݢ[~9Q=WY hך&ۣ_m߶wݾkc6}Q(,Շb>y؉^Nrڀ{u6g׺=8}vmsupۢov~ۯ͇ 2ݯ4,ѵ9vk!мoq[ $V/L4bH}9v>&菍 xhV8J<qoJ+)#x`O3sHӳًYSw|vih%|=Si}M}y7q-k ky 6I[ZyTEPx/TUޟԋkefP#ND0:z|8Yf8?;>pz=)yO 9h)34GX>иO\~M 5FFd;(7^xR-T;hݥ[cTOZ(Peڸ9xH's~SO ;IU.Σ<yX<9lVXS 4K&,Ac,D FLEֵɂcHqkg`@A9=\Kv6$_G̀SoxMff@Hk4P;cL0H;^巵u'a߫gP;vҼΪ0hCi cI87tR͚oG\捕Lذf`n R @H@ug Zg` sEE]J͡bs,Est4,0!^Fo,3 H[2dX!PA PR,a@3g}o4  lN"0Ƅ"(azc"dR\q|e
+%"Dh +BбҬ8b`w!30
+" a Q9,8'VY++K()taMe!e#UZa#!,)sJdl, 6<PM;@YhHE T=V|c:b`:%L(
+ Q^z|:E# Y 2wF>fo4  lA)!r 9Erz\L8T:Q{AJ<bDB]{7XXQ0lZ
+N LhTwȤa.fT$"D h+6_^,bp)!ꅻBZ>m
++OpN8PpfeFF:2|Exl3QMޔ=lPx̓e#uyqxr: :OO+cr}7ZSY[6^v wބg/7ٻpRAȗX'6~xk7+d3o^ۣxH5~m OԃLnEI.ۅx}/wɯ6^:";v{hWBgdTڙ]ѿ\,&
+'Q!)R!EuM8|&T;;mG1q4 \ŧilWZ뇖;U]rpo'Fkӈ֮DSzH iM:SaE~G#7l439qoJ_%HX0R6,X Me;&
+xXw%lf8y-C>)BX>܇nUˤ@jnWi@3w,ܤOoioS1sX)#̏!&<\ !P΅<P#$|0UcOoU/O~z9bbԡVVύe=}yO_ۺɢ:@ Ý!'C-!r/JGꝑS'\XsTo:?7}z5:
+ *aNyH">31Gs{Cfޑbҁ:uI4ש(|x6/e*d:>:-N N88%/̡p|7IǗ:*"T<uap8ȳn%
+Y.HD1U6O&J12|e[{|xHeRm}<ޜT
+ODv9 Jo=sT
+wޠ ˵ѫJCzSb&
+B"@X/UÙ;sj nD2r Jڿ%X;V=O'kq9 3)P=;8szʓ|lnrnR 2tlw2/<]*@cm/Q\
+endstream
+endobj
+4756 0 obj
+<< /Type /Page /Contents 4757 0 R /Resources 4755 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4783 0 R >>
endobj
4758 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 428.109 null ] >>
+<< /D [ 4756 0 R /XYZ 78.37 808.885 null ] >>
endobj
4759 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 399.218 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 427.447 null ] >>
endobj
4760 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 388.259 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 416.488 null ] >>
endobj
4761 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 377.3 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 385.897 null ] >>
endobj
4762 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 366.341 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 357.2 null ] >>
endobj
4763 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 355.382 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 346.241 null ] >>
endobj
4764 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 344.423 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 335.282 null ] >>
endobj
4765 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 333.464 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 324.324 null ] >>
endobj
4766 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 322.505 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 271.717 null ] >>
endobj
4767 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 311.547 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 260.758 null ] >>
endobj
4768 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 300.588 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 249.799 null ] >>
endobj
4769 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 289.629 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 238.84 null ] >>
endobj
4770 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 278.67 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 227.881 null ] >>
endobj
4771 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 267.711 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 199.185 null ] >>
endobj
4772 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 256.752 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 188.226 null ] >>
endobj
4773 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 245.793 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 177.267 null ] >>
endobj
4774 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 234.834 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 166.308 null ] >>
endobj
4775 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 223.875 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 155.349 null ] >>
endobj
4776 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 212.916 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 144.39 null ] >>
endobj
4777 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 201.957 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 133.431 null ] >>
endobj
4778 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 190.999 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 122.473 null ] >>
endobj
4779 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 180.04 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 111.514 null ] >>
endobj
4780 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 169.081 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 100.555 null ] >>
endobj
4781 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 158.122 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 89.596 null ] >>
endobj
4782 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 147.163 null ] >>
-endobj
-4783 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 136.204 null ] >>
+<< /D [ 4756 0 R /XYZ 81.077 78.637 null ] >>
endobj
-4784 0 obj
-<< /D [ 4744 0 R /XYZ 81.077 107.312 null ] >>
-endobj
-4743 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 668 0 R /F19 184 0 R /F26 662 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+4755 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F19 184 0 R /F76 318 0 R /F32 1809 0 R /F26 662 0 R /F23 660 0 R /F20 186 0 R /F79 668 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4788 0 obj
-<< /Filter /FlateDecode /Length 1986 >>
-stream
-xڽY[۸~_a+;\/H tۇ<Ma(<-<I!)Q=d_Lw۹xp_cu#1 /V;xA J%Yd^j{X}튣cYRyIu7-FߟAb &*DN!/ӣ4 |%1SxYu}Tݻ\/|{2q&<ic .[S8K#-ɏu_ES}]2Ue2Prhl jnyO> ^غ^ƲɺwMGm z^ޓ
-gpსe&?
-1( snXۋ]}YSte)DOE;
-\ /zLh$Fq}x.Sbt8I]1:7 RA7M=A'lRD,ie&?7#5O8LH4641zǢ)"̓2k1i 4Ost2 V41:v5LE lPfޢaL3F#*fp0XO;9{W>OV䯝7ؿEC4sqD$4ѳƹDu<id+$K!T|$#r)Qʫy BŦ&|b
--fY&ogNNM$!ՅXe_mQl
-
-7/eSWO7`ɏV@u=3즓q?\+ˬLCOKVP2c`v8ܲ!c2,+|:|П=huwTj|O`nnZ4[F܌N& :9aR1*>9V4@BE h)eNΑ!ZJ8r7-1$eXh{)I҈1B!I4mw R:ć.H6H˴uN׭426)2 :]7H1Ht5 U4۷ zNpM !~34).<띃ĹkhwV~br#&4;6Sֶʶ<;?.%TMR֧  WTۤ2kr =Ivַ[DCTS&k\TurU*t& :b:8?5a]C&"NWT4zE%[ tBX=$ Vn5T<nfzS6=T׳OPVS70~ְ} ^U=OoLűr ܬ2sƾ bۺ˝{[i J{nkkhbk+~Pez&}8>}
-2g 5\pkVa
+4786 0 obj
+<< /Filter /FlateDecode /Length 1964 >>
+stream
+xڽY[۸~_ak; hhۇ<Ma(&-f"E 6yh9/sDtDrի7F,$,|bЉ.jYl>.Wlz%` %Kf(aO̷13;&7x}ۮW׊+`5<Z4^;Q&El-yT@wa34fsavևMwjڍRfebq랣[A| sTu-q{.G;[Zva +}?ȑJAMBEm%Je+M:C\9tm3=H GZs"EkaqKß|-K2+/<($TZQyEJB)/xvM:mgs ZMEPcLﯷkӊe:BwÖ~+;_`c=?mfwPݝh>}s܏۳>n<X[[l"6-eEeȻʱh0{)^
+YaŝOp|g]K=JYYBeKz
+4B.!ۢD@
+AhR>>~|I&A%|(\@f"%.}(|J\([c/bH"^ELXKJ x'\*㚣QhMxZΆ_P):G__!!IX5( :="hJ$hLpN M"*wXOn֌GpWm⯛7ؽMp C#j㜣g2Xcj#/&c[SyWQ;@u<uKmps_m43;yA1D &]IjřLh5Cz,,)؅:Zlۀ,mwM.T'ǞX9[F LBm]7g)ބ0S6T!ו_7 s>PtLMH՞`Yw?K@=;΍,?ﻘxߺd`2̥[l UM?@Bk M;YCsnL~G$,-%-
+}34uwu"R*v3=29hrH"_l;ʥ3+˗o]~SGy^كI}]{llZal~q M>wMF3,ahLﻂ8T/:M4rt
+Bк[hLٴ4
+4*FX5^-6ԢXJ)Pԧ>$חh9Z]LOit7*GL ۑ89;]јD[9}Ec7z<jiӝn
+x6cPjF8Qz~-*ў-#Zv
+
+B. 3l^R\*93Z
+?Wt
endstream
endobj
+4785 0 obj
+<< /Type /Page /Contents 4786 0 R /Resources 4784 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4783 0 R >>
+endobj
4787 0 obj
-<< /Type /Page /Contents 4788 0 R /Resources 4786 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+<< /D [ 4785 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4788 0 obj
+<< /D [ 4785 0 R /XYZ 81.077 768.832 null ] >>
endobj
4789 0 obj
-<< /D [ 4787 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 757.873 null ] >>
endobj
4790 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 754.884 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 746.914 null ] >>
endobj
4791 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 743.925 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 735.955 null ] >>
endobj
4792 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 732.966 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 724.996 null ] >>
endobj
4793 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 722.007 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 714.037 null ] >>
endobj
4794 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 703.078 null ] >>
endobj
4795 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 692.119 null ] >>
endobj
4796 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 681.16 null ] >>
endobj
4797 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 670.202 null ] >>
endobj
4798 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 659.243 null ] >>
endobj
4799 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 648.284 null ] >>
endobj
4800 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 637.325 null ] >>
endobj
4801 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 608.433 null ] >>
endobj
4802 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 579.542 null ] >>
endobj
4803 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 568.583 null ] >>
endobj
4804 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 557.624 null ] >>
endobj
4805 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 546.665 null ] >>
endobj
4806 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 505.818 null ] >>
endobj
4807 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 494.859 null ] >>
endobj
4808 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 483.9 null ] >>
endobj
4809 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 472.941 null ] >>
endobj
4810 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 461.982 null ] >>
endobj
4811 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 451.023 null ] >>
endobj
4812 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 440.065 null ] >>
endobj
4813 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 472.941 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 429.106 null ] >>
endobj
4814 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 461.982 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 418.147 null ] >>
endobj
4815 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 385.27 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 407.188 null ] >>
endobj
4816 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 374.311 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 396.229 null ] >>
endobj
4817 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 363.352 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 385.27 null ] >>
endobj
4818 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 352.393 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 374.311 null ] >>
endobj
4819 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 341.434 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 363.352 null ] >>
endobj
4820 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 330.476 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 352.393 null ] >>
endobj
4821 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 319.517 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 341.434 null ] >>
endobj
4822 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 308.558 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 330.476 null ] >>
endobj
4823 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 297.599 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 319.517 null ] >>
endobj
4824 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 286.64 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 308.558 null ] >>
endobj
4825 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 275.681 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 297.599 null ] >>
endobj
4826 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 264.722 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 286.64 null ] >>
endobj
4827 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 204.033 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 209.928 null ] >>
endobj
4828 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 193.074 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 198.969 null ] >>
endobj
4829 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 182.115 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 188.01 null ] >>
endobj
4830 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 171.156 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 177.051 null ] >>
endobj
4831 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 160.197 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 166.092 null ] >>
endobj
4832 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 149.238 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 155.133 null ] >>
endobj
4833 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 138.279 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 144.174 null ] >>
endobj
4834 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 127.32 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 133.215 null ] >>
endobj
4835 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 116.362 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 122.256 null ] >>
endobj
4836 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 105.403 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 111.297 null ] >>
endobj
4837 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 94.444 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 100.339 null ] >>
endobj
4838 0 obj
-<< /D [ 4787 0 R /XYZ 81.077 83.485 null ] >>
+<< /D [ 4785 0 R /XYZ 81.077 89.38 null ] >>
endobj
-4786 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+4784 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F76 318 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4841 0 obj
-<< /Filter /FlateDecode /Length 1589 >>
+<< /Filter /FlateDecode /Length 1424 >>
stream
-xڽYMoFWPMCh #@,QSTH:qkw)R]r8BwgRdѻ+r܂lﻫ77XC9WDFtd(GZQ ?Ƃ2k֛eGR܄`ڠOdr'(vII]>.N<.)i4k_. P¼v:Lsa4<F㹙j8[ 51,eq_,7gB۫k?ܲtv/C0H\
-(G66v*:]Oae) SP/mMB
-d
-GI̥iƕJ5VJ j#9(OE#~nC+6:̫7iqh-= +XrI tNh-1\h0c0o#o'yY]bڀQ>#MF.sNh1
-YreHV:[`o0w-U % .dK-Njf=ԛ(' ' );Dw_@7G36q"4[YkO9!|a@kM-jGw-4K=D[rtQq:2iez΄"z;efjYfw@޻ Sg,vvv=>hoݻ,Ov7mQҲ-홱?Q,*7YY?,%s
-l: |9q?3t2u6۽Uh}:<9qovE[ڱ-akv>6ӲΖK.
-s]Kݘb~H6:)Ͷ>~ir_TIN<5Z.q#mk\htQnu8Ay/g%u[!x(n6
-I\|iskG5~]5s&B2WӴ%)aYs`&ɪݳ|YQG._R]^֭2hƞE}ӶIC2GκUj$X>=>
+xڽZMo#7 W%9+4EPYr7vv'g .WHN6N\<<")juNɇK
+Ml6 ZZ$(0mú1VM)
+`]QIx{b?V!d Ehw4tr%%8jfч8.T)P^%Q-]iL:i)-rrObH$űM!PR7b.dh,Q29iQ}:x)[FP:dels]@lJ`
+IdsyK[AR52˨h^5$eQZ$ldst3#WIɲC-O]ܼvdb4YR($El9X<}V4Ix܍d
+aOeH+o =.
+
+0pq>_H
endstream
endobj
4840 0 obj
-<< /Type /Page /Contents 4841 0 R /Resources 4839 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+<< /Type /Page /Contents 4841 0 R /Resources 4839 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4783 0 R >>
endobj
4842 0 obj
<< /D [ 4840 0 R /XYZ 78.37 808.885 null ] >>
endobj
4843 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 742.929 null ] >>
endobj
4844 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 731.97 null ] >>
endobj
4845 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 721.011 null ] >>
endobj
4846 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 710.052 null ] >>
endobj
4847 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 699.093 null ] >>
endobj
4848 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 688.134 null ] >>
endobj
4849 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 677.175 null ] >>
endobj
4850 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 666.217 null ] >>
endobj
4851 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 655.258 null ] >>
endobj
4852 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 644.299 null ] >>
endobj
4853 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 633.34 null ] >>
endobj
4854 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 622.381 null ] >>
endobj
4855 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 611.422 null ] >>
endobj
4856 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 600.463 null ] >>
endobj
4857 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 589.504 null ] >>
endobj
4858 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 578.545 null ] >>
endobj
4859 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 567.586 null ] >>
endobj
4860 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 556.627 null ] >>
endobj
4861 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 545.669 null ] >>
endobj
4862 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 534.71 null ] >>
endobj
4863 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 523.751 null ] >>
endobj
4864 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 512.792 null ] >>
endobj
4865 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 501.833 null ] >>
endobj
4866 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 490.874 null ] >>
endobj
4867 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 479.915 null ] >>
endobj
4868 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 468.956 null ] >>
endobj
4869 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 457.997 null ] >>
endobj
4870 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 472.941 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 447.038 null ] >>
endobj
4871 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 461.982 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 436.08 null ] >>
endobj
4872 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 451.023 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 425.121 null ] >>
endobj
4873 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 440.065 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 414.162 null ] >>
endobj
4874 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 429.106 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 403.203 null ] >>
endobj
4875 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 418.147 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 392.244 null ] >>
endobj
4876 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 407.188 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 381.285 null ] >>
endobj
4877 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 396.229 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 370.326 null ] >>
endobj
4878 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 385.27 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 359.367 null ] >>
endobj
4879 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 374.311 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 348.408 null ] >>
endobj
4880 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 363.352 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 337.449 null ] >>
endobj
4881 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 352.393 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 326.49 null ] >>
endobj
4882 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 341.434 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 315.532 null ] >>
endobj
4883 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 330.476 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 304.573 null ] >>
endobj
4884 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 319.517 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 293.614 null ] >>
endobj
4885 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 308.558 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 282.655 null ] >>
endobj
4886 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 297.599 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 271.696 null ] >>
endobj
4887 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 286.64 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 260.737 null ] >>
endobj
4888 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 275.681 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 249.778 null ] >>
endobj
4889 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 264.722 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 238.819 null ] >>
endobj
4890 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 253.763 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 227.86 null ] >>
endobj
4891 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 242.804 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 216.901 null ] >>
endobj
4892 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 231.845 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 205.943 null ] >>
endobj
4893 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 220.887 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 194.984 null ] >>
endobj
4894 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 209.928 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 184.025 null ] >>
endobj
4895 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 198.969 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 173.066 null ] >>
endobj
4896 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 188.01 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 162.107 null ] >>
endobj
4897 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 177.051 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 151.148 null ] >>
endobj
4898 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 166.092 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 140.189 null ] >>
endobj
4899 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 125.245 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 129.23 null ] >>
endobj
4900 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 114.286 null ] >>
+<< /D [ 4840 0 R /XYZ 81.077 118.271 null ] >>
endobj
4901 0 obj
-<< /D [ 4840 0 R /XYZ 81.077 103.327 null ] >>
-endobj
-4839 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 4840 0 R /XYZ 81.077 107.312 null ] >>
endobj
-4904 0 obj
-<< /Filter /FlateDecode /Length 2730 >>
-stream
-xڽZ[o~ϯx]H{МuhB%:f":"셗%$ۙg
-/.wtg,H*xA*AL-$K-<Vn
-OAf! a</./OK$B!tOͨL$qJ&e1C<-8J4aIV
-S?~Bl $V~T ^ۮ>}ZE^v Fǻ{wyѿ#/ћap>z^yx}@$$N>zh|?W(fhfF{;ܕ737(ҝwn;mUl&@G[O&1x|lB"D `ưd/qp s"M<ʍUi<%pP㦬}yX0hI5Ac:_gKC}E5*)X<8#쇵/pG&bgzY[Ⴧ#9c^ոB'*nA
- LCY&.dḃ!ø4)vJ?%8 Rb
-4I[ȗUVAmxpuy%0j"A}JZ[l> j"aF>3svJl8)H*&c49#x /R L3mH<cLcD`TGqjS};y]*a#wk9wϛs ~$y'xFlu#Gq^q+Ayha{2Qp$+/Ճ5aR/XRAO}Xaz8.= ƺR>{\g{[Ovmyg;k)3LeBK4 ۀNc[
-ɦsw&sڻsn j0-/:h4'5^ֵq۲
-njvM]ߧƼ5l5*w6k77mJ%lħԶ
-,lW
-mgu<:`t@Q^@i=x8bt&z-Zg$1M>{ {7 gr=^~AHa1%6!dc7TS7B}5 ⶿kqg^q>T_웽 |!ˍ2;nNoiƶ} ʺwa66;Lu]yP)ӧ%ACC
-BFB!P=s.C!b
-ЪPP%9eSrDN}γ#OJ1|D
-s[?)CRwׁaθ}p3Ai oFS5M4R oOOH5GŇ$1T
-endstream
+4902 0 obj
+<< /D [ 4840 0 R /XYZ 81.077 96.354 null ] >>
endobj
4903 0 obj
-<< /Type /Page /Contents 4904 0 R /Resources 4902 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+<< /D [ 4840 0 R /XYZ 81.077 85.395 null ] >>
endobj
-4905 0 obj
-<< /D [ 4903 0 R /XYZ 78.37 808.885 null ] >>
+4839 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4906 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 754.884 null ] >>
+<< /Filter /FlateDecode /Length 2942 >>
+stream
+xڽZ_oܸϧ0b)H\@]0ڇXȻd-I؎ҊLRp8PvO}8$Mg׷o g,D3sf4#T뇳/$?zQg Iɐ3IDԟE.wM~yu~]ˢ,",?Cu,bɨ(a2dHCѼEJ=o{H:? OKd/<IԒ!:6& ySM=o}o yTAMۜ[)R;?,ĤD
+mR
+CCwRM(UY5e`IB8Ħ`q/ۼ.?%p*:HJIHw@,'/=gÞCBޕL
+)S1; /j$u3钸yT }/ИȐt:AZI+n疂׃+ n@}A{ 4
+AD`SdЩX%Zü.6gVR!zCR r{#~WR[ ʆ=~ .Fj#aAkDaLn|H X,$F[52\n
+}Y)`jKhY#<c$
+: =M*A5⦪ >ܭpTב> #Ѳxf巼^ERsi`Z!Ns5q@=c
+̔G螲^ C5d Ds>% t4 ^@.AW7~\8
+s z,D˫q=v-$I :tyPR % #4H:V7?hq
+xʐd~Xň4n["Z:w-=b_ЬEx k_bv*cnmQ>Am@رk0>ryF@^&28wFKCi.G [Ez:?D鱐fBMBS1b#ٰ(%؀oRب+ ёngGe KGͦj팝*:}8fWY䰰29l$btB EӁ:~wN] p8󷢼d 1Ԑ֧RbS.{
+SG/4}ȸ3N5D>1*
+O,ʏaA
+endstream
+endobj
+4905 0 obj
+<< /Type /Page /Contents 4906 0 R /Resources 4904 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4783 0 R >>
endobj
4907 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 743.925 null ] >>
+<< /D [ 4905 0 R /XYZ 78.37 808.885 null ] >>
endobj
4908 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 732.966 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 768.832 null ] >>
endobj
4909 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 722.007 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 757.873 null ] >>
endobj
4910 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 711.048 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 746.914 null ] >>
endobj
4911 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 700.089 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 735.955 null ] >>
endobj
4912 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 605.444 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 724.996 null ] >>
endobj
4913 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 594.486 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 714.037 null ] >>
endobj
4914 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 583.527 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 703.078 null ] >>
endobj
4915 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 572.568 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 662.231 null ] >>
endobj
4916 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 561.609 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 651.273 null ] >>
endobj
4917 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 550.65 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 640.314 null ] >>
endobj
4918 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 539.691 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 599.467 null ] >>
endobj
4919 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 468.956 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 588.508 null ] >>
endobj
4920 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 457.997 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 577.549 null ] >>
endobj
4921 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 447.038 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 566.59 null ] >>
endobj
4922 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 436.08 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 555.631 null ] >>
endobj
4923 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 425.121 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 544.672 null ] >>
endobj
4924 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 414.162 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 450.027 null ] >>
endobj
4925 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 373.315 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 439.068 null ] >>
endobj
4926 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 362.356 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 428.109 null ] >>
endobj
4927 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 351.397 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 417.151 null ] >>
endobj
4928 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 292.618 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 406.192 null ] >>
endobj
4929 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 281.659 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 395.233 null ] >>
endobj
4930 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 270.7 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 384.274 null ] >>
endobj
4931 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 259.741 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 313.539 null ] >>
endobj
4932 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 248.782 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 302.58 null ] >>
endobj
4933 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 237.823 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 291.621 null ] >>
endobj
4934 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 226.864 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 280.662 null ] >>
endobj
4935 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 215.905 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 269.703 null ] >>
endobj
4936 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 204.946 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 258.745 null ] >>
endobj
4937 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 193.987 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 217.898 null ] >>
endobj
4938 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 183.028 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 206.939 null ] >>
endobj
4939 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 172.07 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 195.98 null ] >>
endobj
4940 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 161.111 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 137.2 null ] >>
endobj
4941 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 150.152 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 126.241 null ] >>
endobj
4942 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 139.193 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 115.283 null ] >>
endobj
4943 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 128.234 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 104.324 null ] >>
endobj
4944 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 117.275 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 93.365 null ] >>
endobj
4945 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 106.316 null ] >>
-endobj
-4946 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 95.357 null ] >>
-endobj
-4947 0 obj
-<< /D [ 4903 0 R /XYZ 81.077 84.398 null ] >>
+<< /D [ 4905 0 R /XYZ 81.077 82.406 null ] >>
endobj
-4902 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+4904 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4950 0 obj
-<< /Filter /FlateDecode /Length 1421 >>
+4948 0 obj
+<< /Filter /FlateDecode /Length 1406 >>
stream
-xڵZMoF W؋t'|(h[0GNڒ6I-yvkI/,O"G#9>0۽ŕÑtq"9‚9 BZMW_Zy8msŕ #/)t<1GAC Uet @cLm}m "@ͬ*gM󶸛ܬFYS*v9殙Kh}blxޢm2$8JJ9z됻rHyrs3i9zJ~W '6mBX!&&aPZ
-k08AdE>:+euzNب% +6𢋢Dw&DP<}8'A` 6Չ ' :OŦ^nC.} P8<Gf'J)W;(u]Vm6Vpn'C`Cx*CRT scAȍ 22lmpRR4'QU^HeUEʀMy|~|eS6.QA^S:8'DJ/Ci){R7>C;
-!=幏ْʩdgm#&2g-A
-yP;bO3܅IC$RDOZ:]Liwfk+ $]do0&$hVg,iae=5ɼ`9e#U7uQ]..ǎ-fk#% Enj>[>q+3LFǜԴ:r\U1+4lS?*ߞmv|K*T'%_~dB gKOeNS.P)֛ kjYn<d?&I@_>쥙=&@PqJ':DsۛFv2#ˈu"0Gq;/tSd?cќL&dSMj%
-<Q4-UYMPnKgAxiM|Yy5&Cw/t"DYM!.)n>Ɔ#"˪.n.ݱvrth8W/u{yS?I#뫋i_ۣ݅ʏ޾nx\CYq9Wꦚn
-,
-SF@م1˒mdu"ϻ33OBD^AC$)jcQ4֧ڮѦ=ۻC%!qtk6kTU◢ -SEٶc~=gX>O؟r $J)di4hs^}}J"U">T[g
+xڭZMo7W,KrS('B0䕳R$v`w5"Y⵴z# WtBʭ_/~^|XY" 
+蕇PJ{ք]}JcK_iWl:]ԃy{oM!M V~QwD?Ƥ" As>yK=W=D30fF[SZccW-j~atu5ZGӦW{h;Q4)LެeۧAbyX{*p" Jg}*)z97<Jt@rFE Oۧ^:{,(9GܴBgw6H2sSiKNI˔]Ι:5T$g QcCT.qHF |lG1;Yz3bh~@eH-;: sBZ>״rթ[
+n93IEw S+G'QtnVF+<KZfQ192'։>u7\=i:hSN6xPkJhy\P!! 9.&M?*,UEkDZhqTX*uJ<6W>[Ώ KX`VF:GWH#R10iY(∰T<(Sb4Y̦vmӠ*xӐ-*hxlY(л-4QDLj5wM@˅Z #+ttvʖnvŞTQ#,@Ģ@:uϲ~37}:"zX029Z@{/RLQrء#u> -:C%8QuHl}EW傐>Adܫz܁b˄(0G-
+`@;R!s--5k3r NŃ
+p1my"V m$ZZ,6%ԢS{N7뷤ԃMAF=GÅU='M[gf\m jZ{RyI/
+7ʼ@fb2G+:/;OeVl<oإ˽5۠~&*>d:hl༆^K}~SgǙ R~>s.qr7cM,X/R=r(g miPFo.X3ifƹ<>*3q"ZN_ /|
endstream
endobj
+4947 0 obj
+<< /Type /Page /Contents 4948 0 R /Resources 4946 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4783 0 R >>
+endobj
4949 0 obj
-<< /Type /Page /Contents 4950 0 R /Resources 4948 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+<< /D [ 4947 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4950 0 obj
+<< /D [ 4947 0 R /XYZ 81.077 768.832 null ] >>
endobj
4951 0 obj
-<< /D [ 4949 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 757.873 null ] >>
endobj
4952 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 746.914 null ] >>
endobj
4953 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 735.955 null ] >>
endobj
4954 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 724.996 null ] >>
endobj
4955 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 722.097 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 714.037 null ] >>
endobj
4956 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 711.138 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 703.078 null ] >>
endobj
4957 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 700.18 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 692.119 null ] >>
endobj
4958 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 689.221 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 681.16 null ] >>
endobj
4959 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 678.262 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 670.202 null ] >>
endobj
4960 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 667.303 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 659.243 null ] >>
endobj
4961 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 656.344 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 648.284 null ] >>
endobj
4962 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 645.385 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 637.325 null ] >>
endobj
4963 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 634.426 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 626.366 null ] >>
endobj
4964 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 623.467 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 615.407 null ] >>
endobj
4965 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 612.508 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 604.448 null ] >>
endobj
4966 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 601.549 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 593.489 null ] >>
endobj
4967 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 590.591 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 568.583 null ] >>
endobj
4968 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 579.632 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 557.624 null ] >>
endobj
4969 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 568.673 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 546.665 null ] >>
endobj
4970 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 557.714 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 535.706 null ] >>
endobj
4971 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 546.755 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 524.747 null ] >>
endobj
4972 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 535.796 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 513.788 null ] >>
endobj
4973 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 524.837 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 502.829 null ] >>
endobj
4974 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 513.878 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 491.87 null ] >>
endobj
4975 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 502.919 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 480.911 null ] >>
endobj
4976 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 491.96 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 469.953 null ] >>
endobj
4977 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 481.001 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 458.994 null ] >>
endobj
4978 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 470.043 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 448.035 null ] >>
endobj
4979 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 459.084 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 437.076 null ] >>
endobj
4980 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 448.125 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 426.117 null ] >>
endobj
4981 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 437.166 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 415.158 null ] >>
endobj
4982 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 426.207 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 404.199 null ] >>
endobj
4983 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 415.248 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 393.24 null ] >>
endobj
4984 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 404.289 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 382.281 null ] >>
endobj
4985 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 393.33 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 371.322 null ] >>
endobj
4986 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 382.371 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 360.363 null ] >>
endobj
4987 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 366.467 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 349.405 null ] >>
endobj
4988 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 355.508 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 338.446 null ] >>
endobj
4989 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 344.549 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 327.487 null ] >>
endobj
4990 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 333.59 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 316.528 null ] >>
endobj
4991 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 322.632 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 305.569 null ] >>
endobj
4992 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 311.673 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 294.61 null ] >>
endobj
4993 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 300.714 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 283.651 null ] >>
endobj
4994 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 289.755 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 272.692 null ] >>
endobj
4995 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 278.796 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 261.733 null ] >>
endobj
4996 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 267.837 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 250.774 null ] >>
endobj
4997 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 256.878 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 239.816 null ] >>
endobj
4998 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 245.919 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 228.857 null ] >>
endobj
4999 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 234.96 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 212.916 null ] >>
endobj
5000 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 224.001 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 201.957 null ] >>
endobj
5001 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 213.043 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 190.999 null ] >>
endobj
5002 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 182.212 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 180.04 null ] >>
endobj
5003 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 171.253 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 169.081 null ] >>
endobj
5004 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 160.295 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 158.122 null ] >>
endobj
5005 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 149.336 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 147.163 null ] >>
endobj
5006 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 138.377 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 136.204 null ] >>
endobj
5007 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 127.418 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 125.245 null ] >>
endobj
5008 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 116.459 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 114.286 null ] >>
endobj
5009 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 103.327 null ] >>
endobj
5010 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 92.368 null ] >>
endobj
5011 0 obj
-<< /D [ 4949 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 4947 0 R /XYZ 81.077 81.41 null ] >>
endobj
-4948 0 obj
+4946 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
5014 0 obj
-<< /Filter /FlateDecode /Length 2070 >>
-stream
-xڭZMo6W؋n[2P (,ZAzh
-ADJrlޡ(Q󱦷H hr7&΢ኸ~Z]\I:a(1% Ch'@ˉEO_SFՎuq%I!h1e6ڦyY䥚e9;w/2]uӦu.NӭmfE#,[++!ǭ3<7MfM;A^yhmeT=M;_.ɐY282 c꣟m\{lGLU>Mù|_v_#[KDVaVp Ds1I죵E
-,%#h$-y! 裟s"fĮ+[ץd2Y.IІ`mUIί7t&(b<¬/L7|xS 1bҪ;AA7l՝Em澸$̅QPe8;N\ٲ4+
-+sTEјjm:b)ZjmgDN#D<*+OWWQxRG_50F$~8 B<jUrsBڻ~Ó +9 A<H{A.KVTј|]ߖF>R Ga+vюJZp$QZdimInߏ1le9C1%üEo2(6GZlC#%{eYh%es7es<uroz7ZVCcV6*6=Vת^>1ZnJkb^d\~nd D"<F4;Bb̬^ Qc\ysei@նͫ ,PlZD%U鶮Zlj~-vUgU6c:$z>EH 9 t"b;7 Q*l7ٿ~+9Q4<Xakt2\I*%S+e",9pAtax! Rjjj@f %a&4nkW<Y]$4n>%THΈ>̴@~{wje0rWVtyxT1^:3lK^ޙj3 f2u}5MD"np?֠i,铔]ۗnw:jOL? ծm:j5`VN]M=TqS.9=?,Sѡ^BzrL>TVzKL{uH%0:.zA澪79#$p‰&agک ,2;3>U?91wG(w?g1$PdFDgG :+Fu~_fuТ;VZpZ6z^$zQ3[#{˃IaL;^ɴ >tX
+<< /Filter /FlateDecode /Length 2115 >>
+stream
+xZKo8W苍0|? 4,ibbӉm#yL}IQH' 0H"UWUtv'_̾_8dBb} 8AGb"8b;f[uqD9!Q(I @qkb4F/(
+<;'L=4l\[{Ro6{nWm۲G}' ebQ| XNW űWMdc$8 *FCm;弼.sY׳./Ǭ(7C6zR
+H.4KBs\k#Vmm`ۮ*v^:<q!rnkFeFϯ<Wֺǥ
+,$3I4g{DsK,PYZ 6ޙ)JsCEݴY]=dhnmmmk` K ::d"S3X4|HFP@ٸ<)?нw/Ee}[Y?}B/#qLDBt;0 њAD.]U' C`b#C
+L?`sr׋4BtΛA
+pGi;"B 1i
+сXIMD0<T 0fF$y
+ٝE}LK4՟T6ɪ22KJB"QUARʭ(ёx d09+BR|s0m{'ZS}eMnKǤ4CznB Ę
+!:yB@H"1Tl$w/,Rs s4m`re_z/^VCc^,6=ת^}juZ-ô|;Ý~ert3k#U@A{#;\M+`P:m]p)5FM\(()
+H@јEoܗELt.& kY޻+n9g}QWeNJr Vuk7ve5o\7s7>֘lom_ۨyI<SsEW)Vb 0tV;:9ݏSɄ)hiZ
+ٍ-;dL@!TIUe;%q _aYN4qB]ռ\\ϩ2B(eMGZ +v弻1>UH'=G(_9g&IG0-Ev\mnC)\94SewӞ_òRNXYy˅kra#|`1i
+vbn8ç^>`0_ۗR+<wpEX\NkG
+6n`kNEn[/HB.^SS$c슝r]osN}E1Pw&cfm#'Iz 5C9(i_8l$ Ӿ<2#X13 diW6%H맦>(F xث#9ՒI>>nk틕>#k7/^O')w'Ri2p)S2uZ_]1*Y SHTڝVN:$?ϩ
endstream
endobj
5013 0 obj
-<< /Type /Page /Contents 5014 0 R /Resources 5012 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+<< /Type /Page /Contents 5014 0 R /Resources 5012 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4783 0 R >>
endobj
5015 0 obj
<< /D [ 5013 0 R /XYZ 78.37 808.885 null ] >>
@@ -15969,1533 +16035,1537 @@ endobj
<< /D [ 5013 0 R /XYZ 81.077 757.873 null ] >>
endobj
5018 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 728.598 null ] >>
endobj
5019 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 717.639 null ] >>
endobj
5020 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 706.68 null ] >>
endobj
5021 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 695.721 null ] >>
endobj
5022 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 684.762 null ] >>
endobj
5023 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 673.803 null ] >>
endobj
5024 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 662.844 null ] >>
endobj
5025 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 647.977 null ] >>
endobj
5026 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 637.018 null ] >>
endobj
5027 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 626.059 null ] >>
endobj
5028 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 617.4 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 615.1 null ] >>
endobj
5029 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 606.441 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 604.141 null ] >>
endobj
5030 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 595.482 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 593.183 null ] >>
endobj
5031 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 584.523 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 582.224 null ] >>
endobj
5032 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 573.564 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 571.265 null ] >>
endobj
5033 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 562.605 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 560.306 null ] >>
endobj
5034 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 551.646 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 549.347 null ] >>
endobj
5035 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 490.957 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 538.388 null ] >>
endobj
5036 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 479.998 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 527.429 null ] >>
endobj
5037 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 469.039 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 516.47 null ] >>
endobj
5038 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 458.08 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 505.511 null ] >>
endobj
5039 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 447.121 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 494.552 null ] >>
endobj
5040 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 436.162 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 465.277 null ] >>
endobj
5041 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 395.315 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 454.319 null ] >>
endobj
5042 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 384.357 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 443.36 null ] >>
endobj
5043 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 373.398 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 432.401 null ] >>
endobj
5044 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 362.439 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 421.442 null ] >>
endobj
5045 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 351.48 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 410.483 null ] >>
endobj
5046 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 310.633 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 399.524 null ] >>
endobj
5047 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 299.674 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 344.486 null ] >>
endobj
5048 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 288.715 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 333.527 null ] >>
endobj
5049 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 277.756 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 322.568 null ] >>
endobj
5050 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 266.797 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 311.61 null ] >>
endobj
5051 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 255.839 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 300.651 null ] >>
endobj
5052 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 244.88 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 289.692 null ] >>
endobj
5053 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 233.921 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 249.918 null ] >>
endobj
5054 0 obj
-<< /D [ 5013 0 R /XYZ 81.077 222.962 null ] >>
-endobj
-5012 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 5013 0 R /XYZ 81.077 238.959 null ] >>
endobj
-5057 0 obj
-<< /Filter /FlateDecode /Length 2419 >>
-stream
-xڭZ]oܺ}ϯX>t ļ>(jhn[>4 k]i#io IQX\JQgΐNVwd˻^xXHY*V7wn$+
-³URtusXk}s..9]w,[?4v⒮Om=6]kjsC-> jknx,yn~&2")vz~zV"L4"!
-z([PnT#DJ2^]U=Cwtsm2O ™LL)Ls3Ih!l,!/B4Fe\|ô/!PMیM/jK|,R*㩳/':::>J ',bp+@uEeMZ0KQFhkԧc״ƮwqJ w^rCm5(g }~ḯ@Kis}n:fgwh:& "ssqsa]orwj?[7a4ڷ/r"ϋ(
-/ԮiR9/hzD
-ݑxA>ғɫȉJ&-XI>8ԔyѿMNe 5ɂ4wyQ+5@GL K7?%&eeL3vQ^)}q)_Z/%lu;u^z
-G^.iJpچ{՚[Pk9Z<Qk )/IH%q1a^' ՛C'ndP?4{gKJsCAV1q &Ff`c,%7-ڠNcRLwn->z:\ʩKhOz4]thӃo`s N_mE7NF]1Xy~o찏owij*i?a<(]IK9M]Q=@ľ~},۴c8Lq-@G'pdEF|ە[3gSeS~+%Igʅ;^M{{5r3V Rd~":1 *iΝo4jSAh&,nnژJ7w
-ГupFw3J|,%n @/H>+rIN K
-F^:riYt̥tE)
-Ҏ{eЙEAҏNs`I9>z+Ub|cm='l*0(@{Zu62r׀Ժtg=<Y^#En0AHE2uj:\쩃0Ë2!=)1 $c4Fj3fAiXӭI$xkk2U]~S XaN͑ǣ9aBit6(Շ4#M[|VDk&iN`" #Q_@>N=k}m{xt^) <vu4[bӌxl+7o'wv9 R-Y:#//b2ߝ˚LFїv޿7KӕHFҳݟ?߼?Й
-endstream
+5055 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 228 null ] >>
endobj
5056 0 obj
-<< /Type /Page /Contents 5057 0 R /Resources 5055 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+<< /D [ 5013 0 R /XYZ 81.077 217.041 null ] >>
+endobj
+5057 0 obj
+<< /D [ 5013 0 R /XYZ 81.077 206.082 null ] >>
endobj
5058 0 obj
-<< /D [ 5056 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 166.308 null ] >>
endobj
5059 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 754.884 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 155.349 null ] >>
endobj
5060 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 743.925 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 144.39 null ] >>
endobj
5061 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 732.966 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 133.431 null ] >>
endobj
5062 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 722.007 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 122.473 null ] >>
endobj
5063 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 711.048 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 111.514 null ] >>
endobj
5064 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 700.089 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 100.555 null ] >>
endobj
5065 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 689.131 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 89.596 null ] >>
endobj
5066 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 678.172 null ] >>
-endobj
-5067 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 667.213 null ] >>
+<< /D [ 5013 0 R /XYZ 81.077 78.637 null ] >>
endobj
-5068 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 656.254 null ] >>
+5012 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
5069 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 645.295 null ] >>
+<< /Filter /FlateDecode /Length 2005 >>
+stream
+xڭY[o6~0Ї9@.`ú %AP$9Q!K$ԅTt1>;G|‹^
+^}GE"I%_ܭ_/" $K,^=W׌eZo6I]s;)>'\ ʘ;{M.)C5>#vOv 8lǤ5t׺.}Q=[f[iљa+ȰKG &{3(33N`'1HʸQEDɥ\lo*f ť\LͫKB2$}ruQ]Ib3~)R$ 'pt)RqחpDpgB )B>K7O^k\_]JOIjė6̽{>LWHe*;洁G"r>r3ջE!aFI4vIF,tw`;m*ۦ˳<%j,"B y eTk$M1
+X䢕GTzu{nrөtW08(È}$
+1g.!?9>j>>ɊBNGR)ݓ!#l.M7kuYx*}fMPby}]e3F+ͻ8?2}XiCE#p.#*zsֶџd7(&kuSoJf9j˓3ra,Gc_ѧԱRG!<yR/;h
+OcSe_ܫJ[fT$'@?n)5 Eʐ;ɰ!t&4 pA=O\)rUΕhgI%!<+l>%- !Sѣ/lw8@d*zz_ݷzjH$UID0b)_dU2 ׭FC{6O 4 B2P7DP̝rMv'1_?c: V`؝mwy֧[\X4ɣ%&/,v?dpE>m9HfcFC'i^JyͼM
+}2p}H M/jZdvVݫV
+endstream
+endobj
+5068 0 obj
+<< /Type /Page /Contents 5069 0 R /Resources 5067 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4783 0 R >>
endobj
5070 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 634.336 null ] >>
+<< /D [ 5068 0 R /XYZ 78.37 808.885 null ] >>
endobj
5071 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 623.377 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 615.407 null ] >>
endobj
5072 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 612.418 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 604.448 null ] >>
endobj
5073 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 601.459 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 593.489 null ] >>
endobj
5074 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 590.5 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 582.53 null ] >>
endobj
5075 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 537.698 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 571.571 null ] >>
endobj
5076 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 526.74 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 560.613 null ] >>
endobj
5077 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 515.781 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 549.654 null ] >>
endobj
5078 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 504.822 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 538.695 null ] >>
endobj
5079 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 493.863 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 527.736 null ] >>
endobj
5080 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 482.904 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 516.777 null ] >>
endobj
5081 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 471.945 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 505.818 null ] >>
endobj
5082 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 460.986 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 494.859 null ] >>
endobj
5083 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 450.027 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 483.9 null ] >>
endobj
5084 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 439.068 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 472.941 null ] >>
endobj
5085 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 398.221 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 461.982 null ] >>
endobj
5086 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 387.263 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 451.023 null ] >>
endobj
5087 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 376.304 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 398.221 null ] >>
endobj
5088 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 365.345 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 387.263 null ] >>
endobj
5089 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 354.386 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 376.304 null ] >>
endobj
5090 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 343.427 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 365.345 null ] >>
endobj
5091 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 282.738 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 354.386 null ] >>
endobj
5092 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 271.779 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 343.427 null ] >>
endobj
5093 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 260.82 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 332.468 null ] >>
endobj
5094 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 249.861 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 321.509 null ] >>
endobj
5095 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 238.902 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 310.55 null ] >>
endobj
5096 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 227.943 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 299.591 null ] >>
endobj
5097 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 187.096 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 258.745 null ] >>
endobj
5098 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 176.137 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 247.786 null ] >>
endobj
5099 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 165.178 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 236.827 null ] >>
endobj
5100 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 154.22 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 225.868 null ] >>
endobj
5101 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 143.261 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 214.909 null ] >>
endobj
5102 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 102.414 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 203.95 null ] >>
endobj
5103 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 91.455 null ] >>
+<< /D [ 5068 0 R /XYZ 81.077 143.261 null ] >>
endobj
5104 0 obj
-<< /D [ 5056 0 R /XYZ 81.077 80.496 null ] >>
-endobj
-5055 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 5068 0 R /XYZ 81.077 132.302 null ] >>
endobj
-5107 0 obj
-<< /Filter /FlateDecode /Length 1587 >>
-stream
-xڵZ[OF~WXP0JUYRneyn;m{q2@ K||\\M'xwD?O~\\)pd4a4^;'$I% ’$E)T5=JD##%!p{S0OnҺ>;T>I9+ȻU0\_ yӵh'<#G ѽ<]YXv봹82۰fMլc6<{c ™X$=?.uwyU*~`VT#ceceWYݬeVs8bG#XG<FM%Rqs3Bs_\ eSg猱YX|9<Q' P{ہNuTUsF}Y Ų*ge7\嫛EQC:թg6 n!zk/0GTwKˮm8gխ#FdIEǒdeQg_ Ec(aU1uA#X*:&"'!hbF  Cb&Y]gUe;--
-9udzߖk{'kc-ɁD4j#״-zq X!ef5ID[,>x7חk(]fr.At#+joKi8P0MmW0Ct`tR  AXCtRz0$ڬcW)⃵_Ѝ\vF7P M~fK,{14wCBt\vw9ΨBZEP`b~C$2~N0Cc2gX,MS{>Z{} `S#.5 XWsk0w)BHPAiq Pu!]
-z
-![&-~ʘKDזi+D#4e8!a]Pt:^d-rDKtd ѻZ튥Yu]? ~_Ajo5]^}K$!\ڔ+BS z~eۥ) 1qIX~[pr9n/wtd[ԧOdk0=hCiݡ<21zlagL>VOXя@61WHOjd!z+Yݬ۱l=
-?p[ry[Du,G5V?qtmz?S
-endstream
+5105 0 obj
+<< /D [ 5068 0 R /XYZ 81.077 121.343 null ] >>
endobj
5106 0 obj
-<< /Type /Page /Contents 5107 0 R /Resources 5105 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+<< /D [ 5068 0 R /XYZ 81.077 110.384 null ] >>
endobj
-5108 0 obj
-<< /D [ 5106 0 R /XYZ 78.37 808.885 null ] >>
+5107 0 obj
+<< /D [ 5068 0 R /XYZ 81.077 99.425 null ] >>
endobj
-5109 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 768.832 null ] >>
+5108 0 obj
+<< /D [ 5068 0 R /XYZ 81.077 88.466 null ] >>
endobj
-5110 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 757.873 null ] >>
+5067 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F79 668 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
5111 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 746.914 null ] >>
+<< /Filter /FlateDecode /Length 1947 >>
+stream
+xڭZˎWFF|2 =@2E:T\VF,S|{.E=czSH*<{ϟp$(TrS3% ’̖_r͟(Ѯw,jmnLTE's-mNuّݦkvx4Ye[;`oJ[/ʴ%^^E.ouݶ~^\V#4bEiUfiiԍ(ol7WՇv3; e~6agלM0C6}?QWb$`1fŚ0:H Dbpΰ}Ao_e<`nLXLyoN%{ͫE0Q!Q06T|I]V%-${aj0:SWmo߲^T˯'AEn/"{0GLqdqX螊 ~UʴmOٷOM}(?\170A={+jkօʣ&+.vm ^DAﲦ`sMĉ  =//b~;F%kyQ4xꩿE6kiUg@2AB#Az7ш}4146
+ A.^JQGM^ɭ*@g/X$w~z_<}̊T?8"Gn,Kxtwy &y`B[
+ 1x6T^裇y6٢zb6_pqaCĀl"i}b((=CŜq?ĨF2ï
+ bStD!
+qk%[0=lټ<p0&;@q,b(}N?dHxs*]RECC6y`w"?S 7O>>ڧ&7הI^1wtT15ulxUcRAI ϘDPkxw֮w嗇61Fe<Zl
+
+*v a?:ewK3}H4#&`E k],LSR49bA<!TC3\+"D):8Phd0qEȠ~C^뮆̿Iȓu4W- 
+k6 t9um]jb(uLW(],:8{5l/c1/a2O-3N=Ȉ!]1r!A}T|#\֑a<M4rh hD] ais
+VЀ"n<tp$D b yh81AznNl8be*)?ET9 q0)>E߭32HE\$ú:6'H`"*h=tC
+endstream
+endobj
+5110 0 obj
+<< /Type /Page /Contents 5111 0 R /Resources 5109 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4783 0 R >>
endobj
5112 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 5110 0 R /XYZ 78.37 808.885 null ] >>
endobj
5113 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 742.975 null ] >>
endobj
5114 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 732.017 null ] >>
endobj
5115 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 554.832 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 721.058 null ] >>
endobj
5116 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 543.873 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 710.099 null ] >>
endobj
5117 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 532.915 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 699.14 null ] >>
endobj
5118 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 521.956 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 658.386 null ] >>
endobj
5119 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 510.997 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 647.427 null ] >>
endobj
5120 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 500.038 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 636.468 null ] >>
endobj
5121 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 489.079 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 625.51 null ] >>
endobj
5122 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 478.12 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 614.551 null ] >>
endobj
5123 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 467.161 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 603.592 null ] >>
endobj
5124 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 456.202 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 592.633 null ] >>
endobj
5125 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 445.243 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 581.674 null ] >>
endobj
5126 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 434.284 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 570.715 null ] >>
endobj
5127 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 423.325 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 412.292 null ] >>
endobj
5128 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 412.367 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 401.333 null ] >>
endobj
5129 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 401.408 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 390.374 null ] >>
endobj
5130 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 390.449 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 379.415 null ] >>
endobj
5131 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 379.49 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 368.457 null ] >>
endobj
5132 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 368.531 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 357.498 null ] >>
endobj
5133 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 357.572 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 346.539 null ] >>
endobj
5134 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 346.613 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 335.58 null ] >>
endobj
5135 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 335.654 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 324.621 null ] >>
endobj
5136 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 324.695 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 313.662 null ] >>
endobj
5137 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 313.736 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 302.703 null ] >>
endobj
5138 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 302.778 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 291.744 null ] >>
endobj
5139 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 291.819 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 280.785 null ] >>
endobj
5140 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 280.86 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 269.826 null ] >>
endobj
5141 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 264.938 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 258.867 null ] >>
endobj
5142 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 253.979 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 247.909 null ] >>
endobj
5143 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 243.021 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 236.95 null ] >>
endobj
5144 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 232.062 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 225.991 null ] >>
endobj
5145 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 221.103 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 215.032 null ] >>
endobj
5146 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 210.144 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 204.073 null ] >>
endobj
5147 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 199.185 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 193.114 null ] >>
endobj
5148 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 188.226 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 182.155 null ] >>
endobj
5149 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 171.196 null ] >>
endobj
5150 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 160.237 null ] >>
endobj
5151 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 149.278 null ] >>
endobj
5152 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 138.32 null ] >>
endobj
5153 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 122.473 null ] >>
endobj
5154 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 111.514 null ] >>
endobj
5155 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 100.555 null ] >>
endobj
5156 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 89.596 null ] >>
endobj
5157 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 5110 0 R /XYZ 81.077 78.637 null ] >>
endobj
-5158 0 obj
-<< /D [ 5106 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-5105 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+5109 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-5161 0 obj
-<< /Filter /FlateDecode /Length 1928 >>
+5160 0 obj
+<< /Filter /FlateDecode /Length 1866 >>
stream
-xڵZKo8W苳aO deg!(6mkF<I6E:ɏU,ͶhU4>_r :͖+
-%(bEIlg.D˝ҳhx)DBWric⾼LvmEz{>y<+RHI1d|_вaTp';9OLIn9jm(њD8My!o(;Γtkvs!R)t8|OwF2zJwSKc룅姩<:ǝɷ;&ߦY]g0vJK£ح;@CNB;u4^v8LFC.E
-O4Nqꑗ6m9@l-,4n*`m_j+}ؕD(pG_jJv@SToR7vZIq,)KAeٔ_}DZ1W^Ѻt>Āi`hÒ8Np"@r*C Cnr2YU5ZwrM>/^\p
-,=vw6L=:mf"mg09B>/eQJxI&|_kyhPTgHFbdSTㆭ!!8ߗˏ@!b
-%gph*
-fIQ9@Gŋᇳ
+xڽZ[o6~ϯ0gkX^%@`Z`y2bӶ6[r%mВ(IW$݋%S\$:YOD;}ͻTL$1 >.t6 IX:IFh&䏩sͻL41I"tf"&ɊUfM;[̻y'QIFB1Jq5ݯWuwi6߲\_g4lCcg7c6EYE
+k#ԫWIssM~n}Jatv: W\l- K c&I [,ӄ$V)ne!_YY$FAS/ CmzvZ[<9,w^-DH(EˬoYEA_=Uͩ
+o>ULe $#hCPnCQ2VhER$ ETo97.@#c%HS8BϽmREG+d6<tM[ZhZ~/mbi`}1b^DKOFv;DIAIFkEh@߆{58ҏ=3I1" )Phg1eİ'몵.g72Ы-WEQ +/@"hf#NT}*JQ!OVf?nn-)D[FzN=D
+Mk[E ڃ({UM vܳ{Z۪ͻgؕ$ͻdE9FhK>KVTb #Q\Jg/oK12^ 82C)B%%Ero0iץQb j#w2"}%OK)EX)%Q/
+ u#4~nK .hLs>rZ}CpC(Dp&b4u|
+Q/4%E&E>$F',\q5WʭoOzڞq3c0:?w* +I;f&.E@8
+")r)W+6\k˥Ӷ"]TCc^;[^t6='Euy`mjun7Av;/&=lmW!;YT$=CMsK()
++q- ݓv-sG}[TeC{.\RSL*Ju9}Y͘
+n'#t|a`pۺ_I*'3J%8.cu9j(uf
endstream
endobj
-5160 0 obj
-<< /Type /Page /Contents 5161 0 R /Resources 5159 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+5159 0 obj
+<< /Type /Page /Contents 5160 0 R /Resources 5158 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4783 0 R >>
+endobj
+5161 0 obj
+<< /D [ 5159 0 R /XYZ 78.37 808.885 null ] >>
endobj
5162 0 obj
-<< /D [ 5160 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 768.832 null ] >>
endobj
5163 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 757.873 null ] >>
endobj
5164 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 746.914 null ] >>
endobj
5165 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 735.955 null ] >>
endobj
5166 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 724.996 null ] >>
endobj
5167 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 714.037 null ] >>
endobj
5168 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 703.078 null ] >>
endobj
5169 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 692.119 null ] >>
endobj
5170 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 681.16 null ] >>
endobj
5171 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 670.202 null ] >>
endobj
5172 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 659.243 null ] >>
endobj
5173 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 654.261 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 648.284 null ] >>
endobj
5174 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 643.302 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 637.325 null ] >>
endobj
5175 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 632.344 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 626.366 null ] >>
endobj
5176 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 621.385 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 615.407 null ] >>
endobj
5177 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 610.426 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 604.448 null ] >>
endobj
5178 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 599.467 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 593.489 null ] >>
endobj
5179 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 588.508 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 582.53 null ] >>
endobj
5180 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 577.549 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 571.571 null ] >>
endobj
5181 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 566.59 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 560.613 null ] >>
endobj
5182 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 555.631 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 549.654 null ] >>
endobj
5183 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 544.672 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 538.695 null ] >>
endobj
5184 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 533.713 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 527.736 null ] >>
endobj
5185 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 522.754 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 512.142 null ] >>
endobj
5186 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 511.796 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 501.183 null ] >>
endobj
5187 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 500.837 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 490.224 null ] >>
endobj
5188 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 489.878 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 479.265 null ] >>
endobj
5189 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 478.919 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 468.306 null ] >>
endobj
5190 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 467.96 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 457.347 null ] >>
endobj
5191 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 457.001 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 446.389 null ] >>
endobj
5192 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 446.042 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 435.43 null ] >>
endobj
5193 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 435.083 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 424.471 null ] >>
endobj
5194 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 424.124 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 413.512 null ] >>
endobj
5195 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 381.285 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 402.553 null ] >>
endobj
5196 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 370.326 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 391.594 null ] >>
endobj
5197 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 359.367 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 380.635 null ] >>
endobj
5198 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 348.408 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 369.676 null ] >>
endobj
5199 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 337.449 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 358.717 null ] >>
endobj
5200 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 326.49 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 347.758 null ] >>
endobj
5201 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 285.644 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 336.8 null ] >>
endobj
5202 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 274.685 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 325.841 null ] >>
endobj
5203 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 263.726 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 314.882 null ] >>
endobj
5204 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 252.767 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 303.923 null ] >>
endobj
5205 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 241.808 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 292.964 null ] >>
endobj
5206 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 230.849 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 282.005 null ] >>
endobj
5207 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 219.89 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 239.685 null ] >>
endobj
5208 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 208.931 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 228.726 null ] >>
endobj
5209 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 197.972 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 217.767 null ] >>
endobj
5210 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 187.014 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 206.809 null ] >>
endobj
5211 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 176.055 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 195.85 null ] >>
endobj
5212 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 165.096 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 184.891 null ] >>
endobj
5213 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 154.137 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 144.39 null ] >>
endobj
5214 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 143.178 null ] >>
+<< /D [ 5159 0 R /XYZ 81.077 133.431 null ] >>
endobj
5215 0 obj
-<< /D [ 5160 0 R /XYZ 81.077 132.219 null ] >>
-endobj
-5159 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 5159 0 R /XYZ 81.077 122.473 null ] >>
endobj
-5218 0 obj
-<< /Filter /FlateDecode /Length 1875 >>
-stream
-xZMo6ϯF)bP`r
-r"<t)JT=)^BK#>/O^?޿{J#-;xEV JI$)R|L0GTф2!-+2?f߻L4]J&@y>uE([J(@EtaR !h5Ʉ"TBtH%T[r%"/2 Q1JRS10և, U뗢z4!S늺ֶY_|o=x^Xd}ݵ,HlHe؊#FD"i\P=Ӓԫ, D&!޵iM.oa}/(0u,_}h,AD2Q&T/ؙeh -*LeW}VGeQ 774YΆ[zюo}ƫk$kC[b:D'K4۪8]nV6 [e;fơ>mY.o8gC c.Cͧ'GgPOpt.+Tà^QwQeNZ0z `7:`|/sKͮ$MzOсLa,=)GjIY_D'`hSqhC RvZ_~yk2(׸f<@V
-Nm{ˈ?MI5eʈDZ~-1oH Sbl͒P )GPA$Hę0SUcVX6TEȪ9YCaЭY s
-0siN Z}h<Ji::-P(^DO
-L>){I>B/к*_71c9I kN"vr*sH~., H$ě޾t ?n=MQ]9n/T؇n`<m3_<%a eH2waC-E=707oeϙ\ "uOzp
-+w掫_ٌ6fߦd;ͬ@kSw%oȚ"52d
-|{U7=!(vRq'S4JEa>+ 4
-endstream
+5216 0 obj
+<< /D [ 5159 0 R /XYZ 81.077 111.514 null ] >>
endobj
5217 0 obj
-<< /Type /Page /Contents 5218 0 R /Resources 5216 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4785 0 R >>
+<< /D [ 5159 0 R /XYZ 81.077 100.555 null ] >>
endobj
-5219 0 obj
-<< /D [ 5217 0 R /XYZ 78.37 808.885 null ] >>
+5218 0 obj
+<< /D [ 5159 0 R /XYZ 81.077 89.596 null ] >>
endobj
-5220 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 656.924 null ] >>
+5219 0 obj
+<< /D [ 5159 0 R /XYZ 81.077 78.637 null ] >>
endobj
-5221 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 645.965 null ] >>
+5158 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
5222 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 617.33 null ] >>
+<< /Filter /FlateDecode /Length 1725 >>
+stream
+xZMo6WFߤ Xh!=t AX,yey4ޡ%Ѣ6e%E> 3ȈNn'tvW}ťI"\t6hf&F3B5\o&Lb]:Xi-l̔%"!s ؊F[6VLȿӇ]KyQWRdtUvh.˲5߉)&G飝=ug8lyyprݻ>^yYuf-aVz>H&g?Ε'opG;~.Y$eſ9s4+ ڳ+h
+ЎmUqZ,DtN$ѤdFF[I%=mlƈ
+dLM,s !e)7O
+tF eg#zY/5Tj(Ja |iphG jgV=RD*:%06.}e?f?d@9@Lܴs)11aOVY? 7Vjeq[GQɢͅܢ e ګ(nB88,ض]GӖ|YT G74·<]YqhŚ 4ܟA)3mBz_Wɛ P+L1,\n `NZeeQM:4>
+]n]gs]։\tǕ"JoDC8uN@xA"[zW}4>A"[˛>*w`>@cDDt~"Ad[Kf8RlpNs>,J]eiRӾi!@QoB/Z,XU3/ZrL>%]3͈`Ön-f\O˳]K<y#('TnQd y_%Ѕ^㥉8@c]0Ke@lgUbYA"}r@:x!䃮/yH?08A{.:)v6REb$|1Ǐ0 CE|62=axD+ #P}| Kl_P<
+endstream
+endobj
+5221 0 obj
+<< /Type /Page /Contents 5222 0 R /Resources 5220 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4783 0 R >>
endobj
5223 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 588.695 null ] >>
+<< /D [ 5221 0 R /XYZ 78.37 808.885 null ] >>
endobj
5224 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 577.736 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 768.832 null ] >>
endobj
5225 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 566.777 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 757.873 null ] >>
endobj
5226 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 555.818 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 746.914 null ] >>
endobj
5227 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 527.183 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 735.955 null ] >>
endobj
5228 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 516.224 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 724.996 null ] >>
endobj
5229 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 505.265 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 714.037 null ] >>
endobj
5230 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 494.306 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 703.078 null ] >>
endobj
5231 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 483.347 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 692.119 null ] >>
endobj
5232 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 472.388 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 516.871 null ] >>
endobj
5233 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 461.429 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 505.912 null ] >>
endobj
5234 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 450.47 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 477.443 null ] >>
endobj
5235 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 439.512 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 448.975 null ] >>
endobj
5236 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 428.553 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 438.016 null ] >>
endobj
5237 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 417.594 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 427.057 null ] >>
endobj
5238 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 388.959 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 416.098 null ] >>
endobj
5239 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 378 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 387.629 null ] >>
endobj
5240 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 367.041 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 376.67 null ] >>
endobj
5241 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 356.082 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 365.711 null ] >>
endobj
5242 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 345.123 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 354.752 null ] >>
endobj
5243 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 334.164 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 343.794 null ] >>
endobj
5244 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 323.205 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 332.835 null ] >>
endobj
5245 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 294.57 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 321.876 null ] >>
endobj
5246 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 283.611 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 310.917 null ] >>
endobj
5247 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 272.652 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 299.958 null ] >>
endobj
5248 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 261.693 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 288.999 null ] >>
endobj
5249 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 250.734 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 278.04 null ] >>
endobj
5250 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 239.775 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 249.571 null ] >>
endobj
5251 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 228.816 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 238.613 null ] >>
endobj
5252 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 217.858 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 227.654 null ] >>
endobj
5253 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 216.695 null ] >>
endobj
5254 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 205.736 null ] >>
endobj
5255 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 194.777 null ] >>
endobj
5256 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 183.818 null ] >>
endobj
5257 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 155.349 null ] >>
endobj
5258 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 144.39 null ] >>
endobj
5259 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 133.431 null ] >>
endobj
5260 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 122.473 null ] >>
endobj
5261 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 111.514 null ] >>
endobj
5262 0 obj
-<< /D [ 5217 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 5221 0 R /XYZ 81.077 100.555 null ] >>
endobj
-5216 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 668 0 R /F20 186 0 R /F19 184 0 R /F73 189 0 R /F69 183 0 R /F26 662 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5265 0 obj
-<< /Filter /FlateDecode /Length 2035 >>
-stream
-xڽZMo8W $lK f&ܶ"ӱfd+ɝd߷(R4v'bg.Mb**q,~J'mF S^a,"OQEbxq_{xFVm*9iJs !zߒdyt4DnXL
-(GpV$[>]n(%'C6]݋m(AvvNvvξTsܷ]ɖjki /((KKR#PU(&<(޾EC@X@߶73[#r"6o'@^OޮoW7)>~,)A'N'Ey/S!N9"zA`9exqhr2TJr(u TJuvj_mSݺ5<Z ;ӌiN<Nq5]ݝyݳ߼37)b8u(_ 9<cq;=MNG)T8I>@ga.%
-(RaqAi`a UITLP{硓{[ٛ4jT/7huXP @m:i9\;&ڎqQ[.8(:c`
-[@bw:T~9Eu앳(
-g 2GRLֆO%)B|)'
-_W
-::B"Q1@Eb:^v]/j
-M]1&Cc/G)Ll<6?]7rM#Oy!a1{&e9lٺ87
- i2.
-9CNU_8tjKzH쫟}d˟h
-S FਸO" 2'D
-.I,*g .\G} pH
-l
-P[C==lG<=&o1 Ρku/ !4"\Jݕ0Y΅=a~|;Վ0^<xeG>ٽOAڕy)!q4h qFAU`pmBVuQE~-o\AG:NfV*SMpcFzy'K\GkM(#Ѫ@q=Vɢ
-N]*_P;["!yb =<]k
-endstream
+5263 0 obj
+<< /D [ 5221 0 R /XYZ 81.077 89.596 null ] >>
endobj
5264 0 obj
-<< /Type /Page /Contents 5265 0 R /Resources 5263 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+<< /D [ 5221 0 R /XYZ 81.077 78.637 null ] >>
endobj
-5266 0 obj
-<< /D [ 5264 0 R /XYZ 78.37 808.885 null ] >>
+5220 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R /F26 662 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
5267 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 768.832 null ] >>
+<< /Filter /FlateDecode /Length 2161 >>
+stream
+xڽZ[o~_a`_l .@bu
+CDJdoHѢMdƏƋ^/w~!zTxAFX ,֮h|Z]3Fq7l}ov/ onAT=Qgt1bX7ov%>ak{ET\9U4=0s7d=ڔMh&I$JD7[[O<WuTͮږ}h`([Џ>PW bK&ky;))R ¸8mܰD2p~0nonNGZFD2P2% %d0xmrDL&Nn¸LٗugַkAũÑ0Dy((Na_L}zcL6"g1'a0Ѷg[(ĴJ/vҾjER?hA):FѶl :qlmwfæl]7Kg㿟Ma8??EO}}cw⪈i)zgַq1E@]b94)ۉЮ:@lMK>P˟
+zMyknηM8#*/pr)%:ɮ AN޴#A(Q\QwFզWkPhD
+AOn_(@bD$
+pK$
+$/Q`PAN#/'$( ] Spv!O=/'ࠇN:ulR"ţ0P:ƨƀ!8A
+$8=bs}{s[
+:+ J Ơ!p% = WRLb ϋ 2EgwSR`mϋr((AN tBvnw.Rc3 oLD-2y=g; hZd-oUh;/
+$|T y%|۰R
+&m mcf:^Nѯ:~ҏTCHb!8 :][>o^vK~8V<.큋=gۉrEXn7+iP*BuOQ f/\,e@u_lvjNvרؙ;
+ٙ}y`s_@tum_YtlY9.Il'SyW`؇<bfS˲qeБ7.*IEbB#)Cds#-YnBӆK&Mh9ڽZg _v%7l8}
+~"JFO, #aY-AgO"Aݫ r :QnKԘ.oՈ,0KD^0 =Ƭw Ïu/U&Ɩ]Ir
+y2K$)<)t Mvvh*sgp! N;'M!<seB2&WT.?֌{u_<6??|Z ~Q'eG<x۝=+)% zQ=쯼k۶?Q]) 'gUvuݙY,|hc3?'ԫO\.]5`7l$P x=pLJzr1EL
+endstream
+endobj
+5266 0 obj
+<< /Type /Page /Contents 5267 0 R /Resources 5265 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5315 0 R >>
endobj
5268 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 5266 0 R /XYZ 78.37 808.885 null ] >>
endobj
5269 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 728.981 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 742.929 null ] >>
endobj
5270 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 718.022 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 731.97 null ] >>
endobj
5271 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 707.063 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 721.011 null ] >>
endobj
5272 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 696.104 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 710.052 null ] >>
endobj
5273 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 685.146 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 699.093 null ] >>
endobj
5274 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 674.187 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 688.134 null ] >>
endobj
5275 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 663.228 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 677.175 null ] >>
endobj
5276 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 652.269 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 666.217 null ] >>
endobj
5277 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 641.31 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 655.258 null ] >>
endobj
5278 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 630.351 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 644.299 null ] >>
endobj
5279 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 589.504 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 633.34 null ] >>
endobj
5280 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 578.545 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 622.381 null ] >>
endobj
5281 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 567.586 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 593.489 null ] >>
endobj
5282 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 556.627 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 582.53 null ] >>
endobj
5283 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 545.669 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 571.571 null ] >>
endobj
5284 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 534.71 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 560.613 null ] >>
endobj
5285 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 523.751 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 549.654 null ] >>
endobj
5286 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 512.792 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 538.695 null ] >>
endobj
5287 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 501.833 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 527.736 null ] >>
endobj
5288 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 490.874 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 516.777 null ] >>
endobj
5289 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 479.915 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 505.818 null ] >>
endobj
5290 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 468.956 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 494.859 null ] >>
endobj
5291 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 457.997 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 454.012 null ] >>
endobj
5292 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 447.038 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 443.053 null ] >>
endobj
5293 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 436.08 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 432.094 null ] >>
endobj
5294 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 425.121 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 421.136 null ] >>
endobj
5295 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 328.566 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 410.177 null ] >>
endobj
5296 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 317.607 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 399.218 null ] >>
endobj
5297 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 306.648 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 388.259 null ] >>
endobj
5298 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 295.689 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 377.3 null ] >>
endobj
5299 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 284.73 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 366.341 null ] >>
endobj
5300 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 273.771 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 355.382 null ] >>
endobj
5301 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 232.924 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 344.423 null ] >>
endobj
5302 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 221.966 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 333.464 null ] >>
endobj
5303 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 211.007 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 322.505 null ] >>
endobj
5304 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 200.048 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 311.547 null ] >>
endobj
5305 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 189.089 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 300.588 null ] >>
endobj
5306 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 178.13 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 289.629 null ] >>
endobj
5307 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 167.171 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 193.074 null ] >>
endobj
5308 0 obj
-<< /D [ 5264 0 R /XYZ 81.077 156.212 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 182.115 null ] >>
endobj
-5263 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+5309 0 obj
+<< /D [ 5266 0 R /XYZ 81.077 171.156 null ] >>
endobj
-5312 0 obj
-<< /Filter /FlateDecode /Length 2139 >>
-stream
-xڭZ[o6~_a`^n]A
-)I%_m? P -2Idq_g|߻yh)rW4O.f7<!N#"Hh[@b}
-O>*:k2LPN{DJ|H>4( LȒ@Ѐ.؂#FCx.$B Q'. mBEKKǛ HkZ?Omu7ۧZP1u(wci⟛VɄ3hN<cqcJHE4PlmQT61G\TILkS3.c0"t)18t*pmwSh7^*j64G OJ
-!Fdr$Eq)ߓ I![t;{tŶmEYv,t͡C]o~sМTwCnf>3OY9G+ϓ%I=B'K1$ <XGH*oNHc %0(vvlMha{LZoYL;5󖕦YZyc릅O?U2Чa*gK}u͈X>W4[~꾭WӬ7t}FO`δeUGAa_<h}.[7s7]ntrh@pV2< zS<
-j5u3Yp-
-endstream
+5310 0 obj
+<< /D [ 5266 0 R /XYZ 81.077 160.197 null ] >>
endobj
5311 0 obj
-<< /Type /Page /Contents 5312 0 R /Resources 5310 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+<< /D [ 5266 0 R /XYZ 81.077 149.238 null ] >>
+endobj
+5312 0 obj
+<< /D [ 5266 0 R /XYZ 81.077 138.279 null ] >>
endobj
5313 0 obj
-<< /D [ 5311 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 97.433 null ] >>
endobj
5314 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 691.01 null ] >>
+<< /D [ 5266 0 R /XYZ 81.077 86.474 null ] >>
endobj
-5315 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 680.051 null ] >>
+5265 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F76 318 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-5316 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 669.093 null ] >>
+5318 0 obj
+<< /Filter /FlateDecode /Length 2025 >>
+stream
+xڭZMoWi;~2P`PxoU.:ز֖$y`{)$&({fg^awE_~z،DFgw+̴DaIfws.)~72iHL84j?M, *_,.k>U6k;Z;:%Z`C3F۴X=,ɴoҎ}Uۀӽx&+f "Ӹц˖>nΞhVT#gcl
+Іզi^(?8!:~kDTJ?8onB9 If @cJS3 Ez{ȯ1jU5<QNy[d`Yc鴎׺nkOEMq[,>efK;7zu ,9d*josDlQm]EcV^J&@OMbur)
+Ɂ4)=;JJ"E}bh輇KI8cqs_#7ʲUjfaT<kZ/NHc`3u.sB i喉8QM&Nk
+vE_'h:M
+Z1w]v0vϩ E*o%Rllt2˄x98*
+0
+Ldo+6%'Qg9@GQUtJ7E#Sh:&=l"Yr6E;me)Čn0{%#}ʐT+ؘc#sp; [[Ծ6 1!g>qe/r-MlEF^S؃3BLiu@h/g㎃Q9QAkY/gm t-~1ÌhuH#<GDb&E$@㞙$HChMN.ZHĸ1'雯%4r({B(py]Rv /}Nӵl)wApUyѓĥ ~ OP&wR}V
+u<::"Qm(?2ѮؘrݖSMʷm:P_i3(i</QPV^V)S((Wqvϱb;CDGJyp·o`g2J&Qg)@SYB Icn1OV̝ ZW`#&UC2a1@ʼ颥v:j/+'}h⫎{2ޏl*󯩗HXO
+?Hx
+ap!F(I-HO8ęy2ٞG}!m ~Ιߠ9 9%1!WB~ !d1ԙgE{q$w*]l~PQKے ћaGo|)[ \t :AP5p I/`P`_ |
+endstream
endobj
5317 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 658.134 null ] >>
-endobj
-5318 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 647.175 null ] >>
+<< /Type /Page /Contents 5318 0 R /Resources 5316 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5315 0 R >>
endobj
5319 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 636.216 null ] >>
+<< /D [ 5317 0 R /XYZ 78.37 808.885 null ] >>
endobj
5320 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 625.257 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 768.832 null ] >>
endobj
5321 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 614.298 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 757.873 null ] >>
endobj
5322 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 603.339 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 746.914 null ] >>
endobj
5323 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 592.38 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 735.955 null ] >>
endobj
5324 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 581.421 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 724.996 null ] >>
endobj
5325 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 570.462 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 714.037 null ] >>
endobj
5326 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 559.504 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 550.245 null ] >>
endobj
5327 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 548.545 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 539.286 null ] >>
endobj
5328 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 505.97 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 528.327 null ] >>
endobj
5329 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 495.011 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 517.368 null ] >>
endobj
5330 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 484.052 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 506.409 null ] >>
endobj
5331 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 455.338 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 495.45 null ] >>
endobj
5332 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 402.712 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 484.491 null ] >>
endobj
5333 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 391.753 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 473.533 null ] >>
endobj
5334 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 380.794 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 462.574 null ] >>
endobj
5335 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 369.836 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 451.615 null ] >>
endobj
5336 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 358.877 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 440.656 null ] >>
endobj
5337 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 347.918 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 429.697 null ] >>
endobj
5338 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 307.248 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 418.738 null ] >>
endobj
5339 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 296.289 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 407.779 null ] >>
endobj
5340 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 285.33 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 365.147 null ] >>
endobj
5341 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 274.371 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 354.188 null ] >>
endobj
5342 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 263.412 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 343.229 null ] >>
endobj
5343 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 252.453 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 314.475 null ] >>
endobj
5344 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 241.494 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 261.811 null ] >>
endobj
5345 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 230.535 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 250.853 null ] >>
endobj
5346 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 219.576 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 239.894 null ] >>
endobj
5347 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 208.617 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 228.935 null ] >>
endobj
5348 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 197.659 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 217.976 null ] >>
endobj
5349 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 207.017 null ] >>
endobj
5350 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 166.308 null ] >>
endobj
5351 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 155.349 null ] >>
endobj
5352 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 144.39 null ] >>
endobj
5353 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 133.431 null ] >>
endobj
5354 0 obj
-<< /D [ 5311 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 5317 0 R /XYZ 81.077 122.473 null ] >>
endobj
-5310 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 668 0 R /F20 186 0 R /F19 184 0 R /F73 189 0 R /F69 183 0 R /F23 660 0 R /F27 4533 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5357 0 obj
-<< /Filter /FlateDecode /Length 1544 >>
-stream
-xڭYˎ6Wn3& 
-4E tV5eY2$97HWMWIIE,vn^vfULj{Ca љVDV_CeU!+uZ}RlچSh3YIK7=̹>VUZM7>dUYwsV'k2YgvIX)&}{x~s>ߖUs,&O ]/gM?ScSg6վx
-tqSK|4ڊ`ac/zcQViAAJ`5t#g<$Ti]='!ʸ( N>T=Jmq[@ b]-Qz"A1RD+Z @_(qT.c eNy
-U󙢻k?WB@j5.@A' BlF[h
-endstream
+5355 0 obj
+<< /D [ 5317 0 R /XYZ 81.077 111.514 null ] >>
endobj
5356 0 obj
-<< /Type /Page /Contents 5357 0 R /Resources 5355 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+<< /D [ 5317 0 R /XYZ 81.077 100.555 null ] >>
endobj
-5358 0 obj
-<< /D [ 5356 0 R /XYZ 78.37 808.885 null ] >>
+5357 0 obj
+<< /D [ 5317 0 R /XYZ 81.077 89.596 null ] >>
endobj
-5359 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 742.929 null ] >>
+5358 0 obj
+<< /D [ 5317 0 R /XYZ 81.077 78.637 null ] >>
endobj
-5360 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 731.97 null ] >>
+5316 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R /F23 660 0 R /F27 4545 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
5361 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 721.011 null ] >>
+<< /Filter /FlateDecode /Length 1792 >>
+stream
+xڭZ]۶}_a/^ ˈߤAhipSZ%Cq~Enb:}Yɒp8sfHo.o7tEn~yy^CZaJ _xX.(x[w׷>z^BZB01gggd-l3xhNM5Œz2lrmb66؍0eeW<u՘U2,!sqQ@Eh燷^hBԈʅ
+Q/~/vIK<RVŶmwl]-a˾؝>[U->mM,Pyʊ;;=(0gfNn{ؙZ 9@g
+'_~ȇ6bOSc}i F\&dB)MY"޹k.#ѣifw?:L!A皩VN%r[
+P+9ЧTMOCgvP>o75bFx;u+k(6jǪ=IBr7V A3oX~5'khtas}:fI5x ,:}]?+zCF2~p߼ \BxOx8ݴpEFoNJ}IW#]nw_a^{[F%>(vœsS0,-C q
+VMrGj.5'4yKbC\3$I-ͱ{3kuSSq|r^)yP}4m:f~8s sp=_uC߾/%YڄCTyácԥ$#yZ…9LS&a6oݤH*:ymQ/R&c8E.Y*7wH*xklF
+oںnmX±z*#Ѧfu;iX.,ODڿℌ[<l@QݐDSDK>'W*)bZs2czl:O1N(BOMf(D+WW&BTҗ "Pc*"x䞋(ΥX#E{lьB+<g:yD4A
+UeIm]bWyJ&0U)[Xvӽ}HRcRV!yE8ҧ4vx/T,mBtr[L)f;Dr6)>t./5lV񖣇=,gv؄H A|ISxbx2!:=+30TZ8+OI
+VVh|kO3Ǖ
+ṵҗSsĹbo u6q tQWbYuC%>>^c iwdoF
+endstream
+endobj
+5360 0 obj
+<< /Type /Page /Contents 5361 0 R /Resources 5359 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5315 0 R >>
endobj
5362 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 710.052 null ] >>
+<< /D [ 5360 0 R /XYZ 78.37 808.885 null ] >>
endobj
5363 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 699.093 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 768.832 null ] >>
endobj
5364 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 688.134 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 757.873 null ] >>
endobj
5365 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 677.175 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 746.914 null ] >>
endobj
5366 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 666.217 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 735.955 null ] >>
endobj
5367 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 500.837 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 724.996 null ] >>
endobj
5368 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 489.878 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 660.239 null ] >>
endobj
5369 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 478.919 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 649.28 null ] >>
endobj
5370 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 467.96 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 638.321 null ] >>
endobj
5371 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 457.001 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 627.362 null ] >>
endobj
5372 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 446.042 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 616.403 null ] >>
endobj
5373 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 435.083 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 605.444 null ] >>
endobj
5374 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 424.124 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 564.598 null ] >>
endobj
5375 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 413.165 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 553.639 null ] >>
endobj
5376 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 402.207 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 542.68 null ] >>
endobj
5377 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 391.248 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 531.721 null ] >>
endobj
5378 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 380.289 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 520.762 null ] >>
endobj
5379 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 369.33 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 509.803 null ] >>
endobj
5380 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 358.371 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 498.844 null ] >>
endobj
5381 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 347.412 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 487.885 null ] >>
endobj
5382 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 336.453 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 322.505 null ] >>
endobj
5383 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 325.494 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 311.547 null ] >>
endobj
5384 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 314.535 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 300.588 null ] >>
endobj
5385 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 303.576 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 289.629 null ] >>
endobj
5386 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 292.618 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 278.67 null ] >>
endobj
5387 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 281.659 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 267.711 null ] >>
endobj
5388 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 270.7 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 256.752 null ] >>
endobj
5389 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 259.741 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 245.793 null ] >>
endobj
5390 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 248.782 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 234.834 null ] >>
endobj
5391 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 237.823 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 223.875 null ] >>
endobj
5392 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 226.864 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 212.916 null ] >>
endobj
5393 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 215.905 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 201.957 null ] >>
endobj
5394 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 204.946 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 190.999 null ] >>
endobj
5395 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 193.987 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 180.04 null ] >>
endobj
5396 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 183.028 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 169.081 null ] >>
endobj
5397 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 172.07 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 158.122 null ] >>
endobj
5398 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 161.111 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 147.163 null ] >>
endobj
5399 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 150.152 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 136.204 null ] >>
endobj
5400 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 139.193 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 125.245 null ] >>
endobj
5401 0 obj
-<< /D [ 5356 0 R /XYZ 81.077 128.234 null ] >>
+<< /D [ 5360 0 R /XYZ 81.077 114.286 null ] >>
endobj
-73 0 obj
-<< /D [ 5356 0 R /XYZ 79.37 102.779 null ] >>
+5402 0 obj
+<< /D [ 5360 0 R /XYZ 81.077 103.327 null ] >>
endobj
-5355 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+5403 0 obj
+<< /D [ 5360 0 R /XYZ 81.077 92.368 null ] >>
endobj
5404 0 obj
-<< /Filter /FlateDecode /Length 1945 >>
-stream
-xڭYn6+ tQH8|
-4EE.:ز#,L&ȿRt&RHuν4gx{t{ZqAg3xFfR#&g2QK2uoIA}~~gv΋iݢ-Lո˲?Z1m/{YTG>}G?48F SFk532LzJl6Yx_ XORcj)_@)ARͽٕK'k`fӕd 2 "v2urjht~9l]Y5WRle(|}Vw:r6Wj˙P*Ro, }4,I¢|IhL&+M&@dN&%5z*
-QKi<m˱¶hZ-zk%zLp&AAAMol$,\c$8I
-Q`m-|ذKT|Ր$Jȸϣ=
-?:֏1:Zp
-$@\HwM5_q3I#iHբ6Ş冷n/wu]rr_d;8HQ(
-FH-d2
-?~uɖ:st )8~hxJ84J*@w0VbY8G
- 3)=2}
-`L43B?<]߇'xO/}E4$jc4CKx&SRtH~EZIPbĠH؟eY
-endstream
+<< /D [ 5360 0 R /XYZ 81.077 81.41 null ] >>
endobj
-5403 0 obj
-<< /Type /Page /Contents 5404 0 R /Resources 5402 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+5359 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-5405 0 obj
-<< /D [ 5403 0 R /XYZ 78.37 808.885 null ] >>
+5407 0 obj
+<< /Filter /FlateDecode /Length 1685 >>
+stream
+xڭYMo6Wvp%R4P`Q)CNzbˉPYr%ylGDɊ޽D2!Լ!gw3<(o_W%qbl ,H9 ,l=??]_H !p(~1_;ˆ`Ʀacc3gnl6m(FL>a|uۧu,oUD.1dE&IP%7Z'_T΃ƈ̓O:1$QicK1lvyS)tm^YQ!E1Fsꣃ#Tnl9ml%FA(2os.L?9b\9^q!h\j0H_
+
+"D=M*N RglNap@2pzߢ@)AR*:vqE%uh`04%Vnae]nLRs>5ߧ!䏦$|;rAmwrXEPaY@;}%o, 1t^ !A\2O!xS
+a(24ӈ0Gger[UE!؀Bg>1qDXDK"m6&Hܝ}]$zyرov$/<tyw{%!XGtv6& *]0 &HeoCU!RXgE9-[Hǖfɶiф0xo)c7Dkvz'E)jP>TI@Rd =s"ɷI__܌ONXn'MTdI[ EӂH덭֔S֔ҰY ю1Zg pR) sz.NYZBEt{ø Cn8"I2 eѥ ~kV
+ &N-i+gj޸u޹zh<8vkM;JtTH=(g<c <)upd=
+P-۱zhKg ((VU[,a
+J-m|kHǾH׶v7)PN&ʥ=>]nаt={.Y_32OiRlU0=A. 1$yj<p]U}~:%4 ۀC&\`
+Sw*,
+sܧPϷSPu []dp~_LBa9޼.ii* ?:՛\bd~嶧<B{lL{N2p:11ڧ:wbhf+DڏWEKvtj:qn̮ھO>&hCT '.L^rXq/G.7ur?pu0 IC7g҈$tKdԋ !8_Z eaCTU5CAb1ROF.UC,
+endstream
endobj
5406 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 575.085 null ] >>
-endobj
-5407 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 564.127 null ] >>
+<< /Type /Page /Contents 5407 0 R /Resources 5405 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5315 0 R >>
endobj
5408 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 553.168 null ] >>
+<< /D [ 5406 0 R /XYZ 78.37 808.885 null ] >>
endobj
5409 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 542.209 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 768.832 null ] >>
endobj
5410 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 531.25 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 757.873 null ] >>
endobj
5411 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 520.291 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 746.914 null ] >>
endobj
5412 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 509.332 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 735.955 null ] >>
endobj
5413 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 498.373 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 724.996 null ] >>
endobj
5414 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 487.414 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 714.037 null ] >>
endobj
5415 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 476.455 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 703.078 null ] >>
endobj
5416 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 427.884 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 692.119 null ] >>
endobj
5417 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 416.925 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 681.16 null ] >>
endobj
5418 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 405.966 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 670.202 null ] >>
endobj
5419 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 395.007 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 659.243 null ] >>
endobj
5420 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 384.048 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 648.284 null ] >>
endobj
5421 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 373.089 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 637.325 null ] >>
endobj
5422 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 317.446 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 626.366 null ] >>
endobj
5423 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 306.487 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+73 0 obj
+<< /D [ 5406 0 R /XYZ 79.37 589.953 null ] >>
endobj
5424 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 295.528 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 360.519 null ] >>
endobj
5425 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 284.569 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 349.56 null ] >>
endobj
5426 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 273.61 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 338.601 null ] >>
endobj
5427 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 262.651 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 327.642 null ] >>
endobj
5428 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 251.692 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 316.683 null ] >>
endobj
5429 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 240.733 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 305.724 null ] >>
endobj
5430 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 229.775 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 294.766 null ] >>
endobj
5431 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 283.807 null ] >>
endobj
5432 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 272.848 null ] >>
endobj
5433 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 261.889 null ] >>
endobj
5434 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 213.072 null ] >>
endobj
5435 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 202.113 null ] >>
endobj
5436 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 191.154 null ] >>
endobj
5437 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 180.195 null ] >>
endobj
5438 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 169.236 null ] >>
endobj
5439 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 158.277 null ] >>
endobj
5440 0 obj
-<< /D [ 5403 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 5406 0 R /XYZ 81.077 102.487 null ] >>
endobj
-5402 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R /F73 189 0 R /F69 183 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5443 0 obj
-<< /Filter /FlateDecode /Length 2492 >>
-stream
-xڵZ[۸~ϯ0
-4I] %$g2 "E6'<nx.<<i[/xE_|ke)atq}@# T"IBI$mc}z-E2)Y:{jT$/m73UN!0"z=xstY׺[0Zr _(*,M,C38OYtF˦)")y9LYMΓ`pDTJ/;=GbXyT 10;@ˆ2?'<LnYmzuqf[O&I]y]m,-W5<yN,9uW<<f>8sezME*2@'@ϋ%K Ƨ6}cժ7zhǒmCZq)>$
-$Bݫnݴ/m
-(O 8┆֚]~+kn 63LîLaX0PES?4&c. >^t17Dں 0]DĐKzzմy_iz|($FiUB@,̭0׃])O\G' 0SRyhbЀA]P5t}79QqX,s\4$H6 ˆ{8C,#)9K40}gå1Z|l+g64E;B%g
-X6pm]6L:MAc.~B7<ŏb$D,?1K՛iYߋ%CVg=*M?QNP!Q0@)3B~f!
-̚@Q$hs;+/4(/Mm/4ڤ=KqqfaМ?G6DUT(H;|8·;%}S|
-zP&V|z,*1袕sSܧG3:NMoncW Tz~]̒b<g3x9Yj}"ɫHGhF2$@B-oA05U:*۶uFֿp&qŠiMaT67:Ndcnp#<0};m;Xy199CbD6¶`Z{/ +5WX ,cnp:j"S~EC7j6E[cf-[q5z4x}O|>\2^9ez_7FU%]Svuw)q,cջXL
-{ dT b%(j>{,~snO|e\"=wFc粼&iJ'ō}Z(ůc%f9drUd7M[~n>.FW=
-&QS=@PGk`Q>[8=`vn'GU¡n
-o+{A]Pp|gJ|sQk"΢9zbEmy^8E~=2Π ;cqϴ gIWrEA%_Y0GˆGqG:^=,*U!DԛmpU9" Ē)Z(/Srͷ[]<eUsC1y_T!( H)Fsn"ho]88>Z)O֫
-p_l$P$vW]AOL'+sH7ܚ0&7y^Ǿe(H4ҭªrj{&l}q\پL+rdIۦiI[wn
-endstream
+5441 0 obj
+<< /D [ 5406 0 R /XYZ 81.077 91.528 null ] >>
endobj
5442 0 obj
-<< /Type /Page /Contents 5443 0 R /Resources 5441 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+<< /D [ 5406 0 R /XYZ 81.077 80.569 null ] >>
endobj
-5444 0 obj
-<< /D [ 5442 0 R /XYZ 78.37 808.885 null ] >>
+5405 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
5445 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 768.832 null ] >>
+<< /Filter /FlateDecode /Length 2357 >>
+stream
+xڵZ[o~ϯ0U GAg(YL!t]bb!I2HѢ8fX7~<~t]銸|u T)Y\ݜah/H`\fόIuB-
+i0g1}7LTiN*"M9 Y2C/&Yf4#ԙԩCHpBEBsBD:M%TN\ "$1R8[onuWz.?.wUՕme[]8 Z6u/ǖlf>j@"\ a/B:E<1McΉ^Q]w~8'"{j9zs7հx>Nuӻ_rzp '',!Ξ6:H~*ZP1۵<Z(Dq)#Ő_Ja9Cy<*}8.4!hjnʴַCݚKO@1C=Hѱӎ{k#EHAKp0\\pv򬍹[oT0YZ?tַu[va:+`<'FS~NM1L4$GFcu᧛VdJWW# crx@"/'KZU"trQAC!"MgZpeglPDeA#pH@؉"FZvO~kx!1remjH@Xf=uvf7%8*AҌ':bUOC@1:=E \HA ,@r](FhNܹ7X-yȼ 9ΑR!rty]UspdL3/Bif~~r$a$dG.(IN .R}}gB}B9 ʒͣP]Lʍa0??4ɆnT;oSZ{v4/rH*G+1Ktn8^qq3ZJ[2C/FB!Y|*=C֠J K<y*XTCwwZ^dnxS 8 uQ[a)bk.&P<K`/ q 1H~8nC$Tͫ0#xܷvviCFLbQ."bQ?L?t^
+ l'֏h7&H1ɵ
+2[/c=p&YNDZI}@@G:Bv;@Ay[%޻qbM $𸼩͊5zMv]HI;' 0B1Y6' [%s>Χq'#(CyZѣ2);'\XeZfO9#9GpZozw;+*ݸY,unF{=ol#ƋMTL x,"ӓQ[QrLC)g۲~0pK$ &"n@ͻ'ԔݭeEEtl;z*m^v^ 0ۦP50/=t_j[PV<Z)x7n* {ںvMo|f*aWޣC9{:W6 T{ t r<ٴLӳqȃB!RyqK
+endstream
+endobj
+5444 0 obj
+<< /Type /Page /Contents 5445 0 R /Resources 5443 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5315 0 R >>
endobj
5446 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 5444 0 R /XYZ 78.37 808.885 null ] >>
endobj
5447 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 768.832 null ] >>
endobj
5448 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 757.873 null ] >>
endobj
5449 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 746.914 null ] >>
endobj
5450 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 735.955 null ] >>
endobj
5451 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 724.996 null ] >>
endobj
5452 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 675.765 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 714.037 null ] >>
endobj
5453 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 664.806 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 661.235 null ] >>
endobj
5454 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 582.674 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 650.276 null ] >>
endobj
5455 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 571.716 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 639.317 null ] >>
endobj
5456 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 560.757 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 628.358 null ] >>
endobj
5457 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 549.798 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 617.4 null ] >>
endobj
5458 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 538.839 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 606.441 null ] >>
endobj
5459 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 527.88 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 595.482 null ] >>
endobj
5460 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 516.921 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 584.523 null ] >>
endobj
5461 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 505.962 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 573.564 null ] >>
endobj
5462 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 495.003 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 562.605 null ] >>
endobj
5463 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 484.044 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 551.646 null ] >>
endobj
5464 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 473.085 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 540.687 null ] >>
endobj
5465 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 462.127 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 529.728 null ] >>
endobj
5466 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 451.168 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 518.769 null ] >>
endobj
5467 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 387.431 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 507.811 null ] >>
endobj
5468 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 376.472 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 496.852 null ] >>
endobj
5469 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 365.513 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 485.893 null ] >>
endobj
5470 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 354.554 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 455.009 null ] >>
endobj
5471 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 343.595 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 444.05 null ] >>
endobj
5472 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 315.724 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 359.367 null ] >>
endobj
5473 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 304.765 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 348.408 null ] >>
endobj
5474 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 293.806 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 337.449 null ] >>
endobj
5475 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 282.847 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 326.49 null ] >>
endobj
5476 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 271.888 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 315.532 null ] >>
endobj
5477 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 260.929 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 304.573 null ] >>
endobj
5478 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 249.97 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 293.614 null ] >>
endobj
5479 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 239.011 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 282.655 null ] >>
endobj
5480 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 228.053 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 271.696 null ] >>
endobj
5481 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 217.094 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 260.737 null ] >>
endobj
5482 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 206.135 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 249.778 null ] >>
endobj
5483 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 195.176 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 238.819 null ] >>
endobj
5484 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 184.217 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 227.86 null ] >>
endobj
5485 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 173.258 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 163.103 null ] >>
endobj
5486 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 152.144 null ] >>
endobj
5487 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 141.185 null ] >>
endobj
5488 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 130.226 null ] >>
endobj
5489 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 119.268 null ] >>
endobj
5490 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 90.376 null ] >>
endobj
5491 0 obj
-<< /D [ 5442 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 5444 0 R /XYZ 81.077 79.417 null ] >>
endobj
-5441 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R /F76 318 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+5443 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
5494 0 obj
-<< /Filter /FlateDecode /Length 1926 >>
+<< /Filter /FlateDecode /Length 1989 >>
stream
-xZ[o~ϯpxi;mawjb-2<(d>%b$~<9Q͂.~(7t}.X_a0.hY5#T~k&sC5 C`F,Ƅ|苦z*vj{l?|*M?ͺź`ZW^vyE <ggRв%L _&SlE_ ^b?<B0#9q9Q2E rlylK<JmuSuTu pbˡƯidn&~Df7!Va^aVAF);2t+]5K}onJYWm$]r.MEG1MpY4'RCř%FW+Fd"x#Ϋ%Lc!Z#_ws-²8ebw^f![\Ix9"Dt+q_w_0 x5QyVl"93A6.A$ K'$?&~ԫ l N}VkRy Ѿ$#P}wW\~ g]faidC>۰t%@Go{5<(kK7^irB KF{5a :ޢ jXjEq87_H% g<Pu+ w
-Őpu G>F7RpmN4ט&(aNbt0
-BUU|.lҔ7$3AS.\BZsKDN(tC߃ )<9aL+*TMJRKZK{j-F&{~͏Ҁܺۑ @x {}Sv*
-]Durc91qw=7rvY#wI`Мr M/?~b`t'$% 15 Ye/PmfucqmW _uۜ,N*P=bt{cW5a;'ц@Jۂk܁WpJnM&&4"W/Q,kk6m,t7) Nx8O%_o_/6]{GKUHA|< v45nέ%& WQ9CZ뫗)C`6R/F3^G.a#5\kb0waa(&4 c1D)xZWva̘!4
-RC/,tN`x! աj9'=J0240CBgkٚ8:1NX0djB hPh3g>֡Οu| k2K ߓ W9waxdF"|<2%M Sȹ Pg}U{?'jݘ幚  %z玖~"eKrwsZm'%SDTw4!H&T>䪮k=bV5z]pHb5Ǥs7CݳoWv74YYWQ1cьߺr-u+Cٻ0qC9}ӼIΓv8 /cS} WqB޴C'X:-=GӸzn uh;a+R J# waϻS)?ji޾Q,rI)&;wΜ8B1\:]ʮZ5w*th_~H@>`tqф_AA rJMUS
-}#*o`:;; kB^fSd/o׍D
+xZ[6~_a0E@
+~D$ >z1xhY2J4#Tza,C's}0! K<Mۼ& \b(a{:ne.L
+/_'["?,Os>W\v6U_禊y]}50#FQk[5*pJRޫ.fյTe^7C&l~tV*J5Z{E.B4Zx\
+2a)n BX7~BSU*VH<bQVLRf_:o1; kO,@xYϟW0e_'FoMwyn9=6?0s$KYMX@vl,QA)щ'*mgJ5?DHM:yJCfZjUMx2~)ʅEǫ̷ӧ=7|=o{뽸wk0q`9
+A DQ@AUTgnOKԞ2{uеZy7ܪf̅e-CWvBYBñ)JoŦ ľ꽹1+cH2V]>Sd"T,IH"WL ' +Ӻg{pd>ZEy>VhU 5zDh/wy1XZYB-ɕ}+cD$BeNf#XM%UO|~Sk
++:0ԕRWMd60.D&4)DlNx_1Ь7YHrjBɍhH2j/E,P" '$pB}r;{m2Z):﫳76.n%[-3uQ8/ 7>8)tY@AA`?!mpO2!O&xM_ }(<xoT Õ^o$ Ч <6Z6!B |n@D KGr}2cy4N}KŽ/] gy0ԒD ap/pk=?MFnLq!BmX:Oo^{Ve9%G/WL q%BK\"#M>E~f Ay+} sBOЗ~mg0S=ǝFˆ?C:@!^m)BI8d[G[ei*O?guq<Y[Sg _8;dJ!z|tG7'i^æg2!xP
+\8%4[O ssێZsWfR4zn] \{YS7 Z._RuJN㭲?꘸:VӺz.gö7E1nOçC"6]0TFhthBX 4B;,`!7S(ʇ+rULW1Uy1f8Ҥϡ+{(7{\4=Gl-J8 #$Dڑ.VܭI\
+0t!#jryq=۴GUQN7҅_tǂxu CX[t#ƢN n. dssk`yuH$%vl`z
endstream
endobj
5493 0 obj
-<< /Type /Page /Contents 5494 0 R /Resources 5492 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+<< /Type /Page /Contents 5494 0 R /Resources 5492 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5315 0 R >>
endobj
5495 0 obj
<< /D [ 5493 0 R /XYZ 78.37 808.885 null ] >>
@@ -17537,1246 +17607,1230 @@ endobj
<< /D [ 5493 0 R /XYZ 81.077 648.284 null ] >>
endobj
5508 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 607.437 null ] >>
endobj
5509 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 596.478 null ] >>
endobj
5510 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 585.519 null ] >>
endobj
5511 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 574.56 null ] >>
endobj
5512 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 563.601 null ] >>
endobj
5513 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 552.642 null ] >>
endobj
5514 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 536.702 null ] >>
endobj
5515 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 525.743 null ] >>
endobj
5516 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 514.784 null ] >>
endobj
5517 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 503.825 null ] >>
endobj
5518 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 492.867 null ] >>
endobj
5519 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 481.908 null ] >>
endobj
5520 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 470.949 null ] >>
endobj
5521 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 459.99 null ] >>
endobj
5522 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 449.031 null ] >>
endobj
5523 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 472.941 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 438.072 null ] >>
endobj
5524 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 461.982 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 427.113 null ] >>
endobj
5525 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 451.023 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 416.154 null ] >>
endobj
5526 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 440.065 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 405.195 null ] >>
endobj
5527 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 424.311 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 394.236 null ] >>
endobj
5528 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 370.169 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 383.278 null ] >>
endobj
5529 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 359.21 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 372.319 null ] >>
endobj
5530 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 348.251 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 361.36 null ] >>
endobj
5531 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 307.591 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 350.401 null ] >>
endobj
5532 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 296.632 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 339.442 null ] >>
endobj
5533 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 285.673 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 328.483 null ] >>
endobj
5534 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 274.714 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 317.524 null ] >>
endobj
5535 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 263.756 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 306.565 null ] >>
endobj
5536 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 252.797 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 295.606 null ] >>
endobj
5537 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 241.838 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 284.647 null ] >>
endobj
5538 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 230.879 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 273.688 null ] >>
endobj
5539 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 219.92 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 262.73 null ] >>
endobj
5540 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 208.961 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 251.771 null ] >>
endobj
5541 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 198.002 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 240.812 null ] >>
endobj
5542 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 187.043 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 229.853 null ] >>
endobj
5543 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 176.084 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 218.894 null ] >>
endobj
5544 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 207.935 null ] >>
endobj
5545 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 191.995 null ] >>
endobj
5546 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 137.2 null ] >>
endobj
5547 0 obj
-<< /D [ 5493 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 5493 0 R /XYZ 81.077 126.241 null ] >>
+endobj
+5548 0 obj
+<< /D [ 5493 0 R /XYZ 81.077 115.283 null ] >>
endobj
5492 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F70 185 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-5550 0 obj
-<< /Filter /FlateDecode /Length 1631 >>
+5551 0 obj
+<< /Filter /FlateDecode /Length 1789 >>
stream
-xZnH+t&NOAq0sɷɀ-!@EquYV |$_WޫvnFg.+#f8].436hffF3B5]g&
->+f8) Ib+r[SbџwM}IjyNDHtHDDnLceuN ©(ܚLѱ'\J["BqH[*כ1\~ /ݻn)][vo;2­Y\S42ePv}wF.2Aܡh֖Hjw%ŞM^nmUˬYºmLˢt!R:;-?`5UύdDD>X fYۺڶn [g_2q):|ގs]gM!4uz^~LX6EO 3IJ[ x W SDwtL9Cs>_!jMrs=o2WCލ-Ǡ
-aSqMU;ɛaz!p~g;
-bwJ FnxOMpb=JpN'zMeUSf'LxIxhEO Ȇ'
-D8FtMCiAQ\S⠒o?MW5Y2CW1\S 52oIm)-GiB7JbGIRɛs ySE- B#5T7(@y- O}Lu7'u >Tjy|L'gM?n A5mR7ˢ|;<e>}/ ӣ{tWc#Ã^LCAFj*A۝̠띍Ap
-z'O9["X`*FhHPp?ѝM`y?-fR -n`;#O2EN)JQ4E}xܜ51`O3L!6*/=_Zp4 (}8oOCw5ΨE*)뾰7ϺӶ/5QKKݟC+>ap r/Dyl@Ƚ~‚G"pǓJ+ t;{
-<ę1_Ji
+xڽYKo6Whw&Xh-Мm%Vf`{D{m/L|3"dqHJߏG??|!5Eɂ."V$.7?p. Jq3S*EDX*;9[K&2!-SϟqGPGp ywrV}r*x '$g F0 WiW;Th&Td`c" hERA9LM$<A=LfD) Z ;Ja %݋Oė2.' ip~_:i"DS*-Y1"xp9G>k'֔9\,=
+r +Z6'+{8.,@s8*VLev7Y=*\ovs?)ie-ʬ+@.\f˖%qjr*zϩA?Td+^\H-om;%6++^m!B0aD!ԍ{eATe\n+ձ`vʰ^1͊7"[]~mY~G_f~ү9\iش~8J:w~W&drE,*w:*[{{~}{㉺laEStzw7=.貨ٍ%Ljaf.DˁH7pkido6u3͎.iC6L0Ӟtֵ3%}H%!+zC
+FA9}h"G?/CD$>EOJ`oK.YNyOQO47kvd{s4.4!TI;suSooӼZ t"PD"#rQeZfܧYYTh:C#4AdHx@0L4v퓊 l6wו>cE$(ԡv4-B#Y eUkRxHޛb.70L qq!Be3Hɞ']eӫ ՄO@O)LF`e3W:s
+N]z9D'-+\ Уh\tR35`P7MIok3c y28"s(jbM*ZCRMeq BZ*~JsNP(B<UdяN%o^es6=P%BҎd *@#xUڊ/ *g뾎!Gp/G*yN~J"I{s
+qQ5BB&!o:ߡQ0;5\"ר7ETZ|r3Bi;sU'hHfH uIp;jSAݲQSeGV)6`\R Ci|>?G<
endstream
endobj
-5549 0 obj
-<< /Type /Page /Contents 5550 0 R /Resources 5548 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
-endobj
-5551 0 obj
-<< /D [ 5549 0 R /XYZ 78.37 808.885 null ] >>
+5550 0 obj
+<< /Type /Page /Contents 5551 0 R /Resources 5549 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5315 0 R >>
endobj
5552 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 5550 0 R /XYZ 78.37 808.885 null ] >>
endobj
5553 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 768.832 null ] >>
endobj
5554 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 741.933 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 757.873 null ] >>
endobj
5555 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 730.974 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 746.914 null ] >>
endobj
5556 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 720.015 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 735.955 null ] >>
endobj
5557 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 709.056 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 724.996 null ] >>
endobj
5558 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 698.097 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 714.037 null ] >>
endobj
5559 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 687.138 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 703.078 null ] >>
endobj
5560 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 676.179 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 692.119 null ] >>
endobj
5561 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 665.22 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 681.16 null ] >>
endobj
5562 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 649.28 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 670.202 null ] >>
endobj
5563 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 633.34 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 659.243 null ] >>
endobj
5564 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 622.381 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 648.284 null ] >>
endobj
5565 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 591.497 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 637.325 null ] >>
endobj
5566 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 580.538 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 572.568 null ] >>
endobj
5567 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 569.579 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 561.609 null ] >>
endobj
5568 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 558.62 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 550.65 null ] >>
endobj
5569 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 547.661 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 539.691 null ] >>
endobj
5570 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 536.702 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 528.732 null ] >>
endobj
5571 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 525.743 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 517.773 null ] >>
endobj
5572 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 514.784 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 501.833 null ] >>
endobj
5573 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 503.825 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 490.874 null ] >>
endobj
5574 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 492.867 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 479.915 null ] >>
endobj
5575 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 446.042 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 468.956 null ] >>
endobj
5576 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 435.083 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 457.997 null ] >>
endobj
5577 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 424.124 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 447.038 null ] >>
endobj
5578 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 413.165 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 436.08 null ] >>
endobj
5579 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 402.207 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 425.121 null ] >>
endobj
5580 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 391.248 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 409.18 null ] >>
endobj
5581 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 380.289 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 393.24 null ] >>
endobj
5582 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 369.33 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 382.281 null ] >>
endobj
5583 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 358.371 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 351.397 null ] >>
endobj
5584 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 347.412 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 340.438 null ] >>
endobj
5585 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 304.573 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 329.479 null ] >>
endobj
5586 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 293.614 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 318.52 null ] >>
endobj
5587 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 282.655 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 307.561 null ] >>
endobj
5588 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 271.696 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 296.603 null ] >>
endobj
5589 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 260.737 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 285.644 null ] >>
endobj
5590 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 249.778 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 274.685 null ] >>
endobj
5591 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 238.819 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 263.726 null ] >>
endobj
5592 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 227.86 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 252.767 null ] >>
endobj
5593 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 216.901 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 205.943 null ] >>
endobj
5594 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 205.943 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 194.984 null ] >>
endobj
5595 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 194.984 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 184.025 null ] >>
endobj
5596 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 184.025 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 173.066 null ] >>
endobj
5597 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 173.066 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 162.107 null ] >>
endobj
5598 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 162.107 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 151.148 null ] >>
endobj
5599 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 151.148 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 140.189 null ] >>
endobj
5600 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 140.189 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 129.23 null ] >>
endobj
5601 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 129.23 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 118.271 null ] >>
endobj
5602 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 118.271 null ] >>
-endobj
-5603 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 107.312 null ] >>
+<< /D [ 5550 0 R /XYZ 81.077 107.312 null ] >>
endobj
-5604 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 96.354 null ] >>
-endobj
-5605 0 obj
-<< /D [ 5549 0 R /XYZ 81.077 85.395 null ] >>
-endobj
-5548 0 obj
+5549 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-5608 0 obj
-<< /Filter /FlateDecode /Length 1459 >>
+5605 0 obj
+<< /Filter /FlateDecode /Length 1689 >>
stream
-xZMo6WY@@{ʭ[-'BeɵAK9th/q`i7f&f_ǫN4Jήg?$f8,j5;}6<kO(8rgTnuQMVm۾;7lşզCὦVr6pB5F
-I4**
-RC .a AIC/]m2r[v/)5)fgB<c? *PPi
-h~l!A9<eX'Cɩ[zK p}x;Cc{6cO2^6~R?ֈQT/go˨Gy/TϚ)xǧj" XD<58qHOy3.P'Arf'3Hp􋉠yn95+)V$it<!hKN/fa#FAZ@ ]tuɪL
+xZK6Wh1cA&h9) M
+%W&.4xA.~f!e:t|{;&8͵\_0@'lbfb4#Tfr6BN;}PӢ͹Vk5/fN}U6Q7llf]pz9B|dB7o_yyV,v}$$F'+W' + gV+9/azn`a[$@:¨
+6#C;8$ht>@ 窃RX'T:$Ձ
+1$tzGю!AI8m<$ 
+ICf`' M )+[Eme{_&ǯh y;a-cx-_W}>CJ*TJc0e1L4 Af2:t N>+KAhYtHs"cqǣ[g{u]pQ@Dr6Ha79O:p1\h|"BaE zw;zCev9SH# Ͱ3e:wRp/͢ۺjn|t}Sjh.zQA;aj4Z+tD@LPPh؃7 ΍=Y@i5Z7D}U[TU'h|J& :nifmo@{Kj;I, }&9$'O\ĆB⸝D [6X86 v@bEIå.g(q&0,.%=ؗP_g2QnasG
+Ldv%iNOW]+ ss<F?]|Ʃ!L 8,FHiLPAQEì"O0ZC"brV1na.p|ܹb>;Ѽ5ݸcu'!D}p␠;w.lۇBU-z'B8Hh`| X$~ۼL Qž5;ZJлo hxr_^(1ԁ߅Pj0jH)AXÖ5+oKS Qr8?K=x 0",#hX2s-ACn/LjʊF'h7?ZqGȮ;v6!
endstream
endobj
+5604 0 obj
+<< /Type /Page /Contents 5605 0 R /Resources 5603 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5315 0 R >>
+endobj
+5606 0 obj
+<< /D [ 5604 0 R /XYZ 78.37 808.885 null ] >>
+endobj
5607 0 obj
-<< /Type /Page /Contents 5608 0 R /Resources 5606 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+<< /D [ 5604 0 R /XYZ 81.077 740.936 null ] >>
+endobj
+5608 0 obj
+<< /D [ 5604 0 R /XYZ 81.077 729.977 null ] >>
endobj
5609 0 obj
-<< /D [ 5607 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 719.019 null ] >>
endobj
5610 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 708.06 null ] >>
endobj
5611 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 697.101 null ] >>
endobj
5612 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 686.142 null ] >>
endobj
5613 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 675.183 null ] >>
endobj
5614 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 664.224 null ] >>
endobj
5615 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 653.265 null ] >>
endobj
5616 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 642.306 null ] >>
endobj
5617 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 631.347 null ] >>
endobj
5618 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 620.388 null ] >>
endobj
5619 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 609.429 null ] >>
endobj
5620 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 637.541 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 598.471 null ] >>
endobj
5621 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 626.582 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 587.512 null ] >>
endobj
5622 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 615.623 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 576.553 null ] >>
endobj
5623 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 604.664 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 565.594 null ] >>
endobj
5624 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 593.705 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 554.635 null ] >>
endobj
5625 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 582.747 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 543.676 null ] >>
endobj
5626 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 571.788 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 532.717 null ] >>
endobj
5627 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 560.829 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 521.758 null ] >>
endobj
5628 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 549.87 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 510.799 null ] >>
endobj
5629 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 538.911 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 499.84 null ] >>
endobj
5630 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 527.952 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 488.882 null ] >>
endobj
5631 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 516.993 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 477.923 null ] >>
endobj
5632 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 506.034 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 466.964 null ] >>
endobj
5633 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 495.075 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 456.005 null ] >>
endobj
5634 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 484.116 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 445.046 null ] >>
endobj
5635 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 473.157 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 434.087 null ] >>
endobj
5636 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 462.199 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 423.128 null ] >>
endobj
5637 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 451.24 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 412.169 null ] >>
endobj
5638 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 440.281 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 379.292 null ] >>
endobj
5639 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 429.322 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 368.334 null ] >>
endobj
5640 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 418.363 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 357.375 null ] >>
endobj
5641 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 407.404 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 346.416 null ] >>
endobj
5642 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 396.445 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 335.457 null ] >>
endobj
5643 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 385.486 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 324.498 null ] >>
endobj
5644 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 374.527 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 313.539 null ] >>
endobj
5645 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 363.568 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 302.58 null ] >>
endobj
5646 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 352.61 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 291.621 null ] >>
endobj
5647 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 341.651 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 280.662 null ] >>
endobj
5648 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 330.692 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 269.703 null ] >>
endobj
5649 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 319.733 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 258.745 null ] >>
endobj
5650 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 308.774 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 247.786 null ] >>
endobj
5651 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 297.815 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 236.827 null ] >>
endobj
5652 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 286.856 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 225.868 null ] >>
endobj
5653 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 275.897 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 214.909 null ] >>
endobj
5654 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 264.938 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 203.95 null ] >>
endobj
5655 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 253.979 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 192.991 null ] >>
endobj
5656 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 243.021 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 182.032 null ] >>
endobj
5657 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 232.062 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 171.073 null ] >>
endobj
5658 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 221.103 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 160.114 null ] >>
endobj
5659 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 210.144 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 149.155 null ] >>
endobj
5660 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 199.185 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 138.197 null ] >>
endobj
5661 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 188.226 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 127.238 null ] >>
endobj
5662 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 116.279 null ] >>
endobj
5663 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 105.32 null ] >>
endobj
5664 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 94.361 null ] >>
endobj
5665 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-5666 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 5604 0 R /XYZ 81.077 83.402 null ] >>
endobj
-5667 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 122.473 null ] >>
+5603 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
5668 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 111.514 null ] >>
+<< /Filter /FlateDecode /Length 2049 >>
+stream
+xZKoFW 6~䔾^B),I1ΒjWV$XǷqfYtt7(??_}}#IeoDGld5̌fj6^K'\ok7i-l f0E顑S%`[g#2~Vww~H8¤$Q^ۦ}Z;{7<fZ͓[¬ <g~)1?
+4.bWm :6ٖpҊ"`ۢl'/})XItQ% "V<&`ۦhoe^-wE[\ ͉AñMSa$ =K *F B8.1o[m,H:SA\J9E9OcWC
+BdP oY\4urJhv9[Ίպ}zzY_P 45D~J\_95AA%OVVY 4 a6ip.6+2]Hp>M٪ Ҡ~h|~(N ¦qʛ}~UM9v=+>e˷erevf/tdڠ.'h3a:PBMb Ըv9A._$:BiX*'tPDSZ_i 6HƵ ohxh5NԊq#F;xH% gA2 E-*a'A̫E-')4a"5 _<Q"v-T/-.Pꋻa-*861!tAAu= nf,``+"ʆ8TN/TD󠑖sz RA! 2F8'ٴ9A1bdK+pb)TGd:A_pA -NpcA4-5Fۆ,sAdA=1xx^zay(M9Sh!?W)p(R'v6`Ĝ! Rh{hz2FjyeƟ&2&/r{_x '?-\1MG{F~Ƚ=#yX~VݎK?&`VFSy0~}
+:~8i+N({uy'
+cP@zA8h]qV?_'mJ!$<?vo}L܎}NAj.Äq1/QfCz*A_XИ)w<c^<;VLr91zntJ18c֨{nt:qDe
+=Nz3es{gc;r;Aq{\Dl/_>,⻺ΞohS~Fmͺvø> @"I )Jxh)IMu|xhU+Iu"׎
+endstream
+endobj
+5667 0 obj
+<< /Type /Page /Contents 5668 0 R /Resources 5666 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5315 0 R >>
endobj
5669 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 5667 0 R /XYZ 78.37 808.885 null ] >>
endobj
5670 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 768.832 null ] >>
endobj
5671 0 obj
-<< /D [ 5607 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 757.873 null ] >>
endobj
-5606 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-5674 0 obj
-<< /Filter /FlateDecode /Length 2335 >>
-stream
-xڵZ]s}P}Xj5|Ϩ*U{TON^r
-#$E@Zq
-C ϔ@˙nvΙfj񯛿ڱ>}z1 `@AGe\TEۦaFyg{~Z,9op(.`?ޅ0ev2jkֻ7:%"['eNR g.v ڦ&h& MquuX~>}6BsDie^ArO޶Cik_h[#tOX'^HӵJ&ʷYF
-AVָsh=ʋI{1b
-W~ތ`B
-R\GU4Q;2LG*w,Y+pS" V6EU0B\[5J4*8At:l-0ߒۣ@"AF
-m<*-y<|y#\QZKNq#yA{3K2ceA
-,
-?voz8'H1O #h
-UmEAߴWMd| .k0dN^#
-=~@ayǮԈз8NŒJ>.u+ZP<dYtkJ6Ovst'yrߝ`=|gɼ[7>}zf^vq¡PܘQу/
-18kB+1H^P?Aw!MBQPx>k1h:9qiu4],N54 rMqҳB.Q1.Îs
-32šγ C2/L}<G#Jv戡ڪ\z4`78oNkmgnR8cUEϧIM)27U/[N`< y<P8 @Y-YFpU=t/OdKcHFS  Uz2*AyE+z~C#ľnin@/Uwכ.^92Ǘhq!QL3eYZ7T:QS3O<x~ btwQ˲E+G(0
--#XE ~_p4"K0rIIBDO ]aX*)@Cm-[9Fܰ_ɾI:)Gݦ4)-,oM ゞR񨋹+o7a\U˅6E4
- &SA@) (Uݡ(Ol͏*((#y:vUG^* .389,TK࠽uǰ,vt>Yu҄yQF'KQ$6K bs5c:vBrCਇuo3F;q&>WP/
-dj.}>,I\9wp|h."~r,?âl"';6cyAJUv)<Fke2Ͻ}/܁6s)ֆNQҹ^[#B7f;IUvx?_
-5H?vyTUQ&E(ߤUT~ F
-hA/$0NMiPZ:;~F8Ow_Yрlthd/
-endstream
+5672 0 obj
+<< /D [ 5667 0 R /XYZ 81.077 746.914 null ] >>
endobj
5673 0 obj
-<< /Type /Page /Contents 5674 0 R /Resources 5672 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+<< /D [ 5667 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+5674 0 obj
+<< /D [ 5667 0 R /XYZ 81.077 724.996 null ] >>
endobj
5675 0 obj
-<< /D [ 5673 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 714.037 null ] >>
endobj
5676 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 703.078 null ] >>
endobj
5677 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 692.119 null ] >>
endobj
5678 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 681.16 null ] >>
endobj
5679 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 670.202 null ] >>
endobj
5680 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 659.243 null ] >>
endobj
5681 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 648.284 null ] >>
endobj
5682 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 637.325 null ] >>
endobj
5683 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 626.366 null ] >>
endobj
5684 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 615.407 null ] >>
endobj
5685 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 604.448 null ] >>
endobj
5686 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 593.489 null ] >>
endobj
5687 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 582.53 null ] >>
endobj
5688 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 571.571 null ] >>
endobj
5689 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 560.613 null ] >>
endobj
5690 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 549.654 null ] >>
endobj
5691 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 538.695 null ] >>
endobj
5692 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 527.736 null ] >>
endobj
5693 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 516.777 null ] >>
endobj
5694 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 505.818 null ] >>
endobj
5695 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 494.859 null ] >>
endobj
5696 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 483.9 null ] >>
endobj
5697 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 472.941 null ] >>
endobj
5698 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 527.736 null ] >>
-endobj
-77 0 obj
-<< /D [ 5673 0 R /XYZ 79.37 502.281 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 461.982 null ] >>
endobj
5699 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 327.642 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 451.023 null ] >>
endobj
5700 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 316.683 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 440.065 null ] >>
endobj
5701 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 305.724 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 429.106 null ] >>
endobj
5702 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 294.766 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 418.147 null ] >>
endobj
5703 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 283.807 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 407.188 null ] >>
endobj
5704 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 272.848 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 396.229 null ] >>
endobj
5705 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 261.889 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 385.27 null ] >>
endobj
5706 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 250.93 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 374.311 null ] >>
endobj
5707 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 239.971 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 363.352 null ] >>
endobj
5708 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 229.012 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 352.393 null ] >>
endobj
5709 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 218.053 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 341.434 null ] >>
endobj
5710 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 207.094 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 330.476 null ] >>
endobj
5711 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 196.135 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 319.517 null ] >>
endobj
5712 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 185.176 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 308.558 null ] >>
endobj
5713 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 174.218 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 297.599 null ] >>
endobj
5714 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 163.259 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 286.64 null ] >>
endobj
5715 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 152.3 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 275.681 null ] >>
endobj
5716 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 141.341 null ] >>
+<< /D [ 5667 0 R /XYZ 81.077 264.722 null ] >>
endobj
-5717 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 130.382 null ] >>
+77 0 obj
+<< /D [ 5667 0 R /XYZ 79.37 242.175 null ] >>
endobj
-5718 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 119.423 null ] >>
+5666 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F76 318 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
5719 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 108.464 null ] >>
+<< /Filter /FlateDecode /Length 1442 >>
+stream
+x͚KoFrqfP (
+
+×>E)Htp>{z8p$ŴIڙm&wgb{~;SQ K"[2gjz/)}K2Z0
+ P&דbPUWF}q;&nVT#y7WFtF
+"~^ U
+!4 `yAhv (%?VG0ZS%mrRK6HAjV"4m%oyR*>K]O'SJ*$x.B?W(A4g)'B%]tw{4({)Crk}>Ɓ '(Ɋ++~Ux1BŀT:J68liG+!4G/"Q3I)sK,$Ԟ,O*UcXQn;
+@/49ѥ6@XzGbhZ3Ղ% +v &YDВլ_[Z>{͛F~^ŏh
+ q'x.B?
+djqĐŦg]PZim{y{u3
+endstream
endobj
-5720 0 obj
-<< /D [ 5673 0 R /XYZ 81.077 97.505 null ] >>
+5718 0 obj
+<< /Type /Page /Contents 5719 0 R /Resources 5717 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5315 0 R >>
endobj
-5672 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F76 318 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+5720 0 obj
+<< /D [ 5718 0 R /XYZ 78.37 808.885 null ] >>
endobj
-5723 0 obj
-<< /Filter /FlateDecode /Length 1475 >>
-stream
-xZn6}Wؗ2 o
-
-\Yɪ+K4o/ex
-WB4~mʯF 6\;OQy_ci E*j 5TyT)+u7X$iWG,i$x,"?u$bdig]{r<&iVÎA>\E&`Z_C݋ R8Y!|g?!z
-N>L{>)* pP8]E1NP`=7(eNtRHXܱK!qʉ28-:jO
-endstream
+5721 0 obj
+<< /D [ 5718 0 R /XYZ 81.077 768.832 null ] >>
endobj
5722 0 obj
-<< /Type /Page /Contents 5723 0 R /Resources 5721 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5309 0 R >>
+<< /D [ 5718 0 R /XYZ 81.077 757.873 null ] >>
+endobj
+5723 0 obj
+<< /D [ 5718 0 R /XYZ 81.077 746.914 null ] >>
endobj
5724 0 obj
-<< /D [ 5722 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 735.955 null ] >>
endobj
5725 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 724.996 null ] >>
endobj
5726 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 714.037 null ] >>
endobj
5727 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 703.078 null ] >>
endobj
5728 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 692.119 null ] >>
endobj
5729 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 681.16 null ] >>
endobj
5730 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 670.202 null ] >>
endobj
5731 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 659.243 null ] >>
endobj
5732 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 648.284 null ] >>
endobj
5733 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 637.325 null ] >>
endobj
5734 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 626.366 null ] >>
endobj
5735 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 615.407 null ] >>
endobj
5736 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 604.448 null ] >>
endobj
5737 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 593.489 null ] >>
endobj
5738 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 582.53 null ] >>
endobj
5739 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 571.571 null ] >>
endobj
5740 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 560.613 null ] >>
endobj
5741 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 549.654 null ] >>
endobj
5742 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 538.695 null ] >>
endobj
5743 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 549.762 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 506.139 null ] >>
endobj
5744 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 538.803 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 495.18 null ] >>
endobj
5745 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 527.844 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 484.221 null ] >>
endobj
5746 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 516.885 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 473.262 null ] >>
endobj
5747 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 505.926 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 462.304 null ] >>
endobj
5748 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 494.967 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 451.345 null ] >>
endobj
5749 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 484.008 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 440.386 null ] >>
endobj
5750 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 473.049 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 429.427 null ] >>
endobj
5751 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 462.09 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 418.468 null ] >>
endobj
5752 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 451.132 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 407.509 null ] >>
endobj
5753 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 440.173 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 396.55 null ] >>
endobj
5754 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 429.214 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 385.591 null ] >>
endobj
5755 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 418.255 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 374.632 null ] >>
endobj
5756 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 407.296 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 363.673 null ] >>
endobj
5757 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 396.337 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 352.714 null ] >>
endobj
5758 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 385.378 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 341.756 null ] >>
endobj
5759 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 374.419 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 330.797 null ] >>
endobj
5760 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 363.46 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 319.838 null ] >>
endobj
5761 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 330.692 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 287.282 null ] >>
endobj
5762 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 319.733 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 276.323 null ] >>
endobj
5763 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 308.774 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 265.364 null ] >>
endobj
5764 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 297.815 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 254.405 null ] >>
endobj
5765 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 286.856 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 243.447 null ] >>
endobj
5766 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 275.897 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 232.488 null ] >>
endobj
5767 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 264.938 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 221.529 null ] >>
endobj
5768 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 253.979 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 210.57 null ] >>
endobj
5769 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 243.021 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 199.611 null ] >>
endobj
5770 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 232.062 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 188.652 null ] >>
endobj
5771 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 221.103 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 177.693 null ] >>
endobj
5772 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 210.144 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 166.734 null ] >>
endobj
5773 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 199.185 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 155.775 null ] >>
endobj
5774 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 188.226 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 144.816 null ] >>
endobj
5775 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 133.858 null ] >>
endobj
5776 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 122.899 null ] >>
endobj
5777 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 111.94 null ] >>
endobj
5778 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 144.39 null ] >>
-endobj
-5779 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 5718 0 R /XYZ 81.077 100.981 null ] >>
endobj
-5780 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 122.473 null ] >>
+5717 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
5781 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 111.514 null ] >>
+<< /Filter /FlateDecode /Length 1640 >>
+stream
+xZIoFW싀
+e*!OYs"JHh*F\ܶ:i 1՞F hZ8D'=siczB2|ڶ8/D95ʼncF9hf8[ h@9vF۩f=mnMvW'u$7eu[n^OYߺg%ڷ_TFo 7u\M2fIshTS}m#2bтXû3hcbt{yϣEVDoyY*JMƹBӖXӅ3Y.`}~#4i`>0;T[;n6g.WEu۱n,JOSRljƚeHAJg 4^2\\1BN69n7"/dŠmj}7EhW@ztȀBJu!P0x~B
+(Ei:DPĒ`D!9
+>ۗ
+Q}8qB(^&!V?;g+!M[hCEhr`Y0-BDC
+>;L-BlL"
+#c9E\j¨O(7xB8JOKzU6p&D,&Bdؐn)'?oq! 1"gP=[F+YJDLXPbtGq-CqD
+endstream
+endobj
+5780 0 obj
+<< /Type /Page /Contents 5781 0 R /Resources 5779 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5841 0 R >>
endobj
5782 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 5780 0 R /XYZ 78.37 808.885 null ] >>
endobj
5783 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 768.832 null ] >>
endobj
5784 0 obj
-<< /D [ 5722 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-5721 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 5780 0 R /XYZ 81.077 757.873 null ] >>
endobj
-5787 0 obj
-<< /Filter /FlateDecode /Length 2143 >>
-stream
-xڵZKoFϯ ! d8B@AK-kԒ8c۷ZlYŤD~Ud<O?}ç&M,'d%DM$K2Yl&
-,_>H3HLAwe'mJP>O>Nf<'K{k {
-^X>RX@ EMJŸ)F̱>%۪l첱8 LjU6uX"FRYh~ Yy&ʢ¾9ɺ//:H#렢,\mV<H{kncrIMܗ_.&uQ_V q0~oY"+dv^7,?g(EqoIKpQA'ɸn"@ٕnV(- kFIi$ iG~*R4G 4I̼,YF/yCtb9]υ/HOrd
-!:,B !w,
-
-1=B_Pϸ,G,-u>Ct EP21de
-m=D)'0;!ڝ}G8>li6U{SwKQ>+bV3,Lu<o]*تJ6b1^š9 G]Vp\ws<mç,xV܆oKUAkUq0DG͍FDT! {kC(}7G>Z<[?'m qI˕DDRTA>ESn^[ԻnT(U^K;.d
-=ަK;??\#1Y%x5Y(f~-C+LKBBlVS 90 V pOx؀ўk::RzޭG2>^
-?R -?Md>FnX@j()hlj _,6^O]w
-ͮa_gM{iQ9}p'G@0;aV,I yiһ]VMO]t=";f[/Y;
-e&ԕg="N&?8H#ݣ81&q_ IO.Aoo_CvBA\AAs-7bH=y
- t֡M+c7;OlOCs#pSsbNIyɩQhf!6q+}>Ud(`lgR1" SO:QXQKF}V'>6&5 O
-agXT451agx
-` :.8@{_pyQ,nbCi?B0q4Fl|Ulū_/Aۡ%<FvJ hv #-LBGr| ֻE6 ?.>P
-endstream
+5785 0 obj
+<< /D [ 5780 0 R /XYZ 81.077 746.914 null ] >>
endobj
5786 0 obj
-<< /Type /Page /Contents 5787 0 R /Resources 5785 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+<< /D [ 5780 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+5787 0 obj
+<< /D [ 5780 0 R /XYZ 81.077 724.996 null ] >>
endobj
5788 0 obj
-<< /D [ 5786 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 714.037 null ] >>
endobj
5789 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 703.078 null ] >>
endobj
5790 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 692.119 null ] >>
endobj
5791 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 725.046 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 681.16 null ] >>
endobj
5792 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 714.087 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 670.202 null ] >>
endobj
5793 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 703.128 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 659.243 null ] >>
endobj
5794 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 692.169 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 648.284 null ] >>
endobj
5795 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 681.21 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 637.325 null ] >>
endobj
5796 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 670.251 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 626.366 null ] >>
endobj
5797 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 659.292 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 615.407 null ] >>
endobj
5798 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 648.333 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 604.448 null ] >>
endobj
5799 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 637.374 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 593.489 null ] >>
endobj
5800 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 626.415 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 582.53 null ] >>
endobj
5801 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 615.456 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 571.571 null ] >>
endobj
5802 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 604.498 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 560.613 null ] >>
endobj
5803 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 593.539 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 549.654 null ] >>
endobj
5804 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 582.58 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 538.695 null ] >>
endobj
5805 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 571.621 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 527.736 null ] >>
endobj
5806 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 560.662 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 516.777 null ] >>
endobj
5807 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 549.703 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 505.818 null ] >>
endobj
5808 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 538.744 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 494.859 null ] >>
endobj
5809 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 527.785 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 462.098 null ] >>
endobj
5810 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 516.826 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 451.139 null ] >>
endobj
5811 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 505.867 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 440.18 null ] >>
endobj
5812 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 494.909 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 429.221 null ] >>
endobj
5813 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 483.95 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 418.262 null ] >>
endobj
5814 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 472.991 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 407.303 null ] >>
endobj
5815 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 462.032 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 396.344 null ] >>
endobj
5816 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 451.073 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 385.385 null ] >>
endobj
5817 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 396.322 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 374.426 null ] >>
endobj
5818 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 385.363 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 363.468 null ] >>
endobj
5819 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 374.404 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 352.509 null ] >>
endobj
5820 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 363.445 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 341.55 null ] >>
endobj
5821 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 352.486 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 330.591 null ] >>
endobj
5822 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 341.527 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 319.632 null ] >>
endobj
5823 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 300.717 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 308.673 null ] >>
endobj
5824 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 289.758 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 297.714 null ] >>
endobj
5825 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 278.8 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 286.755 null ] >>
endobj
5826 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 267.841 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 275.796 null ] >>
endobj
5827 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 256.882 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 264.837 null ] >>
endobj
5828 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 204.117 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 253.879 null ] >>
endobj
5829 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 242.92 null ] >>
endobj
5830 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 231.961 null ] >>
endobj
5831 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 221.002 null ] >>
endobj
5832 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 210.043 null ] >>
endobj
5833 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 199.084 null ] >>
endobj
5834 0 obj
-<< /D [ 5786 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 188.125 null ] >>
endobj
-5785 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+5835 0 obj
+<< /D [ 5780 0 R /XYZ 81.077 133.431 null ] >>
endobj
-5838 0 obj
-<< /Filter /FlateDecode /Length 1955 >>
-stream
-xZ]o6}ϯp1f8hM>"hvv Vlumɵ`>(Rq_E_,=$ﹼ4-GtDo7oIb&CtF&ьPFכѿNJZ{^i;JZ$! K?0!or=o'7q9{nVn6v=ؘ
->UQ(o2JO*11mz̤iUBMbsn]M项)jjOK D~(mh.Ε"p#~pm9Mt=dzs FC殭"]Za+I޶էYMT
-ȵ'5'R0߁ׁⵧ#Q1D 1(;13F~{kB%qE p.HnrIEI)
-KՀDo8,T"[Zíf,wG:L
-B9,ssq6OY'*mEPn,Ff$ƥt רּ&jV3iƧ~6p=W)L *C4ǍAoUֲtaE߽/ UOx.H#p*u7]i]|`
-Èwtʲ_59@͋QM(W!41=&QJb-cTɍNLe1u`U-a ]de&[Ţԅ)2@Z5qTl hyV"՛>1@b>fEMw賬u-l>֑6ǁ`חoYsos܌N)V֫18ׅhj]ni1icϫrlڴDqK,qu,vbDl:ݷTs:V?UC͓rS."Ey\K
- ="EQM$6$B9J)5écQyӼ&ehW:pڍ ~}p9Dg^np<XQAaDxBƫeDZ43(GhG-}[tĎ<H0J8oY3i\Y+qE:U5>}Su^ds|]i/Wx_I qu<
-8a@d'"H/r͋j[ɴoUޟd9e~/,5c)q,Ct?
-UD0Q -`-T?O NU[azݺCtXJ+h R^<}OEY 때
-ڸͩ]:DmO^YjnqC&_,٩+E(xGAQ %-C`( x.Guvc-a]r 7123DIw!µ? Xۮ:gP#tIL~$4!:(vdB݇"ڝFyo4m#H p2I"}\>Bm+WXv\RL]1M S/sW9AT2C4:`qwEr7(%wtޱ殆agK=[\14B@6/=^c&!;r庺w+ܿn$4UtU!ʫU9#tL÷*Ψj@Z/WЊa2DNc.78mni8M>99IwMFd{>+̻ß&`J~
-bLQ;4en>ϔ2Za vB祊F8$b(!a| mNo/$
-endstream
+5836 0 obj
+<< /D [ 5780 0 R /XYZ 81.077 122.473 null ] >>
endobj
5837 0 obj
-<< /Type /Page /Contents 5838 0 R /Resources 5836 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+<< /D [ 5780 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+5838 0 obj
+<< /D [ 5780 0 R /XYZ 81.077 100.555 null ] >>
endobj
5839 0 obj
-<< /D [ 5837 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 89.596 null ] >>
endobj
5840 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 5780 0 R /XYZ 81.077 78.637 null ] >>
endobj
-5841 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 757.873 null ] >>
+5779 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-5842 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 746.914 null ] >>
+5844 0 obj
+<< /Filter /FlateDecode /Length 2366 >>
+stream
+xڭZ[~PP@v2w(։AEдWJ)R) /CWr,o
+/v n};iI%_޿"^E $K=, c,Co;)'\ ʘ7o_cIV-Kri57T-,/i$*&Q8sj$-F!!.6'c yZ/SyzC4"jF -8Ҋ0:+$=0lЂ`,К^([28 6rڔQ<DSQ%*ٮ|y#`L"Je)$1*\Uhw8soRXA!Eʤ9Y{"Pr8V&ɲ|ӛ,YʏjټR~Ϳ C2(o`kҠ2S$qTe~:F)9!NBA6{ؖ(I .d4s8gU)!@z|)&`d7!aKł_OǸ, '0{ 9RX6;\=b"OU|wӴ" _]{7{kCZKsǃK!8;`'`Hw;c$;KAѴs:}n OWl f?{X(NKŕBYEUi$Q(!K)A\:%2q,^) //~OIiB#EGZ niE-mR^~*SmZUWxYv4ᘥjQZW߳:)z)cҥ1_\0?6L4(yyC=ᡨ mzю3O,N)
+͑P--M
+粋%!E
+dg#ƈh-*eo: V7گҼ 08^)N+q];~
+Զ$'~:~^]
+BmJWI堽_!
+{y[S\o97?=F`Ы<}MEmuI<> l
+)+'ͫ(>%":Zۼ[\QO=kfTVM߻7t,s[ Zͅ{f43w,m*9Ղ%yM%WJZ3-ur!LmNfvY0]8rj t&4|ʸ=~'G5JAj/M:h9H7vk
+؋`vn!(@od4B#v}+R2߰΅x[<Ͻј (mNLK6rGz>rșty>m-Pm4Oh5E#JBCΊ W
+{!hxAd~ Wyw]
+endstream
endobj
5843 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-5844 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 724.996 null ] >>
+<< /Type /Page /Contents 5844 0 R /Resources 5842 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5841 0 R >>
endobj
5845 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 5843 0 R /XYZ 78.37 808.885 null ] >>
endobj
5846 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 754.948 null ] >>
endobj
5847 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 743.989 null ] >>
endobj
5848 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 733.03 null ] >>
endobj
5849 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 722.071 null ] >>
endobj
5850 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 711.112 null ] >>
endobj
5851 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 658.693 null ] >>
endobj
5852 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 595.94 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 588.469 null ] >>
endobj
5853 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 584.981 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 577.51 null ] >>
endobj
5854 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 574.022 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 566.551 null ] >>
endobj
5855 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 563.063 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 555.592 null ] >>
endobj
5856 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 522.674 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 544.633 null ] >>
endobj
5857 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 511.715 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 533.674 null ] >>
endobj
5858 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 500.756 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 522.715 null ] >>
endobj
5859 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 489.797 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 511.757 null ] >>
endobj
5860 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 478.838 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 500.798 null ] >>
endobj
5861 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 467.879 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 489.839 null ] >>
endobj
5862 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 456.921 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 478.88 null ] >>
endobj
5863 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 445.962 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 467.921 null ] >>
endobj
5864 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 435.003 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 456.962 null ] >>
endobj
5865 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 424.044 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 446.003 null ] >>
endobj
5866 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 413.085 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 435.044 null ] >>
endobj
5867 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 402.126 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 424.085 null ] >>
endobj
5868 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 391.167 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 413.126 null ] >>
endobj
5869 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 380.208 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 402.168 null ] >>
endobj
5870 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 369.249 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 349.493 null ] >>
endobj
5871 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 358.29 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 338.534 null ] >>
endobj
5872 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 347.331 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 327.575 null ] >>
endobj
5873 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 336.373 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 316.616 null ] >>
endobj
5874 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 325.414 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 275.897 null ] >>
endobj
5875 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 314.455 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 264.938 null ] >>
endobj
5876 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 303.496 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 253.979 null ] >>
endobj
5877 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 292.537 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 243.021 null ] >>
endobj
5878 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 281.578 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 232.062 null ] >>
endobj
5879 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 270.619 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 221.103 null ] >>
endobj
5880 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 259.66 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 210.144 null ] >>
endobj
5881 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 235.898 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 199.185 null ] >>
endobj
5882 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 224.939 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 188.226 null ] >>
endobj
5883 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 213.98 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 177.267 null ] >>
endobj
5884 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 203.022 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 166.308 null ] >>
endobj
5885 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 172.824 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 155.349 null ] >>
endobj
5886 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 161.865 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 144.39 null ] >>
endobj
5887 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 133.431 null ] >>
endobj
5888 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 122.473 null ] >>
endobj
5889 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 111.514 null ] >>
endobj
5890 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 100.555 null ] >>
endobj
5891 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 89.596 null ] >>
endobj
5892 0 obj
-<< /D [ 5837 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 5843 0 R /XYZ 81.077 78.637 null ] >>
endobj
-5836 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+5842 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
5895 0 obj
-<< /Filter /FlateDecode /Length 1872 >>
+<< /Filter /FlateDecode /Length 1515 >>
stream
-xڽY[oF~}0-hPD"$8k :r/93ՄN
-~ū#&$ >`D331v3u◿ՍN&$Z HELȬN=u3no='QI#1 7Ĥ{VJq5>-趵u?fh%J/E>n6?Z a^MX9\5hQ!+/ƉG?Y?{oxo~-3Մke6p umQ{G^kf }[gRm%2j%8B4:õL5EE`~%FӜHIZ3!]Y[Ӧzr[Whi#xט'q}bP89EXX@8%P<b.r]TnV (bí4N}]}/%*Ξ!-<jjM"фˋ0]s&~YMQ 6("ܫvv&+ajQޏx;I n
-cLc?ŠI,| _@ vL]ᲹJMߗ݃eYXu@Ҿa_&orW]:
-YŪ_+n.-Ҥ1ؔEƒP=y+ih?*6n _9=KfX+v۠7fe%3A 'UF bМ:RF[ߗt}hԍ2{ظݩClAra}&$( Fh|MRTF}E cl,UuٸDؿ38tUʛMGlMW:[yʀf5ޟ_1V!ўXiC,ceIq<?=dod#S$4k5-mGG#ykЭdq~6{ywe.7E<׈"W wlHy7cաsģv8
-nB]ժ}3?D; p)'`)&?c@,h="8^):$
+xڽZ[oF~ϯ@uT)lՇ<V!&q
+65fh{g >$͹|s1h N~I,70GzVLhFfg_1u>ҮgZ̔%C (ambB.U6-l?5F7n~E@8¤H
+Bt*YU;lw?/*-[ M!6Y U7ߴ"F] \mͶV2FmSM`tfF֖nf2XI>$˲i^/y_jVk>9ݔ)*6S b~B֔ i7ۜ_l1vUQ%7W0(yݘYMIL[4]鈤tgY6 'VlitfE*#WisRg>WU?3O'@>aP9'!^yWK Y);R58!:A,/pD(ZMCsцxܸʪdQ
+ USRwh(j߉߭V@qi @;ܠ7;ZJ14 T.FhmE堜Nl.ζpؕGzԫm*9܌65.C{;,g8 nU!ﰜjhh| 孶7Ehm3s"t_&WM }K4PP7:VEYGy7CDmM㿴,&c+I] qCAxZ̋2"gt1`jPoS[&q#Z˸m ?zo6 &΀7fy/&UQm iaLC[KE讱O%TI
endstream
endobj
5894 0 obj
-<< /Type /Page /Contents 5895 0 R /Resources 5893 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+<< /Type /Page /Contents 5895 0 R /Resources 5893 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5841 0 R >>
endobj
5896 0 obj
<< /D [ 5894 0 R /XYZ 78.37 808.885 null ] >>
@@ -18800,4120 +18854,4127 @@ endobj
<< /D [ 5894 0 R /XYZ 81.077 714.037 null ] >>
endobj
5903 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 690.051 null ] >>
endobj
5904 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 679.092 null ] >>
endobj
5905 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 668.133 null ] >>
endobj
5906 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 657.174 null ] >>
endobj
5907 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 626.842 null ] >>
endobj
5908 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 615.883 null ] >>
endobj
5909 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 587.36 null ] >>
endobj
5910 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 576.401 null ] >>
endobj
5911 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 565.442 null ] >>
endobj
5912 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 554.483 null ] >>
endobj
5913 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 543.524 null ] >>
endobj
5914 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 532.565 null ] >>
endobj
5915 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 521.606 null ] >>
endobj
5916 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 510.647 null ] >>
endobj
5917 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 499.689 null ] >>
endobj
5918 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 488.73 null ] >>
endobj
5919 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 477.771 null ] >>
endobj
5920 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 466.812 null ] >>
endobj
5921 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 455.853 null ] >>
endobj
5922 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 444.894 null ] >>
endobj
5923 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 433.935 null ] >>
endobj
5924 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 472.941 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 422.976 null ] >>
endobj
5925 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 461.982 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 412.017 null ] >>
endobj
5926 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 451.023 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 401.058 null ] >>
endobj
5927 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 435.083 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 390.099 null ] >>
endobj
5928 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 424.124 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 379.141 null ] >>
endobj
5929 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 413.165 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 368.182 null ] >>
endobj
5930 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 402.207 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 357.223 null ] >>
endobj
5931 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 391.248 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 346.264 null ] >>
endobj
5932 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 380.289 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 335.305 null ] >>
endobj
5933 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 369.33 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 324.346 null ] >>
endobj
5934 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 358.371 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 313.387 null ] >>
endobj
5935 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 347.412 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 302.428 null ] >>
endobj
5936 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 336.453 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 291.469 null ] >>
endobj
5937 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 325.494 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 280.51 null ] >>
endobj
5938 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 314.535 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 269.552 null ] >>
endobj
5939 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 303.576 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 258.593 null ] >>
endobj
5940 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 242.804 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 247.634 null ] >>
endobj
5941 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 231.845 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 236.675 null ] >>
endobj
5942 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 220.887 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 225.716 null ] >>
endobj
5943 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 190.002 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 214.757 null ] >>
endobj
5944 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 179.043 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 203.798 null ] >>
endobj
5945 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 168.085 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 188.226 null ] >>
endobj
5946 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 157.126 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 177.267 null ] >>
endobj
5947 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 146.167 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 166.308 null ] >>
endobj
5948 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 135.208 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 155.349 null ] >>
endobj
5949 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 124.249 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 144.39 null ] >>
endobj
5950 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 113.29 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 133.431 null ] >>
endobj
5951 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 102.331 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 122.473 null ] >>
endobj
5952 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 91.372 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 111.514 null ] >>
endobj
5953 0 obj
-<< /D [ 5894 0 R /XYZ 81.077 80.413 null ] >>
+<< /D [ 5894 0 R /XYZ 81.077 100.555 null ] >>
+endobj
+5954 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 89.596 null ] >>
+endobj
+5955 0 obj
+<< /D [ 5894 0 R /XYZ 81.077 78.637 null ] >>
endobj
5893 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-5956 0 obj
-<< /Filter /FlateDecode /Length 1423 >>
+5958 0 obj
+<< /Filter /FlateDecode /Length 1854 >>
stream
-xڽYMoFWȡ6ovvS@E
- dȤ*q #SZ#'!"->ۙ73KY\x'¬{?;vXh<*N/
- pP^%ߧzwlCE}
-GGmh0z9u~0G>84ܱYUOfAx,SK,?we
-˜(j$Ml&ЧBFJ UUTbvլ''fHOUH]GM{kF8q-cfkqZ(j+)gൣv^r</ɉuSwt^)ϲZ^M mAn}w dCYpA VxImSw?Wz]?/.AE=\ydr<t咽kkCJ)zY39y< '5" φx({cx}Vwuofb^Ϧ<i^\ә.IsҜ籆Hl*+<!<3O*\U~)yVosPmc3)7@B&/ -2P. DO/B Qb7MJ}QVU7+pа +)-$C/./<?VWmn7[|p9c4DaE✡t~IرG%qNч<Q;9Tc^Дn@GO-ySSg{aDw"ޢ,{w#)Qce]~.S^X%Z#ze 7Qy!N|OIK^pmX4Cm`hrR7d=Qӭo ](ڱV9}^YI~vcW?eiUުR{WCk ڥ`4
-fnJk%/Rt++ z[*En/)'IJij# ͶJ`:'qloYuY7bᕰ2
-{S7.VWdЄRv7R_l'f]H(ZR;n
-ӽs4
+xڽY]o}ʨ=|
+M׻(.PC 5R ,˺J<dHsǜwVhE4D+??\|&HSf^ft+iEIa=\2JWww*$Q>h4˻mV_e=.]JFF̱b8V>ڲZ5vjywGYx 07ӄqUFp6_̚ E497eMSe-zρE80ֆ_#&D*@gm?E3KsrV]MkLv̞Td{kQS(`JBEb/gDLpp=Ob|+_"La<25Ƭ0mZ?6
+5BB{_$%.>/E+!{v]>y|jgvvsuɋ
+VzoצyA&A=7ī&bSUɚ/ej fnLveu0PR<?8G2|? h|uPW\ט6Ϫ}JAbt޷}4H&ĭc
+C.T94ugrP0?]kʘ”n`k("\{Gjp
+\-3yޛ ^jyԖE2!1U, Fk0}궛3@[O|2]U5[|>2M%MDjDĉۺđу~vX=u{dq޵A&NjIC4>P{:qPFK1d"IslN2΁hOYlm,ogʋH4'(-,crXe>f
+ǜht~ En ,=aCs$GJGG/a'Ӕ6vnog ȔS
+.p}vs*gT䄕Kg.Ҝ[R&|JV[(?s@ҝrڃ4znH"T
+
+:aZ
+*~Kpv)ж(DMP}4Z9Kn \]qjkǬ 7]_TEWd%2:<4&e> Ǐ9G8e]WM-M~+Y 6ɞ(hw\iR^'^9R׊zJ{= ̓b!fP$hڞP?_Sػu yޔEn')΋>z5fQWwa#Zo3Ӻ2·2Flr4Z]~b2p̳bAnF pL6!n.>-34vlw,EcFTIQ15[0l4%l$GU N]+$@oVL>U囩~GBAKUJg}U߳r?>NLq7GW^;1Ti5M&p)c>zhT^ я$%8|4z'DkYEGbNT:wEQ}aՌ(vP] dvO
endstream
endobj
-5955 0 obj
-<< /Type /Page /Contents 5956 0 R /Resources 5954 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
-endobj
5957 0 obj
-<< /D [ 5955 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-5958 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 768.832 null ] >>
+<< /Type /Page /Contents 5958 0 R /Resources 5956 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5841 0 R >>
endobj
5959 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 5957 0 R /XYZ 78.37 808.885 null ] >>
endobj
5960 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 768.832 null ] >>
endobj
5961 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 757.873 null ] >>
endobj
5962 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 697.101 null ] >>
endobj
5963 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 686.142 null ] >>
endobj
5964 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 675.183 null ] >>
endobj
5965 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 644.299 null ] >>
endobj
5966 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 633.34 null ] >>
endobj
5967 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 622.381 null ] >>
endobj
5968 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 611.422 null ] >>
endobj
5969 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 600.463 null ] >>
endobj
5970 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 589.504 null ] >>
endobj
5971 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 578.545 null ] >>
endobj
5972 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 567.586 null ] >>
endobj
5973 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 556.627 null ] >>
endobj
5974 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 545.669 null ] >>
endobj
5975 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 540.687 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 534.71 null ] >>
endobj
5976 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 529.728 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 523.751 null ] >>
endobj
5977 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 500.837 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 512.792 null ] >>
endobj
5978 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 489.878 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 501.833 null ] >>
endobj
5979 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 478.919 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 490.874 null ] >>
endobj
5980 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 467.96 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 479.915 null ] >>
endobj
5981 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 457.001 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 468.956 null ] >>
endobj
5982 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 446.042 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 457.997 null ] >>
endobj
5983 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 435.083 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 447.038 null ] >>
endobj
5984 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 424.124 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 436.08 null ] >>
endobj
5985 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 413.165 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 425.121 null ] >>
endobj
5986 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 402.207 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 414.162 null ] >>
endobj
5987 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 391.248 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 403.203 null ] >>
endobj
5988 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 380.289 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 392.244 null ] >>
endobj
5989 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 369.33 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 359.367 null ] >>
endobj
5990 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 358.371 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 348.408 null ] >>
endobj
5991 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 347.412 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 337.449 null ] >>
endobj
5992 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 336.453 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 326.49 null ] >>
endobj
5993 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 325.494 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 295.606 null ] >>
endobj
5994 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 314.535 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 284.647 null ] >>
endobj
5995 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 303.576 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 255.756 null ] >>
endobj
5996 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 292.618 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 244.797 null ] >>
endobj
5997 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 281.659 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 233.838 null ] >>
endobj
5998 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 270.7 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 222.879 null ] >>
endobj
5999 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 259.741 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 211.92 null ] >>
endobj
6000 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 248.782 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 200.961 null ] >>
endobj
6001 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 237.823 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 190.002 null ] >>
endobj
6002 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 226.864 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 179.043 null ] >>
endobj
6003 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 215.905 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 168.085 null ] >>
endobj
6004 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 204.946 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 157.126 null ] >>
endobj
6005 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 193.987 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 146.167 null ] >>
endobj
6006 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 183.028 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 135.208 null ] >>
endobj
6007 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 172.07 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 124.249 null ] >>
endobj
6008 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 161.111 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 113.29 null ] >>
endobj
6009 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 150.152 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 102.331 null ] >>
endobj
6010 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 139.193 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 91.372 null ] >>
endobj
6011 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 128.234 null ] >>
+<< /D [ 5957 0 R /XYZ 81.077 80.413 null ] >>
endobj
-6012 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 117.275 null ] >>
-endobj
-6013 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 101.335 null ] >>
+5956 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6014 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 90.376 null ] >>
+<< /Filter /FlateDecode /Length 1775 >>
+stream
+xڽYnFS荌V9,\(»,l(R%8n<9hFqdN 7D ~9ӊp~9չb3&.O{ LK$)Idvw.d5\FFJc0aSF䟣-)8#L~C/>+&o/O|Cv~?2Wj21gA&g
+Q*T
+&U$jj+;xRfclx+=a֏`=I#*6 yRsĸh+ QC̾/~Y8rb;fqpwS ׃M=ЎNћkg~nm%Ak}mn YUŠxы3CjYk$YaL=eDŽe:!'+s WH9юR%S M,X`Rhp| Vr K_S_XaH20b_^aHk 2~ kI2q횀k
+( 7msɮMY`H Iޖۦ ء]aD5ڶY~2?ЗF
+aApTM0X]}[_\m/+_i:o-ahp冹r?A?5Fig!c9=f} ^nJ CkPJZʿ"n EAƉ -):t:Azkgt~])DC2&Nq8ZoesW]G޳=Jo"_;L#7wa*AoD^wyU=d63
+.*Ht v%]3ꜘqx*yW1G%áYѯO5gtEҰas'o [UW4uaڮꔪkx@S<P4baTsC0b:E'S8"t_X6_o몬$Zk~OCx2|8!Qq4~w!gSj=Oeq&>jnm/۲_L7VMmZ.i^e}uٗ˚l0K.)™qS_+}1z=#dQȝǻ f.χϻ-ʼ\H mt? |ouYyIIv㻁518{ݸFbR01!л kKt\`|-6`gT_4frn缴 1Α*,!6A?v@v:W سm jCDEY/j1ƹ!|K {*Ӌ()kgK!$ŖAz$O1.\}'[E8wpEci 8s8h]nmǭS_q'CǞϯTIiAOtT
+e=ic̕ͺM^nYY <8 cPLpupj hMS_ֻԋQFIa|FG1>br(C$_4 Npڮ9,b46Qh HK+{cԔP
+(m feŢoMEpcx|X.2<ɢaIwyug37]$y)L #v+ ~[7amao㗹1uԆ2aniK[R}lF$i|y0p!
+endstream
+endobj
+6013 0 obj
+<< /Type /Page /Contents 6014 0 R /Resources 6012 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5841 0 R >>
endobj
6015 0 obj
-<< /D [ 5955 0 R /XYZ 81.077 79.417 null ] >>
+<< /D [ 6013 0 R /XYZ 78.37 808.885 null ] >>
endobj
-5954 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+6016 0 obj
+<< /D [ 6013 0 R /XYZ 81.077 768.832 null ] >>
endobj
-6019 0 obj
-<< /Filter /FlateDecode /Length 2566 >>
-stream
-xڭZ[o6~c=xe]f]vd V&&$"u<ib~9箄mߝq;UDb) g@GA$0
-w+NDt^/DH Ai0g.z)˪Ζyvi[ۼn5,1|⟣ !(~OϦ1Œg'#?9h-lZ]oqQʷɫW+j"] az>4>LJO"S.G>.?;1MN;.Ekiݫ&iT{Yހ̌_LJM6 e)bh P/~M&jo/Q+
-I I[8לEj Q3?hMPf!-dS4TEё(G:Un /p
-#nvb(`-7*;T~cbEO_ x8TS2)ڻ gC$uZN{e{44SeMRPH8p6*lM-ݤͬv5*UބF 1xNO/X_YE%u6(!) AM8bLJ97jkrSi*}[8_vRb/3>ʪ I4+Όw]2Cc ^8螙iqP Ty7f_/U4F/bLeჀU]W5ϠHiQ Mx4BuD )  qo|z
-FF϶4t)B※.
-8[3>8`ǻT3>ܓX@@({g!ЯiaUZ&hfe\bD:O]
-ra]ơ6 ~_䪙@$l/PAtL57¸q
-vlz|ӷmbm2qEzỤioDcüj ֻ``'}uۅ"_X /XŭB9 1?l y~7{ 2x !G` +h{Spr9GB
-endstream
+6017 0 obj
+<< /D [ 6013 0 R /XYZ 81.077 757.873 null ] >>
endobj
6018 0 obj
-<< /Type /Page /Contents 6019 0 R /Resources 6017 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R /Annots 6052 0 R >>
-endobj
-6052 0 obj
-[ 6016 0 R ]
+<< /D [ 6013 0 R /XYZ 81.077 746.914 null ] >>
endobj
-6016 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 357.901 159.52 368.334 172.01 ]/A << /S /GoTo /D (Hfootnote.13) >> >>
+6019 0 obj
+<< /D [ 6013 0 R /XYZ 81.077 735.955 null ] >>
endobj
6020 0 obj
-<< /D [ 6018 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 724.996 null ] >>
endobj
6021 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 714.037 null ] >>
endobj
6022 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 703.078 null ] >>
endobj
6023 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 692.119 null ] >>
endobj
6024 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 681.16 null ] >>
endobj
6025 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 670.202 null ] >>
endobj
6026 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 659.243 null ] >>
endobj
6027 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 648.284 null ] >>
endobj
6028 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 637.325 null ] >>
endobj
6029 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 626.366 null ] >>
endobj
6030 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 620.388 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 615.407 null ] >>
endobj
6031 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 609.429 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 604.448 null ] >>
endobj
6032 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 598.471 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 593.489 null ] >>
endobj
6033 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 541.232 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 582.53 null ] >>
endobj
6034 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 530.274 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 571.571 null ] >>
endobj
6035 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 519.315 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 555.631 null ] >>
endobj
6036 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 508.356 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 544.672 null ] >>
endobj
6037 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 497.397 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 533.713 null ] >>
endobj
6038 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 486.438 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 522.754 null ] >>
endobj
6039 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 475.479 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 511.796 null ] >>
endobj
6040 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 464.52 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 500.837 null ] >>
endobj
6041 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 433.636 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 489.878 null ] >>
endobj
6042 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 422.677 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 478.919 null ] >>
endobj
6043 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 411.718 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 467.96 null ] >>
endobj
6044 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 400.759 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 457.001 null ] >>
endobj
6045 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 389.8 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 446.042 null ] >>
endobj
6046 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 378.841 null ] >>
-endobj
-81 0 obj
-<< /D [ 6018 0 R /XYZ 79.37 353.387 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 435.083 null ] >>
endobj
6047 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 156.83 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 374.311 null ] >>
endobj
6048 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 145.871 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 363.352 null ] >>
endobj
6049 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 134.912 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 352.393 null ] >>
endobj
6050 0 obj
-<< /D [ 6018 0 R /XYZ 81.077 123.953 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 295.155 null ] >>
endobj
6051 0 obj
-<< /D [ 6018 0 R /XYZ 94.613 94.364 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 284.196 null ] >>
endobj
-6017 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R /F26 662 0 R /F79 668 0 R /F76 318 0 R /F22 473 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+6052 0 obj
+<< /D [ 6013 0 R /XYZ 81.077 273.237 null ] >>
endobj
-6055 0 obj
-<< /Filter /FlateDecode /Length 2266 >>
-stream
-xZ[o~ϯp1u wI
-NXCȴ#D4<I&2%:#&Œ(<g|wW$|򷫓OqB$ f$K2~ BFERp & #"~<=T r{8+X}M8[r7mYH׸p F"D8i1AqZ inqYZ<{F_hH{~Gve}u
-$@; yjҤX\ ăy@H?yF` e9pxo;΂/q`u/u\@'櫐,jpZVqެYV"?Vhʭzb]_fGٽI>e3$b㲼K^8﷕Vq
-3 iC0np^iF`1ANHRL3@udсgۅWwǐ23j)xS5kths&9Mt7]ӂ~HF ST- x ?# IY5j 3[0`pН%XCY -y
-U%(; ,Blgҏ1*w;n_
-BxH~8);P
-tSNGp,\?k&:h2tDeqIOtu~v!X#k,?/!?F2Q.Fg`BKn(b ~ݼL%$_tr)!h^CmO
-endstream
+6053 0 obj
+<< /D [ 6013 0 R /XYZ 81.077 262.279 null ] >>
endobj
6054 0 obj
-<< /Type /Page /Contents 6055 0 R /Resources 6053 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+<< /D [ 6013 0 R /XYZ 81.077 251.32 null ] >>
+endobj
+6055 0 obj
+<< /D [ 6013 0 R /XYZ 81.077 240.361 null ] >>
endobj
6056 0 obj
-<< /D [ 6054 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 229.402 null ] >>
endobj
6057 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 218.443 null ] >>
endobj
6058 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 187.559 null ] >>
endobj
6059 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 176.6 null ] >>
endobj
6060 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 165.641 null ] >>
endobj
6061 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 677.175 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 154.682 null ] >>
endobj
6062 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 666.217 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 143.723 null ] >>
endobj
6063 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 655.258 null ] >>
+<< /D [ 6013 0 R /XYZ 81.077 132.764 null ] >>
endobj
-6064 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 644.299 null ] >>
+81 0 obj
+<< /D [ 6013 0 R /XYZ 79.37 107.31 null ] >>
endobj
-6065 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 633.34 null ] >>
+6012 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6067 0 obj
+<< /Filter /FlateDecode /Length 2689 >>
+stream
+xڽZ[۸~_"
+Ji@`dcN͞b˅rAJ` ㌄Bsyz[$ Bǂxȶ[Cwyr*&0 TcjDN"sI.*PY끂 P+<\wq4렶aLqy{إ9j@,d ݙL!j$ۀ$"Lbc
+t#^\1vh^28)]\RWd'`lQ8c6)nAȅ,{afEgK 0HjGc])<X1g]u>5#YVo{5HS4nPUSI
+rNzDop4Nh8QDp*9#5W ݞUsJ"`Qj=LdMKƺ8 xWU]M&Lyp&]'Ðu}fdRFUY}od>YYYA}LfrqK[*TGe4_lZÞ\cm<;2!|+IqlCe(Ơ7DfS um@g_I ^ٮkdBؤMpuyHpPZG8îd'@C w,M60)_*Qb_BGD!amh]iz4 jS
+tdN'u?xxH 0(WCJ5N]z"dv@Kd$Q;
+xB흴AI'?FR*WyK7lW@#}7GZtIc^37g,M)\)t]OmO28_^)Óybc!$ETl4dE:}5}AdӀx._u.wspAelGD'-~å7P@t H>}lr,Iwq]fM\_yi_.lߥw'Z1Wk? %dq5FEiX S# PǾ3#8nj$eԛv RioFό
++O&>T%LvdqׂПaGg-9 ,:܏}}zޅ.A \z݇4_{!hWtBPxz^zeڿo .HcpꖁG{;pb U` OfCdLuC^ F+
+n-Qا
+zӥ1oϠg _MGvn>ʗ$ ŀ^~AS
+ӣM2qr<6?՝WΫ54th-P]L~:la~"VJ iY6
+.}eS_=~/up=qL"Z7<=M;ȝܳa+fvi\,}=} gbD!(y&Rmo&ޛy
+caZ.=D7܉R3@
+endstream
endobj
6066 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 622.381 null ] >>
+<< /Type /Page /Contents 6067 0 R /Resources 6065 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5841 0 R /Annots 6107 0 R >>
endobj
-6067 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 611.422 null ] >>
+6107 0 obj
+[ 6064 0 R ]
+endobj
+6064 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 357.901 609.67 368.334 622.161 ]/A << /S /GoTo /D (Hfootnote.13) >> >>
endobj
6068 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 600.463 null ] >>
+<< /D [ 6066 0 R /XYZ 78.37 808.885 null ] >>
endobj
6069 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 589.504 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 606.981 null ] >>
endobj
6070 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 578.545 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 596.022 null ] >>
endobj
6071 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 567.586 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 585.063 null ] >>
endobj
6072 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 556.627 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 574.104 null ] >>
endobj
6073 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 545.669 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 563.145 null ] >>
endobj
6074 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 534.71 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 552.186 null ] >>
endobj
6075 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 523.751 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 541.227 null ] >>
endobj
6076 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 512.792 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 530.268 null ] >>
endobj
6077 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 501.833 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 471.489 null ] >>
endobj
6078 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 490.874 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 460.53 null ] >>
endobj
6079 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 479.915 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 449.571 null ] >>
endobj
6080 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 463.975 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 438.612 null ] >>
endobj
6081 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 453.016 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 427.653 null ] >>
endobj
6082 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 442.057 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 416.694 null ] >>
endobj
6083 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 431.098 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 405.735 null ] >>
endobj
6084 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 420.139 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 394.776 null ] >>
endobj
6085 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 409.18 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 383.817 null ] >>
endobj
6086 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 398.221 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 372.858 null ] >>
endobj
6087 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 387.263 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 361.9 null ] >>
endobj
6088 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 356.378 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 350.941 null ] >>
endobj
6089 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 345.42 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 339.982 null ] >>
endobj
6090 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 329.479 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 329.023 null ] >>
endobj
6091 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 318.52 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 318.064 null ] >>
endobj
6092 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 307.561 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 307.105 null ] >>
endobj
6093 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 296.603 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 296.146 null ] >>
endobj
6094 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 241.808 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 285.187 null ] >>
endobj
6095 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 230.849 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 274.228 null ] >>
endobj
6096 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 219.89 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 258.288 null ] >>
endobj
6097 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 208.931 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 247.329 null ] >>
endobj
6098 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 197.972 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 236.37 null ] >>
endobj
6099 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 157.126 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 225.411 null ] >>
endobj
6100 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 146.167 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 214.452 null ] >>
endobj
6101 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 135.208 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 203.494 null ] >>
endobj
6102 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 124.249 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 192.535 null ] >>
endobj
6103 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 113.29 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 181.576 null ] >>
endobj
6104 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 102.331 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 150.692 null ] >>
endobj
6105 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 91.372 null ] >>
+<< /D [ 6066 0 R /XYZ 81.077 139.733 null ] >>
endobj
6106 0 obj
-<< /D [ 6054 0 R /XYZ 81.077 80.413 null ] >>
+<< /D [ 6066 0 R /XYZ 94.613 110.144 null ] >>
endobj
-6053 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+6065 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R /F79 668 0 R /F76 318 0 R /F22 473 0 R /F73 189 0 R /F69 183 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-6109 0 obj
-<< /Filter /FlateDecode /Length 2350 >>
-stream
-xڵZKϯ0Cd#%#d$}HdC0~d0=U^tfgҴ(Xfh㻨_w?ܽI IL9QX,VDQ=ӊHaB/s~T2IĔEDħLfUm]H&|yˊ4_~}Ih^8L15
--(ѭ@&XNMrL:@+j0="lU>j ;l~!!¼m6eO6͊28a*j6ϊVʢ5Wl`r4 R"g4ԃlל'7uXK_Pkt{K_FVHЉU\HMc,
-RBr ͗#' /4Qkp
-ʸ>&c
-`z$.@2w%gߋFQR-\q:^I'ͪv4OG
-²IJ-/|
-%(U+8s1` {-<jԋW*ӠI) #I"q
-R"JN
-}6w$(bPcn0+S sǶpʷVUhv9-X+
-$?ڣ5xUP۽)LzH,-
-8J: e,K`%P/Ro#>77yvCϿ] qV
-#Gh$o2 p|L:,7y
-F$ 9V8G{vQoʼl] 7+2wE{aʣIu/mX:|ʺ.I .Ps#顔JOT 5=`밌3&>997ּ":@: 1q
-oP}w^sQ2f|S
+6110 0 obj
+<< /Filter /FlateDecode /Length 2480 >>
+stream
+xڭZKϯ0iߒd >dC&0dn -K^I,(RʶdbIX,V}qg? }?ç/qB$ f$K2{83>鋌f!da`"%ix<UMU,wVI7*3jk!z Z`ڮ"m FK,Bfnob.V\eeu,Jm*]_VϟW"~YIVIlW->  y+>M|*ܥ6DH} B S/B6W;FP8M}6wd2BV4WIn\ORm?Z1($ (^hVӷcN]IA]qIB!gU։9_y1:7!h}|28EFF`2%qNPp 1`:D 槲Ox^Ѱ#xM<}?'eNZj-=p|3^}.7j_ܕo򬬊#仆Y@a\laJr8`T0$.)d VFW}V0J_Iէ`yu[Iߧnj3E5jPXB 
+F
+ My(
+;~ٳCݤ4yU>>u^lU d=/ۯY.+>~IާbnêTJOuDx]%lS،_qAR?Sb][lJQԅSQo3#if:D]8[xzvI12
+:-2(&]* ",ͫrF䐎$29% Зl`b~>ۯӳ D(fq z>_g㓌gq(u[eA@B$`yce[sc*p6m{ 7Ħ3X 7`PBqS36ρMan;*(Jν2k|8y2ifď9.\ÂJ۸9:E*Mm/Qn}=Й#naD߹%)viT?W`dK/o~+b_eUVA{T.t-ڂZF?Uq]\wj
+h
+O[ͪ10(rw;NYH]TrN:7]ɺH>AzKhYa(
+^ԝS:Q{1ݰ.?D$F
+Ɂ}M-bP4h'7LYcs&:>"&_F,B%t}<ZnJB?Zw6;Dw @Evb?1zI'ZpcK`ATq:8? OmJ@ҩF+.%r14PNH
endstream
endobj
-6108 0 obj
-<< /Type /Page /Contents 6109 0 R /Resources 6107 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
-endobj
-6110 0 obj
-<< /D [ 6108 0 R /XYZ 78.37 808.885 null ] >>
+6109 0 obj
+<< /Type /Page /Contents 6110 0 R /Resources 6108 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5841 0 R >>
endobj
6111 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 6109 0 R /XYZ 78.37 808.885 null ] >>
endobj
6112 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 768.832 null ] >>
endobj
6113 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-85 0 obj
-<< /D [ 6108 0 R /XYZ 79.37 697.798 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 757.873 null ] >>
endobj
6114 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 505.974 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 746.914 null ] >>
endobj
6115 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 495.015 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 735.955 null ] >>
endobj
6116 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 454.168 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 681.16 null ] >>
endobj
6117 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 443.209 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 670.202 null ] >>
endobj
6118 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 432.25 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 659.243 null ] >>
endobj
6119 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 421.291 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 648.284 null ] >>
endobj
6120 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 380.444 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 637.325 null ] >>
endobj
6121 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 369.485 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 596.478 null ] >>
endobj
6122 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 358.526 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 585.519 null ] >>
endobj
6123 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 317.68 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 574.56 null ] >>
endobj
6124 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 306.721 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 563.601 null ] >>
endobj
6125 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 295.762 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 552.642 null ] >>
endobj
6126 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 284.803 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 541.684 null ] >>
endobj
6127 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 259.896 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 530.725 null ] >>
endobj
6128 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 248.937 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 519.766 null ] >>
endobj
6129 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 237.978 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 508.807 null ] >>
endobj
6130 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 227.02 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 497.848 null ] >>
endobj
6131 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 216.061 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 486.889 null ] >>
+endobj
+85 0 obj
+<< /D [ 6109 0 R /XYZ 79.37 437.773 null ] >>
endobj
6132 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 205.102 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 245.949 null ] >>
endobj
6133 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 194.143 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 234.99 null ] >>
endobj
6134 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 183.184 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 194.143 null ] >>
endobj
6135 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 172.225 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 183.184 null ] >>
endobj
6136 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 161.266 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 172.225 null ] >>
endobj
6137 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 150.307 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 161.266 null ] >>
endobj
6138 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 139.348 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 120.419 null ] >>
endobj
6139 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 128.389 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 109.46 null ] >>
endobj
6140 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 117.431 null ] >>
+<< /D [ 6109 0 R /XYZ 81.077 98.502 null ] >>
endobj
-6141 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 106.472 null ] >>
-endobj
-6142 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 95.513 null ] >>
+6108 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6143 0 obj
-<< /D [ 6108 0 R /XYZ 81.077 84.554 null ] >>
-endobj
-6107 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6146 0 obj
-<< /Filter /FlateDecode /Length 1908 >>
+<< /Filter /FlateDecode /Length 1918 >>
stream
-xڽZ[o6}ϯ0[.1bRt<`˞AP"K,粢 %#^*+!GO<y}+䇋M8R!atr:!I($$aI&ɟSB<gT))YGl.%'YtyȺ˗э~˨vd(0|h/^8"0"X_,}R]^xGg6":." ]tv97Lk"6N:*}R諳&KYiH-aG<͋qֳ0lLLD>z@?d,2~}vw 3̯aX(}Ԭ?jGWy!G^b8QqQ[RY1A`3^ }cotV78rƲp59v0A<0>w^#h)͈|.:μPvaHa?*}Lu\*ʏ/7"(ǭ~,J$U{t/Fb|&.<՟< CJ6?xxM.( %qArG 8
-Y-}vj"Y_H2 }H s&
-PD FCެfsش i!*%1 R! A^ǻٜSvW{8Ca >dͶ|8[aBZd~:c&jyRfpq;xMfTMr_0"77w&ͨЛjj". BDWx$.:nDjeR8t-9=Ugz~n`܈ΆЫxsͪ^oeT$ku6g[ȸ]`]+oGW2=f
-qėm J۞R#㑮P~j~2֩Ն%&atk=8|w˗ U}?7|Wyzd9̪6O7rf[oc '퟽~'oUrJb@9$)qZm(!CwɽA2 (ŘC@<a v4 !^\
-,k;hE7M#mC`N\()w>KK|0hN]1t b,v8h B=ꭸ
-$ڄn˝?sb1xDJagf:~+3ز淃hᄅЊ„{);$(ViUFIxȓ$32=rl2W/oO#B %z<&u"'3> =-uwxe&)$r[>z6iEdF5m(b]>=d|ʆy/s.y)$y/C}G{gG
-cmk70;v=U}ibf)>{~^xTA>mūRuH~ԯtco ^De0ޔ_7?p% ҸMF,^7jhUpi]%ٺ~̫t{L~ߙ2ko7 WNmJPs $ɷSg$ώ65E]E\7"Q76np/{Yu e۞wDm>ڿop[O9hHZaA@8WU
+xڽZ]o6}ϯ0{Y~ XCl:8Zmɕ&Y]D5d/uDKOV<yw.N^=HK* <!H#M"Idr96.~A{nd̷ aD2Dçٜ 9$eRŝ}WyQ?[4+§lLtsmaLpĹ/"/ rgZ ;sYH~IoL6VW$u,;7waJ ?@cAPHXApa߅H"B=Eu[>zdʳϡQ1}? *AmiV75o!ÞC5BS֎:?pۄ!ʝi}iB[QEZ
+g&>.rLf
+H<=ϺEz&8"W+kF"[.4Wi|ҥ$eϯFҗ tix`B  ggb1fa'&-A&p)q&1|P
+
+>82BsL#lg/A^6أJo&Y:_F/6#)n@2h.=tp"
+g;vVE J`**{*Jm-&)Z 'WqMqOCI4E 69?z.<3US(y
+ [S,=7 FX![XЃai0 ,ڠ=$wN*B5l/Yq^O._[ip|#]m{1S55&UPm R  1=t#l˻g6*A?f!Ҫ賴ؕv
+`W7TyƫWHWP3v~g[源W@jx9ePv0C
+#ƻJ?Mz9(e\@}ڤvI:=Pa/Q>j/C!@ o3Fm(P{HuvdV)G?6|02Vkӫ $D1DizGfa>Q?XIAy}mva飃3ԌH(\GIglAJ_\
+aKfs2zLdg>U Q놶Q29oR$]DmR@|]s
endstream
endobj
+6142 0 obj
+<< /Type /Page /Contents 6143 0 R /Resources 6141 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5841 0 R >>
+endobj
+6144 0 obj
+<< /D [ 6142 0 R /XYZ 78.37 808.885 null ] >>
+endobj
6145 0 obj
-<< /Type /Page /Contents 6146 0 R /Resources 6144 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+<< /D [ 6142 0 R /XYZ 81.077 742.929 null ] >>
+endobj
+6146 0 obj
+<< /D [ 6142 0 R /XYZ 81.077 731.97 null ] >>
endobj
6147 0 obj
-<< /D [ 6145 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 721.011 null ] >>
endobj
6148 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 710.052 null ] >>
endobj
6149 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 685.146 null ] >>
endobj
6150 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 674.187 null ] >>
endobj
6151 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 663.228 null ] >>
endobj
6152 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 652.269 null ] >>
endobj
6153 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 641.31 null ] >>
endobj
6154 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 630.351 null ] >>
endobj
6155 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 619.392 null ] >>
endobj
6156 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 608.433 null ] >>
endobj
6157 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 597.474 null ] >>
endobj
6158 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 586.515 null ] >>
endobj
6159 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 575.556 null ] >>
endobj
6160 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 564.598 null ] >>
endobj
6161 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 553.639 null ] >>
endobj
6162 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 542.68 null ] >>
endobj
6163 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 531.721 null ] >>
endobj
6164 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 551.646 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 520.762 null ] >>
endobj
6165 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 540.687 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 509.803 null ] >>
endobj
6166 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 511.796 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 498.844 null ] >>
endobj
6167 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 500.837 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 487.885 null ] >>
endobj
6168 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 471.945 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 476.926 null ] >>
endobj
6169 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 460.986 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 465.967 null ] >>
endobj
6170 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 450.027 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 455.009 null ] >>
endobj
6171 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 439.068 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 444.05 null ] >>
endobj
6172 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 410.177 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 433.091 null ] >>
endobj
6173 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 399.218 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 400.214 null ] >>
endobj
6174 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 388.259 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 389.255 null ] >>
endobj
6175 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 377.3 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 378.296 null ] >>
endobj
6176 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 366.341 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 367.337 null ] >>
endobj
6177 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 355.382 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 356.378 null ] >>
endobj
6178 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 344.423 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 345.42 null ] >>
endobj
6179 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 333.464 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 334.461 null ] >>
endobj
6180 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 322.505 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 323.502 null ] >>
endobj
6181 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 311.547 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 312.543 null ] >>
endobj
6182 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 300.588 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 281.659 null ] >>
endobj
6183 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 289.629 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 270.7 null ] >>
endobj
6184 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 278.67 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 241.808 null ] >>
endobj
6185 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 249.778 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 230.849 null ] >>
endobj
6186 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 238.819 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 201.957 null ] >>
endobj
6187 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 227.86 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 190.999 null ] >>
endobj
6188 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 216.901 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 180.04 null ] >>
endobj
6189 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 205.943 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 169.081 null ] >>
endobj
6190 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 194.984 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 140.189 null ] >>
endobj
6191 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 166.092 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 129.23 null ] >>
endobj
6192 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 155.133 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 118.271 null ] >>
endobj
6193 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 144.174 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 107.312 null ] >>
endobj
6194 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 133.215 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 96.354 null ] >>
endobj
6195 0 obj
-<< /D [ 6145 0 R /XYZ 81.077 122.256 null ] >>
+<< /D [ 6142 0 R /XYZ 81.077 85.395 null ] >>
endobj
-6144 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+6141 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6198 0 obj
-<< /Filter /FlateDecode /Length 2149 >>
+<< /Filter /FlateDecode /Length 1695 >>
stream
-xڵZK6ϯ-2f"6{fȒWw0}$ &6X*WUTn?_~xOB#-;,FL-$KX&eٶ8,[D_C"1t{OK<Kԏs|\R^u=)H2Jژk=]WPt*3ХƠќl8]?ҽfV  0ruЊ-8)atN%\!BG NS?AKHAdib:D[٦>ƬjT\:&iqOh$"۴gءhT ek$QF0Ye~1;~Z%VU#(MQ7S㍄!(T:ʦ)b: ]AbVR|U ηvFr?vu1%HMn[T& )AD+lMhrc̳]TqLFm[4!YK5S^ɗhMFd8N!x:.SQe3)Q&7_
-4__l׌*?VCJXHr5R\م%pT0x{@IX2
-E{z.
-ЎV[=ebM8(&4F*j#hL%:De
-}S:dQEIvgoM}:f;j+EG<N)z<<A(@ɑgvIgWՍqmm*Ts⑶DJbT/PEa#{6¢nʩu_mdw%|ޏzHܿW[;tJ hn%gZ
-P0Y%f,
-IR 'Sk~`$``Z?~O^Mk^A̳1. c
-?sCpuR۰ڮ9mfFB5l{+m"<eppj ) ?yŎR{^u/[wqN!B%
-f?B\}:p,8tkB@B_JbRHoǥ@ʮvQjY\
+xZMo"GW "ū!D#y`zz[x ~utD溜H,|0]^0D330`1T˿>\i7i-l fNN2!Mr)_ۋXV}n_^6fKI+J!iK:F121<U ~h=z
+Gz)[¬ Y0Ec3C8W!6[›Vh|l :b h&%S4:vjBl/6j}_BWnjFߕپ~(':6U}r;~٨u?\q:p28" { yy.v]LҦ^ _&oTr8+|X-rx{08'K#-E>,E}6_! Qʥ@>"  s68sKkb ݥp}PlQAwUʹ먨{?F "ֹF[½
+MЎ(m[Ǔ/ݼ<Ti
+<-64~ -=p6El'dWnd&[+~geﲛ j+)J׳˹K wh?j/ꪽTw3V2 $ʲw?U{oQ5]ht~u:K[\.TKM{<\F#PEbv?~$tl/ |9NY׮=]=hҀeF42װ2hErKБab5rho
+HkPdR-AcTS*$>&
+jS5m$RdU]W>>J rK6HTx(Mx3 cD4E%.j.J \4nh #2iQ.*<l4~. .JQJJ%+ܹAOTD?AU^o
+4<LOǤ a:52$h4p A4:Aٖ E4\:g`Mw,ʰy
+"-'hPwDt2k$i=oBe Bdp =YduZ$6GWYz6` >#'>Ktb |g$.VSB 3
+H YL%P9/_Xq߸\7>e~c,a4418wd)726Ac;NLP$7onkt齭rT18v53Vج6.o'=cF;.tv˰F4
endstream
endobj
6197 0 obj
-<< /Type /Page /Contents 6198 0 R /Resources 6196 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+<< /Type /Page /Contents 6198 0 R /Resources 6196 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5841 0 R >>
endobj
6199 0 obj
<< /D [ 6197 0 R /XYZ 78.37 808.885 null ] >>
endobj
6200 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 754.884 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 768.832 null ] >>
endobj
6201 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 743.925 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 757.873 null ] >>
endobj
6202 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 732.966 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 746.914 null ] >>
endobj
6203 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 722.007 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 735.955 null ] >>
endobj
6204 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 711.048 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 724.996 null ] >>
endobj
6205 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 700.089 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 714.037 null ] >>
endobj
6206 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 689.131 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 703.078 null ] >>
endobj
6207 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 678.172 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 674.628 null ] >>
endobj
6208 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 667.213 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 663.669 null ] >>
endobj
6209 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 656.254 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 652.711 null ] >>
endobj
6210 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 645.295 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 641.752 null ] >>
endobj
6211 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 616.403 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 630.793 null ] >>
endobj
6212 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 605.444 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 619.834 null ] >>
endobj
6213 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 594.486 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 591.384 null ] >>
endobj
6214 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 583.527 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 580.425 null ] >>
endobj
6215 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 572.568 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 569.466 null ] >>
endobj
6216 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 561.609 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 558.507 null ] >>
endobj
6217 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 550.65 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 547.548 null ] >>
endobj
6218 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 539.691 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 519.098 null ] >>
endobj
6219 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 510.799 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 508.14 null ] >>
endobj
6220 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 499.84 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 497.181 null ] >>
endobj
6221 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 488.882 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 486.222 null ] >>
endobj
6222 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 477.923 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 475.263 null ] >>
endobj
6223 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 466.964 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 464.304 null ] >>
endobj
6224 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 456.005 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 453.345 null ] >>
endobj
6225 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 445.046 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 442.386 null ] >>
endobj
6226 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 434.087 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 431.427 null ] >>
endobj
6227 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 423.128 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 420.468 null ] >>
endobj
6228 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 412.169 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 409.509 null ] >>
endobj
6229 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 401.21 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 381.059 null ] >>
endobj
6230 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 390.251 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 370.101 null ] >>
endobj
6231 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 379.292 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 359.142 null ] >>
endobj
6232 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 368.334 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 348.183 null ] >>
endobj
6233 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 357.375 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 337.224 null ] >>
endobj
6234 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 346.416 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 326.265 null ] >>
endobj
6235 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 335.457 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 315.306 null ] >>
endobj
6236 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 324.498 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 304.347 null ] >>
endobj
6237 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 313.539 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 275.897 null ] >>
endobj
6238 0 obj
-<< /D [ 6197 0 R /XYZ 81.077 302.58 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 264.938 null ] >>
endobj
-89 0 obj
-<< /D [ 6197 0 R /XYZ 79.37 279.118 null ] >>
+6239 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 253.979 null ] >>
endobj
-6196 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F73 189 0 R /F69 183 0 R /F72 187 0 R /F78 556 0 R /F79 668 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+6240 0 obj
+<< /D [ 6197 0 R /XYZ 81.077 243.021 null ] >>
endobj
6241 0 obj
-<< /Filter /FlateDecode /Length 3133 >>
-stream
-xڵ[[۸~ϯ`AFP,vChnahlVזIIP㑭A2(\CrMr7ÛXbSa‡XJ7ZQ(zpWF=xODG/t2|`Uo۞veZb}mݔYrn*I1J.yFu% r_N#vs}9{JSHM,L3=1t$a6,R?>?}i%R7ieQ]ez$V.m#,*P|kUl?fU־~)e
-EԜDikn9-o!& MhfAGHMDDn?,~6 YR@}jjPsޫ_ip|9y\8(FQ(j:O /,qb=-w. 7积U}vBHɆ#ɵ%
-?>- %xDK4?'$A?9O/:J3,TO٦>jXL09+y@J1ъĄevF
-BxIEyiDY!@Vc}ڧaὄ/Uy:O /xa`9S`BXt|R(=1-cbgȞǪl2wdr2y@iu s8Ļ%@1˘PM +
-uuuv$4ʘ7@-yuPrFW+k gXL6VYLIa
-]bޅ=UZ};l#^6u C;_s8=O= <$LEUZ</B'PWPq:,ˉgG!aIozV䉨ȳ=eow# E{.[*z7R
- L&g;C4"g(e$$xy4> $xh721/$xNtiWPR?1/6s>,>hֹ۶ }n쒈rE,x^L-`>s-Zuq8OrOz
-;Hrmf?P :[>ͮd ycjN697hD>?<PF萾t9$jstϏKв<(^Veʯf3;CUF!lT,԰wh5 Gn ? V]񹭍&}Kk $+ݧ0YFB5H,#{p{SDž;<zF*= Zeiݸh~Vqxݺ zCxU3L{k#j^QlP<VPv&6*"Qh0BIQQlq6
-Fh(
-endstream
-endobj
-6240 0 obj
-<< /Type /Page /Contents 6241 0 R /Resources 6239 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5835 0 R >>
+<< /D [ 6197 0 R /XYZ 81.077 232.062 null ] >>
endobj
6242 0 obj
-<< /D [ 6240 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 221.103 null ] >>
endobj
6243 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 651.273 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 210.144 null ] >>
endobj
6244 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 640.314 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 199.185 null ] >>
endobj
6245 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 599.467 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 188.226 null ] >>
endobj
6246 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 558.62 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 177.267 null ] >>
endobj
6247 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 547.661 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 166.308 null ] >>
endobj
6248 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 536.702 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 155.349 null ] >>
endobj
6249 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 525.743 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 144.39 null ] >>
endobj
6250 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 514.784 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 133.431 null ] >>
endobj
6251 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 503.825 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 122.473 null ] >>
endobj
6252 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 474.934 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 111.514 null ] >>
endobj
6253 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 463.975 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 100.555 null ] >>
endobj
6254 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 453.016 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 89.596 null ] >>
endobj
6255 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 442.057 null ] >>
+<< /D [ 6197 0 R /XYZ 81.077 78.637 null ] >>
endobj
-6256 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 401.21 null ] >>
-endobj
-6257 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 390.251 null ] >>
+6196 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F20 186 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6258 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 374.311 null ] >>
+<< /Filter /FlateDecode /Length 3141 >>
+stream
+xڭˎ6>_Aqc3هE6 -Bdɑx:njŢ(X*:mf7Ix#o}HL)g
+iEMg$Qt:ByefSJ g2r M 6D2A(a?eݴwx*=yY߸qSq:?Y/ZjfŔxNRP-i> n;†wL;7?C]mE#̏ۢeQ孛-kr7nkp\|[rO?0
+\)B ࡹN"͑HÇD&@XmjG.)S¸_
+<DNnߜ˶[*?IpZ_lU{ \vuMwE^{ޡ Ȭ7šwUW0{9b/0H&G&/V*
+NvKp®Qg~2Z?+]#I~P9$O05Smp` }wǽ$1,e!IԐ}Hd.,,Mw^{pG ɞ~ 8p4!oЇ~`E8w֭-U) G<" (CLD6ܢuTf#BOU` #<$S T?zr3MǑ[( [rlEUhz>qҐ x'l:w@3s=(9 eԔ-@QoP l'jdώi+3UW*ƈ}#r?Ǧ:D/._ &Bң*1xTsI<Np ̪zA.#AmcWtD]JJT;<M1 l8Q7`*YhNͩ#NZJAY)*㏐ށTc*$u&*4ёTj=;&X 4f+WG%6`|fNeDytOnM K(ʶv\n:۫/BiJ|rȪSVm^8N;gS, *LD4sL mB 3<<2리?f:b$ʰ&|.nR\`2\`XҸ5N_T$5b^-0|
+o@H7(2lOP=CT4dQd޻: \
+;xXmq IX,EkUPk?ԫ|㘡j}нB
+B=:S-ϮW9*&&#ܤ+oq37H >]@:Wpo%Y o
+Ց<m}Cc`ʏ}Sw9&kFEX 0|ۅ>N9O GPn("74UDYz(L!?W=_bQh`` k: s^JM
+:[PηEsV+?Gڲ #L(r٢aŌ@[DPݩNos8p'<E;҄V 6͵7`
+n/]ཉj]p\<4.+|+Z%~uSHD00doAʜ/LL4&FM}dndW14˃*4KzWCTvor 6P驫fAra=Q&eL "oòh\$Gxmmﰮ5W=XaUI}n_CnZr=p hPh ) `>! ~ @vsw9iއFA¹(֠'{/Do4$dDn1ɸ)2Mr#npH)<X<:O4^ (m <|\])
+2+/y/ƻěy0#WM6I"鸵 g3|@ 6T ,X:%Yh7Y9˱&\qd(ڐ^/D9nOB~썀z:%]!y%\`ž<던7}~种sb f?tlc3=ds8%QFM#SΤ;S1yו
+`{$6֡י81)?]qD}#ad4 NІYI]~Z4ÃeY7 ~*ᆑ4FO2>lJS<a>m;`&އzԮ벏Z
+endstream
+endobj
+6257 0 obj
+<< /Type /Page /Contents 6258 0 R /Resources 6256 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 5841 0 R >>
endobj
6259 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 363.352 null ] >>
+<< /D [ 6257 0 R /XYZ 78.37 808.885 null ] >>
endobj
6260 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 320.513 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+89 0 obj
+<< /D [ 6257 0 R /XYZ 79.37 746.372 null ] >>
endobj
6261 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 309.554 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 438.866 null ] >>
endobj
6262 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 298.595 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 427.907 null ] >>
endobj
6263 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 287.636 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 387.461 null ] >>
endobj
6264 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 258.745 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 347.015 null ] >>
endobj
6265 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 247.786 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 336.056 null ] >>
endobj
6266 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 236.827 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 325.098 null ] >>
endobj
6267 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 225.868 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 314.139 null ] >>
endobj
6268 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 214.909 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 303.18 null ] >>
endobj
6269 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 203.95 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 292.221 null ] >>
endobj
6270 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 192.991 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 263.73 null ] >>
endobj
6271 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 116.279 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 252.771 null ] >>
endobj
6272 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 105.32 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 241.812 null ] >>
endobj
6273 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 94.361 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 230.853 null ] >>
endobj
6274 0 obj
-<< /D [ 6240 0 R /XYZ 81.077 83.402 null ] >>
-endobj
-6239 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 668 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R /F70 185 0 R /F73 189 0 R /F69 183 0 R /F23 660 0 R /F76 318 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 6257 0 R /XYZ 81.077 190.407 null ] >>
endobj
-6277 0 obj
-<< /Filter /FlateDecode /Length 2004 >>
-stream
-xYKoW6)(0hѹhY\xQSx+K,=ԃ"ӌ̢XxGjK?]ys+Il_m|DWliYl9VmzQUF"3'&qplʺ+vab(aL1hSUOÇgt[wmtÆߧ,aa "f81:"<Y0a |/-=shmk|W޸JɰJ~*!0`1San;FCM5Z%1bC[E5B$҆es[Mz~X&F11Tix}DtH~-g0:_n:rS|4p獒5'R 1?b-n]9{I_XiFQ"ssK
-. f"EfQ6'㸹c4^6!Zd
-K=ܺmWmv J,iIIHИ CLò@Xh*#wP_ ~cSZId%K oI&$ d,bsS˃^r\ s3 Ct>AvJr\sK*r
-6 ?wf͂J e/c&qmU_1hx]ўmջ~]ǵsCNHG|v7B:kn|f] 01DiL CIGhz JG
-):>GsTRVp B;\}h7\֠q kq83A޹M\~PmA
- wPЗ_˶dsYD fʭhÕ X ƆDc;<>o^# kF~BǓXwXb2mcǝ=*M+EŇ"DsqўA(y
-=A_ˠCOiપb
-
-áo!c ܗ-pMc_4PueQ mT@MjAbb /^c7OY9veS#ݟ#ǁoUZׯת/Ԇ uҎxz<X݃=<ڝ|Ki,ems{rG۰??}3s|8}=¢S^nM%@7uZ$%֌=kus8 `
-endstream
+6275 0 obj
+<< /D [ 6257 0 R /XYZ 81.077 179.448 null ] >>
endobj
6276 0 obj
-<< /Type /Page /Contents 6277 0 R /Resources 6275 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+<< /D [ 6257 0 R /XYZ 81.077 163.909 null ] >>
+endobj
+6277 0 obj
+<< /D [ 6257 0 R /XYZ 81.077 152.95 null ] >>
endobj
6278 0 obj
-<< /D [ 6276 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 111.514 null ] >>
endobj
6279 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 100.555 null ] >>
endobj
6280 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 89.596 null ] >>
endobj
6281 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 6257 0 R /XYZ 81.077 78.637 null ] >>
endobj
-6282 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-6283 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 724.996 null ] >>
+6256 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F78 556 0 R /F20 186 0 R /F79 668 0 R /F76 318 0 R /F26 662 0 R /F70 185 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6284 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 714.037 null ] >>
+<< /Filter /FlateDecode /Length 2304 >>
+stream
+xZMϯ040 H}`w!mv[Y濧!ZtZs&rLI|,,
+~|7߿#zTFL$Kzد~Z?-clpS/<{맮P7ŗ&#-dZτoM?TlC=9R,q -fΑGv&!ȵb+ _FL
+$sqaX
+'nHV$` x9iG\wTDl3QQyT腑!D"ZDBu8,X62׵-
+t1^i`*&_GC*7
+Ǧ)߾-걄nͶ Tn}"kn"J&1тӸ5/BPJ8 ̦:8d}1_7 9cT]VAkim1jʇ)JM+Klvfen<tbdڤU^DeL3gd[AF9ޚ=ouUelG|r9[~!owhKʻ;v<xE3(#H?oQE`<EC/4*&C,
+Yf0F
+0cpqsL&cg0UWJ ) nǺka"q^"Ρi!
+7zcj7EKތބbM1ƺ})ex{8l,djZUL02ZjWИcU4$kd޼
+tsڽ_MaYR@~//%1G8b}]> O](`˚^8:_:<_%8[&h>,.)Bq}"!oolCP #MBNm6㮞DOv{DO]s5*e NǮkݙ}ҾKR)Yn>Agc"+rwq
+V\hNS,H1k̺r~.Y
+dDgfd8>ٔbo%UHϣy6Hy0DD%4oa߸0ͤ,k%l+?^)z/1 W"ISn⊦~wj |3uwm;[Toty׿s?7
+"1y=G-LިT=G*h)S1rAtW%# :m
+'>ɧΊut~2ἶ|
+-M_"+5tNzKFe,=Lq$2
+纝t
+"l,ՇڽIhxEDliyM/+3E3V6Hf_X
+endstream
+endobj
+6283 0 obj
+<< /Type /Page /Contents 6284 0 R /Resources 6282 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6334 0 R >>
endobj
6285 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 6283 0 R /XYZ 78.37 808.885 null ] >>
endobj
6286 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 754.884 null ] >>
endobj
6287 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 743.925 null ] >>
endobj
6288 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 732.966 null ] >>
endobj
6289 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 722.007 null ] >>
endobj
6290 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 711.048 null ] >>
endobj
6291 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 700.089 null ] >>
endobj
6292 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 689.131 null ] >>
endobj
6293 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 612.418 null ] >>
endobj
6294 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 601.459 null ] >>
endobj
6295 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 590.5 null ] >>
endobj
6296 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 579.542 null ] >>
endobj
6297 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 568.583 null ] >>
endobj
6298 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 557.624 null ] >>
endobj
6299 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 546.665 null ] >>
endobj
6300 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 535.706 null ] >>
endobj
6301 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 524.747 null ] >>
endobj
6302 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 513.788 null ] >>
endobj
6303 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 502.829 null ] >>
endobj
6304 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 491.87 null ] >>
endobj
6305 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 480.911 null ] >>
endobj
6306 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 456.717 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 469.953 null ] >>
endobj
6307 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 445.758 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 458.994 null ] >>
endobj
6308 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 398.081 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 448.035 null ] >>
endobj
6309 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 387.122 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 437.076 null ] >>
endobj
6310 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 376.163 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 426.117 null ] >>
endobj
6311 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 365.204 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 415.158 null ] >>
endobj
6312 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 326.065 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 404.199 null ] >>
endobj
6313 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 315.106 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 393.24 null ] >>
endobj
6314 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 304.147 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 382.281 null ] >>
endobj
6315 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 293.189 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 371.322 null ] >>
endobj
6316 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 282.23 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 360.363 null ] >>
endobj
6317 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 271.271 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 349.405 null ] >>
endobj
6318 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 260.312 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 338.446 null ] >>
endobj
6319 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 249.353 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 327.487 null ] >>
endobj
6320 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 238.394 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 316.528 null ] >>
endobj
6321 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 227.435 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 305.569 null ] >>
endobj
6322 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 216.476 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 294.61 null ] >>
endobj
6323 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 205.517 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 283.651 null ] >>
endobj
6324 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 194.558 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 254.759 null ] >>
endobj
6325 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 183.599 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 243.801 null ] >>
endobj
6326 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 172.641 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 190.999 null ] >>
endobj
6327 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 161.682 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 180.04 null ] >>
endobj
6328 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 150.723 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 169.081 null ] >>
endobj
6329 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 139.764 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 158.122 null ] >>
endobj
6330 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 128.805 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 117.275 null ] >>
endobj
6331 0 obj
-<< /D [ 6276 0 R /XYZ 81.077 117.846 null ] >>
+<< /D [ 6283 0 R /XYZ 81.077 106.316 null ] >>
endobj
-6275 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+6332 0 obj
+<< /D [ 6283 0 R /XYZ 81.077 95.357 null ] >>
endobj
-6335 0 obj
-<< /Filter /FlateDecode /Length 1672 >>
+6333 0 obj
+<< /D [ 6283 0 R /XYZ 81.077 84.398 null ] >>
+endobj
+6282 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R /F75 317 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+6337 0 obj
+<< /Filter /FlateDecode /Length 1898 >>
stream
-xYMo8WxыČMX؏t[ZMBlɕA#SHN<i %%=͐fIwd,]lﻳ?&gWr6(| (hEI` n+eX 4r1]{HWUYifUq>Ln߾}NEY**W+?+3ssKⴹYB
-[%(ЍE:]_n[r ft([nxܻuvuz_Ÿ(Z^-ʿߗ]. zwO;ow6zI`ci7d 6EY\ۀ,ۆyl㸹1|2k ?bKpBC0exN('&X?vh0]QjF6~y8:Ck޸t|=.9lyXDH/!t8CwOİTUIE谒"l^;(GLڍ}
-MqC>oY(lxk$OkJZ>J%I*jy 1h|A-xvU/ۚeWkg kyeULp5Q<kHЂDJXIT"pRgn)#HbmgAmОzoQ#'B&\߿U 4eŠw[JS-6.M2n׿e^Wf*)tk[T`/ݦҨӝ|Z#U[YE]
-VUP4"4^;0|v.3PN E5 ]3'&:n T;1Ul֥Od
- 4&0 xHzm"O6-P"2hzQftPhtbXnϝ@DBJĄo{#t@[)!]"ߓ
+xڵYMo6W%6\4P`я!- EaBl+˛ Mz'^,J#ߐ73T1OJo'?_|&5 E3()]fO쟫?c_o/b&S O eAh򸱥!ܚ7,6_˳sݻEUveXyŸeKXc%Th=ͫ@)\'Bǻ~_ę!ԈH\㈧
+ݪ\b&hBTNhORV^ilU0Cvwumj{LA=:ӆheUՏ?24/a"-.+vZ<ʶ8)SjEĤ9
+xF=W=A|Wb@쎌6BUƏM 6:2`p0fƏ]hxYu@BvEZ)A&Cyx{A)B%ShmAm\gL>͝$Ov*v? [sߕUn >;g];r:qŊC809&g6IKq%*&4u_M9/jd(]za|Ӆao$qq[jsOaJ<~蓆 ?L{U6nzIilc|89{!TYTDIЛXpbttf}dPPbi=,lw7^m,W`.E3,bi %<zW/VlkWaޣYтXQR_+,
+R ]>pT0121b. %bέ8J0PDļă ^~2${^p/4ؿ6dNh!g
+5㛫?~<j{Xͦq]CO-wQ(%vr. M2(8LNMx a%fն}UFKP
+S+$g`$ySxZ4A)ZP(wZ!f2
+Qr\uk,;-E{17C3oˬhʭʾ?2yV9pSqe).74P=8n N@j ZcpLfᝐ7FuP4Y_gL)\BZDaʰxVtkEd1`Cx eLMڣzv|_^t 5T|3lw}z_g@O%ŎY8SW_]<C5֙Ҩ Q7ZBtOY(bc23C'A;/qR!~mXМa,6ԐݑP4C<cLy LMd|U2kS9ÙD󢕢DwV+HLc@qu :bm:X&W-1)0ݩF_& `{gzVߠ) /k\sʟ-:q[LF}E2HiDq Y2:Ed㊈n| Pwؓ^A %GÞ |m`u-}'BK]D㨧#bMGXrFp;D|J-j7QO)r^_>+ Ď=s.ə@~r*F78/c!YC_d`=VHeΞWv7ڴ.h,T;g$XNTO3,.إ]mr,ys}1)U=3ǖJAHe߮N'ct
endstream
endobj
-6334 0 obj
-<< /Type /Page /Contents 6335 0 R /Resources 6333 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
-endobj
6336 0 obj
-<< /D [ 6334 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-6337 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 768.832 null ] >>
+<< /Type /Page /Contents 6337 0 R /Resources 6335 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6334 0 R >>
endobj
6338 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 6336 0 R /XYZ 78.37 808.885 null ] >>
endobj
6339 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 768.832 null ] >>
endobj
6340 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 757.873 null ] >>
endobj
6341 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 746.914 null ] >>
endobj
6342 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 735.955 null ] >>
endobj
6343 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 661.235 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 724.996 null ] >>
endobj
6344 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 650.276 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 714.037 null ] >>
endobj
6345 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 639.317 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 703.078 null ] >>
endobj
6346 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 628.358 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 692.119 null ] >>
endobj
6347 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 587.512 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 681.16 null ] >>
endobj
6348 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 576.553 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 670.202 null ] >>
endobj
6349 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 565.594 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 659.243 null ] >>
endobj
6350 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 554.635 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 648.284 null ] >>
endobj
6351 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 543.676 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 637.325 null ] >>
endobj
6352 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 502.829 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 626.366 null ] >>
endobj
6353 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 491.87 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 615.407 null ] >>
endobj
6354 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 480.911 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 604.448 null ] >>
endobj
6355 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 469.953 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 551.646 null ] >>
endobj
6356 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 458.994 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 540.687 null ] >>
endobj
6357 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 428.109 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 529.728 null ] >>
endobj
6358 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 417.151 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 518.769 null ] >>
endobj
6359 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 406.192 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 507.811 null ] >>
endobj
6360 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 395.233 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 496.852 null ] >>
endobj
6361 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 384.274 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 444.05 null ] >>
endobj
6362 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 373.315 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 433.091 null ] >>
endobj
6363 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 330.476 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 422.132 null ] >>
endobj
6364 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 319.517 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 411.173 null ] >>
endobj
6365 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 308.558 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 370.326 null ] >>
endobj
6366 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 297.599 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 359.367 null ] >>
endobj
6367 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 286.64 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 348.408 null ] >>
endobj
6368 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 275.681 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 337.449 null ] >>
endobj
6369 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 264.722 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 326.49 null ] >>
endobj
6370 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 253.763 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 285.644 null ] >>
endobj
6371 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 242.804 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 274.685 null ] >>
endobj
6372 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 201.957 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 263.726 null ] >>
endobj
6373 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 190.999 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 252.767 null ] >>
endobj
6374 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 180.04 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 241.808 null ] >>
endobj
6375 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 169.081 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 210.924 null ] >>
endobj
6376 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 158.122 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 199.965 null ] >>
endobj
6377 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 147.163 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 189.006 null ] >>
endobj
6378 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 136.204 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 178.047 null ] >>
endobj
6379 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 125.245 null ] >>
+<< /D [ 6336 0 R /XYZ 81.077 167.088 null ] >>
endobj
6380 0 obj
-<< /D [ 6334 0 R /XYZ 81.077 114.286 null ] >>
-endobj
-6333 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 6336 0 R /XYZ 81.077 156.129 null ] >>
endobj
-6383 0 obj
-<< /Filter /FlateDecode /Length 1546 >>
-stream
-xZMoFWEF~sW'i(ts i E*$]'߻%W4Gv"v̛{>هk={Ӈ3b^`xF|Iěνѯq_c|YGpHof]K|&Ư"UaƳ<͋eG?Z1[-X c$jOfyiEn$İ>"mBa(rbj]pM&~9=a]o^-7;V7L""5f"!Qᢗཀྵ@D 7gE> y0<ɮSC8LZzEnqp`%HW 0*VeegPVRSLoYay^wvoS?2Q.fiIIe.kv~i,'. JoLjcbePwFS7U!jԣO$H4OIòjdxG+X|TQ<v^"co#BLD=ʟ(eȒ8,K>=oA䠿: %OZPuph8uMB2F0b;6 Aj+&ɰnt.h#'H)fm{U4vo<z" H\c"I8D),~ E^Fq4Ydsjf9b΁y;hp)R-5 qЍfUgӷSM^zTKPVLT-90A`:K㰨|rKC/fAq(o?>頇PNabW˛c><5S8SnܖBa9GOL}N.7S
-Sso}0]tKi= 9M&^fŁ2m6EGm߱_/[d(;F&wWUXTqYIKz|܅seMHc'/T dHYRmu;ʩ@\}xs]55^Φx۔p
- nNpo hU>
-k^D û.twK\%ST+V@}<`bxmM8<bFRઽPX 4)`.$K,d1T
-sݧ^8ۧ' ۋΩWj*̻0,6hަľKF@I,6Y`O04X`.v$¦uZ_UnW 16囃;((kc^Fsx㜿>
-\,? upe6lT(sz!67l3*=5ǽ$ Ti4z'҇
-7 .a(i]`o4pBq .zW{qgGؒaCr 3$-6v55]w[68Fz?Ȏ2=i!D
-endstream
+6381 0 obj
+<< /D [ 6336 0 R /XYZ 81.077 113.29 null ] >>
endobj
6382 0 obj
-<< /Type /Page /Contents 6383 0 R /Resources 6381 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+<< /D [ 6336 0 R /XYZ 81.077 102.331 null ] >>
endobj
-6384 0 obj
-<< /D [ 6382 0 R /XYZ 78.37 808.885 null ] >>
+6383 0 obj
+<< /D [ 6336 0 R /XYZ 81.077 91.372 null ] >>
endobj
-6385 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 754.884 null ] >>
+6384 0 obj
+<< /D [ 6336 0 R /XYZ 81.077 80.413 null ] >>
endobj
-6386 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 743.925 null ] >>
+6335 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6387 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 732.966 null ] >>
+<< /Filter /FlateDecode /Length 1533 >>
+stream
+xZKOH+RGN}0=n#$Ʊ3߷8ݮW
+k~k3FGfW%C]qDD;Nku~9B\dE;8jt|Lsj`&Vì:v@ m.WlFq W^珿VY^6TYVNCF] k՚.rs9@4
+ܷSdn/h a5EM`u渪˼~n67$j.0taꡜ$qdK ǝ|%Uĩ
+M
+?P0`WHE y@p %Ye圛P!V\NLB=&}^a>Z==]4-b@H:.^m:
+W^f6MQY"T[ܙ89EDiH\m[M%uFPvB_1-N.̓2ߞ"3WDP >R!$Q<qqGXC217—{%EsA&/vaf꺧FWY7=K_x3<k?ϳ~TM0'jo _Sωޏ|/6Ngb:6pU>9b3Zkuc?7,C2+VptôY8SHrb~iX9'F
+ FCc̼5Y^s}we 2X{19TSZgPِ?
+endstream
+endobj
+6386 0 obj
+<< /Type /Page /Contents 6387 0 R /Resources 6385 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6334 0 R >>
endobj
6388 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 722.007 null ] >>
+<< /D [ 6386 0 R /XYZ 78.37 808.885 null ] >>
endobj
6389 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 711.048 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 768.832 null ] >>
endobj
6390 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 700.089 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 757.873 null ] >>
endobj
6391 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 689.131 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 746.914 null ] >>
endobj
6392 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 678.172 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 735.955 null ] >>
endobj
6393 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 667.213 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 724.996 null ] >>
endobj
6394 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 686.992 null ] >>
endobj
6395 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 676.033 null ] >>
endobj
6396 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 665.074 null ] >>
endobj
6397 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 654.115 null ] >>
endobj
6398 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 643.156 null ] >>
endobj
6399 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 632.197 null ] >>
endobj
6400 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 621.238 null ] >>
endobj
6401 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 610.279 null ] >>
endobj
6402 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 599.321 null ] >>
endobj
6403 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 497.848 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 561.316 null ] >>
endobj
6404 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 486.889 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 550.357 null ] >>
endobj
6405 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 475.93 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 539.398 null ] >>
endobj
6406 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 464.971 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 528.44 null ] >>
endobj
6407 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 454.012 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 517.481 null ] >>
endobj
6408 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 443.053 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 506.522 null ] >>
endobj
6409 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 432.094 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 495.563 null ] >>
endobj
6410 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 421.136 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 484.604 null ] >>
endobj
6411 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 410.177 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 473.645 null ] >>
endobj
6412 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 399.218 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 435.641 null ] >>
endobj
6413 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 358.371 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 424.682 null ] >>
endobj
6414 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 347.412 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 413.723 null ] >>
endobj
6415 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 306.565 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 402.764 null ] >>
endobj
6416 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 295.606 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 391.805 null ] >>
endobj
6417 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 284.647 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 380.846 null ] >>
endobj
6418 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 273.688 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 369.887 null ] >>
endobj
6419 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 262.73 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 358.928 null ] >>
endobj
6420 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 231.845 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 347.97 null ] >>
endobj
6421 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 220.887 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 309.965 null ] >>
endobj
6422 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 209.928 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 299.006 null ] >>
endobj
6423 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 198.969 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 288.047 null ] >>
endobj
6424 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 188.01 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 277.089 null ] >>
endobj
6425 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 177.051 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 266.13 null ] >>
endobj
6426 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 166.092 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 255.171 null ] >>
endobj
6427 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 155.133 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 244.212 null ] >>
endobj
6428 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 144.174 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 233.253 null ] >>
endobj
6429 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 133.215 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 222.294 null ] >>
endobj
6430 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 122.256 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 211.335 null ] >>
endobj
6431 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 111.297 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 171.436 null ] >>
endobj
6432 0 obj
-<< /D [ 6382 0 R /XYZ 81.077 100.339 null ] >>
-endobj
-6381 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 6386 0 R /XYZ 81.077 160.477 null ] >>
endobj
-6435 0 obj
-<< /Filter /FlateDecode /Length 2674 >>
-stream
-xڭZߏ6~_C KtQ h-! խ,gH,zދeQȏ3̈xv7ó^awDRJ>^"
-1UDah:\\xﲢȊ;V/1L s[^eHJg"v]-@\!}ۊNݗ$7<q//4FrqIM+хQR%9Gj4ʺQ<1'h&v]Ԗy=i+:kۖgG&"DD/Ӳ*tSrAX<G-#a،#P@±D@!QHmn9 ,H{k6ڽһv[R#ˤm~{w_e݅NPD9'$MĨOcXh,崱)FS>IiwH&ɓkzܤ sqOBюw݅2/Wk~cV4mW]k8ߗqG٧܇8d{`#X/o*+(<+R/T宵\Qvϟn^ے$q> ZM^N,e~[l=A ZZҼnx<~&,l&CљI$ۼYDj$,C2V=aDCu4Qq͹"1{"
-c:Do9f(`ۗuUwzY7 Wh6{+:lR{TL 3#L'fF{0K`lx8DInrz*l3>8"XzUmƆ$K?eP8Ex\{\9cFnons4;|IR!GN޾>Rg}Q.3ǧ4YYKPAw㚣- AU1>٦hmdIM#(=f8I<ژn Y@ax8~  aꌲ(aTX2tngsTw&Ili|e0Ml2CN'B 9q06:bё4+p+'VDKz1BKODOM#׏~Hi|BQbXΏN.bTWh0-o<òNe.C䓌Ʀ6r0dcJI|:L:KmKM:ͺ&[e`/QγG!4:S^qO )g>ppꙶ5)
-H}気. h&&XW}=A<tGͲYJLjov}vd2FVCІxKRQ_aU3VVEIզ+=yeprs2Tº)YU 4J#*W.O4 n &ȗYќo!#܅ýh ܷUeLiLڇf_(&[ħuԷ[z8"6\wmXkP`?W$VG?uUH{Kĸ8HX\qnY,ڐ?Jz
-;5!T"nD*ȯySYcl{y'@<]F@)&s$h_EI/о/N ͽ.ٚ`i͙aM [gLh&wPUpЯ^*&ªrS@ׯ'
-endstream
+6433 0 obj
+<< /D [ 6386 0 R /XYZ 81.077 122.473 null ] >>
endobj
6434 0 obj
-<< /Type /Page /Contents 6435 0 R /Resources 6433 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+<< /D [ 6386 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+6435 0 obj
+<< /D [ 6386 0 R /XYZ 81.077 100.555 null ] >>
endobj
6436 0 obj
-<< /D [ 6434 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 89.596 null ] >>
endobj
6437 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 730.974 null ] >>
+<< /D [ 6386 0 R /XYZ 81.077 78.637 null ] >>
endobj
-6438 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 720.015 null ] >>
-endobj
-6439 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 709.056 null ] >>
+6385 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6440 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 698.097 null ] >>
+<< /Filter /FlateDecode /Length 2320 >>
+stream
+xڭZ[o~P/2O~b`f}p}JkԒTTH~{pH qP3F ~ כqd4atvsA!<#3-$j$AX\Hn.?_if) &Ȑo}K<ټ~_<=%啠ݻ곭")VEVq/|oS!X`۰Fn{O!QѲA^6&bzYEtzx&H5"4 "xWQ;llO+"&%R4nj#@ ^&[hČѝrbE~!8u???~>lRsĸiiB`ކqfY1ݏ-і'onCcM(Z0
+#Zrwlv툊Ke:?DE8C&̋ZAGʶ,rywߡюi/R2*)}="L'E`DŽ7 P'6k]
+dLl;}6Pu\uZ6f%A}&m7(KT+ZMp$t[6 >_'+G1yvNpG[I(XbSB|u8dijٸhB )֬i\|8)&cZAKL琌ġlJ7k0kLҍ)sqTrį8E yQJ1
+:x2Zܵ[R>ְLU`HnF_؀: N<LrPtwH]m 9NsW}I֙]Gdi`p@?[m{m1,>GiQE A
+endstream
+endobj
+6439 0 obj
+<< /Type /Page /Contents 6440 0 R /Resources 6438 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6334 0 R >>
endobj
6441 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 687.138 null ] >>
+<< /D [ 6439 0 R /XYZ 78.37 808.885 null ] >>
endobj
6442 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 676.179 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 768.832 null ] >>
endobj
6443 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 645.295 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 757.873 null ] >>
endobj
6444 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 634.336 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 746.914 null ] >>
endobj
6445 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 623.377 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 735.955 null ] >>
endobj
6446 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 612.418 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 724.996 null ] >>
endobj
6447 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 601.459 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 714.037 null ] >>
endobj
6448 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 590.5 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 703.078 null ] >>
endobj
6449 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 579.542 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 692.119 null ] >>
endobj
6450 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 568.583 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 681.16 null ] >>
endobj
6451 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 557.624 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 670.202 null ] >>
endobj
6452 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 449.031 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 659.243 null ] >>
endobj
6453 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 438.072 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 648.284 null ] >>
endobj
6454 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 409.18 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 637.325 null ] >>
endobj
6455 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 398.221 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 570.575 null ] >>
endobj
6456 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 387.263 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 559.616 null ] >>
endobj
6457 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 376.304 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 548.657 null ] >>
endobj
6458 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 365.345 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 537.698 null ] >>
endobj
6459 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 354.386 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 526.74 null ] >>
endobj
6460 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 313.539 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 515.781 null ] >>
endobj
6461 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 302.58 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 484.896 null ] >>
endobj
6462 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 291.621 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 473.938 null ] >>
endobj
6463 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 280.662 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 462.979 null ] >>
endobj
6464 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 239.816 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 452.02 null ] >>
endobj
6465 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 228.857 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 441.061 null ] >>
endobj
6466 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 217.898 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 430.102 null ] >>
endobj
6467 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 206.939 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 419.143 null ] >>
endobj
6468 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 195.98 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 408.184 null ] >>
endobj
6469 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 185.021 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 397.225 null ] >>
endobj
6470 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 156.129 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 288.632 null ] >>
endobj
6471 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 145.17 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 277.674 null ] >>
endobj
6472 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 134.212 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 248.782 null ] >>
endobj
6473 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 123.253 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 237.823 null ] >>
endobj
6474 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 112.294 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 226.864 null ] >>
endobj
6475 0 obj
-<< /D [ 6434 0 R /XYZ 81.077 101.335 null ] >>
-endobj
-6433 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R /F76 318 0 R /F75 317 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 6439 0 R /XYZ 81.077 215.905 null ] >>
endobj
-6478 0 obj
-<< /Filter /FlateDecode /Length 2380 >>
-stream
-xڭZ]۸}ϯ0/6voX춳m/a0d[%Gg{)){lsxxyy ~_tGL!%䳇wn%
-dH$}f?G)Tr٪+.HLY=]n};JNk-S|}nj7mg~4-3P ټ~ ډyQ]<-ga[s |֗~LY
-,>fӂs֟}gZr=
-*GpSF
-2FFK j5]Ye.4Pmnď2J7R>:odwrLd*hqjӼ7KUhm|u'9)7?IԟQu
-OV@͉w ( p
-Du./J *zaޜ }?a(֕=rAۻl>ϛ|sh,BD46jՕ&H=sӚ"ʾ
-3`*)|dT2% ::W&%KDh]o&tpwn+4GIn?1z 1P|ʨ_.yd ʕ
-h7
-|FMEuE=Hne;}ȫavV)`DLB0btII:aevYf͇.7o
-B<?, k p}E3nHtT;Cƭl8'h3՜I@m7)7EҔt,]PJ}FۦmǢ+5^CX`8J|=ӥ+T7Yp&OoqM
-b ~IY'E"
-endstream
+6476 0 obj
+<< /D [ 6439 0 R /XYZ 81.077 204.946 null ] >>
endobj
6477 0 obj
-<< /Type /Page /Contents 6478 0 R /Resources 6476 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+<< /D [ 6439 0 R /XYZ 81.077 193.987 null ] >>
+endobj
+6478 0 obj
+<< /D [ 6439 0 R /XYZ 81.077 153.141 null ] >>
endobj
6479 0 obj
-<< /D [ 6477 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 142.182 null ] >>
endobj
6480 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 743.569 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 131.223 null ] >>
endobj
6481 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 732.611 null ] >>
-endobj
-6482 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 721.652 null ] >>
+<< /D [ 6439 0 R /XYZ 81.077 120.264 null ] >>
endobj
-6483 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 710.693 null ] >>
+6438 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F76 318 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6484 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 699.734 null ] >>
+<< /Filter /FlateDecode /Length 2242 >>
+stream
+xڭZ]o6}_a`j o~( l݇<SLq$WǓR(Rqӝ&$+ŧ^}5 /nxd4bj$AXV [+r[?+[WT-möO쳹C
+ۤWfS|Pf1w; YṇK|;jlMm{0!_>b?bc @qcޙ˼^q_0 e 8ip9mKhı !0vϢdFΌnf\ ,>hbd?4`&_ kXiŻaC^nr{zk Vg HQ#iRdkdnx6` WBG:!]$IgL<?_KH`|LFh6Zܬi=~&SsßrDkG *0r$ͩ' xxs
+%FoSQ;5>]ۗ vgj$ Z8Iqm赻]ߔo3VH28(9СomZ!/ljmM#8mT[a;@{+E~lCpPV)y3EYˍՖfe`DCsC!BI*gSɉRչw8^mW^KE/Kx69fZ {qۉ"7sm>u~,R}f_ɢ "`dBH[YVWayHY0L0 .4JXv]Xkhfv1Ng>gE!p&n7( K7֛&%.CG׈hTvX!,N}xwUeb&G@&D65mm#JD)Eڥ
+8uq}30\dzBvY" /tK]*=m[7.;k(gl?tfpYS:N^%_*蕅z+? %<˸vtgjJ૾U`Ѣ%A$7™HI6+ޣDLגKDy=35-r>/p,aO|^
+ DEf>ᠼ!z;MDXe0kB.$ :ExHR&ET¬GfgUYdbRsnI<9Ctі .焖({~hw(NY#3'N_ə Asc"Ϥq$
+",z0Wiu817*f6/S |rF A<aL#7|[۳M(bp E.)DY`
+^6m+oˬD8$0S
+DNÚGW*f
+endstream
+endobj
+6483 0 obj
+<< /Type /Page /Contents 6484 0 R /Resources 6482 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6334 0 R >>
endobj
6485 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 688.775 null ] >>
+<< /D [ 6483 0 R /XYZ 78.37 808.885 null ] >>
endobj
6486 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 677.816 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 742.929 null ] >>
endobj
6487 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 650.206 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 731.97 null ] >>
endobj
6488 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 622.595 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 721.011 null ] >>
endobj
6489 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 611.636 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 710.052 null ] >>
endobj
6490 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 600.677 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 699.093 null ] >>
endobj
6491 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 589.718 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 688.134 null ] >>
endobj
6492 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 578.759 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 659.243 null ] >>
endobj
6493 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 551.149 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 648.284 null ] >>
endobj
6494 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 540.19 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 637.325 null ] >>
endobj
6495 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 529.231 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 626.366 null ] >>
endobj
6496 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 501.621 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 615.407 null ] >>
endobj
6497 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 490.662 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 604.448 null ] >>
endobj
6498 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 479.703 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 563.601 null ] >>
endobj
6499 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 468.744 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 552.642 null ] >>
endobj
6500 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 457.785 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 541.684 null ] >>
endobj
6501 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 446.826 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 530.725 null ] >>
endobj
6502 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 435.867 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 519.766 null ] >>
endobj
6503 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 424.908 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 508.807 null ] >>
endobj
6504 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 413.95 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 497.848 null ] >>
endobj
6505 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 402.991 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 468.956 null ] >>
endobj
6506 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 392.032 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 440.065 null ] >>
endobj
6507 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 381.073 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 429.106 null ] >>
endobj
6508 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 370.114 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 418.147 null ] >>
endobj
6509 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 359.155 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 407.188 null ] >>
endobj
6510 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 348.196 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 396.229 null ] >>
endobj
6511 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 337.237 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 367.337 null ] >>
endobj
6512 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 326.278 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 356.378 null ] >>
endobj
6513 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 315.319 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 345.42 null ] >>
endobj
6514 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 304.36 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 316.528 null ] >>
endobj
6515 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 293.402 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 305.569 null ] >>
endobj
6516 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 282.443 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 294.61 null ] >>
endobj
6517 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 271.484 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 283.651 null ] >>
endobj
6518 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 260.525 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 272.692 null ] >>
endobj
6519 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 249.566 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 261.733 null ] >>
endobj
6520 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 205.304 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 250.774 null ] >>
endobj
6521 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 194.345 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 239.816 null ] >>
endobj
6522 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 183.386 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 228.857 null ] >>
endobj
6523 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 172.427 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 217.898 null ] >>
endobj
6524 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 161.468 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 206.939 null ] >>
endobj
6525 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 150.509 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 195.98 null ] >>
endobj
6526 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 185.021 null ] >>
endobj
6527 0 obj
-<< /D [ 6477 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-6476 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 6483 0 R /XYZ 81.077 174.062 null ] >>
endobj
-6530 0 obj
-<< /Filter /FlateDecode /Length 2055 >>
-stream
-xڭZMܸW4Xso,"94@@Ш3JRGRg5Sٔnk&"bztI7K~DMF2ŔQH7t3F+JRE7ߓ<y苲NXz+ǝs}x5Ʉ1Kep.1
-m3s1Pgz!H=WT -;5(
-&\Rs:6,RDH)h rQy[=Ǿrvdr1k~mk>Ew?%z^0/vۼӜ=6„ cf)<mu;ew8ŠosSM>9)a& )R诳=vC5n?Wm\7K0~d
-s"uϱSٵzh}jWT䈶^H"28-C 0A}m>m{)^q",3Էhj2x@#R=K4~`*1qHׂr}+?O]5^fm7/oh /Xq,(Ca\%&)p;B[eT9JKc:yG[ؘe8箒<F5 j<HziS:@m$5_n xMgdŃ]#ȦlTR[@|ky9ݩJ2$e! \,2 $'K|&?kh0Й \vo4^k/^f
-.q5B,zM{0q ̑\R6K a:X˱-r` X˱0T.Coɱؼ 9e2Dz9e29 ƶ]t׹pl[?K~v=QNE!q"CӸ.|D
-aˮyqX@uTO9^..|52#4IUֿ@ -QVw?
-
-;Rrzi,i9WI"_[
-2Y*EmuM^﷟mXK e<cEQ BvmDȭmh@d:H^Izu( A*d] I祺QICxf"uP%:/YH߉Ov
-CRM NkoTJOq!B}9ڿ(z=b K"Vp/oiʄȫ4j Fh[(h=BT4#4~ĺvA#4bGɷQT1STз0P|h.0O)Kz<Mz׾R{>};?'=-
-iʮ}L,J0'V@J")|=?urߺuRKه?NOI)֟ ԌB+gsBHF}wO]sPDB'rR` i8K~=C3fHN}s XÊVe .FC5E,EdMw|!g5~ t&I
-endstream
+6528 0 obj
+<< /D [ 6483 0 R /XYZ 81.077 163.103 null ] >>
endobj
6529 0 obj
-<< /Type /Page /Contents 6530 0 R /Resources 6528 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+<< /D [ 6483 0 R /XYZ 81.077 152.144 null ] >>
+endobj
+6530 0 obj
+<< /D [ 6483 0 R /XYZ 81.077 141.185 null ] >>
endobj
6531 0 obj
-<< /D [ 6529 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 130.226 null ] >>
endobj
6532 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 740.936 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 119.268 null ] >>
endobj
6533 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 729.977 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 108.309 null ] >>
endobj
6534 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 719.019 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 97.35 null ] >>
endobj
6535 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 708.06 null ] >>
-endobj
-6536 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 697.101 null ] >>
+<< /D [ 6483 0 R /XYZ 81.077 86.391 null ] >>
endobj
-6537 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 664.224 null ] >>
+6482 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F23 660 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6538 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 653.265 null ] >>
+<< /Filter /FlateDecode /Length 2343 >>
+stream
+xڭZKo8W t4Ѓn
+x8auMҘϕ.bV"9"$tT|
+  VIq$ T!+ӊN
+/fuDc{RYulUCOo{7]c2{'&{?o$A:d5_Xyʢ݉6ZN+ӭ-f{U浅}2\2H
+B Qd_3%*)ǖO^5g&ERN OR־XYD˛d.&P K>;/ϝT" `wLl4ϪV~9ٻS'2n/"PbC`kX dnsiU3Lqo
+gajmiS(N)pwG4YX,Q?Sk<ΦPW'ǵBX듫mlgvΝ΁ ky\t*!pUKٍyGu??Us뮢2կNE
+w B˷}fl̫R
+J۔GJ4!Hyrh,(<qI4@ /gS:BSe
+5?Itwš渻LhuXq_TO֤!ݱ}mɍN,yEr
+ers?wV2,Xէ+*]vtKvĦ Ww+">HR =79S-&ӴXwtۛ-ܴwQ.w YNFGZ2''Q=T<v_S !KyfH8#Z~=_W^qBO9w?tə_rp:ꮢgfy?y؛x&h|JF]d[8!l{S>ڽ{ "b2mΜi:5+-0*0:af0$`S?cD![Օ[Cy۪kvOo$H 5!8 /UY:woj˪ߘ` -
+d\$UqeTWUGx
+#EWT?`;MUČNweo ,;a0
+endstream
+endobj
+6537 0 obj
+<< /Type /Page /Contents 6538 0 R /Resources 6536 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6334 0 R >>
endobj
6539 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 642.306 null ] >>
+<< /D [ 6537 0 R /XYZ 78.37 808.885 null ] >>
endobj
6540 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 631.347 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 768.832 null ] >>
endobj
6541 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 620.388 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 757.873 null ] >>
endobj
6542 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 609.429 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 711.281 null ] >>
endobj
6543 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 598.471 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 700.322 null ] >>
endobj
6544 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 587.512 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 689.363 null ] >>
endobj
6545 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 576.553 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 678.404 null ] >>
endobj
6546 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 565.594 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 667.445 null ] >>
endobj
6547 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 522.754 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 656.486 null ] >>
endobj
6548 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 511.796 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 592.078 null ] >>
endobj
6549 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 500.837 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 581.119 null ] >>
endobj
6550 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 489.878 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 538.687 null ] >>
endobj
6551 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 478.919 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 527.728 null ] >>
endobj
6552 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 467.96 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 516.769 null ] >>
endobj
6553 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 457.001 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 505.81 null ] >>
endobj
6554 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 446.042 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 494.851 null ] >>
endobj
6555 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 435.083 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 462.439 null ] >>
endobj
6556 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 424.124 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 451.48 null ] >>
endobj
6557 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 323.502 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 440.521 null ] >>
endobj
6558 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 312.543 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 429.563 null ] >>
endobj
6559 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 301.584 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 418.604 null ] >>
endobj
6560 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 290.625 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 407.645 null ] >>
endobj
6561 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 279.666 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 396.686 null ] >>
endobj
6562 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 268.707 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 385.727 null ] >>
endobj
6563 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 257.748 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 374.768 null ] >>
endobj
6564 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 246.789 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 363.809 null ] >>
endobj
6565 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 235.83 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 321.377 null ] >>
endobj
6566 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 224.872 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 310.418 null ] >>
endobj
6567 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 213.913 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 299.459 null ] >>
endobj
6568 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 202.954 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 288.5 null ] >>
endobj
6569 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 191.995 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 277.541 null ] >>
endobj
6570 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 181.036 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 266.582 null ] >>
endobj
6571 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 170.077 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 255.623 null ] >>
endobj
6572 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 117.275 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 244.664 null ] >>
endobj
6573 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 106.316 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 233.705 null ] >>
endobj
6574 0 obj
-<< /D [ 6529 0 R /XYZ 81.077 95.357 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 222.746 null ] >>
endobj
-6528 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F23 660 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6577 0 obj
-<< /Filter /FlateDecode /Length 1693 >>
-stream
-xZIoFWEF싀F:@:zh Be[E*(Yۣ} M;xA?^\2qiegpvX8"LhFfw++{w;yf[<Nl7WWWdOy-տ?.(Q%'#P2#LD3$ U1H׷u,ȣ Sb0!tY$<f4 ju&77 ]&E)4T0%#W\ŘZy#
-"JCd9),<RO1J# DW'74q&R78!W
-&bk˙
-q%<"Fm8n\$y<Ο&YeC>%ˢ VD y;;mT-(ЍLf?5X2Ӟ ):D>2(U!R|6'DF3 bOVwD8 ÝZ[LbhctaeQ@LD`L5Wp&"B`q,B6p}ַXx|0˓iV$KW<=IBi㺸zё T6ܡ"=BE2PӻPOg|+\>X[7G%]khC\Lt;Ks"/FIYp@/
- ÏQǮ/թKa`h턥
-5Dk@jşМ0k
-j#U<F5w (GhV}9`Jgɍ$Rp[}DkAZFG:WjV\2?̠"=Bu}?)yipEh/&--#4bެ0ah//-m#S-1͇|QQA5mEuvI%TF}[Us02_%8#({d;;xQ0H#3TDukQ/0Ƿh2lA8Sk罹~&;{dߒx}<-`,%|N.LDoD/-wh,/\$ {hw;mh8Ļ] u5kS:0&m z>q`й הi11EV>$+ljcC!8s3aZ-#̵
-endstream
+6575 0 obj
+<< /D [ 6537 0 R /XYZ 81.077 122.473 null ] >>
endobj
6576 0 obj
-<< /Type /Page /Contents 6577 0 R /Resources 6575 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+<< /D [ 6537 0 R /XYZ 81.077 111.514 null ] >>
+endobj
+6577 0 obj
+<< /D [ 6537 0 R /XYZ 81.077 100.555 null ] >>
endobj
6578 0 obj
-<< /D [ 6576 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 89.596 null ] >>
endobj
6579 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 755.2 null ] >>
-endobj
-6580 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 744.241 null ] >>
+<< /D [ 6537 0 R /XYZ 81.077 78.637 null ] >>
endobj
-6581 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 733.282 null ] >>
+6536 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6582 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 722.323 null ] >>
+<< /Filter /FlateDecode /Length 1763 >>
+stream
+xZ[oF~ϯ@ h/HVJ}Cԇne9I\f6x% ݗ@<ߜ9Fxo?hٿ.~_VlđфExDFZ"IHI$rX(e&sz-H##%>p{Q0EWWQ^,(uEEuxEJ`D0ݒFG7,E\IyG˰\Y305fQ#0j>7Ոh-4bFF,UQ\՟g7TP1hqQyRV"ɲ*tB
+GFW*dn/+s7v%>~@c>6BibX9jd,9bܸa{3듂hފYSv[+`O\$%EHa A̺A~MX܇(ݎ $XӲL1iqN7It_Ӫ[wɢu݅Fq]iD4˺)U~enMܯ{"Nrɫ\/U{R}eX_ʤZgu?BSz7s>kuwִd' h2圏[q^&Ċ"hqߥls I90c ,(O6Ѫ,jkfC%F# \+B8o5y!J^qh-UkAPz8"ƽiN:557Yaqm1O{%)w<̺zíSDgd[Ҫ*J,͓MEIc+\
+ns+  B&X*S[w`k/Wq:oU&(CL6FG7ꬩTܪ4S˙4\ym$
+;ź<zzLfG͢G;7uQ0>{zspl39Llfow(AMmc9#X=A.XrEl Ch 48qic6noj`E"nU1J!e2u>r~.3" r ߛ*dky7,距 О-OMngfV6,_DcNgpۮJyz~oL3ĕr547fAK\$H 
+3[yq65Ov)0hM?}+ $%HagŒGN Okc'U>Eg`=p_?Ӄb:M1HWNXJ<z=}3lM7r> <i
+Իtun}cne.YI
+{^SĶ
+^7ܗc?b *]@a4 K9,]qx50_gL $L>M0ʌ+ܨGq?=0Ū,;o6$D!$p`jМ7&X"A\m0L>H ,3 ? }YV_1$ݏ}4z? `Dq%BX\~_͌=
+endstream
+endobj
+6581 0 obj
+<< /Type /Page /Contents 6582 0 R /Resources 6580 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6334 0 R >>
endobj
6583 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 711.364 null ] >>
+<< /D [ 6581 0 R /XYZ 78.37 808.885 null ] >>
endobj
6584 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 700.405 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 768.832 null ] >>
endobj
6585 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 689.446 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 757.873 null ] >>
endobj
6586 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 678.487 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 746.914 null ] >>
endobj
6587 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 667.528 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 735.955 null ] >>
endobj
6588 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 656.569 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 724.996 null ] >>
endobj
6589 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 645.611 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 714.037 null ] >>
endobj
6590 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 634.652 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 703.078 null ] >>
endobj
6591 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 623.693 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 692.119 null ] >>
endobj
6592 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 612.734 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 681.16 null ] >>
endobj
6593 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 601.775 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 670.202 null ] >>
endobj
6594 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 590.816 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 617.4 null ] >>
endobj
6595 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 579.857 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 606.441 null ] >>
endobj
6596 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 568.898 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 595.482 null ] >>
endobj
6597 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 557.939 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 566.59 null ] >>
endobj
6598 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 546.98 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 555.631 null ] >>
endobj
6599 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 518.72 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 544.672 null ] >>
endobj
6600 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 507.761 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 533.713 null ] >>
endobj
6601 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 496.802 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 522.754 null ] >>
endobj
6602 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 485.843 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 511.796 null ] >>
endobj
6603 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 474.884 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 500.837 null ] >>
endobj
6604 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 463.925 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 489.878 null ] >>
endobj
6605 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 452.966 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 478.919 null ] >>
endobj
6606 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 424.706 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 467.96 null ] >>
endobj
6607 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 413.747 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 457.001 null ] >>
endobj
6608 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 402.788 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 446.042 null ] >>
endobj
6609 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 391.829 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 435.083 null ] >>
endobj
6610 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 380.87 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 424.124 null ] >>
endobj
6611 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 369.911 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 413.165 null ] >>
endobj
6612 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 358.952 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 402.207 null ] >>
endobj
6613 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 347.993 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 391.248 null ] >>
endobj
6614 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 337.035 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 380.289 null ] >>
endobj
6615 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 326.076 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 369.33 null ] >>
endobj
6616 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 315.117 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 358.371 null ] >>
endobj
6617 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 304.158 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 329.479 null ] >>
endobj
6618 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 293.199 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 318.52 null ] >>
endobj
6619 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 282.24 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 307.561 null ] >>
endobj
6620 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 271.281 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 296.603 null ] >>
endobj
6621 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 260.322 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 285.644 null ] >>
endobj
6622 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 249.363 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 274.685 null ] >>
endobj
6623 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 238.404 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 263.726 null ] >>
endobj
6624 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 227.445 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 234.834 null ] >>
endobj
6625 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 216.487 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 223.875 null ] >>
endobj
6626 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 188.226 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 212.916 null ] >>
endobj
6627 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 201.957 null ] >>
endobj
6628 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 190.999 null ] >>
endobj
6629 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 180.04 null ] >>
endobj
6630 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 169.081 null ] >>
endobj
6631 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 158.122 null ] >>
endobj
6632 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 147.163 null ] >>
endobj
6633 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 136.204 null ] >>
endobj
6634 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 125.245 null ] >>
endobj
6635 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 6581 0 R /XYZ 81.077 114.286 null ] >>
endobj
6636 0 obj
-<< /D [ 6576 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-6575 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 6581 0 R /XYZ 81.077 103.327 null ] >>
endobj
-6639 0 obj
-<< /Filter /FlateDecode /Length 2011 >>
-stream
-xZ[o~ Ѡ1wx>EaM!h5V#i%9"DQ<tx$υ<7o_ _M60 0 o&HxK$柑Hnw7Rmd&Ddh 6;6Kt8m&1*hK Q*b@rDzK'*5<Y7<%QUegEYډ4uYz7O
-_ܛ;"YfڧR]8z r
-a"ȿ"LbDAu1lh;^HΐP(p&~}7a+i+ʷ%1*ѬYsx8Ril Ob*Ip&BϧĐ/TD5tcZ܃@97/CAgc(q]6,N 2aKmgݗ?7>qȶq'A¸$"%D(Lj#ׄP֪|o^Hɼ,LB4?>4CQ![S8˜!*\z"D>d P "d>z;
-!}'At*# ꈪ]tEl}#Q5a* %1ʂ1 `nY ,gt`^d/x|Wq [w/§Eћf1Uצ'F1c}4/;{K%<(ou6؇Ƹ ,>fI~\JeN+eݸh_Ns{1#G814LLui+!=<Z7ZT삮iW<*4VD(?*7ejڑjPۙe)mw9^igR|X*rx^h$YbշFh؅橷ccBo썙c78r1j|<G8}y]ٖ fT] a.X8@@uhu]Z7CRS35J빏0n}/ٺ%1s[/&alܼ%"oyK8i|i3oapnƔ@;0XO&LAZs"oA9k{@l2<`ʉ)G\At|xQ#5k 9?].-j
-endstream
+6637 0 obj
+<< /D [ 6581 0 R /XYZ 81.077 92.368 null ] >>
endobj
6638 0 obj
-<< /Type /Page /Contents 6639 0 R /Resources 6637 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+<< /D [ 6581 0 R /XYZ 81.077 81.41 null ] >>
endobj
-6640 0 obj
-<< /D [ 6638 0 R /XYZ 78.37 808.885 null ] >>
+6580 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F78 556 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6641 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 768.832 null ] >>
+<< /Filter /FlateDecode /Length 1950 >>
+stream
+xZKoW4k"H`$@@t%R[3俧%ݏxXm7E O/>b!5LItFE-wG_Zn]bf
+fqL8aB6$HZqՎnf4qh$uVn%9aϊFY]ƳCKu֬ʣ|O&E<n"M?+I%ӗIc h<mn3ӎ/ քanV٪+k7N)%i&M*)BNՐgT- q-ŖrMoiB"*\Gϻ%75Ȫ{S>tO7lQխSwIuy3k q Gː%'`TkmOI ɎxfLʥ .F ( Эè[_9 `k`FR^yong2ԛjT^ /r]nPkM$^*j*9*hC?Ol}Uu3_l+-h)D8Qh&u8^|LӪJT%8O6 JX/!. Ü uΉF8Mg0F4Y8}|ul]V}X(%ZRƨ2@jkcAo2'ҠDgDhu|hxcCb94rOV<p
+5"Di+M G]1Jh<mۨ XD9@_*`r9Oc]+i2˧Ƿv[w?_ dq0}~6*7WA6eO{py>_?/rdۋfqeꥎc2}VUgDVQE~Յ2bY"{IUـ6$؀O[UyZ$K'EY\|K+ (e PAYՅaSey%uK[W
+endstream
+endobj
+6640 0 obj
+<< /Type /Page /Contents 6641 0 R /Resources 6639 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6334 0 R >>
endobj
6642 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 6640 0 R /XYZ 78.37 808.885 null ] >>
endobj
6643 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 768.832 null ] >>
endobj
6644 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 706.067 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 757.873 null ] >>
endobj
6645 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 695.108 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 746.914 null ] >>
endobj
6646 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 684.149 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 735.955 null ] >>
endobj
6647 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 673.19 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 724.996 null ] >>
endobj
6648 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 644.299 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 696.104 null ] >>
endobj
6649 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 633.34 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 685.146 null ] >>
endobj
6650 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 622.381 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 674.187 null ] >>
endobj
6651 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 611.422 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 663.228 null ] >>
endobj
6652 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 600.463 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 652.269 null ] >>
endobj
6653 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 589.504 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 641.31 null ] >>
endobj
6654 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 578.545 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 630.351 null ] >>
endobj
6655 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 567.586 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 619.392 null ] >>
endobj
6656 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 608.433 null ] >>
endobj
6657 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 597.474 null ] >>
endobj
6658 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 586.515 null ] >>
endobj
6659 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 575.556 null ] >>
endobj
6660 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 564.598 null ] >>
endobj
6661 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 553.639 null ] >>
endobj
6662 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 472.941 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 512.792 null ] >>
endobj
6663 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 461.982 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 501.833 null ] >>
endobj
6664 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 451.023 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 490.874 null ] >>
endobj
6665 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 440.065 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 479.915 null ] >>
endobj
6666 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 429.106 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 451.023 null ] >>
endobj
6667 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 418.147 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 440.065 null ] >>
endobj
6668 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 407.188 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 429.106 null ] >>
endobj
6669 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 396.229 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 418.147 null ] >>
endobj
6670 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 385.27 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 407.188 null ] >>
endobj
6671 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 374.311 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 396.229 null ] >>
endobj
6672 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 363.352 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 385.27 null ] >>
endobj
6673 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 352.393 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 374.311 null ] >>
endobj
6674 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 341.434 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 345.42 null ] >>
endobj
6675 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 288.632 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 334.461 null ] >>
endobj
6676 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 223.875 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 323.502 null ] >>
endobj
6677 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 212.916 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 312.543 null ] >>
endobj
6678 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 201.957 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 301.584 null ] >>
endobj
6679 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 190.999 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 290.625 null ] >>
endobj
6680 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 180.04 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 279.666 null ] >>
endobj
6681 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 151.148 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 268.707 null ] >>
endobj
6682 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 140.189 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 257.748 null ] >>
endobj
6683 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 129.23 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 246.789 null ] >>
endobj
6684 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 118.271 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 235.83 null ] >>
endobj
6685 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 107.312 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 224.872 null ] >>
endobj
6686 0 obj
-<< /D [ 6638 0 R /XYZ 81.077 96.354 null ] >>
-endobj
-6637 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F23 660 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 6640 0 R /XYZ 81.077 213.913 null ] >>
endobj
-6689 0 obj
-<< /Filter /FlateDecode /Length 2388 >>
-stream
-xZ[o~_/"~C1足@@`v(;䑔fԅ-δؗD9<<x(_w?~ faT;7,AL-$K~\~.V\]Umq1)n yo.VT/3Tg,
-~r*ʝkA6&Dݐv[4qz#>F[zM ^8zu.g&V,qШYٔe=ڇ>oܝ˛='px1W}*:.fh,MeSV뢸)2f&έcȭ.o٭#|1`8G #uSYgK8#~踟i(CLG&LzF&~04*b!`w!İ8ѳ Q SܯFbPˈq&ѡ!W)ζh6Ou+3FDT q!=Fwf^ XЏXė9wS
-x%6*ղ(+Xv 7K{H1خxر5G3b9f/`&m>1q5ֺ/j4mC`G5Kt)O5j0)@<?lSۃf-$mb4FO_o Iusژ}Jۅ !˾g[h[7a'%Hٖ`(̓7UY>L[שn|l98t"M`խuḠ}Ne‡tdj_G\-z눅l~.B%F ,CJQ26@#NJOwgrM\!e%0d $Dn]s_Sfw$j(&q;@ؐҐ4ʧnL46jlyZc $ ;qCU >:쓃†@ag2ހ|/AMncfM9 x<q\__ڞ59CuTPL3$N_羚)r!q:@_5]P 3$N_r u+CA>Kϳ}UCU c(n
-B).W gsxfYz#nC{:oΐ`bA>oAЊ<Q >@ϑAga'(DʄAvW&%Qv4_ 
-hAT8 ˬAAyBX6AvCkE@e,齷!=?lG~--;x9ԩ}K%꤭*@~#xYuⅽlԟvS{뵦vOlkwIeWG ^열ibyd\ۣ,F΍SjAQW[%@\dHyWt#+{Qk|o29n eQ~ `~
-endstream
+6687 0 obj
+<< /D [ 6640 0 R /XYZ 81.077 202.954 null ] >>
endobj
6688 0 obj
-<< /Type /Page /Contents 6689 0 R /Resources 6687 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+<< /D [ 6640 0 R /XYZ 81.077 191.995 null ] >>
+endobj
+6689 0 obj
+<< /D [ 6640 0 R /XYZ 81.077 181.036 null ] >>
endobj
6690 0 obj
-<< /D [ 6688 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 170.077 null ] >>
endobj
6691 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 731.316 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 159.118 null ] >>
endobj
6692 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 720.357 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 148.159 null ] >>
endobj
6693 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 709.398 null ] >>
-endobj
-6694 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 698.439 null ] >>
+<< /D [ 6640 0 R /XYZ 81.077 95.357 null ] >>
endobj
-6695 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 687.48 null ] >>
+6639 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6696 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 676.522 null ] >>
+<< /Filter /FlateDecode /Length 2384 >>
+stream
+xZKsϯPjl tHMe7Mޭbl3CZ{ABmɂ=\$_7ݍvg>=HK*xFfF,% ,r5}iEkN8#m\VBۻM] MEunjUKwOΨ :7&߯]c}r7;tr05gwe2 =eMQ]ӏvm|=_SFK']G 2պu(]wpK:ҽ1)59ޖKᵓž_\Ϧʭj٠Z֦Բml7fE]lN >0,AD\YexaBfa1M]ge梓6
+,y6H+蘂H`O9B):Mù3%SL&!07ienMޚb ӏ<۴)*SVu'ܢ{ߓh"ʹ/ObTA T ?vrms]eژ6#4k*6fWcJAf٪(KeѴ)aۤmϏmL<mG{>.]\HbDyBJ-^{#xP:G^e<m3,avU2՞'~5,]e봨ʢ+/'H?˚Ǔa<DG/cIBcØ(@2by =OvO7 я#nY䃟}S<sx='w-+058zdETT ߎB*(
+YAdHɳO&5L=XeU0OŊ}Bn((
+ |4m1p8=Xw_G?/B6.no~Sq6H`d#B%અ`Akk1+.CsAfC^ߣc,JB=/۬t `pz:U9Rɑ8 1G*a
+DANӡ ><J<Ns
+{Xbz8a &D2#5I.:/o;IѓN)>}AK\nS,f.Lɘ T
+$F;.M{<GN'`|2
+endstream
+endobj
+6695 0 obj
+<< /Type /Page /Contents 6696 0 R /Resources 6694 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6334 0 R >>
endobj
6697 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 665.563 null ] >>
+<< /D [ 6695 0 R /XYZ 78.37 808.885 null ] >>
endobj
6698 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 654.604 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 730.974 null ] >>
endobj
6699 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 643.645 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 720.015 null ] >>
endobj
6700 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 632.686 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 709.056 null ] >>
endobj
6701 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 621.727 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 698.097 null ] >>
endobj
6702 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 610.768 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 687.138 null ] >>
endobj
6703 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 599.809 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 658.246 null ] >>
endobj
6704 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 588.85 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 647.288 null ] >>
endobj
6705 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 577.891 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 636.329 null ] >>
endobj
6706 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 566.933 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 625.37 null ] >>
endobj
6707 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 555.974 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 614.411 null ] >>
endobj
6708 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 545.015 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 603.452 null ] >>
endobj
6709 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 534.056 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 538.695 null ] >>
endobj
6710 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 523.097 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 527.736 null ] >>
endobj
6711 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 512.138 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 516.777 null ] >>
endobj
6712 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 501.179 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 505.818 null ] >>
endobj
6713 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 490.22 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 494.859 null ] >>
endobj
6714 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 479.261 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 483.9 null ] >>
endobj
6715 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 428.514 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 472.941 null ] >>
endobj
6716 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 417.555 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 461.982 null ] >>
endobj
6717 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 406.596 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 451.023 null ] >>
endobj
6718 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 395.637 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 440.065 null ] >>
endobj
6719 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 384.678 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 429.106 null ] >>
endobj
6720 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 344.516 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 418.147 null ] >>
endobj
6721 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 333.557 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 407.188 null ] >>
endobj
6722 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 322.598 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 396.229 null ] >>
endobj
6723 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 311.639 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 385.27 null ] >>
endobj
6724 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 300.68 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 374.311 null ] >>
endobj
6725 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 249.933 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 363.352 null ] >>
endobj
6726 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 238.974 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 352.393 null ] >>
endobj
6727 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 228.015 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 341.434 null ] >>
endobj
6728 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 217.056 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 330.476 null ] >>
endobj
6729 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 206.097 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 319.517 null ] >>
endobj
6730 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 195.138 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 308.558 null ] >>
endobj
6731 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 184.179 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 297.599 null ] >>
endobj
6732 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 173.22 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 286.64 null ] >>
endobj
6733 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 162.261 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 233.838 null ] >>
endobj
6734 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 151.302 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 222.879 null ] >>
endobj
6735 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 140.344 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 211.92 null ] >>
endobj
6736 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 200.961 null ] >>
endobj
6737 0 obj
-<< /D [ 6688 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-6687 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 6695 0 R /XYZ 81.077 190.002 null ] >>
endobj
-6740 0 obj
-<< /Filter /FlateDecode /Length 2676 >>
-stream
-xڵZo߿@
-`(7vW 3"AّŤ}HD7|Qa/~{n).d(JbE\^qΣ2[ʶrw(/'LSSQ%Uܟ9$!>Mvn4!B|r!FalG -,ջR4B#6KFQDGʔpyE
- zɒ<+%
-yvLsL?Z0|P7Ńm}s;)#cM (xY&y}0)1TuU5ɏ<N)vխ!Jc174 ARM9NQfm`BYeʤ?t۟Ӎynuؚd2z|{sm'~~ӎ}5} CVwK'f1Ix;֦P\#J4h 0HCjĴ74whA`H*!R: z^Ee'{"Bv
- ]"Uw8 11wU- ܗڬjs}/ _tRo<Z?T)2ga?ϰJ%+ 6h2&Js MaD:uf_LU60uyX՛]QMb2m\0 .S<7+k $ㅂ.WTL"$ u~֫_/Km`0uG&ByɛP;:`Č05Z2!4 8-'-{!LQɞ+Nd8,lZh<37]ؠTm6N%$Yfpc!6E[zWEJ@'1X튕)"|97% &jdvhDey0As,z_Sb\nk(cg"h)gxgLD3S`` фqFt2 J
-.pn/+<!hkL 9P12Ҽj$6ȘtnFã]p7hl6Wvh
-w)еn
-%wAWAiDYn(r}-=LLC:OHs*q7y.cmjAggw*pZ*mVxPJQ#v
-lUOR|SbųW1wxeP:QH}.
-ҮU=N*S/ͷ뛛~IKm^Nq: &0
--Sك<K Sj2&J(cqr-RMI'0 11M_H0௼)dJk#
-aC9Og5!}*Bk"  yifYn͟sİUh3ICJKѭ=:6
-z`7EtdaV6=P$"C94Ů(X+OC4G}+{#V͉蝡`aXQi:+k}4ISz"e!W o+_{VΞG6ERv%C!jll>||]%<D>ߘ{ zn4Yi\@oЛ]? cm؆h_'ȆSAcP@=N8ʅlc&Й6if}:ָuĎP\ajuw^iAc?bZ-P2ȌH-trAaE+.hbVPBڴ!M7ɐ1Dja
-,n#=a9p ϑ*K5IR1ۉ#9kfkC¸vǘIțk TE
- ih~5Cp`O5Ogݷ (V/acѝrXZ b4\%hꚘ%!ɴ\_T at/`\(rO6 ʳU⁒b&Zf5Ĕv* b`E"[{F C<$ĬF m1p)n?N]?JGr V݉!L1MĢ]O.O oM MZ#tvZ3o^i<Grk=8 ̰x\I8Œpo,̾`8cXbG2w_ez1OkLq2}d wJK|/Qrq8Y1߆@
-c}Gl|hW](j5J'UҀm7;',</䝼+ə q$D<_zf [Ӯl'gd|߃<2#*D_IuH<:W~A|tQ7X8DBR14$~Wh]`#U!y5oSLedtB҂ȴ2/ ÿ_Da(_P\wL1Iٿ޾/tQ
-endstream
+6738 0 obj
+<< /D [ 6695 0 R /XYZ 81.077 149.155 null ] >>
endobj
6739 0 obj
-<< /Type /Page /Contents 6740 0 R /Resources 6738 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6332 0 R >>
+<< /D [ 6695 0 R /XYZ 81.077 138.197 null ] >>
+endobj
+6740 0 obj
+<< /D [ 6695 0 R /XYZ 81.077 127.238 null ] >>
endobj
6741 0 obj
-<< /D [ 6739 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 116.279 null ] >>
endobj
6742 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 719.019 null ] >>
+<< /D [ 6695 0 R /XYZ 81.077 105.32 null ] >>
endobj
-6743 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 708.06 null ] >>
-endobj
-6744 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 697.101 null ] >>
+6694 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F70 185 0 R /F73 189 0 R /F69 183 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6745 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 686.142 null ] >>
+<< /Filter /FlateDecode /Length 2715 >>
+stream
+xڭZKoϯh˷H&nhm3jGRw`Ѓr[-9MQ,XA
+~o?3+n| *ՈT%YW%n*iiVK|2ɿ_~/XSP,<\hSU}+}O3IB\#㗪(K&qwp#.J<Ůjr?fBT萕τz
+"p$f!4,'#cIF
+{<+G{@<떝Z!c ʸ VZ%_"UHh$ !b$2|y" G@{YD@ũ'
+`=$.W2xmxDg,`Y@eW3)|n~ Σ-Nx
+I=c"* o ,7ȕIq< O<
+iپ#_
+ib QIE@mx"s3 $a~k"1g]_ߔ[g/_ԠMC띉ɽC.2$UT<-u~_yĦ^ua
++ F`.6OY ̾L/;Sboj kfsC6f}fw^~o8#W&:<nغI)O?>oRD) g@ B-^dv IЀMq`7}=~E)}6b~@g1H(YJPmL:D#ѹ3^cZry[Ch{ӓ kOIܽSg `>"&R^%J.JSP 卆:=m6aSE8S}&3FpCAkoY ǐxɇh?~F-
+endstream
+endobj
+6744 0 obj
+<< /Type /Page /Contents 6745 0 R /Resources 6743 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6334 0 R >>
endobj
6746 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 675.183 null ] >>
+<< /D [ 6744 0 R /XYZ 78.37 808.885 null ] >>
endobj
6747 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 664.224 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 742.929 null ] >>
endobj
6748 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 633.34 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 731.97 null ] >>
endobj
6749 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 622.381 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 721.011 null ] >>
endobj
6750 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 519.766 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 710.052 null ] >>
endobj
6751 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 508.807 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 699.093 null ] >>
endobj
6752 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 497.848 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 688.134 null ] >>
endobj
6753 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 486.889 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 677.175 null ] >>
endobj
6754 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 446.042 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 666.217 null ] >>
endobj
6755 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 435.083 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 655.258 null ] >>
endobj
6756 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 424.124 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 644.299 null ] >>
endobj
6757 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 413.165 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 633.34 null ] >>
endobj
6758 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 402.207 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 580.538 null ] >>
endobj
6759 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 391.248 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 569.579 null ] >>
endobj
6760 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 380.289 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 504.822 null ] >>
endobj
6761 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 369.33 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 493.863 null ] >>
endobj
6762 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 266.715 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 482.904 null ] >>
endobj
6763 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 255.756 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 471.945 null ] >>
endobj
6764 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 244.797 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 460.986 null ] >>
endobj
6765 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 201.957 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 450.027 null ] >>
endobj
6766 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 190.999 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 419.143 null ] >>
endobj
6767 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 180.04 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 408.184 null ] >>
endobj
6768 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 169.081 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 305.569 null ] >>
endobj
6769 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 158.122 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 294.61 null ] >>
endobj
6770 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 147.163 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 283.651 null ] >>
endobj
6771 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 136.204 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 272.692 null ] >>
endobj
6772 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 125.245 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 231.845 null ] >>
endobj
6773 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 114.286 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 220.887 null ] >>
endobj
6774 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 103.327 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 209.928 null ] >>
endobj
6775 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 92.368 null ] >>
+<< /D [ 6744 0 R /XYZ 81.077 198.969 null ] >>
endobj
6776 0 obj
-<< /D [ 6739 0 R /XYZ 81.077 81.41 null ] >>
-endobj
-6738 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 6744 0 R /XYZ 81.077 188.01 null ] >>
endobj
-6779 0 obj
-<< /Filter /FlateDecode /Length 2145 >>
-stream
-xڭZM8Wa6oI> d7Y zb vkF:'oHѢvВ(=XXE.6 u7/^c"'Z.n_0xAlDT3B5[nsu-JۺnxfM2)hk{wwuͳvqSBu]]t<KC}ۙ>r7Tmc=~O0g&,s¨ܬ^^=vfUk\ 8$34H~<IYYx,1w)ϓT'vlWx9}ՐQ+9ȧ/1H S. vSL]ZBUaLƾ* D_`T,$3&|L̀8SaGU5|g-3e9~՘=8Q;r0#S\oaF_~ՖѴ'\JO]F1"
-_džLecsJRh
-L-WUSWY v#¬+.+( _ 9ZUղ˗/KroyXgDSUQ$QuLK.i_rw*&8QMi] ל&s9M7ԫnXua>Ɵuc2J4?Rs oއ 8!V.1!U4A{Uaug<S5|t},nk17)PF(̓O܇re"de ]5 m1&8ȑ]Ry;(C-O2ĥ.S,1'ڞ%ùB:|+`gGuJUR vܭ)ix(#V
->E3\_̫ue uu?2` 1rڭMG(8d"}"$}7`U
-Pa %@7A 8 ;ہ4yJ[Ƶ;"ue;V*ຳdﱊZOÉ9#tHЏ&,]n]z[d|6-ڡe
-!OET2kfX!*Ms{o>|WC;5T*C &ͧ2*= З#sWl ;<Ofn*ԭ6yՃ ë
-(~byK*Rgi9vD۷IJt
-endstream
+6777 0 obj
+<< /D [ 6744 0 R /XYZ 81.077 177.051 null ] >>
endobj
6778 0 obj
-<< /Type /Page /Contents 6779 0 R /Resources 6777 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+<< /D [ 6744 0 R /XYZ 81.077 166.092 null ] >>
endobj
-6780 0 obj
-<< /D [ 6778 0 R /XYZ 78.37 808.885 null ] >>
+6779 0 obj
+<< /D [ 6744 0 R /XYZ 81.077 155.133 null ] >>
endobj
-6781 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 730.974 null ] >>
+6743 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6782 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 720.015 null ] >>
+<< /Filter /FlateDecode /Length 2337 >>
+stream
+xڵZoܸb|8i ish?@aP䂅m]Ҟ5wDnҹ^3/~~۫W?xT+/,
+X($AXfa}'PfT9cl9QW`
+7Rv=<LeYQH3ؖU \^lC6e+4v=>/*J0޵{u[1y9v Fj-8Ҋ0PI"4pZ2 ^(X_2 IJlwWٯ];`n..ٹ½}flq5׻VE|x4˳8"N[mĨHצ Q̦ikS
+SjVv-;s\6WNjʾfTnGM)x/JWLBf=;jve`̿>fj^n̦5<; MWr߭7a'P?tދV{kkiw=ݶ:<*o9R J#$BzuIl*i׬]o(KK,,צT}37YѾk-/
+!Ra[:ÐxJ8.nV]uw?\\Fq$ 4|Q1 .bK:;HrZ[F^%VC, o;Ƭ xY u@\4y!kR|]1U>mm,-FqiH?d>oWM;\4;X~p$'P,I#=嶉|*StX̐~X~boj}BS$m
+#jBm#g$B
+
+8$|Pw9O*H m gy}6띇B6x 6 Xqt,=;9RZAtMi AZ/{4L>.,lʉ~Fܴ0[ /5+QiO2'ݟL%(^"Fڀ7̅ۡ0kʩ_Wg _E؊#$CBwxSS86MG)
+CX:>Cو6b:'#&(/o:n<϶n8A\&
+||$ ya 54Ίw PܩL~[P~2%cBt`l[fp7@yqxƘ+1WmӘ9m0/X?'mkP@qg,pշ#ޛ ad7ah6y|V|$ $Oo
+ e?q[p̟(@ U
+endstream
+endobj
+6781 0 obj
+<< /Type /Page /Contents 6782 0 R /Resources 6780 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6821 0 R >>
endobj
6783 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 709.056 null ] >>
+<< /D [ 6781 0 R /XYZ 78.37 808.885 null ] >>
endobj
6784 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 698.097 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 752.891 null ] >>
endobj
6785 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 687.138 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 741.933 null ] >>
endobj
6786 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 676.179 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 730.974 null ] >>
endobj
6787 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 651.273 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 688.134 null ] >>
endobj
6788 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 640.314 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 677.175 null ] >>
endobj
6789 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 629.355 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 666.217 null ] >>
endobj
6790 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 618.396 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 655.258 null ] >>
endobj
6791 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 607.437 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 644.299 null ] >>
endobj
6792 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 633.34 null ] >>
endobj
6793 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 622.381 null ] >>
endobj
6794 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 484.896 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 611.422 null ] >>
endobj
6795 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 473.938 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 600.463 null ] >>
endobj
6796 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 409.18 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 589.504 null ] >>
endobj
6797 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 398.221 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 578.545 null ] >>
endobj
6798 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 387.263 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 567.586 null ] >>
endobj
6799 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 376.304 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 502.829 null ] >>
endobj
6800 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 365.345 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 491.87 null ] >>
endobj
6801 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 354.386 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 480.911 null ] >>
endobj
6802 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 343.427 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 469.953 null ] >>
endobj
6803 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 312.543 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 458.994 null ] >>
endobj
6804 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 301.584 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 448.035 null ] >>
endobj
6805 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 290.625 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 423.128 null ] >>
endobj
6806 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 279.666 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 412.169 null ] >>
endobj
6807 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 268.707 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 401.21 null ] >>
endobj
6808 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 257.748 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 390.251 null ] >>
endobj
6809 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 246.789 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 379.292 null ] >>
endobj
6810 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 235.83 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 310.55 null ] >>
endobj
6811 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 224.872 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 299.591 null ] >>
endobj
6812 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 213.913 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 256.752 null ] >>
endobj
6813 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 202.954 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 245.793 null ] >>
endobj
6814 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 191.995 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 181.036 null ] >>
endobj
6815 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 181.036 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 170.077 null ] >>
endobj
6816 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 170.077 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 159.118 null ] >>
endobj
6817 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 159.118 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 148.159 null ] >>
endobj
6818 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 148.159 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 137.2 null ] >>
endobj
6819 0 obj
-<< /D [ 6778 0 R /XYZ 81.077 137.2 null ] >>
+<< /D [ 6781 0 R /XYZ 81.077 126.241 null ] >>
endobj
-93 0 obj
-<< /D [ 6778 0 R /XYZ 79.37 111.746 null ] >>
+6820 0 obj
+<< /D [ 6781 0 R /XYZ 81.077 115.283 null ] >>
endobj
-6777 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+6780 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F75 317 0 R /F73 189 0 R /F69 183 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-6823 0 obj
-<< /Filter /FlateDecode /Length 2821 >>
-stream
-xڽ]o6}{ l\-hX`(֖RI-odQQl3W܋Eg3C&Y2]2~'fT.$]߽G23eW3j"]og3?zn&Ha¹₫ttm68"Yv=Tu*<ݟn7͇O:b$b0 !gy9+ʫbu_WF#
-,4L}`|5P ac5a?ibS !:I(ta|q 5Xu0n[$MEycu ޭ>?G#dJh*%"&
-%
-`2䬮AGQE8q~W|x
-$(;cJzݲMeǐ*/C$9'G Z@ ж
-bi[yݍg4$nBU捗<?\Vkrpi٩+EZ؄t%Ig`\].\pup{*X[얣 MSCeB#aԯT]Wưݢ8hP @t<aD(H$vu*ېŅTأO~L8N:"u\=ɧ%oDY]T{VBN۹[OE][',q-G@ZWEh;Q|(r[gm6Nɬ$׎꡻CHok#&#/pNmssNu:38*44\ItCX'\ iDx)t]N,G6'.to<΢-6 ɺ T6
-.*ECNR"eN ZGwx??TX${*9X<:td6pppBwS1ᔼ*(}F =<ڥ"`=sX#zd`usx$L/
-Hº|#a(őTN[BC8nwkt90
-3x3x(tۖc#cB=++G/,ACfzL6)HAf" x/]3^elAgz8ϳh0B:6ODl`? t b?sy&}e˜Jz1冟W
- "\& <шyP
-GH:0%='~7sqMJqBK7κ]K kGՌQ" QiC
-pCtSc<& ߘtg[r/\|
-о0ʨs7 M }MUT
-@GGa, :QW
-DpJF81#e
->LҎ?7wROl3G%h;_1"o)'\6.u\K.,
-CAdDWW-@|@oAd[7ob=;ZRGL5?!/KJ|u@=ww[ˊ]댼 ߛtx !B1ł
+6824 0 obj
+<< /Filter /FlateDecode /Length 2294 >>
+stream
+xڽZo_a _"
+O"Cx;1M8X{-/䝒>hUlnZg?}Zz˲7~v*•r'qrߔGbHUAZEIP;||j._u: 7s`[H"d՗+a҈:3DXX'L@|ճ}h]v+&ar
+bo)~8e*M`Ð: #R{f4tb喰y|g,N1iǁ?Rs#=q'=2fHzg".&Jxf2 y')<\D_F.}z;D$D3uQQU@!\N
+:q%_ &!F:Z~ΊgvAQ"wSca$:? QWӀڼ7vzǼn(n[HοP!Oр帅\`9B/ӍOZG_ 1ݭ5T 
+
+ݟRB0lܟP,#!BPN< iuJ5XAc?HA$-k;}&'=U}]?Yw] 
+8e
+8g@ _m`LJc޸(\> !EP2ʒ!<628$*ܷ1Eݤ}M-:iUӍ?JxQMRTݲxX7M5C=
+w[L]Xv5U^Ra;:uEd@[S=hJ>+|(9gǾ%xSO #y#z5$|mtCp$zSҵ^|eT:nT}pJn\2ܭRԿfЎW8;CВIϬLfك0nA}3[|Rކׄ0'ac\ycvm jZ;f4>g%@b@t\o_9D2'D~#XL!2I< /~*fW\(R}8,s}̘8:E Cg>BEe[c#SMVlЪ$.Ef2t?]I
endstream
endobj
-6822 0 obj
-<< /Type /Page /Contents 6823 0 R /Resources 6821 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
-endobj
-6824 0 obj
-<< /D [ 6822 0 R /XYZ 78.37 808.885 null ] >>
+6823 0 obj
+<< /Type /Page /Contents 6824 0 R /Resources 6822 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6821 0 R >>
endobj
6825 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 617.038 null ] >>
+<< /D [ 6823 0 R /XYZ 78.37 808.885 null ] >>
endobj
6826 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 568.23 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 768.832 null ] >>
endobj
6827 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 557.271 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 757.873 null ] >>
endobj
6828 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 546.313 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 746.914 null ] >>
endobj
6829 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 535.354 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 735.955 null ] >>
endobj
6830 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 524.395 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 724.996 null ] >>
endobj
6831 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 513.436 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 714.037 null ] >>
endobj
6832 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 502.477 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 703.078 null ] >>
endobj
6833 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 491.518 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 692.119 null ] >>
endobj
6834 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 480.559 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 681.16 null ] >>
endobj
6835 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 469.6 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 670.202 null ] >>
endobj
6836 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 458.641 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 659.243 null ] >>
endobj
6837 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 447.682 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 648.284 null ] >>
endobj
6838 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 436.724 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 637.325 null ] >>
endobj
6839 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 366.992 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 626.366 null ] >>
endobj
6840 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 356.033 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 615.407 null ] >>
endobj
6841 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 345.075 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 604.448 null ] >>
endobj
6842 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 334.116 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 593.489 null ] >>
+endobj
+93 0 obj
+<< /D [ 6823 0 R /XYZ 79.37 568.601 null ] >>
endobj
6843 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 323.157 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 382.645 null ] >>
endobj
6844 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 312.198 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 334.3 null ] >>
endobj
6845 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 301.239 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 323.341 null ] >>
endobj
6846 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 290.28 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 312.382 null ] >>
endobj
6847 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 279.321 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 301.423 null ] >>
endobj
6848 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 268.362 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 290.464 null ] >>
endobj
6849 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 257.403 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 279.505 null ] >>
endobj
6850 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 268.546 null ] >>
endobj
6851 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 257.587 null ] >>
endobj
6852 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 246.628 null ] >>
endobj
6853 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 235.669 null ] >>
endobj
6854 0 obj
-<< /D [ 6822 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-6821 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F80 749 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F76 318 0 R /F73 189 0 R /F69 183 0 R /F46 176 0 R /F23 660 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 6823 0 R /XYZ 81.077 224.711 null ] >>
endobj
-6857 0 obj
-<< /Filter /FlateDecode /Length 2810 >>
-stream
-xڵZmoܸ_}5+^ &m)E&mZiOzqDy]:w0$ 9y?^ݯ'xfջ͸GJ̢ H8 -7/^ YA0ؖٹb:[jp
-x ޒV}zGY "4C0tgڡoo99UWE^Iەz>^ +)kKV%>9D]k%u]W 3x|iTEӑXN}ߣQlˠꈃfp(y&FUu=ƫ5,ז~ZgIQ̟KD5jI :Rx4Uz7)e S\%tpuK
-n' L<m>LAHoULϑ<G5MDLW*|R<4Y<I8yިuU78E  jI kV(oIos91$)
-t/CʩG8uC:GH>FHzgfF#"P4QQLA*<QVH]I`~4cYWu}Lֺ ưI(Π:텝K>C9)wQp_0V(A)ִ52.p/Jv+y۩B#&MP#'=ÏrCbV=NFl=1[ Y_6$3E8Vk;az-Ej)LO%} %w EΈ;  a?m(H<ҭiv 06#ZPX Ge>3kUR
-e-}%j$ぁפ?S
-p@e׸@}~4S Z~ez=D̤A<ɕ'ƧH::`<`)yMksA5hw$ƬfblpY-iT}c';m [:g]ˋN/6\Ar̰l.@6>F+9
-q*{)<ppb]&|YnҞfnpM=f]7L} iw,>NS0MnY
-UiouMV<,aCxeY/yy] A#>=,3
-` r |ݾ{16 Gk'琁Ti[rnI˩" |&?nG4Lһ&JzZ=h8L>3DђE޴]mDxD$1]1  -GfuO nkt{ðL!5q\ Kz`Tp7j||3$G_A/s(T?ji !܈%=d3jAe5CQ(KzWޕվ<JI/w×4"JM4F%%DLy1_ ,4A^yg+p`Q
-FO]>zgJy(q߲t'w7iGxڬ.FY <焉5pz8K7C
-gloi?Α}^-lv?>l"v9%mhVe_mR嶴<q$swN+Ӓ~<a%08+ M](ᙦfmWڶyU GK\b]]e7yp"Gen$CaS}^?W{gAv]9E2,-3C7F(/-NI?Õ6IC24)3yUUҤѥ=F_w,q|ZWl}{YkB޳ݦԽ7"ȸ, r$YtAM$5`Vʰ*7} -ffe&%*f/իDXu|=}"B1TM4F0DKJ^NBrXHS!ECVKwK H%-n ۤ~Y.G&al-]?L^K93"^_@ 8Pw)IG
-I~e'-ҡ
-endstream
+6855 0 obj
+<< /D [ 6823 0 R /XYZ 81.077 213.752 null ] >>
endobj
6856 0 obj
-<< /Type /Page /Contents 6857 0 R /Resources 6855 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+<< /D [ 6823 0 R /XYZ 81.077 202.793 null ] >>
+endobj
+6857 0 obj
+<< /D [ 6823 0 R /XYZ 81.077 133.431 null ] >>
endobj
6858 0 obj
-<< /D [ 6856 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 122.473 null ] >>
endobj
6859 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 111.514 null ] >>
endobj
6860 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 100.555 null ] >>
endobj
6861 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 89.596 null ] >>
endobj
6862 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 735.955 null ] >>
-endobj
-6863 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 6823 0 R /XYZ 81.077 78.637 null ] >>
endobj
-6864 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 714.037 null ] >>
+6822 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F80 749 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6865 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 703.078 null ] >>
+<< /Filter /FlateDecode /Length 2962 >>
+stream
+xڵZmo8_a>4**z]="]ĺRVM~3$%#[83j>'؂/ޞx>3AM9_0(љVDx+J"EgOssz&R\TjR\eXVOɩd|Y߻_Z
+NS@'h vdE%ptfV˴v|יRH3p ܘݣDFhpB#шv2ّYF47M F´/acU'v"kb.HY 8٤%*4G؂ۼʍmuPznl
+i*^E Dddloj;Q^ͼp-cv|J#M"nzSIf!5ۻjf?11藖!te- 3&,ۻ%9xwMrr*X4[kdv7MA}}Mm{6Bh^<E޴5(ܿ1hI,׷'R{fL6Nqu\+"
+/`kۭ=I٪@a 4.NlKM6m=Xʞ/\/T&ee[^މqFrz^nk@]w3꺅:<u0Qj!(%F$4E
+M򲭶Mqo.j3Vs i 1[=^SIvȪ񂓈"4Yh_sDA
+C@EeD\7{BIYk9 u2XijĮ"Dojy=J>E1L<L>v$ܠJӨ@=߭v* "NAPgxL+\6֮͊ʰq9eUU"Ӱ펔?zm]Gi&5قݭs#׵{ͻ1w
+6;ܧeZ4OM9zO֧*ԧMHA?T#Yˡ~<:99TM9{0}b,8urXXicΕuCWVKS9laZ;
+wyf7ŝE>
+_``|"nxzu!ro|bAwvcB[$ێX6[Uf-Pz'Kߜᓓq&iخ8^xᚇd+D8;{7QI,ZKk`1Gj$ƏMb% *eHC*zd^^&rqc ;2T&܅
+endstream
+endobj
+6864 0 obj
+<< /Type /Page /Contents 6865 0 R /Resources 6863 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6821 0 R >>
endobj
6866 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 615.779 null ] >>
+<< /D [ 6864 0 R /XYZ 78.37 808.885 null ] >>
endobj
6867 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 604.82 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 768.832 null ] >>
endobj
6868 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 593.861 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 757.873 null ] >>
endobj
6869 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 582.902 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 746.914 null ] >>
endobj
6870 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 571.943 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 735.955 null ] >>
endobj
6871 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 560.984 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 724.996 null ] >>
endobj
6872 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 550.025 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 590.051 null ] >>
endobj
6873 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 473.328 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 579.092 null ] >>
endobj
6874 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 462.369 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 568.133 null ] >>
endobj
6875 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 451.41 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 557.174 null ] >>
endobj
6876 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 440.451 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 546.215 null ] >>
endobj
6877 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 429.492 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 535.257 null ] >>
endobj
6878 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 418.534 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 524.298 null ] >>
endobj
6879 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 379.025 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 513.339 null ] >>
endobj
6880 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 368.066 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 502.38 null ] >>
endobj
6881 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 357.107 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 491.421 null ] >>
endobj
6882 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 346.148 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 480.462 null ] >>
endobj
6883 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 335.189 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 469.503 null ] >>
endobj
6884 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 324.23 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 376.851 null ] >>
endobj
6885 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 313.272 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 365.892 null ] >>
endobj
6886 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 302.313 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 354.933 null ] >>
endobj
6887 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 291.354 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 343.974 null ] >>
endobj
6888 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 280.395 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 333.015 null ] >>
endobj
6889 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 211.452 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 322.056 null ] >>
endobj
6890 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 200.493 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 311.097 null ] >>
endobj
6891 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 172.94 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 232.392 null ] >>
endobj
6892 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 161.981 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 221.433 null ] >>
endobj
6893 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 151.022 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 210.474 null ] >>
endobj
6894 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 199.516 null ] >>
endobj
6895 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 188.557 null ] >>
endobj
6896 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 177.598 null ] >>
endobj
6897 0 obj
-<< /D [ 6856 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-6855 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F80 749 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 6864 0 R /XYZ 81.077 136.751 null ] >>
endobj
-6900 0 obj
-<< /Filter /FlateDecode /Length 2113 >>
-stream
-xZ[o~ϯ0pj.-9hd<t Aq]YJl)EkǙ!gg3<
-wHoW?>(6hl}E`H5S ,lc.ԋx#L##%C0?7Ⱦ%M-Wbq-pO?}Jm%e#e95FS&!Q_ 3* b 1D ˓zO:oļ&L eLy/l^,?To=}3*o͏;0)ʷTfX!YoU*P̟v36tcV4,­A5/d5:G@ c(e,Ńg󺴟s?< U[Cͷm}h^5(NQ79wX `3u`)fBսΓCV/WeɽoɶC\ '򰭷eb͒F"7D;MuOjٲ(VHCVuϊ;7kqML`@_cVCqĴz8=藓Dqڑ . ]xy, ײlmY,)z(d١QcW5?N.lAU v%v{,Qr Zd3INfƶ~%WfT^TS[?oi"4c*ʻ,70Rx7 ~:1h=r((UVറy[O^#y-ֹ+ko-E^CJ[+.6*!Ù
-&63 [B,=?o͏f1>}h!CKlQ鉙KhČ]?*zti>,-lZmlo5e7fveі0k'h m]wuؖ)XHWe1fjN\zA? % w5ǥ6'#{3󘅗596h:cl|]>qhID* 54)809D$3+Ztl ˨8Ct4pjDH$@w)$lY{~%WCĄ!:~1w6e[zwwgQ\7б!|^3$ʦ
-]݌ ^}ј=8z_QqY1Ap15C@@HwܾfċZs(e.IX]ш(uH! /^<膋h(J8賵#eGDTpoonlsoG޺wk,s9Qe E'sBdѡJ8CLyb&4*TCA@<Q5C UJF SjA<^NqhG2PqOd"K 37s8cFtլHhOdbPZ
-endstream
+6898 0 obj
+<< /D [ 6864 0 R /XYZ 81.077 125.792 null ] >>
endobj
6899 0 obj
-<< /Type /Page /Contents 6900 0 R /Resources 6898 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+<< /D [ 6864 0 R /XYZ 81.077 114.833 null ] >>
+endobj
+6900 0 obj
+<< /D [ 6864 0 R /XYZ 81.077 103.874 null ] >>
endobj
6901 0 obj
-<< /D [ 6899 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 92.915 null ] >>
endobj
6902 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 6864 0 R /XYZ 81.077 81.956 null ] >>
endobj
-6903 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-6904 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 715.033 null ] >>
+6863 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F46 176 0 R /F23 660 0 R /F80 749 0 R /F70 185 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6905 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 704.075 null ] >>
+<< /Filter /FlateDecode /Length 2473 >>
+stream
+xZs۸~_>~4Nt8D٬)R(;w@;޴LH\`wEvg?R}pnj8R0:^L
+$H6AXzDnwI`&Po|eJ=̻弱ە}L#S)K˾(<:5mx;bK}GvYNLD>/Wy3_˧Ӯ.h[QT""3Jf!4s(Lb0Ji d9#Iբtڪa<= I2ںniGYhYU]ۻK*AR.v}9|T5Q~
+Rirk~SV<Z9gK/U>ߖ}^~_]탢57.W?J JӘDiHk% l&5͛*H;M(EU_wbOW_Ͷd}}BT@^TҌLfY~~ٛ~[('ow$ٖвפ4ѤiwN"m[7ۍ-f\g[3te֖' i}WPumM>mZ5۾hq>*%lq>Q뗅{8S@ nv0iS? 5R <%XFq&MSgI㶊/=nn tj'!i&c5mm^)\9lybU
+M·ELgro$.Y{rVm%֢+tIXvŽTO [wUjIO)NihZXűJoBxJQ&U2
+i|_k5j14Y|o~u4DJq <v/7CU
+#F>d/52+QHJ qzҧk*<5Lm]a1BñLNi[bD
+@dQ9kjko۵AYyNt-_5cD`G CJLͼ (~Q#S*2Kօiy7ukX3MC Ƶ]1 &t81h^u?,CFb-MP4; īiA jYHSc)qh(0BFOxLML3 fiPG3/'"lC4 ᧋P AN^v^eDw&jL 8y *K!TF Pa2y-`
+3l+`_`c{ږ9ؗp/BJ5{'<Htp8aME6} }W\o Д6_sL0~?Dw.i N qor_λ &qK?GS#jOL]DLPz`]vEⲨZxBHG>̐ .R3q˺Wɺ\ݓb ԑ'Nl]3b?U?):̳B\N}՜PC]g>2fhۃc%סD"185|
+#h' hE.|"9 ғ&i4Gс;`]zWHK ?ɤ;ۗFX Q(HpZɟ?oi Et9
+endstream
+endobj
+6904 0 obj
+<< /Type /Page /Contents 6905 0 R /Resources 6903 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6821 0 R >>
endobj
6906 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 693.116 null ] >>
+<< /D [ 6904 0 R /XYZ 78.37 808.885 null ] >>
endobj
6907 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 682.157 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 768.832 null ] >>
endobj
6908 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 617.4 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 757.873 null ] >>
endobj
6909 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 606.441 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 746.914 null ] >>
endobj
6910 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 595.482 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 735.955 null ] >>
endobj
6911 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 584.523 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 665.767 null ] >>
endobj
6912 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 573.564 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 654.808 null ] >>
endobj
6913 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 562.605 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 625.917 null ] >>
endobj
6914 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 551.646 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 614.958 null ] >>
endobj
6915 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 540.687 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 603.999 null ] >>
endobj
6916 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 529.728 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 563.152 null ] >>
endobj
6917 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 518.769 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 552.193 null ] >>
endobj
6918 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 507.811 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 541.234 null ] >>
endobj
6919 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 466.964 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 530.275 null ] >>
endobj
6920 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 456.005 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 514.335 null ] >>
endobj
6921 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 445.046 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 503.376 null ] >>
endobj
6922 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 434.087 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 460.537 null ] >>
endobj
6923 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 423.128 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 449.578 null ] >>
endobj
6924 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 412.169 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 438.619 null ] >>
endobj
6925 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 401.21 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 427.66 null ] >>
endobj
6926 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 390.251 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 362.903 null ] >>
endobj
6927 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 379.292 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 351.944 null ] >>
endobj
6928 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 368.334 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 340.985 null ] >>
endobj
6929 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 357.375 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 330.026 null ] >>
endobj
6930 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 346.416 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 319.067 null ] >>
endobj
6931 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 335.457 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 308.108 null ] >>
endobj
6932 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 324.498 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 297.149 null ] >>
endobj
6933 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 313.539 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 286.191 null ] >>
endobj
6934 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 302.58 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 275.232 null ] >>
endobj
6935 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 291.621 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 264.273 null ] >>
endobj
6936 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 260.737 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 253.314 null ] >>
endobj
6937 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 249.778 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 212.467 null ] >>
endobj
6938 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 238.819 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 201.508 null ] >>
endobj
6939 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 227.86 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 190.549 null ] >>
endobj
6940 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 216.901 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 179.59 null ] >>
endobj
6941 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 205.943 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 168.631 null ] >>
endobj
6942 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 194.984 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 157.672 null ] >>
endobj
6943 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 184.025 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 146.714 null ] >>
endobj
6944 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 173.066 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 135.755 null ] >>
endobj
6945 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 162.107 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 124.796 null ] >>
endobj
6946 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 151.148 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 113.837 null ] >>
endobj
6947 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 140.189 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 102.878 null ] >>
endobj
6948 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 129.23 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 91.919 null ] >>
endobj
6949 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 118.271 null ] >>
-endobj
-6950 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 107.312 null ] >>
+<< /D [ 6904 0 R /XYZ 81.077 80.96 null ] >>
endobj
-6951 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 96.354 null ] >>
+6903 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F80 749 0 R /F19 184 0 R /F20 186 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
6952 0 obj
-<< /D [ 6899 0 R /XYZ 81.077 85.395 null ] >>
-endobj
-6898 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F20 186 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-6955 0 obj
-<< /Filter /FlateDecode /Length 1754 >>
+<< /Filter /FlateDecode /Length 1615 >>
stream
-xڵZMo6Wd0&Cl(P
-n!(2%$&l~8ެǻDG!gP vwW$Oogg׷M8J4at2_#<!-$j$AX|5\\3ݍu}+FL` J˴8T@[\Fx{.ezsuSMsSmjI)#_.[nj]9޺OKͧV}>w}T# ջ.jw2+[3'NeLT88Ɗ"Ac0|j,M͏Z0$sD [77H5{7<nn"Eh܂ *VH /o|NMݙ3l]y紂,*̓۟/5d1B *N1e4/Mքq;iW<~IMizr$ą-0!h{=_PΊuM4~/ZUwI!O0 +$F`h'r:\ԝQ:Ebʉ;RM1"t'q"@hGhpő;u|.[պ{>Y*B2+ؑRMbeM4w$K8 2s NBŽP' &z$B!D%02
-
-;DvmݺdM=2,x]~V+e~P#%d+_zދzsWxkm{ˀӶ`)C7Yb9DEo,DSRWϗ]*59hfU}t̮}Z? #>KEٗ4+_Pj K>|Cc/_b_k[ 5&]O1GS~i7B'T(p-$,E,ۿCOEYe~hf46vEr[޲sOʬzk!S/gcL 4Fhxq/a'zxiԛuzg
-S̬A~JH$ĉ z'bw9yTb*տ)T0[BKe=[iˆcqa请\9Sjzn# :B !,*1z
-?P6_C5 )Q]JJĹuEaBbP ѻ3̬{hLe}if9I /Q<4Nz^҄ٵ{A="]2P76]doZ.$w`*Bvӽa\{ 'dw?϶
+xڽZMoFWh7z?0Rz0zi
+I*w(J]q9rڋI|3of=#Q}{҈$2g׷' 36hffF3B5]fj_׿w_j7i-l f;&dQuYϯ^+"+E^fZfTOWƣ{E <781D>E峢KH((msKf1"JhF4˔bh?6lԝ_t~9ZW tKET>HQM'M(/AE6\i"RWꪺ[o&u?ztkq/j8m[K"!bb\HbAX4~Ε Rrm) 7:E_}Fs(5 p}蠚C —e {&%Q^{RG*F0{'nA/u>Ygp՛.Y6/[?0ax]`lqѶDPc0:P5İ ̂5A8PĨ Ԃ|&A@UZり
+#'jGR"(81LRkҊ*E7Ӫg26fu_F+Z%8F:& #$VqTXQc0~%݂MRURBG(*p ivU┠H?O@ƒPK_bEjC@gc74ᣃJ\IxR. K\ -=%hmhsnS*Loc'5Go\GT#M<HhPRt? ]-J7í%k6%Q[1F|>^ͻyG"Ukw ݾ)D*øo+2DQn`1:gq;J+$`;A8e ҡ(jW-Aq<B(q%phGs&]@WzQ0A5Q%\"EF91&J u8U
+: F*'%s3c]M۝BN 'ݞv˫e,^K)GDf}'U M>qsv9}P@Y
+'XH`Ua_Hqf7!m1( A{2$
+| snfeq.ˡdcݬpI2A󰾻]nx4`CG$F4~W7ZmuUWwM9I YJ3xZʪ4߶fhvVCj.F<~]C{6';MLF_DAnM􈮲yN btlY~x_4] qr8UXU;K@Q"J+ܠbtJ?XrPU}$h|2n'@́">G[&0{CrSBT5v9WXNf2Q¬M?O?XmʮXŢ+(>W#e)}O눶
+{n
endstream
endobj
+6951 0 obj
+<< /Type /Page /Contents 6952 0 R /Resources 6950 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6821 0 R >>
+endobj
+6953 0 obj
+<< /D [ 6951 0 R /XYZ 78.37 808.885 null ] >>
+endobj
6954 0 obj
-<< /Type /Page /Contents 6955 0 R /Resources 6953 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+<< /D [ 6951 0 R /XYZ 81.077 768.832 null ] >>
+endobj
+6955 0 obj
+<< /D [ 6951 0 R /XYZ 81.077 757.873 null ] >>
endobj
6956 0 obj
-<< /D [ 6954 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 746.914 null ] >>
endobj
6957 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 735.955 null ] >>
endobj
6958 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 705.071 null ] >>
endobj
6959 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 694.112 null ] >>
endobj
6960 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 683.153 null ] >>
endobj
6961 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 672.194 null ] >>
endobj
6962 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 661.235 null ] >>
endobj
6963 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 650.276 null ] >>
endobj
6964 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 639.317 null ] >>
endobj
6965 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 628.358 null ] >>
endobj
6966 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 617.4 null ] >>
endobj
6967 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 606.441 null ] >>
endobj
6968 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 595.482 null ] >>
endobj
6969 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 584.523 null ] >>
endobj
6970 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 573.564 null ] >>
endobj
6971 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 562.605 null ] >>
endobj
6972 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 551.646 null ] >>
endobj
6973 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 540.687 null ] >>
endobj
6974 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 529.728 null ] >>
endobj
6975 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 518.769 null ] >>
endobj
6976 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 507.811 null ] >>
endobj
6977 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 495.855 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 496.852 null ] >>
endobj
6978 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 484.896 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 485.893 null ] >>
endobj
6979 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 473.938 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 474.934 null ] >>
endobj
6980 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 462.979 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 463.975 null ] >>
endobj
6981 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 452.02 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 453.016 null ] >>
endobj
6982 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 441.061 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 442.057 null ] >>
endobj
6983 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 430.102 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 409.18 null ] >>
endobj
6984 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 419.143 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 398.221 null ] >>
endobj
6985 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 408.184 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 387.263 null ] >>
endobj
6986 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 397.225 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 376.304 null ] >>
endobj
6987 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 386.266 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 365.345 null ] >>
endobj
6988 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 375.307 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 354.386 null ] >>
endobj
6989 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 364.349 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 343.427 null ] >>
endobj
6990 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 353.39 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 332.468 null ] >>
endobj
6991 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 342.431 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 321.509 null ] >>
endobj
6992 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 331.472 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 310.55 null ] >>
endobj
6993 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 320.513 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 299.591 null ] >>
endobj
6994 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 309.554 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 288.632 null ] >>
endobj
6995 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 298.595 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 245.793 null ] >>
endobj
6996 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 287.636 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 234.834 null ] >>
endobj
6997 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 276.677 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 223.875 null ] >>
endobj
6998 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 265.718 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 212.916 null ] >>
endobj
6999 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 254.759 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 201.957 null ] >>
endobj
7000 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 243.801 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 190.999 null ] >>
endobj
7001 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 232.842 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 180.04 null ] >>
endobj
7002 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 221.883 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 169.081 null ] >>
endobj
7003 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 210.924 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 158.122 null ] >>
endobj
7004 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 199.965 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 147.163 null ] >>
endobj
7005 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 189.006 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 136.204 null ] >>
endobj
7006 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 178.047 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 125.245 null ] >>
endobj
7007 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 167.088 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 114.286 null ] >>
endobj
7008 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 156.129 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 103.327 null ] >>
endobj
7009 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 145.17 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 92.368 null ] >>
endobj
7010 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 134.212 null ] >>
+<< /D [ 6951 0 R /XYZ 81.077 81.41 null ] >>
endobj
-7011 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 123.253 null ] >>
-endobj
-7012 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 112.294 null ] >>
+6950 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7013 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 101.335 null ] >>
+<< /Filter /FlateDecode /Length 1727 >>
+stream
+xZMo6W7EC.CN ۲#D ;%:i
+bFy3#V#:rA#Q?rH$ >./ #62h"l4] qw7קڎ Z $6DɄnʬh&j?TЎQqzCKy <X0relV0ʝgn.u\`́ z3apzZ^? K1-YYq|{MŒttit<8%C3,"+w{[R~}q^7IƛIqsI9z7&Y4,
+'&\kg=u-10s_׋_DVA#֢&oI>36i{҆6@ "[3ܭ=0:^D
+'Gk&(Fdtả8>d'9I*yy-s}+(->ڥ<0Cun4e,v`шhTڜ|$4"DYY8FNs͉BΆڤ/̨ZYZ{iЖE"fegd𫠠<|$I<RG`t(-N-CK
+MVIU˪HJqbyqG?U8YX[{(Ɉ1.5X# k-(,w[o!>;YKYxKYz(HKD#ZB.&@PF.@{.ӦGPdM>ڳ)ϊ&ZY>zGZU&I' >NVxK"9NqF.RIwƥ
+aͅ,8V:θ+@tE~pFP&\F 8]+*GN.}4Z"=)(M ]'TF\C2. nkGe˭""uq.@{^hM ÊkT]fQK88:>]ټVx.R͝*D=gfGm ʵ!p Lo+!xYyyɣCVS|<f؍GV?mwe,rLeӤ֗!kSnꧺI<r usg%Lc'&Iʈe!{_ oHH-As{t-41r
+}:/xD4ᶑtGJzVMYgMVeIV g[<E夌ڪ4OHٷt5ۮ k{2?W
+<9_;vfڜY~#pI>Lau]\(8>S,[2+|{_xX 
+-t3a>yޜgVf\jE;@o>`[R}6^#QtBEj8.wt=LCM`9ˢJ,BDLA*d]. US
+u8_S?ܦEn<.޵wL:֜c-v}{T-l<D+|k=to_>Q{A8d 
+~n
+endstream
+endobj
+7012 0 obj
+<< /Type /Page /Contents 7013 0 R /Resources 7011 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6821 0 R >>
endobj
7014 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 90.376 null ] >>
+<< /D [ 7012 0 R /XYZ 78.37 808.885 null ] >>
endobj
7015 0 obj
-<< /D [ 6954 0 R /XYZ 81.077 79.417 null ] >>
-endobj
-6953 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 7012 0 R /XYZ 81.077 768.832 null ] >>
endobj
-7018 0 obj
-<< /Filter /FlateDecode /Length 1919 >>
-stream
-xZKoFWV7&WE#E|k
-(E*ʎwV$\9<2&NV:pF_Hbb&zy`If$ҌP&כSs{m&11Zx fdBG;[.D„LjMzSf:P\M?*/pHf{,tI¤e)N1z$S/ݞD,K/É5F׫ζE>Om6+9ovݢ'^̋* Kq?FCM5Z36D
-~bDF>1*h:L%elH$;5uzm}ZFؠp8i]Sϳ(
-f;uVdii:M5[EgvKG tgП,lUn-J .Ϯ}:IC AS\2 оA T
-FbCo#bQ{! C f g<c4<&:Irqvo&[}8w
-iX6Ht~w~!]¾"ZdWg:;v#tܜs=}$9&<0?iXpҞCtSBGo.Hw
-{qe/'gP9;PTu&_d'!iz4ض1\;UԮS>u
-& i ;+Vah*a݉y7
-Ew1`ch~eA")΍1E  Ў-|d]Qlb 4Q%ҙB}bУnw6Z/_EMZֶ7~႙}偬/OR_3\_kw}
-endstream
+7016 0 obj
+<< /D [ 7012 0 R /XYZ 81.077 757.873 null ] >>
endobj
7017 0 obj
-<< /Type /Page /Contents 7018 0 R /Resources 7016 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+<< /D [ 7012 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+7018 0 obj
+<< /D [ 7012 0 R /XYZ 81.077 735.955 null ] >>
endobj
7019 0 obj
-<< /D [ 7017 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 724.996 null ] >>
endobj
7020 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 714.037 null ] >>
endobj
7021 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 703.078 null ] >>
endobj
7022 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 692.119 null ] >>
endobj
7023 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 681.16 null ] >>
endobj
7024 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 670.202 null ] >>
endobj
7025 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 659.243 null ] >>
endobj
7026 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 648.284 null ] >>
endobj
7027 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 637.325 null ] >>
endobj
7028 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 626.366 null ] >>
endobj
7029 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 615.407 null ] >>
endobj
7030 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 604.448 null ] >>
endobj
7031 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 593.489 null ] >>
endobj
7032 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 582.53 null ] >>
endobj
7033 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 571.571 null ] >>
endobj
7034 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 560.613 null ] >>
endobj
7035 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 549.654 null ] >>
endobj
7036 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 563.601 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 538.695 null ] >>
endobj
7037 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 552.642 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 527.736 null ] >>
endobj
7038 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 541.684 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 516.777 null ] >>
endobj
7039 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 530.725 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 505.818 null ] >>
endobj
7040 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 519.766 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 494.859 null ] >>
endobj
7041 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 508.807 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 483.9 null ] >>
endobj
7042 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 497.848 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 472.941 null ] >>
endobj
7043 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 486.889 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 461.982 null ] >>
endobj
7044 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 475.93 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 451.023 null ] >>
endobj
7045 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 464.971 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 440.065 null ] >>
endobj
7046 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 454.012 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 429.106 null ] >>
endobj
7047 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 443.053 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 418.147 null ] >>
endobj
7048 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 432.094 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 407.188 null ] >>
endobj
7049 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 421.136 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 396.229 null ] >>
endobj
7050 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 410.177 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 385.27 null ] >>
endobj
7051 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 399.218 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 374.311 null ] >>
endobj
7052 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 358.371 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 363.352 null ] >>
endobj
7053 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 347.412 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 352.393 null ] >>
endobj
7054 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 336.453 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 311.547 null ] >>
endobj
7055 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 283.651 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 300.588 null ] >>
endobj
7056 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 272.692 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 289.629 null ] >>
endobj
7057 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 261.733 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 278.67 null ] >>
endobj
7058 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 250.774 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 267.711 null ] >>
endobj
7059 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 239.816 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 256.752 null ] >>
endobj
7060 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 228.857 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 245.793 null ] >>
endobj
7061 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 217.898 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 234.834 null ] >>
endobj
7062 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 206.939 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 223.875 null ] >>
endobj
7063 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 195.98 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 212.916 null ] >>
endobj
7064 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 185.021 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 201.957 null ] >>
endobj
7065 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 174.062 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 190.999 null ] >>
endobj
7066 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 163.103 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 180.04 null ] >>
endobj
7067 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 152.144 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 169.081 null ] >>
endobj
7068 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 141.185 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 158.122 null ] >>
endobj
7069 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 130.226 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 147.163 null ] >>
endobj
7070 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 119.268 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 106.316 null ] >>
endobj
7071 0 obj
-<< /D [ 7017 0 R /XYZ 81.077 108.309 null ] >>
+<< /D [ 7012 0 R /XYZ 81.077 95.357 null ] >>
endobj
-7016 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
+7072 0 obj
+<< /D [ 7012 0 R /XYZ 81.077 84.398 null ] >>
endobj
-7074 0 obj
-<< /Filter /FlateDecode /Length 2422 >>
+7011 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7075 0 obj
+<< /Filter /FlateDecode /Length 2253 >>
stream
-xڽZKoϯ0Ј$,0Ef
-8]sOu=E^,&c¨6Ph0
-|n6w`yv<ߩ F4n[A5=!
-M6 gTZ A:uՖv]*GKzϐC-CMGsh @(QW- I ni0n45{g/"E8>e$f0$ezuW@00
-$/u~ }Ҝ"w mOgk8~Q]`ŌG7YZaPMd*L $媲wհ5܇&{DE?Ǯm8:Ǚi~yz]`}U`O}<DiխpqظUhÖ>\MbǴ#Ǫ[ MhݱLűjIM N[$6ChnZͮ;ggC[mb8+zLwdү<bBbT4 KNIe-8R55
-*/[c@q &rۃ3r2?{V"y!<3wiR:X`-ر'zBIJ!_(l
+xڭZKo80ЇuoJ^
+(\f_%o7e'uVMߜkB!iK/
+EflԺI_pݥ   t0.`םD L atRaRhG bQo"=q{~)[5bRabs6|d3b5jB~!8/j߱ b<,{hA?ԋ҉AC2!獇Ykm3#KQ6 XUigmiC"2,yPMSrcc`2FJ 0.:;b_%yXЭ+϶tʹ&F?1yN۶TPm
+,ոhur<+t8\:1 hS=RԴ-$]% 7m%Y58zM/R_Ya%wyv?ڦCmy))٧u>kg;Ge1nt
+[zlKB57:BOUߪl R<Vt|a ۪Е#a|qRjd,&ADvv0,#BpcZ_N@x6B?%l pqsvEՈ#^+
+-xnC.r=ouwXEHRD!$(
+yh'%+<חխӰؘy$8YoI*'5C-h.:\vvsaDy}Ë* ׍<Xuqx1r !Ƈ.D vR5+ bѐ
+f.:xnCOg-T:x/H .+࡝MQe͸AgSLA=8\kX!+7͏Iܾa¸7/2?@{ANC+OI˶}:ϖ\P$!ȰPP!Hzx" #PWȭH"6/ GovIc1wGT|]y{@dOr2rxoKp\j~g~i2\mb
+bd]K{k(uYmY#7[-6m7c~ߎT[9xc)Fd!e>Lwag!l: pɃ܅~;es3.@͛V MAb4&2tɯa `"+ #TUWF~z E+h agRz?{tW%Pv, R2Fb_o o~t—`UN#%P4G2C>$ɂ-Hކ
+k5xqsa EcH aE!n( ["\"CA C|PX <RXp'0G RBeXLNs
endstream
endobj
-7073 0 obj
-<< /Type /Page /Contents 7074 0 R /Resources 7072 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
-endobj
-7075 0 obj
-<< /D [ 7073 0 R /XYZ 78.37 808.885 null ] >>
+7074 0 obj
+<< /Type /Page /Contents 7075 0 R /Resources 7073 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6821 0 R >>
endobj
7076 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 742.929 null ] >>
+<< /D [ 7074 0 R /XYZ 78.37 808.885 null ] >>
endobj
7077 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 731.97 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 730.974 null ] >>
endobj
7078 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 721.011 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 720.015 null ] >>
endobj
7079 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 710.052 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 709.056 null ] >>
endobj
7080 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 699.093 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 698.097 null ] >>
endobj
7081 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 688.134 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 687.138 null ] >>
endobj
7082 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 677.175 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 676.179 null ] >>
endobj
7083 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 666.217 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 665.22 null ] >>
endobj
7084 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 655.258 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 654.261 null ] >>
endobj
7085 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 644.299 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 643.302 null ] >>
endobj
7086 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 633.34 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 632.344 null ] >>
endobj
7087 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 622.381 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 621.385 null ] >>
endobj
7088 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 611.422 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 610.426 null ] >>
endobj
7089 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 600.463 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 599.467 null ] >>
endobj
7090 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 589.504 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 588.508 null ] >>
endobj
7091 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 507.361 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 577.549 null ] >>
endobj
7092 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 496.402 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 566.59 null ] >>
endobj
7093 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 467.511 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 555.631 null ] >>
endobj
7094 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 456.552 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 502.829 null ] >>
endobj
7095 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 445.593 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 491.87 null ] >>
endobj
7096 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 434.634 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 480.911 null ] >>
endobj
7097 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 423.675 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 469.953 null ] >>
endobj
7098 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 412.716 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 458.994 null ] >>
endobj
7099 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 401.757 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 448.035 null ] >>
endobj
7100 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 385.817 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 437.076 null ] >>
endobj
7101 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 374.858 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 426.117 null ] >>
endobj
7102 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 363.899 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 415.158 null ] >>
endobj
7103 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 352.94 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 404.199 null ] >>
endobj
7104 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 310.101 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 393.24 null ] >>
endobj
7105 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 299.142 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 382.281 null ] >>
endobj
7106 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 288.183 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 371.322 null ] >>
endobj
7107 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 277.224 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 360.363 null ] >>
endobj
7108 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 212.467 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 349.405 null ] >>
endobj
7109 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 201.508 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 267.262 null ] >>
endobj
7110 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 190.549 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 256.303 null ] >>
endobj
7111 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 179.59 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 227.411 null ] >>
endobj
7112 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 168.631 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 216.452 null ] >>
endobj
7113 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 157.672 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 205.493 null ] >>
endobj
7114 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 146.714 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 194.534 null ] >>
endobj
7115 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 135.755 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 183.575 null ] >>
endobj
7116 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 124.796 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 172.616 null ] >>
endobj
7117 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 113.837 null ] >>
+<< /D [ 7074 0 R /XYZ 81.077 161.658 null ] >>
endobj
7118 0 obj
-<< /D [ 7073 0 R /XYZ 81.077 102.878 null ] >>
-endobj
-7072 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F80 749 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 7074 0 R /XYZ 81.077 145.717 null ] >>
endobj
-7121 0 obj
-<< /Filter /FlateDecode /Length 1601 >>
-stream
-xZ]o6}ϯ! ? l(
-,=:J-TRIm2-tT鶗(ux%yϽDgoftgqk9[_1h36333l}3kŠy8.m]un6ݻƇ?ؼws쟽#׿WNʝ#}ńgϲUvye;גqbQOweUyZ“w]Mg7s4F﴾Dž8r9FNopAK:\~ p؈$2c&5g57wpX&,63É)\q}-j7{pFuU\747 ڱN
-g;FFۦzm-`==Lܦ͛b[SMhk?`$ PT`aFHi;ʹe 'bw5 C(
-t$]YnZ}_Bpb 觊2XZ$&ht (գ@Nj9͡>U!Dq ,v]v]銫6J0?]&Y"\67Q&K`HMjI) eTP _C^-w_5m/;"ZB:M a& 뒥hKb!.$! xװk4# D[+tPNm)}&85GiN[[ɺ_ըq#tRqey#'^uryqƻ?3h)gq!>Jَ0e=Ȳ1aJ-T. jb S RR"?A+z',dWkM+p|c4z1N8nm:H̳<u_HkZm7FSJN(1?RN5sdNt)jgQTT>!= pp(Z <
-:$Jx%m O0 AmkMpDm4޶B
-VV/˦펾U[3_.]͕o>iWTѻӮC<`I /F:#10)3lcqCtA&?àP,l0FEUCL3!Q00 )lO,>+t
-endstream
+7119 0 obj
+<< /D [ 7074 0 R /XYZ 81.077 134.758 null ] >>
endobj
7120 0 obj
-<< /Type /Page /Contents 7121 0 R /Resources 7119 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+<< /D [ 7074 0 R /XYZ 81.077 123.799 null ] >>
endobj
-7122 0 obj
-<< /D [ 7120 0 R /XYZ 78.37 808.885 null ] >>
+7121 0 obj
+<< /D [ 7074 0 R /XYZ 81.077 112.841 null ] >>
endobj
-7123 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 742.982 null ] >>
+7073 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F78 556 0 R /F73 189 0 R /F69 183 0 R /F80 749 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7124 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 732.023 null ] >>
+<< /Filter /FlateDecode /Length 2141 >>
+stream
+xZMo#ϯ1 6A@=B[n[´5xgEʲ,F2|U,*Gx<\}AFRG))Id4[~+>yޔ{O
+}kVHstOU%T@~X7h|% -~]VhXc*o]0"-tDt$0 n.v}믥{mx<~_!|nھU p;9LHdM.# A06
+xz6)
+"Y]jBAbV21wq7CMh -Ey'냂*s7`1_N-Üyϫtv.,FӇɋ=72`L] )zw%I3;Xa̲t\Ș!kr5Puڒoތb]
+xw7O0ri
+.͇-ka+ Jۋe4|\G3$ݫ}'nW !0̆:H?]ˆ<XҥXe?x<]QރH藘3EpJ6i^ôr*يɕDjj?ð#pp:gIH-ۢ-I3}UDӿ-\!Fda w!39Fĩo>#w3W<Wri)A,,*Ϧ=C`p0:J޹e .&y$&'
+endstream
+endobj
+7123 0 obj
+<< /Type /Page /Contents 7124 0 R /Resources 7122 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6821 0 R >>
endobj
7125 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 721.064 null ] >>
+<< /D [ 7123 0 R /XYZ 78.37 808.885 null ] >>
endobj
7126 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 710.105 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 742.929 null ] >>
endobj
7127 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 699.146 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 731.97 null ] >>
endobj
7128 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 688.187 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 721.011 null ] >>
endobj
7129 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 677.228 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 710.052 null ] >>
endobj
7130 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 666.269 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 645.295 null ] >>
endobj
7131 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 655.31 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 634.336 null ] >>
endobj
7132 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 644.351 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 623.377 null ] >>
endobj
7133 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 633.393 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 612.418 null ] >>
endobj
7134 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 622.434 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 601.459 null ] >>
endobj
7135 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 611.475 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 590.5 null ] >>
endobj
7136 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 600.516 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 579.542 null ] >>
endobj
7137 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 589.557 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 568.583 null ] >>
endobj
7138 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 578.598 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 557.624 null ] >>
endobj
7139 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 567.639 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 546.665 null ] >>
endobj
7140 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 537.124 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 535.706 null ] >>
endobj
7141 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 526.165 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 494.859 null ] >>
endobj
7142 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 515.206 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 483.9 null ] >>
endobj
7143 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 504.247 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 472.941 null ] >>
endobj
7144 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 493.288 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 461.982 null ] >>
endobj
7145 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 482.329 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 451.023 null ] >>
endobj
7146 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 471.37 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 440.065 null ] >>
endobj
7147 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 460.412 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 429.106 null ] >>
endobj
7148 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 449.453 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 418.147 null ] >>
endobj
7149 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 438.494 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 407.188 null ] >>
endobj
7150 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 427.535 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 396.229 null ] >>
endobj
7151 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 416.576 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 385.27 null ] >>
endobj
7152 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 405.617 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 374.311 null ] >>
endobj
7153 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 394.658 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 363.352 null ] >>
endobj
7154 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 383.699 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 352.393 null ] >>
endobj
7155 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 372.74 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 341.434 null ] >>
endobj
7156 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 361.781 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 330.476 null ] >>
endobj
7157 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 350.823 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 319.517 null ] >>
endobj
7158 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 339.864 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 288.632 null ] >>
endobj
7159 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 328.905 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 277.674 null ] >>
endobj
7160 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 317.946 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 266.715 null ] >>
endobj
7161 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 306.987 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 255.756 null ] >>
endobj
7162 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 296.028 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 244.797 null ] >>
endobj
7163 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 285.069 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 233.838 null ] >>
endobj
7164 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 274.11 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 222.879 null ] >>
endobj
7165 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 241.655 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 211.92 null ] >>
endobj
7166 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 230.696 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 200.961 null ] >>
endobj
7167 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 219.737 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 190.002 null ] >>
endobj
7168 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 208.779 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 179.043 null ] >>
endobj
7169 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 197.82 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 168.085 null ] >>
endobj
7170 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 186.861 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 157.126 null ] >>
endobj
7171 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 175.902 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 146.167 null ] >>
endobj
7172 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 164.943 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 135.208 null ] >>
endobj
7173 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 153.984 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 124.249 null ] >>
endobj
7174 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 143.025 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 113.29 null ] >>
endobj
7175 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 132.066 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 102.331 null ] >>
endobj
7176 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 121.107 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 91.372 null ] >>
endobj
7177 0 obj
-<< /D [ 7120 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 7123 0 R /XYZ 81.077 80.413 null ] >>
endobj
-7119 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+7122 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7180 0 obj
-<< /Filter /FlateDecode /Length 3207 >>
-stream
-x\Ko#7W^vLiI,
-:çaJE` v,nuL$s34\e%ᵎኢp3a8z \؈Jh.߯fຟ4'<Ŧ!wIO<nGm2> ):pnb~-{+hlE#@n"ofEƤ-겱ϵ/v|v ܋H~-+ "mbdő(Ks7)zٺw=
-\FOAIFwoV D+غ8I :nQVi2뗔P{{]&vi$De*~HBZHY%.f9]66K 8ʼnce'..>R2bDLd_8@/mB?̦u'Z )(1&V QV2kk.nŮXhi|`G SiY/e---]f+I3~ BLȺlbkK:_I;FXCjdEYYnb}YѤ61J^
-DiZb,EYt_?KZG$iF&{Bظ|HAUi{g=gp"0eȰWPsFVS`7]3kַvٮ8*Z"U1dY߻>dUSʭ%"mpEϬ hB03*+*v?,rYDؘUY]ɬSsGqJtVc H{rUvBȬ6]m~kO ŜT&l0-뱘Nl? sTZ% N:M^Oǔr$]ڠLzŭ
-h*@Y]ʬcx}l<#A0&f~]`.. :o
-cfb״(̺,.0mQ`Yef4h^qR+eO2kk;&$6_tY̬*:|>}H)KRXtYˬSϞ5{ RuYʬڻ]Z=/P6e`kv/Ҟ KBf=Q[K̕d-R*
-&Wwń[y~Y.7L\oH 0s>{U]5;ns34ïM׵[Çquo>vy=vDBs?pX({oeϯv>6`7nҟk.]pXj<O^ls6YcYˠP ܢÓm?LnZ!@z='b ݗYcm86G-~)'ceOjb_A-Ѩ#͉8,'6"J8d(̑ɲ4<Q hP]ZkeEHB{BZNoj,WluPW} ¸5XUsUCm`(xsZ!N2% ?lU %
-V*O_ =;>W>O-l38W_#K@PO
-.}8LSZכ%ikLSMS̃?NMijx0+& Qă x>M~6^mqk>6x푉&~f|;0gI)ьR|yD3:0'bJ1 e`" LS7_(|?
- m~I8h?Cކ{Bg'/KE $rD0$~= _de ={I4372Җr3UPRyèuz1"QW{Rj% "C%ca:" OUλũ;$QBD!f`RD0`{7 fDtYN
-w'oݣ !
-S%3$B i%q܌V h%: E7 0mb șfRFp 3X$wrKzDv֓}f,0w!Ҁ
-Rc̐饻Mc81E$ h9qÊD6pb8̕prRqF5:';}r$H7I%E ;@IN3
- X4?- XߪYscW91ܝ8^6HuO;$B i%q܌ V0= QJvZrʼnAHrE!QK=.NbzRIzzӌ€F),f׮>H 7)Jd;$B i@%q܌ V (}
+<< /Filter /FlateDecode /Length 1703 >>
+stream
+xڽZKoFW7;F~P)
+*?ֶy}-Wy?0:H`+Mp 4Ǚ ICR46Ոhml3۠ MTx8D"~/AmK͇Pf%O}묶O٪m:[tv>]!8mVS0O 4K-M ~[qSLS\D~*+*qV[|f]('-01h׽LF[.-?/:wz8_M`l1$A^8vvrt.^Gr HgN**AY %D#a drgN*Ao\dv_ٮIaU)OHf)zO&@hυ¸ <tHcȉ$$C{0mOУb&A1DĜ9W V]wo];w25~(7N>^]^v>~GxMSs|[ZFa64. Qi.Scxؘp݂ gaS7<9 Sfa. F'$&6KXPhrc}0ݯ~*nZ0־p #DZ;n uٕMԫvNQ)Dh-[[Oy-uH_jۈj5fI_V즽!S&Y5E.o=sȅ@%̱3a au߆{}0
+C<M` 9-{7?IpP;ًp
+ 4݀Ne`>o6w*".\Ex7:,$ʫĠlN`s=zJO)+=LF$}zHXkk?F/WP^eH N*Q4U9+30B
+dҰa7.]P|\mq\ÊJF@\{T4|;0Gzְ!AGIl>ٮf60C!8ȥyԿ8ңO:) C hYkzwvZg>('5Hr_z ~C~p9FfwAE>;g
endstream
endobj
7179 0 obj
-<< /Type /Page /Contents 7180 0 R /Resources 7178 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+<< /Type /Page /Contents 7180 0 R /Resources 7178 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6821 0 R >>
endobj
7181 0 obj
<< /D [ 7179 0 R /XYZ 78.37 808.885 null ] >>
@@ -22934,14082 +22995,14172 @@ endobj
<< /D [ 7179 0 R /XYZ 81.077 724.996 null ] >>
endobj
7187 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 692.119 null ] >>
endobj
7188 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 681.16 null ] >>
endobj
7189 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 670.202 null ] >>
endobj
7190 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 659.243 null ] >>
endobj
7191 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 648.284 null ] >>
endobj
7192 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 637.325 null ] >>
endobj
7193 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 626.366 null ] >>
endobj
7194 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 615.407 null ] >>
endobj
7195 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 604.448 null ] >>
endobj
7196 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 593.489 null ] >>
endobj
7197 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 582.53 null ] >>
endobj
7198 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 571.571 null ] >>
endobj
7199 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 528.732 null ] >>
endobj
7200 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 517.773 null ] >>
endobj
7201 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 506.814 null ] >>
endobj
7202 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 495.855 null ] >>
endobj
7203 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 484.896 null ] >>
endobj
7204 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 473.938 null ] >>
endobj
7205 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 462.979 null ] >>
endobj
7206 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 452.02 null ] >>
endobj
7207 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 441.061 null ] >>
endobj
7208 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 430.102 null ] >>
endobj
7209 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 472.941 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 419.143 null ] >>
endobj
7210 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 461.982 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 408.184 null ] >>
endobj
7211 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 451.023 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 397.225 null ] >>
endobj
7212 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 440.065 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 386.266 null ] >>
endobj
7213 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 429.106 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 375.307 null ] >>
endobj
7214 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 418.147 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 364.349 null ] >>
endobj
7215 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 407.188 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 353.39 null ] >>
endobj
7216 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 396.229 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 342.431 null ] >>
endobj
7217 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 385.27 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 331.472 null ] >>
endobj
7218 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 374.311 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 320.513 null ] >>
endobj
7219 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 363.352 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 309.554 null ] >>
endobj
7220 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 352.393 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 298.595 null ] >>
endobj
7221 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 341.434 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 287.636 null ] >>
endobj
7222 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 330.476 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 276.677 null ] >>
endobj
7223 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 319.517 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 265.718 null ] >>
endobj
7224 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 308.558 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 254.759 null ] >>
endobj
7225 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 297.599 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 243.801 null ] >>
endobj
7226 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 286.64 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 232.842 null ] >>
endobj
7227 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 275.681 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 221.883 null ] >>
endobj
7228 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 264.722 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 210.924 null ] >>
endobj
7229 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 253.763 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 199.965 null ] >>
endobj
7230 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 242.804 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 189.006 null ] >>
endobj
7231 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 231.845 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 178.047 null ] >>
endobj
7232 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 220.887 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 167.088 null ] >>
endobj
7233 0 obj
-<< /D [ 7179 0 R /XYZ 81.077 209.928 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 156.129 null ] >>
endobj
-7178 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F32 1809 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7236 0 obj
-<< /Filter /FlateDecode /Length 3632 >>
-stream
-x\o7_;1\Z\
-p[[%GZI7peYK=ggJ'7:ᄆO7']}[JN.O0 hKJFnOLȫY~u,m[|?ҊTqug/ܿJJEVݮu#7 ,`F" 젒;UU^/dd}/S+*NPIC 36 Y%xgqY"jJɧ äV 89YON>L$ְQBH _J?}q7^"LdĂAGSēO27~!x.πo`J) ߳gA_*{_?~%Ƣ3 y4vDP+(FOQN.QX's
-3VZoRH,jp uP&#ndo{q4s%r
-Cy6o`2gX҆H7Du r7M/% AjpLԈ}`t4z0@L +$T// !(CL`8lBR6]Tf.`DYajˆiƙ6@dB| g5 8jh^bD =5Q)vbTTHPKYDT tZ0//HpAD`9 }ÌCR7
-M",AU<mÌAж5x&*>D*S=TR0^+CY3MΨ&%`ǓEi\d`bD0==Ii-)8L x<g iqЙ  5xbr<Q]B ČFP7'*'a h(pi\0GTn*d|覆GB:4J: '2St$ӝA8'Azګ*Oyڤ;"\O0X l]?^~.{7n̚_acvVҚvqv0QcC(cqc!1vnoö.6DBf237b[wWs5mYo>+PA ebiomM0sV_Wr +=:UfY~l7iZ5{0(FŠ2Paigֲb=0 W3`
-?]Acbbl,|Ϸb}9OLGxR
-CbxQvd~>)KGoGGa x/p&]"|=)Tc1qYQ
-
-0qgc2nXwa{Ρf_6kyl7Ġh\ƅY`zsŇzd|%!5q7>2ombWw-"FBCٞҵoaDh37wo)~]T;C5aw{׊2<Ӓ{#0Acۃd.J7_\)DZQ&\¨}0s8E)..Ҹ>FxV _g ʭbFpUF),94o/-(eW!\9pV|XѸ]ѫv2JrIj̙*h7'\Y!FeKォghڿI=' Blvʅ.hp{ں.N]|}$ v>nVx>&p hm1Su*)sM?p<.AD-PhtI~5]_!iݎ@={g +#2O{;oߥS
- 9J@92?XGx^Y'*B&ٍkӟ)ٶ3@A ?nd$f(dev3鯨k?TKͤQuw~ɺ2[s TQ) 4o/> v]eM<Xs,CXb~Ա)fe P&.Q0Q ++EeR&]3&^ ~$P@+E4BR&XgFPeכ,HwLz,BC-_Ŭr3>&wqps!_@IlLϘumx
-endstream
+7234 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 145.17 null ] >>
endobj
7235 0 obj
-<< /Type /Page /Contents 7236 0 R /Resources 7234 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6820 0 R >>
+<< /D [ 7179 0 R /XYZ 81.077 134.212 null ] >>
+endobj
+7236 0 obj
+<< /D [ 7179 0 R /XYZ 81.077 123.253 null ] >>
endobj
7237 0 obj
-<< /D [ 7235 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 112.294 null ] >>
endobj
7238 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 687.148 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 101.335 null ] >>
endobj
7239 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 676.189 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 90.376 null ] >>
endobj
7240 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 665.23 null ] >>
-endobj
-7241 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 654.271 null ] >>
+<< /D [ 7179 0 R /XYZ 81.077 79.417 null ] >>
endobj
-7242 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 643.312 null ] >>
+7178 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7243 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 632.353 null ] >>
+<< /Filter /FlateDecode /Length 4623 >>
+stream
+x]]o#}_\o@
+>Ɣ["Grxxnsy%e-|dwZvC(SAˆІŠM]غ&uQۧ꘡u*xŌ],OwOqsmIѻOMbc11Cm0akiLts ,~mXTdE'‚a%En]vS*ͦC$v뇛nqSF(xU}۹~.wܵuEYx])#6/)]^iNx
+Eօ}$Pyv(Fުp,EZtϻX$%Bn'N<Wf=R;`”&1IT 臇
+zn^o/;X@ab5V{Wntv1WۻAg>]n]X>ԽɳwnYm\^)@W7<_=(]
+
+Ȕ%
+*(a%H u|',%6< >X0(8' *Q(agp9ah"*= J*9%Zε7gi8usngo-O=tj-q ¸;ZI 3_(Óhl.d8xhhFFN
+kpAb&E#; Ci.+ը0˳PWH %BX* i%ı,5><$_9Аg][q3.X@d!
+K#̀Ppְ\O)#8D)3X$wrl'&
+ X4,QHF"1m86h|bJ<]BĊFrW Nq"!J[ƥ&Z\Hza1MT@*WԼ`ǓEԩ]`RD0>=iqa@#\YcD3>H 7)Jd?;$BAҀ&KcYrbX1J!5%y5z4 ":s8%.Ӱ2D(5HDw qhg&F0kHMp
+P+*Jxg:IPn0` d[RD!3)΁&q!Fr J ʳIcQMNa#WHGtqRb`H-]`#[a}%ft|rX!.n "dE#enIܒKn\ㇹ#|&o$Et­`E9Z"Mk$$? AXX_߀R" l=)w`/ )BIN -N04͋a߬G9%#aa4g(tس{ao!aNEA3B|G(Х}iz(ԪzJ}SdʓOODlzlXFN-P^{bJ϶@MJ@-T&%?]~(P,PسUr<y%F Zb|m? t9[LĜ/PbU?Ybj׮&5=ĺ{񮳸{lpAճ}oA! *h{!ᒸyՓ9$=szd吸gؚC-9$
+˫8$hwoqH$xᎰ$LtK1{ 57ٽcEkE0]
+>.M#Z")yqMT~bEexNB|OtPv 0)}T N3: tKa."# aCx`" i ywH61`$wAN R%S XiN,؂ERa5U9 2R4]-H>2ؐ2XB5qi" *h*jʒBkRyB"$M#f3~MEY5qHi"Aeh*Ę#I3ލiD/$GQG]-G>@L>0f΢qib l7ʡk(a*8HrKpG,31$*S5ӂh)ٳXGVPBT# a\Q(Eiyw;-G>`$Q7l,[B|t,M!a(+hE*8֔F 8ir iao7KO 0#+TM$4iQa Yk2Z&XKefH9HQ9HU>0LU
+GRg$:<At#ߑBdN)Yx:[㾖;*bi?>]'tLmS]|]{hP!N[uQfKmېCۢiNbʬh; cŁ}}|8O[m7vj #;-!u|mCտۻz_]Oc12k??]oCvË4Ay^'߁[V+NPҭfyDUwZfWl|E+鰾l׺pm 6[wJ[f޶߽;@|`#E,dDPw[f0\lדz
+t;"sJz1_y=Wb?xOQz3al7 GJX鏢t;w(LGʌÂT_mfv8y~qgK
+endstream
+endobj
+7242 0 obj
+<< /Type /Page /Contents 7243 0 R /Resources 7241 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 6821 0 R >>
endobj
7244 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 621.394 null ] >>
+<< /D [ 7242 0 R /XYZ 78.37 808.885 null ] >>
endobj
7245 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 610.436 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 768.832 null ] >>
endobj
7246 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 599.477 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 757.873 null ] >>
endobj
7247 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 588.518 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 746.914 null ] >>
endobj
7248 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 577.559 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 735.955 null ] >>
endobj
7249 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 566.6 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 724.996 null ] >>
endobj
7250 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 555.641 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 714.037 null ] >>
endobj
7251 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 544.682 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 703.078 null ] >>
endobj
7252 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 533.723 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 692.119 null ] >>
endobj
7253 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 490.94 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 681.16 null ] >>
endobj
7254 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 479.981 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 670.202 null ] >>
endobj
7255 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 469.022 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 659.243 null ] >>
endobj
7256 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 458.063 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 427.707 null ] >>
endobj
7257 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 447.105 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 416.748 null ] >>
endobj
7258 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 436.146 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 405.789 null ] >>
endobj
7259 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 425.187 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 394.831 null ] >>
endobj
7260 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 414.228 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 383.872 null ] >>
endobj
7261 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 403.269 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 372.913 null ] >>
endobj
7262 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 392.31 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 361.954 null ] >>
endobj
7263 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 381.351 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 350.995 null ] >>
endobj
7264 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 370.392 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 340.036 null ] >>
endobj
7265 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 359.433 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 329.077 null ] >>
endobj
7266 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 348.474 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 318.118 null ] >>
endobj
7267 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 337.515 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 307.159 null ] >>
endobj
7268 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 326.557 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 296.2 null ] >>
endobj
7269 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 315.598 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 285.242 null ] >>
endobj
7270 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 262.908 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 274.283 null ] >>
endobj
7271 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 251.949 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 232.062 null ] >>
endobj
7272 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 240.99 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 221.103 null ] >>
endobj
7273 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 188.226 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 210.144 null ] >>
endobj
7274 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 199.185 null ] >>
endobj
7275 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 188.226 null ] >>
endobj
7276 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 177.267 null ] >>
endobj
7277 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 166.308 null ] >>
endobj
7278 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 155.349 null ] >>
endobj
7279 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 144.39 null ] >>
endobj
7280 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 133.431 null ] >>
endobj
7281 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 122.473 null ] >>
endobj
7282 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 111.514 null ] >>
endobj
7283 0 obj
-<< /D [ 7235 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 7242 0 R /XYZ 81.077 100.555 null ] >>
endobj
-7234 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F32 1809 0 R /F23 660 0 R /F73 189 0 R /F69 183 0 R /F19 184 0 R /F76 318 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7286 0 obj
-<< /Filter /FlateDecode /Length 1919 >>
-stream
-xڭZMo8W3aߢ4vrX63IȒWN7OQ)Rq;.g/-鑯ŪWt,vDO\||&I)g
-/%3:KQTϴ$Qtv9Wt,%F)`Q.M7x)ovv29swf[ڬ+Io 5uv|]؁޷xk÷?Y?{|G {l`1D&!nɳU<yt;> >]^Tx?DO;?7K -0&]!jŖ M춍=7DER = =銚S"hC)wQz
-"ܿ!lxY&Di_Bѫ.p'*4P/E3+;kD˱ܞLy3}>ޓ08!:ZS^.WwG$όGI &!?`$>U ;DӍ`f̊oq}}5#CiȖev.XGh$$a36b.D9#jq]ݼa~4!4
-&DP"-ub®ojʩ=7n4s-Ɛdl)EhiJP#Bҫ~TWᜟثH8Gح
-R2υK^hvjڵq!y YO븊E ?BXt{ؾC&wa@FWҮ)e&
-K!|QD0$$-B;wl}lnr)t AH)y$36~qvD&pSz|ZOUv(!cBނKFG
-}~8Llj'͹iFQڗMd?71ǹQ%;4ǘۯLwIWU" @TCc=@Dح˺,ډ{c~s4%Ʃ!Ex:nX
-f5 K+P:BXo~I]oˮؔŲ^V9W˽8B},6ٓmb/hf;$*^w\y9y݃볦29/4geGCBߖx-p+B4Q
-/UBE 5I/:F(Ehh
-҅N.6!ZYȅi= Π}Fr ]S !_רHf52COQ*g&'p„%->]j Sjfn?~.
-endstream
+7284 0 obj
+<< /D [ 7242 0 R /XYZ 81.077 89.596 null ] >>
endobj
7285 0 obj
-<< /Type /Page /Contents 7286 0 R /Resources 7284 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+<< /D [ 7242 0 R /XYZ 81.077 78.637 null ] >>
endobj
-7287 0 obj
-<< /D [ 7285 0 R /XYZ 78.37 808.885 null ] >>
+7241 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F32 1809 0 R /F23 660 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7288 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 768.832 null ] >>
+<< /Filter /FlateDecode /Length 2422 >>
+stream
+xڭZMo6Wa#~^Z!EnBPl"K$' (Q\,C>/~b]Dqs]r{ T)Y_`-"H`HnR0_u'1RBx $B*S~{͡vs\xpD5 ƈi?aP
+HD-A_^QBeD.bk~uyyEJadehz:]Q֕{^vͪcNS&d_OK%FBL$(+&l爲"k{T[9NCݔ޴+Nv_r3);#؋7~wfX2XEXBWyV{@(F
+XBT(h4Qje]'~NUu7=l:'}z}<U0ER挚 CЯkKh쌘 .mmʫmL["Bv "c>=&UE{n,v
+;F:|}!Px)'jꦘpAxsi)ńT9 gaOONLI m/;.&H)YX|'~# ͈‚nB_IZmM9AS25SKIb cHU,EٌJ;Gٸ;uŐ`dAY6o{ -*d1zHg` xr15Jt5B2 EúzNGdQMp]ZlNjVŸƖl۫^iq؟m綶dҶi7j<U,&sKZLm3mL<v OmZ+7: jMOY i)ˍntS;/~Qb^iǦ-6eSwaDsm7loIVZ
+6ndܬDK #նv<`Vq<T *1A,vu=ńPq<{>10LhAgwuXË)$"c9 Qz0ܕeח5klW'f$YOO dIc$"09S"(8m߱ʂCgd ~7[Kg(#9\_gJXP<<GvLQ<
+[z" "
+=jp.!YY V6 CzGE*\A:NJe!buSܞO?})ܾ aҌѯoo'Fޑ]Ҕ^oqݒEi x:|mP4zNbAjCaD=3S_#ש f3SSygɐdg A!'!} ]w`UY}S[beRK9lwiSe_N L)8cI=pI4>egлmU$iƒ""Dj{̝W Q|^"GOۄ
+<]__R]l}}FĠs>o̘9l}y(6p}"Hs׫.2{SIa֏IwN}
+
+.0=tV`K4^}ێNخn`!"%L!"~}K}Aτ~Le($N$ b?M>[Mtcaӥc2,W6e.aȠ0<ȝOO?|Q
+endstream
+endobj
+7287 0 obj
+<< /Type /Page /Contents 7288 0 R /Resources 7286 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7337 0 R >>
endobj
7289 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 7287 0 R /XYZ 78.37 808.885 null ] >>
endobj
7290 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 768.832 null ] >>
endobj
7291 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 757.873 null ] >>
endobj
7292 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 705.071 null ] >>
endobj
7293 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 694.112 null ] >>
endobj
7294 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 649.28 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 683.153 null ] >>
endobj
7295 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 638.321 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 630.351 null ] >>
endobj
7296 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 627.362 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 619.392 null ] >>
endobj
7297 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 616.403 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 608.433 null ] >>
endobj
7298 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 605.444 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 597.474 null ] >>
endobj
7299 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 594.486 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 586.515 null ] >>
endobj
7300 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 583.527 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 575.556 null ] >>
endobj
7301 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 572.568 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 564.598 null ] >>
endobj
7302 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 561.609 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 553.639 null ] >>
endobj
7303 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 550.65 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 542.68 null ] >>
endobj
7304 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 539.691 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 531.721 null ] >>
endobj
7305 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 528.732 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 520.762 null ] >>
endobj
7306 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 517.773 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 509.803 null ] >>
endobj
7307 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 506.814 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 498.844 null ] >>
endobj
7308 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 495.855 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 487.885 null ] >>
endobj
7309 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 460.986 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 476.926 null ] >>
endobj
7310 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 426.117 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 465.967 null ] >>
endobj
7311 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 415.158 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 455.009 null ] >>
endobj
7312 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 404.199 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 390.251 null ] >>
endobj
7313 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 393.24 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 379.292 null ] >>
endobj
7314 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 382.281 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 368.334 null ] >>
endobj
7315 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 371.322 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 357.375 null ] >>
endobj
7316 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 360.363 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 346.416 null ] >>
endobj
7317 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 349.405 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 335.457 null ] >>
endobj
7318 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 338.446 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 324.498 null ] >>
endobj
7319 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 322.505 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 313.539 null ] >>
endobj
7320 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 306.565 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 302.58 null ] >>
endobj
7321 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 295.606 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 291.621 null ] >>
endobj
7322 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 279.666 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 280.662 null ] >>
endobj
7323 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 268.707 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 269.703 null ] >>
endobj
7324 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 257.748 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 258.745 null ] >>
endobj
7325 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 246.789 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 247.786 null ] >>
endobj
7326 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 235.83 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 236.827 null ] >>
endobj
7327 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 224.872 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 201.957 null ] >>
endobj
7328 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 213.913 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 167.088 null ] >>
endobj
7329 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 202.954 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 156.129 null ] >>
endobj
7330 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 191.995 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 145.17 null ] >>
endobj
7331 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 181.036 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 134.212 null ] >>
endobj
7332 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 170.077 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 123.253 null ] >>
endobj
7333 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 159.118 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 112.294 null ] >>
endobj
7334 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 148.159 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 101.335 null ] >>
endobj
7335 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 137.2 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 90.376 null ] >>
endobj
7336 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 126.241 null ] >>
-endobj
-7337 0 obj
-<< /D [ 7285 0 R /XYZ 81.077 115.283 null ] >>
+<< /D [ 7287 0 R /XYZ 81.077 79.417 null ] >>
endobj
-7284 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+7286 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F78 556 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-7341 0 obj
-<< /Filter /FlateDecode /Length 2216 >>
+7340 0 obj
+<< /Filter /FlateDecode /Length 2097 >>
stream
-xڽZ[o~_a/0~1ŢEgECvbˉEr%y2=%zә%H~sSvg_} #;xFf fJ%]?~uCX]\2*:*>c悑{
-0+YS$u_3q/L$˼vMeF[悪-^dޕ%iLq1ieUcX!*L . r1$|&_yߖ_?mK a: `)"{ c^6B}r>(|By^m ם֪ƹHUCT)cHj3 nc"L<&/ EJPj쪏NSi<<ʽ<N˶6*Bg,pٻֲsmbwE͠Vo+ 㕀1?=&Q3
-1!T'#mX ~}ݴ?lq+ODZM#{ N!0\_^GFF)D_Gs)n~( npB`G`eciX,6p̂3'
-~1$sVJ=gugB"F?'-O2>mm
-7mEmr[\dUeVZf0*'h.4i<C <B3jF4DN*hϢ(Zz$fl,_O]WD4<QF4D[Byu=}v?;?о Pp#?kI,uu}q8Q˾8czrO{@FFpVm>8Kz״左-y\gj>4LVtnz7./Mƍ\'7&wNC <xy
-I ۾\$1]p<a~"nu5!y\%Aá9
-rb|áQ|. Ea!iB+~ nNj-6%[QRUt8&IN- Ku
-!x쿸]AqD1AIxB;R#a#W}
+xڽZn8}W3aw2
+dPjU0}[>|9WD wAZQ`JmA}M1wͲs
+fsE3~U k5䇨JP8f2 ~״% "uĶ(OP
+Cz=>7zEk~@ygSWaSƳẽY@=.6G6٭ߺO:O[~@=!!Gf|ft
+;!
+P`/`t=_f@k;PLBY8,
+%B[BEgsחu}ujZ|Lsf_/(ܿW a/lգ/}7?l '}i/p
+*GqːEk;3T*C:(9f u>ر} U+V7nUW7N$6UCoxoJo нK\l dOcKW6
+SD͋j^:$W$)PRA"tl,`A6RN8ԧKr4U *dӬ7E'G{9 :2w
+
+4St^mWfyDӷ;s*_8X(fi|(eg> H4St/35ԴJ@8B%B/l'eHӐUq%K^M0-C.*)tE䰩딨G^2_IdI>ApZbfB8$z
endstream
endobj
-7340 0 obj
-<< /Type /Page /Contents 7341 0 R /Resources 7339 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+7339 0 obj
+<< /Type /Page /Contents 7340 0 R /Resources 7338 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7337 0 R >>
+endobj
+7341 0 obj
+<< /D [ 7339 0 R /XYZ 78.37 808.885 null ] >>
endobj
7342 0 obj
-<< /D [ 7340 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 768.832 null ] >>
endobj
7343 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 694.652 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 752.891 null ] >>
endobj
7344 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 683.693 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 741.933 null ] >>
endobj
7345 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 672.734 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 725.992 null ] >>
endobj
7346 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 661.775 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 715.033 null ] >>
endobj
7347 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 650.816 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 704.075 null ] >>
endobj
7348 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 639.857 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 693.116 null ] >>
endobj
7349 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 628.898 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 682.157 null ] >>
endobj
7350 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 562.149 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 671.198 null ] >>
endobj
7351 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 551.19 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 660.239 null ] >>
endobj
7352 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 540.231 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 649.28 null ] >>
endobj
7353 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 529.272 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 638.321 null ] >>
endobj
7354 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 518.313 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 627.362 null ] >>
endobj
7355 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 507.354 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 616.403 null ] >>
endobj
7356 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 496.395 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 605.444 null ] >>
endobj
7357 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 485.436 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 594.486 null ] >>
endobj
7358 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 474.477 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 583.527 null ] >>
endobj
7359 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 458.537 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 572.568 null ] >>
endobj
7360 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 447.578 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 561.609 null ] >>
endobj
7361 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 436.619 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 461.533 null ] >>
endobj
7362 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 425.66 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 450.574 null ] >>
endobj
7363 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 414.701 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 439.615 null ] >>
endobj
7364 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 403.743 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 428.656 null ] >>
endobj
7365 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 392.784 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 417.697 null ] >>
endobj
7366 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 381.825 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 406.738 null ] >>
endobj
7367 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 370.866 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 395.78 null ] >>
endobj
7368 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 337.989 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 329.03 null ] >>
endobj
7369 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 327.03 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 318.071 null ] >>
endobj
7370 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 284.191 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 307.112 null ] >>
endobj
7371 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 273.232 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 296.153 null ] >>
endobj
7372 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 262.273 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 285.194 null ] >>
endobj
7373 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 246.333 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 274.235 null ] >>
endobj
7374 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 235.374 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 263.276 null ] >>
endobj
7375 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 224.415 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 252.318 null ] >>
endobj
7376 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 213.456 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 241.359 null ] >>
endobj
7377 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 202.497 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 225.418 null ] >>
endobj
7378 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 191.538 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 214.46 null ] >>
endobj
7379 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 180.579 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 203.501 null ] >>
endobj
7380 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 169.621 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 192.542 null ] >>
endobj
7381 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 158.662 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 181.583 null ] >>
endobj
7382 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 147.703 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 170.624 null ] >>
endobj
7383 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 136.744 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 159.665 null ] >>
endobj
7384 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 125.785 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 148.706 null ] >>
endobj
7385 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 114.826 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 137.747 null ] >>
endobj
7386 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 103.867 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 104.87 null ] >>
endobj
7387 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 92.908 null ] >>
-endobj
-7388 0 obj
-<< /D [ 7340 0 R /XYZ 81.077 81.949 null ] >>
+<< /D [ 7339 0 R /XYZ 81.077 93.912 null ] >>
endobj
-7339 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F80 749 0 R /F19 184 0 R /F20 186 0 R /F75 317 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+7338 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F80 749 0 R /F19 184 0 R /F20 186 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-7391 0 obj
-<< /Filter /FlateDecode /Length 2329 >>
-stream
-xZo~_> K
-zEP@Цnb1k!Jrr!)Ѥ8f\+G G3ߌ''x H;?^]&lQF'׷'& ILIdr8ӟ:$E,eH
-.+!II(P& Zۦ)BՃv>ퟱcN$Nb'/G]gj>E;b8qJQJhg$d
-iVhqzh4!:s2s-{y[$E"s ̅ZFRg[dpM\DdGD)@
-}$e]#K V~{~uCd9x[w-pWĩ遏5辶d(Ŏ#9! {sw&>`2`h~3Vv?O\#UIyM"HS!HM)MBtImWH ,X;מAhOhP
-f
- dO \C`0긁}AbF  / mξwvx8[Gޭ#ÊPmVs8,ʊ<Ӓ<'QYh6d9.R^u ؛i<1><fݴ|(H7 GaΜ֌bceC^FaP}I\ o˟Tw!k 8bRwa9~GѠZ!t03Otw6ЯA`kV#'0\聥ίYf\rDbc
- l][:qVY7tֳ-Kef$Ai⒉KzSC}8>??-+_!}uѨP# @ӗP-f~[GM=rda2b(y?
-˄BpWALCptGL8F)İBtMD2*I(&3e+&"!Ey7 H]7l"f2{6Vʐ(+X>(W+10ΨqČR像8mA@x n%RNfGz>|0
+7390 0 obj
+<< /Filter /FlateDecode /Length 2239 >>
+stream
+xڵZmo6E? \S Ep Pl%"K9INޡ(S-Q|șppH<pw?=HK*xB&J#&J%\n&L/lΤ^WEQͨ>-Hob_4:͛lWYg-m׳9U5fhjH6ׇMC7a yYUm JJHiru3%a!fYU}+l$bZ:sAI8 =x$ʶiͼ\kDՊ
+L0i` =4؄#F&$~@D$)( ԓ, )CGUU&kidgR,ƿb#꣏պ+% Qeqz#d\$)V9!yHr xVV'Wlu}o`|}~7
+#HpSQ+A8c藍݉_X#Ibh} 9rkH( ҌGY(@G?<Q z#/[pƳ[j-ȗy6*~7Z.2!Rڅq&K~ybJO_5YmsQ8W}s;Kf6kf"ܵgFPd`zdi":D>:~NlOfK@3ږ|_}kO剂`[m}VųUy匁 v8=p3D#͏\]DNB1V"oYr B)8H*AΏ\XB`*+{lvNȿ7.s'Yvh4B"SG?̆
+pCefmRM.S=eZ<6<TA :tcgWEWK. 鏘qhݶmxLښ-̴#Oߍ)\VuKq
+n;hs7<U2u:s)p Nm<Xk 8} Vy-VF 1|crKhjŻf4}#&yIh'YIx솎,a ~$P
+Qa˻0ŋ3f;&Z0Gr4Dq~afa|e Y1z:*.e`C[u3@-CA\GrE\4@Lr08x[-&%o>B]#_qA7N`;}$[I޲* !˹"0b6W?s0c?~~3jQ`7v9BƨM̑z!`Kpđca}^m&}$
+av=8"?+JERh
+f
+#d+ml:WGٵ6PGhҾEm7Yi#1 Zy 'ž`〶.1nmJ{32[{j5(_:5)$[\
+~J܉6y6Urci<|`sƒ> 'S-!a]%0/ay"aқx|
++qzubǔ^ A9+n6=ާ6[o^Dnmv
+#qD=@{/VeFB
+ćnHGQql<@ʼaDŽ˸z8?<'jf!#e>?:k@Z#UN>:ɎC|AJ; mզ!_rx
+vjLup*[yB.eA%HE^ u$r 7d?4=8
endstream
endobj
-7390 0 obj
-<< /Type /Page /Contents 7391 0 R /Resources 7389 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+7389 0 obj
+<< /Type /Page /Contents 7390 0 R /Resources 7388 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7337 0 R >>
+endobj
+7391 0 obj
+<< /D [ 7389 0 R /XYZ 78.37 808.885 null ] >>
endobj
7392 0 obj
-<< /D [ 7390 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 742.929 null ] >>
endobj
7393 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 731.97 null ] >>
endobj
7394 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 721.011 null ] >>
endobj
7395 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 705.071 null ] >>
endobj
7396 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 694.112 null ] >>
endobj
7397 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 683.153 null ] >>
endobj
7398 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 672.194 null ] >>
endobj
7399 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 661.235 null ] >>
endobj
7400 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 650.276 null ] >>
endobj
7401 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 639.317 null ] >>
endobj
7402 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 628.358 null ] >>
endobj
7403 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 617.4 null ] >>
endobj
7404 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 606.441 null ] >>
endobj
7405 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 595.482 null ] >>
endobj
7406 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 584.523 null ] >>
endobj
7407 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 573.564 null ] >>
endobj
7408 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 555.631 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 562.605 null ] >>
endobj
7409 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 544.672 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 551.646 null ] >>
endobj
7410 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 471.945 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 540.687 null ] >>
endobj
7411 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 460.986 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 529.728 null ] >>
endobj
7412 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 450.027 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 518.769 null ] >>
endobj
7413 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 439.068 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 507.811 null ] >>
endobj
7414 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 428.109 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 496.852 null ] >>
endobj
7415 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 417.151 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 485.893 null ] >>
endobj
7416 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 406.192 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 474.934 null ] >>
endobj
7417 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 395.233 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 463.975 null ] >>
endobj
7418 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 384.274 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 409.18 null ] >>
endobj
7419 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 373.315 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 398.221 null ] >>
endobj
7420 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 362.356 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 387.263 null ] >>
endobj
7421 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 351.397 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 376.304 null ] >>
endobj
7422 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 340.438 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 365.345 null ] >>
endobj
7423 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 329.479 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 354.386 null ] >>
endobj
7424 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 318.52 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 343.427 null ] >>
endobj
7425 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 307.561 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 332.468 null ] >>
endobj
7426 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 296.603 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 316.528 null ] >>
endobj
7427 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 285.644 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 305.569 null ] >>
endobj
7428 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 274.685 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 232.842 null ] >>
endobj
7429 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 233.838 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 221.883 null ] >>
endobj
7430 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 222.879 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 210.924 null ] >>
endobj
7431 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 211.92 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 199.965 null ] >>
endobj
7432 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 157.126 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 189.006 null ] >>
endobj
7433 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 146.167 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 178.047 null ] >>
endobj
7434 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 135.208 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 167.088 null ] >>
endobj
7435 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 124.249 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 156.129 null ] >>
endobj
7436 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 113.29 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 145.17 null ] >>
endobj
7437 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 102.331 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 134.212 null ] >>
endobj
7438 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 91.372 null ] >>
+<< /D [ 7389 0 R /XYZ 81.077 123.253 null ] >>
endobj
7439 0 obj
-<< /D [ 7390 0 R /XYZ 81.077 80.413 null ] >>
-endobj
-7389 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 7389 0 R /XYZ 81.077 112.294 null ] >>
endobj
-7442 0 obj
-<< /Filter /FlateDecode /Length 2330 >>
-stream
-xZ[o6}ϯ0sx`m;-
-4 ,C[Be#ɤ(FJϼKlQ:x9 ~'_W?lƑV̔D@%ݯgͥ_w(L!-%Sc0L躨l.BP1GQM2Mdy؏&;)#iG:~1uRGo-ihkb?\ӈpBE]'6X&H~'?EVInd}CXn$4O^U(DϋĨp_D4@cH fRkDu;+XRce `~'u/Ke曞e-g5FuwfA3c([sJJ^%%inҺ QYFૹ `m}OGy3U
->kGKsDžJarpKNtГ 9y'.z1qmV
-t7;A<CZ!K`CJ>mfc}{WLԺ ԧ# eXxI>4 iL"LugM>WRm{-mFi.qBc;>~Iԃ9^1Hnqćp!Qe<!n`8-n2@TN`<" Ia
-w_C,٨*{.=ABʬ(v 9g 2=Ӟ@rɗ:*{ϲr C^ϱ\D$sR&tDX7ƍH6wXCF"w-k,ڱlͭ_)L\g{79`udM:hC.ʧ.]c??v#] CFq_3FDp}c|Is(=iGznIq\_JqDU%߼ĥiHEO7 Lř5XF A
-)5^ڞn|Cɱv!0\ÉNTS9oOԐ)+~'|~M@eHZzyԨHcय़Ϻ G 0,$GŅr()' Կf/.w'bs)mJG{Q>JW`;hå'tiYɤMi2 #s֙7] }S%"ڜoU :=>DTܴ?o$^/ E5~誎z7WYX7YPos+t/{
-z==Ao*6k10y[&}g?'yfws*e}W8ޤ%OZj<F{k?P^L Sݷ2ZJOL\Rθ19-gx?
-endstream
+7440 0 obj
+<< /D [ 7389 0 R /XYZ 81.077 101.335 null ] >>
endobj
7441 0 obj
-<< /Type /Page /Contents 7442 0 R /Resources 7440 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+<< /D [ 7389 0 R /XYZ 81.077 90.376 null ] >>
endobj
-7443 0 obj
-<< /D [ 7441 0 R /XYZ 78.37 808.885 null ] >>
+7442 0 obj
+<< /D [ 7389 0 R /XYZ 81.077 79.417 null ] >>
endobj
-7444 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 768.832 null ] >>
+7388 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7445 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 757.873 null ] >>
+<< /Filter /FlateDecode /Length 2466 >>
+stream
+xZ]6}ϯ00?nif_fM*6'"K,w:4}/EJ&ml:Ӿ,G<\j ~|+/㳿>{VGZFgwt32S "gRݮg?E&鋟o9[g
+i!
+b$[Y4UӾh6Gfi^捻<ҍ=G6È`:eidC!_jg|ٕYڝ2ӈp6RiC\7@ܴm_?wMuv*k3LIaT!hXva F~<H G
+H3!wMU5/ߗ'ޚ/^Vu::::0FNM@htYNZArz .
+]aEz9=ca˜(P޻-8{=rqȵ4wZLs *܂ȝbH@Qj %
+Cˢ$i6lÒuS2M)Qj)hI6'o1NRCwOo:X(aRQ(@STŹʆ8q-Kәv'U{ 욮\}VgS'sߵpzQ#vS,ֿv׏/njR2W¶\X :Q zq9%Z nsfOM TVzKiKwoZuUr57vT?t0 :i gǤټ9oא)`9qu"͗uk\uѵo <]0dZ#!`I!B?&xL$U]E=x)V]5ݐC+$du$UR'm(%H*=rM׿JgYk!#t/&zAJ{8GJ; aʛ4kYZ,_C(<'W cJ](a/o0)IlL}<)ʀ,)F:Dtצ+N0T4EN3$D&1rt/Ĺ PgjfH5CӢYNSC%|WCk7Znx>]{ 7;`ۗە/0%} eu E`/мtwQΜk(- /Nzɾ2^h`Hf,gZ+c<BVk.ֽw>rwyJkkV2pb^>)apLeƑQޯʳu5r=1iL"*}
+aJ/<dK %JKDP
+HhOߧOk}%=!H=#I"t?r_X3 &9ąFP:~{\3Z!Q7k&s?fǯ:$q>rҸ\n_Mە >O簟 G@\^m|]lTF]/akC4TrҸǧ%D^k2
+exuzck2>ZNϊ
+endstream
+endobj
+7444 0 obj
+<< /Type /Page /Contents 7445 0 R /Resources 7443 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7337 0 R >>
endobj
7446 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 7444 0 R /XYZ 78.37 808.885 null ] >>
endobj
7447 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 768.832 null ] >>
endobj
7448 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 669.205 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 757.873 null ] >>
endobj
7449 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 658.246 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 746.914 null ] >>
endobj
7450 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 617.4 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 735.955 null ] >>
endobj
7451 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 606.441 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 695.108 null ] >>
endobj
7452 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 595.482 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 684.149 null ] >>
endobj
7453 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 673.19 null ] >>
endobj
7454 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 618.396 null ] >>
endobj
7455 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 474.934 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 607.437 null ] >>
endobj
7456 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 463.975 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 596.478 null ] >>
endobj
7457 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 453.016 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 585.519 null ] >>
endobj
7458 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 442.057 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 574.56 null ] >>
endobj
7459 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 431.098 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 563.601 null ] >>
endobj
7460 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 420.139 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 552.642 null ] >>
endobj
7461 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 409.18 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 541.684 null ] >>
endobj
7462 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 398.221 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 530.725 null ] >>
endobj
7463 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 387.263 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 519.766 null ] >>
endobj
7464 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 376.304 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 508.807 null ] >>
endobj
7465 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 365.345 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 497.848 null ] >>
endobj
7466 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 354.386 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 431.098 null ] >>
endobj
7467 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 343.427 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 420.139 null ] >>
endobj
7468 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 332.468 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 379.292 null ] >>
endobj
7469 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 321.509 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 368.334 null ] >>
endobj
7470 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 280.662 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 357.375 null ] >>
endobj
7471 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 269.703 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 278.67 null ] >>
endobj
7472 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 258.745 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 267.711 null ] >>
endobj
7473 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 247.786 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 236.827 null ] >>
endobj
7474 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 236.827 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 225.868 null ] >>
endobj
7475 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 225.868 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 214.909 null ] >>
endobj
7476 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 214.909 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 203.95 null ] >>
endobj
7477 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 203.95 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 192.991 null ] >>
endobj
7478 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 192.991 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 182.032 null ] >>
endobj
7479 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 182.032 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 171.073 null ] >>
endobj
7480 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 171.073 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 160.114 null ] >>
endobj
7481 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 160.114 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 149.155 null ] >>
endobj
7482 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 149.155 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 138.197 null ] >>
endobj
7483 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 138.197 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 127.238 null ] >>
endobj
7484 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 127.238 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 116.279 null ] >>
endobj
7485 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 116.279 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 105.32 null ] >>
endobj
7486 0 obj
-<< /D [ 7441 0 R /XYZ 81.077 105.32 null ] >>
+<< /D [ 7444 0 R /XYZ 81.077 94.361 null ] >>
endobj
-7440 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+7487 0 obj
+<< /D [ 7444 0 R /XYZ 81.077 83.402 null ] >>
endobj
-7489 0 obj
-<< /Filter /FlateDecode /Length 2058 >>
+7443 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7490 0 obj
+<< /Filter /FlateDecode /Length 1828 >>
stream
-xڭZo~_/No4zŢEs] AD,"{DnxC$S8pJn,~9K+rϗ)_b4lq}{FS "U$.ߗJQv>_*(u %S.]Vٮmbծ>LO|vWEXnA,L@T Tp&cwlnf di*>ͫX]62Z_>Lf;ueP-k>Eצ+ӖL*!m7MnMaJymS!P<uuXq|wr]m.}7ۋ9[3TF~5ף]]]~(-iNӓC"FJ9^4KNmG!8;+FШy>)eWWsϠO7ZwsD>10gƻn'vbR|@Rb{ҧvbR)c4BTi|g'4Z&)Qvvbhb4B5!T
-pΗ}nnjY|,;dI`K6$&1PS I1m^oiϮ׃bhrӸyvyݕMM˨abr*B[ Uv=Ђo41dCEܒh$$',pxN:``n@SuCP-hj2^!?ư`}}Rd!%ł)/,h< nB4>HE♑0BOq{XEC\ \UFچqEQ':%r}wMW&?
-3+7_(ӆ?EJ'IB&WʇUW\I/#4:vq)>~ "4^D70-B->c$ryE"4jdwL0l7O-bXm*$Y"D۾*zVцZM{ݝ6[K\{ܻ3>;o;\CLQu:Ee:z/9]i?ӝy.? 'oEw
-62Fsa3}ru? pc8MUB d<~[!Ӊ@WDs|)S!pD /^ ~ }('K!txfSVvobVaU?5;/tqW1^%z~ 3ߗ.ߨq$C${Җ@Ԯ밴yM5D17yfR0X56NG9 2EmoHi"(R}!o^q?_!!ت9Vԋ7#yK%eTtLQԻ ^f.HT9$?S !-
-:D$pC?
-s'
+xڽZMo6W؋]3hES
+ߺJF\I$В)f5`/Q"q2tr;hyqvqt&a&F3B5,6uz>VO?P!qiR6iqʹi?gulfgM5Ogϕ&xdU^JMZ>[̡s )9IʹNeC0![h
+L2i8 !<e6Eش?_\r9Qh3nHJxϚuoyK؎;y80u'"LEBP" !Ȃ!(o
+'we봘߇]c퉴uS=mg=5Lv\<*]7󫇞m CVi,Wi@MW[dӵ8ݥUDۜmO鵋:MD"#㉰qD$D;AhϜ 6
+mUwhK]7Iմ4~j7m$4.q]9*V=;c7Do:kEǬhcϋ CSϲ jo z@r\I}rhLlt~5
+.O=$&hH*<y(n|*hmeI`jQ2)@mKA"㓈ir)1,v[Hm6DC^
+y,N&ɟVMvuk(
+uՅ.ĖRB>Gv
+WE|ߓ d9C*脻  9?אּ˶񺬲Oe<{ɗuoSt*53)M Xp{ <
+h'0\zqUQ>Wrw[O;2ͳ~ҥÀpW?3PB%n5@J#VpAJ#.Tҧ(VШ Jh/@*ٛ0rw+0TH.P=
+
endstream
endobj
-7488 0 obj
-<< /Type /Page /Contents 7489 0 R /Resources 7487 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
-endobj
-7490 0 obj
-<< /D [ 7488 0 R /XYZ 78.37 808.885 null ] >>
+7489 0 obj
+<< /Type /Page /Contents 7490 0 R /Resources 7488 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7337 0 R >>
endobj
7491 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 7489 0 R /XYZ 78.37 808.885 null ] >>
endobj
7492 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 742.929 null ] >>
endobj
7493 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 731.97 null ] >>
endobj
7494 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 721.011 null ] >>
endobj
7495 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 710.052 null ] >>
endobj
7496 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 699.093 null ] >>
endobj
7497 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 688.134 null ] >>
endobj
7498 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 677.175 null ] >>
endobj
7499 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 666.217 null ] >>
endobj
7500 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 655.258 null ] >>
endobj
7501 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 644.299 null ] >>
endobj
7502 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 633.34 null ] >>
endobj
7503 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 622.381 null ] >>
endobj
7504 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 611.422 null ] >>
endobj
7505 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 600.463 null ] >>
endobj
7506 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 589.504 null ] >>
endobj
7507 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 578.545 null ] >>
endobj
7508 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 567.586 null ] >>
endobj
7509 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 551.646 null ] >>
endobj
7510 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 540.687 null ] >>
endobj
7511 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 529.728 null ] >>
endobj
7512 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 518.769 null ] >>
endobj
7513 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 523.579 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 507.811 null ] >>
endobj
7514 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 512.62 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 496.852 null ] >>
endobj
7515 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 501.662 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 485.893 null ] >>
endobj
7516 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 472.015 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 474.934 null ] >>
endobj
7517 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 461.056 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 463.975 null ] >>
endobj
7518 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 450.097 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 453.016 null ] >>
endobj
7519 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 439.138 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 442.057 null ] >>
endobj
7520 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 428.179 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 431.098 null ] >>
endobj
7521 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 417.22 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 420.139 null ] >>
endobj
7522 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 406.261 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 409.18 null ] >>
endobj
7523 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 395.302 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 398.221 null ] >>
endobj
7524 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 384.343 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 387.263 null ] >>
endobj
7525 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 373.384 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 376.304 null ] >>
endobj
7526 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 362.426 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 365.345 null ] >>
endobj
7527 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 351.467 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 354.386 null ] >>
endobj
7528 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 340.508 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 343.427 null ] >>
endobj
7529 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 325.392 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 332.468 null ] >>
endobj
7530 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 314.433 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 321.509 null ] >>
endobj
7531 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 221.103 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 305.569 null ] >>
endobj
7532 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 210.144 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 294.61 null ] >>
endobj
7533 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 199.185 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 283.651 null ] >>
endobj
7534 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 188.226 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 252.767 null ] >>
endobj
7535 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 241.808 null ] >>
endobj
7536 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 230.849 null ] >>
endobj
7537 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 219.89 null ] >>
endobj
7538 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 208.931 null ] >>
endobj
7539 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 197.972 null ] >>
endobj
7540 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 187.014 null ] >>
endobj
7541 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 176.055 null ] >>
endobj
7542 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 165.096 null ] >>
endobj
7543 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 154.137 null ] >>
endobj
7544 0 obj
-<< /D [ 7488 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 7489 0 R /XYZ 81.077 143.178 null ] >>
endobj
-7487 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F80 749 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7547 0 obj
-<< /Filter /FlateDecode /Length 1541 >>
-stream
-xYKo6W,nS-
-a+ +Wm8F{]l߼șH;f8͵-N|36333lq1;[C!D,/72suY-KgUY4dJW߃>#f8볚h
-!P_v3 ja`Fq,dB|[uX}W7ohl|͏ju~W2{¯_*
-Є)3cRZ7W9ui9%F÷ٶ\v1[xexk1cz.g3L.ttMsF. H*7vЉQ)A#)_@ v;g4g$"E-8OS,& a<~l>}g(E4! 0EGrncШݛ@Kƚo4g<HwUUM'˲)> NCZ_k022qc?Fus u$qcp ;Fu3E42֢nD:4Zu[% x:-9ђbLONAa0264PMR&c9$o('XʏĚD|ԉ=*TK@rNѭFђP =J_?H񱃼tϷ՜^Ta2TJ:0Akq&ᖎjP\*AEKX3+(.B 1'hn5sTaz&\>p}"Au E@D5ú) J{l<?z(1]Ƅ3DXAww\ Hs(В T e(:<Pk|KcbQB0 v4~}!a<H%h2s>uĨaq;R {(,1NFq;R ۂn܎T6֭&u׭𒡸v{PX3 lGq* \
-`Plv8}HCT|~V4zidr; PIͶjd]/\g76 2oʪ.IH* |t
-؜z{]Էet":>W{fyyYέȈwBdnf7ݠ{-ݛ
-W_"C:Aaܺ;{.^D/?.ߋ4Dn"tMV}>>Ghs!j9&)y e;.eMU]_HgNʱЧ0t+M򞴅k-BY7 9ڳ!=U'۝C]>-$*|H L\[m兟,6uJ<w>=Cn=N2~4!,c0nMi;g*%.oS̻
-endstream
+7545 0 obj
+<< /D [ 7489 0 R /XYZ 81.077 132.219 null ] >>
endobj
7546 0 obj
-<< /Type /Page /Contents 7547 0 R /Resources 7545 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+<< /D [ 7489 0 R /XYZ 81.077 121.26 null ] >>
endobj
-7548 0 obj
-<< /D [ 7546 0 R /XYZ 78.37 808.885 null ] >>
+7547 0 obj
+<< /D [ 7489 0 R /XYZ 81.077 105.32 null ] >>
endobj
-7549 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 754.884 null ] >>
+7548 0 obj
+<< /D [ 7489 0 R /XYZ 81.077 94.361 null ] >>
endobj
-7550 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 743.925 null ] >>
+7488 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F26 662 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7551 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 732.966 null ] >>
+<< /Filter /FlateDecode /Length 1688 >>
+stream
+xZKo7WEFc7
+4A{Idy-/,4P\s-k?r>-F|w?&G?9>ahrqG0I;70F'tr|u,a\| b|neUѡX1Px9X]Y-+1׫լ:mnh/{i*F5^ܸ^mYW͚f "+|Qކ7E_8-񠟔'ZNl.wzE9˄9/|(9`M]L⫬4س V0+] VrnfU;!>߅7x|[ uSWU-fve5-M?tYVYa|`<|tS1{Ų\mэ Njwfqo ˍ;.$F6ewH4یrc
+ζ圤J2#]Kτɶ MpzN9>KRdGx4劤J2CP<g2i52A|:3y!6-$)IeчPBK,M#i ZZJ(EmO
+endstream
+endobj
+7550 0 obj
+<< /Type /Page /Contents 7551 0 R /Resources 7549 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7337 0 R >>
endobj
7552 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 722.007 null ] >>
+<< /D [ 7550 0 R /XYZ 78.37 808.885 null ] >>
endobj
7553 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 711.048 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 700.629 null ] >>
endobj
7554 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 700.089 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 689.67 null ] >>
endobj
7555 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 689.131 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 678.711 null ] >>
endobj
7556 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 678.172 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 667.753 null ] >>
endobj
7557 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 667.213 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 656.794 null ] >>
endobj
7558 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 656.254 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 645.835 null ] >>
endobj
7559 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 645.295 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 634.876 null ] >>
endobj
7560 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 634.336 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 623.917 null ] >>
endobj
7561 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 623.377 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 612.958 null ] >>
endobj
7562 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 612.418 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 601.999 null ] >>
endobj
7563 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 596.478 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 591.04 null ] >>
endobj
7564 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 585.519 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 580.081 null ] >>
endobj
7565 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 574.56 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 569.122 null ] >>
endobj
7566 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 563.601 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 558.163 null ] >>
endobj
7567 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 552.642 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 529.272 null ] >>
endobj
7568 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 541.684 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 518.313 null ] >>
endobj
7569 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 530.725 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 507.354 null ] >>
endobj
7570 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 519.766 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 496.395 null ] >>
endobj
7571 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 508.807 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 485.436 null ] >>
endobj
7572 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 497.848 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 474.477 null ] >>
endobj
7573 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 486.889 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 463.518 null ] >>
endobj
7574 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 475.93 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 452.559 null ] >>
endobj
7575 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 464.971 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 441.601 null ] >>
endobj
7576 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 454.012 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 430.642 null ] >>
endobj
7577 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 443.053 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 419.683 null ] >>
endobj
7578 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 427.113 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 408.724 null ] >>
endobj
7579 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 416.154 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 397.765 null ] >>
endobj
7580 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 405.195 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 386.806 null ] >>
endobj
7581 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 394.236 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 370.866 null ] >>
endobj
7582 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 383.278 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 359.907 null ] >>
endobj
7583 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 372.319 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 348.948 null ] >>
endobj
7584 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 361.36 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 337.989 null ] >>
endobj
7585 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 350.401 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 327.03 null ] >>
endobj
7586 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 339.442 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 316.071 null ] >>
endobj
7587 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 328.483 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 305.112 null ] >>
endobj
7588 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 317.524 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 294.154 null ] >>
endobj
7589 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 306.565 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 283.195 null ] >>
endobj
7590 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 295.606 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 272.236 null ] >>
endobj
7591 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 284.647 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 261.277 null ] >>
endobj
7592 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 273.688 null ] >>
-endobj
-97 0 obj
-<< /D [ 7546 0 R /XYZ 79.37 248.234 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 250.318 null ] >>
endobj
7593 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 139.404 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 239.359 null ] >>
endobj
7594 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 128.445 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 228.4 null ] >>
endobj
7595 0 obj
-<< /D [ 7546 0 R /XYZ 81.077 85.606 null ] >>
-endobj
-7545 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F72 187 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 7550 0 R /XYZ 81.077 217.441 null ] >>
endobj
-7598 0 obj
-<< /Filter /FlateDecode /Length 2470 >>
-stream
-xڵZ[o~ϯ0˻$eq!=)Ŗueɕ\΢"E:clR~pf4x0ó_/PG^|ٌ4!n&%IbIdv#1a>Lg Jd &>0ʮ66+몬M=T 7˗lٴuv0S/#&->G,E38q 塕2͖yW,Z./:% " $p1a>:\;$F
-v|"A,M|1\ X"*% EwpvY>:1Nsȑax3m}m3--SӠ-zhogj[&1Q(EkW<>芘=ȹ;n7L6G1;ѥ3) E~ߙ}sXc) ۱6?9L#6P&רgnmQ
-caR{v%(Ժ-@|j
-cC%Y-Bg`[,3! 2= Q(՞+<nze
-p0Ia^ V$f4Rw^5j A}!Rv\%;~.Ty~]_l;_:]k0eXh7ݧ}xؓ8c}ERE_bđŘRrUyu0:.zL.ԷOR$(uu"]<M.g) '」GS:qr-
-= )C9۶M_,b֧ydƑGK`JfIЧt(ԩ>CJ )TPUy=4NTs":˨;7ȁi.e~_'F*rU扊ީ!ɖ:˨*n5.>Q@bYSMau]]D$
-HOܶŲTO.D4kS`)®JcSH`> 8DmI3dvo!/{bnKQ#eƪa"8ޞ
-M6:N"0#qڼԟthźR:k+(ú9d,ӽnv*<B!gl=RҖnjM} _2Ċq.XQ}{6*#Uo9BP~$LXmu9Is~$1M@oϢ/oWŹPog9 y& ><G`r=@@Z 7,/ _y9TV)jg >[~)m,_u<+mWCHc$a #U_B_ԯ e4X $G_>=tީbΩA>zWwT߅&L\0$A `DJ1%A#98b}MrP"3Qjv{?MA#
-endstream
+7596 0 obj
+<< /D [ 7550 0 R /XYZ 81.077 201.501 null ] >>
endobj
7597 0 obj
-<< /Type /Page /Contents 7598 0 R /Resources 7596 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+<< /D [ 7550 0 R /XYZ 81.077 190.542 null ] >>
+endobj
+7598 0 obj
+<< /D [ 7550 0 R /XYZ 81.077 179.583 null ] >>
endobj
7599 0 obj
-<< /D [ 7597 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 168.624 null ] >>
endobj
7600 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 157.665 null ] >>
endobj
7601 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 146.706 null ] >>
endobj
7602 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 135.748 null ] >>
endobj
7603 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 124.789 null ] >>
endobj
7604 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 113.83 null ] >>
endobj
7605 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 102.871 null ] >>
endobj
7606 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 91.912 null ] >>
endobj
7607 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 7550 0 R /XYZ 81.077 80.953 null ] >>
endobj
-7608 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-7609 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 670.202 null ] >>
+7549 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F80 749 0 R /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7610 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 659.243 null ] >>
+<< /Filter /FlateDecode /Length 2248 >>
+stream
+xڭZ[o۸~ϯ0hX%f_-!8`q]$:$7~QbNo8gFƋ^r }9U0=#0 /"HtJ$DT,z{%"CJJÌo:Z#_[[J6SpNMbTohJA>q*҅L3R NjH¹7")vݒId]7UѴ+
+XK%}Q&!I(Q| LBZsX vN([Bmy4m˼qϪM/L&fO?M㧗(mݿ$Sn70~S~×yz_l !MВ{1iM_7mFdɣQ&}o,i?j;þ+,z3S>}5׸ygĬI8F )L[ȈRĥS]`tb}Ua"f|HZx\=4uWbsy
+.gWE
+Zەj 6ݮQ^`Z%a瓵q{//H2eշv{`o=9\7qsxjlUS:`BH
+wl}Z\kꟁ66!`̃a|6os8!ioC ϳ!M!Z+ZoѦy=Mp vsKn˶[UYm˪^XόQҨ#@?GM!af.Wcj׬y[\VՕгωi KAƣ
+gqzst!%ʲB~WXK8e<ձjݷb9_=)
+FsVdT R_,HUSw_hy%ćUFE}UT+k
+ 0inu;ۂ :4ׇo3Qe}"f&p=Jn X$&%~cCtFG^8 –_Ecpʌ"|/xTs<@T)1ӟ7QYHr;XE{b͗)7EW4۾"K z|[{;צM,lFgܞv=uRW7[PĹV~]l6llןq؞rD8 9{2]!))8I64--
+u75l>Qt#p =k$?m.RUpoܙia#NxF " 12 $cu良QB'h47يa(,kcϖVg+9GsK$))_w{OBjSe[}o`>O:튇6Xk
+endstream
+endobj
+7609 0 obj
+<< /Type /Page /Contents 7610 0 R /Resources 7608 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7337 0 R >>
endobj
7611 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 7609 0 R /XYZ 78.37 808.885 null ] >>
endobj
7612 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 768.832 null ] >>
endobj
7613 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 757.873 null ] >>
endobj
7614 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 746.914 null ] >>
+endobj
+97 0 obj
+<< /D [ 7609 0 R /XYZ 79.37 722.92 null ] >>
endobj
7615 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 586.515 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 614.786 null ] >>
endobj
7616 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 575.556 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 603.827 null ] >>
endobj
7617 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 522.754 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 561.718 null ] >>
endobj
7618 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 511.796 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 550.759 null ] >>
endobj
7619 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 500.837 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 539.8 null ] >>
endobj
7620 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 489.878 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 528.841 null ] >>
endobj
7621 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 478.919 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 517.882 null ] >>
endobj
7622 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 467.96 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 506.923 null ] >>
endobj
7623 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 457.001 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 495.964 null ] >>
endobj
7624 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 301.584 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 485.006 null ] >>
endobj
7625 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 290.625 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 474.047 null ] >>
endobj
7626 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 211.92 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 463.088 null ] >>
endobj
7627 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 200.961 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 452.129 null ] >>
endobj
7628 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 190.002 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 441.17 null ] >>
endobj
7629 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 179.043 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 430.211 null ] >>
endobj
7630 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 168.085 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 419.252 null ] >>
endobj
7631 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 157.126 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 408.293 null ] >>
endobj
7632 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 146.167 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 397.334 null ] >>
endobj
7633 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 135.208 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 368.929 null ] >>
endobj
7634 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 124.249 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 357.971 null ] >>
endobj
7635 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 113.29 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 305.655 null ] >>
endobj
7636 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 102.331 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 294.696 null ] >>
endobj
7637 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 91.372 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 283.738 null ] >>
endobj
7638 0 obj
-<< /D [ 7597 0 R /XYZ 81.077 80.413 null ] >>
-endobj
-7596 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 7609 0 R /XYZ 81.077 272.779 null ] >>
endobj
-7641 0 obj
-<< /Filter /FlateDecode /Length 1810 >>
-stream
-xڵZKo8W6,6S=l AvĨmR7 Ejh\7XyGN'tvDUWş﯍H,|r`D331v3w◟oZ%NkaC00hE~nd+J^'[Y"џ<_'JqUrKZ;k'i /ϽBmrv !Y26))CU/k.>0+t!/¹8 dndfn
-!OvnWF勣III$nR "4i!d,PL<Ղ Z&UnuM ˬYY9=ٷt=,DةrNT7
-TYM8@h25ώZ}J3C:C@3{8c`dT c>*kO az.0Bo`,Q>:
-^ ՞.iB
-ZW.bat$N P!/+BO#4^61A/IU[ht}=f_iMS54nj&]
-5uiX(Wa>@æ>[.*[Evǰ" TZb(AʀgՌy>VnGM' KB^Mmd(*CA ^_Jbθe tۯkr ?F$
-Q?5Q1(@ ?.hV?s|&\㬝Z_ ~R_u9 \QARɢc|Nz 9ItL Y:7ѱ2mvHvE^f2Yy!1a
-aM&&By&h)GFכ̺~*:J
-endstream
+7639 0 obj
+<< /D [ 7609 0 R /XYZ 81.077 261.82 null ] >>
endobj
7640 0 obj
-<< /Type /Page /Contents 7641 0 R /Resources 7639 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+<< /D [ 7609 0 R /XYZ 81.077 250.861 null ] >>
+endobj
+7641 0 obj
+<< /D [ 7609 0 R /XYZ 81.077 239.902 null ] >>
endobj
7642 0 obj
-<< /D [ 7640 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 89.596 null ] >>
endobj
7643 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 7609 0 R /XYZ 81.077 78.637 null ] >>
endobj
-7644 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 757.873 null ] >>
-endobj
-7645 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 746.914 null ] >>
+7608 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7646 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 735.955 null ] >>
+<< /Filter /FlateDecode /Length 1798 >>
+stream
+xڽZKoFWȡPm)(P'=4@˔MD"RK ;YnCq4ݍ\_|dn\tFaFF3B5]Fdc+OUY{_zWy[Y^݆8WEU/JeyS7b;s2{su9<-6ɛ8x~h._gbNkP3JGa󺩊& ajgٴv=%y'2kp-ڢYU}9eFo2ߴX[?9e8B fQU /pfYot<T&Du[.{)\{\TE^u<ٲ82qB$a<f7C?}PrPLir8Ԅ BE:pS`Zs]> r9kW|vSWyeU.}SoN6t_tF;d#[9,&a&pBlQ?T!)Q>%#IeY[M43#NGiLx@Q>^j7d-8%Fm5l/7j<Q\&D9Z!3)vhYU< ?}:Nx5 Ƣ.RñwlӫL~?&Mqȿ-@p 9sZ&wE)E2qQE
+A蹥$87?rnGAm/33Vzu,+v1_N|
+)"|
+}reE8 :ًɻ 6XH%Fƒ-n!:қJ'wc2DImb?mJc6GxFa%:P{8AG+Y"%7s=
+xqq
+X%ɕǧ* uPq^Zo}~pENl2kXHڽ}gp!NJA(SM{3ǃؘDM@VK l[3= )hYCJnʒCI]k4ZK9о2G>'htdа2[NgQ3Ay/|pzƠ]s.`>a_hKqe?AQ0D 12}d6>afLl-y>Q/}z.(k8oYĹq1AZ UF¸/ 5Uũ jg YzjMXM#S8T!R%^hZ$%tT
+endstream
+endobj
+7645 0 obj
+<< /Type /Page /Contents 7646 0 R /Resources 7644 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7337 0 R >>
endobj
7647 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 7645 0 R /XYZ 78.37 808.885 null ] >>
endobj
7648 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 696.104 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 707.063 null ] >>
endobj
7649 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 685.146 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 696.104 null ] >>
endobj
7650 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 674.187 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 685.146 null ] >>
endobj
7651 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 663.228 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 674.187 null ] >>
endobj
7652 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 652.269 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 663.228 null ] >>
endobj
7653 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 641.31 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 652.269 null ] >>
endobj
7654 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 630.351 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 641.31 null ] >>
endobj
7655 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 619.392 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 630.351 null ] >>
endobj
7656 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 608.433 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 619.392 null ] >>
endobj
7657 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 597.474 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 608.433 null ] >>
endobj
7658 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 586.515 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 597.474 null ] >>
endobj
7659 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 575.556 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 586.515 null ] >>
endobj
7660 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 564.598 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 575.556 null ] >>
endobj
7661 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 553.639 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 564.598 null ] >>
endobj
7662 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 542.68 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 553.639 null ] >>
endobj
7663 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 531.721 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 542.68 null ] >>
endobj
7664 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 520.762 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 531.721 null ] >>
endobj
7665 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 509.803 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 520.762 null ] >>
endobj
7666 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 480.911 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 491.87 null ] >>
endobj
7667 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 469.953 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 480.911 null ] >>
endobj
7668 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 441.061 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 469.953 null ] >>
endobj
7669 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 430.102 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 458.994 null ] >>
endobj
7670 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 419.143 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 448.035 null ] >>
endobj
7671 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 408.184 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 437.076 null ] >>
endobj
7672 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 397.225 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 426.117 null ] >>
endobj
7673 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 386.266 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 415.158 null ] >>
endobj
7674 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 375.307 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 404.199 null ] >>
endobj
7675 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 364.349 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 393.24 null ] >>
endobj
7676 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 353.39 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 382.281 null ] >>
endobj
7677 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 342.431 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 371.322 null ] >>
endobj
7678 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 331.472 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 360.363 null ] >>
endobj
7679 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 320.513 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 349.405 null ] >>
endobj
7680 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 309.554 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 338.446 null ] >>
endobj
7681 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 298.595 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 327.487 null ] >>
endobj
7682 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 287.636 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 316.528 null ] >>
endobj
7683 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 276.677 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 305.569 null ] >>
endobj
7684 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 265.718 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 276.677 null ] >>
endobj
7685 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 254.759 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 265.718 null ] >>
endobj
7686 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 243.801 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 236.827 null ] >>
endobj
7687 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 232.842 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 225.868 null ] >>
endobj
7688 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 221.883 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 214.909 null ] >>
endobj
7689 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 210.924 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 203.95 null ] >>
endobj
7690 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 199.965 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 192.991 null ] >>
endobj
7691 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 135.208 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 182.032 null ] >>
endobj
7692 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 124.249 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 171.073 null ] >>
endobj
7693 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 113.29 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 160.114 null ] >>
endobj
7694 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 102.331 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 149.155 null ] >>
endobj
7695 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 91.372 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 138.197 null ] >>
endobj
7696 0 obj
-<< /D [ 7640 0 R /XYZ 81.077 80.413 null ] >>
+<< /D [ 7645 0 R /XYZ 81.077 127.238 null ] >>
endobj
-7639 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F23 660 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7699 0 obj
-<< /Filter /FlateDecode /Length 1799 >>
-stream
-xڵY[o6~ϯbXh8_l-3뾤OMa(cK,7CQE;x$? y>}cKߏ?\`Lg೛EtfVhFfL[/W,qZ ;3A S2ER\eL\t[TEQ׋^ܭuW18&wXu
-<ZgN1"JxBch{hʈc {.exl,ry=q/N|LJV Z5zh b.epޞe3N;i9%F]
-goQ4p2Kɳ*lu"Zp8E%N((S ɉ^:{8⌊,0hE{O;BY u&O,ΦϞ|{\.Th:m bE{OBO!{\ M>xNd<X<Afs~U+lifq=Ee3 ۶i )/
-u$XNQѲDxF8C] pR'r ٰY<-]桼Fee})XG6&;?!/(wmӺ1~Sf@kyt0T٪Y×ɞ
-߇j+X5ڼږaqm7~hֻM ?,NS//5^:˼
-],UUZ'޴poqH*9sK&ht" E ڇ
-WC{'YCÏHS({'hscDјMpz:$7e2"4jO6Lx5qhuᝠ>}q8ug^ǴGRf /PRͬgQ4vb~˧6z}o0o^ ~Ip_|Aj }'p|Ý&ŨE z|.WuESr$VWh!+pGQzp588E$
-endstream
+7697 0 obj
+<< /D [ 7645 0 R /XYZ 81.077 116.279 null ] >>
endobj
7698 0 obj
-<< /Type /Page /Contents 7699 0 R /Resources 7697 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+<< /D [ 7645 0 R /XYZ 81.077 105.32 null ] >>
endobj
-7700 0 obj
-<< /D [ 7698 0 R /XYZ 78.37 808.885 null ] >>
+7699 0 obj
+<< /D [ 7645 0 R /XYZ 81.077 94.361 null ] >>
endobj
-7701 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 768.832 null ] >>
+7700 0 obj
+<< /D [ 7645 0 R /XYZ 81.077 83.402 null ] >>
endobj
-7702 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 757.873 null ] >>
+7644 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F23 660 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7703 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 742.541 null ] >>
+<< /Filter /FlateDecode /Length 1816 >>
+stream
+xڭYo6~_!/603M*X[`iّm!J.HѢڢ>2OxwrGp7"aOWn>*6(ф"<"#-$j$AXfXj'uQ&#)I".7>7i],W]ict`At(+ u]:2w<_w)0&D8h>u2y̷hvT#gdžAse(^6&[* DTJ/[ aR-[&1l9L6<D1xjlB]h+#IF @}JqB!WdT2^Tu5jRK;ue|Q*oVym3;gNnUQX଱s<50A쫪|pBV);>3`3z<7vW:hVיYVZU r-/#o!D"[Ϊ/'(`
+zcH଀f"[lg鬪֧iY)A9Y{8O>wG^ߣJ5L&2tMNc#.7=)abi1FTZ{U^srsuOC f':.&Xd^a
+
+2~Ҳ F8lh}ԲҪ댴]fmePYa>eڦZ?oʝ6oH'
+"̗R$؇*(Iitԟ;߮rZb噻Y]7Kk+?U^;ulOk˽MQM{HBb:^`sh#
+|dJj0 wptӦ Q/(NN6'ݥ])if`6P|4*)
+M0oWh S SFEh^=:_b uWhpU.|ETϤ=J sO<8}ny]¶Sɾt!^VqtQ* sxAhcg';.
+1N!
+?ܷ KŻ Q탣㍦Px/qM>E9@m72oH o"胻bˑNvba2p"%T(Qʉ]V
+endstream
+endobj
+7702 0 obj
+<< /Type /Page /Contents 7703 0 R /Resources 7701 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7337 0 R >>
endobj
7704 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 731.582 null ] >>
+<< /D [ 7702 0 R /XYZ 78.37 808.885 null ] >>
endobj
7705 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 720.623 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 768.832 null ] >>
endobj
7706 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 709.664 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 757.873 null ] >>
endobj
7707 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 698.705 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 746.914 null ] >>
endobj
7708 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 687.746 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 735.955 null ] >>
endobj
7709 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 676.787 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 724.996 null ] >>
endobj
7710 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 665.829 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 714.037 null ] >>
endobj
7711 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 654.87 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 703.078 null ] >>
endobj
7712 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 643.911 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 692.119 null ] >>
endobj
7713 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 632.952 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 627.362 null ] >>
endobj
7714 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 621.993 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 616.403 null ] >>
endobj
7715 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 611.034 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 605.444 null ] >>
endobj
7716 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 600.075 null ] >>
-endobj
-101 0 obj
-<< /D [ 7698 0 R /XYZ 79.37 576.445 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 594.486 null ] >>
endobj
7717 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 482.129 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 583.527 null ] >>
endobj
7718 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 443.107 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 572.568 null ] >>
endobj
7719 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 432.148 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 561.609 null ] >>
endobj
7720 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 421.189 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 550.65 null ] >>
endobj
7721 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 410.23 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 534.71 null ] >>
endobj
7722 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 399.271 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 523.751 null ] >>
endobj
7723 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 388.312 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 512.792 null ] >>
endobj
7724 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 377.354 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 501.833 null ] >>
endobj
7725 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 366.395 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 490.874 null ] >>
endobj
7726 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 355.436 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 479.915 null ] >>
endobj
7727 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 326.68 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 468.956 null ] >>
endobj
7728 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 315.722 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 457.997 null ] >>
endobj
7729 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 304.763 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 447.038 null ] >>
endobj
7730 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 293.804 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 436.08 null ] >>
endobj
7731 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 282.845 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 425.121 null ] >>
endobj
7732 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 271.886 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 414.162 null ] >>
endobj
7733 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 260.927 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 403.203 null ] >>
endobj
7734 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 249.968 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 392.244 null ] >>
+endobj
+101 0 obj
+<< /D [ 7702 0 R /XYZ 79.37 366.789 null ] >>
endobj
7735 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 239.009 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 271.907 null ] >>
endobj
7736 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 228.05 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 231.06 null ] >>
endobj
7737 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 217.091 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 220.101 null ] >>
endobj
7738 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 206.132 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 209.142 null ] >>
endobj
7739 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 195.174 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 198.183 null ] >>
endobj
7740 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 184.215 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 187.225 null ] >>
endobj
7741 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 173.256 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 176.266 null ] >>
endobj
7742 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 162.297 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 165.307 null ] >>
endobj
7743 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 151.338 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 154.348 null ] >>
endobj
7744 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 140.379 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 143.389 null ] >>
endobj
7745 0 obj
-<< /D [ 7698 0 R /XYZ 81.077 129.42 null ] >>
+<< /D [ 7702 0 R /XYZ 81.077 112.505 null ] >>
endobj
-7697 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7748 0 obj
-<< /Filter /FlateDecode /Length 2687 >>
-stream
-xڭZo߿oU W&p9@eG{䍃7,*-}dÙ!7ä"]!히7뇟>|tVI/@˅/$Bq|߇k}z!1QCto"7ǛHRR]~Yeps gͱ.ݝeD!(G+߶SJ#CujeXa([trl{+J3/oLuU{k>䕓R Ґ]vhYxQN1#1p~tNQ8z-h}+/#qC-"Yoh~̛4i.oװ)MnIfV~9S%Y ƒM:Tqʒts ӫs1Y}ko~`[Y +(N@X/K5"^Fy,d(nnuw
-f.Br"Z($Dlgֈçתڛ[{[_eǶZP6b> ER}^h1Oh&8bX.
-Qbk]y,cTev<G~9=?mvg-2g ryHJӄб1y'$CӤqF;"[JDȈlY횼]`d&@1`Q_w<8Nu.
-1
-Eڡ(eyQ9"
-\~,|= #M|͙XJVN3yBG{6e9l7ny4-Pf'40S@A!K#Fc, NVϫm 4D5w++L(Ae
--
-w sT7e\{(C]g._6)oǦ2%P|v(cM9(I)(CREY֐8Fz:zPþ~|e^,8A+#F+sOt.U9Ġb}@!,=wFd7>ֹ}![UM5sF2~ foCs~ T^w,!tZ!1"o,R .Y,@*.xuV8̈1N `}:`kޛ/{6E z4n!ᗔ=C C
-ZLqJ.wr$ ܳWvԼy%Шj֔Qf_*϶S2;6I\m("%b
-{^6BOMuL6EiH0MG>_r^m<A>ØG9LI(
-gxOwoyѐh+M A$ ?Z¥2!3~TʽImN`'2oe!1}B
-1dWF9ɐA~ %F 1g\R%
-endstream
+7746 0 obj
+<< /D [ 7702 0 R /XYZ 81.077 101.546 null ] >>
endobj
7747 0 obj
-<< /Type /Page /Contents 7748 0 R /Resources 7746 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7338 0 R >>
+<< /D [ 7702 0 R /XYZ 81.077 90.587 null ] >>
endobj
-7749 0 obj
-<< /D [ 7747 0 R /XYZ 78.37 808.885 null ] >>
+7748 0 obj
+<< /D [ 7702 0 R /XYZ 81.077 79.628 null ] >>
endobj
-7750 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 768.832 null ] >>
+7701 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7751 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 757.873 null ] >>
+<< /Filter /FlateDecode /Length 2202 >>
+stream
+xڽZ[o~ϯ0PU]x'tɢ 4}X?,S,;RV-*L//BsxnV.ŏWxE~X]}tVjsaR %r!Fnk$g\VBZ`Lb$_0e_6inYUs£W{,ߥ]SPW;G{bŽ2#2)ڬ쾮ˤ,V+0O}W'Y]wU<!1`T#̨#-.#M,g>5X6Q+d ekᑇ6]I~(n`ᎌ AE}`H]zH,YT]oqhkt;}cn=:l=Stbr-ds>vE{ܨͶ]vtV봫3U QS|!SV>453.vf'?0-@ı'<pA:7.e9&3s`#&fG\~piydÔ:E&[B9 .+ĵsBE".;HP,ŅcD{h+- ""5rG$_XQ
+ggsϣ[sM
+>cd)<O\ ,4x<ߘ
+endstream
+endobj
+7750 0 obj
+<< /Type /Page /Contents 7751 0 R /Resources 7749 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7337 0 R >>
endobj
7752 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 717.026 null ] >>
+<< /D [ 7750 0 R /XYZ 78.37 808.885 null ] >>
endobj
7753 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 706.067 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 768.832 null ] >>
endobj
7754 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 695.108 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 757.873 null ] >>
endobj
7755 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 684.149 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 746.914 null ] >>
endobj
7756 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 673.19 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 735.955 null ] >>
endobj
7757 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 662.231 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 724.996 null ] >>
endobj
7758 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 651.273 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 714.037 null ] >>
endobj
7759 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 640.314 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 703.078 null ] >>
endobj
7760 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 629.355 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 692.119 null ] >>
endobj
7761 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 600.463 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 681.16 null ] >>
endobj
7762 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 589.504 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 670.202 null ] >>
endobj
7763 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 578.545 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 659.243 null ] >>
endobj
7764 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 567.586 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 648.284 null ] >>
endobj
7765 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 556.627 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 637.325 null ] >>
endobj
7766 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 545.669 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 626.366 null ] >>
endobj
7767 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 534.71 null ] >>
-endobj
-105 0 obj
-<< /D [ 7747 0 R /XYZ 79.37 523.203 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 615.407 null ] >>
endobj
7768 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 443.209 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 555.244 null ] >>
endobj
7769 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 432.25 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 544.285 null ] >>
endobj
7770 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 367.493 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 503.682 null ] >>
endobj
7771 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 356.534 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 492.723 null ] >>
endobj
7772 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 345.575 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 481.764 null ] >>
endobj
7773 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 334.616 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 470.805 null ] >>
endobj
7774 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 323.657 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 459.846 null ] >>
endobj
7775 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 312.698 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 448.887 null ] >>
endobj
7776 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 301.739 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 437.928 null ] >>
endobj
7777 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 290.78 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 426.969 null ] >>
endobj
7778 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 279.822 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 416.01 null ] >>
endobj
7779 0 obj
-<< /D [ 7747 0 R /XYZ 81.077 268.863 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 387.362 null ] >>
endobj
-7746 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F72 187 0 R /F26 662 0 R /F82 811 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7782 0 obj
-<< /Filter /FlateDecode /Length 2282 >>
-stream
-xZ[o6~_]hX/y
-/فNDt:cIgIdb
-UwQnA*ۻ_m?J]Q>jP}7JיZCc[dAf-K<Lc~&o*1»{=;!<\/t c[(O[qd4at I0ZjM\>}N%ؘ Cbp'y)͡| +zs{(m]k5RgCUo}qo>on2TϩcKmahlhb&ۙ)vӴaE.)uvSWOx}h{oӶj]-EJ!擠_6<FϪTHP 6H@Sm~Zgw6<kߓDaA+&xH` qTIQ 4K~0$A=Zmyc\$UPҤy>6HѐD N ctb4
-4 hkz4Td1 hĆ&<&5¡
-I˴\P\&).
-.Q!{
-aΨL=^%:\0)"ȹQh uS5ZԘbg6(a.]-کyi?dmY[k2;fmWV͙D
-LKr"LK3Q'}U(qqQgz<t>k>.sنk{^г!w]+9rΑGo!k}fQBfta? da(EZ B^)Pb=8p7oݥk;O^>z6s}aNyL`>bX# Pb]m]䏽)>м/JTkJtdAVnmΔ()$'*Eyi!O46Uv?YY9w#
-YN4ET ԅ'C"^R
-Qzv7[ONH P:s˶`LbؐdctrMz b/X41z(VzqZz/bXpsK!괵 MfuP wmKy',)]<S[L2N 0d67q^Vdə@"~ Y9)Ns0(#(3 
-56&J^(\ _ Nj6s<[_/bNj 8^Y"yGo(#_EݦqMEdGA]j0%eYѹۅSd4<k˗U)YG}eI^QJ$ G试Q,F#t2 #@,I'
-,5\dWA#")#{90ϸu6>0'MN _TJ
-:}l! _TJʼ:}l _<ʒ"LAykuXRGtp鞸B%nta_jwחFzݸZc)?)n@h[?ՎZ|:>:V>Qciq  )/I;5);I:''(LӾkτfKi9DJ1tl>[–8gNj_,XFcdwE }
-endstream
+7780 0 obj
+<< /D [ 7750 0 R /XYZ 81.077 376.403 null ] >>
endobj
7781 0 obj
-<< /Type /Page /Contents 7782 0 R /Resources 7780 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+<< /D [ 7750 0 R /XYZ 81.077 365.444 null ] >>
+endobj
+7782 0 obj
+<< /D [ 7750 0 R /XYZ 81.077 354.486 null ] >>
endobj
7783 0 obj
-<< /D [ 7781 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 343.527 null ] >>
endobj
7784 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 719.129 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 332.568 null ] >>
endobj
7785 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 708.17 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 321.609 null ] >>
+endobj
+105 0 obj
+<< /D [ 7750 0 R /XYZ 79.37 310.224 null ] >>
endobj
7786 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 697.211 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 230.335 null ] >>
endobj
7787 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 686.252 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 219.376 null ] >>
endobj
7788 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 675.293 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 155.349 null ] >>
endobj
7789 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 664.334 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 144.39 null ] >>
endobj
7790 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 653.375 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 133.431 null ] >>
endobj
7791 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 642.416 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 122.473 null ] >>
endobj
7792 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 631.458 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 111.514 null ] >>
endobj
7793 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 620.499 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 100.555 null ] >>
endobj
7794 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 609.54 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 89.596 null ] >>
endobj
7795 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 598.581 null ] >>
-endobj
-7796 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 587.622 null ] >>
+<< /D [ 7750 0 R /XYZ 81.077 78.637 null ] >>
endobj
-7797 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 576.663 null ] >>
+7749 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7798 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 565.704 null ] >>
+<< /Filter /FlateDecode /Length 2852 >>
+stream
+xZIoW)rNFh|A(F7&)cB6C,rUUxs_ {͛w׊m820{C#!-$j$AXqF]Xﮥhddz& #"x~q)~$îps~vؽ;d}+ۼُίγ6~secK\ Ӟ++B"F]1
+j%Ӝr&Ӭ%`!N={en62r\D
+!ӹj)d,*Dcw/Y5Q9F!M |B㣛[P4dÈ}~8JGn':-T|<X!"+%.).b*\vqc肎04Ͷ^R2çu #tD@ɤM tF5#C:5: AJiAT:L=R$d,$ho6All~ 7X *!k-b%. ٻn0ltߩP8XN= `HM4/ ծ eқ}\\s$(rJ+ɺaY
+Ӵ0a.GU6@ѱ"1iPk¦-ÔѰ=H"#H=Gҁ)]SmBq9ϕ0 =L22BLS۾]o/E.,/Mq. r>PJu//a.";9j>~@Б|ٞ~1<H ׸ '$@T-£V MѷͺV4fWϻS]Vé{͗ d `GSU-Vb&F[ek{"tȯC9ڞ+u
+|~~w0mf)AIBo4i%BUjssC"h[^WV/^.a'/rr9}J^O>O#ovx>%.!!r= 4\W?\N-+<Q3OǶu'=:LxBt~NPp|0&MCt'CpF5~3dCGBxW8u,Od}"4!GV<߱f%_M/IExF5'-Rۘ> ?p<(l{ͧ5j߉7WÇW6lP+vY>:@vrFO{HC]2l7@UHHXUFBPk??'$Unn5w5v^G,|/*\-P
+E˅ Cl",ulCs=0Ϗ%5o̺$lwNb_Sri6&0d6fwmώ'UBcn풘,DKmUN(8CNxr6kpRqn՟ad/K93}:JL 龈qY1Е(C_҆db(CXy%]WJ`x֮68|
+8ʌ3>2 5(Pb[m]OA>z|
+֫-<JùТ`zzlp!YY81E!5ŔU}FYCd ~>$
+!"G;n* kI!VvFY3u@\'*x5SrYVuF GgTaʂI Z#e ]ڨ;ߜN'@10هMe}NEi>(S'R
+Q:B*H%kj8?##Fi\8їds6ʚƢ9уEEWO'F7W.O)L[!ڒ_l\?|%C[ve2kg
+ArNxQa,a1Bkʤ^o
+XC$N
+(cwO) LZWᐮtl2(#K11$r12"Cav{@oj
+endstream
+endobj
+7797 0 obj
+<< /Type /Page /Contents 7798 0 R /Resources 7796 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7834 0 R >>
endobj
7799 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 554.745 null ] >>
+<< /D [ 7797 0 R /XYZ 78.37 808.885 null ] >>
endobj
7800 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 526.074 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 768.832 null ] >>
endobj
7801 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 515.115 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 757.873 null ] >>
endobj
7802 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 504.156 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 519.766 null ] >>
endobj
7803 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 493.197 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 508.807 null ] >>
endobj
7804 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 452.571 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 497.848 null ] >>
endobj
7805 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 441.612 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 486.889 null ] >>
endobj
7806 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 430.653 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 475.93 null ] >>
endobj
7807 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 390.027 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 464.971 null ] >>
endobj
7808 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 379.068 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 454.012 null ] >>
endobj
7809 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 368.109 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 443.053 null ] >>
endobj
7810 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 357.15 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 432.094 null ] >>
endobj
7811 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 346.191 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 421.136 null ] >>
endobj
7812 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 335.232 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 410.177 null ] >>
endobj
7813 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 324.273 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 399.218 null ] >>
endobj
7814 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 313.314 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 388.259 null ] >>
endobj
7815 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 302.355 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 377.3 null ] >>
endobj
7816 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 261.729 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 366.341 null ] >>
endobj
7817 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 250.77 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 355.382 null ] >>
endobj
7818 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 239.811 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 326.49 null ] >>
endobj
7819 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 228.852 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 315.532 null ] >>
endobj
7820 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 217.893 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 304.573 null ] >>
endobj
7821 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 206.935 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 293.614 null ] >>
endobj
7822 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 195.976 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 252.767 null ] >>
endobj
7823 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 185.017 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 241.808 null ] >>
endobj
7824 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 174.058 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 230.849 null ] >>
endobj
7825 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 163.099 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 190.002 null ] >>
endobj
7826 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 152.14 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 179.043 null ] >>
endobj
7827 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 168.085 null ] >>
endobj
7828 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 157.126 null ] >>
endobj
7829 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 146.167 null ] >>
endobj
7830 0 obj
-<< /D [ 7781 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 7797 0 R /XYZ 81.077 135.208 null ] >>
endobj
-7780 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F26 662 0 R /F20 186 0 R /F82 811 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7835 0 obj
-<< /Filter /FlateDecode /Length 1936 >>
-stream
-xZKoFW(fM
-T%*.\YN8v Krٙݙofⶠ7Gn.^1Y&xq`0hf
-7◙v^>zFc0ЊwڊFyZM[[Y"ѿ2!_ku{]_^)@o*\u}y&Eo8;hrzɖY[mGv{jwz'Rn 2YpџuB2C8WR1OTuZ[L[[@<(kk&-)?~!燶?u~S]z8W/n;mmDHlS}hF@ ĥQj flwm}VFs"E"}aPΝku<T׋ x7\<˗na7A1"M>24$LcCe ~.{'K\ПRN3KK@r]|ƾT-Rʑt^\MJ924~ma6=11F ~k9G,aYdo=T\bUa
-ú]7uS۪*Z;Їé8FԽ6ՇnWMaW*7vFSѩ(N1m(:m70  "[*hv],]6.s{.-:`c|' SrAeLX`{28`Ԍhz"= .ʤWǬPJ%EĹכMw4~${Ɠq
-AFp9G*
-N
-XrN9)3`~ԍ0xz+2WϠkJz+2RJEMG RO+ $晄4:T7Ntg *@GwF=n ;MM3'J3Շ "!JTEIQ fHMe&$-GĜ8#>C1pG=_a t !x 8wF*3% zQn«Ef\װ(Y(EqE*cH?Ѧ=MxfuU-'LW?\W?es<p0#m?124+ 6L$\: ܃,82_p(Bb;]őI\H@7N n&I3nQ]Mt5hL51CSpMMF75)bFᚚ [I(\S_F;45
-dhjАR㚚 =s0uѝUcd(',Wfg̐O9(DU*{5П
-kofU8P0K+fh0ǡ֘ 2BYmvNڠ6.C3p(NLAQ~s*~I7sww2-2s
-T?-7(o9X̊wx ?Hw<6O?"f
-Qħ-uض+
-LG%)' N*.8XL
-endstream
+7831 0 obj
+<< /D [ 7797 0 R /XYZ 81.077 124.249 null ] >>
endobj
-7834 0 obj
-<< /Type /Page /Contents 7835 0 R /Resources 7833 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R /Annots 7882 0 R >>
+7832 0 obj
+<< /D [ 7797 0 R /XYZ 81.077 113.29 null ] >>
endobj
-7882 0 obj
-[ 7832 0 R ]
+7833 0 obj
+<< /D [ 7797 0 R /XYZ 81.077 102.331 null ] >>
endobj
-7832 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 228.711 364.603 239.144 376.54 ]/A << /S /GoTo /D (Hfootnote.14) >> >>
+7796 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R /F82 811 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-7836 0 obj
-<< /D [ 7834 0 R /XYZ 78.37 808.885 null ] >>
+7838 0 obj
+<< /Filter /FlateDecode /Length 2332 >>
+stream
+xڽZMo8Wa#
+ZncQ y. RF'!"'_EI5!OϢ "BW0 n_MYٍoɛLCxO퇯' Z#e ͊
+q|ic j
+
+2"tgHevcΠΛ,>MuH7QJ;TctەهheofnٮNNy]NY7F ܢ+0^bb-1!rΊn&VL\cL& oiԏ)-yx,PDf|\$d-]gV2!@7  -})K~IKuemweN I!&-$莌!{
+\}-ϊ\vSq>;} C.1l|#;vLS7n1 4ŴֈBBp 72MjGyҾMVLHd9Rm_w>&;S# X m 1"Nw8!N3M=E .Y9(p$G qq<::1%T++BJ&!P̅!U(ly(|1bLö kֵ\CnQ-J EQQq}eb
+endstream
endobj
7837 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 768.832 null ] >>
+<< /Type /Page /Contents 7838 0 R /Resources 7836 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7834 0 R /Annots 7883 0 R >>
endobj
-7838 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 757.873 null ] >>
+7883 0 obj
+[ 7835 0 R ]
+endobj
+7835 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 228.711 144.429 239.144 156.365 ]/A << /S /GoTo /D (Hfootnote.14) >> >>
endobj
7839 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 7837 0 R /XYZ 78.37 808.885 null ] >>
endobj
7840 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 742.929 null ] >>
endobj
7841 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 731.97 null ] >>
endobj
7842 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 721.011 null ] >>
endobj
7843 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 710.052 null ] >>
endobj
7844 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 699.093 null ] >>
endobj
7845 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 688.134 null ] >>
endobj
7846 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 677.175 null ] >>
endobj
7847 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 666.217 null ] >>
endobj
7848 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 655.258 null ] >>
endobj
7849 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 644.299 null ] >>
endobj
7850 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 633.34 null ] >>
endobj
7851 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 592.493 null ] >>
endobj
7852 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 581.534 null ] >>
endobj
7853 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 570.575 null ] >>
endobj
7854 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 559.616 null ] >>
endobj
7855 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 548.657 null ] >>
endobj
7856 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 537.698 null ] >>
endobj
7857 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 526.74 null ] >>
endobj
7858 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 515.781 null ] >>
endobj
7859 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 504.822 null ] >>
endobj
7860 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 441.061 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 493.863 null ] >>
endobj
7861 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 430.102 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 482.904 null ] >>
endobj
7862 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 419.143 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 471.945 null ] >>
endobj
7863 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 408.184 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 460.986 null ] >>
endobj
7864 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 325.494 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 450.027 null ] >>
endobj
7865 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 314.535 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 439.068 null ] >>
endobj
7866 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 303.576 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 428.109 null ] >>
endobj
7867 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 292.618 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 417.151 null ] >>
endobj
7868 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 281.659 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 406.192 null ] >>
endobj
7869 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 270.7 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 395.233 null ] >>
endobj
7870 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 259.741 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 384.274 null ] >>
endobj
7871 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 248.782 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 373.315 null ] >>
endobj
7872 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 237.823 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 318.52 null ] >>
endobj
7873 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 226.864 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 307.561 null ] >>
endobj
7874 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 215.905 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 296.603 null ] >>
endobj
7875 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 199.965 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 285.644 null ] >>
endobj
7876 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 189.006 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 274.685 null ] >>
endobj
7877 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 178.047 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 263.726 null ] >>
endobj
7878 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 167.088 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 220.887 null ] >>
endobj
7879 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 156.129 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 209.928 null ] >>
endobj
7880 0 obj
-<< /D [ 7834 0 R /XYZ 81.077 145.17 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 198.969 null ] >>
endobj
7881 0 obj
-<< /D [ 7834 0 R /XYZ 94.613 82.511 null ] >>
+<< /D [ 7837 0 R /XYZ 81.077 188.01 null ] >>
endobj
-7833 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F22 473 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+7882 0 obj
+<< /D [ 7837 0 R /XYZ 94.613 85.223 null ] >>
endobj
-7885 0 obj
-<< /Filter /FlateDecode /Length 2259 >>
+7836 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F26 662 0 R /F73 189 0 R /F69 183 0 R /F22 473 0 R /F77 480 0 R /F63 205 0 R /F81 768 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+7886 0 obj
+<< /Filter /FlateDecode /Length 1956 >>
stream
-xZKo8W62Sc3氳Ԏ(,wzEQEQDw%D~*֛$^-+"a^YGFFIxAZ"IBI$~DEZgi) È"o!oҲzcT#ӧpnoisko_@^'m^7u59rV0gݳSMUyHUbFDsϞcoQb\t‹!DX"*gGcb
-і}>X籼H#Bb$کgb T!DĀԈc
-Z_ʻ=^brwںƤL>/J']RL[uuPMB%kBh1M 2$,LɥCHa@ \ `|ƈAԈhٷWE!2sZΰ42شh"a"
-I&8D2 {>f0e F +槫94\xyїN*'/їNIʳ!)=m?2Gj8Q3=3 _`sF%| w[^ܹȓ
-nHhaܞ^7v΂9(RDTba!1b=KMf9v7ruJ}nvs2kt)Pm4*`Lx#8 g$!q^N J$HG'|ۤlǰD׾x"qjv{{V tW8$n[3@Ϭ,ltsy Oy۸2@{h(Ȩc
-2 /6:xGqpl-ثR'M{@^lz;XryhN;ȃ)Ų 7]ƀAKm"04ȍ}fLNSEitb @V[(;=g];T4nag=* &<*gp1J!D ڼC7őH$ -2cf=#D 3^ljs z`68
+xZMoFWV 7SТ ڃڂ`dʦ!HiΊjWel_z72 |<Ñ(~<#&8\-Njlr:ΈW?w1QFK1!MVzSż-/.\q{}6y[d|sSdU}]4]S%Xc\ѱ#L[)dYyh"fe )')Vs l˺u~S-"3È b)K^zٔ|QMցűCi׫50Vu]X)" _~sz^7.|j2v(fww84o4 beSy;qL5'R)%. )E+F "kJd4~R![b,)c,_yu5aQI)h;i@Ch<oTt' I9/o'W&e9w2,Nxozr-GPҚ8ѿq3;;Mz:ϫdo.ps;
+͘S2;RN?,ީۦrY*Isi-0< G5%3p|yޖ=C`Ms!\.3ڟ)UwY\t s]Ջ'=܏sÌ-I<J>A?
+:0* %,_1G =8:15<E!M8z13iHT %&]ZhQ>p>OM
+Өv%Aa#R BM_f +kL5G Z|mMAtQt^nWU!zwmwYV/Y6ok:g>.;N{.)!MAs@曶wp_Ѵ>8f} ~F&vkqCCU͡4lAcd;aZfmˬڣ<*O?]|"$EBl0{<n*-'nc4z!)̕KiYC⏋{X6³yVWE)u ^H E=AWǕSX
+wBOo׽uwA
+v,}70s'$TPE[P`ng g1:Y[/?/J:(N ]zlx%Մ\H5JhWVH8Q {c7hpv]X#ɵvBs↏kȝ\gE*4!mD@]&hߕCFb~NGݗ=).0lѝ T \_ſ5"͡D00"*sF
+CaQtq;\ a:H/5aPnP#u1^/WMD>H:;:& g`O} Z5!30\4s}ysCw.Bc)Ph2LjdFTҵ9+%fm j1%hjG pOi_;''%IC ct#c#>ҿVu7ƪ^lw"ZW11I ݏѧM
+bdn%h;N Jc5*FˈM\f"XYmp_AFoGq 7!R:Uj
endstream
endobj
-7884 0 obj
-<< /Type /Page /Contents 7885 0 R /Resources 7883 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
-endobj
-7886 0 obj
-<< /D [ 7884 0 R /XYZ 78.37 808.885 null ] >>
+7885 0 obj
+<< /Type /Page /Contents 7886 0 R /Resources 7884 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7834 0 R >>
endobj
7887 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 7885 0 R /XYZ 78.37 808.885 null ] >>
endobj
7888 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 768.832 null ] >>
endobj
7889 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 757.873 null ] >>
endobj
7890 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 746.914 null ] >>
endobj
7891 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 735.955 null ] >>
endobj
7892 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 724.996 null ] >>
endobj
7893 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 714.037 null ] >>
endobj
7894 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 650.276 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 703.078 null ] >>
endobj
7895 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 639.317 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 692.119 null ] >>
endobj
7896 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 628.358 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 681.16 null ] >>
endobj
7897 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 617.4 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 670.202 null ] >>
endobj
7898 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 576.553 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 659.243 null ] >>
endobj
7899 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 565.594 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 644.868 null ] >>
endobj
7900 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 554.635 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 633.91 null ] >>
endobj
7901 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 543.676 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 622.951 null ] >>
endobj
7902 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 532.717 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 611.992 null ] >>
endobj
7903 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 521.758 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 601.033 null ] >>
endobj
7904 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 510.799 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 590.074 null ] >>
endobj
7905 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 499.84 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 549.584 null ] >>
endobj
7906 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 488.882 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 538.625 null ] >>
endobj
7907 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 477.923 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 527.666 null ] >>
endobj
7908 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 466.964 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 516.707 null ] >>
endobj
7909 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 456.005 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 505.748 null ] >>
endobj
7910 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 445.046 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 494.789 null ] >>
endobj
7911 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 434.087 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 483.83 null ] >>
endobj
7912 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 423.128 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 435.726 null ] >>
endobj
7913 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 412.169 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 424.767 null ] >>
endobj
7914 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 401.21 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 413.808 null ] >>
endobj
7915 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 390.251 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 402.849 null ] >>
endobj
7916 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 379.292 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 363.568 null ] >>
endobj
7917 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 368.334 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 352.61 null ] >>
endobj
7918 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 357.375 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 341.651 null ] >>
endobj
7919 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 346.416 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 330.692 null ] >>
endobj
7920 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 335.457 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 319.733 null ] >>
endobj
7921 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 324.498 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 308.774 null ] >>
endobj
7922 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 313.539 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 297.815 null ] >>
endobj
7923 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 302.58 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 286.856 null ] >>
endobj
7924 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 291.621 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 275.897 null ] >>
endobj
7925 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 262.73 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 264.938 null ] >>
endobj
7926 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 251.771 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 253.979 null ] >>
endobj
7927 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 240.812 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 243.021 null ] >>
endobj
7928 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 229.853 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 232.062 null ] >>
endobj
7929 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 218.894 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 221.103 null ] >>
endobj
7930 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 207.935 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 210.144 null ] >>
endobj
7931 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 196.976 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 199.185 null ] >>
endobj
7932 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 96.354 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 188.226 null ] >>
endobj
7933 0 obj
-<< /D [ 7884 0 R /XYZ 81.077 85.395 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 177.267 null ] >>
endobj
-7883 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F82 811 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-7936 0 obj
-<< /Filter /FlateDecode /Length 2119 >>
-stream
-xZMo8WƮY~aQX`}
-BPm9Q+K$' wOq1M˒9oHμ!g3<xO$x퇀8Ҋ0:]x LI$I0 $AX~<D/og
-i)b0IVeۨHOiʲuX
-*i]K
-.ׇg晹[UIjL=M`D0Q<.oL[#__7yzƯy~+U(sӸqn3 * 4baHj
- Jvy+F90. cDeĦ Pi[׻ЌR[3(4ӌ]vX.n܇U(D%xh6ه2^m[퓴 }e,l兔8FEOIQ(I^I (q8zJʏ!z>#㣽B6U&0W'K>1$HW3a?hoy" El: D 6^pny&Qm&HdAs5.Esâ>?3/vYe&E_u}K5[xO߷C?^~|g SZ:0dD҈Y,Wj{xEQ|7<޸v 3jLSTpw@Rƨj7n"plU^$ѺudQ keu\C(wL4)+3"ãv
-WE_ji*(s6}$,gj`qҧ0
-|IꞶyLLjnؽT0K\۲֝|qض L5%&YH*ᶐ={N'bAY
-N
-U@} L='.I1J Yw!~>q!D&od
-[`?sm^Q#5AT~lH{tp[{woG T5`~Tm#s</R!fz_p?6"ذ3|$/+CZ}-"_ld
-qK!⧃qGit(w:D"kCGiA[%`AGiDs$>eJA?QŬϥ ?>L 8p}>ؓKW:(xpC
- K~1ֵ|_ { 5%V3.Ӵ9eKkSkc 4>¨?6"2c4|e% i,$Z,ɁAR&_n/ޢ9)$F6i}9i`f6)Pj|MN6QU$5gN 8iNa+#yHW~y?*n
-endstream
+7934 0 obj
+<< /D [ 7885 0 R /XYZ 81.077 166.308 null ] >>
endobj
7935 0 obj
-<< /Type /Page /Contents 7936 0 R /Resources 7934 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+<< /D [ 7885 0 R /XYZ 81.077 155.349 null ] >>
+endobj
+7936 0 obj
+<< /D [ 7885 0 R /XYZ 81.077 144.39 null ] >>
endobj
7937 0 obj
-<< /D [ 7935 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 133.431 null ] >>
endobj
7938 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 122.473 null ] >>
endobj
7939 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 111.514 null ] >>
endobj
7940 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 100.555 null ] >>
endobj
7941 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 89.596 null ] >>
endobj
7942 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 707.972 null ] >>
+<< /D [ 7885 0 R /XYZ 81.077 78.637 null ] >>
endobj
-7943 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 697.013 null ] >>
-endobj
-7944 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 686.055 null ] >>
+7884 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F82 811 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7945 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 675.096 null ] >>
+<< /Filter /FlateDecode /Length 2540 >>
+stream
+xZo:0.6P[d-oaT[IԵԒߌRqd1Fgo]yGfX͵\ܾc@lX"E-n-b2gǣ>^*_0` ' S(bVWş AHϫ5
+ppB.N>wi}t )J
+As]upGu!3V#xu-nzkBZ@4AޞZ1dZ36_(Ddd6H98*FKZ´xRAFlFc3| 2J:wuPL,U[xTWG1
+>8ު\Z禦(>zڪrlUHgo[KU!̤UK#BDA1
+]b\l}J3k>o~g|rgWkANr7 ^pPiB5:!BP_)GR*Fȷ8Ri~g1kBt+mxKX/Z(jfq@Ö퐗Wz|<gX7qzhO/,`qc^,gtUҐ$}N8|<,ק(A8kvR܏$9Rǩx~>p>I(d>iqWG[kB'^GGI!Np
+ёg"b{fr DK_K\i\HG)oR^&QJE
+&zvy\l#A_;A^HJlwقn.n
+endstream
+endobj
+7944 0 obj
+<< /Type /Page /Contents 7945 0 R /Resources 7943 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7834 0 R >>
endobj
7946 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 664.137 null ] >>
+<< /D [ 7944 0 R /XYZ 78.37 808.885 null ] >>
endobj
7947 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 653.178 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 754.884 null ] >>
endobj
7948 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 642.219 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 743.925 null ] >>
endobj
7949 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 631.26 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 732.966 null ] >>
endobj
7950 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 620.301 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 722.007 null ] >>
endobj
7951 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 609.342 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 711.048 null ] >>
endobj
7952 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 598.383 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 700.089 null ] >>
endobj
7953 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 587.424 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 689.131 null ] >>
endobj
7954 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 576.466 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 588.508 null ] >>
endobj
7955 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 565.507 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 577.549 null ] >>
endobj
7956 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 513.614 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 566.59 null ] >>
endobj
7957 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 502.655 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 555.631 null ] >>
endobj
7958 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 491.696 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 544.672 null ] >>
endobj
7959 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 480.737 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 533.713 null ] >>
endobj
7960 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 469.778 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 504.822 null ] >>
endobj
7961 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 442.075 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 493.863 null ] >>
endobj
7962 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 431.117 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 482.904 null ] >>
endobj
7963 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 420.158 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 471.945 null ] >>
endobj
7964 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 409.199 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 460.986 null ] >>
endobj
7965 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 398.24 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 450.027 null ] >>
endobj
7966 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 344.809 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 439.068 null ] >>
endobj
7967 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 333.85 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 428.109 null ] >>
endobj
7968 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 322.891 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 417.151 null ] >>
endobj
7969 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 311.932 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 406.192 null ] >>
endobj
7970 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 300.973 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 395.233 null ] >>
endobj
7971 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 290.014 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 384.274 null ] >>
endobj
7972 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 279.055 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 373.315 null ] >>
endobj
7973 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 268.096 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 362.356 null ] >>
endobj
7974 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 257.138 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 309.554 null ] >>
endobj
7975 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 246.179 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 298.595 null ] >>
endobj
7976 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 235.22 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 287.636 null ] >>
endobj
7977 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 224.261 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 276.677 null ] >>
endobj
7978 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 213.302 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 265.718 null ] >>
endobj
7979 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 202.343 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 234.834 null ] >>
endobj
7980 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 191.384 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 223.875 null ] >>
endobj
7981 0 obj
-<< /D [ 7935 0 R /XYZ 81.077 180.425 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 212.916 null ] >>
endobj
-109 0 obj
-<< /D [ 7935 0 R /XYZ 79.37 159.236 null ] >>
+7982 0 obj
+<< /D [ 7944 0 R /XYZ 81.077 201.957 null ] >>
endobj
-7934 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
+7983 0 obj
+<< /D [ 7944 0 R /XYZ 81.077 190.999 null ] >>
endobj
7984 0 obj
-<< /Filter /FlateDecode /Length 2196 >>
-stream
-xZ]o6}_>m8HmQdv }.YfbMdɕ}/EU4l`y=hr?&?XMR1d~Ãh'B!*&"(dw:_k*4yUn5laӮFVi@p>~ŔUA#,Fшs^5=LziQVo#/{dovҺNᑱzSh0)#ҦcַΣ風ZΙ>쁻=PuҖ=FE 5St]vX
-puӀ~һcˆ>4tmװqI>6(ܵ=t8
-y7#CLqG
-A' ))Q)BmJD1 t}&"*r`&R奞`'|j/y6u^lKMDs,Q}kp"7G@Y_؋nf宬H.Ymm0^M}!ԎXEg[TUa&Mg#ƛe}̋X8"SZ<"_.u9cȩ\cX$Wu.#' Ęr0s!d
-\EuTs(G<a ]O a\쌮N5S:4̜!:#bDI0C_@
-X9ma4:]q!/ X!!t0п\\".0タÙ@ra*;iTDVnNt7C8R Y\<s$DCD E Y=뙢ޓ0Ћ3~q9 9a"w3J2Ld=]s9qt%DC\L!ˍa;S%Q WzOؽ0Oי.ݿuxO%cD#&zs8>.EQH)\:6bQ'E*L6=tV/$EL8=QG#d!Ͱ f7b{ fLA; Q<m56kV'ƈsHI
-Kv`YISSŒ#þdJldic*eӿ:g\V2h:qbaz⡇ZzyƴNq&)lM.&[%D11wq4@ܶa$
-!OURBFmH{`Jx޾ɐdѧAl{vÓhlEe>a Lq;lBv#nG>N"m?3(/-:ȌbbX'M%|dT fѥaU2^fc$AR<k{">lS5ϕ$};܄ 6%ycy:<Ό"^[ƛ7&W#yE'^ZHhF8K#tkn4-m= WZ?`JD;MWVMVpL(ƑR|n(#>ۃ@B@J fSﴩjsJ239֏Ƹ<nly7Ƀ:XYܩGM]5}Ao7"]..Pwk0Iw2Ȧe6“|-BEX N2y3_^o_j5\ S$Oل!nt7̹$
-a4|Vb,Eʍ98Ȁ!8xtl׌}Gqظ
-9E*f)a
-endstream
-endobj
-7983 0 obj
-<< /Type /Page /Contents 7984 0 R /Resources 7982 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+<< /D [ 7944 0 R /XYZ 81.077 136.204 null ] >>
endobj
7985 0 obj
-<< /D [ 7983 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 125.245 null ] >>
endobj
7986 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 730.974 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 114.286 null ] >>
endobj
7987 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 720.015 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 103.327 null ] >>
endobj
7988 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 709.056 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 92.368 null ] >>
endobj
7989 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 698.097 null ] >>
-endobj
-7990 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 687.138 null ] >>
+<< /D [ 7944 0 R /XYZ 81.077 81.41 null ] >>
endobj
-7991 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 676.179 null ] >>
+7943 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F82 811 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
7992 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 665.22 null ] >>
+<< /Filter /FlateDecode /Length 1760 >>
+stream
+xZ[o6}ϯY/) C Ae:Q#K$͂L Ŗ(Ï(pt30{d~;dDtqMpFHp GrX@zsH9>!|0DerYW_)ozΒvS_˼ M_Kӓ:a ӉttfUq,M ZWx_/G((q8_|Q:HRC`4hxIHr<]\_ RZeԉ%$
+0s)@[V7u, P8*b?*J3mdgNv IbIHBS'p^#z(lukT@**}p|J\Vp
+p+GrI^QmqmUkԹ2*<|2z]Jj̬úSndҭ䞫oa[hKlVUe4}izh|3߽N̘.
+9+%r̒<.#[O̪bX858QqT}t}DCS Tqr|t}jRe#Z*GJK1
+ɭ7@q\}`!\fRq6@?\VRq`!9PqI6@8
+endstream
+endobj
+7991 0 obj
+<< /Type /Page /Contents 7992 0 R /Resources 7990 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7834 0 R >>
endobj
7993 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 654.261 null ] >>
+<< /D [ 7991 0 R /XYZ 78.37 808.885 null ] >>
endobj
7994 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 643.302 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 768.832 null ] >>
endobj
7995 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 632.344 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 757.873 null ] >>
endobj
7996 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 621.385 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 746.914 null ] >>
endobj
7997 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 610.426 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 735.955 null ] >>
endobj
7998 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 599.467 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 724.996 null ] >>
endobj
7999 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 588.508 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 714.037 null ] >>
endobj
8000 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 577.549 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 703.078 null ] >>
endobj
8001 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 566.59 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 692.119 null ] >>
endobj
8002 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 555.631 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 681.16 null ] >>
endobj
8003 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 544.672 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 670.202 null ] >>
+endobj
+109 0 obj
+<< /D [ 7991 0 R /XYZ 79.37 647.685 null ] >>
endobj
8004 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 533.713 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 506.034 null ] >>
endobj
8005 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 522.754 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 495.075 null ] >>
endobj
8006 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 511.796 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 484.116 null ] >>
endobj
8007 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 500.837 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 473.157 null ] >>
endobj
8008 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 489.878 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 462.199 null ] >>
endobj
8009 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 478.919 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 451.24 null ] >>
endobj
8010 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 467.96 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 440.281 null ] >>
endobj
8011 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 457.001 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 429.322 null ] >>
endobj
8012 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 446.042 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 418.363 null ] >>
endobj
8013 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 435.083 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 407.404 null ] >>
endobj
8014 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 424.124 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 396.445 null ] >>
endobj
8015 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 413.165 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 385.486 null ] >>
endobj
8016 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 402.207 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 374.527 null ] >>
endobj
8017 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 391.248 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 363.568 null ] >>
endobj
8018 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 380.289 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 352.61 null ] >>
endobj
8019 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 369.33 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 341.651 null ] >>
endobj
8020 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 358.371 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 330.692 null ] >>
endobj
8021 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 347.412 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 319.733 null ] >>
endobj
8022 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 336.453 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 308.774 null ] >>
endobj
8023 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 325.494 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 297.815 null ] >>
endobj
8024 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 314.535 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 286.856 null ] >>
endobj
8025 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 303.576 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 275.897 null ] >>
endobj
8026 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 292.618 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 264.938 null ] >>
endobj
8027 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 237.823 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 253.979 null ] >>
endobj
8028 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 204.946 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 243.021 null ] >>
endobj
8029 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 193.987 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 232.062 null ] >>
endobj
8030 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 151.148 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 221.103 null ] >>
endobj
8031 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 140.189 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 210.144 null ] >>
endobj
8032 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 129.23 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 199.185 null ] >>
endobj
8033 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 118.271 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 188.226 null ] >>
endobj
8034 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 107.312 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 177.267 null ] >>
endobj
8035 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 96.354 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 166.308 null ] >>
endobj
8036 0 obj
-<< /D [ 7983 0 R /XYZ 81.077 85.395 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 155.349 null ] >>
endobj
-7982 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8039 0 obj
-<< /Filter /FlateDecode /Length 2725 >>
-stream
-xڵZmo8_a6,_%@b{{Ez0d[iȒ+)uҢ/z(fˇX3<3cvO$˳7c6HId" nyL??޼L"ELDHĔѯb0yU75)aFNq0%߃f
-κG+b?ۏvhT""y'v|`*}t$Fnmyڄ (m~󞨙+Y"İ>`̛T_U9燬hmʢnMk=s ӻJ6w|9bim')p4:&[bp?OlR"SCb;H}^'bH
-9fv FҔսMVm<kFrĸ ؉t(ԯ#N+L">XM*b/ܬ^^ꣲE#qI~E<s1 IZ' س4\00|,Fr7z=ˡ}6_Hr9GA6zDմ I>Ŵp8A>`봀;%I/*"t~y4si-G[58t%c-B^.nLVIc|k<ujG}Uw٤u]Vv؄ mBԞIC',&̏nJ\x)g`Xq$eH 9te(czp?zmnAߺ3*!K ׻<{1śЂ0Dt4P
-&a!OV69XdQ wgNPN!
-qKL6oMp۸c&5OŖM&:5k1:2@<qJ<a
-2A ENnz % .hU'8QBoP>Cp+ȦԐ#kKHyj;B!JρDX1D;SG: dynMy2lٞFN1Og JF M
-1:)@+NN
->ʝ}`
-{Hi&ᢾ*$w,L8 &HW҇\L"!\O"bI}JȦII[nІ*"W_i|hkG%wYDQ}dDeKh;rDh &åߞHuRXOքZM Xi[`y`M>vY]wc]":uh>3,l(-P_0g qUS/2!P/wm(7JR
-[mh?u kjK38վJS(->^tDPq_]rp$s!;uڑ/Ӿ#:-ljk76' |1nԄ&nӏ#^eu@"z=$fS>ZuY<z*+H.CY3 CMʮV<)nVd ) =:eC@⺩gAbYAjV7T?TH顂=MrCjvd<L
-Kb<&4pԅM?|)XJt q*CCU?O<S<N\?E$S+I0V?IAp[\(nh@@XJǤn YNKڒŃ)ۧLLT_Mύy꾶fv<JHQC]ou/i<, )i Ц_LSDrDiZXMyhm0כ<ѯl+i޿rÑYU7NzP]#i^huaюXLp{P?S /o1C-[;S=nkK?0&H
-x&~)JI9Ix葔$Ucx!{e0e%0S3Htř2 G^ÆH8F*v{˳p'
-
-endstream
+8037 0 obj
+<< /D [ 7991 0 R /XYZ 81.077 144.39 null ] >>
endobj
8038 0 obj
-<< /Type /Page /Contents 8039 0 R /Resources 8037 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+<< /D [ 7991 0 R /XYZ 81.077 133.431 null ] >>
+endobj
+8039 0 obj
+<< /D [ 7991 0 R /XYZ 81.077 122.473 null ] >>
endobj
8040 0 obj
-<< /D [ 8038 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 111.514 null ] >>
endobj
8041 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 100.555 null ] >>
endobj
8042 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 89.596 null ] >>
endobj
8043 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 746.914 null ] >>
-endobj
-8044 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 7991 0 R /XYZ 81.077 78.637 null ] >>
endobj
-8045 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 724.996 null ] >>
+7990 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8046 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 678.172 null ] >>
+<< /Filter /FlateDecode /Length 2963 >>
+stream
+xڵZK6WʇHoSq*M|ؚ6[*ıSBr<S p80aDFw+~+Ӌo^|&+I {%bX͢Un#7NV1I#+~% \1$J& 5C,YUEQmx~w8w{7%sS2!b_}v)C!/
+KkGalokESD'1eE Syih;e%R!hRVݹYʤb$V?}cEdz}(\IdɆ I}+$6oCY
+
+ͅ|=jdӜ'>I?#n8.o&/uZځU.w#Q; ^%DG'KSLHr"
+DۯPXӶ?aņ~;ڜ:g&\hˌe$a>hla{6۵ U\Ml{Շ%n?@u$HzEcs4鎭eh~?؟o7;>g͉sACqYRqrFU7k<[
+ι$81!vvJ 3,Ry!EOLZz5cf^Z9|&u=" V|(Ũ2>Cݦ S,W(`ǺD(q雤tmw M #1o.#v,*v\/ųY5DWgYP5`p0鐕&gJb=D
+\i7`|>-Gadv9ټjܱtѴ]nᒂEeSp
+ڡ>^N CcM wܽu.BjgWvДg ޠD!CN.DHh;
+H<t:4Y%[s_:QOGaې /qo-D$8>,HWFK
+t|k#E4Bq֜%w0b -9tb\axy]N0`FDg&RIb>V͌Xqk;Vq"Xղ#5JDV|}@+
+A3@1=ogyK'r^X}Dk=UX6+E9^]y㸀"7%Ej^c .| vrW4e(DB ryiل<`*;~wbq{WճJH%Kxey߷
+($e(<V jz˛ծ"Շt
+K<􌺐
+Tߝa!=*b %C5 =ik$9Xi-1Qclu7Y{vCmtkW"㛨B@a
+?޼SA^
+endstream
+endobj
+8045 0 obj
+<< /Type /Page /Contents 8046 0 R /Resources 8044 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7834 0 R >>
endobj
8047 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 625.37 null ] >>
+<< /D [ 8045 0 R /XYZ 78.37 808.885 null ] >>
endobj
8048 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 614.411 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 768.832 null ] >>
endobj
8049 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 603.452 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 714.037 null ] >>
endobj
8050 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 592.493 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 681.16 null ] >>
endobj
8051 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 533.713 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 670.202 null ] >>
endobj
8052 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 522.754 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 627.362 null ] >>
endobj
8053 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 440.065 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 616.403 null ] >>
endobj
8054 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 429.106 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 605.444 null ] >>
endobj
8055 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 418.147 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 594.486 null ] >>
endobj
8056 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 407.188 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 583.527 null ] >>
endobj
8057 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 396.229 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 572.568 null ] >>
endobj
8058 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 385.27 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 561.609 null ] >>
endobj
8059 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 374.311 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 550.65 null ] >>
endobj
8060 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 363.352 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 539.691 null ] >>
endobj
8061 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 352.393 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 528.732 null ] >>
endobj
8062 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 341.434 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 517.773 null ] >>
endobj
8063 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 306.565 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 506.814 null ] >>
endobj
8064 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 295.606 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 459.99 null ] >>
endobj
8065 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 284.647 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 407.188 null ] >>
endobj
8066 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 273.688 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 396.229 null ] >>
endobj
8067 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 262.73 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 385.27 null ] >>
endobj
8068 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 251.771 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 374.311 null ] >>
endobj
8069 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 240.812 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 315.532 null ] >>
endobj
8070 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 191.995 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 304.573 null ] >>
endobj
8071 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 176.055 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 221.883 null ] >>
endobj
8072 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 165.096 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 210.924 null ] >>
endobj
8073 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 154.137 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 199.965 null ] >>
endobj
8074 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 143.178 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 189.006 null ] >>
endobj
8075 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 132.219 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 178.047 null ] >>
endobj
8076 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 121.26 null ] >>
+<< /D [ 8045 0 R /XYZ 81.077 167.088 null ] >>
endobj
8077 0 obj
-<< /D [ 8038 0 R /XYZ 81.077 110.301 null ] >>
-endobj
-8037 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F26 662 0 R /F70 185 0 R /F20 186 0 R /F75 317 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 8045 0 R /XYZ 81.077 156.129 null ] >>
endobj
-8080 0 obj
-<< /Filter /FlateDecode /Length 3330 >>
-stream
-xڽn}"
-$&!5 7)4Ikb¥t
-sD 14y89+#0ߗV,`+En_YR!:nyn7X8B؀ͨ$*"$KIM7 HO
-26P6>@¶*Uo=_T1RP*# ug(ݮ啥jqR %_#YFۮɃloU]8؂s"OC;˟6eL-l̴\Χ0X1A<A6$Z-V 5(RJ ~G;'h˳a?8A<4
-Y;wa|,yF~Fl ‘DCF#.3 zd ˈNȀe1v
-S.FUf>4 '̦P")IHB47C`Odݲ(w5T9"%)Q*(dB>"@Hr|KcrznSv_f/-VyB2H٤VzR<U ?5QZPB=`ȡRO%ؗ& WDe
-y0XBlXdH>Lg,Ru<V10<j; Fz7a{oznj OfZ@cu"\ @+"
-(gh5EB B_'?hzValy MW=?3@@}MBz-4$-l#;
-ҝW*Cnw>QL@A;2 lɃB1K?A~<
-=>j!e.WYoEr>yc8޵錷h<ګuI"gPsR:]|=u Q16hָA| 6%Љ$\@H֍HGxR,>v1l9J
-Qu<@`<4x8 t)EEwg\3D}/0!-wȘ2 U"ND7/؇+udڹ I9ŕ'bʢ٣Қkrro9Xsmy9Ir|Cc]lP x^}"QvĤ4] X{MhcK$!n!aQX;_a,B@OL(_I_I*>ce:1"vPL34,$Ol߷>W<.ե Pa[W>9": OM䥣YWT`H.=OEpJt vjdʴDq.{ Ac:b /'m1WK_S,_O $Lm$dw!:f3}f$x~$8qfD4#.CJe]gGI6 UFPݑ3J<B2E- _!H@F$ Ⴥ
-3UԘF<fP:c)/|42ZjP7dCXi%=)IWnV@Ͼ68Y}rU݋~\* %Pa2^r$QVvYj]d@mi)Bn!|Jc=j1Ƙ@b%&ͧwu\U|r%e1sfIΓ)RP׷ULVeHÀxaLCt>g޴ RQx>bZXz:h&{l<*Ч+dV2YcgQ@?fzg,Ss=‡rd`<rrd84y ? T]=-ymJe^ǫ#|hνlo#lY&9p;&qsK݁/>-V<1޼^&riz'`=K[)4}`]O,'mo*z0ʉ^GXV]=Q]FtH@bE51%ԝw"$d
-endstream
+8078 0 obj
+<< /D [ 8045 0 R /XYZ 81.077 145.17 null ] >>
endobj
8079 0 obj
-<< /Type /Page /Contents 8080 0 R /Resources 8078 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+<< /D [ 8045 0 R /XYZ 81.077 134.212 null ] >>
endobj
-8081 0 obj
-<< /D [ 8079 0 R /XYZ 78.37 808.885 null ] >>
+8080 0 obj
+<< /D [ 8045 0 R /XYZ 81.077 123.253 null ] >>
endobj
-8082 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 689.131 null ] >>
+8044 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F26 662 0 R /F75 317 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8083 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 678.172 null ] >>
+<< /Filter /FlateDecode /Length 3224 >>
+stream
+xڽ[mo6"@&\ P~]Ple][IfsE _D#[ٶaErfH3do2wX_h _HLſg?<^PJgݪpu}uClqE죫+[U}׻Ms q3+=L*CZaJI@ìL"Ub
+!~{g"|?G?ɎDRX/q;aNN?NZn˖c lYQV,]Cz1+[7H躆f0Z
+`c!Έ6*SiSnwn'qaG gn\ʫ|?̪P?MvVYpVOrV QGPݯ*+Eɻ~u]ٴ@<%}mi޽XyW8q$XN1d5CB+$PG˄-Slp(do]4.cS\~s~- )drZP,>8 uF <MiXAiJ__{#x P`B}"w|_0SCҴ RE]Sd+3~(ĮaQ7MnmK]-꽫j
+K[ve7s[znp7G$'iwVU8kɬ+'=
+ܸRw4
+lk־Q|trypĶ!?Ff8(7eurSdz@D
+
+b@J`"_WpleO.ڳ56rEw"6fvuOI 2ҎJIGᄣZILQnFKW2-kx QvTYӟˊ}TcIJ@( pnTW06XgJf0Q0jW}M[EhM}TSBh%a86 XDIa?# 269sL6_cӖ'w(άdGce)1<oZ@ȭ!o|O Oolܸ*`OQ 0$zHnڢcNSM<2Gfx /o9߾SD8$P,I, ,O%?3t2Yٽ6?.eP T"T
+9*ӐiB=R 4%!ӄ`y `s0]Qk#WzJ!tkB֧Ӝ@Li3X hjS>3:vfzҷG])XvrZq|Q\[YogvC,-L31S:b8YZa
+|k3>vt!"xxDAxJ-99IwVwk㥅\ai6X^PjjaDzAъ
+mˢ+@75~(0 CkrgVW@1k e?
+cK g
+O@\ɆkQmO HVe{>㼱kOЦ$F%IziA,mƲL)M~TOcbtz4%16!&ÍYk#ФVw4k/(ٍGKWv3v"*7l~f%|Ƚ&G`A+6e71 ,u"TMf'7妨Z[7U: H0aG4p&\͠= !;8_CSX[DԾ-Feo#/%7YdfHh ~lyӼis/'߈kR;9Aaqų,aQU`jG> ?fy,R8@d,U/:~':fq|nا̥9)j^}O>;)A6k8h[oQA'n Tb a5D䑽Ab,.ftF\39ģ\k^M W).N5 Y5iN
+|Y jy1<llX;$!I2>(b}E-+Q:[UL.y0*prd7L*zÌLۈ<&71A !yٴ'K 6K.ىQ[d#]'Y?]a귻8`HӐ6߲v}69.ƭ[ ⰇbLFP-̩4/%7.zakOn/3`}D wPCq|*uf1&OڌG;5_tn[1\`\xr _J}2Ϳܿ?u
+endstream
+endobj
+8082 0 obj
+<< /Type /Page /Contents 8083 0 R /Resources 8081 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7834 0 R >>
endobj
8084 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 667.213 null ] >>
+<< /D [ 8082 0 R /XYZ 78.37 808.885 null ] >>
endobj
8085 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 656.254 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 754.884 null ] >>
endobj
8086 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 645.295 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 743.925 null ] >>
endobj
8087 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 634.336 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 732.966 null ] >>
endobj
8088 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 623.377 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 722.007 null ] >>
endobj
8089 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 546.665 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 711.048 null ] >>
endobj
8090 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 535.706 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 700.089 null ] >>
endobj
8091 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 524.747 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 689.131 null ] >>
endobj
8092 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 513.788 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 640.314 null ] >>
endobj
8093 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 502.829 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 624.373 null ] >>
endobj
8094 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 491.87 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 613.415 null ] >>
endobj
8095 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 480.911 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 602.456 null ] >>
endobj
8096 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 469.953 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 591.497 null ] >>
endobj
8097 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 458.994 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 580.538 null ] >>
endobj
8098 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 448.035 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 569.579 null ] >>
endobj
8099 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 311.547 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 558.62 null ] >>
endobj
8100 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 300.588 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 461.982 null ] >>
endobj
8101 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 289.629 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 451.023 null ] >>
endobj
8102 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 278.67 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 440.065 null ] >>
endobj
8103 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 267.711 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 429.106 null ] >>
endobj
8104 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 256.752 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 418.147 null ] >>
endobj
8105 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 245.793 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 407.188 null ] >>
endobj
8106 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 234.834 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 396.229 null ] >>
endobj
8107 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 223.875 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 319.517 null ] >>
endobj
8108 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 212.916 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 308.558 null ] >>
endobj
8109 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 201.957 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 297.599 null ] >>
endobj
8110 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 190.999 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 286.64 null ] >>
endobj
8111 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 180.04 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 275.681 null ] >>
endobj
8112 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 169.081 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 264.722 null ] >>
endobj
8113 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 158.122 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 253.763 null ] >>
endobj
8114 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 147.163 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 242.804 null ] >>
endobj
8115 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 136.204 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 231.845 null ] >>
endobj
8116 0 obj
-<< /D [ 8079 0 R /XYZ 81.077 125.245 null ] >>
+<< /D [ 8082 0 R /XYZ 81.077 220.887 null ] >>
endobj
-8078 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F75 317 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F78 556 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+8117 0 obj
+<< /D [ 8082 0 R /XYZ 81.077 84.398 null ] >>
endobj
-8119 0 obj
-<< /Filter /FlateDecode /Length 3046 >>
+8081 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F73 189 0 R /F69 183 0 R /F20 186 0 R /F75 317 0 R /F76 318 0 R /F78 556 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+8120 0 obj
+<< /Filter /FlateDecode /Length 2636 >>
stream
-xڭZo6߿"Eq Y~aQම>,^>،[YI&ifHJe6b$7Cћ }ӛd+ysAa7:#BhUnww&dSwyg,;EXF4!ӜYBccZSaK rVTm 63ϪvCpdڏ=*#e|A)Y6! s+۝xto^.ǻ/wm^dq qmۼڸNNG&rDBt݊mu嚬y )|cg$AA2ZHLdRET$-Y^])U4P NYH't*. gl`E_NJ%2~/6ު}[?_TrߚO&;^`ɣY.'|n1Yp<Ej *lHQdV}~ nP|ٷV \[t :5w*Y)RJ{IY(`MC~Kۢ9V@ŁΛƙ<3܏f{PRE=<A6[ |4~)ɍa5UG yu=]
-#`<d+YS4ю?тfx_pr-Jc!D _׆(уukCYRij1W_h$%wu CQX%
-1
-ZGlͥ& !iͪ[`YV 9(t dAY&%$ j,-{fJ@έcjLm3bƨg&ݚb!9%Vϻa[a @~Df
-Â N`זA< ({ґ/Vͦ!wc>P =!T 4gSEd&q*5pN]Dƀ[ƯX)2/_gߞW8S09@}[_hh,RW\A4]m>J ݿ'{3Fa^g8ࡨ1 $Sio.^-7?%8% S|&l? hIٱ
-Q8.7^VL@نKq_4q2īT~1q%O&k
-B x]WJw-u{,JgUek"_ӋA)ARnӎnI xs1QB{x}7  I
-WI)K=c1e!<d*3-*1IITIEq=F 2e d+is 2xYtF\GT} 5߬|lh 9o2Fw
-b{bliXl>5k83Ό&yO>p cFD%
-
+xZm۸_⮭ DJ
+)8,iYJrvΐ,j^+w@$Dp:7{Go>\yQ$I]o0XDgl+iUlv<,֋_Jf1I1FBGG:8#JegsJHBOLȼl׻b~ܭ߿_Uy}S=ad"!Le2 eͺ1Zf. ߕGЛ<ZX7XvzvdH=v&t;]xvB"
+Q&munjΪY붘 *•JzTAu(&"Cj#CZ_^V3X,IL^Liԏ CC=4fh޽?MFM9 ~ RߊQq"Eg5 z|Iw$*;{o(bD{'zGCK9IXzO8R?S]ݯka3SxQ>4:zdC_|DIA8\r@=l?M䳣ZgIG@y.+LZKs&É#yOGLE@5ê /]>O$vVƻ8ȒY(C:!8 :UZp=X(㋁(ܨ &Y[,y<5TuM*S$g
+<{;\BQik@5B
+'EA-4ׂO0W&<<D$#Ntk ;[B(hnnCqH*B>}?Xg}!nZCÅ+GQ18'J "ɶYe=/+Ҧ9sT4nrs)?D#8_Ht2&d`c٨'5=j̷kk?O)VsxR]P:7X YWuп<ꬫt3o Pu,Xi u_U/]@?n 8p5E"9B.{A389k/
+SHIm =Wy6zBӺU.o6H! P]^ys ?菥
+ep9<oM?g/( &`\$xHjdylwRWK8+TӹfD|m)?fYuU jA"֥A%Z/OQЂþA-.ě|[^V: ʬ)Qjd/"tgt_qr>tSSwMr_D?2q'Pw_SWr3/"SqxI!%M'l}|’(w.2*6z\eE8λ- pos6y;¼Ξ;U$=T &yYItL+W't֖}_[D9X?!X1P0ɼ/Hqi2Rá QG$Z{4y5~w5!{PlpbЎ3Cǭouu9-u.I^9"(aqߊnG0
+RFn]`ʉFDBqf[t>7P]%HL]1@|_9%|%H_ao'
+F-9oO/1r^Ne"Lwuw
+K!}yai /j݃`mhKZm0Nozz愫d A<s6ЧSye-,dO"(
+%=#uɤb¦#(zń=G8͔%K/xɯ$.S37 8
endstream
endobj
-8118 0 obj
-<< /Type /Page /Contents 8119 0 R /Resources 8117 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
-endobj
-8120 0 obj
-<< /D [ 8118 0 R /XYZ 78.37 808.885 null ] >>
+8119 0 obj
+<< /Type /Page /Contents 8120 0 R /Resources 8118 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7834 0 R >>
endobj
8121 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 742.94 null ] >>
+<< /D [ 8119 0 R /XYZ 78.37 808.885 null ] >>
endobj
8122 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 731.981 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 768.832 null ] >>
endobj
8123 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 721.022 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 757.873 null ] >>
endobj
8124 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 656.288 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 746.914 null ] >>
endobj
8125 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 645.329 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 735.955 null ] >>
endobj
8126 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 634.37 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 724.996 null ] >>
endobj
8127 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 581.591 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 714.037 null ] >>
endobj
8128 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 570.632 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 703.078 null ] >>
endobj
8129 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 559.673 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 692.119 null ] >>
endobj
8130 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 548.714 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 681.16 null ] >>
endobj
8131 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 537.755 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 670.202 null ] >>
endobj
8132 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 526.796 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 659.243 null ] >>
endobj
8133 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 515.838 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 648.284 null ] >>
endobj
8134 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 504.879 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 637.325 null ] >>
endobj
8135 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 493.92 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 626.366 null ] >>
endobj
8136 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 482.961 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 615.407 null ] >>
endobj
8137 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 454.092 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 604.448 null ] >>
endobj
8138 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 443.133 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 593.489 null ] >>
endobj
8139 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 414.264 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 528.732 null ] >>
endobj
8140 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 373.44 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 517.773 null ] >>
endobj
8141 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 290.796 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 506.814 null ] >>
endobj
8142 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 279.837 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 442.057 null ] >>
endobj
8143 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 268.878 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 431.098 null ] >>
endobj
8144 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 257.919 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 420.139 null ] >>
endobj
8145 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 246.96 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 367.337 null ] >>
endobj
8146 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 206.136 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 356.378 null ] >>
endobj
8147 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 195.177 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 345.42 null ] >>
endobj
8148 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 184.218 null ] >>
+<< /D [ 8119 0 R /XYZ 81.077 334.461 null ] >>
endobj
-8149 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 155.349 null ] >>
-endobj
-8150 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 144.39 null ] >>
+8118 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8151 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 133.431 null ] >>
+<< /Filter /FlateDecode /Length 2376 >>
+stream
+xڽZo8_C4,?Cpvva(*[>Yn P(RIe3H$pf~Cz`dh820:{C`H5S ,f;}(zQFFJc0Q
+Q:B"/C.]]__\
+*֟zyxaq}ɋt>`y
+hK
+o
+@9/Ur=l~G~uRENR# DcR;.zdl_@JW:ϯb N#8̗K]hf3nGRv?9n*dfRPI':${.ۢ-O
+8ϐFJWKED,JC;p@T2'XXlgV B
+נ*A S,8%Xj
+uo8NnnW
+Kw} c皌1f08NǪh“BeBA#I2b.֍[sqMrec7b]N %@Slvf\"Cff8+3'hm[lo>. 1GI&H5Ag_qѬS|?IW;0S>ĞnÍ˻H6q,>:A? ]*.ZuorISN?
+qISj`t9}.e]+înC}Œu)DjFɸ3|퉾ѕ\,`d`7y
+#*;O7p~p<4 Hձ g *b*h
+1M^D)4%(2-{ȑ6;72IiX׌o+;^/'hd|]ϪW ##^hJ [k5|l&]UfϤo[>EXTWHBG^. 3d ׻rݲ+KF'F#Ol=Q5Mq
+3[ɮ5yWwr^;$SY9**S %g"5)3xɊm,~Uf5?|j8 K_?DPN ]@mޤEAYϿȐP:EI&AtzfQe,`QBvd+.2"9gyANv֦LTw{:[5T",|;,AI!5l[zb.WUy:W㮦2JSpe^
+Q Wyc[-D8$.#wR+֢tE 7YĔϩcT}n wknumOmNܠSTy3T✥l-C}yVtG@&$^0J"A篟jY{>AMޱ^W<4_K$H`{!ў?$v6ͪ]狈4h$.<rْ5GZyI1$=Ex)a^`"cdz'2e޼?j
+endstream
+endobj
+8150 0 obj
+<< /Type /Page /Contents 8151 0 R /Resources 8149 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7834 0 R >>
endobj
8152 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 8150 0 R /XYZ 78.37 808.885 null ] >>
endobj
8153 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 768.832 null ] >>
endobj
8154 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 757.873 null ] >>
endobj
8155 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 746.914 null ] >>
endobj
8156 0 obj
-<< /D [ 8118 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-8117 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F73 189 0 R /F69 183 0 R /F70 185 0 R /F76 318 0 R /F46 176 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 8150 0 R /XYZ 81.077 735.955 null ] >>
endobj
-8159 0 obj
-<< /Filter /FlateDecode /Length 2078 >>
-stream
-xڽZ]o}ϯ0PP Wݢ}ȓ߶rIE"mW(S$g4ΜΞf췛t%Ҵo7o>~LSf IrEf$Ut6ξ$c~D+L ZBߓ-SBSesD Pp1MxNR.fy{'Lg[7|4,'4^;9M;X0F[?S=
-*Ήڿ .9EhlƈM!D19.5EK)8?'iJI2SF˖&Y#8t<FOɊ2$sQIpiҤܻFݧL
-ٯܖ1O(7}iT%g$"7cn"̼xJ}* @!rs 2񙝨JJn|h;'Y TFƵ2}L'˶OvF}R_nm)I\}9J%1hv3P91laS{ޒ@Kꓗ8;DHiRz E! "[;K!$hdLD T6bQWtӦAkA8B3iE?'fB |8bJ LVVD/p3PFFhlEqggjQp
-; Z55CHS-DCqU0X;qU,ր<G'ҁ3Q)"(RFD|:ylǰ7G<:Zo6
-DeB1L7qfVg]SY
-x Ծ’B`mvߠPQ7퉀UJNf8B4~O8| 96h5wQ5avѥ76-zbxtd҈*hZ( xx(.hlw.>G) aqY{FFOWM쇂Ad,W+р= A?' g]O`f`ɲڙoZ@znjq i-H<Wڊ7~o=7>+ePK-`nx]U/VGݦ^]y÷;ǶAU!MܕpebeglG!MĤLLśRˈ᝘Mc1};CbFӂ0#Ia<85lTBmR|Q2=uzxrhO8+D_ѤqE
-endstream
+8157 0 obj
+<< /D [ 8150 0 R /XYZ 81.077 724.996 null ] >>
endobj
8158 0 obj
-<< /Type /Page /Contents 8159 0 R /Resources 8157 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+<< /D [ 8150 0 R /XYZ 81.077 714.037 null ] >>
+endobj
+8159 0 obj
+<< /D [ 8150 0 R /XYZ 81.077 703.078 null ] >>
endobj
8160 0 obj
-<< /D [ 8158 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 692.119 null ] >>
endobj
8161 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 681.16 null ] >>
endobj
8162 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 670.202 null ] >>
endobj
8163 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 659.243 null ] >>
endobj
8164 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 648.284 null ] >>
endobj
8165 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 707.063 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 617.4 null ] >>
endobj
8166 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 696.104 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 606.441 null ] >>
endobj
8167 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 685.146 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 577.549 null ] >>
endobj
8168 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 674.187 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 536.702 null ] >>
endobj
8169 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 663.228 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 454.012 null ] >>
endobj
8170 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 652.269 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 443.053 null ] >>
endobj
8171 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 641.31 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 432.094 null ] >>
endobj
8172 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 630.351 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 421.136 null ] >>
endobj
8173 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 619.392 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 410.177 null ] >>
endobj
8174 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 608.433 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 369.33 null ] >>
endobj
8175 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 597.474 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 358.371 null ] >>
endobj
8176 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 556.627 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 347.412 null ] >>
endobj
8177 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 545.669 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 318.52 null ] >>
endobj
8178 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 534.71 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 307.561 null ] >>
endobj
8179 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 523.751 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 296.603 null ] >>
endobj
8180 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 512.792 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 285.644 null ] >>
endobj
8181 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 501.833 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 274.685 null ] >>
endobj
8182 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 490.874 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 263.726 null ] >>
endobj
8183 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 479.915 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 252.767 null ] >>
endobj
8184 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 468.956 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 241.808 null ] >>
endobj
8185 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 457.997 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 230.849 null ] >>
endobj
8186 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 447.038 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 219.89 null ] >>
endobj
8187 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 436.08 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 208.931 null ] >>
endobj
8188 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 425.121 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 197.972 null ] >>
endobj
8189 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 360.363 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 169.081 null ] >>
endobj
8190 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 319.517 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 158.122 null ] >>
endobj
8191 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 308.558 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 147.163 null ] >>
endobj
8192 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 297.599 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 136.204 null ] >>
endobj
8193 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 286.64 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 125.245 null ] >>
endobj
8194 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 275.681 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 114.286 null ] >>
endobj
8195 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 264.722 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 103.327 null ] >>
endobj
8196 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 253.763 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 92.368 null ] >>
endobj
8197 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 242.804 null ] >>
-endobj
-8198 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 231.845 null ] >>
+<< /D [ 8150 0 R /XYZ 81.077 81.41 null ] >>
endobj
-8199 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 220.887 null ] >>
+8149 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F46 176 0 R /F23 660 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8200 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 209.928 null ] >>
+<< /Filter /FlateDecode /Length 2062 >>
+stream
+xڽZKoW(
+(@wvUvm!(ƶ [i{(Ri{\qfp71E9:/~G
+=+<"aG>|RlƑфMxFfZ"ILI$BQa-43L`" Sglt-4&5KNO @1D@
+D E*FʖFdM1SMyiu ?O6[#4byh󡾭uPb[xVyMR8D+dׯrvw7~~^>
+xI9M_En_ۗz?W޿v|Xntf+1ގ~>RzuF鳈Y1%8 O5F˦ ̓<" F©p^}l_̋\ՄAHj ;U5R8UENo (Oz&tMD=2
+ XiªK^ڍ@`dE7l2aM.^@0U?UupmKT]o- L#mȆV\(Oe!>f6mWu&BHK"cr!}rj<zt®p+Dmaz]rhTma'Wɑ?XB;cUYND #bMnT]ˋ=:A8ͶEQ#d_EȘ'DE1R`ݳYݏIxxlPr80aUܥʨKC*}*]Mmoy]оvtSW=+aMW,\O$mW9nn[Ȑ/G
+͔fYmaեwqa}MZe_[ܝKdiDqlf$Y#A.^ZdU/{t$pV")hDY{z`=_9z:YD"z4=+9y\E =O Z,=\;sUK NIG-N3ix'vr%/:a; 6+j[7onv6v*¿uv<,Q59j޷g!
+S1Q'"?B^~+ppg룡DGq%Ii4Y4<-*SE&NI;xػQ߷s"o*z)b?,:'%q38bJooHQ_ A!t$׻}QovYYx6yAӗͲAMx{}~P(8<BJc8#BR$v꾆IR!͙ߕ$E[38GLpPXoc@:l3\AUH)DCUkYlDOLD=UzFBkl& M{ re&B}5:18_4Sh|6_.x0* zRy\* 2M$>1:?1 fm@(yЃg>.5dE2Y1q
+c brf?j @К
+endstream
+endobj
+8199 0 obj
+<< /Type /Page /Contents 8200 0 R /Resources 8198 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7834 0 R >>
endobj
8201 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 198.969 null ] >>
+<< /D [ 8199 0 R /XYZ 78.37 808.885 null ] >>
endobj
8202 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 146.167 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 768.832 null ] >>
endobj
8203 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 135.208 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 757.873 null ] >>
endobj
8204 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 94.361 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 717.026 null ] >>
endobj
8205 0 obj
-<< /D [ 8158 0 R /XYZ 81.077 83.402 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 706.067 null ] >>
endobj
-8157 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8208 0 obj
-<< /Filter /FlateDecode /Length 1816 >>
-stream
-xZKo6W60P`@m9u Aq]Gr%evCJEjC/D gg݌ޝI^0b&LNtfVhFfosõY~Kv3KŽLJN7)e8W\ƻ͛zS>4}ANHRQ(ZiZ*Ac)ZpIei
-3sa(}`O&\(OmqBhol\aNAMTCLS1"KџҽtCK|{e=6rĠQ>keP|8<EANB1/Ys"E$HQ'#D4g1n,(L/#HQjGcWr
-DHE j -Cdf'Hi"AZ" He1
-0^-Q Kli$H;$282ҞHΜR3>Y|0EC7k#Gډ, qNJh.P0D~UO [b<k7acqDh@3lxRy{_3߬{n]We顁1JNՅYK( H4j/u8G1(8g?M\=>x@WmUw<`zwUmjowC *ztrǭ.&ifzT\kD}\$ T$>.CCqڅo
-K,;X';^h=Trg1M^bbH#ʩ8uAnh0g "Q$p<Yy--$D0\)2xe"Gm7 fLCM/R8A
-bx".KOx_I^C˽plY{e, ˏ L{)utWpI]^ΈTN>F)*.N* c07 - ;ho]g FKU㝋 IЏWg
-endstream
+8206 0 obj
+<< /D [ 8199 0 R /XYZ 81.077 695.108 null ] >>
endobj
8207 0 obj
-<< /Type /Page /Contents 8208 0 R /Resources 8206 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 7831 0 R >>
+<< /D [ 8199 0 R /XYZ 81.077 684.149 null ] >>
+endobj
+8208 0 obj
+<< /D [ 8199 0 R /XYZ 81.077 673.19 null ] >>
endobj
8209 0 obj
-<< /D [ 8207 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 662.231 null ] >>
endobj
8210 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 651.273 null ] >>
endobj
8211 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 640.314 null ] >>
endobj
8212 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 629.355 null ] >>
endobj
8213 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 618.396 null ] >>
endobj
8214 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 607.437 null ] >>
endobj
8215 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 596.478 null ] >>
endobj
8216 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 585.519 null ] >>
endobj
8217 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 520.762 null ] >>
endobj
8218 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 479.915 null ] >>
endobj
8219 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 468.956 null ] >>
endobj
8220 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 457.997 null ] >>
endobj
8221 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 447.038 null ] >>
endobj
8222 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 436.08 null ] >>
endobj
8223 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 425.121 null ] >>
endobj
8224 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 414.162 null ] >>
endobj
8225 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 403.203 null ] >>
endobj
8226 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 392.244 null ] >>
endobj
8227 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 381.285 null ] >>
endobj
8228 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 370.326 null ] >>
endobj
8229 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 359.367 null ] >>
endobj
8230 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 306.565 null ] >>
endobj
8231 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 295.606 null ] >>
endobj
8232 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 473.938 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 254.759 null ] >>
endobj
8233 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 462.979 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 243.801 null ] >>
endobj
8234 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 452.02 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 232.842 null ] >>
endobj
8235 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 423.128 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 221.883 null ] >>
endobj
8236 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 412.169 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 210.924 null ] >>
endobj
8237 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 401.21 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 199.965 null ] >>
endobj
8238 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 390.251 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 189.006 null ] >>
endobj
8239 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 379.292 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 178.047 null ] >>
endobj
8240 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 368.334 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 167.088 null ] >>
endobj
8241 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 357.375 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 156.129 null ] >>
endobj
8242 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 346.416 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 145.17 null ] >>
endobj
8243 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 335.457 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 134.212 null ] >>
endobj
8244 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 324.498 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 123.253 null ] >>
endobj
8245 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 313.539 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 112.294 null ] >>
endobj
8246 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 302.58 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 101.335 null ] >>
endobj
8247 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 291.621 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 90.376 null ] >>
endobj
8248 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 280.662 null ] >>
-endobj
-8249 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 249.778 null ] >>
+<< /D [ 8199 0 R /XYZ 81.077 79.417 null ] >>
endobj
-8250 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 238.819 null ] >>
+8198 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8251 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 227.86 null ] >>
+<< /Filter /FlateDecode /Length 1941 >>
+stream
+xZo6_a W& (z]PzGIؒOR>2%^}ؗ 3䳇Y>"=t#74 b lvsAaQ>3z%?湚+egX ?/%CCf-yr⹫ã @.qeNhqiՌH%THڜFZr,MxjDmO1M5aLh4,'pLW<l]=<CV hS*2JO)#5FDږH)A;I~-~yE)1kK869j*+7zamjnؙvZc2;~j əJ1٦3~;Gcq~I^W]` '~7m2mMˬ\M@ ,5
+p)%/8'F"\5)=NEBt)iSQ)ny#{%Km`RNe73?e@*<, wT*YXvaقɪmUޅQYȺiarU=6{uYLp$)ۦn?.rn(R9Ahq:wlpֿ7wWov@zR!kn`ۇ%<>̍[te=_y?sXQFV@ws[lڶ^wM}\:o|)o8_{pbI7qJx\-A+sś2vt릜Nx lϛoxr1-?TFZ))zu/p%\CLyL19EΪ&m|ذuw~,]ڽlbcG~t6KmPbTBI,A;6ͺX/o˾*h!j3*L^4İSy(St*Y'! }I?=1.C9\
+bPQ:0cmW}5d\g SzFyʸ^7͸BP[qoz-]Χvឧ eŔk$wM5sgeߠr3IfB>WmЗ!EA2\8ۨ֫
+?%f$-7}-+W 9tnjtF
+&1-jWwɄcV4!Saar 1e }?R% cUU zW? F3#d*2cQ1'A <+9;EǵpF53)Q"du%ruvq] ;kK EJ\[n
+"MW
+endstream
+endobj
+8250 0 obj
+<< /Type /Page /Contents 8251 0 R /Resources 8249 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8304 0 R >>
endobj
8252 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 216.901 null ] >>
+<< /D [ 8250 0 R /XYZ 78.37 808.885 null ] >>
endobj
8253 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 205.943 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 768.832 null ] >>
endobj
8254 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 194.984 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 757.873 null ] >>
endobj
8255 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 184.025 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 746.914 null ] >>
endobj
8256 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 173.066 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 735.955 null ] >>
endobj
8257 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 162.107 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 724.996 null ] >>
endobj
8258 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 151.148 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 714.037 null ] >>
endobj
8259 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 140.189 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 703.078 null ] >>
endobj
8260 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 129.23 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 638.321 null ] >>
endobj
8261 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 118.271 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 627.362 null ] >>
endobj
8262 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 107.312 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 616.403 null ] >>
endobj
8263 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 96.354 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 587.512 null ] >>
endobj
8264 0 obj
-<< /D [ 8207 0 R /XYZ 81.077 85.395 null ] >>
-endobj
-8206 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 8250 0 R /XYZ 81.077 576.553 null ] >>
endobj
-8267 0 obj
-<< /Filter /FlateDecode /Length 2575 >>
-stream
-xZKo80pd`>,rY$ؒG4OI=j{v!(~b~A?͛?|\s-7wo| 09fa4#Ta?lsܵ ܵo!tqW7]y]zKhm3A#[:܋Uw!0-ǫ 7´Wp{jeo*VW.3:[>ٺmb۩i7 ώ
-*DJ?!Y7įmŜWE#BBeQb!I1L̀Y6m~~E"ڔ_f]i7ݮ>˫kŕky}[5,tJfKbٱ,.c1"џi3Az2ڜQ"({/զLfrbgF]ƌ)?{-ݯAGt]Ove>5vqrs8S3o,_RsF2ٯV'v 2Qe$m\ᱨX ܼz=Jx_4-ӳp4di-H+Z iDxr&vVo!-3B2v
-{~MrrCa^K*wVFAhSI6OT6a/-+L\Nd% Je앬=']sv ._Fh&c#.~zt46S
- cy0ޝVcHɁ0?FTxB2b- [ {wn3N 5x8 ?N*;`y<[5/HHnxqL}vь޹tth
-9w&¸hc4`;u5ۗ.
-60dEFNcpJ̗q*`'whjY<E_(њQx~ ՄC_ ȧPQ]
-kN,L#"nɢ8TC/'WB\t`U8Cf:_f!hls
-7#xpZ
-E6`}CV{mD_?3pZ)tѸb~fĕ\p~!"Rއ8A 3:}DSqb*(gtO[PEjc祇Ru?69ML͟j
-endstream
+8265 0 obj
+<< /D [ 8250 0 R /XYZ 81.077 565.594 null ] >>
endobj
8266 0 obj
-<< /Type /Page /Contents 8267 0 R /Resources 8265 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+<< /D [ 8250 0 R /XYZ 81.077 554.635 null ] >>
+endobj
+8267 0 obj
+<< /D [ 8250 0 R /XYZ 81.077 543.676 null ] >>
endobj
8268 0 obj
-<< /D [ 8266 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 532.717 null ] >>
endobj
8269 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 743.447 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 521.758 null ] >>
endobj
8270 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 732.488 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 510.799 null ] >>
endobj
8271 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 721.529 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 499.84 null ] >>
endobj
8272 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 710.57 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 488.882 null ] >>
endobj
8273 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 699.611 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 477.923 null ] >>
endobj
8274 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 688.652 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 466.964 null ] >>
endobj
8275 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 677.693 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 456.005 null ] >>
endobj
8276 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 666.734 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 445.046 null ] >>
endobj
8277 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 655.775 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 414.162 null ] >>
endobj
8278 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 644.816 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 403.203 null ] >>
endobj
8279 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 633.858 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 392.244 null ] >>
endobj
8280 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 622.899 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 381.285 null ] >>
endobj
8281 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 611.94 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 370.326 null ] >>
endobj
8282 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 600.981 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 359.367 null ] >>
endobj
8283 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 590.022 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 348.408 null ] >>
endobj
8284 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 579.063 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 337.449 null ] >>
endobj
8285 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 568.104 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 326.49 null ] >>
endobj
8286 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 557.145 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 315.532 null ] >>
endobj
8287 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 546.186 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 304.573 null ] >>
endobj
8288 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 535.227 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 293.614 null ] >>
endobj
8289 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 524.269 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 282.655 null ] >>
endobj
8290 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 513.31 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 271.696 null ] >>
endobj
8291 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 502.351 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 260.737 null ] >>
endobj
8292 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 491.392 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 249.778 null ] >>
endobj
8293 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 480.433 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 194.984 null ] >>
endobj
8294 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 469.474 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 184.025 null ] >>
endobj
8295 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 458.515 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 173.066 null ] >>
endobj
8296 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 447.556 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 162.107 null ] >>
endobj
8297 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 436.597 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 151.148 null ] >>
endobj
8298 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 425.638 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 140.189 null ] >>
endobj
8299 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 316.167 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 129.23 null ] >>
endobj
8300 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 305.208 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 118.271 null ] >>
endobj
8301 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 294.249 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 107.312 null ] >>
endobj
8302 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 283.291 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 96.354 null ] >>
endobj
8303 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 272.332 null ] >>
+<< /D [ 8250 0 R /XYZ 81.077 85.395 null ] >>
endobj
-8304 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 261.373 null ] >>
+8249 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-8305 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 250.414 null ] >>
+8307 0 obj
+<< /Filter /FlateDecode /Length 2471 >>
+stream
+xZK8WE L360@0f0{ȩo3CmݞؖG;oI=8,>(X/|뫼#_^y؂)+w(Lt%T-$tqwX)&͟wzN&FJ`*4aF?(/3b[|м!c[Qlzvj';w޿Gn ^`U>'oB9k.tڅ&T̯@ĂtT=mz"'խگvw3ljLRLi?ҖF6!^Eh#r}LfEs¸YI:MRMR*>߭H~ >X$QBաlWm-\>p{c"4r\pF{')bBN?,J NJAM?%Da<1sE$]iG>F'wHR_2CQT$ӥ8QA8SwJOL)aDhO;j c29&
+[vi]; r.Єͮݡ&1Zx{;YapA5_ +>`wC'w4m}^h)e]H'
+ȬyPv^=/ĦM]>
+ |H~DX> 4e%%ؼY ;cdk ^C
+K~p}hC>ǟn{=f^;9/=!{*wu3/($-4ƽPd )19>߂;Bwﯧs7YAPL<qD!!p^z61T䘤 4d1V.|V8`&Zﵘ@98bl`e\{]|
+k!I.QazER[(B;îiuoc
+13`Xt0|@<ځw )xʒ Զ9z#U]?WbĒh.P2^QCF˴sCv52)U15F&JJZ:`
+Ch}eA4=B 6[W}i벮@1p&3eMl0<$y܄,Q|W>?$n
+eN, \` rݸ^@NPy!ܰwz,aǃm^ZM}D/
+͕uvsiش/s}Bz"azlޖGz:UM>ؿ3ysP1ףFmn76 ӏHWS<Ri
+2`pޗ'FQ{dA 1i)xvu07%yL0"!~1<'L}i?O_
+) ωQE'1ݫ
+endstream
endobj
8306 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 239.455 null ] >>
-endobj
-8307 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 228.496 null ] >>
+<< /Type /Page /Contents 8307 0 R /Resources 8305 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8304 0 R >>
endobj
8308 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 217.537 null ] >>
+<< /D [ 8306 0 R /XYZ 78.37 808.885 null ] >>
endobj
8309 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 189.681 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 768.832 null ] >>
endobj
8310 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 178.722 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 757.873 null ] >>
endobj
8311 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 167.763 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 746.914 null ] >>
endobj
8312 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 156.804 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 735.955 null ] >>
endobj
8313 0 obj
-<< /D [ 8266 0 R /XYZ 81.077 145.845 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 724.996 null ] >>
endobj
-8265 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F76 318 0 R /F73 189 0 R /F69 183 0 R /F20 186 0 R /F26 662 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+8314 0 obj
+<< /D [ 8306 0 R /XYZ 81.077 714.037 null ] >>
endobj
-8317 0 obj
-<< /Filter /FlateDecode /Length 1593 >>
-stream
-xZMo8W%9>=ช-ԶҴВ)2u5m)O>ywƏG~wfvꭕż)&3&0vb 0n`2L_XiٟqWo8捑.C@+?T7u.J }(^.rV}YuYP q՜UpάQ9aΗžwmwuٝ>T3P2Mсݾd1pqa\?A?ceBFfʊ_~ۺ^P]?v7ƽ6{rˮ7z7#yr0aLM.E?tzM 3Ex$q&")&-v>V29֤3sT"Rl8n62O9z=$pfwgJ&1i=hrtނx z&1r*QX^\\̛Țl+ u2:hˬ9#A_n㠂?7.Z.1O`Nk^7}p ꂧk&$ÁeqZr!eh:"ŴT99[Zu.Dp.n.WOː'3@Xc6~W.ګy̿a)t"H<7(վpLۺY4Шbq@ڊ k$ήltnd(NHJHgْy{K$OCnx S?U⟲Mk6LP`XjgsEq+3)sFy*zDK֟Kzp,2{ -:Α MWGP{RG{PV9mj)7; e
-SUIZӊR-v; x/I/g
-~adiH%&IUd>C"!Sc{kRRQoHE?C_ިޒ: M^藢*G Mm z@rZhzlGqR|#@$c\TMyc}{t_mS iSBE7AO3E_U@{qak3|NV1t>/մolA$z$' „.C>ؖŮ[Xn;XE.TmnC]>ߪ?ÜqR)܎I좌GV<To|stX}wݵE발в}Q
-DIq24yxؚkn^SZh.lah<RCj7mVie9Y:kn4)_见{deTx(TTHӘ$;5Ϗ=6(i$SuS2
-!
-!hr`^$DmI*
-endstream
+8315 0 obj
+<< /D [ 8306 0 R /XYZ 81.077 703.078 null ] >>
endobj
8316 0 obj
-<< /Type /Page /Contents 8317 0 R /Resources 8315 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+<< /D [ 8306 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+8317 0 obj
+<< /D [ 8306 0 R /XYZ 81.077 681.16 null ] >>
endobj
8318 0 obj
-<< /D [ 8316 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 670.202 null ] >>
endobj
8319 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 659.243 null ] >>
endobj
8320 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 648.284 null ] >>
endobj
8321 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 637.325 null ] >>
endobj
8322 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 626.366 null ] >>
endobj
8323 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 615.407 null ] >>
endobj
8324 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 604.448 null ] >>
endobj
8325 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 593.489 null ] >>
endobj
8326 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 582.53 null ] >>
endobj
8327 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 571.571 null ] >>
endobj
8328 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 458.994 null ] >>
endobj
8329 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 448.035 null ] >>
endobj
8330 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 437.076 null ] >>
endobj
8331 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 620.415 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 426.117 null ] >>
endobj
8332 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 609.456 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 415.158 null ] >>
endobj
8333 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 581.588 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 404.199 null ] >>
endobj
8334 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 570.629 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 393.24 null ] >>
endobj
8335 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 559.67 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 382.281 null ] >>
endobj
8336 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 548.711 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 371.322 null ] >>
endobj
8337 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 537.753 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 360.363 null ] >>
endobj
8338 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 526.794 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 331.472 null ] >>
endobj
8339 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 515.835 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 320.513 null ] >>
endobj
8340 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 504.876 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 309.554 null ] >>
endobj
8341 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 493.917 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 298.595 null ] >>
endobj
8342 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 482.958 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 287.636 null ] >>
endobj
8343 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 471.999 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 210.924 null ] >>
endobj
8344 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 461.04 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 199.965 null ] >>
endobj
8345 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 450.081 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 189.006 null ] >>
endobj
8346 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 439.122 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 178.047 null ] >>
endobj
8347 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 428.163 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 167.088 null ] >>
endobj
8348 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 417.205 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 156.129 null ] >>
endobj
8349 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 406.246 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 145.17 null ] >>
endobj
8350 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 395.287 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 134.212 null ] >>
endobj
8351 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 384.328 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 123.253 null ] >>
endobj
8352 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 373.369 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 112.294 null ] >>
endobj
8353 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 335.592 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 101.335 null ] >>
endobj
8354 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 324.633 null ] >>
-endobj
-8355 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 313.674 null ] >>
+<< /D [ 8306 0 R /XYZ 81.077 90.376 null ] >>
endobj
-8356 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 302.715 null ] >>
+8305 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F26 662 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8357 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 291.756 null ] >>
+<< /Filter /FlateDecode /Length 1832 >>
+stream
+xZo6~_a` ˟"i`@Q`baEm!IJ4$x)>;3t/p}, Or:c3m30B6ܸrq!-;Y^
+䩁Dʪ@O[gJ-T *p6@sQW宿? SrI&CvՏ'9 ƈ"Vuϧ)v1ҍ漣/=b&5L&! HMZR0۟;3@)&v!š-1ږN4c'&亮n[Cpnz\Um(}ۭ7ͲCX
+ @`1rN٘IYz"465 r0(m[ZKhp-tHxF
+.6i}]c}j,TbYk6\y__o9\EGB,XJ .h -Ϭw9{qm־MX~*M
+irHAp6" ,{Yn<(4BA1E?L[C;*~cD"kF0!Y"ά>D'1Pє$A2EXx^,B!Ǥ*$ߴ!3&BpQ3E ``e-sШ3e3 VDCg"Zp|ko0z&w4`DBƕ%h+h8t,P&B]/ F 旙Q$H1EwA!B8E8Ss
+|xZבRblFfzti"9EiF*Dž2Yw2&kwc8mQ*zjE zDyE fInb?XdeN}}rq!B0hSaaN~:ț 
+|WQ2~Dٟj
+
+endstream
+endobj
+8356 0 obj
+<< /Type /Page /Contents 8357 0 R /Resources 8355 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8304 0 R >>
endobj
8358 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 280.797 null ] >>
+<< /D [ 8356 0 R /XYZ 78.37 808.885 null ] >>
endobj
8359 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 269.839 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 754.893 null ] >>
endobj
8360 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 258.88 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 743.934 null ] >>
endobj
8361 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 247.921 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 715.06 null ] >>
endobj
8362 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 236.962 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 704.102 null ] >>
endobj
8363 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 226.003 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 693.143 null ] >>
endobj
8364 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 215.044 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 682.184 null ] >>
endobj
8365 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 204.085 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 671.225 null ] >>
endobj
8366 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 660.266 null ] >>
endobj
8367 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 649.307 null ] >>
endobj
8368 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 638.348 null ] >>
endobj
8369 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 627.389 null ] >>
endobj
8370 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 616.43 null ] >>
endobj
8371 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 605.471 null ] >>
endobj
8372 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 594.513 null ] >>
endobj
8373 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 583.554 null ] >>
endobj
8374 0 obj
-<< /D [ 8316 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 572.595 null ] >>
endobj
-8315 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F76 318 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8377 0 obj
-<< /Filter /FlateDecode /Length 1915 >>
-stream
-xڽYmo6_a` w b6 [}XAX-,+>R)qܜKH|NwI<W|FZR'W<2Q15Q ,r=s,blvD44Y2fvFu^"i^'|叆8PET"d0fU78}4
-IKduO68ͨiv>;OaƫmgR^|iiuU%} orN,Ҭ\'t2k~nbsjUΨ!`_c1ú!c6Ϻ]_{}QQx-$+1ljگ;u&4?͸eX|t"rBDt~s89Hb%a$lol‘ "b&%11W]z%|0imdx-";/kӏ?'uy=Kbk_I#3?$B"D-53)CtdY^]Y7m[\۬>M{`mlq^-&_(1f~,nU)&9AGZH]gur@Q̥&c: dtMb(Qbب6:X7uS̳E=ipHryj2?ɴ>Ħ.U~4Vz5i!0|I]pv]>ڳpϪ΋d]^/]iA&) ^d&]Wه]^e E<?(NaP7øn& 'b( .zb:H;gFG{).Qť Y^3L:u!0 <՜
-('ɜr9@@ <Ɯè@8;+>x$!]5N";q' U+L}Ua/{
-vfPKYjGN9G,9~^6?wa'@媬PEN4 U ʠv2 JGHG`|(ʹB$?UDN~mNyDIr-`lp|[nx ^0[X !H Vyvى.Ba_wkp0v.`'@|nG6pCz
-Sw]% Ы>bƬu8ќj9,]] kst:9@s&۾F 6FVI0.4<'݉Ԉ
-F"BDV|\s`}SnԔ oStOt=G?t~͹jfH{
-VՈ\ 4GSq+>͈ƼhLDP7
-V}zDc"
-n`>x[euYM7f)e\{rP+|.x
-endstream
+8375 0 obj
+<< /D [ 8356 0 R /XYZ 81.077 561.636 null ] >>
endobj
8376 0 obj
-<< /Type /Page /Contents 8377 0 R /Resources 8375 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+<< /D [ 8356 0 R /XYZ 81.077 550.677 null ] >>
+endobj
+8377 0 obj
+<< /D [ 8356 0 R /XYZ 81.077 539.718 null ] >>
endobj
8378 0 obj
-<< /D [ 8376 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 528.759 null ] >>
endobj
8379 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 723.127 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 517.8 null ] >>
endobj
8380 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 712.168 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 506.841 null ] >>
endobj
8381 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 701.209 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 466.049 null ] >>
endobj
8382 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 690.25 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 455.09 null ] >>
endobj
8383 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 679.291 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 444.131 null ] >>
endobj
8384 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 668.333 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 433.172 null ] >>
endobj
8385 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 657.374 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 422.213 null ] >>
endobj
8386 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 646.415 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 411.254 null ] >>
endobj
8387 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 635.456 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 400.295 null ] >>
endobj
8388 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 624.497 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 389.336 null ] >>
endobj
8389 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 613.538 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 378.377 null ] >>
endobj
8390 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 602.579 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 367.418 null ] >>
endobj
8391 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 591.62 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 356.459 null ] >>
endobj
8392 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 580.661 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 345.501 null ] >>
endobj
8393 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 569.702 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 334.542 null ] >>
endobj
8394 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 558.744 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 293.749 null ] >>
endobj
8395 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 547.785 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 282.79 null ] >>
endobj
8396 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 536.826 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 271.831 null ] >>
endobj
8397 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 525.867 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 260.872 null ] >>
endobj
8398 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 514.908 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 249.913 null ] >>
endobj
8399 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 503.949 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 238.954 null ] >>
endobj
8400 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 492.99 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 227.995 null ] >>
endobj
8401 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 482.031 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 217.037 null ] >>
endobj
8402 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 471.072 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 206.078 null ] >>
endobj
8403 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 460.113 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 133.431 null ] >>
endobj
8404 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 449.155 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 122.473 null ] >>
endobj
8405 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 438.196 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 111.514 null ] >>
endobj
8406 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 427.237 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 100.555 null ] >>
endobj
8407 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 416.278 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 89.596 null ] >>
endobj
8408 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 405.319 null ] >>
+<< /D [ 8356 0 R /XYZ 81.077 78.637 null ] >>
endobj
-8409 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 394.36 null ] >>
-endobj
-8410 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 383.401 null ] >>
+8355 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F76 318 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8411 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 372.442 null ] >>
+<< /Filter /FlateDecode /Length 1708 >>
+stream
+xڽZ]o6}ϯXX~PtX EPl~[AX-">ʒ)I\EKJ<9^R =+O߷'o'.pd4at29!nH5Q ,du`gOե4L`0"nާ]zY>^ *Nm/uqOk)1<3y$ܣݑiOjS'Weo,ׯoD"ˏd$@u93Kt@[[ً|.y ,jD42dP O<MaNϝɇ%
+Q*<[coŢcU%RzJ! zuv #@ +ǀ2Btj*`*#͎0*!:Hleiݬ\R^\t!S%0iGq]RPG ҏRĕ7y`lCtJ~.'ۄ@ #%1M4u']K#g6<J0ޓ`
+!Z3W PwUދQG7@RD{G@8R~z"}ߤEݡ<%C{VF4DjS<lt<(@>THso
+Vt"W<9/
+V}"tV-*;+
+ozVl #ƽݛ0z!z d0 /5mn4ܛՏ}tZ!i+X#[:Dob쬷lQC6 OVrBpX QZ*O/2^uGpOe6!*kXБ:h'׋*Kp"jkXKKĘ| D9d/b;A DQxô<\f|iDÎ"# |uI̤1᫔qK9a A;Z:(ca3*OϨ>;eU7?Ӵynн^MBBUb\Fi9FbY,Rnu/K7N:Usv;譗] an"dO28D3qAjXPOvGڶ)R[Ъ>klTs漇nl3ib՞*ˡ»53z1C9{:ڎ(C#('*So F 6jԟJ$2n:YzIS~/``MRcꐮa0!{pĸ/t=E_FMi3_茆@+´/yÇ]\'V`ia+y*x(g:T`*xQP9#n ͈r C CW+!x9QFYG^Fכ^Y^wh@*
+w?O #ܓlD8ebBx)2WG 3s#t.gQE;>ĩB V#t@XHĕLVh#t(H{4@wf+U穵[ܼc|4A([b~'[o?tquY/+{̪yQ^3; ѬBQ${A88{pmrJ$<3xRN8FfCdkӓk)
+endstream
+endobj
+8410 0 obj
+<< /Type /Page /Contents 8411 0 R /Resources 8409 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8304 0 R >>
endobj
8412 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 361.483 null ] >>
+<< /D [ 8410 0 R /XYZ 78.37 808.885 null ] >>
endobj
8413 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 350.524 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 768.832 null ] >>
endobj
8414 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 339.565 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 757.873 null ] >>
endobj
8415 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 328.607 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 746.914 null ] >>
endobj
8416 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 317.648 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 735.955 null ] >>
endobj
8417 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 306.689 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 724.996 null ] >>
endobj
8418 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 295.73 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 714.037 null ] >>
endobj
8419 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 284.771 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 703.078 null ] >>
endobj
8420 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 253.979 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 692.119 null ] >>
endobj
8421 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 243.021 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 681.16 null ] >>
endobj
8422 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 232.062 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 670.202 null ] >>
endobj
8423 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 221.103 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 659.243 null ] >>
endobj
8424 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 210.144 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 648.284 null ] >>
endobj
8425 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 199.185 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 637.325 null ] >>
endobj
8426 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 188.226 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 626.366 null ] >>
endobj
8427 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 615.407 null ] >>
endobj
8428 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 604.448 null ] >>
endobj
8429 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 593.489 null ] >>
endobj
8430 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 582.53 null ] >>
endobj
8431 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 571.571 null ] >>
endobj
8432 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 560.613 null ] >>
endobj
8433 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 549.654 null ] >>
endobj
8434 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 538.695 null ] >>
endobj
8435 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 527.736 null ] >>
endobj
8436 0 obj
-<< /D [ 8376 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 516.777 null ] >>
endobj
-8375 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F76 318 0 R /F78 556 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8439 0 obj
-<< /Filter /FlateDecode /Length 2470 >>
-stream
-xڵZ[o8~0Їu ˻Hc;(bb CGS[r$4=)t;}dsxnTh1£_ኄxݧ8Ҋ0:}C`HlI$q}zL(F1嬨TѪIedxFR`D0$ivfa0~Si[tӮrt=Yֳ/S3\QF3/
-K%D|͗bz[77|^T;RAJ"{<kc^n*L]s.q!J'.҈耸sSoʦ@5cLceUveܡLNj<,\nv]̺˼iG0nzc*ESTQdf>
-km/
-;XOʡ|G&g$A0nY41Bb
-#۪a:nmZ ',T5 1G,' iFb+h"~2CLe\h2֫HʀNw
--
- yMe&]5qy p{bxh] 6,8:yf)spi-MkK.>jhxk1g8`J]CٹdSqϘJGR~EZ0j|cڞJTih"aq qw:NrȼqT>ذ_ KC#fePi!:ֶfmV{ƕ}z\oz0J0v&>}pŒC{ )]Ճ?z83P29țbR]UCz^~a<aPVd8Kj<#tЃIt%ԶUP~8S!"QM.3Mtڷ}~~G"D짡 ( ߢ!iBS$a!H#rslc˗OSgmAXUBty(ea'L#Cڟ.oSh}&Qe*!0֞ω$Ei|u,:
-dY'D'ۆh6 S_˧IFA{
-rb.AO8X]9Vմ&GID6$F@15)IO!e.ODY*g*(λp㹫e,gwOjGO6 dc)M=De#>1ev&;J8(@U]"AωݔOu:U=o?V"J>S!:}mb +
-endstream
+8437 0 obj
+<< /D [ 8410 0 R /XYZ 81.077 505.818 null ] >>
endobj
8438 0 obj
-<< /Type /Page /Contents 8439 0 R /Resources 8437 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+<< /D [ 8410 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+8439 0 obj
+<< /D [ 8410 0 R /XYZ 81.077 483.9 null ] >>
endobj
8440 0 obj
-<< /D [ 8438 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 472.941 null ] >>
endobj
8441 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 461.982 null ] >>
endobj
8442 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 451.023 null ] >>
endobj
8443 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 440.065 null ] >>
endobj
8444 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 429.106 null ] >>
endobj
8445 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 418.147 null ] >>
endobj
8446 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 407.188 null ] >>
endobj
8447 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 396.229 null ] >>
endobj
8448 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 365.345 null ] >>
endobj
8449 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 354.386 null ] >>
endobj
8450 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 343.427 null ] >>
endobj
8451 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 332.468 null ] >>
endobj
8452 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 321.509 null ] >>
endobj
8453 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 310.55 null ] >>
endobj
8454 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 299.591 null ] >>
endobj
8455 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 561.609 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 288.632 null ] >>
endobj
8456 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 550.65 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 277.674 null ] >>
endobj
8457 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 539.691 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 266.715 null ] >>
endobj
8458 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 528.732 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 255.756 null ] >>
endobj
8459 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 517.773 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 244.797 null ] >>
endobj
8460 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 506.814 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 233.838 null ] >>
endobj
8461 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 495.855 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 222.879 null ] >>
endobj
8462 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 479.915 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 211.92 null ] >>
endobj
8463 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 468.956 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 200.961 null ] >>
endobj
8464 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 426.117 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 190.002 null ] >>
endobj
8465 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 415.158 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 179.043 null ] >>
endobj
8466 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 326.49 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 168.085 null ] >>
endobj
8467 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 315.532 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 157.126 null ] >>
endobj
8468 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 304.573 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 146.167 null ] >>
endobj
8469 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 293.614 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 135.208 null ] >>
endobj
8470 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 282.655 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 124.249 null ] >>
endobj
8471 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 271.696 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 113.29 null ] >>
endobj
8472 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 260.737 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 102.331 null ] >>
endobj
8473 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 249.778 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 91.372 null ] >>
endobj
8474 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 238.819 null ] >>
-endobj
-8475 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 227.86 null ] >>
+<< /D [ 8410 0 R /XYZ 81.077 80.413 null ] >>
endobj
-8476 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 216.901 null ] >>
+8409 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8477 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 205.943 null ] >>
+<< /Filter /FlateDecode /Length 2359 >>
+stream
+xZKs۸Sh&3kIN>tpvHu<g" Jzh&0xv3ó__鉄}xs[fM]^ LK$)Idv{g{[if)bICW6mUpv.ܬE~COL2ں\P{]e*i>6' -۫jwׯnzp:߬G75%<cĨHWoPc2q \~
+ * M7W+GsF*0S2_U{tvCݻ4+?R^UmzpHw*,e[0ɼvq Rv3 $_gy<0~>:dW}SU7{,WUzOTAk栎IAXpUkïUW쓱R`Ez+#:Xb008FRhToUkId (挒1qFOMʮlfQO#081$[,ۮP]-.n$=RE\TT~>$ g$޷oY º}ae
+N'DG) !"/j(Ohٽ]]afqbB aBCY1Y6w25,4L4էb]ujq{cƹp)<;cd*ϋf^$'&BRj,GLgk
+9*K %O>o?e6wT$Y'pD&Cc dnL9X1.Vn+kWcԀqܕ,@0hwwo]5xui=Wc2(98z ŭNA6G <-Dd
+)ula BOc3_~-I$2J:M18:њWOhjI 򺶥}eWS.0hcmf2*wCewYWο܈崅: b#hJq%(3,Sh'Dy_<Gq:|cX2ն>g{WVKHnu9ʽ8dpxT+BΟ9zspIsmLM[xu?YVtm<ߜ`P[Sĵd0ٮr i;LcJA1)ޑ;,pwq> t= RUwU٠҈Po%4J7Q
+Gº: >[:ńmvŽ9ىhMsGONMG
+DMHz"/&|1K :ib[]S!c#T6LOtK
+#%Foi@(A\/t)1|N#.1yldAC@8~QVH%"$?O'K$ UҬp Q@rm^/@@F
+endstream
+endobj
+8476 0 obj
+<< /Type /Page /Contents 8477 0 R /Resources 8475 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8304 0 R >>
endobj
8478 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 194.984 null ] >>
+<< /D [ 8476 0 R /XYZ 78.37 808.885 null ] >>
endobj
8479 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 184.025 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 768.832 null ] >>
endobj
8480 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 173.066 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 757.873 null ] >>
endobj
8481 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 162.107 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 746.914 null ] >>
endobj
8482 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 151.148 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 735.955 null ] >>
endobj
8483 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 140.189 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 671.198 null ] >>
endobj
8484 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 129.23 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 660.239 null ] >>
endobj
8485 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 118.271 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 649.28 null ] >>
endobj
8486 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 107.312 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 638.321 null ] >>
endobj
8487 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 96.354 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 627.362 null ] >>
endobj
8488 0 obj
-<< /D [ 8438 0 R /XYZ 81.077 85.395 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 616.403 null ] >>
endobj
-8437 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8491 0 obj
-<< /Filter /FlateDecode /Length 2139 >>
-stream
-xZ]o8}ϯ&,Ie1``` 2]M;Beɕ$ݠ{)ʔ,Lzg^ zw8J4atv P LK$)Idv>W&o;4Jdz &
-5 ϗWY\ :r_)ǯmU}-zmC.Agh07#~$19o ™ַЈ%:D{X>T#CO#C9BTx*,bRQ)=GeT0OEִi]=y@ +GD !EUGsx8>c~ęS%ᙨ8&#<3_*:oAWG;ѷ3d9T#ޣ)!v }S>ћbX4ڔZ>duM9h]l_ʝ}y_>xÙIf ٩1 8J/{syp2_UEQ]R5˵+ZTMV.&)>$Z3 Ǽ(l /#jyY
-4!3:6~;mJN%K!ܣɄ.;:ө/ZqoðÏWeD [~|'X#J!ykS6F|gPDI`lGw60ny8ؖ<l%n>p)<+v 06Qmۼ*,8={ֻ9gwJ2E {E4F]p.yLu՚Ek7k>v,{aԏTq"}Yl "3=3u]'/EHJySuT;h"'c2F[*Cf.ocGda6`Qi1a՝MUu&; <UTh#΄I0x/?GGPYT_Yt#F$"xEr$WiQk گ}Bu,/.A@HHI򣥀!2r}iwQ58~l_Y^7weM^.)zvkwzC4%GDyt~1-!Asd~e;k h\`Dpzhz[8wDáB]Uvm37͜mnz[>#Ó8hϸ9^|@0G9
-II8Rct?S"$P8#pt%6>1a )@gݵiAŞZCzil՚:m甁W^J:~K!qKOW3P>]-z6-+oy˜qKMIlw6cIᝩq(ڰt׼A;\gϴr$E]x XCm|J\( ^*d_+WiM7qB]DHKVeP 4X)A. ~W)AJ@o޻8%P8%P*G8%J@@8N t|US
-dޘO;Xl֣->K.QS5yw->Jt_̻LIpy״0, { >|v"%!Q"tɞ=ԒP^08~q?Y߭\9|wiܫEجy_3+ʽoK(8VW`+cc`Z{{}R <pE<[UOi$'#>k~鞕#D!>NU\¬1%
-"VWhX"1OU\jōD 뭗M:Xf3\%rcptϚ#D(Lȵ'r1JT$5ۋb
-endstream
+8489 0 obj
+<< /D [ 8476 0 R /XYZ 81.077 605.444 null ] >>
endobj
8490 0 obj
-<< /Type /Page /Contents 8491 0 R /Resources 8489 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+<< /D [ 8476 0 R /XYZ 81.077 589.504 null ] >>
+endobj
+8491 0 obj
+<< /D [ 8476 0 R /XYZ 81.077 578.545 null ] >>
endobj
8492 0 obj
-<< /D [ 8490 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 535.706 null ] >>
endobj
8493 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 524.747 null ] >>
endobj
8494 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 436.08 null ] >>
endobj
8495 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 425.121 null ] >>
endobj
8496 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 414.162 null ] >>
endobj
8497 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 403.203 null ] >>
endobj
8498 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 392.244 null ] >>
endobj
8499 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 381.285 null ] >>
endobj
8500 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 370.326 null ] >>
endobj
8501 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 359.367 null ] >>
endobj
8502 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 348.408 null ] >>
endobj
8503 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 337.449 null ] >>
endobj
8504 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 326.49 null ] >>
endobj
8505 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 632.344 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 315.532 null ] >>
endobj
8506 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 304.573 null ] >>
endobj
8507 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 293.614 null ] >>
endobj
8508 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 531.721 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 282.655 null ] >>
endobj
8509 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 520.762 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 271.696 null ] >>
endobj
8510 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 509.803 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 260.737 null ] >>
endobj
8511 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 498.844 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 249.778 null ] >>
endobj
8512 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 457.997 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 238.819 null ] >>
endobj
8513 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 442.057 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 227.86 null ] >>
endobj
8514 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 431.098 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 216.901 null ] >>
endobj
8515 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 420.139 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 205.943 null ] >>
endobj
8516 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 409.18 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 194.984 null ] >>
endobj
8517 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 398.221 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 184.025 null ] >>
endobj
8518 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 387.263 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 173.066 null ] >>
endobj
8519 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 376.304 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 162.107 null ] >>
endobj
8520 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 365.345 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 151.148 null ] >>
endobj
8521 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 354.386 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 140.189 null ] >>
endobj
8522 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 343.427 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 129.23 null ] >>
endobj
8523 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 332.468 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 118.271 null ] >>
endobj
8524 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 321.509 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 107.312 null ] >>
endobj
8525 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 310.55 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 96.354 null ] >>
endobj
8526 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 299.591 null ] >>
+<< /D [ 8476 0 R /XYZ 81.077 85.395 null ] >>
endobj
-8527 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 288.632 null ] >>
-endobj
-8528 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 277.674 null ] >>
+8475 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8529 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 266.715 null ] >>
+<< /Filter /FlateDecode /Length 2097 >>
+stream
+xZmo6_b.EP(-ܗۃش-Ddkިxć3Cg| "6H+~uEHhI$?HHv_z10>wl`&1*|tllqlL&>#a|Qk2Mi׷wYxntpM{M5iЎJ>.҈e0?+\0"ˊk͟|^-6ɗt %A[tJ3RdseNdQ, Oϗe(jyX
+ŭ)tl
+<,lo,Bui`NM|ntoRimi?!q!K3{GTPDi`l&Kz"qt,`*n>t-<!]y)xyZ(,qtz$b'B.cl-yweQEmw3 :R-3o[Ѷ24IgC>fGhf2Oj,_
+61pay&R"@yhDYm*K5aV4c ]R.c~wG6?Bu08}Uqe+a+<*~hL= !_HJVGƄi*.6=wMŽ72"_3*Ϯ("Ee6DI`n@$گ}{:u$ͫA@ȷ7 ;ylSL)闸Ed<~kG,p 31|abU2}JfyHv9DVeUZjÑV&$8 ! {,NW1|D1oK;CQdvu7w͜lw~[YKg9 |5Β>ǠWc~>+^榋{\*e D"L1]o[랗#} ^YHgq7b/d&NV):xMyLb8TGOE/̴EIW+c !I8^t6<P0/H { uv7C%q(aѣYiz:.g ڝbn]b%㈪>D+sp4eуM(bg%CTn'Ky+]q8(>0Ӷ3w
+endstream
+endobj
+8528 0 obj
+<< /Type /Page /Contents 8529 0 R /Resources 8527 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8304 0 R >>
endobj
8530 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 255.756 null ] >>
+<< /D [ 8528 0 R /XYZ 78.37 808.885 null ] >>
endobj
8531 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 244.797 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 768.832 null ] >>
endobj
8532 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 233.838 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 757.873 null ] >>
endobj
8533 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 222.879 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 741.933 null ] >>
endobj
8534 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 211.92 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 681.16 null ] >>
endobj
8535 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 200.961 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 670.202 null ] >>
endobj
8536 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 190.002 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 641.31 null ] >>
endobj
8537 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 179.043 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 630.351 null ] >>
endobj
8538 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 168.085 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 619.392 null ] >>
endobj
8539 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 125.245 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 608.433 null ] >>
endobj
8540 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 114.286 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 567.586 null ] >>
endobj
8541 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 103.327 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 551.646 null ] >>
endobj
8542 0 obj
-<< /D [ 8490 0 R /XYZ 81.077 92.368 null ] >>
-endobj
-8489 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 8528 0 R /XYZ 81.077 540.687 null ] >>
endobj
-8545 0 obj
-<< /Filter /FlateDecode /Length 1481 >>
-stream
-xZMOH+"H+VZFؑe'X;&[v;C*j.8yC' |>Õ|܈$2'/ XM43Mfc;2ӿ\%NkaC0b_LȦHeݮɩ~|,>iBk.*J僋
-U6 yFLKBȹgP}A ge%BJ+fAgJ85DJ+
-4DS,D*-VQ'Bm[荹q#֌q_]/8$PcֻS&7) hqJ_ ONyxH88H|d&7h?BEMmy%k@' 1*AF"ݓMϰ#v-U&oϻ ё9'lOҥj}E^.'a jlҼV4yd7!-'B:#ϗL+Bm KF"d
-g:
-endstream
+8543 0 obj
+<< /D [ 8528 0 R /XYZ 81.077 529.728 null ] >>
endobj
8544 0 obj
-<< /Type /Page /Contents 8545 0 R /Resources 8543 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+<< /D [ 8528 0 R /XYZ 81.077 518.769 null ] >>
+endobj
+8545 0 obj
+<< /D [ 8528 0 R /XYZ 81.077 507.811 null ] >>
endobj
8546 0 obj
-<< /D [ 8544 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 496.852 null ] >>
endobj
8547 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 485.893 null ] >>
endobj
8548 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 474.934 null ] >>
endobj
8549 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 463.975 null ] >>
endobj
8550 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 453.016 null ] >>
endobj
8551 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 442.057 null ] >>
endobj
8552 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 431.098 null ] >>
endobj
8553 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 420.139 null ] >>
endobj
8554 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 672.93 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 409.18 null ] >>
endobj
8555 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 661.971 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 398.221 null ] >>
endobj
8556 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 651.013 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 387.263 null ] >>
endobj
8557 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 640.054 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 376.304 null ] >>
endobj
8558 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 629.095 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 365.345 null ] >>
endobj
8559 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 618.136 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 354.386 null ] >>
endobj
8560 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 607.177 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 343.427 null ] >>
endobj
8561 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 591.728 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 332.468 null ] >>
endobj
8562 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 580.769 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 321.509 null ] >>
endobj
8563 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 569.81 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 310.55 null ] >>
endobj
8564 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 558.851 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 299.591 null ] >>
endobj
8565 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 547.892 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 288.632 null ] >>
endobj
8566 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 536.933 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 277.674 null ] >>
endobj
8567 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 525.974 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 234.834 null ] >>
endobj
8568 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 515.015 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 223.875 null ] >>
endobj
8569 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 504.056 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 212.916 null ] >>
endobj
8570 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 493.097 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 201.957 null ] >>
endobj
8571 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 477.648 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 171.073 null ] >>
endobj
8572 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 466.689 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 160.114 null ] >>
endobj
8573 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 455.73 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 149.155 null ] >>
endobj
8574 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 444.771 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 138.197 null ] >>
endobj
8575 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 433.812 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 127.238 null ] >>
endobj
8576 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 422.853 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 116.279 null ] >>
endobj
8577 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 411.895 null ] >>
-endobj
-8578 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 400.936 null ] >>
+<< /D [ 8528 0 R /XYZ 81.077 105.32 null ] >>
endobj
-8579 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 389.977 null ] >>
+8527 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8580 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 379.018 null ] >>
+<< /Filter /FlateDecode /Length 1449 >>
+stream
+xZMOH+"qi?"4Zii#+X;--'N%i.8yWUDL׋OgJL"D\I@LG~~ryrlO^CD *
+GImYvUS6w`{" 뉁V]'M u|:sq!KoHӏVٓ?6㲨nZo/ :7^\eB*y\sܾ~ުC) *L̋Urz>^Z?٪+dv_]7UJZEib̷,4fL~utUg1_>nz^Z6-V]ܕuqhV]T`J-e$I*/jޖ.H0v#(ftV?EQ>=?{:WM{Sb=6WkD5ܔlFcEVtnAr1ϙ.g][=ܔ+ۢ[)kAR/9.%!Ԟ1Pt~ȴk63)
+ Am#v0&J;h(1?q>PGRC|+,+^I hm+A1x%{Vf
+o (|ޘiB*og ځۺmj#۶Jn k^'hmjn<𰖵Aл x9oPIގYAs7npP9/-Y AۛM{]m z+ C1.!49^ ˑt
+Mm 5ATmٟk~ < LT'pKa; >S'z7q4߶ ǣ9{fێ
+8~ޜ'M v)5|Yl~ Ux+NJ<Hc x[9xE/&F0gkRVĹ`8Ub
+endstream
+endobj
+8579 0 obj
+<< /Type /Page /Contents 8580 0 R /Resources 8578 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8304 0 R >>
endobj
8581 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 368.059 null ] >>
+<< /D [ 8579 0 R /XYZ 78.37 808.885 null ] >>
endobj
8582 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 357.1 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 754.977 null ] >>
endobj
8583 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 346.141 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 744.018 null ] >>
endobj
8584 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 335.182 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 733.059 null ] >>
endobj
8585 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 324.223 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 722.101 null ] >>
endobj
8586 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 313.264 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 711.142 null ] >>
endobj
8587 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 302.306 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 700.183 null ] >>
endobj
8588 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 291.347 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 689.224 null ] >>
endobj
8589 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 280.388 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 673.47 null ] >>
endobj
8590 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 269.429 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 662.511 null ] >>
endobj
8591 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 258.47 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 651.552 null ] >>
endobj
8592 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 247.511 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 640.593 null ] >>
endobj
8593 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 236.552 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 629.635 null ] >>
endobj
8594 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 225.593 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 618.676 null ] >>
endobj
8595 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 214.634 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 607.717 null ] >>
endobj
8596 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 203.675 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 596.758 null ] >>
endobj
8597 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 192.716 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 585.799 null ] >>
endobj
8598 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 181.758 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 574.84 null ] >>
endobj
8599 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 559.086 null ] >>
endobj
8600 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 548.127 null ] >>
endobj
8601 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 537.169 null ] >>
endobj
8602 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 526.21 null ] >>
endobj
8603 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 515.251 null ] >>
endobj
8604 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 504.292 null ] >>
endobj
8605 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 493.333 null ] >>
endobj
8606 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 482.374 null ] >>
endobj
8607 0 obj
-<< /D [ 8544 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-8543 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F20 186 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 8579 0 R /XYZ 81.077 471.415 null ] >>
endobj
-8610 0 obj
-<< /Filter /FlateDecode /Length 2899 >>
-stream
-x\[oܺ~P]]F
-y 5 J9 8.w<(I^ w78R`! sYt\dl5wis:g3<+Tio>,S"fESx${<.ʬ9,! HFt:"Wy&IT_wAĢڴ]uuP@dܟڴn6,W8_}?,%
-U2+y$skY}c<G}YW
-(0Da̍W7uoPơ|[LUuղ}o6^h[D@Y?Zmw;س $i&zVKH0:>׋T s$!W'
-&
-8pCy#HGܳy: Xq*y410[A=yOm뚟ژFwi c(ќ".Q˟dhJMb9pMSwjxC|cB2("*9.[yG|pʠ G$!EAOa`^lnc(&?&b`= >ǔ9끰: tgPV%0QϒC6# PNއQXr]}'ah>cH'tkj
-puQa.1&!
-a#g.[Wo;nI횂 ?zSu nY[ >Œ,gE6.C-ӧIQcr&owʶXߢf24`F)$$ʙ@S̢FE'X t o32$׵Cbc
-Ji2BɧVc
-]#"L6BC+1kN
-(<KV~L’c<9$fbyޓ<wx-_Qc1Ls.!XgsÉ_ZQ/ Hl(~$$_7 =o邢;ۀ,GӨܫ+euJ5Ke{yrUC2An
-uTp1A\Ir[5TY^׽wup fSaҹܶv]ո [I^4H^2[Dٹ[ݮni \a܇҇v{7Ctu)_q:V'$L\;z|prDw+;uq1_I¶Hy5w8脅Ird%9'~ )Ifrt'j9H?&C'k.3J*FłiZ|(tcdg:c
-I6g-7CXq^5Y,UpҊ*c;ÒE@nãq; dSΤk$̝n#f`,G-aޗJ@w| z^zfx,ZogFB:.0XT"QL]ah}soqw, {C q?>vˤa6$"lC_sz׾~,\=XPޓ! Qp'=%Ntr!H>
-endstream
+8608 0 obj
+<< /D [ 8579 0 R /XYZ 81.077 460.456 null ] >>
endobj
8609 0 obj
-<< /Type /Page /Contents 8610 0 R /Resources 8608 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+<< /D [ 8579 0 R /XYZ 81.077 449.497 null ] >>
+endobj
+8610 0 obj
+<< /D [ 8579 0 R /XYZ 81.077 438.538 null ] >>
endobj
8611 0 obj
-<< /D [ 8609 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 427.579 null ] >>
endobj
8612 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 416.621 null ] >>
endobj
8613 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 405.662 null ] >>
endobj
8614 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 394.703 null ] >>
endobj
8615 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 720.015 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 383.744 null ] >>
endobj
8616 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 709.056 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 372.785 null ] >>
endobj
8617 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 698.097 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 361.826 null ] >>
endobj
8618 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 687.138 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 350.867 null ] >>
endobj
8619 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 676.179 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 339.908 null ] >>
endobj
8620 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 665.22 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 328.949 null ] >>
endobj
8621 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 654.261 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 317.99 null ] >>
endobj
8622 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 643.302 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 307.032 null ] >>
endobj
8623 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 632.344 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 296.073 null ] >>
endobj
8624 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 621.385 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 285.114 null ] >>
endobj
8625 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 610.426 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 274.155 null ] >>
endobj
8626 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 599.467 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 263.196 null ] >>
endobj
8627 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 342.02 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 247.442 null ] >>
endobj
8628 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 331.061 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 236.483 null ] >>
endobj
8629 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 320.102 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 225.524 null ] >>
endobj
8630 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 309.143 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 214.566 null ] >>
endobj
8631 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 298.184 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 203.607 null ] >>
endobj
8632 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 287.225 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 192.648 null ] >>
endobj
8633 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 276.266 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 181.689 null ] >>
endobj
8634 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 265.307 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 170.73 null ] >>
endobj
8635 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 254.348 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 159.771 null ] >>
endobj
8636 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 243.39 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 148.812 null ] >>
endobj
8637 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 232.431 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 137.853 null ] >>
endobj
8638 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 179.629 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 126.894 null ] >>
endobj
8639 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 168.67 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 100.555 null ] >>
endobj
8640 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 157.711 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 89.596 null ] >>
endobj
8641 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 146.752 null ] >>
+<< /D [ 8579 0 R /XYZ 81.077 78.637 null ] >>
endobj
-8642 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 135.793 null ] >>
-endobj
-8643 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 124.834 null ] >>
+8578 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 186 0 R /F19 184 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8644 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 113.875 null ] >>
+<< /Filter /FlateDecode /Length 2806 >>
+stream
+x[oۼBC&V|'((`P&jK4Q$R[@j[;xoOYrd۳{Eܾߞ<{F҄!0%,H`HQ&prJ9Bfk/T̘EECǖ[<C8#x\!US<_ru~]W՗ j큑iD 0~<O9} (8(>w
+KD8(>bV~k. s02M0{
+_ZM[B,`nW~DQX1 Q5 3)clJxgŵٴW;cM\VD-A]KNf/X~o#$زFtJg"oU7k(~QUy
+t{W,셻cQ.dkNljߪyJԍu[Sv~Un2]Y-U~} 6 nj. EoѺrw;Iauʤ)N\V.eTR&}ػwpk_X`-`eVC\:!8sKT  U?T}s$hS
+DJQ njY5o|n޼6+[p%/>T>ּ1rP!?ڑw/ߪC2ە- w=.OSqHdR ^ۍ<|{7lWuaW*AgYl5HA*suHuДdZ`BcXVAMP|%?(*õ-
+4Z`'YOeȦKCj2,B> ԩDL?X%CzVOR{s[M@yGhΆ~ ۦX)PWr)\B8Y |/eքn-yGݦ)+ϑջn-PS*L,)&Qw)G#P>'
+ =YOzCd
+:@ͱF <OT
+yUV$F?nM̱t* äqx}nXͷOzpwf5a܇ԻzO*+>ޫ jD%C1n7!}ܾͰS쟚Q2n>ADX"B8>wLL6w3R&s2t 'z_.:D.x+<6fX|(X{X#c
+X[Ⱦ\qfm@*7sZ_/޽lt>qP3Z_ku;fuX(Rݩe#(_b(;ZD=p }v;-hi;yĀXpի8/ʩQ4S%sޭ-,AQBUhG=p?X9eL=p?#VbqT{qsǯA'_;=E4ճ}hog?l
+endstream
+endobj
+8643 0 obj
+<< /Type /Page /Contents 8644 0 R /Resources 8642 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8304 0 R >>
endobj
8645 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 102.916 null ] >>
+<< /D [ 8643 0 R /XYZ 78.37 808.885 null ] >>
endobj
8646 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 91.957 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 768.832 null ] >>
endobj
8647 0 obj
-<< /D [ 8609 0 R /XYZ 81.077 80.998 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 757.873 null ] >>
endobj
-8608 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-8650 0 obj
-<< /Filter /FlateDecode /Length 2275 >>
-stream
-xZ[o8~0`W 0@ yX؇*r,Ԗ\KNZ"TL[;m_Ooϟͻ-8R0]! /B('Ţ 9YnfE^:W T3)#WmwWkf`M)3%/0F?]\
-*E˶~3gzf}*O$-dlKDDr?u84J&TcK| V]m~wMB<
-b1쌽.h=d9/hp-dVr0*7LqmK*ډmz\7~ڽi7ޗ*f?7v:۲; 36lF`qM;|_}S>Drĸ>V
-jy{z%PAzr$́0Hcyz**
-BwiJG`
-rNs{EINybT"X6wXkC)o-MJ)yl
-q499B`퓻faY ]5lwԒni:@&v[g#aF5A= CEs LAp=ށl쓲mq]]F
-Ml_W . b~+W,Cg-imQ>^c5%Ӹ:!|DC8h~q'HJG߰hRRo2w.mQCVHIbimx4ӺnzHA&ISEѭΛL]r/'_ɂN`({` ɜΕ'R?SZDO}I/u^ݴ׳Ĵ=lR=ʡWILќt ԙ$l,fhwN mEL я&%ν (M1D Ku3[Dw_;C3*(D12lI BMO*#9gK>OE<,f:[LmIWF˸{U'O2@wR,c{fqu 벷ClJ}ux|OZȩ@E?<q 0,^7%9~nGc?q*-+hvL%(W_9%VoS"`1G;O;{
-79U(&%<ID1UvWAܴ/Gqx
--2ANPHL P&U!1'àWm8O@BN g j.(V`!:US[Iڎ/઻i;<=1k\rJQi4m!,!๟ K1F,<moWI7F$U]?2x9,7%Im Il
-̕wCޢH!HR#%I$!RULGh1L <hbxAct_1#\x. $mb!M¿!>4e ֋L߮)Dx i<B'MA`X4}ǖ TI:}\ I _3(7:gg&r"trv&
-i{BRNKiX.@}] KC26(̐>R .T|SMA!%ny8לHr?fN $Fp. ?tͿV
-endstream
+8648 0 obj
+<< /D [ 8643 0 R /XYZ 81.077 746.914 null ] >>
endobj
8649 0 obj
-<< /Type /Page /Contents 8650 0 R /Resources 8648 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+<< /D [ 8643 0 R /XYZ 81.077 735.955 null ] >>
+endobj
+8650 0 obj
+<< /D [ 8643 0 R /XYZ 81.077 724.996 null ] >>
endobj
8651 0 obj
-<< /D [ 8649 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 714.037 null ] >>
endobj
8652 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 703.078 null ] >>
endobj
8653 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 692.119 null ] >>
endobj
8654 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 681.16 null ] >>
endobj
8655 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 423.713 null ] >>
endobj
8656 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 412.754 null ] >>
endobj
8657 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 652.269 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 401.795 null ] >>
endobj
8658 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 641.31 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 390.837 null ] >>
endobj
8659 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 630.351 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 379.878 null ] >>
endobj
8660 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 587.512 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 368.919 null ] >>
endobj
8661 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 576.553 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 357.96 null ] >>
endobj
8662 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 535.706 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 347.001 null ] >>
endobj
8663 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 524.747 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 336.042 null ] >>
endobj
8664 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 513.788 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 325.083 null ] >>
endobj
8665 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 502.829 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 314.124 null ] >>
endobj
8666 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 491.87 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 261.322 null ] >>
endobj
8667 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 480.911 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 250.363 null ] >>
endobj
8668 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 469.953 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 239.404 null ] >>
endobj
8669 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 458.994 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 228.446 null ] >>
endobj
8670 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 448.035 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 217.487 null ] >>
endobj
8671 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 437.076 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 206.528 null ] >>
endobj
8672 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 396.229 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 195.569 null ] >>
endobj
8673 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 385.27 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 184.61 null ] >>
endobj
8674 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 374.311 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 173.651 null ] >>
endobj
8675 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 363.352 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 162.692 null ] >>
endobj
8676 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 352.393 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 151.733 null ] >>
endobj
8677 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 341.434 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 140.774 null ] >>
endobj
8678 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 330.476 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 129.815 null ] >>
endobj
8679 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 319.517 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 118.857 null ] >>
endobj
8680 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 308.558 null ] >>
-endobj
-8681 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 297.599 null ] >>
+<< /D [ 8643 0 R /XYZ 81.077 107.898 null ] >>
endobj
-8682 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 286.64 null ] >>
+8642 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8683 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 275.681 null ] >>
+<< /Filter /FlateDecode /Length 2435 >>
+stream
+xZ[o~_a`VF",0hnQЇnahd9ƖINfE*N}%/߹Qċ^?߽{FZRww*,RXH%AX~^4yZ^3ɓ%IB%ySd}IbmtT%ʉ+zږe,+*lgKETv'ۃk׼]ͦ<dOInuWǷYWn&0> ׈`dוu&y06] hy9Oi`ţm8T]y& YH񩝣#.i8xͦJ#ghҔa nÈDP!5Hг:զnYW֕߄UO)г 00M]UgK`XϺ0[}vUoVvuygէޝZIj!А [5NJQ&3*
+\ShÔ:nˬlٮ-p5 v'FRƽZ&Zl cg p#S("ֈ
+?fb:G
+d*
+6b2&XۏkAE1[Z͖ayV)bKck$*@-Ups{;V?|ZA),_/dǞw 'dWji-]s4&?,pPtxeuA׮&J|So@}R5_
+Hמn2E zwWt;iX;R(yo{/G5LT蟭c%Yci;12m6L^׵kW;փ{GX8`8#N3-H4+Dj5S)𽬺UUYʪjTkM6ev~&ݨ<Δvul]JC [}J8*/V--iyfɅ5Wx\a<)2t?tNZQx|猌se=qn q&㸆P<2O ]v}\ P|)a u%9=]Q@ 3V&,4Ѡg
+H!T!U4!:^f J Q耫 yV'd-K%ң 2nS$ʼIVi%[WHaǟ 8~d +%*Lcsُs ??B~1^|g
+WVFN0:wx, 8{!1XqAZ7+_,~K!` 9$Ʃ/gxYfS;CiK-;s }Y[\⫑m}T&Q9"a59B>F8ONwӖ1|U泛+c(.DqTN{C@>p[ݽ14V<!,$L3h|)
+>փT} N1b7,nS"S;] =J-(X.k"J#al7j=sˡVmÙJz)Y*M՜I&@Fc
+g33'rDl)@GKQ>Xs.hO)nUkgTUBT 8LѧOGG~:EP?񿉘D<(@۲l^v}q%br\E З
+L3\i՝iXmuyܻSloBc=X6jyͱ=sp:/+HǢ0ĕ7cUeX|M-ϟ2ﬧ.sj-/19ypbO\\=Ve,sm].ٳdHәLr|ZABM z,} I)Q<rq[پB V_(#%L Qf
+>W No>g`zM
+endstream
+endobj
+8682 0 obj
+<< /Type /Page /Contents 8683 0 R /Resources 8681 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8304 0 R >>
endobj
8684 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 264.722 null ] >>
+<< /D [ 8682 0 R /XYZ 78.37 808.885 null ] >>
endobj
8685 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 253.763 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 717.026 null ] >>
endobj
8686 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 242.804 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 706.067 null ] >>
endobj
8687 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 231.845 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 695.108 null ] >>
endobj
8688 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 220.887 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 652.269 null ] >>
endobj
8689 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 209.928 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 641.31 null ] >>
endobj
8690 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 198.969 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 600.463 null ] >>
endobj
8691 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 188.01 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 589.504 null ] >>
endobj
8692 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 177.051 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 578.545 null ] >>
endobj
8693 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 166.092 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 567.586 null ] >>
endobj
8694 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 155.133 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 556.627 null ] >>
endobj
8695 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 144.174 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 545.669 null ] >>
endobj
8696 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 133.215 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 534.71 null ] >>
endobj
8697 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 122.256 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 523.751 null ] >>
endobj
8698 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 111.297 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 512.792 null ] >>
endobj
8699 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 100.339 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 501.833 null ] >>
endobj
8700 0 obj
-<< /D [ 8649 0 R /XYZ 81.077 89.38 null ] >>
-endobj
-8648 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 8682 0 R /XYZ 81.077 460.986 null ] >>
endobj
-8703 0 obj
-<< /Filter /FlateDecode /Length 1799 >>
-stream
-xڽZKo6WPh)h,Þ|bˉ[r$9nzPz^g}bFI%>#2R15R ,h5c=2}ڼYiRm׏yx6]9'SǫOH3xS6ϊ)/)z<jҾO1s71b@vیZd*)ӿ "X6^eK7c"D#fb'b^Zd*eY7qSF63㍳8֨?qRviT~2%,ٵj(,\;cjT*8o*}. :{#A
-F#ڧY.@]rީZ!gQk9"tKHw6-ZBܸ9]Z8E%>_q[EMZr%]'N
-ĴO]>"t[=ֵ,BIGkwx %^ ov|W]b3\Qr̘3ĥW|aC4^@^慼 6^m/
-w=ÝiGR_1H/l{˄݂E讆V1{;aZ#_}3.pHT&`5B|ȋYt@$4!ڛiܕ;`6OAF*De$#kn)/e?mml6c}6"1l#<1j;eӆ$?BRJ6fYt?v< n¶F\")0B m}b to!wSZP.`q |`;Pe^ ġ9-ԈPߖSeDs/z>PW^R> W`R")D} Ё
-yrbtyQQaB4<<w'LS^ex1z~ݬAhA`vq%Q~Ոͯby fa`U7"t϶pyr<T8K"\8 BByiV
-F>Dݯdk F%
-?Q@îB[mQiVs+}fkvb!#) C
-endstream
+8701 0 obj
+<< /D [ 8682 0 R /XYZ 81.077 450.027 null ] >>
endobj
8702 0 obj
-<< /Type /Page /Contents 8703 0 R /Resources 8701 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+<< /D [ 8682 0 R /XYZ 81.077 439.068 null ] >>
+endobj
+8703 0 obj
+<< /D [ 8682 0 R /XYZ 81.077 428.109 null ] >>
endobj
8704 0 obj
-<< /D [ 8702 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 417.151 null ] >>
endobj
8705 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 743.205 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 406.192 null ] >>
endobj
8706 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 732.246 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 395.233 null ] >>
endobj
8707 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 721.287 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 384.274 null ] >>
endobj
8708 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 710.328 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 373.315 null ] >>
endobj
8709 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 699.369 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 362.356 null ] >>
endobj
8710 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 688.41 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 351.397 null ] >>
endobj
8711 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 677.452 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 340.438 null ] >>
endobj
8712 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 666.493 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 329.479 null ] >>
endobj
8713 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 655.534 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 318.52 null ] >>
endobj
8714 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 644.575 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 307.561 null ] >>
endobj
8715 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 633.616 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 296.603 null ] >>
endobj
8716 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 622.657 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 285.644 null ] >>
endobj
8717 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 611.698 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 274.685 null ] >>
endobj
8718 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 600.739 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 263.726 null ] >>
endobj
8719 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 589.78 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 252.767 null ] >>
endobj
8720 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 560.829 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 241.808 null ] >>
endobj
8721 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 549.87 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 230.849 null ] >>
endobj
8722 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 538.911 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 219.89 null ] >>
endobj
8723 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 527.952 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 208.931 null ] >>
endobj
8724 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 516.993 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 197.972 null ] >>
endobj
8725 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 506.034 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 187.014 null ] >>
endobj
8726 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 495.075 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 176.055 null ] >>
endobj
8727 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 484.116 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 165.096 null ] >>
endobj
8728 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 473.157 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 154.137 null ] >>
endobj
8729 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 462.199 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 107.312 null ] >>
endobj
8730 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 451.24 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 96.354 null ] >>
endobj
8731 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 440.281 null ] >>
+<< /D [ 8682 0 R /XYZ 81.077 85.395 null ] >>
endobj
-8732 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 429.322 null ] >>
-endobj
-8733 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 418.363 null ] >>
+8681 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8734 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 407.404 null ] >>
+<< /Filter /FlateDecode /Length 1613 >>
+stream
+xڽZMoFW0P$(<M|ҭ)Jl")h{ܥeG#'y3$N O/>||"d"2@Q=ъQt2_OzdGe'R܄`*Ic+ϔ,ʇpI,(:ɷY},I8Bt`vM]UϿʪn{̚6n
+!pO{3oyڽnM>},1ɨ( c%ǒ!
+R>HWddT8EڴI]=&,Se%p=SbOe#%opa=yZN< ֊nT['Y:b WzEQJrN2ɰ1o.^Չp8ʛNe34bA!*NTcJ;Eեjz=8Jt&-o,Mi (J<%C AP;_4}dml^evIݷQX1Tg
+\O8sBt/߲Jvl<G⥒ G2D$ϝ_$8neZV۲
+H|)p~(+DyY/} H>u^dЦj6ʪܤY[o9K}C)b>PY=ezM-[Eg(Xi<;\Ї~IN(]twG%`yq|Ct&_T,^2qDC+1!@|h#1…I1mC0UEKy!~/W#k+Z)îq+tUJ3+;Eh{_ xC^H`b8tZ`qZcN-*B=dcDZ#:?Zz071Q\yо/o_M2Sp+̚dw!FƲ#"R/|?RWTh)\kn 9"PDhĵa}05GhʷE~iY>kݏHðF(Zbj0B(5H Ѩm i{BsыmEh%>thbtu(uӞX*"G觗ۈCͽQy;o䔃^c-Qϛ},Q\.B4R0ˡ娌AFur(f
+"4:`W5+QߒQɤ^Beńvy=G=D?װ\¼>Z6Ghh؞YZ/ghT%{&..3(СAK:Zo:
+*DdRALG{/5~
+endstream
+endobj
+8733 0 obj
+<< /Type /Page /Contents 8734 0 R /Resources 8732 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8304 0 R >>
endobj
8735 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 396.445 null ] >>
+<< /D [ 8733 0 R /XYZ 78.37 808.885 null ] >>
endobj
8736 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 385.486 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 768.832 null ] >>
endobj
8737 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 374.527 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 757.873 null ] >>
endobj
8738 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 363.568 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 746.914 null ] >>
endobj
8739 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 352.61 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 735.955 null ] >>
endobj
8740 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 341.651 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 724.996 null ] >>
endobj
8741 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 330.692 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 714.037 null ] >>
endobj
8742 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 319.733 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 703.078 null ] >>
endobj
8743 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 308.774 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 692.119 null ] >>
endobj
8744 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 297.815 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 681.16 null ] >>
endobj
8745 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 286.856 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 670.202 null ] >>
endobj
8746 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 275.897 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 659.243 null ] >>
endobj
8747 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 264.938 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 648.284 null ] >>
endobj
8748 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 253.979 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 617.4 null ] >>
endobj
8749 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 243.021 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 606.441 null ] >>
endobj
8750 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 232.062 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 595.482 null ] >>
endobj
8751 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 221.103 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 584.523 null ] >>
endobj
8752 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 210.144 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 573.564 null ] >>
endobj
8753 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 199.185 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 562.605 null ] >>
endobj
8754 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 188.226 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 551.646 null ] >>
endobj
8755 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 540.687 null ] >>
endobj
8756 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 529.728 null ] >>
endobj
8757 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 518.769 null ] >>
endobj
8758 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 507.811 null ] >>
endobj
8759 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 496.852 null ] >>
endobj
8760 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 485.893 null ] >>
endobj
8761 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 474.934 null ] >>
endobj
8762 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 463.975 null ] >>
endobj
8763 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 453.016 null ] >>
endobj
8764 0 obj
-<< /D [ 8702 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-8701 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F78 556 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 8733 0 R /XYZ 81.077 442.057 null ] >>
endobj
-8767 0 obj
-<< /Filter /FlateDecode /Length 1700 >>
-stream
-xZn8+ tSG&fUY ;, oʒ(RIZ_$6ţ{xl=ó7'xD}s fM]Ngd%D͔$K2Ε_]/idd:5몼% ΊMQL= [*6msvYTǖe~^3p晩Ø 1~$(<VgW`'M*igܨCiUA>
-^ՈhaJ-zTiQj[oUCTx>}%R >LTȽ0FؕYV41< r .}@j7^6=Lv4F**Y=+:YC&i*۳d4a
-qX h;5lwi<W7Ys^=vR=au䟞_%wӈFVC:re !{7
-f)!.h$wFX
-I6ry[> [1 RD{#t\&8Rs`!h/{ΊV>y=0䋭o`"ͩa4CtGhBqf``ˆ?Eym,qBg"t]*lbc
-6Ѫ4Q7a>z4:W\+w~BBHID (N)Y8Eyd]#L?}us,-%lz<1;?!.QDw{r#4\6%1숄A*UۏImԞSe,9*? <r/gH-/f A™Kݣ Vq1] ĕU[~ȖMY 7W4H>B %Ւ&:
-d5.[
-endstream
+8765 0 obj
+<< /D [ 8733 0 R /XYZ 81.077 431.098 null ] >>
endobj
8766 0 obj
-<< /Type /Page /Contents 8767 0 R /Resources 8765 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8314 0 R >>
+<< /D [ 8733 0 R /XYZ 81.077 420.139 null ] >>
+endobj
+8767 0 obj
+<< /D [ 8733 0 R /XYZ 81.077 409.18 null ] >>
endobj
8768 0 obj
-<< /D [ 8766 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 398.221 null ] >>
endobj
8769 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 387.263 null ] >>
endobj
8770 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 376.304 null ] >>
endobj
8771 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 365.345 null ] >>
endobj
8772 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 354.386 null ] >>
endobj
8773 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 343.427 null ] >>
endobj
8774 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 332.468 null ] >>
endobj
8775 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 321.509 null ] >>
endobj
8776 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 310.55 null ] >>
endobj
8777 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 299.591 null ] >>
endobj
8778 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 288.632 null ] >>
endobj
8779 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 277.674 null ] >>
endobj
8780 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 266.715 null ] >>
endobj
8781 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 255.756 null ] >>
endobj
8782 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 244.797 null ] >>
endobj
8783 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 233.838 null ] >>
endobj
8784 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 222.879 null ] >>
endobj
8785 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 211.92 null ] >>
endobj
8786 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 200.961 null ] >>
endobj
8787 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 190.002 null ] >>
endobj
8788 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 179.043 null ] >>
endobj
8789 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 168.085 null ] >>
endobj
8790 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 157.126 null ] >>
endobj
8791 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 146.167 null ] >>
endobj
8792 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 135.208 null ] >>
endobj
8793 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 124.249 null ] >>
endobj
8794 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 113.29 null ] >>
endobj
8795 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 102.331 null ] >>
endobj
8796 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 472.941 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 91.372 null ] >>
endobj
8797 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-8798 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 451.023 null ] >>
+<< /D [ 8733 0 R /XYZ 81.077 80.413 null ] >>
endobj
-8799 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 440.065 null ] >>
+8732 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8800 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 429.106 null ] >>
+<< /Filter /FlateDecode /Length 1722 >>
+stream
+xZn8}WpІ``M}S}h Ai[[Yr%%i߾%Sriw_"[g r'oD}{ћ &M\-'d%DM$K2ZOM&_\H3Ht&R!1=a|\lʬh_ `ih((A3o[gEs[Mڞɩb{3Oϓզ뼜}L 0MT4a1B]DZG o[eb1:o7z&l{]h0GG2?xX"*M7D~tǀg)@ ,)2BW?{Q;tf#ƍJV 4 Y[q楜2}?R.ND ۘ1۳휡c46wÈWwgef1/p7I k70hvK0^U{W[`X!ɼR ;_~@O8ujPKZ aRDl3 pQ-Hb
+"ͽ1+{F ڋ㠒.b5 P[gSv:4dq&2Xٺ96!Xĸs/{L"(Bmkd&n[ID8A3UOIeUvϢr7@į*WDv˪$i(2pQ3DF;]"ЭÏlTEx{4HB悘IVT bq{7ѯeyB1:mV2Ƨw+[7cVwO]EVuZ{?ƁJr,~{6uzij³9ͨ\D-Y;#/vtp[
+a|Cj/8ԠX#G{&Dm?IA:B(,k{.j9/ܕ
+:ʹۚ$ao"teu]~Ns
+.+hzתol*+ I.vE/Q-W;6n3Aazc 5n`'bli$O!o7Bn+zO]#ϫ6
+endstream
+endobj
+8799 0 obj
+<< /Type /Page /Contents 8800 0 R /Resources 8798 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8862 0 R >>
endobj
8801 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 418.147 null ] >>
+<< /D [ 8799 0 R /XYZ 78.37 808.885 null ] >>
endobj
8802 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 407.188 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 768.832 null ] >>
endobj
8803 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 396.229 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 757.873 null ] >>
endobj
8804 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 385.27 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 746.914 null ] >>
endobj
8805 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 374.311 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 735.955 null ] >>
endobj
8806 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 363.352 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 724.996 null ] >>
endobj
8807 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 352.393 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 714.037 null ] >>
endobj
8808 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 321.509 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 703.078 null ] >>
endobj
8809 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 310.55 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 692.119 null ] >>
endobj
8810 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 299.591 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 681.16 null ] >>
endobj
8811 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 288.632 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 670.202 null ] >>
endobj
8812 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 277.674 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 659.243 null ] >>
endobj
8813 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 266.715 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 648.284 null ] >>
endobj
8814 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 255.756 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 637.325 null ] >>
endobj
8815 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 244.797 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 626.366 null ] >>
endobj
8816 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 233.838 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 615.407 null ] >>
endobj
8817 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 222.879 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 604.448 null ] >>
endobj
8818 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 211.92 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 593.489 null ] >>
endobj
8819 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 200.961 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 582.53 null ] >>
endobj
8820 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 190.002 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 571.571 null ] >>
endobj
8821 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 179.043 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 560.613 null ] >>
endobj
8822 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 168.085 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 549.654 null ] >>
endobj
8823 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 157.126 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 538.695 null ] >>
endobj
8824 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 146.167 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 527.736 null ] >>
endobj
8825 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 135.208 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 516.777 null ] >>
endobj
8826 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 124.249 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 505.818 null ] >>
endobj
8827 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 113.29 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 494.859 null ] >>
endobj
8828 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 102.331 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 483.9 null ] >>
endobj
8829 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 91.372 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 472.941 null ] >>
endobj
8830 0 obj
-<< /D [ 8766 0 R /XYZ 81.077 80.413 null ] >>
-endobj
-8765 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 8799 0 R /XYZ 81.077 461.982 null ] >>
endobj
-8833 0 obj
-<< /Filter /FlateDecode /Length 1847 >>
-stream
-xڽYo6~_a  ? ('}Cqڭ"y,-}GSH7K|NJ#t~B'ݓ(rIeOf'  XM43Mf7 c9-uV%NkaS03p Y5WSU%<nVj]__ )J呝=6&x&E-G+r46Y(v6o{fy3_Tu=0͢.J6d>nTOڳlz>{/j/re}[&r-Sa&Q"F/)70@h U]m_t/ouy9=嶨tqY0)G+M-Ur7,7DX3[in`pqG@
-IPDMQݬ{jF{h,<TPBbYnKU
-?/J^\0݄_
-1bUj0z0x@aŭ_qWZK"yQqƬ_WD RB!pDR@n˪ul/}w(9Qt<G1EtU]}*aY}zg'QDv
-.EGE?ofo|8 6(_ж#h\@v6GWH߁FϽ^{WϞQ^]UWA93)g٢\Kx65`ϻD5İ)%E3g:c41*fxI/OtF+b\4C -)6F8)i₸Aj̇.~^5م-?f!i^Eqo0>T}67ɁϪ#$m~B|ڽ4Lx琭 N4㑢}ޟU唅+a:
-rP?C!O\#zwbx~{\a(<B&u-y>ZԨ &`\&V _= R7C{
-kҔ }H)4vZ =Ƕhzʊ'ZcL
-YxLk+'ڶƀJ?֘%24c`=
-oex2s|/k}| z{x&ɧ.=)yLL&NCf<Զ5pJ)5 A74&D氄s яȘ Ò!.9K3ʵ9,R/)xwBM \g*_%G EQJy_*"CQJ^p!N.Xxp8;3I9o[cd9JSp<FX-
-){j7X: _"
-Ml^K8QFuj,058N)8=CD)ExS0[ ɟPQ\D@(ce*" Oxt5T2CώI d2COdT57dF/PSdv;YUN#\KgaPFIr8L8T2$% 9K~
-endstream
+8831 0 obj
+<< /D [ 8799 0 R /XYZ 81.077 451.023 null ] >>
endobj
8832 0 obj
-<< /Type /Page /Contents 8833 0 R /Resources 8831 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+<< /D [ 8799 0 R /XYZ 81.077 440.065 null ] >>
+endobj
+8833 0 obj
+<< /D [ 8799 0 R /XYZ 81.077 409.18 null ] >>
endobj
8834 0 obj
-<< /D [ 8832 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 398.221 null ] >>
endobj
8835 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 387.263 null ] >>
endobj
8836 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 358.371 null ] >>
endobj
8837 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 347.412 null ] >>
endobj
8838 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 336.453 null ] >>
endobj
8839 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 325.494 null ] >>
endobj
8840 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 672.194 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 314.535 null ] >>
endobj
8841 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 661.235 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 303.576 null ] >>
endobj
8842 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 650.276 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 292.618 null ] >>
endobj
8843 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 639.317 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 281.659 null ] >>
endobj
8844 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 628.358 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 270.7 null ] >>
endobj
8845 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 617.4 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 259.741 null ] >>
endobj
8846 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 606.441 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 248.782 null ] >>
endobj
8847 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 595.482 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 237.823 null ] >>
endobj
8848 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 584.523 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 226.864 null ] >>
endobj
8849 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 573.564 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 215.905 null ] >>
endobj
8850 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 548.657 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 204.946 null ] >>
endobj
8851 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 517.773 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 193.987 null ] >>
endobj
8852 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 488.882 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 183.028 null ] >>
endobj
8853 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 477.923 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 172.07 null ] >>
endobj
8854 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 466.964 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 161.111 null ] >>
endobj
8855 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 456.005 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 150.152 null ] >>
endobj
8856 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 445.046 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 139.193 null ] >>
endobj
8857 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 416.154 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 128.234 null ] >>
endobj
8858 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 405.195 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 117.275 null ] >>
endobj
8859 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 394.236 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 106.316 null ] >>
endobj
8860 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 383.278 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 95.357 null ] >>
endobj
8861 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 342.431 null ] >>
+<< /D [ 8799 0 R /XYZ 81.077 84.398 null ] >>
endobj
-8862 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 331.472 null ] >>
+8798 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-8863 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 320.513 null ] >>
+8865 0 obj
+<< /Filter /FlateDecode /Length 1831 >>
+stream
+xڽZo6~_a  CPX!O ([EdYZtLnNJߑwΥ:yBwW"Aa&M"VP&o6ZLuNى!V)nb0uz*A3._M՟_4z|QGYuG~]"ӞKR(avqK$JЎeldӵ}Ws޽71;8-(O-H8tqzz5w
+,VuַQELQE{TqY8@)AN Ur~Yo7*eqŧ]
+ߋ&,0/|]0T{McQ?@1^UKbRPZ]?R384n)R1:.c~6W˥J9p`~4|HX 4=0>nެуϛ#ǽutKcيVF %=0sh)hE"c_RB3$oFW#!%ּ&.{yx@<)d
+z( LGPKQ6[YOCHa/I1q2)=rNNo(.êZϖ !v2/n_ڷ1ުb("|,F C<ʼnѻ]8&m0!մ*OQb!&XAu< cG̺ ≮#/ nmW ]1s]r7C _z+W./ }7 ݨ3&rKjGYU=ׇހN: pϥ=,POЏYaDžkHapJ]x'ז
+51.6Hձ
+ o0HAK<f$'%cl ^fȋD `¡1G*F gs
+Ƃ1)Fw g`d<ybǗ=f0,oNsc<K6>eA؁BI%Rt>i+a<Lг#uƹ
+2ABɸ&cd_RJ :ɦ\-w\1tS<L~V2* ?3[= 7[Ŷ
+endstream
endobj
8864 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 309.554 null ] >>
-endobj
-8865 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 298.595 null ] >>
+<< /Type /Page /Contents 8865 0 R /Resources 8863 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8862 0 R >>
endobj
8866 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 287.636 null ] >>
+<< /D [ 8864 0 R /XYZ 78.37 808.885 null ] >>
endobj
8867 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 276.677 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 768.832 null ] >>
endobj
8868 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 265.718 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 757.873 null ] >>
endobj
8869 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 254.759 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 705.071 null ] >>
endobj
8870 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 243.801 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 694.112 null ] >>
endobj
8871 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 232.842 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 683.153 null ] >>
endobj
8872 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 221.883 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 672.194 null ] >>
endobj
8873 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 210.924 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 661.235 null ] >>
endobj
8874 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 199.965 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 650.276 null ] >>
endobj
8875 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 189.006 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 639.317 null ] >>
endobj
8876 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 178.047 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 628.358 null ] >>
endobj
8877 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 167.088 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 617.4 null ] >>
endobj
8878 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 156.129 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 606.441 null ] >>
endobj
8879 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 145.17 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 581.534 null ] >>
endobj
8880 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 134.212 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 550.65 null ] >>
endobj
8881 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 123.253 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 521.758 null ] >>
endobj
8882 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 112.294 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 510.799 null ] >>
endobj
8883 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 101.335 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 499.84 null ] >>
endobj
8884 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 90.376 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 488.882 null ] >>
endobj
8885 0 obj
-<< /D [ 8832 0 R /XYZ 81.077 79.417 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 477.923 null ] >>
endobj
-8831 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
+8886 0 obj
+<< /D [ 8864 0 R /XYZ 81.077 449.031 null ] >>
endobj
-8889 0 obj
-<< /Filter /FlateDecode /Length 1570 >>
-stream
-xڽZKo8Wi`@S`9v!8u$WrݢE2E:q{4~3C|oL7gɻɛ3 ż @ aF؁5q#C33cp1X0+L4:R 5=,j}ݞ~onjxLpHHIŀM myb;h(N84LY餅eR`[d[xøBk7L(a/sΤTٴejn.oUYgr9Ç4$6TJd(lkZKгdkX`s24Nxҏ^H@bF,FW;id7h?4*|LEM-=:(8X2pL [& N[f 8P2)l[DHXhmǙa(ÅRt#ɫn|Mc<>MdoD?q ۤ-tU(bv]3VJ}<ZR<`0WiGtyq7n=L.941a}Ql17yWr̦y45jcJNM}(v;o}fQ BJ0$hm'")$ :'+;Rɒ P.($eLЋȫuj>DfٿyUfk2M  i[_C6誴 Et]eNf! 2)K0^-cUGKN4F1v%h(:.r5>Jk|L&^QA=@VxAnm92#DCgX1l%)
-vGfs:@lP+Z(a)Z-TJd)A7ғշb*gU5Z.eK:>V_#MUH͝\oJ|کۇtQj ɵΰYK4ҁ%7(9t[8i=.o6uuڤP̛Xaj]oV!f6kLΰR}P1Ek$L@Ek4Yu˜i-vw݄h?e|䞛~=7aW6Z 0#vGdiOB .T}n4E u#AϒEy}V?AiwL hbtpzZo_ ʪR rsSҤXGqڐt&B c3.'\''?]
-endstream
+8887 0 obj
+<< /D [ 8864 0 R /XYZ 81.077 438.072 null ] >>
endobj
8888 0 obj
-<< /Type /Page /Contents 8889 0 R /Resources 8887 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+<< /D [ 8864 0 R /XYZ 81.077 427.113 null ] >>
+endobj
+8889 0 obj
+<< /D [ 8864 0 R /XYZ 81.077 416.154 null ] >>
endobj
8890 0 obj
-<< /D [ 8888 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 375.307 null ] >>
endobj
8891 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 364.349 null ] >>
endobj
8892 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 353.39 null ] >>
endobj
8893 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 342.431 null ] >>
endobj
8894 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 331.472 null ] >>
endobj
8895 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 320.513 null ] >>
endobj
8896 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 309.554 null ] >>
endobj
8897 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 298.595 null ] >>
endobj
8898 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 287.636 null ] >>
endobj
8899 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 276.677 null ] >>
endobj
8900 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 265.718 null ] >>
endobj
8901 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 254.759 null ] >>
endobj
8902 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 243.801 null ] >>
endobj
8903 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 232.842 null ] >>
endobj
8904 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 221.883 null ] >>
endobj
8905 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 210.924 null ] >>
endobj
8906 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 199.965 null ] >>
endobj
8907 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 588.508 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 189.006 null ] >>
endobj
8908 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 577.549 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 178.047 null ] >>
endobj
8909 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 566.59 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 167.088 null ] >>
endobj
8910 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 555.631 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 156.129 null ] >>
endobj
8911 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 544.672 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 145.17 null ] >>
endobj
8912 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 533.713 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 134.212 null ] >>
endobj
8913 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 522.754 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 123.253 null ] >>
endobj
8914 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 511.796 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 112.294 null ] >>
endobj
8915 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 500.837 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 101.335 null ] >>
endobj
8916 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 489.878 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 90.376 null ] >>
endobj
8917 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 478.919 null ] >>
+<< /D [ 8864 0 R /XYZ 81.077 79.417 null ] >>
endobj
-8918 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 467.96 null ] >>
-endobj
-8919 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 457.001 null ] >>
+8863 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8920 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 446.042 null ] >>
+<< /Filter /FlateDecode /Length 1653 >>
+stream
+xڽZMoIW bH+YH{ i!`̀l[ =]cx`2MMW=xƷߏggﮜiP7 D[f9+7y4DZ],X|
+0$FlIb1=*q~߿0Ҝ SP "w ͼI(]l<Ahe6]Uv3/_3LSz&4q4f H8&qbNXI@aXWIkJyȫՉl0t 3.0G30t$Yj/:TI&v
+GiOi:hhF@d"4D+udh-1[fL!uV
+ Bu9?N
+Cp!*h 蠠wHʈг"/ye3~8;/vv\{Ky&M*?'&D]5
+<L\F0BsxQd
+ehHѭ*y~h팲4F)NKǬjg UNXٺʳ۲Xw8ϡ=6o_ԧ9PÂW~w%B/
+&_~ڋN3i-Bʝ?B6^}W'4ٛ.1 险ӻli>=ʷM6XYʂ,ujM
+,CmY* n=KktE`i&鱽J%B
+'7^MJ' {[Uz"Hkq*P|Pr^ `@KxVk/G$ z6k'0p@!}ߘ|7eJz[>fA3$m\\]%/eD׷ޤPuE,RAMNǭ7)`hQ#[o$. Gk[Xϝ$N'K"C/Ol7X!ZEhzI!YI ֓0:=v~Kk9ӳmhRt81-\MqJ_^Ik@)[sڤcLW0s-׫71lD>O~n4a:6LGJ;8w͕oa_wX١B"hG+%"N=r??oM֣HP%}f;΁3a]@(]óPU
+endstream
+endobj
+8919 0 obj
+<< /Type /Page /Contents 8920 0 R /Resources 8918 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8862 0 R >>
endobj
8921 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 435.083 null ] >>
+<< /D [ 8919 0 R /XYZ 78.37 808.885 null ] >>
endobj
8922 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 424.124 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 768.832 null ] >>
endobj
8923 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 413.165 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 757.873 null ] >>
endobj
8924 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 402.207 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 746.914 null ] >>
endobj
8925 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 391.248 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 735.955 null ] >>
endobj
8926 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 360.363 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 724.996 null ] >>
endobj
8927 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 344.423 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 714.037 null ] >>
endobj
8928 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 333.464 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 703.078 null ] >>
endobj
8929 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 322.505 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 692.119 null ] >>
endobj
8930 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 311.547 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 681.16 null ] >>
endobj
8931 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 300.588 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 670.202 null ] >>
endobj
8932 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 289.629 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 659.243 null ] >>
endobj
8933 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 278.67 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 648.284 null ] >>
endobj
8934 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 267.711 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 637.325 null ] >>
endobj
8935 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 256.752 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 621.753 null ] >>
endobj
8936 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 225.868 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 610.794 null ] >>
endobj
8937 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 214.909 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 599.835 null ] >>
endobj
8938 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 203.95 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 588.876 null ] >>
endobj
8939 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 192.991 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 577.917 null ] >>
endobj
8940 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 182.032 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 566.958 null ] >>
endobj
8941 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 171.073 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 555.999 null ] >>
endobj
8942 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 160.114 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 545.04 null ] >>
endobj
8943 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 149.155 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 534.082 null ] >>
endobj
8944 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 138.197 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 523.123 null ] >>
endobj
8945 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 127.238 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 512.164 null ] >>
endobj
8946 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 116.279 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 501.205 null ] >>
endobj
8947 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 105.32 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 490.246 null ] >>
endobj
8948 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 94.361 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 479.287 null ] >>
endobj
8949 0 obj
-<< /D [ 8888 0 R /XYZ 81.077 83.402 null ] >>
-endobj
-8887 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 8919 0 R /XYZ 81.077 468.328 null ] >>
endobj
-8952 0 obj
-<< /Filter /FlateDecode /Length 2091 >>
-stream
-xڵZ]o6}_a/pa`An}YĚȒGI$Ӥ㸦}#G<^s)O~x޽@ #䓻w2Q15Q ,n=?WM5clv?jSk{eX\Q5}tiUa*oDZãl5\.Sv9<wЧ}2B|$Me/#{&#PH8
-1EEwn/ˬ[olY{'$"{tI!z؎lGk7?o<ɛ4!z$_K̂pDܱ<R!x`]EW/!gDԹ&Mϛ[d.&md
-W=զn3C %ӄ 3Y OϛHzm9#A qiBtO.%5g\)ӈ51_N j>oJF,DˢH%ҧCuN$~C,PUZAIm[-z3=H>^tm^%Z# CRLް ,>RHq_8ԙɛX9&F;WjLMrYR"pH"t@#Lv~xh&o̒pYA2*b'"؇f TGxț<;Q BG;&]?ڡϪ:Ij[sv$5|Jmu5=|, tVv[w}MQ
-M mK{ 7]X8U3>bn-\8Ƕ:r?>C =]/E^ʵc"[s81,v8|:qهp= w\*(rPXAovC:~C mߑNN҈}8S+aP$YU)4u.g@۽ߐ$~Ckle"S*)Edm΅D{UtRޏ?E9r/I͛WJfOYW&cжj4NeZeaYT6{*jT̛&nK62X0^4jf@vds[XOlFx[,y;wcqKHHN^if[ޝB]SE(xFcv=HgS+ull 23Lzzw:Wȍf[fMgjg'؅1]o퇿&BAleJ/gT&;YPkRꌁvnA=,@3lL<ߢ.H ^9yMꀀ V3N`#H8QoɯWBZPB3>Z8, P_v;z%'?w~rqLVDΉ2(R*q%ӻk8vwao} PI'DLY\XVHeŤq
-/Ƭ~ۥz_ NJL:}n͐ͤI6-D.(t>#tB,7<iF藃e
-Ze6F+^gQ&u#H近$5 SMZsIѨwgeu7+[͞FM }nI& e>S>2B;3<o쬺>z˒ ^O
-Y$E7B'
-g'e|VG.}\^vv^]& {Ѥz:צw+/y/]&:KO \LD)ەeS%t4NN.Ҩ?;̘@*g,y}m'W=ѴE#IKn<o4B#X <L.<- ’׺vm7+@`̏
-31?;%Gyqb@ H9N2kcE+
-endstream
+8950 0 obj
+<< /D [ 8919 0 R /XYZ 81.077 457.369 null ] >>
endobj
8951 0 obj
-<< /Type /Page /Contents 8952 0 R /Resources 8950 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+<< /D [ 8919 0 R /XYZ 81.077 446.41 null ] >>
+endobj
+8952 0 obj
+<< /D [ 8919 0 R /XYZ 81.077 435.451 null ] >>
endobj
8953 0 obj
-<< /D [ 8951 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 424.492 null ] >>
endobj
8954 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 754.884 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 394.16 null ] >>
endobj
8955 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 743.925 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 378.588 null ] >>
endobj
8956 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 732.966 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 367.629 null ] >>
endobj
8957 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 722.007 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 356.671 null ] >>
endobj
8958 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 711.048 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 345.712 null ] >>
endobj
8959 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 700.089 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 334.753 null ] >>
endobj
8960 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 689.131 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 323.794 null ] >>
endobj
8961 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 678.172 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 312.835 null ] >>
endobj
8962 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 667.213 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 301.876 null ] >>
endobj
8963 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 656.254 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 290.917 null ] >>
endobj
8964 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 645.295 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 260.585 null ] >>
endobj
8965 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 634.336 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 249.626 null ] >>
endobj
8966 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 623.377 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 238.667 null ] >>
endobj
8967 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 612.418 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 227.708 null ] >>
endobj
8968 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 601.459 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 216.75 null ] >>
endobj
8969 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 585.519 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 205.791 null ] >>
endobj
8970 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 574.56 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 194.832 null ] >>
endobj
8971 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 563.601 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 183.873 null ] >>
endobj
8972 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 552.642 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 172.914 null ] >>
endobj
8973 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 485.893 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 161.955 null ] >>
endobj
8974 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 474.934 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 150.996 null ] >>
endobj
8975 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 463.975 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 140.037 null ] >>
endobj
8976 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 453.016 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 129.078 null ] >>
endobj
8977 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 442.057 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 118.119 null ] >>
endobj
8978 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 431.098 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 89.596 null ] >>
endobj
8979 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 420.139 null ] >>
-endobj
-8980 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 409.18 null ] >>
+<< /D [ 8919 0 R /XYZ 81.077 78.637 null ] >>
endobj
-8981 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 398.221 null ] >>
+8918 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
8982 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 387.263 null ] >>
+<< /Filter /FlateDecode /Length 1990 >>
+stream
+xڵZMs8Wj.N'A嚩]6[,J-PTlkoȲZ\,~B'_( ~G-& >]1hD'l&$azFh&_ڤݿg>|L$%&IDJ0iĄUDb(a{<&a~y^quEW/f$ aRxF
+(D)ac'獝2b.'۶NYf77jSoyY/2h4\yL<FCD“ď7IUEa!P.(" S.Gm/%J"#orbZx^ +
+i^F;si$I csG}Q_:Q юJ[f7NfY[iN юʲXg[faYT6{,*fyͮ32'pю̃}v3xj:nV®)ǯnGǬc.RQ--DE.pa::B qDB@kf um90"PY=PiliU ~c-crg\ \
+endstream
+endobj
+8981 0 obj
+<< /Type /Page /Contents 8982 0 R /Resources 8980 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8862 0 R >>
endobj
8983 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 376.304 null ] >>
+<< /D [ 8981 0 R /XYZ 78.37 808.885 null ] >>
endobj
8984 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 335.457 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 768.832 null ] >>
endobj
8985 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 324.498 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 757.873 null ] >>
endobj
8986 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 313.539 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 746.914 null ] >>
endobj
8987 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 302.58 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 735.955 null ] >>
endobj
8988 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 291.621 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 724.996 null ] >>
endobj
8989 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 280.662 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 714.037 null ] >>
endobj
8990 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 269.703 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 703.078 null ] >>
endobj
8991 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 258.745 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 692.119 null ] >>
endobj
8992 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 247.786 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 681.16 null ] >>
endobj
8993 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 236.827 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 670.202 null ] >>
endobj
8994 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 225.868 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 659.243 null ] >>
endobj
8995 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 214.909 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 648.284 null ] >>
endobj
8996 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 203.95 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 637.325 null ] >>
endobj
8997 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 192.991 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 621.967 null ] >>
endobj
8998 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 182.032 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 611.008 null ] >>
endobj
8999 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 171.073 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 600.05 null ] >>
endobj
9000 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 160.114 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 589.091 null ] >>
endobj
9001 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 149.155 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 524.38 null ] >>
endobj
9002 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 138.197 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 513.422 null ] >>
endobj
9003 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 127.238 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 502.463 null ] >>
endobj
9004 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 116.279 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 491.504 null ] >>
endobj
9005 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 105.32 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 480.545 null ] >>
endobj
9006 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 94.361 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 469.586 null ] >>
endobj
9007 0 obj
-<< /D [ 8951 0 R /XYZ 81.077 83.402 null ] >>
-endobj
-8950 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 8981 0 R /XYZ 81.077 458.627 null ] >>
endobj
-9010 0 obj
-<< /Filter /FlateDecode /Length 1955 >>
-stream
-xZ]o:}ϯ0{[ 6we]$(*7;dtדKhQ<!9sF
-3krog_$b&Ij೫3͌&%D3B5]=57_?NgZ 2D&FbB~}nBq524m8X  2{^ uʬh/ l~TE ܛqhq]<d>///_PS_s{MWI
-}leVu^2f7UL GW|
-bem4\~OSPç dp(DA-1S) ~r. }DE
-u?z {eAqC#22^k)qA(*$mT|j햗v8C?/h_ >٭B}~׷.$M8!:X86c[RNCjEPzmYeM\G)'`[b 0h.GW,9}4=N#p ?B
-q`v|q+]EY HGrny"cXZO~K߄V;"ܶCʺ
-ǃ۶WàOTǢ.996i3R[D}+0"68俐*, S%:覐"%JN`;ʙs\Wc_ZDweލw\/v4Śdoh?/c]@IYֽ]vl)&:Abw|X3D*NFh>_NFo =ͼmg 5 aDq/3$NFh_8 ”(vSW8 ô ^mVQj̺A)K z֯S_ymrh
-ۜ/9_3Oq߽!&TsKag/?[[N)U$j|qc^l+O%1l;]oP7KN<ĤS:1ɂSp+B;l:DTDQ+_Q&>;(wJe&")QB"4 PЩU'}C7uW/*T
-ŵ)hg҉q2o^?:/
-endstream
+9008 0 obj
+<< /D [ 8981 0 R /XYZ 81.077 447.668 null ] >>
endobj
9009 0 obj
-<< /Type /Page /Contents 9010 0 R /Resources 9008 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+<< /D [ 8981 0 R /XYZ 81.077 436.709 null ] >>
+endobj
+9010 0 obj
+<< /D [ 8981 0 R /XYZ 81.077 425.75 null ] >>
endobj
9011 0 obj
-<< /D [ 9009 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 414.791 null ] >>
endobj
9012 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 374.527 null ] >>
endobj
9013 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 363.568 null ] >>
endobj
9014 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 352.61 null ] >>
endobj
9015 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 341.651 null ] >>
endobj
9016 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 330.692 null ] >>
endobj
9017 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 319.733 null ] >>
endobj
9018 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 308.774 null ] >>
endobj
9019 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 297.815 null ] >>
endobj
9020 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 286.856 null ] >>
endobj
9021 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 275.897 null ] >>
endobj
9022 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 264.938 null ] >>
endobj
9023 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 253.979 null ] >>
endobj
9024 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 243.021 null ] >>
endobj
9025 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 232.062 null ] >>
endobj
9026 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 221.103 null ] >>
endobj
9027 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 210.144 null ] >>
endobj
9028 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 575.556 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 199.185 null ] >>
endobj
9029 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 564.598 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 188.226 null ] >>
endobj
9030 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 553.639 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 177.267 null ] >>
endobj
9031 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 542.68 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 166.308 null ] >>
endobj
9032 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 531.721 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 155.349 null ] >>
endobj
9033 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 520.762 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 144.39 null ] >>
endobj
9034 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 509.803 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 133.431 null ] >>
endobj
9035 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 498.844 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 122.473 null ] >>
endobj
9036 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 487.885 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 111.514 null ] >>
endobj
9037 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 476.926 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 100.555 null ] >>
endobj
9038 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 412.169 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 89.596 null ] >>
endobj
9039 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 401.21 null ] >>
-endobj
-9040 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 390.251 null ] >>
+<< /D [ 8981 0 R /XYZ 81.077 78.637 null ] >>
endobj
-9041 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 379.292 null ] >>
+8980 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9042 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 368.334 null ] >>
+<< /Filter /FlateDecode /Length 1930 >>
+stream
+xZ]o:}ϯ0{6wyټmb+6JMEZ2EIwYxfHΜBg3:D_w7oI,|vswD333i]]oY63ep6EgBnﺢʺx.Bq54\a߱~5]l]> ?"#eQ@R1z`m*VM[mf%aRV<Vxa4y͓kʺ?cY=(fhrK?g_f*U= :mXgju[ :#qv_mWZ;E5BKG%Adb*+ [It>F+R4~l#`yC RJ&`Ț)B9%R^\m[(Fbqў=lMh"ՙɃ1" <$aB^17s
+`۪mhN˪~Ar!ݹ= XT:(A,֓ߌjQdPDcHv^Uw*n_>ރ(|._y>^ѽ I|/A79Oyy/,NqBBsrQH&l玼f?Vv&fkw$]9ubNsrе˟b&³GKS 
+rHjnkLi!%~Gko5YSg/^ot}Pc6,QәƉ=꣫hwW1$4a9Cjv8yy%p6(JY ߽ 4tӡ8ə:y?,Z_<:
+b ?65Pn
+endstream
+endobj
+9041 0 obj
+<< /Type /Page /Contents 9042 0 R /Resources 9040 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8862 0 R >>
endobj
9043 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 357.375 null ] >>
+<< /D [ 9041 0 R /XYZ 78.37 808.885 null ] >>
endobj
9044 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 346.416 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 768.832 null ] >>
endobj
9045 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 335.457 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 757.873 null ] >>
endobj
9046 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 324.498 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 746.914 null ] >>
endobj
9047 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 313.539 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 735.955 null ] >>
endobj
9048 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 302.58 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 724.996 null ] >>
endobj
9049 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 291.621 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 714.037 null ] >>
endobj
9050 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 280.662 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 703.078 null ] >>
endobj
9051 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 269.703 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 692.119 null ] >>
endobj
9052 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 258.745 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 681.16 null ] >>
endobj
9053 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 247.786 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 670.202 null ] >>
endobj
9054 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 236.827 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 659.243 null ] >>
endobj
9055 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 225.868 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 648.284 null ] >>
endobj
9056 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 214.909 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 619.392 null ] >>
endobj
9057 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 203.95 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 608.433 null ] >>
endobj
9058 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 192.991 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 597.474 null ] >>
endobj
9059 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 182.032 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 586.515 null ] >>
endobj
9060 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 171.073 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 575.556 null ] >>
endobj
9061 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 160.114 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 564.598 null ] >>
endobj
9062 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 149.155 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 553.639 null ] >>
endobj
9063 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 138.197 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 542.68 null ] >>
endobj
9064 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 127.238 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 531.721 null ] >>
endobj
9065 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 116.279 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 520.762 null ] >>
endobj
9066 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 105.32 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 456.005 null ] >>
endobj
9067 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 94.361 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 445.046 null ] >>
endobj
9068 0 obj
-<< /D [ 9009 0 R /XYZ 81.077 83.402 null ] >>
-endobj
-9008 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9041 0 R /XYZ 81.077 434.087 null ] >>
endobj
-9071 0 obj
-<< /Filter /FlateDecode /Length 1923 >>
-stream
-xZn6+ A" hh1,3Er%̠R/t<_@7Ql^>i<x|"gpny&b3"Ζw32SI"Id|6WXߗ?H=SHKɔ&0~}&.xݘbty%ag\7_%##aD}tK4<nIW7Y$_/^큾=>2g꣏ɺ:G-+U(d%0Y}Hn6Ί<+̢(
-_
-[:R{)9XS-@;ZA"s35i"& mA52vq3UnQ҃|xn|NK 5G)I=L]|NaVyhV&
-'A`U!*Z.qxB!3XCǬ%ݦ06'x-<N}5ۋi"jBv{ۋu8<m@]MT+s.L&!5Ҵ o1ic֋ۭ3a; u&T*J%aGs75S"PǰlKBhv/J]nH@)dO
-1(П4UUV{`0kS9@$Ew 7Q*LMAv0inuz/531D'^MqQ
-A)bSEa
-cO_ƄtpX 1yLJajѯQ{3uX Cr*i(F嫲idzυTQM>MYeˢ9pԓ}5Qm״9)HE_^ L
-endstream
+9069 0 obj
+<< /D [ 9041 0 R /XYZ 81.077 423.128 null ] >>
endobj
9070 0 obj
-<< /Type /Page /Contents 9071 0 R /Resources 9069 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+<< /D [ 9041 0 R /XYZ 81.077 412.169 null ] >>
+endobj
+9071 0 obj
+<< /D [ 9041 0 R /XYZ 81.077 401.21 null ] >>
endobj
9072 0 obj
-<< /D [ 9070 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 390.251 null ] >>
endobj
9073 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 379.292 null ] >>
endobj
9074 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 368.334 null ] >>
endobj
9075 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 357.375 null ] >>
endobj
9076 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 346.416 null ] >>
endobj
9077 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 335.457 null ] >>
endobj
9078 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 324.498 null ] >>
endobj
9079 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 313.539 null ] >>
endobj
9080 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 302.58 null ] >>
endobj
9081 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 291.621 null ] >>
endobj
9082 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 280.662 null ] >>
endobj
9083 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 269.703 null ] >>
endobj
9084 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 258.745 null ] >>
endobj
9085 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 247.786 null ] >>
endobj
9086 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 236.827 null ] >>
endobj
9087 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 225.868 null ] >>
endobj
9088 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 214.909 null ] >>
endobj
9089 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 203.95 null ] >>
endobj
9090 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 528.732 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 192.991 null ] >>
endobj
9091 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 517.773 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 182.032 null ] >>
endobj
9092 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 506.814 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 171.073 null ] >>
endobj
9093 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 495.855 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 160.114 null ] >>
endobj
9094 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 484.896 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 149.155 null ] >>
endobj
9095 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 473.938 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 138.197 null ] >>
endobj
9096 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 462.979 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 127.238 null ] >>
endobj
9097 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 452.02 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 116.279 null ] >>
endobj
9098 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 441.061 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 105.32 null ] >>
endobj
9099 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 430.102 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 94.361 null ] >>
endobj
9100 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 419.143 null ] >>
-endobj
-9101 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 408.184 null ] >>
+<< /D [ 9041 0 R /XYZ 81.077 83.402 null ] >>
endobj
-9102 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 397.225 null ] >>
+9040 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9103 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 386.266 null ] >>
+<< /Filter /FlateDecode /Length 1884 >>
+stream
+xڭZMo8W苃-.^L3Be&F<<tۗdtn3vl񑯪ȪzTO~O$__>ͯ>%l‘VAxB&J"II" ’Lɿ
+ky~wROR2 È_{hvLəkk$0m̀9g:?*S~m}B!Uvަ̬! T D hDTJ69oĭymuu}# e&@ '1m5]DLmȺfvGkϑ8hS-0,.5flkH2_x7o05fM
+HMm)ܯ}f&1"t;'B!$ш0ER n27LgxvK2͚T4vac36M`C6o~2niEYONReM ',ˢ~7.qvtq}Cմ &8cT/1sQnr#:LCL7TjKO͎inJ0M [nҧg,sѭ~_f0u7o_z:ٗ}Pp@`BN,"lL
+!9JX0A`w46siY7XKN\;O :|29! {ܯ NJ|&gkn;[#vPìif[C `6V
+'?Us5>*rκ|r>
+@P BqV DJd{qv OV]̭~r
+h&EQR gjҺJW/fC.z&#Ofr>(d>쒓B)bF9D-%]1R`C޽0F|Èѹ/%w7,a 8i0%3 [#)[غmJk_^(F}ZdՆL"4)B"+ڰ; _c$A2,x)}؜KWcKgjY;fKH
+W7wXqS*:Qv`Q-Uͣ ym*(D蓱&)R0XaZ>jo/lUey*گ|G$kF/.HT"<J*a. SO"4'#ݼY4ݿjMhf ~L1GdK#@1mΞf[|5Yق.Bm`"|۬=xȶN1x-83'$gyau<-ҢW=)Wݥ&Hn"4U!51
+.anq{F2 ?>s@
+endstream
+endobj
+9102 0 obj
+<< /Type /Page /Contents 9103 0 R /Resources 9101 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8862 0 R >>
endobj
9104 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 375.307 null ] >>
+<< /D [ 9102 0 R /XYZ 78.37 808.885 null ] >>
endobj
9105 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 364.349 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 768.832 null ] >>
endobj
9106 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 353.39 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 757.873 null ] >>
endobj
9107 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 342.431 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 746.914 null ] >>
endobj
9108 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 331.472 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 735.955 null ] >>
endobj
9109 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 320.513 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 724.996 null ] >>
endobj
9110 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 304.573 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 714.037 null ] >>
endobj
9111 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 293.614 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 703.078 null ] >>
endobj
9112 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 282.655 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 692.119 null ] >>
endobj
9113 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 271.696 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 681.16 null ] >>
endobj
9114 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 260.737 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 670.202 null ] >>
endobj
9115 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 249.778 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 659.243 null ] >>
endobj
9116 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 238.819 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 648.284 null ] >>
endobj
9117 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 227.86 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 637.325 null ] >>
endobj
9118 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 216.901 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 572.568 null ] >>
endobj
9119 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 200.961 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 561.609 null ] >>
endobj
9120 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 190.002 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 550.65 null ] >>
endobj
9121 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 179.043 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 539.691 null ] >>
endobj
9122 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 168.085 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 528.732 null ] >>
endobj
9123 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 157.126 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 517.773 null ] >>
endobj
9124 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 146.167 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 506.814 null ] >>
endobj
9125 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 135.208 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 495.855 null ] >>
endobj
9126 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 124.249 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 484.896 null ] >>
endobj
9127 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 113.29 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 473.938 null ] >>
endobj
9128 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 102.331 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 462.979 null ] >>
endobj
9129 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 91.372 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 452.02 null ] >>
endobj
9130 0 obj
-<< /D [ 9070 0 R /XYZ 81.077 80.413 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 441.061 null ] >>
endobj
-9069 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9133 0 obj
-<< /Filter /FlateDecode /Length 1851 >>
-stream
-xYo6~_a/0M)Àmr"Ė\Yn߾)8>5)>}ߙznD;܈$i G >=K4fj{ O?N{ II8%F1#r<˗0(/f÷oe5ɪp{]rnq|xE ;`s@
-_FU6ϫ&!O*j+7Z\يоl^GÄ"03,뺜m\C/mm,/i(oX35rbRK^7Ey[<mܞMxVD LFh79K{)@mNP\C -r6+ŕ}$r>KjM]]뚊Yd3R҅<>IY"ֱa-U&X:Vp;o9}[*ѶR4%&<5#&BF`u
-$
-'#tc!BgW@)M/2J₵Ư$ S+-0:MDL]i.Dh gN<ewaQqjRnoǨA& Xoi[&"F[ף`|2-uw''dWP JPP
-RNSµєz)I)s7dAI,)L|4͖tcjzTT)U3Y#.Hk+M$[mdm(ЏPcv~(O>(@-4яۿ 
-[o"4pJ#
-rҁrg_Oz賔[*Ojѓ2)X'0P8f_?i+>ոF@ IVJp6c'g4Uk\ B&
-endstream
+9131 0 obj
+<< /D [ 9102 0 R /XYZ 81.077 430.102 null ] >>
endobj
9132 0 obj
-<< /Type /Page /Contents 9133 0 R /Resources 9131 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+<< /D [ 9102 0 R /XYZ 81.077 419.143 null ] >>
+endobj
+9133 0 obj
+<< /D [ 9102 0 R /XYZ 81.077 408.184 null ] >>
endobj
9134 0 obj
-<< /D [ 9132 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 397.225 null ] >>
endobj
9135 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 386.266 null ] >>
endobj
9136 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 375.307 null ] >>
endobj
9137 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 364.349 null ] >>
endobj
9138 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 731.11 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 348.408 null ] >>
endobj
9139 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 720.151 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 337.449 null ] >>
endobj
9140 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 709.192 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 326.49 null ] >>
endobj
9141 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 698.233 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 315.532 null ] >>
endobj
9142 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 687.274 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 304.573 null ] >>
endobj
9143 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 676.315 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 293.614 null ] >>
endobj
9144 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 665.356 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 282.655 null ] >>
endobj
9145 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 654.397 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 271.696 null ] >>
endobj
9146 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 643.439 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 260.737 null ] >>
endobj
9147 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 632.48 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 244.797 null ] >>
endobj
9148 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 621.521 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 233.838 null ] >>
endobj
9149 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 610.562 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 222.879 null ] >>
endobj
9150 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 599.603 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 211.92 null ] >>
endobj
9151 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 551.126 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 200.961 null ] >>
endobj
9152 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 540.167 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 190.002 null ] >>
endobj
9153 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 529.209 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 179.043 null ] >>
endobj
9154 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 518.25 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 168.085 null ] >>
endobj
9155 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 507.291 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 157.126 null ] >>
endobj
9156 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 496.332 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 146.167 null ] >>
endobj
9157 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 485.373 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 135.208 null ] >>
endobj
9158 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 474.414 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 124.249 null ] >>
endobj
9159 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 463.455 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 113.29 null ] >>
endobj
9160 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 452.496 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 102.331 null ] >>
endobj
9161 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 441.537 null ] >>
+<< /D [ 9102 0 R /XYZ 81.077 91.372 null ] >>
endobj
-9162 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 430.578 null ] >>
-endobj
-9163 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 419.619 null ] >>
+9101 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9164 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 408.661 null ] >>
+<< /Filter /FlateDecode /Length 1869 >>
+stream
+xZKoFWEF;.
+=@%&,
+EvwVK.%kq)ٙF|8(N_0b L &ьPC˔8xkvK2X
+ y=.G:/8=S\ COm8^/2K񾬦Ywgs(Jy)U~pI߭{7)sC&1|M[¬aL)/d9ʯGC wOU)2C8}KHhɢ4{7
+5G,xY{jµX%}t UUY[-/5}rUk=Gvfoh&ZPޜ{y<[e*ʫluZeDzZuxrI":^ ǫ*뺜$3͉1kGϲ%)FA\ >on_XZѫ(G*!ꨘBײ1x7<y \h9.g}^Kb8)q1_0_Vl2uUyd3Rџ]q;l_hoA
+1W7yV>e`"b{'HQG8 ,tD&#I@
+#@K'R-M :M\Дpl4%^kJhJ= B?_I%%܉GBTRHRQi:EQy$QDXԎ!`H6ԏ
+ΓO?
+ `l%F?&`~-KYԭG(H@.7 F`]g5*M*܈.>z|Y9/@,׏%ٰc) X+Pt/5T2IXg0y'qQ4W%1beĪX;\' A\ĺX;\' Aٍy7
+endstream
+endobj
+9163 0 obj
+<< /Type /Page /Contents 9164 0 R /Resources 9162 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8862 0 R >>
endobj
9165 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 397.702 null ] >>
+<< /D [ 9163 0 R /XYZ 78.37 808.885 null ] >>
endobj
9166 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 386.743 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 768.832 null ] >>
endobj
9167 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 375.784 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 757.873 null ] >>
endobj
9168 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 364.825 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 746.914 null ] >>
endobj
9169 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 318.273 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 735.955 null ] >>
endobj
9170 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 307.314 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 724.996 null ] >>
endobj
9171 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 296.355 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 714.037 null ] >>
endobj
9172 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 285.396 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 703.078 null ] >>
endobj
9173 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 274.437 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 692.119 null ] >>
endobj
9174 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 263.478 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 681.16 null ] >>
endobj
9175 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 252.519 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 670.202 null ] >>
endobj
9176 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 241.561 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 659.243 null ] >>
endobj
9177 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 230.602 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 648.284 null ] >>
endobj
9178 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 219.643 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 637.325 null ] >>
endobj
9179 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 208.684 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 588.508 null ] >>
endobj
9180 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 197.725 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 577.549 null ] >>
endobj
9181 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 186.766 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 566.59 null ] >>
endobj
9182 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 175.807 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 555.631 null ] >>
endobj
9183 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 164.848 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 544.672 null ] >>
endobj
9184 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 153.889 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 533.713 null ] >>
endobj
9185 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 142.93 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 522.754 null ] >>
endobj
9186 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 131.971 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 511.796 null ] >>
endobj
9187 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 121.013 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 500.837 null ] >>
endobj
9188 0 obj
-<< /D [ 9132 0 R /XYZ 81.077 110.054 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 489.878 null ] >>
endobj
-9131 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-9191 0 obj
-<< /Filter /FlateDecode /Length 2033 >>
-stream
-xڭZ[o6~ϯ0ЇX.2Àغa2` bˉY2d嶮}L8y$ZϕBGW#:턮D;ɻ71&b~%:b#f(ьPFDZaN>_z^ۑ!Vka`F,bB䏫tϋ*?ɩj_΋ig6Ń~/zznfy#_+2AQ(&L`bla "
- svFPYx݊DIJvf^W[WlrLr"3-9|Dɚ.t
-D\TYh='*d8>'ٓz z-c_YAqiqU[41c'Sf %%O_,pz8\Sm7d(E8ܯ,%`1 [|5`Cg3p< TM+9.s .v绉co^t-j ("T`R)Yp=ַ=H69mQ^Kv#DXl{s8 pZzY?9
-<tYwbZðoa2Km2TM0YLPH[7?,Ӫ[/ _ˊn)Ĝ6t` &ѮơSChH{`+;J6!P CKVżUvMV8ݦ;58ՇoU?EYU=͑ذE<BF֒dR!z*4(M
-0Ժn0W:8CfA0׽ p: Pr- %.h<Pؼo,W<
-endstream
+9189 0 obj
+<< /D [ 9163 0 R /XYZ 81.077 478.919 null ] >>
endobj
9190 0 obj
-<< /Type /Page /Contents 9191 0 R /Resources 9189 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+<< /D [ 9163 0 R /XYZ 81.077 467.96 null ] >>
+endobj
+9191 0 obj
+<< /D [ 9163 0 R /XYZ 81.077 457.001 null ] >>
endobj
9192 0 obj
-<< /D [ 9190 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 446.042 null ] >>
endobj
9193 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 435.083 null ] >>
endobj
9194 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 424.124 null ] >>
endobj
9195 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 413.165 null ] >>
endobj
9196 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 402.207 null ] >>
endobj
9197 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 355.382 null ] >>
endobj
9198 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 344.423 null ] >>
endobj
9199 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 333.464 null ] >>
endobj
9200 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 614.411 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 322.505 null ] >>
endobj
9201 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 603.452 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 311.547 null ] >>
endobj
9202 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 592.493 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 300.588 null ] >>
endobj
9203 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 581.534 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 289.629 null ] >>
endobj
9204 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 570.575 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 278.67 null ] >>
endobj
9205 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 559.616 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 267.711 null ] >>
endobj
9206 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 548.657 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 256.752 null ] >>
endobj
9207 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 537.698 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 245.793 null ] >>
endobj
9208 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 526.74 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 234.834 null ] >>
endobj
9209 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 515.781 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 223.875 null ] >>
endobj
9210 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 504.822 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 212.916 null ] >>
endobj
9211 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 493.863 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 201.957 null ] >>
endobj
9212 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 482.904 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 190.999 null ] >>
endobj
9213 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 471.945 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 180.04 null ] >>
endobj
9214 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 460.986 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 169.081 null ] >>
endobj
9215 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 450.027 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 158.122 null ] >>
endobj
9216 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 439.068 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 147.163 null ] >>
endobj
9217 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 428.109 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 106.316 null ] >>
endobj
9218 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 417.151 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 95.357 null ] >>
endobj
9219 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 406.192 null ] >>
+<< /D [ 9163 0 R /XYZ 81.077 84.398 null ] >>
endobj
-9220 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 395.233 null ] >>
-endobj
-9221 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 384.274 null ] >>
+9162 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9222 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 373.315 null ] >>
+<< /Filter /FlateDecode /Length 2256 >>
+stream
+xڭZ[۸~_a kFK&-)ǖȒ inPhxa( hv3f^DC~^|u3S2^`(Y,r&F<&\|GbA1I覺+7f2kŒ>G|Y46gLYSjAGCd$k8I0IoHm]ѭJOf{+m ̨̖Mӽ>Jl i1FpY""Da#se%dZ9ӵ{UnC^z$]ohٓeDSH! S36<N4C
+"6RNsOPMWZߞ@:
+vڈkۃŮ=K 0#aO&  r~)=W~4UWj6y5ִeMYLfʚr`K
+xRQ8%EROf<-]deP.n*i].)[%z5u*`!a"њUսc-Xߥ÷))/o5!1Nu#ZG<=P;O&VPr<78L&F]^Ǻp֫|yT1$;)8̜w'$2HPQ"Z [K,R"75 C^e?fH0br}u<:MDc!] ҹS"8oq= 2gn8`<͝_mQH'$<C9CF|"("aSZy٥ٽ*VGyX~0 J^g) wm=?%R{p Hx+ <tcߵG9KEPe ]*C}l <ejrUB<6};څPȃ$]eɶ'
+ǐ(Ta$a2[Ո^\():$NP<+͹g[:oUBγ?ć/,ͳ*=z-q]Q'sb\:P M@\aރcAªd=Ld? '
+tSn"أWO="B Xӄ G |5"Ha2mQNY$_㻄/]~P=rcOOnK=OT{j &8_PoT1o!Qƛ2>knOjYs',
+qc#U0.a83zglȦULnƎ>r|wRvgg$Hcv=|x]^/Zv{/iE=+J(]vh
+7>@%C|?*:s p.޷U =Jf<M4rb\&³>qncרUOToR
+d8S->ש<.f"
+:z Qo$03:.IN
+endstream
+endobj
+9221 0 obj
+<< /Type /Page /Contents 9222 0 R /Resources 9220 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8862 0 R >>
endobj
9223 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 362.356 null ] >>
+<< /D [ 9221 0 R /XYZ 78.37 808.885 null ] >>
endobj
9224 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 351.397 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 768.832 null ] >>
endobj
9225 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 340.438 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 757.873 null ] >>
endobj
9226 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 329.479 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 746.914 null ] >>
endobj
9227 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 304.573 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 735.955 null ] >>
endobj
9228 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 293.614 null ] >>
-endobj
-113 0 obj
-<< /D [ 9190 0 R /XYZ 79.37 279.517 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 647.288 null ] >>
endobj
9229 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 216.753 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 636.329 null ] >>
endobj
9230 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 205.794 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 625.37 null ] >>
endobj
9231 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 194.835 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 614.411 null ] >>
endobj
9232 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 183.876 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 603.452 null ] >>
endobj
9233 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 172.917 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 592.493 null ] >>
endobj
9234 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 161.958 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 581.534 null ] >>
endobj
9235 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 150.999 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 570.575 null ] >>
endobj
9236 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 140.04 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 559.616 null ] >>
endobj
9237 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 129.081 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 548.657 null ] >>
endobj
9238 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 118.122 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 537.698 null ] >>
endobj
9239 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 107.164 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 526.74 null ] >>
endobj
9240 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 96.205 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 515.781 null ] >>
endobj
9241 0 obj
-<< /D [ 9190 0 R /XYZ 81.077 85.246 null ] >>
-endobj
-9189 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9221 0 R /XYZ 81.077 504.822 null ] >>
endobj
-9244 0 obj
-<< /Filter /FlateDecode /Length 2052 >>
-stream
-xZk6>
-;n3Mh<Z;x z{^?Qm.
-!X`"Ӭ2l -h7Yfwy]E
-vY}e+b\
-e>=3xQe\v^dHJY}u.V?$ ^oG3xG`.]U*&uΔZŜDbJ
-Xܤ@lj<K<[}#TO33Zb@Yl"'E AzS^iz꽞z͒<[8[я'lψ{Û~C립ͻ͖
-6RĴS]^~! \kT v16mvWhQ":0j~E-}&uu9mڮכԶ#XJÇ+5cͮ2 RۏP۶I$'u: &
-^f&)JWXGz'6O|Dh,S`6 ߅bC*)O";7IFI.G3;3<+(!& ׎hEF+G0qmuڪ"/$KUUq3ZݻD -e.hSFgW(T@'* Q_}{@"4v\k>Jz֣\~~>LOݯ¢ǭuXeqnn0xf\ҸZ[탟PƋȠN ũGCb87 g>KU=F2nv;a!
-fM9]
-gj5uTQB1ȮqzC݂XǍMX(%t4aÜU$[rzC>N]vYj-I?mWN+ǃG@tf"ZC9 B#,c#-])e8*~z/RuNͷX%$p}yeU4dC\QUOvZ[s[pF%5FTL,/
-j#]Sc">43cN*j Ħ+aXO7e
-endstream
+9242 0 obj
+<< /D [ 9221 0 R /XYZ 81.077 493.863 null ] >>
endobj
9243 0 obj
-<< /Type /Page /Contents 9244 0 R /Resources 9242 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+<< /D [ 9221 0 R /XYZ 81.077 482.904 null ] >>
+endobj
+9244 0 obj
+<< /D [ 9221 0 R /XYZ 81.077 471.945 null ] >>
endobj
9245 0 obj
-<< /D [ 9243 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 460.986 null ] >>
endobj
9246 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 450.027 null ] >>
endobj
9247 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 439.068 null ] >>
endobj
9248 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 428.109 null ] >>
endobj
9249 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 417.151 null ] >>
endobj
9250 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 724.996 null ] >>
-endobj
-117 0 obj
-<< /D [ 9243 0 R /XYZ 79.37 699.542 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 406.192 null ] >>
endobj
9251 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 644.44 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 395.233 null ] >>
endobj
9252 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 633.481 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 384.274 null ] >>
endobj
9253 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 622.522 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 373.315 null ] >>
endobj
9254 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 611.563 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 362.356 null ] >>
endobj
9255 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 600.604 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 337.449 null ] >>
endobj
9256 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 589.645 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 326.49 null ] >>
endobj
9257 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 578.687 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 259.741 null ] >>
endobj
9258 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 567.728 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 248.782 null ] >>
endobj
9259 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 556.769 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 237.823 null ] >>
endobj
9260 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 545.81 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 226.864 null ] >>
+endobj
+113 0 obj
+<< /D [ 9221 0 R /XYZ 79.37 215.357 null ] >>
endobj
9261 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 534.851 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 150.003 null ] >>
endobj
9262 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 523.892 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 139.044 null ] >>
endobj
9263 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 512.933 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 128.085 null ] >>
endobj
9264 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 501.974 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 117.126 null ] >>
endobj
9265 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 491.015 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 106.167 null ] >>
endobj
9266 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 480.056 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 95.208 null ] >>
endobj
9267 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 464.116 null ] >>
+<< /D [ 9221 0 R /XYZ 81.077 84.249 null ] >>
endobj
-9268 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 453.157 null ] >>
-endobj
-9269 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 442.198 null ] >>
+9220 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9270 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 426.258 null ] >>
+<< /Filter /FlateDecode /Length 2066 >>
+stream
+xZko_".j_#@,P) v?,ValɕLԃ"d
+_yr4e< N=XaQAGvXef a|g-)r<ZN-n;B?3[TORBA=[SPF;&Huf-nrzgEޱ4q'c
+ހCq c%2֗*$,'dڋ|G3 ǣփkKCD4w٪-̩%Jy4h9A){WEݺa#h/#C/y
+endstream
+endobj
+9269 0 obj
+<< /Type /Page /Contents 9270 0 R /Resources 9268 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8862 0 R >>
endobj
9271 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 415.299 null ] >>
+<< /D [ 9269 0 R /XYZ 78.37 808.885 null ] >>
endobj
9272 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 384.415 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 768.832 null ] >>
endobj
9273 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 373.456 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 757.873 null ] >>
endobj
9274 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 362.497 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 746.914 null ] >>
endobj
9275 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 351.538 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 735.955 null ] >>
endobj
9276 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 340.579 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 724.996 null ] >>
endobj
9277 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 329.621 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 714.037 null ] >>
endobj
9278 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 318.662 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 703.078 null ] >>
endobj
9279 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 307.703 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 692.119 null ] >>
endobj
9280 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 296.744 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 681.16 null ] >>
endobj
9281 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 285.785 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 670.202 null ] >>
endobj
9282 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 274.826 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 659.243 null ] >>
+endobj
+117 0 obj
+<< /D [ 9269 0 R /XYZ 79.37 633.788 null ] >>
endobj
9283 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 263.867 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 578.687 null ] >>
endobj
9284 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 252.908 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 567.728 null ] >>
endobj
9285 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 241.949 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 556.769 null ] >>
endobj
9286 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 230.99 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 545.81 null ] >>
endobj
9287 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 220.032 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 534.851 null ] >>
endobj
9288 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 209.073 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 523.892 null ] >>
endobj
9289 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 156.271 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 512.933 null ] >>
endobj
9290 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 145.312 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 501.974 null ] >>
endobj
9291 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 134.353 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 491.015 null ] >>
endobj
9292 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 123.394 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 480.056 null ] >>
endobj
9293 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 112.435 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 469.098 null ] >>
endobj
9294 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 101.476 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 458.139 null ] >>
endobj
9295 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 90.517 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 447.18 null ] >>
endobj
9296 0 obj
-<< /D [ 9243 0 R /XYZ 81.077 79.558 null ] >>
-endobj
-9242 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9269 0 R /XYZ 81.077 436.221 null ] >>
endobj
-9299 0 obj
-<< /Filter /FlateDecode /Length 2059 >>
-stream
-xڵZ]o6}ϯu%(0.X/BPl&jKYIg6KI<+{.5xv?ó"aOW\G*'nt32%$e ,f78i׻RrdyhLFDk ނ\66(c*0[A6jmUAo]ge
-<P46@fP
-[[&yQd}vW
->ūoL,! 3<,'"98cGYۦfvˣ(Ld"C+T o ƺi Ot9+NNhmǘbR>N`#WfH0bIs:}lʑ|P4k"qd0oB֑?8+T ̧V" h_1B5HO`d&c&P&|vQ2 ch<_G=L*9ʔO&*KO`xi#f
-C4 v;u-clֿ`kv2 Ds#3N'QJb;jWm~-4]_ljzgy? c`@Xh#e䒂 @%[$/ .f߻}Nq.[:GeMY?L' )uRI$N_<0NU\\!$Zcx<:R4\_M*lU~%Xj?+s&"E`iZo53yRDftF8b@w_&yRY6 fL[MWMm5wNc~Z71&{-<0$r":^,Q]l`
-M2P6
-WihsѕT1E-OALag<;L>Nƥ0WeĤnLjסsLnjwnr w}t@ 6qgnMbxd@mP2ZӴdS0i(N</90x;Ym"3<*2LkDL:amuD-;b4mU2q e$⊬/T:'X6Ɵ@]DT֋@CGs.u {}}@zu˩EkU_;rM,u6`,!W۹ݰ.'
-endstream
+9297 0 obj
+<< /D [ 9269 0 R /XYZ 81.077 425.262 null ] >>
endobj
9298 0 obj
-<< /Type /Page /Contents 9299 0 R /Resources 9297 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+<< /D [ 9269 0 R /XYZ 81.077 414.303 null ] >>
+endobj
+9299 0 obj
+<< /D [ 9269 0 R /XYZ 81.077 398.363 null ] >>
endobj
9300 0 obj
-<< /D [ 9298 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 387.404 null ] >>
endobj
9301 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 376.445 null ] >>
endobj
9302 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 360.505 null ] >>
endobj
9303 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 349.546 null ] >>
endobj
9304 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 318.662 null ] >>
endobj
9305 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 720.015 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 307.703 null ] >>
endobj
9306 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 709.056 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 296.744 null ] >>
endobj
9307 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 698.097 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 285.785 null ] >>
endobj
9308 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 687.138 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 274.826 null ] >>
endobj
9309 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 676.179 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 263.867 null ] >>
endobj
9310 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 665.22 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 252.908 null ] >>
endobj
9311 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 654.261 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 241.949 null ] >>
endobj
9312 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 643.302 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 230.99 null ] >>
endobj
9313 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 632.344 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 220.032 null ] >>
endobj
9314 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 616.403 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 209.073 null ] >>
endobj
9315 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 605.444 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 198.114 null ] >>
endobj
9316 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 594.486 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 187.155 null ] >>
endobj
9317 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 583.527 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 176.196 null ] >>
endobj
9318 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 572.568 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 165.237 null ] >>
endobj
9319 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 529.728 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 154.278 null ] >>
endobj
9320 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 518.769 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 143.319 null ] >>
endobj
9321 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 507.811 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 90.517 null ] >>
endobj
9322 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 496.852 null ] >>
+<< /D [ 9269 0 R /XYZ 81.077 79.558 null ] >>
endobj
-9323 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 485.893 null ] >>
-endobj
-9324 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 474.934 null ] >>
+9268 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9325 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 463.975 null ] >>
+<< /Filter /FlateDecode /Length 2094 >>
+stream
+xڭZo6~_W
+>D$R&$:cT͒YnwTP~ܻ,%")JnD=/VʝnqnNI"Pg&dU틶;du->oC̣ !2¤pːq&uT:BQ(>W3Wm-(k-¹ruz_Quޖm,zp^9#6!.uPMnI:|K9؆G^{ŮTgJ(_SI̜,.i\zY-eMwut"NFpzs6DМH᨝p0FDU o x}aZd,F,+|6}b_~ !*﫺Ġ0x-E艉8Į$:Ja2Ή|\o0~,z|m
+Й:NQI%@zgf%#;"
+/<~;1Q} Y72̠=rAU T_v#,ekkH2"
+9OsX KNt<IiU]Ek
+@ф?h<D,{;pvmiMWMm5f쏓9gZ5=
+mcfODT{iߛ"* t7b! "r*@BqA<IOׄ@k<A,tbYt~
+; 8;\5&F%ynLVWס dܓrZ ^_u~; +?> Jep/J&X9O(ƖJXmK[<yk"M.</:DB+SJ75 H:em7P̋{|4iU<m1Ex2f4|K.-89,zx<0H7nzsQ=>l? G_n?cS7;VYˢ#j.;{)FkOrYK v R:aceRnj&
+" _:\UPu2H_\Cz6;)%ԉ| \ qN_W$ϱ_\Qg5p}nM1s-
+im wxPmav:#)a>Tw=o͗La cݘۦ^<bTLp?Ld?sRj+IihUb
+@8{72%t; éU{ '.䇕߫;w'-sxt)0T褻;o_n]b}QD
+$N*@AxzS_ֆ)(L`xn[տ܅+iD%K)WE/>Xř΀s'UKh.K?*e?D?Mӯgga.|!_p
+J
+\ |,=܍\P^VeGΆ Ǿ:RIIWsy{º
+endstream
endobj
-121 0 obj
-<< /D [ 9298 0 R /XYZ 79.37 440.513 null ] >>
+9324 0 obj
+<< /Type /Page /Contents 9325 0 R /Resources 9323 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8862 0 R >>
endobj
9326 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 372.17 null ] >>
+<< /D [ 9324 0 R /XYZ 78.37 808.885 null ] >>
endobj
9327 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 361.211 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 768.832 null ] >>
endobj
9328 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 350.252 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 757.873 null ] >>
endobj
9329 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 310.401 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 746.914 null ] >>
endobj
9330 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 299.443 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 735.955 null ] >>
endobj
9331 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 288.484 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 724.996 null ] >>
endobj
9332 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 238.67 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 714.037 null ] >>
endobj
9333 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 227.711 null ] >>
-endobj
-125 0 obj
-<< /D [ 9298 0 R /XYZ 79.37 203.004 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 703.078 null ] >>
endobj
9334 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 135.2 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 692.119 null ] >>
endobj
9335 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 124.241 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 681.16 null ] >>
endobj
9336 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 113.282 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 670.202 null ] >>
endobj
9337 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 102.324 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 654.294 null ] >>
endobj
9338 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 91.365 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 643.336 null ] >>
endobj
9339 0 obj
-<< /D [ 9298 0 R /XYZ 81.077 80.406 null ] >>
-endobj
-9297 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9324 0 R /XYZ 81.077 632.377 null ] >>
endobj
-9342 0 obj
-<< /Filter /FlateDecode /Length 2391 >>
-stream
-xڵZ[o~ϯ0цû
-D,"dZ,k(Uۦ>J:֪>b|]F24%q8dfv Qrzs4(g3S%˲|6Xe벧/op&9_Ԏv!gSQl/Sfg"W`ܪ
-9{ૢ"eHD֘6NxIdWɕ'SQh6&_뉔F(}v; ]}:*M 3e Mut]c€8<h;+3AV򲬬A,B9IS Y-6L&
-D݊
-"1\߉qau.]/fE&.AHGL_+ cZFY3ȼMT ;k[ }VeK5Tijr=]W~VYT*8s"S &M+Wjʗ3~С=˟=r{(W9pa",%zWlJf2XZXL$^:ˆhKU'T[BA.t`q;m5z2.лGuuvkN%& tQt>k+϶Wa|(/60.ڄ4]>}p2 0ӶLHK$o>|=
- 弌Β0.x/%.60.zCY?ԟOqn:*О1s&C?<94(ca=z`᠉81ɟ|8,ٹ(1Iꡯx=P1gץ^R^p]iecV20s{Sz}92>k:!}:̭j(
-G~(7R`4§Khc )-H7I 9_6Re铞8ǽ_vWr#5^
-oVD3pUuMqaDB+)~vn4
-O&ώd)- FE[2`>:~jcpcB1銰a"%SCOj9-L?A<g/7&"blL">+sp1;rC[]UR/ݛOτ1ħo~"TЖxUo_Oۨ/C֧njl"">}8qGgw9P}hZxk+PTq$LJg*ͪP}ж Ozs/ҍas _RlFСٌ `8~ Kc
-endstream
+9340 0 obj
+<< /D [ 9324 0 R /XYZ 81.077 621.418 null ] >>
endobj
9341 0 obj
-<< /Type /Page /Contents 9342 0 R /Resources 9340 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 8886 0 R >>
+<< /D [ 9324 0 R /XYZ 81.077 610.459 null ] >>
+endobj
+9342 0 obj
+<< /D [ 9324 0 R /XYZ 81.077 599.5 null ] >>
endobj
9343 0 obj
-<< /D [ 9341 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 588.541 null ] >>
endobj
9344 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 577.582 null ] >>
endobj
9345 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 566.623 null ] >>
endobj
9346 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 550.716 null ] >>
endobj
9347 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 668.209 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 539.757 null ] >>
endobj
9348 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 657.25 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 528.798 null ] >>
endobj
9349 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 646.291 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 517.839 null ] >>
endobj
9350 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 605.444 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 506.881 null ] >>
endobj
9351 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 594.486 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 464.157 null ] >>
endobj
9352 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 583.527 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 453.198 null ] >>
endobj
9353 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 572.568 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 442.239 null ] >>
endobj
9354 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 561.609 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 431.281 null ] >>
endobj
9355 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 550.65 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 420.322 null ] >>
endobj
9356 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 521.758 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 409.363 null ] >>
endobj
9357 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 510.799 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 398.404 null ] >>
+endobj
+121 0 obj
+<< /D [ 9324 0 R /XYZ 79.37 375.025 null ] >>
endobj
9358 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 499.84 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 306.696 null ] >>
endobj
9359 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 423.128 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 295.737 null ] >>
endobj
9360 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 412.169 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 284.778 null ] >>
endobj
9361 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 401.21 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 244.961 null ] >>
endobj
9362 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 390.251 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 234.002 null ] >>
endobj
9363 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 379.292 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 223.043 null ] >>
endobj
9364 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 368.334 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 173.246 null ] >>
endobj
9365 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 357.375 null ] >>
+<< /D [ 9324 0 R /XYZ 81.077 162.287 null ] >>
endobj
-9366 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 346.416 null ] >>
+125 0 obj
+<< /D [ 9324 0 R /XYZ 79.37 137.663 null ] >>
endobj
-9367 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 335.457 null ] >>
+9323 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9368 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 324.498 null ] >>
+<< /Filter /FlateDecode /Length 2341 >>
+stream
+xڵZ[o}ϯ0Ї;
+'a[uebۓLCx%]3̑G`3;c9KUejMmfѾx_dޱm;6l鮍?Ξ98L֡YIJ'GO$0v=`"_~>M05>彮*[h~:flA᣿k;(RrLFUczN\B!M]8J3<K8͉ rQ̭ɨ1 0 [닔HXx# a}9Uv:81̐ 68ޮo:{hIV\hZRWjy[y,ed"#x >b7& ^A=П}r4 3JfO O!%GʛtP2Q8<8-^]E1ld"N~h%I%8V<>$r#񤧅ba5^Uq,}iK񲤎ccmy:qI/!ؔ dl6w]nu+z\bt{~Gľz-ƽęG?@L!u&qT}SW$Qjz֚T8ZsE0;&@G--ڞA?cƫ!K rjy]f}\ߜodӷfh /׀A; \l(;|w117pd'a736L x!A 䭕AuTڒ!5y֥]~g,ϷqMy
+jTZ<2_ 6 ҳeLɏ`hdv+0Q]f6Ef}.2!Ip$tW–4Pڧԥ.w] ZeQAq <}Ic>YAr>z_D쑹#wG2zL#ɧ¢b{CH>£J
+^CmK 3'&1Ũ\cԌ:#X!$Rh1#$1g=7Lu( d/T\23:QQ%}}Juy؂7i]U넰ܫu݈kŨA(K= TGC> R[KTX/C{ J'7KEBmS
+]VR{_lwoe[ ҕ nԂQK7
+endstream
+endobj
+9367 0 obj
+<< /Type /Page /Contents 9368 0 R /Resources 9366 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9414 0 R >>
endobj
9369 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 313.539 null ] >>
+<< /D [ 9367 0 R /XYZ 78.37 808.885 null ] >>
endobj
9370 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 302.58 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 768.832 null ] >>
endobj
9371 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 291.621 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 757.873 null ] >>
endobj
9372 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 280.662 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 746.914 null ] >>
endobj
9373 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 269.703 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 735.955 null ] >>
endobj
9374 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 258.745 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 724.996 null ] >>
endobj
9375 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 217.898 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 714.037 null ] >>
endobj
9376 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 206.939 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 703.078 null ] >>
endobj
9377 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 195.98 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 692.119 null ] >>
endobj
9378 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 185.021 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 681.16 null ] >>
endobj
9379 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 174.062 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 602.456 null ] >>
endobj
9380 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 163.103 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 591.497 null ] >>
endobj
9381 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 152.144 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 580.538 null ] >>
endobj
9382 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 141.185 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 539.691 null ] >>
endobj
9383 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 130.226 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 528.732 null ] >>
endobj
9384 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 119.268 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 517.773 null ] >>
endobj
9385 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 108.309 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 506.814 null ] >>
endobj
9386 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 97.35 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 495.855 null ] >>
endobj
9387 0 obj
-<< /D [ 9341 0 R /XYZ 81.077 86.391 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 484.896 null ] >>
endobj
-9340 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F20 186 0 R /F19 184 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+9388 0 obj
+<< /D [ 9367 0 R /XYZ 81.077 456.005 null ] >>
endobj
-9391 0 obj
-<< /Filter /FlateDecode /Length 2186 >>
-stream
-xڭYKo8Wt~;a
-K[M}
-D1N8H49n[0wҫҀT"߬hڱtJ'NUZ䈤0 ZH!CRPio@4fp*-VDҧu,WC$VH7ΝGDJu
- f+xX.XW{hjەo[Ze]!OTe}Ia{xUBJ ZՇC(1`1>u1CR$06٫{L1Cw Zb;~+Ȑkpg9nA=vQe~fږ]aڗ۝惛O󽷇J(Φ .Iit!L$DzC'T:' qB=s
-
-wZ٫@]")CrU@hmʯ꣔#-h,~(xhMv3)!&*{<}Y}U"z€$/A1D}x
-.1<Cjдv뮏 0UjUw@HƳcSwjxɲZYv~Dyl;JpGšƫZևr.QcI#9bd,lAeU<vN5Zl 神ű˲|}FBpF,GyC vP%eECv‘A O#E
-C`U|# Ζ
-*%! 닊9#ҔiO+bi0c11%87tH$$(d2l"̩3) O [u-˗ls[~=:,A(Kdq] ٣qƨdHp]17HB&]߃c^Wώ!٬־
-i|L´=ya 0ϡ<(ϡ$RƲ$&n˦uD!B2  Uƒ߄S oBMU|<%fQV+DS$I
-6 RhDp*)~GNCM
-Zk1XS  &>"߹@AGf0,IjWkn5c7pɿ}=f'ܱ99Ӄ} XY)mLX(!i"8M ovLDhZ)]ExULqBY<C#ʉ9y1#+<mUqԶG6| վM VݿD"2Cx#2I" I{[Vlmvep  UcLDXOpWsh
-O[>݀\7(8WnykxdClO$8Nβ WHđ_ɲyJ#4i#{RPHCN${Çz԰l+>TJ&m9S
-endstream
+9389 0 obj
+<< /D [ 9367 0 R /XYZ 81.077 445.046 null ] >>
endobj
9390 0 obj
-<< /Type /Page /Contents 9391 0 R /Resources 9389 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R /Annots 9425 0 R >>
+<< /D [ 9367 0 R /XYZ 81.077 434.087 null ] >>
endobj
-9425 0 obj
-[ 9388 0 R ]
-endobj
-9388 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 89.997 482.318 101.952 492.521 ]/A << /S /GoTo /D (section.0.13) >> >>
+9391 0 obj
+<< /D [ 9367 0 R /XYZ 81.077 357.375 null ] >>
endobj
9392 0 obj
-<< /D [ 9390 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 346.416 null ] >>
endobj
9393 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 335.457 null ] >>
endobj
9394 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 324.498 null ] >>
endobj
9395 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 313.539 null ] >>
endobj
9396 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 302.58 null ] >>
endobj
9397 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 291.621 null ] >>
endobj
9398 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 280.662 null ] >>
endobj
9399 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 269.703 null ] >>
endobj
9400 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 258.745 null ] >>
endobj
9401 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 247.786 null ] >>
endobj
9402 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 236.827 null ] >>
endobj
9403 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 225.868 null ] >>
endobj
9404 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 214.909 null ] >>
endobj
9405 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 203.95 null ] >>
endobj
9406 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 192.991 null ] >>
endobj
9407 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-129 0 obj
-<< /D [ 9390 0 R /XYZ 79.37 591.945 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 152.144 null ] >>
endobj
9408 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 449.186 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 141.185 null ] >>
endobj
9409 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 400.37 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 130.226 null ] >>
endobj
9410 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 354.541 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 119.268 null ] >>
endobj
9411 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 343.582 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 108.309 null ] >>
endobj
9412 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 332.624 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 97.35 null ] >>
endobj
9413 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 321.665 null ] >>
+<< /D [ 9367 0 R /XYZ 81.077 86.391 null ] >>
endobj
-9414 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 310.706 null ] >>
-endobj
-9415 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 281.814 null ] >>
+9366 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F20 186 0 R /F19 184 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-9416 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 270.855 null ] >>
+9418 0 obj
+<< /Filter /FlateDecode /Length 2274 >>
+stream
+xZKۺϯ0HJ[tn]@0[ؒ+ə=GޢD4ŏ!ϋ.?-?|Wlф -$j$AXaL3-na,42R2=b&F?ƏMU?bvzD/T]֭?g
+S)(Ȁ%9)8pe><$E 4"St]Wntѩ #uYuc~ <L/U,j&-XD7n X0 ۤ,$O$wk҂E? I4f&-XDh˾ɷb/8
+I6:ڴ0_Z7ZScD7B)vi#B8RrX:-bLo B214S)4XǨu,WݩI[5t yUqOlѺ '8l%Ot A4a)}e$+?Gݬm7?&0$ݦ+7{bD_!3xX.XW{hjەo-D[¾#f*z~Z Zp=;/cL #XK.~.dH)!yN zsS BgZcP @ g!cl~Q۲2Zrs|p~vSi4Aե ?n2dlPI*8!xϟ>}1 M/Vakh2.|㯣Ma1HaXt>#&(Hy}U.jh!U* 6巫꣔#-h}u(xhMϤo) &?޺}Y}'X{Etu$8or:.1<CjдvjsAU9)ҪJ2c̨ƳcSwjxɲZYv~Dyl;JpW3^4^*>Ri(5F2(TcKF`Kz.c5hI8/.YQI jSmȓyC vLBGCv Gȋ6LyjWG4O0&,& ˮ>iS^Ae4K#g<a%-w]IHP"dA͆[>UM-W-˗D~a{ul6]Kdq] ٣qQȐa[c™t}'gy]HCY}*<7Sޅi{㽅~wXy,(GbfFy."pf",,I i#dȮ-m} MBuB8Ax!TŷΛ,e!}=~Hdkeb8(CzS$aEI*.#tUP9 )2'8ȎVnOݲ%ݯmq_@iGWem _,Ic~_CIa~~r M)zפ̾Rg^7βٞ&>>'0TxY)" Ѳ|G^p3|-jFr4jTWujRIxyIDUHGJp]:k|޿ >"$Ϣ/#n苊ۿ%lLwf8f2T&b=N6K>`Ћ_7voz3l]¼ZUf#pe<8w %C}H>Eh+~ہ]lſ~b8L7 ,b|Y,B?iezSeL8+S𪸞 (cѴsWNL.y1VxP(ڂr۳m-)
+ɶUcLdlc`?L
+Wsh
+:j۫G>>p<+땼= o5IU O 6 )>zoIyI~>ѣL<~ѓFC/IhMo;'C%JIR5#|%6] p(U rE|^[
+endstream
endobj
9417 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 230.008 null ] >>
+<< /Type /Page /Contents 9418 0 R /Resources 9416 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9414 0 R /Annots 9457 0 R >>
endobj
-9418 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 219.049 null ] >>
+9457 0 obj
+[ 9415 0 R ]
+endobj
+9415 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 89.997 423.245 101.952 433.449 ]/A << /S /GoTo /D (section.0.13) >> >>
endobj
9419 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 166.247 null ] >>
+<< /D [ 9417 0 R /XYZ 78.37 808.885 null ] >>
endobj
9420 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 155.289 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 768.832 null ] >>
endobj
9421 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 144.33 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 757.873 null ] >>
endobj
9422 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 133.371 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 746.914 null ] >>
endobj
9423 0 obj
-<< /D [ 9390 0 R /XYZ 81.077 122.412 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 735.955 null ] >>
endobj
-133 0 obj
-<< /D [ 9390 0 R /XYZ 79.37 110.905 null ] >>
+9424 0 obj
+<< /D [ 9417 0 R /XYZ 81.077 724.996 null ] >>
endobj
-9389 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+9425 0 obj
+<< /D [ 9417 0 R /XYZ 81.077 714.037 null ] >>
endobj
-9428 0 obj
-<< /Filter /FlateDecode /Length 2677 >>
-stream
-xڥZK8WƤ>00@f`h`鶰Hr;o*H-=SYb+t0_ѣow>~I"d'ww *M┈xȘMv?BZ2H$SFnD+wyڼ)n&~?~f$%i#yH,QxMn++9y&%{„iѣE1Ј<ۭrE<mQCWsSrUe37_7>/|egtSeM?Ǎ.lG(=gG[VAGRzS̿P!hXa3hŦ
-:6nòbTC"$ ;$sNMF)s Vrp,:Q)yE2Ͷ5iѺPeـ#11>fi娱6U8+1~ > g-ow&11 H0Svv\+IE$UBjֆ超f^gKm7m?Gm;Xî_rq7NR:E\Սyɪ5 *aRPhmj}; 7 _Pnӳ=J
-TK}l$q-J^Wоsd7etB F h<!&a]i S[V4벃Yuٯ`J*"]E& i]xz0pŤ<c⊑9G#ۜ f]8>
-BxmF=ڠh ?ݚigzY EDvqfY 8>3ot )YZP[~q{IRh[nfu_e^4s_LQ3K!U4 #`nvpgJ_;9LcR֣fA=c[h
-H'04;Gt5sdӞڡšCỹK!2<$Kz%P*An#Tȿ#{h"A)Ih3`WM
-R(޴yI'm5TYQjWou0\Bٳ¶+L
-8$R<y.)A9Ҟp\q9! Xt /wtiW~WͦŒx+_e }g<,kǎ ] K\akE
-vHp"K(Iw'z ͛VD$Z0Dt(zmNgrpi\+X "5C8 @.s_:xǝt]=,K\?ǔ/sYsѦVpީIN>Ɨf@mVР Iw `]4mK pwlM
-wYnj^Ŏ+ݟ
-B pxN{FehC<Ӄ|ƓEDR6R_ܽ?nop
-endstream
+9426 0 obj
+<< /D [ 9417 0 R /XYZ 81.077 703.078 null ] >>
endobj
9427 0 obj
-<< /Type /Page /Contents 9428 0 R /Resources 9426 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+<< /D [ 9417 0 R /XYZ 81.077 692.119 null ] >>
+endobj
+9428 0 obj
+<< /D [ 9417 0 R /XYZ 81.077 681.16 null ] >>
endobj
9429 0 obj
-<< /D [ 9427 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 670.202 null ] >>
endobj
9430 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 619.932 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 659.243 null ] >>
endobj
9431 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 608.973 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 648.284 null ] >>
endobj
9432 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 598.014 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 637.325 null ] >>
endobj
9433 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 587.055 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 626.366 null ] >>
endobj
9434 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 576.096 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 615.407 null ] >>
endobj
9435 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 527.279 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 604.448 null ] >>
endobj
9436 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 516.32 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 593.489 null ] >>
endobj
9437 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 505.362 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 582.53 null ] >>
endobj
9438 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 494.403 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 571.571 null ] >>
endobj
9439 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 447.578 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 560.613 null ] >>
endobj
9440 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 436.619 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 549.654 null ] >>
+endobj
+129 0 obj
+<< /D [ 9417 0 R /XYZ 79.37 530.441 null ] >>
endobj
9441 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 425.66 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 392.664 null ] >>
endobj
9442 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 414.702 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 348.096 null ] >>
endobj
9443 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 403.743 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 305.667 null ] >>
endobj
9444 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 392.784 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 294.708 null ] >>
endobj
9445 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 381.825 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 283.749 null ] >>
endobj
9446 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 370.866 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 272.791 null ] >>
endobj
9447 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 359.907 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 261.832 null ] >>
endobj
9448 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 348.948 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 234.64 null ] >>
endobj
9449 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 337.989 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 223.681 null ] >>
endobj
9450 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 327.03 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 184.534 null ] >>
endobj
9451 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 316.071 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 173.575 null ] >>
endobj
9452 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 305.113 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 122.473 null ] >>
endobj
9453 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 294.154 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 111.514 null ] >>
endobj
9454 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 265.262 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 100.555 null ] >>
endobj
9455 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 254.303 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 89.596 null ] >>
endobj
9456 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 243.344 null ] >>
+<< /D [ 9417 0 R /XYZ 81.077 78.637 null ] >>
endobj
-9457 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 232.385 null ] >>
-endobj
-9458 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 221.426 null ] >>
+133 0 obj
+<< /D [ 9417 0 R /XYZ 79.37 67.98 null ] >>
endobj
-9459 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 210.467 null ] >>
+9416 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R /F70 185 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9460 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 199.509 null ] >>
+<< /Filter /FlateDecode /Length 2679 >>
+stream
+xڥZo8~_a/6a_e`{` CX8[r%I)̾!?3ߐ&hݻ6phB'IJx2I"")?~녻Ro{ѳJo]6yaʦktq:i:IIXAbpwbeYtN
+AX*P.>}Z(EQ`<&QL^
+<l5bD1/RZx=o6iʈd͗HF,Q G{
+C#X0E:|-҄tDijO:DZ-lSN⧣Uy,yx6OW g";pGi5M
+a28o6tp!7hj+37 UB?u3_I>W2"A\2LQoW<Uu^mŷgt*`<$J{U]@y(+)UtT"ʊƞФwJs_޲v kA^Aa]i@բ_ux^~A:1dт#|E\zG/x]pw܍i^aׄAIq?q-<䪏 ",&y? XB $#p[6srȷlrQq|.7ܥlrݩ2)؇d(gO(31d"<˓;ѳ(tZ.3/L&bH ;M7.'1$D&idxVMv&_?=iVsIIJ2
+K
+aDiO$ t8؜iJa/Y,O~t4hV?fӏbIGSRFY =c{W";WfQ]5\dɰ(Iw'z ͛VD$$dȕ%Ci`I\+Xe"5C8 @.s_:xǭq BZʄ?E.Ac9̇n9BlhSwjo+N8T}$yS?˿_SlVOc
+endstream
+endobj
+9459 0 obj
+<< /Type /Page /Contents 9460 0 R /Resources 9458 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9414 0 R >>
endobj
9461 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 188.55 null ] >>
+<< /D [ 9459 0 R /XYZ 78.37 808.885 null ] >>
endobj
9462 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 177.591 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 619.932 null ] >>
endobj
9463 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 166.632 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 608.973 null ] >>
endobj
9464 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 155.673 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 598.014 null ] >>
endobj
9465 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 144.714 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 587.055 null ] >>
endobj
9466 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 115.822 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 576.096 null ] >>
endobj
9467 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 104.863 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 527.279 null ] >>
endobj
9468 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 93.905 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 516.32 null ] >>
endobj
9469 0 obj
-<< /D [ 9427 0 R /XYZ 81.077 82.946 null ] >>
-endobj
-9426 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F73 189 0 R /F69 183 0 R /F26 662 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9459 0 R /XYZ 81.077 505.362 null ] >>
endobj
-9472 0 obj
-<< /Filter /FlateDecode /Length 1568 >>
-stream
-xYMoFWE~Ҁ@@Cuk
-BVt)IwHJ]I5b>ΛY6ɛ~oN~_HZ&x2]0XDXM43ьP͒:sbM:ibI!(W~DŽquP0= u _Z?[~o}zŲ*4 n 08!;=S\uW+߮!+OG*eD4F,:s}U)˼gE+=XpMT);.]Xγ\]utfOLR/{b vFht~k*O!uMUY(Q\ ӲޚkWּb#RkNeX
-!z֬-\޻H1"/XaRd{C2KTCZ˱8
-!z4fJ}G*D)F9.7ڡPCES) j@r
- witЛh/
-O5W\76k#
-bk#u2x>m1se,oQf{sFb)PQT #4R)>6l+6x_ qYzBZ#SC,t]{k8ʚ5 m]Vy^igTSoXpM-U:Dnٜ}ܬ%:-4'FH-!-
-,wiBEis:XkisxٳbtJ(S0}?Om)aq2BT>6Nx#*"ug!f
-aqc|pcK64{pI9#'e4SnSWP^葘K5<hɔ+Wo
-wkCIVn)T׳OdS)S}c( `(~UXhܻ:s~$%`jXxIdYEuC^޶_j\mC2u?cs1p۝7F,~ѥyqŲ*ZVf[jMKUXҴf51;BBMYwX/dQ'1q}t`!#cth(_wF| h=d +t84cCRI#43
-endstream
+9470 0 obj
+<< /D [ 9459 0 R /XYZ 81.077 494.403 null ] >>
endobj
9471 0 obj
-<< /Type /Page /Contents 9472 0 R /Resources 9470 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+<< /D [ 9459 0 R /XYZ 81.077 447.578 null ] >>
+endobj
+9472 0 obj
+<< /D [ 9459 0 R /XYZ 81.077 436.619 null ] >>
endobj
9473 0 obj
-<< /D [ 9471 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 425.66 null ] >>
endobj
9474 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 414.702 null ] >>
endobj
9475 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 403.743 null ] >>
endobj
9476 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 392.784 null ] >>
endobj
9477 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 381.825 null ] >>
endobj
9478 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 370.866 null ] >>
endobj
9479 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 359.907 null ] >>
endobj
9480 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 348.948 null ] >>
endobj
9481 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 337.989 null ] >>
endobj
9482 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 327.03 null ] >>
endobj
9483 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 316.071 null ] >>
endobj
9484 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 305.113 null ] >>
endobj
9485 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 294.154 null ] >>
endobj
9486 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 265.262 null ] >>
endobj
9487 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 254.303 null ] >>
endobj
9488 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 615.407 null ] >>
-endobj
-137 0 obj
-<< /D [ 9471 0 R /XYZ 79.37 603.9 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 243.344 null ] >>
endobj
9489 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 538.546 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 232.385 null ] >>
endobj
9490 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 527.587 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 221.426 null ] >>
endobj
9491 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 516.628 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 210.467 null ] >>
endobj
9492 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 505.669 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 199.509 null ] >>
endobj
9493 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 494.71 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 188.55 null ] >>
endobj
9494 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 483.751 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 177.591 null ] >>
endobj
9495 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 472.792 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 166.632 null ] >>
endobj
9496 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 461.834 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 155.673 null ] >>
endobj
9497 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 450.875 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 144.714 null ] >>
endobj
9498 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 439.916 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 115.822 null ] >>
endobj
9499 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 428.957 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 104.863 null ] >>
endobj
9500 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 417.998 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 93.905 null ] >>
endobj
9501 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 407.039 null ] >>
-endobj
-9502 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 396.08 null ] >>
+<< /D [ 9459 0 R /XYZ 81.077 82.946 null ] >>
endobj
-9503 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 385.121 null ] >>
+9458 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R /F73 189 0 R /F69 183 0 R /F26 662 0 R /F78 556 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9504 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 374.162 null ] >>
+<< /Filter /FlateDecode /Length 1570 >>
+stream
+xYnF}Wȋ _ H 
+4}ߚE"]rIi+;㼘{93k:ɛ~oN~:94b"L":affb4#TzJO5<R%Nkac0()AcB}HDX(J偅8/Hџ{-L<noep6E(EM[¬ 4FnimOWoVxRU #ҥ"_gnV\="{:e"og,2^mՄkl28btمmVyvj1";b#bO̡6|[\WUˋ2IbKpqZ[ݒhʚldRj͉ 3F^ϚUT77{_)F %+ PLxoHXBI6w<6 \B96G!F,Q._s"pJ@Rt\,oy= 5DP4͑B6
+g-Ϊ}UO̽<Ao}!@vTjAY|,ka<p#ͶEn6:DU.Mȼ7q~qYk0umv8mNЉ;{VN `jprFz-%LANݓz[ʇ o^%D}T6ƌT9ANPtjC_U}/|`ئ\PgP^FR=xL 9)r6*84z$ƒp(Nbp'S^|G* 1H$+A?7~o&q©Y1 X)8LЭ}}*~UXΜ_27q
+endstream
+endobj
+9503 0 obj
+<< /Type /Page /Contents 9504 0 R /Resources 9502 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9414 0 R >>
endobj
9505 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 363.203 null ] >>
+<< /D [ 9503 0 R /XYZ 78.37 808.885 null ] >>
endobj
9506 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 352.244 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 768.832 null ] >>
endobj
9507 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 341.286 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 757.873 null ] >>
endobj
9508 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 330.327 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 746.914 null ] >>
endobj
9509 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 319.368 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 735.955 null ] >>
endobj
9510 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 308.409 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 724.996 null ] >>
endobj
9511 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 297.45 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 714.037 null ] >>
endobj
9512 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 286.491 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 703.078 null ] >>
endobj
9513 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 275.532 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 692.119 null ] >>
endobj
9514 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 264.573 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 681.16 null ] >>
endobj
9515 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 253.614 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 670.202 null ] >>
endobj
9516 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 242.655 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 659.243 null ] >>
endobj
9517 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 196.827 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 648.284 null ] >>
endobj
9518 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 185.868 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 637.325 null ] >>
endobj
9519 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 174.91 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 626.366 null ] >>
endobj
9520 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 163.951 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 615.407 null ] >>
+endobj
+137 0 obj
+<< /D [ 9503 0 R /XYZ 79.37 603.9 null ] >>
endobj
9521 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 152.992 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 538.546 null ] >>
endobj
9522 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 142.033 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 527.587 null ] >>
endobj
9523 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 131.074 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 516.628 null ] >>
endobj
9524 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 120.115 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 505.669 null ] >>
endobj
9525 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 109.156 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 494.71 null ] >>
endobj
9526 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 98.197 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 483.751 null ] >>
endobj
9527 0 obj
-<< /D [ 9471 0 R /XYZ 81.077 87.238 null ] >>
-endobj
-9470 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9503 0 R /XYZ 81.077 472.792 null ] >>
endobj
-9530 0 obj
-<< /Filter /FlateDecode /Length 1883 >>
-stream
-xڵZ]o6ϯ8/fߢ2lh׭ 0VYreIW}E8M|tsxx>H刎~<HxӗI&$:b#f(ьPF뱑9ٿK I&3A S2F̈́l,||8)O_OWuND@KHsL?E5GٳuU˟"?\N=@@IN)v aFzl?j{io]&<|tH'0¹jRhI&\k/['['^a*yy=130vd L|ԩ"&^ 3zVEϦmw狪V~qvF!SiNED;u5o5##yD
-G?D}X5Y_^jC1"*R-a}
-N/CP}Wdh|džeTy "#Wh
-4!ZhOaϔ) {0f}k{nh=JaLVFzU:$mڈ n޸36$x%NjhH pl[5W(ۄpkڴ&fMq(_-8!:`hU=6Dʷeu]w?:g# ZcWkPFhl7/zEIYuzef-|>-#Sz3A۹٨ FqhI((!]0B cP~m־6CYKh2: xs$]_0*" ",@o6
-Em;^4vKW3h}$xS)ږl*"3Fڞ|S<pWJXT}<biGhDS/;A5<ZFUҬ*z{Y;.YB6(_yLٌvY/CS 9G9DߋsׇpNQ#iʺpuy>VKW[iY`
- O
-хh&7˫}:Q'S9NiШ}N,z"gUUdMΕv(㠙zA$;OZб*D7h<'QECF'U IPʫB>/ X-hݱw]ѲyLm(1C (E`iuJҡ goo]=(y}٪
-v1/WPCG$8x!{RQ eC=[fj쬱'NpBB'D?O;`.knq4X BЫ
-
-ӗ,A\\2Kac{<B:[9݆fLD_Ĺu޻0(ӊ^qv<ΦN>nXŇ'{H<=+,ZNЈ\vAP~tӁbڷRnEҼl6kٳ1.Yap{ڃ?=y;]Д/h"->J>͉{C>{CAQ$CE"Lʜi AXuʅ焏6dVNnV['
-endstream
+9528 0 obj
+<< /D [ 9503 0 R /XYZ 81.077 461.834 null ] >>
endobj
9529 0 obj
-<< /Type /Page /Contents 9530 0 R /Resources 9528 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+<< /D [ 9503 0 R /XYZ 81.077 450.875 null ] >>
+endobj
+9530 0 obj
+<< /D [ 9503 0 R /XYZ 81.077 439.916 null ] >>
endobj
9531 0 obj
-<< /D [ 9529 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 428.957 null ] >>
endobj
9532 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 417.998 null ] >>
endobj
9533 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 407.039 null ] >>
endobj
9534 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 396.08 null ] >>
endobj
9535 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 385.121 null ] >>
endobj
9536 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 374.162 null ] >>
endobj
9537 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 363.203 null ] >>
endobj
9538 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 352.244 null ] >>
endobj
9539 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 341.286 null ] >>
endobj
9540 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 330.327 null ] >>
endobj
9541 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 319.368 null ] >>
endobj
9542 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 308.409 null ] >>
endobj
9543 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 297.45 null ] >>
endobj
9544 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 286.491 null ] >>
endobj
9545 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 275.532 null ] >>
endobj
9546 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 264.573 null ] >>
endobj
9547 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 253.614 null ] >>
endobj
9548 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 242.655 null ] >>
endobj
9549 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 196.827 null ] >>
endobj
9550 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 185.868 null ] >>
endobj
9551 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 174.91 null ] >>
endobj
9552 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 163.951 null ] >>
endobj
9553 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 523.751 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 152.992 null ] >>
endobj
9554 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 512.792 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 142.033 null ] >>
endobj
9555 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 501.833 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 131.074 null ] >>
endobj
9556 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 490.874 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 120.115 null ] >>
endobj
9557 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 479.915 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 109.156 null ] >>
endobj
9558 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 468.956 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 98.197 null ] >>
endobj
9559 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-9560 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 447.038 null ] >>
+<< /D [ 9503 0 R /XYZ 81.077 87.238 null ] >>
endobj
-9561 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 436.08 null ] >>
+9502 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9562 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 425.121 null ] >>
+<< /Filter /FlateDecode /Length 1884 >>
+stream
+xڵZ]o6ϯ8/fߢ2lh׭ 0VYreIW}E8ɍi|xsxx>(刎~<H?}wze"F >:8b0hY2J4#T|zloNk=}ӑ!„`&(aJ这M/'jnԉh~i{ɞS>{ٺ2bS~Zܺ'H0)<m?esC^vl V7|̮N}u~>k:z{O` \jqZ7)Մked1fi߹'A s:cMpk@*"h)8m,}Zl4}Ͽ~i5jg$2 v!:d^OK[hj\c0rq120KkNi+;bdu~y˿@ňL|!/[4=OP)Bes{npC4>E2CT:"#Wh
+4!Z.L)1zlVw醦^٪oPl#t*rMwV n6m2yşvCθ(08CtmR"I2x n[\n­=jӂ5š| /$p?u'F/m^o}tpF6X$#!\%mf
+~L\EXgWj۲yQ<27T۞Y0kE||3zF2;~8B;.} m^p1%8,*{uH8 U
+DEDXlv7hlB'f"ErTR-W{UEhgȵ=gO֧bSy੔\x$%ӎЯѲ9X>N*TmspeT%ͪO%D މkBU}͝h7+91>G9DߋsׇpiP#iʺpuy>VKW[iY`
+
+GT둤$M֫A?Jş
+endstream
+endobj
+9561 0 obj
+<< /Type /Page /Contents 9562 0 R /Resources 9560 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9414 0 R >>
endobj
9563 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 414.162 null ] >>
+<< /D [ 9561 0 R /XYZ 78.37 808.885 null ] >>
endobj
9564 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 403.203 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 768.832 null ] >>
endobj
9565 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 392.244 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 757.873 null ] >>
endobj
9566 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 381.285 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 746.914 null ] >>
endobj
9567 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 370.326 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 735.955 null ] >>
endobj
9568 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 359.367 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 724.996 null ] >>
endobj
9569 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 348.408 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 714.037 null ] >>
endobj
9570 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 337.449 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 703.078 null ] >>
endobj
9571 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 326.49 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 692.119 null ] >>
endobj
9572 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 315.532 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 681.16 null ] >>
endobj
9573 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 304.573 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 670.202 null ] >>
endobj
9574 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 288.632 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 659.243 null ] >>
endobj
9575 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 277.674 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 648.284 null ] >>
endobj
9576 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 266.715 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 637.325 null ] >>
endobj
9577 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 250.774 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 626.366 null ] >>
endobj
9578 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 239.816 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 615.407 null ] >>
endobj
9579 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 228.857 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 604.448 null ] >>
endobj
9580 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 217.898 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 593.489 null ] >>
endobj
9581 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 190.002 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 582.53 null ] >>
endobj
9582 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 179.043 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 571.571 null ] >>
endobj
9583 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 168.085 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 560.613 null ] >>
endobj
9584 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 157.126 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 549.654 null ] >>
endobj
9585 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 146.167 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 523.751 null ] >>
endobj
9586 0 obj
-<< /D [ 9529 0 R /XYZ 81.077 135.208 null ] >>
-endobj
-9528 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9561 0 R /XYZ 81.077 512.792 null ] >>
endobj
-9589 0 obj
-<< /Filter /FlateDecode /Length 2161 >>
-stream
-xڭZ[o~ϯXO8.Ҧ ƾ4-AcD$NduF%%~!?ι9ߙQ_D>z1Sbq}hA1%RVD./?0ES` 5طtrBJ 1Yu~9_x/Ybcvpm7w%۴.O~ػ}WD'SSrqH6
-:
-HBőY 1|xxɉdӞ;WP"d|s}\¹-sp?ϼ3,~Vcqೈr͚(#B͌#ngb} 7Ulն)1p<U)}&)c^nVa*vuV+.4E #Jugjm*.j7nuVO7պv5N;kT3=O7P? Y'Zw ܀K@3v4O`lx
-UsçdC"Ux׃T[B)nY_;%Qnڦp% jb1%4DC&ʪN>ڠBlSH|K~88-g
-,"xl^A#1
-Wݤsq ɎΝSU(cwܕu#%_aj\w<tbiԮlb6w5ے}w(6͍ns8ބP v4`( g#!PwhJ}` Ba ; u bq/knQ>ri>++?E niCnWww
-^L˓_/"B磿iX44)/f)Ƙ ]RGm׵ W詏MQVƮ"4rcWWGO INz=[ҟBhXu3di4%NJxZ >z/.NIB=6t%z^7D)1pwP}CRue*O?ℚT-
-hJ8k܉Dvv/]ҜwfkQ 7h<U/Ai{՞Uw^:<W4zYTn"9cVR %oF^
- FJK믓,U]zp`k#MvBLIQB]_@=8hϪ^$;%ʏ{w,S 5_28=͊A?fpb>:eQ^S)ǝbh9lFWf*:`diHj/N'ӭMa12
-%v2}<lm}m_; %.,ǁ(""qi7
-endstream
+9587 0 obj
+<< /D [ 9561 0 R /XYZ 81.077 501.833 null ] >>
endobj
9588 0 obj
-<< /Type /Page /Contents 9589 0 R /Resources 9587 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+<< /D [ 9561 0 R /XYZ 81.077 490.874 null ] >>
+endobj
+9589 0 obj
+<< /D [ 9561 0 R /XYZ 81.077 479.915 null ] >>
endobj
9590 0 obj
-<< /D [ 9588 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 468.956 null ] >>
endobj
9591 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 625.801 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 457.997 null ] >>
endobj
9592 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 614.842 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 447.038 null ] >>
endobj
9593 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 603.883 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 436.08 null ] >>
endobj
9594 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 592.924 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 425.121 null ] >>
endobj
9595 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 581.965 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 414.162 null ] >>
endobj
9596 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 571.006 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 403.203 null ] >>
endobj
9597 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 560.048 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 392.244 null ] >>
endobj
9598 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 549.089 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 381.285 null ] >>
endobj
9599 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 538.13 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 370.326 null ] >>
endobj
9600 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 527.171 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 359.367 null ] >>
endobj
9601 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 516.212 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 348.408 null ] >>
endobj
9602 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 505.253 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 337.449 null ] >>
endobj
9603 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 494.294 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 326.49 null ] >>
endobj
9604 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 436.161 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 315.532 null ] >>
endobj
9605 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 425.202 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 304.573 null ] >>
endobj
9606 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 414.243 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 288.632 null ] >>
endobj
9607 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 398.626 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 277.674 null ] >>
endobj
9608 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 387.667 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 266.715 null ] >>
endobj
9609 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 376.708 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 250.774 null ] >>
endobj
9610 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 365.749 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 239.816 null ] >>
endobj
9611 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 354.79 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 228.857 null ] >>
endobj
9612 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 343.832 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 217.898 null ] >>
endobj
9613 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 332.873 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 190.002 null ] >>
endobj
9614 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 321.914 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 179.043 null ] >>
endobj
9615 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 310.955 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 168.085 null ] >>
endobj
9616 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 299.996 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 157.126 null ] >>
endobj
9617 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 289.037 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 146.167 null ] >>
endobj
9618 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 278.078 null ] >>
+<< /D [ 9561 0 R /XYZ 81.077 135.208 null ] >>
endobj
-9619 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 267.119 null ] >>
-endobj
-9620 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 256.16 null ] >>
+9560 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F79 668 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9621 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 245.201 null ] >>
+<< /Filter /FlateDecode /Length 2167 >>
+stream
+xڭZ[o~_a /.EN7h
+t}鴂02Jf߾Ф#ۢg˔>xwHjg>zugiI%>!pL$x2K$AXfJnv &{ b^ Q b16oMw^^Q57<4Ҭˇ7YS基/yw^.*b" 6
+:
+ BCՉYRlt|"i?ǝ B\}9ǼrV%~c~f<W"FRnaBB)7'H*BL R"9>Osy*foTqJa
+*/4|&Aˢ>rɊ(H
+zBN9ҹKec֝y֯^VN8ס>"Pm?jxuY8CI'Kޯ
+~6?!ܘv*)M6̅mS&SlWkS1=dqYSa}9$DvH8mGZ(ZI$ `:0(e,
+ M,?s.{(
+b3/[74 $)A)AbT/s -!ͦM1Jք:M67ހ:}.ͪU5˴YgdoO ~]8hkfڬ1ƍU(hq
+h+ VMƼ_<<'}K+HMI㗕mN&έ[ZbkGMIm4 '#ʉV,DǛ sis V!$i$<me"A"I$U%FQnسbtT&&4
+bQ7@=Ju:ťDX-\rK
+Bh̲1aw@p@ou`+RQIx5s](@OhZ08rn 'ѓz%aݪ$Nx<A-䱢3;i>z
+D<m~##H7xo `qwͣ
+J4^ǁ(#=gץtxf
+endstream
+endobj
+9620 0 obj
+<< /Type /Page /Contents 9621 0 R /Resources 9619 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9414 0 R >>
endobj
9622 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 229.584 null ] >>
+<< /D [ 9620 0 R /XYZ 78.37 808.885 null ] >>
endobj
9623 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 218.625 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 625.801 null ] >>
endobj
9624 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 207.667 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 614.842 null ] >>
endobj
9625 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 603.883 null ] >>
endobj
9626 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 592.924 null ] >>
endobj
9627 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 581.965 null ] >>
endobj
9628 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 571.006 null ] >>
endobj
9629 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 560.048 null ] >>
endobj
9630 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 549.089 null ] >>
endobj
9631 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 538.13 null ] >>
endobj
9632 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 527.171 null ] >>
endobj
9633 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 516.212 null ] >>
endobj
9634 0 obj
-<< /D [ 9588 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-9587 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 668 0 R /F20 186 0 R /F19 184 0 R /F26 662 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9620 0 R /XYZ 81.077 505.253 null ] >>
endobj
-9637 0 obj
-<< /Filter /FlateDecode /Length 1857 >>
-stream
-xڽZKo6Wi.ߤ ,h!'BPl:QaK^Iybwd8b[>p^2 |Og>\1$Lxv!:`ff`4#Tx1sh5s}DkaC0 Qp+Bń\͖yz{D%rO∄Hnq몎в&/Xfwa1&(U1+YY_,xvf]BqBtǮvťjun^h$274yfʓg8!DR`ϣ<JӼ
-[۴t J8Y1/(/ҫ:BtO>ANF ^f9BKXb$LZ1:؀"/FE^||@^2_[ibkK?Ч3%!֓Q8Eǣ" M G/ MqA?ڝRj8ˎf$a^b8D\Y`)RNLe!zۗeϻ|YT$(ʞ#4~mK cүPYaƯ” WF͆M2 )^;;jVYc8 譳_UeͯbYu~;wߧjqծ?w&#,|Xa.Bp=<S1[ yR"bO0e*U~w0IoN V?ܦ]"ok":mba,Ϲ9wHo^[$Hه \'8BvƹHо/%c4^m[U[SbDW |XB5V>k*F\wMPwme&cȦ*f!_ja:59˄%l^CIm;k
-Tqp@tY6a;cZw{YƼ0V%ACXֆht`R@ \OYD2=$E#^۝kux#4~Yfew%tVUs0Z飖(CE[*67%UyWnK<sB-]| $̒t'myٿs
-endstream
+9635 0 obj
+<< /D [ 9620 0 R /XYZ 81.077 494.294 null ] >>
endobj
9636 0 obj
-<< /Type /Page /Contents 9637 0 R /Resources 9635 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+<< /D [ 9620 0 R /XYZ 81.077 436.161 null ] >>
+endobj
+9637 0 obj
+<< /D [ 9620 0 R /XYZ 81.077 425.202 null ] >>
endobj
9638 0 obj
-<< /D [ 9636 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 414.243 null ] >>
endobj
9639 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 398.626 null ] >>
endobj
9640 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 387.667 null ] >>
endobj
9641 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 376.708 null ] >>
endobj
9642 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 365.749 null ] >>
endobj
9643 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 354.79 null ] >>
endobj
9644 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 343.832 null ] >>
endobj
9645 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 685.146 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 332.873 null ] >>
endobj
9646 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 674.187 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 321.914 null ] >>
endobj
9647 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 663.228 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 310.955 null ] >>
endobj
9648 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 652.269 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 299.996 null ] >>
endobj
9649 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 641.31 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 289.037 null ] >>
endobj
9650 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 630.351 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 278.078 null ] >>
endobj
9651 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 619.392 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 267.119 null ] >>
endobj
9652 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 608.433 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 256.16 null ] >>
endobj
9653 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 597.474 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 245.201 null ] >>
endobj
9654 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 586.515 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 229.584 null ] >>
endobj
9655 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 575.556 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 218.625 null ] >>
endobj
9656 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 564.598 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 207.667 null ] >>
endobj
9657 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 553.639 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 177.267 null ] >>
endobj
9658 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 542.68 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 166.308 null ] >>
endobj
9659 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 531.721 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 155.349 null ] >>
endobj
9660 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 520.762 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 144.39 null ] >>
endobj
9661 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 509.803 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 133.431 null ] >>
endobj
9662 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 498.844 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 122.473 null ] >>
endobj
9663 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 487.885 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 111.514 null ] >>
endobj
9664 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 476.926 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 100.555 null ] >>
endobj
9665 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 465.967 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 89.596 null ] >>
endobj
9666 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 455.009 null ] >>
-endobj
-9667 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 444.05 null ] >>
+<< /D [ 9620 0 R /XYZ 81.077 78.637 null ] >>
endobj
-9668 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 433.091 null ] >>
+9619 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F79 668 0 R /F20 186 0 R /F19 184 0 R /F26 662 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9669 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 422.132 null ] >>
+<< /Filter /FlateDecode /Length 1862 >>
+stream
+xڽZ[oF~ϯ@ iYFZ)Ԭڇ<V!k\v{x/!3s; U$~u|^ QH9Wn
+t*hEI`9 7s}W $R<tGD%x^r  %pD\tG4+#TUZygEhr[GEwJ4OIV-*bɲ³c!B;ݱL}s+~m?,3W1؎67O/YjǾSM|#>@$<zxi.㻻%N3pd+:VfK=P)uP=doxeʭ []pOA .*s>\&Ut#0Y70ws`ߜTJʟafu\զ_eYvSh.ҪT çtffȤR2Nn*aY#2M=eG֓URK\-a˛\"N*`0>knViYq˝ 8hP>Bjk0̟ᖺ\kF뼆g(v ].+ٜ# gzTαyIz40Fd'x 灻 s~T kVy_&{
+I5}#_sCSJ@Cgo|lBNtJw.#dE^zyκ3՝T4FD6Ccf}$96-v6JQw>_]fpP)ʭ=4RJ<z&;
+縅pm"&9\ l4gF dDYTw6f(у+.K1`$6p2e>-j˕L@}h0xgvJm#TVV*za|U$%ٛbgOq_يTF6[As2/u~_yU>3P)8~wanÊv+´UxQC;'57$J" UĎR_+$.V'qסH9NXs-BND0
+wH\4<bD`{fM6;qCJD}!|Hᶾm+N a, G>zp)ul&"Lh]>g5Au܅kzqXhC6\71s1zNkӱiA&4RFvj
+j:2Dz[49pwKd3Pmt p~u R ҅ShJoL2yiL=]C7Tn
+p1CQسhTC,*oTqv8[6Ya;$a}WIܞh;ic-Pbs4mF *8+6h(\/YDP=TS#^] k\C㷞6uO*R;3ߕ,/ř
+4EY,: 7"C\)J^}4Q)y |KB,װWf
+endstream
+endobj
+9668 0 obj
+<< /Type /Page /Contents 9669 0 R /Resources 9667 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9414 0 R >>
endobj
9670 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 411.173 null ] >>
+<< /D [ 9668 0 R /XYZ 78.37 808.885 null ] >>
endobj
9671 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 400.214 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 768.832 null ] >>
endobj
9672 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 389.255 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 757.873 null ] >>
endobj
9673 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 378.296 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 746.914 null ] >>
endobj
9674 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 367.337 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 735.955 null ] >>
endobj
9675 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 326.49 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 724.996 null ] >>
endobj
9676 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 315.532 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 714.037 null ] >>
endobj
9677 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 304.573 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 685.146 null ] >>
endobj
9678 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 293.614 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 674.187 null ] >>
endobj
9679 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 282.655 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 663.228 null ] >>
endobj
9680 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 271.696 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 652.269 null ] >>
endobj
9681 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 260.737 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 641.31 null ] >>
endobj
9682 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 249.778 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 630.351 null ] >>
endobj
9683 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 238.819 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 619.392 null ] >>
endobj
9684 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 227.86 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 608.433 null ] >>
endobj
9685 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 216.901 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 597.474 null ] >>
endobj
9686 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 205.943 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 586.515 null ] >>
endobj
9687 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 194.984 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 575.556 null ] >>
endobj
9688 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 184.025 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 564.598 null ] >>
endobj
9689 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 173.066 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 553.639 null ] >>
endobj
9690 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 162.107 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 542.68 null ] >>
endobj
9691 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 151.148 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 531.721 null ] >>
endobj
9692 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 140.189 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 520.762 null ] >>
endobj
9693 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 129.23 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 509.803 null ] >>
endobj
9694 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 118.271 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 498.844 null ] >>
endobj
9695 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 107.312 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 487.885 null ] >>
endobj
9696 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 96.354 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 476.926 null ] >>
endobj
9697 0 obj
-<< /D [ 9636 0 R /XYZ 81.077 85.395 null ] >>
-endobj
-9635 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9668 0 R /XYZ 81.077 465.967 null ] >>
endobj
-9700 0 obj
-<< /Filter /FlateDecode /Length 2137 >>
-stream
-xڵZ[oH~ϯ4/z\M]FhWVڼyY!␘i nI߾
-/3:ӊ(BEIlwP[23MR\` CNXWQ%Ҫ^W\<F&&dr{zl7x?i5yX dqUGiTg~O`G*x)k3MfRnK4|)oìVzsiHeE[mT%.)=yEZ@T/"&
- L[IiI˛ M$<{ʥ=4~m-_OLf7CN/--Q쁿Xv_RJ1"xęE 80a%xhg<SkZߡS q^j2.hOqYƯ>K^HwX!.5n]4>& 9"EBsR˻8>,ݦuRVx4kff`n;whgPL|\/84C_pbyi^s UFW]d!J?7.pVb1G2 I(a'T mE*.OEQODq]yn@ j]VҤDS1.k@\,Qj-ZYQڎ+DVq.J 9% iֹ] !X*℘8Lϋ:SןhY;V-*Y\$]|+xk:!+iY[;j_}I'GjCOh˒d@ϭHLG; LTևF׳YM/lݾZb;!@aBdڑ5')~kI~= i_[]fS^5]tHg$QJ35]E`Rϛ* ?:
-*\ 肭
- rw:iUCCJõ2(\K衭5s15.e~F1-\ёK1+Sw!|?T
- x)pa)x[/G V9Ζyou7+~ϙ"< p %UP
-ou]AaTCݔrggӻ jVUF!s4)ٹy}hУS&7!ÁL8/ AݵVSey $tb*㙐vчSl.pݹtuGtBIPBSE;jQxRJ9Prѝ*z}呜ȁ><4A+/PWaþCT49~Jѐ`!04onGoN iN!wkl&L|o)ޕ{Y%=+h<r2 A1QܖvOmGZc|Cv˘$4"R 3
-r *9xQs8q :$.A.mia}NIhpQ@ IMSv@/zhk`?Fq
-9zv,,Y5\憟=
-Ԑ`Zq 4S{"Nh }i#"@)eF)dOTt^|!qg`'d5 CcqAu`f?;^E@L6p?9^c(N']#$X_q *<42:\У*ˢGoe?}%Ϳ ͡ݫ=S;~6NxSh@rf
-c7E~.ZWxx 0<A\~Y)_xyޓv3B3+M*}!Ҫk;
-zX+ܙZC2iuY+_JYy.f]@ !
-endstream
+9698 0 obj
+<< /D [ 9668 0 R /XYZ 81.077 455.009 null ] >>
endobj
9699 0 obj
-<< /Type /Page /Contents 9700 0 R /Resources 9698 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+<< /D [ 9668 0 R /XYZ 81.077 444.05 null ] >>
+endobj
+9700 0 obj
+<< /D [ 9668 0 R /XYZ 81.077 433.091 null ] >>
endobj
9701 0 obj
-<< /D [ 9699 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 422.132 null ] >>
endobj
9702 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 411.173 null ] >>
endobj
9703 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 400.214 null ] >>
endobj
9704 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 389.255 null ] >>
endobj
9705 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 378.296 null ] >>
endobj
9706 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 367.337 null ] >>
endobj
9707 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 326.49 null ] >>
endobj
9708 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 315.532 null ] >>
endobj
9709 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 304.573 null ] >>
endobj
9710 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 293.614 null ] >>
endobj
9711 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 282.655 null ] >>
endobj
9712 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 271.696 null ] >>
endobj
9713 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 260.737 null ] >>
endobj
9714 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 249.778 null ] >>
endobj
9715 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 238.819 null ] >>
endobj
9716 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 585.519 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 227.86 null ] >>
endobj
9717 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 574.56 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 216.901 null ] >>
endobj
9718 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 563.601 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 205.943 null ] >>
endobj
9719 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 552.642 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 194.984 null ] >>
endobj
9720 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 499.84 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 184.025 null ] >>
endobj
9721 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 488.882 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 173.066 null ] >>
endobj
9722 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 477.923 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 162.107 null ] >>
endobj
9723 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 466.964 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 151.148 null ] >>
endobj
9724 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 456.005 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 140.189 null ] >>
endobj
9725 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 445.046 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 129.23 null ] >>
endobj
9726 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 434.087 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 118.271 null ] >>
endobj
9727 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 405.195 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 107.312 null ] >>
endobj
9728 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 394.236 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 96.354 null ] >>
endobj
9729 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 383.278 null ] >>
+<< /D [ 9668 0 R /XYZ 81.077 85.395 null ] >>
endobj
-9730 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 372.319 null ] >>
-endobj
-9731 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 361.36 null ] >>
+9667 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9732 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 350.401 null ] >>
+<< /Filter /FlateDecode /Length 2140 >>
+stream
+xڵZKo8WŗHE
+8}+zm ­-5FhkcMRle{UYrlϵ7U1t8}.ۭY#^Ykx-bND3MX0D{淒bY5vW/g86Hʥ4~m-ƭM'&3RhڊٴYD =&T3"Y&R՗
+@ rq;@5Xp9`bwi&dkff`n neW3i(M|^.8,ϻ]\25ؼٶ/݆{#+}-ɢcK "XԊ[8)1̄p QBШV?o#hQ(=GG
+c}x%at^IR=O}+¯Jղ֛2/+ae!G[z!$ zw)8r!d ? x!&!f eO-jMwn#.һ Qon>dg{!+ݲOYU;;^}ά/GjCOhdHϭHLG7 LTևVYM/dݾ^db7!@aBT<_Ɂu#k@Rp2%{yVffzjvc^5}lH'$cԦ*H wkնxDPÉVFZ@lU
+=_bq>uȷqUha]{gb G-/V3
+EYmi/9O2OI,m}=v;Rx=g1qsq %UP
+կw}AeTCݔrgzuF!sڶ)ɻy}hУS&7@L =c{
+,dN8\;QQGN͒f+Ҧ|3է7\wDQKI"]Rũ=l j(<^XN) SǺ)Zɉt$HE>4A+j+sఊ%NHB?%Аh!04onGo iO!wkl&L/to)ޕvI%+& ӏ",P:vzz
+u[ƌ&ʌI]['EZg<eu:]{2Q}rC"FXDÉ!<unWՋuMdeLUCƎQl#@[pqyseزsc6$8`P!@Ñkб&q pnhO )= 9}g(!)1v@]/hk۲a?\+h9(E
+,H0Wq*42:2\ УFoUY<|%+ ϡO}6Nx#"֌
+#@ݧ쨟^EiH+9$ڷ!1!~gvZAk;X?a/Vu՟l g"?z
+endstream
+endobj
+9731 0 obj
+<< /Type /Page /Contents 9732 0 R /Resources 9730 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9414 0 R >>
endobj
9733 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 339.442 null ] >>
+<< /D [ 9731 0 R /XYZ 78.37 808.885 null ] >>
endobj
9734 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 292.618 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 768.832 null ] >>
endobj
9735 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 281.659 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 757.873 null ] >>
endobj
9736 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 270.7 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 746.914 null ] >>
endobj
9737 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 259.741 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 735.955 null ] >>
endobj
9738 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 248.782 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 724.996 null ] >>
endobj
9739 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 237.823 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 714.037 null ] >>
endobj
9740 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 226.864 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 703.078 null ] >>
endobj
9741 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 215.905 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 692.119 null ] >>
endobj
9742 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 204.946 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 681.16 null ] >>
endobj
9743 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 193.987 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 670.202 null ] >>
endobj
9744 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 183.028 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 659.243 null ] >>
endobj
9745 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 172.07 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 648.284 null ] >>
endobj
9746 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 161.111 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 637.325 null ] >>
endobj
9747 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 150.152 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 626.366 null ] >>
endobj
9748 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 139.193 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 585.519 null ] >>
endobj
9749 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 128.234 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 574.56 null ] >>
endobj
9750 0 obj
-<< /D [ 9699 0 R /XYZ 81.077 117.275 null ] >>
-endobj
-9698 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9731 0 R /XYZ 81.077 563.601 null ] >>
endobj
-9753 0 obj
-<< /Filter /FlateDecode /Length 2075 >>
-stream
-xZ]o}ϯ0/TPAf}]#ʒGg&^J2%:ɶ/l~4<L]rw⯳wFL$,|2[^0xNjl2[O~Zfzw%ŽSbDeB6y-Jq77q>ǫ<+:^Y -CIM91
-(%r>/
-(%CPV4qݤ8+Eѵ='ugeVkipAѣN׉8+0+} \yљ#)@2'= X&\!CyIъ7lzTi.Ql7_KZ0WP(DPax4sDVȆIcٻ#sG Gg"B-RKj|kN`>X1ip>F,A>lJpTgݍc_a?b-&xʵ{j"" JK+b<Tvn)6U٤!+,0Nx 'mdx(7Ph$ʆp?솏 9f?Yq}NRȚ{UmɊ]H) u4"fl)6}>mFp`+B>^*5Mm*~ttw) {F T<Ewvi'c͢c g@Y%yAԞ}^ep7(È17DDǺER?;bQ\h4w)|G3qBt+UaRu7%,Aq\Pc/!P>"hv>=SnnbDƯ=č1oV.ui
-endstream
+9751 0 obj
+<< /D [ 9731 0 R /XYZ 81.077 552.642 null ] >>
endobj
9752 0 obj
-<< /Type /Page /Contents 9753 0 R /Resources 9751 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+<< /D [ 9731 0 R /XYZ 81.077 499.84 null ] >>
+endobj
+9753 0 obj
+<< /D [ 9731 0 R /XYZ 81.077 488.882 null ] >>
endobj
9754 0 obj
-<< /D [ 9752 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 477.923 null ] >>
endobj
9755 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 466.964 null ] >>
endobj
9756 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 456.005 null ] >>
endobj
9757 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 445.046 null ] >>
endobj
9758 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 434.087 null ] >>
endobj
9759 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 405.195 null ] >>
endobj
9760 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 394.236 null ] >>
endobj
9761 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 383.278 null ] >>
endobj
9762 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 372.319 null ] >>
endobj
9763 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 361.36 null ] >>
endobj
9764 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 350.401 null ] >>
endobj
9765 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 339.442 null ] >>
endobj
9766 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 630.351 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 292.618 null ] >>
endobj
9767 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 601.459 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 281.659 null ] >>
endobj
9768 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 590.5 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 270.7 null ] >>
endobj
9769 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 579.542 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 259.741 null ] >>
endobj
9770 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 568.583 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 248.782 null ] >>
endobj
9771 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 557.624 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 237.823 null ] >>
endobj
9772 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 546.665 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 226.864 null ] >>
endobj
9773 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 535.706 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 215.905 null ] >>
endobj
9774 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 524.747 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 204.946 null ] >>
endobj
9775 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 513.788 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 193.987 null ] >>
endobj
9776 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 484.896 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 183.028 null ] >>
endobj
9777 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 473.938 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 172.07 null ] >>
endobj
9778 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 462.979 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 161.111 null ] >>
endobj
9779 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 452.02 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 150.152 null ] >>
endobj
9780 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 441.061 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 139.193 null ] >>
endobj
9781 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 430.102 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 128.234 null ] >>
endobj
9782 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 419.143 null ] >>
-endobj
-9783 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 408.184 null ] >>
+<< /D [ 9731 0 R /XYZ 81.077 117.275 null ] >>
endobj
-9784 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 397.225 null ] >>
+9730 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9785 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 386.266 null ] >>
+<< /Filter /FlateDecode /Length 2075 >>
+stream
+xZ]o}ϯ0/TPAf}]#ʒGg&^J2%:ɶ/l4<L]rw⯳wFL$,|2[^0xNjl2[O~ZowĒHka`)1"
+ѿ2!<Ζqnv{yj㛛ISeUi/n$&9FB
+M?_Z1M/m$*w+M&]4}/E^$I+2D,CG:)8I =~8w/ >#3~<ORϳ*϶d4RJ/äFDެ] Cȵ AOw#8!W/&uOe?tWylS=#gmӮ"AB=@XC:mSqiw=k$o:s?׫ .e1f l*^$31>#>M!lX\h4w)D{_W >Iov~lXHIݬ'F^Ksj;=o7$~ Σ1ڙL_4_{Hc4oXP  aIպ:ͳ\Z5͡O<dUee3w
+W~PzKҸ`~L|B*on~ˊoj94ʾEZwi IeP#c9*V0As'Nq=ɷ?U"Y'{wy4
+Q _^q;MӢ4-jgfsTF(<FuFŐ!O{3FJ`Y<y7ʜ3I?^(#x ̫NR̀f]c۫zԷ6(-i&|Ckzﶻn@N٠=SÂ[YԡtiNw*4wǏ]cxmĚbGIkE"拴3
+endstream
+endobj
+9784 0 obj
+<< /Type /Page /Contents 9785 0 R /Resources 9783 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9414 0 R >>
endobj
9786 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 375.307 null ] >>
+<< /D [ 9784 0 R /XYZ 78.37 808.885 null ] >>
endobj
9787 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 364.349 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 768.832 null ] >>
endobj
9788 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 353.39 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 757.873 null ] >>
endobj
9789 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 342.431 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 746.914 null ] >>
endobj
9790 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 295.606 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 735.955 null ] >>
endobj
9791 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 284.647 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 724.996 null ] >>
endobj
9792 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 273.688 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 714.037 null ] >>
endobj
9793 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 262.73 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 703.078 null ] >>
endobj
9794 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 251.771 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 692.119 null ] >>
endobj
9795 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 240.812 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 681.16 null ] >>
endobj
9796 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 229.853 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 670.202 null ] >>
endobj
9797 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 171.073 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 659.243 null ] >>
endobj
9798 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 160.114 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 630.351 null ] >>
endobj
9799 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 149.155 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 601.459 null ] >>
endobj
9800 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 138.197 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 590.5 null ] >>
endobj
9801 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 127.238 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 579.542 null ] >>
endobj
9802 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 116.279 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 568.583 null ] >>
endobj
9803 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 105.32 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 557.624 null ] >>
endobj
9804 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 94.361 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 546.665 null ] >>
endobj
9805 0 obj
-<< /D [ 9752 0 R /XYZ 81.077 83.402 null ] >>
-endobj
-9751 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9784 0 R /XYZ 81.077 535.706 null ] >>
endobj
-9808 0 obj
-<< /Filter /FlateDecode /Length 2653 >>
-stream
-xڭZ[ۺ~ϯ0z,e
-4-}9) +u"K$gw=CR7jYLbPx«_ ۂ_820۽!0JK$Z)IduwX{W{?Ҭ42R2=&& #"xHru-X$˦(M/K7<4U)C8;o9G_]eS3!e:-z[1w?20)|<2C UwW׌ic}ٻ|]e{;ti&Pr@^9:N9cjPFS%E+C`bQ{~L_bז!FD 6Hű̊hHMg,cCBY{"77f6q}" CSw`ؘMVdM6'Tr~#t/!؀:~mnW_Gހj
-w6<}Ա2DBĩjD| 9/!A-;T yـ:ȅ1ʭVcI#q0d\I/ V)ޯ-q2VzS&rs{;(pIݗU9᫛"ҽ$1h'm&զHo`lz{ލi;9IS6ɣYi{#TKBYaT迁ZiTj gy(>7j2~vuK2RpH \[R8 g?Q1BUy9$VϾ e._85ideQk_Wi\bmO ]۔f9쬰tU7(QL.+Y:t֪IU8f~d9dB2ڍ
-Wpf,wp`*;Ve-lphTgpJu:(S+ ;|IJqYCa=}[`ŠBBrf}O?՞},}Ƕ<cl틽7MϓM@`YJ4Ẇ$$w)nŖyd ^s26gm(0s]> kL!!Ch~H:Bv9`l;vE׻2̊;YCɳ‡pPbvLC"`
-fDm"X ́fC6XP%tX04-lJ]O DL_ {vr<ZM'fU}8A2\le|TMI8Wٰv=ต缬[]r40w{MD s8lC@"w ׫Cd ݃?}:Oy>Y3<Z&eOmgxPqC* u8GVPy<{=oZr8|6^;qU+>?5v:~SBZK$v K֗XMnn|e46TvdT9%2!J9q
-M_0HU G[0MQ67⠗P+NJ`HjvzDn0Iwn3<2mbnK~
-endstream
+9806 0 obj
+<< /D [ 9784 0 R /XYZ 81.077 524.747 null ] >>
endobj
9807 0 obj
-<< /Type /Page /Contents 9808 0 R /Resources 9806 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+<< /D [ 9784 0 R /XYZ 81.077 513.788 null ] >>
+endobj
+9808 0 obj
+<< /D [ 9784 0 R /XYZ 81.077 484.896 null ] >>
endobj
9809 0 obj
-<< /D [ 9807 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 473.938 null ] >>
endobj
9810 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 462.979 null ] >>
endobj
9811 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 452.02 null ] >>
endobj
9812 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 723.004 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 441.061 null ] >>
endobj
9813 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 712.045 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 430.102 null ] >>
endobj
9814 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 701.086 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 419.143 null ] >>
endobj
9815 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 690.127 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 408.184 null ] >>
endobj
9816 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 679.168 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 397.225 null ] >>
endobj
9817 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 668.209 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 386.266 null ] >>
endobj
9818 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 657.25 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 375.307 null ] >>
endobj
9819 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 646.291 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 364.349 null ] >>
endobj
9820 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 635.332 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 353.39 null ] >>
endobj
9821 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 624.373 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 342.431 null ] >>
endobj
9822 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 613.415 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 295.606 null ] >>
endobj
9823 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 602.456 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 284.647 null ] >>
endobj
9824 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 586.515 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 273.688 null ] >>
endobj
9825 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 575.556 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 262.73 null ] >>
endobj
9826 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 564.598 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 251.771 null ] >>
endobj
9827 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 553.639 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 240.812 null ] >>
endobj
9828 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 474.934 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 229.853 null ] >>
endobj
9829 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 386.266 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 171.073 null ] >>
endobj
9830 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 375.307 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 160.114 null ] >>
endobj
9831 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 364.349 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 149.155 null ] >>
endobj
9832 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 353.39 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 138.197 null ] >>
endobj
9833 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 342.431 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 127.238 null ] >>
endobj
9834 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 277.674 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 116.279 null ] >>
endobj
9835 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 266.715 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 105.32 null ] >>
endobj
9836 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 213.913 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 94.361 null ] >>
endobj
9837 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 202.954 null ] >>
+<< /D [ 9784 0 R /XYZ 81.077 83.402 null ] >>
endobj
-9838 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 191.995 null ] >>
-endobj
-9839 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 181.036 null ] >>
+9783 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9840 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 170.077 null ] >>
+<< /Filter /FlateDecode /Length 2652 >>
+stream
+xڭZ[ۺ~ϯ0z,e
+4-}9) +u"K$gw=CR7jYLbx«_morVM]Wd%D$K;JiV)<~T?eS&OwMQoq=7>}:$M=mnꦲx7[tHK ^vLvb&L} aWoc:bV&'U1`D񶼢j1~Զ>Mrz̚o5{ao6>ͳC֤V2+G)gLmhweul],?#xϏ31K0Ĉ 6Hű̊hHMg,cKBY{"77f6q}" q0cN,MVdM6'TrAWBgDYl@67+ӯMNo@m5ػvplon>\FX~FGbT5">ㄜ `}H
+l@^r-kLmrXư@e,9*"%#{|Y@Ham UiI<\RlelN馈_*oS[vyiRm6ȶh!381uo[{<.72 ?KEH$F6J?ps*`&3YgW'$!U-)xp& >#Th 90PCbu;-sw荬N&+]]sFlNhC~jڦd46sagkFbڦpY1, VME
+ >iT{v{LܷIkC6g?OV6M
+{@ٍ_c0 yb9SʪeDLɺwu_{yto5H5b, D1pC*B.Pj%+)"nBr8`I.06}V OcypCDHa rrT䂳'_+qvsڊ?13-$Ubhq6dbqdly˔6pa;&u{q+AyYe4h`(@ pL:́DfW-
+a:d ݋>Aɧ<}, -jlS鲧dl<!l:#xnf(uNpxڪV/+M|Ǝxg}@iON蔱@FR7}=ǰ_H7Ǫl-ps{,Od,ã)utE Pʉ Vnhg`dT 3o6E,^fvCL+ރ#9
+
+endstream
+endobj
+9839 0 obj
+<< /Type /Page /Contents 9840 0 R /Resources 9838 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9414 0 R >>
endobj
9841 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 159.118 null ] >>
+<< /D [ 9839 0 R /XYZ 78.37 808.885 null ] >>
endobj
9842 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 148.159 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 768.832 null ] >>
endobj
9843 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 117.275 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 757.873 null ] >>
endobj
9844 0 obj
-<< /D [ 9807 0 R /XYZ 81.077 106.316 null ] >>
-endobj
-9806 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9839 0 R /XYZ 81.077 723.004 null ] >>
endobj
-9847 0 obj
-<< /Filter /FlateDecode /Length 2491 >>
-stream
-xڵZ[۸~ϯ0;\/([) ŦJdɐ53n{(R$}Y?xra0H*~ eS % ’,/2nζ,YܒenZ~9l#4
-ע@}n0 Br3Nmv~*뱬a0'
-4 Mhx!4$Zpʹ+ N98]T,sRp7_JI@B@nJ֕+˶q=݋Hj˧*! P.
-a2,|<-bD\xd<XmʻE d<+vd'd㟟!x
-;)'+˓RN/&ztؕ0Dy]^y&G/Mw<)N‡Oo{pob'&xH,<G1Cڢ}DZs(EUlH`ެ˵][~* Vz[E;+h(ZHX |@k9PJ0d:h)fRZە/w[T,~͖2HaXl<E=-U]97d*}]r]u{rN:W?`l{\UyV]pCG uph,E[&-[hČN ۪xXEod^b-r<9G`'&_O"jl.JuܶHG]T@XOE5GXԳr-J}dU#z <oUwVM 9f\#Lsk=FOl/_ J ^)6fT3qeR J"/aDbKZ?Ή|]ӸS$
-8,œ@ng!MSzNčH!? pBl"-y Ԕr^M'&
-)qU_eX(
-͖_ eKFd-MHHh*.tZ<o_&B ~*+&|$NYef]0ɪۗ.T^|' Ʃ7&ctsjR8/k60G
-xbḰ(R&:dRn"D1Ϧ(0NY
-)˼e N%L~Y )A\e䝸%x{N bxԉ?7׈2#
-=A^,Xicr_vJ@,n7n֮Ccu7Xډe><wb&"ki:Ŕnh'vڗR98%8 J@JP#~N9#S' h(:Χ*P>ڽR{NRGL每\[S|,t/K
-1M%衬
-M{Lk!+X!5Ab$d\Q4F\"Y2F;Qֶv!W
- UDe9'neuYw [
- .1ybN]8d>8Xm}PAML˵ǟOmWE1/R' \n`,>M qh;/K'hgClPtLy4/;i-=*v18)
-#-c2k1IŁ^@
-endstream
+9845 0 obj
+<< /D [ 9839 0 R /XYZ 81.077 712.045 null ] >>
endobj
9846 0 obj
-<< /Type /Page /Contents 9847 0 R /Resources 9845 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9424 0 R >>
+<< /D [ 9839 0 R /XYZ 81.077 701.086 null ] >>
+endobj
+9847 0 obj
+<< /D [ 9839 0 R /XYZ 81.077 690.127 null ] >>
endobj
9848 0 obj
-<< /D [ 9846 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 679.168 null ] >>
endobj
9849 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 695.255 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 668.209 null ] >>
endobj
9850 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 684.297 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 657.25 null ] >>
endobj
9851 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 673.338 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 646.291 null ] >>
endobj
9852 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 662.379 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 635.332 null ] >>
endobj
9853 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 651.42 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 624.373 null ] >>
endobj
9854 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 640.461 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 613.415 null ] >>
endobj
9855 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 629.502 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 602.456 null ] >>
endobj
9856 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 618.543 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 586.515 null ] >>
endobj
9857 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 607.584 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 575.556 null ] >>
endobj
9858 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 596.625 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 564.598 null ] >>
endobj
9859 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 585.666 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 553.639 null ] >>
endobj
9860 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 557.069 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 474.934 null ] >>
endobj
9861 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 546.11 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 386.266 null ] >>
endobj
9862 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 494.192 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 375.307 null ] >>
endobj
9863 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 483.233 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 364.349 null ] >>
endobj
9864 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 472.274 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 353.39 null ] >>
endobj
9865 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 461.315 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 342.431 null ] >>
endobj
9866 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 450.356 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 277.674 null ] >>
endobj
9867 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 439.397 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 266.715 null ] >>
endobj
9868 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 428.438 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 213.913 null ] >>
endobj
9869 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 399.841 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 202.954 null ] >>
endobj
9870 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 388.882 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 191.995 null ] >>
endobj
9871 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 377.923 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 181.036 null ] >>
endobj
9872 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 366.965 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 170.077 null ] >>
endobj
9873 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 356.006 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 159.118 null ] >>
endobj
9874 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 297.815 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 148.159 null ] >>
endobj
9875 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 286.856 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 117.275 null ] >>
endobj
9876 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 275.897 null ] >>
-endobj
-9877 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 264.938 null ] >>
+<< /D [ 9839 0 R /XYZ 81.077 106.316 null ] >>
endobj
-9878 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 253.979 null ] >>
+9838 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F26 662 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9879 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 243.021 null ] >>
+<< /Filter /FlateDecode /Length 2492 >>
+stream
+xڵZߏ۸~_aEoyMj
+P4Z,v7kEu^ܤ/+Gg3ߐW+z_d eJ߿!JeaIVտ׿on4,Znnɺv7Tk޹GW0P(PƯ~9ƟrC9 f%y<ڿ`X6 l> 4@9 pɐH!ER7h1y2(1E-l3DtYoXCi~29o ᙗ_0|(upiK?𾩏1ۼ+j?foCxNZ+SUP(Ek-. &H 4 Mhx5$Z0ʚ˯rpL!"ֽZ$v)XP1Ě*@+릶=Oj*Psn̫{˺2֕]G}} H(0~z؟j{QT1@lĮU= 5
+a24ܞs Dx<򘗶ҙF l4+{fd+d힟yƦ)'p˓AߒN/&z0+aro]^py&ۺ|<OQPmN Po^^:%t}~bn?ɻ]z}s6O>=
+yYݢKx`֬9]S|^* iwz[E;+(ӄ)\QAgn
+u+ШYNdz07nnt
+ٗæ Hy-Jchi9[1d.x26AX:^v ׭G* `,FO2Oy9yXyYZ@F6u޳owK#z KiKuiDBKSWTFZ0N{.]p%u1+"Y6 82]q% 0:30El:M 8et?.p":ze@#, i @ω
+^NSK\p"cH2Dj@ӈURqA)l`P0H!j+8*"_)EDy6w?
+*oK&܁taµK^RG39pًgv})?=O8=/`i7h>C!Ɲ)ƈRO07+Dc~:zGձ`}jLVBgcgyiRJ EYFbpOMe~=UWa ;6Y~%/QE"t2#<qT}!
+.'?DR
+QIM+[P4鳝ᤍu~bHH,-B^.۝_S$2DgM):}ne!ϰ41*}"d{!.?.2ޙMiEǠS<hhbmrM;SǢsWb\tYm4f뻷o0b=Nq+X3t?,_K e18wsl5=D[ѤV} Ո]g~t"(tQDdNT
+4K!ƒeZI[&T}Qg/le
+xPpoC_Br?FzlΥѢP m|MDB0 Jf,3R Eڜev-?REk3#trrR#2\&f
+i2"PVroAʉKk΅q%2 0ݦt,/4{Te.Y L
+XWvWǼ;lIRDB0 <4hQ zF_Cl]W\ NBd,I݋sREq<4Qh+T<J!pHs
+0.r#l(*\Ęq7+wSdA&a|,r_~3M*(TrY\St/sN 8(L4ߞgoӢtJhFJfEJ'Ң҅7o! d( N𤙧'z&0e0(oGPs
+endstream
+endobj
+9878 0 obj
+<< /Type /Page /Contents 9879 0 R /Resources 9877 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9927 0 R >>
endobj
9880 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 232.062 null ] >>
+<< /D [ 9878 0 R /XYZ 78.37 808.885 null ] >>
endobj
9881 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 221.103 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 695.255 null ] >>
endobj
9882 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 210.144 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 684.297 null ] >>
endobj
9883 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 199.185 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 673.338 null ] >>
endobj
9884 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 188.226 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 662.379 null ] >>
endobj
9885 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 651.42 null ] >>
endobj
9886 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 640.461 null ] >>
endobj
9887 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 629.502 null ] >>
endobj
9888 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 618.543 null ] >>
endobj
9889 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 607.584 null ] >>
endobj
9890 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 596.625 null ] >>
endobj
9891 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 585.666 null ] >>
endobj
9892 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 557.069 null ] >>
endobj
9893 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 546.11 null ] >>
endobj
9894 0 obj
-<< /D [ 9846 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-9845 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F26 662 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9878 0 R /XYZ 81.077 494.192 null ] >>
endobj
-9897 0 obj
-<< /Filter /FlateDecode /Length 1875 >>
-stream
-xZ[o6~ϯ00/px`n
-^Eh(U٠i0g.= 힭g*k{p|%$*QUTua{}fܧlڗ<G3=JK/"Aн>Q3 h}5j 28!e0wX&x$D;&sXZH, <Qen%SR%YI)Pc^ юƪ uuA>fe|&!%T(OmHMLctla7t4gں:0^ӥ -|J MxM!-"D&?bb@ظpefכuy.c+Yr]l׳
-L|>臇St%T'1</ǚ
-Oq˽?prQ86TQG'ׂP*L9';?+5nsB C%\:%Zx4JB0:IǀQ ےڮm70kt\GINPžs8h5ӀMTr 7CEs"򙨦mbOؕO73fm Oe~m ϊ)Em s򵻒jvIk\cAYev~f K 4m.6sWָU "+$^mWU~]U6۫.9`3k4>} Ζ}pٮhȔs
-Җdff˪ ["ii$X tôW8_R }Țw*`c}kRNL(!8滶ldҟo>0LF#(Bi %[<_?mWh_ް-_ ș`P GA9p
-endstream
+9895 0 obj
+<< /D [ 9878 0 R /XYZ 81.077 483.233 null ] >>
endobj
9896 0 obj
-<< /Type /Page /Contents 9897 0 R /Resources 9895 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+<< /D [ 9878 0 R /XYZ 81.077 472.274 null ] >>
+endobj
+9897 0 obj
+<< /D [ 9878 0 R /XYZ 81.077 461.315 null ] >>
endobj
9898 0 obj
-<< /D [ 9896 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 450.356 null ] >>
endobj
9899 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 439.397 null ] >>
endobj
9900 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 428.438 null ] >>
endobj
9901 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 699.507 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 399.841 null ] >>
endobj
9902 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 688.548 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 388.882 null ] >>
endobj
9903 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 677.589 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 377.923 null ] >>
endobj
9904 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 666.63 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 366.965 null ] >>
endobj
9905 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 655.671 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 356.006 null ] >>
endobj
9906 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 644.712 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 297.815 null ] >>
endobj
9907 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 633.753 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 286.856 null ] >>
endobj
9908 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 622.794 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 275.897 null ] >>
endobj
9909 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 611.836 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 264.938 null ] >>
endobj
9910 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 600.877 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 253.979 null ] >>
endobj
9911 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 589.918 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 243.021 null ] >>
endobj
9912 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 578.959 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 232.062 null ] >>
endobj
9913 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 568 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 221.103 null ] >>
endobj
9914 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 557.041 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 210.144 null ] >>
endobj
9915 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 546.082 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 199.185 null ] >>
endobj
9916 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 535.123 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 188.226 null ] >>
endobj
9917 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 524.164 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 177.267 null ] >>
endobj
9918 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 513.205 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 166.308 null ] >>
endobj
9919 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 502.246 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 155.349 null ] >>
endobj
9920 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 491.288 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 144.39 null ] >>
endobj
9921 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 480.329 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 133.431 null ] >>
endobj
9922 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 469.37 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 122.473 null ] >>
endobj
9923 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 458.411 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 111.514 null ] >>
endobj
9924 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 447.452 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 100.555 null ] >>
endobj
9925 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 436.493 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 89.596 null ] >>
endobj
9926 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 425.534 null ] >>
-endobj
-141 0 obj
-<< /D [ 9896 0 R /XYZ 79.37 402.589 null ] >>
+<< /D [ 9878 0 R /XYZ 81.077 78.637 null ] >>
endobj
-9927 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 317.91 null ] >>
+9877 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F26 662 0 R /F73 189 0 R /F69 183 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-9928 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 306.951 null ] >>
+9930 0 obj
+<< /Filter /FlateDecode /Length 1876 >>
+stream
+xZ[o~ϯ00/p;v
+Hi,OXXQi:jr>^f`~NL>d&m.u|3ME1:uѻ
+/)C_>dۻL`2a>?5mDMQcpw J%w32&Q eT /-ΈQ*(1nUߌ !x=ހ p?^F
+endstream
endobj
9929 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 295.992 null ] >>
-endobj
-9930 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 285.033 null ] >>
+<< /Type /Page /Contents 9930 0 R /Resources 9928 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9927 0 R >>
endobj
9931 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 274.074 null ] >>
+<< /D [ 9929 0 R /XYZ 78.37 808.885 null ] >>
endobj
9932 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 258.34 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 768.832 null ] >>
endobj
9933 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 247.382 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 757.873 null ] >>
endobj
9934 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 236.423 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 699.507 null ] >>
endobj
9935 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 225.464 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 688.548 null ] >>
endobj
9936 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 214.505 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 677.589 null ] >>
endobj
9937 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 188.226 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 666.63 null ] >>
endobj
9938 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 655.671 null ] >>
endobj
9939 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 644.712 null ] >>
endobj
9940 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 633.753 null ] >>
endobj
9941 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 622.794 null ] >>
endobj
9942 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 611.836 null ] >>
endobj
9943 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 600.877 null ] >>
endobj
9944 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 589.918 null ] >>
endobj
9945 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 578.959 null ] >>
endobj
9946 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 568 null ] >>
endobj
9947 0 obj
-<< /D [ 9896 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 557.041 null ] >>
endobj
-9895 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
+9948 0 obj
+<< /D [ 9929 0 R /XYZ 81.077 546.082 null ] >>
endobj
-9951 0 obj
-<< /Filter /FlateDecode /Length 2175 >>
-stream
-xZ[o~ϯ0h8M$bE@/٧n!(hF<d')Ѥq|6LPJ&I2$3ד_O>\
-:aHILz~MOdR,&"(Iz9"=?>\j"JS*C0& Tw3tk5˺hr?C׬;P~/ON+`|Ctķ1enXK*%re2ku7zE̺*ϺXD",`|CtO,!|+>WC [>~tp~sؗe^7/4WX$E$MJ00FԨ$(!) !B!*&dFl?eG` (J E{~A<;=i;cҞz>ѳ./Y}Ή8At;Pdk!#JŘO{F AD ~ff%.dT)s'ɄD<eɔ9ZAA)W290 s؆9Q1ߜn?iJ0{Ʃ@TciGUWU^_yX['^jvl<w7Ey-tw{GDiGP8eQc"9g6U^4Q*Ai:SߓCݓb20]߉c?[W/]&ݨnG7$qL]
-QV %DBK+ F6M]f~VMݙPa2ժ̀qZܑGj̮<5bԟkDA2B?eS8e3PM^e7zQTӽЇDO+Ml^{YY6><EFuit2kEխ{Y3.#&maCdv}s̻x/nᮘYwn8wW#Ӈb̭7;
-%q@<BeaȆ?z~-kS)BtE6[Jay0a)"~[av ۱U!lST
-DCCDmîh%_6fml RIS DYp D&
-#!xhbq ۷/BASZFY2/г_KSNS%D1§.* j8#@X~/ GdRXg7u1C"_y_t'5&G7c>MGb ?T4< AKڰ<]](4 JE)șCrqGF[>/u,
-endstream
+9949 0 obj
+<< /D [ 9929 0 R /XYZ 81.077 535.123 null ] >>
endobj
9950 0 obj
-<< /Type /Page /Contents 9951 0 R /Resources 9949 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+<< /D [ 9929 0 R /XYZ 81.077 524.164 null ] >>
+endobj
+9951 0 obj
+<< /D [ 9929 0 R /XYZ 81.077 513.205 null ] >>
endobj
9952 0 obj
-<< /D [ 9950 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 502.246 null ] >>
endobj
9953 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 491.288 null ] >>
endobj
9954 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 480.329 null ] >>
endobj
9955 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 469.37 null ] >>
endobj
9956 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 458.411 null ] >>
endobj
9957 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 447.452 null ] >>
endobj
9958 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 436.493 null ] >>
endobj
9959 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 666.798 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 425.534 null ] >>
+endobj
+141 0 obj
+<< /D [ 9929 0 R /XYZ 79.37 402.589 null ] >>
endobj
9960 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 655.839 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 317.91 null ] >>
endobj
9961 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 644.88 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 306.951 null ] >>
endobj
9962 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 604.664 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 295.992 null ] >>
endobj
9963 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 593.705 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 285.033 null ] >>
endobj
9964 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 582.747 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 274.074 null ] >>
endobj
9965 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 571.788 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 258.34 null ] >>
endobj
9966 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 560.829 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 247.382 null ] >>
endobj
9967 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 549.87 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 236.423 null ] >>
endobj
9968 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 538.911 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 225.464 null ] >>
endobj
9969 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 527.952 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 214.505 null ] >>
endobj
9970 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 516.993 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 188.226 null ] >>
endobj
9971 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 506.034 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 177.267 null ] >>
endobj
9972 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 495.075 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 166.308 null ] >>
endobj
9973 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 484.116 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 155.349 null ] >>
endobj
9974 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 473.157 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 144.39 null ] >>
endobj
9975 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 462.199 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 133.431 null ] >>
endobj
9976 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 451.24 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 122.473 null ] >>
endobj
9977 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 440.281 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 111.514 null ] >>
endobj
9978 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 429.322 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 100.555 null ] >>
endobj
9979 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 418.363 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 89.596 null ] >>
endobj
9980 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 407.404 null ] >>
-endobj
-9981 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 396.445 null ] >>
+<< /D [ 9929 0 R /XYZ 81.077 78.637 null ] >>
endobj
-9982 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 385.486 null ] >>
+9928 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F72 187 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
9983 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 374.527 null ] >>
+<< /Filter /FlateDecode /Length 2173 >>
+stream
+xZ]o}ϯ0/ pM-h.Ї%N+K^IǦ^Ғ(R:g!%hxf<lp{o'^|PlƑN %IfJ%]f<M4g g R$b:F?5w=;Tؘ6_7ymnewn._0!:⛗ygńEUz4"yF9D/{m6_"\jmq,_ pW-"B
+O7 ћKY=Т1;ӧuUyzYV˯uM6 KD&L"1kJxAL[<(ɄaGw!4CN7g$vMXp{ZN͢~ۻ᪳srڟj3NqGb0C .`X!bA4ByItbNP f?I$^\[_NTQ$.-s 2oS:'MG^D*41v4vn̊WVn\L(݆y]PMFWbw D<fuNx,fc)ܟ q|hBDF7]c$a# [\~(6 9Myc'iU\P# :
+QV,aBai$%o&-CJ2ʒ.K~ܖ`xb[D@2B?f6q`Ǧ#B;f^ۼ^m>I_y_mE[eݞ{EQ9}x[wMN0Z=M4k;WӪ`dVv&wffs}:OT|g溫CD-iC&k͓۬% "tj޴&2 G"H3_X*"
+ˉ%{ԓIuQ=Mk֖e~b2|G5A)u؁K*doO^Jrv`jR}/8)]|q&#R+/;0841O VROݦ~MsywOCs{3>)j1(a^♄YᏞ1>0hi<dN\H́W^ o`XoSlEMN`&@毺X$ qaaib1u<L].~<͘ }6!<6a' -F8:)(Gh2Aڟk LG(D%kaсlYU떔,Ž`%70!:ES]ґ61RD}.5oY!c(mLSÖ"4eDeDAzh}qo9|H-`-L~,YeYϯ{EƑ̷L npKpPf,#T 9~2)`IbWJ%K`hsw_tO
+Xcv3ʭLvt/)RB,K`BP2Kڰ<²]]Dۃ)JI@O?pԏXvuu;
+endstream
+endobj
+9982 0 obj
+<< /Type /Page /Contents 9983 0 R /Resources 9981 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9927 0 R >>
endobj
9984 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 363.568 null ] >>
+<< /D [ 9982 0 R /XYZ 78.37 808.885 null ] >>
endobj
9985 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 352.61 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 768.832 null ] >>
endobj
9986 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 341.651 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 757.873 null ] >>
endobj
9987 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 330.692 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 746.914 null ] >>
endobj
9988 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 319.733 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 735.955 null ] >>
endobj
9989 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 308.774 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 724.996 null ] >>
endobj
9990 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 297.815 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 714.037 null ] >>
endobj
9991 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 286.856 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 666.798 null ] >>
endobj
9992 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 275.897 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 655.839 null ] >>
endobj
9993 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 264.938 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 644.88 null ] >>
endobj
9994 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 253.979 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 604.664 null ] >>
endobj
9995 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 243.021 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 593.705 null ] >>
endobj
9996 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 232.062 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 582.747 null ] >>
endobj
9997 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 221.103 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 571.788 null ] >>
endobj
9998 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 210.144 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 560.829 null ] >>
endobj
9999 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 199.185 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 549.87 null ] >>
endobj
10000 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 188.226 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 538.911 null ] >>
endobj
10001 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 177.267 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 527.952 null ] >>
endobj
10002 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 166.308 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 516.993 null ] >>
endobj
10003 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 506.034 null ] >>
endobj
10004 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 495.075 null ] >>
endobj
10005 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 484.116 null ] >>
endobj
10006 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 473.157 null ] >>
endobj
10007 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 462.199 null ] >>
endobj
10008 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 451.24 null ] >>
endobj
10009 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 440.281 null ] >>
endobj
10010 0 obj
-<< /D [ 9950 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-9949 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F20 186 0 R /F19 184 0 R /F26 662 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 9982 0 R /XYZ 81.077 429.322 null ] >>
endobj
-10013 0 obj
-<< /Filter /FlateDecode /Length 1591 >>
-stream
-xڵYMoFWEF~nmA2%H;F;a^L};}vDMBgtߟ86"Y&xX1DXM43ьP͒>sf/ﺺ.i-lfxaA_[Q(sisKiE-aRQ y[t(h:fcpUQ6i5/ƻݻ^7&=l˺Ɋ ǹ-tUeKyt]
-'oKq*/q_N]&Մkp عSDP3-鴹%F*Rjȁ z0*Cw-MOr{~.J"e!<jTG4i#`zϙ#å9 (A!Z΋"=dU߆sV’WH+8!sh4_:ZĹwY}*w Ø$W"t +:_s{C/7R8sQf(+4 -׬Us_gh.-|
-Jz)D])$ jtlڡ fLTO6bqw^c=p KR08x53 2DrliSn@agNy40/}㨇@QvwwW)l&_}u=:woCջ#F9$pK C.2f#Q"tȟ<,lQL .B767ر`&
-Ѷ@7m#t7/C+8{5ӔSuF~\3X<,F?J/W"؜jZ49ƽY#񟃂> @ysBfD$FhtH~:"?7|FnY;DWDpD()HEƞb*f\98_*!f6DaztRg[ [N9!mGCMP]m O{ljqjCm?ܵzIk53#
-endstream
+10011 0 obj
+<< /D [ 9982 0 R /XYZ 81.077 418.363 null ] >>
endobj
10012 0 obj
-<< /Type /Page /Contents 10013 0 R /Resources 10011 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+<< /D [ 9982 0 R /XYZ 81.077 407.404 null ] >>
+endobj
+10013 0 obj
+<< /D [ 9982 0 R /XYZ 81.077 396.445 null ] >>
endobj
10014 0 obj
-<< /D [ 10012 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 385.486 null ] >>
endobj
10015 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 374.527 null ] >>
endobj
10016 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 363.568 null ] >>
endobj
10017 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 352.61 null ] >>
endobj
10018 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 341.651 null ] >>
endobj
10019 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 330.692 null ] >>
endobj
10020 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 319.733 null ] >>
endobj
10021 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 308.774 null ] >>
endobj
10022 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 297.815 null ] >>
endobj
10023 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 286.856 null ] >>
endobj
10024 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 275.897 null ] >>
endobj
10025 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 264.938 null ] >>
endobj
10026 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 253.979 null ] >>
endobj
10027 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 243.021 null ] >>
endobj
10028 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 232.062 null ] >>
endobj
10029 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 221.103 null ] >>
endobj
10030 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 210.144 null ] >>
endobj
10031 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 199.185 null ] >>
endobj
10032 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 558.62 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 188.226 null ] >>
endobj
10033 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 547.661 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 177.267 null ] >>
endobj
10034 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 536.702 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 166.308 null ] >>
endobj
10035 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 525.743 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 155.349 null ] >>
endobj
10036 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 514.784 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 144.39 null ] >>
endobj
10037 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 503.825 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 133.431 null ] >>
endobj
10038 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 492.867 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 122.473 null ] >>
endobj
10039 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 481.908 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 111.514 null ] >>
endobj
10040 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 470.949 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 100.555 null ] >>
endobj
10041 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 459.99 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 89.596 null ] >>
endobj
10042 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 449.031 null ] >>
-endobj
-10043 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 438.072 null ] >>
+<< /D [ 9982 0 R /XYZ 81.077 78.637 null ] >>
endobj
-10044 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 427.113 null ] >>
+9981 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F20 186 0 R /F19 184 0 R /F26 662 0 R /F75 317 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10045 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 416.154 null ] >>
+<< /Filter /FlateDecode /Length 1589 >>
+stream
+xڵYKoFWEF
+:z-'=`l(*>B0])|"7 "t7{VY忇t߮pw}O"^Xi|%0G>D|Udz!_F8U-&-.aXDeCٓw*޸8xNrc$s9wefr ]sM}nͅ/fd Xmj|0#KDK.}ޘXE zP#t넋K& \b`NKb\|I΅Eݥ7Ӫç١iWݍ9ӢߝcP&hπ2C2#+eı$Cߒ}YTJofW=wМaXORb`Q ^P,t)otMSWY %IzuC7Uު\UQlU@~'w+P)BSB~gi;VEZi@v'h;NE达QE,Ϫ,ԍ~., h/pF&|V~˓hsCTmU}_?AiVp6;ڲs^^ܠe ΃9
+J4S9mlI(AԠ؜A5n#4>>$7=2{鯲Nygh KR08 XNW&5dؙ١>%^%/G)Q5h#i%'!lztjo,-Y/8vQG~ 7w%Eo(,0gQ"tȟ<,lQ<FC͍&o푉O&.a1o7Zyz.2?FǶ~\3<%¨Gm
+Ad.8D؜jlP2B9cq堠PZ%B]Ȭ#ܞGv uD"46,#>1իLi"DL()HE+Lڋ!xLqIdߩU}!f{`ztTg/HְS!-GCʐ7KQ|ԜfEo{ypW{=Ɵ'Q
+endstream
+endobj
+10044 0 obj
+<< /Type /Page /Contents 10045 0 R /Resources 10043 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9927 0 R >>
endobj
10046 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 405.195 null ] >>
+<< /D [ 10044 0 R /XYZ 78.37 808.885 null ] >>
endobj
10047 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 394.236 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 768.832 null ] >>
endobj
10048 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 383.278 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 757.873 null ] >>
endobj
10049 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 372.319 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 746.914 null ] >>
endobj
10050 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 361.36 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 735.955 null ] >>
endobj
10051 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 350.401 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 724.996 null ] >>
endobj
10052 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 339.442 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 714.037 null ] >>
endobj
10053 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 328.483 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 703.078 null ] >>
endobj
10054 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 317.524 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 692.119 null ] >>
endobj
10055 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 306.565 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 681.16 null ] >>
endobj
10056 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 295.606 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 670.202 null ] >>
endobj
10057 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 284.647 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 659.243 null ] >>
endobj
10058 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 273.688 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 648.284 null ] >>
endobj
10059 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 262.73 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 637.325 null ] >>
endobj
10060 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 251.771 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 626.366 null ] >>
endobj
10061 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 240.812 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 615.407 null ] >>
endobj
10062 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 229.853 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 604.448 null ] >>
endobj
10063 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 218.894 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 593.489 null ] >>
endobj
10064 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 207.935 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 558.62 null ] >>
endobj
10065 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 196.976 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 547.661 null ] >>
endobj
10066 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 186.017 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 536.702 null ] >>
endobj
10067 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 175.058 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 525.743 null ] >>
endobj
10068 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 164.099 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 514.784 null ] >>
endobj
10069 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 153.141 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 503.825 null ] >>
endobj
10070 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 118.271 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 492.867 null ] >>
endobj
10071 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 107.312 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 481.908 null ] >>
endobj
10072 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 96.354 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 470.949 null ] >>
endobj
10073 0 obj
-<< /D [ 10012 0 R /XYZ 81.077 85.395 null ] >>
-endobj
-10011 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 10044 0 R /XYZ 81.077 459.99 null ] >>
endobj
-10076 0 obj
-<< /Filter /FlateDecode /Length 1450 >>
-stream
-xY]o6}ϯЗ[X^~+bC[`=ش#đEIoߥP[,jD{H{!ËuGt ?uvb)%^@ 3` kqؕ<{{;SHArZ.QՁK ^ۺ4p@P2ЇP9T }k ym7oU}=Tjo^Y
-8ӽYwo.U\N,BXZhzln0&va6SYR3mdQV C6~ެ7~T0f91J;FMSXHhd0Y͌LII2tȏu^W~]7gd*"R4*):Pw_tÎ<Lhb3hBR
-v.G_7!i"Xhʧ . ؁O_JifE%fREշkX|\zi{F(>wMa$s<D̩gpbpf jEiyзCs.뭦f譔!O7dJES#D-MKMKcZ9oU:UF$Fz=2gwQ:hڡ7n!|~sY_W$z1ߜs.&|"Bzm?!Yc4Zv
-/VL@T]$鱕dBG43G3%J+)(\
-H/
-,J*@=3=(64Oŵ%.t]<h5{wv'ii񢽺7Y}݉c<K72Tm+!8oMOg,F
-6=)[G!DnrA:>0%',Y\j`AV^?}W.
-endstream
+10074 0 obj
+<< /D [ 10044 0 R /XYZ 81.077 449.031 null ] >>
endobj
10075 0 obj
-<< /Type /Page /Contents 10076 0 R /Resources 10074 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+<< /D [ 10044 0 R /XYZ 81.077 438.072 null ] >>
+endobj
+10076 0 obj
+<< /D [ 10044 0 R /XYZ 81.077 427.113 null ] >>
endobj
10077 0 obj
-<< /D [ 10075 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 416.154 null ] >>
endobj
10078 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 405.195 null ] >>
endobj
10079 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 394.236 null ] >>
endobj
10080 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 383.278 null ] >>
endobj
10081 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 372.319 null ] >>
endobj
10082 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 361.36 null ] >>
endobj
10083 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 350.401 null ] >>
endobj
10084 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 339.442 null ] >>
endobj
10085 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 328.483 null ] >>
endobj
10086 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 317.524 null ] >>
endobj
10087 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 306.565 null ] >>
endobj
10088 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 295.606 null ] >>
endobj
10089 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 284.647 null ] >>
endobj
10090 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 273.688 null ] >>
endobj
10091 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 262.73 null ] >>
endobj
10092 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 251.771 null ] >>
endobj
10093 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 240.812 null ] >>
endobj
10094 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 229.853 null ] >>
endobj
10095 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 218.894 null ] >>
endobj
10096 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 207.935 null ] >>
endobj
10097 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 196.976 null ] >>
endobj
10098 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 186.017 null ] >>
endobj
10099 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 175.058 null ] >>
endobj
10100 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 164.099 null ] >>
endobj
10101 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 153.141 null ] >>
endobj
10102 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 118.271 null ] >>
endobj
10103 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 107.312 null ] >>
endobj
10104 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 96.354 null ] >>
endobj
10105 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 472.941 null ] >>
+<< /D [ 10044 0 R /XYZ 81.077 85.395 null ] >>
endobj
-10106 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-10107 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 451.023 null ] >>
+10043 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10108 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 440.065 null ] >>
+<< /Filter /FlateDecode /Length 1446 >>
+stream
+xYMo6WK6 I(,CO[M;BlɐoZE:A%-=yl }m_G'Fd f' ^ˬ&hFfhuSyfI1 J)F4^(cΉG +r5j4C&E!!G+Rٹ+Ut x-(-NjbZ.g?yeVV ^t qKan7Ӆڜ3,nm9kUtͪ:f*LG5FǦp9%")zU=uX:WDPX
+$݆6nҎ m%2,Q1ꦽ"z29LF֜HTP%h_7n^Vh*i
+=ͤvyHx8OОM3P>A㣃Y\@!VҦh?Wh-ShZK(Kz
+1Cz%odڠc0mTm55AoTk
+gto]5E[i)8yKIEtRq1zkѻ%pbP
+"ω3@ fg}
+N59΄D]x -QzW˨LS8K 2xg:LPFr}B{-W`Iroӣ _I
+rv4Srk $&Dɜ2)A-<&bMQg B|2I=u~4/oU0? :bmS wIaCUקE Ke8iسjܤq߃qlQ-FGNukms>RaG m;Bx~NlkyL]&mYW/eKů{FU~b?M9m7g(goismpcфy.8k5z>Av'q(F;{ bļA =A,F?.D\IÆ
+\RD`"PDэ]U?VG;g}Cs|9ʹH
+Q(5D &-E= ;gRu&DFp<:p^mz
+endstream
+endobj
+10107 0 obj
+<< /Type /Page /Contents 10108 0 R /Resources 10106 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9927 0 R >>
endobj
10109 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 429.106 null ] >>
+<< /D [ 10107 0 R /XYZ 78.37 808.885 null ] >>
endobj
10110 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 418.147 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 768.832 null ] >>
endobj
10111 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 407.188 null ] >>
-endobj
-145 0 obj
-<< /D [ 10075 0 R /XYZ 79.37 383.726 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 757.873 null ] >>
endobj
10112 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 315.383 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 746.914 null ] >>
endobj
10113 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 304.424 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 735.955 null ] >>
endobj
10114 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 293.465 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 724.996 null ] >>
endobj
10115 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 282.506 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 714.037 null ] >>
endobj
10116 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 271.547 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 703.078 null ] >>
endobj
10117 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 260.588 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 692.119 null ] >>
endobj
10118 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 249.629 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 681.16 null ] >>
endobj
10119 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 238.67 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 670.202 null ] >>
endobj
10120 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 227.711 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 659.243 null ] >>
endobj
10121 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 216.753 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 648.284 null ] >>
endobj
10122 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 205.794 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 637.325 null ] >>
endobj
10123 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 194.835 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 626.366 null ] >>
endobj
10124 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 183.876 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 615.407 null ] >>
endobj
10125 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 172.917 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 604.448 null ] >>
endobj
10126 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 161.958 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 593.489 null ] >>
endobj
10127 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 150.999 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 582.53 null ] >>
endobj
10128 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 140.04 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 571.571 null ] >>
endobj
10129 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 129.081 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 560.613 null ] >>
endobj
10130 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 118.122 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 549.654 null ] >>
endobj
10131 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 107.164 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 538.695 null ] >>
endobj
10132 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 96.205 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 527.736 null ] >>
endobj
10133 0 obj
-<< /D [ 10075 0 R /XYZ 81.077 85.246 null ] >>
-endobj
-10074 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 10107 0 R /XYZ 81.077 516.777 null ] >>
endobj
-10136 0 obj
-<< /Filter /FlateDecode /Length 1716 >>
-stream
-xڽZKoFW:MEC hKBq\#%rvfgfY#:zuDW}u܈$2G舍&ьPFcG;ѹ%=Pxz}2X 9n,7h^uZ\OWſrv^ͪj>yݳVފ>e" [!cDpѲ% )1:]fev9;րYk#f~%c4FTu-vDmʛMr-bUE;E5AR%B{U:fR<5m]'wsFZ1Xp*h*xU;X.ڑ*gu{fEZcnob>[~o)݄
-*K@\5u!jjMq]ȊK"C-* FhKuPhɪ&q2͇ۼ*oyq -PVֆ-VJiby`I0pޑdNrϐHETkZ}Gz<lfHv ZNu~5ɦ*ld6)Ɖs9\bXQNd(ay$umilRL̿%d=sZ:SM90 ͘<b/}֔ZUTUЪ@f`(5Zm|d.wh|duG)
-kMY3!wz2fy|I vNyZzۼW[}N9,9 =X|$ᙱ8Uh ;3 qQ.-Y+`A_(';Ac>ܳs6ٝa)Sf -]oNg~us_Wo'߈׺9q+)O!aIÞPGb2}H7z=/:!SRk)= n>уw0@ڭ¹pDkHLAH\ ORQ6LTc[ >wb[mv(FhlˉU./Dȥ/avv)q"`л=Dk$q& daotص@KFY`1'q1-cT!uՍDhl A-9E , Be[ Tpmz_ҡ'mLsF:
-endstream
+10134 0 obj
+<< /D [ 10107 0 R /XYZ 81.077 505.818 null ] >>
endobj
10135 0 obj
-<< /Type /Page /Contents 10136 0 R /Resources 10134 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+<< /D [ 10107 0 R /XYZ 81.077 494.859 null ] >>
+endobj
+10136 0 obj
+<< /D [ 10107 0 R /XYZ 81.077 483.9 null ] >>
endobj
10137 0 obj
-<< /D [ 10135 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 472.941 null ] >>
endobj
10138 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 461.982 null ] >>
endobj
10139 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 451.023 null ] >>
endobj
10140 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 440.065 null ] >>
endobj
10141 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 429.106 null ] >>
endobj
10142 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 418.147 null ] >>
endobj
10143 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 407.188 null ] >>
+endobj
+145 0 obj
+<< /D [ 10107 0 R /XYZ 79.37 383.726 null ] >>
endobj
10144 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 315.383 null ] >>
endobj
10145 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 663.228 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 304.424 null ] >>
endobj
10146 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 652.269 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 293.465 null ] >>
endobj
10147 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 641.31 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 282.506 null ] >>
endobj
10148 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 630.351 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 271.547 null ] >>
endobj
10149 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 619.392 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 260.588 null ] >>
endobj
10150 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 608.433 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 249.629 null ] >>
endobj
10151 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 597.474 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 238.67 null ] >>
endobj
10152 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 586.515 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 227.711 null ] >>
endobj
10153 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 575.556 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 216.753 null ] >>
endobj
10154 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 564.598 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 205.794 null ] >>
endobj
10155 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 553.639 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 194.835 null ] >>
endobj
10156 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 542.68 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 183.876 null ] >>
endobj
10157 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 531.721 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 172.917 null ] >>
endobj
10158 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 520.762 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 161.958 null ] >>
endobj
10159 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 509.803 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 150.999 null ] >>
endobj
10160 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 498.844 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 140.04 null ] >>
endobj
10161 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 487.885 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 129.081 null ] >>
endobj
10162 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 476.926 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 118.122 null ] >>
endobj
10163 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 465.967 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 107.164 null ] >>
endobj
10164 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 455.009 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 96.205 null ] >>
endobj
10165 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 444.05 null ] >>
-endobj
-10166 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 433.091 null ] >>
+<< /D [ 10107 0 R /XYZ 81.077 85.246 null ] >>
endobj
-10167 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 422.132 null ] >>
+10106 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10168 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 411.173 null ] >>
+<< /Filter /FlateDecode /Length 1717 >>
+stream
+xڽZYoF~ {z2AB)
+=@2%3HF;+JK8ȃI-;2tѫ#﫣fGF$q >-DGld5̌fj6G;jٯ(aڍ,qZ ۗ(#r~ΊE^Dqu|^+gg,廬{V{E힭
+,k#L`f!cDpѲ%ʽlK攀}t~.2G^k3{=0=,1# :e;Q>ZV&Ȗy1"@*]Y3)h|Ӧ߷q~v[{zȁ:\˾: !̮V8/[M7i^yVy>kHXU96/U^ݡOM8>@6Oo lMfZ-=iTk$O5@.~ߓ^bJx
+(FFO2 oPvN#:p.6o G_ݵw A3(U}wn|4M4ʣ FHg
+~u:$y72c@l:)Ū_mDm0hE墬Ul٭c>h9Qc α=Ntp%s Ϻj58u.d%^J֡#4zIuP8ɪ&q2ۼ*oyq PVֆLJVJiby`I'0pޑdN!HEIZ}'z<fHv 2koM&7eD_Gq\#gpQGaE9"P!B{_EMIޥU^I1-Z2hyd~Q> /jO5(6B}+-g"C|Ez·ٚRCtVՙ {`(5Zm|d.wh|dMG)6503@" c4ޡZo|'
+T8 x/&Ӈt7?Ek8,pch=#P;9\;'SPe
+H}T͗Ę@Lォ>ĝV{ jE#4^Ī "taĺ5qy"BkJ)*#.}lO?IG :x>Htn1h( ,9neh|sKhU*xhhF"4^6Մ@\Z͜"ud񲭄~*0Ehl#ׁz4lŨE!gm'v* $(}4DP;
+:nߨ#]%8.{`o |#p#Wa b}EQ<8{v^Hnj`4XE 4'4j^hIu}I*pxć~km03;^Ύ7q
+endstream
+endobj
+10167 0 obj
+<< /Type /Page /Contents 10168 0 R /Resources 10166 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9927 0 R >>
endobj
10169 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 400.214 null ] >>
+<< /D [ 10167 0 R /XYZ 78.37 808.885 null ] >>
endobj
10170 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 389.255 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 768.832 null ] >>
endobj
10171 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 378.296 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 757.873 null ] >>
endobj
10172 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 367.337 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 746.914 null ] >>
endobj
10173 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 356.378 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 735.955 null ] >>
endobj
10174 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 345.42 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 724.996 null ] >>
endobj
10175 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 334.461 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 714.037 null ] >>
endobj
10176 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 323.502 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 703.078 null ] >>
endobj
10177 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 312.543 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 663.228 null ] >>
endobj
10178 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 301.584 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 652.269 null ] >>
endobj
10179 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 290.625 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 641.31 null ] >>
endobj
10180 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 279.666 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 630.351 null ] >>
endobj
10181 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 268.707 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 619.392 null ] >>
endobj
10182 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 257.748 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 608.433 null ] >>
endobj
10183 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 246.789 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 597.474 null ] >>
endobj
10184 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 235.83 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 586.515 null ] >>
endobj
10185 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 224.872 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 575.556 null ] >>
endobj
10186 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 213.913 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 564.598 null ] >>
endobj
10187 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 202.954 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 553.639 null ] >>
endobj
10188 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 191.995 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 542.68 null ] >>
endobj
10189 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 181.036 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 531.721 null ] >>
endobj
10190 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 170.077 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 520.762 null ] >>
endobj
10191 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 159.118 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 509.803 null ] >>
endobj
10192 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 148.159 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 498.844 null ] >>
endobj
10193 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 137.2 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 487.885 null ] >>
endobj
10194 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 126.241 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 476.926 null ] >>
endobj
10195 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 115.283 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 465.967 null ] >>
endobj
10196 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 104.324 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 455.009 null ] >>
endobj
10197 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 93.365 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 444.05 null ] >>
endobj
10198 0 obj
-<< /D [ 10135 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-10134 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 10167 0 R /XYZ 81.077 433.091 null ] >>
endobj
-10201 0 obj
-<< /Filter /FlateDecode /Length 1583 >>
-stream
-xڵYMoFW%F~dmnmAJV#$m .#q(v|0ml03\A?ލ޾78,G1xx j 4V_;Ocb@߾n`i6sd[Xotx]_(>xyYƛ/ۢ7jqXфE\bd-P@-,p+mf[0vstE+;.rQ:=/.=7 B { V2G#4mѶ>ODN=#d&pb~h"tuG?]h7uu2g%t=C* Mm5mIݜFb:j`0*7~ѭ?@TVrNo9W!{ߒȤCegεܭ|j&8mWԿj&"R9 m:pM0PFŌk`e:FŪ7U-j6x"oZOѠlv!h$St'^$U cD$hW!iSi5ILP"W+Q)N@F (V(-2CE.PlϜk04)0>asvRG9q6 K#_O%u??Cb}/ti#Д6/-,<{d4StR*YGh7S8s Ep*r)io'{cy2e GSʡze1 +N1#STA:dD]:RUJFAI㗢-]`0vH J MD)rQ!Zg:
-endstream
+10199 0 obj
+<< /D [ 10167 0 R /XYZ 81.077 422.132 null ] >>
endobj
10200 0 obj
-<< /Type /Page /Contents 10201 0 R /Resources 10199 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+<< /D [ 10167 0 R /XYZ 81.077 411.173 null ] >>
+endobj
+10201 0 obj
+<< /D [ 10167 0 R /XYZ 81.077 400.214 null ] >>
endobj
10202 0 obj
-<< /D [ 10200 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 389.255 null ] >>
endobj
10203 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 378.296 null ] >>
endobj
10204 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 367.337 null ] >>
endobj
10205 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 356.378 null ] >>
endobj
10206 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 345.42 null ] >>
endobj
10207 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 334.461 null ] >>
endobj
10208 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 323.502 null ] >>
endobj
10209 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 312.543 null ] >>
endobj
10210 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 301.584 null ] >>
endobj
10211 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 681.16 null ] >>
-endobj
-149 0 obj
-<< /D [ 10200 0 R /XYZ 79.37 657.699 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 290.625 null ] >>
endobj
10212 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 617.236 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 279.666 null ] >>
endobj
10213 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 606.278 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 268.707 null ] >>
endobj
10214 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 595.319 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 257.748 null ] >>
endobj
10215 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 584.36 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 246.789 null ] >>
endobj
10216 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 573.401 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 235.83 null ] >>
endobj
10217 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 562.442 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 224.872 null ] >>
endobj
10218 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 551.483 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 213.913 null ] >>
endobj
10219 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 540.524 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 202.954 null ] >>
endobj
10220 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 529.565 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 191.995 null ] >>
endobj
10221 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 518.606 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 181.036 null ] >>
endobj
10222 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 507.647 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 170.077 null ] >>
endobj
10223 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 496.689 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 159.118 null ] >>
endobj
10224 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 485.73 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 148.159 null ] >>
endobj
10225 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 474.771 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 137.2 null ] >>
endobj
10226 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 463.812 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 126.241 null ] >>
endobj
10227 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 452.853 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 115.283 null ] >>
endobj
10228 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 441.894 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 104.324 null ] >>
endobj
10229 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 430.935 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 93.365 null ] >>
endobj
10230 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 419.976 null ] >>
+<< /D [ 10167 0 R /XYZ 81.077 82.406 null ] >>
endobj
-10231 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 409.017 null ] >>
-endobj
-10232 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 398.058 null ] >>
+10166 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F20 186 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10233 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 387.1 null ] >>
+<< /Filter /FlateDecode /Length 1584 >>
+stream
+xڵYKoFW%Fɾ:q
+m '<u8n te<u)G4024ݶ [ӆ)i&
+T"|^'-a=T{p6amIt34%M+ˣGc/y rȟaTGQ6ōjg~~[ ^i~^j#MU-lx=zR]Wb<ۅMQ?GQ:Ti4St*4KMT40mAG
+59,JH&ʍ(Z:C) X<bh2tҪeYܵ~o!Id6@ai&cs(k<$E%EzE10C?%$YAVDy0F9EpGϬ W4>7=qEW-(2) N{˱`>)JGձ[Ro%MGF9E<4T.BQqIe\Q,M73tojdjL5,M434yqfَe`gCTVrH?p O:GC`<ضp; ^'Nϋv`];Z` ,se8\.8䙣ѷU0H[|iwA{ Bh,։4f):aV'Q8霤URf?)Mb%0GӤ*ϭb`&ΐj%CgU gh7giQn[L/Zk:R1ehmv$z ehm@8=NчaA9i7t܀qyzJNˀ[ۋ@A8켤&E'' D#b/^q.zE+K'A82&%;S=1*QO{46aV7as Ԕ*ym‘ %]2<3c?OX
+endstream
+endobj
+10232 0 obj
+<< /Type /Page /Contents 10233 0 R /Resources 10231 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9927 0 R >>
endobj
10234 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 376.141 null ] >>
+<< /D [ 10232 0 R /XYZ 78.37 808.885 null ] >>
endobj
10235 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 365.182 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 768.832 null ] >>
endobj
10236 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 354.223 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 757.873 null ] >>
endobj
10237 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 343.264 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 746.914 null ] >>
endobj
10238 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 332.305 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 735.955 null ] >>
endobj
10239 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 321.346 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 724.996 null ] >>
endobj
10240 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 310.387 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 714.037 null ] >>
endobj
10241 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 299.428 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 703.078 null ] >>
endobj
10242 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 288.469 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 692.119 null ] >>
endobj
10243 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 277.51 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 681.16 null ] >>
+endobj
+149 0 obj
+<< /D [ 10232 0 R /XYZ 79.37 657.699 null ] >>
endobj
10244 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 266.552 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 617.236 null ] >>
endobj
10245 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 255.593 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 606.278 null ] >>
endobj
10246 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 244.634 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 595.319 null ] >>
endobj
10247 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 233.675 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 584.36 null ] >>
endobj
10248 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 222.716 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 573.401 null ] >>
endobj
10249 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 211.757 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 562.442 null ] >>
endobj
10250 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 200.798 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 551.483 null ] >>
endobj
10251 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 189.839 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 540.524 null ] >>
endobj
10252 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 178.88 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 529.565 null ] >>
endobj
10253 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 167.921 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 518.606 null ] >>
endobj
10254 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 156.963 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 507.647 null ] >>
endobj
10255 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 146.004 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 496.689 null ] >>
endobj
10256 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 135.045 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 485.73 null ] >>
endobj
10257 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 124.086 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 474.771 null ] >>
endobj
10258 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 113.127 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 463.812 null ] >>
endobj
10259 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 102.168 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 452.853 null ] >>
endobj
10260 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 91.209 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 441.894 null ] >>
endobj
10261 0 obj
-<< /D [ 10200 0 R /XYZ 81.077 80.25 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 430.935 null ] >>
endobj
-10199 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10264 0 obj
-<< /Filter /FlateDecode /Length 1548 >>
-stream
-xڵZMoFW%i~d4moM!0JfA
-EI.-i+/&eqξ++ޝp;[+ q) _b/ma fxq*|/ot)k K^.κPʦ_ݺ]T_¢7ai=;hR]ߕ&2[mEO#=p%?ѷdw
-ml[Z+m=-<ѷ/^iGۛL]乜z>Vÿ;8K3 )R12]oyJ;r.A2L5)34ݶS Gۆ&3. J# Ks@T},01v$u4B)zh>tShʎitRtO\oC9>TůqThLST
-ƒ֨z2@{U'h*EAٗ̅Y0e)J&G}Z6w J鶝>RThmb9xps;^EyӮVes9.ؘ0joބ>/Wa}25nv8갳4hrA7鑊 UTۢf6iV.φyJajp)?Hu*:}8MT4zN#wD
-acMWm6rN)`cib~VHy[- w/I2~&
-˞y5ېY9 W\o3xם6<aa?MBF6E2u(V5gCQ(bTZ圂 Df1?ZNfI?&gmS4ݶ 9VjޭMU]r^33zb*X
-F :9oX\UJحbi,-sd qJe#A6$]K'cf$<+rWbY0E2~d%t 7VIC%ixl<4)(Hjc<{0`GF1E¦XYUJ Tq ::H.T0g y.kPH9# Mv0Td!E+LNhOՇ+9V.iS!5* MN:BsieWIp=㨛ܐ!C)ٳB2`u[F"w]~&GF7ES~]} rK NyGQcNÙ;8y{M)pJ q?FGqMh}L~J! $Ih3t׼יDmx>v6sfO<_h3]7mP)a|!\#hazpp4yƓI*;@L-Ia4Q~瑁4m*E_~+e?nrU՟h ]ȻށVn{
-,h<9u w)8ѐ^]||x’~O9k}UaTjUxܘBXcrqL!
-endstream
+10262 0 obj
+<< /D [ 10232 0 R /XYZ 81.077 419.976 null ] >>
endobj
10263 0 obj
-<< /Type /Page /Contents 10264 0 R /Resources 10262 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+<< /D [ 10232 0 R /XYZ 81.077 409.017 null ] >>
+endobj
+10264 0 obj
+<< /D [ 10232 0 R /XYZ 81.077 398.058 null ] >>
endobj
10265 0 obj
-<< /D [ 10263 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 387.1 null ] >>
endobj
10266 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 376.141 null ] >>
endobj
10267 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 365.182 null ] >>
endobj
10268 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 354.223 null ] >>
endobj
10269 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 343.264 null ] >>
endobj
10270 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 332.305 null ] >>
endobj
10271 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 321.346 null ] >>
endobj
10272 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 310.387 null ] >>
endobj
10273 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 299.428 null ] >>
endobj
10274 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 288.469 null ] >>
endobj
10275 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 277.51 null ] >>
endobj
10276 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 266.552 null ] >>
endobj
10277 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 255.593 null ] >>
endobj
10278 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 244.634 null ] >>
endobj
10279 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 233.675 null ] >>
endobj
10280 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 222.716 null ] >>
endobj
10281 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 211.757 null ] >>
endobj
10282 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 200.798 null ] >>
endobj
10283 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 577.549 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 189.839 null ] >>
endobj
10284 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 566.59 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 178.88 null ] >>
endobj
10285 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 555.631 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 167.921 null ] >>
endobj
10286 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 544.672 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 156.963 null ] >>
endobj
10287 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 533.713 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 146.004 null ] >>
endobj
10288 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 522.754 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 135.045 null ] >>
endobj
10289 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 511.796 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 124.086 null ] >>
endobj
10290 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 500.837 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 113.127 null ] >>
endobj
10291 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 489.878 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 102.168 null ] >>
endobj
10292 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 478.919 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 91.209 null ] >>
endobj
10293 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 467.96 null ] >>
-endobj
-10294 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 457.001 null ] >>
+<< /D [ 10232 0 R /XYZ 81.077 80.25 null ] >>
endobj
-10295 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 446.042 null ] >>
+10231 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10296 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 435.083 null ] >>
+<< /Filter /FlateDecode /Length 1546 >>
+stream
+xڵZKoFWũɾ>M
+ԀAV)-=FŵWo/ ѠxAz L%Ibm$hjE<VUSc/
+k '?۷/ƭ7O[) tJR4 B@ť
+]
+H[WϪemYU;4+^g<KBj7S4G-6\x㳠∤-5v=ƪ[WCյ]*no
+4pjoq+5EoW U9/ h9G>X2\n9yWw}vVn5 92oaF4rŲVN-0% B۴
+
+bлMWw[%5 9d>$@OG1b"&Z%b%V=er[)9ՠc:8y.rʉ&f%E?i}3"hmdC`LVAqS !L1,hUt`cp{
+N4ݲʫdr=Bn
+ Uҧ˫WS?|5DG8Eﲑgx`_tb
+1F\<M #0@\nС:9h(*vn!~N#wfsaMC$C{ў>:ZѨ^>&CtL $ Jh3t׼יDmؐ}$l"C^$99_pO߯7PnB|! F2hr'gXvP!H&Y{X$G}v}S֋_~+׋ET&Z]_9n5 Em1SK ɑ4yDCnziE$h:X*S",T!V<q
+endstream
+endobj
+10295 0 obj
+<< /Type /Page /Contents 10296 0 R /Resources 10294 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9927 0 R >>
endobj
10297 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 424.124 null ] >>
+<< /D [ 10295 0 R /XYZ 78.37 808.885 null ] >>
endobj
10298 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 413.165 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 768.832 null ] >>
endobj
10299 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 402.207 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 757.873 null ] >>
endobj
10300 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 391.248 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 746.914 null ] >>
endobj
10301 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 380.289 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 735.955 null ] >>
endobj
10302 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 369.33 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 724.996 null ] >>
endobj
10303 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 358.371 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 714.037 null ] >>
endobj
10304 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 347.412 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 703.078 null ] >>
endobj
10305 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 336.453 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 692.119 null ] >>
endobj
10306 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 325.494 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 681.16 null ] >>
endobj
10307 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 314.535 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 670.202 null ] >>
endobj
10308 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 303.576 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 659.243 null ] >>
endobj
10309 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 292.618 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 648.284 null ] >>
endobj
10310 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 281.659 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 637.325 null ] >>
endobj
10311 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 270.7 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 626.366 null ] >>
endobj
10312 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 259.741 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 615.407 null ] >>
endobj
10313 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 248.782 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 604.448 null ] >>
endobj
10314 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 237.823 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 593.489 null ] >>
endobj
10315 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 226.864 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 577.549 null ] >>
endobj
10316 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 215.905 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 566.59 null ] >>
endobj
10317 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 204.946 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 555.631 null ] >>
endobj
10318 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 193.987 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 544.672 null ] >>
endobj
10319 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 183.028 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 533.713 null ] >>
endobj
10320 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 172.07 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 522.754 null ] >>
endobj
10321 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 161.111 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 511.796 null ] >>
endobj
10322 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 150.152 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 500.837 null ] >>
endobj
10323 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 139.193 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 489.878 null ] >>
endobj
10324 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 128.234 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 478.919 null ] >>
endobj
10325 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 117.275 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 467.96 null ] >>
endobj
10326 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 106.316 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 457.001 null ] >>
endobj
10327 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 95.357 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 446.042 null ] >>
endobj
10328 0 obj
-<< /D [ 10263 0 R /XYZ 81.077 84.398 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 435.083 null ] >>
endobj
-10262 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10331 0 obj
-<< /Filter /FlateDecode /Length 1997 >>
-stream
-xڵZMoWdVh ma(6%%OMJ4Htxǹb_ÑH'XC9-(<TL(hEIn3}jg7CRܤ`,yCJ&oÛ7J?Z[tdAh"~%sWmn <ٖ(KsYϪ݇!zgffsMBT%M) 6Մ1m+TƤ`j~<
-ERFHmmV]M-W :2480|skes`Ven \H΢R(C+MiNx4-
-XYnUp5IV1"xHAQ=Qۦdਟ"煔%%BG G9E{ʋj3[7Gu|O MYc48)e,<5ZMpߙH)j \iTnn!YCK?KF 6v!qsKd72D@QNѯ聾Dhbf$\xXfFMMdfpRtU\jA1I.q}nM bc$%fhNJFBR2%l4% Yeƻ!>X/2Z0UT!XQ@bT] kYN!Ty}pc݋k(bJc>c >tzט"TxFDYg;ENR?hE(}ko[IB! ~
->L;/4~9_$!ط62)QUsBF"T~-0m2+c{P=R]Yl>T͇SJ*;E[6ci+YdCR"1DȨ
-:h
--r8g}i{H^b;p=a/~>Ԅ8|2C4 »CC+^6V:-=M?Լ+%a3ZÜE5/ZyFrn2sbiƎB@/#VJ“U۝H_@
-nqê? ١$:;4HO8[ɇ Y|V svkv
-t
-endstream
+10329 0 obj
+<< /D [ 10295 0 R /XYZ 81.077 424.124 null ] >>
endobj
10330 0 obj
-<< /Type /Page /Contents 10331 0 R /Resources 10329 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+<< /D [ 10295 0 R /XYZ 81.077 413.165 null ] >>
+endobj
+10331 0 obj
+<< /D [ 10295 0 R /XYZ 81.077 402.207 null ] >>
endobj
10332 0 obj
-<< /D [ 10330 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 391.248 null ] >>
endobj
10333 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 380.289 null ] >>
endobj
10334 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 369.33 null ] >>
endobj
10335 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 358.371 null ] >>
endobj
10336 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 347.412 null ] >>
endobj
10337 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 336.453 null ] >>
endobj
10338 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 325.494 null ] >>
endobj
10339 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 314.535 null ] >>
endobj
10340 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 303.576 null ] >>
endobj
10341 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 292.618 null ] >>
endobj
10342 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 281.659 null ] >>
endobj
10343 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 270.7 null ] >>
endobj
10344 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 259.741 null ] >>
endobj
10345 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 248.782 null ] >>
endobj
10346 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 237.823 null ] >>
endobj
10347 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 226.864 null ] >>
endobj
10348 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 215.905 null ] >>
endobj
10349 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 204.946 null ] >>
endobj
10350 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 582.53 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 193.987 null ] >>
endobj
10351 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 571.571 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 183.028 null ] >>
endobj
10352 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 560.613 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 172.07 null ] >>
endobj
10353 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 549.654 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 161.111 null ] >>
endobj
10354 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 538.695 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 150.152 null ] >>
endobj
10355 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 527.736 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 139.193 null ] >>
endobj
10356 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 516.777 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 128.234 null ] >>
endobj
10357 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 505.818 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 117.275 null ] >>
endobj
10358 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 494.859 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 106.316 null ] >>
endobj
10359 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 483.9 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 95.357 null ] >>
endobj
10360 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 472.941 null ] >>
+<< /D [ 10295 0 R /XYZ 81.077 84.398 null ] >>
endobj
-10361 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 461.982 null ] >>
-endobj
-10362 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 451.023 null ] >>
+10294 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10363 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 440.065 null ] >>
+<< /Filter /FlateDecode /Length 1994 >>
+stream
+xڵZKoWFm&WAn E[4J"Rq !GVtzcR$9ߜ!]LVbUq8/W?]Dk(g E()m&O-Swk7)jF$o뷒捿ү0YZHGGq@-[By%'iֳjys{aP?ټYYnCSeP#"USSM5aLF1)+dZny94BT!Q<Rpswg۴UW5uSo˕v{4Ce%ᅎ a }*nX?nY[<9#6(HS>68 YnUp5qV1""-*/dhOmSMNwi`̟" )KJiT8)S^T٪u}u٬l3xb`}h1j1ZS3ѣ~;Y"eW`2tjII ,Vgxި!ƪ9no)s( 8)뽴pԱhʘ:W/H,3#&2S8f):g*\jAhqx
+$qoM bXc4$fhtC'%#Fbڔ ꛺F 9fJ,9^bf6gK&(C11*+
+pLhtWB/\)dN5g' 7{q E Bq{Lg8߿n]b֐BĤmʡ34^Ѥ01-`ҿTZbop%"Ce+Ih\OiAί_ [sAH Ձјߍ)!E.'L7HegX,npЯ0 `q3R]Yl>T͇eNͭ%b m1]K>8,!B<kq9>C
+/
+I,mQ6r93CP1(nQI"DKX9>3ϠA52B30a]H<E!
+][>lŵnw PHmifp㶜_b\T?W3R M5&p0#{`Rvr0i7<-p-xq\}D$- 8EnL8 sGO7pl6~S@wߺL6ZvoAiR 8dLU+GSp0G6`}_ W0UޚQpQsI,*
+-rW4=wbe0@zxn?b?֧8|2C4 ]ڕGȈ
+^VMMަj^ԕ-XaO]Y-yF@i2}liWȁ@ZFtJ“q|H; aO-w(MdNgmeW
+u>Z`){(ȇ}Kh
+endstream
+endobj
+10362 0 obj
+<< /Type /Page /Contents 10363 0 R /Resources 10361 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9927 0 R >>
endobj
10364 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 429.106 null ] >>
+<< /D [ 10362 0 R /XYZ 78.37 808.885 null ] >>
endobj
10365 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 418.147 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 768.832 null ] >>
endobj
10366 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 407.188 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 757.873 null ] >>
endobj
10367 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 396.229 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 746.914 null ] >>
endobj
10368 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 385.27 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 735.955 null ] >>
endobj
10369 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 374.311 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 724.996 null ] >>
endobj
10370 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 363.352 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 714.037 null ] >>
endobj
10371 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 352.393 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 703.078 null ] >>
endobj
10372 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 341.434 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 692.119 null ] >>
endobj
10373 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 330.476 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 681.16 null ] >>
endobj
10374 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 319.517 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 670.202 null ] >>
endobj
10375 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 308.558 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 659.243 null ] >>
endobj
10376 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 297.599 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 648.284 null ] >>
endobj
10377 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 286.64 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 637.325 null ] >>
endobj
10378 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 275.681 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 626.366 null ] >>
endobj
10379 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 264.722 null ] >>
-endobj
-153 0 obj
-<< /D [ 10330 0 R /XYZ 79.37 242.776 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 615.407 null ] >>
endobj
10380 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 123.122 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 604.448 null ] >>
endobj
10381 0 obj
-<< /D [ 10330 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-10329 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 10362 0 R /XYZ 81.077 593.489 null ] >>
endobj
-10384 0 obj
-<< /Filter /FlateDecode /Length 1952 >>
-stream
-xZmo_o޾shE/M^A4@K+8<{gtFrΔ(>gvggftDO/HLkEtfF͒Y\Zn?{0S0XeBWw=ZqulӺ~s)/{nE|N;pih!%?%ƈ*Fm K861zq퀴w
-Aq!B 9!%M+ zoI;w>wq1`ϊȕEA4pY)< -/n?'G kêŝ)xGa[ N5R<EԕeQ_NRS" N4xTPň맲XB'h?YW7!3r`{Eԇ,<erʙ7 {CZa 7S4Z
-[R
- cQ@7ldQn+Dh{PNDh Ǭ,{וo5BVv.zT =^l1}xXvфSB2΅ )=Cy*@Dw: D=/VNFYH.D%cA |P2e
-cXFoF n9*.kDhP rP@XB@
-PcM7 <$(ӂ: x3!spo&'"QRcK[y%IZP"I"pi 8SWڀÔN d)z5rX (k QLjs簙 ទDhtu`A6T$GfE O+P'SDb
-{w깪}C]t>gt_EkO|9ȇ=b'6W\_>w}6\y/W gVb_~|aAS=>L8gPk
-L*B ~7!jC$o;Nk1ǐđ L2ȡݾX M}isEѢ%ө8R4 K{&W{4,أ$e@!P1`Ȏnx ($`'B93O|%q< Mx.FM$ȗF;Y+xh]By
-endstream
+10382 0 obj
+<< /D [ 10362 0 R /XYZ 81.077 582.53 null ] >>
endobj
10383 0 obj
-<< /Type /Page /Contents 10384 0 R /Resources 10382 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+<< /D [ 10362 0 R /XYZ 81.077 571.571 null ] >>
+endobj
+10384 0 obj
+<< /D [ 10362 0 R /XYZ 81.077 560.613 null ] >>
endobj
10385 0 obj
-<< /D [ 10383 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 549.654 null ] >>
endobj
10386 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 538.695 null ] >>
endobj
10387 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 527.736 null ] >>
endobj
10388 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 516.777 null ] >>
endobj
10389 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 505.818 null ] >>
endobj
10390 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 494.859 null ] >>
endobj
10391 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 483.9 null ] >>
endobj
10392 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 472.941 null ] >>
endobj
10393 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 461.982 null ] >>
endobj
10394 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 451.023 null ] >>
endobj
10395 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 440.065 null ] >>
endobj
10396 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 429.106 null ] >>
endobj
10397 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 418.147 null ] >>
endobj
10398 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 407.188 null ] >>
endobj
10399 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 396.229 null ] >>
endobj
10400 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 385.27 null ] >>
endobj
10401 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 599.772 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 374.311 null ] >>
endobj
10402 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 588.813 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 363.352 null ] >>
endobj
10403 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 577.854 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 352.393 null ] >>
endobj
10404 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 566.895 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 341.434 null ] >>
endobj
10405 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 555.936 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 330.476 null ] >>
endobj
10406 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 544.978 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 319.517 null ] >>
endobj
10407 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 534.019 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 308.558 null ] >>
endobj
10408 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 523.06 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 297.599 null ] >>
endobj
10409 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 512.101 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 286.64 null ] >>
endobj
10410 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 501.142 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 275.681 null ] >>
endobj
10411 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 490.183 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 264.722 null ] >>
+endobj
+153 0 obj
+<< /D [ 10362 0 R /XYZ 79.37 242.776 null ] >>
endobj
10412 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 479.224 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 123.122 null ] >>
endobj
10413 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 468.265 null ] >>
-endobj
-10414 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 457.306 null ] >>
+<< /D [ 10362 0 R /XYZ 81.077 78.637 null ] >>
endobj
-10415 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 425.651 null ] >>
+10361 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F72 187 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10416 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 414.692 null ] >>
+<< /Filter /FlateDecode /Length 1940 >>
+stream
+xZoD޿"h]B x_|M6u}ݖ;rM&)⤫Ǐgfwg泛}wƇ#3wiB|}&">2+YdV淳œ? z&%֪x
+\D`Bf]\iΟC-mZ_ѯ!o޻f]͇t>qG MLp9$a! 4D&
+a%gƵH3Y1 @!~ 0W?._4+bRLK!MV5w.#?yeDKOMZ#m͵k(TE$$ࡢy8E56۬bԐ(}mm2՛~KWߕ,LZմ54EׯM S<
+ 6Bׯ5S: -izѴ4i?Yޤٲ)ʕ+ᴸjF
+6y;΋ڽ`%*|'6t4~BduUjt+.]ᑆD<vU:ex72aڄХ**j4_]13IBIck\,U椢QM9HyX8RSjԖ[gڣv_Fe>b4Fh2I3ˊF=&r7(W?u'vW 9"hFQ-'W9
+.ܱNkI&4G^+W?aȻ]|57 Β?o|Xb0hp`('yAQ5#C ŜN@E(~?'ƒ kӪŝO RR4-)S@}Mo4c*St˦,*?r4Ж3,I 4ݶBaUET!_b V?"}aa`;rE4SNi'r6S4Y*'6PKkiaG=ͷ_ usWSYu4Unh+\e:yӨΜ4р87iդҥGpͶHWnF54M R!7'HFZ$4w3u &`Ee,R,* X<s(0}"=^(md>+u#V.eVzT =^liAE<,;4n6,?΅ )py(@;Aj?kz'K,jM:M.JhfjHB
+S"pPPhL),d"5ꢵ"0 ^( 
+2fsAW
+讇 9HP*%y(E IXi5$1f4 p60eNiJH|=im:Z8EH EC{F*9%:6O۩DE\H3?
+.)"Jci_\Ž|Mj# -fRiѹKoCEmWq[ *Cqw;걪mC]tǞ3/뢵_wGlBކ>oRBP 4#T8+uE愎
+}gȏ-!i|w\O(8p
+endstream
+endobj
+10415 0 obj
+<< /Type /Page /Contents 10416 0 R /Resources 10414 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9927 0 R >>
endobj
10417 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 403.733 null ] >>
+<< /D [ 10415 0 R /XYZ 78.37 808.885 null ] >>
endobj
10418 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 392.774 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 768.832 null ] >>
endobj
10419 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 381.815 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 757.873 null ] >>
endobj
10420 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 370.856 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 746.914 null ] >>
endobj
10421 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 359.897 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 735.955 null ] >>
endobj
10422 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 348.938 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 724.996 null ] >>
endobj
10423 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 337.979 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 714.037 null ] >>
endobj
10424 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 322.344 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 703.078 null ] >>
endobj
10425 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 311.385 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 692.119 null ] >>
endobj
10426 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 300.427 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 681.16 null ] >>
endobj
10427 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 289.468 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 670.202 null ] >>
endobj
10428 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 278.509 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 659.243 null ] >>
endobj
10429 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 267.55 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 648.284 null ] >>
endobj
10430 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 256.591 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 637.325 null ] >>
endobj
10431 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 245.632 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 626.366 null ] >>
endobj
10432 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 234.673 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 615.407 null ] >>
endobj
10433 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 208.69 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 599.772 null ] >>
endobj
10434 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 197.731 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 588.813 null ] >>
endobj
10435 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 577.854 null ] >>
endobj
10436 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 566.895 null ] >>
endobj
10437 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 555.936 null ] >>
endobj
10438 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 544.978 null ] >>
endobj
10439 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 534.019 null ] >>
endobj
10440 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 523.06 null ] >>
endobj
10441 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 512.101 null ] >>
endobj
10442 0 obj
-<< /D [ 10383 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-10382 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 10415 0 R /XYZ 81.077 501.142 null ] >>
endobj
-10445 0 obj
-<< /Filter /FlateDecode /Length 1721 >>
-stream
-xڵYMo6W6RP-6-ڴRV oP)q^"# 9f<^0wKat0x  H5P ,`=Fus B, &(&>uQ,lvq5 *y]2+:/jxeb^DT`D0uD>$ Q1bcHiH '˴ZЄrDףs:]DDHD/.M1sCU.UtRۇYѬnΐHňოެ"5w#mG`EU5P_J%! Qy̐gl)l{8>LQ}9f?[Nt|iC^yP2axx28.0`te/ Y'b\84xEҭ͎\;F~vsL'7\^>:T?I8U+?+&,ʋ;^.gbZfhY#¬{@{YJޜ c[>:|mEt2QEv]_
-P#vdC=B%Hr՗a`&Fd)~-&R$'9PΩ?1, VV*ޘ(y-"_>ػie/A8^o
- 6 AB]_tpk 3~<y:
-,h`EQ$uL|gAjPm_@ZA;<̑}tpe!\g*DP꡽GKxAlV{`O
- QQr;IRp冴cihSW5tLZYGb@N$;r}t,Bx&=׀**p";v̩EJW>Eq;(c'% }_o-&LRs]% B݋ª.A򪾸ʻщޥ2^F?T iRp S(w)PweByprF˺2L<tcEI7ˬ7lQq,7Mp7l~(u.-&1no-k+hQ7;?vMXGUI1K2A9(z!%:oߗ*M7c-(b.x88v IŮ^I& DgWP4K}ۑOFaC-#142NeTxtA{Jo/WGEkqU
-'8JivLHW:wd2{c6Q}
-endstream
+10443 0 obj
+<< /D [ 10415 0 R /XYZ 81.077 490.183 null ] >>
endobj
10444 0 obj
-<< /Type /Page /Contents 10445 0 R /Resources 10443 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 9948 0 R >>
+<< /D [ 10415 0 R /XYZ 81.077 479.224 null ] >>
+endobj
+10445 0 obj
+<< /D [ 10415 0 R /XYZ 81.077 468.265 null ] >>
endobj
10446 0 obj
-<< /D [ 10444 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 457.306 null ] >>
endobj
10447 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 425.651 null ] >>
endobj
10448 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 414.692 null ] >>
endobj
10449 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 715.033 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 403.733 null ] >>
endobj
10450 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 704.075 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 392.774 null ] >>
endobj
10451 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 693.116 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 381.815 null ] >>
endobj
10452 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 682.157 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 370.856 null ] >>
endobj
10453 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 671.198 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 359.897 null ] >>
endobj
10454 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 660.239 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 348.938 null ] >>
endobj
10455 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 649.28 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 337.979 null ] >>
endobj
10456 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 638.321 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 322.344 null ] >>
endobj
10457 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 627.362 null ] >>
-endobj
-157 0 obj
-<< /D [ 10444 0 R /XYZ 79.37 579.907 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 311.385 null ] >>
endobj
10458 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 483.059 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 300.427 null ] >>
endobj
10459 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 472.101 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 289.468 null ] >>
endobj
10460 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 461.142 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 278.509 null ] >>
endobj
10461 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 450.183 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 267.55 null ] >>
endobj
10462 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 434.243 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 256.591 null ] >>
endobj
10463 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 423.284 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 245.632 null ] >>
endobj
10464 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 412.325 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 234.673 null ] >>
endobj
10465 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 401.366 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 208.69 null ] >>
endobj
10466 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 390.407 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 197.731 null ] >>
endobj
10467 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 379.448 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 155.349 null ] >>
endobj
10468 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 368.489 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 144.39 null ] >>
endobj
10469 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 357.53 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 133.431 null ] >>
endobj
10470 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 346.571 null ] >>
-endobj
-161 0 obj
-<< /D [ 10444 0 R /XYZ 79.37 321.117 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 122.473 null ] >>
endobj
10471 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 252.774 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 111.514 null ] >>
endobj
10472 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 241.815 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 100.555 null ] >>
endobj
10473 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 230.856 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 89.596 null ] >>
endobj
10474 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 219.897 null ] >>
-endobj
-10475 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 208.938 null ] >>
+<< /D [ 10415 0 R /XYZ 81.077 78.637 null ] >>
endobj
-10476 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 197.979 null ] >>
+10414 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R /F70 185 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10477 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 182.039 null ] >>
+<< /Filter /FlateDecode /Length 1718 >>
+stream
+xڵYKoFWo0"M)Z hKCRv #R$We^Lro盙|<+~<{?>{{؀# Kx@Z"I@I$j0)Gmz{)@##%}0!_2JgWѹ^GE<JIלח
+-QuQBG?з @}28ƋdtδNqY6h 2GT xE/ O&n}򡬒5RrgňH"w#+"isMg-ؗDIyCkZ e2Eg
++D%kϔ>LQ3>ڞO-t|B]zPH0oyx28.0`-*2z&d]H\ ĸW8x,[qĴle#e$'g<XI2ĩjrXG NL"/.2(zxsVvistܪq6".u Ӧiۧ+ys6-ovZpٰEe>؋Xء< ći%ʰzD#U 3P31:'xlAb"BpN}\"N{ٔU)7Fue޼OKs-NieM5_VWF^9ULb\Vc|_C4MSn:lx=AP_; 'A`{+5l?ryzx R9|ܘ0V$IT hh 0B@r? U_ٖ,q7FxvaI^$GDCgpmo֥AVzoZ:8~_ܖݠ%j1z^Gkeºx0GhK(:J I `6ˋzp(4!>屖uMtH$
+0=p[ٲ_Ԗ6u9Nn\BxA\{ؗF/OkV`خB]_4
+pH;k@x**!tH`kEDuMire8Oi>YC1FyHjf>:xȲMdYP꡽GKx3àll{`K_d8E8_G_] 7 ځTˠC<vl7u9:&q=
+䮒c]|v)4aIC?u_[ `+?bij6B݋²*BeeuquK=e|L䡌MO_2uwMXym P:x\f]V<t˼ěeZV|(ڴ,7Mpl~P$պ~D.&E=tl7ay kk2gL%&*>0YoE&ޡfE ^88v MŮ^K& DgYcƥ}JMϬu'+ o5 2:<tCiPD^DQЎ*^F* s]-*%k;2{cdT(a|$>~D
+endstream
+endobj
+10476 0 obj
+<< /Type /Page /Contents 10477 0 R /Resources 10475 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10517 0 R >>
endobj
10478 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 171.08 null ] >>
+<< /D [ 10476 0 R /XYZ 78.37 808.885 null ] >>
endobj
10479 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 160.121 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 768.832 null ] >>
endobj
10480 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 149.162 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 757.873 null ] >>
endobj
10481 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 138.203 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 715.033 null ] >>
endobj
10482 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 127.244 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 704.075 null ] >>
endobj
10483 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 116.285 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 693.116 null ] >>
endobj
10484 0 obj
-<< /D [ 10444 0 R /XYZ 81.077 105.327 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 682.157 null ] >>
endobj
-10443 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F70 185 0 R /F20 186 0 R /F72 187 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10487 0 obj
-<< /Filter /FlateDecode /Length 2331 >>
-stream
-xڽZ[o~ϯ[d ;9
--M
- b(i$K*I1o^F,(E_L7~1l&t;_<{'f&͵6 $ҌP&ݽѴPrgS[w<ݯwd=YaWn䫻lqz-A5Bʄqn˲(uQwvT~2BDp.BfcK"w޸N4$ aTwA{XuZ&i4]e{8*@r
-d<]᱘}h)%k8K9&n=0,&SKW.bLBC|X_WvNg\fTm]l $.QnēULwGKV
-4:!h$ P\>?<ILcM4
-}n>II j,jqvRoe 7=u,3֥16@;6$&D 8tUm5/s#eu|';;ӼK$1hws B
-gNmqOIvs=eeѱ/ȡ!oʽ>C}(x#Qt4 ߆J`ӆ!%V^hg]-J2yڡDLb6,@~ZwٶEYNM׼'>7 .>ۈK&7\ n
-ljگJRA\Trtgo1q12FC?0dY(PNJnݰ@! Ϛ%1Lah'2:Җz/׃n =٦m}c-"Ao$U(MhtRRF9P~ qO ň2ڳXOwܸn޾p~W)ȿ(.]@Q1 !M`Ն꾨
-&E.XLQ\IfP)} ҇ Q\ݘ9̓1+htR0h&r
-Ӹ@A,8H;$
-evUi|Mw –n yL gx )EߐWwT}vZ_k[z %#=pGW|$ٝ
-'0,ٻS3
-endstream
+10485 0 obj
+<< /D [ 10476 0 R /XYZ 81.077 671.198 null ] >>
endobj
10486 0 obj
-<< /Type /Page /Contents 10487 0 R /Resources 10485 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+<< /D [ 10476 0 R /XYZ 81.077 660.239 null ] >>
+endobj
+10487 0 obj
+<< /D [ 10476 0 R /XYZ 81.077 649.28 null ] >>
endobj
10488 0 obj
-<< /D [ 10486 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 638.321 null ] >>
endobj
10489 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 722.007 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 627.362 null ] >>
+endobj
+157 0 obj
+<< /D [ 10476 0 R /XYZ 79.37 579.907 null ] >>
endobj
10490 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 711.048 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 483.059 null ] >>
endobj
10491 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 700.089 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 472.101 null ] >>
endobj
10492 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 689.131 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 461.142 null ] >>
endobj
10493 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 678.172 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 450.183 null ] >>
endobj
10494 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 667.213 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 434.243 null ] >>
endobj
10495 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 656.254 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 423.284 null ] >>
endobj
10496 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 645.295 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 412.325 null ] >>
endobj
10497 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 634.336 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 401.366 null ] >>
endobj
10498 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 623.377 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 390.407 null ] >>
endobj
10499 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 612.418 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 379.448 null ] >>
endobj
10500 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 601.459 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 368.489 null ] >>
endobj
10501 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 590.5 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 357.53 null ] >>
endobj
10502 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 579.542 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 346.571 null ] >>
+endobj
+161 0 obj
+<< /D [ 10476 0 R /XYZ 79.37 321.117 null ] >>
endobj
10503 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 568.583 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 252.774 null ] >>
endobj
10504 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 557.624 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 241.815 null ] >>
endobj
10505 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 546.665 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 230.856 null ] >>
endobj
10506 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 520.762 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 219.897 null ] >>
endobj
10507 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 509.803 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 208.938 null ] >>
endobj
10508 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 498.844 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 197.979 null ] >>
endobj
10509 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 487.885 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 182.039 null ] >>
endobj
10510 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 476.926 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 171.08 null ] >>
endobj
10511 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 462.979 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 160.121 null ] >>
endobj
10512 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 452.02 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 149.162 null ] >>
endobj
10513 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 441.061 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 138.203 null ] >>
endobj
10514 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 430.102 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 127.244 null ] >>
endobj
10515 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 419.143 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 116.285 null ] >>
endobj
10516 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 408.184 null ] >>
+<< /D [ 10476 0 R /XYZ 81.077 105.327 null ] >>
endobj
-10517 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 392.244 null ] >>
+10475 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F19 184 0 R /F70 185 0 R /F20 186 0 R /F72 187 0 R /F76 318 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-10518 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 381.285 null ] >>
+10520 0 obj
+<< /Filter /FlateDecode /Length 2330 >>
+stream
+xڽZ[o~ϯ[d ;I&ꇅv[4H 9q}1iߜmFtɏ層yO,$$\l :a(!"Dd2"6[jS wwljjAywil'2?qeۥ߳[cKPM!c2!?~*ySa-v^FXŲA*lLeV>Rz:ډdB=vVViV[W=X-{eH쯛ɪϸ[wljDVj6Y pMe_e+ϓL]C)"”bWIA
+d<[ϳᱜ}h)%kXKY&o=0.r]g
+{lykqBLi-?lBni4{vNg\(mS| $.QnSēו{#
+-I 8=NA!e
+ةE@Rm
+endstream
endobj
10519 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 370.326 null ] >>
-endobj
-10520 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 359.367 null ] >>
+<< /Type /Page /Contents 10520 0 R /Resources 10518 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10517 0 R >>
endobj
10521 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 348.408 null ] >>
+<< /D [ 10519 0 R /XYZ 78.37 808.885 null ] >>
endobj
10522 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 337.449 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 722.007 null ] >>
endobj
10523 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 326.49 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 711.048 null ] >>
endobj
10524 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 310.55 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 700.089 null ] >>
endobj
10525 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 299.591 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 689.131 null ] >>
endobj
10526 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 288.632 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 678.172 null ] >>
endobj
10527 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 277.674 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 667.213 null ] >>
endobj
10528 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 266.715 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 656.254 null ] >>
endobj
10529 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 255.756 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 645.295 null ] >>
endobj
10530 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 239.816 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 634.336 null ] >>
endobj
10531 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 228.857 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 623.377 null ] >>
endobj
10532 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 217.898 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 612.418 null ] >>
endobj
10533 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 206.939 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 601.459 null ] >>
endobj
10534 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 195.98 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 590.5 null ] >>
endobj
10535 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 185.021 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 579.542 null ] >>
endobj
10536 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 174.062 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 568.583 null ] >>
endobj
10537 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 163.103 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 557.624 null ] >>
endobj
10538 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 152.144 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 546.665 null ] >>
endobj
10539 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 136.204 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 520.762 null ] >>
endobj
10540 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 125.245 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 509.803 null ] >>
endobj
10541 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 114.286 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 498.844 null ] >>
endobj
10542 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 103.327 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 487.885 null ] >>
endobj
10543 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 92.368 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 476.926 null ] >>
endobj
10544 0 obj
-<< /D [ 10486 0 R /XYZ 81.077 81.41 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 462.979 null ] >>
endobj
-10485 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F74 264 0 R >> /ProcSet [ /PDF /Text ] >>
+10545 0 obj
+<< /D [ 10519 0 R /XYZ 81.077 452.02 null ] >>
endobj
-10548 0 obj
-<< /Filter /FlateDecode /Length 1773 >>
-stream
-xڵZM60CeMjOA$HPТ) M{c! 6%nGq/33H͌^'Q/OoIX&l`pD333l^zH=9֋7:Yh-8%F$1WumQ6ݺ+ҶTQwt7[un֕m杻o]ͻGxQ 1zX.=мzm <w$o *:/4!T>U7W4pnQ+xD/¤їڦ[nMg b۸ߞzZ_ {0+>nc'V]hEcލk)4PnnyySpa0i&4nc
-WBڦ9AӡpsƠzT][[AikSFA|(͢twe;OëbzNv b 6B9"xԉQH>ݱ .E8(0wʒ^t j {][T]UKY܋NT=6eZ+o/ɡv\Ӥ^Um5r9NHZ6 ==1KT4P )B{6 RӦm\
-_}1䜈a Zc4>`VvnZ++P$
-&0j
-SFW&>hDא,`
-p |XㆳW& mD3
-7Dh
-p C kpϣ\pBe04cph
-DT / FsFƪ}^ `F`qgq]X,ٰ 5%Yѿ?0MM-pu]sxZE|Pp7]!_, |rc-K1&C6P6?f$imd+ּJ۩*(V5F q"gu²lrԆ#Q"4%c0 q>N<^ђ_ jfYRA?:Pe7_b_bԥ nwjYs1ؕ4CO[$:{@BEvĴIJ+Zb7|=P
-endstream
+10546 0 obj
+<< /D [ 10519 0 R /XYZ 81.077 441.061 null ] >>
endobj
10547 0 obj
-<< /Type /Page /Contents 10548 0 R /Resources 10546 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+<< /D [ 10519 0 R /XYZ 81.077 430.102 null ] >>
+endobj
+10548 0 obj
+<< /D [ 10519 0 R /XYZ 81.077 419.143 null ] >>
endobj
10549 0 obj
-<< /D [ 10547 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 408.184 null ] >>
endobj
10550 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 392.244 null ] >>
endobj
10551 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 381.285 null ] >>
endobj
10552 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 370.326 null ] >>
endobj
10553 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 359.367 null ] >>
endobj
10554 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 348.408 null ] >>
endobj
10555 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 337.449 null ] >>
endobj
10556 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 326.49 null ] >>
endobj
10557 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 310.55 null ] >>
endobj
10558 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 299.591 null ] >>
endobj
10559 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 288.632 null ] >>
endobj
10560 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 277.674 null ] >>
endobj
10561 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 266.715 null ] >>
endobj
10562 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 255.756 null ] >>
endobj
10563 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 239.816 null ] >>
endobj
10564 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 228.857 null ] >>
endobj
10565 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 217.898 null ] >>
endobj
10566 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 577.549 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 206.939 null ] >>
endobj
10567 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 566.59 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 195.98 null ] >>
endobj
10568 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 555.631 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 185.021 null ] >>
endobj
10569 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 544.672 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 174.062 null ] >>
endobj
10570 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 533.713 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 163.103 null ] >>
endobj
10571 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 522.754 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 152.144 null ] >>
endobj
10572 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 511.796 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 136.204 null ] >>
endobj
10573 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 500.837 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 125.245 null ] >>
endobj
10574 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 484.896 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 114.286 null ] >>
endobj
10575 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 473.938 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 103.327 null ] >>
endobj
10576 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 462.979 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 92.368 null ] >>
endobj
10577 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 452.02 null ] >>
+<< /D [ 10519 0 R /XYZ 81.077 81.41 null ] >>
endobj
-10578 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 441.061 null ] >>
-endobj
-10579 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 430.102 null ] >>
+10518 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F19 184 0 R /F20 186 0 R /F73 189 0 R /F69 183 0 R /F76 318 0 R /F74 264 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10580 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 414.162 null ] >>
+<< /Filter /FlateDecode /Length 1772 >>
+stream
+xڵZnF}WC{S 6}(Т)ZZlx1Hw\75"93djAoI }{- X^1.(^hUl,=^~eXD mqꮺU-ʦ.튴ݯM6]{uey[Wgpnb/)a ~sˀzv4/zKj[I |M*/*D y޿ʛ+jJ875T<"IDs\wmӭu ݦ3Dj۸ߞ(|Z_ {0}>hO>rVShV:-YߺO4 Hp|WP6 U+0#cg@ &6[2bY hV;/ݩ}^:}]ijւFl
+^Yq *u"r/GOw,'Dnqwe/uuALJSn~?KP%p zq^j۵5OyI+[(4ϫExT)iuF}\n|U[ &rM6P#-T>+o
+SFW0 Lơ}8Я!YJWv:;0(B{c[[<"HC􎵮"_$.0ݮ^4?tz"?}vr}z쪬jYм`ʄ/9LזDqmԄ<6 dba"4^>lqOl|fR)HBT!GǜNe$̓" ^8
+Mb1"M2*ƖVC6?"iT Nh"!#4EcT ^43B6IqcU>0
+pхlB6 5%ѿ⦦
+PN'-7&)9DI,`2dUnSoFқ6ʮڶMiͫ[x\D%xMcY]=tCX."l\9?HMyIF)x"L!"|p~%9<ZrkA,YJ9G
+endstream
+endobj
+10579 0 obj
+<< /Type /Page /Contents 10580 0 R /Resources 10578 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10517 0 R >>
endobj
10581 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 403.203 null ] >>
+<< /D [ 10579 0 R /XYZ 78.37 808.885 null ] >>
endobj
10582 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 392.244 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 768.832 null ] >>
endobj
10583 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 381.285 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 757.873 null ] >>
endobj
10584 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 370.326 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 746.914 null ] >>
endobj
10585 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 359.367 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 735.955 null ] >>
endobj
10586 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 343.427 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 724.996 null ] >>
endobj
10587 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 332.468 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 714.037 null ] >>
endobj
10588 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 321.509 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 692.119 null ] >>
endobj
10589 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 310.55 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 681.16 null ] >>
endobj
10590 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 299.591 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 670.202 null ] >>
endobj
10591 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 288.632 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 659.243 null ] >>
endobj
10592 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 272.692 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 648.284 null ] >>
endobj
10593 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 261.733 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 637.325 null ] >>
endobj
10594 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 250.774 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 626.366 null ] >>
endobj
10595 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 239.816 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 615.407 null ] >>
endobj
10596 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 228.857 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 604.448 null ] >>
endobj
10597 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 217.898 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 593.489 null ] >>
endobj
10598 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 201.957 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 577.549 null ] >>
endobj
10599 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 190.999 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 566.59 null ] >>
endobj
10600 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 180.04 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 555.631 null ] >>
endobj
10601 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 169.081 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 544.672 null ] >>
endobj
10602 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 158.122 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 533.713 null ] >>
endobj
10603 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 142.182 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 522.754 null ] >>
endobj
10604 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 131.223 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 511.796 null ] >>
endobj
10605 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 120.264 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 500.837 null ] >>
endobj
10606 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 109.305 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 484.896 null ] >>
endobj
10607 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 98.346 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 473.938 null ] >>
endobj
10608 0 obj
-<< /D [ 10547 0 R /XYZ 81.077 87.387 null ] >>
-endobj
-10546 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 10579 0 R /XYZ 81.077 462.979 null ] >>
endobj
-10611 0 obj
-<< /Filter /FlateDecode /Length 2064 >>
-stream
-xڭMoFB{h
-7S6I[!h h 5HʮE()are|9gfv-nEt|e\\^<{mB$R,.|f]XYdb]$Q O6"f12<,Xŋm}sUfK-U:krWysvM۽'LO##.s&d2a\޶<϶(۵]iK״:k۬}='S7ʲ>B7|ھЂi ͨE% J3N|ܘXi֌fZp,9p
--IOi$b꧑MP{ivxh֏?.O`ըϜ~oQh@%0u]e~lڴBna-ŪT@6IΚBFY-0H,a)!g)i tCP )yܱqUyyn"MVKv$SAʳ!59mrޑCTh0DCİ6T|
->µd 'cƒuv~5kWE}^;^I
-B8VpK^-2"& $j2 =`
-RXẊPQ5/יoI>AcL%0WM[t2}3ⱽOR{C;šoI%$ &9d$,Oѱ ָx'2D M6'v&-7i7f}{cIb`X!|6# }OgN89C9FQj&+|~?+ۼ 7fY٘Μ"5Xf:>RqiծHC|fcZiliKs-TSj5$<VCCVͪ~=t +8(l
-'t;],\s%%DԓZ&fK(\0~KR+('N9紩ٻ6p7q?"O^50(Ч8Vҵu)ۀ/=k[Pk%L>KZ-|*nKR-o=oHU"gv;"Я
-7]~mJZ {LSH4RN@:S)W>.'8e̠T'
-ĂO^^ mjRF%hPLË|wYQl5 iq t@xZB/@92`FvL̐= 4 =Oi*= XP̩y珂cIԵPH2AS;Kݎ.@Av9\B((P9Ś KOM31M6摚IT$3s lLⳳ :#5\q"+<UפܓS.劶749i;HEH3@#xf'vMpǜ3pp7$Y[J O<h'
-endstream
+10609 0 obj
+<< /D [ 10579 0 R /XYZ 81.077 452.02 null ] >>
endobj
10610 0 obj
-<< /Type /Page /Contents 10611 0 R /Resources 10609 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+<< /D [ 10579 0 R /XYZ 81.077 441.061 null ] >>
+endobj
+10611 0 obj
+<< /D [ 10579 0 R /XYZ 81.077 430.102 null ] >>
endobj
10612 0 obj
-<< /D [ 10610 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 414.162 null ] >>
endobj
10613 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 403.203 null ] >>
endobj
10614 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 392.244 null ] >>
endobj
10615 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 381.285 null ] >>
endobj
10616 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 370.326 null ] >>
endobj
10617 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 359.367 null ] >>
endobj
10618 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 709.191 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 343.427 null ] >>
endobj
10619 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 698.232 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 332.468 null ] >>
endobj
10620 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 687.273 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 321.509 null ] >>
endobj
10621 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 676.314 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 310.55 null ] >>
endobj
10622 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 665.355 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 299.591 null ] >>
endobj
10623 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 654.396 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 288.632 null ] >>
endobj
10624 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 638.591 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 272.692 null ] >>
endobj
10625 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 627.632 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 261.733 null ] >>
endobj
10626 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 616.673 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 250.774 null ] >>
endobj
10627 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 605.714 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 239.816 null ] >>
endobj
10628 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 594.755 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 228.857 null ] >>
endobj
10629 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 583.796 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 217.898 null ] >>
endobj
10630 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 567.991 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 201.957 null ] >>
endobj
10631 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 557.032 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 190.999 null ] >>
endobj
10632 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 546.073 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 180.04 null ] >>
endobj
10633 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 535.114 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 169.081 null ] >>
endobj
10634 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 524.155 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 158.122 null ] >>
endobj
10635 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 513.196 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 142.182 null ] >>
endobj
10636 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 497.391 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 131.223 null ] >>
endobj
10637 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 486.432 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 120.264 null ] >>
endobj
10638 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 475.473 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 109.305 null ] >>
endobj
10639 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 464.514 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 98.346 null ] >>
endobj
10640 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 453.555 null ] >>
-endobj
-10641 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 442.596 null ] >>
+<< /D [ 10579 0 R /XYZ 81.077 87.387 null ] >>
endobj
-10642 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 431.637 null ] >>
+10578 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10643 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 415.832 null ] >>
+<< /Filter /FlateDecode /Length 2060 >>
+stream
+xڭMoFB{h
+7S6I[!h h 5HʮE()are|9gfv-nEt|e\\^<{mB$R,.|f]XYdb]$<O6"f12<,Xŋm}sUfK-U:krWysvM۽'LO##q]D9Bcm0dog[D XZϮشk]m־M eY }I>m_hXfԢ%R'>?nD,4kF3
+,9p
+-IOi$b꧑MP{ivxh֏?.O`ըϜ~oQh@%0u]e~lڴBna-ŪT@6IΚBFY-0H,a)!g)$i tCP)yܱqUyyn"MVKv$SC0& CeH?DA?dL ksHeSl/%30H83@44+7ώW_.:Jr
+ < !24&'T#E$-!5yAi(0 vtC%]y]cĀV ,-b-aB~ aha <
+տ:-I{g0z t>i n?Xyo]Y<i;Xjo{hx8-$5gV̙E9:ָarh# >g"(C͉IMZmƍYXX$5t{2 HCY*&cNqQP;7YYYe7 tVtV2;Y>RqiծHC|fcZiiijJjHrjYO#unwe @FkIgUz0}|ޏHG+xcvlSa>=5jКtz千e]dOʭdK@\VUܮ&CN 71mņj:-1
+4H1 =c}:HCBSihڑRI'58д# [:A؆E*
+(
+E#퉓>g:9m_/f܏H@w~qElz -?*7i?ǧtmos?}64uGֻ-TeZ@F SǚV 59DT x-[tARծݎ+= @jr ,~'
+ŕI6~3( F7Sh%Tӗ*4*F$b^+ˊbf!Ng-T1fh fxH<R6ai*= XP̩y珂cIԵPH2AS;Kݎ.@Av9\B((P9Ś KOM316摚IT$3s lLⳳ :#5\q"[<UפܓS.営749-mG
+endstream
+endobj
+10642 0 obj
+<< /Type /Page /Contents 10643 0 R /Resources 10641 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10517 0 R >>
endobj
10644 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 404.873 null ] >>
+<< /D [ 10642 0 R /XYZ 78.37 808.885 null ] >>
endobj
10645 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 393.914 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 768.832 null ] >>
endobj
10646 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 382.955 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 757.873 null ] >>
endobj
10647 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 371.996 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 746.914 null ] >>
endobj
10648 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 361.037 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 735.955 null ] >>
endobj
10649 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 350.078 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 724.996 null ] >>
endobj
10650 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 339.119 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 709.191 null ] >>
endobj
10651 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 328.16 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 698.232 null ] >>
endobj
10652 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 317.201 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 687.273 null ] >>
endobj
10653 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 301.396 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 676.314 null ] >>
endobj
10654 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 290.437 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 665.355 null ] >>
endobj
10655 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 279.478 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 654.396 null ] >>
endobj
10656 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 268.519 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 638.591 null ] >>
endobj
10657 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 257.56 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 627.632 null ] >>
endobj
10658 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 246.601 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 616.673 null ] >>
endobj
10659 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 230.796 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 605.714 null ] >>
endobj
10660 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 219.837 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 594.755 null ] >>
endobj
10661 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 208.878 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 583.796 null ] >>
endobj
10662 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 197.919 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 567.991 null ] >>
endobj
10663 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 186.96 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 557.032 null ] >>
endobj
10664 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 176.001 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 546.073 null ] >>
endobj
10665 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 165.042 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 535.114 null ] >>
endobj
10666 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 149.237 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 524.155 null ] >>
endobj
10667 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 138.278 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 513.196 null ] >>
endobj
10668 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 127.319 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 497.391 null ] >>
endobj
10669 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 116.36 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 486.432 null ] >>
endobj
10670 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 105.401 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 475.473 null ] >>
endobj
10671 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 94.442 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 464.514 null ] >>
endobj
10672 0 obj
-<< /D [ 10610 0 R /XYZ 81.077 78.637 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 453.555 null ] >>
endobj
-10609 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10675 0 obj
-<< /Filter /FlateDecode /Length 2196 >>
-stream
-xڽ[]o6}ϯ0m +~yv-Z,"hbkb!HrtP-tfgq.)'M&^too7XC9ܿGɆn"V$n?R/{/QvcUL)% eBh<7[)Tv+rP9gNgΔDJC51 /5Z<
-o!P +=6mu-2ӰJ-QjC3H(Dvձ{|{ʋ{xYW|q+|uPM`ęۇ4/CtbJaJyD?J5;Bˣ2pa=AFvoLMYK">}|U.Js(gZ6
-Ma!StWc#4JGe:=AGPLKgS^>uJ"k Ďu wiKODdTZC4:i0Yk<a3C9gL+¾N?4$9Q2"w Ma JkgBBτ}UWYLWDhB2tQBB/,~LC*[cBwNs۴i ՌH!ZL{%agBBׄ:fFz\
-PE8M^rmVfr">1LheM4#
-0jEse$zjT>*h-ɍ%";Z#ɡN:Z;r S:H"4Zs^TܱG+h9!0Mn
-)[ɜfF4U0K=5NnFcpμY8a:09D(BMso!.5Bjt 1hFsO뚳/k!m6(oD1qkXmA
-]ٝ(".Xق]] ysW% 2Ojo8KF@?zBS==w;
-!MX,rQl ?(E~a;nӧ)/{
-K{9/XN6~bDt;:;Wv*ew.)PKZ;4ANK]1q>ෟڍ(Sl>ñ4qg
-endstream
+10673 0 obj
+<< /D [ 10642 0 R /XYZ 81.077 442.596 null ] >>
endobj
10674 0 obj
-<< /Type /Page /Contents 10675 0 R /Resources 10673 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+<< /D [ 10642 0 R /XYZ 81.077 431.637 null ] >>
+endobj
+10675 0 obj
+<< /D [ 10642 0 R /XYZ 81.077 415.832 null ] >>
endobj
10676 0 obj
-<< /D [ 10674 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 404.873 null ] >>
endobj
10677 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 393.914 null ] >>
endobj
10678 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 382.955 null ] >>
endobj
10679 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 371.996 null ] >>
endobj
10680 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 361.037 null ] >>
endobj
10681 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 350.078 null ] >>
endobj
10682 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 339.119 null ] >>
endobj
10683 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 328.16 null ] >>
endobj
10684 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 317.201 null ] >>
endobj
10685 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 301.396 null ] >>
endobj
10686 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 290.437 null ] >>
endobj
10687 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 279.478 null ] >>
endobj
10688 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 268.519 null ] >>
endobj
10689 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 637.325 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 257.56 null ] >>
endobj
10690 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 626.366 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 246.601 null ] >>
endobj
10691 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 615.407 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 230.796 null ] >>
endobj
10692 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 604.448 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 219.837 null ] >>
endobj
10693 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 593.489 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 208.878 null ] >>
endobj
10694 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 577.549 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 197.919 null ] >>
endobj
10695 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 566.59 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 186.96 null ] >>
endobj
10696 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 555.631 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 176.001 null ] >>
endobj
10697 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 544.672 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 165.042 null ] >>
endobj
10698 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 533.713 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 149.237 null ] >>
endobj
10699 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 522.754 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 138.278 null ] >>
endobj
10700 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 511.796 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 127.319 null ] >>
endobj
10701 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 500.837 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 116.36 null ] >>
endobj
10702 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 489.878 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 105.401 null ] >>
endobj
10703 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 478.919 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 94.442 null ] >>
endobj
10704 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 467.96 null ] >>
+<< /D [ 10642 0 R /XYZ 81.077 78.637 null ] >>
endobj
-10705 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 457.001 null ] >>
-endobj
-10706 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 446.042 null ] >>
+10641 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10707 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 435.083 null ] >>
+<< /Filter /FlateDecode /Length 2198 >>
+stream
+xڽ[o6~_aVMiõhq(=R uEPhJ6 ÙoH:<mͷ7J{?o4b ls%1(7ZQ(o~JmY_~7!RJ81 q˄Є&YX+rP9gNΔ~xЊ"!ܚdØe qc-u?ڮeMqC1/pv{Q`9G`9ʫfeQ|&Fɵ%J\0bP#|1\>Ou_WoǢ,~L~u˛>oiW
+JFn)4{F<z&\v:k%rVFB+1z/)BB/,~LcKV8~ n^ å^C̵1P/35!Iš
+
+E6NΖ~Ϋvh H7u:ǝFY=Q4ht\qv|CNݧ]S6vz eZq>V[PHBqu3BWw |\ѡM]7}irW% 2OqB0:/8_ԏevfn:B+XL¢<ƫ<!#@ _lZ{IifCp<|
+ΞBR ]qA>[v:;)PKZe!;-uŌs!bF~j78/V#Ձ?o
+endstream
+endobj
+10706 0 obj
+<< /Type /Page /Contents 10707 0 R /Resources 10705 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10517 0 R >>
endobj
10708 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 424.124 null ] >>
+<< /D [ 10706 0 R /XYZ 78.37 808.885 null ] >>
endobj
10709 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 413.165 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 768.832 null ] >>
endobj
10710 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 397.225 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 757.873 null ] >>
endobj
10711 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 386.266 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 746.914 null ] >>
endobj
10712 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 375.307 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 735.955 null ] >>
endobj
10713 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 364.349 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 724.996 null ] >>
endobj
10714 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 353.39 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 714.037 null ] >>
endobj
10715 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 342.431 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 703.078 null ] >>
endobj
10716 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 331.472 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 692.119 null ] >>
endobj
10717 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 315.532 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 681.16 null ] >>
endobj
10718 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 304.573 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 670.202 null ] >>
endobj
10719 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 293.614 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 659.243 null ] >>
endobj
10720 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 282.655 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 648.284 null ] >>
endobj
10721 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 271.696 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 637.325 null ] >>
endobj
10722 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 255.756 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 626.366 null ] >>
endobj
10723 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 244.797 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 615.407 null ] >>
endobj
10724 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 233.838 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 604.448 null ] >>
endobj
10725 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 222.879 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 593.489 null ] >>
endobj
10726 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 211.92 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 577.549 null ] >>
endobj
10727 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 195.98 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 566.59 null ] >>
endobj
10728 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 185.021 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 555.631 null ] >>
endobj
10729 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 174.062 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 544.672 null ] >>
endobj
10730 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 163.103 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 533.713 null ] >>
endobj
10731 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 152.144 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 522.754 null ] >>
endobj
10732 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 141.185 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 511.796 null ] >>
endobj
10733 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 130.226 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 500.837 null ] >>
endobj
10734 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 114.286 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 489.878 null ] >>
endobj
10735 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 103.327 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 478.919 null ] >>
endobj
10736 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 92.368 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 467.96 null ] >>
endobj
10737 0 obj
-<< /D [ 10674 0 R /XYZ 81.077 81.41 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 457.001 null ] >>
endobj
-10673 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10740 0 obj
-<< /Filter /FlateDecode /Length 2633 >>
-stream
-xڭ[MW)q$r쪤R=$U,%Q
-ߢbrjj?ED*HM.ZǠ.cJ-GZV)NwVל{\ȉ#C8<$u8dHus°Xz5#i#TmWBnuBCd"H !Y2p^Ol(4b&qzC7udCDSLUL @>
-d !չ:$J5
-C^S3@͸@HVfJ;L&ى@CFbf%
-ŗ)YQyŤh!؉k(yaC伻!25o<"np2Ҕ(Bi{ d@skJIbBHk}m( 'lm7uZ_P?7eՍM
-{ѩBˆh~s =MG:n97xH'2ԭW l?'X;rsʀKdEBoM"@ D壻R#54AyNjt9̋$ZhWVςAm;bwʍԃq]uINͿ"=ISQ߽R jvhѬ*l?UEkC^&nhrzIE-I"BбŶD/Uz "Pži|ɥP̛]#޸9!'%>#4 ]b!གUd]5<kPBJ85'X;Y7Vy.do`2D4M-ΗwRb t6~o$Lv;/b
-˯daĄ*Њ7B;'?&o#:N"VOv$ C*2eR;x{KJW49 c%rum %lOu]S ~fPT+<["䅧!H{05<TI1EDOEsٿ6+M/9Nl'[nʾ) +xC!41iy q1DA@2mB85C0$]>KeHS!vZMn}chD dFDB=q@rhLiy]Qmw[7ߙo<"^
-endstream
+10738 0 obj
+<< /D [ 10706 0 R /XYZ 81.077 446.042 null ] >>
endobj
10739 0 obj
-<< /Type /Page /Contents 10740 0 R /Resources 10738 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+<< /D [ 10706 0 R /XYZ 81.077 435.083 null ] >>
+endobj
+10740 0 obj
+<< /D [ 10706 0 R /XYZ 81.077 424.124 null ] >>
endobj
10741 0 obj
-<< /D [ 10739 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 413.165 null ] >>
endobj
10742 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 397.225 null ] >>
endobj
10743 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 386.266 null ] >>
endobj
10744 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 375.307 null ] >>
endobj
10745 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 730.974 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 364.349 null ] >>
endobj
10746 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 720.015 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 353.39 null ] >>
endobj
10747 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 709.056 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 342.431 null ] >>
endobj
10748 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 698.097 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 331.472 null ] >>
endobj
10749 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 687.138 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 315.532 null ] >>
endobj
10750 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 676.179 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 304.573 null ] >>
endobj
10751 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 660.239 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 293.614 null ] >>
endobj
10752 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 649.28 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 282.655 null ] >>
endobj
10753 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 638.321 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 271.696 null ] >>
endobj
10754 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 627.362 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 255.756 null ] >>
endobj
10755 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 616.403 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 244.797 null ] >>
endobj
10756 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 605.444 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 233.838 null ] >>
endobj
10757 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 594.486 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 222.879 null ] >>
endobj
10758 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 583.527 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 211.92 null ] >>
endobj
10759 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 567.586 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 195.98 null ] >>
endobj
10760 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 556.627 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 185.021 null ] >>
endobj
10761 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 545.669 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 174.062 null ] >>
endobj
10762 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 534.71 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 163.103 null ] >>
endobj
10763 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 523.751 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 152.144 null ] >>
endobj
10764 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 512.792 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 141.185 null ] >>
endobj
10765 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 501.833 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 130.226 null ] >>
endobj
10766 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 490.874 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 114.286 null ] >>
endobj
10767 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 474.934 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 103.327 null ] >>
endobj
10768 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 463.975 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 92.368 null ] >>
endobj
10769 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 453.016 null ] >>
+<< /D [ 10706 0 R /XYZ 81.077 81.41 null ] >>
endobj
-10770 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 442.057 null ] >>
-endobj
-10771 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 431.098 null ] >>
+10705 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10772 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 420.139 null ] >>
+<< /Filter /FlateDecode /Length 2634 >>
+stream
+xڭ[MW)qF'KIUI{HbXXrv l
+4~ҌʁB"%$D\P K@h84 [W=9=ɻCQVoȇV{[az 7:hbH3Ԋu
+n5ec4Yy62hǘvÏ,ۣ;I@z>~J`uE=Z#i*#\LBoP yVc#RGF^#͆5& B/ vRϡu&BD raJ8(7S&v֙C']x梾}AZG/ESUnWDacCȄ&fVhq %Z,  ';BkAD.M_xӝ]Y ̆zL.B%g4 9 i3BS.p%+^ynL&XEnP ?Z?G.u[]w vڐE̢a4%B7;_"w4Jl7Dc4 '
++$o!4y0
+Оck 3ڵs|B?%dGՑW~HE*#Q*}>ŦQe -m-W[f:P\6f֏y˳ߺ X1$/< A뀹eR%XW_3=E[ V6;{/mQ_>.Nls̟\MK*'6-mʇĤB]<c&("dpYEqiKk `zI KeIS1v5ZuCciD(fFDB=q@z84m Mcܲi妎/,7ُwƈ#4
+{pcZCVztwhmba
+endstream
+endobj
+10771 0 obj
+<< /Type /Page /Contents 10772 0 R /Resources 10770 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10517 0 R >>
endobj
10773 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 409.18 null ] >>
+<< /D [ 10771 0 R /XYZ 78.37 808.885 null ] >>
endobj
10774 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 398.221 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 768.832 null ] >>
endobj
10775 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 387.263 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 757.873 null ] >>
endobj
10776 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 371.322 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 746.914 null ] >>
endobj
10777 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 360.363 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 730.974 null ] >>
endobj
10778 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 349.405 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 720.015 null ] >>
endobj
10779 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 338.446 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 709.056 null ] >>
endobj
10780 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 327.487 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 698.097 null ] >>
endobj
10781 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 316.528 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 687.138 null ] >>
endobj
10782 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 305.569 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 676.179 null ] >>
endobj
10783 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 294.61 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 660.239 null ] >>
endobj
10784 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 278.67 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 649.28 null ] >>
endobj
10785 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 267.711 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 638.321 null ] >>
endobj
10786 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 256.752 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 627.362 null ] >>
endobj
10787 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 245.793 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 616.403 null ] >>
endobj
10788 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 234.834 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 605.444 null ] >>
endobj
10789 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 223.875 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 594.486 null ] >>
endobj
10790 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 207.935 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 583.527 null ] >>
endobj
10791 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 196.976 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 567.586 null ] >>
endobj
10792 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 186.017 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 556.627 null ] >>
endobj
10793 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 175.058 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 545.669 null ] >>
endobj
10794 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 164.099 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 534.71 null ] >>
endobj
10795 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 153.141 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 523.751 null ] >>
endobj
10796 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 137.2 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 512.792 null ] >>
endobj
10797 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 126.241 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 501.833 null ] >>
endobj
10798 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 115.283 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 490.874 null ] >>
endobj
10799 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 104.324 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 474.934 null ] >>
endobj
10800 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 93.365 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 463.975 null ] >>
endobj
10801 0 obj
-<< /D [ 10739 0 R /XYZ 81.077 82.406 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 453.016 null ] >>
endobj
-10738 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10804 0 obj
-<< /Filter /FlateDecode /Length 2167 >>
-stream
-xڭZMoFWC`d)X`&; d.l-64HʎVbL(CƖǪ|uo?7~HJ3
-%W_+J-"Y%V0nj_kgu9kU: YF,mn9sO3eI]LIm+̈́lls}ٷ*~WU߼5|?M] LpC5ů{-\E -bsdB2umi4GOAa!z?725ћ>y]wM3F ;V갿?\_ztS:Bt4!0\4m3;ƕ"1))ɫMWoڮyi8Iv>4xe}ɫwn1e2G[}U,v^])MbI5ɴl JDJqXmq[~ž2i`貤k&Ik.L3qu1"[R Ƙ*a) i}1`,Csk9<eVEO -s4>˲Y|ؽWb\@ĕhþ")?1>:붮Mqzgn}P7-&|jbXb"1X xHF>ԇrK碃]A1/2S3N@@eCP\I4I acysMi2VEMi}gB<fcKUGGf&Q KdD'j\캇?+D{%=iSLF65<dObK  3mmb. ŎIA2>Tf,t`WYRe0#)1T tgp8:rø:tBc $F6@hQ)4pf{&eH& cmv-EG = U`/9
-Y@!V01^mРX׻Cy&"X4Lm>UƤA/1ڄ=zB!ySjZ*+ڬBS=_嘌sst cۮru?e
-TӂVhz S&gS6-"NQ< ?]Xۢz;ȟ M_ri3yIFh2I1dMkcYO$ L-{]lʌR5ZЯ9Qʲ@,-q CB^Q)HRIIb5'#g ? f2v51U=].YsVSI o0y—~VN1
-8 ETi:ח0@; ۠ \~dee-mhr2Ɖ]Ch:Am Na^^a
-D=#Ql
-#{H*mt'LQb
-C!t
-ZeJE3,B@K kK72ڿ} aՙZ`[4wDY;U
-HƎVj|3nꪛe[8 #2}9 }~p<zDCh2풓/ us[vyuW
-a,,:MIlM 6욃Ocq}*+ʹrL҆\y3-Bxhjz
-⍸讉bxׄ ~A_x՛B*M&zoxSRɴW7GO̘ɴԩ9vL9̐׾~sUZkfE9xx<'%
-P+>* kA1A72KS
-endstream
+10802 0 obj
+<< /D [ 10771 0 R /XYZ 81.077 442.057 null ] >>
endobj
10803 0 obj
-<< /Type /Page /Contents 10804 0 R /Resources 10802 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+<< /D [ 10771 0 R /XYZ 81.077 431.098 null ] >>
+endobj
+10804 0 obj
+<< /D [ 10771 0 R /XYZ 81.077 420.139 null ] >>
endobj
10805 0 obj
-<< /D [ 10803 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 409.18 null ] >>
endobj
10806 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 398.221 null ] >>
endobj
10807 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 387.263 null ] >>
endobj
10808 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 741.933 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 371.322 null ] >>
endobj
10809 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 730.974 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 360.363 null ] >>
endobj
10810 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 720.015 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 349.405 null ] >>
endobj
10811 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 709.056 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 338.446 null ] >>
endobj
10812 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 698.097 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 327.487 null ] >>
endobj
10813 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 687.138 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 316.528 null ] >>
endobj
10814 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 676.179 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 305.569 null ] >>
endobj
10815 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 660.239 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 294.61 null ] >>
endobj
10816 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 649.28 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 278.67 null ] >>
endobj
10817 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 638.321 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 267.711 null ] >>
endobj
10818 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 627.362 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 256.752 null ] >>
endobj
10819 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 616.403 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 245.793 null ] >>
endobj
10820 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 605.444 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 234.834 null ] >>
endobj
10821 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 594.486 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 223.875 null ] >>
endobj
10822 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 583.527 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 207.935 null ] >>
endobj
10823 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 572.568 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 196.976 null ] >>
endobj
10824 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 561.609 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 186.017 null ] >>
endobj
10825 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 545.669 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 175.058 null ] >>
endobj
10826 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 534.71 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 164.099 null ] >>
endobj
10827 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 523.751 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 153.141 null ] >>
endobj
10828 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 512.792 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 137.2 null ] >>
endobj
10829 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 501.833 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 126.241 null ] >>
endobj
10830 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 490.874 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 115.283 null ] >>
endobj
10831 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 479.915 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 104.324 null ] >>
endobj
10832 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 468.956 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 93.365 null ] >>
endobj
10833 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-10834 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 447.038 null ] >>
+<< /D [ 10771 0 R /XYZ 81.077 82.406 null ] >>
endobj
-10835 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 436.08 null ] >>
+10770 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10836 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 425.121 null ] >>
+<< /Filter /FlateDecode /Length 2166 >>
+stream
+xڭZM600$os
+K lBd!oߢdQ*g"9LcXdXUQ|uoLxZiRj}w#G|%VeV$
+ƭX~οqo?XJVs%ah/.澸&߱aٴp&sI?ȶfNe`N`BM?oi}xOSW,*pS<uMYK$Wq֊9wm!:ִ'< 8C>y]wM3F ;V갿ߏS_U:~xԯ/OD:XF.Q\6ZJaHSnapKr8B_j՛k}C>>(a^CP*盼zz7!+KS6+Kh+;Ŏݫ3)<SLI9ɴl;JDLqXmq[~ž4i`qʂ5GӤU𳘗 %\.p̸HBҦ5G%1f9KzX
+AZ_LSs@OUc&f|gryY>krJKM"- -#4B@uyW$e5S(nw>'v;uBlSM KL$3q!C@`C}(wx.:2 H:ßwPt,RM2qNbsܟkR%.ү/B <Q,UsF%,um5#ssb4tleNEz4zFh2=a1I98T S!.;R sLA^,e1 B _U>‡>*Y*4Blf$Ň*LbGg[nQGIBuڿS+CҚM>:Rl䣬Ԑ4=qP<~訡.;kW @=!mSEZ u;g\-u-1La ɪ~\YjL*9!OMأ$M!\7>:)દ۬*d1CS@K-HȎEoD)P$A-o)QX9Łnӑz9v i(,E70~Ww?`8f$9$Ǵh>B1e+|MQ;rGWQ4ejA汲l05KK2xl#UGAJ09*R9F|cR)XbQrLESA= %kdb1 k2U=].Yc4ؓA`@/}b6$phL /EA$ځ!xm0#7d5`L+sH,q@ulfwEavة!s4 lEeyT4uەS M 4oKX25X49~ꎫ՞tj8iZ?_p d!MSwwYȗaPxq$c.2VcS˼ 9Y =&{x{e˞oԴBӃjF.4.F4U^ |0n4B>,$}gX*A.J `od[?4p37)õ2iĹ݉z'Bw:BW!P{:و á?JI4AL><MWl72o' v J)3<L|21-Ҽ"҆}o_ӯɃ:*M sO ģVE2vDV uSVW<Ni(#U?Yh׾T ɌKN
+Ȑ_,D>m1K\)@(6 M!4Y8*ƍ5S_\J3-3&B"L9ǪA^.82Ewǻx#.kX95!pWo 9^$iE^B25vhw3N(yj]NS?|43`s=2ӟ#NmsyOb7%
+P+>* kA1A<v~}%K
+endstream
+endobj
+10835 0 obj
+<< /Type /Page /Contents 10836 0 R /Resources 10834 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10517 0 R >>
endobj
10837 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 409.18 null ] >>
+<< /D [ 10835 0 R /XYZ 78.37 808.885 null ] >>
endobj
10838 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 398.221 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 768.832 null ] >>
endobj
10839 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 387.263 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 757.873 null ] >>
endobj
10840 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 376.304 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 741.933 null ] >>
endobj
10841 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 365.345 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 730.974 null ] >>
endobj
10842 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 354.386 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 720.015 null ] >>
endobj
10843 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 343.427 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 709.056 null ] >>
endobj
10844 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 327.487 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 698.097 null ] >>
endobj
10845 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 316.528 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 687.138 null ] >>
endobj
10846 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 305.569 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 676.179 null ] >>
endobj
10847 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 294.61 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 660.239 null ] >>
endobj
10848 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 283.651 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 649.28 null ] >>
endobj
10849 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 267.711 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 638.321 null ] >>
endobj
10850 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 256.752 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 627.362 null ] >>
endobj
10851 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 245.793 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 616.403 null ] >>
endobj
10852 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 234.834 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 605.444 null ] >>
endobj
10853 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 223.875 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 594.486 null ] >>
endobj
10854 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 212.916 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 583.527 null ] >>
endobj
10855 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 201.957 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 572.568 null ] >>
endobj
10856 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 190.999 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 561.609 null ] >>
endobj
10857 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 175.058 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 545.669 null ] >>
endobj
10858 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 164.099 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 534.71 null ] >>
endobj
10859 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 153.141 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 523.751 null ] >>
endobj
10860 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 142.182 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 512.792 null ] >>
endobj
10861 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 131.223 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 501.833 null ] >>
endobj
10862 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 120.264 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 490.874 null ] >>
endobj
10863 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 104.324 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 479.915 null ] >>
endobj
10864 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 93.365 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 468.956 null ] >>
endobj
10865 0 obj
-<< /D [ 10803 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-10802 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 10835 0 R /XYZ 81.077 457.997 null ] >>
endobj
-10868 0 obj
-<< /Filter /FlateDecode /Length 2121 >>
-stream
-xڭZ[o~M̈́s1"vhBM"{ϐҐ#ے Y|2ngdJ ~+gXC9ݬ/(|(љQDQ=ӊDf߯-|׷W Jq3Smܶmݴڵe?/i\զu[׮˪m\{N((^"4Q? /UB 1W(cI" JD+CڟŪ}S9'd˂'8c]V-Ls{fD3"ݼn[  o!2 b<HJp6
--plڏY fEYAk FmyPJ817l
-6VN(4{?@ly>^H&ܿ&\1kzy \%iiX&D!M *p"` EZbr<+m2C<[ZceZɉG! Đ}6mڮ)+K7
-ڳikyn, ,HpnbwV=VA9D (2A88F
-fwMLB77ř{\UA&L": EM[S@[c6gmq_v*~+ϠO\?}7
-Ӈ*y!v?FϗMЩ+dbGCqE2nU2Z}7F#VM :FV. t)H4:fWVeS¬M&f 4$U. :!CDkܠLI`Ja MjS"y%!%ؚj-C aԸ*+L5%CKqe} ('~& Fh|R1j9$A|
-<W)ʔ짚X;d n܋;! bDwS; 0o ~CR *Unof/+ݶW;fFk# e!aywj'x
-gOp\OXYubnش~N,O}[y?os(? Z;ƛ%a4
-ͰCH E(d|p63F  n5D7 nϧna.Y? NpKƟ:tC?qd`fcFH+b~O|
-endstream
+10866 0 obj
+<< /D [ 10835 0 R /XYZ 81.077 447.038 null ] >>
endobj
10867 0 obj
-<< /Type /Page /Contents 10868 0 R /Resources 10866 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+<< /D [ 10835 0 R /XYZ 81.077 436.08 null ] >>
+endobj
+10868 0 obj
+<< /D [ 10835 0 R /XYZ 81.077 425.121 null ] >>
endobj
10869 0 obj
-<< /D [ 10867 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 409.18 null ] >>
endobj
10870 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 398.221 null ] >>
endobj
10871 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 387.263 null ] >>
endobj
10872 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 376.304 null ] >>
endobj
10873 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 365.345 null ] >>
endobj
10874 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 720.33 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 354.386 null ] >>
endobj
10875 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 709.371 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 343.427 null ] >>
endobj
10876 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 698.412 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 327.487 null ] >>
endobj
10877 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 687.454 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 316.528 null ] >>
endobj
10878 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 676.495 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 305.569 null ] >>
endobj
10879 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 665.536 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 294.61 null ] >>
endobj
10880 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 654.577 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 283.651 null ] >>
endobj
10881 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 638.952 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 267.711 null ] >>
endobj
10882 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 627.993 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 256.752 null ] >>
endobj
10883 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 617.034 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 245.793 null ] >>
endobj
10884 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 606.075 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 234.834 null ] >>
endobj
10885 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 595.117 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 223.875 null ] >>
endobj
10886 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 584.158 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 212.916 null ] >>
endobj
10887 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 573.199 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 201.957 null ] >>
endobj
10888 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 562.24 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 190.999 null ] >>
endobj
10889 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 546.615 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 175.058 null ] >>
endobj
10890 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 535.656 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 164.099 null ] >>
endobj
10891 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 524.697 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 153.141 null ] >>
endobj
10892 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 513.738 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 142.182 null ] >>
endobj
10893 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 502.78 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 131.223 null ] >>
endobj
10894 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 491.821 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 120.264 null ] >>
endobj
10895 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 480.862 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 104.324 null ] >>
endobj
10896 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 469.903 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 93.365 null ] >>
endobj
10897 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 458.944 null ] >>
-endobj
-10898 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 447.985 null ] >>
+<< /D [ 10835 0 R /XYZ 81.077 82.406 null ] >>
endobj
-10899 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 437.026 null ] >>
+10834 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10900 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 426.067 null ] >>
+<< /Filter /FlateDecode /Length 2120 >>
+stream
+xڭZ[o~M̈́s1"vhBM"{ϐҐ#ے@ҧsx.߹ ,}_w7^i>f}AGɌΌ"V$n6~eJ}{7c0e mM][<6wM64ߺv]Vms{v@A .eayY-b!EKiP,'Z$-V7<!^<AqG罰:na4M5#ň)潥usLX!I+DR*x6Y{i?fy.\eV 3iC)Lв)V [';
+dp/BY\0B<ʭMXGw"]hA a6t<^2;J]l:.tӨgo_} HY 1RiH0 S>>BWM~5qY [ nFgWh2L~_UemormzV>d Dh̚2 Yk !r|
+C<#gsH{t-n2|~pl#͡ٸ eo7E*>Q\o#N&ptcqj։tcqTG)?{V1I
+xUaU6\ I dbI`AuWA#4$04A6nP_$06("4$DJBK±5>Z&&-ZqUVj
+-AKBKa\Y;
+_t Ad80 `6B㓊_!$HW๪OQd?!q^g?t  W1"`ɩc
+ fPr}7{YYM]:ca6PVWxg}w@ q ['Fco~^<w#A B 6-t#tcawݍ7KxwѼA:  nQVGRl4gRCj.XazPSAt27D`0zH,Ou 'Z "K{!"HǹQYZ"!=d]^.{rz2Í:nݼm^E4&:m%dPW4KRfw#NzWdy.us#1*̲ yC#}z^+1)ťL Y5 ZbZ>
+endstream
+endobj
+10899 0 obj
+<< /Type /Page /Contents 10900 0 R /Resources 10898 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10517 0 R >>
endobj
10901 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 415.108 null ] >>
+<< /D [ 10899 0 R /XYZ 78.37 808.885 null ] >>
endobj
10902 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 399.484 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 768.832 null ] >>
endobj
10903 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 388.525 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 757.873 null ] >>
endobj
10904 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 377.566 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 746.914 null ] >>
endobj
10905 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 366.607 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 735.955 null ] >>
endobj
10906 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 355.648 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 720.33 null ] >>
endobj
10907 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 344.689 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 709.371 null ] >>
endobj
10908 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 333.73 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 698.412 null ] >>
endobj
10909 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 322.771 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 687.454 null ] >>
endobj
10910 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 307.147 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 676.495 null ] >>
endobj
10911 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 296.188 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 665.536 null ] >>
endobj
10912 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 285.229 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 654.577 null ] >>
endobj
10913 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 274.27 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 638.952 null ] >>
endobj
10914 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 263.311 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 627.993 null ] >>
endobj
10915 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 252.352 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 617.034 null ] >>
endobj
10916 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 236.727 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 606.075 null ] >>
endobj
10917 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 225.768 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 595.117 null ] >>
endobj
10918 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 214.81 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 584.158 null ] >>
endobj
10919 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 203.851 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 573.199 null ] >>
endobj
10920 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 192.892 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 562.24 null ] >>
endobj
10921 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 181.933 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 546.615 null ] >>
endobj
10922 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 170.974 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 535.656 null ] >>
endobj
10923 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 155.349 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 524.697 null ] >>
endobj
10924 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 144.39 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 513.738 null ] >>
endobj
10925 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 133.431 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 502.78 null ] >>
endobj
10926 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 122.473 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 491.821 null ] >>
endobj
10927 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 111.514 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 480.862 null ] >>
endobj
10928 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 100.555 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 469.903 null ] >>
endobj
10929 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 89.596 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 458.944 null ] >>
endobj
10930 0 obj
-<< /D [ 10867 0 R /XYZ 81.077 78.637 null ] >>
-endobj
-10866 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 10899 0 R /XYZ 81.077 447.985 null ] >>
endobj
-10933 0 obj
-<< /Filter /FlateDecode /Length 1916 >>
-stream
-xڵZnF}W&@%Oi$mѦC/)Zli]~{g)iU]8eA39gf(:3KTxߟxgHg舍&ьPF菧8Z/i7i-l%L}:^rA(.H ]_\e|sqΦWE+;+rK.;Npt:4z *cHPG)GȄ ? G1aa$RrQ:.i,—s^Vҟ~qQU>#h?%~AUƧ&˃m0۔Rp8W&bR/b[,Cʼɫ͛uh.uDXS$gtEamkGvJ}Q6m=C um\\vfEo3% HΔ%upMyM6)I DR#pi {䝃kSxs)]t[UV>@,%PՕѕA%~B
-cpfN.Z]4%Zh[2~,.Rmdtɠ\J.JRo87esoSXaQ'Jeڞ 70BZf5I]tp^璄7Hri~]|PFtHЭTldBiIg(4tU  _(Y<K8fӇ4M>Tu-a.kD:R"/u B逿/Z۝|\NlO7m1=D*By{v,C,{gaGbZ P4$)$F7r=tآ0\+osG (=V݀Ԛ*G!\"WGhH6`" ,O'Ȁ#Á,'5:isc r3njБ} 7'h4K  x~5>#R*el8N4ZGؒphGG$p['q:A%s|.q"tB.P꒠. .c;uI .P21](nڒ-Łڂז("#Ů MJDmV=kK;,2.r.D88; !"0͵ ()EJ*pXMn}['Ae<aϟ< VUyXI'v9bXTgSBZ2uˆY rAq/prە6a6@%?{!0
-2<A+[F:Fm0I@&jAV $\9"ܘ?v_=*lu#Uܻhm/+r]Lh&Й◰\XBy3[&\YL'z5)8'ޠsC%pꑠ[ -`hb9^d髿ޔng-5!9u/t
-VD5AGihcH%ݗ"=v >rDh)j  >n cr%4t
-3*(MJ.[:Li卑 L*h]l & z>'.&T?ajB~d0Pf$XD <0@ڃ IJ,0Ǯ@⺂]^U0ydK<IÈp;& `6?F=%bѤ> }h|wdn=Pz2qPYZ$%=x;>4KZf
-endstream
+10931 0 obj
+<< /D [ 10899 0 R /XYZ 81.077 437.026 null ] >>
endobj
10932 0 obj
-<< /Type /Page /Contents 10933 0 R /Resources 10931 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+<< /D [ 10899 0 R /XYZ 81.077 426.067 null ] >>
+endobj
+10933 0 obj
+<< /D [ 10899 0 R /XYZ 81.077 415.108 null ] >>
endobj
10934 0 obj
-<< /D [ 10932 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 399.484 null ] >>
endobj
10935 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 388.525 null ] >>
endobj
10936 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 377.566 null ] >>
endobj
10937 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 366.607 null ] >>
endobj
10938 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 355.648 null ] >>
endobj
10939 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 720.015 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 344.689 null ] >>
endobj
10940 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 709.056 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 333.73 null ] >>
endobj
10941 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 698.097 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 322.771 null ] >>
endobj
10942 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 687.138 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 307.147 null ] >>
endobj
10943 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 676.179 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 296.188 null ] >>
endobj
10944 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 665.22 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 285.229 null ] >>
endobj
10945 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 654.261 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 274.27 null ] >>
endobj
10946 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 638.321 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 263.311 null ] >>
endobj
10947 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 627.362 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 252.352 null ] >>
endobj
10948 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 616.403 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 236.727 null ] >>
endobj
10949 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 605.444 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 225.768 null ] >>
endobj
10950 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 594.486 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 214.81 null ] >>
endobj
10951 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 583.527 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 203.851 null ] >>
endobj
10952 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 572.568 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 192.892 null ] >>
endobj
10953 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 556.627 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 181.933 null ] >>
endobj
10954 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 545.669 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 170.974 null ] >>
endobj
10955 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 534.71 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 155.349 null ] >>
endobj
10956 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 523.751 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 144.39 null ] >>
endobj
10957 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 512.792 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 133.431 null ] >>
endobj
10958 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 501.833 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 122.473 null ] >>
endobj
10959 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 490.874 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 111.514 null ] >>
endobj
10960 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 479.915 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 100.555 null ] >>
endobj
10961 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 463.975 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 89.596 null ] >>
endobj
10962 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 453.016 null ] >>
-endobj
-10963 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 442.057 null ] >>
+<< /D [ 10899 0 R /XYZ 81.077 78.637 null ] >>
endobj
-10964 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 431.098 null ] >>
+10898 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
10965 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 420.139 null ] >>
+<< /Filter /FlateDecode /Length 1917 >>
+stream
+xڵZnF}W&@%Oi$mѦC/)Zli]~{g)iU]8eA39gf(:3KTxߟxgHg舍&ьPF菧rZ/i7i-l%L}:^rA(.p ]_\e|sqΦWE+;+rK.;Npt:4z *cHPG)GȄ ? G1aa$RrQ:.i,—s^Vҟ~qQU>#h?%|AUƧ&˃m0۔Rp8W&bR/b[,Cʼɫ͛uh.uDXS$gt\EamkG6J}Q6m=C umD,Υ.7`iV8ShȀ_LY"M!_׹7ܔWy1iIT/?l"$ΠhK$12.<fM96G; \RԴ\bٔڏ)45螊-8~B
+cpfN.Z]4%ZBH\uяEMP.%h %qQrQhBZ7R297FKC(C%U
+jomO훀KQ! rc3 vˤ.:8zYNsI›VSK.?T(Q#ARϓ %1.v¢/AIWQYu0:bi,|n6m1}XLo*ۄOCXIqњ&NĮC2\*uo,r]LN,8Οe݉V$/n^~j]C_"Gb?IJw>A,Foydp,
+eLCB1Bbot-OW:I-ĵ( 6a`{CYn HYrJׯ$TѐXmEYOGYN Iktƾ=@0fcWԠ#1` MRiG?eMOꈔp[$)$6$7Z'V nNР$}k#dP1$臩KA N]c TrpCEE8J:A'h$iKjq %<tPzFQ`UO)K̪ܳ ,Ht8AEDHF:psm>
+`Jm*2=AVSm)?[vP!O'<<OUVݿ?`Y9A֫ |ݲaloqP%0k\'v mXo G rpg9 OHh O8&J['h4p刋DqcfX<mb,ʳ2Tqu=(u1@g_ra Q4n pnf1դO㜀{B :*ƩG/֫n7/(zzS.឵ؿZ ܦO ܾ)Xr5?
+NKI;kpGs_4pvZb9llu :
+FL!OX?U2Jq(3Lku
+ ,}w c{`pAbUgqcW`p]An.*{<k%ր$a5mFU0LvhR f>` ;B27_s(n8,Ggv Y^-Z
+endstream
+endobj
+10964 0 obj
+<< /Type /Page /Contents 10965 0 R /Resources 10963 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10517 0 R >>
endobj
10966 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 409.18 null ] >>
+<< /D [ 10964 0 R /XYZ 78.37 808.885 null ] >>
endobj
10967 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 398.221 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 768.832 null ] >>
endobj
10968 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 387.263 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 757.873 null ] >>
endobj
10969 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 371.322 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 746.914 null ] >>
endobj
10970 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 360.363 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 735.955 null ] >>
endobj
10971 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 349.405 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 720.015 null ] >>
endobj
10972 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 338.446 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 709.056 null ] >>
endobj
10973 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 327.487 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 698.097 null ] >>
endobj
10974 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 316.528 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 687.138 null ] >>
endobj
10975 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 305.569 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 676.179 null ] >>
endobj
10976 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 289.629 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 665.22 null ] >>
endobj
10977 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 278.67 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 654.261 null ] >>
endobj
10978 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 267.711 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 638.321 null ] >>
endobj
10979 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 256.752 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 627.362 null ] >>
endobj
10980 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 245.793 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 616.403 null ] >>
endobj
10981 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 234.834 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 605.444 null ] >>
endobj
10982 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 223.875 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 594.486 null ] >>
endobj
10983 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 212.916 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 583.527 null ] >>
endobj
10984 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 201.957 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 572.568 null ] >>
endobj
10985 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 190.999 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 556.627 null ] >>
endobj
10986 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 175.058 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 545.669 null ] >>
endobj
10987 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 164.099 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 534.71 null ] >>
endobj
10988 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 153.141 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 523.751 null ] >>
endobj
10989 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 142.182 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 512.792 null ] >>
endobj
10990 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 131.223 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 501.833 null ] >>
endobj
10991 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 120.264 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 490.874 null ] >>
endobj
10992 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 109.305 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 479.915 null ] >>
endobj
10993 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 93.365 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 463.975 null ] >>
endobj
10994 0 obj
-<< /D [ 10932 0 R /XYZ 81.077 82.406 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 453.016 null ] >>
endobj
-10931 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-10997 0 obj
-<< /Filter /FlateDecode /Length 2019 >>
-stream
-xڽZMoHW6A26a.v-6a $*Y')٥5$l!,鱊UUu/|銏tOWWo?:,xby{%G|!2+YfW. ςʧ`!9s*`lݮrsJwWL:Lp]4R>O]j+yei<mTr0j5~Ҋi'IVZ[Tc߶]߿ݗum#bZ⴨V1-mz5.oJ/z&35T`A VCh}/-93uL% E5>k!˟[1)Mt\K{|-͚ddwe莟LjB)9ls뻪:ne&ooM^/>uϖɶgh[J?a
-Wׂ٘3 &\ͼ̛UΦe y0E@´yhMBTrЊ7m~)GWn=>W4|KpMV|(jԬiv_ZK]kI&tl@hi >c_zxv;僚6ezinh!<uC ԍ`rT7l0Y6|Cj;jGu}OWsX^bUsK#m Ϋ8RH$9c6\H%c i-(B T3hT,Jc5I~iɫhMBNIaC
-BUG
-F)N3g&ےB|攪xǟ EH\Y5BEH«W} )]8^@3Fh#}
-O>)ₑgqAj;iF~`f`џ`E\F[rR-|'chBZm]>D,"Op՘L<2S g0PjyMYT}OBhKt" >6f4_ȠcFhs7B1ϬD^g&ӤTC04rM
-=G~[TER.Ű&r>ļ_#r YG'p pw(`$mYIch'4={:D~PVd![5,;ɤ qZGЇ
-endstream
+10995 0 obj
+<< /D [ 10964 0 R /XYZ 81.077 442.057 null ] >>
endobj
10996 0 obj
-<< /Type /Page /Contents 10997 0 R /Resources 10995 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+<< /D [ 10964 0 R /XYZ 81.077 431.098 null ] >>
+endobj
+10997 0 obj
+<< /D [ 10964 0 R /XYZ 81.077 420.139 null ] >>
endobj
10998 0 obj
-<< /D [ 10996 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 409.18 null ] >>
endobj
10999 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 398.221 null ] >>
endobj
11000 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 387.263 null ] >>
endobj
11001 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 371.322 null ] >>
endobj
11002 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 360.363 null ] >>
endobj
11003 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 349.405 null ] >>
endobj
11004 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 338.446 null ] >>
endobj
11005 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 698.097 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 327.487 null ] >>
endobj
11006 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 687.138 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 316.528 null ] >>
endobj
11007 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 676.179 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 305.569 null ] >>
endobj
11008 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 665.22 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 289.629 null ] >>
endobj
11009 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 654.261 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 278.67 null ] >>
endobj
11010 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 643.302 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 267.711 null ] >>
endobj
11011 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 632.344 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 256.752 null ] >>
endobj
11012 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 621.385 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 245.793 null ] >>
endobj
11013 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 610.426 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 234.834 null ] >>
endobj
11014 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 599.467 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 223.875 null ] >>
endobj
11015 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 583.527 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 212.916 null ] >>
endobj
11016 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 572.568 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 201.957 null ] >>
endobj
11017 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 561.609 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 190.999 null ] >>
endobj
11018 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 550.65 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 175.058 null ] >>
endobj
11019 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 539.691 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 164.099 null ] >>
endobj
11020 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 528.732 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 153.141 null ] >>
endobj
11021 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 517.773 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 142.182 null ] >>
endobj
11022 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 506.814 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 131.223 null ] >>
endobj
11023 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 490.874 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 120.264 null ] >>
endobj
11024 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 479.915 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 109.305 null ] >>
endobj
11025 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 468.956 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 93.365 null ] >>
endobj
11026 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 457.997 null ] >>
-endobj
-11027 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 447.038 null ] >>
+<< /D [ 10964 0 R /XYZ 81.077 82.406 null ] >>
endobj
-11028 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 436.08 null ] >>
+10963 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
11029 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 425.121 null ] >>
+<< /Filter /FlateDecode /Length 2022 >>
+stream
+xڽMoHMvt9el\F, ZmPTN)~Ģ9$%buu=䫻_}+3;ՇۏN4Pr#2+YnW>I?Wۏ֯UI,3<VH*m?gOtob% gYR_ '-OiQV$7L;I"ڼlCv!~Peˮ˻>oԯ}{(kɺ̫â<ZaQaտv_Ӳi=쳶L ^Lr%FC0YK2o}u(-y
+*/7a f4!52-[hu*t $\2k<dHk^MweUg[2ҌP"V< iHMƃq9sMBGMUozlg3&@)OT 8{h7sʐ2$2$9 nj
+2 ˇiMR*
+͚͐Շbд7U
+ݐpݐd&'aR1-ϚUl7JR\Xm'vt^||5Pj4<RI<mH=dt;/b<%&d$:-HrP΄HL@z!I铕]d.NIÊ*&SG9}]]m
+I^
+endstream
+endobj
+11028 0 obj
+<< /Type /Page /Contents 11029 0 R /Resources 11027 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10517 0 R >>
endobj
11030 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 409.18 null ] >>
+<< /D [ 11028 0 R /XYZ 78.37 808.885 null ] >>
endobj
11031 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 398.221 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 768.832 null ] >>
endobj
11032 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 387.263 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 757.873 null ] >>
endobj
11033 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 376.304 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 746.914 null ] >>
endobj
11034 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 365.345 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 735.955 null ] >>
endobj
11035 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 354.386 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 724.996 null ] >>
endobj
11036 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 343.427 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 714.037 null ] >>
endobj
11037 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 332.468 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 698.097 null ] >>
endobj
11038 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 316.528 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 687.138 null ] >>
endobj
11039 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 305.569 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 676.179 null ] >>
endobj
11040 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 294.61 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 665.22 null ] >>
endobj
11041 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 283.651 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 654.261 null ] >>
endobj
11042 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 272.692 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 643.302 null ] >>
endobj
11043 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 261.733 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 632.344 null ] >>
endobj
11044 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 245.793 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 621.385 null ] >>
endobj
11045 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 234.834 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 610.426 null ] >>
endobj
11046 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 223.875 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 599.467 null ] >>
endobj
11047 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 212.916 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 583.527 null ] >>
endobj
11048 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 201.957 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 572.568 null ] >>
endobj
11049 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 190.999 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 561.609 null ] >>
endobj
11050 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 180.04 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 550.65 null ] >>
endobj
11051 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 169.081 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 539.691 null ] >>
endobj
11052 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 153.141 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 528.732 null ] >>
endobj
11053 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 142.182 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 517.773 null ] >>
endobj
11054 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 131.223 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 506.814 null ] >>
endobj
11055 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 120.264 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 490.874 null ] >>
endobj
11056 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 109.305 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 479.915 null ] >>
endobj
11057 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 98.346 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 468.956 null ] >>
endobj
11058 0 obj
-<< /D [ 10996 0 R /XYZ 81.077 87.387 null ] >>
-endobj
-10995 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 11028 0 R /XYZ 81.077 457.997 null ] >>
endobj
-11061 0 obj
-<< /Filter /FlateDecode /Length 2177 >>
-stream
-xڭZߏ6~߿o (\
-+K$v %&T}Y'473ߐ]tEDϟ\_}c&V b%b\ͲUw~c Y*'Fk`F1,ʄ|zֵ}zU߾T\}ix*f߻MS5˲ʭyy=粢Q\\Oh&E.)d~wvk[7nY7^ͺWolU {1y:| .˰.[Wgu-*>BaW2aߏ+p+_OIl{۴{np9AU[w_<ZO{ϣOڣȉ"}[RvH|Ҟ1cOP S+kMPnU]]Bm4 aP?
-cFe64$>2feUwyEKM b۶mj;/Q"W.qw+ Lg~aPpSK=NO!cq?֛8iX5443k2$8Qg;z;"AIV)YKB!t*?4t.p r^~/7hr*ith^N7&>wNe
- LLb %\)č2!
-ecjƐCsBَ1V9Ni'KTN N)rjsTy0BQ 4Gv^Uƺmm
-x%D9*~zF ;1J(O+@sUT7A*AҒd&HkAQXݍm EqpQ$˲&x""^Lǃi*/Kkt1Πo BӢ뤒Yv#Fu"<@t:
-3oe'(÷
-(6 3H[rp4)FԌ<;JmC]8Цw=Z*ߗf8͐FY+WA sX9LC,0 Z$N$k_am5SyaڠkKIZƧ DD@]e%p
- T :J #.MH |:çLs<vn wP_FG] #
-ӥr~PZ D l o|R?~8Ʊ
-3cdi+WP7Ot~W{Sv Yvnw%"Wd <C@,3óYd9̺g/1WZ2?{;{
-endstream
+11059 0 obj
+<< /D [ 11028 0 R /XYZ 81.077 447.038 null ] >>
endobj
11060 0 obj
-<< /Type /Page /Contents 11061 0 R /Resources 11059 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 10545 0 R >>
+<< /D [ 11028 0 R /XYZ 81.077 436.08 null ] >>
+endobj
+11061 0 obj
+<< /D [ 11028 0 R /XYZ 81.077 425.121 null ] >>
endobj
11062 0 obj
-<< /D [ 11060 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 409.18 null ] >>
endobj
11063 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 398.221 null ] >>
endobj
11064 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 387.263 null ] >>
endobj
11065 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 376.304 null ] >>
endobj
11066 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 365.345 null ] >>
endobj
11067 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 354.386 null ] >>
endobj
11068 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 343.427 null ] >>
endobj
11069 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 332.468 null ] >>
endobj
11070 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 316.528 null ] >>
endobj
11071 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 676.179 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 305.569 null ] >>
endobj
11072 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 665.22 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 294.61 null ] >>
endobj
11073 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 654.261 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 283.651 null ] >>
endobj
11074 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 643.302 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 272.692 null ] >>
endobj
11075 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 632.344 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 261.733 null ] >>
endobj
11076 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 621.385 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 245.793 null ] >>
endobj
11077 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 610.426 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 234.834 null ] >>
endobj
11078 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 594.486 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 223.875 null ] >>
endobj
11079 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 583.527 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 212.916 null ] >>
endobj
11080 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 572.568 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 201.957 null ] >>
endobj
11081 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 561.609 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 190.999 null ] >>
endobj
11082 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 550.65 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 180.04 null ] >>
endobj
11083 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 539.691 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 169.081 null ] >>
endobj
11084 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 528.732 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 153.141 null ] >>
endobj
11085 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 517.773 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 142.182 null ] >>
endobj
11086 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 506.814 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 131.223 null ] >>
endobj
11087 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 490.874 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 120.264 null ] >>
endobj
11088 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 479.915 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 109.305 null ] >>
endobj
11089 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 468.956 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 98.346 null ] >>
endobj
11090 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 457.997 null ] >>
+<< /D [ 11028 0 R /XYZ 81.077 87.387 null ] >>
endobj
-11091 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 447.038 null ] >>
-endobj
-11092 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 436.08 null ] >>
+11027 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
11093 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 420.139 null ] >>
+<< /Filter /FlateDecode /Length 2183 >>
+stream
+xڭZmoF_ov_)P\-m]7͒Ғm>XÇ3;3]tEODϟ\_}+Ieo<DWle5̬fjޭs}w}v+KŽ2X
+ zW߭K,}S7աi7UQ_eo}?{#\V0ʣ2# m[8¤e9%LnjCz庩uOESuqKq]1~nIE^7#ve~Z­lNjj_TutWkHbg>l6}ϽOګDroG׭s);C$y>i9XTB*ex&CXί}.vj~~$@MVwU[ @]ܖvgYWeMоZtW* ]Pm;LI}U͡n"/}Kg!r莢&`c*}uC/gPD^94F+l0) 7:Mg?K+RȈ ՆZbq4<}(70ph!, g+h>ib5Gor;"AIV),]JO[
+I Y盆.!0Q)KOM*htlANN;C^G 2\p&CA 6}Lx6BuO1d6A$h:A9ƐPz}),*mS 2e )ETX z2OV(9ʒcH ΋67H[hER>FńO4ꦅ!i,"FqCT4Z(-qQZ+ʄǢ<n~QJ+U!eM,kH K ay٬x0-@Z@0ZSi٣뤒X5:':t;ۼ9e
+3v7+ϝ z-UKTI'm7mi xAM8b9%0 GG5.Hc49KQhܹW~
+!6eS/R5ivOe翅3=`K^73i_̣pEƉ}*Y0mص $-AӅq"PUV럏
+endstream
+endobj
+11092 0 obj
+<< /Type /Page /Contents 11093 0 R /Resources 11091 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11155 0 R >>
endobj
11094 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 409.18 null ] >>
+<< /D [ 11092 0 R /XYZ 78.37 808.885 null ] >>
endobj
11095 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 398.221 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 768.832 null ] >>
endobj
11096 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 387.263 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 757.873 null ] >>
endobj
11097 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 376.304 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 746.914 null ] >>
endobj
11098 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 365.345 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 735.955 null ] >>
endobj
11099 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 354.386 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 724.996 null ] >>
endobj
11100 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 338.446 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 714.037 null ] >>
endobj
11101 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 327.487 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 703.078 null ] >>
endobj
11102 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 316.528 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 692.119 null ] >>
endobj
11103 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 305.569 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 676.179 null ] >>
endobj
11104 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 294.61 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 665.22 null ] >>
endobj
11105 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 283.651 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 654.261 null ] >>
endobj
11106 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 267.711 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 643.302 null ] >>
endobj
11107 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 256.752 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 632.344 null ] >>
endobj
11108 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 245.793 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 621.385 null ] >>
endobj
11109 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 234.834 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 610.426 null ] >>
endobj
11110 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 223.875 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 594.486 null ] >>
endobj
11111 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 212.916 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 583.527 null ] >>
endobj
11112 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 201.957 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 572.568 null ] >>
endobj
11113 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 186.017 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 561.609 null ] >>
endobj
11114 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 175.058 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 550.65 null ] >>
endobj
11115 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 164.099 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 539.691 null ] >>
endobj
11116 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 153.141 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 528.732 null ] >>
endobj
11117 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 142.182 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 517.773 null ] >>
endobj
11118 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 131.223 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 506.814 null ] >>
endobj
11119 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 120.264 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 490.874 null ] >>
endobj
11120 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 104.324 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 479.915 null ] >>
endobj
11121 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 93.365 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 468.956 null ] >>
endobj
11122 0 obj
-<< /D [ 11060 0 R /XYZ 81.077 82.406 null ] >>
-endobj
-11059 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 11092 0 R /XYZ 81.077 457.997 null ] >>
endobj
-11125 0 obj
-<< /Filter /FlateDecode /Length 1696 >>
-stream
-xڵMoF: M9.=P4AKE" oďv4j 5eY36<P,bqq}_X'p`/.v?p.uw-,8ca.$ann W'j$p1}<$c#pٴa+}BtyݗePvUݥ]}_dĄE Og_f?C۷4/ҫ";L01UWrTS9H1[XV -vLC*C섶1}ͺq!¡hκLn^emzm#e1\K모%Yq$KF
-t2G?q 3򮹹,7eYZi}f?} I}\1oZZD49o&1oZZDt4%vED4uG?_s4pC ; <46+/*zy1lֱDXZ@t?"؟_!/*򛲪 >$fG)>+~Y>VI'좕wr:ɹEK%Dd߭ru6]..7d#jٝ/\d6uiXv"/3S¿^J+]6C>ui҃ժrmH.[GZv5?I[esWl`
-"C<0)'}g9tM>*I)SMN&G܌9ڄ4!Ip X9?=os9@ KC8N9< d!lB^97~9LχL6?6:?-%ȡ [Д) V8~Wb eYeB .!eODശsYȮU6+)vI@ FYDxl#) z}~",dڀNrDk+zlu daJZ=eBh{2B80ISl jxf5ʹ(qZH̔9-#F8EsA'9Dl2!?VUS㴾'/"Q`T8]C K{ m`ENBp)qrJ
-U
-endstream
+11123 0 obj
+<< /D [ 11092 0 R /XYZ 81.077 447.038 null ] >>
endobj
11124 0 obj
-<< /Type /Page /Contents 11125 0 R /Resources 11123 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+<< /D [ 11092 0 R /XYZ 81.077 436.08 null ] >>
+endobj
+11125 0 obj
+<< /D [ 11092 0 R /XYZ 81.077 420.139 null ] >>
endobj
11126 0 obj
-<< /D [ 11124 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 409.18 null ] >>
endobj
11127 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 768.832 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 398.221 null ] >>
endobj
11128 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 757.873 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 387.263 null ] >>
endobj
11129 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 746.914 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 376.304 null ] >>
endobj
11130 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 735.955 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 365.345 null ] >>
endobj
11131 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 724.996 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 354.386 null ] >>
endobj
11132 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 714.037 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 338.446 null ] >>
endobj
11133 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 703.078 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 327.487 null ] >>
endobj
11134 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 692.119 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 316.528 null ] >>
endobj
11135 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 681.16 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 305.569 null ] >>
endobj
11136 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 670.202 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 294.61 null ] >>
endobj
11137 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 659.243 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 283.651 null ] >>
endobj
11138 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 648.284 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 267.711 null ] >>
endobj
11139 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 632.344 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 256.752 null ] >>
endobj
11140 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 621.385 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 245.793 null ] >>
endobj
11141 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 610.426 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 234.834 null ] >>
endobj
11142 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 599.467 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 223.875 null ] >>
endobj
11143 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 588.508 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 212.916 null ] >>
endobj
11144 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 577.549 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 201.957 null ] >>
endobj
11145 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 566.59 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 186.017 null ] >>
endobj
11146 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 555.631 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 175.058 null ] >>
endobj
11147 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 544.672 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 164.099 null ] >>
endobj
11148 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 533.713 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 153.141 null ] >>
endobj
11149 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 522.754 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 142.182 null ] >>
endobj
11150 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 511.796 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 131.223 null ] >>
endobj
11151 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 500.837 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 120.264 null ] >>
endobj
11152 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 484.896 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 104.324 null ] >>
endobj
11153 0 obj
-<< /D [ 11124 0 R /XYZ 81.077 473.938 null ] >>
+<< /D [ 11092 0 R /XYZ 81.077 93.365 null ] >>
endobj
11154 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 462.979 null ] >>
+<< /D [ 11092 0 R /XYZ 82.402 82.406 null ] >>
endobj
-11155 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 452.02 null ] >>
+11091 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-11156 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 441.061 null ] >>
+11158 0 obj
+<< /Filter /FlateDecode /Length 1666 >>
+stream
+xڽMoF: MdNh9Ma"LIqw3FhK3\μ/WbqN;x^:9=;y! E.Z]Ob!"IN.v?Bϳ_N+9R tAnt'4Ha)B4Aȟ"6yǗ~^ tFiNXeBψirnk1<t6VPio1߿?/?U]^~?:#IK NiҒ\ s^p.3P,O-`lǧ{F?? +f,myj=wcnd+(R/mvKv
+ERX)|!7Mry9`|w[M]~F&)x 7)0:Uu)xY`|Zev(]J0Y*tR5řo23I,>sR",BB9]uwMӼYYeC>>4?cc9+J N
+*y
+gS
+Jp4([-$"UHɫa k"L:NGMD
+g׼nwXbJC{ }78YH^ xfZ&inLazcuմSeyJ]~DfDe5`-sk5AU/6jHM< hoVUqw>,!mųXb7^[aI,m]5>|p>Grg/w(MW^]{l&h.%7~=ʮ+Ò:$=,dz: +&f_0 Wwr?ld
+ 'Z[^&@*q+~1΁t7dg#c-(ڃCc@!3x,CAf*FGCWOcB* b| 5J</H'dR
+42r ~tyf*FR'(ό`ԼhgD`lȚg .: Y.ͳ#rX۶|4e`S<HڢTVmg_|D۰%YO]؉[ͳX'25Xpȯ7'1_
+s@FBYO;^p+2
+ 2CcLi ¤fixލ_W*}N+R2<+FDE44Ut "= }&Xt,:&<z1L!68E=ފثqb5aG&%D3&(@"ofyavU_qL,rHX x_6п3PȥY x,Xu9
+'O/>(di9PY$8H'@=Fk8z3GsJSF;ם nRGEJCRKA66YIj̔Ԍ ǐR:0ȡ[ %uhȥ[!%uh63fWfp)p&uNq K`!r-2~g'~0
+endstream
endobj
11157 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 430.102 null ] >>
-endobj
-11158 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 419.143 null ] >>
+<< /Type /Page /Contents 11158 0 R /Resources 11156 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11155 0 R >>
endobj
11159 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 408.184 null ] >>
+<< /D [ 11157 0 R /XYZ 78.37 808.885 null ] >>
endobj
11160 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 397.225 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 768.832 null ] >>
endobj
11161 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 386.266 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 757.873 null ] >>
endobj
11162 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 375.307 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 746.914 null ] >>
endobj
11163 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 364.349 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 735.955 null ] >>
endobj
11164 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 353.39 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 724.996 null ] >>
endobj
11165 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 337.449 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 714.037 null ] >>
endobj
11166 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 326.49 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 703.078 null ] >>
endobj
11167 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 315.532 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 692.119 null ] >>
endobj
11168 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 304.573 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 681.16 null ] >>
endobj
11169 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 293.614 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 670.202 null ] >>
endobj
11170 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 282.655 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 659.243 null ] >>
endobj
11171 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 271.696 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 648.284 null ] >>
endobj
11172 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 260.737 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 632.344 null ] >>
endobj
11173 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 249.778 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 621.385 null ] >>
endobj
11174 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 238.819 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 610.426 null ] >>
endobj
11175 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 227.86 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 599.467 null ] >>
endobj
11176 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 216.901 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 588.508 null ] >>
endobj
11177 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 205.943 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 577.549 null ] >>
endobj
11178 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 194.984 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 566.59 null ] >>
endobj
11179 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 184.025 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 555.631 null ] >>
endobj
11180 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 168.085 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 544.672 null ] >>
endobj
11181 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 157.126 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 533.713 null ] >>
endobj
11182 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 146.167 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 522.754 null ] >>
endobj
11183 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 135.208 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 511.796 null ] >>
endobj
11184 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 124.249 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 500.837 null ] >>
endobj
11185 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 113.29 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 484.896 null ] >>
endobj
11186 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 102.331 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 473.938 null ] >>
endobj
11187 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 91.372 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 462.979 null ] >>
endobj
11188 0 obj
-<< /D [ 11124 0 R /XYZ 82.402 80.413 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 452.02 null ] >>
endobj
-11123 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+11189 0 obj
+<< /D [ 11157 0 R /XYZ 82.402 441.061 null ] >>
endobj
-11192 0 obj
-<< /Filter /FlateDecode /Length 1906 >>
-stream
-xڽKoF5;9
-ƭ]nf+?[fk90Ƣeyݬbs09w gKsXղm_+C*0萣9n1ݶ>nOo`dg=LIdB1g NB7o6U^urnyeWn>_;nNsɬ7kN _mI7%p 4֏H?\M}B4116.OJ1',ŬTi0җm}60èiuD(_ľm\bKph/.*Uߴ 8aLWڐ6.Q*˂4G i똈4-!|إbX:m_l.)u_Tbr7U59qZacrЧ/ĆtiZ;&#<u#zr͸,TxJm1_f=}ʐ z]!>*d8I!)uUֱ=R!!"d6^2mMgj}8+%:zL &ܘbLq Rn]gvsLJGw، 򨏢Ly
-+Idd U+01!!Ҧj5/ D&(#,S`dMg*{BF0u,K r~3<F]cԅHFB3-ŔO.jrݷkE}-+W
-#J Mg 3Wɱ2R#Q>ydWǦ`"d7:DA3mAH#5hr|tt)fMMk;46uV$8yʤS\`.ii`?l:jicRH&kV!1q.o8sLJ%"Zi*`ki+si
-oOk
- <?$_)qZ_ixC
-endstream
+11190 0 obj
+<< /D [ 11157 0 R /XYZ 82.402 430.102 null ] >>
endobj
11191 0 obj
-<< /Type /Page /Contents 11192 0 R /Resources 11190 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+<< /D [ 11157 0 R /XYZ 82.402 419.143 null ] >>
+endobj
+11192 0 obj
+<< /D [ 11157 0 R /XYZ 82.402 408.184 null ] >>
endobj
11193 0 obj
-<< /D [ 11191 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 397.225 null ] >>
endobj
11194 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 768.832 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 386.266 null ] >>
endobj
11195 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 757.873 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 375.307 null ] >>
endobj
11196 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 746.914 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 364.349 null ] >>
endobj
11197 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 735.955 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 353.39 null ] >>
endobj
11198 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 721.415 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 337.449 null ] >>
endobj
11199 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 710.456 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 326.49 null ] >>
endobj
11200 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 699.497 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 315.532 null ] >>
endobj
11201 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 688.538 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 304.573 null ] >>
endobj
11202 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 677.58 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 293.614 null ] >>
endobj
11203 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 666.621 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 282.655 null ] >>
endobj
11204 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 655.662 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 271.696 null ] >>
endobj
11205 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 644.703 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 260.737 null ] >>
endobj
11206 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 633.744 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 249.778 null ] >>
endobj
11207 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 622.785 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 238.819 null ] >>
endobj
11208 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 611.826 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 227.86 null ] >>
endobj
11209 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 600.867 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 216.901 null ] >>
endobj
11210 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 589.908 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 205.943 null ] >>
endobj
11211 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 578.949 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 194.984 null ] >>
endobj
11212 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 567.991 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 184.025 null ] >>
endobj
11213 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 557.032 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 168.085 null ] >>
endobj
11214 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 546.073 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 157.126 null ] >>
endobj
11215 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 535.114 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 146.167 null ] >>
endobj
11216 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 524.155 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 135.208 null ] >>
endobj
11217 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 513.196 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 124.249 null ] >>
endobj
11218 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 502.237 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 113.29 null ] >>
endobj
11219 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 487.697 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 102.331 null ] >>
endobj
11220 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 476.738 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 91.372 null ] >>
endobj
11221 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 465.779 null ] >>
+<< /D [ 11157 0 R /XYZ 82.402 80.413 null ] >>
endobj
-11222 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 454.821 null ] >>
-endobj
-11223 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 443.862 null ] >>
+11156 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
11224 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 432.903 null ] >>
+<< /Filter /FlateDecode /Length 1914 >>
+stream
+xڽKoF5;MqOMaP"BH w(YvX'[f泛++_./^jwB?31sy+fƍ]nf?[gycôYS| eP]ÐG)8\Fw4B]m>lW˶nYR C!wwէ^.܇mYso FvO:&<`J)l\(f42ns A(զji^ Yrxشt]Ý|}/tϹdsG _ƍJ{ҒJp$ 48`/a
+9B P ݙt$S q 2iLm0x[\ ı S4q0)Fp?uβIiI1A&d8X>ΔM Oˢ5Phxө L~I*ϔ#!g-q  rLPjbZth
+a<S!ls!g\KcȾzzإ?H dY)  l}Xr>Ǚ7-yόpK
+2&EU~Ғ $KJd U 8M[\Z͋C>ea
+\AS`PLe FoǨK4F]dx)4sPLIYEغZw]ݢ>oe=JHn a;IL
+yr+{dl! ~~(9:{# MmSHkMޜ%L<3/qGO'4q>ݴ=ĬiimbS<M2L"GsIO'ș!0wI1MLc0YĹtq,Jk%"z7Thi+@YO '8=bp$f䈡dM0=-&K+($'zKPKfHe)zGvu(<t(ӞF&ޏE 8E=W~eO9
+endstream
+endobj
+11223 0 obj
+<< /Type /Page /Contents 11224 0 R /Resources 11222 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11155 0 R >>
endobj
11225 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 421.944 null ] >>
+<< /D [ 11223 0 R /XYZ 78.37 808.885 null ] >>
endobj
11226 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 410.985 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 768.832 null ] >>
endobj
11227 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 400.026 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 757.873 null ] >>
endobj
11228 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 389.067 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 746.914 null ] >>
endobj
11229 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 378.108 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 735.955 null ] >>
endobj
11230 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 367.149 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 721.415 null ] >>
endobj
11231 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 356.19 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 710.456 null ] >>
endobj
11232 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 345.232 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 699.497 null ] >>
endobj
11233 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 334.273 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 688.538 null ] >>
endobj
11234 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 323.314 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 677.58 null ] >>
endobj
11235 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 312.355 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 666.621 null ] >>
endobj
11236 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 301.396 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 655.662 null ] >>
endobj
11237 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 290.437 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 644.703 null ] >>
endobj
11238 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 279.478 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 633.744 null ] >>
endobj
11239 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 264.938 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 622.785 null ] >>
endobj
11240 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 253.979 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 611.826 null ] >>
endobj
11241 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 243.021 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 600.867 null ] >>
endobj
11242 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 232.062 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 589.908 null ] >>
endobj
11243 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 221.103 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 578.949 null ] >>
endobj
11244 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 210.144 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 567.991 null ] >>
endobj
11245 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 199.185 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 557.032 null ] >>
endobj
11246 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 188.226 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 546.073 null ] >>
endobj
11247 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 177.267 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 535.114 null ] >>
endobj
11248 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 166.308 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 524.155 null ] >>
endobj
11249 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 155.349 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 513.196 null ] >>
endobj
11250 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 144.39 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 502.237 null ] >>
endobj
11251 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 133.431 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 487.697 null ] >>
endobj
11252 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 122.473 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 476.738 null ] >>
endobj
11253 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 111.514 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 465.779 null ] >>
endobj
11254 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 100.555 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 454.821 null ] >>
endobj
11255 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 89.596 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 443.862 null ] >>
endobj
11256 0 obj
-<< /D [ 11191 0 R /XYZ 82.402 78.637 null ] >>
-endobj
-11190 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 11223 0 R /XYZ 82.402 432.903 null ] >>
endobj
-11259 0 obj
-<< /Filter /FlateDecode /Length 1766 >>
-stream
-xڭ]o6+|9toɮ!Ud:CEGَIfi"cyCQdv=#g/췋7s>`4lv<KdFg,WfϜb.23 F)C5%#'Żwp}۶m3Mmݍ-~*WwǪkkb?hZ P| Z@)p&ctpn
-܅YpFIcyA04P-/Vv?X+I?%qK֗.0ٰsȩ„e\`<a94)Gk]}Os`nF>O1v73~<,-%)}sP~*VuzxEe$p{e1OKⶨ⪶i00
-g'?w?H~S#(hHqh䱝 ht$/u8L0A pHfXjbđ픤Y*_@'84vQmdC:=őh.k'W@ ő8qMHBI@v:ڗ}QT*N`;)Q@Cr$i} H %8f<I03piڦ, JǑ7nMpc@ɏ&wK]9mR<i Bzqz#yz|8F+ kjlH R’ z5f};w N
-(ǒ雁 F*qDȶZg#qzBhL$8P)cIZ2`]<%p)3MQ'0ך Re$w/@R/#yvj7(˔nL@;S.,T=yjfӽ56^뛹+e02QSjLNInv"d 909[~_A<Fp@ D#'Ϸ%7eoxr=og 7͙X:rDcđ8y zQ+𳜹Oc gc5K8)p3O)A
-endstream
+11257 0 obj
+<< /D [ 11223 0 R /XYZ 82.402 421.944 null ] >>
endobj
11258 0 obj
-<< /Type /Page /Contents 11259 0 R /Resources 11257 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+<< /D [ 11223 0 R /XYZ 82.402 410.985 null ] >>
+endobj
+11259 0 obj
+<< /D [ 11223 0 R /XYZ 82.402 400.026 null ] >>
endobj
11260 0 obj
-<< /D [ 11258 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 389.067 null ] >>
endobj
11261 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 768.832 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 378.108 null ] >>
endobj
11262 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 757.873 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 367.149 null ] >>
endobj
11263 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 746.914 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 356.19 null ] >>
endobj
11264 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 735.955 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 345.232 null ] >>
endobj
11265 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 724.996 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 334.273 null ] >>
endobj
11266 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 714.037 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 323.314 null ] >>
endobj
11267 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 703.078 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 312.355 null ] >>
endobj
11268 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 692.119 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 301.396 null ] >>
endobj
11269 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 681.16 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 290.437 null ] >>
endobj
11270 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 670.202 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 279.478 null ] >>
endobj
11271 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 659.243 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 264.938 null ] >>
endobj
11272 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 648.284 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 253.979 null ] >>
endobj
11273 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 637.325 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 243.021 null ] >>
endobj
11274 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 626.366 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 232.062 null ] >>
endobj
11275 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 615.407 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 221.103 null ] >>
endobj
11276 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 604.448 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 210.144 null ] >>
endobj
11277 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 593.489 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 199.185 null ] >>
endobj
11278 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 582.53 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 188.226 null ] >>
endobj
11279 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 571.571 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 177.267 null ] >>
endobj
11280 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 560.613 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 166.308 null ] >>
endobj
11281 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 549.654 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 155.349 null ] >>
endobj
11282 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 538.695 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 144.39 null ] >>
endobj
11283 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 527.736 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 133.431 null ] >>
endobj
11284 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 516.777 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 122.473 null ] >>
endobj
11285 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 505.818 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 111.514 null ] >>
endobj
11286 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 494.859 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 100.555 null ] >>
endobj
11287 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 483.9 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 89.596 null ] >>
endobj
11288 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 472.941 null ] >>
+<< /D [ 11223 0 R /XYZ 82.402 78.637 null ] >>
endobj
-11289 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 461.982 null ] >>
-endobj
-11290 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 451.023 null ] >>
+11222 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
11291 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 440.065 null ] >>
+<< /Filter /FlateDecode /Length 1767 >>
+stream
+xڭnF~
+Z(O~*-(t㮚¡E"AJfuqeI??̮fd<9?v~3PfDftf8XMgZQ WN)L{bo+;3`&Vo}Dxb5\]m۶gduݶkw]tc]?˱Zu}k$@ -/kL_*xn^TuL}90Ԉ
+>xR) pkR7){\ͅ7L.6,4Um=l7~&\uUη辧Q} ccwڋ:"Y֜!
+R7rMۺin[_]毴NtP*oʺ)/vSc[Dܯ[bGj4b xH\#O94umٻ'"Inf,/XWۮ޿MߢW)+XSQeU/x#t5H,/-uSW芶\K̂!cp\KjU}D HayUYݍ˰B4((pDOkbX+.qVESoJZJ
+ydj&c>`Duvi:43n
+_Ƣ 71$RXOf ,8v'򣟦A@DCs"O'`Y:W]zfև8$'j3Ly5@Hp$NU$ƾ,Z?P""$ljgfmh &OPr~ ~p,N䇉mFJ
+X=w,Ѯ$܍f;l.Rq*3IJNȃ 8'Wd(0'qNHL ԓ8&4ms%Ațȗ7& Ճn"?ܭz紉d HpM |S8&+цI '~fؐ A67r,v,2)OyڵLy%AhphMݽ7~nVP댌MN)Jr
+Dv)yizq_̻m-3 p"__-vcUL +ڀQzD޻vәzb2|HVFFp
+(Sx@
+WSɀ=ܸ-\1}uër G=N(ahVp_h [V7VG݃{֜Ӝ5|#M1H<s
+endstream
+endobj
+11290 0 obj
+<< /Type /Page /Contents 11291 0 R /Resources 11289 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11155 0 R >>
endobj
11292 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 429.106 null ] >>
+<< /D [ 11290 0 R /XYZ 78.37 808.885 null ] >>
endobj
11293 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 418.147 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 768.832 null ] >>
endobj
11294 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 407.188 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 757.873 null ] >>
endobj
11295 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 396.229 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 746.914 null ] >>
endobj
11296 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 385.27 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 735.955 null ] >>
endobj
11297 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 374.311 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 724.996 null ] >>
endobj
11298 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 363.352 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 714.037 null ] >>
endobj
11299 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 352.393 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 703.078 null ] >>
endobj
11300 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 341.434 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 692.119 null ] >>
endobj
11301 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 330.476 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 681.16 null ] >>
endobj
11302 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 319.517 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 670.202 null ] >>
endobj
11303 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 308.558 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 659.243 null ] >>
endobj
11304 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 297.599 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 648.284 null ] >>
endobj
11305 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 286.64 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 637.325 null ] >>
endobj
11306 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 275.681 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 626.366 null ] >>
endobj
11307 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 264.722 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 615.407 null ] >>
endobj
11308 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 253.763 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 604.448 null ] >>
endobj
11309 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 242.804 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 593.489 null ] >>
endobj
11310 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 231.845 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 582.53 null ] >>
endobj
11311 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 220.887 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 571.571 null ] >>
endobj
11312 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 209.928 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 560.613 null ] >>
endobj
11313 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 198.969 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 549.654 null ] >>
endobj
11314 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 188.01 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 538.695 null ] >>
endobj
11315 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 177.051 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 527.736 null ] >>
endobj
11316 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 137.2 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 516.777 null ] >>
endobj
11317 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 126.241 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 505.818 null ] >>
endobj
11318 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 115.283 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 494.859 null ] >>
endobj
11319 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 104.324 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 483.9 null ] >>
endobj
11320 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 93.365 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 472.941 null ] >>
endobj
11321 0 obj
-<< /D [ 11258 0 R /XYZ 82.402 82.406 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 461.982 null ] >>
endobj
-11257 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-11324 0 obj
-<< /Filter /FlateDecode /Length 1744 >>
-stream
-xڭMoF:6n#@@{rOMaP"BI1wVn"g=&$G;wfh_ЇD#I,|v`!:c3+3lf4#Tf%L<w,qZ ?0!7oԟꦭ筿Ǜq'MȞR041,ƈ*E0)bp ʿsK18%$_1}=hv~j~X^foh^fo+py/> Tu8T^o~n D V!] qS}t"Hԋ)imq[/|5里Tmi(ň47'P]*c,8TLx#JE4 GWjCDlęj T-E48sLg<iM73L֥ˣ"وL㔭$¹o
-~D$=8]pN M< 笙|/~?-
-:}18Źl&Y{$(ҚHsL>`$U#sL>Z?n5z?~x'qud?$ߎx+\30
-%{pgS KIFcHJH$ L\nlc.n\n ' [$UT]pc+MJa&/T9p0vp!EW3d\j$;\jTULy ; \QN#  1\AG!U'X74+Ld~}(13a?f /0@C{XF<sP7PN8~  @6 G= kvؒjBnm8%t]?%c14W\_ޟEb
-P=Y牸t~9d!<&1MY ,~Iן_e  =/x̓%}60E0sp> I_eHBቍoo6 oW_>v]Cqxdx5
-y`%'B4mG53<<rtw Omg+Pa2$˶{=F&7~wZ^s
-,p[&?]:]ބ;7=`pkR[iۮ򅀖 [<kR&6zJ_(S`d uH{ʹ]_ D
-endstream
+11322 0 obj
+<< /D [ 11290 0 R /XYZ 82.402 451.023 null ] >>
endobj
11323 0 obj
-<< /Type /Page /Contents 11324 0 R /Resources 11322 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+<< /D [ 11290 0 R /XYZ 82.402 440.065 null ] >>
+endobj
+11324 0 obj
+<< /D [ 11290 0 R /XYZ 82.402 429.106 null ] >>
endobj
11325 0 obj
-<< /D [ 11323 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 418.147 null ] >>
endobj
11326 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 768.832 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 407.188 null ] >>
endobj
11327 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 757.873 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 396.229 null ] >>
endobj
11328 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 746.914 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 385.27 null ] >>
endobj
11329 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 735.955 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 374.311 null ] >>
endobj
11330 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 724.996 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 363.352 null ] >>
endobj
11331 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 714.037 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 352.393 null ] >>
endobj
11332 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 703.078 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 341.434 null ] >>
endobj
11333 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 692.119 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 330.476 null ] >>
endobj
11334 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 681.16 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 319.517 null ] >>
endobj
11335 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 670.202 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 308.558 null ] >>
endobj
11336 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 659.243 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 297.599 null ] >>
endobj
11337 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 648.284 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 286.64 null ] >>
endobj
11338 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 637.325 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 275.681 null ] >>
endobj
11339 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 626.366 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 264.722 null ] >>
endobj
11340 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 615.407 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 253.763 null ] >>
endobj
11341 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 604.448 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 242.804 null ] >>
endobj
11342 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 593.489 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 231.845 null ] >>
endobj
11343 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 582.53 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 220.887 null ] >>
endobj
11344 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 571.571 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 209.928 null ] >>
endobj
11345 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 560.613 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 198.969 null ] >>
endobj
11346 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 549.654 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 188.01 null ] >>
endobj
11347 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 538.695 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 177.051 null ] >>
endobj
11348 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 527.736 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 137.2 null ] >>
endobj
11349 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 516.777 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 126.241 null ] >>
endobj
11350 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 505.818 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 115.283 null ] >>
endobj
11351 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 494.859 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 104.324 null ] >>
endobj
11352 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 483.9 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 93.365 null ] >>
endobj
11353 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 472.941 null ] >>
+<< /D [ 11290 0 R /XYZ 82.402 82.406 null ] >>
endobj
-11354 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 461.982 null ] >>
-endobj
-11355 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 451.023 null ] >>
+11289 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
11356 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 440.065 null ] >>
+<< /Filter /FlateDecode /Length 1748 >>
+stream
+xڭMoF:6n#@@{rOMaP"BI1wVn"g=&$G;wfh_ЇD#I,|v`!:c3+3lf4#Tf%̚<w,qZ ?0!7oԟꦭ筿Ǜq'MȞR0#1,ƈ*E0)bp ʿsK%$_1}=hv~j~X^foh^fopy/> Tu8T^o~n D V!] /qS}t"Hԋ)9mq[/|5里Tmi(ň4q3yu)٥>Ƣ9I o;TGWjCDGgęj T-<8Oxϣ&ژȃ3L֥ˣ"وL㔭$¹o
+L&9L#i/aimr(AؓڳIpAR$j/>c=MO\XH W8DǕL^YssB?}
+@"T:(pu0Au?LƩJ%&V!<]A(a, +<É~\ !+H/ #%eLd~}(13a?f /0@C{XF<sP7PN8~  @]zϯ?g0X4+ƖTwcoC_B#+,Q<:z@C }`~Y$
+;MgCV *
+&S2$js+-c qK&Oօ% ?hێ&kkf2yx#l6
+endstream
+endobj
+11355 0 obj
+<< /Type /Page /Contents 11356 0 R /Resources 11354 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11155 0 R >>
endobj
11357 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 429.106 null ] >>
+<< /D [ 11355 0 R /XYZ 78.37 808.885 null ] >>
endobj
11358 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 418.147 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 768.832 null ] >>
endobj
11359 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 407.188 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 757.873 null ] >>
endobj
11360 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 396.229 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 746.914 null ] >>
endobj
11361 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 385.27 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 735.955 null ] >>
endobj
11362 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 374.311 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 724.996 null ] >>
endobj
11363 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 363.352 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 714.037 null ] >>
endobj
11364 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 352.393 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 703.078 null ] >>
endobj
11365 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 341.434 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 692.119 null ] >>
endobj
11366 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 330.476 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 681.16 null ] >>
endobj
11367 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 319.517 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 670.202 null ] >>
endobj
11368 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 308.558 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 659.243 null ] >>
endobj
11369 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 297.599 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 648.284 null ] >>
endobj
11370 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 286.64 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 637.325 null ] >>
endobj
11371 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 275.681 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 626.366 null ] >>
endobj
11372 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 264.722 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 615.407 null ] >>
endobj
11373 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 253.763 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 604.448 null ] >>
endobj
11374 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 242.804 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 593.489 null ] >>
endobj
11375 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 231.845 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 582.53 null ] >>
endobj
11376 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 220.887 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 571.571 null ] >>
endobj
11377 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 209.928 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 560.613 null ] >>
endobj
11378 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 198.969 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 549.654 null ] >>
endobj
11379 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 155.349 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 538.695 null ] >>
endobj
11380 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 144.39 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 527.736 null ] >>
endobj
11381 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 133.431 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 516.777 null ] >>
endobj
11382 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 122.473 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 505.818 null ] >>
endobj
11383 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 111.514 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 494.859 null ] >>
endobj
11384 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 100.555 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 483.9 null ] >>
endobj
11385 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 89.596 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 472.941 null ] >>
endobj
11386 0 obj
-<< /D [ 11323 0 R /XYZ 82.402 78.637 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 461.982 null ] >>
endobj
-11322 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-11389 0 obj
-<< /Filter /FlateDecode /Length 1525 >>
-stream
-xڥMoF: PN{9
-JǥXwW<<I(-_YÁZVLOO)WJcKi9H1~A?*8₁%{?W_6q?f5\}SSC5?1M_+6m_S1IpXuWDO-Po23˜X^ʧ}t”$1!@xQ)-|׾mXվ94SF(+A&-SB'Y2v1LdWҤxgˣ9( (-QnCFƣ$?Ckq*#J:
-NLgy6#w7I.ŸU0 FFInd. 'iExXf`4XbXLwǜ$VMM)N FcQz`Ѕa!#T9y^|MCUtaQS4"!o!;dP(<E0p2TS4#rZCtqX IKQMETsQw&^;*k8)u_f \oSz57V x!jZs2) B'9T
-eԚy24"<JRLFMS*_%SY{Ed񮛪oI4MOXu[͈d-2LӔ:dLH>&Ӕ|L֠͜]5ͩNmmspJbfVov)OF)Є,*34"|ͽ"UQfT~<z*aiSqΑ,<V34"uáp%8fh~EП'/a8}fhEpjx~Ixڜ_k??id"lz ~_TPE+~I*|i`T W?"C$+Y>ƆqкaJ͘BR' h/І#e "<\!&c3oߝo BI>_~|WS5\6:]Һ!q e̎pdiM(N! /92!KkYoTwr|d%}fG./ٟ쁌/Bg.Շׇ: Oﻮ{[h_}nyyWSu9հ<@edSQ@V.o08KciEx4' GY|``L/6_p MJ2)-_ÐSú/q|້p|P:-!|YX\nv*j:oۦm獟9CheGkY_AGO|lEF=;NLJ THr !6܃W"^D
-endstream
+11387 0 obj
+<< /D [ 11355 0 R /XYZ 82.402 451.023 null ] >>
endobj
11388 0 obj
-<< /Type /Page /Contents 11389 0 R /Resources 11387 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+<< /D [ 11355 0 R /XYZ 82.402 440.065 null ] >>
+endobj
+11389 0 obj
+<< /D [ 11355 0 R /XYZ 82.402 429.106 null ] >>
endobj
11390 0 obj
-<< /D [ 11388 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 418.147 null ] >>
endobj
11391 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 768.832 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 407.188 null ] >>
endobj
11392 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 757.873 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 396.229 null ] >>
endobj
11393 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 746.914 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 385.27 null ] >>
endobj
11394 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 735.955 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 374.311 null ] >>
endobj
11395 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 724.996 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 363.352 null ] >>
endobj
11396 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 714.037 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 352.393 null ] >>
endobj
11397 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 703.078 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 341.434 null ] >>
endobj
11398 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 692.119 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 330.476 null ] >>
endobj
11399 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 681.16 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 319.517 null ] >>
endobj
11400 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 670.202 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 308.558 null ] >>
endobj
11401 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 659.243 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 297.599 null ] >>
endobj
11402 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 648.284 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 286.64 null ] >>
endobj
11403 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 637.325 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 275.681 null ] >>
endobj
11404 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 626.366 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 264.722 null ] >>
endobj
11405 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 615.407 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 253.763 null ] >>
endobj
11406 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 604.448 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 242.804 null ] >>
endobj
11407 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 593.489 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 231.845 null ] >>
endobj
11408 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 582.53 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 220.887 null ] >>
endobj
11409 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 571.571 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 209.928 null ] >>
endobj
11410 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 560.613 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 198.969 null ] >>
endobj
11411 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 549.654 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 155.349 null ] >>
endobj
11412 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 538.695 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 144.39 null ] >>
endobj
11413 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 527.736 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 133.431 null ] >>
endobj
11414 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 516.777 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 122.473 null ] >>
endobj
11415 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 505.818 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 111.514 null ] >>
endobj
11416 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 494.859 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 100.555 null ] >>
endobj
11417 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 483.9 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 89.596 null ] >>
endobj
11418 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 472.941 null ] >>
+<< /D [ 11355 0 R /XYZ 82.402 78.637 null ] >>
endobj
-11419 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 461.982 null ] >>
-endobj
-11420 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 451.023 null ] >>
+11354 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R /F20 186 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
11421 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 440.065 null ] >>
+<< /Filter /FlateDecode /Length 1526 >>
+stream
+xڥMoF: PN#@SSP@Rq]Jw'1h^/Jb[}bA/?ů~zʕb+r+k80Wׇ?8ʽϧ'{ot99)4ƿ^Ьkf*``>iuO~!fM7q_l~؆!yS^hysuo>уܩӂx}8aq "@(aL*/is|]m@OalJH))(HSyM+жx7Z94SA(+Af -SFgY
+v1LӖ&dz8S,^Ad@hr|oCU0Pa<3?Ckq6}[Gx: Lo ]A@7C.Ÿu0 F&nM34"<Gtc-Pv,w) MINncIfW&~ql}A#$=CS07a T򜡙!S—i.ޒ<sw]?9ms: ȄG0pp%Y~RmM!fj8cv4"ghnywT2 /hY`.ċtGe p<K.]a BmN?F
+O4"!D&8/֒LJB<L4"dJ'Yg^>.)ALf4"|JRFGS*_$S=^q4"=ktKA@/G($96l "Y '9RՇQd]_3K9ݩm}KR)0"Y̊ r)"%]P^pPBeIe&T wWs*Mx !Lsd]/bjWiXU|-I>4"|8a<~Lyڇy<ϯ4FQ{27?ٯ oY_xBїX̱yO SJ>^%9꟭$y\ (G16N sz<m&vh}="\!&S/ߜo BxZC%ȸ)t8Cqԅ<"
+](]ւhM(N! jC fٿRݷa\ez#H2NzGNjd1~2 Tۛ8<u~Su濚MקqR쒶p9N~YZli`Y9O$)_>0\g/d |&J%Yf/7qPq`B܌aݗLl }wDWJ<>(m:—%mT?Wަ|}=7]Ӷ:ma҈efeZBRsu{^X̡mgOLN TH jyB,m<GQQE7
+endstream
+endobj
+11420 0 obj
+<< /Type /Page /Contents 11421 0 R /Resources 11419 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11155 0 R >>
endobj
11422 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 429.106 null ] >>
+<< /D [ 11420 0 R /XYZ 78.37 808.885 null ] >>
endobj
11423 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 418.147 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 768.832 null ] >>
endobj
11424 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 407.188 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 757.873 null ] >>
endobj
11425 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 396.229 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 746.914 null ] >>
endobj
11426 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 385.27 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 735.955 null ] >>
endobj
11427 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 374.311 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 724.996 null ] >>
endobj
11428 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 363.352 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 714.037 null ] >>
endobj
11429 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 352.393 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 703.078 null ] >>
endobj
11430 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 341.434 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 692.119 null ] >>
endobj
11431 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 330.476 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 681.16 null ] >>
endobj
11432 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 319.517 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 670.202 null ] >>
endobj
11433 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 308.558 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 659.243 null ] >>
endobj
11434 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 297.599 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 648.284 null ] >>
endobj
11435 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 286.64 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 637.325 null ] >>
endobj
11436 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 275.681 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 626.366 null ] >>
endobj
11437 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 264.722 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 615.407 null ] >>
endobj
11438 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 253.763 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 604.448 null ] >>
endobj
11439 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 242.804 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 593.489 null ] >>
endobj
11440 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 231.845 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 582.53 null ] >>
endobj
11441 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 220.887 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 571.571 null ] >>
endobj
11442 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 209.928 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 560.613 null ] >>
endobj
11443 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 198.969 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 549.654 null ] >>
endobj
11444 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 188.01 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 538.695 null ] >>
endobj
11445 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 174.062 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 527.736 null ] >>
endobj
11446 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 163.103 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 516.777 null ] >>
endobj
11447 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 152.144 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 505.818 null ] >>
endobj
11448 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 141.185 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 494.859 null ] >>
endobj
11449 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 130.226 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 483.9 null ] >>
endobj
11450 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 119.268 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 472.941 null ] >>
endobj
11451 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 108.309 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 461.982 null ] >>
endobj
11452 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 97.35 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 451.023 null ] >>
endobj
11453 0 obj
-<< /D [ 11388 0 R /XYZ 82.402 86.391 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 440.065 null ] >>
endobj
-11387 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-11456 0 obj
-<< /Filter /FlateDecode /Length 1732 >>
-stream
-xڥ]o+|~\hw^f-ZfbaeɐwddM29 $laoطov{Zn8˥p#+|Sa8V~<Om,8cM\0Gv~ۅp?WY/;6m .2aFK 3*o*SնߦAd4T0N}
-HXVE CJۂ!t _§BD
-KH =q$cxG
-ۡ/
-r/ Ry vPu j 2a4D ]X
-RJFsFy8/hkfÙvs 8h/Xݷ4WZGSs4xᩀ[.l&|vhs΀9fr\dim5Fgr$9zjw
-N1[v-\o Д# fu %
-RJ0&nl&?>_ZDz!fl3T$C f1L̕G1M86:Yo&\(+ fq8W`M:AL>j2÷ b! La~q|!1{3H㋤@Թd[r SHwڑÛ:R ]ֹ̄:ZL~+ڀ df{\48{I|k,
-}Ab%3h?+V3f=U.
-{Lv".Ymwvkw;{QWR
-aL1y9MawpZJNݮq'B1~0~hU\&VSX~i|< mOKX?o9Ye88-8yZ.[Lf5h+T_8_vQ-@LNWWL}fW#mIw;<8!2/O<,So'uM$UBaCX_GuTB{g>{Yלּ*dO[քu9B\ g&S`-cXHʍAuW 
-endstream
+11454 0 obj
+<< /D [ 11420 0 R /XYZ 82.402 429.106 null ] >>
endobj
11455 0 obj
-<< /Type /Page /Contents 11456 0 R /Resources 11454 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+<< /D [ 11420 0 R /XYZ 82.402 418.147 null ] >>
+endobj
+11456 0 obj
+<< /D [ 11420 0 R /XYZ 82.402 407.188 null ] >>
endobj
11457 0 obj
-<< /D [ 11455 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 396.229 null ] >>
endobj
11458 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 768.832 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 385.27 null ] >>
endobj
11459 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 757.873 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 374.311 null ] >>
endobj
11460 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 746.914 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 363.352 null ] >>
endobj
11461 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 735.955 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 352.393 null ] >>
endobj
11462 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 724.996 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 341.434 null ] >>
endobj
11463 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 714.037 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 330.476 null ] >>
endobj
11464 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 703.078 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 319.517 null ] >>
endobj
11465 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 692.119 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 308.558 null ] >>
endobj
11466 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 681.16 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 297.599 null ] >>
endobj
11467 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 670.202 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 286.64 null ] >>
endobj
11468 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 659.243 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 275.681 null ] >>
endobj
11469 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 648.284 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 264.722 null ] >>
endobj
11470 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 637.325 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 253.763 null ] >>
endobj
11471 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 626.366 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 242.804 null ] >>
endobj
11472 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 615.407 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 231.845 null ] >>
endobj
11473 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 604.448 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 220.887 null ] >>
endobj
11474 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 593.489 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 209.928 null ] >>
endobj
11475 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 582.53 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 198.969 null ] >>
endobj
11476 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 571.571 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 188.01 null ] >>
endobj
11477 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 560.613 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 174.062 null ] >>
endobj
11478 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 549.654 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 163.103 null ] >>
endobj
11479 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 538.695 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 152.144 null ] >>
endobj
11480 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 527.736 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 141.185 null ] >>
endobj
11481 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 516.777 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 130.226 null ] >>
endobj
11482 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 505.818 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 119.268 null ] >>
endobj
11483 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 494.859 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 108.309 null ] >>
endobj
11484 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 483.9 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 97.35 null ] >>
endobj
11485 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 472.941 null ] >>
+<< /D [ 11420 0 R /XYZ 82.402 86.391 null ] >>
endobj
-11486 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 461.982 null ] >>
-endobj
-11487 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 451.023 null ] >>
+11419 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
11488 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 440.065 null ] >>
+<< /Filter /FlateDecode /Length 1729 >>
+stream
+xڥo6Wikob{˰-ӶPY2$91LNSA䘇6k;tYŧ7/7>ĖL[XF3B5[aT0?=Gm%Z2V3N6n]ݸe/4LghNoҏu5u2{?]E(a7PmlވIXv{]/ +e0$qb2#<3s+\Xtogp s+|xmԄ>Wn?]aDHL8MS {Wbٍc+zW "dq"ud%#UD
+kE‚ț3JS;NʒH&q(MHkW~a"ma5n/ I4HPcuI5JUR⸚nVpw4m|#aMJy6ny{hz}*V]εtGD]
+D߬{UcYΉs
+Ds1bd
+8ݱX=TbN-PPEą
+h$(|LkU}&f"
+endstream
+endobj
+11487 0 obj
+<< /Type /Page /Contents 11488 0 R /Resources 11486 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11155 0 R >>
endobj
11489 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 429.106 null ] >>
+<< /D [ 11487 0 R /XYZ 78.37 808.885 null ] >>
endobj
11490 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 418.147 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 768.832 null ] >>
endobj
11491 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 407.188 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 757.873 null ] >>
endobj
11492 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 396.229 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 746.914 null ] >>
endobj
11493 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 385.27 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 735.955 null ] >>
endobj
11494 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 374.311 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 724.996 null ] >>
endobj
11495 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 363.352 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 714.037 null ] >>
endobj
11496 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 352.393 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 703.078 null ] >>
endobj
11497 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 341.434 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 692.119 null ] >>
endobj
11498 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 330.476 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 681.16 null ] >>
endobj
11499 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 319.517 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 670.202 null ] >>
endobj
11500 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 308.558 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 659.243 null ] >>
endobj
11501 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 297.599 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 648.284 null ] >>
endobj
11502 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 286.64 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 637.325 null ] >>
endobj
11503 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 275.681 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 626.366 null ] >>
endobj
11504 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 264.722 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 615.407 null ] >>
endobj
11505 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 253.763 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 604.448 null ] >>
endobj
11506 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 242.804 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 593.489 null ] >>
endobj
11507 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 231.845 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 582.53 null ] >>
endobj
11508 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 220.887 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 571.571 null ] >>
endobj
11509 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 209.928 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 560.613 null ] >>
endobj
11510 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 198.969 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 549.654 null ] >>
endobj
11511 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 188.01 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 538.695 null ] >>
endobj
11512 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 177.051 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 527.736 null ] >>
endobj
11513 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 161.111 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 516.777 null ] >>
endobj
11514 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 150.152 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 505.818 null ] >>
endobj
11515 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 139.193 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 494.859 null ] >>
endobj
11516 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 128.234 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 483.9 null ] >>
endobj
11517 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 117.275 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 472.941 null ] >>
endobj
11518 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 106.316 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 461.982 null ] >>
endobj
11519 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 95.357 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 451.023 null ] >>
endobj
11520 0 obj
-<< /D [ 11455 0 R /XYZ 82.402 84.398 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 440.065 null ] >>
endobj
-11454 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-11523 0 obj
-<< /Filter /FlateDecode /Length 1049 >>
-stream
-xڝXnF}W l~"('(P'zHe$"Ů`xK]\U<zD<3sfU|Eb8
-&&o820͖n4CFLI$l`g}{X@L##%c4)fRO;kiĹJ!;yk7*vo[{5忟3:<H#j04>{FbHI4*N?YJCsU^.7QU]m[l/]Mee> "EeY*x
-ܳv/|UwK߭@Uc]\n{gGscAz#2 FE
-'
-cpaGpp,2'dg߽]]olhCJ#*r |(4u}ReCN^Srٳxq  Rjı˂c zt5*A}CE9uU7[_XR#L1\Oi\m]b;L $?\o4'qB#ft
-_T] r bHqŇ
-NV%8<DKPUs7u/H"µHX4NEz\_4 Z |u͋yvNwv!18~#0~ȸe_UNn){T4lM)N2φ͢ o
-xԈ(( (o 6R4-1so
-endstream
+11521 0 obj
+<< /D [ 11487 0 R /XYZ 82.402 429.106 null ] >>
endobj
11522 0 obj
-<< /Type /Page /Contents 11523 0 R /Resources 11521 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R >>
+<< /D [ 11487 0 R /XYZ 82.402 418.147 null ] >>
+endobj
+11523 0 obj
+<< /D [ 11487 0 R /XYZ 82.402 407.188 null ] >>
endobj
11524 0 obj
-<< /D [ 11522 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 396.229 null ] >>
endobj
11525 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 768.832 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 385.27 null ] >>
endobj
11526 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 757.873 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 374.311 null ] >>
endobj
11527 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 746.914 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 363.352 null ] >>
endobj
11528 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 735.955 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 352.393 null ] >>
endobj
11529 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 724.996 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 341.434 null ] >>
endobj
11530 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 714.037 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 330.476 null ] >>
endobj
11531 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 703.078 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 319.517 null ] >>
endobj
11532 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 692.119 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 308.558 null ] >>
endobj
11533 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 676.179 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 297.599 null ] >>
endobj
11534 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 665.22 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 286.64 null ] >>
endobj
11535 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 654.261 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 275.681 null ] >>
endobj
11536 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 643.302 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 264.722 null ] >>
endobj
11537 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 632.344 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 253.763 null ] >>
endobj
11538 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 621.385 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 242.804 null ] >>
endobj
11539 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 605.444 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 231.845 null ] >>
endobj
11540 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 594.486 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 220.887 null ] >>
endobj
11541 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 583.527 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 209.928 null ] >>
endobj
11542 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 572.568 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 198.969 null ] >>
endobj
11543 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 561.609 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 188.01 null ] >>
endobj
11544 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 550.65 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 177.051 null ] >>
endobj
11545 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 534.71 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 161.111 null ] >>
endobj
11546 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 523.751 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 150.152 null ] >>
endobj
11547 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 512.792 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 139.193 null ] >>
endobj
11548 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 501.833 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 128.234 null ] >>
endobj
11549 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 490.874 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 117.275 null ] >>
endobj
11550 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 479.915 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 106.316 null ] >>
endobj
11551 0 obj
-<< /D [ 11522 0 R /XYZ 82.402 468.956 null ] >>
+<< /D [ 11487 0 R /XYZ 82.402 95.357 null ] >>
endobj
-11521 0 obj
+11552 0 obj
+<< /D [ 11487 0 R /XYZ 82.402 84.398 null ] >>
+endobj
+11486 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F69 183 0 R /F74 264 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+11555 0 obj
+<< /Filter /FlateDecode /Length 1050 >>
+stream
+xڝXnF}W l~"('(P'zHe$"Ů`xK]\U<zD<3sfep?\>x{XƑфl &L3dɔ$KMW3_=a3LфbIloy"*|#wmL_Tl_7Ϣk?vgDuxF`D1O!h=|v:#iTR)Ç3窼\L$ݻ|m۶X6_&tg|LD8(@Ucy_l;[Y_/[;v}S,O5"Ge AN)O5,
+!߇}b4Q)$-AXhPDÐG$6<H8Jh K1|*eUvÛ1 9M|aA3aj\Cq>݌9yZhɺ;lPZ"ET HB Dj lRHϫrv;#ec>6vaL1=8C[,xݽ ۍK_:jpU
+NV 8<DsPUѧs׳uϭH"µHX4NEz_Q Z |U͊YN{v!18FFv gܢV'=Yb*6Ѧ l'fц`QtE<LjD? JLfJ~7 a}PӋ
+endstream
+endobj
+11554 0 obj
+<< /Type /Page /Contents 11555 0 R /Resources 11553 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11155 0 R >>
+endobj
+11556 0 obj
+<< /D [ 11554 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+11557 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 768.832 null ] >>
+endobj
+11558 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 757.873 null ] >>
+endobj
+11559 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 746.914 null ] >>
+endobj
+11560 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 735.955 null ] >>
+endobj
+11561 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 724.996 null ] >>
+endobj
+11562 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 714.037 null ] >>
+endobj
+11563 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 703.078 null ] >>
+endobj
+11564 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 692.119 null ] >>
+endobj
+11565 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 676.179 null ] >>
+endobj
+11566 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 665.22 null ] >>
+endobj
+11567 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 654.261 null ] >>
+endobj
+11568 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 643.302 null ] >>
+endobj
+11569 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 632.344 null ] >>
+endobj
+11570 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 621.385 null ] >>
+endobj
+11571 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 605.444 null ] >>
+endobj
+11572 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 594.486 null ] >>
+endobj
+11573 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 583.527 null ] >>
+endobj
+11574 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 572.568 null ] >>
+endobj
+11575 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 561.609 null ] >>
+endobj
+11576 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 550.65 null ] >>
+endobj
+11577 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 534.71 null ] >>
+endobj
+11578 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 523.751 null ] >>
+endobj
+11579 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 512.792 null ] >>
+endobj
+11580 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 501.833 null ] >>
+endobj
+11581 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 490.874 null ] >>
+endobj
+11582 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 479.915 null ] >>
+endobj
+11583 0 obj
+<< /D [ 11554 0 R /XYZ 82.402 468.956 null ] >>
+endobj
+11553 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 189 0 R /F74 264 0 R /F69 183 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-11585 0 obj
+11617 0 obj
<< /Filter /FlateDecode /Length 1225 >>
stream
-xڝo6W/Ivah=tEfHtv>J$eIvOiwqr)I!I67g` $B4MR.K!VWu2=m>g%J(D(%I9(Wot^fMf
-Joi>;[Uۣ_n:mO 0!Sp-ă)̚WO[z"ƩN 2 [꫺,unֻs_{,aSY+yg]UY՟0eU1Aœ-s6yAxSS-"2w!?LvA\F& 1&b!K'`DpS7C!)Yu[zEԉZwP\PDt{kA%:{3 Gw_Nh_X7,v28vPP\U k"(RęI
-#0@k,]DaaG_-1
+xڝo6WO1In6 XL"TNG,ɎI6-x_4Nn;y9{VLdss@"2<ELB%jMae{7}xJLqDA IsP̚V9M骾qOs݇,~nBVm~i*l=]040piCB1bA0kJV_=n͢Z2lqԹ)[} cNfJwUgV”UEDhQspgw6nv*N%(s[D0=d^vC ~zo>Mb,8rD@=rMxFyĆ<jldm>kQ'jIAqAQۓνAXqZ B8^}ofXۻ`5މ]<<"Mk sFŮ}ZfsP
+1j˺غ
+ėr|MqD0Gphj$?褉6WH_2x}!r,+s3luob]Ysax <I<6;9m}ݹy]w2XKVFI";3_&혭
+ӺMSo9' cR
+)=Zߠ\=~z5B ?c*.i*⾞7{Ɲ!*J\NTB L}y"׶N6Ѷ6&Ҳ.LviqCe AtYnnv"@G'r
endstream
endobj
-11584 0 obj
-<< /Type /Page /Contents 11585 0 R /Resources 11583 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R /Annots 11587 0 R >>
+11616 0 obj
+<< /Type /Page /Contents 11617 0 R /Resources 11615 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11155 0 R /Annots 11619 0 R >>
endobj
-11587 0 obj
-[ 11552 0 R 11553 0 R 11554 0 R 11555 0 R 11556 0 R 11557 0 R 11558 0 R 11559 0 R 11560 0 R 11561 0 R 11562 0 R 11563 0 R 11564 0 R 11565 0 R 11566 0 R 11567 0 R 11568 0 R 11569 0 R 11570 0 R 11571 0 R 11572 0 R 11573 0 R 11574 0 R 11575 0 R 11576 0 R 11577 0 R 11578 0 R 11579 0 R 11580 0 R 11581 0 R ]
+11619 0 obj
+[ 11584 0 R 11585 0 R 11586 0 R 11587 0 R 11588 0 R 11589 0 R 11590 0 R 11591 0 R 11592 0 R 11593 0 R 11594 0 R 11595 0 R 11596 0 R 11597 0 R 11598 0 R 11599 0 R 11600 0 R 11601 0 R 11602 0 R 11603 0 R 11604 0 R 11605 0 R 11606 0 R 11607 0 R 11608 0 R 11609 0 R 11610 0 R 11611 0 R 11612 0 R 11613 0 R ]
endobj
-11552 0 obj
+11584 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 713.79 345.275 724.684 ]/A << /S /GoTo /D (section.0.1) >> >>
endobj
-11553 0 obj
+11585 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 691.872 168.931 702.766 ]/A << /S /GoTo /D (section.0.2) >> >>
endobj
-11554 0 obj
+11586 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 669.954 195.879 680.848 ]/A << /S /GoTo /D (section.0.3) >> >>
endobj
-11555 0 obj
+11587 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 649.973 207.669 658.93 ]/A << /S /GoTo /D (section.0.4) >> >>
endobj
-11556 0 obj
+11588 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 628.056 162.385 637.012 ]/A << /S /GoTo /D (section.0.5) >> >>
endobj
-11557 0 obj
+11589 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 603.647 244.465 615.602 ]/A << /S /GoTo /D (section.0.6) >> >>
endobj
-11558 0 obj
+11590 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 582.283 313.465 593.177 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
-11559 0 obj
+11591 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 560.365 165.023 571.259 ]/A << /S /GoTo /D (section.0.8) >> >>
endobj
-11560 0 obj
+11592 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 537.894 356.927 549.849 ]/A << /S /GoTo /D (section.0.9) >> >>
endobj
-11561 0 obj
+11593 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 515.976 192.945 527.931 ]/A << /S /GoTo /D (section.0.10) >> >>
endobj
-11562 0 obj
+11594 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 494.058 318.799 506.013 ]/A << /S /GoTo /D (section.0.11) >> >>
endobj
-11563 0 obj
+11595 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 472.694 304.727 483.588 ]/A << /S /GoTo /D (section.0.12) >> >>
endobj
-11564 0 obj
+11596 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 450.222 271.2 462.178 ]/A << /S /GoTo /D (section.0.13) >> >>
endobj
-11565 0 obj
+11597 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 428.305 345.319 440.26 ]/A << /S /GoTo /D (section.0.14) >> >>
endobj
-11566 0 obj
+11598 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 406.387 370.804 418.342 ]/A << /S /GoTo /D (section.0.15) >> >>
endobj
-11567 0 obj
+11599 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 385.022 280.698 395.917 ]/A << /S /GoTo /D (section.0.16) >> >>
endobj
-11568 0 obj
+11600 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 365.042 232.492 373.999 ]/A << /S /GoTo /D (section.0.17) >> >>
endobj
-11569 0 obj
+11601 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 341.187 418.007 352.081 ]/A << /S /GoTo /D (section.0.18) >> >>
endobj
-11570 0 obj
+11602 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 321.206 359.856 330.163 ]/A << /S /GoTo /D (section.0.19) >> >>
endobj
-11571 0 obj
+11603 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 296.798 323.519 308.753 ]/A << /S /GoTo /D (section.0.20) >> >>
endobj
-11572 0 obj
+11604 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 274.88 233.701 286.835 ]/A << /S /GoTo /D (section.0.21) >> >>
endobj
-11573 0 obj
+11605 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 253.516 272.181 264.41 ]/A << /S /GoTo /D (section.0.22) >> >>
endobj
-11574 0 obj
+11606 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 233.535 269.72 242.492 ]/A << /S /GoTo /D (section.0.23) >> >>
endobj
-11575 0 obj
+11607 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 209.68 200.238 220.574 ]/A << /S /GoTo /D (section.0.24) >> >>
endobj
-11576 0 obj
+11608 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 187.209 292.135 199.164 ]/A << /S /GoTo /D (section.0.25) >> >>
endobj
-11577 0 obj
+11609 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 167.782 187.086 176.738 ]/A << /S /GoTo /D (section.0.26) >> >>
endobj
-11578 0 obj
+11610 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 145.864 159.613 154.821 ]/A << /S /GoTo /D (section.0.27) >> >>
endobj
-11579 0 obj
+11611 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 122.009 324.087 132.903 ]/A << /S /GoTo /D (section.0.28) >> >>
endobj
-11580 0 obj
+11612 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 100.091 192.653 110.985 ]/A << /S /GoTo /D (section.0.29) >> >>
endobj
-11581 0 obj
+11613 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 77.62 313.527 89.575 ]/A << /S /GoTo /D (section.0.30) >> >>
endobj
-11586 0 obj
-<< /D [ 11584 0 R /XYZ 78.37 808.885 null ] >>
+11618 0 obj
+<< /D [ 11616 0 R /XYZ 78.37 808.885 null ] >>
endobj
165 0 obj
-<< /D [ 11584 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 11616 0 R /XYZ 79.37 771.024 null ] >>
endobj
-11583 0 obj
+11615 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F72 187 0 R /F80 749 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-11599 0 obj
-<< /Filter /FlateDecode /Length 499 >>
+11631 0 obj
+<< /Filter /FlateDecode /Length 498 >>
stream
-xڍK0
-W `q&~9>č7X'т
-
+xڍK0
+C4  łم7", .KM ßI~ F`Y7$,)ħCսw0NswY0Xr%˳"kW}sɻhyE8m N/͇lF$FPaU#%l)_dur{~usAVΖ5T+yٚ1.g1É9S4R$j|KMED93DP-4"}
+\Nr[WU^< l[!I2et>TpfUw:#׹]նn,iA#Dɐ}UҕWsa2?ndԚ{ 6zvȁx.
endstream
endobj
-11598 0 obj
-<< /Type /Page /Contents 11599 0 R /Resources 11597 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11189 0 R /Annots 11601 0 R >>
+11630 0 obj
+<< /Type /Page /Contents 11631 0 R /Resources 11629 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 11155 0 R /Annots 11633 0 R >>
endobj
-11601 0 obj
-[ 11582 0 R 11588 0 R 11589 0 R 11590 0 R 11591 0 R 11592 0 R 11593 0 R 11594 0 R 11595 0 R 11596 0 R ]
+11633 0 obj
+[ 11614 0 R 11620 0 R 11621 0 R 11622 0 R 11623 0 R 11624 0 R 11625 0 R 11626 0 R 11627 0 R 11628 0 R ]
endobj
-11582 0 obj
+11614 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 757.574 225.426 769.529 ]/A << /S /GoTo /D (section.0.31) >> >>
endobj
-11588 0 obj
+11620 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 735.656 232.547 747.611 ]/A << /S /GoTo /D (section.0.32) >> >>
endobj
-11589 0 obj
+11621 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 714.292 261.342 725.186 ]/A << /S /GoTo /D (section.0.33) >> >>
endobj
-11590 0 obj
+11622 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 691.821 240.384 703.776 ]/A << /S /GoTo /D (section.0.34) >> >>
endobj
-11591 0 obj
+11623 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 669.903 329.738 681.858 ]/A << /S /GoTo /D (section.0.35) >> >>
endobj
-11592 0 obj
+11624 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 648.538 252.167 659.432 ]/A << /S /GoTo /D (section.0.36) >> >>
endobj
-11593 0 obj
+11625 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 626.067 266.6 638.022 ]/A << /S /GoTo /D (section.0.37) >> >>
endobj
-11594 0 obj
+11626 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 604.703 318.705 615.597 ]/A << /S /GoTo /D (section.0.38) >> >>
endobj
-11595 0 obj
+11627 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 582.785 258.373 593.679 ]/A << /S /GoTo /D (section.0.39) >> >>
endobj
-11596 0 obj
+11628 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 560.867 257.469 571.761 ]/A << /S /GoTo /D (section.0.40) >> >>
endobj
-11600 0 obj
-<< /D [ 11598 0 R /XYZ 78.37 808.885 null ] >>
+11632 0 obj
+<< /D [ 11630 0 R /XYZ 78.37 808.885 null ] >>
endobj
-11597 0 obj
+11629 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F80 749 0 R /F19 184 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1 0 obj
@@ -37021,106 +37172,106 @@ endobj
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
-11603 0 obj
+11635 0 obj
[647.8 579.4 ]
endobj
-11605 0 obj
+11637 0 obj
[875 875 666.7 666.7 666.7 666.7 0 0 0 0 0 0 0 0 0 0 875 875 ]
endobj
-11607 0 obj
+11639 0 obj
[525 525 0 0 525 525 0 525 525 525 0 525 0 525 525 0 0 525 0 525 525 0 0 525 ]
endobj
-11609 0 obj
+11641 0 obj
[531.3 531.3 ]
endobj
-11611 0 obj
+11643 0 obj
[826.4 ]
endobj
-11612 0 obj
+11644 0 obj
[531.3 531.3 531.3 0 531.3 0 0 0 0 531.3 0 0 0 0 531.3 0 0 0 0 0 531.3 531.3 0 531.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 531.3 531.3 531.3 0 531.3 0 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 0 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 0 531.3 ]
endobj
-11613 0 obj
+11645 0 obj
[575 0 0 0 0 0 0 638.9 638.9 0 0 0 0 0 0 0 0 0 0 0 0 575 0 319.5 383.3 0 0 575 575 575 575 575 575 575 575 575 575 0 0 0 0 0 0 0 869.4 818 830.6 881.9 755.5 723.6 904.2 900 436.1 0 0 691.7 1091.7 900 863.9 786.1 0 862.5 638.9 800 884.7 869.4 1188.9 869.4 0 0 0 575 0 0 0 0 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.5 0 607 319.5 958.3 638.9 575 638.9 0 473.6 453.6 447.2 638.9 607 830.6 607 607 511.1 575 0 575 ]
endobj
-11615 0 obj
+11647 0 obj
[777.8 ]
endobj
-11616 0 obj
+11648 0 obj
[777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 416.7 528.6 429.2 432.8 0 0 0 0 0 344.5 411.8 520.6 298.4 0 600.2 0 0 0 0 0 0 0 0 0 571.5 490.3 ]
endobj
-11617 0 obj
+11649 0 obj
[833.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 777.8 0 0 0 0 500 500 500 500 500 500 500 500 ]
endobj
-11618 0 obj
+11650 0 obj
[613.3 0 591.1 624.5 0 535.5 641.1 0 302.2 0 0 0 0 0 0 557.8 0 0 457.8 ]
endobj
-11619 0 obj
+11651 0 obj
[611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 ]
endobj
-11620 0 obj
+11652 0 obj
[569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 ]
endobj
-11621 0 obj
+11653 0 obj
[562.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 357.8 306.7 0 0 0 0 0 0 0 0 0 0 0 306.7 0 0 0 0 0 0 0 703.9 715.6 0 678.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 511.1 460 460 511.1 460 306.7 460 511.1 306.7 306.7 460 255.5 817.8 562.2 511.1 511.1 460 421.7 408.9 332.2 536.7 460 664.4 463.9 485.5 ]
endobj
-11622 0 obj
+11654 0 obj
[388.9 388.9 0 0 0 333.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 444.5 0 444.5 305.5 0 0 277.8 305.5 527.8 277.8 833.3 555.5 500 555.5 0 0 394.4 388.9 555.5 527.8 0 527.8 527.8 ]
endobj
-11623 0 obj
+11655 0 obj
[525 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 525 ]
endobj
-11624 0 obj
+11656 0 obj
[502.3 502.3 0 0 0 0 1062.5 0 0 0 0 0 590.3 0 0 0 0 0 0 0 0 0 0 295.1 413.2 413.2 0 0 295.1 0 295.1 531.3 531.3 531.3 531.3 0 531.3 0 531.3 0 531.3 531.3 0 0 0 0 0 0 0 795.9 0 0 0 722.6 0 0 0 382.6 0 0 663.5 972.9 0 0 0 0 0 590.3 767.4 0 0 1091 795.9 0 0 0 0 0 0 0 0 531.3 590.3 472.2 590.3 472.2 324.7 531.3 590.3 295.1 0 560.7 295.1 885.4 590.3 531.3 590.3 560.7 414.1 419.1 413.2 590.3 560.7 767.4 560.7 560.7 472.2 ]
endobj
-11625 0 obj
+11657 0 obj
[638.9 ]
endobj
-11626 0 obj
+11658 0 obj
[531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 510.4 0 472.2 0 472.2 0 0 0 253.5 0 0 0 843.8 548.6 0 0 0 362.8 0 383.7 0 0 0 489.6 ]
endobj
-11627 0 obj
+11659 0 obj
[625 0 0 0 0 0 0 0 0 0 0 0 0 0 562.5 0 312.5 375 0 0 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 0 0 0 0 0 0 0 849.5 799.7 812.5 862.3 738.4 0 0 879.6 419 0 0 675.9 1067.2 879.6 844.9 768.5 0 839.2 625 782.4 864.6 0 1162 849.5 0 0 0 575 0 0 0 0 546.9 625 500 625 513.3 343.7 562.5 625 312.5 0 593.7 312.5 937.5 625 562.5 625 0 459.5 443.7 437.5 625 593.7 812.5 593.7 593.7 500 575 0 575 ]
endobj
-11628 0 obj
-[525 0 525 525 0 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 0 525 525 525 525 525 525 525 525 525 525 0 0 525 525 525 525 525 0 525 525 525 525 525 525 525 0 0 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ]
+11660 0 obj
+[525 0 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 0 525 525 525 525 525 525 525 525 525 525 0 0 525 525 525 525 525 0 525 525 525 525 525 525 525 0 0 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ]
endobj
-11629 0 obj
+11661 0 obj
[583.3 0 536.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333.3 0 0 0 500 500 500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 480.5 516.7 444.5 516.7 444.5 305.5 500 516.7 238.9 0 488.9 238.9 794.5 516.7 500 516.7 0 341.7 383.3 361.1 516.7 461.1 683.3 461.1 461.1 ]
endobj
-11630 0 obj
+11662 0 obj
[472 472 0 0 0 500 1000 0 0 0 0 583.3 555.5 555.5 833.3 0 0 277.8 0 0 0 0 0 277.8 388.9 388.9 0 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 777.8 777.8 472.2 777.8 750 708.3 722.2 763.9 680.5 652.8 784.7 750 361.1 513.9 0 625 916.7 750 777.8 680.5 0 736.1 555.5 722.2 750 0 1027.8 750 750 611.1 277.8 0 277.8 0 0 277.8 500 555.5 444.5 555.5 444.5 305.5 500 555.5 277.8 305.5 527.8 277.8 833.3 555.5 500 555.5 527.8 391.7 394.4 388.9 555.5 527.8 722.2 527.8 527.8 444.5 ]
endobj
-11631 0 obj
+11663 0 obj
[525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ]
endobj
-11632 0 obj
+11664 0 obj
[577.2 524.7 0 0 0 0 341.1 ]
endobj
-11633 0 obj
+11665 0 obj
[493.8 0 456.8 0 456.8 0 0 0 245.4 0 0 0 816.3 530.8 0 0 0 351.1 0 371.1 0 0 0 473.8 ]
endobj
-11634 0 obj
+11666 0 obj
[285.5 399.7 399.7 0 0 0 0 285.5 0 0 0 0 0 0 0 0 0 0 0 285.5 0 0 0 0 0 0 0 0 0 0 0 670.8 0 0 371 0 0 642.3 0 0 0 0 0 0 0 742.3 0 0 0 770.7 0 0 0 0 0 0 0 0 513.9 0 456.8 571 457.2 314 513.9 571 285.5 0 542.4 285.5 856.4 571 513.9 571 0 402 405.4 399.7 571 0 742.3 ]
endobj
-11635 0 obj
+11667 0 obj
[892.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 575.2 657.4 525.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 488.1 466.7 460.2 ]
endobj
-11636 0 obj
+11668 0 obj
[514.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 514.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 514.6 0 0 514.6 0 514.6 514.6 0 514.6 0 0 0 0 514.6 514.6 514.6 0 514.6 0 514.6 0 0 514.6 0 514.6 ]
endobj
-11637 0 obj
-[272 0 272 0 489.6 0 489.6 0 489.6 0 0 0 0 489.6 0 0 0 0 0 0 0 0 0 0 0 0 639 0 0 0 503 0 0 0 0 0 666.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 489.6 0 0 0 435.2 0 489.6 0 272 0 0 0 0 544 0 0 0 0 0 380.8 544 0 0 0 516.8 ]
+11669 0 obj
+[272 0 272 0 489.6 0 489.6 0 489.6 0 0 0 0 0 0 0 0 0 0 0 0 734 0 0 0 0 639 0 0 0 0 0 0 0 0 0 666.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 489.6 0 0 0 0 0 489.6 0 272 0 0 0 0 544 0 0 0 0 386.2 380.8 544 0 0 0 516.8 ]
endobj
-11638 0 obj
+11670 0 obj
[777.8 0 0 500 ]
endobj
-11639 0 obj
+11671 0 obj
[450.9 0 417.9 0 417.9 0 0 0 222.6 0 0 0 745.1 483.9 0 0 0 320.3 0 339.6 0 0 0 431.6 ]
endobj
-11640 0 obj
+11672 0 obj
[667.6 0 0 0 0 0 0 0 0 0 0 0 0 458.6 0 406.4 510.9 406.4 275.8 458.6 510.9 0 0 484.7 0 0 0 458.6 510.9 0 0 0 354.1 ]
endobj
-11642 0 obj
+11674 0 obj
<< /Length1 2610 /Length2 30311 /Length3 0 /Filter /FlateDecode /Length 31774 >>
stream
xڴzeTup'8ww {pw ݝorν7 fvuÛTYQd
@@ -37266,10 +37417,10 @@ Dmu44)BA?22nXщ0*%:1"-2" IH
9J<pgfie!fes1ۢc1KkM~yuݑĶiC٤_^h SD]m^Cg/SQ7(8BF- RfO#=k; C
endstream
endobj
-11641 0 obj
-<< /Type /FontDescriptor /FontName /OCVDMH+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 699 /CapHeight 699 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /A /B /C /D /E /F /G /H /I /L /M /N /O /P /R /S /T /U /V /W /X /a /asterisk /b /backslash /braceleft /braceright /c /comma /d /e /eight /endash /f /fi /five /fl /four /g /h /hyphen /i /k /l /m /n /nine /o /one /p /r /s /seven /six /t /three /two /u /v /w /x /y /z /zero) /FontFile 11642 0 R >>
+11673 0 obj
+<< /Type /FontDescriptor /FontName /OCVDMH+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 699 /CapHeight 699 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /A /B /C /D /E /F /G /H /I /L /M /N /O /P /R /S /T /U /V /W /X /a /asterisk /b /backslash /braceleft /braceright /c /comma /d /e /eight /endash /f /fi /five /fl /four /g /h /hyphen /i /k /l /m /n /nine /o /one /p /r /s /seven /six /t /three /two /u /v /w /x /y /z /zero) /FontFile 11674 0 R >>
endobj
-11644 0 obj
+11676 0 obj
<< /Length1 2532 /Length2 28425 /Length3 0 /Filter /FlateDecode /Length 29858 >>
stream
xڴzePݲ5
@@ -37390,10 +37541,10 @@ a1_9R}=Q(-+H2Cw%js1ј=i g;?1@;U집&B}h
W(nQ[̋B̓-zPx)4ۀ=(_7` /(P<.YZՓ*􋖂<+*jm\{wе82}f`NYҋ59.[= t+թN65 l3(h :qCAқ#B ڿ;bZFt膳^tRS&1',mc@^c .~}g5XJ:،g9{AG/jEf<?(:5T)Vgmxwi]L[-HBqAÅme.?8-sl3z ^y+#+ܿ`b<gW'w-)W +h΂oIb.<$n\ng
endstream
endobj
-11643 0 obj
-<< /Type /FontDescriptor /FontName /LCRVQF+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 684 /CapHeight 684 /Descent -194 /ItalicAngle 0 /StemV 109 /XHeight 444 /CharSet( /A /B /C /D /E /H /I /L /M /N /O /P /R /S /T /U /W /X /a /asterisk /b /backslash /braceleft /braceright /c /comma /d /e /eight /f /fi /five /four /g /h /hyphen /i /k /l /m /n /nine /o /one /p /r /s /seven /six /t /three /two /u /v /w /x /y /z /zero) /FontFile 11644 0 R >>
+11675 0 obj
+<< /Type /FontDescriptor /FontName /LCRVQF+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 684 /CapHeight 684 /Descent -194 /ItalicAngle 0 /StemV 109 /XHeight 444 /CharSet( /A /B /C /D /E /H /I /L /M /N /O /P /R /S /T /U /W /X /a /asterisk /b /backslash /braceleft /braceright /c /comma /d /e /eight /f /fi /five /four /g /h /hyphen /i /k /l /m /n /nine /o /one /p /r /s /seven /six /t /three /two /u /v /w /x /y /z /zero) /FontFile 11676 0 R >>
endobj
-11646 0 obj
+11678 0 obj
<< /Length1 1705 /Length2 21472 /Length3 0 /Filter /FlateDecode /Length 22554 >>
stream
xڴspݺ>LI2ѱmۜضmcLlۚdm֗y9sW]<}^׺UUPAV(fkDHU62010
@@ -37490,10 +37641,10 @@ zeE<$8Mjl N8.奵g[AR8 8/ח)Bk.h!kյ is'qnpҲ̠
7%G"2 Lç#\1P?+ i:L8
endstream
endobj
-11645 0 obj
-<< /Type /FontDescriptor /FontName /WCAPHI+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 700 /CapHeight 700 /Descent -194 /ItalicAngle 0 /StemV 117 /XHeight 444 /CharSet( /A /a /b /c /r /s /t) /FontFile 11646 0 R >>
+11677 0 obj
+<< /Type /FontDescriptor /FontName /WCAPHI+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 700 /CapHeight 700 /Descent -194 /ItalicAngle 0 /StemV 117 /XHeight 444 /CharSet( /A /a /b /c /r /s /t) /FontFile 11678 0 R >>
endobj
-11648 0 obj
+11680 0 obj
<< /Length1 1769 /Length2 19553 /Length3 0 /Filter /FlateDecode /Length 20656 >>
stream
xڴeXݶ6C ݽ).݋Cqw-Nqw(o{uy\ɓass{<I(HDL ,̼
@@ -37574,10 +37725,10 @@ w 9ʺ&` $2"*Vb*ɪK v03=ph)͑ex%M
DzTf2L~+,ү|j ڹxtqy0r%~smFm&vmGlF[hlj2WZ*V4Q@
endstream
endobj
-11647 0 obj
-<< /Type /FontDescriptor /FontName /YSYFAJ+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 527 /CapHeight 689 /Descent 0 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /a /c /d /f /g /i /p /s) /FontFile 11648 0 R >>
+11679 0 obj
+<< /Type /FontDescriptor /FontName /YSYFAJ+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 527 /CapHeight 689 /Descent 0 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /a /c /d /f /g /i /p /s) /FontFile 11680 0 R >>
endobj
-11650 0 obj
+11682 0 obj
<< /Length1 1881 /Length2 2001 /Length3 0 /Filter /FlateDecode /Length 3102 >>
stream
xڵUy<T{o_FԯLaΥ C 33gfq5JHRнEѢ}Rn"nJxό33g}=\/(Ѩ&6łf#2!LVr1nbB"1 a@C
@@ -37588,10 +37739,10 @@ x-/w2;37m'-~?uKGw_Ȣ5k?/Iړh3t)~!Uxݼ+楔m'j=ƪ
P=q{"|h\BS, ̸$N=\aQJ /,Oҡ'7f:74Ox~<MM#
endstream
endobj
-11649 0 obj
-<< /Type /FontDescriptor /FontName /WOCBGC+LMMathExtension10-Regular /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleftbt /bracketlefttp /bracketrightbt /bracketrighttp /parenleftbt /parenlefttp /parenrightbt /parenrighttp) /FontFile 11650 0 R >>
+11681 0 obj
+<< /Type /FontDescriptor /FontName /WOCBGC+LMMathExtension10-Regular /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleftbt /bracketlefttp /bracketrightbt /bracketrighttp /parenleftbt /parenlefttp /parenrightbt /parenrighttp) /FontFile 11682 0 R >>
endobj
-11652 0 obj
+11684 0 obj
<< /Length1 1853 /Length2 4159 /Length3 0 /Filter /FlateDecode /Length 5318 >>
stream
xڵUy8mG%"u6kֲcoc13%$[RBD-*= )Klef<~sw5NC4#h Z% C$`p#JPT甕5L2@
@@ -37621,10 +37772,10 @@ rW?JЧU'ΘcJlvب˅OX7RM͓R/ ]xUfA?pA?V8^+>&)M
'"Y{CWDYkW69ZKͣCs[a&^]2]n-H?tZf
endstream
endobj
-11651 0 obj
-<< /Type /FontDescriptor /FontName /YCPAMU+LMMathItalic10-Regular /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 60 /XHeight 431 /CharSet( /a /b /c /greater /i /j /k /l /lscript /n /x /y) /FontFile 11652 0 R >>
+11683 0 obj
+<< /Type /FontDescriptor /FontName /YCPAMU+LMMathItalic10-Regular /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 60 /XHeight 431 /CharSet( /a /b /c /greater /i /j /k /l /lscript /n /x /y) /FontFile 11684 0 R >>
endobj
-11654 0 obj
+11686 0 obj
<< /Length1 1688 /Length2 1921 /Length3 0 /Filter /FlateDecode /Length 2966 >>
stream
xڵT{<Ti/ITj)!$57\kV(3g1qLfQ(*Z"%-+* kRIEQ[yϜ3}xy4rBL,; ,^F^ , )4I_X8",t3!!B B,HB s@C8G*%_x"n h1b
@@ -37640,10 +37791,10 @@ xڵT{<Ti/ITj)!$57\kV(3g1qLfQ(*Z"%-+* kRIEQ[y
dfok2Gg)}$\tMΪu?Xg^Le%YwsB3ScJFliꙙCs{lP>Oᤓ> KݼWsNJ@rĪBlu^)q7)iZyb#ݶ܆h?TiJ_y4ΦpjBlE~Q ]d! x681} J|C(
endstream
endobj
-11653 0 obj
-<< /Type /FontDescriptor /FontName /JMCQJH+LMMathItalic7-Regular /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /x /y) /FontFile 11654 0 R >>
+11685 0 obj
+<< /Type /FontDescriptor /FontName /JMCQJH+LMMathItalic7-Regular /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /x /y) /FontFile 11686 0 R >>
endobj
-11656 0 obj
+11688 0 obj
<< /Length1 3033 /Length2 34723 /Length3 0 /Filter /FlateDecode /Length 36368 >>
stream
xڴuX= (ݰ
@@ -37831,97 +37982,84 @@ aK鲋VJBjW0JoՏ]˟ 7s*:C#ϭښ@@#ʱzPU!
~3^<@ sS:xư֧>O?`$Ic|քMDRQ|8g
endstream
endobj
-11655 0 obj
-<< /Type /FontDescriptor /FontName /CVXELO+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 0 /CapHeight 0 /Descent 0 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /A /B /C /D /Delta /E /F /G /H /I /J /L /M /N /O /P /R /S /T /U /W /X /Y /Z /a /at /b /bracketleft /bracketright /bullet /c /colon /comma /d /e /eight /emdash /endash /equal /exclam /f /ff /ffi /fi /five /fl /four /g /greater /h /hyphen /i /j /k /l /less /m /n /nine /o /one /p /parenleft /parenright /period /plus /q /question /quotedblleft /quotedblright /quoteleft /quoteright /r /s /semicolon /seven /six /slash /t /three /two /u /v /w /x /y /z /zero) /FontFile 11656 0 R >>
+11687 0 obj
+<< /Type /FontDescriptor /FontName /CVXELO+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 0 /CapHeight 0 /Descent 0 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /A /B /C /D /Delta /E /F /G /H /I /J /L /M /N /O /P /R /S /T /U /W /X /Y /Z /a /at /b /bracketleft /bracketright /bullet /c /colon /comma /d /e /eight /emdash /endash /equal /exclam /f /ff /ffi /fi /five /fl /four /g /greater /h /hyphen /i /j /k /l /less /m /n /nine /o /one /p /parenleft /parenright /period /plus /q /question /quotedblleft /quotedblright /quoteleft /quoteright /r /s /semicolon /seven /six /slash /t /three /two /u /v /w /x /y /z /zero) /FontFile 11688 0 R >>
endobj
-11658 0 obj
-<< /Length1 1892 /Length2 20973 /Length3 0 /Filter /FlateDecode /Length 22119 >>
-stream
-xڴeP\55@#qw w@5%{GcgιjUuSi0ٛd,l
-@go0Ym
-rrSѼ! [_
-Ji-.KrR'>JL M- hϠ)W`WKkޜX1qm^lK&->͢P!'_+tFK\;ȑ$kgW̫d
-o-ynE8N6XDmċm{h`Ìq~(ވCW~%h. ^D78i2PJ3ozםZj<OXb +L6I8D;c(:(W|>P_X^BEԨ-Q{. +. dEՀI-Krp>Qv&-hKjYe ͝2 ғ>C` Ge&>C{6F☡?NN<mJn:j<g'<r^Dԉo43)g2t2zMDC[Fx3fS/FI'ws,T%2楕cVsEѳu_]ZyQ>"
-repL{H/h"}̧sqd53qٞAryy[GtL40J>u)5iQ"DU""pJ~h9Pq-q
- _b`T%PZY!LV@苚^}z3w6LW#- ˢ+itN8.-9K~uu[
-ul({BѓQze/!3g:f
-!)KlG./03N`Q.xc<̵҆Ԙo=Lޡ&Qz~4?F{ZX=4yҲ1O*tse] { BWNT(0~χA3_Gx
-Nեv~H`_! G?HEP ͊OKP QJaGcy3yvb/
-= ҁ+δ5ofji
-$,BFPZDv>KבqեOҌYHHe?#~#=+ ]׿B䌘`\ERV01Cˈ$=: - ~6ĺlSM?{4#âƎgr`cBq7ݡoĥ C=/@BGo#{[,kNkҬV֞*}gr W![''e?q9aE8aۧN-_ iC/RN]Ҡ ^eDn<W}]:@0Đ ?#P(:i;1PA'u5Ip`сUBg+&*ulـ",ૺN҈+!A&*zYF9VlW7|6w"'>/~͖7bwٟR$9Rה b#o Nz?9SLz$aV,D=FIi4>N\$MN"hkēg[93wf`/!?E=iO.1 jt;>iu PC#N:®edߙʩ|D)Mzm,BM#S6ȭ%QCH굁RNq*E+ҏHDt Hޝ !0 tȹk-!
-=X[W+
-^ 'gM#/.sЄ8߽12Fw+)C8:6A| ި:ن9ËY.CQ|@޶+Js3FrpgkHJqh)7*߹"%muYT{%JZb
-1Gh7 >|Px\o3?a,̝]}.>R64$F|d٢IZbasE }o_:8@|`CݒUk]"^[t'Sp4l2PڛæG-SpJ+KD7(3S(/`I3zi[kz=PVfkL|eM.a./&oaJF v#SIitԃS.Ncܭ}0,/*rghԊ'a:[|J+:sU5B:=S7m_;ACHPrR.R/ؾx (<YR0Ӽ€}%WAЭk㭉MA`E܌2ED=aj?{'oҭ?a蕝Hl/"(wпqצB
-8⸕
-TNqPy*ʴnյ7?Oۡu ;g=bsֹ6ի~J
-Mʋ0ticb#B,P kxkU}Y\qKؤ?Ҳ[Cه=4G*V944L7ڕv`W*˜W%ʲ )62?h rcm%uaȋq-nMpp+>JQ{%tk|m"K(kvX젨ߝCA g+$ 6\mP]ٜSxڿ =}.'UB)7,W2x~azB<`t,W̱ĉ׆MCex{c:0Ä[rhm 3'nu$ a*94n) EUDufMYZQGṢf j
--IK> P~t;ň,2ˠs`bW [([benP-!ܷyf{p$]9b<mн3xm.Qr561<d
-GE mٍa
-K>w\M;&Q8_4Ikx{Kö 8 jtWK ]YļaO),Tog wg'6I|ۼ_OҋH}؇ɃA:f'5.֯Oe5IAx[|Yv:SB]"agb"j~>u;-NB껇QKF,li<$s-"u
-_6@F1ya]V p^9ͰsڥG%W u;7FlĕH+"bz٥rɺ\`Y+tFoԂ㭬#^bW, D.H<7Q>ר])iJpQ2,*X(KA
- \
-u c)rﳢvߋsk-@ذ1";x&ίX
-}B*m(ok+Gw\3Am2\`9imƈUG+5xFjMBѮ>Kl}@{3%_׳<J$rF}
-R=p\.cn=qvŪ%$*okI8[`"gE]ӺV}:2e E49C#!lv#F-)~1$DB[rຊG[a[Wh_-&ܳ6v;焏k}#@߬&9xqKEUy_{YԺJ.׆O{ڞ`l.2|qSra!V _
-d,jbzQ9ɱSp{U^U?n
-u+q
-d wv8)C~{5K>_ZWIȫ'.@wM4_"
-xeKxDPRy% $t_yoHE`#8i|:<uz7,Q9rZmfnJlP`2y4=SlSJ )_ހ&<
-(JlfPd:3 eVNt~ǯHgwh(<¹%ͳ V'.]
-
-: C}u=RY.«W-eΑ olZDjz/3]l Qڠs4~Aߔ3Ex\x[FʋM;΢pQ̍WY?X~FI`h %0sU-f=z.P逢ck|C6_Bc,W.'ߗZ~Wj"<bN9i,gno4Rt?94֬Cm_t4g!Gc}egu$H "0G̢awu,y8oQ&¾ESD"j$Ԕ={psU|(pN Yׅ&XWAW;ۍ&FXקtaӌ}ugO .mh~Tcdd&n'E
-w-iF A$)I+:Y~bKuXgZ>S^̞!q)-
-dREfK)!1DHل԰
-|b~ Gsq4ߛtCU4hTI 5. ni*8U [K?Nپu,V'½""'bng͑vT0v[.S!<
-^ƅm`ƢtF."< -_wJ'aܐX2w7YSqF@'/5/Nc_[
-q0㖖 ]ܰ;}j7#`<B?LrG@J|uuHa_„P n2I]jd]ݔesⵛRxxo*;
-FW/S+M/\D{Kb9 ߽M%}M+6jGѪ C7=ԪЕ'։w|
-4CC&&ߨ3^Ao[n:.%H pi\&"V7*ɤ"tB {9!>98.لC&kd=đ
-Iqޓ97\0XLn*2dJO`o5Rbm}UiLvvAtMQ]ɇb8o (,Q%W ek,E^κQdtb IC&\݄5 CN6.ג/
-zWGh^]
-u[w0_1´ϙzx8e8xnY>D&a >-@gW"R=UpF.T( qP㧥Y3jV
-a$*,6& G@R\PXfmQ{itqKqe@ }' -%cӞu'+^D="]Vn$E>3vlԆɧdDeb8q;oX3"ez$Q6w"Kb C//֐0"D%'ZK+MT]8`-}fg|/<{ONQd$b)m4͂+ Wd{
-!U^-S6o~^wZ i!S|BCX}&# +4;i<sA)ĵ3=ae?;1qݣ AU,:# |N[Ɓ>1*VF/ʼn4Ŋ}
-bE$))48Îzb,KZ54,\FdD/
-B90JaHRvIS'e3<*+TUAH{S !ngE,X F.r joDd_V$a+0OGyUdO B5d⦻b';ZV*` !{} < yqlT?r7M8pXO).&MUXx
-I.n*zq+_ò .@/wObY`ӫ`wGfۦ3!ry!Q;|p"n{[ 1h= ܺ@ui;Etqw|O ۯԫGkcis֕"nt&`"pB@ifqR{IfQiX@'v%Nsv>!`E  B[[|3??
-Α8Ģ|<Fc4jlP<Szں'SU bfjv;l+ q6K&˻
-F.V$y ,31&l}g3h;n w]e)D\ξkoۭQX3W}ӈp[z'ģ eg 5L0FwZ m?.o'*1nF7~@-9-|L8u)ȸKtU)&d>% LqG݆u3s75c vGOc)FJapq!}>ɚIVOmbK5URil5yFi5pɘ #fq{:U
-#g!,ы1cGjub\rC5yi>lOE~NYlc~,Ln ;ccj{̴ vϾ'SڞG0h@V#{K`)'э4~\N1Q[4 ҹ#q!o1f4c=' 0b$N+3HbAD.zB6%U$z͆.|Sy{4U ߗ%&[},'u Wxq-Wȝqbey?ZM(s){iA"V0Oo#}0(:T"%IY<ē0EOc*ׅ:?;m8H)&v\OY''@TQܖΡm 0Ӕ\k9Uw
-Ύ|?}cs q:z/̲$Nd}ՙ+z(yKrbةȚͧ<3W&eh9) că[
-`
-UUK/&ߧ!~ [р}y
-$YuϮ̽02,.e%lfNRƘ $qDF8ւ;C ޶ӎE4A%dܶ>& (&@cgNk͖[j/]wD#VJ;hu[YV?- //4=ڿ ͘SDZg]Hiw)buҧjͷQ7Q/*Sn3(EE{q w]Ԝ,ry~PnFk ǯx}]Z+rW)Ewd~RI<AEi<,3hOԼMFhz7<pCئ)j8<#WD;S5GwbK}z_~KMS@-Ճ&ZU] zYpo#j
-';mgLp |RvA<Mp-Xا=6S;6> hI6 H<^nWɂ\v,ЅwuB_]ք Ho=IA̬PNhA3k.7/9S)%*йֽU(6:-qcbR)p"4!G b\$ڛS<]өn߱ΨR[[D}FMV)\fx\D4.fx]7,4 MiK,QV@s1VO06U9COD[~؅8{Csk]1ʡ[Ე)k0AgI⒟87VMBÁ GP˰Ӕz[]gfv}@!h@xI <Yy:21Ɲ
-~q~]f)ozVno4)Rcת~Awވ]Om4ﭗ,6k~L6yļ^"jb)t.sB<mɻ ׸/EXK{uD: 
-3s 9':hNy PgߝUVl%T:z")d/&1&(F/)._aj+иqm&_u`,6P6[Wv6UxW0sF,L ~׭:8^.g=)Wj2`aunW_JP3 򟥾,ߦ @|/#xj.nI<gn:MF B=Q/뼂us;g뗨ҳ;`>d6K@/*]5D,4Ϯ} e b{+ߩyse7-,ZYlk!T0ƭ9x]..f.EKXrEynS*u%`/SPauMse$pF4c)*F3MHťc64Ngp*s#',D%1V>x3ƨM1Cuc԰2JgN
-哃E;- "E9wIiRE~tL
-ݓ<+%">
-ر5PEX5L#i?Ys{F0-adM?Pv`ݪh8?b|c?:M9Ծj\cwzbfl|%~ (ETһE:\Ò(}\ο *k2/4W+o ڥ}͑/ܲOj?6UOPmt&yaKqe\1*'9<6L24 G%C+-7~x2 ۪сhx$R~}g8<m&TF\6+uū}&l
-dL=dxغb~o@WKJT a1wX<\?e0KŇ)$T
-usyck7HM&Ɖ<1#ҁ W7jH\]u2t,tl]sA#̌/tG.e #WU*Hh q!(nqZ2|YؑP n]o
-"F񅊻^{^MNHۇ*ņQEFV ‚-sjV<p=wCߘm[vatyYaNؼ#Γ:XBܿ
-E;\3Wly@DI5vH-Ļx./$cͪ-
-
-|Nd |~W^ΧL= f,ľ ?R݅iC C%ob 5C0[[d ɪ+TJ@SBt~n&TH-ƅVY*LCFMq꯹TI9ݰ^7&s#4-ŕAn'-X_m"#r93ؐUkfj3'MR#Mn]JpyF~dJb 4PW&<7Ҋ< (Uꗭaid^ ] .@Pfo1
-! uGG n\,YL7XF`ʳ?/P zppm93J=+1HK^5$x[),=۲?Xea让3n+f1089fϻ֤g!㓈[{p 2Mh M3 Ijlͽ10Y=ӭ;2!6+~T0#r ) quK6<6Kül\aeZw Ԫ<x~rrPsd[}I&:~n>;sd Ja w|KgptL{FZk++cLy
-vKY5*<A钯Rٳw9i5™(~c'ΫMٵF4sfA7xMj< /gB \'
-tKg<
-$Af)_Lʁ}/O0,,G+
-]?%S2҉ _vfnBW40rOr jKx񿤪)Ѩ@s7@wӝ[f"$E4U :6M=חoU*qIS#ߧhjI<Co a>ҞU>rD}3fCF\p2&pcuuPn6p駻[_{㩸 UI薊adQOMH
-Lf$CH/V1Gzŭj2Ls5.qlZ5->Ow:0oF*e%9oFTORLy|ymkO;X#M3 q?MD \D#y 7 1y:b*UzTK
-c_HRh?v?mXaޜV
-UpWe(B. FY*3b1f`z!w.ABF
-{%lYnۜå7wpMrPE( ;f?P4NLsZS/ި4Zgؼ|hхy,gQs0VIef*4~_S9i2'}St~^(=D\2YJ:&!y순 ]. \yt!gM2FkWY6]7s:g8K&'k6=(DV)?TlLO3GAt_uT:o&h4QVDL,T Pr
-Ӳy>]k/TlZ}eL1w,Be7 "
-"hmDvSΔ^8ҴJ[W/
-a8`d]v|; FYگG@V lҍWȓ;㻖pY>޶-AҚ(GAp jn:$ef# ڸ督>³)a̸C2C)V)-me4@?q̹7zCXq %)J¡aj I9i-Igׯ`U7MmCa oel8%s$ʒ$#aʀ,{Ƿh-D߻eɤ9 h;K°Etg9*GQj M#JSɫaη?m.o(*5 %^d߶uKId);0%6׿VϽPoÀeCZSUq]U ,l6meF#Y٭@CO_-븹`oikܯё3H_TT*_.(/3'FTpqODC[oslv;pkFUjoY#^)j:Wj0kn%b**6lI3{ϋ^Q:UjzVuR+t5}'5˳>1&DT7ЯǪbuF-g7eҹBM? ǼO%ԍ$Hq|ye<A(49
+11690 0 obj
+<< /Length1 1875 /Length2 20880 /Length3 0 /Filter /FlateDecode /Length 22069 >>
+stream
+xڴzcXmv&\ٶ9vje۶milN1Y1 S_smm:_gQ(2$\Xyr*@;V GA!Xۉ]@
+K,
+[
+}P$Ͷf~!yr<EzY^+86mҷniJ^1ͼ3󛫯a8ZY˭rY]r&Rw \y:R"[ p,~Z }øa rQL8//`6 rc*z\*Vg9ƷPL Q)O*ջoz.q879Gu!t 
+q x4YyghE"NP~PtMtpX,*{2Q/&4aļg!|jh_qŞ%'Gw)BFA!(2 :%:숸3 B~Y̐՜.dz./Rl!,UL s 1.c$#_FRuf}$72hrVD!_+"?e(dX]lHk^45̍<HE cm?rI] {cA. _$,dcq -F|5KۑIPh-ݢkcP[|;¥+5|<JCB)HG-b#0(X hS&gJ5w#iofz`AQ1||Xq%ݪnn\VGLV{Wurfwqct+(jz:)G Ad 'ޤ|#;h7 u4 'J," L3 Szd ԣ5I=4Drm$ u<5Ϙ6H3^gxsq^-a*X9HI7 ~'=^Fv##w F$M/0V!
+<,C>"SY4Bs}^H
+4-,LD_u -R:zf8ED<墫L{;!]0GW=95}٪F;o
+U:+ze-g!<&Wy ^
+Uh?@[2L5|wL*L. Jz.eUFN Ė"Yxvs[F
+n>"oԪh^`c&BPـP؅1<h@+e&z OP؉B= MU][TbQ<#ug]%OK,Գ{+θ`ŨC[ p?[$#L}2͍aQ(e<zctވi=9ͨ^V7RM+L<>WW˪aH&'kV/rXٛ{;'8u$X},Z$5u#%7BS8q]?9;3:I$#Ɲ4Up%J%,,Y\B` @8=m=~%bϗMI2M,?HĘvse:gK\uKLjg:-Vw(< ^ X+7%kuu%},;ef\!&a>Qި9H_im~TLf k 9ؘy}?su!x䓫 &?2g8
+o
+d ?A ]0G{
+қ)zkN[w١/?j7E
+~!(5zj8H2Vt| 3oq˵_V]3cII˶ݙ$bG $#R!
+qJ!܏E,BafOz2.k_k{*S\D]e2}~WŽu&IL23(US?E*gQnZ}<I5ޞCi;kd]U7M% +2Q)hq+'RM%r\Fdd)(ŵIQOk'@ C}ίx{_W;ǥVUŻoMɆFO 5`\1јg zڼl=1ɦjclh=
+Tg`۪#r7{lC\ M4=WkXq^\MWx{j':9Z"4)4?5PU~1Ģ${ӹmH.9(?(!pr,*S 0 Lv waϻZ*ۨe/^=7Y}>Bh' @qjڇt.saVp)(diě;[G,'"W}((K_é ײ1:6&4\8tm=%lm=@:-XP,Ȧw ~dM굈Bc9+\L j$}/ rdCrTҢ4뢴8|o@kCT3K]P<Ő\#g*Ug8bUxNY'ZrEg6UՔ>W ;yQ:{.ºsGWuYer`3ER:8,Z*BlӪT#}y$iFĩtď±m&0,[ nH4yy@la"-7Vrvrgm0.C+)S"
+Nh^gqG^WԽj| Twq0K\Nda&7J4f&ekXa7&xJis)iCFMS#Eq.8O9qn)ܥB8M# C1ubX,\`KKR_7 ;O,IWOֆ 4gfMHH}TL6bjQ3TTO<
+V"跳d .":grQ'CSAI#dmes]ӣP&[Hk8B o^2n f&Gz zl)l>튛`%=,#ؑk)ALGǢ>nۚRП{tS I޽:;J^v`I@pvGv-W[tc_=eJ .?a俐l"?ЉԧTeꠇ ׇx@u6y dM|=ڗ<WŞa)xKS&uK!Ć&ks4`~JN. sڗV?8Ubvʱ*Yau!^gT`Ř{\[u2+kۀPV|2"3k}\T h0[$<2(xūת,{xKG#s1l\4=fC+Dc{y=%Ufz/ŽY*6惌d:+u:Dz6VIН}[&0`ܘRx6q:M429{)//5'`*XA1&b6yrB3@De0yLw sG-ӯNWy ѱ*ALQY/O36ll6':1W/QwiBPM&Pi^'Ld'VG# ];!b;`9&Ol£=AFUn:`!4?LvK㲣L̍e˺<QFL.4]xo7rjEr҆dȸ!v*rNN4| f7=ewh{7^{C~U+ 6/)U*VUMGe?GӋ(m
+
+48  _;هk49yV4(]M˦q-`Mg ]܃]Ҵw*ZN&ތۧ[mp+Ϟ1JQaluqiy!@yгZ"tױ9nWO*`q& y;F~@Ֆ 1t2Pzpj `Lcb0"s n0s~.BsFTsYY*3zdZMs&Hmv
+W!+džX
+~)@owƐRM x,fkgXFD"V`jJ,APƽhb,UTϥD@et' V^9t"6Ζ P#m(
+J;(r\)վ]Jt4m
+cmXC!"B n$v<ŮJ;ǏVVdigĘ(dEuH!gj! QHܚLI@,n;0QHIr0hiU+`Ҧ.BBGQ~BF]r<,$a)gYMļ7[1%mC裡:g.kØ3Q <U$|W27.(0*lsbJ5C ~lKh,fZ
+F"QqN* 3;t -FvO%P#%pwU4*N1V8p#>QW_Z%-x~ EiVUoG|C6T}%`eQVAmG ,ByG')Z e_` p0rIb#z [ZX@m)=:k'0<aA
+9Ki&^aa]OY&vi4_vBsM'_9(:s= s33i>Uc鸟>4bW6أHV@GPC%i!
+KĊe%{]]Fn}M2KJ3iQ-+zlWP:"Q$oɯ᥁A&,2ϪJtx?ŧ&O͵\O1@ە(qU*u]OB<)^HDOoC/*e^8Ohѐ>GDO7Chk]>"Ի>h%p[CqJ7e&~k:s- Ab@hDH9&v"#}'&#-f7*i>[\'3wcs`S~K!JDЀlR|ܬ!OYFrXt TIBq=~yh
+#_^HEP⟘֪% }8l_>Fc@G(:^p;)%9h=r^!F,l@<a0AgO6D>:P%l@_hpb@˥V7ÝjNm;[l/wП>Dfdz"J=N:b*$U𡁥\S;2{VJ
+ '!G p3LhH4 ON wL2X)Ykl :ًkV˵e9E k:#r],C:QDr,m:aՙZDv9R [&G[gU4i/*wCXteWoo iQTqD| ̥e"/o5ȏЋB)_wP!JؘUg@0¯=FS h7elߡc .l̀ˉօ"2(vog?C/3z6[5Gb, N:=p*ʌ?䔼RsJzQwl
+#`?vj,E;<7[zƅVTʼn)km( t۩wxjhiBZe50PA@4ai9| blajӽvUc*GTq}ǁ׈&%WS
+#kZs|O# 39xt+Ǧ҇sztoW߬Z1҈;-HBve$iX/CN"[3^F,8QqbەޗFKà( P.hC>\aچvBw3NiӠ(+,g>ʃVLBBJ%irPLL.,@~.YP
+#4[cj*qOxykw̡
+j/T=G"M=[%{>ML"BQ鯠(;15:!ҦZPQr%&\К'BIgKGi®[nDž*1}r:~ĥZBnFe5=J0Ĵb;O؏S:jD> BgJחy[C8V9ȐϿq+&}}kSAÔzq6Z4ءKTvk -ԍw[ ݒQŗ;@8wsc?=B9wIb.%ji'y}]硫%u28[=棔88EjFϐߔ&8.J@heQ^Uub#BI-*7f t&maKB5 f(g C͑ 0$H22%B̅k1<{(fc0^gB yq {mkzk S@ՊσγRzXvWҳe/af/So,a|ENbNxQq7R7hAm '9WDgPzxX1zQTV9spIyj|rF<#+xΔ$gr.3L_Rg2cu;2}CvH4΀dmVjvX)MĦfI?vͽ^.
++zU<z1jw%NX#5GﷷNޱYV{POv5dcl{sC0
+NZ%RiV]6]+m
+^Z!
+]㴤Ib(hp͕4ꡘxL*Dt9*=G _ />[ډ-, J~5Zۥ% H &^ @f!{Dbd[P |M;\Q^fb4C6F"fjaG۰۽y]}n)0:Ƶ)ѱ)ſ/7 J1
+{ݹ'FVv1x<Hצ8oKs  K<XL( }<)82sFzl7O%PU:K%\C_֒r3|G=y%SP$Fp|AݽMtV:Ehc[dLt?iH W6q$yt.WMoNd꾉H;A eAU{WP Ѥ[LY w|Z/wfڶ5KFyTa=jxXp?;NNjuw~t
+G:˙8w&5X\XpY9+
+=G3Hф)ɶ; -כ- [s0QC!MOa= cOʓANgaE:?Gk xN|h6KdA('YcjنM;3VFo`Tb^GNQFt
+7iا pq/[|Y[#6p5̴giL= ?ѾSo|n|Y.j5Jq(S-c
+yQ$,A+F>3o L@81eЁ?{A8^gV _\ F$8e"ݕ7"8%V)zY슘 -3/&tGw
+A«!ԣ=d3i$Pt4 2 s.fG)b7
+HE:?po->9/ʽMC;/5a+W2"7`;ڶC ND;}*
+/R7"gez7WjM欎 4ps
+#
+SR}unw1oʓ(3C^,6&sh,
+HFi)6QQx[N]I(g se&Ys͉^a
+QBo Doغ}IZµL㋍qhaT{H~WDK
+Fp,$ tjwTB-E4[]/n^Kj},X1 }`Z~cp?._*
+G2U9]fOC4ذzɞӞ6ˣCx-4un'烥SY*D5'h`{!7L|Vo
+7>wɅ\:
+t¼Œ.桚hN#j4hE1&ØSa*E4
+hp# ?Z<JK_
+odTjІt+%F)<&{
+4%dC4aEyڈmHE-VwF.ƞzhy u MW;5yGн⒒jfT\̒2MɲZ;]f@޽]G}ǚ߆=v$mW{/_<,Tcci1K|9H7!5uc3{`4N+%0h-eH\o!9/)[>B
+K*2_3pʼnns5"qFI\0,{ I$Jt R 0&v`20;aq)H';sm
+uʶ)PvvHx{ȗre>3m4 sP/?[v0{L[
+dmj"YAb}7mXJg3sͬo" ُ8.6`GueOW ^R3jhנɠvtQeW{z0񙘔ZԨz2OݫttF2lƺjAZ`\F>qWWY$t*LѻxmX 2n?ݮH:"@\@xV@l#SǛOW@l"dΟR|IyzH~#-C(>ܫa5P*6sJCJr#OJ @Z+~OVrD5$JtoC,E_EFk\y<[04
+Yyach7H;IAZتm%nJP`c(>K֛-a~ؾcǽBKt ^ 3xv%k?$'*fwul
+FT閁ڰ=EEeP kSpjYzo(u#E!!l"glA\[w=S]R/YF^DuyVƭq#h"2vDI_P>"@|0Gy<pVPNe/Œs 9x1Q1)<s> M6dDie>X<yA˔}g ]n*se}4>aTM
+m5O$56~$SO(<5<s@ )r]or*4D:p:oyn_xJ6%ۓ*B?$Wz.TRG.`$$̆$U+ OY< TU??ko!c~uQG`%UcȍYK%: PZ˶YKwY8UOH=(^A)rǪk;*04?KÙLvysw.rU~f(!a>]</ɩ?'R/؜Ϗ2Ͳ)KىO(}܎?>0*Jb6Uh'a-,bx /$2*>qB1T.GaՄt+?D$J'ڣm+~E {'g7 C,
+0Zр9_QhX)p4\7JJN/fFطjX.F&GlG>9b
+%ƃ$p4Z@ "wu0ٲ1 !h|qXv^ҍ<-UĜD(bG 6ރGU&"q+-G#w.\Ԗau6>0V5u47N Ҏe
+KC 0;#(jGni9'^|@Dpz
+'
endstream
endobj
-11657 0 obj
-<< /Type /FontDescriptor /FontName /MTUVDN+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet( /F /J /P /a /comma /e /four /g /i /n /nine /period /t /two /u /y /zero) /FontFile 11658 0 R >>
+11689 0 obj
+<< /Type /FontDescriptor /FontName /RBJMPF+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet( /A /F /P /a /comma /four /g /i /n /period /s /t /two /u /y /zero) /FontFile 11690 0 R >>
endobj
-11660 0 obj
+11692 0 obj
<< /Length1 1804 /Length2 21821 /Length3 0 /Filter /FlateDecode /Length 22965 >>
stream
xڴct-mUlv۶ӱձm_]{>72{^w*2"%:!c[C=#7 "L
@@ -38007,10 +38145,10 @@ G> -ZG#T,293cp׿| Q1̕eF9<_?駘؁RU7Z]C
r$`4TV+;_q/MAFGہė`WRޢ IGɶA5q$, zV<'Q'6UQ&tf=C-rq_Sa7E=r9|WxF9wIܶhhJ;̝UHaH@dg|3P.NDhzcsK3
endstream
endobj
-11659 0 obj
-<< /Type /FontDescriptor /FontName /JTSGNV+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 683 /CapHeight 683 /Descent -195 /ItalicAngle 0 /StemV 18 /XHeight 430 /CharSet( /T /a /c /d /e /f /g /h /k /o /p /t) /FontFile 11660 0 R >>
+11691 0 obj
+<< /Type /FontDescriptor /FontName /JTSGNV+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 683 /CapHeight 683 /Descent -195 /ItalicAngle 0 /StemV 18 /XHeight 430 /CharSet( /T /a /c /d /e /f /g /h /k /o /p /t) /FontFile 11692 0 R >>
endobj
-11662 0 obj
+11694 0 obj
<< /Length1 1790 /Length2 21416 /Length3 0 /Filter /FlateDecode /Length 22479 >>
stream
xڴzeT\˺m ;ww ܡ=ww];<==RӚ5zMNL/dlkqgf`)Zm8@V@
@@ -38099,10 +38237,10 @@ Hp{${9XGm犨L rEU%-DvnWP
HrFWjXr
endstream
endobj
-11661 0 obj
-<< /Type /FontDescriptor /FontName /HUFBEO+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 83 /XHeight 431 /CharSet( /eight /five /four /nine /one /seven /six /three /two /zero) /FontFile 11662 0 R >>
+11693 0 obj
+<< /Type /FontDescriptor /FontName /HUFBEO+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 83 /XHeight 431 /CharSet( /eight /five /four /nine /one /seven /six /three /two /zero) /FontFile 11694 0 R >>
endobj
-11664 0 obj
+11696 0 obj
<< /Length1 1791 /Length2 20995 /Length3 0 /Filter /FlateDecode /Length 22169 >>
stream
xڴeX\ͺ-{pݝ
@@ -38193,10 +38331,10 @@ R{
1 HΫ8yQ+z-V&9^<.vٛuaa]PX
endstream
endobj
-11663 0 obj
-<< /Type /FontDescriptor /FontName /SXHXQW+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /seven /six /three /two /zero) /FontFile 11664 0 R >>
+11695 0 obj
+<< /Type /FontDescriptor /FontName /SXHXQW+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /seven /six /three /two /zero) /FontFile 11696 0 R >>
endobj
-11666 0 obj
+11698 0 obj
<< /Length1 2449 /Length2 28789 /Length3 0 /Filter /FlateDecode /Length 30195 >>
stream
xڴzeT˶-nin qw @pw .-x瞓Ͻ`@3Κ>"WRe37Jۃ\ؘY
@@ -38329,10 +38467,10 @@ c(
)^2ň!+
endstream
endobj
-11665 0 obj
-<< /Type /FontDescriptor /FontName /PQFDKJ+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet( /A /E /I /L /M /S /T /W /X /a /b /c /comma /d /e /eight /emdash /f /fi /four /g /h /i /k /l /m /n /nine /o /one /p /parenleft /parenright /period /q /quotedblleft /quotedblright /quoteright /r /s /six /slash /t /two /u /v /w /x /y /z /zero) /FontFile 11666 0 R >>
+11697 0 obj
+<< /Type /FontDescriptor /FontName /PQFDKJ+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet( /A /E /I /L /M /S /T /W /X /a /b /c /comma /d /e /eight /emdash /f /fi /four /g /h /i /k /l /m /n /nine /o /one /p /parenleft /parenright /period /q /quotedblleft /quotedblright /quoteright /r /s /six /slash /t /two /u /v /w /x /y /z /zero) /FontFile 11698 0 R >>
endobj
-11668 0 obj
+11700 0 obj
<< /Length1 2080 /Length2 24299 /Length3 0 /Filter /FlateDecode /Length 25582 >>
stream
xڴcx]>QcOlmۚض4Xݤqcvcu=L΅νo> 2P֙ #dgchI4s6t032‘ ; -lE \
@@ -38440,10 +38578,10 @@ Z7&r`SWm/
31`l>2a+ß
endstream
endobj
-11667 0 obj
-<< /Type /FontDescriptor /FontName /BYGIQZ+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 90 /XHeight 431 /CharSet( /F /I /L /T /X /a /c /colon /d /e /f /g /h /i /k /l /m /n /o /p /parenleft /parenright /period /quoteright /r /s /t /u /w) /FontFile 11668 0 R >>
+11699 0 obj
+<< /Type /FontDescriptor /FontName /BYGIQZ+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 90 /XHeight 431 /CharSet( /F /I /L /T /X /a /c /colon /d /e /f /g /h /i /k /l /m /n /o /p /parenleft /parenright /period /quoteright /r /s /t /u /w) /FontFile 11700 0 R >>
endobj
-11670 0 obj
+11702 0 obj
<< /Length1 2115 /Length2 16804 /Length3 0 /Filter /FlateDecode /Length 18109 >>
stream
xڴeP]۶5;!H` pww n݂gsWLZ6hcZUPNF
@@ -38507,10 +38645,10 @@ jT<ۻUCq;΄x>t@;AUKeFǎ?TY[h8;( ɰpwna1JV
a̚;uPM`v{'k4x9*37ΨxVuV#^R
endstream
endobj
-11669 0 obj
-<< /Type /FontDescriptor /FontName /NRYMBG+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /B /C /E /a /b /c /colon /d /e /f /fi /g /h /hyphen /i /j /k /l /m /n /o /p /period /q /r /s /t /u /v /w /x /y) /FontFile 11670 0 R >>
+11701 0 obj
+<< /Type /FontDescriptor /FontName /NRYMBG+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /B /C /E /a /b /c /colon /d /e /f /fi /g /h /hyphen /i /j /k /l /m /n /o /p /period /q /r /s /t /u /v /w /x /y) /FontFile 11702 0 R >>
endobj
-11672 0 obj
+11704 0 obj
<< /Length1 1668 /Length2 6617 /Length3 0 /Filter /FlateDecode /Length 7718 >>
stream
xڵWuTKT>@:I`dIiDZD% N%%;9fM<]kؘ !H[ J:Hg0BO
@@ -38544,10 +38682,10 @@ WHt=Ho
H"s}|pC
endstream
endobj
-11671 0 obj
-<< /Type /FontDescriptor /FontName /TXCPTT+LMRoman9-Italic /Flags 4 /FontBBox [ -469 -292 1419 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /n /o /t) /FontFile 11672 0 R >>
+11703 0 obj
+<< /Type /FontDescriptor /FontName /TXCPTT+LMRoman9-Italic /Flags 4 /FontBBox [ -469 -292 1419 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /n /o /t) /FontFile 11704 0 R >>
endobj
-11674 0 obj
+11706 0 obj
<< /Length1 2013 /Length2 26872 /Length3 0 /Filter /FlateDecode /Length 28072 >>
stream
xڴeT\5@nAC4]Kg3 螥sSU-,
@@ -38652,10 +38790,10 @@ vkHEQ.ێ#N7
Q[~]x<1\e\^l?ըi?5|JX 4T}~0* _xnn SZѵ(`_
endstream
endobj
-11673 0 obj
-<< /Type /FontDescriptor /FontName /IATCRU+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle -9 /StemV 89 /XHeight 431 /CharSet( /a /c /e /equal /f /hyphen /i /j /k /l /m /n /o /p /parenleft /parenright /s /t /u /v /x /y) /FontFile 11674 0 R >>
+11705 0 obj
+<< /Type /FontDescriptor /FontName /IATCRU+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle -9 /StemV 89 /XHeight 431 /CharSet( /a /c /e /equal /f /hyphen /i /j /k /l /m /n /o /p /parenleft /parenright /s /t /u /v /x /y) /FontFile 11706 0 R >>
endobj
-11676 0 obj
+11708 0 obj
<< /Length1 2065 /Length2 17708 /Length3 0 /Filter /FlateDecode /Length 18980 >>
stream
xڴeTʶ5h !84];[>s tϥVͪ2!PƉ #l`H4u2p
@@ -38736,10 +38874,10 @@ Rz;pBg5Ϣ1`é%S +DƥnQIgS${#ш$2[#caQ6
󹬞"Upwq@Ow}XL!cu(w)kO5!9a=sb k(j?P,EƝ{n> ՅcKN%U#$QAK>ICQU7yѸ!۶%0]zqyoRLhc=.2hEeC8"NqfAΗ-5T)-[
endstream
endobj
-11675 0 obj
-<< /Type /FontDescriptor /FontName /DXGFLV+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 78 /XHeight 444 /CharSet( /a /b /c /d /e /f /ff /fl /four /g /h /hyphen /i /k /l /m /n /o /one /p /r /s /t /three /two /u /v /w /x /y) /FontFile 11676 0 R >>
+11707 0 obj
+<< /Type /FontDescriptor /FontName /DXGFLV+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 78 /XHeight 444 /CharSet( /a /b /c /d /e /f /ff /fl /four /g /h /hyphen /i /k /l /m /n /o /one /p /r /s /t /three /two /u /v /w /x /y) /FontFile 11708 0 R >>
endobj
-11678 0 obj
+11710 0 obj
<< /Length1 1754 /Length2 13064 /Length3 0 /Filter /FlateDecode /Length 14154 >>
stream
xڵzeT۶6Npwwŋ$+.-.šPh#FFf\zJFQdY
@@ -38803,10 +38941,10 @@ T6WAv=T3\ OO,eI
<}ʤ}PwnՊxZǀf\1]e!5nV*98j><$Z;Q(5\Wd{n7QrAADX7nE2=U]G5+;ror_bfML<c f5O_~bgaexqYx_V̓V&)(h䲣pO־=Tv6R<uGHQ^ bA~|Aoq==z'(lţg#/
endstream
endobj
-11677 0 obj
-<< /Type /FontDescriptor /FontName /MOYMBT+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 705 /CapHeight 705 /Descent -195 /ItalicAngle 0 /StemV 76 /XHeight 430 /CharSet( /a /c /e /i /m /n /r /t /x) /FontFile 11678 0 R >>
+11709 0 obj
+<< /Type /FontDescriptor /FontName /MOYMBT+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 705 /CapHeight 705 /Descent -195 /ItalicAngle 0 /StemV 76 /XHeight 430 /CharSet( /a /c /e /i /m /n /r /t /x) /FontFile 11710 0 R >>
endobj
-11680 0 obj
+11712 0 obj
<< /Length1 1918 /Length2 13058 /Length3 0 /Filter /FlateDecode /Length 14258 >>
stream
xڵxeT˶-N]6X#AKp !@ܳy Xs٬YtTl`K)PQնpv`z8Z99yP݀YC
@@ -38856,10 +38994,10 @@ k$5-Oz`¿1)j` +Ѭz?fCo(-vP@_U~l< g 25H
rqʴ҂_"DlԸ6]P3ҹ1`Px[#YW\N(i6'<~ kYnVpl{.Ps+KnQgD`{48k1d{| t["^9Яۻ l`ڕ<'v-yFkG>i3?Ä7YX1 E+ᤩ|}6hp~ X>FEN4k_;9!q~ߌfU?Ux\웺vIȣK#iCU<fƫ'w%0Gu`N^IR3n=}Qn=.Ch?fD
endstream
endobj
-11679 0 obj
-<< /Type /FontDescriptor /FontName /MMROMK+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 87 /XHeight 444 /CharSet( /a /c /e /eight /five /four /i /m /n /nine /one /r /seven /six /t /three /two /x /zero) /FontFile 11680 0 R >>
+11711 0 obj
+<< /Type /FontDescriptor /FontName /MMROMK+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 87 /XHeight 444 /CharSet( /a /c /e /eight /five /four /i /m /n /nine /one /r /seven /six /t /three /two /x /zero) /FontFile 11712 0 R >>
endobj
-11682 0 obj
+11714 0 obj
<< /Length1 1748 /Length2 12258 /Length3 0 /Filter /FlateDecode /Length 13383 >>
stream
xڵuX[۶>\bHZܭkInťKqEkqѽ'O2|wcP3f i(&
@@ -38912,10 +39050,10 @@ y]݈lUNkSFJenl;E0s
*_a.Ͻ &9Aa+Zlt})C-ߧ,vB WQ8
endstream
endobj
-11681 0 obj
-<< /Type /FontDescriptor /FontName /JJEEWR+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 96 /XHeight 444 /CharSet( /a /c /e /i /m /n /r /t /x) /FontFile 11682 0 R >>
+11713 0 obj
+<< /Type /FontDescriptor /FontName /JJEEWR+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 96 /XHeight 444 /CharSet( /a /c /e /i /m /n /r /t /x) /FontFile 11714 0 R >>
endobj
-11684 0 obj
+11716 0 obj
<< /Length1 1716 /Length2 1755 /Length3 0 /Filter /FlateDecode /Length 2818 >>
stream
xڵT{<TiM5[L(3cu4 ׉J3d1qɥ*V)]h)]mlWQU)VZSH۟g>gy~i&=11."b$BL3miAp\
@@ -38929,10 +39067,10 @@ sZxӮ1nJ5"5J-$ Wp}fREj7ϳYd!fTܶ
zwr ?QUYU<?n]:l*VK;srܐcLHmPd nީSLGṔuu&}.S].;X t;=*W|޷x;7hrfpuI'~gt_~{֥IΪm([}_yi/&4d.WxҚǻլ]ba{?(*0u-MI//^guW=uW ]^u8:6kwF쳛-<ΜHXP}M{4C[2"/׋m*ȕڅ3֖S~vvJ+Z-{%`=8+SV7v٣C9ɮd|ϓeMᠼ윃U=;]}/(A$΂.izKYw;{ ?d[sugnq8٥1\JMUss'/ZiW3K=h2\u.i ~O$s{4_Y]%w^ܢrK˔>wf8
endstream
endobj
-11683 0 obj
-<< /Type /FontDescriptor /FontName /FACRCI+LMMathSymbols10-Regular /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /asteriskmath /minus) /FontFile 11684 0 R >>
+11715 0 obj
+<< /Type /FontDescriptor /FontName /FACRCI+LMMathSymbols10-Regular /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /asteriskmath /minus) /FontFile 11716 0 R >>
endobj
-11686 0 obj
+11718 0 obj
<< /Length1 1689 /Length2 1347 /Length3 0 /Filter /FlateDecode /Length 2378 >>
stream
xڵTyTv5R
@@ -38949,10 +39087,10 @@ ckG<<[$[nt`1@Y(u/=_z;+ªqPî.ͼ
zFyrݮ,Б9vBG/Nr
endstream
endobj
-11685 0 obj
-<< /Type /FontDescriptor /FontName /DTFCKV+LMMathSymbols6-Regular /Flags 4 /FontBBox [ -4 -948 1329 786 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 52 /XHeight 431 /CharSet( /asteriskmath) /FontFile 11686 0 R >>
+11717 0 obj
+<< /Type /FontDescriptor /FontName /DTFCKV+LMMathSymbols6-Regular /Flags 4 /FontBBox [ -4 -948 1329 786 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 52 /XHeight 431 /CharSet( /asteriskmath) /FontFile 11718 0 R >>
endobj
-11688 0 obj
+11720 0 obj
<< /Length1 1684 /Length2 1579 /Length3 0 /Filter /FlateDecode /Length 2629 >>
stream
xڵT{\LvI1QYR6SS*SHjJhN3gf9g9S. B7eV&hlEmZTr۵L,9|_l՝^S4;bAcBj ,TJ 9(ffr pНp2r@0(fFa9p`8U`:4 6ᐂpèAaK"P5T|!R
@@ -38964,153 +39102,131 @@ I!
4)~Y|AZIlQ οsi͘ecut{or];"Qj`Íjá'ft_]imsY-cE䥨)^w\!פ+spj0+)o﷌-~xs:gg IonN6YB/s~~-;CH;g|@xC_.qzW%L c3j7pe|Eփ%|ͧ5T_}mwt[IșG{۸?B/m$s]s5^,m9ӻRRlT$&fT䴝;zWU8}i[LB-Aϙ~ {av ˏ/nj!Ѵ*6EGWr19h%%6Zj1ik-VM8fPPܴJ4SczՐ!@o-gS%!ǞLz|aʤ5OnS} pm7MY<Iػø8?dAĖXvz$ 7K_᝺)[,J_9&R!I1YGP*7\Zfze<nj֐>j޹gP?<jmE-ouuGK)UNƲ^{1Cm.awj\6w٭c}E];wCAo7l[秓0{?w+ҚҘt?7.Dz䗴|X`>/_캐qPf§)~UG5<<ҧ<u갞/bE2w͙hRϫ*B*6][iX=3}C.޲`o9ؠs} oQY f:`
endstream
endobj
-11687 0 obj
-<< /Type /FontDescriptor /FontName /ANTVSN+LMMathSymbols8-Regular /Flags 4 /FontBBox [ -30 -955 1185 779 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 46 /XHeight 431 /CharSet( /minus) /FontFile 11688 0 R >>
+11719 0 obj
+<< /Type /FontDescriptor /FontName /ANTVSN+LMMathSymbols8-Regular /Flags 4 /FontBBox [ -30 -955 1185 779 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 46 /XHeight 431 /CharSet( /minus) /FontFile 11720 0 R >>
endobj
-11690 0 obj
-<< /Length1 2980 /Length2 30802 /Length3 0 /Filter /FlateDecode /Length 32446 >>
-stream
-xڴuX>L ))94 %Hw 9[}~׳g͐+ ['zf&D 4s6t
-`bF$H
-he05H31
-d 0Z@
-6.'*(
-p-W_FꯍJ ޥ& [kw Qw7R/kghca/
-؁cdhlaal`l󏜍 `h_N}~#x+8Z:#efa%vC
-fצW'
-g+`ɹΪ4aV3fqEH2)@<z>%AoړgnM }|Qń&r2>UtP-*exP8깏f~AN!ѭȇu-^dnrp#ُN/XQB4 !pv}=iS T5O{=ڮ*-ok!f
-(/6 ,Ӊ)|Xaam6k Fq̳H%bMYN-u-m,OXugB'j{}2r{C,z+9D^rkp 8uDICWFSz.>4Jy8d7!pSv`lɣ~^q0G X!Lfc^Η
-aKeEZhׯ<oaBV="0Љ P1{#7~Y=d~J5\??~k汨ZS9*G΅i@5*ε_}7;fL؈2!70jc֛aYk'[Ol#E;ߦ1+;n5P( Yx*wxfF͇W8rOg\&,S)@Bl{g,pB,[!v \
-e6\u݂]j $;!&k=-K) ZfMIڷdn{":
-3XK>ͅS.j7DxWIJ@ݬD x&>1l}*RRII÷yMȯz8*Rҙ?q0K[o6*a꾅Ѧh0.'tqZMC M6-{HY<ߋg.ő
-d'gY'id:rSJ}3" UvFS4{5eoJşK PAK/sG13c{d@l/D'?_ax@_)_8'42Z`jWӃ2f~lV'Ǭ0t> iKV!59p1Z(]
-Xos^G^?] 8<t ^߯L\*ڞ~wuMst+AN/%s(ywɰ-2%&C*5aC0XXW=(Lh.jn 1Z"#\0F+Mn:[bS~3^ʄ $e|]lf-Zg]ݽ0ڎ_Bs:ﰣ=inqj[%;9$dq~Wj}Ğ.ϣem00}1_ i?@B+*Y1U9Jb@k]Z"mᣌ7Ѡl^= 3Ǚc&)3]"@Nmeo3#q^^e;2۬s>T fI E(!:G{J<y]U<JgS9x❷%)xѢURBmZ1OIB:
-΢U=)Du&AGX^4**.nG;aӏcb)<ʣrm5Ps6zzW5GZ
-[#B
-:: )z?\Lb{K r<v'
-D˞0ԗ#?nd:*yVE訐Y}{nAnY:01ZF,;5%&ZݿxĿߊ"?`˂$3~E(ѢGcQ>Y/#Ձ+Tz!Y?Brlb|u<p#JGgA2,4
-3XHM۴ꁚƧVkS>#wozvs
-1#{Rod 5DH%od54NAm`+QÁN™)>w^(QqN@)~|:~p+ ÀWIr_`9yyFN(Yo_Fw ءo/Xi1`VF~;xQW4kYIMOZc1/D,+oY7~n”H.1 e9!:O.Hg]I{_4CMI.${e#8WjdӭW*d[[&:
-Ė[~-~D2+B8/?7ެѽ`msؙ$
-hLl$w8:(d/N+kqe$=si°"o ʗ!8[wY%Gk@܊yA޼-Xýď|G%5BfgE|cNg9M.k%
-Q0 L5lɌ)Y.g[aIpzqx6Gx]Kcя xJ,(N) Bl童6djN?'Vt[ ԽF0ĺAZ]ʴA
-̼jh=e!}?6=ŎB/Z"StoS\ݎ"WLx5`A2n
-fLDC#|N[[PH*DFݖ՝l|lӆ}r,;ϡSN><:ҏJj*,핝p̒˾
-G>8MgJhI4=Ƀ*lreJn{ZzDKYUŠbbl`K;#|M!H_bS/{{2Tf Jo?}LHypwYKyQnYVOB.g%kޭ29TglhgDSk  Ʀrީ3# R.^Je/4$P6"Zo7jZRd;1ZҲjY
-GI !<!?d&~*!Z5+'tTgH=Y)"PtdZ SX$=sL36*So]&6 >ZVgbQvлV.ROǢGո w'rfv(wu+dM,J-`AXy{_'̺ZCC%pF^XBF8Bx`q>Jk>E> A oO-V%9ը%_ Z7Zwę3 FOAVgS7'8כƛvo
-ʴ3rж/?OJ""sAwBیP_}(nL M %ֵiJgkL0Ee{пmcAܩbqMLe65rLY)e\L袛إ/WPN\Z@2 gu Hoi+C4kjM4||{q4`MW6lENZ3}8;G2!t4JFt'p~4d||kDѴLep
-˞XsgjRp`.Os*(G
-Fck ǁoG%!މ`k@=KdGŝ>F޺0($w;(/'lڸ
-wT ;tk
-0+|eԄB6@\%MH(S?wU摎Мk_1.+9ԯ
-kzecj#|eD!gaViFVJǑ]#T򕫪kO #&D.(#:C#mGZ]-E"?߮v ƻ%Z{!Cwd5B#,qi\p>5\7R]GEooC`-DfrW̿TnސjSF(aFWMlscH,cd0u Cp6ю3(Hx'}O=S+,YA0?_B)X>.U8Z\dbbsݤޢL5`ggyIg %}z~b4.(wWJ8?tq,"稂&Svʲ;.j祏lPد1i8\EVOgqP6x̳r0<gt!P{"p| k笝x҇ia!$k'P?G #q,?kIv z;WdI/O  vxdѧqQ99xcCF>U(mF<P6XC2 f8u3Q3ڜΞwf#pJKKVejkujo)|M}Yԙt+lG_2$* -IKv{ew%UP[ Zbf~ 9~@z WyX&sEw)}rh4CoVݡ3C(nWVM r!8A?Sy.x5E V&&Sf1)VwIj
-
-B5hh"EYk]ըI,E|%Xѽ NlzØO:sbhe:0d'3N ֟q]8e[^<~Z+uJfd9#
-"Ba TJȒCDT _Ζ-?Rp,Z8mieUkD/p]%Ԏ\Vs?P G6DӸ.yG1,xeD7h ݲ4zyl,oqeVeE%ldXɮݿXA)O{+z]'sJ< J9[PWWݗ"%PL!ge‰Z.Y^fPeG:9|pg7'/ۡQǒ穑ْ7=k>zKgִe׃.{
- 1ѕAA{̴ШT5G\s{L";)f{TW}, K)%欲a^e&=ACWzp%n;qJKUMn+65
-hJQ2~gNc"`]
-w1aTkm쿌La̘Ojl hkzlM1sjƽ0W`t(υ_3j..zfLWtmBou"=ueZ942yɮ߳5%pgarX\cv;'lr!|&q3ţ>@B~6/I0-<pJ^!0#~Z4PNv]k@F'xz䛸~uAf,ڜ,i2heS{M!zC^w̭Ywi!wK֭xGRtXvQd8<a|</<͌8:lV
-?" rIy4j)W逍INK,w 7%t ( BRL!(jp%|s4Xm5ܹ|=+A_pNMH&_ͯA kd.ȢU:I銓)I=aH
-|\FLg G2+|,e; \Aip`k{!!8CAʅUPݮûX;Ksnya&Yr~ aoK+,.{5lwYSu_AR찾0$[T֬&9=,^*IKq&5#kg=h/7&{2RʺKm- ȜF:X_eg<
-W*
- oE:ٯN̰P޸G8ӝXӐ
-0Zu waihqjR{H~zZ0=uTj 쑅P18kGM)7rJE?12։ɐ3?k+yF2|cF-U&}Yn&m=͟MzIh%)WRxQ=yBxڌC361uĶk9y.^x9ZjYzis6^7?wR=;/9pQOWX(EѾ츴=T}Y{\(&nNlb񭘯3i+qC{ߥFfh;xQoveáO&2rS[l&qWWQ1c
-j3Rp(>No}j@uHb}R7̪;R59񅗈ۻ)^J/I>'~SnPmءX=vmEB.vt2桥ssZ:T#o,wj?s~'jW08L}pPw@>zy7n-g Kل)S~ʻnt% F/Xo_"\s*-Wnehc~
-M(mr_//$EEqarP׬rBM1hq9&)&zK5œ`2FX<0sH8*9yֹa}ĀC1dr4?Ňt(wՙ]s^6sc
-8Uk,©/h ꏖڨJ,
-4{CRn*Vۨy共XRnRbCh$[n! 3[S^GCio]ȾD}/}dYl$ eZRFl07Mm}Q1̥љt` Sq޽'Yk2Uǹ*l7  %ܾP`5b 
-J(2*"<Ul]|X+oeƃ>*L{n͍.(Rhl`-@#J_|^/)G3f#9s?XilQwX7vK'ED^]ߑ(K{
-U2侦L/5OD/L}Hk~~"Ǒ0s
-/_gjMd7ڧT5ڿ6VNK\|
-T#Dw>USt/2zk:&.[O]9k^w XR˭E)gZ4=Tf+BW-8 m84r{mh&|~ UN:<3u$4+rq667ơZ ïa5PG,i {1H9sNsdqΤ=Ij Meos* ǺIBDV`BXXN,3#Syn\>
-{ ldABb멹Cqa0`!ѫ
-(~;c fဝ5-!U/n7V&2p6,=!~^G"Oz/J~wD$ 3@8&mb̧5掯ݎ,"|VlXIvo}Z$EAfG^<PoVﯶ7TniҢ^N$No%q.y2. _H= wpZ^jgpe rNMaL\9;ŷd_{Iqmth$յd/- X%aVVdMl`^fgkNMq1 A*]AٰmƔL٥hYRޛ&~hƋv,75~u.qCS_jvRUsI>.a[=n[?vְSr_g m㹌V$W|B7yI?>q`fj,khw8^^ ;R6qF}xQK‘ XM0U\D52F)7istrc;NTAObPi9N_n9iɌ׼3&! ] ־II'VUy:ѳɼruH XS!E,ziT?CEfuuDZʄ+.`Trۛ m :1v~sHOTS;`]_
-]z!cs1U脉%k B+&²̹} R[b7=t.m<f*ڇ/d$c_t Jx5;Ǖ8l`zl^kzMvM8,mEg1K<a{tC b mD݆;Mo: zuէݮ ߷Bjpϔ2*!Hw0n4>BH9OT?&iBٌ+
-T0\U1U
-k;LO6^_l :]Hu8}:Ѹ-'|7`<6Yቡ'yH~H]#VI^͕˷ZԎĒhX_6UœP6ZV9zf3M]B5Y@~@ch9F'N\?$4wRwHWND+b*lv1O-d)%m$w1O_S7 @ JLt}jCLH?t]ww񑦅)4
-*[SKi,TGJB~ !00z:a)gɎ ڡώ\91{""(S_wi"ޝvJ GN?N~oTqBU-zߺ*Y 4ɀ wpja:QH$
-)tލ0ɚ8~3#
-exsb`շQ7{s6Eyˡ:NfFwt%Y\ { 'LR)
-sl
-ev+Xܸ$idrEs>t%#{Uc)ᝤUcVzRq4,F:<:KX:Fȩh@(ioѓ\ slPŽ(Ob90Ozhu=V6d^Tppdm;jnJߓUl ,&驽^ۜ&[8J=T䍬%hFaVZ!0XiH}D/JмfS3IyA1Uw^y}fm!lNBMgnJnk>
-/=Vf&b}nViol Nj{'&S5Vap|2).郞PAyZbeHHh%E)Gq&#bzEp*>&x S[y2cpjßZ>r--UUThu(sU)D/bo7=F0E[lN
-](VF/v>exoq
-A"bfwilIMiD{v0D$mio,EQR۱.割&«%j
-+?hea}6w` C MUİ֑+ zA]rH O<[ |b4T&Je;hcğCW(1?_F"=cR¦؅
-:~C7["%
-0=*5z-?or<'! ~6tk~ pq ߃5Jq[pr]IƇuve)bHg"1Ahs6/i"SF<͓ИRz| ^ عDŽR$DZ
-Q{F{6 qS\3vnj0U۟\$L,JN׵]KvQE/II3(YC#t'*Ue^
-?v%'eXj})O=%ܩ?;W$$4A[rm?jWJ#QM4dH@5;RI shΦ@XQ7!u[硰
-7 i2Jk,6r]FTmc)YI(vC
-^K8:9f+<o`Xs\+uɧ&Lx5 ;#c!}^ܘFKw s8Tr( BD
-%e` Rh\l=99wy{5iؗ:
-qoE7JE(#6$sxB_֚ /u= rTTI Ъz1O!aSkH"rl Y+}%dɹD<EN3ڛF`Px$Q5wAy3NvކZpz7w
-ɨ<?F8p?ĕQi8d̬1ǤK'^QF68@^Zhga%…Ydt9 %GkV h"ث5<F }K&NI!rj,r>D7qԹ![pnQD6[Qsyg1U?ہT䩪x1I.RΜѴ!a놹9ROEL7޶'dZDzFJs%vYROg!.o&K2tc)Rh"ʵCrӝ
-ZRp*_ߞ
- 3m,-"Ȳhu"(E
-xƣ'e])oY}
-}o9O󍏫s4Qc(ٱ;R+"{d;Ȇ8_
-I~`̹g<zV\6OXzB‡ ѼK79NRi@Q:qZ Rx%0qRVNՏ }z}ɡB
-`Y8
-P3viz1
->L'*Lq~  V
-}&$.\ڎG\Jh~6zXw0; G fARC9*O6u3`2L ,a~Ƶ^Ԭ oE/
-m({K:~%TYA3{p3=6iFZd]PqD]ܔvmqkW\RsTs+|f oAxW% q72lJ.{gk+
-|[0/Sd:
-? =ܔO{QZC!I#cGgw pc!N^Na v~^ν`&ўav}`/cU6#|)\V+/jӈ)t ]HNP;Aܝx2Pr
-Jd~i0/
-=zVh?|ojxwM';B Eq:_Bf‡ nݮ PyaLRBUt&GJt 5Z3 @;ĉx&,<HݠQo2ypc$UT@Mrghcn%"2c<'yv;鳻 I^ -XQې+8V CU<_kVMgl_ PJqCQyiM;c:CBipփi//9Ie_tZiJ9P}Yڹam. X=B_%RKkiSXfݑFn5)y5ADRiR[{'0N6b_:|1?W"#:S1'Q
-daCP!7]^.-Iϋr0ΧN`h-= B* ʣ$QSMC0(h, ]ASxe&IPFn
-z#`5铠XzdxޚrxzkmЌ)S 7I`2wS叩*Of#tMk.|i)[`mяZPqiwo[9#ݜs`ޡ-ܣ^,<7h"v+zSwfDqi i( =+n_o~[ªxynr>j/r[~aV՝}
-Suٰat~Z!MNIV6ꔺ7yI4 C(C\eGU`
-+݂腀 {Fzt, n\d@c?Ζ`z--DzfZƼ~ O,8I/'ֻr%WΤ_
-RITuGWSz6B76 ;`)&`.+%b (4Ű4/6AJn-
-}F3>Tm!GZ?1`T1z* ',-.eE~ kQ,Eu[zxS#\m0zGem任-c',.ȏ8rTP9OC4;Am#uݭrfgLN
-y;t.UNF:XQdL/N3(#N΂i:KQ4ZbÙf\qqp/^zY.t1ػNTޔ{7bHGli6$Nk!4iP_IK*AkFa-RzG Ó
-¹S%l?<
- @KY)EHdr~N{X6C) 6 \S
-oa-Xo9G~XPZv{hRβWB0fu,ʱ5͡r\
-O6'lj*}ӿ\sm&֧հ^>I`L{0yߔ?j}=^&,} m;sLHn}`c$(hsOO%Rm.}rO#0"\37 G}|]xN.Ee!Зl''mxr؇S|OAۊw%|Sn BL k
-+.En5ƿK=a;V8 ?(1)$m [%i<sc){<0\}murM`!A[PM)4zLl3J#ƓhW0QL5e!7 55a{XƂШa!eZvDNks.c2nm* A*
-fku#vʘ9h 5Yuj!qrEy]~feVW(+vs۫2[ v
-,7z;-S,LEp2ÌN5״<s
-=TuLi]¬4l#@\<~(>6[QS
->&x78J$dȪOKpv;1Z5>_C$8N
-iWfsZ̒w=K4Tc~tZc4lY aFC?<IU<%
-, r37IJM
-9Oِ75BD1:Y?t!f{@
-لpZhVli}v/& 21WRwn""UBe6 S-(ALi& qXe ErX/vIm
-\&D,f)>;h,]V|~@`# F-̨5s߶綺_QLYCdTE|
- l>1OTPD[ A>gH㧘
-@sVמ(,U dQ FaD"ռ!@)g/>q!xE7K7(= XPqAgt@== 69=e-m5pVA׎وyv1JBԀvCda~uV(G>'vS..ݒ [Įc]ս]͚-8i\Fti ᜫR(޹fg%;&f+HB(:qɺF2mDE﷒Dh#*57V bߦ,;
-j;o|&p~kǔE2HLшǵ_b-ܡѲƙ-(a)4?j 0;h["s 0mb'+OGe?9fA$t*pB^L!)ދ9!"APN wB.sZ! 6:4ȴ+'QkC$pE5%O* sGYGtE Y#e|weFݳGsyJQzS`՛YD'DV #D [RK~_8u!}<sGPw .iTS@٧ *= G9AZM֒xQ|^;DUc/`4v@,yy;lE#cDL}#&$?I_r1j]lZbDMJ-1Fyhkq _(ZwRmXxocSbH'e^QKzS2y;d pگ_{@\?: v3dy={e?2}F UZwӧ曀Ji{6"+)p4Zwj6rYFq#*ǧdcc0]ZpPM}eZþ:AP(&p`06wP}~8Pv=fUߑo;nT<YSacW"?CK7vm1C0{9~͝7k
-ɞBMo.!d/0u,wRvc
-Yf6Ed+' ǎF ՝XQ?TZ+ff2 Tmv ?FGlUU9x@? 9R_,$`-U4͈~NIgڰvVF`(ԩ
-|Yw6W QvJ"_G6,Y NYHNql3NvYjQY iߍ˸¢
-7$3
-5F( "be~bxx,v
-y;12GQ0j
-gE=*m21F2Qyp&lkz_VH-[Py4ѰB VΧ$'{ <\l=_ VMAI,
-eQ,NP](G;Z!t[D'%.wFю5<םy<KG}"SFG"}@XGЪL͞rXn+r o))R162Ӭڢ J\A%S4➇_RzܐR/jF~5(,$IGn2U,G!LG;ZڀE=qCuQ9|U=7C/O[<qf~7?4R_OZ\hk+_GrJ>H$
-,R*,."/͑%Ghxm`YhXb v18 d[^,5XՂMzIBJ-0X3ҝ.Wx \B LKY!"Zpe &|<o46-bd s !+뀐i8-|g䃵Y2n?~m7|XgBB'$.d J\@Ej{sB/"
-QrqC65br # 0R}pBQd/`,L{*r5%?,(A7 |}-ql/9 ~'E0U"C`IR
-.[DIEݽ\{(hGFq_X4y%Q47ݵdbQ1r xk<4r5wN[N89q ?lyzAg4Ўv' ,mW>zߟTt9txP5ahFA2 wkg֦RI!G]50Uռ|v;K# |PN&X =ÉQ(*7vw
-~zTQr*ids: 4 0\-XݖV.tN."͑A"h?uX"y̖ΐb1+ivw*-kH6։z[ٗˊHBP]1dc"i*Ǡ-v_ ~ ͑6y
-&; iJL,|goL!iqNCwd %v w1 taƧSLԼsNn:ÁQW3jlp%eU[iJkmV&dͱR tlwcU9Sq^DݿL-S(EnL-і!tJxSR{Wj?w!"(tƬx3Ў^:OY
-q*[HO`,$Zsrky(h`m9Y0ěRT;=niu慱ΈldۆTAxLS0
-.#AR͒Y!PQ~od`KJ_7|ii%AK^[
-cP_i@zeM
-ȴF
- WhK2;JWDIC6RDBqL$O6,8z8)#Wd`|Z{'e  hGOnU
-<vwSi[Iv|0®\1S=yyH)qoeYၓ[/-sM?'-vOe@
-2?_}0Z"-O:cmv
-b^԰<錩qy;<$Y4P=~ۮG4+MR\a=7zz%^k~Εa]soHآ(d?MQي mb(۱>I%R hUy->' 0>n*L&6%2H>5д9GOt Hr *#NN5'9I*eeĨ)M;Nad!M+>=]~0eb=[twU[f
+11722 0 obj
+<< /Length1 3000 /Length2 31036 /Length3 0 /Filter /FlateDecode /Length 32693 >>
+stream
+xڴuX=L,SSrѰ.FCI{uwqb9| Ċ*B& #8։ +'13+͜ 
+5XؚX9
+8史 ?ۂC~7~+[m6v@?"6? <#V@^qNJ[kقE
+a.@*pQ? oJ@NS?
+aa"g>n:Lw-3ozj@G0͓ ,=+X=NV___z̓Fſ<
+"f5feB;w" >G8׵$+<b՝ `GףUIeW`y)
+˭%vg' ^MQ((!VNd@xmgX`Oatډ&jky%GT1bn2Qg[Uz9_&*-US]Mk]Mzׇ
+Y8GfT"C'Rw@K#Neܗg*q+n(sY&[ǢjM9bxȦE֨8?uELPLD;1c#s"4;kUZo%f Ϯ o?|Ƭ[#Њ*׫@P6fa@;y7^H.y?qTO
+_Q*6!"6:En
+hQjF6t[0qxIjH`O~ ?o_nHrG2Cj+gaq;:?+NV㚻L˅.,?=;F}ײs4qJ*^Ԗ$F~oE%ep[o3><%9(cC2"yqzv-x}2i6sh{Upj5 :qBJ%öЗ< ׄ b)b[^ 2|17ļkrx$s! 6Z\oMyόz)&D c*?ӻou<eC=h u'v&h;:| MITÎ|+qNEƩm &Գ~^`AQ.VW\]{pN>Y@d2N=|%` 
+hdᮖWPt+ZʫQ
+ti2D^yl4<gkoK;w
+SfP03#u2xP2,f䌇<Hrl #
+v-v%~q 5%>TZ썗L?\5M^=Daln!`
+K  
+??M>8i'7
+`lhcNAh5JW(6k0<]2`|Z5rGTꗒg澨{(>3J!S=U-6y?Ȭi\_&f9C5^IΥls8o-POo? ߸1!iO*Vho@="K£ Nh}`q=v!-| T8dШ\viII񃨹hDM"b fih&sjgmS4N24X4]|){m! TTSct#ӪXϳu!uI0RM(:)kC6^\IIcZf6pEMgHʪ"wj
+X ȉyVs$M^ørI} ROLy <]1WUW2̮ Wҕ l9z]ȓq`4:mc(kߪO|zuQlZW{ROSbmKAUZEs$h3t$LIwЌev:v{'BV߿33*0_toH;
+}\hLѽMqe?t;`_2Հ)h'(P.2Y L-6:mmeB#/w[>Tw>ܳ cMȥ~>N:dKlHxH?+D³BWv1K.ܴ6|Bv;${&#Djr{w~ P~dqy-1mpJRvޘĜfȝtiP7DC@JNK asyaͅ1'einwYMv\G kp|p!=j(hO>ֲ?7U|Zl3\Q&au<|P;i/BiZ $?]?+6\Q`mz&_SC)4)a\&'n?p>i*IJ"Wif"-eg+bT"
++׋#I@/9<xn5\#}v;"PNOAIP5{&(o1}+#Me/q:EwBeZ=
+eNc{ ^0P-M-H4yPh/Ҷzn3Hsz)p~SC{Nh)ajJUj1J˪<BEPO<J
+Hxl~~bllj(yQF-ZbIrܾ#Μa(>6o}p 8Ý)?i4#fVPK其-~I~R>` "ļJfUCqkdohZFxf-68MSR?[#gz(/ۃ5hÐ Ns@k:d*@=) gDU`rMy.*`G.}O܀r?(,7IE>C<8xF~K[QA_S߷o4ދ Ʀ{of3,(RvҲݔ>qٱ?ŵؔA4;Q2Z};![#5ˌgJ=,-SH^;cTS.Nʅ=+t}bSNG9W0[K
+n\U]xZ1!dF rAבh[>^"}-mo)~QvK0ޭ/1 *< [ԬἮZa1܎KO#⦀ux`$w云BO>*}{#l!҅7cbwktTh*4B9 3jbCzg Lv4GAʬcu|>{ZѸeyX%.OVP&QuJѢRG'cD&f{=;0(K:=k(
+eхMng']<g[>N !Y[>Ѕ~8J^ǎdф'Y3OK(oiW$#\M|18{Z8X_#45.>>)82zAx/.| Gi3Z1ég8t~0%SZZ.3T[-~P{K'k"ˢΤ[a[=Jv QOGhIZ+ ?5//4J3O"K2+"޿~N#+Dz*^EiEgw:}hbHzk tă)T^01j7IA2M*'W! L@{!f?hF"+y$ij.V>P(*~oԮGEc5.]FĢZQ=![R%PT7417/:6QsAv!l<"i_X6Ø筵rPojVA992 "!`!@,<JJ@ll/P)ǢV]\5FUB8jj5: 9mx* ry_}dC4i|Â'| ^Y
+=!|Op;-k5fHCW&kUfZTF|ɩ0Ny2שtHʘԚ쟮(Ju}%M})h_rV&5HPue UvcxMw w|CzZʹa~-y߳VTnM[y=']ia1L *LE^zu=GO/$⺓BLlVGA!|շ0NzKhQb*KX=MhQq`~^-1n4x[Pw W2v)䏼T,iS0%gziIj4&ʮ.FpnIhl<p/^zvabpc?+X ax,*
+10֩iO&(Vk:e#=0^YAoiOFpMPmnpIVaȌid ) b9(6w6:f ýqL\>:S9<& gT*}UzM&AK 6]'[]I:A]v{U<3^NN+Sg=kZSz&</@0{og=~(!rj?cX<yY+gڜt
+ ;Vc[ݓ8T ThDl" F,ZO8ٞٓt] G!et}+øYhP\V'<fr<\X J1従{4gf؝_.g?҉rW!vK5Udl}!u+\ 3*@JNhjaj?힓cl~謒ľ0^9G.aQ =vֳrsa'( +AݒjȀmԪuQȻo~ƣ/
+a-7l؂;PelҗfVM#$*W_dl^r5,ՉHjJ'D>܋8tث>SmSGl0X5\f1gHIiu3s'ӼkёtuR4NˎKC7Lo!zߊ:7
+~]jdF+a8 8wfGI]?
+d,*>տUf7x*]p=vOf?C,ӾaH [$&h'uìڏ#M +Us_x
+[|a8l7E}!߉:%@ch\L+toG*cjZ:w15Ae:r}@S:'}޹L|\t!W
+uzw&ݲoxưH>.M1GYH8J7YЉaT5)57ϬҲ_p5Xj*\]6PqQ?T&w(8Ϟ?IRā]&^
+V3(2I *#?+SwVƉl<xgk঍܈"E;b
+4b:Ur4l03w&58y*|>,/kWT:zRD|ϟ|=U)tOQx1-q= !g
+ V0ux@݄ g_Uh62~ *(!A*؈:_˓TȬ -qrqỊ34g:^-۩󝮨p9ɳ~n)7F[?$<CxF&Y˳vOZ
+
+k
+<FoQO#7߆\lא;YtX~ۭ3QGBAb)/wW.nmcqck~0Z^XC; uz"f=АNl;>JVL:5]muU#AX7P\WS q։ř~fD>Vt*ύg?"PcoỀ,HHl=5w(/ô,$z*eE M>Pkn*t2gv ʃeƒsj*0Lm\1JIUǸ"hDe5ogl 7ZYE0D%3<DΆE4OHC%^IdGӤM1EU1<V]ϊ QV\? Q/\Hސ6c؋**ƃ9-MZCˉ6:%[ƅ` aT+xZ LwSΩi;L1?g k/)Vw5РNM6E<7^d=ʊm̫`ܩ)N4!p8Pe9(aݘ <-+Z{oxܮ%n(tRMŽY*y.ɧڥ9}5lcmB<^6tJnk o<Ѫp~⻀OThfR#y>/:gQ]:,Cqb9{y}s~dGц76nߨr_ jI8 xV;=mN.{lyI J=IJ77Gkߍ? m>wFܤ:$ܴ>S=`+!Cy7)=6);J*^g z0W)q=
+ \EDNL7Ӈ%&ԎXzzBׄ^H\iLU1:abA}}1Aɳl0s{,Ȧw3Ku[*0:f=C-}XE6znNq:Zyc,]{nQbx~Llc#^3P;B$EQNqD{8l]ik43:gz)R/92M;RՏ-mfu|6#ʬ(23WlpULQ2\*1wKC|F C^ U@8BRX}wrQ0C7Dnv=<bi-`eONopJΎ!+ "dY!uY4S.m_1\Iڕ{%ǝTǬD ]}lq | dS Ce97GovF;GpŪo޸GΨLkZEȊi op?vHZ2?[J6u0{<p+LTL--Hx$K of0f*T0#,DĞn1|/~K)#ƴ qD,{:I9,?$f$Y]^ߒA)!1x.3ymBF^BL(?h."@1OBj9rC3]pA/vv;U(ggn:>Z ZTyf -!XL|%8`^*сGfM+1ٙ-&c>/&PKQ=0Ywd!fpS d&!yǪJ~{6|ZN/ӓ<ͥ>1gNWRN}4>e _ 2MaxbI^-(_=R.6gts*>B8&7M`hEq_<@U^7~SWPrkazP_{<z&X!ZNɣScO< .͝ҕ
+ E̓~ =|YwI۹3jfy]Te-4#7]ePk:]$]]|i!nb
+ ,ewPxCK0Fb:z o(?j,\<MaD-a<kC|7/{҄¼VDg dQ뿐ndmH4 L="{š$$hJ@vcv賣8W`n H7
+G;׮5ǝrڰ9w‘ӏ#dPkUˮJV}2 ].Ɵ"D
+1<7.)?IdY\l]^Xhx'i՘"UT 7Β/{r*;JiZ꛶8e$9["#c̓)Zx~(=d W?-.\i
+pOy'Lkiv$[ӪCq;ыG[,@oB{'q_Ӛb|R^h7[Ö@Y.hD2wSxA ^nrN
++X%֙bj su{eWTBLKYJ2N>;0!&*SbXȉ䊋͕g=pˠF|{G'uqq?1*d%[2^yUimLT1OuH+njG/#̎ 1)aNicBR|h?ߊbDW=m7i{?X `w?πӂv5b}لY8-8$ кq21E|YUb4ݹ дKr)#IhLCv)=p/Vy_c`]a)Er`_mDq]Fkb|[<}) ac1蕟@ak>;sеOjQDw)oķO\.3pQGtS}=^8S*LQ
+;4W.gUVOt;\gNODVe L Tő֢O*%m1ڋQO#x
+ o\E"^EB5]V
+(=#[=8)xECe;cLIiM*O.|F@D% 'dȮ%{$ܤ,y!cecuw2mf;eSP2m,z@5l>cҧԟ+-s˶+SDL%(}&@n$lR ǚ)$Lb4I_gM B˨:-PX݄gwɍJkDIk5Z}H[9.p61zì$ox!Ki^P_AZIBK7k0,G9^tA:h&[<ڱ>/n|Z{%;S׌Ɋ9E@Es}]r"20)4. n
+4~
+b6g!85{8WmHU§tDX4}F9
+el }'9>\hMk&RV,Rυhwݻ9f%$BfPEVDAOf7=m93씕
+wO8
+Ѷy2NHRTlż$ 3 덅ȡVk <HHL9IB#Lꐨ+'/q"䘜,oT;E6nE|OeCUj2$ʼn~˫y0
+3%!Ɨנּ2l%Q&\s=`w,ǰ)*67MQz$웝^BtF2j&ec*K% "
+'eݩ -}%;*y\,>hԃKx}E?68e9XL6Nw
+\3 1{sK>z8ʃ
+.vPgIc*+3Adk{Soqa<y_̅eV0עV~.,}!=z0e Z" 64W"
+Q~";S~D)3_(_2NTl/0scC{"k"pYlJN6/I?s/5ݼFz m!YE4w\9B=7,E.G$-mRB){aքv9E~_t_Kà
+њWh~MnUJ,D+aDŽhPbjB74kE,2r%ʮ'!B"C= XMea}̝f7K)}
+q"Pe0M2o`.GMݭی@AwQ^y"pIt]6\k 3gOy82Y!j4^ݛ+'\8e"8"}gY_+8<c8RV}|w93<ۄI{U[Q&D8h=ו;O<'*FY =G8Ucj(ږhaァ OxEH{R
+Aj{4 ^Zl| =[5,RZ⪊JiZSpYkDY86q`io>B1ߍv\1r-kzuo٠{Ӑ{[t~2R)MR K+KӶ|̛ Ţq@I}vu+rG?rp9l%šq} mK<?"j4[m3<R@vR7j7@;T}QЈݐjT}m?W> $1uYd\\ujxy/E%-`Hf$UD@;0҈cWD,v\)VUP\L Mtİ
+ x@;L
+ N
+monѩ&67UL* 0kzPR&qW5hyM_
+Mt<`r5<Ƨ,2>c^ёFvUmJ]9o(ᘩ9}uk5.$ZOXY>4>߾8}_DD.:2_)븷%lMb#hY)*d3AFѣG7.ƅ
+kᅢ5AyRh?ُ
+h{7DDƅc>C_V}LtY'FA=H64| .:ЮbV=[%pg~
+=q(,TXPl%s}=e
+.S)`dG_I*e5e, wY\;zdk7MPH^Q>):C+v=jj\6`|$v7pG-Q*ժd_@,p5ϥK\EɿDbXk N̤WLF/=0>W)talK(5FׁK5<\MX<,/|FcK -21fI )e<Co}U5a7i #޳/el6עf!sF3s@ʷ7<og
+mϯKjOrEutMr
+(
+׉K\)J*N:J]J72V3so<t|JNk$}ʺX<V%3Tz65󈵓>5T5ivqStC٪6t nF_VPSk\E(?@q#<Fj%FU'p8b #'qJRFR#&cTS}̬~c
+#7ۇl> [V@qPG ?
+6;Q kSR_܊5,FxO>Mރ{UP(TBfT1@g,dEunNCʊ4O^
+ftR,A^E.@LPv+\sn*xs}Zgǵ7u_LOyC&l
+:"z_O&1cOY4|e1XZ(ӳ #*/ŶtZ 0Aba?45q
+!R'*ƅ q+}ǁTB l;-)
+㯎1Qµq^( ;H{q8B<BmHAEeY6jND2=+o
+ȞZ‚L0r8uCtԛ<F1Mr+`{)_$Nc5 a3z-􈧥ɦі7dorPY+r`N"vy/Y7%"MVn=@G~{ GUH ɒ`*W|cI}ny9NW᝭xDɝq*>@
+_g+<<͋T? ,S08X
+𾓇V[xiȴic%Q8_ Oz+4@if<_u(41V95p= e+sثh#$]}@k"N%SKd:d>)2(oÈ cC|COQJdp '>A{
+m
+#`̒m z.SWLl:&-B}FgyEaP{MH2&Bf=5+tJs *(n"e+'sDlr 76-B^? l{bzjߛ6ZHէac>7| $K ,a|уdZ
+&eks);z0ߛqE6USxlєvW
+7>vZ]g/p0ARk=H_vԖ5pzI~*,woD4|x;R
+u0ezF:PCD<YZa10JDL\`H+blbٙ#ԩowG&(Wwn*5BЕ峬p랞R4`vewO}TXfjKI=tS0416xc!ӥn!^8_rAymv[IʴERRUB:@(˲q|pA87{uͨ_xlyVվb٨䧙pj4ȢC VC=Wԟhc\z#fiV֕40IGEvS0B!_ +^,s1~2 ? 
+_Vuav% N |]ɼgo.U%9[pqaDCױ
+J>9UG JUvUn Upi`c5ۢ췵iyYe@
+ K=Qω*sjGK04U6\wLд֟d A25P'@v=in<QM#3V➝>ID(پB:QվJO5;!@@Rq'#@ˑ>9YMeCIXm[?\f;SxYgCޓ %%u8i@a´
+ PH̑T9xaf-;-kueⲵ{!\ ~~9Z @ a)ive䇥mA}B( V~R U{I]C/ڔ[ozQ<a'Xe|-|쏅'e !}x~\+pV%G&\.ʏt!!%e3,zZQc ۩ aǑ*~p :k8@0q=W
+Fr=u =Qs:#j0O>Dy% h` ;)B@1=cTEYĆ>&>77(cc;3 C.@UQfe{z$#>81<A.h@|⽗5<
+hȟA /O=G$ z=6_sb0Y"f`ˋ0\1VНD?[
+įtMk)kѷ#Wd`r0iOo1Ux́-JAjW5CO$q^VQ`
+@^Y[\iS{9@{%%=oA =pAQ=ɲd<e#4ZzfD8pܖ@K+UjWm4YyFu݊ [,IY?v8~[4;Lpa4}k\Hfi%LkXC~"{ZpNU-ƽ4(1gPAF$ĦE!@_JVOUE'>bhBv2 auziqUf J4C#OD)2!{'tl8E^40aH'],cn.gjݵuh,ZQLY}bY9ֻx |uϼ-Op
+g<G30R:L, ?sscuV СzNSc|e2/]!NgSGJ'SoRdJ߲% /b0hmTO9dW3ۀUqO:Vo'r25RVM/@48B ]z6w$Cw@ADqȘwޱ3Ճ6-?~ / 4^j V" Ofhl$nveu~44܂ (
+F+)]58}[E1&d Lq..o(j ?%gR#.WZ0fؒ.J2
+d/G:wGgLt瘷`jH5ŗ%&c
+UBI^͌, %
+ g}5C^ ץ7
+96 7s"Ȼ㟻,fP i\9CPwkY(|YNeTXhXrʚԛqeLp*l^w[kq5j:f;j6O#qR7D܊gV7$ԏ~hL+G5?=7ZCTպ$cAԷ9W曟/kS_4J|mm{ԃiy~{a}v:gM#(JܪU;B1$E?*kD]*)νtֺ%!)۹)P9db^\YLr92
+7}czB+Ӱ^rd~(K (UX{;$LxpWI"$8;>3sgnPavM`L)
+^Hw]?y"3r0Z.&d݃V^.˝uQL{X^[qăq{_l4_ ltoq@+d o3imȼ4&Ndq"- Y'`(|irY!M'Lv%װ[V}Y: 򌿴>s=FO:w~!%swH6ғ\$dZ[P94rN~hu2w9wF{p A`ع_0#re&yk
+"d8d烿fMEl9fZR̝hK'zvw,jضq#&=2,vL+
+T"E} Oxf$€W" V{Uy A#Ї.-IT9W;L"RT/,o+\n I9\}Ac;U4<:Y祖wa?m_Ikxjoz_NX_*DUP7E6~B-#VU'ԐO?AG^[\nm'dCrh mdw۲1?цODd.5@b|Av9CP!@ LlKx%p@s3,ӶeͿtƘEbFH@V;%%"C41 kSL"ɕR0QY ܔҫtTU h`F9Hk "_NWDiO٪-UklqH[{6̩OxLگ ak4^
+/9M+[6J,vs#1Q%tU^4cKR9{Q&M4%RHcE啵}XjF4<)°oזt=fB î}ٓ
+|NWAD~7ّw e
+dfĢ??Itq)m_@;;_[?5*>cH#ηw$hp2S#`YkY0zKmP[ͨv|O9!tgUF'nr%iz]%LQawRzS19j U N[wT~~5+((%{tGc-ԾHg穆x;Dh^6HDYU_5xޱELjVé^2(WĹ<+yv(!sowvDKپߝd-:^}d6]Ļ+bO8jxQVv=h-Vk'݃%1֖^{YNgOS>P
+d=<
+E><,B=x
+y_I^'k_E5_ ӌ7Bm39"{1q`؜l{hLohXi:
+&&e>P֕w5qOjIm[$$o9h/2qo^[]B4@)N#crѷ
+J ,".~"OtM1 /7{'~IJ̊qtƒEb<p_w<
+lj0.mnK%or@SP`#;A,rH(q1o".WU2\nf;V&o4`]mR80 DYC7#=H-NTXR9L*zgݡiISm
endstream
endobj
-11689 0 obj
-<< /Type /FontDescriptor /FontName /HNJOVH+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 599 /CapHeight 599 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /A /B /C /D /E /F /G /H /I /L /M /N /O /P /R /S /T /U /V /W /X /a /ampersand /asciicircum /asterisk /at /b /backslash /bar /braceleft /braceright /bracketleft /bracketright /c /colon /comma /d /dollar /e /eight /equal /exclam /f /five /four /g /greater /h /hyphen /i /j /k /l /less /m /n /nine /numbersign /o /one /p /parenleft /parenright /period /plus /q /r /s /seven /six /slash /t /three /two /u /underscore /v /w /x /y /z /zero) /FontFile 11690 0 R >>
+11721 0 obj
+<< /Type /FontDescriptor /FontName /JLHGIY+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 599 /CapHeight 599 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /A /B /C /D /E /F /G /H /I /L /M /N /O /P /R /S /T /U /V /W /X /a /ampersand /asciicircum /asterisk /at /b /backslash /bar /braceleft /braceright /bracketleft /bracketright /c /colon /comma /d /dollar /e /eight /equal /exclam /f /five /four /g /greater /h /hyphen /i /j /k /l /less /m /n /nine /numbersign /o /one /p /parenleft /parenright /percent /period /plus /q /r /s /seven /six /slash /t /three /two /u /underscore /v /w /x /y /z /zero) /FontFile 11722 0 R >>
endobj
-11692 0 obj
+11724 0 obj
<< /Length1 1832 /Length2 18448 /Length3 0 /Filter /FlateDecode /Length 19593 >>
stream
xڴst\>n8m۶4v5vضmml7V/}οߚ53n^Y!'VR6s0J8ػ330
@@ -39197,10 +39313,10 @@ N3(P8քdl9S{s 1ܰ5݂GͥEyg{$EgCiHjӴ~&F
!j nЁyFV+G 8El)OkB:!$3SfbMLDBK2q^&1{Jki`'69ej꘢
endstream
endobj
-11691 0 obj
-<< /Type /FontDescriptor /FontName /NRLLYV+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 618 /CapHeight 618 /Descent -222 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet( /a /at /d /f /g /i /n /o /p /period /r /t /w /y) /FontFile 11692 0 R >>
+11723 0 obj
+<< /Type /FontDescriptor /FontName /NRLLYV+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 618 /CapHeight 618 /Descent -222 /ItalicAngle 0 /StemV 65 /XHeight 431 /CharSet( /a /at /d /f /g /i /n /o /p /period /r /t /w /y) /FontFile 11724 0 R >>
endobj
-11694 0 obj
+11726 0 obj
<< /Length1 2277 /Length2 23448 /Length3 0 /Filter /FlateDecode /Length 24809 >>
stream
xڴeX
@@ -39301,10 +39417,10 @@ U<|Uk-KW
8--#^4 .Y C񩐲T< GnRӋ;3)LO.Gsv
endstream
endobj
-11693 0 obj
-<< /Type /FontDescriptor /FontName /REBVUK+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 601 /CapHeight 601 /Descent -222 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet( /A /C /a /at /b /backslash /braceleft /braceright /bracketleft /bracketright /c /colon /comma /d /e /f /five /g /h /hyphen /i /k /l /m /n /o /p /period /q /r /s /t /u /underscore /v /w /x /y /z /zero) /FontFile 11694 0 R >>
+11725 0 obj
+<< /Type /FontDescriptor /FontName /REBVUK+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 601 /CapHeight 601 /Descent -222 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet( /A /C /a /at /b /backslash /braceleft /braceright /bracketleft /bracketright /c /colon /comma /d /e /f /five /g /h /hyphen /i /k /l /m /n /o /p /period /q /r /s /t /u /underscore /v /w /x /y /z /zero) /FontFile 11726 0 R >>
endobj
-11696 0 obj
+11728 0 obj
<< /Length1 3124 /Length2 30450 /Length3 0 /Filter /FlateDecode /Length 32183 >>
stream
xڴuXJtHoJBCCZE@;;K@ns|g;Y볨ȔUDMv. ,̼
@@ -39439,10 +39555,10 @@ o!%B:>X1sa )AC1 ݘf\"SƻynwDIYg`,,h
z i-XBcАC-~bHAV0eq(cpK%S#T2N~.O)i4ڈٗ96྆#&߃Vt<~\m45AWDa_ ^jV-fQ)Go[=tlf-;
endstream
endobj
-11695 0 obj
-<< /Type /FontDescriptor /FontName /GVYJDY+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 0 /CapHeight 0 /Descent 0 /ItalicAngle 0 /StemV 74 /XHeight 431 /CharSet( /A /B /C /D /E /F /G /H /I /K /L /M /N /O /P /R /S /T /U /V /W /X /Y /Z /a /ampersand /asciicircum /asciitilde /asterisk /at /b /backslash /bar /braceleft /braceright /bracketleft /bracketright /c /colon /comma /d /dollar /e /eight /equal /exclam /f /five /four /g /grave.ts1 /greater /h /hyphen /i /j /k /l /less /m /n /nine /numbersign /o /one /p /parenleft /parenright /percent /period /plus /q /question /quotedbl /quotesingle.ts1 /r /s /semicolon /seven /six /slash /t /three /two /u /underscore /v /w /x /y /z /zero) /FontFile 11696 0 R >>
+11727 0 obj
+<< /Type /FontDescriptor /FontName /GVYJDY+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 0 /CapHeight 0 /Descent 0 /ItalicAngle 0 /StemV 74 /XHeight 431 /CharSet( /A /B /C /D /E /F /G /H /I /K /L /M /N /O /P /R /S /T /U /V /W /X /Y /Z /a /ampersand /asciicircum /asciitilde /asterisk /at /b /backslash /bar /braceleft /braceright /bracketleft /bracketright /c /colon /comma /d /dollar /e /eight /equal /exclam /f /five /four /g /grave.ts1 /greater /h /hyphen /i /j /k /l /less /m /n /nine /numbersign /o /one /p /parenleft /parenright /percent /period /plus /q /question /quotedbl /quotesingle.ts1 /r /s /semicolon /seven /six /slash /t /three /two /u /underscore /v /w /x /y /z /zero) /FontFile 11728 0 R >>
endobj
-11698 0 obj
+11730 0 obj
<< /Length1 1863 /Length2 22779 /Length3 0 /Filter /FlateDecode /Length 23842 >>
stream
xڴyeX[m.Z܃CqwwwIp/P(E7߼3gsJv^ZOޡ&W`
@@ -39540,8193 +39656,8194 @@ ip6?2M /2ܵKo~X:S\<=:\UTQ '2\lDa1wµd[,64ą
/)1fXf5DJhl3:ei+-aʤe[
endstream
endobj
-11697 0 obj
-<< /Type /FontDescriptor /FontName /NWBRFF+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 599 /CapHeight 599 /Descent -222 /ItalicAngle -9 /StemV 69 /XHeight 431 /CharSet( /a /b /e /f /h /i /j /l /n /o /r /t /u /x) /FontFile 11698 0 R >>
+11729 0 obj
+<< /Type /FontDescriptor /FontName /NWBRFF+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 599 /CapHeight 599 /Descent -222 /ItalicAngle -9 /StemV 69 /XHeight 431 /CharSet( /a /b /e /f /h /i /j /l /n /o /r /t /u /x) /FontFile 11730 0 R >>
endobj
-11606 0 obj
+11638 0 obj
<< /Type /Encoding /Differences [ 16 /quotedblleft /quotedblright 21 /endash /emdash 27 /ff /fi /fl /ffi 33 /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P 82 /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde ] >>
endobj
-11604 0 obj
+11636 0 obj
<< /Type /Encoding /Differences [ 48 /parenlefttp /parenrighttp /bracketlefttp /bracketrighttp /bracketleftbt /bracketrightbt 64 /parenleftbt /parenrightbt ] >>
endobj
-11602 0 obj
+11634 0 obj
<< /Type /Encoding /Differences [ 62 /greater 96 /lscript /a /b /c 105 /i /j /k /l 110 /n 120 /x /y ] >>
endobj
-11610 0 obj
+11642 0 obj
<< /Type /Encoding /Differences [ 0 /minus 3 /asteriskmath ] >>
endobj
-11608 0 obj
+11640 0 obj
<< /Type /Encoding /Differences [ 1 /Delta 43 /plus 48 /zero /one /two /three /four /five /six /seven ] >>
endobj
-11614 0 obj
+11646 0 obj
<< /Type /Encoding /Differences [ 39 /quotesingle.ts1 96 /grave.ts1 136 /bullet ] >>
endobj
749 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /OCVDMH+LMRoman10-Bold /FontDescriptor 11641 0 R /FirstChar 21 /LastChar 125 /Widths 11613 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /OCVDMH+LMRoman10-Bold /FontDescriptor 11673 0 R /FirstChar 21 /LastChar 125 /Widths 11645 0 R /Encoding 11638 0 R >>
endobj
187 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /LCRVQF+LMRoman12-Bold /FontDescriptor 11643 0 R /FirstChar 28 /LastChar 125 /Widths 11627 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /LCRVQF+LMRoman12-Bold /FontDescriptor 11675 0 R /FirstChar 28 /LastChar 125 /Widths 11659 0 R /Encoding 11638 0 R >>
endobj
179 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /WCAPHI+LMRoman9-Bold /FontDescriptor 11645 0 R /FirstChar 65 /LastChar 116 /Widths 11635 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /WCAPHI+LMRoman9-Bold /FontDescriptor 11677 0 R /FirstChar 65 /LastChar 116 /Widths 11667 0 R /Encoding 11638 0 R >>
endobj
556 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /YSYFAJ+LMRomanCaps10-Regular /FontDescriptor 11647 0 R /FirstChar 97 /LastChar 115 /Widths 11618 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /YSYFAJ+LMRomanCaps10-Regular /FontDescriptor 11679 0 R /FirstChar 97 /LastChar 115 /Widths 11650 0 R /Encoding 11638 0 R >>
endobj
184 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CVXELO+LMRoman10-Regular /FontDescriptor 11655 0 R /FirstChar 16 /LastChar 122 /Widths 11630 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /CVXELO+LMRoman10-Regular /FontDescriptor 11687 0 R /FirstChar 16 /LastChar 122 /Widths 11662 0 R /Encoding 11638 0 R >>
endobj
177 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /MTUVDN+LMRoman12-Regular /FontDescriptor 11657 0 R /FirstChar 44 /LastChar 121 /Widths 11637 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /RBJMPF+LMRoman12-Regular /FontDescriptor 11689 0 R /FirstChar 44 /LastChar 121 /Widths 11669 0 R /Encoding 11638 0 R >>
endobj
174 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JTSGNV+LMRoman17-Regular /FontDescriptor 11659 0 R /FirstChar 84 /LastChar 116 /Widths 11640 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /JTSGNV+LMRoman17-Regular /FontDescriptor 11691 0 R /FirstChar 84 /LastChar 116 /Widths 11672 0 R /Encoding 11638 0 R >>
endobj
480 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /HUFBEO+LMRoman6-Regular /FontDescriptor 11661 0 R /FirstChar 48 /LastChar 57 /Widths 11619 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /HUFBEO+LMRoman6-Regular /FontDescriptor 11693 0 R /FirstChar 48 /LastChar 57 /Widths 11651 0 R /Encoding 11638 0 R >>
endobj
473 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /SXHXQW+LMRoman7-Regular /FontDescriptor 11663 0 R /FirstChar 48 /LastChar 57 /Widths 11620 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /SXHXQW+LMRoman7-Regular /FontDescriptor 11695 0 R /FirstChar 48 /LastChar 57 /Widths 11652 0 R /Encoding 11638 0 R >>
endobj
205 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /PQFDKJ+LMRoman8-Regular /FontDescriptor 11665 0 R /FirstChar 16 /LastChar 122 /Widths 11624 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /PQFDKJ+LMRoman8-Regular /FontDescriptor 11697 0 R /FirstChar 16 /LastChar 122 /Widths 11656 0 R /Encoding 11638 0 R >>
endobj
180 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /BYGIQZ+LMRoman9-Regular /FontDescriptor 11667 0 R /FirstChar 39 /LastChar 119 /Widths 11634 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /BYGIQZ+LMRoman9-Regular /FontDescriptor 11699 0 R /FirstChar 39 /LastChar 119 /Widths 11666 0 R /Encoding 11638 0 R >>
endobj
318 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NRYMBG+LMRoman10-Italic /FontDescriptor 11669 0 R /FirstChar 28 /LastChar 121 /Widths 11621 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /NRYMBG+LMRoman10-Italic /FontDescriptor 11701 0 R /FirstChar 28 /LastChar 121 /Widths 11653 0 R /Encoding 11638 0 R >>
endobj
182 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /TXCPTT+LMRoman9-Italic /FontDescriptor 11671 0 R /FirstChar 110 /LastChar 116 /Widths 11632 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /TXCPTT+LMRoman9-Italic /FontDescriptor 11703 0 R /FirstChar 110 /LastChar 116 /Widths 11664 0 R /Encoding 11638 0 R >>
endobj
317 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IATCRU+LMRomanSlant10-Regular /FontDescriptor 11673 0 R /FirstChar 40 /LastChar 121 /Widths 11622 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /IATCRU+LMRomanSlant10-Regular /FontDescriptor 11705 0 R /FirstChar 40 /LastChar 121 /Widths 11654 0 R /Encoding 11638 0 R >>
endobj
185 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /DXGFLV+LMSans10-Regular /FontDescriptor 11675 0 R /FirstChar 27 /LastChar 121 /Widths 11629 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /DXGFLV+LMSans10-Regular /FontDescriptor 11707 0 R /FirstChar 27 /LastChar 121 /Widths 11661 0 R /Encoding 11638 0 R >>
endobj
175 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /MOYMBT+LMSans17-Regular /FontDescriptor 11677 0 R /FirstChar 97 /LastChar 120 /Widths 11639 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /MOYMBT+LMSans17-Regular /FontDescriptor 11709 0 R /FirstChar 97 /LastChar 120 /Widths 11671 0 R /Encoding 11638 0 R >>
endobj
189 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /MMROMK+LMSans8-Regular /FontDescriptor 11679 0 R /FirstChar 48 /LastChar 120 /Widths 11626 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /MMROMK+LMSans8-Regular /FontDescriptor 11711 0 R /FirstChar 48 /LastChar 120 /Widths 11658 0 R /Encoding 11638 0 R >>
endobj
181 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JJEEWR+LMSans9-Regular /FontDescriptor 11681 0 R /FirstChar 97 /LastChar 120 /Widths 11633 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /JJEEWR+LMSans9-Regular /FontDescriptor 11713 0 R /FirstChar 97 /LastChar 120 /Widths 11665 0 R /Encoding 11638 0 R >>
endobj
186 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /HNJOVH+LMMono10-Regular /FontDescriptor 11689 0 R /FirstChar 33 /LastChar 125 /Widths 11628 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /JLHGIY+LMMono10-Regular /FontDescriptor 11721 0 R /FirstChar 33 /LastChar 125 /Widths 11660 0 R /Encoding 11638 0 R >>
endobj
178 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NRLLYV+LMMono12-Regular /FontDescriptor 11691 0 R /FirstChar 46 /LastChar 121 /Widths 11636 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /NRLLYV+LMMono12-Regular /FontDescriptor 11723 0 R /FirstChar 46 /LastChar 121 /Widths 11668 0 R /Encoding 11638 0 R >>
endobj
768 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /REBVUK+LMMono8-Regular /FontDescriptor 11693 0 R /FirstChar 44 /LastChar 125 /Widths 11612 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /REBVUK+LMMono8-Regular /FontDescriptor 11725 0 R /FirstChar 44 /LastChar 125 /Widths 11644 0 R /Encoding 11638 0 R >>
endobj
183 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /GVYJDY+LMMono9-Regular /FontDescriptor 11695 0 R /FirstChar 33 /LastChar 126 /Widths 11631 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /GVYJDY+LMMono9-Regular /FontDescriptor 11727 0 R /FirstChar 33 /LastChar 126 /Widths 11663 0 R /Encoding 11638 0 R >>
endobj
811 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NWBRFF+LMMonoSlant10-Regular /FontDescriptor 11697 0 R /FirstChar 97 /LastChar 120 /Widths 11607 0 R /Encoding 11606 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /NWBRFF+LMMonoSlant10-Regular /FontDescriptor 11729 0 R /FirstChar 97 /LastChar 120 /Widths 11639 0 R /Encoding 11638 0 R >>
endobj
1809 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /WOCBGC+LMMathExtension10-Regular /FontDescriptor 11649 0 R /FirstChar 48 /LastChar 65 /Widths 11605 0 R /Encoding 11604 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /WOCBGC+LMMathExtension10-Regular /FontDescriptor 11681 0 R /FirstChar 48 /LastChar 65 /Widths 11637 0 R /Encoding 11636 0 R >>
endobj
662 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /YCPAMU+LMMathItalic10-Regular /FontDescriptor 11651 0 R /FirstChar 62 /LastChar 121 /Widths 11616 0 R /Encoding 11602 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /YCPAMU+LMMathItalic10-Regular /FontDescriptor 11683 0 R /FirstChar 62 /LastChar 121 /Widths 11648 0 R /Encoding 11634 0 R >>
endobj
-4533 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JMCQJH+LMMathItalic7-Regular /FontDescriptor 11653 0 R /FirstChar 120 /LastChar 121 /Widths 11603 0 R /Encoding 11602 0 R >>
+4545 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /JMCQJH+LMMathItalic7-Regular /FontDescriptor 11685 0 R /FirstChar 120 /LastChar 121 /Widths 11635 0 R /Encoding 11634 0 R >>
endobj
176 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /FACRCI+LMMathSymbols10-Regular /FontDescriptor 11683 0 R /FirstChar 0 /LastChar 3 /Widths 11638 0 R /Encoding 11610 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /FACRCI+LMMathSymbols10-Regular /FontDescriptor 11715 0 R /FirstChar 0 /LastChar 3 /Widths 11670 0 R /Encoding 11642 0 R >>
endobj
204 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /DTFCKV+LMMathSymbols6-Regular /FontDescriptor 11685 0 R /FirstChar 3 /LastChar 3 /Widths 11625 0 R /Encoding 11610 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /DTFCKV+LMMathSymbols6-Regular /FontDescriptor 11717 0 R /FirstChar 3 /LastChar 3 /Widths 11657 0 R /Encoding 11642 0 R >>
endobj
769 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /ANTVSN+LMMathSymbols8-Regular /FontDescriptor 11687 0 R /FirstChar 0 /LastChar 0 /Widths 11611 0 R /Encoding 11610 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /ANTVSN+LMMathSymbols8-Regular /FontDescriptor 11719 0 R /FirstChar 0 /LastChar 0 /Widths 11643 0 R /Encoding 11642 0 R >>
endobj
660 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CVXELO+LMRoman10-Regular /FontDescriptor 11655 0 R /FirstChar 1 /LastChar 55 /Widths 11617 0 R /Encoding 11608 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /CVXELO+LMRoman10-Regular /FontDescriptor 11687 0 R /FirstChar 1 /LastChar 55 /Widths 11649 0 R /Encoding 11640 0 R >>
endobj
770 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /PQFDKJ+LMRoman8-Regular /FontDescriptor 11665 0 R /FirstChar 48 /LastChar 49 /Widths 11609 0 R /Encoding 11608 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /PQFDKJ+LMRoman8-Regular /FontDescriptor 11697 0 R /FirstChar 48 /LastChar 49 /Widths 11641 0 R /Encoding 11640 0 R >>
endobj
668 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CVXELO+LMRoman10-Regular /FontDescriptor 11655 0 R /FirstChar 136 /LastChar 136 /Widths 11615 0 R /Encoding 11614 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /CVXELO+LMRoman10-Regular /FontDescriptor 11687 0 R /FirstChar 136 /LastChar 136 /Widths 11647 0 R /Encoding 11646 0 R >>
endobj
264 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /GVYJDY+LMMono9-Regular /FontDescriptor 11695 0 R /FirstChar 39 /LastChar 96 /Widths 11623 0 R /Encoding 11614 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /GVYJDY+LMMono9-Regular /FontDescriptor 11727 0 R /FirstChar 39 /LastChar 96 /Widths 11655 0 R /Encoding 11646 0 R >>
endobj
206 0 obj
-<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 169 0 R 208 0 R 255 0 R 302 0 R 341 0 R 385 0 R 431 0 R 484 0 R 532 0 R 564 0 R ] >>
+<< /Type /Pages /Parent 11731 0 R /Count 10 /Kids [ 169 0 R 208 0 R 255 0 R 302 0 R 341 0 R 385 0 R 431 0 R 484 0 R 532 0 R 564 0 R ] >>
endobj
603 0 obj
-<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 584 0 R 605 0 R 632 0 R 656 0 R 679 0 R 699 0 R 726 0 R 754 0 R 773 0 R 808 0 R ] >>
+<< /Type /Pages /Parent 11731 0 R /Count 10 /Kids [ 584 0 R 605 0 R 632 0 R 656 0 R 679 0 R 699 0 R 726 0 R 754 0 R 773 0 R 808 0 R ] >>
endobj
871 0 obj
-<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 829 0 R 873 0 R 921 0 R 965 0 R 1010 0 R 1055 0 R 1083 0 R 1104 0 R 1144 0 R 1198 0 R ] >>
+<< /Type /Pages /Parent 11731 0 R /Count 10 /Kids [ 829 0 R 873 0 R 921 0 R 965 0 R 1010 0 R 1055 0 R 1083 0 R 1104 0 R 1144 0 R 1198 0 R ] >>
endobj
1316 0 obj
-<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 1260 0 R 1318 0 R 1381 0 R 1440 0 R 1486 0 R 1541 0 R 1569 0 R 1618 0 R 1681 0 R 1715 0 R ] >>
+<< /Type /Pages /Parent 11731 0 R /Count 10 /Kids [ 1260 0 R 1318 0 R 1381 0 R 1440 0 R 1486 0 R 1541 0 R 1569 0 R 1618 0 R 1681 0 R 1715 0 R ] >>
endobj
1810 0 obj
-<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 1768 0 R 1812 0 R 1857 0 R 1914 0 R 1964 0 R 2007 0 R 2062 0 R 2099 0 R 2132 0 R 2170 0 R ] >>
+<< /Type /Pages /Parent 11731 0 R /Count 10 /Kids [ 1768 0 R 1812 0 R 1857 0 R 1914 0 R 1964 0 R 2007 0 R 2062 0 R 2099 0 R 2132 0 R 2170 0 R ] >>
endobj
2254 0 obj
-<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 2213 0 R 2256 0 R 2313 0 R 2368 0 R 2409 0 R 2457 0 R 2513 0 R 2565 0 R 2607 0 R 2656 0 R ] >>
+<< /Type /Pages /Parent 11731 0 R /Count 10 /Kids [ 2213 0 R 2256 0 R 2313 0 R 2368 0 R 2409 0 R 2457 0 R 2513 0 R 2565 0 R 2607 0 R 2656 0 R ] >>
endobj
2759 0 obj
-<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 2705 0 R 2762 0 R 2817 0 R 2877 0 R 2929 0 R 2967 0 R 3017 0 R 3068 0 R 3123 0 R 3180 0 R ] >>
+<< /Type /Pages /Parent 11731 0 R /Count 10 /Kids [ 2705 0 R 2762 0 R 2817 0 R 2877 0 R 2929 0 R 2967 0 R 3017 0 R 3068 0 R 3123 0 R 3180 0 R ] >>
endobj
3298 0 obj
-<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 3240 0 R 3300 0 R 3335 0 R 3382 0 R 3427 0 R 3483 0 R 3539 0 R 3592 0 R 3637 0 R 3678 0 R ] >>
+<< /Type /Pages /Parent 11731 0 R /Count 10 /Kids [ 3240 0 R 3300 0 R 3335 0 R 3382 0 R 3427 0 R 3483 0 R 3537 0 R 3588 0 R 3638 0 R 3683 0 R ] >>
endobj
-3783 0 obj
-<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 3734 0 R 3785 0 R 3845 0 R 3882 0 R 3922 0 R 3973 0 R 4033 0 R 4090 0 R 4152 0 R 4201 0 R ] >>
+3784 0 obj
+<< /Type /Pages /Parent 11731 0 R /Count 10 /Kids [ 3733 0 R 3786 0 R 3845 0 R 3889 0 R 3926 0 R 3974 0 R 4030 0 R 4090 0 R 4149 0 R 4202 0 R ] >>
endobj
-4301 0 obj
-<< /Type /Pages /Parent 11699 0 R /Count 10 /Kids [ 4253 0 R 4303 0 R 4358 0 R 4422 0 R 4461 0 R 4521 0 R 4560 0 R 4606 0 R 4652 0 R 4704 0 R ] >>
+4299 0 obj
+<< /Type /Pages /Parent 11731 0 R /Count 10 /Kids [ 4255 0 R 4301 0 R 4360 0 R 4418 0 R 4467 0 R 4515 0 R 4567 0 R 4607 0 R 4645 0 R 4698 0 R ] >>
endobj
-4785 0 obj
-<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 4744 0 R 4787 0 R 4840 0 R 4903 0 R 4949 0 R 5013 0 R 5056 0 R 5106 0 R 5160 0 R 5217 0 R ] >>
+4783 0 obj
+<< /Type /Pages /Parent 11732 0 R /Count 10 /Kids [ 4756 0 R 4785 0 R 4840 0 R 4905 0 R 4947 0 R 5013 0 R 5068 0 R 5110 0 R 5159 0 R 5221 0 R ] >>
endobj
-5309 0 obj
-<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 5264 0 R 5311 0 R 5356 0 R 5403 0 R 5442 0 R 5493 0 R 5549 0 R 5607 0 R 5673 0 R 5722 0 R ] >>
+5315 0 obj
+<< /Type /Pages /Parent 11732 0 R /Count 10 /Kids [ 5266 0 R 5317 0 R 5360 0 R 5406 0 R 5444 0 R 5493 0 R 5550 0 R 5604 0 R 5667 0 R 5718 0 R ] >>
endobj
-5835 0 obj
-<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 5786 0 R 5837 0 R 5894 0 R 5955 0 R 6018 0 R 6054 0 R 6108 0 R 6145 0 R 6197 0 R 6240 0 R ] >>
+5841 0 obj
+<< /Type /Pages /Parent 11732 0 R /Count 10 /Kids [ 5780 0 R 5843 0 R 5894 0 R 5957 0 R 6013 0 R 6066 0 R 6109 0 R 6142 0 R 6197 0 R 6257 0 R ] >>
endobj
-6332 0 obj
-<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 6276 0 R 6334 0 R 6382 0 R 6434 0 R 6477 0 R 6529 0 R 6576 0 R 6638 0 R 6688 0 R 6739 0 R ] >>
+6334 0 obj
+<< /Type /Pages /Parent 11732 0 R /Count 10 /Kids [ 6283 0 R 6336 0 R 6386 0 R 6439 0 R 6483 0 R 6537 0 R 6581 0 R 6640 0 R 6695 0 R 6744 0 R ] >>
endobj
-6820 0 obj
-<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 6778 0 R 6822 0 R 6856 0 R 6899 0 R 6954 0 R 7017 0 R 7073 0 R 7120 0 R 7179 0 R 7235 0 R ] >>
+6821 0 obj
+<< /Type /Pages /Parent 11732 0 R /Count 10 /Kids [ 6781 0 R 6823 0 R 6864 0 R 6904 0 R 6951 0 R 7012 0 R 7074 0 R 7123 0 R 7179 0 R 7242 0 R ] >>
endobj
-7338 0 obj
-<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 7285 0 R 7340 0 R 7390 0 R 7441 0 R 7488 0 R 7546 0 R 7597 0 R 7640 0 R 7698 0 R 7747 0 R ] >>
+7337 0 obj
+<< /Type /Pages /Parent 11732 0 R /Count 10 /Kids [ 7287 0 R 7339 0 R 7389 0 R 7444 0 R 7489 0 R 7550 0 R 7609 0 R 7645 0 R 7702 0 R 7750 0 R ] >>
endobj
-7831 0 obj
-<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 7781 0 R 7834 0 R 7884 0 R 7935 0 R 7983 0 R 8038 0 R 8079 0 R 8118 0 R 8158 0 R 8207 0 R ] >>
+7834 0 obj
+<< /Type /Pages /Parent 11732 0 R /Count 10 /Kids [ 7797 0 R 7837 0 R 7885 0 R 7944 0 R 7991 0 R 8045 0 R 8082 0 R 8119 0 R 8150 0 R 8199 0 R ] >>
endobj
-8314 0 obj
-<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 8266 0 R 8316 0 R 8376 0 R 8438 0 R 8490 0 R 8544 0 R 8609 0 R 8649 0 R 8702 0 R 8766 0 R ] >>
+8304 0 obj
+<< /Type /Pages /Parent 11732 0 R /Count 10 /Kids [ 8250 0 R 8306 0 R 8356 0 R 8410 0 R 8476 0 R 8528 0 R 8579 0 R 8643 0 R 8682 0 R 8733 0 R ] >>
endobj
-8886 0 obj
-<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 8832 0 R 8888 0 R 8951 0 R 9009 0 R 9070 0 R 9132 0 R 9190 0 R 9243 0 R 9298 0 R 9341 0 R ] >>
+8862 0 obj
+<< /Type /Pages /Parent 11732 0 R /Count 10 /Kids [ 8799 0 R 8864 0 R 8919 0 R 8981 0 R 9041 0 R 9102 0 R 9163 0 R 9221 0 R 9269 0 R 9324 0 R ] >>
endobj
-9424 0 obj
-<< /Type /Pages /Parent 11700 0 R /Count 10 /Kids [ 9390 0 R 9427 0 R 9471 0 R 9529 0 R 9588 0 R 9636 0 R 9699 0 R 9752 0 R 9807 0 R 9846 0 R ] >>
+9414 0 obj
+<< /Type /Pages /Parent 11732 0 R /Count 10 /Kids [ 9367 0 R 9417 0 R 9459 0 R 9503 0 R 9561 0 R 9620 0 R 9668 0 R 9731 0 R 9784 0 R 9839 0 R ] >>
endobj
-9948 0 obj
-<< /Type /Pages /Parent 11701 0 R /Count 10 /Kids [ 9896 0 R 9950 0 R 10012 0 R 10075 0 R 10135 0 R 10200 0 R 10263 0 R 10330 0 R 10383 0 R 10444 0 R ] >>
+9927 0 obj
+<< /Type /Pages /Parent 11733 0 R /Count 10 /Kids [ 9878 0 R 9929 0 R 9982 0 R 10044 0 R 10107 0 R 10167 0 R 10232 0 R 10295 0 R 10362 0 R 10415 0 R ] >>
endobj
-10545 0 obj
-<< /Type /Pages /Parent 11701 0 R /Count 10 /Kids [ 10486 0 R 10547 0 R 10610 0 R 10674 0 R 10739 0 R 10803 0 R 10867 0 R 10932 0 R 10996 0 R 11060 0 R ] >>
+10517 0 obj
+<< /Type /Pages /Parent 11733 0 R /Count 10 /Kids [ 10476 0 R 10519 0 R 10579 0 R 10642 0 R 10706 0 R 10771 0 R 10835 0 R 10899 0 R 10964 0 R 11028 0 R ] >>
endobj
-11189 0 obj
-<< /Type /Pages /Parent 11701 0 R /Count 9 /Kids [ 11124 0 R 11191 0 R 11258 0 R 11323 0 R 11388 0 R 11455 0 R 11522 0 R 11584 0 R 11598 0 R ] >>
+11155 0 obj
+<< /Type /Pages /Parent 11733 0 R /Count 10 /Kids [ 11092 0 R 11157 0 R 11223 0 R 11290 0 R 11355 0 R 11420 0 R 11487 0 R 11554 0 R 11616 0 R 11630 0 R ] >>
endobj
-11699 0 obj
-<< /Type /Pages /Parent 11702 0 R /Count 100 /Kids [ 206 0 R 603 0 R 871 0 R 1316 0 R 1810 0 R 2254 0 R 2759 0 R 3298 0 R 3783 0 R 4301 0 R ] >>
+11731 0 obj
+<< /Type /Pages /Parent 11734 0 R /Count 100 /Kids [ 206 0 R 603 0 R 871 0 R 1316 0 R 1810 0 R 2254 0 R 2759 0 R 3298 0 R 3784 0 R 4299 0 R ] >>
endobj
-11700 0 obj
-<< /Type /Pages /Parent 11702 0 R /Count 100 /Kids [ 4785 0 R 5309 0 R 5835 0 R 6332 0 R 6820 0 R 7338 0 R 7831 0 R 8314 0 R 8886 0 R 9424 0 R ] >>
+11732 0 obj
+<< /Type /Pages /Parent 11734 0 R /Count 100 /Kids [ 4783 0 R 5315 0 R 5841 0 R 6334 0 R 6821 0 R 7337 0 R 7834 0 R 8304 0 R 8862 0 R 9414 0 R ] >>
endobj
-11701 0 obj
-<< /Type /Pages /Parent 11702 0 R /Count 29 /Kids [ 9948 0 R 10545 0 R 11189 0 R ] >>
+11733 0 obj
+<< /Type /Pages /Parent 11734 0 R /Count 30 /Kids [ 9927 0 R 10517 0 R 11155 0 R ] >>
endobj
-11702 0 obj
-<< /Type /Pages /Count 229 /Kids [ 11699 0 R 11700 0 R 11701 0 R ] >>
+11734 0 obj
+<< /Type /Pages /Count 230 /Kids [ 11731 0 R 11732 0 R 11733 0 R ] >>
endobj
-11703 0 obj
+11735 0 obj
<< /Type /Outlines /First 6 0 R /Last 166 0 R /Count 41 >>
endobj
166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 11703 0 R /Prev 162 0 R >>
+<< /Title 167 0 R /A 164 0 R /Parent 11735 0 R /Prev 162 0 R >>
endobj
162 0 obj
-<< /Title 163 0 R /A 160 0 R /Parent 11703 0 R /Prev 158 0 R /Next 166 0 R >>
+<< /Title 163 0 R /A 160 0 R /Parent 11735 0 R /Prev 158 0 R /Next 166 0 R >>
endobj
158 0 obj
-<< /Title 159 0 R /A 156 0 R /Parent 11703 0 R /Prev 154 0 R /Next 162 0 R >>
+<< /Title 159 0 R /A 156 0 R /Parent 11735 0 R /Prev 154 0 R /Next 162 0 R >>
endobj
154 0 obj
-<< /Title 155 0 R /A 152 0 R /Parent 11703 0 R /Prev 150 0 R /Next 158 0 R >>
+<< /Title 155 0 R /A 152 0 R /Parent 11735 0 R /Prev 150 0 R /Next 158 0 R >>
endobj
150 0 obj
-<< /Title 151 0 R /A 148 0 R /Parent 11703 0 R /Prev 146 0 R /Next 154 0 R >>
+<< /Title 151 0 R /A 148 0 R /Parent 11735 0 R /Prev 146 0 R /Next 154 0 R >>
endobj
146 0 obj
-<< /Title 147 0 R /A 144 0 R /Parent 11703 0 R /Prev 142 0 R /Next 150 0 R >>
+<< /Title 147 0 R /A 144 0 R /Parent 11735 0 R /Prev 142 0 R /Next 150 0 R >>
endobj
142 0 obj
-<< /Title 143 0 R /A 140 0 R /Parent 11703 0 R /Prev 138 0 R /Next 146 0 R >>
+<< /Title 143 0 R /A 140 0 R /Parent 11735 0 R /Prev 138 0 R /Next 146 0 R >>
endobj
138 0 obj
-<< /Title 139 0 R /A 136 0 R /Parent 11703 0 R /Prev 134 0 R /Next 142 0 R >>
+<< /Title 139 0 R /A 136 0 R /Parent 11735 0 R /Prev 134 0 R /Next 142 0 R >>
endobj
134 0 obj
-<< /Title 135 0 R /A 132 0 R /Parent 11703 0 R /Prev 130 0 R /Next 138 0 R >>
+<< /Title 135 0 R /A 132 0 R /Parent 11735 0 R /Prev 130 0 R /Next 138 0 R >>
endobj
130 0 obj
-<< /Title 131 0 R /A 128 0 R /Parent 11703 0 R /Prev 126 0 R /Next 134 0 R >>
+<< /Title 131 0 R /A 128 0 R /Parent 11735 0 R /Prev 126 0 R /Next 134 0 R >>
endobj
126 0 obj
-<< /Title 127 0 R /A 124 0 R /Parent 11703 0 R /Prev 122 0 R /Next 130 0 R >>
+<< /Title 127 0 R /A 124 0 R /Parent 11735 0 R /Prev 122 0 R /Next 130 0 R >>
endobj
122 0 obj
-<< /Title 123 0 R /A 120 0 R /Parent 11703 0 R /Prev 118 0 R /Next 126 0 R >>
+<< /Title 123 0 R /A 120 0 R /Parent 11735 0 R /Prev 118 0 R /Next 126 0 R >>
endobj
118 0 obj
-<< /Title 119 0 R /A 116 0 R /Parent 11703 0 R /Prev 114 0 R /Next 122 0 R >>
+<< /Title 119 0 R /A 116 0 R /Parent 11735 0 R /Prev 114 0 R /Next 122 0 R >>
endobj
114 0 obj
-<< /Title 115 0 R /A 112 0 R /Parent 11703 0 R /Prev 110 0 R /Next 118 0 R >>
+<< /Title 115 0 R /A 112 0 R /Parent 11735 0 R /Prev 110 0 R /Next 118 0 R >>
endobj
110 0 obj
-<< /Title 111 0 R /A 108 0 R /Parent 11703 0 R /Prev 106 0 R /Next 114 0 R >>
+<< /Title 111 0 R /A 108 0 R /Parent 11735 0 R /Prev 106 0 R /Next 114 0 R >>
endobj
106 0 obj
-<< /Title 107 0 R /A 104 0 R /Parent 11703 0 R /Prev 102 0 R /Next 110 0 R >>
+<< /Title 107 0 R /A 104 0 R /Parent 11735 0 R /Prev 102 0 R /Next 110 0 R >>
endobj
102 0 obj
-<< /Title 103 0 R /A 100 0 R /Parent 11703 0 R /Prev 98 0 R /Next 106 0 R >>
+<< /Title 103 0 R /A 100 0 R /Parent 11735 0 R /Prev 98 0 R /Next 106 0 R >>
endobj
98 0 obj
-<< /Title 99 0 R /A 96 0 R /Parent 11703 0 R /Prev 94 0 R /Next 102 0 R >>
+<< /Title 99 0 R /A 96 0 R /Parent 11735 0 R /Prev 94 0 R /Next 102 0 R >>
endobj
94 0 obj
-<< /Title 95 0 R /A 92 0 R /Parent 11703 0 R /Prev 90 0 R /Next 98 0 R >>
+<< /Title 95 0 R /A 92 0 R /Parent 11735 0 R /Prev 90 0 R /Next 98 0 R >>
endobj
90 0 obj
-<< /Title 91 0 R /A 88 0 R /Parent 11703 0 R /Prev 86 0 R /Next 94 0 R >>
+<< /Title 91 0 R /A 88 0 R /Parent 11735 0 R /Prev 86 0 R /Next 94 0 R >>
endobj
86 0 obj
-<< /Title 87 0 R /A 84 0 R /Parent 11703 0 R /Prev 82 0 R /Next 90 0 R >>
+<< /Title 87 0 R /A 84 0 R /Parent 11735 0 R /Prev 82 0 R /Next 90 0 R >>
endobj
82 0 obj
-<< /Title 83 0 R /A 80 0 R /Parent 11703 0 R /Prev 78 0 R /Next 86 0 R >>
+<< /Title 83 0 R /A 80 0 R /Parent 11735 0 R /Prev 78 0 R /Next 86 0 R >>
endobj
78 0 obj
-<< /Title 79 0 R /A 76 0 R /Parent 11703 0 R /Prev 74 0 R /Next 82 0 R >>
+<< /Title 79 0 R /A 76 0 R /Parent 11735 0 R /Prev 74 0 R /Next 82 0 R >>
endobj
74 0 obj
-<< /Title 75 0 R /A 72 0 R /Parent 11703 0 R /Prev 70 0 R /Next 78 0 R >>
+<< /Title 75 0 R /A 72 0 R /Parent 11735 0 R /Prev 70 0 R /Next 78 0 R >>
endobj
70 0 obj
-<< /Title 71 0 R /A 68 0 R /Parent 11703 0 R /Prev 66 0 R /Next 74 0 R >>
+<< /Title 71 0 R /A 68 0 R /Parent 11735 0 R /Prev 66 0 R /Next 74 0 R >>
endobj
66 0 obj
-<< /Title 67 0 R /A 64 0 R /Parent 11703 0 R /Prev 62 0 R /Next 70 0 R >>
+<< /Title 67 0 R /A 64 0 R /Parent 11735 0 R /Prev 62 0 R /Next 70 0 R >>
endobj
62 0 obj
-<< /Title 63 0 R /A 60 0 R /Parent 11703 0 R /Prev 58 0 R /Next 66 0 R >>
+<< /Title 63 0 R /A 60 0 R /Parent 11735 0 R /Prev 58 0 R /Next 66 0 R >>
endobj
58 0 obj
-<< /Title 59 0 R /A 56 0 R /Parent 11703 0 R /Prev 54 0 R /Next 62 0 R >>
+<< /Title 59 0 R /A 56 0 R /Parent 11735 0 R /Prev 54 0 R /Next 62 0 R >>
endobj
54 0 obj
-<< /Title 55 0 R /A 52 0 R /Parent 11703 0 R /Prev 50 0 R /Next 58 0 R >>
+<< /Title 55 0 R /A 52 0 R /Parent 11735 0 R /Prev 50 0 R /Next 58 0 R >>
endobj
50 0 obj
-<< /Title 51 0 R /A 48 0 R /Parent 11703 0 R /Prev 46 0 R /Next 54 0 R >>
+<< /Title 51 0 R /A 48 0 R /Parent 11735 0 R /Prev 46 0 R /Next 54 0 R >>
endobj
46 0 obj
-<< /Title 47 0 R /A 44 0 R /Parent 11703 0 R /Prev 42 0 R /Next 50 0 R >>
+<< /Title 47 0 R /A 44 0 R /Parent 11735 0 R /Prev 42 0 R /Next 50 0 R >>
endobj
42 0 obj
-<< /Title 43 0 R /A 40 0 R /Parent 11703 0 R /Prev 38 0 R /Next 46 0 R >>
+<< /Title 43 0 R /A 40 0 R /Parent 11735 0 R /Prev 38 0 R /Next 46 0 R >>
endobj
38 0 obj
-<< /Title 39 0 R /A 36 0 R /Parent 11703 0 R /Prev 34 0 R /Next 42 0 R >>
+<< /Title 39 0 R /A 36 0 R /Parent 11735 0 R /Prev 34 0 R /Next 42 0 R >>
endobj
34 0 obj
-<< /Title 35 0 R /A 32 0 R /Parent 11703 0 R /Prev 30 0 R /Next 38 0 R >>
+<< /Title 35 0 R /A 32 0 R /Parent 11735 0 R /Prev 30 0 R /Next 38 0 R >>
endobj
30 0 obj
-<< /Title 31 0 R /A 28 0 R /Parent 11703 0 R /Prev 26 0 R /Next 34 0 R >>
+<< /Title 31 0 R /A 28 0 R /Parent 11735 0 R /Prev 26 0 R /Next 34 0 R >>
endobj
26 0 obj
-<< /Title 27 0 R /A 24 0 R /Parent 11703 0 R /Prev 22 0 R /Next 30 0 R >>
+<< /Title 27 0 R /A 24 0 R /Parent 11735 0 R /Prev 22 0 R /Next 30 0 R >>
endobj
22 0 obj
-<< /Title 23 0 R /A 20 0 R /Parent 11703 0 R /Prev 18 0 R /Next 26 0 R >>
+<< /Title 23 0 R /A 20 0 R /Parent 11735 0 R /Prev 18 0 R /Next 26 0 R >>
endobj
18 0 obj
-<< /Title 19 0 R /A 16 0 R /Parent 11703 0 R /Prev 14 0 R /Next 22 0 R >>
+<< /Title 19 0 R /A 16 0 R /Parent 11735 0 R /Prev 14 0 R /Next 22 0 R >>
endobj
14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 11703 0 R /Prev 10 0 R /Next 18 0 R >>
+<< /Title 15 0 R /A 12 0 R /Parent 11735 0 R /Prev 10 0 R /Next 18 0 R >>
endobj
10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 11703 0 R /Prev 6 0 R /Next 14 0 R >>
+<< /Title 11 0 R /A 8 0 R /Parent 11735 0 R /Prev 6 0 R /Next 14 0 R >>
endobj
6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 11703 0 R /Next 10 0 R >>
-endobj
-11704 0 obj
-<< /Names [ (Doc-Start) 173 0 R (HD.1) 188 0 R (HD.10) 198 0 R (HD.100) 300 0 R (HD.1000) 1341 0 R (HD.10000) 11154 0 R (HD.10001) 11155 0 R (HD.10002) 11156 0 R (HD.10003) 11157 0 R (HD.10004) 11158 0 R (HD.10005) 11159 0 R (HD.10006) 11160 0 R (HD.10007) 11161 0 R (HD.10008) 11162 0 R (HD.10009) 11163 0 R (HD.1001) 1342 0 R (HD.10010) 11164 0 R (HD.10011) 11165 0 R (HD.10012) 11166 0 R (HD.10013) 11167 0 R (HD.10014) 11168 0 R (HD.10015) 11169 0 R (HD.10016) 11170 0 R (HD.10017) 11171 0 R (HD.10018) 11172 0 R (HD.10019) 11173 0 R (HD.1002) 1343 0 R (HD.10020) 11174 0 R (HD.10021) 11175 0 R (HD.10022) 11176 0 R (HD.10023) 11177 0 R (HD.10024) 11178 0 R ] /Limits [ (Doc-Start) (HD.10024) ] >>
-endobj
-11705 0 obj
-<< /Names [ (HD.10025) 11179 0 R (HD.10026) 11180 0 R (HD.10027) 11181 0 R (HD.10028) 11182 0 R (HD.10029) 11183 0 R (HD.1003) 1344 0 R (HD.10030) 11184 0 R (HD.10031) 11185 0 R (HD.10032) 11186 0 R (HD.10033) 11187 0 R (HD.10034) 11188 0 R (HD.10035) 11194 0 R (HD.10036) 11195 0 R (HD.10037) 11196 0 R (HD.10038) 11197 0 R (HD.10039) 11198 0 R (HD.1004) 1345 0 R (HD.10040) 11199 0 R (HD.10041) 11200 0 R (HD.10042) 11201 0 R (HD.10043) 11202 0 R (HD.10044) 11203 0 R (HD.10045) 11204 0 R (HD.10046) 11205 0 R (HD.10047) 11206 0 R (HD.10048) 11207 0 R (HD.10049) 11208 0 R (HD.1005) 1346 0 R (HD.10050) 11209 0 R (HD.10051) 11210 0 R (HD.10052) 11211 0 R (HD.10053) 11212 0 R ] /Limits [ (HD.10025) (HD.10053) ] >>
-endobj
-11706 0 obj
-<< /Names [ (HD.10054) 11213 0 R (HD.10055) 11214 0 R (HD.10056) 11215 0 R (HD.10057) 11216 0 R (HD.10058) 11217 0 R (HD.10059) 11218 0 R (HD.1006) 1347 0 R (HD.10060) 11219 0 R (HD.10061) 11220 0 R (HD.10062) 11221 0 R (HD.10063) 11222 0 R (HD.10064) 11223 0 R (HD.10065) 11224 0 R (HD.10066) 11225 0 R (HD.10067) 11226 0 R (HD.10068) 11227 0 R (HD.10069) 11228 0 R (HD.1007) 1348 0 R (HD.10070) 11229 0 R (HD.10071) 11230 0 R (HD.10072) 11231 0 R (HD.10073) 11232 0 R (HD.10074) 11233 0 R (HD.10075) 11234 0 R (HD.10076) 11235 0 R (HD.10077) 11236 0 R (HD.10078) 11237 0 R (HD.10079) 11238 0 R (HD.1008) 1349 0 R (HD.10080) 11239 0 R (HD.10081) 11240 0 R (HD.10082) 11241 0 R ] /Limits [ (HD.10054) (HD.10082) ] >>
-endobj
-11707 0 obj
-<< /Names [ (HD.10083) 11242 0 R (HD.10084) 11243 0 R (HD.10085) 11244 0 R (HD.10086) 11245 0 R (HD.10087) 11246 0 R (HD.10088) 11247 0 R (HD.10089) 11248 0 R (HD.1009) 1350 0 R (HD.10090) 11249 0 R (HD.10091) 11250 0 R (HD.10092) 11251 0 R (HD.10093) 11252 0 R (HD.10094) 11253 0 R (HD.10095) 11254 0 R (HD.10096) 11255 0 R (HD.10097) 11256 0 R (HD.10098) 11261 0 R (HD.10099) 11262 0 R (HD.101) 305 0 R (HD.1010) 1351 0 R (HD.10100) 11263 0 R (HD.10101) 11264 0 R (HD.10102) 11265 0 R (HD.10103) 11266 0 R (HD.10104) 11267 0 R (HD.10105) 11268 0 R (HD.10106) 11269 0 R (HD.10107) 11270 0 R (HD.10108) 11271 0 R (HD.10109) 11272 0 R (HD.1011) 1352 0 R (HD.10110) 11273 0 R ] /Limits [ (HD.10083) (HD.10110) ] >>
-endobj
-11708 0 obj
-<< /Names [ (HD.10111) 11274 0 R (HD.10112) 11275 0 R (HD.10113) 11276 0 R (HD.10114) 11277 0 R (HD.10115) 11278 0 R (HD.10116) 11279 0 R (HD.10117) 11280 0 R (HD.10118) 11281 0 R (HD.10119) 11282 0 R (HD.1012) 1353 0 R (HD.10120) 11283 0 R (HD.10121) 11284 0 R (HD.10122) 11285 0 R (HD.10123) 11286 0 R (HD.10124) 11287 0 R (HD.10125) 11288 0 R (HD.10126) 11289 0 R (HD.10127) 11290 0 R (HD.10128) 11291 0 R (HD.10129) 11292 0 R (HD.1013) 1354 0 R (HD.10130) 11293 0 R (HD.10131) 11294 0 R (HD.10132) 11295 0 R (HD.10133) 11296 0 R (HD.10134) 11297 0 R (HD.10135) 11298 0 R (HD.10136) 11299 0 R (HD.10137) 11300 0 R (HD.10138) 11301 0 R (HD.10139) 11302 0 R (HD.1014) 1355 0 R ] /Limits [ (HD.10111) (HD.1014) ] >>
-endobj
-11709 0 obj
-<< /Names [ (HD.10140) 11303 0 R (HD.10141) 11304 0 R (HD.10142) 11305 0 R (HD.10143) 11306 0 R (HD.10144) 11307 0 R (HD.10145) 11308 0 R (HD.10146) 11309 0 R (HD.10147) 11310 0 R (HD.10148) 11311 0 R (HD.10149) 11312 0 R (HD.1015) 1356 0 R (HD.10150) 11313 0 R (HD.10151) 11314 0 R (HD.10152) 11315 0 R (HD.10153) 11316 0 R (HD.10154) 11317 0 R (HD.10155) 11318 0 R (HD.10156) 11319 0 R (HD.10157) 11320 0 R (HD.10158) 11321 0 R (HD.10159) 11326 0 R (HD.1016) 1357 0 R (HD.10160) 11327 0 R (HD.10161) 11328 0 R (HD.10162) 11329 0 R (HD.10163) 11330 0 R (HD.10164) 11331 0 R (HD.10165) 11332 0 R (HD.10166) 11333 0 R (HD.10167) 11334 0 R (HD.10168) 11335 0 R (HD.10169) 11336 0 R ] /Limits [ (HD.10140) (HD.10169) ] >>
-endobj
-11710 0 obj
-<< /Names [ (HD.1017) 1358 0 R (HD.10170) 11337 0 R (HD.10171) 11338 0 R (HD.10172) 11339 0 R (HD.10173) 11340 0 R (HD.10174) 11341 0 R (HD.10175) 11342 0 R (HD.10176) 11343 0 R (HD.10177) 11344 0 R (HD.10178) 11345 0 R (HD.10179) 11346 0 R (HD.1018) 1359 0 R (HD.10180) 11347 0 R (HD.10181) 11348 0 R (HD.10182) 11349 0 R (HD.10183) 11350 0 R (HD.10184) 11351 0 R (HD.10185) 11352 0 R (HD.10186) 11353 0 R (HD.10187) 11354 0 R (HD.10188) 11355 0 R (HD.10189) 11356 0 R (HD.1019) 1360 0 R (HD.10190) 11357 0 R (HD.10191) 11358 0 R (HD.10192) 11359 0 R (HD.10193) 11360 0 R (HD.10194) 11361 0 R (HD.10195) 11362 0 R (HD.10196) 11363 0 R (HD.10197) 11364 0 R (HD.10198) 11365 0 R ] /Limits [ (HD.1017) (HD.10198) ] >>
-endobj
-11711 0 obj
-<< /Names [ (HD.10199) 11366 0 R (HD.102) 306 0 R (HD.1020) 1361 0 R (HD.10200) 11367 0 R (HD.10201) 11368 0 R (HD.10202) 11369 0 R (HD.10203) 11370 0 R (HD.10204) 11371 0 R (HD.10205) 11372 0 R (HD.10206) 11373 0 R (HD.10207) 11374 0 R (HD.10208) 11375 0 R (HD.10209) 11376 0 R (HD.1021) 1362 0 R (HD.10210) 11377 0 R (HD.10211) 11378 0 R (HD.10212) 11379 0 R (HD.10213) 11380 0 R (HD.10214) 11381 0 R (HD.10215) 11382 0 R (HD.10216) 11383 0 R (HD.10217) 11384 0 R (HD.10218) 11385 0 R (HD.10219) 11386 0 R (HD.1022) 1363 0 R (HD.10220) 11391 0 R (HD.10221) 11392 0 R (HD.10222) 11393 0 R (HD.10223) 11394 0 R (HD.10224) 11395 0 R (HD.10225) 11396 0 R (HD.10226) 11397 0 R ] /Limits [ (HD.10199) (HD.10226) ] >>
-endobj
-11712 0 obj
-<< /Names [ (HD.10227) 11398 0 R (HD.10228) 11399 0 R (HD.10229) 11400 0 R (HD.1023) 1364 0 R (HD.10230) 11401 0 R (HD.10231) 11402 0 R (HD.10232) 11403 0 R (HD.10233) 11404 0 R (HD.10234) 11405 0 R (HD.10235) 11406 0 R (HD.10236) 11407 0 R (HD.10237) 11408 0 R (HD.10238) 11409 0 R (HD.10239) 11410 0 R (HD.1024) 1365 0 R (HD.10240) 11411 0 R (HD.10241) 11412 0 R (HD.10242) 11413 0 R (HD.10243) 11414 0 R (HD.10244) 11415 0 R (HD.10245) 11416 0 R (HD.10246) 11417 0 R (HD.10247) 11418 0 R (HD.10248) 11419 0 R (HD.10249) 11420 0 R (HD.1025) 1366 0 R (HD.10250) 11421 0 R (HD.10251) 11422 0 R (HD.10252) 11423 0 R (HD.10253) 11424 0 R (HD.10254) 11425 0 R (HD.10255) 11426 0 R ] /Limits [ (HD.10227) (HD.10255) ] >>
-endobj
-11713 0 obj
-<< /Names [ (HD.10256) 11427 0 R (HD.10257) 11428 0 R (HD.10258) 11429 0 R (HD.10259) 11430 0 R (HD.1026) 1367 0 R (HD.10260) 11431 0 R (HD.10261) 11432 0 R (HD.10262) 11433 0 R (HD.10263) 11434 0 R (HD.10264) 11435 0 R (HD.10265) 11436 0 R (HD.10266) 11437 0 R (HD.10267) 11438 0 R (HD.10268) 11439 0 R (HD.10269) 11440 0 R (HD.1027) 1368 0 R (HD.10270) 11441 0 R (HD.10271) 11442 0 R (HD.10272) 11443 0 R (HD.10273) 11444 0 R (HD.10274) 11445 0 R (HD.10275) 11446 0 R (HD.10276) 11447 0 R (HD.10277) 11448 0 R (HD.10278) 11449 0 R (HD.10279) 11450 0 R (HD.1028) 1369 0 R (HD.10280) 11451 0 R (HD.10281) 11452 0 R (HD.10282) 11453 0 R (HD.10283) 11458 0 R (HD.10284) 11459 0 R ] /Limits [ (HD.10256) (HD.10284) ] >>
-endobj
-11714 0 obj
-<< /Names [ (HD.10285) 11460 0 R (HD.10286) 11461 0 R (HD.10287) 11462 0 R (HD.10288) 11463 0 R (HD.10289) 11464 0 R (HD.1029) 1370 0 R (HD.10290) 11465 0 R (HD.10291) 11466 0 R (HD.10292) 11467 0 R (HD.10293) 11468 0 R (HD.10294) 11469 0 R (HD.10295) 11470 0 R (HD.10296) 11471 0 R (HD.10297) 11472 0 R (HD.10298) 11473 0 R (HD.10299) 11474 0 R (HD.103) 307 0 R (HD.1030) 1371 0 R (HD.10300) 11475 0 R (HD.10301) 11476 0 R (HD.10302) 11477 0 R (HD.10303) 11478 0 R (HD.10304) 11479 0 R (HD.10305) 11480 0 R (HD.10306) 11481 0 R (HD.10307) 11482 0 R (HD.10308) 11483 0 R (HD.10309) 11484 0 R (HD.1031) 1372 0 R (HD.10310) 11485 0 R (HD.10311) 11486 0 R (HD.10312) 11487 0 R ] /Limits [ (HD.10285) (HD.10312) ] >>
-endobj
-11715 0 obj
-<< /Names [ (HD.10313) 11488 0 R (HD.10314) 11489 0 R (HD.10315) 11490 0 R (HD.10316) 11491 0 R (HD.10317) 11492 0 R (HD.10318) 11493 0 R (HD.10319) 11494 0 R (HD.1032) 1373 0 R (HD.10320) 11495 0 R (HD.10321) 11496 0 R (HD.10322) 11497 0 R (HD.10323) 11498 0 R (HD.10324) 11499 0 R (HD.10325) 11500 0 R (HD.10326) 11501 0 R (HD.10327) 11502 0 R (HD.10328) 11503 0 R (HD.10329) 11504 0 R (HD.1033) 1374 0 R (HD.10330) 11505 0 R (HD.10331) 11506 0 R (HD.10332) 11507 0 R (HD.10333) 11508 0 R (HD.10334) 11509 0 R (HD.10335) 11510 0 R (HD.10336) 11511 0 R (HD.10337) 11512 0 R (HD.10338) 11513 0 R (HD.10339) 11514 0 R (HD.1034) 1375 0 R (HD.10340) 11515 0 R (HD.10341) 11516 0 R ] /Limits [ (HD.10313) (HD.10341) ] >>
-endobj
-11716 0 obj
-<< /Names [ (HD.10342) 11517 0 R (HD.10343) 11518 0 R (HD.10344) 11519 0 R (HD.10345) 11520 0 R (HD.10346) 11525 0 R (HD.10347) 11526 0 R (HD.10348) 11527 0 R (HD.10349) 11528 0 R (HD.1035) 1376 0 R (HD.10350) 11529 0 R (HD.10351) 11530 0 R (HD.10352) 11531 0 R (HD.10353) 11532 0 R (HD.10354) 11533 0 R (HD.10355) 11534 0 R (HD.10356) 11535 0 R (HD.10357) 11536 0 R (HD.10358) 11537 0 R (HD.10359) 11538 0 R (HD.1036) 1377 0 R (HD.10360) 11539 0 R (HD.10361) 11540 0 R (HD.10362) 11541 0 R (HD.10363) 11542 0 R (HD.10364) 11543 0 R (HD.10365) 11544 0 R (HD.10366) 11545 0 R (HD.10367) 11546 0 R (HD.10368) 11547 0 R (HD.10369) 11548 0 R (HD.1037) 1378 0 R (HD.10370) 11549 0 R ] /Limits [ (HD.10342) (HD.10370) ] >>
-endobj
-11717 0 obj
-<< /Names [ (HD.10371) 11550 0 R (HD.10372) 11551 0 R (HD.1038) 1379 0 R (HD.1039) 1384 0 R (HD.104) 308 0 R (HD.1040) 1385 0 R (HD.1041) 1386 0 R (HD.1042) 1387 0 R (HD.1043) 1388 0 R (HD.1044) 1389 0 R (HD.1045) 1390 0 R (HD.1046) 1391 0 R (HD.1047) 1392 0 R (HD.1048) 1393 0 R (HD.1049) 1394 0 R (HD.105) 309 0 R (HD.1050) 1395 0 R (HD.1051) 1396 0 R (HD.1052) 1397 0 R (HD.1053) 1398 0 R (HD.1054) 1399 0 R (HD.1055) 1400 0 R (HD.1056) 1401 0 R (HD.1057) 1402 0 R (HD.1058) 1403 0 R (HD.1059) 1404 0 R (HD.106) 310 0 R (HD.1060) 1405 0 R (HD.1061) 1406 0 R (HD.1062) 1407 0 R (HD.1063) 1408 0 R (HD.1064) 1409 0 R ] /Limits [ (HD.10371) (HD.1064) ] >>
-endobj
-11718 0 obj
-<< /Names [ (HD.1065) 1410 0 R (HD.1066) 1411 0 R (HD.1067) 1412 0 R (HD.1068) 1413 0 R (HD.1069) 1414 0 R (HD.107) 311 0 R (HD.1070) 1415 0 R (HD.1071) 1416 0 R (HD.1072) 1417 0 R (HD.1073) 1418 0 R (HD.1074) 1419 0 R (HD.1075) 1420 0 R (HD.1076) 1421 0 R (HD.1077) 1422 0 R (HD.1078) 1423 0 R (HD.1079) 1424 0 R (HD.108) 312 0 R (HD.1080) 1425 0 R (HD.1081) 1426 0 R (HD.1082) 1427 0 R (HD.1083) 1428 0 R (HD.1084) 1429 0 R (HD.1085) 1430 0 R (HD.1086) 1431 0 R (HD.1087) 1432 0 R (HD.1088) 1433 0 R (HD.1089) 1434 0 R (HD.109) 313 0 R (HD.1090) 1435 0 R (HD.1091) 1436 0 R (HD.1092) 1437 0 R (HD.1093) 1438 0 R ] /Limits [ (HD.1065) (HD.1093) ] >>
-endobj
-11719 0 obj
-<< /Names [ (HD.1094) 1443 0 R (HD.1095) 1444 0 R (HD.1096) 1445 0 R (HD.1097) 1446 0 R (HD.1098) 1447 0 R (HD.1099) 1448 0 R (HD.11) 199 0 R (HD.110) 314 0 R (HD.1100) 1449 0 R (HD.1101) 1450 0 R (HD.1102) 1451 0 R (HD.1103) 1452 0 R (HD.1104) 1453 0 R (HD.1105) 1454 0 R (HD.1106) 1455 0 R (HD.1107) 1456 0 R (HD.1108) 1457 0 R (HD.1109) 1458 0 R (HD.111) 315 0 R (HD.1110) 1459 0 R (HD.1111) 1460 0 R (HD.1112) 1461 0 R (HD.1113) 1462 0 R (HD.1114) 1463 0 R (HD.1115) 1464 0 R (HD.1116) 1465 0 R (HD.1117) 1466 0 R (HD.1118) 1467 0 R (HD.1119) 1468 0 R (HD.112) 316 0 R (HD.1120) 1469 0 R (HD.1121) 1470 0 R ] /Limits [ (HD.1094) (HD.1121) ] >>
-endobj
-11720 0 obj
-<< /Names [ (HD.1122) 1471 0 R (HD.1123) 1472 0 R (HD.1124) 1473 0 R (HD.1125) 1474 0 R (HD.1126) 1475 0 R (HD.1127) 1476 0 R (HD.1128) 1477 0 R (HD.1129) 1478 0 R (HD.113) 319 0 R (HD.1130) 1479 0 R (HD.1131) 1480 0 R (HD.1132) 1481 0 R (HD.1133) 1482 0 R (HD.1134) 1483 0 R (HD.1135) 1484 0 R (HD.1136) 1489 0 R (HD.1137) 1490 0 R (HD.1138) 1491 0 R (HD.1139) 1492 0 R (HD.114) 320 0 R (HD.1140) 1493 0 R (HD.1141) 1494 0 R (HD.1142) 1495 0 R (HD.1143) 1496 0 R (HD.1144) 1497 0 R (HD.1145) 1498 0 R (HD.1146) 1499 0 R (HD.1147) 1500 0 R (HD.1148) 1501 0 R (HD.1149) 1502 0 R (HD.115) 321 0 R (HD.1150) 1503 0 R ] /Limits [ (HD.1122) (HD.1150) ] >>
-endobj
-11721 0 obj
-<< /Names [ (HD.1151) 1504 0 R (HD.1152) 1505 0 R (HD.1153) 1506 0 R (HD.1154) 1507 0 R (HD.1155) 1508 0 R (HD.1156) 1509 0 R (HD.1157) 1510 0 R (HD.1158) 1511 0 R (HD.1159) 1512 0 R (HD.116) 322 0 R (HD.1160) 1513 0 R (HD.1161) 1514 0 R (HD.1162) 1515 0 R (HD.1163) 1516 0 R (HD.1164) 1517 0 R (HD.1165) 1518 0 R (HD.1166) 1519 0 R (HD.1167) 1520 0 R (HD.1168) 1521 0 R (HD.1169) 1522 0 R (HD.117) 323 0 R (HD.1170) 1523 0 R (HD.1171) 1524 0 R (HD.1172) 1525 0 R (HD.1173) 1526 0 R (HD.1174) 1527 0 R (HD.1175) 1528 0 R (HD.1176) 1529 0 R (HD.1177) 1530 0 R (HD.1178) 1531 0 R (HD.1179) 1532 0 R (HD.118) 324 0 R ] /Limits [ (HD.1151) (HD.118) ] >>
-endobj
-11722 0 obj
-<< /Names [ (HD.1180) 1533 0 R (HD.1181) 1534 0 R (HD.1182) 1535 0 R (HD.1183) 1536 0 R (HD.1184) 1537 0 R (HD.1185) 1538 0 R (HD.1186) 1539 0 R (HD.1187) 1544 0 R (HD.1188) 1545 0 R (HD.1189) 1546 0 R (HD.119) 325 0 R (HD.1190) 1547 0 R (HD.1191) 1548 0 R (HD.1192) 1549 0 R (HD.1193) 1550 0 R (HD.1194) 1551 0 R (HD.1195) 1552 0 R (HD.1196) 1553 0 R (HD.1197) 1554 0 R (HD.1198) 1555 0 R (HD.1199) 1556 0 R (HD.12) 200 0 R (HD.120) 326 0 R (HD.1200) 1557 0 R (HD.1201) 1558 0 R (HD.1202) 1559 0 R (HD.1203) 1560 0 R (HD.1204) 1561 0 R (HD.1205) 1562 0 R (HD.1206) 1563 0 R (HD.1207) 1564 0 R (HD.1208) 1565 0 R ] /Limits [ (HD.1180) (HD.1208) ] >>
-endobj
-11723 0 obj
-<< /Names [ (HD.1209) 1566 0 R (HD.121) 327 0 R (HD.1210) 1567 0 R (HD.1211) 1572 0 R (HD.1212) 1573 0 R (HD.1213) 1574 0 R (HD.1214) 1575 0 R (HD.1215) 1576 0 R (HD.1216) 1577 0 R (HD.1217) 1578 0 R (HD.1218) 1579 0 R (HD.1219) 1580 0 R (HD.122) 328 0 R (HD.1220) 1581 0 R (HD.1221) 1582 0 R (HD.1222) 1583 0 R (HD.1223) 1584 0 R (HD.1224) 1585 0 R (HD.1225) 1586 0 R (HD.1226) 1587 0 R (HD.1227) 1588 0 R (HD.1228) 1589 0 R (HD.1229) 1590 0 R (HD.123) 329 0 R (HD.1230) 1591 0 R (HD.1231) 1592 0 R (HD.1232) 1593 0 R (HD.1233) 1594 0 R (HD.1234) 1595 0 R (HD.1235) 1596 0 R (HD.1236) 1597 0 R (HD.1237) 1598 0 R ] /Limits [ (HD.1209) (HD.1237) ] >>
-endobj
-11724 0 obj
-<< /Names [ (HD.1238) 1599 0 R (HD.1239) 1600 0 R (HD.124) 330 0 R (HD.1240) 1601 0 R (HD.1241) 1602 0 R (HD.1242) 1603 0 R (HD.1243) 1604 0 R (HD.1244) 1605 0 R (HD.1245) 1606 0 R (HD.1246) 1607 0 R (HD.1247) 1608 0 R (HD.1248) 1609 0 R (HD.1249) 1610 0 R (HD.125) 331 0 R (HD.1250) 1611 0 R (HD.1251) 1612 0 R (HD.1252) 1613 0 R (HD.1253) 1614 0 R (HD.1254) 1615 0 R (HD.1255) 1616 0 R (HD.1256) 1621 0 R (HD.1257) 1622 0 R (HD.1258) 1623 0 R (HD.1259) 1624 0 R (HD.126) 332 0 R (HD.1260) 1625 0 R (HD.1261) 1626 0 R (HD.1262) 1627 0 R (HD.1263) 1628 0 R (HD.1264) 1629 0 R (HD.1265) 1630 0 R (HD.1266) 1631 0 R ] /Limits [ (HD.1238) (HD.1266) ] >>
-endobj
-11725 0 obj
-<< /Names [ (HD.1267) 1632 0 R (HD.1268) 1633 0 R (HD.1269) 1634 0 R (HD.127) 333 0 R (HD.1270) 1635 0 R (HD.1271) 1636 0 R (HD.1272) 1637 0 R (HD.1273) 1638 0 R (HD.1274) 1639 0 R (HD.1275) 1640 0 R (HD.1276) 1641 0 R (HD.1277) 1642 0 R (HD.1278) 1643 0 R (HD.1279) 1644 0 R (HD.128) 334 0 R (HD.1280) 1645 0 R (HD.1281) 1646 0 R (HD.1282) 1647 0 R (HD.1283) 1648 0 R (HD.1284) 1649 0 R (HD.1285) 1650 0 R (HD.1286) 1651 0 R (HD.1287) 1652 0 R (HD.1288) 1653 0 R (HD.1289) 1654 0 R (HD.129) 335 0 R (HD.1290) 1655 0 R (HD.1291) 1656 0 R (HD.1292) 1657 0 R (HD.1293) 1658 0 R (HD.1294) 1659 0 R (HD.1295) 1660 0 R ] /Limits [ (HD.1267) (HD.1295) ] >>
-endobj
-11726 0 obj
-<< /Names [ (HD.1296) 1661 0 R (HD.1297) 1662 0 R (HD.1298) 1663 0 R (HD.1299) 1664 0 R (HD.13) 201 0 R (HD.130) 336 0 R (HD.1300) 1665 0 R (HD.1301) 1666 0 R (HD.1302) 1667 0 R (HD.1303) 1668 0 R (HD.1304) 1669 0 R (HD.1305) 1670 0 R (HD.1306) 1671 0 R (HD.1307) 1672 0 R (HD.1308) 1673 0 R (HD.1309) 1674 0 R (HD.131) 337 0 R (HD.1310) 1675 0 R (HD.1311) 1676 0 R (HD.1312) 1677 0 R (HD.1313) 1678 0 R (HD.1314) 1679 0 R (HD.1315) 1684 0 R (HD.1316) 1685 0 R (HD.1317) 1686 0 R (HD.1318) 1687 0 R (HD.1319) 1688 0 R (HD.132) 338 0 R (HD.1320) 1689 0 R (HD.1321) 1690 0 R (HD.1322) 1691 0 R (HD.1323) 1692 0 R ] /Limits [ (HD.1296) (HD.1323) ] >>
-endobj
-11727 0 obj
-<< /Names [ (HD.1324) 1693 0 R (HD.1325) 1694 0 R (HD.1326) 1695 0 R (HD.1327) 1696 0 R (HD.1328) 1697 0 R (HD.1329) 1698 0 R (HD.133) 339 0 R (HD.1330) 1699 0 R (HD.1331) 1700 0 R (HD.1332) 1701 0 R (HD.1333) 1702 0 R (HD.1334) 1703 0 R (HD.1335) 1704 0 R (HD.1336) 1705 0 R (HD.1337) 1706 0 R (HD.1338) 1707 0 R (HD.1339) 1708 0 R (HD.134) 344 0 R (HD.1340) 1709 0 R (HD.1341) 1710 0 R (HD.1342) 1711 0 R (HD.1343) 1712 0 R (HD.1344) 1713 0 R (HD.1345) 1718 0 R (HD.1346) 1719 0 R (HD.1347) 1720 0 R (HD.1348) 1721 0 R (HD.1349) 1722 0 R (HD.135) 345 0 R (HD.1350) 1723 0 R (HD.1351) 1724 0 R (HD.1352) 1725 0 R ] /Limits [ (HD.1324) (HD.1352) ] >>
-endobj
-11728 0 obj
-<< /Names [ (HD.1353) 1726 0 R (HD.1354) 1727 0 R (HD.1355) 1728 0 R (HD.1356) 1729 0 R (HD.1357) 1730 0 R (HD.1358) 1731 0 R (HD.1359) 1732 0 R (HD.136) 346 0 R (HD.1360) 1733 0 R (HD.1361) 1734 0 R (HD.1362) 1735 0 R (HD.1363) 1736 0 R (HD.1364) 1737 0 R (HD.1365) 1738 0 R (HD.1366) 1739 0 R (HD.1367) 1740 0 R (HD.1368) 1741 0 R (HD.1369) 1742 0 R (HD.137) 347 0 R (HD.1370) 1743 0 R (HD.1371) 1744 0 R (HD.1372) 1745 0 R (HD.1373) 1746 0 R (HD.1374) 1747 0 R (HD.1375) 1748 0 R (HD.1376) 1749 0 R (HD.1377) 1750 0 R (HD.1378) 1751 0 R (HD.1379) 1752 0 R (HD.138) 348 0 R (HD.1380) 1753 0 R (HD.1381) 1754 0 R ] /Limits [ (HD.1353) (HD.1381) ] >>
-endobj
-11729 0 obj
-<< /Names [ (HD.1382) 1755 0 R (HD.1383) 1756 0 R (HD.1384) 1757 0 R (HD.1385) 1758 0 R (HD.1386) 1759 0 R (HD.1387) 1760 0 R (HD.1388) 1761 0 R (HD.1389) 1762 0 R (HD.139) 349 0 R (HD.1390) 1763 0 R (HD.1391) 1764 0 R (HD.1392) 1765 0 R (HD.1393) 1766 0 R (HD.1394) 1771 0 R (HD.1395) 1772 0 R (HD.1396) 1773 0 R (HD.1397) 1774 0 R (HD.1398) 1775 0 R (HD.1399) 1776 0 R (HD.14) 202 0 R (HD.140) 350 0 R (HD.1400) 1777 0 R (HD.1401) 1778 0 R (HD.1402) 1779 0 R (HD.1403) 1780 0 R (HD.1404) 1781 0 R (HD.1405) 1782 0 R (HD.1406) 1783 0 R (HD.1407) 1784 0 R (HD.1408) 1785 0 R (HD.1409) 1786 0 R (HD.141) 351 0 R ] /Limits [ (HD.1382) (HD.141) ] >>
-endobj
-11730 0 obj
-<< /Names [ (HD.1410) 1787 0 R (HD.1411) 1788 0 R (HD.1412) 1789 0 R (HD.1413) 1790 0 R (HD.1414) 1791 0 R (HD.1415) 1792 0 R (HD.1416) 1793 0 R (HD.1417) 1794 0 R (HD.1418) 1795 0 R (HD.1419) 1796 0 R (HD.142) 352 0 R (HD.1420) 1797 0 R (HD.1421) 1798 0 R (HD.1422) 1799 0 R (HD.1423) 1800 0 R (HD.1424) 1801 0 R (HD.1425) 1802 0 R (HD.1426) 1803 0 R (HD.1427) 1804 0 R (HD.1428) 1805 0 R (HD.1429) 1806 0 R (HD.143) 353 0 R (HD.1430) 1807 0 R (HD.1431) 1808 0 R (HD.1432) 1815 0 R (HD.1433) 1816 0 R (HD.1434) 1817 0 R (HD.1435) 1818 0 R (HD.1436) 1819 0 R (HD.1437) 1820 0 R (HD.1438) 1821 0 R (HD.1439) 1822 0 R ] /Limits [ (HD.1410) (HD.1439) ] >>
-endobj
-11731 0 obj
-<< /Names [ (HD.144) 354 0 R (HD.1440) 1823 0 R (HD.1441) 1824 0 R (HD.1442) 1825 0 R (HD.1443) 1826 0 R (HD.1444) 1827 0 R (HD.1445) 1828 0 R (HD.1446) 1829 0 R (HD.1447) 1830 0 R (HD.1448) 1831 0 R (HD.1449) 1832 0 R (HD.145) 355 0 R (HD.1450) 1833 0 R (HD.1451) 1834 0 R (HD.1452) 1835 0 R (HD.1453) 1836 0 R (HD.1454) 1837 0 R (HD.1455) 1838 0 R (HD.1456) 1839 0 R (HD.1457) 1840 0 R (HD.1458) 1841 0 R (HD.1459) 1842 0 R (HD.146) 356 0 R (HD.1460) 1843 0 R (HD.1461) 1844 0 R (HD.1462) 1845 0 R (HD.1463) 1846 0 R (HD.1464) 1847 0 R (HD.1465) 1848 0 R (HD.1466) 1849 0 R (HD.1467) 1850 0 R (HD.1468) 1851 0 R ] /Limits [ (HD.144) (HD.1468) ] >>
-endobj
-11732 0 obj
-<< /Names [ (HD.1469) 1852 0 R (HD.147) 357 0 R (HD.1470) 1853 0 R (HD.1471) 1854 0 R (HD.1472) 1855 0 R (HD.1473) 1860 0 R (HD.1474) 1861 0 R (HD.1475) 1862 0 R (HD.1476) 1863 0 R (HD.1477) 1864 0 R (HD.1478) 1865 0 R (HD.1479) 1866 0 R (HD.148) 358 0 R (HD.1480) 1867 0 R (HD.1481) 1868 0 R (HD.1482) 1869 0 R (HD.1483) 1870 0 R (HD.1484) 1871 0 R (HD.1485) 1872 0 R (HD.1486) 1873 0 R (HD.1487) 1874 0 R (HD.1488) 1875 0 R (HD.1489) 1876 0 R (HD.149) 359 0 R (HD.1490) 1877 0 R (HD.1491) 1878 0 R (HD.1492) 1879 0 R (HD.1493) 1880 0 R (HD.1494) 1881 0 R (HD.1495) 1882 0 R (HD.1496) 1883 0 R (HD.1497) 1884 0 R ] /Limits [ (HD.1469) (HD.1497) ] >>
-endobj
-11733 0 obj
-<< /Names [ (HD.1498) 1885 0 R (HD.1499) 1886 0 R (HD.15) 203 0 R (HD.150) 360 0 R (HD.1500) 1887 0 R (HD.1501) 1888 0 R (HD.1502) 1889 0 R (HD.1503) 1890 0 R (HD.1504) 1891 0 R (HD.1505) 1892 0 R (HD.1506) 1893 0 R (HD.1507) 1894 0 R (HD.1508) 1895 0 R (HD.1509) 1896 0 R (HD.151) 361 0 R (HD.1510) 1897 0 R (HD.1511) 1898 0 R (HD.1512) 1899 0 R (HD.1513) 1900 0 R (HD.1514) 1901 0 R (HD.1515) 1902 0 R (HD.1516) 1903 0 R (HD.1517) 1904 0 R (HD.1518) 1905 0 R (HD.1519) 1906 0 R (HD.152) 362 0 R (HD.1520) 1907 0 R (HD.1521) 1908 0 R (HD.1522) 1909 0 R (HD.1523) 1910 0 R (HD.1524) 1917 0 R (HD.1525) 1918 0 R ] /Limits [ (HD.1498) (HD.1525) ] >>
-endobj
-11734 0 obj
-<< /Names [ (HD.1526) 1919 0 R (HD.1527) 1920 0 R (HD.1528) 1921 0 R (HD.1529) 1922 0 R (HD.153) 363 0 R (HD.1530) 1923 0 R (HD.1531) 1924 0 R (HD.1532) 1925 0 R (HD.1533) 1926 0 R (HD.1534) 1927 0 R (HD.1535) 1928 0 R (HD.1536) 1929 0 R (HD.1537) 1930 0 R (HD.1538) 1931 0 R (HD.1539) 1932 0 R (HD.154) 364 0 R (HD.1540) 1933 0 R (HD.1541) 1934 0 R (HD.1542) 1935 0 R (HD.1543) 1936 0 R (HD.1544) 1937 0 R (HD.1545) 1938 0 R (HD.1546) 1939 0 R (HD.1547) 1940 0 R (HD.1548) 1941 0 R (HD.1549) 1942 0 R (HD.155) 365 0 R (HD.1550) 1943 0 R (HD.1551) 1944 0 R (HD.1552) 1945 0 R (HD.1553) 1946 0 R (HD.1554) 1947 0 R ] /Limits [ (HD.1526) (HD.1554) ] >>
-endobj
-11735 0 obj
-<< /Names [ (HD.1555) 1948 0 R (HD.1556) 1949 0 R (HD.1557) 1950 0 R (HD.1558) 1951 0 R (HD.1559) 1952 0 R (HD.156) 366 0 R (HD.1560) 1953 0 R (HD.1561) 1954 0 R (HD.1562) 1955 0 R (HD.1563) 1956 0 R (HD.1564) 1957 0 R (HD.1565) 1958 0 R (HD.1566) 1959 0 R (HD.1567) 1967 0 R (HD.1568) 1968 0 R (HD.1569) 1969 0 R (HD.157) 367 0 R (HD.1570) 1970 0 R (HD.1571) 1971 0 R (HD.1572) 1972 0 R (HD.1573) 1973 0 R (HD.1574) 1974 0 R (HD.1575) 1975 0 R (HD.1576) 1976 0 R (HD.1577) 1977 0 R (HD.1578) 1978 0 R (HD.1579) 1979 0 R (HD.158) 368 0 R (HD.1580) 1980 0 R (HD.1581) 1981 0 R (HD.1582) 1982 0 R (HD.1583) 1983 0 R ] /Limits [ (HD.1555) (HD.1583) ] >>
+<< /Title 7 0 R /A 4 0 R /Parent 11735 0 R /Next 10 0 R >>
endobj
11736 0 obj
-<< /Names [ (HD.1584) 1984 0 R (HD.1585) 1985 0 R (HD.1586) 1986 0 R (HD.1587) 1987 0 R (HD.1588) 1988 0 R (HD.1589) 1989 0 R (HD.159) 369 0 R (HD.1590) 1990 0 R (HD.1591) 1991 0 R (HD.1592) 1992 0 R (HD.1593) 1993 0 R (HD.1594) 1994 0 R (HD.1595) 1995 0 R (HD.1596) 1996 0 R (HD.1597) 1997 0 R (HD.1598) 1998 0 R (HD.1599) 1999 0 R (HD.16) 211 0 R (HD.160) 370 0 R (HD.1600) 2000 0 R (HD.1601) 2001 0 R (HD.1602) 2002 0 R (HD.1603) 2003 0 R (HD.1604) 2004 0 R (HD.1605) 2005 0 R (HD.1606) 2010 0 R (HD.1607) 2011 0 R (HD.1608) 2012 0 R (HD.1609) 2013 0 R (HD.161) 371 0 R (HD.1610) 2014 0 R (HD.1611) 2015 0 R ] /Limits [ (HD.1584) (HD.1611) ] >>
+<< /Names [ (Doc-Start) 173 0 R (HD.1) 188 0 R (HD.10) 198 0 R (HD.100) 300 0 R (HD.1000) 1341 0 R (HD.10000) 11154 0 R (HD.10001) 11160 0 R (HD.10002) 11161 0 R (HD.10003) 11162 0 R (HD.10004) 11163 0 R (HD.10005) 11164 0 R (HD.10006) 11165 0 R (HD.10007) 11166 0 R (HD.10008) 11167 0 R (HD.10009) 11168 0 R (HD.1001) 1342 0 R (HD.10010) 11169 0 R (HD.10011) 11170 0 R (HD.10012) 11171 0 R (HD.10013) 11172 0 R (HD.10014) 11173 0 R (HD.10015) 11174 0 R (HD.10016) 11175 0 R (HD.10017) 11176 0 R (HD.10018) 11177 0 R (HD.10019) 11178 0 R (HD.1002) 1343 0 R (HD.10020) 11179 0 R (HD.10021) 11180 0 R (HD.10022) 11181 0 R (HD.10023) 11182 0 R (HD.10024) 11183 0 R ] /Limits [ (Doc-Start) (HD.10024) ] >>
endobj
11737 0 obj
-<< /Names [ (HD.1612) 2016 0 R (HD.1613) 2017 0 R (HD.1614) 2018 0 R (HD.1615) 2019 0 R (HD.1616) 2020 0 R (HD.1617) 2021 0 R (HD.1618) 2022 0 R (HD.1619) 2023 0 R (HD.162) 372 0 R (HD.1620) 2024 0 R (HD.1621) 2025 0 R (HD.1622) 2026 0 R (HD.1623) 2027 0 R (HD.1624) 2028 0 R (HD.1625) 2029 0 R (HD.1626) 2030 0 R (HD.1627) 2031 0 R (HD.1628) 2032 0 R (HD.1629) 2033 0 R (HD.163) 373 0 R (HD.1630) 2034 0 R (HD.1631) 2035 0 R (HD.1632) 2036 0 R (HD.1633) 2037 0 R (HD.1634) 2038 0 R (HD.1635) 2039 0 R (HD.1636) 2040 0 R (HD.1637) 2041 0 R (HD.1638) 2042 0 R (HD.1639) 2043 0 R (HD.164) 374 0 R (HD.1640) 2044 0 R ] /Limits [ (HD.1612) (HD.1640) ] >>
+<< /Names [ (HD.10025) 11184 0 R (HD.10026) 11185 0 R (HD.10027) 11186 0 R (HD.10028) 11187 0 R (HD.10029) 11188 0 R (HD.1003) 1344 0 R (HD.10030) 11189 0 R (HD.10031) 11190 0 R (HD.10032) 11191 0 R (HD.10033) 11192 0 R (HD.10034) 11193 0 R (HD.10035) 11194 0 R (HD.10036) 11195 0 R (HD.10037) 11196 0 R (HD.10038) 11197 0 R (HD.10039) 11198 0 R (HD.1004) 1345 0 R (HD.10040) 11199 0 R (HD.10041) 11200 0 R (HD.10042) 11201 0 R (HD.10043) 11202 0 R (HD.10044) 11203 0 R (HD.10045) 11204 0 R (HD.10046) 11205 0 R (HD.10047) 11206 0 R (HD.10048) 11207 0 R (HD.10049) 11208 0 R (HD.1005) 1346 0 R (HD.10050) 11209 0 R (HD.10051) 11210 0 R (HD.10052) 11211 0 R (HD.10053) 11212 0 R ] /Limits [ (HD.10025) (HD.10053) ] >>
endobj
11738 0 obj
-<< /Names [ (HD.1641) 2045 0 R (HD.1642) 2046 0 R (HD.1643) 2047 0 R (HD.1644) 2048 0 R (HD.1645) 2049 0 R (HD.1646) 2050 0 R (HD.1647) 2051 0 R (HD.1648) 2052 0 R (HD.1649) 2053 0 R (HD.165) 375 0 R (HD.1650) 2054 0 R (HD.1651) 2055 0 R (HD.1652) 2056 0 R (HD.1653) 2057 0 R (HD.1654) 2058 0 R (HD.1655) 2059 0 R (HD.1656) 2060 0 R (HD.1657) 2065 0 R (HD.1658) 2066 0 R (HD.1659) 2067 0 R (HD.166) 376 0 R (HD.1660) 2068 0 R (HD.1661) 2069 0 R (HD.1662) 2070 0 R (HD.1663) 2071 0 R (HD.1664) 2072 0 R (HD.1665) 2073 0 R (HD.1666) 2074 0 R (HD.1667) 2075 0 R (HD.1668) 2076 0 R (HD.1669) 2077 0 R (HD.167) 377 0 R ] /Limits [ (HD.1641) (HD.167) ] >>
+<< /Names [ (HD.10054) 11213 0 R (HD.10055) 11214 0 R (HD.10056) 11215 0 R (HD.10057) 11216 0 R (HD.10058) 11217 0 R (HD.10059) 11218 0 R (HD.1006) 1347 0 R (HD.10060) 11219 0 R (HD.10061) 11220 0 R (HD.10062) 11221 0 R (HD.10063) 11226 0 R (HD.10064) 11227 0 R (HD.10065) 11228 0 R (HD.10066) 11229 0 R (HD.10067) 11230 0 R (HD.10068) 11231 0 R (HD.10069) 11232 0 R (HD.1007) 1348 0 R (HD.10070) 11233 0 R (HD.10071) 11234 0 R (HD.10072) 11235 0 R (HD.10073) 11236 0 R (HD.10074) 11237 0 R (HD.10075) 11238 0 R (HD.10076) 11239 0 R (HD.10077) 11240 0 R (HD.10078) 11241 0 R (HD.10079) 11242 0 R (HD.1008) 1349 0 R (HD.10080) 11243 0 R (HD.10081) 11244 0 R (HD.10082) 11245 0 R ] /Limits [ (HD.10054) (HD.10082) ] >>
endobj
11739 0 obj
-<< /Names [ (HD.1670) 2078 0 R (HD.1671) 2079 0 R (HD.1672) 2080 0 R (HD.1673) 2081 0 R (HD.1674) 2082 0 R (HD.1675) 2083 0 R (HD.1676) 2084 0 R (HD.1677) 2085 0 R (HD.1678) 2086 0 R (HD.1679) 2087 0 R (HD.168) 378 0 R (HD.1680) 2088 0 R (HD.1681) 2089 0 R (HD.1682) 2090 0 R (HD.1683) 2091 0 R (HD.1684) 2092 0 R (HD.1685) 2093 0 R (HD.1686) 2094 0 R (HD.1687) 2095 0 R (HD.1688) 2096 0 R (HD.1689) 2097 0 R (HD.169) 379 0 R (HD.1690) 2102 0 R (HD.1691) 2103 0 R (HD.1692) 2104 0 R (HD.1693) 2105 0 R (HD.1694) 2106 0 R (HD.1695) 2107 0 R (HD.1696) 2108 0 R (HD.1697) 2109 0 R (HD.1698) 2110 0 R (HD.1699) 2111 0 R ] /Limits [ (HD.1670) (HD.1699) ] >>
+<< /Names [ (HD.10083) 11246 0 R (HD.10084) 11247 0 R (HD.10085) 11248 0 R (HD.10086) 11249 0 R (HD.10087) 11250 0 R (HD.10088) 11251 0 R (HD.10089) 11252 0 R (HD.1009) 1350 0 R (HD.10090) 11253 0 R (HD.10091) 11254 0 R (HD.10092) 11255 0 R (HD.10093) 11256 0 R (HD.10094) 11257 0 R (HD.10095) 11258 0 R (HD.10096) 11259 0 R (HD.10097) 11260 0 R (HD.10098) 11261 0 R (HD.10099) 11262 0 R (HD.101) 305 0 R (HD.1010) 1351 0 R (HD.10100) 11263 0 R (HD.10101) 11264 0 R (HD.10102) 11265 0 R (HD.10103) 11266 0 R (HD.10104) 11267 0 R (HD.10105) 11268 0 R (HD.10106) 11269 0 R (HD.10107) 11270 0 R (HD.10108) 11271 0 R (HD.10109) 11272 0 R (HD.1011) 1352 0 R (HD.10110) 11273 0 R ] /Limits [ (HD.10083) (HD.10110) ] >>
endobj
11740 0 obj
-<< /Names [ (HD.17) 212 0 R (HD.170) 380 0 R (HD.1700) 2112 0 R (HD.1701) 2113 0 R (HD.1702) 2114 0 R (HD.1703) 2115 0 R (HD.1704) 2116 0 R (HD.1705) 2117 0 R (HD.1706) 2118 0 R (HD.1707) 2119 0 R (HD.1708) 2120 0 R (HD.1709) 2121 0 R (HD.171) 381 0 R (HD.1710) 2122 0 R (HD.1711) 2123 0 R (HD.1712) 2124 0 R (HD.1713) 2125 0 R (HD.1714) 2126 0 R (HD.1715) 2127 0 R (HD.1716) 2128 0 R (HD.1717) 2129 0 R (HD.1718) 2130 0 R (HD.1719) 2135 0 R (HD.172) 382 0 R (HD.1720) 2136 0 R (HD.1721) 2137 0 R (HD.1722) 2138 0 R (HD.1723) 2139 0 R (HD.1724) 2140 0 R (HD.1725) 2141 0 R (HD.1726) 2142 0 R (HD.1727) 2143 0 R ] /Limits [ (HD.17) (HD.1727) ] >>
+<< /Names [ (HD.10111) 11274 0 R (HD.10112) 11275 0 R (HD.10113) 11276 0 R (HD.10114) 11277 0 R (HD.10115) 11278 0 R (HD.10116) 11279 0 R (HD.10117) 11280 0 R (HD.10118) 11281 0 R (HD.10119) 11282 0 R (HD.1012) 1353 0 R (HD.10120) 11283 0 R (HD.10121) 11284 0 R (HD.10122) 11285 0 R (HD.10123) 11286 0 R (HD.10124) 11287 0 R (HD.10125) 11288 0 R (HD.10126) 11293 0 R (HD.10127) 11294 0 R (HD.10128) 11295 0 R (HD.10129) 11296 0 R (HD.1013) 1354 0 R (HD.10130) 11297 0 R (HD.10131) 11298 0 R (HD.10132) 11299 0 R (HD.10133) 11300 0 R (HD.10134) 11301 0 R (HD.10135) 11302 0 R (HD.10136) 11303 0 R (HD.10137) 11304 0 R (HD.10138) 11305 0 R (HD.10139) 11306 0 R (HD.1014) 1355 0 R ] /Limits [ (HD.10111) (HD.1014) ] >>
endobj
11741 0 obj
-<< /Names [ (HD.1728) 2144 0 R (HD.1729) 2145 0 R (HD.173) 383 0 R (HD.1730) 2146 0 R (HD.1731) 2147 0 R (HD.1732) 2148 0 R (HD.1733) 2149 0 R (HD.1734) 2150 0 R (HD.1735) 2151 0 R (HD.1736) 2152 0 R (HD.1737) 2153 0 R (HD.1738) 2154 0 R (HD.1739) 2155 0 R (HD.174) 388 0 R (HD.1740) 2156 0 R (HD.1741) 2157 0 R (HD.1742) 2158 0 R (HD.1743) 2159 0 R (HD.1744) 2160 0 R (HD.1745) 2161 0 R (HD.1746) 2162 0 R (HD.1747) 2163 0 R (HD.1748) 2164 0 R (HD.1749) 2165 0 R (HD.175) 389 0 R (HD.1750) 2166 0 R (HD.1751) 2167 0 R (HD.1752) 2168 0 R (HD.1753) 2173 0 R (HD.1754) 2174 0 R (HD.1755) 2175 0 R (HD.1756) 2176 0 R ] /Limits [ (HD.1728) (HD.1756) ] >>
+<< /Names [ (HD.10140) 11307 0 R (HD.10141) 11308 0 R (HD.10142) 11309 0 R (HD.10143) 11310 0 R (HD.10144) 11311 0 R (HD.10145) 11312 0 R (HD.10146) 11313 0 R (HD.10147) 11314 0 R (HD.10148) 11315 0 R (HD.10149) 11316 0 R (HD.1015) 1356 0 R (HD.10150) 11317 0 R (HD.10151) 11318 0 R (HD.10152) 11319 0 R (HD.10153) 11320 0 R (HD.10154) 11321 0 R (HD.10155) 11322 0 R (HD.10156) 11323 0 R (HD.10157) 11324 0 R (HD.10158) 11325 0 R (HD.10159) 11326 0 R (HD.1016) 1357 0 R (HD.10160) 11327 0 R (HD.10161) 11328 0 R (HD.10162) 11329 0 R (HD.10163) 11330 0 R (HD.10164) 11331 0 R (HD.10165) 11332 0 R (HD.10166) 11333 0 R (HD.10167) 11334 0 R (HD.10168) 11335 0 R (HD.10169) 11336 0 R ] /Limits [ (HD.10140) (HD.10169) ] >>
endobj
11742 0 obj
-<< /Names [ (HD.1757) 2177 0 R (HD.1758) 2178 0 R (HD.1759) 2179 0 R (HD.176) 390 0 R (HD.1760) 2180 0 R (HD.1761) 2181 0 R (HD.1762) 2182 0 R (HD.1763) 2183 0 R (HD.1764) 2184 0 R (HD.1765) 2185 0 R (HD.1766) 2186 0 R (HD.1767) 2187 0 R (HD.1768) 2188 0 R (HD.1769) 2189 0 R (HD.177) 391 0 R (HD.1770) 2190 0 R (HD.1771) 2191 0 R (HD.1772) 2192 0 R (HD.1773) 2193 0 R (HD.1774) 2194 0 R (HD.1775) 2195 0 R (HD.1776) 2196 0 R (HD.1777) 2197 0 R (HD.1778) 2198 0 R (HD.1779) 2199 0 R (HD.178) 392 0 R (HD.1780) 2200 0 R (HD.1781) 2201 0 R (HD.1782) 2202 0 R (HD.1783) 2203 0 R (HD.1784) 2204 0 R (HD.1785) 2205 0 R ] /Limits [ (HD.1757) (HD.1785) ] >>
+<< /Names [ (HD.1017) 1358 0 R (HD.10170) 11337 0 R (HD.10171) 11338 0 R (HD.10172) 11339 0 R (HD.10173) 11340 0 R (HD.10174) 11341 0 R (HD.10175) 11342 0 R (HD.10176) 11343 0 R (HD.10177) 11344 0 R (HD.10178) 11345 0 R (HD.10179) 11346 0 R (HD.1018) 1359 0 R (HD.10180) 11347 0 R (HD.10181) 11348 0 R (HD.10182) 11349 0 R (HD.10183) 11350 0 R (HD.10184) 11351 0 R (HD.10185) 11352 0 R (HD.10186) 11353 0 R (HD.10187) 11358 0 R (HD.10188) 11359 0 R (HD.10189) 11360 0 R (HD.1019) 1360 0 R (HD.10190) 11361 0 R (HD.10191) 11362 0 R (HD.10192) 11363 0 R (HD.10193) 11364 0 R (HD.10194) 11365 0 R (HD.10195) 11366 0 R (HD.10196) 11367 0 R (HD.10197) 11368 0 R (HD.10198) 11369 0 R ] /Limits [ (HD.1017) (HD.10198) ] >>
endobj
11743 0 obj
-<< /Names [ (HD.1786) 2206 0 R (HD.1787) 2207 0 R (HD.1788) 2208 0 R (HD.1789) 2209 0 R (HD.179) 393 0 R (HD.1790) 2210 0 R (HD.1791) 2211 0 R (HD.1792) 2216 0 R (HD.1793) 2217 0 R (HD.1794) 2218 0 R (HD.1795) 2219 0 R (HD.1796) 2220 0 R (HD.1797) 2221 0 R (HD.1798) 2222 0 R (HD.1799) 2223 0 R (HD.18) 213 0 R (HD.180) 394 0 R (HD.1800) 2224 0 R (HD.1801) 2225 0 R (HD.1802) 2226 0 R (HD.1803) 2227 0 R (HD.1804) 2228 0 R (HD.1805) 2229 0 R (HD.1806) 2230 0 R (HD.1807) 2231 0 R (HD.1808) 2232 0 R (HD.1809) 2233 0 R (HD.181) 395 0 R (HD.1810) 2234 0 R (HD.1811) 2235 0 R (HD.1812) 2236 0 R (HD.1813) 2237 0 R ] /Limits [ (HD.1786) (HD.1813) ] >>
+<< /Names [ (HD.10199) 11370 0 R (HD.102) 306 0 R (HD.1020) 1361 0 R (HD.10200) 11371 0 R (HD.10201) 11372 0 R (HD.10202) 11373 0 R (HD.10203) 11374 0 R (HD.10204) 11375 0 R (HD.10205) 11376 0 R (HD.10206) 11377 0 R (HD.10207) 11378 0 R (HD.10208) 11379 0 R (HD.10209) 11380 0 R (HD.1021) 1362 0 R (HD.10210) 11381 0 R (HD.10211) 11382 0 R (HD.10212) 11383 0 R (HD.10213) 11384 0 R (HD.10214) 11385 0 R (HD.10215) 11386 0 R (HD.10216) 11387 0 R (HD.10217) 11388 0 R (HD.10218) 11389 0 R (HD.10219) 11390 0 R (HD.1022) 1363 0 R (HD.10220) 11391 0 R (HD.10221) 11392 0 R (HD.10222) 11393 0 R (HD.10223) 11394 0 R (HD.10224) 11395 0 R (HD.10225) 11396 0 R (HD.10226) 11397 0 R ] /Limits [ (HD.10199) (HD.10226) ] >>
endobj
11744 0 obj
-<< /Names [ (HD.1814) 2238 0 R (HD.1815) 2239 0 R (HD.1816) 2240 0 R (HD.1817) 2241 0 R (HD.1818) 2242 0 R (HD.1819) 2243 0 R (HD.182) 396 0 R (HD.1820) 2244 0 R (HD.1821) 2245 0 R (HD.1822) 2246 0 R (HD.1823) 2247 0 R (HD.1824) 2248 0 R (HD.1825) 2249 0 R (HD.1826) 2250 0 R (HD.1827) 2251 0 R (HD.1828) 2252 0 R (HD.1829) 2253 0 R (HD.183) 397 0 R (HD.1830) 2259 0 R (HD.1831) 2260 0 R (HD.1832) 2261 0 R (HD.1833) 2262 0 R (HD.1834) 2263 0 R (HD.1835) 2264 0 R (HD.1836) 2265 0 R (HD.1837) 2266 0 R (HD.1838) 2267 0 R (HD.1839) 2268 0 R (HD.184) 398 0 R (HD.1840) 2269 0 R (HD.1841) 2270 0 R (HD.1842) 2271 0 R ] /Limits [ (HD.1814) (HD.1842) ] >>
+<< /Names [ (HD.10227) 11398 0 R (HD.10228) 11399 0 R (HD.10229) 11400 0 R (HD.1023) 1364 0 R (HD.10230) 11401 0 R (HD.10231) 11402 0 R (HD.10232) 11403 0 R (HD.10233) 11404 0 R (HD.10234) 11405 0 R (HD.10235) 11406 0 R (HD.10236) 11407 0 R (HD.10237) 11408 0 R (HD.10238) 11409 0 R (HD.10239) 11410 0 R (HD.1024) 1365 0 R (HD.10240) 11411 0 R (HD.10241) 11412 0 R (HD.10242) 11413 0 R (HD.10243) 11414 0 R (HD.10244) 11415 0 R (HD.10245) 11416 0 R (HD.10246) 11417 0 R (HD.10247) 11418 0 R (HD.10248) 11423 0 R (HD.10249) 11424 0 R (HD.1025) 1366 0 R (HD.10250) 11425 0 R (HD.10251) 11426 0 R (HD.10252) 11427 0 R (HD.10253) 11428 0 R (HD.10254) 11429 0 R (HD.10255) 11430 0 R ] /Limits [ (HD.10227) (HD.10255) ] >>
endobj
11745 0 obj
-<< /Names [ (HD.1843) 2272 0 R (HD.1844) 2273 0 R (HD.1845) 2274 0 R (HD.1846) 2275 0 R (HD.1847) 2276 0 R (HD.1848) 2277 0 R (HD.1849) 2278 0 R (HD.185) 399 0 R (HD.1850) 2279 0 R (HD.1851) 2280 0 R (HD.1852) 2281 0 R (HD.1853) 2282 0 R (HD.1854) 2283 0 R (HD.1855) 2284 0 R (HD.1856) 2285 0 R (HD.1857) 2286 0 R (HD.1858) 2287 0 R (HD.1859) 2288 0 R (HD.186) 400 0 R (HD.1860) 2289 0 R (HD.1861) 2290 0 R (HD.1862) 2291 0 R (HD.1863) 2292 0 R (HD.1864) 2293 0 R (HD.1865) 2294 0 R (HD.1866) 2295 0 R (HD.1867) 2296 0 R (HD.1868) 2297 0 R (HD.1869) 2298 0 R (HD.187) 401 0 R (HD.1870) 2299 0 R (HD.1871) 2300 0 R ] /Limits [ (HD.1843) (HD.1871) ] >>
+<< /Names [ (HD.10256) 11431 0 R (HD.10257) 11432 0 R (HD.10258) 11433 0 R (HD.10259) 11434 0 R (HD.1026) 1367 0 R (HD.10260) 11435 0 R (HD.10261) 11436 0 R (HD.10262) 11437 0 R (HD.10263) 11438 0 R (HD.10264) 11439 0 R (HD.10265) 11440 0 R (HD.10266) 11441 0 R (HD.10267) 11442 0 R (HD.10268) 11443 0 R (HD.10269) 11444 0 R (HD.1027) 1368 0 R (HD.10270) 11445 0 R (HD.10271) 11446 0 R (HD.10272) 11447 0 R (HD.10273) 11448 0 R (HD.10274) 11449 0 R (HD.10275) 11450 0 R (HD.10276) 11451 0 R (HD.10277) 11452 0 R (HD.10278) 11453 0 R (HD.10279) 11454 0 R (HD.1028) 1369 0 R (HD.10280) 11455 0 R (HD.10281) 11456 0 R (HD.10282) 11457 0 R (HD.10283) 11458 0 R (HD.10284) 11459 0 R ] /Limits [ (HD.10256) (HD.10284) ] >>
endobj
11746 0 obj
-<< /Names [ (HD.1872) 2301 0 R (HD.1873) 2302 0 R (HD.1874) 2303 0 R (HD.1875) 2304 0 R (HD.1876) 2305 0 R (HD.1877) 2306 0 R (HD.1878) 2307 0 R (HD.1879) 2308 0 R (HD.188) 402 0 R (HD.1880) 2309 0 R (HD.1881) 2310 0 R (HD.1882) 2316 0 R (HD.1883) 2317 0 R (HD.1884) 2318 0 R (HD.1885) 2319 0 R (HD.1886) 2320 0 R (HD.1887) 2321 0 R (HD.1888) 2322 0 R (HD.1889) 2323 0 R (HD.189) 403 0 R (HD.1890) 2324 0 R (HD.1891) 2325 0 R (HD.1892) 2326 0 R (HD.1893) 2327 0 R (HD.1894) 2328 0 R (HD.1895) 2329 0 R (HD.1896) 2330 0 R (HD.1897) 2331 0 R (HD.1898) 2332 0 R (HD.1899) 2333 0 R (HD.19) 214 0 R (HD.190) 404 0 R ] /Limits [ (HD.1872) (HD.190) ] >>
+<< /Names [ (HD.10285) 11460 0 R (HD.10286) 11461 0 R (HD.10287) 11462 0 R (HD.10288) 11463 0 R (HD.10289) 11464 0 R (HD.1029) 1370 0 R (HD.10290) 11465 0 R (HD.10291) 11466 0 R (HD.10292) 11467 0 R (HD.10293) 11468 0 R (HD.10294) 11469 0 R (HD.10295) 11470 0 R (HD.10296) 11471 0 R (HD.10297) 11472 0 R (HD.10298) 11473 0 R (HD.10299) 11474 0 R (HD.103) 307 0 R (HD.1030) 1371 0 R (HD.10300) 11475 0 R (HD.10301) 11476 0 R (HD.10302) 11477 0 R (HD.10303) 11478 0 R (HD.10304) 11479 0 R (HD.10305) 11480 0 R (HD.10306) 11481 0 R (HD.10307) 11482 0 R (HD.10308) 11483 0 R (HD.10309) 11484 0 R (HD.1031) 1372 0 R (HD.10310) 11485 0 R (HD.10311) 11490 0 R (HD.10312) 11491 0 R ] /Limits [ (HD.10285) (HD.10312) ] >>
endobj
11747 0 obj
-<< /Names [ (HD.1900) 2334 0 R (HD.1901) 2335 0 R (HD.1902) 2336 0 R (HD.1903) 2337 0 R (HD.1904) 2338 0 R (HD.1905) 2339 0 R (HD.1906) 2340 0 R (HD.1907) 2341 0 R (HD.1908) 2342 0 R (HD.1909) 2343 0 R (HD.191) 405 0 R (HD.1910) 2344 0 R (HD.1911) 2345 0 R (HD.1912) 2346 0 R (HD.1913) 2347 0 R (HD.1914) 2348 0 R (HD.1915) 2349 0 R (HD.1916) 2350 0 R (HD.1917) 2351 0 R (HD.1918) 2352 0 R (HD.1919) 2353 0 R (HD.192) 406 0 R (HD.1920) 2354 0 R (HD.1921) 2355 0 R (HD.1922) 2356 0 R (HD.1923) 2357 0 R (HD.1924) 2358 0 R (HD.1925) 2359 0 R (HD.1926) 2360 0 R (HD.1927) 2361 0 R (HD.1928) 2362 0 R (HD.1929) 2363 0 R ] /Limits [ (HD.1900) (HD.1929) ] >>
+<< /Names [ (HD.10313) 11492 0 R (HD.10314) 11493 0 R (HD.10315) 11494 0 R (HD.10316) 11495 0 R (HD.10317) 11496 0 R (HD.10318) 11497 0 R (HD.10319) 11498 0 R (HD.1032) 1373 0 R (HD.10320) 11499 0 R (HD.10321) 11500 0 R (HD.10322) 11501 0 R (HD.10323) 11502 0 R (HD.10324) 11503 0 R (HD.10325) 11504 0 R (HD.10326) 11505 0 R (HD.10327) 11506 0 R (HD.10328) 11507 0 R (HD.10329) 11508 0 R (HD.1033) 1374 0 R (HD.10330) 11509 0 R (HD.10331) 11510 0 R (HD.10332) 11511 0 R (HD.10333) 11512 0 R (HD.10334) 11513 0 R (HD.10335) 11514 0 R (HD.10336) 11515 0 R (HD.10337) 11516 0 R (HD.10338) 11517 0 R (HD.10339) 11518 0 R (HD.1034) 1375 0 R (HD.10340) 11519 0 R (HD.10341) 11520 0 R ] /Limits [ (HD.10313) (HD.10341) ] >>
endobj
11748 0 obj
-<< /Names [ (HD.193) 407 0 R (HD.1930) 2371 0 R (HD.1931) 2372 0 R (HD.1932) 2373 0 R (HD.1933) 2374 0 R (HD.1934) 2375 0 R (HD.1935) 2376 0 R (HD.1936) 2377 0 R (HD.1937) 2378 0 R (HD.1938) 2379 0 R (HD.1939) 2380 0 R (HD.194) 408 0 R (HD.1940) 2381 0 R (HD.1941) 2382 0 R (HD.1942) 2383 0 R (HD.1943) 2384 0 R (HD.1944) 2385 0 R (HD.1945) 2386 0 R (HD.1946) 2387 0 R (HD.1947) 2388 0 R (HD.1948) 2389 0 R (HD.1949) 2390 0 R (HD.195) 409 0 R (HD.1950) 2391 0 R (HD.1951) 2392 0 R (HD.1952) 2393 0 R (HD.1953) 2394 0 R (HD.1954) 2395 0 R (HD.1955) 2396 0 R (HD.1956) 2397 0 R (HD.1957) 2398 0 R (HD.1958) 2399 0 R ] /Limits [ (HD.193) (HD.1958) ] >>
+<< /Names [ (HD.10342) 11521 0 R (HD.10343) 11522 0 R (HD.10344) 11523 0 R (HD.10345) 11524 0 R (HD.10346) 11525 0 R (HD.10347) 11526 0 R (HD.10348) 11527 0 R (HD.10349) 11528 0 R (HD.1035) 1376 0 R (HD.10350) 11529 0 R (HD.10351) 11530 0 R (HD.10352) 11531 0 R (HD.10353) 11532 0 R (HD.10354) 11533 0 R (HD.10355) 11534 0 R (HD.10356) 11535 0 R (HD.10357) 11536 0 R (HD.10358) 11537 0 R (HD.10359) 11538 0 R (HD.1036) 1377 0 R (HD.10360) 11539 0 R (HD.10361) 11540 0 R (HD.10362) 11541 0 R (HD.10363) 11542 0 R (HD.10364) 11543 0 R (HD.10365) 11544 0 R (HD.10366) 11545 0 R (HD.10367) 11546 0 R (HD.10368) 11547 0 R (HD.10369) 11548 0 R (HD.1037) 1378 0 R (HD.10370) 11549 0 R ] /Limits [ (HD.10342) (HD.10370) ] >>
endobj
11749 0 obj
-<< /Names [ (HD.1959) 2400 0 R (HD.196) 410 0 R (HD.1960) 2401 0 R (HD.1961) 2402 0 R (HD.1962) 2403 0 R (HD.1963) 2404 0 R (HD.1964) 2405 0 R (HD.1965) 2412 0 R (HD.1966) 2413 0 R (HD.1967) 2414 0 R (HD.1968) 2415 0 R (HD.1969) 2416 0 R (HD.197) 411 0 R (HD.1970) 2417 0 R (HD.1971) 2418 0 R (HD.1972) 2419 0 R (HD.1973) 2420 0 R (HD.1974) 2421 0 R (HD.1975) 2422 0 R (HD.1976) 2423 0 R (HD.1977) 2424 0 R (HD.1978) 2425 0 R (HD.1979) 2426 0 R (HD.198) 412 0 R (HD.1980) 2427 0 R (HD.1981) 2428 0 R (HD.1982) 2429 0 R (HD.1983) 2430 0 R (HD.1984) 2431 0 R (HD.1985) 2432 0 R (HD.1986) 2433 0 R (HD.1987) 2434 0 R ] /Limits [ (HD.1959) (HD.1987) ] >>
+<< /Names [ (HD.10371) 11550 0 R (HD.10372) 11551 0 R (HD.10373) 11552 0 R (HD.10374) 11557 0 R (HD.10375) 11558 0 R (HD.10376) 11559 0 R (HD.10377) 11560 0 R (HD.10378) 11561 0 R (HD.10379) 11562 0 R (HD.1038) 1379 0 R (HD.10380) 11563 0 R (HD.10381) 11564 0 R (HD.10382) 11565 0 R (HD.10383) 11566 0 R (HD.10384) 11567 0 R (HD.10385) 11568 0 R (HD.10386) 11569 0 R (HD.10387) 11570 0 R (HD.10388) 11571 0 R (HD.10389) 11572 0 R (HD.1039) 1384 0 R (HD.10390) 11573 0 R (HD.10391) 11574 0 R (HD.10392) 11575 0 R (HD.10393) 11576 0 R (HD.10394) 11577 0 R (HD.10395) 11578 0 R (HD.10396) 11579 0 R (HD.10397) 11580 0 R (HD.10398) 11581 0 R (HD.10399) 11582 0 R (HD.104) 308 0 R ] /Limits [ (HD.10371) (HD.104) ] >>
endobj
11750 0 obj
-<< /Names [ (HD.1988) 2435 0 R (HD.1989) 2436 0 R (HD.199) 413 0 R (HD.1990) 2437 0 R (HD.1991) 2438 0 R (HD.1992) 2439 0 R (HD.1993) 2440 0 R (HD.1994) 2441 0 R (HD.1995) 2442 0 R (HD.1996) 2443 0 R (HD.1997) 2444 0 R (HD.1998) 2445 0 R (HD.1999) 2446 0 R (HD.2) 190 0 R (HD.20) 215 0 R (HD.200) 414 0 R (HD.2000) 2447 0 R (HD.2001) 2448 0 R (HD.2002) 2449 0 R (HD.2003) 2450 0 R (HD.2004) 2451 0 R (HD.2005) 2452 0 R (HD.2006) 2453 0 R (HD.2007) 2454 0 R (HD.2008) 2460 0 R (HD.2009) 2461 0 R (HD.201) 415 0 R (HD.2010) 2462 0 R (HD.2011) 2463 0 R (HD.2012) 2464 0 R (HD.2013) 2465 0 R (HD.2014) 2466 0 R ] /Limits [ (HD.1988) (HD.2014) ] >>
+<< /Names [ (HD.1040) 1385 0 R (HD.10400) 11583 0 R (HD.1041) 1386 0 R (HD.1042) 1387 0 R (HD.1043) 1388 0 R (HD.1044) 1389 0 R (HD.1045) 1390 0 R (HD.1046) 1391 0 R (HD.1047) 1392 0 R (HD.1048) 1393 0 R (HD.1049) 1394 0 R (HD.105) 309 0 R (HD.1050) 1395 0 R (HD.1051) 1396 0 R (HD.1052) 1397 0 R (HD.1053) 1398 0 R (HD.1054) 1399 0 R (HD.1055) 1400 0 R (HD.1056) 1401 0 R (HD.1057) 1402 0 R (HD.1058) 1403 0 R (HD.1059) 1404 0 R (HD.106) 310 0 R (HD.1060) 1405 0 R (HD.1061) 1406 0 R (HD.1062) 1407 0 R (HD.1063) 1408 0 R (HD.1064) 1409 0 R (HD.1065) 1410 0 R (HD.1066) 1411 0 R (HD.1067) 1412 0 R (HD.1068) 1413 0 R ] /Limits [ (HD.1040) (HD.1068) ] >>
endobj
11751 0 obj
-<< /Names [ (HD.2015) 2467 0 R (HD.2016) 2468 0 R (HD.2017) 2469 0 R (HD.2018) 2470 0 R (HD.2019) 2471 0 R (HD.202) 416 0 R (HD.2020) 2472 0 R (HD.2021) 2473 0 R (HD.2022) 2474 0 R (HD.2023) 2475 0 R (HD.2024) 2476 0 R (HD.2025) 2477 0 R (HD.2026) 2478 0 R (HD.2027) 2479 0 R (HD.2028) 2480 0 R (HD.2029) 2481 0 R (HD.203) 417 0 R (HD.2030) 2482 0 R (HD.2031) 2483 0 R (HD.2032) 2484 0 R (HD.2033) 2485 0 R (HD.2034) 2486 0 R (HD.2035) 2487 0 R (HD.2036) 2488 0 R (HD.2037) 2489 0 R (HD.2038) 2490 0 R (HD.2039) 2491 0 R (HD.204) 418 0 R (HD.2040) 2492 0 R (HD.2041) 2493 0 R (HD.2042) 2494 0 R (HD.2043) 2495 0 R ] /Limits [ (HD.2015) (HD.2043) ] >>
+<< /Names [ (HD.1069) 1414 0 R (HD.107) 311 0 R (HD.1070) 1415 0 R (HD.1071) 1416 0 R (HD.1072) 1417 0 R (HD.1073) 1418 0 R (HD.1074) 1419 0 R (HD.1075) 1420 0 R (HD.1076) 1421 0 R (HD.1077) 1422 0 R (HD.1078) 1423 0 R (HD.1079) 1424 0 R (HD.108) 312 0 R (HD.1080) 1425 0 R (HD.1081) 1426 0 R (HD.1082) 1427 0 R (HD.1083) 1428 0 R (HD.1084) 1429 0 R (HD.1085) 1430 0 R (HD.1086) 1431 0 R (HD.1087) 1432 0 R (HD.1088) 1433 0 R (HD.1089) 1434 0 R (HD.109) 313 0 R (HD.1090) 1435 0 R (HD.1091) 1436 0 R (HD.1092) 1437 0 R (HD.1093) 1438 0 R (HD.1094) 1443 0 R (HD.1095) 1444 0 R (HD.1096) 1445 0 R (HD.1097) 1446 0 R ] /Limits [ (HD.1069) (HD.1097) ] >>
endobj
11752 0 obj
-<< /Names [ (HD.2044) 2496 0 R (HD.2045) 2497 0 R (HD.2046) 2498 0 R (HD.2047) 2499 0 R (HD.2048) 2500 0 R (HD.2049) 2501 0 R (HD.205) 419 0 R (HD.2050) 2502 0 R (HD.2051) 2503 0 R (HD.2052) 2504 0 R (HD.2053) 2505 0 R (HD.2054) 2506 0 R (HD.2055) 2507 0 R (HD.2056) 2516 0 R (HD.2057) 2517 0 R (HD.2058) 2518 0 R (HD.2059) 2519 0 R (HD.206) 420 0 R (HD.2060) 2520 0 R (HD.2061) 2521 0 R (HD.2062) 2522 0 R (HD.2063) 2523 0 R (HD.2064) 2524 0 R (HD.2065) 2525 0 R (HD.2066) 2526 0 R (HD.2067) 2527 0 R (HD.2068) 2528 0 R (HD.2069) 2529 0 R (HD.207) 421 0 R (HD.2070) 2530 0 R (HD.2071) 2531 0 R (HD.2072) 2532 0 R ] /Limits [ (HD.2044) (HD.2072) ] >>
+<< /Names [ (HD.1098) 1447 0 R (HD.1099) 1448 0 R (HD.11) 199 0 R (HD.110) 314 0 R (HD.1100) 1449 0 R (HD.1101) 1450 0 R (HD.1102) 1451 0 R (HD.1103) 1452 0 R (HD.1104) 1453 0 R (HD.1105) 1454 0 R (HD.1106) 1455 0 R (HD.1107) 1456 0 R (HD.1108) 1457 0 R (HD.1109) 1458 0 R (HD.111) 315 0 R (HD.1110) 1459 0 R (HD.1111) 1460 0 R (HD.1112) 1461 0 R (HD.1113) 1462 0 R (HD.1114) 1463 0 R (HD.1115) 1464 0 R (HD.1116) 1465 0 R (HD.1117) 1466 0 R (HD.1118) 1467 0 R (HD.1119) 1468 0 R (HD.112) 316 0 R (HD.1120) 1469 0 R (HD.1121) 1470 0 R (HD.1122) 1471 0 R (HD.1123) 1472 0 R (HD.1124) 1473 0 R (HD.1125) 1474 0 R ] /Limits [ (HD.1098) (HD.1125) ] >>
endobj
11753 0 obj
-<< /Names [ (HD.2073) 2533 0 R (HD.2074) 2534 0 R (HD.2075) 2535 0 R (HD.2076) 2536 0 R (HD.2077) 2537 0 R (HD.2078) 2538 0 R (HD.2079) 2539 0 R (HD.208) 422 0 R (HD.2080) 2540 0 R (HD.2081) 2541 0 R (HD.2082) 2542 0 R (HD.2083) 2543 0 R (HD.2084) 2544 0 R (HD.2085) 2545 0 R (HD.2086) 2546 0 R (HD.2087) 2547 0 R (HD.2088) 2548 0 R (HD.2089) 2549 0 R (HD.209) 423 0 R (HD.2090) 2550 0 R (HD.2091) 2551 0 R (HD.2092) 2552 0 R (HD.2093) 2553 0 R (HD.2094) 2554 0 R (HD.2095) 2555 0 R (HD.2096) 2556 0 R (HD.2097) 2557 0 R (HD.2098) 2558 0 R (HD.2099) 2559 0 R (HD.21) 216 0 R (HD.210) 424 0 R (HD.2100) 2560 0 R ] /Limits [ (HD.2073) (HD.2100) ] >>
+<< /Names [ (HD.1126) 1475 0 R (HD.1127) 1476 0 R (HD.1128) 1477 0 R (HD.1129) 1478 0 R (HD.113) 319 0 R (HD.1130) 1479 0 R (HD.1131) 1480 0 R (HD.1132) 1481 0 R (HD.1133) 1482 0 R (HD.1134) 1483 0 R (HD.1135) 1484 0 R (HD.1136) 1489 0 R (HD.1137) 1490 0 R (HD.1138) 1491 0 R (HD.1139) 1492 0 R (HD.114) 320 0 R (HD.1140) 1493 0 R (HD.1141) 1494 0 R (HD.1142) 1495 0 R (HD.1143) 1496 0 R (HD.1144) 1497 0 R (HD.1145) 1498 0 R (HD.1146) 1499 0 R (HD.1147) 1500 0 R (HD.1148) 1501 0 R (HD.1149) 1502 0 R (HD.115) 321 0 R (HD.1150) 1503 0 R (HD.1151) 1504 0 R (HD.1152) 1505 0 R (HD.1153) 1506 0 R (HD.1154) 1507 0 R ] /Limits [ (HD.1126) (HD.1154) ] >>
endobj
11754 0 obj
-<< /Names [ (HD.2101) 2568 0 R (HD.2102) 2569 0 R (HD.2103) 2570 0 R (HD.2104) 2571 0 R (HD.2105) 2572 0 R (HD.2106) 2573 0 R (HD.2107) 2574 0 R (HD.2108) 2575 0 R (HD.2109) 2576 0 R (HD.211) 425 0 R (HD.2110) 2577 0 R (HD.2111) 2578 0 R (HD.2112) 2579 0 R (HD.2113) 2580 0 R (HD.2114) 2581 0 R (HD.2115) 2582 0 R (HD.2116) 2583 0 R (HD.2117) 2584 0 R (HD.2118) 2585 0 R (HD.2119) 2586 0 R (HD.212) 426 0 R (HD.2120) 2587 0 R (HD.2121) 2588 0 R (HD.2122) 2589 0 R (HD.2123) 2590 0 R (HD.2124) 2591 0 R (HD.2125) 2592 0 R (HD.2126) 2593 0 R (HD.2127) 2594 0 R (HD.2128) 2595 0 R (HD.2129) 2596 0 R (HD.213) 427 0 R ] /Limits [ (HD.2101) (HD.213) ] >>
+<< /Names [ (HD.1155) 1508 0 R (HD.1156) 1509 0 R (HD.1157) 1510 0 R (HD.1158) 1511 0 R (HD.1159) 1512 0 R (HD.116) 322 0 R (HD.1160) 1513 0 R (HD.1161) 1514 0 R (HD.1162) 1515 0 R (HD.1163) 1516 0 R (HD.1164) 1517 0 R (HD.1165) 1518 0 R (HD.1166) 1519 0 R (HD.1167) 1520 0 R (HD.1168) 1521 0 R (HD.1169) 1522 0 R (HD.117) 323 0 R (HD.1170) 1523 0 R (HD.1171) 1524 0 R (HD.1172) 1525 0 R (HD.1173) 1526 0 R (HD.1174) 1527 0 R (HD.1175) 1528 0 R (HD.1176) 1529 0 R (HD.1177) 1530 0 R (HD.1178) 1531 0 R (HD.1179) 1532 0 R (HD.118) 324 0 R (HD.1180) 1533 0 R (HD.1181) 1534 0 R (HD.1182) 1535 0 R (HD.1183) 1536 0 R ] /Limits [ (HD.1155) (HD.1183) ] >>
endobj
11755 0 obj
-<< /Names [ (HD.2130) 2597 0 R (HD.2131) 2598 0 R (HD.2132) 2599 0 R (HD.2133) 2600 0 R (HD.2134) 2601 0 R (HD.2135) 2602 0 R (HD.2136) 2603 0 R (HD.2137) 2604 0 R (HD.2138) 2610 0 R (HD.2139) 2611 0 R (HD.214) 428 0 R (HD.2140) 2612 0 R (HD.2141) 2613 0 R (HD.2142) 2614 0 R (HD.2143) 2615 0 R (HD.2144) 2616 0 R (HD.2145) 2617 0 R (HD.2146) 2618 0 R (HD.2147) 2619 0 R (HD.2148) 2620 0 R (HD.2149) 2621 0 R (HD.215) 434 0 R (HD.2150) 2622 0 R (HD.2151) 2623 0 R (HD.2152) 2624 0 R (HD.2153) 2625 0 R (HD.2154) 2626 0 R (HD.2155) 2627 0 R (HD.2156) 2628 0 R (HD.2157) 2629 0 R (HD.2158) 2630 0 R (HD.2159) 2631 0 R ] /Limits [ (HD.2130) (HD.2159) ] >>
+<< /Names [ (HD.1184) 1537 0 R (HD.1185) 1538 0 R (HD.1186) 1539 0 R (HD.1187) 1544 0 R (HD.1188) 1545 0 R (HD.1189) 1546 0 R (HD.119) 325 0 R (HD.1190) 1547 0 R (HD.1191) 1548 0 R (HD.1192) 1549 0 R (HD.1193) 1550 0 R (HD.1194) 1551 0 R (HD.1195) 1552 0 R (HD.1196) 1553 0 R (HD.1197) 1554 0 R (HD.1198) 1555 0 R (HD.1199) 1556 0 R (HD.12) 200 0 R (HD.120) 326 0 R (HD.1200) 1557 0 R (HD.1201) 1558 0 R (HD.1202) 1559 0 R (HD.1203) 1560 0 R (HD.1204) 1561 0 R (HD.1205) 1562 0 R (HD.1206) 1563 0 R (HD.1207) 1564 0 R (HD.1208) 1565 0 R (HD.1209) 1566 0 R (HD.121) 327 0 R (HD.1210) 1567 0 R (HD.1211) 1572 0 R ] /Limits [ (HD.1184) (HD.1211) ] >>
endobj
11756 0 obj
-<< /Names [ (HD.216) 435 0 R (HD.2160) 2632 0 R (HD.2161) 2633 0 R (HD.2162) 2634 0 R (HD.2163) 2635 0 R (HD.2164) 2636 0 R (HD.2165) 2637 0 R (HD.2166) 2638 0 R (HD.2167) 2639 0 R (HD.2168) 2640 0 R (HD.2169) 2641 0 R (HD.217) 436 0 R (HD.2170) 2642 0 R (HD.2171) 2643 0 R (HD.2172) 2644 0 R (HD.2173) 2645 0 R (HD.2174) 2646 0 R (HD.2175) 2647 0 R (HD.2176) 2648 0 R (HD.2177) 2649 0 R (HD.2178) 2650 0 R (HD.2179) 2651 0 R (HD.218) 437 0 R (HD.2180) 2652 0 R (HD.2181) 2653 0 R (HD.2182) 2659 0 R (HD.2183) 2660 0 R (HD.2184) 2661 0 R (HD.2185) 2662 0 R (HD.2186) 2663 0 R (HD.2187) 2664 0 R (HD.2188) 2665 0 R ] /Limits [ (HD.216) (HD.2188) ] >>
+<< /Names [ (HD.1212) 1573 0 R (HD.1213) 1574 0 R (HD.1214) 1575 0 R (HD.1215) 1576 0 R (HD.1216) 1577 0 R (HD.1217) 1578 0 R (HD.1218) 1579 0 R (HD.1219) 1580 0 R (HD.122) 328 0 R (HD.1220) 1581 0 R (HD.1221) 1582 0 R (HD.1222) 1583 0 R (HD.1223) 1584 0 R (HD.1224) 1585 0 R (HD.1225) 1586 0 R (HD.1226) 1587 0 R (HD.1227) 1588 0 R (HD.1228) 1589 0 R (HD.1229) 1590 0 R (HD.123) 329 0 R (HD.1230) 1591 0 R (HD.1231) 1592 0 R (HD.1232) 1593 0 R (HD.1233) 1594 0 R (HD.1234) 1595 0 R (HD.1235) 1596 0 R (HD.1236) 1597 0 R (HD.1237) 1598 0 R (HD.1238) 1599 0 R (HD.1239) 1600 0 R (HD.124) 330 0 R (HD.1240) 1601 0 R ] /Limits [ (HD.1212) (HD.1240) ] >>
endobj
11757 0 obj
-<< /Names [ (HD.2189) 2666 0 R (HD.219) 438 0 R (HD.2190) 2667 0 R (HD.2191) 2668 0 R (HD.2192) 2669 0 R (HD.2193) 2670 0 R (HD.2194) 2671 0 R (HD.2195) 2672 0 R (HD.2196) 2673 0 R (HD.2197) 2674 0 R (HD.2198) 2675 0 R (HD.2199) 2676 0 R (HD.22) 217 0 R (HD.220) 439 0 R (HD.2200) 2677 0 R (HD.2201) 2678 0 R (HD.2202) 2679 0 R (HD.2203) 2680 0 R (HD.2204) 2681 0 R (HD.2205) 2682 0 R (HD.2206) 2683 0 R (HD.2207) 2684 0 R (HD.2208) 2685 0 R (HD.2209) 2686 0 R (HD.221) 440 0 R (HD.2210) 2687 0 R (HD.2211) 2688 0 R (HD.2212) 2689 0 R (HD.2213) 2690 0 R (HD.2214) 2691 0 R (HD.2215) 2692 0 R (HD.2216) 2693 0 R ] /Limits [ (HD.2189) (HD.2216) ] >>
+<< /Names [ (HD.1241) 1602 0 R (HD.1242) 1603 0 R (HD.1243) 1604 0 R (HD.1244) 1605 0 R (HD.1245) 1606 0 R (HD.1246) 1607 0 R (HD.1247) 1608 0 R (HD.1248) 1609 0 R (HD.1249) 1610 0 R (HD.125) 331 0 R (HD.1250) 1611 0 R (HD.1251) 1612 0 R (HD.1252) 1613 0 R (HD.1253) 1614 0 R (HD.1254) 1615 0 R (HD.1255) 1616 0 R (HD.1256) 1621 0 R (HD.1257) 1622 0 R (HD.1258) 1623 0 R (HD.1259) 1624 0 R (HD.126) 332 0 R (HD.1260) 1625 0 R (HD.1261) 1626 0 R (HD.1262) 1627 0 R (HD.1263) 1628 0 R (HD.1264) 1629 0 R (HD.1265) 1630 0 R (HD.1266) 1631 0 R (HD.1267) 1632 0 R (HD.1268) 1633 0 R (HD.1269) 1634 0 R (HD.127) 333 0 R ] /Limits [ (HD.1241) (HD.127) ] >>
endobj
11758 0 obj
-<< /Names [ (HD.2217) 2694 0 R (HD.2218) 2695 0 R (HD.2219) 2696 0 R (HD.222) 441 0 R (HD.2220) 2697 0 R (HD.2221) 2698 0 R (HD.2222) 2699 0 R (HD.2223) 2700 0 R (HD.2224) 2701 0 R (HD.2225) 2702 0 R (HD.2226) 2703 0 R (HD.2227) 2708 0 R (HD.2228) 2709 0 R (HD.2229) 2710 0 R (HD.223) 442 0 R (HD.2230) 2711 0 R (HD.2231) 2712 0 R (HD.2232) 2713 0 R (HD.2233) 2714 0 R (HD.2234) 2715 0 R (HD.2235) 2716 0 R (HD.2236) 2717 0 R (HD.2237) 2718 0 R (HD.2238) 2719 0 R (HD.2239) 2720 0 R (HD.224) 443 0 R (HD.2240) 2721 0 R (HD.2241) 2722 0 R (HD.2242) 2723 0 R (HD.2243) 2724 0 R (HD.2244) 2725 0 R (HD.2245) 2726 0 R ] /Limits [ (HD.2217) (HD.2245) ] >>
+<< /Names [ (HD.1270) 1635 0 R (HD.1271) 1636 0 R (HD.1272) 1637 0 R (HD.1273) 1638 0 R (HD.1274) 1639 0 R (HD.1275) 1640 0 R (HD.1276) 1641 0 R (HD.1277) 1642 0 R (HD.1278) 1643 0 R (HD.1279) 1644 0 R (HD.128) 334 0 R (HD.1280) 1645 0 R (HD.1281) 1646 0 R (HD.1282) 1647 0 R (HD.1283) 1648 0 R (HD.1284) 1649 0 R (HD.1285) 1650 0 R (HD.1286) 1651 0 R (HD.1287) 1652 0 R (HD.1288) 1653 0 R (HD.1289) 1654 0 R (HD.129) 335 0 R (HD.1290) 1655 0 R (HD.1291) 1656 0 R (HD.1292) 1657 0 R (HD.1293) 1658 0 R (HD.1294) 1659 0 R (HD.1295) 1660 0 R (HD.1296) 1661 0 R (HD.1297) 1662 0 R (HD.1298) 1663 0 R (HD.1299) 1664 0 R ] /Limits [ (HD.1270) (HD.1299) ] >>
endobj
11759 0 obj
-<< /Names [ (HD.2246) 2727 0 R (HD.2247) 2728 0 R (HD.2248) 2729 0 R (HD.2249) 2730 0 R (HD.225) 444 0 R (HD.2250) 2731 0 R (HD.2251) 2732 0 R (HD.2252) 2733 0 R (HD.2253) 2734 0 R (HD.2254) 2735 0 R (HD.2255) 2736 0 R (HD.2256) 2737 0 R (HD.2257) 2738 0 R (HD.2258) 2739 0 R (HD.2259) 2740 0 R (HD.226) 445 0 R (HD.2260) 2741 0 R (HD.2261) 2742 0 R (HD.2262) 2743 0 R (HD.2263) 2744 0 R (HD.2264) 2745 0 R (HD.2265) 2746 0 R (HD.2266) 2747 0 R (HD.2267) 2748 0 R (HD.2268) 2749 0 R (HD.2269) 2750 0 R (HD.227) 446 0 R (HD.2270) 2751 0 R (HD.2271) 2752 0 R (HD.2272) 2753 0 R (HD.2273) 2754 0 R (HD.2274) 2755 0 R ] /Limits [ (HD.2246) (HD.2274) ] >>
+<< /Names [ (HD.13) 201 0 R (HD.130) 336 0 R (HD.1300) 1665 0 R (HD.1301) 1666 0 R (HD.1302) 1667 0 R (HD.1303) 1668 0 R (HD.1304) 1669 0 R (HD.1305) 1670 0 R (HD.1306) 1671 0 R (HD.1307) 1672 0 R (HD.1308) 1673 0 R (HD.1309) 1674 0 R (HD.131) 337 0 R (HD.1310) 1675 0 R (HD.1311) 1676 0 R (HD.1312) 1677 0 R (HD.1313) 1678 0 R (HD.1314) 1679 0 R (HD.1315) 1684 0 R (HD.1316) 1685 0 R (HD.1317) 1686 0 R (HD.1318) 1687 0 R (HD.1319) 1688 0 R (HD.132) 338 0 R (HD.1320) 1689 0 R (HD.1321) 1690 0 R (HD.1322) 1691 0 R (HD.1323) 1692 0 R (HD.1324) 1693 0 R (HD.1325) 1694 0 R (HD.1326) 1695 0 R (HD.1327) 1696 0 R ] /Limits [ (HD.13) (HD.1327) ] >>
endobj
11760 0 obj
-<< /Names [ (HD.2275) 2756 0 R (HD.2276) 2757 0 R (HD.2277) 2765 0 R (HD.2278) 2766 0 R (HD.2279) 2767 0 R (HD.228) 447 0 R (HD.2280) 2768 0 R (HD.2281) 2769 0 R (HD.2282) 2770 0 R (HD.2283) 2771 0 R (HD.2284) 2772 0 R (HD.2285) 2773 0 R (HD.2286) 2774 0 R (HD.2287) 2775 0 R (HD.2288) 2776 0 R (HD.2289) 2777 0 R (HD.229) 448 0 R (HD.2290) 2778 0 R (HD.2291) 2779 0 R (HD.2292) 2780 0 R (HD.2293) 2781 0 R (HD.2294) 2782 0 R (HD.2295) 2783 0 R (HD.2296) 2784 0 R (HD.2297) 2785 0 R (HD.2298) 2786 0 R (HD.2299) 2787 0 R (HD.23) 218 0 R (HD.230) 449 0 R (HD.2300) 2788 0 R (HD.2301) 2789 0 R (HD.2302) 2790 0 R ] /Limits [ (HD.2275) (HD.2302) ] >>
+<< /Names [ (HD.1328) 1697 0 R (HD.1329) 1698 0 R (HD.133) 339 0 R (HD.1330) 1699 0 R (HD.1331) 1700 0 R (HD.1332) 1701 0 R (HD.1333) 1702 0 R (HD.1334) 1703 0 R (HD.1335) 1704 0 R (HD.1336) 1705 0 R (HD.1337) 1706 0 R (HD.1338) 1707 0 R (HD.1339) 1708 0 R (HD.134) 344 0 R (HD.1340) 1709 0 R (HD.1341) 1710 0 R (HD.1342) 1711 0 R (HD.1343) 1712 0 R (HD.1344) 1713 0 R (HD.1345) 1718 0 R (HD.1346) 1719 0 R (HD.1347) 1720 0 R (HD.1348) 1721 0 R (HD.1349) 1722 0 R (HD.135) 345 0 R (HD.1350) 1723 0 R (HD.1351) 1724 0 R (HD.1352) 1725 0 R (HD.1353) 1726 0 R (HD.1354) 1727 0 R (HD.1355) 1728 0 R (HD.1356) 1729 0 R ] /Limits [ (HD.1328) (HD.1356) ] >>
endobj
11761 0 obj
-<< /Names [ (HD.2303) 2791 0 R (HD.2304) 2792 0 R (HD.2305) 2793 0 R (HD.2306) 2794 0 R (HD.2307) 2795 0 R (HD.2308) 2796 0 R (HD.2309) 2797 0 R (HD.231) 450 0 R (HD.2310) 2798 0 R (HD.2311) 2799 0 R (HD.2312) 2800 0 R (HD.2313) 2801 0 R (HD.2314) 2802 0 R (HD.2315) 2803 0 R (HD.2316) 2804 0 R (HD.2317) 2805 0 R (HD.2318) 2806 0 R (HD.2319) 2807 0 R (HD.232) 451 0 R (HD.2320) 2808 0 R (HD.2321) 2809 0 R (HD.2322) 2810 0 R (HD.2323) 2811 0 R (HD.2324) 2812 0 R (HD.2325) 2813 0 R (HD.2326) 2814 0 R (HD.2327) 2815 0 R (HD.2328) 2820 0 R (HD.2329) 2821 0 R (HD.233) 452 0 R (HD.2330) 2822 0 R (HD.2331) 2823 0 R ] /Limits [ (HD.2303) (HD.2331) ] >>
+<< /Names [ (HD.1357) 1730 0 R (HD.1358) 1731 0 R (HD.1359) 1732 0 R (HD.136) 346 0 R (HD.1360) 1733 0 R (HD.1361) 1734 0 R (HD.1362) 1735 0 R (HD.1363) 1736 0 R (HD.1364) 1737 0 R (HD.1365) 1738 0 R (HD.1366) 1739 0 R (HD.1367) 1740 0 R (HD.1368) 1741 0 R (HD.1369) 1742 0 R (HD.137) 347 0 R (HD.1370) 1743 0 R (HD.1371) 1744 0 R (HD.1372) 1745 0 R (HD.1373) 1746 0 R (HD.1374) 1747 0 R (HD.1375) 1748 0 R (HD.1376) 1749 0 R (HD.1377) 1750 0 R (HD.1378) 1751 0 R (HD.1379) 1752 0 R (HD.138) 348 0 R (HD.1380) 1753 0 R (HD.1381) 1754 0 R (HD.1382) 1755 0 R (HD.1383) 1756 0 R (HD.1384) 1757 0 R (HD.1385) 1758 0 R ] /Limits [ (HD.1357) (HD.1385) ] >>
endobj
11762 0 obj
-<< /Names [ (HD.2332) 2824 0 R (HD.2333) 2825 0 R (HD.2334) 2826 0 R (HD.2335) 2827 0 R (HD.2336) 2828 0 R (HD.2337) 2829 0 R (HD.2338) 2830 0 R (HD.2339) 2831 0 R (HD.234) 453 0 R (HD.2340) 2832 0 R (HD.2341) 2833 0 R (HD.2342) 2834 0 R (HD.2343) 2835 0 R (HD.2344) 2836 0 R (HD.2345) 2837 0 R (HD.2346) 2838 0 R (HD.2347) 2839 0 R (HD.2348) 2840 0 R (HD.2349) 2841 0 R (HD.235) 454 0 R (HD.2350) 2842 0 R (HD.2351) 2843 0 R (HD.2352) 2844 0 R (HD.2353) 2845 0 R (HD.2354) 2846 0 R (HD.2355) 2847 0 R (HD.2356) 2848 0 R (HD.2357) 2849 0 R (HD.2358) 2850 0 R (HD.2359) 2851 0 R (HD.236) 455 0 R (HD.2360) 2852 0 R ] /Limits [ (HD.2332) (HD.2360) ] >>
+<< /Names [ (HD.1386) 1759 0 R (HD.1387) 1760 0 R (HD.1388) 1761 0 R (HD.1389) 1762 0 R (HD.139) 349 0 R (HD.1390) 1763 0 R (HD.1391) 1764 0 R (HD.1392) 1765 0 R (HD.1393) 1766 0 R (HD.1394) 1771 0 R (HD.1395) 1772 0 R (HD.1396) 1773 0 R (HD.1397) 1774 0 R (HD.1398) 1775 0 R (HD.1399) 1776 0 R (HD.14) 202 0 R (HD.140) 350 0 R (HD.1400) 1777 0 R (HD.1401) 1778 0 R (HD.1402) 1779 0 R (HD.1403) 1780 0 R (HD.1404) 1781 0 R (HD.1405) 1782 0 R (HD.1406) 1783 0 R (HD.1407) 1784 0 R (HD.1408) 1785 0 R (HD.1409) 1786 0 R (HD.141) 351 0 R (HD.1410) 1787 0 R (HD.1411) 1788 0 R (HD.1412) 1789 0 R (HD.1413) 1790 0 R ] /Limits [ (HD.1386) (HD.1413) ] >>
endobj
11763 0 obj
-<< /Names [ (HD.2361) 2853 0 R (HD.2362) 2854 0 R (HD.2363) 2855 0 R (HD.2364) 2856 0 R (HD.2365) 2857 0 R (HD.2366) 2858 0 R (HD.2367) 2859 0 R (HD.2368) 2860 0 R (HD.2369) 2861 0 R (HD.237) 456 0 R (HD.2370) 2862 0 R (HD.2371) 2863 0 R (HD.2372) 2864 0 R (HD.2373) 2865 0 R (HD.2374) 2866 0 R (HD.2375) 2867 0 R (HD.2376) 2868 0 R (HD.2377) 2869 0 R (HD.2378) 2870 0 R (HD.2379) 2871 0 R (HD.238) 457 0 R (HD.2380) 2872 0 R (HD.2381) 2873 0 R (HD.2382) 2874 0 R (HD.2383) 2875 0 R (HD.2384) 2880 0 R (HD.2385) 2881 0 R (HD.2386) 2882 0 R (HD.2387) 2883 0 R (HD.2388) 2884 0 R (HD.2389) 2885 0 R (HD.239) 458 0 R ] /Limits [ (HD.2361) (HD.239) ] >>
+<< /Names [ (HD.1414) 1791 0 R (HD.1415) 1792 0 R (HD.1416) 1793 0 R (HD.1417) 1794 0 R (HD.1418) 1795 0 R (HD.1419) 1796 0 R (HD.142) 352 0 R (HD.1420) 1797 0 R (HD.1421) 1798 0 R (HD.1422) 1799 0 R (HD.1423) 1800 0 R (HD.1424) 1801 0 R (HD.1425) 1802 0 R (HD.1426) 1803 0 R (HD.1427) 1804 0 R (HD.1428) 1805 0 R (HD.1429) 1806 0 R (HD.143) 353 0 R (HD.1430) 1807 0 R (HD.1431) 1808 0 R (HD.1432) 1815 0 R (HD.1433) 1816 0 R (HD.1434) 1817 0 R (HD.1435) 1818 0 R (HD.1436) 1819 0 R (HD.1437) 1820 0 R (HD.1438) 1821 0 R (HD.1439) 1822 0 R (HD.144) 354 0 R (HD.1440) 1823 0 R (HD.1441) 1824 0 R (HD.1442) 1825 0 R ] /Limits [ (HD.1414) (HD.1442) ] >>
endobj
11764 0 obj
-<< /Names [ (HD.2390) 2886 0 R (HD.2391) 2887 0 R (HD.2392) 2888 0 R (HD.2393) 2889 0 R (HD.2394) 2890 0 R (HD.2395) 2891 0 R (HD.2396) 2892 0 R (HD.2397) 2893 0 R (HD.2398) 2894 0 R (HD.2399) 2895 0 R (HD.24) 219 0 R (HD.240) 459 0 R (HD.2400) 2896 0 R (HD.2401) 2897 0 R (HD.2402) 2898 0 R (HD.2403) 2899 0 R (HD.2404) 2900 0 R (HD.2405) 2901 0 R (HD.2406) 2902 0 R (HD.2407) 2903 0 R (HD.2408) 2904 0 R (HD.2409) 2905 0 R (HD.241) 460 0 R (HD.2410) 2906 0 R (HD.2411) 2907 0 R (HD.2412) 2908 0 R (HD.2413) 2909 0 R (HD.2414) 2910 0 R (HD.2415) 2911 0 R (HD.2416) 2912 0 R (HD.2417) 2913 0 R (HD.2418) 2914 0 R ] /Limits [ (HD.2390) (HD.2418) ] >>
+<< /Names [ (HD.1443) 1826 0 R (HD.1444) 1827 0 R (HD.1445) 1828 0 R (HD.1446) 1829 0 R (HD.1447) 1830 0 R (HD.1448) 1831 0 R (HD.1449) 1832 0 R (HD.145) 355 0 R (HD.1450) 1833 0 R (HD.1451) 1834 0 R (HD.1452) 1835 0 R (HD.1453) 1836 0 R (HD.1454) 1837 0 R (HD.1455) 1838 0 R (HD.1456) 1839 0 R (HD.1457) 1840 0 R (HD.1458) 1841 0 R (HD.1459) 1842 0 R (HD.146) 356 0 R (HD.1460) 1843 0 R (HD.1461) 1844 0 R (HD.1462) 1845 0 R (HD.1463) 1846 0 R (HD.1464) 1847 0 R (HD.1465) 1848 0 R (HD.1466) 1849 0 R (HD.1467) 1850 0 R (HD.1468) 1851 0 R (HD.1469) 1852 0 R (HD.147) 357 0 R (HD.1470) 1853 0 R (HD.1471) 1854 0 R ] /Limits [ (HD.1443) (HD.1471) ] >>
endobj
11765 0 obj
-<< /Names [ (HD.2419) 2915 0 R (HD.242) 461 0 R (HD.2420) 2916 0 R (HD.2421) 2917 0 R (HD.2422) 2918 0 R (HD.2423) 2919 0 R (HD.2424) 2920 0 R (HD.2425) 2921 0 R (HD.2426) 2922 0 R (HD.2427) 2923 0 R (HD.2428) 2924 0 R (HD.2429) 2925 0 R (HD.243) 462 0 R (HD.2430) 2926 0 R (HD.2431) 2927 0 R (HD.2432) 2932 0 R (HD.2433) 2933 0 R (HD.2434) 2934 0 R (HD.2435) 2935 0 R (HD.2436) 2936 0 R (HD.2437) 2937 0 R (HD.2438) 2938 0 R (HD.2439) 2939 0 R (HD.244) 463 0 R (HD.2440) 2940 0 R (HD.2441) 2941 0 R (HD.2442) 2942 0 R (HD.2443) 2943 0 R (HD.2444) 2944 0 R (HD.2445) 2945 0 R (HD.2446) 2946 0 R (HD.2447) 2947 0 R ] /Limits [ (HD.2419) (HD.2447) ] >>
+<< /Names [ (HD.1472) 1855 0 R (HD.1473) 1860 0 R (HD.1474) 1861 0 R (HD.1475) 1862 0 R (HD.1476) 1863 0 R (HD.1477) 1864 0 R (HD.1478) 1865 0 R (HD.1479) 1866 0 R (HD.148) 358 0 R (HD.1480) 1867 0 R (HD.1481) 1868 0 R (HD.1482) 1869 0 R (HD.1483) 1870 0 R (HD.1484) 1871 0 R (HD.1485) 1872 0 R (HD.1486) 1873 0 R (HD.1487) 1874 0 R (HD.1488) 1875 0 R (HD.1489) 1876 0 R (HD.149) 359 0 R (HD.1490) 1877 0 R (HD.1491) 1878 0 R (HD.1492) 1879 0 R (HD.1493) 1880 0 R (HD.1494) 1881 0 R (HD.1495) 1882 0 R (HD.1496) 1883 0 R (HD.1497) 1884 0 R (HD.1498) 1885 0 R (HD.1499) 1886 0 R (HD.15) 203 0 R (HD.150) 360 0 R ] /Limits [ (HD.1472) (HD.150) ] >>
endobj
11766 0 obj
-<< /Names [ (HD.2448) 2948 0 R (HD.2449) 2949 0 R (HD.245) 464 0 R (HD.2450) 2950 0 R (HD.2451) 2951 0 R (HD.2452) 2952 0 R (HD.2453) 2953 0 R (HD.2454) 2954 0 R (HD.2455) 2955 0 R (HD.2456) 2956 0 R (HD.2457) 2957 0 R (HD.2458) 2958 0 R (HD.2459) 2959 0 R (HD.246) 465 0 R (HD.2460) 2960 0 R (HD.2461) 2961 0 R (HD.2462) 2962 0 R (HD.2463) 2963 0 R (HD.2464) 2964 0 R (HD.2465) 2965 0 R (HD.2466) 2970 0 R (HD.2467) 2971 0 R (HD.2468) 2972 0 R (HD.2469) 2973 0 R (HD.247) 466 0 R (HD.2470) 2974 0 R (HD.2471) 2975 0 R (HD.2472) 2976 0 R (HD.2473) 2977 0 R (HD.2474) 2978 0 R (HD.2475) 2979 0 R (HD.2476) 2980 0 R ] /Limits [ (HD.2448) (HD.2476) ] >>
+<< /Names [ (HD.1500) 1887 0 R (HD.1501) 1888 0 R (HD.1502) 1889 0 R (HD.1503) 1890 0 R (HD.1504) 1891 0 R (HD.1505) 1892 0 R (HD.1506) 1893 0 R (HD.1507) 1894 0 R (HD.1508) 1895 0 R (HD.1509) 1896 0 R (HD.151) 361 0 R (HD.1510) 1897 0 R (HD.1511) 1898 0 R (HD.1512) 1899 0 R (HD.1513) 1900 0 R (HD.1514) 1901 0 R (HD.1515) 1902 0 R (HD.1516) 1903 0 R (HD.1517) 1904 0 R (HD.1518) 1905 0 R (HD.1519) 1906 0 R (HD.152) 362 0 R (HD.1520) 1907 0 R (HD.1521) 1908 0 R (HD.1522) 1909 0 R (HD.1523) 1910 0 R (HD.1524) 1917 0 R (HD.1525) 1918 0 R (HD.1526) 1919 0 R (HD.1527) 1920 0 R (HD.1528) 1921 0 R (HD.1529) 1922 0 R ] /Limits [ (HD.1500) (HD.1529) ] >>
endobj
11767 0 obj
-<< /Names [ (HD.2477) 2981 0 R (HD.2478) 2982 0 R (HD.2479) 2983 0 R (HD.248) 467 0 R (HD.2480) 2984 0 R (HD.2481) 2985 0 R (HD.2482) 2986 0 R (HD.2483) 2987 0 R (HD.2484) 2988 0 R (HD.2485) 2989 0 R (HD.2486) 2990 0 R (HD.2487) 2991 0 R (HD.2488) 2992 0 R (HD.2489) 2993 0 R (HD.249) 468 0 R (HD.2490) 2994 0 R (HD.2491) 2995 0 R (HD.2492) 2996 0 R (HD.2493) 2997 0 R (HD.2494) 2998 0 R (HD.2495) 2999 0 R (HD.2496) 3000 0 R (HD.2497) 3001 0 R (HD.2498) 3002 0 R (HD.2499) 3003 0 R (HD.25) 220 0 R (HD.250) 469 0 R (HD.2500) 3004 0 R (HD.2501) 3005 0 R (HD.2502) 3006 0 R (HD.2503) 3007 0 R (HD.2504) 3008 0 R ] /Limits [ (HD.2477) (HD.2504) ] >>
+<< /Names [ (HD.153) 363 0 R (HD.1530) 1923 0 R (HD.1531) 1924 0 R (HD.1532) 1925 0 R (HD.1533) 1926 0 R (HD.1534) 1927 0 R (HD.1535) 1928 0 R (HD.1536) 1929 0 R (HD.1537) 1930 0 R (HD.1538) 1931 0 R (HD.1539) 1932 0 R (HD.154) 364 0 R (HD.1540) 1933 0 R (HD.1541) 1934 0 R (HD.1542) 1935 0 R (HD.1543) 1936 0 R (HD.1544) 1937 0 R (HD.1545) 1938 0 R (HD.1546) 1939 0 R (HD.1547) 1940 0 R (HD.1548) 1941 0 R (HD.1549) 1942 0 R (HD.155) 365 0 R (HD.1550) 1943 0 R (HD.1551) 1944 0 R (HD.1552) 1945 0 R (HD.1553) 1946 0 R (HD.1554) 1947 0 R (HD.1555) 1948 0 R (HD.1556) 1949 0 R (HD.1557) 1950 0 R (HD.1558) 1951 0 R ] /Limits [ (HD.153) (HD.1558) ] >>
endobj
11768 0 obj
-<< /Names [ (HD.2505) 3009 0 R (HD.2506) 3010 0 R (HD.2507) 3011 0 R (HD.2508) 3012 0 R (HD.2509) 3013 0 R (HD.251) 470 0 R (HD.2510) 3014 0 R (HD.2511) 3015 0 R (HD.2512) 3020 0 R (HD.2513) 3021 0 R (HD.2514) 3022 0 R (HD.2515) 3023 0 R (HD.2516) 3024 0 R (HD.2517) 3025 0 R (HD.2518) 3026 0 R (HD.2519) 3027 0 R (HD.252) 471 0 R (HD.2520) 3028 0 R (HD.2521) 3029 0 R (HD.2522) 3030 0 R (HD.2523) 3031 0 R (HD.2524) 3032 0 R (HD.2525) 3033 0 R (HD.2526) 3034 0 R (HD.2527) 3035 0 R (HD.2528) 3036 0 R (HD.2529) 3037 0 R (HD.253) 472 0 R (HD.2530) 3038 0 R (HD.2531) 3039 0 R (HD.2532) 3040 0 R (HD.2533) 3041 0 R ] /Limits [ (HD.2505) (HD.2533) ] >>
+<< /Names [ (HD.1559) 1952 0 R (HD.156) 366 0 R (HD.1560) 1953 0 R (HD.1561) 1954 0 R (HD.1562) 1955 0 R (HD.1563) 1956 0 R (HD.1564) 1957 0 R (HD.1565) 1958 0 R (HD.1566) 1959 0 R (HD.1567) 1967 0 R (HD.1568) 1968 0 R (HD.1569) 1969 0 R (HD.157) 367 0 R (HD.1570) 1970 0 R (HD.1571) 1971 0 R (HD.1572) 1972 0 R (HD.1573) 1973 0 R (HD.1574) 1974 0 R (HD.1575) 1975 0 R (HD.1576) 1976 0 R (HD.1577) 1977 0 R (HD.1578) 1978 0 R (HD.1579) 1979 0 R (HD.158) 368 0 R (HD.1580) 1980 0 R (HD.1581) 1981 0 R (HD.1582) 1982 0 R (HD.1583) 1983 0 R (HD.1584) 1984 0 R (HD.1585) 1985 0 R (HD.1586) 1986 0 R (HD.1587) 1987 0 R ] /Limits [ (HD.1559) (HD.1587) ] >>
endobj
11769 0 obj
-<< /Names [ (HD.2534) 3042 0 R (HD.2535) 3043 0 R (HD.2536) 3044 0 R (HD.2537) 3045 0 R (HD.2538) 3046 0 R (HD.2539) 3047 0 R (HD.254) 474 0 R (HD.2540) 3048 0 R (HD.2541) 3049 0 R (HD.2542) 3050 0 R (HD.2543) 3051 0 R (HD.2544) 3052 0 R (HD.2545) 3053 0 R (HD.2546) 3054 0 R (HD.2547) 3055 0 R (HD.2548) 3056 0 R (HD.2549) 3057 0 R (HD.255) 475 0 R (HD.2550) 3058 0 R (HD.2551) 3059 0 R (HD.2552) 3060 0 R (HD.2553) 3061 0 R (HD.2554) 3062 0 R (HD.2555) 3063 0 R (HD.2556) 3064 0 R (HD.2557) 3065 0 R (HD.2558) 3066 0 R (HD.2559) 3071 0 R (HD.256) 476 0 R (HD.2560) 3072 0 R (HD.2561) 3073 0 R (HD.2562) 3074 0 R ] /Limits [ (HD.2534) (HD.2562) ] >>
+<< /Names [ (HD.1588) 1988 0 R (HD.1589) 1989 0 R (HD.159) 369 0 R (HD.1590) 1990 0 R (HD.1591) 1991 0 R (HD.1592) 1992 0 R (HD.1593) 1993 0 R (HD.1594) 1994 0 R (HD.1595) 1995 0 R (HD.1596) 1996 0 R (HD.1597) 1997 0 R (HD.1598) 1998 0 R (HD.1599) 1999 0 R (HD.16) 211 0 R (HD.160) 370 0 R (HD.1600) 2000 0 R (HD.1601) 2001 0 R (HD.1602) 2002 0 R (HD.1603) 2003 0 R (HD.1604) 2004 0 R (HD.1605) 2005 0 R (HD.1606) 2010 0 R (HD.1607) 2011 0 R (HD.1608) 2012 0 R (HD.1609) 2013 0 R (HD.161) 371 0 R (HD.1610) 2014 0 R (HD.1611) 2015 0 R (HD.1612) 2016 0 R (HD.1613) 2017 0 R (HD.1614) 2018 0 R (HD.1615) 2019 0 R ] /Limits [ (HD.1588) (HD.1615) ] >>
endobj
11770 0 obj
-<< /Names [ (HD.2563) 3075 0 R (HD.2564) 3076 0 R (HD.2565) 3077 0 R (HD.2566) 3078 0 R (HD.2567) 3079 0 R (HD.2568) 3080 0 R (HD.2569) 3081 0 R (HD.257) 477 0 R (HD.2570) 3082 0 R (HD.2571) 3083 0 R (HD.2572) 3084 0 R (HD.2573) 3085 0 R (HD.2574) 3086 0 R (HD.2575) 3087 0 R (HD.2576) 3088 0 R (HD.2577) 3089 0 R (HD.2578) 3090 0 R (HD.2579) 3091 0 R (HD.258) 478 0 R (HD.2580) 3092 0 R (HD.2581) 3093 0 R (HD.2582) 3094 0 R (HD.2583) 3095 0 R (HD.2584) 3096 0 R (HD.2585) 3097 0 R (HD.2586) 3098 0 R (HD.2587) 3099 0 R (HD.2588) 3100 0 R (HD.2589) 3101 0 R (HD.259) 479 0 R (HD.2590) 3102 0 R (HD.2591) 3103 0 R ] /Limits [ (HD.2563) (HD.2591) ] >>
+<< /Names [ (HD.1616) 2020 0 R (HD.1617) 2021 0 R (HD.1618) 2022 0 R (HD.1619) 2023 0 R (HD.162) 372 0 R (HD.1620) 2024 0 R (HD.1621) 2025 0 R (HD.1622) 2026 0 R (HD.1623) 2027 0 R (HD.1624) 2028 0 R (HD.1625) 2029 0 R (HD.1626) 2030 0 R (HD.1627) 2031 0 R (HD.1628) 2032 0 R (HD.1629) 2033 0 R (HD.163) 373 0 R (HD.1630) 2034 0 R (HD.1631) 2035 0 R (HD.1632) 2036 0 R (HD.1633) 2037 0 R (HD.1634) 2038 0 R (HD.1635) 2039 0 R (HD.1636) 2040 0 R (HD.1637) 2041 0 R (HD.1638) 2042 0 R (HD.1639) 2043 0 R (HD.164) 374 0 R (HD.1640) 2044 0 R (HD.1641) 2045 0 R (HD.1642) 2046 0 R (HD.1643) 2047 0 R (HD.1644) 2048 0 R ] /Limits [ (HD.1616) (HD.1644) ] >>
endobj
11771 0 obj
-<< /Names [ (HD.2592) 3104 0 R (HD.2593) 3105 0 R (HD.2594) 3106 0 R (HD.2595) 3107 0 R (HD.2596) 3108 0 R (HD.2597) 3109 0 R (HD.2598) 3110 0 R (HD.2599) 3111 0 R (HD.26) 221 0 R (HD.260) 487 0 R (HD.2600) 3112 0 R (HD.2601) 3113 0 R (HD.2602) 3114 0 R (HD.2603) 3115 0 R (HD.2604) 3116 0 R (HD.2605) 3117 0 R (HD.2606) 3118 0 R (HD.2607) 3119 0 R (HD.2608) 3120 0 R (HD.2609) 3121 0 R (HD.261) 488 0 R (HD.2610) 3126 0 R (HD.2611) 3127 0 R (HD.2612) 3128 0 R (HD.2613) 3129 0 R (HD.2614) 3130 0 R (HD.2615) 3131 0 R (HD.2616) 3132 0 R (HD.2617) 3133 0 R (HD.2618) 3134 0 R (HD.2619) 3135 0 R (HD.262) 489 0 R ] /Limits [ (HD.2592) (HD.262) ] >>
+<< /Names [ (HD.1645) 2049 0 R (HD.1646) 2050 0 R (HD.1647) 2051 0 R (HD.1648) 2052 0 R (HD.1649) 2053 0 R (HD.165) 375 0 R (HD.1650) 2054 0 R (HD.1651) 2055 0 R (HD.1652) 2056 0 R (HD.1653) 2057 0 R (HD.1654) 2058 0 R (HD.1655) 2059 0 R (HD.1656) 2060 0 R (HD.1657) 2065 0 R (HD.1658) 2066 0 R (HD.1659) 2067 0 R (HD.166) 376 0 R (HD.1660) 2068 0 R (HD.1661) 2069 0 R (HD.1662) 2070 0 R (HD.1663) 2071 0 R (HD.1664) 2072 0 R (HD.1665) 2073 0 R (HD.1666) 2074 0 R (HD.1667) 2075 0 R (HD.1668) 2076 0 R (HD.1669) 2077 0 R (HD.167) 377 0 R (HD.1670) 2078 0 R (HD.1671) 2079 0 R (HD.1672) 2080 0 R (HD.1673) 2081 0 R ] /Limits [ (HD.1645) (HD.1673) ] >>
endobj
11772 0 obj
-<< /Names [ (HD.2620) 3136 0 R (HD.2621) 3137 0 R (HD.2622) 3138 0 R (HD.2623) 3139 0 R (HD.2624) 3140 0 R (HD.2625) 3141 0 R (HD.2626) 3142 0 R (HD.2627) 3143 0 R (HD.2628) 3144 0 R (HD.2629) 3145 0 R (HD.263) 490 0 R (HD.2630) 3146 0 R (HD.2631) 3147 0 R (HD.2632) 3148 0 R (HD.2633) 3149 0 R (HD.2634) 3150 0 R (HD.2635) 3151 0 R (HD.2636) 3152 0 R (HD.2637) 3153 0 R (HD.2638) 3154 0 R (HD.2639) 3155 0 R (HD.264) 491 0 R (HD.2640) 3156 0 R (HD.2641) 3157 0 R (HD.2642) 3158 0 R (HD.2643) 3159 0 R (HD.2644) 3160 0 R (HD.2645) 3161 0 R (HD.2646) 3162 0 R (HD.2647) 3163 0 R (HD.2648) 3164 0 R (HD.2649) 3165 0 R ] /Limits [ (HD.2620) (HD.2649) ] >>
+<< /Names [ (HD.1674) 2082 0 R (HD.1675) 2083 0 R (HD.1676) 2084 0 R (HD.1677) 2085 0 R (HD.1678) 2086 0 R (HD.1679) 2087 0 R (HD.168) 378 0 R (HD.1680) 2088 0 R (HD.1681) 2089 0 R (HD.1682) 2090 0 R (HD.1683) 2091 0 R (HD.1684) 2092 0 R (HD.1685) 2093 0 R (HD.1686) 2094 0 R (HD.1687) 2095 0 R (HD.1688) 2096 0 R (HD.1689) 2097 0 R (HD.169) 379 0 R (HD.1690) 2102 0 R (HD.1691) 2103 0 R (HD.1692) 2104 0 R (HD.1693) 2105 0 R (HD.1694) 2106 0 R (HD.1695) 2107 0 R (HD.1696) 2108 0 R (HD.1697) 2109 0 R (HD.1698) 2110 0 R (HD.1699) 2111 0 R (HD.17) 212 0 R (HD.170) 380 0 R (HD.1700) 2112 0 R (HD.1701) 2113 0 R ] /Limits [ (HD.1674) (HD.1701) ] >>
endobj
11773 0 obj
-<< /Names [ (HD.265) 492 0 R (HD.2650) 3166 0 R (HD.2651) 3167 0 R (HD.2652) 3168 0 R (HD.2653) 3169 0 R (HD.2654) 3170 0 R (HD.2655) 3171 0 R (HD.2656) 3172 0 R (HD.2657) 3173 0 R (HD.2658) 3174 0 R (HD.2659) 3175 0 R (HD.266) 493 0 R (HD.2660) 3176 0 R (HD.2661) 3177 0 R (HD.2662) 3178 0 R (HD.2663) 3183 0 R (HD.2664) 3184 0 R (HD.2665) 3185 0 R (HD.2666) 3186 0 R (HD.2667) 3187 0 R (HD.2668) 3188 0 R (HD.2669) 3189 0 R (HD.267) 494 0 R (HD.2670) 3190 0 R (HD.2671) 3191 0 R (HD.2672) 3192 0 R (HD.2673) 3193 0 R (HD.2674) 3194 0 R (HD.2675) 3195 0 R (HD.2676) 3196 0 R (HD.2677) 3197 0 R (HD.2678) 3198 0 R ] /Limits [ (HD.265) (HD.2678) ] >>
+<< /Names [ (HD.1702) 2114 0 R (HD.1703) 2115 0 R (HD.1704) 2116 0 R (HD.1705) 2117 0 R (HD.1706) 2118 0 R (HD.1707) 2119 0 R (HD.1708) 2120 0 R (HD.1709) 2121 0 R (HD.171) 381 0 R (HD.1710) 2122 0 R (HD.1711) 2123 0 R (HD.1712) 2124 0 R (HD.1713) 2125 0 R (HD.1714) 2126 0 R (HD.1715) 2127 0 R (HD.1716) 2128 0 R (HD.1717) 2129 0 R (HD.1718) 2130 0 R (HD.1719) 2135 0 R (HD.172) 382 0 R (HD.1720) 2136 0 R (HD.1721) 2137 0 R (HD.1722) 2138 0 R (HD.1723) 2139 0 R (HD.1724) 2140 0 R (HD.1725) 2141 0 R (HD.1726) 2142 0 R (HD.1727) 2143 0 R (HD.1728) 2144 0 R (HD.1729) 2145 0 R (HD.173) 383 0 R (HD.1730) 2146 0 R ] /Limits [ (HD.1702) (HD.1730) ] >>
endobj
11774 0 obj
-<< /Names [ (HD.2679) 3199 0 R (HD.268) 495 0 R (HD.2680) 3200 0 R (HD.2681) 3201 0 R (HD.2682) 3202 0 R (HD.2683) 3203 0 R (HD.2684) 3204 0 R (HD.2685) 3205 0 R (HD.2686) 3206 0 R (HD.2687) 3207 0 R (HD.2688) 3208 0 R (HD.2689) 3209 0 R (HD.269) 496 0 R (HD.2690) 3210 0 R (HD.2691) 3211 0 R (HD.2692) 3212 0 R (HD.2693) 3213 0 R (HD.2694) 3214 0 R (HD.2695) 3215 0 R (HD.2696) 3216 0 R (HD.2697) 3217 0 R (HD.2698) 3218 0 R (HD.2699) 3219 0 R (HD.27) 222 0 R (HD.270) 497 0 R (HD.2700) 3220 0 R (HD.2701) 3221 0 R (HD.2702) 3222 0 R (HD.2703) 3223 0 R (HD.2704) 3224 0 R (HD.2705) 3225 0 R (HD.2706) 3226 0 R ] /Limits [ (HD.2679) (HD.2706) ] >>
+<< /Names [ (HD.1731) 2147 0 R (HD.1732) 2148 0 R (HD.1733) 2149 0 R (HD.1734) 2150 0 R (HD.1735) 2151 0 R (HD.1736) 2152 0 R (HD.1737) 2153 0 R (HD.1738) 2154 0 R (HD.1739) 2155 0 R (HD.174) 388 0 R (HD.1740) 2156 0 R (HD.1741) 2157 0 R (HD.1742) 2158 0 R (HD.1743) 2159 0 R (HD.1744) 2160 0 R (HD.1745) 2161 0 R (HD.1746) 2162 0 R (HD.1747) 2163 0 R (HD.1748) 2164 0 R (HD.1749) 2165 0 R (HD.175) 389 0 R (HD.1750) 2166 0 R (HD.1751) 2167 0 R (HD.1752) 2168 0 R (HD.1753) 2173 0 R (HD.1754) 2174 0 R (HD.1755) 2175 0 R (HD.1756) 2176 0 R (HD.1757) 2177 0 R (HD.1758) 2178 0 R (HD.1759) 2179 0 R (HD.176) 390 0 R ] /Limits [ (HD.1731) (HD.176) ] >>
endobj
11775 0 obj
-<< /Names [ (HD.2707) 3227 0 R (HD.2708) 3228 0 R (HD.2709) 3229 0 R (HD.271) 498 0 R (HD.2710) 3230 0 R (HD.2711) 3231 0 R (HD.2712) 3232 0 R (HD.2713) 3233 0 R (HD.2714) 3234 0 R (HD.2715) 3235 0 R (HD.2716) 3236 0 R (HD.2717) 3237 0 R (HD.2718) 3238 0 R (HD.2719) 3243 0 R (HD.272) 499 0 R (HD.2720) 3244 0 R (HD.2721) 3245 0 R (HD.2722) 3246 0 R (HD.2723) 3247 0 R (HD.2724) 3248 0 R (HD.2725) 3249 0 R (HD.2726) 3250 0 R (HD.2727) 3251 0 R (HD.2728) 3252 0 R (HD.2729) 3253 0 R (HD.273) 500 0 R (HD.2730) 3254 0 R (HD.2731) 3255 0 R (HD.2732) 3256 0 R (HD.2733) 3257 0 R (HD.2734) 3258 0 R (HD.2735) 3259 0 R ] /Limits [ (HD.2707) (HD.2735) ] >>
+<< /Names [ (HD.1760) 2180 0 R (HD.1761) 2181 0 R (HD.1762) 2182 0 R (HD.1763) 2183 0 R (HD.1764) 2184 0 R (HD.1765) 2185 0 R (HD.1766) 2186 0 R (HD.1767) 2187 0 R (HD.1768) 2188 0 R (HD.1769) 2189 0 R (HD.177) 391 0 R (HD.1770) 2190 0 R (HD.1771) 2191 0 R (HD.1772) 2192 0 R (HD.1773) 2193 0 R (HD.1774) 2194 0 R (HD.1775) 2195 0 R (HD.1776) 2196 0 R (HD.1777) 2197 0 R (HD.1778) 2198 0 R (HD.1779) 2199 0 R (HD.178) 392 0 R (HD.1780) 2200 0 R (HD.1781) 2201 0 R (HD.1782) 2202 0 R (HD.1783) 2203 0 R (HD.1784) 2204 0 R (HD.1785) 2205 0 R (HD.1786) 2206 0 R (HD.1787) 2207 0 R (HD.1788) 2208 0 R (HD.1789) 2209 0 R ] /Limits [ (HD.1760) (HD.1789) ] >>
endobj
11776 0 obj
-<< /Names [ (HD.2736) 3260 0 R (HD.2737) 3261 0 R (HD.2738) 3262 0 R (HD.2739) 3263 0 R (HD.274) 501 0 R (HD.2740) 3264 0 R (HD.2741) 3265 0 R (HD.2742) 3266 0 R (HD.2743) 3267 0 R (HD.2744) 3268 0 R (HD.2745) 3269 0 R (HD.2746) 3270 0 R (HD.2747) 3271 0 R (HD.2748) 3272 0 R (HD.2749) 3273 0 R (HD.275) 502 0 R (HD.2750) 3274 0 R (HD.2751) 3275 0 R (HD.2752) 3276 0 R (HD.2753) 3277 0 R (HD.2754) 3278 0 R (HD.2755) 3279 0 R (HD.2756) 3280 0 R (HD.2757) 3281 0 R (HD.2758) 3282 0 R (HD.2759) 3283 0 R (HD.276) 503 0 R (HD.2760) 3284 0 R (HD.2761) 3285 0 R (HD.2762) 3286 0 R (HD.2763) 3287 0 R (HD.2764) 3288 0 R ] /Limits [ (HD.2736) (HD.2764) ] >>
+<< /Names [ (HD.179) 393 0 R (HD.1790) 2210 0 R (HD.1791) 2211 0 R (HD.1792) 2216 0 R (HD.1793) 2217 0 R (HD.1794) 2218 0 R (HD.1795) 2219 0 R (HD.1796) 2220 0 R (HD.1797) 2221 0 R (HD.1798) 2222 0 R (HD.1799) 2223 0 R (HD.18) 213 0 R (HD.180) 394 0 R (HD.1800) 2224 0 R (HD.1801) 2225 0 R (HD.1802) 2226 0 R (HD.1803) 2227 0 R (HD.1804) 2228 0 R (HD.1805) 2229 0 R (HD.1806) 2230 0 R (HD.1807) 2231 0 R (HD.1808) 2232 0 R (HD.1809) 2233 0 R (HD.181) 395 0 R (HD.1810) 2234 0 R (HD.1811) 2235 0 R (HD.1812) 2236 0 R (HD.1813) 2237 0 R (HD.1814) 2238 0 R (HD.1815) 2239 0 R (HD.1816) 2240 0 R (HD.1817) 2241 0 R ] /Limits [ (HD.179) (HD.1817) ] >>
endobj
11777 0 obj
-<< /Names [ (HD.2765) 3289 0 R (HD.2766) 3290 0 R (HD.2767) 3291 0 R (HD.2768) 3292 0 R (HD.2769) 3293 0 R (HD.277) 504 0 R (HD.2770) 3294 0 R (HD.2771) 3295 0 R (HD.2772) 3296 0 R (HD.2773) 3297 0 R (HD.2774) 3303 0 R (HD.2775) 3304 0 R (HD.2776) 3305 0 R (HD.2777) 3306 0 R (HD.2778) 3307 0 R (HD.2779) 3308 0 R (HD.278) 505 0 R (HD.2780) 3309 0 R (HD.2781) 3310 0 R (HD.2782) 3311 0 R (HD.2783) 3312 0 R (HD.2784) 3313 0 R (HD.2785) 3314 0 R (HD.2786) 3315 0 R (HD.2787) 3316 0 R (HD.2788) 3317 0 R (HD.2789) 3318 0 R (HD.279) 506 0 R (HD.2790) 3319 0 R (HD.2791) 3320 0 R (HD.2792) 3321 0 R (HD.2793) 3322 0 R ] /Limits [ (HD.2765) (HD.2793) ] >>
+<< /Names [ (HD.1818) 2242 0 R (HD.1819) 2243 0 R (HD.182) 396 0 R (HD.1820) 2244 0 R (HD.1821) 2245 0 R (HD.1822) 2246 0 R (HD.1823) 2247 0 R (HD.1824) 2248 0 R (HD.1825) 2249 0 R (HD.1826) 2250 0 R (HD.1827) 2251 0 R (HD.1828) 2252 0 R (HD.1829) 2253 0 R (HD.183) 397 0 R (HD.1830) 2259 0 R (HD.1831) 2260 0 R (HD.1832) 2261 0 R (HD.1833) 2262 0 R (HD.1834) 2263 0 R (HD.1835) 2264 0 R (HD.1836) 2265 0 R (HD.1837) 2266 0 R (HD.1838) 2267 0 R (HD.1839) 2268 0 R (HD.184) 398 0 R (HD.1840) 2269 0 R (HD.1841) 2270 0 R (HD.1842) 2271 0 R (HD.1843) 2272 0 R (HD.1844) 2273 0 R (HD.1845) 2274 0 R (HD.1846) 2275 0 R ] /Limits [ (HD.1818) (HD.1846) ] >>
endobj
11778 0 obj
-<< /Names [ (HD.2794) 3323 0 R (HD.2795) 3324 0 R (HD.2796) 3325 0 R (HD.2797) 3326 0 R (HD.2798) 3327 0 R (HD.2799) 3328 0 R (HD.28) 223 0 R (HD.280) 507 0 R (HD.2800) 3329 0 R (HD.2801) 3330 0 R (HD.2802) 3331 0 R (HD.2803) 3332 0 R (HD.2804) 3333 0 R (HD.2805) 3338 0 R (HD.2806) 3339 0 R (HD.2807) 3340 0 R (HD.2808) 3341 0 R (HD.2809) 3342 0 R (HD.281) 508 0 R (HD.2810) 3343 0 R (HD.2811) 3344 0 R (HD.2812) 3345 0 R (HD.2813) 3346 0 R (HD.2814) 3347 0 R (HD.2815) 3348 0 R (HD.2816) 3349 0 R (HD.2817) 3350 0 R (HD.2818) 3351 0 R (HD.2819) 3352 0 R (HD.282) 509 0 R (HD.2820) 3353 0 R (HD.2821) 3354 0 R ] /Limits [ (HD.2794) (HD.2821) ] >>
+<< /Names [ (HD.1847) 2276 0 R (HD.1848) 2277 0 R (HD.1849) 2278 0 R (HD.185) 399 0 R (HD.1850) 2279 0 R (HD.1851) 2280 0 R (HD.1852) 2281 0 R (HD.1853) 2282 0 R (HD.1854) 2283 0 R (HD.1855) 2284 0 R (HD.1856) 2285 0 R (HD.1857) 2286 0 R (HD.1858) 2287 0 R (HD.1859) 2288 0 R (HD.186) 400 0 R (HD.1860) 2289 0 R (HD.1861) 2290 0 R (HD.1862) 2291 0 R (HD.1863) 2292 0 R (HD.1864) 2293 0 R (HD.1865) 2294 0 R (HD.1866) 2295 0 R (HD.1867) 2296 0 R (HD.1868) 2297 0 R (HD.1869) 2298 0 R (HD.187) 401 0 R (HD.1870) 2299 0 R (HD.1871) 2300 0 R (HD.1872) 2301 0 R (HD.1873) 2302 0 R (HD.1874) 2303 0 R (HD.1875) 2304 0 R ] /Limits [ (HD.1847) (HD.1875) ] >>
endobj
11779 0 obj
-<< /Names [ (HD.2822) 3355 0 R (HD.2823) 3356 0 R (HD.2824) 3357 0 R (HD.2825) 3358 0 R (HD.2826) 3359 0 R (HD.2827) 3360 0 R (HD.2828) 3361 0 R (HD.2829) 3362 0 R (HD.283) 510 0 R (HD.2830) 3363 0 R (HD.2831) 3364 0 R (HD.2832) 3365 0 R (HD.2833) 3366 0 R (HD.2834) 3367 0 R (HD.2835) 3368 0 R (HD.2836) 3369 0 R (HD.2837) 3370 0 R (HD.2838) 3371 0 R (HD.2839) 3372 0 R (HD.284) 511 0 R (HD.2840) 3373 0 R (HD.2841) 3374 0 R (HD.2842) 3375 0 R (HD.2843) 3376 0 R (HD.2844) 3377 0 R (HD.2845) 3378 0 R (HD.2846) 3379 0 R (HD.2847) 3380 0 R (HD.2848) 3385 0 R (HD.2849) 3386 0 R (HD.285) 512 0 R (HD.2850) 3387 0 R ] /Limits [ (HD.2822) (HD.2850) ] >>
+<< /Names [ (HD.1876) 2305 0 R (HD.1877) 2306 0 R (HD.1878) 2307 0 R (HD.1879) 2308 0 R (HD.188) 402 0 R (HD.1880) 2309 0 R (HD.1881) 2310 0 R (HD.1882) 2316 0 R (HD.1883) 2317 0 R (HD.1884) 2318 0 R (HD.1885) 2319 0 R (HD.1886) 2320 0 R (HD.1887) 2321 0 R (HD.1888) 2322 0 R (HD.1889) 2323 0 R (HD.189) 403 0 R (HD.1890) 2324 0 R (HD.1891) 2325 0 R (HD.1892) 2326 0 R (HD.1893) 2327 0 R (HD.1894) 2328 0 R (HD.1895) 2329 0 R (HD.1896) 2330 0 R (HD.1897) 2331 0 R (HD.1898) 2332 0 R (HD.1899) 2333 0 R (HD.19) 214 0 R (HD.190) 404 0 R (HD.1900) 2334 0 R (HD.1901) 2335 0 R (HD.1902) 2336 0 R (HD.1903) 2337 0 R ] /Limits [ (HD.1876) (HD.1903) ] >>
endobj
11780 0 obj
-<< /Names [ (HD.2851) 3388 0 R (HD.2852) 3389 0 R (HD.2853) 3390 0 R (HD.2854) 3391 0 R (HD.2855) 3392 0 R (HD.2856) 3393 0 R (HD.2857) 3394 0 R (HD.2858) 3395 0 R (HD.2859) 3396 0 R (HD.286) 513 0 R (HD.2860) 3397 0 R (HD.2861) 3398 0 R (HD.2862) 3399 0 R (HD.2863) 3400 0 R (HD.2864) 3401 0 R (HD.2865) 3402 0 R (HD.2866) 3403 0 R (HD.2867) 3404 0 R (HD.2868) 3405 0 R (HD.2869) 3406 0 R (HD.287) 514 0 R (HD.2870) 3407 0 R (HD.2871) 3408 0 R (HD.2872) 3409 0 R (HD.2873) 3410 0 R (HD.2874) 3411 0 R (HD.2875) 3412 0 R (HD.2876) 3413 0 R (HD.2877) 3414 0 R (HD.2878) 3415 0 R (HD.2879) 3416 0 R (HD.288) 515 0 R ] /Limits [ (HD.2851) (HD.288) ] >>
+<< /Names [ (HD.1904) 2338 0 R (HD.1905) 2339 0 R (HD.1906) 2340 0 R (HD.1907) 2341 0 R (HD.1908) 2342 0 R (HD.1909) 2343 0 R (HD.191) 405 0 R (HD.1910) 2344 0 R (HD.1911) 2345 0 R (HD.1912) 2346 0 R (HD.1913) 2347 0 R (HD.1914) 2348 0 R (HD.1915) 2349 0 R (HD.1916) 2350 0 R (HD.1917) 2351 0 R (HD.1918) 2352 0 R (HD.1919) 2353 0 R (HD.192) 406 0 R (HD.1920) 2354 0 R (HD.1921) 2355 0 R (HD.1922) 2356 0 R (HD.1923) 2357 0 R (HD.1924) 2358 0 R (HD.1925) 2359 0 R (HD.1926) 2360 0 R (HD.1927) 2361 0 R (HD.1928) 2362 0 R (HD.1929) 2363 0 R (HD.193) 407 0 R (HD.1930) 2371 0 R (HD.1931) 2372 0 R (HD.1932) 2373 0 R ] /Limits [ (HD.1904) (HD.1932) ] >>
endobj
11781 0 obj
-<< /Names [ (HD.2880) 3417 0 R (HD.2881) 3418 0 R (HD.2882) 3419 0 R (HD.2883) 3420 0 R (HD.2884) 3421 0 R (HD.2885) 3422 0 R (HD.2886) 3423 0 R (HD.2887) 3424 0 R (HD.2888) 3425 0 R (HD.2889) 3430 0 R (HD.289) 516 0 R (HD.2890) 3431 0 R (HD.2891) 3432 0 R (HD.2892) 3433 0 R (HD.2893) 3434 0 R (HD.2894) 3435 0 R (HD.2895) 3436 0 R (HD.2896) 3437 0 R (HD.2897) 3438 0 R (HD.2898) 3439 0 R (HD.2899) 3440 0 R (HD.29) 224 0 R (HD.290) 517 0 R (HD.2900) 3441 0 R (HD.2901) 3442 0 R (HD.2902) 3443 0 R (HD.2903) 3444 0 R (HD.2904) 3445 0 R (HD.2905) 3446 0 R (HD.2906) 3447 0 R (HD.2907) 3448 0 R (HD.2908) 3449 0 R ] /Limits [ (HD.2880) (HD.2908) ] >>
+<< /Names [ (HD.1933) 2374 0 R (HD.1934) 2375 0 R (HD.1935) 2376 0 R (HD.1936) 2377 0 R (HD.1937) 2378 0 R (HD.1938) 2379 0 R (HD.1939) 2380 0 R (HD.194) 408 0 R (HD.1940) 2381 0 R (HD.1941) 2382 0 R (HD.1942) 2383 0 R (HD.1943) 2384 0 R (HD.1944) 2385 0 R (HD.1945) 2386 0 R (HD.1946) 2387 0 R (HD.1947) 2388 0 R (HD.1948) 2389 0 R (HD.1949) 2390 0 R (HD.195) 409 0 R (HD.1950) 2391 0 R (HD.1951) 2392 0 R (HD.1952) 2393 0 R (HD.1953) 2394 0 R (HD.1954) 2395 0 R (HD.1955) 2396 0 R (HD.1956) 2397 0 R (HD.1957) 2398 0 R (HD.1958) 2399 0 R (HD.1959) 2400 0 R (HD.196) 410 0 R (HD.1960) 2401 0 R (HD.1961) 2402 0 R ] /Limits [ (HD.1933) (HD.1961) ] >>
endobj
11782 0 obj
-<< /Names [ (HD.2909) 3450 0 R (HD.291) 518 0 R (HD.2910) 3451 0 R (HD.2911) 3452 0 R (HD.2912) 3453 0 R (HD.2913) 3454 0 R (HD.2914) 3455 0 R (HD.2915) 3456 0 R (HD.2916) 3457 0 R (HD.2917) 3458 0 R (HD.2918) 3459 0 R (HD.2919) 3460 0 R (HD.292) 519 0 R (HD.2920) 3461 0 R (HD.2921) 3462 0 R (HD.2922) 3463 0 R (HD.2923) 3464 0 R (HD.2924) 3465 0 R (HD.2925) 3466 0 R (HD.2926) 3467 0 R (HD.2927) 3468 0 R (HD.2928) 3469 0 R (HD.2929) 3470 0 R (HD.293) 520 0 R (HD.2930) 3471 0 R (HD.2931) 3472 0 R (HD.2932) 3473 0 R (HD.2933) 3474 0 R (HD.2934) 3475 0 R (HD.2935) 3476 0 R (HD.2936) 3477 0 R (HD.2937) 3478 0 R ] /Limits [ (HD.2909) (HD.2937) ] >>
+<< /Names [ (HD.1962) 2403 0 R (HD.1963) 2404 0 R (HD.1964) 2405 0 R (HD.1965) 2412 0 R (HD.1966) 2413 0 R (HD.1967) 2414 0 R (HD.1968) 2415 0 R (HD.1969) 2416 0 R (HD.197) 411 0 R (HD.1970) 2417 0 R (HD.1971) 2418 0 R (HD.1972) 2419 0 R (HD.1973) 2420 0 R (HD.1974) 2421 0 R (HD.1975) 2422 0 R (HD.1976) 2423 0 R (HD.1977) 2424 0 R (HD.1978) 2425 0 R (HD.1979) 2426 0 R (HD.198) 412 0 R (HD.1980) 2427 0 R (HD.1981) 2428 0 R (HD.1982) 2429 0 R (HD.1983) 2430 0 R (HD.1984) 2431 0 R (HD.1985) 2432 0 R (HD.1986) 2433 0 R (HD.1987) 2434 0 R (HD.1988) 2435 0 R (HD.1989) 2436 0 R (HD.199) 413 0 R (HD.1990) 2437 0 R ] /Limits [ (HD.1962) (HD.1990) ] >>
endobj
11783 0 obj
-<< /Names [ (HD.2938) 3479 0 R (HD.2939) 3480 0 R (HD.294) 521 0 R (HD.2940) 3481 0 R (HD.2941) 3486 0 R (HD.2942) 3487 0 R (HD.2943) 3488 0 R (HD.2944) 3489 0 R (HD.2945) 3490 0 R (HD.2946) 3491 0 R (HD.2947) 3492 0 R (HD.2948) 3493 0 R (HD.2949) 3494 0 R (HD.295) 522 0 R (HD.2950) 3495 0 R (HD.2951) 3496 0 R (HD.2952) 3497 0 R (HD.2953) 3498 0 R (HD.2954) 3499 0 R (HD.2955) 3500 0 R (HD.2956) 3501 0 R (HD.2957) 3502 0 R (HD.2958) 3503 0 R (HD.2959) 3504 0 R (HD.296) 523 0 R (HD.2960) 3505 0 R (HD.2961) 3506 0 R (HD.2962) 3507 0 R (HD.2963) 3508 0 R (HD.2964) 3509 0 R (HD.2965) 3510 0 R (HD.2966) 3511 0 R ] /Limits [ (HD.2938) (HD.2966) ] >>
+<< /Names [ (HD.1991) 2438 0 R (HD.1992) 2439 0 R (HD.1993) 2440 0 R (HD.1994) 2441 0 R (HD.1995) 2442 0 R (HD.1996) 2443 0 R (HD.1997) 2444 0 R (HD.1998) 2445 0 R (HD.1999) 2446 0 R (HD.2) 190 0 R (HD.20) 215 0 R (HD.200) 414 0 R (HD.2000) 2447 0 R (HD.2001) 2448 0 R (HD.2002) 2449 0 R (HD.2003) 2450 0 R (HD.2004) 2451 0 R (HD.2005) 2452 0 R (HD.2006) 2453 0 R (HD.2007) 2454 0 R (HD.2008) 2460 0 R (HD.2009) 2461 0 R (HD.201) 415 0 R (HD.2010) 2462 0 R (HD.2011) 2463 0 R (HD.2012) 2464 0 R (HD.2013) 2465 0 R (HD.2014) 2466 0 R (HD.2015) 2467 0 R (HD.2016) 2468 0 R (HD.2017) 2469 0 R (HD.2018) 2470 0 R ] /Limits [ (HD.1991) (HD.2018) ] >>
endobj
11784 0 obj
-<< /Names [ (HD.2967) 3512 0 R (HD.2968) 3513 0 R (HD.2969) 3514 0 R (HD.297) 524 0 R (HD.2970) 3515 0 R (HD.2971) 3516 0 R (HD.2972) 3517 0 R (HD.2973) 3518 0 R (HD.2974) 3519 0 R (HD.2975) 3520 0 R (HD.2976) 3521 0 R (HD.2977) 3522 0 R (HD.2978) 3523 0 R (HD.2979) 3524 0 R (HD.298) 525 0 R (HD.2980) 3525 0 R (HD.2981) 3526 0 R (HD.2982) 3527 0 R (HD.2983) 3528 0 R (HD.2984) 3529 0 R (HD.2985) 3530 0 R (HD.2986) 3531 0 R (HD.2987) 3532 0 R (HD.2988) 3533 0 R (HD.2989) 3534 0 R (HD.299) 526 0 R (HD.2990) 3535 0 R (HD.2991) 3536 0 R (HD.2992) 3537 0 R (HD.2993) 3542 0 R (HD.2994) 3543 0 R (HD.2995) 3544 0 R ] /Limits [ (HD.2967) (HD.2995) ] >>
+<< /Names [ (HD.2019) 2471 0 R (HD.202) 416 0 R (HD.2020) 2472 0 R (HD.2021) 2473 0 R (HD.2022) 2474 0 R (HD.2023) 2475 0 R (HD.2024) 2476 0 R (HD.2025) 2477 0 R (HD.2026) 2478 0 R (HD.2027) 2479 0 R (HD.2028) 2480 0 R (HD.2029) 2481 0 R (HD.203) 417 0 R (HD.2030) 2482 0 R (HD.2031) 2483 0 R (HD.2032) 2484 0 R (HD.2033) 2485 0 R (HD.2034) 2486 0 R (HD.2035) 2487 0 R (HD.2036) 2488 0 R (HD.2037) 2489 0 R (HD.2038) 2490 0 R (HD.2039) 2491 0 R (HD.204) 418 0 R (HD.2040) 2492 0 R (HD.2041) 2493 0 R (HD.2042) 2494 0 R (HD.2043) 2495 0 R (HD.2044) 2496 0 R (HD.2045) 2497 0 R (HD.2046) 2498 0 R (HD.2047) 2499 0 R ] /Limits [ (HD.2019) (HD.2047) ] >>
endobj
11785 0 obj
-<< /Names [ (HD.2996) 3545 0 R (HD.2997) 3546 0 R (HD.2998) 3547 0 R (HD.2999) 3548 0 R (HD.3) 191 0 R (HD.30) 225 0 R (HD.300) 527 0 R (HD.3000) 3549 0 R (HD.3001) 3550 0 R (HD.3002) 3551 0 R (HD.3003) 3552 0 R (HD.3004) 3553 0 R (HD.3005) 3554 0 R (HD.3006) 3555 0 R (HD.3007) 3556 0 R (HD.3008) 3557 0 R (HD.3009) 3558 0 R (HD.301) 528 0 R (HD.3010) 3559 0 R (HD.3011) 3560 0 R (HD.3012) 3561 0 R (HD.3013) 3562 0 R (HD.3014) 3563 0 R (HD.3015) 3564 0 R (HD.3016) 3565 0 R (HD.3017) 3566 0 R (HD.3018) 3567 0 R (HD.3019) 3568 0 R (HD.302) 529 0 R (HD.3020) 3569 0 R (HD.3021) 3570 0 R (HD.3022) 3571 0 R ] /Limits [ (HD.2996) (HD.3022) ] >>
+<< /Names [ (HD.2048) 2500 0 R (HD.2049) 2501 0 R (HD.205) 419 0 R (HD.2050) 2502 0 R (HD.2051) 2503 0 R (HD.2052) 2504 0 R (HD.2053) 2505 0 R (HD.2054) 2506 0 R (HD.2055) 2507 0 R (HD.2056) 2516 0 R (HD.2057) 2517 0 R (HD.2058) 2518 0 R (HD.2059) 2519 0 R (HD.206) 420 0 R (HD.2060) 2520 0 R (HD.2061) 2521 0 R (HD.2062) 2522 0 R (HD.2063) 2523 0 R (HD.2064) 2524 0 R (HD.2065) 2525 0 R (HD.2066) 2526 0 R (HD.2067) 2527 0 R (HD.2068) 2528 0 R (HD.2069) 2529 0 R (HD.207) 421 0 R (HD.2070) 2530 0 R (HD.2071) 2531 0 R (HD.2072) 2532 0 R (HD.2073) 2533 0 R (HD.2074) 2534 0 R (HD.2075) 2535 0 R (HD.2076) 2536 0 R ] /Limits [ (HD.2048) (HD.2076) ] >>
endobj
11786 0 obj
-<< /Names [ (HD.3023) 3572 0 R (HD.3024) 3573 0 R (HD.3025) 3574 0 R (HD.3026) 3575 0 R (HD.3027) 3576 0 R (HD.3028) 3577 0 R (HD.3029) 3578 0 R (HD.303) 530 0 R (HD.3030) 3579 0 R (HD.3031) 3580 0 R (HD.3032) 3581 0 R (HD.3033) 3582 0 R (HD.3034) 3583 0 R (HD.3035) 3584 0 R (HD.3036) 3585 0 R (HD.3037) 3586 0 R (HD.3038) 3587 0 R (HD.3039) 3588 0 R (HD.304) 535 0 R (HD.3040) 3589 0 R (HD.3041) 3590 0 R (HD.3042) 3595 0 R (HD.3043) 3596 0 R (HD.3044) 3597 0 R (HD.3045) 3598 0 R (HD.3046) 3599 0 R (HD.3047) 3600 0 R (HD.3048) 3601 0 R (HD.3049) 3602 0 R (HD.305) 536 0 R (HD.3050) 3603 0 R (HD.3051) 3604 0 R ] /Limits [ (HD.3023) (HD.3051) ] >>
+<< /Names [ (HD.2077) 2537 0 R (HD.2078) 2538 0 R (HD.2079) 2539 0 R (HD.208) 422 0 R (HD.2080) 2540 0 R (HD.2081) 2541 0 R (HD.2082) 2542 0 R (HD.2083) 2543 0 R (HD.2084) 2544 0 R (HD.2085) 2545 0 R (HD.2086) 2546 0 R (HD.2087) 2547 0 R (HD.2088) 2548 0 R (HD.2089) 2549 0 R (HD.209) 423 0 R (HD.2090) 2550 0 R (HD.2091) 2551 0 R (HD.2092) 2552 0 R (HD.2093) 2553 0 R (HD.2094) 2554 0 R (HD.2095) 2555 0 R (HD.2096) 2556 0 R (HD.2097) 2557 0 R (HD.2098) 2558 0 R (HD.2099) 2559 0 R (HD.21) 216 0 R (HD.210) 424 0 R (HD.2100) 2560 0 R (HD.2101) 2568 0 R (HD.2102) 2569 0 R (HD.2103) 2570 0 R (HD.2104) 2571 0 R ] /Limits [ (HD.2077) (HD.2104) ] >>
endobj
11787 0 obj
-<< /Names [ (HD.3052) 3605 0 R (HD.3053) 3606 0 R (HD.3054) 3607 0 R (HD.3055) 3608 0 R (HD.3056) 3609 0 R (HD.3057) 3610 0 R (HD.3058) 3611 0 R (HD.3059) 3612 0 R (HD.306) 537 0 R (HD.3060) 3613 0 R (HD.3061) 3614 0 R (HD.3062) 3615 0 R (HD.3063) 3616 0 R (HD.3064) 3617 0 R (HD.3065) 3618 0 R (HD.3066) 3619 0 R (HD.3067) 3620 0 R (HD.3068) 3621 0 R (HD.3069) 3622 0 R (HD.307) 538 0 R (HD.3070) 3623 0 R (HD.3071) 3624 0 R (HD.3072) 3625 0 R (HD.3073) 3626 0 R (HD.3074) 3627 0 R (HD.3075) 3628 0 R (HD.3076) 3629 0 R (HD.3077) 3630 0 R (HD.3078) 3631 0 R (HD.3079) 3632 0 R (HD.308) 539 0 R (HD.3080) 3633 0 R ] /Limits [ (HD.3052) (HD.3080) ] >>
+<< /Names [ (HD.2105) 2572 0 R (HD.2106) 2573 0 R (HD.2107) 2574 0 R (HD.2108) 2575 0 R (HD.2109) 2576 0 R (HD.211) 425 0 R (HD.2110) 2577 0 R (HD.2111) 2578 0 R (HD.2112) 2579 0 R (HD.2113) 2580 0 R (HD.2114) 2581 0 R (HD.2115) 2582 0 R (HD.2116) 2583 0 R (HD.2117) 2584 0 R (HD.2118) 2585 0 R (HD.2119) 2586 0 R (HD.212) 426 0 R (HD.2120) 2587 0 R (HD.2121) 2588 0 R (HD.2122) 2589 0 R (HD.2123) 2590 0 R (HD.2124) 2591 0 R (HD.2125) 2592 0 R (HD.2126) 2593 0 R (HD.2127) 2594 0 R (HD.2128) 2595 0 R (HD.2129) 2596 0 R (HD.213) 427 0 R (HD.2130) 2597 0 R (HD.2131) 2598 0 R (HD.2132) 2599 0 R (HD.2133) 2600 0 R ] /Limits [ (HD.2105) (HD.2133) ] >>
endobj
11788 0 obj
-<< /Names [ (HD.3081) 3634 0 R (HD.3082) 3635 0 R (HD.3083) 3640 0 R (HD.3084) 3641 0 R (HD.3085) 3642 0 R (HD.3086) 3643 0 R (HD.3087) 3644 0 R (HD.3088) 3645 0 R (HD.3089) 3646 0 R (HD.309) 540 0 R (HD.3090) 3647 0 R (HD.3091) 3648 0 R (HD.3092) 3649 0 R (HD.3093) 3650 0 R (HD.3094) 3651 0 R (HD.3095) 3652 0 R (HD.3096) 3653 0 R (HD.3097) 3654 0 R (HD.3098) 3655 0 R (HD.3099) 3656 0 R (HD.31) 226 0 R (HD.310) 541 0 R (HD.3100) 3657 0 R (HD.3101) 3658 0 R (HD.3102) 3659 0 R (HD.3103) 3660 0 R (HD.3104) 3661 0 R (HD.3105) 3662 0 R (HD.3106) 3663 0 R (HD.3107) 3664 0 R (HD.3108) 3665 0 R (HD.3109) 3666 0 R ] /Limits [ (HD.3081) (HD.3109) ] >>
+<< /Names [ (HD.2134) 2601 0 R (HD.2135) 2602 0 R (HD.2136) 2603 0 R (HD.2137) 2604 0 R (HD.2138) 2610 0 R (HD.2139) 2611 0 R (HD.214) 428 0 R (HD.2140) 2612 0 R (HD.2141) 2613 0 R (HD.2142) 2614 0 R (HD.2143) 2615 0 R (HD.2144) 2616 0 R (HD.2145) 2617 0 R (HD.2146) 2618 0 R (HD.2147) 2619 0 R (HD.2148) 2620 0 R (HD.2149) 2621 0 R (HD.215) 434 0 R (HD.2150) 2622 0 R (HD.2151) 2623 0 R (HD.2152) 2624 0 R (HD.2153) 2625 0 R (HD.2154) 2626 0 R (HD.2155) 2627 0 R (HD.2156) 2628 0 R (HD.2157) 2629 0 R (HD.2158) 2630 0 R (HD.2159) 2631 0 R (HD.216) 435 0 R (HD.2160) 2632 0 R (HD.2161) 2633 0 R (HD.2162) 2634 0 R ] /Limits [ (HD.2134) (HD.2162) ] >>
endobj
11789 0 obj
-<< /Names [ (HD.311) 542 0 R (HD.3110) 3667 0 R (HD.3111) 3668 0 R (HD.3112) 3669 0 R (HD.3113) 3670 0 R (HD.3114) 3671 0 R (HD.3115) 3672 0 R (HD.3116) 3673 0 R (HD.3117) 3674 0 R (HD.3118) 3675 0 R (HD.3119) 3676 0 R (HD.312) 543 0 R (HD.3120) 3681 0 R (HD.3121) 3682 0 R (HD.3122) 3683 0 R (HD.3123) 3684 0 R (HD.3124) 3685 0 R (HD.3125) 3686 0 R (HD.3126) 3687 0 R (HD.3127) 3688 0 R (HD.3128) 3689 0 R (HD.3129) 3690 0 R (HD.313) 544 0 R (HD.3130) 3691 0 R (HD.3131) 3692 0 R (HD.3132) 3693 0 R (HD.3133) 3694 0 R (HD.3134) 3695 0 R (HD.3135) 3696 0 R (HD.3136) 3697 0 R (HD.3137) 3698 0 R (HD.3138) 3699 0 R ] /Limits [ (HD.311) (HD.3138) ] >>
+<< /Names [ (HD.2163) 2635 0 R (HD.2164) 2636 0 R (HD.2165) 2637 0 R (HD.2166) 2638 0 R (HD.2167) 2639 0 R (HD.2168) 2640 0 R (HD.2169) 2641 0 R (HD.217) 436 0 R (HD.2170) 2642 0 R (HD.2171) 2643 0 R (HD.2172) 2644 0 R (HD.2173) 2645 0 R (HD.2174) 2646 0 R (HD.2175) 2647 0 R (HD.2176) 2648 0 R (HD.2177) 2649 0 R (HD.2178) 2650 0 R (HD.2179) 2651 0 R (HD.218) 437 0 R (HD.2180) 2652 0 R (HD.2181) 2653 0 R (HD.2182) 2659 0 R (HD.2183) 2660 0 R (HD.2184) 2661 0 R (HD.2185) 2662 0 R (HD.2186) 2663 0 R (HD.2187) 2664 0 R (HD.2188) 2665 0 R (HD.2189) 2666 0 R (HD.219) 438 0 R (HD.2190) 2667 0 R (HD.2191) 2668 0 R ] /Limits [ (HD.2163) (HD.2191) ] >>
endobj
11790 0 obj
-<< /Names [ (HD.3139) 3700 0 R (HD.314) 545 0 R (HD.3140) 3701 0 R (HD.3141) 3702 0 R (HD.3142) 3703 0 R (HD.3143) 3704 0 R (HD.3144) 3705 0 R (HD.3145) 3706 0 R (HD.3146) 3707 0 R (HD.3147) 3708 0 R (HD.3148) 3709 0 R (HD.3149) 3710 0 R (HD.315) 546 0 R (HD.3150) 3711 0 R (HD.3151) 3712 0 R (HD.3152) 3713 0 R (HD.3153) 3714 0 R (HD.3154) 3715 0 R (HD.3155) 3716 0 R (HD.3156) 3717 0 R (HD.3157) 3718 0 R (HD.3158) 3719 0 R (HD.3159) 3720 0 R (HD.316) 547 0 R (HD.3160) 3721 0 R (HD.3161) 3722 0 R (HD.3162) 3723 0 R (HD.3163) 3724 0 R (HD.3164) 3725 0 R (HD.3165) 3726 0 R (HD.3166) 3727 0 R (HD.3167) 3728 0 R ] /Limits [ (HD.3139) (HD.3167) ] >>
+<< /Names [ (HD.2192) 2669 0 R (HD.2193) 2670 0 R (HD.2194) 2671 0 R (HD.2195) 2672 0 R (HD.2196) 2673 0 R (HD.2197) 2674 0 R (HD.2198) 2675 0 R (HD.2199) 2676 0 R (HD.22) 217 0 R (HD.220) 439 0 R (HD.2200) 2677 0 R (HD.2201) 2678 0 R (HD.2202) 2679 0 R (HD.2203) 2680 0 R (HD.2204) 2681 0 R (HD.2205) 2682 0 R (HD.2206) 2683 0 R (HD.2207) 2684 0 R (HD.2208) 2685 0 R (HD.2209) 2686 0 R (HD.221) 440 0 R (HD.2210) 2687 0 R (HD.2211) 2688 0 R (HD.2212) 2689 0 R (HD.2213) 2690 0 R (HD.2214) 2691 0 R (HD.2215) 2692 0 R (HD.2216) 2693 0 R (HD.2217) 2694 0 R (HD.2218) 2695 0 R (HD.2219) 2696 0 R (HD.222) 441 0 R ] /Limits [ (HD.2192) (HD.222) ] >>
endobj
11791 0 obj
-<< /Names [ (HD.3168) 3729 0 R (HD.3169) 3730 0 R (HD.317) 548 0 R (HD.3170) 3731 0 R (HD.3171) 3732 0 R (HD.3172) 3737 0 R (HD.3173) 3738 0 R (HD.3174) 3739 0 R (HD.3175) 3740 0 R (HD.3176) 3741 0 R (HD.3177) 3742 0 R (HD.3178) 3743 0 R (HD.3179) 3744 0 R (HD.318) 549 0 R (HD.3180) 3745 0 R (HD.3181) 3746 0 R (HD.3182) 3747 0 R (HD.3183) 3748 0 R (HD.3184) 3749 0 R (HD.3185) 3750 0 R (HD.3186) 3751 0 R (HD.3187) 3752 0 R (HD.3188) 3753 0 R (HD.3189) 3754 0 R (HD.319) 550 0 R (HD.3190) 3755 0 R (HD.3191) 3756 0 R (HD.3192) 3757 0 R (HD.3193) 3758 0 R (HD.3194) 3759 0 R (HD.3195) 3760 0 R (HD.3196) 3761 0 R ] /Limits [ (HD.3168) (HD.3196) ] >>
+<< /Names [ (HD.2220) 2697 0 R (HD.2221) 2698 0 R (HD.2222) 2699 0 R (HD.2223) 2700 0 R (HD.2224) 2701 0 R (HD.2225) 2702 0 R (HD.2226) 2703 0 R (HD.2227) 2708 0 R (HD.2228) 2709 0 R (HD.2229) 2710 0 R (HD.223) 442 0 R (HD.2230) 2711 0 R (HD.2231) 2712 0 R (HD.2232) 2713 0 R (HD.2233) 2714 0 R (HD.2234) 2715 0 R (HD.2235) 2716 0 R (HD.2236) 2717 0 R (HD.2237) 2718 0 R (HD.2238) 2719 0 R (HD.2239) 2720 0 R (HD.224) 443 0 R (HD.2240) 2721 0 R (HD.2241) 2722 0 R (HD.2242) 2723 0 R (HD.2243) 2724 0 R (HD.2244) 2725 0 R (HD.2245) 2726 0 R (HD.2246) 2727 0 R (HD.2247) 2728 0 R (HD.2248) 2729 0 R (HD.2249) 2730 0 R ] /Limits [ (HD.2220) (HD.2249) ] >>
endobj
11792 0 obj
-<< /Names [ (HD.3197) 3762 0 R (HD.3198) 3763 0 R (HD.3199) 3764 0 R (HD.32) 227 0 R (HD.320) 551 0 R (HD.3200) 3765 0 R (HD.3201) 3766 0 R (HD.3202) 3767 0 R (HD.3203) 3768 0 R (HD.3204) 3769 0 R (HD.3205) 3770 0 R (HD.3206) 3771 0 R (HD.3207) 3772 0 R (HD.3208) 3773 0 R (HD.3209) 3774 0 R (HD.321) 552 0 R (HD.3210) 3775 0 R (HD.3211) 3776 0 R (HD.3212) 3777 0 R (HD.3213) 3778 0 R (HD.3214) 3779 0 R (HD.3215) 3780 0 R (HD.3216) 3781 0 R (HD.3217) 3782 0 R (HD.3218) 3788 0 R (HD.3219) 3789 0 R (HD.322) 553 0 R (HD.3220) 3790 0 R (HD.3221) 3791 0 R (HD.3222) 3792 0 R (HD.3223) 3793 0 R (HD.3224) 3794 0 R ] /Limits [ (HD.3197) (HD.3224) ] >>
+<< /Names [ (HD.225) 444 0 R (HD.2250) 2731 0 R (HD.2251) 2732 0 R (HD.2252) 2733 0 R (HD.2253) 2734 0 R (HD.2254) 2735 0 R (HD.2255) 2736 0 R (HD.2256) 2737 0 R (HD.2257) 2738 0 R (HD.2258) 2739 0 R (HD.2259) 2740 0 R (HD.226) 445 0 R (HD.2260) 2741 0 R (HD.2261) 2742 0 R (HD.2262) 2743 0 R (HD.2263) 2744 0 R (HD.2264) 2745 0 R (HD.2265) 2746 0 R (HD.2266) 2747 0 R (HD.2267) 2748 0 R (HD.2268) 2749 0 R (HD.2269) 2750 0 R (HD.227) 446 0 R (HD.2270) 2751 0 R (HD.2271) 2752 0 R (HD.2272) 2753 0 R (HD.2273) 2754 0 R (HD.2274) 2755 0 R (HD.2275) 2756 0 R (HD.2276) 2757 0 R (HD.2277) 2765 0 R (HD.2278) 2766 0 R ] /Limits [ (HD.225) (HD.2278) ] >>
endobj
11793 0 obj
-<< /Names [ (HD.3225) 3795 0 R (HD.3226) 3796 0 R (HD.3227) 3797 0 R (HD.3228) 3798 0 R (HD.3229) 3799 0 R (HD.323) 554 0 R (HD.3230) 3800 0 R (HD.3231) 3801 0 R (HD.3232) 3802 0 R (HD.3233) 3803 0 R (HD.3234) 3804 0 R (HD.3235) 3805 0 R (HD.3236) 3806 0 R (HD.3237) 3807 0 R (HD.3238) 3808 0 R (HD.3239) 3809 0 R (HD.324) 555 0 R (HD.3240) 3810 0 R (HD.3241) 3811 0 R (HD.3242) 3812 0 R (HD.3243) 3813 0 R (HD.3244) 3814 0 R (HD.3245) 3815 0 R (HD.3246) 3816 0 R (HD.3247) 3817 0 R (HD.3248) 3818 0 R (HD.3249) 3819 0 R (HD.325) 557 0 R (HD.3250) 3820 0 R (HD.3251) 3821 0 R (HD.3252) 3822 0 R (HD.3253) 3823 0 R ] /Limits [ (HD.3225) (HD.3253) ] >>
+<< /Names [ (HD.2279) 2767 0 R (HD.228) 447 0 R (HD.2280) 2768 0 R (HD.2281) 2769 0 R (HD.2282) 2770 0 R (HD.2283) 2771 0 R (HD.2284) 2772 0 R (HD.2285) 2773 0 R (HD.2286) 2774 0 R (HD.2287) 2775 0 R (HD.2288) 2776 0 R (HD.2289) 2777 0 R (HD.229) 448 0 R (HD.2290) 2778 0 R (HD.2291) 2779 0 R (HD.2292) 2780 0 R (HD.2293) 2781 0 R (HD.2294) 2782 0 R (HD.2295) 2783 0 R (HD.2296) 2784 0 R (HD.2297) 2785 0 R (HD.2298) 2786 0 R (HD.2299) 2787 0 R (HD.23) 218 0 R (HD.230) 449 0 R (HD.2300) 2788 0 R (HD.2301) 2789 0 R (HD.2302) 2790 0 R (HD.2303) 2791 0 R (HD.2304) 2792 0 R (HD.2305) 2793 0 R (HD.2306) 2794 0 R ] /Limits [ (HD.2279) (HD.2306) ] >>
endobj
11794 0 obj
-<< /Names [ (HD.3254) 3824 0 R (HD.3255) 3825 0 R (HD.3256) 3826 0 R (HD.3257) 3827 0 R (HD.3258) 3828 0 R (HD.3259) 3829 0 R (HD.326) 558 0 R (HD.3260) 3830 0 R (HD.3261) 3831 0 R (HD.3262) 3832 0 R (HD.3263) 3833 0 R (HD.3264) 3834 0 R (HD.3265) 3835 0 R (HD.3266) 3836 0 R (HD.3267) 3837 0 R (HD.3268) 3838 0 R (HD.3269) 3839 0 R (HD.327) 559 0 R (HD.3270) 3840 0 R (HD.3271) 3841 0 R (HD.3272) 3842 0 R (HD.3273) 3843 0 R (HD.3274) 3848 0 R (HD.3275) 3849 0 R (HD.3276) 3850 0 R (HD.3277) 3851 0 R (HD.3278) 3852 0 R (HD.3279) 3853 0 R (HD.328) 560 0 R (HD.3280) 3854 0 R (HD.3281) 3855 0 R (HD.3282) 3856 0 R ] /Limits [ (HD.3254) (HD.3282) ] >>
+<< /Names [ (HD.2307) 2795 0 R (HD.2308) 2796 0 R (HD.2309) 2797 0 R (HD.231) 450 0 R (HD.2310) 2798 0 R (HD.2311) 2799 0 R (HD.2312) 2800 0 R (HD.2313) 2801 0 R (HD.2314) 2802 0 R (HD.2315) 2803 0 R (HD.2316) 2804 0 R (HD.2317) 2805 0 R (HD.2318) 2806 0 R (HD.2319) 2807 0 R (HD.232) 451 0 R (HD.2320) 2808 0 R (HD.2321) 2809 0 R (HD.2322) 2810 0 R (HD.2323) 2811 0 R (HD.2324) 2812 0 R (HD.2325) 2813 0 R (HD.2326) 2814 0 R (HD.2327) 2815 0 R (HD.2328) 2820 0 R (HD.2329) 2821 0 R (HD.233) 452 0 R (HD.2330) 2822 0 R (HD.2331) 2823 0 R (HD.2332) 2824 0 R (HD.2333) 2825 0 R (HD.2334) 2826 0 R (HD.2335) 2827 0 R ] /Limits [ (HD.2307) (HD.2335) ] >>
endobj
11795 0 obj
-<< /Names [ (HD.3283) 3857 0 R (HD.3284) 3858 0 R (HD.3285) 3859 0 R (HD.3286) 3860 0 R (HD.3287) 3861 0 R (HD.3288) 3862 0 R (HD.3289) 3863 0 R (HD.329) 561 0 R (HD.3290) 3864 0 R (HD.3291) 3865 0 R (HD.3292) 3866 0 R (HD.3293) 3867 0 R (HD.3294) 3868 0 R (HD.3295) 3869 0 R (HD.3296) 3870 0 R (HD.3297) 3871 0 R (HD.3298) 3872 0 R (HD.3299) 3873 0 R (HD.33) 228 0 R (HD.330) 562 0 R (HD.3300) 3874 0 R (HD.3301) 3875 0 R (HD.3302) 3876 0 R (HD.3303) 3877 0 R (HD.3304) 3878 0 R (HD.3305) 3879 0 R (HD.3306) 3880 0 R (HD.3307) 3885 0 R (HD.3308) 3886 0 R (HD.3309) 3887 0 R (HD.331) 567 0 R (HD.3310) 3888 0 R ] /Limits [ (HD.3283) (HD.3310) ] >>
+<< /Names [ (HD.2336) 2828 0 R (HD.2337) 2829 0 R (HD.2338) 2830 0 R (HD.2339) 2831 0 R (HD.234) 453 0 R (HD.2340) 2832 0 R (HD.2341) 2833 0 R (HD.2342) 2834 0 R (HD.2343) 2835 0 R (HD.2344) 2836 0 R (HD.2345) 2837 0 R (HD.2346) 2838 0 R (HD.2347) 2839 0 R (HD.2348) 2840 0 R (HD.2349) 2841 0 R (HD.235) 454 0 R (HD.2350) 2842 0 R (HD.2351) 2843 0 R (HD.2352) 2844 0 R (HD.2353) 2845 0 R (HD.2354) 2846 0 R (HD.2355) 2847 0 R (HD.2356) 2848 0 R (HD.2357) 2849 0 R (HD.2358) 2850 0 R (HD.2359) 2851 0 R (HD.236) 455 0 R (HD.2360) 2852 0 R (HD.2361) 2853 0 R (HD.2362) 2854 0 R (HD.2363) 2855 0 R (HD.2364) 2856 0 R ] /Limits [ (HD.2336) (HD.2364) ] >>
endobj
11796 0 obj
-<< /Names [ (HD.3311) 3889 0 R (HD.3312) 3890 0 R (HD.3313) 3891 0 R (HD.3314) 3892 0 R (HD.3315) 3893 0 R (HD.3316) 3894 0 R (HD.3317) 3895 0 R (HD.3318) 3896 0 R (HD.3319) 3897 0 R (HD.332) 568 0 R (HD.3320) 3898 0 R (HD.3321) 3899 0 R (HD.3322) 3900 0 R (HD.3323) 3901 0 R (HD.3324) 3902 0 R (HD.3325) 3903 0 R (HD.3326) 3904 0 R (HD.3327) 3905 0 R (HD.3328) 3906 0 R (HD.3329) 3907 0 R (HD.333) 569 0 R (HD.3330) 3908 0 R (HD.3331) 3909 0 R (HD.3332) 3910 0 R (HD.3333) 3911 0 R (HD.3334) 3912 0 R (HD.3335) 3913 0 R (HD.3336) 3914 0 R (HD.3337) 3915 0 R (HD.3338) 3916 0 R (HD.3339) 3917 0 R (HD.334) 570 0 R ] /Limits [ (HD.3311) (HD.334) ] >>
+<< /Names [ (HD.2365) 2857 0 R (HD.2366) 2858 0 R (HD.2367) 2859 0 R (HD.2368) 2860 0 R (HD.2369) 2861 0 R (HD.237) 456 0 R (HD.2370) 2862 0 R (HD.2371) 2863 0 R (HD.2372) 2864 0 R (HD.2373) 2865 0 R (HD.2374) 2866 0 R (HD.2375) 2867 0 R (HD.2376) 2868 0 R (HD.2377) 2869 0 R (HD.2378) 2870 0 R (HD.2379) 2871 0 R (HD.238) 457 0 R (HD.2380) 2872 0 R (HD.2381) 2873 0 R (HD.2382) 2874 0 R (HD.2383) 2875 0 R (HD.2384) 2880 0 R (HD.2385) 2881 0 R (HD.2386) 2882 0 R (HD.2387) 2883 0 R (HD.2388) 2884 0 R (HD.2389) 2885 0 R (HD.239) 458 0 R (HD.2390) 2886 0 R (HD.2391) 2887 0 R (HD.2392) 2888 0 R (HD.2393) 2889 0 R ] /Limits [ (HD.2365) (HD.2393) ] >>
endobj
11797 0 obj
-<< /Names [ (HD.3340) 3918 0 R (HD.3341) 3919 0 R (HD.3342) 3920 0 R (HD.3343) 3925 0 R (HD.3344) 3926 0 R (HD.3345) 3927 0 R (HD.3346) 3928 0 R (HD.3347) 3929 0 R (HD.3348) 3930 0 R (HD.3349) 3931 0 R (HD.335) 571 0 R (HD.3350) 3932 0 R (HD.3351) 3933 0 R (HD.3352) 3934 0 R (HD.3353) 3935 0 R (HD.3354) 3936 0 R (HD.3355) 3937 0 R (HD.3356) 3938 0 R (HD.3357) 3939 0 R (HD.3358) 3940 0 R (HD.3359) 3941 0 R (HD.336) 572 0 R (HD.3360) 3942 0 R (HD.3361) 3943 0 R (HD.3362) 3944 0 R (HD.3363) 3945 0 R (HD.3364) 3946 0 R (HD.3365) 3947 0 R (HD.3366) 3948 0 R (HD.3367) 3949 0 R (HD.3368) 3950 0 R (HD.3369) 3951 0 R ] /Limits [ (HD.3340) (HD.3369) ] >>
+<< /Names [ (HD.2394) 2890 0 R (HD.2395) 2891 0 R (HD.2396) 2892 0 R (HD.2397) 2893 0 R (HD.2398) 2894 0 R (HD.2399) 2895 0 R (HD.24) 219 0 R (HD.240) 459 0 R (HD.2400) 2896 0 R (HD.2401) 2897 0 R (HD.2402) 2898 0 R (HD.2403) 2899 0 R (HD.2404) 2900 0 R (HD.2405) 2901 0 R (HD.2406) 2902 0 R (HD.2407) 2903 0 R (HD.2408) 2904 0 R (HD.2409) 2905 0 R (HD.241) 460 0 R (HD.2410) 2906 0 R (HD.2411) 2907 0 R (HD.2412) 2908 0 R (HD.2413) 2909 0 R (HD.2414) 2910 0 R (HD.2415) 2911 0 R (HD.2416) 2912 0 R (HD.2417) 2913 0 R (HD.2418) 2914 0 R (HD.2419) 2915 0 R (HD.242) 461 0 R (HD.2420) 2916 0 R (HD.2421) 2917 0 R ] /Limits [ (HD.2394) (HD.2421) ] >>
endobj
11798 0 obj
-<< /Names [ (HD.337) 573 0 R (HD.3370) 3952 0 R (HD.3371) 3953 0 R (HD.3372) 3954 0 R (HD.3373) 3955 0 R (HD.3374) 3956 0 R (HD.3375) 3957 0 R (HD.3376) 3958 0 R (HD.3377) 3959 0 R (HD.3378) 3960 0 R (HD.3379) 3961 0 R (HD.338) 574 0 R (HD.3380) 3962 0 R (HD.3381) 3963 0 R (HD.3382) 3964 0 R (HD.3383) 3965 0 R (HD.3384) 3966 0 R (HD.3385) 3967 0 R (HD.3386) 3968 0 R (HD.3387) 3969 0 R (HD.3388) 3970 0 R (HD.3389) 3971 0 R (HD.339) 575 0 R (HD.3390) 3976 0 R (HD.3391) 3977 0 R (HD.3392) 3978 0 R (HD.3393) 3979 0 R (HD.3394) 3980 0 R (HD.3395) 3981 0 R (HD.3396) 3982 0 R (HD.3397) 3983 0 R (HD.3398) 3984 0 R ] /Limits [ (HD.337) (HD.3398) ] >>
+<< /Names [ (HD.2422) 2918 0 R (HD.2423) 2919 0 R (HD.2424) 2920 0 R (HD.2425) 2921 0 R (HD.2426) 2922 0 R (HD.2427) 2923 0 R (HD.2428) 2924 0 R (HD.2429) 2925 0 R (HD.243) 462 0 R (HD.2430) 2926 0 R (HD.2431) 2927 0 R (HD.2432) 2932 0 R (HD.2433) 2933 0 R (HD.2434) 2934 0 R (HD.2435) 2935 0 R (HD.2436) 2936 0 R (HD.2437) 2937 0 R (HD.2438) 2938 0 R (HD.2439) 2939 0 R (HD.244) 463 0 R (HD.2440) 2940 0 R (HD.2441) 2941 0 R (HD.2442) 2942 0 R (HD.2443) 2943 0 R (HD.2444) 2944 0 R (HD.2445) 2945 0 R (HD.2446) 2946 0 R (HD.2447) 2947 0 R (HD.2448) 2948 0 R (HD.2449) 2949 0 R (HD.245) 464 0 R (HD.2450) 2950 0 R ] /Limits [ (HD.2422) (HD.2450) ] >>
endobj
11799 0 obj
-<< /Names [ (HD.3399) 3985 0 R (HD.34) 229 0 R (HD.340) 576 0 R (HD.3400) 3986 0 R (HD.3401) 3987 0 R (HD.3402) 3988 0 R (HD.3403) 3989 0 R (HD.3404) 3990 0 R (HD.3405) 3991 0 R (HD.3406) 3992 0 R (HD.3407) 3993 0 R (HD.3408) 3994 0 R (HD.3409) 3995 0 R (HD.341) 577 0 R (HD.3410) 3996 0 R (HD.3411) 3997 0 R (HD.3412) 3998 0 R (HD.3413) 3999 0 R (HD.3414) 4000 0 R (HD.3415) 4001 0 R (HD.3416) 4002 0 R (HD.3417) 4003 0 R (HD.3418) 4004 0 R (HD.3419) 4005 0 R (HD.342) 578 0 R (HD.3420) 4006 0 R (HD.3421) 4007 0 R (HD.3422) 4008 0 R (HD.3423) 4009 0 R (HD.3424) 4010 0 R (HD.3425) 4011 0 R (HD.3426) 4012 0 R ] /Limits [ (HD.3399) (HD.3426) ] >>
+<< /Names [ (HD.2451) 2951 0 R (HD.2452) 2952 0 R (HD.2453) 2953 0 R (HD.2454) 2954 0 R (HD.2455) 2955 0 R (HD.2456) 2956 0 R (HD.2457) 2957 0 R (HD.2458) 2958 0 R (HD.2459) 2959 0 R (HD.246) 465 0 R (HD.2460) 2960 0 R (HD.2461) 2961 0 R (HD.2462) 2962 0 R (HD.2463) 2963 0 R (HD.2464) 2964 0 R (HD.2465) 2965 0 R (HD.2466) 2970 0 R (HD.2467) 2971 0 R (HD.2468) 2972 0 R (HD.2469) 2973 0 R (HD.247) 466 0 R (HD.2470) 2974 0 R (HD.2471) 2975 0 R (HD.2472) 2976 0 R (HD.2473) 2977 0 R (HD.2474) 2978 0 R (HD.2475) 2979 0 R (HD.2476) 2980 0 R (HD.2477) 2981 0 R (HD.2478) 2982 0 R (HD.2479) 2983 0 R (HD.248) 467 0 R ] /Limits [ (HD.2451) (HD.248) ] >>
endobj
11800 0 obj
-<< /Names [ (HD.3427) 4013 0 R (HD.3428) 4014 0 R (HD.3429) 4015 0 R (HD.343) 579 0 R (HD.3430) 4016 0 R (HD.3431) 4017 0 R (HD.3432) 4018 0 R (HD.3433) 4019 0 R (HD.3434) 4020 0 R (HD.3435) 4021 0 R (HD.3436) 4022 0 R (HD.3437) 4023 0 R (HD.3438) 4024 0 R (HD.3439) 4025 0 R (HD.344) 580 0 R (HD.3440) 4026 0 R (HD.3441) 4027 0 R (HD.3442) 4028 0 R (HD.3443) 4029 0 R (HD.3444) 4030 0 R (HD.3445) 4031 0 R (HD.3446) 4036 0 R (HD.3447) 4037 0 R (HD.3448) 4038 0 R (HD.3449) 4039 0 R (HD.345) 581 0 R (HD.3450) 4040 0 R (HD.3451) 4041 0 R (HD.3452) 4042 0 R (HD.3453) 4043 0 R (HD.3454) 4044 0 R (HD.3455) 4045 0 R ] /Limits [ (HD.3427) (HD.3455) ] >>
+<< /Names [ (HD.2480) 2984 0 R (HD.2481) 2985 0 R (HD.2482) 2986 0 R (HD.2483) 2987 0 R (HD.2484) 2988 0 R (HD.2485) 2989 0 R (HD.2486) 2990 0 R (HD.2487) 2991 0 R (HD.2488) 2992 0 R (HD.2489) 2993 0 R (HD.249) 468 0 R (HD.2490) 2994 0 R (HD.2491) 2995 0 R (HD.2492) 2996 0 R (HD.2493) 2997 0 R (HD.2494) 2998 0 R (HD.2495) 2999 0 R (HD.2496) 3000 0 R (HD.2497) 3001 0 R (HD.2498) 3002 0 R (HD.2499) 3003 0 R (HD.25) 220 0 R (HD.250) 469 0 R (HD.2500) 3004 0 R (HD.2501) 3005 0 R (HD.2502) 3006 0 R (HD.2503) 3007 0 R (HD.2504) 3008 0 R (HD.2505) 3009 0 R (HD.2506) 3010 0 R (HD.2507) 3011 0 R (HD.2508) 3012 0 R ] /Limits [ (HD.2480) (HD.2508) ] >>
endobj
11801 0 obj
-<< /Names [ (HD.3456) 4046 0 R (HD.3457) 4047 0 R (HD.3458) 4048 0 R (HD.3459) 4049 0 R (HD.346) 582 0 R (HD.3460) 4050 0 R (HD.3461) 4051 0 R (HD.3462) 4052 0 R (HD.3463) 4053 0 R (HD.3464) 4054 0 R (HD.3465) 4055 0 R (HD.3466) 4056 0 R (HD.3467) 4057 0 R (HD.3468) 4058 0 R (HD.3469) 4059 0 R (HD.347) 587 0 R (HD.3470) 4060 0 R (HD.3471) 4061 0 R (HD.3472) 4062 0 R (HD.3473) 4063 0 R (HD.3474) 4064 0 R (HD.3475) 4065 0 R (HD.3476) 4066 0 R (HD.3477) 4067 0 R (HD.3478) 4068 0 R (HD.3479) 4069 0 R (HD.348) 588 0 R (HD.3480) 4070 0 R (HD.3481) 4071 0 R (HD.3482) 4072 0 R (HD.3483) 4073 0 R (HD.3484) 4074 0 R ] /Limits [ (HD.3456) (HD.3484) ] >>
+<< /Names [ (HD.2509) 3013 0 R (HD.251) 470 0 R (HD.2510) 3014 0 R (HD.2511) 3015 0 R (HD.2512) 3020 0 R (HD.2513) 3021 0 R (HD.2514) 3022 0 R (HD.2515) 3023 0 R (HD.2516) 3024 0 R (HD.2517) 3025 0 R (HD.2518) 3026 0 R (HD.2519) 3027 0 R (HD.252) 471 0 R (HD.2520) 3028 0 R (HD.2521) 3029 0 R (HD.2522) 3030 0 R (HD.2523) 3031 0 R (HD.2524) 3032 0 R (HD.2525) 3033 0 R (HD.2526) 3034 0 R (HD.2527) 3035 0 R (HD.2528) 3036 0 R (HD.2529) 3037 0 R (HD.253) 472 0 R (HD.2530) 3038 0 R (HD.2531) 3039 0 R (HD.2532) 3040 0 R (HD.2533) 3041 0 R (HD.2534) 3042 0 R (HD.2535) 3043 0 R (HD.2536) 3044 0 R (HD.2537) 3045 0 R ] /Limits [ (HD.2509) (HD.2537) ] >>
endobj
11802 0 obj
-<< /Names [ (HD.3485) 4075 0 R (HD.3486) 4076 0 R (HD.3487) 4077 0 R (HD.3488) 4078 0 R (HD.3489) 4079 0 R (HD.349) 589 0 R (HD.3490) 4080 0 R (HD.3491) 4081 0 R (HD.3492) 4082 0 R (HD.3493) 4083 0 R (HD.3494) 4084 0 R (HD.3495) 4085 0 R (HD.3496) 4086 0 R (HD.3497) 4087 0 R (HD.3498) 4088 0 R (HD.3499) 4093 0 R (HD.35) 230 0 R (HD.350) 590 0 R (HD.3500) 4094 0 R (HD.3501) 4095 0 R (HD.3502) 4096 0 R (HD.3503) 4097 0 R (HD.3504) 4098 0 R (HD.3505) 4099 0 R (HD.3506) 4100 0 R (HD.3507) 4101 0 R (HD.3508) 4102 0 R (HD.3509) 4103 0 R (HD.351) 591 0 R (HD.3510) 4104 0 R (HD.3511) 4105 0 R (HD.3512) 4106 0 R ] /Limits [ (HD.3485) (HD.3512) ] >>
+<< /Names [ (HD.2538) 3046 0 R (HD.2539) 3047 0 R (HD.254) 474 0 R (HD.2540) 3048 0 R (HD.2541) 3049 0 R (HD.2542) 3050 0 R (HD.2543) 3051 0 R (HD.2544) 3052 0 R (HD.2545) 3053 0 R (HD.2546) 3054 0 R (HD.2547) 3055 0 R (HD.2548) 3056 0 R (HD.2549) 3057 0 R (HD.255) 475 0 R (HD.2550) 3058 0 R (HD.2551) 3059 0 R (HD.2552) 3060 0 R (HD.2553) 3061 0 R (HD.2554) 3062 0 R (HD.2555) 3063 0 R (HD.2556) 3064 0 R (HD.2557) 3065 0 R (HD.2558) 3066 0 R (HD.2559) 3071 0 R (HD.256) 476 0 R (HD.2560) 3072 0 R (HD.2561) 3073 0 R (HD.2562) 3074 0 R (HD.2563) 3075 0 R (HD.2564) 3076 0 R (HD.2565) 3077 0 R (HD.2566) 3078 0 R ] /Limits [ (HD.2538) (HD.2566) ] >>
endobj
11803 0 obj
-<< /Names [ (HD.3513) 4107 0 R (HD.3514) 4108 0 R (HD.3515) 4109 0 R (HD.3516) 4110 0 R (HD.3517) 4111 0 R (HD.3518) 4112 0 R (HD.3519) 4113 0 R (HD.352) 592 0 R (HD.3520) 4114 0 R (HD.3521) 4115 0 R (HD.3522) 4116 0 R (HD.3523) 4117 0 R (HD.3524) 4118 0 R (HD.3525) 4119 0 R (HD.3526) 4120 0 R (HD.3527) 4121 0 R (HD.3528) 4122 0 R (HD.3529) 4123 0 R (HD.353) 593 0 R (HD.3530) 4124 0 R (HD.3531) 4125 0 R (HD.3532) 4126 0 R (HD.3533) 4127 0 R (HD.3534) 4128 0 R (HD.3535) 4129 0 R (HD.3536) 4130 0 R (HD.3537) 4131 0 R (HD.3538) 4132 0 R (HD.3539) 4133 0 R (HD.354) 594 0 R (HD.3540) 4134 0 R (HD.3541) 4135 0 R ] /Limits [ (HD.3513) (HD.3541) ] >>
+<< /Names [ (HD.2567) 3079 0 R (HD.2568) 3080 0 R (HD.2569) 3081 0 R (HD.257) 477 0 R (HD.2570) 3082 0 R (HD.2571) 3083 0 R (HD.2572) 3084 0 R (HD.2573) 3085 0 R (HD.2574) 3086 0 R (HD.2575) 3087 0 R (HD.2576) 3088 0 R (HD.2577) 3089 0 R (HD.2578) 3090 0 R (HD.2579) 3091 0 R (HD.258) 478 0 R (HD.2580) 3092 0 R (HD.2581) 3093 0 R (HD.2582) 3094 0 R (HD.2583) 3095 0 R (HD.2584) 3096 0 R (HD.2585) 3097 0 R (HD.2586) 3098 0 R (HD.2587) 3099 0 R (HD.2588) 3100 0 R (HD.2589) 3101 0 R (HD.259) 479 0 R (HD.2590) 3102 0 R (HD.2591) 3103 0 R (HD.2592) 3104 0 R (HD.2593) 3105 0 R (HD.2594) 3106 0 R (HD.2595) 3107 0 R ] /Limits [ (HD.2567) (HD.2595) ] >>
endobj
11804 0 obj
-<< /Names [ (HD.3542) 4136 0 R (HD.3543) 4137 0 R (HD.3544) 4138 0 R (HD.3545) 4139 0 R (HD.3546) 4140 0 R (HD.3547) 4141 0 R (HD.3548) 4142 0 R (HD.3549) 4143 0 R (HD.355) 595 0 R (HD.3550) 4144 0 R (HD.3551) 4145 0 R (HD.3552) 4146 0 R (HD.3553) 4147 0 R (HD.3554) 4148 0 R (HD.3555) 4149 0 R (HD.3556) 4150 0 R (HD.3557) 4155 0 R (HD.3558) 4156 0 R (HD.3559) 4157 0 R (HD.356) 596 0 R (HD.3560) 4158 0 R (HD.3561) 4159 0 R (HD.3562) 4160 0 R (HD.3563) 4161 0 R (HD.3564) 4162 0 R (HD.3565) 4163 0 R (HD.3566) 4164 0 R (HD.3567) 4165 0 R (HD.3568) 4166 0 R (HD.3569) 4167 0 R (HD.357) 597 0 R (HD.3570) 4168 0 R ] /Limits [ (HD.3542) (HD.3570) ] >>
+<< /Names [ (HD.2596) 3108 0 R (HD.2597) 3109 0 R (HD.2598) 3110 0 R (HD.2599) 3111 0 R (HD.26) 221 0 R (HD.260) 487 0 R (HD.2600) 3112 0 R (HD.2601) 3113 0 R (HD.2602) 3114 0 R (HD.2603) 3115 0 R (HD.2604) 3116 0 R (HD.2605) 3117 0 R (HD.2606) 3118 0 R (HD.2607) 3119 0 R (HD.2608) 3120 0 R (HD.2609) 3121 0 R (HD.261) 488 0 R (HD.2610) 3126 0 R (HD.2611) 3127 0 R (HD.2612) 3128 0 R (HD.2613) 3129 0 R (HD.2614) 3130 0 R (HD.2615) 3131 0 R (HD.2616) 3132 0 R (HD.2617) 3133 0 R (HD.2618) 3134 0 R (HD.2619) 3135 0 R (HD.262) 489 0 R (HD.2620) 3136 0 R (HD.2621) 3137 0 R (HD.2622) 3138 0 R (HD.2623) 3139 0 R ] /Limits [ (HD.2596) (HD.2623) ] >>
endobj
11805 0 obj
-<< /Names [ (HD.3571) 4169 0 R (HD.3572) 4170 0 R (HD.3573) 4171 0 R (HD.3574) 4172 0 R (HD.3575) 4173 0 R (HD.3576) 4174 0 R (HD.3577) 4175 0 R (HD.3578) 4176 0 R (HD.3579) 4177 0 R (HD.358) 598 0 R (HD.3580) 4178 0 R (HD.3581) 4179 0 R (HD.3582) 4180 0 R (HD.3583) 4181 0 R (HD.3584) 4182 0 R (HD.3585) 4183 0 R (HD.3586) 4184 0 R (HD.3587) 4185 0 R (HD.3588) 4186 0 R (HD.3589) 4187 0 R (HD.359) 599 0 R (HD.3590) 4188 0 R (HD.3591) 4189 0 R (HD.3592) 4190 0 R (HD.3593) 4191 0 R (HD.3594) 4192 0 R (HD.3595) 4193 0 R (HD.3596) 4194 0 R (HD.3597) 4195 0 R (HD.3598) 4196 0 R (HD.3599) 4197 0 R (HD.36) 231 0 R ] /Limits [ (HD.3571) (HD.36) ] >>
+<< /Names [ (HD.2624) 3140 0 R (HD.2625) 3141 0 R (HD.2626) 3142 0 R (HD.2627) 3143 0 R (HD.2628) 3144 0 R (HD.2629) 3145 0 R (HD.263) 490 0 R (HD.2630) 3146 0 R (HD.2631) 3147 0 R (HD.2632) 3148 0 R (HD.2633) 3149 0 R (HD.2634) 3150 0 R (HD.2635) 3151 0 R (HD.2636) 3152 0 R (HD.2637) 3153 0 R (HD.2638) 3154 0 R (HD.2639) 3155 0 R (HD.264) 491 0 R (HD.2640) 3156 0 R (HD.2641) 3157 0 R (HD.2642) 3158 0 R (HD.2643) 3159 0 R (HD.2644) 3160 0 R (HD.2645) 3161 0 R (HD.2646) 3162 0 R (HD.2647) 3163 0 R (HD.2648) 3164 0 R (HD.2649) 3165 0 R (HD.265) 492 0 R (HD.2650) 3166 0 R (HD.2651) 3167 0 R (HD.2652) 3168 0 R ] /Limits [ (HD.2624) (HD.2652) ] >>
endobj
11806 0 obj
-<< /Names [ (HD.360) 600 0 R (HD.3600) 4198 0 R (HD.3601) 4199 0 R (HD.3602) 4204 0 R (HD.3603) 4205 0 R (HD.3604) 4206 0 R (HD.3605) 4207 0 R (HD.3606) 4208 0 R (HD.3607) 4209 0 R (HD.3608) 4210 0 R (HD.3609) 4211 0 R (HD.361) 601 0 R (HD.3610) 4212 0 R (HD.3611) 4213 0 R (HD.3612) 4214 0 R (HD.3613) 4215 0 R (HD.3614) 4216 0 R (HD.3615) 4217 0 R (HD.3616) 4218 0 R (HD.3617) 4219 0 R (HD.3618) 4220 0 R (HD.3619) 4221 0 R (HD.362) 602 0 R (HD.3620) 4222 0 R (HD.3621) 4223 0 R (HD.3622) 4224 0 R (HD.3623) 4225 0 R (HD.3624) 4226 0 R (HD.3625) 4227 0 R (HD.3626) 4228 0 R (HD.3627) 4229 0 R (HD.3628) 4230 0 R ] /Limits [ (HD.360) (HD.3628) ] >>
+<< /Names [ (HD.2653) 3169 0 R (HD.2654) 3170 0 R (HD.2655) 3171 0 R (HD.2656) 3172 0 R (HD.2657) 3173 0 R (HD.2658) 3174 0 R (HD.2659) 3175 0 R (HD.266) 493 0 R (HD.2660) 3176 0 R (HD.2661) 3177 0 R (HD.2662) 3178 0 R (HD.2663) 3183 0 R (HD.2664) 3184 0 R (HD.2665) 3185 0 R (HD.2666) 3186 0 R (HD.2667) 3187 0 R (HD.2668) 3188 0 R (HD.2669) 3189 0 R (HD.267) 494 0 R (HD.2670) 3190 0 R (HD.2671) 3191 0 R (HD.2672) 3192 0 R (HD.2673) 3193 0 R (HD.2674) 3194 0 R (HD.2675) 3195 0 R (HD.2676) 3196 0 R (HD.2677) 3197 0 R (HD.2678) 3198 0 R (HD.2679) 3199 0 R (HD.268) 495 0 R (HD.2680) 3200 0 R (HD.2681) 3201 0 R ] /Limits [ (HD.2653) (HD.2681) ] >>
endobj
11807 0 obj
-<< /Names [ (HD.3629) 4231 0 R (HD.363) 608 0 R (HD.3630) 4232 0 R (HD.3631) 4233 0 R (HD.3632) 4234 0 R (HD.3633) 4235 0 R (HD.3634) 4236 0 R (HD.3635) 4237 0 R (HD.3636) 4238 0 R (HD.3637) 4239 0 R (HD.3638) 4240 0 R (HD.3639) 4241 0 R (HD.364) 609 0 R (HD.3640) 4242 0 R (HD.3641) 4243 0 R (HD.3642) 4244 0 R (HD.3643) 4245 0 R (HD.3644) 4246 0 R (HD.3645) 4247 0 R (HD.3646) 4248 0 R (HD.3647) 4249 0 R (HD.3648) 4250 0 R (HD.3649) 4251 0 R (HD.365) 610 0 R (HD.3650) 4256 0 R (HD.3651) 4257 0 R (HD.3652) 4258 0 R (HD.3653) 4259 0 R (HD.3654) 4260 0 R (HD.3655) 4261 0 R (HD.3656) 4262 0 R (HD.3657) 4263 0 R ] /Limits [ (HD.3629) (HD.3657) ] >>
+<< /Names [ (HD.2682) 3202 0 R (HD.2683) 3203 0 R (HD.2684) 3204 0 R (HD.2685) 3205 0 R (HD.2686) 3206 0 R (HD.2687) 3207 0 R (HD.2688) 3208 0 R (HD.2689) 3209 0 R (HD.269) 496 0 R (HD.2690) 3210 0 R (HD.2691) 3211 0 R (HD.2692) 3212 0 R (HD.2693) 3213 0 R (HD.2694) 3214 0 R (HD.2695) 3215 0 R (HD.2696) 3216 0 R (HD.2697) 3217 0 R (HD.2698) 3218 0 R (HD.2699) 3219 0 R (HD.27) 222 0 R (HD.270) 497 0 R (HD.2700) 3220 0 R (HD.2701) 3221 0 R (HD.2702) 3222 0 R (HD.2703) 3223 0 R (HD.2704) 3224 0 R (HD.2705) 3225 0 R (HD.2706) 3226 0 R (HD.2707) 3227 0 R (HD.2708) 3228 0 R (HD.2709) 3229 0 R (HD.271) 498 0 R ] /Limits [ (HD.2682) (HD.271) ] >>
endobj
11808 0 obj
-<< /Names [ (HD.3658) 4264 0 R (HD.3659) 4265 0 R (HD.366) 611 0 R (HD.3660) 4266 0 R (HD.3661) 4267 0 R (HD.3662) 4268 0 R (HD.3663) 4269 0 R (HD.3664) 4270 0 R (HD.3665) 4271 0 R (HD.3666) 4272 0 R (HD.3667) 4273 0 R (HD.3668) 4274 0 R (HD.3669) 4275 0 R (HD.367) 612 0 R (HD.3670) 4276 0 R (HD.3671) 4277 0 R (HD.3672) 4278 0 R (HD.3673) 4279 0 R (HD.3674) 4280 0 R (HD.3675) 4281 0 R (HD.3676) 4282 0 R (HD.3677) 4283 0 R (HD.3678) 4284 0 R (HD.3679) 4285 0 R (HD.368) 613 0 R (HD.3680) 4286 0 R (HD.3681) 4287 0 R (HD.3682) 4288 0 R (HD.3683) 4289 0 R (HD.3684) 4290 0 R (HD.3685) 4291 0 R (HD.3686) 4292 0 R ] /Limits [ (HD.3658) (HD.3686) ] >>
+<< /Names [ (HD.2710) 3230 0 R (HD.2711) 3231 0 R (HD.2712) 3232 0 R (HD.2713) 3233 0 R (HD.2714) 3234 0 R (HD.2715) 3235 0 R (HD.2716) 3236 0 R (HD.2717) 3237 0 R (HD.2718) 3238 0 R (HD.2719) 3243 0 R (HD.272) 499 0 R (HD.2720) 3244 0 R (HD.2721) 3245 0 R (HD.2722) 3246 0 R (HD.2723) 3247 0 R (HD.2724) 3248 0 R (HD.2725) 3249 0 R (HD.2726) 3250 0 R (HD.2727) 3251 0 R (HD.2728) 3252 0 R (HD.2729) 3253 0 R (HD.273) 500 0 R (HD.2730) 3254 0 R (HD.2731) 3255 0 R (HD.2732) 3256 0 R (HD.2733) 3257 0 R (HD.2734) 3258 0 R (HD.2735) 3259 0 R (HD.2736) 3260 0 R (HD.2737) 3261 0 R (HD.2738) 3262 0 R (HD.2739) 3263 0 R ] /Limits [ (HD.2710) (HD.2739) ] >>
endobj
11809 0 obj
-<< /Names [ (HD.3687) 4293 0 R (HD.3688) 4294 0 R (HD.3689) 4295 0 R (HD.369) 614 0 R (HD.3690) 4296 0 R (HD.3691) 4297 0 R (HD.3692) 4298 0 R (HD.3693) 4299 0 R (HD.3694) 4300 0 R (HD.3695) 4306 0 R (HD.3696) 4307 0 R (HD.3697) 4308 0 R (HD.3698) 4309 0 R (HD.3699) 4310 0 R (HD.37) 232 0 R (HD.370) 615 0 R (HD.3700) 4311 0 R (HD.3701) 4312 0 R (HD.3702) 4313 0 R (HD.3703) 4314 0 R (HD.3704) 4315 0 R (HD.3705) 4316 0 R (HD.3706) 4317 0 R (HD.3707) 4318 0 R (HD.3708) 4319 0 R (HD.3709) 4320 0 R (HD.371) 616 0 R (HD.3710) 4321 0 R (HD.3711) 4322 0 R (HD.3712) 4323 0 R (HD.3713) 4324 0 R (HD.3714) 4325 0 R ] /Limits [ (HD.3687) (HD.3714) ] >>
+<< /Names [ (HD.274) 501 0 R (HD.2740) 3264 0 R (HD.2741) 3265 0 R (HD.2742) 3266 0 R (HD.2743) 3267 0 R (HD.2744) 3268 0 R (HD.2745) 3269 0 R (HD.2746) 3270 0 R (HD.2747) 3271 0 R (HD.2748) 3272 0 R (HD.2749) 3273 0 R (HD.275) 502 0 R (HD.2750) 3274 0 R (HD.2751) 3275 0 R (HD.2752) 3276 0 R (HD.2753) 3277 0 R (HD.2754) 3278 0 R (HD.2755) 3279 0 R (HD.2756) 3280 0 R (HD.2757) 3281 0 R (HD.2758) 3282 0 R (HD.2759) 3283 0 R (HD.276) 503 0 R (HD.2760) 3284 0 R (HD.2761) 3285 0 R (HD.2762) 3286 0 R (HD.2763) 3287 0 R (HD.2764) 3288 0 R (HD.2765) 3289 0 R (HD.2766) 3290 0 R (HD.2767) 3291 0 R (HD.2768) 3292 0 R ] /Limits [ (HD.274) (HD.2768) ] >>
endobj
11810 0 obj
-<< /Names [ (HD.3715) 4326 0 R (HD.3716) 4327 0 R (HD.3717) 4328 0 R (HD.3718) 4329 0 R (HD.3719) 4330 0 R (HD.372) 617 0 R (HD.3720) 4331 0 R (HD.3721) 4332 0 R (HD.3722) 4333 0 R (HD.3723) 4334 0 R (HD.3724) 4335 0 R (HD.3725) 4336 0 R (HD.3726) 4337 0 R (HD.3727) 4338 0 R (HD.3728) 4339 0 R (HD.3729) 4340 0 R (HD.373) 618 0 R (HD.3730) 4341 0 R (HD.3731) 4342 0 R (HD.3732) 4343 0 R (HD.3733) 4344 0 R (HD.3734) 4345 0 R (HD.3735) 4346 0 R (HD.3736) 4347 0 R (HD.3737) 4348 0 R (HD.3738) 4349 0 R (HD.3739) 4350 0 R (HD.374) 619 0 R (HD.3740) 4351 0 R (HD.3741) 4352 0 R (HD.3742) 4353 0 R (HD.3743) 4354 0 R ] /Limits [ (HD.3715) (HD.3743) ] >>
+<< /Names [ (HD.2769) 3293 0 R (HD.277) 504 0 R (HD.2770) 3294 0 R (HD.2771) 3295 0 R (HD.2772) 3296 0 R (HD.2773) 3297 0 R (HD.2774) 3303 0 R (HD.2775) 3304 0 R (HD.2776) 3305 0 R (HD.2777) 3306 0 R (HD.2778) 3307 0 R (HD.2779) 3308 0 R (HD.278) 505 0 R (HD.2780) 3309 0 R (HD.2781) 3310 0 R (HD.2782) 3311 0 R (HD.2783) 3312 0 R (HD.2784) 3313 0 R (HD.2785) 3314 0 R (HD.2786) 3315 0 R (HD.2787) 3316 0 R (HD.2788) 3317 0 R (HD.2789) 3318 0 R (HD.279) 506 0 R (HD.2790) 3319 0 R (HD.2791) 3320 0 R (HD.2792) 3321 0 R (HD.2793) 3322 0 R (HD.2794) 3323 0 R (HD.2795) 3324 0 R (HD.2796) 3325 0 R (HD.2797) 3326 0 R ] /Limits [ (HD.2769) (HD.2797) ] >>
endobj
11811 0 obj
-<< /Names [ (HD.3744) 4355 0 R (HD.3745) 4356 0 R (HD.3746) 4361 0 R (HD.3747) 4362 0 R (HD.3748) 4363 0 R (HD.3749) 4364 0 R (HD.375) 620 0 R (HD.3750) 4365 0 R (HD.3751) 4366 0 R (HD.3752) 4367 0 R (HD.3753) 4368 0 R (HD.3754) 4369 0 R (HD.3755) 4370 0 R (HD.3756) 4371 0 R (HD.3757) 4372 0 R (HD.3758) 4373 0 R (HD.3759) 4374 0 R (HD.376) 621 0 R (HD.3760) 4375 0 R (HD.3761) 4376 0 R (HD.3762) 4377 0 R (HD.3763) 4378 0 R (HD.3764) 4379 0 R (HD.3765) 4380 0 R (HD.3766) 4381 0 R (HD.3767) 4382 0 R (HD.3768) 4383 0 R (HD.3769) 4384 0 R (HD.377) 622 0 R (HD.3770) 4385 0 R (HD.3771) 4386 0 R (HD.3772) 4387 0 R ] /Limits [ (HD.3744) (HD.3772) ] >>
+<< /Names [ (HD.2798) 3327 0 R (HD.2799) 3328 0 R (HD.28) 223 0 R (HD.280) 507 0 R (HD.2800) 3329 0 R (HD.2801) 3330 0 R (HD.2802) 3331 0 R (HD.2803) 3332 0 R (HD.2804) 3333 0 R (HD.2805) 3338 0 R (HD.2806) 3339 0 R (HD.2807) 3340 0 R (HD.2808) 3341 0 R (HD.2809) 3342 0 R (HD.281) 508 0 R (HD.2810) 3343 0 R (HD.2811) 3344 0 R (HD.2812) 3345 0 R (HD.2813) 3346 0 R (HD.2814) 3347 0 R (HD.2815) 3348 0 R (HD.2816) 3349 0 R (HD.2817) 3350 0 R (HD.2818) 3351 0 R (HD.2819) 3352 0 R (HD.282) 509 0 R (HD.2820) 3353 0 R (HD.2821) 3354 0 R (HD.2822) 3355 0 R (HD.2823) 3356 0 R (HD.2824) 3357 0 R (HD.2825) 3358 0 R ] /Limits [ (HD.2798) (HD.2825) ] >>
endobj
11812 0 obj
-<< /Names [ (HD.3773) 4388 0 R (HD.3774) 4389 0 R (HD.3775) 4390 0 R (HD.3776) 4391 0 R (HD.3777) 4392 0 R (HD.3778) 4393 0 R (HD.3779) 4394 0 R (HD.378) 623 0 R (HD.3780) 4395 0 R (HD.3781) 4396 0 R (HD.3782) 4397 0 R (HD.3783) 4398 0 R (HD.3784) 4399 0 R (HD.3785) 4400 0 R (HD.3786) 4401 0 R (HD.3787) 4402 0 R (HD.3788) 4403 0 R (HD.3789) 4404 0 R (HD.379) 624 0 R (HD.3790) 4405 0 R (HD.3791) 4406 0 R (HD.3792) 4407 0 R (HD.3793) 4408 0 R (HD.3794) 4409 0 R (HD.3795) 4410 0 R (HD.3796) 4411 0 R (HD.3797) 4412 0 R (HD.3798) 4413 0 R (HD.3799) 4414 0 R (HD.38) 233 0 R (HD.380) 625 0 R (HD.3800) 4415 0 R ] /Limits [ (HD.3773) (HD.3800) ] >>
+<< /Names [ (HD.2826) 3359 0 R (HD.2827) 3360 0 R (HD.2828) 3361 0 R (HD.2829) 3362 0 R (HD.283) 510 0 R (HD.2830) 3363 0 R (HD.2831) 3364 0 R (HD.2832) 3365 0 R (HD.2833) 3366 0 R (HD.2834) 3367 0 R (HD.2835) 3368 0 R (HD.2836) 3369 0 R (HD.2837) 3370 0 R (HD.2838) 3371 0 R (HD.2839) 3372 0 R (HD.284) 511 0 R (HD.2840) 3373 0 R (HD.2841) 3374 0 R (HD.2842) 3375 0 R (HD.2843) 3376 0 R (HD.2844) 3377 0 R (HD.2845) 3378 0 R (HD.2846) 3379 0 R (HD.2847) 3380 0 R (HD.2848) 3385 0 R (HD.2849) 3386 0 R (HD.285) 512 0 R (HD.2850) 3387 0 R (HD.2851) 3388 0 R (HD.2852) 3389 0 R (HD.2853) 3390 0 R (HD.2854) 3391 0 R ] /Limits [ (HD.2826) (HD.2854) ] >>
endobj
11813 0 obj
-<< /Names [ (HD.3801) 4416 0 R (HD.3802) 4417 0 R (HD.3803) 4418 0 R (HD.3804) 4419 0 R (HD.3805) 4420 0 R (HD.3806) 4425 0 R (HD.3807) 4426 0 R (HD.3808) 4427 0 R (HD.3809) 4428 0 R (HD.381) 626 0 R (HD.3810) 4429 0 R (HD.3811) 4430 0 R (HD.3812) 4431 0 R (HD.3813) 4432 0 R (HD.3814) 4433 0 R (HD.3815) 4434 0 R (HD.3816) 4435 0 R (HD.3817) 4436 0 R (HD.3818) 4437 0 R (HD.3819) 4438 0 R (HD.382) 627 0 R (HD.3820) 4439 0 R (HD.3821) 4440 0 R (HD.3822) 4441 0 R (HD.3823) 4442 0 R (HD.3824) 4443 0 R (HD.3825) 4444 0 R (HD.3826) 4445 0 R (HD.3827) 4446 0 R (HD.3828) 4447 0 R (HD.3829) 4448 0 R (HD.383) 628 0 R ] /Limits [ (HD.3801) (HD.383) ] >>
+<< /Names [ (HD.2855) 3392 0 R (HD.2856) 3393 0 R (HD.2857) 3394 0 R (HD.2858) 3395 0 R (HD.2859) 3396 0 R (HD.286) 513 0 R (HD.2860) 3397 0 R (HD.2861) 3398 0 R (HD.2862) 3399 0 R (HD.2863) 3400 0 R (HD.2864) 3401 0 R (HD.2865) 3402 0 R (HD.2866) 3403 0 R (HD.2867) 3404 0 R (HD.2868) 3405 0 R (HD.2869) 3406 0 R (HD.287) 514 0 R (HD.2870) 3407 0 R (HD.2871) 3408 0 R (HD.2872) 3409 0 R (HD.2873) 3410 0 R (HD.2874) 3411 0 R (HD.2875) 3412 0 R (HD.2876) 3413 0 R (HD.2877) 3414 0 R (HD.2878) 3415 0 R (HD.2879) 3416 0 R (HD.288) 515 0 R (HD.2880) 3417 0 R (HD.2881) 3418 0 R (HD.2882) 3419 0 R (HD.2883) 3420 0 R ] /Limits [ (HD.2855) (HD.2883) ] >>
endobj
11814 0 obj
-<< /Names [ (HD.3830) 4449 0 R (HD.3831) 4450 0 R (HD.3832) 4451 0 R (HD.3833) 4452 0 R (HD.3834) 4453 0 R (HD.3835) 4454 0 R (HD.3836) 4455 0 R (HD.3837) 4456 0 R (HD.3838) 4457 0 R (HD.3839) 4458 0 R (HD.384) 629 0 R (HD.3840) 4459 0 R (HD.3841) 4464 0 R (HD.3842) 4465 0 R (HD.3843) 4466 0 R (HD.3844) 4467 0 R (HD.3845) 4468 0 R (HD.3846) 4469 0 R (HD.3847) 4470 0 R (HD.3848) 4471 0 R (HD.3849) 4472 0 R (HD.385) 630 0 R (HD.3850) 4473 0 R (HD.3851) 4474 0 R (HD.3852) 4475 0 R (HD.3853) 4476 0 R (HD.3854) 4477 0 R (HD.3855) 4478 0 R (HD.3856) 4479 0 R (HD.3857) 4480 0 R (HD.3858) 4481 0 R (HD.3859) 4482 0 R ] /Limits [ (HD.3830) (HD.3859) ] >>
+<< /Names [ (HD.2884) 3421 0 R (HD.2885) 3422 0 R (HD.2886) 3423 0 R (HD.2887) 3424 0 R (HD.2888) 3425 0 R (HD.2889) 3430 0 R (HD.289) 516 0 R (HD.2890) 3431 0 R (HD.2891) 3432 0 R (HD.2892) 3433 0 R (HD.2893) 3434 0 R (HD.2894) 3435 0 R (HD.2895) 3436 0 R (HD.2896) 3437 0 R (HD.2897) 3438 0 R (HD.2898) 3439 0 R (HD.2899) 3440 0 R (HD.29) 224 0 R (HD.290) 517 0 R (HD.2900) 3441 0 R (HD.2901) 3442 0 R (HD.2902) 3443 0 R (HD.2903) 3444 0 R (HD.2904) 3445 0 R (HD.2905) 3446 0 R (HD.2906) 3447 0 R (HD.2907) 3448 0 R (HD.2908) 3449 0 R (HD.2909) 3450 0 R (HD.291) 518 0 R (HD.2910) 3451 0 R (HD.2911) 3452 0 R ] /Limits [ (HD.2884) (HD.2911) ] >>
endobj
11815 0 obj
-<< /Names [ (HD.386) 635 0 R (HD.3860) 4483 0 R (HD.3861) 4484 0 R (HD.3862) 4485 0 R (HD.3863) 4486 0 R (HD.3864) 4487 0 R (HD.3865) 4488 0 R (HD.3866) 4489 0 R (HD.3867) 4490 0 R (HD.3868) 4491 0 R (HD.3869) 4492 0 R (HD.387) 636 0 R (HD.3870) 4493 0 R (HD.3871) 4494 0 R (HD.3872) 4495 0 R (HD.3873) 4496 0 R (HD.3874) 4497 0 R (HD.3875) 4498 0 R (HD.3876) 4499 0 R (HD.3877) 4500 0 R (HD.3878) 4501 0 R (HD.3879) 4502 0 R (HD.388) 637 0 R (HD.3880) 4503 0 R (HD.3881) 4504 0 R (HD.3882) 4505 0 R (HD.3883) 4506 0 R (HD.3884) 4507 0 R (HD.3885) 4508 0 R (HD.3886) 4509 0 R (HD.3887) 4510 0 R (HD.3888) 4511 0 R ] /Limits [ (HD.386) (HD.3888) ] >>
+<< /Names [ (HD.2912) 3453 0 R (HD.2913) 3454 0 R (HD.2914) 3455 0 R (HD.2915) 3456 0 R (HD.2916) 3457 0 R (HD.2917) 3458 0 R (HD.2918) 3459 0 R (HD.2919) 3460 0 R (HD.292) 519 0 R (HD.2920) 3461 0 R (HD.2921) 3462 0 R (HD.2922) 3463 0 R (HD.2923) 3464 0 R (HD.2924) 3465 0 R (HD.2925) 3466 0 R (HD.2926) 3467 0 R (HD.2927) 3468 0 R (HD.2928) 3469 0 R (HD.2929) 3470 0 R (HD.293) 520 0 R (HD.2930) 3471 0 R (HD.2931) 3472 0 R (HD.2932) 3473 0 R (HD.2933) 3474 0 R (HD.2934) 3475 0 R (HD.2935) 3476 0 R (HD.2936) 3477 0 R (HD.2937) 3478 0 R (HD.2938) 3479 0 R (HD.2939) 3480 0 R (HD.294) 521 0 R (HD.2940) 3481 0 R ] /Limits [ (HD.2912) (HD.2940) ] >>
endobj
11816 0 obj
-<< /Names [ (HD.3889) 4512 0 R (HD.389) 638 0 R (HD.3890) 4513 0 R (HD.3891) 4514 0 R (HD.3892) 4515 0 R (HD.3893) 4516 0 R (HD.3894) 4517 0 R (HD.3895) 4518 0 R (HD.3896) 4524 0 R (HD.3897) 4525 0 R (HD.3898) 4526 0 R (HD.3899) 4527 0 R (HD.39) 234 0 R (HD.390) 639 0 R (HD.3900) 4528 0 R (HD.3901) 4529 0 R (HD.3902) 4530 0 R (HD.3903) 4531 0 R (HD.3904) 4532 0 R (HD.3905) 4534 0 R (HD.3906) 4535 0 R (HD.3907) 4536 0 R (HD.3908) 4537 0 R (HD.3909) 4538 0 R (HD.391) 640 0 R (HD.3910) 4539 0 R (HD.3911) 4540 0 R (HD.3912) 4541 0 R (HD.3913) 4542 0 R (HD.3914) 4543 0 R (HD.3915) 4544 0 R (HD.3916) 4545 0 R ] /Limits [ (HD.3889) (HD.3916) ] >>
+<< /Names [ (HD.2941) 3486 0 R (HD.2942) 3487 0 R (HD.2943) 3488 0 R (HD.2944) 3489 0 R (HD.2945) 3490 0 R (HD.2946) 3491 0 R (HD.2947) 3492 0 R (HD.2948) 3493 0 R (HD.2949) 3494 0 R (HD.295) 522 0 R (HD.2950) 3495 0 R (HD.2951) 3496 0 R (HD.2952) 3497 0 R (HD.2953) 3498 0 R (HD.2954) 3499 0 R (HD.2955) 3500 0 R (HD.2956) 3501 0 R (HD.2957) 3502 0 R (HD.2958) 3503 0 R (HD.2959) 3504 0 R (HD.296) 523 0 R (HD.2960) 3505 0 R (HD.2961) 3506 0 R (HD.2962) 3507 0 R (HD.2963) 3508 0 R (HD.2964) 3509 0 R (HD.2965) 3510 0 R (HD.2966) 3511 0 R (HD.2967) 3512 0 R (HD.2968) 3513 0 R (HD.2969) 3514 0 R (HD.297) 524 0 R ] /Limits [ (HD.2941) (HD.297) ] >>
endobj
11817 0 obj
-<< /Names [ (HD.3917) 4546 0 R (HD.3918) 4547 0 R (HD.3919) 4548 0 R (HD.392) 641 0 R (HD.3920) 4549 0 R (HD.3921) 4550 0 R (HD.3922) 4551 0 R (HD.3923) 4552 0 R (HD.3924) 4553 0 R (HD.3925) 4554 0 R (HD.3926) 4555 0 R (HD.3927) 4556 0 R (HD.3928) 4563 0 R (HD.3929) 4564 0 R (HD.393) 642 0 R (HD.3930) 4565 0 R (HD.3931) 4566 0 R (HD.3932) 4567 0 R (HD.3933) 4568 0 R (HD.3934) 4569 0 R (HD.3935) 4570 0 R (HD.3936) 4571 0 R (HD.3937) 4572 0 R (HD.3938) 4573 0 R (HD.3939) 4574 0 R (HD.394) 643 0 R (HD.3940) 4575 0 R (HD.3941) 4576 0 R (HD.3942) 4577 0 R (HD.3943) 4578 0 R (HD.3944) 4579 0 R (HD.3945) 4580 0 R ] /Limits [ (HD.3917) (HD.3945) ] >>
+<< /Names [ (HD.2970) 3515 0 R (HD.2971) 3516 0 R (HD.2972) 3517 0 R (HD.2973) 3518 0 R (HD.2974) 3519 0 R (HD.2975) 3520 0 R (HD.2976) 3521 0 R (HD.2977) 3522 0 R (HD.2978) 3523 0 R (HD.2979) 3524 0 R (HD.298) 525 0 R (HD.2980) 3525 0 R (HD.2981) 3526 0 R (HD.2982) 3527 0 R (HD.2983) 3528 0 R (HD.2984) 3529 0 R (HD.2985) 3530 0 R (HD.2986) 3531 0 R (HD.2987) 3532 0 R (HD.2988) 3533 0 R (HD.2989) 3534 0 R (HD.299) 526 0 R (HD.2990) 3535 0 R (HD.2991) 3540 0 R (HD.2992) 3541 0 R (HD.2993) 3542 0 R (HD.2994) 3543 0 R (HD.2995) 3544 0 R (HD.2996) 3545 0 R (HD.2997) 3546 0 R (HD.2998) 3547 0 R (HD.2999) 3548 0 R ] /Limits [ (HD.2970) (HD.2999) ] >>
endobj
11818 0 obj
-<< /Names [ (HD.3946) 4581 0 R (HD.3947) 4582 0 R (HD.3948) 4583 0 R (HD.3949) 4584 0 R (HD.395) 644 0 R (HD.3950) 4585 0 R (HD.3951) 4586 0 R (HD.3952) 4587 0 R (HD.3953) 4588 0 R (HD.3954) 4589 0 R (HD.3955) 4590 0 R (HD.3956) 4591 0 R (HD.3957) 4592 0 R (HD.3958) 4593 0 R (HD.3959) 4594 0 R (HD.396) 645 0 R (HD.3960) 4595 0 R (HD.3961) 4596 0 R (HD.3962) 4597 0 R (HD.3963) 4598 0 R (HD.3964) 4599 0 R (HD.3965) 4600 0 R (HD.3966) 4601 0 R (HD.3967) 4602 0 R (HD.3968) 4603 0 R (HD.3969) 4609 0 R (HD.397) 646 0 R (HD.3970) 4610 0 R (HD.3971) 4611 0 R (HD.3972) 4612 0 R (HD.3973) 4613 0 R (HD.3974) 4614 0 R ] /Limits [ (HD.3946) (HD.3974) ] >>
+<< /Names [ (HD.3) 191 0 R (HD.30) 225 0 R (HD.300) 527 0 R (HD.3000) 3549 0 R (HD.3001) 3550 0 R (HD.3002) 3551 0 R (HD.3003) 3552 0 R (HD.3004) 3553 0 R (HD.3005) 3554 0 R (HD.3006) 3555 0 R (HD.3007) 3556 0 R (HD.3008) 3557 0 R (HD.3009) 3558 0 R (HD.301) 528 0 R (HD.3010) 3559 0 R (HD.3011) 3560 0 R (HD.3012) 3561 0 R (HD.3013) 3562 0 R (HD.3014) 3563 0 R (HD.3015) 3564 0 R (HD.3016) 3565 0 R (HD.3017) 3566 0 R (HD.3018) 3567 0 R (HD.3019) 3568 0 R (HD.302) 529 0 R (HD.3020) 3569 0 R (HD.3021) 3570 0 R (HD.3022) 3571 0 R (HD.3023) 3572 0 R (HD.3024) 3573 0 R (HD.3025) 3574 0 R (HD.3026) 3575 0 R ] /Limits [ (HD.3) (HD.3026) ] >>
endobj
11819 0 obj
-<< /Names [ (HD.3975) 4615 0 R (HD.3976) 4616 0 R (HD.3977) 4617 0 R (HD.3978) 4618 0 R (HD.3979) 4619 0 R (HD.398) 647 0 R (HD.3980) 4620 0 R (HD.3981) 4621 0 R (HD.3982) 4622 0 R (HD.3983) 4623 0 R (HD.3984) 4624 0 R (HD.3985) 4625 0 R (HD.3986) 4626 0 R (HD.3987) 4627 0 R (HD.3988) 4628 0 R (HD.3989) 4629 0 R (HD.399) 648 0 R (HD.3990) 4630 0 R (HD.3991) 4631 0 R (HD.3992) 4632 0 R (HD.3993) 4633 0 R (HD.3994) 4634 0 R (HD.3995) 4635 0 R (HD.3996) 4636 0 R (HD.3997) 4637 0 R (HD.3998) 4638 0 R (HD.3999) 4639 0 R (HD.4) 192 0 R (HD.40) 235 0 R (HD.400) 649 0 R (HD.4000) 4640 0 R (HD.4001) 4641 0 R ] /Limits [ (HD.3975) (HD.4001) ] >>
+<< /Names [ (HD.3027) 3576 0 R (HD.3028) 3577 0 R (HD.3029) 3578 0 R (HD.303) 530 0 R (HD.3030) 3579 0 R (HD.3031) 3580 0 R (HD.3032) 3581 0 R (HD.3033) 3582 0 R (HD.3034) 3583 0 R (HD.3035) 3584 0 R (HD.3036) 3585 0 R (HD.3037) 3586 0 R (HD.3038) 3591 0 R (HD.3039) 3592 0 R (HD.304) 535 0 R (HD.3040) 3593 0 R (HD.3041) 3594 0 R (HD.3042) 3595 0 R (HD.3043) 3596 0 R (HD.3044) 3597 0 R (HD.3045) 3598 0 R (HD.3046) 3599 0 R (HD.3047) 3600 0 R (HD.3048) 3601 0 R (HD.3049) 3602 0 R (HD.305) 536 0 R (HD.3050) 3603 0 R (HD.3051) 3604 0 R (HD.3052) 3605 0 R (HD.3053) 3606 0 R (HD.3054) 3607 0 R (HD.3055) 3608 0 R ] /Limits [ (HD.3027) (HD.3055) ] >>
endobj
11820 0 obj
-<< /Names [ (HD.4002) 4642 0 R (HD.4003) 4643 0 R (HD.4004) 4644 0 R (HD.4005) 4645 0 R (HD.4006) 4646 0 R (HD.4007) 4647 0 R (HD.4008) 4648 0 R (HD.4009) 4655 0 R (HD.401) 650 0 R (HD.4010) 4656 0 R (HD.4011) 4657 0 R (HD.4012) 4658 0 R (HD.4013) 4659 0 R (HD.4014) 4660 0 R (HD.4015) 4661 0 R (HD.4016) 4662 0 R (HD.4017) 4663 0 R (HD.4018) 4664 0 R (HD.4019) 4665 0 R (HD.402) 651 0 R (HD.4020) 4666 0 R (HD.4021) 4667 0 R (HD.4022) 4668 0 R (HD.4023) 4669 0 R (HD.4024) 4670 0 R (HD.4025) 4671 0 R (HD.4026) 4672 0 R (HD.4027) 4673 0 R (HD.4028) 4674 0 R (HD.4029) 4675 0 R (HD.403) 652 0 R (HD.4030) 4676 0 R ] /Limits [ (HD.4002) (HD.4030) ] >>
+<< /Names [ (HD.3056) 3609 0 R (HD.3057) 3610 0 R (HD.3058) 3611 0 R (HD.3059) 3612 0 R (HD.306) 537 0 R (HD.3060) 3613 0 R (HD.3061) 3614 0 R (HD.3062) 3615 0 R (HD.3063) 3616 0 R (HD.3064) 3617 0 R (HD.3065) 3618 0 R (HD.3066) 3619 0 R (HD.3067) 3620 0 R (HD.3068) 3621 0 R (HD.3069) 3622 0 R (HD.307) 538 0 R (HD.3070) 3623 0 R (HD.3071) 3624 0 R (HD.3072) 3625 0 R (HD.3073) 3626 0 R (HD.3074) 3627 0 R (HD.3075) 3628 0 R (HD.3076) 3629 0 R (HD.3077) 3630 0 R (HD.3078) 3631 0 R (HD.3079) 3632 0 R (HD.308) 539 0 R (HD.3080) 3633 0 R (HD.3081) 3634 0 R (HD.3082) 3635 0 R (HD.3083) 3636 0 R (HD.3084) 3641 0 R ] /Limits [ (HD.3056) (HD.3084) ] >>
endobj
11821 0 obj
-<< /Names [ (HD.4031) 4677 0 R (HD.4032) 4678 0 R (HD.4033) 4679 0 R (HD.4034) 4680 0 R (HD.4035) 4681 0 R (HD.4036) 4682 0 R (HD.4037) 4683 0 R (HD.4038) 4684 0 R (HD.4039) 4685 0 R (HD.404) 653 0 R (HD.4040) 4686 0 R (HD.4041) 4687 0 R (HD.4042) 4688 0 R (HD.4043) 4689 0 R (HD.4044) 4690 0 R (HD.4045) 4691 0 R (HD.4046) 4692 0 R (HD.4047) 4693 0 R (HD.4048) 4694 0 R (HD.4049) 4695 0 R (HD.405) 654 0 R (HD.4050) 4696 0 R (HD.4051) 4697 0 R (HD.4052) 4698 0 R (HD.4053) 4699 0 R (HD.4054) 4700 0 R (HD.4055) 4701 0 R (HD.4056) 4702 0 R (HD.4057) 4707 0 R (HD.4058) 4708 0 R (HD.4059) 4709 0 R (HD.406) 659 0 R ] /Limits [ (HD.4031) (HD.406) ] >>
+<< /Names [ (HD.3085) 3642 0 R (HD.3086) 3643 0 R (HD.3087) 3644 0 R (HD.3088) 3645 0 R (HD.3089) 3646 0 R (HD.309) 540 0 R (HD.3090) 3647 0 R (HD.3091) 3648 0 R (HD.3092) 3649 0 R (HD.3093) 3650 0 R (HD.3094) 3651 0 R (HD.3095) 3652 0 R (HD.3096) 3653 0 R (HD.3097) 3654 0 R (HD.3098) 3655 0 R (HD.3099) 3656 0 R (HD.31) 226 0 R (HD.310) 541 0 R (HD.3100) 3657 0 R (HD.3101) 3658 0 R (HD.3102) 3659 0 R (HD.3103) 3660 0 R (HD.3104) 3661 0 R (HD.3105) 3662 0 R (HD.3106) 3663 0 R (HD.3107) 3664 0 R (HD.3108) 3665 0 R (HD.3109) 3666 0 R (HD.311) 542 0 R (HD.3110) 3667 0 R (HD.3111) 3668 0 R (HD.3112) 3669 0 R ] /Limits [ (HD.3085) (HD.3112) ] >>
endobj
11822 0 obj
-<< /Names [ (HD.4060) 4710 0 R (HD.4061) 4711 0 R (HD.4062) 4712 0 R (HD.4063) 4713 0 R (HD.4064) 4714 0 R (HD.4065) 4715 0 R (HD.4066) 4716 0 R (HD.4067) 4717 0 R (HD.4068) 4718 0 R (HD.4069) 4719 0 R (HD.407) 661 0 R (HD.4070) 4720 0 R (HD.4071) 4721 0 R (HD.4072) 4722 0 R (HD.4073) 4723 0 R (HD.4074) 4724 0 R (HD.4075) 4725 0 R (HD.4076) 4726 0 R (HD.4077) 4727 0 R (HD.4078) 4728 0 R (HD.4079) 4729 0 R (HD.408) 663 0 R (HD.4080) 4730 0 R (HD.4081) 4731 0 R (HD.4082) 4732 0 R (HD.4083) 4733 0 R (HD.4084) 4734 0 R (HD.4085) 4735 0 R (HD.4086) 4736 0 R (HD.4087) 4737 0 R (HD.4088) 4738 0 R (HD.4089) 4739 0 R ] /Limits [ (HD.4060) (HD.4089) ] >>
+<< /Names [ (HD.3113) 3670 0 R (HD.3114) 3671 0 R (HD.3115) 3672 0 R (HD.3116) 3673 0 R (HD.3117) 3674 0 R (HD.3118) 3675 0 R (HD.3119) 3676 0 R (HD.312) 543 0 R (HD.3120) 3677 0 R (HD.3121) 3678 0 R (HD.3122) 3679 0 R (HD.3123) 3680 0 R (HD.3124) 3681 0 R (HD.3125) 3686 0 R (HD.3126) 3687 0 R (HD.3127) 3688 0 R (HD.3128) 3689 0 R (HD.3129) 3690 0 R (HD.313) 544 0 R (HD.3130) 3691 0 R (HD.3131) 3692 0 R (HD.3132) 3693 0 R (HD.3133) 3694 0 R (HD.3134) 3695 0 R (HD.3135) 3696 0 R (HD.3136) 3697 0 R (HD.3137) 3698 0 R (HD.3138) 3699 0 R (HD.3139) 3700 0 R (HD.314) 545 0 R (HD.3140) 3701 0 R (HD.3141) 3702 0 R ] /Limits [ (HD.3113) (HD.3141) ] >>
endobj
11823 0 obj
-<< /Names [ (HD.409) 664 0 R (HD.4090) 4740 0 R (HD.4091) 4741 0 R (HD.4092) 4742 0 R (HD.4093) 4747 0 R (HD.4094) 4748 0 R (HD.4095) 4749 0 R (HD.4096) 4750 0 R (HD.4097) 4751 0 R (HD.4098) 4752 0 R (HD.4099) 4753 0 R (HD.41) 236 0 R (HD.410) 665 0 R (HD.4100) 4754 0 R (HD.4101) 4755 0 R (HD.4102) 4756 0 R (HD.4103) 4757 0 R (HD.4104) 4758 0 R (HD.4105) 4759 0 R (HD.4106) 4760 0 R (HD.4107) 4761 0 R (HD.4108) 4762 0 R (HD.4109) 4763 0 R (HD.411) 666 0 R (HD.4110) 4764 0 R (HD.4111) 4765 0 R (HD.4112) 4766 0 R (HD.4113) 4767 0 R (HD.4114) 4768 0 R (HD.4115) 4769 0 R (HD.4116) 4770 0 R (HD.4117) 4771 0 R ] /Limits [ (HD.409) (HD.4117) ] >>
+<< /Names [ (HD.3142) 3703 0 R (HD.3143) 3704 0 R (HD.3144) 3705 0 R (HD.3145) 3706 0 R (HD.3146) 3707 0 R (HD.3147) 3708 0 R (HD.3148) 3709 0 R (HD.3149) 3710 0 R (HD.315) 546 0 R (HD.3150) 3711 0 R (HD.3151) 3712 0 R (HD.3152) 3713 0 R (HD.3153) 3714 0 R (HD.3154) 3715 0 R (HD.3155) 3716 0 R (HD.3156) 3717 0 R (HD.3157) 3718 0 R (HD.3158) 3719 0 R (HD.3159) 3720 0 R (HD.316) 547 0 R (HD.3160) 3721 0 R (HD.3161) 3722 0 R (HD.3162) 3723 0 R (HD.3163) 3724 0 R (HD.3164) 3725 0 R (HD.3165) 3726 0 R (HD.3166) 3727 0 R (HD.3167) 3728 0 R (HD.3168) 3729 0 R (HD.3169) 3730 0 R (HD.317) 548 0 R (HD.3170) 3731 0 R ] /Limits [ (HD.3142) (HD.3170) ] >>
endobj
11824 0 obj
-<< /Names [ (HD.4118) 4772 0 R (HD.4119) 4773 0 R (HD.412) 667 0 R (HD.4120) 4774 0 R (HD.4121) 4775 0 R (HD.4122) 4776 0 R (HD.4123) 4777 0 R (HD.4124) 4778 0 R (HD.4125) 4779 0 R (HD.4126) 4780 0 R (HD.4127) 4781 0 R (HD.4128) 4782 0 R (HD.4129) 4783 0 R (HD.413) 669 0 R (HD.4130) 4784 0 R (HD.4131) 4790 0 R (HD.4132) 4791 0 R (HD.4133) 4792 0 R (HD.4134) 4793 0 R (HD.4135) 4794 0 R (HD.4136) 4795 0 R (HD.4137) 4796 0 R (HD.4138) 4797 0 R (HD.4139) 4798 0 R (HD.414) 670 0 R (HD.4140) 4799 0 R (HD.4141) 4800 0 R (HD.4142) 4801 0 R (HD.4143) 4802 0 R (HD.4144) 4803 0 R (HD.4145) 4804 0 R (HD.4146) 4805 0 R ] /Limits [ (HD.4118) (HD.4146) ] >>
+<< /Names [ (HD.3171) 3736 0 R (HD.3172) 3737 0 R (HD.3173) 3738 0 R (HD.3174) 3739 0 R (HD.3175) 3740 0 R (HD.3176) 3741 0 R (HD.3177) 3742 0 R (HD.3178) 3743 0 R (HD.3179) 3744 0 R (HD.318) 549 0 R (HD.3180) 3745 0 R (HD.3181) 3746 0 R (HD.3182) 3747 0 R (HD.3183) 3748 0 R (HD.3184) 3749 0 R (HD.3185) 3750 0 R (HD.3186) 3751 0 R (HD.3187) 3752 0 R (HD.3188) 3753 0 R (HD.3189) 3754 0 R (HD.319) 550 0 R (HD.3190) 3755 0 R (HD.3191) 3756 0 R (HD.3192) 3757 0 R (HD.3193) 3758 0 R (HD.3194) 3759 0 R (HD.3195) 3760 0 R (HD.3196) 3761 0 R (HD.3197) 3762 0 R (HD.3198) 3763 0 R (HD.3199) 3764 0 R (HD.32) 227 0 R ] /Limits [ (HD.3171) (HD.32) ] >>
endobj
11825 0 obj
-<< /Names [ (HD.4147) 4806 0 R (HD.4148) 4807 0 R (HD.4149) 4808 0 R (HD.415) 671 0 R (HD.4150) 4809 0 R (HD.4151) 4810 0 R (HD.4152) 4811 0 R (HD.4153) 4812 0 R (HD.4154) 4813 0 R (HD.4155) 4814 0 R (HD.4156) 4815 0 R (HD.4157) 4816 0 R (HD.4158) 4817 0 R (HD.4159) 4818 0 R (HD.416) 672 0 R (HD.4160) 4819 0 R (HD.4161) 4820 0 R (HD.4162) 4821 0 R (HD.4163) 4822 0 R (HD.4164) 4823 0 R (HD.4165) 4824 0 R (HD.4166) 4825 0 R (HD.4167) 4826 0 R (HD.4168) 4827 0 R (HD.4169) 4828 0 R (HD.417) 673 0 R (HD.4170) 4829 0 R (HD.4171) 4830 0 R (HD.4172) 4831 0 R (HD.4173) 4832 0 R (HD.4174) 4833 0 R (HD.4175) 4834 0 R ] /Limits [ (HD.4147) (HD.4175) ] >>
+<< /Names [ (HD.320) 551 0 R (HD.3200) 3765 0 R (HD.3201) 3766 0 R (HD.3202) 3767 0 R (HD.3203) 3768 0 R (HD.3204) 3769 0 R (HD.3205) 3770 0 R (HD.3206) 3771 0 R (HD.3207) 3772 0 R (HD.3208) 3773 0 R (HD.3209) 3774 0 R (HD.321) 552 0 R (HD.3210) 3775 0 R (HD.3211) 3776 0 R (HD.3212) 3777 0 R (HD.3213) 3778 0 R (HD.3214) 3779 0 R (HD.3215) 3780 0 R (HD.3216) 3781 0 R (HD.3217) 3782 0 R (HD.3218) 3783 0 R (HD.3219) 3789 0 R (HD.322) 553 0 R (HD.3220) 3790 0 R (HD.3221) 3791 0 R (HD.3222) 3792 0 R (HD.3223) 3793 0 R (HD.3224) 3794 0 R (HD.3225) 3795 0 R (HD.3226) 3796 0 R (HD.3227) 3797 0 R (HD.3228) 3798 0 R ] /Limits [ (HD.320) (HD.3228) ] >>
endobj
11826 0 obj
-<< /Names [ (HD.4176) 4835 0 R (HD.4177) 4836 0 R (HD.4178) 4837 0 R (HD.4179) 4838 0 R (HD.418) 674 0 R (HD.4180) 4843 0 R (HD.4181) 4844 0 R (HD.4182) 4845 0 R (HD.4183) 4846 0 R (HD.4184) 4847 0 R (HD.4185) 4848 0 R (HD.4186) 4849 0 R (HD.4187) 4850 0 R (HD.4188) 4851 0 R (HD.4189) 4852 0 R (HD.419) 675 0 R (HD.4190) 4853 0 R (HD.4191) 4854 0 R (HD.4192) 4855 0 R (HD.4193) 4856 0 R (HD.4194) 4857 0 R (HD.4195) 4858 0 R (HD.4196) 4859 0 R (HD.4197) 4860 0 R (HD.4198) 4861 0 R (HD.4199) 4862 0 R (HD.42) 237 0 R (HD.420) 676 0 R (HD.4200) 4863 0 R (HD.4201) 4864 0 R (HD.4202) 4865 0 R (HD.4203) 4866 0 R ] /Limits [ (HD.4176) (HD.4203) ] >>
+<< /Names [ (HD.3229) 3799 0 R (HD.323) 554 0 R (HD.3230) 3800 0 R (HD.3231) 3801 0 R (HD.3232) 3802 0 R (HD.3233) 3803 0 R (HD.3234) 3804 0 R (HD.3235) 3805 0 R (HD.3236) 3806 0 R (HD.3237) 3807 0 R (HD.3238) 3808 0 R (HD.3239) 3809 0 R (HD.324) 555 0 R (HD.3240) 3810 0 R (HD.3241) 3811 0 R (HD.3242) 3812 0 R (HD.3243) 3813 0 R (HD.3244) 3814 0 R (HD.3245) 3815 0 R (HD.3246) 3816 0 R (HD.3247) 3817 0 R (HD.3248) 3818 0 R (HD.3249) 3819 0 R (HD.325) 557 0 R (HD.3250) 3820 0 R (HD.3251) 3821 0 R (HD.3252) 3822 0 R (HD.3253) 3823 0 R (HD.3254) 3824 0 R (HD.3255) 3825 0 R (HD.3256) 3826 0 R (HD.3257) 3827 0 R ] /Limits [ (HD.3229) (HD.3257) ] >>
endobj
11827 0 obj
-<< /Names [ (HD.4204) 4867 0 R (HD.4205) 4868 0 R (HD.4206) 4869 0 R (HD.4207) 4870 0 R (HD.4208) 4871 0 R (HD.4209) 4872 0 R (HD.421) 677 0 R (HD.4210) 4873 0 R (HD.4211) 4874 0 R (HD.4212) 4875 0 R (HD.4213) 4876 0 R (HD.4214) 4877 0 R (HD.4215) 4878 0 R (HD.4216) 4879 0 R (HD.4217) 4880 0 R (HD.4218) 4881 0 R (HD.4219) 4882 0 R (HD.422) 682 0 R (HD.4220) 4883 0 R (HD.4221) 4884 0 R (HD.4222) 4885 0 R (HD.4223) 4886 0 R (HD.4224) 4887 0 R (HD.4225) 4888 0 R (HD.4226) 4889 0 R (HD.4227) 4890 0 R (HD.4228) 4891 0 R (HD.4229) 4892 0 R (HD.423) 683 0 R (HD.4230) 4893 0 R (HD.4231) 4894 0 R (HD.4232) 4895 0 R ] /Limits [ (HD.4204) (HD.4232) ] >>
+<< /Names [ (HD.3258) 3828 0 R (HD.3259) 3829 0 R (HD.326) 558 0 R (HD.3260) 3830 0 R (HD.3261) 3831 0 R (HD.3262) 3832 0 R (HD.3263) 3833 0 R (HD.3264) 3834 0 R (HD.3265) 3835 0 R (HD.3266) 3836 0 R (HD.3267) 3837 0 R (HD.3268) 3838 0 R (HD.3269) 3839 0 R (HD.327) 559 0 R (HD.3270) 3840 0 R (HD.3271) 3841 0 R (HD.3272) 3842 0 R (HD.3273) 3843 0 R (HD.3274) 3848 0 R (HD.3275) 3849 0 R (HD.3276) 3850 0 R (HD.3277) 3851 0 R (HD.3278) 3852 0 R (HD.3279) 3853 0 R (HD.328) 560 0 R (HD.3280) 3854 0 R (HD.3281) 3855 0 R (HD.3282) 3856 0 R (HD.3283) 3857 0 R (HD.3284) 3858 0 R (HD.3285) 3859 0 R (HD.3286) 3860 0 R ] /Limits [ (HD.3258) (HD.3286) ] >>
endobj
11828 0 obj
-<< /Names [ (HD.4233) 4896 0 R (HD.4234) 4897 0 R (HD.4235) 4898 0 R (HD.4236) 4899 0 R (HD.4237) 4900 0 R (HD.4238) 4901 0 R (HD.4239) 4906 0 R (HD.424) 684 0 R (HD.4240) 4907 0 R (HD.4241) 4908 0 R (HD.4242) 4909 0 R (HD.4243) 4910 0 R (HD.4244) 4911 0 R (HD.4245) 4912 0 R (HD.4246) 4913 0 R (HD.4247) 4914 0 R (HD.4248) 4915 0 R (HD.4249) 4916 0 R (HD.425) 685 0 R (HD.4250) 4917 0 R (HD.4251) 4918 0 R (HD.4252) 4919 0 R (HD.4253) 4920 0 R (HD.4254) 4921 0 R (HD.4255) 4922 0 R (HD.4256) 4923 0 R (HD.4257) 4924 0 R (HD.4258) 4925 0 R (HD.4259) 4926 0 R (HD.426) 686 0 R (HD.4260) 4927 0 R (HD.4261) 4928 0 R ] /Limits [ (HD.4233) (HD.4261) ] >>
+<< /Names [ (HD.3287) 3861 0 R (HD.3288) 3862 0 R (HD.3289) 3863 0 R (HD.329) 561 0 R (HD.3290) 3864 0 R (HD.3291) 3865 0 R (HD.3292) 3866 0 R (HD.3293) 3867 0 R (HD.3294) 3868 0 R (HD.3295) 3869 0 R (HD.3296) 3870 0 R (HD.3297) 3871 0 R (HD.3298) 3872 0 R (HD.3299) 3873 0 R (HD.33) 228 0 R (HD.330) 562 0 R (HD.3300) 3874 0 R (HD.3301) 3875 0 R (HD.3302) 3876 0 R (HD.3303) 3877 0 R (HD.3304) 3878 0 R (HD.3305) 3879 0 R (HD.3306) 3880 0 R (HD.3307) 3881 0 R (HD.3308) 3882 0 R (HD.3309) 3883 0 R (HD.331) 567 0 R (HD.3310) 3884 0 R (HD.3311) 3885 0 R (HD.3312) 3886 0 R (HD.3313) 3887 0 R (HD.3314) 3892 0 R ] /Limits [ (HD.3287) (HD.3314) ] >>
endobj
11829 0 obj
-<< /Names [ (HD.4262) 4929 0 R (HD.4263) 4930 0 R (HD.4264) 4931 0 R (HD.4265) 4932 0 R (HD.4266) 4933 0 R (HD.4267) 4934 0 R (HD.4268) 4935 0 R (HD.4269) 4936 0 R (HD.427) 687 0 R (HD.4270) 4937 0 R (HD.4271) 4938 0 R (HD.4272) 4939 0 R (HD.4273) 4940 0 R (HD.4274) 4941 0 R (HD.4275) 4942 0 R (HD.4276) 4943 0 R (HD.4277) 4944 0 R (HD.4278) 4945 0 R (HD.4279) 4946 0 R (HD.428) 688 0 R (HD.4280) 4947 0 R (HD.4281) 4952 0 R (HD.4282) 4953 0 R (HD.4283) 4954 0 R (HD.4284) 4955 0 R (HD.4285) 4956 0 R (HD.4286) 4957 0 R (HD.4287) 4958 0 R (HD.4288) 4959 0 R (HD.4289) 4960 0 R (HD.429) 689 0 R (HD.4290) 4961 0 R ] /Limits [ (HD.4262) (HD.4290) ] >>
+<< /Names [ (HD.3315) 3893 0 R (HD.3316) 3894 0 R (HD.3317) 3895 0 R (HD.3318) 3896 0 R (HD.3319) 3897 0 R (HD.332) 568 0 R (HD.3320) 3898 0 R (HD.3321) 3899 0 R (HD.3322) 3900 0 R (HD.3323) 3901 0 R (HD.3324) 3902 0 R (HD.3325) 3903 0 R (HD.3326) 3904 0 R (HD.3327) 3905 0 R (HD.3328) 3906 0 R (HD.3329) 3907 0 R (HD.333) 569 0 R (HD.3330) 3908 0 R (HD.3331) 3909 0 R (HD.3332) 3910 0 R (HD.3333) 3911 0 R (HD.3334) 3912 0 R (HD.3335) 3913 0 R (HD.3336) 3914 0 R (HD.3337) 3915 0 R (HD.3338) 3916 0 R (HD.3339) 3917 0 R (HD.334) 570 0 R (HD.3340) 3918 0 R (HD.3341) 3919 0 R (HD.3342) 3920 0 R (HD.3343) 3921 0 R ] /Limits [ (HD.3315) (HD.3343) ] >>
endobj
11830 0 obj
-<< /Names [ (HD.4291) 4962 0 R (HD.4292) 4963 0 R (HD.4293) 4964 0 R (HD.4294) 4965 0 R (HD.4295) 4966 0 R (HD.4296) 4967 0 R (HD.4297) 4968 0 R (HD.4298) 4969 0 R (HD.4299) 4970 0 R (HD.43) 238 0 R (HD.430) 690 0 R (HD.4300) 4971 0 R (HD.4301) 4972 0 R (HD.4302) 4973 0 R (HD.4303) 4974 0 R (HD.4304) 4975 0 R (HD.4305) 4976 0 R (HD.4306) 4977 0 R (HD.4307) 4978 0 R (HD.4308) 4979 0 R (HD.4309) 4980 0 R (HD.431) 691 0 R (HD.4310) 4981 0 R (HD.4311) 4982 0 R (HD.4312) 4983 0 R (HD.4313) 4984 0 R (HD.4314) 4985 0 R (HD.4315) 4986 0 R (HD.4316) 4987 0 R (HD.4317) 4988 0 R (HD.4318) 4989 0 R (HD.4319) 4990 0 R ] /Limits [ (HD.4291) (HD.4319) ] >>
+<< /Names [ (HD.3344) 3922 0 R (HD.3345) 3923 0 R (HD.3346) 3924 0 R (HD.3347) 3929 0 R (HD.3348) 3930 0 R (HD.3349) 3931 0 R (HD.335) 571 0 R (HD.3350) 3932 0 R (HD.3351) 3933 0 R (HD.3352) 3934 0 R (HD.3353) 3935 0 R (HD.3354) 3936 0 R (HD.3355) 3937 0 R (HD.3356) 3938 0 R (HD.3357) 3939 0 R (HD.3358) 3940 0 R (HD.3359) 3941 0 R (HD.336) 572 0 R (HD.3360) 3942 0 R (HD.3361) 3943 0 R (HD.3362) 3944 0 R (HD.3363) 3945 0 R (HD.3364) 3946 0 R (HD.3365) 3947 0 R (HD.3366) 3948 0 R (HD.3367) 3949 0 R (HD.3368) 3950 0 R (HD.3369) 3951 0 R (HD.337) 573 0 R (HD.3370) 3952 0 R (HD.3371) 3953 0 R (HD.3372) 3954 0 R ] /Limits [ (HD.3344) (HD.3372) ] >>
endobj
11831 0 obj
-<< /Names [ (HD.432) 692 0 R (HD.4320) 4991 0 R (HD.4321) 4992 0 R (HD.4322) 4993 0 R (HD.4323) 4994 0 R (HD.4324) 4995 0 R (HD.4325) 4996 0 R (HD.4326) 4997 0 R (HD.4327) 4998 0 R (HD.4328) 4999 0 R (HD.4329) 5000 0 R (HD.433) 693 0 R (HD.4330) 5001 0 R (HD.4331) 5002 0 R (HD.4332) 5003 0 R (HD.4333) 5004 0 R (HD.4334) 5005 0 R (HD.4335) 5006 0 R (HD.4336) 5007 0 R (HD.4337) 5008 0 R (HD.4338) 5009 0 R (HD.4339) 5010 0 R (HD.434) 694 0 R (HD.4340) 5011 0 R (HD.4341) 5016 0 R (HD.4342) 5017 0 R (HD.4343) 5018 0 R (HD.4344) 5019 0 R (HD.4345) 5020 0 R (HD.4346) 5021 0 R (HD.4347) 5022 0 R (HD.4348) 5023 0 R ] /Limits [ (HD.432) (HD.4348) ] >>
+<< /Names [ (HD.3373) 3955 0 R (HD.3374) 3956 0 R (HD.3375) 3957 0 R (HD.3376) 3958 0 R (HD.3377) 3959 0 R (HD.3378) 3960 0 R (HD.3379) 3961 0 R (HD.338) 574 0 R (HD.3380) 3962 0 R (HD.3381) 3963 0 R (HD.3382) 3964 0 R (HD.3383) 3965 0 R (HD.3384) 3966 0 R (HD.3385) 3967 0 R (HD.3386) 3968 0 R (HD.3387) 3969 0 R (HD.3388) 3970 0 R (HD.3389) 3971 0 R (HD.339) 575 0 R (HD.3390) 3972 0 R (HD.3391) 3977 0 R (HD.3392) 3978 0 R (HD.3393) 3979 0 R (HD.3394) 3980 0 R (HD.3395) 3981 0 R (HD.3396) 3982 0 R (HD.3397) 3983 0 R (HD.3398) 3984 0 R (HD.3399) 3985 0 R (HD.34) 229 0 R (HD.340) 576 0 R (HD.3400) 3986 0 R ] /Limits [ (HD.3373) (HD.3400) ] >>
endobj
11832 0 obj
-<< /Names [ (HD.4349) 5024 0 R (HD.435) 695 0 R (HD.4350) 5025 0 R (HD.4351) 5026 0 R (HD.4352) 5027 0 R (HD.4353) 5028 0 R (HD.4354) 5029 0 R (HD.4355) 5030 0 R (HD.4356) 5031 0 R (HD.4357) 5032 0 R (HD.4358) 5033 0 R (HD.4359) 5034 0 R (HD.436) 696 0 R (HD.4360) 5035 0 R (HD.4361) 5036 0 R (HD.4362) 5037 0 R (HD.4363) 5038 0 R (HD.4364) 5039 0 R (HD.4365) 5040 0 R (HD.4366) 5041 0 R (HD.4367) 5042 0 R (HD.4368) 5043 0 R (HD.4369) 5044 0 R (HD.437) 697 0 R (HD.4370) 5045 0 R (HD.4371) 5046 0 R (HD.4372) 5047 0 R (HD.4373) 5048 0 R (HD.4374) 5049 0 R (HD.4375) 5050 0 R (HD.4376) 5051 0 R (HD.4377) 5052 0 R ] /Limits [ (HD.4349) (HD.4377) ] >>
+<< /Names [ (HD.3401) 3987 0 R (HD.3402) 3988 0 R (HD.3403) 3989 0 R (HD.3404) 3990 0 R (HD.3405) 3991 0 R (HD.3406) 3992 0 R (HD.3407) 3993 0 R (HD.3408) 3994 0 R (HD.3409) 3995 0 R (HD.341) 577 0 R (HD.3410) 3996 0 R (HD.3411) 3997 0 R (HD.3412) 3998 0 R (HD.3413) 3999 0 R (HD.3414) 4000 0 R (HD.3415) 4001 0 R (HD.3416) 4002 0 R (HD.3417) 4003 0 R (HD.3418) 4004 0 R (HD.3419) 4005 0 R (HD.342) 578 0 R (HD.3420) 4006 0 R (HD.3421) 4007 0 R (HD.3422) 4008 0 R (HD.3423) 4009 0 R (HD.3424) 4010 0 R (HD.3425) 4011 0 R (HD.3426) 4012 0 R (HD.3427) 4013 0 R (HD.3428) 4014 0 R (HD.3429) 4015 0 R (HD.343) 579 0 R ] /Limits [ (HD.3401) (HD.343) ] >>
endobj
11833 0 obj
-<< /Names [ (HD.4378) 5053 0 R (HD.4379) 5054 0 R (HD.438) 702 0 R (HD.4380) 5059 0 R (HD.4381) 5060 0 R (HD.4382) 5061 0 R (HD.4383) 5062 0 R (HD.4384) 5063 0 R (HD.4385) 5064 0 R (HD.4386) 5065 0 R (HD.4387) 5066 0 R (HD.4388) 5067 0 R (HD.4389) 5068 0 R (HD.439) 703 0 R (HD.4390) 5069 0 R (HD.4391) 5070 0 R (HD.4392) 5071 0 R (HD.4393) 5072 0 R (HD.4394) 5073 0 R (HD.4395) 5074 0 R (HD.4396) 5075 0 R (HD.4397) 5076 0 R (HD.4398) 5077 0 R (HD.4399) 5078 0 R (HD.44) 239 0 R (HD.440) 704 0 R (HD.4400) 5079 0 R (HD.4401) 5080 0 R (HD.4402) 5081 0 R (HD.4403) 5082 0 R (HD.4404) 5083 0 R (HD.4405) 5084 0 R ] /Limits [ (HD.4378) (HD.4405) ] >>
+<< /Names [ (HD.3430) 4016 0 R (HD.3431) 4017 0 R (HD.3432) 4018 0 R (HD.3433) 4019 0 R (HD.3434) 4020 0 R (HD.3435) 4021 0 R (HD.3436) 4022 0 R (HD.3437) 4023 0 R (HD.3438) 4024 0 R (HD.3439) 4025 0 R (HD.344) 580 0 R (HD.3440) 4026 0 R (HD.3441) 4027 0 R (HD.3442) 4028 0 R (HD.3443) 4033 0 R (HD.3444) 4034 0 R (HD.3445) 4035 0 R (HD.3446) 4036 0 R (HD.3447) 4037 0 R (HD.3448) 4038 0 R (HD.3449) 4039 0 R (HD.345) 581 0 R (HD.3450) 4040 0 R (HD.3451) 4041 0 R (HD.3452) 4042 0 R (HD.3453) 4043 0 R (HD.3454) 4044 0 R (HD.3455) 4045 0 R (HD.3456) 4046 0 R (HD.3457) 4047 0 R (HD.3458) 4048 0 R (HD.3459) 4049 0 R ] /Limits [ (HD.3430) (HD.3459) ] >>
endobj
11834 0 obj
-<< /Names [ (HD.4406) 5085 0 R (HD.4407) 5086 0 R (HD.4408) 5087 0 R (HD.4409) 5088 0 R (HD.441) 705 0 R (HD.4410) 5089 0 R (HD.4411) 5090 0 R (HD.4412) 5091 0 R (HD.4413) 5092 0 R (HD.4414) 5093 0 R (HD.4415) 5094 0 R (HD.4416) 5095 0 R (HD.4417) 5096 0 R (HD.4418) 5097 0 R (HD.4419) 5098 0 R (HD.442) 706 0 R (HD.4420) 5099 0 R (HD.4421) 5100 0 R (HD.4422) 5101 0 R (HD.4423) 5102 0 R (HD.4424) 5103 0 R (HD.4425) 5104 0 R (HD.4426) 5109 0 R (HD.4427) 5110 0 R (HD.4428) 5111 0 R (HD.4429) 5112 0 R (HD.443) 707 0 R (HD.4430) 5113 0 R (HD.4431) 5114 0 R (HD.4432) 5115 0 R (HD.4433) 5116 0 R (HD.4434) 5117 0 R ] /Limits [ (HD.4406) (HD.4434) ] >>
+<< /Names [ (HD.346) 582 0 R (HD.3460) 4050 0 R (HD.3461) 4051 0 R (HD.3462) 4052 0 R (HD.3463) 4053 0 R (HD.3464) 4054 0 R (HD.3465) 4055 0 R (HD.3466) 4056 0 R (HD.3467) 4057 0 R (HD.3468) 4058 0 R (HD.3469) 4059 0 R (HD.347) 587 0 R (HD.3470) 4060 0 R (HD.3471) 4061 0 R (HD.3472) 4062 0 R (HD.3473) 4063 0 R (HD.3474) 4064 0 R (HD.3475) 4065 0 R (HD.3476) 4066 0 R (HD.3477) 4067 0 R (HD.3478) 4068 0 R (HD.3479) 4069 0 R (HD.348) 588 0 R (HD.3480) 4070 0 R (HD.3481) 4071 0 R (HD.3482) 4072 0 R (HD.3483) 4073 0 R (HD.3484) 4074 0 R (HD.3485) 4075 0 R (HD.3486) 4076 0 R (HD.3487) 4077 0 R (HD.3488) 4078 0 R ] /Limits [ (HD.346) (HD.3488) ] >>
endobj
11835 0 obj
-<< /Names [ (HD.4435) 5118 0 R (HD.4436) 5119 0 R (HD.4437) 5120 0 R (HD.4438) 5121 0 R (HD.4439) 5122 0 R (HD.444) 708 0 R (HD.4440) 5123 0 R (HD.4441) 5124 0 R (HD.4442) 5125 0 R (HD.4443) 5126 0 R (HD.4444) 5127 0 R (HD.4445) 5128 0 R (HD.4446) 5129 0 R (HD.4447) 5130 0 R (HD.4448) 5131 0 R (HD.4449) 5132 0 R (HD.445) 709 0 R (HD.4450) 5133 0 R (HD.4451) 5134 0 R (HD.4452) 5135 0 R (HD.4453) 5136 0 R (HD.4454) 5137 0 R (HD.4455) 5138 0 R (HD.4456) 5139 0 R (HD.4457) 5140 0 R (HD.4458) 5141 0 R (HD.4459) 5142 0 R (HD.446) 710 0 R (HD.4460) 5143 0 R (HD.4461) 5144 0 R (HD.4462) 5145 0 R (HD.4463) 5146 0 R ] /Limits [ (HD.4435) (HD.4463) ] >>
+<< /Names [ (HD.3489) 4079 0 R (HD.349) 589 0 R (HD.3490) 4080 0 R (HD.3491) 4081 0 R (HD.3492) 4082 0 R (HD.3493) 4083 0 R (HD.3494) 4084 0 R (HD.3495) 4085 0 R (HD.3496) 4086 0 R (HD.3497) 4087 0 R (HD.3498) 4088 0 R (HD.3499) 4093 0 R (HD.35) 230 0 R (HD.350) 590 0 R (HD.3500) 4094 0 R (HD.3501) 4095 0 R (HD.3502) 4096 0 R (HD.3503) 4097 0 R (HD.3504) 4098 0 R (HD.3505) 4099 0 R (HD.3506) 4100 0 R (HD.3507) 4101 0 R (HD.3508) 4102 0 R (HD.3509) 4103 0 R (HD.351) 591 0 R (HD.3510) 4104 0 R (HD.3511) 4105 0 R (HD.3512) 4106 0 R (HD.3513) 4107 0 R (HD.3514) 4108 0 R (HD.3515) 4109 0 R (HD.3516) 4110 0 R ] /Limits [ (HD.3489) (HD.3516) ] >>
endobj
11836 0 obj
-<< /Names [ (HD.4464) 5147 0 R (HD.4465) 5148 0 R (HD.4466) 5149 0 R (HD.4467) 5150 0 R (HD.4468) 5151 0 R (HD.4469) 5152 0 R (HD.447) 711 0 R (HD.4470) 5153 0 R (HD.4471) 5154 0 R (HD.4472) 5155 0 R (HD.4473) 5156 0 R (HD.4474) 5157 0 R (HD.4475) 5158 0 R (HD.4476) 5163 0 R (HD.4477) 5164 0 R (HD.4478) 5165 0 R (HD.4479) 5166 0 R (HD.448) 712 0 R (HD.4480) 5167 0 R (HD.4481) 5168 0 R (HD.4482) 5169 0 R (HD.4483) 5170 0 R (HD.4484) 5171 0 R (HD.4485) 5172 0 R (HD.4486) 5173 0 R (HD.4487) 5174 0 R (HD.4488) 5175 0 R (HD.4489) 5176 0 R (HD.449) 713 0 R (HD.4490) 5177 0 R (HD.4491) 5178 0 R (HD.4492) 5179 0 R ] /Limits [ (HD.4464) (HD.4492) ] >>
+<< /Names [ (HD.3517) 4111 0 R (HD.3518) 4112 0 R (HD.3519) 4113 0 R (HD.352) 592 0 R (HD.3520) 4114 0 R (HD.3521) 4115 0 R (HD.3522) 4116 0 R (HD.3523) 4117 0 R (HD.3524) 4118 0 R (HD.3525) 4119 0 R (HD.3526) 4120 0 R (HD.3527) 4121 0 R (HD.3528) 4122 0 R (HD.3529) 4123 0 R (HD.353) 593 0 R (HD.3530) 4124 0 R (HD.3531) 4125 0 R (HD.3532) 4126 0 R (HD.3533) 4127 0 R (HD.3534) 4128 0 R (HD.3535) 4129 0 R (HD.3536) 4130 0 R (HD.3537) 4131 0 R (HD.3538) 4132 0 R (HD.3539) 4133 0 R (HD.354) 594 0 R (HD.3540) 4134 0 R (HD.3541) 4135 0 R (HD.3542) 4136 0 R (HD.3543) 4137 0 R (HD.3544) 4138 0 R (HD.3545) 4139 0 R ] /Limits [ (HD.3517) (HD.3545) ] >>
endobj
11837 0 obj
-<< /Names [ (HD.4493) 5180 0 R (HD.4494) 5181 0 R (HD.4495) 5182 0 R (HD.4496) 5183 0 R (HD.4497) 5184 0 R (HD.4498) 5185 0 R (HD.4499) 5186 0 R (HD.45) 240 0 R (HD.450) 714 0 R (HD.4500) 5187 0 R (HD.4501) 5188 0 R (HD.4502) 5189 0 R (HD.4503) 5190 0 R (HD.4504) 5191 0 R (HD.4505) 5192 0 R (HD.4506) 5193 0 R (HD.4507) 5194 0 R (HD.4508) 5195 0 R (HD.4509) 5196 0 R (HD.451) 715 0 R (HD.4510) 5197 0 R (HD.4511) 5198 0 R (HD.4512) 5199 0 R (HD.4513) 5200 0 R (HD.4514) 5201 0 R (HD.4515) 5202 0 R (HD.4516) 5203 0 R (HD.4517) 5204 0 R (HD.4518) 5205 0 R (HD.4519) 5206 0 R (HD.452) 716 0 R (HD.4520) 5207 0 R ] /Limits [ (HD.4493) (HD.4520) ] >>
+<< /Names [ (HD.3546) 4140 0 R (HD.3547) 4141 0 R (HD.3548) 4142 0 R (HD.3549) 4143 0 R (HD.355) 595 0 R (HD.3550) 4144 0 R (HD.3551) 4145 0 R (HD.3552) 4146 0 R (HD.3553) 4147 0 R (HD.3554) 4152 0 R (HD.3555) 4153 0 R (HD.3556) 4154 0 R (HD.3557) 4155 0 R (HD.3558) 4156 0 R (HD.3559) 4157 0 R (HD.356) 596 0 R (HD.3560) 4158 0 R (HD.3561) 4159 0 R (HD.3562) 4160 0 R (HD.3563) 4161 0 R (HD.3564) 4162 0 R (HD.3565) 4163 0 R (HD.3566) 4164 0 R (HD.3567) 4165 0 R (HD.3568) 4166 0 R (HD.3569) 4167 0 R (HD.357) 597 0 R (HD.3570) 4168 0 R (HD.3571) 4169 0 R (HD.3572) 4170 0 R (HD.3573) 4171 0 R (HD.3574) 4172 0 R ] /Limits [ (HD.3546) (HD.3574) ] >>
endobj
11838 0 obj
-<< /Names [ (HD.4521) 5208 0 R (HD.4522) 5209 0 R (HD.4523) 5210 0 R (HD.4524) 5211 0 R (HD.4525) 5212 0 R (HD.4526) 5213 0 R (HD.4527) 5214 0 R (HD.4528) 5215 0 R (HD.4529) 5220 0 R (HD.453) 717 0 R (HD.4530) 5221 0 R (HD.4531) 5222 0 R (HD.4532) 5223 0 R (HD.4533) 5224 0 R (HD.4534) 5225 0 R (HD.4535) 5226 0 R (HD.4536) 5227 0 R (HD.4537) 5228 0 R (HD.4538) 5229 0 R (HD.4539) 5230 0 R (HD.454) 718 0 R (HD.4540) 5231 0 R (HD.4541) 5232 0 R (HD.4542) 5233 0 R (HD.4543) 5234 0 R (HD.4544) 5235 0 R (HD.4545) 5236 0 R (HD.4546) 5237 0 R (HD.4547) 5238 0 R (HD.4548) 5239 0 R (HD.4549) 5240 0 R (HD.455) 719 0 R ] /Limits [ (HD.4521) (HD.455) ] >>
+<< /Names [ (HD.3575) 4173 0 R (HD.3576) 4174 0 R (HD.3577) 4175 0 R (HD.3578) 4176 0 R (HD.3579) 4177 0 R (HD.358) 598 0 R (HD.3580) 4178 0 R (HD.3581) 4179 0 R (HD.3582) 4180 0 R (HD.3583) 4181 0 R (HD.3584) 4182 0 R (HD.3585) 4183 0 R (HD.3586) 4184 0 R (HD.3587) 4185 0 R (HD.3588) 4186 0 R (HD.3589) 4187 0 R (HD.359) 599 0 R (HD.3590) 4188 0 R (HD.3591) 4189 0 R (HD.3592) 4190 0 R (HD.3593) 4191 0 R (HD.3594) 4192 0 R (HD.3595) 4193 0 R (HD.3596) 4194 0 R (HD.3597) 4195 0 R (HD.3598) 4196 0 R (HD.3599) 4197 0 R (HD.36) 231 0 R (HD.360) 600 0 R (HD.3600) 4198 0 R (HD.3601) 4199 0 R (HD.3602) 4200 0 R ] /Limits [ (HD.3575) (HD.3602) ] >>
endobj
11839 0 obj
-<< /Names [ (HD.4550) 5241 0 R (HD.4551) 5242 0 R (HD.4552) 5243 0 R (HD.4553) 5244 0 R (HD.4554) 5245 0 R (HD.4555) 5246 0 R (HD.4556) 5247 0 R (HD.4557) 5248 0 R (HD.4558) 5249 0 R (HD.4559) 5250 0 R (HD.456) 720 0 R (HD.4560) 5251 0 R (HD.4561) 5252 0 R (HD.4562) 5253 0 R (HD.4563) 5254 0 R (HD.4564) 5255 0 R (HD.4565) 5256 0 R (HD.4566) 5257 0 R (HD.4567) 5258 0 R (HD.4568) 5259 0 R (HD.4569) 5260 0 R (HD.457) 721 0 R (HD.4570) 5261 0 R (HD.4571) 5262 0 R (HD.4572) 5267 0 R (HD.4573) 5268 0 R (HD.4574) 5269 0 R (HD.4575) 5270 0 R (HD.4576) 5271 0 R (HD.4577) 5272 0 R (HD.4578) 5273 0 R (HD.4579) 5274 0 R ] /Limits [ (HD.4550) (HD.4579) ] >>
+<< /Names [ (HD.3603) 4205 0 R (HD.3604) 4206 0 R (HD.3605) 4207 0 R (HD.3606) 4208 0 R (HD.3607) 4209 0 R (HD.3608) 4210 0 R (HD.3609) 4211 0 R (HD.361) 601 0 R (HD.3610) 4212 0 R (HD.3611) 4213 0 R (HD.3612) 4214 0 R (HD.3613) 4215 0 R (HD.3614) 4216 0 R (HD.3615) 4217 0 R (HD.3616) 4218 0 R (HD.3617) 4219 0 R (HD.3618) 4220 0 R (HD.3619) 4221 0 R (HD.362) 602 0 R (HD.3620) 4222 0 R (HD.3621) 4223 0 R (HD.3622) 4224 0 R (HD.3623) 4225 0 R (HD.3624) 4226 0 R (HD.3625) 4227 0 R (HD.3626) 4228 0 R (HD.3627) 4229 0 R (HD.3628) 4230 0 R (HD.3629) 4231 0 R (HD.363) 608 0 R (HD.3630) 4232 0 R (HD.3631) 4233 0 R ] /Limits [ (HD.3603) (HD.3631) ] >>
endobj
11840 0 obj
-<< /Names [ (HD.458) 722 0 R (HD.4580) 5275 0 R (HD.4581) 5276 0 R (HD.4582) 5277 0 R (HD.4583) 5278 0 R (HD.4584) 5279 0 R (HD.4585) 5280 0 R (HD.4586) 5281 0 R (HD.4587) 5282 0 R (HD.4588) 5283 0 R (HD.4589) 5284 0 R (HD.459) 723 0 R (HD.4590) 5285 0 R (HD.4591) 5286 0 R (HD.4592) 5287 0 R (HD.4593) 5288 0 R (HD.4594) 5289 0 R (HD.4595) 5290 0 R (HD.4596) 5291 0 R (HD.4597) 5292 0 R (HD.4598) 5293 0 R (HD.4599) 5294 0 R (HD.46) 241 0 R (HD.460) 724 0 R (HD.4600) 5295 0 R (HD.4601) 5296 0 R (HD.4602) 5297 0 R (HD.4603) 5298 0 R (HD.4604) 5299 0 R (HD.4605) 5300 0 R (HD.4606) 5301 0 R (HD.4607) 5302 0 R ] /Limits [ (HD.458) (HD.4607) ] >>
+<< /Names [ (HD.3632) 4234 0 R (HD.3633) 4235 0 R (HD.3634) 4236 0 R (HD.3635) 4237 0 R (HD.3636) 4238 0 R (HD.3637) 4239 0 R (HD.3638) 4240 0 R (HD.3639) 4241 0 R (HD.364) 609 0 R (HD.3640) 4242 0 R (HD.3641) 4243 0 R (HD.3642) 4244 0 R (HD.3643) 4245 0 R (HD.3644) 4246 0 R (HD.3645) 4247 0 R (HD.3646) 4248 0 R (HD.3647) 4249 0 R (HD.3648) 4250 0 R (HD.3649) 4251 0 R (HD.365) 610 0 R (HD.3650) 4252 0 R (HD.3651) 4253 0 R (HD.3652) 4258 0 R (HD.3653) 4259 0 R (HD.3654) 4260 0 R (HD.3655) 4261 0 R (HD.3656) 4262 0 R (HD.3657) 4263 0 R (HD.3658) 4264 0 R (HD.3659) 4265 0 R (HD.366) 611 0 R (HD.3660) 4266 0 R ] /Limits [ (HD.3632) (HD.3660) ] >>
endobj
11841 0 obj
-<< /Names [ (HD.4608) 5303 0 R (HD.4609) 5304 0 R (HD.461) 729 0 R (HD.4610) 5305 0 R (HD.4611) 5306 0 R (HD.4612) 5307 0 R (HD.4613) 5308 0 R (HD.4614) 5314 0 R (HD.4615) 5315 0 R (HD.4616) 5316 0 R (HD.4617) 5317 0 R (HD.4618) 5318 0 R (HD.4619) 5319 0 R (HD.462) 730 0 R (HD.4620) 5320 0 R (HD.4621) 5321 0 R (HD.4622) 5322 0 R (HD.4623) 5323 0 R (HD.4624) 5324 0 R (HD.4625) 5325 0 R (HD.4626) 5326 0 R (HD.4627) 5327 0 R (HD.4628) 5328 0 R (HD.4629) 5329 0 R (HD.463) 731 0 R (HD.4630) 5330 0 R (HD.4631) 5331 0 R (HD.4632) 5332 0 R (HD.4633) 5333 0 R (HD.4634) 5334 0 R (HD.4635) 5335 0 R (HD.4636) 5336 0 R ] /Limits [ (HD.4608) (HD.4636) ] >>
+<< /Names [ (HD.3661) 4267 0 R (HD.3662) 4268 0 R (HD.3663) 4269 0 R (HD.3664) 4270 0 R (HD.3665) 4271 0 R (HD.3666) 4272 0 R (HD.3667) 4273 0 R (HD.3668) 4274 0 R (HD.3669) 4275 0 R (HD.367) 612 0 R (HD.3670) 4276 0 R (HD.3671) 4277 0 R (HD.3672) 4278 0 R (HD.3673) 4279 0 R (HD.3674) 4280 0 R (HD.3675) 4281 0 R (HD.3676) 4282 0 R (HD.3677) 4283 0 R (HD.3678) 4284 0 R (HD.3679) 4285 0 R (HD.368) 613 0 R (HD.3680) 4286 0 R (HD.3681) 4287 0 R (HD.3682) 4288 0 R (HD.3683) 4289 0 R (HD.3684) 4290 0 R (HD.3685) 4291 0 R (HD.3686) 4292 0 R (HD.3687) 4293 0 R (HD.3688) 4294 0 R (HD.3689) 4295 0 R (HD.369) 614 0 R ] /Limits [ (HD.3661) (HD.369) ] >>
endobj
11842 0 obj
-<< /Names [ (HD.4637) 5337 0 R (HD.4638) 5338 0 R (HD.4639) 5339 0 R (HD.464) 732 0 R (HD.4640) 5340 0 R (HD.4641) 5341 0 R (HD.4642) 5342 0 R (HD.4643) 5343 0 R (HD.4644) 5344 0 R (HD.4645) 5345 0 R (HD.4646) 5346 0 R (HD.4647) 5347 0 R (HD.4648) 5348 0 R (HD.4649) 5349 0 R (HD.465) 733 0 R (HD.4650) 5350 0 R (HD.4651) 5351 0 R (HD.4652) 5352 0 R (HD.4653) 5353 0 R (HD.4654) 5354 0 R (HD.4655) 5359 0 R (HD.4656) 5360 0 R (HD.4657) 5361 0 R (HD.4658) 5362 0 R (HD.4659) 5363 0 R (HD.466) 734 0 R (HD.4660) 5364 0 R (HD.4661) 5365 0 R (HD.4662) 5366 0 R (HD.4663) 5367 0 R (HD.4664) 5368 0 R (HD.4665) 5369 0 R ] /Limits [ (HD.4637) (HD.4665) ] >>
+<< /Names [ (HD.3690) 4296 0 R (HD.3691) 4297 0 R (HD.3692) 4298 0 R (HD.3693) 4304 0 R (HD.3694) 4305 0 R (HD.3695) 4306 0 R (HD.3696) 4307 0 R (HD.3697) 4308 0 R (HD.3698) 4309 0 R (HD.3699) 4310 0 R (HD.37) 232 0 R (HD.370) 615 0 R (HD.3700) 4311 0 R (HD.3701) 4312 0 R (HD.3702) 4313 0 R (HD.3703) 4314 0 R (HD.3704) 4315 0 R (HD.3705) 4316 0 R (HD.3706) 4317 0 R (HD.3707) 4318 0 R (HD.3708) 4319 0 R (HD.3709) 4320 0 R (HD.371) 616 0 R (HD.3710) 4321 0 R (HD.3711) 4322 0 R (HD.3712) 4323 0 R (HD.3713) 4324 0 R (HD.3714) 4325 0 R (HD.3715) 4326 0 R (HD.3716) 4327 0 R (HD.3717) 4328 0 R (HD.3718) 4329 0 R ] /Limits [ (HD.3690) (HD.3718) ] >>
endobj
11843 0 obj
-<< /Names [ (HD.4666) 5370 0 R (HD.4667) 5371 0 R (HD.4668) 5372 0 R (HD.4669) 5373 0 R (HD.467) 735 0 R (HD.4670) 5374 0 R (HD.4671) 5375 0 R (HD.4672) 5376 0 R (HD.4673) 5377 0 R (HD.4674) 5378 0 R (HD.4675) 5379 0 R (HD.4676) 5380 0 R (HD.4677) 5381 0 R (HD.4678) 5382 0 R (HD.4679) 5383 0 R (HD.468) 736 0 R (HD.4680) 5384 0 R (HD.4681) 5385 0 R (HD.4682) 5386 0 R (HD.4683) 5387 0 R (HD.4684) 5388 0 R (HD.4685) 5389 0 R (HD.4686) 5390 0 R (HD.4687) 5391 0 R (HD.4688) 5392 0 R (HD.4689) 5393 0 R (HD.469) 737 0 R (HD.4690) 5394 0 R (HD.4691) 5395 0 R (HD.4692) 5396 0 R (HD.4693) 5397 0 R (HD.4694) 5398 0 R ] /Limits [ (HD.4666) (HD.4694) ] >>
+<< /Names [ (HD.3719) 4330 0 R (HD.372) 617 0 R (HD.3720) 4331 0 R (HD.3721) 4332 0 R (HD.3722) 4333 0 R (HD.3723) 4334 0 R (HD.3724) 4335 0 R (HD.3725) 4336 0 R (HD.3726) 4337 0 R (HD.3727) 4338 0 R (HD.3728) 4339 0 R (HD.3729) 4340 0 R (HD.373) 618 0 R (HD.3730) 4341 0 R (HD.3731) 4342 0 R (HD.3732) 4343 0 R (HD.3733) 4344 0 R (HD.3734) 4345 0 R (HD.3735) 4346 0 R (HD.3736) 4347 0 R (HD.3737) 4348 0 R (HD.3738) 4349 0 R (HD.3739) 4350 0 R (HD.374) 619 0 R (HD.3740) 4351 0 R (HD.3741) 4352 0 R (HD.3742) 4353 0 R (HD.3743) 4354 0 R (HD.3744) 4355 0 R (HD.3745) 4356 0 R (HD.3746) 4357 0 R (HD.3747) 4358 0 R ] /Limits [ (HD.3719) (HD.3747) ] >>
endobj
11844 0 obj
-<< /Names [ (HD.4695) 5399 0 R (HD.4696) 5400 0 R (HD.4697) 5401 0 R (HD.4698) 5406 0 R (HD.4699) 5407 0 R (HD.47) 242 0 R (HD.470) 738 0 R (HD.4700) 5408 0 R (HD.4701) 5409 0 R (HD.4702) 5410 0 R (HD.4703) 5411 0 R (HD.4704) 5412 0 R (HD.4705) 5413 0 R (HD.4706) 5414 0 R (HD.4707) 5415 0 R (HD.4708) 5416 0 R (HD.4709) 5417 0 R (HD.471) 739 0 R (HD.4710) 5418 0 R (HD.4711) 5419 0 R (HD.4712) 5420 0 R (HD.4713) 5421 0 R (HD.4714) 5422 0 R (HD.4715) 5423 0 R (HD.4716) 5424 0 R (HD.4717) 5425 0 R (HD.4718) 5426 0 R (HD.4719) 5427 0 R (HD.472) 740 0 R (HD.4720) 5428 0 R (HD.4721) 5429 0 R (HD.4722) 5430 0 R ] /Limits [ (HD.4695) (HD.4722) ] >>
+<< /Names [ (HD.3748) 4363 0 R (HD.3749) 4364 0 R (HD.375) 620 0 R (HD.3750) 4365 0 R (HD.3751) 4366 0 R (HD.3752) 4367 0 R (HD.3753) 4368 0 R (HD.3754) 4369 0 R (HD.3755) 4370 0 R (HD.3756) 4371 0 R (HD.3757) 4372 0 R (HD.3758) 4373 0 R (HD.3759) 4374 0 R (HD.376) 621 0 R (HD.3760) 4375 0 R (HD.3761) 4376 0 R (HD.3762) 4377 0 R (HD.3763) 4378 0 R (HD.3764) 4379 0 R (HD.3765) 4380 0 R (HD.3766) 4381 0 R (HD.3767) 4382 0 R (HD.3768) 4383 0 R (HD.3769) 4384 0 R (HD.377) 622 0 R (HD.3770) 4385 0 R (HD.3771) 4386 0 R (HD.3772) 4387 0 R (HD.3773) 4388 0 R (HD.3774) 4389 0 R (HD.3775) 4390 0 R (HD.3776) 4391 0 R ] /Limits [ (HD.3748) (HD.3776) ] >>
endobj
11845 0 obj
-<< /Names [ (HD.4723) 5431 0 R (HD.4724) 5432 0 R (HD.4725) 5433 0 R (HD.4726) 5434 0 R (HD.4727) 5435 0 R (HD.4728) 5436 0 R (HD.4729) 5437 0 R (HD.473) 741 0 R (HD.4730) 5438 0 R (HD.4731) 5439 0 R (HD.4732) 5440 0 R (HD.4733) 5445 0 R (HD.4734) 5446 0 R (HD.4735) 5447 0 R (HD.4736) 5448 0 R (HD.4737) 5449 0 R (HD.4738) 5450 0 R (HD.4739) 5451 0 R (HD.474) 742 0 R (HD.4740) 5452 0 R (HD.4741) 5453 0 R (HD.4742) 5454 0 R (HD.4743) 5455 0 R (HD.4744) 5456 0 R (HD.4745) 5457 0 R (HD.4746) 5458 0 R (HD.4747) 5459 0 R (HD.4748) 5460 0 R (HD.4749) 5461 0 R (HD.475) 743 0 R (HD.4750) 5462 0 R (HD.4751) 5463 0 R ] /Limits [ (HD.4723) (HD.4751) ] >>
+<< /Names [ (HD.3777) 4392 0 R (HD.3778) 4393 0 R (HD.3779) 4394 0 R (HD.378) 623 0 R (HD.3780) 4395 0 R (HD.3781) 4396 0 R (HD.3782) 4397 0 R (HD.3783) 4398 0 R (HD.3784) 4399 0 R (HD.3785) 4400 0 R (HD.3786) 4401 0 R (HD.3787) 4402 0 R (HD.3788) 4403 0 R (HD.3789) 4404 0 R (HD.379) 624 0 R (HD.3790) 4405 0 R (HD.3791) 4406 0 R (HD.3792) 4407 0 R (HD.3793) 4408 0 R (HD.3794) 4409 0 R (HD.3795) 4410 0 R (HD.3796) 4411 0 R (HD.3797) 4412 0 R (HD.3798) 4413 0 R (HD.3799) 4414 0 R (HD.38) 233 0 R (HD.380) 625 0 R (HD.3800) 4415 0 R (HD.3801) 4416 0 R (HD.3802) 4421 0 R (HD.3803) 4422 0 R (HD.3804) 4423 0 R ] /Limits [ (HD.3777) (HD.3804) ] >>
endobj
11846 0 obj
-<< /Names [ (HD.4752) 5464 0 R (HD.4753) 5465 0 R (HD.4754) 5466 0 R (HD.4755) 5467 0 R (HD.4756) 5468 0 R (HD.4757) 5469 0 R (HD.4758) 5470 0 R (HD.4759) 5471 0 R (HD.476) 744 0 R (HD.4760) 5472 0 R (HD.4761) 5473 0 R (HD.4762) 5474 0 R (HD.4763) 5475 0 R (HD.4764) 5476 0 R (HD.4765) 5477 0 R (HD.4766) 5478 0 R (HD.4767) 5479 0 R (HD.4768) 5480 0 R (HD.4769) 5481 0 R (HD.477) 745 0 R (HD.4770) 5482 0 R (HD.4771) 5483 0 R (HD.4772) 5484 0 R (HD.4773) 5485 0 R (HD.4774) 5486 0 R (HD.4775) 5487 0 R (HD.4776) 5488 0 R (HD.4777) 5489 0 R (HD.4778) 5490 0 R (HD.4779) 5491 0 R (HD.478) 746 0 R (HD.4780) 5496 0 R ] /Limits [ (HD.4752) (HD.4780) ] >>
+<< /Names [ (HD.3805) 4424 0 R (HD.3806) 4425 0 R (HD.3807) 4426 0 R (HD.3808) 4427 0 R (HD.3809) 4428 0 R (HD.381) 626 0 R (HD.3810) 4429 0 R (HD.3811) 4430 0 R (HD.3812) 4431 0 R (HD.3813) 4432 0 R (HD.3814) 4433 0 R (HD.3815) 4434 0 R (HD.3816) 4435 0 R (HD.3817) 4436 0 R (HD.3818) 4437 0 R (HD.3819) 4438 0 R (HD.382) 627 0 R (HD.3820) 4439 0 R (HD.3821) 4440 0 R (HD.3822) 4441 0 R (HD.3823) 4442 0 R (HD.3824) 4443 0 R (HD.3825) 4444 0 R (HD.3826) 4445 0 R (HD.3827) 4446 0 R (HD.3828) 4447 0 R (HD.3829) 4448 0 R (HD.383) 628 0 R (HD.3830) 4449 0 R (HD.3831) 4450 0 R (HD.3832) 4451 0 R (HD.3833) 4452 0 R ] /Limits [ (HD.3805) (HD.3833) ] >>
endobj
11847 0 obj
-<< /Names [ (HD.4781) 5497 0 R (HD.4782) 5498 0 R (HD.4783) 5499 0 R (HD.4784) 5500 0 R (HD.4785) 5501 0 R (HD.4786) 5502 0 R (HD.4787) 5503 0 R (HD.4788) 5504 0 R (HD.4789) 5505 0 R (HD.479) 747 0 R (HD.4790) 5506 0 R (HD.4791) 5507 0 R (HD.4792) 5508 0 R (HD.4793) 5509 0 R (HD.4794) 5510 0 R (HD.4795) 5511 0 R (HD.4796) 5512 0 R (HD.4797) 5513 0 R (HD.4798) 5514 0 R (HD.4799) 5515 0 R (HD.48) 243 0 R (HD.480) 748 0 R (HD.4800) 5516 0 R (HD.4801) 5517 0 R (HD.4802) 5518 0 R (HD.4803) 5519 0 R (HD.4804) 5520 0 R (HD.4805) 5521 0 R (HD.4806) 5522 0 R (HD.4807) 5523 0 R (HD.4808) 5524 0 R (HD.4809) 5525 0 R ] /Limits [ (HD.4781) (HD.4809) ] >>
+<< /Names [ (HD.3834) 4453 0 R (HD.3835) 4454 0 R (HD.3836) 4455 0 R (HD.3837) 4456 0 R (HD.3838) 4457 0 R (HD.3839) 4458 0 R (HD.384) 629 0 R (HD.3840) 4459 0 R (HD.3841) 4460 0 R (HD.3842) 4461 0 R (HD.3843) 4462 0 R (HD.3844) 4463 0 R (HD.3845) 4464 0 R (HD.3846) 4465 0 R (HD.3847) 4470 0 R (HD.3848) 4471 0 R (HD.3849) 4472 0 R (HD.385) 630 0 R (HD.3850) 4473 0 R (HD.3851) 4474 0 R (HD.3852) 4475 0 R (HD.3853) 4476 0 R (HD.3854) 4477 0 R (HD.3855) 4478 0 R (HD.3856) 4479 0 R (HD.3857) 4480 0 R (HD.3858) 4481 0 R (HD.3859) 4482 0 R (HD.386) 635 0 R (HD.3860) 4483 0 R (HD.3861) 4484 0 R (HD.3862) 4485 0 R ] /Limits [ (HD.3834) (HD.3862) ] >>
endobj
11848 0 obj
-<< /Names [ (HD.481) 750 0 R (HD.4810) 5526 0 R (HD.4811) 5527 0 R (HD.4812) 5528 0 R (HD.4813) 5529 0 R (HD.4814) 5530 0 R (HD.4815) 5531 0 R (HD.4816) 5532 0 R (HD.4817) 5533 0 R (HD.4818) 5534 0 R (HD.4819) 5535 0 R (HD.482) 751 0 R (HD.4820) 5536 0 R (HD.4821) 5537 0 R (HD.4822) 5538 0 R (HD.4823) 5539 0 R (HD.4824) 5540 0 R (HD.4825) 5541 0 R (HD.4826) 5542 0 R (HD.4827) 5543 0 R (HD.4828) 5544 0 R (HD.4829) 5545 0 R (HD.483) 757 0 R (HD.4830) 5546 0 R (HD.4831) 5547 0 R (HD.4832) 5552 0 R (HD.4833) 5553 0 R (HD.4834) 5554 0 R (HD.4835) 5555 0 R (HD.4836) 5556 0 R (HD.4837) 5557 0 R (HD.4838) 5558 0 R ] /Limits [ (HD.481) (HD.4838) ] >>
+<< /Names [ (HD.3863) 4486 0 R (HD.3864) 4487 0 R (HD.3865) 4488 0 R (HD.3866) 4489 0 R (HD.3867) 4490 0 R (HD.3868) 4491 0 R (HD.3869) 4492 0 R (HD.387) 636 0 R (HD.3870) 4493 0 R (HD.3871) 4494 0 R (HD.3872) 4495 0 R (HD.3873) 4496 0 R (HD.3874) 4497 0 R (HD.3875) 4498 0 R (HD.3876) 4499 0 R (HD.3877) 4500 0 R (HD.3878) 4501 0 R (HD.3879) 4502 0 R (HD.388) 637 0 R (HD.3880) 4503 0 R (HD.3881) 4504 0 R (HD.3882) 4505 0 R (HD.3883) 4506 0 R (HD.3884) 4507 0 R (HD.3885) 4508 0 R (HD.3886) 4509 0 R (HD.3887) 4510 0 R (HD.3888) 4511 0 R (HD.3889) 4512 0 R (HD.389) 638 0 R (HD.3890) 4518 0 R (HD.3891) 4519 0 R ] /Limits [ (HD.3863) (HD.3891) ] >>
endobj
11849 0 obj
-<< /Names [ (HD.4839) 5559 0 R (HD.484) 758 0 R (HD.4840) 5560 0 R (HD.4841) 5561 0 R (HD.4842) 5562 0 R (HD.4843) 5563 0 R (HD.4844) 5564 0 R (HD.4845) 5565 0 R (HD.4846) 5566 0 R (HD.4847) 5567 0 R (HD.4848) 5568 0 R (HD.4849) 5569 0 R (HD.485) 759 0 R (HD.4850) 5570 0 R (HD.4851) 5571 0 R (HD.4852) 5572 0 R (HD.4853) 5573 0 R (HD.4854) 5574 0 R (HD.4855) 5575 0 R (HD.4856) 5576 0 R (HD.4857) 5577 0 R (HD.4858) 5578 0 R (HD.4859) 5579 0 R (HD.486) 760 0 R (HD.4860) 5580 0 R (HD.4861) 5581 0 R (HD.4862) 5582 0 R (HD.4863) 5583 0 R (HD.4864) 5584 0 R (HD.4865) 5585 0 R (HD.4866) 5586 0 R (HD.4867) 5587 0 R ] /Limits [ (HD.4839) (HD.4867) ] >>
+<< /Names [ (HD.3892) 4520 0 R (HD.3893) 4521 0 R (HD.3894) 4522 0 R (HD.3895) 4523 0 R (HD.3896) 4524 0 R (HD.3897) 4525 0 R (HD.3898) 4526 0 R (HD.3899) 4527 0 R (HD.39) 234 0 R (HD.390) 639 0 R (HD.3900) 4528 0 R (HD.3901) 4529 0 R (HD.3902) 4530 0 R (HD.3903) 4531 0 R (HD.3904) 4532 0 R (HD.3905) 4533 0 R (HD.3906) 4534 0 R (HD.3907) 4535 0 R (HD.3908) 4536 0 R (HD.3909) 4537 0 R (HD.391) 640 0 R (HD.3910) 4538 0 R (HD.3911) 4539 0 R (HD.3912) 4540 0 R (HD.3913) 4541 0 R (HD.3914) 4542 0 R (HD.3915) 4543 0 R (HD.3916) 4544 0 R (HD.3917) 4546 0 R (HD.3918) 4547 0 R (HD.3919) 4548 0 R (HD.392) 641 0 R ] /Limits [ (HD.3892) (HD.392) ] >>
endobj
11850 0 obj
-<< /Names [ (HD.4868) 5588 0 R (HD.4869) 5589 0 R (HD.487) 761 0 R (HD.4870) 5590 0 R (HD.4871) 5591 0 R (HD.4872) 5592 0 R (HD.4873) 5593 0 R (HD.4874) 5594 0 R (HD.4875) 5595 0 R (HD.4876) 5596 0 R (HD.4877) 5597 0 R (HD.4878) 5598 0 R (HD.4879) 5599 0 R (HD.488) 762 0 R (HD.4880) 5600 0 R (HD.4881) 5601 0 R (HD.4882) 5602 0 R (HD.4883) 5603 0 R (HD.4884) 5604 0 R (HD.4885) 5605 0 R (HD.4886) 5610 0 R (HD.4887) 5611 0 R (HD.4888) 5612 0 R (HD.4889) 5613 0 R (HD.489) 763 0 R (HD.4890) 5614 0 R (HD.4891) 5615 0 R (HD.4892) 5616 0 R (HD.4893) 5617 0 R (HD.4894) 5618 0 R (HD.4895) 5619 0 R (HD.4896) 5620 0 R ] /Limits [ (HD.4868) (HD.4896) ] >>
+<< /Names [ (HD.3920) 4549 0 R (HD.3921) 4550 0 R (HD.3922) 4551 0 R (HD.3923) 4552 0 R (HD.3924) 4553 0 R (HD.3925) 4554 0 R (HD.3926) 4555 0 R (HD.3927) 4556 0 R (HD.3928) 4557 0 R (HD.3929) 4558 0 R (HD.393) 642 0 R (HD.3930) 4559 0 R (HD.3931) 4560 0 R (HD.3932) 4561 0 R (HD.3933) 4562 0 R (HD.3934) 4563 0 R (HD.3935) 4570 0 R (HD.3936) 4571 0 R (HD.3937) 4572 0 R (HD.3938) 4573 0 R (HD.3939) 4574 0 R (HD.394) 643 0 R (HD.3940) 4575 0 R (HD.3941) 4576 0 R (HD.3942) 4577 0 R (HD.3943) 4578 0 R (HD.3944) 4579 0 R (HD.3945) 4580 0 R (HD.3946) 4581 0 R (HD.3947) 4582 0 R (HD.3948) 4583 0 R (HD.3949) 4584 0 R ] /Limits [ (HD.3920) (HD.3949) ] >>
endobj
11851 0 obj
-<< /Names [ (HD.4897) 5621 0 R (HD.4898) 5622 0 R (HD.4899) 5623 0 R (HD.49) 244 0 R (HD.490) 764 0 R (HD.4900) 5624 0 R (HD.4901) 5625 0 R (HD.4902) 5626 0 R (HD.4903) 5627 0 R (HD.4904) 5628 0 R (HD.4905) 5629 0 R (HD.4906) 5630 0 R (HD.4907) 5631 0 R (HD.4908) 5632 0 R (HD.4909) 5633 0 R (HD.491) 765 0 R (HD.4910) 5634 0 R (HD.4911) 5635 0 R (HD.4912) 5636 0 R (HD.4913) 5637 0 R (HD.4914) 5638 0 R (HD.4915) 5639 0 R (HD.4916) 5640 0 R (HD.4917) 5641 0 R (HD.4918) 5642 0 R (HD.4919) 5643 0 R (HD.492) 766 0 R (HD.4920) 5644 0 R (HD.4921) 5645 0 R (HD.4922) 5646 0 R (HD.4923) 5647 0 R (HD.4924) 5648 0 R ] /Limits [ (HD.4897) (HD.4924) ] >>
+<< /Names [ (HD.395) 644 0 R (HD.3950) 4585 0 R (HD.3951) 4586 0 R (HD.3952) 4587 0 R (HD.3953) 4588 0 R (HD.3954) 4589 0 R (HD.3955) 4590 0 R (HD.3956) 4591 0 R (HD.3957) 4592 0 R (HD.3958) 4593 0 R (HD.3959) 4594 0 R (HD.396) 645 0 R (HD.3960) 4595 0 R (HD.3961) 4596 0 R (HD.3962) 4597 0 R (HD.3963) 4598 0 R (HD.3964) 4599 0 R (HD.3965) 4600 0 R (HD.3966) 4601 0 R (HD.3967) 4602 0 R (HD.3968) 4603 0 R (HD.3969) 4604 0 R (HD.397) 646 0 R (HD.3970) 4610 0 R (HD.3971) 4611 0 R (HD.3972) 4612 0 R (HD.3973) 4613 0 R (HD.3974) 4614 0 R (HD.3975) 4615 0 R (HD.3976) 4616 0 R (HD.3977) 4617 0 R (HD.3978) 4618 0 R ] /Limits [ (HD.395) (HD.3978) ] >>
endobj
11852 0 obj
-<< /Names [ (HD.4925) 5649 0 R (HD.4926) 5650 0 R (HD.4927) 5651 0 R (HD.4928) 5652 0 R (HD.4929) 5653 0 R (HD.493) 776 0 R (HD.4930) 5654 0 R (HD.4931) 5655 0 R (HD.4932) 5656 0 R (HD.4933) 5657 0 R (HD.4934) 5658 0 R (HD.4935) 5659 0 R (HD.4936) 5660 0 R (HD.4937) 5661 0 R (HD.4938) 5662 0 R (HD.4939) 5663 0 R (HD.494) 777 0 R (HD.4940) 5664 0 R (HD.4941) 5665 0 R (HD.4942) 5666 0 R (HD.4943) 5667 0 R (HD.4944) 5668 0 R (HD.4945) 5669 0 R (HD.4946) 5670 0 R (HD.4947) 5671 0 R (HD.4948) 5676 0 R (HD.4949) 5677 0 R (HD.495) 778 0 R (HD.4950) 5678 0 R (HD.4951) 5679 0 R (HD.4952) 5680 0 R (HD.4953) 5681 0 R ] /Limits [ (HD.4925) (HD.4953) ] >>
+<< /Names [ (HD.3979) 4619 0 R (HD.398) 647 0 R (HD.3980) 4620 0 R (HD.3981) 4621 0 R (HD.3982) 4622 0 R (HD.3983) 4623 0 R (HD.3984) 4624 0 R (HD.3985) 4625 0 R (HD.3986) 4626 0 R (HD.3987) 4627 0 R (HD.3988) 4628 0 R (HD.3989) 4629 0 R (HD.399) 648 0 R (HD.3990) 4630 0 R (HD.3991) 4631 0 R (HD.3992) 4632 0 R (HD.3993) 4633 0 R (HD.3994) 4634 0 R (HD.3995) 4635 0 R (HD.3996) 4636 0 R (HD.3997) 4637 0 R (HD.3998) 4638 0 R (HD.3999) 4639 0 R (HD.4) 192 0 R (HD.40) 235 0 R (HD.400) 649 0 R (HD.4000) 4640 0 R (HD.4001) 4641 0 R (HD.4002) 4648 0 R (HD.4003) 4649 0 R (HD.4004) 4650 0 R (HD.4005) 4651 0 R ] /Limits [ (HD.3979) (HD.4005) ] >>
endobj
11853 0 obj
-<< /Names [ (HD.4954) 5682 0 R (HD.4955) 5683 0 R (HD.4956) 5684 0 R (HD.4957) 5685 0 R (HD.4958) 5686 0 R (HD.4959) 5687 0 R (HD.496) 779 0 R (HD.4960) 5688 0 R (HD.4961) 5689 0 R (HD.4962) 5690 0 R (HD.4963) 5691 0 R (HD.4964) 5692 0 R (HD.4965) 5693 0 R (HD.4966) 5694 0 R (HD.4967) 5695 0 R (HD.4968) 5696 0 R (HD.4969) 5697 0 R (HD.497) 780 0 R (HD.4970) 5698 0 R (HD.4971) 5699 0 R (HD.4972) 5700 0 R (HD.4973) 5701 0 R (HD.4974) 5702 0 R (HD.4975) 5703 0 R (HD.4976) 5704 0 R (HD.4977) 5705 0 R (HD.4978) 5706 0 R (HD.4979) 5707 0 R (HD.498) 781 0 R (HD.4980) 5708 0 R (HD.4981) 5709 0 R (HD.4982) 5710 0 R ] /Limits [ (HD.4954) (HD.4982) ] >>
+<< /Names [ (HD.4006) 4652 0 R (HD.4007) 4653 0 R (HD.4008) 4654 0 R (HD.4009) 4655 0 R (HD.401) 650 0 R (HD.4010) 4656 0 R (HD.4011) 4657 0 R (HD.4012) 4658 0 R (HD.4013) 4659 0 R (HD.4014) 4660 0 R (HD.4015) 4661 0 R (HD.4016) 4662 0 R (HD.4017) 4663 0 R (HD.4018) 4664 0 R (HD.4019) 4665 0 R (HD.402) 651 0 R (HD.4020) 4666 0 R (HD.4021) 4667 0 R (HD.4022) 4668 0 R (HD.4023) 4669 0 R (HD.4024) 4670 0 R (HD.4025) 4671 0 R (HD.4026) 4672 0 R (HD.4027) 4673 0 R (HD.4028) 4674 0 R (HD.4029) 4675 0 R (HD.403) 652 0 R (HD.4030) 4676 0 R (HD.4031) 4677 0 R (HD.4032) 4678 0 R (HD.4033) 4679 0 R (HD.4034) 4680 0 R ] /Limits [ (HD.4006) (HD.4034) ] >>
endobj
11854 0 obj
-<< /Names [ (HD.4983) 5711 0 R (HD.4984) 5712 0 R (HD.4985) 5713 0 R (HD.4986) 5714 0 R (HD.4987) 5715 0 R (HD.4988) 5716 0 R (HD.4989) 5717 0 R (HD.499) 782 0 R (HD.4990) 5718 0 R (HD.4991) 5719 0 R (HD.4992) 5720 0 R (HD.4993) 5725 0 R (HD.4994) 5726 0 R (HD.4995) 5727 0 R (HD.4996) 5728 0 R (HD.4997) 5729 0 R (HD.4998) 5730 0 R (HD.4999) 5731 0 R (HD.5) 193 0 R (HD.50) 245 0 R (HD.500) 783 0 R (HD.5000) 5732 0 R (HD.5001) 5733 0 R (HD.5002) 5734 0 R (HD.5003) 5735 0 R (HD.5004) 5736 0 R (HD.5005) 5737 0 R (HD.5006) 5738 0 R (HD.5007) 5739 0 R (HD.5008) 5740 0 R (HD.5009) 5741 0 R (HD.501) 784 0 R ] /Limits [ (HD.4983) (HD.501) ] >>
+<< /Names [ (HD.4035) 4681 0 R (HD.4036) 4682 0 R (HD.4037) 4683 0 R (HD.4038) 4684 0 R (HD.4039) 4685 0 R (HD.404) 653 0 R (HD.4040) 4686 0 R (HD.4041) 4687 0 R (HD.4042) 4688 0 R (HD.4043) 4689 0 R (HD.4044) 4690 0 R (HD.4045) 4691 0 R (HD.4046) 4692 0 R (HD.4047) 4693 0 R (HD.4048) 4694 0 R (HD.4049) 4695 0 R (HD.405) 654 0 R (HD.4050) 4696 0 R (HD.4051) 4701 0 R (HD.4052) 4702 0 R (HD.4053) 4703 0 R (HD.4054) 4704 0 R (HD.4055) 4705 0 R (HD.4056) 4706 0 R (HD.4057) 4707 0 R (HD.4058) 4708 0 R (HD.4059) 4709 0 R (HD.406) 659 0 R (HD.4060) 4710 0 R (HD.4061) 4711 0 R (HD.4062) 4712 0 R (HD.4063) 4713 0 R ] /Limits [ (HD.4035) (HD.4063) ] >>
endobj
11855 0 obj
-<< /Names [ (HD.5010) 5742 0 R (HD.5011) 5743 0 R (HD.5012) 5744 0 R (HD.5013) 5745 0 R (HD.5014) 5746 0 R (HD.5015) 5747 0 R (HD.5016) 5748 0 R (HD.5017) 5749 0 R (HD.5018) 5750 0 R (HD.5019) 5751 0 R (HD.502) 785 0 R (HD.5020) 5752 0 R (HD.5021) 5753 0 R (HD.5022) 5754 0 R (HD.5023) 5755 0 R (HD.5024) 5756 0 R (HD.5025) 5757 0 R (HD.5026) 5758 0 R (HD.5027) 5759 0 R (HD.5028) 5760 0 R (HD.5029) 5761 0 R (HD.503) 786 0 R (HD.5030) 5762 0 R (HD.5031) 5763 0 R (HD.5032) 5764 0 R (HD.5033) 5765 0 R (HD.5034) 5766 0 R (HD.5035) 5767 0 R (HD.5036) 5768 0 R (HD.5037) 5769 0 R (HD.5038) 5770 0 R (HD.5039) 5771 0 R ] /Limits [ (HD.5010) (HD.5039) ] >>
+<< /Names [ (HD.4064) 4714 0 R (HD.4065) 4715 0 R (HD.4066) 4716 0 R (HD.4067) 4717 0 R (HD.4068) 4718 0 R (HD.4069) 4719 0 R (HD.407) 661 0 R (HD.4070) 4720 0 R (HD.4071) 4721 0 R (HD.4072) 4722 0 R (HD.4073) 4723 0 R (HD.4074) 4724 0 R (HD.4075) 4725 0 R (HD.4076) 4726 0 R (HD.4077) 4727 0 R (HD.4078) 4728 0 R (HD.4079) 4729 0 R (HD.408) 663 0 R (HD.4080) 4730 0 R (HD.4081) 4731 0 R (HD.4082) 4732 0 R (HD.4083) 4733 0 R (HD.4084) 4734 0 R (HD.4085) 4735 0 R (HD.4086) 4736 0 R (HD.4087) 4737 0 R (HD.4088) 4738 0 R (HD.4089) 4739 0 R (HD.409) 664 0 R (HD.4090) 4740 0 R (HD.4091) 4741 0 R (HD.4092) 4742 0 R ] /Limits [ (HD.4064) (HD.4092) ] >>
endobj
11856 0 obj
-<< /Names [ (HD.504) 787 0 R (HD.5040) 5772 0 R (HD.5041) 5773 0 R (HD.5042) 5774 0 R (HD.5043) 5775 0 R (HD.5044) 5776 0 R (HD.5045) 5777 0 R (HD.5046) 5778 0 R (HD.5047) 5779 0 R (HD.5048) 5780 0 R (HD.5049) 5781 0 R (HD.505) 788 0 R (HD.5050) 5782 0 R (HD.5051) 5783 0 R (HD.5052) 5784 0 R (HD.5053) 5789 0 R (HD.5054) 5790 0 R (HD.5055) 5791 0 R (HD.5056) 5792 0 R (HD.5057) 5793 0 R (HD.5058) 5794 0 R (HD.5059) 5795 0 R (HD.506) 789 0 R (HD.5060) 5796 0 R (HD.5061) 5797 0 R (HD.5062) 5798 0 R (HD.5063) 5799 0 R (HD.5064) 5800 0 R (HD.5065) 5801 0 R (HD.5066) 5802 0 R (HD.5067) 5803 0 R (HD.5068) 5804 0 R ] /Limits [ (HD.504) (HD.5068) ] >>
+<< /Names [ (HD.4093) 4743 0 R (HD.4094) 4744 0 R (HD.4095) 4745 0 R (HD.4096) 4746 0 R (HD.4097) 4747 0 R (HD.4098) 4748 0 R (HD.4099) 4749 0 R (HD.41) 236 0 R (HD.410) 665 0 R (HD.4100) 4750 0 R (HD.4101) 4751 0 R (HD.4102) 4752 0 R (HD.4103) 4753 0 R (HD.4104) 4754 0 R (HD.4105) 4759 0 R (HD.4106) 4760 0 R (HD.4107) 4761 0 R (HD.4108) 4762 0 R (HD.4109) 4763 0 R (HD.411) 666 0 R (HD.4110) 4764 0 R (HD.4111) 4765 0 R (HD.4112) 4766 0 R (HD.4113) 4767 0 R (HD.4114) 4768 0 R (HD.4115) 4769 0 R (HD.4116) 4770 0 R (HD.4117) 4771 0 R (HD.4118) 4772 0 R (HD.4119) 4773 0 R (HD.412) 667 0 R (HD.4120) 4774 0 R ] /Limits [ (HD.4093) (HD.4120) ] >>
endobj
11857 0 obj
-<< /Names [ (HD.5069) 5805 0 R (HD.507) 790 0 R (HD.5070) 5806 0 R (HD.5071) 5807 0 R (HD.5072) 5808 0 R (HD.5073) 5809 0 R (HD.5074) 5810 0 R (HD.5075) 5811 0 R (HD.5076) 5812 0 R (HD.5077) 5813 0 R (HD.5078) 5814 0 R (HD.5079) 5815 0 R (HD.508) 791 0 R (HD.5080) 5816 0 R (HD.5081) 5817 0 R (HD.5082) 5818 0 R (HD.5083) 5819 0 R (HD.5084) 5820 0 R (HD.5085) 5821 0 R (HD.5086) 5822 0 R (HD.5087) 5823 0 R (HD.5088) 5824 0 R (HD.5089) 5825 0 R (HD.509) 792 0 R (HD.5090) 5826 0 R (HD.5091) 5827 0 R (HD.5092) 5828 0 R (HD.5093) 5829 0 R (HD.5094) 5830 0 R (HD.5095) 5831 0 R (HD.5096) 5832 0 R (HD.5097) 5833 0 R ] /Limits [ (HD.5069) (HD.5097) ] >>
+<< /Names [ (HD.4121) 4775 0 R (HD.4122) 4776 0 R (HD.4123) 4777 0 R (HD.4124) 4778 0 R (HD.4125) 4779 0 R (HD.4126) 4780 0 R (HD.4127) 4781 0 R (HD.4128) 4782 0 R (HD.4129) 4788 0 R (HD.413) 669 0 R (HD.4130) 4789 0 R (HD.4131) 4790 0 R (HD.4132) 4791 0 R (HD.4133) 4792 0 R (HD.4134) 4793 0 R (HD.4135) 4794 0 R (HD.4136) 4795 0 R (HD.4137) 4796 0 R (HD.4138) 4797 0 R (HD.4139) 4798 0 R (HD.414) 670 0 R (HD.4140) 4799 0 R (HD.4141) 4800 0 R (HD.4142) 4801 0 R (HD.4143) 4802 0 R (HD.4144) 4803 0 R (HD.4145) 4804 0 R (HD.4146) 4805 0 R (HD.4147) 4806 0 R (HD.4148) 4807 0 R (HD.4149) 4808 0 R (HD.415) 671 0 R ] /Limits [ (HD.4121) (HD.415) ] >>
endobj
11858 0 obj
-<< /Names [ (HD.5098) 5834 0 R (HD.5099) 5840 0 R (HD.51) 246 0 R (HD.510) 793 0 R (HD.5100) 5841 0 R (HD.5101) 5842 0 R (HD.5102) 5843 0 R (HD.5103) 5844 0 R (HD.5104) 5845 0 R (HD.5105) 5846 0 R (HD.5106) 5847 0 R (HD.5107) 5848 0 R (HD.5108) 5849 0 R (HD.5109) 5850 0 R (HD.511) 794 0 R (HD.5110) 5851 0 R (HD.5111) 5852 0 R (HD.5112) 5853 0 R (HD.5113) 5854 0 R (HD.5114) 5855 0 R (HD.5115) 5856 0 R (HD.5116) 5857 0 R (HD.5117) 5858 0 R (HD.5118) 5859 0 R (HD.5119) 5860 0 R (HD.512) 795 0 R (HD.5120) 5861 0 R (HD.5121) 5862 0 R (HD.5122) 5863 0 R (HD.5123) 5864 0 R (HD.5124) 5865 0 R (HD.5125) 5866 0 R ] /Limits [ (HD.5098) (HD.5125) ] >>
+<< /Names [ (HD.4150) 4809 0 R (HD.4151) 4810 0 R (HD.4152) 4811 0 R (HD.4153) 4812 0 R (HD.4154) 4813 0 R (HD.4155) 4814 0 R (HD.4156) 4815 0 R (HD.4157) 4816 0 R (HD.4158) 4817 0 R (HD.4159) 4818 0 R (HD.416) 672 0 R (HD.4160) 4819 0 R (HD.4161) 4820 0 R (HD.4162) 4821 0 R (HD.4163) 4822 0 R (HD.4164) 4823 0 R (HD.4165) 4824 0 R (HD.4166) 4825 0 R (HD.4167) 4826 0 R (HD.4168) 4827 0 R (HD.4169) 4828 0 R (HD.417) 673 0 R (HD.4170) 4829 0 R (HD.4171) 4830 0 R (HD.4172) 4831 0 R (HD.4173) 4832 0 R (HD.4174) 4833 0 R (HD.4175) 4834 0 R (HD.4176) 4835 0 R (HD.4177) 4836 0 R (HD.4178) 4837 0 R (HD.4179) 4838 0 R ] /Limits [ (HD.4150) (HD.4179) ] >>
endobj
11859 0 obj
-<< /Names [ (HD.5126) 5867 0 R (HD.5127) 5868 0 R (HD.5128) 5869 0 R (HD.5129) 5870 0 R (HD.513) 796 0 R (HD.5130) 5871 0 R (HD.5131) 5872 0 R (HD.5132) 5873 0 R (HD.5133) 5874 0 R (HD.5134) 5875 0 R (HD.5135) 5876 0 R (HD.5136) 5877 0 R (HD.5137) 5878 0 R (HD.5138) 5879 0 R (HD.5139) 5880 0 R (HD.514) 797 0 R (HD.5140) 5881 0 R (HD.5141) 5882 0 R (HD.5142) 5883 0 R (HD.5143) 5884 0 R (HD.5144) 5885 0 R (HD.5145) 5886 0 R (HD.5146) 5887 0 R (HD.5147) 5888 0 R (HD.5148) 5889 0 R (HD.5149) 5890 0 R (HD.515) 798 0 R (HD.5150) 5891 0 R (HD.5151) 5892 0 R (HD.5152) 5897 0 R (HD.5153) 5898 0 R (HD.5154) 5899 0 R ] /Limits [ (HD.5126) (HD.5154) ] >>
+<< /Names [ (HD.418) 674 0 R (HD.4180) 4843 0 R (HD.4181) 4844 0 R (HD.4182) 4845 0 R (HD.4183) 4846 0 R (HD.4184) 4847 0 R (HD.4185) 4848 0 R (HD.4186) 4849 0 R (HD.4187) 4850 0 R (HD.4188) 4851 0 R (HD.4189) 4852 0 R (HD.419) 675 0 R (HD.4190) 4853 0 R (HD.4191) 4854 0 R (HD.4192) 4855 0 R (HD.4193) 4856 0 R (HD.4194) 4857 0 R (HD.4195) 4858 0 R (HD.4196) 4859 0 R (HD.4197) 4860 0 R (HD.4198) 4861 0 R (HD.4199) 4862 0 R (HD.42) 237 0 R (HD.420) 676 0 R (HD.4200) 4863 0 R (HD.4201) 4864 0 R (HD.4202) 4865 0 R (HD.4203) 4866 0 R (HD.4204) 4867 0 R (HD.4205) 4868 0 R (HD.4206) 4869 0 R (HD.4207) 4870 0 R ] /Limits [ (HD.418) (HD.4207) ] >>
endobj
11860 0 obj
-<< /Names [ (HD.5155) 5900 0 R (HD.5156) 5901 0 R (HD.5157) 5902 0 R (HD.5158) 5903 0 R (HD.5159) 5904 0 R (HD.516) 799 0 R (HD.5160) 5905 0 R (HD.5161) 5906 0 R (HD.5162) 5907 0 R (HD.5163) 5908 0 R (HD.5164) 5909 0 R (HD.5165) 5910 0 R (HD.5166) 5911 0 R (HD.5167) 5912 0 R (HD.5168) 5913 0 R (HD.5169) 5914 0 R (HD.517) 800 0 R (HD.5170) 5915 0 R (HD.5171) 5916 0 R (HD.5172) 5917 0 R (HD.5173) 5918 0 R (HD.5174) 5919 0 R (HD.5175) 5920 0 R (HD.5176) 5921 0 R (HD.5177) 5922 0 R (HD.5178) 5923 0 R (HD.5179) 5924 0 R (HD.518) 801 0 R (HD.5180) 5925 0 R (HD.5181) 5926 0 R (HD.5182) 5927 0 R (HD.5183) 5928 0 R ] /Limits [ (HD.5155) (HD.5183) ] >>
+<< /Names [ (HD.4208) 4871 0 R (HD.4209) 4872 0 R (HD.421) 677 0 R (HD.4210) 4873 0 R (HD.4211) 4874 0 R (HD.4212) 4875 0 R (HD.4213) 4876 0 R (HD.4214) 4877 0 R (HD.4215) 4878 0 R (HD.4216) 4879 0 R (HD.4217) 4880 0 R (HD.4218) 4881 0 R (HD.4219) 4882 0 R (HD.422) 682 0 R (HD.4220) 4883 0 R (HD.4221) 4884 0 R (HD.4222) 4885 0 R (HD.4223) 4886 0 R (HD.4224) 4887 0 R (HD.4225) 4888 0 R (HD.4226) 4889 0 R (HD.4227) 4890 0 R (HD.4228) 4891 0 R (HD.4229) 4892 0 R (HD.423) 683 0 R (HD.4230) 4893 0 R (HD.4231) 4894 0 R (HD.4232) 4895 0 R (HD.4233) 4896 0 R (HD.4234) 4897 0 R (HD.4235) 4898 0 R (HD.4236) 4899 0 R ] /Limits [ (HD.4208) (HD.4236) ] >>
endobj
11861 0 obj
-<< /Names [ (HD.5184) 5929 0 R (HD.5185) 5930 0 R (HD.5186) 5931 0 R (HD.5187) 5932 0 R (HD.5188) 5933 0 R (HD.5189) 5934 0 R (HD.519) 802 0 R (HD.5190) 5935 0 R (HD.5191) 5936 0 R (HD.5192) 5937 0 R (HD.5193) 5938 0 R (HD.5194) 5939 0 R (HD.5195) 5940 0 R (HD.5196) 5941 0 R (HD.5197) 5942 0 R (HD.5198) 5943 0 R (HD.5199) 5944 0 R (HD.52) 247 0 R (HD.520) 803 0 R (HD.5200) 5945 0 R (HD.5201) 5946 0 R (HD.5202) 5947 0 R (HD.5203) 5948 0 R (HD.5204) 5949 0 R (HD.5205) 5950 0 R (HD.5206) 5951 0 R (HD.5207) 5952 0 R (HD.5208) 5953 0 R (HD.5209) 5958 0 R (HD.521) 804 0 R (HD.5210) 5959 0 R (HD.5211) 5960 0 R ] /Limits [ (HD.5184) (HD.5211) ] >>
+<< /Names [ (HD.4237) 4900 0 R (HD.4238) 4901 0 R (HD.4239) 4902 0 R (HD.424) 684 0 R (HD.4240) 4903 0 R (HD.4241) 4908 0 R (HD.4242) 4909 0 R (HD.4243) 4910 0 R (HD.4244) 4911 0 R (HD.4245) 4912 0 R (HD.4246) 4913 0 R (HD.4247) 4914 0 R (HD.4248) 4915 0 R (HD.4249) 4916 0 R (HD.425) 685 0 R (HD.4250) 4917 0 R (HD.4251) 4918 0 R (HD.4252) 4919 0 R (HD.4253) 4920 0 R (HD.4254) 4921 0 R (HD.4255) 4922 0 R (HD.4256) 4923 0 R (HD.4257) 4924 0 R (HD.4258) 4925 0 R (HD.4259) 4926 0 R (HD.426) 686 0 R (HD.4260) 4927 0 R (HD.4261) 4928 0 R (HD.4262) 4929 0 R (HD.4263) 4930 0 R (HD.4264) 4931 0 R (HD.4265) 4932 0 R ] /Limits [ (HD.4237) (HD.4265) ] >>
endobj
11862 0 obj
-<< /Names [ (HD.5212) 5961 0 R (HD.5213) 5962 0 R (HD.5214) 5963 0 R (HD.5215) 5964 0 R (HD.5216) 5965 0 R (HD.5217) 5966 0 R (HD.5218) 5967 0 R (HD.5219) 5968 0 R (HD.522) 805 0 R (HD.5220) 5969 0 R (HD.5221) 5970 0 R (HD.5222) 5971 0 R (HD.5223) 5972 0 R (HD.5224) 5973 0 R (HD.5225) 5974 0 R (HD.5226) 5975 0 R (HD.5227) 5976 0 R (HD.5228) 5977 0 R (HD.5229) 5978 0 R (HD.523) 812 0 R (HD.5230) 5979 0 R (HD.5231) 5980 0 R (HD.5232) 5981 0 R (HD.5233) 5982 0 R (HD.5234) 5983 0 R (HD.5235) 5984 0 R (HD.5236) 5985 0 R (HD.5237) 5986 0 R (HD.5238) 5987 0 R (HD.5239) 5988 0 R (HD.524) 813 0 R (HD.5240) 5989 0 R ] /Limits [ (HD.5212) (HD.5240) ] >>
+<< /Names [ (HD.4266) 4933 0 R (HD.4267) 4934 0 R (HD.4268) 4935 0 R (HD.4269) 4936 0 R (HD.427) 687 0 R (HD.4270) 4937 0 R (HD.4271) 4938 0 R (HD.4272) 4939 0 R (HD.4273) 4940 0 R (HD.4274) 4941 0 R (HD.4275) 4942 0 R (HD.4276) 4943 0 R (HD.4277) 4944 0 R (HD.4278) 4945 0 R (HD.4279) 4950 0 R (HD.428) 688 0 R (HD.4280) 4951 0 R (HD.4281) 4952 0 R (HD.4282) 4953 0 R (HD.4283) 4954 0 R (HD.4284) 4955 0 R (HD.4285) 4956 0 R (HD.4286) 4957 0 R (HD.4287) 4958 0 R (HD.4288) 4959 0 R (HD.4289) 4960 0 R (HD.429) 689 0 R (HD.4290) 4961 0 R (HD.4291) 4962 0 R (HD.4292) 4963 0 R (HD.4293) 4964 0 R (HD.4294) 4965 0 R ] /Limits [ (HD.4266) (HD.4294) ] >>
endobj
11863 0 obj
-<< /Names [ (HD.5241) 5990 0 R (HD.5242) 5991 0 R (HD.5243) 5992 0 R (HD.5244) 5993 0 R (HD.5245) 5994 0 R (HD.5246) 5995 0 R (HD.5247) 5996 0 R (HD.5248) 5997 0 R (HD.5249) 5998 0 R (HD.525) 814 0 R (HD.5250) 5999 0 R (HD.5251) 6000 0 R (HD.5252) 6001 0 R (HD.5253) 6002 0 R (HD.5254) 6003 0 R (HD.5255) 6004 0 R (HD.5256) 6005 0 R (HD.5257) 6006 0 R (HD.5258) 6007 0 R (HD.5259) 6008 0 R (HD.526) 815 0 R (HD.5260) 6009 0 R (HD.5261) 6010 0 R (HD.5262) 6011 0 R (HD.5263) 6012 0 R (HD.5264) 6013 0 R (HD.5265) 6014 0 R (HD.5266) 6015 0 R (HD.5267) 6021 0 R (HD.5268) 6022 0 R (HD.5269) 6023 0 R (HD.527) 816 0 R ] /Limits [ (HD.5241) (HD.527) ] >>
+<< /Names [ (HD.4295) 4966 0 R (HD.4296) 4967 0 R (HD.4297) 4968 0 R (HD.4298) 4969 0 R (HD.4299) 4970 0 R (HD.43) 238 0 R (HD.430) 690 0 R (HD.4300) 4971 0 R (HD.4301) 4972 0 R (HD.4302) 4973 0 R (HD.4303) 4974 0 R (HD.4304) 4975 0 R (HD.4305) 4976 0 R (HD.4306) 4977 0 R (HD.4307) 4978 0 R (HD.4308) 4979 0 R (HD.4309) 4980 0 R (HD.431) 691 0 R (HD.4310) 4981 0 R (HD.4311) 4982 0 R (HD.4312) 4983 0 R (HD.4313) 4984 0 R (HD.4314) 4985 0 R (HD.4315) 4986 0 R (HD.4316) 4987 0 R (HD.4317) 4988 0 R (HD.4318) 4989 0 R (HD.4319) 4990 0 R (HD.432) 692 0 R (HD.4320) 4991 0 R (HD.4321) 4992 0 R (HD.4322) 4993 0 R ] /Limits [ (HD.4295) (HD.4322) ] >>
endobj
11864 0 obj
-<< /Names [ (HD.5270) 6024 0 R (HD.5271) 6025 0 R (HD.5272) 6026 0 R (HD.5273) 6027 0 R (HD.5274) 6028 0 R (HD.5275) 6029 0 R (HD.5276) 6030 0 R (HD.5277) 6031 0 R (HD.5278) 6032 0 R (HD.5279) 6033 0 R (HD.528) 817 0 R (HD.5280) 6034 0 R (HD.5281) 6035 0 R (HD.5282) 6036 0 R (HD.5283) 6037 0 R (HD.5284) 6038 0 R (HD.5285) 6039 0 R (HD.5286) 6040 0 R (HD.5287) 6041 0 R (HD.5288) 6042 0 R (HD.5289) 6043 0 R (HD.529) 818 0 R (HD.5290) 6044 0 R (HD.5291) 6045 0 R (HD.5292) 6046 0 R (HD.5293) 6047 0 R (HD.5294) 6048 0 R (HD.5295) 6049 0 R (HD.5296) 6050 0 R (HD.5297) 6057 0 R (HD.5298) 6058 0 R (HD.5299) 6059 0 R ] /Limits [ (HD.5270) (HD.5299) ] >>
+<< /Names [ (HD.4323) 4994 0 R (HD.4324) 4995 0 R (HD.4325) 4996 0 R (HD.4326) 4997 0 R (HD.4327) 4998 0 R (HD.4328) 4999 0 R (HD.4329) 5000 0 R (HD.433) 693 0 R (HD.4330) 5001 0 R (HD.4331) 5002 0 R (HD.4332) 5003 0 R (HD.4333) 5004 0 R (HD.4334) 5005 0 R (HD.4335) 5006 0 R (HD.4336) 5007 0 R (HD.4337) 5008 0 R (HD.4338) 5009 0 R (HD.4339) 5010 0 R (HD.434) 694 0 R (HD.4340) 5011 0 R (HD.4341) 5016 0 R (HD.4342) 5017 0 R (HD.4343) 5018 0 R (HD.4344) 5019 0 R (HD.4345) 5020 0 R (HD.4346) 5021 0 R (HD.4347) 5022 0 R (HD.4348) 5023 0 R (HD.4349) 5024 0 R (HD.435) 695 0 R (HD.4350) 5025 0 R (HD.4351) 5026 0 R ] /Limits [ (HD.4323) (HD.4351) ] >>
endobj
11865 0 obj
-<< /Names [ (HD.53) 248 0 R (HD.530) 819 0 R (HD.5300) 6060 0 R (HD.5301) 6061 0 R (HD.5302) 6062 0 R (HD.5303) 6063 0 R (HD.5304) 6064 0 R (HD.5305) 6065 0 R (HD.5306) 6066 0 R (HD.5307) 6067 0 R (HD.5308) 6068 0 R (HD.5309) 6069 0 R (HD.531) 820 0 R (HD.5310) 6070 0 R (HD.5311) 6071 0 R (HD.5312) 6072 0 R (HD.5313) 6073 0 R (HD.5314) 6074 0 R (HD.5315) 6075 0 R (HD.5316) 6076 0 R (HD.5317) 6077 0 R (HD.5318) 6078 0 R (HD.5319) 6079 0 R (HD.532) 821 0 R (HD.5320) 6080 0 R (HD.5321) 6081 0 R (HD.5322) 6082 0 R (HD.5323) 6083 0 R (HD.5324) 6084 0 R (HD.5325) 6085 0 R (HD.5326) 6086 0 R (HD.5327) 6087 0 R ] /Limits [ (HD.53) (HD.5327) ] >>
+<< /Names [ (HD.4352) 5027 0 R (HD.4353) 5028 0 R (HD.4354) 5029 0 R (HD.4355) 5030 0 R (HD.4356) 5031 0 R (HD.4357) 5032 0 R (HD.4358) 5033 0 R (HD.4359) 5034 0 R (HD.436) 696 0 R (HD.4360) 5035 0 R (HD.4361) 5036 0 R (HD.4362) 5037 0 R (HD.4363) 5038 0 R (HD.4364) 5039 0 R (HD.4365) 5040 0 R (HD.4366) 5041 0 R (HD.4367) 5042 0 R (HD.4368) 5043 0 R (HD.4369) 5044 0 R (HD.437) 697 0 R (HD.4370) 5045 0 R (HD.4371) 5046 0 R (HD.4372) 5047 0 R (HD.4373) 5048 0 R (HD.4374) 5049 0 R (HD.4375) 5050 0 R (HD.4376) 5051 0 R (HD.4377) 5052 0 R (HD.4378) 5053 0 R (HD.4379) 5054 0 R (HD.438) 702 0 R (HD.4380) 5055 0 R ] /Limits [ (HD.4352) (HD.4380) ] >>
endobj
11866 0 obj
-<< /Names [ (HD.5328) 6088 0 R (HD.5329) 6089 0 R (HD.533) 822 0 R (HD.5330) 6090 0 R (HD.5331) 6091 0 R (HD.5332) 6092 0 R (HD.5333) 6093 0 R (HD.5334) 6094 0 R (HD.5335) 6095 0 R (HD.5336) 6096 0 R (HD.5337) 6097 0 R (HD.5338) 6098 0 R (HD.5339) 6099 0 R (HD.534) 823 0 R (HD.5340) 6100 0 R (HD.5341) 6101 0 R (HD.5342) 6102 0 R (HD.5343) 6103 0 R (HD.5344) 6104 0 R (HD.5345) 6105 0 R (HD.5346) 6106 0 R (HD.5347) 6111 0 R (HD.5348) 6112 0 R (HD.5349) 6113 0 R (HD.535) 824 0 R (HD.5350) 6114 0 R (HD.5351) 6115 0 R (HD.5352) 6116 0 R (HD.5353) 6117 0 R (HD.5354) 6118 0 R (HD.5355) 6119 0 R (HD.5356) 6120 0 R ] /Limits [ (HD.5328) (HD.5356) ] >>
+<< /Names [ (HD.4381) 5056 0 R (HD.4382) 5057 0 R (HD.4383) 5058 0 R (HD.4384) 5059 0 R (HD.4385) 5060 0 R (HD.4386) 5061 0 R (HD.4387) 5062 0 R (HD.4388) 5063 0 R (HD.4389) 5064 0 R (HD.439) 703 0 R (HD.4390) 5065 0 R (HD.4391) 5066 0 R (HD.4392) 5071 0 R (HD.4393) 5072 0 R (HD.4394) 5073 0 R (HD.4395) 5074 0 R (HD.4396) 5075 0 R (HD.4397) 5076 0 R (HD.4398) 5077 0 R (HD.4399) 5078 0 R (HD.44) 239 0 R (HD.440) 704 0 R (HD.4400) 5079 0 R (HD.4401) 5080 0 R (HD.4402) 5081 0 R (HD.4403) 5082 0 R (HD.4404) 5083 0 R (HD.4405) 5084 0 R (HD.4406) 5085 0 R (HD.4407) 5086 0 R (HD.4408) 5087 0 R (HD.4409) 5088 0 R ] /Limits [ (HD.4381) (HD.4409) ] >>
endobj
11867 0 obj
-<< /Names [ (HD.5357) 6121 0 R (HD.5358) 6122 0 R (HD.5359) 6123 0 R (HD.536) 825 0 R (HD.5360) 6124 0 R (HD.5361) 6125 0 R (HD.5362) 6126 0 R (HD.5363) 6127 0 R (HD.5364) 6128 0 R (HD.5365) 6129 0 R (HD.5366) 6130 0 R (HD.5367) 6131 0 R (HD.5368) 6132 0 R (HD.5369) 6133 0 R (HD.537) 832 0 R (HD.5370) 6134 0 R (HD.5371) 6135 0 R (HD.5372) 6136 0 R (HD.5373) 6137 0 R (HD.5374) 6138 0 R (HD.5375) 6139 0 R (HD.5376) 6140 0 R (HD.5377) 6141 0 R (HD.5378) 6142 0 R (HD.5379) 6143 0 R (HD.538) 833 0 R (HD.5380) 6148 0 R (HD.5381) 6149 0 R (HD.5382) 6150 0 R (HD.5383) 6151 0 R (HD.5384) 6152 0 R (HD.5385) 6153 0 R ] /Limits [ (HD.5357) (HD.5385) ] >>
+<< /Names [ (HD.441) 705 0 R (HD.4410) 5089 0 R (HD.4411) 5090 0 R (HD.4412) 5091 0 R (HD.4413) 5092 0 R (HD.4414) 5093 0 R (HD.4415) 5094 0 R (HD.4416) 5095 0 R (HD.4417) 5096 0 R (HD.4418) 5097 0 R (HD.4419) 5098 0 R (HD.442) 706 0 R (HD.4420) 5099 0 R (HD.4421) 5100 0 R (HD.4422) 5101 0 R (HD.4423) 5102 0 R (HD.4424) 5103 0 R (HD.4425) 5104 0 R (HD.4426) 5105 0 R (HD.4427) 5106 0 R (HD.4428) 5107 0 R (HD.4429) 5108 0 R (HD.443) 707 0 R (HD.4430) 5113 0 R (HD.4431) 5114 0 R (HD.4432) 5115 0 R (HD.4433) 5116 0 R (HD.4434) 5117 0 R (HD.4435) 5118 0 R (HD.4436) 5119 0 R (HD.4437) 5120 0 R (HD.4438) 5121 0 R ] /Limits [ (HD.441) (HD.4438) ] >>
endobj
11868 0 obj
-<< /Names [ (HD.5386) 6154 0 R (HD.5387) 6155 0 R (HD.5388) 6156 0 R (HD.5389) 6157 0 R (HD.539) 834 0 R (HD.5390) 6158 0 R (HD.5391) 6159 0 R (HD.5392) 6160 0 R (HD.5393) 6161 0 R (HD.5394) 6162 0 R (HD.5395) 6163 0 R (HD.5396) 6164 0 R (HD.5397) 6165 0 R (HD.5398) 6166 0 R (HD.5399) 6167 0 R (HD.54) 249 0 R (HD.540) 835 0 R (HD.5400) 6168 0 R (HD.5401) 6169 0 R (HD.5402) 6170 0 R (HD.5403) 6171 0 R (HD.5404) 6172 0 R (HD.5405) 6173 0 R (HD.5406) 6174 0 R (HD.5407) 6175 0 R (HD.5408) 6176 0 R (HD.5409) 6177 0 R (HD.541) 836 0 R (HD.5410) 6178 0 R (HD.5411) 6179 0 R (HD.5412) 6180 0 R (HD.5413) 6181 0 R ] /Limits [ (HD.5386) (HD.5413) ] >>
+<< /Names [ (HD.4439) 5122 0 R (HD.444) 708 0 R (HD.4440) 5123 0 R (HD.4441) 5124 0 R (HD.4442) 5125 0 R (HD.4443) 5126 0 R (HD.4444) 5127 0 R (HD.4445) 5128 0 R (HD.4446) 5129 0 R (HD.4447) 5130 0 R (HD.4448) 5131 0 R (HD.4449) 5132 0 R (HD.445) 709 0 R (HD.4450) 5133 0 R (HD.4451) 5134 0 R (HD.4452) 5135 0 R (HD.4453) 5136 0 R (HD.4454) 5137 0 R (HD.4455) 5138 0 R (HD.4456) 5139 0 R (HD.4457) 5140 0 R (HD.4458) 5141 0 R (HD.4459) 5142 0 R (HD.446) 710 0 R (HD.4460) 5143 0 R (HD.4461) 5144 0 R (HD.4462) 5145 0 R (HD.4463) 5146 0 R (HD.4464) 5147 0 R (HD.4465) 5148 0 R (HD.4466) 5149 0 R (HD.4467) 5150 0 R ] /Limits [ (HD.4439) (HD.4467) ] >>
endobj
11869 0 obj
-<< /Names [ (HD.5414) 6182 0 R (HD.5415) 6183 0 R (HD.5416) 6184 0 R (HD.5417) 6185 0 R (HD.5418) 6186 0 R (HD.5419) 6187 0 R (HD.542) 837 0 R (HD.5420) 6188 0 R (HD.5421) 6189 0 R (HD.5422) 6190 0 R (HD.5423) 6191 0 R (HD.5424) 6192 0 R (HD.5425) 6193 0 R (HD.5426) 6194 0 R (HD.5427) 6195 0 R (HD.5428) 6200 0 R (HD.5429) 6201 0 R (HD.543) 838 0 R (HD.5430) 6202 0 R (HD.5431) 6203 0 R (HD.5432) 6204 0 R (HD.5433) 6205 0 R (HD.5434) 6206 0 R (HD.5435) 6207 0 R (HD.5436) 6208 0 R (HD.5437) 6209 0 R (HD.5438) 6210 0 R (HD.5439) 6211 0 R (HD.544) 839 0 R (HD.5440) 6212 0 R (HD.5441) 6213 0 R (HD.5442) 6214 0 R ] /Limits [ (HD.5414) (HD.5442) ] >>
+<< /Names [ (HD.4468) 5151 0 R (HD.4469) 5152 0 R (HD.447) 711 0 R (HD.4470) 5153 0 R (HD.4471) 5154 0 R (HD.4472) 5155 0 R (HD.4473) 5156 0 R (HD.4474) 5157 0 R (HD.4475) 5162 0 R (HD.4476) 5163 0 R (HD.4477) 5164 0 R (HD.4478) 5165 0 R (HD.4479) 5166 0 R (HD.448) 712 0 R (HD.4480) 5167 0 R (HD.4481) 5168 0 R (HD.4482) 5169 0 R (HD.4483) 5170 0 R (HD.4484) 5171 0 R (HD.4485) 5172 0 R (HD.4486) 5173 0 R (HD.4487) 5174 0 R (HD.4488) 5175 0 R (HD.4489) 5176 0 R (HD.449) 713 0 R (HD.4490) 5177 0 R (HD.4491) 5178 0 R (HD.4492) 5179 0 R (HD.4493) 5180 0 R (HD.4494) 5181 0 R (HD.4495) 5182 0 R (HD.4496) 5183 0 R ] /Limits [ (HD.4468) (HD.4496) ] >>
endobj
11870 0 obj
-<< /Names [ (HD.5443) 6215 0 R (HD.5444) 6216 0 R (HD.5445) 6217 0 R (HD.5446) 6218 0 R (HD.5447) 6219 0 R (HD.5448) 6220 0 R (HD.5449) 6221 0 R (HD.545) 840 0 R (HD.5450) 6222 0 R (HD.5451) 6223 0 R (HD.5452) 6224 0 R (HD.5453) 6225 0 R (HD.5454) 6226 0 R (HD.5455) 6227 0 R (HD.5456) 6228 0 R (HD.5457) 6229 0 R (HD.5458) 6230 0 R (HD.5459) 6231 0 R (HD.546) 841 0 R (HD.5460) 6232 0 R (HD.5461) 6233 0 R (HD.5462) 6234 0 R (HD.5463) 6235 0 R (HD.5464) 6236 0 R (HD.5465) 6237 0 R (HD.5466) 6238 0 R (HD.5467) 6243 0 R (HD.5468) 6244 0 R (HD.5469) 6245 0 R (HD.547) 842 0 R (HD.5470) 6246 0 R (HD.5471) 6247 0 R ] /Limits [ (HD.5443) (HD.5471) ] >>
+<< /Names [ (HD.4497) 5184 0 R (HD.4498) 5185 0 R (HD.4499) 5186 0 R (HD.45) 240 0 R (HD.450) 714 0 R (HD.4500) 5187 0 R (HD.4501) 5188 0 R (HD.4502) 5189 0 R (HD.4503) 5190 0 R (HD.4504) 5191 0 R (HD.4505) 5192 0 R (HD.4506) 5193 0 R (HD.4507) 5194 0 R (HD.4508) 5195 0 R (HD.4509) 5196 0 R (HD.451) 715 0 R (HD.4510) 5197 0 R (HD.4511) 5198 0 R (HD.4512) 5199 0 R (HD.4513) 5200 0 R (HD.4514) 5201 0 R (HD.4515) 5202 0 R (HD.4516) 5203 0 R (HD.4517) 5204 0 R (HD.4518) 5205 0 R (HD.4519) 5206 0 R (HD.452) 716 0 R (HD.4520) 5207 0 R (HD.4521) 5208 0 R (HD.4522) 5209 0 R (HD.4523) 5210 0 R (HD.4524) 5211 0 R ] /Limits [ (HD.4497) (HD.4524) ] >>
endobj
11871 0 obj
-<< /Names [ (HD.5472) 6248 0 R (HD.5473) 6249 0 R (HD.5474) 6250 0 R (HD.5475) 6251 0 R (HD.5476) 6252 0 R (HD.5477) 6253 0 R (HD.5478) 6254 0 R (HD.5479) 6255 0 R (HD.548) 843 0 R (HD.5480) 6256 0 R (HD.5481) 6257 0 R (HD.5482) 6258 0 R (HD.5483) 6259 0 R (HD.5484) 6260 0 R (HD.5485) 6261 0 R (HD.5486) 6262 0 R (HD.5487) 6263 0 R (HD.5488) 6264 0 R (HD.5489) 6265 0 R (HD.549) 844 0 R (HD.5490) 6266 0 R (HD.5491) 6267 0 R (HD.5492) 6268 0 R (HD.5493) 6269 0 R (HD.5494) 6270 0 R (HD.5495) 6271 0 R (HD.5496) 6272 0 R (HD.5497) 6273 0 R (HD.5498) 6274 0 R (HD.5499) 6279 0 R (HD.55) 250 0 R (HD.550) 845 0 R ] /Limits [ (HD.5472) (HD.550) ] >>
+<< /Names [ (HD.4525) 5212 0 R (HD.4526) 5213 0 R (HD.4527) 5214 0 R (HD.4528) 5215 0 R (HD.4529) 5216 0 R (HD.453) 717 0 R (HD.4530) 5217 0 R (HD.4531) 5218 0 R (HD.4532) 5219 0 R (HD.4533) 5224 0 R (HD.4534) 5225 0 R (HD.4535) 5226 0 R (HD.4536) 5227 0 R (HD.4537) 5228 0 R (HD.4538) 5229 0 R (HD.4539) 5230 0 R (HD.454) 718 0 R (HD.4540) 5231 0 R (HD.4541) 5232 0 R (HD.4542) 5233 0 R (HD.4543) 5234 0 R (HD.4544) 5235 0 R (HD.4545) 5236 0 R (HD.4546) 5237 0 R (HD.4547) 5238 0 R (HD.4548) 5239 0 R (HD.4549) 5240 0 R (HD.455) 719 0 R (HD.4550) 5241 0 R (HD.4551) 5242 0 R (HD.4552) 5243 0 R (HD.4553) 5244 0 R ] /Limits [ (HD.4525) (HD.4553) ] >>
endobj
11872 0 obj
-<< /Names [ (HD.5500) 6280 0 R (HD.5501) 6281 0 R (HD.5502) 6282 0 R (HD.5503) 6283 0 R (HD.5504) 6284 0 R (HD.5505) 6285 0 R (HD.5506) 6286 0 R (HD.5507) 6287 0 R (HD.5508) 6288 0 R (HD.5509) 6289 0 R (HD.551) 846 0 R (HD.5510) 6290 0 R (HD.5511) 6291 0 R (HD.5512) 6292 0 R (HD.5513) 6293 0 R (HD.5514) 6294 0 R (HD.5515) 6295 0 R (HD.5516) 6296 0 R (HD.5517) 6297 0 R (HD.5518) 6298 0 R (HD.5519) 6299 0 R (HD.552) 847 0 R (HD.5520) 6300 0 R (HD.5521) 6301 0 R (HD.5522) 6302 0 R (HD.5523) 6303 0 R (HD.5524) 6304 0 R (HD.5525) 6305 0 R (HD.5526) 6306 0 R (HD.5527) 6307 0 R (HD.5528) 6308 0 R (HD.5529) 6309 0 R ] /Limits [ (HD.5500) (HD.5529) ] >>
+<< /Names [ (HD.4554) 5245 0 R (HD.4555) 5246 0 R (HD.4556) 5247 0 R (HD.4557) 5248 0 R (HD.4558) 5249 0 R (HD.4559) 5250 0 R (HD.456) 720 0 R (HD.4560) 5251 0 R (HD.4561) 5252 0 R (HD.4562) 5253 0 R (HD.4563) 5254 0 R (HD.4564) 5255 0 R (HD.4565) 5256 0 R (HD.4566) 5257 0 R (HD.4567) 5258 0 R (HD.4568) 5259 0 R (HD.4569) 5260 0 R (HD.457) 721 0 R (HD.4570) 5261 0 R (HD.4571) 5262 0 R (HD.4572) 5263 0 R (HD.4573) 5264 0 R (HD.4574) 5269 0 R (HD.4575) 5270 0 R (HD.4576) 5271 0 R (HD.4577) 5272 0 R (HD.4578) 5273 0 R (HD.4579) 5274 0 R (HD.458) 722 0 R (HD.4580) 5275 0 R (HD.4581) 5276 0 R (HD.4582) 5277 0 R ] /Limits [ (HD.4554) (HD.4582) ] >>
endobj
11873 0 obj
-<< /Names [ (HD.553) 848 0 R (HD.5530) 6310 0 R (HD.5531) 6311 0 R (HD.5532) 6312 0 R (HD.5533) 6313 0 R (HD.5534) 6314 0 R (HD.5535) 6315 0 R (HD.5536) 6316 0 R (HD.5537) 6317 0 R (HD.5538) 6318 0 R (HD.5539) 6319 0 R (HD.554) 849 0 R (HD.5540) 6320 0 R (HD.5541) 6321 0 R (HD.5542) 6322 0 R (HD.5543) 6323 0 R (HD.5544) 6324 0 R (HD.5545) 6325 0 R (HD.5546) 6326 0 R (HD.5547) 6327 0 R (HD.5548) 6328 0 R (HD.5549) 6329 0 R (HD.555) 850 0 R (HD.5550) 6330 0 R (HD.5551) 6331 0 R (HD.5552) 6337 0 R (HD.5553) 6338 0 R (HD.5554) 6339 0 R (HD.5555) 6340 0 R (HD.5556) 6341 0 R (HD.5557) 6342 0 R (HD.5558) 6343 0 R ] /Limits [ (HD.553) (HD.5558) ] >>
+<< /Names [ (HD.4583) 5278 0 R (HD.4584) 5279 0 R (HD.4585) 5280 0 R (HD.4586) 5281 0 R (HD.4587) 5282 0 R (HD.4588) 5283 0 R (HD.4589) 5284 0 R (HD.459) 723 0 R (HD.4590) 5285 0 R (HD.4591) 5286 0 R (HD.4592) 5287 0 R (HD.4593) 5288 0 R (HD.4594) 5289 0 R (HD.4595) 5290 0 R (HD.4596) 5291 0 R (HD.4597) 5292 0 R (HD.4598) 5293 0 R (HD.4599) 5294 0 R (HD.46) 241 0 R (HD.460) 724 0 R (HD.4600) 5295 0 R (HD.4601) 5296 0 R (HD.4602) 5297 0 R (HD.4603) 5298 0 R (HD.4604) 5299 0 R (HD.4605) 5300 0 R (HD.4606) 5301 0 R (HD.4607) 5302 0 R (HD.4608) 5303 0 R (HD.4609) 5304 0 R (HD.461) 729 0 R (HD.4610) 5305 0 R ] /Limits [ (HD.4583) (HD.4610) ] >>
endobj
11874 0 obj
-<< /Names [ (HD.5559) 6344 0 R (HD.556) 851 0 R (HD.5560) 6345 0 R (HD.5561) 6346 0 R (HD.5562) 6347 0 R (HD.5563) 6348 0 R (HD.5564) 6349 0 R (HD.5565) 6350 0 R (HD.5566) 6351 0 R (HD.5567) 6352 0 R (HD.5568) 6353 0 R (HD.5569) 6354 0 R (HD.557) 852 0 R (HD.5570) 6355 0 R (HD.5571) 6356 0 R (HD.5572) 6357 0 R (HD.5573) 6358 0 R (HD.5574) 6359 0 R (HD.5575) 6360 0 R (HD.5576) 6361 0 R (HD.5577) 6362 0 R (HD.5578) 6363 0 R (HD.5579) 6364 0 R (HD.558) 853 0 R (HD.5580) 6365 0 R (HD.5581) 6366 0 R (HD.5582) 6367 0 R (HD.5583) 6368 0 R (HD.5584) 6369 0 R (HD.5585) 6370 0 R (HD.5586) 6371 0 R (HD.5587) 6372 0 R ] /Limits [ (HD.5559) (HD.5587) ] >>
+<< /Names [ (HD.4611) 5306 0 R (HD.4612) 5307 0 R (HD.4613) 5308 0 R (HD.4614) 5309 0 R (HD.4615) 5310 0 R (HD.4616) 5311 0 R (HD.4617) 5312 0 R (HD.4618) 5313 0 R (HD.4619) 5314 0 R (HD.462) 730 0 R (HD.4620) 5320 0 R (HD.4621) 5321 0 R (HD.4622) 5322 0 R (HD.4623) 5323 0 R (HD.4624) 5324 0 R (HD.4625) 5325 0 R (HD.4626) 5326 0 R (HD.4627) 5327 0 R (HD.4628) 5328 0 R (HD.4629) 5329 0 R (HD.463) 731 0 R (HD.4630) 5330 0 R (HD.4631) 5331 0 R (HD.4632) 5332 0 R (HD.4633) 5333 0 R (HD.4634) 5334 0 R (HD.4635) 5335 0 R (HD.4636) 5336 0 R (HD.4637) 5337 0 R (HD.4638) 5338 0 R (HD.4639) 5339 0 R (HD.464) 732 0 R ] /Limits [ (HD.4611) (HD.464) ] >>
endobj
11875 0 obj
-<< /Names [ (HD.5588) 6373 0 R (HD.5589) 6374 0 R (HD.559) 854 0 R (HD.5590) 6375 0 R (HD.5591) 6376 0 R (HD.5592) 6377 0 R (HD.5593) 6378 0 R (HD.5594) 6379 0 R (HD.5595) 6380 0 R (HD.5596) 6385 0 R (HD.5597) 6386 0 R (HD.5598) 6387 0 R (HD.5599) 6388 0 R (HD.56) 251 0 R (HD.560) 855 0 R (HD.5600) 6389 0 R (HD.5601) 6390 0 R (HD.5602) 6391 0 R (HD.5603) 6392 0 R (HD.5604) 6393 0 R (HD.5605) 6394 0 R (HD.5606) 6395 0 R (HD.5607) 6396 0 R (HD.5608) 6397 0 R (HD.5609) 6398 0 R (HD.561) 856 0 R (HD.5610) 6399 0 R (HD.5611) 6400 0 R (HD.5612) 6401 0 R (HD.5613) 6402 0 R (HD.5614) 6403 0 R (HD.5615) 6404 0 R ] /Limits [ (HD.5588) (HD.5615) ] >>
+<< /Names [ (HD.4640) 5340 0 R (HD.4641) 5341 0 R (HD.4642) 5342 0 R (HD.4643) 5343 0 R (HD.4644) 5344 0 R (HD.4645) 5345 0 R (HD.4646) 5346 0 R (HD.4647) 5347 0 R (HD.4648) 5348 0 R (HD.4649) 5349 0 R (HD.465) 733 0 R (HD.4650) 5350 0 R (HD.4651) 5351 0 R (HD.4652) 5352 0 R (HD.4653) 5353 0 R (HD.4654) 5354 0 R (HD.4655) 5355 0 R (HD.4656) 5356 0 R (HD.4657) 5357 0 R (HD.4658) 5358 0 R (HD.4659) 5363 0 R (HD.466) 734 0 R (HD.4660) 5364 0 R (HD.4661) 5365 0 R (HD.4662) 5366 0 R (HD.4663) 5367 0 R (HD.4664) 5368 0 R (HD.4665) 5369 0 R (HD.4666) 5370 0 R (HD.4667) 5371 0 R (HD.4668) 5372 0 R (HD.4669) 5373 0 R ] /Limits [ (HD.4640) (HD.4669) ] >>
endobj
11876 0 obj
-<< /Names [ (HD.5616) 6405 0 R (HD.5617) 6406 0 R (HD.5618) 6407 0 R (HD.5619) 6408 0 R (HD.562) 857 0 R (HD.5620) 6409 0 R (HD.5621) 6410 0 R (HD.5622) 6411 0 R (HD.5623) 6412 0 R (HD.5624) 6413 0 R (HD.5625) 6414 0 R (HD.5626) 6415 0 R (HD.5627) 6416 0 R (HD.5628) 6417 0 R (HD.5629) 6418 0 R (HD.563) 858 0 R (HD.5630) 6419 0 R (HD.5631) 6420 0 R (HD.5632) 6421 0 R (HD.5633) 6422 0 R (HD.5634) 6423 0 R (HD.5635) 6424 0 R (HD.5636) 6425 0 R (HD.5637) 6426 0 R (HD.5638) 6427 0 R (HD.5639) 6428 0 R (HD.564) 859 0 R (HD.5640) 6429 0 R (HD.5641) 6430 0 R (HD.5642) 6431 0 R (HD.5643) 6432 0 R (HD.5644) 6437 0 R ] /Limits [ (HD.5616) (HD.5644) ] >>
+<< /Names [ (HD.467) 735 0 R (HD.4670) 5374 0 R (HD.4671) 5375 0 R (HD.4672) 5376 0 R (HD.4673) 5377 0 R (HD.4674) 5378 0 R (HD.4675) 5379 0 R (HD.4676) 5380 0 R (HD.4677) 5381 0 R (HD.4678) 5382 0 R (HD.4679) 5383 0 R (HD.468) 736 0 R (HD.4680) 5384 0 R (HD.4681) 5385 0 R (HD.4682) 5386 0 R (HD.4683) 5387 0 R (HD.4684) 5388 0 R (HD.4685) 5389 0 R (HD.4686) 5390 0 R (HD.4687) 5391 0 R (HD.4688) 5392 0 R (HD.4689) 5393 0 R (HD.469) 737 0 R (HD.4690) 5394 0 R (HD.4691) 5395 0 R (HD.4692) 5396 0 R (HD.4693) 5397 0 R (HD.4694) 5398 0 R (HD.4695) 5399 0 R (HD.4696) 5400 0 R (HD.4697) 5401 0 R (HD.4698) 5402 0 R ] /Limits [ (HD.467) (HD.4698) ] >>
endobj
11877 0 obj
-<< /Names [ (HD.5645) 6438 0 R (HD.5646) 6439 0 R (HD.5647) 6440 0 R (HD.5648) 6441 0 R (HD.5649) 6442 0 R (HD.565) 860 0 R (HD.5650) 6443 0 R (HD.5651) 6444 0 R (HD.5652) 6445 0 R (HD.5653) 6446 0 R (HD.5654) 6447 0 R (HD.5655) 6448 0 R (HD.5656) 6449 0 R (HD.5657) 6450 0 R (HD.5658) 6451 0 R (HD.5659) 6452 0 R (HD.566) 861 0 R (HD.5660) 6453 0 R (HD.5661) 6454 0 R (HD.5662) 6455 0 R (HD.5663) 6456 0 R (HD.5664) 6457 0 R (HD.5665) 6458 0 R (HD.5666) 6459 0 R (HD.5667) 6460 0 R (HD.5668) 6461 0 R (HD.5669) 6462 0 R (HD.567) 862 0 R (HD.5670) 6463 0 R (HD.5671) 6464 0 R (HD.5672) 6465 0 R (HD.5673) 6466 0 R ] /Limits [ (HD.5645) (HD.5673) ] >>
+<< /Names [ (HD.4699) 5403 0 R (HD.47) 242 0 R (HD.470) 738 0 R (HD.4700) 5404 0 R (HD.4701) 5409 0 R (HD.4702) 5410 0 R (HD.4703) 5411 0 R (HD.4704) 5412 0 R (HD.4705) 5413 0 R (HD.4706) 5414 0 R (HD.4707) 5415 0 R (HD.4708) 5416 0 R (HD.4709) 5417 0 R (HD.471) 739 0 R (HD.4710) 5418 0 R (HD.4711) 5419 0 R (HD.4712) 5420 0 R (HD.4713) 5421 0 R (HD.4714) 5422 0 R (HD.4715) 5423 0 R (HD.4716) 5424 0 R (HD.4717) 5425 0 R (HD.4718) 5426 0 R (HD.4719) 5427 0 R (HD.472) 740 0 R (HD.4720) 5428 0 R (HD.4721) 5429 0 R (HD.4722) 5430 0 R (HD.4723) 5431 0 R (HD.4724) 5432 0 R (HD.4725) 5433 0 R (HD.4726) 5434 0 R ] /Limits [ (HD.4699) (HD.4726) ] >>
endobj
11878 0 obj
-<< /Names [ (HD.5674) 6467 0 R (HD.5675) 6468 0 R (HD.5676) 6469 0 R (HD.5677) 6470 0 R (HD.5678) 6471 0 R (HD.5679) 6472 0 R (HD.568) 863 0 R (HD.5680) 6473 0 R (HD.5681) 6474 0 R (HD.5682) 6475 0 R (HD.5683) 6480 0 R (HD.5684) 6481 0 R (HD.5685) 6482 0 R (HD.5686) 6483 0 R (HD.5687) 6484 0 R (HD.5688) 6485 0 R (HD.5689) 6486 0 R (HD.569) 864 0 R (HD.5690) 6487 0 R (HD.5691) 6488 0 R (HD.5692) 6489 0 R (HD.5693) 6490 0 R (HD.5694) 6491 0 R (HD.5695) 6492 0 R (HD.5696) 6493 0 R (HD.5697) 6494 0 R (HD.5698) 6495 0 R (HD.5699) 6496 0 R (HD.57) 252 0 R (HD.570) 865 0 R (HD.5700) 6497 0 R (HD.5701) 6498 0 R ] /Limits [ (HD.5674) (HD.5701) ] >>
+<< /Names [ (HD.4727) 5435 0 R (HD.4728) 5436 0 R (HD.4729) 5437 0 R (HD.473) 741 0 R (HD.4730) 5438 0 R (HD.4731) 5439 0 R (HD.4732) 5440 0 R (HD.4733) 5441 0 R (HD.4734) 5442 0 R (HD.4735) 5447 0 R (HD.4736) 5448 0 R (HD.4737) 5449 0 R (HD.4738) 5450 0 R (HD.4739) 5451 0 R (HD.474) 742 0 R (HD.4740) 5452 0 R (HD.4741) 5453 0 R (HD.4742) 5454 0 R (HD.4743) 5455 0 R (HD.4744) 5456 0 R (HD.4745) 5457 0 R (HD.4746) 5458 0 R (HD.4747) 5459 0 R (HD.4748) 5460 0 R (HD.4749) 5461 0 R (HD.475) 743 0 R (HD.4750) 5462 0 R (HD.4751) 5463 0 R (HD.4752) 5464 0 R (HD.4753) 5465 0 R (HD.4754) 5466 0 R (HD.4755) 5467 0 R ] /Limits [ (HD.4727) (HD.4755) ] >>
endobj
11879 0 obj
-<< /Names [ (HD.5702) 6499 0 R (HD.5703) 6500 0 R (HD.5704) 6501 0 R (HD.5705) 6502 0 R (HD.5706) 6503 0 R (HD.5707) 6504 0 R (HD.5708) 6505 0 R (HD.5709) 6506 0 R (HD.571) 866 0 R (HD.5710) 6507 0 R (HD.5711) 6508 0 R (HD.5712) 6509 0 R (HD.5713) 6510 0 R (HD.5714) 6511 0 R (HD.5715) 6512 0 R (HD.5716) 6513 0 R (HD.5717) 6514 0 R (HD.5718) 6515 0 R (HD.5719) 6516 0 R (HD.572) 867 0 R (HD.5720) 6517 0 R (HD.5721) 6518 0 R (HD.5722) 6519 0 R (HD.5723) 6520 0 R (HD.5724) 6521 0 R (HD.5725) 6522 0 R (HD.5726) 6523 0 R (HD.5727) 6524 0 R (HD.5728) 6525 0 R (HD.5729) 6526 0 R (HD.573) 868 0 R (HD.5730) 6527 0 R ] /Limits [ (HD.5702) (HD.5730) ] >>
+<< /Names [ (HD.4756) 5468 0 R (HD.4757) 5469 0 R (HD.4758) 5470 0 R (HD.4759) 5471 0 R (HD.476) 744 0 R (HD.4760) 5472 0 R (HD.4761) 5473 0 R (HD.4762) 5474 0 R (HD.4763) 5475 0 R (HD.4764) 5476 0 R (HD.4765) 5477 0 R (HD.4766) 5478 0 R (HD.4767) 5479 0 R (HD.4768) 5480 0 R (HD.4769) 5481 0 R (HD.477) 745 0 R (HD.4770) 5482 0 R (HD.4771) 5483 0 R (HD.4772) 5484 0 R (HD.4773) 5485 0 R (HD.4774) 5486 0 R (HD.4775) 5487 0 R (HD.4776) 5488 0 R (HD.4777) 5489 0 R (HD.4778) 5490 0 R (HD.4779) 5491 0 R (HD.478) 746 0 R (HD.4780) 5496 0 R (HD.4781) 5497 0 R (HD.4782) 5498 0 R (HD.4783) 5499 0 R (HD.4784) 5500 0 R ] /Limits [ (HD.4756) (HD.4784) ] >>
endobj
11880 0 obj
-<< /Names [ (HD.5731) 6532 0 R (HD.5732) 6533 0 R (HD.5733) 6534 0 R (HD.5734) 6535 0 R (HD.5735) 6536 0 R (HD.5736) 6537 0 R (HD.5737) 6538 0 R (HD.5738) 6539 0 R (HD.5739) 6540 0 R (HD.574) 869 0 R (HD.5740) 6541 0 R (HD.5741) 6542 0 R (HD.5742) 6543 0 R (HD.5743) 6544 0 R (HD.5744) 6545 0 R (HD.5745) 6546 0 R (HD.5746) 6547 0 R (HD.5747) 6548 0 R (HD.5748) 6549 0 R (HD.5749) 6550 0 R (HD.575) 870 0 R (HD.5750) 6551 0 R (HD.5751) 6552 0 R (HD.5752) 6553 0 R (HD.5753) 6554 0 R (HD.5754) 6555 0 R (HD.5755) 6556 0 R (HD.5756) 6557 0 R (HD.5757) 6558 0 R (HD.5758) 6559 0 R (HD.5759) 6560 0 R (HD.576) 876 0 R ] /Limits [ (HD.5731) (HD.576) ] >>
+<< /Names [ (HD.4785) 5501 0 R (HD.4786) 5502 0 R (HD.4787) 5503 0 R (HD.4788) 5504 0 R (HD.4789) 5505 0 R (HD.479) 747 0 R (HD.4790) 5506 0 R (HD.4791) 5507 0 R (HD.4792) 5508 0 R (HD.4793) 5509 0 R (HD.4794) 5510 0 R (HD.4795) 5511 0 R (HD.4796) 5512 0 R (HD.4797) 5513 0 R (HD.4798) 5514 0 R (HD.4799) 5515 0 R (HD.48) 243 0 R (HD.480) 748 0 R (HD.4800) 5516 0 R (HD.4801) 5517 0 R (HD.4802) 5518 0 R (HD.4803) 5519 0 R (HD.4804) 5520 0 R (HD.4805) 5521 0 R (HD.4806) 5522 0 R (HD.4807) 5523 0 R (HD.4808) 5524 0 R (HD.4809) 5525 0 R (HD.481) 750 0 R (HD.4810) 5526 0 R (HD.4811) 5527 0 R (HD.4812) 5528 0 R ] /Limits [ (HD.4785) (HD.4812) ] >>
endobj
11881 0 obj
-<< /Names [ (HD.5760) 6561 0 R (HD.5761) 6562 0 R (HD.5762) 6563 0 R (HD.5763) 6564 0 R (HD.5764) 6565 0 R (HD.5765) 6566 0 R (HD.5766) 6567 0 R (HD.5767) 6568 0 R (HD.5768) 6569 0 R (HD.5769) 6570 0 R (HD.577) 877 0 R (HD.5770) 6571 0 R (HD.5771) 6572 0 R (HD.5772) 6573 0 R (HD.5773) 6574 0 R (HD.5774) 6579 0 R (HD.5775) 6580 0 R (HD.5776) 6581 0 R (HD.5777) 6582 0 R (HD.5778) 6583 0 R (HD.5779) 6584 0 R (HD.578) 878 0 R (HD.5780) 6585 0 R (HD.5781) 6586 0 R (HD.5782) 6587 0 R (HD.5783) 6588 0 R (HD.5784) 6589 0 R (HD.5785) 6590 0 R (HD.5786) 6591 0 R (HD.5787) 6592 0 R (HD.5788) 6593 0 R (HD.5789) 6594 0 R ] /Limits [ (HD.5760) (HD.5789) ] >>
+<< /Names [ (HD.4813) 5529 0 R (HD.4814) 5530 0 R (HD.4815) 5531 0 R (HD.4816) 5532 0 R (HD.4817) 5533 0 R (HD.4818) 5534 0 R (HD.4819) 5535 0 R (HD.482) 751 0 R (HD.4820) 5536 0 R (HD.4821) 5537 0 R (HD.4822) 5538 0 R (HD.4823) 5539 0 R (HD.4824) 5540 0 R (HD.4825) 5541 0 R (HD.4826) 5542 0 R (HD.4827) 5543 0 R (HD.4828) 5544 0 R (HD.4829) 5545 0 R (HD.483) 757 0 R (HD.4830) 5546 0 R (HD.4831) 5547 0 R (HD.4832) 5548 0 R (HD.4833) 5553 0 R (HD.4834) 5554 0 R (HD.4835) 5555 0 R (HD.4836) 5556 0 R (HD.4837) 5557 0 R (HD.4838) 5558 0 R (HD.4839) 5559 0 R (HD.484) 758 0 R (HD.4840) 5560 0 R (HD.4841) 5561 0 R ] /Limits [ (HD.4813) (HD.4841) ] >>
endobj
11882 0 obj
-<< /Names [ (HD.579) 879 0 R (HD.5790) 6595 0 R (HD.5791) 6596 0 R (HD.5792) 6597 0 R (HD.5793) 6598 0 R (HD.5794) 6599 0 R (HD.5795) 6600 0 R (HD.5796) 6601 0 R (HD.5797) 6602 0 R (HD.5798) 6603 0 R (HD.5799) 6604 0 R (HD.58) 253 0 R (HD.580) 880 0 R (HD.5800) 6605 0 R (HD.5801) 6606 0 R (HD.5802) 6607 0 R (HD.5803) 6608 0 R (HD.5804) 6609 0 R (HD.5805) 6610 0 R (HD.5806) 6611 0 R (HD.5807) 6612 0 R (HD.5808) 6613 0 R (HD.5809) 6614 0 R (HD.581) 881 0 R (HD.5810) 6615 0 R (HD.5811) 6616 0 R (HD.5812) 6617 0 R (HD.5813) 6618 0 R (HD.5814) 6619 0 R (HD.5815) 6620 0 R (HD.5816) 6621 0 R (HD.5817) 6622 0 R ] /Limits [ (HD.579) (HD.5817) ] >>
+<< /Names [ (HD.4842) 5562 0 R (HD.4843) 5563 0 R (HD.4844) 5564 0 R (HD.4845) 5565 0 R (HD.4846) 5566 0 R (HD.4847) 5567 0 R (HD.4848) 5568 0 R (HD.4849) 5569 0 R (HD.485) 759 0 R (HD.4850) 5570 0 R (HD.4851) 5571 0 R (HD.4852) 5572 0 R (HD.4853) 5573 0 R (HD.4854) 5574 0 R (HD.4855) 5575 0 R (HD.4856) 5576 0 R (HD.4857) 5577 0 R (HD.4858) 5578 0 R (HD.4859) 5579 0 R (HD.486) 760 0 R (HD.4860) 5580 0 R (HD.4861) 5581 0 R (HD.4862) 5582 0 R (HD.4863) 5583 0 R (HD.4864) 5584 0 R (HD.4865) 5585 0 R (HD.4866) 5586 0 R (HD.4867) 5587 0 R (HD.4868) 5588 0 R (HD.4869) 5589 0 R (HD.487) 761 0 R (HD.4870) 5590 0 R ] /Limits [ (HD.4842) (HD.4870) ] >>
endobj
11883 0 obj
-<< /Names [ (HD.5818) 6623 0 R (HD.5819) 6624 0 R (HD.582) 882 0 R (HD.5820) 6625 0 R (HD.5821) 6626 0 R (HD.5822) 6627 0 R (HD.5823) 6628 0 R (HD.5824) 6629 0 R (HD.5825) 6630 0 R (HD.5826) 6631 0 R (HD.5827) 6632 0 R (HD.5828) 6633 0 R (HD.5829) 6634 0 R (HD.583) 883 0 R (HD.5830) 6635 0 R (HD.5831) 6636 0 R (HD.5832) 6641 0 R (HD.5833) 6642 0 R (HD.5834) 6643 0 R (HD.5835) 6644 0 R (HD.5836) 6645 0 R (HD.5837) 6646 0 R (HD.5838) 6647 0 R (HD.5839) 6648 0 R (HD.584) 884 0 R (HD.5840) 6649 0 R (HD.5841) 6650 0 R (HD.5842) 6651 0 R (HD.5843) 6652 0 R (HD.5844) 6653 0 R (HD.5845) 6654 0 R (HD.5846) 6655 0 R ] /Limits [ (HD.5818) (HD.5846) ] >>
+<< /Names [ (HD.4871) 5591 0 R (HD.4872) 5592 0 R (HD.4873) 5593 0 R (HD.4874) 5594 0 R (HD.4875) 5595 0 R (HD.4876) 5596 0 R (HD.4877) 5597 0 R (HD.4878) 5598 0 R (HD.4879) 5599 0 R (HD.488) 762 0 R (HD.4880) 5600 0 R (HD.4881) 5601 0 R (HD.4882) 5602 0 R (HD.4883) 5607 0 R (HD.4884) 5608 0 R (HD.4885) 5609 0 R (HD.4886) 5610 0 R (HD.4887) 5611 0 R (HD.4888) 5612 0 R (HD.4889) 5613 0 R (HD.489) 763 0 R (HD.4890) 5614 0 R (HD.4891) 5615 0 R (HD.4892) 5616 0 R (HD.4893) 5617 0 R (HD.4894) 5618 0 R (HD.4895) 5619 0 R (HD.4896) 5620 0 R (HD.4897) 5621 0 R (HD.4898) 5622 0 R (HD.4899) 5623 0 R (HD.49) 244 0 R ] /Limits [ (HD.4871) (HD.49) ] >>
endobj
11884 0 obj
-<< /Names [ (HD.5847) 6656 0 R (HD.5848) 6657 0 R (HD.5849) 6658 0 R (HD.585) 885 0 R (HD.5850) 6659 0 R (HD.5851) 6660 0 R (HD.5852) 6661 0 R (HD.5853) 6662 0 R (HD.5854) 6663 0 R (HD.5855) 6664 0 R (HD.5856) 6665 0 R (HD.5857) 6666 0 R (HD.5858) 6667 0 R (HD.5859) 6668 0 R (HD.586) 886 0 R (HD.5860) 6669 0 R (HD.5861) 6670 0 R (HD.5862) 6671 0 R (HD.5863) 6672 0 R (HD.5864) 6673 0 R (HD.5865) 6674 0 R (HD.5866) 6675 0 R (HD.5867) 6676 0 R (HD.5868) 6677 0 R (HD.5869) 6678 0 R (HD.587) 887 0 R (HD.5870) 6679 0 R (HD.5871) 6680 0 R (HD.5872) 6681 0 R (HD.5873) 6682 0 R (HD.5874) 6683 0 R (HD.5875) 6684 0 R ] /Limits [ (HD.5847) (HD.5875) ] >>
+<< /Names [ (HD.490) 764 0 R (HD.4900) 5624 0 R (HD.4901) 5625 0 R (HD.4902) 5626 0 R (HD.4903) 5627 0 R (HD.4904) 5628 0 R (HD.4905) 5629 0 R (HD.4906) 5630 0 R (HD.4907) 5631 0 R (HD.4908) 5632 0 R (HD.4909) 5633 0 R (HD.491) 765 0 R (HD.4910) 5634 0 R (HD.4911) 5635 0 R (HD.4912) 5636 0 R (HD.4913) 5637 0 R (HD.4914) 5638 0 R (HD.4915) 5639 0 R (HD.4916) 5640 0 R (HD.4917) 5641 0 R (HD.4918) 5642 0 R (HD.4919) 5643 0 R (HD.492) 766 0 R (HD.4920) 5644 0 R (HD.4921) 5645 0 R (HD.4922) 5646 0 R (HD.4923) 5647 0 R (HD.4924) 5648 0 R (HD.4925) 5649 0 R (HD.4926) 5650 0 R (HD.4927) 5651 0 R (HD.4928) 5652 0 R ] /Limits [ (HD.490) (HD.4928) ] >>
endobj
11885 0 obj
-<< /Names [ (HD.5876) 6685 0 R (HD.5877) 6686 0 R (HD.5878) 6691 0 R (HD.5879) 6692 0 R (HD.588) 888 0 R (HD.5880) 6693 0 R (HD.5881) 6694 0 R (HD.5882) 6695 0 R (HD.5883) 6696 0 R (HD.5884) 6697 0 R (HD.5885) 6698 0 R (HD.5886) 6699 0 R (HD.5887) 6700 0 R (HD.5888) 6701 0 R (HD.5889) 6702 0 R (HD.589) 889 0 R (HD.5890) 6703 0 R (HD.5891) 6704 0 R (HD.5892) 6705 0 R (HD.5893) 6706 0 R (HD.5894) 6707 0 R (HD.5895) 6708 0 R (HD.5896) 6709 0 R (HD.5897) 6710 0 R (HD.5898) 6711 0 R (HD.5899) 6712 0 R (HD.59) 258 0 R (HD.590) 890 0 R (HD.5900) 6713 0 R (HD.5901) 6714 0 R (HD.5902) 6715 0 R (HD.5903) 6716 0 R ] /Limits [ (HD.5876) (HD.5903) ] >>
+<< /Names [ (HD.4929) 5653 0 R (HD.493) 776 0 R (HD.4930) 5654 0 R (HD.4931) 5655 0 R (HD.4932) 5656 0 R (HD.4933) 5657 0 R (HD.4934) 5658 0 R (HD.4935) 5659 0 R (HD.4936) 5660 0 R (HD.4937) 5661 0 R (HD.4938) 5662 0 R (HD.4939) 5663 0 R (HD.494) 777 0 R (HD.4940) 5664 0 R (HD.4941) 5665 0 R (HD.4942) 5670 0 R (HD.4943) 5671 0 R (HD.4944) 5672 0 R (HD.4945) 5673 0 R (HD.4946) 5674 0 R (HD.4947) 5675 0 R (HD.4948) 5676 0 R (HD.4949) 5677 0 R (HD.495) 778 0 R (HD.4950) 5678 0 R (HD.4951) 5679 0 R (HD.4952) 5680 0 R (HD.4953) 5681 0 R (HD.4954) 5682 0 R (HD.4955) 5683 0 R (HD.4956) 5684 0 R (HD.4957) 5685 0 R ] /Limits [ (HD.4929) (HD.4957) ] >>
endobj
11886 0 obj
-<< /Names [ (HD.5904) 6717 0 R (HD.5905) 6718 0 R (HD.5906) 6719 0 R (HD.5907) 6720 0 R (HD.5908) 6721 0 R (HD.5909) 6722 0 R (HD.591) 891 0 R (HD.5910) 6723 0 R (HD.5911) 6724 0 R (HD.5912) 6725 0 R (HD.5913) 6726 0 R (HD.5914) 6727 0 R (HD.5915) 6728 0 R (HD.5916) 6729 0 R (HD.5917) 6730 0 R (HD.5918) 6731 0 R (HD.5919) 6732 0 R (HD.592) 892 0 R (HD.5920) 6733 0 R (HD.5921) 6734 0 R (HD.5922) 6735 0 R (HD.5923) 6736 0 R (HD.5924) 6737 0 R (HD.5925) 6742 0 R (HD.5926) 6743 0 R (HD.5927) 6744 0 R (HD.5928) 6745 0 R (HD.5929) 6746 0 R (HD.593) 893 0 R (HD.5930) 6747 0 R (HD.5931) 6748 0 R (HD.5932) 6749 0 R ] /Limits [ (HD.5904) (HD.5932) ] >>
+<< /Names [ (HD.4958) 5686 0 R (HD.4959) 5687 0 R (HD.496) 779 0 R (HD.4960) 5688 0 R (HD.4961) 5689 0 R (HD.4962) 5690 0 R (HD.4963) 5691 0 R (HD.4964) 5692 0 R (HD.4965) 5693 0 R (HD.4966) 5694 0 R (HD.4967) 5695 0 R (HD.4968) 5696 0 R (HD.4969) 5697 0 R (HD.497) 780 0 R (HD.4970) 5698 0 R (HD.4971) 5699 0 R (HD.4972) 5700 0 R (HD.4973) 5701 0 R (HD.4974) 5702 0 R (HD.4975) 5703 0 R (HD.4976) 5704 0 R (HD.4977) 5705 0 R (HD.4978) 5706 0 R (HD.4979) 5707 0 R (HD.498) 781 0 R (HD.4980) 5708 0 R (HD.4981) 5709 0 R (HD.4982) 5710 0 R (HD.4983) 5711 0 R (HD.4984) 5712 0 R (HD.4985) 5713 0 R (HD.4986) 5714 0 R ] /Limits [ (HD.4958) (HD.4986) ] >>
endobj
11887 0 obj
-<< /Names [ (HD.5933) 6750 0 R (HD.5934) 6751 0 R (HD.5935) 6752 0 R (HD.5936) 6753 0 R (HD.5937) 6754 0 R (HD.5938) 6755 0 R (HD.5939) 6756 0 R (HD.594) 894 0 R (HD.5940) 6757 0 R (HD.5941) 6758 0 R (HD.5942) 6759 0 R (HD.5943) 6760 0 R (HD.5944) 6761 0 R (HD.5945) 6762 0 R (HD.5946) 6763 0 R (HD.5947) 6764 0 R (HD.5948) 6765 0 R (HD.5949) 6766 0 R (HD.595) 895 0 R (HD.5950) 6767 0 R (HD.5951) 6768 0 R (HD.5952) 6769 0 R (HD.5953) 6770 0 R (HD.5954) 6771 0 R (HD.5955) 6772 0 R (HD.5956) 6773 0 R (HD.5957) 6774 0 R (HD.5958) 6775 0 R (HD.5959) 6776 0 R (HD.596) 896 0 R (HD.5960) 6781 0 R (HD.5961) 6782 0 R ] /Limits [ (HD.5933) (HD.5961) ] >>
+<< /Names [ (HD.4987) 5715 0 R (HD.4988) 5716 0 R (HD.4989) 5721 0 R (HD.499) 782 0 R (HD.4990) 5722 0 R (HD.4991) 5723 0 R (HD.4992) 5724 0 R (HD.4993) 5725 0 R (HD.4994) 5726 0 R (HD.4995) 5727 0 R (HD.4996) 5728 0 R (HD.4997) 5729 0 R (HD.4998) 5730 0 R (HD.4999) 5731 0 R (HD.5) 193 0 R (HD.50) 245 0 R (HD.500) 783 0 R (HD.5000) 5732 0 R (HD.5001) 5733 0 R (HD.5002) 5734 0 R (HD.5003) 5735 0 R (HD.5004) 5736 0 R (HD.5005) 5737 0 R (HD.5006) 5738 0 R (HD.5007) 5739 0 R (HD.5008) 5740 0 R (HD.5009) 5741 0 R (HD.501) 784 0 R (HD.5010) 5742 0 R (HD.5011) 5743 0 R (HD.5012) 5744 0 R (HD.5013) 5745 0 R ] /Limits [ (HD.4987) (HD.5013) ] >>
endobj
11888 0 obj
-<< /Names [ (HD.5962) 6783 0 R (HD.5963) 6784 0 R (HD.5964) 6785 0 R (HD.5965) 6786 0 R (HD.5966) 6787 0 R (HD.5967) 6788 0 R (HD.5968) 6789 0 R (HD.5969) 6790 0 R (HD.597) 897 0 R (HD.5970) 6791 0 R (HD.5971) 6792 0 R (HD.5972) 6793 0 R (HD.5973) 6794 0 R (HD.5974) 6795 0 R (HD.5975) 6796 0 R (HD.5976) 6797 0 R (HD.5977) 6798 0 R (HD.5978) 6799 0 R (HD.5979) 6800 0 R (HD.598) 898 0 R (HD.5980) 6801 0 R (HD.5981) 6802 0 R (HD.5982) 6803 0 R (HD.5983) 6804 0 R (HD.5984) 6805 0 R (HD.5985) 6806 0 R (HD.5986) 6807 0 R (HD.5987) 6808 0 R (HD.5988) 6809 0 R (HD.5989) 6810 0 R (HD.599) 899 0 R (HD.5990) 6811 0 R ] /Limits [ (HD.5962) (HD.5990) ] >>
+<< /Names [ (HD.5014) 5746 0 R (HD.5015) 5747 0 R (HD.5016) 5748 0 R (HD.5017) 5749 0 R (HD.5018) 5750 0 R (HD.5019) 5751 0 R (HD.502) 785 0 R (HD.5020) 5752 0 R (HD.5021) 5753 0 R (HD.5022) 5754 0 R (HD.5023) 5755 0 R (HD.5024) 5756 0 R (HD.5025) 5757 0 R (HD.5026) 5758 0 R (HD.5027) 5759 0 R (HD.5028) 5760 0 R (HD.5029) 5761 0 R (HD.503) 786 0 R (HD.5030) 5762 0 R (HD.5031) 5763 0 R (HD.5032) 5764 0 R (HD.5033) 5765 0 R (HD.5034) 5766 0 R (HD.5035) 5767 0 R (HD.5036) 5768 0 R (HD.5037) 5769 0 R (HD.5038) 5770 0 R (HD.5039) 5771 0 R (HD.504) 787 0 R (HD.5040) 5772 0 R (HD.5041) 5773 0 R (HD.5042) 5774 0 R ] /Limits [ (HD.5014) (HD.5042) ] >>
endobj
11889 0 obj
-<< /Names [ (HD.5991) 6812 0 R (HD.5992) 6813 0 R (HD.5993) 6814 0 R (HD.5994) 6815 0 R (HD.5995) 6816 0 R (HD.5996) 6817 0 R (HD.5997) 6818 0 R (HD.5998) 6819 0 R (HD.5999) 6825 0 R (HD.6) 194 0 R (HD.60) 259 0 R (HD.600) 900 0 R (HD.6000) 6826 0 R (HD.6001) 6827 0 R (HD.6002) 6828 0 R (HD.6003) 6829 0 R (HD.6004) 6830 0 R (HD.6005) 6831 0 R (HD.6006) 6832 0 R (HD.6007) 6833 0 R (HD.6008) 6834 0 R (HD.6009) 6835 0 R (HD.601) 901 0 R (HD.6010) 6836 0 R (HD.6011) 6837 0 R (HD.6012) 6838 0 R (HD.6013) 6839 0 R (HD.6014) 6840 0 R (HD.6015) 6841 0 R (HD.6016) 6842 0 R (HD.6017) 6843 0 R (HD.6018) 6844 0 R ] /Limits [ (HD.5991) (HD.6018) ] >>
+<< /Names [ (HD.5043) 5775 0 R (HD.5044) 5776 0 R (HD.5045) 5777 0 R (HD.5046) 5778 0 R (HD.5047) 5783 0 R (HD.5048) 5784 0 R (HD.5049) 5785 0 R (HD.505) 788 0 R (HD.5050) 5786 0 R (HD.5051) 5787 0 R (HD.5052) 5788 0 R (HD.5053) 5789 0 R (HD.5054) 5790 0 R (HD.5055) 5791 0 R (HD.5056) 5792 0 R (HD.5057) 5793 0 R (HD.5058) 5794 0 R (HD.5059) 5795 0 R (HD.506) 789 0 R (HD.5060) 5796 0 R (HD.5061) 5797 0 R (HD.5062) 5798 0 R (HD.5063) 5799 0 R (HD.5064) 5800 0 R (HD.5065) 5801 0 R (HD.5066) 5802 0 R (HD.5067) 5803 0 R (HD.5068) 5804 0 R (HD.5069) 5805 0 R (HD.507) 790 0 R (HD.5070) 5806 0 R (HD.5071) 5807 0 R ] /Limits [ (HD.5043) (HD.5071) ] >>
endobj
11890 0 obj
-<< /Names [ (HD.6019) 6845 0 R (HD.602) 902 0 R (HD.6020) 6846 0 R (HD.6021) 6847 0 R (HD.6022) 6848 0 R (HD.6023) 6849 0 R (HD.6024) 6850 0 R (HD.6025) 6851 0 R (HD.6026) 6852 0 R (HD.6027) 6853 0 R (HD.6028) 6854 0 R (HD.6029) 6859 0 R (HD.603) 903 0 R (HD.6030) 6860 0 R (HD.6031) 6861 0 R (HD.6032) 6862 0 R (HD.6033) 6863 0 R (HD.6034) 6864 0 R (HD.6035) 6865 0 R (HD.6036) 6866 0 R (HD.6037) 6867 0 R (HD.6038) 6868 0 R (HD.6039) 6869 0 R (HD.604) 904 0 R (HD.6040) 6870 0 R (HD.6041) 6871 0 R (HD.6042) 6872 0 R (HD.6043) 6873 0 R (HD.6044) 6874 0 R (HD.6045) 6875 0 R (HD.6046) 6876 0 R (HD.6047) 6877 0 R ] /Limits [ (HD.6019) (HD.6047) ] >>
+<< /Names [ (HD.5072) 5808 0 R (HD.5073) 5809 0 R (HD.5074) 5810 0 R (HD.5075) 5811 0 R (HD.5076) 5812 0 R (HD.5077) 5813 0 R (HD.5078) 5814 0 R (HD.5079) 5815 0 R (HD.508) 791 0 R (HD.5080) 5816 0 R (HD.5081) 5817 0 R (HD.5082) 5818 0 R (HD.5083) 5819 0 R (HD.5084) 5820 0 R (HD.5085) 5821 0 R (HD.5086) 5822 0 R (HD.5087) 5823 0 R (HD.5088) 5824 0 R (HD.5089) 5825 0 R (HD.509) 792 0 R (HD.5090) 5826 0 R (HD.5091) 5827 0 R (HD.5092) 5828 0 R (HD.5093) 5829 0 R (HD.5094) 5830 0 R (HD.5095) 5831 0 R (HD.5096) 5832 0 R (HD.5097) 5833 0 R (HD.5098) 5834 0 R (HD.5099) 5835 0 R (HD.51) 246 0 R (HD.510) 793 0 R ] /Limits [ (HD.5072) (HD.510) ] >>
endobj
11891 0 obj
-<< /Names [ (HD.6048) 6878 0 R (HD.6049) 6879 0 R (HD.605) 905 0 R (HD.6050) 6880 0 R (HD.6051) 6881 0 R (HD.6052) 6882 0 R (HD.6053) 6883 0 R (HD.6054) 6884 0 R (HD.6055) 6885 0 R (HD.6056) 6886 0 R (HD.6057) 6887 0 R (HD.6058) 6888 0 R (HD.6059) 6889 0 R (HD.606) 906 0 R (HD.6060) 6890 0 R (HD.6061) 6891 0 R (HD.6062) 6892 0 R (HD.6063) 6893 0 R (HD.6064) 6894 0 R (HD.6065) 6895 0 R (HD.6066) 6896 0 R (HD.6067) 6897 0 R (HD.6068) 6902 0 R (HD.6069) 6903 0 R (HD.607) 907 0 R (HD.6070) 6904 0 R (HD.6071) 6905 0 R (HD.6072) 6906 0 R (HD.6073) 6907 0 R (HD.6074) 6908 0 R (HD.6075) 6909 0 R (HD.6076) 6910 0 R ] /Limits [ (HD.6048) (HD.6076) ] >>
+<< /Names [ (HD.5100) 5836 0 R (HD.5101) 5837 0 R (HD.5102) 5838 0 R (HD.5103) 5839 0 R (HD.5104) 5840 0 R (HD.5105) 5846 0 R (HD.5106) 5847 0 R (HD.5107) 5848 0 R (HD.5108) 5849 0 R (HD.5109) 5850 0 R (HD.511) 794 0 R (HD.5110) 5851 0 R (HD.5111) 5852 0 R (HD.5112) 5853 0 R (HD.5113) 5854 0 R (HD.5114) 5855 0 R (HD.5115) 5856 0 R (HD.5116) 5857 0 R (HD.5117) 5858 0 R (HD.5118) 5859 0 R (HD.5119) 5860 0 R (HD.512) 795 0 R (HD.5120) 5861 0 R (HD.5121) 5862 0 R (HD.5122) 5863 0 R (HD.5123) 5864 0 R (HD.5124) 5865 0 R (HD.5125) 5866 0 R (HD.5126) 5867 0 R (HD.5127) 5868 0 R (HD.5128) 5869 0 R (HD.5129) 5870 0 R ] /Limits [ (HD.5100) (HD.5129) ] >>
endobj
11892 0 obj
-<< /Names [ (HD.6077) 6911 0 R (HD.6078) 6912 0 R (HD.6079) 6913 0 R (HD.608) 908 0 R (HD.6080) 6914 0 R (HD.6081) 6915 0 R (HD.6082) 6916 0 R (HD.6083) 6917 0 R (HD.6084) 6918 0 R (HD.6085) 6919 0 R (HD.6086) 6920 0 R (HD.6087) 6921 0 R (HD.6088) 6922 0 R (HD.6089) 6923 0 R (HD.609) 909 0 R (HD.6090) 6924 0 R (HD.6091) 6925 0 R (HD.6092) 6926 0 R (HD.6093) 6927 0 R (HD.6094) 6928 0 R (HD.6095) 6929 0 R (HD.6096) 6930 0 R (HD.6097) 6931 0 R (HD.6098) 6932 0 R (HD.6099) 6933 0 R (HD.61) 260 0 R (HD.610) 910 0 R (HD.6100) 6934 0 R (HD.6101) 6935 0 R (HD.6102) 6936 0 R (HD.6103) 6937 0 R (HD.6104) 6938 0 R ] /Limits [ (HD.6077) (HD.6104) ] >>
+<< /Names [ (HD.513) 796 0 R (HD.5130) 5871 0 R (HD.5131) 5872 0 R (HD.5132) 5873 0 R (HD.5133) 5874 0 R (HD.5134) 5875 0 R (HD.5135) 5876 0 R (HD.5136) 5877 0 R (HD.5137) 5878 0 R (HD.5138) 5879 0 R (HD.5139) 5880 0 R (HD.514) 797 0 R (HD.5140) 5881 0 R (HD.5141) 5882 0 R (HD.5142) 5883 0 R (HD.5143) 5884 0 R (HD.5144) 5885 0 R (HD.5145) 5886 0 R (HD.5146) 5887 0 R (HD.5147) 5888 0 R (HD.5148) 5889 0 R (HD.5149) 5890 0 R (HD.515) 798 0 R (HD.5150) 5891 0 R (HD.5151) 5892 0 R (HD.5152) 5897 0 R (HD.5153) 5898 0 R (HD.5154) 5899 0 R (HD.5155) 5900 0 R (HD.5156) 5901 0 R (HD.5157) 5902 0 R (HD.5158) 5903 0 R ] /Limits [ (HD.513) (HD.5158) ] >>
endobj
11893 0 obj
-<< /Names [ (HD.6105) 6939 0 R (HD.6106) 6940 0 R (HD.6107) 6941 0 R (HD.6108) 6942 0 R (HD.6109) 6943 0 R (HD.611) 911 0 R (HD.6110) 6944 0 R (HD.6111) 6945 0 R (HD.6112) 6946 0 R (HD.6113) 6947 0 R (HD.6114) 6948 0 R (HD.6115) 6949 0 R (HD.6116) 6950 0 R (HD.6117) 6951 0 R (HD.6118) 6952 0 R (HD.6119) 6957 0 R (HD.612) 912 0 R (HD.6120) 6958 0 R (HD.6121) 6959 0 R (HD.6122) 6960 0 R (HD.6123) 6961 0 R (HD.6124) 6962 0 R (HD.6125) 6963 0 R (HD.6126) 6964 0 R (HD.6127) 6965 0 R (HD.6128) 6966 0 R (HD.6129) 6967 0 R (HD.613) 913 0 R (HD.6130) 6968 0 R (HD.6131) 6969 0 R (HD.6132) 6970 0 R (HD.6133) 6971 0 R ] /Limits [ (HD.6105) (HD.6133) ] >>
+<< /Names [ (HD.5159) 5904 0 R (HD.516) 799 0 R (HD.5160) 5905 0 R (HD.5161) 5906 0 R (HD.5162) 5907 0 R (HD.5163) 5908 0 R (HD.5164) 5909 0 R (HD.5165) 5910 0 R (HD.5166) 5911 0 R (HD.5167) 5912 0 R (HD.5168) 5913 0 R (HD.5169) 5914 0 R (HD.517) 800 0 R (HD.5170) 5915 0 R (HD.5171) 5916 0 R (HD.5172) 5917 0 R (HD.5173) 5918 0 R (HD.5174) 5919 0 R (HD.5175) 5920 0 R (HD.5176) 5921 0 R (HD.5177) 5922 0 R (HD.5178) 5923 0 R (HD.5179) 5924 0 R (HD.518) 801 0 R (HD.5180) 5925 0 R (HD.5181) 5926 0 R (HD.5182) 5927 0 R (HD.5183) 5928 0 R (HD.5184) 5929 0 R (HD.5185) 5930 0 R (HD.5186) 5931 0 R (HD.5187) 5932 0 R ] /Limits [ (HD.5159) (HD.5187) ] >>
endobj
11894 0 obj
-<< /Names [ (HD.6134) 6972 0 R (HD.6135) 6973 0 R (HD.6136) 6974 0 R (HD.6137) 6975 0 R (HD.6138) 6976 0 R (HD.6139) 6977 0 R (HD.614) 914 0 R (HD.6140) 6978 0 R (HD.6141) 6979 0 R (HD.6142) 6980 0 R (HD.6143) 6981 0 R (HD.6144) 6982 0 R (HD.6145) 6983 0 R (HD.6146) 6984 0 R (HD.6147) 6985 0 R (HD.6148) 6986 0 R (HD.6149) 6987 0 R (HD.615) 915 0 R (HD.6150) 6988 0 R (HD.6151) 6989 0 R (HD.6152) 6990 0 R (HD.6153) 6991 0 R (HD.6154) 6992 0 R (HD.6155) 6993 0 R (HD.6156) 6994 0 R (HD.6157) 6995 0 R (HD.6158) 6996 0 R (HD.6159) 6997 0 R (HD.616) 916 0 R (HD.6160) 6998 0 R (HD.6161) 6999 0 R (HD.6162) 7000 0 R ] /Limits [ (HD.6134) (HD.6162) ] >>
+<< /Names [ (HD.5188) 5933 0 R (HD.5189) 5934 0 R (HD.519) 802 0 R (HD.5190) 5935 0 R (HD.5191) 5936 0 R (HD.5192) 5937 0 R (HD.5193) 5938 0 R (HD.5194) 5939 0 R (HD.5195) 5940 0 R (HD.5196) 5941 0 R (HD.5197) 5942 0 R (HD.5198) 5943 0 R (HD.5199) 5944 0 R (HD.52) 247 0 R (HD.520) 803 0 R (HD.5200) 5945 0 R (HD.5201) 5946 0 R (HD.5202) 5947 0 R (HD.5203) 5948 0 R (HD.5204) 5949 0 R (HD.5205) 5950 0 R (HD.5206) 5951 0 R (HD.5207) 5952 0 R (HD.5208) 5953 0 R (HD.5209) 5954 0 R (HD.521) 804 0 R (HD.5210) 5955 0 R (HD.5211) 5960 0 R (HD.5212) 5961 0 R (HD.5213) 5962 0 R (HD.5214) 5963 0 R (HD.5215) 5964 0 R ] /Limits [ (HD.5188) (HD.5215) ] >>
endobj
11895 0 obj
-<< /Names [ (HD.6163) 7001 0 R (HD.6164) 7002 0 R (HD.6165) 7003 0 R (HD.6166) 7004 0 R (HD.6167) 7005 0 R (HD.6168) 7006 0 R (HD.6169) 7007 0 R (HD.617) 917 0 R (HD.6170) 7008 0 R (HD.6171) 7009 0 R (HD.6172) 7010 0 R (HD.6173) 7011 0 R (HD.6174) 7012 0 R (HD.6175) 7013 0 R (HD.6176) 7014 0 R (HD.6177) 7015 0 R (HD.6178) 7020 0 R (HD.6179) 7021 0 R (HD.618) 918 0 R (HD.6180) 7022 0 R (HD.6181) 7023 0 R (HD.6182) 7024 0 R (HD.6183) 7025 0 R (HD.6184) 7026 0 R (HD.6185) 7027 0 R (HD.6186) 7028 0 R (HD.6187) 7029 0 R (HD.6188) 7030 0 R (HD.6189) 7031 0 R (HD.619) 919 0 R (HD.6190) 7032 0 R (HD.6191) 7033 0 R ] /Limits [ (HD.6163) (HD.6191) ] >>
+<< /Names [ (HD.5216) 5965 0 R (HD.5217) 5966 0 R (HD.5218) 5967 0 R (HD.5219) 5968 0 R (HD.522) 805 0 R (HD.5220) 5969 0 R (HD.5221) 5970 0 R (HD.5222) 5971 0 R (HD.5223) 5972 0 R (HD.5224) 5973 0 R (HD.5225) 5974 0 R (HD.5226) 5975 0 R (HD.5227) 5976 0 R (HD.5228) 5977 0 R (HD.5229) 5978 0 R (HD.523) 812 0 R (HD.5230) 5979 0 R (HD.5231) 5980 0 R (HD.5232) 5981 0 R (HD.5233) 5982 0 R (HD.5234) 5983 0 R (HD.5235) 5984 0 R (HD.5236) 5985 0 R (HD.5237) 5986 0 R (HD.5238) 5987 0 R (HD.5239) 5988 0 R (HD.524) 813 0 R (HD.5240) 5989 0 R (HD.5241) 5990 0 R (HD.5242) 5991 0 R (HD.5243) 5992 0 R (HD.5244) 5993 0 R ] /Limits [ (HD.5216) (HD.5244) ] >>
endobj
11896 0 obj
-<< /Names [ (HD.6192) 7034 0 R (HD.6193) 7035 0 R (HD.6194) 7036 0 R (HD.6195) 7037 0 R (HD.6196) 7038 0 R (HD.6197) 7039 0 R (HD.6198) 7040 0 R (HD.6199) 7041 0 R (HD.62) 261 0 R (HD.620) 924 0 R (HD.6200) 7042 0 R (HD.6201) 7043 0 R (HD.6202) 7044 0 R (HD.6203) 7045 0 R (HD.6204) 7046 0 R (HD.6205) 7047 0 R (HD.6206) 7048 0 R (HD.6207) 7049 0 R (HD.6208) 7050 0 R (HD.6209) 7051 0 R (HD.621) 925 0 R (HD.6210) 7052 0 R (HD.6211) 7053 0 R (HD.6212) 7054 0 R (HD.6213) 7055 0 R (HD.6214) 7056 0 R (HD.6215) 7057 0 R (HD.6216) 7058 0 R (HD.6217) 7059 0 R (HD.6218) 7060 0 R (HD.6219) 7061 0 R (HD.622) 926 0 R ] /Limits [ (HD.6192) (HD.622) ] >>
+<< /Names [ (HD.5245) 5994 0 R (HD.5246) 5995 0 R (HD.5247) 5996 0 R (HD.5248) 5997 0 R (HD.5249) 5998 0 R (HD.525) 814 0 R (HD.5250) 5999 0 R (HD.5251) 6000 0 R (HD.5252) 6001 0 R (HD.5253) 6002 0 R (HD.5254) 6003 0 R (HD.5255) 6004 0 R (HD.5256) 6005 0 R (HD.5257) 6006 0 R (HD.5258) 6007 0 R (HD.5259) 6008 0 R (HD.526) 815 0 R (HD.5260) 6009 0 R (HD.5261) 6010 0 R (HD.5262) 6011 0 R (HD.5263) 6016 0 R (HD.5264) 6017 0 R (HD.5265) 6018 0 R (HD.5266) 6019 0 R (HD.5267) 6020 0 R (HD.5268) 6021 0 R (HD.5269) 6022 0 R (HD.527) 816 0 R (HD.5270) 6023 0 R (HD.5271) 6024 0 R (HD.5272) 6025 0 R (HD.5273) 6026 0 R ] /Limits [ (HD.5245) (HD.5273) ] >>
endobj
11897 0 obj
-<< /Names [ (HD.6220) 7062 0 R (HD.6221) 7063 0 R (HD.6222) 7064 0 R (HD.6223) 7065 0 R (HD.6224) 7066 0 R (HD.6225) 7067 0 R (HD.6226) 7068 0 R (HD.6227) 7069 0 R (HD.6228) 7070 0 R (HD.6229) 7071 0 R (HD.623) 927 0 R (HD.6230) 7076 0 R (HD.6231) 7077 0 R (HD.6232) 7078 0 R (HD.6233) 7079 0 R (HD.6234) 7080 0 R (HD.6235) 7081 0 R (HD.6236) 7082 0 R (HD.6237) 7083 0 R (HD.6238) 7084 0 R (HD.6239) 7085 0 R (HD.624) 928 0 R (HD.6240) 7086 0 R (HD.6241) 7087 0 R (HD.6242) 7088 0 R (HD.6243) 7089 0 R (HD.6244) 7090 0 R (HD.6245) 7091 0 R (HD.6246) 7092 0 R (HD.6247) 7093 0 R (HD.6248) 7094 0 R (HD.6249) 7095 0 R ] /Limits [ (HD.6220) (HD.6249) ] >>
+<< /Names [ (HD.5274) 6027 0 R (HD.5275) 6028 0 R (HD.5276) 6029 0 R (HD.5277) 6030 0 R (HD.5278) 6031 0 R (HD.5279) 6032 0 R (HD.528) 817 0 R (HD.5280) 6033 0 R (HD.5281) 6034 0 R (HD.5282) 6035 0 R (HD.5283) 6036 0 R (HD.5284) 6037 0 R (HD.5285) 6038 0 R (HD.5286) 6039 0 R (HD.5287) 6040 0 R (HD.5288) 6041 0 R (HD.5289) 6042 0 R (HD.529) 818 0 R (HD.5290) 6043 0 R (HD.5291) 6044 0 R (HD.5292) 6045 0 R (HD.5293) 6046 0 R (HD.5294) 6047 0 R (HD.5295) 6048 0 R (HD.5296) 6049 0 R (HD.5297) 6050 0 R (HD.5298) 6051 0 R (HD.5299) 6052 0 R (HD.53) 248 0 R (HD.530) 819 0 R (HD.5300) 6053 0 R (HD.5301) 6054 0 R ] /Limits [ (HD.5274) (HD.5301) ] >>
endobj
11898 0 obj
-<< /Names [ (HD.625) 929 0 R (HD.6250) 7096 0 R (HD.6251) 7097 0 R (HD.6252) 7098 0 R (HD.6253) 7099 0 R (HD.6254) 7100 0 R (HD.6255) 7101 0 R (HD.6256) 7102 0 R (HD.6257) 7103 0 R (HD.6258) 7104 0 R (HD.6259) 7105 0 R (HD.626) 930 0 R (HD.6260) 7106 0 R (HD.6261) 7107 0 R (HD.6262) 7108 0 R (HD.6263) 7109 0 R (HD.6264) 7110 0 R (HD.6265) 7111 0 R (HD.6266) 7112 0 R (HD.6267) 7113 0 R (HD.6268) 7114 0 R (HD.6269) 7115 0 R (HD.627) 931 0 R (HD.6270) 7116 0 R (HD.6271) 7117 0 R (HD.6272) 7118 0 R (HD.6273) 7123 0 R (HD.6274) 7124 0 R (HD.6275) 7125 0 R (HD.6276) 7126 0 R (HD.6277) 7127 0 R (HD.6278) 7128 0 R ] /Limits [ (HD.625) (HD.6278) ] >>
+<< /Names [ (HD.5302) 6055 0 R (HD.5303) 6056 0 R (HD.5304) 6057 0 R (HD.5305) 6058 0 R (HD.5306) 6059 0 R (HD.5307) 6060 0 R (HD.5308) 6061 0 R (HD.5309) 6062 0 R (HD.531) 820 0 R (HD.5310) 6063 0 R (HD.5311) 6069 0 R (HD.5312) 6070 0 R (HD.5313) 6071 0 R (HD.5314) 6072 0 R (HD.5315) 6073 0 R (HD.5316) 6074 0 R (HD.5317) 6075 0 R (HD.5318) 6076 0 R (HD.5319) 6077 0 R (HD.532) 821 0 R (HD.5320) 6078 0 R (HD.5321) 6079 0 R (HD.5322) 6080 0 R (HD.5323) 6081 0 R (HD.5324) 6082 0 R (HD.5325) 6083 0 R (HD.5326) 6084 0 R (HD.5327) 6085 0 R (HD.5328) 6086 0 R (HD.5329) 6087 0 R (HD.533) 822 0 R (HD.5330) 6088 0 R ] /Limits [ (HD.5302) (HD.5330) ] >>
endobj
11899 0 obj
-<< /Names [ (HD.6279) 7129 0 R (HD.628) 932 0 R (HD.6280) 7130 0 R (HD.6281) 7131 0 R (HD.6282) 7132 0 R (HD.6283) 7133 0 R (HD.6284) 7134 0 R (HD.6285) 7135 0 R (HD.6286) 7136 0 R (HD.6287) 7137 0 R (HD.6288) 7138 0 R (HD.6289) 7139 0 R (HD.629) 933 0 R (HD.6290) 7140 0 R (HD.6291) 7141 0 R (HD.6292) 7142 0 R (HD.6293) 7143 0 R (HD.6294) 7144 0 R (HD.6295) 7145 0 R (HD.6296) 7146 0 R (HD.6297) 7147 0 R (HD.6298) 7148 0 R (HD.6299) 7149 0 R (HD.63) 262 0 R (HD.630) 934 0 R (HD.6300) 7150 0 R (HD.6301) 7151 0 R (HD.6302) 7152 0 R (HD.6303) 7153 0 R (HD.6304) 7154 0 R (HD.6305) 7155 0 R (HD.6306) 7156 0 R ] /Limits [ (HD.6279) (HD.6306) ] >>
+<< /Names [ (HD.5331) 6089 0 R (HD.5332) 6090 0 R (HD.5333) 6091 0 R (HD.5334) 6092 0 R (HD.5335) 6093 0 R (HD.5336) 6094 0 R (HD.5337) 6095 0 R (HD.5338) 6096 0 R (HD.5339) 6097 0 R (HD.534) 823 0 R (HD.5340) 6098 0 R (HD.5341) 6099 0 R (HD.5342) 6100 0 R (HD.5343) 6101 0 R (HD.5344) 6102 0 R (HD.5345) 6103 0 R (HD.5346) 6104 0 R (HD.5347) 6105 0 R (HD.5348) 6112 0 R (HD.5349) 6113 0 R (HD.535) 824 0 R (HD.5350) 6114 0 R (HD.5351) 6115 0 R (HD.5352) 6116 0 R (HD.5353) 6117 0 R (HD.5354) 6118 0 R (HD.5355) 6119 0 R (HD.5356) 6120 0 R (HD.5357) 6121 0 R (HD.5358) 6122 0 R (HD.5359) 6123 0 R (HD.536) 825 0 R ] /Limits [ (HD.5331) (HD.536) ] >>
endobj
11900 0 obj
-<< /Names [ (HD.6307) 7157 0 R (HD.6308) 7158 0 R (HD.6309) 7159 0 R (HD.631) 935 0 R (HD.6310) 7160 0 R (HD.6311) 7161 0 R (HD.6312) 7162 0 R (HD.6313) 7163 0 R (HD.6314) 7164 0 R (HD.6315) 7165 0 R (HD.6316) 7166 0 R (HD.6317) 7167 0 R (HD.6318) 7168 0 R (HD.6319) 7169 0 R (HD.632) 936 0 R (HD.6320) 7170 0 R (HD.6321) 7171 0 R (HD.6322) 7172 0 R (HD.6323) 7173 0 R (HD.6324) 7174 0 R (HD.6325) 7175 0 R (HD.6326) 7176 0 R (HD.6327) 7177 0 R (HD.6328) 7182 0 R (HD.6329) 7183 0 R (HD.633) 937 0 R (HD.6330) 7184 0 R (HD.6331) 7185 0 R (HD.6332) 7186 0 R (HD.6333) 7187 0 R (HD.6334) 7188 0 R (HD.6335) 7189 0 R ] /Limits [ (HD.6307) (HD.6335) ] >>
+<< /Names [ (HD.5360) 6124 0 R (HD.5361) 6125 0 R (HD.5362) 6126 0 R (HD.5363) 6127 0 R (HD.5364) 6128 0 R (HD.5365) 6129 0 R (HD.5366) 6130 0 R (HD.5367) 6131 0 R (HD.5368) 6132 0 R (HD.5369) 6133 0 R (HD.537) 832 0 R (HD.5370) 6134 0 R (HD.5371) 6135 0 R (HD.5372) 6136 0 R (HD.5373) 6137 0 R (HD.5374) 6138 0 R (HD.5375) 6139 0 R (HD.5376) 6140 0 R (HD.5377) 6145 0 R (HD.5378) 6146 0 R (HD.5379) 6147 0 R (HD.538) 833 0 R (HD.5380) 6148 0 R (HD.5381) 6149 0 R (HD.5382) 6150 0 R (HD.5383) 6151 0 R (HD.5384) 6152 0 R (HD.5385) 6153 0 R (HD.5386) 6154 0 R (HD.5387) 6155 0 R (HD.5388) 6156 0 R (HD.5389) 6157 0 R ] /Limits [ (HD.5360) (HD.5389) ] >>
endobj
11901 0 obj
-<< /Names [ (HD.6336) 7190 0 R (HD.6337) 7191 0 R (HD.6338) 7192 0 R (HD.6339) 7193 0 R (HD.634) 938 0 R (HD.6340) 7194 0 R (HD.6341) 7195 0 R (HD.6342) 7196 0 R (HD.6343) 7197 0 R (HD.6344) 7198 0 R (HD.6345) 7199 0 R (HD.6346) 7200 0 R (HD.6347) 7201 0 R (HD.6348) 7202 0 R (HD.6349) 7203 0 R (HD.635) 939 0 R (HD.6350) 7204 0 R (HD.6351) 7205 0 R (HD.6352) 7206 0 R (HD.6353) 7207 0 R (HD.6354) 7208 0 R (HD.6355) 7209 0 R (HD.6356) 7210 0 R (HD.6357) 7211 0 R (HD.6358) 7212 0 R (HD.6359) 7213 0 R (HD.636) 940 0 R (HD.6360) 7214 0 R (HD.6361) 7215 0 R (HD.6362) 7216 0 R (HD.6363) 7217 0 R (HD.6364) 7218 0 R ] /Limits [ (HD.6336) (HD.6364) ] >>
+<< /Names [ (HD.539) 834 0 R (HD.5390) 6158 0 R (HD.5391) 6159 0 R (HD.5392) 6160 0 R (HD.5393) 6161 0 R (HD.5394) 6162 0 R (HD.5395) 6163 0 R (HD.5396) 6164 0 R (HD.5397) 6165 0 R (HD.5398) 6166 0 R (HD.5399) 6167 0 R (HD.54) 249 0 R (HD.540) 835 0 R (HD.5400) 6168 0 R (HD.5401) 6169 0 R (HD.5402) 6170 0 R (HD.5403) 6171 0 R (HD.5404) 6172 0 R (HD.5405) 6173 0 R (HD.5406) 6174 0 R (HD.5407) 6175 0 R (HD.5408) 6176 0 R (HD.5409) 6177 0 R (HD.541) 836 0 R (HD.5410) 6178 0 R (HD.5411) 6179 0 R (HD.5412) 6180 0 R (HD.5413) 6181 0 R (HD.5414) 6182 0 R (HD.5415) 6183 0 R (HD.5416) 6184 0 R (HD.5417) 6185 0 R ] /Limits [ (HD.539) (HD.5417) ] >>
endobj
11902 0 obj
-<< /Names [ (HD.6365) 7219 0 R (HD.6366) 7220 0 R (HD.6367) 7221 0 R (HD.6368) 7222 0 R (HD.6369) 7223 0 R (HD.637) 941 0 R (HD.6370) 7224 0 R (HD.6371) 7225 0 R (HD.6372) 7226 0 R (HD.6373) 7227 0 R (HD.6374) 7228 0 R (HD.6375) 7229 0 R (HD.6376) 7230 0 R (HD.6377) 7231 0 R (HD.6378) 7232 0 R (HD.6379) 7233 0 R (HD.638) 942 0 R (HD.6380) 7238 0 R (HD.6381) 7239 0 R (HD.6382) 7240 0 R (HD.6383) 7241 0 R (HD.6384) 7242 0 R (HD.6385) 7243 0 R (HD.6386) 7244 0 R (HD.6387) 7245 0 R (HD.6388) 7246 0 R (HD.6389) 7247 0 R (HD.639) 943 0 R (HD.6390) 7248 0 R (HD.6391) 7249 0 R (HD.6392) 7250 0 R (HD.6393) 7251 0 R ] /Limits [ (HD.6365) (HD.6393) ] >>
+<< /Names [ (HD.5418) 6186 0 R (HD.5419) 6187 0 R (HD.542) 837 0 R (HD.5420) 6188 0 R (HD.5421) 6189 0 R (HD.5422) 6190 0 R (HD.5423) 6191 0 R (HD.5424) 6192 0 R (HD.5425) 6193 0 R (HD.5426) 6194 0 R (HD.5427) 6195 0 R (HD.5428) 6200 0 R (HD.5429) 6201 0 R (HD.543) 838 0 R (HD.5430) 6202 0 R (HD.5431) 6203 0 R (HD.5432) 6204 0 R (HD.5433) 6205 0 R (HD.5434) 6206 0 R (HD.5435) 6207 0 R (HD.5436) 6208 0 R (HD.5437) 6209 0 R (HD.5438) 6210 0 R (HD.5439) 6211 0 R (HD.544) 839 0 R (HD.5440) 6212 0 R (HD.5441) 6213 0 R (HD.5442) 6214 0 R (HD.5443) 6215 0 R (HD.5444) 6216 0 R (HD.5445) 6217 0 R (HD.5446) 6218 0 R ] /Limits [ (HD.5418) (HD.5446) ] >>
endobj
11903 0 obj
-<< /Names [ (HD.6394) 7252 0 R (HD.6395) 7253 0 R (HD.6396) 7254 0 R (HD.6397) 7255 0 R (HD.6398) 7256 0 R (HD.6399) 7257 0 R (HD.64) 263 0 R (HD.640) 944 0 R (HD.6400) 7258 0 R (HD.6401) 7259 0 R (HD.6402) 7260 0 R (HD.6403) 7261 0 R (HD.6404) 7262 0 R (HD.6405) 7263 0 R (HD.6406) 7264 0 R (HD.6407) 7265 0 R (HD.6408) 7266 0 R (HD.6409) 7267 0 R (HD.641) 945 0 R (HD.6410) 7268 0 R (HD.6411) 7269 0 R (HD.6412) 7270 0 R (HD.6413) 7271 0 R (HD.6414) 7272 0 R (HD.6415) 7273 0 R (HD.6416) 7274 0 R (HD.6417) 7275 0 R (HD.6418) 7276 0 R (HD.6419) 7277 0 R (HD.642) 946 0 R (HD.6420) 7278 0 R (HD.6421) 7279 0 R ] /Limits [ (HD.6394) (HD.6421) ] >>
+<< /Names [ (HD.5447) 6219 0 R (HD.5448) 6220 0 R (HD.5449) 6221 0 R (HD.545) 840 0 R (HD.5450) 6222 0 R (HD.5451) 6223 0 R (HD.5452) 6224 0 R (HD.5453) 6225 0 R (HD.5454) 6226 0 R (HD.5455) 6227 0 R (HD.5456) 6228 0 R (HD.5457) 6229 0 R (HD.5458) 6230 0 R (HD.5459) 6231 0 R (HD.546) 841 0 R (HD.5460) 6232 0 R (HD.5461) 6233 0 R (HD.5462) 6234 0 R (HD.5463) 6235 0 R (HD.5464) 6236 0 R (HD.5465) 6237 0 R (HD.5466) 6238 0 R (HD.5467) 6239 0 R (HD.5468) 6240 0 R (HD.5469) 6241 0 R (HD.547) 842 0 R (HD.5470) 6242 0 R (HD.5471) 6243 0 R (HD.5472) 6244 0 R (HD.5473) 6245 0 R (HD.5474) 6246 0 R (HD.5475) 6247 0 R ] /Limits [ (HD.5447) (HD.5475) ] >>
endobj
11904 0 obj
-<< /Names [ (HD.6422) 7280 0 R (HD.6423) 7281 0 R (HD.6424) 7282 0 R (HD.6425) 7283 0 R (HD.6426) 7288 0 R (HD.6427) 7289 0 R (HD.6428) 7290 0 R (HD.6429) 7291 0 R (HD.643) 947 0 R (HD.6430) 7292 0 R (HD.6431) 7293 0 R (HD.6432) 7294 0 R (HD.6433) 7295 0 R (HD.6434) 7296 0 R (HD.6435) 7297 0 R (HD.6436) 7298 0 R (HD.6437) 7299 0 R (HD.6438) 7300 0 R (HD.6439) 7301 0 R (HD.644) 948 0 R (HD.6440) 7302 0 R (HD.6441) 7303 0 R (HD.6442) 7304 0 R (HD.6443) 7305 0 R (HD.6444) 7306 0 R (HD.6445) 7307 0 R (HD.6446) 7308 0 R (HD.6447) 7309 0 R (HD.6448) 7310 0 R (HD.6449) 7311 0 R (HD.645) 949 0 R (HD.6450) 7312 0 R ] /Limits [ (HD.6422) (HD.6450) ] >>
+<< /Names [ (HD.5476) 6248 0 R (HD.5477) 6249 0 R (HD.5478) 6250 0 R (HD.5479) 6251 0 R (HD.548) 843 0 R (HD.5480) 6252 0 R (HD.5481) 6253 0 R (HD.5482) 6254 0 R (HD.5483) 6255 0 R (HD.5484) 6260 0 R (HD.5485) 6261 0 R (HD.5486) 6262 0 R (HD.5487) 6263 0 R (HD.5488) 6264 0 R (HD.5489) 6265 0 R (HD.549) 844 0 R (HD.5490) 6266 0 R (HD.5491) 6267 0 R (HD.5492) 6268 0 R (HD.5493) 6269 0 R (HD.5494) 6270 0 R (HD.5495) 6271 0 R (HD.5496) 6272 0 R (HD.5497) 6273 0 R (HD.5498) 6274 0 R (HD.5499) 6275 0 R (HD.55) 250 0 R (HD.550) 845 0 R (HD.5500) 6276 0 R (HD.5501) 6277 0 R (HD.5502) 6278 0 R (HD.5503) 6279 0 R ] /Limits [ (HD.5476) (HD.5503) ] >>
endobj
11905 0 obj
-<< /Names [ (HD.6451) 7313 0 R (HD.6452) 7314 0 R (HD.6453) 7315 0 R (HD.6454) 7316 0 R (HD.6455) 7317 0 R (HD.6456) 7318 0 R (HD.6457) 7319 0 R (HD.6458) 7320 0 R (HD.6459) 7321 0 R (HD.646) 950 0 R (HD.6460) 7322 0 R (HD.6461) 7323 0 R (HD.6462) 7324 0 R (HD.6463) 7325 0 R (HD.6464) 7326 0 R (HD.6465) 7327 0 R (HD.6466) 7328 0 R (HD.6467) 7329 0 R (HD.6468) 7330 0 R (HD.6469) 7331 0 R (HD.647) 951 0 R (HD.6470) 7332 0 R (HD.6471) 7333 0 R (HD.6472) 7334 0 R (HD.6473) 7335 0 R (HD.6474) 7336 0 R (HD.6475) 7337 0 R (HD.6476) 7343 0 R (HD.6477) 7344 0 R (HD.6478) 7345 0 R (HD.6479) 7346 0 R (HD.648) 952 0 R ] /Limits [ (HD.6451) (HD.648) ] >>
+<< /Names [ (HD.5504) 6280 0 R (HD.5505) 6281 0 R (HD.5506) 6286 0 R (HD.5507) 6287 0 R (HD.5508) 6288 0 R (HD.5509) 6289 0 R (HD.551) 846 0 R (HD.5510) 6290 0 R (HD.5511) 6291 0 R (HD.5512) 6292 0 R (HD.5513) 6293 0 R (HD.5514) 6294 0 R (HD.5515) 6295 0 R (HD.5516) 6296 0 R (HD.5517) 6297 0 R (HD.5518) 6298 0 R (HD.5519) 6299 0 R (HD.552) 847 0 R (HD.5520) 6300 0 R (HD.5521) 6301 0 R (HD.5522) 6302 0 R (HD.5523) 6303 0 R (HD.5524) 6304 0 R (HD.5525) 6305 0 R (HD.5526) 6306 0 R (HD.5527) 6307 0 R (HD.5528) 6308 0 R (HD.5529) 6309 0 R (HD.553) 848 0 R (HD.5530) 6310 0 R (HD.5531) 6311 0 R (HD.5532) 6312 0 R ] /Limits [ (HD.5504) (HD.5532) ] >>
endobj
11906 0 obj
-<< /Names [ (HD.6480) 7347 0 R (HD.6481) 7348 0 R (HD.6482) 7349 0 R (HD.6483) 7350 0 R (HD.6484) 7351 0 R (HD.6485) 7352 0 R (HD.6486) 7353 0 R (HD.6487) 7354 0 R (HD.6488) 7355 0 R (HD.6489) 7356 0 R (HD.649) 953 0 R (HD.6490) 7357 0 R (HD.6491) 7358 0 R (HD.6492) 7359 0 R (HD.6493) 7360 0 R (HD.6494) 7361 0 R (HD.6495) 7362 0 R (HD.6496) 7363 0 R (HD.6497) 7364 0 R (HD.6498) 7365 0 R (HD.6499) 7366 0 R (HD.65) 265 0 R (HD.650) 954 0 R (HD.6500) 7367 0 R (HD.6501) 7368 0 R (HD.6502) 7369 0 R (HD.6503) 7370 0 R (HD.6504) 7371 0 R (HD.6505) 7372 0 R (HD.6506) 7373 0 R (HD.6507) 7374 0 R (HD.6508) 7375 0 R ] /Limits [ (HD.6480) (HD.6508) ] >>
+<< /Names [ (HD.5533) 6313 0 R (HD.5534) 6314 0 R (HD.5535) 6315 0 R (HD.5536) 6316 0 R (HD.5537) 6317 0 R (HD.5538) 6318 0 R (HD.5539) 6319 0 R (HD.554) 849 0 R (HD.5540) 6320 0 R (HD.5541) 6321 0 R (HD.5542) 6322 0 R (HD.5543) 6323 0 R (HD.5544) 6324 0 R (HD.5545) 6325 0 R (HD.5546) 6326 0 R (HD.5547) 6327 0 R (HD.5548) 6328 0 R (HD.5549) 6329 0 R (HD.555) 850 0 R (HD.5550) 6330 0 R (HD.5551) 6331 0 R (HD.5552) 6332 0 R (HD.5553) 6333 0 R (HD.5554) 6339 0 R (HD.5555) 6340 0 R (HD.5556) 6341 0 R (HD.5557) 6342 0 R (HD.5558) 6343 0 R (HD.5559) 6344 0 R (HD.556) 851 0 R (HD.5560) 6345 0 R (HD.5561) 6346 0 R ] /Limits [ (HD.5533) (HD.5561) ] >>
endobj
11907 0 obj
-<< /Names [ (HD.6509) 7376 0 R (HD.651) 955 0 R (HD.6510) 7377 0 R (HD.6511) 7378 0 R (HD.6512) 7379 0 R (HD.6513) 7380 0 R (HD.6514) 7381 0 R (HD.6515) 7382 0 R (HD.6516) 7383 0 R (HD.6517) 7384 0 R (HD.6518) 7385 0 R (HD.6519) 7386 0 R (HD.652) 956 0 R (HD.6520) 7387 0 R (HD.6521) 7388 0 R (HD.6522) 7393 0 R (HD.6523) 7394 0 R (HD.6524) 7395 0 R (HD.6525) 7396 0 R (HD.6526) 7397 0 R (HD.6527) 7398 0 R (HD.6528) 7399 0 R (HD.6529) 7400 0 R (HD.653) 957 0 R (HD.6530) 7401 0 R (HD.6531) 7402 0 R (HD.6532) 7403 0 R (HD.6533) 7404 0 R (HD.6534) 7405 0 R (HD.6535) 7406 0 R (HD.6536) 7407 0 R (HD.6537) 7408 0 R ] /Limits [ (HD.6509) (HD.6537) ] >>
+<< /Names [ (HD.5562) 6347 0 R (HD.5563) 6348 0 R (HD.5564) 6349 0 R (HD.5565) 6350 0 R (HD.5566) 6351 0 R (HD.5567) 6352 0 R (HD.5568) 6353 0 R (HD.5569) 6354 0 R (HD.557) 852 0 R (HD.5570) 6355 0 R (HD.5571) 6356 0 R (HD.5572) 6357 0 R (HD.5573) 6358 0 R (HD.5574) 6359 0 R (HD.5575) 6360 0 R (HD.5576) 6361 0 R (HD.5577) 6362 0 R (HD.5578) 6363 0 R (HD.5579) 6364 0 R (HD.558) 853 0 R (HD.5580) 6365 0 R (HD.5581) 6366 0 R (HD.5582) 6367 0 R (HD.5583) 6368 0 R (HD.5584) 6369 0 R (HD.5585) 6370 0 R (HD.5586) 6371 0 R (HD.5587) 6372 0 R (HD.5588) 6373 0 R (HD.5589) 6374 0 R (HD.559) 854 0 R (HD.5590) 6375 0 R ] /Limits [ (HD.5562) (HD.5590) ] >>
endobj
11908 0 obj
-<< /Names [ (HD.6538) 7409 0 R (HD.6539) 7410 0 R (HD.654) 958 0 R (HD.6540) 7411 0 R (HD.6541) 7412 0 R (HD.6542) 7413 0 R (HD.6543) 7414 0 R (HD.6544) 7415 0 R (HD.6545) 7416 0 R (HD.6546) 7417 0 R (HD.6547) 7418 0 R (HD.6548) 7419 0 R (HD.6549) 7420 0 R (HD.655) 959 0 R (HD.6550) 7421 0 R (HD.6551) 7422 0 R (HD.6552) 7423 0 R (HD.6553) 7424 0 R (HD.6554) 7425 0 R (HD.6555) 7426 0 R (HD.6556) 7427 0 R (HD.6557) 7428 0 R (HD.6558) 7429 0 R (HD.6559) 7430 0 R (HD.656) 960 0 R (HD.6560) 7431 0 R (HD.6561) 7432 0 R (HD.6562) 7433 0 R (HD.6563) 7434 0 R (HD.6564) 7435 0 R (HD.6565) 7436 0 R (HD.6566) 7437 0 R ] /Limits [ (HD.6538) (HD.6566) ] >>
+<< /Names [ (HD.5591) 6376 0 R (HD.5592) 6377 0 R (HD.5593) 6378 0 R (HD.5594) 6379 0 R (HD.5595) 6380 0 R (HD.5596) 6381 0 R (HD.5597) 6382 0 R (HD.5598) 6383 0 R (HD.5599) 6384 0 R (HD.56) 251 0 R (HD.560) 855 0 R (HD.5600) 6389 0 R (HD.5601) 6390 0 R (HD.5602) 6391 0 R (HD.5603) 6392 0 R (HD.5604) 6393 0 R (HD.5605) 6394 0 R (HD.5606) 6395 0 R (HD.5607) 6396 0 R (HD.5608) 6397 0 R (HD.5609) 6398 0 R (HD.561) 856 0 R (HD.5610) 6399 0 R (HD.5611) 6400 0 R (HD.5612) 6401 0 R (HD.5613) 6402 0 R (HD.5614) 6403 0 R (HD.5615) 6404 0 R (HD.5616) 6405 0 R (HD.5617) 6406 0 R (HD.5618) 6407 0 R (HD.5619) 6408 0 R ] /Limits [ (HD.5591) (HD.5619) ] >>
endobj
11909 0 obj
-<< /Names [ (HD.6567) 7438 0 R (HD.6568) 7439 0 R (HD.6569) 7444 0 R (HD.657) 961 0 R (HD.6570) 7445 0 R (HD.6571) 7446 0 R (HD.6572) 7447 0 R (HD.6573) 7448 0 R (HD.6574) 7449 0 R (HD.6575) 7450 0 R (HD.6576) 7451 0 R (HD.6577) 7452 0 R (HD.6578) 7453 0 R (HD.6579) 7454 0 R (HD.658) 962 0 R (HD.6580) 7455 0 R (HD.6581) 7456 0 R (HD.6582) 7457 0 R (HD.6583) 7458 0 R (HD.6584) 7459 0 R (HD.6585) 7460 0 R (HD.6586) 7461 0 R (HD.6587) 7462 0 R (HD.6588) 7463 0 R (HD.6589) 7464 0 R (HD.659) 963 0 R (HD.6590) 7465 0 R (HD.6591) 7466 0 R (HD.6592) 7467 0 R (HD.6593) 7468 0 R (HD.6594) 7469 0 R (HD.6595) 7470 0 R ] /Limits [ (HD.6567) (HD.6595) ] >>
+<< /Names [ (HD.562) 857 0 R (HD.5620) 6409 0 R (HD.5621) 6410 0 R (HD.5622) 6411 0 R (HD.5623) 6412 0 R (HD.5624) 6413 0 R (HD.5625) 6414 0 R (HD.5626) 6415 0 R (HD.5627) 6416 0 R (HD.5628) 6417 0 R (HD.5629) 6418 0 R (HD.563) 858 0 R (HD.5630) 6419 0 R (HD.5631) 6420 0 R (HD.5632) 6421 0 R (HD.5633) 6422 0 R (HD.5634) 6423 0 R (HD.5635) 6424 0 R (HD.5636) 6425 0 R (HD.5637) 6426 0 R (HD.5638) 6427 0 R (HD.5639) 6428 0 R (HD.564) 859 0 R (HD.5640) 6429 0 R (HD.5641) 6430 0 R (HD.5642) 6431 0 R (HD.5643) 6432 0 R (HD.5644) 6433 0 R (HD.5645) 6434 0 R (HD.5646) 6435 0 R (HD.5647) 6436 0 R (HD.5648) 6437 0 R ] /Limits [ (HD.562) (HD.5648) ] >>
endobj
11910 0 obj
-<< /Names [ (HD.6596) 7471 0 R (HD.6597) 7472 0 R (HD.6598) 7473 0 R (HD.6599) 7474 0 R (HD.66) 266 0 R (HD.660) 968 0 R (HD.6600) 7475 0 R (HD.6601) 7476 0 R (HD.6602) 7477 0 R (HD.6603) 7478 0 R (HD.6604) 7479 0 R (HD.6605) 7480 0 R (HD.6606) 7481 0 R (HD.6607) 7482 0 R (HD.6608) 7483 0 R (HD.6609) 7484 0 R (HD.661) 969 0 R (HD.6610) 7485 0 R (HD.6611) 7486 0 R (HD.6612) 7491 0 R (HD.6613) 7492 0 R (HD.6614) 7493 0 R (HD.6615) 7494 0 R (HD.6616) 7495 0 R (HD.6617) 7496 0 R (HD.6618) 7497 0 R (HD.6619) 7498 0 R (HD.662) 970 0 R (HD.6620) 7499 0 R (HD.6621) 7500 0 R (HD.6622) 7501 0 R (HD.6623) 7502 0 R ] /Limits [ (HD.6596) (HD.6623) ] >>
+<< /Names [ (HD.5649) 6442 0 R (HD.565) 860 0 R (HD.5650) 6443 0 R (HD.5651) 6444 0 R (HD.5652) 6445 0 R (HD.5653) 6446 0 R (HD.5654) 6447 0 R (HD.5655) 6448 0 R (HD.5656) 6449 0 R (HD.5657) 6450 0 R (HD.5658) 6451 0 R (HD.5659) 6452 0 R (HD.566) 861 0 R (HD.5660) 6453 0 R (HD.5661) 6454 0 R (HD.5662) 6455 0 R (HD.5663) 6456 0 R (HD.5664) 6457 0 R (HD.5665) 6458 0 R (HD.5666) 6459 0 R (HD.5667) 6460 0 R (HD.5668) 6461 0 R (HD.5669) 6462 0 R (HD.567) 862 0 R (HD.5670) 6463 0 R (HD.5671) 6464 0 R (HD.5672) 6465 0 R (HD.5673) 6466 0 R (HD.5674) 6467 0 R (HD.5675) 6468 0 R (HD.5676) 6469 0 R (HD.5677) 6470 0 R ] /Limits [ (HD.5649) (HD.5677) ] >>
endobj
11911 0 obj
-<< /Names [ (HD.6624) 7503 0 R (HD.6625) 7504 0 R (HD.6626) 7505 0 R (HD.6627) 7506 0 R (HD.6628) 7507 0 R (HD.6629) 7508 0 R (HD.663) 971 0 R (HD.6630) 7509 0 R (HD.6631) 7510 0 R (HD.6632) 7511 0 R (HD.6633) 7512 0 R (HD.6634) 7513 0 R (HD.6635) 7514 0 R (HD.6636) 7515 0 R (HD.6637) 7516 0 R (HD.6638) 7517 0 R (HD.6639) 7518 0 R (HD.664) 972 0 R (HD.6640) 7519 0 R (HD.6641) 7520 0 R (HD.6642) 7521 0 R (HD.6643) 7522 0 R (HD.6644) 7523 0 R (HD.6645) 7524 0 R (HD.6646) 7525 0 R (HD.6647) 7526 0 R (HD.6648) 7527 0 R (HD.6649) 7528 0 R (HD.665) 973 0 R (HD.6650) 7529 0 R (HD.6651) 7530 0 R (HD.6652) 7531 0 R ] /Limits [ (HD.6624) (HD.6652) ] >>
+<< /Names [ (HD.5678) 6471 0 R (HD.5679) 6472 0 R (HD.568) 863 0 R (HD.5680) 6473 0 R (HD.5681) 6474 0 R (HD.5682) 6475 0 R (HD.5683) 6476 0 R (HD.5684) 6477 0 R (HD.5685) 6478 0 R (HD.5686) 6479 0 R (HD.5687) 6480 0 R (HD.5688) 6481 0 R (HD.5689) 6486 0 R (HD.569) 864 0 R (HD.5690) 6487 0 R (HD.5691) 6488 0 R (HD.5692) 6489 0 R (HD.5693) 6490 0 R (HD.5694) 6491 0 R (HD.5695) 6492 0 R (HD.5696) 6493 0 R (HD.5697) 6494 0 R (HD.5698) 6495 0 R (HD.5699) 6496 0 R (HD.57) 252 0 R (HD.570) 865 0 R (HD.5700) 6497 0 R (HD.5701) 6498 0 R (HD.5702) 6499 0 R (HD.5703) 6500 0 R (HD.5704) 6501 0 R (HD.5705) 6502 0 R ] /Limits [ (HD.5678) (HD.5705) ] >>
endobj
11912 0 obj
-<< /Names [ (HD.6653) 7532 0 R (HD.6654) 7533 0 R (HD.6655) 7534 0 R (HD.6656) 7535 0 R (HD.6657) 7536 0 R (HD.6658) 7537 0 R (HD.6659) 7538 0 R (HD.666) 974 0 R (HD.6660) 7539 0 R (HD.6661) 7540 0 R (HD.6662) 7541 0 R (HD.6663) 7542 0 R (HD.6664) 7543 0 R (HD.6665) 7544 0 R (HD.6666) 7549 0 R (HD.6667) 7550 0 R (HD.6668) 7551 0 R (HD.6669) 7552 0 R (HD.667) 975 0 R (HD.6670) 7553 0 R (HD.6671) 7554 0 R (HD.6672) 7555 0 R (HD.6673) 7556 0 R (HD.6674) 7557 0 R (HD.6675) 7558 0 R (HD.6676) 7559 0 R (HD.6677) 7560 0 R (HD.6678) 7561 0 R (HD.6679) 7562 0 R (HD.668) 976 0 R (HD.6680) 7563 0 R (HD.6681) 7564 0 R ] /Limits [ (HD.6653) (HD.6681) ] >>
+<< /Names [ (HD.5706) 6503 0 R (HD.5707) 6504 0 R (HD.5708) 6505 0 R (HD.5709) 6506 0 R (HD.571) 866 0 R (HD.5710) 6507 0 R (HD.5711) 6508 0 R (HD.5712) 6509 0 R (HD.5713) 6510 0 R (HD.5714) 6511 0 R (HD.5715) 6512 0 R (HD.5716) 6513 0 R (HD.5717) 6514 0 R (HD.5718) 6515 0 R (HD.5719) 6516 0 R (HD.572) 867 0 R (HD.5720) 6517 0 R (HD.5721) 6518 0 R (HD.5722) 6519 0 R (HD.5723) 6520 0 R (HD.5724) 6521 0 R (HD.5725) 6522 0 R (HD.5726) 6523 0 R (HD.5727) 6524 0 R (HD.5728) 6525 0 R (HD.5729) 6526 0 R (HD.573) 868 0 R (HD.5730) 6527 0 R (HD.5731) 6528 0 R (HD.5732) 6529 0 R (HD.5733) 6530 0 R (HD.5734) 6531 0 R ] /Limits [ (HD.5706) (HD.5734) ] >>
endobj
11913 0 obj
-<< /Names [ (HD.6682) 7565 0 R (HD.6683) 7566 0 R (HD.6684) 7567 0 R (HD.6685) 7568 0 R (HD.6686) 7569 0 R (HD.6687) 7570 0 R (HD.6688) 7571 0 R (HD.6689) 7572 0 R (HD.669) 977 0 R (HD.6690) 7573 0 R (HD.6691) 7574 0 R (HD.6692) 7575 0 R (HD.6693) 7576 0 R (HD.6694) 7577 0 R (HD.6695) 7578 0 R (HD.6696) 7579 0 R (HD.6697) 7580 0 R (HD.6698) 7581 0 R (HD.6699) 7582 0 R (HD.67) 267 0 R (HD.670) 978 0 R (HD.6700) 7583 0 R (HD.6701) 7584 0 R (HD.6702) 7585 0 R (HD.6703) 7586 0 R (HD.6704) 7587 0 R (HD.6705) 7588 0 R (HD.6706) 7589 0 R (HD.6707) 7590 0 R (HD.6708) 7591 0 R (HD.6709) 7592 0 R (HD.671) 979 0 R ] /Limits [ (HD.6682) (HD.671) ] >>
+<< /Names [ (HD.5735) 6532 0 R (HD.5736) 6533 0 R (HD.5737) 6534 0 R (HD.5738) 6535 0 R (HD.5739) 6540 0 R (HD.574) 869 0 R (HD.5740) 6541 0 R (HD.5741) 6542 0 R (HD.5742) 6543 0 R (HD.5743) 6544 0 R (HD.5744) 6545 0 R (HD.5745) 6546 0 R (HD.5746) 6547 0 R (HD.5747) 6548 0 R (HD.5748) 6549 0 R (HD.5749) 6550 0 R (HD.575) 870 0 R (HD.5750) 6551 0 R (HD.5751) 6552 0 R (HD.5752) 6553 0 R (HD.5753) 6554 0 R (HD.5754) 6555 0 R (HD.5755) 6556 0 R (HD.5756) 6557 0 R (HD.5757) 6558 0 R (HD.5758) 6559 0 R (HD.5759) 6560 0 R (HD.576) 876 0 R (HD.5760) 6561 0 R (HD.5761) 6562 0 R (HD.5762) 6563 0 R (HD.5763) 6564 0 R ] /Limits [ (HD.5735) (HD.5763) ] >>
endobj
11914 0 obj
-<< /Names [ (HD.6710) 7593 0 R (HD.6711) 7594 0 R (HD.6712) 7595 0 R (HD.6713) 7600 0 R (HD.6714) 7601 0 R (HD.6715) 7602 0 R (HD.6716) 7603 0 R (HD.6717) 7604 0 R (HD.6718) 7605 0 R (HD.6719) 7606 0 R (HD.672) 980 0 R (HD.6720) 7607 0 R (HD.6721) 7608 0 R (HD.6722) 7609 0 R (HD.6723) 7610 0 R (HD.6724) 7611 0 R (HD.6725) 7612 0 R (HD.6726) 7613 0 R (HD.6727) 7614 0 R (HD.6728) 7615 0 R (HD.6729) 7616 0 R (HD.673) 981 0 R (HD.6730) 7617 0 R (HD.6731) 7618 0 R (HD.6732) 7619 0 R (HD.6733) 7620 0 R (HD.6734) 7621 0 R (HD.6735) 7622 0 R (HD.6736) 7623 0 R (HD.6737) 7624 0 R (HD.6738) 7625 0 R (HD.6739) 7626 0 R ] /Limits [ (HD.6710) (HD.6739) ] >>
+<< /Names [ (HD.5764) 6565 0 R (HD.5765) 6566 0 R (HD.5766) 6567 0 R (HD.5767) 6568 0 R (HD.5768) 6569 0 R (HD.5769) 6570 0 R (HD.577) 877 0 R (HD.5770) 6571 0 R (HD.5771) 6572 0 R (HD.5772) 6573 0 R (HD.5773) 6574 0 R (HD.5774) 6575 0 R (HD.5775) 6576 0 R (HD.5776) 6577 0 R (HD.5777) 6578 0 R (HD.5778) 6579 0 R (HD.5779) 6584 0 R (HD.578) 878 0 R (HD.5780) 6585 0 R (HD.5781) 6586 0 R (HD.5782) 6587 0 R (HD.5783) 6588 0 R (HD.5784) 6589 0 R (HD.5785) 6590 0 R (HD.5786) 6591 0 R (HD.5787) 6592 0 R (HD.5788) 6593 0 R (HD.5789) 6594 0 R (HD.579) 879 0 R (HD.5790) 6595 0 R (HD.5791) 6596 0 R (HD.5792) 6597 0 R ] /Limits [ (HD.5764) (HD.5792) ] >>
endobj
11915 0 obj
-<< /Names [ (HD.674) 982 0 R (HD.6740) 7627 0 R (HD.6741) 7628 0 R (HD.6742) 7629 0 R (HD.6743) 7630 0 R (HD.6744) 7631 0 R (HD.6745) 7632 0 R (HD.6746) 7633 0 R (HD.6747) 7634 0 R (HD.6748) 7635 0 R (HD.6749) 7636 0 R (HD.675) 983 0 R (HD.6750) 7637 0 R (HD.6751) 7638 0 R (HD.6752) 7643 0 R (HD.6753) 7644 0 R (HD.6754) 7645 0 R (HD.6755) 7646 0 R (HD.6756) 7647 0 R (HD.6757) 7648 0 R (HD.6758) 7649 0 R (HD.6759) 7650 0 R (HD.676) 984 0 R (HD.6760) 7651 0 R (HD.6761) 7652 0 R (HD.6762) 7653 0 R (HD.6763) 7654 0 R (HD.6764) 7655 0 R (HD.6765) 7656 0 R (HD.6766) 7657 0 R (HD.6767) 7658 0 R (HD.6768) 7659 0 R ] /Limits [ (HD.674) (HD.6768) ] >>
+<< /Names [ (HD.5793) 6598 0 R (HD.5794) 6599 0 R (HD.5795) 6600 0 R (HD.5796) 6601 0 R (HD.5797) 6602 0 R (HD.5798) 6603 0 R (HD.5799) 6604 0 R (HD.58) 253 0 R (HD.580) 880 0 R (HD.5800) 6605 0 R (HD.5801) 6606 0 R (HD.5802) 6607 0 R (HD.5803) 6608 0 R (HD.5804) 6609 0 R (HD.5805) 6610 0 R (HD.5806) 6611 0 R (HD.5807) 6612 0 R (HD.5808) 6613 0 R (HD.5809) 6614 0 R (HD.581) 881 0 R (HD.5810) 6615 0 R (HD.5811) 6616 0 R (HD.5812) 6617 0 R (HD.5813) 6618 0 R (HD.5814) 6619 0 R (HD.5815) 6620 0 R (HD.5816) 6621 0 R (HD.5817) 6622 0 R (HD.5818) 6623 0 R (HD.5819) 6624 0 R (HD.582) 882 0 R (HD.5820) 6625 0 R ] /Limits [ (HD.5793) (HD.5820) ] >>
endobj
11916 0 obj
-<< /Names [ (HD.6769) 7660 0 R (HD.677) 985 0 R (HD.6770) 7661 0 R (HD.6771) 7662 0 R (HD.6772) 7663 0 R (HD.6773) 7664 0 R (HD.6774) 7665 0 R (HD.6775) 7666 0 R (HD.6776) 7667 0 R (HD.6777) 7668 0 R (HD.6778) 7669 0 R (HD.6779) 7670 0 R (HD.678) 986 0 R (HD.6780) 7671 0 R (HD.6781) 7672 0 R (HD.6782) 7673 0 R (HD.6783) 7674 0 R (HD.6784) 7675 0 R (HD.6785) 7676 0 R (HD.6786) 7677 0 R (HD.6787) 7678 0 R (HD.6788) 7679 0 R (HD.6789) 7680 0 R (HD.679) 987 0 R (HD.6790) 7681 0 R (HD.6791) 7682 0 R (HD.6792) 7683 0 R (HD.6793) 7684 0 R (HD.6794) 7685 0 R (HD.6795) 7686 0 R (HD.6796) 7687 0 R (HD.6797) 7688 0 R ] /Limits [ (HD.6769) (HD.6797) ] >>
+<< /Names [ (HD.5821) 6626 0 R (HD.5822) 6627 0 R (HD.5823) 6628 0 R (HD.5824) 6629 0 R (HD.5825) 6630 0 R (HD.5826) 6631 0 R (HD.5827) 6632 0 R (HD.5828) 6633 0 R (HD.5829) 6634 0 R (HD.583) 883 0 R (HD.5830) 6635 0 R (HD.5831) 6636 0 R (HD.5832) 6637 0 R (HD.5833) 6638 0 R (HD.5834) 6643 0 R (HD.5835) 6644 0 R (HD.5836) 6645 0 R (HD.5837) 6646 0 R (HD.5838) 6647 0 R (HD.5839) 6648 0 R (HD.584) 884 0 R (HD.5840) 6649 0 R (HD.5841) 6650 0 R (HD.5842) 6651 0 R (HD.5843) 6652 0 R (HD.5844) 6653 0 R (HD.5845) 6654 0 R (HD.5846) 6655 0 R (HD.5847) 6656 0 R (HD.5848) 6657 0 R (HD.5849) 6658 0 R (HD.585) 885 0 R ] /Limits [ (HD.5821) (HD.585) ] >>
endobj
11917 0 obj
-<< /Names [ (HD.6798) 7689 0 R (HD.6799) 7690 0 R (HD.68) 268 0 R (HD.680) 988 0 R (HD.6800) 7691 0 R (HD.6801) 7692 0 R (HD.6802) 7693 0 R (HD.6803) 7694 0 R (HD.6804) 7695 0 R (HD.6805) 7696 0 R (HD.6806) 7701 0 R (HD.6807) 7702 0 R (HD.6808) 7703 0 R (HD.6809) 7704 0 R (HD.681) 989 0 R (HD.6810) 7705 0 R (HD.6811) 7706 0 R (HD.6812) 7707 0 R (HD.6813) 7708 0 R (HD.6814) 7709 0 R (HD.6815) 7710 0 R (HD.6816) 7711 0 R (HD.6817) 7712 0 R (HD.6818) 7713 0 R (HD.6819) 7714 0 R (HD.682) 990 0 R (HD.6820) 7715 0 R (HD.6821) 7716 0 R (HD.6822) 7717 0 R (HD.6823) 7718 0 R (HD.6824) 7719 0 R (HD.6825) 7720 0 R ] /Limits [ (HD.6798) (HD.6825) ] >>
+<< /Names [ (HD.5850) 6659 0 R (HD.5851) 6660 0 R (HD.5852) 6661 0 R (HD.5853) 6662 0 R (HD.5854) 6663 0 R (HD.5855) 6664 0 R (HD.5856) 6665 0 R (HD.5857) 6666 0 R (HD.5858) 6667 0 R (HD.5859) 6668 0 R (HD.586) 886 0 R (HD.5860) 6669 0 R (HD.5861) 6670 0 R (HD.5862) 6671 0 R (HD.5863) 6672 0 R (HD.5864) 6673 0 R (HD.5865) 6674 0 R (HD.5866) 6675 0 R (HD.5867) 6676 0 R (HD.5868) 6677 0 R (HD.5869) 6678 0 R (HD.587) 887 0 R (HD.5870) 6679 0 R (HD.5871) 6680 0 R (HD.5872) 6681 0 R (HD.5873) 6682 0 R (HD.5874) 6683 0 R (HD.5875) 6684 0 R (HD.5876) 6685 0 R (HD.5877) 6686 0 R (HD.5878) 6687 0 R (HD.5879) 6688 0 R ] /Limits [ (HD.5850) (HD.5879) ] >>
endobj
11918 0 obj
-<< /Names [ (HD.6826) 7721 0 R (HD.6827) 7722 0 R (HD.6828) 7723 0 R (HD.6829) 7724 0 R (HD.683) 991 0 R (HD.6830) 7725 0 R (HD.6831) 7726 0 R (HD.6832) 7727 0 R (HD.6833) 7728 0 R (HD.6834) 7729 0 R (HD.6835) 7730 0 R (HD.6836) 7731 0 R (HD.6837) 7732 0 R (HD.6838) 7733 0 R (HD.6839) 7734 0 R (HD.684) 992 0 R (HD.6840) 7735 0 R (HD.6841) 7736 0 R (HD.6842) 7737 0 R (HD.6843) 7738 0 R (HD.6844) 7739 0 R (HD.6845) 7740 0 R (HD.6846) 7741 0 R (HD.6847) 7742 0 R (HD.6848) 7743 0 R (HD.6849) 7744 0 R (HD.685) 993 0 R (HD.6850) 7745 0 R (HD.6851) 7750 0 R (HD.6852) 7751 0 R (HD.6853) 7752 0 R (HD.6854) 7753 0 R ] /Limits [ (HD.6826) (HD.6854) ] >>
+<< /Names [ (HD.588) 888 0 R (HD.5880) 6689 0 R (HD.5881) 6690 0 R (HD.5882) 6691 0 R (HD.5883) 6692 0 R (HD.5884) 6693 0 R (HD.5885) 6698 0 R (HD.5886) 6699 0 R (HD.5887) 6700 0 R (HD.5888) 6701 0 R (HD.5889) 6702 0 R (HD.589) 889 0 R (HD.5890) 6703 0 R (HD.5891) 6704 0 R (HD.5892) 6705 0 R (HD.5893) 6706 0 R (HD.5894) 6707 0 R (HD.5895) 6708 0 R (HD.5896) 6709 0 R (HD.5897) 6710 0 R (HD.5898) 6711 0 R (HD.5899) 6712 0 R (HD.59) 258 0 R (HD.590) 890 0 R (HD.5900) 6713 0 R (HD.5901) 6714 0 R (HD.5902) 6715 0 R (HD.5903) 6716 0 R (HD.5904) 6717 0 R (HD.5905) 6718 0 R (HD.5906) 6719 0 R (HD.5907) 6720 0 R ] /Limits [ (HD.588) (HD.5907) ] >>
endobj
11919 0 obj
-<< /Names [ (HD.6855) 7754 0 R (HD.6856) 7755 0 R (HD.6857) 7756 0 R (HD.6858) 7757 0 R (HD.6859) 7758 0 R (HD.686) 994 0 R (HD.6860) 7759 0 R (HD.6861) 7760 0 R (HD.6862) 7761 0 R (HD.6863) 7762 0 R (HD.6864) 7763 0 R (HD.6865) 7764 0 R (HD.6866) 7765 0 R (HD.6867) 7766 0 R (HD.6868) 7767 0 R (HD.6869) 7768 0 R (HD.687) 995 0 R (HD.6870) 7769 0 R (HD.6871) 7770 0 R (HD.6872) 7771 0 R (HD.6873) 7772 0 R (HD.6874) 7773 0 R (HD.6875) 7774 0 R (HD.6876) 7775 0 R (HD.6877) 7776 0 R (HD.6878) 7777 0 R (HD.6879) 7778 0 R (HD.688) 996 0 R (HD.6880) 7779 0 R (HD.6881) 7784 0 R (HD.6882) 7785 0 R (HD.6883) 7786 0 R ] /Limits [ (HD.6855) (HD.6883) ] >>
+<< /Names [ (HD.5908) 6721 0 R (HD.5909) 6722 0 R (HD.591) 891 0 R (HD.5910) 6723 0 R (HD.5911) 6724 0 R (HD.5912) 6725 0 R (HD.5913) 6726 0 R (HD.5914) 6727 0 R (HD.5915) 6728 0 R (HD.5916) 6729 0 R (HD.5917) 6730 0 R (HD.5918) 6731 0 R (HD.5919) 6732 0 R (HD.592) 892 0 R (HD.5920) 6733 0 R (HD.5921) 6734 0 R (HD.5922) 6735 0 R (HD.5923) 6736 0 R (HD.5924) 6737 0 R (HD.5925) 6738 0 R (HD.5926) 6739 0 R (HD.5927) 6740 0 R (HD.5928) 6741 0 R (HD.5929) 6742 0 R (HD.593) 893 0 R (HD.5930) 6747 0 R (HD.5931) 6748 0 R (HD.5932) 6749 0 R (HD.5933) 6750 0 R (HD.5934) 6751 0 R (HD.5935) 6752 0 R (HD.5936) 6753 0 R ] /Limits [ (HD.5908) (HD.5936) ] >>
endobj
11920 0 obj
-<< /Names [ (HD.6884) 7787 0 R (HD.6885) 7788 0 R (HD.6886) 7789 0 R (HD.6887) 7790 0 R (HD.6888) 7791 0 R (HD.6889) 7792 0 R (HD.689) 997 0 R (HD.6890) 7793 0 R (HD.6891) 7794 0 R (HD.6892) 7795 0 R (HD.6893) 7796 0 R (HD.6894) 7797 0 R (HD.6895) 7798 0 R (HD.6896) 7799 0 R (HD.6897) 7800 0 R (HD.6898) 7801 0 R (HD.6899) 7802 0 R (HD.69) 269 0 R (HD.690) 998 0 R (HD.6900) 7803 0 R (HD.6901) 7804 0 R (HD.6902) 7805 0 R (HD.6903) 7806 0 R (HD.6904) 7807 0 R (HD.6905) 7808 0 R (HD.6906) 7809 0 R (HD.6907) 7810 0 R (HD.6908) 7811 0 R (HD.6909) 7812 0 R (HD.691) 999 0 R (HD.6910) 7813 0 R (HD.6911) 7814 0 R ] /Limits [ (HD.6884) (HD.6911) ] >>
+<< /Names [ (HD.5937) 6754 0 R (HD.5938) 6755 0 R (HD.5939) 6756 0 R (HD.594) 894 0 R (HD.5940) 6757 0 R (HD.5941) 6758 0 R (HD.5942) 6759 0 R (HD.5943) 6760 0 R (HD.5944) 6761 0 R (HD.5945) 6762 0 R (HD.5946) 6763 0 R (HD.5947) 6764 0 R (HD.5948) 6765 0 R (HD.5949) 6766 0 R (HD.595) 895 0 R (HD.5950) 6767 0 R (HD.5951) 6768 0 R (HD.5952) 6769 0 R (HD.5953) 6770 0 R (HD.5954) 6771 0 R (HD.5955) 6772 0 R (HD.5956) 6773 0 R (HD.5957) 6774 0 R (HD.5958) 6775 0 R (HD.5959) 6776 0 R (HD.596) 896 0 R (HD.5960) 6777 0 R (HD.5961) 6778 0 R (HD.5962) 6779 0 R (HD.5963) 6784 0 R (HD.5964) 6785 0 R (HD.5965) 6786 0 R ] /Limits [ (HD.5937) (HD.5965) ] >>
endobj
11921 0 obj
-<< /Names [ (HD.6912) 7815 0 R (HD.6913) 7816 0 R (HD.6914) 7817 0 R (HD.6915) 7818 0 R (HD.6916) 7819 0 R (HD.6917) 7820 0 R (HD.6918) 7821 0 R (HD.6919) 7822 0 R (HD.692) 1000 0 R (HD.6920) 7823 0 R (HD.6921) 7824 0 R (HD.6922) 7825 0 R (HD.6923) 7826 0 R (HD.6924) 7827 0 R (HD.6925) 7828 0 R (HD.6926) 7829 0 R (HD.6927) 7830 0 R (HD.6928) 7837 0 R (HD.6929) 7838 0 R (HD.693) 1001 0 R (HD.6930) 7839 0 R (HD.6931) 7840 0 R (HD.6932) 7841 0 R (HD.6933) 7842 0 R (HD.6934) 7843 0 R (HD.6935) 7844 0 R (HD.6936) 7845 0 R (HD.6937) 7846 0 R (HD.6938) 7847 0 R (HD.6939) 7848 0 R (HD.694) 1002 0 R (HD.6940) 7849 0 R ] /Limits [ (HD.6912) (HD.6940) ] >>
+<< /Names [ (HD.5966) 6787 0 R (HD.5967) 6788 0 R (HD.5968) 6789 0 R (HD.5969) 6790 0 R (HD.597) 897 0 R (HD.5970) 6791 0 R (HD.5971) 6792 0 R (HD.5972) 6793 0 R (HD.5973) 6794 0 R (HD.5974) 6795 0 R (HD.5975) 6796 0 R (HD.5976) 6797 0 R (HD.5977) 6798 0 R (HD.5978) 6799 0 R (HD.5979) 6800 0 R (HD.598) 898 0 R (HD.5980) 6801 0 R (HD.5981) 6802 0 R (HD.5982) 6803 0 R (HD.5983) 6804 0 R (HD.5984) 6805 0 R (HD.5985) 6806 0 R (HD.5986) 6807 0 R (HD.5987) 6808 0 R (HD.5988) 6809 0 R (HD.5989) 6810 0 R (HD.599) 899 0 R (HD.5990) 6811 0 R (HD.5991) 6812 0 R (HD.5992) 6813 0 R (HD.5993) 6814 0 R (HD.5994) 6815 0 R ] /Limits [ (HD.5966) (HD.5994) ] >>
endobj
11922 0 obj
-<< /Names [ (HD.6941) 7850 0 R (HD.6942) 7851 0 R (HD.6943) 7852 0 R (HD.6944) 7853 0 R (HD.6945) 7854 0 R (HD.6946) 7855 0 R (HD.6947) 7856 0 R (HD.6948) 7857 0 R (HD.6949) 7858 0 R (HD.695) 1003 0 R (HD.6950) 7859 0 R (HD.6951) 7860 0 R (HD.6952) 7861 0 R (HD.6953) 7862 0 R (HD.6954) 7863 0 R (HD.6955) 7864 0 R (HD.6956) 7865 0 R (HD.6957) 7866 0 R (HD.6958) 7867 0 R (HD.6959) 7868 0 R (HD.696) 1004 0 R (HD.6960) 7869 0 R (HD.6961) 7870 0 R (HD.6962) 7871 0 R (HD.6963) 7872 0 R (HD.6964) 7873 0 R (HD.6965) 7874 0 R (HD.6966) 7875 0 R (HD.6967) 7876 0 R (HD.6968) 7877 0 R (HD.6969) 7878 0 R (HD.697) 1005 0 R ] /Limits [ (HD.6941) (HD.697) ] >>
+<< /Names [ (HD.5995) 6816 0 R (HD.5996) 6817 0 R (HD.5997) 6818 0 R (HD.5998) 6819 0 R (HD.5999) 6820 0 R (HD.6) 194 0 R (HD.60) 259 0 R (HD.600) 900 0 R (HD.6000) 6826 0 R (HD.6001) 6827 0 R (HD.6002) 6828 0 R (HD.6003) 6829 0 R (HD.6004) 6830 0 R (HD.6005) 6831 0 R (HD.6006) 6832 0 R (HD.6007) 6833 0 R (HD.6008) 6834 0 R (HD.6009) 6835 0 R (HD.601) 901 0 R (HD.6010) 6836 0 R (HD.6011) 6837 0 R (HD.6012) 6838 0 R (HD.6013) 6839 0 R (HD.6014) 6840 0 R (HD.6015) 6841 0 R (HD.6016) 6842 0 R (HD.6017) 6843 0 R (HD.6018) 6844 0 R (HD.6019) 6845 0 R (HD.602) 902 0 R (HD.6020) 6846 0 R (HD.6021) 6847 0 R ] /Limits [ (HD.5995) (HD.6021) ] >>
endobj
11923 0 obj
-<< /Names [ (HD.6970) 7879 0 R (HD.6971) 7880 0 R (HD.6972) 7887 0 R (HD.6973) 7888 0 R (HD.6974) 7889 0 R (HD.6975) 7890 0 R (HD.6976) 7891 0 R (HD.6977) 7892 0 R (HD.6978) 7893 0 R (HD.6979) 7894 0 R (HD.698) 1006 0 R (HD.6980) 7895 0 R (HD.6981) 7896 0 R (HD.6982) 7897 0 R (HD.6983) 7898 0 R (HD.6984) 7899 0 R (HD.6985) 7900 0 R (HD.6986) 7901 0 R (HD.6987) 7902 0 R (HD.6988) 7903 0 R (HD.6989) 7904 0 R (HD.699) 1007 0 R (HD.6990) 7905 0 R (HD.6991) 7906 0 R (HD.6992) 7907 0 R (HD.6993) 7908 0 R (HD.6994) 7909 0 R (HD.6995) 7910 0 R (HD.6996) 7911 0 R (HD.6997) 7912 0 R (HD.6998) 7913 0 R (HD.6999) 7914 0 R ] /Limits [ (HD.6970) (HD.6999) ] >>
+<< /Names [ (HD.6022) 6848 0 R (HD.6023) 6849 0 R (HD.6024) 6850 0 R (HD.6025) 6851 0 R (HD.6026) 6852 0 R (HD.6027) 6853 0 R (HD.6028) 6854 0 R (HD.6029) 6855 0 R (HD.603) 903 0 R (HD.6030) 6856 0 R (HD.6031) 6857 0 R (HD.6032) 6858 0 R (HD.6033) 6859 0 R (HD.6034) 6860 0 R (HD.6035) 6861 0 R (HD.6036) 6862 0 R (HD.6037) 6867 0 R (HD.6038) 6868 0 R (HD.6039) 6869 0 R (HD.604) 904 0 R (HD.6040) 6870 0 R (HD.6041) 6871 0 R (HD.6042) 6872 0 R (HD.6043) 6873 0 R (HD.6044) 6874 0 R (HD.6045) 6875 0 R (HD.6046) 6876 0 R (HD.6047) 6877 0 R (HD.6048) 6878 0 R (HD.6049) 6879 0 R (HD.605) 905 0 R (HD.6050) 6880 0 R ] /Limits [ (HD.6022) (HD.6050) ] >>
endobj
11924 0 obj
-<< /Names [ (HD.7) 195 0 R (HD.70) 270 0 R (HD.700) 1008 0 R (HD.7000) 7915 0 R (HD.7001) 7916 0 R (HD.7002) 7917 0 R (HD.7003) 7918 0 R (HD.7004) 7919 0 R (HD.7005) 7920 0 R (HD.7006) 7921 0 R (HD.7007) 7922 0 R (HD.7008) 7923 0 R (HD.7009) 7924 0 R (HD.701) 1013 0 R (HD.7010) 7925 0 R (HD.7011) 7926 0 R (HD.7012) 7927 0 R (HD.7013) 7928 0 R (HD.7014) 7929 0 R (HD.7015) 7930 0 R (HD.7016) 7931 0 R (HD.7017) 7932 0 R (HD.7018) 7933 0 R (HD.7019) 7938 0 R (HD.702) 1014 0 R (HD.7020) 7939 0 R (HD.7021) 7940 0 R (HD.7022) 7941 0 R (HD.7023) 7942 0 R (HD.7024) 7943 0 R (HD.7025) 7944 0 R (HD.7026) 7945 0 R ] /Limits [ (HD.7) (HD.7026) ] >>
+<< /Names [ (HD.6051) 6881 0 R (HD.6052) 6882 0 R (HD.6053) 6883 0 R (HD.6054) 6884 0 R (HD.6055) 6885 0 R (HD.6056) 6886 0 R (HD.6057) 6887 0 R (HD.6058) 6888 0 R (HD.6059) 6889 0 R (HD.606) 906 0 R (HD.6060) 6890 0 R (HD.6061) 6891 0 R (HD.6062) 6892 0 R (HD.6063) 6893 0 R (HD.6064) 6894 0 R (HD.6065) 6895 0 R (HD.6066) 6896 0 R (HD.6067) 6897 0 R (HD.6068) 6898 0 R (HD.6069) 6899 0 R (HD.607) 907 0 R (HD.6070) 6900 0 R (HD.6071) 6901 0 R (HD.6072) 6902 0 R (HD.6073) 6907 0 R (HD.6074) 6908 0 R (HD.6075) 6909 0 R (HD.6076) 6910 0 R (HD.6077) 6911 0 R (HD.6078) 6912 0 R (HD.6079) 6913 0 R (HD.608) 908 0 R ] /Limits [ (HD.6051) (HD.608) ] >>
endobj
11925 0 obj
-<< /Names [ (HD.7027) 7946 0 R (HD.7028) 7947 0 R (HD.7029) 7948 0 R (HD.703) 1015 0 R (HD.7030) 7949 0 R (HD.7031) 7950 0 R (HD.7032) 7951 0 R (HD.7033) 7952 0 R (HD.7034) 7953 0 R (HD.7035) 7954 0 R (HD.7036) 7955 0 R (HD.7037) 7956 0 R (HD.7038) 7957 0 R (HD.7039) 7958 0 R (HD.704) 1016 0 R (HD.7040) 7959 0 R (HD.7041) 7960 0 R (HD.7042) 7961 0 R (HD.7043) 7962 0 R (HD.7044) 7963 0 R (HD.7045) 7964 0 R (HD.7046) 7965 0 R (HD.7047) 7966 0 R (HD.7048) 7967 0 R (HD.7049) 7968 0 R (HD.705) 1017 0 R (HD.7050) 7969 0 R (HD.7051) 7970 0 R (HD.7052) 7971 0 R (HD.7053) 7972 0 R (HD.7054) 7973 0 R (HD.7055) 7974 0 R ] /Limits [ (HD.7027) (HD.7055) ] >>
+<< /Names [ (HD.6080) 6914 0 R (HD.6081) 6915 0 R (HD.6082) 6916 0 R (HD.6083) 6917 0 R (HD.6084) 6918 0 R (HD.6085) 6919 0 R (HD.6086) 6920 0 R (HD.6087) 6921 0 R (HD.6088) 6922 0 R (HD.6089) 6923 0 R (HD.609) 909 0 R (HD.6090) 6924 0 R (HD.6091) 6925 0 R (HD.6092) 6926 0 R (HD.6093) 6927 0 R (HD.6094) 6928 0 R (HD.6095) 6929 0 R (HD.6096) 6930 0 R (HD.6097) 6931 0 R (HD.6098) 6932 0 R (HD.6099) 6933 0 R (HD.61) 260 0 R (HD.610) 910 0 R (HD.6100) 6934 0 R (HD.6101) 6935 0 R (HD.6102) 6936 0 R (HD.6103) 6937 0 R (HD.6104) 6938 0 R (HD.6105) 6939 0 R (HD.6106) 6940 0 R (HD.6107) 6941 0 R (HD.6108) 6942 0 R ] /Limits [ (HD.6080) (HD.6108) ] >>
endobj
11926 0 obj
-<< /Names [ (HD.7056) 7975 0 R (HD.7057) 7976 0 R (HD.7058) 7977 0 R (HD.7059) 7978 0 R (HD.706) 1018 0 R (HD.7060) 7979 0 R (HD.7061) 7980 0 R (HD.7062) 7981 0 R (HD.7063) 7986 0 R (HD.7064) 7987 0 R (HD.7065) 7988 0 R (HD.7066) 7989 0 R (HD.7067) 7990 0 R (HD.7068) 7991 0 R (HD.7069) 7992 0 R (HD.707) 1019 0 R (HD.7070) 7993 0 R (HD.7071) 7994 0 R (HD.7072) 7995 0 R (HD.7073) 7996 0 R (HD.7074) 7997 0 R (HD.7075) 7998 0 R (HD.7076) 7999 0 R (HD.7077) 8000 0 R (HD.7078) 8001 0 R (HD.7079) 8002 0 R (HD.708) 1020 0 R (HD.7080) 8003 0 R (HD.7081) 8004 0 R (HD.7082) 8005 0 R (HD.7083) 8006 0 R (HD.7084) 8007 0 R ] /Limits [ (HD.7056) (HD.7084) ] >>
+<< /Names [ (HD.6109) 6943 0 R (HD.611) 911 0 R (HD.6110) 6944 0 R (HD.6111) 6945 0 R (HD.6112) 6946 0 R (HD.6113) 6947 0 R (HD.6114) 6948 0 R (HD.6115) 6949 0 R (HD.6116) 6954 0 R (HD.6117) 6955 0 R (HD.6118) 6956 0 R (HD.6119) 6957 0 R (HD.612) 912 0 R (HD.6120) 6958 0 R (HD.6121) 6959 0 R (HD.6122) 6960 0 R (HD.6123) 6961 0 R (HD.6124) 6962 0 R (HD.6125) 6963 0 R (HD.6126) 6964 0 R (HD.6127) 6965 0 R (HD.6128) 6966 0 R (HD.6129) 6967 0 R (HD.613) 913 0 R (HD.6130) 6968 0 R (HD.6131) 6969 0 R (HD.6132) 6970 0 R (HD.6133) 6971 0 R (HD.6134) 6972 0 R (HD.6135) 6973 0 R (HD.6136) 6974 0 R (HD.6137) 6975 0 R ] /Limits [ (HD.6109) (HD.6137) ] >>
endobj
11927 0 obj
-<< /Names [ (HD.7085) 8008 0 R (HD.7086) 8009 0 R (HD.7087) 8010 0 R (HD.7088) 8011 0 R (HD.7089) 8012 0 R (HD.709) 1021 0 R (HD.7090) 8013 0 R (HD.7091) 8014 0 R (HD.7092) 8015 0 R (HD.7093) 8016 0 R (HD.7094) 8017 0 R (HD.7095) 8018 0 R (HD.7096) 8019 0 R (HD.7097) 8020 0 R (HD.7098) 8021 0 R (HD.7099) 8022 0 R (HD.71) 271 0 R (HD.710) 1022 0 R (HD.7100) 8023 0 R (HD.7101) 8024 0 R (HD.7102) 8025 0 R (HD.7103) 8026 0 R (HD.7104) 8027 0 R (HD.7105) 8028 0 R (HD.7106) 8029 0 R (HD.7107) 8030 0 R (HD.7108) 8031 0 R (HD.7109) 8032 0 R (HD.711) 1023 0 R (HD.7110) 8033 0 R (HD.7111) 8034 0 R (HD.7112) 8035 0 R ] /Limits [ (HD.7085) (HD.7112) ] >>
+<< /Names [ (HD.6138) 6976 0 R (HD.6139) 6977 0 R (HD.614) 914 0 R (HD.6140) 6978 0 R (HD.6141) 6979 0 R (HD.6142) 6980 0 R (HD.6143) 6981 0 R (HD.6144) 6982 0 R (HD.6145) 6983 0 R (HD.6146) 6984 0 R (HD.6147) 6985 0 R (HD.6148) 6986 0 R (HD.6149) 6987 0 R (HD.615) 915 0 R (HD.6150) 6988 0 R (HD.6151) 6989 0 R (HD.6152) 6990 0 R (HD.6153) 6991 0 R (HD.6154) 6992 0 R (HD.6155) 6993 0 R (HD.6156) 6994 0 R (HD.6157) 6995 0 R (HD.6158) 6996 0 R (HD.6159) 6997 0 R (HD.616) 916 0 R (HD.6160) 6998 0 R (HD.6161) 6999 0 R (HD.6162) 7000 0 R (HD.6163) 7001 0 R (HD.6164) 7002 0 R (HD.6165) 7003 0 R (HD.6166) 7004 0 R ] /Limits [ (HD.6138) (HD.6166) ] >>
endobj
11928 0 obj
-<< /Names [ (HD.7113) 8036 0 R (HD.7114) 8041 0 R (HD.7115) 8042 0 R (HD.7116) 8043 0 R (HD.7117) 8044 0 R (HD.7118) 8045 0 R (HD.7119) 8046 0 R (HD.712) 1024 0 R (HD.7120) 8047 0 R (HD.7121) 8048 0 R (HD.7122) 8049 0 R (HD.7123) 8050 0 R (HD.7124) 8051 0 R (HD.7125) 8052 0 R (HD.7126) 8053 0 R (HD.7127) 8054 0 R (HD.7128) 8055 0 R (HD.7129) 8056 0 R (HD.713) 1025 0 R (HD.7130) 8057 0 R (HD.7131) 8058 0 R (HD.7132) 8059 0 R (HD.7133) 8060 0 R (HD.7134) 8061 0 R (HD.7135) 8062 0 R (HD.7136) 8063 0 R (HD.7137) 8064 0 R (HD.7138) 8065 0 R (HD.7139) 8066 0 R (HD.714) 1026 0 R (HD.7140) 8067 0 R (HD.7141) 8068 0 R ] /Limits [ (HD.7113) (HD.7141) ] >>
+<< /Names [ (HD.6167) 7005 0 R (HD.6168) 7006 0 R (HD.6169) 7007 0 R (HD.617) 917 0 R (HD.6170) 7008 0 R (HD.6171) 7009 0 R (HD.6172) 7010 0 R (HD.6173) 7015 0 R (HD.6174) 7016 0 R (HD.6175) 7017 0 R (HD.6176) 7018 0 R (HD.6177) 7019 0 R (HD.6178) 7020 0 R (HD.6179) 7021 0 R (HD.618) 918 0 R (HD.6180) 7022 0 R (HD.6181) 7023 0 R (HD.6182) 7024 0 R (HD.6183) 7025 0 R (HD.6184) 7026 0 R (HD.6185) 7027 0 R (HD.6186) 7028 0 R (HD.6187) 7029 0 R (HD.6188) 7030 0 R (HD.6189) 7031 0 R (HD.619) 919 0 R (HD.6190) 7032 0 R (HD.6191) 7033 0 R (HD.6192) 7034 0 R (HD.6193) 7035 0 R (HD.6194) 7036 0 R (HD.6195) 7037 0 R ] /Limits [ (HD.6167) (HD.6195) ] >>
endobj
11929 0 obj
-<< /Names [ (HD.7142) 8069 0 R (HD.7143) 8070 0 R (HD.7144) 8071 0 R (HD.7145) 8072 0 R (HD.7146) 8073 0 R (HD.7147) 8074 0 R (HD.7148) 8075 0 R (HD.7149) 8076 0 R (HD.715) 1027 0 R (HD.7150) 8077 0 R (HD.7151) 8082 0 R (HD.7152) 8083 0 R (HD.7153) 8084 0 R (HD.7154) 8085 0 R (HD.7155) 8086 0 R (HD.7156) 8087 0 R (HD.7157) 8088 0 R (HD.7158) 8089 0 R (HD.7159) 8090 0 R (HD.716) 1028 0 R (HD.7160) 8091 0 R (HD.7161) 8092 0 R (HD.7162) 8093 0 R (HD.7163) 8094 0 R (HD.7164) 8095 0 R (HD.7165) 8096 0 R (HD.7166) 8097 0 R (HD.7167) 8098 0 R (HD.7168) 8099 0 R (HD.7169) 8100 0 R (HD.717) 1029 0 R (HD.7170) 8101 0 R ] /Limits [ (HD.7142) (HD.7170) ] >>
+<< /Names [ (HD.6196) 7038 0 R (HD.6197) 7039 0 R (HD.6198) 7040 0 R (HD.6199) 7041 0 R (HD.62) 261 0 R (HD.620) 924 0 R (HD.6200) 7042 0 R (HD.6201) 7043 0 R (HD.6202) 7044 0 R (HD.6203) 7045 0 R (HD.6204) 7046 0 R (HD.6205) 7047 0 R (HD.6206) 7048 0 R (HD.6207) 7049 0 R (HD.6208) 7050 0 R (HD.6209) 7051 0 R (HD.621) 925 0 R (HD.6210) 7052 0 R (HD.6211) 7053 0 R (HD.6212) 7054 0 R (HD.6213) 7055 0 R (HD.6214) 7056 0 R (HD.6215) 7057 0 R (HD.6216) 7058 0 R (HD.6217) 7059 0 R (HD.6218) 7060 0 R (HD.6219) 7061 0 R (HD.622) 926 0 R (HD.6220) 7062 0 R (HD.6221) 7063 0 R (HD.6222) 7064 0 R (HD.6223) 7065 0 R ] /Limits [ (HD.6196) (HD.6223) ] >>
endobj
11930 0 obj
-<< /Names [ (HD.7171) 8102 0 R (HD.7172) 8103 0 R (HD.7173) 8104 0 R (HD.7174) 8105 0 R (HD.7175) 8106 0 R (HD.7176) 8107 0 R (HD.7177) 8108 0 R (HD.7178) 8109 0 R (HD.7179) 8110 0 R (HD.718) 1030 0 R (HD.7180) 8111 0 R (HD.7181) 8112 0 R (HD.7182) 8113 0 R (HD.7183) 8114 0 R (HD.7184) 8115 0 R (HD.7185) 8116 0 R (HD.7186) 8121 0 R (HD.7187) 8122 0 R (HD.7188) 8123 0 R (HD.7189) 8124 0 R (HD.719) 1031 0 R (HD.7190) 8125 0 R (HD.7191) 8126 0 R (HD.7192) 8127 0 R (HD.7193) 8128 0 R (HD.7194) 8129 0 R (HD.7195) 8130 0 R (HD.7196) 8131 0 R (HD.7197) 8132 0 R (HD.7198) 8133 0 R (HD.7199) 8134 0 R (HD.72) 272 0 R ] /Limits [ (HD.7171) (HD.72) ] >>
+<< /Names [ (HD.6224) 7066 0 R (HD.6225) 7067 0 R (HD.6226) 7068 0 R (HD.6227) 7069 0 R (HD.6228) 7070 0 R (HD.6229) 7071 0 R (HD.623) 927 0 R (HD.6230) 7072 0 R (HD.6231) 7077 0 R (HD.6232) 7078 0 R (HD.6233) 7079 0 R (HD.6234) 7080 0 R (HD.6235) 7081 0 R (HD.6236) 7082 0 R (HD.6237) 7083 0 R (HD.6238) 7084 0 R (HD.6239) 7085 0 R (HD.624) 928 0 R (HD.6240) 7086 0 R (HD.6241) 7087 0 R (HD.6242) 7088 0 R (HD.6243) 7089 0 R (HD.6244) 7090 0 R (HD.6245) 7091 0 R (HD.6246) 7092 0 R (HD.6247) 7093 0 R (HD.6248) 7094 0 R (HD.6249) 7095 0 R (HD.625) 929 0 R (HD.6250) 7096 0 R (HD.6251) 7097 0 R (HD.6252) 7098 0 R ] /Limits [ (HD.6224) (HD.6252) ] >>
endobj
11931 0 obj
-<< /Names [ (HD.720) 1032 0 R (HD.7200) 8135 0 R (HD.7201) 8136 0 R (HD.7202) 8137 0 R (HD.7203) 8138 0 R (HD.7204) 8139 0 R (HD.7205) 8140 0 R (HD.7206) 8141 0 R (HD.7207) 8142 0 R (HD.7208) 8143 0 R (HD.7209) 8144 0 R (HD.721) 1033 0 R (HD.7210) 8145 0 R (HD.7211) 8146 0 R (HD.7212) 8147 0 R (HD.7213) 8148 0 R (HD.7214) 8149 0 R (HD.7215) 8150 0 R (HD.7216) 8151 0 R (HD.7217) 8152 0 R (HD.7218) 8153 0 R (HD.7219) 8154 0 R (HD.722) 1034 0 R (HD.7220) 8155 0 R (HD.7221) 8156 0 R (HD.7222) 8161 0 R (HD.7223) 8162 0 R (HD.7224) 8163 0 R (HD.7225) 8164 0 R (HD.7226) 8165 0 R (HD.7227) 8166 0 R (HD.7228) 8167 0 R ] /Limits [ (HD.720) (HD.7228) ] >>
+<< /Names [ (HD.6253) 7099 0 R (HD.6254) 7100 0 R (HD.6255) 7101 0 R (HD.6256) 7102 0 R (HD.6257) 7103 0 R (HD.6258) 7104 0 R (HD.6259) 7105 0 R (HD.626) 930 0 R (HD.6260) 7106 0 R (HD.6261) 7107 0 R (HD.6262) 7108 0 R (HD.6263) 7109 0 R (HD.6264) 7110 0 R (HD.6265) 7111 0 R (HD.6266) 7112 0 R (HD.6267) 7113 0 R (HD.6268) 7114 0 R (HD.6269) 7115 0 R (HD.627) 931 0 R (HD.6270) 7116 0 R (HD.6271) 7117 0 R (HD.6272) 7118 0 R (HD.6273) 7119 0 R (HD.6274) 7120 0 R (HD.6275) 7121 0 R (HD.6276) 7126 0 R (HD.6277) 7127 0 R (HD.6278) 7128 0 R (HD.6279) 7129 0 R (HD.628) 932 0 R (HD.6280) 7130 0 R (HD.6281) 7131 0 R ] /Limits [ (HD.6253) (HD.6281) ] >>
endobj
11932 0 obj
-<< /Names [ (HD.7229) 8168 0 R (HD.723) 1035 0 R (HD.7230) 8169 0 R (HD.7231) 8170 0 R (HD.7232) 8171 0 R (HD.7233) 8172 0 R (HD.7234) 8173 0 R (HD.7235) 8174 0 R (HD.7236) 8175 0 R (HD.7237) 8176 0 R (HD.7238) 8177 0 R (HD.7239) 8178 0 R (HD.724) 1036 0 R (HD.7240) 8179 0 R (HD.7241) 8180 0 R (HD.7242) 8181 0 R (HD.7243) 8182 0 R (HD.7244) 8183 0 R (HD.7245) 8184 0 R (HD.7246) 8185 0 R (HD.7247) 8186 0 R (HD.7248) 8187 0 R (HD.7249) 8188 0 R (HD.725) 1037 0 R (HD.7250) 8189 0 R (HD.7251) 8190 0 R (HD.7252) 8191 0 R (HD.7253) 8192 0 R (HD.7254) 8193 0 R (HD.7255) 8194 0 R (HD.7256) 8195 0 R (HD.7257) 8196 0 R ] /Limits [ (HD.7229) (HD.7257) ] >>
+<< /Names [ (HD.6282) 7132 0 R (HD.6283) 7133 0 R (HD.6284) 7134 0 R (HD.6285) 7135 0 R (HD.6286) 7136 0 R (HD.6287) 7137 0 R (HD.6288) 7138 0 R (HD.6289) 7139 0 R (HD.629) 933 0 R (HD.6290) 7140 0 R (HD.6291) 7141 0 R (HD.6292) 7142 0 R (HD.6293) 7143 0 R (HD.6294) 7144 0 R (HD.6295) 7145 0 R (HD.6296) 7146 0 R (HD.6297) 7147 0 R (HD.6298) 7148 0 R (HD.6299) 7149 0 R (HD.63) 262 0 R (HD.630) 934 0 R (HD.6300) 7150 0 R (HD.6301) 7151 0 R (HD.6302) 7152 0 R (HD.6303) 7153 0 R (HD.6304) 7154 0 R (HD.6305) 7155 0 R (HD.6306) 7156 0 R (HD.6307) 7157 0 R (HD.6308) 7158 0 R (HD.6309) 7159 0 R (HD.631) 935 0 R ] /Limits [ (HD.6282) (HD.631) ] >>
endobj
11933 0 obj
-<< /Names [ (HD.7258) 8197 0 R (HD.7259) 8198 0 R (HD.726) 1038 0 R (HD.7260) 8199 0 R (HD.7261) 8200 0 R (HD.7262) 8201 0 R (HD.7263) 8202 0 R (HD.7264) 8203 0 R (HD.7265) 8204 0 R (HD.7266) 8205 0 R (HD.7267) 8210 0 R (HD.7268) 8211 0 R (HD.7269) 8212 0 R (HD.727) 1039 0 R (HD.7270) 8213 0 R (HD.7271) 8214 0 R (HD.7272) 8215 0 R (HD.7273) 8216 0 R (HD.7274) 8217 0 R (HD.7275) 8218 0 R (HD.7276) 8219 0 R (HD.7277) 8220 0 R (HD.7278) 8221 0 R (HD.7279) 8222 0 R (HD.728) 1040 0 R (HD.7280) 8223 0 R (HD.7281) 8224 0 R (HD.7282) 8225 0 R (HD.7283) 8226 0 R (HD.7284) 8227 0 R (HD.7285) 8228 0 R (HD.7286) 8229 0 R ] /Limits [ (HD.7258) (HD.7286) ] >>
+<< /Names [ (HD.6310) 7160 0 R (HD.6311) 7161 0 R (HD.6312) 7162 0 R (HD.6313) 7163 0 R (HD.6314) 7164 0 R (HD.6315) 7165 0 R (HD.6316) 7166 0 R (HD.6317) 7167 0 R (HD.6318) 7168 0 R (HD.6319) 7169 0 R (HD.632) 936 0 R (HD.6320) 7170 0 R (HD.6321) 7171 0 R (HD.6322) 7172 0 R (HD.6323) 7173 0 R (HD.6324) 7174 0 R (HD.6325) 7175 0 R (HD.6326) 7176 0 R (HD.6327) 7177 0 R (HD.6328) 7182 0 R (HD.6329) 7183 0 R (HD.633) 937 0 R (HD.6330) 7184 0 R (HD.6331) 7185 0 R (HD.6332) 7186 0 R (HD.6333) 7187 0 R (HD.6334) 7188 0 R (HD.6335) 7189 0 R (HD.6336) 7190 0 R (HD.6337) 7191 0 R (HD.6338) 7192 0 R (HD.6339) 7193 0 R ] /Limits [ (HD.6310) (HD.6339) ] >>
endobj
11934 0 obj
-<< /Names [ (HD.7287) 8230 0 R (HD.7288) 8231 0 R (HD.7289) 8232 0 R (HD.729) 1041 0 R (HD.7290) 8233 0 R (HD.7291) 8234 0 R (HD.7292) 8235 0 R (HD.7293) 8236 0 R (HD.7294) 8237 0 R (HD.7295) 8238 0 R (HD.7296) 8239 0 R (HD.7297) 8240 0 R (HD.7298) 8241 0 R (HD.7299) 8242 0 R (HD.73) 273 0 R (HD.730) 1042 0 R (HD.7300) 8243 0 R (HD.7301) 8244 0 R (HD.7302) 8245 0 R (HD.7303) 8246 0 R (HD.7304) 8247 0 R (HD.7305) 8248 0 R (HD.7306) 8249 0 R (HD.7307) 8250 0 R (HD.7308) 8251 0 R (HD.7309) 8252 0 R (HD.731) 1043 0 R (HD.7310) 8253 0 R (HD.7311) 8254 0 R (HD.7312) 8255 0 R (HD.7313) 8256 0 R (HD.7314) 8257 0 R ] /Limits [ (HD.7287) (HD.7314) ] >>
+<< /Names [ (HD.634) 938 0 R (HD.6340) 7194 0 R (HD.6341) 7195 0 R (HD.6342) 7196 0 R (HD.6343) 7197 0 R (HD.6344) 7198 0 R (HD.6345) 7199 0 R (HD.6346) 7200 0 R (HD.6347) 7201 0 R (HD.6348) 7202 0 R (HD.6349) 7203 0 R (HD.635) 939 0 R (HD.6350) 7204 0 R (HD.6351) 7205 0 R (HD.6352) 7206 0 R (HD.6353) 7207 0 R (HD.6354) 7208 0 R (HD.6355) 7209 0 R (HD.6356) 7210 0 R (HD.6357) 7211 0 R (HD.6358) 7212 0 R (HD.6359) 7213 0 R (HD.636) 940 0 R (HD.6360) 7214 0 R (HD.6361) 7215 0 R (HD.6362) 7216 0 R (HD.6363) 7217 0 R (HD.6364) 7218 0 R (HD.6365) 7219 0 R (HD.6366) 7220 0 R (HD.6367) 7221 0 R (HD.6368) 7222 0 R ] /Limits [ (HD.634) (HD.6368) ] >>
endobj
11935 0 obj
-<< /Names [ (HD.7315) 8258 0 R (HD.7316) 8259 0 R (HD.7317) 8260 0 R (HD.7318) 8261 0 R (HD.7319) 8262 0 R (HD.732) 1044 0 R (HD.7320) 8263 0 R (HD.7321) 8264 0 R (HD.7322) 8269 0 R (HD.7323) 8270 0 R (HD.7324) 8271 0 R (HD.7325) 8272 0 R (HD.7326) 8273 0 R (HD.7327) 8274 0 R (HD.7328) 8275 0 R (HD.7329) 8276 0 R (HD.733) 1045 0 R (HD.7330) 8277 0 R (HD.7331) 8278 0 R (HD.7332) 8279 0 R (HD.7333) 8280 0 R (HD.7334) 8281 0 R (HD.7335) 8282 0 R (HD.7336) 8283 0 R (HD.7337) 8284 0 R (HD.7338) 8285 0 R (HD.7339) 8286 0 R (HD.734) 1046 0 R (HD.7340) 8287 0 R (HD.7341) 8288 0 R (HD.7342) 8289 0 R (HD.7343) 8290 0 R ] /Limits [ (HD.7315) (HD.7343) ] >>
+<< /Names [ (HD.6369) 7223 0 R (HD.637) 941 0 R (HD.6370) 7224 0 R (HD.6371) 7225 0 R (HD.6372) 7226 0 R (HD.6373) 7227 0 R (HD.6374) 7228 0 R (HD.6375) 7229 0 R (HD.6376) 7230 0 R (HD.6377) 7231 0 R (HD.6378) 7232 0 R (HD.6379) 7233 0 R (HD.638) 942 0 R (HD.6380) 7234 0 R (HD.6381) 7235 0 R (HD.6382) 7236 0 R (HD.6383) 7237 0 R (HD.6384) 7238 0 R (HD.6385) 7239 0 R (HD.6386) 7240 0 R (HD.6387) 7245 0 R (HD.6388) 7246 0 R (HD.6389) 7247 0 R (HD.639) 943 0 R (HD.6390) 7248 0 R (HD.6391) 7249 0 R (HD.6392) 7250 0 R (HD.6393) 7251 0 R (HD.6394) 7252 0 R (HD.6395) 7253 0 R (HD.6396) 7254 0 R (HD.6397) 7255 0 R ] /Limits [ (HD.6369) (HD.6397) ] >>
endobj
11936 0 obj
-<< /Names [ (HD.7344) 8291 0 R (HD.7345) 8292 0 R (HD.7346) 8293 0 R (HD.7347) 8294 0 R (HD.7348) 8295 0 R (HD.7349) 8296 0 R (HD.735) 1047 0 R (HD.7350) 8297 0 R (HD.7351) 8298 0 R (HD.7352) 8299 0 R (HD.7353) 8300 0 R (HD.7354) 8301 0 R (HD.7355) 8302 0 R (HD.7356) 8303 0 R (HD.7357) 8304 0 R (HD.7358) 8305 0 R (HD.7359) 8306 0 R (HD.736) 1048 0 R (HD.7360) 8307 0 R (HD.7361) 8308 0 R (HD.7362) 8309 0 R (HD.7363) 8310 0 R (HD.7364) 8311 0 R (HD.7365) 8312 0 R (HD.7366) 8313 0 R (HD.7367) 8319 0 R (HD.7368) 8320 0 R (HD.7369) 8321 0 R (HD.737) 1049 0 R (HD.7370) 8322 0 R (HD.7371) 8323 0 R (HD.7372) 8324 0 R ] /Limits [ (HD.7344) (HD.7372) ] >>
+<< /Names [ (HD.6398) 7256 0 R (HD.6399) 7257 0 R (HD.64) 263 0 R (HD.640) 944 0 R (HD.6400) 7258 0 R (HD.6401) 7259 0 R (HD.6402) 7260 0 R (HD.6403) 7261 0 R (HD.6404) 7262 0 R (HD.6405) 7263 0 R (HD.6406) 7264 0 R (HD.6407) 7265 0 R (HD.6408) 7266 0 R (HD.6409) 7267 0 R (HD.641) 945 0 R (HD.6410) 7268 0 R (HD.6411) 7269 0 R (HD.6412) 7270 0 R (HD.6413) 7271 0 R (HD.6414) 7272 0 R (HD.6415) 7273 0 R (HD.6416) 7274 0 R (HD.6417) 7275 0 R (HD.6418) 7276 0 R (HD.6419) 7277 0 R (HD.642) 946 0 R (HD.6420) 7278 0 R (HD.6421) 7279 0 R (HD.6422) 7280 0 R (HD.6423) 7281 0 R (HD.6424) 7282 0 R (HD.6425) 7283 0 R ] /Limits [ (HD.6398) (HD.6425) ] >>
endobj
11937 0 obj
-<< /Names [ (HD.7373) 8325 0 R (HD.7374) 8326 0 R (HD.7375) 8327 0 R (HD.7376) 8328 0 R (HD.7377) 8329 0 R (HD.7378) 8330 0 R (HD.7379) 8331 0 R (HD.738) 1050 0 R (HD.7380) 8332 0 R (HD.7381) 8333 0 R (HD.7382) 8334 0 R (HD.7383) 8335 0 R (HD.7384) 8336 0 R (HD.7385) 8337 0 R (HD.7386) 8338 0 R (HD.7387) 8339 0 R (HD.7388) 8340 0 R (HD.7389) 8341 0 R (HD.739) 1051 0 R (HD.7390) 8342 0 R (HD.7391) 8343 0 R (HD.7392) 8344 0 R (HD.7393) 8345 0 R (HD.7394) 8346 0 R (HD.7395) 8347 0 R (HD.7396) 8348 0 R (HD.7397) 8349 0 R (HD.7398) 8350 0 R (HD.7399) 8351 0 R (HD.74) 274 0 R (HD.740) 1052 0 R (HD.7400) 8352 0 R ] /Limits [ (HD.7373) (HD.7400) ] >>
+<< /Names [ (HD.6426) 7284 0 R (HD.6427) 7285 0 R (HD.6428) 7290 0 R (HD.6429) 7291 0 R (HD.643) 947 0 R (HD.6430) 7292 0 R (HD.6431) 7293 0 R (HD.6432) 7294 0 R (HD.6433) 7295 0 R (HD.6434) 7296 0 R (HD.6435) 7297 0 R (HD.6436) 7298 0 R (HD.6437) 7299 0 R (HD.6438) 7300 0 R (HD.6439) 7301 0 R (HD.644) 948 0 R (HD.6440) 7302 0 R (HD.6441) 7303 0 R (HD.6442) 7304 0 R (HD.6443) 7305 0 R (HD.6444) 7306 0 R (HD.6445) 7307 0 R (HD.6446) 7308 0 R (HD.6447) 7309 0 R (HD.6448) 7310 0 R (HD.6449) 7311 0 R (HD.645) 949 0 R (HD.6450) 7312 0 R (HD.6451) 7313 0 R (HD.6452) 7314 0 R (HD.6453) 7315 0 R (HD.6454) 7316 0 R ] /Limits [ (HD.6426) (HD.6454) ] >>
endobj
11938 0 obj
-<< /Names [ (HD.7401) 8353 0 R (HD.7402) 8354 0 R (HD.7403) 8355 0 R (HD.7404) 8356 0 R (HD.7405) 8357 0 R (HD.7406) 8358 0 R (HD.7407) 8359 0 R (HD.7408) 8360 0 R (HD.7409) 8361 0 R (HD.741) 1053 0 R (HD.7410) 8362 0 R (HD.7411) 8363 0 R (HD.7412) 8364 0 R (HD.7413) 8365 0 R (HD.7414) 8366 0 R (HD.7415) 8367 0 R (HD.7416) 8368 0 R (HD.7417) 8369 0 R (HD.7418) 8370 0 R (HD.7419) 8371 0 R (HD.742) 1058 0 R (HD.7420) 8372 0 R (HD.7421) 8373 0 R (HD.7422) 8374 0 R (HD.7423) 8379 0 R (HD.7424) 8380 0 R (HD.7425) 8381 0 R (HD.7426) 8382 0 R (HD.7427) 8383 0 R (HD.7428) 8384 0 R (HD.7429) 8385 0 R (HD.743) 1059 0 R ] /Limits [ (HD.7401) (HD.743) ] >>
+<< /Names [ (HD.6455) 7317 0 R (HD.6456) 7318 0 R (HD.6457) 7319 0 R (HD.6458) 7320 0 R (HD.6459) 7321 0 R (HD.646) 950 0 R (HD.6460) 7322 0 R (HD.6461) 7323 0 R (HD.6462) 7324 0 R (HD.6463) 7325 0 R (HD.6464) 7326 0 R (HD.6465) 7327 0 R (HD.6466) 7328 0 R (HD.6467) 7329 0 R (HD.6468) 7330 0 R (HD.6469) 7331 0 R (HD.647) 951 0 R (HD.6470) 7332 0 R (HD.6471) 7333 0 R (HD.6472) 7334 0 R (HD.6473) 7335 0 R (HD.6474) 7336 0 R (HD.6475) 7342 0 R (HD.6476) 7343 0 R (HD.6477) 7344 0 R (HD.6478) 7345 0 R (HD.6479) 7346 0 R (HD.648) 952 0 R (HD.6480) 7347 0 R (HD.6481) 7348 0 R (HD.6482) 7349 0 R (HD.6483) 7350 0 R ] /Limits [ (HD.6455) (HD.6483) ] >>
endobj
11939 0 obj
-<< /Names [ (HD.7430) 8386 0 R (HD.7431) 8387 0 R (HD.7432) 8388 0 R (HD.7433) 8389 0 R (HD.7434) 8390 0 R (HD.7435) 8391 0 R (HD.7436) 8392 0 R (HD.7437) 8393 0 R (HD.7438) 8394 0 R (HD.7439) 8395 0 R (HD.744) 1060 0 R (HD.7440) 8396 0 R (HD.7441) 8397 0 R (HD.7442) 8398 0 R (HD.7443) 8399 0 R (HD.7444) 8400 0 R (HD.7445) 8401 0 R (HD.7446) 8402 0 R (HD.7447) 8403 0 R (HD.7448) 8404 0 R (HD.7449) 8405 0 R (HD.745) 1061 0 R (HD.7450) 8406 0 R (HD.7451) 8407 0 R (HD.7452) 8408 0 R (HD.7453) 8409 0 R (HD.7454) 8410 0 R (HD.7455) 8411 0 R (HD.7456) 8412 0 R (HD.7457) 8413 0 R (HD.7458) 8414 0 R (HD.7459) 8415 0 R ] /Limits [ (HD.7430) (HD.7459) ] >>
+<< /Names [ (HD.6484) 7351 0 R (HD.6485) 7352 0 R (HD.6486) 7353 0 R (HD.6487) 7354 0 R (HD.6488) 7355 0 R (HD.6489) 7356 0 R (HD.649) 953 0 R (HD.6490) 7357 0 R (HD.6491) 7358 0 R (HD.6492) 7359 0 R (HD.6493) 7360 0 R (HD.6494) 7361 0 R (HD.6495) 7362 0 R (HD.6496) 7363 0 R (HD.6497) 7364 0 R (HD.6498) 7365 0 R (HD.6499) 7366 0 R (HD.65) 265 0 R (HD.650) 954 0 R (HD.6500) 7367 0 R (HD.6501) 7368 0 R (HD.6502) 7369 0 R (HD.6503) 7370 0 R (HD.6504) 7371 0 R (HD.6505) 7372 0 R (HD.6506) 7373 0 R (HD.6507) 7374 0 R (HD.6508) 7375 0 R (HD.6509) 7376 0 R (HD.651) 955 0 R (HD.6510) 7377 0 R (HD.6511) 7378 0 R ] /Limits [ (HD.6484) (HD.6511) ] >>
endobj
11940 0 obj
-<< /Names [ (HD.746) 1062 0 R (HD.7460) 8416 0 R (HD.7461) 8417 0 R (HD.7462) 8418 0 R (HD.7463) 8419 0 R (HD.7464) 8420 0 R (HD.7465) 8421 0 R (HD.7466) 8422 0 R (HD.7467) 8423 0 R (HD.7468) 8424 0 R (HD.7469) 8425 0 R (HD.747) 1063 0 R (HD.7470) 8426 0 R (HD.7471) 8427 0 R (HD.7472) 8428 0 R (HD.7473) 8429 0 R (HD.7474) 8430 0 R (HD.7475) 8431 0 R (HD.7476) 8432 0 R (HD.7477) 8433 0 R (HD.7478) 8434 0 R (HD.7479) 8435 0 R (HD.748) 1064 0 R (HD.7480) 8436 0 R (HD.7481) 8441 0 R (HD.7482) 8442 0 R (HD.7483) 8443 0 R (HD.7484) 8444 0 R (HD.7485) 8445 0 R (HD.7486) 8446 0 R (HD.7487) 8447 0 R (HD.7488) 8448 0 R ] /Limits [ (HD.746) (HD.7488) ] >>
+<< /Names [ (HD.6512) 7379 0 R (HD.6513) 7380 0 R (HD.6514) 7381 0 R (HD.6515) 7382 0 R (HD.6516) 7383 0 R (HD.6517) 7384 0 R (HD.6518) 7385 0 R (HD.6519) 7386 0 R (HD.652) 956 0 R (HD.6520) 7387 0 R (HD.6521) 7392 0 R (HD.6522) 7393 0 R (HD.6523) 7394 0 R (HD.6524) 7395 0 R (HD.6525) 7396 0 R (HD.6526) 7397 0 R (HD.6527) 7398 0 R (HD.6528) 7399 0 R (HD.6529) 7400 0 R (HD.653) 957 0 R (HD.6530) 7401 0 R (HD.6531) 7402 0 R (HD.6532) 7403 0 R (HD.6533) 7404 0 R (HD.6534) 7405 0 R (HD.6535) 7406 0 R (HD.6536) 7407 0 R (HD.6537) 7408 0 R (HD.6538) 7409 0 R (HD.6539) 7410 0 R (HD.654) 958 0 R (HD.6540) 7411 0 R ] /Limits [ (HD.6512) (HD.6540) ] >>
endobj
11941 0 obj
-<< /Names [ (HD.7489) 8449 0 R (HD.749) 1065 0 R (HD.7490) 8450 0 R (HD.7491) 8451 0 R (HD.7492) 8452 0 R (HD.7493) 8453 0 R (HD.7494) 8454 0 R (HD.7495) 8455 0 R (HD.7496) 8456 0 R (HD.7497) 8457 0 R (HD.7498) 8458 0 R (HD.7499) 8459 0 R (HD.75) 275 0 R (HD.750) 1066 0 R (HD.7500) 8460 0 R (HD.7501) 8461 0 R (HD.7502) 8462 0 R (HD.7503) 8463 0 R (HD.7504) 8464 0 R (HD.7505) 8465 0 R (HD.7506) 8466 0 R (HD.7507) 8467 0 R (HD.7508) 8468 0 R (HD.7509) 8469 0 R (HD.751) 1067 0 R (HD.7510) 8470 0 R (HD.7511) 8471 0 R (HD.7512) 8472 0 R (HD.7513) 8473 0 R (HD.7514) 8474 0 R (HD.7515) 8475 0 R (HD.7516) 8476 0 R ] /Limits [ (HD.7489) (HD.7516) ] >>
+<< /Names [ (HD.6541) 7412 0 R (HD.6542) 7413 0 R (HD.6543) 7414 0 R (HD.6544) 7415 0 R (HD.6545) 7416 0 R (HD.6546) 7417 0 R (HD.6547) 7418 0 R (HD.6548) 7419 0 R (HD.6549) 7420 0 R (HD.655) 959 0 R (HD.6550) 7421 0 R (HD.6551) 7422 0 R (HD.6552) 7423 0 R (HD.6553) 7424 0 R (HD.6554) 7425 0 R (HD.6555) 7426 0 R (HD.6556) 7427 0 R (HD.6557) 7428 0 R (HD.6558) 7429 0 R (HD.6559) 7430 0 R (HD.656) 960 0 R (HD.6560) 7431 0 R (HD.6561) 7432 0 R (HD.6562) 7433 0 R (HD.6563) 7434 0 R (HD.6564) 7435 0 R (HD.6565) 7436 0 R (HD.6566) 7437 0 R (HD.6567) 7438 0 R (HD.6568) 7439 0 R (HD.6569) 7440 0 R (HD.657) 961 0 R ] /Limits [ (HD.6541) (HD.657) ] >>
endobj
11942 0 obj
-<< /Names [ (HD.7517) 8477 0 R (HD.7518) 8478 0 R (HD.7519) 8479 0 R (HD.752) 1068 0 R (HD.7520) 8480 0 R (HD.7521) 8481 0 R (HD.7522) 8482 0 R (HD.7523) 8483 0 R (HD.7524) 8484 0 R (HD.7525) 8485 0 R (HD.7526) 8486 0 R (HD.7527) 8487 0 R (HD.7528) 8488 0 R (HD.7529) 8493 0 R (HD.753) 1069 0 R (HD.7530) 8494 0 R (HD.7531) 8495 0 R (HD.7532) 8496 0 R (HD.7533) 8497 0 R (HD.7534) 8498 0 R (HD.7535) 8499 0 R (HD.7536) 8500 0 R (HD.7537) 8501 0 R (HD.7538) 8502 0 R (HD.7539) 8503 0 R (HD.754) 1070 0 R (HD.7540) 8504 0 R (HD.7541) 8505 0 R (HD.7542) 8506 0 R (HD.7543) 8507 0 R (HD.7544) 8508 0 R (HD.7545) 8509 0 R ] /Limits [ (HD.7517) (HD.7545) ] >>
+<< /Names [ (HD.6570) 7441 0 R (HD.6571) 7442 0 R (HD.6572) 7447 0 R (HD.6573) 7448 0 R (HD.6574) 7449 0 R (HD.6575) 7450 0 R (HD.6576) 7451 0 R (HD.6577) 7452 0 R (HD.6578) 7453 0 R (HD.6579) 7454 0 R (HD.658) 962 0 R (HD.6580) 7455 0 R (HD.6581) 7456 0 R (HD.6582) 7457 0 R (HD.6583) 7458 0 R (HD.6584) 7459 0 R (HD.6585) 7460 0 R (HD.6586) 7461 0 R (HD.6587) 7462 0 R (HD.6588) 7463 0 R (HD.6589) 7464 0 R (HD.659) 963 0 R (HD.6590) 7465 0 R (HD.6591) 7466 0 R (HD.6592) 7467 0 R (HD.6593) 7468 0 R (HD.6594) 7469 0 R (HD.6595) 7470 0 R (HD.6596) 7471 0 R (HD.6597) 7472 0 R (HD.6598) 7473 0 R (HD.6599) 7474 0 R ] /Limits [ (HD.6570) (HD.6599) ] >>
endobj
11943 0 obj
-<< /Names [ (HD.7546) 8510 0 R (HD.7547) 8511 0 R (HD.7548) 8512 0 R (HD.7549) 8513 0 R (HD.755) 1071 0 R (HD.7550) 8514 0 R (HD.7551) 8515 0 R (HD.7552) 8516 0 R (HD.7553) 8517 0 R (HD.7554) 8518 0 R (HD.7555) 8519 0 R (HD.7556) 8520 0 R (HD.7557) 8521 0 R (HD.7558) 8522 0 R (HD.7559) 8523 0 R (HD.756) 1072 0 R (HD.7560) 8524 0 R (HD.7561) 8525 0 R (HD.7562) 8526 0 R (HD.7563) 8527 0 R (HD.7564) 8528 0 R (HD.7565) 8529 0 R (HD.7566) 8530 0 R (HD.7567) 8531 0 R (HD.7568) 8532 0 R (HD.7569) 8533 0 R (HD.757) 1073 0 R (HD.7570) 8534 0 R (HD.7571) 8535 0 R (HD.7572) 8536 0 R (HD.7573) 8537 0 R (HD.7574) 8538 0 R ] /Limits [ (HD.7546) (HD.7574) ] >>
+<< /Names [ (HD.66) 266 0 R (HD.660) 968 0 R (HD.6600) 7475 0 R (HD.6601) 7476 0 R (HD.6602) 7477 0 R (HD.6603) 7478 0 R (HD.6604) 7479 0 R (HD.6605) 7480 0 R (HD.6606) 7481 0 R (HD.6607) 7482 0 R (HD.6608) 7483 0 R (HD.6609) 7484 0 R (HD.661) 969 0 R (HD.6610) 7485 0 R (HD.6611) 7486 0 R (HD.6612) 7487 0 R (HD.6613) 7492 0 R (HD.6614) 7493 0 R (HD.6615) 7494 0 R (HD.6616) 7495 0 R (HD.6617) 7496 0 R (HD.6618) 7497 0 R (HD.6619) 7498 0 R (HD.662) 970 0 R (HD.6620) 7499 0 R (HD.6621) 7500 0 R (HD.6622) 7501 0 R (HD.6623) 7502 0 R (HD.6624) 7503 0 R (HD.6625) 7504 0 R (HD.6626) 7505 0 R (HD.6627) 7506 0 R ] /Limits [ (HD.66) (HD.6627) ] >>
endobj
11944 0 obj
-<< /Names [ (HD.7575) 8539 0 R (HD.7576) 8540 0 R (HD.7577) 8541 0 R (HD.7578) 8542 0 R (HD.7579) 8547 0 R (HD.758) 1074 0 R (HD.7580) 8548 0 R (HD.7581) 8549 0 R (HD.7582) 8550 0 R (HD.7583) 8551 0 R (HD.7584) 8552 0 R (HD.7585) 8553 0 R (HD.7586) 8554 0 R (HD.7587) 8555 0 R (HD.7588) 8556 0 R (HD.7589) 8557 0 R (HD.759) 1075 0 R (HD.7590) 8558 0 R (HD.7591) 8559 0 R (HD.7592) 8560 0 R (HD.7593) 8561 0 R (HD.7594) 8562 0 R (HD.7595) 8563 0 R (HD.7596) 8564 0 R (HD.7597) 8565 0 R (HD.7598) 8566 0 R (HD.7599) 8567 0 R (HD.76) 276 0 R (HD.760) 1076 0 R (HD.7600) 8568 0 R (HD.7601) 8569 0 R (HD.7602) 8570 0 R ] /Limits [ (HD.7575) (HD.7602) ] >>
+<< /Names [ (HD.6628) 7507 0 R (HD.6629) 7508 0 R (HD.663) 971 0 R (HD.6630) 7509 0 R (HD.6631) 7510 0 R (HD.6632) 7511 0 R (HD.6633) 7512 0 R (HD.6634) 7513 0 R (HD.6635) 7514 0 R (HD.6636) 7515 0 R (HD.6637) 7516 0 R (HD.6638) 7517 0 R (HD.6639) 7518 0 R (HD.664) 972 0 R (HD.6640) 7519 0 R (HD.6641) 7520 0 R (HD.6642) 7521 0 R (HD.6643) 7522 0 R (HD.6644) 7523 0 R (HD.6645) 7524 0 R (HD.6646) 7525 0 R (HD.6647) 7526 0 R (HD.6648) 7527 0 R (HD.6649) 7528 0 R (HD.665) 973 0 R (HD.6650) 7529 0 R (HD.6651) 7530 0 R (HD.6652) 7531 0 R (HD.6653) 7532 0 R (HD.6654) 7533 0 R (HD.6655) 7534 0 R (HD.6656) 7535 0 R ] /Limits [ (HD.6628) (HD.6656) ] >>
endobj
11945 0 obj
-<< /Names [ (HD.7603) 8571 0 R (HD.7604) 8572 0 R (HD.7605) 8573 0 R (HD.7606) 8574 0 R (HD.7607) 8575 0 R (HD.7608) 8576 0 R (HD.7609) 8577 0 R (HD.761) 1077 0 R (HD.7610) 8578 0 R (HD.7611) 8579 0 R (HD.7612) 8580 0 R (HD.7613) 8581 0 R (HD.7614) 8582 0 R (HD.7615) 8583 0 R (HD.7616) 8584 0 R (HD.7617) 8585 0 R (HD.7618) 8586 0 R (HD.7619) 8587 0 R (HD.762) 1078 0 R (HD.7620) 8588 0 R (HD.7621) 8589 0 R (HD.7622) 8590 0 R (HD.7623) 8591 0 R (HD.7624) 8592 0 R (HD.7625) 8593 0 R (HD.7626) 8594 0 R (HD.7627) 8595 0 R (HD.7628) 8596 0 R (HD.7629) 8597 0 R (HD.763) 1079 0 R (HD.7630) 8598 0 R (HD.7631) 8599 0 R ] /Limits [ (HD.7603) (HD.7631) ] >>
+<< /Names [ (HD.6657) 7536 0 R (HD.6658) 7537 0 R (HD.6659) 7538 0 R (HD.666) 974 0 R (HD.6660) 7539 0 R (HD.6661) 7540 0 R (HD.6662) 7541 0 R (HD.6663) 7542 0 R (HD.6664) 7543 0 R (HD.6665) 7544 0 R (HD.6666) 7545 0 R (HD.6667) 7546 0 R (HD.6668) 7547 0 R (HD.6669) 7548 0 R (HD.667) 975 0 R (HD.6670) 7553 0 R (HD.6671) 7554 0 R (HD.6672) 7555 0 R (HD.6673) 7556 0 R (HD.6674) 7557 0 R (HD.6675) 7558 0 R (HD.6676) 7559 0 R (HD.6677) 7560 0 R (HD.6678) 7561 0 R (HD.6679) 7562 0 R (HD.668) 976 0 R (HD.6680) 7563 0 R (HD.6681) 7564 0 R (HD.6682) 7565 0 R (HD.6683) 7566 0 R (HD.6684) 7567 0 R (HD.6685) 7568 0 R ] /Limits [ (HD.6657) (HD.6685) ] >>
endobj
11946 0 obj
-<< /Names [ (HD.7632) 8600 0 R (HD.7633) 8601 0 R (HD.7634) 8602 0 R (HD.7635) 8603 0 R (HD.7636) 8604 0 R (HD.7637) 8605 0 R (HD.7638) 8606 0 R (HD.7639) 8607 0 R (HD.764) 1080 0 R (HD.7640) 8612 0 R (HD.7641) 8613 0 R (HD.7642) 8614 0 R (HD.7643) 8615 0 R (HD.7644) 8616 0 R (HD.7645) 8617 0 R (HD.7646) 8618 0 R (HD.7647) 8619 0 R (HD.7648) 8620 0 R (HD.7649) 8621 0 R (HD.765) 1081 0 R (HD.7650) 8622 0 R (HD.7651) 8623 0 R (HD.7652) 8624 0 R (HD.7653) 8625 0 R (HD.7654) 8626 0 R (HD.7655) 8627 0 R (HD.7656) 8628 0 R (HD.7657) 8629 0 R (HD.7658) 8630 0 R (HD.7659) 8631 0 R (HD.766) 1086 0 R (HD.7660) 8632 0 R ] /Limits [ (HD.7632) (HD.7660) ] >>
+<< /Names [ (HD.6686) 7569 0 R (HD.6687) 7570 0 R (HD.6688) 7571 0 R (HD.6689) 7572 0 R (HD.669) 977 0 R (HD.6690) 7573 0 R (HD.6691) 7574 0 R (HD.6692) 7575 0 R (HD.6693) 7576 0 R (HD.6694) 7577 0 R (HD.6695) 7578 0 R (HD.6696) 7579 0 R (HD.6697) 7580 0 R (HD.6698) 7581 0 R (HD.6699) 7582 0 R (HD.67) 267 0 R (HD.670) 978 0 R (HD.6700) 7583 0 R (HD.6701) 7584 0 R (HD.6702) 7585 0 R (HD.6703) 7586 0 R (HD.6704) 7587 0 R (HD.6705) 7588 0 R (HD.6706) 7589 0 R (HD.6707) 7590 0 R (HD.6708) 7591 0 R (HD.6709) 7592 0 R (HD.671) 979 0 R (HD.6710) 7593 0 R (HD.6711) 7594 0 R (HD.6712) 7595 0 R (HD.6713) 7596 0 R ] /Limits [ (HD.6686) (HD.6713) ] >>
endobj
11947 0 obj
-<< /Names [ (HD.7661) 8633 0 R (HD.7662) 8634 0 R (HD.7663) 8635 0 R (HD.7664) 8636 0 R (HD.7665) 8637 0 R (HD.7666) 8638 0 R (HD.7667) 8639 0 R (HD.7668) 8640 0 R (HD.7669) 8641 0 R (HD.767) 1087 0 R (HD.7670) 8642 0 R (HD.7671) 8643 0 R (HD.7672) 8644 0 R (HD.7673) 8645 0 R (HD.7674) 8646 0 R (HD.7675) 8647 0 R (HD.7676) 8652 0 R (HD.7677) 8653 0 R (HD.7678) 8654 0 R (HD.7679) 8655 0 R (HD.768) 1088 0 R (HD.7680) 8656 0 R (HD.7681) 8657 0 R (HD.7682) 8658 0 R (HD.7683) 8659 0 R (HD.7684) 8660 0 R (HD.7685) 8661 0 R (HD.7686) 8662 0 R (HD.7687) 8663 0 R (HD.7688) 8664 0 R (HD.7689) 8665 0 R (HD.769) 1089 0 R ] /Limits [ (HD.7661) (HD.769) ] >>
+<< /Names [ (HD.6714) 7597 0 R (HD.6715) 7598 0 R (HD.6716) 7599 0 R (HD.6717) 7600 0 R (HD.6718) 7601 0 R (HD.6719) 7602 0 R (HD.672) 980 0 R (HD.6720) 7603 0 R (HD.6721) 7604 0 R (HD.6722) 7605 0 R (HD.6723) 7606 0 R (HD.6724) 7607 0 R (HD.6725) 7612 0 R (HD.6726) 7613 0 R (HD.6727) 7614 0 R (HD.6728) 7615 0 R (HD.6729) 7616 0 R (HD.673) 981 0 R (HD.6730) 7617 0 R (HD.6731) 7618 0 R (HD.6732) 7619 0 R (HD.6733) 7620 0 R (HD.6734) 7621 0 R (HD.6735) 7622 0 R (HD.6736) 7623 0 R (HD.6737) 7624 0 R (HD.6738) 7625 0 R (HD.6739) 7626 0 R (HD.674) 982 0 R (HD.6740) 7627 0 R (HD.6741) 7628 0 R (HD.6742) 7629 0 R ] /Limits [ (HD.6714) (HD.6742) ] >>
endobj
11948 0 obj
-<< /Names [ (HD.7690) 8666 0 R (HD.7691) 8667 0 R (HD.7692) 8668 0 R (HD.7693) 8669 0 R (HD.7694) 8670 0 R (HD.7695) 8671 0 R (HD.7696) 8672 0 R (HD.7697) 8673 0 R (HD.7698) 8674 0 R (HD.7699) 8675 0 R (HD.77) 277 0 R (HD.770) 1090 0 R (HD.7700) 8676 0 R (HD.7701) 8677 0 R (HD.7702) 8678 0 R (HD.7703) 8679 0 R (HD.7704) 8680 0 R (HD.7705) 8681 0 R (HD.7706) 8682 0 R (HD.7707) 8683 0 R (HD.7708) 8684 0 R (HD.7709) 8685 0 R (HD.771) 1091 0 R (HD.7710) 8686 0 R (HD.7711) 8687 0 R (HD.7712) 8688 0 R (HD.7713) 8689 0 R (HD.7714) 8690 0 R (HD.7715) 8691 0 R (HD.7716) 8692 0 R (HD.7717) 8693 0 R (HD.7718) 8694 0 R ] /Limits [ (HD.7690) (HD.7718) ] >>
+<< /Names [ (HD.6743) 7630 0 R (HD.6744) 7631 0 R (HD.6745) 7632 0 R (HD.6746) 7633 0 R (HD.6747) 7634 0 R (HD.6748) 7635 0 R (HD.6749) 7636 0 R (HD.675) 983 0 R (HD.6750) 7637 0 R (HD.6751) 7638 0 R (HD.6752) 7639 0 R (HD.6753) 7640 0 R (HD.6754) 7641 0 R (HD.6755) 7642 0 R (HD.6756) 7643 0 R (HD.6757) 7648 0 R (HD.6758) 7649 0 R (HD.6759) 7650 0 R (HD.676) 984 0 R (HD.6760) 7651 0 R (HD.6761) 7652 0 R (HD.6762) 7653 0 R (HD.6763) 7654 0 R (HD.6764) 7655 0 R (HD.6765) 7656 0 R (HD.6766) 7657 0 R (HD.6767) 7658 0 R (HD.6768) 7659 0 R (HD.6769) 7660 0 R (HD.677) 985 0 R (HD.6770) 7661 0 R (HD.6771) 7662 0 R ] /Limits [ (HD.6743) (HD.6771) ] >>
endobj
11949 0 obj
-<< /Names [ (HD.7719) 8695 0 R (HD.772) 1092 0 R (HD.7720) 8696 0 R (HD.7721) 8697 0 R (HD.7722) 8698 0 R (HD.7723) 8699 0 R (HD.7724) 8700 0 R (HD.7725) 8705 0 R (HD.7726) 8706 0 R (HD.7727) 8707 0 R (HD.7728) 8708 0 R (HD.7729) 8709 0 R (HD.773) 1093 0 R (HD.7730) 8710 0 R (HD.7731) 8711 0 R (HD.7732) 8712 0 R (HD.7733) 8713 0 R (HD.7734) 8714 0 R (HD.7735) 8715 0 R (HD.7736) 8716 0 R (HD.7737) 8717 0 R (HD.7738) 8718 0 R (HD.7739) 8719 0 R (HD.774) 1094 0 R (HD.7740) 8720 0 R (HD.7741) 8721 0 R (HD.7742) 8722 0 R (HD.7743) 8723 0 R (HD.7744) 8724 0 R (HD.7745) 8725 0 R (HD.7746) 8726 0 R (HD.7747) 8727 0 R ] /Limits [ (HD.7719) (HD.7747) ] >>
+<< /Names [ (HD.6772) 7663 0 R (HD.6773) 7664 0 R (HD.6774) 7665 0 R (HD.6775) 7666 0 R (HD.6776) 7667 0 R (HD.6777) 7668 0 R (HD.6778) 7669 0 R (HD.6779) 7670 0 R (HD.678) 986 0 R (HD.6780) 7671 0 R (HD.6781) 7672 0 R (HD.6782) 7673 0 R (HD.6783) 7674 0 R (HD.6784) 7675 0 R (HD.6785) 7676 0 R (HD.6786) 7677 0 R (HD.6787) 7678 0 R (HD.6788) 7679 0 R (HD.6789) 7680 0 R (HD.679) 987 0 R (HD.6790) 7681 0 R (HD.6791) 7682 0 R (HD.6792) 7683 0 R (HD.6793) 7684 0 R (HD.6794) 7685 0 R (HD.6795) 7686 0 R (HD.6796) 7687 0 R (HD.6797) 7688 0 R (HD.6798) 7689 0 R (HD.6799) 7690 0 R (HD.68) 268 0 R (HD.680) 988 0 R ] /Limits [ (HD.6772) (HD.680) ] >>
endobj
11950 0 obj
-<< /Names [ (HD.7748) 8728 0 R (HD.7749) 8729 0 R (HD.775) 1095 0 R (HD.7750) 8730 0 R (HD.7751) 8731 0 R (HD.7752) 8732 0 R (HD.7753) 8733 0 R (HD.7754) 8734 0 R (HD.7755) 8735 0 R (HD.7756) 8736 0 R (HD.7757) 8737 0 R (HD.7758) 8738 0 R (HD.7759) 8739 0 R (HD.776) 1096 0 R (HD.7760) 8740 0 R (HD.7761) 8741 0 R (HD.7762) 8742 0 R (HD.7763) 8743 0 R (HD.7764) 8744 0 R (HD.7765) 8745 0 R (HD.7766) 8746 0 R (HD.7767) 8747 0 R (HD.7768) 8748 0 R (HD.7769) 8749 0 R (HD.777) 1097 0 R (HD.7770) 8750 0 R (HD.7771) 8751 0 R (HD.7772) 8752 0 R (HD.7773) 8753 0 R (HD.7774) 8754 0 R (HD.7775) 8755 0 R (HD.7776) 8756 0 R ] /Limits [ (HD.7748) (HD.7776) ] >>
+<< /Names [ (HD.6800) 7691 0 R (HD.6801) 7692 0 R (HD.6802) 7693 0 R (HD.6803) 7694 0 R (HD.6804) 7695 0 R (HD.6805) 7696 0 R (HD.6806) 7697 0 R (HD.6807) 7698 0 R (HD.6808) 7699 0 R (HD.6809) 7700 0 R (HD.681) 989 0 R (HD.6810) 7705 0 R (HD.6811) 7706 0 R (HD.6812) 7707 0 R (HD.6813) 7708 0 R (HD.6814) 7709 0 R (HD.6815) 7710 0 R (HD.6816) 7711 0 R (HD.6817) 7712 0 R (HD.6818) 7713 0 R (HD.6819) 7714 0 R (HD.682) 990 0 R (HD.6820) 7715 0 R (HD.6821) 7716 0 R (HD.6822) 7717 0 R (HD.6823) 7718 0 R (HD.6824) 7719 0 R (HD.6825) 7720 0 R (HD.6826) 7721 0 R (HD.6827) 7722 0 R (HD.6828) 7723 0 R (HD.6829) 7724 0 R ] /Limits [ (HD.6800) (HD.6829) ] >>
endobj
11951 0 obj
-<< /Names [ (HD.7777) 8757 0 R (HD.7778) 8758 0 R (HD.7779) 8759 0 R (HD.778) 1098 0 R (HD.7780) 8760 0 R (HD.7781) 8761 0 R (HD.7782) 8762 0 R (HD.7783) 8763 0 R (HD.7784) 8764 0 R (HD.7785) 8769 0 R (HD.7786) 8770 0 R (HD.7787) 8771 0 R (HD.7788) 8772 0 R (HD.7789) 8773 0 R (HD.779) 1099 0 R (HD.7790) 8774 0 R (HD.7791) 8775 0 R (HD.7792) 8776 0 R (HD.7793) 8777 0 R (HD.7794) 8778 0 R (HD.7795) 8779 0 R (HD.7796) 8780 0 R (HD.7797) 8781 0 R (HD.7798) 8782 0 R (HD.7799) 8783 0 R (HD.78) 278 0 R (HD.780) 1100 0 R (HD.7800) 8784 0 R (HD.7801) 8785 0 R (HD.7802) 8786 0 R (HD.7803) 8787 0 R (HD.7804) 8788 0 R ] /Limits [ (HD.7777) (HD.7804) ] >>
+<< /Names [ (HD.683) 991 0 R (HD.6830) 7725 0 R (HD.6831) 7726 0 R (HD.6832) 7727 0 R (HD.6833) 7728 0 R (HD.6834) 7729 0 R (HD.6835) 7730 0 R (HD.6836) 7731 0 R (HD.6837) 7732 0 R (HD.6838) 7733 0 R (HD.6839) 7734 0 R (HD.684) 992 0 R (HD.6840) 7735 0 R (HD.6841) 7736 0 R (HD.6842) 7737 0 R (HD.6843) 7738 0 R (HD.6844) 7739 0 R (HD.6845) 7740 0 R (HD.6846) 7741 0 R (HD.6847) 7742 0 R (HD.6848) 7743 0 R (HD.6849) 7744 0 R (HD.685) 993 0 R (HD.6850) 7745 0 R (HD.6851) 7746 0 R (HD.6852) 7747 0 R (HD.6853) 7748 0 R (HD.6854) 7753 0 R (HD.6855) 7754 0 R (HD.6856) 7755 0 R (HD.6857) 7756 0 R (HD.6858) 7757 0 R ] /Limits [ (HD.683) (HD.6858) ] >>
endobj
11952 0 obj
-<< /Names [ (HD.7805) 8789 0 R (HD.7806) 8790 0 R (HD.7807) 8791 0 R (HD.7808) 8792 0 R (HD.7809) 8793 0 R (HD.781) 1101 0 R (HD.7810) 8794 0 R (HD.7811) 8795 0 R (HD.7812) 8796 0 R (HD.7813) 8797 0 R (HD.7814) 8798 0 R (HD.7815) 8799 0 R (HD.7816) 8800 0 R (HD.7817) 8801 0 R (HD.7818) 8802 0 R (HD.7819) 8803 0 R (HD.782) 1102 0 R (HD.7820) 8804 0 R (HD.7821) 8805 0 R (HD.7822) 8806 0 R (HD.7823) 8807 0 R (HD.7824) 8808 0 R (HD.7825) 8809 0 R (HD.7826) 8810 0 R (HD.7827) 8811 0 R (HD.7828) 8812 0 R (HD.7829) 8813 0 R (HD.783) 1107 0 R (HD.7830) 8814 0 R (HD.7831) 8815 0 R (HD.7832) 8816 0 R (HD.7833) 8817 0 R ] /Limits [ (HD.7805) (HD.7833) ] >>
+<< /Names [ (HD.6859) 7758 0 R (HD.686) 994 0 R (HD.6860) 7759 0 R (HD.6861) 7760 0 R (HD.6862) 7761 0 R (HD.6863) 7762 0 R (HD.6864) 7763 0 R (HD.6865) 7764 0 R (HD.6866) 7765 0 R (HD.6867) 7766 0 R (HD.6868) 7767 0 R (HD.6869) 7768 0 R (HD.687) 995 0 R (HD.6870) 7769 0 R (HD.6871) 7770 0 R (HD.6872) 7771 0 R (HD.6873) 7772 0 R (HD.6874) 7773 0 R (HD.6875) 7774 0 R (HD.6876) 7775 0 R (HD.6877) 7776 0 R (HD.6878) 7777 0 R (HD.6879) 7778 0 R (HD.688) 996 0 R (HD.6880) 7779 0 R (HD.6881) 7780 0 R (HD.6882) 7781 0 R (HD.6883) 7782 0 R (HD.6884) 7783 0 R (HD.6885) 7784 0 R (HD.6886) 7785 0 R (HD.6887) 7786 0 R ] /Limits [ (HD.6859) (HD.6887) ] >>
endobj
11953 0 obj
-<< /Names [ (HD.7834) 8818 0 R (HD.7835) 8819 0 R (HD.7836) 8820 0 R (HD.7837) 8821 0 R (HD.7838) 8822 0 R (HD.7839) 8823 0 R (HD.784) 1108 0 R (HD.7840) 8824 0 R (HD.7841) 8825 0 R (HD.7842) 8826 0 R (HD.7843) 8827 0 R (HD.7844) 8828 0 R (HD.7845) 8829 0 R (HD.7846) 8830 0 R (HD.7847) 8835 0 R (HD.7848) 8836 0 R (HD.7849) 8837 0 R (HD.785) 1109 0 R (HD.7850) 8838 0 R (HD.7851) 8839 0 R (HD.7852) 8840 0 R (HD.7853) 8841 0 R (HD.7854) 8842 0 R (HD.7855) 8843 0 R (HD.7856) 8844 0 R (HD.7857) 8845 0 R (HD.7858) 8846 0 R (HD.7859) 8847 0 R (HD.786) 1110 0 R (HD.7860) 8848 0 R (HD.7861) 8849 0 R (HD.7862) 8850 0 R ] /Limits [ (HD.7834) (HD.7862) ] >>
+<< /Names [ (HD.6888) 7787 0 R (HD.6889) 7788 0 R (HD.689) 997 0 R (HD.6890) 7789 0 R (HD.6891) 7790 0 R (HD.6892) 7791 0 R (HD.6893) 7792 0 R (HD.6894) 7793 0 R (HD.6895) 7794 0 R (HD.6896) 7795 0 R (HD.6897) 7800 0 R (HD.6898) 7801 0 R (HD.6899) 7802 0 R (HD.69) 269 0 R (HD.690) 998 0 R (HD.6900) 7803 0 R (HD.6901) 7804 0 R (HD.6902) 7805 0 R (HD.6903) 7806 0 R (HD.6904) 7807 0 R (HD.6905) 7808 0 R (HD.6906) 7809 0 R (HD.6907) 7810 0 R (HD.6908) 7811 0 R (HD.6909) 7812 0 R (HD.691) 999 0 R (HD.6910) 7813 0 R (HD.6911) 7814 0 R (HD.6912) 7815 0 R (HD.6913) 7816 0 R (HD.6914) 7817 0 R (HD.6915) 7818 0 R ] /Limits [ (HD.6888) (HD.6915) ] >>
endobj
11954 0 obj
-<< /Names [ (HD.7863) 8851 0 R (HD.7864) 8852 0 R (HD.7865) 8853 0 R (HD.7866) 8854 0 R (HD.7867) 8855 0 R (HD.7868) 8856 0 R (HD.7869) 8857 0 R (HD.787) 1111 0 R (HD.7870) 8858 0 R (HD.7871) 8859 0 R (HD.7872) 8860 0 R (HD.7873) 8861 0 R (HD.7874) 8862 0 R (HD.7875) 8863 0 R (HD.7876) 8864 0 R (HD.7877) 8865 0 R (HD.7878) 8866 0 R (HD.7879) 8867 0 R (HD.788) 1112 0 R (HD.7880) 8868 0 R (HD.7881) 8869 0 R (HD.7882) 8870 0 R (HD.7883) 8871 0 R (HD.7884) 8872 0 R (HD.7885) 8873 0 R (HD.7886) 8874 0 R (HD.7887) 8875 0 R (HD.7888) 8876 0 R (HD.7889) 8877 0 R (HD.789) 1113 0 R (HD.7890) 8878 0 R (HD.7891) 8879 0 R ] /Limits [ (HD.7863) (HD.7891) ] >>
+<< /Names [ (HD.6916) 7819 0 R (HD.6917) 7820 0 R (HD.6918) 7821 0 R (HD.6919) 7822 0 R (HD.692) 1000 0 R (HD.6920) 7823 0 R (HD.6921) 7824 0 R (HD.6922) 7825 0 R (HD.6923) 7826 0 R (HD.6924) 7827 0 R (HD.6925) 7828 0 R (HD.6926) 7829 0 R (HD.6927) 7830 0 R (HD.6928) 7831 0 R (HD.6929) 7832 0 R (HD.693) 1001 0 R (HD.6930) 7833 0 R (HD.6931) 7840 0 R (HD.6932) 7841 0 R (HD.6933) 7842 0 R (HD.6934) 7843 0 R (HD.6935) 7844 0 R (HD.6936) 7845 0 R (HD.6937) 7846 0 R (HD.6938) 7847 0 R (HD.6939) 7848 0 R (HD.694) 1002 0 R (HD.6940) 7849 0 R (HD.6941) 7850 0 R (HD.6942) 7851 0 R (HD.6943) 7852 0 R (HD.6944) 7853 0 R ] /Limits [ (HD.6916) (HD.6944) ] >>
endobj
11955 0 obj
-<< /Names [ (HD.7892) 8880 0 R (HD.7893) 8881 0 R (HD.7894) 8882 0 R (HD.7895) 8883 0 R (HD.7896) 8884 0 R (HD.7897) 8885 0 R (HD.7898) 8891 0 R (HD.7899) 8892 0 R (HD.79) 279 0 R (HD.790) 1114 0 R (HD.7900) 8893 0 R (HD.7901) 8894 0 R (HD.7902) 8895 0 R (HD.7903) 8896 0 R (HD.7904) 8897 0 R (HD.7905) 8898 0 R (HD.7906) 8899 0 R (HD.7907) 8900 0 R (HD.7908) 8901 0 R (HD.7909) 8902 0 R (HD.791) 1115 0 R (HD.7910) 8903 0 R (HD.7911) 8904 0 R (HD.7912) 8905 0 R (HD.7913) 8906 0 R (HD.7914) 8907 0 R (HD.7915) 8908 0 R (HD.7916) 8909 0 R (HD.7917) 8910 0 R (HD.7918) 8911 0 R (HD.7919) 8912 0 R (HD.792) 1116 0 R ] /Limits [ (HD.7892) (HD.792) ] >>
+<< /Names [ (HD.6945) 7854 0 R (HD.6946) 7855 0 R (HD.6947) 7856 0 R (HD.6948) 7857 0 R (HD.6949) 7858 0 R (HD.695) 1003 0 R (HD.6950) 7859 0 R (HD.6951) 7860 0 R (HD.6952) 7861 0 R (HD.6953) 7862 0 R (HD.6954) 7863 0 R (HD.6955) 7864 0 R (HD.6956) 7865 0 R (HD.6957) 7866 0 R (HD.6958) 7867 0 R (HD.6959) 7868 0 R (HD.696) 1004 0 R (HD.6960) 7869 0 R (HD.6961) 7870 0 R (HD.6962) 7871 0 R (HD.6963) 7872 0 R (HD.6964) 7873 0 R (HD.6965) 7874 0 R (HD.6966) 7875 0 R (HD.6967) 7876 0 R (HD.6968) 7877 0 R (HD.6969) 7878 0 R (HD.697) 1005 0 R (HD.6970) 7879 0 R (HD.6971) 7880 0 R (HD.6972) 7881 0 R (HD.6973) 7888 0 R ] /Limits [ (HD.6945) (HD.6973) ] >>
endobj
11956 0 obj
-<< /Names [ (HD.7920) 8913 0 R (HD.7921) 8914 0 R (HD.7922) 8915 0 R (HD.7923) 8916 0 R (HD.7924) 8917 0 R (HD.7925) 8918 0 R (HD.7926) 8919 0 R (HD.7927) 8920 0 R (HD.7928) 8921 0 R (HD.7929) 8922 0 R (HD.793) 1117 0 R (HD.7930) 8923 0 R (HD.7931) 8924 0 R (HD.7932) 8925 0 R (HD.7933) 8926 0 R (HD.7934) 8927 0 R (HD.7935) 8928 0 R (HD.7936) 8929 0 R (HD.7937) 8930 0 R (HD.7938) 8931 0 R (HD.7939) 8932 0 R (HD.794) 1118 0 R (HD.7940) 8933 0 R (HD.7941) 8934 0 R (HD.7942) 8935 0 R (HD.7943) 8936 0 R (HD.7944) 8937 0 R (HD.7945) 8938 0 R (HD.7946) 8939 0 R (HD.7947) 8940 0 R (HD.7948) 8941 0 R (HD.7949) 8942 0 R ] /Limits [ (HD.7920) (HD.7949) ] >>
+<< /Names [ (HD.6974) 7889 0 R (HD.6975) 7890 0 R (HD.6976) 7891 0 R (HD.6977) 7892 0 R (HD.6978) 7893 0 R (HD.6979) 7894 0 R (HD.698) 1006 0 R (HD.6980) 7895 0 R (HD.6981) 7896 0 R (HD.6982) 7897 0 R (HD.6983) 7898 0 R (HD.6984) 7899 0 R (HD.6985) 7900 0 R (HD.6986) 7901 0 R (HD.6987) 7902 0 R (HD.6988) 7903 0 R (HD.6989) 7904 0 R (HD.699) 1007 0 R (HD.6990) 7905 0 R (HD.6991) 7906 0 R (HD.6992) 7907 0 R (HD.6993) 7908 0 R (HD.6994) 7909 0 R (HD.6995) 7910 0 R (HD.6996) 7911 0 R (HD.6997) 7912 0 R (HD.6998) 7913 0 R (HD.6999) 7914 0 R (HD.7) 195 0 R (HD.70) 270 0 R (HD.700) 1008 0 R (HD.7000) 7915 0 R ] /Limits [ (HD.6974) (HD.7000) ] >>
endobj
11957 0 obj
-<< /Names [ (HD.795) 1119 0 R (HD.7950) 8943 0 R (HD.7951) 8944 0 R (HD.7952) 8945 0 R (HD.7953) 8946 0 R (HD.7954) 8947 0 R (HD.7955) 8948 0 R (HD.7956) 8949 0 R (HD.7957) 8954 0 R (HD.7958) 8955 0 R (HD.7959) 8956 0 R (HD.796) 1120 0 R (HD.7960) 8957 0 R (HD.7961) 8958 0 R (HD.7962) 8959 0 R (HD.7963) 8960 0 R (HD.7964) 8961 0 R (HD.7965) 8962 0 R (HD.7966) 8963 0 R (HD.7967) 8964 0 R (HD.7968) 8965 0 R (HD.7969) 8966 0 R (HD.797) 1121 0 R (HD.7970) 8967 0 R (HD.7971) 8968 0 R (HD.7972) 8969 0 R (HD.7973) 8970 0 R (HD.7974) 8971 0 R (HD.7975) 8972 0 R (HD.7976) 8973 0 R (HD.7977) 8974 0 R (HD.7978) 8975 0 R ] /Limits [ (HD.795) (HD.7978) ] >>
+<< /Names [ (HD.7001) 7916 0 R (HD.7002) 7917 0 R (HD.7003) 7918 0 R (HD.7004) 7919 0 R (HD.7005) 7920 0 R (HD.7006) 7921 0 R (HD.7007) 7922 0 R (HD.7008) 7923 0 R (HD.7009) 7924 0 R (HD.701) 1013 0 R (HD.7010) 7925 0 R (HD.7011) 7926 0 R (HD.7012) 7927 0 R (HD.7013) 7928 0 R (HD.7014) 7929 0 R (HD.7015) 7930 0 R (HD.7016) 7931 0 R (HD.7017) 7932 0 R (HD.7018) 7933 0 R (HD.7019) 7934 0 R (HD.702) 1014 0 R (HD.7020) 7935 0 R (HD.7021) 7936 0 R (HD.7022) 7937 0 R (HD.7023) 7938 0 R (HD.7024) 7939 0 R (HD.7025) 7940 0 R (HD.7026) 7941 0 R (HD.7027) 7942 0 R (HD.7028) 7947 0 R (HD.7029) 7948 0 R (HD.703) 1015 0 R ] /Limits [ (HD.7001) (HD.703) ] >>
endobj
11958 0 obj
-<< /Names [ (HD.7979) 8976 0 R (HD.798) 1122 0 R (HD.7980) 8977 0 R (HD.7981) 8978 0 R (HD.7982) 8979 0 R (HD.7983) 8980 0 R (HD.7984) 8981 0 R (HD.7985) 8982 0 R (HD.7986) 8983 0 R (HD.7987) 8984 0 R (HD.7988) 8985 0 R (HD.7989) 8986 0 R (HD.799) 1123 0 R (HD.7990) 8987 0 R (HD.7991) 8988 0 R (HD.7992) 8989 0 R (HD.7993) 8990 0 R (HD.7994) 8991 0 R (HD.7995) 8992 0 R (HD.7996) 8993 0 R (HD.7997) 8994 0 R (HD.7998) 8995 0 R (HD.7999) 8996 0 R (HD.8) 196 0 R (HD.80) 280 0 R (HD.800) 1124 0 R (HD.8000) 8997 0 R (HD.8001) 8998 0 R (HD.8002) 8999 0 R (HD.8003) 9000 0 R (HD.8004) 9001 0 R (HD.8005) 9002 0 R ] /Limits [ (HD.7979) (HD.8005) ] >>
+<< /Names [ (HD.7030) 7949 0 R (HD.7031) 7950 0 R (HD.7032) 7951 0 R (HD.7033) 7952 0 R (HD.7034) 7953 0 R (HD.7035) 7954 0 R (HD.7036) 7955 0 R (HD.7037) 7956 0 R (HD.7038) 7957 0 R (HD.7039) 7958 0 R (HD.704) 1016 0 R (HD.7040) 7959 0 R (HD.7041) 7960 0 R (HD.7042) 7961 0 R (HD.7043) 7962 0 R (HD.7044) 7963 0 R (HD.7045) 7964 0 R (HD.7046) 7965 0 R (HD.7047) 7966 0 R (HD.7048) 7967 0 R (HD.7049) 7968 0 R (HD.705) 1017 0 R (HD.7050) 7969 0 R (HD.7051) 7970 0 R (HD.7052) 7971 0 R (HD.7053) 7972 0 R (HD.7054) 7973 0 R (HD.7055) 7974 0 R (HD.7056) 7975 0 R (HD.7057) 7976 0 R (HD.7058) 7977 0 R (HD.7059) 7978 0 R ] /Limits [ (HD.7030) (HD.7059) ] >>
endobj
11959 0 obj
-<< /Names [ (HD.8006) 9003 0 R (HD.8007) 9004 0 R (HD.8008) 9005 0 R (HD.8009) 9006 0 R (HD.801) 1125 0 R (HD.8010) 9007 0 R (HD.8011) 9012 0 R (HD.8012) 9013 0 R (HD.8013) 9014 0 R (HD.8014) 9015 0 R (HD.8015) 9016 0 R (HD.8016) 9017 0 R (HD.8017) 9018 0 R (HD.8018) 9019 0 R (HD.8019) 9020 0 R (HD.802) 1126 0 R (HD.8020) 9021 0 R (HD.8021) 9022 0 R (HD.8022) 9023 0 R (HD.8023) 9024 0 R (HD.8024) 9025 0 R (HD.8025) 9026 0 R (HD.8026) 9027 0 R (HD.8027) 9028 0 R (HD.8028) 9029 0 R (HD.8029) 9030 0 R (HD.803) 1127 0 R (HD.8030) 9031 0 R (HD.8031) 9032 0 R (HD.8032) 9033 0 R (HD.8033) 9034 0 R (HD.8034) 9035 0 R ] /Limits [ (HD.8006) (HD.8034) ] >>
+<< /Names [ (HD.706) 1018 0 R (HD.7060) 7979 0 R (HD.7061) 7980 0 R (HD.7062) 7981 0 R (HD.7063) 7982 0 R (HD.7064) 7983 0 R (HD.7065) 7984 0 R (HD.7066) 7985 0 R (HD.7067) 7986 0 R (HD.7068) 7987 0 R (HD.7069) 7988 0 R (HD.707) 1019 0 R (HD.7070) 7989 0 R (HD.7071) 7994 0 R (HD.7072) 7995 0 R (HD.7073) 7996 0 R (HD.7074) 7997 0 R (HD.7075) 7998 0 R (HD.7076) 7999 0 R (HD.7077) 8000 0 R (HD.7078) 8001 0 R (HD.7079) 8002 0 R (HD.708) 1020 0 R (HD.7080) 8003 0 R (HD.7081) 8004 0 R (HD.7082) 8005 0 R (HD.7083) 8006 0 R (HD.7084) 8007 0 R (HD.7085) 8008 0 R (HD.7086) 8009 0 R (HD.7087) 8010 0 R (HD.7088) 8011 0 R ] /Limits [ (HD.706) (HD.7088) ] >>
endobj
11960 0 obj
-<< /Names [ (HD.8035) 9036 0 R (HD.8036) 9037 0 R (HD.8037) 9038 0 R (HD.8038) 9039 0 R (HD.8039) 9040 0 R (HD.804) 1128 0 R (HD.8040) 9041 0 R (HD.8041) 9042 0 R (HD.8042) 9043 0 R (HD.8043) 9044 0 R (HD.8044) 9045 0 R (HD.8045) 9046 0 R (HD.8046) 9047 0 R (HD.8047) 9048 0 R (HD.8048) 9049 0 R (HD.8049) 9050 0 R (HD.805) 1129 0 R (HD.8050) 9051 0 R (HD.8051) 9052 0 R (HD.8052) 9053 0 R (HD.8053) 9054 0 R (HD.8054) 9055 0 R (HD.8055) 9056 0 R (HD.8056) 9057 0 R (HD.8057) 9058 0 R (HD.8058) 9059 0 R (HD.8059) 9060 0 R (HD.806) 1130 0 R (HD.8060) 9061 0 R (HD.8061) 9062 0 R (HD.8062) 9063 0 R (HD.8063) 9064 0 R ] /Limits [ (HD.8035) (HD.8063) ] >>
+<< /Names [ (HD.7089) 8012 0 R (HD.709) 1021 0 R (HD.7090) 8013 0 R (HD.7091) 8014 0 R (HD.7092) 8015 0 R (HD.7093) 8016 0 R (HD.7094) 8017 0 R (HD.7095) 8018 0 R (HD.7096) 8019 0 R (HD.7097) 8020 0 R (HD.7098) 8021 0 R (HD.7099) 8022 0 R (HD.71) 271 0 R (HD.710) 1022 0 R (HD.7100) 8023 0 R (HD.7101) 8024 0 R (HD.7102) 8025 0 R (HD.7103) 8026 0 R (HD.7104) 8027 0 R (HD.7105) 8028 0 R (HD.7106) 8029 0 R (HD.7107) 8030 0 R (HD.7108) 8031 0 R (HD.7109) 8032 0 R (HD.711) 1023 0 R (HD.7110) 8033 0 R (HD.7111) 8034 0 R (HD.7112) 8035 0 R (HD.7113) 8036 0 R (HD.7114) 8037 0 R (HD.7115) 8038 0 R (HD.7116) 8039 0 R ] /Limits [ (HD.7089) (HD.7116) ] >>
endobj
11961 0 obj
-<< /Names [ (HD.8064) 9065 0 R (HD.8065) 9066 0 R (HD.8066) 9067 0 R (HD.8067) 9068 0 R (HD.8068) 9073 0 R (HD.8069) 9074 0 R (HD.807) 1131 0 R (HD.8070) 9075 0 R (HD.8071) 9076 0 R (HD.8072) 9077 0 R (HD.8073) 9078 0 R (HD.8074) 9079 0 R (HD.8075) 9080 0 R (HD.8076) 9081 0 R (HD.8077) 9082 0 R (HD.8078) 9083 0 R (HD.8079) 9084 0 R (HD.808) 1132 0 R (HD.8080) 9085 0 R (HD.8081) 9086 0 R (HD.8082) 9087 0 R (HD.8083) 9088 0 R (HD.8084) 9089 0 R (HD.8085) 9090 0 R (HD.8086) 9091 0 R (HD.8087) 9092 0 R (HD.8088) 9093 0 R (HD.8089) 9094 0 R (HD.809) 1133 0 R (HD.8090) 9095 0 R (HD.8091) 9096 0 R (HD.8092) 9097 0 R ] /Limits [ (HD.8064) (HD.8092) ] >>
+<< /Names [ (HD.7117) 8040 0 R (HD.7118) 8041 0 R (HD.7119) 8042 0 R (HD.712) 1024 0 R (HD.7120) 8043 0 R (HD.7121) 8048 0 R (HD.7122) 8049 0 R (HD.7123) 8050 0 R (HD.7124) 8051 0 R (HD.7125) 8052 0 R (HD.7126) 8053 0 R (HD.7127) 8054 0 R (HD.7128) 8055 0 R (HD.7129) 8056 0 R (HD.713) 1025 0 R (HD.7130) 8057 0 R (HD.7131) 8058 0 R (HD.7132) 8059 0 R (HD.7133) 8060 0 R (HD.7134) 8061 0 R (HD.7135) 8062 0 R (HD.7136) 8063 0 R (HD.7137) 8064 0 R (HD.7138) 8065 0 R (HD.7139) 8066 0 R (HD.714) 1026 0 R (HD.7140) 8067 0 R (HD.7141) 8068 0 R (HD.7142) 8069 0 R (HD.7143) 8070 0 R (HD.7144) 8071 0 R (HD.7145) 8072 0 R ] /Limits [ (HD.7117) (HD.7145) ] >>
endobj
11962 0 obj
-<< /Names [ (HD.8093) 9098 0 R (HD.8094) 9099 0 R (HD.8095) 9100 0 R (HD.8096) 9101 0 R (HD.8097) 9102 0 R (HD.8098) 9103 0 R (HD.8099) 9104 0 R (HD.81) 281 0 R (HD.810) 1134 0 R (HD.8100) 9105 0 R (HD.8101) 9106 0 R (HD.8102) 9107 0 R (HD.8103) 9108 0 R (HD.8104) 9109 0 R (HD.8105) 9110 0 R (HD.8106) 9111 0 R (HD.8107) 9112 0 R (HD.8108) 9113 0 R (HD.8109) 9114 0 R (HD.811) 1135 0 R (HD.8110) 9115 0 R (HD.8111) 9116 0 R (HD.8112) 9117 0 R (HD.8113) 9118 0 R (HD.8114) 9119 0 R (HD.8115) 9120 0 R (HD.8116) 9121 0 R (HD.8117) 9122 0 R (HD.8118) 9123 0 R (HD.8119) 9124 0 R (HD.812) 1136 0 R (HD.8120) 9125 0 R ] /Limits [ (HD.8093) (HD.8120) ] >>
+<< /Names [ (HD.7146) 8073 0 R (HD.7147) 8074 0 R (HD.7148) 8075 0 R (HD.7149) 8076 0 R (HD.715) 1027 0 R (HD.7150) 8077 0 R (HD.7151) 8078 0 R (HD.7152) 8079 0 R (HD.7153) 8080 0 R (HD.7154) 8085 0 R (HD.7155) 8086 0 R (HD.7156) 8087 0 R (HD.7157) 8088 0 R (HD.7158) 8089 0 R (HD.7159) 8090 0 R (HD.716) 1028 0 R (HD.7160) 8091 0 R (HD.7161) 8092 0 R (HD.7162) 8093 0 R (HD.7163) 8094 0 R (HD.7164) 8095 0 R (HD.7165) 8096 0 R (HD.7166) 8097 0 R (HD.7167) 8098 0 R (HD.7168) 8099 0 R (HD.7169) 8100 0 R (HD.717) 1029 0 R (HD.7170) 8101 0 R (HD.7171) 8102 0 R (HD.7172) 8103 0 R (HD.7173) 8104 0 R (HD.7174) 8105 0 R ] /Limits [ (HD.7146) (HD.7174) ] >>
endobj
11963 0 obj
-<< /Names [ (HD.8121) 9126 0 R (HD.8122) 9127 0 R (HD.8123) 9128 0 R (HD.8124) 9129 0 R (HD.8125) 9130 0 R (HD.8126) 9135 0 R (HD.8127) 9136 0 R (HD.8128) 9137 0 R (HD.8129) 9138 0 R (HD.813) 1137 0 R (HD.8130) 9139 0 R (HD.8131) 9140 0 R (HD.8132) 9141 0 R (HD.8133) 9142 0 R (HD.8134) 9143 0 R (HD.8135) 9144 0 R (HD.8136) 9145 0 R (HD.8137) 9146 0 R (HD.8138) 9147 0 R (HD.8139) 9148 0 R (HD.814) 1138 0 R (HD.8140) 9149 0 R (HD.8141) 9150 0 R (HD.8142) 9151 0 R (HD.8143) 9152 0 R (HD.8144) 9153 0 R (HD.8145) 9154 0 R (HD.8146) 9155 0 R (HD.8147) 9156 0 R (HD.8148) 9157 0 R (HD.8149) 9158 0 R (HD.815) 1139 0 R ] /Limits [ (HD.8121) (HD.815) ] >>
+<< /Names [ (HD.7175) 8106 0 R (HD.7176) 8107 0 R (HD.7177) 8108 0 R (HD.7178) 8109 0 R (HD.7179) 8110 0 R (HD.718) 1030 0 R (HD.7180) 8111 0 R (HD.7181) 8112 0 R (HD.7182) 8113 0 R (HD.7183) 8114 0 R (HD.7184) 8115 0 R (HD.7185) 8116 0 R (HD.7186) 8117 0 R (HD.7187) 8122 0 R (HD.7188) 8123 0 R (HD.7189) 8124 0 R (HD.719) 1031 0 R (HD.7190) 8125 0 R (HD.7191) 8126 0 R (HD.7192) 8127 0 R (HD.7193) 8128 0 R (HD.7194) 8129 0 R (HD.7195) 8130 0 R (HD.7196) 8131 0 R (HD.7197) 8132 0 R (HD.7198) 8133 0 R (HD.7199) 8134 0 R (HD.72) 272 0 R (HD.720) 1032 0 R (HD.7200) 8135 0 R (HD.7201) 8136 0 R (HD.7202) 8137 0 R ] /Limits [ (HD.7175) (HD.7202) ] >>
endobj
11964 0 obj
-<< /Names [ (HD.8150) 9159 0 R (HD.8151) 9160 0 R (HD.8152) 9161 0 R (HD.8153) 9162 0 R (HD.8154) 9163 0 R (HD.8155) 9164 0 R (HD.8156) 9165 0 R (HD.8157) 9166 0 R (HD.8158) 9167 0 R (HD.8159) 9168 0 R (HD.816) 1140 0 R (HD.8160) 9169 0 R (HD.8161) 9170 0 R (HD.8162) 9171 0 R (HD.8163) 9172 0 R (HD.8164) 9173 0 R (HD.8165) 9174 0 R (HD.8166) 9175 0 R (HD.8167) 9176 0 R (HD.8168) 9177 0 R (HD.8169) 9178 0 R (HD.817) 1141 0 R (HD.8170) 9179 0 R (HD.8171) 9180 0 R (HD.8172) 9181 0 R (HD.8173) 9182 0 R (HD.8174) 9183 0 R (HD.8175) 9184 0 R (HD.8176) 9185 0 R (HD.8177) 9186 0 R (HD.8178) 9187 0 R (HD.8179) 9188 0 R ] /Limits [ (HD.8150) (HD.8179) ] >>
+<< /Names [ (HD.7203) 8138 0 R (HD.7204) 8139 0 R (HD.7205) 8140 0 R (HD.7206) 8141 0 R (HD.7207) 8142 0 R (HD.7208) 8143 0 R (HD.7209) 8144 0 R (HD.721) 1033 0 R (HD.7210) 8145 0 R (HD.7211) 8146 0 R (HD.7212) 8147 0 R (HD.7213) 8148 0 R (HD.7214) 8153 0 R (HD.7215) 8154 0 R (HD.7216) 8155 0 R (HD.7217) 8156 0 R (HD.7218) 8157 0 R (HD.7219) 8158 0 R (HD.722) 1034 0 R (HD.7220) 8159 0 R (HD.7221) 8160 0 R (HD.7222) 8161 0 R (HD.7223) 8162 0 R (HD.7224) 8163 0 R (HD.7225) 8164 0 R (HD.7226) 8165 0 R (HD.7227) 8166 0 R (HD.7228) 8167 0 R (HD.7229) 8168 0 R (HD.723) 1035 0 R (HD.7230) 8169 0 R (HD.7231) 8170 0 R ] /Limits [ (HD.7203) (HD.7231) ] >>
endobj
11965 0 obj
-<< /Names [ (HD.818) 1142 0 R (HD.8180) 9193 0 R (HD.8181) 9194 0 R (HD.8182) 9195 0 R (HD.8183) 9196 0 R (HD.8184) 9197 0 R (HD.8185) 9198 0 R (HD.8186) 9199 0 R (HD.8187) 9200 0 R (HD.8188) 9201 0 R (HD.8189) 9202 0 R (HD.819) 1147 0 R (HD.8190) 9203 0 R (HD.8191) 9204 0 R (HD.8192) 9205 0 R (HD.8193) 9206 0 R (HD.8194) 9207 0 R (HD.8195) 9208 0 R (HD.8196) 9209 0 R (HD.8197) 9210 0 R (HD.8198) 9211 0 R (HD.8199) 9212 0 R (HD.82) 282 0 R (HD.820) 1148 0 R (HD.8200) 9213 0 R (HD.8201) 9214 0 R (HD.8202) 9215 0 R (HD.8203) 9216 0 R (HD.8204) 9217 0 R (HD.8205) 9218 0 R (HD.8206) 9219 0 R (HD.8207) 9220 0 R ] /Limits [ (HD.818) (HD.8207) ] >>
+<< /Names [ (HD.7232) 8171 0 R (HD.7233) 8172 0 R (HD.7234) 8173 0 R (HD.7235) 8174 0 R (HD.7236) 8175 0 R (HD.7237) 8176 0 R (HD.7238) 8177 0 R (HD.7239) 8178 0 R (HD.724) 1036 0 R (HD.7240) 8179 0 R (HD.7241) 8180 0 R (HD.7242) 8181 0 R (HD.7243) 8182 0 R (HD.7244) 8183 0 R (HD.7245) 8184 0 R (HD.7246) 8185 0 R (HD.7247) 8186 0 R (HD.7248) 8187 0 R (HD.7249) 8188 0 R (HD.725) 1037 0 R (HD.7250) 8189 0 R (HD.7251) 8190 0 R (HD.7252) 8191 0 R (HD.7253) 8192 0 R (HD.7254) 8193 0 R (HD.7255) 8194 0 R (HD.7256) 8195 0 R (HD.7257) 8196 0 R (HD.7258) 8197 0 R (HD.7259) 8202 0 R (HD.726) 1038 0 R (HD.7260) 8203 0 R ] /Limits [ (HD.7232) (HD.7260) ] >>
endobj
11966 0 obj
-<< /Names [ (HD.8208) 9221 0 R (HD.8209) 9222 0 R (HD.821) 1149 0 R (HD.8210) 9223 0 R (HD.8211) 9224 0 R (HD.8212) 9225 0 R (HD.8213) 9226 0 R (HD.8214) 9227 0 R (HD.8215) 9228 0 R (HD.8216) 9229 0 R (HD.8217) 9230 0 R (HD.8218) 9231 0 R (HD.8219) 9232 0 R (HD.822) 1150 0 R (HD.8220) 9233 0 R (HD.8221) 9234 0 R (HD.8222) 9235 0 R (HD.8223) 9236 0 R (HD.8224) 9237 0 R (HD.8225) 9238 0 R (HD.8226) 9239 0 R (HD.8227) 9240 0 R (HD.8228) 9241 0 R (HD.8229) 9246 0 R (HD.823) 1151 0 R (HD.8230) 9247 0 R (HD.8231) 9248 0 R (HD.8232) 9249 0 R (HD.8233) 9250 0 R (HD.8234) 9251 0 R (HD.8235) 9252 0 R (HD.8236) 9253 0 R ] /Limits [ (HD.8208) (HD.8236) ] >>
+<< /Names [ (HD.7261) 8204 0 R (HD.7262) 8205 0 R (HD.7263) 8206 0 R (HD.7264) 8207 0 R (HD.7265) 8208 0 R (HD.7266) 8209 0 R (HD.7267) 8210 0 R (HD.7268) 8211 0 R (HD.7269) 8212 0 R (HD.727) 1039 0 R (HD.7270) 8213 0 R (HD.7271) 8214 0 R (HD.7272) 8215 0 R (HD.7273) 8216 0 R (HD.7274) 8217 0 R (HD.7275) 8218 0 R (HD.7276) 8219 0 R (HD.7277) 8220 0 R (HD.7278) 8221 0 R (HD.7279) 8222 0 R (HD.728) 1040 0 R (HD.7280) 8223 0 R (HD.7281) 8224 0 R (HD.7282) 8225 0 R (HD.7283) 8226 0 R (HD.7284) 8227 0 R (HD.7285) 8228 0 R (HD.7286) 8229 0 R (HD.7287) 8230 0 R (HD.7288) 8231 0 R (HD.7289) 8232 0 R (HD.729) 1041 0 R ] /Limits [ (HD.7261) (HD.729) ] >>
endobj
11967 0 obj
-<< /Names [ (HD.8237) 9254 0 R (HD.8238) 9255 0 R (HD.8239) 9256 0 R (HD.824) 1152 0 R (HD.8240) 9257 0 R (HD.8241) 9258 0 R (HD.8242) 9259 0 R (HD.8243) 9260 0 R (HD.8244) 9261 0 R (HD.8245) 9262 0 R (HD.8246) 9263 0 R (HD.8247) 9264 0 R (HD.8248) 9265 0 R (HD.8249) 9266 0 R (HD.825) 1153 0 R (HD.8250) 9267 0 R (HD.8251) 9268 0 R (HD.8252) 9269 0 R (HD.8253) 9270 0 R (HD.8254) 9271 0 R (HD.8255) 9272 0 R (HD.8256) 9273 0 R (HD.8257) 9274 0 R (HD.8258) 9275 0 R (HD.8259) 9276 0 R (HD.826) 1154 0 R (HD.8260) 9277 0 R (HD.8261) 9278 0 R (HD.8262) 9279 0 R (HD.8263) 9280 0 R (HD.8264) 9281 0 R (HD.8265) 9282 0 R ] /Limits [ (HD.8237) (HD.8265) ] >>
+<< /Names [ (HD.7290) 8233 0 R (HD.7291) 8234 0 R (HD.7292) 8235 0 R (HD.7293) 8236 0 R (HD.7294) 8237 0 R (HD.7295) 8238 0 R (HD.7296) 8239 0 R (HD.7297) 8240 0 R (HD.7298) 8241 0 R (HD.7299) 8242 0 R (HD.73) 273 0 R (HD.730) 1042 0 R (HD.7300) 8243 0 R (HD.7301) 8244 0 R (HD.7302) 8245 0 R (HD.7303) 8246 0 R (HD.7304) 8247 0 R (HD.7305) 8248 0 R (HD.7306) 8253 0 R (HD.7307) 8254 0 R (HD.7308) 8255 0 R (HD.7309) 8256 0 R (HD.731) 1043 0 R (HD.7310) 8257 0 R (HD.7311) 8258 0 R (HD.7312) 8259 0 R (HD.7313) 8260 0 R (HD.7314) 8261 0 R (HD.7315) 8262 0 R (HD.7316) 8263 0 R (HD.7317) 8264 0 R (HD.7318) 8265 0 R ] /Limits [ (HD.7290) (HD.7318) ] >>
endobj
11968 0 obj
-<< /Names [ (HD.8266) 9283 0 R (HD.8267) 9284 0 R (HD.8268) 9285 0 R (HD.8269) 9286 0 R (HD.827) 1155 0 R (HD.8270) 9287 0 R (HD.8271) 9288 0 R (HD.8272) 9289 0 R (HD.8273) 9290 0 R (HD.8274) 9291 0 R (HD.8275) 9292 0 R (HD.8276) 9293 0 R (HD.8277) 9294 0 R (HD.8278) 9295 0 R (HD.8279) 9296 0 R (HD.828) 1156 0 R (HD.8280) 9301 0 R (HD.8281) 9302 0 R (HD.8282) 9303 0 R (HD.8283) 9304 0 R (HD.8284) 9305 0 R (HD.8285) 9306 0 R (HD.8286) 9307 0 R (HD.8287) 9308 0 R (HD.8288) 9309 0 R (HD.8289) 9310 0 R (HD.829) 1157 0 R (HD.8290) 9311 0 R (HD.8291) 9312 0 R (HD.8292) 9313 0 R (HD.8293) 9314 0 R (HD.8294) 9315 0 R ] /Limits [ (HD.8266) (HD.8294) ] >>
+<< /Names [ (HD.7319) 8266 0 R (HD.732) 1044 0 R (HD.7320) 8267 0 R (HD.7321) 8268 0 R (HD.7322) 8269 0 R (HD.7323) 8270 0 R (HD.7324) 8271 0 R (HD.7325) 8272 0 R (HD.7326) 8273 0 R (HD.7327) 8274 0 R (HD.7328) 8275 0 R (HD.7329) 8276 0 R (HD.733) 1045 0 R (HD.7330) 8277 0 R (HD.7331) 8278 0 R (HD.7332) 8279 0 R (HD.7333) 8280 0 R (HD.7334) 8281 0 R (HD.7335) 8282 0 R (HD.7336) 8283 0 R (HD.7337) 8284 0 R (HD.7338) 8285 0 R (HD.7339) 8286 0 R (HD.734) 1046 0 R (HD.7340) 8287 0 R (HD.7341) 8288 0 R (HD.7342) 8289 0 R (HD.7343) 8290 0 R (HD.7344) 8291 0 R (HD.7345) 8292 0 R (HD.7346) 8293 0 R (HD.7347) 8294 0 R ] /Limits [ (HD.7319) (HD.7347) ] >>
endobj
11969 0 obj
-<< /Names [ (HD.8295) 9316 0 R (HD.8296) 9317 0 R (HD.8297) 9318 0 R (HD.8298) 9319 0 R (HD.8299) 9320 0 R (HD.83) 283 0 R (HD.830) 1158 0 R (HD.8300) 9321 0 R (HD.8301) 9322 0 R (HD.8302) 9323 0 R (HD.8303) 9324 0 R (HD.8304) 9325 0 R (HD.8305) 9326 0 R (HD.8306) 9327 0 R (HD.8307) 9328 0 R (HD.8308) 9329 0 R (HD.8309) 9330 0 R (HD.831) 1159 0 R (HD.8310) 9331 0 R (HD.8311) 9332 0 R (HD.8312) 9333 0 R (HD.8313) 9334 0 R (HD.8314) 9335 0 R (HD.8315) 9336 0 R (HD.8316) 9337 0 R (HD.8317) 9338 0 R (HD.8318) 9339 0 R (HD.8319) 9344 0 R (HD.832) 1160 0 R (HD.8320) 9345 0 R (HD.8321) 9346 0 R (HD.8322) 9347 0 R ] /Limits [ (HD.8295) (HD.8322) ] >>
+<< /Names [ (HD.7348) 8295 0 R (HD.7349) 8296 0 R (HD.735) 1047 0 R (HD.7350) 8297 0 R (HD.7351) 8298 0 R (HD.7352) 8299 0 R (HD.7353) 8300 0 R (HD.7354) 8301 0 R (HD.7355) 8302 0 R (HD.7356) 8303 0 R (HD.7357) 8309 0 R (HD.7358) 8310 0 R (HD.7359) 8311 0 R (HD.736) 1048 0 R (HD.7360) 8312 0 R (HD.7361) 8313 0 R (HD.7362) 8314 0 R (HD.7363) 8315 0 R (HD.7364) 8316 0 R (HD.7365) 8317 0 R (HD.7366) 8318 0 R (HD.7367) 8319 0 R (HD.7368) 8320 0 R (HD.7369) 8321 0 R (HD.737) 1049 0 R (HD.7370) 8322 0 R (HD.7371) 8323 0 R (HD.7372) 8324 0 R (HD.7373) 8325 0 R (HD.7374) 8326 0 R (HD.7375) 8327 0 R (HD.7376) 8328 0 R ] /Limits [ (HD.7348) (HD.7376) ] >>
endobj
11970 0 obj
-<< /Names [ (HD.8323) 9348 0 R (HD.8324) 9349 0 R (HD.8325) 9350 0 R (HD.8326) 9351 0 R (HD.8327) 9352 0 R (HD.8328) 9353 0 R (HD.8329) 9354 0 R (HD.833) 1161 0 R (HD.8330) 9355 0 R (HD.8331) 9356 0 R (HD.8332) 9357 0 R (HD.8333) 9358 0 R (HD.8334) 9359 0 R (HD.8335) 9360 0 R (HD.8336) 9361 0 R (HD.8337) 9362 0 R (HD.8338) 9363 0 R (HD.8339) 9364 0 R (HD.834) 1162 0 R (HD.8340) 9365 0 R (HD.8341) 9366 0 R (HD.8342) 9367 0 R (HD.8343) 9368 0 R (HD.8344) 9369 0 R (HD.8345) 9370 0 R (HD.8346) 9371 0 R (HD.8347) 9372 0 R (HD.8348) 9373 0 R (HD.8349) 9374 0 R (HD.835) 1163 0 R (HD.8350) 9375 0 R (HD.8351) 9376 0 R ] /Limits [ (HD.8323) (HD.8351) ] >>
+<< /Names [ (HD.7377) 8329 0 R (HD.7378) 8330 0 R (HD.7379) 8331 0 R (HD.738) 1050 0 R (HD.7380) 8332 0 R (HD.7381) 8333 0 R (HD.7382) 8334 0 R (HD.7383) 8335 0 R (HD.7384) 8336 0 R (HD.7385) 8337 0 R (HD.7386) 8338 0 R (HD.7387) 8339 0 R (HD.7388) 8340 0 R (HD.7389) 8341 0 R (HD.739) 1051 0 R (HD.7390) 8342 0 R (HD.7391) 8343 0 R (HD.7392) 8344 0 R (HD.7393) 8345 0 R (HD.7394) 8346 0 R (HD.7395) 8347 0 R (HD.7396) 8348 0 R (HD.7397) 8349 0 R (HD.7398) 8350 0 R (HD.7399) 8351 0 R (HD.74) 274 0 R (HD.740) 1052 0 R (HD.7400) 8352 0 R (HD.7401) 8353 0 R (HD.7402) 8354 0 R (HD.7403) 8359 0 R (HD.7404) 8360 0 R ] /Limits [ (HD.7377) (HD.7404) ] >>
endobj
11971 0 obj
-<< /Names [ (HD.8352) 9377 0 R (HD.8353) 9378 0 R (HD.8354) 9379 0 R (HD.8355) 9380 0 R (HD.8356) 9381 0 R (HD.8357) 9382 0 R (HD.8358) 9383 0 R (HD.8359) 9384 0 R (HD.836) 1164 0 R (HD.8360) 9385 0 R (HD.8361) 9386 0 R (HD.8362) 9387 0 R (HD.8363) 9393 0 R (HD.8364) 9394 0 R (HD.8365) 9395 0 R (HD.8366) 9396 0 R (HD.8367) 9397 0 R (HD.8368) 9398 0 R (HD.8369) 9399 0 R (HD.837) 1165 0 R (HD.8370) 9400 0 R (HD.8371) 9401 0 R (HD.8372) 9402 0 R (HD.8373) 9403 0 R (HD.8374) 9404 0 R (HD.8375) 9405 0 R (HD.8376) 9406 0 R (HD.8377) 9407 0 R (HD.8378) 9408 0 R (HD.8379) 9409 0 R (HD.838) 1166 0 R (HD.8380) 9410 0 R ] /Limits [ (HD.8352) (HD.8380) ] >>
+<< /Names [ (HD.7405) 8361 0 R (HD.7406) 8362 0 R (HD.7407) 8363 0 R (HD.7408) 8364 0 R (HD.7409) 8365 0 R (HD.741) 1053 0 R (HD.7410) 8366 0 R (HD.7411) 8367 0 R (HD.7412) 8368 0 R (HD.7413) 8369 0 R (HD.7414) 8370 0 R (HD.7415) 8371 0 R (HD.7416) 8372 0 R (HD.7417) 8373 0 R (HD.7418) 8374 0 R (HD.7419) 8375 0 R (HD.742) 1058 0 R (HD.7420) 8376 0 R (HD.7421) 8377 0 R (HD.7422) 8378 0 R (HD.7423) 8379 0 R (HD.7424) 8380 0 R (HD.7425) 8381 0 R (HD.7426) 8382 0 R (HD.7427) 8383 0 R (HD.7428) 8384 0 R (HD.7429) 8385 0 R (HD.743) 1059 0 R (HD.7430) 8386 0 R (HD.7431) 8387 0 R (HD.7432) 8388 0 R (HD.7433) 8389 0 R ] /Limits [ (HD.7405) (HD.7433) ] >>
endobj
11972 0 obj
-<< /Names [ (HD.8381) 9411 0 R (HD.8382) 9412 0 R (HD.8383) 9413 0 R (HD.8384) 9414 0 R (HD.8385) 9415 0 R (HD.8386) 9416 0 R (HD.8387) 9417 0 R (HD.8388) 9418 0 R (HD.8389) 9419 0 R (HD.839) 1167 0 R (HD.8390) 9420 0 R (HD.8391) 9421 0 R (HD.8392) 9422 0 R (HD.8393) 9423 0 R (HD.8394) 9430 0 R (HD.8395) 9431 0 R (HD.8396) 9432 0 R (HD.8397) 9433 0 R (HD.8398) 9434 0 R (HD.8399) 9435 0 R (HD.84) 284 0 R (HD.840) 1168 0 R (HD.8400) 9436 0 R (HD.8401) 9437 0 R (HD.8402) 9438 0 R (HD.8403) 9439 0 R (HD.8404) 9440 0 R (HD.8405) 9441 0 R (HD.8406) 9442 0 R (HD.8407) 9443 0 R (HD.8408) 9444 0 R (HD.8409) 9445 0 R ] /Limits [ (HD.8381) (HD.8409) ] >>
+<< /Names [ (HD.7434) 8390 0 R (HD.7435) 8391 0 R (HD.7436) 8392 0 R (HD.7437) 8393 0 R (HD.7438) 8394 0 R (HD.7439) 8395 0 R (HD.744) 1060 0 R (HD.7440) 8396 0 R (HD.7441) 8397 0 R (HD.7442) 8398 0 R (HD.7443) 8399 0 R (HD.7444) 8400 0 R (HD.7445) 8401 0 R (HD.7446) 8402 0 R (HD.7447) 8403 0 R (HD.7448) 8404 0 R (HD.7449) 8405 0 R (HD.745) 1061 0 R (HD.7450) 8406 0 R (HD.7451) 8407 0 R (HD.7452) 8408 0 R (HD.7453) 8413 0 R (HD.7454) 8414 0 R (HD.7455) 8415 0 R (HD.7456) 8416 0 R (HD.7457) 8417 0 R (HD.7458) 8418 0 R (HD.7459) 8419 0 R (HD.746) 1062 0 R (HD.7460) 8420 0 R (HD.7461) 8421 0 R (HD.7462) 8422 0 R ] /Limits [ (HD.7434) (HD.7462) ] >>
endobj
11973 0 obj
-<< /Names [ (HD.841) 1169 0 R (HD.8410) 9446 0 R (HD.8411) 9447 0 R (HD.8412) 9448 0 R (HD.8413) 9449 0 R (HD.8414) 9450 0 R (HD.8415) 9451 0 R (HD.8416) 9452 0 R (HD.8417) 9453 0 R (HD.8418) 9454 0 R (HD.8419) 9455 0 R (HD.842) 1170 0 R (HD.8420) 9456 0 R (HD.8421) 9457 0 R (HD.8422) 9458 0 R (HD.8423) 9459 0 R (HD.8424) 9460 0 R (HD.8425) 9461 0 R (HD.8426) 9462 0 R (HD.8427) 9463 0 R (HD.8428) 9464 0 R (HD.8429) 9465 0 R (HD.843) 1171 0 R (HD.8430) 9466 0 R (HD.8431) 9467 0 R (HD.8432) 9468 0 R (HD.8433) 9469 0 R (HD.8434) 9474 0 R (HD.8435) 9475 0 R (HD.8436) 9476 0 R (HD.8437) 9477 0 R (HD.8438) 9478 0 R ] /Limits [ (HD.841) (HD.8438) ] >>
+<< /Names [ (HD.7463) 8423 0 R (HD.7464) 8424 0 R (HD.7465) 8425 0 R (HD.7466) 8426 0 R (HD.7467) 8427 0 R (HD.7468) 8428 0 R (HD.7469) 8429 0 R (HD.747) 1063 0 R (HD.7470) 8430 0 R (HD.7471) 8431 0 R (HD.7472) 8432 0 R (HD.7473) 8433 0 R (HD.7474) 8434 0 R (HD.7475) 8435 0 R (HD.7476) 8436 0 R (HD.7477) 8437 0 R (HD.7478) 8438 0 R (HD.7479) 8439 0 R (HD.748) 1064 0 R (HD.7480) 8440 0 R (HD.7481) 8441 0 R (HD.7482) 8442 0 R (HD.7483) 8443 0 R (HD.7484) 8444 0 R (HD.7485) 8445 0 R (HD.7486) 8446 0 R (HD.7487) 8447 0 R (HD.7488) 8448 0 R (HD.7489) 8449 0 R (HD.749) 1065 0 R (HD.7490) 8450 0 R (HD.7491) 8451 0 R ] /Limits [ (HD.7463) (HD.7491) ] >>
endobj
11974 0 obj
-<< /Names [ (HD.8439) 9479 0 R (HD.844) 1172 0 R (HD.8440) 9480 0 R (HD.8441) 9481 0 R (HD.8442) 9482 0 R (HD.8443) 9483 0 R (HD.8444) 9484 0 R (HD.8445) 9485 0 R (HD.8446) 9486 0 R (HD.8447) 9487 0 R (HD.8448) 9488 0 R (HD.8449) 9489 0 R (HD.845) 1173 0 R (HD.8450) 9490 0 R (HD.8451) 9491 0 R (HD.8452) 9492 0 R (HD.8453) 9493 0 R (HD.8454) 9494 0 R (HD.8455) 9495 0 R (HD.8456) 9496 0 R (HD.8457) 9497 0 R (HD.8458) 9498 0 R (HD.8459) 9499 0 R (HD.846) 1174 0 R (HD.8460) 9500 0 R (HD.8461) 9501 0 R (HD.8462) 9502 0 R (HD.8463) 9503 0 R (HD.8464) 9504 0 R (HD.8465) 9505 0 R (HD.8466) 9506 0 R (HD.8467) 9507 0 R ] /Limits [ (HD.8439) (HD.8467) ] >>
+<< /Names [ (HD.7492) 8452 0 R (HD.7493) 8453 0 R (HD.7494) 8454 0 R (HD.7495) 8455 0 R (HD.7496) 8456 0 R (HD.7497) 8457 0 R (HD.7498) 8458 0 R (HD.7499) 8459 0 R (HD.75) 275 0 R (HD.750) 1066 0 R (HD.7500) 8460 0 R (HD.7501) 8461 0 R (HD.7502) 8462 0 R (HD.7503) 8463 0 R (HD.7504) 8464 0 R (HD.7505) 8465 0 R (HD.7506) 8466 0 R (HD.7507) 8467 0 R (HD.7508) 8468 0 R (HD.7509) 8469 0 R (HD.751) 1067 0 R (HD.7510) 8470 0 R (HD.7511) 8471 0 R (HD.7512) 8472 0 R (HD.7513) 8473 0 R (HD.7514) 8474 0 R (HD.7515) 8479 0 R (HD.7516) 8480 0 R (HD.7517) 8481 0 R (HD.7518) 8482 0 R (HD.7519) 8483 0 R (HD.752) 1068 0 R ] /Limits [ (HD.7492) (HD.752) ] >>
endobj
11975 0 obj
-<< /Names [ (HD.8468) 9508 0 R (HD.8469) 9509 0 R (HD.847) 1175 0 R (HD.8470) 9510 0 R (HD.8471) 9511 0 R (HD.8472) 9512 0 R (HD.8473) 9513 0 R (HD.8474) 9514 0 R (HD.8475) 9515 0 R (HD.8476) 9516 0 R (HD.8477) 9517 0 R (HD.8478) 9518 0 R (HD.8479) 9519 0 R (HD.848) 1176 0 R (HD.8480) 9520 0 R (HD.8481) 9521 0 R (HD.8482) 9522 0 R (HD.8483) 9523 0 R (HD.8484) 9524 0 R (HD.8485) 9525 0 R (HD.8486) 9526 0 R (HD.8487) 9527 0 R (HD.8488) 9532 0 R (HD.8489) 9533 0 R (HD.849) 1177 0 R (HD.8490) 9534 0 R (HD.8491) 9535 0 R (HD.8492) 9536 0 R (HD.8493) 9537 0 R (HD.8494) 9538 0 R (HD.8495) 9539 0 R (HD.8496) 9540 0 R ] /Limits [ (HD.8468) (HD.8496) ] >>
+<< /Names [ (HD.7520) 8484 0 R (HD.7521) 8485 0 R (HD.7522) 8486 0 R (HD.7523) 8487 0 R (HD.7524) 8488 0 R (HD.7525) 8489 0 R (HD.7526) 8490 0 R (HD.7527) 8491 0 R (HD.7528) 8492 0 R (HD.7529) 8493 0 R (HD.753) 1069 0 R (HD.7530) 8494 0 R (HD.7531) 8495 0 R (HD.7532) 8496 0 R (HD.7533) 8497 0 R (HD.7534) 8498 0 R (HD.7535) 8499 0 R (HD.7536) 8500 0 R (HD.7537) 8501 0 R (HD.7538) 8502 0 R (HD.7539) 8503 0 R (HD.754) 1070 0 R (HD.7540) 8504 0 R (HD.7541) 8505 0 R (HD.7542) 8506 0 R (HD.7543) 8507 0 R (HD.7544) 8508 0 R (HD.7545) 8509 0 R (HD.7546) 8510 0 R (HD.7547) 8511 0 R (HD.7548) 8512 0 R (HD.7549) 8513 0 R ] /Limits [ (HD.7520) (HD.7549) ] >>
endobj
11976 0 obj
-<< /Names [ (HD.8497) 9541 0 R (HD.8498) 9542 0 R (HD.8499) 9543 0 R (HD.85) 285 0 R (HD.850) 1178 0 R (HD.8500) 9544 0 R (HD.8501) 9545 0 R (HD.8502) 9546 0 R (HD.8503) 9547 0 R (HD.8504) 9548 0 R (HD.8505) 9549 0 R (HD.8506) 9550 0 R (HD.8507) 9551 0 R (HD.8508) 9552 0 R (HD.8509) 9553 0 R (HD.851) 1179 0 R (HD.8510) 9554 0 R (HD.8511) 9555 0 R (HD.8512) 9556 0 R (HD.8513) 9557 0 R (HD.8514) 9558 0 R (HD.8515) 9559 0 R (HD.8516) 9560 0 R (HD.8517) 9561 0 R (HD.8518) 9562 0 R (HD.8519) 9563 0 R (HD.852) 1180 0 R (HD.8520) 9564 0 R (HD.8521) 9565 0 R (HD.8522) 9566 0 R (HD.8523) 9567 0 R (HD.8524) 9568 0 R ] /Limits [ (HD.8497) (HD.8524) ] >>
+<< /Names [ (HD.755) 1071 0 R (HD.7550) 8514 0 R (HD.7551) 8515 0 R (HD.7552) 8516 0 R (HD.7553) 8517 0 R (HD.7554) 8518 0 R (HD.7555) 8519 0 R (HD.7556) 8520 0 R (HD.7557) 8521 0 R (HD.7558) 8522 0 R (HD.7559) 8523 0 R (HD.756) 1072 0 R (HD.7560) 8524 0 R (HD.7561) 8525 0 R (HD.7562) 8526 0 R (HD.7563) 8531 0 R (HD.7564) 8532 0 R (HD.7565) 8533 0 R (HD.7566) 8534 0 R (HD.7567) 8535 0 R (HD.7568) 8536 0 R (HD.7569) 8537 0 R (HD.757) 1073 0 R (HD.7570) 8538 0 R (HD.7571) 8539 0 R (HD.7572) 8540 0 R (HD.7573) 8541 0 R (HD.7574) 8542 0 R (HD.7575) 8543 0 R (HD.7576) 8544 0 R (HD.7577) 8545 0 R (HD.7578) 8546 0 R ] /Limits [ (HD.755) (HD.7578) ] >>
endobj
11977 0 obj
-<< /Names [ (HD.8525) 9569 0 R (HD.8526) 9570 0 R (HD.8527) 9571 0 R (HD.8528) 9572 0 R (HD.8529) 9573 0 R (HD.853) 1181 0 R (HD.8530) 9574 0 R (HD.8531) 9575 0 R (HD.8532) 9576 0 R (HD.8533) 9577 0 R (HD.8534) 9578 0 R (HD.8535) 9579 0 R (HD.8536) 9580 0 R (HD.8537) 9581 0 R (HD.8538) 9582 0 R (HD.8539) 9583 0 R (HD.854) 1182 0 R (HD.8540) 9584 0 R (HD.8541) 9585 0 R (HD.8542) 9586 0 R (HD.8543) 9591 0 R (HD.8544) 9592 0 R (HD.8545) 9593 0 R (HD.8546) 9594 0 R (HD.8547) 9595 0 R (HD.8548) 9596 0 R (HD.8549) 9597 0 R (HD.855) 1183 0 R (HD.8550) 9598 0 R (HD.8551) 9599 0 R (HD.8552) 9600 0 R (HD.8553) 9601 0 R ] /Limits [ (HD.8525) (HD.8553) ] >>
+<< /Names [ (HD.7579) 8547 0 R (HD.758) 1074 0 R (HD.7580) 8548 0 R (HD.7581) 8549 0 R (HD.7582) 8550 0 R (HD.7583) 8551 0 R (HD.7584) 8552 0 R (HD.7585) 8553 0 R (HD.7586) 8554 0 R (HD.7587) 8555 0 R (HD.7588) 8556 0 R (HD.7589) 8557 0 R (HD.759) 1075 0 R (HD.7590) 8558 0 R (HD.7591) 8559 0 R (HD.7592) 8560 0 R (HD.7593) 8561 0 R (HD.7594) 8562 0 R (HD.7595) 8563 0 R (HD.7596) 8564 0 R (HD.7597) 8565 0 R (HD.7598) 8566 0 R (HD.7599) 8567 0 R (HD.76) 276 0 R (HD.760) 1076 0 R (HD.7600) 8568 0 R (HD.7601) 8569 0 R (HD.7602) 8570 0 R (HD.7603) 8571 0 R (HD.7604) 8572 0 R (HD.7605) 8573 0 R (HD.7606) 8574 0 R ] /Limits [ (HD.7579) (HD.7606) ] >>
endobj
11978 0 obj
-<< /Names [ (HD.8554) 9602 0 R (HD.8555) 9603 0 R (HD.8556) 9604 0 R (HD.8557) 9605 0 R (HD.8558) 9606 0 R (HD.8559) 9607 0 R (HD.856) 1184 0 R (HD.8560) 9608 0 R (HD.8561) 9609 0 R (HD.8562) 9610 0 R (HD.8563) 9611 0 R (HD.8564) 9612 0 R (HD.8565) 9613 0 R (HD.8566) 9614 0 R (HD.8567) 9615 0 R (HD.8568) 9616 0 R (HD.8569) 9617 0 R (HD.857) 1185 0 R (HD.8570) 9618 0 R (HD.8571) 9619 0 R (HD.8572) 9620 0 R (HD.8573) 9621 0 R (HD.8574) 9622 0 R (HD.8575) 9623 0 R (HD.8576) 9624 0 R (HD.8577) 9625 0 R (HD.8578) 9626 0 R (HD.8579) 9627 0 R (HD.858) 1186 0 R (HD.8580) 9628 0 R (HD.8581) 9629 0 R (HD.8582) 9630 0 R ] /Limits [ (HD.8554) (HD.8582) ] >>
+<< /Names [ (HD.7607) 8575 0 R (HD.7608) 8576 0 R (HD.7609) 8577 0 R (HD.761) 1077 0 R (HD.7610) 8582 0 R (HD.7611) 8583 0 R (HD.7612) 8584 0 R (HD.7613) 8585 0 R (HD.7614) 8586 0 R (HD.7615) 8587 0 R (HD.7616) 8588 0 R (HD.7617) 8589 0 R (HD.7618) 8590 0 R (HD.7619) 8591 0 R (HD.762) 1078 0 R (HD.7620) 8592 0 R (HD.7621) 8593 0 R (HD.7622) 8594 0 R (HD.7623) 8595 0 R (HD.7624) 8596 0 R (HD.7625) 8597 0 R (HD.7626) 8598 0 R (HD.7627) 8599 0 R (HD.7628) 8600 0 R (HD.7629) 8601 0 R (HD.763) 1079 0 R (HD.7630) 8602 0 R (HD.7631) 8603 0 R (HD.7632) 8604 0 R (HD.7633) 8605 0 R (HD.7634) 8606 0 R (HD.7635) 8607 0 R ] /Limits [ (HD.7607) (HD.7635) ] >>
endobj
11979 0 obj
-<< /Names [ (HD.8583) 9631 0 R (HD.8584) 9632 0 R (HD.8585) 9633 0 R (HD.8586) 9634 0 R (HD.8587) 9639 0 R (HD.8588) 9640 0 R (HD.8589) 9641 0 R (HD.859) 1187 0 R (HD.8590) 9642 0 R (HD.8591) 9643 0 R (HD.8592) 9644 0 R (HD.8593) 9645 0 R (HD.8594) 9646 0 R (HD.8595) 9647 0 R (HD.8596) 9648 0 R (HD.8597) 9649 0 R (HD.8598) 9650 0 R (HD.8599) 9651 0 R (HD.86) 286 0 R (HD.860) 1188 0 R (HD.8600) 9652 0 R (HD.8601) 9653 0 R (HD.8602) 9654 0 R (HD.8603) 9655 0 R (HD.8604) 9656 0 R (HD.8605) 9657 0 R (HD.8606) 9658 0 R (HD.8607) 9659 0 R (HD.8608) 9660 0 R (HD.8609) 9661 0 R (HD.861) 1189 0 R (HD.8610) 9662 0 R ] /Limits [ (HD.8583) (HD.8610) ] >>
+<< /Names [ (HD.7636) 8608 0 R (HD.7637) 8609 0 R (HD.7638) 8610 0 R (HD.7639) 8611 0 R (HD.764) 1080 0 R (HD.7640) 8612 0 R (HD.7641) 8613 0 R (HD.7642) 8614 0 R (HD.7643) 8615 0 R (HD.7644) 8616 0 R (HD.7645) 8617 0 R (HD.7646) 8618 0 R (HD.7647) 8619 0 R (HD.7648) 8620 0 R (HD.7649) 8621 0 R (HD.765) 1081 0 R (HD.7650) 8622 0 R (HD.7651) 8623 0 R (HD.7652) 8624 0 R (HD.7653) 8625 0 R (HD.7654) 8626 0 R (HD.7655) 8627 0 R (HD.7656) 8628 0 R (HD.7657) 8629 0 R (HD.7658) 8630 0 R (HD.7659) 8631 0 R (HD.766) 1086 0 R (HD.7660) 8632 0 R (HD.7661) 8633 0 R (HD.7662) 8634 0 R (HD.7663) 8635 0 R (HD.7664) 8636 0 R ] /Limits [ (HD.7636) (HD.7664) ] >>
endobj
11980 0 obj
-<< /Names [ (HD.8611) 9663 0 R (HD.8612) 9664 0 R (HD.8613) 9665 0 R (HD.8614) 9666 0 R (HD.8615) 9667 0 R (HD.8616) 9668 0 R (HD.8617) 9669 0 R (HD.8618) 9670 0 R (HD.8619) 9671 0 R (HD.862) 1190 0 R (HD.8620) 9672 0 R (HD.8621) 9673 0 R (HD.8622) 9674 0 R (HD.8623) 9675 0 R (HD.8624) 9676 0 R (HD.8625) 9677 0 R (HD.8626) 9678 0 R (HD.8627) 9679 0 R (HD.8628) 9680 0 R (HD.8629) 9681 0 R (HD.863) 1191 0 R (HD.8630) 9682 0 R (HD.8631) 9683 0 R (HD.8632) 9684 0 R (HD.8633) 9685 0 R (HD.8634) 9686 0 R (HD.8635) 9687 0 R (HD.8636) 9688 0 R (HD.8637) 9689 0 R (HD.8638) 9690 0 R (HD.8639) 9691 0 R (HD.864) 1192 0 R ] /Limits [ (HD.8611) (HD.864) ] >>
+<< /Names [ (HD.7665) 8637 0 R (HD.7666) 8638 0 R (HD.7667) 8639 0 R (HD.7668) 8640 0 R (HD.7669) 8641 0 R (HD.767) 1087 0 R (HD.7670) 8646 0 R (HD.7671) 8647 0 R (HD.7672) 8648 0 R (HD.7673) 8649 0 R (HD.7674) 8650 0 R (HD.7675) 8651 0 R (HD.7676) 8652 0 R (HD.7677) 8653 0 R (HD.7678) 8654 0 R (HD.7679) 8655 0 R (HD.768) 1088 0 R (HD.7680) 8656 0 R (HD.7681) 8657 0 R (HD.7682) 8658 0 R (HD.7683) 8659 0 R (HD.7684) 8660 0 R (HD.7685) 8661 0 R (HD.7686) 8662 0 R (HD.7687) 8663 0 R (HD.7688) 8664 0 R (HD.7689) 8665 0 R (HD.769) 1089 0 R (HD.7690) 8666 0 R (HD.7691) 8667 0 R (HD.7692) 8668 0 R (HD.7693) 8669 0 R ] /Limits [ (HD.7665) (HD.7693) ] >>
endobj
11981 0 obj
-<< /Names [ (HD.8640) 9692 0 R (HD.8641) 9693 0 R (HD.8642) 9694 0 R (HD.8643) 9695 0 R (HD.8644) 9696 0 R (HD.8645) 9697 0 R (HD.8646) 9702 0 R (HD.8647) 9703 0 R (HD.8648) 9704 0 R (HD.8649) 9705 0 R (HD.865) 1193 0 R (HD.8650) 9706 0 R (HD.8651) 9707 0 R (HD.8652) 9708 0 R (HD.8653) 9709 0 R (HD.8654) 9710 0 R (HD.8655) 9711 0 R (HD.8656) 9712 0 R (HD.8657) 9713 0 R (HD.8658) 9714 0 R (HD.8659) 9715 0 R (HD.866) 1194 0 R (HD.8660) 9716 0 R (HD.8661) 9717 0 R (HD.8662) 9718 0 R (HD.8663) 9719 0 R (HD.8664) 9720 0 R (HD.8665) 9721 0 R (HD.8666) 9722 0 R (HD.8667) 9723 0 R (HD.8668) 9724 0 R (HD.8669) 9725 0 R ] /Limits [ (HD.8640) (HD.8669) ] >>
+<< /Names [ (HD.7694) 8670 0 R (HD.7695) 8671 0 R (HD.7696) 8672 0 R (HD.7697) 8673 0 R (HD.7698) 8674 0 R (HD.7699) 8675 0 R (HD.77) 277 0 R (HD.770) 1090 0 R (HD.7700) 8676 0 R (HD.7701) 8677 0 R (HD.7702) 8678 0 R (HD.7703) 8679 0 R (HD.7704) 8680 0 R (HD.7705) 8685 0 R (HD.7706) 8686 0 R (HD.7707) 8687 0 R (HD.7708) 8688 0 R (HD.7709) 8689 0 R (HD.771) 1091 0 R (HD.7710) 8690 0 R (HD.7711) 8691 0 R (HD.7712) 8692 0 R (HD.7713) 8693 0 R (HD.7714) 8694 0 R (HD.7715) 8695 0 R (HD.7716) 8696 0 R (HD.7717) 8697 0 R (HD.7718) 8698 0 R (HD.7719) 8699 0 R (HD.772) 1092 0 R (HD.7720) 8700 0 R (HD.7721) 8701 0 R ] /Limits [ (HD.7694) (HD.7721) ] >>
endobj
11982 0 obj
-<< /Names [ (HD.867) 1195 0 R (HD.8670) 9726 0 R (HD.8671) 9727 0 R (HD.8672) 9728 0 R (HD.8673) 9729 0 R (HD.8674) 9730 0 R (HD.8675) 9731 0 R (HD.8676) 9732 0 R (HD.8677) 9733 0 R (HD.8678) 9734 0 R (HD.8679) 9735 0 R (HD.868) 1196 0 R (HD.8680) 9736 0 R (HD.8681) 9737 0 R (HD.8682) 9738 0 R (HD.8683) 9739 0 R (HD.8684) 9740 0 R (HD.8685) 9741 0 R (HD.8686) 9742 0 R (HD.8687) 9743 0 R (HD.8688) 9744 0 R (HD.8689) 9745 0 R (HD.869) 1201 0 R (HD.8690) 9746 0 R (HD.8691) 9747 0 R (HD.8692) 9748 0 R (HD.8693) 9749 0 R (HD.8694) 9750 0 R (HD.8695) 9755 0 R (HD.8696) 9756 0 R (HD.8697) 9757 0 R (HD.8698) 9758 0 R ] /Limits [ (HD.867) (HD.8698) ] >>
+<< /Names [ (HD.7722) 8702 0 R (HD.7723) 8703 0 R (HD.7724) 8704 0 R (HD.7725) 8705 0 R (HD.7726) 8706 0 R (HD.7727) 8707 0 R (HD.7728) 8708 0 R (HD.7729) 8709 0 R (HD.773) 1093 0 R (HD.7730) 8710 0 R (HD.7731) 8711 0 R (HD.7732) 8712 0 R (HD.7733) 8713 0 R (HD.7734) 8714 0 R (HD.7735) 8715 0 R (HD.7736) 8716 0 R (HD.7737) 8717 0 R (HD.7738) 8718 0 R (HD.7739) 8719 0 R (HD.774) 1094 0 R (HD.7740) 8720 0 R (HD.7741) 8721 0 R (HD.7742) 8722 0 R (HD.7743) 8723 0 R (HD.7744) 8724 0 R (HD.7745) 8725 0 R (HD.7746) 8726 0 R (HD.7747) 8727 0 R (HD.7748) 8728 0 R (HD.7749) 8729 0 R (HD.775) 1095 0 R (HD.7750) 8730 0 R ] /Limits [ (HD.7722) (HD.7750) ] >>
endobj
11983 0 obj
-<< /Names [ (HD.8699) 9759 0 R (HD.87) 287 0 R (HD.870) 1202 0 R (HD.8700) 9760 0 R (HD.8701) 9761 0 R (HD.8702) 9762 0 R (HD.8703) 9763 0 R (HD.8704) 9764 0 R (HD.8705) 9765 0 R (HD.8706) 9766 0 R (HD.8707) 9767 0 R (HD.8708) 9768 0 R (HD.8709) 9769 0 R (HD.871) 1203 0 R (HD.8710) 9770 0 R (HD.8711) 9771 0 R (HD.8712) 9772 0 R (HD.8713) 9773 0 R (HD.8714) 9774 0 R (HD.8715) 9775 0 R (HD.8716) 9776 0 R (HD.8717) 9777 0 R (HD.8718) 9778 0 R (HD.8719) 9779 0 R (HD.872) 1204 0 R (HD.8720) 9780 0 R (HD.8721) 9781 0 R (HD.8722) 9782 0 R (HD.8723) 9783 0 R (HD.8724) 9784 0 R (HD.8725) 9785 0 R (HD.8726) 9786 0 R ] /Limits [ (HD.8699) (HD.8726) ] >>
+<< /Names [ (HD.7751) 8731 0 R (HD.7752) 8736 0 R (HD.7753) 8737 0 R (HD.7754) 8738 0 R (HD.7755) 8739 0 R (HD.7756) 8740 0 R (HD.7757) 8741 0 R (HD.7758) 8742 0 R (HD.7759) 8743 0 R (HD.776) 1096 0 R (HD.7760) 8744 0 R (HD.7761) 8745 0 R (HD.7762) 8746 0 R (HD.7763) 8747 0 R (HD.7764) 8748 0 R (HD.7765) 8749 0 R (HD.7766) 8750 0 R (HD.7767) 8751 0 R (HD.7768) 8752 0 R (HD.7769) 8753 0 R (HD.777) 1097 0 R (HD.7770) 8754 0 R (HD.7771) 8755 0 R (HD.7772) 8756 0 R (HD.7773) 8757 0 R (HD.7774) 8758 0 R (HD.7775) 8759 0 R (HD.7776) 8760 0 R (HD.7777) 8761 0 R (HD.7778) 8762 0 R (HD.7779) 8763 0 R (HD.778) 1098 0 R ] /Limits [ (HD.7751) (HD.778) ] >>
endobj
11984 0 obj
-<< /Names [ (HD.8727) 9787 0 R (HD.8728) 9788 0 R (HD.8729) 9789 0 R (HD.873) 1205 0 R (HD.8730) 9790 0 R (HD.8731) 9791 0 R (HD.8732) 9792 0 R (HD.8733) 9793 0 R (HD.8734) 9794 0 R (HD.8735) 9795 0 R (HD.8736) 9796 0 R (HD.8737) 9797 0 R (HD.8738) 9798 0 R (HD.8739) 9799 0 R (HD.874) 1206 0 R (HD.8740) 9800 0 R (HD.8741) 9801 0 R (HD.8742) 9802 0 R (HD.8743) 9803 0 R (HD.8744) 9804 0 R (HD.8745) 9805 0 R (HD.8746) 9810 0 R (HD.8747) 9811 0 R (HD.8748) 9812 0 R (HD.8749) 9813 0 R (HD.875) 1207 0 R (HD.8750) 9814 0 R (HD.8751) 9815 0 R (HD.8752) 9816 0 R (HD.8753) 9817 0 R (HD.8754) 9818 0 R (HD.8755) 9819 0 R ] /Limits [ (HD.8727) (HD.8755) ] >>
+<< /Names [ (HD.7780) 8764 0 R (HD.7781) 8765 0 R (HD.7782) 8766 0 R (HD.7783) 8767 0 R (HD.7784) 8768 0 R (HD.7785) 8769 0 R (HD.7786) 8770 0 R (HD.7787) 8771 0 R (HD.7788) 8772 0 R (HD.7789) 8773 0 R (HD.779) 1099 0 R (HD.7790) 8774 0 R (HD.7791) 8775 0 R (HD.7792) 8776 0 R (HD.7793) 8777 0 R (HD.7794) 8778 0 R (HD.7795) 8779 0 R (HD.7796) 8780 0 R (HD.7797) 8781 0 R (HD.7798) 8782 0 R (HD.7799) 8783 0 R (HD.78) 278 0 R (HD.780) 1100 0 R (HD.7800) 8784 0 R (HD.7801) 8785 0 R (HD.7802) 8786 0 R (HD.7803) 8787 0 R (HD.7804) 8788 0 R (HD.7805) 8789 0 R (HD.7806) 8790 0 R (HD.7807) 8791 0 R (HD.7808) 8792 0 R ] /Limits [ (HD.7780) (HD.7808) ] >>
endobj
11985 0 obj
-<< /Names [ (HD.8756) 9820 0 R (HD.8757) 9821 0 R (HD.8758) 9822 0 R (HD.8759) 9823 0 R (HD.876) 1208 0 R (HD.8760) 9824 0 R (HD.8761) 9825 0 R (HD.8762) 9826 0 R (HD.8763) 9827 0 R (HD.8764) 9828 0 R (HD.8765) 9829 0 R (HD.8766) 9830 0 R (HD.8767) 9831 0 R (HD.8768) 9832 0 R (HD.8769) 9833 0 R (HD.877) 1209 0 R (HD.8770) 9834 0 R (HD.8771) 9835 0 R (HD.8772) 9836 0 R (HD.8773) 9837 0 R (HD.8774) 9838 0 R (HD.8775) 9839 0 R (HD.8776) 9840 0 R (HD.8777) 9841 0 R (HD.8778) 9842 0 R (HD.8779) 9843 0 R (HD.878) 1210 0 R (HD.8780) 9844 0 R (HD.8781) 9849 0 R (HD.8782) 9850 0 R (HD.8783) 9851 0 R (HD.8784) 9852 0 R ] /Limits [ (HD.8756) (HD.8784) ] >>
+<< /Names [ (HD.7809) 8793 0 R (HD.781) 1101 0 R (HD.7810) 8794 0 R (HD.7811) 8795 0 R (HD.7812) 8796 0 R (HD.7813) 8797 0 R (HD.7814) 8802 0 R (HD.7815) 8803 0 R (HD.7816) 8804 0 R (HD.7817) 8805 0 R (HD.7818) 8806 0 R (HD.7819) 8807 0 R (HD.782) 1102 0 R (HD.7820) 8808 0 R (HD.7821) 8809 0 R (HD.7822) 8810 0 R (HD.7823) 8811 0 R (HD.7824) 8812 0 R (HD.7825) 8813 0 R (HD.7826) 8814 0 R (HD.7827) 8815 0 R (HD.7828) 8816 0 R (HD.7829) 8817 0 R (HD.783) 1107 0 R (HD.7830) 8818 0 R (HD.7831) 8819 0 R (HD.7832) 8820 0 R (HD.7833) 8821 0 R (HD.7834) 8822 0 R (HD.7835) 8823 0 R (HD.7836) 8824 0 R (HD.7837) 8825 0 R ] /Limits [ (HD.7809) (HD.7837) ] >>
endobj
11986 0 obj
-<< /Names [ (HD.8785) 9853 0 R (HD.8786) 9854 0 R (HD.8787) 9855 0 R (HD.8788) 9856 0 R (HD.8789) 9857 0 R (HD.879) 1211 0 R (HD.8790) 9858 0 R (HD.8791) 9859 0 R (HD.8792) 9860 0 R (HD.8793) 9861 0 R (HD.8794) 9862 0 R (HD.8795) 9863 0 R (HD.8796) 9864 0 R (HD.8797) 9865 0 R (HD.8798) 9866 0 R (HD.8799) 9867 0 R (HD.88) 288 0 R (HD.880) 1212 0 R (HD.8800) 9868 0 R (HD.8801) 9869 0 R (HD.8802) 9870 0 R (HD.8803) 9871 0 R (HD.8804) 9872 0 R (HD.8805) 9873 0 R (HD.8806) 9874 0 R (HD.8807) 9875 0 R (HD.8808) 9876 0 R (HD.8809) 9877 0 R (HD.881) 1213 0 R (HD.8810) 9878 0 R (HD.8811) 9879 0 R (HD.8812) 9880 0 R ] /Limits [ (HD.8785) (HD.8812) ] >>
+<< /Names [ (HD.7838) 8826 0 R (HD.7839) 8827 0 R (HD.784) 1108 0 R (HD.7840) 8828 0 R (HD.7841) 8829 0 R (HD.7842) 8830 0 R (HD.7843) 8831 0 R (HD.7844) 8832 0 R (HD.7845) 8833 0 R (HD.7846) 8834 0 R (HD.7847) 8835 0 R (HD.7848) 8836 0 R (HD.7849) 8837 0 R (HD.785) 1109 0 R (HD.7850) 8838 0 R (HD.7851) 8839 0 R (HD.7852) 8840 0 R (HD.7853) 8841 0 R (HD.7854) 8842 0 R (HD.7855) 8843 0 R (HD.7856) 8844 0 R (HD.7857) 8845 0 R (HD.7858) 8846 0 R (HD.7859) 8847 0 R (HD.786) 1110 0 R (HD.7860) 8848 0 R (HD.7861) 8849 0 R (HD.7862) 8850 0 R (HD.7863) 8851 0 R (HD.7864) 8852 0 R (HD.7865) 8853 0 R (HD.7866) 8854 0 R ] /Limits [ (HD.7838) (HD.7866) ] >>
endobj
11987 0 obj
-<< /Names [ (HD.8813) 9881 0 R (HD.8814) 9882 0 R (HD.8815) 9883 0 R (HD.8816) 9884 0 R (HD.8817) 9885 0 R (HD.8818) 9886 0 R (HD.8819) 9887 0 R (HD.882) 1214 0 R (HD.8820) 9888 0 R (HD.8821) 9889 0 R (HD.8822) 9890 0 R (HD.8823) 9891 0 R (HD.8824) 9892 0 R (HD.8825) 9893 0 R (HD.8826) 9894 0 R (HD.8827) 9899 0 R (HD.8828) 9900 0 R (HD.8829) 9901 0 R (HD.883) 1215 0 R (HD.8830) 9902 0 R (HD.8831) 9903 0 R (HD.8832) 9904 0 R (HD.8833) 9905 0 R (HD.8834) 9906 0 R (HD.8835) 9907 0 R (HD.8836) 9908 0 R (HD.8837) 9909 0 R (HD.8838) 9910 0 R (HD.8839) 9911 0 R (HD.884) 1216 0 R (HD.8840) 9912 0 R (HD.8841) 9913 0 R ] /Limits [ (HD.8813) (HD.8841) ] >>
+<< /Names [ (HD.7867) 8855 0 R (HD.7868) 8856 0 R (HD.7869) 8857 0 R (HD.787) 1111 0 R (HD.7870) 8858 0 R (HD.7871) 8859 0 R (HD.7872) 8860 0 R (HD.7873) 8861 0 R (HD.7874) 8867 0 R (HD.7875) 8868 0 R (HD.7876) 8869 0 R (HD.7877) 8870 0 R (HD.7878) 8871 0 R (HD.7879) 8872 0 R (HD.788) 1112 0 R (HD.7880) 8873 0 R (HD.7881) 8874 0 R (HD.7882) 8875 0 R (HD.7883) 8876 0 R (HD.7884) 8877 0 R (HD.7885) 8878 0 R (HD.7886) 8879 0 R (HD.7887) 8880 0 R (HD.7888) 8881 0 R (HD.7889) 8882 0 R (HD.789) 1113 0 R (HD.7890) 8883 0 R (HD.7891) 8884 0 R (HD.7892) 8885 0 R (HD.7893) 8886 0 R (HD.7894) 8887 0 R (HD.7895) 8888 0 R ] /Limits [ (HD.7867) (HD.7895) ] >>
endobj
11988 0 obj
-<< /Names [ (HD.8842) 9914 0 R (HD.8843) 9915 0 R (HD.8844) 9916 0 R (HD.8845) 9917 0 R (HD.8846) 9918 0 R (HD.8847) 9919 0 R (HD.8848) 9920 0 R (HD.8849) 9921 0 R (HD.885) 1217 0 R (HD.8850) 9922 0 R (HD.8851) 9923 0 R (HD.8852) 9924 0 R (HD.8853) 9925 0 R (HD.8854) 9926 0 R (HD.8855) 9927 0 R (HD.8856) 9928 0 R (HD.8857) 9929 0 R (HD.8858) 9930 0 R (HD.8859) 9931 0 R (HD.886) 1218 0 R (HD.8860) 9932 0 R (HD.8861) 9933 0 R (HD.8862) 9934 0 R (HD.8863) 9935 0 R (HD.8864) 9936 0 R (HD.8865) 9937 0 R (HD.8866) 9938 0 R (HD.8867) 9939 0 R (HD.8868) 9940 0 R (HD.8869) 9941 0 R (HD.887) 1219 0 R (HD.8870) 9942 0 R ] /Limits [ (HD.8842) (HD.8870) ] >>
+<< /Names [ (HD.7896) 8889 0 R (HD.7897) 8890 0 R (HD.7898) 8891 0 R (HD.7899) 8892 0 R (HD.79) 279 0 R (HD.790) 1114 0 R (HD.7900) 8893 0 R (HD.7901) 8894 0 R (HD.7902) 8895 0 R (HD.7903) 8896 0 R (HD.7904) 8897 0 R (HD.7905) 8898 0 R (HD.7906) 8899 0 R (HD.7907) 8900 0 R (HD.7908) 8901 0 R (HD.7909) 8902 0 R (HD.791) 1115 0 R (HD.7910) 8903 0 R (HD.7911) 8904 0 R (HD.7912) 8905 0 R (HD.7913) 8906 0 R (HD.7914) 8907 0 R (HD.7915) 8908 0 R (HD.7916) 8909 0 R (HD.7917) 8910 0 R (HD.7918) 8911 0 R (HD.7919) 8912 0 R (HD.792) 1116 0 R (HD.7920) 8913 0 R (HD.7921) 8914 0 R (HD.7922) 8915 0 R (HD.7923) 8916 0 R ] /Limits [ (HD.7896) (HD.7923) ] >>
endobj
11989 0 obj
-<< /Names [ (HD.8871) 9943 0 R (HD.8872) 9944 0 R (HD.8873) 9945 0 R (HD.8874) 9946 0 R (HD.8875) 9947 0 R (HD.8876) 9953 0 R (HD.8877) 9954 0 R (HD.8878) 9955 0 R (HD.8879) 9956 0 R (HD.888) 1220 0 R (HD.8880) 9957 0 R (HD.8881) 9958 0 R (HD.8882) 9959 0 R (HD.8883) 9960 0 R (HD.8884) 9961 0 R (HD.8885) 9962 0 R (HD.8886) 9963 0 R (HD.8887) 9964 0 R (HD.8888) 9965 0 R (HD.8889) 9966 0 R (HD.889) 1221 0 R (HD.8890) 9967 0 R (HD.8891) 9968 0 R (HD.8892) 9969 0 R (HD.8893) 9970 0 R (HD.8894) 9971 0 R (HD.8895) 9972 0 R (HD.8896) 9973 0 R (HD.8897) 9974 0 R (HD.8898) 9975 0 R (HD.8899) 9976 0 R (HD.89) 289 0 R ] /Limits [ (HD.8871) (HD.89) ] >>
+<< /Names [ (HD.7924) 8917 0 R (HD.7925) 8922 0 R (HD.7926) 8923 0 R (HD.7927) 8924 0 R (HD.7928) 8925 0 R (HD.7929) 8926 0 R (HD.793) 1117 0 R (HD.7930) 8927 0 R (HD.7931) 8928 0 R (HD.7932) 8929 0 R (HD.7933) 8930 0 R (HD.7934) 8931 0 R (HD.7935) 8932 0 R (HD.7936) 8933 0 R (HD.7937) 8934 0 R (HD.7938) 8935 0 R (HD.7939) 8936 0 R (HD.794) 1118 0 R (HD.7940) 8937 0 R (HD.7941) 8938 0 R (HD.7942) 8939 0 R (HD.7943) 8940 0 R (HD.7944) 8941 0 R (HD.7945) 8942 0 R (HD.7946) 8943 0 R (HD.7947) 8944 0 R (HD.7948) 8945 0 R (HD.7949) 8946 0 R (HD.795) 1119 0 R (HD.7950) 8947 0 R (HD.7951) 8948 0 R (HD.7952) 8949 0 R ] /Limits [ (HD.7924) (HD.7952) ] >>
endobj
11990 0 obj
-<< /Names [ (HD.890) 1222 0 R (HD.8900) 9977 0 R (HD.8901) 9978 0 R (HD.8902) 9979 0 R (HD.8903) 9980 0 R (HD.8904) 9981 0 R (HD.8905) 9982 0 R (HD.8906) 9983 0 R (HD.8907) 9984 0 R (HD.8908) 9985 0 R (HD.8909) 9986 0 R (HD.891) 1223 0 R (HD.8910) 9987 0 R (HD.8911) 9988 0 R (HD.8912) 9989 0 R (HD.8913) 9990 0 R (HD.8914) 9991 0 R (HD.8915) 9992 0 R (HD.8916) 9993 0 R (HD.8917) 9994 0 R (HD.8918) 9995 0 R (HD.8919) 9996 0 R (HD.892) 1224 0 R (HD.8920) 9997 0 R (HD.8921) 9998 0 R (HD.8922) 9999 0 R (HD.8923) 10000 0 R (HD.8924) 10001 0 R (HD.8925) 10002 0 R (HD.8926) 10003 0 R (HD.8927) 10004 0 R (HD.8928) 10005 0 R ] /Limits [ (HD.890) (HD.8928) ] >>
+<< /Names [ (HD.7953) 8950 0 R (HD.7954) 8951 0 R (HD.7955) 8952 0 R (HD.7956) 8953 0 R (HD.7957) 8954 0 R (HD.7958) 8955 0 R (HD.7959) 8956 0 R (HD.796) 1120 0 R (HD.7960) 8957 0 R (HD.7961) 8958 0 R (HD.7962) 8959 0 R (HD.7963) 8960 0 R (HD.7964) 8961 0 R (HD.7965) 8962 0 R (HD.7966) 8963 0 R (HD.7967) 8964 0 R (HD.7968) 8965 0 R (HD.7969) 8966 0 R (HD.797) 1121 0 R (HD.7970) 8967 0 R (HD.7971) 8968 0 R (HD.7972) 8969 0 R (HD.7973) 8970 0 R (HD.7974) 8971 0 R (HD.7975) 8972 0 R (HD.7976) 8973 0 R (HD.7977) 8974 0 R (HD.7978) 8975 0 R (HD.7979) 8976 0 R (HD.798) 1122 0 R (HD.7980) 8977 0 R (HD.7981) 8978 0 R ] /Limits [ (HD.7953) (HD.7981) ] >>
endobj
11991 0 obj
-<< /Names [ (HD.8929) 10006 0 R (HD.893) 1225 0 R (HD.8930) 10007 0 R (HD.8931) 10008 0 R (HD.8932) 10009 0 R (HD.8933) 10010 0 R (HD.8934) 10015 0 R (HD.8935) 10016 0 R (HD.8936) 10017 0 R (HD.8937) 10018 0 R (HD.8938) 10019 0 R (HD.8939) 10020 0 R (HD.894) 1226 0 R (HD.8940) 10021 0 R (HD.8941) 10022 0 R (HD.8942) 10023 0 R (HD.8943) 10024 0 R (HD.8944) 10025 0 R (HD.8945) 10026 0 R (HD.8946) 10027 0 R (HD.8947) 10028 0 R (HD.8948) 10029 0 R (HD.8949) 10030 0 R (HD.895) 1227 0 R (HD.8950) 10031 0 R (HD.8951) 10032 0 R (HD.8952) 10033 0 R (HD.8953) 10034 0 R (HD.8954) 10035 0 R (HD.8955) 10036 0 R (HD.8956) 10037 0 R (HD.8957) 10038 0 R ] /Limits [ (HD.8929) (HD.8957) ] >>
+<< /Names [ (HD.7982) 8979 0 R (HD.7983) 8984 0 R (HD.7984) 8985 0 R (HD.7985) 8986 0 R (HD.7986) 8987 0 R (HD.7987) 8988 0 R (HD.7988) 8989 0 R (HD.7989) 8990 0 R (HD.799) 1123 0 R (HD.7990) 8991 0 R (HD.7991) 8992 0 R (HD.7992) 8993 0 R (HD.7993) 8994 0 R (HD.7994) 8995 0 R (HD.7995) 8996 0 R (HD.7996) 8997 0 R (HD.7997) 8998 0 R (HD.7998) 8999 0 R (HD.7999) 9000 0 R (HD.8) 196 0 R (HD.80) 280 0 R (HD.800) 1124 0 R (HD.8000) 9001 0 R (HD.8001) 9002 0 R (HD.8002) 9003 0 R (HD.8003) 9004 0 R (HD.8004) 9005 0 R (HD.8005) 9006 0 R (HD.8006) 9007 0 R (HD.8007) 9008 0 R (HD.8008) 9009 0 R (HD.8009) 9010 0 R ] /Limits [ (HD.7982) (HD.8009) ] >>
endobj
11992 0 obj
-<< /Names [ (HD.8958) 10039 0 R (HD.8959) 10040 0 R (HD.896) 1228 0 R (HD.8960) 10041 0 R (HD.8961) 10042 0 R (HD.8962) 10043 0 R (HD.8963) 10044 0 R (HD.8964) 10045 0 R (HD.8965) 10046 0 R (HD.8966) 10047 0 R (HD.8967) 10048 0 R (HD.8968) 10049 0 R (HD.8969) 10050 0 R (HD.897) 1229 0 R (HD.8970) 10051 0 R (HD.8971) 10052 0 R (HD.8972) 10053 0 R (HD.8973) 10054 0 R (HD.8974) 10055 0 R (HD.8975) 10056 0 R (HD.8976) 10057 0 R (HD.8977) 10058 0 R (HD.8978) 10059 0 R (HD.8979) 10060 0 R (HD.898) 1230 0 R (HD.8980) 10061 0 R (HD.8981) 10062 0 R (HD.8982) 10063 0 R (HD.8983) 10064 0 R (HD.8984) 10065 0 R (HD.8985) 10066 0 R (HD.8986) 10067 0 R ] /Limits [ (HD.8958) (HD.8986) ] >>
+<< /Names [ (HD.801) 1125 0 R (HD.8010) 9011 0 R (HD.8011) 9012 0 R (HD.8012) 9013 0 R (HD.8013) 9014 0 R (HD.8014) 9015 0 R (HD.8015) 9016 0 R (HD.8016) 9017 0 R (HD.8017) 9018 0 R (HD.8018) 9019 0 R (HD.8019) 9020 0 R (HD.802) 1126 0 R (HD.8020) 9021 0 R (HD.8021) 9022 0 R (HD.8022) 9023 0 R (HD.8023) 9024 0 R (HD.8024) 9025 0 R (HD.8025) 9026 0 R (HD.8026) 9027 0 R (HD.8027) 9028 0 R (HD.8028) 9029 0 R (HD.8029) 9030 0 R (HD.803) 1127 0 R (HD.8030) 9031 0 R (HD.8031) 9032 0 R (HD.8032) 9033 0 R (HD.8033) 9034 0 R (HD.8034) 9035 0 R (HD.8035) 9036 0 R (HD.8036) 9037 0 R (HD.8037) 9038 0 R (HD.8038) 9039 0 R ] /Limits [ (HD.801) (HD.8038) ] >>
endobj
11993 0 obj
-<< /Names [ (HD.8987) 10068 0 R (HD.8988) 10069 0 R (HD.8989) 10070 0 R (HD.899) 1231 0 R (HD.8990) 10071 0 R (HD.8991) 10072 0 R (HD.8992) 10073 0 R (HD.8993) 10078 0 R (HD.8994) 10079 0 R (HD.8995) 10080 0 R (HD.8996) 10081 0 R (HD.8997) 10082 0 R (HD.8998) 10083 0 R (HD.8999) 10084 0 R (HD.9) 197 0 R (HD.90) 290 0 R (HD.900) 1232 0 R (HD.9000) 10085 0 R (HD.9001) 10086 0 R (HD.9002) 10087 0 R (HD.9003) 10088 0 R (HD.9004) 10089 0 R (HD.9005) 10090 0 R (HD.9006) 10091 0 R (HD.9007) 10092 0 R (HD.9008) 10093 0 R (HD.9009) 10094 0 R (HD.901) 1233 0 R (HD.9010) 10095 0 R (HD.9011) 10096 0 R (HD.9012) 10097 0 R (HD.9013) 10098 0 R ] /Limits [ (HD.8987) (HD.9013) ] >>
+<< /Names [ (HD.8039) 9044 0 R (HD.804) 1128 0 R (HD.8040) 9045 0 R (HD.8041) 9046 0 R (HD.8042) 9047 0 R (HD.8043) 9048 0 R (HD.8044) 9049 0 R (HD.8045) 9050 0 R (HD.8046) 9051 0 R (HD.8047) 9052 0 R (HD.8048) 9053 0 R (HD.8049) 9054 0 R (HD.805) 1129 0 R (HD.8050) 9055 0 R (HD.8051) 9056 0 R (HD.8052) 9057 0 R (HD.8053) 9058 0 R (HD.8054) 9059 0 R (HD.8055) 9060 0 R (HD.8056) 9061 0 R (HD.8057) 9062 0 R (HD.8058) 9063 0 R (HD.8059) 9064 0 R (HD.806) 1130 0 R (HD.8060) 9065 0 R (HD.8061) 9066 0 R (HD.8062) 9067 0 R (HD.8063) 9068 0 R (HD.8064) 9069 0 R (HD.8065) 9070 0 R (HD.8066) 9071 0 R (HD.8067) 9072 0 R ] /Limits [ (HD.8039) (HD.8067) ] >>
endobj
11994 0 obj
-<< /Names [ (HD.9014) 10099 0 R (HD.9015) 10100 0 R (HD.9016) 10101 0 R (HD.9017) 10102 0 R (HD.9018) 10103 0 R (HD.9019) 10104 0 R (HD.902) 1234 0 R (HD.9020) 10105 0 R (HD.9021) 10106 0 R (HD.9022) 10107 0 R (HD.9023) 10108 0 R (HD.9024) 10109 0 R (HD.9025) 10110 0 R (HD.9026) 10111 0 R (HD.9027) 10112 0 R (HD.9028) 10113 0 R (HD.9029) 10114 0 R (HD.903) 1235 0 R (HD.9030) 10115 0 R (HD.9031) 10116 0 R (HD.9032) 10117 0 R (HD.9033) 10118 0 R (HD.9034) 10119 0 R (HD.9035) 10120 0 R (HD.9036) 10121 0 R (HD.9037) 10122 0 R (HD.9038) 10123 0 R (HD.9039) 10124 0 R (HD.904) 1236 0 R (HD.9040) 10125 0 R (HD.9041) 10126 0 R (HD.9042) 10127 0 R ] /Limits [ (HD.9014) (HD.9042) ] >>
+<< /Names [ (HD.8068) 9073 0 R (HD.8069) 9074 0 R (HD.807) 1131 0 R (HD.8070) 9075 0 R (HD.8071) 9076 0 R (HD.8072) 9077 0 R (HD.8073) 9078 0 R (HD.8074) 9079 0 R (HD.8075) 9080 0 R (HD.8076) 9081 0 R (HD.8077) 9082 0 R (HD.8078) 9083 0 R (HD.8079) 9084 0 R (HD.808) 1132 0 R (HD.8080) 9085 0 R (HD.8081) 9086 0 R (HD.8082) 9087 0 R (HD.8083) 9088 0 R (HD.8084) 9089 0 R (HD.8085) 9090 0 R (HD.8086) 9091 0 R (HD.8087) 9092 0 R (HD.8088) 9093 0 R (HD.8089) 9094 0 R (HD.809) 1133 0 R (HD.8090) 9095 0 R (HD.8091) 9096 0 R (HD.8092) 9097 0 R (HD.8093) 9098 0 R (HD.8094) 9099 0 R (HD.8095) 9100 0 R (HD.8096) 9105 0 R ] /Limits [ (HD.8068) (HD.8096) ] >>
endobj
11995 0 obj
-<< /Names [ (HD.9043) 10128 0 R (HD.9044) 10129 0 R (HD.9045) 10130 0 R (HD.9046) 10131 0 R (HD.9047) 10132 0 R (HD.9048) 10133 0 R (HD.9049) 10138 0 R (HD.905) 1237 0 R (HD.9050) 10139 0 R (HD.9051) 10140 0 R (HD.9052) 10141 0 R (HD.9053) 10142 0 R (HD.9054) 10143 0 R (HD.9055) 10144 0 R (HD.9056) 10145 0 R (HD.9057) 10146 0 R (HD.9058) 10147 0 R (HD.9059) 10148 0 R (HD.906) 1238 0 R (HD.9060) 10149 0 R (HD.9061) 10150 0 R (HD.9062) 10151 0 R (HD.9063) 10152 0 R (HD.9064) 10153 0 R (HD.9065) 10154 0 R (HD.9066) 10155 0 R (HD.9067) 10156 0 R (HD.9068) 10157 0 R (HD.9069) 10158 0 R (HD.907) 1239 0 R (HD.9070) 10159 0 R (HD.9071) 10160 0 R ] /Limits [ (HD.9043) (HD.9071) ] >>
+<< /Names [ (HD.8097) 9106 0 R (HD.8098) 9107 0 R (HD.8099) 9108 0 R (HD.81) 281 0 R (HD.810) 1134 0 R (HD.8100) 9109 0 R (HD.8101) 9110 0 R (HD.8102) 9111 0 R (HD.8103) 9112 0 R (HD.8104) 9113 0 R (HD.8105) 9114 0 R (HD.8106) 9115 0 R (HD.8107) 9116 0 R (HD.8108) 9117 0 R (HD.8109) 9118 0 R (HD.811) 1135 0 R (HD.8110) 9119 0 R (HD.8111) 9120 0 R (HD.8112) 9121 0 R (HD.8113) 9122 0 R (HD.8114) 9123 0 R (HD.8115) 9124 0 R (HD.8116) 9125 0 R (HD.8117) 9126 0 R (HD.8118) 9127 0 R (HD.8119) 9128 0 R (HD.812) 1136 0 R (HD.8120) 9129 0 R (HD.8121) 9130 0 R (HD.8122) 9131 0 R (HD.8123) 9132 0 R (HD.8124) 9133 0 R ] /Limits [ (HD.8097) (HD.8124) ] >>
endobj
11996 0 obj
-<< /Names [ (HD.9072) 10161 0 R (HD.9073) 10162 0 R (HD.9074) 10163 0 R (HD.9075) 10164 0 R (HD.9076) 10165 0 R (HD.9077) 10166 0 R (HD.9078) 10167 0 R (HD.9079) 10168 0 R (HD.908) 1240 0 R (HD.9080) 10169 0 R (HD.9081) 10170 0 R (HD.9082) 10171 0 R (HD.9083) 10172 0 R (HD.9084) 10173 0 R (HD.9085) 10174 0 R (HD.9086) 10175 0 R (HD.9087) 10176 0 R (HD.9088) 10177 0 R (HD.9089) 10178 0 R (HD.909) 1241 0 R (HD.9090) 10179 0 R (HD.9091) 10180 0 R (HD.9092) 10181 0 R (HD.9093) 10182 0 R (HD.9094) 10183 0 R (HD.9095) 10184 0 R (HD.9096) 10185 0 R (HD.9097) 10186 0 R (HD.9098) 10187 0 R (HD.9099) 10188 0 R (HD.91) 291 0 R (HD.910) 1242 0 R ] /Limits [ (HD.9072) (HD.910) ] >>
+<< /Names [ (HD.8125) 9134 0 R (HD.8126) 9135 0 R (HD.8127) 9136 0 R (HD.8128) 9137 0 R (HD.8129) 9138 0 R (HD.813) 1137 0 R (HD.8130) 9139 0 R (HD.8131) 9140 0 R (HD.8132) 9141 0 R (HD.8133) 9142 0 R (HD.8134) 9143 0 R (HD.8135) 9144 0 R (HD.8136) 9145 0 R (HD.8137) 9146 0 R (HD.8138) 9147 0 R (HD.8139) 9148 0 R (HD.814) 1138 0 R (HD.8140) 9149 0 R (HD.8141) 9150 0 R (HD.8142) 9151 0 R (HD.8143) 9152 0 R (HD.8144) 9153 0 R (HD.8145) 9154 0 R (HD.8146) 9155 0 R (HD.8147) 9156 0 R (HD.8148) 9157 0 R (HD.8149) 9158 0 R (HD.815) 1139 0 R (HD.8150) 9159 0 R (HD.8151) 9160 0 R (HD.8152) 9161 0 R (HD.8153) 9166 0 R ] /Limits [ (HD.8125) (HD.8153) ] >>
endobj
11997 0 obj
-<< /Names [ (HD.9100) 10189 0 R (HD.9101) 10190 0 R (HD.9102) 10191 0 R (HD.9103) 10192 0 R (HD.9104) 10193 0 R (HD.9105) 10194 0 R (HD.9106) 10195 0 R (HD.9107) 10196 0 R (HD.9108) 10197 0 R (HD.9109) 10198 0 R (HD.911) 1243 0 R (HD.9110) 10203 0 R (HD.9111) 10204 0 R (HD.9112) 10205 0 R (HD.9113) 10206 0 R (HD.9114) 10207 0 R (HD.9115) 10208 0 R (HD.9116) 10209 0 R (HD.9117) 10210 0 R (HD.9118) 10211 0 R (HD.9119) 10212 0 R (HD.912) 1244 0 R (HD.9120) 10213 0 R (HD.9121) 10214 0 R (HD.9122) 10215 0 R (HD.9123) 10216 0 R (HD.9124) 10217 0 R (HD.9125) 10218 0 R (HD.9126) 10219 0 R (HD.9127) 10220 0 R (HD.9128) 10221 0 R (HD.9129) 10222 0 R ] /Limits [ (HD.9100) (HD.9129) ] >>
+<< /Names [ (HD.8154) 9167 0 R (HD.8155) 9168 0 R (HD.8156) 9169 0 R (HD.8157) 9170 0 R (HD.8158) 9171 0 R (HD.8159) 9172 0 R (HD.816) 1140 0 R (HD.8160) 9173 0 R (HD.8161) 9174 0 R (HD.8162) 9175 0 R (HD.8163) 9176 0 R (HD.8164) 9177 0 R (HD.8165) 9178 0 R (HD.8166) 9179 0 R (HD.8167) 9180 0 R (HD.8168) 9181 0 R (HD.8169) 9182 0 R (HD.817) 1141 0 R (HD.8170) 9183 0 R (HD.8171) 9184 0 R (HD.8172) 9185 0 R (HD.8173) 9186 0 R (HD.8174) 9187 0 R (HD.8175) 9188 0 R (HD.8176) 9189 0 R (HD.8177) 9190 0 R (HD.8178) 9191 0 R (HD.8179) 9192 0 R (HD.818) 1142 0 R (HD.8180) 9193 0 R (HD.8181) 9194 0 R (HD.8182) 9195 0 R ] /Limits [ (HD.8154) (HD.8182) ] >>
endobj
11998 0 obj
-<< /Names [ (HD.913) 1245 0 R (HD.9130) 10223 0 R (HD.9131) 10224 0 R (HD.9132) 10225 0 R (HD.9133) 10226 0 R (HD.9134) 10227 0 R (HD.9135) 10228 0 R (HD.9136) 10229 0 R (HD.9137) 10230 0 R (HD.9138) 10231 0 R (HD.9139) 10232 0 R (HD.914) 1246 0 R (HD.9140) 10233 0 R (HD.9141) 10234 0 R (HD.9142) 10235 0 R (HD.9143) 10236 0 R (HD.9144) 10237 0 R (HD.9145) 10238 0 R (HD.9146) 10239 0 R (HD.9147) 10240 0 R (HD.9148) 10241 0 R (HD.9149) 10242 0 R (HD.915) 1247 0 R (HD.9150) 10243 0 R (HD.9151) 10244 0 R (HD.9152) 10245 0 R (HD.9153) 10246 0 R (HD.9154) 10247 0 R (HD.9155) 10248 0 R (HD.9156) 10249 0 R (HD.9157) 10250 0 R (HD.9158) 10251 0 R ] /Limits [ (HD.913) (HD.9158) ] >>
+<< /Names [ (HD.8183) 9196 0 R (HD.8184) 9197 0 R (HD.8185) 9198 0 R (HD.8186) 9199 0 R (HD.8187) 9200 0 R (HD.8188) 9201 0 R (HD.8189) 9202 0 R (HD.819) 1147 0 R (HD.8190) 9203 0 R (HD.8191) 9204 0 R (HD.8192) 9205 0 R (HD.8193) 9206 0 R (HD.8194) 9207 0 R (HD.8195) 9208 0 R (HD.8196) 9209 0 R (HD.8197) 9210 0 R (HD.8198) 9211 0 R (HD.8199) 9212 0 R (HD.82) 282 0 R (HD.820) 1148 0 R (HD.8200) 9213 0 R (HD.8201) 9214 0 R (HD.8202) 9215 0 R (HD.8203) 9216 0 R (HD.8204) 9217 0 R (HD.8205) 9218 0 R (HD.8206) 9219 0 R (HD.8207) 9224 0 R (HD.8208) 9225 0 R (HD.8209) 9226 0 R (HD.821) 1149 0 R (HD.8210) 9227 0 R ] /Limits [ (HD.8183) (HD.8210) ] >>
endobj
11999 0 obj
-<< /Names [ (HD.9159) 10252 0 R (HD.916) 1248 0 R (HD.9160) 10253 0 R (HD.9161) 10254 0 R (HD.9162) 10255 0 R (HD.9163) 10256 0 R (HD.9164) 10257 0 R (HD.9165) 10258 0 R (HD.9166) 10259 0 R (HD.9167) 10260 0 R (HD.9168) 10261 0 R (HD.9169) 10266 0 R (HD.917) 1249 0 R (HD.9170) 10267 0 R (HD.9171) 10268 0 R (HD.9172) 10269 0 R (HD.9173) 10270 0 R (HD.9174) 10271 0 R (HD.9175) 10272 0 R (HD.9176) 10273 0 R (HD.9177) 10274 0 R (HD.9178) 10275 0 R (HD.9179) 10276 0 R (HD.918) 1250 0 R (HD.9180) 10277 0 R (HD.9181) 10278 0 R (HD.9182) 10279 0 R (HD.9183) 10280 0 R (HD.9184) 10281 0 R (HD.9185) 10282 0 R (HD.9186) 10283 0 R (HD.9187) 10284 0 R ] /Limits [ (HD.9159) (HD.9187) ] >>
+<< /Names [ (HD.8211) 9228 0 R (HD.8212) 9229 0 R (HD.8213) 9230 0 R (HD.8214) 9231 0 R (HD.8215) 9232 0 R (HD.8216) 9233 0 R (HD.8217) 9234 0 R (HD.8218) 9235 0 R (HD.8219) 9236 0 R (HD.822) 1150 0 R (HD.8220) 9237 0 R (HD.8221) 9238 0 R (HD.8222) 9239 0 R (HD.8223) 9240 0 R (HD.8224) 9241 0 R (HD.8225) 9242 0 R (HD.8226) 9243 0 R (HD.8227) 9244 0 R (HD.8228) 9245 0 R (HD.8229) 9246 0 R (HD.823) 1151 0 R (HD.8230) 9247 0 R (HD.8231) 9248 0 R (HD.8232) 9249 0 R (HD.8233) 9250 0 R (HD.8234) 9251 0 R (HD.8235) 9252 0 R (HD.8236) 9253 0 R (HD.8237) 9254 0 R (HD.8238) 9255 0 R (HD.8239) 9256 0 R (HD.824) 1152 0 R ] /Limits [ (HD.8211) (HD.824) ] >>
endobj
12000 0 obj
-<< /Names [ (HD.9188) 10285 0 R (HD.9189) 10286 0 R (HD.919) 1251 0 R (HD.9190) 10287 0 R (HD.9191) 10288 0 R (HD.9192) 10289 0 R (HD.9193) 10290 0 R (HD.9194) 10291 0 R (HD.9195) 10292 0 R (HD.9196) 10293 0 R (HD.9197) 10294 0 R (HD.9198) 10295 0 R (HD.9199) 10296 0 R (HD.92) 292 0 R (HD.920) 1252 0 R (HD.9200) 10297 0 R (HD.9201) 10298 0 R (HD.9202) 10299 0 R (HD.9203) 10300 0 R (HD.9204) 10301 0 R (HD.9205) 10302 0 R (HD.9206) 10303 0 R (HD.9207) 10304 0 R (HD.9208) 10305 0 R (HD.9209) 10306 0 R (HD.921) 1253 0 R (HD.9210) 10307 0 R (HD.9211) 10308 0 R (HD.9212) 10309 0 R (HD.9213) 10310 0 R (HD.9214) 10311 0 R (HD.9215) 10312 0 R ] /Limits [ (HD.9188) (HD.9215) ] >>
+<< /Names [ (HD.8240) 9257 0 R (HD.8241) 9258 0 R (HD.8242) 9259 0 R (HD.8243) 9260 0 R (HD.8244) 9261 0 R (HD.8245) 9262 0 R (HD.8246) 9263 0 R (HD.8247) 9264 0 R (HD.8248) 9265 0 R (HD.8249) 9266 0 R (HD.825) 1153 0 R (HD.8250) 9267 0 R (HD.8251) 9272 0 R (HD.8252) 9273 0 R (HD.8253) 9274 0 R (HD.8254) 9275 0 R (HD.8255) 9276 0 R (HD.8256) 9277 0 R (HD.8257) 9278 0 R (HD.8258) 9279 0 R (HD.8259) 9280 0 R (HD.826) 1154 0 R (HD.8260) 9281 0 R (HD.8261) 9282 0 R (HD.8262) 9283 0 R (HD.8263) 9284 0 R (HD.8264) 9285 0 R (HD.8265) 9286 0 R (HD.8266) 9287 0 R (HD.8267) 9288 0 R (HD.8268) 9289 0 R (HD.8269) 9290 0 R ] /Limits [ (HD.8240) (HD.8269) ] >>
endobj
12001 0 obj
-<< /Names [ (HD.9216) 10313 0 R (HD.9217) 10314 0 R (HD.9218) 10315 0 R (HD.9219) 10316 0 R (HD.922) 1254 0 R (HD.9220) 10317 0 R (HD.9221) 10318 0 R (HD.9222) 10319 0 R (HD.9223) 10320 0 R (HD.9224) 10321 0 R (HD.9225) 10322 0 R (HD.9226) 10323 0 R (HD.9227) 10324 0 R (HD.9228) 10325 0 R (HD.9229) 10326 0 R (HD.923) 1255 0 R (HD.9230) 10327 0 R (HD.9231) 10328 0 R (HD.9232) 10333 0 R (HD.9233) 10334 0 R (HD.9234) 10335 0 R (HD.9235) 10336 0 R (HD.9236) 10337 0 R (HD.9237) 10338 0 R (HD.9238) 10339 0 R (HD.9239) 10340 0 R (HD.924) 1256 0 R (HD.9240) 10341 0 R (HD.9241) 10342 0 R (HD.9242) 10343 0 R (HD.9243) 10344 0 R (HD.9244) 10345 0 R ] /Limits [ (HD.9216) (HD.9244) ] >>
+<< /Names [ (HD.827) 1155 0 R (HD.8270) 9291 0 R (HD.8271) 9292 0 R (HD.8272) 9293 0 R (HD.8273) 9294 0 R (HD.8274) 9295 0 R (HD.8275) 9296 0 R (HD.8276) 9297 0 R (HD.8277) 9298 0 R (HD.8278) 9299 0 R (HD.8279) 9300 0 R (HD.828) 1156 0 R (HD.8280) 9301 0 R (HD.8281) 9302 0 R (HD.8282) 9303 0 R (HD.8283) 9304 0 R (HD.8284) 9305 0 R (HD.8285) 9306 0 R (HD.8286) 9307 0 R (HD.8287) 9308 0 R (HD.8288) 9309 0 R (HD.8289) 9310 0 R (HD.829) 1157 0 R (HD.8290) 9311 0 R (HD.8291) 9312 0 R (HD.8292) 9313 0 R (HD.8293) 9314 0 R (HD.8294) 9315 0 R (HD.8295) 9316 0 R (HD.8296) 9317 0 R (HD.8297) 9318 0 R (HD.8298) 9319 0 R ] /Limits [ (HD.827) (HD.8298) ] >>
endobj
12002 0 obj
-<< /Names [ (HD.9245) 10346 0 R (HD.9246) 10347 0 R (HD.9247) 10348 0 R (HD.9248) 10349 0 R (HD.9249) 10350 0 R (HD.925) 1257 0 R (HD.9250) 10351 0 R (HD.9251) 10352 0 R (HD.9252) 10353 0 R (HD.9253) 10354 0 R (HD.9254) 10355 0 R (HD.9255) 10356 0 R (HD.9256) 10357 0 R (HD.9257) 10358 0 R (HD.9258) 10359 0 R (HD.9259) 10360 0 R (HD.926) 1258 0 R (HD.9260) 10361 0 R (HD.9261) 10362 0 R (HD.9262) 10363 0 R (HD.9263) 10364 0 R (HD.9264) 10365 0 R (HD.9265) 10366 0 R (HD.9266) 10367 0 R (HD.9267) 10368 0 R (HD.9268) 10369 0 R (HD.9269) 10370 0 R (HD.927) 1263 0 R (HD.9270) 10371 0 R (HD.9271) 10372 0 R (HD.9272) 10373 0 R (HD.9273) 10374 0 R ] /Limits [ (HD.9245) (HD.9273) ] >>
+<< /Names [ (HD.8299) 9320 0 R (HD.83) 283 0 R (HD.830) 1158 0 R (HD.8300) 9321 0 R (HD.8301) 9322 0 R (HD.8302) 9327 0 R (HD.8303) 9328 0 R (HD.8304) 9329 0 R (HD.8305) 9330 0 R (HD.8306) 9331 0 R (HD.8307) 9332 0 R (HD.8308) 9333 0 R (HD.8309) 9334 0 R (HD.831) 1159 0 R (HD.8310) 9335 0 R (HD.8311) 9336 0 R (HD.8312) 9337 0 R (HD.8313) 9338 0 R (HD.8314) 9339 0 R (HD.8315) 9340 0 R (HD.8316) 9341 0 R (HD.8317) 9342 0 R (HD.8318) 9343 0 R (HD.8319) 9344 0 R (HD.832) 1160 0 R (HD.8320) 9345 0 R (HD.8321) 9346 0 R (HD.8322) 9347 0 R (HD.8323) 9348 0 R (HD.8324) 9349 0 R (HD.8325) 9350 0 R (HD.8326) 9351 0 R ] /Limits [ (HD.8299) (HD.8326) ] >>
endobj
12003 0 obj
-<< /Names [ (HD.9274) 10375 0 R (HD.9275) 10376 0 R (HD.9276) 10377 0 R (HD.9277) 10378 0 R (HD.9278) 10379 0 R (HD.9279) 10380 0 R (HD.928) 1264 0 R (HD.9280) 10381 0 R (HD.9281) 10386 0 R (HD.9282) 10387 0 R (HD.9283) 10388 0 R (HD.9284) 10389 0 R (HD.9285) 10390 0 R (HD.9286) 10391 0 R (HD.9287) 10392 0 R (HD.9288) 10393 0 R (HD.9289) 10394 0 R (HD.929) 1265 0 R (HD.9290) 10395 0 R (HD.9291) 10396 0 R (HD.9292) 10397 0 R (HD.9293) 10398 0 R (HD.9294) 10399 0 R (HD.9295) 10400 0 R (HD.9296) 10401 0 R (HD.9297) 10402 0 R (HD.9298) 10403 0 R (HD.9299) 10404 0 R (HD.93) 293 0 R (HD.930) 1266 0 R (HD.9300) 10405 0 R (HD.9301) 10406 0 R ] /Limits [ (HD.9274) (HD.9301) ] >>
+<< /Names [ (HD.8327) 9352 0 R (HD.8328) 9353 0 R (HD.8329) 9354 0 R (HD.833) 1161 0 R (HD.8330) 9355 0 R (HD.8331) 9356 0 R (HD.8332) 9357 0 R (HD.8333) 9358 0 R (HD.8334) 9359 0 R (HD.8335) 9360 0 R (HD.8336) 9361 0 R (HD.8337) 9362 0 R (HD.8338) 9363 0 R (HD.8339) 9364 0 R (HD.834) 1162 0 R (HD.8340) 9365 0 R (HD.8341) 9370 0 R (HD.8342) 9371 0 R (HD.8343) 9372 0 R (HD.8344) 9373 0 R (HD.8345) 9374 0 R (HD.8346) 9375 0 R (HD.8347) 9376 0 R (HD.8348) 9377 0 R (HD.8349) 9378 0 R (HD.835) 1163 0 R (HD.8350) 9379 0 R (HD.8351) 9380 0 R (HD.8352) 9381 0 R (HD.8353) 9382 0 R (HD.8354) 9383 0 R (HD.8355) 9384 0 R ] /Limits [ (HD.8327) (HD.8355) ] >>
endobj
12004 0 obj
-<< /Names [ (HD.9302) 10407 0 R (HD.9303) 10408 0 R (HD.9304) 10409 0 R (HD.9305) 10410 0 R (HD.9306) 10411 0 R (HD.9307) 10412 0 R (HD.9308) 10413 0 R (HD.9309) 10414 0 R (HD.931) 1267 0 R (HD.9310) 10415 0 R (HD.9311) 10416 0 R (HD.9312) 10417 0 R (HD.9313) 10418 0 R (HD.9314) 10419 0 R (HD.9315) 10420 0 R (HD.9316) 10421 0 R (HD.9317) 10422 0 R (HD.9318) 10423 0 R (HD.9319) 10424 0 R (HD.932) 1268 0 R (HD.9320) 10425 0 R (HD.9321) 10426 0 R (HD.9322) 10427 0 R (HD.9323) 10428 0 R (HD.9324) 10429 0 R (HD.9325) 10430 0 R (HD.9326) 10431 0 R (HD.9327) 10432 0 R (HD.9328) 10433 0 R (HD.9329) 10434 0 R (HD.933) 1269 0 R (HD.9330) 10435 0 R ] /Limits [ (HD.9302) (HD.9330) ] >>
+<< /Names [ (HD.8356) 9385 0 R (HD.8357) 9386 0 R (HD.8358) 9387 0 R (HD.8359) 9388 0 R (HD.836) 1164 0 R (HD.8360) 9389 0 R (HD.8361) 9390 0 R (HD.8362) 9391 0 R (HD.8363) 9392 0 R (HD.8364) 9393 0 R (HD.8365) 9394 0 R (HD.8366) 9395 0 R (HD.8367) 9396 0 R (HD.8368) 9397 0 R (HD.8369) 9398 0 R (HD.837) 1165 0 R (HD.8370) 9399 0 R (HD.8371) 9400 0 R (HD.8372) 9401 0 R (HD.8373) 9402 0 R (HD.8374) 9403 0 R (HD.8375) 9404 0 R (HD.8376) 9405 0 R (HD.8377) 9406 0 R (HD.8378) 9407 0 R (HD.8379) 9408 0 R (HD.838) 1166 0 R (HD.8380) 9409 0 R (HD.8381) 9410 0 R (HD.8382) 9411 0 R (HD.8383) 9412 0 R (HD.8384) 9413 0 R ] /Limits [ (HD.8356) (HD.8384) ] >>
endobj
12005 0 obj
-<< /Names [ (HD.9331) 10436 0 R (HD.9332) 10437 0 R (HD.9333) 10438 0 R (HD.9334) 10439 0 R (HD.9335) 10440 0 R (HD.9336) 10441 0 R (HD.9337) 10442 0 R (HD.9338) 10447 0 R (HD.9339) 10448 0 R (HD.934) 1270 0 R (HD.9340) 10449 0 R (HD.9341) 10450 0 R (HD.9342) 10451 0 R (HD.9343) 10452 0 R (HD.9344) 10453 0 R (HD.9345) 10454 0 R (HD.9346) 10455 0 R (HD.9347) 10456 0 R (HD.9348) 10457 0 R (HD.9349) 10458 0 R (HD.935) 1271 0 R (HD.9350) 10459 0 R (HD.9351) 10460 0 R (HD.9352) 10461 0 R (HD.9353) 10462 0 R (HD.9354) 10463 0 R (HD.9355) 10464 0 R (HD.9356) 10465 0 R (HD.9357) 10466 0 R (HD.9358) 10467 0 R (HD.9359) 10468 0 R (HD.936) 1272 0 R ] /Limits [ (HD.9331) (HD.936) ] >>
+<< /Names [ (HD.8385) 9420 0 R (HD.8386) 9421 0 R (HD.8387) 9422 0 R (HD.8388) 9423 0 R (HD.8389) 9424 0 R (HD.839) 1167 0 R (HD.8390) 9425 0 R (HD.8391) 9426 0 R (HD.8392) 9427 0 R (HD.8393) 9428 0 R (HD.8394) 9429 0 R (HD.8395) 9430 0 R (HD.8396) 9431 0 R (HD.8397) 9432 0 R (HD.8398) 9433 0 R (HD.8399) 9434 0 R (HD.84) 284 0 R (HD.840) 1168 0 R (HD.8400) 9435 0 R (HD.8401) 9436 0 R (HD.8402) 9437 0 R (HD.8403) 9438 0 R (HD.8404) 9439 0 R (HD.8405) 9440 0 R (HD.8406) 9441 0 R (HD.8407) 9442 0 R (HD.8408) 9443 0 R (HD.8409) 9444 0 R (HD.841) 1169 0 R (HD.8410) 9445 0 R (HD.8411) 9446 0 R (HD.8412) 9447 0 R ] /Limits [ (HD.8385) (HD.8412) ] >>
endobj
12006 0 obj
-<< /Names [ (HD.9360) 10469 0 R (HD.9361) 10470 0 R (HD.9362) 10471 0 R (HD.9363) 10472 0 R (HD.9364) 10473 0 R (HD.9365) 10474 0 R (HD.9366) 10475 0 R (HD.9367) 10476 0 R (HD.9368) 10477 0 R (HD.9369) 10478 0 R (HD.937) 1273 0 R (HD.9370) 10479 0 R (HD.9371) 10480 0 R (HD.9372) 10481 0 R (HD.9373) 10482 0 R (HD.9374) 10483 0 R (HD.9375) 10484 0 R (HD.9376) 10489 0 R (HD.9377) 10490 0 R (HD.9378) 10491 0 R (HD.9379) 10492 0 R (HD.938) 1274 0 R (HD.9380) 10493 0 R (HD.9381) 10494 0 R (HD.9382) 10495 0 R (HD.9383) 10496 0 R (HD.9384) 10497 0 R (HD.9385) 10498 0 R (HD.9386) 10499 0 R (HD.9387) 10500 0 R (HD.9388) 10501 0 R (HD.9389) 10502 0 R ] /Limits [ (HD.9360) (HD.9389) ] >>
+<< /Names [ (HD.8413) 9448 0 R (HD.8414) 9449 0 R (HD.8415) 9450 0 R (HD.8416) 9451 0 R (HD.8417) 9452 0 R (HD.8418) 9453 0 R (HD.8419) 9454 0 R (HD.842) 1170 0 R (HD.8420) 9455 0 R (HD.8421) 9456 0 R (HD.8422) 9462 0 R (HD.8423) 9463 0 R (HD.8424) 9464 0 R (HD.8425) 9465 0 R (HD.8426) 9466 0 R (HD.8427) 9467 0 R (HD.8428) 9468 0 R (HD.8429) 9469 0 R (HD.843) 1171 0 R (HD.8430) 9470 0 R (HD.8431) 9471 0 R (HD.8432) 9472 0 R (HD.8433) 9473 0 R (HD.8434) 9474 0 R (HD.8435) 9475 0 R (HD.8436) 9476 0 R (HD.8437) 9477 0 R (HD.8438) 9478 0 R (HD.8439) 9479 0 R (HD.844) 1172 0 R (HD.8440) 9480 0 R (HD.8441) 9481 0 R ] /Limits [ (HD.8413) (HD.8441) ] >>
endobj
12007 0 obj
-<< /Names [ (HD.939) 1275 0 R (HD.9390) 10503 0 R (HD.9391) 10504 0 R (HD.9392) 10505 0 R (HD.9393) 10506 0 R (HD.9394) 10507 0 R (HD.9395) 10508 0 R (HD.9396) 10509 0 R (HD.9397) 10510 0 R (HD.9398) 10511 0 R (HD.9399) 10512 0 R (HD.94) 294 0 R (HD.940) 1276 0 R (HD.9400) 10513 0 R (HD.9401) 10514 0 R (HD.9402) 10515 0 R (HD.9403) 10516 0 R (HD.9404) 10517 0 R (HD.9405) 10518 0 R (HD.9406) 10519 0 R (HD.9407) 10520 0 R (HD.9408) 10521 0 R (HD.9409) 10522 0 R (HD.941) 1277 0 R (HD.9410) 10523 0 R (HD.9411) 10524 0 R (HD.9412) 10525 0 R (HD.9413) 10526 0 R (HD.9414) 10527 0 R (HD.9415) 10528 0 R (HD.9416) 10529 0 R (HD.9417) 10530 0 R ] /Limits [ (HD.939) (HD.9417) ] >>
+<< /Names [ (HD.8442) 9482 0 R (HD.8443) 9483 0 R (HD.8444) 9484 0 R (HD.8445) 9485 0 R (HD.8446) 9486 0 R (HD.8447) 9487 0 R (HD.8448) 9488 0 R (HD.8449) 9489 0 R (HD.845) 1173 0 R (HD.8450) 9490 0 R (HD.8451) 9491 0 R (HD.8452) 9492 0 R (HD.8453) 9493 0 R (HD.8454) 9494 0 R (HD.8455) 9495 0 R (HD.8456) 9496 0 R (HD.8457) 9497 0 R (HD.8458) 9498 0 R (HD.8459) 9499 0 R (HD.846) 1174 0 R (HD.8460) 9500 0 R (HD.8461) 9501 0 R (HD.8462) 9506 0 R (HD.8463) 9507 0 R (HD.8464) 9508 0 R (HD.8465) 9509 0 R (HD.8466) 9510 0 R (HD.8467) 9511 0 R (HD.8468) 9512 0 R (HD.8469) 9513 0 R (HD.847) 1175 0 R (HD.8470) 9514 0 R ] /Limits [ (HD.8442) (HD.8470) ] >>
endobj
12008 0 obj
-<< /Names [ (HD.9418) 10531 0 R (HD.9419) 10532 0 R (HD.942) 1278 0 R (HD.9420) 10533 0 R (HD.9421) 10534 0 R (HD.9422) 10535 0 R (HD.9423) 10536 0 R (HD.9424) 10537 0 R (HD.9425) 10538 0 R (HD.9426) 10539 0 R (HD.9427) 10540 0 R (HD.9428) 10541 0 R (HD.9429) 10542 0 R (HD.943) 1279 0 R (HD.9430) 10543 0 R (HD.9431) 10544 0 R (HD.9432) 10550 0 R (HD.9433) 10551 0 R (HD.9434) 10552 0 R (HD.9435) 10553 0 R (HD.9436) 10554 0 R (HD.9437) 10555 0 R (HD.9438) 10556 0 R (HD.9439) 10557 0 R (HD.944) 1280 0 R (HD.9440) 10558 0 R (HD.9441) 10559 0 R (HD.9442) 10560 0 R (HD.9443) 10561 0 R (HD.9444) 10562 0 R (HD.9445) 10563 0 R (HD.9446) 10564 0 R ] /Limits [ (HD.9418) (HD.9446) ] >>
+<< /Names [ (HD.8471) 9515 0 R (HD.8472) 9516 0 R (HD.8473) 9517 0 R (HD.8474) 9518 0 R (HD.8475) 9519 0 R (HD.8476) 9520 0 R (HD.8477) 9521 0 R (HD.8478) 9522 0 R (HD.8479) 9523 0 R (HD.848) 1176 0 R (HD.8480) 9524 0 R (HD.8481) 9525 0 R (HD.8482) 9526 0 R (HD.8483) 9527 0 R (HD.8484) 9528 0 R (HD.8485) 9529 0 R (HD.8486) 9530 0 R (HD.8487) 9531 0 R (HD.8488) 9532 0 R (HD.8489) 9533 0 R (HD.849) 1177 0 R (HD.8490) 9534 0 R (HD.8491) 9535 0 R (HD.8492) 9536 0 R (HD.8493) 9537 0 R (HD.8494) 9538 0 R (HD.8495) 9539 0 R (HD.8496) 9540 0 R (HD.8497) 9541 0 R (HD.8498) 9542 0 R (HD.8499) 9543 0 R (HD.85) 285 0 R ] /Limits [ (HD.8471) (HD.85) ] >>
endobj
12009 0 obj
-<< /Names [ (HD.9447) 10565 0 R (HD.9448) 10566 0 R (HD.9449) 10567 0 R (HD.945) 1281 0 R (HD.9450) 10568 0 R (HD.9451) 10569 0 R (HD.9452) 10570 0 R (HD.9453) 10571 0 R (HD.9454) 10572 0 R (HD.9455) 10573 0 R (HD.9456) 10574 0 R (HD.9457) 10575 0 R (HD.9458) 10576 0 R (HD.9459) 10577 0 R (HD.946) 1282 0 R (HD.9460) 10578 0 R (HD.9461) 10579 0 R (HD.9462) 10580 0 R (HD.9463) 10581 0 R (HD.9464) 10582 0 R (HD.9465) 10583 0 R (HD.9466) 10584 0 R (HD.9467) 10585 0 R (HD.9468) 10586 0 R (HD.9469) 10587 0 R (HD.947) 1283 0 R (HD.9470) 10588 0 R (HD.9471) 10589 0 R (HD.9472) 10590 0 R (HD.9473) 10591 0 R (HD.9474) 10592 0 R (HD.9475) 10593 0 R ] /Limits [ (HD.9447) (HD.9475) ] >>
+<< /Names [ (HD.850) 1178 0 R (HD.8500) 9544 0 R (HD.8501) 9545 0 R (HD.8502) 9546 0 R (HD.8503) 9547 0 R (HD.8504) 9548 0 R (HD.8505) 9549 0 R (HD.8506) 9550 0 R (HD.8507) 9551 0 R (HD.8508) 9552 0 R (HD.8509) 9553 0 R (HD.851) 1179 0 R (HD.8510) 9554 0 R (HD.8511) 9555 0 R (HD.8512) 9556 0 R (HD.8513) 9557 0 R (HD.8514) 9558 0 R (HD.8515) 9559 0 R (HD.8516) 9564 0 R (HD.8517) 9565 0 R (HD.8518) 9566 0 R (HD.8519) 9567 0 R (HD.852) 1180 0 R (HD.8520) 9568 0 R (HD.8521) 9569 0 R (HD.8522) 9570 0 R (HD.8523) 9571 0 R (HD.8524) 9572 0 R (HD.8525) 9573 0 R (HD.8526) 9574 0 R (HD.8527) 9575 0 R (HD.8528) 9576 0 R ] /Limits [ (HD.850) (HD.8528) ] >>
endobj
12010 0 obj
-<< /Names [ (HD.9476) 10594 0 R (HD.9477) 10595 0 R (HD.9478) 10596 0 R (HD.9479) 10597 0 R (HD.948) 1284 0 R (HD.9480) 10598 0 R (HD.9481) 10599 0 R (HD.9482) 10600 0 R (HD.9483) 10601 0 R (HD.9484) 10602 0 R (HD.9485) 10603 0 R (HD.9486) 10604 0 R (HD.9487) 10605 0 R (HD.9488) 10606 0 R (HD.9489) 10607 0 R (HD.949) 1285 0 R (HD.9490) 10608 0 R (HD.9491) 10613 0 R (HD.9492) 10614 0 R (HD.9493) 10615 0 R (HD.9494) 10616 0 R (HD.9495) 10617 0 R (HD.9496) 10618 0 R (HD.9497) 10619 0 R (HD.9498) 10620 0 R (HD.9499) 10621 0 R (HD.95) 295 0 R (HD.950) 1286 0 R (HD.9500) 10622 0 R (HD.9501) 10623 0 R (HD.9502) 10624 0 R (HD.9503) 10625 0 R ] /Limits [ (HD.9476) (HD.9503) ] >>
+<< /Names [ (HD.8529) 9577 0 R (HD.853) 1181 0 R (HD.8530) 9578 0 R (HD.8531) 9579 0 R (HD.8532) 9580 0 R (HD.8533) 9581 0 R (HD.8534) 9582 0 R (HD.8535) 9583 0 R (HD.8536) 9584 0 R (HD.8537) 9585 0 R (HD.8538) 9586 0 R (HD.8539) 9587 0 R (HD.854) 1182 0 R (HD.8540) 9588 0 R (HD.8541) 9589 0 R (HD.8542) 9590 0 R (HD.8543) 9591 0 R (HD.8544) 9592 0 R (HD.8545) 9593 0 R (HD.8546) 9594 0 R (HD.8547) 9595 0 R (HD.8548) 9596 0 R (HD.8549) 9597 0 R (HD.855) 1183 0 R (HD.8550) 9598 0 R (HD.8551) 9599 0 R (HD.8552) 9600 0 R (HD.8553) 9601 0 R (HD.8554) 9602 0 R (HD.8555) 9603 0 R (HD.8556) 9604 0 R (HD.8557) 9605 0 R ] /Limits [ (HD.8529) (HD.8557) ] >>
endobj
12011 0 obj
-<< /Names [ (HD.9504) 10626 0 R (HD.9505) 10627 0 R (HD.9506) 10628 0 R (HD.9507) 10629 0 R (HD.9508) 10630 0 R (HD.9509) 10631 0 R (HD.951) 1287 0 R (HD.9510) 10632 0 R (HD.9511) 10633 0 R (HD.9512) 10634 0 R (HD.9513) 10635 0 R (HD.9514) 10636 0 R (HD.9515) 10637 0 R (HD.9516) 10638 0 R (HD.9517) 10639 0 R (HD.9518) 10640 0 R (HD.9519) 10641 0 R (HD.952) 1288 0 R (HD.9520) 10642 0 R (HD.9521) 10643 0 R (HD.9522) 10644 0 R (HD.9523) 10645 0 R (HD.9524) 10646 0 R (HD.9525) 10647 0 R (HD.9526) 10648 0 R (HD.9527) 10649 0 R (HD.9528) 10650 0 R (HD.9529) 10651 0 R (HD.953) 1289 0 R (HD.9530) 10652 0 R (HD.9531) 10653 0 R (HD.9532) 10654 0 R ] /Limits [ (HD.9504) (HD.9532) ] >>
+<< /Names [ (HD.8558) 9606 0 R (HD.8559) 9607 0 R (HD.856) 1184 0 R (HD.8560) 9608 0 R (HD.8561) 9609 0 R (HD.8562) 9610 0 R (HD.8563) 9611 0 R (HD.8564) 9612 0 R (HD.8565) 9613 0 R (HD.8566) 9614 0 R (HD.8567) 9615 0 R (HD.8568) 9616 0 R (HD.8569) 9617 0 R (HD.857) 1185 0 R (HD.8570) 9618 0 R (HD.8571) 9623 0 R (HD.8572) 9624 0 R (HD.8573) 9625 0 R (HD.8574) 9626 0 R (HD.8575) 9627 0 R (HD.8576) 9628 0 R (HD.8577) 9629 0 R (HD.8578) 9630 0 R (HD.8579) 9631 0 R (HD.858) 1186 0 R (HD.8580) 9632 0 R (HD.8581) 9633 0 R (HD.8582) 9634 0 R (HD.8583) 9635 0 R (HD.8584) 9636 0 R (HD.8585) 9637 0 R (HD.8586) 9638 0 R ] /Limits [ (HD.8558) (HD.8586) ] >>
endobj
12012 0 obj
-<< /Names [ (HD.9533) 10655 0 R (HD.9534) 10656 0 R (HD.9535) 10657 0 R (HD.9536) 10658 0 R (HD.9537) 10659 0 R (HD.9538) 10660 0 R (HD.9539) 10661 0 R (HD.954) 1290 0 R (HD.9540) 10662 0 R (HD.9541) 10663 0 R (HD.9542) 10664 0 R (HD.9543) 10665 0 R (HD.9544) 10666 0 R (HD.9545) 10667 0 R (HD.9546) 10668 0 R (HD.9547) 10669 0 R (HD.9548) 10670 0 R (HD.9549) 10671 0 R (HD.955) 1291 0 R (HD.9550) 10672 0 R (HD.9551) 10677 0 R (HD.9552) 10678 0 R (HD.9553) 10679 0 R (HD.9554) 10680 0 R (HD.9555) 10681 0 R (HD.9556) 10682 0 R (HD.9557) 10683 0 R (HD.9558) 10684 0 R (HD.9559) 10685 0 R (HD.956) 1292 0 R (HD.9560) 10686 0 R (HD.9561) 10687 0 R ] /Limits [ (HD.9533) (HD.9561) ] >>
+<< /Names [ (HD.8587) 9639 0 R (HD.8588) 9640 0 R (HD.8589) 9641 0 R (HD.859) 1187 0 R (HD.8590) 9642 0 R (HD.8591) 9643 0 R (HD.8592) 9644 0 R (HD.8593) 9645 0 R (HD.8594) 9646 0 R (HD.8595) 9647 0 R (HD.8596) 9648 0 R (HD.8597) 9649 0 R (HD.8598) 9650 0 R (HD.8599) 9651 0 R (HD.86) 286 0 R (HD.860) 1188 0 R (HD.8600) 9652 0 R (HD.8601) 9653 0 R (HD.8602) 9654 0 R (HD.8603) 9655 0 R (HD.8604) 9656 0 R (HD.8605) 9657 0 R (HD.8606) 9658 0 R (HD.8607) 9659 0 R (HD.8608) 9660 0 R (HD.8609) 9661 0 R (HD.861) 1189 0 R (HD.8610) 9662 0 R (HD.8611) 9663 0 R (HD.8612) 9664 0 R (HD.8613) 9665 0 R (HD.8614) 9666 0 R ] /Limits [ (HD.8587) (HD.8614) ] >>
endobj
12013 0 obj
-<< /Names [ (HD.9562) 10688 0 R (HD.9563) 10689 0 R (HD.9564) 10690 0 R (HD.9565) 10691 0 R (HD.9566) 10692 0 R (HD.9567) 10693 0 R (HD.9568) 10694 0 R (HD.9569) 10695 0 R (HD.957) 1293 0 R (HD.9570) 10696 0 R (HD.9571) 10697 0 R (HD.9572) 10698 0 R (HD.9573) 10699 0 R (HD.9574) 10700 0 R (HD.9575) 10701 0 R (HD.9576) 10702 0 R (HD.9577) 10703 0 R (HD.9578) 10704 0 R (HD.9579) 10705 0 R (HD.958) 1294 0 R (HD.9580) 10706 0 R (HD.9581) 10707 0 R (HD.9582) 10708 0 R (HD.9583) 10709 0 R (HD.9584) 10710 0 R (HD.9585) 10711 0 R (HD.9586) 10712 0 R (HD.9587) 10713 0 R (HD.9588) 10714 0 R (HD.9589) 10715 0 R (HD.959) 1295 0 R (HD.9590) 10716 0 R ] /Limits [ (HD.9562) (HD.9590) ] >>
+<< /Names [ (HD.8615) 9671 0 R (HD.8616) 9672 0 R (HD.8617) 9673 0 R (HD.8618) 9674 0 R (HD.8619) 9675 0 R (HD.862) 1190 0 R (HD.8620) 9676 0 R (HD.8621) 9677 0 R (HD.8622) 9678 0 R (HD.8623) 9679 0 R (HD.8624) 9680 0 R (HD.8625) 9681 0 R (HD.8626) 9682 0 R (HD.8627) 9683 0 R (HD.8628) 9684 0 R (HD.8629) 9685 0 R (HD.863) 1191 0 R (HD.8630) 9686 0 R (HD.8631) 9687 0 R (HD.8632) 9688 0 R (HD.8633) 9689 0 R (HD.8634) 9690 0 R (HD.8635) 9691 0 R (HD.8636) 9692 0 R (HD.8637) 9693 0 R (HD.8638) 9694 0 R (HD.8639) 9695 0 R (HD.864) 1192 0 R (HD.8640) 9696 0 R (HD.8641) 9697 0 R (HD.8642) 9698 0 R (HD.8643) 9699 0 R ] /Limits [ (HD.8615) (HD.8643) ] >>
endobj
12014 0 obj
-<< /Names [ (HD.9591) 10717 0 R (HD.9592) 10718 0 R (HD.9593) 10719 0 R (HD.9594) 10720 0 R (HD.9595) 10721 0 R (HD.9596) 10722 0 R (HD.9597) 10723 0 R (HD.9598) 10724 0 R (HD.9599) 10725 0 R (HD.96) 296 0 R (HD.960) 1296 0 R (HD.9600) 10726 0 R (HD.9601) 10727 0 R (HD.9602) 10728 0 R (HD.9603) 10729 0 R (HD.9604) 10730 0 R (HD.9605) 10731 0 R (HD.9606) 10732 0 R (HD.9607) 10733 0 R (HD.9608) 10734 0 R (HD.9609) 10735 0 R (HD.961) 1297 0 R (HD.9610) 10736 0 R (HD.9611) 10737 0 R (HD.9612) 10742 0 R (HD.9613) 10743 0 R (HD.9614) 10744 0 R (HD.9615) 10745 0 R (HD.9616) 10746 0 R (HD.9617) 10747 0 R (HD.9618) 10748 0 R (HD.9619) 10749 0 R ] /Limits [ (HD.9591) (HD.9619) ] >>
+<< /Names [ (HD.8644) 9700 0 R (HD.8645) 9701 0 R (HD.8646) 9702 0 R (HD.8647) 9703 0 R (HD.8648) 9704 0 R (HD.8649) 9705 0 R (HD.865) 1193 0 R (HD.8650) 9706 0 R (HD.8651) 9707 0 R (HD.8652) 9708 0 R (HD.8653) 9709 0 R (HD.8654) 9710 0 R (HD.8655) 9711 0 R (HD.8656) 9712 0 R (HD.8657) 9713 0 R (HD.8658) 9714 0 R (HD.8659) 9715 0 R (HD.866) 1194 0 R (HD.8660) 9716 0 R (HD.8661) 9717 0 R (HD.8662) 9718 0 R (HD.8663) 9719 0 R (HD.8664) 9720 0 R (HD.8665) 9721 0 R (HD.8666) 9722 0 R (HD.8667) 9723 0 R (HD.8668) 9724 0 R (HD.8669) 9725 0 R (HD.867) 1195 0 R (HD.8670) 9726 0 R (HD.8671) 9727 0 R (HD.8672) 9728 0 R ] /Limits [ (HD.8644) (HD.8672) ] >>
endobj
12015 0 obj
-<< /Names [ (HD.962) 1298 0 R (HD.9620) 10750 0 R (HD.9621) 10751 0 R (HD.9622) 10752 0 R (HD.9623) 10753 0 R (HD.9624) 10754 0 R (HD.9625) 10755 0 R (HD.9626) 10756 0 R (HD.9627) 10757 0 R (HD.9628) 10758 0 R (HD.9629) 10759 0 R (HD.963) 1299 0 R (HD.9630) 10760 0 R (HD.9631) 10761 0 R (HD.9632) 10762 0 R (HD.9633) 10763 0 R (HD.9634) 10764 0 R (HD.9635) 10765 0 R (HD.9636) 10766 0 R (HD.9637) 10767 0 R (HD.9638) 10768 0 R (HD.9639) 10769 0 R (HD.964) 1300 0 R (HD.9640) 10770 0 R (HD.9641) 10771 0 R (HD.9642) 10772 0 R (HD.9643) 10773 0 R (HD.9644) 10774 0 R (HD.9645) 10775 0 R (HD.9646) 10776 0 R (HD.9647) 10777 0 R (HD.9648) 10778 0 R ] /Limits [ (HD.962) (HD.9648) ] >>
+<< /Names [ (HD.8673) 9729 0 R (HD.8674) 9734 0 R (HD.8675) 9735 0 R (HD.8676) 9736 0 R (HD.8677) 9737 0 R (HD.8678) 9738 0 R (HD.8679) 9739 0 R (HD.868) 1196 0 R (HD.8680) 9740 0 R (HD.8681) 9741 0 R (HD.8682) 9742 0 R (HD.8683) 9743 0 R (HD.8684) 9744 0 R (HD.8685) 9745 0 R (HD.8686) 9746 0 R (HD.8687) 9747 0 R (HD.8688) 9748 0 R (HD.8689) 9749 0 R (HD.869) 1201 0 R (HD.8690) 9750 0 R (HD.8691) 9751 0 R (HD.8692) 9752 0 R (HD.8693) 9753 0 R (HD.8694) 9754 0 R (HD.8695) 9755 0 R (HD.8696) 9756 0 R (HD.8697) 9757 0 R (HD.8698) 9758 0 R (HD.8699) 9759 0 R (HD.87) 287 0 R (HD.870) 1202 0 R (HD.8700) 9760 0 R ] /Limits [ (HD.8673) (HD.8700) ] >>
endobj
12016 0 obj
-<< /Names [ (HD.9649) 10779 0 R (HD.965) 1301 0 R (HD.9650) 10780 0 R (HD.9651) 10781 0 R (HD.9652) 10782 0 R (HD.9653) 10783 0 R (HD.9654) 10784 0 R (HD.9655) 10785 0 R (HD.9656) 10786 0 R (HD.9657) 10787 0 R (HD.9658) 10788 0 R (HD.9659) 10789 0 R (HD.966) 1302 0 R (HD.9660) 10790 0 R (HD.9661) 10791 0 R (HD.9662) 10792 0 R (HD.9663) 10793 0 R (HD.9664) 10794 0 R (HD.9665) 10795 0 R (HD.9666) 10796 0 R (HD.9667) 10797 0 R (HD.9668) 10798 0 R (HD.9669) 10799 0 R (HD.967) 1303 0 R (HD.9670) 10800 0 R (HD.9671) 10801 0 R (HD.9672) 10806 0 R (HD.9673) 10807 0 R (HD.9674) 10808 0 R (HD.9675) 10809 0 R (HD.9676) 10810 0 R (HD.9677) 10811 0 R ] /Limits [ (HD.9649) (HD.9677) ] >>
+<< /Names [ (HD.8701) 9761 0 R (HD.8702) 9762 0 R (HD.8703) 9763 0 R (HD.8704) 9764 0 R (HD.8705) 9765 0 R (HD.8706) 9766 0 R (HD.8707) 9767 0 R (HD.8708) 9768 0 R (HD.8709) 9769 0 R (HD.871) 1203 0 R (HD.8710) 9770 0 R (HD.8711) 9771 0 R (HD.8712) 9772 0 R (HD.8713) 9773 0 R (HD.8714) 9774 0 R (HD.8715) 9775 0 R (HD.8716) 9776 0 R (HD.8717) 9777 0 R (HD.8718) 9778 0 R (HD.8719) 9779 0 R (HD.872) 1204 0 R (HD.8720) 9780 0 R (HD.8721) 9781 0 R (HD.8722) 9782 0 R (HD.8723) 9787 0 R (HD.8724) 9788 0 R (HD.8725) 9789 0 R (HD.8726) 9790 0 R (HD.8727) 9791 0 R (HD.8728) 9792 0 R (HD.8729) 9793 0 R (HD.873) 1205 0 R ] /Limits [ (HD.8701) (HD.873) ] >>
endobj
12017 0 obj
-<< /Names [ (HD.9678) 10812 0 R (HD.9679) 10813 0 R (HD.968) 1304 0 R (HD.9680) 10814 0 R (HD.9681) 10815 0 R (HD.9682) 10816 0 R (HD.9683) 10817 0 R (HD.9684) 10818 0 R (HD.9685) 10819 0 R (HD.9686) 10820 0 R (HD.9687) 10821 0 R (HD.9688) 10822 0 R (HD.9689) 10823 0 R (HD.969) 1305 0 R (HD.9690) 10824 0 R (HD.9691) 10825 0 R (HD.9692) 10826 0 R (HD.9693) 10827 0 R (HD.9694) 10828 0 R (HD.9695) 10829 0 R (HD.9696) 10830 0 R (HD.9697) 10831 0 R (HD.9698) 10832 0 R (HD.9699) 10833 0 R (HD.97) 297 0 R (HD.970) 1306 0 R (HD.9700) 10834 0 R (HD.9701) 10835 0 R (HD.9702) 10836 0 R (HD.9703) 10837 0 R (HD.9704) 10838 0 R (HD.9705) 10839 0 R ] /Limits [ (HD.9678) (HD.9705) ] >>
+<< /Names [ (HD.8730) 9794 0 R (HD.8731) 9795 0 R (HD.8732) 9796 0 R (HD.8733) 9797 0 R (HD.8734) 9798 0 R (HD.8735) 9799 0 R (HD.8736) 9800 0 R (HD.8737) 9801 0 R (HD.8738) 9802 0 R (HD.8739) 9803 0 R (HD.874) 1206 0 R (HD.8740) 9804 0 R (HD.8741) 9805 0 R (HD.8742) 9806 0 R (HD.8743) 9807 0 R (HD.8744) 9808 0 R (HD.8745) 9809 0 R (HD.8746) 9810 0 R (HD.8747) 9811 0 R (HD.8748) 9812 0 R (HD.8749) 9813 0 R (HD.875) 1207 0 R (HD.8750) 9814 0 R (HD.8751) 9815 0 R (HD.8752) 9816 0 R (HD.8753) 9817 0 R (HD.8754) 9818 0 R (HD.8755) 9819 0 R (HD.8756) 9820 0 R (HD.8757) 9821 0 R (HD.8758) 9822 0 R (HD.8759) 9823 0 R ] /Limits [ (HD.8730) (HD.8759) ] >>
endobj
12018 0 obj
-<< /Names [ (HD.9706) 10840 0 R (HD.9707) 10841 0 R (HD.9708) 10842 0 R (HD.9709) 10843 0 R (HD.971) 1307 0 R (HD.9710) 10844 0 R (HD.9711) 10845 0 R (HD.9712) 10846 0 R (HD.9713) 10847 0 R (HD.9714) 10848 0 R (HD.9715) 10849 0 R (HD.9716) 10850 0 R (HD.9717) 10851 0 R (HD.9718) 10852 0 R (HD.9719) 10853 0 R (HD.972) 1308 0 R (HD.9720) 10854 0 R (HD.9721) 10855 0 R (HD.9722) 10856 0 R (HD.9723) 10857 0 R (HD.9724) 10858 0 R (HD.9725) 10859 0 R (HD.9726) 10860 0 R (HD.9727) 10861 0 R (HD.9728) 10862 0 R (HD.9729) 10863 0 R (HD.973) 1309 0 R (HD.9730) 10864 0 R (HD.9731) 10865 0 R (HD.9732) 10870 0 R (HD.9733) 10871 0 R (HD.9734) 10872 0 R ] /Limits [ (HD.9706) (HD.9734) ] >>
+<< /Names [ (HD.876) 1208 0 R (HD.8760) 9824 0 R (HD.8761) 9825 0 R (HD.8762) 9826 0 R (HD.8763) 9827 0 R (HD.8764) 9828 0 R (HD.8765) 9829 0 R (HD.8766) 9830 0 R (HD.8767) 9831 0 R (HD.8768) 9832 0 R (HD.8769) 9833 0 R (HD.877) 1209 0 R (HD.8770) 9834 0 R (HD.8771) 9835 0 R (HD.8772) 9836 0 R (HD.8773) 9837 0 R (HD.8774) 9842 0 R (HD.8775) 9843 0 R (HD.8776) 9844 0 R (HD.8777) 9845 0 R (HD.8778) 9846 0 R (HD.8779) 9847 0 R (HD.878) 1210 0 R (HD.8780) 9848 0 R (HD.8781) 9849 0 R (HD.8782) 9850 0 R (HD.8783) 9851 0 R (HD.8784) 9852 0 R (HD.8785) 9853 0 R (HD.8786) 9854 0 R (HD.8787) 9855 0 R (HD.8788) 9856 0 R ] /Limits [ (HD.876) (HD.8788) ] >>
endobj
12019 0 obj
-<< /Names [ (HD.9735) 10873 0 R (HD.9736) 10874 0 R (HD.9737) 10875 0 R (HD.9738) 10876 0 R (HD.9739) 10877 0 R (HD.974) 1310 0 R (HD.9740) 10878 0 R (HD.9741) 10879 0 R (HD.9742) 10880 0 R (HD.9743) 10881 0 R (HD.9744) 10882 0 R (HD.9745) 10883 0 R (HD.9746) 10884 0 R (HD.9747) 10885 0 R (HD.9748) 10886 0 R (HD.9749) 10887 0 R (HD.975) 1311 0 R (HD.9750) 10888 0 R (HD.9751) 10889 0 R (HD.9752) 10890 0 R (HD.9753) 10891 0 R (HD.9754) 10892 0 R (HD.9755) 10893 0 R (HD.9756) 10894 0 R (HD.9757) 10895 0 R (HD.9758) 10896 0 R (HD.9759) 10897 0 R (HD.976) 1312 0 R (HD.9760) 10898 0 R (HD.9761) 10899 0 R (HD.9762) 10900 0 R (HD.9763) 10901 0 R ] /Limits [ (HD.9735) (HD.9763) ] >>
+<< /Names [ (HD.8789) 9857 0 R (HD.879) 1211 0 R (HD.8790) 9858 0 R (HD.8791) 9859 0 R (HD.8792) 9860 0 R (HD.8793) 9861 0 R (HD.8794) 9862 0 R (HD.8795) 9863 0 R (HD.8796) 9864 0 R (HD.8797) 9865 0 R (HD.8798) 9866 0 R (HD.8799) 9867 0 R (HD.88) 288 0 R (HD.880) 1212 0 R (HD.8800) 9868 0 R (HD.8801) 9869 0 R (HD.8802) 9870 0 R (HD.8803) 9871 0 R (HD.8804) 9872 0 R (HD.8805) 9873 0 R (HD.8806) 9874 0 R (HD.8807) 9875 0 R (HD.8808) 9876 0 R (HD.8809) 9881 0 R (HD.881) 1213 0 R (HD.8810) 9882 0 R (HD.8811) 9883 0 R (HD.8812) 9884 0 R (HD.8813) 9885 0 R (HD.8814) 9886 0 R (HD.8815) 9887 0 R (HD.8816) 9888 0 R ] /Limits [ (HD.8789) (HD.8816) ] >>
endobj
12020 0 obj
-<< /Names [ (HD.9764) 10902 0 R (HD.9765) 10903 0 R (HD.9766) 10904 0 R (HD.9767) 10905 0 R (HD.9768) 10906 0 R (HD.9769) 10907 0 R (HD.977) 1313 0 R (HD.9770) 10908 0 R (HD.9771) 10909 0 R (HD.9772) 10910 0 R (HD.9773) 10911 0 R (HD.9774) 10912 0 R (HD.9775) 10913 0 R (HD.9776) 10914 0 R (HD.9777) 10915 0 R (HD.9778) 10916 0 R (HD.9779) 10917 0 R (HD.978) 1314 0 R (HD.9780) 10918 0 R (HD.9781) 10919 0 R (HD.9782) 10920 0 R (HD.9783) 10921 0 R (HD.9784) 10922 0 R (HD.9785) 10923 0 R (HD.9786) 10924 0 R (HD.9787) 10925 0 R (HD.9788) 10926 0 R (HD.9789) 10927 0 R (HD.979) 1315 0 R (HD.9790) 10928 0 R (HD.9791) 10929 0 R (HD.9792) 10930 0 R ] /Limits [ (HD.9764) (HD.9792) ] >>
+<< /Names [ (HD.8817) 9889 0 R (HD.8818) 9890 0 R (HD.8819) 9891 0 R (HD.882) 1214 0 R (HD.8820) 9892 0 R (HD.8821) 9893 0 R (HD.8822) 9894 0 R (HD.8823) 9895 0 R (HD.8824) 9896 0 R (HD.8825) 9897 0 R (HD.8826) 9898 0 R (HD.8827) 9899 0 R (HD.8828) 9900 0 R (HD.8829) 9901 0 R (HD.883) 1215 0 R (HD.8830) 9902 0 R (HD.8831) 9903 0 R (HD.8832) 9904 0 R (HD.8833) 9905 0 R (HD.8834) 9906 0 R (HD.8835) 9907 0 R (HD.8836) 9908 0 R (HD.8837) 9909 0 R (HD.8838) 9910 0 R (HD.8839) 9911 0 R (HD.884) 1216 0 R (HD.8840) 9912 0 R (HD.8841) 9913 0 R (HD.8842) 9914 0 R (HD.8843) 9915 0 R (HD.8844) 9916 0 R (HD.8845) 9917 0 R ] /Limits [ (HD.8817) (HD.8845) ] >>
endobj
12021 0 obj
-<< /Names [ (HD.9793) 10935 0 R (HD.9794) 10936 0 R (HD.9795) 10937 0 R (HD.9796) 10938 0 R (HD.9797) 10939 0 R (HD.9798) 10940 0 R (HD.9799) 10941 0 R (HD.98) 298 0 R (HD.980) 1321 0 R (HD.9800) 10942 0 R (HD.9801) 10943 0 R (HD.9802) 10944 0 R (HD.9803) 10945 0 R (HD.9804) 10946 0 R (HD.9805) 10947 0 R (HD.9806) 10948 0 R (HD.9807) 10949 0 R (HD.9808) 10950 0 R (HD.9809) 10951 0 R (HD.981) 1322 0 R (HD.9810) 10952 0 R (HD.9811) 10953 0 R (HD.9812) 10954 0 R (HD.9813) 10955 0 R (HD.9814) 10956 0 R (HD.9815) 10957 0 R (HD.9816) 10958 0 R (HD.9817) 10959 0 R (HD.9818) 10960 0 R (HD.9819) 10961 0 R (HD.982) 1323 0 R (HD.9820) 10962 0 R ] /Limits [ (HD.9793) (HD.9820) ] >>
+<< /Names [ (HD.8846) 9918 0 R (HD.8847) 9919 0 R (HD.8848) 9920 0 R (HD.8849) 9921 0 R (HD.885) 1217 0 R (HD.8850) 9922 0 R (HD.8851) 9923 0 R (HD.8852) 9924 0 R (HD.8853) 9925 0 R (HD.8854) 9926 0 R (HD.8855) 9932 0 R (HD.8856) 9933 0 R (HD.8857) 9934 0 R (HD.8858) 9935 0 R (HD.8859) 9936 0 R (HD.886) 1218 0 R (HD.8860) 9937 0 R (HD.8861) 9938 0 R (HD.8862) 9939 0 R (HD.8863) 9940 0 R (HD.8864) 9941 0 R (HD.8865) 9942 0 R (HD.8866) 9943 0 R (HD.8867) 9944 0 R (HD.8868) 9945 0 R (HD.8869) 9946 0 R (HD.887) 1219 0 R (HD.8870) 9947 0 R (HD.8871) 9948 0 R (HD.8872) 9949 0 R (HD.8873) 9950 0 R (HD.8874) 9951 0 R ] /Limits [ (HD.8846) (HD.8874) ] >>
endobj
12022 0 obj
-<< /Names [ (HD.9821) 10963 0 R (HD.9822) 10964 0 R (HD.9823) 10965 0 R (HD.9824) 10966 0 R (HD.9825) 10967 0 R (HD.9826) 10968 0 R (HD.9827) 10969 0 R (HD.9828) 10970 0 R (HD.9829) 10971 0 R (HD.983) 1324 0 R (HD.9830) 10972 0 R (HD.9831) 10973 0 R (HD.9832) 10974 0 R (HD.9833) 10975 0 R (HD.9834) 10976 0 R (HD.9835) 10977 0 R (HD.9836) 10978 0 R (HD.9837) 10979 0 R (HD.9838) 10980 0 R (HD.9839) 10981 0 R (HD.984) 1325 0 R (HD.9840) 10982 0 R (HD.9841) 10983 0 R (HD.9842) 10984 0 R (HD.9843) 10985 0 R (HD.9844) 10986 0 R (HD.9845) 10987 0 R (HD.9846) 10988 0 R (HD.9847) 10989 0 R (HD.9848) 10990 0 R (HD.9849) 10991 0 R (HD.985) 1326 0 R ] /Limits [ (HD.9821) (HD.985) ] >>
+<< /Names [ (HD.8875) 9952 0 R (HD.8876) 9953 0 R (HD.8877) 9954 0 R (HD.8878) 9955 0 R (HD.8879) 9956 0 R (HD.888) 1220 0 R (HD.8880) 9957 0 R (HD.8881) 9958 0 R (HD.8882) 9959 0 R (HD.8883) 9960 0 R (HD.8884) 9961 0 R (HD.8885) 9962 0 R (HD.8886) 9963 0 R (HD.8887) 9964 0 R (HD.8888) 9965 0 R (HD.8889) 9966 0 R (HD.889) 1221 0 R (HD.8890) 9967 0 R (HD.8891) 9968 0 R (HD.8892) 9969 0 R (HD.8893) 9970 0 R (HD.8894) 9971 0 R (HD.8895) 9972 0 R (HD.8896) 9973 0 R (HD.8897) 9974 0 R (HD.8898) 9975 0 R (HD.8899) 9976 0 R (HD.89) 289 0 R (HD.890) 1222 0 R (HD.8900) 9977 0 R (HD.8901) 9978 0 R (HD.8902) 9979 0 R ] /Limits [ (HD.8875) (HD.8902) ] >>
endobj
12023 0 obj
-<< /Names [ (HD.9850) 10992 0 R (HD.9851) 10993 0 R (HD.9852) 10994 0 R (HD.9853) 10999 0 R (HD.9854) 11000 0 R (HD.9855) 11001 0 R (HD.9856) 11002 0 R (HD.9857) 11003 0 R (HD.9858) 11004 0 R (HD.9859) 11005 0 R (HD.986) 1327 0 R (HD.9860) 11006 0 R (HD.9861) 11007 0 R (HD.9862) 11008 0 R (HD.9863) 11009 0 R (HD.9864) 11010 0 R (HD.9865) 11011 0 R (HD.9866) 11012 0 R (HD.9867) 11013 0 R (HD.9868) 11014 0 R (HD.9869) 11015 0 R (HD.987) 1328 0 R (HD.9870) 11016 0 R (HD.9871) 11017 0 R (HD.9872) 11018 0 R (HD.9873) 11019 0 R (HD.9874) 11020 0 R (HD.9875) 11021 0 R (HD.9876) 11022 0 R (HD.9877) 11023 0 R (HD.9878) 11024 0 R (HD.9879) 11025 0 R ] /Limits [ (HD.9850) (HD.9879) ] >>
+<< /Names [ (HD.8903) 9980 0 R (HD.8904) 9985 0 R (HD.8905) 9986 0 R (HD.8906) 9987 0 R (HD.8907) 9988 0 R (HD.8908) 9989 0 R (HD.8909) 9990 0 R (HD.891) 1223 0 R (HD.8910) 9991 0 R (HD.8911) 9992 0 R (HD.8912) 9993 0 R (HD.8913) 9994 0 R (HD.8914) 9995 0 R (HD.8915) 9996 0 R (HD.8916) 9997 0 R (HD.8917) 9998 0 R (HD.8918) 9999 0 R (HD.8919) 10000 0 R (HD.892) 1224 0 R (HD.8920) 10001 0 R (HD.8921) 10002 0 R (HD.8922) 10003 0 R (HD.8923) 10004 0 R (HD.8924) 10005 0 R (HD.8925) 10006 0 R (HD.8926) 10007 0 R (HD.8927) 10008 0 R (HD.8928) 10009 0 R (HD.8929) 10010 0 R (HD.893) 1225 0 R (HD.8930) 10011 0 R (HD.8931) 10012 0 R ] /Limits [ (HD.8903) (HD.8931) ] >>
endobj
12024 0 obj
-<< /Names [ (HD.988) 1329 0 R (HD.9880) 11026 0 R (HD.9881) 11027 0 R (HD.9882) 11028 0 R (HD.9883) 11029 0 R (HD.9884) 11030 0 R (HD.9885) 11031 0 R (HD.9886) 11032 0 R (HD.9887) 11033 0 R (HD.9888) 11034 0 R (HD.9889) 11035 0 R (HD.989) 1330 0 R (HD.9890) 11036 0 R (HD.9891) 11037 0 R (HD.9892) 11038 0 R (HD.9893) 11039 0 R (HD.9894) 11040 0 R (HD.9895) 11041 0 R (HD.9896) 11042 0 R (HD.9897) 11043 0 R (HD.9898) 11044 0 R (HD.9899) 11045 0 R (HD.99) 299 0 R (HD.990) 1331 0 R (HD.9900) 11046 0 R (HD.9901) 11047 0 R (HD.9902) 11048 0 R (HD.9903) 11049 0 R (HD.9904) 11050 0 R (HD.9905) 11051 0 R (HD.9906) 11052 0 R (HD.9907) 11053 0 R ] /Limits [ (HD.988) (HD.9907) ] >>
+<< /Names [ (HD.8932) 10013 0 R (HD.8933) 10014 0 R (HD.8934) 10015 0 R (HD.8935) 10016 0 R (HD.8936) 10017 0 R (HD.8937) 10018 0 R (HD.8938) 10019 0 R (HD.8939) 10020 0 R (HD.894) 1226 0 R (HD.8940) 10021 0 R (HD.8941) 10022 0 R (HD.8942) 10023 0 R (HD.8943) 10024 0 R (HD.8944) 10025 0 R (HD.8945) 10026 0 R (HD.8946) 10027 0 R (HD.8947) 10028 0 R (HD.8948) 10029 0 R (HD.8949) 10030 0 R (HD.895) 1227 0 R (HD.8950) 10031 0 R (HD.8951) 10032 0 R (HD.8952) 10033 0 R (HD.8953) 10034 0 R (HD.8954) 10035 0 R (HD.8955) 10036 0 R (HD.8956) 10037 0 R (HD.8957) 10038 0 R (HD.8958) 10039 0 R (HD.8959) 10040 0 R (HD.896) 1228 0 R (HD.8960) 10041 0 R ] /Limits [ (HD.8932) (HD.8960) ] >>
endobj
12025 0 obj
-<< /Names [ (HD.9908) 11054 0 R (HD.9909) 11055 0 R (HD.991) 1332 0 R (HD.9910) 11056 0 R (HD.9911) 11057 0 R (HD.9912) 11058 0 R (HD.9913) 11063 0 R (HD.9914) 11064 0 R (HD.9915) 11065 0 R (HD.9916) 11066 0 R (HD.9917) 11067 0 R (HD.9918) 11068 0 R (HD.9919) 11069 0 R (HD.992) 1333 0 R (HD.9920) 11070 0 R (HD.9921) 11071 0 R (HD.9922) 11072 0 R (HD.9923) 11073 0 R (HD.9924) 11074 0 R (HD.9925) 11075 0 R (HD.9926) 11076 0 R (HD.9927) 11077 0 R (HD.9928) 11078 0 R (HD.9929) 11079 0 R (HD.993) 1334 0 R (HD.9930) 11080 0 R (HD.9931) 11081 0 R (HD.9932) 11082 0 R (HD.9933) 11083 0 R (HD.9934) 11084 0 R (HD.9935) 11085 0 R (HD.9936) 11086 0 R ] /Limits [ (HD.9908) (HD.9936) ] >>
+<< /Names [ (HD.8961) 10042 0 R (HD.8962) 10047 0 R (HD.8963) 10048 0 R (HD.8964) 10049 0 R (HD.8965) 10050 0 R (HD.8966) 10051 0 R (HD.8967) 10052 0 R (HD.8968) 10053 0 R (HD.8969) 10054 0 R (HD.897) 1229 0 R (HD.8970) 10055 0 R (HD.8971) 10056 0 R (HD.8972) 10057 0 R (HD.8973) 10058 0 R (HD.8974) 10059 0 R (HD.8975) 10060 0 R (HD.8976) 10061 0 R (HD.8977) 10062 0 R (HD.8978) 10063 0 R (HD.8979) 10064 0 R (HD.898) 1230 0 R (HD.8980) 10065 0 R (HD.8981) 10066 0 R (HD.8982) 10067 0 R (HD.8983) 10068 0 R (HD.8984) 10069 0 R (HD.8985) 10070 0 R (HD.8986) 10071 0 R (HD.8987) 10072 0 R (HD.8988) 10073 0 R (HD.8989) 10074 0 R (HD.899) 1231 0 R ] /Limits [ (HD.8961) (HD.899) ] >>
endobj
12026 0 obj
-<< /Names [ (HD.9937) 11087 0 R (HD.9938) 11088 0 R (HD.9939) 11089 0 R (HD.994) 1335 0 R (HD.9940) 11090 0 R (HD.9941) 11091 0 R (HD.9942) 11092 0 R (HD.9943) 11093 0 R (HD.9944) 11094 0 R (HD.9945) 11095 0 R (HD.9946) 11096 0 R (HD.9947) 11097 0 R (HD.9948) 11098 0 R (HD.9949) 11099 0 R (HD.995) 1336 0 R (HD.9950) 11100 0 R (HD.9951) 11101 0 R (HD.9952) 11102 0 R (HD.9953) 11103 0 R (HD.9954) 11104 0 R (HD.9955) 11105 0 R (HD.9956) 11106 0 R (HD.9957) 11107 0 R (HD.9958) 11108 0 R (HD.9959) 11109 0 R (HD.996) 1337 0 R (HD.9960) 11110 0 R (HD.9961) 11111 0 R (HD.9962) 11112 0 R (HD.9963) 11113 0 R (HD.9964) 11114 0 R (HD.9965) 11115 0 R ] /Limits [ (HD.9937) (HD.9965) ] >>
+<< /Names [ (HD.8990) 10075 0 R (HD.8991) 10076 0 R (HD.8992) 10077 0 R (HD.8993) 10078 0 R (HD.8994) 10079 0 R (HD.8995) 10080 0 R (HD.8996) 10081 0 R (HD.8997) 10082 0 R (HD.8998) 10083 0 R (HD.8999) 10084 0 R (HD.9) 197 0 R (HD.90) 290 0 R (HD.900) 1232 0 R (HD.9000) 10085 0 R (HD.9001) 10086 0 R (HD.9002) 10087 0 R (HD.9003) 10088 0 R (HD.9004) 10089 0 R (HD.9005) 10090 0 R (HD.9006) 10091 0 R (HD.9007) 10092 0 R (HD.9008) 10093 0 R (HD.9009) 10094 0 R (HD.901) 1233 0 R (HD.9010) 10095 0 R (HD.9011) 10096 0 R (HD.9012) 10097 0 R (HD.9013) 10098 0 R (HD.9014) 10099 0 R (HD.9015) 10100 0 R (HD.9016) 10101 0 R (HD.9017) 10102 0 R ] /Limits [ (HD.8990) (HD.9017) ] >>
endobj
12027 0 obj
-<< /Names [ (HD.9966) 11116 0 R (HD.9967) 11117 0 R (HD.9968) 11118 0 R (HD.9969) 11119 0 R (HD.997) 1338 0 R (HD.9970) 11120 0 R (HD.9971) 11121 0 R (HD.9972) 11122 0 R (HD.9973) 11127 0 R (HD.9974) 11128 0 R (HD.9975) 11129 0 R (HD.9976) 11130 0 R (HD.9977) 11131 0 R (HD.9978) 11132 0 R (HD.9979) 11133 0 R (HD.998) 1339 0 R (HD.9980) 11134 0 R (HD.9981) 11135 0 R (HD.9982) 11136 0 R (HD.9983) 11137 0 R (HD.9984) 11138 0 R (HD.9985) 11139 0 R (HD.9986) 11140 0 R (HD.9987) 11141 0 R (HD.9988) 11142 0 R (HD.9989) 11143 0 R (HD.999) 1340 0 R (HD.9990) 11144 0 R (HD.9991) 11145 0 R (HD.9992) 11146 0 R (HD.9993) 11147 0 R (HD.9994) 11148 0 R ] /Limits [ (HD.9966) (HD.9994) ] >>
+<< /Names [ (HD.9018) 10103 0 R (HD.9019) 10104 0 R (HD.902) 1234 0 R (HD.9020) 10105 0 R (HD.9021) 10110 0 R (HD.9022) 10111 0 R (HD.9023) 10112 0 R (HD.9024) 10113 0 R (HD.9025) 10114 0 R (HD.9026) 10115 0 R (HD.9027) 10116 0 R (HD.9028) 10117 0 R (HD.9029) 10118 0 R (HD.903) 1235 0 R (HD.9030) 10119 0 R (HD.9031) 10120 0 R (HD.9032) 10121 0 R (HD.9033) 10122 0 R (HD.9034) 10123 0 R (HD.9035) 10124 0 R (HD.9036) 10125 0 R (HD.9037) 10126 0 R (HD.9038) 10127 0 R (HD.9039) 10128 0 R (HD.904) 1236 0 R (HD.9040) 10129 0 R (HD.9041) 10130 0 R (HD.9042) 10131 0 R (HD.9043) 10132 0 R (HD.9044) 10133 0 R (HD.9045) 10134 0 R (HD.9046) 10135 0 R ] /Limits [ (HD.9018) (HD.9046) ] >>
endobj
12028 0 obj
-<< /Names [ (HD.9995) 11149 0 R (HD.9996) 11150 0 R (HD.9997) 11151 0 R (HD.9998) 11152 0 R (HD.9999) 11153 0 R (Hfootnote.1) 481 0 R (Hfootnote.10) 2758 0 R (Hfootnote.11) 4557 0 R (Hfootnote.12) 4649 0 R (Hfootnote.13) 6051 0 R (Hfootnote.14) 7881 0 R (Hfootnote.2) 767 0 R (Hfootnote.3) 826 0 R (Hfootnote.4) 1960 0 R (Hfootnote.5) 1961 0 R (Hfootnote.6) 2364 0 R (Hfootnote.7) 2406 0 R (Hfootnote.8) 2508 0 R (Hfootnote.9) 2561 0 R (page.1) 172 0 R (page.10) 566 0 R (page.100) 4706 0 R (page.101) 4746 0 R (page.102) 4789 0 R (page.103) 4842 0 R (page.104) 4905 0 R (page.105) 4951 0 R (page.106) 5015 0 R (page.107) 5058 0 R (page.108) 5108 0 R (page.109) 5162 0 R (page.11) 586 0 R ] /Limits [ (HD.9995) (page.11) ] >>
+<< /Names [ (HD.9047) 10136 0 R (HD.9048) 10137 0 R (HD.9049) 10138 0 R (HD.905) 1237 0 R (HD.9050) 10139 0 R (HD.9051) 10140 0 R (HD.9052) 10141 0 R (HD.9053) 10142 0 R (HD.9054) 10143 0 R (HD.9055) 10144 0 R (HD.9056) 10145 0 R (HD.9057) 10146 0 R (HD.9058) 10147 0 R (HD.9059) 10148 0 R (HD.906) 1238 0 R (HD.9060) 10149 0 R (HD.9061) 10150 0 R (HD.9062) 10151 0 R (HD.9063) 10152 0 R (HD.9064) 10153 0 R (HD.9065) 10154 0 R (HD.9066) 10155 0 R (HD.9067) 10156 0 R (HD.9068) 10157 0 R (HD.9069) 10158 0 R (HD.907) 1239 0 R (HD.9070) 10159 0 R (HD.9071) 10160 0 R (HD.9072) 10161 0 R (HD.9073) 10162 0 R (HD.9074) 10163 0 R (HD.9075) 10164 0 R ] /Limits [ (HD.9047) (HD.9075) ] >>
endobj
12029 0 obj
-<< /Names [ (page.110) 5219 0 R (page.111) 5266 0 R (page.112) 5313 0 R (page.113) 5358 0 R (page.114) 5405 0 R (page.115) 5444 0 R (page.116) 5495 0 R (page.117) 5551 0 R (page.118) 5609 0 R (page.119) 5675 0 R (page.12) 607 0 R (page.120) 5724 0 R (page.121) 5788 0 R (page.122) 5839 0 R (page.123) 5896 0 R (page.124) 5957 0 R (page.125) 6020 0 R (page.126) 6056 0 R (page.127) 6110 0 R (page.128) 6147 0 R (page.129) 6199 0 R (page.13) 634 0 R (page.130) 6242 0 R (page.131) 6278 0 R (page.132) 6336 0 R (page.133) 6384 0 R (page.134) 6436 0 R (page.135) 6479 0 R (page.136) 6531 0 R (page.137) 6578 0 R (page.138) 6640 0 R (page.139) 6690 0 R ] /Limits [ (page.110) (page.139) ] >>
+<< /Names [ (HD.9076) 10165 0 R (HD.9077) 10170 0 R (HD.9078) 10171 0 R (HD.9079) 10172 0 R (HD.908) 1240 0 R (HD.9080) 10173 0 R (HD.9081) 10174 0 R (HD.9082) 10175 0 R (HD.9083) 10176 0 R (HD.9084) 10177 0 R (HD.9085) 10178 0 R (HD.9086) 10179 0 R (HD.9087) 10180 0 R (HD.9088) 10181 0 R (HD.9089) 10182 0 R (HD.909) 1241 0 R (HD.9090) 10183 0 R (HD.9091) 10184 0 R (HD.9092) 10185 0 R (HD.9093) 10186 0 R (HD.9094) 10187 0 R (HD.9095) 10188 0 R (HD.9096) 10189 0 R (HD.9097) 10190 0 R (HD.9098) 10191 0 R (HD.9099) 10192 0 R (HD.91) 291 0 R (HD.910) 1242 0 R (HD.9100) 10193 0 R (HD.9101) 10194 0 R (HD.9102) 10195 0 R (HD.9103) 10196 0 R ] /Limits [ (HD.9076) (HD.9103) ] >>
endobj
12030 0 obj
-<< /Names [ (page.14) 658 0 R (page.140) 6741 0 R (page.141) 6780 0 R (page.142) 6824 0 R (page.143) 6858 0 R (page.144) 6901 0 R (page.145) 6956 0 R (page.146) 7019 0 R (page.147) 7075 0 R (page.148) 7122 0 R (page.149) 7181 0 R (page.15) 681 0 R (page.150) 7237 0 R (page.151) 7287 0 R (page.152) 7342 0 R (page.153) 7392 0 R (page.154) 7443 0 R (page.155) 7490 0 R (page.156) 7548 0 R (page.157) 7599 0 R (page.158) 7642 0 R (page.159) 7700 0 R (page.16) 701 0 R (page.160) 7749 0 R (page.161) 7783 0 R (page.162) 7836 0 R (page.163) 7886 0 R (page.164) 7937 0 R (page.165) 7985 0 R (page.166) 8040 0 R (page.167) 8081 0 R (page.168) 8120 0 R ] /Limits [ (page.14) (page.168) ] >>
+<< /Names [ (HD.9104) 10197 0 R (HD.9105) 10198 0 R (HD.9106) 10199 0 R (HD.9107) 10200 0 R (HD.9108) 10201 0 R (HD.9109) 10202 0 R (HD.911) 1243 0 R (HD.9110) 10203 0 R (HD.9111) 10204 0 R (HD.9112) 10205 0 R (HD.9113) 10206 0 R (HD.9114) 10207 0 R (HD.9115) 10208 0 R (HD.9116) 10209 0 R (HD.9117) 10210 0 R (HD.9118) 10211 0 R (HD.9119) 10212 0 R (HD.912) 1244 0 R (HD.9120) 10213 0 R (HD.9121) 10214 0 R (HD.9122) 10215 0 R (HD.9123) 10216 0 R (HD.9124) 10217 0 R (HD.9125) 10218 0 R (HD.9126) 10219 0 R (HD.9127) 10220 0 R (HD.9128) 10221 0 R (HD.9129) 10222 0 R (HD.913) 1245 0 R (HD.9130) 10223 0 R (HD.9131) 10224 0 R (HD.9132) 10225 0 R ] /Limits [ (HD.9104) (HD.9132) ] >>
endobj
12031 0 obj
-<< /Names [ (page.169) 8160 0 R (page.17) 728 0 R (page.170) 8209 0 R (page.171) 8268 0 R (page.172) 8318 0 R (page.173) 8378 0 R (page.174) 8440 0 R (page.175) 8492 0 R (page.176) 8546 0 R (page.177) 8611 0 R (page.178) 8651 0 R (page.179) 8704 0 R (page.18) 756 0 R (page.180) 8768 0 R (page.181) 8834 0 R (page.182) 8890 0 R (page.183) 8953 0 R (page.184) 9011 0 R (page.185) 9072 0 R (page.186) 9134 0 R (page.187) 9192 0 R (page.188) 9245 0 R (page.189) 9300 0 R (page.19) 775 0 R (page.190) 9343 0 R (page.191) 9392 0 R (page.192) 9429 0 R (page.193) 9473 0 R (page.194) 9531 0 R (page.195) 9590 0 R (page.196) 9638 0 R (page.197) 9701 0 R ] /Limits [ (page.169) (page.197) ] >>
+<< /Names [ (HD.9133) 10226 0 R (HD.9134) 10227 0 R (HD.9135) 10228 0 R (HD.9136) 10229 0 R (HD.9137) 10230 0 R (HD.9138) 10235 0 R (HD.9139) 10236 0 R (HD.914) 1246 0 R (HD.9140) 10237 0 R (HD.9141) 10238 0 R (HD.9142) 10239 0 R (HD.9143) 10240 0 R (HD.9144) 10241 0 R (HD.9145) 10242 0 R (HD.9146) 10243 0 R (HD.9147) 10244 0 R (HD.9148) 10245 0 R (HD.9149) 10246 0 R (HD.915) 1247 0 R (HD.9150) 10247 0 R (HD.9151) 10248 0 R (HD.9152) 10249 0 R (HD.9153) 10250 0 R (HD.9154) 10251 0 R (HD.9155) 10252 0 R (HD.9156) 10253 0 R (HD.9157) 10254 0 R (HD.9158) 10255 0 R (HD.9159) 10256 0 R (HD.916) 1248 0 R (HD.9160) 10257 0 R (HD.9161) 10258 0 R ] /Limits [ (HD.9133) (HD.9161) ] >>
endobj
12032 0 obj
-<< /Names [ (page.198) 9754 0 R (page.199) 9809 0 R (page.2) 210 0 R (page.20) 810 0 R (page.200) 9848 0 R (page.201) 9898 0 R (page.202) 9952 0 R (page.203) 10014 0 R (page.204) 10077 0 R (page.205) 10137 0 R (page.206) 10202 0 R (page.207) 10265 0 R (page.208) 10332 0 R (page.209) 10385 0 R (page.21) 831 0 R (page.210) 10446 0 R (page.211) 10488 0 R (page.212) 10549 0 R (page.213) 10612 0 R (page.214) 10676 0 R (page.215) 10741 0 R (page.216) 10805 0 R (page.217) 10869 0 R (page.218) 10934 0 R (page.219) 10998 0 R (page.22) 875 0 R (page.220) 11062 0 R (page.221) 11126 0 R (page.222) 11193 0 R (page.223) 11260 0 R (page.224) 11325 0 R (page.225) 11390 0 R ] /Limits [ (page.198) (page.225) ] >>
+<< /Names [ (HD.9162) 10259 0 R (HD.9163) 10260 0 R (HD.9164) 10261 0 R (HD.9165) 10262 0 R (HD.9166) 10263 0 R (HD.9167) 10264 0 R (HD.9168) 10265 0 R (HD.9169) 10266 0 R (HD.917) 1249 0 R (HD.9170) 10267 0 R (HD.9171) 10268 0 R (HD.9172) 10269 0 R (HD.9173) 10270 0 R (HD.9174) 10271 0 R (HD.9175) 10272 0 R (HD.9176) 10273 0 R (HD.9177) 10274 0 R (HD.9178) 10275 0 R (HD.9179) 10276 0 R (HD.918) 1250 0 R (HD.9180) 10277 0 R (HD.9181) 10278 0 R (HD.9182) 10279 0 R (HD.9183) 10280 0 R (HD.9184) 10281 0 R (HD.9185) 10282 0 R (HD.9186) 10283 0 R (HD.9187) 10284 0 R (HD.9188) 10285 0 R (HD.9189) 10286 0 R (HD.919) 1251 0 R (HD.9190) 10287 0 R ] /Limits [ (HD.9162) (HD.9190) ] >>
endobj
12033 0 obj
-<< /Names [ (page.226) 11457 0 R (page.227) 11524 0 R (page.228) 11586 0 R (page.229) 11600 0 R (page.23) 923 0 R (page.24) 967 0 R (page.25) 1012 0 R (page.26) 1057 0 R (page.27) 1085 0 R (page.28) 1106 0 R (page.29) 1146 0 R (page.3) 257 0 R (page.30) 1200 0 R (page.31) 1262 0 R (page.32) 1320 0 R (page.33) 1383 0 R (page.34) 1442 0 R (page.35) 1488 0 R (page.36) 1543 0 R (page.37) 1571 0 R (page.38) 1620 0 R (page.39) 1683 0 R (page.4) 304 0 R (page.40) 1717 0 R (page.41) 1770 0 R (page.42) 1814 0 R (page.43) 1859 0 R (page.44) 1916 0 R (page.45) 1966 0 R (page.46) 2009 0 R (page.47) 2064 0 R (page.48) 2101 0 R ] /Limits [ (page.226) (page.48) ] >>
+<< /Names [ (HD.9191) 10288 0 R (HD.9192) 10289 0 R (HD.9193) 10290 0 R (HD.9194) 10291 0 R (HD.9195) 10292 0 R (HD.9196) 10293 0 R (HD.9197) 10298 0 R (HD.9198) 10299 0 R (HD.9199) 10300 0 R (HD.92) 292 0 R (HD.920) 1252 0 R (HD.9200) 10301 0 R (HD.9201) 10302 0 R (HD.9202) 10303 0 R (HD.9203) 10304 0 R (HD.9204) 10305 0 R (HD.9205) 10306 0 R (HD.9206) 10307 0 R (HD.9207) 10308 0 R (HD.9208) 10309 0 R (HD.9209) 10310 0 R (HD.921) 1253 0 R (HD.9210) 10311 0 R (HD.9211) 10312 0 R (HD.9212) 10313 0 R (HD.9213) 10314 0 R (HD.9214) 10315 0 R (HD.9215) 10316 0 R (HD.9216) 10317 0 R (HD.9217) 10318 0 R (HD.9218) 10319 0 R (HD.9219) 10320 0 R ] /Limits [ (HD.9191) (HD.9219) ] >>
endobj
12034 0 obj
-<< /Names [ (page.49) 2134 0 R (page.5) 343 0 R (page.50) 2172 0 R (page.51) 2215 0 R (page.52) 2258 0 R (page.53) 2315 0 R (page.54) 2370 0 R (page.55) 2411 0 R (page.56) 2459 0 R (page.57) 2515 0 R (page.58) 2567 0 R (page.59) 2609 0 R (page.6) 387 0 R (page.60) 2658 0 R (page.61) 2707 0 R (page.62) 2764 0 R (page.63) 2819 0 R (page.64) 2879 0 R (page.65) 2931 0 R (page.66) 2969 0 R (page.67) 3019 0 R (page.68) 3070 0 R (page.69) 3125 0 R (page.7) 433 0 R (page.70) 3182 0 R (page.71) 3242 0 R (page.72) 3302 0 R (page.73) 3337 0 R (page.74) 3384 0 R (page.75) 3429 0 R (page.76) 3485 0 R (page.77) 3541 0 R ] /Limits [ (page.49) (page.77) ] >>
+<< /Names [ (HD.922) 1254 0 R (HD.9220) 10321 0 R (HD.9221) 10322 0 R (HD.9222) 10323 0 R (HD.9223) 10324 0 R (HD.9224) 10325 0 R (HD.9225) 10326 0 R (HD.9226) 10327 0 R (HD.9227) 10328 0 R (HD.9228) 10329 0 R (HD.9229) 10330 0 R (HD.923) 1255 0 R (HD.9230) 10331 0 R (HD.9231) 10332 0 R (HD.9232) 10333 0 R (HD.9233) 10334 0 R (HD.9234) 10335 0 R (HD.9235) 10336 0 R (HD.9236) 10337 0 R (HD.9237) 10338 0 R (HD.9238) 10339 0 R (HD.9239) 10340 0 R (HD.924) 1256 0 R (HD.9240) 10341 0 R (HD.9241) 10342 0 R (HD.9242) 10343 0 R (HD.9243) 10344 0 R (HD.9244) 10345 0 R (HD.9245) 10346 0 R (HD.9246) 10347 0 R (HD.9247) 10348 0 R (HD.9248) 10349 0 R ] /Limits [ (HD.922) (HD.9248) ] >>
endobj
12035 0 obj
-<< /Names [ (page.78) 3594 0 R (page.79) 3639 0 R (page.8) 486 0 R (page.80) 3680 0 R (page.81) 3736 0 R (page.82) 3787 0 R (page.83) 3847 0 R (page.84) 3884 0 R (page.85) 3924 0 R (page.86) 3975 0 R (page.87) 4035 0 R (page.88) 4092 0 R (page.89) 4154 0 R (page.9) 534 0 R (page.90) 4203 0 R (page.91) 4255 0 R (page.92) 4305 0 R (page.93) 4360 0 R (page.94) 4424 0 R (page.95) 4463 0 R (page.96) 4523 0 R (page.97) 4562 0 R (page.98) 4608 0 R (page.99) 4654 0 R (section.0.1) 5 0 R (section.0.10) 41 0 R (section.0.11) 45 0 R (section.0.12) 49 0 R (section.0.13) 53 0 R (section.0.14) 57 0 R (section.0.15) 61 0 R (section.0.16) 65 0 R ] /Limits [ (page.78) (section.0.16) ] >>
+<< /Names [ (HD.9249) 10350 0 R (HD.925) 1257 0 R (HD.9250) 10351 0 R (HD.9251) 10352 0 R (HD.9252) 10353 0 R (HD.9253) 10354 0 R (HD.9254) 10355 0 R (HD.9255) 10356 0 R (HD.9256) 10357 0 R (HD.9257) 10358 0 R (HD.9258) 10359 0 R (HD.9259) 10360 0 R (HD.926) 1258 0 R (HD.9260) 10365 0 R (HD.9261) 10366 0 R (HD.9262) 10367 0 R (HD.9263) 10368 0 R (HD.9264) 10369 0 R (HD.9265) 10370 0 R (HD.9266) 10371 0 R (HD.9267) 10372 0 R (HD.9268) 10373 0 R (HD.9269) 10374 0 R (HD.927) 1263 0 R (HD.9270) 10375 0 R (HD.9271) 10376 0 R (HD.9272) 10377 0 R (HD.9273) 10378 0 R (HD.9274) 10379 0 R (HD.9275) 10380 0 R (HD.9276) 10381 0 R (HD.9277) 10382 0 R ] /Limits [ (HD.9249) (HD.9277) ] >>
endobj
12036 0 obj
-<< /Names [ (section.0.17) 69 0 R (section.0.18) 73 0 R (section.0.19) 77 0 R (section.0.2) 9 0 R (section.0.20) 81 0 R (section.0.21) 85 0 R (section.0.22) 89 0 R (section.0.23) 93 0 R (section.0.24) 97 0 R (section.0.25) 101 0 R (section.0.26) 105 0 R (section.0.27) 109 0 R (section.0.28) 113 0 R (section.0.29) 117 0 R (section.0.3) 13 0 R (section.0.30) 121 0 R (section.0.31) 125 0 R (section.0.32) 129 0 R (section.0.33) 133 0 R (section.0.34) 137 0 R (section.0.35) 141 0 R (section.0.36) 145 0 R (section.0.37) 149 0 R (section.0.38) 153 0 R (section.0.39) 157 0 R (section.0.4) 17 0 R (section.0.40) 161 0 R (section.0.5) 21 0 R (section.0.6) 25 0 R (section.0.7) 29 0 R (section.0.8) 33 0 R (section.0.9) 37 0 R ] /Limits [ (section.0.17) (section.0.9) ] >>
+<< /Names [ (HD.9278) 10383 0 R (HD.9279) 10384 0 R (HD.928) 1264 0 R (HD.9280) 10385 0 R (HD.9281) 10386 0 R (HD.9282) 10387 0 R (HD.9283) 10388 0 R (HD.9284) 10389 0 R (HD.9285) 10390 0 R (HD.9286) 10391 0 R (HD.9287) 10392 0 R (HD.9288) 10393 0 R (HD.9289) 10394 0 R (HD.929) 1265 0 R (HD.9290) 10395 0 R (HD.9291) 10396 0 R (HD.9292) 10397 0 R (HD.9293) 10398 0 R (HD.9294) 10399 0 R (HD.9295) 10400 0 R (HD.9296) 10401 0 R (HD.9297) 10402 0 R (HD.9298) 10403 0 R (HD.9299) 10404 0 R (HD.93) 293 0 R (HD.930) 1266 0 R (HD.9300) 10405 0 R (HD.9301) 10406 0 R (HD.9302) 10407 0 R (HD.9303) 10408 0 R (HD.9304) 10409 0 R (HD.9305) 10410 0 R ] /Limits [ (HD.9278) (HD.9305) ] >>
endobj
12037 0 obj
-<< /Names [ (toc1.1) 165 0 R ] /Limits [ (toc1.1) (toc1.1) ] >>
+<< /Names [ (HD.9306) 10411 0 R (HD.9307) 10412 0 R (HD.9308) 10413 0 R (HD.9309) 10418 0 R (HD.931) 1267 0 R (HD.9310) 10419 0 R (HD.9311) 10420 0 R (HD.9312) 10421 0 R (HD.9313) 10422 0 R (HD.9314) 10423 0 R (HD.9315) 10424 0 R (HD.9316) 10425 0 R (HD.9317) 10426 0 R (HD.9318) 10427 0 R (HD.9319) 10428 0 R (HD.932) 1268 0 R (HD.9320) 10429 0 R (HD.9321) 10430 0 R (HD.9322) 10431 0 R (HD.9323) 10432 0 R (HD.9324) 10433 0 R (HD.9325) 10434 0 R (HD.9326) 10435 0 R (HD.9327) 10436 0 R (HD.9328) 10437 0 R (HD.9329) 10438 0 R (HD.933) 1269 0 R (HD.9330) 10439 0 R (HD.9331) 10440 0 R (HD.9332) 10441 0 R (HD.9333) 10442 0 R (HD.9334) 10443 0 R ] /Limits [ (HD.9306) (HD.9334) ] >>
endobj
12038 0 obj
-<< /Kids [ 11704 0 R 11705 0 R 11706 0 R 11707 0 R 11708 0 R 11709 0 R 11710 0 R 11711 0 R 11712 0 R 11713 0 R 11714 0 R 11715 0 R 11716 0 R 11717 0 R 11718 0 R 11719 0 R 11720 0 R 11721 0 R 11722 0 R 11723 0 R 11724 0 R 11725 0 R 11726 0 R 11727 0 R 11728 0 R 11729 0 R 11730 0 R 11731 0 R 11732 0 R 11733 0 R 11734 0 R 11735 0 R ] /Limits [ (Doc-Start) (HD.1583) ] >>
+<< /Names [ (HD.9335) 10444 0 R (HD.9336) 10445 0 R (HD.9337) 10446 0 R (HD.9338) 10447 0 R (HD.9339) 10448 0 R (HD.934) 1270 0 R (HD.9340) 10449 0 R (HD.9341) 10450 0 R (HD.9342) 10451 0 R (HD.9343) 10452 0 R (HD.9344) 10453 0 R (HD.9345) 10454 0 R (HD.9346) 10455 0 R (HD.9347) 10456 0 R (HD.9348) 10457 0 R (HD.9349) 10458 0 R (HD.935) 1271 0 R (HD.9350) 10459 0 R (HD.9351) 10460 0 R (HD.9352) 10461 0 R (HD.9353) 10462 0 R (HD.9354) 10463 0 R (HD.9355) 10464 0 R (HD.9356) 10465 0 R (HD.9357) 10466 0 R (HD.9358) 10467 0 R (HD.9359) 10468 0 R (HD.936) 1272 0 R (HD.9360) 10469 0 R (HD.9361) 10470 0 R (HD.9362) 10471 0 R (HD.9363) 10472 0 R ] /Limits [ (HD.9335) (HD.9363) ] >>
endobj
12039 0 obj
-<< /Kids [ 11736 0 R 11737 0 R 11738 0 R 11739 0 R 11740 0 R 11741 0 R 11742 0 R 11743 0 R 11744 0 R 11745 0 R 11746 0 R 11747 0 R 11748 0 R 11749 0 R 11750 0 R 11751 0 R 11752 0 R 11753 0 R 11754 0 R 11755 0 R 11756 0 R 11757 0 R 11758 0 R 11759 0 R 11760 0 R 11761 0 R 11762 0 R 11763 0 R 11764 0 R 11765 0 R 11766 0 R 11767 0 R ] /Limits [ (HD.1584) (HD.2504) ] >>
+<< /Names [ (HD.9364) 10473 0 R (HD.9365) 10474 0 R (HD.9366) 10479 0 R (HD.9367) 10480 0 R (HD.9368) 10481 0 R (HD.9369) 10482 0 R (HD.937) 1273 0 R (HD.9370) 10483 0 R (HD.9371) 10484 0 R (HD.9372) 10485 0 R (HD.9373) 10486 0 R (HD.9374) 10487 0 R (HD.9375) 10488 0 R (HD.9376) 10489 0 R (HD.9377) 10490 0 R (HD.9378) 10491 0 R (HD.9379) 10492 0 R (HD.938) 1274 0 R (HD.9380) 10493 0 R (HD.9381) 10494 0 R (HD.9382) 10495 0 R (HD.9383) 10496 0 R (HD.9384) 10497 0 R (HD.9385) 10498 0 R (HD.9386) 10499 0 R (HD.9387) 10500 0 R (HD.9388) 10501 0 R (HD.9389) 10502 0 R (HD.939) 1275 0 R (HD.9390) 10503 0 R (HD.9391) 10504 0 R (HD.9392) 10505 0 R ] /Limits [ (HD.9364) (HD.9392) ] >>
endobj
12040 0 obj
-<< /Kids [ 11768 0 R 11769 0 R 11770 0 R 11771 0 R 11772 0 R 11773 0 R 11774 0 R 11775 0 R 11776 0 R 11777 0 R 11778 0 R 11779 0 R 11780 0 R 11781 0 R 11782 0 R 11783 0 R 11784 0 R 11785 0 R 11786 0 R 11787 0 R 11788 0 R 11789 0 R 11790 0 R 11791 0 R 11792 0 R 11793 0 R 11794 0 R 11795 0 R 11796 0 R 11797 0 R 11798 0 R 11799 0 R ] /Limits [ (HD.2505) (HD.3426) ] >>
+<< /Names [ (HD.9393) 10506 0 R (HD.9394) 10507 0 R (HD.9395) 10508 0 R (HD.9396) 10509 0 R (HD.9397) 10510 0 R (HD.9398) 10511 0 R (HD.9399) 10512 0 R (HD.94) 294 0 R (HD.940) 1276 0 R (HD.9400) 10513 0 R (HD.9401) 10514 0 R (HD.9402) 10515 0 R (HD.9403) 10516 0 R (HD.9404) 10522 0 R (HD.9405) 10523 0 R (HD.9406) 10524 0 R (HD.9407) 10525 0 R (HD.9408) 10526 0 R (HD.9409) 10527 0 R (HD.941) 1277 0 R (HD.9410) 10528 0 R (HD.9411) 10529 0 R (HD.9412) 10530 0 R (HD.9413) 10531 0 R (HD.9414) 10532 0 R (HD.9415) 10533 0 R (HD.9416) 10534 0 R (HD.9417) 10535 0 R (HD.9418) 10536 0 R (HD.9419) 10537 0 R (HD.942) 1278 0 R (HD.9420) 10538 0 R ] /Limits [ (HD.9393) (HD.9420) ] >>
endobj
12041 0 obj
-<< /Kids [ 11800 0 R 11801 0 R 11802 0 R 11803 0 R 11804 0 R 11805 0 R 11806 0 R 11807 0 R 11808 0 R 11809 0 R 11810 0 R 11811 0 R 11812 0 R 11813 0 R 11814 0 R 11815 0 R 11816 0 R 11817 0 R 11818 0 R 11819 0 R 11820 0 R 11821 0 R 11822 0 R 11823 0 R 11824 0 R 11825 0 R 11826 0 R 11827 0 R 11828 0 R 11829 0 R 11830 0 R 11831 0 R ] /Limits [ (HD.3427) (HD.4348) ] >>
+<< /Names [ (HD.9421) 10539 0 R (HD.9422) 10540 0 R (HD.9423) 10541 0 R (HD.9424) 10542 0 R (HD.9425) 10543 0 R (HD.9426) 10544 0 R (HD.9427) 10545 0 R (HD.9428) 10546 0 R (HD.9429) 10547 0 R (HD.943) 1279 0 R (HD.9430) 10548 0 R (HD.9431) 10549 0 R (HD.9432) 10550 0 R (HD.9433) 10551 0 R (HD.9434) 10552 0 R (HD.9435) 10553 0 R (HD.9436) 10554 0 R (HD.9437) 10555 0 R (HD.9438) 10556 0 R (HD.9439) 10557 0 R (HD.944) 1280 0 R (HD.9440) 10558 0 R (HD.9441) 10559 0 R (HD.9442) 10560 0 R (HD.9443) 10561 0 R (HD.9444) 10562 0 R (HD.9445) 10563 0 R (HD.9446) 10564 0 R (HD.9447) 10565 0 R (HD.9448) 10566 0 R (HD.9449) 10567 0 R (HD.945) 1281 0 R ] /Limits [ (HD.9421) (HD.945) ] >>
endobj
12042 0 obj
-<< /Kids [ 11832 0 R 11833 0 R 11834 0 R 11835 0 R 11836 0 R 11837 0 R 11838 0 R 11839 0 R 11840 0 R 11841 0 R 11842 0 R 11843 0 R 11844 0 R 11845 0 R 11846 0 R 11847 0 R 11848 0 R 11849 0 R 11850 0 R 11851 0 R 11852 0 R 11853 0 R 11854 0 R 11855 0 R 11856 0 R 11857 0 R 11858 0 R 11859 0 R 11860 0 R 11861 0 R 11862 0 R 11863 0 R ] /Limits [ (HD.4349) (HD.527) ] >>
+<< /Names [ (HD.9450) 10568 0 R (HD.9451) 10569 0 R (HD.9452) 10570 0 R (HD.9453) 10571 0 R (HD.9454) 10572 0 R (HD.9455) 10573 0 R (HD.9456) 10574 0 R (HD.9457) 10575 0 R (HD.9458) 10576 0 R (HD.9459) 10577 0 R (HD.946) 1282 0 R (HD.9460) 10582 0 R (HD.9461) 10583 0 R (HD.9462) 10584 0 R (HD.9463) 10585 0 R (HD.9464) 10586 0 R (HD.9465) 10587 0 R (HD.9466) 10588 0 R (HD.9467) 10589 0 R (HD.9468) 10590 0 R (HD.9469) 10591 0 R (HD.947) 1283 0 R (HD.9470) 10592 0 R (HD.9471) 10593 0 R (HD.9472) 10594 0 R (HD.9473) 10595 0 R (HD.9474) 10596 0 R (HD.9475) 10597 0 R (HD.9476) 10598 0 R (HD.9477) 10599 0 R (HD.9478) 10600 0 R (HD.9479) 10601 0 R ] /Limits [ (HD.9450) (HD.9479) ] >>
endobj
12043 0 obj
-<< /Kids [ 11864 0 R 11865 0 R 11866 0 R 11867 0 R 11868 0 R 11869 0 R 11870 0 R 11871 0 R 11872 0 R 11873 0 R 11874 0 R 11875 0 R 11876 0 R 11877 0 R 11878 0 R 11879 0 R 11880 0 R 11881 0 R 11882 0 R 11883 0 R 11884 0 R 11885 0 R 11886 0 R 11887 0 R 11888 0 R 11889 0 R 11890 0 R 11891 0 R 11892 0 R 11893 0 R 11894 0 R 11895 0 R ] /Limits [ (HD.5270) (HD.6191) ] >>
+<< /Names [ (HD.948) 1284 0 R (HD.9480) 10602 0 R (HD.9481) 10603 0 R (HD.9482) 10604 0 R (HD.9483) 10605 0 R (HD.9484) 10606 0 R (HD.9485) 10607 0 R (HD.9486) 10608 0 R (HD.9487) 10609 0 R (HD.9488) 10610 0 R (HD.9489) 10611 0 R (HD.949) 1285 0 R (HD.9490) 10612 0 R (HD.9491) 10613 0 R (HD.9492) 10614 0 R (HD.9493) 10615 0 R (HD.9494) 10616 0 R (HD.9495) 10617 0 R (HD.9496) 10618 0 R (HD.9497) 10619 0 R (HD.9498) 10620 0 R (HD.9499) 10621 0 R (HD.95) 295 0 R (HD.950) 1286 0 R (HD.9500) 10622 0 R (HD.9501) 10623 0 R (HD.9502) 10624 0 R (HD.9503) 10625 0 R (HD.9504) 10626 0 R (HD.9505) 10627 0 R (HD.9506) 10628 0 R (HD.9507) 10629 0 R ] /Limits [ (HD.948) (HD.9507) ] >>
endobj
12044 0 obj
-<< /Kids [ 11896 0 R 11897 0 R 11898 0 R 11899 0 R 11900 0 R 11901 0 R 11902 0 R 11903 0 R 11904 0 R 11905 0 R 11906 0 R 11907 0 R 11908 0 R 11909 0 R 11910 0 R 11911 0 R 11912 0 R 11913 0 R 11914 0 R 11915 0 R 11916 0 R 11917 0 R 11918 0 R 11919 0 R 11920 0 R 11921 0 R 11922 0 R 11923 0 R 11924 0 R 11925 0 R 11926 0 R 11927 0 R ] /Limits [ (HD.6192) (HD.7112) ] >>
+<< /Names [ (HD.9508) 10630 0 R (HD.9509) 10631 0 R (HD.951) 1287 0 R (HD.9510) 10632 0 R (HD.9511) 10633 0 R (HD.9512) 10634 0 R (HD.9513) 10635 0 R (HD.9514) 10636 0 R (HD.9515) 10637 0 R (HD.9516) 10638 0 R (HD.9517) 10639 0 R (HD.9518) 10640 0 R (HD.9519) 10645 0 R (HD.952) 1288 0 R (HD.9520) 10646 0 R (HD.9521) 10647 0 R (HD.9522) 10648 0 R (HD.9523) 10649 0 R (HD.9524) 10650 0 R (HD.9525) 10651 0 R (HD.9526) 10652 0 R (HD.9527) 10653 0 R (HD.9528) 10654 0 R (HD.9529) 10655 0 R (HD.953) 1289 0 R (HD.9530) 10656 0 R (HD.9531) 10657 0 R (HD.9532) 10658 0 R (HD.9533) 10659 0 R (HD.9534) 10660 0 R (HD.9535) 10661 0 R (HD.9536) 10662 0 R ] /Limits [ (HD.9508) (HD.9536) ] >>
endobj
12045 0 obj
-<< /Kids [ 11928 0 R 11929 0 R 11930 0 R 11931 0 R 11932 0 R 11933 0 R 11934 0 R 11935 0 R 11936 0 R 11937 0 R 11938 0 R 11939 0 R 11940 0 R 11941 0 R 11942 0 R 11943 0 R 11944 0 R 11945 0 R 11946 0 R 11947 0 R 11948 0 R 11949 0 R 11950 0 R 11951 0 R 11952 0 R 11953 0 R 11954 0 R 11955 0 R 11956 0 R 11957 0 R 11958 0 R 11959 0 R ] /Limits [ (HD.7113) (HD.8034) ] >>
+<< /Names [ (HD.9537) 10663 0 R (HD.9538) 10664 0 R (HD.9539) 10665 0 R (HD.954) 1290 0 R (HD.9540) 10666 0 R (HD.9541) 10667 0 R (HD.9542) 10668 0 R (HD.9543) 10669 0 R (HD.9544) 10670 0 R (HD.9545) 10671 0 R (HD.9546) 10672 0 R (HD.9547) 10673 0 R (HD.9548) 10674 0 R (HD.9549) 10675 0 R (HD.955) 1291 0 R (HD.9550) 10676 0 R (HD.9551) 10677 0 R (HD.9552) 10678 0 R (HD.9553) 10679 0 R (HD.9554) 10680 0 R (HD.9555) 10681 0 R (HD.9556) 10682 0 R (HD.9557) 10683 0 R (HD.9558) 10684 0 R (HD.9559) 10685 0 R (HD.956) 1292 0 R (HD.9560) 10686 0 R (HD.9561) 10687 0 R (HD.9562) 10688 0 R (HD.9563) 10689 0 R (HD.9564) 10690 0 R (HD.9565) 10691 0 R ] /Limits [ (HD.9537) (HD.9565) ] >>
endobj
12046 0 obj
-<< /Kids [ 11960 0 R 11961 0 R 11962 0 R 11963 0 R 11964 0 R 11965 0 R 11966 0 R 11967 0 R 11968 0 R 11969 0 R 11970 0 R 11971 0 R 11972 0 R 11973 0 R 11974 0 R 11975 0 R 11976 0 R 11977 0 R 11978 0 R 11979 0 R 11980 0 R 11981 0 R 11982 0 R 11983 0 R 11984 0 R 11985 0 R 11986 0 R 11987 0 R 11988 0 R 11989 0 R 11990 0 R 11991 0 R ] /Limits [ (HD.8035) (HD.8957) ] >>
+<< /Names [ (HD.9566) 10692 0 R (HD.9567) 10693 0 R (HD.9568) 10694 0 R (HD.9569) 10695 0 R (HD.957) 1293 0 R (HD.9570) 10696 0 R (HD.9571) 10697 0 R (HD.9572) 10698 0 R (HD.9573) 10699 0 R (HD.9574) 10700 0 R (HD.9575) 10701 0 R (HD.9576) 10702 0 R (HD.9577) 10703 0 R (HD.9578) 10704 0 R (HD.9579) 10709 0 R (HD.958) 1294 0 R (HD.9580) 10710 0 R (HD.9581) 10711 0 R (HD.9582) 10712 0 R (HD.9583) 10713 0 R (HD.9584) 10714 0 R (HD.9585) 10715 0 R (HD.9586) 10716 0 R (HD.9587) 10717 0 R (HD.9588) 10718 0 R (HD.9589) 10719 0 R (HD.959) 1295 0 R (HD.9590) 10720 0 R (HD.9591) 10721 0 R (HD.9592) 10722 0 R (HD.9593) 10723 0 R (HD.9594) 10724 0 R ] /Limits [ (HD.9566) (HD.9594) ] >>
endobj
12047 0 obj
-<< /Kids [ 11992 0 R 11993 0 R 11994 0 R 11995 0 R 11996 0 R 11997 0 R 11998 0 R 11999 0 R 12000 0 R 12001 0 R 12002 0 R 12003 0 R 12004 0 R 12005 0 R 12006 0 R 12007 0 R 12008 0 R 12009 0 R 12010 0 R 12011 0 R 12012 0 R 12013 0 R 12014 0 R 12015 0 R 12016 0 R 12017 0 R 12018 0 R 12019 0 R 12020 0 R 12021 0 R 12022 0 R 12023 0 R ] /Limits [ (HD.8958) (HD.9879) ] >>
+<< /Names [ (HD.9595) 10725 0 R (HD.9596) 10726 0 R (HD.9597) 10727 0 R (HD.9598) 10728 0 R (HD.9599) 10729 0 R (HD.96) 296 0 R (HD.960) 1296 0 R (HD.9600) 10730 0 R (HD.9601) 10731 0 R (HD.9602) 10732 0 R (HD.9603) 10733 0 R (HD.9604) 10734 0 R (HD.9605) 10735 0 R (HD.9606) 10736 0 R (HD.9607) 10737 0 R (HD.9608) 10738 0 R (HD.9609) 10739 0 R (HD.961) 1297 0 R (HD.9610) 10740 0 R (HD.9611) 10741 0 R (HD.9612) 10742 0 R (HD.9613) 10743 0 R (HD.9614) 10744 0 R (HD.9615) 10745 0 R (HD.9616) 10746 0 R (HD.9617) 10747 0 R (HD.9618) 10748 0 R (HD.9619) 10749 0 R (HD.962) 1298 0 R (HD.9620) 10750 0 R (HD.9621) 10751 0 R (HD.9622) 10752 0 R ] /Limits [ (HD.9595) (HD.9622) ] >>
endobj
12048 0 obj
-<< /Kids [ 12024 0 R 12025 0 R 12026 0 R 12027 0 R 12028 0 R 12029 0 R 12030 0 R 12031 0 R 12032 0 R 12033 0 R 12034 0 R 12035 0 R 12036 0 R 12037 0 R ] /Limits [ (HD.988) (toc1.1) ] >>
+<< /Names [ (HD.9623) 10753 0 R (HD.9624) 10754 0 R (HD.9625) 10755 0 R (HD.9626) 10756 0 R (HD.9627) 10757 0 R (HD.9628) 10758 0 R (HD.9629) 10759 0 R (HD.963) 1299 0 R (HD.9630) 10760 0 R (HD.9631) 10761 0 R (HD.9632) 10762 0 R (HD.9633) 10763 0 R (HD.9634) 10764 0 R (HD.9635) 10765 0 R (HD.9636) 10766 0 R (HD.9637) 10767 0 R (HD.9638) 10768 0 R (HD.9639) 10769 0 R (HD.964) 1300 0 R (HD.9640) 10774 0 R (HD.9641) 10775 0 R (HD.9642) 10776 0 R (HD.9643) 10777 0 R (HD.9644) 10778 0 R (HD.9645) 10779 0 R (HD.9646) 10780 0 R (HD.9647) 10781 0 R (HD.9648) 10782 0 R (HD.9649) 10783 0 R (HD.965) 1301 0 R (HD.9650) 10784 0 R (HD.9651) 10785 0 R ] /Limits [ (HD.9623) (HD.9651) ] >>
endobj
12049 0 obj
-<< /Kids [ 12038 0 R 12039 0 R 12040 0 R 12041 0 R 12042 0 R 12043 0 R 12044 0 R 12045 0 R 12046 0 R 12047 0 R 12048 0 R ] /Limits [ (Doc-Start) (toc1.1) ] >>
+<< /Names [ (HD.9652) 10786 0 R (HD.9653) 10787 0 R (HD.9654) 10788 0 R (HD.9655) 10789 0 R (HD.9656) 10790 0 R (HD.9657) 10791 0 R (HD.9658) 10792 0 R (HD.9659) 10793 0 R (HD.966) 1302 0 R (HD.9660) 10794 0 R (HD.9661) 10795 0 R (HD.9662) 10796 0 R (HD.9663) 10797 0 R (HD.9664) 10798 0 R (HD.9665) 10799 0 R (HD.9666) 10800 0 R (HD.9667) 10801 0 R (HD.9668) 10802 0 R (HD.9669) 10803 0 R (HD.967) 1303 0 R (HD.9670) 10804 0 R (HD.9671) 10805 0 R (HD.9672) 10806 0 R (HD.9673) 10807 0 R (HD.9674) 10808 0 R (HD.9675) 10809 0 R (HD.9676) 10810 0 R (HD.9677) 10811 0 R (HD.9678) 10812 0 R (HD.9679) 10813 0 R (HD.968) 1304 0 R (HD.9680) 10814 0 R ] /Limits [ (HD.9652) (HD.9680) ] >>
endobj
12050 0 obj
-<< /Dests 12049 0 R >>
+<< /Names [ (HD.9681) 10815 0 R (HD.9682) 10816 0 R (HD.9683) 10817 0 R (HD.9684) 10818 0 R (HD.9685) 10819 0 R (HD.9686) 10820 0 R (HD.9687) 10821 0 R (HD.9688) 10822 0 R (HD.9689) 10823 0 R (HD.969) 1305 0 R (HD.9690) 10824 0 R (HD.9691) 10825 0 R (HD.9692) 10826 0 R (HD.9693) 10827 0 R (HD.9694) 10828 0 R (HD.9695) 10829 0 R (HD.9696) 10830 0 R (HD.9697) 10831 0 R (HD.9698) 10832 0 R (HD.9699) 10833 0 R (HD.97) 297 0 R (HD.970) 1306 0 R (HD.9700) 10838 0 R (HD.9701) 10839 0 R (HD.9702) 10840 0 R (HD.9703) 10841 0 R (HD.9704) 10842 0 R (HD.9705) 10843 0 R (HD.9706) 10844 0 R (HD.9707) 10845 0 R (HD.9708) 10846 0 R (HD.9709) 10847 0 R ] /Limits [ (HD.9681) (HD.9709) ] >>
endobj
12051 0 obj
-<< /Type /Catalog /Pages 11702 0 R /Outlines 11703 0 R /Names 12050 0 R /PageMode/UseOutlines /OpenAction 168 0 R >>
+<< /Names [ (HD.971) 1307 0 R (HD.9710) 10848 0 R (HD.9711) 10849 0 R (HD.9712) 10850 0 R (HD.9713) 10851 0 R (HD.9714) 10852 0 R (HD.9715) 10853 0 R (HD.9716) 10854 0 R (HD.9717) 10855 0 R (HD.9718) 10856 0 R (HD.9719) 10857 0 R (HD.972) 1308 0 R (HD.9720) 10858 0 R (HD.9721) 10859 0 R (HD.9722) 10860 0 R (HD.9723) 10861 0 R (HD.9724) 10862 0 R (HD.9725) 10863 0 R (HD.9726) 10864 0 R (HD.9727) 10865 0 R (HD.9728) 10866 0 R (HD.9729) 10867 0 R (HD.973) 1309 0 R (HD.9730) 10868 0 R (HD.9731) 10869 0 R (HD.9732) 10870 0 R (HD.9733) 10871 0 R (HD.9734) 10872 0 R (HD.9735) 10873 0 R (HD.9736) 10874 0 R (HD.9737) 10875 0 R (HD.9738) 10876 0 R ] /Limits [ (HD.971) (HD.9738) ] >>
endobj
12052 0 obj
-<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000T\000h\000e\000\040\000c\000o\000d\000e\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000'\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000')/Subject(\376\377\000A\000\040\000L\000a\000T\000e\000X\000\040\000p\000a\000c\000k\000a\000g\000e)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240629143946+02'00') /ModDate (D:20240629143946+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
+<< /Names [ (HD.9739) 10877 0 R (HD.974) 1310 0 R (HD.9740) 10878 0 R (HD.9741) 10879 0 R (HD.9742) 10880 0 R (HD.9743) 10881 0 R (HD.9744) 10882 0 R (HD.9745) 10883 0 R (HD.9746) 10884 0 R (HD.9747) 10885 0 R (HD.9748) 10886 0 R (HD.9749) 10887 0 R (HD.975) 1311 0 R (HD.9750) 10888 0 R (HD.9751) 10889 0 R (HD.9752) 10890 0 R (HD.9753) 10891 0 R (HD.9754) 10892 0 R (HD.9755) 10893 0 R (HD.9756) 10894 0 R (HD.9757) 10895 0 R (HD.9758) 10896 0 R (HD.9759) 10897 0 R (HD.976) 1312 0 R (HD.9760) 10902 0 R (HD.9761) 10903 0 R (HD.9762) 10904 0 R (HD.9763) 10905 0 R (HD.9764) 10906 0 R (HD.9765) 10907 0 R (HD.9766) 10908 0 R (HD.9767) 10909 0 R ] /Limits [ (HD.9739) (HD.9767) ] >>
+endobj
+12053 0 obj
+<< /Names [ (HD.9768) 10910 0 R (HD.9769) 10911 0 R (HD.977) 1313 0 R (HD.9770) 10912 0 R (HD.9771) 10913 0 R (HD.9772) 10914 0 R (HD.9773) 10915 0 R (HD.9774) 10916 0 R (HD.9775) 10917 0 R (HD.9776) 10918 0 R (HD.9777) 10919 0 R (HD.9778) 10920 0 R (HD.9779) 10921 0 R (HD.978) 1314 0 R (HD.9780) 10922 0 R (HD.9781) 10923 0 R (HD.9782) 10924 0 R (HD.9783) 10925 0 R (HD.9784) 10926 0 R (HD.9785) 10927 0 R (HD.9786) 10928 0 R (HD.9787) 10929 0 R (HD.9788) 10930 0 R (HD.9789) 10931 0 R (HD.979) 1315 0 R (HD.9790) 10932 0 R (HD.9791) 10933 0 R (HD.9792) 10934 0 R (HD.9793) 10935 0 R (HD.9794) 10936 0 R (HD.9795) 10937 0 R (HD.9796) 10938 0 R ] /Limits [ (HD.9768) (HD.9796) ] >>
+endobj
+12054 0 obj
+<< /Names [ (HD.9797) 10939 0 R (HD.9798) 10940 0 R (HD.9799) 10941 0 R (HD.98) 298 0 R (HD.980) 1321 0 R (HD.9800) 10942 0 R (HD.9801) 10943 0 R (HD.9802) 10944 0 R (HD.9803) 10945 0 R (HD.9804) 10946 0 R (HD.9805) 10947 0 R (HD.9806) 10948 0 R (HD.9807) 10949 0 R (HD.9808) 10950 0 R (HD.9809) 10951 0 R (HD.981) 1322 0 R (HD.9810) 10952 0 R (HD.9811) 10953 0 R (HD.9812) 10954 0 R (HD.9813) 10955 0 R (HD.9814) 10956 0 R (HD.9815) 10957 0 R (HD.9816) 10958 0 R (HD.9817) 10959 0 R (HD.9818) 10960 0 R (HD.9819) 10961 0 R (HD.982) 1323 0 R (HD.9820) 10962 0 R (HD.9821) 10967 0 R (HD.9822) 10968 0 R (HD.9823) 10969 0 R (HD.9824) 10970 0 R ] /Limits [ (HD.9797) (HD.9824) ] >>
+endobj
+12055 0 obj
+<< /Names [ (HD.9825) 10971 0 R (HD.9826) 10972 0 R (HD.9827) 10973 0 R (HD.9828) 10974 0 R (HD.9829) 10975 0 R (HD.983) 1324 0 R (HD.9830) 10976 0 R (HD.9831) 10977 0 R (HD.9832) 10978 0 R (HD.9833) 10979 0 R (HD.9834) 10980 0 R (HD.9835) 10981 0 R (HD.9836) 10982 0 R (HD.9837) 10983 0 R (HD.9838) 10984 0 R (HD.9839) 10985 0 R (HD.984) 1325 0 R (HD.9840) 10986 0 R (HD.9841) 10987 0 R (HD.9842) 10988 0 R (HD.9843) 10989 0 R (HD.9844) 10990 0 R (HD.9845) 10991 0 R (HD.9846) 10992 0 R (HD.9847) 10993 0 R (HD.9848) 10994 0 R (HD.9849) 10995 0 R (HD.985) 1326 0 R (HD.9850) 10996 0 R (HD.9851) 10997 0 R (HD.9852) 10998 0 R (HD.9853) 10999 0 R ] /Limits [ (HD.9825) (HD.9853) ] >>
+endobj
+12056 0 obj
+<< /Names [ (HD.9854) 11000 0 R (HD.9855) 11001 0 R (HD.9856) 11002 0 R (HD.9857) 11003 0 R (HD.9858) 11004 0 R (HD.9859) 11005 0 R (HD.986) 1327 0 R (HD.9860) 11006 0 R (HD.9861) 11007 0 R (HD.9862) 11008 0 R (HD.9863) 11009 0 R (HD.9864) 11010 0 R (HD.9865) 11011 0 R (HD.9866) 11012 0 R (HD.9867) 11013 0 R (HD.9868) 11014 0 R (HD.9869) 11015 0 R (HD.987) 1328 0 R (HD.9870) 11016 0 R (HD.9871) 11017 0 R (HD.9872) 11018 0 R (HD.9873) 11019 0 R (HD.9874) 11020 0 R (HD.9875) 11021 0 R (HD.9876) 11022 0 R (HD.9877) 11023 0 R (HD.9878) 11024 0 R (HD.9879) 11025 0 R (HD.988) 1329 0 R (HD.9880) 11026 0 R (HD.9881) 11031 0 R (HD.9882) 11032 0 R ] /Limits [ (HD.9854) (HD.9882) ] >>
+endobj
+12057 0 obj
+<< /Names [ (HD.9883) 11033 0 R (HD.9884) 11034 0 R (HD.9885) 11035 0 R (HD.9886) 11036 0 R (HD.9887) 11037 0 R (HD.9888) 11038 0 R (HD.9889) 11039 0 R (HD.989) 1330 0 R (HD.9890) 11040 0 R (HD.9891) 11041 0 R (HD.9892) 11042 0 R (HD.9893) 11043 0 R (HD.9894) 11044 0 R (HD.9895) 11045 0 R (HD.9896) 11046 0 R (HD.9897) 11047 0 R (HD.9898) 11048 0 R (HD.9899) 11049 0 R (HD.99) 299 0 R (HD.990) 1331 0 R (HD.9900) 11050 0 R (HD.9901) 11051 0 R (HD.9902) 11052 0 R (HD.9903) 11053 0 R (HD.9904) 11054 0 R (HD.9905) 11055 0 R (HD.9906) 11056 0 R (HD.9907) 11057 0 R (HD.9908) 11058 0 R (HD.9909) 11059 0 R (HD.991) 1332 0 R (HD.9910) 11060 0 R ] /Limits [ (HD.9883) (HD.9910) ] >>
+endobj
+12058 0 obj
+<< /Names [ (HD.9911) 11061 0 R (HD.9912) 11062 0 R (HD.9913) 11063 0 R (HD.9914) 11064 0 R (HD.9915) 11065 0 R (HD.9916) 11066 0 R (HD.9917) 11067 0 R (HD.9918) 11068 0 R (HD.9919) 11069 0 R (HD.992) 1333 0 R (HD.9920) 11070 0 R (HD.9921) 11071 0 R (HD.9922) 11072 0 R (HD.9923) 11073 0 R (HD.9924) 11074 0 R (HD.9925) 11075 0 R (HD.9926) 11076 0 R (HD.9927) 11077 0 R (HD.9928) 11078 0 R (HD.9929) 11079 0 R (HD.993) 1334 0 R (HD.9930) 11080 0 R (HD.9931) 11081 0 R (HD.9932) 11082 0 R (HD.9933) 11083 0 R (HD.9934) 11084 0 R (HD.9935) 11085 0 R (HD.9936) 11086 0 R (HD.9937) 11087 0 R (HD.9938) 11088 0 R (HD.9939) 11089 0 R (HD.994) 1335 0 R ] /Limits [ (HD.9911) (HD.994) ] >>
+endobj
+12059 0 obj
+<< /Names [ (HD.9940) 11090 0 R (HD.9941) 11095 0 R (HD.9942) 11096 0 R (HD.9943) 11097 0 R (HD.9944) 11098 0 R (HD.9945) 11099 0 R (HD.9946) 11100 0 R (HD.9947) 11101 0 R (HD.9948) 11102 0 R (HD.9949) 11103 0 R (HD.995) 1336 0 R (HD.9950) 11104 0 R (HD.9951) 11105 0 R (HD.9952) 11106 0 R (HD.9953) 11107 0 R (HD.9954) 11108 0 R (HD.9955) 11109 0 R (HD.9956) 11110 0 R (HD.9957) 11111 0 R (HD.9958) 11112 0 R (HD.9959) 11113 0 R (HD.996) 1337 0 R (HD.9960) 11114 0 R (HD.9961) 11115 0 R (HD.9962) 11116 0 R (HD.9963) 11117 0 R (HD.9964) 11118 0 R (HD.9965) 11119 0 R (HD.9966) 11120 0 R (HD.9967) 11121 0 R (HD.9968) 11122 0 R (HD.9969) 11123 0 R ] /Limits [ (HD.9940) (HD.9969) ] >>
+endobj
+12060 0 obj
+<< /Names [ (HD.997) 1338 0 R (HD.9970) 11124 0 R (HD.9971) 11125 0 R (HD.9972) 11126 0 R (HD.9973) 11127 0 R (HD.9974) 11128 0 R (HD.9975) 11129 0 R (HD.9976) 11130 0 R (HD.9977) 11131 0 R (HD.9978) 11132 0 R (HD.9979) 11133 0 R (HD.998) 1339 0 R (HD.9980) 11134 0 R (HD.9981) 11135 0 R (HD.9982) 11136 0 R (HD.9983) 11137 0 R (HD.9984) 11138 0 R (HD.9985) 11139 0 R (HD.9986) 11140 0 R (HD.9987) 11141 0 R (HD.9988) 11142 0 R (HD.9989) 11143 0 R (HD.999) 1340 0 R (HD.9990) 11144 0 R (HD.9991) 11145 0 R (HD.9992) 11146 0 R (HD.9993) 11147 0 R (HD.9994) 11148 0 R (HD.9995) 11149 0 R (HD.9996) 11150 0 R (HD.9997) 11151 0 R (HD.9998) 11152 0 R ] /Limits [ (HD.997) (HD.9998) ] >>
+endobj
+12061 0 obj
+<< /Names [ (HD.9999) 11153 0 R (Hfootnote.1) 481 0 R (Hfootnote.10) 2758 0 R (Hfootnote.11) 4564 0 R (Hfootnote.12) 4642 0 R (Hfootnote.13) 6106 0 R (Hfootnote.14) 7882 0 R (Hfootnote.2) 767 0 R (Hfootnote.3) 826 0 R (Hfootnote.4) 1960 0 R (Hfootnote.5) 1961 0 R (Hfootnote.6) 2364 0 R (Hfootnote.7) 2406 0 R (Hfootnote.8) 2508 0 R (Hfootnote.9) 2561 0 R (page.1) 172 0 R (page.10) 566 0 R (page.100) 4700 0 R (page.101) 4758 0 R (page.102) 4787 0 R (page.103) 4842 0 R (page.104) 4907 0 R (page.105) 4949 0 R (page.106) 5015 0 R (page.107) 5070 0 R (page.108) 5112 0 R (page.109) 5161 0 R (page.11) 586 0 R (page.110) 5223 0 R (page.111) 5268 0 R (page.112) 5319 0 R (page.113) 5362 0 R ] /Limits [ (HD.9999) (page.113) ] >>
+endobj
+12062 0 obj
+<< /Names [ (page.114) 5408 0 R (page.115) 5446 0 R (page.116) 5495 0 R (page.117) 5552 0 R (page.118) 5606 0 R (page.119) 5669 0 R (page.12) 607 0 R (page.120) 5720 0 R (page.121) 5782 0 R (page.122) 5845 0 R (page.123) 5896 0 R (page.124) 5959 0 R (page.125) 6015 0 R (page.126) 6068 0 R (page.127) 6111 0 R (page.128) 6144 0 R (page.129) 6199 0 R (page.13) 634 0 R (page.130) 6259 0 R (page.131) 6285 0 R (page.132) 6338 0 R (page.133) 6388 0 R (page.134) 6441 0 R (page.135) 6485 0 R (page.136) 6539 0 R (page.137) 6583 0 R (page.138) 6642 0 R (page.139) 6697 0 R (page.14) 658 0 R (page.140) 6746 0 R (page.141) 6783 0 R (page.142) 6825 0 R ] /Limits [ (page.114) (page.142) ] >>
+endobj
+12063 0 obj
+<< /Names [ (page.143) 6866 0 R (page.144) 6906 0 R (page.145) 6953 0 R (page.146) 7014 0 R (page.147) 7076 0 R (page.148) 7125 0 R (page.149) 7181 0 R (page.15) 681 0 R (page.150) 7244 0 R (page.151) 7289 0 R (page.152) 7341 0 R (page.153) 7391 0 R (page.154) 7446 0 R (page.155) 7491 0 R (page.156) 7552 0 R (page.157) 7611 0 R (page.158) 7647 0 R (page.159) 7704 0 R (page.16) 701 0 R (page.160) 7752 0 R (page.161) 7799 0 R (page.162) 7839 0 R (page.163) 7887 0 R (page.164) 7946 0 R (page.165) 7993 0 R (page.166) 8047 0 R (page.167) 8084 0 R (page.168) 8121 0 R (page.169) 8152 0 R (page.17) 728 0 R (page.170) 8201 0 R (page.171) 8252 0 R ] /Limits [ (page.143) (page.171) ] >>
+endobj
+12064 0 obj
+<< /Names [ (page.172) 8308 0 R (page.173) 8358 0 R (page.174) 8412 0 R (page.175) 8478 0 R (page.176) 8530 0 R (page.177) 8581 0 R (page.178) 8645 0 R (page.179) 8684 0 R (page.18) 756 0 R (page.180) 8735 0 R (page.181) 8801 0 R (page.182) 8866 0 R (page.183) 8921 0 R (page.184) 8983 0 R (page.185) 9043 0 R (page.186) 9104 0 R (page.187) 9165 0 R (page.188) 9223 0 R (page.189) 9271 0 R (page.19) 775 0 R (page.190) 9326 0 R (page.191) 9369 0 R (page.192) 9419 0 R (page.193) 9461 0 R (page.194) 9505 0 R (page.195) 9563 0 R (page.196) 9622 0 R (page.197) 9670 0 R (page.198) 9733 0 R (page.199) 9786 0 R (page.2) 210 0 R (page.20) 810 0 R ] /Limits [ (page.172) (page.20) ] >>
+endobj
+12065 0 obj
+<< /Names [ (page.200) 9841 0 R (page.201) 9880 0 R (page.202) 9931 0 R (page.203) 9984 0 R (page.204) 10046 0 R (page.205) 10109 0 R (page.206) 10169 0 R (page.207) 10234 0 R (page.208) 10297 0 R (page.209) 10364 0 R (page.21) 831 0 R (page.210) 10417 0 R (page.211) 10478 0 R (page.212) 10521 0 R (page.213) 10581 0 R (page.214) 10644 0 R (page.215) 10708 0 R (page.216) 10773 0 R (page.217) 10837 0 R (page.218) 10901 0 R (page.219) 10966 0 R (page.22) 875 0 R (page.220) 11030 0 R (page.221) 11094 0 R (page.222) 11159 0 R (page.223) 11225 0 R (page.224) 11292 0 R (page.225) 11357 0 R (page.226) 11422 0 R (page.227) 11489 0 R (page.228) 11556 0 R (page.229) 11618 0 R ] /Limits [ (page.200) (page.229) ] >>
+endobj
+12066 0 obj
+<< /Names [ (page.23) 923 0 R (page.230) 11632 0 R (page.24) 967 0 R (page.25) 1012 0 R (page.26) 1057 0 R (page.27) 1085 0 R (page.28) 1106 0 R (page.29) 1146 0 R (page.3) 257 0 R (page.30) 1200 0 R (page.31) 1262 0 R (page.32) 1320 0 R (page.33) 1383 0 R (page.34) 1442 0 R (page.35) 1488 0 R (page.36) 1543 0 R (page.37) 1571 0 R (page.38) 1620 0 R (page.39) 1683 0 R (page.4) 304 0 R (page.40) 1717 0 R (page.41) 1770 0 R (page.42) 1814 0 R (page.43) 1859 0 R (page.44) 1916 0 R (page.45) 1966 0 R (page.46) 2009 0 R (page.47) 2064 0 R (page.48) 2101 0 R (page.49) 2134 0 R (page.5) 343 0 R (page.50) 2172 0 R ] /Limits [ (page.23) (page.50) ] >>
+endobj
+12067 0 obj
+<< /Names [ (page.51) 2215 0 R (page.52) 2258 0 R (page.53) 2315 0 R (page.54) 2370 0 R (page.55) 2411 0 R (page.56) 2459 0 R (page.57) 2515 0 R (page.58) 2567 0 R (page.59) 2609 0 R (page.6) 387 0 R (page.60) 2658 0 R (page.61) 2707 0 R (page.62) 2764 0 R (page.63) 2819 0 R (page.64) 2879 0 R (page.65) 2931 0 R (page.66) 2969 0 R (page.67) 3019 0 R (page.68) 3070 0 R (page.69) 3125 0 R (page.7) 433 0 R (page.70) 3182 0 R (page.71) 3242 0 R (page.72) 3302 0 R (page.73) 3337 0 R (page.74) 3384 0 R (page.75) 3429 0 R (page.76) 3485 0 R (page.77) 3539 0 R (page.78) 3590 0 R (page.79) 3640 0 R (page.8) 486 0 R ] /Limits [ (page.51) (page.8) ] >>
+endobj
+12068 0 obj
+<< /Names [ (page.80) 3685 0 R (page.81) 3735 0 R (page.82) 3788 0 R (page.83) 3847 0 R (page.84) 3891 0 R (page.85) 3928 0 R (page.86) 3976 0 R (page.87) 4032 0 R (page.88) 4092 0 R (page.89) 4151 0 R (page.9) 534 0 R (page.90) 4204 0 R (page.91) 4257 0 R (page.92) 4303 0 R (page.93) 4362 0 R (page.94) 4420 0 R (page.95) 4469 0 R (page.96) 4517 0 R (page.97) 4569 0 R (page.98) 4609 0 R (page.99) 4647 0 R (section.0.1) 5 0 R (section.0.10) 41 0 R (section.0.11) 45 0 R (section.0.12) 49 0 R (section.0.13) 53 0 R (section.0.14) 57 0 R (section.0.15) 61 0 R (section.0.16) 65 0 R (section.0.17) 69 0 R (section.0.18) 73 0 R (section.0.19) 77 0 R ] /Limits [ (page.80) (section.0.19) ] >>
+endobj
+12069 0 obj
+<< /Names [ (section.0.2) 9 0 R (section.0.20) 81 0 R (section.0.21) 85 0 R (section.0.22) 89 0 R (section.0.23) 93 0 R (section.0.24) 97 0 R (section.0.25) 101 0 R (section.0.26) 105 0 R (section.0.27) 109 0 R (section.0.28) 113 0 R (section.0.29) 117 0 R (section.0.3) 13 0 R (section.0.30) 121 0 R (section.0.31) 125 0 R (section.0.32) 129 0 R (section.0.33) 133 0 R (section.0.34) 137 0 R (section.0.35) 141 0 R (section.0.36) 145 0 R (section.0.37) 149 0 R (section.0.38) 153 0 R (section.0.39) 157 0 R (section.0.4) 17 0 R (section.0.40) 161 0 R (section.0.5) 21 0 R (section.0.6) 25 0 R (section.0.7) 29 0 R (section.0.8) 33 0 R (section.0.9) 37 0 R (toc1.1) 165 0 R ] /Limits [ (section.0.2) (toc1.1) ] >>
+endobj
+12070 0 obj
+<< /Kids [ 11736 0 R 11737 0 R 11738 0 R 11739 0 R 11740 0 R 11741 0 R 11742 0 R 11743 0 R 11744 0 R 11745 0 R 11746 0 R 11747 0 R 11748 0 R 11749 0 R 11750 0 R 11751 0 R 11752 0 R 11753 0 R 11754 0 R 11755 0 R 11756 0 R 11757 0 R 11758 0 R 11759 0 R 11760 0 R 11761 0 R 11762 0 R 11763 0 R 11764 0 R 11765 0 R 11766 0 R 11767 0 R ] /Limits [ (Doc-Start) (HD.1558) ] >>
+endobj
+12071 0 obj
+<< /Kids [ 11768 0 R 11769 0 R 11770 0 R 11771 0 R 11772 0 R 11773 0 R 11774 0 R 11775 0 R 11776 0 R 11777 0 R 11778 0 R 11779 0 R 11780 0 R 11781 0 R 11782 0 R 11783 0 R 11784 0 R 11785 0 R 11786 0 R 11787 0 R 11788 0 R 11789 0 R 11790 0 R 11791 0 R 11792 0 R 11793 0 R 11794 0 R 11795 0 R 11796 0 R 11797 0 R 11798 0 R 11799 0 R ] /Limits [ (HD.1559) (HD.248) ] >>
+endobj
+12072 0 obj
+<< /Kids [ 11800 0 R 11801 0 R 11802 0 R 11803 0 R 11804 0 R 11805 0 R 11806 0 R 11807 0 R 11808 0 R 11809 0 R 11810 0 R 11811 0 R 11812 0 R 11813 0 R 11814 0 R 11815 0 R 11816 0 R 11817 0 R 11818 0 R 11819 0 R 11820 0 R 11821 0 R 11822 0 R 11823 0 R 11824 0 R 11825 0 R 11826 0 R 11827 0 R 11828 0 R 11829 0 R 11830 0 R 11831 0 R ] /Limits [ (HD.2480) (HD.3400) ] >>
+endobj
+12073 0 obj
+<< /Kids [ 11832 0 R 11833 0 R 11834 0 R 11835 0 R 11836 0 R 11837 0 R 11838 0 R 11839 0 R 11840 0 R 11841 0 R 11842 0 R 11843 0 R 11844 0 R 11845 0 R 11846 0 R 11847 0 R 11848 0 R 11849 0 R 11850 0 R 11851 0 R 11852 0 R 11853 0 R 11854 0 R 11855 0 R 11856 0 R 11857 0 R 11858 0 R 11859 0 R 11860 0 R 11861 0 R 11862 0 R 11863 0 R ] /Limits [ (HD.3401) (HD.4322) ] >>
+endobj
+12074 0 obj
+<< /Kids [ 11864 0 R 11865 0 R 11866 0 R 11867 0 R 11868 0 R 11869 0 R 11870 0 R 11871 0 R 11872 0 R 11873 0 R 11874 0 R 11875 0 R 11876 0 R 11877 0 R 11878 0 R 11879 0 R 11880 0 R 11881 0 R 11882 0 R 11883 0 R 11884 0 R 11885 0 R 11886 0 R 11887 0 R 11888 0 R 11889 0 R 11890 0 R 11891 0 R 11892 0 R 11893 0 R 11894 0 R 11895 0 R ] /Limits [ (HD.4323) (HD.5244) ] >>
+endobj
+12075 0 obj
+<< /Kids [ 11896 0 R 11897 0 R 11898 0 R 11899 0 R 11900 0 R 11901 0 R 11902 0 R 11903 0 R 11904 0 R 11905 0 R 11906 0 R 11907 0 R 11908 0 R 11909 0 R 11910 0 R 11911 0 R 11912 0 R 11913 0 R 11914 0 R 11915 0 R 11916 0 R 11917 0 R 11918 0 R 11919 0 R 11920 0 R 11921 0 R 11922 0 R 11923 0 R 11924 0 R 11925 0 R 11926 0 R 11927 0 R ] /Limits [ (HD.5245) (HD.6166) ] >>
+endobj
+12076 0 obj
+<< /Kids [ 11928 0 R 11929 0 R 11930 0 R 11931 0 R 11932 0 R 11933 0 R 11934 0 R 11935 0 R 11936 0 R 11937 0 R 11938 0 R 11939 0 R 11940 0 R 11941 0 R 11942 0 R 11943 0 R 11944 0 R 11945 0 R 11946 0 R 11947 0 R 11948 0 R 11949 0 R 11950 0 R 11951 0 R 11952 0 R 11953 0 R 11954 0 R 11955 0 R 11956 0 R 11957 0 R 11958 0 R 11959 0 R ] /Limits [ (HD.6167) (HD.7088) ] >>
+endobj
+12077 0 obj
+<< /Kids [ 11960 0 R 11961 0 R 11962 0 R 11963 0 R 11964 0 R 11965 0 R 11966 0 R 11967 0 R 11968 0 R 11969 0 R 11970 0 R 11971 0 R 11972 0 R 11973 0 R 11974 0 R 11975 0 R 11976 0 R 11977 0 R 11978 0 R 11979 0 R 11980 0 R 11981 0 R 11982 0 R 11983 0 R 11984 0 R 11985 0 R 11986 0 R 11987 0 R 11988 0 R 11989 0 R 11990 0 R 11991 0 R ] /Limits [ (HD.7089) (HD.8009) ] >>
+endobj
+12078 0 obj
+<< /Kids [ 11992 0 R 11993 0 R 11994 0 R 11995 0 R 11996 0 R 11997 0 R 11998 0 R 11999 0 R 12000 0 R 12001 0 R 12002 0 R 12003 0 R 12004 0 R 12005 0 R 12006 0 R 12007 0 R 12008 0 R 12009 0 R 12010 0 R 12011 0 R 12012 0 R 12013 0 R 12014 0 R 12015 0 R 12016 0 R 12017 0 R 12018 0 R 12019 0 R 12020 0 R 12021 0 R 12022 0 R 12023 0 R ] /Limits [ (HD.801) (HD.8931) ] >>
+endobj
+12079 0 obj
+<< /Kids [ 12024 0 R 12025 0 R 12026 0 R 12027 0 R 12028 0 R 12029 0 R 12030 0 R 12031 0 R 12032 0 R 12033 0 R 12034 0 R 12035 0 R 12036 0 R 12037 0 R 12038 0 R 12039 0 R 12040 0 R 12041 0 R 12042 0 R 12043 0 R 12044 0 R 12045 0 R 12046 0 R 12047 0 R 12048 0 R 12049 0 R 12050 0 R 12051 0 R 12052 0 R 12053 0 R 12054 0 R 12055 0 R ] /Limits [ (HD.8932) (HD.9853) ] >>
+endobj
+12080 0 obj
+<< /Kids [ 12056 0 R 12057 0 R 12058 0 R 12059 0 R 12060 0 R 12061 0 R 12062 0 R 12063 0 R 12064 0 R 12065 0 R 12066 0 R 12067 0 R 12068 0 R 12069 0 R ] /Limits [ (HD.9854) (toc1.1) ] >>
+endobj
+12081 0 obj
+<< /Kids [ 12070 0 R 12071 0 R 12072 0 R 12073 0 R 12074 0 R 12075 0 R 12076 0 R 12077 0 R 12078 0 R 12079 0 R 12080 0 R ] /Limits [ (Doc-Start) (toc1.1) ] >>
+endobj
+12082 0 obj
+<< /Dests 12081 0 R >>
+endobj
+12083 0 obj
+<< /Type /Catalog /Pages 11734 0 R /Outlines 11735 0 R /Names 12082 0 R /PageMode/UseOutlines /OpenAction 168 0 R >>
+endobj
+12084 0 obj
+<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000T\000h\000e\000\040\000c\000o\000d\000e\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000'\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000')/Subject(\376\377\000A\000\040\000L\000a\000T\000e\000X\000\040\000p\000a\000c\000k\000a\000g\000e)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240822114251+02'00') /ModDate (D:20240822114251+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
endobj
xref
-0 12053
+0 12085
0000000000 65535 f
-0001305862 00000 n
-0001305916 00000 n
-0001305936 00000 n
+0001309914 00000 n
+0001309968 00000 n
+0001309988 00000 n
0000000020 00000 n
-0000012824 00000 n
-0001895173 00000 n
+0000012831 00000 n
+0001899433 00000 n
0000000067 00000 n
0000000355 00000 n
-0000019117 00000 n
-0001895085 00000 n
+0000019124 00000 n
+0001899345 00000 n
0000000402 00000 n
0000000511 00000 n
-0000027612 00000 n
-0001894995 00000 n
+0000027619 00000 n
+0001899255 00000 n
0000000559 00000 n
0000000693 00000 n
-0000028805 00000 n
-0001894905 00000 n
+0000028812 00000 n
+0001899165 00000 n
0000000741 00000 n
0000000890 00000 n
-0000055792 00000 n
-0001894815 00000 n
+0000055799 00000 n
+0001899075 00000 n
0000000938 00000 n
0000001029 00000 n
-0000101646 00000 n
-0001894725 00000 n
+0000101653 00000 n
+0001898985 00000 n
0000001077 00000 n
0000001247 00000 n
-0000128392 00000 n
-0001894635 00000 n
+0000128399 00000 n
+0001898895 00000 n
0000001295 00000 n
0000001546 00000 n
-0000133986 00000 n
-0001894545 00000 n
+0000133993 00000 n
+0001898805 00000 n
0000001594 00000 n
0000001693 00000 n
-0000193350 00000 n
-0001894455 00000 n
+0000193371 00000 n
+0001898715 00000 n
0000001741 00000 n
0000002028 00000 n
-0000268848 00000 n
-0001894365 00000 n
+0000268869 00000 n
+0001898625 00000 n
0000002077 00000 n
0000002204 00000 n
-0000291658 00000 n
-0001894275 00000 n
+0000291675 00000 n
+0001898535 00000 n
0000002253 00000 n
0000002496 00000 n
-0000321712 00000 n
-0001894185 00000 n
+0000321728 00000 n
+0001898445 00000 n
0000002545 00000 n
0000002799 00000 n
-0000410858 00000 n
-0001894095 00000 n
+0000410874 00000 n
+0001898355 00000 n
0000002848 00000 n
0000003066 00000 n
-0000508736 00000 n
-0001894005 00000 n
+0000509734 00000 n
+0001898265 00000 n
0000003115 00000 n
0000003407 00000 n
-0000514851 00000 n
-0001893915 00000 n
+0000518029 00000 n
+0001898175 00000 n
0000003456 00000 n
0000003769 00000 n
-0000524392 00000 n
-0001893825 00000 n
+0000524976 00000 n
+0001898085 00000 n
0000003818 00000 n
0000004054 00000 n
-0000562493 00000 n
-0001893735 00000 n
+0000561606 00000 n
+0001897995 00000 n
0000004103 00000 n
0000004281 00000 n
-0000633002 00000 n
-0001893645 00000 n
+0000636689 00000 n
+0001897905 00000 n
0000004330 00000 n
0000004713 00000 n
-0000665269 00000 n
-0001893555 00000 n
+0000666603 00000 n
+0001897815 00000 n
0000004762 00000 n
0000005061 00000 n
-0000700508 00000 n
-0001893465 00000 n
+0000700803 00000 n
+0001897725 00000 n
0000005110 00000 n
0000005384 00000 n
-0000709934 00000 n
-0001893375 00000 n
+0000710978 00000 n
+0001897635 00000 n
0000005433 00000 n
0000005593 00000 n
-0000722555 00000 n
-0001893285 00000 n
+0000726728 00000 n
+0001897545 00000 n
0000005642 00000 n
0000005868 00000 n
-0000789037 00000 n
-0001893195 00000 n
+0000792897 00000 n
+0001897455 00000 n
0000005917 00000 n
0000006140 00000 n
-0000876767 00000 n
-0001893104 00000 n
+0000880415 00000 n
+0001897364 00000 n
0000006189 00000 n
0000006326 00000 n
-0000891534 00000 n
-0001893010 00000 n
+0000892264 00000 n
+0001897270 00000 n
0000006376 00000 n
0000006600 00000 n
-0000897782 00000 n
-0001892915 00000 n
+0000898028 00000 n
+0001897175 00000 n
0000006650 00000 n
0000006778 00000 n
-0000921180 00000 n
-0001892820 00000 n
+0000924722 00000 n
+0001897080 00000 n
0000006828 00000 n
0000006928 00000 n
-0001055792 00000 n
-0001892725 00000 n
+0001059741 00000 n
+0001896985 00000 n
0000006978 00000 n
0000007253 00000 n
-0001059536 00000 n
-0001892630 00000 n
+0001063499 00000 n
+0001896890 00000 n
0000007303 00000 n
0000007433 00000 n
-0001066716 00000 n
-0001892535 00000 n
+0001070712 00000 n
+0001896795 00000 n
0000007483 00000 n
0000007756 00000 n
-0001067297 00000 n
-0001892440 00000 n
+0001071295 00000 n
+0001896700 00000 n
0000007806 00000 n
0000007962 00000 n
-0001077264 00000 n
-0001892345 00000 n
+0001081306 00000 n
+0001896605 00000 n
0000008012 00000 n
0000008178 00000 n
-0001078365 00000 n
-0001892250 00000 n
+0001082406 00000 n
+0001896510 00000 n
0000008228 00000 n
0000008437 00000 n
-0001087204 00000 n
-0001892155 00000 n
+0001091247 00000 n
+0001896415 00000 n
0000008487 00000 n
0000008653 00000 n
-0001134326 00000 n
-0001892060 00000 n
+0001138385 00000 n
+0001896320 00000 n
0000008703 00000 n
0000008963 00000 n
-0001152306 00000 n
-0001891965 00000 n
+0001156389 00000 n
+0001896225 00000 n
0000009013 00000 n
0000009191 00000 n
-0001162718 00000 n
-0001891870 00000 n
+0001166803 00000 n
+0001896130 00000 n
0000009241 00000 n
0000009427 00000 n
-0001177896 00000 n
-0001891775 00000 n
+0001181976 00000 n
+0001896035 00000 n
0000009477 00000 n
0000009747 00000 n
-0001187226 00000 n
-0001891680 00000 n
+0001191292 00000 n
+0001895940 00000 n
0000009797 00000 n
0000009993 00000 n
-0001188160 00000 n
-0001891585 00000 n
+0001192226 00000 n
+0001895845 00000 n
0000010043 00000 n
0000010247 00000 n
-0001303010 00000 n
-0001891504 00000 n
+0001307063 00000 n
+0001895764 00000 n
0000010291 00000 n
0000010360 00000 n
-0000012579 00000 n
-0000013827 00000 n
+0000012586 00000 n
+0000013834 00000 n
0000010424 00000 n
-0000012700 00000 n
-0000012762 00000 n
-0001882271 00000 n
-0001883878 00000 n
-0001885859 00000 n
-0001882092 00000 n
-0001884588 00000 n
-0001881555 00000 n
-0001882982 00000 n
-0001884233 00000 n
-0001883338 00000 n
-0001884943 00000 n
-0001881913 00000 n
-0001883700 00000 n
-0001884410 00000 n
-0001881379 00000 n
-0000012884 00000 n
-0001884056 00000 n
-0000012947 00000 n
-0000013009 00000 n
-0000013072 00000 n
-0000013135 00000 n
-0000013198 00000 n
-0000013261 00000 n
-0000013324 00000 n
-0000013387 00000 n
-0000013450 00000 n
-0000013513 00000 n
-0000013576 00000 n
-0000013639 00000 n
-0000013702 00000 n
-0000013765 00000 n
-0001886041 00000 n
-0001882804 00000 n
-0001887113 00000 n
-0000019177 00000 n
-0000016231 00000 n
-0000014159 00000 n
-0000016352 00000 n
-0000016414 00000 n
-0000016477 00000 n
-0000016540 00000 n
-0000016603 00000 n
-0000016666 00000 n
-0000016729 00000 n
-0000016792 00000 n
-0000016855 00000 n
-0000016918 00000 n
-0000016980 00000 n
-0000017043 00000 n
-0000017106 00000 n
-0000017169 00000 n
-0000017232 00000 n
-0000017295 00000 n
-0000017358 00000 n
-0000017421 00000 n
-0000017484 00000 n
-0000017547 00000 n
-0000017609 00000 n
-0000017672 00000 n
-0000017735 00000 n
-0000017798 00000 n
-0000017861 00000 n
-0000017923 00000 n
-0000017986 00000 n
-0000018049 00000 n
-0000018112 00000 n
-0000018175 00000 n
-0000018238 00000 n
-0000018301 00000 n
-0000018364 00000 n
-0000018427 00000 n
-0000018488 00000 n
-0000018551 00000 n
-0000018614 00000 n
-0000018677 00000 n
-0000018740 00000 n
-0000018803 00000 n
-0000018866 00000 n
-0000018929 00000 n
-0000018992 00000 n
-0000019055 00000 n
-0000024628 00000 n
-0000021807 00000 n
-0000019340 00000 n
-0000021928 00000 n
-0000021990 00000 n
-0000022053 00000 n
-0000022116 00000 n
-0000022179 00000 n
-0000022242 00000 n
-0000022305 00000 n
-0001886937 00000 n
-0000022368 00000 n
-0000022431 00000 n
-0000022493 00000 n
-0000022556 00000 n
-0000022618 00000 n
-0000022681 00000 n
-0000022744 00000 n
-0000022807 00000 n
-0000022870 00000 n
-0000022933 00000 n
-0000022996 00000 n
-0000023059 00000 n
-0000023122 00000 n
-0000023185 00000 n
-0000023247 00000 n
-0000023310 00000 n
-0000023372 00000 n
-0000023435 00000 n
-0000023498 00000 n
-0000023561 00000 n
-0000023624 00000 n
-0000023687 00000 n
-0000023750 00000 n
-0000023813 00000 n
-0000023876 00000 n
-0000023937 00000 n
-0000024000 00000 n
-0000024063 00000 n
-0000024126 00000 n
-0000024189 00000 n
-0000024252 00000 n
-0000024315 00000 n
-0000024378 00000 n
-0000024441 00000 n
-0000024504 00000 n
-0000024566 00000 n
-0000029053 00000 n
-0000026674 00000 n
-0000024830 00000 n
-0000026795 00000 n
-0000026857 00000 n
-0000026920 00000 n
-0000026983 00000 n
-0000027046 00000 n
-0000027109 00000 n
-0000027172 00000 n
-0000027235 00000 n
-0000027298 00000 n
-0000027361 00000 n
-0000027423 00000 n
-0000027486 00000 n
-0000027549 00000 n
-0001883516 00000 n
-0001883160 00000 n
-0000027673 00000 n
-0000027736 00000 n
-0000027798 00000 n
-0000027861 00000 n
-0000027924 00000 n
-0000027987 00000 n
-0000028050 00000 n
-0000028113 00000 n
-0000028176 00000 n
-0000028239 00000 n
-0000028302 00000 n
-0000028364 00000 n
-0000028427 00000 n
-0000028490 00000 n
-0000028553 00000 n
-0000028616 00000 n
-0000028679 00000 n
-0000028742 00000 n
-0000028866 00000 n
-0000028929 00000 n
-0000028991 00000 n
-0000034564 00000 n
-0000031863 00000 n
-0000029255 00000 n
-0000031984 00000 n
-0000032046 00000 n
-0000032109 00000 n
-0000032172 00000 n
-0000032235 00000 n
-0000032298 00000 n
-0000032361 00000 n
-0000032424 00000 n
-0000032487 00000 n
-0000032550 00000 n
-0000032612 00000 n
-0000032675 00000 n
-0000032738 00000 n
-0000032801 00000 n
-0000032864 00000 n
-0000032927 00000 n
-0000032990 00000 n
-0000033053 00000 n
-0000033116 00000 n
-0000033179 00000 n
-0000033242 00000 n
-0000033305 00000 n
-0000033368 00000 n
-0000033431 00000 n
-0000033493 00000 n
-0000033556 00000 n
-0000033619 00000 n
-0000033682 00000 n
-0000033745 00000 n
-0000033808 00000 n
-0000033871 00000 n
-0000033934 00000 n
-0000033997 00000 n
-0000034060 00000 n
-0000034123 00000 n
-0000034186 00000 n
-0000034249 00000 n
-0000034312 00000 n
-0000034375 00000 n
-0000034438 00000 n
-0000034501 00000 n
-0000040313 00000 n
-0000037551 00000 n
-0000034753 00000 n
-0000037672 00000 n
-0000037734 00000 n
-0000037797 00000 n
-0000037859 00000 n
-0000037922 00000 n
-0000037985 00000 n
-0000038048 00000 n
-0000038111 00000 n
-0000038174 00000 n
-0000038237 00000 n
-0000038300 00000 n
-0000038363 00000 n
-0000038426 00000 n
-0000038489 00000 n
-0000038552 00000 n
-0000038615 00000 n
-0000038678 00000 n
-0000038741 00000 n
-0000038804 00000 n
-0000038867 00000 n
-0000038929 00000 n
-0000038992 00000 n
-0000039055 00000 n
-0000039118 00000 n
-0000039181 00000 n
-0000039244 00000 n
-0000039307 00000 n
-0000039370 00000 n
-0000039433 00000 n
-0000039496 00000 n
-0000039558 00000 n
-0000039621 00000 n
-0000039684 00000 n
-0000039747 00000 n
-0000039810 00000 n
-0000039873 00000 n
-0000039936 00000 n
-0000039999 00000 n
-0000040062 00000 n
-0000040125 00000 n
-0000040188 00000 n
-0000040251 00000 n
-0000043176 00000 n
-0000046286 00000 n
-0000043010 00000 n
-0000040489 00000 n
-0000043332 00000 n
-0000043394 00000 n
-0000043457 00000 n
-0000043520 00000 n
-0000043583 00000 n
-0000043646 00000 n
-0000043709 00000 n
-0000043772 00000 n
-0000043834 00000 n
-0000043897 00000 n
-0000043960 00000 n
-0000044023 00000 n
-0000044086 00000 n
-0000044149 00000 n
-0000044212 00000 n
-0000044275 00000 n
-0000044338 00000 n
-0000044401 00000 n
-0000044464 00000 n
-0000044526 00000 n
-0000044589 00000 n
-0000044652 00000 n
-0000044715 00000 n
-0000044778 00000 n
-0000044841 00000 n
-0000044904 00000 n
-0000044967 00000 n
-0000045030 00000 n
-0000045092 00000 n
-0000045155 00000 n
-0000045218 00000 n
-0000045280 00000 n
-0000045343 00000 n
-0000045406 00000 n
-0000045469 00000 n
-0000045532 00000 n
-0000045595 00000 n
-0000045658 00000 n
-0000045721 00000 n
-0000045784 00000 n
-0001882627 00000 n
-0000045846 00000 n
-0000045909 00000 n
-0000045972 00000 n
-0000046035 00000 n
-0000046098 00000 n
-0000046161 00000 n
-0001882450 00000 n
-0000046224 00000 n
-0000043147 00000 n
-0000051950 00000 n
-0000049003 00000 n
-0000046527 00000 n
-0000049124 00000 n
-0000049186 00000 n
-0000049249 00000 n
-0000049310 00000 n
-0000049373 00000 n
-0000049436 00000 n
-0000049499 00000 n
-0000049560 00000 n
-0000049623 00000 n
-0000049686 00000 n
-0000049749 00000 n
-0000049812 00000 n
-0000049875 00000 n
-0000049938 00000 n
-0000050001 00000 n
-0000050064 00000 n
-0000050126 00000 n
-0000050189 00000 n
-0000050252 00000 n
-0000050315 00000 n
-0000050378 00000 n
-0000050441 00000 n
-0000050504 00000 n
-0000050567 00000 n
-0000050630 00000 n
-0000050693 00000 n
-0000050756 00000 n
-0000050819 00000 n
-0000050882 00000 n
-0000050945 00000 n
-0000051008 00000 n
-0000051071 00000 n
-0000051134 00000 n
-0000051197 00000 n
-0000051260 00000 n
-0000051323 00000 n
-0000051386 00000 n
-0000051449 00000 n
-0000051512 00000 n
-0000051574 00000 n
-0000051637 00000 n
-0000051700 00000 n
-0000051763 00000 n
-0000051826 00000 n
-0000051888 00000 n
-0000056293 00000 n
-0000054350 00000 n
-0000052139 00000 n
-0000054471 00000 n
-0000054533 00000 n
-0000054596 00000 n
-0000054658 00000 n
-0000054721 00000 n
-0000054784 00000 n
-0000054847 00000 n
-0000054910 00000 n
-0000054973 00000 n
-0000055036 00000 n
-0000055099 00000 n
-0000055162 00000 n
-0000055225 00000 n
-0000055288 00000 n
-0000055351 00000 n
-0000055414 00000 n
-0000055477 00000 n
-0000055540 00000 n
-0000055603 00000 n
-0000055666 00000 n
-0000055729 00000 n
-0000055853 00000 n
-0001881730 00000 n
-0000055916 00000 n
-0000055979 00000 n
-0000056042 00000 n
-0000056105 00000 n
-0000056168 00000 n
-0000056230 00000 n
-0000060748 00000 n
-0000059559 00000 n
-0000056508 00000 n
-0000059680 00000 n
-0000059742 00000 n
-0000059805 00000 n
-0000059867 00000 n
-0000059930 00000 n
-0000059993 00000 n
-0000060056 00000 n
-0000060119 00000 n
-0000060182 00000 n
-0000060245 00000 n
-0000060308 00000 n
-0000060371 00000 n
-0000060434 00000 n
-0000060497 00000 n
-0000060560 00000 n
-0000060622 00000 n
-0000060685 00000 n
-0000064767 00000 n
-0000063579 00000 n
-0000060924 00000 n
-0000063700 00000 n
-0000063762 00000 n
-0000063825 00000 n
-0000063888 00000 n
-0000063951 00000 n
-0000064014 00000 n
-0000064077 00000 n
-0000064140 00000 n
-0000064202 00000 n
-0000064265 00000 n
-0000064328 00000 n
-0000064391 00000 n
-0000064453 00000 n
-0000064516 00000 n
-0000064579 00000 n
-0000064642 00000 n
-0000064705 00000 n
-0001887267 00000 n
-0000069178 00000 n
-0000067549 00000 n
-0000064956 00000 n
-0000067670 00000 n
-0000067732 00000 n
-0000067795 00000 n
-0000067858 00000 n
-0000067921 00000 n
-0000067984 00000 n
-0000068047 00000 n
-0000068110 00000 n
-0000068173 00000 n
-0000068236 00000 n
-0000068299 00000 n
-0000068362 00000 n
-0000068425 00000 n
-0000068488 00000 n
-0000068551 00000 n
-0000068614 00000 n
-0000068677 00000 n
-0000068740 00000 n
-0000068803 00000 n
-0000068866 00000 n
-0000068927 00000 n
-0000068990 00000 n
-0000069053 00000 n
-0000069116 00000 n
-0000073738 00000 n
-0000072299 00000 n
-0000069367 00000 n
-0000072420 00000 n
-0000072482 00000 n
-0000072545 00000 n
-0000072608 00000 n
-0000072671 00000 n
-0000072734 00000 n
-0000072797 00000 n
-0000072859 00000 n
-0000072922 00000 n
-0000072985 00000 n
-0000073048 00000 n
-0000073110 00000 n
-0000073173 00000 n
-0000073236 00000 n
-0000073299 00000 n
-0000073362 00000 n
-0000073425 00000 n
-0000073487 00000 n
-0000073550 00000 n
-0000073613 00000 n
-0000073676 00000 n
-0000078236 00000 n
-0000077047 00000 n
-0000073940 00000 n
-0000077168 00000 n
-0000077230 00000 n
-0001886403 00000 n
-0000077293 00000 n
-0001885490 00000 n
-0000077356 00000 n
-0000077419 00000 n
-0000077482 00000 n
-0000077545 00000 n
-0000077608 00000 n
-0001886757 00000 n
-0000077671 00000 n
-0000077733 00000 n
-0000077796 00000 n
-0000077859 00000 n
-0000077921 00000 n
-0000077984 00000 n
-0000078047 00000 n
-0000078110 00000 n
-0000078173 00000 n
-0000082943 00000 n
-0000081755 00000 n
-0000078464 00000 n
-0000081876 00000 n
-0000081938 00000 n
-0000082001 00000 n
-0000082064 00000 n
-0000082127 00000 n
-0000082190 00000 n
-0000082253 00000 n
-0000082316 00000 n
-0000082379 00000 n
-0000082442 00000 n
-0000082505 00000 n
-0000082568 00000 n
-0000082631 00000 n
-0000082692 00000 n
-0000082755 00000 n
-0000082817 00000 n
-0000082880 00000 n
-0000088116 00000 n
-0000086485 00000 n
-0000083132 00000 n
-0000086606 00000 n
-0000086668 00000 n
-0000086731 00000 n
-0000086794 00000 n
-0000086857 00000 n
-0000086920 00000 n
-0000086983 00000 n
-0000087046 00000 n
-0000087109 00000 n
-0000087172 00000 n
-0000087235 00000 n
-0000087298 00000 n
-0000087361 00000 n
-0000087424 00000 n
-0000087487 00000 n
-0000087550 00000 n
-0000087613 00000 n
-0000087676 00000 n
-0000087739 00000 n
-0000087802 00000 n
-0000087865 00000 n
-0000087928 00000 n
-0000087991 00000 n
-0000088054 00000 n
-0000092765 00000 n
-0000091200 00000 n
-0000088318 00000 n
-0000091321 00000 n
-0000091383 00000 n
-0000091445 00000 n
-0000091508 00000 n
-0000091571 00000 n
-0000091634 00000 n
-0000091697 00000 n
-0000091760 00000 n
-0000091823 00000 n
-0000091886 00000 n
-0000091949 00000 n
-0000092012 00000 n
-0000092075 00000 n
-0000092138 00000 n
-0000092201 00000 n
-0000092264 00000 n
-0000092327 00000 n
-0000092389 00000 n
-0000092452 00000 n
-0000092515 00000 n
-0000092578 00000 n
-0001881203 00000 n
-0000092641 00000 n
-0000092703 00000 n
-0000096090 00000 n
-0000096997 00000 n
-0000095924 00000 n
-0000092967 00000 n
-0000096245 00000 n
-0000096307 00000 n
-0000096369 00000 n
-0000096432 00000 n
-0000096495 00000 n
-0000096558 00000 n
-0000096621 00000 n
-0000096684 00000 n
-0000096746 00000 n
-0000096809 00000 n
-0000096872 00000 n
-0000096935 00000 n
-0001884766 00000 n
-0001886222 00000 n
-0001886580 00000 n
-0000096061 00000 n
-0000101707 00000 n
-0000099577 00000 n
-0000097290 00000 n
-0000099698 00000 n
-0000099760 00000 n
-0000099823 00000 n
-0000099886 00000 n
-0000099949 00000 n
-0000100012 00000 n
-0000100075 00000 n
-0000100138 00000 n
-0000100201 00000 n
-0000100264 00000 n
-0000100327 00000 n
-0000100390 00000 n
-0000100453 00000 n
-0000100515 00000 n
-0000100578 00000 n
-0000100641 00000 n
-0000100704 00000 n
-0000100767 00000 n
-0000100830 00000 n
-0000100893 00000 n
-0000100956 00000 n
-0000101019 00000 n
-0000101080 00000 n
-0000101143 00000 n
-0000101206 00000 n
-0000101269 00000 n
-0000101332 00000 n
-0000101395 00000 n
-0000101458 00000 n
-0000101521 00000 n
-0000101584 00000 n
-0000105517 00000 n
-0000106678 00000 n
-0000105351 00000 n
-0000101922 00000 n
-0000105673 00000 n
-0001885120 00000 n
-0000105735 00000 n
-0000105798 00000 n
-0000105860 00000 n
-0000105923 00000 n
-0000105986 00000 n
-0000106049 00000 n
-0000106112 00000 n
-0000106175 00000 n
-0000106238 00000 n
-0000106301 00000 n
-0000106364 00000 n
-0000106426 00000 n
-0000106489 00000 n
-0000106552 00000 n
-0000106615 00000 n
-0000105488 00000 n
-0000112386 00000 n
-0000109754 00000 n
-0000106971 00000 n
-0000109875 00000 n
-0000109937 00000 n
-0000110000 00000 n
-0000110063 00000 n
-0000110125 00000 n
-0000110188 00000 n
-0000110251 00000 n
-0000110314 00000 n
-0000110377 00000 n
-0000110440 00000 n
-0000110502 00000 n
-0000110565 00000 n
-0000110628 00000 n
-0000110691 00000 n
-0000110754 00000 n
-0000110817 00000 n
-0000110880 00000 n
-0000110943 00000 n
-0000111006 00000 n
-0000111067 00000 n
-0000111130 00000 n
-0000111193 00000 n
-0000111256 00000 n
-0000111319 00000 n
-0000111382 00000 n
-0000111445 00000 n
-0000111508 00000 n
-0000111571 00000 n
-0000111634 00000 n
-0000111697 00000 n
-0000111760 00000 n
-0000111822 00000 n
-0000111885 00000 n
-0000111948 00000 n
-0000112011 00000 n
-0000112074 00000 n
-0000112137 00000 n
-0000112200 00000 n
-0000112263 00000 n
-0000112325 00000 n
-0001887421 00000 n
-0000118031 00000 n
-0000115081 00000 n
-0000112562 00000 n
-0000115202 00000 n
-0000115264 00000 n
-0000115327 00000 n
-0000115390 00000 n
-0000115453 00000 n
-0000115516 00000 n
-0000115579 00000 n
-0000115642 00000 n
-0000115705 00000 n
-0000115768 00000 n
-0000115830 00000 n
-0000115893 00000 n
-0000115956 00000 n
-0000116019 00000 n
-0000116082 00000 n
-0000116145 00000 n
-0000116208 00000 n
-0000116271 00000 n
-0000116334 00000 n
-0000116397 00000 n
-0000116459 00000 n
-0000116522 00000 n
-0000116585 00000 n
-0000116648 00000 n
-0000116711 00000 n
-0000116774 00000 n
-0000116837 00000 n
-0000116900 00000 n
-0000116963 00000 n
-0000117026 00000 n
-0000117089 00000 n
-0000117152 00000 n
-0000117215 00000 n
-0000117278 00000 n
-0000117341 00000 n
-0000117404 00000 n
-0000117467 00000 n
-0000117530 00000 n
-0000117593 00000 n
-0000117655 00000 n
-0000117718 00000 n
-0000117781 00000 n
-0000117844 00000 n
-0000117907 00000 n
-0000117969 00000 n
-0000123692 00000 n
-0000120993 00000 n
-0000118207 00000 n
-0000121114 00000 n
-0000121176 00000 n
-0000121239 00000 n
-0000121302 00000 n
-0000121365 00000 n
-0000121428 00000 n
-0000121491 00000 n
-0000121554 00000 n
-0000121617 00000 n
-0000121680 00000 n
-0000121742 00000 n
-0000121805 00000 n
-0000121868 00000 n
-0000121931 00000 n
-0000121994 00000 n
-0000122057 00000 n
-0000122120 00000 n
-0000122183 00000 n
-0000122246 00000 n
-0000122309 00000 n
-0000122372 00000 n
-0000122435 00000 n
-0000122498 00000 n
-0000122561 00000 n
-0000122624 00000 n
-0000122687 00000 n
-0000122750 00000 n
-0000122812 00000 n
-0000122875 00000 n
-0000122938 00000 n
-0000123001 00000 n
-0000123064 00000 n
-0000123127 00000 n
-0000123190 00000 n
-0000123253 00000 n
-0000123316 00000 n
-0000123379 00000 n
-0000123442 00000 n
-0000123505 00000 n
-0000123568 00000 n
-0000123630 00000 n
-0000129151 00000 n
-0000126322 00000 n
-0000123881 00000 n
-0000126443 00000 n
-0000126505 00000 n
-0000126568 00000 n
-0000126631 00000 n
-0000126694 00000 n
-0000126757 00000 n
-0000126819 00000 n
-0000126882 00000 n
-0000126945 00000 n
-0000127008 00000 n
-0000127071 00000 n
-0000127134 00000 n
-0000127197 00000 n
-0000127260 00000 n
-0000127323 00000 n
-0000127386 00000 n
-0000127449 00000 n
-0000127512 00000 n
-0000127575 00000 n
-0000127637 00000 n
-0000127700 00000 n
-0000127763 00000 n
-0000127826 00000 n
-0000127889 00000 n
-0000127952 00000 n
-0000128015 00000 n
-0000128078 00000 n
-0000128141 00000 n
-0000128203 00000 n
-0000128266 00000 n
-0000128329 00000 n
-0000128452 00000 n
-0000128515 00000 n
-0000128578 00000 n
-0000128642 00000 n
-0000128706 00000 n
-0000128769 00000 n
-0000128833 00000 n
-0000128897 00000 n
-0000128961 00000 n
-0000129025 00000 n
-0000129088 00000 n
-0000134371 00000 n
-0000131463 00000 n
-0000129340 00000 n
-0000131587 00000 n
-0000131651 00000 n
-0000131716 00000 n
-0000131781 00000 n
-0000131846 00000 n
-0000131911 00000 n
-0000131976 00000 n
-0000132041 00000 n
-0000132106 00000 n
-0000132171 00000 n
-0000132235 00000 n
-0000132300 00000 n
-0000132365 00000 n
-0000132430 00000 n
-0000132495 00000 n
-0000132558 00000 n
-0000132623 00000 n
-0000132688 00000 n
-0000132753 00000 n
-0000132818 00000 n
-0000132883 00000 n
-0000132948 00000 n
-0000133013 00000 n
-0000133078 00000 n
-0000133142 00000 n
-0000133207 00000 n
-0000133272 00000 n
-0000133337 00000 n
-0000133402 00000 n
-0000133467 00000 n
-0000133532 00000 n
-0000133597 00000 n
-0000133662 00000 n
-0000133726 00000 n
-0000133791 00000 n
-0000133856 00000 n
-0000133921 00000 n
-0000134048 00000 n
-0000134112 00000 n
-0000134177 00000 n
-0000134242 00000 n
-0000134307 00000 n
-0000139157 00000 n
-0000137412 00000 n
-0000134561 00000 n
-0000137536 00000 n
-0000137600 00000 n
-0000137665 00000 n
-0000137730 00000 n
-0000137795 00000 n
-0000137860 00000 n
-0000137925 00000 n
-0000137990 00000 n
-0000138055 00000 n
-0000138120 00000 n
-0000138185 00000 n
-0000138250 00000 n
-0000138315 00000 n
-0000138380 00000 n
-0000138445 00000 n
-0000138510 00000 n
-0000138575 00000 n
-0000138640 00000 n
-0000138705 00000 n
-0000138770 00000 n
-0000138835 00000 n
-0000138900 00000 n
-0000138964 00000 n
-0000139029 00000 n
-0000139093 00000 n
-0000143283 00000 n
-0000141992 00000 n
-0000139334 00000 n
-0000142116 00000 n
-0000142180 00000 n
-0000142245 00000 n
-0000142310 00000 n
-0000142375 00000 n
-0000142440 00000 n
-0000142505 00000 n
-0000142569 00000 n
-0000142634 00000 n
-0000142699 00000 n
-0000142764 00000 n
-0000142829 00000 n
-0000142894 00000 n
-0000142959 00000 n
-0000143023 00000 n
-0000143088 00000 n
-0000143153 00000 n
-0000143218 00000 n
-0000148766 00000 n
-0000146244 00000 n
-0000143460 00000 n
-0000146368 00000 n
-0000146432 00000 n
-0000146497 00000 n
-0000146562 00000 n
-0000146627 00000 n
-0000146692 00000 n
-0000146757 00000 n
-0000146822 00000 n
-0000146887 00000 n
-0000146952 00000 n
-0000147017 00000 n
-0000147082 00000 n
-0000147147 00000 n
-0000147211 00000 n
-0000147276 00000 n
-0000147341 00000 n
-0000147406 00000 n
-0000147471 00000 n
-0000147536 00000 n
-0000147601 00000 n
-0000147666 00000 n
-0000147731 00000 n
-0000147796 00000 n
-0000147860 00000 n
-0000147925 00000 n
-0000147990 00000 n
-0000148055 00000 n
-0000148120 00000 n
-0000148185 00000 n
-0000148250 00000 n
-0000148315 00000 n
-0000148380 00000 n
-0000148443 00000 n
-0000148508 00000 n
-0000148573 00000 n
-0000148638 00000 n
-0000148702 00000 n
-0000154749 00000 n
-0000151319 00000 n
-0000148943 00000 n
-0000151443 00000 n
-0000151507 00000 n
-0000151572 00000 n
-0000151637 00000 n
-0000151702 00000 n
-0000151767 00000 n
-0000151832 00000 n
-0000151897 00000 n
-0000151962 00000 n
-0000152027 00000 n
-0000152091 00000 n
-0000152156 00000 n
-0000152221 00000 n
-0000152286 00000 n
-0000152351 00000 n
-0000152415 00000 n
-0000152480 00000 n
-0000152545 00000 n
-0000152610 00000 n
-0000152675 00000 n
-0000152740 00000 n
-0000152805 00000 n
-0000152869 00000 n
-0000152934 00000 n
-0000152999 00000 n
-0000153064 00000 n
-0000153129 00000 n
-0000153194 00000 n
-0000153259 00000 n
-0000153324 00000 n
-0000153388 00000 n
-0000153453 00000 n
-0000153518 00000 n
-0000153583 00000 n
-0000153648 00000 n
-0000153713 00000 n
-0000153778 00000 n
-0000153843 00000 n
-0000153908 00000 n
-0000153972 00000 n
-0000154037 00000 n
-0000154102 00000 n
-0000154167 00000 n
-0000154232 00000 n
-0000154297 00000 n
-0000154362 00000 n
-0000154427 00000 n
-0000154492 00000 n
-0000154556 00000 n
-0000154621 00000 n
-0000154685 00000 n
-0000160904 00000 n
-0000156954 00000 n
-0000154913 00000 n
-0000157078 00000 n
-0000157142 00000 n
-0000157207 00000 n
-0000157272 00000 n
-0000157337 00000 n
-0000157402 00000 n
-0000157467 00000 n
-0000157532 00000 n
-0000157597 00000 n
-0000157662 00000 n
-0000157726 00000 n
-0000157791 00000 n
-0000157856 00000 n
-0000157921 00000 n
-0000157986 00000 n
-0000158051 00000 n
-0000158116 00000 n
-0000158181 00000 n
-0000158246 00000 n
-0000158310 00000 n
-0000158375 00000 n
-0000158440 00000 n
-0000158505 00000 n
-0000158570 00000 n
-0000158635 00000 n
-0000158700 00000 n
-0000158765 00000 n
-0000158830 00000 n
-0000158893 00000 n
-0000158958 00000 n
-0000159023 00000 n
-0000159088 00000 n
-0000159153 00000 n
-0000159218 00000 n
-0000159283 00000 n
-0000159348 00000 n
-0000159413 00000 n
-0000159478 00000 n
-0000159543 00000 n
-0000159608 00000 n
-0000159673 00000 n
-0000159738 00000 n
-0000159802 00000 n
-0000159867 00000 n
-0000159932 00000 n
-0000159997 00000 n
-0000160062 00000 n
-0000160127 00000 n
-0000160192 00000 n
-0000160257 00000 n
-0000160322 00000 n
-0000160386 00000 n
-0000160451 00000 n
-0000160516 00000 n
-0000160581 00000 n
-0000160646 00000 n
-0000160711 00000 n
-0000160776 00000 n
-0000160840 00000 n
-0000166892 00000 n
-0000163265 00000 n
-0000161068 00000 n
-0000163390 00000 n
-0000163454 00000 n
-0000163519 00000 n
-0000163584 00000 n
-0000163649 00000 n
-0000163714 00000 n
-0000163779 00000 n
-0000163844 00000 n
-0000163909 00000 n
-0000163974 00000 n
-0000164038 00000 n
-0000164103 00000 n
-0000164168 00000 n
-0000164233 00000 n
-0000164298 00000 n
-0000164363 00000 n
-0000164428 00000 n
-0000164493 00000 n
-0000164558 00000 n
-0000164622 00000 n
-0000164687 00000 n
-0000164752 00000 n
-0000164817 00000 n
-0000164882 00000 n
-0000164947 00000 n
-0000165012 00000 n
-0000165077 00000 n
-0000165142 00000 n
-0000165207 00000 n
-0000165272 00000 n
-0000165337 00000 n
-0000165401 00000 n
-0000165466 00000 n
-0000165531 00000 n
-0000165596 00000 n
-0000165661 00000 n
-0000165726 00000 n
-0000165791 00000 n
-0000165856 00000 n
-0000165921 00000 n
-0000165986 00000 n
-0000166051 00000 n
-0000166116 00000 n
-0000166180 00000 n
-0000166245 00000 n
-0000166310 00000 n
-0000166375 00000 n
-0000166440 00000 n
-0000166505 00000 n
-0000166570 00000 n
-0000166634 00000 n
-0000166699 00000 n
-0000166764 00000 n
-0000166828 00000 n
-0001887581 00000 n
-0000172825 00000 n
-0000168809 00000 n
-0000167069 00000 n
-0000168934 00000 n
-0000168998 00000 n
-0000169063 00000 n
-0000169128 00000 n
-0000169193 00000 n
-0000169258 00000 n
-0000169323 00000 n
-0000169388 00000 n
-0000169453 00000 n
-0000169518 00000 n
-0000169583 00000 n
-0000169647 00000 n
-0000169712 00000 n
-0000169777 00000 n
-0000169842 00000 n
-0000169907 00000 n
-0000169972 00000 n
-0000170037 00000 n
-0000170102 00000 n
-0000170167 00000 n
-0000170231 00000 n
-0000170296 00000 n
-0000170361 00000 n
-0000170426 00000 n
-0000170491 00000 n
-0000170556 00000 n
-0000170621 00000 n
-0000170686 00000 n
-0000170751 00000 n
-0000170815 00000 n
-0000170880 00000 n
-0000170945 00000 n
-0000171010 00000 n
-0000171075 00000 n
-0000171140 00000 n
-0000171205 00000 n
-0000171270 00000 n
-0000171335 00000 n
-0000171399 00000 n
-0000171464 00000 n
-0000171529 00000 n
-0000171594 00000 n
-0000171659 00000 n
-0000171724 00000 n
-0000171789 00000 n
-0000171854 00000 n
-0000171919 00000 n
-0000171982 00000 n
-0000172047 00000 n
-0000172112 00000 n
-0000172177 00000 n
-0000172242 00000 n
-0000172307 00000 n
-0000172372 00000 n
-0000172437 00000 n
-0000172502 00000 n
-0000172567 00000 n
-0000172632 00000 n
-0000172697 00000 n
-0000172761 00000 n
-0000178530 00000 n
-0000174774 00000 n
-0000172976 00000 n
-0000174899 00000 n
-0000174963 00000 n
-0000175028 00000 n
-0000175093 00000 n
-0000175158 00000 n
-0000175223 00000 n
-0000175288 00000 n
-0000175353 00000 n
-0000175418 00000 n
-0000175483 00000 n
-0000175547 00000 n
-0000175612 00000 n
-0000175677 00000 n
-0000175742 00000 n
-0000175807 00000 n
-0000175872 00000 n
-0000175937 00000 n
-0000176002 00000 n
-0000176067 00000 n
-0000176131 00000 n
-0000176196 00000 n
-0000176261 00000 n
-0000176326 00000 n
-0000176391 00000 n
-0000176456 00000 n
-0000176521 00000 n
-0000176586 00000 n
-0000176651 00000 n
-0000176714 00000 n
-0000176779 00000 n
-0000176844 00000 n
-0000176909 00000 n
-0000176974 00000 n
-0000177039 00000 n
-0000177104 00000 n
-0000177169 00000 n
-0000177234 00000 n
-0000177298 00000 n
-0000177363 00000 n
-0000177428 00000 n
-0000177492 00000 n
-0000177557 00000 n
-0000177622 00000 n
-0000177687 00000 n
-0000177752 00000 n
-0000177817 00000 n
-0000177882 00000 n
-0000177947 00000 n
-0000178012 00000 n
-0000178076 00000 n
-0000178141 00000 n
-0000178206 00000 n
-0000178271 00000 n
-0000178336 00000 n
-0000178401 00000 n
-0000178466 00000 n
-0000183991 00000 n
-0000181075 00000 n
-0000178707 00000 n
-0000181200 00000 n
-0000181264 00000 n
-0000181329 00000 n
-0000181394 00000 n
-0000181459 00000 n
-0000181524 00000 n
-0000181588 00000 n
-0000181653 00000 n
-0000181718 00000 n
-0000181783 00000 n
-0000181848 00000 n
-0000181913 00000 n
-0000181978 00000 n
-0000182042 00000 n
-0000182107 00000 n
-0000182172 00000 n
-0000182237 00000 n
-0000182302 00000 n
-0000182367 00000 n
-0000182432 00000 n
-0000182497 00000 n
-0000182562 00000 n
-0000182627 00000 n
-0000182692 00000 n
-0000182757 00000 n
-0000182822 00000 n
-0000182887 00000 n
-0000182952 00000 n
-0000183017 00000 n
-0000183082 00000 n
-0000183147 00000 n
-0000183212 00000 n
-0000183277 00000 n
-0000183342 00000 n
-0000183407 00000 n
-0000183472 00000 n
-0000183537 00000 n
-0000183602 00000 n
-0000183667 00000 n
-0000183732 00000 n
-0000183796 00000 n
-0000183861 00000 n
-0000183926 00000 n
-0000189716 00000 n
-0000186218 00000 n
-0000184168 00000 n
-0000186343 00000 n
-0000186407 00000 n
-0000186471 00000 n
-0000186536 00000 n
-0000186601 00000 n
-0000186666 00000 n
-0000186730 00000 n
-0000186795 00000 n
-0000186860 00000 n
-0000186925 00000 n
-0000186990 00000 n
-0000187055 00000 n
-0000187120 00000 n
-0000187185 00000 n
-0000187250 00000 n
-0000187315 00000 n
-0000187380 00000 n
-0000187445 00000 n
-0000187510 00000 n
-0000187575 00000 n
-0000187640 00000 n
-0000187705 00000 n
-0000187770 00000 n
-0000187835 00000 n
-0000187900 00000 n
-0000187965 00000 n
-0000188030 00000 n
-0000188095 00000 n
-0000188160 00000 n
-0000188225 00000 n
-0000188290 00000 n
-0000188354 00000 n
-0000188419 00000 n
-0000188484 00000 n
-0000188549 00000 n
-0000188614 00000 n
-0000188679 00000 n
-0000188744 00000 n
-0000188809 00000 n
-0000188874 00000 n
-0000188939 00000 n
-0000189004 00000 n
-0000189069 00000 n
-0000189134 00000 n
-0000189199 00000 n
-0000189264 00000 n
-0000189328 00000 n
-0000189393 00000 n
-0000189458 00000 n
-0000189523 00000 n
-0000189588 00000 n
-0000189652 00000 n
-0000194257 00000 n
-0000192446 00000 n
-0000189880 00000 n
-0000192571 00000 n
-0000192635 00000 n
-0000192700 00000 n
-0000192765 00000 n
-0000192830 00000 n
-0000192895 00000 n
-0000192960 00000 n
-0000193025 00000 n
-0000193090 00000 n
-0000193155 00000 n
-0000193220 00000 n
-0000193285 00000 n
-0000193412 00000 n
-0000193477 00000 n
-0000193542 00000 n
-0000193607 00000 n
-0000193672 00000 n
-0000193737 00000 n
-0000193802 00000 n
-0000193867 00000 n
-0000193932 00000 n
-0000193997 00000 n
-0000194062 00000 n
-0000194127 00000 n
-0000194192 00000 n
-0000199735 00000 n
-0000196625 00000 n
-0000194473 00000 n
-0000196750 00000 n
-0000196814 00000 n
-0000196879 00000 n
-0000196944 00000 n
-0000197009 00000 n
-0000197074 00000 n
-0000197139 00000 n
-0000197204 00000 n
-0000197269 00000 n
-0000197334 00000 n
-0000197399 00000 n
-0000197464 00000 n
-0000197529 00000 n
-0000197594 00000 n
-0000197659 00000 n
-0000197723 00000 n
-0000197788 00000 n
-0000197853 00000 n
-0000197918 00000 n
-0000197983 00000 n
-0000198048 00000 n
-0000198113 00000 n
-0000198178 00000 n
-0000198243 00000 n
-0000198308 00000 n
-0000198373 00000 n
-0000198438 00000 n
-0000198503 00000 n
-0000198568 00000 n
-0000198633 00000 n
-0000198698 00000 n
-0000198763 00000 n
-0000198826 00000 n
-0000198891 00000 n
-0000198956 00000 n
-0000199021 00000 n
-0000199086 00000 n
-0000199151 00000 n
-0000199216 00000 n
-0000199281 00000 n
-0000199346 00000 n
-0000199410 00000 n
-0000199475 00000 n
-0000199540 00000 n
-0000199605 00000 n
-0000199670 00000 n
-0000205767 00000 n
-0000201751 00000 n
-0000199925 00000 n
-0000201876 00000 n
-0000201940 00000 n
-0000202005 00000 n
-0000202070 00000 n
-0000202135 00000 n
-0000202200 00000 n
-0000202265 00000 n
-0000202330 00000 n
-0000202394 00000 n
-0000202459 00000 n
-0000202524 00000 n
-0000202589 00000 n
-0000202654 00000 n
-0000202719 00000 n
-0000202784 00000 n
-0000202849 00000 n
-0000202914 00000 n
-0000202978 00000 n
-0000203043 00000 n
-0000203108 00000 n
-0000203173 00000 n
-0000203238 00000 n
-0000203303 00000 n
-0000203368 00000 n
-0000203433 00000 n
-0000203498 00000 n
-0000203563 00000 n
-0000203627 00000 n
-0000203692 00000 n
-0000203757 00000 n
-0000203822 00000 n
-0000203887 00000 n
-0000203952 00000 n
-0000204017 00000 n
-0000204082 00000 n
-0000204147 00000 n
-0000204211 00000 n
-0000204276 00000 n
-0000204341 00000 n
-0000204406 00000 n
-0000204471 00000 n
-0000204536 00000 n
-0000204601 00000 n
-0000204666 00000 n
-0000204731 00000 n
-0000204796 00000 n
-0000204861 00000 n
-0000204925 00000 n
-0000204990 00000 n
-0000205055 00000 n
-0000205120 00000 n
-0000205185 00000 n
-0000205250 00000 n
-0000205315 00000 n
-0000205380 00000 n
-0000205445 00000 n
-0000205509 00000 n
-0000205574 00000 n
-0000205639 00000 n
-0000205703 00000 n
-0000211070 00000 n
-0000208936 00000 n
-0000205931 00000 n
-0000209061 00000 n
-0000209125 00000 n
-0000209190 00000 n
-0000209255 00000 n
-0000209320 00000 n
-0000209385 00000 n
-0000209450 00000 n
-0000209515 00000 n
-0000209580 00000 n
-0000209645 00000 n
-0000209709 00000 n
-0000209774 00000 n
-0000209839 00000 n
-0000209904 00000 n
-0000209969 00000 n
-0000210034 00000 n
-0000210098 00000 n
-0000210163 00000 n
-0000210228 00000 n
-0000210293 00000 n
-0000210358 00000 n
-0000210423 00000 n
-0000210488 00000 n
-0000210553 00000 n
-0000210618 00000 n
-0000210682 00000 n
-0000210747 00000 n
-0000210812 00000 n
-0000210877 00000 n
-0000210942 00000 n
-0000211006 00000 n
-0000216683 00000 n
-0000213314 00000 n
-0000211286 00000 n
-0000213439 00000 n
-0000213503 00000 n
-0000213568 00000 n
-0000213633 00000 n
-0000213698 00000 n
-0000213763 00000 n
-0000213828 00000 n
-0000213893 00000 n
-0000213958 00000 n
-0000214023 00000 n
-0000214088 00000 n
-0000214153 00000 n
-0000214218 00000 n
-0000214283 00000 n
-0000214348 00000 n
-0000214413 00000 n
-0000214477 00000 n
-0000214542 00000 n
-0000214607 00000 n
-0000214672 00000 n
-0000214737 00000 n
-0000214802 00000 n
-0000214867 00000 n
-0000214932 00000 n
-0000214997 00000 n
-0000215061 00000 n
-0000215126 00000 n
-0000215191 00000 n
-0000215256 00000 n
-0000215321 00000 n
-0000215386 00000 n
-0000215451 00000 n
-0000215516 00000 n
-0000215581 00000 n
-0000215646 00000 n
-0000215711 00000 n
-0000215776 00000 n
-0000215840 00000 n
-0000215905 00000 n
-0000215970 00000 n
-0000216035 00000 n
-0000216100 00000 n
-0000216165 00000 n
-0000216230 00000 n
-0000216295 00000 n
-0000216360 00000 n
-0000216425 00000 n
-0000216490 00000 n
-0000216555 00000 n
-0000216619 00000 n
-0000223820 00000 n
-0000221166 00000 n
-0000216860 00000 n
-0000221291 00000 n
-0000221355 00000 n
-0000221420 00000 n
-0000221485 00000 n
-0000221550 00000 n
-0000221615 00000 n
-0000221680 00000 n
-0000221745 00000 n
-0000221810 00000 n
-0000221875 00000 n
-0000221940 00000 n
-0000222005 00000 n
-0000222069 00000 n
-0000222134 00000 n
-0000222199 00000 n
-0000222264 00000 n
-0000222329 00000 n
-0000222394 00000 n
-0000222459 00000 n
-0000222524 00000 n
-0000222589 00000 n
-0000222654 00000 n
-0000222719 00000 n
-0000222784 00000 n
-0000222848 00000 n
-0000222913 00000 n
-0000222978 00000 n
-0000223043 00000 n
-0000223108 00000 n
-0000223173 00000 n
-0000223238 00000 n
-0000223303 00000 n
-0000223368 00000 n
-0000223432 00000 n
-0000223497 00000 n
-0000223562 00000 n
-0000223627 00000 n
-0000223692 00000 n
-0000223755 00000 n
-0001885303 00000 n
-0001887746 00000 n
-0000229485 00000 n
-0000226637 00000 n
-0000224024 00000 n
-0000226762 00000 n
-0000226826 00000 n
-0000226891 00000 n
-0000226956 00000 n
-0000227021 00000 n
-0000227086 00000 n
-0000227151 00000 n
-0000227216 00000 n
-0000227280 00000 n
-0000227345 00000 n
-0000227410 00000 n
-0000227475 00000 n
-0000227540 00000 n
-0000227604 00000 n
-0000227669 00000 n
-0000227734 00000 n
-0000227799 00000 n
-0000227864 00000 n
-0000227929 00000 n
-0000227994 00000 n
-0000228059 00000 n
-0000228124 00000 n
-0000228189 00000 n
-0000228254 00000 n
-0000228319 00000 n
-0000228384 00000 n
-0000228448 00000 n
-0000228513 00000 n
-0000228577 00000 n
-0000228642 00000 n
-0000228707 00000 n
-0000228772 00000 n
-0000228837 00000 n
-0000228902 00000 n
-0000228967 00000 n
-0000229032 00000 n
-0000229097 00000 n
-0000229162 00000 n
-0000229227 00000 n
-0000229292 00000 n
-0000229357 00000 n
-0000229421 00000 n
-0000235217 00000 n
-0000231721 00000 n
-0000229662 00000 n
-0000231846 00000 n
-0000231910 00000 n
-0000231975 00000 n
-0000232040 00000 n
-0000232105 00000 n
-0000232170 00000 n
-0000232235 00000 n
-0000232300 00000 n
-0000232365 00000 n
-0000232430 00000 n
-0000232494 00000 n
-0000232559 00000 n
-0000232624 00000 n
-0000232689 00000 n
-0000232754 00000 n
-0000232819 00000 n
-0000232884 00000 n
-0000232949 00000 n
-0000233014 00000 n
-0000233078 00000 n
-0000233143 00000 n
-0000233208 00000 n
-0000233272 00000 n
-0000233337 00000 n
-0000233402 00000 n
-0000233467 00000 n
-0000233532 00000 n
-0000233597 00000 n
-0000233662 00000 n
-0000233727 00000 n
-0000233792 00000 n
-0000233856 00000 n
-0000233921 00000 n
-0000233986 00000 n
-0000234051 00000 n
-0000234116 00000 n
-0000234181 00000 n
-0000234246 00000 n
-0000234311 00000 n
-0000234376 00000 n
-0000234439 00000 n
-0000234504 00000 n
-0000234569 00000 n
-0000234634 00000 n
-0000234699 00000 n
-0000234764 00000 n
-0000234829 00000 n
-0000234894 00000 n
-0000234959 00000 n
-0000235022 00000 n
-0000235087 00000 n
-0000235152 00000 n
-0000238420 00000 n
-0000238577 00000 n
-0000241720 00000 n
-0000238238 00000 n
-0000235433 00000 n
-0000238734 00000 n
-0000238798 00000 n
-0000238863 00000 n
-0000238928 00000 n
-0000238993 00000 n
-0000239058 00000 n
-0000239123 00000 n
-0000239188 00000 n
-0000239253 00000 n
-0000239318 00000 n
-0000239383 00000 n
-0000239448 00000 n
-0000239513 00000 n
-0000239578 00000 n
-0000239643 00000 n
-0000239708 00000 n
-0000239773 00000 n
-0000239838 00000 n
-0000239903 00000 n
-0000239968 00000 n
-0000240033 00000 n
-0000240098 00000 n
-0000240163 00000 n
-0000240228 00000 n
-0000240293 00000 n
-0000240358 00000 n
-0000240423 00000 n
-0000240487 00000 n
-0000240552 00000 n
-0000240617 00000 n
-0000240682 00000 n
-0000240747 00000 n
-0000240812 00000 n
-0000240877 00000 n
-0000240942 00000 n
-0000241007 00000 n
-0000241072 00000 n
-0000241137 00000 n
-0000241202 00000 n
-0000241267 00000 n
-0000241332 00000 n
-0000241397 00000 n
-0000241461 00000 n
-0000241526 00000 n
-0000241591 00000 n
-0000241656 00000 n
-0000238380 00000 n
-0000247234 00000 n
-0000244516 00000 n
-0000241962 00000 n
-0000244641 00000 n
-0000244705 00000 n
-0000244770 00000 n
-0000244834 00000 n
-0000244899 00000 n
-0000244964 00000 n
-0000245029 00000 n
-0000245094 00000 n
-0000245159 00000 n
-0000245224 00000 n
-0000245289 00000 n
-0000245354 00000 n
-0000245419 00000 n
-0000245483 00000 n
-0000245548 00000 n
-0000245613 00000 n
-0000245678 00000 n
-0000245743 00000 n
-0000245808 00000 n
-0000245873 00000 n
-0000245937 00000 n
-0000246001 00000 n
-0000246066 00000 n
-0000246131 00000 n
-0000246196 00000 n
-0000246261 00000 n
-0000246326 00000 n
-0000246391 00000 n
-0000246456 00000 n
-0000246521 00000 n
-0000246586 00000 n
-0000246651 00000 n
-0000246716 00000 n
-0000246781 00000 n
-0000246846 00000 n
-0000246911 00000 n
-0000246976 00000 n
-0000247041 00000 n
-0000247106 00000 n
-0000247171 00000 n
-0000253488 00000 n
-0000249991 00000 n
-0000247424 00000 n
-0000250116 00000 n
-0000250180 00000 n
-0000250245 00000 n
-0000250309 00000 n
-0000250374 00000 n
-0000250439 00000 n
-0000250504 00000 n
-0000250569 00000 n
-0000250634 00000 n
-0000250699 00000 n
-0000250763 00000 n
-0000250828 00000 n
-0000250893 00000 n
-0000250958 00000 n
-0000251023 00000 n
-0000251088 00000 n
-0000251153 00000 n
-0000251218 00000 n
-0000251283 00000 n
-0000251348 00000 n
-0000251413 00000 n
-0000251478 00000 n
-0000251542 00000 n
-0000251607 00000 n
-0000251672 00000 n
-0000251737 00000 n
-0000251802 00000 n
-0000251867 00000 n
-0000251932 00000 n
-0000251997 00000 n
-0000252062 00000 n
-0000252126 00000 n
-0000252191 00000 n
-0000252256 00000 n
-0000252321 00000 n
-0000252386 00000 n
-0000252451 00000 n
-0000252516 00000 n
-0000252581 00000 n
-0000252646 00000 n
-0000252711 00000 n
-0000252776 00000 n
-0000252841 00000 n
-0000252906 00000 n
-0000252971 00000 n
-0000253036 00000 n
-0000253101 00000 n
-0000253166 00000 n
-0000253231 00000 n
-0000253296 00000 n
-0000253360 00000 n
-0000253425 00000 n
-0000258944 00000 n
-0000256613 00000 n
-0000253665 00000 n
-0000256738 00000 n
-0000256802 00000 n
-0000256867 00000 n
-0000256932 00000 n
-0000256997 00000 n
-0000257062 00000 n
-0000257127 00000 n
-0000257192 00000 n
-0000257257 00000 n
-0000257322 00000 n
-0000257387 00000 n
-0000257452 00000 n
-0000257517 00000 n
-0000257582 00000 n
-0000257647 00000 n
-0000257712 00000 n
-0000257777 00000 n
-0000257842 00000 n
-0000257907 00000 n
-0000257972 00000 n
-0000258037 00000 n
-0000258102 00000 n
-0000258167 00000 n
-0000258232 00000 n
-0000258297 00000 n
-0000258361 00000 n
-0000258426 00000 n
-0000258491 00000 n
-0000258556 00000 n
-0000258621 00000 n
-0000258686 00000 n
-0000258751 00000 n
-0000258816 00000 n
-0000258880 00000 n
-0000263896 00000 n
-0000261826 00000 n
-0000259147 00000 n
-0000261951 00000 n
-0000262015 00000 n
-0000262080 00000 n
-0000262145 00000 n
-0000262209 00000 n
-0000262274 00000 n
-0000262339 00000 n
-0000262404 00000 n
-0000262469 00000 n
-0000262534 00000 n
-0000262599 00000 n
-0000262664 00000 n
-0000262729 00000 n
-0000262794 00000 n
-0000262859 00000 n
-0000262924 00000 n
-0000262988 00000 n
-0000263053 00000 n
-0000263118 00000 n
-0000263183 00000 n
-0000263248 00000 n
-0000263313 00000 n
-0000263378 00000 n
-0000263443 00000 n
-0000263508 00000 n
-0000263573 00000 n
-0000263638 00000 n
-0000263703 00000 n
-0000263768 00000 n
-0000263833 00000 n
-0000268910 00000 n
-0000266452 00000 n
-0000264112 00000 n
-0000266577 00000 n
-0000266641 00000 n
-0000266706 00000 n
-0000266771 00000 n
-0000266836 00000 n
-0000266901 00000 n
-0000266966 00000 n
-0000267031 00000 n
-0000267096 00000 n
-0000267161 00000 n
-0000267226 00000 n
-0000267289 00000 n
-0000267354 00000 n
-0000267419 00000 n
-0000267484 00000 n
-0000267549 00000 n
-0000267614 00000 n
-0000267679 00000 n
-0000267743 00000 n
-0000267808 00000 n
-0000267873 00000 n
-0000267938 00000 n
-0000268003 00000 n
-0000268068 00000 n
-0000268133 00000 n
-0000268198 00000 n
-0000268263 00000 n
-0000268328 00000 n
-0000268393 00000 n
-0000268458 00000 n
-0000268523 00000 n
-0000268588 00000 n
-0000268653 00000 n
-0000268718 00000 n
-0000268783 00000 n
-0000274391 00000 n
-0000271671 00000 n
-0000269087 00000 n
-0000271796 00000 n
-0000271860 00000 n
-0000271925 00000 n
-0000271990 00000 n
-0000272054 00000 n
-0000272119 00000 n
-0000272184 00000 n
-0000272249 00000 n
-0000272314 00000 n
-0000272379 00000 n
-0000272444 00000 n
-0000272509 00000 n
-0000272574 00000 n
-0000272639 00000 n
-0000272704 00000 n
-0000272769 00000 n
-0000272834 00000 n
-0000272899 00000 n
-0000272964 00000 n
-0000273029 00000 n
-0000273094 00000 n
-0000273159 00000 n
-0000273224 00000 n
-0000273289 00000 n
-0000273354 00000 n
-0000273419 00000 n
-0000273484 00000 n
-0000273549 00000 n
-0000273614 00000 n
-0000273679 00000 n
-0000273744 00000 n
-0000273809 00000 n
-0000273874 00000 n
-0000273939 00000 n
-0000274003 00000 n
-0000274068 00000 n
-0000274133 00000 n
-0000274198 00000 n
-0000274263 00000 n
-0000274327 00000 n
-0000280155 00000 n
-0000277504 00000 n
-0000274581 00000 n
-0000277629 00000 n
-0000277693 00000 n
-0000277758 00000 n
-0000277823 00000 n
-0000277888 00000 n
-0000277953 00000 n
-0000278018 00000 n
-0000278083 00000 n
-0000278148 00000 n
-0000278213 00000 n
-0000278277 00000 n
-0000278342 00000 n
-0000278407 00000 n
-0000278472 00000 n
-0000278537 00000 n
-0000278602 00000 n
-0000278667 00000 n
-0000278732 00000 n
-0000278796 00000 n
-0000278861 00000 n
-0000278926 00000 n
-0000278990 00000 n
-0000279055 00000 n
-0000279120 00000 n
-0000279183 00000 n
-0000279248 00000 n
-0000279313 00000 n
-0000279378 00000 n
-0000279443 00000 n
-0000279508 00000 n
-0000279573 00000 n
-0000279638 00000 n
-0000279703 00000 n
-0000279768 00000 n
-0000279833 00000 n
-0000279898 00000 n
-0000279963 00000 n
-0000280028 00000 n
-0000280091 00000 n
-0001887911 00000 n
-0000286080 00000 n
-0000282516 00000 n
-0000280358 00000 n
-0000282641 00000 n
-0000282705 00000 n
-0000282770 00000 n
-0000282835 00000 n
-0000282900 00000 n
-0000282965 00000 n
-0000283030 00000 n
-0000283095 00000 n
-0000283160 00000 n
-0000283225 00000 n
-0000283290 00000 n
-0000283355 00000 n
-0000283420 00000 n
-0000283485 00000 n
-0000283550 00000 n
-0000283615 00000 n
-0000283680 00000 n
-0000283745 00000 n
-0000283808 00000 n
-0000283873 00000 n
-0000283938 00000 n
-0000284003 00000 n
-0000284068 00000 n
-0000284133 00000 n
-0000284198 00000 n
-0000284263 00000 n
-0000284328 00000 n
-0000284392 00000 n
-0000284457 00000 n
-0000284522 00000 n
-0000284587 00000 n
-0000284652 00000 n
-0000284717 00000 n
-0000284782 00000 n
-0000284847 00000 n
-0000284912 00000 n
-0000284976 00000 n
-0000285041 00000 n
-0000285106 00000 n
-0000285171 00000 n
-0000285236 00000 n
-0000285301 00000 n
-0000285366 00000 n
-0000285431 00000 n
-0000285496 00000 n
-0000285560 00000 n
-0000285625 00000 n
-0000285690 00000 n
-0000285755 00000 n
-0000285820 00000 n
-0000285885 00000 n
-0000285950 00000 n
-0000286015 00000 n
-0000288515 00000 n
-0000291979 00000 n
-0000288342 00000 n
-0000286244 00000 n
-0000288672 00000 n
-0000288736 00000 n
-0000288801 00000 n
-0000288866 00000 n
-0000288931 00000 n
-0000288996 00000 n
-0000289061 00000 n
-0000289126 00000 n
-0000289191 00000 n
-0000289256 00000 n
-0000289320 00000 n
-0000289385 00000 n
-0000289450 00000 n
-0000289515 00000 n
-0000289580 00000 n
-0000289645 00000 n
-0000289710 00000 n
-0000289775 00000 n
-0000289840 00000 n
-0000289905 00000 n
-0000289970 00000 n
-0000290035 00000 n
-0000290099 00000 n
-0000290164 00000 n
-0000290229 00000 n
-0000290294 00000 n
-0000290359 00000 n
-0000290424 00000 n
-0000290489 00000 n
-0000290554 00000 n
-0000290619 00000 n
-0000290684 00000 n
-0000290749 00000 n
-0000290814 00000 n
-0000290879 00000 n
-0000290943 00000 n
-0000291008 00000 n
-0000291073 00000 n
-0000291138 00000 n
-0000291203 00000 n
-0000291268 00000 n
-0000291333 00000 n
-0000291398 00000 n
-0000291463 00000 n
-0000291528 00000 n
-0000291593 00000 n
-0000291720 00000 n
-0000291785 00000 n
-0000291850 00000 n
-0000291915 00000 n
-0000288484 00000 n
-0000295450 00000 n
-0000298006 00000 n
-0000295277 00000 n
-0000292208 00000 n
-0000295606 00000 n
-0000295670 00000 n
-0000295735 00000 n
-0000295800 00000 n
-0000295865 00000 n
-0000295930 00000 n
-0000295995 00000 n
-0000296060 00000 n
-0000296125 00000 n
-0000296190 00000 n
-0000296255 00000 n
-0000296320 00000 n
-0000296384 00000 n
-0000296449 00000 n
-0000296514 00000 n
-0000296579 00000 n
-0000296644 00000 n
-0000296709 00000 n
-0000296774 00000 n
-0000296839 00000 n
-0000296904 00000 n
-0000296969 00000 n
-0000297034 00000 n
-0000297099 00000 n
-0000297164 00000 n
-0000297228 00000 n
-0000297293 00000 n
-0000297358 00000 n
-0000297423 00000 n
-0000297488 00000 n
-0000297553 00000 n
-0000297618 00000 n
-0000297683 00000 n
-0000297747 00000 n
-0000297812 00000 n
-0000297877 00000 n
-0000297942 00000 n
-0000295419 00000 n
-0000303805 00000 n
-0000300825 00000 n
-0000298261 00000 n
-0000300950 00000 n
-0000301014 00000 n
-0000301079 00000 n
-0000301144 00000 n
-0000301209 00000 n
-0000301274 00000 n
-0000301339 00000 n
-0000301404 00000 n
-0000301469 00000 n
-0000301534 00000 n
-0000301599 00000 n
-0000301664 00000 n
-0000301729 00000 n
-0000301794 00000 n
-0000301859 00000 n
-0000301924 00000 n
-0000301989 00000 n
-0000302054 00000 n
-0000302119 00000 n
-0000302184 00000 n
-0000302249 00000 n
-0000302314 00000 n
-0000302379 00000 n
-0000302444 00000 n
-0000302509 00000 n
-0000302574 00000 n
-0000302639 00000 n
-0000302704 00000 n
-0000302768 00000 n
-0000302833 00000 n
-0000302898 00000 n
-0000302963 00000 n
-0000303028 00000 n
-0000303093 00000 n
-0000303158 00000 n
-0000303223 00000 n
-0000303288 00000 n
-0000303352 00000 n
-0000303417 00000 n
-0000303482 00000 n
-0000303547 00000 n
-0000303612 00000 n
-0000303677 00000 n
-0000303741 00000 n
-0000306606 00000 n
-0000310005 00000 n
-0000306433 00000 n
-0000303969 00000 n
-0000306763 00000 n
-0000306827 00000 n
-0000306892 00000 n
-0000306957 00000 n
-0000307022 00000 n
-0000307087 00000 n
-0000307152 00000 n
-0000307217 00000 n
-0000307282 00000 n
-0000307346 00000 n
-0000307411 00000 n
-0000307476 00000 n
-0000307541 00000 n
-0000307606 00000 n
-0000307671 00000 n
-0000307736 00000 n
-0000307801 00000 n
-0000307866 00000 n
-0000307930 00000 n
-0000307995 00000 n
-0000308060 00000 n
-0000308125 00000 n
-0000308190 00000 n
-0000308255 00000 n
-0000308320 00000 n
-0000308385 00000 n
-0000308450 00000 n
-0000308514 00000 n
-0000308579 00000 n
-0000308644 00000 n
-0000308709 00000 n
-0000308773 00000 n
-0000308838 00000 n
-0000308903 00000 n
-0000308968 00000 n
-0000309033 00000 n
-0000309098 00000 n
-0000309163 00000 n
-0000309228 00000 n
-0000309293 00000 n
-0000309358 00000 n
-0000309422 00000 n
-0000309487 00000 n
-0000309551 00000 n
-0000309616 00000 n
-0000309681 00000 n
-0000309746 00000 n
-0000309811 00000 n
-0000309876 00000 n
-0000309941 00000 n
-0000306575 00000 n
-0000313157 00000 n
-0000313315 00000 n
-0000316521 00000 n
-0000312975 00000 n
-0000310247 00000 n
-0000313472 00000 n
-0000313536 00000 n
-0000313601 00000 n
-0000313666 00000 n
-0000313731 00000 n
-0000313796 00000 n
-0000313861 00000 n
-0000313926 00000 n
-0000313991 00000 n
-0000314056 00000 n
-0000314120 00000 n
-0000314185 00000 n
-0000314250 00000 n
-0000314315 00000 n
-0000314380 00000 n
-0000314445 00000 n
-0000314510 00000 n
-0000314575 00000 n
-0000314639 00000 n
-0000314704 00000 n
-0000314769 00000 n
-0000314834 00000 n
-0000314899 00000 n
-0000314964 00000 n
-0000315029 00000 n
-0000315094 00000 n
-0000315158 00000 n
-0000315223 00000 n
-0000315288 00000 n
-0000315353 00000 n
-0000315418 00000 n
-0000315483 00000 n
-0000315548 00000 n
-0000315613 00000 n
-0000315678 00000 n
-0000315743 00000 n
-0000315808 00000 n
-0000315873 00000 n
-0000315938 00000 n
-0000316003 00000 n
-0000316068 00000 n
-0000316133 00000 n
-0000316198 00000 n
-0000316262 00000 n
-0000316327 00000 n
-0000316392 00000 n
-0000316457 00000 n
-0000313117 00000 n
-0000319416 00000 n
-0000322097 00000 n
-0000319243 00000 n
-0000316802 00000 n
-0000319573 00000 n
-0000319637 00000 n
-0000319702 00000 n
-0000319767 00000 n
-0000319832 00000 n
-0000319897 00000 n
-0000319962 00000 n
-0000320027 00000 n
-0000320092 00000 n
-0000320157 00000 n
-0000320222 00000 n
-0000320287 00000 n
-0000320350 00000 n
-0000320415 00000 n
-0000320480 00000 n
-0000320545 00000 n
-0000320610 00000 n
-0000320675 00000 n
-0000320740 00000 n
-0000320805 00000 n
-0000320870 00000 n
-0000320934 00000 n
-0000320999 00000 n
-0000321064 00000 n
-0000321129 00000 n
-0000321194 00000 n
-0000321259 00000 n
-0000321324 00000 n
-0000321388 00000 n
-0000321453 00000 n
-0000321518 00000 n
-0000321583 00000 n
-0000321647 00000 n
-0000321774 00000 n
-0000321839 00000 n
-0000321904 00000 n
-0000321969 00000 n
-0000322033 00000 n
-0000319385 00000 n
-0000327607 00000 n
-0000324564 00000 n
-0000322287 00000 n
-0000324689 00000 n
-0000324753 00000 n
-0000324818 00000 n
-0000324883 00000 n
-0000324948 00000 n
-0000325013 00000 n
-0000325077 00000 n
-0000325142 00000 n
-0000325207 00000 n
-0000325271 00000 n
-0000325336 00000 n
-0000325401 00000 n
-0000325466 00000 n
-0000325531 00000 n
-0000325596 00000 n
-0000325661 00000 n
-0000325726 00000 n
-0000325791 00000 n
-0000325856 00000 n
-0000325921 00000 n
-0000325986 00000 n
-0000326051 00000 n
-0000326116 00000 n
-0000326181 00000 n
-0000326246 00000 n
-0000326311 00000 n
-0000326376 00000 n
-0000326441 00000 n
-0000326506 00000 n
-0000326571 00000 n
-0000326636 00000 n
-0000326701 00000 n
-0000326765 00000 n
-0000326830 00000 n
-0000326895 00000 n
-0000326960 00000 n
-0000327025 00000 n
-0000327090 00000 n
-0000327155 00000 n
-0000327220 00000 n
-0000327285 00000 n
-0000327349 00000 n
-0000327414 00000 n
-0000327479 00000 n
-0000327543 00000 n
-0000335477 00000 n
-0000333020 00000 n
-0000329913 00000 n
-0000327784 00000 n
-0000330038 00000 n
-0000330102 00000 n
-0000330167 00000 n
-0000330231 00000 n
-0000330296 00000 n
-0000330361 00000 n
-0000330426 00000 n
-0000330491 00000 n
-0000330556 00000 n
-0000330621 00000 n
-0000330686 00000 n
-0000330749 00000 n
-0000330814 00000 n
-0000330879 00000 n
-0000330944 00000 n
-0000331009 00000 n
-0000331074 00000 n
-0000331139 00000 n
-0000331204 00000 n
-0000331269 00000 n
-0000331333 00000 n
-0000331398 00000 n
-0000331463 00000 n
-0000331528 00000 n
-0000331593 00000 n
-0000331658 00000 n
-0000331723 00000 n
-0000331788 00000 n
-0000331853 00000 n
-0000331917 00000 n
-0000331982 00000 n
-0000332047 00000 n
-0000332112 00000 n
-0000332177 00000 n
-0000332242 00000 n
-0000332307 00000 n
-0000332372 00000 n
-0000332437 00000 n
-0000332501 00000 n
-0000332566 00000 n
-0000332631 00000 n
-0000332695 00000 n
-0000332760 00000 n
-0000332825 00000 n
-0000332890 00000 n
-0000332955 00000 n
-0000339005 00000 n
-0000335304 00000 n
-0000333184 00000 n
-0000335634 00000 n
-0000335698 00000 n
-0000335763 00000 n
-0000335828 00000 n
-0000335892 00000 n
-0000335957 00000 n
-0000336022 00000 n
-0000336087 00000 n
-0000336151 00000 n
-0000336216 00000 n
-0000336281 00000 n
-0000336346 00000 n
-0000336411 00000 n
-0000336476 00000 n
-0000336541 00000 n
-0000336606 00000 n
-0000336671 00000 n
-0000336736 00000 n
-0000336801 00000 n
-0000336866 00000 n
-0000336930 00000 n
-0000336995 00000 n
-0000337060 00000 n
-0000337125 00000 n
-0000337189 00000 n
-0000337254 00000 n
-0000337318 00000 n
-0000337383 00000 n
-0000337448 00000 n
-0000337513 00000 n
-0000337578 00000 n
-0000337643 00000 n
-0000337708 00000 n
-0000337773 00000 n
-0000337838 00000 n
-0000337902 00000 n
-0000337967 00000 n
-0000338032 00000 n
-0000338097 00000 n
-0000338162 00000 n
-0000338227 00000 n
-0000338292 00000 n
-0000338357 00000 n
-0000338422 00000 n
-0000338487 00000 n
-0000338552 00000 n
-0000338617 00000 n
-0000338681 00000 n
-0000338746 00000 n
-0000338811 00000 n
-0000338876 00000 n
-0000338941 00000 n
-0001888076 00000 n
-0000335446 00000 n
-0000344570 00000 n
-0000341076 00000 n
-0000339234 00000 n
-0000341201 00000 n
-0000341265 00000 n
-0000341330 00000 n
-0000341395 00000 n
-0000341460 00000 n
-0000341525 00000 n
-0000341589 00000 n
-0000341654 00000 n
-0000341719 00000 n
-0000341783 00000 n
-0000341848 00000 n
-0000341913 00000 n
-0000341978 00000 n
-0000342043 00000 n
-0000342108 00000 n
-0000342172 00000 n
-0000342237 00000 n
-0000342302 00000 n
-0000342367 00000 n
-0000342432 00000 n
-0000342497 00000 n
-0000342562 00000 n
-0000342625 00000 n
-0000342690 00000 n
-0000342755 00000 n
-0000342820 00000 n
-0000342885 00000 n
-0000342950 00000 n
-0000343015 00000 n
-0000343079 00000 n
-0000343144 00000 n
-0000343209 00000 n
-0000343274 00000 n
-0000343339 00000 n
-0000343404 00000 n
-0000343469 00000 n
-0000343534 00000 n
-0000343599 00000 n
-0000343663 00000 n
-0000343728 00000 n
-0000343793 00000 n
-0000343858 00000 n
-0000343923 00000 n
-0000343987 00000 n
-0000344052 00000 n
-0000344117 00000 n
-0000344182 00000 n
-0000344247 00000 n
-0000344312 00000 n
-0000344377 00000 n
-0000344442 00000 n
-0000344506 00000 n
-0000350470 00000 n
-0000346646 00000 n
-0000344734 00000 n
-0000346771 00000 n
-0000346835 00000 n
-0000346900 00000 n
-0000346965 00000 n
-0000347030 00000 n
-0000347095 00000 n
-0000347160 00000 n
-0000347225 00000 n
-0000347290 00000 n
-0000347355 00000 n
-0000347420 00000 n
-0000347485 00000 n
-0000347550 00000 n
-0000347615 00000 n
-0000347680 00000 n
-0000347745 00000 n
-0000347810 00000 n
-0000347875 00000 n
-0000347940 00000 n
-0000348004 00000 n
-0000348069 00000 n
-0000348134 00000 n
-0000348199 00000 n
-0000348264 00000 n
-0000348329 00000 n
-0000348394 00000 n
-0000348459 00000 n
-0000348524 00000 n
-0000348588 00000 n
-0000348653 00000 n
-0000348718 00000 n
-0000348783 00000 n
-0000348848 00000 n
-0000348913 00000 n
-0000348978 00000 n
-0000349043 00000 n
-0000349108 00000 n
-0000349172 00000 n
-0000349237 00000 n
-0000349302 00000 n
-0000349367 00000 n
-0000349432 00000 n
-0000349497 00000 n
-0000349562 00000 n
-0000349627 00000 n
-0000349692 00000 n
-0000349757 00000 n
-0000349822 00000 n
-0000349887 00000 n
-0000349952 00000 n
-0000350017 00000 n
-0000350082 00000 n
-0000350147 00000 n
-0000350212 00000 n
-0000350277 00000 n
-0000350342 00000 n
-0000350406 00000 n
-0000356367 00000 n
-0000353065 00000 n
-0000350647 00000 n
-0000353190 00000 n
-0000353254 00000 n
-0000353319 00000 n
-0000353384 00000 n
-0000353449 00000 n
-0000353514 00000 n
-0000353579 00000 n
-0000353644 00000 n
-0000353709 00000 n
-0000353773 00000 n
-0000353838 00000 n
-0000353903 00000 n
-0000353967 00000 n
-0000354032 00000 n
-0000354097 00000 n
-0000354162 00000 n
-0000354227 00000 n
-0000354292 00000 n
-0000354357 00000 n
-0000354422 00000 n
-0000354487 00000 n
-0000354551 00000 n
-0000354616 00000 n
-0000354681 00000 n
-0000354746 00000 n
-0000354811 00000 n
-0000354876 00000 n
-0000354941 00000 n
-0000355006 00000 n
-0000355071 00000 n
-0000355135 00000 n
-0000355200 00000 n
-0000355265 00000 n
-0000355330 00000 n
-0000355395 00000 n
-0000355460 00000 n
-0000355525 00000 n
-0000355590 00000 n
-0000355655 00000 n
-0000355719 00000 n
-0000355784 00000 n
-0000355849 00000 n
-0000355914 00000 n
-0000355979 00000 n
-0000356044 00000 n
-0000356109 00000 n
-0000356174 00000 n
-0000356239 00000 n
-0000356303 00000 n
-0000362150 00000 n
-0000359756 00000 n
-0000356544 00000 n
-0000359881 00000 n
-0000359945 00000 n
-0000360010 00000 n
-0000360075 00000 n
-0000360140 00000 n
-0000360205 00000 n
-0000360270 00000 n
-0000360335 00000 n
-0000360400 00000 n
-0000360465 00000 n
-0000360529 00000 n
-0000360594 00000 n
-0000360659 00000 n
-0000360724 00000 n
-0000360789 00000 n
-0000360854 00000 n
-0000360919 00000 n
-0000360983 00000 n
-0000361048 00000 n
-0000361113 00000 n
-0000361178 00000 n
-0000361243 00000 n
-0000361308 00000 n
-0000361373 00000 n
-0000361438 00000 n
-0000361503 00000 n
-0000361568 00000 n
-0000361632 00000 n
-0000361697 00000 n
-0000361762 00000 n
-0000361827 00000 n
-0000361892 00000 n
-0000361957 00000 n
-0000362022 00000 n
-0000362086 00000 n
-0000367857 00000 n
-0000364683 00000 n
-0000362340 00000 n
-0000364808 00000 n
-0000364872 00000 n
-0000364937 00000 n
-0000365002 00000 n
-0000365067 00000 n
-0000365132 00000 n
-0000365197 00000 n
-0000365262 00000 n
-0000365327 00000 n
-0000365392 00000 n
-0000365457 00000 n
-0000365522 00000 n
-0000365587 00000 n
-0000365652 00000 n
-0000365717 00000 n
-0000365781 00000 n
-0000365846 00000 n
-0000365911 00000 n
-0000365976 00000 n
-0000366041 00000 n
-0000366106 00000 n
-0000366171 00000 n
-0000366236 00000 n
-0000366301 00000 n
-0000366365 00000 n
-0000366430 00000 n
-0000366495 00000 n
-0000366560 00000 n
-0000366625 00000 n
-0000366690 00000 n
-0000366755 00000 n
-0000366820 00000 n
-0000366885 00000 n
-0000366950 00000 n
-0000367015 00000 n
-0000367080 00000 n
-0000367145 00000 n
-0000367210 00000 n
-0000367275 00000 n
-0000367340 00000 n
-0000367404 00000 n
-0000367469 00000 n
-0000367534 00000 n
-0000367599 00000 n
-0000367664 00000 n
-0000367729 00000 n
-0000367793 00000 n
-0000373543 00000 n
-0000370306 00000 n
-0000368034 00000 n
-0000370431 00000 n
-0000370495 00000 n
-0000370560 00000 n
-0000370624 00000 n
-0000370689 00000 n
-0000370754 00000 n
-0000370819 00000 n
-0000370884 00000 n
-0000370949 00000 n
-0000371014 00000 n
-0000371079 00000 n
-0000371144 00000 n
-0000371209 00000 n
-0000371274 00000 n
-0000371339 00000 n
-0000371403 00000 n
-0000371468 00000 n
-0000371533 00000 n
-0000371598 00000 n
-0000371663 00000 n
-0000371728 00000 n
-0000371793 00000 n
-0000371858 00000 n
-0000371923 00000 n
-0000371987 00000 n
-0000372052 00000 n
-0000372117 00000 n
-0000372182 00000 n
-0000372247 00000 n
-0000372312 00000 n
-0000372377 00000 n
-0000372442 00000 n
-0000372507 00000 n
-0000372572 00000 n
-0000372636 00000 n
-0000372701 00000 n
-0000372766 00000 n
-0000372831 00000 n
-0000372896 00000 n
-0000372961 00000 n
-0000373026 00000 n
-0000373091 00000 n
-0000373156 00000 n
-0000373221 00000 n
-0000373284 00000 n
-0000373349 00000 n
-0000373414 00000 n
-0000373479 00000 n
-0000379260 00000 n
-0000375763 00000 n
-0000373733 00000 n
-0000375888 00000 n
-0000375952 00000 n
-0000376017 00000 n
-0000376082 00000 n
-0000376147 00000 n
-0000376212 00000 n
-0000376277 00000 n
-0000376342 00000 n
-0000376406 00000 n
-0000376471 00000 n
-0000376536 00000 n
-0000376601 00000 n
-0000376666 00000 n
-0000376731 00000 n
-0000376796 00000 n
-0000376861 00000 n
-0000376926 00000 n
-0000376990 00000 n
-0000377055 00000 n
-0000377120 00000 n
-0000377185 00000 n
-0000377250 00000 n
-0000377315 00000 n
-0000377380 00000 n
-0000377444 00000 n
-0000377509 00000 n
-0000377574 00000 n
-0000377639 00000 n
-0000377704 00000 n
-0000377769 00000 n
-0000377834 00000 n
-0000377898 00000 n
-0000377963 00000 n
-0000378028 00000 n
-0000378093 00000 n
-0000378158 00000 n
-0000378223 00000 n
-0000378288 00000 n
-0000378353 00000 n
-0000378418 00000 n
-0000378483 00000 n
-0000378548 00000 n
-0000378613 00000 n
-0000378678 00000 n
-0000378743 00000 n
-0000378808 00000 n
-0000378873 00000 n
-0000378938 00000 n
-0000379002 00000 n
-0000379067 00000 n
-0000379132 00000 n
-0000379196 00000 n
-0000385055 00000 n
-0000381430 00000 n
-0000379437 00000 n
-0000381555 00000 n
-0000381619 00000 n
-0000381684 00000 n
-0000381749 00000 n
-0000381814 00000 n
-0000381879 00000 n
-0000381943 00000 n
-0000382008 00000 n
-0000382073 00000 n
-0000382138 00000 n
-0000382202 00000 n
-0000382267 00000 n
-0000382332 00000 n
-0000382397 00000 n
-0000382462 00000 n
-0000382527 00000 n
-0000382592 00000 n
-0000382657 00000 n
-0000382722 00000 n
-0000382786 00000 n
-0000382851 00000 n
-0000382916 00000 n
-0000382981 00000 n
-0000383046 00000 n
-0000383111 00000 n
-0000383176 00000 n
-0000383241 00000 n
-0000383305 00000 n
-0000383370 00000 n
-0000383435 00000 n
-0000383500 00000 n
-0000383565 00000 n
-0000383630 00000 n
-0000383695 00000 n
-0000383760 00000 n
-0000383825 00000 n
-0000383890 00000 n
-0000383954 00000 n
-0000384019 00000 n
-0000384084 00000 n
-0000384149 00000 n
-0000384213 00000 n
-0000384278 00000 n
-0000384343 00000 n
-0000384408 00000 n
-0000384473 00000 n
-0000384538 00000 n
-0000384603 00000 n
-0000384668 00000 n
-0000384733 00000 n
-0000384797 00000 n
-0000384862 00000 n
-0000384927 00000 n
-0000384991 00000 n
-0000391068 00000 n
-0000387245 00000 n
-0000385232 00000 n
-0000387370 00000 n
-0000387434 00000 n
-0000387499 00000 n
-0000387564 00000 n
-0000387629 00000 n
-0000387694 00000 n
-0000387759 00000 n
-0000387824 00000 n
-0000387889 00000 n
-0000387954 00000 n
-0000388019 00000 n
-0000388084 00000 n
-0000388149 00000 n
-0000388214 00000 n
-0000388279 00000 n
-0000388343 00000 n
-0000388408 00000 n
-0000388473 00000 n
-0000388538 00000 n
-0000388603 00000 n
-0000388668 00000 n
-0000388733 00000 n
-0000388798 00000 n
-0000388863 00000 n
-0000388928 00000 n
-0000388992 00000 n
-0000389057 00000 n
-0000389122 00000 n
-0000389187 00000 n
-0000389252 00000 n
-0000389317 00000 n
-0000389382 00000 n
-0000389447 00000 n
-0000389512 00000 n
-0000389576 00000 n
-0000389641 00000 n
-0000389706 00000 n
-0000389771 00000 n
-0000389836 00000 n
-0000389901 00000 n
-0000389966 00000 n
-0000390031 00000 n
-0000390096 00000 n
-0000390161 00000 n
-0000390226 00000 n
-0000390291 00000 n
-0000390356 00000 n
-0000390421 00000 n
-0000390486 00000 n
-0000390551 00000 n
-0000390616 00000 n
-0000390680 00000 n
-0000390745 00000 n
-0000390810 00000 n
-0000390875 00000 n
-0000390940 00000 n
-0000391004 00000 n
-0000396992 00000 n
-0000393235 00000 n
-0000391232 00000 n
-0000393360 00000 n
-0000393424 00000 n
-0000393489 00000 n
-0000393554 00000 n
-0000393619 00000 n
-0000393684 00000 n
-0000393749 00000 n
-0000393813 00000 n
-0000393878 00000 n
-0000393942 00000 n
-0000394007 00000 n
-0000394072 00000 n
-0000394137 00000 n
-0000394202 00000 n
-0000394267 00000 n
-0000394332 00000 n
-0000394397 00000 n
-0000394462 00000 n
-0000394526 00000 n
-0000394591 00000 n
-0000394656 00000 n
-0000394721 00000 n
-0000394786 00000 n
-0000394851 00000 n
-0000394916 00000 n
-0000394981 00000 n
-0000395046 00000 n
-0000395111 00000 n
-0000395176 00000 n
-0000395241 00000 n
-0000395306 00000 n
-0000395371 00000 n
-0000395436 00000 n
-0000395501 00000 n
-0000395566 00000 n
-0000395631 00000 n
-0000395696 00000 n
-0000395760 00000 n
-0000395825 00000 n
-0000395890 00000 n
-0000395955 00000 n
-0000396020 00000 n
-0000396085 00000 n
-0000396150 00000 n
-0000396215 00000 n
-0000396280 00000 n
-0000396345 00000 n
-0000396410 00000 n
-0000396475 00000 n
-0000396540 00000 n
-0000396604 00000 n
-0000396669 00000 n
-0000396734 00000 n
-0000396799 00000 n
-0000396864 00000 n
-0000396928 00000 n
-0001888241 00000 n
-0000402325 00000 n
-0000400122 00000 n
-0000397156 00000 n
-0000400247 00000 n
-0000400311 00000 n
-0000400376 00000 n
-0000400441 00000 n
-0000400506 00000 n
-0000400571 00000 n
-0000400636 00000 n
-0000400701 00000 n
-0000400766 00000 n
-0000400831 00000 n
-0000400896 00000 n
-0000400961 00000 n
-0000401026 00000 n
-0000401091 00000 n
-0000401156 00000 n
-0000401221 00000 n
-0000401286 00000 n
-0000401350 00000 n
-0000401415 00000 n
-0000401480 00000 n
-0000401545 00000 n
-0000401610 00000 n
-0000401675 00000 n
-0000401740 00000 n
-0000401805 00000 n
-0000401870 00000 n
-0000401935 00000 n
-0000402000 00000 n
-0000402065 00000 n
-0000402130 00000 n
-0000402195 00000 n
-0000402260 00000 n
-0000407896 00000 n
-0000404918 00000 n
-0000402528 00000 n
-0000405043 00000 n
-0000405107 00000 n
-0000405172 00000 n
-0000405236 00000 n
-0000405301 00000 n
-0000405366 00000 n
-0000405431 00000 n
-0000405496 00000 n
-0000405561 00000 n
-0000405626 00000 n
-0000405691 00000 n
-0000405756 00000 n
-0000405820 00000 n
-0000405885 00000 n
-0000405950 00000 n
-0000406015 00000 n
-0000406080 00000 n
-0000406145 00000 n
-0000406210 00000 n
-0000406275 00000 n
-0000406339 00000 n
-0000406404 00000 n
-0000406469 00000 n
-0000406534 00000 n
-0000406599 00000 n
-0000406664 00000 n
-0000406729 00000 n
-0000406794 00000 n
-0000406859 00000 n
-0000406923 00000 n
-0000406988 00000 n
-0000407053 00000 n
-0000407118 00000 n
-0000407183 00000 n
-0000407248 00000 n
-0000407313 00000 n
-0000407378 00000 n
-0000407443 00000 n
-0000407508 00000 n
-0000407572 00000 n
-0000407637 00000 n
-0000407702 00000 n
-0000407767 00000 n
-0000407832 00000 n
-0000413256 00000 n
-0000410345 00000 n
-0000408060 00000 n
-0000410470 00000 n
-0000410534 00000 n
-0000410599 00000 n
-0000410664 00000 n
-0000410729 00000 n
-0000410793 00000 n
-0000410920 00000 n
-0000410985 00000 n
-0000411050 00000 n
-0000411115 00000 n
-0000411180 00000 n
-0000411245 00000 n
-0000411309 00000 n
-0000411374 00000 n
-0000411439 00000 n
-0000411504 00000 n
-0000411569 00000 n
-0000411634 00000 n
-0000411699 00000 n
-0000411764 00000 n
-0000411829 00000 n
-0000411894 00000 n
-0000411959 00000 n
-0000412024 00000 n
-0000412089 00000 n
-0000412154 00000 n
-0000412219 00000 n
-0000412284 00000 n
-0000412349 00000 n
-0000412414 00000 n
-0000412479 00000 n
-0000412544 00000 n
-0000412609 00000 n
-0000412674 00000 n
-0000412739 00000 n
-0000412804 00000 n
-0000412868 00000 n
-0000412933 00000 n
-0000412998 00000 n
-0000413063 00000 n
-0000413128 00000 n
-0000413192 00000 n
-0000418870 00000 n
-0000415309 00000 n
-0000413459 00000 n
-0000415434 00000 n
-0000415498 00000 n
-0000415563 00000 n
-0000415628 00000 n
-0000415693 00000 n
-0000415758 00000 n
-0000415823 00000 n
-0000415887 00000 n
-0000415952 00000 n
-0000416017 00000 n
-0000416082 00000 n
-0000416147 00000 n
-0000416212 00000 n
-0000416277 00000 n
-0000416342 00000 n
-0000416407 00000 n
-0000416472 00000 n
-0000416537 00000 n
-0000416602 00000 n
-0000416667 00000 n
-0000416732 00000 n
-0000416795 00000 n
-0000416860 00000 n
-0000416925 00000 n
-0000416990 00000 n
-0000417055 00000 n
-0000417120 00000 n
-0000417185 00000 n
-0000417250 00000 n
-0000417315 00000 n
-0000417379 00000 n
-0000417444 00000 n
-0000417509 00000 n
-0000417574 00000 n
-0000417639 00000 n
-0000417704 00000 n
-0000417769 00000 n
-0000417834 00000 n
-0000417899 00000 n
-0000417963 00000 n
-0000418028 00000 n
-0000418093 00000 n
-0000418158 00000 n
-0000418223 00000 n
-0000418288 00000 n
-0000418353 00000 n
-0000418417 00000 n
-0000418482 00000 n
-0000418547 00000 n
-0000418612 00000 n
-0000418677 00000 n
-0000418742 00000 n
-0000418806 00000 n
-0000424179 00000 n
-0000420618 00000 n
-0000419034 00000 n
-0000420743 00000 n
-0000420807 00000 n
-0000420872 00000 n
-0000420937 00000 n
-0000421002 00000 n
-0000421067 00000 n
-0000421132 00000 n
-0000421197 00000 n
-0000421261 00000 n
-0000421326 00000 n
-0000421391 00000 n
-0000421456 00000 n
-0000421521 00000 n
-0000421586 00000 n
-0000421651 00000 n
-0000421716 00000 n
-0000421781 00000 n
-0000421845 00000 n
-0000421910 00000 n
-0000421975 00000 n
-0000422040 00000 n
-0000422105 00000 n
-0000422170 00000 n
-0000422235 00000 n
-0000422300 00000 n
-0000422365 00000 n
-0000422429 00000 n
-0000422494 00000 n
-0000422559 00000 n
-0000422624 00000 n
-0000422689 00000 n
-0000422754 00000 n
-0000422819 00000 n
-0000422884 00000 n
-0000422949 00000 n
-0000423014 00000 n
-0000423079 00000 n
-0000423144 00000 n
-0000423207 00000 n
-0000423272 00000 n
-0000423337 00000 n
-0000423402 00000 n
-0000423467 00000 n
-0000423532 00000 n
-0000423597 00000 n
-0000423662 00000 n
-0000423727 00000 n
-0000423791 00000 n
-0000423856 00000 n
-0000423921 00000 n
-0000423986 00000 n
-0000424051 00000 n
-0000424115 00000 n
-0000429961 00000 n
-0000426593 00000 n
-0000424343 00000 n
-0000426718 00000 n
-0000426782 00000 n
-0000426847 00000 n
-0000426912 00000 n
-0000426977 00000 n
-0000427042 00000 n
-0000427107 00000 n
-0000427170 00000 n
-0000427235 00000 n
-0000427300 00000 n
-0000427365 00000 n
-0000427430 00000 n
-0000427495 00000 n
-0000427560 00000 n
-0000427625 00000 n
-0000427690 00000 n
-0000427754 00000 n
-0000427819 00000 n
-0000427884 00000 n
-0000427949 00000 n
-0000428014 00000 n
-0000428079 00000 n
-0000428144 00000 n
-0000428209 00000 n
-0000428274 00000 n
-0000428339 00000 n
-0000428404 00000 n
-0000428469 00000 n
-0000428534 00000 n
-0000428599 00000 n
-0000428664 00000 n
-0000428729 00000 n
-0000428794 00000 n
-0000428859 00000 n
-0000428924 00000 n
-0000428989 00000 n
-0000429054 00000 n
-0000429119 00000 n
-0000429184 00000 n
-0000429249 00000 n
-0000429314 00000 n
-0000429379 00000 n
-0000429444 00000 n
-0000429509 00000 n
-0000429573 00000 n
-0000429638 00000 n
-0000429703 00000 n
-0000429768 00000 n
-0000429833 00000 n
-0000429897 00000 n
-0000435506 00000 n
-0000432654 00000 n
-0000430138 00000 n
-0000432779 00000 n
-0000432843 00000 n
-0000432908 00000 n
-0000432973 00000 n
-0000433038 00000 n
-0000433103 00000 n
-0000433168 00000 n
-0000433233 00000 n
-0000433298 00000 n
-0000433363 00000 n
-0000433428 00000 n
-0000433493 00000 n
-0000433558 00000 n
-0000433623 00000 n
-0000433688 00000 n
-0000433753 00000 n
-0000433816 00000 n
-0000433881 00000 n
-0000433946 00000 n
-0000434011 00000 n
-0000434076 00000 n
-0000434141 00000 n
-0000434206 00000 n
-0000434271 00000 n
-0000434336 00000 n
-0000434401 00000 n
-0000434466 00000 n
-0000434531 00000 n
-0000434596 00000 n
-0000434661 00000 n
-0000434726 00000 n
-0000434791 00000 n
-0000434856 00000 n
-0000434921 00000 n
-0000434986 00000 n
-0000435051 00000 n
-0000435116 00000 n
-0000435181 00000 n
-0000435246 00000 n
-0000435311 00000 n
-0000435376 00000 n
-0000435441 00000 n
-0000440917 00000 n
-0000438328 00000 n
-0000435696 00000 n
-0000438453 00000 n
-0000438517 00000 n
-0000438582 00000 n
-0000438646 00000 n
-0000438711 00000 n
-0000438776 00000 n
-0000438841 00000 n
-0000438906 00000 n
-0000438971 00000 n
-0000439036 00000 n
-0000439101 00000 n
-0000439166 00000 n
-0000439231 00000 n
-0000439295 00000 n
-0000439360 00000 n
-0000439425 00000 n
-0000439490 00000 n
-0000439555 00000 n
-0000439620 00000 n
-0000439685 00000 n
-0000439750 00000 n
-0000439815 00000 n
-0000439880 00000 n
-0000439945 00000 n
-0000440010 00000 n
-0000440075 00000 n
-0000440140 00000 n
-0000440204 00000 n
-0000440269 00000 n
-0000440334 00000 n
-0000440399 00000 n
-0000440464 00000 n
-0000440529 00000 n
-0000440594 00000 n
-0000440659 00000 n
-0000440724 00000 n
-0000440789 00000 n
-0000440854 00000 n
-0000446933 00000 n
-0000443371 00000 n
-0000441094 00000 n
-0000443496 00000 n
-0000443560 00000 n
-0000443625 00000 n
-0000443690 00000 n
-0000443755 00000 n
-0000443819 00000 n
-0000443884 00000 n
-0000443949 00000 n
-0000444014 00000 n
-0000444079 00000 n
-0000444144 00000 n
-0000444209 00000 n
-0000444274 00000 n
-0000444339 00000 n
-0000444404 00000 n
-0000444469 00000 n
-0000444533 00000 n
-0000444598 00000 n
-0000444663 00000 n
-0000444728 00000 n
-0000444793 00000 n
-0000444858 00000 n
-0000444923 00000 n
-0000444988 00000 n
-0000445053 00000 n
-0000445118 00000 n
-0000445183 00000 n
-0000445247 00000 n
-0000445312 00000 n
-0000445376 00000 n
-0000445441 00000 n
-0000445506 00000 n
-0000445571 00000 n
-0000445636 00000 n
-0000445701 00000 n
-0000445766 00000 n
-0000445831 00000 n
-0000445896 00000 n
-0000445961 00000 n
-0000446026 00000 n
-0000446090 00000 n
-0000446155 00000 n
-0000446220 00000 n
-0000446285 00000 n
-0000446350 00000 n
-0000446415 00000 n
-0000446480 00000 n
-0000446545 00000 n
-0000446610 00000 n
-0000446674 00000 n
-0000446739 00000 n
-0000446804 00000 n
-0000446869 00000 n
-0000452767 00000 n
-0000449594 00000 n
-0000447110 00000 n
-0000449719 00000 n
-0000449783 00000 n
-0000449848 00000 n
-0000449913 00000 n
-0000449978 00000 n
-0000450043 00000 n
-0000450108 00000 n
-0000450173 00000 n
-0000450238 00000 n
-0000450303 00000 n
-0000450368 00000 n
-0000450433 00000 n
-0000450498 00000 n
-0000450562 00000 n
-0000450627 00000 n
-0000450692 00000 n
-0000450757 00000 n
-0000450822 00000 n
-0000450887 00000 n
-0000450952 00000 n
-0000451017 00000 n
-0000451082 00000 n
-0000451147 00000 n
-0000451212 00000 n
-0000451277 00000 n
-0000451342 00000 n
-0000451407 00000 n
-0000451472 00000 n
-0000451537 00000 n
-0000451602 00000 n
-0000451667 00000 n
-0000451732 00000 n
-0000451796 00000 n
-0000451861 00000 n
-0000451926 00000 n
-0000451991 00000 n
-0000452056 00000 n
-0000452121 00000 n
-0000452186 00000 n
-0000452251 00000 n
-0000452316 00000 n
-0000452381 00000 n
-0000452444 00000 n
-0000452509 00000 n
-0000452574 00000 n
-0000452639 00000 n
-0000452703 00000 n
-0001888406 00000 n
-0000458703 00000 n
-0000454879 00000 n
-0000452944 00000 n
-0000455004 00000 n
-0000455068 00000 n
-0000455133 00000 n
-0000455198 00000 n
-0000455263 00000 n
-0000455328 00000 n
-0000455393 00000 n
-0000455458 00000 n
-0000455523 00000 n
-0000455588 00000 n
-0000455652 00000 n
-0000455717 00000 n
-0000455782 00000 n
-0000455847 00000 n
-0000455912 00000 n
-0000455977 00000 n
-0000456042 00000 n
-0000456107 00000 n
-0000456172 00000 n
-0000456236 00000 n
-0000456301 00000 n
-0000456366 00000 n
-0000456431 00000 n
-0000456496 00000 n
-0000456561 00000 n
-0000456626 00000 n
-0000456691 00000 n
-0000456756 00000 n
-0000456821 00000 n
-0000456886 00000 n
-0000456951 00000 n
-0000457016 00000 n
-0000457081 00000 n
-0000457146 00000 n
-0000457211 00000 n
-0000457276 00000 n
-0000457341 00000 n
-0000457406 00000 n
-0000457471 00000 n
-0000457536 00000 n
-0000457601 00000 n
-0000457665 00000 n
-0000457730 00000 n
-0000457795 00000 n
-0000457860 00000 n
-0000457925 00000 n
-0000457990 00000 n
-0000458055 00000 n
-0000458120 00000 n
-0000458185 00000 n
-0000458249 00000 n
-0000458314 00000 n
-0000458379 00000 n
-0000458444 00000 n
-0000458509 00000 n
-0000458574 00000 n
-0000458639 00000 n
-0000464147 00000 n
-0000461817 00000 n
-0000458867 00000 n
-0000461942 00000 n
-0000462006 00000 n
-0000462071 00000 n
-0000462136 00000 n
-0000462201 00000 n
-0000462266 00000 n
-0000462331 00000 n
-0000462396 00000 n
-0000462461 00000 n
-0000462525 00000 n
-0000462590 00000 n
-0000462655 00000 n
-0000462720 00000 n
-0000462785 00000 n
-0000462850 00000 n
-0000462915 00000 n
-0000462979 00000 n
-0000463044 00000 n
-0000463109 00000 n
-0000463174 00000 n
-0000463239 00000 n
-0000463304 00000 n
-0000463369 00000 n
-0000463434 00000 n
-0000463499 00000 n
-0000463564 00000 n
-0000463629 00000 n
-0000463694 00000 n
-0000463759 00000 n
-0000463824 00000 n
-0000463889 00000 n
-0000463953 00000 n
-0000464018 00000 n
-0000464083 00000 n
-0000469811 00000 n
-0000467288 00000 n
-0000464337 00000 n
-0000467413 00000 n
-0000467477 00000 n
-0000467542 00000 n
-0000467607 00000 n
-0000467672 00000 n
-0000467737 00000 n
-0000467802 00000 n
-0000467867 00000 n
-0000467931 00000 n
-0000467996 00000 n
-0000468061 00000 n
-0000468125 00000 n
-0000468190 00000 n
-0000468255 00000 n
-0000468320 00000 n
-0000468385 00000 n
-0000468450 00000 n
-0000468515 00000 n
-0000468580 00000 n
-0000468644 00000 n
-0000468709 00000 n
-0000468774 00000 n
-0000468839 00000 n
-0000468904 00000 n
-0000468969 00000 n
-0000469034 00000 n
-0000469099 00000 n
-0000469164 00000 n
-0000469229 00000 n
-0000469294 00000 n
-0000469358 00000 n
-0000469423 00000 n
-0000469488 00000 n
-0000469553 00000 n
-0000469618 00000 n
-0000469683 00000 n
-0000469747 00000 n
-0000475632 00000 n
-0000472394 00000 n
-0000470001 00000 n
-0000472519 00000 n
-0000472583 00000 n
-0000472648 00000 n
-0000472713 00000 n
-0000472778 00000 n
-0000472843 00000 n
-0000472908 00000 n
-0000472973 00000 n
-0000473038 00000 n
-0000473103 00000 n
-0000473167 00000 n
-0000473232 00000 n
-0000473297 00000 n
-0000473362 00000 n
-0000473427 00000 n
-0000473492 00000 n
-0000473557 00000 n
-0000473622 00000 n
-0000473687 00000 n
-0000473752 00000 n
-0000473817 00000 n
-0000473882 00000 n
-0000473947 00000 n
-0000474011 00000 n
-0000474076 00000 n
-0000474141 00000 n
-0000474206 00000 n
-0000474271 00000 n
-0000474335 00000 n
-0000474400 00000 n
-0000474465 00000 n
-0000474530 00000 n
-0000474595 00000 n
-0000474660 00000 n
-0000474725 00000 n
-0000474790 00000 n
-0000474855 00000 n
-0000474919 00000 n
-0000474984 00000 n
-0000475049 00000 n
-0000475114 00000 n
-0000475179 00000 n
-0000475244 00000 n
-0000475309 00000 n
-0000475374 00000 n
-0000475439 00000 n
-0000475504 00000 n
-0000475568 00000 n
-0000481571 00000 n
-0000477750 00000 n
-0000475809 00000 n
-0000477875 00000 n
-0000477939 00000 n
-0000478004 00000 n
-0000478069 00000 n
-0000478134 00000 n
-0000478199 00000 n
-0000478264 00000 n
-0000478329 00000 n
-0000478394 00000 n
-0000478459 00000 n
-0000478523 00000 n
-0000478588 00000 n
-0000478653 00000 n
-0000478718 00000 n
-0000478783 00000 n
-0000478848 00000 n
-0000478913 00000 n
-0000478978 00000 n
-0000479043 00000 n
-0000479107 00000 n
-0000479172 00000 n
-0000479237 00000 n
-0000479302 00000 n
-0000479367 00000 n
-0000479432 00000 n
-0000479497 00000 n
-0000479562 00000 n
-0000479627 00000 n
-0000479690 00000 n
-0000479755 00000 n
-0000479820 00000 n
-0000479885 00000 n
-0000479950 00000 n
-0000480015 00000 n
-0000480080 00000 n
-0000480145 00000 n
-0000480210 00000 n
-0000480275 00000 n
-0000480340 00000 n
-0000480405 00000 n
-0000480470 00000 n
-0000480535 00000 n
-0000480600 00000 n
-0000480665 00000 n
-0000480729 00000 n
-0000480794 00000 n
-0000480859 00000 n
-0000480924 00000 n
-0000480989 00000 n
-0000481054 00000 n
-0000481119 00000 n
-0000481184 00000 n
-0000481249 00000 n
-0000481313 00000 n
-0000481378 00000 n
-0000481443 00000 n
-0000481507 00000 n
-0000487343 00000 n
-0000483718 00000 n
-0000481735 00000 n
-0000483843 00000 n
-0000483907 00000 n
-0000483972 00000 n
-0000484037 00000 n
-0000484102 00000 n
-0000484167 00000 n
-0000484232 00000 n
-0000484297 00000 n
-0000484362 00000 n
-0000484427 00000 n
-0000484491 00000 n
-0000484556 00000 n
-0000484621 00000 n
-0000484686 00000 n
-0000484751 00000 n
-0000484816 00000 n
-0000484881 00000 n
-0000484945 00000 n
-0000485010 00000 n
-0000485075 00000 n
-0000485140 00000 n
-0000485205 00000 n
-0000485270 00000 n
-0000485335 00000 n
-0000485400 00000 n
-0000485465 00000 n
-0000485530 00000 n
-0000485595 00000 n
-0000485659 00000 n
-0000485724 00000 n
-0000485789 00000 n
-0000485853 00000 n
-0000485918 00000 n
-0000485983 00000 n
-0000486048 00000 n
-0000486113 00000 n
-0000486178 00000 n
-0000486243 00000 n
-0000486308 00000 n
-0000486373 00000 n
-0000486437 00000 n
-0000486502 00000 n
-0000486567 00000 n
-0000486632 00000 n
-0000486697 00000 n
-0000486761 00000 n
-0000486826 00000 n
-0000486891 00000 n
-0000486956 00000 n
-0000487021 00000 n
-0000487086 00000 n
-0000487151 00000 n
-0000487216 00000 n
-0000487280 00000 n
-0000493254 00000 n
-0000489303 00000 n
-0000487507 00000 n
-0000489428 00000 n
-0000489492 00000 n
-0000489557 00000 n
-0000489622 00000 n
-0000489687 00000 n
-0000489752 00000 n
-0000489817 00000 n
-0000489882 00000 n
-0000489947 00000 n
-0000490012 00000 n
-0000490077 00000 n
-0000490142 00000 n
-0000490205 00000 n
-0000490270 00000 n
-0000490335 00000 n
-0000490400 00000 n
-0000490465 00000 n
-0000490530 00000 n
-0000490595 00000 n
-0000490660 00000 n
-0000490725 00000 n
-0000490790 00000 n
-0000490855 00000 n
-0000490920 00000 n
-0000490985 00000 n
-0000491050 00000 n
-0000491115 00000 n
-0000491180 00000 n
-0000491245 00000 n
-0000491310 00000 n
-0000491375 00000 n
-0000491439 00000 n
-0000491504 00000 n
-0000491569 00000 n
-0000491634 00000 n
-0000491699 00000 n
-0000491764 00000 n
-0000491829 00000 n
-0000491894 00000 n
-0000491959 00000 n
-0000492024 00000 n
-0000492089 00000 n
-0000492154 00000 n
-0000492219 00000 n
-0000492284 00000 n
-0000492348 00000 n
-0000492413 00000 n
-0000492478 00000 n
-0000492543 00000 n
-0000492608 00000 n
-0000492673 00000 n
-0000492738 00000 n
-0000492803 00000 n
-0000492868 00000 n
-0000492931 00000 n
-0000492996 00000 n
-0000493061 00000 n
-0000493126 00000 n
-0000493190 00000 n
-0000498837 00000 n
-0000495731 00000 n
-0000493418 00000 n
-0000495856 00000 n
-0000495920 00000 n
-0000495985 00000 n
-0000496050 00000 n
-0000496115 00000 n
-0000496180 00000 n
-0000496245 00000 n
-0000496310 00000 n
-0000496375 00000 n
-0000496440 00000 n
-0000496505 00000 n
-0000496570 00000 n
-0000496635 00000 n
-0000496700 00000 n
-0000496765 00000 n
-0000496829 00000 n
-0000496894 00000 n
-0000496959 00000 n
-0000497024 00000 n
-0000497089 00000 n
-0000497153 00000 n
-0000497218 00000 n
-0000497283 00000 n
-0000497348 00000 n
-0000497413 00000 n
-0000497478 00000 n
-0000497543 00000 n
-0000497608 00000 n
-0000497673 00000 n
-0000497737 00000 n
-0000497802 00000 n
-0000497867 00000 n
-0000497932 00000 n
-0000497997 00000 n
-0000498062 00000 n
-0000498127 00000 n
-0000498191 00000 n
-0000498256 00000 n
-0000498321 00000 n
-0000498386 00000 n
-0000498451 00000 n
-0000498516 00000 n
-0000498581 00000 n
-0000498646 00000 n
-0000498711 00000 n
-0000498775 00000 n
-0000504540 00000 n
-0000501239 00000 n
+0000012707 00000 n
+0000012769 00000 n
+0001886521 00000 n
+0001888128 00000 n
+0001890109 00000 n
+0001886342 00000 n
+0001888838 00000 n
+0001885805 00000 n
+0001887232 00000 n
+0001888483 00000 n
+0001887588 00000 n
+0001889193 00000 n
+0001886163 00000 n
+0001887950 00000 n
+0001888660 00000 n
+0001885629 00000 n
+0000012891 00000 n
+0001888306 00000 n
+0000012954 00000 n
+0000013016 00000 n
+0000013079 00000 n
+0000013142 00000 n
+0000013205 00000 n
+0000013268 00000 n
+0000013331 00000 n
+0000013394 00000 n
+0000013457 00000 n
+0000013520 00000 n
+0000013583 00000 n
+0000013646 00000 n
+0000013709 00000 n
+0000013772 00000 n
+0001890291 00000 n
+0001887054 00000 n
+0001891363 00000 n
+0000019184 00000 n
+0000016238 00000 n
+0000014166 00000 n
+0000016359 00000 n
+0000016421 00000 n
+0000016484 00000 n
+0000016547 00000 n
+0000016610 00000 n
+0000016673 00000 n
+0000016736 00000 n
+0000016799 00000 n
+0000016862 00000 n
+0000016925 00000 n
+0000016987 00000 n
+0000017050 00000 n
+0000017113 00000 n
+0000017176 00000 n
+0000017239 00000 n
+0000017302 00000 n
+0000017365 00000 n
+0000017428 00000 n
+0000017491 00000 n
+0000017554 00000 n
+0000017616 00000 n
+0000017679 00000 n
+0000017742 00000 n
+0000017805 00000 n
+0000017868 00000 n
+0000017930 00000 n
+0000017993 00000 n
+0000018056 00000 n
+0000018119 00000 n
+0000018182 00000 n
+0000018245 00000 n
+0000018308 00000 n
+0000018371 00000 n
+0000018434 00000 n
+0000018495 00000 n
+0000018558 00000 n
+0000018621 00000 n
+0000018684 00000 n
+0000018747 00000 n
+0000018810 00000 n
+0000018873 00000 n
+0000018936 00000 n
+0000018999 00000 n
+0000019062 00000 n
+0000024635 00000 n
+0000021814 00000 n
+0000019347 00000 n
+0000021935 00000 n
+0000021997 00000 n
+0000022060 00000 n
+0000022123 00000 n
+0000022186 00000 n
+0000022249 00000 n
+0000022312 00000 n
+0001891187 00000 n
+0000022375 00000 n
+0000022438 00000 n
+0000022500 00000 n
+0000022563 00000 n
+0000022625 00000 n
+0000022688 00000 n
+0000022751 00000 n
+0000022814 00000 n
+0000022877 00000 n
+0000022940 00000 n
+0000023003 00000 n
+0000023066 00000 n
+0000023129 00000 n
+0000023192 00000 n
+0000023254 00000 n
+0000023317 00000 n
+0000023379 00000 n
+0000023442 00000 n
+0000023505 00000 n
+0000023568 00000 n
+0000023631 00000 n
+0000023694 00000 n
+0000023757 00000 n
+0000023820 00000 n
+0000023883 00000 n
+0000023944 00000 n
+0000024007 00000 n
+0000024070 00000 n
+0000024133 00000 n
+0000024196 00000 n
+0000024259 00000 n
+0000024322 00000 n
+0000024385 00000 n
+0000024448 00000 n
+0000024511 00000 n
+0000024573 00000 n
+0000029060 00000 n
+0000026681 00000 n
+0000024837 00000 n
+0000026802 00000 n
+0000026864 00000 n
+0000026927 00000 n
+0000026990 00000 n
+0000027053 00000 n
+0000027116 00000 n
+0000027179 00000 n
+0000027242 00000 n
+0000027305 00000 n
+0000027368 00000 n
+0000027430 00000 n
+0000027493 00000 n
+0000027556 00000 n
+0001887766 00000 n
+0001887410 00000 n
+0000027680 00000 n
+0000027743 00000 n
+0000027805 00000 n
+0000027868 00000 n
+0000027931 00000 n
+0000027994 00000 n
+0000028057 00000 n
+0000028120 00000 n
+0000028183 00000 n
+0000028246 00000 n
+0000028309 00000 n
+0000028371 00000 n
+0000028434 00000 n
+0000028497 00000 n
+0000028560 00000 n
+0000028623 00000 n
+0000028686 00000 n
+0000028749 00000 n
+0000028873 00000 n
+0000028936 00000 n
+0000028998 00000 n
+0000034571 00000 n
+0000031870 00000 n
+0000029262 00000 n
+0000031991 00000 n
+0000032053 00000 n
+0000032116 00000 n
+0000032179 00000 n
+0000032242 00000 n
+0000032305 00000 n
+0000032368 00000 n
+0000032431 00000 n
+0000032494 00000 n
+0000032557 00000 n
+0000032619 00000 n
+0000032682 00000 n
+0000032745 00000 n
+0000032808 00000 n
+0000032871 00000 n
+0000032934 00000 n
+0000032997 00000 n
+0000033060 00000 n
+0000033123 00000 n
+0000033186 00000 n
+0000033249 00000 n
+0000033312 00000 n
+0000033375 00000 n
+0000033438 00000 n
+0000033500 00000 n
+0000033563 00000 n
+0000033626 00000 n
+0000033689 00000 n
+0000033752 00000 n
+0000033815 00000 n
+0000033878 00000 n
+0000033941 00000 n
+0000034004 00000 n
+0000034067 00000 n
+0000034130 00000 n
+0000034193 00000 n
+0000034256 00000 n
+0000034319 00000 n
+0000034382 00000 n
+0000034445 00000 n
+0000034508 00000 n
+0000040320 00000 n
+0000037558 00000 n
+0000034760 00000 n
+0000037679 00000 n
+0000037741 00000 n
+0000037804 00000 n
+0000037866 00000 n
+0000037929 00000 n
+0000037992 00000 n
+0000038055 00000 n
+0000038118 00000 n
+0000038181 00000 n
+0000038244 00000 n
+0000038307 00000 n
+0000038370 00000 n
+0000038433 00000 n
+0000038496 00000 n
+0000038559 00000 n
+0000038622 00000 n
+0000038685 00000 n
+0000038748 00000 n
+0000038811 00000 n
+0000038874 00000 n
+0000038936 00000 n
+0000038999 00000 n
+0000039062 00000 n
+0000039125 00000 n
+0000039188 00000 n
+0000039251 00000 n
+0000039314 00000 n
+0000039377 00000 n
+0000039440 00000 n
+0000039503 00000 n
+0000039565 00000 n
+0000039628 00000 n
+0000039691 00000 n
+0000039754 00000 n
+0000039817 00000 n
+0000039880 00000 n
+0000039943 00000 n
+0000040006 00000 n
+0000040069 00000 n
+0000040132 00000 n
+0000040195 00000 n
+0000040258 00000 n
+0000043183 00000 n
+0000046293 00000 n
+0000043017 00000 n
+0000040496 00000 n
+0000043339 00000 n
+0000043401 00000 n
+0000043464 00000 n
+0000043527 00000 n
+0000043590 00000 n
+0000043653 00000 n
+0000043716 00000 n
+0000043779 00000 n
+0000043841 00000 n
+0000043904 00000 n
+0000043967 00000 n
+0000044030 00000 n
+0000044093 00000 n
+0000044156 00000 n
+0000044219 00000 n
+0000044282 00000 n
+0000044345 00000 n
+0000044408 00000 n
+0000044471 00000 n
+0000044533 00000 n
+0000044596 00000 n
+0000044659 00000 n
+0000044722 00000 n
+0000044785 00000 n
+0000044848 00000 n
+0000044911 00000 n
+0000044974 00000 n
+0000045037 00000 n
+0000045099 00000 n
+0000045162 00000 n
+0000045225 00000 n
+0000045287 00000 n
+0000045350 00000 n
+0000045413 00000 n
+0000045476 00000 n
+0000045539 00000 n
+0000045602 00000 n
+0000045665 00000 n
+0000045728 00000 n
+0000045791 00000 n
+0001886877 00000 n
+0000045853 00000 n
+0000045916 00000 n
+0000045979 00000 n
+0000046042 00000 n
+0000046105 00000 n
+0000046168 00000 n
+0001886700 00000 n
+0000046231 00000 n
+0000043154 00000 n
+0000051957 00000 n
+0000049010 00000 n
+0000046534 00000 n
+0000049131 00000 n
+0000049193 00000 n
+0000049256 00000 n
+0000049317 00000 n
+0000049380 00000 n
+0000049443 00000 n
+0000049506 00000 n
+0000049567 00000 n
+0000049630 00000 n
+0000049693 00000 n
+0000049756 00000 n
+0000049819 00000 n
+0000049882 00000 n
+0000049945 00000 n
+0000050008 00000 n
+0000050071 00000 n
+0000050133 00000 n
+0000050196 00000 n
+0000050259 00000 n
+0000050322 00000 n
+0000050385 00000 n
+0000050448 00000 n
+0000050511 00000 n
+0000050574 00000 n
+0000050637 00000 n
+0000050700 00000 n
+0000050763 00000 n
+0000050826 00000 n
+0000050889 00000 n
+0000050952 00000 n
+0000051015 00000 n
+0000051078 00000 n
+0000051141 00000 n
+0000051204 00000 n
+0000051267 00000 n
+0000051330 00000 n
+0000051393 00000 n
+0000051456 00000 n
+0000051519 00000 n
+0000051581 00000 n
+0000051644 00000 n
+0000051707 00000 n
+0000051770 00000 n
+0000051833 00000 n
+0000051895 00000 n
+0000056300 00000 n
+0000054357 00000 n
+0000052146 00000 n
+0000054478 00000 n
+0000054540 00000 n
+0000054603 00000 n
+0000054665 00000 n
+0000054728 00000 n
+0000054791 00000 n
+0000054854 00000 n
+0000054917 00000 n
+0000054980 00000 n
+0000055043 00000 n
+0000055106 00000 n
+0000055169 00000 n
+0000055232 00000 n
+0000055295 00000 n
+0000055358 00000 n
+0000055421 00000 n
+0000055484 00000 n
+0000055547 00000 n
+0000055610 00000 n
+0000055673 00000 n
+0000055736 00000 n
+0000055860 00000 n
+0001885980 00000 n
+0000055923 00000 n
+0000055986 00000 n
+0000056049 00000 n
+0000056112 00000 n
+0000056175 00000 n
+0000056237 00000 n
+0000060755 00000 n
+0000059566 00000 n
+0000056515 00000 n
+0000059687 00000 n
+0000059749 00000 n
+0000059812 00000 n
+0000059874 00000 n
+0000059937 00000 n
+0000060000 00000 n
+0000060063 00000 n
+0000060126 00000 n
+0000060189 00000 n
+0000060252 00000 n
+0000060315 00000 n
+0000060378 00000 n
+0000060441 00000 n
+0000060504 00000 n
+0000060567 00000 n
+0000060629 00000 n
+0000060692 00000 n
+0000064774 00000 n
+0000063586 00000 n
+0000060931 00000 n
+0000063707 00000 n
+0000063769 00000 n
+0000063832 00000 n
+0000063895 00000 n
+0000063958 00000 n
+0000064021 00000 n
+0000064084 00000 n
+0000064147 00000 n
+0000064209 00000 n
+0000064272 00000 n
+0000064335 00000 n
+0000064398 00000 n
+0000064460 00000 n
+0000064523 00000 n
+0000064586 00000 n
+0000064649 00000 n
+0000064712 00000 n
+0001891517 00000 n
+0000069185 00000 n
+0000067556 00000 n
+0000064963 00000 n
+0000067677 00000 n
+0000067739 00000 n
+0000067802 00000 n
+0000067865 00000 n
+0000067928 00000 n
+0000067991 00000 n
+0000068054 00000 n
+0000068117 00000 n
+0000068180 00000 n
+0000068243 00000 n
+0000068306 00000 n
+0000068369 00000 n
+0000068432 00000 n
+0000068495 00000 n
+0000068558 00000 n
+0000068621 00000 n
+0000068684 00000 n
+0000068747 00000 n
+0000068810 00000 n
+0000068873 00000 n
+0000068934 00000 n
+0000068997 00000 n
+0000069060 00000 n
+0000069123 00000 n
+0000073745 00000 n
+0000072306 00000 n
+0000069374 00000 n
+0000072427 00000 n
+0000072489 00000 n
+0000072552 00000 n
+0000072615 00000 n
+0000072678 00000 n
+0000072741 00000 n
+0000072804 00000 n
+0000072866 00000 n
+0000072929 00000 n
+0000072992 00000 n
+0000073055 00000 n
+0000073117 00000 n
+0000073180 00000 n
+0000073243 00000 n
+0000073306 00000 n
+0000073369 00000 n
+0000073432 00000 n
+0000073494 00000 n
+0000073557 00000 n
+0000073620 00000 n
+0000073683 00000 n
+0000078243 00000 n
+0000077054 00000 n
+0000073947 00000 n
+0000077175 00000 n
+0000077237 00000 n
+0001890653 00000 n
+0000077300 00000 n
+0001889740 00000 n
+0000077363 00000 n
+0000077426 00000 n
+0000077489 00000 n
+0000077552 00000 n
+0000077615 00000 n
+0001891007 00000 n
+0000077678 00000 n
+0000077740 00000 n
+0000077803 00000 n
+0000077866 00000 n
+0000077928 00000 n
+0000077991 00000 n
+0000078054 00000 n
+0000078117 00000 n
+0000078180 00000 n
+0000082950 00000 n
+0000081762 00000 n
+0000078471 00000 n
+0000081883 00000 n
+0000081945 00000 n
+0000082008 00000 n
+0000082071 00000 n
+0000082134 00000 n
+0000082197 00000 n
+0000082260 00000 n
+0000082323 00000 n
+0000082386 00000 n
+0000082449 00000 n
+0000082512 00000 n
+0000082575 00000 n
+0000082638 00000 n
+0000082699 00000 n
+0000082762 00000 n
+0000082824 00000 n
+0000082887 00000 n
+0000088123 00000 n
+0000086492 00000 n
+0000083139 00000 n
+0000086613 00000 n
+0000086675 00000 n
+0000086738 00000 n
+0000086801 00000 n
+0000086864 00000 n
+0000086927 00000 n
+0000086990 00000 n
+0000087053 00000 n
+0000087116 00000 n
+0000087179 00000 n
+0000087242 00000 n
+0000087305 00000 n
+0000087368 00000 n
+0000087431 00000 n
+0000087494 00000 n
+0000087557 00000 n
+0000087620 00000 n
+0000087683 00000 n
+0000087746 00000 n
+0000087809 00000 n
+0000087872 00000 n
+0000087935 00000 n
+0000087998 00000 n
+0000088061 00000 n
+0000092772 00000 n
+0000091207 00000 n
+0000088325 00000 n
+0000091328 00000 n
+0000091390 00000 n
+0000091452 00000 n
+0000091515 00000 n
+0000091578 00000 n
+0000091641 00000 n
+0000091704 00000 n
+0000091767 00000 n
+0000091830 00000 n
+0000091893 00000 n
+0000091956 00000 n
+0000092019 00000 n
+0000092082 00000 n
+0000092145 00000 n
+0000092208 00000 n
+0000092271 00000 n
+0000092334 00000 n
+0000092396 00000 n
+0000092459 00000 n
+0000092522 00000 n
+0000092585 00000 n
+0001885453 00000 n
+0000092648 00000 n
+0000092710 00000 n
+0000096097 00000 n
+0000097004 00000 n
+0000095931 00000 n
+0000092974 00000 n
+0000096252 00000 n
+0000096314 00000 n
+0000096376 00000 n
+0000096439 00000 n
+0000096502 00000 n
+0000096565 00000 n
+0000096628 00000 n
+0000096691 00000 n
+0000096753 00000 n
+0000096816 00000 n
+0000096879 00000 n
+0000096942 00000 n
+0001889016 00000 n
+0001890472 00000 n
+0001890830 00000 n
+0000096068 00000 n
+0000101714 00000 n
+0000099584 00000 n
+0000097297 00000 n
+0000099705 00000 n
+0000099767 00000 n
+0000099830 00000 n
+0000099893 00000 n
+0000099956 00000 n
+0000100019 00000 n
+0000100082 00000 n
+0000100145 00000 n
+0000100208 00000 n
+0000100271 00000 n
+0000100334 00000 n
+0000100397 00000 n
+0000100460 00000 n
+0000100522 00000 n
+0000100585 00000 n
+0000100648 00000 n
+0000100711 00000 n
+0000100774 00000 n
+0000100837 00000 n
+0000100900 00000 n
+0000100963 00000 n
+0000101026 00000 n
+0000101087 00000 n
+0000101150 00000 n
+0000101213 00000 n
+0000101276 00000 n
+0000101339 00000 n
+0000101402 00000 n
+0000101465 00000 n
+0000101528 00000 n
+0000101591 00000 n
+0000105524 00000 n
+0000106685 00000 n
+0000105358 00000 n
+0000101929 00000 n
+0000105680 00000 n
+0001889370 00000 n
+0000105742 00000 n
+0000105805 00000 n
+0000105867 00000 n
+0000105930 00000 n
+0000105993 00000 n
+0000106056 00000 n
+0000106119 00000 n
+0000106182 00000 n
+0000106245 00000 n
+0000106308 00000 n
+0000106371 00000 n
+0000106433 00000 n
+0000106496 00000 n
+0000106559 00000 n
+0000106622 00000 n
+0000105495 00000 n
+0000112393 00000 n
+0000109761 00000 n
+0000106978 00000 n
+0000109882 00000 n
+0000109944 00000 n
+0000110007 00000 n
+0000110070 00000 n
+0000110132 00000 n
+0000110195 00000 n
+0000110258 00000 n
+0000110321 00000 n
+0000110384 00000 n
+0000110447 00000 n
+0000110509 00000 n
+0000110572 00000 n
+0000110635 00000 n
+0000110698 00000 n
+0000110761 00000 n
+0000110824 00000 n
+0000110887 00000 n
+0000110950 00000 n
+0000111013 00000 n
+0000111074 00000 n
+0000111137 00000 n
+0000111200 00000 n
+0000111263 00000 n
+0000111326 00000 n
+0000111389 00000 n
+0000111452 00000 n
+0000111515 00000 n
+0000111578 00000 n
+0000111641 00000 n
+0000111704 00000 n
+0000111767 00000 n
+0000111829 00000 n
+0000111892 00000 n
+0000111955 00000 n
+0000112018 00000 n
+0000112081 00000 n
+0000112144 00000 n
+0000112207 00000 n
+0000112270 00000 n
+0000112332 00000 n
+0001891671 00000 n
+0000118038 00000 n
+0000115088 00000 n
+0000112569 00000 n
+0000115209 00000 n
+0000115271 00000 n
+0000115334 00000 n
+0000115397 00000 n
+0000115460 00000 n
+0000115523 00000 n
+0000115586 00000 n
+0000115649 00000 n
+0000115712 00000 n
+0000115775 00000 n
+0000115837 00000 n
+0000115900 00000 n
+0000115963 00000 n
+0000116026 00000 n
+0000116089 00000 n
+0000116152 00000 n
+0000116215 00000 n
+0000116278 00000 n
+0000116341 00000 n
+0000116404 00000 n
+0000116466 00000 n
+0000116529 00000 n
+0000116592 00000 n
+0000116655 00000 n
+0000116718 00000 n
+0000116781 00000 n
+0000116844 00000 n
+0000116907 00000 n
+0000116970 00000 n
+0000117033 00000 n
+0000117096 00000 n
+0000117159 00000 n
+0000117222 00000 n
+0000117285 00000 n
+0000117348 00000 n
+0000117411 00000 n
+0000117474 00000 n
+0000117537 00000 n
+0000117600 00000 n
+0000117662 00000 n
+0000117725 00000 n
+0000117788 00000 n
+0000117851 00000 n
+0000117914 00000 n
+0000117976 00000 n
+0000123699 00000 n
+0000121000 00000 n
+0000118214 00000 n
+0000121121 00000 n
+0000121183 00000 n
+0000121246 00000 n
+0000121309 00000 n
+0000121372 00000 n
+0000121435 00000 n
+0000121498 00000 n
+0000121561 00000 n
+0000121624 00000 n
+0000121687 00000 n
+0000121749 00000 n
+0000121812 00000 n
+0000121875 00000 n
+0000121938 00000 n
+0000122001 00000 n
+0000122064 00000 n
+0000122127 00000 n
+0000122190 00000 n
+0000122253 00000 n
+0000122316 00000 n
+0000122379 00000 n
+0000122442 00000 n
+0000122505 00000 n
+0000122568 00000 n
+0000122631 00000 n
+0000122694 00000 n
+0000122757 00000 n
+0000122819 00000 n
+0000122882 00000 n
+0000122945 00000 n
+0000123008 00000 n
+0000123071 00000 n
+0000123134 00000 n
+0000123197 00000 n
+0000123260 00000 n
+0000123323 00000 n
+0000123386 00000 n
+0000123449 00000 n
+0000123512 00000 n
+0000123575 00000 n
+0000123637 00000 n
+0000129158 00000 n
+0000126329 00000 n
+0000123888 00000 n
+0000126450 00000 n
+0000126512 00000 n
+0000126575 00000 n
+0000126638 00000 n
+0000126701 00000 n
+0000126764 00000 n
+0000126826 00000 n
+0000126889 00000 n
+0000126952 00000 n
+0000127015 00000 n
+0000127078 00000 n
+0000127141 00000 n
+0000127204 00000 n
+0000127267 00000 n
+0000127330 00000 n
+0000127393 00000 n
+0000127456 00000 n
+0000127519 00000 n
+0000127582 00000 n
+0000127644 00000 n
+0000127707 00000 n
+0000127770 00000 n
+0000127833 00000 n
+0000127896 00000 n
+0000127959 00000 n
+0000128022 00000 n
+0000128085 00000 n
+0000128148 00000 n
+0000128210 00000 n
+0000128273 00000 n
+0000128336 00000 n
+0000128459 00000 n
+0000128522 00000 n
+0000128585 00000 n
+0000128649 00000 n
+0000128713 00000 n
+0000128776 00000 n
+0000128840 00000 n
+0000128904 00000 n
+0000128968 00000 n
+0000129032 00000 n
+0000129095 00000 n
+0000134378 00000 n
+0000131470 00000 n
+0000129347 00000 n
+0000131594 00000 n
+0000131658 00000 n
+0000131723 00000 n
+0000131788 00000 n
+0000131853 00000 n
+0000131918 00000 n
+0000131983 00000 n
+0000132048 00000 n
+0000132113 00000 n
+0000132178 00000 n
+0000132242 00000 n
+0000132307 00000 n
+0000132372 00000 n
+0000132437 00000 n
+0000132502 00000 n
+0000132565 00000 n
+0000132630 00000 n
+0000132695 00000 n
+0000132760 00000 n
+0000132825 00000 n
+0000132890 00000 n
+0000132955 00000 n
+0000133020 00000 n
+0000133085 00000 n
+0000133149 00000 n
+0000133214 00000 n
+0000133279 00000 n
+0000133344 00000 n
+0000133409 00000 n
+0000133474 00000 n
+0000133539 00000 n
+0000133604 00000 n
+0000133669 00000 n
+0000133733 00000 n
+0000133798 00000 n
+0000133863 00000 n
+0000133928 00000 n
+0000134055 00000 n
+0000134119 00000 n
+0000134184 00000 n
+0000134249 00000 n
+0000134314 00000 n
+0000139164 00000 n
+0000137419 00000 n
+0000134568 00000 n
+0000137543 00000 n
+0000137607 00000 n
+0000137672 00000 n
+0000137737 00000 n
+0000137802 00000 n
+0000137867 00000 n
+0000137932 00000 n
+0000137997 00000 n
+0000138062 00000 n
+0000138127 00000 n
+0000138192 00000 n
+0000138257 00000 n
+0000138322 00000 n
+0000138387 00000 n
+0000138452 00000 n
+0000138517 00000 n
+0000138582 00000 n
+0000138647 00000 n
+0000138712 00000 n
+0000138777 00000 n
+0000138842 00000 n
+0000138907 00000 n
+0000138971 00000 n
+0000139036 00000 n
+0000139100 00000 n
+0000143290 00000 n
+0000141999 00000 n
+0000139341 00000 n
+0000142123 00000 n
+0000142187 00000 n
+0000142252 00000 n
+0000142317 00000 n
+0000142382 00000 n
+0000142447 00000 n
+0000142512 00000 n
+0000142576 00000 n
+0000142641 00000 n
+0000142706 00000 n
+0000142771 00000 n
+0000142836 00000 n
+0000142901 00000 n
+0000142966 00000 n
+0000143030 00000 n
+0000143095 00000 n
+0000143160 00000 n
+0000143225 00000 n
+0000148777 00000 n
+0000146255 00000 n
+0000143467 00000 n
+0000146379 00000 n
+0000146443 00000 n
+0000146508 00000 n
+0000146573 00000 n
+0000146638 00000 n
+0000146703 00000 n
+0000146768 00000 n
+0000146833 00000 n
+0000146898 00000 n
+0000146963 00000 n
+0000147028 00000 n
+0000147093 00000 n
+0000147158 00000 n
+0000147222 00000 n
+0000147287 00000 n
+0000147352 00000 n
+0000147417 00000 n
+0000147482 00000 n
+0000147547 00000 n
+0000147612 00000 n
+0000147677 00000 n
+0000147742 00000 n
+0000147807 00000 n
+0000147871 00000 n
+0000147936 00000 n
+0000148001 00000 n
+0000148066 00000 n
+0000148131 00000 n
+0000148196 00000 n
+0000148261 00000 n
+0000148326 00000 n
+0000148391 00000 n
+0000148454 00000 n
+0000148519 00000 n
+0000148584 00000 n
+0000148649 00000 n
+0000148713 00000 n
+0000154759 00000 n
+0000151329 00000 n
+0000148954 00000 n
+0000151453 00000 n
+0000151517 00000 n
+0000151582 00000 n
+0000151647 00000 n
+0000151712 00000 n
+0000151777 00000 n
+0000151842 00000 n
+0000151907 00000 n
+0000151972 00000 n
+0000152037 00000 n
+0000152101 00000 n
+0000152166 00000 n
+0000152231 00000 n
+0000152296 00000 n
+0000152361 00000 n
+0000152425 00000 n
+0000152490 00000 n
+0000152555 00000 n
+0000152620 00000 n
+0000152685 00000 n
+0000152750 00000 n
+0000152815 00000 n
+0000152879 00000 n
+0000152944 00000 n
+0000153009 00000 n
+0000153074 00000 n
+0000153139 00000 n
+0000153204 00000 n
+0000153269 00000 n
+0000153334 00000 n
+0000153398 00000 n
+0000153463 00000 n
+0000153528 00000 n
+0000153593 00000 n
+0000153658 00000 n
+0000153723 00000 n
+0000153788 00000 n
+0000153853 00000 n
+0000153918 00000 n
+0000153982 00000 n
+0000154047 00000 n
+0000154112 00000 n
+0000154177 00000 n
+0000154242 00000 n
+0000154307 00000 n
+0000154372 00000 n
+0000154437 00000 n
+0000154502 00000 n
+0000154566 00000 n
+0000154631 00000 n
+0000154695 00000 n
+0000160913 00000 n
+0000156963 00000 n
+0000154923 00000 n
+0000157087 00000 n
+0000157151 00000 n
+0000157216 00000 n
+0000157281 00000 n
+0000157346 00000 n
+0000157411 00000 n
+0000157476 00000 n
+0000157541 00000 n
+0000157606 00000 n
+0000157671 00000 n
+0000157735 00000 n
+0000157800 00000 n
+0000157865 00000 n
+0000157930 00000 n
+0000157995 00000 n
+0000158060 00000 n
+0000158125 00000 n
+0000158190 00000 n
+0000158255 00000 n
+0000158319 00000 n
+0000158384 00000 n
+0000158449 00000 n
+0000158514 00000 n
+0000158579 00000 n
+0000158644 00000 n
+0000158709 00000 n
+0000158774 00000 n
+0000158839 00000 n
+0000158902 00000 n
+0000158967 00000 n
+0000159032 00000 n
+0000159097 00000 n
+0000159162 00000 n
+0000159227 00000 n
+0000159292 00000 n
+0000159357 00000 n
+0000159422 00000 n
+0000159487 00000 n
+0000159552 00000 n
+0000159617 00000 n
+0000159682 00000 n
+0000159747 00000 n
+0000159811 00000 n
+0000159876 00000 n
+0000159941 00000 n
+0000160006 00000 n
+0000160071 00000 n
+0000160136 00000 n
+0000160201 00000 n
+0000160266 00000 n
+0000160331 00000 n
+0000160395 00000 n
+0000160460 00000 n
+0000160525 00000 n
+0000160590 00000 n
+0000160655 00000 n
+0000160720 00000 n
+0000160785 00000 n
+0000160849 00000 n
+0000166905 00000 n
+0000163278 00000 n
+0000161077 00000 n
+0000163403 00000 n
+0000163467 00000 n
+0000163532 00000 n
+0000163597 00000 n
+0000163662 00000 n
+0000163727 00000 n
+0000163792 00000 n
+0000163857 00000 n
+0000163922 00000 n
+0000163987 00000 n
+0000164051 00000 n
+0000164116 00000 n
+0000164181 00000 n
+0000164246 00000 n
+0000164311 00000 n
+0000164376 00000 n
+0000164441 00000 n
+0000164506 00000 n
+0000164571 00000 n
+0000164635 00000 n
+0000164700 00000 n
+0000164765 00000 n
+0000164830 00000 n
+0000164895 00000 n
+0000164960 00000 n
+0000165025 00000 n
+0000165090 00000 n
+0000165155 00000 n
+0000165220 00000 n
+0000165285 00000 n
+0000165350 00000 n
+0000165414 00000 n
+0000165479 00000 n
+0000165544 00000 n
+0000165609 00000 n
+0000165674 00000 n
+0000165739 00000 n
+0000165804 00000 n
+0000165869 00000 n
+0000165934 00000 n
+0000165999 00000 n
+0000166064 00000 n
+0000166129 00000 n
+0000166193 00000 n
+0000166258 00000 n
+0000166323 00000 n
+0000166388 00000 n
+0000166453 00000 n
+0000166518 00000 n
+0000166583 00000 n
+0000166647 00000 n
+0000166712 00000 n
+0000166777 00000 n
+0000166841 00000 n
+0001891831 00000 n
+0000172842 00000 n
+0000168826 00000 n
+0000167082 00000 n
+0000168951 00000 n
+0000169015 00000 n
+0000169080 00000 n
+0000169145 00000 n
+0000169210 00000 n
+0000169275 00000 n
+0000169340 00000 n
+0000169405 00000 n
+0000169470 00000 n
+0000169535 00000 n
+0000169600 00000 n
+0000169664 00000 n
+0000169729 00000 n
+0000169794 00000 n
+0000169859 00000 n
+0000169924 00000 n
+0000169989 00000 n
+0000170054 00000 n
+0000170119 00000 n
+0000170184 00000 n
+0000170248 00000 n
+0000170313 00000 n
+0000170378 00000 n
+0000170443 00000 n
+0000170508 00000 n
+0000170573 00000 n
+0000170638 00000 n
+0000170703 00000 n
+0000170768 00000 n
+0000170832 00000 n
+0000170897 00000 n
+0000170962 00000 n
+0000171027 00000 n
+0000171092 00000 n
+0000171157 00000 n
+0000171222 00000 n
+0000171287 00000 n
+0000171352 00000 n
+0000171416 00000 n
+0000171481 00000 n
+0000171546 00000 n
+0000171611 00000 n
+0000171676 00000 n
+0000171741 00000 n
+0000171806 00000 n
+0000171871 00000 n
+0000171936 00000 n
+0000171999 00000 n
+0000172064 00000 n
+0000172129 00000 n
+0000172194 00000 n
+0000172259 00000 n
+0000172324 00000 n
+0000172389 00000 n
+0000172454 00000 n
+0000172519 00000 n
+0000172584 00000 n
+0000172649 00000 n
+0000172714 00000 n
+0000172778 00000 n
+0000178553 00000 n
+0000174797 00000 n
+0000172993 00000 n
+0000174922 00000 n
+0000174986 00000 n
+0000175051 00000 n
+0000175116 00000 n
+0000175181 00000 n
+0000175246 00000 n
+0000175311 00000 n
+0000175376 00000 n
+0000175441 00000 n
+0000175506 00000 n
+0000175570 00000 n
+0000175635 00000 n
+0000175700 00000 n
+0000175765 00000 n
+0000175830 00000 n
+0000175895 00000 n
+0000175960 00000 n
+0000176025 00000 n
+0000176090 00000 n
+0000176154 00000 n
+0000176219 00000 n
+0000176284 00000 n
+0000176349 00000 n
+0000176414 00000 n
+0000176479 00000 n
+0000176544 00000 n
+0000176609 00000 n
+0000176674 00000 n
+0000176737 00000 n
+0000176802 00000 n
+0000176867 00000 n
+0000176932 00000 n
+0000176997 00000 n
+0000177062 00000 n
+0000177127 00000 n
+0000177192 00000 n
+0000177257 00000 n
+0000177321 00000 n
+0000177386 00000 n
+0000177451 00000 n
+0000177515 00000 n
+0000177580 00000 n
+0000177645 00000 n
+0000177710 00000 n
+0000177775 00000 n
+0000177840 00000 n
+0000177905 00000 n
+0000177970 00000 n
+0000178035 00000 n
+0000178099 00000 n
+0000178164 00000 n
+0000178229 00000 n
+0000178294 00000 n
+0000178359 00000 n
+0000178424 00000 n
+0000178489 00000 n
+0000184012 00000 n
+0000181096 00000 n
+0000178730 00000 n
+0000181221 00000 n
+0000181285 00000 n
+0000181350 00000 n
+0000181415 00000 n
+0000181480 00000 n
+0000181545 00000 n
+0000181609 00000 n
+0000181674 00000 n
+0000181739 00000 n
+0000181804 00000 n
+0000181869 00000 n
+0000181934 00000 n
+0000181999 00000 n
+0000182063 00000 n
+0000182128 00000 n
+0000182193 00000 n
+0000182258 00000 n
+0000182323 00000 n
+0000182388 00000 n
+0000182453 00000 n
+0000182518 00000 n
+0000182583 00000 n
+0000182648 00000 n
+0000182713 00000 n
+0000182778 00000 n
+0000182843 00000 n
+0000182908 00000 n
+0000182973 00000 n
+0000183038 00000 n
+0000183103 00000 n
+0000183168 00000 n
+0000183233 00000 n
+0000183298 00000 n
+0000183363 00000 n
+0000183428 00000 n
+0000183493 00000 n
+0000183558 00000 n
+0000183623 00000 n
+0000183688 00000 n
+0000183753 00000 n
+0000183817 00000 n
+0000183882 00000 n
+0000183947 00000 n
+0000189738 00000 n
+0000186240 00000 n
+0000184189 00000 n
+0000186365 00000 n
+0000186429 00000 n
+0000186493 00000 n
+0000186558 00000 n
+0000186623 00000 n
+0000186688 00000 n
+0000186752 00000 n
+0000186817 00000 n
+0000186882 00000 n
+0000186947 00000 n
+0000187012 00000 n
+0000187077 00000 n
+0000187142 00000 n
+0000187207 00000 n
+0000187272 00000 n
+0000187337 00000 n
+0000187402 00000 n
+0000187467 00000 n
+0000187532 00000 n
+0000187597 00000 n
+0000187662 00000 n
+0000187727 00000 n
+0000187792 00000 n
+0000187857 00000 n
+0000187922 00000 n
+0000187987 00000 n
+0000188052 00000 n
+0000188117 00000 n
+0000188182 00000 n
+0000188247 00000 n
+0000188312 00000 n
+0000188376 00000 n
+0000188441 00000 n
+0000188506 00000 n
+0000188571 00000 n
+0000188636 00000 n
+0000188701 00000 n
+0000188766 00000 n
+0000188831 00000 n
+0000188896 00000 n
+0000188961 00000 n
+0000189026 00000 n
+0000189091 00000 n
+0000189156 00000 n
+0000189221 00000 n
+0000189286 00000 n
+0000189350 00000 n
+0000189415 00000 n
+0000189480 00000 n
+0000189545 00000 n
+0000189610 00000 n
+0000189674 00000 n
+0000194278 00000 n
+0000192467 00000 n
+0000189902 00000 n
+0000192592 00000 n
+0000192656 00000 n
+0000192721 00000 n
+0000192786 00000 n
+0000192851 00000 n
+0000192916 00000 n
+0000192981 00000 n
+0000193046 00000 n
+0000193111 00000 n
+0000193176 00000 n
+0000193241 00000 n
+0000193306 00000 n
+0000193433 00000 n
+0000193498 00000 n
+0000193563 00000 n
+0000193628 00000 n
+0000193693 00000 n
+0000193758 00000 n
+0000193823 00000 n
+0000193888 00000 n
+0000193953 00000 n
+0000194018 00000 n
+0000194083 00000 n
+0000194148 00000 n
+0000194213 00000 n
+0000199756 00000 n
+0000196646 00000 n
+0000194494 00000 n
+0000196771 00000 n
+0000196835 00000 n
+0000196900 00000 n
+0000196965 00000 n
+0000197030 00000 n
+0000197095 00000 n
+0000197160 00000 n
+0000197225 00000 n
+0000197290 00000 n
+0000197355 00000 n
+0000197420 00000 n
+0000197485 00000 n
+0000197550 00000 n
+0000197615 00000 n
+0000197680 00000 n
+0000197744 00000 n
+0000197809 00000 n
+0000197874 00000 n
+0000197939 00000 n
+0000198004 00000 n
+0000198069 00000 n
+0000198134 00000 n
+0000198199 00000 n
+0000198264 00000 n
+0000198329 00000 n
+0000198394 00000 n
+0000198459 00000 n
+0000198524 00000 n
+0000198589 00000 n
+0000198654 00000 n
+0000198719 00000 n
+0000198784 00000 n
+0000198847 00000 n
+0000198912 00000 n
+0000198977 00000 n
+0000199042 00000 n
+0000199107 00000 n
+0000199172 00000 n
+0000199237 00000 n
+0000199302 00000 n
+0000199367 00000 n
+0000199431 00000 n
+0000199496 00000 n
+0000199561 00000 n
+0000199626 00000 n
+0000199691 00000 n
+0000205788 00000 n
+0000201772 00000 n
+0000199946 00000 n
+0000201897 00000 n
+0000201961 00000 n
+0000202026 00000 n
+0000202091 00000 n
+0000202156 00000 n
+0000202221 00000 n
+0000202286 00000 n
+0000202351 00000 n
+0000202415 00000 n
+0000202480 00000 n
+0000202545 00000 n
+0000202610 00000 n
+0000202675 00000 n
+0000202740 00000 n
+0000202805 00000 n
+0000202870 00000 n
+0000202935 00000 n
+0000202999 00000 n
+0000203064 00000 n
+0000203129 00000 n
+0000203194 00000 n
+0000203259 00000 n
+0000203324 00000 n
+0000203389 00000 n
+0000203454 00000 n
+0000203519 00000 n
+0000203584 00000 n
+0000203648 00000 n
+0000203713 00000 n
+0000203778 00000 n
+0000203843 00000 n
+0000203908 00000 n
+0000203973 00000 n
+0000204038 00000 n
+0000204103 00000 n
+0000204168 00000 n
+0000204232 00000 n
+0000204297 00000 n
+0000204362 00000 n
+0000204427 00000 n
+0000204492 00000 n
+0000204557 00000 n
+0000204622 00000 n
+0000204687 00000 n
+0000204752 00000 n
+0000204817 00000 n
+0000204882 00000 n
+0000204946 00000 n
+0000205011 00000 n
+0000205076 00000 n
+0000205141 00000 n
+0000205206 00000 n
+0000205271 00000 n
+0000205336 00000 n
+0000205401 00000 n
+0000205466 00000 n
+0000205530 00000 n
+0000205595 00000 n
+0000205660 00000 n
+0000205724 00000 n
+0000211091 00000 n
+0000208957 00000 n
+0000205952 00000 n
+0000209082 00000 n
+0000209146 00000 n
+0000209211 00000 n
+0000209276 00000 n
+0000209341 00000 n
+0000209406 00000 n
+0000209471 00000 n
+0000209536 00000 n
+0000209601 00000 n
+0000209666 00000 n
+0000209730 00000 n
+0000209795 00000 n
+0000209860 00000 n
+0000209925 00000 n
+0000209990 00000 n
+0000210055 00000 n
+0000210119 00000 n
+0000210184 00000 n
+0000210249 00000 n
+0000210314 00000 n
+0000210379 00000 n
+0000210444 00000 n
+0000210509 00000 n
+0000210574 00000 n
+0000210639 00000 n
+0000210703 00000 n
+0000210768 00000 n
+0000210833 00000 n
+0000210898 00000 n
+0000210963 00000 n
+0000211027 00000 n
+0000216704 00000 n
+0000213335 00000 n
+0000211307 00000 n
+0000213460 00000 n
+0000213524 00000 n
+0000213589 00000 n
+0000213654 00000 n
+0000213719 00000 n
+0000213784 00000 n
+0000213849 00000 n
+0000213914 00000 n
+0000213979 00000 n
+0000214044 00000 n
+0000214109 00000 n
+0000214174 00000 n
+0000214239 00000 n
+0000214304 00000 n
+0000214369 00000 n
+0000214434 00000 n
+0000214498 00000 n
+0000214563 00000 n
+0000214628 00000 n
+0000214693 00000 n
+0000214758 00000 n
+0000214823 00000 n
+0000214888 00000 n
+0000214953 00000 n
+0000215018 00000 n
+0000215082 00000 n
+0000215147 00000 n
+0000215212 00000 n
+0000215277 00000 n
+0000215342 00000 n
+0000215407 00000 n
+0000215472 00000 n
+0000215537 00000 n
+0000215602 00000 n
+0000215667 00000 n
+0000215732 00000 n
+0000215797 00000 n
+0000215861 00000 n
+0000215926 00000 n
+0000215991 00000 n
+0000216056 00000 n
+0000216121 00000 n
+0000216186 00000 n
+0000216251 00000 n
+0000216316 00000 n
+0000216381 00000 n
+0000216446 00000 n
+0000216511 00000 n
+0000216576 00000 n
+0000216640 00000 n
+0000223841 00000 n
+0000221187 00000 n
+0000216881 00000 n
+0000221312 00000 n
+0000221376 00000 n
+0000221441 00000 n
+0000221506 00000 n
+0000221571 00000 n
+0000221636 00000 n
+0000221701 00000 n
+0000221766 00000 n
+0000221831 00000 n
+0000221896 00000 n
+0000221961 00000 n
+0000222026 00000 n
+0000222090 00000 n
+0000222155 00000 n
+0000222220 00000 n
+0000222285 00000 n
+0000222350 00000 n
+0000222415 00000 n
+0000222480 00000 n
+0000222545 00000 n
+0000222610 00000 n
+0000222675 00000 n
+0000222740 00000 n
+0000222805 00000 n
+0000222869 00000 n
+0000222934 00000 n
+0000222999 00000 n
+0000223064 00000 n
+0000223129 00000 n
+0000223194 00000 n
+0000223259 00000 n
+0000223324 00000 n
+0000223389 00000 n
+0000223453 00000 n
+0000223518 00000 n
+0000223583 00000 n
+0000223648 00000 n
+0000223713 00000 n
+0000223776 00000 n
+0001889553 00000 n
+0001891996 00000 n
+0000229506 00000 n
+0000226658 00000 n
+0000224045 00000 n
+0000226783 00000 n
+0000226847 00000 n
+0000226912 00000 n
+0000226977 00000 n
+0000227042 00000 n
+0000227107 00000 n
+0000227172 00000 n
+0000227237 00000 n
+0000227301 00000 n
+0000227366 00000 n
+0000227431 00000 n
+0000227496 00000 n
+0000227561 00000 n
+0000227625 00000 n
+0000227690 00000 n
+0000227755 00000 n
+0000227820 00000 n
+0000227885 00000 n
+0000227950 00000 n
+0000228015 00000 n
+0000228080 00000 n
+0000228145 00000 n
+0000228210 00000 n
+0000228275 00000 n
+0000228340 00000 n
+0000228405 00000 n
+0000228469 00000 n
+0000228534 00000 n
+0000228598 00000 n
+0000228663 00000 n
+0000228728 00000 n
+0000228793 00000 n
+0000228858 00000 n
+0000228923 00000 n
+0000228988 00000 n
+0000229053 00000 n
+0000229118 00000 n
+0000229183 00000 n
+0000229248 00000 n
+0000229313 00000 n
+0000229378 00000 n
+0000229442 00000 n
+0000235238 00000 n
+0000231742 00000 n
+0000229683 00000 n
+0000231867 00000 n
+0000231931 00000 n
+0000231996 00000 n
+0000232061 00000 n
+0000232126 00000 n
+0000232191 00000 n
+0000232256 00000 n
+0000232321 00000 n
+0000232386 00000 n
+0000232451 00000 n
+0000232515 00000 n
+0000232580 00000 n
+0000232645 00000 n
+0000232710 00000 n
+0000232775 00000 n
+0000232840 00000 n
+0000232905 00000 n
+0000232970 00000 n
+0000233035 00000 n
+0000233099 00000 n
+0000233164 00000 n
+0000233229 00000 n
+0000233293 00000 n
+0000233358 00000 n
+0000233423 00000 n
+0000233488 00000 n
+0000233553 00000 n
+0000233618 00000 n
+0000233683 00000 n
+0000233748 00000 n
+0000233813 00000 n
+0000233877 00000 n
+0000233942 00000 n
+0000234007 00000 n
+0000234072 00000 n
+0000234137 00000 n
+0000234202 00000 n
+0000234267 00000 n
+0000234332 00000 n
+0000234397 00000 n
+0000234460 00000 n
+0000234525 00000 n
+0000234590 00000 n
+0000234655 00000 n
+0000234720 00000 n
+0000234785 00000 n
+0000234850 00000 n
+0000234915 00000 n
+0000234980 00000 n
+0000235043 00000 n
+0000235108 00000 n
+0000235173 00000 n
+0000238441 00000 n
+0000238598 00000 n
+0000241741 00000 n
+0000238259 00000 n
+0000235454 00000 n
+0000238755 00000 n
+0000238819 00000 n
+0000238884 00000 n
+0000238949 00000 n
+0000239014 00000 n
+0000239079 00000 n
+0000239144 00000 n
+0000239209 00000 n
+0000239274 00000 n
+0000239339 00000 n
+0000239404 00000 n
+0000239469 00000 n
+0000239534 00000 n
+0000239599 00000 n
+0000239664 00000 n
+0000239729 00000 n
+0000239794 00000 n
+0000239859 00000 n
+0000239924 00000 n
+0000239989 00000 n
+0000240054 00000 n
+0000240119 00000 n
+0000240184 00000 n
+0000240249 00000 n
+0000240314 00000 n
+0000240379 00000 n
+0000240444 00000 n
+0000240508 00000 n
+0000240573 00000 n
+0000240638 00000 n
+0000240703 00000 n
+0000240768 00000 n
+0000240833 00000 n
+0000240898 00000 n
+0000240963 00000 n
+0000241028 00000 n
+0000241093 00000 n
+0000241158 00000 n
+0000241223 00000 n
+0000241288 00000 n
+0000241353 00000 n
+0000241418 00000 n
+0000241482 00000 n
+0000241547 00000 n
+0000241612 00000 n
+0000241677 00000 n
+0000238401 00000 n
+0000247255 00000 n
+0000244537 00000 n
+0000241983 00000 n
+0000244662 00000 n
+0000244726 00000 n
+0000244791 00000 n
+0000244855 00000 n
+0000244920 00000 n
+0000244985 00000 n
+0000245050 00000 n
+0000245115 00000 n
+0000245180 00000 n
+0000245245 00000 n
+0000245310 00000 n
+0000245375 00000 n
+0000245440 00000 n
+0000245504 00000 n
+0000245569 00000 n
+0000245634 00000 n
+0000245699 00000 n
+0000245764 00000 n
+0000245829 00000 n
+0000245894 00000 n
+0000245958 00000 n
+0000246022 00000 n
+0000246087 00000 n
+0000246152 00000 n
+0000246217 00000 n
+0000246282 00000 n
+0000246347 00000 n
+0000246412 00000 n
+0000246477 00000 n
+0000246542 00000 n
+0000246607 00000 n
+0000246672 00000 n
+0000246737 00000 n
+0000246802 00000 n
+0000246867 00000 n
+0000246932 00000 n
+0000246997 00000 n
+0000247062 00000 n
+0000247127 00000 n
+0000247192 00000 n
+0000253509 00000 n
+0000250012 00000 n
+0000247445 00000 n
+0000250137 00000 n
+0000250201 00000 n
+0000250266 00000 n
+0000250330 00000 n
+0000250395 00000 n
+0000250460 00000 n
+0000250525 00000 n
+0000250590 00000 n
+0000250655 00000 n
+0000250720 00000 n
+0000250784 00000 n
+0000250849 00000 n
+0000250914 00000 n
+0000250979 00000 n
+0000251044 00000 n
+0000251109 00000 n
+0000251174 00000 n
+0000251239 00000 n
+0000251304 00000 n
+0000251369 00000 n
+0000251434 00000 n
+0000251499 00000 n
+0000251563 00000 n
+0000251628 00000 n
+0000251693 00000 n
+0000251758 00000 n
+0000251823 00000 n
+0000251888 00000 n
+0000251953 00000 n
+0000252018 00000 n
+0000252083 00000 n
+0000252147 00000 n
+0000252212 00000 n
+0000252277 00000 n
+0000252342 00000 n
+0000252407 00000 n
+0000252472 00000 n
+0000252537 00000 n
+0000252602 00000 n
+0000252667 00000 n
+0000252732 00000 n
+0000252797 00000 n
+0000252862 00000 n
+0000252927 00000 n
+0000252992 00000 n
+0000253057 00000 n
+0000253122 00000 n
+0000253187 00000 n
+0000253252 00000 n
+0000253317 00000 n
+0000253381 00000 n
+0000253446 00000 n
+0000258965 00000 n
+0000256634 00000 n
+0000253686 00000 n
+0000256759 00000 n
+0000256823 00000 n
+0000256888 00000 n
+0000256953 00000 n
+0000257018 00000 n
+0000257083 00000 n
+0000257148 00000 n
+0000257213 00000 n
+0000257278 00000 n
+0000257343 00000 n
+0000257408 00000 n
+0000257473 00000 n
+0000257538 00000 n
+0000257603 00000 n
+0000257668 00000 n
+0000257733 00000 n
+0000257798 00000 n
+0000257863 00000 n
+0000257928 00000 n
+0000257993 00000 n
+0000258058 00000 n
+0000258123 00000 n
+0000258188 00000 n
+0000258253 00000 n
+0000258318 00000 n
+0000258382 00000 n
+0000258447 00000 n
+0000258512 00000 n
+0000258577 00000 n
+0000258642 00000 n
+0000258707 00000 n
+0000258772 00000 n
+0000258837 00000 n
+0000258901 00000 n
+0000263917 00000 n
+0000261847 00000 n
+0000259168 00000 n
+0000261972 00000 n
+0000262036 00000 n
+0000262101 00000 n
+0000262166 00000 n
+0000262230 00000 n
+0000262295 00000 n
+0000262360 00000 n
+0000262425 00000 n
+0000262490 00000 n
+0000262555 00000 n
+0000262620 00000 n
+0000262685 00000 n
+0000262750 00000 n
+0000262815 00000 n
+0000262880 00000 n
+0000262945 00000 n
+0000263009 00000 n
+0000263074 00000 n
+0000263139 00000 n
+0000263204 00000 n
+0000263269 00000 n
+0000263334 00000 n
+0000263399 00000 n
+0000263464 00000 n
+0000263529 00000 n
+0000263594 00000 n
+0000263659 00000 n
+0000263724 00000 n
+0000263789 00000 n
+0000263854 00000 n
+0000268931 00000 n
+0000266473 00000 n
+0000264133 00000 n
+0000266598 00000 n
+0000266662 00000 n
+0000266727 00000 n
+0000266792 00000 n
+0000266857 00000 n
+0000266922 00000 n
+0000266987 00000 n
+0000267052 00000 n
+0000267117 00000 n
+0000267182 00000 n
+0000267247 00000 n
+0000267310 00000 n
+0000267375 00000 n
+0000267440 00000 n
+0000267505 00000 n
+0000267570 00000 n
+0000267635 00000 n
+0000267700 00000 n
+0000267764 00000 n
+0000267829 00000 n
+0000267894 00000 n
+0000267959 00000 n
+0000268024 00000 n
+0000268089 00000 n
+0000268154 00000 n
+0000268219 00000 n
+0000268284 00000 n
+0000268349 00000 n
+0000268414 00000 n
+0000268479 00000 n
+0000268544 00000 n
+0000268609 00000 n
+0000268674 00000 n
+0000268739 00000 n
+0000268804 00000 n
+0000274412 00000 n
+0000271692 00000 n
+0000269108 00000 n
+0000271817 00000 n
+0000271881 00000 n
+0000271946 00000 n
+0000272011 00000 n
+0000272075 00000 n
+0000272140 00000 n
+0000272205 00000 n
+0000272270 00000 n
+0000272335 00000 n
+0000272400 00000 n
+0000272465 00000 n
+0000272530 00000 n
+0000272595 00000 n
+0000272660 00000 n
+0000272725 00000 n
+0000272790 00000 n
+0000272855 00000 n
+0000272920 00000 n
+0000272985 00000 n
+0000273050 00000 n
+0000273115 00000 n
+0000273180 00000 n
+0000273245 00000 n
+0000273310 00000 n
+0000273375 00000 n
+0000273440 00000 n
+0000273505 00000 n
+0000273570 00000 n
+0000273635 00000 n
+0000273700 00000 n
+0000273765 00000 n
+0000273830 00000 n
+0000273895 00000 n
+0000273960 00000 n
+0000274024 00000 n
+0000274089 00000 n
+0000274154 00000 n
+0000274219 00000 n
+0000274284 00000 n
+0000274348 00000 n
+0000280173 00000 n
+0000277522 00000 n
+0000274602 00000 n
+0000277647 00000 n
+0000277711 00000 n
+0000277776 00000 n
+0000277841 00000 n
+0000277906 00000 n
+0000277971 00000 n
+0000278036 00000 n
+0000278101 00000 n
+0000278166 00000 n
+0000278231 00000 n
+0000278295 00000 n
+0000278360 00000 n
+0000278425 00000 n
+0000278490 00000 n
+0000278555 00000 n
+0000278620 00000 n
+0000278685 00000 n
+0000278750 00000 n
+0000278814 00000 n
+0000278879 00000 n
+0000278944 00000 n
+0000279008 00000 n
+0000279073 00000 n
+0000279138 00000 n
+0000279201 00000 n
+0000279266 00000 n
+0000279331 00000 n
+0000279396 00000 n
+0000279461 00000 n
+0000279526 00000 n
+0000279591 00000 n
+0000279656 00000 n
+0000279721 00000 n
+0000279786 00000 n
+0000279851 00000 n
+0000279916 00000 n
+0000279981 00000 n
+0000280046 00000 n
+0000280109 00000 n
+0001892161 00000 n
+0000286097 00000 n
+0000282533 00000 n
+0000280376 00000 n
+0000282658 00000 n
+0000282722 00000 n
+0000282787 00000 n
+0000282852 00000 n
+0000282917 00000 n
+0000282982 00000 n
+0000283047 00000 n
+0000283112 00000 n
+0000283177 00000 n
+0000283242 00000 n
+0000283307 00000 n
+0000283372 00000 n
+0000283437 00000 n
+0000283502 00000 n
+0000283567 00000 n
+0000283632 00000 n
+0000283697 00000 n
+0000283762 00000 n
+0000283825 00000 n
+0000283890 00000 n
+0000283955 00000 n
+0000284020 00000 n
+0000284085 00000 n
+0000284150 00000 n
+0000284215 00000 n
+0000284280 00000 n
+0000284345 00000 n
+0000284409 00000 n
+0000284474 00000 n
+0000284539 00000 n
+0000284604 00000 n
+0000284669 00000 n
+0000284734 00000 n
+0000284799 00000 n
+0000284864 00000 n
+0000284929 00000 n
+0000284993 00000 n
+0000285058 00000 n
+0000285123 00000 n
+0000285188 00000 n
+0000285253 00000 n
+0000285318 00000 n
+0000285383 00000 n
+0000285448 00000 n
+0000285513 00000 n
+0000285577 00000 n
+0000285642 00000 n
+0000285707 00000 n
+0000285772 00000 n
+0000285837 00000 n
+0000285902 00000 n
+0000285967 00000 n
+0000286032 00000 n
+0000288532 00000 n
+0000291996 00000 n
+0000288359 00000 n
+0000286261 00000 n
+0000288689 00000 n
+0000288753 00000 n
+0000288818 00000 n
+0000288883 00000 n
+0000288948 00000 n
+0000289013 00000 n
+0000289078 00000 n
+0000289143 00000 n
+0000289208 00000 n
+0000289273 00000 n
+0000289337 00000 n
+0000289402 00000 n
+0000289467 00000 n
+0000289532 00000 n
+0000289597 00000 n
+0000289662 00000 n
+0000289727 00000 n
+0000289792 00000 n
+0000289857 00000 n
+0000289922 00000 n
+0000289987 00000 n
+0000290052 00000 n
+0000290116 00000 n
+0000290181 00000 n
+0000290246 00000 n
+0000290311 00000 n
+0000290376 00000 n
+0000290441 00000 n
+0000290506 00000 n
+0000290571 00000 n
+0000290636 00000 n
+0000290701 00000 n
+0000290766 00000 n
+0000290831 00000 n
+0000290896 00000 n
+0000290960 00000 n
+0000291025 00000 n
+0000291090 00000 n
+0000291155 00000 n
+0000291220 00000 n
+0000291285 00000 n
+0000291350 00000 n
+0000291415 00000 n
+0000291480 00000 n
+0000291545 00000 n
+0000291610 00000 n
+0000291737 00000 n
+0000291802 00000 n
+0000291867 00000 n
+0000291932 00000 n
+0000288501 00000 n
+0000295467 00000 n
+0000298023 00000 n
+0000295294 00000 n
+0000292225 00000 n
+0000295623 00000 n
+0000295687 00000 n
+0000295752 00000 n
+0000295817 00000 n
+0000295882 00000 n
+0000295947 00000 n
+0000296012 00000 n
+0000296077 00000 n
+0000296142 00000 n
+0000296207 00000 n
+0000296272 00000 n
+0000296337 00000 n
+0000296401 00000 n
+0000296466 00000 n
+0000296531 00000 n
+0000296596 00000 n
+0000296661 00000 n
+0000296726 00000 n
+0000296791 00000 n
+0000296856 00000 n
+0000296921 00000 n
+0000296986 00000 n
+0000297051 00000 n
+0000297116 00000 n
+0000297181 00000 n
+0000297245 00000 n
+0000297310 00000 n
+0000297375 00000 n
+0000297440 00000 n
+0000297505 00000 n
+0000297570 00000 n
+0000297635 00000 n
+0000297700 00000 n
+0000297764 00000 n
+0000297829 00000 n
+0000297894 00000 n
+0000297959 00000 n
+0000295436 00000 n
+0000303821 00000 n
+0000300841 00000 n
+0000298278 00000 n
+0000300966 00000 n
+0000301030 00000 n
+0000301095 00000 n
+0000301160 00000 n
+0000301225 00000 n
+0000301290 00000 n
+0000301355 00000 n
+0000301420 00000 n
+0000301485 00000 n
+0000301550 00000 n
+0000301615 00000 n
+0000301680 00000 n
+0000301745 00000 n
+0000301810 00000 n
+0000301875 00000 n
+0000301940 00000 n
+0000302005 00000 n
+0000302070 00000 n
+0000302135 00000 n
+0000302200 00000 n
+0000302265 00000 n
+0000302330 00000 n
+0000302395 00000 n
+0000302460 00000 n
+0000302525 00000 n
+0000302590 00000 n
+0000302655 00000 n
+0000302720 00000 n
+0000302784 00000 n
+0000302849 00000 n
+0000302914 00000 n
+0000302979 00000 n
+0000303044 00000 n
+0000303109 00000 n
+0000303174 00000 n
+0000303239 00000 n
+0000303304 00000 n
+0000303368 00000 n
+0000303433 00000 n
+0000303498 00000 n
+0000303563 00000 n
+0000303628 00000 n
+0000303693 00000 n
+0000303757 00000 n
+0000306622 00000 n
+0000310021 00000 n
+0000306449 00000 n
+0000303985 00000 n
+0000306779 00000 n
+0000306843 00000 n
+0000306908 00000 n
+0000306973 00000 n
+0000307038 00000 n
+0000307103 00000 n
+0000307168 00000 n
+0000307233 00000 n
+0000307298 00000 n
+0000307362 00000 n
+0000307427 00000 n
+0000307492 00000 n
+0000307557 00000 n
+0000307622 00000 n
+0000307687 00000 n
+0000307752 00000 n
+0000307817 00000 n
+0000307882 00000 n
+0000307946 00000 n
+0000308011 00000 n
+0000308076 00000 n
+0000308141 00000 n
+0000308206 00000 n
+0000308271 00000 n
+0000308336 00000 n
+0000308401 00000 n
+0000308466 00000 n
+0000308530 00000 n
+0000308595 00000 n
+0000308660 00000 n
+0000308725 00000 n
+0000308789 00000 n
+0000308854 00000 n
+0000308919 00000 n
+0000308984 00000 n
+0000309049 00000 n
+0000309114 00000 n
+0000309179 00000 n
+0000309244 00000 n
+0000309309 00000 n
+0000309374 00000 n
+0000309438 00000 n
+0000309503 00000 n
+0000309567 00000 n
+0000309632 00000 n
+0000309697 00000 n
+0000309762 00000 n
+0000309827 00000 n
+0000309892 00000 n
+0000309957 00000 n
+0000306591 00000 n
+0000313173 00000 n
+0000313331 00000 n
+0000316537 00000 n
+0000312991 00000 n
+0000310263 00000 n
+0000313488 00000 n
+0000313552 00000 n
+0000313617 00000 n
+0000313682 00000 n
+0000313747 00000 n
+0000313812 00000 n
+0000313877 00000 n
+0000313942 00000 n
+0000314007 00000 n
+0000314072 00000 n
+0000314136 00000 n
+0000314201 00000 n
+0000314266 00000 n
+0000314331 00000 n
+0000314396 00000 n
+0000314461 00000 n
+0000314526 00000 n
+0000314591 00000 n
+0000314655 00000 n
+0000314720 00000 n
+0000314785 00000 n
+0000314850 00000 n
+0000314915 00000 n
+0000314980 00000 n
+0000315045 00000 n
+0000315110 00000 n
+0000315174 00000 n
+0000315239 00000 n
+0000315304 00000 n
+0000315369 00000 n
+0000315434 00000 n
+0000315499 00000 n
+0000315564 00000 n
+0000315629 00000 n
+0000315694 00000 n
+0000315759 00000 n
+0000315824 00000 n
+0000315889 00000 n
+0000315954 00000 n
+0000316019 00000 n
+0000316084 00000 n
+0000316149 00000 n
+0000316214 00000 n
+0000316278 00000 n
+0000316343 00000 n
+0000316408 00000 n
+0000316473 00000 n
+0000313133 00000 n
+0000319432 00000 n
+0000322113 00000 n
+0000319259 00000 n
+0000316818 00000 n
+0000319589 00000 n
+0000319653 00000 n
+0000319718 00000 n
+0000319783 00000 n
+0000319848 00000 n
+0000319913 00000 n
+0000319978 00000 n
+0000320043 00000 n
+0000320108 00000 n
+0000320173 00000 n
+0000320238 00000 n
+0000320303 00000 n
+0000320366 00000 n
+0000320431 00000 n
+0000320496 00000 n
+0000320561 00000 n
+0000320626 00000 n
+0000320691 00000 n
+0000320756 00000 n
+0000320821 00000 n
+0000320886 00000 n
+0000320950 00000 n
+0000321015 00000 n
+0000321080 00000 n
+0000321145 00000 n
+0000321210 00000 n
+0000321275 00000 n
+0000321340 00000 n
+0000321404 00000 n
+0000321469 00000 n
+0000321534 00000 n
+0000321599 00000 n
+0000321663 00000 n
+0000321790 00000 n
+0000321855 00000 n
+0000321920 00000 n
+0000321985 00000 n
+0000322049 00000 n
+0000319401 00000 n
+0000327623 00000 n
+0000324580 00000 n
+0000322303 00000 n
+0000324705 00000 n
+0000324769 00000 n
+0000324834 00000 n
+0000324899 00000 n
+0000324964 00000 n
+0000325029 00000 n
+0000325093 00000 n
+0000325158 00000 n
+0000325223 00000 n
+0000325287 00000 n
+0000325352 00000 n
+0000325417 00000 n
+0000325482 00000 n
+0000325547 00000 n
+0000325612 00000 n
+0000325677 00000 n
+0000325742 00000 n
+0000325807 00000 n
+0000325872 00000 n
+0000325937 00000 n
+0000326002 00000 n
+0000326067 00000 n
+0000326132 00000 n
+0000326197 00000 n
+0000326262 00000 n
+0000326327 00000 n
+0000326392 00000 n
+0000326457 00000 n
+0000326522 00000 n
+0000326587 00000 n
+0000326652 00000 n
+0000326717 00000 n
+0000326781 00000 n
+0000326846 00000 n
+0000326911 00000 n
+0000326976 00000 n
+0000327041 00000 n
+0000327106 00000 n
+0000327171 00000 n
+0000327236 00000 n
+0000327301 00000 n
+0000327365 00000 n
+0000327430 00000 n
+0000327495 00000 n
+0000327559 00000 n
+0000335493 00000 n
+0000333036 00000 n
+0000329929 00000 n
+0000327800 00000 n
+0000330054 00000 n
+0000330118 00000 n
+0000330183 00000 n
+0000330247 00000 n
+0000330312 00000 n
+0000330377 00000 n
+0000330442 00000 n
+0000330507 00000 n
+0000330572 00000 n
+0000330637 00000 n
+0000330702 00000 n
+0000330765 00000 n
+0000330830 00000 n
+0000330895 00000 n
+0000330960 00000 n
+0000331025 00000 n
+0000331090 00000 n
+0000331155 00000 n
+0000331220 00000 n
+0000331285 00000 n
+0000331349 00000 n
+0000331414 00000 n
+0000331479 00000 n
+0000331544 00000 n
+0000331609 00000 n
+0000331674 00000 n
+0000331739 00000 n
+0000331804 00000 n
+0000331869 00000 n
+0000331933 00000 n
+0000331998 00000 n
+0000332063 00000 n
+0000332128 00000 n
+0000332193 00000 n
+0000332258 00000 n
+0000332323 00000 n
+0000332388 00000 n
+0000332453 00000 n
+0000332517 00000 n
+0000332582 00000 n
+0000332647 00000 n
+0000332711 00000 n
+0000332776 00000 n
+0000332841 00000 n
+0000332906 00000 n
+0000332971 00000 n
+0000339021 00000 n
+0000335320 00000 n
+0000333200 00000 n
+0000335650 00000 n
+0000335714 00000 n
+0000335779 00000 n
+0000335844 00000 n
+0000335908 00000 n
+0000335973 00000 n
+0000336038 00000 n
+0000336103 00000 n
+0000336167 00000 n
+0000336232 00000 n
+0000336297 00000 n
+0000336362 00000 n
+0000336427 00000 n
+0000336492 00000 n
+0000336557 00000 n
+0000336622 00000 n
+0000336687 00000 n
+0000336752 00000 n
+0000336817 00000 n
+0000336882 00000 n
+0000336946 00000 n
+0000337011 00000 n
+0000337076 00000 n
+0000337141 00000 n
+0000337205 00000 n
+0000337270 00000 n
+0000337334 00000 n
+0000337399 00000 n
+0000337464 00000 n
+0000337529 00000 n
+0000337594 00000 n
+0000337659 00000 n
+0000337724 00000 n
+0000337789 00000 n
+0000337854 00000 n
+0000337918 00000 n
+0000337983 00000 n
+0000338048 00000 n
+0000338113 00000 n
+0000338178 00000 n
+0000338243 00000 n
+0000338308 00000 n
+0000338373 00000 n
+0000338438 00000 n
+0000338503 00000 n
+0000338568 00000 n
+0000338633 00000 n
+0000338697 00000 n
+0000338762 00000 n
+0000338827 00000 n
+0000338892 00000 n
+0000338957 00000 n
+0001892326 00000 n
+0000335462 00000 n
+0000344586 00000 n
+0000341092 00000 n
+0000339250 00000 n
+0000341217 00000 n
+0000341281 00000 n
+0000341346 00000 n
+0000341411 00000 n
+0000341476 00000 n
+0000341541 00000 n
+0000341605 00000 n
+0000341670 00000 n
+0000341735 00000 n
+0000341799 00000 n
+0000341864 00000 n
+0000341929 00000 n
+0000341994 00000 n
+0000342059 00000 n
+0000342124 00000 n
+0000342188 00000 n
+0000342253 00000 n
+0000342318 00000 n
+0000342383 00000 n
+0000342448 00000 n
+0000342513 00000 n
+0000342578 00000 n
+0000342641 00000 n
+0000342706 00000 n
+0000342771 00000 n
+0000342836 00000 n
+0000342901 00000 n
+0000342966 00000 n
+0000343031 00000 n
+0000343095 00000 n
+0000343160 00000 n
+0000343225 00000 n
+0000343290 00000 n
+0000343355 00000 n
+0000343420 00000 n
+0000343485 00000 n
+0000343550 00000 n
+0000343615 00000 n
+0000343679 00000 n
+0000343744 00000 n
+0000343809 00000 n
+0000343874 00000 n
+0000343939 00000 n
+0000344003 00000 n
+0000344068 00000 n
+0000344133 00000 n
+0000344198 00000 n
+0000344263 00000 n
+0000344328 00000 n
+0000344393 00000 n
+0000344458 00000 n
+0000344522 00000 n
+0000350486 00000 n
+0000346662 00000 n
+0000344750 00000 n
+0000346787 00000 n
+0000346851 00000 n
+0000346916 00000 n
+0000346981 00000 n
+0000347046 00000 n
+0000347111 00000 n
+0000347176 00000 n
+0000347241 00000 n
+0000347306 00000 n
+0000347371 00000 n
+0000347436 00000 n
+0000347501 00000 n
+0000347566 00000 n
+0000347631 00000 n
+0000347696 00000 n
+0000347761 00000 n
+0000347826 00000 n
+0000347891 00000 n
+0000347956 00000 n
+0000348020 00000 n
+0000348085 00000 n
+0000348150 00000 n
+0000348215 00000 n
+0000348280 00000 n
+0000348345 00000 n
+0000348410 00000 n
+0000348475 00000 n
+0000348540 00000 n
+0000348604 00000 n
+0000348669 00000 n
+0000348734 00000 n
+0000348799 00000 n
+0000348864 00000 n
+0000348929 00000 n
+0000348994 00000 n
+0000349059 00000 n
+0000349124 00000 n
+0000349188 00000 n
+0000349253 00000 n
+0000349318 00000 n
+0000349383 00000 n
+0000349448 00000 n
+0000349513 00000 n
+0000349578 00000 n
+0000349643 00000 n
+0000349708 00000 n
+0000349773 00000 n
+0000349838 00000 n
+0000349903 00000 n
+0000349968 00000 n
+0000350033 00000 n
+0000350098 00000 n
+0000350163 00000 n
+0000350228 00000 n
+0000350293 00000 n
+0000350358 00000 n
+0000350422 00000 n
+0000356383 00000 n
+0000353081 00000 n
+0000350663 00000 n
+0000353206 00000 n
+0000353270 00000 n
+0000353335 00000 n
+0000353400 00000 n
+0000353465 00000 n
+0000353530 00000 n
+0000353595 00000 n
+0000353660 00000 n
+0000353725 00000 n
+0000353789 00000 n
+0000353854 00000 n
+0000353919 00000 n
+0000353983 00000 n
+0000354048 00000 n
+0000354113 00000 n
+0000354178 00000 n
+0000354243 00000 n
+0000354308 00000 n
+0000354373 00000 n
+0000354438 00000 n
+0000354503 00000 n
+0000354567 00000 n
+0000354632 00000 n
+0000354697 00000 n
+0000354762 00000 n
+0000354827 00000 n
+0000354892 00000 n
+0000354957 00000 n
+0000355022 00000 n
+0000355087 00000 n
+0000355151 00000 n
+0000355216 00000 n
+0000355281 00000 n
+0000355346 00000 n
+0000355411 00000 n
+0000355476 00000 n
+0000355541 00000 n
+0000355606 00000 n
+0000355671 00000 n
+0000355735 00000 n
+0000355800 00000 n
+0000355865 00000 n
+0000355930 00000 n
+0000355995 00000 n
+0000356060 00000 n
+0000356125 00000 n
+0000356190 00000 n
+0000356255 00000 n
+0000356319 00000 n
+0000362166 00000 n
+0000359772 00000 n
+0000356560 00000 n
+0000359897 00000 n
+0000359961 00000 n
+0000360026 00000 n
+0000360091 00000 n
+0000360156 00000 n
+0000360221 00000 n
+0000360286 00000 n
+0000360351 00000 n
+0000360416 00000 n
+0000360481 00000 n
+0000360545 00000 n
+0000360610 00000 n
+0000360675 00000 n
+0000360740 00000 n
+0000360805 00000 n
+0000360870 00000 n
+0000360935 00000 n
+0000360999 00000 n
+0000361064 00000 n
+0000361129 00000 n
+0000361194 00000 n
+0000361259 00000 n
+0000361324 00000 n
+0000361389 00000 n
+0000361454 00000 n
+0000361519 00000 n
+0000361584 00000 n
+0000361648 00000 n
+0000361713 00000 n
+0000361778 00000 n
+0000361843 00000 n
+0000361908 00000 n
+0000361973 00000 n
+0000362038 00000 n
+0000362102 00000 n
+0000367873 00000 n
+0000364699 00000 n
+0000362356 00000 n
+0000364824 00000 n
+0000364888 00000 n
+0000364953 00000 n
+0000365018 00000 n
+0000365083 00000 n
+0000365148 00000 n
+0000365213 00000 n
+0000365278 00000 n
+0000365343 00000 n
+0000365408 00000 n
+0000365473 00000 n
+0000365538 00000 n
+0000365603 00000 n
+0000365668 00000 n
+0000365733 00000 n
+0000365797 00000 n
+0000365862 00000 n
+0000365927 00000 n
+0000365992 00000 n
+0000366057 00000 n
+0000366122 00000 n
+0000366187 00000 n
+0000366252 00000 n
+0000366317 00000 n
+0000366381 00000 n
+0000366446 00000 n
+0000366511 00000 n
+0000366576 00000 n
+0000366641 00000 n
+0000366706 00000 n
+0000366771 00000 n
+0000366836 00000 n
+0000366901 00000 n
+0000366966 00000 n
+0000367031 00000 n
+0000367096 00000 n
+0000367161 00000 n
+0000367226 00000 n
+0000367291 00000 n
+0000367356 00000 n
+0000367420 00000 n
+0000367485 00000 n
+0000367550 00000 n
+0000367615 00000 n
+0000367680 00000 n
+0000367745 00000 n
+0000367809 00000 n
+0000373559 00000 n
+0000370322 00000 n
+0000368050 00000 n
+0000370447 00000 n
+0000370511 00000 n
+0000370576 00000 n
+0000370640 00000 n
+0000370705 00000 n
+0000370770 00000 n
+0000370835 00000 n
+0000370900 00000 n
+0000370965 00000 n
+0000371030 00000 n
+0000371095 00000 n
+0000371160 00000 n
+0000371225 00000 n
+0000371290 00000 n
+0000371355 00000 n
+0000371419 00000 n
+0000371484 00000 n
+0000371549 00000 n
+0000371614 00000 n
+0000371679 00000 n
+0000371744 00000 n
+0000371809 00000 n
+0000371874 00000 n
+0000371939 00000 n
+0000372003 00000 n
+0000372068 00000 n
+0000372133 00000 n
+0000372198 00000 n
+0000372263 00000 n
+0000372328 00000 n
+0000372393 00000 n
+0000372458 00000 n
+0000372523 00000 n
+0000372588 00000 n
+0000372652 00000 n
+0000372717 00000 n
+0000372782 00000 n
+0000372847 00000 n
+0000372912 00000 n
+0000372977 00000 n
+0000373042 00000 n
+0000373107 00000 n
+0000373172 00000 n
+0000373237 00000 n
+0000373300 00000 n
+0000373365 00000 n
+0000373430 00000 n
+0000373495 00000 n
+0000379276 00000 n
+0000375779 00000 n
+0000373749 00000 n
+0000375904 00000 n
+0000375968 00000 n
+0000376033 00000 n
+0000376098 00000 n
+0000376163 00000 n
+0000376228 00000 n
+0000376293 00000 n
+0000376358 00000 n
+0000376422 00000 n
+0000376487 00000 n
+0000376552 00000 n
+0000376617 00000 n
+0000376682 00000 n
+0000376747 00000 n
+0000376812 00000 n
+0000376877 00000 n
+0000376942 00000 n
+0000377006 00000 n
+0000377071 00000 n
+0000377136 00000 n
+0000377201 00000 n
+0000377266 00000 n
+0000377331 00000 n
+0000377396 00000 n
+0000377460 00000 n
+0000377525 00000 n
+0000377590 00000 n
+0000377655 00000 n
+0000377720 00000 n
+0000377785 00000 n
+0000377850 00000 n
+0000377914 00000 n
+0000377979 00000 n
+0000378044 00000 n
+0000378109 00000 n
+0000378174 00000 n
+0000378239 00000 n
+0000378304 00000 n
+0000378369 00000 n
+0000378434 00000 n
+0000378499 00000 n
+0000378564 00000 n
+0000378629 00000 n
+0000378694 00000 n
+0000378759 00000 n
+0000378824 00000 n
+0000378889 00000 n
+0000378954 00000 n
+0000379018 00000 n
+0000379083 00000 n
+0000379148 00000 n
+0000379212 00000 n
+0000385071 00000 n
+0000381446 00000 n
+0000379453 00000 n
+0000381571 00000 n
+0000381635 00000 n
+0000381700 00000 n
+0000381765 00000 n
+0000381830 00000 n
+0000381895 00000 n
+0000381959 00000 n
+0000382024 00000 n
+0000382089 00000 n
+0000382154 00000 n
+0000382218 00000 n
+0000382283 00000 n
+0000382348 00000 n
+0000382413 00000 n
+0000382478 00000 n
+0000382543 00000 n
+0000382608 00000 n
+0000382673 00000 n
+0000382738 00000 n
+0000382802 00000 n
+0000382867 00000 n
+0000382932 00000 n
+0000382997 00000 n
+0000383062 00000 n
+0000383127 00000 n
+0000383192 00000 n
+0000383257 00000 n
+0000383321 00000 n
+0000383386 00000 n
+0000383451 00000 n
+0000383516 00000 n
+0000383581 00000 n
+0000383646 00000 n
+0000383711 00000 n
+0000383776 00000 n
+0000383841 00000 n
+0000383906 00000 n
+0000383970 00000 n
+0000384035 00000 n
+0000384100 00000 n
+0000384165 00000 n
+0000384229 00000 n
+0000384294 00000 n
+0000384359 00000 n
+0000384424 00000 n
+0000384489 00000 n
+0000384554 00000 n
+0000384619 00000 n
+0000384684 00000 n
+0000384749 00000 n
+0000384813 00000 n
+0000384878 00000 n
+0000384943 00000 n
+0000385007 00000 n
+0000391084 00000 n
+0000387261 00000 n
+0000385248 00000 n
+0000387386 00000 n
+0000387450 00000 n
+0000387515 00000 n
+0000387580 00000 n
+0000387645 00000 n
+0000387710 00000 n
+0000387775 00000 n
+0000387840 00000 n
+0000387905 00000 n
+0000387970 00000 n
+0000388035 00000 n
+0000388100 00000 n
+0000388165 00000 n
+0000388230 00000 n
+0000388295 00000 n
+0000388359 00000 n
+0000388424 00000 n
+0000388489 00000 n
+0000388554 00000 n
+0000388619 00000 n
+0000388684 00000 n
+0000388749 00000 n
+0000388814 00000 n
+0000388879 00000 n
+0000388944 00000 n
+0000389008 00000 n
+0000389073 00000 n
+0000389138 00000 n
+0000389203 00000 n
+0000389268 00000 n
+0000389333 00000 n
+0000389398 00000 n
+0000389463 00000 n
+0000389528 00000 n
+0000389592 00000 n
+0000389657 00000 n
+0000389722 00000 n
+0000389787 00000 n
+0000389852 00000 n
+0000389917 00000 n
+0000389982 00000 n
+0000390047 00000 n
+0000390112 00000 n
+0000390177 00000 n
+0000390242 00000 n
+0000390307 00000 n
+0000390372 00000 n
+0000390437 00000 n
+0000390502 00000 n
+0000390567 00000 n
+0000390632 00000 n
+0000390696 00000 n
+0000390761 00000 n
+0000390826 00000 n
+0000390891 00000 n
+0000390956 00000 n
+0000391020 00000 n
+0000397008 00000 n
+0000393251 00000 n
+0000391248 00000 n
+0000393376 00000 n
+0000393440 00000 n
+0000393505 00000 n
+0000393570 00000 n
+0000393635 00000 n
+0000393700 00000 n
+0000393765 00000 n
+0000393829 00000 n
+0000393894 00000 n
+0000393958 00000 n
+0000394023 00000 n
+0000394088 00000 n
+0000394153 00000 n
+0000394218 00000 n
+0000394283 00000 n
+0000394348 00000 n
+0000394413 00000 n
+0000394478 00000 n
+0000394542 00000 n
+0000394607 00000 n
+0000394672 00000 n
+0000394737 00000 n
+0000394802 00000 n
+0000394867 00000 n
+0000394932 00000 n
+0000394997 00000 n
+0000395062 00000 n
+0000395127 00000 n
+0000395192 00000 n
+0000395257 00000 n
+0000395322 00000 n
+0000395387 00000 n
+0000395452 00000 n
+0000395517 00000 n
+0000395582 00000 n
+0000395647 00000 n
+0000395712 00000 n
+0000395776 00000 n
+0000395841 00000 n
+0000395906 00000 n
+0000395971 00000 n
+0000396036 00000 n
+0000396101 00000 n
+0000396166 00000 n
+0000396231 00000 n
+0000396296 00000 n
+0000396361 00000 n
+0000396426 00000 n
+0000396491 00000 n
+0000396556 00000 n
+0000396620 00000 n
+0000396685 00000 n
+0000396750 00000 n
+0000396815 00000 n
+0000396880 00000 n
+0000396944 00000 n
+0001892491 00000 n
+0000402341 00000 n
+0000400138 00000 n
+0000397172 00000 n
+0000400263 00000 n
+0000400327 00000 n
+0000400392 00000 n
+0000400457 00000 n
+0000400522 00000 n
+0000400587 00000 n
+0000400652 00000 n
+0000400717 00000 n
+0000400782 00000 n
+0000400847 00000 n
+0000400912 00000 n
+0000400977 00000 n
+0000401042 00000 n
+0000401107 00000 n
+0000401172 00000 n
+0000401237 00000 n
+0000401302 00000 n
+0000401366 00000 n
+0000401431 00000 n
+0000401496 00000 n
+0000401561 00000 n
+0000401626 00000 n
+0000401691 00000 n
+0000401756 00000 n
+0000401821 00000 n
+0000401886 00000 n
+0000401951 00000 n
+0000402016 00000 n
+0000402081 00000 n
+0000402146 00000 n
+0000402211 00000 n
+0000402276 00000 n
+0000407912 00000 n
+0000404934 00000 n
+0000402544 00000 n
+0000405059 00000 n
+0000405123 00000 n
+0000405188 00000 n
+0000405252 00000 n
+0000405317 00000 n
+0000405382 00000 n
+0000405447 00000 n
+0000405512 00000 n
+0000405577 00000 n
+0000405642 00000 n
+0000405707 00000 n
+0000405772 00000 n
+0000405836 00000 n
+0000405901 00000 n
+0000405966 00000 n
+0000406031 00000 n
+0000406096 00000 n
+0000406161 00000 n
+0000406226 00000 n
+0000406291 00000 n
+0000406355 00000 n
+0000406420 00000 n
+0000406485 00000 n
+0000406550 00000 n
+0000406615 00000 n
+0000406680 00000 n
+0000406745 00000 n
+0000406810 00000 n
+0000406875 00000 n
+0000406939 00000 n
+0000407004 00000 n
+0000407069 00000 n
+0000407134 00000 n
+0000407199 00000 n
+0000407264 00000 n
+0000407329 00000 n
+0000407394 00000 n
+0000407459 00000 n
+0000407524 00000 n
+0000407588 00000 n
+0000407653 00000 n
+0000407718 00000 n
+0000407783 00000 n
+0000407848 00000 n
+0000413272 00000 n
+0000410361 00000 n
+0000408076 00000 n
+0000410486 00000 n
+0000410550 00000 n
+0000410615 00000 n
+0000410680 00000 n
+0000410745 00000 n
+0000410809 00000 n
+0000410936 00000 n
+0000411001 00000 n
+0000411066 00000 n
+0000411131 00000 n
+0000411196 00000 n
+0000411261 00000 n
+0000411325 00000 n
+0000411390 00000 n
+0000411455 00000 n
+0000411520 00000 n
+0000411585 00000 n
+0000411650 00000 n
+0000411715 00000 n
+0000411780 00000 n
+0000411845 00000 n
+0000411910 00000 n
+0000411975 00000 n
+0000412040 00000 n
+0000412105 00000 n
+0000412170 00000 n
+0000412235 00000 n
+0000412300 00000 n
+0000412365 00000 n
+0000412430 00000 n
+0000412495 00000 n
+0000412560 00000 n
+0000412625 00000 n
+0000412690 00000 n
+0000412755 00000 n
+0000412820 00000 n
+0000412884 00000 n
+0000412949 00000 n
+0000413014 00000 n
+0000413079 00000 n
+0000413144 00000 n
+0000413208 00000 n
+0000419024 00000 n
+0000415463 00000 n
+0000413475 00000 n
+0000415588 00000 n
+0000415652 00000 n
+0000415717 00000 n
+0000415782 00000 n
+0000415847 00000 n
+0000415912 00000 n
+0000415977 00000 n
+0000416042 00000 n
+0000416105 00000 n
+0000416170 00000 n
+0000416235 00000 n
+0000416300 00000 n
+0000416365 00000 n
+0000416430 00000 n
+0000416495 00000 n
+0000416560 00000 n
+0000416625 00000 n
+0000416690 00000 n
+0000416755 00000 n
+0000416820 00000 n
+0000416885 00000 n
+0000416948 00000 n
+0000417013 00000 n
+0000417078 00000 n
+0000417143 00000 n
+0000417208 00000 n
+0000417273 00000 n
+0000417338 00000 n
+0000417402 00000 n
+0000417467 00000 n
+0000417532 00000 n
+0000417597 00000 n
+0000417662 00000 n
+0000417727 00000 n
+0000417792 00000 n
+0000417857 00000 n
+0000417922 00000 n
+0000417987 00000 n
+0000418052 00000 n
+0000418117 00000 n
+0000418182 00000 n
+0000418247 00000 n
+0000418312 00000 n
+0000418377 00000 n
+0000418442 00000 n
+0000418507 00000 n
+0000418572 00000 n
+0000418636 00000 n
+0000418701 00000 n
+0000418766 00000 n
+0000418831 00000 n
+0000418896 00000 n
+0000418960 00000 n
+0000424165 00000 n
+0000420733 00000 n
+0000419201 00000 n
+0000420858 00000 n
+0000420922 00000 n
+0000420987 00000 n
+0000421052 00000 n
+0000421117 00000 n
+0000421182 00000 n
+0000421247 00000 n
+0000421312 00000 n
+0000421377 00000 n
+0000421442 00000 n
+0000421507 00000 n
+0000421572 00000 n
+0000421637 00000 n
+0000421702 00000 n
+0000421767 00000 n
+0000421832 00000 n
+0000421897 00000 n
+0000421962 00000 n
+0000422027 00000 n
+0000422092 00000 n
+0000422157 00000 n
+0000422222 00000 n
+0000422287 00000 n
+0000422352 00000 n
+0000422417 00000 n
+0000422482 00000 n
+0000422545 00000 n
+0000422610 00000 n
+0000422675 00000 n
+0000422740 00000 n
+0000422805 00000 n
+0000422870 00000 n
+0000422935 00000 n
+0000423000 00000 n
+0000423065 00000 n
+0000423129 00000 n
+0000423194 00000 n
+0000423259 00000 n
+0000423324 00000 n
+0000423389 00000 n
+0000423454 00000 n
+0000423519 00000 n
+0000423584 00000 n
+0000423648 00000 n
+0000423713 00000 n
+0000423777 00000 n
+0000423842 00000 n
+0000423907 00000 n
+0000423972 00000 n
+0000424037 00000 n
+0000424101 00000 n
+0000429852 00000 n
+0000426613 00000 n
+0000424329 00000 n
+0000426738 00000 n
+0000426802 00000 n
+0000426867 00000 n
+0000426932 00000 n
+0000426997 00000 n
+0000427062 00000 n
+0000427127 00000 n
+0000427192 00000 n
+0000427257 00000 n
+0000427322 00000 n
+0000427386 00000 n
+0000427451 00000 n
+0000427516 00000 n
+0000427581 00000 n
+0000427646 00000 n
+0000427711 00000 n
+0000427776 00000 n
+0000427840 00000 n
+0000427905 00000 n
+0000427970 00000 n
+0000428035 00000 n
+0000428100 00000 n
+0000428165 00000 n
+0000428230 00000 n
+0000428295 00000 n
+0000428360 00000 n
+0000428425 00000 n
+0000428490 00000 n
+0000428554 00000 n
+0000428619 00000 n
+0000428684 00000 n
+0000428749 00000 n
+0000428814 00000 n
+0000428879 00000 n
+0000428944 00000 n
+0000429009 00000 n
+0000429074 00000 n
+0000429139 00000 n
+0000429204 00000 n
+0000429269 00000 n
+0000429334 00000 n
+0000429399 00000 n
+0000429464 00000 n
+0000429529 00000 n
+0000429594 00000 n
+0000429659 00000 n
+0000429724 00000 n
+0000429788 00000 n
+0000435523 00000 n
+0000432349 00000 n
+0000430029 00000 n
+0000432474 00000 n
+0000432538 00000 n
+0000432603 00000 n
+0000432668 00000 n
+0000432733 00000 n
+0000432798 00000 n
+0000432863 00000 n
+0000432928 00000 n
+0000432993 00000 n
+0000433058 00000 n
+0000433122 00000 n
+0000433187 00000 n
+0000433252 00000 n
+0000433317 00000 n
+0000433382 00000 n
+0000433447 00000 n
+0000433512 00000 n
+0000433577 00000 n
+0000433642 00000 n
+0000433706 00000 n
+0000433771 00000 n
+0000433836 00000 n
+0000433901 00000 n
+0000433966 00000 n
+0000434031 00000 n
+0000434096 00000 n
+0000434161 00000 n
+0000434226 00000 n
+0000434291 00000 n
+0000434356 00000 n
+0000434421 00000 n
+0000434485 00000 n
+0000434550 00000 n
+0000434615 00000 n
+0000434679 00000 n
+0000434744 00000 n
+0000434809 00000 n
+0000434874 00000 n
+0000434939 00000 n
+0000435004 00000 n
+0000435069 00000 n
+0000435133 00000 n
+0000435198 00000 n
+0000435263 00000 n
+0000435328 00000 n
+0000435393 00000 n
+0000435458 00000 n
+0000440998 00000 n
+0000438149 00000 n
+0000435713 00000 n
+0000438274 00000 n
+0000438338 00000 n
+0000438403 00000 n
+0000438468 00000 n
+0000438533 00000 n
+0000438598 00000 n
+0000438663 00000 n
+0000438728 00000 n
+0000438792 00000 n
+0000438857 00000 n
+0000438922 00000 n
+0000438987 00000 n
+0000439052 00000 n
+0000439117 00000 n
+0000439182 00000 n
+0000439246 00000 n
+0000439311 00000 n
+0000439376 00000 n
+0000439441 00000 n
+0000439506 00000 n
+0000439571 00000 n
+0000439636 00000 n
+0000439701 00000 n
+0000439766 00000 n
+0000439831 00000 n
+0000439895 00000 n
+0000439960 00000 n
+0000440025 00000 n
+0000440090 00000 n
+0000440155 00000 n
+0000440219 00000 n
+0000440284 00000 n
+0000440349 00000 n
+0000440414 00000 n
+0000440479 00000 n
+0000440544 00000 n
+0000440609 00000 n
+0000440674 00000 n
+0000440739 00000 n
+0000440804 00000 n
+0000440869 00000 n
+0000440934 00000 n
+0000446986 00000 n
+0000443812 00000 n
+0000441175 00000 n
+0000443937 00000 n
+0000444001 00000 n
+0000444066 00000 n
+0000444131 00000 n
+0000444196 00000 n
+0000444261 00000 n
+0000444326 00000 n
+0000444391 00000 n
+0000444455 00000 n
+0000444520 00000 n
+0000444585 00000 n
+0000444649 00000 n
+0000444714 00000 n
+0000444779 00000 n
+0000444844 00000 n
+0000444909 00000 n
+0000444974 00000 n
+0000445039 00000 n
+0000445104 00000 n
+0000445169 00000 n
+0000445234 00000 n
+0000445298 00000 n
+0000445363 00000 n
+0000445428 00000 n
+0000445493 00000 n
+0000445558 00000 n
+0000445623 00000 n
+0000445688 00000 n
+0000445753 00000 n
+0000445818 00000 n
+0000445883 00000 n
+0000445948 00000 n
+0000446013 00000 n
+0000446078 00000 n
+0000446143 00000 n
+0000446208 00000 n
+0000446273 00000 n
+0000446338 00000 n
+0000446403 00000 n
+0000446468 00000 n
+0000446533 00000 n
+0000446598 00000 n
+0000446663 00000 n
+0000446728 00000 n
+0000446793 00000 n
+0000446858 00000 n
+0000446922 00000 n
+0000453001 00000 n
+0000449697 00000 n
+0000447163 00000 n
+0000449822 00000 n
+0000449886 00000 n
+0000449951 00000 n
+0000450016 00000 n
+0000450081 00000 n
+0000450146 00000 n
+0000450211 00000 n
+0000450276 00000 n
+0000450341 00000 n
+0000450406 00000 n
+0000450470 00000 n
+0000450535 00000 n
+0000450600 00000 n
+0000450665 00000 n
+0000450730 00000 n
+0000450795 00000 n
+0000450860 00000 n
+0000450925 00000 n
+0000450990 00000 n
+0000451055 00000 n
+0000451120 00000 n
+0000451185 00000 n
+0000451249 00000 n
+0000451314 00000 n
+0000451379 00000 n
+0000451444 00000 n
+0000451509 00000 n
+0000451574 00000 n
+0000451639 00000 n
+0000451704 00000 n
+0000451769 00000 n
+0000451834 00000 n
+0000451899 00000 n
+0000451963 00000 n
+0000452028 00000 n
+0000452093 00000 n
+0000452158 00000 n
+0000452223 00000 n
+0000452288 00000 n
+0000452353 00000 n
+0000452418 00000 n
+0000452483 00000 n
+0000452548 00000 n
+0000452613 00000 n
+0000452678 00000 n
+0000452743 00000 n
+0000452808 00000 n
+0000452873 00000 n
+0000452937 00000 n
+0001892656 00000 n
+0000458966 00000 n
+0000455210 00000 n
+0000453178 00000 n
+0000455335 00000 n
+0000455399 00000 n
+0000455464 00000 n
+0000455528 00000 n
+0000455593 00000 n
+0000455658 00000 n
+0000455723 00000 n
+0000455788 00000 n
+0000455853 00000 n
+0000455918 00000 n
+0000455983 00000 n
+0000456048 00000 n
+0000456112 00000 n
+0000456177 00000 n
+0000456242 00000 n
+0000456307 00000 n
+0000456372 00000 n
+0000456437 00000 n
+0000456502 00000 n
+0000456567 00000 n
+0000456632 00000 n
+0000456696 00000 n
+0000456761 00000 n
+0000456826 00000 n
+0000456891 00000 n
+0000456956 00000 n
+0000457021 00000 n
+0000457086 00000 n
+0000457151 00000 n
+0000457216 00000 n
+0000457280 00000 n
+0000457345 00000 n
+0000457410 00000 n
+0000457475 00000 n
+0000457540 00000 n
+0000457605 00000 n
+0000457670 00000 n
+0000457735 00000 n
+0000457799 00000 n
+0000457864 00000 n
+0000457929 00000 n
+0000457994 00000 n
+0000458059 00000 n
+0000458124 00000 n
+0000458189 00000 n
+0000458254 00000 n
+0000458319 00000 n
+0000458384 00000 n
+0000458449 00000 n
+0000458514 00000 n
+0000458578 00000 n
+0000458643 00000 n
+0000458708 00000 n
+0000458773 00000 n
+0000458838 00000 n
+0000458902 00000 n
+0000464519 00000 n
+0000461735 00000 n
+0000459130 00000 n
+0000461860 00000 n
+0000461924 00000 n
+0000461989 00000 n
+0000462054 00000 n
+0000462119 00000 n
+0000462184 00000 n
+0000462249 00000 n
+0000462314 00000 n
+0000462379 00000 n
+0000462444 00000 n
+0000462508 00000 n
+0000462573 00000 n
+0000462638 00000 n
+0000462703 00000 n
+0000462768 00000 n
+0000462833 00000 n
+0000462898 00000 n
+0000462963 00000 n
+0000463028 00000 n
+0000463093 00000 n
+0000463156 00000 n
+0000463221 00000 n
+0000463286 00000 n
+0000463351 00000 n
+0000463416 00000 n
+0000463481 00000 n
+0000463546 00000 n
+0000463611 00000 n
+0000463676 00000 n
+0000463741 00000 n
+0000463806 00000 n
+0000463871 00000 n
+0000463936 00000 n
+0000464001 00000 n
+0000464066 00000 n
+0000464131 00000 n
+0000464196 00000 n
+0000464261 00000 n
+0000464326 00000 n
+0000464391 00000 n
+0000464455 00000 n
+0000470112 00000 n
+0000467783 00000 n
+0000464696 00000 n
+0000467908 00000 n
+0000467972 00000 n
+0000468037 00000 n
+0000468102 00000 n
+0000468167 00000 n
+0000468232 00000 n
+0000468296 00000 n
+0000468361 00000 n
+0000468426 00000 n
+0000468490 00000 n
+0000468555 00000 n
+0000468620 00000 n
+0000468685 00000 n
+0000468750 00000 n
+0000468815 00000 n
+0000468880 00000 n
+0000468945 00000 n
+0000469009 00000 n
+0000469074 00000 n
+0000469139 00000 n
+0000469203 00000 n
+0000469268 00000 n
+0000469333 00000 n
+0000469397 00000 n
+0000469462 00000 n
+0000469527 00000 n
+0000469592 00000 n
+0000469657 00000 n
+0000469722 00000 n
+0000469787 00000 n
+0000469852 00000 n
+0000469917 00000 n
+0000469982 00000 n
+0000470047 00000 n
+0000475880 00000 n
+0000472837 00000 n
+0000470315 00000 n
+0000472962 00000 n
+0000473026 00000 n
+0000473091 00000 n
+0000473156 00000 n
+0000473221 00000 n
+0000473286 00000 n
+0000473351 00000 n
+0000473416 00000 n
+0000473481 00000 n
+0000473546 00000 n
+0000473611 00000 n
+0000473676 00000 n
+0000473741 00000 n
+0000473806 00000 n
+0000473870 00000 n
+0000473935 00000 n
+0000474000 00000 n
+0000474065 00000 n
+0000474130 00000 n
+0000474195 00000 n
+0000474260 00000 n
+0000474325 00000 n
+0000474390 00000 n
+0000474454 00000 n
+0000474519 00000 n
+0000474584 00000 n
+0000474649 00000 n
+0000474714 00000 n
+0000474779 00000 n
+0000474844 00000 n
+0000474909 00000 n
+0000474973 00000 n
+0000475038 00000 n
+0000475103 00000 n
+0000475168 00000 n
+0000475233 00000 n
+0000475298 00000 n
+0000475363 00000 n
+0000475428 00000 n
+0000475492 00000 n
+0000475557 00000 n
+0000475622 00000 n
+0000475687 00000 n
+0000475752 00000 n
+0000475816 00000 n
+0000481762 00000 n
+0000478200 00000 n
+0000476057 00000 n
+0000478325 00000 n
+0000478389 00000 n
+0000478454 00000 n
+0000478519 00000 n
+0000478584 00000 n
+0000478649 00000 n
+0000478714 00000 n
+0000478779 00000 n
+0000478844 00000 n
+0000478909 00000 n
+0000478974 00000 n
+0000479039 00000 n
+0000479104 00000 n
+0000479169 00000 n
+0000479234 00000 n
+0000479299 00000 n
+0000479364 00000 n
+0000479429 00000 n
+0000479494 00000 n
+0000479558 00000 n
+0000479623 00000 n
+0000479688 00000 n
+0000479753 00000 n
+0000479818 00000 n
+0000479883 00000 n
+0000479948 00000 n
+0000480013 00000 n
+0000480078 00000 n
+0000480142 00000 n
+0000480207 00000 n
+0000480272 00000 n
+0000480337 00000 n
+0000480402 00000 n
+0000480467 00000 n
+0000480532 00000 n
+0000480597 00000 n
+0000480662 00000 n
+0000480727 00000 n
+0000480791 00000 n
+0000480856 00000 n
+0000480921 00000 n
+0000480986 00000 n
+0000481051 00000 n
+0000481116 00000 n
+0000481181 00000 n
+0000481246 00000 n
+0000481311 00000 n
+0000481375 00000 n
+0000481440 00000 n
+0000481505 00000 n
+0000481570 00000 n
+0000481635 00000 n
+0000481699 00000 n
+0000487591 00000 n
+0000483766 00000 n
+0000481939 00000 n
+0000483891 00000 n
+0000483955 00000 n
+0000484020 00000 n
+0000484085 00000 n
+0000484150 00000 n
+0000484215 00000 n
+0000484280 00000 n
+0000484345 00000 n
+0000484410 00000 n
+0000484475 00000 n
+0000484539 00000 n
+0000484604 00000 n
+0000484669 00000 n
+0000484734 00000 n
+0000484799 00000 n
+0000484864 00000 n
+0000484929 00000 n
+0000484994 00000 n
+0000485059 00000 n
+0000485123 00000 n
+0000485188 00000 n
+0000485253 00000 n
+0000485318 00000 n
+0000485383 00000 n
+0000485448 00000 n
+0000485513 00000 n
+0000485578 00000 n
+0000485643 00000 n
+0000485708 00000 n
+0000485773 00000 n
+0000485838 00000 n
+0000485903 00000 n
+0000485968 00000 n
+0000486033 00000 n
+0000486098 00000 n
+0000486163 00000 n
+0000486228 00000 n
+0000486293 00000 n
+0000486357 00000 n
+0000486422 00000 n
+0000486487 00000 n
+0000486552 00000 n
+0000486617 00000 n
+0000486682 00000 n
+0000486747 00000 n
+0000486812 00000 n
+0000486877 00000 n
+0000486942 00000 n
+0000487007 00000 n
+0000487071 00000 n
+0000487136 00000 n
+0000487201 00000 n
+0000487266 00000 n
+0000487331 00000 n
+0000487396 00000 n
+0000487461 00000 n
+0000487526 00000 n
+0000493499 00000 n
+0000489745 00000 n
+0000487755 00000 n
+0000489870 00000 n
+0000489934 00000 n
+0000489999 00000 n
+0000490064 00000 n
+0000490129 00000 n
+0000490194 00000 n
+0000490259 00000 n
+0000490324 00000 n
+0000490389 00000 n
+0000490454 00000 n
+0000490518 00000 n
+0000490583 00000 n
+0000490648 00000 n
+0000490713 00000 n
+0000490778 00000 n
+0000490843 00000 n
+0000490908 00000 n
+0000490973 00000 n
+0000491038 00000 n
+0000491102 00000 n
+0000491167 00000 n
+0000491232 00000 n
+0000491296 00000 n
+0000491361 00000 n
+0000491426 00000 n
+0000491491 00000 n
+0000491556 00000 n
+0000491621 00000 n
+0000491686 00000 n
+0000491751 00000 n
+0000491816 00000 n
+0000491879 00000 n
+0000491944 00000 n
+0000492009 00000 n
+0000492074 00000 n
+0000492139 00000 n
+0000492204 00000 n
+0000492269 00000 n
+0000492334 00000 n
+0000492399 00000 n
+0000492463 00000 n
+0000492528 00000 n
+0000492593 00000 n
+0000492658 00000 n
+0000492723 00000 n
+0000492788 00000 n
+0000492853 00000 n
+0000492918 00000 n
+0000492983 00000 n
+0000493047 00000 n
+0000493112 00000 n
+0000493177 00000 n
+0000493242 00000 n
+0000493307 00000 n
+0000493371 00000 n
+0000493435 00000 n
+0000499194 00000 n
+0000495827 00000 n
+0000493663 00000 n
+0000495952 00000 n
+0000496016 00000 n
+0000496081 00000 n
+0000496146 00000 n
+0000496211 00000 n
+0000496276 00000 n
+0000496341 00000 n
+0000496406 00000 n
+0000496471 00000 n
+0000496536 00000 n
+0000496600 00000 n
+0000496665 00000 n
+0000496730 00000 n
+0000496795 00000 n
+0000496860 00000 n
+0000496925 00000 n
+0000496990 00000 n
+0000497055 00000 n
+0000497120 00000 n
+0000497184 00000 n
+0000497249 00000 n
+0000497314 00000 n
+0000497379 00000 n
+0000497444 00000 n
+0000497509 00000 n
+0000497574 00000 n
+0000497638 00000 n
+0000497703 00000 n
+0000497768 00000 n
+0000497833 00000 n
+0000497898 00000 n
+0000497963 00000 n
+0000498028 00000 n
+0000498093 00000 n
+0000498158 00000 n
+0000498223 00000 n
+0000498288 00000 n
+0000498353 00000 n
+0000498417 00000 n
+0000498482 00000 n
+0000498547 00000 n
+0000498612 00000 n
+0000498677 00000 n
+0000498742 00000 n
+0000498807 00000 n
+0000498872 00000 n
+0000498936 00000 n
0000499001 00000 n
-0000501364 00000 n
-0000501428 00000 n
-0000501493 00000 n
-0000501558 00000 n
-0000501623 00000 n
-0000501688 00000 n
-0000501753 00000 n
-0000501818 00000 n
-0000501883 00000 n
-0000501948 00000 n
-0000502013 00000 n
-0000502078 00000 n
-0000502142 00000 n
-0000502207 00000 n
-0000502272 00000 n
-0000502337 00000 n
-0000502402 00000 n
-0000502467 00000 n
-0000502532 00000 n
-0000502597 00000 n
-0000502661 00000 n
-0000502726 00000 n
-0000502791 00000 n
-0000502856 00000 n
-0000502921 00000 n
-0000502986 00000 n
-0000503051 00000 n
-0000503115 00000 n
-0000503180 00000 n
-0000503245 00000 n
-0000503310 00000 n
-0000503375 00000 n
-0000503440 00000 n
-0000503505 00000 n
-0000503570 00000 n
-0000503635 00000 n
-0000503698 00000 n
-0000503763 00000 n
-0000503828 00000 n
-0000503893 00000 n
-0000503958 00000 n
-0000504023 00000 n
-0000504088 00000 n
-0000504153 00000 n
-0000504218 00000 n
-0000504283 00000 n
-0000504347 00000 n
-0000504412 00000 n
-0000504476 00000 n
-0000509705 00000 n
-0000506533 00000 n
-0000504704 00000 n
-0000506658 00000 n
-0000506722 00000 n
-0000506787 00000 n
-0000506852 00000 n
-0000506917 00000 n
-0000506982 00000 n
-0000507047 00000 n
-0000507112 00000 n
-0000507177 00000 n
-0000507242 00000 n
-0000507307 00000 n
-0000507372 00000 n
-0000507437 00000 n
-0000507502 00000 n
-0000507567 00000 n
-0000507632 00000 n
-0000507696 00000 n
-0000507761 00000 n
-0000507826 00000 n
-0000507891 00000 n
-0000507956 00000 n
-0000508021 00000 n
-0000508086 00000 n
-0000508151 00000 n
-0000508216 00000 n
-0000508281 00000 n
-0000508346 00000 n
-0000508411 00000 n
-0000508476 00000 n
-0000508541 00000 n
-0000508606 00000 n
-0000508671 00000 n
-0000508798 00000 n
-0000508861 00000 n
-0000508926 00000 n
-0000508991 00000 n
-0000509056 00000 n
-0000509121 00000 n
-0000509186 00000 n
-0000509251 00000 n
-0000509316 00000 n
-0000509381 00000 n
-0000509446 00000 n
-0000509511 00000 n
-0000509576 00000 n
-0000509641 00000 n
-0001888571 00000 n
-0000515430 00000 n
-0000511872 00000 n
-0000509895 00000 n
-0000511997 00000 n
-0000512061 00000 n
-0000512126 00000 n
-0000512191 00000 n
-0000512256 00000 n
-0000512321 00000 n
-0000512386 00000 n
-0000512451 00000 n
-0000512516 00000 n
-0000512581 00000 n
-0000512646 00000 n
-0000512711 00000 n
-0000512776 00000 n
-0000512841 00000 n
-0000512906 00000 n
-0000512971 00000 n
-0000513036 00000 n
-0000513101 00000 n
-0000513162 00000 n
-0000513227 00000 n
-0000513292 00000 n
-0000513357 00000 n
-0000513422 00000 n
-0000513487 00000 n
-0000513552 00000 n
-0000513617 00000 n
-0000513682 00000 n
-0000513747 00000 n
-0000513812 00000 n
-0000513877 00000 n
-0000513942 00000 n
-0000514007 00000 n
-0000514072 00000 n
-0000514137 00000 n
-0000514202 00000 n
-0000514266 00000 n
-0000514331 00000 n
-0000514396 00000 n
-0000514461 00000 n
-0000514526 00000 n
-0000514591 00000 n
-0000514656 00000 n
-0000514721 00000 n
-0000514786 00000 n
-0000514913 00000 n
-0000514977 00000 n
-0000515042 00000 n
-0000515107 00000 n
-0000515172 00000 n
-0000515237 00000 n
-0000515302 00000 n
-0000515366 00000 n
-0000521350 00000 n
-0000517271 00000 n
-0000515633 00000 n
-0000517396 00000 n
-0000517460 00000 n
-0000517525 00000 n
-0000517590 00000 n
-0000517655 00000 n
-0000517720 00000 n
-0000517785 00000 n
-0000517850 00000 n
-0000517915 00000 n
-0000517980 00000 n
-0000518044 00000 n
-0000518109 00000 n
-0000518174 00000 n
-0000518239 00000 n
-0000518304 00000 n
-0000518369 00000 n
-0000518434 00000 n
-0000518499 00000 n
-0000518564 00000 n
-0000518628 00000 n
-0000518693 00000 n
-0000518758 00000 n
-0000518823 00000 n
-0000518888 00000 n
-0000518953 00000 n
-0000519018 00000 n
-0000519083 00000 n
-0000519148 00000 n
-0000519211 00000 n
-0000519276 00000 n
-0000519341 00000 n
-0000519406 00000 n
-0000519471 00000 n
-0000519536 00000 n
-0000519601 00000 n
-0000519666 00000 n
-0000519730 00000 n
-0000519795 00000 n
-0000519860 00000 n
-0000519925 00000 n
-0000519990 00000 n
-0000520055 00000 n
-0000520119 00000 n
-0000520184 00000 n
-0000520249 00000 n
-0000520314 00000 n
-0000520379 00000 n
-0000520444 00000 n
-0000520509 00000 n
-0000520574 00000 n
-0000520639 00000 n
-0000520703 00000 n
-0000520768 00000 n
-0000520833 00000 n
-0000520898 00000 n
-0000520963 00000 n
-0000521028 00000 n
-0000521092 00000 n
-0000521157 00000 n
-0000521222 00000 n
-0000521286 00000 n
-0000526724 00000 n
-0000524203 00000 n
-0000521501 00000 n
-0000524328 00000 n
-0000524454 00000 n
-0000524519 00000 n
-0000524584 00000 n
-0000524649 00000 n
-0000524714 00000 n
-0000524777 00000 n
-0000524842 00000 n
-0000524907 00000 n
-0000524972 00000 n
-0000525037 00000 n
-0000525102 00000 n
-0000525167 00000 n
-0000525232 00000 n
+0000499066 00000 n
+0000499130 00000 n
+0000504980 00000 n
+0000501613 00000 n
+0000499358 00000 n
+0000501738 00000 n
+0000501802 00000 n
+0000501867 00000 n
+0000501932 00000 n
+0000501997 00000 n
+0000502062 00000 n
+0000502126 00000 n
+0000502190 00000 n
+0000502255 00000 n
+0000502320 00000 n
+0000502385 00000 n
+0000502450 00000 n
+0000502515 00000 n
+0000502580 00000 n
+0000502645 00000 n
+0000502710 00000 n
+0000502774 00000 n
+0000502839 00000 n
+0000502904 00000 n
+0000502969 00000 n
+0000503034 00000 n
+0000503099 00000 n
+0000503164 00000 n
+0000503229 00000 n
+0000503294 00000 n
+0000503359 00000 n
+0000503424 00000 n
+0000503489 00000 n
+0000503554 00000 n
+0000503618 00000 n
+0000503683 00000 n
+0000503748 00000 n
+0000503813 00000 n
+0000503878 00000 n
+0000503943 00000 n
+0000504008 00000 n
+0000504073 00000 n
+0000504138 00000 n
+0000504203 00000 n
+0000504268 00000 n
+0000504333 00000 n
+0000504398 00000 n
+0000504463 00000 n
+0000504528 00000 n
+0000504592 00000 n
+0000504657 00000 n
+0000504722 00000 n
+0000504787 00000 n
+0000504852 00000 n
+0000504916 00000 n
+0000509796 00000 n
+0000506884 00000 n
+0000505144 00000 n
+0000507009 00000 n
+0000507073 00000 n
+0000507138 00000 n
+0000507202 00000 n
+0000507267 00000 n
+0000507332 00000 n
+0000507396 00000 n
+0000507461 00000 n
+0000507526 00000 n
+0000507591 00000 n
+0000507656 00000 n
+0000507721 00000 n
+0000507786 00000 n
+0000507851 00000 n
+0000507916 00000 n
+0000507980 00000 n
+0000508045 00000 n
+0000508110 00000 n
+0000508175 00000 n
+0000508240 00000 n
+0000508305 00000 n
+0000508370 00000 n
+0000508435 00000 n
+0000508500 00000 n
+0000508565 00000 n
+0000508630 00000 n
+0000508695 00000 n
+0000508760 00000 n
+0000508825 00000 n
+0000508890 00000 n
+0000508955 00000 n
+0000509020 00000 n
+0000509085 00000 n
+0000509150 00000 n
+0000509214 00000 n
+0000509279 00000 n
+0000509344 00000 n
+0000509409 00000 n
+0000509474 00000 n
+0000509539 00000 n
+0000509604 00000 n
+0000509669 00000 n
+0001892821 00000 n
+0000515558 00000 n
+0000511801 00000 n
+0000509960 00000 n
+0000511926 00000 n
+0000511990 00000 n
+0000512055 00000 n
+0000512120 00000 n
+0000512185 00000 n
+0000512250 00000 n
+0000512315 00000 n
+0000512378 00000 n
+0000512443 00000 n
+0000512508 00000 n
+0000512573 00000 n
+0000512638 00000 n
+0000512703 00000 n
+0000512768 00000 n
+0000512833 00000 n
+0000512898 00000 n
+0000512963 00000 n
+0000513028 00000 n
+0000513093 00000 n
+0000513158 00000 n
+0000513223 00000 n
+0000513288 00000 n
+0000513352 00000 n
+0000513417 00000 n
+0000513482 00000 n
+0000513547 00000 n
+0000513612 00000 n
+0000513677 00000 n
+0000513742 00000 n
+0000513807 00000 n
+0000513872 00000 n
+0000513937 00000 n
+0000514001 00000 n
+0000514066 00000 n
+0000514131 00000 n
+0000514196 00000 n
+0000514261 00000 n
+0000514326 00000 n
+0000514391 00000 n
+0000514456 00000 n
+0000514521 00000 n
+0000514586 00000 n
+0000514650 00000 n
+0000514715 00000 n
+0000514780 00000 n
+0000514845 00000 n
+0000514910 00000 n
+0000514975 00000 n
+0000515040 00000 n
+0000515105 00000 n
+0000515170 00000 n
+0000515234 00000 n
+0000515299 00000 n
+0000515364 00000 n
+0000515429 00000 n
+0000515494 00000 n
+0000521463 00000 n
+0000517710 00000 n
+0000515748 00000 n
+0000517835 00000 n
+0000517899 00000 n
+0000517964 00000 n
+0000518091 00000 n
+0000518156 00000 n
+0000518221 00000 n
+0000518286 00000 n
+0000518351 00000 n
+0000518416 00000 n
+0000518481 00000 n
+0000518546 00000 n
+0000518610 00000 n
+0000518675 00000 n
+0000518740 00000 n
+0000518805 00000 n
+0000518870 00000 n
+0000518935 00000 n
+0000519000 00000 n
+0000519065 00000 n
+0000519130 00000 n
+0000519194 00000 n
+0000519259 00000 n
+0000519324 00000 n
+0000519389 00000 n
+0000519454 00000 n
+0000519519 00000 n
+0000519584 00000 n
+0000519649 00000 n
+0000519714 00000 n
+0000519778 00000 n
+0000519843 00000 n
+0000519908 00000 n
+0000519973 00000 n
+0000520038 00000 n
+0000520103 00000 n
+0000520168 00000 n
+0000520233 00000 n
+0000520298 00000 n
+0000520362 00000 n
+0000520427 00000 n
+0000520492 00000 n
+0000520557 00000 n
+0000520622 00000 n
+0000520687 00000 n
+0000520752 00000 n
+0000520817 00000 n
+0000520881 00000 n
+0000520946 00000 n
+0000521011 00000 n
+0000521075 00000 n
+0000521140 00000 n
+0000521205 00000 n
+0000521270 00000 n
+0000521335 00000 n
+0000521399 00000 n
+0000526918 00000 n
+0000523747 00000 n
+0000521666 00000 n
+0000523872 00000 n
+0000523936 00000 n
+0000524001 00000 n
+0000524066 00000 n
+0000524131 00000 n
+0000524196 00000 n
+0000524261 00000 n
+0000524326 00000 n
+0000524391 00000 n
+0000524456 00000 n
+0000524521 00000 n
+0000524586 00000 n
+0000524651 00000 n
+0000524716 00000 n
+0000524781 00000 n
+0000524846 00000 n
+0000524911 00000 n
+0000525038 00000 n
+0000525103 00000 n
+0000525168 00000 n
+0000525233 00000 n
0000525297 00000 n
-0000525361 00000 n
-0000525426 00000 n
-0000525491 00000 n
-0000525556 00000 n
-0000525621 00000 n
-0000525686 00000 n
-0000525751 00000 n
-0000525816 00000 n
+0000525362 00000 n
+0000525427 00000 n
+0000525492 00000 n
+0000525557 00000 n
+0000525622 00000 n
+0000525687 00000 n
+0000525752 00000 n
+0000525817 00000 n
0000525881 00000 n
-0000525945 00000 n
-0000526010 00000 n
-0000526075 00000 n
-0000526140 00000 n
-0000526205 00000 n
-0000526270 00000 n
-0000526335 00000 n
-0000526399 00000 n
+0000525946 00000 n
+0000526011 00000 n
+0000526076 00000 n
+0000526141 00000 n
+0000526206 00000 n
+0000526271 00000 n
+0000526336 00000 n
+0000526401 00000 n
0000526464 00000 n
0000526529 00000 n
0000526594 00000 n
0000526659 00000 n
-0000532500 00000 n
-0000528745 00000 n
-0000526927 00000 n
-0000528870 00000 n
-0000528934 00000 n
-0000528999 00000 n
-0000529064 00000 n
-0000529129 00000 n
-0000529194 00000 n
-0000529259 00000 n
-0000529324 00000 n
-0000529389 00000 n
-0000529454 00000 n
-0000529518 00000 n
-0000529583 00000 n
-0000529648 00000 n
-0000529713 00000 n
-0000529778 00000 n
-0000529842 00000 n
-0000529907 00000 n
-0000529972 00000 n
-0000530037 00000 n
-0000530102 00000 n
-0000530167 00000 n
-0000530232 00000 n
-0000530297 00000 n
-0000530362 00000 n
-0000530425 00000 n
-0000530490 00000 n
-0000530555 00000 n
-0000530620 00000 n
-0000530685 00000 n
-0000530750 00000 n
-0000530815 00000 n
-0000530880 00000 n
-0000530945 00000 n
-0000531010 00000 n
-0000531074 00000 n
-0000531139 00000 n
-0000531204 00000 n
-0000531269 00000 n
-0000531334 00000 n
-0000531399 00000 n
-0000531464 00000 n
-0000531529 00000 n
-0000531594 00000 n
-0000531658 00000 n
-0000531723 00000 n
-0000531788 00000 n
-0000531853 00000 n
-0000531918 00000 n
-0000531983 00000 n
-0000532048 00000 n
-0000532113 00000 n
-0000532178 00000 n
-0000532242 00000 n
-0000532307 00000 n
-0000532372 00000 n
-0000532436 00000 n
-0000535768 00000 n
-0000538131 00000 n
-0000535595 00000 n
-0000532664 00000 n
-0000535926 00000 n
-0000535990 00000 n
-0000536055 00000 n
-0000536120 00000 n
-0000536185 00000 n
-0000536250 00000 n
-0000536315 00000 n
-0000536380 00000 n
-0000536445 00000 n
-0000536510 00000 n
-0001885674 00000 n
-0000536575 00000 n
-0000536639 00000 n
-0000536704 00000 n
-0000536769 00000 n
-0000536834 00000 n
-0000536899 00000 n
-0000536964 00000 n
-0000537029 00000 n
-0000537094 00000 n
-0000537159 00000 n
-0000537224 00000 n
-0000537288 00000 n
-0000537353 00000 n
-0000537418 00000 n
-0000537483 00000 n
-0000537548 00000 n
-0000537613 00000 n
-0000537678 00000 n
-0000537743 00000 n
-0000537808 00000 n
-0000537873 00000 n
-0000537938 00000 n
-0000538003 00000 n
-0000538067 00000 n
-0000535737 00000 n
-0000543978 00000 n
-0000541131 00000 n
-0000538374 00000 n
-0000541256 00000 n
-0000541320 00000 n
-0000541385 00000 n
-0000541450 00000 n
-0000541515 00000 n
-0000541580 00000 n
-0000541645 00000 n
-0000541710 00000 n
-0000541775 00000 n
-0000541840 00000 n
-0000541904 00000 n
-0000541969 00000 n
-0000542034 00000 n
-0000542099 00000 n
-0000542164 00000 n
-0000542229 00000 n
-0000542294 00000 n
-0000542359 00000 n
-0000542424 00000 n
-0000542488 00000 n
-0000542553 00000 n
-0000542618 00000 n
-0000542683 00000 n
-0000542748 00000 n
-0000542813 00000 n
-0000542878 00000 n
-0000542943 00000 n
-0000543008 00000 n
-0000543073 00000 n
-0000543137 00000 n
-0000543201 00000 n
-0000543266 00000 n
-0000543331 00000 n
-0000543396 00000 n
-0000543461 00000 n
-0000543526 00000 n
-0000543591 00000 n
-0000543656 00000 n
-0000543721 00000 n
-0000543786 00000 n
-0000543850 00000 n
-0000543914 00000 n
-0000547177 00000 n
-0000550055 00000 n
-0000547004 00000 n
-0000544168 00000 n
-0000547334 00000 n
-0000547398 00000 n
-0000547463 00000 n
-0000547528 00000 n
-0000547593 00000 n
-0000547658 00000 n
-0000547723 00000 n
-0000547788 00000 n
-0000547853 00000 n
-0000547918 00000 n
-0000547982 00000 n
-0000548047 00000 n
-0000548112 00000 n
-0000548177 00000 n
-0000548242 00000 n
-0000548307 00000 n
-0000548371 00000 n
-0000548436 00000 n
-0000548501 00000 n
-0000548566 00000 n
-0000548629 00000 n
-0000548694 00000 n
-0000548759 00000 n
-0000548823 00000 n
-0000548888 00000 n
-0000548953 00000 n
-0000549018 00000 n
-0000549083 00000 n
-0000549148 00000 n
-0000549213 00000 n
-0000549278 00000 n
-0000549343 00000 n
-0000549407 00000 n
-0000549472 00000 n
-0000549537 00000 n
-0000549602 00000 n
-0000549667 00000 n
-0000549732 00000 n
-0000549797 00000 n
-0000549862 00000 n
-0000549927 00000 n
-0000549991 00000 n
-0000547146 00000 n
-0000555792 00000 n
-0000552490 00000 n
-0000550310 00000 n
-0000552615 00000 n
-0000552679 00000 n
-0000552744 00000 n
-0000552809 00000 n
-0000552874 00000 n
-0000552939 00000 n
-0000553004 00000 n
-0000553069 00000 n
-0000553133 00000 n
-0000553198 00000 n
-0000553263 00000 n
-0000553328 00000 n
-0000553393 00000 n
-0000553458 00000 n
-0000553523 00000 n
-0000553587 00000 n
-0000553652 00000 n
-0000553717 00000 n
-0000553782 00000 n
-0000553847 00000 n
-0000553912 00000 n
-0000553977 00000 n
-0000554042 00000 n
-0000554107 00000 n
-0000554172 00000 n
-0000554237 00000 n
-0000554302 00000 n
-0000554367 00000 n
-0000554432 00000 n
-0000554497 00000 n
-0000554562 00000 n
-0000554627 00000 n
-0000554692 00000 n
-0000554757 00000 n
-0000554821 00000 n
-0000554886 00000 n
-0000554951 00000 n
-0000555016 00000 n
-0000555081 00000 n
-0000555146 00000 n
-0000555211 00000 n
-0000555276 00000 n
-0000555341 00000 n
-0000555405 00000 n
-0000555470 00000 n
-0000555535 00000 n
-0000555599 00000 n
-0000555664 00000 n
-0000555728 00000 n
-0000562555 00000 n
-0000559968 00000 n
-0000555982 00000 n
-0000560093 00000 n
-0000560157 00000 n
-0000560222 00000 n
-0000560287 00000 n
-0000560352 00000 n
-0000560417 00000 n
-0000560482 00000 n
-0000560547 00000 n
-0000560612 00000 n
-0000560677 00000 n
-0000560741 00000 n
-0000560806 00000 n
-0000560871 00000 n
-0000560936 00000 n
-0000561001 00000 n
-0000561066 00000 n
-0000561131 00000 n
-0000561195 00000 n
-0000561260 00000 n
-0000561325 00000 n
-0000561390 00000 n
-0000561455 00000 n
-0000561520 00000 n
-0000561585 00000 n
-0000561649 00000 n
-0000561714 00000 n
-0000561779 00000 n
-0000561844 00000 n
-0000561909 00000 n
-0000561974 00000 n
-0000562039 00000 n
-0000562104 00000 n
-0000562169 00000 n
-0000562233 00000 n
-0000562298 00000 n
-0000562363 00000 n
-0000562428 00000 n
-0000567490 00000 n
-0000564837 00000 n
-0000562798 00000 n
-0000564962 00000 n
-0000565026 00000 n
-0000565091 00000 n
-0000565154 00000 n
-0000565219 00000 n
-0000565284 00000 n
-0000565349 00000 n
-0000565414 00000 n
-0000565479 00000 n
-0000565544 00000 n
-0000565609 00000 n
-0000565674 00000 n
-0000565739 00000 n
-0000565804 00000 n
-0000565869 00000 n
-0000565934 00000 n
-0000565997 00000 n
-0000566062 00000 n
-0000566127 00000 n
-0000566192 00000 n
-0000566257 00000 n
-0000566322 00000 n
-0000566387 00000 n
-0000566452 00000 n
-0000566517 00000 n
-0000566581 00000 n
-0000566646 00000 n
-0000566711 00000 n
-0000566776 00000 n
-0000566841 00000 n
-0000566906 00000 n
-0000566971 00000 n
-0000567036 00000 n
-0000567101 00000 n
-0000567165 00000 n
-0000567230 00000 n
-0000567295 00000 n
-0000567360 00000 n
-0000567425 00000 n
-0001888736 00000 n
-0000573127 00000 n
-0000569762 00000 n
-0000567693 00000 n
-0000569887 00000 n
-0000569951 00000 n
-0000570016 00000 n
-0000570081 00000 n
-0000570146 00000 n
-0000570211 00000 n
-0000570275 00000 n
-0000570340 00000 n
-0000570405 00000 n
-0000570470 00000 n
-0000570535 00000 n
-0000570600 00000 n
-0000570665 00000 n
-0000570730 00000 n
-0000570795 00000 n
-0000570859 00000 n
-0000570924 00000 n
-0000570989 00000 n
-0000571054 00000 n
-0000571119 00000 n
-0000571184 00000 n
-0000571249 00000 n
-0000571314 00000 n
-0000571379 00000 n
-0000571442 00000 n
-0000571507 00000 n
-0000571572 00000 n
-0000571636 00000 n
-0000571701 00000 n
-0000571766 00000 n
-0000571831 00000 n
-0000571896 00000 n
-0000571961 00000 n
-0000572026 00000 n
-0000572091 00000 n
-0000572156 00000 n
-0000572220 00000 n
-0000572285 00000 n
-0000572350 00000 n
-0000572415 00000 n
-0000572480 00000 n
-0000572545 00000 n
-0000572610 00000 n
-0000572675 00000 n
-0000572740 00000 n
-0000572805 00000 n
-0000572869 00000 n
-0000572934 00000 n
-0000572999 00000 n
-0000573063 00000 n
-0000578980 00000 n
-0000574963 00000 n
-0000573291 00000 n
-0000575088 00000 n
-0000575152 00000 n
-0000575217 00000 n
-0000575282 00000 n
-0000575347 00000 n
-0000575412 00000 n
-0000575477 00000 n
-0000575542 00000 n
-0000575607 00000 n
-0000575672 00000 n
-0000575736 00000 n
-0000575801 00000 n
-0000575866 00000 n
-0000575931 00000 n
-0000575996 00000 n
-0000576061 00000 n
-0000576126 00000 n
-0000576191 00000 n
-0000576256 00000 n
-0000576320 00000 n
-0000576385 00000 n
-0000576450 00000 n
-0000576515 00000 n
-0000576580 00000 n
-0000576645 00000 n
-0000576710 00000 n
-0000576775 00000 n
-0000576840 00000 n
-0000576903 00000 n
-0000576968 00000 n
-0000577033 00000 n
-0000577098 00000 n
-0000577163 00000 n
-0000577228 00000 n
-0000577293 00000 n
-0000577358 00000 n
-0000577423 00000 n
-0000577487 00000 n
-0000577552 00000 n
-0000577617 00000 n
-0000577682 00000 n
-0000577747 00000 n
-0000577812 00000 n
-0000577877 00000 n
-0000577942 00000 n
-0000578007 00000 n
-0000578071 00000 n
-0000578136 00000 n
-0000578201 00000 n
-0000578266 00000 n
-0000578331 00000 n
-0000578396 00000 n
-0000578461 00000 n
-0000578526 00000 n
-0000578591 00000 n
-0000578655 00000 n
-0000578720 00000 n
-0000578785 00000 n
-0000578850 00000 n
-0000578915 00000 n
-0000584869 00000 n
-0000581957 00000 n
-0000579144 00000 n
-0000582082 00000 n
-0000582146 00000 n
-0000582211 00000 n
-0000582276 00000 n
-0000582341 00000 n
-0000582406 00000 n
-0000582471 00000 n
-0000582536 00000 n
-0000582601 00000 n
-0000582666 00000 n
-0000582731 00000 n
-0000582796 00000 n
-0000582861 00000 n
-0000582925 00000 n
-0000582990 00000 n
-0000583055 00000 n
-0000583120 00000 n
-0000583185 00000 n
-0000583249 00000 n
-0000583314 00000 n
-0000583379 00000 n
-0000583444 00000 n
-0000583509 00000 n
-0000583574 00000 n
-0000583639 00000 n
-0000583704 00000 n
-0000583767 00000 n
-0000583832 00000 n
-0000583897 00000 n
-0000583962 00000 n
-0000584027 00000 n
-0000584092 00000 n
-0000584157 00000 n
-0000584222 00000 n
-0000584287 00000 n
-0000584351 00000 n
-0000584416 00000 n
-0000584481 00000 n
-0000584546 00000 n
-0000584611 00000 n
-0000584676 00000 n
-0000584741 00000 n
-0000584805 00000 n
-0000590645 00000 n
-0000586563 00000 n
-0000585059 00000 n
-0000586688 00000 n
-0000586752 00000 n
-0000586817 00000 n
-0000586882 00000 n
-0000586947 00000 n
-0000587012 00000 n
-0000587077 00000 n
-0000587141 00000 n
-0000587206 00000 n
-0000587271 00000 n
-0000587336 00000 n
-0000587401 00000 n
-0000587466 00000 n
-0000587531 00000 n
-0000587596 00000 n
-0000587661 00000 n
-0000587726 00000 n
-0000587791 00000 n
-0000587856 00000 n
-0000587921 00000 n
-0000587986 00000 n
-0000588051 00000 n
-0000588116 00000 n
-0000588181 00000 n
-0000588246 00000 n
-0000588311 00000 n
-0000588375 00000 n
-0000588440 00000 n
-0000588505 00000 n
-0000588570 00000 n
-0000588635 00000 n
-0000588700 00000 n
-0000588765 00000 n
-0000588830 00000 n
-0000588895 00000 n
-0000588959 00000 n
-0000589024 00000 n
-0000589089 00000 n
-0000589154 00000 n
-0000589219 00000 n
-0000589283 00000 n
-0000589348 00000 n
-0000589413 00000 n
-0000589478 00000 n
-0000589543 00000 n
-0000589608 00000 n
-0000589673 00000 n
-0000589738 00000 n
-0000589803 00000 n
-0000589867 00000 n
-0000589932 00000 n
-0000589997 00000 n
-0000590062 00000 n
-0000590127 00000 n
-0000590192 00000 n
-0000590257 00000 n
-0000590322 00000 n
-0000590387 00000 n
-0000590452 00000 n
-0000590517 00000 n
-0000590581 00000 n
-0000595667 00000 n
-0000592949 00000 n
-0000590796 00000 n
-0000593074 00000 n
-0000593138 00000 n
-0000593203 00000 n
-0000593268 00000 n
-0000593333 00000 n
-0000593398 00000 n
-0000593463 00000 n
-0000593528 00000 n
-0000593593 00000 n
-0000593658 00000 n
-0000593722 00000 n
-0000593787 00000 n
-0000593852 00000 n
-0000593917 00000 n
-0000593980 00000 n
-0000594045 00000 n
-0000594110 00000 n
-0000594175 00000 n
-0000594240 00000 n
-0000594305 00000 n
-0000594370 00000 n
-0000594435 00000 n
-0000594500 00000 n
-0000594565 00000 n
-0000594629 00000 n
-0000594694 00000 n
-0000594759 00000 n
-0000594824 00000 n
-0000594889 00000 n
-0000594954 00000 n
-0000595019 00000 n
-0000595083 00000 n
-0000595148 00000 n
-0000595213 00000 n
-0000595278 00000 n
-0000595343 00000 n
-0000595408 00000 n
-0000595473 00000 n
-0000595537 00000 n
-0000595602 00000 n
-0000601518 00000 n
-0000598346 00000 n
-0000595844 00000 n
-0000598471 00000 n
-0000598535 00000 n
-0000598600 00000 n
-0000598665 00000 n
-0000598730 00000 n
-0000598795 00000 n
-0000598860 00000 n
-0000598925 00000 n
-0000598990 00000 n
-0000599055 00000 n
-0000599120 00000 n
-0000599185 00000 n
-0000599250 00000 n
-0000599315 00000 n
-0000599380 00000 n
-0000599445 00000 n
-0000599510 00000 n
-0000599573 00000 n
-0000599638 00000 n
-0000599702 00000 n
-0000599767 00000 n
-0000599832 00000 n
-0000599897 00000 n
-0000599962 00000 n
-0000600027 00000 n
-0000600092 00000 n
-0000600157 00000 n
-0000600222 00000 n
-0000600287 00000 n
-0000600352 00000 n
-0000600417 00000 n
-0000600482 00000 n
-0000600547 00000 n
-0000600612 00000 n
-0000600677 00000 n
-0000600742 00000 n
-0000600806 00000 n
-0000600871 00000 n
-0000600936 00000 n
-0000601001 00000 n
-0000601066 00000 n
-0000601131 00000 n
-0000601196 00000 n
-0000601260 00000 n
-0000601325 00000 n
-0000601390 00000 n
-0000601454 00000 n
-0000606785 00000 n
-0000603352 00000 n
-0000601682 00000 n
-0000603477 00000 n
-0000603541 00000 n
-0000603606 00000 n
-0000603671 00000 n
-0000603736 00000 n
-0000603801 00000 n
-0000603866 00000 n
-0000603931 00000 n
-0000603996 00000 n
-0000604061 00000 n
-0000604126 00000 n
-0000604191 00000 n
-0000604256 00000 n
-0000604321 00000 n
-0000604386 00000 n
-0000604450 00000 n
-0000604515 00000 n
-0000604580 00000 n
-0000604645 00000 n
-0000604710 00000 n
-0000604775 00000 n
-0000604840 00000 n
-0000604905 00000 n
-0000604970 00000 n
-0000605034 00000 n
-0000605099 00000 n
-0000605164 00000 n
-0000605229 00000 n
-0000605294 00000 n
-0000605359 00000 n
-0000605424 00000 n
-0000605489 00000 n
-0000605554 00000 n
-0000605618 00000 n
-0000605683 00000 n
-0000605748 00000 n
-0000605813 00000 n
-0000605878 00000 n
-0000605943 00000 n
-0000606008 00000 n
-0000606073 00000 n
-0000606138 00000 n
-0000606203 00000 n
-0000606268 00000 n
-0000606333 00000 n
-0000606397 00000 n
-0000606462 00000 n
-0000606527 00000 n
-0000606592 00000 n
-0000606657 00000 n
-0000606721 00000 n
-0000612602 00000 n
-0000608973 00000 n
-0000606962 00000 n
-0000609098 00000 n
-0000609162 00000 n
-0000609227 00000 n
-0000609292 00000 n
-0000609357 00000 n
-0000609422 00000 n
-0000609487 00000 n
-0000609552 00000 n
-0000609617 00000 n
-0000609682 00000 n
-0000609746 00000 n
-0000609811 00000 n
-0000609876 00000 n
-0000609941 00000 n
-0000610006 00000 n
-0000610071 00000 n
-0000610136 00000 n
-0000610201 00000 n
-0000610266 00000 n
-0000610331 00000 n
-0000610395 00000 n
-0000610460 00000 n
-0000610525 00000 n
-0000610590 00000 n
-0000610655 00000 n
-0000610720 00000 n
-0000610785 00000 n
-0000610850 00000 n
-0000610915 00000 n
-0000610979 00000 n
-0000611044 00000 n
-0000611109 00000 n
-0000611174 00000 n
-0000611239 00000 n
-0000611304 00000 n
-0000611369 00000 n
-0000611434 00000 n
-0000611499 00000 n
-0000611564 00000 n
-0000611628 00000 n
-0000611693 00000 n
-0000611758 00000 n
-0000611823 00000 n
-0000611888 00000 n
-0000611953 00000 n
-0000612018 00000 n
-0000612082 00000 n
-0000612147 00000 n
-0000612212 00000 n
-0000612277 00000 n
-0000612342 00000 n
-0000612407 00000 n
-0000612472 00000 n
-0000612537 00000 n
-0000617711 00000 n
-0000614737 00000 n
-0000612779 00000 n
-0000614862 00000 n
-0000614926 00000 n
-0000614991 00000 n
-0000615056 00000 n
-0000615120 00000 n
-0000615185 00000 n
-0000615250 00000 n
-0000615315 00000 n
-0000615380 00000 n
-0000615445 00000 n
-0000615510 00000 n
-0000615575 00000 n
-0000615640 00000 n
-0000615705 00000 n
-0000615770 00000 n
-0000615835 00000 n
-0000615899 00000 n
-0000615964 00000 n
-0000616029 00000 n
-0000616094 00000 n
-0000616159 00000 n
-0000616220 00000 n
-0000616285 00000 n
-0000616350 00000 n
-0000616415 00000 n
-0000616480 00000 n
-0000616545 00000 n
-0000616609 00000 n
-0000616674 00000 n
-0000616739 00000 n
-0000616804 00000 n
-0000616869 00000 n
-0000616934 00000 n
-0000616999 00000 n
-0000617064 00000 n
-0000617129 00000 n
-0000617194 00000 n
-0000617259 00000 n
-0000617323 00000 n
-0000617388 00000 n
-0000617453 00000 n
-0000617518 00000 n
-0000617583 00000 n
-0000617647 00000 n
-0000622946 00000 n
-0000620032 00000 n
-0000617914 00000 n
-0000620157 00000 n
-0000620221 00000 n
-0000620286 00000 n
-0000620351 00000 n
-0000620416 00000 n
-0000620481 00000 n
-0000620546 00000 n
-0000620611 00000 n
-0000620676 00000 n
-0000620741 00000 n
-0000620806 00000 n
-0000620871 00000 n
-0000620935 00000 n
-0000621000 00000 n
-0000621065 00000 n
-0000621130 00000 n
-0000621195 00000 n
-0000621260 00000 n
-0000621325 00000 n
-0000621389 00000 n
-0000621454 00000 n
-0000621519 00000 n
-0000621584 00000 n
-0000621649 00000 n
-0000621714 00000 n
-0000621779 00000 n
-0000621844 00000 n
-0000621909 00000 n
-0000621973 00000 n
-0000622038 00000 n
-0000622103 00000 n
-0000622168 00000 n
-0000622233 00000 n
-0000622298 00000 n
-0000622362 00000 n
-0000622427 00000 n
-0000622492 00000 n
-0000622557 00000 n
-0000622622 00000 n
-0000622687 00000 n
-0000622752 00000 n
-0000622816 00000 n
-0000622881 00000 n
-0001888901 00000 n
-0000628193 00000 n
-0000625345 00000 n
-0000623123 00000 n
-0000625470 00000 n
-0000625534 00000 n
-0000625598 00000 n
-0000625663 00000 n
-0000625728 00000 n
-0000625793 00000 n
-0000625858 00000 n
-0000625923 00000 n
-0000625988 00000 n
-0000626053 00000 n
-0000626118 00000 n
-0000626182 00000 n
-0000626247 00000 n
-0000626312 00000 n
-0000626377 00000 n
-0000626442 00000 n
-0000626506 00000 n
-0000626571 00000 n
-0000626636 00000 n
-0000626701 00000 n
-0000626766 00000 n
-0000626831 00000 n
-0000626896 00000 n
-0000626961 00000 n
-0000627026 00000 n
-0000627091 00000 n
-0000627156 00000 n
-0000627221 00000 n
-0000627285 00000 n
-0000627350 00000 n
-0000627415 00000 n
-0000627480 00000 n
-0000627545 00000 n
-0000627610 00000 n
-0000627675 00000 n
-0000627740 00000 n
-0000627805 00000 n
-0000627870 00000 n
-0000627935 00000 n
-0000628000 00000 n
-0000628065 00000 n
-0000628129 00000 n
-0000633064 00000 n
-0000630024 00000 n
+0000526724 00000 n
+0000526789 00000 n
+0000526854 00000 n
+0000532639 00000 n
+0000529662 00000 n
+0000527121 00000 n
+0000529787 00000 n
+0000529851 00000 n
+0000529916 00000 n
+0000529981 00000 n
+0000530045 00000 n
+0000530110 00000 n
+0000530174 00000 n
+0000530239 00000 n
+0000530304 00000 n
+0000530369 00000 n
+0000530434 00000 n
+0000530499 00000 n
+0000530564 00000 n
+0000530629 00000 n
+0000530694 00000 n
+0000530759 00000 n
+0000530823 00000 n
+0000530888 00000 n
+0000530953 00000 n
+0000531018 00000 n
+0000531083 00000 n
+0000531148 00000 n
+0000531213 00000 n
+0000531277 00000 n
+0000531342 00000 n
+0000531407 00000 n
+0000531472 00000 n
+0000531537 00000 n
+0000531602 00000 n
+0000531667 00000 n
+0000531732 00000 n
+0000531797 00000 n
+0000531861 00000 n
+0000531926 00000 n
+0000531991 00000 n
+0000532056 00000 n
+0000532121 00000 n
+0000532186 00000 n
+0000532251 00000 n
+0000532316 00000 n
+0000532381 00000 n
+0000532446 00000 n
+0000532511 00000 n
+0000532575 00000 n
+0000535592 00000 n
+0000538798 00000 n
+0000535419 00000 n
+0000532803 00000 n
+0000535750 00000 n
+0000535814 00000 n
+0000535879 00000 n
+0000535944 00000 n
+0000536009 00000 n
+0000536074 00000 n
+0000536139 00000 n
+0000536204 00000 n
+0000536269 00000 n
+0000536334 00000 n
+0000536398 00000 n
+0000536463 00000 n
+0000536528 00000 n
+0000536593 00000 n
+0000536658 00000 n
+0000536723 00000 n
+0000536788 00000 n
+0000536853 00000 n
+0000536918 00000 n
+0000536982 00000 n
+0000537047 00000 n
+0000537112 00000 n
+0000537177 00000 n
+0000537242 00000 n
+0000537307 00000 n
+0000537372 00000 n
+0000537437 00000 n
+0000537502 00000 n
+0001889924 00000 n
+0000537567 00000 n
+0000537630 00000 n
+0000537695 00000 n
+0000537760 00000 n
+0000537825 00000 n
+0000537890 00000 n
+0000537955 00000 n
+0000538020 00000 n
+0000538085 00000 n
+0000538150 00000 n
+0000538215 00000 n
+0000538279 00000 n
+0000538344 00000 n
+0000538409 00000 n
+0000538474 00000 n
+0000538539 00000 n
+0000538604 00000 n
+0000538669 00000 n
+0000538734 00000 n
+0000535561 00000 n
+0000544128 00000 n
+0000541666 00000 n
+0000539041 00000 n
+0000541791 00000 n
+0000541855 00000 n
+0000541920 00000 n
+0000541985 00000 n
+0000542050 00000 n
+0000542115 00000 n
+0000542180 00000 n
+0000542245 00000 n
+0000542310 00000 n
+0000542375 00000 n
+0000542440 00000 n
+0000542505 00000 n
+0000542570 00000 n
+0000542635 00000 n
+0000542700 00000 n
+0000542765 00000 n
+0000542830 00000 n
+0000542895 00000 n
+0000542960 00000 n
+0000543025 00000 n
+0000543089 00000 n
+0000543154 00000 n
+0000543219 00000 n
+0000543284 00000 n
+0000543349 00000 n
+0000543414 00000 n
+0000543479 00000 n
+0000543544 00000 n
+0000543609 00000 n
+0000543673 00000 n
+0000543738 00000 n
+0000543803 00000 n
+0000543868 00000 n
+0000543933 00000 n
+0000543998 00000 n
+0000544063 00000 n
+0000547626 00000 n
+0000549988 00000 n
+0000547453 00000 n
+0000544318 00000 n
+0000547783 00000 n
+0000547847 00000 n
+0000547912 00000 n
+0000547977 00000 n
+0000548042 00000 n
+0000548107 00000 n
+0000548172 00000 n
+0000548237 00000 n
+0000548300 00000 n
+0000548365 00000 n
+0000548430 00000 n
+0000548495 00000 n
+0000548560 00000 n
+0000548625 00000 n
+0000548690 00000 n
+0000548755 00000 n
+0000548820 00000 n
+0000548885 00000 n
+0000548950 00000 n
+0000549015 00000 n
+0000549080 00000 n
+0000549145 00000 n
+0000549210 00000 n
+0000549275 00000 n
+0000549340 00000 n
+0000549405 00000 n
+0000549470 00000 n
+0000549535 00000 n
+0000549600 00000 n
+0000549665 00000 n
+0000549730 00000 n
+0000549795 00000 n
+0000549859 00000 n
+0000549924 00000 n
+0000547595 00000 n
+0000555700 00000 n
+0000552334 00000 n
+0000550243 00000 n
+0000552459 00000 n
+0000552523 00000 n
+0000552588 00000 n
+0000552653 00000 n
+0000552718 00000 n
+0000552783 00000 n
+0000552848 00000 n
+0000552913 00000 n
+0000552978 00000 n
+0000553043 00000 n
+0000553108 00000 n
+0000553172 00000 n
+0000553237 00000 n
+0000553302 00000 n
+0000553367 00000 n
+0000553432 00000 n
+0000553497 00000 n
+0000553562 00000 n
+0000553627 00000 n
+0000553692 00000 n
+0000553756 00000 n
+0000553821 00000 n
+0000553886 00000 n
+0000553951 00000 n
+0000554016 00000 n
+0000554080 00000 n
+0000554145 00000 n
+0000554210 00000 n
+0000554275 00000 n
+0000554340 00000 n
+0000554405 00000 n
+0000554469 00000 n
+0000554534 00000 n
+0000554599 00000 n
+0000554664 00000 n
+0000554729 00000 n
+0000554794 00000 n
+0000554859 00000 n
+0000554924 00000 n
+0000554989 00000 n
+0000555053 00000 n
+0000555118 00000 n
+0000555182 00000 n
+0000555247 00000 n
+0000555312 00000 n
+0000555377 00000 n
+0000555442 00000 n
+0000555507 00000 n
+0000555572 00000 n
+0000555636 00000 n
+0000561667 00000 n
+0000557915 00000 n
+0000555890 00000 n
+0000558040 00000 n
+0000558104 00000 n
+0000558169 00000 n
+0000558234 00000 n
+0000558299 00000 n
+0000558364 00000 n
+0000558429 00000 n
+0000558494 00000 n
+0000558559 00000 n
+0000558624 00000 n
+0000558688 00000 n
+0000558753 00000 n
+0000558818 00000 n
+0000558883 00000 n
+0000558948 00000 n
+0000559013 00000 n
+0000559078 00000 n
+0000559142 00000 n
+0000559207 00000 n
+0000559272 00000 n
+0000559337 00000 n
+0000559402 00000 n
+0000559467 00000 n
+0000559532 00000 n
+0000559597 00000 n
+0000559662 00000 n
+0000559726 00000 n
+0000559791 00000 n
+0000559856 00000 n
+0000559921 00000 n
+0000559986 00000 n
+0000560051 00000 n
+0000560116 00000 n
+0000560181 00000 n
+0000560246 00000 n
+0000560310 00000 n
+0000560375 00000 n
+0000560440 00000 n
+0000560505 00000 n
+0000560570 00000 n
+0000560635 00000 n
+0000560700 00000 n
+0000560765 00000 n
+0000560830 00000 n
+0000560894 00000 n
+0000560959 00000 n
+0000561024 00000 n
+0000561089 00000 n
+0000561154 00000 n
+0000561219 00000 n
+0000561284 00000 n
+0000561349 00000 n
+0000561414 00000 n
+0000561477 00000 n
+0000561542 00000 n
+0000567678 00000 n
+0000565935 00000 n
+0000561831 00000 n
+0000566060 00000 n
+0000566124 00000 n
+0000566189 00000 n
+0000566254 00000 n
+0000566319 00000 n
+0000566382 00000 n
+0000566447 00000 n
+0000566512 00000 n
+0000566577 00000 n
+0000566642 00000 n
+0000566707 00000 n
+0000566772 00000 n
+0000566836 00000 n
+0000566901 00000 n
+0000566966 00000 n
+0000567031 00000 n
+0000567096 00000 n
+0000567161 00000 n
+0000567226 00000 n
+0000567290 00000 n
+0000567355 00000 n
+0000567420 00000 n
+0000567485 00000 n
+0000567550 00000 n
+0000567614 00000 n
+0001892986 00000 n
+0000573464 00000 n
+0000569968 00000 n
+0000567921 00000 n
+0000570093 00000 n
+0000570157 00000 n
+0000570222 00000 n
+0000570287 00000 n
+0000570352 00000 n
+0000570417 00000 n
+0000570482 00000 n
+0000570547 00000 n
+0000570612 00000 n
+0000570677 00000 n
+0000570741 00000 n
+0000570806 00000 n
+0000570871 00000 n
+0000570936 00000 n
+0000571001 00000 n
+0000571066 00000 n
+0000571131 00000 n
+0000571196 00000 n
+0000571261 00000 n
+0000571326 00000 n
+0000571391 00000 n
+0000571456 00000 n
+0000571519 00000 n
+0000571584 00000 n
+0000571649 00000 n
+0000571714 00000 n
+0000571779 00000 n
+0000571844 00000 n
+0000571909 00000 n
+0000571974 00000 n
+0000572039 00000 n
+0000572103 00000 n
+0000572168 00000 n
+0000572233 00000 n
+0000572298 00000 n
+0000572363 00000 n
+0000572428 00000 n
+0000572493 00000 n
+0000572558 00000 n
+0000572623 00000 n
+0000572687 00000 n
+0000572752 00000 n
+0000572817 00000 n
+0000572881 00000 n
+0000572946 00000 n
+0000573011 00000 n
+0000573076 00000 n
+0000573141 00000 n
+0000573206 00000 n
+0000573271 00000 n
+0000573336 00000 n
+0000573401 00000 n
+0000579293 00000 n
+0000575148 00000 n
+0000573641 00000 n
+0000575273 00000 n
+0000575337 00000 n
+0000575402 00000 n
+0000575466 00000 n
+0000575531 00000 n
+0000575596 00000 n
+0000575661 00000 n
+0000575726 00000 n
+0000575791 00000 n
+0000575856 00000 n
+0000575921 00000 n
+0000575986 00000 n
+0000576050 00000 n
+0000576115 00000 n
+0000576180 00000 n
+0000576245 00000 n
+0000576310 00000 n
+0000576375 00000 n
+0000576440 00000 n
+0000576505 00000 n
+0000576570 00000 n
+0000576634 00000 n
+0000576699 00000 n
+0000576764 00000 n
+0000576829 00000 n
+0000576894 00000 n
+0000576959 00000 n
+0000577024 00000 n
+0000577089 00000 n
+0000577154 00000 n
+0000577218 00000 n
+0000577283 00000 n
+0000577348 00000 n
+0000577413 00000 n
+0000577478 00000 n
+0000577543 00000 n
+0000577608 00000 n
+0000577673 00000 n
+0000577738 00000 n
+0000577803 00000 n
+0000577867 00000 n
+0000577932 00000 n
+0000577997 00000 n
+0000578062 00000 n
+0000578127 00000 n
+0000578192 00000 n
+0000578257 00000 n
+0000578322 00000 n
+0000578387 00000 n
+0000578451 00000 n
+0000578516 00000 n
+0000578581 00000 n
+0000578646 00000 n
+0000578711 00000 n
+0000578776 00000 n
+0000578841 00000 n
+0000578906 00000 n
+0000578971 00000 n
+0000579035 00000 n
+0000579100 00000 n
+0000579165 00000 n
+0000579229 00000 n
+0000585134 00000 n
+0000582482 00000 n
+0000579457 00000 n
+0000582607 00000 n
+0000582671 00000 n
+0000582736 00000 n
+0000582801 00000 n
+0000582866 00000 n
+0000582931 00000 n
+0000582996 00000 n
+0000583061 00000 n
+0000583126 00000 n
+0000583191 00000 n
+0000583256 00000 n
+0000583321 00000 n
+0000583386 00000 n
+0000583451 00000 n
+0000583516 00000 n
+0000583580 00000 n
+0000583645 00000 n
+0000583710 00000 n
+0000583775 00000 n
+0000583840 00000 n
+0000583905 00000 n
+0000583970 00000 n
+0000584035 00000 n
+0000584100 00000 n
+0000584165 00000 n
+0000584230 00000 n
+0000584294 00000 n
+0000584359 00000 n
+0000584424 00000 n
+0000584489 00000 n
+0000584554 00000 n
+0000584619 00000 n
+0000584684 00000 n
+0000584748 00000 n
+0000584811 00000 n
+0000584876 00000 n
+0000584941 00000 n
+0000585006 00000 n
+0000585070 00000 n
+0000591024 00000 n
+0000586813 00000 n
+0000585324 00000 n
+0000586938 00000 n
+0000587002 00000 n
+0000587067 00000 n
+0000587132 00000 n
+0000587197 00000 n
+0000587262 00000 n
+0000587327 00000 n
+0000587392 00000 n
+0000587457 00000 n
+0000587522 00000 n
+0000587586 00000 n
+0000587651 00000 n
+0000587716 00000 n
+0000587781 00000 n
+0000587846 00000 n
+0000587911 00000 n
+0000587976 00000 n
+0000588041 00000 n
+0000588106 00000 n
+0000588171 00000 n
+0000588236 00000 n
+0000588301 00000 n
+0000588366 00000 n
+0000588431 00000 n
+0000588496 00000 n
+0000588561 00000 n
+0000588625 00000 n
+0000588690 00000 n
+0000588755 00000 n
+0000588820 00000 n
+0000588885 00000 n
+0000588950 00000 n
+0000589015 00000 n
+0000589080 00000 n
+0000589145 00000 n
+0000589209 00000 n
+0000589274 00000 n
+0000589339 00000 n
+0000589404 00000 n
+0000589469 00000 n
+0000589534 00000 n
+0000589599 00000 n
+0000589664 00000 n
+0000589729 00000 n
+0000589793 00000 n
+0000589858 00000 n
+0000589923 00000 n
+0000589988 00000 n
+0000590053 00000 n
+0000590118 00000 n
+0000590183 00000 n
+0000590248 00000 n
+0000590313 00000 n
+0000590378 00000 n
+0000590442 00000 n
+0000590507 00000 n
+0000590572 00000 n
+0000590637 00000 n
+0000590702 00000 n
+0000590767 00000 n
+0000590832 00000 n
+0000590897 00000 n
+0000590961 00000 n
+0000596864 00000 n
+0000593373 00000 n
+0000591175 00000 n
+0000593498 00000 n
+0000593562 00000 n
+0000593627 00000 n
+0000593692 00000 n
+0000593757 00000 n
+0000593822 00000 n
+0000593886 00000 n
+0000593951 00000 n
+0000594016 00000 n
+0000594081 00000 n
+0000594146 00000 n
+0000594211 00000 n
+0000594276 00000 n
+0000594341 00000 n
+0000594404 00000 n
+0000594469 00000 n
+0000594534 00000 n
+0000594599 00000 n
+0000594664 00000 n
+0000594729 00000 n
+0000594794 00000 n
+0000594859 00000 n
+0000594924 00000 n
+0000594988 00000 n
+0000595053 00000 n
+0000595118 00000 n
+0000595183 00000 n
+0000595248 00000 n
+0000595312 00000 n
+0000595377 00000 n
+0000595442 00000 n
+0000595507 00000 n
+0000595572 00000 n
+0000595637 00000 n
+0000595702 00000 n
+0000595767 00000 n
+0000595831 00000 n
+0000595896 00000 n
+0000595961 00000 n
+0000596026 00000 n
+0000596091 00000 n
+0000596152 00000 n
+0000596217 00000 n
+0000596282 00000 n
+0000596347 00000 n
+0000596412 00000 n
+0000596476 00000 n
+0000596541 00000 n
+0000596606 00000 n
+0000596671 00000 n
+0000596736 00000 n
+0000596800 00000 n
+0000601768 00000 n
+0000599116 00000 n
+0000597028 00000 n
+0000599241 00000 n
+0000599305 00000 n
+0000599370 00000 n
+0000599435 00000 n
+0000599500 00000 n
+0000599564 00000 n
+0000599629 00000 n
+0000599694 00000 n
+0000599759 00000 n
+0000599824 00000 n
+0000599889 00000 n
+0000599954 00000 n
+0000600019 00000 n
+0000600084 00000 n
+0000600147 00000 n
+0000600212 00000 n
+0000600277 00000 n
+0000600342 00000 n
+0000600407 00000 n
+0000600472 00000 n
+0000600537 00000 n
+0000600602 00000 n
+0000600667 00000 n
+0000600732 00000 n
+0000600797 00000 n
+0000600862 00000 n
+0000600926 00000 n
+0000600991 00000 n
+0000601056 00000 n
+0000601121 00000 n
+0000601186 00000 n
+0000601251 00000 n
+0000601316 00000 n
+0000601380 00000 n
+0000601445 00000 n
+0000601510 00000 n
+0000601575 00000 n
+0000601640 00000 n
+0000601704 00000 n
+0000607082 00000 n
+0000603975 00000 n
+0000601945 00000 n
+0000604100 00000 n
+0000604164 00000 n
+0000604229 00000 n
+0000604294 00000 n
+0000604359 00000 n
+0000604424 00000 n
+0000604488 00000 n
+0000604553 00000 n
+0000604618 00000 n
+0000604683 00000 n
+0000604747 00000 n
+0000604812 00000 n
+0000604877 00000 n
+0000604942 00000 n
+0000605007 00000 n
+0000605072 00000 n
+0000605137 00000 n
+0000605202 00000 n
+0000605267 00000 n
+0000605332 00000 n
+0000605397 00000 n
+0000605462 00000 n
+0000605527 00000 n
+0000605591 00000 n
+0000605656 00000 n
+0000605721 00000 n
+0000605786 00000 n
+0000605851 00000 n
+0000605916 00000 n
+0000605981 00000 n
+0000606046 00000 n
+0000606111 00000 n
+0000606175 00000 n
+0000606240 00000 n
+0000606305 00000 n
+0000606370 00000 n
+0000606435 00000 n
+0000606500 00000 n
+0000606565 00000 n
+0000606630 00000 n
+0000606695 00000 n
+0000606759 00000 n
+0000606824 00000 n
+0000606889 00000 n
+0000606954 00000 n
+0000607018 00000 n
+0000613158 00000 n
+0000609208 00000 n
+0000607259 00000 n
+0000609333 00000 n
+0000609397 00000 n
+0000609462 00000 n
+0000609527 00000 n
+0000609592 00000 n
+0000609657 00000 n
+0000609722 00000 n
+0000609787 00000 n
+0000609852 00000 n
+0000609917 00000 n
+0000609981 00000 n
+0000610046 00000 n
+0000610111 00000 n
+0000610176 00000 n
+0000610241 00000 n
+0000610306 00000 n
+0000610371 00000 n
+0000610436 00000 n
+0000610501 00000 n
+0000610565 00000 n
+0000610630 00000 n
+0000610695 00000 n
+0000610760 00000 n
+0000610825 00000 n
+0000610890 00000 n
+0000610955 00000 n
+0000611020 00000 n
+0000611085 00000 n
+0000611150 00000 n
+0000611215 00000 n
+0000611280 00000 n
+0000611345 00000 n
+0000611409 00000 n
+0000611474 00000 n
+0000611539 00000 n
+0000611604 00000 n
+0000611669 00000 n
+0000611734 00000 n
+0000611799 00000 n
+0000611864 00000 n
+0000611929 00000 n
+0000611992 00000 n
+0000612057 00000 n
+0000612122 00000 n
+0000612187 00000 n
+0000612252 00000 n
+0000612317 00000 n
+0000612382 00000 n
+0000612447 00000 n
+0000612512 00000 n
+0000612577 00000 n
+0000612641 00000 n
+0000612706 00000 n
+0000612770 00000 n
+0000612835 00000 n
+0000612900 00000 n
+0000612965 00000 n
+0000613030 00000 n
+0000613094 00000 n
+0000617966 00000 n
+0000615117 00000 n
+0000613309 00000 n
+0000615242 00000 n
+0000615306 00000 n
+0000615371 00000 n
+0000615436 00000 n
+0000615501 00000 n
+0000615566 00000 n
+0000615631 00000 n
+0000615696 00000 n
+0000615761 00000 n
+0000615826 00000 n
+0000615891 00000 n
+0000615956 00000 n
+0000616021 00000 n
+0000616086 00000 n
+0000616151 00000 n
+0000616216 00000 n
+0000616281 00000 n
+0000616346 00000 n
+0000616410 00000 n
+0000616475 00000 n
+0000616540 00000 n
+0000616605 00000 n
+0000616670 00000 n
+0000616735 00000 n
+0000616800 00000 n
+0000616865 00000 n
+0000616930 00000 n
+0000616994 00000 n
+0000617059 00000 n
+0000617124 00000 n
+0000617189 00000 n
+0000617254 00000 n
+0000617319 00000 n
+0000617384 00000 n
+0000617449 00000 n
+0000617514 00000 n
+0000617578 00000 n
+0000617643 00000 n
+0000617708 00000 n
+0000617773 00000 n
+0000617838 00000 n
+0000617902 00000 n
+0000623585 00000 n
+0000620413 00000 n
+0000618169 00000 n
+0000620538 00000 n
+0000620602 00000 n
+0000620667 00000 n
+0000620731 00000 n
+0000620796 00000 n
+0000620861 00000 n
+0000620926 00000 n
+0000620991 00000 n
+0000621056 00000 n
+0000621121 00000 n
+0000621186 00000 n
+0000621251 00000 n
+0000621315 00000 n
+0000621380 00000 n
+0000621445 00000 n
+0000621509 00000 n
+0000621574 00000 n
+0000621639 00000 n
+0000621704 00000 n
+0000621769 00000 n
+0000621834 00000 n
+0000621899 00000 n
+0000621964 00000 n
+0000622029 00000 n
+0000622094 00000 n
+0000622159 00000 n
+0000622224 00000 n
+0000622289 00000 n
+0000622354 00000 n
+0000622419 00000 n
+0000622484 00000 n
+0000622547 00000 n
+0000622612 00000 n
+0000622677 00000 n
+0000622742 00000 n
+0000622807 00000 n
+0000622872 00000 n
+0000622937 00000 n
+0000623002 00000 n
+0000623067 00000 n
+0000623132 00000 n
+0000623197 00000 n
+0000623262 00000 n
+0000623327 00000 n
+0000623392 00000 n
+0000623457 00000 n
+0000623521 00000 n
+0001893151 00000 n
+0000628590 00000 n
+0000625870 00000 n
+0000623762 00000 n
+0000625995 00000 n
+0000626059 00000 n
+0000626124 00000 n
+0000626189 00000 n
+0000626254 00000 n
+0000626319 00000 n
+0000626384 00000 n
+0000626449 00000 n
+0000626514 00000 n
+0000626579 00000 n
+0000626644 00000 n
+0000626709 00000 n
+0000626774 00000 n
+0000626838 00000 n
+0000626903 00000 n
+0000626968 00000 n
+0000627033 00000 n
+0000627098 00000 n
+0000627163 00000 n
+0000627228 00000 n
+0000627293 00000 n
+0000627358 00000 n
+0000627423 00000 n
+0000627488 00000 n
+0000627553 00000 n
+0000627618 00000 n
+0000627683 00000 n
+0000627748 00000 n
+0000627813 00000 n
+0000627878 00000 n
+0000627943 00000 n
+0000628008 00000 n
+0000628073 00000 n
+0000628138 00000 n
+0000628202 00000 n
+0000628267 00000 n
+0000628332 00000 n
0000628397 00000 n
-0000630149 00000 n
-0000630213 00000 n
-0000630278 00000 n
-0000630342 00000 n
-0000630407 00000 n
-0000630472 00000 n
-0000630537 00000 n
-0000630602 00000 n
-0000630667 00000 n
-0000630732 00000 n
-0000630797 00000 n
-0000630862 00000 n
-0000630927 00000 n
-0000630991 00000 n
-0000631056 00000 n
-0000631121 00000 n
-0000631186 00000 n
-0000631251 00000 n
-0000631316 00000 n
-0000631381 00000 n
-0000631446 00000 n
-0000631511 00000 n
-0000631575 00000 n
-0000631640 00000 n
-0000631705 00000 n
-0000631770 00000 n
-0000631835 00000 n
-0000631900 00000 n
-0000631965 00000 n
-0000632030 00000 n
-0000632095 00000 n
-0000632158 00000 n
-0000632223 00000 n
-0000632288 00000 n
-0000632353 00000 n
-0000632418 00000 n
-0000632483 00000 n
-0000632548 00000 n
-0000632613 00000 n
-0000632678 00000 n
-0000632742 00000 n
-0000632807 00000 n
-0000632872 00000 n
-0000632937 00000 n
-0000637728 00000 n
-0000635269 00000 n
-0000633241 00000 n
-0000635394 00000 n
-0000635458 00000 n
-0000635523 00000 n
-0000635588 00000 n
-0000635653 00000 n
-0000635718 00000 n
-0000635782 00000 n
-0000635847 00000 n
-0000635912 00000 n
-0000635977 00000 n
-0000636042 00000 n
-0000636107 00000 n
-0000636172 00000 n
-0000636237 00000 n
-0000636302 00000 n
-0000636367 00000 n
-0000636432 00000 n
-0000636497 00000 n
-0000636562 00000 n
-0000636627 00000 n
-0000636692 00000 n
-0000636757 00000 n
-0000636821 00000 n
-0000636886 00000 n
-0000636951 00000 n
-0000637016 00000 n
-0000637081 00000 n
-0000637146 00000 n
-0000637211 00000 n
-0000637276 00000 n
-0000637340 00000 n
-0000637405 00000 n
-0000637470 00000 n
-0000637535 00000 n
-0000637600 00000 n
-0000637664 00000 n
-0000643746 00000 n
-0000640506 00000 n
-0000637931 00000 n
-0000640631 00000 n
-0000640695 00000 n
-0000640760 00000 n
-0000640825 00000 n
-0000640890 00000 n
-0000640955 00000 n
-0000641020 00000 n
-0000641085 00000 n
-0000641150 00000 n
-0000641215 00000 n
-0000641280 00000 n
-0000641345 00000 n
-0000641410 00000 n
-0000641475 00000 n
-0000641540 00000 n
-0000641605 00000 n
-0000641669 00000 n
-0000641734 00000 n
-0000641799 00000 n
-0000641864 00000 n
-0000641929 00000 n
-0000641994 00000 n
-0000642059 00000 n
-0000642124 00000 n
-0000642189 00000 n
-0000642254 00000 n
-0000642319 00000 n
-0000642384 00000 n
-0000642449 00000 n
-0000642514 00000 n
-0000642579 00000 n
-0000642644 00000 n
-0000642709 00000 n
-0000642774 00000 n
-0000642839 00000 n
-0000642903 00000 n
-0000642968 00000 n
-0000643033 00000 n
-0000643098 00000 n
-0000643163 00000 n
-0000643228 00000 n
-0000643293 00000 n
-0000643358 00000 n
-0000643423 00000 n
-0000643488 00000 n
-0000643553 00000 n
-0000643618 00000 n
-0000643682 00000 n
-0000649519 00000 n
-0000645958 00000 n
-0000643949 00000 n
-0000646083 00000 n
-0000646147 00000 n
-0000646212 00000 n
-0000646277 00000 n
-0000646342 00000 n
-0000646407 00000 n
-0000646472 00000 n
-0000646537 00000 n
-0000646602 00000 n
-0000646667 00000 n
-0000646731 00000 n
-0000646796 00000 n
-0000646861 00000 n
-0000646926 00000 n
-0000646991 00000 n
-0000647056 00000 n
-0000647121 00000 n
-0000647186 00000 n
-0000647251 00000 n
-0000647315 00000 n
-0000647380 00000 n
-0000647445 00000 n
-0000647510 00000 n
-0000647575 00000 n
-0000647640 00000 n
-0000647705 00000 n
-0000647770 00000 n
-0000647835 00000 n
-0000647898 00000 n
-0000647963 00000 n
-0000648028 00000 n
-0000648093 00000 n
-0000648158 00000 n
-0000648223 00000 n
-0000648288 00000 n
-0000648352 00000 n
-0000648417 00000 n
-0000648482 00000 n
-0000648547 00000 n
-0000648612 00000 n
-0000648677 00000 n
-0000648742 00000 n
-0000648807 00000 n
-0000648872 00000 n
-0000648937 00000 n
-0000649001 00000 n
-0000649066 00000 n
-0000649131 00000 n
-0000649196 00000 n
-0000649261 00000 n
-0000649326 00000 n
-0000649391 00000 n
-0000649455 00000 n
-0000655100 00000 n
-0000651410 00000 n
-0000649696 00000 n
-0000651535 00000 n
-0000651599 00000 n
-0000651664 00000 n
-0000651729 00000 n
-0000651794 00000 n
-0000651859 00000 n
-0000651924 00000 n
-0000651989 00000 n
-0000652054 00000 n
-0000652119 00000 n
-0000652184 00000 n
-0000652248 00000 n
-0000652312 00000 n
-0000652376 00000 n
-0000652441 00000 n
-0000652506 00000 n
-0000652571 00000 n
-0000652636 00000 n
-0000652700 00000 n
-0000652765 00000 n
-0000652830 00000 n
-0000652895 00000 n
-0000652960 00000 n
-0000653025 00000 n
-0000653090 00000 n
-0000653155 00000 n
-0000653220 00000 n
-0000653285 00000 n
-0000653350 00000 n
-0000653415 00000 n
-0000653480 00000 n
-0000653545 00000 n
-0000653609 00000 n
-0000653674 00000 n
-0000653739 00000 n
-0000653804 00000 n
-0000653869 00000 n
-0000653934 00000 n
-0000653999 00000 n
-0000654064 00000 n
-0000654129 00000 n
-0000654194 00000 n
-0000654258 00000 n
-0000654323 00000 n
-0000654388 00000 n
-0000654453 00000 n
-0000654518 00000 n
-0000654583 00000 n
-0000654648 00000 n
-0000654713 00000 n
-0000654778 00000 n
-0000654842 00000 n
-0000654907 00000 n
-0000654972 00000 n
-0000655036 00000 n
-0000661018 00000 n
-0000656806 00000 n
-0000655264 00000 n
-0000656931 00000 n
-0000656995 00000 n
-0000657060 00000 n
-0000657125 00000 n
-0000657190 00000 n
-0000657255 00000 n
-0000657320 00000 n
-0000657385 00000 n
-0000657450 00000 n
-0000657515 00000 n
-0000657579 00000 n
-0000657644 00000 n
-0000657709 00000 n
-0000657774 00000 n
-0000657839 00000 n
-0000657904 00000 n
-0000657969 00000 n
-0000658034 00000 n
-0000658099 00000 n
-0000658164 00000 n
-0000658228 00000 n
-0000658293 00000 n
-0000658358 00000 n
-0000658423 00000 n
-0000658488 00000 n
-0000658553 00000 n
-0000658618 00000 n
-0000658683 00000 n
-0000658748 00000 n
-0000658812 00000 n
-0000658877 00000 n
-0000658942 00000 n
-0000659007 00000 n
-0000659072 00000 n
-0000659137 00000 n
-0000659202 00000 n
-0000659267 00000 n
-0000659332 00000 n
-0000659396 00000 n
-0000659461 00000 n
-0000659526 00000 n
-0000659591 00000 n
-0000659656 00000 n
-0000659721 00000 n
-0000659786 00000 n
-0000659851 00000 n
-0000659916 00000 n
-0000659981 00000 n
-0000660046 00000 n
-0000660111 00000 n
-0000660176 00000 n
-0000660241 00000 n
-0000660306 00000 n
-0000660371 00000 n
-0000660436 00000 n
-0000660501 00000 n
-0000660566 00000 n
-0000660630 00000 n
-0000660695 00000 n
-0000660760 00000 n
-0000660825 00000 n
-0000660890 00000 n
-0000660954 00000 n
-0000666757 00000 n
-0000663587 00000 n
-0000661169 00000 n
-0000663712 00000 n
-0000663776 00000 n
-0000663841 00000 n
-0000663906 00000 n
-0000663971 00000 n
-0000664036 00000 n
-0000664101 00000 n
-0000664166 00000 n
-0000664231 00000 n
-0000664296 00000 n
-0000664360 00000 n
-0000664425 00000 n
-0000664490 00000 n
-0000664555 00000 n
-0000664620 00000 n
-0000664685 00000 n
-0000664750 00000 n
-0000664815 00000 n
-0000664880 00000 n
-0000664944 00000 n
-0000665009 00000 n
-0000665074 00000 n
-0000665139 00000 n
-0000665204 00000 n
-0000665331 00000 n
-0000665396 00000 n
-0000665461 00000 n
-0000665526 00000 n
-0000665591 00000 n
-0000665656 00000 n
-0000665721 00000 n
-0000665786 00000 n
-0000665850 00000 n
-0000665915 00000 n
-0000665980 00000 n
-0000666045 00000 n
-0000666110 00000 n
-0000666175 00000 n
-0000666240 00000 n
-0000666305 00000 n
-0000666370 00000 n
-0000666433 00000 n
-0000666498 00000 n
-0000666563 00000 n
-0000666628 00000 n
-0000666693 00000 n
-0000672613 00000 n
+0000628462 00000 n
+0000628526 00000 n
+0000633581 00000 n
+0000630669 00000 n
+0000628794 00000 n
+0000630794 00000 n
+0000630858 00000 n
+0000630923 00000 n
+0000630988 00000 n
+0000631053 00000 n
+0000631118 00000 n
+0000631183 00000 n
+0000631248 00000 n
+0000631312 00000 n
+0000631377 00000 n
+0000631442 00000 n
+0000631507 00000 n
+0000631572 00000 n
+0000631637 00000 n
+0000631702 00000 n
+0000631766 00000 n
+0000631831 00000 n
+0000631896 00000 n
+0000631961 00000 n
+0000632026 00000 n
+0000632091 00000 n
+0000632156 00000 n
+0000632221 00000 n
+0000632286 00000 n
+0000632351 00000 n
+0000632415 00000 n
+0000632480 00000 n
+0000632545 00000 n
+0000632610 00000 n
+0000632675 00000 n
+0000632740 00000 n
+0000632805 00000 n
+0000632870 00000 n
+0000632935 00000 n
+0000632999 00000 n
+0000633064 00000 n
+0000633129 00000 n
+0000633194 00000 n
+0000633259 00000 n
+0000633324 00000 n
+0000633389 00000 n
+0000633454 00000 n
+0000633518 00000 n
+0000637983 00000 n
+0000635526 00000 n
+0000633758 00000 n
+0000635651 00000 n
+0000635715 00000 n
+0000635780 00000 n
+0000635845 00000 n
+0000635910 00000 n
+0000635975 00000 n
+0000636040 00000 n
+0000636105 00000 n
+0000636170 00000 n
+0000636235 00000 n
+0000636299 00000 n
+0000636364 00000 n
+0000636429 00000 n
+0000636494 00000 n
+0000636559 00000 n
+0000636624 00000 n
+0000636751 00000 n
+0000636816 00000 n
+0000636880 00000 n
+0000636945 00000 n
+0000637010 00000 n
+0000637075 00000 n
+0000637140 00000 n
+0000637205 00000 n
+0000637270 00000 n
+0000637335 00000 n
+0000637400 00000 n
+0000637465 00000 n
+0000637530 00000 n
+0000637595 00000 n
+0000637660 00000 n
+0000637725 00000 n
+0000637790 00000 n
+0000637855 00000 n
+0000637919 00000 n
+0000643733 00000 n
+0000640626 00000 n
+0000638186 00000 n
+0000640751 00000 n
+0000640815 00000 n
+0000640880 00000 n
+0000640945 00000 n
+0000641010 00000 n
+0000641075 00000 n
+0000641140 00000 n
+0000641205 00000 n
+0000641270 00000 n
+0000641335 00000 n
+0000641400 00000 n
+0000641465 00000 n
+0000641528 00000 n
+0000641593 00000 n
+0000641658 00000 n
+0000641723 00000 n
+0000641788 00000 n
+0000641853 00000 n
+0000641918 00000 n
+0000641983 00000 n
+0000642048 00000 n
+0000642113 00000 n
+0000642178 00000 n
+0000642243 00000 n
+0000642308 00000 n
+0000642373 00000 n
+0000642437 00000 n
+0000642502 00000 n
+0000642567 00000 n
+0000642632 00000 n
+0000642696 00000 n
+0000642761 00000 n
+0000642826 00000 n
+0000642891 00000 n
+0000642956 00000 n
+0000643021 00000 n
+0000643086 00000 n
+0000643151 00000 n
+0000643216 00000 n
+0000643280 00000 n
+0000643345 00000 n
+0000643410 00000 n
+0000643475 00000 n
+0000643540 00000 n
+0000643605 00000 n
+0000643669 00000 n
+0000649609 00000 n
+0000645982 00000 n
+0000643910 00000 n
+0000646107 00000 n
+0000646171 00000 n
+0000646236 00000 n
+0000646301 00000 n
+0000646366 00000 n
+0000646431 00000 n
+0000646496 00000 n
+0000646561 00000 n
+0000646626 00000 n
+0000646691 00000 n
+0000646755 00000 n
+0000646820 00000 n
+0000646885 00000 n
+0000646950 00000 n
+0000647015 00000 n
+0000647080 00000 n
+0000647145 00000 n
+0000647209 00000 n
+0000647274 00000 n
+0000647339 00000 n
+0000647404 00000 n
+0000647469 00000 n
+0000647534 00000 n
+0000647599 00000 n
+0000647664 00000 n
+0000647729 00000 n
+0000647794 00000 n
+0000647858 00000 n
+0000647923 00000 n
+0000647988 00000 n
+0000648053 00000 n
+0000648118 00000 n
+0000648183 00000 n
+0000648248 00000 n
+0000648313 00000 n
+0000648378 00000 n
+0000648442 00000 n
+0000648507 00000 n
+0000648572 00000 n
+0000648637 00000 n
+0000648702 00000 n
+0000648767 00000 n
+0000648832 00000 n
+0000648897 00000 n
+0000648962 00000 n
+0000649026 00000 n
+0000649091 00000 n
+0000649156 00000 n
+0000649221 00000 n
+0000649286 00000 n
+0000649351 00000 n
+0000649416 00000 n
+0000649479 00000 n
+0000649544 00000 n
+0000655116 00000 n
+0000651684 00000 n
+0000649812 00000 n
+0000651809 00000 n
+0000651873 00000 n
+0000651938 00000 n
+0000652003 00000 n
+0000652068 00000 n
+0000652133 00000 n
+0000652198 00000 n
+0000652263 00000 n
+0000652328 00000 n
+0000652393 00000 n
+0000652457 00000 n
+0000652522 00000 n
+0000652587 00000 n
+0000652652 00000 n
+0000652717 00000 n
+0000652782 00000 n
+0000652847 00000 n
+0000652911 00000 n
+0000652976 00000 n
+0000653041 00000 n
+0000653106 00000 n
+0000653171 00000 n
+0000653236 00000 n
+0000653301 00000 n
+0000653366 00000 n
+0000653431 00000 n
+0000653496 00000 n
+0000653560 00000 n
+0000653625 00000 n
+0000653689 00000 n
+0000653753 00000 n
+0000653818 00000 n
+0000653883 00000 n
+0000653948 00000 n
+0000654013 00000 n
+0000654077 00000 n
+0000654142 00000 n
+0000654207 00000 n
+0000654272 00000 n
+0000654337 00000 n
+0000654402 00000 n
+0000654467 00000 n
+0000654532 00000 n
+0000654597 00000 n
+0000654662 00000 n
+0000654727 00000 n
+0000654792 00000 n
+0000654857 00000 n
+0000654922 00000 n
+0000654986 00000 n
+0000655051 00000 n
+0000661069 00000 n
+0000657052 00000 n
+0000655280 00000 n
+0000657177 00000 n
+0000657241 00000 n
+0000657306 00000 n
+0000657371 00000 n
+0000657436 00000 n
+0000657500 00000 n
+0000657565 00000 n
+0000657630 00000 n
+0000657695 00000 n
+0000657760 00000 n
+0000657825 00000 n
+0000657890 00000 n
+0000657955 00000 n
+0000658020 00000 n
+0000658085 00000 n
+0000658150 00000 n
+0000658215 00000 n
+0000658280 00000 n
+0000658345 00000 n
+0000658410 00000 n
+0000658475 00000 n
+0000658540 00000 n
+0000658605 00000 n
+0000658670 00000 n
+0000658734 00000 n
+0000658799 00000 n
+0000658864 00000 n
+0000658929 00000 n
+0000658994 00000 n
+0000659059 00000 n
+0000659124 00000 n
+0000659189 00000 n
+0000659254 00000 n
+0000659319 00000 n
+0000659384 00000 n
+0000659449 00000 n
+0000659514 00000 n
+0000659579 00000 n
+0000659644 00000 n
+0000659709 00000 n
+0000659773 00000 n
+0000659838 00000 n
+0000659903 00000 n
+0000659968 00000 n
+0000660033 00000 n
+0000660098 00000 n
+0000660163 00000 n
+0000660228 00000 n
+0000660293 00000 n
+0000660357 00000 n
+0000660422 00000 n
+0000660487 00000 n
+0000660552 00000 n
+0000660617 00000 n
+0000660682 00000 n
+0000660747 00000 n
+0000660812 00000 n
+0000660877 00000 n
+0000660941 00000 n
+0000661005 00000 n
+0000666665 00000 n
+0000663365 00000 n
+0000661233 00000 n
+0000663490 00000 n
+0000663554 00000 n
+0000663619 00000 n
+0000663684 00000 n
+0000663749 00000 n
+0000663814 00000 n
+0000663879 00000 n
+0000663944 00000 n
+0000664009 00000 n
+0000664074 00000 n
+0000664138 00000 n
+0000664203 00000 n
+0000664268 00000 n
+0000664333 00000 n
+0000664398 00000 n
+0000664463 00000 n
+0000664528 00000 n
+0000664593 00000 n
+0000664658 00000 n
+0000664722 00000 n
+0000664787 00000 n
+0000664852 00000 n
+0000664917 00000 n
+0000664982 00000 n
+0000665047 00000 n
+0000665112 00000 n
+0000665177 00000 n
+0000665242 00000 n
+0000665305 00000 n
+0000665370 00000 n
+0000665435 00000 n
+0000665500 00000 n
+0000665565 00000 n
+0000665630 00000 n
+0000665695 00000 n
+0000665760 00000 n
+0000665825 00000 n
+0000665889 00000 n
+0000665954 00000 n
+0000666019 00000 n
+0000666084 00000 n
+0000666149 00000 n
+0000666214 00000 n
+0000666279 00000 n
+0000666344 00000 n
+0000666409 00000 n
+0000666473 00000 n
+0000666538 00000 n
+0000672359 00000 n
+0000668406 00000 n
+0000666881 00000 n
0000668531 00000 n
-0000666973 00000 n
-0000668656 00000 n
-0000668720 00000 n
-0000668785 00000 n
-0000668850 00000 n
-0000668915 00000 n
-0000668980 00000 n
-0000669045 00000 n
-0000669110 00000 n
-0000669175 00000 n
-0000669240 00000 n
-0000669304 00000 n
-0000669369 00000 n
-0000669434 00000 n
-0000669499 00000 n
-0000669564 00000 n
-0000669629 00000 n
-0000669694 00000 n
-0000669759 00000 n
-0000669824 00000 n
-0000669888 00000 n
-0000669953 00000 n
-0000670018 00000 n
-0000670083 00000 n
-0000670148 00000 n
-0000670213 00000 n
-0000670278 00000 n
-0000670343 00000 n
-0000670408 00000 n
-0000670472 00000 n
-0000670537 00000 n
-0000670602 00000 n
-0000670667 00000 n
-0000670732 00000 n
-0000670797 00000 n
-0000670862 00000 n
-0000670927 00000 n
-0000670992 00000 n
-0000671056 00000 n
-0000671121 00000 n
-0000671186 00000 n
-0000671251 00000 n
-0000671316 00000 n
-0000671381 00000 n
-0000671446 00000 n
-0000671511 00000 n
-0000671576 00000 n
-0000671641 00000 n
-0000671706 00000 n
-0000671771 00000 n
-0000671836 00000 n
-0000671901 00000 n
-0000671966 00000 n
-0000672031 00000 n
-0000672096 00000 n
-0000672161 00000 n
-0000672225 00000 n
-0000672290 00000 n
-0000672355 00000 n
-0000672420 00000 n
-0000672485 00000 n
-0000672549 00000 n
-0000678162 00000 n
-0000674990 00000 n
-0000672764 00000 n
-0000675115 00000 n
-0000675179 00000 n
-0000675244 00000 n
-0000675309 00000 n
-0000675374 00000 n
-0000675439 00000 n
-0000675504 00000 n
-0000675569 00000 n
-0000675633 00000 n
-0000675698 00000 n
-0000675763 00000 n
-0000675828 00000 n
-0000675893 00000 n
-0000675958 00000 n
-0000676023 00000 n
-0000676088 00000 n
-0000676153 00000 n
-0000676217 00000 n
-0000676282 00000 n
-0000676347 00000 n
-0000676412 00000 n
-0000676477 00000 n
-0000676542 00000 n
-0000676607 00000 n
-0000676672 00000 n
-0000676737 00000 n
-0000676801 00000 n
-0000676866 00000 n
-0000676931 00000 n
-0000676996 00000 n
-0000677061 00000 n
-0000677126 00000 n
-0000677191 00000 n
-0000677256 00000 n
-0000677321 00000 n
-0000677386 00000 n
-0000677451 00000 n
-0000677516 00000 n
-0000677579 00000 n
-0000677644 00000 n
-0000677709 00000 n
-0000677774 00000 n
-0000677839 00000 n
-0000677904 00000 n
-0000677969 00000 n
-0000678034 00000 n
-0000678098 00000 n
-0001889066 00000 n
-0000684004 00000 n
-0000680377 00000 n
-0000678339 00000 n
-0000680502 00000 n
-0000680566 00000 n
-0000680631 00000 n
-0000680696 00000 n
-0000680761 00000 n
-0000680826 00000 n
-0000680891 00000 n
-0000680956 00000 n
-0000681021 00000 n
-0000681086 00000 n
-0000681150 00000 n
-0000681215 00000 n
-0000681280 00000 n
-0000681345 00000 n
-0000681409 00000 n
-0000681474 00000 n
-0000681539 00000 n
-0000681604 00000 n
-0000681669 00000 n
-0000681734 00000 n
-0000681799 00000 n
-0000681864 00000 n
-0000681929 00000 n
-0000681994 00000 n
-0000682059 00000 n
-0000682124 00000 n
-0000682189 00000 n
-0000682254 00000 n
-0000682319 00000 n
-0000682384 00000 n
-0000682449 00000 n
-0000682514 00000 n
-0000682579 00000 n
-0000682643 00000 n
-0000682708 00000 n
-0000682773 00000 n
-0000682838 00000 n
-0000682903 00000 n
-0000682968 00000 n
-0000683033 00000 n
-0000683098 00000 n
-0000683163 00000 n
-0000683227 00000 n
-0000683292 00000 n
-0000683357 00000 n
-0000683421 00000 n
-0000683486 00000 n
-0000683551 00000 n
-0000683616 00000 n
-0000683681 00000 n
-0000683746 00000 n
-0000683811 00000 n
-0000683876 00000 n
-0000683940 00000 n
-0000690009 00000 n
-0000686123 00000 n
-0000684168 00000 n
-0000686248 00000 n
-0000686312 00000 n
-0000686377 00000 n
-0000686442 00000 n
-0000686507 00000 n
-0000686572 00000 n
-0000686637 00000 n
-0000686702 00000 n
-0000686767 00000 n
-0000686832 00000 n
-0000686896 00000 n
-0000686961 00000 n
-0000687026 00000 n
-0000687091 00000 n
-0000687156 00000 n
-0000687221 00000 n
-0000687286 00000 n
-0000687351 00000 n
-0000687416 00000 n
-0000687480 00000 n
-0000687545 00000 n
-0000687610 00000 n
-0000687675 00000 n
-0000687740 00000 n
-0000687805 00000 n
-0000687870 00000 n
-0000687935 00000 n
-0000688000 00000 n
-0000688063 00000 n
-0000688128 00000 n
-0000688193 00000 n
-0000688258 00000 n
-0000688323 00000 n
-0000688388 00000 n
-0000688453 00000 n
-0000688518 00000 n
-0000688583 00000 n
-0000688648 00000 n
-0000688712 00000 n
-0000688777 00000 n
-0000688842 00000 n
-0000688907 00000 n
-0000688972 00000 n
-0000689037 00000 n
-0000689102 00000 n
-0000689167 00000 n
-0000689232 00000 n
-0000689297 00000 n
-0000689362 00000 n
-0000689427 00000 n
-0000689492 00000 n
-0000689557 00000 n
-0000689622 00000 n
-0000689687 00000 n
-0000689752 00000 n
-0000689816 00000 n
-0000689881 00000 n
-0000689945 00000 n
-0000695629 00000 n
-0000691679 00000 n
-0000690173 00000 n
-0000691804 00000 n
-0000691868 00000 n
-0000691933 00000 n
-0000691998 00000 n
-0000692063 00000 n
-0000692128 00000 n
-0000692193 00000 n
-0000692258 00000 n
-0000692323 00000 n
-0000692388 00000 n
-0000692452 00000 n
-0000692517 00000 n
-0000692582 00000 n
-0000692647 00000 n
-0000692712 00000 n
-0000692777 00000 n
-0000692842 00000 n
-0000692906 00000 n
-0000692971 00000 n
-0000693036 00000 n
-0000693101 00000 n
-0000693166 00000 n
-0000693231 00000 n
-0000693296 00000 n
-0000693360 00000 n
-0000693425 00000 n
-0000693490 00000 n
-0000693555 00000 n
-0000693620 00000 n
-0000693685 00000 n
-0000693750 00000 n
-0000693815 00000 n
-0000693880 00000 n
-0000693944 00000 n
-0000694009 00000 n
-0000694074 00000 n
-0000694139 00000 n
-0000694204 00000 n
-0000694269 00000 n
-0000694334 00000 n
-0000694399 00000 n
-0000694464 00000 n
-0000694527 00000 n
-0000694592 00000 n
-0000694657 00000 n
-0000694722 00000 n
-0000694787 00000 n
-0000694852 00000 n
-0000694917 00000 n
-0000694982 00000 n
-0000695047 00000 n
-0000695111 00000 n
-0000695176 00000 n
-0000695241 00000 n
-0000695306 00000 n
-0000695371 00000 n
-0000695436 00000 n
-0000695501 00000 n
-0000695565 00000 n
-0000698602 00000 n
-0000700893 00000 n
-0000698429 00000 n
-0000695780 00000 n
-0000698758 00000 n
-0000698822 00000 n
-0000698887 00000 n
-0000698952 00000 n
-0000699017 00000 n
-0000699082 00000 n
-0000699147 00000 n
-0000699212 00000 n
-0000699277 00000 n
-0000699342 00000 n
-0000699406 00000 n
-0000699471 00000 n
-0000699536 00000 n
-0000699601 00000 n
-0000699666 00000 n
-0000699731 00000 n
-0000699796 00000 n
-0000699861 00000 n
-0000699926 00000 n
-0000699991 00000 n
-0000700056 00000 n
-0000700120 00000 n
-0000700185 00000 n
-0000700250 00000 n
-0000700315 00000 n
-0000700380 00000 n
-0000700443 00000 n
-0000700570 00000 n
-0000700634 00000 n
-0000700699 00000 n
-0000700764 00000 n
-0000700829 00000 n
-0000698571 00000 n
-0000706940 00000 n
-0000703510 00000 n
-0000701161 00000 n
-0000703635 00000 n
-0000703699 00000 n
-0000703764 00000 n
-0000703829 00000 n
-0000703894 00000 n
-0000703959 00000 n
-0000704024 00000 n
-0000704089 00000 n
-0000704154 00000 n
-0000704219 00000 n
-0000704283 00000 n
-0000704348 00000 n
-0000704413 00000 n
-0000704478 00000 n
-0000704543 00000 n
-0000704608 00000 n
-0000704673 00000 n
-0000704738 00000 n
-0000704803 00000 n
-0000704867 00000 n
-0000704932 00000 n
-0000704997 00000 n
-0000705062 00000 n
-0000705127 00000 n
-0000705192 00000 n
-0000705257 00000 n
-0000705322 00000 n
-0000705387 00000 n
-0000705452 00000 n
-0000705517 00000 n
-0000705581 00000 n
-0000705646 00000 n
-0000705711 00000 n
-0000705776 00000 n
-0000705840 00000 n
-0000705905 00000 n
-0000705969 00000 n
-0000706034 00000 n
-0000706099 00000 n
-0000706164 00000 n
-0000706229 00000 n
-0000706293 00000 n
-0000706358 00000 n
-0000706423 00000 n
-0000706488 00000 n
-0000706553 00000 n
-0000706618 00000 n
-0000706683 00000 n
-0000706747 00000 n
-0000706812 00000 n
-0000706876 00000 n
-0000711941 00000 n
-0000709550 00000 n
-0000707117 00000 n
-0000709675 00000 n
-0000709739 00000 n
-0000709804 00000 n
-0000709869 00000 n
-0000709996 00000 n
-0000710061 00000 n
-0000710126 00000 n
-0000710191 00000 n
-0000710256 00000 n
-0000710320 00000 n
-0000710385 00000 n
-0000710450 00000 n
-0000710515 00000 n
-0000710580 00000 n
-0000710644 00000 n
-0000710709 00000 n
-0000710774 00000 n
-0000710839 00000 n
-0000710904 00000 n
-0000710969 00000 n
-0000711034 00000 n
-0000711098 00000 n
-0000711163 00000 n
-0000711228 00000 n
-0000711293 00000 n
-0000711358 00000 n
-0000711423 00000 n
-0000711488 00000 n
-0000711553 00000 n
-0000711618 00000 n
-0000711683 00000 n
-0000711748 00000 n
-0000711813 00000 n
-0000711877 00000 n
-0000717426 00000 n
-0000714122 00000 n
-0000712131 00000 n
-0000714247 00000 n
-0000714311 00000 n
-0000714376 00000 n
-0000714441 00000 n
-0000714506 00000 n
-0000714571 00000 n
-0000714636 00000 n
-0000714701 00000 n
-0000714766 00000 n
-0000714831 00000 n
-0000714896 00000 n
-0000714961 00000 n
-0000715026 00000 n
-0000715091 00000 n
-0000715156 00000 n
-0000715221 00000 n
-0000715286 00000 n
-0000715350 00000 n
-0000715415 00000 n
-0000715480 00000 n
-0000715545 00000 n
-0000715610 00000 n
-0000715675 00000 n
-0000715740 00000 n
-0000715805 00000 n
-0000715870 00000 n
-0000715935 00000 n
-0000716000 00000 n
-0000716065 00000 n
-0000716128 00000 n
-0000716193 00000 n
-0000716258 00000 n
-0000716323 00000 n
-0000716388 00000 n
-0000716453 00000 n
-0000716518 00000 n
-0000716583 00000 n
-0000716648 00000 n
-0000716712 00000 n
-0000716777 00000 n
-0000716842 00000 n
-0000716906 00000 n
-0000716971 00000 n
-0000717036 00000 n
-0000717101 00000 n
-0000717166 00000 n
-0000717231 00000 n
-0000717296 00000 n
-0000717361 00000 n
-0000722617 00000 n
-0000719835 00000 n
-0000717603 00000 n
-0000719960 00000 n
-0000720024 00000 n
-0000720089 00000 n
-0000720154 00000 n
-0000720219 00000 n
-0000720284 00000 n
-0000720349 00000 n
-0000720414 00000 n
-0000720479 00000 n
-0000720544 00000 n
-0000720609 00000 n
-0000720674 00000 n
-0000720739 00000 n
-0000720804 00000 n
-0000720869 00000 n
-0000720934 00000 n
-0000720999 00000 n
-0000721064 00000 n
-0000721129 00000 n
-0000721193 00000 n
-0000721258 00000 n
-0000721323 00000 n
-0000721387 00000 n
-0000721452 00000 n
-0000721517 00000 n
-0000721582 00000 n
-0000721647 00000 n
-0000721712 00000 n
-0000721777 00000 n
-0000721842 00000 n
-0000721907 00000 n
-0000721971 00000 n
-0000722036 00000 n
-0000722101 00000 n
-0000722166 00000 n
-0000722231 00000 n
-0000722296 00000 n
-0000722361 00000 n
-0000722426 00000 n
-0000722491 00000 n
-0000728312 00000 n
-0000726049 00000 n
-0000722833 00000 n
-0000726174 00000 n
-0000726238 00000 n
-0000726303 00000 n
-0000726368 00000 n
-0000726433 00000 n
-0000726497 00000 n
-0000726562 00000 n
-0000726627 00000 n
-0000726692 00000 n
-0000726757 00000 n
-0000726822 00000 n
-0000726887 00000 n
-0000726952 00000 n
-0000727017 00000 n
-0000727082 00000 n
-0000727146 00000 n
-0000727211 00000 n
-0000727276 00000 n
-0000727341 00000 n
-0000727406 00000 n
-0000727471 00000 n
-0000727536 00000 n
-0000727601 00000 n
-0000727666 00000 n
-0000727731 00000 n
-0000727796 00000 n
-0000727861 00000 n
-0000727926 00000 n
-0000727990 00000 n
-0000728055 00000 n
-0000728120 00000 n
-0000728184 00000 n
-0000728248 00000 n
-0000734270 00000 n
-0000730641 00000 n
-0000728554 00000 n
-0000730766 00000 n
-0000730830 00000 n
-0000730895 00000 n
-0000730960 00000 n
-0000731025 00000 n
-0000731090 00000 n
-0000731155 00000 n
-0000731220 00000 n
-0000731285 00000 n
-0000731350 00000 n
-0000731414 00000 n
-0000731479 00000 n
-0000731544 00000 n
-0000731609 00000 n
-0000731674 00000 n
-0000731739 00000 n
-0000731804 00000 n
-0000731869 00000 n
-0000731934 00000 n
-0000731998 00000 n
-0000732063 00000 n
-0000732128 00000 n
-0000732193 00000 n
-0000732258 00000 n
-0000732323 00000 n
-0000732388 00000 n
-0000732453 00000 n
-0000732518 00000 n
-0000732581 00000 n
-0000732646 00000 n
-0000732711 00000 n
-0000732776 00000 n
-0000732841 00000 n
-0000732906 00000 n
-0000732971 00000 n
-0000733036 00000 n
-0000733101 00000 n
-0000733166 00000 n
-0000733231 00000 n
-0000733295 00000 n
-0000733360 00000 n
-0000733425 00000 n
-0000733490 00000 n
-0000733555 00000 n
-0000733620 00000 n
-0000733685 00000 n
-0000733750 00000 n
-0000733815 00000 n
-0000733880 00000 n
-0000733945 00000 n
-0000734010 00000 n
-0000734075 00000 n
-0000734140 00000 n
-0000734205 00000 n
-0001889231 00000 n
-0000739248 00000 n
-0000736202 00000 n
-0000734447 00000 n
-0000736327 00000 n
-0000736391 00000 n
-0000736456 00000 n
-0000736521 00000 n
-0000736586 00000 n
-0000736651 00000 n
-0000736716 00000 n
-0000736781 00000 n
-0000736846 00000 n
-0000736911 00000 n
-0000736976 00000 n
-0000737041 00000 n
-0000737106 00000 n
-0000737171 00000 n
-0000737236 00000 n
-0000737301 00000 n
-0000737366 00000 n
-0000737431 00000 n
-0000737495 00000 n
-0000737560 00000 n
-0000737625 00000 n
-0000737690 00000 n
-0000737755 00000 n
-0000737820 00000 n
-0000737885 00000 n
-0000737950 00000 n
-0000738015 00000 n
-0000738080 00000 n
-0000738145 00000 n
-0000738210 00000 n
-0000738275 00000 n
-0000738340 00000 n
-0000738404 00000 n
-0000738469 00000 n
-0000738534 00000 n
-0000738599 00000 n
-0000738664 00000 n
-0000738729 00000 n
-0000738794 00000 n
-0000738858 00000 n
-0000738923 00000 n
-0000738988 00000 n
-0000739053 00000 n
-0000739118 00000 n
-0000739183 00000 n
-0000744346 00000 n
-0000741041 00000 n
-0000739412 00000 n
-0000741166 00000 n
+0000668595 00000 n
+0000668660 00000 n
+0000668725 00000 n
+0000668790 00000 n
+0000668855 00000 n
+0000668920 00000 n
+0000668985 00000 n
+0000669050 00000 n
+0000669115 00000 n
+0000669179 00000 n
+0000669244 00000 n
+0000669309 00000 n
+0000669374 00000 n
+0000669439 00000 n
+0000669504 00000 n
+0000669569 00000 n
+0000669634 00000 n
+0000669699 00000 n
+0000669763 00000 n
+0000669828 00000 n
+0000669893 00000 n
+0000669958 00000 n
+0000670023 00000 n
+0000670088 00000 n
+0000670152 00000 n
+0000670217 00000 n
+0000670282 00000 n
+0000670347 00000 n
+0000670412 00000 n
+0000670477 00000 n
+0000670542 00000 n
+0000670607 00000 n
+0000670672 00000 n
+0000670736 00000 n
+0000670801 00000 n
+0000670866 00000 n
+0000670931 00000 n
+0000670996 00000 n
+0000671061 00000 n
+0000671126 00000 n
+0000671191 00000 n
+0000671256 00000 n
+0000671321 00000 n
+0000671386 00000 n
+0000671451 00000 n
+0000671516 00000 n
+0000671581 00000 n
+0000671646 00000 n
+0000671710 00000 n
+0000671775 00000 n
+0000671840 00000 n
+0000671905 00000 n
+0000671970 00000 n
+0000672035 00000 n
+0000672100 00000 n
+0000672165 00000 n
+0000672230 00000 n
+0000672294 00000 n
+0000678185 00000 n
+0000674233 00000 n
+0000672510 00000 n
+0000674358 00000 n
+0000674422 00000 n
+0000674487 00000 n
+0000674552 00000 n
+0000674617 00000 n
+0000674682 00000 n
+0000674747 00000 n
+0000674812 00000 n
+0000674877 00000 n
+0000674942 00000 n
+0000675006 00000 n
+0000675071 00000 n
+0000675136 00000 n
+0000675201 00000 n
+0000675266 00000 n
+0000675331 00000 n
+0000675396 00000 n
+0000675461 00000 n
+0000675526 00000 n
+0000675590 00000 n
+0000675655 00000 n
+0000675720 00000 n
+0000675785 00000 n
+0000675850 00000 n
+0000675915 00000 n
+0000675980 00000 n
+0000676045 00000 n
+0000676110 00000 n
+0000676175 00000 n
+0000676240 00000 n
+0000676304 00000 n
+0000676369 00000 n
+0000676434 00000 n
+0000676499 00000 n
+0000676564 00000 n
+0000676629 00000 n
+0000676694 00000 n
+0000676759 00000 n
+0000676824 00000 n
+0000676888 00000 n
+0000676953 00000 n
+0000677018 00000 n
+0000677083 00000 n
+0000677148 00000 n
+0000677213 00000 n
+0000677278 00000 n
+0000677343 00000 n
+0000677408 00000 n
+0000677472 00000 n
+0000677537 00000 n
+0000677602 00000 n
+0000677667 00000 n
+0000677732 00000 n
+0000677797 00000 n
+0000677862 00000 n
+0000677927 00000 n
+0000677992 00000 n
+0000678057 00000 n
+0000678121 00000 n
+0001893316 00000 n
+0000684036 00000 n
+0000680798 00000 n
+0000678349 00000 n
+0000680923 00000 n
+0000680987 00000 n
+0000681052 00000 n
+0000681117 00000 n
+0000681181 00000 n
+0000681246 00000 n
+0000681311 00000 n
+0000681376 00000 n
+0000681441 00000 n
+0000681505 00000 n
+0000681570 00000 n
+0000681635 00000 n
+0000681700 00000 n
+0000681765 00000 n
+0000681830 00000 n
+0000681895 00000 n
+0000681960 00000 n
+0000682025 00000 n
+0000682089 00000 n
+0000682154 00000 n
+0000682219 00000 n
+0000682284 00000 n
+0000682349 00000 n
+0000682414 00000 n
+0000682479 00000 n
+0000682544 00000 n
+0000682609 00000 n
+0000682674 00000 n
+0000682739 00000 n
+0000682804 00000 n
+0000682869 00000 n
+0000682934 00000 n
+0000682999 00000 n
+0000683064 00000 n
+0000683129 00000 n
+0000683194 00000 n
+0000683259 00000 n
+0000683324 00000 n
+0000683389 00000 n
+0000683454 00000 n
+0000683519 00000 n
+0000683584 00000 n
+0000683648 00000 n
+0000683713 00000 n
+0000683778 00000 n
+0000683843 00000 n
+0000683908 00000 n
+0000683972 00000 n
+0000689829 00000 n
+0000685811 00000 n
+0000684213 00000 n
+0000685936 00000 n
+0000686000 00000 n
+0000686065 00000 n
+0000686130 00000 n
+0000686195 00000 n
+0000686260 00000 n
+0000686325 00000 n
+0000686390 00000 n
+0000686455 00000 n
+0000686520 00000 n
+0000686585 00000 n
+0000686650 00000 n
+0000686715 00000 n
+0000686780 00000 n
+0000686844 00000 n
+0000686909 00000 n
+0000686974 00000 n
+0000687039 00000 n
+0000687104 00000 n
+0000687169 00000 n
+0000687234 00000 n
+0000687299 00000 n
+0000687364 00000 n
+0000687428 00000 n
+0000687493 00000 n
+0000687558 00000 n
+0000687623 00000 n
+0000687688 00000 n
+0000687753 00000 n
+0000687818 00000 n
+0000687883 00000 n
+0000687948 00000 n
+0000688013 00000 n
+0000688078 00000 n
+0000688143 00000 n
+0000688208 00000 n
+0000688273 00000 n
+0000688338 00000 n
+0000688403 00000 n
+0000688468 00000 n
+0000688533 00000 n
+0000688598 00000 n
+0000688662 00000 n
+0000688727 00000 n
+0000688792 00000 n
+0000688857 00000 n
+0000688922 00000 n
+0000688987 00000 n
+0000689052 00000 n
+0000689117 00000 n
+0000689182 00000 n
+0000689247 00000 n
+0000689312 00000 n
+0000689377 00000 n
+0000689441 00000 n
+0000689506 00000 n
+0000689571 00000 n
+0000689636 00000 n
+0000689701 00000 n
+0000689765 00000 n
+0000695478 00000 n
+0000691917 00000 n
+0000689980 00000 n
+0000692042 00000 n
+0000692106 00000 n
+0000692171 00000 n
+0000692236 00000 n
+0000692301 00000 n
+0000692366 00000 n
+0000692431 00000 n
+0000692496 00000 n
+0000692560 00000 n
+0000692625 00000 n
+0000692690 00000 n
+0000692755 00000 n
+0000692820 00000 n
+0000692885 00000 n
+0000692950 00000 n
+0000693015 00000 n
+0000693080 00000 n
+0000693144 00000 n
+0000693209 00000 n
+0000693274 00000 n
+0000693339 00000 n
+0000693404 00000 n
+0000693469 00000 n
+0000693534 00000 n
+0000693599 00000 n
+0000693664 00000 n
+0000693728 00000 n
+0000693793 00000 n
+0000693858 00000 n
+0000693923 00000 n
+0000693988 00000 n
+0000694053 00000 n
+0000694118 00000 n
+0000694183 00000 n
+0000694247 00000 n
+0000694312 00000 n
+0000694377 00000 n
+0000694442 00000 n
+0000694507 00000 n
+0000694572 00000 n
+0000694637 00000 n
+0000694701 00000 n
+0000694766 00000 n
+0000694831 00000 n
+0000694896 00000 n
+0000694961 00000 n
+0000695026 00000 n
+0000695091 00000 n
+0000695156 00000 n
+0000695221 00000 n
+0000695285 00000 n
+0000695350 00000 n
+0000695414 00000 n
+0000700864 00000 n
+0000697500 00000 n
+0000695642 00000 n
+0000697625 00000 n
+0000697689 00000 n
+0000697754 00000 n
+0000697819 00000 n
+0000697884 00000 n
+0000697949 00000 n
+0000698014 00000 n
+0000698079 00000 n
+0000698144 00000 n
+0000698209 00000 n
+0000698273 00000 n
+0000698338 00000 n
+0000698403 00000 n
+0000698468 00000 n
+0000698533 00000 n
+0000698598 00000 n
+0000698663 00000 n
+0000698728 00000 n
+0000698793 00000 n
+0000698857 00000 n
+0000698922 00000 n
+0000698987 00000 n
+0000699052 00000 n
+0000699117 00000 n
+0000699182 00000 n
+0000699247 00000 n
+0000699312 00000 n
+0000699377 00000 n
+0000699442 00000 n
+0000699506 00000 n
+0000699571 00000 n
+0000699636 00000 n
+0000699701 00000 n
+0000699766 00000 n
+0000699831 00000 n
+0000699896 00000 n
+0000699961 00000 n
+0000700026 00000 n
+0000700091 00000 n
+0000700156 00000 n
+0000700220 00000 n
+0000700285 00000 n
+0000700350 00000 n
+0000700415 00000 n
+0000700480 00000 n
+0000700543 00000 n
+0000700608 00000 n
+0000700673 00000 n
+0000700738 00000 n
+0000703973 00000 n
+0000706660 00000 n
+0000703800 00000 n
+0000701028 00000 n
+0000704130 00000 n
+0000704194 00000 n
+0000704259 00000 n
+0000704324 00000 n
+0000704389 00000 n
+0000704454 00000 n
+0000704519 00000 n
+0000704584 00000 n
+0000704649 00000 n
+0000704714 00000 n
+0000704779 00000 n
+0000704843 00000 n
+0000704908 00000 n
+0000704973 00000 n
+0000705038 00000 n
+0000705103 00000 n
+0000705168 00000 n
+0000705233 00000 n
+0000705298 00000 n
+0000705363 00000 n
+0000705426 00000 n
+0000705491 00000 n
+0000705556 00000 n
+0000705621 00000 n
+0000705686 00000 n
+0000705751 00000 n
+0000705816 00000 n
+0000705881 00000 n
+0000705946 00000 n
+0000706011 00000 n
+0000706076 00000 n
+0000706140 00000 n
+0000706205 00000 n
+0000706270 00000 n
+0000706335 00000 n
+0000706400 00000 n
+0000706465 00000 n
+0000706530 00000 n
+0000706595 00000 n
+0000703942 00000 n
+0000711622 00000 n
+0000709491 00000 n
+0000706928 00000 n
+0000709616 00000 n
+0000709680 00000 n
+0000709745 00000 n
+0000709810 00000 n
+0000709875 00000 n
+0000709940 00000 n
+0000710004 00000 n
+0000710069 00000 n
+0000710134 00000 n
+0000710199 00000 n
+0000710264 00000 n
+0000710329 00000 n
+0000710394 00000 n
+0000710458 00000 n
+0000710523 00000 n
+0000710588 00000 n
+0000710653 00000 n
+0000710718 00000 n
+0000710783 00000 n
+0000710848 00000 n
+0000710913 00000 n
+0000711040 00000 n
+0000711105 00000 n
+0000711169 00000 n
+0000711234 00000 n
+0000711299 00000 n
+0000711364 00000 n
+0000711429 00000 n
+0000711494 00000 n
+0000711558 00000 n
+0000717306 00000 n
+0000713813 00000 n
+0000711812 00000 n
+0000713938 00000 n
+0000714002 00000 n
+0000714067 00000 n
+0000714131 00000 n
+0000714196 00000 n
+0000714261 00000 n
+0000714326 00000 n
+0000714391 00000 n
+0000714456 00000 n
+0000714521 00000 n
+0000714585 00000 n
+0000714650 00000 n
+0000714715 00000 n
+0000714780 00000 n
+0000714845 00000 n
+0000714910 00000 n
+0000714975 00000 n
+0000715040 00000 n
+0000715105 00000 n
+0000715169 00000 n
+0000715234 00000 n
+0000715299 00000 n
+0000715364 00000 n
+0000715429 00000 n
+0000715494 00000 n
+0000715559 00000 n
+0000715624 00000 n
+0000715689 00000 n
+0000715753 00000 n
+0000715818 00000 n
+0000715883 00000 n
+0000715948 00000 n
+0000716013 00000 n
+0000716078 00000 n
+0000716143 00000 n
+0000716207 00000 n
+0000716272 00000 n
+0000716337 00000 n
+0000716402 00000 n
+0000716467 00000 n
+0000716530 00000 n
+0000716595 00000 n
+0000716660 00000 n
+0000716725 00000 n
+0000716790 00000 n
+0000716854 00000 n
+0000716919 00000 n
+0000716984 00000 n
+0000717048 00000 n
+0000717113 00000 n
+0000717178 00000 n
+0000717242 00000 n
+0000723086 00000 n
+0000719261 00000 n
+0000717483 00000 n
+0000719386 00000 n
+0000719450 00000 n
+0000719515 00000 n
+0000719580 00000 n
+0000719645 00000 n
+0000719710 00000 n
+0000719775 00000 n
+0000719840 00000 n
+0000719905 00000 n
+0000719970 00000 n
+0000720035 00000 n
+0000720100 00000 n
+0000720165 00000 n
+0000720230 00000 n
+0000720295 00000 n
+0000720360 00000 n
+0000720425 00000 n
+0000720490 00000 n
+0000720555 00000 n
+0000720620 00000 n
+0000720685 00000 n
+0000720749 00000 n
+0000720814 00000 n
+0000720879 00000 n
+0000720944 00000 n
+0000721009 00000 n
+0000721074 00000 n
+0000721139 00000 n
+0000721204 00000 n
+0000721269 00000 n
+0000721334 00000 n
+0000721399 00000 n
+0000721464 00000 n
+0000721529 00000 n
+0000721594 00000 n
+0000721659 00000 n
+0000721724 00000 n
+0000721789 00000 n
+0000721854 00000 n
+0000721919 00000 n
+0000721984 00000 n
+0000722049 00000 n
+0000722114 00000 n
+0000722179 00000 n
+0000722244 00000 n
+0000722309 00000 n
+0000722374 00000 n
+0000722439 00000 n
+0000722504 00000 n
+0000722569 00000 n
+0000722634 00000 n
+0000722698 00000 n
+0000722763 00000 n
+0000722828 00000 n
+0000722893 00000 n
+0000722958 00000 n
+0000723022 00000 n
+0000728150 00000 n
+0000726474 00000 n
+0000723250 00000 n
+0000726599 00000 n
+0000726663 00000 n
+0000726790 00000 n
+0000726855 00000 n
+0000726920 00000 n
+0000726985 00000 n
+0000727050 00000 n
+0000727115 00000 n
+0000727180 00000 n
+0000727245 00000 n
+0000727309 00000 n
+0000727374 00000 n
+0000727438 00000 n
+0000727503 00000 n
+0000727568 00000 n
+0000727633 00000 n
+0000727698 00000 n
+0000727763 00000 n
+0000727828 00000 n
+0000727892 00000 n
+0000727957 00000 n
+0000728022 00000 n
+0000728086 00000 n
+0000734093 00000 n
+0000730792 00000 n
+0000728405 00000 n
+0000730917 00000 n
+0000730981 00000 n
+0000731046 00000 n
+0000731111 00000 n
+0000731176 00000 n
+0000731241 00000 n
+0000731306 00000 n
+0000731371 00000 n
+0000731436 00000 n
+0000731501 00000 n
+0000731566 00000 n
+0000731629 00000 n
+0000731694 00000 n
+0000731759 00000 n
+0000731824 00000 n
+0000731889 00000 n
+0000731954 00000 n
+0000732019 00000 n
+0000732084 00000 n
+0000732149 00000 n
+0000732213 00000 n
+0000732278 00000 n
+0000732343 00000 n
+0000732408 00000 n
+0000732473 00000 n
+0000732538 00000 n
+0000732603 00000 n
+0000732668 00000 n
+0000732733 00000 n
+0000732797 00000 n
+0000732862 00000 n
+0000732927 00000 n
+0000732992 00000 n
+0000733057 00000 n
+0000733122 00000 n
+0000733187 00000 n
+0000733252 00000 n
+0000733317 00000 n
+0000733381 00000 n
+0000733446 00000 n
+0000733511 00000 n
+0000733576 00000 n
+0000733641 00000 n
+0000733705 00000 n
+0000733770 00000 n
+0000733835 00000 n
+0000733900 00000 n
+0000733965 00000 n
+0000734029 00000 n
+0001893481 00000 n
+0000739450 00000 n
+0000736277 00000 n
+0000734296 00000 n
+0000736402 00000 n
+0000736466 00000 n
+0000736531 00000 n
+0000736596 00000 n
+0000736661 00000 n
+0000736726 00000 n
+0000736791 00000 n
+0000736856 00000 n
+0000736921 00000 n
+0000736986 00000 n
+0000737050 00000 n
+0000737115 00000 n
+0000737180 00000 n
+0000737245 00000 n
+0000737310 00000 n
+0000737375 00000 n
+0000737440 00000 n
+0000737505 00000 n
+0000737570 00000 n
+0000737635 00000 n
+0000737700 00000 n
+0000737765 00000 n
+0000737830 00000 n
+0000737895 00000 n
+0000737959 00000 n
+0000738024 00000 n
+0000738089 00000 n
+0000738154 00000 n
+0000738219 00000 n
+0000738284 00000 n
+0000738349 00000 n
+0000738414 00000 n
+0000738478 00000 n
+0000738543 00000 n
+0000738608 00000 n
+0000738673 00000 n
+0000738738 00000 n
+0000738803 00000 n
+0000738868 00000 n
+0000738933 00000 n
+0000738998 00000 n
+0000739063 00000 n
+0000739128 00000 n
+0000739193 00000 n
+0000739257 00000 n
+0000739322 00000 n
+0000739386 00000 n
+0000744599 00000 n
0000741230 00000 n
-0000741295 00000 n
-0000741360 00000 n
-0000741425 00000 n
-0000741490 00000 n
-0000741555 00000 n
-0000741620 00000 n
-0000741685 00000 n
-0000741750 00000 n
-0000741815 00000 n
-0000741880 00000 n
-0000741945 00000 n
-0000742010 00000 n
-0000742075 00000 n
-0000742139 00000 n
-0000742204 00000 n
-0000742269 00000 n
-0000742334 00000 n
-0000742399 00000 n
-0000742464 00000 n
-0000742529 00000 n
-0000742593 00000 n
-0000742658 00000 n
-0000742723 00000 n
-0000742788 00000 n
-0000742853 00000 n
-0000742918 00000 n
-0000742983 00000 n
-0000743048 00000 n
-0000743113 00000 n
-0000743178 00000 n
-0000743243 00000 n
-0000743308 00000 n
-0000743373 00000 n
-0000743438 00000 n
-0000743502 00000 n
-0000743567 00000 n
-0000743632 00000 n
-0000743697 00000 n
-0000743762 00000 n
-0000743826 00000 n
-0000743891 00000 n
-0000743956 00000 n
-0000744021 00000 n
-0000744086 00000 n
-0000744151 00000 n
-0000744216 00000 n
-0000744281 00000 n
-0000749985 00000 n
-0000747267 00000 n
-0000744510 00000 n
-0000747392 00000 n
-0000747456 00000 n
-0000747521 00000 n
-0000747586 00000 n
-0000747651 00000 n
-0000747716 00000 n
-0000747781 00000 n
-0000747846 00000 n
-0000747911 00000 n
-0000747976 00000 n
-0000748041 00000 n
-0000748106 00000 n
-0000748171 00000 n
-0000748234 00000 n
-0000748299 00000 n
-0000748364 00000 n
-0000748429 00000 n
-0000748494 00000 n
-0000748559 00000 n
-0000748623 00000 n
-0000748688 00000 n
-0000748753 00000 n
-0000748818 00000 n
-0000748883 00000 n
-0000748948 00000 n
-0000749013 00000 n
-0000749077 00000 n
-0000749142 00000 n
-0000749207 00000 n
-0000749272 00000 n
-0000749337 00000 n
-0000749402 00000 n
-0000749467 00000 n
-0000749531 00000 n
-0000749596 00000 n
-0000749661 00000 n
-0000749725 00000 n
-0000749790 00000 n
-0000749855 00000 n
-0000749920 00000 n
-0000755968 00000 n
-0000752664 00000 n
-0000750201 00000 n
-0000752789 00000 n
-0000752853 00000 n
-0000752918 00000 n
-0000752983 00000 n
-0000753048 00000 n
-0000753113 00000 n
-0000753178 00000 n
-0000753243 00000 n
-0000753308 00000 n
-0000753373 00000 n
-0000753438 00000 n
-0000753503 00000 n
-0000753568 00000 n
-0000753633 00000 n
-0000753698 00000 n
-0000753763 00000 n
-0000753827 00000 n
-0000753892 00000 n
-0000753957 00000 n
-0000754022 00000 n
-0000754087 00000 n
-0000754152 00000 n
-0000754217 00000 n
-0000754282 00000 n
-0000754347 00000 n
-0000754412 00000 n
-0000754476 00000 n
-0000754541 00000 n
-0000754606 00000 n
-0000754671 00000 n
-0000754736 00000 n
-0000754801 00000 n
-0000754866 00000 n
-0000754931 00000 n
-0000754996 00000 n
-0000755061 00000 n
-0000755125 00000 n
-0000755190 00000 n
-0000755255 00000 n
-0000755320 00000 n
-0000755385 00000 n
-0000755450 00000 n
-0000755515 00000 n
-0000755580 00000 n
-0000755645 00000 n
-0000755710 00000 n
-0000755775 00000 n
-0000755840 00000 n
-0000755904 00000 n
-0000761250 00000 n
-0000758270 00000 n
-0000756132 00000 n
-0000758395 00000 n
-0000758459 00000 n
-0000758524 00000 n
-0000758589 00000 n
-0000758654 00000 n
-0000758718 00000 n
-0000758783 00000 n
-0000758848 00000 n
-0000758913 00000 n
-0000758978 00000 n
-0000759043 00000 n
-0000759108 00000 n
-0000759173 00000 n
-0000759238 00000 n
-0000759303 00000 n
-0000759368 00000 n
-0000759433 00000 n
-0000759498 00000 n
-0000759563 00000 n
-0000759628 00000 n
-0000759693 00000 n
-0000759758 00000 n
-0000759822 00000 n
-0000759887 00000 n
-0000759952 00000 n
-0000760017 00000 n
-0000760082 00000 n
-0000760147 00000 n
-0000760212 00000 n
-0000760277 00000 n
-0000760342 00000 n
-0000760407 00000 n
-0000760472 00000 n
-0000760537 00000 n
-0000760602 00000 n
-0000760666 00000 n
-0000760731 00000 n
-0000760796 00000 n
-0000760861 00000 n
-0000760926 00000 n
-0000760991 00000 n
-0000761056 00000 n
-0000761121 00000 n
-0000761186 00000 n
-0000767179 00000 n
-0000763229 00000 n
-0000761453 00000 n
-0000763354 00000 n
-0000763418 00000 n
-0000763481 00000 n
-0000763546 00000 n
-0000763611 00000 n
-0000763676 00000 n
-0000763741 00000 n
-0000763806 00000 n
-0000763871 00000 n
-0000763936 00000 n
-0000764001 00000 n
-0000764066 00000 n
-0000764131 00000 n
-0000764196 00000 n
-0000764261 00000 n
-0000764326 00000 n
-0000764391 00000 n
-0000764456 00000 n
-0000764521 00000 n
-0000764586 00000 n
-0000764651 00000 n
-0000764715 00000 n
-0000764779 00000 n
-0000764844 00000 n
-0000764909 00000 n
-0000764974 00000 n
-0000765039 00000 n
-0000765104 00000 n
-0000765169 00000 n
-0000765234 00000 n
-0000765299 00000 n
-0000765364 00000 n
-0000765429 00000 n
-0000765493 00000 n
-0000765558 00000 n
-0000765623 00000 n
-0000765688 00000 n
-0000765753 00000 n
-0000765818 00000 n
-0000765883 00000 n
-0000765948 00000 n
-0000766013 00000 n
-0000766077 00000 n
-0000766142 00000 n
-0000766207 00000 n
-0000766272 00000 n
-0000766337 00000 n
-0000766402 00000 n
-0000766467 00000 n
-0000766532 00000 n
-0000766597 00000 n
-0000766662 00000 n
-0000766727 00000 n
-0000766791 00000 n
-0000766856 00000 n
-0000766921 00000 n
-0000766986 00000 n
-0000767051 00000 n
-0000767115 00000 n
-0000772608 00000 n
-0000769437 00000 n
-0000767343 00000 n
-0000769562 00000 n
-0000769626 00000 n
-0000769691 00000 n
-0000769756 00000 n
-0000769821 00000 n
-0000769886 00000 n
-0000769951 00000 n
-0000770016 00000 n
-0000770080 00000 n
-0000770145 00000 n
-0000770209 00000 n
-0000770274 00000 n
-0000770339 00000 n
-0000770404 00000 n
-0000770469 00000 n
-0000770534 00000 n
-0000770599 00000 n
-0000770664 00000 n
-0000770729 00000 n
-0000770794 00000 n
-0000770859 00000 n
-0000770924 00000 n
-0000770987 00000 n
-0000771052 00000 n
-0000771117 00000 n
-0000771182 00000 n
-0000771247 00000 n
-0000771312 00000 n
-0000771377 00000 n
-0000771442 00000 n
-0000771507 00000 n
-0000771571 00000 n
-0000771636 00000 n
-0000771701 00000 n
-0000771766 00000 n
-0000771831 00000 n
-0000771896 00000 n
-0000771961 00000 n
-0000772026 00000 n
-0000772091 00000 n
-0000772156 00000 n
-0000772220 00000 n
-0000772285 00000 n
-0000772350 00000 n
-0000772414 00000 n
-0000772479 00000 n
-0000772544 00000 n
-0000778506 00000 n
-0000775269 00000 n
-0000772798 00000 n
-0000775394 00000 n
-0000775458 00000 n
-0000775523 00000 n
-0000775588 00000 n
-0000775653 00000 n
-0000775718 00000 n
-0000775782 00000 n
-0000775847 00000 n
-0000775912 00000 n
-0000775977 00000 n
-0000776042 00000 n
-0000776107 00000 n
-0000776172 00000 n
-0000776237 00000 n
-0000776302 00000 n
-0000776366 00000 n
-0000776431 00000 n
-0000776496 00000 n
-0000776561 00000 n
-0000776626 00000 n
-0000776691 00000 n
-0000776756 00000 n
-0000776821 00000 n
-0000776886 00000 n
-0000776950 00000 n
-0000777015 00000 n
-0000777080 00000 n
-0000777145 00000 n
-0000777210 00000 n
-0000777275 00000 n
-0000777340 00000 n
-0000777405 00000 n
-0000777470 00000 n
-0000777535 00000 n
-0000777600 00000 n
-0000777664 00000 n
-0000777729 00000 n
-0000777794 00000 n
-0000777859 00000 n
-0000777924 00000 n
-0000777989 00000 n
-0000778054 00000 n
-0000778119 00000 n
-0000778183 00000 n
-0000778248 00000 n
-0000778313 00000 n
-0000778378 00000 n
-0000778442 00000 n
-0000783899 00000 n
-0000781442 00000 n
-0000778683 00000 n
-0000781567 00000 n
-0000781631 00000 n
-0000781696 00000 n
-0000781760 00000 n
-0000781825 00000 n
-0000781890 00000 n
-0000781955 00000 n
-0000782020 00000 n
-0000782084 00000 n
-0000782149 00000 n
-0000782214 00000 n
-0000782279 00000 n
-0000782344 00000 n
-0000782409 00000 n
-0000782474 00000 n
-0000782539 00000 n
-0000782604 00000 n
-0000782669 00000 n
-0000782734 00000 n
-0000782799 00000 n
-0000782864 00000 n
-0000782928 00000 n
-0000782993 00000 n
-0000783058 00000 n
-0000783123 00000 n
-0000783188 00000 n
-0000783253 00000 n
-0000783317 00000 n
-0000783382 00000 n
-0000783447 00000 n
-0000783512 00000 n
-0000783577 00000 n
-0000783642 00000 n
-0000783707 00000 n
-0000783772 00000 n
-0000783836 00000 n
-0000789099 00000 n
-0000786317 00000 n
-0000784089 00000 n
-0000786442 00000 n
-0000786506 00000 n
-0000786571 00000 n
-0000786636 00000 n
-0000786701 00000 n
-0000786766 00000 n
-0000786831 00000 n
-0000786896 00000 n
-0000786961 00000 n
-0000787026 00000 n
-0000787091 00000 n
-0000787156 00000 n
-0000787221 00000 n
-0000787286 00000 n
-0000787351 00000 n
-0000787416 00000 n
-0000787481 00000 n
-0000787545 00000 n
-0000787610 00000 n
-0000787675 00000 n
-0000787740 00000 n
-0000787805 00000 n
-0000787870 00000 n
-0000787935 00000 n
-0000788000 00000 n
-0000788065 00000 n
-0000788130 00000 n
+0000739614 00000 n
+0000741355 00000 n
+0000741419 00000 n
+0000741484 00000 n
+0000741549 00000 n
+0000741614 00000 n
+0000741679 00000 n
+0000741744 00000 n
+0000741809 00000 n
+0000741874 00000 n
+0000741939 00000 n
+0000742004 00000 n
+0000742069 00000 n
+0000742134 00000 n
+0000742199 00000 n
+0000742264 00000 n
+0000742329 00000 n
+0000742394 00000 n
+0000742459 00000 n
+0000742524 00000 n
+0000742588 00000 n
+0000742653 00000 n
+0000742718 00000 n
+0000742783 00000 n
+0000742848 00000 n
+0000742913 00000 n
+0000742978 00000 n
+0000743043 00000 n
+0000743108 00000 n
+0000743173 00000 n
+0000743238 00000 n
+0000743303 00000 n
+0000743368 00000 n
+0000743433 00000 n
+0000743497 00000 n
+0000743562 00000 n
+0000743627 00000 n
+0000743692 00000 n
+0000743757 00000 n
+0000743821 00000 n
+0000743886 00000 n
+0000743951 00000 n
+0000744016 00000 n
+0000744081 00000 n
+0000744146 00000 n
+0000744211 00000 n
+0000744276 00000 n
+0000744341 00000 n
+0000744406 00000 n
+0000744471 00000 n
+0000744535 00000 n
+0000749952 00000 n
+0000747166 00000 n
+0000744763 00000 n
+0000747291 00000 n
+0000747355 00000 n
+0000747420 00000 n
+0000747485 00000 n
+0000747550 00000 n
+0000747615 00000 n
+0000747680 00000 n
+0000747745 00000 n
+0000747810 00000 n
+0000747875 00000 n
+0000747939 00000 n
+0000748004 00000 n
+0000748069 00000 n
+0000748134 00000 n
+0000748199 00000 n
+0000748264 00000 n
+0000748329 00000 n
+0000748394 00000 n
+0000748459 00000 n
+0000748523 00000 n
+0000748588 00000 n
+0000748653 00000 n
+0000748718 00000 n
+0000748783 00000 n
+0000748847 00000 n
+0000748912 00000 n
+0000748977 00000 n
+0000749042 00000 n
+0000749107 00000 n
+0000749172 00000 n
+0000749237 00000 n
+0000749302 00000 n
+0000749367 00000 n
+0000749432 00000 n
+0000749497 00000 n
+0000749562 00000 n
+0000749627 00000 n
+0000749692 00000 n
+0000749757 00000 n
+0000749822 00000 n
+0000749887 00000 n
+0000755912 00000 n
+0000752480 00000 n
+0000750155 00000 n
+0000752605 00000 n
+0000752669 00000 n
+0000752734 00000 n
+0000752798 00000 n
+0000752863 00000 n
+0000752928 00000 n
+0000752993 00000 n
+0000753058 00000 n
+0000753123 00000 n
+0000753188 00000 n
+0000753253 00000 n
+0000753318 00000 n
+0000753383 00000 n
+0000753448 00000 n
+0000753513 00000 n
+0000753578 00000 n
+0000753643 00000 n
+0000753708 00000 n
+0000753773 00000 n
+0000753838 00000 n
+0000753903 00000 n
+0000753968 00000 n
+0000754033 00000 n
+0000754098 00000 n
+0000754163 00000 n
+0000754228 00000 n
+0000754293 00000 n
+0000754358 00000 n
+0000754423 00000 n
+0000754487 00000 n
+0000754552 00000 n
+0000754617 00000 n
+0000754681 00000 n
+0000754746 00000 n
+0000754811 00000 n
+0000754876 00000 n
+0000754941 00000 n
+0000755006 00000 n
+0000755071 00000 n
+0000755136 00000 n
+0000755201 00000 n
+0000755265 00000 n
+0000755330 00000 n
+0000755395 00000 n
+0000755460 00000 n
+0000755525 00000 n
+0000755590 00000 n
+0000755655 00000 n
+0000755720 00000 n
+0000755785 00000 n
+0000755848 00000 n
+0000761298 00000 n
+0000758515 00000 n
+0000756089 00000 n
+0000758640 00000 n
+0000758704 00000 n
+0000758769 00000 n
+0000758834 00000 n
+0000758899 00000 n
+0000758964 00000 n
+0000759029 00000 n
+0000759094 00000 n
+0000759159 00000 n
+0000759224 00000 n
+0000759289 00000 n
+0000759354 00000 n
+0000759419 00000 n
+0000759484 00000 n
+0000759549 00000 n
+0000759613 00000 n
+0000759678 00000 n
+0000759743 00000 n
+0000759807 00000 n
+0000759872 00000 n
+0000759937 00000 n
+0000760002 00000 n
+0000760067 00000 n
+0000760132 00000 n
+0000760197 00000 n
+0000760262 00000 n
+0000760327 00000 n
+0000760392 00000 n
+0000760457 00000 n
+0000760522 00000 n
+0000760585 00000 n
+0000760650 00000 n
+0000760715 00000 n
+0000760780 00000 n
+0000760845 00000 n
+0000760910 00000 n
+0000760975 00000 n
+0000761040 00000 n
+0000761105 00000 n
+0000761170 00000 n
+0000761234 00000 n
+0000767087 00000 n
+0000763334 00000 n
+0000761488 00000 n
+0000763459 00000 n
+0000763523 00000 n
+0000763588 00000 n
+0000763653 00000 n
+0000763718 00000 n
+0000763783 00000 n
+0000763848 00000 n
+0000763913 00000 n
+0000763978 00000 n
+0000764043 00000 n
+0000764107 00000 n
+0000764172 00000 n
+0000764235 00000 n
+0000764300 00000 n
+0000764365 00000 n
+0000764429 00000 n
+0000764494 00000 n
+0000764559 00000 n
+0000764624 00000 n
+0000764689 00000 n
+0000764754 00000 n
+0000764819 00000 n
+0000764884 00000 n
+0000764949 00000 n
+0000765013 00000 n
+0000765078 00000 n
+0000765143 00000 n
+0000765208 00000 n
+0000765273 00000 n
+0000765338 00000 n
+0000765403 00000 n
+0000765468 00000 n
+0000765533 00000 n
+0000765597 00000 n
+0000765662 00000 n
+0000765727 00000 n
+0000765791 00000 n
+0000765856 00000 n
+0000765921 00000 n
+0000765986 00000 n
+0000766051 00000 n
+0000766116 00000 n
+0000766181 00000 n
+0000766246 00000 n
+0000766311 00000 n
+0000766376 00000 n
+0000766441 00000 n
+0000766505 00000 n
+0000766570 00000 n
+0000766635 00000 n
+0000766700 00000 n
+0000766765 00000 n
+0000766830 00000 n
+0000766895 00000 n
+0000766960 00000 n
+0000767024 00000 n
+0000772796 00000 n
+0000769297 00000 n
+0000767264 00000 n
+0000769422 00000 n
+0000769486 00000 n
+0000769551 00000 n
+0000769616 00000 n
+0000769681 00000 n
+0000769746 00000 n
+0000769811 00000 n
+0000769876 00000 n
+0000769941 00000 n
+0000770006 00000 n
+0000770071 00000 n
+0000770136 00000 n
+0000770200 00000 n
+0000770265 00000 n
+0000770330 00000 n
+0000770395 00000 n
+0000770460 00000 n
+0000770525 00000 n
+0000770590 00000 n
+0000770655 00000 n
+0000770720 00000 n
+0000770785 00000 n
+0000770850 00000 n
+0000770915 00000 n
+0000770980 00000 n
+0000771045 00000 n
+0000771110 00000 n
+0000771175 00000 n
+0000771240 00000 n
+0000771305 00000 n
+0000771370 00000 n
+0000771434 00000 n
+0000771499 00000 n
+0000771563 00000 n
+0000771628 00000 n
+0000771693 00000 n
+0000771758 00000 n
+0000771823 00000 n
+0000771888 00000 n
+0000771953 00000 n
+0000772018 00000 n
+0000772083 00000 n
+0000772148 00000 n
+0000772212 00000 n
+0000772277 00000 n
+0000772342 00000 n
+0000772407 00000 n
+0000772472 00000 n
+0000772537 00000 n
+0000772602 00000 n
+0000772667 00000 n
+0000772732 00000 n
+0000778547 00000 n
+0000775440 00000 n
+0000772973 00000 n
+0000775565 00000 n
+0000775629 00000 n
+0000775694 00000 n
+0000775759 00000 n
+0000775824 00000 n
+0000775889 00000 n
+0000775954 00000 n
+0000776019 00000 n
+0000776084 00000 n
+0000776149 00000 n
+0000776213 00000 n
+0000776278 00000 n
+0000776343 00000 n
+0000776408 00000 n
+0000776473 00000 n
+0000776538 00000 n
+0000776603 00000 n
+0000776668 00000 n
+0000776731 00000 n
+0000776796 00000 n
+0000776861 00000 n
+0000776926 00000 n
+0000776991 00000 n
+0000777056 00000 n
+0000777121 00000 n
+0000777186 00000 n
+0000777251 00000 n
+0000777315 00000 n
+0000777380 00000 n
+0000777445 00000 n
+0000777510 00000 n
+0000777575 00000 n
+0000777640 00000 n
+0000777705 00000 n
+0000777770 00000 n
+0000777835 00000 n
+0000777899 00000 n
+0000777964 00000 n
+0000778029 00000 n
+0000778093 00000 n
+0000778158 00000 n
+0000778223 00000 n
+0000778288 00000 n
+0000778353 00000 n
+0000778418 00000 n
+0000778483 00000 n
+0000783852 00000 n
+0000781522 00000 n
+0000778724 00000 n
+0000781647 00000 n
+0000781711 00000 n
+0000781776 00000 n
+0000781840 00000 n
+0000781905 00000 n
+0000781970 00000 n
+0000782035 00000 n
+0000782100 00000 n
+0000782165 00000 n
+0000782230 00000 n
+0000782295 00000 n
+0000782360 00000 n
+0000782424 00000 n
+0000782489 00000 n
+0000782554 00000 n
+0000782619 00000 n
+0000782684 00000 n
+0000782749 00000 n
+0000782814 00000 n
+0000782879 00000 n
+0000782944 00000 n
+0000783009 00000 n
+0000783074 00000 n
+0000783139 00000 n
+0000783203 00000 n
+0000783268 00000 n
+0000783333 00000 n
+0000783398 00000 n
+0000783463 00000 n
+0000783528 00000 n
+0000783593 00000 n
+0000783657 00000 n
+0000783722 00000 n
+0000783787 00000 n
+0000789037 00000 n
+0000786449 00000 n
+0000784029 00000 n
+0000786574 00000 n
+0000786638 00000 n
+0000786703 00000 n
+0000786768 00000 n
+0000786833 00000 n
+0000786898 00000 n
+0000786963 00000 n
+0000787028 00000 n
+0000787093 00000 n
+0000787158 00000 n
+0000787222 00000 n
+0000787287 00000 n
+0000787352 00000 n
+0000787417 00000 n
+0000787482 00000 n
+0000787547 00000 n
+0000787612 00000 n
+0000787677 00000 n
+0000787741 00000 n
+0000787806 00000 n
+0000787871 00000 n
+0000787936 00000 n
+0000788001 00000 n
+0000788066 00000 n
+0000788131 00000 n
0000788195 00000 n
0000788260 00000 n
0000788325 00000 n
-0000788390 00000 n
+0000788389 00000 n
0000788454 00000 n
0000788519 00000 n
0000788584 00000 n
@@ -47734,857 +47851,863 @@ xref
0000788714 00000 n
0000788779 00000 n
0000788844 00000 n
-0000788909 00000 n
-0000788974 00000 n
-0001889396 00000 n
-0000794313 00000 n
-0000792180 00000 n
-0000789276 00000 n
-0000792305 00000 n
-0000792369 00000 n
-0000792434 00000 n
-0000792498 00000 n
-0000792563 00000 n
-0000792628 00000 n
-0000792693 00000 n
-0000792758 00000 n
-0000792823 00000 n
-0000792888 00000 n
-0000792953 00000 n
-0000793018 00000 n
-0000793081 00000 n
-0000793146 00000 n
-0000793211 00000 n
-0000793276 00000 n
-0000793341 00000 n
-0000793406 00000 n
-0000793471 00000 n
-0000793536 00000 n
-0000793601 00000 n
-0000793666 00000 n
-0000793731 00000 n
-0000793795 00000 n
-0000793860 00000 n
-0000793925 00000 n
-0000793990 00000 n
-0000794055 00000 n
-0000794120 00000 n
-0000794185 00000 n
-0000794249 00000 n
-0000800179 00000 n
-0000797461 00000 n
-0000794568 00000 n
-0000797586 00000 n
-0000797650 00000 n
-0000797715 00000 n
-0000797780 00000 n
-0000797845 00000 n
-0000797910 00000 n
-0000797975 00000 n
-0000798040 00000 n
-0000798105 00000 n
-0000798170 00000 n
-0000798234 00000 n
-0000798299 00000 n
-0000798364 00000 n
-0000798429 00000 n
-0000798494 00000 n
-0000798559 00000 n
-0000798624 00000 n
-0000798689 00000 n
-0000798753 00000 n
-0000798818 00000 n
-0000798883 00000 n
-0000798948 00000 n
-0000799013 00000 n
-0000799078 00000 n
-0000799143 00000 n
-0000799208 00000 n
-0000799273 00000 n
-0000799337 00000 n
-0000799402 00000 n
-0000799467 00000 n
-0000799532 00000 n
-0000799597 00000 n
-0000799662 00000 n
-0000799727 00000 n
-0000799791 00000 n
-0000799856 00000 n
-0000799921 00000 n
-0000799986 00000 n
-0000800051 00000 n
-0000800115 00000 n
-0000806061 00000 n
-0000802565 00000 n
-0000800369 00000 n
-0000802690 00000 n
-0000802754 00000 n
-0000802819 00000 n
-0000802884 00000 n
-0000802949 00000 n
-0000803014 00000 n
-0000803079 00000 n
-0000803144 00000 n
-0000803207 00000 n
-0000803272 00000 n
-0000803337 00000 n
-0000803402 00000 n
-0000803467 00000 n
-0000803532 00000 n
-0000803597 00000 n
-0000803662 00000 n
-0000803727 00000 n
-0000803792 00000 n
-0000803857 00000 n
-0000803922 00000 n
-0000803987 00000 n
-0000804052 00000 n
-0000804117 00000 n
-0000804182 00000 n
-0000804247 00000 n
-0000804311 00000 n
-0000804376 00000 n
-0000804441 00000 n
-0000804506 00000 n
-0000804571 00000 n
-0000804636 00000 n
-0000804701 00000 n
-0000804766 00000 n
-0000804831 00000 n
-0000804895 00000 n
-0000804960 00000 n
-0000805025 00000 n
-0000805090 00000 n
-0000805155 00000 n
-0000805219 00000 n
-0000805284 00000 n
-0000805349 00000 n
-0000805414 00000 n
-0000805479 00000 n
-0000805544 00000 n
-0000805609 00000 n
-0000805674 00000 n
-0000805739 00000 n
-0000805803 00000 n
-0000805868 00000 n
-0000805933 00000 n
-0000805997 00000 n
-0000812080 00000 n
-0000808062 00000 n
-0000806225 00000 n
-0000808187 00000 n
-0000808251 00000 n
-0000808316 00000 n
-0000808381 00000 n
-0000808446 00000 n
-0000808511 00000 n
-0000808576 00000 n
-0000808641 00000 n
-0000808706 00000 n
-0000808771 00000 n
-0000808836 00000 n
-0000808901 00000 n
-0000808966 00000 n
-0000809031 00000 n
-0000809096 00000 n
-0000809161 00000 n
-0000809226 00000 n
-0000809290 00000 n
-0000809355 00000 n
-0000809420 00000 n
-0000809485 00000 n
-0000809550 00000 n
-0000809615 00000 n
-0000809680 00000 n
-0000809745 00000 n
-0000809810 00000 n
-0000809874 00000 n
-0000809939 00000 n
-0000810004 00000 n
-0000810069 00000 n
-0000810134 00000 n
-0000810199 00000 n
-0000810264 00000 n
-0000810329 00000 n
-0000810394 00000 n
-0000810458 00000 n
-0000810523 00000 n
-0000810588 00000 n
-0000810653 00000 n
-0000810718 00000 n
-0000810783 00000 n
-0000810848 00000 n
-0000810913 00000 n
-0000810978 00000 n
-0000811043 00000 n
-0000811108 00000 n
-0000811173 00000 n
-0000811238 00000 n
-0000811303 00000 n
-0000811368 00000 n
-0000811433 00000 n
-0000811498 00000 n
-0000811563 00000 n
-0000811628 00000 n
-0000811692 00000 n
-0000811757 00000 n
-0000811822 00000 n
-0000811887 00000 n
-0000811952 00000 n
-0000812016 00000 n
-0000817812 00000 n
-0000814246 00000 n
-0000812244 00000 n
-0000814371 00000 n
-0000814435 00000 n
-0000814500 00000 n
-0000814565 00000 n
-0000814630 00000 n
-0000814695 00000 n
-0000814760 00000 n
-0000814825 00000 n
-0000814890 00000 n
-0000814955 00000 n
-0000815019 00000 n
-0000815084 00000 n
-0000815149 00000 n
-0000815214 00000 n
-0000815279 00000 n
-0000815344 00000 n
-0000815409 00000 n
-0000815474 00000 n
-0000815539 00000 n
-0000815604 00000 n
-0000815669 00000 n
-0000815734 00000 n
-0000815799 00000 n
-0000815864 00000 n
-0000815929 00000 n
-0000815994 00000 n
-0000816058 00000 n
-0000816123 00000 n
-0000816188 00000 n
-0000816253 00000 n
-0000816318 00000 n
-0000816383 00000 n
-0000816448 00000 n
-0000816513 00000 n
-0000816578 00000 n
-0000816643 00000 n
-0000816708 00000 n
-0000816773 00000 n
-0000816838 00000 n
-0000816903 00000 n
-0000816968 00000 n
-0000817033 00000 n
-0000817098 00000 n
-0000817163 00000 n
-0000817228 00000 n
-0000817292 00000 n
-0000817357 00000 n
-0000817422 00000 n
-0000817487 00000 n
-0000817552 00000 n
-0000817617 00000 n
-0000817682 00000 n
-0000817747 00000 n
-0000823474 00000 n
-0000820494 00000 n
-0000817989 00000 n
-0000820619 00000 n
-0000820683 00000 n
-0000820748 00000 n
-0000820812 00000 n
-0000820877 00000 n
-0000820942 00000 n
-0000821007 00000 n
-0000821072 00000 n
-0000821137 00000 n
-0000821202 00000 n
-0000821267 00000 n
-0000821332 00000 n
-0000821396 00000 n
-0000821461 00000 n
-0000821526 00000 n
-0000821591 00000 n
-0000821656 00000 n
-0000821721 00000 n
-0000821786 00000 n
-0000821851 00000 n
-0000821916 00000 n
-0000821981 00000 n
-0000822046 00000 n
-0000822111 00000 n
-0000822176 00000 n
-0000822241 00000 n
-0000822306 00000 n
-0000822371 00000 n
-0000822436 00000 n
-0000822500 00000 n
-0000822565 00000 n
-0000822630 00000 n
-0000822695 00000 n
-0000822760 00000 n
-0000822825 00000 n
-0000822890 00000 n
-0000822955 00000 n
-0000823019 00000 n
-0000823084 00000 n
-0000823149 00000 n
-0000823214 00000 n
-0000823279 00000 n
-0000823344 00000 n
-0000823409 00000 n
-0000829106 00000 n
-0000825348 00000 n
-0000823664 00000 n
-0000825473 00000 n
-0000825537 00000 n
-0000825602 00000 n
-0000825667 00000 n
-0000825732 00000 n
-0000825797 00000 n
-0000825862 00000 n
-0000825927 00000 n
-0000825992 00000 n
-0000826057 00000 n
-0000826121 00000 n
-0000826186 00000 n
-0000826251 00000 n
-0000826316 00000 n
-0000826381 00000 n
-0000826446 00000 n
-0000826511 00000 n
-0000826576 00000 n
-0000826641 00000 n
-0000826706 00000 n
-0000826771 00000 n
-0000826836 00000 n
-0000826901 00000 n
-0000826966 00000 n
-0000827031 00000 n
-0000827095 00000 n
-0000827160 00000 n
-0000827225 00000 n
-0000827290 00000 n
-0000827355 00000 n
-0000827420 00000 n
-0000827485 00000 n
-0000827550 00000 n
-0000827615 00000 n
-0000827679 00000 n
-0000827744 00000 n
-0000827809 00000 n
-0000827874 00000 n
-0000827939 00000 n
-0000828004 00000 n
-0000828069 00000 n
-0000828134 00000 n
-0000828199 00000 n
-0000828263 00000 n
-0000828328 00000 n
-0000828393 00000 n
-0000828458 00000 n
-0000828523 00000 n
-0000828587 00000 n
-0000828652 00000 n
-0000828717 00000 n
-0000828782 00000 n
-0000828847 00000 n
-0000828912 00000 n
-0000828977 00000 n
-0000829042 00000 n
-0000836123 00000 n
-0000832560 00000 n
-0000829270 00000 n
-0000832685 00000 n
-0000832749 00000 n
-0000832814 00000 n
-0000832879 00000 n
-0000832944 00000 n
-0000833009 00000 n
-0000833074 00000 n
-0000833139 00000 n
-0000833204 00000 n
-0000833269 00000 n
-0000833333 00000 n
-0000833398 00000 n
-0000833463 00000 n
-0000833528 00000 n
-0000833593 00000 n
-0000833658 00000 n
-0000833723 00000 n
-0000833788 00000 n
-0000833853 00000 n
-0000833917 00000 n
-0000833982 00000 n
-0000834047 00000 n
-0000834112 00000 n
-0000834177 00000 n
-0000834242 00000 n
-0000834307 00000 n
-0000834372 00000 n
-0000834437 00000 n
-0000834500 00000 n
-0000834565 00000 n
-0000834630 00000 n
-0000834695 00000 n
-0000834760 00000 n
-0000834825 00000 n
-0000834890 00000 n
-0000834955 00000 n
-0000835020 00000 n
-0000835084 00000 n
-0000835149 00000 n
-0000835214 00000 n
-0000835279 00000 n
-0000835344 00000 n
-0000835409 00000 n
-0000835474 00000 n
-0000835539 00000 n
-0000835604 00000 n
-0000835668 00000 n
-0000835733 00000 n
-0000835798 00000 n
-0000835863 00000 n
-0000835928 00000 n
-0000835993 00000 n
-0000836058 00000 n
-0000843199 00000 n
-0000840029 00000 n
-0000836314 00000 n
-0000840154 00000 n
-0000840218 00000 n
-0000840283 00000 n
-0000840348 00000 n
-0000840412 00000 n
-0000840477 00000 n
-0000840542 00000 n
-0000840607 00000 n
-0000840672 00000 n
-0000840737 00000 n
-0000840802 00000 n
-0000840867 00000 n
-0000840932 00000 n
-0000840995 00000 n
-0000841060 00000 n
-0000841125 00000 n
-0000841190 00000 n
-0000841254 00000 n
-0000841319 00000 n
-0000841384 00000 n
-0000841449 00000 n
-0000841514 00000 n
-0000841579 00000 n
-0000841644 00000 n
-0000841709 00000 n
-0000841774 00000 n
-0000841838 00000 n
-0000841903 00000 n
-0000841968 00000 n
-0000842033 00000 n
-0000842098 00000 n
-0000842163 00000 n
-0000842228 00000 n
-0000842293 00000 n
-0000842358 00000 n
-0000842423 00000 n
-0000842487 00000 n
-0000842552 00000 n
-0000842617 00000 n
-0000842682 00000 n
-0000842747 00000 n
-0000842811 00000 n
-0000842876 00000 n
-0000842941 00000 n
-0000843006 00000 n
-0000843071 00000 n
-0000843135 00000 n
-0000848851 00000 n
-0000845418 00000 n
-0000843416 00000 n
-0000845543 00000 n
-0000845607 00000 n
-0000845672 00000 n
-0000845737 00000 n
-0000845802 00000 n
-0000845867 00000 n
-0000845932 00000 n
-0000845997 00000 n
-0000846061 00000 n
-0000846126 00000 n
-0000846191 00000 n
-0000846256 00000 n
-0000846321 00000 n
-0000846386 00000 n
-0000846451 00000 n
-0000846516 00000 n
-0000846581 00000 n
-0000846645 00000 n
-0000846710 00000 n
-0000846775 00000 n
-0000846840 00000 n
-0000846905 00000 n
-0000846970 00000 n
-0000847035 00000 n
-0000847100 00000 n
-0000847165 00000 n
-0000847230 00000 n
-0000847294 00000 n
-0000847359 00000 n
-0000847424 00000 n
-0000847489 00000 n
-0000847554 00000 n
-0000847619 00000 n
-0000847684 00000 n
-0000847749 00000 n
-0000847814 00000 n
-0000847879 00000 n
-0000847944 00000 n
-0000848009 00000 n
-0000848074 00000 n
-0000848138 00000 n
-0000848203 00000 n
-0000848268 00000 n
-0000848333 00000 n
-0000848398 00000 n
-0000848463 00000 n
-0000848528 00000 n
-0000848593 00000 n
-0000848658 00000 n
-0000848721 00000 n
-0000848786 00000 n
-0001889561 00000 n
-0000854501 00000 n
-0000851327 00000 n
-0000849028 00000 n
-0000851452 00000 n
-0000851516 00000 n
-0000851581 00000 n
-0000851646 00000 n
-0000851711 00000 n
-0000851776 00000 n
-0000851841 00000 n
-0000851906 00000 n
-0000851971 00000 n
-0000852036 00000 n
-0000852100 00000 n
-0000852165 00000 n
-0000852230 00000 n
-0000852295 00000 n
-0000852360 00000 n
-0000852425 00000 n
-0000852490 00000 n
-0000852555 00000 n
-0000852620 00000 n
-0000852685 00000 n
-0000852750 00000 n
-0000852814 00000 n
-0000852879 00000 n
-0000852944 00000 n
-0000853009 00000 n
-0000853074 00000 n
-0000853139 00000 n
-0000853204 00000 n
-0000853268 00000 n
-0000853333 00000 n
-0000853398 00000 n
-0000853463 00000 n
-0000853528 00000 n
-0000853593 00000 n
-0000853658 00000 n
-0000853723 00000 n
-0000853788 00000 n
-0000853853 00000 n
-0000853918 00000 n
-0000853983 00000 n
-0000854048 00000 n
-0000854113 00000 n
-0000854178 00000 n
-0000854243 00000 n
-0000854308 00000 n
-0000854373 00000 n
-0000854437 00000 n
-0000860341 00000 n
-0000857103 00000 n
-0000854691 00000 n
-0000857228 00000 n
-0000857292 00000 n
-0000857357 00000 n
-0000857422 00000 n
-0000857487 00000 n
-0000857552 00000 n
-0000857617 00000 n
-0000857682 00000 n
-0000857747 00000 n
-0000857812 00000 n
-0000857877 00000 n
-0000857942 00000 n
-0000858007 00000 n
-0000858072 00000 n
-0000858137 00000 n
-0000858201 00000 n
-0000858266 00000 n
-0000858331 00000 n
-0000858396 00000 n
-0000858461 00000 n
-0000858526 00000 n
-0000858591 00000 n
-0000858656 00000 n
-0000858721 00000 n
-0000858786 00000 n
-0000858851 00000 n
-0000858916 00000 n
-0000858981 00000 n
-0000859046 00000 n
-0000859111 00000 n
-0000859176 00000 n
-0000859241 00000 n
-0000859306 00000 n
-0000859370 00000 n
-0000859435 00000 n
-0000859500 00000 n
-0000859565 00000 n
-0000859630 00000 n
-0000859695 00000 n
-0000859760 00000 n
-0000859824 00000 n
-0000859889 00000 n
-0000859954 00000 n
-0000860019 00000 n
-0000860084 00000 n
-0000860148 00000 n
-0000860213 00000 n
-0000860277 00000 n
-0000865897 00000 n
-0000862918 00000 n
-0000860505 00000 n
-0000863043 00000 n
-0000863107 00000 n
-0000863172 00000 n
-0000863237 00000 n
-0000863302 00000 n
-0000863367 00000 n
-0000863432 00000 n
-0000863497 00000 n
-0000863560 00000 n
-0000863625 00000 n
-0000863690 00000 n
-0000863755 00000 n
-0000863820 00000 n
-0000863885 00000 n
-0000863950 00000 n
-0000864015 00000 n
-0000864080 00000 n
-0000864145 00000 n
-0000864210 00000 n
-0000864274 00000 n
-0000864339 00000 n
-0000864404 00000 n
-0000864469 00000 n
-0000864534 00000 n
-0000864599 00000 n
-0000864664 00000 n
-0000864729 00000 n
-0000864794 00000 n
-0000864859 00000 n
-0000864924 00000 n
-0000864989 00000 n
-0000865054 00000 n
-0000865119 00000 n
-0000865184 00000 n
-0000865249 00000 n
-0000865313 00000 n
-0000865378 00000 n
-0000865443 00000 n
-0000865508 00000 n
-0000865573 00000 n
-0000865638 00000 n
-0000865703 00000 n
-0000865768 00000 n
-0000865833 00000 n
-0000871920 00000 n
-0000868228 00000 n
-0000866087 00000 n
-0000868353 00000 n
-0000868417 00000 n
-0000868482 00000 n
-0000868547 00000 n
-0000868612 00000 n
-0000868677 00000 n
-0000868742 00000 n
-0000868807 00000 n
-0000868872 00000 n
-0000868937 00000 n
-0000869001 00000 n
-0000869066 00000 n
-0000869131 00000 n
-0000869196 00000 n
-0000869261 00000 n
-0000869326 00000 n
-0000869391 00000 n
-0000869456 00000 n
-0000869521 00000 n
-0000869585 00000 n
-0000869650 00000 n
-0000869715 00000 n
-0000869780 00000 n
-0000869845 00000 n
-0000869910 00000 n
-0000869974 00000 n
-0000870039 00000 n
-0000870104 00000 n
-0000870169 00000 n
-0000870234 00000 n
-0000870299 00000 n
-0000870364 00000 n
-0000870428 00000 n
-0000870493 00000 n
-0000870558 00000 n
-0000870623 00000 n
-0000870688 00000 n
-0000870753 00000 n
-0000870818 00000 n
-0000870883 00000 n
-0000870948 00000 n
-0000871013 00000 n
-0000871078 00000 n
-0000871143 00000 n
-0000871208 00000 n
-0000871273 00000 n
-0000871338 00000 n
-0000871403 00000 n
-0000871468 00000 n
-0000871532 00000 n
-0000871597 00000 n
-0000871662 00000 n
-0000871727 00000 n
-0000871792 00000 n
-0000871856 00000 n
-0000877023 00000 n
-0000873721 00000 n
-0000872097 00000 n
-0000873846 00000 n
-0000873910 00000 n
-0000873975 00000 n
-0000874040 00000 n
-0000874105 00000 n
-0000874170 00000 n
-0000874235 00000 n
-0000874300 00000 n
-0000874365 00000 n
-0000874430 00000 n
-0000874495 00000 n
-0000874560 00000 n
-0000874625 00000 n
-0000874690 00000 n
-0000874755 00000 n
-0000874820 00000 n
-0000874885 00000 n
-0000874950 00000 n
-0000875014 00000 n
-0000875079 00000 n
-0000875144 00000 n
-0000875209 00000 n
-0000875274 00000 n
-0000875339 00000 n
-0000875404 00000 n
-0000875469 00000 n
-0000875534 00000 n
-0000875598 00000 n
-0000875663 00000 n
-0000875728 00000 n
-0000875793 00000 n
-0000875858 00000 n
-0000875923 00000 n
-0000875988 00000 n
-0000876053 00000 n
-0000876118 00000 n
-0000876183 00000 n
-0000876247 00000 n
-0000876312 00000 n
-0000876377 00000 n
-0000876442 00000 n
-0000876507 00000 n
-0000876572 00000 n
-0000876637 00000 n
-0000876702 00000 n
-0000876829 00000 n
-0000876894 00000 n
-0000876959 00000 n
-0000882471 00000 n
-0000879753 00000 n
-0000877200 00000 n
-0000879878 00000 n
-0000879942 00000 n
-0000880007 00000 n
-0000880072 00000 n
-0000880137 00000 n
-0000880202 00000 n
-0000880267 00000 n
-0000880332 00000 n
-0000880397 00000 n
-0000880462 00000 n
-0000880526 00000 n
-0000880591 00000 n
-0000880656 00000 n
-0000880721 00000 n
-0000880786 00000 n
-0000880851 00000 n
-0000880916 00000 n
-0000880981 00000 n
-0000881046 00000 n
-0000881111 00000 n
-0000881176 00000 n
-0000881241 00000 n
-0000881306 00000 n
-0000881371 00000 n
-0000881435 00000 n
-0000881500 00000 n
-0000881565 00000 n
-0000881630 00000 n
-0000881694 00000 n
-0000881759 00000 n
-0000881824 00000 n
-0000881889 00000 n
-0000881954 00000 n
-0000882019 00000 n
-0000882084 00000 n
-0000882149 00000 n
-0000882214 00000 n
-0000882278 00000 n
-0000882343 00000 n
-0000882407 00000 n
-0000888247 00000 n
-0000884554 00000 n
-0000882661 00000 n
-0000884679 00000 n
-0000884743 00000 n
-0000884808 00000 n
-0000884873 00000 n
-0000884938 00000 n
-0000885003 00000 n
-0000885068 00000 n
-0000885133 00000 n
-0000885198 00000 n
-0000885263 00000 n
-0000885328 00000 n
-0000885393 00000 n
-0000885457 00000 n
-0000885522 00000 n
-0000885587 00000 n
-0000885652 00000 n
-0000885717 00000 n
-0000885782 00000 n
+0000788907 00000 n
+0000788972 00000 n
+0001893646 00000 n
+0000794255 00000 n
+0000791604 00000 n
+0000789227 00000 n
+0000791729 00000 n
+0000791793 00000 n
+0000791858 00000 n
+0000791923 00000 n
+0000791988 00000 n
+0000792053 00000 n
+0000792118 00000 n
+0000792183 00000 n
+0000792248 00000 n
+0000792313 00000 n
+0000792377 00000 n
+0000792442 00000 n
+0000792507 00000 n
+0000792572 00000 n
+0000792637 00000 n
+0000792702 00000 n
+0000792767 00000 n
+0000792832 00000 n
+0000792959 00000 n
+0000793024 00000 n
+0000793087 00000 n
+0000793152 00000 n
+0000793217 00000 n
+0000793282 00000 n
+0000793347 00000 n
+0000793412 00000 n
+0000793477 00000 n
+0000793542 00000 n
+0000793607 00000 n
+0000793672 00000 n
+0000793737 00000 n
+0000793802 00000 n
+0000793867 00000 n
+0000793932 00000 n
+0000793997 00000 n
+0000794062 00000 n
+0000794127 00000 n
+0000794191 00000 n
+0000800042 00000 n
+0000797516 00000 n
+0000794471 00000 n
+0000797641 00000 n
+0000797705 00000 n
+0000797770 00000 n
+0000797835 00000 n
+0000797900 00000 n
+0000797965 00000 n
+0000798030 00000 n
+0000798095 00000 n
+0000798160 00000 n
+0000798225 00000 n
+0000798290 00000 n
+0000798355 00000 n
+0000798420 00000 n
+0000798485 00000 n
+0000798550 00000 n
+0000798614 00000 n
+0000798679 00000 n
+0000798744 00000 n
+0000798809 00000 n
+0000798874 00000 n
+0000798939 00000 n
+0000799004 00000 n
+0000799069 00000 n
+0000799134 00000 n
+0000799199 00000 n
+0000799264 00000 n
+0000799329 00000 n
+0000799394 00000 n
+0000799459 00000 n
+0000799524 00000 n
+0000799589 00000 n
+0000799654 00000 n
+0000799719 00000 n
+0000799784 00000 n
+0000799849 00000 n
+0000799914 00000 n
+0000799978 00000 n
+0000805806 00000 n
+0000802827 00000 n
+0000800271 00000 n
+0000802952 00000 n
+0000803016 00000 n
+0000803081 00000 n
+0000803146 00000 n
+0000803211 00000 n
+0000803276 00000 n
+0000803341 00000 n
+0000803406 00000 n
+0000803471 00000 n
+0000803536 00000 n
+0000803601 00000 n
+0000803666 00000 n
+0000803731 00000 n
+0000803796 00000 n
+0000803861 00000 n
+0000803926 00000 n
+0000803991 00000 n
+0000804056 00000 n
+0000804121 00000 n
+0000804186 00000 n
+0000804250 00000 n
+0000804315 00000 n
+0000804380 00000 n
+0000804445 00000 n
+0000804510 00000 n
+0000804575 00000 n
+0000804640 00000 n
+0000804705 00000 n
+0000804770 00000 n
+0000804835 00000 n
+0000804900 00000 n
+0000804965 00000 n
+0000805030 00000 n
+0000805095 00000 n
+0000805160 00000 n
+0000805224 00000 n
+0000805289 00000 n
+0000805354 00000 n
+0000805419 00000 n
+0000805484 00000 n
+0000805549 00000 n
+0000805614 00000 n
+0000805679 00000 n
+0000805743 00000 n
+0000811580 00000 n
+0000807694 00000 n
+0000805996 00000 n
+0000807819 00000 n
+0000807883 00000 n
+0000807948 00000 n
+0000808013 00000 n
+0000808078 00000 n
+0000808143 00000 n
+0000808208 00000 n
+0000808273 00000 n
+0000808338 00000 n
+0000808403 00000 n
+0000808468 00000 n
+0000808533 00000 n
+0000808598 00000 n
+0000808663 00000 n
+0000808726 00000 n
+0000808791 00000 n
+0000808856 00000 n
+0000808921 00000 n
+0000808986 00000 n
+0000809051 00000 n
+0000809116 00000 n
+0000809181 00000 n
+0000809246 00000 n
+0000809311 00000 n
+0000809376 00000 n
+0000809441 00000 n
+0000809506 00000 n
+0000809571 00000 n
+0000809636 00000 n
+0000809701 00000 n
+0000809766 00000 n
+0000809830 00000 n
+0000809895 00000 n
+0000809960 00000 n
+0000810025 00000 n
+0000810090 00000 n
+0000810155 00000 n
+0000810220 00000 n
+0000810285 00000 n
+0000810350 00000 n
+0000810414 00000 n
+0000810479 00000 n
+0000810544 00000 n
+0000810609 00000 n
+0000810674 00000 n
+0000810739 00000 n
+0000810804 00000 n
+0000810869 00000 n
+0000810934 00000 n
+0000810998 00000 n
+0000811063 00000 n
+0000811128 00000 n
+0000811193 00000 n
+0000811258 00000 n
+0000811323 00000 n
+0000811388 00000 n
+0000811453 00000 n
+0000811517 00000 n
+0000817504 00000 n
+0000813554 00000 n
+0000811744 00000 n
+0000813679 00000 n
+0000813743 00000 n
+0000813808 00000 n
+0000813873 00000 n
+0000813938 00000 n
+0000814003 00000 n
+0000814068 00000 n
+0000814133 00000 n
+0000814198 00000 n
+0000814263 00000 n
+0000814327 00000 n
+0000814392 00000 n
+0000814457 00000 n
+0000814522 00000 n
+0000814587 00000 n
+0000814652 00000 n
+0000814717 00000 n
+0000814782 00000 n
+0000814847 00000 n
+0000814911 00000 n
+0000814976 00000 n
+0000815041 00000 n
+0000815106 00000 n
+0000815171 00000 n
+0000815236 00000 n
+0000815301 00000 n
+0000815366 00000 n
+0000815431 00000 n
+0000815494 00000 n
+0000815559 00000 n
+0000815624 00000 n
+0000815689 00000 n
+0000815754 00000 n
+0000815819 00000 n
+0000815884 00000 n
+0000815949 00000 n
+0000816014 00000 n
+0000816078 00000 n
+0000816143 00000 n
+0000816208 00000 n
+0000816273 00000 n
+0000816338 00000 n
+0000816403 00000 n
+0000816468 00000 n
+0000816532 00000 n
+0000816597 00000 n
+0000816662 00000 n
+0000816727 00000 n
+0000816792 00000 n
+0000816857 00000 n
+0000816922 00000 n
+0000816987 00000 n
+0000817052 00000 n
+0000817116 00000 n
+0000817181 00000 n
+0000817246 00000 n
+0000817311 00000 n
+0000817376 00000 n
+0000817440 00000 n
+0000823114 00000 n
+0000820004 00000 n
+0000817668 00000 n
+0000820129 00000 n
+0000820193 00000 n
+0000820258 00000 n
+0000820323 00000 n
+0000820388 00000 n
+0000820453 00000 n
+0000820518 00000 n
+0000820583 00000 n
+0000820647 00000 n
+0000820712 00000 n
+0000820777 00000 n
+0000820842 00000 n
+0000820907 00000 n
+0000820972 00000 n
+0000821037 00000 n
+0000821102 00000 n
+0000821167 00000 n
+0000821231 00000 n
+0000821296 00000 n
+0000821361 00000 n
+0000821425 00000 n
+0000821490 00000 n
+0000821555 00000 n
+0000821620 00000 n
+0000821685 00000 n
+0000821750 00000 n
+0000821815 00000 n
+0000821880 00000 n
+0000821945 00000 n
+0000822009 00000 n
+0000822074 00000 n
+0000822139 00000 n
+0000822204 00000 n
+0000822269 00000 n
+0000822334 00000 n
+0000822399 00000 n
+0000822464 00000 n
+0000822529 00000 n
+0000822594 00000 n
+0000822659 00000 n
+0000822724 00000 n
+0000822789 00000 n
+0000822854 00000 n
+0000822919 00000 n
+0000822984 00000 n
+0000823049 00000 n
+0000829100 00000 n
+0000825541 00000 n
+0000823317 00000 n
+0000825666 00000 n
+0000825730 00000 n
+0000825795 00000 n
+0000825859 00000 n
+0000825924 00000 n
+0000825989 00000 n
+0000826054 00000 n
+0000826119 00000 n
+0000826184 00000 n
+0000826249 00000 n
+0000826314 00000 n
+0000826377 00000 n
+0000826442 00000 n
+0000826507 00000 n
+0000826572 00000 n
+0000826637 00000 n
+0000826702 00000 n
+0000826767 00000 n
+0000826830 00000 n
+0000826895 00000 n
+0000826960 00000 n
+0000827025 00000 n
+0000827090 00000 n
+0000827155 00000 n
+0000827220 00000 n
+0000827285 00000 n
+0000827350 00000 n
+0000827414 00000 n
+0000827479 00000 n
+0000827544 00000 n
+0000827609 00000 n
+0000827674 00000 n
+0000827739 00000 n
+0000827804 00000 n
+0000827869 00000 n
+0000827934 00000 n
+0000827999 00000 n
+0000828064 00000 n
+0000828129 00000 n
+0000828194 00000 n
+0000828259 00000 n
+0000828323 00000 n
+0000828388 00000 n
+0000828453 00000 n
+0000828518 00000 n
+0000828583 00000 n
+0000828648 00000 n
+0000828713 00000 n
+0000828778 00000 n
+0000828843 00000 n
+0000828907 00000 n
+0000828972 00000 n
+0000829036 00000 n
+0000835067 00000 n
+0000831050 00000 n
+0000829264 00000 n
+0000831175 00000 n
+0000831239 00000 n
+0000831304 00000 n
+0000831369 00000 n
+0000831434 00000 n
+0000831499 00000 n
+0000831564 00000 n
+0000831629 00000 n
+0000831693 00000 n
+0000831758 00000 n
+0000831823 00000 n
+0000831888 00000 n
+0000831953 00000 n
+0000832018 00000 n
+0000832083 00000 n
+0000832148 00000 n
+0000832213 00000 n
+0000832277 00000 n
+0000832342 00000 n
+0000832407 00000 n
+0000832472 00000 n
+0000832537 00000 n
+0000832602 00000 n
+0000832667 00000 n
+0000832732 00000 n
+0000832797 00000 n
+0000832861 00000 n
+0000832926 00000 n
+0000832991 00000 n
+0000833056 00000 n
+0000833121 00000 n
+0000833186 00000 n
+0000833251 00000 n
+0000833316 00000 n
+0000833381 00000 n
+0000833445 00000 n
+0000833510 00000 n
+0000833575 00000 n
+0000833640 00000 n
+0000833705 00000 n
+0000833770 00000 n
+0000833835 00000 n
+0000833900 00000 n
+0000833965 00000 n
+0000834030 00000 n
+0000834095 00000 n
+0000834160 00000 n
+0000834225 00000 n
+0000834290 00000 n
+0000834355 00000 n
+0000834420 00000 n
+0000834485 00000 n
+0000834550 00000 n
+0000834615 00000 n
+0000834679 00000 n
+0000834744 00000 n
+0000834809 00000 n
+0000834874 00000 n
+0000834939 00000 n
+0000835003 00000 n
+0000842785 00000 n
+0000839937 00000 n
+0000835231 00000 n
+0000840062 00000 n
+0000840126 00000 n
+0000840191 00000 n
+0000840256 00000 n
+0000840321 00000 n
+0000840386 00000 n
+0000840451 00000 n
+0000840516 00000 n
+0000840581 00000 n
+0000840646 00000 n
+0000840710 00000 n
+0000840775 00000 n
+0000840840 00000 n
+0000840905 00000 n
+0000840970 00000 n
+0000841035 00000 n
+0000841100 00000 n
+0000841165 00000 n
+0000841230 00000 n
+0000841295 00000 n
+0000841360 00000 n
+0000841425 00000 n
+0000841490 00000 n
+0000841555 00000 n
+0000841620 00000 n
+0000841683 00000 n
+0000841748 00000 n
+0000841813 00000 n
+0000841878 00000 n
+0000841943 00000 n
+0000842008 00000 n
+0000842073 00000 n
+0000842138 00000 n
+0000842203 00000 n
+0000842268 00000 n
+0000842333 00000 n
+0000842397 00000 n
+0000842462 00000 n
+0000842527 00000 n
+0000842592 00000 n
+0000842657 00000 n
+0000842721 00000 n
+0000848733 00000 n
+0000845494 00000 n
+0000842989 00000 n
+0000845619 00000 n
+0000845683 00000 n
+0000845748 00000 n
+0000845813 00000 n
+0000845878 00000 n
+0000845943 00000 n
+0000846008 00000 n
+0000846073 00000 n
+0000846138 00000 n
+0000846203 00000 n
+0000846268 00000 n
+0000846333 00000 n
+0000846398 00000 n
+0000846463 00000 n
+0000846528 00000 n
+0000846592 00000 n
+0000846657 00000 n
+0000846722 00000 n
+0000846787 00000 n
+0000846852 00000 n
+0000846917 00000 n
+0000846982 00000 n
+0000847047 00000 n
+0000847112 00000 n
+0000847177 00000 n
+0000847242 00000 n
+0000847307 00000 n
+0000847372 00000 n
+0000847437 00000 n
+0000847502 00000 n
+0000847567 00000 n
+0000847632 00000 n
+0000847696 00000 n
+0000847761 00000 n
+0000847826 00000 n
+0000847891 00000 n
+0000847956 00000 n
+0000848021 00000 n
+0000848086 00000 n
+0000848151 00000 n
+0000848216 00000 n
+0000848281 00000 n
+0000848345 00000 n
+0000848410 00000 n
+0000848475 00000 n
+0000848540 00000 n
+0000848605 00000 n
+0000848669 00000 n
+0001893811 00000 n
+0000854276 00000 n
+0000851103 00000 n
+0000848923 00000 n
+0000851228 00000 n
+0000851292 00000 n
+0000851357 00000 n
+0000851422 00000 n
+0000851487 00000 n
+0000851552 00000 n
+0000851617 00000 n
+0000851682 00000 n
+0000851747 00000 n
+0000851812 00000 n
+0000851877 00000 n
+0000851942 00000 n
+0000852006 00000 n
+0000852071 00000 n
+0000852136 00000 n
+0000852201 00000 n
+0000852266 00000 n
+0000852331 00000 n
+0000852396 00000 n
+0000852461 00000 n
+0000852526 00000 n
+0000852591 00000 n
+0000852656 00000 n
+0000852721 00000 n
+0000852786 00000 n
+0000852851 00000 n
+0000852916 00000 n
+0000852980 00000 n
+0000853044 00000 n
+0000853109 00000 n
+0000853174 00000 n
+0000853239 00000 n
+0000853304 00000 n
+0000853369 00000 n
+0000853434 00000 n
+0000853499 00000 n
+0000853564 00000 n
+0000853629 00000 n
+0000853693 00000 n
+0000853758 00000 n
+0000853823 00000 n
+0000853888 00000 n
+0000853953 00000 n
+0000854018 00000 n
+0000854083 00000 n
+0000854148 00000 n
+0000854212 00000 n
+0000860285 00000 n
+0000856788 00000 n
+0000854466 00000 n
+0000856913 00000 n
+0000856977 00000 n
+0000857042 00000 n
+0000857106 00000 n
+0000857171 00000 n
+0000857236 00000 n
+0000857301 00000 n
+0000857366 00000 n
+0000857431 00000 n
+0000857496 00000 n
+0000857561 00000 n
+0000857626 00000 n
+0000857691 00000 n
+0000857754 00000 n
+0000857819 00000 n
+0000857884 00000 n
+0000857949 00000 n
+0000858014 00000 n
+0000858079 00000 n
+0000858144 00000 n
+0000858209 00000 n
+0000858274 00000 n
+0000858339 00000 n
+0000858404 00000 n
+0000858469 00000 n
+0000858534 00000 n
+0000858599 00000 n
+0000858664 00000 n
+0000858728 00000 n
+0000858793 00000 n
+0000858858 00000 n
+0000858923 00000 n
+0000858988 00000 n
+0000859053 00000 n
+0000859118 00000 n
+0000859183 00000 n
+0000859248 00000 n
+0000859313 00000 n
+0000859378 00000 n
+0000859443 00000 n
+0000859508 00000 n
+0000859573 00000 n
+0000859638 00000 n
+0000859703 00000 n
+0000859768 00000 n
+0000859833 00000 n
+0000859897 00000 n
+0000859962 00000 n
+0000860027 00000 n
+0000860092 00000 n
+0000860157 00000 n
+0000860221 00000 n
+0000865845 00000 n
+0000862998 00000 n
+0000860449 00000 n
+0000863123 00000 n
+0000863187 00000 n
+0000863252 00000 n
+0000863317 00000 n
+0000863382 00000 n
+0000863447 00000 n
+0000863512 00000 n
+0000863577 00000 n
+0000863641 00000 n
+0000863706 00000 n
+0000863771 00000 n
+0000863836 00000 n
+0000863901 00000 n
+0000863965 00000 n
+0000864030 00000 n
+0000864095 00000 n
+0000864160 00000 n
+0000864225 00000 n
+0000864290 00000 n
+0000864355 00000 n
+0000864420 00000 n
+0000864485 00000 n
+0000864550 00000 n
+0000864615 00000 n
+0000864680 00000 n
+0000864745 00000 n
+0000864809 00000 n
+0000864874 00000 n
+0000864939 00000 n
+0000865004 00000 n
+0000865069 00000 n
+0000865133 00000 n
+0000865198 00000 n
+0000865263 00000 n
+0000865328 00000 n
+0000865393 00000 n
+0000865458 00000 n
+0000865523 00000 n
+0000865588 00000 n
+0000865653 00000 n
+0000865717 00000 n
+0000865781 00000 n
+0000871819 00000 n
+0000867933 00000 n
+0000866022 00000 n
+0000868058 00000 n
+0000868122 00000 n
+0000868187 00000 n
+0000868251 00000 n
+0000868316 00000 n
+0000868381 00000 n
+0000868446 00000 n
+0000868511 00000 n
+0000868576 00000 n
+0000868641 00000 n
+0000868706 00000 n
+0000868771 00000 n
+0000868835 00000 n
+0000868900 00000 n
+0000868965 00000 n
+0000869030 00000 n
+0000869095 00000 n
+0000869160 00000 n
+0000869225 00000 n
+0000869290 00000 n
+0000869355 00000 n
+0000869420 00000 n
+0000869485 00000 n
+0000869550 00000 n
+0000869615 00000 n
+0000869680 00000 n
+0000869745 00000 n
+0000869810 00000 n
+0000869875 00000 n
+0000869940 00000 n
+0000870005 00000 n
+0000870070 00000 n
+0000870134 00000 n
+0000870199 00000 n
+0000870264 00000 n
+0000870329 00000 n
+0000870394 00000 n
+0000870459 00000 n
+0000870524 00000 n
+0000870589 00000 n
+0000870654 00000 n
+0000870719 00000 n
+0000870783 00000 n
+0000870848 00000 n
+0000870913 00000 n
+0000870978 00000 n
+0000871043 00000 n
+0000871107 00000 n
+0000871172 00000 n
+0000871237 00000 n
+0000871302 00000 n
+0000871367 00000 n
+0000871432 00000 n
+0000871497 00000 n
+0000871562 00000 n
+0000871627 00000 n
+0000871691 00000 n
+0000871755 00000 n
+0000877523 00000 n
+0000873767 00000 n
+0000871996 00000 n
+0000873892 00000 n
+0000873956 00000 n
+0000874021 00000 n
+0000874085 00000 n
+0000874150 00000 n
+0000874215 00000 n
+0000874280 00000 n
+0000874345 00000 n
+0000874410 00000 n
+0000874475 00000 n
+0000874540 00000 n
+0000874605 00000 n
+0000874669 00000 n
+0000874734 00000 n
+0000874799 00000 n
+0000874864 00000 n
+0000874929 00000 n
+0000874994 00000 n
+0000875059 00000 n
+0000875124 00000 n
+0000875189 00000 n
+0000875254 00000 n
+0000875319 00000 n
+0000875384 00000 n
+0000875449 00000 n
+0000875514 00000 n
+0000875579 00000 n
+0000875644 00000 n
+0000875709 00000 n
+0000875774 00000 n
+0000875839 00000 n
+0000875904 00000 n
+0000875969 00000 n
+0000876034 00000 n
+0000876098 00000 n
+0000876163 00000 n
+0000876228 00000 n
+0000876293 00000 n
+0000876358 00000 n
+0000876423 00000 n
+0000876488 00000 n
+0000876553 00000 n
+0000876618 00000 n
+0000876681 00000 n
+0000876746 00000 n
+0000876811 00000 n
+0000876876 00000 n
+0000876941 00000 n
+0000877006 00000 n
+0000877071 00000 n
+0000877136 00000 n
+0000877201 00000 n
+0000877266 00000 n
+0000877330 00000 n
+0000877395 00000 n
+0000877459 00000 n
+0000882355 00000 n
+0000880031 00000 n
+0000877700 00000 n
+0000880156 00000 n
+0000880220 00000 n
+0000880285 00000 n
+0000880350 00000 n
+0000880476 00000 n
+0000880541 00000 n
+0000880606 00000 n
+0000880671 00000 n
+0000880736 00000 n
+0000880799 00000 n
+0000880864 00000 n
+0000880929 00000 n
+0000880994 00000 n
+0000881059 00000 n
+0000881124 00000 n
+0000881189 00000 n
+0000881254 00000 n
+0000881319 00000 n
+0000881383 00000 n
+0000881448 00000 n
+0000881513 00000 n
+0000881578 00000 n
+0000881643 00000 n
+0000881708 00000 n
+0000881773 00000 n
+0000881838 00000 n
+0000881903 00000 n
+0000881968 00000 n
+0000882033 00000 n
+0000882097 00000 n
+0000882162 00000 n
+0000882227 00000 n
+0000882291 00000 n
+0000888052 00000 n
+0000884426 00000 n
+0000882545 00000 n
+0000884551 00000 n
+0000884615 00000 n
+0000884680 00000 n
+0000884745 00000 n
+0000884810 00000 n
+0000884875 00000 n
+0000884940 00000 n
+0000885005 00000 n
+0000885069 00000 n
+0000885134 00000 n
+0000885199 00000 n
+0000885264 00000 n
+0000885329 00000 n
+0000885394 00000 n
+0000885459 00000 n
+0000885524 00000 n
+0000885589 00000 n
+0000885653 00000 n
+0000885718 00000 n
+0000885783 00000 n
0000885847 00000 n
0000885912 00000 n
0000885977 00000 n
-0000886041 00000 n
-0000886106 00000 n
-0000886171 00000 n
-0000886236 00000 n
-0000886301 00000 n
-0000886366 00000 n
+0000886042 00000 n
+0000886107 00000 n
+0000886172 00000 n
+0000886237 00000 n
+0000886302 00000 n
+0000886367 00000 n
0000886431 00000 n
0000886496 00000 n
0000886561 00000 n
@@ -48593,12 +48716,12 @@ xref
0000886756 00000 n
0000886821 00000 n
0000886886 00000 n
-0000886950 00000 n
-0000887015 00000 n
-0000887080 00000 n
-0000887145 00000 n
-0000887210 00000 n
-0000887275 00000 n
+0000886951 00000 n
+0000887016 00000 n
+0000887081 00000 n
+0000887146 00000 n
+0000887211 00000 n
+0000887276 00000 n
0000887340 00000 n
0000887405 00000 n
0000887470 00000 n
@@ -48608,2163 +48731,2167 @@ xref
0000887730 00000 n
0000887795 00000 n
0000887860 00000 n
-0000887925 00000 n
-0000887990 00000 n
-0000888054 00000 n
-0000888119 00000 n
-0000888183 00000 n
-0000893478 00000 n
-0000890306 00000 n
-0000888424 00000 n
-0000890431 00000 n
-0000890495 00000 n
-0000890560 00000 n
-0000890625 00000 n
-0000890690 00000 n
-0000890755 00000 n
-0000890820 00000 n
-0000890885 00000 n
-0000890950 00000 n
-0000891015 00000 n
-0000891080 00000 n
-0000891145 00000 n
-0000891209 00000 n
-0000891274 00000 n
-0000891339 00000 n
-0000891404 00000 n
-0000891469 00000 n
-0000891597 00000 n
-0000891662 00000 n
-0000891727 00000 n
-0000891792 00000 n
-0000891857 00000 n
-0000891921 00000 n
-0000891986 00000 n
-0000892051 00000 n
-0000892116 00000 n
-0000892181 00000 n
-0000892246 00000 n
-0000892310 00000 n
-0000892375 00000 n
-0000892440 00000 n
-0000892505 00000 n
-0000892570 00000 n
-0000892635 00000 n
-0000892700 00000 n
-0000892765 00000 n
-0000892830 00000 n
-0000892894 00000 n
-0000892959 00000 n
-0000893024 00000 n
-0000893089 00000 n
-0000893154 00000 n
-0000893219 00000 n
-0000893284 00000 n
-0000893349 00000 n
-0000893414 00000 n
-0000898623 00000 n
-0000896425 00000 n
-0000893655 00000 n
-0000896550 00000 n
-0000896614 00000 n
-0000896679 00000 n
-0000896744 00000 n
-0000896809 00000 n
-0000896874 00000 n
-0000896939 00000 n
-0000897004 00000 n
-0000897068 00000 n
-0000897133 00000 n
-0000897198 00000 n
-0000897263 00000 n
-0000897328 00000 n
-0000897393 00000 n
-0000897458 00000 n
-0000897523 00000 n
-0000897588 00000 n
-0000897653 00000 n
-0000897718 00000 n
-0000897845 00000 n
-0000897910 00000 n
-0000897974 00000 n
-0000898039 00000 n
-0000898104 00000 n
-0000898169 00000 n
-0000898234 00000 n
-0000898299 00000 n
-0000898364 00000 n
-0000898429 00000 n
-0000898493 00000 n
-0000898558 00000 n
-0000904441 00000 n
-0000901204 00000 n
-0000898839 00000 n
-0000901329 00000 n
-0000901393 00000 n
-0000901458 00000 n
-0000901522 00000 n
-0000901587 00000 n
-0000901652 00000 n
-0000901717 00000 n
-0000901782 00000 n
-0000901847 00000 n
-0000901912 00000 n
-0000901977 00000 n
-0000902042 00000 n
-0000902106 00000 n
-0000902171 00000 n
-0000902236 00000 n
-0000902301 00000 n
-0000902366 00000 n
-0000902431 00000 n
-0000902496 00000 n
-0000902561 00000 n
-0000902626 00000 n
-0000902691 00000 n
-0000902756 00000 n
-0000902821 00000 n
-0000902886 00000 n
-0000902951 00000 n
-0000903016 00000 n
-0000903081 00000 n
-0000903145 00000 n
-0000903210 00000 n
-0000903275 00000 n
-0000903340 00000 n
-0000903405 00000 n
-0000903470 00000 n
-0000903535 00000 n
-0000903599 00000 n
-0000903664 00000 n
-0000903729 00000 n
-0000903794 00000 n
-0000903859 00000 n
-0000903924 00000 n
-0000903989 00000 n
-0000904054 00000 n
-0000904119 00000 n
-0000904183 00000 n
-0000904248 00000 n
-0000904313 00000 n
-0000904377 00000 n
-0001889726 00000 n
-0000906823 00000 n
-0000909962 00000 n
-0000906650 00000 n
-0000904631 00000 n
-0000906980 00000 n
-0000907044 00000 n
-0000907109 00000 n
-0000907174 00000 n
-0000907239 00000 n
-0000907304 00000 n
-0000907369 00000 n
-0000907434 00000 n
-0000907499 00000 n
-0000907564 00000 n
-0000907628 00000 n
-0000907693 00000 n
-0000907758 00000 n
-0000907823 00000 n
-0000907888 00000 n
-0000907953 00000 n
-0000908018 00000 n
-0000908083 00000 n
-0000908148 00000 n
-0000908213 00000 n
-0000908278 00000 n
-0000908343 00000 n
-0000908408 00000 n
-0000908473 00000 n
-0000908536 00000 n
-0000908601 00000 n
-0000908666 00000 n
-0000908731 00000 n
-0000908796 00000 n
-0000908861 00000 n
-0000908926 00000 n
-0000908991 00000 n
-0000909056 00000 n
-0000909121 00000 n
-0000909184 00000 n
-0000909249 00000 n
-0000909314 00000 n
-0000909379 00000 n
-0000909444 00000 n
-0000909509 00000 n
-0000909574 00000 n
-0000909639 00000 n
-0000909704 00000 n
-0000909769 00000 n
-0000909834 00000 n
-0000909898 00000 n
-0000906792 00000 n
-0000915756 00000 n
-0000912520 00000 n
-0000910178 00000 n
-0000912645 00000 n
-0000912709 00000 n
-0000912774 00000 n
-0000912839 00000 n
-0000912904 00000 n
-0000912969 00000 n
-0000913034 00000 n
-0000913099 00000 n
-0000913164 00000 n
-0000913229 00000 n
-0000913294 00000 n
-0000913359 00000 n
-0000913422 00000 n
-0000913487 00000 n
-0000913552 00000 n
-0000913617 00000 n
-0000913682 00000 n
-0000913747 00000 n
-0000913812 00000 n
-0000913877 00000 n
-0000913941 00000 n
-0000914006 00000 n
-0000914071 00000 n
-0000914136 00000 n
-0000914201 00000 n
-0000914266 00000 n
-0000914331 00000 n
-0000914396 00000 n
-0000914461 00000 n
-0000914525 00000 n
-0000914590 00000 n
-0000914655 00000 n
-0000914720 00000 n
-0000914785 00000 n
-0000914850 00000 n
-0000914915 00000 n
-0000914980 00000 n
-0000915045 00000 n
-0000915109 00000 n
-0000915174 00000 n
-0000915238 00000 n
-0000915303 00000 n
-0000915368 00000 n
-0000915433 00000 n
-0000915498 00000 n
-0000915563 00000 n
-0000915628 00000 n
-0000915692 00000 n
-0000921243 00000 n
-0000918135 00000 n
-0000915933 00000 n
-0000918260 00000 n
-0000918324 00000 n
-0000918389 00000 n
-0000918454 00000 n
-0000918519 00000 n
-0000918584 00000 n
-0000918649 00000 n
-0000918714 00000 n
-0000918779 00000 n
-0000918844 00000 n
-0000918909 00000 n
-0000918974 00000 n
-0000919039 00000 n
-0000919103 00000 n
-0000919168 00000 n
-0000919233 00000 n
-0000919298 00000 n
-0000919363 00000 n
-0000919428 00000 n
-0000919493 00000 n
-0000919558 00000 n
-0000919623 00000 n
-0000919688 00000 n
-0000919753 00000 n
-0000919818 00000 n
-0000919883 00000 n
-0000919948 00000 n
-0000920013 00000 n
-0000920078 00000 n
-0000920142 00000 n
-0000920207 00000 n
-0000920271 00000 n
-0000920336 00000 n
-0000920401 00000 n
-0000920466 00000 n
-0000920531 00000 n
-0000920596 00000 n
-0000920661 00000 n
-0000920726 00000 n
-0000920791 00000 n
-0000920855 00000 n
-0000920920 00000 n
-0000920985 00000 n
-0000921050 00000 n
-0000921115 00000 n
-0000927209 00000 n
-0000923712 00000 n
-0000921433 00000 n
-0000923837 00000 n
-0000923901 00000 n
-0000923966 00000 n
-0000924031 00000 n
-0000924096 00000 n
-0000924161 00000 n
-0000924226 00000 n
-0000924291 00000 n
-0000924355 00000 n
-0000924420 00000 n
-0000924485 00000 n
-0000924550 00000 n
-0000924615 00000 n
-0000924680 00000 n
-0000924745 00000 n
-0000924810 00000 n
-0000924875 00000 n
-0000924939 00000 n
-0000925004 00000 n
-0000925069 00000 n
-0000925134 00000 n
-0000925199 00000 n
-0000925264 00000 n
-0000925329 00000 n
-0000925394 00000 n
-0000925459 00000 n
-0000925523 00000 n
-0000925588 00000 n
-0000925653 00000 n
-0000925718 00000 n
-0000925783 00000 n
-0000925848 00000 n
-0000925913 00000 n
-0000925978 00000 n
-0000926043 00000 n
-0000926107 00000 n
-0000926172 00000 n
-0000926237 00000 n
-0000926302 00000 n
-0000926367 00000 n
-0000926432 00000 n
-0000926497 00000 n
-0000926562 00000 n
-0000926627 00000 n
-0000926692 00000 n
-0000926757 00000 n
-0000926822 00000 n
-0000926887 00000 n
-0000926951 00000 n
-0000927016 00000 n
-0000927081 00000 n
-0000927145 00000 n
-0000932797 00000 n
-0000930207 00000 n
-0000927399 00000 n
-0000930332 00000 n
-0000930396 00000 n
-0000930461 00000 n
-0000930526 00000 n
-0000930591 00000 n
-0000930656 00000 n
-0000930721 00000 n
-0000930786 00000 n
-0000930850 00000 n
-0000930915 00000 n
-0000930980 00000 n
-0000931045 00000 n
-0000931110 00000 n
-0000931175 00000 n
-0000931240 00000 n
-0000931305 00000 n
-0000931370 00000 n
-0000931435 00000 n
-0000931500 00000 n
-0000931564 00000 n
-0000931629 00000 n
-0000931694 00000 n
-0000931759 00000 n
-0000931824 00000 n
-0000931889 00000 n
-0000931954 00000 n
-0000932019 00000 n
-0000932084 00000 n
-0000932148 00000 n
-0000932213 00000 n
-0000932278 00000 n
-0000932343 00000 n
-0000932408 00000 n
-0000932473 00000 n
-0000932538 00000 n
-0000932603 00000 n
-0000932668 00000 n
-0000932732 00000 n
-0000938887 00000 n
-0000936426 00000 n
-0000933013 00000 n
-0000936551 00000 n
-0000936615 00000 n
-0000936680 00000 n
-0000936745 00000 n
-0000936810 00000 n
-0000936875 00000 n
-0000936940 00000 n
-0000937005 00000 n
-0000937070 00000 n
-0000937135 00000 n
-0000937200 00000 n
-0000937265 00000 n
-0000937330 00000 n
-0000937395 00000 n
-0000937459 00000 n
-0000937524 00000 n
-0000937589 00000 n
-0000937654 00000 n
-0000937719 00000 n
-0000937784 00000 n
-0000937849 00000 n
-0000937914 00000 n
-0000937978 00000 n
-0000938043 00000 n
-0000938108 00000 n
-0000938173 00000 n
-0000938238 00000 n
-0000938303 00000 n
-0000938368 00000 n
-0000938433 00000 n
-0000938498 00000 n
-0000938562 00000 n
-0000938627 00000 n
-0000938692 00000 n
-0000938757 00000 n
-0000938822 00000 n
-0000944753 00000 n
-0000942232 00000 n
-0000939103 00000 n
-0000942357 00000 n
-0000942421 00000 n
-0000942485 00000 n
-0000942550 00000 n
-0000942615 00000 n
-0000942680 00000 n
-0000942745 00000 n
-0000942809 00000 n
-0000942874 00000 n
-0000942939 00000 n
-0000943004 00000 n
-0000943069 00000 n
-0000943134 00000 n
-0000943199 00000 n
-0000943264 00000 n
-0000943329 00000 n
-0000943393 00000 n
-0000943458 00000 n
-0000943523 00000 n
-0000943588 00000 n
-0000943653 00000 n
-0000943717 00000 n
-0000943782 00000 n
-0000943847 00000 n
-0000943912 00000 n
-0000943977 00000 n
-0000944041 00000 n
-0000944106 00000 n
-0000944171 00000 n
-0000944236 00000 n
-0000944301 00000 n
-0000944365 00000 n
-0000944430 00000 n
-0000944495 00000 n
-0000944560 00000 n
-0000944625 00000 n
-0000944689 00000 n
-0000950238 00000 n
-0000947130 00000 n
-0000944969 00000 n
-0000947255 00000 n
-0000947319 00000 n
-0000947384 00000 n
-0000947449 00000 n
-0000947514 00000 n
-0000947579 00000 n
-0000947644 00000 n
-0000947709 00000 n
-0000947774 00000 n
-0000947839 00000 n
-0000947904 00000 n
-0000947969 00000 n
-0000948033 00000 n
-0000948098 00000 n
-0000948163 00000 n
-0000948228 00000 n
-0000948293 00000 n
-0000948358 00000 n
-0000948423 00000 n
-0000948487 00000 n
-0000948552 00000 n
-0000948617 00000 n
-0000948682 00000 n
-0000948747 00000 n
-0000948812 00000 n
-0000948877 00000 n
-0000948942 00000 n
-0000949007 00000 n
-0000949071 00000 n
-0000949136 00000 n
-0000949201 00000 n
-0000949266 00000 n
-0000949331 00000 n
-0000949396 00000 n
-0000949460 00000 n
-0000949525 00000 n
-0000949590 00000 n
-0000949655 00000 n
-0000949720 00000 n
-0000949785 00000 n
-0000949850 00000 n
-0000949915 00000 n
-0000949980 00000 n
-0000950045 00000 n
-0000950110 00000 n
-0000950174 00000 n
-0000956056 00000 n
-0000952301 00000 n
-0000950402 00000 n
-0000952426 00000 n
-0000952490 00000 n
-0000952555 00000 n
-0000952620 00000 n
-0000952685 00000 n
-0000952750 00000 n
-0000952815 00000 n
-0000952880 00000 n
-0000952945 00000 n
-0000953010 00000 n
-0000953074 00000 n
-0000953139 00000 n
-0000953204 00000 n
-0000953269 00000 n
-0000953334 00000 n
-0000953399 00000 n
-0000953464 00000 n
-0000953529 00000 n
-0000953594 00000 n
-0000953658 00000 n
-0000953723 00000 n
-0000953788 00000 n
-0000953853 00000 n
-0000953918 00000 n
-0000953983 00000 n
-0000954048 00000 n
-0000954112 00000 n
-0000954177 00000 n
-0000954242 00000 n
-0000954306 00000 n
-0000954371 00000 n
-0000954436 00000 n
-0000954501 00000 n
-0000954566 00000 n
-0000954631 00000 n
-0000954696 00000 n
-0000954761 00000 n
-0000954826 00000 n
-0000954890 00000 n
-0000954955 00000 n
-0000955020 00000 n
-0000955085 00000 n
-0000955150 00000 n
-0000955214 00000 n
-0000955279 00000 n
-0000955344 00000 n
-0000955409 00000 n
-0000955474 00000 n
-0000955539 00000 n
-0000955604 00000 n
-0000955669 00000 n
-0000955734 00000 n
-0000955798 00000 n
-0000955863 00000 n
-0000955928 00000 n
-0000955992 00000 n
-0000961989 00000 n
-0000958878 00000 n
-0000956220 00000 n
-0000959003 00000 n
-0000959067 00000 n
-0000959132 00000 n
-0000959197 00000 n
-0000959262 00000 n
-0000959326 00000 n
-0000959391 00000 n
-0000959456 00000 n
-0000959521 00000 n
-0000959586 00000 n
-0000959651 00000 n
-0000959716 00000 n
-0000959781 00000 n
-0000959846 00000 n
-0000959910 00000 n
-0000959975 00000 n
-0000960040 00000 n
-0000960105 00000 n
-0000960170 00000 n
-0000960235 00000 n
-0000960300 00000 n
-0000960365 00000 n
-0000960430 00000 n
-0000960494 00000 n
-0000960559 00000 n
-0000960624 00000 n
-0000960689 00000 n
-0000960754 00000 n
-0000960819 00000 n
-0000960884 00000 n
-0000960949 00000 n
-0000961014 00000 n
-0000961079 00000 n
-0000961144 00000 n
-0000961209 00000 n
-0000961274 00000 n
-0000961339 00000 n
-0000961404 00000 n
-0000961469 00000 n
-0000961534 00000 n
-0000961599 00000 n
-0000961664 00000 n
-0000961729 00000 n
-0000961794 00000 n
-0000961859 00000 n
-0000961924 00000 n
-0001889891 00000 n
-0000967690 00000 n
-0000963868 00000 n
-0000962192 00000 n
-0000963993 00000 n
-0000964057 00000 n
-0000964122 00000 n
-0000964187 00000 n
-0000964252 00000 n
-0000964317 00000 n
-0000964382 00000 n
-0000964447 00000 n
-0000964512 00000 n
-0000964577 00000 n
-0000964641 00000 n
-0000964706 00000 n
-0000964771 00000 n
-0000964836 00000 n
-0000964901 00000 n
-0000964966 00000 n
-0000965031 00000 n
-0000965096 00000 n
-0000965160 00000 n
-0000965225 00000 n
-0000965290 00000 n
-0000965355 00000 n
-0000965420 00000 n
-0000965485 00000 n
-0000965550 00000 n
-0000965615 00000 n
-0000965680 00000 n
-0000965744 00000 n
-0000965809 00000 n
-0000965874 00000 n
-0000965939 00000 n
-0000966004 00000 n
-0000966069 00000 n
-0000966134 00000 n
-0000966199 00000 n
-0000966264 00000 n
-0000966329 00000 n
-0000966394 00000 n
-0000966459 00000 n
-0000966524 00000 n
-0000966589 00000 n
-0000966654 00000 n
-0000966719 00000 n
-0000966783 00000 n
-0000966848 00000 n
-0000966913 00000 n
-0000966978 00000 n
-0000967043 00000 n
-0000967108 00000 n
-0000967173 00000 n
-0000967238 00000 n
-0000967302 00000 n
-0000967367 00000 n
-0000967432 00000 n
-0000967497 00000 n
-0000967562 00000 n
-0000967626 00000 n
-0000973816 00000 n
-0000969865 00000 n
-0000967867 00000 n
-0000969990 00000 n
-0000970054 00000 n
-0000970119 00000 n
-0000970184 00000 n
-0000970249 00000 n
-0000970313 00000 n
-0000970378 00000 n
-0000970443 00000 n
-0000970508 00000 n
-0000970573 00000 n
-0000970638 00000 n
-0000970703 00000 n
-0000970768 00000 n
-0000970833 00000 n
-0000970897 00000 n
-0000970962 00000 n
-0000971027 00000 n
-0000971092 00000 n
-0000971157 00000 n
-0000971222 00000 n
-0000971287 00000 n
-0000971352 00000 n
-0000971417 00000 n
-0000971481 00000 n
-0000971546 00000 n
-0000971611 00000 n
-0000971676 00000 n
-0000971741 00000 n
-0000971806 00000 n
-0000971871 00000 n
-0000971936 00000 n
-0000972001 00000 n
-0000972065 00000 n
-0000972130 00000 n
-0000972195 00000 n
-0000972260 00000 n
-0000972325 00000 n
-0000972390 00000 n
-0000972455 00000 n
-0000972520 00000 n
-0000972585 00000 n
-0000972649 00000 n
-0000972714 00000 n
-0000972779 00000 n
-0000972844 00000 n
-0000972909 00000 n
-0000972974 00000 n
-0000973039 00000 n
-0000973104 00000 n
-0000973169 00000 n
-0000973234 00000 n
-0000973299 00000 n
-0000973364 00000 n
-0000973428 00000 n
-0000973493 00000 n
-0000973558 00000 n
-0000973623 00000 n
-0000973688 00000 n
-0000973752 00000 n
-0000979861 00000 n
-0000976559 00000 n
-0000974006 00000 n
-0000976684 00000 n
-0000976748 00000 n
-0000976813 00000 n
-0000976878 00000 n
-0000976943 00000 n
-0000977008 00000 n
-0000977073 00000 n
-0000977138 00000 n
-0000977203 00000 n
-0000977268 00000 n
-0000977332 00000 n
-0000977397 00000 n
-0000977462 00000 n
-0000977527 00000 n
-0000977592 00000 n
-0000977657 00000 n
-0000977722 00000 n
-0000977786 00000 n
-0000977851 00000 n
-0000977916 00000 n
-0000977981 00000 n
-0000978046 00000 n
-0000978111 00000 n
-0000978176 00000 n
-0000978241 00000 n
-0000978306 00000 n
-0000978371 00000 n
-0000978435 00000 n
+0000887924 00000 n
+0000887988 00000 n
+0000893234 00000 n
+0000890128 00000 n
+0000888229 00000 n
+0000890253 00000 n
+0000890317 00000 n
+0000890382 00000 n
+0000890447 00000 n
+0000890512 00000 n
+0000890577 00000 n
+0000890642 00000 n
+0000890707 00000 n
+0000890772 00000 n
+0000890837 00000 n
+0000890902 00000 n
+0000890967 00000 n
+0000891032 00000 n
+0000891097 00000 n
+0000891162 00000 n
+0000891227 00000 n
+0000891292 00000 n
+0000891356 00000 n
+0000891420 00000 n
+0000891485 00000 n
+0000891550 00000 n
+0000891615 00000 n
+0000891680 00000 n
+0000891745 00000 n
+0000891810 00000 n
+0000891875 00000 n
+0000891940 00000 n
+0000892004 00000 n
+0000892069 00000 n
+0000892134 00000 n
+0000892199 00000 n
+0000892327 00000 n
+0000892392 00000 n
+0000892456 00000 n
+0000892521 00000 n
+0000892586 00000 n
+0000892651 00000 n
+0000892716 00000 n
+0000892781 00000 n
+0000892846 00000 n
+0000892911 00000 n
+0000892976 00000 n
+0000893041 00000 n
+0000893106 00000 n
+0000893170 00000 n
+0000898738 00000 n
+0000895696 00000 n
+0000893411 00000 n
+0000895821 00000 n
+0000895885 00000 n
+0000895950 00000 n
+0000896015 00000 n
+0000896080 00000 n
+0000896145 00000 n
+0000896210 00000 n
+0000896275 00000 n
+0000896340 00000 n
+0000896405 00000 n
+0000896469 00000 n
+0000896534 00000 n
+0000896599 00000 n
+0000896664 00000 n
+0000896729 00000 n
+0000896794 00000 n
+0000896859 00000 n
+0000896924 00000 n
+0000896989 00000 n
+0000897054 00000 n
+0000897119 00000 n
+0000897184 00000 n
+0000897249 00000 n
+0000897314 00000 n
+0000897379 00000 n
+0000897444 00000 n
+0000897509 00000 n
+0000897573 00000 n
+0000897638 00000 n
+0000897703 00000 n
+0000897768 00000 n
+0000897833 00000 n
+0000897898 00000 n
+0000897963 00000 n
+0000898091 00000 n
+0000898156 00000 n
+0000898221 00000 n
+0000898286 00000 n
+0000898350 00000 n
+0000898415 00000 n
+0000898480 00000 n
+0000898545 00000 n
+0000898610 00000 n
+0000898674 00000 n
+0000904257 00000 n
+0000901863 00000 n
+0000898928 00000 n
+0000901988 00000 n
+0000902052 00000 n
+0000902117 00000 n
+0000902182 00000 n
+0000902247 00000 n
+0000902312 00000 n
+0000902377 00000 n
+0000902442 00000 n
+0000902506 00000 n
+0000902571 00000 n
+0000902636 00000 n
+0000902701 00000 n
+0000902766 00000 n
+0000902831 00000 n
+0000902896 00000 n
+0000902961 00000 n
+0000903026 00000 n
+0000903089 00000 n
+0000903154 00000 n
+0000903219 00000 n
+0000903283 00000 n
+0000903348 00000 n
+0000903413 00000 n
+0000903478 00000 n
+0000903543 00000 n
+0000903608 00000 n
+0000903673 00000 n
+0000903738 00000 n
+0000903803 00000 n
+0000903868 00000 n
+0000903933 00000 n
+0000903998 00000 n
+0000904063 00000 n
+0000904128 00000 n
+0000904192 00000 n
+0001893976 00000 n
+0000907035 00000 n
+0000910046 00000 n
+0000906862 00000 n
+0000904447 00000 n
+0000907193 00000 n
+0000907257 00000 n
+0000907322 00000 n
+0000907386 00000 n
+0000907451 00000 n
+0000907516 00000 n
+0000907581 00000 n
+0000907646 00000 n
+0000907711 00000 n
+0000907776 00000 n
+0000907841 00000 n
+0000907906 00000 n
+0000907970 00000 n
+0000908035 00000 n
+0000908100 00000 n
+0000908165 00000 n
+0000908230 00000 n
+0000908295 00000 n
+0000908360 00000 n
+0000908424 00000 n
+0000908489 00000 n
+0000908554 00000 n
+0000908619 00000 n
+0000908684 00000 n
+0000908749 00000 n
+0000908814 00000 n
+0000908879 00000 n
+0000908944 00000 n
+0000909009 00000 n
+0000909074 00000 n
+0000909139 00000 n
+0000909204 00000 n
+0000909269 00000 n
+0000909334 00000 n
+0000909398 00000 n
+0000909463 00000 n
+0000909528 00000 n
+0000909593 00000 n
+0000909658 00000 n
+0000909723 00000 n
+0000909788 00000 n
+0000909853 00000 n
+0000909918 00000 n
+0000909982 00000 n
+0000907004 00000 n
+0000916071 00000 n
+0000912314 00000 n
+0000910275 00000 n
+0000912439 00000 n
+0000912503 00000 n
+0000912568 00000 n
+0000912633 00000 n
+0000912698 00000 n
+0000912763 00000 n
+0000912828 00000 n
+0000912893 00000 n
+0000912958 00000 n
+0000913023 00000 n
+0000913087 00000 n
+0000913152 00000 n
+0000913217 00000 n
+0000913282 00000 n
+0000913346 00000 n
+0000913411 00000 n
+0000913476 00000 n
+0000913541 00000 n
+0000913606 00000 n
+0000913671 00000 n
+0000913736 00000 n
+0000913801 00000 n
+0000913866 00000 n
+0000913931 00000 n
+0000913996 00000 n
+0000914060 00000 n
+0000914125 00000 n
+0000914190 00000 n
+0000914255 00000 n
+0000914320 00000 n
+0000914385 00000 n
+0000914449 00000 n
+0000914514 00000 n
+0000914579 00000 n
+0000914644 00000 n
+0000914709 00000 n
+0000914774 00000 n
+0000914839 00000 n
+0000914904 00000 n
+0000914969 00000 n
+0000915034 00000 n
+0000915099 00000 n
+0000915164 00000 n
+0000915229 00000 n
+0000915294 00000 n
+0000915359 00000 n
+0000915424 00000 n
+0000915489 00000 n
+0000915554 00000 n
+0000915619 00000 n
+0000915683 00000 n
+0000915748 00000 n
+0000915813 00000 n
+0000915878 00000 n
+0000915943 00000 n
+0000916007 00000 n
+0000921851 00000 n
+0000918871 00000 n
+0000916248 00000 n
+0000918996 00000 n
+0000919060 00000 n
+0000919125 00000 n
+0000919190 00000 n
+0000919255 00000 n
+0000919320 00000 n
+0000919385 00000 n
+0000919450 00000 n
+0000919515 00000 n
+0000919580 00000 n
+0000919645 00000 n
+0000919709 00000 n
+0000919774 00000 n
+0000919839 00000 n
+0000919904 00000 n
+0000919969 00000 n
+0000920034 00000 n
+0000920099 00000 n
+0000920164 00000 n
+0000920229 00000 n
+0000920294 00000 n
+0000920359 00000 n
+0000920424 00000 n
+0000920489 00000 n
+0000920554 00000 n
+0000920619 00000 n
+0000920684 00000 n
+0000920749 00000 n
+0000920814 00000 n
+0000920879 00000 n
+0000920944 00000 n
+0000921009 00000 n
+0000921074 00000 n
+0000921139 00000 n
+0000921204 00000 n
+0000921269 00000 n
+0000921334 00000 n
+0000921399 00000 n
+0000921464 00000 n
+0000921529 00000 n
+0000921594 00000 n
+0000921659 00000 n
+0000921724 00000 n
+0000921788 00000 n
+0000927380 00000 n
+0000923884 00000 n
+0000922041 00000 n
+0000924009 00000 n
+0000924073 00000 n
+0000924138 00000 n
+0000924203 00000 n
+0000924268 00000 n
+0000924333 00000 n
+0000924398 00000 n
+0000924463 00000 n
+0000924528 00000 n
+0000924593 00000 n
+0000924657 00000 n
+0000924785 00000 n
+0000924850 00000 n
+0000924915 00000 n
+0000924980 00000 n
+0000925045 00000 n
+0000925110 00000 n
+0000925174 00000 n
+0000925239 00000 n
+0000925304 00000 n
+0000925369 00000 n
+0000925434 00000 n
+0000925499 00000 n
+0000925564 00000 n
+0000925629 00000 n
+0000925694 00000 n
+0000925758 00000 n
+0000925823 00000 n
+0000925888 00000 n
+0000925953 00000 n
+0000926018 00000 n
+0000926083 00000 n
+0000926148 00000 n
+0000926213 00000 n
+0000926278 00000 n
+0000926343 00000 n
+0000926408 00000 n
+0000926473 00000 n
+0000926538 00000 n
+0000926603 00000 n
+0000926668 00000 n
+0000926733 00000 n
+0000926798 00000 n
+0000926863 00000 n
+0000926928 00000 n
+0000926992 00000 n
+0000927057 00000 n
+0000927122 00000 n
+0000927187 00000 n
+0000927252 00000 n
+0000927316 00000 n
+0000932932 00000 n
+0000930603 00000 n
+0000927557 00000 n
+0000930728 00000 n
+0000930792 00000 n
+0000930857 00000 n
+0000930922 00000 n
+0000930986 00000 n
+0000931051 00000 n
+0000931116 00000 n
+0000931181 00000 n
+0000931246 00000 n
+0000931311 00000 n
+0000931376 00000 n
+0000931441 00000 n
+0000931506 00000 n
+0000931570 00000 n
+0000931635 00000 n
+0000931700 00000 n
+0000931765 00000 n
+0000931830 00000 n
+0000931894 00000 n
+0000931959 00000 n
+0000932024 00000 n
+0000932088 00000 n
+0000932153 00000 n
+0000932218 00000 n
+0000932283 00000 n
+0000932348 00000 n
+0000932413 00000 n
+0000932478 00000 n
+0000932543 00000 n
+0000932608 00000 n
+0000932673 00000 n
+0000932738 00000 n
+0000932802 00000 n
+0000932867 00000 n
+0000938786 00000 n
+0000936455 00000 n
+0000933148 00000 n
+0000936580 00000 n
+0000936644 00000 n
+0000936709 00000 n
+0000936774 00000 n
+0000936839 00000 n
+0000936904 00000 n
+0000936969 00000 n
+0000937034 00000 n
+0000937099 00000 n
+0000937164 00000 n
+0000937229 00000 n
+0000937294 00000 n
+0000937359 00000 n
+0000937424 00000 n
+0000937489 00000 n
+0000937554 00000 n
+0000937618 00000 n
+0000937683 00000 n
+0000937748 00000 n
+0000937813 00000 n
+0000937878 00000 n
+0000937943 00000 n
+0000938008 00000 n
+0000938073 00000 n
+0000938138 00000 n
+0000938203 00000 n
+0000938268 00000 n
+0000938332 00000 n
+0000938397 00000 n
+0000938462 00000 n
+0000938527 00000 n
+0000938592 00000 n
+0000938657 00000 n
+0000938722 00000 n
+0000943663 00000 n
+0000941721 00000 n
+0000939002 00000 n
+0000941846 00000 n
+0000941910 00000 n
+0000941975 00000 n
+0000942040 00000 n
+0000942105 00000 n
+0000942170 00000 n
+0000942235 00000 n
+0000942300 00000 n
+0000942365 00000 n
+0000942430 00000 n
+0000942494 00000 n
+0000942559 00000 n
+0000942624 00000 n
+0000942689 00000 n
+0000942754 00000 n
+0000942819 00000 n
+0000942884 00000 n
+0000942949 00000 n
+0000943014 00000 n
+0000943079 00000 n
+0000943144 00000 n
+0000943209 00000 n
+0000943274 00000 n
+0000943339 00000 n
+0000943404 00000 n
+0000943469 00000 n
+0000943534 00000 n
+0000943598 00000 n
+0000949417 00000 n
+0000946312 00000 n
+0000943853 00000 n
+0000946437 00000 n
+0000946501 00000 n
+0000946566 00000 n
+0000946631 00000 n
+0000946696 00000 n
+0000946761 00000 n
+0000946826 00000 n
+0000946891 00000 n
+0000946956 00000 n
+0000947021 00000 n
+0000947085 00000 n
+0000947150 00000 n
+0000947215 00000 n
+0000947280 00000 n
+0000947343 00000 n
+0000947408 00000 n
+0000947473 00000 n
+0000947538 00000 n
+0000947603 00000 n
+0000947668 00000 n
+0000947733 00000 n
+0000947798 00000 n
+0000947863 00000 n
+0000947927 00000 n
+0000947992 00000 n
+0000948057 00000 n
+0000948121 00000 n
+0000948186 00000 n
+0000948251 00000 n
+0000948316 00000 n
+0000948381 00000 n
+0000948446 00000 n
+0000948511 00000 n
+0000948576 00000 n
+0000948641 00000 n
+0000948705 00000 n
+0000948770 00000 n
+0000948835 00000 n
+0000948900 00000 n
+0000948965 00000 n
+0000949030 00000 n
+0000949095 00000 n
+0000949160 00000 n
+0000949225 00000 n
+0000949290 00000 n
+0000949354 00000 n
+0000955004 00000 n
+0000951765 00000 n
+0000949620 00000 n
+0000951890 00000 n
+0000951954 00000 n
+0000952019 00000 n
+0000952084 00000 n
+0000952149 00000 n
+0000952214 00000 n
+0000952279 00000 n
+0000952344 00000 n
+0000952408 00000 n
+0000952473 00000 n
+0000952538 00000 n
+0000952603 00000 n
+0000952668 00000 n
+0000952733 00000 n
+0000952798 00000 n
+0000952863 00000 n
+0000952928 00000 n
+0000952993 00000 n
+0000953058 00000 n
+0000953123 00000 n
+0000953188 00000 n
+0000953253 00000 n
+0000953317 00000 n
+0000953382 00000 n
+0000953447 00000 n
+0000953512 00000 n
+0000953577 00000 n
+0000953642 00000 n
+0000953707 00000 n
+0000953772 00000 n
+0000953837 00000 n
+0000953902 00000 n
+0000953967 00000 n
+0000954032 00000 n
+0000954097 00000 n
+0000954162 00000 n
+0000954227 00000 n
+0000954292 00000 n
+0000954357 00000 n
+0000954422 00000 n
+0000954487 00000 n
+0000954552 00000 n
+0000954616 00000 n
+0000954681 00000 n
+0000954746 00000 n
+0000954811 00000 n
+0000954876 00000 n
+0000954940 00000 n
+0000960691 00000 n
+0000957192 00000 n
+0000955168 00000 n
+0000957317 00000 n
+0000957381 00000 n
+0000957446 00000 n
+0000957511 00000 n
+0000957576 00000 n
+0000957641 00000 n
+0000957706 00000 n
+0000957771 00000 n
+0000957836 00000 n
+0000957901 00000 n
+0000957966 00000 n
+0000958031 00000 n
+0000958096 00000 n
+0000958161 00000 n
+0000958226 00000 n
+0000958291 00000 n
+0000958356 00000 n
+0000958421 00000 n
+0000958486 00000 n
+0000958551 00000 n
+0000958615 00000 n
+0000958680 00000 n
+0000958745 00000 n
+0000958810 00000 n
+0000958875 00000 n
+0000958940 00000 n
+0000959005 00000 n
+0000959070 00000 n
+0000959135 00000 n
+0000959200 00000 n
+0000959265 00000 n
+0000959330 00000 n
+0000959395 00000 n
+0000959460 00000 n
+0000959524 00000 n
+0000959589 00000 n
+0000959654 00000 n
+0000959719 00000 n
+0000959784 00000 n
+0000959849 00000 n
+0000959914 00000 n
+0000959979 00000 n
+0000960044 00000 n
+0000960109 00000 n
+0000960174 00000 n
+0000960239 00000 n
+0000960304 00000 n
+0000960369 00000 n
+0000960433 00000 n
+0000960498 00000 n
+0000960563 00000 n
+0000960627 00000 n
+0001894141 00000 n
+0000966596 00000 n
+0000963422 00000 n
+0000960868 00000 n
+0000963547 00000 n
+0000963611 00000 n
+0000963676 00000 n
+0000963741 00000 n
+0000963806 00000 n
+0000963871 00000 n
+0000963936 00000 n
+0000964001 00000 n
+0000964066 00000 n
+0000964131 00000 n
+0000964195 00000 n
+0000964260 00000 n
+0000964325 00000 n
+0000964390 00000 n
+0000964455 00000 n
+0000964520 00000 n
+0000964585 00000 n
+0000964650 00000 n
+0000964715 00000 n
+0000964779 00000 n
+0000964844 00000 n
+0000964909 00000 n
+0000964974 00000 n
+0000965039 00000 n
+0000965104 00000 n
+0000965169 00000 n
+0000965234 00000 n
+0000965298 00000 n
+0000965363 00000 n
+0000965428 00000 n
+0000965493 00000 n
+0000965558 00000 n
+0000965623 00000 n
+0000965688 00000 n
+0000965753 00000 n
+0000965818 00000 n
+0000965883 00000 n
+0000965948 00000 n
+0000966013 00000 n
+0000966078 00000 n
+0000966143 00000 n
+0000966208 00000 n
+0000966272 00000 n
+0000966337 00000 n
+0000966402 00000 n
+0000966467 00000 n
+0000966532 00000 n
+0000972145 00000 n
+0000968714 00000 n
+0000966799 00000 n
+0000968839 00000 n
+0000968903 00000 n
+0000968968 00000 n
+0000969033 00000 n
+0000969097 00000 n
+0000969162 00000 n
+0000969227 00000 n
+0000969292 00000 n
+0000969357 00000 n
+0000969422 00000 n
+0000969487 00000 n
+0000969552 00000 n
+0000969617 00000 n
+0000969681 00000 n
+0000969746 00000 n
+0000969811 00000 n
+0000969876 00000 n
+0000969941 00000 n
+0000970006 00000 n
+0000970071 00000 n
+0000970136 00000 n
+0000970201 00000 n
+0000970264 00000 n
+0000970329 00000 n
+0000970394 00000 n
+0000970458 00000 n
+0000970523 00000 n
+0000970588 00000 n
+0000970653 00000 n
+0000970718 00000 n
+0000970783 00000 n
+0000970848 00000 n
+0000970913 00000 n
+0000970978 00000 n
+0000971043 00000 n
+0000971108 00000 n
+0000971173 00000 n
+0000971238 00000 n
+0000971302 00000 n
+0000971367 00000 n
+0000971432 00000 n
+0000971497 00000 n
+0000971562 00000 n
+0000971627 00000 n
+0000971692 00000 n
+0000971757 00000 n
+0000971822 00000 n
+0000971887 00000 n
+0000971952 00000 n
+0000972017 00000 n
+0000972081 00000 n
+0000978336 00000 n
+0000974126 00000 n
+0000972335 00000 n
+0000974251 00000 n
+0000974315 00000 n
+0000974380 00000 n
+0000974445 00000 n
+0000974510 00000 n
+0000974575 00000 n
+0000974640 00000 n
+0000974705 00000 n
+0000974770 00000 n
+0000974835 00000 n
+0000974899 00000 n
+0000974964 00000 n
+0000975029 00000 n
+0000975094 00000 n
+0000975159 00000 n
+0000975224 00000 n
+0000975289 00000 n
+0000975354 00000 n
+0000975419 00000 n
+0000975483 00000 n
+0000975548 00000 n
+0000975613 00000 n
+0000975678 00000 n
+0000975743 00000 n
+0000975808 00000 n
+0000975873 00000 n
+0000975938 00000 n
+0000976003 00000 n
+0000976066 00000 n
+0000976131 00000 n
+0000976196 00000 n
+0000976261 00000 n
+0000976326 00000 n
+0000976391 00000 n
+0000976456 00000 n
+0000976521 00000 n
+0000976586 00000 n
+0000976651 00000 n
+0000976716 00000 n
+0000976781 00000 n
+0000976846 00000 n
+0000976911 00000 n
+0000976975 00000 n
+0000977040 00000 n
+0000977105 00000 n
+0000977170 00000 n
+0000977235 00000 n
+0000977300 00000 n
+0000977365 00000 n
+0000977430 00000 n
+0000977495 00000 n
+0000977559 00000 n
+0000977624 00000 n
+0000977689 00000 n
+0000977754 00000 n
+0000977819 00000 n
+0000977884 00000 n
+0000977949 00000 n
+0000978014 00000 n
+0000978079 00000 n
+0000978143 00000 n
+0000978208 00000 n
+0000978272 00000 n
+0000984244 00000 n
+0000980942 00000 n
0000978500 00000 n
-0000978565 00000 n
-0000978630 00000 n
-0000978695 00000 n
-0000978760 00000 n
-0000978825 00000 n
-0000978890 00000 n
-0000978955 00000 n
-0000979019 00000 n
-0000979084 00000 n
-0000979149 00000 n
-0000979214 00000 n
-0000979279 00000 n
-0000979344 00000 n
-0000979409 00000 n
-0000979474 00000 n
-0000979539 00000 n
-0000979603 00000 n
-0000979668 00000 n
-0000979733 00000 n
-0000979797 00000 n
-0000985694 00000 n
-0000982260 00000 n
-0000980038 00000 n
-0000982385 00000 n
-0000982449 00000 n
-0000982514 00000 n
-0000982579 00000 n
-0000982644 00000 n
-0000982709 00000 n
-0000982774 00000 n
-0000982839 00000 n
-0000982904 00000 n
-0000982969 00000 n
-0000983033 00000 n
-0000983098 00000 n
-0000983163 00000 n
-0000983228 00000 n
-0000983293 00000 n
-0000983358 00000 n
-0000983423 00000 n
-0000983488 00000 n
-0000983553 00000 n
-0000983618 00000 n
-0000983683 00000 n
-0000983748 00000 n
-0000983813 00000 n
-0000983878 00000 n
-0000983943 00000 n
-0000984007 00000 n
-0000984072 00000 n
-0000984137 00000 n
-0000984202 00000 n
-0000984267 00000 n
-0000984332 00000 n
-0000984397 00000 n
-0000984462 00000 n
-0000984527 00000 n
-0000984591 00000 n
-0000984656 00000 n
-0000984721 00000 n
-0000984786 00000 n
-0000984851 00000 n
-0000984916 00000 n
-0000984981 00000 n
-0000985046 00000 n
-0000985111 00000 n
-0000985175 00000 n
-0000985240 00000 n
-0000985305 00000 n
-0000985370 00000 n
-0000985435 00000 n
-0000985500 00000 n
-0000985565 00000 n
-0000985630 00000 n
-0000991580 00000 n
-0000987435 00000 n
-0000985871 00000 n
-0000987560 00000 n
-0000987624 00000 n
-0000987689 00000 n
-0000987754 00000 n
-0000987819 00000 n
-0000987884 00000 n
-0000987949 00000 n
-0000988014 00000 n
-0000988079 00000 n
-0000988143 00000 n
-0000988208 00000 n
-0000988273 00000 n
-0000988338 00000 n
-0000988403 00000 n
-0000988468 00000 n
-0000988533 00000 n
-0000988598 00000 n
-0000988663 00000 n
-0000988727 00000 n
-0000988792 00000 n
-0000988857 00000 n
-0000988922 00000 n
-0000988987 00000 n
-0000989052 00000 n
-0000989117 00000 n
-0000989182 00000 n
-0000989247 00000 n
-0000989312 00000 n
-0000989376 00000 n
-0000989441 00000 n
-0000989506 00000 n
-0000989571 00000 n
-0000989636 00000 n
-0000989701 00000 n
-0000989766 00000 n
-0000989831 00000 n
-0000989896 00000 n
-0000989959 00000 n
-0000990024 00000 n
-0000990089 00000 n
-0000990154 00000 n
-0000990219 00000 n
-0000990284 00000 n
-0000990349 00000 n
-0000990414 00000 n
-0000990479 00000 n
-0000990543 00000 n
-0000990608 00000 n
-0000990673 00000 n
-0000990738 00000 n
-0000990803 00000 n
-0000990868 00000 n
-0000990933 00000 n
-0000990998 00000 n
-0000991063 00000 n
-0000991128 00000 n
-0000991192 00000 n
-0000991257 00000 n
-0000991322 00000 n
-0000991387 00000 n
-0000991452 00000 n
-0000991516 00000 n
-0000997249 00000 n
-0000994726 00000 n
-0000991744 00000 n
-0000994851 00000 n
-0000994915 00000 n
-0000994980 00000 n
-0000995045 00000 n
-0000995110 00000 n
-0000995175 00000 n
-0000995240 00000 n
-0000995305 00000 n
-0000995370 00000 n
-0000995435 00000 n
-0000995499 00000 n
-0000995564 00000 n
-0000995629 00000 n
-0000995694 00000 n
-0000995759 00000 n
-0000995824 00000 n
-0000995889 00000 n
-0000995953 00000 n
-0000996018 00000 n
-0000996083 00000 n
-0000996148 00000 n
-0000996213 00000 n
-0000996278 00000 n
-0000996343 00000 n
-0000996408 00000 n
-0000996473 00000 n
-0000996537 00000 n
-0000996602 00000 n
-0000996667 00000 n
-0000996731 00000 n
-0000996796 00000 n
-0000996861 00000 n
-0000996926 00000 n
-0000996991 00000 n
-0000997056 00000 n
-0000997121 00000 n
-0000997185 00000 n
-0001003151 00000 n
-0000999784 00000 n
-0000997426 00000 n
-0000999909 00000 n
-0000999973 00000 n
-0001000038 00000 n
-0001000103 00000 n
-0001000168 00000 n
-0001000233 00000 n
-0001000298 00000 n
-0001000363 00000 n
-0001000427 00000 n
-0001000492 00000 n
-0001000557 00000 n
-0001000622 00000 n
-0001000687 00000 n
-0001000752 00000 n
-0001000817 00000 n
-0001000882 00000 n
-0001000946 00000 n
-0001001011 00000 n
-0001001076 00000 n
-0001001141 00000 n
-0001001206 00000 n
-0001001271 00000 n
-0001001336 00000 n
-0001001400 00000 n
-0001001465 00000 n
-0001001530 00000 n
-0001001595 00000 n
-0001001660 00000 n
-0001001725 00000 n
-0001001790 00000 n
-0001001855 00000 n
-0001001920 00000 n
-0001001984 00000 n
-0001002049 00000 n
-0001002114 00000 n
-0001002179 00000 n
-0001002244 00000 n
-0001002309 00000 n
-0001002374 00000 n
-0001002439 00000 n
-0001002504 00000 n
-0001002568 00000 n
-0001002633 00000 n
-0001002698 00000 n
-0001002763 00000 n
-0001002828 00000 n
-0001002893 00000 n
-0001002958 00000 n
-0001003023 00000 n
-0001003088 00000 n
-0001009291 00000 n
-0001005210 00000 n
-0001003328 00000 n
-0001005335 00000 n
-0001005399 00000 n
-0001005464 00000 n
-0001005529 00000 n
-0001005594 00000 n
-0001005659 00000 n
-0001005724 00000 n
-0001005788 00000 n
-0001005853 00000 n
-0001005918 00000 n
-0001005983 00000 n
-0001006048 00000 n
-0001006113 00000 n
-0001006178 00000 n
-0001006243 00000 n
-0001006308 00000 n
-0001006372 00000 n
-0001006437 00000 n
-0001006501 00000 n
-0001006566 00000 n
-0001006631 00000 n
-0001006696 00000 n
-0001006761 00000 n
-0001006826 00000 n
-0001006891 00000 n
-0001006956 00000 n
-0001007021 00000 n
-0001007085 00000 n
-0001007150 00000 n
-0001007215 00000 n
-0001007280 00000 n
-0001007345 00000 n
-0001007410 00000 n
-0001007475 00000 n
-0001007540 00000 n
-0001007605 00000 n
-0001007669 00000 n
-0001007734 00000 n
-0001007799 00000 n
-0001007864 00000 n
-0001007929 00000 n
-0001007994 00000 n
-0001008059 00000 n
-0001008124 00000 n
-0001008189 00000 n
-0001008254 00000 n
-0001008319 00000 n
-0001008384 00000 n
-0001008449 00000 n
-0001008514 00000 n
-0001008579 00000 n
-0001008644 00000 n
-0001008709 00000 n
-0001008774 00000 n
-0001008839 00000 n
-0001008903 00000 n
-0001008968 00000 n
-0001009033 00000 n
-0001009098 00000 n
-0001009163 00000 n
-0001009227 00000 n
-0001015460 00000 n
-0001011251 00000 n
-0001009468 00000 n
-0001011376 00000 n
-0001011440 00000 n
-0001011505 00000 n
-0001011570 00000 n
-0001011635 00000 n
-0001011700 00000 n
-0001011765 00000 n
-0001011830 00000 n
-0001011895 00000 n
-0001011960 00000 n
-0001012024 00000 n
-0001012089 00000 n
-0001012154 00000 n
-0001012219 00000 n
-0001012284 00000 n
-0001012349 00000 n
-0001012414 00000 n
-0001012479 00000 n
-0001012544 00000 n
-0001012608 00000 n
-0001012673 00000 n
-0001012738 00000 n
-0001012803 00000 n
-0001012868 00000 n
-0001012933 00000 n
-0001012998 00000 n
-0001013063 00000 n
-0001013128 00000 n
-0001013191 00000 n
-0001013256 00000 n
-0001013321 00000 n
-0001013386 00000 n
-0001013451 00000 n
-0001013516 00000 n
-0001013581 00000 n
-0001013646 00000 n
-0001013711 00000 n
-0001013775 00000 n
-0001013840 00000 n
-0001013905 00000 n
-0001013970 00000 n
-0001014035 00000 n
-0001014099 00000 n
-0001014164 00000 n
-0001014229 00000 n
-0001014294 00000 n
-0001014359 00000 n
-0001014424 00000 n
-0001014489 00000 n
-0001014554 00000 n
-0001014619 00000 n
-0001014683 00000 n
-0001014748 00000 n
-0001014813 00000 n
-0001014878 00000 n
-0001014943 00000 n
-0001015008 00000 n
-0001015073 00000 n
-0001015138 00000 n
-0001015203 00000 n
-0001015267 00000 n
-0001015332 00000 n
-0001015396 00000 n
-0001021053 00000 n
-0001017554 00000 n
-0001015624 00000 n
-0001017679 00000 n
-0001017743 00000 n
-0001017808 00000 n
-0001017873 00000 n
-0001017938 00000 n
-0001018003 00000 n
-0001018068 00000 n
-0001018133 00000 n
-0001018198 00000 n
-0001018263 00000 n
-0001018328 00000 n
-0001018393 00000 n
-0001018456 00000 n
-0001018521 00000 n
-0001018586 00000 n
-0001018651 00000 n
-0001018716 00000 n
-0001018781 00000 n
-0001018846 00000 n
-0001018911 00000 n
-0001018976 00000 n
-0001019041 00000 n
-0001019106 00000 n
-0001019171 00000 n
-0001019236 00000 n
-0001019301 00000 n
-0001019366 00000 n
-0001019431 00000 n
-0001019496 00000 n
-0001019561 00000 n
-0001019626 00000 n
-0001019691 00000 n
-0001019756 00000 n
-0001019821 00000 n
-0001019886 00000 n
-0001019951 00000 n
-0001020016 00000 n
-0001020081 00000 n
-0001020146 00000 n
-0001020211 00000 n
-0001020276 00000 n
-0001020341 00000 n
-0001020406 00000 n
-0001020471 00000 n
-0001020536 00000 n
-0001020601 00000 n
-0001020665 00000 n
-0001020730 00000 n
-0001020795 00000 n
-0001020860 00000 n
-0001020925 00000 n
-0001020989 00000 n
-0001890056 00000 n
-0001026899 00000 n
-0001022883 00000 n
-0001021230 00000 n
-0001023008 00000 n
-0001023072 00000 n
-0001023137 00000 n
-0001023202 00000 n
-0001023267 00000 n
-0001023332 00000 n
-0001023397 00000 n
-0001023462 00000 n
-0001023527 00000 n
-0001023592 00000 n
-0001023656 00000 n
-0001023721 00000 n
-0001023786 00000 n
-0001023851 00000 n
-0001023916 00000 n
-0001023981 00000 n
-0001024046 00000 n
-0001024111 00000 n
-0001024176 00000 n
-0001024241 00000 n
-0001024305 00000 n
-0001024370 00000 n
-0001024435 00000 n
-0001024500 00000 n
-0001024565 00000 n
-0001024630 00000 n
-0001024695 00000 n
-0001024760 00000 n
-0001024825 00000 n
-0001024889 00000 n
-0001024954 00000 n
-0001025019 00000 n
-0001025084 00000 n
-0001025149 00000 n
-0001025214 00000 n
-0001025279 00000 n
-0001025344 00000 n
-0001025409 00000 n
-0001025474 00000 n
-0001025539 00000 n
-0001025604 00000 n
-0001025669 00000 n
-0001025734 00000 n
-0001025799 00000 n
-0001025863 00000 n
-0001025928 00000 n
-0001025993 00000 n
-0001026058 00000 n
-0001026123 00000 n
-0001026187 00000 n
-0001026252 00000 n
-0001026317 00000 n
-0001026382 00000 n
-0001026447 00000 n
-0001026512 00000 n
-0001026577 00000 n
-0001026642 00000 n
-0001026707 00000 n
-0001026771 00000 n
-0001026835 00000 n
-0001032942 00000 n
-0001029250 00000 n
-0001027076 00000 n
-0001029375 00000 n
-0001029439 00000 n
-0001029504 00000 n
-0001029569 00000 n
-0001029634 00000 n
-0001029699 00000 n
-0001029764 00000 n
-0001029829 00000 n
-0001029894 00000 n
-0001029959 00000 n
-0001030024 00000 n
-0001030089 00000 n
-0001030154 00000 n
-0001030219 00000 n
-0001030284 00000 n
-0001030349 00000 n
-0001030414 00000 n
-0001030479 00000 n
-0001030543 00000 n
-0001030608 00000 n
-0001030673 00000 n
-0001030738 00000 n
-0001030803 00000 n
-0001030868 00000 n
-0001030933 00000 n
-0001030998 00000 n
-0001031063 00000 n
-0001031128 00000 n
-0001031192 00000 n
-0001031257 00000 n
-0001031322 00000 n
-0001031387 00000 n
-0001031452 00000 n
-0001031517 00000 n
-0001031582 00000 n
-0001031646 00000 n
-0001031711 00000 n
-0001031776 00000 n
-0001031841 00000 n
-0001031906 00000 n
-0001031971 00000 n
-0001032036 00000 n
-0001032101 00000 n
-0001032166 00000 n
-0001032230 00000 n
-0001032295 00000 n
-0001032360 00000 n
-0001032425 00000 n
-0001032490 00000 n
-0001032555 00000 n
-0001032620 00000 n
-0001032685 00000 n
-0001032750 00000 n
-0001032814 00000 n
-0001032878 00000 n
-0001039043 00000 n
-0001035157 00000 n
-0001033119 00000 n
-0001035282 00000 n
-0001035346 00000 n
-0001035411 00000 n
-0001035476 00000 n
-0001035541 00000 n
-0001035606 00000 n
-0001035671 00000 n
-0001035736 00000 n
-0001035801 00000 n
-0001035866 00000 n
-0001035930 00000 n
-0001035995 00000 n
-0001036060 00000 n
-0001036125 00000 n
-0001036190 00000 n
-0001036255 00000 n
-0001036320 00000 n
-0001036385 00000 n
-0001036450 00000 n
-0001036515 00000 n
-0001036580 00000 n
-0001036644 00000 n
-0001036709 00000 n
-0001036774 00000 n
-0001036839 00000 n
-0001036904 00000 n
-0001036969 00000 n
-0001037034 00000 n
-0001037099 00000 n
-0001037163 00000 n
-0001037228 00000 n
-0001037293 00000 n
-0001037358 00000 n
-0001037423 00000 n
-0001037488 00000 n
-0001037553 00000 n
-0001037618 00000 n
-0001037683 00000 n
-0001037747 00000 n
-0001037812 00000 n
-0001037877 00000 n
-0001037942 00000 n
-0001038007 00000 n
-0001038072 00000 n
-0001038137 00000 n
-0001038202 00000 n
-0001038267 00000 n
-0001038331 00000 n
-0001038396 00000 n
-0001038461 00000 n
-0001038526 00000 n
-0001038591 00000 n
-0001038656 00000 n
-0001038721 00000 n
-0001038786 00000 n
-0001038851 00000 n
-0001038915 00000 n
-0001038979 00000 n
-0001045178 00000 n
-0001041226 00000 n
-0001039220 00000 n
-0001041351 00000 n
-0001041415 00000 n
-0001041480 00000 n
-0001041545 00000 n
-0001041610 00000 n
-0001041675 00000 n
-0001041740 00000 n
-0001041805 00000 n
-0001041870 00000 n
-0001041935 00000 n
-0001041999 00000 n
-0001042064 00000 n
-0001042129 00000 n
-0001042194 00000 n
-0001042259 00000 n
-0001042324 00000 n
-0001042389 00000 n
-0001042454 00000 n
-0001042519 00000 n
-0001042584 00000 n
-0001042649 00000 n
-0001042714 00000 n
-0001042779 00000 n
-0001042844 00000 n
-0001042909 00000 n
-0001042974 00000 n
-0001043038 00000 n
-0001043103 00000 n
-0001043168 00000 n
-0001043233 00000 n
-0001043298 00000 n
-0001043363 00000 n
-0001043428 00000 n
-0001043493 00000 n
-0001043558 00000 n
-0001043622 00000 n
-0001043687 00000 n
-0001043752 00000 n
-0001043817 00000 n
-0001043882 00000 n
-0001043947 00000 n
-0001044012 00000 n
-0001044077 00000 n
-0001044142 00000 n
-0001044207 00000 n
-0001044272 00000 n
-0001044336 00000 n
-0001044401 00000 n
-0001044466 00000 n
-0001044531 00000 n
-0001044596 00000 n
-0001044661 00000 n
-0001044726 00000 n
-0001044791 00000 n
-0001044856 00000 n
-0001044921 00000 n
-0001044985 00000 n
-0001045050 00000 n
-0001045114 00000 n
-0001050984 00000 n
-0001047289 00000 n
-0001045355 00000 n
-0001047414 00000 n
-0001047478 00000 n
-0001047543 00000 n
-0001047608 00000 n
-0001047673 00000 n
-0001047737 00000 n
-0001047802 00000 n
-0001047867 00000 n
-0001047932 00000 n
-0001047997 00000 n
-0001048062 00000 n
-0001048127 00000 n
-0001048192 00000 n
-0001048257 00000 n
-0001048321 00000 n
-0001048386 00000 n
-0001048451 00000 n
-0001048516 00000 n
-0001048581 00000 n
-0001048646 00000 n
-0001048711 00000 n
-0001048775 00000 n
-0001048840 00000 n
-0001048905 00000 n
-0001048970 00000 n
-0001049035 00000 n
-0001049100 00000 n
-0001049165 00000 n
-0001049230 00000 n
-0001049295 00000 n
-0001049360 00000 n
-0001049425 00000 n
-0001049490 00000 n
-0001049555 00000 n
-0001049620 00000 n
-0001049685 00000 n
-0001049750 00000 n
-0001049815 00000 n
-0001049880 00000 n
-0001049945 00000 n
-0001050010 00000 n
-0001050075 00000 n
-0001050140 00000 n
-0001050205 00000 n
-0001050270 00000 n
-0001050335 00000 n
-0001050400 00000 n
-0001050465 00000 n
-0001050530 00000 n
-0001050595 00000 n
-0001050660 00000 n
-0001050725 00000 n
-0001050789 00000 n
-0001050854 00000 n
-0001050919 00000 n
-0001056697 00000 n
-0001053264 00000 n
-0001051148 00000 n
-0001053389 00000 n
-0001053453 00000 n
-0001053518 00000 n
-0001053583 00000 n
-0001053648 00000 n
-0001053713 00000 n
-0001053778 00000 n
-0001053843 00000 n
-0001053908 00000 n
-0001053973 00000 n
-0001054038 00000 n
-0001054103 00000 n
-0001054168 00000 n
-0001054233 00000 n
-0001054298 00000 n
-0001054363 00000 n
-0001054428 00000 n
-0001054492 00000 n
-0001054557 00000 n
-0001054622 00000 n
-0001054687 00000 n
-0001054752 00000 n
-0001054817 00000 n
-0001054882 00000 n
-0001054947 00000 n
-0001055012 00000 n
-0001055077 00000 n
-0001055142 00000 n
-0001055207 00000 n
-0001055272 00000 n
-0001055337 00000 n
-0001055402 00000 n
-0001055467 00000 n
-0001055532 00000 n
-0001055597 00000 n
-0001055662 00000 n
-0001055727 00000 n
-0001055855 00000 n
-0001055920 00000 n
-0001055985 00000 n
-0001056050 00000 n
-0001056115 00000 n
-0001056180 00000 n
-0001056245 00000 n
-0001056310 00000 n
-0001056374 00000 n
-0001056439 00000 n
-0001056504 00000 n
-0001056569 00000 n
-0001056633 00000 n
-0001062584 00000 n
-0001059022 00000 n
-0001056887 00000 n
-0001059147 00000 n
-0001059211 00000 n
-0001059276 00000 n
-0001059341 00000 n
-0001059406 00000 n
-0001059471 00000 n
-0001059599 00000 n
-0001059663 00000 n
-0001059728 00000 n
-0001059793 00000 n
-0001059858 00000 n
-0001059923 00000 n
-0001059988 00000 n
-0001060053 00000 n
-0001060118 00000 n
-0001060183 00000 n
-0001060247 00000 n
-0001060312 00000 n
-0001060377 00000 n
-0001060442 00000 n
-0001060507 00000 n
-0001060572 00000 n
-0001060637 00000 n
-0001060702 00000 n
-0001060767 00000 n
-0001060832 00000 n
-0001060897 00000 n
-0001060962 00000 n
-0001061027 00000 n
-0001061092 00000 n
-0001061157 00000 n
-0001061222 00000 n
-0001061287 00000 n
-0001061352 00000 n
-0001061417 00000 n
-0001061482 00000 n
-0001061547 00000 n
-0001061612 00000 n
-0001061677 00000 n
-0001061742 00000 n
-0001061807 00000 n
-0001061872 00000 n
-0001061936 00000 n
-0001062001 00000 n
-0001062066 00000 n
-0001062131 00000 n
-0001062196 00000 n
-0001062261 00000 n
-0001062326 00000 n
-0001062391 00000 n
-0001062456 00000 n
-0001062520 00000 n
-0001067746 00000 n
-0001064903 00000 n
-0001062761 00000 n
-0001065028 00000 n
-0001065092 00000 n
-0001065157 00000 n
-0001065222 00000 n
-0001065287 00000 n
-0001065352 00000 n
-0001065417 00000 n
-0001065482 00000 n
-0001065547 00000 n
-0001065612 00000 n
-0001065677 00000 n
-0001065741 00000 n
-0001065806 00000 n
-0001065871 00000 n
-0001065936 00000 n
-0001066001 00000 n
-0001066066 00000 n
-0001066131 00000 n
-0001066196 00000 n
-0001066261 00000 n
-0001066326 00000 n
-0001066391 00000 n
-0001066456 00000 n
-0001066521 00000 n
-0001066586 00000 n
-0001066651 00000 n
-0001066779 00000 n
-0001066843 00000 n
-0001066908 00000 n
-0001066973 00000 n
-0001067038 00000 n
-0001067103 00000 n
-0001067168 00000 n
-0001067232 00000 n
-0001067360 00000 n
-0001067423 00000 n
-0001067488 00000 n
-0001067553 00000 n
-0001067618 00000 n
-0001067682 00000 n
-0001073450 00000 n
-0001070410 00000 n
-0001067936 00000 n
-0001070535 00000 n
-0001070599 00000 n
-0001070664 00000 n
-0001070729 00000 n
-0001070794 00000 n
-0001070859 00000 n
-0001070923 00000 n
-0001070988 00000 n
-0001071053 00000 n
-0001071118 00000 n
-0001071183 00000 n
-0001071248 00000 n
-0001071313 00000 n
-0001071377 00000 n
-0001071442 00000 n
-0001071507 00000 n
-0001071571 00000 n
-0001071636 00000 n
-0001071701 00000 n
-0001071765 00000 n
-0001071830 00000 n
-0001071895 00000 n
-0001071960 00000 n
-0001072025 00000 n
-0001072090 00000 n
-0001072155 00000 n
-0001072220 00000 n
-0001072285 00000 n
-0001072349 00000 n
-0001072414 00000 n
-0001072479 00000 n
-0001072544 00000 n
-0001072609 00000 n
-0001072674 00000 n
-0001072739 00000 n
-0001072803 00000 n
-0001072868 00000 n
-0001072933 00000 n
-0001072998 00000 n
-0001073063 00000 n
-0001073128 00000 n
-0001073193 00000 n
-0001073258 00000 n
-0001073323 00000 n
-0001073386 00000 n
-0001076069 00000 n
-0001078428 00000 n
-0001075896 00000 n
-0001073627 00000 n
-0001076226 00000 n
-0001076290 00000 n
-0001076355 00000 n
-0001076420 00000 n
-0001076485 00000 n
-0001076550 00000 n
-0001076615 00000 n
-0001076680 00000 n
-0001076745 00000 n
-0001076810 00000 n
-0001076874 00000 n
-0001076939 00000 n
-0001077004 00000 n
-0001077069 00000 n
-0001077134 00000 n
-0001077199 00000 n
-0001077327 00000 n
-0001077392 00000 n
-0001077456 00000 n
-0001077521 00000 n
-0001077586 00000 n
-0001077651 00000 n
-0001077716 00000 n
-0001077781 00000 n
-0001077846 00000 n
-0001077911 00000 n
-0001077976 00000 n
-0001078041 00000 n
-0001078106 00000 n
-0001078171 00000 n
-0001078235 00000 n
-0001078300 00000 n
-0001890221 00000 n
-0001076038 00000 n
-0001084174 00000 n
-0001081391 00000 n
-0001078631 00000 n
-0001081516 00000 n
-0001081580 00000 n
-0001081645 00000 n
-0001081710 00000 n
-0001081775 00000 n
-0001081840 00000 n
-0001081905 00000 n
-0001081970 00000 n
-0001082034 00000 n
-0001082099 00000 n
-0001082164 00000 n
-0001082229 00000 n
-0001082294 00000 n
-0001082358 00000 n
-0001082423 00000 n
-0001082488 00000 n
-0001082553 00000 n
-0001082618 00000 n
-0001082683 00000 n
-0001082748 00000 n
-0001082813 00000 n
-0001082878 00000 n
-0001082942 00000 n
-0001083007 00000 n
-0001083072 00000 n
-0001083137 00000 n
-0001083202 00000 n
-0001083267 00000 n
-0001083332 00000 n
-0001083397 00000 n
-0001083462 00000 n
-0001083527 00000 n
-0001083592 00000 n
-0001083656 00000 n
-0001083721 00000 n
-0001083786 00000 n
-0001083851 00000 n
-0001083916 00000 n
-0001083981 00000 n
-0001084046 00000 n
-0001084110 00000 n
-0001089794 00000 n
-0001086041 00000 n
-0001084390 00000 n
-0001086166 00000 n
-0001086230 00000 n
-0001086295 00000 n
-0001086360 00000 n
-0001086425 00000 n
-0001086490 00000 n
-0001086555 00000 n
-0001086620 00000 n
-0001086685 00000 n
-0001086750 00000 n
-0001086814 00000 n
-0001086879 00000 n
-0001086944 00000 n
-0001087009 00000 n
-0001087074 00000 n
-0001087139 00000 n
-0001087265 00000 n
-0001087330 00000 n
-0001087395 00000 n
-0001087460 00000 n
-0001087525 00000 n
-0001087589 00000 n
-0001087654 00000 n
-0001087719 00000 n
-0001087784 00000 n
-0001087849 00000 n
-0001087914 00000 n
-0001087979 00000 n
-0001088044 00000 n
-0001088109 00000 n
-0001088173 00000 n
-0001088238 00000 n
-0001088303 00000 n
-0001088368 00000 n
-0001088433 00000 n
-0001088498 00000 n
-0001088563 00000 n
-0001088628 00000 n
-0001088693 00000 n
-0001088757 00000 n
-0001088822 00000 n
-0001088887 00000 n
-0001088952 00000 n
-0001089017 00000 n
-0001089082 00000 n
-0001089147 00000 n
-0001089212 00000 n
-0001089276 00000 n
-0001089341 00000 n
-0001089406 00000 n
-0001089471 00000 n
-0001089536 00000 n
-0001089601 00000 n
-0001089666 00000 n
-0001089730 00000 n
-0001095697 00000 n
-0001091937 00000 n
-0001089971 00000 n
-0001092062 00000 n
-0001092126 00000 n
-0001092191 00000 n
-0001092256 00000 n
-0001092321 00000 n
-0001092386 00000 n
-0001092451 00000 n
-0001092516 00000 n
-0001092581 00000 n
-0001092646 00000 n
-0001092710 00000 n
-0001092775 00000 n
-0001092840 00000 n
-0001092905 00000 n
-0001092970 00000 n
-0001093035 00000 n
-0001093100 00000 n
-0001093165 00000 n
-0001093230 00000 n
-0001093294 00000 n
-0001093359 00000 n
-0001093424 00000 n
-0001093489 00000 n
-0001093554 00000 n
-0001093619 00000 n
-0001093684 00000 n
-0001093749 00000 n
-0001093814 00000 n
-0001093879 00000 n
-0001093944 00000 n
-0001094009 00000 n
-0001094073 00000 n
-0001094138 00000 n
-0001094203 00000 n
-0001094268 00000 n
-0001094333 00000 n
-0001094398 00000 n
-0001094463 00000 n
-0001094528 00000 n
-0001094593 00000 n
-0001094658 00000 n
-0001094722 00000 n
-0001094787 00000 n
-0001094852 00000 n
-0001094917 00000 n
-0001094982 00000 n
-0001095047 00000 n
-0001095112 00000 n
-0001095177 00000 n
-0001095242 00000 n
-0001095307 00000 n
-0001095372 00000 n
-0001095437 00000 n
-0001095502 00000 n
-0001095567 00000 n
-0001095632 00000 n
-0001101161 00000 n
-0001098118 00000 n
-0001095874 00000 n
-0001098243 00000 n
-0001098307 00000 n
-0001098372 00000 n
-0001098437 00000 n
-0001098502 00000 n
-0001098567 00000 n
-0001098632 00000 n
-0001098697 00000 n
-0001098762 00000 n
-0001098827 00000 n
-0001098891 00000 n
-0001098956 00000 n
-0001099021 00000 n
-0001099086 00000 n
-0001099151 00000 n
-0001099216 00000 n
-0001099281 00000 n
-0001099346 00000 n
-0001099411 00000 n
-0001099476 00000 n
-0001099541 00000 n
-0001099606 00000 n
-0001099670 00000 n
-0001099735 00000 n
-0001099800 00000 n
-0001099865 00000 n
-0001099930 00000 n
-0001099995 00000 n
-0001100060 00000 n
-0001100125 00000 n
-0001100190 00000 n
-0001100254 00000 n
-0001100319 00000 n
-0001100384 00000 n
-0001100449 00000 n
-0001100514 00000 n
-0001100579 00000 n
-0001100644 00000 n
-0001100709 00000 n
-0001100773 00000 n
-0001100838 00000 n
-0001100903 00000 n
-0001100968 00000 n
-0001101033 00000 n
-0001101097 00000 n
-0001107307 00000 n
-0001103291 00000 n
-0001101351 00000 n
-0001103416 00000 n
-0001103480 00000 n
-0001103545 00000 n
-0001103610 00000 n
-0001103675 00000 n
-0001103740 00000 n
-0001103805 00000 n
-0001103870 00000 n
-0001103935 00000 n
-0001104000 00000 n
-0001104065 00000 n
-0001104130 00000 n
-0001104194 00000 n
-0001104259 00000 n
-0001104324 00000 n
-0001104389 00000 n
-0001104454 00000 n
-0001104519 00000 n
-0001104584 00000 n
-0001104649 00000 n
-0001104714 00000 n
-0001104778 00000 n
-0001104843 00000 n
-0001104908 00000 n
-0001104973 00000 n
-0001105038 00000 n
-0001105103 00000 n
-0001105168 00000 n
-0001105233 00000 n
-0001105298 00000 n
-0001105362 00000 n
-0001105427 00000 n
-0001105492 00000 n
-0001105557 00000 n
-0001105622 00000 n
-0001105687 00000 n
-0001105752 00000 n
-0001105817 00000 n
-0001105881 00000 n
-0001105946 00000 n
-0001106011 00000 n
-0001106076 00000 n
-0001106141 00000 n
-0001106206 00000 n
-0001106271 00000 n
-0001106336 00000 n
-0001106401 00000 n
-0001106465 00000 n
-0001106530 00000 n
-0001106595 00000 n
-0001106660 00000 n
-0001106725 00000 n
-0001106790 00000 n
-0001106855 00000 n
-0001106920 00000 n
-0001106985 00000 n
-0001107049 00000 n
-0001107114 00000 n
-0001107179 00000 n
-0001107243 00000 n
-0001113058 00000 n
-0001109691 00000 n
+0000981067 00000 n
+0000981131 00000 n
+0000981196 00000 n
+0000981261 00000 n
+0000981326 00000 n
+0000981391 00000 n
+0000981456 00000 n
+0000981521 00000 n
+0000981585 00000 n
+0000981650 00000 n
+0000981715 00000 n
+0000981780 00000 n
+0000981845 00000 n
+0000981910 00000 n
+0000981975 00000 n
+0000982040 00000 n
+0000982105 00000 n
+0000982169 00000 n
+0000982234 00000 n
+0000982299 00000 n
+0000982364 00000 n
+0000982429 00000 n
+0000982494 00000 n
+0000982559 00000 n
+0000982624 00000 n
+0000982689 00000 n
+0000982754 00000 n
+0000982818 00000 n
+0000982883 00000 n
+0000982948 00000 n
+0000983013 00000 n
+0000983078 00000 n
+0000983143 00000 n
+0000983208 00000 n
+0000983273 00000 n
+0000983338 00000 n
+0000983402 00000 n
+0000983467 00000 n
+0000983532 00000 n
+0000983597 00000 n
+0000983662 00000 n
+0000983727 00000 n
+0000983792 00000 n
+0000983857 00000 n
+0000983922 00000 n
+0000983986 00000 n
+0000984051 00000 n
+0000984116 00000 n
+0000984180 00000 n
+0000989840 00000 n
+0000986601 00000 n
+0000984421 00000 n
+0000986726 00000 n
+0000986790 00000 n
+0000986855 00000 n
+0000986920 00000 n
+0000986985 00000 n
+0000987049 00000 n
+0000987114 00000 n
+0000987178 00000 n
+0000987243 00000 n
+0000987308 00000 n
+0000987373 00000 n
+0000987438 00000 n
+0000987503 00000 n
+0000987568 00000 n
+0000987633 00000 n
+0000987698 00000 n
+0000987763 00000 n
+0000987828 00000 n
+0000987893 00000 n
+0000987958 00000 n
+0000988023 00000 n
+0000988088 00000 n
+0000988153 00000 n
+0000988218 00000 n
+0000988283 00000 n
+0000988347 00000 n
+0000988412 00000 n
+0000988477 00000 n
+0000988542 00000 n
+0000988607 00000 n
+0000988672 00000 n
+0000988737 00000 n
+0000988802 00000 n
+0000988867 00000 n
+0000988931 00000 n
+0000988996 00000 n
+0000989061 00000 n
+0000989126 00000 n
+0000989191 00000 n
+0000989256 00000 n
+0000989321 00000 n
+0000989386 00000 n
+0000989451 00000 n
+0000989516 00000 n
+0000989581 00000 n
+0000989646 00000 n
+0000989711 00000 n
+0000989776 00000 n
+0000995631 00000 n
+0000991549 00000 n
+0000990017 00000 n
+0000991674 00000 n
+0000991738 00000 n
+0000991803 00000 n
+0000991868 00000 n
+0000991933 00000 n
+0000991998 00000 n
+0000992063 00000 n
+0000992128 00000 n
+0000992193 00000 n
+0000992257 00000 n
+0000992322 00000 n
+0000992387 00000 n
+0000992452 00000 n
+0000992517 00000 n
+0000992582 00000 n
+0000992647 00000 n
+0000992712 00000 n
+0000992777 00000 n
+0000992841 00000 n
+0000992906 00000 n
+0000992971 00000 n
+0000993036 00000 n
+0000993100 00000 n
+0000993165 00000 n
+0000993230 00000 n
+0000993295 00000 n
+0000993360 00000 n
+0000993425 00000 n
+0000993490 00000 n
+0000993555 00000 n
+0000993620 00000 n
+0000993685 00000 n
+0000993750 00000 n
+0000993815 00000 n
+0000993880 00000 n
+0000993945 00000 n
+0000994010 00000 n
+0000994075 00000 n
+0000994140 00000 n
+0000994205 00000 n
+0000994270 00000 n
+0000994334 00000 n
+0000994399 00000 n
+0000994464 00000 n
+0000994529 00000 n
+0000994594 00000 n
+0000994659 00000 n
+0000994724 00000 n
+0000994789 00000 n
+0000994854 00000 n
+0000994919 00000 n
+0000994984 00000 n
+0000995049 00000 n
+0000995114 00000 n
+0000995178 00000 n
+0000995243 00000 n
+0000995308 00000 n
+0000995373 00000 n
+0000995438 00000 n
+0000995503 00000 n
+0000995567 00000 n
+0001001145 00000 n
+0000998684 00000 n
+0000995795 00000 n
+0000998809 00000 n
+0000998873 00000 n
+0000998938 00000 n
+0000999003 00000 n
+0000999068 00000 n
+0000999133 00000 n
+0000999198 00000 n
+0000999263 00000 n
+0000999328 00000 n
+0000999393 00000 n
+0000999457 00000 n
+0000999522 00000 n
+0000999587 00000 n
+0000999652 00000 n
+0000999717 00000 n
+0000999782 00000 n
+0000999847 00000 n
+0000999911 00000 n
+0000999976 00000 n
+0001000041 00000 n
+0001000106 00000 n
+0001000171 00000 n
+0001000236 00000 n
+0001000301 00000 n
+0001000366 00000 n
+0001000431 00000 n
+0001000496 00000 n
+0001000561 00000 n
+0001000626 00000 n
+0001000690 00000 n
+0001000755 00000 n
+0001000820 00000 n
+0001000885 00000 n
+0001000950 00000 n
+0001001015 00000 n
+0001001080 00000 n
+0001007078 00000 n
+0001003840 00000 n
+0001001322 00000 n
+0001003965 00000 n
+0001004029 00000 n
+0001004094 00000 n
+0001004159 00000 n
+0001004224 00000 n
+0001004289 00000 n
+0001004353 00000 n
+0001004418 00000 n
+0001004483 00000 n
+0001004548 00000 n
+0001004613 00000 n
+0001004678 00000 n
+0001004743 00000 n
+0001004807 00000 n
+0001004872 00000 n
+0001004937 00000 n
+0001005002 00000 n
+0001005067 00000 n
+0001005132 00000 n
+0001005197 00000 n
+0001005262 00000 n
+0001005327 00000 n
+0001005392 00000 n
+0001005457 00000 n
+0001005522 00000 n
+0001005587 00000 n
+0001005652 00000 n
+0001005717 00000 n
+0001005782 00000 n
+0001005847 00000 n
+0001005911 00000 n
+0001005976 00000 n
+0001006041 00000 n
+0001006106 00000 n
+0001006171 00000 n
+0001006236 00000 n
+0001006301 00000 n
+0001006366 00000 n
+0001006431 00000 n
+0001006495 00000 n
+0001006560 00000 n
+0001006625 00000 n
+0001006690 00000 n
+0001006755 00000 n
+0001006820 00000 n
+0001006885 00000 n
+0001006950 00000 n
+0001007014 00000 n
+0001013174 00000 n
+0001008964 00000 n
+0001007268 00000 n
+0001009089 00000 n
+0001009153 00000 n
+0001009218 00000 n
+0001009283 00000 n
+0001009348 00000 n
+0001009413 00000 n
+0001009478 00000 n
+0001009543 00000 n
+0001009608 00000 n
+0001009673 00000 n
+0001009737 00000 n
+0001009802 00000 n
+0001009867 00000 n
+0001009932 00000 n
+0001009995 00000 n
+0001010060 00000 n
+0001010125 00000 n
+0001010190 00000 n
+0001010255 00000 n
+0001010320 00000 n
+0001010385 00000 n
+0001010450 00000 n
+0001010515 00000 n
+0001010580 00000 n
+0001010645 00000 n
+0001010710 00000 n
+0001010775 00000 n
+0001010840 00000 n
+0001010905 00000 n
+0001010970 00000 n
+0001011035 00000 n
+0001011100 00000 n
+0001011165 00000 n
+0001011229 00000 n
+0001011294 00000 n
+0001011359 00000 n
+0001011424 00000 n
+0001011489 00000 n
+0001011554 00000 n
+0001011619 00000 n
+0001011684 00000 n
+0001011749 00000 n
+0001011813 00000 n
+0001011878 00000 n
+0001011943 00000 n
+0001012008 00000 n
+0001012073 00000 n
+0001012138 00000 n
+0001012203 00000 n
+0001012268 00000 n
+0001012333 00000 n
+0001012397 00000 n
+0001012462 00000 n
+0001012527 00000 n
+0001012592 00000 n
+0001012657 00000 n
+0001012722 00000 n
+0001012787 00000 n
+0001012852 00000 n
+0001012917 00000 n
+0001012981 00000 n
+0001013046 00000 n
+0001013110 00000 n
+0001019209 00000 n
+0001015130 00000 n
+0001013325 00000 n
+0001015255 00000 n
+0001015319 00000 n
+0001015384 00000 n
+0001015449 00000 n
+0001015514 00000 n
+0001015579 00000 n
+0001015644 00000 n
+0001015709 00000 n
+0001015774 00000 n
+0001015839 00000 n
+0001015903 00000 n
+0001015968 00000 n
+0001016033 00000 n
+0001016098 00000 n
+0001016163 00000 n
+0001016228 00000 n
+0001016293 00000 n
+0001016358 00000 n
+0001016423 00000 n
+0001016487 00000 n
+0001016552 00000 n
+0001016617 00000 n
+0001016682 00000 n
+0001016747 00000 n
+0001016812 00000 n
+0001016877 00000 n
+0001016942 00000 n
+0001017007 00000 n
+0001017070 00000 n
+0001017135 00000 n
+0001017200 00000 n
+0001017265 00000 n
+0001017330 00000 n
+0001017394 00000 n
+0001017459 00000 n
+0001017524 00000 n
+0001017589 00000 n
+0001017654 00000 n
+0001017719 00000 n
+0001017784 00000 n
+0001017849 00000 n
+0001017914 00000 n
+0001017979 00000 n
+0001018044 00000 n
+0001018107 00000 n
+0001018172 00000 n
+0001018237 00000 n
+0001018302 00000 n
+0001018367 00000 n
+0001018432 00000 n
+0001018497 00000 n
+0001018562 00000 n
+0001018627 00000 n
+0001018691 00000 n
+0001018756 00000 n
+0001018821 00000 n
+0001018886 00000 n
+0001018951 00000 n
+0001019016 00000 n
+0001019081 00000 n
+0001019145 00000 n
+0001894306 00000 n
+0001024783 00000 n
+0001021287 00000 n
+0001019373 00000 n
+0001021412 00000 n
+0001021476 00000 n
+0001021541 00000 n
+0001021606 00000 n
+0001021671 00000 n
+0001021736 00000 n
+0001021801 00000 n
+0001021866 00000 n
+0001021931 00000 n
+0001021996 00000 n
+0001022061 00000 n
+0001022126 00000 n
+0001022189 00000 n
+0001022254 00000 n
+0001022319 00000 n
+0001022383 00000 n
+0001022448 00000 n
+0001022513 00000 n
+0001022577 00000 n
+0001022642 00000 n
+0001022707 00000 n
+0001022772 00000 n
+0001022837 00000 n
+0001022902 00000 n
+0001022967 00000 n
+0001023032 00000 n
+0001023097 00000 n
+0001023161 00000 n
+0001023226 00000 n
+0001023291 00000 n
+0001023356 00000 n
+0001023421 00000 n
+0001023486 00000 n
+0001023551 00000 n
+0001023616 00000 n
+0001023681 00000 n
+0001023746 00000 n
+0001023811 00000 n
+0001023876 00000 n
+0001023941 00000 n
+0001024006 00000 n
+0001024071 00000 n
+0001024136 00000 n
+0001024201 00000 n
+0001024266 00000 n
+0001024331 00000 n
+0001024395 00000 n
+0001024460 00000 n
+0001024525 00000 n
+0001024590 00000 n
+0001024655 00000 n
+0001024719 00000 n
+0001030648 00000 n
+0001026696 00000 n
+0001024960 00000 n
+0001026821 00000 n
+0001026885 00000 n
+0001026950 00000 n
+0001027015 00000 n
+0001027080 00000 n
+0001027145 00000 n
+0001027210 00000 n
+0001027275 00000 n
+0001027340 00000 n
+0001027405 00000 n
+0001027469 00000 n
+0001027534 00000 n
+0001027599 00000 n
+0001027664 00000 n
+0001027729 00000 n
+0001027794 00000 n
+0001027859 00000 n
+0001027924 00000 n
+0001027989 00000 n
+0001028054 00000 n
+0001028119 00000 n
+0001028184 00000 n
+0001028248 00000 n
+0001028313 00000 n
+0001028378 00000 n
+0001028443 00000 n
+0001028508 00000 n
+0001028573 00000 n
+0001028638 00000 n
+0001028703 00000 n
+0001028768 00000 n
+0001028832 00000 n
+0001028897 00000 n
+0001028962 00000 n
+0001029026 00000 n
+0001029091 00000 n
+0001029156 00000 n
+0001029221 00000 n
+0001029286 00000 n
+0001029351 00000 n
+0001029416 00000 n
+0001029481 00000 n
+0001029546 00000 n
+0001029611 00000 n
+0001029676 00000 n
+0001029741 00000 n
+0001029806 00000 n
+0001029871 00000 n
+0001029935 00000 n
+0001030000 00000 n
+0001030065 00000 n
+0001030130 00000 n
+0001030195 00000 n
+0001030260 00000 n
+0001030325 00000 n
+0001030390 00000 n
+0001030455 00000 n
+0001030520 00000 n
+0001030584 00000 n
+0001036719 00000 n
+0001032898 00000 n
+0001030825 00000 n
+0001033023 00000 n
+0001033087 00000 n
+0001033152 00000 n
+0001033217 00000 n
+0001033282 00000 n
+0001033347 00000 n
+0001033412 00000 n
+0001033477 00000 n
+0001033542 00000 n
+0001033607 00000 n
+0001033671 00000 n
+0001033736 00000 n
+0001033801 00000 n
+0001033866 00000 n
+0001033931 00000 n
+0001033996 00000 n
+0001034061 00000 n
+0001034125 00000 n
+0001034190 00000 n
+0001034254 00000 n
+0001034319 00000 n
+0001034384 00000 n
+0001034449 00000 n
+0001034514 00000 n
+0001034579 00000 n
+0001034644 00000 n
+0001034709 00000 n
+0001034774 00000 n
+0001034838 00000 n
+0001034903 00000 n
+0001034968 00000 n
+0001035033 00000 n
+0001035097 00000 n
+0001035162 00000 n
+0001035227 00000 n
+0001035292 00000 n
+0001035357 00000 n
+0001035422 00000 n
+0001035487 00000 n
+0001035552 00000 n
+0001035617 00000 n
+0001035682 00000 n
+0001035747 00000 n
+0001035812 00000 n
+0001035877 00000 n
+0001035942 00000 n
+0001036007 00000 n
+0001036072 00000 n
+0001036137 00000 n
+0001036202 00000 n
+0001036267 00000 n
+0001036331 00000 n
+0001036396 00000 n
+0001036461 00000 n
+0001036526 00000 n
+0001036591 00000 n
+0001036655 00000 n
+0001042795 00000 n
+0001038909 00000 n
+0001036896 00000 n
+0001039034 00000 n
+0001039098 00000 n
+0001039163 00000 n
+0001039228 00000 n
+0001039293 00000 n
+0001039358 00000 n
+0001039423 00000 n
+0001039488 00000 n
+0001039553 00000 n
+0001039618 00000 n
+0001039682 00000 n
+0001039747 00000 n
+0001039812 00000 n
+0001039877 00000 n
+0001039942 00000 n
+0001040007 00000 n
+0001040072 00000 n
+0001040137 00000 n
+0001040202 00000 n
+0001040267 00000 n
+0001040332 00000 n
+0001040396 00000 n
+0001040461 00000 n
+0001040526 00000 n
+0001040591 00000 n
+0001040656 00000 n
+0001040721 00000 n
+0001040786 00000 n
+0001040851 00000 n
+0001040915 00000 n
+0001040980 00000 n
+0001041045 00000 n
+0001041110 00000 n
+0001041175 00000 n
+0001041240 00000 n
+0001041305 00000 n
+0001041370 00000 n
+0001041435 00000 n
+0001041499 00000 n
+0001041564 00000 n
+0001041629 00000 n
+0001041694 00000 n
+0001041759 00000 n
+0001041824 00000 n
+0001041889 00000 n
+0001041954 00000 n
+0001042019 00000 n
+0001042083 00000 n
+0001042148 00000 n
+0001042213 00000 n
+0001042278 00000 n
+0001042343 00000 n
+0001042408 00000 n
+0001042473 00000 n
+0001042538 00000 n
+0001042603 00000 n
+0001042667 00000 n
+0001042731 00000 n
+0001048826 00000 n
+0001044939 00000 n
+0001042972 00000 n
+0001045064 00000 n
+0001045128 00000 n
+0001045193 00000 n
+0001045258 00000 n
+0001045323 00000 n
+0001045388 00000 n
+0001045453 00000 n
+0001045518 00000 n
+0001045583 00000 n
+0001045648 00000 n
+0001045712 00000 n
+0001045777 00000 n
+0001045842 00000 n
+0001045907 00000 n
+0001045972 00000 n
+0001046037 00000 n
+0001046102 00000 n
+0001046166 00000 n
+0001046231 00000 n
+0001046296 00000 n
+0001046361 00000 n
+0001046426 00000 n
+0001046491 00000 n
+0001046556 00000 n
+0001046621 00000 n
+0001046686 00000 n
+0001046750 00000 n
+0001046815 00000 n
+0001046880 00000 n
+0001046945 00000 n
+0001047010 00000 n
+0001047075 00000 n
+0001047140 00000 n
+0001047205 00000 n
+0001047270 00000 n
+0001047335 00000 n
+0001047400 00000 n
+0001047464 00000 n
+0001047529 00000 n
+0001047594 00000 n
+0001047659 00000 n
+0001047724 00000 n
+0001047789 00000 n
+0001047854 00000 n
+0001047919 00000 n
+0001047984 00000 n
+0001048049 00000 n
+0001048113 00000 n
+0001048178 00000 n
+0001048243 00000 n
+0001048308 00000 n
+0001048373 00000 n
+0001048438 00000 n
+0001048503 00000 n
+0001048568 00000 n
+0001048633 00000 n
+0001048697 00000 n
+0001048762 00000 n
+0001054647 00000 n
+0001050955 00000 n
+0001049003 00000 n
+0001051080 00000 n
+0001051144 00000 n
+0001051209 00000 n
+0001051274 00000 n
+0001051339 00000 n
+0001051404 00000 n
+0001051469 00000 n
+0001051534 00000 n
+0001051599 00000 n
+0001051664 00000 n
+0001051728 00000 n
+0001051793 00000 n
+0001051858 00000 n
+0001051923 00000 n
+0001051988 00000 n
+0001052053 00000 n
+0001052118 00000 n
+0001052182 00000 n
+0001052247 00000 n
+0001052312 00000 n
+0001052377 00000 n
+0001052442 00000 n
+0001052507 00000 n
+0001052572 00000 n
+0001052637 00000 n
+0001052702 00000 n
+0001052766 00000 n
+0001052831 00000 n
+0001052896 00000 n
+0001052961 00000 n
+0001053026 00000 n
+0001053091 00000 n
+0001053156 00000 n
+0001053221 00000 n
+0001053286 00000 n
+0001053351 00000 n
+0001053416 00000 n
+0001053481 00000 n
+0001053546 00000 n
+0001053611 00000 n
+0001053675 00000 n
+0001053740 00000 n
+0001053805 00000 n
+0001053870 00000 n
+0001053935 00000 n
+0001054000 00000 n
+0001054065 00000 n
+0001054130 00000 n
+0001054195 00000 n
+0001054259 00000 n
+0001054324 00000 n
+0001054389 00000 n
+0001054454 00000 n
+0001054519 00000 n
+0001054583 00000 n
+0001060257 00000 n
+0001057150 00000 n
+0001054811 00000 n
+0001057275 00000 n
+0001057339 00000 n
+0001057404 00000 n
+0001057469 00000 n
+0001057534 00000 n
+0001057599 00000 n
+0001057664 00000 n
+0001057729 00000 n
+0001057793 00000 n
+0001057858 00000 n
+0001057923 00000 n
+0001057988 00000 n
+0001058053 00000 n
+0001058118 00000 n
+0001058183 00000 n
+0001058248 00000 n
+0001058313 00000 n
+0001058377 00000 n
+0001058442 00000 n
+0001058507 00000 n
+0001058572 00000 n
+0001058637 00000 n
+0001058702 00000 n
+0001058767 00000 n
+0001058832 00000 n
+0001058897 00000 n
+0001058962 00000 n
+0001059027 00000 n
+0001059092 00000 n
+0001059157 00000 n
+0001059222 00000 n
+0001059287 00000 n
+0001059352 00000 n
+0001059417 00000 n
+0001059481 00000 n
+0001059546 00000 n
+0001059611 00000 n
+0001059676 00000 n
+0001059804 00000 n
+0001059869 00000 n
+0001059934 00000 n
+0001059999 00000 n
+0001060064 00000 n
+0001060129 00000 n
+0001060193 00000 n
+0001066157 00000 n
+0001062596 00000 n
+0001060447 00000 n
+0001062721 00000 n
+0001062785 00000 n
+0001062850 00000 n
+0001062915 00000 n
+0001062980 00000 n
+0001063045 00000 n
+0001063110 00000 n
+0001063175 00000 n
+0001063240 00000 n
+0001063305 00000 n
+0001063369 00000 n
+0001063434 00000 n
+0001063562 00000 n
+0001063627 00000 n
+0001063692 00000 n
+0001063757 00000 n
+0001063821 00000 n
+0001063886 00000 n
+0001063951 00000 n
+0001064016 00000 n
+0001064081 00000 n
+0001064146 00000 n
+0001064211 00000 n
+0001064276 00000 n
+0001064341 00000 n
+0001064405 00000 n
+0001064470 00000 n
+0001064535 00000 n
+0001064600 00000 n
+0001064665 00000 n
+0001064730 00000 n
+0001064795 00000 n
+0001064860 00000 n
+0001064925 00000 n
+0001064990 00000 n
+0001065055 00000 n
+0001065120 00000 n
+0001065185 00000 n
+0001065250 00000 n
+0001065315 00000 n
+0001065380 00000 n
+0001065445 00000 n
+0001065509 00000 n
+0001065574 00000 n
+0001065639 00000 n
+0001065704 00000 n
+0001065769 00000 n
+0001065834 00000 n
+0001065899 00000 n
+0001065964 00000 n
+0001066029 00000 n
+0001066093 00000 n
+0001071358 00000 n
+0001068511 00000 n
+0001066334 00000 n
+0001068636 00000 n
+0001068700 00000 n
+0001068765 00000 n
+0001068830 00000 n
+0001068895 00000 n
+0001068960 00000 n
+0001069025 00000 n
+0001069090 00000 n
+0001069155 00000 n
+0001069220 00000 n
+0001069284 00000 n
+0001069349 00000 n
+0001069414 00000 n
+0001069479 00000 n
+0001069544 00000 n
+0001069609 00000 n
+0001069674 00000 n
+0001069737 00000 n
+0001069802 00000 n
+0001069867 00000 n
+0001069932 00000 n
+0001069997 00000 n
+0001070062 00000 n
+0001070127 00000 n
+0001070192 00000 n
+0001070257 00000 n
+0001070322 00000 n
+0001070387 00000 n
+0001070452 00000 n
+0001070517 00000 n
+0001070582 00000 n
+0001070647 00000 n
+0001070775 00000 n
+0001070840 00000 n
+0001070905 00000 n
+0001070970 00000 n
+0001071035 00000 n
+0001071100 00000 n
+0001071165 00000 n
+0001071230 00000 n
+0001077015 00000 n
+0001073972 00000 n
+0001071548 00000 n
+0001074097 00000 n
+0001074161 00000 n
+0001074226 00000 n
+0001074291 00000 n
+0001074356 00000 n
+0001074421 00000 n
+0001074486 00000 n
+0001074551 00000 n
+0001074616 00000 n
+0001074681 00000 n
+0001074745 00000 n
+0001074810 00000 n
+0001074875 00000 n
+0001074940 00000 n
+0001075005 00000 n
+0001075070 00000 n
+0001075135 00000 n
+0001075200 00000 n
+0001075265 00000 n
+0001075330 00000 n
+0001075395 00000 n
+0001075460 00000 n
+0001075525 00000 n
+0001075590 00000 n
+0001075655 00000 n
+0001075720 00000 n
+0001075785 00000 n
+0001075850 00000 n
+0001075914 00000 n
+0001075979 00000 n
+0001076044 00000 n
+0001076109 00000 n
+0001076174 00000 n
+0001076239 00000 n
+0001076304 00000 n
+0001076369 00000 n
+0001076434 00000 n
+0001076498 00000 n
+0001076563 00000 n
+0001076628 00000 n
+0001076693 00000 n
+0001076758 00000 n
+0001076823 00000 n
+0001076888 00000 n
+0001076951 00000 n
+0001894471 00000 n
+0001079722 00000 n
+0001082467 00000 n
+0001079549 00000 n
+0001077192 00000 n
+0001079879 00000 n
+0001079943 00000 n
+0001080008 00000 n
+0001080073 00000 n
+0001080138 00000 n
+0001080203 00000 n
+0001080268 00000 n
+0001080333 00000 n
+0001080398 00000 n
+0001080463 00000 n
+0001080527 00000 n
+0001080592 00000 n
+0001080657 00000 n
+0001080722 00000 n
+0001080787 00000 n
+0001080852 00000 n
+0001080917 00000 n
+0001080982 00000 n
+0001081047 00000 n
+0001081111 00000 n
+0001081176 00000 n
+0001081241 00000 n
+0001081369 00000 n
+0001081434 00000 n
+0001081499 00000 n
+0001081564 00000 n
+0001081629 00000 n
+0001081694 00000 n
+0001081759 00000 n
+0001081824 00000 n
+0001081888 00000 n
+0001081953 00000 n
+0001082018 00000 n
+0001082083 00000 n
+0001082148 00000 n
+0001082213 00000 n
+0001082278 00000 n
+0001082342 00000 n
+0001079691 00000 n
+0001088215 00000 n
+0001085432 00000 n
+0001082670 00000 n
+0001085557 00000 n
+0001085621 00000 n
+0001085686 00000 n
+0001085751 00000 n
+0001085816 00000 n
+0001085881 00000 n
+0001085946 00000 n
+0001086011 00000 n
+0001086075 00000 n
+0001086140 00000 n
+0001086205 00000 n
+0001086270 00000 n
+0001086335 00000 n
+0001086399 00000 n
+0001086464 00000 n
+0001086529 00000 n
+0001086594 00000 n
+0001086659 00000 n
+0001086724 00000 n
+0001086789 00000 n
+0001086854 00000 n
+0001086919 00000 n
+0001086983 00000 n
+0001087048 00000 n
+0001087113 00000 n
+0001087178 00000 n
+0001087243 00000 n
+0001087308 00000 n
+0001087373 00000 n
+0001087438 00000 n
+0001087503 00000 n
+0001087568 00000 n
+0001087633 00000 n
+0001087697 00000 n
+0001087762 00000 n
+0001087827 00000 n
+0001087892 00000 n
+0001087957 00000 n
+0001088022 00000 n
+0001088087 00000 n
+0001088151 00000 n
+0001093837 00000 n
+0001090084 00000 n
+0001088431 00000 n
+0001090209 00000 n
+0001090273 00000 n
+0001090338 00000 n
+0001090403 00000 n
+0001090468 00000 n
+0001090533 00000 n
+0001090598 00000 n
+0001090663 00000 n
+0001090728 00000 n
+0001090793 00000 n
+0001090857 00000 n
+0001090922 00000 n
+0001090987 00000 n
+0001091052 00000 n
+0001091117 00000 n
+0001091182 00000 n
+0001091308 00000 n
+0001091373 00000 n
+0001091438 00000 n
+0001091503 00000 n
+0001091568 00000 n
+0001091632 00000 n
+0001091697 00000 n
+0001091762 00000 n
+0001091827 00000 n
+0001091892 00000 n
+0001091957 00000 n
+0001092022 00000 n
+0001092087 00000 n
+0001092152 00000 n
+0001092216 00000 n
+0001092281 00000 n
+0001092346 00000 n
+0001092411 00000 n
+0001092476 00000 n
+0001092541 00000 n
+0001092606 00000 n
+0001092671 00000 n
+0001092736 00000 n
+0001092800 00000 n
+0001092865 00000 n
+0001092930 00000 n
+0001092995 00000 n
+0001093060 00000 n
+0001093125 00000 n
+0001093190 00000 n
+0001093255 00000 n
+0001093319 00000 n
+0001093384 00000 n
+0001093449 00000 n
+0001093514 00000 n
+0001093579 00000 n
+0001093644 00000 n
+0001093709 00000 n
+0001093773 00000 n
+0001099741 00000 n
+0001095981 00000 n
+0001094014 00000 n
+0001096106 00000 n
+0001096170 00000 n
+0001096235 00000 n
+0001096300 00000 n
+0001096365 00000 n
+0001096430 00000 n
+0001096495 00000 n
+0001096560 00000 n
+0001096625 00000 n
+0001096690 00000 n
+0001096754 00000 n
+0001096819 00000 n
+0001096884 00000 n
+0001096949 00000 n
+0001097014 00000 n
+0001097079 00000 n
+0001097144 00000 n
+0001097209 00000 n
+0001097274 00000 n
+0001097338 00000 n
+0001097403 00000 n
+0001097468 00000 n
+0001097533 00000 n
+0001097598 00000 n
+0001097663 00000 n
+0001097728 00000 n
+0001097793 00000 n
+0001097858 00000 n
+0001097923 00000 n
+0001097988 00000 n
+0001098053 00000 n
+0001098117 00000 n
+0001098182 00000 n
+0001098247 00000 n
+0001098312 00000 n
+0001098377 00000 n
+0001098442 00000 n
+0001098507 00000 n
+0001098572 00000 n
+0001098637 00000 n
+0001098702 00000 n
+0001098766 00000 n
+0001098831 00000 n
+0001098896 00000 n
+0001098961 00000 n
+0001099026 00000 n
+0001099091 00000 n
+0001099156 00000 n
+0001099221 00000 n
+0001099286 00000 n
+0001099351 00000 n
+0001099416 00000 n
+0001099481 00000 n
+0001099546 00000 n
+0001099611 00000 n
+0001099676 00000 n
+0001105211 00000 n
+0001102168 00000 n
+0001099918 00000 n
+0001102293 00000 n
+0001102357 00000 n
+0001102422 00000 n
+0001102487 00000 n
+0001102552 00000 n
+0001102617 00000 n
+0001102682 00000 n
+0001102747 00000 n
+0001102812 00000 n
+0001102877 00000 n
+0001102941 00000 n
+0001103006 00000 n
+0001103071 00000 n
+0001103136 00000 n
+0001103201 00000 n
+0001103266 00000 n
+0001103331 00000 n
+0001103396 00000 n
+0001103461 00000 n
+0001103526 00000 n
+0001103591 00000 n
+0001103656 00000 n
+0001103720 00000 n
+0001103785 00000 n
+0001103850 00000 n
+0001103915 00000 n
+0001103980 00000 n
+0001104045 00000 n
+0001104110 00000 n
+0001104175 00000 n
+0001104240 00000 n
+0001104304 00000 n
+0001104369 00000 n
+0001104434 00000 n
+0001104499 00000 n
+0001104564 00000 n
+0001104629 00000 n
+0001104694 00000 n
+0001104759 00000 n
+0001104823 00000 n
+0001104888 00000 n
+0001104953 00000 n
+0001105018 00000 n
+0001105083 00000 n
+0001105147 00000 n
+0001111362 00000 n
+0001107346 00000 n
+0001105401 00000 n
0001107471 00000 n
-0001109816 00000 n
-0001109880 00000 n
-0001109945 00000 n
-0001110010 00000 n
-0001110075 00000 n
-0001110140 00000 n
-0001110205 00000 n
-0001110270 00000 n
-0001110335 00000 n
-0001110400 00000 n
-0001110464 00000 n
-0001110529 00000 n
-0001110594 00000 n
-0001110659 00000 n
-0001110724 00000 n
-0001110789 00000 n
-0001110854 00000 n
-0001110918 00000 n
-0001110983 00000 n
-0001111048 00000 n
-0001111112 00000 n
-0001111177 00000 n
-0001111242 00000 n
-0001111307 00000 n
-0001111372 00000 n
-0001111437 00000 n
-0001111502 00000 n
-0001111567 00000 n
-0001111632 00000 n
-0001111697 00000 n
-0001111762 00000 n
-0001111826 00000 n
-0001111891 00000 n
-0001111956 00000 n
-0001112021 00000 n
-0001112086 00000 n
-0001112149 00000 n
-0001112214 00000 n
-0001112279 00000 n
-0001112344 00000 n
-0001112409 00000 n
-0001112474 00000 n
-0001112539 00000 n
-0001112604 00000 n
-0001112669 00000 n
-0001112733 00000 n
-0001112798 00000 n
-0001112863 00000 n
-0001112928 00000 n
-0001112993 00000 n
-0001118875 00000 n
-0001115380 00000 n
-0001113222 00000 n
-0001115505 00000 n
-0001115569 00000 n
-0001115634 00000 n
-0001115699 00000 n
-0001115764 00000 n
-0001115829 00000 n
-0001115894 00000 n
-0001115959 00000 n
-0001116024 00000 n
-0001116089 00000 n
-0001116153 00000 n
-0001116218 00000 n
-0001116283 00000 n
-0001116348 00000 n
-0001116413 00000 n
-0001116476 00000 n
-0001116541 00000 n
-0001116606 00000 n
-0001116671 00000 n
-0001116736 00000 n
-0001116801 00000 n
-0001116866 00000 n
-0001116931 00000 n
-0001116996 00000 n
-0001117061 00000 n
-0001117126 00000 n
-0001117190 00000 n
-0001117255 00000 n
-0001117320 00000 n
-0001117385 00000 n
-0001117450 00000 n
-0001117515 00000 n
-0001117580 00000 n
-0001117645 00000 n
-0001117710 00000 n
-0001117774 00000 n
-0001117839 00000 n
-0001117904 00000 n
-0001117969 00000 n
-0001118034 00000 n
-0001118098 00000 n
-0001118163 00000 n
-0001118228 00000 n
-0001118293 00000 n
-0001118358 00000 n
-0001118423 00000 n
-0001118488 00000 n
-0001118553 00000 n
-0001118618 00000 n
-0001118683 00000 n
-0001118747 00000 n
-0001118811 00000 n
-0001124250 00000 n
-0001121788 00000 n
-0001119052 00000 n
-0001121913 00000 n
-0001121977 00000 n
-0001122042 00000 n
-0001122107 00000 n
-0001122172 00000 n
-0001122237 00000 n
-0001122302 00000 n
-0001122367 00000 n
-0001122432 00000 n
-0001122497 00000 n
-0001122561 00000 n
-0001122626 00000 n
-0001122691 00000 n
-0001122756 00000 n
-0001122821 00000 n
-0001122886 00000 n
-0001122951 00000 n
-0001123016 00000 n
-0001123081 00000 n
-0001123146 00000 n
-0001123211 00000 n
-0001123276 00000 n
-0001123341 00000 n
-0001123406 00000 n
-0001123470 00000 n
-0001123535 00000 n
-0001123600 00000 n
-0001123665 00000 n
-0001123730 00000 n
-0001123795 00000 n
-0001123860 00000 n
-0001123925 00000 n
-0001123990 00000 n
-0001124055 00000 n
-0001124120 00000 n
-0001124185 00000 n
-0001130188 00000 n
-0001127014 00000 n
-0001124440 00000 n
-0001127139 00000 n
+0001107535 00000 n
+0001107600 00000 n
+0001107665 00000 n
+0001107730 00000 n
+0001107795 00000 n
+0001107860 00000 n
+0001107925 00000 n
+0001107990 00000 n
+0001108055 00000 n
+0001108120 00000 n
+0001108185 00000 n
+0001108249 00000 n
+0001108314 00000 n
+0001108379 00000 n
+0001108444 00000 n
+0001108509 00000 n
+0001108574 00000 n
+0001108639 00000 n
+0001108704 00000 n
+0001108769 00000 n
+0001108833 00000 n
+0001108898 00000 n
+0001108963 00000 n
+0001109028 00000 n
+0001109093 00000 n
+0001109158 00000 n
+0001109223 00000 n
+0001109288 00000 n
+0001109353 00000 n
+0001109417 00000 n
+0001109482 00000 n
+0001109547 00000 n
+0001109612 00000 n
+0001109677 00000 n
+0001109742 00000 n
+0001109807 00000 n
+0001109872 00000 n
+0001109936 00000 n
+0001110001 00000 n
+0001110066 00000 n
+0001110131 00000 n
+0001110196 00000 n
+0001110261 00000 n
+0001110326 00000 n
+0001110391 00000 n
+0001110456 00000 n
+0001110520 00000 n
+0001110585 00000 n
+0001110650 00000 n
+0001110715 00000 n
+0001110780 00000 n
+0001110845 00000 n
+0001110910 00000 n
+0001110975 00000 n
+0001111040 00000 n
+0001111104 00000 n
+0001111169 00000 n
+0001111234 00000 n
+0001111298 00000 n
+0001117116 00000 n
+0001113749 00000 n
+0001111526 00000 n
+0001113874 00000 n
+0001113938 00000 n
+0001114003 00000 n
+0001114068 00000 n
+0001114133 00000 n
+0001114198 00000 n
+0001114263 00000 n
+0001114328 00000 n
+0001114393 00000 n
+0001114458 00000 n
+0001114522 00000 n
+0001114587 00000 n
+0001114652 00000 n
+0001114717 00000 n
+0001114782 00000 n
+0001114847 00000 n
+0001114912 00000 n
+0001114976 00000 n
+0001115041 00000 n
+0001115106 00000 n
+0001115170 00000 n
+0001115235 00000 n
+0001115300 00000 n
+0001115365 00000 n
+0001115430 00000 n
+0001115495 00000 n
+0001115560 00000 n
+0001115625 00000 n
+0001115690 00000 n
+0001115755 00000 n
+0001115820 00000 n
+0001115884 00000 n
+0001115949 00000 n
+0001116014 00000 n
+0001116079 00000 n
+0001116144 00000 n
+0001116207 00000 n
+0001116272 00000 n
+0001116337 00000 n
+0001116402 00000 n
+0001116467 00000 n
+0001116532 00000 n
+0001116597 00000 n
+0001116662 00000 n
+0001116727 00000 n
+0001116791 00000 n
+0001116856 00000 n
+0001116921 00000 n
+0001116986 00000 n
+0001117051 00000 n
+0001122933 00000 n
+0001119438 00000 n
+0001117280 00000 n
+0001119563 00000 n
+0001119627 00000 n
+0001119692 00000 n
+0001119757 00000 n
+0001119822 00000 n
+0001119887 00000 n
+0001119952 00000 n
+0001120017 00000 n
+0001120082 00000 n
+0001120147 00000 n
+0001120211 00000 n
+0001120276 00000 n
+0001120341 00000 n
+0001120406 00000 n
+0001120471 00000 n
+0001120534 00000 n
+0001120599 00000 n
+0001120664 00000 n
+0001120729 00000 n
+0001120794 00000 n
+0001120859 00000 n
+0001120924 00000 n
+0001120989 00000 n
+0001121054 00000 n
+0001121119 00000 n
+0001121184 00000 n
+0001121248 00000 n
+0001121313 00000 n
+0001121378 00000 n
+0001121443 00000 n
+0001121508 00000 n
+0001121573 00000 n
+0001121638 00000 n
+0001121703 00000 n
+0001121768 00000 n
+0001121832 00000 n
+0001121897 00000 n
+0001121962 00000 n
+0001122027 00000 n
+0001122092 00000 n
+0001122156 00000 n
+0001122221 00000 n
+0001122286 00000 n
+0001122351 00000 n
+0001122416 00000 n
+0001122481 00000 n
+0001122546 00000 n
+0001122611 00000 n
+0001122676 00000 n
+0001122741 00000 n
+0001122805 00000 n
+0001122869 00000 n
+0001128307 00000 n
+0001125845 00000 n
+0001123110 00000 n
+0001125970 00000 n
+0001126034 00000 n
+0001126099 00000 n
+0001126164 00000 n
+0001126229 00000 n
+0001126294 00000 n
+0001126359 00000 n
+0001126424 00000 n
+0001126489 00000 n
+0001126554 00000 n
+0001126618 00000 n
+0001126683 00000 n
+0001126748 00000 n
+0001126813 00000 n
+0001126878 00000 n
+0001126943 00000 n
+0001127008 00000 n
+0001127073 00000 n
+0001127138 00000 n
0001127203 00000 n
0001127268 00000 n
0001127333 00000 n
@@ -50778,223 +50905,207 @@ xref
0001127852 00000 n
0001127917 00000 n
0001127982 00000 n
-0001128046 00000 n
-0001128111 00000 n
-0001128176 00000 n
-0001128241 00000 n
-0001128306 00000 n
-0001128371 00000 n
-0001128436 00000 n
-0001128501 00000 n
-0001128566 00000 n
-0001128631 00000 n
-0001128696 00000 n
-0001128761 00000 n
-0001128826 00000 n
-0001128891 00000 n
-0001128956 00000 n
-0001129021 00000 n
-0001129086 00000 n
-0001129151 00000 n
-0001129216 00000 n
-0001129281 00000 n
-0001129346 00000 n
-0001129411 00000 n
-0001129476 00000 n
-0001129541 00000 n
-0001129606 00000 n
-0001129671 00000 n
-0001129736 00000 n
-0001129800 00000 n
-0001129865 00000 n
-0001129930 00000 n
-0001129995 00000 n
-0001130060 00000 n
-0001130124 00000 n
-0001135749 00000 n
-0001132323 00000 n
-0001130365 00000 n
-0001132448 00000 n
-0001132512 00000 n
-0001132577 00000 n
-0001132642 00000 n
-0001132707 00000 n
-0001132772 00000 n
-0001132837 00000 n
-0001132901 00000 n
-0001132966 00000 n
-0001133031 00000 n
-0001133096 00000 n
-0001133161 00000 n
-0001133226 00000 n
-0001133291 00000 n
-0001133356 00000 n
-0001133421 00000 n
-0001133482 00000 n
-0001133547 00000 n
-0001133612 00000 n
-0001133677 00000 n
-0001133742 00000 n
-0001133807 00000 n
-0001133872 00000 n
-0001133937 00000 n
-0001134002 00000 n
-0001134066 00000 n
-0001134131 00000 n
-0001134196 00000 n
-0001134261 00000 n
-0001134389 00000 n
-0001134453 00000 n
-0001134518 00000 n
-0001134583 00000 n
-0001134648 00000 n
-0001134713 00000 n
-0001134777 00000 n
-0001134842 00000 n
-0001134907 00000 n
-0001134972 00000 n
-0001135037 00000 n
-0001135102 00000 n
-0001135167 00000 n
-0001135232 00000 n
-0001135297 00000 n
-0001135361 00000 n
-0001135426 00000 n
-0001135491 00000 n
-0001135556 00000 n
-0001135621 00000 n
-0001135685 00000 n
-0001890386 00000 n
-0001142147 00000 n
-0001138184 00000 n
-0001135926 00000 n
-0001138309 00000 n
-0001138373 00000 n
-0001138438 00000 n
-0001138503 00000 n
-0001138568 00000 n
-0001138633 00000 n
-0001138698 00000 n
-0001138763 00000 n
-0001138828 00000 n
-0001138893 00000 n
-0001138957 00000 n
-0001139022 00000 n
-0001139087 00000 n
-0001139152 00000 n
-0001139217 00000 n
-0001139282 00000 n
-0001139346 00000 n
-0001139411 00000 n
-0001139476 00000 n
-0001139541 00000 n
-0001139606 00000 n
-0001139671 00000 n
-0001139736 00000 n
-0001139801 00000 n
-0001139866 00000 n
-0001139930 00000 n
-0001139995 00000 n
-0001140060 00000 n
-0001140125 00000 n
-0001140190 00000 n
-0001140255 00000 n
-0001140320 00000 n
-0001140385 00000 n
-0001140450 00000 n
-0001140514 00000 n
-0001140579 00000 n
-0001140644 00000 n
-0001140709 00000 n
-0001140774 00000 n
-0001140839 00000 n
-0001140904 00000 n
-0001140969 00000 n
-0001141034 00000 n
-0001141099 00000 n
-0001141164 00000 n
-0001141229 00000 n
-0001141294 00000 n
-0001141359 00000 n
-0001141424 00000 n
-0001141490 00000 n
-0001141556 00000 n
-0001141622 00000 n
-0001141688 00000 n
-0001141753 00000 n
-0001141819 00000 n
-0001141885 00000 n
-0001141951 00000 n
-0001142017 00000 n
-0001142082 00000 n
-0001148152 00000 n
-0001144012 00000 n
-0001142337 00000 n
-0001144140 00000 n
-0001144206 00000 n
-0001144273 00000 n
-0001144340 00000 n
-0001144407 00000 n
-0001144474 00000 n
-0001144541 00000 n
-0001144608 00000 n
-0001144675 00000 n
-0001144742 00000 n
-0001144808 00000 n
-0001144875 00000 n
-0001144942 00000 n
-0001145009 00000 n
-0001145076 00000 n
-0001145143 00000 n
-0001145210 00000 n
-0001145277 00000 n
-0001145344 00000 n
-0001145410 00000 n
-0001145477 00000 n
-0001145544 00000 n
-0001145611 00000 n
-0001145678 00000 n
-0001145745 00000 n
-0001145812 00000 n
-0001145879 00000 n
-0001145946 00000 n
-0001146012 00000 n
-0001146079 00000 n
-0001146146 00000 n
-0001146213 00000 n
-0001146280 00000 n
-0001146347 00000 n
-0001146414 00000 n
-0001146481 00000 n
-0001146548 00000 n
-0001146614 00000 n
-0001146681 00000 n
-0001146748 00000 n
-0001146815 00000 n
-0001146882 00000 n
-0001146949 00000 n
-0001147016 00000 n
-0001147083 00000 n
-0001147150 00000 n
-0001147216 00000 n
-0001147283 00000 n
-0001147350 00000 n
-0001147417 00000 n
-0001147484 00000 n
-0001147551 00000 n
-0001147618 00000 n
-0001147685 00000 n
-0001147752 00000 n
-0001147819 00000 n
-0001147886 00000 n
-0001147953 00000 n
-0001148020 00000 n
-0001148086 00000 n
-0001153840 00000 n
-0001149838 00000 n
-0001148304 00000 n
+0001128047 00000 n
+0001128112 00000 n
+0001128177 00000 n
+0001128242 00000 n
+0001134246 00000 n
+0001131072 00000 n
+0001128497 00000 n
+0001131197 00000 n
+0001131261 00000 n
+0001131326 00000 n
+0001131391 00000 n
+0001131456 00000 n
+0001131521 00000 n
+0001131585 00000 n
+0001131650 00000 n
+0001131715 00000 n
+0001131780 00000 n
+0001131845 00000 n
+0001131910 00000 n
+0001131975 00000 n
+0001132040 00000 n
+0001132104 00000 n
+0001132169 00000 n
+0001132234 00000 n
+0001132299 00000 n
+0001132364 00000 n
+0001132429 00000 n
+0001132494 00000 n
+0001132559 00000 n
+0001132624 00000 n
+0001132689 00000 n
+0001132754 00000 n
+0001132819 00000 n
+0001132884 00000 n
+0001132949 00000 n
+0001133014 00000 n
+0001133079 00000 n
+0001133144 00000 n
+0001133209 00000 n
+0001133274 00000 n
+0001133339 00000 n
+0001133404 00000 n
+0001133469 00000 n
+0001133534 00000 n
+0001133599 00000 n
+0001133664 00000 n
+0001133729 00000 n
+0001133794 00000 n
+0001133858 00000 n
+0001133923 00000 n
+0001133988 00000 n
+0001134053 00000 n
+0001134118 00000 n
+0001134182 00000 n
+0001894636 00000 n
+0001139808 00000 n
+0001136382 00000 n
+0001134423 00000 n
+0001136507 00000 n
+0001136571 00000 n
+0001136636 00000 n
+0001136701 00000 n
+0001136766 00000 n
+0001136831 00000 n
+0001136896 00000 n
+0001136960 00000 n
+0001137025 00000 n
+0001137090 00000 n
+0001137155 00000 n
+0001137220 00000 n
+0001137285 00000 n
+0001137350 00000 n
+0001137415 00000 n
+0001137480 00000 n
+0001137541 00000 n
+0001137606 00000 n
+0001137671 00000 n
+0001137736 00000 n
+0001137801 00000 n
+0001137866 00000 n
+0001137931 00000 n
+0001137996 00000 n
+0001138061 00000 n
+0001138125 00000 n
+0001138190 00000 n
+0001138255 00000 n
+0001138320 00000 n
+0001138448 00000 n
+0001138512 00000 n
+0001138577 00000 n
+0001138642 00000 n
+0001138707 00000 n
+0001138772 00000 n
+0001138836 00000 n
+0001138901 00000 n
+0001138966 00000 n
+0001139031 00000 n
+0001139096 00000 n
+0001139161 00000 n
+0001139226 00000 n
+0001139291 00000 n
+0001139356 00000 n
+0001139420 00000 n
+0001139485 00000 n
+0001139550 00000 n
+0001139615 00000 n
+0001139680 00000 n
+0001139744 00000 n
+0001146236 00000 n
+0001142241 00000 n
+0001139985 00000 n
+0001142366 00000 n
+0001142430 00000 n
+0001142495 00000 n
+0001142560 00000 n
+0001142625 00000 n
+0001142690 00000 n
+0001142755 00000 n
+0001142820 00000 n
+0001142885 00000 n
+0001142950 00000 n
+0001143014 00000 n
+0001143079 00000 n
+0001143144 00000 n
+0001143209 00000 n
+0001143274 00000 n
+0001143339 00000 n
+0001143403 00000 n
+0001143469 00000 n
+0001143535 00000 n
+0001143601 00000 n
+0001143667 00000 n
+0001143733 00000 n
+0001143799 00000 n
+0001143865 00000 n
+0001143931 00000 n
+0001143996 00000 n
+0001144062 00000 n
+0001144128 00000 n
+0001144194 00000 n
+0001144260 00000 n
+0001144326 00000 n
+0001144392 00000 n
+0001144458 00000 n
+0001144524 00000 n
+0001144589 00000 n
+0001144655 00000 n
+0001144721 00000 n
+0001144787 00000 n
+0001144853 00000 n
+0001144919 00000 n
+0001144985 00000 n
+0001145051 00000 n
+0001145117 00000 n
+0001145183 00000 n
+0001145249 00000 n
+0001145315 00000 n
+0001145381 00000 n
+0001145447 00000 n
+0001145513 00000 n
+0001145579 00000 n
+0001145645 00000 n
+0001145711 00000 n
+0001145777 00000 n
+0001145842 00000 n
+0001145908 00000 n
+0001145974 00000 n
+0001146040 00000 n
+0001146106 00000 n
+0001146171 00000 n
+0001152239 00000 n
+0001148099 00000 n
+0001146426 00000 n
+0001148227 00000 n
+0001148293 00000 n
+0001148360 00000 n
+0001148427 00000 n
+0001148494 00000 n
+0001148561 00000 n
+0001148628 00000 n
+0001148695 00000 n
+0001148762 00000 n
+0001148829 00000 n
+0001148895 00000 n
+0001148962 00000 n
+0001149029 00000 n
+0001149096 00000 n
+0001149163 00000 n
+0001149230 00000 n
+0001149297 00000 n
+0001149364 00000 n
+0001149431 00000 n
+0001149497 00000 n
+0001149564 00000 n
+0001149631 00000 n
+0001149698 00000 n
+0001149765 00000 n
+0001149832 00000 n
+0001149899 00000 n
0001149966 00000 n
-0001150032 00000 n
+0001150033 00000 n
0001150099 00000 n
0001150166 00000 n
0001150233 00000 n
@@ -51003,7 +51114,7 @@ xref
0001150434 00000 n
0001150501 00000 n
0001150568 00000 n
-0001150634 00000 n
+0001150635 00000 n
0001150701 00000 n
0001150768 00000 n
0001150835 00000 n
@@ -51012,7 +51123,7 @@ xref
0001151036 00000 n
0001151103 00000 n
0001151170 00000 n
-0001151236 00000 n
+0001151237 00000 n
0001151303 00000 n
0001151370 00000 n
0001151437 00000 n
@@ -51021,1310 +51132,1312 @@ xref
0001151638 00000 n
0001151705 00000 n
0001151772 00000 n
-0001151837 00000 n
-0001151904 00000 n
-0001151971 00000 n
-0001152038 00000 n
-0001152105 00000 n
-0001152172 00000 n
-0001152239 00000 n
-0001152370 00000 n
-0001152437 00000 n
-0001152504 00000 n
-0001152571 00000 n
-0001152638 00000 n
-0001152705 00000 n
-0001152772 00000 n
-0001152839 00000 n
-0001152905 00000 n
-0001152972 00000 n
-0001153039 00000 n
-0001153106 00000 n
-0001153173 00000 n
-0001153240 00000 n
-0001153307 00000 n
-0001153374 00000 n
-0001153441 00000 n
-0001153507 00000 n
-0001153574 00000 n
-0001153641 00000 n
-0001153708 00000 n
-0001153774 00000 n
-0001160077 00000 n
-0001155805 00000 n
-0001154005 00000 n
-0001155933 00000 n
-0001155999 00000 n
-0001156066 00000 n
-0001156133 00000 n
-0001156200 00000 n
-0001156267 00000 n
-0001156334 00000 n
-0001156401 00000 n
-0001156468 00000 n
-0001156535 00000 n
-0001156602 00000 n
-0001156668 00000 n
-0001156735 00000 n
-0001156802 00000 n
-0001156869 00000 n
-0001156936 00000 n
-0001157003 00000 n
-0001157070 00000 n
-0001157137 00000 n
-0001157204 00000 n
-0001157270 00000 n
-0001157337 00000 n
-0001157404 00000 n
-0001157471 00000 n
-0001157538 00000 n
-0001157605 00000 n
-0001157672 00000 n
-0001157739 00000 n
-0001157806 00000 n
-0001157872 00000 n
-0001157939 00000 n
-0001158006 00000 n
-0001158073 00000 n
-0001158140 00000 n
-0001158207 00000 n
-0001158274 00000 n
-0001158341 00000 n
-0001158408 00000 n
-0001158474 00000 n
-0001158541 00000 n
-0001158608 00000 n
-0001158675 00000 n
-0001158742 00000 n
-0001158809 00000 n
-0001158876 00000 n
-0001158943 00000 n
-0001159010 00000 n
-0001159077 00000 n
-0001159143 00000 n
-0001159210 00000 n
-0001159277 00000 n
-0001159344 00000 n
-0001159411 00000 n
-0001159478 00000 n
-0001159545 00000 n
-0001159612 00000 n
-0001159679 00000 n
-0001159744 00000 n
-0001159811 00000 n
-0001159878 00000 n
-0001159945 00000 n
-0001160011 00000 n
-0001166123 00000 n
-0001161922 00000 n
-0001160255 00000 n
-0001162050 00000 n
-0001162116 00000 n
-0001162183 00000 n
-0001162250 00000 n
-0001162317 00000 n
-0001162384 00000 n
-0001162451 00000 n
-0001162518 00000 n
-0001162585 00000 n
-0001162652 00000 n
-0001162782 00000 n
-0001162849 00000 n
-0001162916 00000 n
-0001162983 00000 n
-0001163049 00000 n
-0001163116 00000 n
-0001163183 00000 n
-0001163250 00000 n
-0001163317 00000 n
-0001163384 00000 n
-0001163451 00000 n
-0001163518 00000 n
-0001163585 00000 n
-0001163651 00000 n
-0001163718 00000 n
-0001163785 00000 n
-0001163852 00000 n
-0001163919 00000 n
-0001163986 00000 n
-0001164053 00000 n
-0001164120 00000 n
-0001164187 00000 n
-0001164252 00000 n
-0001164319 00000 n
-0001164386 00000 n
-0001164453 00000 n
-0001164520 00000 n
-0001164587 00000 n
-0001164654 00000 n
-0001164721 00000 n
-0001164788 00000 n
-0001164855 00000 n
-0001164921 00000 n
-0001164988 00000 n
-0001165055 00000 n
-0001165122 00000 n
-0001165189 00000 n
-0001165256 00000 n
-0001165323 00000 n
-0001165390 00000 n
-0001165457 00000 n
-0001165523 00000 n
-0001165590 00000 n
-0001165657 00000 n
-0001165724 00000 n
-0001165791 00000 n
-0001165858 00000 n
-0001165925 00000 n
-0001165992 00000 n
-0001166058 00000 n
-0001172326 00000 n
-0001167920 00000 n
-0001166288 00000 n
-0001168048 00000 n
-0001168114 00000 n
-0001168181 00000 n
-0001168248 00000 n
-0001168315 00000 n
-0001168382 00000 n
-0001168449 00000 n
-0001168516 00000 n
-0001168583 00000 n
-0001168650 00000 n
-0001168716 00000 n
-0001168783 00000 n
-0001168850 00000 n
-0001168917 00000 n
-0001168984 00000 n
-0001169051 00000 n
-0001169118 00000 n
-0001169185 00000 n
-0001169252 00000 n
-0001169319 00000 n
-0001169385 00000 n
-0001169452 00000 n
-0001169519 00000 n
-0001169586 00000 n
-0001169653 00000 n
-0001169720 00000 n
-0001169787 00000 n
-0001169854 00000 n
-0001169921 00000 n
-0001169987 00000 n
-0001170054 00000 n
-0001170121 00000 n
-0001170188 00000 n
-0001170255 00000 n
-0001170322 00000 n
-0001170389 00000 n
-0001170456 00000 n
-0001170523 00000 n
-0001170589 00000 n
-0001170656 00000 n
-0001170723 00000 n
-0001170790 00000 n
-0001170857 00000 n
-0001170924 00000 n
-0001170991 00000 n
-0001171058 00000 n
-0001171125 00000 n
-0001171190 00000 n
-0001171257 00000 n
-0001171324 00000 n
-0001171391 00000 n
-0001171458 00000 n
-0001171525 00000 n
-0001171592 00000 n
-0001171659 00000 n
-0001171726 00000 n
-0001171792 00000 n
-0001171859 00000 n
-0001171926 00000 n
-0001171993 00000 n
-0001172060 00000 n
-0001172127 00000 n
-0001172194 00000 n
-0001172260 00000 n
-0001178093 00000 n
-0001174559 00000 n
-0001172478 00000 n
-0001174687 00000 n
-0001174753 00000 n
-0001174820 00000 n
-0001174887 00000 n
-0001174954 00000 n
-0001175021 00000 n
-0001175088 00000 n
-0001175155 00000 n
-0001175222 00000 n
-0001175289 00000 n
-0001175355 00000 n
-0001175422 00000 n
-0001175489 00000 n
-0001175556 00000 n
-0001175623 00000 n
-0001175690 00000 n
-0001175757 00000 n
-0001175824 00000 n
-0001175891 00000 n
-0001175957 00000 n
-0001176024 00000 n
-0001176091 00000 n
-0001176158 00000 n
-0001176225 00000 n
-0001176292 00000 n
-0001176359 00000 n
-0001176426 00000 n
-0001176493 00000 n
-0001176558 00000 n
-0001176625 00000 n
-0001176692 00000 n
-0001176759 00000 n
-0001176826 00000 n
-0001176893 00000 n
-0001176960 00000 n
-0001177027 00000 n
-0001177094 00000 n
-0001177160 00000 n
-0001177227 00000 n
-0001177294 00000 n
-0001177361 00000 n
-0001177428 00000 n
-0001177495 00000 n
-0001177562 00000 n
-0001177629 00000 n
-0001177696 00000 n
-0001177762 00000 n
-0001177829 00000 n
-0001177960 00000 n
-0001178027 00000 n
-0001184313 00000 n
-0001180307 00000 n
-0001178271 00000 n
-0001180435 00000 n
-0001180501 00000 n
-0001180568 00000 n
-0001180635 00000 n
-0001180702 00000 n
-0001180769 00000 n
-0001180836 00000 n
-0001180903 00000 n
-0001180970 00000 n
-0001181037 00000 n
-0001181103 00000 n
-0001181170 00000 n
-0001181237 00000 n
-0001181304 00000 n
-0001181371 00000 n
-0001181438 00000 n
-0001181505 00000 n
-0001181572 00000 n
-0001181639 00000 n
-0001181706 00000 n
-0001181773 00000 n
-0001181840 00000 n
-0001181907 00000 n
-0001181974 00000 n
+0001151839 00000 n
+0001151906 00000 n
+0001151973 00000 n
+0001152040 00000 n
+0001152107 00000 n
+0001152173 00000 n
+0001157923 00000 n
+0001153921 00000 n
+0001152391 00000 n
+0001154049 00000 n
+0001154115 00000 n
+0001154182 00000 n
+0001154249 00000 n
+0001154316 00000 n
+0001154383 00000 n
+0001154450 00000 n
+0001154517 00000 n
+0001154584 00000 n
+0001154651 00000 n
+0001154717 00000 n
+0001154784 00000 n
+0001154851 00000 n
+0001154918 00000 n
+0001154985 00000 n
+0001155052 00000 n
+0001155119 00000 n
+0001155186 00000 n
+0001155253 00000 n
+0001155319 00000 n
+0001155386 00000 n
+0001155453 00000 n
+0001155520 00000 n
+0001155587 00000 n
+0001155654 00000 n
+0001155721 00000 n
+0001155788 00000 n
+0001155855 00000 n
+0001155920 00000 n
+0001155987 00000 n
+0001156054 00000 n
+0001156121 00000 n
+0001156188 00000 n
+0001156255 00000 n
+0001156322 00000 n
+0001156453 00000 n
+0001156520 00000 n
+0001156587 00000 n
+0001156654 00000 n
+0001156721 00000 n
+0001156788 00000 n
+0001156855 00000 n
+0001156922 00000 n
+0001156988 00000 n
+0001157055 00000 n
+0001157122 00000 n
+0001157189 00000 n
+0001157256 00000 n
+0001157323 00000 n
+0001157390 00000 n
+0001157457 00000 n
+0001157524 00000 n
+0001157590 00000 n
+0001157657 00000 n
+0001157724 00000 n
+0001157791 00000 n
+0001157857 00000 n
+0001164161 00000 n
+0001159889 00000 n
+0001158088 00000 n
+0001160017 00000 n
+0001160083 00000 n
+0001160150 00000 n
+0001160217 00000 n
+0001160284 00000 n
+0001160351 00000 n
+0001160418 00000 n
+0001160485 00000 n
+0001160552 00000 n
+0001160619 00000 n
+0001160686 00000 n
+0001160752 00000 n
+0001160819 00000 n
+0001160886 00000 n
+0001160953 00000 n
+0001161020 00000 n
+0001161087 00000 n
+0001161154 00000 n
+0001161221 00000 n
+0001161288 00000 n
+0001161354 00000 n
+0001161421 00000 n
+0001161488 00000 n
+0001161555 00000 n
+0001161622 00000 n
+0001161689 00000 n
+0001161756 00000 n
+0001161823 00000 n
+0001161890 00000 n
+0001161956 00000 n
+0001162023 00000 n
+0001162090 00000 n
+0001162157 00000 n
+0001162224 00000 n
+0001162291 00000 n
+0001162358 00000 n
+0001162425 00000 n
+0001162492 00000 n
+0001162558 00000 n
+0001162625 00000 n
+0001162692 00000 n
+0001162759 00000 n
+0001162826 00000 n
+0001162893 00000 n
+0001162960 00000 n
+0001163027 00000 n
+0001163094 00000 n
+0001163161 00000 n
+0001163227 00000 n
+0001163294 00000 n
+0001163361 00000 n
+0001163428 00000 n
+0001163495 00000 n
+0001163562 00000 n
+0001163629 00000 n
+0001163696 00000 n
+0001163763 00000 n
+0001163828 00000 n
+0001163895 00000 n
+0001163962 00000 n
+0001164029 00000 n
+0001164095 00000 n
+0001170208 00000 n
+0001166007 00000 n
+0001164339 00000 n
+0001166135 00000 n
+0001166201 00000 n
+0001166268 00000 n
+0001166335 00000 n
+0001166402 00000 n
+0001166469 00000 n
+0001166536 00000 n
+0001166603 00000 n
+0001166670 00000 n
+0001166737 00000 n
+0001166867 00000 n
+0001166934 00000 n
+0001167001 00000 n
+0001167068 00000 n
+0001167134 00000 n
+0001167201 00000 n
+0001167268 00000 n
+0001167335 00000 n
+0001167402 00000 n
+0001167469 00000 n
+0001167536 00000 n
+0001167603 00000 n
+0001167670 00000 n
+0001167736 00000 n
+0001167803 00000 n
+0001167870 00000 n
+0001167937 00000 n
+0001168004 00000 n
+0001168071 00000 n
+0001168138 00000 n
+0001168205 00000 n
+0001168272 00000 n
+0001168337 00000 n
+0001168404 00000 n
+0001168471 00000 n
+0001168538 00000 n
+0001168605 00000 n
+0001168672 00000 n
+0001168739 00000 n
+0001168806 00000 n
+0001168873 00000 n
+0001168940 00000 n
+0001169006 00000 n
+0001169073 00000 n
+0001169140 00000 n
+0001169207 00000 n
+0001169274 00000 n
+0001169341 00000 n
+0001169408 00000 n
+0001169475 00000 n
+0001169542 00000 n
+0001169608 00000 n
+0001169675 00000 n
+0001169742 00000 n
+0001169809 00000 n
+0001169876 00000 n
+0001169943 00000 n
+0001170010 00000 n
+0001170077 00000 n
+0001170143 00000 n
+0001176409 00000 n
+0001172003 00000 n
+0001170373 00000 n
+0001172131 00000 n
+0001172197 00000 n
+0001172264 00000 n
+0001172331 00000 n
+0001172398 00000 n
+0001172465 00000 n
+0001172532 00000 n
+0001172599 00000 n
+0001172666 00000 n
+0001172733 00000 n
+0001172799 00000 n
+0001172866 00000 n
+0001172933 00000 n
+0001173000 00000 n
+0001173067 00000 n
+0001173134 00000 n
+0001173201 00000 n
+0001173268 00000 n
+0001173335 00000 n
+0001173402 00000 n
+0001173468 00000 n
+0001173535 00000 n
+0001173602 00000 n
+0001173669 00000 n
+0001173736 00000 n
+0001173803 00000 n
+0001173870 00000 n
+0001173937 00000 n
+0001174004 00000 n
+0001174070 00000 n
+0001174137 00000 n
+0001174204 00000 n
+0001174271 00000 n
+0001174338 00000 n
+0001174405 00000 n
+0001174472 00000 n
+0001174539 00000 n
+0001174606 00000 n
+0001174672 00000 n
+0001174739 00000 n
+0001174806 00000 n
+0001174873 00000 n
+0001174940 00000 n
+0001175007 00000 n
+0001175074 00000 n
+0001175141 00000 n
+0001175208 00000 n
+0001175273 00000 n
+0001175340 00000 n
+0001175407 00000 n
+0001175474 00000 n
+0001175541 00000 n
+0001175608 00000 n
+0001175675 00000 n
+0001175742 00000 n
+0001175809 00000 n
+0001175875 00000 n
+0001175942 00000 n
+0001176009 00000 n
+0001176076 00000 n
+0001176143 00000 n
+0001176210 00000 n
+0001176277 00000 n
+0001176343 00000 n
+0001182173 00000 n
+0001178639 00000 n
+0001176561 00000 n
+0001178767 00000 n
+0001178833 00000 n
+0001178900 00000 n
+0001178967 00000 n
+0001179034 00000 n
+0001179101 00000 n
+0001179168 00000 n
+0001179235 00000 n
+0001179302 00000 n
+0001179369 00000 n
+0001179435 00000 n
+0001179502 00000 n
+0001179569 00000 n
+0001179636 00000 n
+0001179703 00000 n
+0001179770 00000 n
+0001179837 00000 n
+0001179904 00000 n
+0001179971 00000 n
+0001180037 00000 n
+0001180104 00000 n
+0001180171 00000 n
+0001180238 00000 n
+0001180305 00000 n
+0001180372 00000 n
+0001180439 00000 n
+0001180506 00000 n
+0001180573 00000 n
+0001180638 00000 n
+0001180705 00000 n
+0001180772 00000 n
+0001180839 00000 n
+0001180906 00000 n
+0001180973 00000 n
+0001181040 00000 n
+0001181107 00000 n
+0001181174 00000 n
+0001181240 00000 n
+0001181307 00000 n
+0001181374 00000 n
+0001181441 00000 n
+0001181508 00000 n
+0001181575 00000 n
+0001181642 00000 n
+0001181709 00000 n
+0001181776 00000 n
+0001181842 00000 n
+0001181909 00000 n
0001182040 00000 n
0001182107 00000 n
-0001182174 00000 n
-0001182241 00000 n
-0001182308 00000 n
-0001182375 00000 n
-0001182442 00000 n
-0001182509 00000 n
-0001182576 00000 n
-0001182643 00000 n
-0001182710 00000 n
-0001182777 00000 n
-0001182844 00000 n
-0001182911 00000 n
-0001182978 00000 n
-0001183045 00000 n
-0001183112 00000 n
-0001183179 00000 n
-0001183246 00000 n
-0001183313 00000 n
-0001183380 00000 n
-0001183446 00000 n
-0001183513 00000 n
-0001183580 00000 n
-0001183647 00000 n
-0001183713 00000 n
-0001183780 00000 n
-0001183847 00000 n
-0001183913 00000 n
-0001183980 00000 n
-0001184047 00000 n
-0001184114 00000 n
-0001184181 00000 n
-0001184247 00000 n
-0001189161 00000 n
-0001186296 00000 n
-0001184491 00000 n
-0001186424 00000 n
-0001186490 00000 n
-0001186557 00000 n
-0001186624 00000 n
-0001186691 00000 n
-0001186758 00000 n
-0001186825 00000 n
-0001186892 00000 n
-0001186959 00000 n
-0001187026 00000 n
-0001187092 00000 n
-0001187159 00000 n
-0001187290 00000 n
-0001187357 00000 n
-0001187424 00000 n
-0001187491 00000 n
-0001187558 00000 n
-0001187625 00000 n
-0001187692 00000 n
-0001187759 00000 n
-0001187826 00000 n
-0001187893 00000 n
-0001187960 00000 n
-0001188027 00000 n
-0001188093 00000 n
-0001188224 00000 n
-0001188291 00000 n
-0001188358 00000 n
-0001188425 00000 n
-0001188492 00000 n
+0001188381 00000 n
+0001184375 00000 n
+0001182351 00000 n
+0001184503 00000 n
+0001184569 00000 n
+0001184636 00000 n
+0001184703 00000 n
+0001184770 00000 n
+0001184837 00000 n
+0001184904 00000 n
+0001184971 00000 n
+0001185038 00000 n
+0001185105 00000 n
+0001185171 00000 n
+0001185238 00000 n
+0001185305 00000 n
+0001185372 00000 n
+0001185439 00000 n
+0001185506 00000 n
+0001185573 00000 n
+0001185640 00000 n
+0001185707 00000 n
+0001185774 00000 n
+0001185841 00000 n
+0001185908 00000 n
+0001185975 00000 n
+0001186042 00000 n
+0001186108 00000 n
+0001186175 00000 n
+0001186242 00000 n
+0001186309 00000 n
+0001186376 00000 n
+0001186443 00000 n
+0001186510 00000 n
+0001186577 00000 n
+0001186644 00000 n
+0001186711 00000 n
+0001186778 00000 n
+0001186845 00000 n
+0001186912 00000 n
+0001186979 00000 n
+0001187046 00000 n
+0001187113 00000 n
+0001187180 00000 n
+0001187247 00000 n
+0001187314 00000 n
+0001187381 00000 n
+0001187448 00000 n
+0001187514 00000 n
+0001187581 00000 n
+0001187648 00000 n
+0001187715 00000 n
+0001187781 00000 n
+0001187848 00000 n
+0001187915 00000 n
+0001187981 00000 n
+0001188048 00000 n
+0001188115 00000 n
+0001188182 00000 n
+0001188249 00000 n
+0001188315 00000 n
+0001193227 00000 n
+0001190361 00000 n
0001188559 00000 n
-0001188626 00000 n
-0001188693 00000 n
-0001188759 00000 n
-0001188826 00000 n
-0001188893 00000 n
-0001188960 00000 n
-0001189027 00000 n
-0001189094 00000 n
-0001195718 00000 n
-0001191780 00000 n
-0001189365 00000 n
-0001191909 00000 n
-0001191975 00000 n
-0001192042 00000 n
-0001192109 00000 n
-0001192176 00000 n
-0001192243 00000 n
-0001192310 00000 n
-0001192377 00000 n
-0001192444 00000 n
-0001192511 00000 n
-0001192578 00000 n
-0001192645 00000 n
-0001192712 00000 n
-0001192779 00000 n
-0001192844 00000 n
-0001192911 00000 n
-0001192978 00000 n
-0001193045 00000 n
-0001193112 00000 n
-0001193179 00000 n
-0001193246 00000 n
-0001193313 00000 n
-0001193380 00000 n
-0001193447 00000 n
-0001193514 00000 n
-0001193580 00000 n
-0001193647 00000 n
-0001193714 00000 n
-0001193781 00000 n
-0001193848 00000 n
-0001193915 00000 n
-0001193982 00000 n
-0001194049 00000 n
-0001194116 00000 n
-0001194183 00000 n
-0001194250 00000 n
-0001194316 00000 n
-0001194382 00000 n
-0001194449 00000 n
-0001194516 00000 n
-0001194583 00000 n
-0001194650 00000 n
-0001194717 00000 n
-0001194784 00000 n
-0001194851 00000 n
-0001194918 00000 n
-0001194985 00000 n
-0001195051 00000 n
-0001195118 00000 n
-0001195185 00000 n
-0001195252 00000 n
-0001195319 00000 n
-0001195386 00000 n
-0001195453 00000 n
-0001195520 00000 n
-0001195587 00000 n
-0001195653 00000 n
-0001890559 00000 n
-0001201907 00000 n
-0001197766 00000 n
-0001195909 00000 n
-0001197895 00000 n
-0001197961 00000 n
-0001198028 00000 n
-0001198095 00000 n
-0001198162 00000 n
-0001198229 00000 n
-0001198296 00000 n
-0001198363 00000 n
-0001198430 00000 n
-0001198496 00000 n
-0001198563 00000 n
-0001198630 00000 n
-0001198697 00000 n
-0001198764 00000 n
-0001198831 00000 n
-0001198898 00000 n
-0001198965 00000 n
-0001199032 00000 n
-0001199099 00000 n
-0001199165 00000 n
-0001199232 00000 n
-0001199299 00000 n
-0001199366 00000 n
-0001199433 00000 n
-0001199500 00000 n
-0001199567 00000 n
-0001199634 00000 n
-0001199701 00000 n
-0001199768 00000 n
-0001199834 00000 n
-0001199901 00000 n
-0001199968 00000 n
-0001200035 00000 n
-0001200102 00000 n
-0001200169 00000 n
-0001200236 00000 n
-0001200303 00000 n
-0001200370 00000 n
-0001200437 00000 n
-0001200504 00000 n
-0001200571 00000 n
-0001200637 00000 n
-0001200704 00000 n
-0001200771 00000 n
-0001200838 00000 n
-0001200905 00000 n
-0001200972 00000 n
-0001201039 00000 n
-0001201106 00000 n
-0001201173 00000 n
-0001201240 00000 n
-0001201307 00000 n
-0001201373 00000 n
-0001201440 00000 n
-0001201507 00000 n
-0001201574 00000 n
-0001201641 00000 n
-0001201708 00000 n
-0001201775 00000 n
-0001201841 00000 n
-0001208429 00000 n
-0001204220 00000 n
-0001202072 00000 n
-0001204349 00000 n
-0001204415 00000 n
-0001204482 00000 n
-0001204549 00000 n
-0001204616 00000 n
-0001204683 00000 n
-0001204750 00000 n
-0001204817 00000 n
-0001204884 00000 n
-0001204951 00000 n
-0001205018 00000 n
-0001205085 00000 n
-0001205152 00000 n
-0001205219 00000 n
-0001205286 00000 n
-0001205353 00000 n
-0001205420 00000 n
-0001205487 00000 n
-0001205554 00000 n
-0001205621 00000 n
-0001205688 00000 n
-0001205755 00000 n
-0001205822 00000 n
-0001205889 00000 n
-0001205956 00000 n
-0001206023 00000 n
-0001206090 00000 n
-0001206157 00000 n
-0001206224 00000 n
-0001206291 00000 n
-0001206358 00000 n
-0001206425 00000 n
-0001206492 00000 n
-0001206559 00000 n
-0001206626 00000 n
-0001206693 00000 n
-0001206760 00000 n
-0001206827 00000 n
-0001206894 00000 n
-0001206961 00000 n
-0001207027 00000 n
-0001207094 00000 n
-0001207161 00000 n
-0001207228 00000 n
-0001207295 00000 n
-0001207362 00000 n
-0001207428 00000 n
-0001207495 00000 n
-0001207562 00000 n
-0001207629 00000 n
-0001207696 00000 n
-0001207763 00000 n
-0001207829 00000 n
-0001207896 00000 n
-0001207963 00000 n
-0001208030 00000 n
-0001208097 00000 n
-0001208164 00000 n
-0001208230 00000 n
-0001208297 00000 n
-0001208363 00000 n
-0001215147 00000 n
-0001210874 00000 n
-0001208594 00000 n
-0001211003 00000 n
-0001211069 00000 n
-0001211136 00000 n
-0001211203 00000 n
-0001211270 00000 n
-0001211337 00000 n
-0001211404 00000 n
-0001211471 00000 n
-0001211538 00000 n
-0001211605 00000 n
-0001211671 00000 n
-0001211738 00000 n
-0001211805 00000 n
-0001211872 00000 n
-0001211939 00000 n
-0001212006 00000 n
-0001212073 00000 n
-0001212140 00000 n
-0001212207 00000 n
-0001212274 00000 n
-0001212340 00000 n
-0001212407 00000 n
-0001212474 00000 n
-0001212541 00000 n
-0001212608 00000 n
-0001212675 00000 n
-0001212742 00000 n
-0001212809 00000 n
-0001212876 00000 n
-0001212942 00000 n
-0001213009 00000 n
-0001213076 00000 n
-0001213143 00000 n
-0001213210 00000 n
-0001213277 00000 n
-0001213344 00000 n
-0001213411 00000 n
-0001213478 00000 n
-0001213545 00000 n
-0001213611 00000 n
-0001213678 00000 n
-0001213745 00000 n
-0001213812 00000 n
-0001213879 00000 n
-0001213946 00000 n
-0001214013 00000 n
-0001214080 00000 n
-0001214147 00000 n
-0001214214 00000 n
-0001214281 00000 n
-0001214348 00000 n
-0001214414 00000 n
-0001214480 00000 n
-0001214547 00000 n
-0001214614 00000 n
-0001214681 00000 n
-0001214748 00000 n
-0001214815 00000 n
-0001214882 00000 n
-0001214949 00000 n
-0001215016 00000 n
-0001215082 00000 n
-0001222235 00000 n
-0001218029 00000 n
-0001215312 00000 n
-0001218158 00000 n
-0001218224 00000 n
-0001218291 00000 n
-0001218358 00000 n
-0001218425 00000 n
-0001218492 00000 n
-0001218559 00000 n
-0001218626 00000 n
-0001218693 00000 n
-0001218760 00000 n
-0001218827 00000 n
-0001218894 00000 n
-0001218960 00000 n
-0001219027 00000 n
-0001219094 00000 n
-0001219161 00000 n
-0001219228 00000 n
-0001219295 00000 n
-0001219362 00000 n
-0001219429 00000 n
-0001219496 00000 n
-0001219563 00000 n
-0001219629 00000 n
-0001219696 00000 n
-0001219763 00000 n
-0001219830 00000 n
-0001219897 00000 n
-0001219964 00000 n
-0001220031 00000 n
-0001220098 00000 n
-0001220165 00000 n
-0001220232 00000 n
-0001220299 00000 n
-0001220365 00000 n
-0001220432 00000 n
-0001220499 00000 n
-0001220566 00000 n
-0001220633 00000 n
-0001220700 00000 n
-0001220767 00000 n
-0001220834 00000 n
-0001220901 00000 n
-0001220968 00000 n
-0001221034 00000 n
-0001221100 00000 n
-0001221167 00000 n
-0001221234 00000 n
-0001221301 00000 n
-0001221368 00000 n
-0001221435 00000 n
-0001221502 00000 n
-0001221569 00000 n
-0001221636 00000 n
-0001221703 00000 n
-0001221770 00000 n
-0001221837 00000 n
-0001221902 00000 n
-0001221969 00000 n
-0001222036 00000 n
-0001222103 00000 n
-0001222169 00000 n
-0001228859 00000 n
-0001224651 00000 n
-0001222400 00000 n
-0001224780 00000 n
-0001224846 00000 n
-0001224913 00000 n
-0001224980 00000 n
-0001225047 00000 n
-0001225114 00000 n
-0001225181 00000 n
-0001225248 00000 n
-0001225315 00000 n
-0001225382 00000 n
-0001225449 00000 n
-0001225516 00000 n
-0001225582 00000 n
-0001225649 00000 n
-0001225716 00000 n
-0001225783 00000 n
-0001225850 00000 n
-0001225917 00000 n
-0001225984 00000 n
-0001226051 00000 n
-0001226118 00000 n
-0001226185 00000 n
-0001226251 00000 n
-0001226318 00000 n
-0001226385 00000 n
-0001226452 00000 n
-0001226519 00000 n
-0001226586 00000 n
-0001226653 00000 n
-0001226720 00000 n
-0001226787 00000 n
-0001226853 00000 n
-0001226920 00000 n
-0001226986 00000 n
-0001227053 00000 n
-0001227120 00000 n
-0001227187 00000 n
-0001227254 00000 n
-0001227321 00000 n
-0001227388 00000 n
-0001227455 00000 n
-0001227522 00000 n
-0001227589 00000 n
-0001227655 00000 n
-0001227722 00000 n
-0001227789 00000 n
-0001227856 00000 n
-0001227923 00000 n
-0001227990 00000 n
-0001228057 00000 n
-0001228124 00000 n
-0001228191 00000 n
-0001228258 00000 n
-0001228325 00000 n
-0001228392 00000 n
-0001228459 00000 n
-0001228526 00000 n
-0001228593 00000 n
-0001228660 00000 n
-0001228727 00000 n
-0001228793 00000 n
-0001235502 00000 n
-0001231229 00000 n
-0001229024 00000 n
-0001231358 00000 n
-0001231424 00000 n
-0001231491 00000 n
-0001231558 00000 n
-0001231625 00000 n
-0001231692 00000 n
-0001231758 00000 n
-0001231825 00000 n
-0001231892 00000 n
-0001231959 00000 n
-0001232026 00000 n
-0001232093 00000 n
-0001232160 00000 n
-0001232227 00000 n
-0001232294 00000 n
-0001232361 00000 n
-0001232428 00000 n
-0001232495 00000 n
-0001232562 00000 n
-0001232629 00000 n
-0001232695 00000 n
-0001232762 00000 n
-0001232829 00000 n
-0001232896 00000 n
-0001232963 00000 n
-0001233029 00000 n
-0001233096 00000 n
-0001233163 00000 n
-0001233230 00000 n
-0001233297 00000 n
-0001233364 00000 n
-0001233431 00000 n
-0001233498 00000 n
-0001233565 00000 n
-0001233632 00000 n
-0001233699 00000 n
-0001233766 00000 n
-0001233833 00000 n
-0001233900 00000 n
-0001233967 00000 n
-0001234033 00000 n
-0001234100 00000 n
-0001234167 00000 n
-0001234234 00000 n
-0001234301 00000 n
-0001234367 00000 n
-0001234434 00000 n
-0001234501 00000 n
-0001234568 00000 n
-0001234635 00000 n
-0001234701 00000 n
-0001234768 00000 n
-0001234835 00000 n
-0001234902 00000 n
-0001234969 00000 n
-0001235036 00000 n
-0001235102 00000 n
-0001235169 00000 n
-0001235236 00000 n
-0001235303 00000 n
-0001235370 00000 n
-0001235436 00000 n
-0001241876 00000 n
-0001237667 00000 n
-0001235667 00000 n
-0001237796 00000 n
-0001237862 00000 n
-0001237929 00000 n
-0001237996 00000 n
-0001238063 00000 n
-0001238130 00000 n
-0001238197 00000 n
-0001238264 00000 n
-0001238331 00000 n
-0001238398 00000 n
-0001238465 00000 n
-0001238531 00000 n
-0001238598 00000 n
-0001238665 00000 n
-0001238732 00000 n
-0001238799 00000 n
-0001238866 00000 n
-0001238933 00000 n
-0001239000 00000 n
-0001239067 00000 n
-0001239134 00000 n
-0001239201 00000 n
-0001239267 00000 n
-0001239334 00000 n
-0001239401 00000 n
-0001239468 00000 n
-0001239535 00000 n
-0001239602 00000 n
-0001239669 00000 n
-0001239736 00000 n
-0001239803 00000 n
-0001239870 00000 n
-0001239937 00000 n
-0001240003 00000 n
-0001240070 00000 n
-0001240137 00000 n
-0001240204 00000 n
-0001240271 00000 n
-0001240338 00000 n
-0001240405 00000 n
-0001240472 00000 n
-0001240539 00000 n
-0001240606 00000 n
-0001240673 00000 n
-0001240739 00000 n
-0001240806 00000 n
-0001240873 00000 n
-0001240940 00000 n
-0001241007 00000 n
-0001241074 00000 n
-0001241141 00000 n
-0001241208 00000 n
-0001241275 00000 n
-0001241342 00000 n
-0001241409 00000 n
-0001241476 00000 n
-0001241543 00000 n
-0001241610 00000 n
-0001241677 00000 n
-0001241744 00000 n
-0001241810 00000 n
-0001248351 00000 n
-0001244144 00000 n
-0001242041 00000 n
-0001244273 00000 n
-0001244339 00000 n
-0001244406 00000 n
-0001244473 00000 n
-0001244540 00000 n
-0001244607 00000 n
-0001244674 00000 n
-0001244741 00000 n
-0001244808 00000 n
-0001244875 00000 n
-0001244942 00000 n
-0001245008 00000 n
-0001245075 00000 n
-0001245142 00000 n
-0001245209 00000 n
-0001245276 00000 n
-0001245343 00000 n
-0001245410 00000 n
-0001245477 00000 n
-0001245544 00000 n
-0001245611 00000 n
-0001245677 00000 n
-0001245744 00000 n
-0001245811 00000 n
-0001245878 00000 n
-0001245945 00000 n
-0001246012 00000 n
-0001246079 00000 n
-0001246146 00000 n
-0001246213 00000 n
-0001246280 00000 n
-0001246346 00000 n
-0001246413 00000 n
-0001246479 00000 n
-0001246546 00000 n
-0001246613 00000 n
-0001246680 00000 n
-0001246747 00000 n
-0001246814 00000 n
-0001246881 00000 n
-0001246948 00000 n
-0001247015 00000 n
-0001247082 00000 n
-0001247148 00000 n
-0001247215 00000 n
-0001247282 00000 n
-0001247349 00000 n
-0001247416 00000 n
-0001247483 00000 n
-0001247550 00000 n
-0001247617 00000 n
-0001247684 00000 n
-0001247751 00000 n
-0001247817 00000 n
-0001247884 00000 n
-0001247951 00000 n
-0001248018 00000 n
-0001248085 00000 n
-0001248152 00000 n
-0001248219 00000 n
-0001248285 00000 n
-0001254985 00000 n
-0001250777 00000 n
-0001248516 00000 n
-0001250906 00000 n
-0001250972 00000 n
-0001251039 00000 n
-0001251106 00000 n
-0001251173 00000 n
-0001251240 00000 n
-0001251307 00000 n
-0001251374 00000 n
-0001251441 00000 n
-0001251508 00000 n
-0001251575 00000 n
-0001251641 00000 n
-0001251708 00000 n
-0001251775 00000 n
-0001251842 00000 n
-0001251909 00000 n
-0001251976 00000 n
-0001252043 00000 n
-0001252110 00000 n
-0001252177 00000 n
-0001252244 00000 n
-0001252310 00000 n
-0001252377 00000 n
-0001252444 00000 n
-0001252511 00000 n
-0001252578 00000 n
-0001252645 00000 n
-0001252712 00000 n
-0001252779 00000 n
-0001252846 00000 n
-0001252913 00000 n
-0001252979 00000 n
-0001253046 00000 n
-0001253112 00000 n
-0001253179 00000 n
-0001253246 00000 n
-0001253313 00000 n
-0001253380 00000 n
-0001253447 00000 n
-0001253514 00000 n
-0001253581 00000 n
-0001253648 00000 n
-0001253715 00000 n
-0001253781 00000 n
-0001253848 00000 n
-0001253915 00000 n
-0001253982 00000 n
-0001254049 00000 n
-0001254116 00000 n
-0001254183 00000 n
-0001254250 00000 n
-0001254317 00000 n
-0001254384 00000 n
-0001254451 00000 n
-0001254518 00000 n
-0001254585 00000 n
-0001254652 00000 n
-0001254719 00000 n
-0001254786 00000 n
-0001254853 00000 n
-0001254919 00000 n
-0001261270 00000 n
-0001256930 00000 n
-0001255150 00000 n
-0001257059 00000 n
-0001257125 00000 n
-0001257192 00000 n
-0001257259 00000 n
-0001257326 00000 n
-0001257393 00000 n
-0001257460 00000 n
-0001257527 00000 n
-0001257594 00000 n
-0001257661 00000 n
-0001257727 00000 n
-0001257794 00000 n
-0001257861 00000 n
-0001257928 00000 n
-0001257995 00000 n
-0001258062 00000 n
-0001258129 00000 n
-0001258196 00000 n
-0001258263 00000 n
-0001258330 00000 n
-0001258396 00000 n
-0001258463 00000 n
-0001258530 00000 n
-0001258597 00000 n
-0001258664 00000 n
-0001258731 00000 n
-0001258798 00000 n
-0001258865 00000 n
-0001258932 00000 n
-0001258999 00000 n
-0001259065 00000 n
-0001259132 00000 n
-0001259199 00000 n
-0001259266 00000 n
-0001259333 00000 n
-0001259400 00000 n
-0001259467 00000 n
-0001259534 00000 n
-0001259601 00000 n
-0001259667 00000 n
-0001259734 00000 n
-0001259800 00000 n
-0001259867 00000 n
-0001259934 00000 n
-0001260001 00000 n
-0001260068 00000 n
-0001260135 00000 n
-0001260202 00000 n
-0001260269 00000 n
-0001260336 00000 n
-0001260402 00000 n
-0001260469 00000 n
-0001260536 00000 n
-0001260603 00000 n
-0001260670 00000 n
-0001260737 00000 n
-0001260804 00000 n
-0001260871 00000 n
-0001260938 00000 n
-0001261005 00000 n
-0001261071 00000 n
-0001261138 00000 n
-0001261204 00000 n
-0001890735 00000 n
-0001267836 00000 n
-0001263425 00000 n
-0001261435 00000 n
-0001263554 00000 n
-0001263620 00000 n
-0001263687 00000 n
-0001263754 00000 n
-0001263821 00000 n
-0001263888 00000 n
-0001263955 00000 n
-0001264022 00000 n
-0001264089 00000 n
-0001264156 00000 n
-0001264222 00000 n
-0001264289 00000 n
-0001264356 00000 n
-0001264423 00000 n
-0001264490 00000 n
-0001264557 00000 n
-0001264624 00000 n
-0001264691 00000 n
-0001264758 00000 n
-0001264825 00000 n
-0001264892 00000 n
-0001264959 00000 n
-0001265026 00000 n
-0001265093 00000 n
-0001265160 00000 n
-0001265227 00000 n
-0001265294 00000 n
-0001265361 00000 n
-0001265428 00000 n
-0001265495 00000 n
-0001265562 00000 n
-0001265629 00000 n
-0001265696 00000 n
-0001265763 00000 n
-0001265830 00000 n
-0001265897 00000 n
-0001265964 00000 n
-0001266031 00000 n
-0001266098 00000 n
-0001266164 00000 n
-0001266231 00000 n
-0001266298 00000 n
-0001266365 00000 n
-0001266432 00000 n
-0001266499 00000 n
-0001266566 00000 n
-0001266633 00000 n
-0001266700 00000 n
-0001266767 00000 n
-0001266834 00000 n
-0001266901 00000 n
-0001266968 00000 n
-0001267035 00000 n
-0001267102 00000 n
-0001267169 00000 n
-0001267236 00000 n
-0001267303 00000 n
-0001267370 00000 n
-0001267436 00000 n
-0001267503 00000 n
-0001267570 00000 n
-0001267637 00000 n
-0001267704 00000 n
-0001267770 00000 n
-0001274122 00000 n
-0001269851 00000 n
-0001268001 00000 n
-0001269980 00000 n
-0001270046 00000 n
-0001270113 00000 n
-0001270180 00000 n
-0001270247 00000 n
-0001270314 00000 n
-0001270381 00000 n
-0001270448 00000 n
-0001270515 00000 n
-0001270582 00000 n
-0001270648 00000 n
-0001270715 00000 n
-0001270782 00000 n
-0001270849 00000 n
-0001270916 00000 n
-0001270983 00000 n
-0001271050 00000 n
-0001271117 00000 n
-0001271184 00000 n
-0001271250 00000 n
-0001271317 00000 n
-0001271384 00000 n
-0001271451 00000 n
-0001271518 00000 n
-0001271585 00000 n
-0001271652 00000 n
-0001271719 00000 n
-0001271786 00000 n
-0001271851 00000 n
-0001271918 00000 n
-0001271985 00000 n
-0001272052 00000 n
-0001272119 00000 n
-0001272186 00000 n
-0001272253 00000 n
-0001272320 00000 n
-0001272387 00000 n
-0001272453 00000 n
-0001272520 00000 n
-0001272587 00000 n
-0001272654 00000 n
-0001272721 00000 n
-0001272788 00000 n
-0001272855 00000 n
-0001272922 00000 n
-0001272989 00000 n
-0001273055 00000 n
-0001273122 00000 n
-0001273189 00000 n
-0001273256 00000 n
-0001273323 00000 n
-0001273390 00000 n
-0001273457 00000 n
-0001273524 00000 n
-0001273591 00000 n
-0001273657 00000 n
-0001273724 00000 n
-0001273789 00000 n
-0001273856 00000 n
-0001273923 00000 n
-0001273990 00000 n
-0001274056 00000 n
-0001280401 00000 n
-0001276128 00000 n
-0001274300 00000 n
-0001276257 00000 n
-0001276323 00000 n
-0001276390 00000 n
-0001276457 00000 n
-0001276524 00000 n
-0001276591 00000 n
-0001276658 00000 n
-0001276725 00000 n
-0001276792 00000 n
-0001276859 00000 n
-0001276925 00000 n
-0001276992 00000 n
-0001277059 00000 n
-0001277126 00000 n
-0001277193 00000 n
-0001277260 00000 n
-0001277327 00000 n
-0001277394 00000 n
-0001277461 00000 n
-0001277527 00000 n
-0001277594 00000 n
-0001277661 00000 n
-0001277728 00000 n
-0001277795 00000 n
-0001277862 00000 n
-0001277929 00000 n
-0001277996 00000 n
-0001278063 00000 n
-0001278128 00000 n
-0001278195 00000 n
-0001278262 00000 n
-0001278329 00000 n
-0001278396 00000 n
-0001278463 00000 n
-0001278530 00000 n
-0001278597 00000 n
-0001278664 00000 n
-0001278730 00000 n
-0001278797 00000 n
-0001278864 00000 n
-0001278931 00000 n
-0001278998 00000 n
-0001279065 00000 n
-0001279132 00000 n
-0001279199 00000 n
-0001279266 00000 n
-0001279332 00000 n
-0001279399 00000 n
-0001279466 00000 n
-0001279533 00000 n
-0001279600 00000 n
-0001279667 00000 n
-0001279734 00000 n
-0001279801 00000 n
-0001279868 00000 n
-0001279935 00000 n
-0001280001 00000 n
-0001280068 00000 n
-0001280135 00000 n
-0001280202 00000 n
-0001280269 00000 n
-0001280335 00000 n
-0001286594 00000 n
-0001282188 00000 n
-0001280579 00000 n
-0001282317 00000 n
+0001190490 00000 n
+0001190556 00000 n
+0001190623 00000 n
+0001190690 00000 n
+0001190757 00000 n
+0001190824 00000 n
+0001190891 00000 n
+0001190958 00000 n
+0001191025 00000 n
+0001191092 00000 n
+0001191158 00000 n
+0001191225 00000 n
+0001191356 00000 n
+0001191423 00000 n
+0001191490 00000 n
+0001191557 00000 n
+0001191624 00000 n
+0001191691 00000 n
+0001191758 00000 n
+0001191825 00000 n
+0001191892 00000 n
+0001191959 00000 n
+0001192026 00000 n
+0001192093 00000 n
+0001192159 00000 n
+0001192290 00000 n
+0001192357 00000 n
+0001192424 00000 n
+0001192491 00000 n
+0001192558 00000 n
+0001192625 00000 n
+0001192692 00000 n
+0001192759 00000 n
+0001192825 00000 n
+0001192892 00000 n
+0001192959 00000 n
+0001193026 00000 n
+0001193093 00000 n
+0001193160 00000 n
+0001894808 00000 n
+0001199783 00000 n
+0001195845 00000 n
+0001193431 00000 n
+0001195974 00000 n
+0001196040 00000 n
+0001196107 00000 n
+0001196174 00000 n
+0001196241 00000 n
+0001196308 00000 n
+0001196375 00000 n
+0001196442 00000 n
+0001196509 00000 n
+0001196576 00000 n
+0001196643 00000 n
+0001196710 00000 n
+0001196777 00000 n
+0001196844 00000 n
+0001196909 00000 n
+0001196976 00000 n
+0001197043 00000 n
+0001197110 00000 n
+0001197177 00000 n
+0001197244 00000 n
+0001197311 00000 n
+0001197378 00000 n
+0001197445 00000 n
+0001197512 00000 n
+0001197579 00000 n
+0001197645 00000 n
+0001197712 00000 n
+0001197779 00000 n
+0001197846 00000 n
+0001197913 00000 n
+0001197980 00000 n
+0001198047 00000 n
+0001198114 00000 n
+0001198181 00000 n
+0001198248 00000 n
+0001198315 00000 n
+0001198381 00000 n
+0001198447 00000 n
+0001198514 00000 n
+0001198581 00000 n
+0001198648 00000 n
+0001198715 00000 n
+0001198782 00000 n
+0001198849 00000 n
+0001198916 00000 n
+0001198983 00000 n
+0001199050 00000 n
+0001199116 00000 n
+0001199183 00000 n
+0001199250 00000 n
+0001199317 00000 n
+0001199384 00000 n
+0001199451 00000 n
+0001199518 00000 n
+0001199585 00000 n
+0001199652 00000 n
+0001199718 00000 n
+0001205971 00000 n
+0001201830 00000 n
+0001199974 00000 n
+0001201959 00000 n
+0001202025 00000 n
+0001202092 00000 n
+0001202159 00000 n
+0001202226 00000 n
+0001202293 00000 n
+0001202360 00000 n
+0001202427 00000 n
+0001202494 00000 n
+0001202560 00000 n
+0001202627 00000 n
+0001202694 00000 n
+0001202761 00000 n
+0001202828 00000 n
+0001202895 00000 n
+0001202962 00000 n
+0001203029 00000 n
+0001203096 00000 n
+0001203163 00000 n
+0001203229 00000 n
+0001203296 00000 n
+0001203363 00000 n
+0001203430 00000 n
+0001203497 00000 n
+0001203564 00000 n
+0001203631 00000 n
+0001203698 00000 n
+0001203765 00000 n
+0001203832 00000 n
+0001203898 00000 n
+0001203965 00000 n
+0001204032 00000 n
+0001204099 00000 n
+0001204166 00000 n
+0001204233 00000 n
+0001204300 00000 n
+0001204367 00000 n
+0001204434 00000 n
+0001204501 00000 n
+0001204568 00000 n
+0001204635 00000 n
+0001204701 00000 n
+0001204768 00000 n
+0001204835 00000 n
+0001204902 00000 n
+0001204969 00000 n
+0001205036 00000 n
+0001205103 00000 n
+0001205170 00000 n
+0001205237 00000 n
+0001205304 00000 n
+0001205371 00000 n
+0001205437 00000 n
+0001205504 00000 n
+0001205571 00000 n
+0001205638 00000 n
+0001205705 00000 n
+0001205772 00000 n
+0001205839 00000 n
+0001205905 00000 n
+0001212489 00000 n
+0001208280 00000 n
+0001206136 00000 n
+0001208409 00000 n
+0001208475 00000 n
+0001208542 00000 n
+0001208609 00000 n
+0001208676 00000 n
+0001208743 00000 n
+0001208810 00000 n
+0001208877 00000 n
+0001208944 00000 n
+0001209011 00000 n
+0001209078 00000 n
+0001209145 00000 n
+0001209212 00000 n
+0001209279 00000 n
+0001209346 00000 n
+0001209413 00000 n
+0001209480 00000 n
+0001209547 00000 n
+0001209614 00000 n
+0001209681 00000 n
+0001209748 00000 n
+0001209815 00000 n
+0001209882 00000 n
+0001209949 00000 n
+0001210016 00000 n
+0001210083 00000 n
+0001210150 00000 n
+0001210217 00000 n
+0001210284 00000 n
+0001210351 00000 n
+0001210418 00000 n
+0001210485 00000 n
+0001210552 00000 n
+0001210619 00000 n
+0001210686 00000 n
+0001210753 00000 n
+0001210820 00000 n
+0001210887 00000 n
+0001210954 00000 n
+0001211021 00000 n
+0001211087 00000 n
+0001211154 00000 n
+0001211221 00000 n
+0001211288 00000 n
+0001211355 00000 n
+0001211422 00000 n
+0001211488 00000 n
+0001211555 00000 n
+0001211622 00000 n
+0001211689 00000 n
+0001211756 00000 n
+0001211823 00000 n
+0001211889 00000 n
+0001211956 00000 n
+0001212023 00000 n
+0001212090 00000 n
+0001212157 00000 n
+0001212224 00000 n
+0001212290 00000 n
+0001212357 00000 n
+0001212423 00000 n
+0001219209 00000 n
+0001214936 00000 n
+0001212654 00000 n
+0001215065 00000 n
+0001215131 00000 n
+0001215198 00000 n
+0001215265 00000 n
+0001215332 00000 n
+0001215399 00000 n
+0001215466 00000 n
+0001215533 00000 n
+0001215600 00000 n
+0001215667 00000 n
+0001215733 00000 n
+0001215800 00000 n
+0001215867 00000 n
+0001215934 00000 n
+0001216001 00000 n
+0001216068 00000 n
+0001216135 00000 n
+0001216202 00000 n
+0001216269 00000 n
+0001216336 00000 n
+0001216402 00000 n
+0001216469 00000 n
+0001216536 00000 n
+0001216603 00000 n
+0001216670 00000 n
+0001216737 00000 n
+0001216804 00000 n
+0001216871 00000 n
+0001216938 00000 n
+0001217004 00000 n
+0001217071 00000 n
+0001217138 00000 n
+0001217205 00000 n
+0001217272 00000 n
+0001217339 00000 n
+0001217406 00000 n
+0001217473 00000 n
+0001217540 00000 n
+0001217607 00000 n
+0001217673 00000 n
+0001217740 00000 n
+0001217807 00000 n
+0001217874 00000 n
+0001217941 00000 n
+0001218008 00000 n
+0001218075 00000 n
+0001218142 00000 n
+0001218209 00000 n
+0001218276 00000 n
+0001218343 00000 n
+0001218410 00000 n
+0001218476 00000 n
+0001218542 00000 n
+0001218609 00000 n
+0001218676 00000 n
+0001218743 00000 n
+0001218810 00000 n
+0001218877 00000 n
+0001218944 00000 n
+0001219011 00000 n
+0001219078 00000 n
+0001219144 00000 n
+0001226298 00000 n
+0001222092 00000 n
+0001219374 00000 n
+0001222221 00000 n
+0001222287 00000 n
+0001222354 00000 n
+0001222421 00000 n
+0001222488 00000 n
+0001222555 00000 n
+0001222622 00000 n
+0001222689 00000 n
+0001222756 00000 n
+0001222823 00000 n
+0001222890 00000 n
+0001222957 00000 n
+0001223023 00000 n
+0001223090 00000 n
+0001223157 00000 n
+0001223224 00000 n
+0001223291 00000 n
+0001223358 00000 n
+0001223425 00000 n
+0001223492 00000 n
+0001223559 00000 n
+0001223626 00000 n
+0001223692 00000 n
+0001223759 00000 n
+0001223826 00000 n
+0001223893 00000 n
+0001223960 00000 n
+0001224027 00000 n
+0001224094 00000 n
+0001224161 00000 n
+0001224228 00000 n
+0001224295 00000 n
+0001224362 00000 n
+0001224428 00000 n
+0001224495 00000 n
+0001224562 00000 n
+0001224629 00000 n
+0001224696 00000 n
+0001224763 00000 n
+0001224830 00000 n
+0001224897 00000 n
+0001224964 00000 n
+0001225031 00000 n
+0001225097 00000 n
+0001225163 00000 n
+0001225230 00000 n
+0001225297 00000 n
+0001225364 00000 n
+0001225431 00000 n
+0001225498 00000 n
+0001225565 00000 n
+0001225632 00000 n
+0001225699 00000 n
+0001225766 00000 n
+0001225833 00000 n
+0001225900 00000 n
+0001225965 00000 n
+0001226032 00000 n
+0001226099 00000 n
+0001226166 00000 n
+0001226232 00000 n
+0001232921 00000 n
+0001228713 00000 n
+0001226463 00000 n
+0001228842 00000 n
+0001228908 00000 n
+0001228975 00000 n
+0001229042 00000 n
+0001229109 00000 n
+0001229176 00000 n
+0001229243 00000 n
+0001229310 00000 n
+0001229377 00000 n
+0001229444 00000 n
+0001229511 00000 n
+0001229578 00000 n
+0001229644 00000 n
+0001229711 00000 n
+0001229778 00000 n
+0001229845 00000 n
+0001229912 00000 n
+0001229979 00000 n
+0001230046 00000 n
+0001230113 00000 n
+0001230180 00000 n
+0001230247 00000 n
+0001230313 00000 n
+0001230380 00000 n
+0001230447 00000 n
+0001230514 00000 n
+0001230581 00000 n
+0001230648 00000 n
+0001230715 00000 n
+0001230782 00000 n
+0001230849 00000 n
+0001230915 00000 n
+0001230982 00000 n
+0001231048 00000 n
+0001231115 00000 n
+0001231182 00000 n
+0001231249 00000 n
+0001231316 00000 n
+0001231383 00000 n
+0001231450 00000 n
+0001231517 00000 n
+0001231584 00000 n
+0001231651 00000 n
+0001231717 00000 n
+0001231784 00000 n
+0001231851 00000 n
+0001231918 00000 n
+0001231985 00000 n
+0001232052 00000 n
+0001232119 00000 n
+0001232186 00000 n
+0001232253 00000 n
+0001232320 00000 n
+0001232387 00000 n
+0001232454 00000 n
+0001232521 00000 n
+0001232588 00000 n
+0001232655 00000 n
+0001232722 00000 n
+0001232789 00000 n
+0001232855 00000 n
+0001239563 00000 n
+0001235290 00000 n
+0001233086 00000 n
+0001235419 00000 n
+0001235485 00000 n
+0001235552 00000 n
+0001235619 00000 n
+0001235686 00000 n
+0001235753 00000 n
+0001235819 00000 n
+0001235886 00000 n
+0001235953 00000 n
+0001236020 00000 n
+0001236087 00000 n
+0001236154 00000 n
+0001236221 00000 n
+0001236288 00000 n
+0001236355 00000 n
+0001236422 00000 n
+0001236489 00000 n
+0001236556 00000 n
+0001236623 00000 n
+0001236690 00000 n
+0001236756 00000 n
+0001236823 00000 n
+0001236890 00000 n
+0001236957 00000 n
+0001237024 00000 n
+0001237090 00000 n
+0001237157 00000 n
+0001237224 00000 n
+0001237291 00000 n
+0001237358 00000 n
+0001237425 00000 n
+0001237492 00000 n
+0001237559 00000 n
+0001237626 00000 n
+0001237693 00000 n
+0001237760 00000 n
+0001237827 00000 n
+0001237894 00000 n
+0001237961 00000 n
+0001238028 00000 n
+0001238094 00000 n
+0001238161 00000 n
+0001238228 00000 n
+0001238295 00000 n
+0001238362 00000 n
+0001238428 00000 n
+0001238495 00000 n
+0001238562 00000 n
+0001238629 00000 n
+0001238696 00000 n
+0001238762 00000 n
+0001238829 00000 n
+0001238896 00000 n
+0001238963 00000 n
+0001239030 00000 n
+0001239097 00000 n
+0001239163 00000 n
+0001239230 00000 n
+0001239297 00000 n
+0001239364 00000 n
+0001239431 00000 n
+0001239497 00000 n
+0001245938 00000 n
+0001241729 00000 n
+0001239728 00000 n
+0001241858 00000 n
+0001241924 00000 n
+0001241991 00000 n
+0001242058 00000 n
+0001242125 00000 n
+0001242192 00000 n
+0001242259 00000 n
+0001242326 00000 n
+0001242393 00000 n
+0001242460 00000 n
+0001242527 00000 n
+0001242593 00000 n
+0001242660 00000 n
+0001242727 00000 n
+0001242794 00000 n
+0001242861 00000 n
+0001242928 00000 n
+0001242995 00000 n
+0001243062 00000 n
+0001243129 00000 n
+0001243196 00000 n
+0001243263 00000 n
+0001243329 00000 n
+0001243396 00000 n
+0001243463 00000 n
+0001243530 00000 n
+0001243597 00000 n
+0001243664 00000 n
+0001243731 00000 n
+0001243798 00000 n
+0001243865 00000 n
+0001243932 00000 n
+0001243999 00000 n
+0001244065 00000 n
+0001244132 00000 n
+0001244199 00000 n
+0001244266 00000 n
+0001244333 00000 n
+0001244400 00000 n
+0001244467 00000 n
+0001244534 00000 n
+0001244601 00000 n
+0001244668 00000 n
+0001244735 00000 n
+0001244801 00000 n
+0001244868 00000 n
+0001244935 00000 n
+0001245002 00000 n
+0001245069 00000 n
+0001245136 00000 n
+0001245203 00000 n
+0001245270 00000 n
+0001245337 00000 n
+0001245404 00000 n
+0001245471 00000 n
+0001245538 00000 n
+0001245605 00000 n
+0001245672 00000 n
+0001245739 00000 n
+0001245806 00000 n
+0001245872 00000 n
+0001252416 00000 n
+0001248209 00000 n
+0001246103 00000 n
+0001248338 00000 n
+0001248404 00000 n
+0001248471 00000 n
+0001248538 00000 n
+0001248605 00000 n
+0001248672 00000 n
+0001248739 00000 n
+0001248806 00000 n
+0001248873 00000 n
+0001248940 00000 n
+0001249007 00000 n
+0001249073 00000 n
+0001249140 00000 n
+0001249207 00000 n
+0001249274 00000 n
+0001249341 00000 n
+0001249408 00000 n
+0001249475 00000 n
+0001249542 00000 n
+0001249609 00000 n
+0001249676 00000 n
+0001249742 00000 n
+0001249809 00000 n
+0001249876 00000 n
+0001249943 00000 n
+0001250010 00000 n
+0001250077 00000 n
+0001250144 00000 n
+0001250211 00000 n
+0001250278 00000 n
+0001250345 00000 n
+0001250411 00000 n
+0001250478 00000 n
+0001250544 00000 n
+0001250611 00000 n
+0001250678 00000 n
+0001250745 00000 n
+0001250812 00000 n
+0001250879 00000 n
+0001250946 00000 n
+0001251013 00000 n
+0001251080 00000 n
+0001251147 00000 n
+0001251213 00000 n
+0001251280 00000 n
+0001251347 00000 n
+0001251414 00000 n
+0001251481 00000 n
+0001251548 00000 n
+0001251615 00000 n
+0001251682 00000 n
+0001251749 00000 n
+0001251816 00000 n
+0001251882 00000 n
+0001251949 00000 n
+0001252016 00000 n
+0001252083 00000 n
+0001252150 00000 n
+0001252217 00000 n
+0001252284 00000 n
+0001252350 00000 n
+0001259056 00000 n
+0001254848 00000 n
+0001252581 00000 n
+0001254977 00000 n
+0001255043 00000 n
+0001255110 00000 n
+0001255177 00000 n
+0001255244 00000 n
+0001255311 00000 n
+0001255378 00000 n
+0001255445 00000 n
+0001255512 00000 n
+0001255579 00000 n
+0001255646 00000 n
+0001255712 00000 n
+0001255779 00000 n
+0001255846 00000 n
+0001255913 00000 n
+0001255980 00000 n
+0001256047 00000 n
+0001256114 00000 n
+0001256181 00000 n
+0001256248 00000 n
+0001256315 00000 n
+0001256381 00000 n
+0001256448 00000 n
+0001256515 00000 n
+0001256582 00000 n
+0001256649 00000 n
+0001256716 00000 n
+0001256783 00000 n
+0001256850 00000 n
+0001256917 00000 n
+0001256984 00000 n
+0001257050 00000 n
+0001257117 00000 n
+0001257183 00000 n
+0001257250 00000 n
+0001257317 00000 n
+0001257384 00000 n
+0001257451 00000 n
+0001257518 00000 n
+0001257585 00000 n
+0001257652 00000 n
+0001257719 00000 n
+0001257786 00000 n
+0001257852 00000 n
+0001257919 00000 n
+0001257986 00000 n
+0001258053 00000 n
+0001258120 00000 n
+0001258187 00000 n
+0001258254 00000 n
+0001258321 00000 n
+0001258388 00000 n
+0001258455 00000 n
+0001258522 00000 n
+0001258589 00000 n
+0001258656 00000 n
+0001258723 00000 n
+0001258790 00000 n
+0001258857 00000 n
+0001258924 00000 n
+0001258990 00000 n
+0001894984 00000 n
+0001265311 00000 n
+0001260971 00000 n
+0001259221 00000 n
+0001261100 00000 n
+0001261166 00000 n
+0001261233 00000 n
+0001261300 00000 n
+0001261367 00000 n
+0001261434 00000 n
+0001261501 00000 n
+0001261568 00000 n
+0001261635 00000 n
+0001261702 00000 n
+0001261768 00000 n
+0001261835 00000 n
+0001261902 00000 n
+0001261969 00000 n
+0001262036 00000 n
+0001262103 00000 n
+0001262170 00000 n
+0001262237 00000 n
+0001262304 00000 n
+0001262371 00000 n
+0001262437 00000 n
+0001262504 00000 n
+0001262571 00000 n
+0001262638 00000 n
+0001262705 00000 n
+0001262772 00000 n
+0001262839 00000 n
+0001262906 00000 n
+0001262973 00000 n
+0001263040 00000 n
+0001263106 00000 n
+0001263173 00000 n
+0001263240 00000 n
+0001263307 00000 n
+0001263374 00000 n
+0001263441 00000 n
+0001263508 00000 n
+0001263575 00000 n
+0001263642 00000 n
+0001263708 00000 n
+0001263775 00000 n
+0001263841 00000 n
+0001263908 00000 n
+0001263975 00000 n
+0001264042 00000 n
+0001264109 00000 n
+0001264176 00000 n
+0001264243 00000 n
+0001264310 00000 n
+0001264377 00000 n
+0001264443 00000 n
+0001264510 00000 n
+0001264577 00000 n
+0001264644 00000 n
+0001264711 00000 n
+0001264778 00000 n
+0001264845 00000 n
+0001264912 00000 n
+0001264979 00000 n
+0001265046 00000 n
+0001265112 00000 n
+0001265179 00000 n
+0001265245 00000 n
+0001271885 00000 n
+0001267474 00000 n
+0001265476 00000 n
+0001267603 00000 n
+0001267669 00000 n
+0001267736 00000 n
+0001267803 00000 n
+0001267870 00000 n
+0001267937 00000 n
+0001268004 00000 n
+0001268071 00000 n
+0001268138 00000 n
+0001268205 00000 n
+0001268271 00000 n
+0001268338 00000 n
+0001268405 00000 n
+0001268472 00000 n
+0001268539 00000 n
+0001268606 00000 n
+0001268673 00000 n
+0001268740 00000 n
+0001268807 00000 n
+0001268874 00000 n
+0001268941 00000 n
+0001269008 00000 n
+0001269075 00000 n
+0001269142 00000 n
+0001269209 00000 n
+0001269276 00000 n
+0001269343 00000 n
+0001269410 00000 n
+0001269477 00000 n
+0001269544 00000 n
+0001269611 00000 n
+0001269678 00000 n
+0001269745 00000 n
+0001269812 00000 n
+0001269879 00000 n
+0001269946 00000 n
+0001270013 00000 n
+0001270080 00000 n
+0001270147 00000 n
+0001270213 00000 n
+0001270280 00000 n
+0001270347 00000 n
+0001270414 00000 n
+0001270481 00000 n
+0001270548 00000 n
+0001270615 00000 n
+0001270682 00000 n
+0001270749 00000 n
+0001270816 00000 n
+0001270883 00000 n
+0001270950 00000 n
+0001271017 00000 n
+0001271084 00000 n
+0001271151 00000 n
+0001271218 00000 n
+0001271285 00000 n
+0001271352 00000 n
+0001271419 00000 n
+0001271485 00000 n
+0001271552 00000 n
+0001271619 00000 n
+0001271686 00000 n
+0001271753 00000 n
+0001271819 00000 n
+0001278172 00000 n
+0001273901 00000 n
+0001272050 00000 n
+0001274030 00000 n
+0001274096 00000 n
+0001274163 00000 n
+0001274230 00000 n
+0001274297 00000 n
+0001274364 00000 n
+0001274431 00000 n
+0001274498 00000 n
+0001274565 00000 n
+0001274632 00000 n
+0001274698 00000 n
+0001274765 00000 n
+0001274832 00000 n
+0001274899 00000 n
+0001274966 00000 n
+0001275033 00000 n
+0001275100 00000 n
+0001275167 00000 n
+0001275234 00000 n
+0001275300 00000 n
+0001275367 00000 n
+0001275434 00000 n
+0001275501 00000 n
+0001275568 00000 n
+0001275635 00000 n
+0001275702 00000 n
+0001275769 00000 n
+0001275836 00000 n
+0001275901 00000 n
+0001275968 00000 n
+0001276035 00000 n
+0001276102 00000 n
+0001276169 00000 n
+0001276236 00000 n
+0001276303 00000 n
+0001276370 00000 n
+0001276437 00000 n
+0001276503 00000 n
+0001276570 00000 n
+0001276637 00000 n
+0001276704 00000 n
+0001276771 00000 n
+0001276838 00000 n
+0001276905 00000 n
+0001276972 00000 n
+0001277039 00000 n
+0001277105 00000 n
+0001277172 00000 n
+0001277239 00000 n
+0001277306 00000 n
+0001277373 00000 n
+0001277440 00000 n
+0001277507 00000 n
+0001277574 00000 n
+0001277641 00000 n
+0001277707 00000 n
+0001277774 00000 n
+0001277839 00000 n
+0001277906 00000 n
+0001277973 00000 n
+0001278040 00000 n
+0001278106 00000 n
+0001284455 00000 n
+0001280182 00000 n
+0001278350 00000 n
+0001280311 00000 n
+0001280377 00000 n
+0001280444 00000 n
+0001280511 00000 n
+0001280578 00000 n
+0001280645 00000 n
+0001280712 00000 n
+0001280779 00000 n
+0001280846 00000 n
+0001280913 00000 n
+0001280979 00000 n
+0001281046 00000 n
+0001281113 00000 n
+0001281180 00000 n
+0001281247 00000 n
+0001281314 00000 n
+0001281381 00000 n
+0001281448 00000 n
+0001281515 00000 n
+0001281581 00000 n
+0001281648 00000 n
+0001281715 00000 n
+0001281782 00000 n
+0001281849 00000 n
+0001281916 00000 n
+0001281983 00000 n
+0001282050 00000 n
+0001282117 00000 n
+0001282182 00000 n
+0001282249 00000 n
+0001282316 00000 n
0001282383 00000 n
0001282450 00000 n
0001282517 00000 n
0001282584 00000 n
0001282651 00000 n
0001282718 00000 n
-0001282785 00000 n
-0001282852 00000 n
-0001282919 00000 n
+0001282784 00000 n
+0001282851 00000 n
+0001282918 00000 n
0001282985 00000 n
0001283052 00000 n
0001283119 00000 n
0001283186 00000 n
0001283253 00000 n
0001283320 00000 n
-0001283387 00000 n
-0001283454 00000 n
-0001283521 00000 n
+0001283386 00000 n
+0001283453 00000 n
+0001283520 00000 n
0001283587 00000 n
0001283654 00000 n
0001283721 00000 n
@@ -52332,645 +52445,680 @@ xref
0001283855 00000 n
0001283922 00000 n
0001283989 00000 n
-0001284056 00000 n
-0001284123 00000 n
-0001284188 00000 n
-0001284255 00000 n
-0001284322 00000 n
+0001284055 00000 n
+0001284122 00000 n
+0001284189 00000 n
+0001284256 00000 n
+0001284323 00000 n
0001284389 00000 n
-0001284456 00000 n
-0001284523 00000 n
-0001284590 00000 n
-0001284657 00000 n
-0001284724 00000 n
-0001284790 00000 n
-0001284857 00000 n
-0001284924 00000 n
-0001284991 00000 n
-0001285058 00000 n
-0001285125 00000 n
-0001285192 00000 n
-0001285259 00000 n
-0001285326 00000 n
-0001285392 00000 n
-0001285459 00000 n
-0001285526 00000 n
-0001285593 00000 n
-0001285660 00000 n
-0001285727 00000 n
-0001285794 00000 n
-0001285861 00000 n
-0001285928 00000 n
-0001285994 00000 n
-0001286061 00000 n
-0001286128 00000 n
-0001286195 00000 n
-0001286262 00000 n
-0001286329 00000 n
-0001286396 00000 n
-0001286463 00000 n
-0001286528 00000 n
-0001292982 00000 n
-0001288575 00000 n
-0001286759 00000 n
-0001288704 00000 n
-0001288770 00000 n
-0001288837 00000 n
-0001288904 00000 n
-0001288971 00000 n
-0001289038 00000 n
-0001289105 00000 n
-0001289172 00000 n
-0001289239 00000 n
-0001289306 00000 n
-0001289372 00000 n
-0001289439 00000 n
-0001289506 00000 n
-0001289573 00000 n
-0001289640 00000 n
-0001289707 00000 n
-0001289774 00000 n
-0001289841 00000 n
-0001289908 00000 n
-0001289974 00000 n
-0001290041 00000 n
-0001290108 00000 n
-0001290175 00000 n
-0001290242 00000 n
-0001290309 00000 n
-0001290376 00000 n
-0001290443 00000 n
-0001290510 00000 n
-0001290575 00000 n
-0001290642 00000 n
-0001290709 00000 n
-0001290776 00000 n
-0001290843 00000 n
-0001290910 00000 n
-0001290977 00000 n
-0001291044 00000 n
-0001291111 00000 n
-0001291177 00000 n
-0001291244 00000 n
-0001291311 00000 n
-0001291378 00000 n
-0001291445 00000 n
-0001291512 00000 n
-0001291579 00000 n
-0001291646 00000 n
-0001291713 00000 n
-0001291779 00000 n
-0001291846 00000 n
-0001291913 00000 n
-0001291980 00000 n
-0001292047 00000 n
-0001292114 00000 n
-0001292181 00000 n
-0001292248 00000 n
-0001292315 00000 n
-0001292381 00000 n
-0001292448 00000 n
-0001292515 00000 n
-0001292582 00000 n
-0001292649 00000 n
-0001292716 00000 n
-0001292783 00000 n
-0001292850 00000 n
-0001292916 00000 n
-0001296281 00000 n
-0001294280 00000 n
-0001293147 00000 n
-0001294409 00000 n
-0001294475 00000 n
-0001294542 00000 n
-0001294609 00000 n
-0001294676 00000 n
-0001294743 00000 n
-0001294810 00000 n
-0001294877 00000 n
-0001294944 00000 n
-0001295011 00000 n
-0001295078 00000 n
-0001295144 00000 n
-0001295211 00000 n
-0001295278 00000 n
-0001295345 00000 n
-0001295412 00000 n
-0001295479 00000 n
-0001295546 00000 n
-0001295613 00000 n
-0001295680 00000 n
-0001295747 00000 n
-0001295813 00000 n
-0001295879 00000 n
-0001295946 00000 n
-0001296013 00000 n
-0001296080 00000 n
-0001296147 00000 n
-0001296214 00000 n
-0001298225 00000 n
-0001298381 00000 n
-0001298538 00000 n
-0001298695 00000 n
-0001298851 00000 n
-0001299008 00000 n
-0001299165 00000 n
-0001299322 00000 n
-0001299479 00000 n
-0001299636 00000 n
-0001299794 00000 n
-0001299952 00000 n
-0001300110 00000 n
-0001300266 00000 n
-0001300423 00000 n
-0001300581 00000 n
-0001300739 00000 n
-0001300897 00000 n
-0001301055 00000 n
-0001301213 00000 n
-0001301371 00000 n
-0001301528 00000 n
-0001301685 00000 n
-0001301842 00000 n
-0001301999 00000 n
-0001302157 00000 n
-0001302315 00000 n
-0001302473 00000 n
-0001302631 00000 n
-0001302789 00000 n
-0001304079 00000 n
-0001303074 00000 n
-0001297755 00000 n
-0001296446 00000 n
-0001302944 00000 n
-0001297902 00000 n
-0001304237 00000 n
-0001304395 00000 n
-0001304553 00000 n
-0001304711 00000 n
-0001304869 00000 n
-0001305027 00000 n
-0001305183 00000 n
-0001305341 00000 n
-0001305499 00000 n
-0001305723 00000 n
-0001303809 00000 n
-0001303226 00000 n
-0001305657 00000 n
-0001303956 00000 n
-0001880766 00000 n
-0001305989 00000 n
-0001880586 00000 n
-0001306023 00000 n
-0001879931 00000 n
-0001306105 00000 n
-0001880973 00000 n
-0001306203 00000 n
-0001880890 00000 n
-0001306237 00000 n
-0001306265 00000 n
-0001306611 00000 n
-0001881099 00000 n
-0001307049 00000 n
-0001307077 00000 n
-0001307267 00000 n
-0001307423 00000 n
-0001307515 00000 n
-0001307597 00000 n
-0001307679 00000 n
-0001308003 00000 n
-0001308273 00000 n
-0001308415 00000 n
-0001308855 00000 n
-0001308883 00000 n
-0001309127 00000 n
+0001290649 00000 n
+0001286243 00000 n
+0001284633 00000 n
+0001286372 00000 n
+0001286438 00000 n
+0001286505 00000 n
+0001286572 00000 n
+0001286639 00000 n
+0001286706 00000 n
+0001286773 00000 n
+0001286840 00000 n
+0001286907 00000 n
+0001286974 00000 n
+0001287040 00000 n
+0001287107 00000 n
+0001287174 00000 n
+0001287241 00000 n
+0001287308 00000 n
+0001287375 00000 n
+0001287442 00000 n
+0001287509 00000 n
+0001287576 00000 n
+0001287642 00000 n
+0001287709 00000 n
+0001287776 00000 n
+0001287843 00000 n
+0001287910 00000 n
+0001287977 00000 n
+0001288044 00000 n
+0001288111 00000 n
+0001288178 00000 n
+0001288243 00000 n
+0001288310 00000 n
+0001288377 00000 n
+0001288444 00000 n
+0001288511 00000 n
+0001288578 00000 n
+0001288645 00000 n
+0001288712 00000 n
+0001288779 00000 n
+0001288845 00000 n
+0001288912 00000 n
+0001288979 00000 n
+0001289046 00000 n
+0001289113 00000 n
+0001289180 00000 n
+0001289247 00000 n
+0001289314 00000 n
+0001289381 00000 n
+0001289447 00000 n
+0001289514 00000 n
+0001289581 00000 n
+0001289648 00000 n
+0001289715 00000 n
+0001289782 00000 n
+0001289849 00000 n
+0001289916 00000 n
+0001289983 00000 n
+0001290049 00000 n
+0001290116 00000 n
+0001290183 00000 n
+0001290250 00000 n
+0001290317 00000 n
+0001290384 00000 n
+0001290451 00000 n
+0001290518 00000 n
+0001290583 00000 n
+0001297034 00000 n
+0001292627 00000 n
+0001290814 00000 n
+0001292756 00000 n
+0001292822 00000 n
+0001292889 00000 n
+0001292956 00000 n
+0001293023 00000 n
+0001293090 00000 n
+0001293157 00000 n
+0001293224 00000 n
+0001293291 00000 n
+0001293358 00000 n
+0001293424 00000 n
+0001293491 00000 n
+0001293558 00000 n
+0001293625 00000 n
+0001293692 00000 n
+0001293759 00000 n
+0001293826 00000 n
+0001293893 00000 n
+0001293960 00000 n
+0001294026 00000 n
+0001294093 00000 n
+0001294160 00000 n
+0001294227 00000 n
+0001294294 00000 n
+0001294361 00000 n
+0001294428 00000 n
+0001294495 00000 n
+0001294562 00000 n
+0001294627 00000 n
+0001294694 00000 n
+0001294761 00000 n
+0001294828 00000 n
+0001294895 00000 n
+0001294962 00000 n
+0001295029 00000 n
+0001295096 00000 n
+0001295163 00000 n
+0001295229 00000 n
+0001295296 00000 n
+0001295363 00000 n
+0001295430 00000 n
+0001295497 00000 n
+0001295564 00000 n
+0001295631 00000 n
+0001295698 00000 n
+0001295765 00000 n
+0001295831 00000 n
+0001295898 00000 n
+0001295965 00000 n
+0001296032 00000 n
+0001296099 00000 n
+0001296166 00000 n
+0001296233 00000 n
+0001296300 00000 n
+0001296367 00000 n
+0001296433 00000 n
+0001296500 00000 n
+0001296567 00000 n
+0001296634 00000 n
+0001296701 00000 n
+0001296768 00000 n
+0001296835 00000 n
+0001296902 00000 n
+0001296968 00000 n
+0001300334 00000 n
+0001298333 00000 n
+0001297199 00000 n
+0001298462 00000 n
+0001298528 00000 n
+0001298595 00000 n
+0001298662 00000 n
+0001298729 00000 n
+0001298796 00000 n
+0001298863 00000 n
+0001298930 00000 n
+0001298997 00000 n
+0001299064 00000 n
+0001299131 00000 n
+0001299197 00000 n
+0001299264 00000 n
+0001299331 00000 n
+0001299398 00000 n
+0001299465 00000 n
+0001299532 00000 n
+0001299599 00000 n
+0001299666 00000 n
+0001299733 00000 n
+0001299800 00000 n
+0001299866 00000 n
+0001299932 00000 n
+0001299999 00000 n
+0001300066 00000 n
+0001300133 00000 n
+0001300200 00000 n
+0001300267 00000 n
+0001302278 00000 n
+0001302434 00000 n
+0001302591 00000 n
+0001302748 00000 n
+0001302904 00000 n
+0001303061 00000 n
+0001303218 00000 n
+0001303375 00000 n
+0001303532 00000 n
+0001303689 00000 n
+0001303847 00000 n
+0001304005 00000 n
+0001304163 00000 n
+0001304319 00000 n
+0001304476 00000 n
+0001304634 00000 n
+0001304792 00000 n
+0001304950 00000 n
+0001305108 00000 n
+0001305266 00000 n
+0001305424 00000 n
+0001305581 00000 n
+0001305738 00000 n
+0001305895 00000 n
+0001306052 00000 n
+0001306210 00000 n
+0001306368 00000 n
+0001306526 00000 n
+0001306684 00000 n
+0001306842 00000 n
+0001308131 00000 n
+0001307127 00000 n
+0001301808 00000 n
+0001300499 00000 n
+0001306997 00000 n
+0001301955 00000 n
+0001308289 00000 n
+0001308447 00000 n
+0001308605 00000 n
+0001308763 00000 n
+0001308921 00000 n
+0001309079 00000 n
+0001309235 00000 n
+0001309393 00000 n
0001309551 00000 n
-0001309923 00000 n
-0001310243 00000 n
-0001310775 00000 n
-0001311165 00000 n
-0001311213 00000 n
+0001309775 00000 n
+0001307861 00000 n
+0001307279 00000 n
+0001309709 00000 n
+0001308008 00000 n
+0001885016 00000 n
+0001310041 00000 n
+0001884836 00000 n
+0001310075 00000 n
+0001884181 00000 n
+0001310157 00000 n
+0001885223 00000 n
+0001310255 00000 n
+0001885140 00000 n
+0001310289 00000 n
+0001310317 00000 n
+0001310663 00000 n
+0001885349 00000 n
+0001311101 00000 n
+0001311129 00000 n
0001311319 00000 n
-0001311603 00000 n
-0001311757 00000 n
-0001311987 00000 n
-0001312219 00000 n
-0001312255 00000 n
-0001312361 00000 n
-0001344395 00000 n
-0001312497 00000 n
-0001374881 00000 n
-0001344899 00000 n
-0001398042 00000 n
-0001375364 00000 n
-0001419076 00000 n
-0001398296 00000 n
-0001422562 00000 n
-0001419337 00000 n
-0001428359 00000 n
-0001422918 00000 n
-0001431737 00000 n
-0001428648 00000 n
-0001468474 00000 n
-0001431982 00000 n
-0001491401 00000 n
-0001469158 00000 n
-0001514797 00000 n
-0001491708 00000 n
-0001537672 00000 n
-0001515069 00000 n
-0001560260 00000 n
-0001537967 00000 n
-0001590874 00000 n
-0001560555 00000 n
-0001617055 00000 n
-0001591349 00000 n
-0001635645 00000 n
-0001617412 00000 n
-0001643834 00000 n
-0001635993 00000 n
-0001672275 00000 n
-0001644079 00000 n
-0001691713 00000 n
-0001672609 00000 n
-0001706334 00000 n
-0001692056 00000 n
-0001720978 00000 n
-0001706596 00000 n
-0001734806 00000 n
-0001721299 00000 n
-0001738008 00000 n
-0001735067 00000 n
-0001740772 00000 n
-0001738271 00000 n
-0001743778 00000 n
-0001741026 00000 n
-0001776596 00000 n
-0001744026 00000 n
-0001796980 00000 n
-0001777263 00000 n
-0001822195 00000 n
-0001797262 00000 n
-0001854935 00000 n
-0001822628 00000 n
-0001879649 00000 n
-0001855683 00000 n
-0001890900 00000 n
-0001891064 00000 n
-0001891231 00000 n
-0001891336 00000 n
-0001891426 00000 n
-0001895247 00000 n
-0001895968 00000 n
-0001896704 00000 n
-0001897440 00000 n
-0001898172 00000 n
-0001898907 00000 n
-0001899645 00000 n
-0001900380 00000 n
-0001901112 00000 n
-0001901848 00000 n
-0001902584 00000 n
-0001903316 00000 n
-0001904052 00000 n
-0001904788 00000 n
-0001905463 00000 n
-0001906133 00000 n
-0001906800 00000 n
-0001907470 00000 n
-0001908139 00000 n
-0001908808 00000 n
-0001909478 00000 n
-0001910148 00000 n
-0001910818 00000 n
-0001911485 00000 n
-0001912155 00000 n
-0001912825 00000 n
-0001913491 00000 n
-0001914163 00000 n
-0001914832 00000 n
-0001915502 00000 n
-0001916169 00000 n
-0001916839 00000 n
-0001917509 00000 n
-0001918176 00000 n
-0001918846 00000 n
-0001919515 00000 n
-0001920187 00000 n
-0001920852 00000 n
-0001921522 00000 n
-0001922192 00000 n
-0001922859 00000 n
-0001923529 00000 n
-0001924199 00000 n
-0001924865 00000 n
-0001925537 00000 n
-0001926206 00000 n
-0001926876 00000 n
-0001927539 00000 n
-0001928209 00000 n
-0001928879 00000 n
-0001929546 00000 n
-0001930215 00000 n
-0001930887 00000 n
-0001931556 00000 n
-0001932223 00000 n
-0001932893 00000 n
-0001933563 00000 n
-0001934230 00000 n
-0001934900 00000 n
-0001935570 00000 n
-0001936239 00000 n
-0001936908 00000 n
-0001937578 00000 n
-0001938248 00000 n
-0001938915 00000 n
-0001939585 00000 n
-0001940255 00000 n
-0001940925 00000 n
-0001941591 00000 n
-0001942263 00000 n
-0001942932 00000 n
-0001943599 00000 n
-0001944269 00000 n
-0001944939 00000 n
-0001945609 00000 n
-0001946276 00000 n
-0001946946 00000 n
-0001947615 00000 n
-0001948284 00000 n
-0001948954 00000 n
-0001949624 00000 n
-0001950294 00000 n
-0001950957 00000 n
-0001951627 00000 n
-0001952297 00000 n
-0001952966 00000 n
-0001953635 00000 n
-0001954305 00000 n
-0001954975 00000 n
-0001955642 00000 n
-0001956312 00000 n
-0001956982 00000 n
-0001957649 00000 n
-0001958318 00000 n
-0001958990 00000 n
-0001959659 00000 n
-0001960326 00000 n
-0001960996 00000 n
-0001961666 00000 n
-0001962333 00000 n
-0001963003 00000 n
-0001963673 00000 n
-0001964340 00000 n
-0001965009 00000 n
-0001965679 00000 n
-0001966349 00000 n
-0001967016 00000 n
-0001967686 00000 n
-0001968356 00000 n
-0001969023 00000 n
-0001969692 00000 n
-0001970364 00000 n
-0001971033 00000 n
-0001971700 00000 n
-0001972370 00000 n
-0001973040 00000 n
-0001973703 00000 n
-0001974373 00000 n
-0001975042 00000 n
-0001975714 00000 n
-0001976380 00000 n
-0001977050 00000 n
-0001977720 00000 n
-0001978387 00000 n
-0001979057 00000 n
-0001979727 00000 n
-0001980397 00000 n
-0001981066 00000 n
-0001981735 00000 n
-0001982405 00000 n
-0001983072 00000 n
-0001983742 00000 n
-0001984412 00000 n
-0001985082 00000 n
-0001985749 00000 n
-0001986418 00000 n
-0001987090 00000 n
-0001987756 00000 n
-0001988426 00000 n
-0001989096 00000 n
-0001989766 00000 n
-0001990433 00000 n
-0001991103 00000 n
-0001991773 00000 n
-0001992442 00000 n
-0001993111 00000 n
-0001993781 00000 n
-0001994451 00000 n
-0001995118 00000 n
-0001995788 00000 n
-0001996458 00000 n
-0001997120 00000 n
-0001997792 00000 n
-0001998461 00000 n
-0001999131 00000 n
-0001999798 00000 n
-0002000468 00000 n
-0002001138 00000 n
-0002001805 00000 n
-0002002475 00000 n
-0002003144 00000 n
-0002003816 00000 n
-0002004481 00000 n
-0002005151 00000 n
-0002005821 00000 n
-0002006488 00000 n
-0002007158 00000 n
-0002007828 00000 n
-0002008494 00000 n
-0002009166 00000 n
-0002009835 00000 n
-0002010505 00000 n
-0002011172 00000 n
-0002011842 00000 n
-0002012512 00000 n
-0002013179 00000 n
-0002013849 00000 n
-0002014518 00000 n
-0002015190 00000 n
-0002015856 00000 n
-0002016526 00000 n
-0002017196 00000 n
-0002017863 00000 n
-0002018533 00000 n
-0002019203 00000 n
-0002019873 00000 n
-0002020538 00000 n
-0002021208 00000 n
-0002021878 00000 n
-0002022545 00000 n
-0002023215 00000 n
-0002023885 00000 n
-0002024555 00000 n
-0002025221 00000 n
-0002025893 00000 n
-0002026562 00000 n
-0002027229 00000 n
-0002027899 00000 n
-0002028569 00000 n
-0002029239 00000 n
-0002029906 00000 n
-0002030576 00000 n
-0002031245 00000 n
-0002031914 00000 n
-0002032584 00000 n
-0002033254 00000 n
-0002033924 00000 n
-0002034591 00000 n
-0002035261 00000 n
-0002035931 00000 n
-0002036597 00000 n
-0002037269 00000 n
-0002037938 00000 n
-0002038608 00000 n
-0002039275 00000 n
-0002039945 00000 n
-0002040615 00000 n
-0002041282 00000 n
-0002041955 00000 n
-0002042627 00000 n
-0002043301 00000 n
-0002043964 00000 n
-0002044637 00000 n
-0002045310 00000 n
-0002045980 00000 n
-0002046653 00000 n
-0002047326 00000 n
-0002047995 00000 n
-0002048667 00000 n
-0002049340 00000 n
-0002050013 00000 n
-0002050683 00000 n
-0002051356 00000 n
-0002052029 00000 n
-0002052699 00000 n
-0002053371 00000 n
-0002054045 00000 n
-0002054717 00000 n
-0002055387 00000 n
-0002056060 00000 n
-0002056733 00000 n
-0002057403 00000 n
-0002058076 00000 n
-0002058749 00000 n
-0002059421 00000 n
-0002060092 00000 n
-0002060765 00000 n
-0002061438 00000 n
-0002062108 00000 n
-0002062781 00000 n
-0002063454 00000 n
-0002064127 00000 n
-0002064796 00000 n
-0002065470 00000 n
-0002066142 00000 n
-0002066808 00000 n
-0002067481 00000 n
-0002068154 00000 n
-0002068827 00000 n
-0002069497 00000 n
-0002070169 00000 n
-0002070843 00000 n
-0002071512 00000 n
-0002072185 00000 n
-0002072858 00000 n
-0002073531 00000 n
-0002074201 00000 n
-0002074874 00000 n
-0002075547 00000 n
-0002076218 00000 n
-0002076890 00000 n
-0002077563 00000 n
-0002078236 00000 n
-0002078906 00000 n
-0002079579 00000 n
-0002080252 00000 n
-0002080922 00000 n
-0002081594 00000 n
-0002082268 00000 n
-0002082940 00000 n
-0002083610 00000 n
-0002084283 00000 n
-0002084956 00000 n
-0002085626 00000 n
-0002086299 00000 n
-0002086972 00000 n
-0002087641 00000 n
-0002088319 00000 n
-0002089021 00000 n
-0002089723 00000 n
-0002090416 00000 n
-0002091118 00000 n
-0002091820 00000 n
-0002092517 00000 n
-0002093221 00000 n
-0002093922 00000 n
-0002094624 00000 n
-0002095322 00000 n
-0002096024 00000 n
-0002096726 00000 n
-0002097424 00000 n
-0002098126 00000 n
-0002098827 00000 n
-0002099531 00000 n
-0002100228 00000 n
-0002100930 00000 n
-0002101632 00000 n
-0002102330 00000 n
-0002103032 00000 n
-0002103734 00000 n
-0002104436 00000 n
-0002105136 00000 n
-0002105837 00000 n
-0002106539 00000 n
-0002107237 00000 n
-0002107939 00000 n
-0002108641 00000 n
-0002109343 00000 n
-0002110041 00000 n
-0002110742 00000 n
-0002111446 00000 n
-0002112143 00000 n
-0002112845 00000 n
-0002113547 00000 n
-0002114249 00000 n
-0002114994 00000 n
-0002115700 00000 n
-0002116403 00000 n
-0002117107 00000 n
-0002117831 00000 n
-0002118510 00000 n
-0002119180 00000 n
-0002119879 00000 n
-0002120667 00000 n
-0002120750 00000 n
-0002121139 00000 n
-0002121526 00000 n
-0002121913 00000 n
-0002122300 00000 n
-0002122686 00000 n
-0002123073 00000 n
-0002123460 00000 n
-0002123847 00000 n
-0002124234 00000 n
-0002124621 00000 n
-0002124826 00000 n
-0002125004 00000 n
-0002125046 00000 n
-0002125182 00000 n
+0001311475 00000 n
+0001311567 00000 n
+0001311649 00000 n
+0001311731 00000 n
+0001312055 00000 n
+0001312325 00000 n
+0001312467 00000 n
+0001312907 00000 n
+0001312935 00000 n
+0001313179 00000 n
+0001313603 00000 n
+0001313977 00000 n
+0001314297 00000 n
+0001314829 00000 n
+0001315219 00000 n
+0001315267 00000 n
+0001315373 00000 n
+0001315657 00000 n
+0001315811 00000 n
+0001316041 00000 n
+0001316269 00000 n
+0001316305 00000 n
+0001316411 00000 n
+0001348445 00000 n
+0001316547 00000 n
+0001378931 00000 n
+0001348949 00000 n
+0001402092 00000 n
+0001379414 00000 n
+0001423126 00000 n
+0001402346 00000 n
+0001426612 00000 n
+0001423387 00000 n
+0001432409 00000 n
+0001426968 00000 n
+0001435787 00000 n
+0001432698 00000 n
+0001472524 00000 n
+0001436032 00000 n
+0001495401 00000 n
+0001473208 00000 n
+0001518791 00000 n
+0001495702 00000 n
+0001541666 00000 n
+0001519063 00000 n
+0001564254 00000 n
+0001541961 00000 n
+0001594868 00000 n
+0001564549 00000 n
+0001621049 00000 n
+0001595343 00000 n
+0001639639 00000 n
+0001621406 00000 n
+0001647828 00000 n
+0001639987 00000 n
+0001676269 00000 n
+0001648073 00000 n
+0001695707 00000 n
+0001676603 00000 n
+0001710328 00000 n
+0001696050 00000 n
+0001724972 00000 n
+0001710590 00000 n
+0001738800 00000 n
+0001725293 00000 n
+0001742002 00000 n
+0001739061 00000 n
+0001744766 00000 n
+0001742265 00000 n
+0001747772 00000 n
+0001745020 00000 n
+0001780837 00000 n
+0001748020 00000 n
+0001801230 00000 n
+0001781513 00000 n
+0001826445 00000 n
+0001801512 00000 n
+0001859185 00000 n
+0001826878 00000 n
+0001883899 00000 n
+0001859933 00000 n
+0001895160 00000 n
+0001895324 00000 n
+0001895491 00000 n
+0001895596 00000 n
+0001895686 00000 n
+0001899507 00000 n
+0001900228 00000 n
+0001900964 00000 n
+0001901700 00000 n
+0001902432 00000 n
+0001903167 00000 n
+0001903905 00000 n
+0001904640 00000 n
+0001905372 00000 n
+0001906108 00000 n
+0001906844 00000 n
+0001907576 00000 n
+0001908312 00000 n
+0001909048 00000 n
+0001909780 00000 n
+0001910454 00000 n
+0001911124 00000 n
+0001911791 00000 n
+0001912461 00000 n
+0001913131 00000 n
+0001913798 00000 n
+0001914468 00000 n
+0001915137 00000 n
+0001915809 00000 n
+0001916474 00000 n
+0001917144 00000 n
+0001917814 00000 n
+0001918481 00000 n
+0001919151 00000 n
+0001919821 00000 n
+0001920487 00000 n
+0001921159 00000 n
+0001921828 00000 n
+0001922498 00000 n
+0001923165 00000 n
+0001923835 00000 n
+0001924505 00000 n
+0001925172 00000 n
+0001925842 00000 n
+0001926511 00000 n
+0001927183 00000 n
+0001927849 00000 n
+0001928519 00000 n
+0001929189 00000 n
+0001929856 00000 n
+0001930526 00000 n
+0001931196 00000 n
+0001931866 00000 n
+0001932531 00000 n
+0001933201 00000 n
+0001933871 00000 n
+0001934538 00000 n
+0001935208 00000 n
+0001935878 00000 n
+0001936548 00000 n
+0001937214 00000 n
+0001937886 00000 n
+0001938555 00000 n
+0001939222 00000 n
+0001939892 00000 n
+0001940562 00000 n
+0001941232 00000 n
+0001941899 00000 n
+0001942569 00000 n
+0001943238 00000 n
+0001943907 00000 n
+0001944577 00000 n
+0001945247 00000 n
+0001945917 00000 n
+0001946584 00000 n
+0001947254 00000 n
+0001947924 00000 n
+0001948590 00000 n
+0001949262 00000 n
+0001949931 00000 n
+0001950601 00000 n
+0001951268 00000 n
+0001951938 00000 n
+0001952608 00000 n
+0001953275 00000 n
+0001953945 00000 n
+0001954614 00000 n
+0001955286 00000 n
+0001955946 00000 n
+0001956616 00000 n
+0001957286 00000 n
+0001957953 00000 n
+0001958623 00000 n
+0001959293 00000 n
+0001959960 00000 n
+0001960629 00000 n
+0001961299 00000 n
+0001961969 00000 n
+0001962636 00000 n
+0001963306 00000 n
+0001963976 00000 n
+0001964643 00000 n
+0001965312 00000 n
+0001965984 00000 n
+0001966653 00000 n
+0001967320 00000 n
+0001967990 00000 n
+0001968660 00000 n
+0001969327 00000 n
+0001969997 00000 n
+0001970667 00000 n
+0001971336 00000 n
+0001972005 00000 n
+0001972675 00000 n
+0001973345 00000 n
+0001974012 00000 n
+0001974682 00000 n
+0001975352 00000 n
+0001976022 00000 n
+0001976688 00000 n
+0001977360 00000 n
+0001978029 00000 n
+0001978692 00000 n
+0001979362 00000 n
+0001980032 00000 n
+0001980702 00000 n
+0001981369 00000 n
+0001982038 00000 n
+0001982710 00000 n
+0001983376 00000 n
+0001984046 00000 n
+0001984716 00000 n
+0001985386 00000 n
+0001986053 00000 n
+0001986723 00000 n
+0001987393 00000 n
+0001988062 00000 n
+0001988731 00000 n
+0001989401 00000 n
+0001990071 00000 n
+0001990738 00000 n
+0001991408 00000 n
+0001992078 00000 n
+0001992745 00000 n
+0001993414 00000 n
+0001994086 00000 n
+0001994755 00000 n
+0001995422 00000 n
+0001996092 00000 n
+0001996762 00000 n
+0001997429 00000 n
+0001998099 00000 n
+0001998769 00000 n
+0001999436 00000 n
+0002000105 00000 n
+0002000775 00000 n
+0002001445 00000 n
+0002002108 00000 n
+0002002778 00000 n
+0002003448 00000 n
+0002004114 00000 n
+0002004786 00000 n
+0002005455 00000 n
+0002006125 00000 n
+0002006792 00000 n
+0002007462 00000 n
+0002008132 00000 n
+0002008799 00000 n
+0002009469 00000 n
+0002010138 00000 n
+0002010810 00000 n
+0002011476 00000 n
+0002012146 00000 n
+0002012816 00000 n
+0002013483 00000 n
+0002014153 00000 n
+0002014823 00000 n
+0002015493 00000 n
+0002016162 00000 n
+0002016831 00000 n
+0002017501 00000 n
+0002018168 00000 n
+0002018838 00000 n
+0002019508 00000 n
+0002020178 00000 n
+0002020845 00000 n
+0002021514 00000 n
+0002022186 00000 n
+0002022852 00000 n
+0002023522 00000 n
+0002024192 00000 n
+0002024862 00000 n
+0002025525 00000 n
+0002026195 00000 n
+0002026864 00000 n
+0002027533 00000 n
+0002028203 00000 n
+0002028873 00000 n
+0002029543 00000 n
+0002030210 00000 n
+0002030880 00000 n
+0002031550 00000 n
+0002032216 00000 n
+0002032888 00000 n
+0002033557 00000 n
+0002034227 00000 n
+0002034894 00000 n
+0002035564 00000 n
+0002036234 00000 n
+0002036901 00000 n
+0002037571 00000 n
+0002038240 00000 n
+0002038912 00000 n
+0002039577 00000 n
+0002040247 00000 n
+0002040917 00000 n
+0002041584 00000 n
+0002042254 00000 n
+0002042924 00000 n
+0002043590 00000 n
+0002044262 00000 n
+0002044931 00000 n
+0002045601 00000 n
+0002046268 00000 n
+0002046941 00000 n
+0002047614 00000 n
+0002048280 00000 n
+0002048952 00000 n
+0002049626 00000 n
+0002050298 00000 n
+0002050968 00000 n
+0002051641 00000 n
+0002052314 00000 n
+0002052984 00000 n
+0002053657 00000 n
+0002054330 00000 n
+0002055002 00000 n
+0002055673 00000 n
+0002056346 00000 n
+0002057019 00000 n
+0002057689 00000 n
+0002058362 00000 n
+0002059035 00000 n
+0002059708 00000 n
+0002060377 00000 n
+0002061051 00000 n
+0002061723 00000 n
+0002062393 00000 n
+0002063066 00000 n
+0002063739 00000 n
+0002064412 00000 n
+0002065082 00000 n
+0002065755 00000 n
+0002066427 00000 n
+0002067098 00000 n
+0002067771 00000 n
+0002068444 00000 n
+0002069117 00000 n
+0002069787 00000 n
+0002070460 00000 n
+0002071133 00000 n
+0002071800 00000 n
+0002072472 00000 n
+0002073145 00000 n
+0002073818 00000 n
+0002074488 00000 n
+0002075161 00000 n
+0002075834 00000 n
+0002076504 00000 n
+0002077176 00000 n
+0002077850 00000 n
+0002078522 00000 n
+0002079192 00000 n
+0002079865 00000 n
+0002080538 00000 n
+0002081208 00000 n
+0002081881 00000 n
+0002082554 00000 n
+0002083223 00000 n
+0002083895 00000 n
+0002084568 00000 n
+0002085241 00000 n
+0002085911 00000 n
+0002086584 00000 n
+0002087257 00000 n
+0002087927 00000 n
+0002088599 00000 n
+0002089273 00000 n
+0002089945 00000 n
+0002090615 00000 n
+0002091288 00000 n
+0002091961 00000 n
+0002092631 00000 n
+0002093317 00000 n
+0002094019 00000 n
+0002094720 00000 n
+0002095415 00000 n
+0002096117 00000 n
+0002096819 00000 n
+0002097517 00000 n
+0002098219 00000 n
+0002098921 00000 n
+0002099623 00000 n
+0002100323 00000 n
+0002101024 00000 n
+0002101726 00000 n
+0002102424 00000 n
+0002103126 00000 n
+0002103828 00000 n
+0002104530 00000 n
+0002105228 00000 n
+0002105929 00000 n
+0002106633 00000 n
+0002107330 00000 n
+0002108032 00000 n
+0002108734 00000 n
+0002109436 00000 n
+0002110134 00000 n
+0002110836 00000 n
+0002111538 00000 n
+0002112238 00000 n
+0002112939 00000 n
+0002113641 00000 n
+0002114343 00000 n
+0002115041 00000 n
+0002115743 00000 n
+0002116445 00000 n
+0002117143 00000 n
+0002117844 00000 n
+0002118548 00000 n
+0002119249 00000 n
+0002119995 00000 n
+0002120699 00000 n
+0002121403 00000 n
+0002122103 00000 n
+0002122835 00000 n
+0002123505 00000 n
+0002124174 00000 n
+0002124884 00000 n
+0002125617 00000 n
+0002126006 00000 n
+0002126392 00000 n
+0002126779 00000 n
+0002127166 00000 n
+0002127553 00000 n
+0002127940 00000 n
+0002128327 00000 n
+0002128714 00000 n
+0002129100 00000 n
+0002129487 00000 n
+0002129693 00000 n
+0002129871 00000 n
+0002129913 00000 n
+0002130049 00000 n
trailer
-<< /Size 12053 /Root 12051 0 R /Info 12052 0 R /ID [ <CA251DB2BC22EE21E6499B02093467F6> <CA251DB2BC22EE21E6499B02093467F6> ] >>
+<< /Size 12085 /Root 12083 0 R /Info 12084 0 R /ID [ <98F62B4A9AC68BA1D34CCE3C0BBC1EE2> <98F62B4A9AC68BA1D34CCE3C0BBC1EE2> ] >>
startxref
-2125816
+2130683
%%EOF
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.pdf b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
index 1365e805e3..3b6a3171cd 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
@@ -627,56 +627,56 @@ endobj
<< /S /GoTo /D [ 361 0 R /Fit ] >>
endobj
364 0 obj
-<< /Filter /FlateDecode /Length 10172 >>
-stream
-x}I%9=;VZ2^@c.9]Fѝ5.Dg#2+tgI-&3O?ywfl _~s7ger_oɘ}OxgLƤo3 E?+~'pC,kt5-!ڃv1ڬDeЖ]B$5cR|7y˃X>
-$ o)ggPH*
-}ksfs&XBZ?ĸU iawV@h Xq<ZMJ ]lץ2:}bh]<egE#-߷K頋⮍~-_Me$?E]8,(Q״6IAO)ڢS_utF
-&1Ќi} A4!Zc(Tjf!^9n{A8rcb?#u jUFuחS7x/~:~8s ȺOD#; <8 V<SG2BHc,6H(ZC{t0ﮢ eR|nL\;l=N]a]>P'sa`SQkР O5< h1l1ˠ g@u+hEuО 8fp3b3gP_p|!b) "~8r0q?@*eQ+vZF\#=ǠE38A{0#'0qX#v)&1ƿZq3&\e3.]~}ew*D& 'v6pڏ>09uvVxvgm~9{qnYv QjJ~ 3+o0B,0\VTnr7I.G'37` yô -}x N7MA~:/l9((c3
- 
-ǡ/m>MSa]1ALʢAQHRP> KRkJa/su(᧰:k%4XL"ip$zWS ,%<JwoK$ dn;xO+d \B!Ru!rHF WL:BǩJ;4PUI"ﰒ@@~IXtb 9z[')%W
- Wڬ7U'mDN6I6rfJ @e$<Y-W%b0y<E¿
-lb$0܊ġ*L*̩P_vSd+YԩOFidde*vS#IaWGdQKJtm=Wwc sg$BUe'-2IF\Iq *x+l)qu{o
-_] &oYՌ)Sd)YGS(.6٦G$jS2b*A]LK!3
-∕,hT֧"/%$mpsz&L1uZ("DuoAWRG8N2N&\]9@Isj:%;k)I3KS֩Widn;xP1X9dN3N*Op]$ Ê<UhX:Y$r5GBM+L Fc<RB.S|5+@L$|GQ81A)
-bsXͳFݰ6="Q!Pnq51Qpkh!f;>H̳IMa dso Q5h5͋!mՆF 0FOQGd0}2 ć5[&1*o)\hSмPO QD!!AO[' Q8&4k7&#8
-!!T
-H_B
-*(wJeoւ(# i9WJUU!Bf5ei3JZd/
-pFȀGx $BLEe Hb$TMY KE*RΨo,^Cyc:<xbD7H
-A%X*x(#q; !t
-ŕuz0.\p 6J`f,y)m6Jް2Uؐ}OFv8B& 'E\R15T('K󲱝 IyC1BaΤVy"`v8ˆBJGC"&pˢpb5
-Gv;Ev~A)
-
-x0:= k 0 ȏaH0gLPzJqLR*gV+a{6e-19QW
-) _MJEH$U(Fvk94'
-U _*4.TFS8&)huҦϬVMFېvh O g8\F*T8&Ip$3Sg'ٷ!mZhF?&N_fS)D0R"1IA#6=f
-o2NφյQp?/T7LPpz"1I#ݗ)e6n KQ<BP R@#CU`ZEcBFP7,mj4lddXZ(8۟P\(pQ|\ˆ"
-KbwF4m2
-kYLBP b@Bu`jEcFP;,mj8lddXZHD]z_T[_<W6fr "h-V]T8\j;i"DzBj's:"{uSVTzY/'B y(UB&($TrkʛO
-idސȽYϨ=kA?* 5ꕢX{USHIX)Ldv 0TNHw]g<ՆS*"`
-FQah,I&ϦȉԮNV !ߡFbШ+ըiŠԊ6R *adĝXZ( =2
-zQx !5M
-'R2NgoU9oy5
-FQFV,ԀV"DŽH@hP C'tD}{Fɳ^3ʐ5"HRRł$ bqX4mӗ)qu[VK嶿)ͻ>xU{whfkl|cx^'Ƣ*J-9ď֢"f)_'/&EU~[q_iZƫ|ٸ?'O[Ѧ~Pl̽=]4_Kj`WŏK%kVCůC&f.!FH@(^
-,}i 5[]1/,G!؞ݿ_߿d{~dk7gۿ𳸄2\~kMx]kN9l\E=<> ?= nb9
-[Wt|Nb|rI_7(ާ7byAm8zBNDs|ĿD |Itva1'z$h#-|a;XҳۇzIT|U\`S {70[z?pxVc@}^*;@`
-#NhL:K+\}'YU0w,HEp59RH:rbu
-0? ?#_Cf,w_fMr g
-sh)tŦ0_39?^Ma,ׇًxRiZ&.#>L]%Z<L\G~Ǽ-f0MW{kMCLKk%xcNC}0g=)) ~<zϠO%x^ nZCaR_&ڗȊ4" GdD6yIAݥk(S
- oM,29[{ZH.OJ
-UGy&,l<`YkB.
-;j m&ؔ!3ې
- $s7;oR6Ü&]{qŌ,v#~z|aLĔ69)N'h;|^x:ї;udl>s7!2ާS};OE[S>
-nٳ,%8pk[h@*>{o?u\uB(yFxFc1_9Fikh+ \[PhOb;u{ErGԤ%7cL6?ۜX6]H=qk[?Y4fzRpB Lt(cp8ҟd>QO_ByUCz󍙎e0ߐY/Ym-qմ- e!j&W:ijfvOkj!Ƌ]
-'0Ek~.v@kKŭm)i'27օ7{Now㕑Yu0;ϼdUx."48x"I,mĝY'vFg}f7jisk{}؂{*XypYh0) 40ITʌ1;Ix/fnYvw/
-VJNj[3~hR6rh2tu1_l |K$9K;*Yd7Ϯ
-B9ɯ-qܴ>i<Ml<B(9Lm"R.'w.ЇD, w;q-A΃†
-"gΘڅKK l]ݵ s丳jja NrU9-흢:[\SU!q_xx0`Г\6GRp
-f[.j`B-p? #hN;6g33YՎ9 U4reߙǢL?2߃zٰKhޥ$)gvj]njT_ ۜ] 䱺 sRdVnCK1׸}aKY3*#B0F6#*<!;>UF@ףŜm?n.bqltɷMmo/\:u_fR/@*y &VMqb|hM("aGR4Ճ*\Atַ JX@g)/h3px*h b!'ҚU]8Jct-)ho3־3Uٛh~ܶH?%p!kp\n O+N ѧ Ƒ'kM[Ϥ})c/KpqBlƫ$D D$8Y.MVu¨&|Á
-<%T-|
-adG.|thKjE>Z>ڵ7<P~c7~ J9bNruՊ:QѪz1;2QVGI~3"A>]oht%-2]KۣHxr^[G\=#$B,n^HpV Sԉ}|
-B~ Z+%Pn0X 2W7_cޜlHV+GbS|N.BZtШ9h8j$w3t#]~QT?l, ;Z&Ar^iH??~8YlFYC4FVh#`dd#l[(a1?\ė$S1EH)Q͙cLM̛ahu4%Wr^ZaҘcw o@7|\|Wk›T輋1wyȾԤ[gKyw2Gxtf|iЄ2 #cl'x'CV_;ʡ5:
+<< /Filter /FlateDecode /Length 10261 >>
+stream
+x}͏%7;E
+5as9b[1}j5z}mѨxV [G/n 5z]cd&}oVI|L:?6ĸU -|kwHi q<MJK#l׵4Ĥ>0'19# vߎ^>ZLE
+B퇿~6ۅ{{)Zj fm7/uI?:$0dUt-J5fDJ`'ާ?n EWo5BB(W0B3 U0;3X&GXXj={HRUzo3Trcb?#p*(O
+kq8TXBFcȾ(| d#
+K!c5Ĉ z x]{omZ
+
+;
+D ;aeK5&w4rx2}Ɛ3L0` )̇@NtiOt䧳|>-|ebeL{;LkX1e6@
+Ub!ƹF7$o3H`ї)+9C<O!+2X-H)9h}AfT&YmYC=T'`K[d𸄴<)w4@eb3a %bWRa6 fYyFb(aʵ 
+KMb[0Z[Tvu-k>%L
+ Đ->l+ QD!!cuXT)"4K7lZ}-XTqOP9S (4SraBW0,8S \IRhF6pzҖc04Vk
+_ l[5)RT=,
+S.N!wLpTT)FiV$V3Y3UP "+#VNA3>y.8]bi+&'ˀ##TPY#YS8
+SԌR]M2NXc T!Y?GRtIpB$Ɉ+#:Dbo]d;x W33LZXEዏCI[ `bVl5FrqD)jFөQiG$j,w˩%tA0u/"p+ S,ȦCUa*LL1-=l[)jPd/Y،T_6_$n
+ 2Hꈘ}U(/#R$q4Y W`6$nc T 2Y?GVb0XJ$dV5]v*${wX8B PhJIĴ0r)Y-b=$ @:4DL>EALw(a7#8Pw# -x9 g:%E|LH/a 69H0(t!mp1DڐH&x}$@=dˀ$BD9 ƨ*RBrSAr慂 lJ^"
+i z>4(_0F(|FMKi0}SA&c6dBĴ*P3|9paaLJGC"1.LQ0~ H_6f1Fy3Ԟj[;w\#ErbR3@d36&W)nHok+kM9KDzQ:7%xPؖP"#Z
+ux>
+OA#C_%ߟSbgN:ACKBْ<@%2+\j,BIіw{<ZZqd[B^(*РL/y&
+MQ"F[sI#B rUډ6d<QATYŷ?/P` y&Xh{∍!E&j6DϤO6IqDzGIY8VLDm2pBH@@U! 2d*_
+ &M5D Kq$>^ Ȍ9*'TsJ%KLaYfUEO3")I$;S;Mj8<7]#i;of$PPASk-Ȉ2`+ 8P{T5_1^ (dH(wmQ5]jq
+D|?؄3*# 2
+A%oT+M6D.B Cukn 2@`|1H&I"GOid^Y
+d耟b&-ccFNL&)dSf'ئg,kq"'
+R *%N B\
+Lg(T0RYehIIh|
+8vFr ]AKeƅ*Hu7I
+ALiT1mHyV4
+OӛY2ϳPD0R"MGR;,mj%8ld i;oגF01}AxLjH7I
+ALiT1#{65`v,B_/UIHjMV4ل_CӥP?+T5P"V&I!#Û)]j4>8}oתF0 uz3ky
+*E_+W0Hd2%MwYąMcFst-k4O
+ _*4.TFVIRpgJcZδO2Nߦ۵0}qSQdo}4sp(&jX{bHIEɥ&Bdݬ ,v:'/kG&z9H+XD2AI$[,g
+)Y7$r.|3jp<E!.Hz(^%R+E ]%  u#gp
+^E^85M%dX eVu!ߡFbШ+ըiŠԊP)K *a(
+Hq],gj
+@X'(q셐ӊ&drESiZ)*u"#F(;ԨyŠЊH)pL
+'Q/,qu[V)ͻװ>xU1l{<fE3h^cnc*>)7mWz+y?+~6H 9=y1h-C܊kZƫ|Yz;m<kh-i;s9]ѣ,EכoKvL[Tf<p-z0=TMu]WL!XLdz)x(-/xJh 7巔]A=c_~/7<ٞ no?, _4gn~`|S!ej[5-#DѾAq<<npQPZ?]6uu&}۠tx†G_܊cCMBᨇ}y~¿DM|&Itv_9'F$~#-@uى{~U|`b^T|U\`S {0[8pxV}(xk
+^';@`
+iƾ$(=e?]<\&ZpAt'W
+|oҶɃrNz9{K/@P./
+Pa!.<
+A ϓZ?dvi×/fMMr$2ìNo8UVLfլ"\*ìrwUL\`x6ξx FG\]iMyV3 5㵅@5ޝoBF^O]Gܛt^A7v<ƺOPدw.16GD1vK~ĘC5 (q\`a%fLkyF6gdy.\ÙbD ?^<?ޛ|=Zcd? q+N% f|GCOTLg+X*z۝ `v㐤*),\*)+UpmuR䤴 e? A9Bh~WO^4>oa~ߊ|>4wG.OB̏vsh mh<THد^Ah0,MpGnow >ھpEz h{hG:.@9ɏ&/χ_yZi7׵5<#ܸN V7}UNHuw*w#  N5- {men/}
+;j] m&^vӔ!mH9jR<69M CqŌ,6?oGLLĔS06r*JџW)2 ڀ <}V|x @XE%ZԃC60)2^S;OE[S>
+nOY+5Ki׶ThN4>령ꈅ(飄_? (mzn%}k
+movtY 漛|#+uQǘlp#~9`9 {+ppLg3Ew42ZaC3#*I}Ne fiWl:|Ef?eXv}fl6UӚ/7[< [ǵeYXȮ;J<>]ܮGbxB@<gQ1yzCXffKd]xvs[puYW3׵DqPdz,[4~Wpfuå8YiYD|{\'ތtxy R*
+tkX;&!Ԣ
+99Fb99^<FΛ'dXt1<Z dn/^ow!Emv[,V<nKk6Nxu0@]ؼڌ.XփT,qqO•Us]}m5,oQr"$)D+)*HA{a2Pr{H ZG.d Glɶؽ:~2?;[k~ZM7-yYSgڜ!fTfs'Ĩc'2H;U0P _q 5tˤ?_GFXь0iz"srcs ŬTt>pLCO[ٞtYk(xǃWWZ3,q]aݑ;=#o:-NC@QVAt;
+pl95pq8&ߝU{bsw9ۖ<q79z/g y҃'v5 }fk.lxXĶw/VrO84>5|jwy.z5@
+[?!Hk6N s-+ȓ(ۧa6]̹—pWL5NIOp[mmġJQ U݀y|ίr1gK'-*Sd.Ϸ݇O,'CN
endstream
endobj
361 0 obj
@@ -686,8 +686,8 @@ endobj
[ 362 0 R ]
endobj
362 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 76.495 499.819 87.953 ]
- /Subtype/Link/A<</Type/Action/S/URI/URI(https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty)>>
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 76.495 306.319 87.952 ]
+ /Subtype/Link/A<</Type/Action/S/URI/URI(https://github.com/fpantigny/nicematrix/releases)>>
>>
endobj
365 0 obj
@@ -697,30 +697,33 @@ endobj
<< /D [ 361 0 R /XYZ 79.37 771.024 null ] >>
endobj
363 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F28 367 0 R /F29 368 0 R /F38 369 0 R /F47 370 0 R /F52 371 0 R /F51 372 0 R /F53 373 0 R /F54 374 0 R /F25 375 0 R /F20 376 0 R /F18 377 0 R /F21 378 0 R /F19 379 0 R /F17 380 0 R /F15 381 0 R /F16 382 0 R /F55 383 0 R /F56 384 0 R /F57 385 0 R /F58 386 0 R /F65 387 0 R /F66 388 0 R /F67 389 0 R /F49 390 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F28 367 0 R /F29 368 0 R /F38 369 0 R /F47 370 0 R /F52 371 0 R /F51 372 0 R /F53 373 0 R /F54 374 0 R /F25 375 0 R /F20 376 0 R /F18 377 0 R /F21 378 0 R /F19 379 0 R /F17 380 0 R /F15 381 0 R /F16 382 0 R /F55 383 0 R /F56 384 0 R /F57 385 0 R /F58 386 0 R /F64 387 0 R /F65 388 0 R /F66 389 0 R /F49 390 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
400 0 obj
-<< /Filter /FlateDecode /Length 4030 >>
+<< /Filter /FlateDecode /Length 4028 >>
stream
x5hgR0u`h
-XG7a ( /PvJtBO|}$R? [#,FY" [~_~yT_\籌2bGKCj,zU0^R·by1vvx~o˯46qjd~W<w tcjqi\M ‰tm&8 _
+XG7a ( /PvJtBO|}$R? [#,FY" [~_~yT_\籌2bGKCj,zU0^R·by1vvx~o˯46qjd~W<w tcjqi\M ‰tm&8 _
'O)e&X
P+yiPL~̦D+F5l>`ъPj10A3v%Uow3̶^Ak<b[ֈiG= 'l~Bـ!ną iDn&"R~7;
dp6ɞV p,~5sɡuPK
o^CЊ,M$HSl  +ؙRGpS/Xx[i@qa8m
`>{ 1ڶz9T/Qr,&`[y-bZżHVo9o]kYSa!&Ƹ~+ljS1}(فpG%
-Rn}!6jV0dCDo$Xڵ@$?M " T} uw] c\tM%,ʳZ.G|6pI`"!n۱A#p"ayGL%Ԁ>XzˆA/鍡DC*Яm#AEBh В(pr}öU@ح˶ٕk 끔#iyy3Y;2OJ[yp9p=[?Q&'Z[!,^((8⌰j c&[zE MŀЄ
-mC}
-?"aJ 'K ]*pFU۪qͥDŽD["^ϲqĬ96 &f5Ȫ
-emز˨qVTy]eNfkѾFR-z #zD4-!R+,q%&w T RU t)..*M.aHܤH49^P#R1*M0\Zc'>Ve(iYa Z!
-AXm&Cq6 "m:Dze7S9
-Dv. eSp">ձ]nxV<r
-eV6v[-ͱYoQEjh}-$^懞]'zjλ3;y#;gBt!*p'dKX|}e2a–Ziwg꛵[@#܁xzHLSCL􇚝;U2a܏9A: aJr~kR)}ECf\I4?@CW
-3sP*[Zp
-Ju01 ryL,
-)z:-̮kN/=9$&!-`"F5F<hcx.ʰG,ze~-AdEoeT5jZEX:VTMc(a͊>p7@M$v_=yQL}JyTC4h'"qqb³&ܫyiƪG<j"? W||@x,MKl:K?
-ms7"x
-6A^
+Rn}!6jV0dCDo$Xڵ@$?M " T} uw] c\tM%,ʳZ.G|6pI`"!n۱A#p"ayGL%Ԁ>XzˆA/鍡DC*Яm#AEBh В(pr}öU@ح˶ٕk 끔#iyy3Y;2OJ[yp9p=[?Q&'Z[!,^((8⌰j c&[zE MŀЄ
+m7S8gT)j8,\d)KeNu2
+p[59"zrK uY65&߄ YU 1oYX݉ի.IO(c+0i'XT
+TH@ [}"jJ0il-"׈BtUoaRú%DVq%aT= Αj^꺪b.%;E%S29L1 BpD"Fxf{K3qJp %W:1u#]=U]kX#dvW!C"Hkd" nFAMHO]f4;GLO*xq979)_X
+|Hkp~Tue*DC^2OZ1k8Jmfb<a3t1[g <(UcהK5E>" %l/X8IB<m⅋4Ǩ2S02 I<.RۖONne
+P'8U-oqhUc:d3&mZaJ2jv*ošGԕ*M|6ztT> s8ň2ߙ\ 2磌cضs!JdVkhe"zNݚZxޕXN1 +AJ@\=|ÊvR@j"&څ\F1Kun}%ŬeA_׋IK[{!oI xLe)F<px-ݳ |^V LȔL6*"]@҂w Sd!_~7 0"`?_#{3B]>~q#,z%XJ$uXqIJ,:`9gT2`&EI Z(+ ^^'Q& } L͸/rΠf_ ra!6"?n3
+m'dH:LyM=#疘7KT XcYH[`Ub- .o5uR`t~XwG@|q 2847p#)3XPnw^WH(+
+_23p)azdpv ⴭˍ!Z!nҙ!ƴI,]kCu2ޭ7pm۵e5 *{P|%$Z
+
+ס 6-zaXz;ˆPBN:]ׅZ4}CE9b-o0@?nˀ#L4%
+D +ܤ OZ@nFBB\l? tt Svv0, (Y6(+TSI\|yآ) $5Oclgd2w`ԥqj?i&ǎ0uLq/ {͎ə}uPaWZFκ0\ zN:v-wJGNʦn9v> 4<r_mMګq7āWOywf'tԴy,Ԑ5R."^%dslL&80\_K/]9,W}=h;OijPsJ]21'UBgغ?L 7tBxM]J"hHl+gh
+
+xl~^"Lsu{:o6Xgb~lZѱZ
+"}卙C0 v jgJoM9HЀ1wFqF\~$&&B>p0jd\n3)}ln[*d56U4m7ut4&inIm $/b9T73I(l¨EB>!w
+D7t>tozZ2T[G+@4Ҡ~9rWVFڎB%)Ȯ\C=^
endstream
endobj
399 0 obj
@@ -745,12 +748,12 @@ endobj
<< /D [ 399 0 R /XYZ 79.37 443.151 null ] >>
endobj
398 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F67 389 0 R /F70 403 0 R /F65 387 0 R /F25 375 0 R /F17 380 0 R /F22 404 0 R /F16 382 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F66 389 0 R /F69 403 0 R /F64 387 0 R /F25 375 0 R /F17 380 0 R /F22 404 0 R /F16 382 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
408 0 obj
-<< /Filter /FlateDecode /Length 5117 >>
+<< /Filter /FlateDecode /Length 5118 >>
stream
-x]K$ׯ ~
+x]K$ׯ ~
r%i)tp\ ϣ ߣQ<W ±U}Qa9B.?h ߃daעӁFc`Q.
~C <phxD.-FNnm`?]vV|K`8Ɖ)TaIԑk`~Gܚ_^|;sshN@za0v&|<9VX|l2Du]fV*h0_5^ b1OspD|8ZX_2Ff,dݹ:)}oћ5?S/goӡ4
K8t^zdm: `/Jjg&%nvƚ5Z&hM*F$uE-&б儗VvFkeKvGkf$ M(9Ț9L9:KO!72Btsfc{9k٣^bo?CM<m7bQoފΟo| navq6+;<nB6l|Unv۹w.b,4 $R+d94v>>9A&^aSDCVp]x&"-1<T&*8M⌲ٱؤxJ5u JjxSK[Աmɛ lŎ$WV?.o\N%p۶E-Dqv%NKp HEoy;Vz>)u C40뒽47:$ē)&-XШpL`*I_=70y\vp;7TeɟKjNJRi:^:DnU/InNޕ%z)500{{wDnO\w\JͰ!R)m|D v3ɿA:cKӍrJDSj:p#U%1#[[VG0N~޽K(URR
@@ -759,15 +762,12 @@ K8t^zdm: `/Jjg&%nvƚ5Z&hM*F$uE-&б儗VvFke
R:{rst;E(H ǓVt `u5x0mL9ǨCZeG7+y_RHe#\;Qjuqy-:dŦRFkl]~}
v'WlZ,80 NZV Qy3j'Sغ<W/]os,R;MRXBYBEY]D~5n
ҦqBH+\TɇI%@+bK}%[@ ,_ >/:۽{oWY_f )W,WJˑh"rEP:EsGl4whL?o4!T ya!DS60<tz>!Y6. 7RM
-0rS+pɧ8Z
-/ .'Ԭxb*(enb:)O؝!ʈ\`ay ;L#U.Znr>9%p\ۘ+5&2ؖBqD3$bm
- ZqEv/a[NK@j?s&:c```B:뙀"0C}qkѢL<9]:~|2k ﰚ
-M`oA-3G5Ik}{j f`FfOz>4DZ.
-^hVeg"NafC
--pχaF$,
-,YY
-l\j5iz$2].& Ys3Xah;qK 0%&]!)OCzwS+ն^dn;=v8/RNEkK8
-(N5y?y
+0rS+pɧ8Z
+O-ŀO#%A̺ w5 5+=7
+t٩ؽEJvg2b6<fXaH4Kƭ\"5dOorI$6
+cͷI8 P6 XBV\];c aŖ@1}윉<9X3{kz&`3xGL'Fo0i{_q(OyN<+;8=ԅ$z)B[P Qfm=kc_6ž?QYy.$ ,־
+E;w}azs#D냅SZx'.g/
+ )bs"tVzSqyc ыځʟS/)G'
endstream
endobj
407 0 obj
@@ -792,33 +792,32 @@ endobj
<< /D [ 407 0 R /XYZ 337.806 305.56 null ] >>
endobj
406 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F17 380 0 R /F26 410 0 R /F20 376 0 R /F18 377 0 R /F22 404 0 R /F65 387 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F17 380 0 R /F26 410 0 R /F20 376 0 R /F18 377 0 R /F22 404 0 R /F64 387 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
421 0 obj
<< /Filter /FlateDecode /Length 5798 >>
stream
-x=ˎ$9n8*VPhkr}[k7)"2;3SAQ|$]ӓ>/_xuqfƩ/OE.>/ކx|u:~˗[
+x=ˎ$9n8*VPhkr}[k7)"2;3SAQ|$]ӓ>/_xuafƩ/OE.>/ކx|u:~˗[
+\}#PC ԇg-( A+Db%=H3ArJ?H58O6Ĩv( Uq>
!?q4r??&$J5:̄&WLcZZ%ݤ!Ke^?(AT¨ܮ.% "&9^uŧJ;R nL-JIT3oWƮ Iךω$N(
-*BHQT!ᩁ Lq3u-T5܂q"0ҮakUDM&2B'+XP>/Ÿ{KtSHDlZ0Ms;IX*1*Ri)5Z5URTTV5k FuyB3Y#>*>Lua*V%^`Y҃3G#k!MizU1WZR&lK?n^=Qw+"%[d5ÈJ+C*4*7n)]o:Usq~5uCMRy6툍!S
-iGwwv>mg7۾]EMqOd}f`v~| ؏ }7gC Unl56QtaW۬>Z/uHTQ+[Խ_39ݿ3}Wq[Ҝt"iNeji<|]?Bƴ2@Jb"pR|g6hF!* =0jW(&w8H?ʠ]ip4E :2> .NSWϼVeiL`|ܿBt ROK)Wi3ecR+/Qs6'gj! Zq8}x?%f 326Jo~U}FoWDTFk.>pU_<᫐.=kZzO|kZ oMhn*
-}N [oVQ,0 ?~3
-
-}^{FC5a0係>mmG=z>է$DcW]E L|hwl>0pdR 3a-Tsx.7-jm*mX}xSPڝ/MjWH,. n2ύmGAN+t0:<5Q}Xtqal@Xhk$ IOԒG>S=n*^R50<FFpYI?6uAK]gӳDm#
-1EAx
-al6 4.@H~jȁbUast6[R\Թ<o|U0|Bm6|AXC Ŭ!;CWzp+cE^&fs\(о&fkQ/$&*Ս\&"9n:@/.J.RkEX8`aբj'Q;ϤvgRK:Xcb%2܉Pe.[MF)d2 :9X@)cr
-
-#L+x";5މ䠅8]YjiwăڄueҪAJPlP;0&%Vxbq.%" ¸ỈV)ߜzFc
-l$~oxi<Q(O`͎j2iI{XD7]ߖR1ݼϵbd 7$( f48!vڣ{rRvj6~l}{ADMNR6S1֎JFj ?(c pWqo1ۨh]K\(qjTfG+рD C,x!P[MUy=Ym?ԘW+ǜck޴M;>M9&O˸M2tټyD̙#IX9V$q{NGߝlat0臖]1Wֻg
-K|El.vq lw@xd@ٺٺᑭ}d>uٺlG#[}d>uٺlG#[nf*Hn @}HK)[[~NdBu|}~<Oc?֪/8R(w˚*]6_G|-)D|Aw
-zfzMOm*lܝqΨw]&\&t`jKnrnbMN2uvV#/Shm!Ye~S>B}::zY^'ufuR"^ľm#|>Pj2/),<};N?"f<6l)mD{29b팶=;cDyߜqOg9f}|Iؿd/>G2LLH}h
-ȳAK,AW0iYw[gOsX7xwz 5_%kz}kZ';,Xo<&>l FLn8! +9{֐;h0d4`M<;ϐ#=ix nOr#֩uYφp7-CvYARbj-\Y]RytCpiM<Deq wK&O|= qX:uGb:")`fëּ']CM$ykPfzu5t
-
-澐bh (#{Ȓi8s=(7Fa$=ã2ױv ew&mۜ=`Ǣ!Q38.mۄxZg/'J s;F^ȼZKU:ΑsSHvǜ#dʶs{
-m _ٌĥ<Ϻu҆S+DGA)FgV27n#g]`@\ V򥕺`9Nh{I+hV %6LSl%{RnHvBn=
-QMN7?QwLĠYSK 1):.=HqRBn@Vv+2]/S0tG_ѵhr×?68ܝǀؖ~T62NW:':[Oj$<2Q*@iUt§쐫ͅ[7 Q`.E8«C)&N~i Gӱo᧔\wzԮ1;&YPg)(j c<ƥɳ;EG޿oj
-cU+44䱮)6d} qS);Rэ[3Ne2,xslP{V׽hnb=Ӻ;=G<XQs^<{܎|+_ü'#oaԃӋ
-\T51T6to&dMQ 7
+*BHQT!ᩁ Lq3u-T5܂q"0ҮakUDM&2B'+XP>/Ÿ{Ktsش~av$*UȫcT S:k$AKjV'jn*,̭`;vfkF|T|™>H}U2FMK пg
+FLB* <,b]MT~ܬzNX',LWD(Kd}6k#5
+ PW\UiVUnXS#t6 jlXIlC
+YrUXpyNIץ5j!/
+Sj9+CQj% `WU8*_ph8rɸzAŘ"f^ctE,)*q-TUi0\Q1jIӎt*q<PmF]`W2 {-An+xchW0DLIi
+nӷ}w48Y0.n^_ϖjn4تkmR®Y}給 ^xW{)i7gr݋ӓgⶤ9ADQ+2>j'y* )~fie-TEVԥl*9CTpz` !ZlM 5#).P7P-LpڕAQi%tƧ/,hse|\,+5yEk6U2eϥO#RcEggV^mNΪB8p:1&J̤;fdlzÃݕߪ3:6ޮ0r֞]l}RtkyW!#O#]{ֆŵ66ז;Л*U+N]0٘?9ZtGĜbU,
+xGj{'Iٙ(8}`DȤ;fZ,u*\dol![8,oۆUڰ5.; _"X*8B;Y]AeҟێVa&`5uyTk<t9VwgZ֎I@Aڟty+%-;-W}{0U2н$(i˥3pk`Ry&.U[l:GQT)ϺgFbI|hm, Ji\Ƒ#}Ūf5Z:#ZQmm 0lsyj)-50b`zl&02(5YCvBစWBNJRL
+3P}#L֢^,HLTlLD
+2ﴉ'| 8Uv
+9$( "3cedyJ)H̷;)rC7|W11<_!.dqUD#Y^jTJS cc5$PPn8/r"N^i
++Tח,\2QP0`hCbn̋HJ8j؈qjA++qtIw->(-,haƹ ,87
+3DA}ΨL|MхC :4*܀HJTJ,FblLCasDҰ0<۔ɼX(4g@@jʚX)1EwjKA+?ryTT/'a⩃6U-?":<iʬ^{떿.O,5gH('/QhC(9Sі=5eT_Yrw  >ї>C%弦:{[>2lͰL&+xv8e%v7IH#H.:L"xPȟf'dҒ oJ.ٿ-חbyickZ-nnHLSQ48ipBGJtm/,G+* ߛ8 mbH+'z#ԍ8XQsW54 b*>LQZPԈ-8̎V~50٣.1 8YvCCšrPD{^610W9ּiv}rLퟪqdNy|3G߱BsILgn0;da-P PUIcw϶$nrnY ;[hPE##t(Sin=&X4s1}=F/dJĪ
+wja<Ni܅d3e+s@(G܆.:ݷNGxw'jk~ &muW ]+iƵÄ^Tۃ`p^#?3:udX>,pGb5HC-'KS`~u/d
+}.Y&㿂='vs/D
+LJ}K /tWfS_?jqF.-#ǙFA6f,8[jٺ]X;ϳ=v7[9iuÛu#[}d>uٺlG#[}d>uٺlG#[3[-U%:&{o- PL5SeFq|qy< U;9_p*ե&Qn5W%UlPlaW!$ZS䉞
+5ICIgT/"f]s a;]B1r/}!ʈydڭ2ΜtʍQx𨭌Du)mٝ}[G<d:6g.)?o9رx|H l g6#.Kezɥ\2iRi!NFsܔ0Ҿ1fpf#ޯB»W6#q>zFJ4ёo0{PʁǙ꿕 `Yfsm9Pk?å|i.XcSg.9t
+8ڤ&{[ު2Ї[7@lx#Up<"]O7&ۼYO{zmn+[}uh-p^z<Ҷt1;\K W7#&Em_;K)hfjBd?6rM:]twٗ;|Y7vpZ1xkPl.-^ib.Zn4-,/9$@upRëf*7F-}ߣm԰j?7O9ov9Gl_vs|FZuN4JO6Wؗ ̅yJʅ :_k ފ3|9l5>L^ߚ/IO0x*tQ`'CNo~]xACqAmc:SRKu^]z⤄~'݀v:/Wdg^(aDk!/lp;-fۯmRdtO u$I$yxeq{TCӪ…O!WM ]W6n\2 lqW:SLH"c4O)Wrw]cv
+LlSP03xKgw >2{Ԧ1 6 Vi(bibc]_Sl& Ʉr?PR`wLDfdY~24{)BY)zfu 5wl' {nxF bx2WyOG#:4NgueG&:;<jbr)m>LȢ)yp 4
endstream
endobj
420 0 obj
@@ -849,24 +848,30 @@ endobj
<< /D [ 420 0 R /XYZ 79.37 734.627 null ] >>
endobj
419 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F19 379 0 R /F25 375 0 R /F16 382 0 R /F57 385 0 R /F32 423 0 R /F65 387 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F58 386 0 R /F19 379 0 R /F25 375 0 R /F16 382 0 R /F57 385 0 R /F32 423 0 R /F64 387 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
436 0 obj
-<< /Filter /FlateDecode /Length 4708 >>
-stream
-xڵ$-߯D
-_?ehnJΠMJJ).]J}]A*aY<Jf]ᬈ-]ӈ|+w jeCq
-H9V@7?@+$S: jbX)lU7%oWWoym`%Lp3ooF#yyCHLITݖt]ZE~.dc+:O++TP ˮNeWR޻MHR0Z 'ݴUqQh|!FL<P:W(:ڙ6/,#Zkhle<'QH9\oވOWY+ ~¨mpPigiLp'fzYfr懮$>7#"rջW
-Fv(lWWf@j}}66^On\
-D WC+ad1z$=Neќ</ QY#4|w$[anEx~^y]yh
-oV6g ?+,oݭ̢Dk+e-=2"<*LEnWRtg0eշFzrŦh9HPGV*ՙF*7x8@O-sx0Ruu:h e[EAIsI?( 1NЬ2Akw+*tlWJ KE4d< w $nǗWo_0ciBi$_ml,DmLĠ|[=ٽn#BFܖU UU<y{Ms!#} Q יA&^
-RG
- -}4i J[QV1I[u
-
-mvxg 20ԗzH;B{~cR{ -G<M9&6my"=3ۣ1yLćlVoێqYQ4gXHa%-^ָ.9,O0B?㝓VdRU(>f7O]Yd\M+>L.LTv ݶQx,j2- Q"ތOmg%5@/U5EY 8zL9h]`h6ux: zف]^_l"m)89I
-~`otܙL,zȚ}Nc֡()wrBN
-9q~X 2Y K49BYmqx q\UӹXU;X3f,do#WRDѡC[7$r{ʺmeiK]E'OuI..m/[Jף+C5]7Ԝma/3E ;zgS,3$ZYmrz5IrՕs|}p*+Z^+JJ^q&iw}-U?g~z2AӾbʈSrپJ v~2=zw
-C@O@+Fw[ٕ@]V<O/Nu^{1lae; o?ucX"Kߎ}?dm;Jk2 _ h)7@lޖAL@x4<yddut@YLI͟¨:k l`ݵ _۷|e7.d|=GΒtwH_{W*ab\*Y4 H+2ޅu$n $mh~n3W^mrni}-i}:COx_͙=R?O{W#E(#߅<GT򐂦C6NBFۧ~?.#ˇJO)y</G,Dc/*)pfģN<b 0x f$s7u,RlȃP83}pE;)6rm#03-aK_8sJo/9])Yǃq2Ċg[X?0< 3 DWhTF5_7OT 8xj&G%1xpN3WeuTFo6}5&չ[S4cpf?g494ĭ`J%34a:w-vu=|l/2ѽϜY&0=1, ۥJ9ne?^ 'Ӻ*9W
+<< /Filter /FlateDecode /Length 4652 >>
+stream
+xڵ$-߯D]jhT%G*oRd[lv7xy+ow
+gE,`nFXq;HT&i5+H4 #4P v7'f~/w
+Q?s&@04^ ~u ~Jc0ffvՕygJiyMU9Vi{LJ:Ë+D\!9tz4P BUVz(rY~Ve~F(I6n{U{Q:"UgQi@
+ %6-麴\2ƸWt(+TP ˮN+)]tq$K GZ- 'ݴUqQh|!FL< t:P!ڙ6/,-Zil֥='QH8P6r|כ7U֊|0j[8TAB܉^T_@CWwTYT9@|sZFG;]FJ+3q~RQؾ>
+?'7NW#+wšp.IwYO"'^9aNK^ygJ"JaOMu+tTխ+/P |W;l1@K3k9 P~t󒒇ٜFXzZMʗ˭ͦ T*By@%ߥ'
+%oG8e^v40U$n90u[65y^fwɎ$Ө̉#$s']֊ (Z,1"|Ǒdž+piLJZ%o)IyUiQjorC<~鑊O8F=QqA@Xf*;mNeMZPw5OhIH)8BhN;Yp°2Ϻ-3 D;o#m[*7
+`Y6FS=g
+J7B826LWRUAlc,J ;K[4d<4w!$nǗɯWo,1״?!״`-07|lW6p g N0mu 'dqYQU_Ȯʘ':8>2ieD4i21McZkAH]-8YύFiޢ]En칱r~= RȒs=73F
+i&MP(*teŲu0BH_;ój*1,q Aj 7p's,Z蠗[CQZPL
+e|2iBmrr0<.(^6%EA W8E': I͌o!NnžXCL>#eqoff;-.WߣXrwחh͌oOiHT,M1ND69%Lj~CB
+ƅFjYY+9='11ͫm>T@!٤ʲCˊ4煀V'{憡ߚg3o1޳Ji."-G<<"U
+7 <9 x|_v|uu܇gNqׄe e԰#?Gnn:|Oh  vf:V Xk]x=q ga8`.&/VԳTbYŌeإ(Qbudž
+)u~⓰ E`?sޅ-f]_4DY8^hT1
+ UxZؖ$㶳⠠d7zw($,C鲭C(+Km7!Op ?۾dԐQkm1e$pQ6YUƲJM{Z*{U3\q;:hCMd&?Ar$׮hYCT<a힓ޭ
+³ ui%£[ɭ5j5L^x)d8iI_*W29\] cVw~
+#Ȏ@ڹ:s#2߳=f[*= }`Mls#4nDsG'=>b2yaP` b‚6 JYڷn;ite#i׏H%QnK>[oMa 
+gLƿڀ_YP@^Cor<3ѓNLEwX91NLW~WH/,TS⨝wQ!IxҘV, Ϫ/Lghxg^V<G ,,M,RorUObU^h]4iU `d=e'Wk+#ѿ߄M]&-02>ycz gwipyBofoq=۸ahr}wTE걋C#9Mw!Ie5sҼ2^klǹD+Ȼ~WITpWՅ$W͇e⎟!mSrLa:X )s0P8;G)ҞiOrhk^a٩TК0pεD%e,x.<^;;jc1nǂ⻼}<NS;v KE1s۱ {t)bM+n- 0|i^}1" *H8 e3O`f0])CQ[䞔5z#JE#9t,u(Y,nqlm49Xa|JlĪU\D@y-,K?p_n?ѻuOx3 Y*=F?24{ m/v_RP&
+? ??.#ˇqJO?L /5.J{[CzfMmRGmyIOq34<7#{c1$jG9gleu˶/>V9QlOG&5T/sߚ{S}s-yX.֔ s=Ob8Ə]0 ?! BF;Q䕮fm1Ƈ; S-q8@3Z\u3T~EȒt„a(qLٹU٢_ࣝo*}n}4^r ƴ3 "5? .VԈCuܝǴפj ӱTmqˮ_{
+M#tz
endstream
endobj
435 0 obj
@@ -876,46 +881,46 @@ endobj
[ 425 0 R 426 0 R 427 0 R 428 0 R 429 0 R 430 0 R 431 0 R 432 0 R 433 0 R ]
endobj
425 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.934 600.532 340.889 612.487 ]/A << /S /GoTo /D (subsection.18.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.934 597.971 340.889 609.926 ]/A << /S /GoTo /D (subsection.18.6) >> >>
endobj
426 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 214.424 550.783 226.379 561.662 ]/A << /S /GoTo /D (subsection.18.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 214.424 547.672 226.379 558.551 ]/A << /S /GoTo /D (subsection.18.1) >> >>
endobj
427 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 302.553 443.49 314.508 455.446 ]/A << /S /GoTo /D (section.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 302.553 438.368 314.508 450.323 ]/A << /S /GoTo /D (section.12) >> >>
endobj
428 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.536 389.91 143.51 403.426 ]/A << /S /GoTo /D (section.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.536 383.688 143.51 397.204 ]/A << /S /GoTo /D (section.5) >> >>
endobj
429 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.461 389.91 168.416 403.426 ]/A << /S /GoTo /D (section.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.461 383.688 168.416 397.204 ]/A << /S /GoTo /D (section.5) >> >>
endobj
430 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.43 377.937 267.136 388.896 ]/A << /S /GoTo /D (subsection.18.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.43 371.44 267.136 382.399 ]/A << /S /GoTo /D (subsection.18.1) >> >>
endobj
431 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 294.474 377.937 306.429 388.896 ]/A << /S /GoTo /D (subsection.18.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 294.474 371.44 306.429 382.399 ]/A << /S /GoTo /D (subsection.18.1) >> >>
endobj
432 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 95.809 337.903 110.533 349.858 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 95.809 330.582 110.533 342.537 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
433 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 123.485 337.903 130.459 349.858 ]/A << /S /GoTo /D (subsection.4.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 123.485 330.582 130.459 342.537 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
437 0 obj
<< /D [ 435 0 R /XYZ 78.37 808.885 null ] >>
endobj
434 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F66 388 0 R /F65 387 0 R /F16 382 0 R /F67 389 0 R /F48 391 0 R /F72 438 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F65 388 0 R /F64 387 0 R /F16 382 0 R /F66 389 0 R /F48 391 0 R /F71 438 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
449 0 obj
-<< /Filter /FlateDecode /Length 5236 >>
+<< /Filter /FlateDecode /Length 5237 >>
stream
x=ێ\Jhp]߂<"
@M0|?_n + A6 ᑾD9I?c7}%*`R9k4hsğ2vO~_͇Y诸۲@8ϔQFސM홐aJl4KumDq\EܼF!"5T)}$Vڀ##B1`([⢴ piZ=B)W[@ѵ)s󏮕V(H)O;<b[YeI S\l,8AIc9mPԳQ
[@S;,G뢎kd/J+f9, > INQI|^@dП:\P7is;f ;e8+ifN9иAY@mV`ւeVm( sPDzi˅EpQ9-`R AJJ٢Cx3[wV#Am=-yD(\\pn$YM?*NJV՞`JaZ]Ӽ\\"#Ada[TwM#b/f
|XxT7{}A)&:æ`[gzW3tC!h۩o$N1cJ_ Vg<o` q ^R3'þR3 pa颇zsCϘzH-ē@n4'BG[!/^A^8[^>n VY Ygd6y)Bd ɰ->Uos-2״"Aa"l9>1 vgV_O[W|CcZ8PB~Uf69 1ފM3c!40o<BI֞Z}k*m#(2L
-ku]Mm""Ej-Z8K'UKyhn;J%j$.OY2Y#X0¶z&xEFcz/xk#E:4l"kTY4g//Odz)Ӛai<r`(!$C+GR:&*C1顄)6W337)bAa4BM+jjo(>#'gNI8׭(Qhy!""}nB҈6%*Wf9]刐x#VQ% ,Z絗;':Bawrl*@Bq3-Yڃ
+ku]Mm""Ej-Z8K'UKyhn;J%j$.OY2Y#X#<G¶z&xEFcz/xk#E:4l"kTY4g//Odz)Ӛai<r`(!$C+GR:&*C1顄)6W337)bAa4BM+jjo(>#'gNI8׭(Qhy!""}nB҈6%*Wf9]刐x#VQ% ,Z絗;':Bawrl*@Bq3-Yڃ
eZP˙_IIh biYg;IYց,B!m $b즥457A/۽;=<ݻTq!g{Y}wPn@04G*ĞHH3r$ކ#aO2Yqte
t'*y=`' 1%)b豴C]յekݚOҨӣΠ\u;1闭OٻO ]j⻭{GG11iD57~[|yntÖakKBqnI<ޫo=KN *3rK5IT TC#!k[>
ׇ ;ܷM hkǘcf_9t *lÓרSn?W~џ)
@@ -933,7 +938,7 @@ t'*y=`' 1%)b豴C]յekݚOҨӣΠ\u;1闭OٻO ]j⻭
T@q/_VCouhǢ %4#NP耩Ř`'W_Pl_3ހ uaw/ 3CoitAHqeA/k}V>>VMFU鶬B'e!t(GqxS3:֛}CN#gÛzj uYin?2pQ!)hNg39C<QQk5+ՕP3)RB[`ʹ/։)#E6Q!VYҘ˜?;
vjZj>:C.*{' ]/Y!)Uv+c_ȠɰYv%:1 y"EzyjSޞc/[#ı2i~X:j]]OnP֑ˮ~1: Ξ,Pv숹UZiR9Z­`
8(MC̀~eTtCYUDtșW*֭25
-;T,ϜME>;KD>N5y<wZm^ }UZ Ngj/FyQB..0!V N"_K0^`Ef-N$sqOe8uC]<2`XOwy{O*mWᵜwxHz4m w=(
+;T,ϜME>;KD>N5y<wZm^ }UZ Ngj/FyQB..0!V N"_K0^`Ef-N$sqOe8uC]<2`XOwy{O*mWᵜwxHz4m e=%
endstream
endobj
448 0 obj
@@ -976,17 +981,17 @@ endobj
<< /D [ 448 0 R /XYZ 79.37 261.892 null ] >>
endobj
447 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F28 367 0 R /F69 402 0 R /F56 384 0 R /F57 385 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F28 367 0 R /F68 402 0 R /F56 384 0 R /F57 385 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
454 0 obj
-<< /Filter /FlateDecode /Length 5835 >>
+<< /Filter /FlateDecode /Length 5834 >>
stream
x]Kd'ׯȥ{y?RI7}}-yV+ϸGH
>Y.%r=-
D
[4$+O͢HVrj1ڌ5NR@z!ҙXFrq\ҁ2y@=
Ɇ* 2ǻ%]TcD9<h`#ŗj \?Ѩw, D>
-<O72c Oʺ(=W`Q<} ɹ-ՃZdBeK֤_*<j7/4%0hy ]<c6t_>Z k ]M4j
+<O72c Oʺ(=W`Q<} ɹ-ՃZdBeK֤_*<j7/4%0hy ]<c6t_\@>Z k ]M4j
3a*5Egÿye/ڛ$}-ͩ&Jj^ʑ^k6_nҨC"N{ (^72=2QmSuI2I\a7nֹxƨ?"w Bm
EKc#=JLT KFŴDc[Eh -oTmO ^$'fW;vDfymSȥuN]S{"."f$v+~
*^e_wt7}哋NCjDxμ99Q'_fupzc5{\YԽdòj [O6,~aUg꬛@vδĖ|6B|݆,>hhjȉzF \IE53OOć!DM;I I6͌\ؚ0x!Éf*DDhԵE󒗳nu|w,&wo@#yn9LUl%S[;dz$7
@@ -1009,7 +1014,7 @@ t̸+0g=\|=B
qxs;O
<UFɻ*JI<]|>C-U"FZGwUgf*a\JBYu/^>f%Zu<WBR\+X: 2;<dE[ڨEkj~@fzZG.y:o!x)]h+^+yyn&0\^֬7{b֚"gx;)̷6ulϰBMjKY3wxX}
+)-T:W?h9_y9`lN3rK߻RjL秕g3o0gʣَ` W źf)_CL*g߮ _C8]}33QZTt^uQ#^3'
-n噴/Tײ=쳇zgA ,2p*@ x#tcRi+1Vdw32ҝ*ڍ]@{i6Lg{a\ۯm
+n噴/Tײ=쳇zgA ,2p*@ x#tcRi+1Vdw32ҝ*ڍ]@{i6Lg{a\ۯm
endstream
endobj
453 0 obj
@@ -1022,7 +1027,7 @@ endobj
<< /D [ 453 0 R /XYZ 79.37 616.605 null ] >>
endobj
452 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F58 386 0 R /F69 402 0 R /F25 375 0 R /F16 382 0 R /F32 423 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F58 386 0 R /F68 402 0 R /F25 375 0 R /F16 382 0 R /F32 423 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
458 0 obj
<< /Filter /FlateDecode /Length 5026 >>
@@ -1035,21 +1040,24 @@ x]IoWtPOOOs'}ϫ}aY9EZz[˗/?<]??
kS{N {ss'G$O9|c'?Ip}H<C&G4'-uQN~>C;wS$=
\&޹%>(yஓ$;)P_䏃rɇ5
D5m Sf[@RA +B̄* dQaÐ2X HnItÅ1ۤ'\fWg-j%}<]δ\`]5\d<y
-XEo]>zM]}+`26iKbϑx3k۞iVBÓy3ܶ '~ݮv>|5 h#¨P7^ƹ#>fw`Dd^&*UϘh06K{~h!裷-n luc#vQK9i~  i`;!3NӸ^qBlho/1*$CB!4 :׼yG}躲{x{:'f}!f)Ș4+&x@~tt\yV.i\>PS6/'S^ݱ>KP<IHrkNt H=[wseoFjw[bVKHB"_,O:–J2hLi=Q
-TF[R@IzrBk
-!~bB7TQlsbDȺvy%0/Ͽk6%dS@J=x]V{ÑlɅv!)С*z~~"RIG$R:->2 Xx٪X:v˜%=^0aqfwV\γ/i36=Y̦U7o)]VرM#Qi"k*Oi*􁚖Ku;C758^>ܓt;ǽ)w9 )69Jf“"
-sĴ7[j]\mOL}A3F@&1l-ua+0Qx?n41>ȖЦ 쌀d͍oaPמ[N [=DOѼ|Z.h^w<+iBnWG\Cje:a
-6/@ոSI\B#B^ݱ%ҖFJDƈ|=n{ū,ZjW~x^1WFCfGZ>~[u$VS
-qZK .*`^UM),㘚j$5Ytaʩ
-ޓӆfr,~oSd1!oe|]3^ QIrpT2œ1ze/eWGd
-<Us ;и?)Lb81Ho0 #{ &+ mސ! UlHw2.u=
-shB$"F*Q*=lNxV!(~@c˝
-ȬS]7s !uBSGަ;QY7:1bb5wZaZqѨt~SCJ'a >K'Wzk6Z5P] +Sǡ89! if}[򩞯Sݫ*`|.,g6)p#es L(WS{8DmNj9|PDUʷ;SaQ.{+M8t+AW% *JgkŒDǤnUn}3 Sńi蜾)i?Q}iH&s9JskUIw.<Yۋ͂v!vIª`bpbmjK *LAXӬǐ@Eb3^^BTM<
--:8oS.(t~^pQSK7 ESxM\|~'{QV^U<lŗ#N<X3̐ڀ4Hë;sCTi1_!T`ºs_0*d?qx[fU^CVc}XGH9S՗Sk#orN=<H\s]35O_Tg3!pֺ md%]_܅>2;R~"&Ғ1GW&MN~.nʒu^FU
-'׌l6`7f$OA5hG[/sݴE)fQb$L #'ƠMI4eT0mwtDч & <vpZm)aR #rqŗ Dل` 8~.-%!}f\'X`n7Q؉n 0}K?3/ڮAy/K@xN^%^.֠ ~۶[=lH!FI7s}ܦc ]
-)&(.u],->GK1uz;faQNc@b_Spn9~ k$F䑺p_/ACX~H 'ԅÆq -PTdN?-Zg`gQDm]#yӓCa;4PVg "3f[>~db?9<Rw5s8Wb=8{XY<")<Z578wp4掆>rDC
-"/v0 I&mSfGcȜyg8mU$~Y" m
-tUknċ=8QZW'q,s
+XEo]>zM]}+`26iKbϑx3k۞iVBÓy3ܶ '~ݮv>|5 h#¨P7^ƹ#>fw`Dd^&*^5ELE`=v?J
+`D[[:ۥ4SV40杏aircn kpM !fFk޼#¾Vgt]=lpQqF<ƍ=eu>TJ|dLNe~ ?m:.漋i+ ʊ4nz){)OyXl|D($$5'A:-]CRlﻹB
+7p܍eO-Xw%B$! OJ^t I/NKJ['xnaQJ%TG[
+ZTK6T2w5i֨H,ƎqL2J+SO,YK!r8O3<Ye Fi7>y$(D*ى
+my6?1Fh(AZE1Esdq<i|k
+ fm5^{F M.+ =m [ni6B吔XbPtJ= e?KTl܉$#Htr) LQڅ,<lU,euS؁0K8o3;qMT+.SYrrgrڞJfӁz
+^D\֪.F@tئ45`4rHjl @M%FqںK /I:P^EIn%_t3I9bZ-5..t6 &վ  [# 6:ǰZNvCt(^rb7muJtdKchƆvF@2ƷJk-P-מЧh^ L>D-΋vcv4/
+CV;A_ʹ\m+Gj#VZ.^q52 0
+=>GBZA )8[kJ^anuÓ- ^]oe3} +R"M,VcYB9Y@8"
+Qjܩ$MJA!xad!sXiK#o%{cD]pWU7=U~- 5+YU_J] l<+r!I3#q\w-:)s?)kwcg&RK8qNY0RmBqLM5RŊ0tTRiCN9up7FӐv̀kp@`98*Sɘu2v2QezY?t鹆h\|&sW7ZEAr `MUޑ=DaoH鐆SX*FqO@M:ڞzƹWwzU4]q!hm ^Clk'Q<y@hET~1Nfd֩T߮BݐFgyȩأ} oS{1;0P8hT:U!%0%F+=5Fv-.){FPy4>-TUZ{0D>SS^ٳxi8ߑVt]h&Pӽu"6MYLނŜA>yzF"*[]0(ҕ&|pp:@ڕ 3NbIcRrT*7>ċFmswbB4tNp|㴟ִZ$p{ݵ*;RfA|$aUI0eHKC6p{u`iVcH"1//!khc
+r)mo:|/apzࢩQ<GDpѦ .hQR?E͓Oc ~(C*ZLTFz,FfHm{nYUSם!4☯*t a]N{Pux2՟8GJ!爱>UX~a#$͜)vͷya9'CٞU$@W9.}ç/tD8k
+綊s/|`Wfb)\Z Q
+ZH|Fiɘ[#+&
+'Nbr7eIk:/xv kF
+
+B]6AKewWEd4nz" aYި\1xt&]P~'ͦ$d|*NqX"L;rG8R{0)l˃"wlBUJL?pmvٖ>3s,]0(@BGDG7y{ ΥFm ޼%z pb{T/|Z/kЌ̆m[뭌{C RTj󛎹>rnӱ̮ i .Oɣ%:v S(z]/`Jfcn?]#JvFH] reg8an/j EYN?EߓGaø(*
+Gd&ue;\p~p ~$:el͋
+=Ն8Sv^ٍ\]Ɗő$duvES0X3k
endstream
endobj
457 0 obj
@@ -1062,10 +1070,10 @@ endobj
<< /D [ 457 0 R /XYZ 79.37 429.973 null ] >>
endobj
456 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F67 389 0 R /F69 402 0 R /F58 386 0 R /F28 367 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F66 389 0 R /F68 402 0 R /F58 386 0 R /F28 367 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
462 0 obj
-<< /Filter /FlateDecode /Length 4964 >>
+<< /Filter /FlateDecode /Length 4965 >>
stream
x˒_?0 ߏ*<R>%Re_Ivn$@
@B^m_
@@ -1077,23 +1085,16 @@ b5 Kb6ਉf_[=R̤j3_NJܜf<Umwxm Aww$GhTԍ1\
y-Pa­ TTȫ N@Qn B^ O3h OB>!z$~Ӂ4D3s0C@B>A@HH ČB7QPG!@HP D!(ʃ
T]}c@!~ȃ@;a6IpFu
y}Έ&[A4XkAT$AuD%p
-T]Ճ0B :AJgo )"#̎@U1Ϸb P ۍGR 9G. z1_l]'kAVHQ5^ Rq$31 ՂAނ oA?R79
-$8ܯBX'i yMZA/vVLDoy`kG9
-v˹LJ"\IO
-\yяx<[ƯTA@ׅІ0R Fjp GAW7a,HD(] Rm:),y3 d2@ Wϥ:D-+>Qb> 1 E I14UfRyՌϧy:LL/' ':3][)\
-uӰR Lp0 
-*.;
-8N),,p+|Mncj]ͬu芵e6*DtϤṕUȟχR*3Ϸ1qѹj8BcEl\
-K(B[B$d{+BrC%Ӷ3KNT+B FwA  GW'ХS
-c
-ک9&nXΊPuQ kn8G"EaV/]ZF\O$ ڵ_
-'<LA]E፡qwH]; q\\ٱfX Zv_!f$pm+e 3Ag̨Ykq/_M @Uř(WO?߮QZ6-Zv㖵l"h$U.暡J dL6nNp<tIR襣2>v#Lp[~5е:^8Y9WD~PuI_v-jyΞ8f\Pڱ,C٥ИƔcMSS. CL=~WVK ~{r"bJN/XRՏRJcXT)Jp҂nSnU{{@tBw:Ŋ|a v[{uLKB}P=w<Zx'E ?|=Y<FI;jy"BphdKB\'ڽx;A'*_s^yuŒS3u`]gb;6]fB"\)CÓ_OO=W
- pw#tָZnqy L#ֈN٘첺4J틳ZDw :]Vw0C )z*Cj3ΜF;Cڟ{^ǒP/w9Y:!=k1Ƃ/IT,%k:+L/Asm s4G҄2U0xG/[) QrFPSMwiȗ<. ^i$D3w$HZ^kr[D"|2[(C>LXj2*lcZ n*nI%?s65%`ˎ=f/;o,\pQ=S:] BηC8Bo΍cC8W>BuaxGӶ‘85ڴ%`WH|6qO־iZHɣE(8J[ۨldHBMᐚ'.AG+n+ʡ>8*EߺغSku~yϋ=`'ЪE/o;0E"(锶b5x{;ڶmtsn(8B8l1xGՎ:W7k>B.܀x8l_vWǿJD1m28} ;iXk
-{V5/}qfs`[@ +={ qD.Ѽ6[5V뚭ah ovflsfk1e 5֌y|~dZ)I6 ,ܚ o?ϏS3(I4jp 0_5-0g(tbocs9cΡ!'Yκ'Lo28u",Gp}<]0ch<Gon^.Qĵ猗e.q&=,VvN (LY
-\䊤,^OVV2$wX({AcBs*PiWl YV2qVZLlIjy dUB
-<
-VݩiXjPf4fĄ.r⛜AT.L᭒^yeJ> ]rd,nӄZ5mƷЀY'&hWP?[LĒt#auhne{9PѰucSmxkF(1uvۭI"复v
-@&f>W8qML^tCm!ߔE]ok?e|zNN&m:<Z%*\û?<[}e*G;jJ}aL1e1
+T]Ճ0B :AJgo )"#̎@U1Ϸb P ۍGR 9G. z1_l]'kAVHQ5^ Rq$31 ՂAނ oA?R79
+ۆl';i⌰AKvH!i!X=Eتrȩ
+HZ|(K?|1hzJ,4V)_5"]+_HSp{oEHn{vu҉JqEh4=7!bR#44wJalYA; s5Ķ-5pCY|ٜu.Ja _(ЊEµKvD`aUK[)hâQ#1"iYシrg$!˞+; _ˮ>+DԌ3me>a&վ<K{b-嫩Uj85J˦wEqܲVM-*V\3\IwP .>R
+txBw4#ǢڮvInVG ?K=gCε4ˮE- 1, *P;e~(tZ٘r̰qj
+Vw֥_]}hgoj"ow\sQNQB ])p=EKóPa~QJi˂j41@ {]Zr-uܭjV}0SHn^X1#l_n˵|iIhJ]wa?ܵ\/}:ؗ'(@#: iGR-O[b;[-8l PH$Qo'\KuK3غXrjYlߦkl\ȴUks6y(Ӗxx Jasan<BpwB29A>I`vq :]VϳZ?W}qV+_莲:AgC3Y}f;EOTeP-z&ߙp|gCS4`X%.g;KGuC=$ԾtY" XE?)D4|[sZ=%hN=m<aHpU
+%{+%#4[ji[.1: +=Mh排I kMwԕHđRo}2`(Ӈ T-Wմx]%RzC^vbL dM%0Cz8sy~nƁ1w1ޠ{: e+.
+{JC tAhtHGmչqyȳGh;LShV"=R_8ǾF
+|~]# 9m6 7-ulM#lÚ5oϯ_|#Ys_+%†?[3`'qw<7
+\.k%z/hLhC*튭<`!KߪZ&Ϊ\I 6I1oJPHBX;0:K ʌٌEn^A|3hRe)U=LGt[z33K#-#rP&p2
+j⧜~XRNyD8Lմͭl;g;n}lPoȢB/&n5!I亜ڎ^>6d'Nr܋n
endstream
endobj
461 0 obj
@@ -1106,10 +1107,10 @@ endobj
<< /D [ 461 0 R /XYZ 79.37 431.402 null ] >>
endobj
460 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F28 367 0 R /F15 381 0 R /F69 402 0 R /F67 389 0 R /F55 383 0 R /F58 386 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F28 367 0 R /F15 381 0 R /F68 402 0 R /F66 389 0 R /F55 383 0 R /F58 386 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
469 0 obj
-<< /Filter /FlateDecode /Length 5084 >>
+<< /Filter /FlateDecode /Length 5083 >>
stream
x=ˎ$<ڇ~
m|yfvs0BӖgM*,LHpTs'G<)h)M2\fgGjKS;z&ԝXY)oEoEJsg cwLۦSEUwв fQ>q.ƭԑl]g6fXSٰ#+ >]18 xÍF^r6 kqˌ1#yD%=TɃJ^=OTk9ohfvMWT(ڽ5u| ­ϚtD;zc/MާhƳ_we W?ų̆²
@@ -1119,23 +1120,26 @@ m|yfvs0BӖgM*,LHpTs'G<)h)M2\fgGjKS;z&
\1B
hhbK)#^)DN,0gL[b!JQ9> >(e=T@d"R3֌RbtӊM ȽB)LX4g2~{WaA8J@P a 8
gZ K&e5nV7QbJ$6/`цbF]ҡw2< mFL):pFO-:ĶA7692Ը!]4]$uV}NtƚŁ˹fpw.mhaW@+ M &o[spi^X٣ק=v?C|2-ƭ|Zl<eJi
-k3hRN,6/GL\"] 2jZ25qsa=ia1%&<PGs5kHGVv~FC\lᬂi>JFQ!Ȓ)02EW)4SdcZWuS VۻD>z@>~'vJ5oE>:#zHG_`|o{wy[ƄEgF<􌷭ʱnLѪTiE6ؾVpo˂x+[F9Pz/zZ^ʼnv@EvL*veQVV˹%"8R% u5u뚎eqtcOX(,K2o 3m85BkG٨ V\ErՔUJ[}*JJyua=RBɡ`Tˉ\8WaR
-^RZSH];~4/*6HVK%##ťZT[jVmZ{<S~;hv$0O H9P''t.WiFd*m*ƍZFBu?#.kuN60L_ ly ]&[cIfMNt^XJz m@`*S+uZw
--#OEt >ɲXHtKSVd/"ȡbw+qe$ToEqXA` *a ɍI#0bOG]nNIJNu)ͤDxR`햴5 ゙dޙښЛTk[!v wWݿt߁
-"(Fbsy2d~ʎ-~ bc+Uc^ĦёYfG[{YOԠ Pk s)-_ $֏ҢN X`B.LK>7K&C<  9N =cdͳ#9 Y}#[ʹ
-#_FAf\&:G:XS볪Gztdh; v{;"m F.Wǵ"/-"
-Ucj U';<`qNv0uy;dGKD([0J+uCuW=q>eI/u
-yk[~R<b Vv6餍C ahzLsAv<&]P5i3/%JD֫8͢uۅBpBQýfv⛽mfw74\<շ\ۏŶA);Pz$=ޫDj͘K𠓥mL`?XR]$op
-#GٻBs9s\/VAfJyQh<aHSr=g-d e7n != /Sr,}Yxd "u> ҍRʟ9>JIFIRB xUARwZ_>;lkq Z6xҶ]$Ϛݴsq%`R,V-
-ob,Rm5r*Eо0]wXq22ܒ˦ahLS7ʲv- +R0!¢Ϧ7
-E K?fp6Ϥ gN/x)Qg6ӂ%DH.`BwE+>ܩZ^7^G;L$VT
-Z]k79VXܼN
- k1zk~h){jeWPrj@<P̪ }:I4}a3efw}bv0{wBB]6J0ݬ
-xQ=Rx'>py;z͜7Z'`ߑ
-zTټ +]H.\$t\/ݛ&)MfPuެx%a:n6_Şk#7%vl: 1'/Tx:⣼uAv}ҫmK.=!>CSC#_g@lo׿u0z4ڿ]3%uTc')o)xc?s^fNyP
-αS94ЯV2#&ޙrM]˗ |Wɨ w&@S%).o>^/AԊQ9J 37
-E܆݋b(tO`a>RE<jTc^~-+ۈm{~)kf@[8OΑvg"b)p䕵G.6JJIϘԈM՟ʿ|OWY3f#l (p v >_9`GoV[vkn\fN¸n4nm/+N'N)*[seH*QEE@)nuGnjVݑ<l!"s.?E;ޥL>敯U3\<g7^ao{=#x\ЏV2Zz[VZ3y(/F9竹@Ngp$iǼ)$\HOyt*S4f=( 0/4v2 FJvY\v䷫ jo\羗G5,ao%/мNJ4Uĺ+*k~uN)MR'ER9XܔJ'=}]zOSzHeTtxZl[NXh$ _DCa[i'?29X"-f5{GIPɠ?:#LB'Hk*cI
--~7R
+k3hRN,6/GL\"] 2jZ25qsa=ia1%&<PGs5kHGVv~FC\lᬂi>JFQ!Ȓ)02EW)4SdcZWuS VۻD>z@>~'vJ5oE>:#zHG_`|o{wy[ƄEgF<􌷭ʱnLѪTiE6ؾVpo˂x+[F9Pz/zZ^ʼnv@EvL*veQVV˹%"8R% u5u뚎eqtcOp0 (m҄ [a(Nڑ-9gA6}WQ\5|ձr|_u`F]hEwƮPkr%=r":ΕjE[~jr|D„ĺ>4RN:
+3^&]ZtkEیadW6ʷ"NY}4zRlYYq~k!rUn=-
+ӱ$i1$?9!yϣ
+PS# ?G&
+?"#з&?ozz4v$/cY1 x>E=! M$Z~Z
+}.VMjYu>0[ujY( 'dS C|4NbNietR7\|=}>?N
+=
+xNN^~ iG'Gwc"ÉLzs$upk:89A+K^F7+n 6hH|4fϜ#`T #VX:;_"l.&k&=,d9ٓ52Aɪ~H߿t%* T?ߺ1hZ K,H{黈|<!I,i'JYfzK ^QIxü$9S$ixȎ4Vtӛ-Ll%"\`dM~Ƿ1?M-͞_Lf]P_.=;۟}w/o]8p^.(}\<oxkJY &h$W Dқ
+TLP6@e=۞eDu|vR"Nk,'v>WH6)7",Y5ПCz`Ř0V
+oC
+\/w3
+טwjZS/
+
+yh{BYi)> )௛
+Gͻ҅$O9Oҽi"toU/x@[coC U6<}SiǦ SzRMn^
+/>ʫ]lh*i Ϻr34^94</E 6vP˛Y'=Lu1SWA?v2̜
+83hPU9;
+KÈNj;Q,31ދ`)Є^| gL
+4Ur"1_+mnD˨dݐ8sPm߽H(vB,\CK5Vׂk0+[Ѷgkhf siwz*"b I^Y{bmﬔITɨWt5c>–ڀ`<Z̡{|4VnU:ٸUi eMO,F3/;?tz2 %[O<Yv:5
+^Di۹Y4{X_ 韟&]wk%Ö"=3OqZ]c^Z~ <sN~l݃=2h%c翥n52\0ms tF;z 'N6~̛rOʍwLb9AcvÍ
endstream
endobj
468 0 obj
@@ -1169,32 +1173,32 @@ endobj
<< /D [ 468 0 R /XYZ 79.37 129.534 null ] >>
endobj
467 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F69 402 0 R /F55 383 0 R /F67 389 0 R /F19 379 0 R /F16 382 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F68 402 0 R /F55 383 0 R /F66 389 0 R /F19 379 0 R /F16 382 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
476 0 obj
-<< /Filter /FlateDecode /Length 4371 >>
+<< /Filter /FlateDecode /Length 4372 >>
stream
x<ˎ]H u}] dVF LtPy]=rΑ(K$u7~內/zӠ/^Ǥ-_?qg\?~
s.@~9 9#$v *= {xd- wa# <NaĦ1.P\p~q zy EhW
90B  XVLd>>23 AR1u^*)a=NL o[_`{ܿvn:RSf{$L9S^_6!Q!9sL1Hqϼc*Fu2D:QꟃYqY8ƅDF,(8y_^ DCϵpv7M+j‹_kxjҾEuGYIHqT>"L2Ӡj%< dBug93iHfߪ0
朼mKcъL2.]eWAzkZoꌐ\#ɘYc%V$Iϱ(F0KE6޷OU˗mbYzYX"?d wbxbpru/z#Әa.F'<T>e R5N+ULޮT V0qx߿C%+gvC P<[<aP$doϘGvqQ+KS|G6'2
(RE? bU㟼+.ٳarqZ1y\H4a%C a&_9h;%OX2u#f#*fn8rmd@ o7-&6Hgo/|5>^c=g*-'hQpc0;_ş!E6ԩ)y%4 85dr?6b2'y,gy<
-ɉR
-U˵7PCóڡl&3_[r\nT$G\N.,\bǽC,aڝ n.|Ž7AWir~ٲ_'ř}5&EA$b![$?XE{k$@`z(e&;rw\dhE)I;= Jxs/0H"]+S,8G;Y
- 5(F<ߖiTU"뼻8B
-p*
-VQ=q}eArg:Kmw.>;7Eg
-1]5hV*\D$TrY:PMX{eز6޲i
-ȸs
-'z#-նvsAlHQ%L[&<ɍ<FղsGRh&{|8͍4~Hɝ + IO&z`_SB$ svOA]:cMvoV\-~9˝<|:aάxV9/]l`JCOyTL ͪ2u?
-M$q}KgW,iQY)ĻfkũN\Wr/6/͔wOﵕUν?:Bw_پ,pQW4)63V&R1U[6<ezؾ\RZY'H
-jVAri?H]?Tu-a&)yh[fӖJ¥g@-)=88r\dmmQ5!Cc2B޶|`_t(\ I[weeo[=ڣ hO!m퀔StvWOf=͗h[gal!Zjh} aaα¡
-mIq7rQg̵gWcbE38(`8S0A <G9b_zLxFZX &Z pt
-!Arp+K YJoZܼv5#Ys~.E-@Y~~e!;6ֈs ֶ 'k j/BVKd{1s=ã8u#t=
-w; 4N {uG<CɈ!Of>9Dʗ$6]K{ޟ _z?0
-@O3?$f}|6}k݆>m$A56ER0ȴhCI2*FADT4O׆ 7zrU'
-
--a'q݀Xy!Vs\JnĴx&A4.+iw#Cn㜸`荛{<$)Ղ:򙃔,s56reFj/N7>3|f5͹*
+ɉR
+&>IHb5F%S`JŻN+k ( ,z=0Vuj&piT 2FjMi9pJÇJ_rlހXKb=e/}ZS-"\u'%&pe34y2-ߒr2W$1>=<v|wrfyWW?;՝f \Uu[vv|żvrHe͖:
+jG&# :')5^*b]+,%`JӻFD8/c-u0Aِ޷';@+:HHɽYP{WGWZy*f=u2TXA1"lNSڮ!\ݕ/_8yAg:34m84v SqhahšmAznX}U@7qt٧<ɔ.v8đMf=Hxm'|U]kȽvXPWyGuoFiTbSk74|9ǛȌ9񓌝L92e'xOQ`9'5L7 W=?>Ksֶ=0 ߴ!>9yVG$7:Vн$,ѬS@zS;|5,s?;DCݴ"s-)2`%iȚIVaws~Kc 1rFAE8ɔr0O$|(R[3dY
+7G(ЁD8l]_/;ƖMS
+RuIc#1ٜroUԳg<dr
+NJ>0M^ {f4upo0Dk^%zZ*T00?ii箶;bC*fڪgu0iIn=7zܞ ?B3aݓP[in=7CMYiH:PT}Z4)?^"aô8|
+k
+춻~{@o xVocYw@4sfų:}<͙4|F~b{
++aO$%1qohUPl%_?gI{rGH[&5[+Nu˼ڔ{ho{|ztr}ёZ=f
+`li'OA24я*?Ym.3$3w@-t
+(@ϢW?F:
+|Oi!ܪw2V.7 [ھ
+mlx_a*]|+]ـ|Yn.>̖n:+?lP3OP{\BJ{V@4
+ƕOq{`]3;Rt:Yٲ.m W{WiliX?`m.kR|l0ګv"4oN{S/;3<S7LAg1cpǸC@30~8Wgy3h/bYiMd|MRlӥw}
+Y /#wK 4ORiqΡIkݷm8cFTSm_) L Qj!;6d߹(b^IKOOtmʀ|=)W%|Э n{¡o57̕LL o"DcRRvW<8>.=Ή;Q
+6޸)CIQ-xk^!#9H1'\wa#W6krx>t3WhZ3ۜۯz"J_wdf/5:*
endstream
endobj
475 0 obj
@@ -1216,37 +1220,33 @@ endobj
<< /D [ 475 0 R /XYZ 79.37 254.904 null ] >>
endobj
474 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F74 478 0 R /F69 402 0 R /F67 389 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F74 478 0 R /F68 402 0 R /F66 389 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
486 0 obj
-<< /Filter /FlateDecode /Length 5326 >>
+<< /Filter /FlateDecode /Length 5330 >>
stream
x=ɮ$7<ڇ KӀTuk=\f!K)"]ω9%"(J(R(]za?\]4hy? p'Pb4_.8OA=q:h703*wEZjkH髒*ho/`>{*MQ)=au;=UַkR
jro͕S)}ZQd%ax-†=ؗLo߉^;L?poAi
-R%
-
-n3dr=hA6/Ԗ2պ×5%.9#xCvC=|EU*qiL'6kXLjL][OXϤh\HФĭH( r};6/$?OZM(
-MIϱFao?.THMBϚi$/iIXRָv8 hQa ήo>%
-O.0. " \QT&8ıQN :*Ӻ~O= 8
-yƜdu8;, @+г {Ɓ+"K-5qEeyUVN#˖zn? Oǂ`L˕>i#9=+`8P
-݂ˇ#_p~{R埗)ϿFym\aۮ$(<!*8257&ě\c5,gfL2
-őDdeguI<g4i/U;x͖3Iz;7_?x 9]jX=oۦ<
-^4鰓 Sy =ۮ pcϨQ^ZWF(;E2e3Q|}W{WJ;]kKA]_JYī$
-&{ZԂ;jqm$-fڪ*@~ePk~e%/}P6=_3z4er([G!p$y8밶=
-ޒ8bgb}5'樏EH[rNٝ@ȝWoA ҉Ω+ԷKk/2P}/uITN8k&ttseTff2Mrݱ[KXˆK^*_lu+ݚK%HkhU-zy4ݞG"_6)du3i%pz{[uXj]xIXoy&6J'0p(7H7<WMScr$SRڛ=9o[.xkn$[ QՖ5ojrZ_'\䥹`c|Wlߦ i\yy bD?@9{;.oe%z;.2_<Ⱥ(j~mvj-.NLRE|RnyϏJ`;qIjyo7ۺ yX};8฀I>!¥y,Znyh .9V>egv?A#פxPa)px/V*N/Q?7U;99
-(z{
-Y"`t Lvk?)ovR#ɣsݠ;ԅv@_Elgܤ\B8Xvu؇!?:%;̒ QQeKYܱ*nnQD9ܱl+G"w sZoЇ(bP _;t8q痏=Ɲ_>; 1ܡǙnp˸Ziђ7T[]RNڛ]{g}"!P S.SRi)Iisl.jl O:mÊj]9>hb$@ =p#+g#M8 9.3Wt MD$X3<#UY*%èfQcLǞ ǧ6kJ L(hTC
-9¤
-PHVjɇh.C6;2$B~5:ZǕ-ER?
-"|L:%T?aiq=Xh"k:3cnbz:۷K1<q--pt[Nsu,Yrz4Ƕ@Ks 1x†NP@6߸_y5L ]?:]f4pP`™#S܉)
-rd>H}}|N;h(|Ў<-x7.|K.f
-8r$K y 5 6yJ XKyo)OO_6l<vp9LJBgAz)06cd)T=|șQQtۙlc+gmʶ>gl+͌{3gZXYOגWrh
-q,o-# ?y rLykP}:dtt8i/UoWY <~Jʝ8Nqʨړ7nԗȕl%t'TsJr RܪY峋w2I1AܨK? ՚sR<Z(ܫHX&H[%2pfאՇXYUx|J-+rb+^O[/N|!jL^'Zڻo%$r-A#WHrlW)Y??]ue[U0É?|
--i/ 3EZ
-g
-sMQ: ]ϗ7
-fݛ/}>j-*J4;E0QO{meF&̶$ŖoO
-:~MlF"7Aۂ+$,0ie:L)tǕicUԷ -*E{KBmg%륪%nur3$Ac{ǝCw4rH2if7aT55%|} ڍKeV;Q%͂VGtV߾E'pɶ!)H]߿ԨBIeG(?NY gU
+R%
+fn0Q7<=#g:$LͅimL&j4\l5fsF F
+\~h2ϓVʀgyaslQDK/(Rгf*Fl~ZRzw358N&:},u>Z@TXú+kx=z[OĿD<]\Q9ݪmu Z6nÆ֨a.*%'#X^ψksQ^@pԤ/~ ܏-]>çK.rAu9Z&u_
+??LK(`/W4qlxx΢ʴ
+,HqJR 'eCz\fg3gQY^n@<Ag%pu۹ pc,Hӱ+p+,8=,;rOn
+X'-R
+rKbk)xUw s,xM%swmr`ڽlbp!rE|^qqp{󯑴q^[ Wض-!<+|!5 ` ,&C@XMz|' ř2Bqd=3Y鍥'MмӦZ/pT8J7[rV'|M+d"<
+oa}tq'a1zmV (ԛ:`m8J<b#qf_6Oɑ *NIjoDmٮl94pDU[ּW2˵k}~SpK?mϏ7r\}6q==HPK{=8-M|Q<j~ ΣLgd7_81I_I1=?*5% M߰o& a<DB'Vh !03[m{OОU5`}'\=@0Jnȇ5;৤pMA#xCX 8I0~Gu/W+QtCZ%>F|f2n\#xC^%+-=Wf>Q3Lffd9jw3Sp`ffd8j*Ocfƨ&~̜pòߘ
+Wk43 zŤSS ̼ 43G]3NAtC9GA#xC9.X9i HoR@~((8Fg509ڍfQ;J)&>Iw$R
+ck.aaX40K:DEa?:-E;BNf gpDzEqpDz ܡ1jMCV^C1|ሳƝ_>;8w~6pg_..C$*ki6›>FKnJk{DOHSm1wK9iowV>EW:@Y3LLKMOl&ͱ5< +v3hFY&.:~Q
+ur̎4U6\-*6uTcP0@?WeF1{:,ڬ)10hgģ'R 3rN
+
+nӳf} +@Jb+C!Y =& ,hf& qdn8hWiJ%J
+ u&Ϗa kdF_< qϸ総!c_2"oCVy~0;c
+w~f*wD>(ps8([W[ʥB,-1R/z()][$`-婾m<m g<} ۰̧e0)UX
+g0؜ P&p!gvGEmgIZH@SS)%r\
+$63v͜%Zkce?]K^M4ˡ)ı$.p % 0筕BMfpQXR:W]e1*m+wb8)jOF޸[NSs[S_"WɖӥS͵Z*Y%Jq
+f].ޕc&̮=r.$ֶWkIht:^s"ar :odʨé[^CVkV\`uf9T)Q&[]=R{}<n8;1yhIhjr ;/բ8%_"ʱK_1jVgQ#3ts<mW 'f)LT6μukQ+LD`15Ke%e}b.\U%D#g/`P%6oF]sl敬PCj7ͱ[qoe+Ö{WJ:
+af2|Kbq$QO ;2.h:u=1|P r[E
+VHw)YW \󮒐vn.7oXI/%gW6B9ݦ(ѮKLR
endstream
endobj
485 0 obj
@@ -1277,17 +1277,17 @@ endobj
<< /D [ 485 0 R /XYZ 79.37 241.685 null ] >>
endobj
484 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F65 387 0 R /F58 386 0 R /F67 389 0 R /F25 375 0 R /F16 382 0 R /F19 379 0 R /F48 391 0 R /F59 393 0 R /F72 438 0 R /F41 488 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F64 387 0 R /F58 386 0 R /F66 389 0 R /F25 375 0 R /F16 382 0 R /F19 379 0 R /F48 391 0 R /F59 393 0 R /F71 438 0 R /F41 488 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
498 0 obj
<< /Filter /FlateDecode /Length 6100 >>
stream
x]KWq}(@RO =wZƗgYɬj*+"H~ F ~⧯ƿO$c2sqOP}=ENyDX0tLY3>mވτ*w~SԷ,4Y (/œVZ}J_ ?r΍%J~jI~d֛mC;&<B2nr${\{PtUtI=:IKx\L#3FO0 O&ŗ7꒠R2}G+H B{hHl`f*P5^./[BjYr1#
unP6/cYύ۪ ô7Ϲ񎲹a1pTq2adyޤSʫS{=ǯX
-~JoY7T%Rҁ
+~JoY7T%Rҁ
sdn]Mw1?s{Tk`>ZZ!&-K_jT#_řB63ћBaz#
vB,Z
-:q]kL9D,LVcS1ZNyR*@^m69)WXlKLFs 8(ƭF}FlVv
+:q]kL9D,LVcS1ZNyR*@^m69)WXlKLFs 8(ƭF}FlVv
wur$D%CKliA RyEy١ Rw:зԇѻijCe/,b:_(;elm>=|:*EX6 8JjB%+[pZX猯uU
I1hKel,]Yx :%Wnp uk7OkZays)3E nQFO$f#4^0 >PLp@We,4!E#/E
'ZwrC!H 忠.Z^r8bZ8;y1>mȢJ5پP)
@@ -1297,7 +1297,7 @@ j+&s,iW @kyVw<0|^ὺ5no'US0;m07aOrIP'A
Sf1 aP|4s;9 O``xn'4A) 0(>eV'腯aY -pxbP1aP 4Ó.g@;PONĿOį,;$f
Kf1|u>z4O|Hds;_2gK1aP|4s;) /`dxqmo[L;k{'s/tmŔNc00ܸ:?cqY*fS
z&߈g5P#?˧Bf<^Ï {<V`"|)  =A<6l>ucu?ˇ'l3!^uS<f`<'OHmH# \Vc|Tq\ph&_=7oJPsΜSt Ϭ;f{݊9%YύwQ+>ȇQTsrŒ=ؑrYwCu[Y|ι[-Üy|y|i4qgcDaÔpLr Ҡ27N'%5dc-KoLvy)R׷ MKr7C..=Ep4Ӣ2d%lo cPӷ;yv)TcTw*|A]]M^5yw˅қz3AWc:OFZ˜6SIg@A)K?l^_kKh) kظ-9MF..IpgIblnΫQT/Վ&(G-lX$֦v{E7V[Ⱥz7.[\|[hǂn]&HmԩK ՙ\Zn2p,ekviT4,Opf};7=KaCKK%R+m+Sxz$w(p
-!^k@ea1E]f\82}0U_oh#Vͬ@[p9<Dž` ΰEcMYZdS+ٗ41^*ύ="f/W.қE3Uƶ`y.WnҺE*rnQ% CkL"/b˷gW*{.۵z]
+!^k@ea1E]f\82}0U_oh#Vͬ@[p9<Dž` ΰEcMYZdS+ٗ41^*ύ="f/W.қE3Uƶ`y.WnҺE*rnQ% CkL"/b˷gW*{.۵z]
endstream
endobj
497 0 obj
@@ -1331,33 +1331,34 @@ endobj
<< /D [ 497 0 R /XYZ 79.37 618.598 null ] >>
endobj
496 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F28 367 0 R /F56 384 0 R /F55 383 0 R /F67 389 0 R /F57 385 0 R /F58 386 0 R /F16 382 0 R /F22 404 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F28 367 0 R /F56 384 0 R /F55 383 0 R /F66 389 0 R /F57 385 0 R /F58 386 0 R /F16 382 0 R /F22 404 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
505 0 obj
-<< /Filter /FlateDecode /Length 5319 >>
+<< /Filter /FlateDecode /Length 5320 >>
stream
x]K\WԲ€շYt{`
z_yGHQ7i}n[jCc]Y&>!Ϯoc8s: Ħ}bm&]D]r۲T%r=+W2f9@QM02kTJÌ֔V܎Ōc{)jQZa}`-W!0}^1'Ue]qi/kZ*r&k/:t`gV\>Dj00/o>^j9 'rm/(Oߟ~$FIZ<'A*GAapj [J
pt2< N@YK̺ocq1GNԅX= m'8~y ezWѧ
yy/SV]۶iFS^~I(-MLc/uyFKR rF>}w$mMl
V -zk[.xl*Z
-7'kz)C%s p
-
-@Z%s)~.gS{$=D"GNvEfin`Z?sR7cTLc-462J~8G?39>lqXz<cYUE{>-VRikuɅ;5ߌ3!a
-I݉& ģ_Azc'̈i35Ӧ=BSdsMYg1W-aL&/ 3PDos
-(9)T
-8 |_H;TX lP
--N* O*`78{?
-(>-~E{a@׳
->-~ŕ DŴ2y_RϻwVucH:0qfnťx~Pqf?O?PT7n#1B)]%ԯ8ޏ5ZidN-~u ࡊƜ2y{`Kg;|.О8ӃkNHL-Q|L]Q|2#}je lRTx1
-myYO!N`֟d֒c Ɣ~R׹h-3?bg[hK\S?.P?5vqmihV1_1+1]y߲;ʃRXd Aǘ1 1OcFק1Oly}nc!b,j C08NL,1LLy2R2Xk]MR*O:Ŧ>~,f<řOZf9!/*õf|0c~Q•0slnSk5<Z,:?Ë 0 T7ش
+7'kz)C%s p
+81kv#P Ngm(@*x1MNvfŁ1۰l )?fzS-E628u3BlFHM x<njEa[l2^% >X) -C$**YZ74PrA^ @e dc,S B3m q
+3ߖp=pg`Ƒ1w&$ `X3'<3g ,tw*Xk 4J=݂B~[ӝ䏫rFs>
+T@ iPГ*k7}
+R>iY$_i!"21"9]l
+
+mf rq30kOl >u{9]98tnytz_#kBIdI vgCrRS=ԯ7w/lzVS=ԯaȵV@&RyWn֛;^"Bb I&6ϯ*!gI
+&mC:&P; P =L)=ԯ<TߘS@&yl)ls'؞E3y=sz0ܩ%jҺ+
+OfO!"MJ?>o"YM3<\?D sZr
+UIԧ֏Ō8Iˌ3's<E%Vl^Xfs7Tt͍}j]G8Qsx϶{F C]GJCV/8ї7cr m
+o^OydZ#*Q)Fs?uԺJH'*]\'͠3ͪ-"nPDJ UrxV8/܍dBNКsA^iY9|pi;%M!4.ᣙUQr\^7aܭ%v9R(id;VuBJ٭ud'eCWr]"T>\ˠ%,NW 虯b`by 3j#Y\gZ[.6c_}9ǚadA%ެ˗fX%i-˂ZzN[]jC$eۡ-\9J>ު-ydEl"x{M֞%h`RSWmRJ- 0 iҕ0}2ZYy雳$M4դD>.TUAKԻMR2'>I rKվ\)nKM]emZvK
5!('e#5t=fh̺CA $+!L%Bw87Pב
WP[iISӊ\(j" 67-eF?R?[^<IsIJ}{D|ְ~@.wzrzVZqvi
Yyr821#E ћ!ǂ+AݑPVG'WBC-47*ZMGm{<iLv9ar{Ե~T<t
`Xx5()~T:5] Xbߺ[-Y
G{[gFI?'gY)H r[&T>.WM$)mɮwgRrgghHCnΗB`){/ ~G5KgXկ+>Unw y`tD)hS?Kc&OY;ӝ9&TOܺkY q:9ɐ7 OzzޭXMg׮ߕ_pER|w1Ӄn03f7<=[Ru?“r|''hIs{Ol9rjPcY-hiڬ% 2$ X/fu3݀u":[ɄQ 7 r~z[}zRL?i:|(0LZ0)W
-\FD4nWltNX̆"߷6‚94-O?V
+\FD4nWltNX̆"߷6‚94-O? 5
endstream
endobj
504 0 obj
@@ -1382,7 +1383,7 @@ endobj
<< /D [ 504 0 R /XYZ 79.37 436.2 null ] >>
endobj
503 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F19 379 0 R /F67 389 0 R /F55 383 0 R /F65 387 0 R /F58 386 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F19 379 0 R /F66 389 0 R /F55 383 0 R /F64 387 0 R /F58 386 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
510 0 obj
<< /Filter /FlateDecode /Length 4149 >>
@@ -1401,8 +1402,9 @@ x\I7̡ h <-)3!q2HTk;C("OD/,|/ 
e
ȼѲuB0aίh J~y48N ᰃuLwIc+oTU{ -OJPR靍m3 =xq0Jk焑{a4jS}+ys
@,ԥ"loY
-'!n]>ƒ3fu4DŅ\<fO2Ų^t(`iCb\ڛG ʧJ>ac>i&cZEOlϖ (~P28JExl=33fY_:4PN{*x6,[ e5Tr [~ނl\|o.[O[ziy ątOp\/!!|x9@Pq~Lb5d6ϓv\yKvrʗJ
-\>͍k9J{UHU}: gf-驺~MCԉK.mZ5vTv,p{ ={J;AҜ2*Cy5t7qL=8_05\" W+"#FU!$4[ PsՆ̙
+'!n]>ƒ3fu4DŅ\<fO2Ų^t(`iCb\ڛG ʧJ>ac>i&cZEOlϖ (~P28JExl=33fY_:4PN{*x6,[ e5Tr [~ނl\|o.[O[ziy ątOp\/!!|x9@Pq~Lb5d6ϓv\yKvrʗJ
+Oe/,5Q@!;ڮI7LDo햀0V|ts҂w(W2ߧćt1Opn{ If'[6ljf`.j^+sa^%6zjW2=Ǵ5Q [)ڶPV
+OQq'kmYi:~t>v̓J5[Ϊj 0moJ U]΄VPCF}6Mrū>/.;tZ .[pSu~,zA]p۴k6쨪Xb;x{9ti)v9e*QU&L'knlR{pv0a}kfE HӯVD\uGɏB2Hfuiޅ?>)̗
endstream
endobj
509 0 obj
@@ -1412,30 +1414,36 @@ endobj
<< /D [ 509 0 R /XYZ 78.37 808.885 null ] >>
endobj
508 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F16 382 0 R /F55 383 0 R /F57 385 0 R /F66 388 0 R /F65 387 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F16 382 0 R /F55 383 0 R /F57 385 0 R /F65 388 0 R /F64 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
515 0 obj
-<< /Filter /FlateDecode /Length 5989 >>
-stream
-x]M$7!5
-r 0{joO, x/DRDdFVu{ ]UL{(JPj.h_?h 
-⥨m`@I_hlJ\~zIkៅߟvڀ,g |,ۏ?mM(#Sg㾶KjR[uk _n/?;_ ʔpT-S*HwMnu+{ٯLes_[-U
-J5ߗg^voL.<{i_ ʄc(J?_B[uدӶlo mNIt&1(o7@tԺ4!6no̍$mjeP{y-*/}ȃ%½„BH4vFT({_$I՗X`jAEXmBZKǴ|6g5uԦoiqiFX~pɗY}oPjCwb]>×;sfb9]*pW S OKԀ6Y}(:7:iO{RR*~YipQN`@ۈpکY"H}!bGgB$-#›;HQ7i;G^&R2(6\a2TU%1^?<,#lް}s8W
-4LŷӠ\(g!y;s⽣ƷQsSsS!K5
-hwO`!l10iRo8ГsKl~W/3uZfj]mdC5JG<s'BTSG!RjܜW!Cd6Fj􀨕s;
-H2_yNt9'bC"/qwB} nw&y8؜wc
-ww+zLG:˜ ݚg=nqio0
-Z;K*AZz]?{/N%Xo$y LC[ɮגnE] nĠ]&+]g|T`yc!BpIޯk^dk@z:qY\j3OS9Sbgƫl"m&Vzf Wp!2^ l0xS }#'pqO0 cXߏX(!Iq ,4O\MϷS(Ua)e2;.o %e0>4%N#|rH4.*QXӃ`]g~9y/|i^1B)Żg\u(}.n=yIDwGS3 O-o-u:R0gk5;ZJ|Ļ7=lUwԴ b;8_zv/
-VƇ׹>9'on~l@EFt~ӞCˣp}WCӗ1>~٢8AƳqkW8˶q9%t7#sPq q:%r/~ޏgl[lPNo>783ohѤy4жBwsPQ; ;bXwCmS'FvVߒmMl>
-^#>ke}s<ZxȧP_̴D*rӺ䳃uW1ZO=唉b)?T+{;N<N{v/yEJ)t%OEl=e˃|\tmzVt]/M|#є
-‹1XL) ,y҂ K,at;!U&i R: sYuGB^CJ"`tIt Q.Ojt.#
-`s|G>H6Z }b8i # pV'1_ 0!T`a8$tdcY`^V2˲Kw|<\+,FoJl  ]F,GC&++2bgĦb-[w$-1 b R<[XHO7er '%24:EN 7hh#}%푐ȢQ
- Jr+?'S$r$$ dh$P"
-`hh gll*▙A-Dy^cWe9H\n,D@B@xoW7mM6Nuzlpθƶp\*ʁ\b)b\LC rY1bUeFƚW$VݙDvo)\
-1Z YgpBX"!!!KvT82}ILv2ѻciP~
-D2g=[VZQˀ%E"R5G
-)|Ӧo6^3nfǭ
-ʕ~S_+‡0?z/xkZTz1$З^Kx>_ MPO Rvā6H^e'Y6Y#;-mWPN/WʻZKv$9ƕ=\}M7 J\mޞvzږ}<~*+&_bz =~^x<pSqk`T׎>doC؅^0o 7wp;}@ػ̗!6]#ܐ_@|)Mm9jaZ:W ݛEܜ7qmS൉xu |MXXPo
+<< /Filter /FlateDecode /Length 5974 >>
+stream
+x]K$7rϯs~
+u&QM).]yѮ\
+|K^d+G}fk<o.*H?wCn ;*{^+~mrPLf+l b.Ly{ߊ"y|~yyH;-{Y,=å}OOt\.2ͥyMe_
+6
+Fa8l6q:iO{RS*CӖS>̓qo#A >"d-<QqTiF]y#!8|t_!%sbGGh6Œ_IPVx 5ylջ{rp.F^мw:Lc=K /0 τ(7| X
+1L
+!T\nR~z݂uq N$ÖC89 ~O[/$ShòlG'.X^ş[y(%jc.W~ xR-ZW-}[M8(o܏&>1UG2-s|k;o. O9O)ڏV6m3H |h&lK/Yvߎ
+6,O!=(eu-SFfnVh<ag~װ:r!WpZvK?-PaVt
+u֍|+>+c?1O`c s4!KirRŸru '}mY 0>Йy+ԁ'Ջ):^ %Phh!8Ze0@[?QE¤ͣ%'sOl~(3uVfQjQ]kdCN5JJDayԯ:7'U,6ٵRfXnPP?r1r}yMW-ԗ`?K蒇c+jL!zcezO69hmЭy6 
+lr4rѾWH E[GJ~G.A|gJ?#WŠTR_F 5Rt#+%?ĸv^n
+CŢvVC ٠B̕Vvdń Ox6ë)3
+l.8!)Zn;?!ͥ<iTOOk m1ӯJyXi惯JORxy%0_r}-[X(\,<^6Wddm緷E'Z iR92-zwS ,ؘV٬͉W˒lՌZ1|(']P9Rc
+ـP4USDwTjTD"\!H)"'N A9ʑ|C)
+hi[4[n3%LD@B@"Ui R[ ]@hB:A s )Y7i%SD"Dp@`CjS<KC^A<W%wBraJÃ$Ṽ7KUj0UQ bT&RJo2#"w-ncpb$fM1ib|˓ZC{b
+ !w$$=3TIi wERÃ`$2 :9beGL:Ӂl8/Q{J
+
+5J"4p
+UŐѢb5ŨH3Do)\
+4̍8'Tr,ږ)nX*`ؚ@Z'n;Qd bnVPݱt/# x'n@XC reZ$܈5,jn;80hs XVPB=ҁD85@js*hD`IH92TƄp8vM (-J:0 :m]eM1xj{(ղ/UwO-bDX#Z53(21+kAXp0m01r6čc+Ƭ-DCBB-W8ŽiX$Z
+!A;tS%+0^b'뤖!ѳ 3"e0b!KNہ"CQ,
+Tw03[kVZ1耥E*ddlMAU"މb fd
+|gK I ܢ|#%$hn @D
+&`։N+ bnQPTu\ca֦eGtϦX$U҉M2@ SC Cp /Iz:W<Arcd1`Q! -1LO^)9G`ޓûqq4uV+|\Xz@ʲzz7<n7$6+.;ګv_k_'ڕ'A^o/ݸ߹
+^n{Av^=|IuEixb{sc"VE#> 7ڶFqW-!|>x2q/{~KzvQ
+kw"1Ħu[.;_#0\L\ea߳Y=9i'-*^tj. 6q >}~
endstream
endobj
514 0 obj
@@ -1445,7 +1453,7 @@ endobj
[ 512 0 R ]
endobj
512 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.738 432.711 150.693 444.666 ]/A << /S /GoTo /D (section.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.738 438.716 150.693 450.671 ]/A << /S /GoTo /D (section.10) >> >>
endobj
516 0 obj
<< /D [ 514 0 R /XYZ 78.37 808.885 null ] >>
@@ -1454,24 +1462,28 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F57 385 0 R /F55 383 0 R /F58 386 0 R /F25 375 0 R /F16 382 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
521 0 obj
-<< /Filter /FlateDecode /Length 4839 >>
-stream
-x=ˎ$9n<z`}o=洿oA""#jsLEŗ򏋼$U7/I$| yQ%!\WªH-)^y)<_똾V)x>Ì/-8 ->G'Mk+\3i_ޘD˄n(mYt[}+l9"= ¦+z7`'LqHWN8y-cw++#\LT Q}7/b%p i
-`MNm1fB3.k|Q.#Nsn ?'
-U٤p.Ȥ!r>("g0!y}Ƀ $M!BGh 9">&We.
-˨
-& DႡp_e`*jLcY^WGha-βٖ^)լJJiL:<fTll38Q40yd ]$1.|R";4kU#pol4 NjZ(Ƶ7!d0AP/lkWN<[2P?PԫgCgs˭ Q>} H] W,*RS"9†tj-2R#75z8b}2m!b?ڛXBz0/:6Ryi*uo AJ8uuNl*Ȍ*qn8  y/X=(9៙UMAP</2/:d&#
-'TOY1g8(X$_qyl]#ikcϾ=B"r'MAʎͭ:Kh<móDe `X$8#S_ tU'FR.GH`/;17hN2{yG/<$ >>qTx~{P^P
-o1B 'pF)RNMՕK)HU "t;\Wi ,am@l5!:DnюkC^nw:VEzs=Bλ\AkfwkwMv* dПw暿hDok9 /Csr/hFRM݃·`n!Lm<9-UOғq#%:1'FCW/,Lli[ħIvMK͘8w,v줵
-BG5Mr{D[GƤJOxkNV*CE}1);/>SJfw(tZS90Rk긩JBr6 ~]xv%^BK\tg05ĜMRﲩicV1by4\GXS]҈\K5#Ff ju}mn
-uF2L;}mI5w Bl-єBkUl{g+d +ڧ8} rJu H^G
-֥q⎥b]gIWvhV(L(N7nذY>\DOS8kll^)I3jT%9*+vp4|`
-#;JzTc1F/X}xpXn(g<C"2^sط=y>ֶW03c^cbdhuoNs#솳37zUbRq`LWhi$mhF~{l\ۻ-#Mu/4>jC*zSD豪)["5N_j1&_5DšlӍΘǟ[^=U~9v6Y\5h uI3y[;-)e©%_[RYkGϮ7RNؓ
-cњ8QG]ѝk&&Dn3c,?~fTy5c{fZ.B˾Ag{긏]8^'K LFӇC'+bvHŨj nxSZޥw#VUsFk_BnKfPұgNo_F{tcnU]RBu5
-L:@ ?+h&̂3”$$nhF؋6']J8'8qYI~0| }3hdMTgg,/uh$W'x<0j+-6UXrkiDm1ZhKa,]DoLsqeKr^,fzB t-}E4>춆whRhX& l*asv@AKgK*"pi+
-B3A:#gPۛp=aga^; g&]zuԀE K 6G}ﺻU"(Pziبblf('L.b|6r{ֲdj9ӺBNxT@d~\/c!:4ͫlМv[Gn$_CcѨy+Byu<c=Qu,|QOd4t|A]۷s5!V&:{N+0af
-9ۡH[j4FnhʱY~5_q⋾R
-Q`&b)4J)) |= cqu-IvN%@LcƢ)ۋA6J1μssx뤅PHv
+<< /Filter /FlateDecode /Length 4804 >>
+stream
+x<ˎ$7<уzVvu=7cN _A""#+SAQ$E%f?/㓤¦OOoOYw":O
+E]x˷?I)W)+9)->/eL_ ¿(S |>_6oiiZͤ}(:{}BA.Һ>OZ(AZ!u{(`{EH+:;
+`]FO_ak|A!Ns_.
+c4|r0:DC_L 1r H^ļf_FJ\cS2
+m<)4N! RP[FʂPP(`2 zM_tN:a9ı8c `M[M[LEh`*lrLeLLBm P4s8Icq)
+:DrQ:٪u`Kb|I.;"ª 2"F)=#FFp/ֆʲ`*jD bp ¶p;f[
+hxT*)1:xxbQ<de{HcuQ@8,L:צQF Hg)1yb5*s s8gy8#P`pC`%<`_.lWV+> k2P_攫Ϣ+Zn"D;IMhb^Xм[&zG|!m2K"p$27K[L7sʅth0Zӽ:Tryei*eo3AJ}pj*H1
+qv81p y#3uzPR?3ͪ+yZ3OUZiSGNک`N7q\I,S[1K$mK٘]6Եg_Z_Ǟ@1AOph>Q'E0CS}sˆR5}$+c>P<F3= +DfdKjHZrwQXz CxCV(טwaҰ#:HϱE/=P e6li: D} z-'} kͧkA5Ww2_6L@0°&86B'!ʦL{m 3f6hH1.4aSA8 h
+!OBG{B]Bw$H9E6eVQ*LF,ֱX; Fr[`$ Vi b BE;2=vH;,(BB`ɛr޵
+3_3cYhSgO
+|=_6VMԦ9l >aCZ(rZ= 9Rkyb4z{Ŵ3-s4=Z]ԮQfLHJ;vZy&sAQ
+#ӭ#SY$ymx5FI+DC|DL kL)mBwJʧ~X:W9OyUuT@%19VUq<z;c/m%T*3ch'h_wu1Xfv yv<ӣUF(ګNO)ˌ\254y3w ?'yd0Yhks.PN+QSh0v,E.]PeN5r$s%!"[5V^^#e{%(ڿZ.A9+#jt,:B-D|rEfGq' q;ņr^:%,;0I%=LI:5T(1QI( 'KԩjOg`BI]5eS` CEZ+,\ғY6Z}]Ȯ9ܰ)2Nm}~ƺd8s2nCe/yؚס'0 UVB\juxlyG 09Ac-o$THk4@m.HY:@R4 NHF܉r-_c%Ҏ0Y#JqJk)uv#97I۪^qLfhz2װ=j6bZSЬ
+khTCs
+M;Ɩ kjL UKrEwόQ"H`Q Ԍ/zu}:U^ƍu2䝰_O<;t#$z*Tb\t]"w.F`Zў6ZRwT-BI9maoӍ߻1
+jV6wIvKV{ ޗ
+7LB
+yℹמ"% QsT3v^6H¼b
+"4M7Q<е G:AQ[n?VŒ[5ʼncZhKa̷]ow8r
+͟{0/5R{ֲzd9:!uf?.*~Wp8Fi?v`_ udw#RF_VǬ6y޳
+^WBy*zր S\Pk,ru} SBaŔK/˘$Ƚ) ;F97K]p*ͻ+ZpVoF-J{ VVp(R[<i|;oe*ʜ)ڡѡŔwr,Ȝ^s0{
endstream
endobj
520 0 obj
@@ -1490,34 +1502,29 @@ endobj
<< /D [ 520 0 R /XYZ 79.37 340.527 null ] >>
endobj
519 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F16 382 0 R /F69 402 0 R /F15 381 0 R /F55 383 0 R /F66 388 0 R /F58 386 0 R /F74 478 0 R /F65 387 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F16 382 0 R /F68 402 0 R /F15 381 0 R /F55 383 0 R /F65 388 0 R /F58 386 0 R /F74 478 0 R /F64 387 0 R /F48 391 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
530 0 obj
-<< /Filter /FlateDecode /Length 4986 >>
-stream
-x]K$ׯ!e@S O3'c^`|_Ro)Aۇ쮌(")R|z߽284r0ьP͖_?>ST)$|7JT~6|ojy 1p5%<RO2<RnijSAJ &$|^BͩB5m2p;lҵMMm(+Wo =lN@hveĵ&*&d*KG} Vs%k"\qo H.GmGfr;.@vq=+AgۣJ+ztawOhsV^BX06
-Nm |* F_R-zciC^lW%-)|PC}x Q-^(,9=A;+>yl?/'s
-bSRH/ÌTRJ.i@8ȂԝS3bK^0*ٯrb׭9*ule<h3d_irq4tP%w-s?
-sXe_.t=2]r^+LN뜀e}d~eS)H4pK{NPיjIiwSeys[䪕^ RZ/_6VKhUoV B''T3JsЫ"pV}"g Szs4L1
-8 VZ>WV1Y y|}YCq8SDݕ&HsT`ө\D zT5%G㦣 q\v^orciZ2HV W| q!,l'Qu1*YCn mӮ=ZFZ/<‰fܷ+H$w83Z웋g(Q>xQ>hxk
-4&E.@i0AbequԠ\3>T-񅫲?u d]]pɆIw},]+VAO򏥫. РfR]
--'y:0 s.q\ 
-ggc yCdR` sPQ$BA|V'O,Yrh(H-&°%-1ÿw5lE}0hun6;{&y. s2qK_mR[" "HI@3N-B6+
-n!y!θs
-AtbYǢ䣉Qy
-~B'_~\)x 7ɗ/O.O+ <㷇8)1$3!TG<f-1A!i1ojWkT){ME
-HoA8s 2mL^OzG/nLSt.J?ijyVuxxzDw<L;nyo,](FS 586c3w`GX;q3FБx aes[嘪
-l@Q&MF.:  to 9o ܷ$FBmo m
-ËJ-H(,.*6p<_ =_8x
-)94Ghx4SϜy'cgK'
-<")h:=̣;ΝD}#H'H1-sI'/ !T>› wF'E_Jgꪟ&AZ1\ & (х+M<V?<c^I+%1Lڝ/C 1u؁MO<[8.sm3FfpƨԴɕE/5dL/@a=(5ڈW4<%dNZu.?0;sGD|CozƂ3; A'o`~Ŝ? }CF?7~IuH3*8vG_&)z.7$`ܝݔ{݂q|rfxB9LumA;(/)/UD;젨ӎ7%90yܶ#8ME~#@{>œ$V\} },f
-7Pry˨=,zcNBLv
-Jf1m% &iRpP#<b3gaX*x 'dqtUA(,_da ͖mԋh'qJpQADTGtQ$pcT)$X|T!e "]-=QiaѹMhAhb>SVlx(;}]2 Dg 8'D3X^xmg+AM8z\gC; 1plx[Z
-ut;޺*1)VbU?W"(m~-1;h5-zf,$ag\~42( 1PGv& mkgWWU;3ZJh9:4@*M"?4N15a<ݢjj4Mvn|Tv`>?N }O3ڒrWjlS~bcD%f JI/X^d:x )-\M6¼`G%~؜ݟR=r>A4BB([ޏd*y&HܣQ|W'/q 퉿I.xðQ! Qc
-Sxg .VYSp^6Z
-w=I$_R$(ߔX]07MΠmN(q,,nAI:Y0+$Y!?ijr/Jmw0R:ߍ oߐ>k<b׾Z\VጏһRRWbʒM!GA[5+dꎮ_a-(}cՊ8|(ٿ?15t_"F/hz`Du]jSpT[u_-W~}Uh|x_!@[
-M
-Q'w۲i:Sm޷d#S>q; )@X?H|
+<< /Filter /FlateDecode /Length 5003 >>
+stream
+x]K$ ϯ}hE0Xdz{gd{oONl$p.!JU1zw$H}%=r4gN8͵<}zb'0'>}>H)@RHWJT}~^{8j)vJ)34<ࢯZbpWAg~ ADpS950Q(>Ж0~MFnMI͑eu9 a Ю1:DaBlbTeo!jqM -a%ب-uhPL@;:.NVp%@=(G{j 0"ι:U2-
+.ESd-zZCKV4ԡwO6ΉYB¡Jcө=RaiAϨꄩ ׂ;+Fyl?9;sQHƼpot,.%_LĶ/D]SZ9NdL_ \LŖu쀪6/*H + TUll!Jhl#.6RZ`^ 2TU
+n'_Yvf֡o۠<m%%%$"^_\=H+<I-IC\g2$fsc:XY /=UiI),C6cKmB\H1ynZ*)al!4 \ŠX֩I/%>+=a\].[s\"69Nf1ɾ܄h_5{֡R#[K$Zva`}\@vr\Ŧ)Al 5z`ݛZ\EbĒc&`^&GsL v[ME8NBFFY,XBx&U;!![FKmB-(X0FDlҭ;ؑ-*28Xyut oB)7i!-ulm6&%9ÿ?|zT!*cD[v>83F÷-0YYXG:u g# QIj&Fa5(ۥ꼙#''-K޹=]Ld78Zu9;=eSH4pK{NxיjIywISeys]䪕^ RZ'YsMe4*n+~R }Mcciq\5?~ ^ ;󰲭9KR}ECcqeq!ϑ^euUP{H+M-ri+t<RŬ"(Ǹ[)6ȐC8`PmJ'ce=0}^T1&,ׇr 'q xhJB[ޔiw ,w㙖| q=,l'Ru*YCn mӮUGZ=ʼnf]Mו$lWlEh;q㖕())
+G'8@7(.e͗c'cZS
+Q朌P&޳aA̯n},QE)_Q>:5)|H_؞\ e,`DlUᵾk7&RN刺Ñ$Vf3kB}}#w9񺣦*tXmD}9Ȯ)9JvȪĀXGAf 1B!X^bZ ><1pq;: GaNgȳ} ̀9hCT5~q7A|ucSccp_A"8K X* O}*poC{WS}ZN ea<n qP:cFo[۬LttBC,A8#` , Bq׮O~>eMʽKr4Ф&ⰳ%FB:{S]V;/QJY0(œכw'y. t2IbSy'.DE=fG$ٍZ mV
+j&햆d#uM[v[F^ի-H0R>L'nZ]W?fklk9$NoY[]7{ -Wjo>3-H@[\[`ro#7] DǛ>E(
+|[֗_[z7t$}k7+<p،܀ (GeCB`0NjEZ([T}OTF`+:
+&"{#M._#hQ bDf?վQhp-&* LAok P8ko/T Q}%
+|X|U\Ǽa\GhnTO:zשؿY\gN>&L
+u:??S Sۅvd{;c-tgR.
+ю+׵$ZC"Ij
+h$Os*,.]7*h4v,t=kׄUD~LiIc^kJy&]f']<hθmw&ܪl;-*gz8a%Ҋ,p^ &Rm+o&`MIDO4$Tǹ[yȭbKs.dnsmX4("BRI[s<L Gx7}sl aD7x=}m ɇq]DҞ qWσ VTح}lI˾
+Y'3xӸQq uX'3U+K @d12D^Ђ:@Kܧ+!b
+OCR_zpp')_5`B|٥[ r;SRU ho xu+1r1ྶvi^Ԭ;>G*WRB5
+}̶2cnl_
+X^x]RHlmGrJv
+} MATtWnR*Lo|}{JvpHYR{1H
+5%
endstream
endobj
529 0 obj
@@ -1527,25 +1534,25 @@ endobj
[ 523 0 R 524 0 R 525 0 R 526 0 R 518 0 R ]
endobj
523 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 291.425 694.371 303.38 705.32 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 291.425 705.765 303.38 716.714 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
524 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.426 677.873 514.132 689.828 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.426 688.705 514.132 700.66 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
525 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 665.918 101.955 677.873 ]/A << /S /GoTo /D (subsection.14.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 676.75 101.955 688.705 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
526 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.42 272.601 366.375 284.556 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.42 275.63 366.375 287.585 ]/A << /S /GoTo /D (section.9) >> >>
endobj
518 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 307.993 84.779 318.45 96.236 ]/A << /S /GoTo /D (subsection.15.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 307.993 85.96 318.45 97.417 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
531 0 obj
<< /D [ 529 0 R /XYZ 78.37 808.885 null ] >>
endobj
528 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F74 478 0 R /F19 379 0 R /F25 375 0 R /F16 382 0 R /F22 404 0 R /F48 391 0 R /F59 393 0 R /F66 388 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F74 478 0 R /F19 379 0 R /F25 375 0 R /F16 382 0 R /F22 404 0 R /F48 391 0 R /F59 393 0 R /F65 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
536 0 obj
<< /Filter /FlateDecode /Length 4763 >>
@@ -1569,11 +1576,14 @@ J(ƞjWG5 qUCU_*R~</A䯓_*+f_*kI\w){3
쥅d=g IrWYRžb1ma?U<V&U0ؕE0 @DʻTdB#L˰4y.YhYA^/y(C'> c9ٽDIy暌mn$7Gӝ<E<jXt֪Nk3~
vE]2޵Z#Ug x֤Q˗TEUTưrXȮw XJWHU4rDZ-E;p4R[a2\=6$N׎fCrU[("Md!Cq0ϒnt\%qO<NHu]&c)nfX'K{2.Kϛ|(*&m[+pѮxq+aEMVDfUDVXar 2v1R5J=ˤ?LU&Oߑ>KfQngKV#rB\Bkm+Ntg f
*|y9ʊ6qJ̮
-{w= +>0m GʥI{)|~*y*4fP.VJg/ozSS+t
-~".UEb{8`œڒZ>M9!'r`K^f鲎OKD̟7޶ yF.
-[Mu0U#M1Gbd'^Z&KZ'f /)mӲEvqE$vf+`Ofuկvwv7#R+Ә1ԯz Mb+i}gxdi%ZHqC2X%ӮVPZ>}-K[<KPN9|u`tr^-fi`AY's?@maygK-Ɛ_%I"em~9ү #nn9be9)b=<a0{}M;<h1U3립&6bf1=*]ooɷ'P\VyJavn@Qw4@NuLQ9Fmz5h@%zjASJ/O..=7G'͋ip M1W^UKcUN:\v ĔZ;J׊ ѤזPl=rOW͉F\sB;%D@tߣS{^ݵۓ LSZVj{a?ߌ[&APeIE[7J,"`+d@ ]waZ3Uz}\cksxB'$Mo _+z-B4nߓS,?9$4k@pj0
-t<9WŶq7EQoXQQbgi~;!$ۧzS‚I=&8CҷK),MPWamVTCݽ]\2XH]K}]0jOE[.Q/$LJA|͘u Vo{W)Y`޹Ժ:!wU:,Di _Y+of ×0ЦH
-̟映+ TnzRѝDW橖<:-gJRɽGlPsɩH\(^?I)Ժf}f2)W[z%溑Iv cBN4X)ʔC0
+{w= +>0m GʥI{)|~*y*4fP.VJg/o־0Е+ @\T sjKj4z焄Wȁ- JxҚ
+:>e.1xۂ*l55V6OʋVMhx_jmF,i>
+%MTۙ=nrU냂_ݬH4OcXP%k4 *B=ᑥjm8|" q<c=LZBi/;p,eoi
+es
+Ήc
+ӳT=ZLόV؈QlĪ|wsn'ߞ@?rYc#*E!8xrF٦
+f1Btp?=Uy%N YmTrQh)v4?\{r*Ҽu7W6Olflx
+YLV|佹nd /a2P5a% 
endstream
endobj
535 0 obj
@@ -1592,7 +1602,7 @@ endobj
<< /D [ 535 0 R /XYZ 78.37 808.885 null ] >>
endobj
534 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F19 379 0 R /F17 380 0 R /F57 385 0 R /F65 387 0 R /F58 386 0 R /F48 391 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F19 379 0 R /F17 380 0 R /F57 385 0 R /F64 387 0 R /F58 386 0 R /F48 391 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
542 0 obj
<< /Filter /FlateDecode /Length 5028 >>
@@ -1613,12 +1623,8 @@ H~4R1q
Ξ o*Dh!'0=+]
WEyW^k |cayyWÙ=&0&bS? @~m)Rp}_ \P[[ d&iIuc
W31 !$ f&dQX7%_$nJkUΜrm5Qq[. Z+ dpx5c<
-Lt̆դ^ҸMD'\jk](ll _$l^xI7t59]5vEf/QگKMkZyPyi{6\Fn-2,nlC
-ݼ-M&uzj6=8#8`OS#JQ*E
-ڌ'pHZɫ_ qO
-%yo~7ؤlPꩂ
-a5u=wS^Cfsʬ2
-
+Lt̆դ^ҸMD'\jk](ll _$l^xI7t59]5vEf/QگKMkZyPyi{6\Fn-2,nlC
+$ڽF5ԕ Ye
endstream
endobj
541 0 obj
@@ -1637,32 +1643,25 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
548 0 obj
-<< /Filter /FlateDecode /Length 5243 >>
-stream
-x]I#9ڗ@Nf"'JRmY75~.gfIrR̙|?W|mݾ~͛V_
-eB[Z,x,kl(6 v/^u'LߡXKÌs3Vy80fY8;mmѲbۍ<e?4k5̪>o.ƕYW S{b;1>9ǜThͨfy9;VaⴱTrОQ̋{hQڠA6Mf $d޷5#<6{cA6YĞ++ܰd3
-+=U!{iTZo58nY..ӿ/ KV/53F]VA.Z >,ڿC5%j7UPLY N)GFyվ?jԽퟔW{ǤR^`"7鏗t9?ߗF)4 Ca=6pny/qXl3# .Ji|-NjŴ
-R<8^K1_*=Wl8ck<^,io#u;_"iHtQ >Y^"Z ?vN{HnY_̍. 5[ŎMV`%fi(M(XK !R}sSGV3i8]K1 }8Ӡ w
-7E7g00X:1aCB#}| *aA(]/d}}
-p;r(uzZ<a~jwK|NC6wd Y=`
-"CPmAa
-)Gx6?B
-t/C0,!cP j6F``M">bෞhΘd  fAkv
->S3#CE=O';~N XlTAy死灎_<)=H=(h!=aSY2I.ٰ3YaW'ڃ©ÎFQ!V!8S0("p%' \A`P GBƥfgZLSO]ގ
-N<40*gJ<4 0`P8uAy p.u YLi.5&=^iy̡m )wgJc$}'~TK<Ͷ{,5cF?Qx.@^@q cok(һ©+ ,=*
- ,d7~jCJĠ`$ePqhh<DSʣ֞aT OTh8`YĨplx:M͍‘H7-AQqޟ
-4*g4 `P8w=auyɠtzL¡nz;!}Y4>ULġQ?GM%Fs?bF
-ј%ݑ5 {՗T.~PIު<]UH6,5pwMGD]*7νbg]ɷ6Io߳fSk{78':)ѵs; ނ$Ml,1)z)pi-7/c+9\V84 | /Q~vE-ud6VCjސ&:VPdP,EZHR1'8=F0A\7p
-ʾN|X@pCByTIFxm%OI-Z&I2m&u(a#ҦJhZJ)mZ+i“Z>J1L;ɦ 눠8`qR#oyM׼ ZՠZ A(]k`6Kku-[̾VYT5q?Iz;/Fww;/slwVN)OwkxL?T ěCbކGD3 X.tvj횏ܡ2H };TTN*z
-_\wVSdܡG@qBc«;THϤ2/;4CD#;
- .}졍{o#t׸C0Uq6kܡEcwwh*`&C5Pɡ)Z(qG'w;C:,xo^t|.[Dlwbg
-;r[n JzKTqM=5d*y'bP ÿ3MSCpoN @]*^3|wA0اb3>9y"E|`>'OĠKzoUba2d_ޣ']O 3T&6n4
-0I,AIZ.h.adiÎA uNvD 8 3/6q
-O֒x+1$&G3ij
- #d7Nxh`!C0(y#aTxb@&6ϛ|i`.! $UΔ|i`.%pK
-<i2QkcB=^LW
-4 ~@!j]lC-/Zq8Q+"~FSqK ©@#bP5bTx>ZDO'Q듨I$j}>ZQֆ`44ϤZZ 9\KbLKK ^i̦+{nYrq4QY _(+\"<3pBpo遖 QܕJӳ14UҘ jlO။@Z/$)4+jVdsyk6LEo)Fm<І|"
-&v="=Lgٖ̊55>o!k&kzȮH)|b
+<< /Filter /FlateDecode /Length 5277 >>
+stream
+x]I$;ϯ#x_HSk$8=℀<$ ;FnY=UiNg~řo>.v_?[`Jo_IIn
+O?>s.5)Ε;^ 鳼O[Ϲ$oAF ʥttÙpnNg2Mǣe%)tŚu/Is @o5["䱭Բ֒XĖž^2!'YIΆl3cz{-*YF帓K3&OfhJÌFqvy bWX,ek\0jvXuڔuO9*"F摨ٱb sW܆;6f`(؞ 䅝gY҂ySdd%ib5j/%DWϨ=^dKsVk=0(Fl
+LEG8 r\SE cH !upI.Ze妺h=䪹hNnspU\ jyp\ o©&7Z1C%"4W
+hwؾP<؇Lڝ2/9O:@
+INA@uܦ:xEu|=TsBx,Y4W]*(Lq5A`B
+RC@
+}^anDAP1_V7 .@ Ɛ1 Hx c1~뮋^Q;_dq f@
+yR;3{_o˶
+x/HDdqFF
+|3o.q1c%>HG8p/,N
+gx/΃GUeǴjl7>LON,On}2=9w'wuxHyU>h|W3C~v(;ZG>zIOGDEYLEc2FC2FCmF/0. O;юL )Tu'&Q*Zđ*yܛ}:mobf'YiOB4J(Q :Pj%({JqIBZ"JQ)z2jhA冪ګa^X_eת-LNy0ۓoQ'KM4a>7.ütR2kD|۔('\&S)Q @UH@qhäwit U&亲0 FwVw;ZHwtb>{)c|{/Kp5-6Y1r^ [قv:ƽ"5@fZ` KR[?rv+z&=˟9+^Teh | /q"^L:2R+Z7I!:Z-\q!5\Bxf#9&va1)/?L
+pz..3*b\aQAϨ7ֱFiFOfTh͸˨?(;.2*$?n$"@$;B2˅?G2)
+ phF2*LS$ɨG9NydTrx-ڝɨP=G2)h]:,xoɁ9%Fxk`
+w{ݶHŽ\ۂf6p.I[*#I7i2ckg71}֪D8`u<HMcv[{,0gl= {<,1elrF18v[c~^0T"Mfl_>"eb1B:AB]2JYɌz @dµ4 TR`l-a5ĉEڙn (Q4B@Uv4 J
+WE#+dlf}yEڙnAPr!BpKàR K'_%3^8Z%APs) ¥7dqr6
+XDŽ2i2ckgA)'#
+ RNn.G غh8C8`K3q(X[D 897bwelv=6$LkmƯ[I/u?J@T]I
endstream
endobj
547 0 obj
@@ -1672,7 +1671,7 @@ endobj
[ 545 0 R ]
endobj
545 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.027 345.178 272.982 357.133 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.027 362.899 272.982 374.854 ]/A << /S /GoTo /D (section.9) >> >>
endobj
549 0 obj
<< /D [ 547 0 R /XYZ 78.37 808.885 null ] >>
@@ -1681,24 +1680,31 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F57 385 0 R /F16 382 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
555 0 obj
-<< /Filter /FlateDecode /Length 5069 >>
-stream
-x]KWG x $+%Y%k[gfZFgU,~'ᷟn;^~3xw/ VZ};M\`ݜLۗoϹ8W~ko~J==s)FДKioV?}Ǘ?bѝ97%'e˥c?Jx)tuy" Һ<?X̉o3ӷ1g`}o,0#[eC|#yrŌalPI}ȑ fU7K6$&hB=/n#]A6qO,&&+<2#.'X瘓j:t6^Ud+@Y7&ÙTLNkQ|!&2C\Cn~eͰF1/zTu^;:Q!#Qi
-z@:^^7Z w(cAQEèP/gG`|=>3rE憅 :{3g]5> =Iqrwe'r ((Cq_Vn~ln#//LȊ7Ff!zOWvA}pr̛-Q1jo`eR8ʷXzyX/g) !QwޠDT\x=!3 y8d&<?9~u qsN1%pW) 5!+0Ԅx!6r gjB<:B_P⑿L;f^_P]PՃ1<Q&!HWH4!PV0ݏjB O1Tb.a) ZYb'ςw5,H#-ZGpһtt8p _gtA{lsԠ7}Đ8#ԹgUewˏ^SQD5PtU\( @KC 3! ㍌+s(f2`޺<K<{Hτߝfpn}Q\h
-*0qF=D$!Ψ8Ƹ"l4/K4=i|3itG0RC)V1(G #A|k֮dmA
- Vw!Ά};} O_Z4kQ.:Զ[]g.v3$
-8*SsO}[~ ;uMђ2}Ae %:6kEKU 743´.!6Еw;򋛗},w GU^y'성ؚk}A@ kͿAa(b$f7ap.Μ"˖X!P!<+c"eJ֛߲Cc"튞qR }T:#M]J2{<B>6mJ"ͱm]D$v250 v,陗e4eʧB:W)qS##}] ƒpohoFt(C8]-8iN}xRJϐ}8(SWU?_ {#)O\*}dʇ]T`C@(g` ރ<\VgJslm{[ qV""w!`nS<0 %o(gSP|Jv{qdܝi1ΔO.
-&EQm*xʯ}~前mkg:0|@KZTu]<YON<#u"+C-i89C?e{00+2|rUH%)cm +f)v`]Vm&
-)+ A)!JyK;K!ܦ_ x:!*[
-Ee" E MעIވ;>*>8r8]ZY"G*φi,#2ɇMZvp U`Npģӡ nƨ)Z7d/WȡtmW40棯 "Z%[
-m .huT?¨12E6{\m4~`pWl-SAQ o]|j[դ MÂ%3+u\PN&YF N1Ď1
-/YDgrQ!N
-՘"CRO =lmK,i.}RE~e_#Eg$}J7RȁiwYM'
-0τtP硨%QKg7U-1'Oo{9*4*$3}QG^Qcf:i6ČmBGU^T}j_c,RP+ֲ828Unjs?D$VE\as
-Tݪ{>ϊGԲ0|_4APOQ;Tut ^:)UQ_q EKxUd7A4QmړɲYzDǛ
-&{R ܎{r~/Ǎg Q_oWn+wq_glF^,KЮ~p\oeZ{( oeBR_]y?S}_k#Ao=XIZrE2K 0 S^2yFҳ)T;1Q\jw&FybT{V:Ыc{
-M(ߧ>rzxۮ(v,<O҈z4"߀"-x
- aG5F6v#lI5=CP޿;9T~2ȩ?
+<< /Filter /FlateDecode /Length 5272 >>
+stream
+x]K9rWq\ @V/>ɫbOk
+/DuyCܯgاocXaFG2F'2:LeHÙ3,!ϭ#G.U,ِ8< yf.̺t DGی=!8دLȌxbcN~Lxɫ"\8k:#[>cd~8Ӗ5i s?6$̐WkN7b?fX=y:^;:Q!#QitDt\?zyh%Sލvg]GHe=.\,Fz9-}^nAh,rl͜%­WW4('mfC(9swȭ2l "K}[u:j_r;΄xmD_l2ɮt~=};+τcTmQX-Qe5erdkNI\E ퟿ rAD i ,!3Y篑˭헞t .;Jd]g_ _y= Wp&#;o@?Sⁿ
+P
+äFFɳu (Hd V`n"oepFc\)>D~|O+=65 joTbB
+3րv(i~5 o:݀*T`R.K}EߥDIFF`FC9m $30of%de=gN3s>(.4_j#W4gTc,3+u@>mo& ~]ՙBZjHe*`$1 o0|.ŵ pJ* An>@^v!zܓ &_Y[^A5 aGs.aeįsYR/u4Qb d֥qM:?<I~cɠd,Y7
+OOƯo#@~{
+ɼ23.L0_YCW.Üw
+OKXr俰IYIfx`_GhdžM_ $9ּUX٥MHb'(\ `y hYf.NS|*s57>>ו@/ 7!6nD;
+HnnI;vÓRxAuf? N(ܻY4؇lO|4HkLb7l{glXi؏tvow !]}JD5DT,mF2Ճru*On6Ξ35ƙ~'̅f9C%"֨6 b<\W65\Dg@,|@KZT5]<XON<=ĺAiv |4G鲽Rxgj>l
+v16_gkdrXX]Vm&
+)+ A)!JyK;K!ܦ/lh:dgFm
+mq.huT?l¨3E6{,Dh
+'~`pWx[ޣ@܊\}w05O3竩F|>6 r,@θgױ^Lj+8;F_L3fa9n>G=88!Hޓp881==W6H_aT.TLKuV+kLL)|1"~'IL6%L4Ŝ>r#"/Ǣ
+RQIy1jr`ZkV@¨x[0ꂨ4
+(v'FgvK3vZC:\}o@oϺ7O%C; q2B<$ϘS7z^C㈭WXl;܅Dk-wԧ>9YzLnRԶyl[ގ5Ҫ#5Q`ɍo&
+ xnHMz)n2"t܎}gӶޡ鍒E?$4 O{nBl+mڴ ᆂTw}XPpmMUKۨe'e^e5N%z: hkQWtԘFڪ9 MDc\WJڃo}UKrVjC">*te=H*u6q|+zAr(k @t>h(c`I M9DND0{Ny fחn<]S[΄qo<:< E*0X.x-@Xʥ{qx!Ry^%Cn
+Y]ɖP={Sي
+T]L*ϳ+*!z/w=<}{ Ga<kulS
+'7Z^1ten9>:_5D )1S%ӽ2vACRu4ӴtRnb2hemx{~we50G~^1#PiF~ yn/^exoحnS=d_rawhnh;B8'|[+f1I='CM$iXf Iԯ=כ^5ym{Ome|.`'Eo@B8
+xsP7[ۏ:ce"a_wC¥b#w;k N+&Gfv@*|?)᯾N!<E6r>Hboj@֖ SΚ^ĝ7"4yFKҳ)uv'4{cdr!0`_n'B<"isz!J&k+1y6(5*زUы)40Ȝ/|*"(%$Z!!N,Mlm1\g
+/<4+FyZZMkczƣit„ 2~QxaؠK+
+ew .+ ve,tfk4#Z&8۸zKCyA K|: džpD#=
+2$Ssl=;%.7M:.͇2Hf(x USF3S7J02{2F?zƑ2\yn;Vz)хS~eP.(қFt?i4xF̻ɝ\<E!iJ bE<`h%m5 m4x7I ,'/=VƎ[dX?缿XD#uŲד0H(
endstream
endobj
554 0 obj
@@ -1708,7 +1714,7 @@ endobj
[ 552 0 R ]
endobj
552 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.975 87.384 150.432 98.841 ]/A << /S /GoTo /D (section.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.975 89.875 150.432 101.332 ]/A << /S /GoTo /D (section.7) >> >>
endobj
556 0 obj
<< /D [ 554 0 R /XYZ 78.37 808.885 null ] >>
@@ -1717,34 +1723,26 @@ endobj
<< /D [ 554 0 R /XYZ 79.37 505.126 null ] >>
endobj
553 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F16 382 0 R /F19 379 0 R /F55 383 0 R /F69 402 0 R /F58 386 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R /F72 438 0 R /F50 392 0 R /F41 488 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F16 382 0 R /F19 379 0 R /F55 383 0 R /F68 402 0 R /F58 386 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R /F71 438 0 R /F50 392 0 R /F41 488 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
561 0 obj
-<< /Filter /FlateDecode /Length 4476 >>
-stream
-xڵˎ#7_Q?`E@q=%"lfl.%sLRER$Egz}7N7wm&ϼ/ ⓘgNƍ|ιK?H#7<~7E~?{w>5WO%Mx! }_&k-f'U7%x5ϲG?o/-"OD1>)Uiϛ2ׅ̈́geL\h][M-!El
-={b"y?+` MELP8nE[Vy@NXZC~$zGn-.k?1C(b^0&G f Z\TYjU5K4S>-l ny6Ρ5l
-4jjDDa鳢ЈnY$A:mk63$f&- 4S) >HF$=){7X/q_]8p/V3i^iɢMm3l8ǜOvFp߈F SF&ꘖbˈx.##6Wi 6S3'Y7c% )K4}e!]MOhjʌu5'] vt2 3Q)z~3)[u'^b,_N4= IsS6[2#)6L[i:knAi=mߔgoL2->
-a}b{bY=m&P'm\2^ eAB*SeFu6e6nљaPPCq<sJ17<gRp u a-8&Lk[B |P.]zfٳf.FT'
-ٯWJ|R(f.4GۏUUFN#<bkKf06}гpZXl62w[@ |PWrɅG 2m^2Nۼa|a@·M~}LɛwBppRQbx?Ǵ\25=VPJu<#^*xy3ef$KEO3LheDKA)f#ʧ4# q(i"%AHGo4
-NXk!Y{F9_GiwKMvx-gB'*1DX#p|Kg}qcd3u
-Ls?r*PV/oB$|XfjqHiV%ɕؔ~M'Ee
--糳6 {6l*Bk#iUϪj>W@ݒТLP>hnL
-L5 ym5+"HjVFT-Kݯ-l8 ׇ/H(sOdM%ERΖiV8ֳe&cJ]LkYLgD!ړSZU7_ՔrdȬt2dNYf%cj6\H:@B7t %\gtV 3ک_RpWF.vPq1
- . κ]mիYKڷC桌P8F1vajNC
-K~6c7ȫ0wѰЯȫ>޳WWU2O/QG=W'WUjI-O1@O..Hҡ]Dy
-[I{;dd j}|0bA?|
-v?:/&p{73xQ8zlfKG{ ͖3,zᶈ[&BWWx3
-o0ȸ(fC <C/&TEuLUo7Sл0xH+j&1=zܚP/wH8j `&Gx@(pT+UɌ;A-D1'ZЖh
-øljV%PCqe+ )餢0}?%I}ALo?LG<|rPER.Lh{ӣgFM)ʤUO<}vN׫F}mڞt~ NgÝ<3Mg9Sפ
-EۜI?; A=J%t7la|G,!Abz>8[8;F0!|-1!̋ L(,Xa%W0CKsNxifQEqnKWm3[7G]jjWH#sN
-
-kV\$(`Z_ʺZ7jG˨RP_Q" #Ƽex䍥d4HE2z7%[ǎoQk=UF9LŌJijgryQVV
-b}SPW[w,d\Ψvo/ TWekOfےtڽյiѾO4szm./ bc2o emg
-'c7KZ8l͐Se~
-mڼ,VZ}ԇz`+_40q]k3(M#"Ћ+4W+X?c 鷷zR!˷)2 ,{
-S xg-, Fˇk79VvXGr^QjxV2Dxy"i-"QeALYh?MBrGɖ_q
-Ba}ɥ^S.?
+<< /Filter /FlateDecode /Length 4500 >>
+stream
+xڵˎ#7_"z$s[䰙
+/Z& ~h2lt.wngZWOL*yj㩑_oKNJnKhqkO @I{ Q jOH+I|P0׈֚Ѯ㟗w2w]?O_^L.Д5OsiP0z.ELʣןtʐ]ad`NPVFc%{л=B_E[ {oOˏ6<9Zl8*h~Ы5JV5X3ޜ 2a!4I\ tىvq`^T.fS:
+ML"dw"PiŕaC0A2h1)ݒ!
+I9-xvJ&I"Ƿ+"++}r8ՙ4l%UxM~nS%@xbap(D'YheEb 5mk&kf-JhXtLmi 6R3'x欗K(ZsOZx2G= P$IO3 [:|K3̩7kG4o)\ Lۀ7od}-i:Oh5SxGofX۷cJo1->
+nybn=ABͨq6LpWB|P,;/ecafn=ƛQ>)3ظo 8%ܞ
+VF3tmY? Ė0>i tā)evK(U۬77࠴5sQ\+_v2(P,F-ޮ)2\+iS؋Θx WƯ)a:/ibe8ݳ˘^ e`t K A8e@[;2nO[fNd^8q [1;>_ ih]d1z2;ߟ~Gٸ8Ec);fh20.FĽVqH'kE0t((`DkA)hf@#/iA*mQz=E ;&)K:!Z?yRry.T!%&/m ˙D3BGaג*|鱌S23<I<R\%-jK&o`Dh]NV3)_Z<̓.+mVzr[VfCʞT<B SYB\ ;兆X5,TJG6^aYQX`-v
+
+E9ϒ}lMd2Pf/oBpy ͼ$%Wҏ <LA~ibN JjωuS ?
++<*j"K$H
+!؏!|QFleڪ Rȡ?gq #_͂S?v9)RԷt2dXf%cj6\6|#TooxQ-]۸~mZxoz+v7 {moIk5_r2}$.ϥ=CrC]NfLF{ن4NΥq)ǩmߜ ^U 7nI(uv|G Yu+㊎ x\2amLUV).:
+~|ip{{5=գ]noj!>%hf)}ړ+z~EҧL9u~E׆9NүSx"Ǔ+z0lw#R@'PJeVkBrEEdw5Jv+voH^-ETGpѰIf\2\=N_m8_֗ۺ6Vj'uNlx5J]6{ZGew~Uom?%wHރgihxO-^@:|
+|݁]
+U;8T+
+U˴'<D Mi5`I?8ъ g-J ./IwUR^n/ F8?./?tG|rTD r^Mqը[n>D9%-=r!Q;mCߖG(wx yfKv-%<_8;4([ XߋZOkj)<u#?!A @zy?Űz #5FLb{2K#FJ2M慰cj)<Ǎi7o!0{_D/禨t U%56+jlMM7l4D0vM}o#{MN~{"; "`gZewށͦcl=k?ƢLg~G{[pM
+D㠾}l:ˆe_N&J.Gm(A/8"U$F> -b
endstream
endobj
560 0 obj
@@ -1754,43 +1752,45 @@ endobj
[ 558 0 R ]
endobj
558 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.097 123.183 415.071 135.138 ]/A << /S /GoTo /D (section.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.097 111.228 415.071 123.183 ]/A << /S /GoTo /D (section.2) >> >>
endobj
562 0 obj
<< /D [ 560 0 R /XYZ 78.37 808.885 null ] >>
endobj
109 0 obj
-<< /D [ 560 0 R /XYZ 79.37 380.034 null ] >>
+<< /D [ 560 0 R /XYZ 79.37 368.079 null ] >>
endobj
113 0 obj
-<< /D [ 560 0 R /XYZ 79.37 258.993 null ] >>
+<< /D [ 560 0 R /XYZ 79.37 247.038 null ] >>
endobj
559 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F58 386 0 R /F69 402 0 R /F55 383 0 R /F65 387 0 R /F48 391 0 R /F72 438 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R /F58 386 0 R /F68 402 0 R /F55 383 0 R /F64 387 0 R /F48 391 0 R /F71 438 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
568 0 obj
-<< /Filter /FlateDecode /Length 5527 >>
-stream
-x]Idm!iQ.DOcMI "}ܗfVCugA#
-:iMjGLѨ/W^$"{%FAw~!t|SíRƧ%} ebz"mXVf +"(PIez} 5Iwmkf9 מx"7l֎0jhxKyD})ߖP~
-HSm~Fr` PbjQ PeRL/gk.ӈR%m,Cݟ Lmm/ן - ۥoWvFɮg^I#"TS)]]x)Uu%Λ&*DGS5=/#+ 2 )S VUWsaTdEԁtB-mh?C}٢ϒAeT#h4B FY!9|[DO6ȊeC#@dnՖQAӺJ8k42%uQ,}ss_Czf>ۛ#6[Al_,8;Q | 3x\equ%fKpzB¿9R_8㻓SJ+ϥ##ǓO?.ߕ3tQ"\qg6EW>gF\F"9 kD]~ c뢗iӟ/P
-~司Re5a':0 d7գiqMoFe|
-/W:HNCxC?nl3yޝ&hdoji2rQðz<=jV%P:=5\K[sPXSa}X-n0zuumgZXV@+oNX#EQph Hn/NXty\Z)dʋ#Pɿb[S%\dR2XzlGL]ֳZniM7o:A~L4gØ$sd(x
-Ɣ8=0"|Du0$߅d(x\H:e NnÅhP?np)MPdٵ[<S} 7yny*Ϝ1I3&ѵy
-=b'pɫϡ<IES2H [w,ZK6A兲ֆJh)ީl-lzV8-J>[xXO&Ji{4UGm-ɉMuM/!&bv<F[jJ6J
-([cd(e/)66Ni94+UP5!^ ˓0o׆<zx˴p Q,?"FTL[*|; g Ѭzn$`-rmmJ&R*CN2hBmmrvM\ -i)-Ny]aFLXba@iB.I(eY4VlG2,L݆䲫B.Z5욫Ɋ Ħ{Kn đq7InMuJg c)vT /%qT
- .DR)o>嘀>uۮOZyoe)$]As 7 s䚐Ԥil홝NcRzN$q"C{hRRIA궙 qzxk|L *eF!3P{0!MjD'fuMQf}M+y+C)4WIiϹ]ν[oPd^UeQODa⌻ESU\mI#
-vw6'CnW1*m䰳䙺H4ib90Momyw$nQ\]D8xijr~6}P"E8ua#Jq <MWfP&8O,ki%;Õ
-kϤ1HĎ
-'CSʪ
-LQyNaG51%QX2
-E&0NqQ%yJ3{F=zVMD<:x G9WЋZi:D4J?O]2>DǫfZ RETϣg8͆@Ke7ގIb*Σ|"&Z!(E˧9eQDPO|-fMf=2-KK'٢)U1n]A( {y 81/Ob&M"1^ю1ƭTJ/OCĭhbn[PM0+C;s,M9tt1*5b
-0!Vzb)jH:ȿ.QEY^%iWsbl2r#u=ɇdz7x,Գam<2'*
-Cmgqg(|>r@isD?HXVŷk[Cdo=1m,'e-ڊ_3db1i-nZ50om(˰c-C /Kba2E՛d8Lr7<rJ޿K +]8axX)5<݉
-=X 6#? 90Kg$.|=ڊ\Wlh)5O6%c;ܲr\.PK[{ptwsu&5omz_ኡM0m]wE:ɓ?TkѳQv}Kq<yq<~@9@3KBo$qsr''qI`<s"!?p5)1.<<Sz;Ɍ@ ?DwcSP͹(ޣbJ/Rwߏ ^_Bo] ϓ:O ᑫtnwQHwCx=I)yeaQMG
-KlEz#鷏 ,ּ),-z
-uӓ7rO.!V%Ǜ ܀U_vn9?o0]h#^'*/›@X@N5/hfatVU:]+4(w 8yp硕Cb<59b"~t֎W9B 3⟯ry_b*xxbu/L0L})i 5yauA'NE[=3sq
-w,gKqY`ƋXǔ2٪o͢lRI ,lXﻔKVN1*+JKNQty*oMWdi!+{Zl78 [4D CUhLLaD垔[QG2]^Sx˸V \=ьRm#%uI,}G馼.JS%9 QCFdLWRNpٜBZu;UfxG pGǩ7KtЪMg>G4˘ [&N52.njTTU7uc'T#Oɰ|ݥbs9Qi8Yihzdlf̯6|ݵ]L/k1g4Iܧ)mvp 5bVkWx_4w\;$AJs{7?&uʯ-S'N9Ssn^h{=g&wW4p s'
+<< /Filter /FlateDecode /Length 5529 >>
+stream
+x]Idm!iQ.DOcMI "}ܗfVCugA#
+qg|w*C{@9tSxo$Cc~xpSǥ2@?c.S@+צ(JyG8>Z̈H#gQaK/~u`]R"W 3~O
+ =}OMWuCQ2᤿Wg&,zT9;; ӨOW%*A ioǍ&Իd0MM6m_Fnz#JsVT/`ZêQaT#
+V0m5R.֡C Њh% K|z
+n"-bu݁m0ũ 66ؑC+Lyqx$#W,skqjL*QKHz[-醂=MG5Lz{D>`bn Oar˜'AF$"2yBqsc$  IgaI<-wma.ib3v+gO޷[}#-ϟR噳0&|$63peI3[T}DaVu'Qr<U|Bxp
+<k؎-8z`3XLrP.y59>赖|J DpxEk&3"8w<Px#ڐTM?;EB9
+GֽE7Ug+OaD77mV
+P=b%0 79q=Dq5D ]ڎcK] &Rט[ 2G(?m4s8Ez Vo ~o|2-ht[.t1nڸ9q@R}* }B/oshDoCӻbZN^YEUPcɞ(OZѰ<yh cvm;p h㯩+I!L
+g Ųm#_jJaWϪ@Y|ͪF"Z6ۦ$.QVMTdЄVJA[
+*]P˲h؎3dX"ڙ eW\QJk25W)l=c1M8j16#n*'0$u %,RZ.^K.l\ Rf}1S}]6L 3(JS1-NItnL)D5!w/Iӆl/3;CCǤHE!XѤ4!҃m3Ak1psqa@U%ˌCgġ:aBE5N@PWVRhTc˧sۻԝ{C_m.|Ɋսȣ$wVt8,Տ^F
+ZCly,Û/:lOܮ@;bdyU2agۗ3uёhz=Yr`28=LTq'cI W%Iܢ%TVqZ4l6D~Sg4q"G-*.=Ax>Lp Y JwB+i֞IOc&N䇦U P; WjcJdYt]g{&,MoYɬ"c)d~ͰPx@+8iu<5>?*;WZ;)wgH,o:B<&4)yL>@a\RKg
+Wiʹ>C %:CNG'3p qW)rk-<<n3gSk):TGq+DL,-%-lBBQV>/O sʢ /8[͚4}{eZOEaS0-c"X#P0=9A,)qc^>żMЫEzcV 5)b[ޕ^ [)ܶ\`VvX^98wrpcTj`B:RKQ) %t9eQ]%~,(KҮ
+58oUdjGg{agzDgo .8Ygx9eNT|uP6\}H6ԉ[o׉׶pAq&‰=zbeeYNiOZN7{ f nb[dc-nzk"(<Nj;aPaZN@12^ !d>87S9p* nlyM9[8VcK!p8i癗Rjhy9
+*8
+WsC{`F˺YqTKqhGz-61shI`rk-<nCz$0J&jKwP|4y(X:uǍ\ݱn2u &rjf:<f ejrZ~<;x.+{>r=_YjNg2-m;ch9GgȣyRdnS8;vֵfN;p]Zx&s*d5ht"Σ*f멆p5:
+\9 N2qInl2L[.o ҆KN+`sSz nLyy$5RjZ{" CA8xs F \ӻ!z,lF`+r`I\z8>F*SDk^mJvw䭹e{\:mW|W>*"M> j ;C&aںpOF$nZlo,F<e_ROz<ch%Gk0'̒[<qܜ I\X!ϜHp\ jq=e${N2?%G?Q_'#}s.Eċ]cxrBm=W[=@Cx*![~T!g^O~RJG^YXt`Q
+@ Sf/g$s$~Y:6V"4bxz 7}$Jxբt_A%Kaq؍ 혓z'Mвqg/)ҲJa jzR(-[HE#5z
+K 'B\Ӳ~z롬ea &B"G~097`t病ݪi"Al=Lxڈ K&+V/C Gq3aUxN~J0 ]p{i9y!N:yhߐ|`_ K i[H:}kG+\ktÅVWBdsle9Tڼ/1@d<j:I&䴄Ѽ0xN "ә98
+ HCkl
+[8Mx{E=QFcSu`v[R; %,0Ec
+XlUfQ6$Ey6]%mSL%'ߨRi
+Ѧ+Di4Ƈ=ehmc -Z"g!ڪntJ4{YI&0rO-Ө}خNjpze m+?U]hF $C]澣tSP(ɡ_[@lh&+)'l|fl*3e#[ qu8w#T⥿:ghۦ3U#_eLl-ceX~EY75EvժNݛ`˺1g`dMzKfR|Μ(4,4Y4l2D3A|Z.53 l$KIӶNA8Fi1+xѯj;Qo DɟS쁺{tW^ΖΈV )̹B7/ 4fs3AKC;+mf_pv'
endstream
endobj
567 0 obj
@@ -1815,24 +1815,34 @@ endobj
<< /D [ 567 0 R /XYZ 79.37 542.025 null ] >>
endobj
566 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F69 402 0 R /F57 385 0 R /F25 375 0 R /F16 382 0 R /F22 404 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F68 402 0 R /F57 385 0 R /F25 375 0 R /F16 382 0 R /F22 404 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
574 0 obj
-<< /Filter /FlateDecode /Length 4584 >>
-stream
-xd1
-"xjrf{;׀"Yٲt{ūXwəO3f}u_~~ǜ-/$+q1-/߿ps~S\3w}W2>ϔmulYzF嵾f@@D߯%xǏuk J5
-6^r@QK!Ydhs,eEH:@JRC߷ 2ݹSá=\_t2lEֈ܆M}؁}ɬ*Za
-Jxeʯ~Li$x~jCLG)o񬎦HBw}ߴt SQGw3kΒ w(U y7'C>Q-,,ҊkByDKǵmj錬V(h+\:do{ޑ懗{DGbL!Vw`_bH 2`ihn ZXWX-/Su= a s](r+(yd$U۶!Vy+#LB-|D,ᝂYi
-ʯ+\U0qx uƷӶmޮoؚ+dL:L!L.dz[{_zzvd:[C.ϒ TK)ӼzB0 Vy2TGz*:"嚴JuZa#^E 'u\>V\H+1J{lx0 ?2 Jɽ^#A<$5ь+6ܯԒWB&Y0sS) Pz4#"Cҍ~ai˵Z=_IEYd)"}t$J6CLzR5RoI=eVcۄ+dp}("D=GOKIL9Z?y5!gD iRFUp9Rԁ O(]xq;`Ω#
-ٷ`%p1+j&O9eI1- ,RdW.3$'7B=d7q&Ļcy;I5|@_|Zg6od9f:Fq|OƓN3T5^Ma3fCF{']wHƊ!`L 'Y~ >|8 ̉OlO.JS\IJ2xrx,K*޾|tN+x~aV0hhì;Nfb;;& w]$d0jgrAkJk)n~wu<_Þ| Qgni>gnIDx<$NL|K˽00L[ jTP 2G]rESӍ(w#QK+6fdՌ$mS͠YC;9ou/$GKa [}VRmd&=ڙnVLeZb!O
-
-J}-ALSSZh~J2AB!XZqYBf8Yp듈{i_f8JOѐfVMfd?7
-$#bΞ!rZ_^kq>=\ߧ[M|ݯ3AIaYWT[]ĆMFCak8׶A8MX7fK iOr l8&)^B&K\Ѧ^K"RZs.M2|yN2DADʥBDf).Rh>Mm:J]H@Mz4~*zؤ,Jhz y>}5H.\rįP QbeѺ/,,M~c{ۊ
-9XNYİlh -Ԥ:'SdUm*4X1r!T]S,M4)mqd6ћ%fl@ ЍA#]=9O5S3+#+R1T/muY˕v>xw(+j35Yz;WVu/]D/#b@٢'3B*+LZe+:ۂKjոT2ݥ)\iQxLwvVE<`Dq~VX@2N)V9BmpjgE;>/B`H>Z< r6UURɖN|aMG:}/sMJ{~koe5::f\VmڸZ㙣"we5RHcը؈֍wmQY= i`PI 6|GivaOU ,R{z)T[%)q3zV 9hf\ g)nَ(`س[ޣ"S,)42ު
-xBK&=t 1l|<`d~TN6MNk()T] 
-i+;ޯt +XoƂ:P=^EdH@J9OzA+KW
-Ui@|zBo9-^|nL'UFS årdkDj-qαMwtoE(ÔC[ "$6\eIX|Iѳz!.~LU0Qؽ?Q0Zani3լ+p3_VT
+<< /Filter /FlateDecode /Length 4586 >>
+stream
+x<Ɏcq
+C2#r 4͡
+ )YPkGNA-1
+W^O-o+$S3AU+طchÇ
+ģB%h-npՏMWZ+". 4
+D*V\wT~Oe'O.t>]TN0ԙTxGI0Rʒm}:~f5̘Җq{
+u}ON)2+̙asͣPM\ e%%lXe["G` /Oyn3wf:Ny|/ƓN3T-^]a3fCF
+V'nl"`
+91D,bXIf6ĞjEBO[)Ī6F̘Z^خ)ۧPdö8HǨ6ћ%flD ЍA#]}pBk$N3#+R~1TomJR;
+;YJҙ,j:."r1lQz깐F+jbVƾ RmW_2+>k5 2UOQߡn/7V'̣SUPr18\Dюϋ; 8t|+sV65\M!qա.~w 2E\R-_ZYNm &6U6xhl覈e+rF
+ivغqֶ"ö-* ga4 *i(6t3}JeXjO/j$} ~d쬞jB,ڽ>YJ8[v`=)
+ Gd
+ )d E4BT& ZšMsz85%[(5s\Dh`C?m# ;Vя:;@UDF%ؕ3Fo1]db+bH1tpw fӓۣr#ޖ}flX.q
+2Dq!
+.N;lPߪоU_-zʹ*[[H6,֥#
+!GX9NaӫUpädޚaxPާ|$a]b˂hHsTXX+KLrnEYދ+ $4I ZqlObUh0# 0Zi4^ڑPZc՛Yf!%ΉFbVaf$AkK<<<k8##hS6IwD"mnԥI'̘h/I{rľ>W
+S胅\Lc9ቘ'#MNR(Hl䳈 ""yjU>
+
+zCO z {&x<WEswfzyO zO F|Arݴ V:I/9N=9s+}(Rez徸u4m F&&;`" Ji~tz&7}Qj<aʹ{J+:I~p Un\wPꀺaݡuI@.ufIDye Bt{ij$gï.w6&gKзe i=jxN1~B>s Dk";qiL87O{\$`5?rKwwjԗUU3'1Kϱl'@LNZǨڶČWt4qrIs4b2\_">6χІdSMFSSh<}֢GN Z80Zo/?p og2Qo_\;Q!;ɐP.ZF#*2PbT]ZR%7Ut<C23M7s<U;_[a+]qa~,+0Z.(jˊ5lbS8m[Mg&,>'A)Ws
+!4+ID[H݇dK&W³\W[<Ȝ;2MPmɼ>(TMW$|1>iU
+xBK&=t 1l|<`d~T.6MNk()[T] 
+i+;ޯ5xzL ,7cATu#2$ yBetc'}A+KW
+UӀ zBo9-^znL'*)t,6׽%9x*00eqH W'n. o:?zQ^ORltؘI Xe sU;qWj:Sk1n3V\
endstream
endobj
573 0 obj
@@ -1851,26 +1861,25 @@ endobj
<< /D [ 573 0 R /XYZ 79.37 460.244 null ] >>
endobj
572 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F15 381 0 R /F58 386 0 R /F22 404 0 R /F69 402 0 R /F55 383 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R /F72 438 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F15 381 0 R /F58 386 0 R /F22 404 0 R /F68 402 0 R /F55 383 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R /F71 438 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
582 0 obj
-<< /Filter /FlateDecode /Length 3554 >>
-stream
-xɮah+ i 8'>9ȂX|笠/̓n6kcQ|ħ^ʿ擘7#9F0/jTiFOˌ'ʹ~/pnOׯSճu4Y*
-DG `*wXE2Du&kH}VAڥ {,2Fp C
-/oUJL. 8:RLș?q4G\}5*`Ybw4TԦ\f>EK2skŔw
-' @%J@`z`T <?4-/܊a=2[C/oޭզ0fvQb2H&E&!#5Ƒ# zsEfCg-)p,ir@vӨ P$(}+o'!"#jRG| ԭę4L:[[-/5|kHH80 R?ҍ(6b493ؠ Akی%c n
-($[rhqe]l
-<~,AJ_ߢ%{/*aKxufVa-N^ݢQh
-'њNAR-![!X8xCOZ6, t&YU=B˚JŅ//7% `F{.)3/o)攎_'(ϕ駗MaΈE&7.VB`ˌKˎKM&Vʣ\*ŰO3R"C܄K$~.cKO2U6|yn%>Rx >4Lg?6Y}nm$4}FoeM Qه12q7Zh9\u* F_c%lF~Ok݃!}(]`*z}¢y~.b|Z-iY>cJofDdDlG#`+ĥ ̿8E/wXZaYw*Bz˿!+J g]˵% (E|
-J=w_G+0f赲4rR)?BS; #3U+e Iˉ#f#*tܫ\0܊e(fs~ K9rtlͳ۲uR#zWy.x
-jdz伔Y`>'}=\;tAr.))s#ԮlEx:}7lւ8t'=wd9lے2Rf} B0kX_% z:V2X],Ks O1H^rvTGə|)#G #Kt@%CIǞ1mwqY!MoT8m}~;  d e?IMϾ_M|D`gR]JMQ鶔kLf,_=H}]ߜMOwvj[ݟ^l=]5Y&9S  pèF䪄Aqr{yxN7TGp}g׬aHa} @DcW5;BSq4Zo3[ mWW8ɬoޒƺ! aI73]ixuP}4<K7F$N21Fǩz,hpj5;Ì'Z0 O0ahӿX̝nOs/u/f0 ɞ8RI.}qLde7Nxds <՜C dϽ<?6m(;*ڶybXwťk>=h&NjnkSՆ
+<< /Filter /FlateDecode /Length 3553 >>
+stream
+xɮahX
+S~?}}f$MwX?&>W7$ gܸ8ח'p&UL/2O3ith{xL>:'&:EP=[AQ)(a\|jri8}{#8<u#"Os ̿\|_яK߮N<RVxˏsJ Bi¸ACyox unߵԅD!?}Y&~E >"0aISa I*Htİrԝ%t^FX(nԪ,2Z5,@T̔3d#ń{s9Ksȥ'\-\%vLC%Om5kSĺ80n!>'񁸻PL8t BkƝ\~u$%sFTPȜp^@FjP幗:s.d:<M-3˪mJaJ?aqz2F =}x}mz~A*e[Ko4-/܊a=2[C/oޭզ0fvA1 FI&E` 0Gt2%Fқ+2[:UlLg1M3F@5ȣ%(Iъ-Pfgh:[[-5$F0$n:NL\閦(6b493AK(LO(F9QHIф@G,ҧfsC&fKP
+.vm.}2љ"UtZdE^ļt`:inV94RPm(]##X? f,d?'K(tqG%fS
+TrYwP8jGnyM1bE$CN>b@"rH욌m!=K)[0S5-LzU޴՘hDemHkxwxu2K)M?`mV~Ŷ 1pL kdˋX[3>%ҒzQ,`aZB+L9!loG¬1$gH RZiEG
+MN{/^Z Jq3]\m`^KJ/r ~hKG 4GeڊV\DG1LaU@eP[1B̒,)zdJekI9sĿU(UvV5zr H\H:k &Zղ3@#HahulkS{?g -{!xTP v,c'&C6
+nq
+?B_F~BjNur\M?|8挘QX10*](lq@8j7׆T{ GLZ&)Cml8
+HjÑ2UT>W )߆1~ 'aV%ddÝAa&Pf#M0Z/>AV)MH`e
+]$iSd%f)-
+)h,_M}F6qi&n_]qy
+!,0֝^6E<fJHLc֣ARO]ɺ(rc Vf_n}]*eV]hj=B}adbf㔵jewb<i9e}G Cm:rHǽʵʭHY& aO0r)VRMۺy][NVjdRO<#oץORLT$9/= d_$W~6]y
- H vP̱|v=4P=VF>B1]+%( /yzmn$fn =éiUpQ
-#{Op5jܣ])l)?鮿\
-Զ~X/21NMD3'pTJV
-dg2#݌FV|Э1*J (*\έJݴJ)wTw9TzG]"Qu"p(+ׄxL:~\Ƽ%VmۊJv'z~yK<4s'n۵G:Zw~/S.f~29oP`Kg\(0nNP*+Yc*qrK-O84=W;=BBVrA/\dgQ6ןݖ%3ʓFYmef&mS Dq
-ӡ
+ H vP̱|v=4P=VF>bĻVJ:Q&_10(Hj -zSӪࢶݻщ)=m?5mGfjcG"Rj.S&o]E6m^dbgNqR9+Y)XzF^8>t3naVWWj8E U/pn%VjUzN鵾kK; 쎪߸G5_GH&c(ldgZ|
+;ZO84=W;=BBV.K(`OnI,62B3)ocL?hu$ɂ5\%$.sicSwV\NǏ⒎q;Ǝ Bu;+'lS G]a͵^sjڀ-n~[=h"%b$l:`aN5 epbwոtlLQ|ˮ(1;q{,8;EBdTګרp1yRLj/ ;e{Avnju'j6?֞nI͵V/DZA,el[m@BЛOqS/} 0^ fZ+v3-nBXE w@m[e%-C ӱyt1EM\a:@JȮ1+G3`Qю^m(TrXp>X(R4)xX
endstream
endobj
581 0 obj
@@ -1895,38 +1904,35 @@ endobj
<< /D [ 581 0 R /XYZ 79.37 678.801 null ] >>
endobj
580 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F69 402 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F22 404 0 R /F65 387 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F68 402 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F22 404 0 R /F64 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
590 0 obj
-<< /Filter /FlateDecode /Length 6932 >>
+<< /Filter /FlateDecode /Length 6935 >>
stream
-x]Ke7nKgQz?B#U} dcĻ,
+x]Ke7nKgQz?B#U} dcĻ,
401@h&pUS4u)EK5(->l:ϋ~rd bChf~fzBj;dB®rj1ʬ6G<wUM]|DЕ̋odJFYk.cW|FIeʃ48)Nl eցƉ{Fwu~oMUIP] ,ISj jj+ Rǹꠙ JŬ쨱XZdP'=
m{~oZڧg$Co!?Q_qslU 'Q}KkB6=GL&iI0*
ߙUs#7ynͨeN^Z9}yԪaE7]9{A܈r"b)U+o~xaQuZxbTse(cXbʷ_ V-js>7-9SZlP O~7nۏݚqXAFH3ED]y\nܝ0-'9F]DXW[!~u"`}0 NBs{M,سCOu<;ם_<x ̟;;rWءaG
rIvIe3_]Qpx?{d$Z4uNjq*0h /D" aߩ@XyDÝ2ldJ]a9x=ȴd`,!ie`l
qLj͎x,2gq!q4#
-6fdmg||fqIc$cw9Q!y38 F`#FFSWlAPf&f3*l%0@SNcw6DYRնGtVQ#<t F$+C'Wm)[_ԸD;K׃4A$,HT:E7 rh= iM V6$6!h4LUi Lƨ,Ɏ 2=J$A&=ݐ(IԢL^BIh^G2[j| H$TEH"ZbA9y1Bm@IhLBzSePLF11I$ ̂m<]_24a$1PtCL( "0'B)#x$D4Y6SQ&<rj3ZƒRO(7P2Z 'Aq
-[6́4 #RLdJ!L; O4: .4 d6J%d1i$(+\4@:(72FR VD5a&ę|vkӸ|l
-MPIOEcDl`>B=*~P! i$Tı 'aB29}j&E`Y-ǜ&pFA*ZdjUb4K[[+ߧ"8~
-RCY2*#PPADcHLؐvl@q+c;6R@*Xoh 0OƑI6k'l4D긒1(N:8!QV"<B(-n .FKT?"< , Yln#] +( #
- ʙMQhdYl zȡ эwgqD*ZCfjw
- Jۧ1n)_yH6&d61e(HAE{H[M(@q+{!JS>aSYV UrlU\G-F%$ x!qd5+a%#ŭHDާ"<B32pFPӏwgqDbx$!ql5;C
-20ŭExP}2*K3{]^bWHQD%ӆjtdmU4l{(H 2"ZuɚTr
-Q,
-Ai?VwT9[*bڀ$]$%RBMb7,K ,v օ
-KґUH PI2"~n}eVa%J\>#$T.'X$@Q*9&,!%NddQ
-ՑUH HI2"
-ViXHB@.JVܰ}.'T%3XXJ2wdm(iHF[bEUډ"׶󀊨כqk؛ܶ\"'2_@:<:Z;8lm}ozs=)x_9ϼnI_>ӭ
-:::a+sV 3co%x.Ϸ#4Ԝww^^ >ѝ/xE2]%M<xoK ٻGbn):a'0GrܳѧaxcsxLz3K/1*-=9 dVRx
-I7\Ne?[Gv6>"W9Rlϔq>a}a|->Y+V.hL}OW[n 3Ju]8nOO}i7_({ !FL/>|Z+ۉ[E#ԚZ"T쀏k#y涬[s{\irhk\4T1=gǁdPio~ay
-"J,t_G8Q|U jgg.&LJx .?* !O%YaIÕ:z/tXdѹfTA?sv/ETh/jwjs^d_:%טz{~y}8'jYxP$tT4 E?&5ewM2e|>rQOdE.[ WG=9I+Wl&=Ea Vjt&U++]9rt}kڧխM>Ljb+QƹD]4OW}
-9mWd>XF[ Cz)f\_Ik Wz'@δ][&'B5 ts,As⠟2? \{p㓔V
-o;xW"0<>ihvCe^pwgoxzmӯnRU_*pG:w^U;6 >~۽my$ʍ,Z d;0ly7NVLbm;UWԁD( %cWi+uX(aTd [hݴ_)pQ L[1._q |{GsZQ;yׯsk4ùnIRwWo(*rؐGiOMsԕ{OUU'S\ PҞKx.DTNl)/˖?*`|Qw|):Su[-V
-?7HڛYҖɋU9xF'I5Gy+}r5xռuڐۈ)!L4+r;pf5JF
-Xr}]^TQf+۲
-V4SEƥ|\}+)qo>+q i7mSbw}L"xt%8׆M<z\:e%#/x>t<:HGڪwx~t-h@wӭ~Ge F[._?ܾ-.9*˽~IyǭmN &5ҿ7&a.@,Qy07n%RiRvk;!=(^ig8Ɛ\}kq<-pw&diN,4_jI!ȹgPmwԦ\Mjgo\NK>3-p[
-FF sd(sL"'n%
+6fdmg||fqIc$cw9Q!y38 F`#FFSWlAPf&f3*l%0@SNcw6DYRնGtVQ#<t F$+C'Wm)[_ԸD;K׃4A$,HT:E7 rh= iM V6$6!h4LU_ʹz`Zja L4KNa D-z .Ԝu|+e)`HLU>$ )2I1%+04YaD)7EYdDRii=m,ؖL@]%!IIuH7DR  zb@);)b:@BAk3eeRO-(gH(6e,IP(Z$r5(%Pq47eH@a. 9"eD֡"d!= ԜLBCHh IvH j3;[YAF蝖lMxQABKN3 Tr#c) Rk?KTfnBY7=lI6~6(0(o@NT4A4~-#4S| &HAEkHȐz@i+k(D)sܧvkbY$ 6Jb|ia)(-$5(MV%61J#*`r!}*0h XNP>%cX2 D4d i'2c#
+v@
+dd~FCd+I#hcR(ne/#2ނQO
+>])S5@^ /)ti ,G$14ڍaqd15+!$V✇E
+ @[Bܧ1Ҩd$)Xu#cJY686!QV":B(D2O2IF ݔ\^`Ht┕cJPA춐(2Ȱn,@i+S;2Rθ}*hǁd1aBAlSQ&$Tı
+::J6eP,VUexlTrJGPGVsVP2]*(Kd1}*!4:#S9j5Ș}{G$GRVS< 3
+3P^G% *'AhI-=u!z/KNT1mFGVeJLö-Y)*uZGI%̞ vl~^M@a1)96
+
+"Tb*E2M5eB$! Z` E%+ۉ"׶J/l~
+'$Y[:D
+ wl|'\Y[U;Dڀ$a,XQfvȵs<B.,jS @%WR $RڭbqdhX$tl"J\= X%,,;XKN8a);w*IFX$#`*DkyDj]2YFE@* ,,l%XXJ6%h$D,de; yB+]2% ,*sGV "&hd,VY(rm\>y&?m%.y"EtclӫynCæ_F1Cgs$I3
+`^榳x8QB=Nq#Mz 5p%\A dW{MplB'# XNۭ;1I 6oHli9_jn֯;t@c`̍>{=t;Br4~@ uCԳ_w9ڔc*HKgu픞+e'e~:T疇jnWfǎc|Q*ĬQX|nrGN!Tk߽/Og<}V]I7_{BG<W[>~tf4\G.Qͭci2g՟>3fQR›|;BCywy@*g_$/eZăz{$.ٚv
+ st!G=}]G>67Δi74aR\B3;!)ߠNf=.nL
+pQ&Ljr&]U@9
+P]~ 6Bvs+}z~X4xGou;*!ؕS K>-9yC"Х9mPeB$ (C*ƑO<>tN4>3e\OXm_Xx|3uOnJ. n$ouՖHÌRpW?mmSto5BQ.ӷǪfeV
+Ǯv↩;/w~GF|fH:;d-^#hW/z#&ULq g>*G`in7K}?]Ǘ`/y}f2_Ut1ھ  ~3;/ކϢ'{+.>H%GqImiGVnhcXipjNK7V~1蟷
+`ŕ +3R69_Dү7\Kf z|1h9ڃPlUx[6vqICkWʮ.S-v;{k~p*絨R?ҁzpEܱam['Wndf*]du%&L%]rD +j{& n?ж*M+om"v璱4da
+A=C_=m6jR; ~㒧tJ_i/x^84Lg[/XVLVocb`Z_y༻CE&TUet{v,}U?7ʗ?6j-&%@`9Yv+a<
endstream
endobj
589 0 obj
@@ -1951,10 +1957,10 @@ endobj
<< /D [ 589 0 R /XYZ 79.37 771.024 null ] >>
endobj
588 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F16 382 0 R /F25 375 0 R /F19 379 0 R /F17 380 0 R /F58 386 0 R /F65 387 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F55 383 0 R /F56 384 0 R /F16 382 0 R /F25 375 0 R /F19 379 0 R /F17 380 0 R /F58 386 0 R /F64 387 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
600 0 obj
-<< /Filter /FlateDecode /Length 11374 >>
+<< /Filter /FlateDecode /Length 11375 >>
stream
x}K&^[v/n:&0uU.xŠ
Aе[4I]'f+2$ WmU7Po@L,OH  xŽ~l)g'!n9{::ށtz
@@ -1979,27 +1985,40 @@ SJ6e,-&dbR, T
ذxgIP34z~/̽245$8ѻGPg94|
r|3UOg#Μ?H~ʈ:P,\{
KLM$Ri̊ſY~pxC
-puڬ󂀧r_M[ݻ)K9HkbUԉQ
-\R j8רzտ.ڲx_: cMj+wm,zspK^Ã%"d.}⶜}6'lh<_]}y:t??S\ػJԞ:,+Cg6?[m rb]xγ<\Ϻ4C5yYdQ0' \g,=kq5}M~a|M>_~k8zF\n\lVi}<nM*UhC%_@
-~X0ڥ
-~@ml+ϔ17ZA->@i| t4<K,*NR%'vMb:p(a .DY:" /֟Ŗg[ +wNip9zI?
-‘?Gf{
-e3f9{1 +3[qF꧜<P4\6`=Tږ[}%tW_8)f$!EUSS?ʅ.TtEt* ]]JEUDib=R,cOf(K6kgK#ܭ 5xM]lW~0(L+t&M"pev'<a-/5KOX)ir"m
-t콽;q'PphnZ쫲J|]ŘcQw;/enl6eUR^I4/ቢ1Xi0e(Ax{#,3Zq"X4ZjPyDQdb)#*;n0\m%ßᗸ)dE T[.IdhQ*|2wrA
-2=psdsdUI(DӼYf11)rt
-FY$aY
-J, 4 hI FPŔ 7 9/KNIdX1@-PWb.8ugN7|`Ƿt$"s,"VSmE܂@90-x$w$"sJ4Zz~[_7-G2@>0tLpo
-
-mWe>ʒ/CzqF4͉!;ڛ|
-#3鄭W3He95ACV|ATq_xR^#gĸw'H /C2I&P$_2" y06|)>yكHoL"2bɠ`ݎn5%0I U<wOj$ZYУ۷тH!!B)c8/I0a3-lO*cJͻBsEB
-|M ?I&feF-[L]+Y2>f[8i[bK|DMa(iSmeQ8n~Jh8 ؤ1!>E_ƕ-<+BۯKӹ: =MYM@%t;zKĊ2s(4GƎ-4T hXRsUƔd8aqyMe46Kmgl(8jE M\
-"
-] (psKZJ$LyMww.Ҝz5 '"e0dK GFJ=9$NMc.cDŽWtWke!eTRij&  "Qq @J#1,hͲZ:Q/\C2X㗔+$ 9 +"%8bm"BFJ?9\P8av)$2^ :S!]ZR<LgK%E<FTHR/;Upl4g3+HDA]K'
-\9Isr0XŖgk,NDJ`ڄ+Nt8z6s@I ýR]ՙރgdl7+kJHa)ak|*N82љѳJ"E z</z7DYR@Xp$ [Xş"af`T+ej{
-Y;'tdS1ɭJK ~͖ +S`
-R PFD1#BB/4plZT"FpR & wy$&aaQj+hͱH҉G1j
-?_3XQRB15paLsGD2Dp;ӁSЏ)fb Atut(gab`K#>vXN>ߧtm7w՛{9 ,xH6uޤ=<o@N;]'6}wؿPmaLx_kxsZ~7m=Tӆ_pvCElyP=}
-rlT]Sfm1)yѳ{\1G݌mQn9^"#x@?4蒏Ο#pLQ/IfMdbȟla/NA9F(fΥ8RSI|DnOtldYFgCO1>QٟSwvzՑn*zJ"[P=NI7w憻yTo+R^Şבn}s.y_%?ć9ݴ#zlPwx,kog3}bj ~RxEdN/È䲊{k/MS/4,"9y=Mͤ5=ѳvwp.Q=b\we;ƃ_{s5ѿ=3)M=ѻm:7L1eX|VR^ǃm0{SD` EW
+puڬ󂀧r_M[ݻ)K9HkbUԉQ
+ߓ`SÏPLE +wxU]Rްs1:N<^QRIrU[~Xu5m
+N{A)1b;<_2us{Sc !w5_.n+;ƗײUwGW*=^=dS_J;Zz9!ZPz!Al[[(/7@=>3UVwZzoBA(F0pm۴L]~
+`-5}
+ڬGSrc1 <nVj-Ғ>?sy& qZ
+eIlH5OgĽ\_"INvZ(.bhMK MtKhvϽހ^z{E/N;Y
+^յ6UߵNO[oyT~"%(!{ïh{> Aw7pg18ő,pIVb䫧cY7j(鸾ÝO|z^Vvy}ФZ pfmb+ 
+=Ӵ#&5wWTXW龫>sk|agb[p~o' nQ;R}a9 N>iZ=WK"65odp*v5jcg/{r~Njqʃyo79?-z!L|0ے= ûOkr0}>Mؗ>?;l:t|=t@–<~Ly|rS`>c>(S{\`:o-?ʉv]9s=^ gv2(3ǞV͵嚾m?0mNO]/5=#n.7.6}~Lqdg&*/T YFW?,wR?wU Xt6ߕ
+gʘ㛍q-ry^ OG_>:aB{tT'g?)Py@tv&yoP8^|eMSMb˳-;4_=ܤzϟr
+\cad:ޝ
+]Y(8X47LK-UYXḇg76j2*XK)$DQVk2yIew `kf< ཎD8ks,~-5p<IK"ˍ(2 1w{`WpkB ͊|c 7gsS`QJÒKD{-k$2(E>;\i
+~3,Ȱc'jmEï'ms75|6C 16uz`會A=WM ",,hʼnWcQwkyBs\5ڃ"R#
+[9e2qiA S$\i, ܘn9Cjq:,`,MJU
+'%wjH\4w$Q#bJIKCnYl %j$2EF +1@d ϺR\'>w[s:LYrDQ9_KnRvܩ6"KVdpbn{D[ixRU;EYzDQ9%~-=mkE֭wYίɖUX\ :&~^xj߈V
+;'5CC,[hlҐy! SO1P$׍XKᙖglόpb]s"WLO
+ݟ$}W
+-H., x--%IXGd0MS\?sy R%|lXA՘wN/C%mE_fA&ݒhi=% PbEdB9fo}wUocGK [s[TS4wTOi܉^*cJ2 0C˸ʦ2~W%636VlU`g 5kvq.
+peBiF\*pXԲ_.b53d%iS2]S'X6Ѥ a.c\.qe
+J-nΰ+;L`%B
+Q./.E-S Wp<R8&ٗ7Ȫ
+4xHx~ Ԃ;HtqrtE8
+
+4V|EasQ?K V_dVhN)~@ֆ޴r |Div86B
+K [٧"ΌQR.z9ѥt-%N;[ZHi[Jv22Fp٥##%P'
+&1MRc+:U52[*)NX℄M\8Div e%pfY-(V.!w,KJIĕhr6SEb#%pRy@(̰]
+).-)&"G#*sJHa)ak*R86Q᳙$Q  ܮĤ9I x H b˳5 '"%0bm F:=9RaPK)@L~
+K3c2yΕ5%RѰ5L>'%"=҉CZM
+Xv,) V^kf8Va-MOHCg3T0v2=]K Dla
+iwe4l{9%R5BN-( Bppw҉G<^OQ- H!QFӢvr꾨E6SEb#%pJ Y=s_
+k믣`9|?bPyf Y4Bu*X+kJ4kY_`s0e6Ds
+7=@V4]QoR0f ~T_͚p%9%R()asn8@0/ѣ
+\+c҉'Z u?.O&4;hW]u^[S"aGK'1Ǡ٭&G=:XNfKfBn[x(PnJ!A!S]b86*
+8uj)k;<|0(5_EX$h#H`^(._5|VJ~n;Xz++nau-)GI jEAx"`S}Z:eK@b\5 D ɚcУcW#Axi*" W2Si@I-xle~ȸRɓ5%R()Aasf(>7!'  C u:xRx@b믍s,R()asf8@V0#^Ge"~@_пOwv3MӃ{GP::Utlh3pώ0GOI;,S:Mӽg<w$:o7҃C@ƾ;_z۰E~_
+?/o5-u?
endstream
endobj
599 0 obj
@@ -2030,10 +2049,10 @@ endobj
<< /D [ 599 0 R /XYZ 79.37 408.994 null ] >>
endobj
598 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F17 380 0 R /F57 385 0 R /F15 381 0 R /F55 383 0 R /F69 402 0 R /F58 386 0 R /F20 376 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R /F75 602 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F17 380 0 R /F57 385 0 R /F15 381 0 R /F55 383 0 R /F68 402 0 R /F58 386 0 R /F20 376 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R /F75 602 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
607 0 obj
-<< /Filter /FlateDecode /Length 10102 >>
+<< /Filter /FlateDecode /Length 10103 >>
stream
x]M$WQ:t:MFNۣvXݼ>͆׻6'_0I
bXW0b\.ŅutL+Fˎr3f^_e]NM\2́45tTx<ɇ8O|4 Kݪ%CN)~E.IE۵%GLYSsNe.;{SCv1>Ҹ,{d(&]v ez2iг-$D:R5$頼D.\H%FK#CnIkdzҔ <ź } @J^]7,@5FFL3X%q;!> q!4M y$nzE42(ڄr~Xl3(ۓ>U-hEc ;0#ED#3(u pgEӖ 90/r' 9!iYa;Ÿ @") (d8JX7K3Ee}c2A%E9|Pj
@@ -2048,7 +2067,7 @@ EYp5A޶gҎ9E\͑}+j6G*&#>(RrT*pԜVȎCr}"j״:k*
[|
k:ܽ|.ϚSa?n[ _%}MAe,ưu%ߧ"ִOGסS3t:x'`y jYƱҮF)FTv
v%o7
-MU3W'}:>GhzQEK_~ -r|^6
+MU3W'}:>GhzQEK_~ -r|^6
.D\T`>Q%D3]]sriCo;ŧm=ߖV1'vBCӚʶ9'v6x=yڵzIG3?G/:Ցc %5S&*ڤ
傊~ u@kkEbkUE[=@T0o:1\ ŻE,9W<(\+.洠\ *
6û琈\~޵\,5֠TK\/2Z.J^`άǢlr1x2s5BT1-6CQ[9`(V!c);kX.@T)h}Mi9{J90TkL!P}rRu_bZ\gV} 1 65Y8<oXk$]aP5@*Պs1et(_P#Ps;31' u""v.j*
@@ -2059,8 +2078,8 @@ F)dq;P#񩢀Ps; `Q"*x.mpHBD%fGr" SQeFD, \hhWk;ܜ
a d+[UokD P#R"T1$mR k960$qY|Ӫ]{]PZ%@HZyP@cRn@_\y4>s@L_i_Y[>`U1҆M(3*U0bM!ہOۡզEhGCy5v|QuHFlr^hx' ls=x &S5EbbTd(boyz31r{s)? OUkѤʔ#
&5@
G,p(Bd~.U
- H8R!Rc"C!21<
-إm7x[i̳W7&n09_m9N]`qd/c$?\~y6ZMM~N>xxc/S_'Su2%ȭo)JF1]/{xnK}V<90/=~__|]iTMuwO1Bދm(c?&֮"rcot6֬z WuݤV˴3:noIO;Js{pwY1^qV~yp{3L(yS0344lv5Hn[ی?6şn&Z.kaI\aɁ+Pc<[zdWlq&dykZ.UVҳwdȿ5ueJ[cD]4]{˔ix=z=滶uCcm_7]gg4 vnS7+mdw#de=wrA'sFl#Y@}L{LlܽArh=k9.oPB+X{OW ķ{93Ւν Qr}IX:zk; oiu[*!W[&S DG\
+ H8R!Rc"C!21<
+إm7x[i̳W7&n09_m9N]`qd/c$?\~y6ZMM~N>xxc/S_'Su2%ȭo)JF1]/{xnK}V<90/=~__|]iTMuwO1Bދm(c?&֮"rcot6֬z WuݤV˴3:noIO;Js{pwY1^qV~yp{3L(yS0344lv5Hn[ی?6şn&Z.kaI\aɁ+Pc<[zdWlq&dykZ.UVҳwdȿ5ueJ[cD]4]{˔ix=z=滶uCcm_7]gg4 vnS7+mdw#de=wrA'sFl#Y@}L{LlܽArh=k9.oPB+X{OW ķ{93Ւν Qr}IX:zk; oiu[*!W[&S DG\
endstream
endobj
606 0 obj
@@ -2079,42 +2098,62 @@ endobj
<< /D [ 606 0 R /XYZ 79.37 276.233 null ] >>
endobj
605 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F16 382 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F69 402 0 R /F19 379 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F16 382 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F68 402 0 R /F19 379 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
612 0 obj
-<< /Filter /FlateDecode /Length 8674 >>
-stream
-x]˒ݸ+R^cBUϪýx4^y>2  y/UI]TYDC Y.7?7ӥ.5.?'s\/9%ˏ/g78gL~:٘
-Qۢc}w}voW]{ǹzx{ #v-'ÜP17K1vRX`X?S(y/֧޸ z.C
-k{.8OwocNN6{|4S'NZzS 
-]:D,#:L3>9͸ OCvgO;7ٝr`oO9N )Ŕ>p)K)?*Ǻ$gWo~H`X
-7{yEjR<ŧr @IO/-PcO2#%&1{wx铩 !.f,)Coxa ƞO?៽G* .;ο#t>C&p;A1-ї'?%Uo?yWi}C<
-'݁NP;vnQ`+zh$4P#b1 FGK7l0N s71J($8S٤rl`L6,Ԓ \^-;KYW3mn*p8`v57v0$oGQDXE/cر0G֔M
-&сNN`%jpT|[yh`2;WFjr^d{B2^/mnp$v5;v0$ogGQDrքc+i}A0PtQ2\q91Y9d0K s782 K($B峞֎LP .%` nRYBE0mvx$v5=v0$oGQD! h.%`
-Grs$]IVA3; #h3XFA6d;_ǵF=VR+p9+>A0mnh$Cv57 $m'GcQ4b!˦Jo/.& 6)r*p8fn8=cm(BseBM֎L9X}a]nH]bF0mRܰUP4̭jn$=vmQP Cpl%rX$i5O*HS."ܰQp,̍pvڱc&D`NVBc,`V>+Ǩ6)v*x8vz8AqdnQ`+Fo2f]K
-0 rX$S&GG1jiW# jCvz4E졑Xe .ctۉʱ8&Wڤapď0H*./R N)TNVQw0Wp$܈H8,jn$AapN91c+N*<9 lގ~)A;l8N@S91AKlNx`e,4a+L'u ĢQkR(yMI97hTzFp0磷BOP{xETe!2QͅU" E5?a(8l(c%K ]WX *
-UǼ#)d;挠Gʽ(2iHk#cU:#aMWe>#9( $&u+툺GnXyGCh 1DU+PC+>ߑ؄筿ߚ4qcKIıiHu9#d+V397-&"?@E?%BT7x `+GvɭY5/]-gUF0w-\bͺ/uK?5RJ;:ң=߅E9
-1mRU+z8spH($ QP+᭄Vh%AKOBnq͙|ulR/DÉ_ t -)E7
-Be%8p]~2_2vxMjZEnفNOD۠%rvJc+ɐ2TF?I2L
-kEMxYKXksuMJVQ5q85qԎ7%Yge#!TVh/f>&Rq2[ W | &@m3
-/@VR!,b0%,j*K4ܷ@:ؤDMl;8Aap^5)08[Ͳm%<pM>
-"NUr>m%<ư(L.
-'فNOu:ڄ(JVgEY_L`b0 j W j/eRj/>É^82 Kr/Fa[ӼO[ 膚삝p_kX\tn֑EqCF-]k0790ùiǎ@m3
-Ҽtc+TeŒ+:r5Bet &W:2)1[EDr8NP%9s]GО3r<LO=2*BQN-X D$a5kU{w$z\ΚޔŹ Hf@.hMU@
-27̨iM/8Lu&~;Btd#8aVa]zbVq%w+C>M F[lJ;cR9z^kTv]#=+c6o|,<8T,vi"mF#,W鞶=RRBc%YJ*5\I"\q7Wp% xIՇKXB)G}Uu`!JB0Wcj\}{{X}E(1>u?z7
-X}NjUKW 7][~B_3n
--G>
-_`xڗ{/7JyMsya4m͹u2؛ܦ.혲:QԯNiޢ0GPwx8OVx6]-\}a}IU Sk37 ďf`m{p{^Kl^,VaF,yÏbɁoWl`J0cy &J0LuFpsl{nj&P|7pϱs`~aw;[)m+pG]voT0)/eNtgSrn]lSF/pe>NA!Zh=<a&V., lDlSqM ݫ3/g3`:dGCy:'~sw1XC.>S`5}CZۗ7.Q _ `q] Zj3|ۋ]&T0ۺ<.pc긷1q]icMp_ #eg{xzQMa#h*6J=OγS[2SC GY>w+&WIEil9M@wLޯ
-8ZjTĢ `PZĭ.&D
-W"l1p(-j6(/RH3BZU+r#C
-P8c+ū6$YdJ6(-%Ҍ`
-Z,B JK(u4#$:3T_0%y
-NߨeW{=95EAFA(8Ai1A㖚xd(lʆ2R[
-M A #0 \pNFyK-_}R7W:>ܨfY3lVN-άNS{$:cWbծ$R[ze+@N{HgJu cq`
-m
-d{ [DpNys fMF<ŕ&sMy %[SH5Y3L=@%Z:
-Nb20uДڃ谴2x*u)ށ =M۾Bwkomq٬9濐gy+;"~so F@3"%n91uB4@?:E\ܖSg7˖
-Y)+< #Eve#;6kr~gvõf.,c]A̟@N~#!t2|d~!ypꊽr:WʹM n :;D<(f:͉-0ޞEŎދ}x$yڥ6
+<< /Filter /FlateDecode /Length 8696 >>
+stream
+x]˒嶑+(DOtU&<~i"|d@^խ <@$@\ 7TKLRo,8|.^~xcsƤ  3|[2&[??vn.%6309jØcr}^3]..10yy9sn\qֽnSZltp<4=
+Cv{i9{?C
+h%OpY/~n5,ťWӯlݟg_ ?7{~u AY ~~pyšGkV=ĿI4qI
+|8ĥ
+}c]cO ~sY
+?./R{Z,>7W.Ol05H$.O8Rbcw8x;y>b"~o˒B< J;`Y>{įK{(>BL 9$`;
+vr-7d[k游MqCZ'U H`#0,͊_p}lfdP}RK6晬XH 0u_L**XOG8Q!7)I(K]q摵PUc^aŧ%&4%q &!IH1piWS$ #Ðp F'gk&GQ$8f'.ݭ۬) jnwԎ%z! jŭ'n'0& [  ~m1
+
+']͍$; `f)%|l%<+dŤ 'v,̑5ehG?c" djt? 6X"d8UVZ;w&k<6ΕYK2 Ǡ]͎$; `p5Jx`ZsХL!T3]3=WkvFE  g'Am7
+dhK j{Ti>P}%L2 Ǩ]M$; `pbHFB0ZK BǑ{.92I0mRUp8pH($ QP qmhQԊn"@r%L2 ǐ] :AX ~|l%8*c;0i&R[ M
+'فNOD۠%r\PӱSV*<EtyWRz&L7l4M sIGۢ%nECP9[h!+I@yZӵ
+=,˱7l0K s7vt lF#Q,|,F)qc!1M
+'݁NP%z!ck&Y0t+LB>/1II+pZHڱ& F+;{h$4*c ü;vr+G6)n*`8@vn(?# lJ($ˋ)ck&7`J6r̕ņ>$)2 7be81KIP;v:܄ӣ("}NLJxӷ
+Oj~*`)_Jv{&[@'~ Bm9E=c+=,XpMn<
+r]l.C0GdǚJ~rcRM;v:*/;Гz-?^'gYATsv
++Jثv_Hպ-Vh1H#w1H
+َ9#lǑr/
+LZa8H6>XvyU7HXUYO0Ńt@,ʴ:I]J;c۵ֻ;h:H̤l0QESk3
+D$/6!y&Aao}h)qlRD:GD]NJlLMGH31;PяmU k:,krvc >zWKwE)]"l
+{X]ݱq1 v;( c~?Cu5)+)* 0H/*XaFdu֯@Z[DM6HI`(
+;1Ђv|Ewy5@eΙhڤ$_l<NPs=82 K/Fgc#1K6 =.!k⌕+czL9l
+Nz98
+6%j%Jx+걕$Z qcn[esGq"pv:mBK/E
+"ΖulG[ beO!ݚq*@;
+'݁NP%z_5_F"
+uqX %MTI,DFq3l;H(?g+ՌM
+"`EJ鮏;L*qXۖALJVA1;0 #ÐpDSܼO[ z1,Sf*8` ư4ý\(cb hjv ~6%ru%㱕Yb֗qS.L&Z`fKڋpv'( CmKQD4/Vc*)`g1W0ZudQܐQKZ(Mpnڱ#hČ¡4o!JUz}0
+N`fsɕLJ Vѯq8QqG!6xI\#' .:SϺL⾊>l"PmTS ֿ0fsM㰊p
+l>[IE0bńqh55=lRDR赴3Ѕ; ۞8 PI֓REq=%]Є²~<1ٶ ]ñu/KQ_q9CiYLQ|"$ZV9sq?$yѧLB},}:%1,nIi5ҳ#%?TYvq|QBβϾyj5F;rE;_uG*::n"q;UBہp&x.i>$WVE'ۊHvՓ+(^>4񱷷A >jb;[yތKs[#w礶]%t4\_?!ׯxsD Qi᜕wIM57xՙ0Z9x k(s{%PI<~-e[_,Gpu`J!G(.WW/4y^U/-%ۑ7sqpbbywOoK/Q%Q6UEӔ6^G׵tc_s,dDQ:cnBޏ`L?][׹}T,^<-7spIoֶw
+<*ܼF͆ło$^a993Α(v諨LXț>1F3`
+owg7Pˆ(|m"]ui;
+לq)}0Q9"Fi7/aw. } .pJϟm]`U}eݻoy&/aP2x<{8tgy%'Y)-!| _,|rU$&C&7I
+>vO_ZO i֟˹Ӻ&e|Pk/o
+>Ov}p=G
+H_]|ۺ]1qAdeI.%z$%`#[bpeg
+%"I^LPi 9\[$ˏ-ՖvkK#
+;wFR3~k\p)ɦ\br-5PbQtQ0P(I-tPbsH@"C
+I% VJ
+6ݿVIux_LKVR2uEE@%&n1!A{81.d(I
+;k5b
+Pɏ-6$Y!dJR!QjHpi4b1! `G6P2z&a`SPEAF@&٠ך9Q_HdD-DU#L/nr "dQ0P(ċRH3B(8C5 YGI4}ZF:pד\QNYdJRvkK#!;niMGƎ&l-#K@.zޔ 1
+ 1$nDraɞa'u{sCij(ZejaguJE#a%jDv=Ջ,hm-:-@]
+PW?ۯݯ3%xǺM1jY
+pOGWzշ.Ձ~tuWt{R^ab|zU o*7Z4W YV9~Ĺ -FD\?RmTEA/oiWO\H{% f<)jm>w
+Dkvd" i-b&&
+I=@i"8'9Ќ3~զx`#Jku`<ƒb)Śe@&ɞBjm n-qjG3^PH%obN B9I57z%i"\MP$AI dP^FK !!
+-BZ4y׺-bPS!l=E@%n-s 4`#$ydX0z`1C* `W^rUH,L8{=%Z:ЀU`vӘl>~'i&SL% -6(X
+K(w 5!$.
+Nb20uДڃ谴2:R6J{n#}'|iKM㶳Ys!H;nmnWvDc VRVOgDJ<.rbVuh~.u ع-n'7-W&'{M̩Hߦ!2'*̷c6ZjE3OQP7RVxFH%F~wl>kq̀]`IvҮ OFBE!v[\OO{u^9F+YgܦąV7OL yo3yĖK
+?oO쁢bGKI>^se^bY[}
+XR
endstream
endobj
611 0 obj
@@ -2127,10 +2166,10 @@ endobj
<< /D [ 611 0 R /XYZ 79.37 460.075 null ] >>
endobj
610 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F15 381 0 R /F55 383 0 R /F69 402 0 R /F57 385 0 R /F58 386 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F15 381 0 R /F55 383 0 R /F66 389 0 R /F68 402 0 R /F57 385 0 R /F58 386 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
617 0 obj
-<< /Filter /FlateDecode /Length 22480 >>
+<< /Filter /FlateDecode /Length 22481 >>
stream
xݽO$%xO;O
R)ѭBl5O׌=GDFJF]/I:<>ߟ? 㼝5[jQ_~##|Ǒq|οП?_]xae2ğ+7aBky1:P9;sɓs+/8IӗTˏ%eʑaӳXNrHuD-^)z=I~ #sߏ2kYg:v/:v_BU_U<)o~k0tH?ڎFMI+._*(+*:>RɹzN.)yu;PhjT+X^FkԆ?Z?clL񷏭R;p|yo{qKga\u
@@ -2201,32 +2240,27 @@ v>YZ"[|BEj|@MíDt"Tӏxn?~]wVJ~M(SV.d Z0^Zŀ<
ܧ:I]Bd4Ep\6DcV*آiXLlw@GD[@B $
5e?1*8 8\S0sS0|(|,!,lfIY]g
-Uea ǟ~"o%g?p }z=o-׏v~?_RNv]=]y/Oӗ
-Gѿ"!B""ԧ:3_+E\} 6@YX&d-(}K+Iƹ_RiYĘE/7.?ATAu@/Wm
-وL+9OE(׏
-@mٻJmV/`'B~1]8UumcFgx5
+Uea ǟ~"o%g?哈oBw_}Ѓ_~n'HxQӿ_.Pnn5_~J?}Ip +//$"B}#1/.O\H`#_H  en2L"߇d 篡|Tn%uu(KYOYG .~֯0I9ȔRS{9,T2j?kn|X
+٦f%|@z,߅3?[UQ[;f^iDyFW2 
+U"nLct/^l`,z#/_7Q)T15JX,Gn8c w'nݳkyȘO<ws-?ӛ/%H!ޒ^Dp-?h3ތ_W2?F\u\~2FjwS*@%ܩ[mg >> ACa^kY~a@㻍Tf`MzJqJx2
+ZȪtU+Z[2TYmC\m_#iNZNs#8^U|{/I\nq}GqG4҉#)[;~~w[s$̤,p!jrp:^\zN}8;5{z'>=beSljg+Q~,?%>^eq||<[ |dqOrVy 9'yR4^h60tIxߏ#jazS<5vŞzÎw:&n`wFA-w&|uttڭeyK'sxL-õ.}@?=Q{7]~/
uIC7/TFRy A5:!>n'2ό{?W~K7T̯ o gw.rHkD/u5ݒ
NDqM1*6*|tSzeOTtM|y
-fq,ٕf0+=·6=c2vKGx߁ LZbIX{Euo_L~wНjx.Ϝ.);N,ށ"{>Lw>notκ3˃ViLOV~Un:e9]6n־vCq|k.lx*\6H:5|z'% ޟ|?YY|/_m˜ߔ<>| [~Ko8m[Ckuކc$ 8f֮:~h/ϝ~57< kyHrGQc4Ѩ<y-?ͅ+$?e58iśU/_oa_,8Z?16iۤkB}js9bIwX,Kwy]-SS ^./i߂c'qO|э=FCQaVf,4OjVþPigqSY_˺˪j/詖^9Wk1)54!xkWkכo5o7ood/La0 7.x;/9G>4/>fuǖy[p$`wAG`gA~r7>
+fq,ٕf0+=·6=c2vKGx߁ LZbIX{Euo_L~wНjx.Ϝ.);N,ށ"{>Lw>notκ3˃ViLOV~Un:e9]6n־vCq|k.lx*\6H:5|z'% ޟ|?YY|/_m˜ߔ<>| [~Ko58m[Ckuކc$ 8f֮:~h/ϝ~57< kyHrGQc4Ѩ<y-?ͅ+$?e58iśU/_oa_,8Z?16iۤkB}js9bIwX,Kwy]-SS ^./i߂c'qO|э=FCQaVf,4OjVþPigqSY_˺˪j/詖^9Wk1)54!xkWkכo5o7ood/La0 7.x;/9G>4/>fuǖy[p$`wAG`gA~r7>
93Yi]Z@WBdr
&4:uްܥ2y ӓJMd,Ϲf~PQE*zaQ+s#Vܓn%iejʴLxj
? -%$3 [y1@ԭP#\
= "]#oc F EzJm4PQnIٛIVO#%UJ̛dQ//.!_ elc^nk<ygrOcd'۞/Ze^uHJc4E)OB-bj$;;kV*&sNmAR3ѹаԅeѮr£w0Z)܎
隣7$@Q lb78#;&-"A^_ /F˭p&B"5 e~Po9N>=CuJ‘yMx4]*zYsnQZB>g+9SBu*zV^(BwñR5- Or&Z6M(Uh@`
->ȊY h̲d;$.DfiHXTp40h<+D; 1ֱ f6'GGƦU44w:\lMP։+7RY"Tv)0B0GR>zvo>u7ypq4F|F]`UF6u5V |dgjc.Q
-0]'cv:BAzn䱣HHhV# kgiTׅU??С@A>g3/ Ӯp@y;ȤJC/ {n c[FviddGqxesu2d.0FRr;;?x|<gV$/]x!l(;15%=F
-FWJcn?6^L,ȍtavQ&Vqe~ ˜X:0A>g3' -i'Fi&jV^x$Ѹ<xo?O1FȌj9jtPnD k[JBіy2Qs830"L^2Tp'1&[t^PN0F[ūR뀌
-4\YZJR8 H25#rGZsOPd0F4g@<^/
-but HXQ(|eBMP^QHlŸM_yc¨Ɖ,TacL<
-6 [1-𸻍ҰYxdGte 9S4-5
-[&+Vmx@p[3 JFB-лDl;a4Fz.RK*z\|BQbɚ]quJ7L.y̹鄔s~ аTdMĻ~bXmQ2K\N0$<br2Ѩ(]ХIIJ˳%{/;A.rKkwgQ6Fܕf~-Ț ǏaHV*Cfs A[;N^@y Xͬ h&4^M!H&5J>剉9&=9{1 5 s8t
-]A(P& Zly, %cAo;Cc?֔
-IZEsN<ftjm.dM'4 Ex Cna4 yKed7Š5;psvޝ'F,w\gFG=^h%66àbqIޒ֘qw0*A?1@À
-PP"J9c2Q) }d޽ONP5pER-qirirLHP#
-7'#w<ΛijSJ`
-cQ:S:{4A \2W 8|P|bö$嚶Gy
-c@q{5=Jg\g&h*.zcFYCpw)x27 1E*R')BfTX8U.^Mp~+cTDަt5W\-uKB`&FL뜑,L%E%+hK A <+WMٶUk%R_drNE[h%K]:Q#
-]>4iν`% ~I?U7nQ<kE!!ӗ:]UED
+>ȊY h̲d;$.DfiHXTp40h<F]w
+ʕc:cZi͐mO! M!)v]hitӛVnER``
+IZEkᏱѭ/X$-]di6&(hwid:3s2!#5ɠ]qS@Q"
+, cq:40;ƄQ-+g/Xžǘxlcn[(Uqwau9*s.iZ(j]LV"ۀJ*+xA׷މ#Ɖ#9~ogLyX݅[wG(|]-(w<i\*2 9s<1TEĒ5Py< nl\s )g;@aȚȉwİ3?2d.`IydQQKy X
+3+ ĕfgg=J _wЃ\R4l3+c[5@J=T?$vL@YALh<BM6k|+ sLN{sbAk pdX[
+@k!~+oZe \"l2a YơEv,s /Ʀ |eRz>Zo{X-GXmc1@kZL]>FVht&R w6j_W?xK7XxK=<v>d\ճ;;
+[L aU^ Nh oSCUѩf+ͱ1p0]P)VTmǨM# I<7k",[\42EMҙb)9#YJ0V{!JV=FJ-xV͛mJ`Gȼ1TrK 蕹uFn3_w~/<rLynr7&X|MY\HY-tXB0B8btW6PEOGM>(^8Ck(0ގ }*cl}4a4|X(HSM]ې4%Ѩ8?E0Kuӭ;E7=:B&EMҩv+M !PU /L~gҔW^b G=fu rgHa (
+G,M 5wGALXRUD%ŵϒ6r~7qm+O
+=hƼk3N QG|-N>Ȭ>V8ώ;|{l\k?헹%?Od抻.w͛5~[.Z4^0Wג?p *Ĩ}xHNKq?ɮ?* "DwB~"
endstream
endobj
616 0 obj
@@ -2239,12 +2273,12 @@ endobj
<< /D [ 616 0 R /XYZ 79.37 400.5 null ] >>
endobj
615 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F54 374 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F17 380 0 R /F20 376 0 R /F69 402 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F54 374 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F17 380 0 R /F20 376 0 R /F68 402 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
625 0 obj
<< /Filter /FlateDecode /Length 5486 >>
stream
-x=M7w:]0{2`O,
+x=M7w:]0{2`O,
H.'<
0t ɷe4<!7Ws%$,} qptoB7aesx;;(ux0mm%E't"9`LHAO*И| '# $qpj(V7߈!y !W0Ƥ[hUJ4K#"R"j%{ bYH"cSH
$fNpnxXn:J$$^R>h51>2y;7OZAyS{hTG4 ZٗN%*v ڞ#_cm2H~ihÿ`:OS{C5eԚ,s{CR|i@(ˆ.zWݎìkz?GSܕB\Qc >s!^tim
@@ -2268,12 +2302,8 @@ Hǜkp!K&3DX5Hn163'Hk-YU2#+4NMa*B CfT8a)^
,"11F?nGE$0! 7%Q9Dιc<xPDjCW;׶ʳ\ VCrTԳs%kHwI_CW2ɹFjHﷆ3jH_D^9WCEy I]AQ~EPZ߫!Q}ՐאG5$5$歆䭆䭆䭆䭆䭆䭆䭆䭆䭆䭆䭆䭆䭆䭆䭆_$@(x%kjHD J*jݵ,ĵV>(>!t>U|q$Ovp ٭q59q)Maq 5=zzMh8&t$]tجCf&oŋu݋l8NٸwߑgLTc _1g4yx^20zp9gmW#>Lx/VrZ:e3/J,ƝK^~')zF9H5WZl`zFRU
).BjGב4{i\pj _w x;
xRa @F.5MGBΖ&R}58K\ҽkHKЕLRz~҄.#=b ;&sètL+~V_RwhI#]
-YzJ<"Eh[>;륌tewѭqiw<J},eq\oSGW{NΘ?N
-\f_vZ~۞]OMC!=efxH+گ6w:ccܖǧp 2]A<h}+uitnu>X#  m83k⾌4a#ml͑ގ]Mf=]W7^L=^u+6n Jr`57v8/ꍯO{k9YŒ&Z;]ůgݚ zmīwx2Džu*
-ki_JGʷ](WgeWo䷒H [=(ҩN}<rc+ RztԻ
-]]Dy3?^~=`m<
-7+;ŷB2` !%Jsb.Sj
-O8Ƿ $"پe*$A‚7Tް{2JC<5,53XF#,w僧8aV3;9^u_ 1`43[Kcrac5Lv2M~f+DXf(K7+tʸ[zD[!nIF\jC=L+HG wӚNMorq̍|TP⪿p-/ JS dM2滓ZN۩VI/ ឆxf|ˁ.},;9nU,fQU IBjtRxtL[Oz<%"ў^ 8)*Tuڂz_>>X_tڢR#W_Ve-q۞e9 psS C q,dxuknnug +o:w|+1Rz]q39m\3gJq׉.qL#0~:/Ц])SlX5&̯
+YzJ<"Eh[>;륌tewѭqiw<J},eq\oSGW{NΘ?N
+ ăFR{FNǁV5pQN3/HV<26[kvuu5^aNhѠ Vs{mNjjX^QEY,iUUzܭ0~FZzW,s\X7ժt|ŏzu֌?]qF~+O.۱"j{,_'7`Р)իMGET=c=pES Vpw5~4msW,w GI8;>J /wqOa*X\}|-ol.ƘwV1eZ%Dw{{,RwQ|+!R49(1ƭs|@" _O Lr4|,,8zC k`z,4ijM9\bP_??UaJ;ɲ{W>xJh58U F3ÿT<(&=Vsd/naB)h֌_qLaKڸ{~RNE0p?l?}N5XH<dĵ6ӏ$Rtd0p7^?/Ⱦf([GxG%b 2T1@f$o;崝zym$]; =i誋gv˗ݽ~;̲6~H_k/>oU5 Мt*J~,Gwt_ љmo _"B?H군^/ABU-X૧N哏^%O-(>r5`[7Y
endstream
endobj
624 0 obj
@@ -2304,42 +2334,38 @@ endobj
<< /D [ 624 0 R /XYZ 79.37 473.533 null ] >>
endobj
623 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F25 375 0 R /F16 382 0 R /F20 376 0 R /F58 386 0 R /F65 387 0 R /F19 379 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F25 375 0 R /F16 382 0 R /F20 376 0 R /F58 386 0 R /F64 387 0 R /F19 379 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
632 0 obj
-<< /Filter /FlateDecode /Length 7272 >>
+<< /Filter /FlateDecode /Length 7271 >>
stream
x=M$n}|>t=}Ew<^N K~HI(!dz(")JE?.Q~~7i/qN9shN.ˏ_/?aZ ǫ6
Z Zo ?tWRE}@HVEpKSn݌r)=V#
(q(I2j X/"OfJ%,ѿiYiJ*oJ#}T%ɲh%jifO߰=!,sn¥+<+?oU`ʭ(L\p\PI"GMѽb]]Vk^/|"SO:(~HL$TP;7
7Ϡj<Ga S,HqR[Q E&WkBM!⣵E+u(
OfYT 7螏$9Y4f]gY4@v=黽!@өv12t=9Z'#E
-Z:#O-8cI(Y4WA 抔#Rg~NsZ$ݵ4fi3ʟ",KJԔƆ ϑIӞE@Dz xu|`jݍHNǽ.'`[<&)MHx4D/ y5/͊-FJ"M:dע\@?^L_ßF}KS-^xܧlѹ^<t9Fkז72V.vй;.XXG˾3e*^xR˲n/ |%&\vk./|f#`w*rk.ּ5@W 4Ӽmw<z";qFKe!iDb0kSQRԗo1km5 lzXǍqc2 Sǵ2SKIyO∨oaK%U䛐v>,s'
-LIuԲET
-B0
+Z:#O-8cI(Y4WA 抔#Rg~NsZ$ݵ4fi3ʟ",KJԔƆ ϑIӞE@Dz xu|`jݍHNm>tQ?4H5mB
+ǣ%xihȫٸX`~iVoy5V)hYo&jd"87^/mO;>Ug, Ε䉤{.x5]rqyƺŢ?]}-S]zE^w{e{,4lvVU~W;XW`~AwkInj;B34/l[]5ϳCRbdY-sHyZ+sZT:gT5[ Z[ m&^?qcܘqԒ@R8"m2r@ qU4&O/܉=tNM-k"S) KۦM$vΩAY-̬!&NsSzy]${Ey E.ҺM&e)=7d
+|Y=QWū~bU'ȿEb;
+kW)n|]=4aĀ~. D#/ t)-rQY{R~|F.^aR?.~%4F9->Җz4^Pdf)j;POM3+Z 'R׿JĒ sg࣭sh:\NLG5N *[ah :]';T6 L#F/"/T#6ڶ
Sȿ+&|># GN͵7ͱ H)T^Jny[ J@Bda5).R`79RJk&8j ~ {{,҈TG6vf-ժtBcl܌!=*4&/-5-.κרoێ_ZGݳ-O)}hkv^qf'}5p`#TZ{7J4=`w4k hDZGYVūz2E9ҙ
}co\lQWϦ /RԠ18VW1{Q綎앐0ﮞ_$Y|-c0>އc|vpc"d{vg&>OGexh{G!<⦅m1}I>{w}zsh-y<fO6O_y:gS3Y`߂?iѽrڌհ8L*!nzBJAdʑ v.d>-^5G*L)RDj_;oJfA^!xZ_1o]sXL@1SMIP|*o
Ԁb·WM*s9%:q 8Aگyze}'.QN
1?I\I+;INR I;I
$lT1>ƹ\ Hr[~FqrmhO`}/A{d5p{^7 Oz|چ
惴q>/ neg$TL#e,wR@clB)I0|T:j*elV׀?Ώ(piSN
-{jE%<mZqM96fEy}93`Q#F;{U{ׂ'N_Ź7}=y+URFbd"TP=˧O`(2L 1-@FH
-*Zx#-JڡcRoK}r{VwU0ue P Ln}a?iSnhc=B^r$V?[q0|u6RHVҞ T /98SX1[cC)W}}M0Vnٔґ*y񎬦i[\FRFjU'^גC[1iglMU!Kh,ơl*ŪXyn+ݯ^<5~e
-Gu@Ե];S߳5#>%
-B<NwT㢶P5m>?>?8&n䷴(0@~] <=Ɖ/َqj0d%ޛI}C.ohs<c+22Z,}[yfɵ#KoUY3 "eR.3L߈cvQ<uufzUnXhVց+\G71;ƛ.]h[Ax <
--lqK&7eF Z`j*ܹb
-qYP9'AqM$Jָic a
-j·AC6K[RJ,568R#CV tQI&N[6[K :N{9JI.Β61QRo%{Rr. s[Eb1csCk
-o !t.BsY'4AK[SZxj+md.$F#lEHmOGlgu6
-P7mPKk$yR#r m[a
-'fk ڜxmQbK`uG Y,lmLN]kaܳqI(WAuxH0JڸD 2
-
-ebhspJjUظowjt6P%\qNxH4LnMvCK4AHʣOc,!lmLH]ka*GF:MOtlm >;oma?,hdޣ6.$JL56x'Fg\$(Ds]Š?o(E'NS˒PkN?<{+o*I88r:
-nZ|ŀg?|
-äaLzt\ /ǠWvya
- įMx^9uR;_TdƦ]Vv3*u$̯)O*gB<ꐹY.]ZU: b}_DPTrIEw糡!Ə # ʁ#y[+!kwu-^R3e1l"s4 s%=z5ϩ1齪ƌWrTE)#~ G^קJc'܏]WٍWwW:(dӝu gZƎ+~%wr;]Meiri)Kveq X?/Bp԰0 #vT.5Q+[.)OWNXgRl{HEҼ$/4/-'
-ՊfjDeRx6a:e|.!ZS5Rt3oiw%[j5嘷{>w7P#eȥ-!7?p{\Jӱ-땋gϹ
-2+QgPdba wbD"_PnRD64Sa9N;;%r[9Zu9qzRU'tUWj7t<n`-qHqp?#
+{jE%<mZqM96fEy}93`Q#F;{U{ׂ'N_Ź7}=y+URFbd"TP=˧O`(2L 1-@FH
+HU+LHqfՒNoj[,dCm,}L?ȡ}?dB;@ٸLxRܪhVwfS~aSj<[:{}\ز v-*@?yazq"^Ǫض>b62>8QڡbE:F
+8뾉f?YH <h!i"l!}򊏾m""_a_+z-ˡ} ̈iZ",~ʜX>L T$>خҧyIfoU/=5-KQ!Z*iaHyބZDc)۽{2b핕ee(]ԁCI.pS0M]*aV !SI)Dx˹ M8Q(/$8A''T}Z4UzYm::g{7M$%,! pT
+A]kѵ3=Y32ha[0!OS-}'Ou>.jk~ UF1GcF~K[;(~P
++VB̝+ƙ ]5:`Ro5'z4oCǚҰ\ .D.xԋ2.J63)-E#`wcZKN#5i冎hN4q< tri`-B52:Je*~ltoւ\"G".+֐d1 '"L7-th`nB57b62XIc`nhtQvTTB#vP A Z:4yx =7JfX+~H`sV6Nó6$m2 A)KS0.J &K&"(gP.r6yۿikX7u@mG)Ř9[q䠍KBVt)fkJ੧:WtBi[q謠sDi6V0N
+ uC1
+4qF⨡k;!5"(gP&!qUpBoV)'%1 [)~$ܐԵ= AryTTP+ N4@` 0Y,F076.(J\56x'Fg\$(D+Ol9D<N4&ёƄԵ9 R+oddKS6f\
+=ƈI=JjBTxowBjt6P%\qNxI$?X S]a]^tq
+!0,
+s֫#3PFW x~P0LDد AK߬"| ze6࿼NtEZS+EEVmluae`7RZJObؿ} K,ϣѥEx] ֗řLT
+8JR:z扞z7@K]*:S3϶+2;
+J0<WߣG^ PޫZpjw%0I]Y1BpԻ)q}4vrص}Uxwl2L?Y`xeWrW*W˱dY&V9ͯrj̾tm7:YF1"kO [j0<mL%Rt儊u&.JGT+/K~H BLr8YYnƮF_M}MQ)gSƗ*:5^s)k*Ew <vW^^[jQ[ys 5rQ&\rKrCwZʥ4kв^x DIfʬIM^'}g\IjEfBf>I0PRݘHN(|WeV#g9Ƒ:"}X;rjKonX3+dwT)R:Ȯ%)WWWše`.C: ^=NYnܐ(ET/-TH> 厮TCA|V]A^j"Gv\صy ^1Ctc#D#Ϫkwa=S{DD1o<Sz=g RƷ b1CӒ=^UL^X7[}iLҋ`bA"0 2YE15OB*x=.,{lkg޵-D-l41R0t+gG3MOFb띁xm&3E).K69_n~"LC] [toC$/BujpǼBQݜJ־n葽bV6]]{>+q)O4yuאwn԰4)8FmF@ArD2F^lO֚&="yˋ| R~@!vn@IULp:츗ma8j]I]WU]꫍jߨ񸁽!!
endstream
endobj
631 0 obj
@@ -2363,28 +2389,27 @@ endobj
<< /D [ 631 0 R /XYZ 79.37 336.159 null ] >>
endobj
630 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F16 382 0 R /F19 379 0 R /F58 386 0 R /F67 389 0 R /F77 634 0 R /F57 385 0 R /F55 383 0 R /F25 375 0 R /F69 402 0 R /F32 423 0 R /F48 391 0 R /F59 393 0 R /F66 388 0 R /F54 374 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F16 382 0 R /F19 379 0 R /F58 386 0 R /F66 389 0 R /F77 634 0 R /F57 385 0 R /F55 383 0 R /F25 375 0 R /F68 402 0 R /F32 423 0 R /F48 391 0 R /F59 393 0 R /F65 388 0 R /F54 374 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
644 0 obj
-<< /Filter /FlateDecode /Length 4958 >>
-stream
-x]K[WhiWJlV,l\U^:LW?
-XUebP_4HVxac[ O
-җc"8t 1UPqi[s )nd) bN"Ar5' (Kn?68QF
-ctr"\tH*c
-α9 2wJTI^G O(UJE +i5Ach5MvM9|$⎍8s X!d=7ED4*#H) W@@~ʧA
- `,gB`q`;$tC? +0N}y1,S)1 o̩r xi*I~}
-B]}ҡ׺, ݶ6|< w]Fk/&`y{-5V-g[%97Xڪ|3 X? س"BM~
-7)wvfc
-<
-Vɖ3_-n06'Z%,4Ӭha3ZyT%a+=Vi դm7x ۪ O5:/ +\agD`reh9GAKD>d;+,@e?8)bҼ}t0#KS/Nʞ ԫx?niú-$VSW퀍Oo`p"jMzٺ$Vt淴/E0u =0Qϱ<iIz<K4o+kyw+
-Lm̯{f$ nw}fƆBL$1 >bBf{eo7b_bP㣓kk 롊Z@`޻rsCi'VQ
-y̬beM`1 {v3hV.C@tj& dj&pO\-cO`&$嵐r׵ʘ[u-rЫn Rqq{~<'~
-X`HJ˜5o$PNS2eM\3(
-\ϯ'I3+h"kha44b "SܬD>D2D2Hrx*D`V:¬kgm0xvZxwVr8-}ut^C~]Qp)EzާzjnoϤ1މ^n@Zi3)Zɪ")uq박.mI_s&*_kGɏxvQgrмlDJm;"\\˹2ޢF}G9M6;\9,d9
-uPۙ|*TU*w3I |SkmoƇocꇲ,So}=FNwҙDn+] +,NH)S[kuaK)9i_XjCMTMqR=nuTww=Q{"x9ߘ؆d?ޛT9F2}*KRnF0d_?I.TG׹>8FYUCKh⢋*LG$2b5y-E~t|fJL~nVH\ӂ/lǼ)tpp{D)
-L85W~?;UO\{m0lvar
-k<hwXrEz}+~"],ޭ4Dպ'?2sTM3woTgVP1DE<ԙ+
+<< /Filter /FlateDecode /Length 4956 >>
+stream
+x]K[WhiWJlV,l\U^:LW?
+\WJY_H΅wa^-QҀag#W4plV!je9B)j:S4\ގ'uqh+C|Q6dzPKO#IΌ!΍D?1ΞIG3 Ǖ f <)jORx-#5N^?]ZPb4N *\+ȥ?mOւh(F)=?Qyhm)@ ( ER6=%HQ͒wmesTIU/m[ <sj:R!6VWI]msqRLj:nq(Qo=rCm Zh2zQ@ K[ȍ,[z8kˌRܵ r͉r$ Hb!(܍$Ʊ8G@\Q`_}޿#^ Wtµm7Ռe,m[!sޣB鈮eǿsم.2F!newk?O?׷8uFGg~vmNyO1=AhV;M$hG4sM@$h$hi$wI>Aa?h}{E ۞]%kj
+F\0L=`9='sITNS*.8Ю8K+˂choR
+/JSr@n8osD"kxS vo6)ی{ҰRo/ANc0jx]RT#.
+ùCqi.tl["3+]h͇Yp'vͨNbȪYg5v~ 1= 2$ /"0Wn|VُY ,MY7T BIr0'VEuDN۹{8#jC ("dp N+ussh+i˹+?}Z#ܕ:W0N.lS`v&`ʯӎ̽$G&=&L9]eAy1ף暀-'L)~o%~n܄+wi%Y|7}[wxea}cx7MpUckI7VoHl!lѵy<aU6$y"e0=q:1QSh֢0ERA}/.HLˌ&)Q%y!10S?I<<V)1ո*SEՠ6ّ6, x;6]l `зB >5Ҩ@& $P|^KwU`*&+c4 5f3WD\cf ƉuTp3w̯x8=iĔwOk\{6p1ˁ٪*&a}Vg0dGZU39 NZ ,N@( uI^zD7tۂ?}6<uUQJeך0.sZ~4ȱtT-lAgZ~1gE D9kg#xwB(53ᇩaoϼ`~tY{xTC97;lLKGLx;GC3F
+DTҫܩTt*C;SٔgPȳX_osqFH8$,VV|5/|O?Ʀܶ$dD)EvWbHqJ%mAvSidw?Eע.9Mef8\F )Σ* _W[ 2TLS%6<"j̾4pŞjtɕ=,m[JUN8hI?
+:t~1ŒRoM:B\T
+ 1Wʃ
+K%o7mI 1Ia4~,DGrxÞܝ,JM헾L :[[^K/T|,N:T3Ms_N b|HNi Jt(DPqFrVӜD$YQM"4NHP9%{9Q$5r
+P D|@m "E !E搢scǓ`ⓢS`:":zbb@3!ALsK,
+X߼f"f&Ldшs
+MPu@#D=3ɾ~f}M$s -FFL4wAp*XRgH&H&I33/E
+VHn{c$fJk5\?n][|>-y񁸉W5Q#2{.^f.4/j++"ubjp{/Bn˹2ޢFc9ҏrڔTpᰐ=\ȿ*`A{ngq^0SUW2I |Sk<ۺ-e]}:5>
+#'HYw.sv_ )-z`K)9i_XjCMTMqR=nuT{VшDs~bsƒlxoRe쫆oWж?)ew>C䒟_:ל(jg2Gg⢋*LG}0}ITWa<bWV恶Aú22ؙ̔|v#_yS;V'QU~(맞0:3
+Uى06jޏh?zsޜ"}bqEp~ŨS]NiNS`>ތhE668
+Z5FhwXrEzTEzx%VjT\PαR?|?U=a;CT$OzM7î
endstream
endobj
643 0 obj
@@ -2415,81 +2440,78 @@ endobj
<< /D [ 643 0 R /XYZ 79.37 771.024 null ] >>
endobj
642 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F25 375 0 R /F16 382 0 R /F20 376 0 R /F18 377 0 R /F23 646 0 R /F17 380 0 R /F19 379 0 R /F22 404 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F25 375 0 R /F16 382 0 R /F20 376 0 R /F18 377 0 R /F23 646 0 R /F17 380 0 R /F19 379 0 R /F22 404 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
653 0 obj
-<< /Filter /FlateDecode /Length 16839 >>
-stream
-x}ˎ,7^_EF9$ ԭ[Uak*
-7{OzTwADQoPQWSp?M&@g*ϟ<!#\+OԙH孾딄4?ÍV%!ڄ*vC}ҙ? ovVE{ iIH# 1wGpxXu/w+dWߨ*>YkyB3G=6b{O5-_kZ}[Wd͍{kb&ȰHU6%!7X)-mBM1<UAA'fJmb0Q=q*ڗ{Vqx-\Ig~Zצ=}L|uԑoekB=X%:{ejk^導]ǩv|7: "(uj=^~Zٟߜz@`8ݫnQRwFS֣*u͟=!1݃Dւv)ջEgݩj9JǶ5e:h}߇iK%L;kZ7B^SL<)hb>'iڷrU`ca9BO=7?1;q4Q>*$'BN^zU$| +%qNM#RģT(CjM</\Yor3J|Dm^jQ\j=;
-'A5SI%]Dw[7vdٵ?ZGpyxXdU K_>^[{9)zݮ{۝-!8gq_,<0~%m%=˹$ec2Yj}8<Q 6v! y <|5{H5Ctٟ<
-gOtҭCl-2hubQR6eҧ':)S>a-Vܯ6p%&.v1. ('kטwA9l=/PU^j%RSZd
-gґLr~isPU}>L#Oh3-}}>7Lc旛bm]{8gďPM։ 59l@e5_WZcўySw*{%)xmrӝb N }r"bs5 'g 5onIAcf%kOcIqOd<cӆ#sYҺ;|ș:|xS|0%BF,"fxdO>i ~?T^]UH ( 9:o
-O=<}hm}_\c'SpZO&bה2i[c;7&~tm6kdp0 KN—{56yޤɳB~Y^s57{b|>vkxYo<=#yj/ϣ߽?ù7aTg}&Ta.Na__pEaM&}17ω8aŔu]|7ZuH}%XM(mb}(qM(orQSt F^L:q!!zj\vh.oѓÌ6?W"\!]sw\ROX%Vk}v"_ o8;<H"Pz@> /COF;P~~j|[NՏrNе~Rz;[;W3j
--?\CXfz5t;32_ _hljYOw !}Jo:R{0VPi.hY_ק?iԧiM.-|M)إk]ݞW:i"wҿ3530~\Rs>Tέk'xCz*E TOz0z+[Gon1 ~oG&0z{`G&6z4z#GTq>:J&u%FKڿ97tvxlx^&Wn~FO:Wʅ{ >?ot [roˆ9tבI,#u7 7`m.f磮K 3_[R8Y="uF[QHa
-5Shk{]]+** sw{ܻm`#9QA
-3zdHӨnS_ P-L=2Yt13_\4wQO4`lRGZQZ (f)d9@oc"Ig'q\rPg/BZ=lp5Yq ?5'Ȣhc+aNp9<AJb
-)uQ݅yAZ[iĄVvWJ0FVe;F2T=GixtCᤁ6'y <wX܊RU 35qzѫB3E1VC+q)[UؘˍI&R"ǎA?~XJP%8H@ 쨯/3CFB|qmE
-tP)9]48x)"IOhME[Wxsߨ3Dؑ aW;yͰrŝByR xqԉ gtjUQ<\ipG]dzZ[9"zqѧ})
-whhjbB
-8M1IwJWrhίPo3BIu8f<oyq\< *)PLa9С:=5Wok>IriED?w)l^3 z(pQ*d(IqdfD<DshUEn+J 9Qsa(v(SPi'lG!=2˪;yrwQS\n# *9qw+#FpB1&ʴ҅w UHϛ1R]B&2=OT"=٤F+ixD
- C≨8P ̌xJ^k94yꠤyT/,HV9S%"=>R3S.x@ |QO%6A
-F#PIMwgSt
-P"u>c#DsO9t? 
-4$62. Ϸ&Ͼ3
-]X+.,N#ݑ!=L^-v˒QZ`zDH]H){;ZƢp,y<Arq.3
-l,1q1g2lBF utG2Y\IXP`sלg ,uͬLsMGzbAVSq)[9N0ؘo 9 SG)PDki $oMkYcu4~)%4gGK;FM<t-~+,wh¼d)Sgv
- lx<(,P-.]K]28Ȥ1Tɘ;eŢ2M
-U*1 zjDICT Ċ{VvMp$x4p Σ;@E3Z"hJܝ:@Ƅ:b1:T";`}ғUBiK< 1mT.J [f`xBrz
-zjr,ܔ<] @ Gk-wGDIm|aRGȘV(1<F'[ <40jl"@ Gk-
-М0p1w'2ÁL3xr^
-(0ؘ3qHBùR[| -!ї\Whf#WPH%ĭPTCaa΄-6.&e.x5cч6.mL[_VL
-O)ܹWm^x9D~&֯U4ZE;~OOo)jTQiS?
-KäM,G[>]:>)*dY4z3ϟ&cuy(eDl,J(W(kr-RYbNx Β0h ZM50--.\&׷9ATuS>cpn16gP]iϬ䐰x
-YJ[|S)wA%H-w75p
-#u<ir^!.-TKPh; 4ؒCshIb:LY2+-9,4KiT
- uk7r-RIbYM-18,|in \Z
- 1,&eu{ܞo:U
-j槮Fri! Y=m:ܧ I`325 Tg/j`6+@4SlduHS?-sD K ikq6&DDNdO<aN( n lP0Mč&xRIfIp.?MJN@'Qɠկ_03l&hA8)s=D,f'qIh
-}tg(z-RQcV+_E*0D6L;/htFC.wQWהqrt[1!)Ur}%\R\Vn3w".b!'7 xzهaS~cXsG$:j+6`JUFryp}.tn3j剻@;؇o9Ù&}_ڡpͼIH@/V蹸Rh**|a:;V@r,x<3VJ\ gORsX:^pO<$CM<C] sa@`XÏCa}^6A)pQ'"rBAx W@Ri}KO< NSa`5tb#Hy+Дy
-]K''MQyo[_git@ j;>%=cMAp㹙F% nZ>̡!=~Jo;FZA q,vx+|KmX@Ro1,V1* xx OoG~BBrKRRG jX
-A\v|\:!}UKm<33`v @ +5Nhs_"gЈgx60sjǑ͠Q\;P>⬟e9r͐{| v*qA?p gC!g97xCymS f'݌EFqf(u\)(o7zHYߕt
-&Ic1VhE8r܍=)Jܼ3X
-փ%8.uE哇}-awkXL.a;o 9 u]Oȩ r2HwZ?10<B{)6bi# p X/\(=m[tq[f3N0U>rgB)z\M:R(ITk<Xu vl˛E)gmqh(Z(1'' V`q1\㉶@χ,|y7.NϖcH
-h!Ư;F:(-830RDn3
-jЀ|g_AM<J_S鍙&Fn2wmjʃ6nSu?`G\rZZ^JLJ.r㮃$j?eWt9̡tp
-@<'>Ss1-|H e7ߌ\!* py"
-!8)vv1Rϒ+9=ic3>,Q`2)ֶ~>%xh RltGBXJ6A)PT;m
-PG䓖|G:1}v{'0"hWfyf#
-'*U''0#,|0(ͶkG;U
-OFT/hE( rd7]B 1VZ^XZw̒fZcָ<:ZJ\XJ@bCXX|ו;a3Qx<y6]u He13e.<qex>t?qY>-yefZxcu00S'3(-P%M *BlaAKK[j ?[\]0P`e.(q.a!wښ%
+<< /Filter /FlateDecode /Length 16844 >>
+stream
+x}ˎ$9==6I Q،̞SƜbQOJRU4wfQ 5ISfqqcOk_~_w)ʥz]~ǑqQbv b9x %O>ҟ/ƿ>Jin|2ͥKs|⾒Ğݏq|2ΗϣolyLT: Ssܯ:LVkH={0*8b
+>QIeG)?BEE?tZoM=8m_&ž: 9V,JQ~ԮGJ'^'/o_$!
+_c̻'m@t$yp=-p|{~>!pnZ\~8ߺ'kn^[ˀ''w tYeaSz["?+R ?])r9*h?#,ZM &޽6N墿CzK"Q<n+lݡ:ߠs][/UӺ*_y`Y؅yjWS1O
+Iҽsbzn~bϷ;q4Q>*$'BN^U$| ׿&qNM#RģTo(Cj펆M<ͯ\Yor3J|Dm^jQ\j=;
+'A5SI%]Dw[7vdٵ_#Q<<,Y*W
+/RM=՜ulc^vgK2YWK.O-=:L_~(D[Itr.Io;% p!5AvD ]sȻƿE@Ch'?>vMV8i7]s'/3
+ SMpwmԵ;X
+MvLE`=]솪6<_Q*e%TV=ƿڧown5==ekAs՗Y/>;_9H* [i~}+1qywa@O>YsƼwʡdOq9R_V+"%{'V8<dj/MvS&OiFeQ~@x>i3Q?=e3?k{Ŏ9#~ڧm W<oNod-rm4ۈțʽSɏWfnޫ'}PM-IOlS䔣W[pzoՕpi89Ha~sK[5+\{0-wMnn'sec6!˺݈Dԩ7wYw-i2B`ye!7#{LYWc7OOxygz:F0]hG wgEYv~Ιys^xf~2si?/szYgiޘn&۔ d2#~/Vý(<X,pw}qmLikg>L)epsoL<lFMd p0ߥ&>+/jl<٭N+Igz|dk2nwj|޳vkxYo<=#yj/ݽ?ùxwaTG}&Wa.Na\pEaM&}17ω}mF-m1z]&wA$ RA1ǁ?-VJaz5JFcʛ\|hrhЄno/?x˧\H^tBOq]Fvwy@$}f֔Q-o\uk|{|/bݕ*(Zw$i
+:FM|G#M]|0ZA)4] 5=.\s h ;=sSFR6׌W ZA 2
+]iTek,/v(7'Fw06ģt-XYA] 2J\w H7N`C$rոIR| XA3Q~Ld`6[,pK ďpە0?.zO?
+-z25wrI<@o7NdQ͔ڨѠP4 Qb+\+%@2jhBU~Σ4<:ߡ\Vqp@wߓ<pܻrFrPs,Unt*q@U!~آ-*bjl$M m)Acǿlhu y͟NP?i,vĒAkI vחՙ!yW긶"zP)9]48x)"IOhMEKWxsߨ3Dؑ aW;yͰrŝByR xqԉ gtjUQ<\ipG]dzZ[9"zqѧ})
+whhjbB
+R|M}} '\.(ãthg,kDE.ꃚZ % 6B1O;7gGչ>vu[RCN\JGT}TZ 1[QfH ?ƲN!)w^h\s,W  ;#8U!_eZ» HQ*.^!So'GUl@Xej< "̡wDxo(ǑxJ^k94yꠤyT/,HV9S%O{ԙYf <  ʨ'iDF#PIMwgSt
+P"u>c#DsO9t? 
+KޠYK .!?;ZZ4n䧻.l\f3@3m'kM
+<SHdEF7dj1w*W_@&J)c-lR0g'Rq hS#JB!Vܳmڄ+%Aţ!cp(jtԝrq4@3TW2&Cɇycە|H]9pfirQWJ؊De,63TDU4}TS;caLHL<74ڜm
+TCcc%_DN Jm,hR{kG_r]qgX^AY" hԗBQ!  ;ڸM֖OF޺v֌EJ"Pu3mY]f2
+o2뛁XJ_ ƟB`'A(oԏ!yZ_'Nݜf 2
+$rq%8kxzV]Q6<cra\GLoFzԍ
+t}'|9&_B)6q FCc0Qgh׾+k>h&=[)UЈ3^I坍\OoY/Q)Hߎx4f"P
+C6OYl6S3=xu)HFhZqGoT{VP;`+E**k!-]Up0w''yn {iDCi"oT¨~G)l$\_p'NKhd1FDm/3. bҘ6wW^評 ,kVlh5\I{O;U;n WM*35̥aR&C.iHRZLg,U=_鱺<W2SS\"6Jk%B+j[a^c],Y;w^C<gIMk-@a.^ۜ[o1 eq{Cr(}W*i3+%9$,;AIXF||4o'K]&’KK"%ߴ@S%.OE0t|K5BXCH MEt [h.g*iE[i!NO+D%9-4Ki|TyK,DtfВH+{7-TǝY,i jF%TJ`(Ao*j 4R]M p14$m!Kё'jɚH37 G~\M@%ATOFjK-H$OfWGxK#o*!0 7 ZiE/N.D$=A`K-K"o30UbKp}$J_M t1U;XwTY*%9,4KiT
+Y:OQR3}xZܠ a3"5OJ`4,L7q yFymܢ`=g$'If2h x$NJ\O"Q#}loq\
+zԱx=:B7;EݢW)ܢ-#>%%e OUr]MLJ^uy)oP艀4`Չ=!Vm1KO| x]bhgw7yt10o 3 NOrݘjlQNʥ4Z,'ŝԕY^kȮ/:@%❥ K5lH`2VD7p&~٧5 mJ-B6ޥbTTGشl
+ <S?k: ]9 r+rǾ5e(VGLpH|
+*x"jFV )O-,WOOJ}FV"e 6q./ª%c4C4ҟWy>Ífj7&o:zf SBL4
+Zhg[^jbbG|`V*Qx7tcN(e}z;{<J<U7+]B=EWWRx ʵӗy ZDf#:3
+j*
+ۍRpw%jI3tX<nU!Z~=?NGE,(w<}AG_87 ` ξgi'GzrDa{ sg`l[tBN o]rj‡(=$OL Oƻ{X#<`\ 'JOGz܇wV`o3'*p3WHBqi.ʦy L)Xd*[5M:g;6MǢZ384h-gwܓ+Xq1\㉶@χ,|y7.NϖcH
+4@}Di(gj(ڣOe^b7ccM
+<ѭ!>;Fr@%[/i)u"o3 sS@ UpBCU̍oP[P*$qjg HszcHylP0W;UUx48R j 8WJo61uL&&syܦ<8o6u(]|N%'tb: -.7:HZJ[Xl.3\Ƹ({ENJ s35<!i@Z zxL.
+'*U'0#,|0(ͶkG;U
+OFT/hE( rd7]B 1
0R@_
-_u0RseR Y\-O`EX>x1OXm]H(TT
-1uiXVb: 3wZJz>a+Q9?Ňg<1velVkN#*x:hM)D'/KGEPv~T,pKvPuI
-GOôPv,.~K$ mL U7@E3Zćv:[04()/'E$S*|ΤUcK uLax`+Eȴ1T;l6* sw;A2 $Ky
-Oc[Dwl}rc|-R(jtԝbq4<$ۉcTL\ A36lVi䖁!%-c3@LRV$
-c20o'r2
-H]c)C,8ȳa#-s<ugE  ' sw+
-nI ٵqVg
-8fE 씂9;qiiVr$GtjL{ =^Jr eSFAbXth89Y9!
-ts
-ϟ.Huuv)̲:SQ;c.hf4݉dL?T1:jYys/<,J#YuŰ[LB&)k+
-᪗B%`!k.xIp:!`窫]BdD/FA|
-/'<Kq1<+|GsSG1%JcR}Y'x
-F *\% .OzC.Z5W~)6- ܪᢩZ|"WoUj86^ͻq_[Q7Á51,E7 L<{WOP!G[U#OdW
-x3n<^
-TCccUMRs!&M,aG@&TV8ʤQݤ6
-G,L546L|_i_%ѥ'k@_Wt}Me]"fJ
-w&/o̥Ǩ]7d|5+G@&TV8ʤQR1o'6+ O`}nemXVT%b0iMךKֵqCac}r|O?un{.x/}{_d Xg_s
-jUY!,2IuU~ _HL[my*CD?[G4ʎwJ'hΜGD͎w͙!y
-F<T' gM_I<&] ihh~$t9/U7gFV+m;C;%v" x4J9wqnk`l~AE;!sihǻFMY̜ H|OosJdN|NK/ubqS}2 D0DFcɄue1-o<ySHʝ*y]sR'2ggt`ĦUVAQxwyWJt߇bP(}/]Z}mRЎE7g2uǚ#^?(O9'>B3a$v6-{#xO~QԄWqg޲H'aj`xV_ RPtVZ=(Ȝ0W;Gw>;[yxzD'.L.WIvz=2>2rLC
-*ܗuX<Q׏|,i)8itv hNrAzd:/Ue<FӨ0bF3>3f֧S;Hf4}Cb  yqR2;/Ű2O|c) qYb*[4Dw*8 \A=7!@y5srnިGVD Nt"*
+_u0RseR Y\-`EX>x1OXm]H(TT
+1uiXVb: 3wZJz>a+Q9?Ňg<1velVkN#*x:hM)D'/KGEPv~T,pKvPuI
+GOôPv,.~K$ mL U7@E3Zćv:[04()/'E$S*|ΤUcK uLax`+Eȴ1T;l6* sw;A2 $K
+Oc[Dwl}rc|-R(jtԝbq4<$ۉcTL\ A36lVi䖁!%-c3@LRV$
+c20o'r2
+H]c)C,qgt GZ&y5>Xk< NW2&D_
+OyXScW}V?[ySQȨ;.H|jىL@p}t}G U ƱW 5L!djtԝqrQ  ' sw+gy:|
+G2 g(%fjƩ[)(jlěQBi48S
+U1"A[ʑ ё1YN7x) 5E@LRV(Jcѡ`Nd``*Н:ϭ"*l<Z,>"mIh0jXlN!PGQȣ0w'"1!|P)eY" +go.3i<*s\DIܝNy  x6;F 3n=2_M$͛BFFe-wF3;`v" 0JYGe_8U@JRGX'Ly/
+Q%P9v eyy-K)?
+/axǡ
+f Uh{ͭNȂ{
+:W+sKEffiY
+x~"Ky+@ܚ"k
+\%PՀxI2z-L"DުZ~/JVD 7VP6Ms^/5vϲt*& (,Kfd+;("@  EMY}
+`Rw&goXhɊ1җeM)YFSYFR3sXᨔ U]}
+z8 ޫ
+wf/ozzXH6rUM&Y_M0`cf.U
+ `  ;ߗ>
+)Pq ~AxA~ۜ2
+0PO߷SW=oŊm;cC'
+6baN|E BGü3S
+F<T' gM_I<&] ihh~$t9/U7gFV+ۈwvBKDEh
+Usܬo+}wj9C"ЎwKBT9x? *Ȝѡo;W5&o_6dA`a(;Z b[ynt;U4 ƻ<悥NdtLMW'6˭M\N.%AءP^>)O,unly/&"e&Ə5QG̙Q sN|ąfH<mN[^}?FpsXjأ̩ pϼeaIOԚ,+Ay""z(Q9=C3a$v"9||Aw
+<N]\ I{d|Poe&)̇
+Nzˍsg'!*q1Ymt8@bFz/F2Q.h<o
+*xFgAܝ::k,eSUE>4}:;4'CƠaj}S2J*Z2yiTXF3>3f֧S;Hf4}Cb  yqR2;/Ű2O|c) qYb*[4Dw*8 \A=7!@y5srnިGVD Nt"*
hNKft㙹L )$rW#=3X` Huq
-<h}c]zHG?LMi5g7tL_%P3EB]BZ
-H٧y|^c`~h98bP D9ր
-<=xr~A4q% C@M3=b^ZPbɦ# j_1_ifj|剹 DDqEܞz+aDğ›/?r#?T㛟 c9Ig~~!qV:aXqXF%R0%W 6G.HRw{>䒔&>2WO篔Yv(йz}N Òt&+yNt|^T􂮙es2TQ>n_p슬"Z79,mvEh?M|FJU}q!"mG|1-E.~~$YtȼY<VyS+.-u9 @eʨi$OGk#Fd'N˵?#2Zӿ?
-"OrFG/ PB_.>^+<c $skiwy]kuHQIz865
-{2yS*Yo}om"יT|]:~]:]1C`= ~ye7.Q|YdzZ2OS [o}h,%7AW}>[-:j v }mTz;^}>.wY[<ןO,ujyzڊBk0%z1MF6w' &iF_w|>i|<ja|xK
+<h}c]zHG?LMi5g7tL_{Kf噻h@>O;; [7]>vXspŠj] s2N4bxK+Z"4S#b.ϜE$$dj]d'TT9S)? ?A4}a4)KzjA&6O4 }
+l|uq1'z&Ip'Ϗ_?9qEܞzO0*0 Y/(݅7O)^~Ǒ_o?˩ 7?r虓'.J^u CðeXFh)ꃆ\G&}B
+·\D]z?f̕#Sr|"s7
+t^u7SBq{$?m_?#`ճ`^5l?z*="^kZn]UD˲2E2W ۮhǩw<[H鶊3>.=X֔}{ѯ֯r7w#"?owre~.~HV]~L5IhxĈ,DӫrWܩW^{DKw>c
+eb|맿>^+<c $
+o8$Ŵw'7Eܸ~ݍ&}WqAz-|(w@~{|jl ?Y
endstream
endobj
652 0 obj
@@ -2523,32 +2545,29 @@ endobj
<< /D [ 652 0 R /XYZ 79.37 161.114 null ] >>
endobj
651 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F57 385 0 R /F58 386 0 R /F55 383 0 R /F19 379 0 R /F25 375 0 R /F16 382 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F56 384 0 R /F57 385 0 R /F58 386 0 R /F55 383 0 R /F19 379 0 R /F25 375 0 R /F16 382 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
660 0 obj
-<< /Filter /FlateDecode /Length 5685 >>
-stream
-x=ˮ$m^,Z r 8Afx_?&>ԛRT=]EQ"EREI=v/_?=uDq2ϧ|]^~ץ|fTnLMT𗳠 ~)I z-A[}P .
-8~R%>>R+ꆧ|9ssHl. tmNAXm+J5t#[y\%(<=I:$“bW7GŔ&RR82,]!PbQne8q8}(z>5"Q}_}'pD!1M~ "#; 6g &m 6$I۸Wa[4"YEOM<]X:kFGv7R+"XڶKBb(z`LC"kPEC F"Nߒ4q+J
-FN I$CXՖQW0T׺AZ
-oGKl`aQ會vD
-֍(NxȀ=&Q2SiOjWWx18f 4]/+@3d</ksMC]`a C\ -ޔgęE˒mp?/j5s
-:e㜜zqg|ј@n_q zn7<@I'${:OjQ,?#:[9yS(5撶laQ BgpxXKuS8t+AIշq(
-s R|+S]/y~r*LLg92-N뱛*˵p;k_vT׷muԧ'o}_G;KbXwqqgoO]Y
-T64:by~v7&C)P&&B [4?k g0a[y]wޡF2?|rbk/N?
-D`ߧ9}rLldb'T3fϧ 6%T GLxdie-4e4 ]
-\ujDz B M93$5%dpy+#cyo6]P\{~ʠy-%O W}t!oZ4VVH`MהXnM^N.
-kW(;!-}JnEj2w3u ǂ墝-CXd;~+g yrd4o %w)b_JhJCU, ~G 8DDIY'G2M%F.:/t}9vM3HuD{ͻxn((s5$L9|iܛ!aCܻ/h>e3`jP@I$]%үL2y@apt)#JqCfG 1{- 2 O2~ PK@d@.3_ @< ^V9@4հN56FAD3܃T0=!a,~{&3RHٻJgùLgs(;} `j_5<C?ťv'I~. .{f@q) fu)3{f"`ɀUsu`ث|V2܂Agid钾utdL
-L."~߫):I6~q>Bw,} =ײ}F4[
-Qf&R_QdQ)1ĩ`*e|.w֢:Q8ew0
-$R>NH V@<6!@] 6ZMEdǹ/E88/UsL /yyY\,g/#;Df33<+¯۲m-YC&%Tf]pu:RVB/Ӯ{8ֱuҮ4[q쟸W#"t^?oN˧kZ/3>N@z,o&We<:AzV6(ڔ E((RQp++ߔL-Î$ZbyJ icŒSFPiޝ,~}Me_?h/^u.zުsnjm{l^-G]9;5]Y5]M,$ kuFp v _h'^{VK61Hݡ%qX⿬(;yDE"dzTdVeH \ `
-sIB:RaPP
-B)z㯏NmdD8c(אY|*RɻG
-s8qFCzhsJGcI\먁2z%‚k 6 ޴542<+[nY%(M#$\,zp.$8q܃{.U7]cvEk'3R6@CަI붒ׯQTN5[H[3!IcE;O5m[1 ]2ʨ茻-_w&AۻU3xJ3߼V~T pIױim5Ɏh
-g}my
-}Eʍd$
-IsRXD[{c
-qרSK 67UR C'jxO+e/52ϋSq̊: 4UjSB%['z؍Ӓw?>!~̯99]Dy4vG;v%~M_a qnQĭ'[~v+BP[y[F1I"s6e&+~c`ێp}ù:3`A\
+<< /Filter /FlateDecode /Length 5822 >>
+stream
+x=ˎ$9n<h49pv`z~~I=)"B3.,5]IQERI }x#|_ 8H)/~>sam͔cLW8c' ~D0
+ă-~HƧw/O-%ñ|AW G8Bc{r^U[uTBኮVR3WRdjHS^_<1fQ=hZّg#Ve-V~_V,}YoV=۟׋j+55!"NAH19fw`ϏArw$mEH$bSrWimAFH&W
+9yjvzh+9)&NsElm-i~$n.V^
+hwjƧly@G0Z&R+_P@pcu
+p*w"<AV*{COtV}U"L2p[T(͘}cJ()أ,2pke08ƋE*=:-t7lv]S{h1df7xMwa9Qs&E鈠D/qCNcVAWDf uTp-pq X|F;Ћ5UA6kXdߔcj~iw1pҐNm+4lEeW@$,!ޒSQ3=~?ɂ+:FL{Y]6ǥnhem٣c@3Ėͨ:(9@XKao~$8 (fx&2b^j4;ν
+K=f#t[g_A@Ƅ-cPi"H .R1iD83.o3C?eQ\ gB.s8b9/[h=IVt<eS*hd7ي!0) & ;1ۀI[4 3 q);"Xzqf3Qr-}Se(F{#MIֹ7W"<!buhU
+Vjt_:g:fne³g F0zL.
+6Z/kZ5~$FX/Ū^2vk?27$ NcP^V()4Kgps%1ZZ+By[#I0' v=04_񫱽f5)mߙU=]og4&US=D稢gn;Zo4Sv?S?K"(gvj&6ѩE #쩙*wl[s{_9Z47_8g|y:Ѽ Y}Mv>n
+4%J9poc t~qhI eFѰʗhϴ4[QC2DRߪ{#L,;nqӇ/
+|%p2?]"օsUL.hW '5%=<g7IBGaHf ' AKIyH
+ؐmS%7{=5Oq޿m_;CË<ճ:X}tFZ
+I݁M* 4"cCYEʙuʓ+/\W]Y<CZ#cˑ*|yv |r O:wfd
+/}Z-ok8+cf=fSotnʁcy ׽^P[&cjo23`(d\N(__.Gkm=R |lAd:…|\Nm1H\s$`gw1jDL?-/":tk[I-1Ky+ui]QbbPp~chOI
+Uۄ7 lvn}f] (r32ӂ`[#;tZ ]xKr~V)Y+i 4ELZsY
+8%XJF΅E`-0[0QWh(C\đ/V7dWwOO2bFSG8yk
+Gؼà惶XAisPGh~\1_hD.Q!lp27*pVϠy<S6pk:~7͢1P[ z^CFDzӎ2e+E/2+zaPKFk
+¬R{e"k.W+Sɵ+86dTSFVEK{Z`kUѯmzp% fx`iFMG20ki_ =岺CImM}Y?6Z*u,9?Q RK<8amR/5؄{FՅ~&^?> C5>Š~ؽݷuŴbll 5FiW:oyfkd9Ɵ<^H۽e-^ +wBEiT7wgiH*j'a9`
+Nrk+ ^|Q^qBȪwp./qы.5/B}=o!
endstream
endobj
659 0 obj
@@ -2558,39 +2577,42 @@ endobj
[ 656 0 R 657 0 R ]
endobj
656 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.656 487.577 392.611 499.532 ]/A << /S /GoTo /D (section.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.656 502.863 392.611 514.818 ]/A << /S /GoTo /D (section.11) >> >>
endobj
657 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.423 487.577 421.378 499.532 ]/A << /S /GoTo /D (section.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.423 502.863 421.378 514.818 ]/A << /S /GoTo /D (section.11) >> >>
endobj
661 0 obj
<< /D [ 659 0 R /XYZ 78.37 808.885 null ] >>
endobj
658 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F19 379 0 R /F65 387 0 R /F58 386 0 R /F57 385 0 R /F16 382 0 R /F25 375 0 R /F20 376 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F19 379 0 R /F64 387 0 R /F58 386 0 R /F57 385 0 R /F16 382 0 R /F25 375 0 R /F20 376 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
668 0 obj
-<< /Filter /FlateDecode /Length 4642 >>
-stream
-x=M$+zo6-}Ky~A8=l{ٿ%JRu]EQEYߗ򻗥{\_<Fu7 8Ϥk8[ |o m姂/ k/V[fK!%V]&/ZHmFDE.ˢ||ޖE_# Dqce<`~~f^{Ja÷7!\ 2#zG7p+`9c4c~qzgyRiW >4RM!]-8kƎ—JFJr ]/j+~<RDQ)yGxWA|W⭌TxWl#<Q
-+6J)V땛[S\gq |C0~}mP"uF $+,@?DeU?"]H
-.C3VS,vb#[MjSB?f@y>,kxږ$s:}u[l;9vx[m2Cd7L"O16=3ڢ @ՓD'9.8m`3gl~Tٌɡ@3p@KNDiʸHpFNsTiUu5dhpunk) a01\'Lw)'{@\$2 m 
-ZZVWiNF2#USzcXo6K)hT[&4ZxQ킣W`hTm7r "EJnw݈rx?H}X{'Va*Uf~k%E`BՇWn1HM-w7&,fk)yQ4
-H6ஔ8Goڻ!'x'\]kk3mL?`5
->98՝A
- wЪJI":@v)?Dr>Ff[Ĭw&V,|6)xHx}Ꚉ8l_WZƸ}pt{f>ʦȗmO-,L  .9IZYe`,[42Q?G?η-;_ACuu#zd\;_Dtm8K[<^f4?LHa0W/8moB\5?̿ǿ@(_ri{}n<2E;89nt]"4{靾埗OAO^|ajӣ$$3
-};v<As~K>*)2uj+3211o%FwB'AQoȚ'
-N&>vKX?^$LOSSCXT2oķB[TU`z_U3%ܿ ّI=ΤдF>YZ1XinuY=гrZ2fULϪ}B+fI~KKQVcW;B
->+>,,C_:
-m_BR^+g
-3RyM 7v^sh^?5#RܩbR!+%O X.yO.W㘓i#',)ֱZA%.PskIz}uy-C[4%aOiʄs4>-%h*% ,>5
-%DcUfWLni%ݣD{s)c. ngvL.̪.-|RWae|D9*wr
--Zکh m#=Tg{ݬ0wzQ[8P gxrSn٨FvB# V˜dg3VsÎ,*tZ`پ,gKZ%ꬵ^31Vl-M/* h6U@S]ِ{uk\/
-"Ȳaӝ۴]Qv>=Prz==*Yi}}eve5
-hrknm">s,l:`׮FV:s0B6>A3m1*D-jGڱB}s9T(tYu{֧wڛ+̊;=b+$V%<v骧"c%s.8vg}a%7rv/շgޗPdTnOj~SCh6U- Rg}ᜡ[*[bҨ$/Q ݉*HOu Wi 1WUSpԦbpNkUQRa
-Wf%
-˵gʠZ@Um|RAwcҵńNj'CR>j2p1ϚLmwMek<4J]!\lGޣﴝP{w|1_S2TYMe蕦ơ̓4VI#ܯ5E5fN,(a{ޘ
-B-#%*|LYbU%`5>UQsQAPZ3WoH*pB!Q[7 *x:Gt(% gHx?3AM8cӝX
+<< /Filter /FlateDecode /Length 4826 >>
+stream
+xˎ_1,h5;!Q
+O+&Ɋ~j/ V bH:+)L{jݙ6qm#=[5T XKɃK6j)Yp%DvI 'hXXtI3&Nfx `~b6dĜTy4
+u ,qXXsDmesxV]/a/1O![,Y=-|v}%θA"n: EsI,[X~0kiwCūC+#0TrV9
+xE,L6 -&V ^ZTn6\$$eʼ o3KiZmZkljѢ~w%B~wklA6<v5j` ZnW:p'Gv~
+G $`4lܙXXs`762 8/l]6>[JtKg
+ÿNOu%OgF1;J(„>U ̲\KOOS,鬩
+R$= vg8͡cMۜLsLN;aͭVmgbbɢsŭ,D[,Ý7L%&Ʃcsb 
+e) ZWx`DKErb`1M @=r
+8^>~
+5Q쟩-Z"\}A$0QUe(7 A#_F;G[nT1Cc\օcYi8};# ,86!5[
+QY:ͺͥ!s)]{J%#RKQOqvC;~AK*NvIbv!Rgupqix~+h-Ij187B#~I92xtzJRO!=1!I=P?<jݑ$
+1Amm$YjaJ8Kpw6"yxe2 8, 9~el`V n4i6\EhqV~mU6G[JUN]g?h̐o-iڱV*m}bt%xZ+ڊh 8+{awkΗxuJT5ݟ
+Ʒ ZG6zVa2
+ nsVi,7U[oއڪl8Z.]/0wzAv#J.obC`vMns6눾=bnD;CᲘs=6i37є
+v[K%Ͷ\i?cŶh.|Pa֪vXt0znKT-@P4v렳ӆE3YզeHIUj"N52bͯWLx^eNl. * UM59JkziE;Lqyhn;'qS0i%`1^*nݳ q} CFrDR;&R24J u/>n^\ZF ɞ{XŅ\ڃ3EXꗶ#/W} GPNoXJA[gPåmm@FL5oqyvvn 6jzy! 3U6o*߹ hgSXcOgY$ѕi{,-͉W *jcِQЉK ܺmY*;ܾpM/5g^Y=׳kiv419n<Hh[K['~ԘXda 7P,rͲf3 (kkX弖gs}/c,y:3_Cq\R2>yn*ا\
+v&-rTBʙ3gC?["Y^SĹm퉝Tslч4 'ncB_`)u T2o gL|U ?\u~KlCaKˎд+/2$
+'k`IZh jR`J8Nf+^%&IpevY2+羸\Y}k{ O*(2b
+&c<mgM&A&֛-N% #aQX:5adӋ;A/45cJ"~$cg7[8]@ɚPDn'j, ?-?Z2ױ⡝A<o#+[n㮺7|A( 3BLD?Th`
+u̠osܕ4%rPC8XMFEY$UeЗ+J j_jJS[ csm.n|Qܔ VHluPڤa_ff#:GTxDT,}vAP@t#~[Tz^ !!e# [/Ɣ#;ʛ?1mԅ/Ы1nB_JS͇N#GɕHв9Pp/z wj:86C;Jo0#ԁt6ԠC4PYNlmdQ s
+ZTwWWP*!ȧNCqrPvkr `dwmiBW dx0l~p^/7%i
+oo#VQ=+^~dZ2.C$}
+B9!U=,$br/lWEM_?fwiT bv*X"v%cN0^a+a; kev/m
endstream
endobj
667 0 obj
@@ -2600,50 +2622,34 @@ endobj
[ 663 0 R 664 0 R 665 0 R ]
endobj
663 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.269 316.805 414.224 327.754 ]/A << /S /GoTo /D (subsection.15.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.269 349.38 414.224 360.329 ]/A << /S /GoTo /D (subsection.15.4) >> >>
endobj
664 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.2 245.074 197.906 255.913 ]/A << /S /GoTo /D (subsection.18.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.2 279.028 197.906 289.868 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
665 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 210.857 245.074 222.812 255.913 ]/A << /S /GoTo /D (subsection.18.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 210.857 279.028 222.812 289.868 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
669 0 obj
<< /D [ 667 0 R /XYZ 78.37 808.885 null ] >>
endobj
666 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F17 380 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F17 380 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
674 0 obj
-<< /Filter /FlateDecode /Length 4958 >>
-stream
-xˎ$>_Ge`{s|rb#7} ǿgTX7CN)()zDO(tU#Ns-O~c=qDьPN>]*k?S*Vo
-D i :x"rWzFfqqiZUYɷեZt+eW1Nc
-HXoi2kdBᇹ^
-+e)),NTLet
-g),WK8%)sR2π 'QV)4OdkScjMI$s3ɓ
-^
-%Zl.PۆI8A7L-]?|>J5GrZ4(Q<{go:{kjۮcNЦnmm %`tbǸ
-a'e ~|c "2Ca c.5>i[d۰+bXYy·WץkN"
-QX'MDMK0ibUv*DaU[k&1XAUPmZpSnn"miONh<f`
-D_.t!.G}/yr<u`B^=yF%OW.ت+Z荚kem܈ƈpzmE(Oh7|}bh<9tݵ7?KYDh̒{`WWWVk7[ܣ*@ũP*J
-(]T
-jyUmNlnkwM50֫~3eБ%ַy=
-C=W,duU <eFQ@~҄JzxZ_KX(CaiA,e/%F iVKk e(,ň6wɜ%5hr}RRN?|N~x*ttDh7Iq☁?;Rϧ)2r-PvVv FܝW!0ͥhެI(DSq!k8['MP`b[
-6DÞj[ <AaB XnS ]n[,9T @.__n|v!r+oxM /)зP-
-
-xfWrMY dPfoPOr3 u 84,s5׈:Gwڠޗj^4ܴFCkYi\WlО0hgF#ȎJ'|YWd3 َ+t9йP
--qХVlWZA?+
-"m#N*Y9%7.䀹]b
-!w5laӁ E/! !e0"c KК=#A]0hS9JتB[)BD9;kr 93pD\%/ωKɈеtS\z LRL +xw(f>O Ok~C<5@z^hXDU 8o=J_7/M3h fKm[a Q e6a(`qh7ŲY^"̳1^pXwZ蚜M,F鋺N= eATU&-㜲O[4YѡO/}y;K )=Ui{jK+y9urhe6P#! ,*<S>S
-QQV{2ٹVu~"[T)h{7g^ V–ιͤ1t6Y$AG[d>B֥bK;Vx RR&&G\:aP;o`Ro‹6 S(O kء_+Y9y: Oq֏#:[:$TNV뉗nsCc\S_l[_^'tI=Q7XhpKU`!r2~e6|Z/1.PR\n.Ś02: G0qg1Q̴ŦefkDFf}\7^g] ckvJ MJ;\=jvj,*nrzPq6c2qLa
-ݤşX,D+%t3&Ci^P)IAW
-hl3}G;ʽq#9՛5 xaqnw>GEg=vSVoD:2DSӍZ\)~[/!adE$duȾ%,cO8e?^NQA4cp,<Y)2~nHll$-4*,@Õy3,t=,:=$#Lgsthl[qik}6vk# +
-nOZUe8QnVM',r]0R @YJ0sкô hWb73
-Py,- )? g$Qh 1Sa 4k+xz\*Oyf^rDSٞzao}ƙ] rgȅ۟z)`8|R7foS,`拭CotifAY n+ VsQxns*.J/^9Ngcw+3/#2ǿ9l 8{_],S
-Nxkg_
-j6 _j;~L}OP3Z{me [_O/aFopDRi}}
-5Bb͛VfnaT{ ]>fKɅ&8/r&lew"1nDK5<z'eCQ"c J0Do-9mz+vd:k.8QGl;~kuN71,֗ĵuœԾ~6*^7׆6FbGy9slۓ#2{Jzu>NV,a/I8܄ *>LwC)fy``|6EҞ H꯺(Ҵ<Ģ*>XХmV2o$(j˽Cmh܈Tf%p;bĻhu?ۘWa K!ҫ_Go;DؠA$iJ9{d=qֺ:*dtVVi4iJ7'ĉZ&]=?\L)Uj%^~t^3Q.'xtVZEU#ljV> d=#B\
+<< /Filter /FlateDecode /Length 5087 >>
+stream
+xˎ#_},2ZY&{KrJb#S7nf-$Zbb'z_>O߽c=qDьPN~<RsTK+`ޟ%s0J8vn oF?'8>/LpJHQz$ CZ>} 2Tz$C-R e0ւpz :=%Ts$UH3ahe7i-1V-yG:K]rmE+0Ә$`WEB p%\֓zK<&ڼ-D^ӨKԤ-4̈/.5Bi^8GhZ<W-Y)'LuęWIXO9{v D {2Ë(`7U/@BꉁoCb/΢"07akiG1to_sFMaS.}o^5//9=qrpdi2n@B,=Y6{1iQ˱idF$_g[15]#x:/K\u#쑵5Gڸ)dœd(|9wG(T11Ajy𿝚X#V q Hڥ,[QZ^!+>&!뾮bb))]mmvnCŤqUT4B QX<Wsu=8-rsI..7AsLez42̏2R1$%kSBILAgZW1b)e#-k*cCz~ZJX,#a)v^j,KDz:HX,CaYCh]
+g)d.DifAm@"㻟N
+BVYN!s>VD" /"ͥfrM@Q%׏ Y3"[P͋&`*AK nPQ
+’b(.1ƒ,D|E>,NXbX[h) uPi3S78BZbіM a7>7)j'̵7߼ HH"x\cM`R\A
+7\ֆisn/%NɉR㥍N9i&w]˧}TL߰$إɯid JJ޺ogxNZC`O/5˽uFMqJخt^ܪT-t֝fEjv{vJ xf9֚ ؊V
+ P S~QY(u?P[cPG"iey+"=yoﻬ,5žv[v Vz;qY>'-f
+Tl\?OXdзIzZT&mЂϹ]'tPAhW!%F
+6)P<_&ݞؽxm?GJ/W^N?sk6Լ ClOy}F"dZRlp$nĢ/hh0 hhCNR cqҧ:K]-Md>@VI3^i᪭ %{BϤ\krĥh_ L#|Kd^nqᛍyxT(էdua\ΐxNV[`?Y~_6H9V/
+>ͪ΢0.#TOY'mdۙjEt6 bEn&GPdaE?HڂǸ;>SaC ڶ6f EYW 2 +Ib0tdήRS VTz5Aa]?fhJqPӱ Vk|uLa%$l1^o1X;D.-75AL&#LV@RrPv"Aa5P6=gtN2;梹3< 2֟XG1ܫZkym{Iszǥ=+)vlS-WBC,@)̓/~OU) (.y1D`5>
+e
++rǕeohZKKmbA2=-[B4?<Ώ;Dl_ܝVl]xG:
endstream
endobj
673 0 obj
@@ -2653,7 +2659,7 @@ endobj
[ 671 0 R ]
endobj
671 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 161.072 86.225 357.742 97.682 ]
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 161.072 67.03 357.742 78.488 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/685755)>>
>>
endobj
@@ -2661,141 +2667,129 @@ endobj
<< /D [ 673 0 R /XYZ 78.37 808.885 null ] >>
endobj
181 0 obj
-<< /D [ 673 0 R /XYZ 79.37 420.104 null ] >>
+<< /D [ 673 0 R /XYZ 79.37 456.079 null ] >>
endobj
672 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F57 385 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F22 404 0 R /F16 382 0 R /F25 375 0 R /F69 402 0 R /F19 379 0 R /F55 383 0 R /F66 388 0 R /F65 387 0 R /F48 391 0 R /F59 393 0 R /F72 438 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F57 385 0 R /F58 386 0 R /F22 404 0 R /F16 382 0 R /F25 375 0 R /F68 402 0 R /F19 379 0 R /F55 383 0 R /F65 388 0 R /F64 387 0 R /F48 391 0 R /F59 393 0 R /F71 438 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-683 0 obj
-<< /Filter /FlateDecode /Length 4627 >>
-stream
-x]K# 1{"Q h4^o/["
-c˱k VR|[#M6߲/g/ZzZ*^=05 #mMzKV5żBE}T9<\8~
-.F,V[9-V0pG/KԲ,|KGzUbۥdkY*ޫ͟*MoCu,Zkk3%Z U*$Ϙu.,9v=x5uE53"IY_sjXByuSx9#4 D0|EsmraN= J~{E-6RbI?0us CTd)>I#B~lGd觡;=GAŠ:6Ms
-!9LSZϜSt|h0m0t6%OX̱X-smyda
-FzH(206ZTit =v )lڽvH C^;v/41tKnty
-oZ}潅z[;zn7c@Re,ڕV>&
-WL[ ;jXQ`L >;Bn伴 S_%@^%S{ġ8T\4zx1f}2yr+N6_Sf"%'-յ5}L^eM줮eal8eV_oO~.rߺ2;nKH
-ߢk4TťFf|8QFrnձA۸hOlzK7hr݊~59Q*-抚,Y.ZQ>`bf˯Ksj\3$8[o$m{!AU
-I&& YA)LXȟ57=B+IsF 'Vw-R]AMp+EswK>g 0օo<l['7T"o߬\&y W-aoBz
-oE/o7M@B>Ψr]_ڙ8uZȟxF1( :[ Kok M C![`MK #q< iP7ҌKNE:0Қ$0OP4md;
-p "iuQoTSH;!sgQvN +IFV
-t {CͨCn̗:p'.>OީygGfF-B7Cʶ!Uw/(rí@Wm%Z8.FAh[gEeK {gRA'r)|۩,S(Iej &C O e"` f׋-U/^/́niLI%v6
-eYD9PjxX&À_+r#'[z̰F]'$eb@vZ^I)ANBVC.Yfse;k'ϓogz\L
-pw>lJLx{9ީȥV.(+d\_6қ}
- u اa)o/d uEJN^7Ȱև .OHg ;kKX&k6PŘ-|-g}\G湧e6[5~}()pbuᵌ}'4[AeWsAI5Tjpȱ
-,L ( nֹf?!ZИʩz'-7I1{CBw/l0mK$^`woBiͨBH*t"%h.{JI_^V=R:;M,sv5v75/6M.)3;&v{\Jc0saM}a~ ۶Ё;I,&<Eƣ\;cs! k3q_q}7Msm֣m=>Y=̒cOH䞚٫ a4R-5\ǵC(#TzT
-{
-ȏ ( X8xϵJ:4WۃpX3W|5 Yk-3mߨ̂
-2''Y9'-uo re ݢ%/ͅR?uA|GO[ nDLJY)S ®OYH¡ ;z t</ h8X;juUԼxisR(} ܭ8m`M݃#L;7*8b
-bqIKZmD=Az^jBdϲ RPԶON˒\;U/}N>^_B6Boq JHDɐF|APФ{4vax'7JRP¯Gfm#i/G^Ξ!쾑+llƊب:=:- k=9?'8yJY%zQm|C^m.m'՝VH._q6h"+(X&j7Ƨzf 8M:!\ qDy
+681 0 obj
+<< /Filter /FlateDecode /Length 5301 >>
+stream
+x]ˏ$m_QЊ`7i99q7K<zKRUό>N(jB}/\0x@XGьP͖??<Q_ ~/fNJY2X| FS"9[ߖ?}2Tz$$
+XRR)՜RJĿ -0D+s/_o
+
+!ɌK=UOC]Q_jx.)mkM OaYmZJG-|qQ|i"yzӒ`},TW@giOv_ulZy ΂Ӓ) $Vi"yΊӒ) acF 9-<ges-Z\"ݤrIyhRU*cV[VoY"pJؤn3ΈjajBǺR[ǝrŒ'lO5ojr`'ŎUs͎3(
+KiZQ9j"h7e9;=9E10Gshg};_a[O8f2hg\.Q #Usr%`Nw<p0VNOw8 :`bkL ޏG=h>O\nJ䥃}*c)g}IF a Ö)NWQ3?}Bk
+mni 6|W*̋gqI5i3[g!X5Pž6[ʀ8oS궦70\߆h~pyٷ$k@A?6RTB{x-q
+BD <` Aq/]6nh0M 2FkC '1yrL0vJa >Z£֡cRR}$6!;u+ma s0x
+ӶoY~|i&uUrI<M
+A+pcM6&&Tcg,r ;;5Bk0ڡ`5'a*3ŒGD<h[kZYz߆(]DeHVxNiH(h뽲S$a- +,EÉSY:1I91URLhz]T0oC<?L>k0aL):@3 kNӚ@rJyҹu
+d QVg2[NLڊeH%z(}8bKd>ʵ%%˞Ǽxގ[ka-<ؘ\Olj6x7>pm[=1KqJ0.$O?,[~Aŭt!,;V-_jWrq7[⽿5 +}jH6i&Pq3p:x4+'f>ZOU7i.cI.u灭6~DcQӛPu,M[@չ]쎚R55JZ#sK9w$~I1Ax]KoHah2k+?ϛᔣ d6Ԟ3VrmyD}sSgB&1w2RK ^d^ ~6^[BɴG\ĭeٓ!%7W&h3<;j*RW]sGlwOԪ3r$3r{JQۚL|Fp2u
+ֳfybWpvS;@EYFNbw!"dR.
+$ɉCP,J$Ju3exaԝE_Co5~`zwGDOmiSJYΡ4QMޭ`D8=RV x䖳}]h:X`b0O$tR[iv?V\qNy_3l1QMpP̳Wud"9R;-GoJhw bdsvhNv ݺ~Mg
+) HuK3Dܷq"܀vj2Y ȻW .F}FoT֯)K~+ui2PEݜfUsH5`ݩְyXxMbv [ʼn ,v.RK}ݣRAv^,T(+ Z/
+ <WAx.wʒrU\?-E_d@l;0oWK>v=*O`c
+&fLk,\=J4JFl+2gr͛ Km6y^ yy2~{3NTCq*e,<T#<雨 ?aGoP
+6Jw!aՔS6ËQ| 9QV-m%aN.KhS{^K{: qΉz%G߮J]1`+Őpκw#1}km9`W/j?*+m9mGuV;v8ЎQV)Ӝp8ZbpXh#:WFGLXb凄IXT3+a{Ͽ>}2FHӖKlUh+WZgN``tD&1=t;V1ȂT i "ye;V1Ȃ0'$bX҃DfؐA|D^1*\
+Ã>Rzq'l
+ E*`޻=GY"u`{_m,5^<r@u]nw"EA#_mMe }c'<h<Q''Z[#]Sx{s$`bޞ֏x{>3bHcU֞Λ\=`p Rwgp+,pH[ zU%ݼb!lzm,z @ iA9s}QVM>7vo)}ȟaiUniFFn]pD+ !|xr޷œlwMz6 ,;P
+kiC{Ԁl6 w옛)s܂yuqfHAWۮBƼ}LeHpxov>]p&MA" Puw]8X%!Ӡ0= Շݝ2rgz,b?yc69I "yF0|`Sff1HFYߺI㎴'];>=6bd#yn_a}
+d1;91 :lK02\ ciaF8<ƸVa{W{se \`kǘ{աc-\xOsCsE¥a[)AmJ+SRzXX#j{_&Wby\ZKhPԋQ^8~#Ai%]geGKqQȬ?(l,uj1&(ye?.'ΆͪǸZꇒߥrz..\:ؿӝ].yP^eѼZ ^0JG//[wD՝WGݷF㽶hZ:
endstream
endobj
-682 0 obj
-<< /Type /Page /Contents 683 0 R /Resources 681 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 685 0 R >>
+680 0 obj
+<< /Type /Page /Contents 681 0 R /Resources 679 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 683 0 R >>
endobj
-685 0 obj
+683 0 obj
[ 677 0 R 678 0 R ]
endobj
677 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.071 483.206 513.026 495.161 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.071 549.852 513.026 561.807 ]/A << /S /GoTo /D (section.9) >> >>
endobj
678 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.774 471.251 441.729 483.206 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.774 537.897 441.729 549.852 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-684 0 obj
-<< /D [ 682 0 R /XYZ 78.37 808.885 null ] >>
+682 0 obj
+<< /D [ 680 0 R /XYZ 78.37 808.885 null ] >>
endobj
185 0 obj
-<< /D [ 682 0 R /XYZ 79.37 553.861 null ] >>
-endobj
-189 0 obj
-<< /D [ 682 0 R /XYZ 79.37 163.506 null ] >>
+<< /D [ 680 0 R /XYZ 79.37 620.507 null ] >>
endobj
-193 0 obj
-<< /D [ 682 0 R /XYZ 79.37 124.001 null ] >>
-endobj
-681 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F25 375 0 R /F16 382 0 R /F19 379 0 R /F69 402 0 R /F65 387 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+679 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F25 375 0 R /F16 382 0 R /F19 379 0 R /F68 402 0 R /F64 387 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
692 0 obj
-<< /Filter /FlateDecode /Length 3409 >>
-stream
-x#1  v`S"Gwx֨,} ?\ VZ}o^8+ߗ]9׎O 38oɹߥ Fj{˫.?-aqV$}ݷ"x&qO΍nXKbD\
-M'lM=?)%-E-q*|p_SKX7G|P^3F>yg.LUq}u>o%ӛ0Q&'}x'g ˉ{{tlr}=32J j{o^*OJ1rtbHitT 
-ӝ'n4_g4|Q3պ
-F 崳3'qYFJ)5_Y흍Ol#QvvߋzZR$!Q/
-SEh 25)gm}J5Gԋ3F'hH|#bRo,* !M+>GВy.dzܯ; 1d:4c܅vޯ|L6nO(] [ݽokym'p F$yj-̵ NKk+n9PT֐W<K>Vi󲺦^),ͣ6f"qGsj '=pF's%9~j2z yS-{ &Q?3~^u Ǹ+gP_)#IbIkFXI4u!qdTxɨOӔ$"3yGR14М-Yۡ~RjƅrIzzІİ7`
-
-Pp=n>PU{9W(<:EIT$fNhOsC _K={0UMë)SXodUujBNXd}fHſ,ޠW%vւd?]qς #^+=P(˙mFZ#
-*UD
-;B~$`oDaZ8^+-kڷoHw6iEMlU㖋: {ˬh<SEIӇ dO|k\eJV)f]X a ^  nJIτIr?:%wT?#Āk<w,00Ă z @U7,1RQ}`.<jD"A%Vm9Lã,1LƙUQ}fy2Z*'V,jZ&Qz+JZ>J unt'~2~/mj>BzPj쬡aFe!g0aGˆg<uӌ||/x7„micppOI?R;Ō3kj JG))w^U^ø$gԙSo?vNx@ՋT10 N͚hsb ~h+dŽ@yC+ȼ|pت9Y/[&enW}d!h?bYf1BV5mT'ku,^}{M-f\2cdžFaBd$.,~)ӪynSIztdvl/xJuAuf};c Ђ
-Zue |O!V " YkCm(9d AaQBy:)Ep]NQ ! SWV!Nc8tu.iE. p _Ri:\騉(::\PN܉mO]Fi@-X:6~u4uReTLK؅O\<yfD!cȅuK앤Ho"7Ҡcj@R^`*@=$>t򍮃J蝒}8\ƢBmgף@+k))N+Md;c jY~;aw
-Aۯ(}=)nJ9PԚ!~_b!nkY~trLULON@C#Kцi.o `i
-'urS_6Q\PFCcfZeuQu:D_Ԁ<:Dpߏ:'7?JSn'
-ǡ~spL l"wQtꁻ3ɸ5I˖Ғ߃\9-RCvO}ZӖNƭ`C%p{_
-z:xi5a}04֞5 #.WQy%uzč<
-NOfRBzFu&Ky^eĔN`OHlJ|\IF iVp4II;6pۺ*Pf? @G9pX큿akC!Xz3kf?O~: bt86Ҷ~:=RO2</Kz~6T}3.L5Dɜ=Qp]:it}T3\i5g3x8%zFjnosФ],
-WP}jP}7'Mw3j!mץWҳi
-5[..M}zpuEoO4EPLnƯb0 >uV!^q=-m#g<쇛1m _@<@!X.<{,&;צbl_u(
+<< /Filter /FlateDecode /Length 3665 >>
+stream
+x$-߯X=; v`SDQ3U%Q$ER4ooՅ7e6~JzQhmƫ~ۻt?/W2L0^J'&Hy|J W><E:AIc K#Uqyfz|.f"HhGgȿy
+.POzeT6sq "dGZ[Bܢ2ݲ㌊G6g] m)jK!
+'0E\+jo5A$lӭt;J&bވY/BԜu`oz$g'b1HE} -OˆHsN1W;;
+Ucg5l^ #*aIHV9^,=^XlQܚfHXw6jn_1 Q_"XX :=YHZR[ci*
+P_tғd
+vͳҠRCkqgA&t娠&n_e+ݟ0Z8~=&szwU!)vGi_-?vyi'/0%0 Id餧?P;0 Uei(}>XYvcJ ;:It^'ЬgMO,>?d] 3b
+An`f3VGׄCwnطcw=j= OȀJ&*rʃx$AP}!6CNF8 ,<b{|9OD`n fdq"w)Uq07c]aab{S*-y G',UK_
+R|Z_a&`iwwmU j-%K;m;UT<Zn=+?9'|6RrXgEooM#S2g]7P?F
+v¶q\$;Fv#*oxJ|, ^&w):®Ow&A[KJ85MǦ$2:Z5^"ys<M0WaCTD:iORr4Mqw6gecW6!sS=kd8)bZօ\B19iҔE|iye+PAX9ӻCZE]/D *~AK/6I0kSxRt}h]N蕒}{&FlWFw(7ﴹnxغTG6ԛ <]`<nbtA=AikIǜr^(4>+@Rkyvn$K(6ѿzѿθѿ?Yd',LƤXFVVf6w.oK}aOb)'է-+NKLr]Mm#r#Ǚ[w{^6^+<2{u]`9jd9r*
+}NOm6F/LҼ*W%%޿0I@[/ 蒵}S*!b
endstream
endobj
691 0 obj
<< /Type /Page /Contents 692 0 R /Resources 690 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 694 0 R >>
endobj
694 0 obj
-[ 679 0 R 680 0 R 686 0 R 687 0 R 688 0 R 689 0 R ]
+[ 684 0 R 685 0 R 686 0 R 687 0 R 688 0 R 689 0 R ]
endobj
-679 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.306 733.664 212.28 745.619 ]/A << /S /GoTo /D (section.9) >> >>
+684 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.306 649.028 212.28 660.983 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-680 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.048 733.664 240.003 745.619 ]/A << /S /GoTo /D (section.9) >> >>
+685 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.048 649.028 240.003 660.983 ]/A << /S /GoTo /D (section.9) >> >>
endobj
686 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 124.899 653.245 131.873 664.403 ]/A << /S /GoTo /D (table.caption.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 124.899 568.61 131.873 579.768 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
687 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.594 653.245 159.549 664.403 ]/A << /S /GoTo /D (table.caption.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.594 568.61 159.549 579.768 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
688 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.528 363.024 417.502 374.979 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.528 278.388 417.502 290.343 ]/A << /S /GoTo /D (section.9) >> >>
endobj
689 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.1 363.024 446.055 374.979 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.1 278.388 446.055 290.343 ]/A << /S /GoTo /D (section.9) >> >>
endobj
693 0 obj
<< /D [ 691 0 R /XYZ 78.37 808.885 null ] >>
endobj
+189 0 obj
+<< /D [ 691 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+193 0 obj
+<< /D [ 691 0 R /XYZ 79.37 734.627 null ] >>
+endobj
197 0 obj
-<< /D [ 691 0 R /XYZ 79.37 620.254 null ] >>
+<< /D [ 691 0 R /XYZ 79.37 535.618 null ] >>
endobj
201 0 obj
-<< /D [ 691 0 R /XYZ 79.37 422.869 null ] >>
+<< /D [ 691 0 R /XYZ 79.37 338.234 null ] >>
endobj
690 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F69 402 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
700 0 obj
-<< /Filter /FlateDecode /Length 4565 >>
-stream
-xڽ\Ɏ$W4} Luȧ&$C>2%KU|L2H#^l^/|㯀E\D[}qN0.?yV?]R/志/|v9xXK|"_~ g.8hc;f/hg!X0p6u ngkBZâaRGe=^]/m3wK\~y\sn:ʏ7;0~Ya9"0'sF2Y^`Fqn9+vė1*{3Z3-֟ 68#\o/ʫxN"b-]k/'A{NO| YX(3FfNwpDGt'qG<\y$ѠTfIJ"#&}W݋()ip,8 8NКJ|787 hnγ2GA[+l*1EUuLkM\1cL$2i%,{TGW^oG=*S?@i+OwY֐(&7, (.K*
-Tmߏ7(;YJ#WI!z?0:cfa
-i!46$sz# 2@g6@EٔpE dtl(ViK )!@/!LJ
-~%Kh.MP.l2lz{d D>8}( "D;WZW%ݳ|tw7.RD$VM
-#pĈ t F!'࿋(sח@pf.]_j߁6@L
-g;Ԟ=]
-(^r\2fADƠH9gfY9x8:=ډxd4.W]
-ȴDb;S@r `慠3QSd-'{c G$anY9Duo0j svd
- o63b7
-A,0bjR$[uGrO7Mˍ6Q^ojHu5ZA4P xBtbC !T N딸*1i ZGǪ}_=aZߪ8s:@һ&?Y%$sxmmH;^rQ
- Cpc̐VqN`6|A:-p.*%_3h2W3k˜L[[t=#{\`ԒcI4≹=0iFC!' B1/jʾ LΦ>qU'C]꭯S:< g p&;aV8_
->ة\BK|B[,;G| L/Bxp7*Z!e~rjVô`;NӞ䠔
-?RIz } =dsT5svf'(ӱ߂~+M ܉zȊG)Ϩ 뙐X$6ɡ
-zMJkzC|M]:VQ`1;ƨi%vk:8AXZR|z y#;Lxu JWs^q>ВUN3#Z
-:S$tV1t?Xݘ\B(9[c6>}Rz.G'0?yl/v[K,ui i(m;P!rV)Ô|m0Y$^WQR]Vt-hZz$կLFM܇^aISjίu)IV1oF 0S=f:_Ey*)~z+`޵s*ܴ-K>Ҿ;RVq26F8@j|]R ͼ#(3R/O[e(%+v]Ta!b8k6/߷ֵhف|ug!Q}^MMU;u-$kK3r]|!B$q˝ª7u}|đjjӦUMaLTMLrhp~jNSmBW#̄SMi-ƘJ`''
-6Thϛ$CHy[eWTY{JB c5_FJ TGRe-uABfO | 󙒊 l-?+O8_f5'CK5ہgum@V`&w7o }K0T@sJ`J^b  z.낌
-Ň^|Tқ-j2M`lKtr,k5ԃ\uBZ~5YnlcLVLWNځO$ֻג
+<< /Filter /FlateDecode /Length 4564 >>
+stream
+xڽ\Ɏ$W4} Luȧ&$C>2%KU|L2H#^l^/|㯀E\D[}qN0.?yV?]R/志/|v9xXK|"_~ g.8hc;f/hg!X0p6u ngkBZâaRGe=^]/m^ V³-qsι(?~ìmd?BɸWgy^Ź߯_F"_j&8xihͼ{RJZ3|sbJ(;mv嗮ᾼ9IW?qE.XgaZ9qagkyLpq^{HD6sSeD]$)Q*_u/2ãŲ,L;m@k*CHj$0&9V˼rSlxҳUƨB~U)!0CV4qGpŤ;R3)“Ȥ]{Q tfN}û&^zYM,,\ SLIy<Arf[C?سPZ,*\&P(a H
+P9B6 ͨ]=a?
+x[yWbE}5GȰ]!୑]iY`P,!k+:'#0(dr I+20ǀApS
+/E7x
+\]tg H9VRZ
+'܏^*tًJv.GNɒ~q
+{o}|@0 19
+zزFPD mmr<0~@_=@P2 Q'9MX [W
+h0_t[߱~%;*:ڠ<ܐ=N]Qhr!~¨\;l8\7μy9SV|@_0JZ &%DL(==CbZr
+^R5-s=&iQڮ˴iHW`P߳:L-)9FD#j4<Drx f;YlW9}0<sΓx
+EO.)ĸEβzėkt!G(_=p(տRFq'fe0Lqc4NJɬ#7Pw pSA6GuI.~^3gg|2-'94|?˝x)oˎhߺyt: 9EbiX)xzqܤ,:tԵcn6#cJKvI^r0nCzs'T%'G7ÄW' dzm1w<] -͞X43bN+.v]ؖšIJWRQbB3@)
+aՁ'L4o}Ag=>a1)< %"
endstream
endobj
699 0 obj
@@ -2826,29 +2820,24 @@ endobj
<< /D [ 699 0 R /XYZ 198.864 677.06 null ] >>
endobj
698 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 389 0 R /F15 381 0 R /F79 703 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F58 386 0 R /F54 374 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F66 389 0 R /F15 381 0 R /F79 703 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R /F58 386 0 R /F54 374 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
711 0 obj
-<< /Filter /FlateDecode /Length 3083 >>
-stream
-x\Ko$ W19X06A|[iL9U]
-*~%T/]2 d
-={.&_H<hh )'=h,StK4wD&5:k)ymYq4>S5ZF6e+dYR|es=)'e峵O}/ϏR6_LMۄE}>?
-u_m<B)37ȧf_sLU+P@5Y{ \|p=Ou*SIغSCçFBF,t|D+K%<"Z3u8*02˟ky{~?<5DszzyGWw~Ơ #ѷl#O{Z33ޕ&G}x`4|f^krXXᪿ-* ˼ G4`~y' H=,zt 1ú6w}U4"yF^ҟ&2]#2624pt'2ubD!08ce\iDEt@)$f+яa ]XㆄX7qCyJ&?n.ƍHU4Riڍ#
- V]H. m}/RQ7p0Sщ8qb݉8%ڱ1MӅѸu?ٙZc1J s9t⋁i
-zpGXf|ײ!W'`_^DꦖױXO}K|/Χn_
-BZ7ߊ~gAEgU9u)|@aFN|PJ٢iрeS9#lBYp) n:2Ce]\:F]uއ .>v
-Xe@9
-GyS* tCϭM*`8DI_3=˳H#<'\):"i;l2!TݴX~-np&$de` QIhJJ43]iPa|R-6yZ[isQ|IBOjq-pU
-MsN1DF}ma{: ›g#&` FÛ{oogĦO!ڨ.$&
-0*&n>xҝּVNZC"}s'=/gz8L-OXG- 4w)NY(J|da2<{|/4h,hټF|7 & qWΐ[M9 ^M~-Rׄ$9#sڵ"/B! o׺FOH~9x-mېKʎJOkhXFmp 2i-6X4S(}
-k](|/ӳBy 'E[
-*ų`O+/7^y1#ǙQuZ["VYKh3)“$Gֶ!DL!qK)', ~=rI9wQKL+C{!
-g#p=nINVlU|L]Z0j΅g7sϕ.i0OUM*ʄ/{zMiP9Tʭ&)6OCqyDΈ{ n!!TXOc:--X>N's&{'i]ðIa V{k7;pryUl
-#̽b7ܛbF%PD2u :pIN[o RCb4R9|
-
-yZ)*D:J
- >60@½c30nժގAq՛R29X]Ybs Eڮq#'HX0)ʁjW` qu;6U)s$С>3ŲI6gr]/$%G%{J\ʝ:q 4(Z'z4?!Mʦ9#o{o&-# L ,XA0YԦmî𤪰FqĹD/h3IzbXw-'^Kn?Vxz;eEXd?Z~mv׊RїWkGtHs |2N d:o$e;w
+<< /Filter /FlateDecode /Length 3068 >>
+stream
+x\Ko$ W19X06A|[iL9T#
+اlD;E5 ]yuTaG=_"^un8O~K-nȈkC<6G͹JlLH:xm%,ԕsX}5F-?h p
+3<P
+?a=ѷXߧ=|3&|x`4|nP?䰛U[6@&6DI}M#i{z=MLfC=0ú(6wcU4"yFި&2]'242Z+22r'2ubD!l?}eHiDEt@)$f*ю J78ߐKVvo~L~߀߈[֭]?R
+f~d Ft?dP%O`|!IewL+VJ@!۵"F-DB@w&`%-k f KXy#c
+O:0NJrd`BK;mLߊ_n뤢nh%vLjcF ĉu h>c&4yfBR[
+1@ݏsf@R¸\iv0$SQ$pF*\&.o>"uAW̢,j]{/ll
+h@XXVXj}cX2[k e}vħ@o8 ԑ*oÖky=%xke
+Jܕ&{Wm6@9
+uekZjqH6]H'DC(#T>ե;N\QQ+!B)IKOEB-\(x{]0hpꪪ!qί eXl!|/4`xm6/2G-'ⅴjj iQHB _p36.mväHSiƥm׻f ǘcǶi7^6~Si5t
+ut^BŠh@ESYꤕ nUGaT7y36QOvj-!dҲey,kf\' kԶAb d&1zREN{E gU (%ƾ<J&-q"¶Y*SK-ᴩ5sϕtf0Kq*FVezw<=Dqf4)
+*eVckӐּ]qd-$],zSb_}8<So04HҺay;3ܩ&{JW֜؜=vzTn],JCشdQV)l$V!qn!a{wH
+OjKFJ6N'މe^kyŸ^Z`$* Oo ?/${5a64H:c,%_/5^a>=X@}') r fߍC1%AOh':t}m>{)ˀw-\z}*Ė-p=HeA6 Z~]
endstream
endobj
710 0 obj
@@ -2858,55 +2847,57 @@ endobj
<< /D [ 710 0 R /XYZ 78.37 808.885 null ] >>
endobj
695 0 obj
-<< /D [ 710 0 R /XYZ 79.37 608.164 null ] >>
+<< /D [ 710 0 R /XYZ 79.37 619.348 null ] >>
endobj
713 0 obj
-<< /D [ 710 0 R /XYZ 257.051 527.346 null ] >>
+<< /D [ 710 0 R /XYZ 257.051 538.53 null ] >>
endobj
714 0 obj
-<< /D [ 710 0 R /XYZ 316.728 527.346 null ] >>
+<< /D [ 710 0 R /XYZ 316.728 538.53 null ] >>
endobj
715 0 obj
-<< /D [ 710 0 R /XYZ 365.552 515.297 null ] >>
+<< /D [ 710 0 R /XYZ 365.552 526.481 null ] >>
endobj
716 0 obj
-<< /D [ 710 0 R /XYZ 304.972 503.342 null ] >>
+<< /D [ 710 0 R /XYZ 304.972 514.526 null ] >>
endobj
717 0 obj
-<< /D [ 710 0 R /XYZ 207.228 446.904 null ] >>
+<< /D [ 710 0 R /XYZ 207.228 458.088 null ] >>
endobj
718 0 obj
-<< /D [ 710 0 R /XYZ 207.228 424.937 null ] >>
+<< /D [ 710 0 R /XYZ 207.228 436.121 null ] >>
endobj
719 0 obj
-<< /D [ 710 0 R /XYZ 207.228 411.158 null ] >>
+<< /D [ 710 0 R /XYZ 207.228 422.342 null ] >>
endobj
720 0 obj
-<< /D [ 710 0 R /XYZ 207.228 389.071 null ] >>
+<< /D [ 710 0 R /XYZ 207.228 400.255 null ] >>
endobj
205 0 obj
-<< /D [ 710 0 R /XYZ 79.37 339.96 null ] >>
+<< /D [ 710 0 R /XYZ 79.37 351.467 null ] >>
endobj
709 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 374 0 R /F66 388 0 R /F15 381 0 R /F56 384 0 R /F20 376 0 R /F79 703 0 R /F58 386 0 R /F69 402 0 R /F65 387 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 374 0 R /F65 388 0 R /F15 381 0 R /F56 384 0 R /F20 376 0 R /F79 703 0 R /F58 386 0 R /F68 402 0 R /F64 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
725 0 obj
-<< /Filter /FlateDecode /Length 3487 >>
-stream
-x\ˎ ++Q  vwA*zQU]mO,hJ$")j0o~߿}[=Z~닊zsAhҪyǻ@KiT'}[.{)5Զ<BI22#]x<B}e4^֘JP{Cmhw^s/+suy[SK~~wmڍ
-pYΥYN9H:- ,BΨ-d | 4L*ID薵„*c b PGeme7DR(r$Cm
-,ϒ޳]_n,ʰʵLBR~fF{>M"h em Z֯rGL։rSKo_،u~4p+Le7є8}}d8JRZ 'ȡ@s C0þ:'VX52߱ =}
-" <?m6%`u5Gk
-V(0K`/ l` ~EݙqiohKH&{Gr*] ʒ{y1ި.0S3xfت(4q4"tjwZB~ߐh98q6qJMTPB̕c+'٩41ޔaLG!yY50a` ·Y5fpZ"<ⱙAk')I0M_ jM5[,f[eW-gEX.[ D0q(ͽs6$:%,p MOCry䷰R%4
-蟪0@e{f( Hܷ~1![`|8
-rg[i_D0"w-kx[Bγ1-98`!W #-U-~VO!|!h7
-Ž[1Mu331KPC
-/a~+]̛ ;Y (B ;o<GCϣ`M qĐNq=_
-ȥ@ɾpG|ǵ>(US W//58;䯠̛<nǸXb eG눓+"9nH}QB0fv3ħla)EZd@渾FNwdd|`HwO tup?Fuiz
-r]s|y<>d5i/
-FG+x$֒Bh7X*sH$d,G
-!Qդ~G*:;S<Of˾rG;>J2q3[,;5rz\ |ݏoi­C:jbP.
-P~Kw7Xn><C39)[WD0 _ w4Sp20ZrXE$OF3㯘UgR(\-M U Y7vp"oC?| W
+<< /Filter /FlateDecode /Length 3471 >>
+stream
+x\ɒ)IELLZ#|}_͖,U]--|h
+F
+7ٳۏ/< y?H7vo*!z񯷿Ki'H鬔Pk,?7?xF
+%xi =e;%1}i>{+fn:tCV撟<mev% Jiᡴ}uiYi[c`ձ;MBc,Ч$,ԋiֶd<y ѼjVFZ R>n݆l,6J?3Mwy}D9۴ */<Pm$
+pnj-1+T0pݡKi- D!bhX^*Ii3SN'wQHh8/[בf9s{[I"ZDmLt 2;{Z>xl1麒NH#TwԎ geSl
+#uuSZ1|kZ%5j%zTY`3}&^,on^usA*-ɸ͈q5j'i,9h;QIǫsObV.zu$ڿI<B$!X@
+hcDyףS{C:D
+X;cGFPIx4|8f cƵgEY
+r}0 0D H'z!CLj|sֶK{CԒ|IWtq[ K2G#uSL KN3L} 8~S&3lU8`{jyytjOO[iBB_QG -f75TI "\7FrFaL{ yY0&`͝"T.NckV#IN"rz <Yc%Jj/mVJU&q5rVB
+۱AC><bSFh[V `Zn@nb}ͰS'nW#XUᲘ~?Dm:!S b=;Xg~[Q:)i8ST/'\@sqPL!Ahδ\Ǿ_0ױLÄ=@&Xa.2F!Bm3"HbǚC`S0 %P٣94`4֏3
+7Gor566zO E^"[hYvy \r|[R\GOPķk.{Љvv笊]--'pqc0e2mUipV?3,=ʂ/bnNXuubl1ԯan+_`=/ȴ j#LDߒzR_WY=Z6FŒ+@;ecPkg`zэp6mD~g` Rvb׶=6&r@p0VGjʻgS¸1t:X3rpa*o3/O +:]<ςL?[H?Az8h^@{E47?coZM8Ùjsg LSͺVBtOyW
+/a~0], ےYQDփ*DGgZG]1l/=g
+rg=>0Dუjʻ<kغ^
+Ϣv .OΤhqrEd= =:,1g#9xqP>;z&vxBÑ=2qsk_w';J[th|=ZSV8~*OBf^iDHث(4*Ἒ3rՔwF!o[Zw
+r^]s|}y<>e5J9yznӜɔ!iП`y.i~HV<*'XK~<i<VHJ׹&T:H~kӡr4_f9w[(皖G>r9_8'$d> x~T^刺rG;>J2q3\,;rz|Ton
+'Po$";+ħ~8ɢ 'sͥ
endstream
endobj
724 0 obj
@@ -2916,10 +2907,10 @@ endobj
[ 721 0 R 722 0 R ]
endobj
721 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 507.158 110.852 514.132 122.807 ]/A << /S /GoTo /D (table.caption.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 507.158 120.711 514.132 132.666 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
722 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 114.907 98.897 126.862 110.852 ]/A << /S /GoTo /D (table.caption.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 114.907 108.756 126.862 120.711 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
726 0 obj
<< /D [ 724 0 R /XYZ 78.37 808.885 null ] >>
@@ -2928,16 +2919,23 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 374 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
735 0 obj
-<< /Filter /FlateDecode /Length 3525 >>
-stream
-xڽ[͎ )`^`oA|[)rGDn:qTERG%/˯{闇 g.I.[ZwJH.߾_~Jno|O4FKT_>MGúJD.UR .gphcҵew=g eb13DzF*hCs$$A#7\-+>ho௴:zsԻ̎8QjH5e޳3lע
-_5MM2Ea4uaظpú+)<-J"YU4\xN2eKv™Fna#wPVGwSuŁHךY}ZzW/A4ovQЀpj3w7:|ݽ":Sݒ"LA4or',`ZtA:ڨ9(ا&D#U0R.}iJE|Eb)+FQZ$%{'hRi;f _
-,.JuD3D)Bߕ F+VD( W}Mg9>Ao|lCJҵJ; 6yU@dW@ svVytgiy~ϒ[%0Y@NT8BOA
-Ā(*%(T45 Y OȯοZ]ij~25'޹glGgWg2Uȇ?XfnP- v)PR8}T
-3/Z*B kFZ?oĝ4Ywљ HO5]INLMuάMa =/ōAŘSflB1#'B,^w/)FLeҏs<T~Rm;*5[7u++D nz%ؘI?m헎I&1LvoZP \&*/nnZ qqv"=ji ڍ$[E8r٥+,&&,ҖuN7^k }hr}#)B^'sף۫LG<L͝ƛ2ccE~On˝@eFi8þ2|L`D;n;<aTOA^bTjK_d^b)Hn)j`Au8w6 0}ip}ga@?;nk<1J:Hv(SPّ,mӿZ[0Qߺ{4SO jWK݆r@}\w5cKZf$UR&aAݣ?0oOF)$ZaNB_ϵWj^9FI,mS'{2<Co-F%h* i߫bخ?[5l8:k" znO~T`Yy<"DA܇$jA6WUGn¡!T{ˏjбEV3C<&XhO1Zۧ HAi%L?xE
-p
-?n6G^vLXD|e 0՛ {<֌VdO}е[sHu`r[4VR\=a?rꙢZf03~uxpHv=C[t@Xzt:| kϻ L>
-ȸˉex=ŗi
+<< /Filter /FlateDecode /Length 3526 >>
+stream
+xڽ[ˮ +W h\=x7U&^dߏ(nqRII]Or}CK3oyQ-;%So/_R?VߧJR/ou
+n&#úJ4]JtAJ \?>sƤk8{x$-^Db&h͉x)U*m0 ,h|Jc>R#̮] \Q:nWG|D)#p5oa+"&]0A(]q4
+NK
+מފJl)q&y:JHy!X!ͿmZŃ8C'D%2CPMqHv7_8>!}NP&9λ8 eNA`hT[i',<*Hz044Wx <?ZOЮRmJmږ) ACS6]I5mdTΪrX$e…8S$h'YJtx/&8[|i
+l5tg6UW[*Xp7ygqG+ZFzۍAn6^Ѐpjfgև"6yGu=.{+nE}>%Yh?NX8ٵutPsBE?pNMJ`)*͞ѡ_.lsED^_Gn3IUi7H($cq[e&N=C*]Y}>[Hih4ٸ.2ig3s_,'HM8m(]WPZ0HC^l,F89OCGt Yjf_$ Vrq3uD?; ~S  fϠ`]rJF/D-7\\mfĞ4+1[΂
+=6K47xIMjսudez[~Uʸ za7nN\M"8L1u$>%4%Su{B[Bzu "u`<M"&={rVYK'1͡Ґ!V1 ?zܹ. 빯A8MQZډy/&]TT+W__%E`oV*H)-x{)mPVH{pei~T\ ')R{hqﬔ݃DҸ0A,]!-ۼrLvCSm6+CҴ h">֤H3*Bm'!c VfեzYYp^sBfS~"V we{;k`+8u 8B͜!~tŲ"²V8mԣ\K$ɖ<#'Md拏eH~ʊvKO `O9c5
+!s դǭe5wj0XK^_["U X RBI[E=:x$ uu]OF{|wݪYz!A!7\4`
+@xh</,q^G me}GVȓ~Mh%c.{GGq<=g:%"~قkGv>u }WXOb2G쥻8K[*3co?%:_ɭ`&vvT:: ZDOSr>en|Ӈev/Fh`A1t+vuI/[/HVk~&SFQ>Xkގ9ˆ[uߔd40s. B.!5\?nĝ۴XW f R˓X;kW}SޗDSZ 0vݙ5{;a־;
+[<X ѱ:5Iv-3rL2Ŋx2;˖-vJ?qW=JDn^j` !#{Fccd&t_*Mxm~ɖ=ưرiC}3c08"{k&oy֖n!ғ.wWcv'Uod',‘&^!Š11@ft\gC{q:ٝo*y&%X43m5woʊL=)ܖ;(ʐvq"x}fxVc|AFE)M魶Eu L)&ϚBo"|h{PTg 
+w:25v[{deT HVw $K#*&[7rz/Ifq!{l/Vjm1ιxz I-A}3U[ Ӑk}姹F.Zœ<K߯fռ-1hsRXUOdF)yH/2{[~0 5JTgW=
+J+aƿ.R]F~(oS޿/q.>d
+@m+èh L=|f^5S'gZ9@i:09- +.`pEhLR`u_3i֋t,c\)vwsL]]Latq}Z-tkZ^e#Kn~$?NNrP6r\i
+j,H>#@/4p?(#Tgd?-zlP
+t㲕oL}୚/rSJLӮoMR8[lʚcaG4Z̞㫦M&
+ȸˉi
endstream
endobj
734 0 obj
@@ -2974,39 +2972,33 @@ endobj
<< /D [ 734 0 R /XYZ 79.37 291.272 null ] >>
endobj
733 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F65 387 0 R /F69 402 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F55 383 0 R /F64 387 0 R /F68 402 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
740 0 obj
-<< /Filter /FlateDecode /Length 8481 >>
+<< /Filter /FlateDecode /Length 8477 >>
stream
x]K$qW<tF9&6Q|Z>X>86LZ6I[zg״+$}x?*1_~̗3>o^M,m拹er钢h.|yyK컫<>3JWtIb_AI)& /U#,%1Fd)fb')/l2U/MYtsc;ϽJ
vrf͗>J<Ե7ϓ] [66 ҶJ#^٧)ݒ/7dR\#91ZssIyUڏu=`>[bI;X:rzSZ9Z%rݡS0Մ)
=8- t%;؈ze$mL9/0*4 ΢1-u Y@5^|iJ&0} Iz1A\{`{c)Z# ?#!t1'&.Ը7Z
-++f@!f =f 3f^7jaT|!ny=CoДїhZt80'7cU~DO$q,n9ZCp8疲5U~,7/yc<a%rvo<}ВrZx}%1h/|sUiAqQ`XKFbJ)ܬ%,}8@Qj^~
-_J/&@>$mSwW[m4z;g&};F-8 l~Z\7{?dR<',˛@m~ jpHe>+Nn문HW%@q . !T =K:%NCܟo;[N e*uuR^m1,CMGv냅,T9εO=X6-R&6w7ύaWN̷PY̐ͿSX|t*ytF7,Y2 﫮4wnQ%{M`hj5J #oPu+/
-~/75/W >Fݎ,gXOZO8zCygUDE9RnXPkR8ZG#zNOeRfĩU\߄J @,oNj~\Ϫ
-<K>'7_򔖱Hؒ8a~3O!1 ^…iݖBQ:k.gwcFk%ܯ^CS6zKټpAU}oZ*byVS/}[yf;G}]~Ӽ7JG%S7&DEG=z&tjTo]}jy29} z(QwvVN9pƛ_w
-7 ;lzk": }nk=~a'kWm8)_C瞒9ě2-6qd3ڷnWT3#i7偻 \2jߌ[70gk*`&푻[eպm۸׺qo}>ֺIX~uL6[} X~2=ھ@߁.lpMm}Tww6o׶^eZR8v̻06/ulH?_qZKev,syWuheq59lN`ƕ]8Fa}=6ݷ>GןSKky^e&uweM:k2;@AHޅDr4M-j.U::L oIyԺ0kۚRNջR!."ѝ>u
-eAiz_Zpysz^u.wܹY]ȣ?);GwkE;λc2O~Y~
-GaaU]EjCTWRנV}o&TvkYue]ZWw`\%ė^gKϹkww0lGN_VrNvn}a)l/QbUtS{Z7u=e*z*C*[dTi/HHJܜW9\+UwsZ4U2LUxwf.>WXٺ<fϭmO޵+]7$F~v~Gt}~)k_ t;-m<}`V<n1ߺto+7\z;;iIT]|򔭿a'ߖht8R|\ TWe} Tm]]S|nʅt7?]"F%{H
-~D!5,Hӣ-R%o<ioeM7"a6 S(7.$էzd]N kDeM [MOwbf;s7ޥ@U!e0n[?;1w<hݱT}} 0&$`>N :X {~IC+wurIWuҮͱ6l:oӽOHLFh6 GPZG馭T8X:w U|BUCkz Lh6v:T:"IݡW
-~ 3^,~o:iM Pb*g_wDSq:}#RrZ_(O^nIvaNOn>&R1nrOђr=&7_`Np_(9N&c$<rI(Ӗ/v%? S9j
-SBbh[o Z D$8zIɳdpA*CtL(Wl,!1(F"b9F͇*@PPv
-O֔HQ dʶc=9bSX)2ە64{Ŕc8?8DZZ$hiC䪹"kƍ6h0߇})1/fݨ0copsu5(nDH`ؖ@L;n;QT
-,q
- .K8*cǍèbfۨ ;Z9F-jzA0
-oGUD@qծX} d2c~"n^1Hѣ jηḘ=ʨaLʻ†$rkA%ê|ʕ+ ~u"!GK1ǘ%_M8 Y6jIłiaٗXa8BZ/-sԍT3JJX؜
-0LC.{f8^om:c$QA!K3ԤcoV(eQl[`Wp`0SP`]2H 0Q'H̵9%^kYrÜwJ!4S+4SPF#J g`
-GdU1#)5LOYTXF2
- >uDhKfXQ>閩E%mX\5-kЈ8Q>5Qw eq8kľc^5%Vk3Uo
-x=̺Qj [cȜfSj M Pi,*K[wZK5ӼL.cN1Vɜ)^ak sռw&'1?9=PC?bE m iȺՀVY6)2ʽ[ߴx$@ 9v[Lk654j^L{M1 xɸI|U ,a˅Dzj<,_Z@7d$3rd)G$k
-b`ջbAFt
-'\m64}`Zڢ:`I/wL0qS]1O(^1u]-LՉ.eK'hjdq|X }W,hʯL~Zڤ:I!@rG#qҳs]1#㥀ffYmmkzX1 xX|db{\ L~W,<@~/5*-HIi:1!€ޑ%jU)&G2f`
-?-hѫ56)*-&\bRKU⨨*dq|\tp@Oo<QT4(>e 2~^cd']/܍ڸ85h_oǜWleL51NF^w D9m 0XEb6vĄF nX6^Nk m>ozot\Ca\(tfbS>BE v˭C˜4"WYxmTRt|J:<m?"oHzl鲄 M*nIoԛ$ MM^nsNZf!cnxqqqy˯{]McyENgֽO-ue\=^%Hr Xiif,_C݉ #!Cׂ1<@mv-,ux1D~<P`X~oMh>Suj{6GVAԪ3$3A8d@[^Œ^~oRō&ZVZ5CЗv]gzXaǝ*LCuH~a\ߛ[l;W8!p)yv@2ZO
-疕~\nШtwC&o7lt}W>mvaϕpdCrj?`x’v89r'Väa$/3{QҪ6)>nI0cٍyg0S8Wi9O~ɏfm| ;c3[U۱`f]!l(٣cۊn>7gZ2.X}-X<&|^c}547ZCC_@
-ǍXj~_񘸼u5Rׇp>Dۘʼn^<9ZŵOF΃[gwezڛ݉k-ȫQ/V/FahNf
- גsrp- 6dw%POUw<W-CXMG[o\6)OeSˀ2^F&dew๵-Zq^ \#&O;Yv0dCuˎlP|yM 1Uכڷ=\ޡv~ ۔hɾvTڦ}9YS}nܸ}~΢:c~osɫuzE,C
+++f@!f =f 3f^7jaT|!ny=CoДїhZt80'7cU~DO$q,n9ZCp8疲5U~,7/yc<a%rvo<}ВrZx}%1h/|sUiAqQ`XKFbJ)ܬ%,}8@Qj^~
+=2N3e*HbV.oB%tLcW ѷn'i?PZ.YgUT % zL=䒧EĖp wW|
+YIxŤm.LmYs?뼸-0Bx\+ ~=J==v|Xj{2{NW?]ϳ˜X0<G=7}%V?/A&/6!*:zĝ(3Sؤ}S'͓+ft{@;尚4p")3zl3 w6uҦZݵݽ!q); @Cgx
+󝄟e[0~oؖ~ܦ[Qor 7=-z.ǥ.*ϘP/QY 97l rw'`+ڤp#[k;.~|+!gxwBUApG=gjC‘* ߌ>X'@HPj/ޣHqpa
+ȏ_8~&{J`oʴ{>%&hߺ_ _RMvݔ7pd}3n_u#<热GnVf_mV:s~^eX&eb֭2l݂[7b;,hn}d7/BcQSݡ~ߡ^ۂ+c{YiIE2dۼHE!aiu^/C[\ڵX]֡orvJc;Ww1f 4wS^NH/yc^yoLߕ7u謝x!y~4dupV`f3%X
+NA$=Pxok &K9}VJػDwNp*:s}jUJlyehnZ|qfwirk VܖݍsB8<e-*<UI[vuUQq^{\I]Z]S5i~f}vk]asї<c_{IĞ}Ro,>Ziܑ}zr:4;}Y%;مӻ܇DU)E? Li ΫU2ꪔҪlSK"3")qs^pT=izlV3U*~EQXZP
+9ס[ҫlGjӡzO r rƓts@Ɨfb") JΆ" lI". /χ`6Fʴ%$aċbO..&T}m,P/|#kaVs2C-. :N^+DR(E%%`ʐ$''S#'[7E7qL4{D
+P1f#Pc`2#IG 4؄ 1QkǴ,^Ut5CtjԼj1W^.cbΊ$&N۪Rla~-u[W M$ U*K$5 tTKmu(Eq7Y! a<#Ruq2S$zIʹc&Mi1VUئu$EQPmA2vpDcv n@IaS.=RĨc.uk4HjkVP9X@Z
+ɚG1G"W)<Z؆ c
+窇N15B]EY#g̃
+[C5*HG%l⁅s;1lb}CI[]< AJFģ !Jdj[>X<tp<==1Q#8fUDVdd;H z$6xH<ˆE= QdbNd06~9e$_=Za=pDk+QJ-.Q\5= Rg{d)QͶe)Heǚ:ou$T]n k#ƒ6XX'ؕ شh̶TH>:?Arښ)nа9Lv԰{ZA-#6 G%d9e,=9 lz
+\^̭“5%R()asaDO k+D<FJƧv >D1{r<Ώ9q* 7Zа5,jn= ڀq* a_Jp Y7*o'?\zd]gM$%9ӎN2K(‚K
+*MExRb-X)0(sɤmdeN3J5̹jf;VSTbFY`*#&ݕ6(N7-e1aȥҊb}E7%-fkYrÜwJ!4S+4SLB㾩OZŒhA`)5V1OejEIx9WM 9Z34$N9sM`T]i"kYw8XmBdM-`L)k)
+(MĠ"
+Ra`=3AoN^ȡE$6(drqԴ%,*8(%RZgX "#^l':nZ$hi2窙aC`ST*]!nRp4/y1SUr2D%m`\5/ fiI({Lz_T1Ͻ1xg(@zZ.n5UiMr7-^/ Pw]$$k``ͻbAFp
+%Y\W6%?\6)/O M0OY ;_&IW˻w6.oA>1r<[S /nES<㶑]¶=+k;Qg[0 Q<Xô91%f==WڂD *
+P_w2עV/NDl?ŕ#ivv0%
+`Ȇ 1Y٢݃1TAL/c~ 7o-{<C)Oђ}j]M$;r*#:Nyݸq%NEu;v))$3>ȓW5*'YƇm
endstream
endobj
739 0 obj
@@ -3025,13 +3017,13 @@ endobj
<< /D [ 739 0 R /XYZ 79.37 260.473 null ] >>
endobj
738 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F69 402 0 R /F19 379 0 R /F66 388 0 R /F70 403 0 R /F25 375 0 R /F17 380 0 R /F20 376 0 R /F16 382 0 R /F57 385 0 R /F22 404 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F68 402 0 R /F19 379 0 R /F65 388 0 R /F69 403 0 R /F25 375 0 R /F17 380 0 R /F20 376 0 R /F16 382 0 R /F57 385 0 R /F22 404 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
745 0 obj
-<< /Filter /FlateDecode /Length 5114 >>
+<< /Filter /FlateDecode /Length 5113 >>
stream
-x]Ko$ Wq3{<^` sKrS~H=(J qWSHQ%}T~/wzacN/| LYӗ97s̫0iۂq.>~(g O#> ʙJsny!Q@I)`՝kΌ~j@5(5<pZKO|_ēMO݉CȒE.(ș֊53'|ef-R\1Us3J1qiIet0Yo:
-?yM*zVӻzzӳ46[5z }Qc')cklnc3clhRnCs2<87 tŌB竚d`8 x6kj=ie/fi8@T¥{QWl0˺i%Z#48׃[!64Vl!O'Å/ߋV!=/Ʀ'^?YqUr+Β3)3軓f=6ԩmLI هސx%o]th7i_JljҙNts{K;Kyge`3g@e!6_SV́"y3)k&]_3zG.ākic0%'@j?W^{bVz.Cg2',9̏Y|<#(zr!SP&eu҇OԍկC=ZS]=?oخ_:斠77voVoS8'Ы0#(34[U*2&t')iyRN Z)}S׹h*Pĥ D &uM9⬤P_~@((Qe3}r,x1]4rbBߡy!jX3ONSZYt.J?$VY|F1S6nnfowyD[IJEpE$+%ĪWdWJ,Zw fКNAݗ_ ^=~r2vTL*LIL}j}M[_.1ak)fxl.$a"-Pp6Hp*V1OfBM_a]9V5iss`azXRT@C. + W
+x]Ko$ Wq3{<^` sKrS~H=(J qWSHQ%}T~/wz~cN/| LYӗ97s̫0iۂq.>~(g O#> ʙJsny!Q@I)`՝kΌ~j@5(5<pZKO|_ēMO݉CȒE.(ș֊53'|ef-R\1Us3J1qiIet0Yo:
+?yM*zVӻzzӳ46[5z }Qc')cklnc3clhRnCs2<87 tŌB竚d`8 x6kj=ie/fi8@T¥{QWl0˺i%Z#48׃[!64Vl!O'Å/ߋV!=/Ʀ'^?YqUr+Β3)3h-_3qS6FlCoB+y%o]th7i_JljҙNts{K;Kyge`3g@e!6_SV́"y3)k&]_3zG.ākic0%'@j?W^{bVz.Cg2',9̏Y|<#(zr!SP&eu҇OԍկC=ZS]=?oخ_:斠77voVoS8'Ы0#(34[U*2&t')iyRN Z)}S׹h*Pĥ D &uM9⬤P_~@((Qe3}r,x1]4rbBߡy!jX3ONSZYt.J?$VY|F1S6nnfowyD[IJEpE$+%ĪWdWJ,Zw fКNAݗ_ ^=~r2vTL*LIL}j}M[_.1ak)fxl.$a"-Pp6Hp*V1OfBM_a]9V5iss`azXRT@C. + W
P
hO(
q#tMrUڿu8?#o\}zzD' *%/8
@@ -3041,18 +3033,16 @@ OskDBB.8O*_'~`)6f4[TV>-@e97hxZ4@
QD\~/@u۶g?pcZn0!Vk@NҁgYpE=G
XX:5lY56h8S{,|P@u=J3mZa^:G%,wgg
LgG}j#P5oJa~Bvm?)„hFǼ>tp&0+yZ˹oܶ]FS1s˷m*I"dh ^e _C쪦'iR[}q9r
-f-+=oNݳ! 6sm89DAc<a506ҹ1z4`/ .ȻeQ$)'v)Lհhۻ1ov3F nD״ZleYll<#{6v&hM_WZ3[+xʶ#8
+f-+=oNݳ! 6sm89DAc<a56ҹ1z4`/ .ȻeQ$)'v)Lհhۻ1ov3F nD״ZleYll<#{6v&hM_WZ3[+xʶ#8
(ȯm#6f&쌒A2gk~ff0|_]i}xVf(E.rro=x%bܖ}ZYLhw/e˪9W5fa2H9=?=Eځ/F*<>\r"e6|‰kY04*-f+zhB^Q-u q̊a<<Oي/UWD]IG0Gڸ[
7U*#>Se1g&+7- P
-+a!Xz j" ^PGXW$aiӚ\Q_/Q}qmřڍ VjgڦMu}ـQC!nC< á@ 7LT~q
-cP`L2PP`Ler
--
-xP`L<SQ()V( ,HX 
-$󡺦0X`m%86v0JN+<mg S7-Cg̹0:~Pg$wr,e-Y0LFj!Nv$j+u?s;xbèI\>S)z6RnR॔lL9\.^[_/sk.Y
-6|ѬoK/-AjQ.&0!+}%btg[c<LD0\fxFis{?vL: h+@gU9d%M"6'ا
-{A
-:0x|OS>@z] l}»opL8r:}Ի05*Tlt6K&^+Ym6Y7g ɔX|6[p)sSnK6晖T"efVާ"c,blNC ϙ"< |~b\ ,~c+ؿ}N09яL3om4$6UFūěӜ'%IΖrr~qnr(d#Dy-<23Ej70k%9+z ~x;ļ)vҼz DX
-U
++aP ^*ZtHW#TkIXڴ9WGl)q>t8b_kFg[qvmfڙih<꨺cm_6kbTPkP
+lJ
+8< R>7h?Fc|8h-$h[NMmu2Riӊ/fthÔ5=%}"Й%s.cԙ$'8ɝ) ' oY@K={HZ>g]v"01bRE=T^MTobdT.x)% 0Ӆ3}m*5<V˜K _ca4[撄dmZfßri-4L~JF=~m/ф1/WQ/1N()
+zUYi%H ɿ0)A^K/6m ,K cL}Q xm]I6ɹ5\7Ios.V05.Θild967gun.k
+p;qFYGu-(_H9ӻ T-~fUY?ʦ`0^* (ܽ8ω:(Ap 7O% Ye\}:9J-[-Mk?ZdnbD2A+# o"oԿ$὞8f=c6::p_~+Ϊ,:Ϋi_D<>̡zʲ|z:U(A͒WJyMF2%V5"f25\TےMy%y!UHu*$[Fe밓},}nzs&}|B,_
+,wS(#qxN!0[[>Me'M9F*4IIe4_l''&
+Ȁ<kE Lj ̚iIΊ/"F$$71o8s|E4^VB`p%
endstream
endobj
744 0 obj
@@ -3074,26 +3064,34 @@ endobj
<< /D [ 744 0 R /XYZ 79.37 353.704 null ] >>
endobj
743 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F58 386 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F20 376 0 R /F18 377 0 R /F17 380 0 R /F23 646 0 R /F21 378 0 R /F24 747 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F58 386 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F20 376 0 R /F18 377 0 R /F17 380 0 R /F23 646 0 R /F21 378 0 R /F24 747 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
756 0 obj
-<< /Filter /FlateDecode /Length 5030 >>
+<< /Filter /FlateDecode /Length 5029 >>
stream
x]9d9W9k}@3A6`m0KZ}RGJ)=m0jԑ>T/o_>EK`J/_A ~R`܊˗.|B>jy$\3@͵\IέtqnOW d3JlX}owGzZ3;ZNƆ7$cgRr;/u36h9s@ia4S2-X5*Ofݚ֘J'fyĿc瑑L#e! 3>dSm;|tT >yXR8ߔaZBJFaN7[,KbdyG3U!-:|Jf=Δ C<ɜ~ۺm;){LќbΎ*W <xEQ oyؽa0'>
uh^7G k5 E$
-oqyOZ"ϱHӛ;A[wT0lq
-x jGYxs ˔ ^ܡ0uȚ~&Dt@6<r/T.opwCCC6_@7KY^2\V'/,`ZQMI[JihZ} 6V8m r/2&yt`vb\et53O
-sp%p
-RZZ%oCq")ųЋMxCiюnpEJMpk#3Oā)u~/3fjkG8@[3͑\Xf*R^R7~nI26H7_ ^SiChtq~OFs- $RKY:xk?%ŚS)~!:]R4o;ZU01癶m~&Ό>]SN8a%vQpO𮆮[K!(%Aehk`ssy.
-ۜ.q%Ӧ@lF_W ̴[[]\ȼ[iS/:'nN=щX o~ZOk80 5qWp٠zgd̀m~/FOdw}]]KܒXCȅtf4hf\uzWt
-+0Gt WY?nL݆ǸXv2j\2YEg'K7EcmMFr,boߞmX+{lpJA6٦% zy_UǩX%ziDZHy6{Ӓ?2SdK/H Fn=֧HV+ey<Ʀƅkzvt;řբB%}Xz5~@vc}!f~TUq.AT[۱ll~&ل鹉 uzc]>-vp6=nYjd^3dX/oԩI?jO|gu\oqLr5򁧓uߎ:sa[muo2&8}N˷fwgu߰$n:ݖ4LhfR'q%:~?,a8rlȡۤ峸-,S[P' Roz".,rHovԊU|8#+gwn\Bѵ
-e7/*Hf kZOhpˇ.id3-$aPnԈZ0xV>s
- n/W%N:RSarN7Tzj{w#)b
-y'W0PP{=X
-q(
-v%eAȱilGdMœҰ tۀ'3Ԍqo]9(1<X䮅㜓])(YV2%EP8)0c& vS^a|ܕL|rO4?շ\@0*6չgO8D9ݜڞD끖$G ۠CQ!;d<ֶ}-a2.I {`)՛2-Q; q_3 oO Khh\7
-Řvj\RKR? 7z%%:`a?n_փ;vC]п2yP'8>euVw-]×ݽ$[K wok9{uBlo!!t;Ũi Z& jDȩ{Gm Xr /]zpo];$[dof[␺q7"Y )ړn\,)(o}.HATM];MZ3 ?/II:_  qؚ"sWߖO_ yF,Wb81yc_"~isx,ʽŚW3Q+Zlq`:u\.F%k2B}L:XԤX\g{Yn"1IOi /uWWmxAG$8@)u`+yX'N[6gt)$ VUGJ?R$a 
-eDR{x֦ś.r
+oqyOZ"ϱHӛ;A[wT0lq
+s":u o{TSt*7I;ES
+!_C%, OUI.
++js\0-(ܤ-4D4bm+d⇶gcZDy`9q<&>;Ÿcjf,%׹)J.2\JPYF-DRgߡҢ& F~gH=4]iS
+5^fԆi%׎ fq*Af#?T <7T&
+&BuHi$6uůw쵪`b23mLe}Fq@9J@] ]?,C2uQJԣ<j]9]JMr,iG=Jyy9?Ҙ^4tNn j{ys,3!م+?p`fV1 kֱ A5t36Ț(^i|~<%< viN[4웯Va ) ?qbeeոQe
+(VO9.no#f39zp>/Y޲3=豆W<xi;":"M)lM-[K@8[PS
+NUKt~Y=kOp؞C=Igq[z=XxOn3iOOS{D~]X>吾fpm5#ثpF W<,ݸk 0oɷ_UB:n׀~Ç.o/ `*xsÏ]Ȃg
+Z?ZHàܠ_ `|p5 W@*^KƝu-/,HDo:PFS?,
+@aN
+`-z.
+8x8MFb5x奭i֙xnÒ3D|vdk6V(΂,rg{%k>"10_m,>s0500P;u fA-ۃm ~0;0 w++={Nʽ݅Uva=&
+S@g_»'>޺vHbTaͶ!u"ozQuE%zћS'&IXRzQv7,V]j i v7ݵg"_p u: >ㆱ5E%-@EY$sp%XKcÏ(".E[X{;5$
+fVbͥLzu\JwתeytI'
+3B
+9R:s(2֏EbB>˟^įI #HrqoS:$pWN
+ (lD `SIt!A
+,,n(hIJA3JIǕR). Ǖr9PRcL8 R1 !~ZiqT<e#[xwR^/O^
+byZ/dG ӿgȌ*sY@ia@Գ !Ȥ!~!ZlBqT<LZb2W ^*؜ B dKe#[yZ/'!]]wʀŨ8hE>6"X5eκrcr
+0R11 SGKոF}q(k|%4\Fl`2 ifr01h&ker^rgF?)l:؛qPaXTu|>ޭWc 0]2*EM~e' W?8 v7h]^vˆ fn$jKΛ_"Gٍ ¼5Ef'P<kO+RcX>5Yew>-3^<շT6*s4ȁ'%oF~۟ˍ߫xџ8OcMcVNj򙔦?[,fv2(tT,Y4> Ɨ*5tn=g2a^P%VKk;%45-no@Sߣ6 AAP4ؖ-DgwǬ%>_yvS_GN,$wMO[N@Ψ[Mm$}\aOw -P,jvH:c$t'<n9h<2C}&4Z
+eDR{x֦ś.r
endstream
endobj
755 0 obj
@@ -3127,33 +3125,35 @@ endobj
<< /D [ 755 0 R /XYZ 79.37 197.296 null ] >>
endobj
754 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F16 382 0 R /F19 379 0 R /F55 383 0 R /F69 402 0 R /F58 386 0 R /F25 375 0 R /F82 758 0 R /F17 380 0 R /F20 376 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F16 382 0 R /F19 379 0 R /F55 383 0 R /F68 402 0 R /F58 386 0 R /F25 375 0 R /F82 758 0 R /F17 380 0 R /F20 376 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
765 0 obj
-<< /Filter /FlateDecode /Length 4322 >>
+<< /Filter /FlateDecode /Length 4323 >>
stream
xˎ>_GA
}*B 珧) ULNjSr <+g ?&27eR
P Ťq]0=ڶ_Eϰs@}3 l%'s ;gum&-5-
R{lM$Gr[ ۳b{:8eq8G1أɺCPĬM;KD9hN!|a;MROؽ`ll툽 z ,bw;,&m.Pu@St<'쾖9s= .v;u>?+N
XK@sY(/,}bhr1ܭ;Y8\onZc䏡NydQU/~(sV4'\1ɩ4t{o,c&M(Os˓9&2坆e(bHa^QUH0ZJ6).3B}͓ODJ)!^S|kb-KbSakU St_z!b[,ZPJM)!뀆ЕC~i!c0(IJXnYHP2GJd76T0ObQʸBS*ɷ**WER]~bт2&cɲZIQ3[e`YQ
-6@#Vecej5F7n6" b3PF.=B23tZwk"I>% 5I\Y\<C2{HD $:I*! Ba\ ^Fj!NբuNnzmURhmRNe_dhNj,tZF9_W&ngLE㕓_P݋ug%]`?,m˵8$i-2ϫ\y*J菚n Py3uȼoYWu7\WGE\q^k,5:[>"P[$/誰Jj͐-+kz)<i% a&j!m91HD^Iq qJ/rF׍qKAI~Oih έlKq!?u_c
-!`7'ٻsqONd_,W=
-W`a PԣHTNMnoF*Qc*pȄjc܂n8 խ9Kŀ3&uE[5Ehd4 3d.q]N6[\XمKf،)RA*
-P^k8gb
-ۥ|ȧygYaxrX3C~UaS/'~ɳ-XSЋ&L=RD-7}*SF3hWKs
-w(]'oJOB%iB!e-qZ}WDz#]·V!mi
-g~p
-u@knJá'mVS`w^nDI8 dzv lj~˽Op,J`}Ɓ2>DZOeAԮ&(
-m*@?r2:kb>GCHKW+)kf201I"DRi=(wn#ƒH ҥ~x"s:u@IsA+{%2n9늹Fݠ5Scs2b 'ȯ6'Fg<-rQEԫ$›Q
-~\m*ϒWJSc撰ˉzbnԡnA8Tdk[R=M w!WNN,SBC**"~rpX@qjqTf9eԎ˻G;^3\)؊M>wIHwNo8iDn0^(oWG:!]ꢖϴD8M*%y?<6Q9ֱҤb"GV<gHs"Q{!J.K)5P8>9%iól:p;^f,;pV~
-nC֫7_.6Tg۵kZǎ&^ ^N\.+|DKٲM+BbZr ;Œ^ՂklV0f eOD cҴI[S95>lvG)>,]>ml5fl>is:-;JRs6^/)sCX&pQZ%nIU;nXTo/J!o ͝`p X'vmZĚjçHVMQud=[ƒi 8Kb ?9p׫p[*>Բy[*"!8wvD@:,ږ@tǾ'N%iL9#53tv
- <Cq }R- ޚ=@a r' _,ABK; rx7gi'W*f*kf C̬rlp(zblr(f̎t45}gáM3[1}'ˡ-3;{cfShL+=y,۝di! ,fd9C $Cv!h1/fTwUuMFcM4\vsPZ+M&؏:<f`/g쁻M8|\3YM=$_ji{Rꍵ 蘲Bsm绎h .4!Jؗݰ`1gM(<*f] 4Iݕ<Ku囯*~2Ǖh/ /̽&EYjZw`R>jHw5^5{vͱ<9ҴK[W\?d\@+7LNnT.ەv(Qӟ}(
-]i(Vsנ˸NYS[rHPz%X.OAd1=72ug†7ݢћoWo5rJޓмx` 0]LH|L-.K,8n\x9lk
-c?|\.'_k&-B,ObQ# 8o?afJωh, Kd{Q;:IC )mo:(z\΀-!?P@RԌǻ-e(<39oDs4Vl#$G n΁Gۜ[<FtNFneϨ|#P>Oq]>[tmfKT⑆0A#Qc6,JLTƧ%p3xw+7q|%~Z^“"d# tڍ. sNLCUxx4 P\ӘlN.\Ɋb<Zv
-ؽz&FۤE|CJx͕{aF>Sv"2O42j6<J Zn͠evI7ڸ^ ,
+6@#Vecej5F7n6" b3PF.=B23tZwk"I>% 5I\Y\<C2{HD $:I*! Ba\ ^Fj!NբuNnzmURhmRNe_dhNj,tZF9_W&ngLE㕓_P݋ug%]`?,m˵8$i-2U.J<ua% OGM[7o:d+Y.@rSt.~_8st5cJg׌j- tUXJ%f斕5PDE紒vj0vݘa$
+I T/8PȂ8E%uF̸LB $}44V%}F䟺f/AF]J9`߸''/L+00ƣ<+S,[l
+sث
+x62!+/$j¾l5yu#Fqδ>r1I}%VMr Ō#>ٮK\ ֽ:>1uv#.(6=fmʶT~6."{ *{
+V&L?0C|FV<!ʉ 2wvE2i;YVx(̐dFؠe t6<yl ֔>I9)_&b~'Qu_ư
+攑 %1Dܡ#}WI`ғdvIPHYDVձH9E;$a!f2-tH[>$c21XWT#@Q}?cvl&_ѦI`T R><%f6(\M#èp&@e
+܎)OyV&_N-Q+p?쳋g^\Y~ `h>&1YCL$ o׎;Y+YD Vv(x#
+Cݸ8¾Yd2@ة :H]P:DBPâ8}ဳphIT.$~rj3irt{q์$3fSY>j<A6ʶBn92\LeDXO=U6BJJŹ0LL0rZʝ戱#RsBl!t}{fPAR\
+^&h/bQn7(F؜X Iљ)hD,>zf\poa=*9fT¿׬ `eʳ`RTX$r'ue$!*U8"TOS]:5ն!{А
+>??mEk PGdZ\:UYN⷗t; y1Wa>F]A}S4>vt7ѡ6W5
+CQGHe3)NJIOj%jTu,4푷|x$G9ҜH^KRE
+t T|&ONI,;Ďץ,8_f(_iEې&vֱxׅS,0<+68R,CJeG){ƇN$WU3̟5H5qQ4mARhzQKcOGB͵O\NҸԜKG \irtRv<)==[RCs'܅|B8I}貅8w[yV/hjZ-|x9UST>~OAZ.h#Ēv8?6259Ozn*O*l|
+HΝ]F1"˩%n'/ISo;k0>qSȯfLhCݫBmФi2pBTCfPXows_P'҄zN#tü\dYIjJhY&53\36ʿ4E3}ʼ2f fpw$m7ͬrlp(nblr(~̎ޘ}>};JO˃?vg:7,gd9C BY*eZL;r~ad]X; =ױ]
+rgN#ehX{`?-#_5?LV$(jSOh3I闚zZ5Tļzc-C|/:졐\g;Zv6M@e78Xx
+OwBFnrr8M-.Dvw%m"R]7~kƲuk-ʅq,x2'8*Z KsIkVl]wW͞]z`s,!j4-R*!W-PfM:Sv0}gi_>B&rJUnv52F/CiAF>c|I8D){̢eo`Lw|0vhf[5z5$4/hap1;Rj.%+Sy ^?{N=X ~ĚI<3|~8B0/cs"/K:q^ԎB
+Dy_ۛ6!3`Kyc815{c
+ i s۽#=\<Ƿ~Q[+s`66xr+4+Qy3h<|ӫqfpeW.(ϳ1]x! m/gHԘ1ry{: ռ)d \< /MC\_oV.|#&#d|v#%
9z@>
-H
+IL]
endstream
endobj
764 0 obj
@@ -3186,24 +3186,24 @@ endobj
<< /D [ 764 0 R /XYZ 79.37 267.098 null ] >>
endobj
763 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F15 381 0 R /F58 386 0 R /F69 402 0 R /F55 383 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F15 381 0 R /F58 386 0 R /F68 402 0 R /F55 383 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
774 0 obj
-<< /Filter /FlateDecode /Length 4963 >>
-stream
-x=Ɏd8vRH$QYـp ژ{ i~dUCVTC&o?}?xSFh?(|!omƫ/<JiAJOmjda}Ŀ(&O=
-?_^q
-o1NJ~zY>5;5/s07JDk_PΏTkj(+/9`'|R0o2 + B-$]d*{3V\ RB{ë(gԓJԫ+0qKrlAx|5~}VGi42sby,'{<v7rps"z,&"Lmr ,Eb}rK%2qi"yWB7YڤIc.AVh#" ؈όޓuTT޼5Y&AB-@$
-2o+ḯC:װ݂P!揶ꨵq
-U' #S{DAKc#.ȰJ[V~䀾L,?%5h9+;_1COGޓ;'9om^-1K$$øqEAɤBv;ÅGd9[j j&)B֌b:vԻC5fJGm3 1Ja2c#4~%3gH!I6X*%*258` N\"YB> `+4{
-ݨ&` yG]hv\ s!
-k%CiR0MB0gG.pHќŁX"t<3\$V$ ,5k"l`4}D7>КoIi3>j@[W>Lv&Js8~&ݬ5ondd\]!|B\-敋*UtDo̰`SR97lA_"Lc$)훶*Cr/"_@
-:[%n6ti}i
-z-2&Ypsx}=Q>V)z\+^㙉sQdnK\u '':p{d.e6;!~F!k}
-e[0/!ƣ`&Pq j@bA<; TvfġJXzyR^:ogB̈́'A#x"PǪN~u~(eo2Ffʄy|2*Ktez/}eDۙ_7bSl^SvF5 Nl"}sו Pv'h12:Sh݀!`Ȧ)C4lx̻?TZ)uߍB$*;0"{Z3D.ώ.ǵcg=1) ndlN!ou* &ߨ?rGᵿ^k@8Kŀ[MAtj'qi<mBC "oq;Fo5'cg85S 4<E:~ﲒ!>vQG>z<.>m SM::9maN]E" &0>KoϥmJlaU5zWK&]0ub;t)}H|9VJy"3NtAD4I)ZWA(+iꥈ0wT|5v)Of-Qb9Ra24n\-Kɴ
- a>}ڭ(ͩu&/#^B )]bB鿊~m>wZ_'(.!l_#i=KFt(iu&9>kW3I{7I>ߝJڛ 𻖴d؝jӨu&?46D5$iѯ㙤
-WXi#=|G:c4]K6'3TVfx11z_5(kY铬ImoY$)Z{Zքnw._ZeM5t|4kv&4#KeMWҮ_5y7I>4kv&`PMeMWҮ_5y7I>4kv_˚IŬ&{5I&i(Eb˜fH@e Ɠ$m%IT:X Iz4K~Ќc c >ڌ$eIYI*O?0>͓DT\WDuQ ]a }q6T"~UpSJ0xQVJ K܆*lqvʻeq(b?TbkYKifcVC3(uh-RmViyS 5R0'I)-9,T٦P|FGd43xe ^ʞ^>n]>q*{F$RPs^$H5!ݾ>c[a݆^`FݺVO!Hm7#QQB[=: ܫBuF^{1Wv.s"^nm.Br,W܎(Ի[u;iG_יhMW|7-G_pp*۟?\ 7*ln|J⇥PuQ6_oYu`v2 SBV∛"ȮF0|˭U劐:U63%tpBڣ),[C8cKq-xqYIN. B
- TrFi*AVZjGڞW)yru{w"K f/y>EQ'"l#g4*٬lYAzy=ެdgMb5ݥ= \ L)smNR0o {n.[s2525+O2 "=QIo-+Fѳ57^7'KLmRN"GM[Nf`ajp"[^'DYձvoU؃FD~f>'!s>w~(L8p(OuQ#SO?z4U|MO6L]m}/ToD:•'[~.OWy-:߳FlX+ߔ ˸@nE:z,noWz[;ekopڒkqe*U0^\[ZPip uacTt =rVS< t#QK#5yӰ2MLSqoj]۳v}յ-?Sm-!cu<\J
+<< /Filter /FlateDecode /Length 4965 >>
+stream
+x=ˎ]9n{]v/J#QoPdewYudx^C=(Q::+B'=GHOQҕ/yO/.ܔ8}
+_ț(yRZR}sA핌"l:O4фOVӃ{ >I==UO/˧p{yc}<y3QDV@L憲'υ&a80Nrl.l+yΦ؛ho[YDߟ^ftX MO/ޢYpO*fLP/P2( <_=m9AL^U@f:#aw#7B] 7'r\ Ja216-R% 0SB<ݒD DeE'v~zXt8?M3s|6iB,2h
+]X`$/l"l1FBLӺu\T<-Y&aL-B Q;eU oЊ6o+aDC:רݢ0!䣑6hݾqޠ>u@82OthD/uEUrڲYpgFe!).P9M Lz:j9)4K@;Ы,f9u*>883W3^y4?z9lM.% ᤚ8
+p5DՋzw(@6]Z; nVINZx.8g@h7bΓ"a3 4ib%gI5XZ$
+)28-` M\  =0،d3QIcS!4L܁v{GUѡ.bmpZ!3zς#ix8dˉ@"unZ({ުJ iZp]SQ LOzUސoVU4&Zq1)-x&&]8|3dRT~ SԲ& >JƊ8a 7.lK)0h*UQtDo0c]RR%7l&IDJfJCKHW|>0+S-_n0):{FPƠI[ţ|xl "6M0w1kYG#뵙٘B0 a鞵k7S]mh6ںqssBCKkbC|+̐xC=Q>V)z\;,^ƟsQlqKF[u$':p{d󷮴e"!}F!k}e0O!c`&TՀ0edx,)&$: V:^Ҫ*!;7P>Ý Aa~<Vh_+^H?t:8eY3 >?\*Lɔ 3|.oqM*^:#lԥR ~
+ ϜۭIu7O|Z);E@#_}r8 _ng!FW;Xk%Yۭ@w?9r4V'y۽rȢ3|æyMx,3w>YėƜvإ}h.IdY_]ש? {,gChau9U5p홖gꛚ]#TN hSQji մD5iɯ㙦ӴKuwc<q'Kxb0cT5Q9*7q Lꢘb0q/Ce܂p%޿|h]'Ȩ!$I]\z_.>7B1gJ
+EkӢM"% ~5Uy8gUwM}ӴkpO&gju֋V[_0WӮ_V5y7MF>jz_
+)~_geZD,j
+D2#*uh-fS XHX$T,tMi+
+#@"=$kif
++8RpPdd"Ky]7#uϜ|Y it3EHoL-Q3o9v af&9O,FC.7Pk@ұnv)Ih=>աlSB ܎}w1Fn"옓ʍŽD1SzQ*̦w$6 lI='=]D ٓ!o #wpHsD[s@SyԆ,̫瞛c\=o|_ks ޚͧ3=3[Wg:Kj=y8^$<޲S[IWh 2Wrˉ,
+3NfğWC"oڬnvoi?2̼Mc
+0op|_ec| :ʨ|-)mxsua`CU_|ꍦ'>ؗڷ{"mII[ʓ-ߖ֑,߳}MvY6 5mJ,\%֭h~叩Ħp5lM-M[2qsZ\J
endstream
endobj
773 0 obj
@@ -3234,28 +3234,31 @@ endobj
<< /D [ 773 0 R /XYZ 79.37 734.627 null ] >>
endobj
772 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F67 389 0 R /F56 384 0 R /F19 379 0 R /F65 387 0 R /F66 388 0 R /F25 375 0 R /F16 382 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R /F72 438 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F66 389 0 R /F56 384 0 R /F19 379 0 R /F64 387 0 R /F65 388 0 R /F25 375 0 R /F16 382 0 R /F48 391 0 R /F50 392 0 R /F59 393 0 R /F71 438 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
782 0 obj
-<< /Filter /FlateDecode /Length 4201 >>
-stream
-xM$9> !q'MsC`E ÉJUW8*ql_IF^vyw(g.N yQ0Nh/F᜻|__o F uMCY)d0yAd6Ic_ӥ\O#pȈ<GH?7׌ʋ"_/Q2
-e߿R.
-.Woa,}/%,Y"<Hx
-x5ąQYEU
-Pxgq:FJAEYSh+B0#{f0{&\р"\ϻP# \hПK\>iyUK<t4"6geG z 偷/w#nЙyz" PlVϹNݜ9sZw3ILYUsϋkX*>
-¡
-&)z4]|᪍$|#lMjX''X n ~?WY
-kfKgbN H@056ӊzFAcc/s+浡N1U2'IWԆK
-|$qkp EY$OO&ʨ9D.gP[Vɸ ]vg99*q%&wJBofQڣ8Yf0IQ43K +Xх':--0Yܓ<Ynfin{v&MH9^|֘gNW'[wB!”1 c]eχ~S.4Q Z{^J[K^EޝnKJa^ 0CU1Z_d{J[m~?6)\} ]zi+#:f+evAjX(7ؚ^,oEʹ.tnϧ1IU*'}MiĐ f.Suvy1Ick:'-;b?6`7\DN!"p$%5&O[wByrr`:4wYSyy԰82LBy祧BwA4D~;rjjpVDiJV,%/OV}>ISlefKsfYyKe1
-4o[A"RS0qr n$t~ D{R7^⍲'W(x#ӛy5oiMlM[joD,kfTʒ&f̈́QO$xd0q;c4[ kDcVqs>Q}O
-&+e>q3fj&<sjߘq:Ly]Vh"g<Є{b-ggst<Gu]0ey6Uۑ)cejrp`9- .d@v·gg,QnH!-X"R/뻣rB(cqwd3$[|GBu)|4K(mD0|äbn]RHpC5ͷ<
-u#_-v;N}Eg~[c7O}Gjoolv[qKwwGFRQ=u)94/T}>A3TTn]PTmsh.Zj=dsŊ3!^/-svXa/\JG ?XJa7XY
-x)<
-/JRz=A2W%noD :a
-Y[B$k5&ʮc͏ܹlT|A8Ϻbgviصb JS'']!)5yO.y߷sy1=1!{+Zmt iExlhEoL"i =G%v,s;+*ݎUVx ՆK}<^L7y6Hi7v<4G7Hɢ^ ʗ~./m36k:._}佅_pBpSˇS!c|Msm 8P6^$#JvqDiy~$ݣq{_{@L6q}{vBQWo9b;Kg˯qmxǭiC` -Tj7I-Hc|c |q6ĪJaPi7uÎgvj,ȣ}o~Z+:cw
-y}/XD tE~D;9\.d_+Mw}&ۋ ʤg/ആ0UxB Y(<Jnt AW`E_Iֿ,k}қ^ӓYyJJSWY׀ L|IgNM fb9U*~\Zm2KSXJmxC-x]T\ T{DtE撨ԊEo;Y ikO ii?͒.Tx*!Ijmin
-hMҹ{wb@R0sZm@f^MN?-ғo`(.=9MM7Jp)k
+<< /Filter /FlateDecode /Length 4197 >>
+stream
+xM$9> !q'msC`E ÉJUWϾpxU؎"/~ï`/QD\.`N_9wnA^ ͗e1^ w?|9 ^}ˇϗgD r 8D<!#
+W
+#72\_QYʯe=J@F?*hiFEgUbWPGt*B Q +e O(4
+7VpEr?BJǓ.sOB.q UO
+l>/h?wш ڜ/dm&pލ(Ag鉠w3B[>n:&wsN^@ li$1VDgVk>/aW(D*t t 6V(7ᯫahtc5jj\ kd5*.Q s#A8e/ }L+~iŏ ϑ׆:Q<WlJ$]QS/ (2Mշ4
+iClJ>pWFK"48Hg^/ͪDEKKhdRb uLmUN*o.]O*] $N7n5=
+|$ *|xޭJfi^Edm'J& P1Pdo` 涘O ht
+}{B, K%IW)<I@
+Op(X
+-lf%dʮEs$Q;B?=NP|qL{t3XiOpc|Te1^M~ӂ1:_a=jeK q2bfDңVV-y*ѼLӫ$'kEU, Va
+VYf>Z52Gb 6^OS3$(='Q_
+eH+=kg7n@irڄ㵯1g ytu9x("Lc >fU|x7N?Nc`E%eT_)KXP(浺3Tc>q٩ulKg v5܁O71xW>zMG
+3tNV"1=@ϑ-Pnj5Xhi?/]9Ocvr<TN2d7iUӈ! A\X#Y#\c!7x5ktN[vtmlGo4lCDe39)LIJjjMM14tWuh7-a+pdԅ"KO7F3hΉvଈܕYJ^}na#z˶FL󠻗 jˈc>h,ηZ(SEEB`~DIn*
+֥n$e7OPFH7~5oiMlM[joD,kfTʒ&f̈́QO$xd0q;c4[ kDcVqs>QH
+&+e>q3fj&<sjߘq:Ly]Vh"g<Є{b-ggst<Gu]0ey6Uۑ)ce#՞n8rZ@\ɊoϦX㫣ݎBJ[3;t#7,U]ۓEl^XwG?tnQr[g-HR[RhחPچ$`6TIܺp joo=*yB[NaG9Ƀ?[Z%<w,
+y}/XD tU*mN׻ <.׽J]b2b 8!!</tU
+8ְp̒R;p깼P ?dյ0WB2^3eQ$*"AێwVB#$fkeZO JHZeZb0Bt.af~k;=̜cf֠x;WOd[&JxϮFN`oS\[
+h p+Ǟ0*D<zxZej)E
+_Q6䈍(KƤĞQ(2|)T6>NDc=J$1\_]4
+mBipj{fWemKجU,ݴso'ˣI,Ac76=:yvi9-EW~s8w6zyXNF$?ghRա_mu^կ`W8l{=;_g0vm(+# nvcu|&&9_S*iJww"yI'dd77Zz<_xtnQ6ɻḦۻݩMoR[߽ct4$_"Yn~VSͪ}wK1S5 d{~W^bZX_b-D |wB='fb0+Ŝ9,-ʤU}Qru@!j_#^dH'+Zv6e)U|yG`!ZsY
endstream
endobj
781 0 obj
@@ -3286,30 +3289,23 @@ endobj
<< /D [ 781 0 R /XYZ 79.37 129.3 null ] >>
endobj
780 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F25 375 0 R /F19 379 0 R /F16 382 0 R /F15 381 0 R /F56 384 0 R /F67 389 0 R /F55 383 0 R /F69 402 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F25 375 0 R /F19 379 0 R /F16 382 0 R /F15 381 0 R /F56 384 0 R /F66 389 0 R /F55 383 0 R /F68 402 0 R /F57 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
789 0 obj
-<< /Filter /FlateDecode /Length 6928 >>
-stream
-x]KWe
-+J/(JкTļO.ᯱȰcYC?q1j.ԓ}Qkʟ~=`(aL(x;1xEggD 9oClq '$]] cKS=0f#%05D'X[aU+ea'g|?C?#`9]i !{!@j|ʦ_u[x)eJxRK=銷wކvhBl7zϽ7#.Ҿe=#cKbE e]3B%vdBDM$+L|a;)]zKy&i -LlvtxB} ƤR@8W{uǻ|}mvڢZTk*A΍v`fDe~^B3G|~@?G[G G Y!!_`-ŮEҵÃwlUkP?•ޒw,
-ա~x_$/ÎK5|=𗨟͒We1ٖFĘgk];y+#bJgύ<S&:VP?0#L>P"t}\N9_1q f 㣪JsC3_"+N?s8+*Oҕ0T,1Pꢍ(Rd0})# J]ge'Hg ʢ# oGsZ S($nYTf "zϞ>`8nX8QDba]EPc']+(=`mĮ/IzKF 
-F=Ċ-+ ؎̗6D+Ķ$&V
-b;V2b?}WϿ/Y"uҏKU!T aURY<>Mԃ)WFRvJ^+3zÓXID84bJMjVl;^]83TnÎZ6FPX^.YVj_{OU+b^Sl<G
-DUJEj: X%0q3VPαrZjZ^b%W=iS;߫:j骾VqR+>.M+too}Qo z0'+8Me!Y Rz,SUmƒ!t*
->BW
-EF˅`_Eї";5caڱ3 Ra͖YHm-BQT{rv<՞6E )- ذbЍ>B*ŒYMrBR
-W"AəRC1Y$E;(xw2]EQ;C`O #=Y*ފuwLk;M%,%](̺fkbuZ[
-J.K ڰmjĶ]amuPQǡarB>S㎈zʳ˸BD=%,4#UGD=ixzE4-^%^izJ:b٣PU*+kgV"aJؤf"<AlJBlb c%#6%#ЬDO۲X)XɈV4= 
-A/T=G yZN<(ǀ{j`z*ne`)4-a^.wizՊ{g<=aB܄,%L_OO1.5/z1Ioy,WK1j)Ao{-AFv: wRj3o܆<K`h\-GXxm<*/g},W}Ḧy18zyJbbe:t暑.9~ϔ%mo|/ǃe 2M
-tC}hG6ԣDQªn%OQ%ϵ'7ԣ'xrώ(:џ1#&x͎ŘXR C*AߨxOT~ꌊ<a*<.I:c#irESI_Ԟt-kH\[I9"WUjޢ|yj4,*?J4[0c @ygK7Sd;,ӕIslҐYQeL>jb(U2XJ#]-͍[qWx: UfbzQxEa29(e9ZV9EǤLIH)؅"DM,1:ZVdJs(( q׫ i4L)XdӃi ]R競W4_};LI~S°̆9.VT go%ojFlm} :Tp+-LBX§Sxz[񥛍#~g=YQkc<vǶfC7$-_מф)SUJaqKPGo̺/y[ufW&`-`Eb?3֗\xXs5'JW=3ΫX~5'JW=7*L%,eJW`޹=r00ve'] ',zM t*~GS~pvm
-s0Ď]pesb=CC?Q*/] ٛ0HggVcܴdĤ&\"V'mYIMvdfdĔ6+Ķ$&V
-b;V2b?I6saMVk.==Ͱ 9&G-U?0b7 1X`%nB`9c3ߤG-[*7<baeJv_v9T98*7n[5σEnpj{1ZrZsrq995 [`E`E 'wc
-[y<I"OQ=l`zQk)6dddX` c~twhrNgXsZې +~ P
-d&;e~5<]fƁF;+Ɖpie.p ĩਲ_`@fL= ͥA•JZ"Ѝ%s"X.^d^'BbJ7k PTfj(ُ?y&(FW9N{>K|-_RAOk19_4o2*7:\0Ej}`'5xïm!jklEj>F`I\kz .seM*& n\.ҕ|*<eI{*&H$kҕzT(;bر4(;b9&egTA:J/ҏ #V=*&ʞS1S$lQ11O- (|n|FY2١bhcFX+\ܦYat7$/1 X e%!6R۱0r"<AlJBlb c%#[Q1MAq׸A61-̈d u151Bl w1s\c 2j#db\cbKcF-{|- 21Z%\.12of%ƐdhHɌ|GCUN&6MNfrkj}LKuNǠv̼7$}|ڟ~ d
-*S$R%DS2
-<הBB@M1E?DŲ6R >:ݞsIa>i*dX7sdweO#9g놨Fͷg;}<:JL]::Ɖ3N tf}/W= #_Yց3LђSPaz}vǗbj֘'J1z[U2zҧ?q/D`9i7cq,}Glttd/O'`⮼ŰrIaVQ-(AV$ /)!ec(şQȴz:h* ؒWڝV^YwZ!;^%.[xFhf"iPI]2K}Шp޻Nvcx9Ĵ󎱩^@A0_RH̥w]#̪ދŇi-~~ZBٵq
-~Xmnrփd5fJA<r$u@ƍ(/?K+,zNF$==ch Y?j*\ kPE'v2G~2ra+A*ff`#f==KUo܄3˔?zҿ Hp\ 8D[}<3Khƣ?xCst|aD= ;/'/izn^:EmɝԤ7;H)Jjyp'=͞!==:uh-Z^wm;zt*iS Iݿz-L57|p~T_M3xfm}8/x=Je=aOXD `u figE.!,%ނw};v0U$YhM%"cs,.:h=ƲYs:Mo>F䝉,,caR:v此o*Wˏ܋/.)10\2O-}S< |N > bc9-߇Yx$ ;=ϊvEH
+<< /Filter /FlateDecode /Length 6926 >>
+stream
+x]KWe
++J/(JкTļO.ᯱȰcYC?q1j.ԓ}Qkʟ~=`(aL(x;1xEggD 9oClq '$]] cKS=0f#%05D'X[aU+ea'g|)JK!>/1R ;P6cb;O)VZģz_MW}_F6CbCe{qw-y\+z؀L.*>ؑ ?60 7dC[t-ކ/䙤6D;\J2%*څIf I kL;^.u_Dp#|N[TBj-ZeT13йlL蠌pKhho'DCy{~ppĀA>!~ 6ޒ^(:^OZ4-];<h|Ͷ\c \-QxGYxK QEvO^PQhtmD<lW_[9ٖFĘgydjJF잝UV칑S?d,5҄Bax#r-͉
+b;V2b3_2b~ ͊MĊ-+ ؎Xo_LXAw 3D4%WP+.l1}e 1Z-~4g܃ zyȰQUG%/Yu敪h@9\U0*=^ޥ^e[R*⩡<WԒr8/r7< ü0|/1|%X%[^Smռ$BKr橝9j|W͸hzʯ{(~SMxzR¤akͱ[֜(zC7~Xxady
+ K6AXw iMQ6A8j٬:H5~pI@D%_2/Av*=89=&=8j٢PF)T;8)9}r%PIUo1ܶjEnpj{1Zrsrq999 K`E`E 'wc
+=_R%~-_RAOkqs!idU] aeo`uҹ Ej}`'R`5xïm!jklEj>F`I\kJԅ G&ҵ{ .dҕ&|*<eI{*&H$kҕzT(;bرmTQvFcM'Ψ-*&tJ_
+JEF{TL=bHآbb%[P܂Lfi:d ƆA\+\ܦYat7$/1 X e%!6R۱0r"<AlJBlb c%#[Q1MAq׸A61-̈d u151Bl w1s\cdԲGhĖnjZ)Z.2c;%db2K\bdb;ܕCn"%36MJ&F%3Ll蛜̨&'/ZAHy6oH:)?FU4z5HKJ;d.
+\5r%iR'B~kv:E}<hdBRr>x嵯Iike^|wx'a"XմxO@;h+?$L1jR~gjִOU~r*9ۉQ=fl`nL8ۖo; `
++[ +`n,݂2N
+G*^$? _xI LD*(Xq<DAS<f0Ė4bj]|
+9Z,~(vbFАf]C%uEG??
+g>,#pC>^C"w{":ۍ;Ʀg{>|K!KG.U˽\Ӟ[lxkO[s1σYS\zSIaS{]wZ&#;Dvi{-^}5[(hGTގ(N(/M^:D{¡^) L-IQN2e_p
+7SMǃ:87 ^㠃9/d_oðѣvs^E=M/]͋Pg? Z^ԖM|RGQ%hjyp'=͚!==:uh-Z^wm;zt*iS Iݿz-L5~7|p~T_ҦIY[-h? :^kRifa5.dVV<R-vH1&T"26HECM4'Xv0J}QRgBFd@;֩IGuh 5oerxɽ(=]N1\җyobiĠ}*6>.} a'INr/WRG
endstream
endobj
788 0 obj
@@ -3325,10 +3321,10 @@ endobj
<< /D [ 788 0 R /XYZ 78.37 808.885 null ] >>
endobj
787 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F67 389 0 R /F38 369 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F66 389 0 R /F38 369 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
796 0 obj
-<< /Filter /FlateDecode /Length 5734 >>
+<< /Filter /FlateDecode /Length 5733 >>
stream
x]K$7rϯȣFQ|?jw綻CwK#H&dx
ZAhMU&" "#iohoZqk| taqDH%wJ%?
@@ -3346,12 +3342,8 @@ NnQN'7819}>λ><1؝}lf/l`NU
$3bZt0m RleNk^o[6^_L7.e)Dk5u5!ķ)>Ĩ!Gʟq܏yǃ`L)B)>Q)}Ѕ
MŨZZ.o֧հˀ`ڣM;%h
^W%Rz}b^Zœ %?7%r?K׋e[$v†:\-2F뗛
-o15
- 5RU9pŗd%*hL"J="hSEyF>~2ЖںX)@lͯ䮋<AFՊ:*ː9Ӄƶw`R?Ȕ
-yq-#
-&o=oDR@OubFP.<쮴7OX bIP
-메>+?"ʳΣU} c%nWkײzkWe9Dtź^]vOp,5T#z;je W80`bl<ls T@%91P9ʶC 4J@Lmg1k UugmUތJ"e]r6W W4Zi^*Nie5.[ bizq(Y TgAؠp?UT<s;ʳ;!,E+k[Jp]k_ɔQr! U_K׿XxS0j "«Ffs?ypQQLO|[| lE
-~xUz<UzPlWAW  PcEzUPVHiK6 3ީx;q!Y?٧n,ގcJ
+o15
+&d=fzlr~Hsb|w6lDUumuf?#ԬfuDZ/\Iߍnkbf?[ZК24: BJRV*
endstream
endobj
795 0 obj
@@ -3373,7 +3365,7 @@ endobj
<< /D [ 795 0 R /XYZ 79.37 188.613 null ] >>
endobj
794 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F38 369 0 R /F19 379 0 R /F17 380 0 R /F22 404 0 R /F16 382 0 R /F20 376 0 R /F23 646 0 R /F69 402 0 R /F55 383 0 R /F67 389 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F38 369 0 R /F19 379 0 R /F17 380 0 R /F22 404 0 R /F16 382 0 R /F20 376 0 R /F23 646 0 R /F68 402 0 R /F55 383 0 R /F66 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
802 0 obj
<< /Filter /FlateDecode /Length 6278 >>
@@ -3390,25 +3382,26 @@ b 0`$HlZ;ZÞ㌩`N$(J%>X
9T-I1S#%2H%Q酋FëY$F`щ*9=N8юDkQKw*K]͡@"!+ୱMxC,iTRaUd+Z UC
3N)Be :54!x8$.eb-Eh1̀W2ʍJBD,`T:e_
4PQe&W3Q}LTr/*3 :3ItA,퀩
-*3#^i2f, ;WpEa.kBu>̥`HA<S3*p z k:yYk⵬k~Q+'7 J3 :pءx r1[k\oJT6qx!"3"6R_-@S77j-AUI+-
-bPxO]$у2>NVrؓ7ڳv m<a6'H%yTRTf*Fa$v9jdЙq<&{[FD(?b\q j8d]} |NXaᑫ^FwJ+]YRB:(٩a Vf>2Fw#^KG˭Bq{ƞm\5^@^M=ʰ>v(qFgiK`FAY#PtDJdx,YGA2qUag<lh#wT< Q}8cj{#2NOxN7 KՆNeU)$L=FI{x| ><Uv^]ޅۨG˶Vx^iWFa`y?Rs{Uu-~xΣqˣ\e;+~eYnq3Y<oj-kM-zaoSƙƚQ "©srg琘eEaA:y-aWќql~ĮA׸1l
-, a|\-P;}ĮW{h`=R)1~Į6
-;ic
-H}V8i
-=mL)P3
-Q~,q=^˿h$&]9ߕ
-QGM}ǎfLu
-f^ь) Z+͘u@=hM)B|t!O˿GG동 Gtzwh\g
-=85pgǠ"x"5Ǡ"xC"} Q1>h==C~~cCA}cИ2k $` P1*ݷ¹/,3SjGKGdx0" .~4sJ„p/%bj{)=u*!<3
-Y#
->JqǷ Z̔0燏 c$=`΀]p)A]4 <"fMΈO|;ӕ0qS0Ћ+ad 3x>a Aah?[{=_0DOXoB8̒ t#Ka|\PGFi= DM -r#xuzbEaJw>U{Ͼ;}bl]1o_3&~+1$Q+L+56F=k*wkЃwkŏT@opk0kdcٞ@\ JV*A9fR˚Im'VjL<ZAԂKDɕz)ߢLyn?`^2j w[;G:f~QK1p ?p,zs MlOc4JEӛ÷T:µ!b.]eV \X}ln"|
-1jo+\WyXY_0'сR x^M;f
-J>c~3)%Ж 0WKq8J<Ӑ3-%
-g-s(y*< *f@MU(/2dlz.>Yfo1؊5@@OܾbOvzKC>$n?f4T!jkzhٺWbyݳ{ByŜ
-x-*\يC_?&[:~h+`{y̭-֎}cDύF1:n74ڧJjozjё(y,}MCms(0jj{a|{Jp<qP_f@Iɜ{E5t!  (RfRdrkSeJ| It˛f{`F(WtՁޟI4gWYS@>xwCɆ-ZV&IGㄚW|Й{aOs9dyL/;% q-tS!y1Q?khpنA6a4q|?9gN{JjOԿݶoݿO$QwsvYxWr^=ut)@jޱ#Js:ı7@cDj@rQQt},
->X%ؘET}FιP""S=7X[q呯+$;1Ǚ<=Եy/{e9#vKQuko #`$Կq#0S B ¬ Y!@0G0ft&#!4uRAOEr|qOa-
-|=o]^-ÐSf9јvPQہ_Ο1~u,|8j 7RjFw#SMT WQN3<,ܸt;95X_0|]k<AyZ>7uapVA DFB߃'7p;C*nV̫1$7)Oδ
-nu;~vO, 8u@ZV:3gi B7Rٳٛ*~yC*HЭ]=ߔ0{{3&~l?o-a0o('Zj1sXEr8&~.J~fHHot?3&~nl3?)K65,L 
+*3#^i2f, ;WpEa.kBu>̥`HA<S3*p z k:yYk⵬k~Q+'7 J3 :pءx r1[k\oJT6qx!"3"6R_-@S77j-AUI+-
+HV:u
+s᭎K"xktӶ*iÉ?:>|Rol4X'_uQxa/`=18ITpÙn"pShp34
+Чͼp34~4NM p34~mS5UDq6Ё5h@A@}[_8Ɓz|4uD]n ;nZtW7nZvLi5 p{x@?5Ёp > zW/1ގ) C~_MQ"Rt
+eEX(H[a
+{Ow@x]m)Fy#\2 C]SRW`9
+%aB^
+SLu5{Ľ:L,RK_
+OlTH)9Prɹha/&>*ɭhOyU"8)#cH+erT2 i~1RP8C{ȅfĔ{[馦0r]l z+|jLa|X?*ʗ"DcE}n
+H9Qk=0;|g_G}M>1}͘}߷?yZ~vk |͘pk}asqM55A[5GFS_s * 7
+85
+5w1lTQRL.Sy%a{R+ O3eͤ6ԓڇ~R+5DRu]jA å JwD~߁oKH<0/}E໭#Q3foo(¥\8
+Y]9&᱿T^w *Z1BSY
+ۇdl{kMRٮ2@%#NIa.ؾJs7H_>Uul.+<, C,B~ / FUcB^H<cb/ HJ%1?DhKf+Oe8j%goiOd泖Po wK<gr3~*s26H=eki,f|sl?_V 'ܿPn_'xEF|KlYX3T55x=}Cpl^+1<=@!sǼbNH<lE-?
+ingZpxxI]AG;
+[Pο|[ -|zƉT♉4 XYM|?!$ήo콽?Bswp670q7hOL~9^" _9?Bgk%}?3$}ng~f񿁟?B7Oݙٔ%AskȚ xjzaP…;
+ur&MH(]kϤezm6H6RͭN e6%õW5єͿu_(|>6^
+nG[ b]peirD$ʼ%VxBk|@͘ox ZϿ}+<b8h0NE';
+ay8c(]QW %e<5T W8(Pj'[>!n
+o8o?}_oyQqT,iE!G,uf/~^6jF%3qZ>X1.uv$cV2 Q>:-2ϓ/xeVL U"i"Mޥ|,03xCb?Cm
endstream
endobj
801 0 obj
@@ -3427,30 +3420,30 @@ endobj
<< /D [ 801 0 R /XYZ 79.37 249.733 null ] >>
endobj
800 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F76 804 0 R /F55 383 0 R /F66 388 0 R /F56 384 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F69 402 0 R /F74 478 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F76 804 0 R /F55 383 0 R /F65 388 0 R /F56 384 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F68 402 0 R /F74 478 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
809 0 obj
<< /Filter /FlateDecode /Length 3561 >>
stream
-xˎ7>_Q?Њ``-)a(QGWLtH⛒re˧9~}٧EYaן E-! ࢰA-_-?<J鴔޽FL"Vo
+xˎ7>_Q?Њ``-)a(QGWLtH⛒re˧9~}EYaן E-! ࢰA-_-?<J鴔޽FL"Vo
(IC6JipMO@"wG
qe2Z&ё[H^{0턑OzN
-'YWŋLt|&JG{z=IZx?lp0f `IR
-V&lIKx
-, b>tǐN ̡7G
-_*M(ngaiŝ+XcL[nZI'iڕH+=-<.XXhܻ =#Kgr+-)%NXޱSNډxuz
-Ḱ,PEu eECEX h^4B?΋)ԕI!WS`
-=G58J ׈wkC}+l;_!<ATߘlfȓL pRu>x٬>`n1N8ϬԍT%T5RR<<="3Rhէ&&o1j`|U2 {,:A(ռ-ZJ%d3esM;X2mj炚"J*^k'{1`ƀZFK}wJHP@[Z=fsxӁ<gI3{,jfm,j o(a*OzYǡa^dw<aX!o+kӬY iBMulPC]J8T=_O #lҴW5o]Ƀi!I9$ֆJڭuhH&<NXٙT iD# ֬#U8t/2n%$&La.AUYL]<QS=#9Dvy:UfI-87\gkibٸlJz.S_Yh؍%X&Rn\#ee6!6/eϹ(r)jh)aTFnc1W6 H ްb >Qeɝ\o*hLM b/yfFOV'qv޶t.aK"݊9Vcr R3! +WU̺fq n(c؎V Xlf|l/Xc+[UMu;O1$H\k9Ե" z
-.{ǷUؽ[m[?&%19fV vg)"B$qk.}i+ɇI8f,@Oq&>ż-˴Jx򹣊sYnjr8S(Da$t: Ԫ$tfu3N3uZw<99nyi
-,=ZfyM
-wJ>[kJd!c=4ᰴC{PŃűV".`E]2o$VkR&mP\3{sDs>~8?ٛosSCEZ =CI
-iʵg-
-MfWsYmo7"_sr|`R*S&uJb׵'=!"4ˡFӲ0|Y`i
- "Op[-o>g}OB`pxso,jv ZDٖ4J$36m2|)𥽰U-7U*1o
-|)ݔ6ӵCXKzro~ht莙
-|h}`yȫռhXh1pzqAT=E##w H[?9&g޻$7Guz10vff @?r^/EӨbQӝc41O^peݙ(N۴ `c?
-Ӽ؃K_٧X$; ӧӥ;Ck-T/3т/UD<l 5 !IEYvs|&\_xeMAտT}5 miSz4h(V_Am{j@p5MstΝdM}-Oi]|P,w%xɤ*:ΌjL~Rǯ,<7Tvo
-s^% %nF#8A߬\TVRVH h,Y$uk0P"_n5{4@/\-oZg"@cZk3LF\gERGe$QW^PzsR=bu*:̃2\.2_h=`M~KDF0 YuЌPA&zYju_B<u?I4hWKC(X":&w -|)U/*sh }[+KBuB׫(ΫҜ:R;_ȶ˥5Kgs ֏/H=}L74huAa_Ia"
+'YWŋLt|&JG{4c]Ijæ G c
+6Ɛ5UL믪셲!7 Vbk{*Δϙ6dK`nWT j|(q$n t\x\{!ueƀJLj>Ttk. !)n+C#}CQniqOO(qz'b)tlj)#Js3v@~r<AdO{ib^MVf%^
+5ֱA u){'FSDO| >uڃ H^A׼fw&9Hd&X*k֡"8{룣zcegfRn,4F8hz0X"Wr2н?˸CH
+3͆ T d2vefkDiNHj$漷zs,W՚2Br$mpQeJ)PN}ea7~`֛$kHq-\ؼ=z΢駨YpQmT_ݎ;2, x~..k(F%w&sR$352=gZ䣃yӹ`-t+m [u˩&hHTs86\VٚV0뺇G5Cc;Z&6c 3³c \@>oI6W5iت <IƐܮ{#rPH3p)ܷ[;Vnbo 6CڒИ3gl+3XC܈CqܔZ!MԸ5I>봕C$]3UCQbޖeZ%]QŹ7`T9V{RܰY:OjU:׺ZI;Rg jyduQb4+^@iMjq"pPd%|s
+u;)47y!`;sQ:WQ
+"f[{![|_2e5w poR8<?yu҉0lpReD
+ǭkZ^n .M͝}
+fo-3ռ]T&fD5E%~O pXΡ?@ul+X@{}"N7]g5[H6n(Pkؽ9RKK}?K7N"qo-q޿^$_ciZa VA3 F&c ~sT99>Gk0)
+PM: %ړRaPiYOMAHy,hO|i'IfO-ݖ7tFųg!08a75ddl} z~6QXpg^X*y*[q7nlWj!N%tC?4artL>>0lUxj^l{OO4t j88R*M쏞p㢑ʼnS$X̃3]~txgopq 9I"iTVFs(1'd/82
+LCqmZJ^aF؃i^aAV׀S{ ,fߡIݙhA쪉 GE[{Cv,M9{>N B/첦_*f>) f=~4vDa6=5QC9Q:NV>rZݧ4M.Hv|(oodRc`gF|N 5]v p)W҃ *
+c];;"Nh8V<!+Y7 qKSRC$(~ZZz?P }?0x"%%iXth8 _EKV13[ 0zDWҷ {Ӓ1"J*iTI2YpW2I2l5k8t</2X4Cg%Cdn=)')tQ<^l d97VQ^ vsoOG M`+Z+{
+Jek4tt|κ
+5ЉʍJn?mkta= .7@WUOt s
+Bo")DƲ}W(s/uO( 9)
+ezMLfD./E&%"O#լxhFN ( C,?!KGr}+楡NA,{;IWԆ~]DC94YEn-ԇߥy!:!U[UiNK≯mdۃWRݚ%ij9GTa$ޞ`Vr
+'
endstream
endobj
808 0 obj
@@ -3469,84 +3462,67 @@ endobj
<< /D [ 808 0 R /XYZ 79.37 771.024 null ] >>
endobj
807 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F56 384 0 R /F57 385 0 R /F65 387 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F56 384 0 R /F57 385 0 R /F64 387 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
817 0 obj
-<< /Filter /FlateDecode /Length 12534 >>
+<< /Filter /FlateDecode /Length 12532 >>
stream
-x}[%z`t 0nkZ%`4X-.C6`=w#dsԌ'T}d{/O߹otT˟?RKHտ޹+
+x}[%z`t 0nkZ%`4X-.C6`=w#dsԌ'T}d{/O߹otT˟?RKHտ޹+
͹ҫsh
--_%vaMA)G`5Ns?zξ[X' T?ߞ,|>BJ#sN2_eSC-@SOF|;z`Hoez;j<2Rhtrgw_J G}^%8|c0Q2>ڌf$uf} QM ǜ2So?꾧.WD'$G)/܂\Յ/z?0ѯ63埯C#u1Bj̤'DZH9G͌a䧬]4qԪ̾嫬k`0O5ݍǶ3"F^$KIf=ѣ1 ч1ޜg뵀5+H활AkvkD+zx{{sa# f_֓qVkp/#Y<+]M, 4CFalPA$l 4_Z uY<\nͦ0\<لkXy^rC 髍`ۣxHDbkAK\tE' N:z Y%,<D%R:yruGµ[[l*T *e'RW.ߋv.@^ Ќ _)#1vipձ^uN^I5{罧g
-<i y`-gBfj-+L\#c Wf0`&w H^Wpbض_nmUVǕ|@l>\WGD摭a#7K딟v?jC~Y~:4xpy~ vWfYa^t,_ޛ7>Лύg[ _O*v+m/ =v5Ny 1@Y4$^6j8j"X&6S@];"H%= ֧P$#X$M㟍xK,ѿ__ zIk4vX!ݏ/z#O툥?(Ÿ?
-Ƨ>@
-*i@"<oǝ* o<9>sEw_CށDԧM::vǧ;ZOgۊ|#emIEz=Z;zܚ'irJoGimէSmrν
-Ӓhz٠nMO7$⸘>8>6[ PʳC?2l'm!<; 5Cb:*O&Z?hXG im{2ѻOHtEd3%f^=}<5MDz4$;Ğo)Aus#MuNo}յK9El!S[1N/\<;EK9 KeV'm*x#>[~M7/ZW ?IM5ezK~"Q[I>VVZ}/g3BkZk,>[m"v1Qc֮@1r(CN^&P51V\6NhI"Hm"Kb|9Z)XDrhmJDB\W{{>nctFRe6Za9JfatF*QOvkU%%*-SNn(&V,5f;1MYa(Lդ[QqL6`*ͅJh oOŭQ]uc\a#D
-M,ͳR?X-Al*5CE[L{b
-#`5lRi3A4X1
-R5 .k\Bd]0r*ۣSr;|FiSM
-9ohMxUۄꚘ|9ղ|T8В\PO~TXob`R@ivК+6m@s] mWl4*9G*=ef":!"TvqS5CD[ґ}qmI G ź`kT(
-OadKRq&~O40
-NcVWU{aʂ?(tDmQ8a%<SPZb%\nBbw  QC],38QwwΝDd=zmv2nddOU!kfRfFd
-f
-r)3sٸWA_:lh͎
-ΰU1 mb9bE2xFE9
-N{*7Pmh%AfF| ÚS$(A',7*cJqƐԗ1YA)r&4vsct,'$ ^Nhk^Afa~УI~f븧Pz@dp4htN[hL
-F1+7Wm[iwЉW\Oh&U@ h-4wj׻LFFAhfPc/ Zqas씕-DIF< OtAБ+^[2qGKi)D("Hcz'g3+S@08H!`
-+s}QEXRD9!4 -xH$Ciܩ桀0DOQ6vx*$* |-r@rMMwj
-AఏT"dq4T0T,ܧ&j"=yef saP!(+n` CG|$h᝝S6x001R
-MU)B!va;uxSQmN蝼%A
-h؏Hw p֯9n(ζ
-
-K%
-Vrc,qDr'+|cf(
-A@U02| x"VVH d[N' ֆPbFz'w94S 5EZ ;8iEp+6"(N1UF1=&Df-}/F]+eUPPm{B<z|_;F)$,gJ́ /c`I5
-&©ĨUqsS%Mdj5 _ƃTz>G?ǗP> Aı:wj y!sLF ӣEkxd4BtfVr
-נ%GVbϳ`N'A \4,FPM!zPQ"
-uGih12I,+w z;9N9 ej;-Tl@3sqK\$5"5C_H |cKF
-
-aT ߓ$MGVV=khz"~/Bi9+8ltC$
-d
-e\ɪ@dNVa^68`CmSz":M
-AAQ
-5u:OJH[ytY,~< DVD{nX:,ǓjW >i!TNce{ 7XI \
- 7T
-m7ӘDL&|<@ &NhH,iΆQy: @g4O
-Aتeתf:І3%hN F!O G3j$(Zh\-p WnfT={΄AI/.Ej+-*-F堆ae`Tœuغ8jE% r]On4]ŽdT|8Bn*]tA~i0d|ZqSE\:Ynhg:^+Ǹ;
-w,A(Tt4hn]Q%7-wf5}ıF!]韕 -Z8c1iJ8h1X4XʕV} d3Q gӠ쒛 T)Z%B (G^,
-Vrc",vzr4 xI@(<_rh7*~fGQ]uPg_0D@w}1D3 xPPI[C<9uQg j4S<.əZABfw}Twt쵂wۆ3;^+U5<[MfT!OKnĿ)ALmhԌŤ!˹G9`^,jA>_!9h3&GQ gӠŬ͍g8vVGi(3 |7Վt' [DOF>س#/;ML_d3
-bd]nO1`н&Qq6i%oܭ1iJ6{| <vWU<YIaKUոɓqS5҈L>|'iÒ1VAh7$'ejK>i Q))*CݺcR:KDmXIM
-(m3IRXR3|5nӤnNAF<٘4%]<9,ՆX)-SCeIT*4I؍]$@=fݼk8&߮,1yB2 QI}i;`5`&O
-kdr&@LSPQ}%S6&M hG0X%/S]yޏoxmL3eQ) 0MFPus1͔EI_n~~Ogp="NJì&N-a*J_Jo({SWN?Ahi[^ԭj>D#A0rK~ xiA0lƎCY(oow ]p8.SG7:E)~`\"\ߍ?pU&BO]&ϑ.MIj"Gǟ\{)b !!d|{if~-H \w~<?^lKSl#L/mۻwDL!|OwDl!|X?~r_?|_?|_?|_?+HSB-,x/v8^p!Sco)Ox׈ajʠaM
-=yIA۞6TcP~͒b⺨#'5t` XW?<{{H0 $ f: ]0qL=Xh 2_D Ug5E f*8NАOhHĨw!CC?f RVyFdO`Ryҋ*w3S= eymRGf&AT6񁓔N$qނ
-3H^2ަܨeUfWs:T!EVH՚H]7+8#mP ( KxyOpfytdc$x!ak 
-kX1$vD#`6mC+eU'N*Tjev4
-9@eN+kԕh
-f?+8ڶh|dbҀ=E¡΍# |B[
-k]e!ӘMaQi1έЛ֛0ةqTQk<G^ R1?%8a  E4?a
-*벫Fņin-hF>a$b\0a0!7Ur
-Tdc~
-(5]3 QwW_oJM"0e! =74aO,zz5 L 1^[[YoUǐmXl2"<3SQs*K|!ra_F<tj _GG:${j-
-$~Q5Z)
-M((QS"G
-5z,L;~gC;aDGT K
-z~UfUa|4{zyl4/}iCnDLtIVi+xaۗVvv|ԝGzc#6d_UEn(`L*M4ҙb⼨cWH;\ Q/F3[GK}p47v Px$)pCjӊkU b
-ar /{=pLF$%!PcǒF,%`zMq0'(]'PXA$EFّ`E#a=EBdwUGZތYA,r3vV[ d!CqB4%BuP
-⛈=$@dNĂךBn2NwFjF NJbF(
-l2^j DF-c zV Ze䝼%?l!* AcG~VkǢJ(^TCmT*S8.pAڪP»gD@d0QlS`
-vA+8Pu[431Ϗ2NySw(񱲈e nxпRunpjӨįqD,uF<.MV%4Aa6cD"Ƥay`6 rPwQU@0<7D!vմ`\TQEUÖ<٘4!?8F k8t>]`EgatĠ{xQRR@d 1KF2W ØMVTQ{Bb@m׏VQ! ~g ö`˝ػqfE5'$xGP,HՌմ`x6HQy\{Tl E)L8+i&>cㅃ#ń7jJ:7WA3mTqŇ%w#pC3c2))cFSCZH7=4Fs_J#Yei4*& Տ*+Sָ@BnZIR4#73%?|3_?|3_?|3_?|3_?|3_?|3_?\~3'!E"y|!}&g
-VT]I\RdrWZJVȬp]ۨnPwh
-"\ T)ZKҚZb_(kM^E򫬃 b"FiWS6| QRud
->߽ET΄&Nꛬd_O T=rB[E`OL </*cjQo né2ИcVnڶ81Yiwug\OhUaJ6EL[{7"__Kި1c:b Zs2q)+7=WU[DD#G.wVFW'xt4^]!aX=b Rlr;i":kgkP ~=*;D3
-
-$v
-D)TɌDs/:V<ƽHa#0iۈs!0[U7!2m[/]-;jۃKM(& 聏=o(^$볜gBA(e'w4/{D{m|\TsJ\a.7g?U(
-Oa ʪ$dKD0=}Os \w,Wz<Ǵh0=Z[GKF#DG1c즕5h}OYl ~Si„o7d=-ih12.s $N4nmUgrI(S9hC<7>8v}pcǮ]|pӽt/:݋Nӽt/:݋Nӽt/:݋Nӽt/:݋Nӽt/:݋Nӽt/:݋N*M7t#>P: 9XshuOs7&5̺ȈKRQ(e)R>˩ompXu؝ ho&-t(=J~ N+=+į! M"
- l
-.QY|:vwI̛,J|8QAϢTxnߋ.|sT*= mR22KroLY?i13
-ʩ͋~o
-rM o7 gL OUq6F _E4 !173rܟcT/>Xu{"e/>PV? _ :?4Ar Kfi~cE]DŽ|d]'Mߘ/[×هҡv(u 1)֮ZbI}{{5ӝ߇9I7f}Nԡ75};{~"zk'P@A8^lc D$c~h!հKN_΋n/}`
+-_%vaMA)G`5Ns?zξ[X' T?ߞ,|>BJ#sN2_eSC-@SOF|;z`Hoez;j<2Rhtrgw_J G}^%8^1Q(NKcmJE:Rަ^cNsOǷϟBux+B"?#}nAZVLj^^WWrI˺|]fғX$͜ˆ#f0S.8jUFfUV]ʎ^B50g`omFϧc#e%KBOј?qPo3AGZLc꠵L~~q=jス9DȰDB]Ƀs~skp58,Ӯ@lw!0hZbe o/,SVvv.fS.lB_?j5<^|GF0gi|<$f"gе%QʂY.F=,HeTwsju<p:#Z- Ft*i)+E;}/xnƄphFȄ/񔑏awִ\F^X
+:'l/$ܚs={}wo3i4d<3{!zm&Ui.[rܑf3q0vX;G$/P8?l[/zJ>_6?ẹ"ְnإum;5Cw,WaRm<<m?SMGV,NS{:/G`hF3z쯏
+<%_/?5;}N˧vҟnUOF?O/i=aA XP iykͷq[GDpl"\ ᯡB@"Ӄ&J-m?>2q\"=U=nM4m6ک69^iW=lPQ}vq\LC]PG!BɓC6BP!N1V'-H4Gp#ƶ=ݧ$:?v x t3O/Aߞ>&?J{\l|Lvb7: ]Z"ᎈ)B-B^.o"%\6qGLh-?ͦ  -+憟ÚƲAP%xp(͍$O+ka+c-䗀3pǙC\^wl [556Un;јpݨ1kWwS9ABEvs`ssa(͚@J+.'$fx6%1,"U]9JF6%"!==C]S۱:I\2m鰂j30f#l(ħR*ВX)'7od +a˘&U,bjR-٨8@o&0JRBsUVź` i. ^``IH&FY\,Ɩ 6~!-=[~rGw064 K Bd|5.dPܮ |9q_Q)~>L#)&蜷
+
+rmBbuML>jY]>*LvLhIi`ykA?*7eq10s) 4;OhMxU6b܀չ.C+Fs3PvUYz*]F)ؚET"W-IȾ$ #b]5I*ibOY UHz8A' ]fdiJOO
+ʨ!k֮@Kj;ŻgN"2Oh6;\N2f͈*53p)d3S`#zFZ3c9Uw
+9l\+/6qU
+fGgتNLjކÇ61c"Te<mNJjy
+r/'
+[/ 0 |?$S3uӊ iEc 28Z4q
+-t4&a옕-NɊ4;Dܫ
+r'4
+* R]qoe;݈x|&#y dn43 JLk9vMU$D# JC}F'A:r B/-#Vեv´"xMvVdU)PNd LPfv0,<mu@!FPG@K2G#%oMr3RLE0qȠz'_1+8ce{sa:s-}3ݎUZZj7 .wGP&`
+m'gaz^D ̼%AErHiQi0kĸéF6
+Gl
+>o1| xz*><y+ +$Ue2-'ZUkC(1Y
+D)TɌDs`\"ZBôm|8pB'*Uu"ܖ>
+B۲*(Q=XN d!=q #ދfOڳw 1{D{m|\TUbTŒu9&FQx
+[dlDA~*=@QܟK(s \X;5<T9Eņڢx<Z2!^_ M+9QkВ#tfvcYo It}#} (bi:棴h$Ոfg'2[*6й% OQF/Dx@>%#0^_hdO]PaQ̇L ¦#+F^54=jMx?4On6:P!Rtk^
+0VSފri щ! D)T=d&xtà(K@ƚ:N%-A ټB|T,
+?DPm"v=7,]UIx+*1=TɋDsm礄Z.
+Ia쒌`ͭe@d277n԰=[ ;3 UwW_f0&x-q qh*"|\W1-'#>oacFiLlRaF> ]k '4$|4{\gè<NF3[RF' lղkh3YM Bth𙎒kv'ƆC#jdfHxh5F~-4.8ǂ+R@3=g g̤"#rP0LY~20*aŇź`l]UǮ'7_.a2*>!7i.uMؠA ?n|42>J-и)"N.V,e3x/L|cv;
+JmVn:P4 t.(GPSC ϊ܌;X>nT[HsF͐ծqVu4@_EOAF%x vv,qUuz\J>Zm2ə3ibvtOfVf}`/
+}MN'3Ɂkc pT Z쨃Vðx1D`oE%=P 8|Ĥ'!l[zmÓ9L5QOKfo*8#PmP%3&(aQ ؖaGz*[f` 5Ug j<SF=.ZAC՝`4Xv}mjԹ
+0T)^-g0&a}T c_gj-ۄ"6{~f j8S-fLNJr4Br4Xn_ښ@sN~U6!M3Q6V63
+T)Vc1IϦthc-^,
+WKK,fƥ*gjɸ)TwZdiD&u>4av 4_Tp2
+^5ݥE4I֨T]LMa!n]1N ݇%"OD$y|&MfN$)qiR7F΁KlLخB\`PjԔۖ$*WdXHӤJIƮIJ Vn5 o<NumX$Hƴ^0'52U9m)Ѩs)os4#,)e
+ǀKmж\ 2̨&SM#(X}{ູטfJ/a? ?'C38%aVG 0Hz/E)+yޟAh| 4޴-Ig/V~5 "ߑ V%?@4y 6cG!,7ỆSiD8b|HD?#Ns"?~.|.]Fx8]\p']EK]&$w5#=~avGmM=4_3?s$Z?h~.ѻOn~S/A6^nf%)B6AR]
+;"'a
+;",\~ ?p/~/~/~/~W)@q;^Td/ )|'Vzk05eP&Ȟɠmϋj
+HZ1(fI~Y1q]TF^:VnQz+sb==N$xG[BP.Zb[ _|rOS̄ªN鳚 3~q'hl'4G$yAbT;ZY !!cN)|xH'l<\wE;뙩Yٞ@lնE#3 *IJ'O8noAiȉJM k oSn2*S
++P9fv"+jM
+$ԮSUj%DZ W'8<e:@ 1wku<ʐAb[5vPzeu0۲*huxsd*5x؈\2T;[Am
+VMUMƸ`D~5#ׇTUX0LuHlE"0KuUb44# Q0Xa1.0*9Q{xH1?z/vE6c*x;Y_+2yj\/YeA3q:6
+"<ީ Lb<
+UgǗG6f|$(Ej (DFRB#86Ui@؝P܈aQjG$|%qK!w,w 4A}7>*4!3fS{֮@ZBZ;ū7M& 2ݐΰ'=g&KD℘YD-¬cHrۉw׍6,JrV@nX)TɌѨ9
+%R9{#H]:n#TNKUGmQgav45+SUCfr?
+(T&)I#R-8}*
+ݙ^m]±)$VAjcDrCREԄsZlL4&QG))Q=šLH0L#숅%
+ӢG q 1AzSbS}hwMbd+6*8Cn !1G~ 񉩁do-X9v /Lm4 R逕)xk\ b7F)ϑLޙg/~拟g/~拟g/~拟g/~拟g/~拟g/~拟?.?ِ"W~<>Y`3l:f 9}mLGxaEWGXE
+A>Üvuc*@װbWcͿj6wF8>XǃD= % N{ݗ&|\h`U=g}=jV-A\ȩZg!{S(FzeneI#q |x>Bfl[<e스12moPV~((7󳨌ۯ9|I*c~X5
+2C>.3y$oʘ~xX?C4yviMZϢ2.?8<*ۣ2A$dZ<9~Lo9s,OxsM`cs3!{q{ؔɋ;"#bJ{#bK߻\ Ko^_|__|__|__|_ſ
+AAu(3+lQ^J.ʤ{.)2\m-%@dVEmTR7j4f?rOf%siBȊ zVv&/q[U1~t\)UCbv(SI:wb2fyޢ{*gBmhMVi'F{9 Yq0 |'&y]EJ1 z DQىF7T\anhL
+F1+7Wm[4q3r'40hY"TC_ %o1IDGb1 J9kӸ䔕-D}"V"БE#; E+`:r|
+ 6hK:M
+ 6c)F,ب l!HH1+8ce{[t3LgEQb VjD ;  ,)Eh c˜M8Q ̼%Aޙ{8b(BSk\#-N=܎ :Njp+tߘ9X.M {l`0vsHMz}pMs䕊jP828(`Rϑ&A2z v`^bCe"* vX%E!b
+H9E0 7'7#TL!E{|VӸS6p&jWc`>гȩS&O϶}bP'8#UYir&|[>`sǧ5<}JW#2Āk@p!",F8sldd8s3LcF,;UEnH loXN]x8]m
+<w
+D)XɍQjA
+ l[?é4aB̎^Y7j
+lŞQ|Ŵh9a]'p6C39i$!t\>8v}pcǮv>8v^tE{^tE{^tE{^tE{^tE{^tE{FtlZ(`,wJ9Tf]d%)EHNMQ}68|:NH|:o%REVX'ڕcxcא&d6 fH N,>Zq$MU%A>SKDĨ[ gBS*<E|~G9ieixֆ[жXHiC9G7&|4_hg}idųP vN OUq6F _E4 !173rܟcT/>Xu{"e/>PV? _ :?4Ar Kfi~cE]DŽ|d]'Mߘ/[×هҡv(u 1)֮ZbI}{{5ӝ߇9I7f}Nԡ75};{~"zk'P@A8^lc D$c~h!հKN_΋n/}`
&ůџ_o1VC7mzEJ$Zp.x% L%g?L%AE1n%u@_I/v:}aU"-vgeJ;iI?^N&J+iz.kBe9P\=hl˼XgĒYzG[Lһ}MFFweWuSlڸSA\>P6?yv&UvQ&YGe|]ǻ2ڒ/y׏,UG'_y"5VεwJ7)>&Xcb+G;#G
-o͂oӫVũA=2Okβ~m)hP8~bB]V>xs;S'ԓn^ޖ _hDMk9D-~, _o:FX<}T+[+:8翦e3|٨Moݿ+`}!t{:v埿NnR{G\X J\q34J سYNi+̝۞&K5uڑҬߊg<|Ql]wMsDPDF͈&Tݱikwo7:l%NGJ~8SvSx.BJ=ZA>wAk.oM^ ;]=Yl
+o͂oӫVũA=2Okβ~m)hP8~bB]V>xs;S'ԓn^ޖ _hDMk9D-~, _o:FX<}T+[+:8翦e3|٨Moݿ+`}!t{:v埿NnR{G\X J\q3Tc"g91<3wNo{,F`ʷjGJ~+%-G9`wZ5Aْ5#P vǦEݽVJ8ͦ%*pҲOYkN:T׷ *I\kyо5y<Oo t?Yk
endstream
endobj
816 0 obj
@@ -3571,23 +3547,25 @@ endobj
<< /D [ 816 0 R /XYZ 79.37 298.711 null ] >>
endobj
815 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F56 384 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F55 383 0 R /F58 386 0 R /F56 384 0 R /F19 379 0 R /F16 382 0 R /F25 375 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
826 0 obj
-<< /Filter /FlateDecode /Length 4503 >>
+<< /Filter /FlateDecode /Length 4502 >>
stream
xnd_hj .k܂-S9P\$jw$>ɧ>ɧ__>Ev Sҩ?Y*uyz$4[ZCt/ D 8qJї2/4F蛋w^/sBu}ifA=5J?HVY %GZUYϲFp*wUɉM*'7iһ
-gK,98h4bj1 zBޒs."Żx+5 +́ں*PѣE:AC8ҶCKgrcQ Q.ҮGۘ[yR=Ҵ\^Bсxyd!^MJR]]&4Uf_
-W'[(nF#ULCt |9MP #;wܹFs9rIJ:;&UF,½e(W&ꕑ[ΪRQ%EXQ߰(RӦU7"i5/؏>+!7B[lv} }:YG D NwB3^k^Z1NJ 4e+22+*ZoZ[hHB%)[2" rӽTP½dwQe6\[{iqtoq`w?8f] -قTk/C:+>4Z4x&
-=Y-橘+T$ ЁeLJV]=<V%C~QF[^"xU |OkGIʿ Zc5i^h/]0.)A2F2(JUhW~τOJ*R! Ӵ$;P4 - =F] m? =7&&Ha_d!*By \%O_,І]*7ːCѬk9r;頖(9Fx[QUJre0 ›bO= fk؝WUE*6
-%#Jx&i#=QGwIB\4(IЈgD]R1s4gmXn:%vG#e*D])͸^׍B;cvY5 bpuo9}'9 !v=fG iA
-3#:֝%xpw=Viwd>>Iڟ &Ƥ
-5X<k.f\j6ET&q
-@cJ:}ՍH5ݴHLA49|znWR RnWߕB@<ߕOin jᴂ;hI5>t=fAnEݢ4aOՠٻ7Wýұ$xUl?=no]t;[Э}N6CE퍝͔P)Yr!M2bx,W|_۾ނJ恵WFPj z~T@Ia6aL Z=emCJy59D@V'g9v^/}j'4[mx9\ͅt<k)SIT ÓwB86@fO;5*PB`\ 4(TyM^9
-6 ,C%Qf"5cxyW\efClQxRfi !r]kA~HN-Ԩ*LW'5[5f^);7ə;oBX)4ol][;G/7Q-mrI탊<+94+'JK7(ʅ@4kދi4*8i
-gFbY PV%MZR:JA|`s&kFggb(<<c>0˄G-İOu])FHF ?ܼ
->. s6uo_qaaSSG;OtPԫ7aǛ^&XXVBE<ÅVyjîK2zFzEE绞1hoF
-Q39cwc~̍PHTMX-ђ%)hFFsj=ΙqE d62u@Ga.@']9Z
+zYXxpeWzsi4Baj)F*NN7.- 8"Y눗R3ϰh+۪=:pp_4H9!m;t*7
+!.%mB#Qe!xeixf4RŤ9A''{X4^
+V$[%)# <G *KIv9z'Ufϵ
+%=s>M =<4 o;:UhxdG;8b 0~2'5J .|4y 玧U"Pq^
+"c<=@Ҳ'^Ҝ,òRQ Vɳ4LLr*,Fftyn1D ~r>h #'$<
+DBܙe ~`DBh[T&D~WJq,hӃȼw R5g8;16Wu(ݴBsb+Ao<<3NK<m2?t
+OQ#ӀQ`xn˻Iܙ%!j[s|Ulu
+J`58@}]tѩv(,M5gZe3t
+҄KۢB'- w8,Ʌ<,__k!F
+(3 +TU;>[i5CwTVxg ̒GN¹0C5<D;ùy!tx2 <"Ը/m82+9{%6ѸChM Tͭ] mbiH|}cMQd4))gPsw ~x0OM .g Sex`dn8c@\V1,144Sjյ ~1x\8_nz4zOdˋRr<7灐G"TTÅ2rֲgxXEݮ٭# sa^qCKDkfrU@]1G*WJj7ñ*;b}_(Bk=C K ow3XoC %ևy_ѺvYs^o4CYQݨ݁tA]6@g
+ԳtZ@r
+'ڨ|Jk wklP <AK2y 7 r+u餀~.%ƫ"giw|sݑݲnUszxiV(:oo<loMϪ )tlL[cuT2m2*VfSӕrXI῿0s-Ǟ2PxUڶ!mv" ]+k쳜g;J՗>GNyIӭwjued. mS:O5ܔe;!CFm 'ȇwio(t!0IȌh&/FFyxOZ1X+.ā2^ !Gi6](<)HrS9Ѯv?FjFL@筚DG~3hț̝7 y!^j}7sJiz#ǗΛЖжb$AEZ%]B 5XEhsMm4[ͳm]DG`,^(@~]J-} {bk|wZl#3Z_aU ?xe£[bXm槺ʮ#$#n^9诸۩#u'~:SKE(UR߂M/{,Mo,+"w}+ݼz5aץ_=tR#}n="΢]OFSB7H A  +S%KqZAhw8[q.)YkX oK8`H!.OK4qǶZݛxG^,&oHoo8w ep?y8Siݿ;"KŠnEIB_RJzs o΁rd902J/LYT)%aAR!yFaYճFR~7Z]v⾅rzkBBg׬= aMv&jtm]um٪kYo\` 57wi cpZ/3}}8\8ɘ qcb{*HGaƧ@E ; O+A`>sc8
+9 X`AcA|>Xg)K/Wn6XH3g-v96tg<*37B9 3Si7cdR+VGK\ri͑ Z8gR<RIu-
endstream
endobj
825 0 obj
@@ -3617,7 +3595,7 @@ endobj
<< /D [ 825 0 R /XYZ 79.37 418.093 null ] >>
endobj
824 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F69 402 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R /F72 438 0 R /F88 828 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F68 402 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R /F50 392 0 R /F71 438 0 R /F88 828 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
830 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [-0.99628 -0.99628 3.9851 3.9851] /XStep 2.98883 /YStep 2.98883 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 45 >>
@@ -3660,25 +3638,24 @@ endobj
<< /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0.0 100.00128] /Coords [0 0.0 0 100.00128] /Function << /FunctionType 3 /Domain [0.0 100.00128] /Functions [ << /FunctionType 2 /Domain [0.0 100.00128] /C0 [1 1 1] /C1 [1 1 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [1 1 1] /C1 [0.75 0.75 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [0.75 0.75 1] /C1 [0.5 0.5 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [0.5 0.5 1] /C1 [0.5 0.5 1] /N 1 >> ] /Bounds [ 25.00032 50.00064 75.00096] /Encode [0 1 0 1 0 1 0 1] >> /Extend [false false] >> >> /ProcSet [ /PDF ] >>
endobj
841 0 obj
-<< /Filter /FlateDecode /Length 4237 >>
-stream
-x\K ϯ?в`0^`s2@=$g'RU?`VIE~")$x ?'eoN VZ냀|'v.0v
-ƭ}|ȹ~˹xs+JK/%'TJ sZGZ"!=#rЉ*ұ]ӡKm)e.qxPiBzH )]>|cjiHS"G|4a2;
-ϔ:R2cHɤVbBy&n#IrPy ~LIe RN7&c ʶ
-vC\k&xgmPrܲG:)Xia s:$T:?Hep3q$xklkPa{bR|ԗ*+t챷=QxjS'Z3a:o;@Q:TWNe SJ%UY< ߬ W]R0c @[y ph=|Tg%6y,Zm%PvZ^ ˓bb3 ϶*D\ZviiWtE'ovn[103V܀GIuV<I+GuVe](u;eֆ 0. llPg
-
-@% _"mڌDtyc#0"g ;D 9Rqb,<Uo e=OImn~y"UvIi$x¤iǣp1;I:–!G֑vnHN&贤juEG^˷I7TWaiO~E\ͭZkcKALc{ ޑྭWZ@PErO%I_t(8bsrNzq!ꮹnSFC %CllGDͥ<*xBe||S(~
-\uE%)C{F 7 rls 9ZxRڬȚnԲL%b=E ;K]_Z M) T
-
-ܞL "*,?E((C_L} wk8oaq6\L'`Q+{H]0~nEc*4*l2)%+pMΝ@+o ɻXyN28҂<SfM *(|W5Bg’?p`|~U:&Kpt'Fh2.uNW_gRNcoMvʦiT60{xٽapq5Ckx-I.\7grxXnj.8ƌ6̆-
-u<&EHVf?wuP:̀'2 HQ] %ۯ,?fS"[EL
-~&O@M"& T
- rReQ;\=,r`26-A1^i;?!1B
-DT1؊<$ a{`3(|i7;Cwd~ϛ_5gژͼ7 i^=P3Q:40f\-AwZDT؞ڲb8!Uv=S{Vr\ lL]<7
-rCl:ҿ\sqou
-W)wgr}V%nB2tvV=McU
- vER,;sqU6\hD6^UG8OhQVMeOj+w_}uQ'KviH%:(u
-sYkJ#V}xBǃ\uWS=ıDCď)>yUwU]*)f=W%"ӡCX#Sw[J+ѐ(v){2va>,˕s nALL|AWZՂecv*cJfOZ_魮u|t{A;B`I
+<< /Filter /FlateDecode /Length 4234 >>
+stream
+x\Y~_)X@p ȃd[@O.sh6Ѓ fMU$)Qo x>>9184rtaqDhFfǗGJ[J;j
+!/i/ /9<q O}YPK3OOԧ+4dŶL1e.rhh-вF.<%OYf>Ṡ<Ɩ4)pAj )CJDiS9QZTli^
+¸-7t:8n,ݱ0Uc$Pu*xQИ1D+=\ @ܨ%xW4; 4&XL`bE<u_LL?^)󦣚Ô
+}'3=QCm۾Ť(E7~Ji&F3U$mJ2x_6Icu
+b >-ƁVi]c?UEcƬ]ic#8L.>z=;p fP0J]3c?[<> b͏`.NBs?HI4sQ?芳Bid7e'H}\ UZg[$X&EV-ϣb2}l-jj t9)sۆ=
+PV+UЊ!{jEE<O'[ WބS}@%[uڼ8>\y5X}żtGij$'bagTAlU Y<U# ܮ8 OT͝!ng4-MjxViŭ&!݅YMP> vd M4]5\)a`;]+ 0z^0pڎ)*za5DF8! 2 &%>M
+N\kQ처QKIuhShSۗnC!l譑e>cp#iq㐡D :4_U$gAxu*U Yqk]O(!/`t#D*ȅ7$Zg#)q='
+VBQ:ϿI|N}TX#5lp"jdTaLQ5a:d uL0_`|e9{MwY+a
+WLI +vVߟ_B 7--?4&Z l!tR:kj9kcͲ
+F+5<}on%W_ , RZ
+jE!j&k  Y}O B:ZS67\]r33}e̷пBUڨ(禴 vRF> (~BJ܀$Ŀ/ߕQǿgv@oQ˟ϿOΤ ރ˪>M_P>|G7`Pdʨܗ:MFYw|{prГW2mZ܂bVSw~Bg9Pb/QϷ6
+"ft}޾j9,9nGu=_ܸ BӞŨ%e7yppTF 3 :l4IѼ,7x82O+{f{A]C;ub|p d-`d֩J<c5{܊Wqw@Ewk-1Ѧp~%l=Ch48ķh  $IQuwcqJ.GSn7vZ_l\֍!nhK|-]ԭA14BUiu Fn<)
+aE ֒\g꟮<}ݳnB>}n_
+{k]kT 2K4?JL:!\2+ JGc!~: TP!2u|]QLG'vQ^z+s\v}'<,kHt+ֿ /_^q1={
+KA"kU7% iS"I>^zP_k)ڈv[P|L\4uWs?()q<Xi!8j Tec*n*!E̝=-\xU0t]o;=M1բzܺ"*ݝ9lE ~@ZDW!fc@UoSf^?O_>*_yS`7Mۄ|hҘIAL΋c? ~λ-i/!&8]xSE~,SDN䮍k9e?^pad,gM3 ڽC@Ѿ$s‘{E<4h ӭxNS@r|䉡Qd Y((K|.n%ϊZ~:wZ '~?.a]
+QX9!|nd2[/.1ʤo;Sr\1bU8\ WJvql*(c]{l\ni4$ WREAG*M@6Xw:t}bjbTr/PR@i3.yKPo<l;06ԇ[DbrN5Ṻ<u3 _n;Ǫdj^\;Wy%tD-m%2'l%t
endstream
endobj
840 0 obj
@@ -3712,23 +3689,28 @@ endobj
<< /D [ 840 0 R /XYZ 79.37 565.845 null ] >>
endobj
839 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F69 402 0 R /F58 386 0 R /F54 374 0 R /F48 391 0 R /F50 392 0 R /F66 388 0 R /F59 393 0 R >> /XObject << /Fm1 832 0 R /Fm2 835 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F56 384 0 R /F68 402 0 R /F58 386 0 R /F54 374 0 R /F48 391 0 R /F50 392 0 R /F65 388 0 R /F59 393 0 R >> /XObject << /Fm1 832 0 R /Fm2 835 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
848 0 obj
-<< /Filter /FlateDecode /Length 3552 >>
-stream
-xڵ\ێ7}(Y`wڀiyHfcXO ԽTiJ#R"%vy;-_>b*rx~{^363nтcq _OK}&uC犁q_ &9?Q7a%S㟩b|P]p%53cJ m,~kmWʕW?SYi@0
-DdJR} ~tL͸ HBS(]w mw ^kHnFlR2L^OIm2 )I8%B3]1@"_It&Xzm #"d0 w]Vn4`BNc!8Us)))ÿDϙN*XN O׳mst7l3tbڦŀ
-paM{iyJ.;KM'|7,Er@k-lZ(t%`KuנS3Ф)d .5Fi=y-ߴc~K4)5=<kAC8Rd )Nפ;:դ'BcJ\M A̹3KQ gwU8Dsn$q2(ȁb,3A OcdmVHb~aQ̒
-UeJ"93;YaxȍsI#hԼ5 b֙;(.ۙ<H<r6RMOH%覿yul:͟unl%$Ѫ @YaiA9IS} ؤN# a Gh!j{jZ}xzCRkx>1]}u=Rd/.2ɢYa8:E_BukғnJ58z2$t4sWMab+:$>CIac6>$1wʬ]"e-(*a} M ! I$?#DǿaiI.ٸ{"=,
-pV '7oqe A]OMY`®OEU6M#뛵qu,Io`7`lkJc0~sv
-InhdL-<Fün nְ~hu o+q2cơ
-U5mUG(H΄K̂SznA=lI1LK m/Ai}x;4,01s5rLsC+[yn+10X~xw{)u6wo/U|k+>|OYQ}-pGL_023L- 1J1a>X&, ÝtmYzm:}w6
-q~m"Қ6fnnWLJD]L}]CߧL +E `i2q&%m+7]`Az aYWrK`nB^CK}͵:LQvǭ!'vsU
-:kG
-KVXa"%Ls"%fjI}̳2/wXR.s:d\Ф4ˇ;e!h}FÝqw!SC6W)ضnF{F=xOpG*+)-v8Xiǰ]x,Nʹc%,W(DpF(Bҙu`n"-߽?C2חm4Ip cP~CFm<af fj%S:; gtҺ=ߡ1%+RSk>^r0eŦoM;B:x7j*uR]UKdzkWECZ;@FAiT.ҫow%
-14=t7ښ2g:,q'
-Np)'2eMqt5-q.I0LrC긹:5 4kB52,Ao%nP`|׶ae wjPa^@~C W _aqg ?E2t7ploDq1_O·vt/'ZUɷWCϸ>:[քapipҎdĸi9(#kZ%~PR;J2 .r8E!TZK @FJ
+<< /Filter /FlateDecode /Length 3554 >>
+stream
+xڵ\ێ7}(Y`$~ ] {Uc RyDJ^>|+@)-׻?q]8a9v-8f7e?ڧa"
+Q7O`BuCh@Z21!Ʒ7_R33a~é\y;řRJ&52nr÷w_bOo/Ӏ?NT{ЃC^ZFɌ3
+i]sBE;0+ w#q
+$~;QA :5CoMJBr.[*z9aVӛ)M8<DCHqR3؃kc84D-,E֐}Mc0*)YMz!1$,Dʜk;cJpk
+ 6YS<ǰMD1rp¨fnշo<$ߌMߩZף+K=",:->Z[XJkz*%Tq+=YT'sKBG3WyEtH9/f*Cq3 ^=i?zKBs7ڕ/R0K}.M߷4А+, bTLc 0rA|; &ѝ˜;G.2YZꘚ7` ?Z{rS_WkPQ5*ٔ &T$Pe3i$<¸YW2K{~s k氦;v [g[1gW
+h֘|FVTbʿc4pf HVi*x}';6i
+
+#SX]:
+ 0 AzIyQUӖPuL,:8w.Ɯt+#ɴ{H('׾O1 ~:W#jd:O9eHi\ڜ6
+q~m"Қ6fz.XLJDuL}]C \L +E `i2w&Um+7]_`Az aYWrK`nB^CK}:Rv!'Žsa
+,@*~8`⽝|ػECp_T.
+j)Xpa
+k%Zn=?"ԏeg
+i9{j%2:qN);mG|p!nmu+&a@3OTeiAyCqM_{n! c„wHsniڜɜ43[ҍ~,Wot8A;k5Tvi??iFkæi~
+FdsD|hGzRĪU-b|5su!
+KNhM7/:anIFZș;sB:PHU+uS+N^q0#(IA~킇ߎS B%
+ mq]
endstream
endobj
847 0 obj
@@ -3753,26 +3735,24 @@ endobj
<< /D [ 847 0 R /XYZ 79.37 180.575 null ] >>
endobj
846 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F69 402 0 R /F56 384 0 R /F55 383 0 R /F67 389 0 R /F58 386 0 R /F48 391 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F68 402 0 R /F56 384 0 R /F55 383 0 R /F66 389 0 R /F58 386 0 R /F48 391 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
853 0 obj
-<< /Filter /FlateDecode /Length 3469 >>
-stream
-xڽn,񮯘crMw@P,!f 9$/;S\,==hdْ^Y_~xWEt?>uQhN /ORZ)y{~
-62
-*\PvPxᡉW'RJa¿?VByŭU$v]#yx4TsBOc l8PUeo+"1/p׮
-׼X,#1+X+$9`gKu,Ϡr)sq>s|&ZVx{9q< hZ}I0}wš.=QO
-Sjӻӧn`J)c{UM='zʕz"Ε1_SyRe^o]Ѱ[0hiDvmS(8@,OāPC@t]Ne=;y~[9C[h3C9\C-E燜B\R {/=r
-IarYW&-vya4s!̠,@]A[KeB^^1Y|KT.# OE 0og}e7s HH
-)M )\_ a
-1}_|>2WsnFRGӣHU X;`7j%?KU?\\Gr;?E%{/6r}i(Y-О
-(n%bWea!~8}av݈q;gnՊR=qPs.7(T jEPog4$ k 1bcqv"*3ϸqġxzRG yD
-|e,BjJ;Cgz\y%3{,R /ٽ!0vkdƿ> %
-G nsݭt=*[lV&tgX,+0Iq0qsOM!]Aot
-j9d_HD#@{%stS|F9r~tKe cW`]Ex51jEu.Ԇ3{=kBk85iOI:&#UptKMBTPdfkx;¤ZbXsIU12oG1ut#Wu:YwŜ
-QF?=ǯl ۷钡Qu ?/۴~/'² s,jߗ=|>z6ݕ k{~dJVI- C+s|e[7 X2kr̬Z`̇xI^ċ]_I&0j6ACڝLj05Or'ΌIC -.q"yё '~$TX,Zik7~Ġo9G H=KtdKB¡իߋwq
-V
-+JaovOp 7uF3u}s&կ6ө$u|}ԗs[brv)hic&8TYuʞn~P3 LJx]UJ,bvVxDJoG7u=JgVkjiA<m_OǖF~ t\=̧q=K>qm&f ʛ=,$+ V}?.`jaHgN|9qJb*3(?M_EW^>_Lcջr5?
+<< /Filter /FlateDecode /Length 3594 >>
+stream
+xڽn%crF\vHs 9$OJJIEwQ͗.|waV/ _SnqV0nsߞ$WE/k(ߕD(9[Fl27x_y"4{@3*r=!aM6pm`Cz\#%Ґ}Y߆4ktHĜ]f5kY8 Rer=di.7ގ- ^!EmbB.v3g0# (RlC(׺eKu>)Ah,GE2Ǩ&wwKd'd ڷ22B)\|%F
+%UWƔ ȃStBHd^t,᜙h߯gۭNV"j`fvvm#Z>[8߀S&8kEy"7(߅Ng̐= eL0[׎M"GWWq'Ut<+u$#_PZێdSV;Y8s*tQrZf2 Ǝx&<0ݽR\*nG[gmo(z(xjZWܽe#+}j-u<yzoп'HO~Oȹ<&Qؽ<[)2 n %oX#:5܌ۮ>I=(+#ʒ_@GRs@Ydhˆ> ]~m"V3 ]Pr5ڷ9br!L'*=&Jip{B[DuLEYIL񈯈<kYQqqau0`H4#}A$W`U(͘)d~Yw̺D9'nU5(0),3f=Q4ЊIpu JoDfIK]^.Oµ0<5bK,Me"J9zY+.L@_7 =nF?3:uJ\X=ߕ (T̛FB˶8MuuPp :JI2dg*>ke騕;$ȿC-dn)#&HhJ KHaaP" F؟@f*C8} 7|Oy+kϩRo<U ꀁ^A\*),sNv<Ju J-_%Ԩy&QN// V3>1J<@j
+-H\i~IB?+COm)vaQR=r)Ss-װ"aW]I+7"!1MM#
+Պ39g>QRlqvK`Y9?n˾ʵ?9D=Wk?$b^R|`)]8oP%j
+k";dͧ<w‚0u ^/e9Jwnw{hЇ&o2¢f9߾?X
+A {H2 {, $gi hZ0|߿}/f]I!& ~ kmmKfN
+pDΊElN_ڕv2"B0&^L,x;DgҋA3}
+1^Ҩ ndz;"u 
+cA`HDĶ,Sed@׬MIӻN%)a^
+o @j 26/, v u=P
+let ZS ¹E zKbA֪=[S0c%iÞA!)7dҐ5J}=ݳ'f4vi"$άaV;A(yw[ ~| t-<{j22a2RqG֨2/K OW / ZsK>r)}>igT\Uaƞ[ǴYTV}_!Y&\)T;\ztਸ਼MjAUKuv_QT~ΟJ֡+Ȏ anyi))T0{ȣ(^f 4Cƛb`<׍Bp ƀ "6f5]UlH[=ibSu/BRqCc\G;\pǓUH4xBM]-.8sq3ߠju롦91gF}N@vr &pFhݷm(]3^wX j(^S\ yS1O2 |.Ȝ`y9N݆>v0A.InC>֑=^ކ3J~A'|ҼQvw6G~Ia&=vb UU>n)F؎D/:nV*AJ]/:xY8LmCJK 6
+iwxde;0a_ }܀LѕK:m[(E/7b6%8Pa1:BlRt[v>>Xfd;mFWR8`uڦ&4uxpa\$ -hS˴Ļ/?3b#Lr(WO:2_&^ܭIDo $4⾂6\r~4M;4cBɕ~ zA"
+Ks8_DR g<6Kx;.`qKv2W_H^HO?D/;m F /Cן|Ѧ{vVb7`g D
endstream
endobj
852 0 obj
@@ -3782,118 +3762,111 @@ endobj
<< /D [ 852 0 R /XYZ 78.37 808.885 null ] >>
endobj
855 0 obj
-<< /D [ 852 0 R /XYZ 227.982 267.704 null ] >>
+<< /D [ 852 0 R /XYZ 227.982 315.525 null ] >>
endobj
856 0 obj
-<< /D [ 852 0 R /XYZ 233.651 255.749 null ] >>
+<< /D [ 852 0 R /XYZ 233.651 303.57 null ] >>
endobj
857 0 obj
-<< /D [ 852 0 R /XYZ 196.679 222.946 null ] >>
+<< /D [ 852 0 R /XYZ 196.679 270.767 null ] >>
endobj
858 0 obj
-<< /D [ 852 0 R /XYZ 196.679 202.752 null ] >>
+<< /D [ 852 0 R /XYZ 196.679 250.573 null ] >>
endobj
329 0 obj
-<< /D [ 852 0 R /XYZ 79.37 156.042 null ] >>
+<< /D [ 852 0 R /XYZ 79.37 203.863 null ] >>
endobj
851 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F67 389 0 R /F20 376 0 R /F69 402 0 R /F48 391 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F58 386 0 R /F55 383 0 R /F66 389 0 R /F20 376 0 R /F68 402 0 R /F48 391 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
861 0 obj
-<< /Filter /FlateDecode /Length 19584 >>
-stream
-x}M%9rݾ[j*MBS] ;I #/܂g<A}v[1S'2Hf$y˿\_ڭeΑ^JR]ٽ?ux]_Wv]?ǯ/ ?]o%0~ζ eϗ]d8\Dy eGV6?lg:lס5} IڽBw~$>ֲbÚ~x/&n=&61ǏC7ַ!vg? 7-}_gB?r7_ϟ)~=] a\TzѴ/փqX3q}s}Ş颟rEQ/H!d?}vr2O>ݛor/9^ϗ֩U<w||hoŷ\au+%~dE--`ZU>GV5jZ]Z?lW֏ra>JJ꺵ab])?
-i~,_nW;?!OƳ秗_ .z %QO?e]}yu4]"uBzle
-֔TS>~e0[/԰kcaSwOsj.]Bu7<^B& &nrg^UPs]2w+'D h4|ϊ&F}W-9h]4 yw kZ>ݫ&W@_1^=?ӫ/et՜s~J4t(ړ)vګyzw.p7I
- ?X?z4)҇#3QI@ɧGa:m!}QoxJ?$zp噁 <z4\'ZzoA嘡O 5CYܳM=[%jF)#-ێOi)j8ǁ=;|b'ߚ>=V֩ǵ'LN>A6wkAc֡g5sٿ;|$f_MAѭC'ح_o>7~&j}MJgn"6gS"_osM9 g%s#O ԧf}oj@>">w=!\Y/.J%Ϲ[&}"rÆEdzwyYV."/EdzyYV."/EdzwyYV."/Ed5zwyYV-"z<Zzr6pĤSu]=_}5&yu]phg>}]WEdg絯⍽4zɸ\Wo4RT'ǥʍϱ$v]&ps_%Ӥ\XH<֮X&kY6/o͈Yd(
-d2 mJݗ$Qf尡9N4VÃR J@'%C3xLĪf2@a@?dR:UJ8.>*H;Rr&&A9SVmˌh1gdWN|s#JFơ`Nq0{xEKڈ4$~N2
-dYh[2)w-E+ 5 ;=+M.EJw4oyՇT54ye8ٗ
-Wg
-r_#IۅjpW^{&AHl Fe&a*?#+=v9PpKp40wIO>;zx(BU)!d
-]PCV6Eī&R
-^utM4h *ȱkԩ[q&bQ3 yq4ZmGԦ|s^ڠaڀ
-kBJyr:X]XP Wé@= $D$ϳSHkMt)JW@4W2` '?DnGbN(ato-UJ:P"6[ ef=+I(P=Rn0HѶUWLSdZ+E0ɔh4/3TX*]۔Bd<#?z ´xѕҌRHR6
-Q"֝[<M@Qf1:W*eLg<@yD~*uW^k$^)1NȪ W¶qiDiK>hW6cbFh3CGr
-5p not'XmJ-ӥDlxĪ4X+3BPbW%гJjӂفg?պŬX`
-
-!#UxFfpdalk.%b&V?T3xl MW@By~u_蹈>"
-ғgDÎWYT
-yT
-eLg
-s@<e#uoѹ`V(0pP&v8{{PtF+zrȦ2&!ldZK,&2<3w:aOe\Ӽ)Rө
-_5\0{ 5RV?'%[uoZpW- 0D~ji o-(:u^= sm{ Ba;V)=Z ͈US;R@([z=G.0jMkh r<Qyhwe jVKr%$Nw3aK2]6/<cJ Glx+iLâW0ﳡtd(E, Uq.5^k% GVcQFso4YWci6 r¾i99Q@fgL##f 8A ?hV+iBY$#9ǾʵߍF zC ԭf>gzn4勿XzDC  E& 9*6Y6F_pľzDR/6Ӛiڲ rJ Z Ƶ`rl%B4JyB1JBDr4[{~?ؚ;@d _6!{W(%GS. *,##`\xA %0]0>i,g8q\@7.jWn0?ws0ʆ]kɘ@crVIIVN>lT.` ⵇTN{-3RBHRP.#07;} z/Wuu],C+45Τ[.W9R:`fN{MDaL¯je1W.K&QG69O}X֋gնYV-ĵ\+hw!UǂųC3l Q iR 0bgȜJPr^?S&"ۼRQ-S[h8?6 aOK4߳Tc-l]8P4h2-qYwwmK0XI Fsij;cJÔJĻ\p޽ ř/φSS)U, Uː'O?!2?h(]\CZ'k
-f(jEy|wr.ll'B<JG.J!/HBg*3(v4HKϙ_qh'MtxkW]n4ʵt0rxq+lhIGh(רtGm/[xHKx<p_Yۼz.
-+Dʔu
-W[(} 5^kďW/fwBJESOQ׿q"oejAM#̩
-2B&/#@S_,xsЍA%YXoC|z,kHX:y./q Wyl2\QH
-׍k;߂/5*/W|9CpUBoږ y.:oܜtMe,
-4xE ]BPy`
-q~h_Og}_/jW&fOihP7B:y>ш볖׉ց0P2p?Hw4yyEQ\$WWiW7+ ƬKd
-6;4Ev*h K_yxN] >5D(9~9FY Fzg8chh-Nw^(v(t
-h_浳#);z=%姈S//w{~ZITtKi"l24kG^Q[dkNNgnHE({WKdFF.b%=6#ѸHoQrRD\+#}^d?3]FSFsgP#TH*s g;JDλNx
-4[f"2蹷le <BޯВ l 1uNVArIhXƵ`M!<>@6An;)OZ_C
-`K1u h*H n A/ BJBk:2[G%UE!Ni!RB6J4Tl: <xӳjt.-Ru VA-0*qg|e
-2k9j;ܖSX«\ [ 2 V{/FɋX/PւXQa)'&m-qhyւ))gG-ȦC8`K'Jcp_
- Zna1bM)m%P-X oHYԡ(f+A6J"55ǷÑ;ha :4TL:y$S.-R V2('\CKRk<!bQB Z2$l! H.Flwz" !;BދA6-&zwXP}1e ưw
-h]J8xg9ⱪB1Sa-{%h6ڿw[t([`Qα "u /uiarB1[сRw[Ap +(޹J35T-cSE^ؙA
-%5ي42 `,m-簦RqFix+TٴoVx2 ’NJ
-l95EHxpiQk6h
-q*Qб"5}zЫwp|_%PuXQa(mqG9$`l+f+<-%
-a [p eůB2=^9t))
-@x *C MhTA"XfrR Nbh4J: ~_(aG()
+<< /Filter /FlateDecode /Length 19506 >>
+stream
+xM$9%x_Y+IQ{)lf@[+BROH3w 33*)T%{z_~O_ÿ[s|o?82[iPJv+_ܟ+R?o<~f7?WlwweCn n;¹k}w:t~W(w+q}{=nϮ{Owү׳>op$8dnNM3\B]/?6W_==\glXqXz5|jJY|Ov>*{jr%Ϯ|f=uvx5~fq#+/v|/]R>mڕZWW??kW^ 36{oot44Vz?~^W釯o7"5ПcWLK=5v˵ݽѧq\\W׊.)oJKh$BhZ?h2o9e.ʽVB' w򫢉|(Z48h]4 漻t |W4r_ՙ2?ݧz5ܫ_M;b~Irtx7uxLSU~ߨĻ+g}Ms~7*%OPg#+QIpկF31/ <-/>j=OiL+'^x\gϕH(ݚG=~JP~fy;j6jdnj<u}EQmǁ45{q@ܧ~qV/_tkWn=ҭ9dsz[J ŽLJgOAb:_;nzf}뾖ƫN|5J&r%RMw_ 7+)DRgNW;dbn$⩁2㣩|©^RxpW辸(>%s"9l)X}Y>|>zV>E^V<EV"ՇOGOç꣧jSd))Z}yY}Y>|,V?E^V=EVϞ"F5<J{q6pD]EwYJ/L
+8kon왼RWEym]@1ѠBTj絷u~{~կko⍽4Zd\/r+Hw߾H<.]Wn>֨^y/M/Jιֱ#]L,'N{r2W2 rw( BPc;]O *^̆RkrFX)&jQz/GR#2з`PTcJCAci 17(9
+!S!/R4FǡK:)⎔IncΔUj2#5Z
+dAC Cxy
+AB}tpA4L^T .ƴ`jx'O(FJ0l^{Ųcq%r"=r bXfZHwhۅ<[# F 4 ƣ.L.8ґ]ALT F-;)vAʳ
+=h>a< >;Z<Znr*2v_.`!+"J) ?utM4h *ȱkԩ[q&bQ3 yq4Zm#j9NYmpư`m@5Yˍ{!ēXQN}*
+0y8DPѐyv^t
+y)q=e~3S*}y6 58; H +M;H "͖YTCJĆw_L6~ bE3 eQ*=ӃzB 1#-m[u4UMeb_ LFb:t9lS
+MW&ft@
+)LW
+i2,йbV)c:#SCFpeRi鄬Jp.l Fш&,e3&*i+@<>Dz&GP F'ZRMWlSj.%b&Vdj\X$&**]{O gmuYT
+?q?sғUMeX XP͠@^mb
+H(O=}^WPAzlahJ1+@0n"8P+r
+&G*+Iw}脂p<C.-CR8\!a\3W%)yT\LK )JĆyk=^Fo >/ ]POLXU6,yG 庩UU'J)i`Vh*,ʅMT4ЏT4^7p.&2(T$4|U¾Հ>ũʘ#B÷yFꦵd fS G(iRWsU@l&$E0DH9
+dZPQ2=փ_ZsPx[kތYT
+dD)ym3DU$5ʋZ8,CHFr)+WHPBuYf/Y#0M#a[H4PZdP2
+\il Xzccih,e=m3-(- Z>w`\ &WV)DG*$O$GN D<oaiyu-Rr4B226wR\ &G; 0nThB%"iGj x7W8_ lص6 4U*)i'M@ʅL3_T졯J`ųyTS#`QQ
+%x4FfrG^?æW.~+shk䉕FQkgR-+|͜^) 03WϦvF U& WY5ژv+{ rTQdSVlYm'hK8 q-
+g>t?oHձ`rl2 [ub2/eڱr%ؙ:2/JgDzR*7JŰ@p<.%^6 !,3_߳Tc-l}p1 4h2-qYwwmK0XI Fsij;cJÔJĻ\p޽!Ǚ/φSS)U, Uʏ!K/
+>[<vѪ8
+@?5**3ݑ@[,|tc}g@
+ ډ;\ᢣ٩3v":
+QbɟE6D҂>Kp;Uԅ%΢
+4 \+
+aۃi Pxb[ҽ_""ÿFo,_P.\խeZ2!Å@כ%_@4Kj0?@08GFҢ8gߟ^ٗ5O&f.`4d4mv!@VQCFhYDGgLCTGSd FWhW;J⇢4I:?]_D0 43#@v o@ijpR
+>;4Ev*h K_yu<h^}?D,
+q#yg1l4K;U~kCN:~
+h_浳#);z=%姈Ҫw{~ZITtKi"l24k%?Q[dkNNgnHE({؟ Ȍ\TJt{6#ѸHo(`FsQ)".畊Ƒ>/.˩@qhq K~*xmJ3_]'
+U
+2k9j;ܖSXOǷ˹@-!e<"kA$Zr/FɋX/PւXQa)'&m-]JX ⸈xl fkA3dSE!e0ѥ1?
+ Zna1bM)m%P-X oHhoP TJQb%ޚaJSZcAX=CbM)` Ʋyij fAƩGG=UE+# ! P#np~(C![b-G6|ۊ$ # 6_u=Sf! RZB=^˻J,>E2c؋;k}x4 4*\,
+hփ1~ڰbK!"6Z`>0 G`uH* ҏX3
+GK@D:`/ .WB AL R`3x *=OVlq/KUqWQx-]?N+'@ @x_ dZ^9t))
NJjN&2 pu[S
RWɄB 
-Q;
-ȔCbhTA+"[|$`
-._BB 71N2P#޽
-!U8KP
-@(wS˫6δ*+dC!Sa GE)ҝJa葱@>1ULڿ0AvkZRA#T^`=p, ԣY1B=՗T
-`*=Jl[ \@1@QTO}Gb<o, ʃO7 &<7dZ9y:l{e(SrTt٬ o9c"XʡFBGwqmk#׭wAu*Xw3ɦC1[aMGxf<`)kϤk fK9#cDFK>╋/@ 4
-4S CĒ*6`KQx袧(]=T^MTzG eSgUeP? xs)}BԃW ,D*W "8ڰx
-g&VnFG~"d?ZVbmgA
-.PUh3i`[
-bzpԯlh^<
-BZT( - [ 1+?
-kB]%
-~b(=u4jH-~" 3,tԨ Ϧ~00F#r8 ZRcYG{M&Tz'
-H(*MOI3p}c9-G?*Rk8J`TpH#M?"Q=Ò
-Dΐm͌BI ^oK)=/}B9Y&R.;737dF~7n炙4x|/HIOlSi`jQU޲ SQR, 禮P6@>u͖sLupq|$J>)6`A U-}f|b*XYAS)AʅwSsӓڰc{B'^c2W~u7]C[FJ-L556Hmr(MƆ˻`Pq:Fzw__^pCz~ޮBX_h]LP)AKrBP3ıԋqt
--Hk}ViV.u"ou` 3ԩ2Ӏ&.Q>)2oYept VSEYP
-dAҝ"y,;<\2gP N!qk!0#ħpjhv
-<7knh*\WQf+^BdD^eEt
-duAҝ׀+~*J8UطZ$~<qUkL_<hM3CBp<6Q>3<_cQ!#2ԨBï'˓^Ѹ(o
-ĒÁ uxwcpeTȳ 5Ek!Ȩ+ F4:4݆:4{BV5\*݂įQ8Wo*jܤ;=+oU?רodb
-qƬl9# EEVaQHc 5Iwĺ+s_zFj( /љ&2VJ he 4`έaꠐ 5IwFzrW޽,咮9|7ү`fR2<]d+ͤqWnwOi˅oK0KKQ<XV2=|ZZxL&3`&M##uY6'ND['6A j* ã18cL2vJ$P?َ0wMڷ[ʻy.P 5E k!">OIʀF6`wi}o9/\Fl_6jBV:_ <lI+U 5Iw{s_.9(^iA-T7(Uh%`ӹըhTj!YrRB=O)?k
-'fs $h8T^xr#fp-ئX&坰O »R C<$w*fZKEi݊ fwXTR;b=R% $]Xڐnmb)(7rv^BФ)}UFĝ<wGFPl:4n
-}S<XޙN1+1NXTIp('Lw}I`n6PJ X\g~%&X:۝OAו  hP `Jj
-+-7Ik&lKTr&)}Ub䯏^$-#R`Ve
- M(z(,#&ۄBͤ<>PRO8-2 diAJfw@Ǒ.@ˤ(m"w>UGfe_IzlC⏄7_1+2]
-,J V:ZZx %.˘&PȫVr9-Ǘ_w+ A^~^h*/?Op]_ !mϱr""[f<\#~3Ȳ?|/?w ?Q)
-y7? w|awr.<4}"d|:\O-fJgbӏcF3fwNgo;޽oqTc Oί
-?Pp9y=υ/" _—_]OůSۑ
-v|m\o§ږx۹T%N+(Ymm=^[g8~ &G[+=gW['])w_31_p_>ײL#x-^>ײ_ˆh懭p#3P(W}S~b|6c\.λEߏ$U.ݙĆ6W׾wBB3Ȉ?=|K7Ɵ$o5z\-2uTܘsݻoU>yO ҏ{kxk(|&hOy•\}#P)Q^r;y`'ȀN!;U4G4Wu"ou`M#T)q{7ݸk8,CwZ]7gaZߙWA0h!!= &_I :ޛI[,r>A(Lb]TG# .V@ZxG?EL"=]2yn`!ΆZkʳvT~Q5LZ.T{G+o c9{g bYf+p)$N(C ;d軭-]FtP܂ݥyB"ǔW~1.F:P^t
-~wݙ<7Ζ-Cm";]Mkm ?g$.w=@ KB'.BGY]!_Ȏ@]*':A4F^{?:_ bzKu[z^@oF1f/#]{>X P;V
-h6D.AK#VN 2O=C{n~7`ec\z`@'L`xC1xpLBT#2V/=]A[TAz͇b脠E\`ے5|>1
-b_fBG7W{<(=u8~+"F=J`C-^y9Pr`M_dG"Oy F^ڽ.UA0r D|]h13(duYWOpDy"a hJa^!F%iuhR.aV.LWYG8ep}9m9-mδ0БoBjFc7f
-iL1@!<>Dz$GCr;a>QY?tvŌJh8G>gR'@G$RCbYuV>%Mt#:{TW#s?k7tI 70ˁ^T uQk2(X sѮe.T[;–LHuϕ< p
-t
-MEE𾉕}"9˻`X3Sx>
-(S ("=] {87Nn28yx+2N 9cDC/l5"Bv\ 0uoѸL|6K mĪ.-ZȧrE
-dy97,.ζ-CK؎P4H
-$z/loX.)-8
-[d&#+W@x ۭ-fG}vV :S=w!r7zGAFSGl4~Q1NA =ߓd?kBzx!nԂwXm\[)crȶ, Ѐ58 P9 GMqh!,:q, ñ>݅ Y'u~+,ܿe8rB|b+АӍ:U EYVѼeB\{S74ZK4b^w$k‹aa۸Oxm s;O3L'~p:h:-CCm"z |j.TS~oiHqwGJUHRESp/ƙC?|D
-6Z;4&ڂEO.Q
-0cH&9$6KWR(r]]l"Ԥ,]t*p
-dR\04|c]HZK>:U
-T %:_np3)5HyO{ :~qy~ K^6 |䴋 侎w\lK
-hY{G
-lՐܐyw]>]Q1ә#bݵ̈́ŋ`L4wsL6 A 1D>B0j+~l&|Vo-c&`(.4<\ Y1iȊ 3cbقW?:@b̯]g=hRMzqa&ggx`"=#MF5z̟aҳ+Y}q1D' ]U!0AȤʀJtWHqjR=R $nǝdˊzI\͖ kd.̓p de@%O&S֦3 l"R
-a*\dd91cTHVflwY)WbZ<3-ʕ>{jCSƤGDi|tNnK0 <d;PF3M.-dL'JVm$#f
-i?fLZ)AQvI)겜F\\Ƈ"FF
-Zqha,-5)3茧 晱y*gΚЋ% 3apCelBTVـpKQqJQrD߿yА"!PGVȣ DC CxE ]B̻Բ 8ήɷm"4Q35,uvxhɃgi/ʳ ! ;56 U!+P` \XZwggNP1;[1[#%`ûۏ:^^++ Y !;>t#Ȝ`3/W:}tFydFy
-G(c/;Pc̫MѲ.ꆸhAl!\%=$Pѐԡ__z~K
-c5yroz~S 4\"%jQ klWivŗwprZfC8O\n-5ꆸF jm51`e=UPݐrB7ɔg#UvxẅM9~.+ŒnKݠx [QzkW!?o,~_y:SKnu0αˀ !1.ZPcJ Ҟ:tH]wg|H`9w.`oMfC
-ۗ&5ݻnB՘X Ü {Kݳv_H2{ɵގ ىվ0;}}!?W{OnjgvZyG|z*8{6^5y;۸>,imo)S {~ϲ~|wśc~\7}[NU<>v|Gު0^Vϩw=97n^h
+Q;V Sa 5Egݫ?Pl}P#qWp502`(5@5-F#T83;,:QC Nx
++TEpRB?P>/A/<_.
+
+c6
+; T
+@(wS˫6δ*+dC!Sa GE)ҝJahXF
+?Ue&_T{{ɇ _ ~yn- */0Jj8BCSQܬփV'J/&Va6?b PAS_2e&j!ã uMu2V=c^w^A3}7&T\ 1h64gÛ-Cb-erju+j[q|井q.]8n}7l
+9thXʉw[q5K9n}?r.-@SSȏJMfOx<X7.¿̖20 h8EAZ+?-D1[aM5>8 Z)ڕe/Z[u l#R,Vrc)06j~ Z/τ@hc3Ѐ(%~ g uS
+V,Vvl^ð"[`k;1GfXy8_i`b\zhxXqȁ74Qxr{,ږXMmf\6v \dh3?(ٶA@[ڢ}QK$E<?t7ҀӸ6RI`FX0Rah(muG1ĢVmfB]cH xj{
+S/C 4U$
+XG%F,npxq$U}v\1h+J(1 BiKҒ8˻d3^A)Qh3+0QM }9MgAciҏښxTVG l ?+cY"8ۂԘQ 1N\L
+4S CĒ*6`KQxUEZ.pFc>,HYU/oN<žO(zS- pJAUk6)\l,+Dz ^b%4C<Ju!my@Q 19*4UP۰ť?#vΛP*VU_s|вW:fJF*VCVF P}.*hc4^Y ki>}^ _G <ۊW,HAJ`.*?)&-
+GʦVn՞: 5M[ kQ
+"8ڰU~s]XW@*X
+ hw
++XxP\{"?hJ-~" 3,tԨ Ϧ~00F#
+p.ƲM+
+`(l M rf^<\3e0h
+^ I"!}P!0TX0SR炔u"k0h y{~8XS)# Wع(ʓ$(}0-'Y)AS)zAJĢc`T}zCJ'o3%2t$g{̦ԏBm rXNQsd!T$Dl62ܿz2HӏHT03`Q3d[3cjcjmJK߾PkNf*g騉 M ߡ`M1<" i$Rgғ(Tn砚1Z[d*jReJb(yçr.2o56$R'&;huϬOl]+ 36h*4H0njnzRPVa#|O;Kp Zr㗡QwE8%yaĹqԲ,TXQi ߦ(aJCJtnlX 9h^c_~?N+K7Zg#wD$g(5>chAKxG!A*
+[#x >U[8PCtG6U๩^sPDS(M亊w F5[
+"å%~b?.S.h8#P3C6uz~_EiBV5\Q+݂į27T;W +jp8Aό, O%?eTȳ 5Ek W4.:[(N!#10&.!xk6POM(+u2
+dQ-HZyj_.:ug+<hM3CBi)p9HG0\2,Cz!4y-2ꊮo"4tD>:F|s?v=MޭE WJ ku}Uۨ~ڠ7xy
+AU05sf218PcV6DUCEVx(d1ä;bݕy-F~JÏL`eF+Z%Zxsi_0uPʂ֤;#=ty(^KrIoWW bQ3 X
+r\rR!#1O#]VuKn{lMn?uBFe/_# dq=IP&*f:ݥyNԫpI|ڨ
+Y~6X7'˯@V40&!c!x@qSQto:bVe"_MV~P7ͭB02<#?z" RJ>a׼OD&hI !v3p'f3IS`Jhb>ez,NK '  mŒtɪj.w+oIts. f2R>*O%҆toTdlKMA4𾉕ňE]?.&&O6*p&d湫827bL0)w+VEc1{g;ŬXTRb=S%F0&\ׂRSP@) 6obqI }z@P`bl>Uz"\Wj'y4C.,m*)޷?C$ |ٛJ-BSəAXU>'z%i!R-S_ ]oBZ$8W0&h&p>\.©oi H "W2 HG
+ƻyvB}AxflA"Lb.ĩɰ3`*jdA-]'*-r:PqLoʸ,Cz4Zy(hcU>Y;g+ 5 ;=!Fݑ vee@iH]/i^Α tٚ5>!p 2|ʾl4ugCtz:h^8[ tm:Q<Rj&@x֚?X.h6F.AO ZK~GY]!_Ȏ@]*_(:?A4F^{?:_ bzKu'\3z^@oF1f/#]'{>] PV
+h6D.AK#OVq\N 2O=CGƚn~<`ec$\z`@'L`xC1x q+EBT#2V/=]A{TH3})&
+9PȎwExkRoF~{])f#`4$~"34^eBTBvzX>X
+.h6F.AO_Er3c,ue"<=y,'zsn?v˙:MH<["FtUhlٌ[6)(gЇH|Pn'g6*׳-ήQ gȧlUlD~4M"5(&)(Y//i.`qؤ<kOiv<Z,>{Q-; F(c}GjPmʶߋ ֏-R< p
+t
+dACh8q2X3kF`bYg؇Lw>!uW.i`Th*
+,JĆMLeBPw6)$gXU|
+,oK{JmLBS%bûS[>E@r5K +2\,3slIpB[EToAPE_ \gD Qґg_#:&H
+`Ep4a׍9H J1MlmB`
+nMb+pZvdu8ĂXMuzN-&lM`@S7oTLsfODVm[iz}F%866;ܺYR3!\p-
+1ǂQ`
+(V ('#]O)pnݨeq<ly8h^ZLj1V#)$n
+ҢU|+WQp\uӷ$Uጠ86Zk`vrr֮@&8
+CDQxξr)hl2uJA~qoe+~˜t Hiv^>/f|bZ7/`ԏS*Vy BE'ZCؔuUfHwrYR{8#4/Ձ[mmƬX yYVrHyFEwF|Q+Z1_&#+@xm ۽o0fGj!pT]Hܝ}g`(hh/=)
+wϣ/Ґϕ3ʫFݑP)$祊O^l3~z}v4niLµ)
+dR\04Y. %*NL @ïvoqJtWdORNJךj$xV M޸?a?N\%?6 |䴋 侎ϭw\l ~_4],=#jHn!22I3g}b663Fĺk 7;h*.炙l,!!܃>bTc|`*9x򁅾)blb>x1N}g|f`BP=#+2̌?
+MhZZJx4m$ {4Sf,%S3Oy3lRX0Pj 1GXP.}YgNX&/RgƨU$]p;cʣWLgx@gpoRmh5֘_Ȗ0m Gx;h} 7å$Cʺ->d$l76VMPA*Э&ntʄZQ.iV*qg.mnr1M :e`Ԥc \PZy$\6ەy":e w&+n ?7wNܜI[7C <Rg`5^i8qi J, 㒢q4`M kL[ D]} p_an7/FMk¡jibf<
+i?fLZ)AQvI)겜F\\Vx0bԸkTh g*!@?X*=GEx-z`jkcv4ֈd
+a'v~U
+hwd7(/dŏޜ8XnKӦhYhuC\\ jM h Pؿ|
+l>w%5jFJUTLW7 ~?e3;y,4%u!# evJOf0`Gvfd?b`d豭v#C0"0/`YQ֣`P§ p[bß[_g/HiŻ2)8G~a5]{("5[F?ΡkMnh<";"UaW(yPQm̳}i9q?emkcmѫʣ[dosf0ǁɈj˯Ŀ̳_lu$=kƒ >+6'> ; ^
+۷$1=QWEetoaN=/twv`|^~@Ǯ2;ɵގ )վ0o;DG#)c?S?W|Qk -k
+^mqq)i
+'YZ R_S
+ ޟ{~Ѳ~p/?>8gHc~׼ǹj_{{%kf(wzO& _O|g?mjr"+)o|o(϶}O[!@SWןǂ
endstream
endobj
860 0 obj
@@ -3903,34 +3876,32 @@ endobj
<< /D [ 860 0 R /XYZ 78.37 808.885 null ] >>
endobj
333 0 obj
-<< /D [ 860 0 R /XYZ 79.37 230.916 null ] >>
+<< /D [ 860 0 R /XYZ 79.37 290.692 null ] >>
endobj
859 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F17 380 0 R /F20 376 0 R /F15 381 0 R /F16 382 0 R /F18 377 0 R /F23 646 0 R /F21 378 0 R /F69 402 0 R /F54 374 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F17 380 0 R /F20 376 0 R /F15 381 0 R /F16 382 0 R /F18 377 0 R /F23 646 0 R /F21 378 0 R /F68 402 0 R /F54 374 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
865 0 obj
-<< /Filter /FlateDecode /Length 5472 >>
-stream
-x=ˎ$Ƈ~
-Ru[ZW<Sg뷒`O6~H<}866vG|GspYgᘔfNgbv^,rˤ<yPfM`[򒷗M )(d:}}w]GE^F oHۼ!g/YM
-??RiEm Ŕ
-{1e.`*30 L]9bڈ= X!aWn~Ä0cƛ] ,ߕfPLlD$ͤfY~ru@]{q/ՃׄA~9*'(Oӗ%J U_V Ƒ. 4ss%tŽjhghojiT~Ex;m<:;sXGyͤgΪPjUm{ ¬ا*M+!ƆjNL?[C WdNMNa5? F3̷1y'MCi%ӌ0 ,5w=Lc4Rn&w;uasݮFA^A+.yyi!ku8W
-(s1ft¾`+y88Gqyȼ| eۛ׌Nub^<PaH`kL=QY3 w᳉%jțe=b-7;Lnoys۞w)8UIPY 8|3:a*c <p)w92`
->Y2+cOS3r{t?
-'`?.3= 9&w&Eyi
- Z-1w!1CM촂21ؗ<`+8%X%Ei.9 hlP AqV (,
-'c½UU ֞2LY)%!.AOyp_5g!WAq[RdBV!t FjQ!9h]n! !{fm,Z`}XC9&/(-
-cz+(r-z> k)K%lPMdQWLԒmlWE)JSp
-#(W*"F:"U 2,P np%vE[zJf*b;Q5%ZlA5%_SƝJ`v1_&r" 6慈^Ci!ApTCxb;DՐs҃ eM$9I٢V%V$ &PmYd1y>d<< ;tEqzM@`<` Q, EODM<ĬDTs2UK gP Y`:@Ug]9w4f
-b@5!6$+,3ϣ+I6#V&cN$;YQ[-dn1 ,;rkr܀m"jT6DQ& Հն<Y:F iUM$m]˜@9bV-+Qlncm>+!x;6R xb %P`QRHH^o 3X-f QyIѐJZd_.[q
-2oMXvMΗ?@<t&ɆO0ݕM{g2}7>ދfa Eۑ>Y^r!@*;PF;Hw E-l+T=Ұ g8ue$;{dޓю OIa+?[VI,+DJѲAw`*Ob,vJ>Ћ(A;Q@"]$;҃2wz)y}P"فCIvdH'DX慙ԣMaWjv
-VM%}﹀῱\R6lF,O[|j\k)Rs P62tͻkP70KK:`NF
-Tɜa۶l ;4/#Mvmش?S'zO }j9PYy<6~4!᪇܊mViD/- 3
-_}GohJ(Pnm@3nCntaEy:(yy~XlԬž:Ly}sOqH?+kǧ)O)aryU<le:kiSV>~F?kId ' 0`_a
-Sȷiԧ9}\u|ёVbW!%"-!OEچFI3MGIdI طis7i'Դ)ҺEڌ<i+sSH;g
-.ݝ^KŚ~XGLy2#"ʂ=ysw\ݦ{~A(-K/97l@#J('HW2Ptp;V3*?Q^ ~BK(%gN?+n\ґ vEKϽ(?uBop{ $ndXPo)B7|a=HlgM@`aF7@:0 ;p(b-"~աqt)O0Smtc0^zlBE>
-- ~|GTX܋
-6AYkoy4}+N֭~Ss4UnjjιE[Ջe$Zikb$?V-
+<< /Filter /FlateDecode /Length 6089 >>
+stream
+x]K丑dD
+δRL
+c%!a֧UqPI1[x\[pj8żڔb&l"~ScXz IP,M=cM`!l]8Ŧ"0Mh. Q}m
+L7}×,gϔÍ$w o;W06ȃ_۔~T["i\g N(Ƕ.DU ώi.Sx76??[TtQ֐5!(wU3;WC_^Uq* CEHζlшWtvjϿgѺ4[cs{pB7WvyVhYq0$A*t {[HXj<z˹b#k\uM/\WSCj+4ٵ]vmpqWfV!^+(`3; Cߐ`dҺ1pr8#\0BY@^ 'u7\Wpgc07gF}6p kykҟ_r<3n7Vl>nz1<0ȯJ`l؋ 'v~7W!V2KiW%i6ee<^ '΅v<^$4tAz#'/:rj|f2K,8&Xfm~oxF<Uʽ`AM#s۪fqJO 1ҋfAKlP7o ~'& !- f!ko>Mof}:\Ү|Z > ͊:ds R| E+vYi}A+v
+]i~@şkf
+]i~ )~gLzvtx'cF\5 Z3n=k;Ӄt0ogݪ{n;=wIrfCsmsAt#t.m;ސ&䭗47--;2[c1M;ސ.h4;M;ڂP Lmkӎqyր<;M ͟ga*͟
+2iTnTeFj3 9.W;eL~"5#N3mȋf@'э6+z]R>UrR9 C%`eBmνB"ܻNf`ղ=,N^K2_!jʑIaD3>_Dt3d3QU-rF8T5Bj/!T;3‘$}r>8R1JAۊlprzi tqzq$f%))
+LAG+)G X^LCH@p7Н+EiPղ(1$t;N+F:>e$4 &d_UR$1vL mE˱lj]fj9Zl*B8Ѩyֳ6CUO3}fKp9#oU%7hp!=ZRW3%qj~%ԼE k-KłLNǬ|V6gK2${)dǙM2n 1mChTîԶRɣuukF h1aY]0na2C8hzC%nS.~EmlP%s0eXIQ25%,"|ֈ%c:k@Kd1di2eB1pr6 (a/A`
+d\!k' 4~hoaLƠS/vaEVI^bęL!D2!KKJP5&q#OTfh pόlU^>!Ә!x!F(!
+iQY-b#VB"sBWfתn1.bwajvL˴
+g(8ie[zEmSjAM JsJ.gψ[D{LZI,/,'O|K+>#&OH* f H5:x"!EPjHxlޒaXsK^AY
+'RNjje[=m\c[%9 (^/p/
+]ISu+B7u]hݪ{/F"#v&mGPBفT4 ;2~H ZP葆)~f;z`@U%O,r/zHh=vdf|65*}sK0{l627Y¼<RTۺ F}ߪ̗ĖqTF0*(j;fiBّe|
+& 8{*%45WZO[')=׏Чt@@Q~>}L68pHp1;/Q3|}1Ymo=dZo*9i3x-δcSC;ӎ9r:3<δcSCgڔibVi3x,V'δcSC;ӎ9r:3<δcSCiݍ96!N f ˴3;δc9}L;d?%!;3;sڔiu`X0i3x,V'δcSC;ӎ9r:3<δcSCZ=yA{Ji<dxnWDVk1+yXtҬ^4+W5H{yn,;1ɂ}ܵIhR5~gn:׶!{@rz' ǛsmD {r.MM82o=45--;Rx
+
+^AkW Z5H{2Q`:饉n4?4ѿ&&x-siX Oka,&~Yµzf9ZHJ `U{RHؓu{e׊ai㲻bAޚ[KXo%^ \TB[*L"ebOֳz+zTF.(dc`R/ T}hZK&鍃<z&J*USo>&
+:IorFk{KM5 1C3ZCƻ5j>^Q f'wTYK6A<g:SɠqŃH1vG_V*:;1 E9>1V @'| X}Vz`|Ql8JϹ>Sj
++@&gOybdE: *mZXC,!UA;z"65$n+] **gKZە3.RA..zIZ*RDGVR'|V&Oaqb[,[<奔Ho*w wIʷMUkˊ]+ye)/%9nb`tBSktWSm=o~eYzY+LN+UNʤn}b
endstream
endobj
864 0 obj
@@ -3943,19 +3914,13 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 374 0 R /F25 375 0 R /F16 382 0 R /F22 404 0 R /F19 379 0 R /F23 646 0 R /F15 381 0 R /F58 386 0 R /F56 384 0 R /F17 380 0 R /F48 391 0 R /F50 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
870 0 obj
-<< /Filter /FlateDecode /Length 4188 >>
+<< /Filter /FlateDecode /Length 3124 >>
stream
-x]Kcrh jº9>9q$
-\S|tWH|,ֻrfL~vlx'iVOy$`ʊϴOӏYP6C!J`&Dz؆(ƹބˬt,g܅9ϟ~@MI%37=gzx8*a@4QoɣtR$!~C ʫ)S~҆Zø@<H">N6&Hxa( <
-/@eZ'_ M)T'*`@PaJP@i3_Iä"?‰hf7iU`B+b-@[ϝiic?ϝii
-IS>u%ɏɓ$
-IS>u%ɏɓ$
-}h;'*9ԅy-Q>uOUV`ZpX0>F;]p\ :/=s`ORe*3weؐ*1
-VI5̕&>ԕ&?֎^~[inJC֎^~[i^44vD{Ih&5>m&RƦ{/4y.rdBrUp{ `,ml]N1lh<^~[^!f.O4fD<N|sGK&D>my&>M~<?O}"D#ԕ&?֎^~[i+Tv
-л~ӕFiE>*hbiO[ihc?O]ihc?O]iHAD/v+qJCS
-IWAA-ve?-PMwKM.4%3l y/E~ ;= >fkD H6έ:#$e
-bQZ<-DmQ@͏OŢo  `}jmݢi+k/O%"`<(HɀKz'ʨkvZS[&L,ī>![\(*i~ԡNݪe!;6zN/!bvYO EtTOOG&ꩡzZvYR dPϮGӦ-Ftja|m6qS7mwԈW)R Yf-tVak%c=~ozK޺+Vl~jq6g\Qg¼-٣/,
-vD7 @5l*!}r"Iϗ9c9'/<+ {5{R1RoPS*x[lA| trQe/fu'W{.RzR{,FJA ;]|1eivT)㱺R ə׭%SJ^*Kx[ݙ%JM pzJ kZ\)?lV![-0>C洁`9qET?{ëQn/Oo`(-Od)ZSCv˔nB&zeuN9EƗS&2uo8}eS-"t.[~C1B׹%<+^[lcKWx|K_OXD/X{, yW
+x\K# c`DA#x4HvArH&C=WrLmW>]"_ޏ-B0?~XϤ]<[~ȹΥwǹя>vBhfl,B#?x<H?+u+㓬Y(:pz0j`řϜO(q\MҎ R؃V;&I?%{,\N$E‘۞*5bV;'@}pZE7l
+)]3~9}3͜;0Hihr14YT3H3'?H5'h۫Ls1-~qi _4s;os
+*=y5='™4}Ӝp0HAOb8Sni>A7Bsik3SGf9-~yin;0͜;ZLs^ϝ;~
+>6JX4ލAjQ Q%R[`8X?]@iͬ-͐ 1ĩA3ת*D+n35 a3UhK8@W `@%-s’+TJ񛐦$$Ԧp:ibICIjljk^|IEE&_v
+7u`j
endstream
endobj
869 0 obj
@@ -3965,33 +3930,33 @@ endobj
<< /D [ 869 0 R /XYZ 78.37 808.885 null ] >>
endobj
337 0 obj
-<< /D [ 869 0 R /XYZ 79.37 679.821 null ] >>
+<< /D [ 869 0 R /XYZ 79.37 771.024 null ] >>
endobj
341 0 obj
-<< /D [ 869 0 R /XYZ 79.37 407.279 null ] >>
+<< /D [ 869 0 R /XYZ 79.37 499.028 null ] >>
endobj
868 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F25 375 0 R /F16 382 0 R /F17 380 0 R /F69 402 0 R /F15 381 0 R /F56 384 0 R /F22 404 0 R /F54 374 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F56 384 0 R /F25 375 0 R /F16 382 0 R /F22 404 0 R /F54 374 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
874 0 obj
-<< /Filter /FlateDecode /Length 3190 >>
-stream
-xM+bz "\^nmOC
-iKN9xII3pwvE1o ?E,35q#Opn=V/9kZo߫o$<L:|Ke 褵?V͙r+++
-SՁ<ohmTL(SM~eGLkOh
-<1T'E%/.
-?<~gU\ xon4^PHG
-LU5M6A<~'!KSYiz|8@Gldb,00pŴd
-vz~?ť7D:]k_lLkV8͖[ffK 3*6\k9ͬp_8o|Ӗ 5GL 3 aia);)794)hvU/C( ѝ]
-- J3)T:I'ֺgM{=%* Hz\|"h0^a
-gPSdWH$KcKG(A3227t;Tcna
-3NN$L>n!5Bkۦ9 Hs|CIHuiHwmmO,pQ
-s1d!{50of}X$ӊqCCXROyKSܱdӜ'SFPI`2G9af ];O$ `~
-"p c@[|<%ލLs}5ʄ/yAS}@9;֕L;qa<3! e2uZvkX&;j|n&35A3\4X5tzDYMscINuuifE%RB(bQSsb(C1iC̉ FLf^n2X.bzĪq}BBLc6-n.7u,$-bB:X:BGhT\r#=嶛`r&icj,~.0T-k ɅRU`i{T|O=~7[<VQ`-|͛8*_v_' g{Z;p_̔}p1 x}c7An4XFU1Z8o%ƜwnBw51y[ՍC1;o^ 38B]+΍3Sw_pE
-Q1g'܂M(A jxB^q*ZO gmFyt1ʤwdLo(aRD~* lx`n<C噜a 䙎S-xh%s Gu3\];f
-iF̤D؀6_%nLqhLKۆ?\f6Jŏed/P2@7h՗I}N}ؗ~n> wvuG;6~rmc8-WC4zZ-4ѮǑP-&DOfx 4@&M a*ɬWh0B|(T.iƈGJJrssC❋I7pZæY 9яW^jZej(O Ǘ,XCഖ=rXB|(ۗ/K;”]:O^O
-߃Ղ9 [-/`=
-,0\rgT_6J\ZTWNkHֈJ67+]+ZLiQ<~E+ut. #ǰzv˖ N\9:_ӅuWISwXn9sߝnxO㚧`{< o]0UJ}9v~EJd:U7N N b;:<lٹfжjU{>I,rl&q5&u=407zE7ߝL<n, /oP[~ =
+<< /Filter /FlateDecode /Length 3332 >>
+stream
+xM+bz "Xt6ڽ=hH/ff,M$ER$EjEq'N{/(,sZ Ob2k1O?>qnڤw{&xxk3e^>ϟN~̗3<O6ωgAǴB?e~ϗȓg^\&>h3ǠykaˁHm|g:Sآ5Zt5<CMB\25N1&\1eg/˼Kcc"t XO`ENhY3%C{\ts a)aQ ٨`"5_
+eĔWX 4~\ѦX,wA
+Ƀi]>I2r1 QW Qw1 3#D:oPg̏]d{os ,QNOw-h(ӿ53Z0Lyf4%‚TrBQ5mp6g /&prAM: =R T8B5Z (CլKN4!*י$d19ѸK`ƽKCdW#HىRYkD 2\VdȜذ( Zd+CMZjXĐ+qNڬ 1ĚEfA׼}ެebl&Պ7Y
+rDږK_(i R{%}LqQn PSb Gnl\UXU ʺ
+K>_RyJ}ֲϗ}>_mBpݗsKk;Y [ʹqGސ)4EE 8m$vh0H'X-Q>[I7컒8 Ue;_mϔ]
+Ǣ\`7Rrmg{R%~/GwHYi=-WɩOG`DhrqO :3R'uMۇb1M%uJj1 }5pP^<L2m&JONP Ӹހ)"
+C%wGr#ɧ٨ľG ݗ`rFӑ`Z,V9SG3̡H}Vno <a505Ck 3i3Bv;$aLU4ut"
+T7' ضLٖ)I[~6eƦN%EB#tfAh|HB:? փD.Oa4 h;!'L2<~"tj= 3TnY~arIE<RB)t"^\\t9+1Lj8Zx57 RA;NK#%/OK/i˥ǔ^s/7uƽnA$*TZ4;rWz
+.\0Iy$tg_7w=2<o
+*z Hf%h
+߲e#!B4o 4nTufc67Z:L42%
+ ϵ FK,:ʆsFr@:BmɬL{iyi t5s=Kaf0\5.zs~ym+If D |VNr5m<y^LύLqcIɏ޾]02"~[M^~^H0["yYSzJ +^rW;\j+J+rs-X+t5O`-
+(\WZ@ŭH#crprAeq ]&_tgSb'o
+Ÿ􌗿e:Sa,b6<^Љ.|(ֺ0"m*M)NnxOV㒧`<Yd۳Z(R
+;~NeZE՝N) 3(Bpc3?6g<عzi6h=/^.א-zi2u+[!g6G=;5VUH8M},yk~r̃DtvIx=fyY W13ʳ <-Sr`wj,5|K.QLZ5|Ȅ hv(.$׽ecۅĈ/g^\1K9RtpFn3Gw8#tW(݇+iE(u9%;o@C7 TH'al|aptڼh}Sfpt{zSF9sw̩ҏ*h̩-"
+0ҝZ 6f pƘ
endstream
endobj
873 0 obj
@@ -4004,20 +3969,36 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 374 0 R /F25 375 0 R /F16 382 0 R /F22 404 0 R /F20 376 0 R /F18 377 0 R /F23 646 0 R /F17 380 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
878 0 obj
-<< /Filter /FlateDecode /Length 2877 >>
-stream
-x\KϯPnkM7`,ҽ&{Kr2 \SŗH5%Qʤsú[R}zU׉O^x}y7`o/IL3)d-g)|/?=Phɸ֥P !7)RoQḦ́v[u)~(>~)D4A_6>M/IC">Bz\b5V0Z3u"
-w A)_8 j@ 8aYֽt;f@m5l
--X0bv mKnOjS B Ah?W4HTkDi9n Tp"cbJs X$gA$נA['F)l~sIأKb0%p2]HIB< dLDT93v@XŴ-v? 00E鐂S/]!}YJ"OŇM{ +`jI;NAN`I!m>>Ic?VHd@m.7l[1$)=G_Y {q7){{^f;' a \I\89!3pUS2wP-Cz9Sa_aizIH9uxczS'Act^82'݁Ouq=[I6)lQ^sx L}=h0A: LxZb^%xQ۶4 vbm1 nBOFrD SQ7'cJӆYfmX"!Mi䢎E0<hJ!bYqH4Ml=i^Ȧ8IzN`X|1s4_q7vrBDCQc3-\Pkwl5(9\(v J۳9_sy< sUp4sMlgoz 8"/=m/:;yMC2 dx.ӠJc{hɒ5J%ﱅr6 >k.cɫ9vrqVm'o9s(UT+8&Եھ FmoD# @;No
-m~?2r;ȩii?T=
-IԮT]
-I>L
-S⑻yF3ֻ0EF y)<oG:LP^
-v YSB͚paSL&qSЧϛͼݙ7ؼT?o2J`M=%`k y QP>4
-1㣠ux ڒgQPըQPNJXJD+r<jD\H?]8)Nڹ^dvMҹ^ctQer\i;5pEk*K`)uU+`<Ts
- tSFPK2O=6)e5gѺ{^%FYN 
-O_pu oM& :9}L:v {vRXEzqtųtk%Ɂ3~-ѓ[ãɁ5{r>c󽀿A'vΘ5߬52|O!F˽xSl2Vzk\f/V6N؞nչފ| {mg tma~9E ^;VB~F1̞~Kel=v SiK˟Au6 p"w/Q]{\};qa<3vAOBORQr΋5@-tݕS)F&G֥!M(_Qk]i#˅
-_IkS\$уmՆ)&x]J3x[bʫPZv׶ $`|!oBYZVgpx y[N__Q
+<< /Filter /FlateDecode /Length 5140 >>
+stream
+x]Kc_Ѱ[d65SY,&g3?#u*6
+Yt߲MR'(^z_h{w.8͵| XGc(@??˟( Ա֥0&)aBQEGcF@K&rv` /Kᬺϗ,_N\@w2fu
+
+[:pLϘ=,PIJjI]>II;v#&'\EBTR a'E
+EDE3ȅ>eGkbm%s
+aAآȚ8<EBa3*=`O
+#'u7bkf2oD=]&
+9e]& +-|Dkv#O`#@JAw*8L8iU.P5juP4(j[E1glmF?'jT"ֲo5zp5z:xQ~DmK:XkXeW|::"Te_WɾWbgEN5TBQaa{*WӍ3է&ZO7J5Av]y3k+ۧcco*<2m*
+tJxd?N 3oej|34R^ 7=GCM%f-dD5lLt*3R/U%,L)qm>ħ̒_e\ U&A |I|em$CYu-G,Un];\WKQF WUU3:eY]+Oue"+C}\W&2ڧ%qFp: 5t_غh~7XJW-u@ ҷ( _Rrx7J~TS>zZxO<S<nt?čriL}5I]|?ydhڎَO<V!VF V' 41{#Fe &* R 6B0P&Ղyi*SE~f-Qf^%.}D/ DŽW"TBg:Ů~-U[l`j@9cx<}֋)c'`?e-}Zlgb}!sd~S| D-=P
+
+V{$B 롢*Gͺ d2f
+驪rlҎ󘨶¤r<<c
+&-Kmxۄo^D)$41/,v'f{p8Vyl6Bi6JS,Cw(ߟ<8&ID? r;[6F+
+/?aM{@q#Ie6찬EL^81頺cBHi<??nwyHx: g)<@t{=f/~mSi>"E:<Zl{d{K˿mm-(gZ ۡy-=v|r^=Ce3~̞A^կ vY+<J>
+1p]eU,ENPCi}7fvh1,=gmq{-O!w<yM>^{lph~d_#?kワ^)ba/%,ף+s@>o97L*uI._'̇:Lj{?Qϋsտ m QЃ|uAT/j4gmRTt}~ "To"mt3՘6dY}7MRT]5Ǽ?+wan
+:Oy!y[-ǭ
+t⚶=Y8)Q
+ KAJ' C5fOL&cԒ9VuͳKm洉:~M> (%CY_첑G++
+*X澀\6yiJJ.1)dTxߊ9W5$aJuGcGq79꧿ ګ~,yRʐy<_
+|5=dHlj
+\),j
+;WGHwfB(,
+ם")VɎם`1zy읷/^uȚ9;%zgiïNYudVd+9;/ˋaɡT?|k6"ӎ{~ŀ(J*~D4qrd$
+ m Ĥ[o]p1'CߵW_}ݵYPzvq|i]J:ȨBȐ'&
+
+LRBKR@;"(оN;YpbztH`:8!f 8 "Rp'6`n5Qlp߃Я!7[I ŦoHJ̢cap,C
+[%بu 툤v@RB.):J׃TP]6K_.*
+5D0wN3jPyT$V);uvBٔgwh_k
endstream
endobj
877 0 obj
@@ -4030,19 +4011,25 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F25 375 0 R /F16 382 0 R /F22 404 0 R /F20 376 0 R /F18 377 0 R /F23 646 0 R /F17 380 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
882 0 obj
-<< /Filter /FlateDecode /Length 3850 >>
-stream
-x]K ϯ,ZF=$I|KrZ {H`sU$Tڳ9O$EQc [8
-M j P}^VJjyf0F8h.ION|ɨ{$V]8DS\je\<Ӌ#Ns-/PoewM/]r6@
-UP39(bF~X̔-f&tKL%GaTP/9% ,i/t&酠HKv٧}d~c%Aԏ &u>r:+A:N,fJr.6J*A s@ htŢ`l^*<JrPU T_p\&mT\bP( US_a֌2XH]3" 38׈T?9sVca7v!kX#{< ?|x>G
-Lp:vت+FA
-.\nƜЪ+#Ъ+u8W8qluw6{nlEbdm}ކ[eq-7n˙ݶ&d'k<&
-V[*!~g;T(SY?lM[{lJs~B5#n6pGq{ik͵xto-g֚r-fjh9Q[ g}.6զeJ r6; MKt#(p$5pYg}qX' ) LcnXLK`dϕ|<Qp J?y/;s-fG\I<,D¤zy+~PI-kzy+
-Y/;o[6O){mˆġqv$]7ΞΰVާrdȅwqv$k|}Svd[nDs܈B[!\AOF52d_WE{UKᖰ+\$7@D8XvH ^
-泣о٠̑__jIZߏH#AtlֵbcӰn5㢀C$C!aEE 9Aq((ep˅8Ti4S64<pа٢Чw9]WwTvFEJdz3T:.w&J;4jt~Ѱ$#VU |D 7nX^LpH-*(wy6ٔ ~Q¾j/~NPSK,
-jA()e(OPa{TW 4\
-g$] dNPqv$[Ĕxn@M:S
-­Z?u.$ly-eS6K/vւ79]ҵ^܋r-$?d$uxM4"0h뎖J^l1ykdļRGۄ?D2mos-z+`jz?^I =es1u=a4NJ{K9^_Kފ!HiSk45X>|z
+<< /Filter /FlateDecode /Length 4349 >>
+stream
+x]K$ ϯl
+ W6@vlԏ9Q[ʳ%-8j3 8VuHf"~cԏ[,ŭ)ew~3z0v
+jBm
+©/?q.p__W ⼕YGk׎Zgkvl}ZvnѬ\wbOnMiD`2[FK%k֘<mDz16i=os=z%N?2 ":@}[db<".Ӳ~&lI`HSX:xzzV|p=xh>~l3=!JWxr}վH3:R%Vw(ýޘ^C3y5=TmsFurg{Êw+kN<^˻obP1=5|<6>9or}#F}Ez4em؛:`b}q#/7u|Bͳٳğr(EϹt8ri|^+UЖPVur_w4VJBٺ׈"??S~I:kuycf#N]B\Nup!KE޹s X4,o/0?=vo/6RYuߗG6+~+AOwׂxʿtY$-.UXI8w^#y#r7C
+jP 6X ՁgDH Z"?-mpӎ6X
+[}W/[ +HvJ?ƭ׃k1UcOq_&?׎u>'iK[-W3[ꯔ\fD3ƁԦu }^ 0pNT_K~3-&\k"9AmGjl< ?qӼA`4/7KyӼ ٚ8Ii`4p9xK
+##k+
+|5=vyD
+|#HL d
+y 
+$ $E9Q
+2v}l|JB;b@86Wز敤]vDQ`; )}A [#5C\
+շJhQB;Im]StH+q. Ww
+rwcxEص :M΍eusW ܲ}"Jw`N EwNigr
+Ni?z񷃖S)=9,*;G,Eأ۔=
+e:MBB|e `廴Jo̩pb{,Ӓ(G_)ww!1$⊷
+n5n|j+My Oֻgʞu'X\]nڽ8B|o7C d{(qoV$+I<#J)6֯O{wƖ/G*?-5]VMOK=څ*@30Z] ` ]&^מ% kuh\$..w$^^&4/Kf븙1h_Ev7gm%nU.(\p繽*;Lu}铇)]ʷ-߸~ӍDlc*Nn$;b;ʩ ME/,@'xVuX='[vC/||ZK|#Ů0^Mgɸ7ٟ>Mmd $) FE~Vr/rw뚑ROr^f2«5Ђ@s=ƜZcgxBU֊)|KvHb2UD5]Vk^-r̜'[HwlbE8h$*fwchr#afFͭ0ഽ
endstream
endobj
881 0 obj
@@ -4051,38 +4038,37 @@ endobj
883 0 obj
<< /D [ 881 0 R /XYZ 78.37 808.885 null ] >>
endobj
+345 0 obj
+<< /D [ 881 0 R /XYZ 79.37 175.338 null ] >>
+endobj
880 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 382 0 R /F22 404 0 R /F20 376 0 R /F18 377 0 R /F23 646 0 R /F17 380 0 R /F25 375 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F56 384 0 R /F16 382 0 R /F22 404 0 R /F20 376 0 R /F18 377 0 R /F23 646 0 R /F17 380 0 R /F25 375 0 R /F68 402 0 R /F58 386 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
887 0 obj
-<< /Filter /FlateDecode /Length 6092 >>
-stream
-x]K$mϯ(PTGĄ6Be:8dk:bo$LUZzz Hxa?ÿ/+w-˟l]>ʷXc/WK- ߘZQ>K?%Ju-*8ñ/.?e&g~7\~]i_{
-x/gF~9?_T0E;C6vf4r¸|S׋XHPa"&Z?0щ`Ac,oFwU¾F.uV7E`w}hz_#MC S#=\9OdI[˯Nh%[6mWS^~Pj_;5Q4&*klػ>^Y( IJ`Fwlk.eN-.nf;N,{}CwYp/ܒ'ROM jݠ邾`7W6"&Ppct> Dg7O)h'
-ד4IPISד&=j3ד' szy%=WBx Se͟z%Ӌ g g^IWRBJU3vI#{%5<v 8[qN2V,Z,Z{aiLݱ8N,V)q[؝!Wb̼PA<bf>QS3kO835yf~g'k
-Q]ͩ IJۼQP/.B%i|m(?dxM+S1VZ~MD] YەkqZxrXf:"dA5d+[R牨OčgZypr0
-a0Ԡ^C=$/RQ[Ҙ
-u]4~THjX$5us^5*0-dm\Aᄔt>-/ p ԥ!baܡNstz؎VTV&RFe*Q.J  ֽJzt-Jx\8 O2N|
-_Xk$נN't
-f^;VyBdLDՅ}.lAl۱'65hC5\ F^ѮdL ƤǾf30q-HhH|*~<.v/ðLO'""mtOMl9TZ<>)b;@"3Ȇ_2@/J|\ XH݁2DH>i/I%e4rH VqhJ)HeW!kz@X-h 'a?"qz25.PT-'[~mӯ<ti#8{>x4-e=2GV/%ŽRrpd7\,jےց;(Z"YJ<jʬȉ[tK5L(Xe^oQ-< ZdH]8>ARLtA d¿ߟȵwMF0eۇgK-eQM,@/ij TDw~3W֍emcc*%N*x:%۟ɤᇭk!|j(o={(z ̀wi&D fWEkQ/wתIspHF&H>~kB QnǑ%\ (>jp|R&GQ 44t]t?j X׍f xI7#iQg"R 4_1=V2RK}7ch1)n}~+9GOa:XpXQRE)2rq~7:WH4?&9=d}(t* *^KK
-"LI@B>_<wA<xs F^xmx4эd]7buEF Va~1~4:SVXJ*9i
-'SvC™n /YT;M!A9q
-9R.0^Zo{wSff<X; fSa"Ae6lzYnRo482]2Usum4AOWuH{ WBө
-y]YKVg
-gqQU ^JO3 +e{saZXw'31RX-PݫH-D:$:5~#N/.QEٯEIРXLTE¹o>Y+]t(pQ l&hU ׎Ҩ#
-_d
-,^աȺrjśO
-ˉ|Zdh`&Gjt~[Փf"*ʿ
-u]\wGuTrH$MT>IUTQϽ/)5Y^]pJR a@7]9/
-R}? i^I_bHbR'6 š YPO)0!ːt&|7n*^I(wSEňKVZ~&B羖dRCՒ
-iv n | RmPc27j_ڒ@Lr$<LUǕJtDÿLPy* |VAN^%ۀe| 1=b?0}[5TG^Q@GT
-Ւ`'#η>,(ZT"źίSם+3F17RHZQXs
-gy1G-E4ʖ:L:LuƽJه^bV:<\U+:Cicbo' \%#7[%ʔp:\sJ7\׍H(J[cu,<|7WyO._lW/[{V
-*Zxssrq).HXhe]pl5eOm w=<Ti*$BLu*RisS}l: ,E n.wN+\6n9akL<eV^]a t`|Qs
-/SQ;.\ <(NmSw#ehx+]qii%x!i{:CzXR{{V0Xc|!/u2$o|ٰ"\$9~~:upR|1S7ﱗ*"7tuх+{q43'\ɬ`b^yv<~jdo硺N!jȼ+0.w\*J@ oF=FBO4÷دuQp0a
-j+]~lWi>KIW&ɺtCz7EWn2M֕`ƨwaCEQW?+Ltu醨+n4ue+M7c]by
-MuԪHkҠꇜz%&R%ZK<*C-ƇwO~:]0-J~r7r",3S_&X&.#ttea)QF؜\(
-֊tLIJm%U`mQZsz܇"ԚR=$>jzclE,*,lW,_3][a{8|RcIs
+<< /Filter /FlateDecode /Length 4281 >>
+stream
+x\I[7xA hӲ
+q4h
+G8fRX`kBډ,JQ\2 cޛA(z<_*N3^u!>B [CXebX! 1%t*KJxCτwEmR\c<.FACTytf3Ԟ9V )%q1uwbjev=(X/,2o* L5?C|,:&'^K#8/cNIx& E R(Oa " ,!MQnTAY+dYu{P
+X~aMc[Tżx煃1܋VQ(֏W:r
+s&IMP֊.~Ɵ
+#
+؃lڸr^2/[
+BJ>h'_'DR֫/B
+WiCg2]LD˖oU]VEt!ު_!!*+$Vi%2+hnMdSNc֏A9/&K6p<\Zp*SaVΙr~<TGh?I,lisXwXB/sɸOkzK6[ NF+fo*-V< kMδdRke;w.Z}/\[0]Iy:"_=rsqXr<qKwő˧Xm ESY&Ǿo?_ig1nq >-j ݀! i9F>GB6dKە>2zFc \dt5 }'^2 j(1x:;DzW7g[|<uaz eU$m ڊuT%TUɐTw%.^Z߅&wzg-!s"U)VR.'#;<luNTZ
+Wf#ݶk,բ;X޸YVĸ_[@br9UuD_fI -JCpo-SbWMTK"5%8Pbt?Jfv 도$1aϝ$9+.';,0Y/ {53l q=JW!V
+0.|#DHɄ*|$t[6u>MKĎ,~\UWuIVwӟ* BY"¦3& 0@/I𝰴9 @S#$>qTV<J݇n uQ1ɢ0t
+#ƓnN.3TS8/XMOsN,֗O= Mf/*Gn{qtcR5}5j+Wwܻ0}fx+`^iV'w7jBOt(j>,^R <JNhѣNn(~`l](gij42dXΛ>,y?N6bj=,I7 e!hCNpum#r·H׈<v6^|
+zѐ0/(qjӫ3 x y9֫ؼyh N
+
+A̪}ˏyfNlpI ;S]~8Z<]u-j^kI$|YhIanCKCXdWpq| &ʝ>37qt śwvVMk[EߟO0xHx{e*.lY@8lx8f@;U ě(2aA)J|7z:V wgZ>hKK6h F2
+(x^ift9T0tlQ@T%BM*ak U]Sb2,s yBh/f;ZWSE劂
+ -C/2ts4,N#(vX8/u8H7UDٳhzip8oGeU4 px<KxDՙY[`IۋMP*B-ƹLT-1PJuQ9z|J1ڂ]2ْ֣BZnmd;Cub,8 IKNĭu)!)-.衐u ڞ7Yͷ|0GOuq=O(K?Rz?
+Z[7p8%T.jUB5BRVR 7*B9]NC[
+J 8C9PtGS%&6HӣD諶H\BB߿[n6AtB[Bl ZP yW928ecY]ۢ9fz]IU^U𢡊 s@J#co_ 뇜nJ3li<iI
+_C)Ǩ:t% vC6]gRh@DzeUBUN
+37}y ?0o3Ox|? HyNC|?ӏ6d:6Vy39:`eR<MwtcÒ"NfFUnU!MG@#-pɖoi*\`bi^ɲ2W l9FmYf6
endstream
endobj
886 0 obj
@@ -4092,46 +4078,33 @@ endobj
[ 884 0 R ]
endobj
884 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.144 69.91 286.601 81.367 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.144 71.991 286.601 83.449 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
endobj
888 0 obj
<< /D [ 886 0 R /XYZ 78.37 808.885 null ] >>
endobj
-345 0 obj
-<< /D [ 886 0 R /XYZ 79.37 539.971 null ] >>
-endobj
885 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 382 0 R /F22 404 0 R /F20 376 0 R /F18 377 0 R /F23 646 0 R /F17 380 0 R /F25 375 0 R /F69 402 0 R /F15 381 0 R /F56 384 0 R /F58 386 0 R /F19 379 0 R /F57 385 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F17 380 0 R /F15 381 0 R /F57 385 0 R /F58 386 0 R /F55 383 0 R /F65 388 0 R /F48 391 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
892 0 obj
-<< /Filter /FlateDecode /Length 5221 >>
-stream
-x]͏n_-gI.| rH
-e.7r]\s5!% V+-V&[t!D}IUU d%.G]C&OymE臽⚭M,V9ЧR Y
- 6~nh RMk?QjlM~ѩi&X喕=lrHA%uS&惌zb\fF6EȌ-qǙj,CNEf9U_;3䌍DeJƪH/;"$%
-o8<Joi@z!Oz L-62hQ5BH^Yy>JpUfø1↡C.f4ib]_畃(JђyJFǁ5}grG[G~2YRɩW)4#'&PUbTX H&Ѵ+*hA.WҌnZ>ZbAKB#B'`Bz~d2 4" > ,+;śX247 ՛4߅ĠJ¼1Q.pvr> г%0 4hcմ/.B a򉃄#>g#eܖ7ŎMy>H$cZFThL7mZ=¢KXN+,KJNjOֽww哢ZpL-8p.HUSgNlV[
-fƆpd~i{EyLk)gBCr%>=keUr_a~&DֵGiRDwYB~h}AC:1=C~型):oy/067[Ĉˍ^U?Wq|\&gUGfq\5qg95Nu.-6n.8t/ֽoQ`E]<k$ 5 |ΫxAAΟݿ*}ECs(t+p0 kzP馵-n!d߆<9qMe:Vҧ(8[Ʀ~Pto6m x0ҩ>~8lP&-=?Yq{>ݢ dPkv)Rd]Mx6%`ҴGi7֢Ik
-E9h<˷FQVkc.! *y{kmzm?mȇPX1
-C0E_& G 3A u).)
-#Z MXWA9*~L%
-ːhKjh9S3
-7lMҹ_KMš0T8
-IlMs+w1<rWo`4;* 13qWե[?XM>:w~uu?X;G!3c->2O<lǣq5!k137kƔ; %op5voaW)V4v\a,rE5Dnօb`g̹~kzm-=1.C8h-ta.I'Y)|":-0T@YCԔ1+}
-)hB'`[pM0r1e'H֖vI`FH/U禠dd$nn%ESةdo j
-j*l뷜>XP&8el)}Tq𰸎
-JFAVx<B(wa`:ݘqpyzZDV%ʐ;.SjC&!pDQYGEDҸd#IԌq;bCrʓ|+jR " bܣ4+ٺ$j8g{d4RbIyneFiKaN$$äk4$WӜM<-as!6&5i Ω&^)(@(=Jkb+OfsfS!
-z)% E;.SA:Pz BI6RD\,s~!6)/iʝW)5:! 1 ;`:[כ$;dC$:JJV-(Sv6J]Tst" Q)8l<1V`5Ç,D]t2^yh/+)
-qT.Pa,.7FҮdc $kvN8+RNq2g62ƚWqL궑Ԇ#н[a $kvZ#^ca({
-FJB *aq! I39\KmH8up"k1FR. naz&093VK%0dJmm(
-FJB *aq ac Y+silpN9 ;,<#J7 6,,Yf&'Q+s @lJH(3
-FP8AT4w+m 6@V`-e=XиWbVTeprTUOJGld c]aNG[=z!7(}8UVG뛅衔WV?V<hZP;`Z6+#nܫꅧE&sa-ASI`UiFyR>,ys+3{CӹYΕc;5]ĿvrJ1EVRы!d="S&
-*!Ÿt
-sN>%]E)Ofd\c'R.5(}PߛD S$&D$o!0x a>)`+S_ {n]﷑ߎ~;P~atVѦ?n`-}^[aCJ&+9]/8eaN1|6I\|E*O\ށ=,*ɣ:Z4OԤ,Qæyj-h<^;N\kkoU
-p2Z˰"ZY:Lk' C:Û1L0R$ wLhLC /BO&,)&`L/)U DHlH>U81&Rc, .z]++.LjR]'kNzxU$M4i9hw]5R龾jM}̈́%AVJ
-oNJ`%*RV")eU@,,5zi|}Y?T[Ga~&3^qB׈'In >E\ 1lIkk7! gE/u AP>4($=T$ECs-gVN*
-ic ,CEŊ%.*t),;tx߁ܢu}NgSt}4[۟Mk6v.{OaW.y4<j
-3MM^ ̻YmLVq)LI =h/θ7`㠇r=8eqڎY|z Rv??s0O @C`|G&ɚ{ifSJ,
-vV%;Rа [8F|v~+$"|. J<V6
+<< /Filter /FlateDecode /Length 5487 >>
+stream
+x]KInϯF
+OY|Rkf!U1Pς\
+4e_|wF΍6,!%3=(ƌt*8[n[J`,ʥDo.͘qevE7J GH y܁P*2 rKL/ttoFaww\-񖧅u/$yW]uIqxM (*먵$Cj<cpKچHIBJZ+tB`WGp`]OU{*ٺ0aRؠ
+ը wO]"B@:Lq`%Zho^%l.[k &*jᕮH]1NQu<cW; !בR!*ըvW]"BBA:Rq j<cbӆbH~IBvJR^&ltYC@n$&Z<ͫ
+\1>{_0m&U:yYpdECTL;!UaY]%I+ZށJK\̕kKXE)mx;݇XM` _ <ЪԖr'R)
+oB$R1+ Osr<jSڐpx p!kܱ# NwG kv^GlmJ @J THW"vǠyX 'Z.ckb̥nJW$!lX#
+Zzd&'W z=@lSJH2
+TFZ
+E* f;Jn8<tK~|C_B,3J /+cM]^D^3Iik5j+݆M|W Th}.ڡH'޿{#D#+zJyq8%TdzOIVS?UKO",aZE4jkpZ8jӨFR# $m*o <y?Zx%zF)-._^F\L7f5lj 5yӬ~Rc I& oMv5ƁYWOScZMr6`P"M0Y?Э8HFӰK˩8ca2/x><;Z>Z.Ly6:q6o"6_忲K}Ѡ:1T}XÇ*7ަ\c(-f'J~}ÚMM
+|FvYYkMåI\"r 2&w^OBdo;M2> ^D,D_HX-g{)A7R_GaDz1QkGYMK;)]?ҼܻbGNqACŃ2$&c4.{kX5R\5࢏k(YRBĘlR :* NL v2m'̫^6:d=B4ZD2$cxR!=bclm5L餵̵M I$$/2V~-ҬcB.wy !X0,J!aC4 9Hv^Tf\;֮Ba]V:#Wqr^Vsx؁wĿi`Ϝj`ӧ:\ʏlEIdJfnʅ<1*Ϗ4pȋEqaïoKۧ` F$1X,-IHeyl&w9Ƨ\bX>αU>'86Iq9lLgư`4gi/%(G<JOOCY$m ߈x PmDaMy{ټȘ@. FQg~*51ito,! WG.(cp9۾|?}>if`4`g4oyLgj"xgZ$AdUpee(*ؔ-]ǰm|t\=x>~|_o5vzgQZ%\4`L>qj' \+t;lp>u)bOpQL`[z<N*LJw_pٞEd}ƎWN7
+N7_J`^ yJ9ӷMRԼZxjH-6[ˊ⟚co*&@avUԧ(
+U<VI֓^m-ifٕ.H{FR.ю#,>1u=KJ[$ˎ cyFy1ks;Ԟ1K݅~< {-Gs8[Xl=sMwt?Wu1{:;4y\e<Ձyz ^i7CƮ
+Ǹ}w;<Mq'N7ƵqG7~Hצ qWTצ
+}6->(7׶i ^7ѷiHK2?oӤ5Wۄַ)6MLrqSoun:0ӗ?Z޹{os3s3޹tntnaݶ̶I%CsZ۬@Xʊ{ifhd8
+Y?yWGi㼤49/?˥Q(/Fy2
+(KP^1Fy-i9du)/x?/Fi֏F\By6J^؞1(N4fc2-"
endstream
endobj
891 0 obj
@@ -4140,60 +4113,62 @@ endobj
893 0 obj
<< /D [ 891 0 R /XYZ 78.37 808.885 null ] >>
endobj
+349 0 obj
+<< /D [ 891 0 R /XYZ 79.37 252.469 null ] >>
+endobj
890 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F55 383 0 R /F66 388 0 R /F56 384 0 R /F25 375 0 R /F16 382 0 R /F19 379 0 R /F17 380 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F16 382 0 R /F15 381 0 R /F19 379 0 R /F17 380 0 R /F68 402 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
896 0 obj
-<< /Filter /FlateDecode /Length 11745 >>
-stream
-x}M%^-%7'Mtuu 0q /HZg8dfw*MC3Z^`0! 2} o~AçV?ΐfR\zKl{4o?ϟ.3wciηCoH/ģ<䶗s%/uۗÅ?K |;vω| n?t_ITtV )A:UnR<+cf1?6o=\f}j
- ֟_u/~3ԭ;Ù+)?Sk=͇֋?'\!Z~UZ[ flz)jS ruv&ݢ-[=[D!? \iϋ}پ7Ob9DMxμ׿Z"on>긵7-}
-ŕ7chiBVA+}"3UByVl}%u7K{c2e}^vTA)eCzx^~ o{yV}Ȗ:}"O:`ќ'@nk}^ZL6Z?VK/.c]e_l-NT;hRhjR-.16%RڝijvymWj^-]^EeoSuPrho>EwOfi2$OL!ͭB> q3p|Ď uMD )RYLrm ^v[y!%%m֚*HZlhɿp %JwےSP{**z3LᩍEM,"7bIwZo 60gXŌ |3["^hF E]2Iԍ ,>b3nN5_ܶb䥖25B@綜ˮ淘(Mͥ(5)hO*:l!yH{T"q{8ФÕ;~q# W6>nQ7Ym8d$?nXꐥcU 7|5T|2;93s.>^nѹRKHҢR z ӔS2vWDvf'
-r9 RFӣQ)?n ||jatY
-ZSWr5;5POs%V=-RwZZ$>o^}yIٗEB/T piK,Ƞ6
-q Sl5$9L&p+{]n? "4~H*U};R+`BāXF<aՖJњ[өv,m*gt@'g~bNBOJōw쩟)1?v6^ϙ_ħ L}ĿsC%ұ4r_6FYQN5<W8uIi{Ul/w)󣢟)+z^gV5 ݾkOOzLGd[Wc
-]hDkpьw|k{ fJ`E0vѻM'HEAҖ}S2>!u04So<|z6 ?V4>}dŻg|Px曷qGKCվ.d)zr jjSڑg率jVxPxO1c͔={fkH]6ʕ= Czߴ0](XSsTPvmURHG
-C٫I
-.|筑7[϶F+{PRw]W@p(|.o_˾fqzXZ^_1'_Eߴ5kxOŸZ1W+heËk0czY|^Z -Cc4ܟ~ֲ]tzᵆzĩN[pr3>[=_t %nh0NbzpU(tAhy
-F$JJ=ߝϓC&gZaX4@J,XȺC[.ewZqf;;!m^-䍟}qfF<s^p7IF:O&R%Z,2;1)z H2T_LB2@k ֪6y{MgpXdl+A+_qs+؄ݿLkԠW`͗Ӧg4)_onv^9%Vs&<}hsb7zߒO=ro?M%4HX}б?So]b~Іw)Ȟ`2=?{T4?
-NS-%?Fhgg?."-E"M]&,C)a֥
-riK(c ]{:`*7 jA_lJTO
-[M}b(kibaܖE#Y tOŪps6'LS71_0]o$m(/Ϭ￾:=9kPFC#Cewc}fl<Χa3{y__f_L'>[cYSտǓ r+sxc6(CԫNjf\n.=[=/F(2%=LrWB5װr6OHWzнٗ땹$?S ;>y1Ӝb%bW_{gp
-"obTVVI|n%K$dhҔ'dVc-B<Gy4PD*ڂx`AnFZ3)jL%҉e糁{Uhf;@=0sO݅/X%[Z!3!1J=')MXUhbfRue|ҰP;HE41zYU:1÷{zo~ ;i̬R, ߌZJlU=c":V0&^'2bxlSSBML06\I97s4Q$]D \5VĊ\2B]Κa~fZP#@k 1CH Mcn9{K&V;QR'SbIMLZ[0w3JERH1ءi=T*a&MT p'ߩP4w''~|AdӞ?Ro [kgUĞ+%=ϊ4|AsC$CJqș70)xb^}n>wU=#.&ك4]KS>aE4ӃQwЊyةǚ%37Cm@P̜r@x"fm'`!`07DR μj+PpbwE(%)Vd4 h\wx(eZ̐@‹%i=НZv7b0֎1VJMԴAcKC+
-oLV%ԜwQaDKC)
-%ISKSZy7[8$3Uj._, "\LI.A}0[I84oA-I}w8%ԫbHsuoWCK4; 3ĘƪLr^biyPҐ@/BͻŔ&Rwx> V&N`O體W82riJ0~vJ@6kj)nhŵppwJU&uRp15?u`iH OfbJoqJӻ_CK<Vx+WM#nβS/0K)ɚ[ֆW:X$ ):E!VM)(01b]3SL'!{>H#YEjL}D 5` D҉:QW2!*P b
-'h'qnyflV͇:̷YNfnvCPm=p)!nqT$XmĨ˭2!/Ytsa5:d߆аKkZ= MΨ$0~h
-je@sD y":En(QC(bH$uϣ8˜M\B
-v5VLזT&4~!L:g?MW(tBx[鱔f&U!@MVPEqQG B"fUQLϛM2ĨPUI
-?0Iq]d QsVxS<V
-=HB*vjNER?7Hu Rf:V-'PEbWHjR!e)y-K!\Br_fU|XB"!UkU.K!TVh`q)tIQ}<S5 ɲW&eac2J4S{ϫ!\e6y8@9CGy|= ,-Bݬ٘ͪPGbD_闝:-āG]6GA!D~-#eW&eb2[?RG氳 "\eD&V,-0tKsYzfCaNԤ-~
-r+(+*z@dg\xq ,OAN!NACD"5! 
-ʈjX=Rp;Yjyoۨ7kR#^ASUUH`H%5ShV`y
-mo<LF {
-RJ$F}b
-BeQRDjZ9<*P)?\|#Oj СBA!8":/Vs2)iAN@؁`<r2 TZeDe&+T
- DS 1m_; cZG6FNjx)( (4=H
-"85Y
- [dG? <,4i9/Ϻy T<E%jWAYA#؄ ƌ>?w;3;9$ >̢iSBT0NʂLY!< _L{rAoڛXyW_v{P.U!*D ʊLY&xHt+u$xToL4wO~d(DT*p.ĩ SGqrN/Ă_>"Iŭ}P_jU>D k.Xj@P6aCn ݓxSŇBIʸc:~K0BdMP̚;) 2zda >O^!:#tZ`Ĵ6j}0Qm 
-QLʀlX=aaf{W.X vW$,?ie|G$@*p.Lā SG Jݖ"oxNIq=)[ݾKdI :[l=e pgUjYcV*lgX}]j\=XoAYq# c}PhCrHB("{7'&v!2$mܰ,@e, N@dH -K|P.RF=܆x$\̫Mk jPf[PV\`H !?Ԩ[pw㾅PY27QϽЄ.#|D!r
-`M=0xCx?$WP, NM8;pw m$cqQǃEm W|`U
-6Q\Ue<ho'ef$ Mq-t[CiH"j?$[zIi)qȶyCs(S@<
-3:)p>I#H`n@%pQU<3piW=raF@J MbMf-yMx{(TԢ׺'KT4hr.L!($dާK#a
-Ӳ"y"IlL|/UUѨ#p9v::ܓ
-.pⵖc3MVxObe@ZTZDp5;5x,!"eS֖{dIDS}얔fVPL!iO2IŊJ-*xi/*&O Sj^FWZ#~$eHRE68+v&Q-o}WQ6Ă'4*}o~"BBJ
-|o? g'm_xEeisYW jWSQS@j~7 */&ޕ`|'p}xF"WA(DT
-%m3\PІ6*~r'1K`OeJEHH6(Q
-[aG݈s%_/\#S|M=
-07HPd(@ժ_ꩨ) 5v?BT $\#b[8r%/HzP6aۓRBTB|&
-~;wO,HF5
-.`+[h)u>vCB h]w}E|;xdnŻoک,-
-_?^?\׏W=_2T'߇A~\Q{Sn~[>(]^">z>ofx_ W*@DgO>֨1ceۖ#qm3 gSSpPp#oѤQ3Tx!cNG-SuO7SBb(*,v5jhP0}&F͍[<Ewy  BR/Tw>k_6׼lcyF6Czب*FU.P;li35n
-VƇelD=%cD{ ?CˆuBkU0Z<ijO|HV%}V8e~v-ܧwY/^eq١퇦c~$͎ڏOB YxR8GҖ5k)\:ͧjZly]5m?G+O46\ObitQsm S;. f&iTAϣ/ =˖gu'|Pl#wn>tN;U߽
-nC[K CC7zr7jY,13?b_|PWswqk g~] 5N>n:Cw $0o'mOm/k>
- 1!+Þ:y}67f+}@BU~i |<T{:HB}z\ŏ.=X &A1)XP?i/SA{l/9`^kdulMmq
-gdڹneptߊSx85|U |]{5
-ᾮWs-?luƧlbY]:|kcӝ{
- {T>ԞczO/ӫnUͽ~i\b-=Յ>:-܅Kw(q?1
+<< /Filter /FlateDecode /Length 10373 >>
+stream
+x}M-7^.=N~ KO^mO;"``ޒng0Uu*sdf?~s7ʖ\JoFV[h5,Yp]|mQǛ KC5nٗQ
+Sb?Q
+cےg}\/-öW-HKj4^ܺ-miu{Y(eS:b=(Qp/>
+C;u=PP^lQʮJ CY_o72~s6ʾijp<X\ʫ5oZB#be𛖾f}4F'x$>Q.[ne7zko=:!efH[cFٯpY+1E/ejqևjװS&?4|i;PɅץZ6
+z)r!}Qq J^ֳA/*4 k;]t5k s YqFϿrNuz^CRQ|jj1KP&FxHbav{_D7ánZAT7 fB_Lf;9VC
+Dl /\mƍ.oKI.n)qd ۟4*~ȝOoyk%P?qڋX Ъ )%eldjzSW1^\}<~>r|崝hжl'nmkhDb}?G;QsմB4a89TDK 驉Bآ)<-wO6_nyMÝ!Deȿܕyiyjs%si+%)%%+yҪbitm[Lm/.JrQ>.όR6k} 9Ҁ*G /||<GL
+>#~4
+-Z-(n3b񕊙Gl#tژGG] S41EoUI.s|c|sbh.,=\|d9Jmg 4I#5wrˬ--#b.ևpDF|-C^k8Bl|Bf5I͆+նQW="wGiMΏm9[mi˷[Cr_Fg6iҪTod^magG
+-_G筲ݛ(ia)vy^\ȃtHmV_w7RkzZả7"ph)ʾGׇfhuh|PHp4 j|7K[5g%sٗ$|eu,V`5owRoʍ#ه-'QOMnxwic͖xBDOgV/guI@k=~Aw¢T
+6i\n [+_|%PUZMoɘd|8fEӝG'gύMo>w;ɏoZt8i<W
+dQ;e(1:Pob'UEFg!y䒽[,ضKU^OO% 2DE<htU4P #13Ks~|l4h"E!7Ep(E턮:SWjT <9
+P.4?!+ mzRk("Тp|&Fq Fi%l}ֆYC5<6!#1q<?WME9BYN(3EzFv,ф6Ą2h8IS۩ii.lB3Bf[[0B)^!݄Qv4ww&+ЗP ;
++!B (?&zʃkqtͼukfM
+ՉIK h/-hvrANNZNbQvnBRQSra<EW #9qwʃBТ~TÒ+&< Z5]Zoj(F.@q3 PPRxygFPJVn2ͨ3gL}T2W
+dR,0bnfXBzB3yEiT*#:aP(Cu%Be8U;*~zD[Q*`&$Zy?6#h5`Yyȉߓ< +Wqr& c.+NX ҕ|rx;)ոf[
+!w7ʧs΄0A0E ݞTYzW6q?rXm.Yc¸Uǰ
+K&n#T1
+Hm=pVDuk{ɿUui6Ȁu59Zag[d`dw94Jc/{YBq3<Op5[{ t%jg .ҡ1Rn:C)n燸xVC2yqRfh|Nqg~b[kNӉ6QGv;ih<Iד
+7
+jz=Kp:f|LDW&6evC6!G459 ce^/Ժ .FӔzsڤhm`BCX&u3To3z:Z\I6e8UXb&=_EMjr.Qh3-*!uy&wUI$hl ﹿzIcr WE,4%bEDkDNՈEں;%fHEYeG.I ho1 UE&4^2[i(a!}YtggU韖xFwr]P+kܖRjeLE
+K[A~"*r˥+5p{|)tW/ ek@"r\3Ƣq`aؖbHUWMg.#Q3<Hwm0<Op5[{ t|yoq٩lL<p>e ;H W;R&fE
+Vê[ߎ5^#Ssxp`Y @ec˔0yEՌW=`SX#uTo&9x=Kp@"y <IN)!q:1H]՛ bcd5%P:v\&",lIv)Ӊ䦰CrWP;Nm*%py4fj3AVLmӉԣNTP T0FR,fˬipŗ˵6
+
+q|g(6 v*
+N_Rw*Ρi h kh7AT
+.{43{qqCHAtQw֋hh8iyd̬3zϧ挹|shv<L9D `
+0=҂E8cY==J
+QִЇC,jU>E2d9j)H#MihbB`QRBbB3[=Yz6b,(z~e_բ՘qRCAa!hLW+GQaAd&\Qdّ" SM+@MUF.Vk}f0ie՘9I⡮Q=
+JhV5 3zVa
+@ >6NDž!:#NX|:x[Ս`vicrSA6'AuBhF4l<+ !5&pc|ҋ4l*>؂']jbw!MXKA뷢iXh׳S4vks?x^v`܂ rp ꦸRT`xM*L
+?ą!)j# ӘRv\)WBC0AX׳
+"7Wa+7HxM)<|)[ }?^#K`a\揃 Ty ךR:T y#wLF xhXy۳
+>ѥ~ GDo/8ddCiͪ6a 7=
+P 5BI^ Kv>%Kx%SNd튯iM!է@PMcn"LݐC"?
++'gF#-[)F@Gȅ/\zV0HId7e" IPn%T#E'%p7CŨJE]Ydz޴k,j KkyX3%_2^b JK=*}(QA+qQ
+I$>]?'3'~C.˅VDT;*'}(T٨3q9v@~utz
+/~Z[Zm?ށ|-VNQkF$Z*Y4BFF۽oA0I鸻/ͼtiXR f dRXYG%uL46qQ
+Iً̯+x炁cۏuOAI0[߬q+Y)=
+%P
+1PAg+y"tJ녏8
+(oƩ0n
+ $/O?.[Jρx+1oUƹHn
+z,~0>|Y;u,_ ʍ{Dtc{w(>~v8zP}o);[WVsxQ[zݾƟluFre׎qwŘц~0xG?Ec.f e=k
+n{p/LC^oc:U,%_Kk,k ӣX-jDZ<맆ua6f.s-WuƴCX~
+R<^nm/q?a%p! cFsLBv49w,ˮIoХz}:c:tL:?IaѿJ:hJ<T"/ڋHHt]H-?/+~O?dpX?ۧԭs"?umK{w]yG+exZeYs%~͎K_ack\9m-= qAU<|ʠҥ/ҫ%?~!vHu=l:G>aɽԇ>}Moa?AT=_|? q|X y_vi?:;|ZvH<_KNLuG?&nVݙ=v栮`7vdxR*6ӻq-}yֽkf%Idbλp>|qb%e\ YP췻oTKp}oՄ=ϹSDCv)G#~[wCyㅬ÷c5=~;}5 c}˷N-i_!;x/E+j;g.<l׵mRQ}.E({dFԋ׍%]}6l>Ԑ1Ozd"Sork廤XRVU$mAvZlPf=rU^cрh*^]xgGodqnV©UߵG݇ÄJXʍc7ܠ vW3iuy.$yz{0g^rB?uN' [h˽Oޟ*9'H8q=6^zrIᆫmЫ\ξ숹$
+|3g7|Nlq1KJt/\ǻG]RUZS29_OZoC#mqxwp(YϾ&.7殸ힷl mh$hrPzc!r8"GC^=/zu<J'[UylYTP* -^@Gu{^Ȍ'm2z ue2N̐0uEk9m2?4='l~/O&[li22L|N􇟾
+!
endstream
endobj
895 0 obj
@@ -4202,25 +4177,23 @@ endobj
897 0 obj
<< /D [ 895 0 R /XYZ 78.37 808.885 null ] >>
endobj
-349 0 obj
-<< /D [ 895 0 R /XYZ 79.37 615.945 null ] >>
+353 0 obj
+<< /D [ 895 0 R /XYZ 79.37 251.543 null ] >>
endobj
894 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F25 375 0 R /F19 379 0 R /F16 382 0 R /F17 380 0 R /F69 402 0 R /F15 381 0 R /F20 376 0 R /F21 378 0 R /F59 393 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F20 376 0 R /F21 378 0 R /F19 379 0 R /F17 380 0 R /F25 375 0 R /F56 384 0 R /F59 393 0 R /F68 402 0 R /F15 381 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
900 0 obj
-<< /Filter /FlateDecode /Length 2924 >>
+<< /Filter /FlateDecode /Length 2111 >>
stream
-x\͎S%xi9-{H&%*-EU},~*-ħ//;>^~8? N'1YϤ1}|#8.~o?+
-=y 2ř.+ի8h*^vfI䯚lx@i>=^']B }/
-[^ ȡ|^1I
-[f) sZܨ4.8T4sBPoEƥ4b8n΍ͤ;^@#x&Cړ4V> 82spLYPLfd>ǩT!FJ-,h
-6J)$;2$ˢʹCCY4zTl[ae4| շm߅o|)D)V %Vpw2dO#EgD,G(4ͪ bcrm)WRu_BQx(nH )hgSK2 ӷ x=N1M')xh(ҕcw 65ECLo:h ¿_N`t1AGU%f3ge=fM*fe'l5Z?韪opCsKabW~4&
-sf)Hm'~ILs*w^l2XQaI+q3%=
-0ܩ=s grvQ0qr5kL1s/e&3)\̃|
-3;
-uDD,7=Ջ[&cp\$2t.z.AvxN|qk]Eߺ8NyYϳ#/3𬓿e;lb-0x/O{` ђwN󝲾f$=VvJϘ |F^3;Ǹ3i瑴Z6LTKf+Auz$[rLnf(e }bQ9i)G7In߹nEafx7.gty~?V]wq"; h"Fü]ޜޣcyz>|KDIynCzG},)ύv <>~+VYyn{|O[w'=};>Ks- Zc|)/UVűS:(;UF6:9va'ٖ>gJ:+L?M/1*Ŕs0}i_n
-ءBo~'ڋotK{%]´fL͂ $p1xb~=,@`ns%zoE]@
+x\Ɏ6+b3 0I4%`OqD-8JnYtc6Rs/ǿ/< b;m:ϼBLk;@s-s xt6U nnQ?cŏ ?˜rӼQ 6d5~C9̛lL29knf뵵QY?3uעn/$by&OfIc]MՖ\0pMt9)M_ 6kߤ8<6'L}54lxh.&Us4]-}Z2eڼxӌLsyK<Z-%ԛ0a)L|
+rr 6 C" IL"91e4KhǜNY.Yn}CCkow v+}`S^T,AXҫ|5~fB#W?k{f ƒeZF\t @j`;lÙa6\tiz+B6\RZ#:VL 'Bw.
+MN  cL
+J1o{0Ʌ -WBR(썰\KGED "䢤j)쵤%mdh$UaA`1(8%9-m[qe!]5sBJUpvgb
+8i
+bܨ^MCЄ9,,y`U %!ָ: vC(fBqi!u5-<!4 sC??%v b8+F"`W}[A|-xnoD!Ӹq%)3:>d53Yp3
+'bx,^ Q83^1,^ Q8O1]MLȟab\j^x=1D^8<MGwG7IWMYoO713Asfft/3ҪM#ef<MB33#q}dqŒ}S3R?o%
+SVjt :E5+YƑ^Jvfy`$3 NQ=7 oUNp6 K7IJ`(ޠL53Y0\‰T13zŒl f$
endstream
endobj
899 0 obj
@@ -4229,42 +4202,33 @@ endobj
901 0 obj
<< /D [ 899 0 R /XYZ 78.37 808.885 null ] >>
endobj
-353 0 obj
-<< /D [ 899 0 R /XYZ 79.37 771.024 null ] >>
-endobj
898 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 384 0 R /F15 381 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1019 0 obj
-<< /Filter /FlateDecode /Length 3308 >>
-stream
-x\͎# SF+Q0h=܂\SRU(UpHHQo?i|폇O7ʢۯ|3􁾙[Hʆ[Z9ۿ~hZCk Z|nԈT%<xIxɫPD-xx@}8f 0nDvGT!BԐx7؅3o!2[~FLqsey BUH(<3r:7?y$2>I,Op+C<&ܶ}E/ۅ>]A
-StT1@o
-%B0
-?UOLJ;*s9&BV;V X81}#WR|J.I$&R|'5mthº\r"n+%؀CRƤwl?CN%v6LO`T,{,%P%+C%wj![U?1LG,"UQkR+U aGX;آSMp{.{=AcMVzD #H.=[IB9\+c"׊mkp4?(M٠s6nZ;wnʼn sghY%mQm0BǒRgT@r0&[]3ɡїw{cRmﭐMrhY;T"R5Ƽ IXHh#m wVB? :p,B&uUdsmTz Iox aoI}W &p
->SvR
-'' zfQ% '[3
-h'fr냵\e^hVho91>.vr}e
-trGy!-rϤ%2z+ {ķX]ӥ^9ڭ]vp?֨'h
-=\[bsp@ne:
-чK6V+A_`(JJQU"l ZLDkVȧv1y.1IH`#gKB/hܯVm2eb.%Juqu3ͫ*yZq[1:i Q<SJC0Y,[ J[/~J eIK#ER:,P7IPw ~4K!(,me[n"]:۱+NrVRw<e c`(|܁Vf.uuk$</jw Mw퇻vBa.g/e^=@c?ZNg5cLkGo\5m>v&i<RewH;De' ⍛*4RÑmBpTIpD5VJ?nP:yyc:Jt[6UZ|XͲld'
-y|- gbmQ4AG"g
-N9k:m6C(:m$T$4-NU@^&A&NOUW]FM
-EU7q߳kU8KLD^fV>no~sFяe< #FXFY#l;Mx r;H6v&1̎0J%o-Nm^(I7)! cdІ"1EO3 6%Ʉv$ 4F<!AEqv
-р'%R`?On4=r x6.W@-(MpԠ@ .VuЩ'i\QlWhã
-tAygAf0!O@m*m|=%@)6tĎCpnw_+nDV:EO~V%+TVX^{b¡
-I?jCыg } WƻmVu~}qf}pufNvC2.C;B GiC+!%c)Cm4ZTj=rHm9r;byw"%׉\FEne_-RtUPZ e[|qy論pb nبtzHSA_
-1I]bи8TSy)ƫ&.hbSq٥J3U\5T0
-x$^?=m?ľ<-g4.ps suЯϧE
-q.5RfTȁA?W틉<)P.7*NXwXP QPr~z`欍>(Vx98wi
-^CLOdh_*uL4XΫX0O֌^1܃6a Im陫/-7͜`G0Z8UndITW>#Q(v QScǚm㱰(`=Hc ET1z^R) e_] }u!-ÝؤAKI98sJ
+1018 0 obj
+<< /Filter /FlateDecode /Length 3289 >>
+stream
+x\͎# SF+Q0hk{ &5T%QrpHHQo?iǛAe@-$e-X_?FC᮵?wjDߒJ<֤aUpXy<Q\,koDd܍]%UH5$jz** vwiy ;?7VA9Z
+}y.3r:7I&db}8YW,lRk\gQ7 . j
+n#y|*LX[exd-|R"r7
+KfvV{VcYV%*s]8Be8w`ʒ#UZɞζ0^Y' ri\jfĔKInj-(0ݜ
+qO-0i Ӟ8ZlW^?/&c> Y ljbu-]P7u)CZTΦ&1&Y86
+;VՃ[TDۓ{X_e>*ddg
+jnsnZBQʔ.(qdh~4"i&FL)d n1(m+-3j$/Q `VJrbQfIrg:SY lGYƟ˶D<Nَ]YOuq.gCB쨈4sc4[#:g{d*Z 99칭$YP~؛V %{fMdWM!UNITMIxfJ!>m d[ܼ}Qܶ:qU÷ @mRG1%yݭBe}*->2f6Dz<j>▄3(R#g
+N9k:mNC(Fm$T$L-U@^,UB,NOX]QSUI&ªu_!e
+g̊/l<m]/aa0:48¶*ۊ
+LV9ɍfՒQWnPY hoJ}2z
+Th!ߕ6˪:/?+"* Wԟm
+txT.(0 mmGT_6ˆqhڮ햭dSTNgU_5Be*൧-:>)6x}Q9rUl߮nXYg6(8
+zWg|7O!2S.*pY`1r}k2X{,eFאQNb3yQ.mu"2ֳ}ˀ̇N2>abQPSH_+VbZ;1A K r9a謍J)l= 5@{BL~Sr=^'P&& KCӖo*&ѼM$jp[vlU,K5lec=O`[O%>M.nY>ܴ<a\k-ȣHt>ΥF
+ߌG>r *aUb%!O@J.#L -ʲS97=_59kpBh%7'Rƒpoh!_h_* L4LkV0O֌^1Ѓ6 Imwk/-7ʜ E0Z8UйnLITE>Q'vQ A5'G5l}eQ2aA5!瑖G#\r2|./)ц`>G_"9r_]ʯg'e)KN8|M:z߹Ľd0@sJ
endstream
endobj
-1018 0 obj
-<< /Type /Page /Contents 1019 0 R /Resources 1017 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 867 0 R /Annots 1021 0 R >>
+1017 0 obj
+<< /Type /Page /Contents 1018 0 R /Resources 1016 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 867 0 R /Annots 1020 0 R >>
endobj
-1021 0 obj
-[ 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R 918 0 R 919 0 R 920 0 R 921 0 R 922 0 R 923 0 R 924 0 R 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R ]
+1020 0 obj
+[ 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R 918 0 R 919 0 R 920 0 R 921 0 R 922 0 R 923 0 R 924 0 R 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R ]
endobj
902 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 134.055 681.88 141.029 692.928 ]/A << /S /GoTo /D (page.9) >> >>
@@ -4336,10 +4300,10 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.032 375.635 244.987 387.59 ]/A << /S /GoTo /D (page.42) >> >>
endobj
925 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 223.848 342.348 235.804 354.303 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 223.848 342.348 235.804 354.303 ]/A << /S /GoTo /D (page.40) >> >>
endobj
926 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.795 330.951 156.75 341.79 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.795 330.951 156.75 341.79 ]/A << /S /GoTo /D (page.40) >> >>
endobj
927 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 236.479 318.438 248.434 330.393 ]/A << /S /GoTo /D (page.14) >> >>
@@ -4381,7 +4345,7 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.871 186.931 245.826 198.886 ]/A << /S /GoTo /D (page.18) >> >>
endobj
940 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.921 186.931 262.095 198.886 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.921 186.931 262.095 198.886 ]/A << /S /GoTo /D (page.68) >> >>
endobj
941 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.465 174.976 231.42 186.931 ]/A << /S /GoTo /D (page.10) >> >>
@@ -4435,7 +4399,7 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.958 693.835 386.913 704.664 ]/A << /S /GoTo /D (page.39) >> >>
endobj
958 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.008 693.835 403.182 704.664 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.008 693.835 403.182 704.664 ]/A << /S /GoTo /D (page.67) >> >>
endobj
959 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.705 681.531 411.66 692.709 ]/A << /S /GoTo /D (page.17) >> >>
@@ -4444,13 +4408,13 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.755 681.531 427.929 692.709 ]/A << /S /GoTo /D (page.67) >> >>
endobj
961 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 431.028 681.531 443.202 692.709 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 432.562 681.531 444.736 692.709 ]/A << /S /GoTo /D (page.68) >> >>
endobj
962 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 392.821 669.357 404.776 681.312 ]/A << /S /GoTo /D (page.13) >> >>
endobj
963 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.871 669.357 421.045 681.312 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.871 669.357 421.045 681.312 ]/A << /S /GoTo /D (page.68) >> >>
endobj
964 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.585 646.004 390.559 656.844 ]/A << /S /GoTo /D (page.5) >> >>
@@ -4522,1083 +4486,1082 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.374 371.045 377.329 381.984 ]/A << /S /GoTo /D (page.11) >> >>
endobj
987 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 473.372 358.522 485.327 370.478 ]/A << /S /GoTo /D (page.52) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.268 358.522 488.223 370.478 ]/A << /S /GoTo /D (page.52) >> >>
endobj
988 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.698 358.522 500.873 370.478 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 492.318 358.522 504.492 370.478 ]/A << /S /GoTo /D (page.67) >> >>
endobj
989 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 504.727 358.522 516.902 370.478 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.511 347.135 399.466 357.965 ]/A << /S /GoTo /D (page.50) >> >>
endobj
990 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.511 347.135 399.466 357.965 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.126 335.05 398.081 346.009 ]/A << /S /GoTo /D (page.50) >> >>
endobj
991 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.126 335.05 398.081 346.009 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.934 323.225 411.889 334.054 ]/A << /S /GoTo /D (page.50) >> >>
endobj
992 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.934 323.225 411.889 334.054 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.984 323.225 428.158 334.054 ]/A << /S /GoTo /D (page.67) >> >>
endobj
993 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.984 323.225 428.158 334.054 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 470.241 310.702 482.415 322.657 ]/A << /S /GoTo /D (page.54) >> >>
endobj
994 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 470.241 310.702 482.415 322.657 ]/A << /S /GoTo /D (page.54) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.573 299.314 369.528 310.144 ]/A << /S /GoTo /D (page.14) >> >>
endobj
995 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.573 299.314 369.528 310.144 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.517 299.314 384.472 310.144 ]/A << /S /GoTo /D (page.17) >> >>
endobj
996 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.517 299.314 384.472 310.144 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 267.317 352.542 278.146 ]/A << /S /GoTo /D (page.28) >> >>
endobj
997 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 267.317 352.542 278.146 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.637 267.317 368.592 278.146 ]/A << /S /GoTo /D (page.55) >> >>
endobj
998 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.637 267.317 368.592 278.146 ]/A << /S /GoTo /D (page.55) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.686 267.317 384.861 278.146 ]/A << /S /GoTo /D (page.60) >> >>
endobj
999 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.686 267.317 384.861 278.146 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 500.497 254.794 512.452 266.749 ]/A << /S /GoTo /D (page.20) >> >>
endobj
1000 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 500.497 254.794 512.452 266.749 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.823 230.884 454.779 242.839 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1001 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.823 230.884 454.779 242.839 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.876 218.928 480.831 230.884 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1002 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.876 218.928 480.831 230.884 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.354 206.973 401.309 218.928 ]/A << /S /GoTo /D (page.63) >> >>
endobj
1003 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.354 206.973 401.309 218.928 ]/A << /S /GoTo /D (page.63) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 446.071 195.576 458.026 206.455 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1004 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 446.071 195.576 458.026 206.455 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 481.476 183.063 493.432 195.018 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1005 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 481.476 183.063 493.432 195.018 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 349.553 171.317 361.508 182.505 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1006 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 349.553 171.317 361.508 182.505 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.476 159.153 453.432 171.108 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1007 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.476 159.153 453.432 171.108 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.715 147.197 406.689 159.153 ]/A << /S /GoTo /D (page.4) >> >>
endobj
1008 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.715 147.197 406.689 159.153 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.784 147.197 422.958 159.153 ]/A << /S /GoTo /D (page.65) >> >>
endobj
1009 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.784 147.197 422.958 159.153 ]/A << /S /GoTo /D (page.66) >> >>
-endobj
-1010 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 471.825 135.242 483.78 147.197 ]/A << /S /GoTo /D (page.55) >> >>
endobj
-1011 0 obj
+1010 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.336 103.245 459.292 115.2 ]/A << /S /GoTo /D (page.39) >> >>
endobj
-1012 0 obj
+1011 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 479.725 91.29 491.68 103.245 ]/A << /S /GoTo /D (page.48) >> >>
endobj
-1013 0 obj
+1012 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.201 67.379 426.156 79.334 ]/A << /S /GoTo /D (page.40) >> >>
endobj
-1014 0 obj
+1013 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.25 67.379 442.425 79.334 ]/A << /S /GoTo /D (page.58) >> >>
endobj
-1020 0 obj
-<< /D [ 1018 0 R /XYZ 78.37 808.885 null ] >>
+1019 0 obj
+<< /D [ 1017 0 R /XYZ 78.37 808.885 null ] >>
endobj
357 0 obj
-<< /D [ 1018 0 R /XYZ 79.37 706.717 null ] >>
+<< /D [ 1017 0 R /XYZ 79.37 706.717 null ] >>
endobj
-1017 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F67 389 0 R /F15 381 0 R /F56 384 0 R /F57 385 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+1016 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F66 389 0 R /F15 381 0 R /F56 384 0 R /F57 385 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1128 0 obj
-<< /Filter /FlateDecode /Length 3265 >>
+1127 0 obj
+<< /Filter /FlateDecode /Length 3263 >>
stream
x\Ɏ$7W
I "rtЮX(%,&&ˏoݔ}":)!ԛ7Nۿ~h)5=[?<C׼1XKOP Mo)o/enߵs&Nwѱqt?DYɊ [icS-AJ絴\K35dg/,CCS.ua%˓d&ysz'i}
- W-k_+͸+煉ML ~dcUIi)>pK.uLX~7-*p7x`nnxt~eQ7Eg5ftB$ŵ>^蹴nz*
-U巤UFRY+b\%ׅ;c[l2xFg9vsINt
-)x+piCgq95zIzRS^<] B&(]`VwJFt(p,d=JH+f N6T;D#_7W(j>GPnVBAP7n>]Yu (YuSd;޷`AV; jUZ5Z([eLOl 45vG˻g'z{7Bd
-`6S
-+ЈPmT8ui9\u
-&5"RY,w8B]s2
-Rz ӈ\[[B
-_UKV)f3&ybL
-[FjT3//X6#Nuv{_ }Ri]'N]
-Bi=*߷o[qb@/w^5N"'4t8abJbAh5е&fu ZhpHU{'%Lp:)LHadWd:+!);Ğnȏr{{+aa=[8NK3 83d{*L=N? I󳜲ؙ_N-K&; M?|R'A4 -֠L4
-'>}b$H2-} 9ǦQC_`ipZՀpn}w"p5[>aNl b|fqPƒg .n-[/ۭoMҘu?d&G1Chv3r&5\yYwA^EDɿa-۩*nG</f]V]:8LMf;aTQQuN
-ulìj#΃nBaBjKYԆk)% EȅkS>G["_̐@$)CLvW?F&X4GNU}e^T]ul{}ĝQG=ZQ̵Oч3)_]
- PyǷ
+ W-k_+͸+煉ML ~dcUIi)>pK.uLX~7-*p7x`nn'uVF݀gY̚I
+zޢIᶫ*WߒVQ*G;Ieq_> <ohouD%^h8%FܩVWt֧4岧/ jF*{-z]z_+yX[ޜDdF(]-'~';]\ Y2 ̡*0[%P:Yo4-(.Y.mM܋i ב<kzzx:^:,"΍w_($m ]-]@O
+$IMa{LXtI.xF>;RwY)ёlñ(%_g4#pwZ$,:O#tP퐒?cp^w|_٢Z
+Xy\BY C4A ߸[ *v d,dMx߂ <$[m40W!jhUn1?ղe'_`R>@j#lְm 0 7wN*Vo(u;9
+
+|huɻWZw4 YAT f< >ZFZpƁ_T,Ntk0֘#
+S˽9a*sN7O30J;7FuڗHHηq'|AgM0p@riŒM" ձt|Zc6=DƛA:4Y)P9)7ũ]|kD:(+DVrmVJۨ(3KqsH'JW+:M-kDVY,?qJze8/*hBDžlaMS̰#gL06&!i0&C2Lz/2Qn;Ҵ4ϾBϻk(yֹDZ3$r⒚0X5F@3rka[KOpdA .g՝P:IMC@8m9=J7Cz@6vrہYe2ȄyKTZ~Spo@3xdzwn)cNAx㸮<gC^ dBSZ@
+?k:j\rS}ԝ&l6ĭaK=oKpzXs뀛A`9ǔlneNE>8~?`3t_Gm ^8˙ G)+uDh~[}%lqRMeKJwS16Ov+t/1T_T`XSz9r)^lv&JƮ|>]AdVIr`S;هrT1c]
+MP{ y_N9%70pZ*RԅD̕l18~
+fy(YML^yУR@)<&_IӑX
+`ݺ-uqq\Gċt=|&o8Om0+2{[bOYyG`=½0F0bឭ
endstream
endobj
-1127 0 obj
-<< /Type /Page /Contents 1128 0 R /Resources 1126 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1130 0 R /Annots 1131 0 R >>
+1126 0 obj
+<< /Type /Page /Contents 1127 0 R /Resources 1125 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1129 0 R /Annots 1130 0 R >>
endobj
-1131 0 obj
-[ 1015 0 R 1016 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R ]
+1130 0 obj
+[ 1014 0 R 1015 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R ]
endobj
-1015 0 obj
+1014 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.361 757.574 261.316 769.529 ]/A << /S /GoTo /D (page.42) >> >>
endobj
-1016 0 obj
+1015 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 265.411 757.574 277.585 769.529 ]/A << /S /GoTo /D (page.58) >> >>
endobj
-1022 0 obj
+1021 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 272.085 745.619 284.041 757.574 ]/A << /S /GoTo /D (page.42) >> >>
endobj
-1023 0 obj
+1022 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 170.14 734.112 182.095 745.061 ]/A << /S /GoTo /D (page.56) >> >>
endobj
-1024 0 obj
+1023 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.66 721.708 240.615 733.664 ]/A << /S /GoTo /D (page.36) >> >>
endobj
-1025 0 obj
+1024 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.135 710.192 170.09 721.26 ]/A << /S /GoTo /D (page.51) >> >>
endobj
-1026 0 obj
+1025 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.81 698.236 176.765 709.195 ]/A << /S /GoTo /D (page.51) >> >>
endobj
-1027 0 obj
+1026 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.279 665.027 214.234 675.857 ]/A << /S /GoTo /D (page.10) >> >>
endobj
-1028 0 obj
+1027 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.223 665.027 229.178 675.857 ]/A << /S /GoTo /D (page.17) >> >>
endobj
-1029 0 obj
+1028 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.205 652.504 173.178 664.459 ]/A << /S /GoTo /D (page.4) >> >>
endobj
-1030 0 obj
+1029 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 117.198 641.117 129.153 652.056 ]/A << /S /GoTo /D (page.27) >> >>
endobj
-1031 0 obj
+1030 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.825 629.152 132.78 640.101 ]/A << /S /GoTo /D (page.27) >> >>
endobj
-1032 0 obj
+1031 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.875 629.152 149.049 640.101 ]/A << /S /GoTo /D (page.46) >> >>
endobj
-1033 0 obj
+1032 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 171.305 616.639 183.261 628.594 ]/A << /S /GoTo /D (page.40) >> >>
endobj
-1034 0 obj
+1033 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.131 604.683 155.086 616.639 ]/A << /S /GoTo /D (page.40) >> >>
endobj
-1035 0 obj
+1034 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.309 592.728 206.264 604.683 ]/A << /S /GoTo /D (page.40) >> >>
endobj
-1036 0 obj
+1035 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.799 580.773 179.754 592.728 ]/A << /S /GoTo /D (page.40) >> >>
endobj
-1037 0 obj
+1036 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 225.681 547.644 237.637 558.832 ]/A << /S /GoTo /D (page.54) >> >>
endobj
-1038 0 obj
+1037 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.912 535.688 242.867 546.876 ]/A << /S /GoTo /D (page.54) >> >>
endobj
-1039 0 obj
+1038 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 502.708 143.49 513.538 ]/A << /S /GoTo /D (page.30) >> >>
endobj
-1040 0 obj
+1039 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 490.753 159.181 501.582 ]/A << /S /GoTo /D (page.16) >> >>
endobj
+1040 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 177.721 466.275 189.896 478.23 ]/A << /S /GoTo /D (page.66) >> >>
+endobj
1041 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 177.721 466.275 189.896 478.23 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 454.888 127.799 465.717 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1042 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 454.888 127.799 465.717 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 430.977 170.957 441.846 ]/A << /S /GoTo /D (page.4) >> >>
endobj
1043 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 430.977 170.957 441.846 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.904 419.022 196.86 429.891 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1044 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.904 419.022 196.86 429.891 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 407.057 233.193 417.936 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1045 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 407.057 233.193 417.936 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 384.86 130.18 393.707 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1046 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 384.86 130.18 393.707 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 370.912 133.029 382.031 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1047 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 370.912 133.029 382.031 ]/A << /S /GoTo /D (page.29) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 347.291 170.957 358.16 ]/A << /S /GoTo /D (page.4) >> >>
endobj
1048 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 347.291 170.957 358.16 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.904 335.336 196.86 346.205 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1049 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.904 335.336 196.86 346.205 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 323.371 233.193 334.25 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1050 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.238 323.371 233.193 334.25 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 311.416 193.442 322.255 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1051 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 311.416 193.442 322.255 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 197.537 311.416 209.711 322.255 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1052 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 197.537 311.416 209.711 322.255 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 278.087 134.523 288.916 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1053 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 278.087 134.523 288.916 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.618 278.087 150.573 288.916 ]/A << /S /GoTo /D (page.55) >> >>
endobj
1054 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.618 278.087 150.573 288.916 ]/A << /S /GoTo /D (page.55) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.538 266.122 166.493 277.001 ]/A << /S /GoTo /D (page.56) >> >>
endobj
1055 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.538 266.122 166.493 277.001 ]/A << /S /GoTo /D (page.56) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 240.207 253.609 252.162 265.564 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1056 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 240.207 253.609 252.162 265.564 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.3 241.653 203.256 253.609 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1057 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.3 241.653 203.256 253.609 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.295 208.315 199.251 220.27 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1058 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.295 208.315 199.251 220.27 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 212.501 174.976 224.456 186.931 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1059 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 212.501 174.976 224.456 186.931 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.61 163.021 245.565 174.976 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1060 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.61 163.021 245.565 174.976 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 251.861 151.065 263.816 163.021 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1061 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 251.861 151.065 263.816 163.021 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.716 139.598 201.672 150.507 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1062 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.716 139.598 201.672 150.507 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.66 139.598 216.616 150.507 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1063 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.66 139.598 216.616 150.507 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.505 127.713 127.46 138.552 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1064 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.505 127.713 127.46 138.552 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.554 127.713 143.729 138.552 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1065 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.554 127.713 143.729 138.552 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.823 127.713 159.998 138.552 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1066 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.823 127.713 159.998 138.552 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 119.131 115.758 131.086 126.597 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1067 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 119.131 115.758 131.086 126.597 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.181 115.758 147.355 126.597 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1068 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.181 115.758 147.355 126.597 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 103.813 127.799 114.642 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1069 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 103.813 127.799 114.642 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.116 67.937 223.071 78.816 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1070 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.116 67.937 223.071 78.816 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 355.62 758.012 367.576 769.081 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1071 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 355.62 758.012 367.576 769.081 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 733.664 420.925 745.619 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1072 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 733.664 420.925 745.619 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.15 721.708 453.105 733.664 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1073 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.15 721.708 453.105 733.664 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.386 710.241 427.341 721.25 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1074 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.386 710.241 427.341 721.25 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 436.515 697.798 448.47 709.753 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1075 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 436.515 697.798 448.47 709.753 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 359.247 686.281 371.202 697.24 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1076 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 359.247 686.281 371.202 697.24 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.81 674.326 415.765 685.285 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1077 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.81 674.326 415.765 685.285 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.434 649.977 473.389 661.933 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1078 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.434 649.977 473.389 661.933 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 482.016 638.022 493.972 649.977 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1079 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 482.016 638.022 493.972 649.977 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.066 638.022 510.241 649.977 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1080 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.066 638.022 510.241 649.977 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 422.111 626.067 429.085 638.022 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1081 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 422.111 626.067 429.085 638.022 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.51 592.194 410.465 604.149 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1082 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.51 592.194 410.465 604.149 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.542 580.239 486.498 592.194 ]/A << /S /GoTo /D (page.63) >> >>
endobj
1083 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.542 580.239 486.498 592.194 ]/A << /S /GoTo /D (page.63) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.344 568.284 475.3 580.239 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1084 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.344 568.284 475.3 580.239 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 523.024 394.206 533.893 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1085 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 523.024 394.206 533.893 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.153 511.068 420.109 521.938 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1086 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.153 511.068 420.109 521.938 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 444.487 499.103 456.442 509.982 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1087 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 444.487 499.103 456.442 509.982 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.909 486.59 439.864 498.545 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1088 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.909 486.59 439.864 498.545 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.244 474.854 372.218 486.032 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1089 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.244 474.854 372.218 486.032 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.548 462.899 429.503 474.077 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1090 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.548 462.899 429.503 474.077 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 451.293 377.449 462.122 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1091 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 451.293 377.449 462.122 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 439.337 408.582 450.167 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1092 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 439.337 408.582 450.167 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.676 439.337 424.851 450.167 ]/A << /S /GoTo /D (page.62) >> >>
endobj
1093 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.676 439.337 424.851 450.167 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 427.382 413.812 438.212 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1094 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 427.382 413.812 438.212 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 415.138 408.831 426.256 ]/A << /S /GoTo /D (page.1) >> >>
endobj
1095 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 415.138 408.831 426.256 ]/A << /S /GoTo /D (page.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 403.472 382.679 414.301 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1096 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 403.472 382.679 414.301 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 391.517 387.909 402.346 ]/A << /S /GoTo /D (page.2) >> >>
endobj
1097 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 391.517 387.909 402.346 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 379.562 392.891 390.391 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1098 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 379.562 392.891 390.391 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.939 367.606 375.894 378.436 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1099 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.939 367.606 375.894 378.436 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.571 355.651 351.526 366.481 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1100 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.571 355.651 351.526 366.481 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.719 343.128 410.674 355.083 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1101 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.719 343.128 410.674 355.083 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.663 343.128 425.618 355.083 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1102 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.663 343.128 425.618 355.083 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.714 331.173 478.669 343.128 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1103 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.714 331.173 478.669 343.128 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.654 319.786 438.609 330.615 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1104 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.654 319.786 438.609 330.615 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.598 319.786 453.553 330.615 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1105 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.598 319.786 453.553 330.615 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.648 319.786 469.822 330.615 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1106 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.648 319.786 469.822 330.615 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 307.482 366.739 318.66 ]/A << /S /GoTo /D (page.13) >> >>
endobj
1107 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 307.482 366.739 318.66 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.546 283.352 395.501 295.307 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1108 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.546 283.352 395.501 295.307 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.595 283.352 411.77 295.307 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1109 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.595 283.352 411.77 295.307 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.766 271.845 368.721 282.904 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1110 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.766 271.845 368.721 282.904 ]/A << /S /GoTo /D (page.29) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 237.743 419.043 248.921 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1111 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 237.743 419.043 248.921 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 455.854 213.614 462.828 225.569 ]/A << /S /GoTo /D (page.4) >> >>
endobj
1112 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 455.854 213.614 462.828 225.569 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.089 189.703 432.044 201.659 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1113 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.089 189.703 432.044 201.659 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.983 165.793 446.938 177.748 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1114 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.983 165.793 446.938 177.748 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.22 131.92 439.175 143.875 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1115 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 427.22 131.92 439.175 143.875 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.98 120.403 388.935 131.362 ]/A << /S /GoTo /D (page.55) >> >>
endobj
1116 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.98 120.403 388.935 131.362 ]/A << /S /GoTo /D (page.55) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 108.289 403.351 119.407 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1117 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 108.289 403.351 119.407 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.323 96.493 380.278 107.562 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1118 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.323 96.493 380.278 107.562 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.373 96.493 396.547 107.562 ]/A << /S /GoTo /D (page.68) >> >>
endobj
1119 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.373 96.493 396.547 107.562 ]/A << /S /GoTo /D (page.69) >> >>
-endobj
-1120 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 84.319 377.449 95.497 ]/A << /S /GoTo /D (page.2) >> >>
endobj
-1121 0 obj
+1120 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 72.423 382.679 83.542 ]/A << /S /GoTo /D (page.2) >> >>
endobj
-1129 0 obj
-<< /D [ 1127 0 R /XYZ 78.37 808.885 null ] >>
+1128 0 obj
+<< /D [ 1126 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1126 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F57 385 0 R /F56 384 0 R /F67 389 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+1125 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F57 385 0 R /F56 384 0 R /F66 389 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1221 0 obj
-<< /Filter /FlateDecode /Length 3250 >>
-stream
-x\ˎ W\E40=}+@ֳ MVmHY*K*OrE]2_㐒[yӷ|۟>ܒJz7C7BRnoX٧9.?O "]C߀O~,OwϿtͤ3)(Qg0EO4
-T#}Ф]מ6zEn<h$e-}SSAe|2%k"{5-ݯ3|P9\)np&Bcg͙="A ]
-Fy)zOECT΃iQ"t?E$2g4[Oa=sה.4͛_ ~y.,}狀l`&Bv]L{XNRMqf.}\|q 8a
-1IjM
-;rqެiWBKPscb I6l keʦI/ $9^0&}G'
-!tEA䙗0_/V1"ɠ#%OUr/GψErZ4X%GZt]EU*]}n`A['p.TRِ9OHT
-`JGwY Eǒv:S 
-OC^T(#sg)teHJ :3 J_^0~3&[n[AadtD gR.jTfŀd"\! @n' 2~^XpHK+0z~
-?FwD?&_Wx(ؖ98<o4V*'Ƴ~ĮWu gSԚpشhqEœͦ@VeDOVA,ڲ Xf5jgLRl^q-VT]8iMU;,}əvWJ ]L[EHgv?mQ|) & 2=!J$k'<MPp,c:85ު6eDsXӔ, b?p[5*|bDKjP6ۘ\jޔ]
-`j6"XH. FM$OE')oF6P5~rj3z<HHzlTo|%'T|MWٓJ5zJ"9ԦZ>K9ݸΉړMu~#p2(v EM>ƥ9}&l.kNjrbxW,@k<mz= b쾎/(_U^>Rr}4Ilʐw.{[v
-
-/C5A &_l6t.6zv4=9չּ~̑])m<rO$G%;33|VRS=;p3=';8 NhsUӹ:`zOLdr'ʣNL\o6ng_v2$̇tQdNW
-HP-n',}#ux8aHg R=F $ DƳ]չPV'l',;Ӗ "z޴Y(=c[>B4isƥ"۾ CA[4jFM{2sD9#XFWM mPoazη&dN G)+.K0[IH
-ax7@]ɫjH63 l0z MKQaE%Z>9O$
-
-'7;sMЇLy4Ӱ^w9R
-Mb;'t9pJ(8<+!(phy`TK.OKIߕRp>t_1?`Ts&Sf(i]1(l?hixh~f 鱃:򰬮Zuil 2H@"Û5Cy   $dEqRܮUA="ydyPk֊= = >.$(h Gt`c $ͩQ3~l='Z(:GۿWt
+1220 0 obj
+<< /Filter /FlateDecode /Length 3263 >>
+stream
+x\͒+ ޟ . !*5U3׷*KeAd1-$!O?o|D"Y|3
+͓Qn>W5ZS߇qُ }͟7W[&Z;c;>̝q#LbDEb
+]m[:j#+pNT%RN/yôD0SMԮP!{_vƹ3dlNlrw:g)$7
+֧<:[3*%gCݙ=Kή
+? IV|>3|[ HGIyYPэ^1K1$k#nI,@:b `58ȸ<ٸ\(Z(cc1'#z S#plUZ+NH
+7/3Ayl\JB[y
+L:8xA!ڗ0>_+-@VR~(tiP:w4 I@I<a6]p:.DT̒ Q8x;ڮ`Qmw3 ZWEzbOwy˽ G <9FïQnRBoΞ<(kV[%æjN8w@UTU*OX[+EjCi8k7y!Zu6S
+k^5TO
+87{ZdSEOFIpK4ox5]jg&}2p٣z pumZQdI4WkJX1VQ͉"gJ"6g+e#K;ns@ Jl9m=P|
+ L@jJX蹆s*+]=SC@
+da3ۗ3L-qBK/7 }12
+L=tBGݦ)hdl~?\h_ =`mхa"
+؎c<T1unqC4"4а }\bscE(]j4.a㳽w4ǩ8>7vBo荤~mzh$5[\x9x :Goyck~|'*_9"4"pz\2zxb#^̲wʅPڧ)܏ NUX
+r.J!p|0ddLU]C=˥XrSdO)gĜAQM
endstream
endobj
-1220 0 obj
-<< /Type /Page /Contents 1221 0 R /Resources 1219 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1130 0 R /Annots 1223 0 R >>
+1219 0 obj
+<< /Type /Page /Contents 1220 0 R /Resources 1218 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1129 0 R /Annots 1222 0 R >>
endobj
-1223 0 obj
-[ 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R ]
+1222 0 obj
+[ 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R ]
endobj
-1122 0 obj
+1121 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.339 757.584 214.294 769.529 ]/A << /S /GoTo /D (page.28) >> >>
endobj
-1123 0 obj
+1122 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.283 757.584 229.238 769.529 ]/A << /S /GoTo /D (page.33) >> >>
endobj
-1124 0 obj
+1123 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.333 757.584 245.507 769.529 ]/A << /S /GoTo /D (page.59) >> >>
endobj
-1125 0 obj
+1124 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.633 723.701 258.588 735.656 ]/A << /S /GoTo /D (page.32) >> >>
endobj
-1132 0 obj
+1131 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 702.062 130.18 710.909 ]/A << /S /GoTo /D (page.18) >> >>
endobj
-1133 0 obj
+1132 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.584 688.403 143.54 699.233 ]/A << /S /GoTo /D (page.31) >> >>
endobj
-1134 0 obj
+1133 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.354 676.448 154.309 686.999 ]/A << /S /GoTo /D (page.31) >> >>
endobj
-1135 0 obj
+1134 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 272.018 663.925 283.973 675.88 ]/A << /S /GoTo /D (page.20) >> >>
endobj
-1136 0 obj
+1135 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 241.682 651.97 248.655 663.925 ]/A << /S /GoTo /D (page.5) >> >>
endobj
-1137 0 obj
+1136 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 628.06 197.677 640.015 ]/A << /S /GoTo /D (page.19) >> >>
endobj
-1138 0 obj
+1137 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 280.187 616.104 292.142 628.06 ]/A << /S /GoTo /D (page.19) >> >>
endobj
-1139 0 obj
+1138 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.116 580.797 223.071 591.676 ]/A << /S /GoTo /D (page.34) >> >>
endobj
-1140 0 obj
+1139 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.046 568.722 151.002 579.681 ]/A << /S /GoTo /D (page.51) >> >>
endobj
-1141 0 obj
+1140 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 544.373 197.677 556.329 ]/A << /S /GoTo /D (page.38) >> >>
endobj
-1142 0 obj
+1141 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 224.576 532.418 236.531 544.373 ]/A << /S /GoTo /D (page.36) >> >>
endobj
+1142 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 521.021 133.248 531.86 ]/A << /S /GoTo /D (page.21) >> >>
+endobj
1143 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 521.021 133.248 531.86 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 137.343 521.021 149.517 531.86 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1144 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 137.343 521.021 149.517 531.86 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.612 521.021 165.567 531.86 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1145 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.612 521.021 165.567 531.86 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 497.121 170.957 507.99 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1146 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.983 497.121 170.957 507.99 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 200.596 485.166 212.551 496.035 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1147 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 200.596 485.166 212.551 496.035 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 226.12 461.255 238.075 472.085 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1148 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 226.12 461.255 238.075 472.085 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.17 461.255 254.344 472.085 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1149 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.17 461.255 254.344 472.085 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.579 449.3 211.535 460.129 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1150 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.579 449.3 211.535 460.129 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 215.629 449.3 227.804 460.129 ]/A << /S /GoTo /D (page.66) >> >>
endobj
1151 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 215.629 449.3 227.804 460.129 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.4 436.777 219.355 448.732 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1152 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.4 436.777 219.355 448.732 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 269.567 424.822 281.522 436.777 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1153 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 269.567 424.822 281.522 436.777 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 403.183 130.18 412.03 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1154 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 403.183 130.18 412.03 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 389.175 143.49 400.354 ]/A << /S /GoTo /D (page.23) >> >>
endobj
1155 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 389.175 143.49 400.354 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.944 377.001 244.899 388.956 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1156 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.944 377.001 244.899 388.956 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 248.994 377.001 261.168 388.956 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1157 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 248.994 377.001 261.168 388.956 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.611 343.128 216.785 355.083 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1158 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.611 343.128 216.785 355.083 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.88 343.128 232.835 355.083 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1159 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.88 343.128 232.835 355.083 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.26 331.173 240.215 343.128 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1160 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 228.26 331.173 240.215 343.128 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.115 319.776 154.07 330.615 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1161 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.115 319.776 154.07 330.615 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.162 307.263 264.117 319.218 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1162 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.162 307.263 264.117 319.218 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 270.982 295.307 282.937 307.263 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1163 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 270.982 295.307 282.937 307.263 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.043 283.352 287.998 295.307 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1164 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 276.043 283.352 287.998 295.307 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 259.442 223.689 271.397 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1165 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 259.442 223.689 271.397 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.335 247.487 175.29 259.442 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1166 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.335 247.487 175.29 259.442 ]/A << /S /GoTo /D (page.45) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.811 235.532 205.766 247.487 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1167 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 193.811 235.532 205.766 247.487 ]/A << /S /GoTo /D (page.36) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 235.126 223.576 247.081 235.532 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1168 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 235.126 223.576 247.081 235.532 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 211.621 293.653 223.576 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1169 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 211.621 293.653 223.576 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.99 200.234 157.946 211.063 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1170 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.99 200.234 157.946 211.063 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.539 187.711 216.494 199.666 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1171 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.539 187.711 216.494 199.666 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.589 187.711 232.763 199.666 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1172 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.589 187.711 232.763 199.666 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 166.072 130.18 174.919 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1173 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 118.224 166.072 130.18 174.919 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 139.89 225.183 151.845 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1174 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 139.89 225.183 151.845 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.278 139.89 241.233 151.845 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1175 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.278 139.89 241.233 151.845 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.328 139.89 257.502 151.845 ]/A << /S /GoTo /D (page.64) >> >>
endobj
1176 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.328 139.89 257.502 151.845 ]/A << /S /GoTo /D (page.64) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.597 139.89 273.771 151.845 ]/A << /S /GoTo /D (page.67) >> >>
endobj
1177 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.597 139.89 273.771 151.845 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 106.585 159.181 117.415 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1178 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 211.734 115.98 225.183 127.935 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.276 106.585 175.45 117.415 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1179 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 82.675 159.181 93.504 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.15 94.062 254.105 106.017 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1180 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.276 82.675 175.45 93.504 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 82.675 164.411 93.504 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1181 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.15 70.152 254.105 82.107 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.851 70.152 181.806 82.107 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1182 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 758.142 387.66 768.971 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 397.732 757.574 409.907 769.529 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1183 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.1 745.619 405.055 757.574 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.528 745.619 429.483 757.574 ]/A << /S /GoTo /D (page.44) >> >>
endobj
1184 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 397.732 733.664 409.907 745.619 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.109 733.664 464.064 745.619 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1185 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.528 721.708 429.483 733.664 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.983 709.753 448.432 721.708 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1186 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.109 709.753 464.064 721.708 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 686.411 394.206 697.28 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1187 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 686.411 394.206 697.28 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.3 686.411 410.475 697.28 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1188 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 398.3 686.411 410.475 697.28 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.714 674.456 459.688 685.325 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1189 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 452.714 674.456 459.688 685.325 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.783 674.456 475.957 685.325 ]/A << /S /GoTo /D (page.62) >> >>
endobj
1190 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.783 674.456 475.957 685.325 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 421.272 662.501 433.227 673.37 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1191 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 421.272 662.501 433.227 673.37 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.96 649.977 473.915 661.933 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1192 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.96 649.977 473.915 661.933 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.587 638.022 435.561 649.977 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1193 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.587 638.022 435.561 649.977 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.655 638.022 451.83 649.977 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1194 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.655 638.022 451.83 649.977 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.983 592.194 446.938 604.149 ]/A << /S /GoTo /D (page.38) >> >>
endobj
1195 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.983 592.194 446.938 604.149 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 440.253 558.321 452.208 570.276 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1196 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 440.253 558.321 452.208 570.276 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.303 558.321 468.258 570.276 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1197 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.303 558.321 468.258 570.276 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 418.495 546.366 425.468 558.321 ]/A << /S /GoTo /D (page.8) >> >>
endobj
1198 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 418.495 546.366 425.468 558.321 ]/A << /S /GoTo /D (page.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 395.112 534.411 407.067 546.366 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1199 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 395.112 534.411 407.067 546.366 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.162 534.411 423.117 546.366 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1200 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.162 534.411 423.117 546.366 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 523.024 403.351 533.853 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1201 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 523.024 403.351 533.853 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 511.068 403.351 521.898 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1202 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 511.068 403.351 521.898 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 499.113 351.048 509.943 ]/A << /S /GoTo /D (page.28) >> >>
endobj
1203 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 499.113 351.048 509.943 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 487.158 366.739 497.987 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1204 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 487.158 366.739 497.987 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 463.248 394.206 474.117 ]/A << /S /GoTo /D (page.4) >> >>
endobj
1205 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.232 463.248 394.206 474.117 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.153 451.293 420.109 462.162 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1206 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.153 451.293 420.109 462.162 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 444.487 439.327 456.442 450.207 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1207 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 444.487 439.327 456.442 450.207 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 394.754 427.382 406.709 438.212 ]/A << /S /GoTo /D (page.64) >> >>
endobj
1208 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 394.754 427.382 406.709 438.212 ]/A << /S /GoTo /D (page.65) >> >>
-endobj
-1209 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 415.078 377.449 426.256 ]/A << /S /GoTo /D (page.2) >> >>
endobj
-1210 0 obj
+1209 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 370.475 403.123 377.449 414.301 ]/A << /S /GoTo /D (page.2) >> >>
endobj
-1211 0 obj
+1210 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 391.517 382.679 402.346 ]/A << /S /GoTo /D (page.2) >> >>
endobj
-1212 0 obj
+1211 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 379.562 382.679 390.391 ]/A << /S /GoTo /D (page.2) >> >>
endobj
-1213 0 obj
+1212 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.845 333.733 435.8 344.603 ]/A << /S /GoTo /D (page.25) >> >>
endobj
-1214 0 obj
+1213 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.661 321.778 425.616 332.647 ]/A << /S /GoTo /D (page.11) >> >>
endobj
-1215 0 obj
+1214 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.059 287.337 400.014 299.293 ]/A << /S /GoTo /D (page.25) >> >>
endobj
-1216 0 obj
+1215 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 406.798 275.382 418.754 287.337 ]/A << /S /GoTo /D (page.28) >> >>
endobj
-1217 0 obj
+1216 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.715 263.427 435.67 275.382 ]/A << /S /GoTo /D (page.36) >> >>
endobj
-1218 0 obj
+1217 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 496.183 229.554 508.138 241.509 ]/A << /S /GoTo /D (page.38) >> >>
endobj
-1222 0 obj
-<< /D [ 1220 0 R /XYZ 78.37 808.885 null ] >>
+1221 0 obj
+<< /D [ 1219 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1219 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 389 0 R /F15 381 0 R /F57 385 0 R /F56 384 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
+1218 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F66 389 0 R /F15 381 0 R /F57 385 0 R /F56 384 0 R /F55 383 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1264 0 obj
-<< /Filter /FlateDecode /Length 2414 >>
-stream
-x\n6W! 0 [kr_íe3F[jnz$~/{y]@&QO/bbeh˟I
-os.As%UhKjKho&>o!~)B]s4N h)hV7SO &NQz6@ΤDPіJ@?fOoR%a8RgڒÜf'2DOR~ NwÊ
-lNd(mK:i[6.eci\M\FZZºBle7s%]W~@
-#ʼFrTߗ"oWJpW4oeJy4Qyen+ܜ+zqmeg6t\ ԢT gTBˈP{t#^h][.5\y@JȺLsE2e WIPɗUbN@w¡9QzndƉو
-)zݻoi*X?vjT + Ovy&)puKYv{?]It:PLj1F\Uj@G|U.5mi遲0;XmTx]_*o*`S~djЕ@.Y𘙞Tr"b۸GegKN\W
-`\C%q+we.Zwg`ki): ͆Z`:hff_Q<5 ^b5>I])Y,£T=si-
-xApGVG+sZJ[̈́[ umy㠊)g)`sH4ug
-pk_V(棬W0eF(VK:Ью)9VPC]RΎ_/0ztn}Tۣ.bfne۱Rlq{0Ǹ8'%鴓ZϘB  &79=F ƌBXT(f!9.4CxPxCp*^` r#Po
-t< H yەڎK&MP,d!/X`߆f!fp]JDE
-}7<z튁Jhx2#C0ZϪ*c?ooÚ)Ô2!A~nS1PiiF
-T`e-I v: zRKs C'7ڪ_GH
-
- zSyY gd?:|y?
+1263 0 obj
+<< /Filter /FlateDecode /Length 2417 >>
+stream
+x\K6 WXUX`yoEZew٤,&%QGh?~ϟ^2.~4,C#.^|\,ORO}q%<=Hp\ [&>OpC?T84hL4T䡭n;L:lIni@-U ͠?LSfW !HJ;Ӓ4:)>'I 8kX\u6(0VI mvZG6rRfK6Z\¼EdCO%]V @A'cKH=Ջۺ@2DW$dH
+}#%%- "U[a6Ռ雖ᾞrZٲr`vQwjWIbFQ2q]eeR Mq<4 2 N`޲k1!VEːhp2o(- ʼFtVߗom58ʫ:>h2*oG@7J${{: kLjѫ~2*hm5*edT{OBjwt=hѺf+\jf\I
+ρw V# ɸ|M 7rJF]^h Y(NઓJ;!]R$JnϹ5@ !qb֣/BJf݀^̗4kg"^MKz5*h/}y[R޳õ֭d= 7JMrPnsIdDR;b s[T" }upPbfSi )G9?
+ٔفl, a<f3HEo+'"kTz)tIεp%
+pk_6( QL
+S9Vs7;
+~s3?Zb.f\PغJFG=:YmP:o)֩oF{8.+hǒKiCqOJKi'i'1e)[E>&79=hOcF!TSQ,Ti*3
+Nįsąf
+vhNa<ïWnXMg p hۮv^njkۤ̒O;1jmHolGۥDTз9Z~3{خH6'3<1ÙZ2sk6̙2L)cYmz*2-HZotuU?s* r8k//j-)ŏ9SqcZw*[*P!%2+Z^
+ =5k u>@@Nn&bMU'_EGH
+@%zgNI㰲ÇHs`bPlgYw^[:g1:YV-QB([D$ζc!1HgR@һ (݃S%ء:oM㤲Ȇzq=S0rJ~A)׬`JG?Xsk /e_FA^oc^u@n$L=nP~B</XW=nI|(Y歡bȤy5,5WXл
+09s&Dt×O
endstream
endobj
-1263 0 obj
-<< /Type /Page /Contents 1264 0 R /Resources 1262 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1130 0 R /Annots 1266 0 R >>
+1262 0 obj
+<< /Type /Page /Contents 1263 0 R /Resources 1261 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1129 0 R /Annots 1265 0 R >>
endobj
-1266 0 obj
-[ 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R ]
+1265 0 obj
+[ 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R ]
endobj
-1224 0 obj
+1223 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 594.319 289.293 603.285 ]/A << /S /GoTo /D (section.1) >> >>
endobj
-1225 0 obj
+1224 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 570.458 265.951 581.467 ]/A << /S /GoTo /D (section.2) >> >>
endobj
-1226 0 obj
+1225 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 550.433 168.606 559.549 ]/A << /S /GoTo /D (section.3) >> >>
endobj
-1227 0 obj
+1226 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 528.565 140.999 537.532 ]/A << /S /GoTo /D (section.4) >> >>
endobj
-1228 0 obj
+1227 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 514.617 175.639 525.686 ]/A << /S /GoTo /D (subsection.4.1) >> >>
endobj
-1229 0 obj
+1228 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 504.495 228.102 513.621 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-1230 0 obj
+1229 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 490.707 223.699 501.706 ]/A << /S /GoTo /D (subsection.4.3) >> >>
endobj
-1231 0 obj
+1230 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 480.585 213.198 489.711 ]/A << /S /GoTo /D (subsection.4.4) >> >>
endobj
-1232 0 obj
+1231 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 468.63 333.089 477.756 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
-1233 0 obj
+1232 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 456.675 321.731 465.801 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
-1234 0 obj
+1233 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 442.448 220.82 454.403 ]/A << /S /GoTo /D (subsection.4.7) >> >>
endobj
-1235 0 obj
+1234 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 422.911 266.419 431.987 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-1236 0 obj
+1235 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 409.133 366.075 420.082 ]/A << /S /GoTo /D (subsection.5.1) >> >>
endobj
-1237 0 obj
+1236 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 398.891 232.008 408.127 ]/A << /S /GoTo /D (subsubsection.5.1.1) >> >>
endobj
-1238 0 obj
+1237 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 384.665 239.34 396.62 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
endobj
-1239 0 obj
+1238 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 373.268 272.267 384.216 ]/A << /S /GoTo /D (subsection.5.2) >> >>
endobj
-1240 0 obj
+1239 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 361.312 323.246 372.261 ]/A << /S /GoTo /D (subsection.5.3) >> >>
endobj
-1241 0 obj
+1240 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 351.071 251.445 360.236 ]/A << /S /GoTo /D (subsubsection.5.3.1) >> >>
endobj
-1242 0 obj
+1241 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 337.402 328.765 348.281 ]/A << /S /GoTo /D (subsubsection.5.3.2) >> >>
endobj
-1243 0 obj
+1242 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 324.889 222.623 336.844 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-1244 0 obj
+1243 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 312.934 253.467 324.889 ]/A << /S /GoTo /D (subsubsection.5.3.4) >> >>
endobj
-1245 0 obj
+1244 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 301.537 310.942 312.485 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-1246 0 obj
+1245 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 279.549 338.927 290.558 ]/A << /S /GoTo /D (section.6) >> >>
endobj
-1247 0 obj
+1246 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 269.377 220.77 278.503 ]/A << /S /GoTo /D (subsection.6.1) >> >>
endobj
-1248 0 obj
+1247 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 255.15 322.16 267.106 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-1249 0 obj
+1248 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 243.634 255.35 254.702 ]/A << /S /GoTo /D (subsection.6.3) >> >>
endobj
-1250 0 obj
+1249 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 231.798 255.298 242.677 ]/A << /S /GoTo /D (subsection.6.4) >> >>
endobj
-1251 0 obj
+1250 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 209.322 221.856 221.278 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-1252 0 obj
+1251 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 187.893 213.129 198.802 ]/A << /S /GoTo /D (section.8) >> >>
endobj
-1253 0 obj
+1252 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 176.007 208.596 186.847 ]/A << /S /GoTo /D (subsection.8.1) >> >>
endobj
-1254 0 obj
+1253 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 165.766 190.464 174.891 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-1255 0 obj
+1254 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 153.811 245.567 162.936 ]/A << /S /GoTo /D (subsection.8.3) >> >>
endobj
-1256 0 obj
+1255 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 130.109 271.599 141.118 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-1257 0 obj
+1256 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 108.192 259.166 119.2 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-1258 0 obj
+1257 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 96.197 214.254 107.255 ]/A << /S /GoTo /D (subsection.10.1) >> >>
endobj
-1259 0 obj
+1258 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 83.793 296.347 95.748 ]/A << /S /GoTo /D (subsection.10.2) >> >>
endobj
-1260 0 obj
+1259 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 72.276 398.942 83.345 ]/A << /S /GoTo /D (subsection.10.3) >> >>
endobj
-1265 0 obj
-<< /D [ 1263 0 R /XYZ 78.37 808.885 null ] >>
+1264 0 obj
+<< /D [ 1262 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1262 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F66 388 0 R /F54 374 0 R /F67 389 0 R >> /ProcSet [ /PDF /Text ] >>
+1261 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 402 0 R /F15 381 0 R /F56 384 0 R /F55 383 0 R /F65 388 0 R /F54 374 0 R /F66 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1320 0 obj
-<< /Filter /FlateDecode /Length 2284 >>
-stream
-x\r6 ߯%
-dUtRqa݁w$k1Zc˼K>5֯WM "R_@8 yѽ3"%σP\;{~軫SLP')9T5~*9ْqnc[hx;
-ߊv8~*Ngw1UM䪌 +p::P?bJpW
-zB@@όm]"?ErŘ96;_H t3x3mey$k׺#ߕ)t(p}gP@MƂk<&FNywh {{!&x; Ymx.z\D#Ȫha;vf uu0*?Ka4"[c)sR*;jW~Z`B^w|cpT*WF[agmtt^up>cn=;
-?l
-Sbfyg6CMԫ|XTNx!xsđ/Um3;qo1٨s *E6l0]Ol3 &e-jJ<Tl%Ƃ nϽ}Ec$ нFBפj6Z ˄ԧ- <GW *Jk&)iGf;mkw[V'ZSV 3/BE y>η7]X@ڮo@ش!+б^2@K;t Dȁ?H8}VoAE~X*rZo&}싺!PȆ5d[CI >[~
- <Sŝ|Ii~vΐ4rQFD2sh٠;NZnzǽ݌YTZ;ſc^0]QQ8ѩ<DŽ޾sC̠jQmJ
-oKzA}z
+1319 0 obj
+<< /Filter /FlateDecode /Length 2288 >>
+stream
+x\n8 +I=
+h~*[Nמ)_I\2}xsd6hT0^x
+Σ1 U$л[` >6C%[p:Lߑ{a2
+WƑjT/ݙ)!H_~W+G,O6^(9iٳ8u9Ve|$b{k!/
+ yvKj64l]տWT::iCI<L$߂|V@VE'xG25+Sc;i:30hn@|\'EĖ;?jCq~&Qf}]%9t}g7[&R?sjTr\%ƶ0wj
+A[XcF\  c %lgʮ˔uG~_ɿ+dS
+Q/$%v*[yLx';5CL
+vl;lA
+f (W|]F
+eUѶ-Ž19'`vU0~4ivE0 R*6Ugv$Ԯҡ&dUn,qͳKܕ5P2J x&K'Ԑ.^0gSͺ c
+e5
+i Qa_X9i
+[B KII[,OS /o%!aVqјHMqDWmjܸ<Ӯ?ɇSJ}Mp! Eӵju99nvrAK_L^սb#,Y٦-{./Aj1ܲ N"X0%lBQj8Ԯ"yT)Bk%_nB.DA;Z_'9Ƒy1wY~\ڧM{H'YY`ͭP2jm`)r|2g2qʗDƶ87_
+lT9ӆ "qxU_6e]Ol3 &e-jJ<Tl%Ƃ nϽ}Ec$ нFBפj6ZMH ϩOS[
+x{%f *m&5#ȶ- j9
+ʄ/melu"熀<]X@ڮo@ش!+б^2@K;t Dȁ?p5PZbV(ZX.\3>SU}QľԿv4iF/)@ apr-j?ʰAfqZ[O``1>~i)?$4?;geF#J"3Z6]I֬7ށqo7_Ek!7avH׎mzpEEDzΡ栤vXGٹW Owbz
endstream
endobj
-1319 0 obj
-<< /Type /Page /Contents 1320 0 R /Resources 1318 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1130 0 R /Annots 1322 0 R >>
+1318 0 obj
+<< /Type /Page /Contents 1319 0 R /Resources 1317 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1129 0 R /Annots 1321 0 R >>
endobj
-1322 0 obj
-[ 1261 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R 1316 0 R ]
+1321 0 obj
+[ 1260 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R ]
endobj
-1261 0 obj
+1260 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 758.012 268.67 769.011 ]/A << /S /GoTo /D (subsection.10.4) >> >>
endobj
-1267 0 obj
+1266 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 746.057 297.502 757.056 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-1268 0 obj
+1267 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 734.102 264.506 745.17 ]/A << /S /GoTo /D (subsection.10.6) >> >>
endobj
-1269 0 obj
+1268 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 712.304 348.591 723.243 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-1270 0 obj
+1269 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 689.828 169.522 701.783 ]/A << /S /GoTo /D (section.12) >> >>
endobj
-1271 0 obj
+1270 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 677.873 297.263 689.828 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-1272 0 obj
+1271 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 665.918 416.735 677.873 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-1273 0 obj
+1272 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 653.963 406.484 665.918 ]/A << /S /GoTo /D (subsection.12.3) >> >>
endobj
-1274 0 obj
+1273 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 642.007 343.918 653.963 ]/A << /S /GoTo /D (subsection.12.4) >> >>
endobj
-1275 0 obj
+1274 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 620.578 308.152 631.586 ]/A << /S /GoTo /D (section.13) >> >>
endobj
-1276 0 obj
+1275 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 608.573 233.642 619.571 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
-1277 0 obj
+1276 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 596.618 237.228 607.576 ]/A << /S /GoTo /D (subsection.13.2) >> >>
endobj
-1278 0 obj
+1277 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 586.496 219.804 595.621 ]/A << /S /GoTo /D (subsection.13.3) >> >>
endobj
-1279 0 obj
+1278 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 574.54 288.586 583.666 ]/A << /S /GoTo /D (subsection.13.4) >> >>
endobj
-1280 0 obj
+1279 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 560.314 337.881 572.269 ]/A << /S /GoTo /D (subsection.13.5) >> >>
endobj
-1281 0 obj
+1280 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 540.827 205.706 549.893 ]/A << /S /GoTo /D (section.14) >> >>
endobj
-1282 0 obj
+1281 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 528.822 224.546 537.878 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
-1283 0 obj
+1282 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 514.486 251.983 526.441 ]/A << /S /GoTo /D (subsection.14.2) >> >>
endobj
-1284 0 obj
+1283 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 502.979 312.127 514.037 ]/A << /S /GoTo /D (subsection.14.3) >> >>
endobj
-1285 0 obj
+1284 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 490.575 330.937 502.53 ]/A << /S /GoTo /D (subsection.14.4) >> >>
endobj
-1286 0 obj
+1285 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 478.62 220.551 490.575 ]/A << /S /GoTo /D (subsection.14.5) >> >>
endobj
-1287 0 obj
+1286 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 467.223 187.943 478.062 ]/A << /S /GoTo /D (subsection.14.6) >> >>
endobj
-1288 0 obj
+1287 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 455.158 246.244 466.217 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
-1289 0 obj
+1288 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 443.193 216.735 454.152 ]/A << /S /GoTo /D (subsection.14.8) >> >>
endobj
-1290 0 obj
+1289 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 433.071 228.312 442.306 ]/A << /S /GoTo /D (subsection.14.9) >> >>
endobj
-1291 0 obj
+1290 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 418.844 307.993 430.799 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
-1292 0 obj
+1291 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 406.889 287.271 418.844 ]/A << /S /GoTo /D (subsection.14.11) >> >>
endobj
-1293 0 obj
+1292 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 387.352 273.731 396.368 ]/A << /S /GoTo /D (section.15) >> >>
endobj
-1294 0 obj
+1293 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 373.574 338.568 384.413 ]/A << /S /GoTo /D (subsection.15.1) >> >>
endobj
-1295 0 obj
+1294 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 361.499 240.177 372.568 ]/A << /S /GoTo /D (subsubsection.15.1.1) >> >>
endobj
-1296 0 obj
+1295 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 351.377 270.474 360.503 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
endobj
-1297 0 obj
+1296 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 337.589 325.314 348.548 ]/A << /S /GoTo /D (subsection.15.2) >> >>
endobj
-1298 0 obj
+1297 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 325.753 306.339 336.702 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
-1299 0 obj
+1298 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 313.24 363.933 325.195 ]/A << /S /GoTo /D (subsection.15.4) >> >>
endobj
-1300 0 obj
+1299 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 291.88 229.457 302.819 ]/A << /S /GoTo /D (section.16) >> >>
endobj
-1301 0 obj
+1300 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 269.963 207.569 280.802 ]/A << /S /GoTo /D (section.17) >> >>
endobj
-1302 0 obj
+1301 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 257.888 201.273 268.847 ]/A << /S /GoTo /D (subsection.17.1) >> >>
endobj
-1303 0 obj
+1302 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 247.766 206.392 256.892 ]/A << /S /GoTo /D (subsection.17.2) >> >>
endobj
-1304 0 obj
+1303 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 233.987 250.877 244.936 ]/A << /S /GoTo /D (subsection.17.3) >> >>
endobj
-1305 0 obj
+1304 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 222.142 195.276 233.021 ]/A << /S /GoTo /D (subsection.17.4) >> >>
endobj
-1306 0 obj
+1305 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 200.224 143.002 211.063 ]/A << /S /GoTo /D (section.18) >> >>
endobj
-1307 0 obj
+1306 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 187.711 353.181 199.666 ]/A << /S /GoTo /D (subsection.18.1) >> >>
endobj
-1308 0 obj
+1307 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 178.027 236.81 187.153 ]/A << /S /GoTo /D (subsection.18.2) >> >>
endobj
-1309 0 obj
+1308 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 166.072 228.302 175.198 ]/A << /S /GoTo /D (subsection.18.3) >> >>
endobj
-1310 0 obj
+1309 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 152.284 209.024 163.283 ]/A << /S /GoTo /D (subsection.18.4) >> >>
endobj
-1311 0 obj
+1310 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 140.329 335.709 151.327 ]/A << /S /GoTo /D (subsection.18.5) >> >>
endobj
-1312 0 obj
+1311 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 128.373 196.86 139.372 ]/A << /S /GoTo /D (subsection.18.6) >> >>
endobj
-1313 0 obj
+1312 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 116.538 234.767 127.377 ]/A << /S /GoTo /D (subsection.18.7) >> >>
endobj
-1314 0 obj
+1313 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 104.463 311.161 115.532 ]/A << /S /GoTo /D (subsection.18.8) >> >>
endobj
-1315 0 obj
+1314 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 92.07 331.415 104.025 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
-1316 0 obj
+1315 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 80.553 227.395 91.512 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
-1321 0 obj
-<< /D [ 1319 0 R /XYZ 78.37 808.885 null ] >>
+1320 0 obj
+<< /D [ 1318 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1318 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F67 389 0 R >> /ProcSet [ /PDF /Text ] >>
+1317 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 381 0 R /F66 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1325 0 obj
+1324 0 obj
<< /Filter /FlateDecode /Length 122 >>
stream
xm̱
-1>_1?`n6fB"X[*0 <cSSGפd<fD?pY"#ie=d2~S<Eѭ~$A
+1>_1?ldB"X[*0 <cS3[~ :BQ\RA1?pYȬ#"YzH^gyl_姦?;z ~$@
endstream
endobj
-1324 0 obj
-<< /Type /Page /Contents 1325 0 R /Resources 1323 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1130 0 R /Annots 1327 0 R >>
+1323 0 obj
+<< /Type /Page /Contents 1324 0 R /Resources 1322 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1129 0 R /Annots 1326 0 R >>
endobj
-1327 0 obj
-[ 1317 0 R ]
+1326 0 obj
+[ 1316 0 R ]
endobj
-1317 0 obj
+1316 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 759.955 108.74 768.971 ]/A << /S /GoTo /D (section*.2) >> >>
endobj
-1326 0 obj
-<< /D [ 1324 0 R /XYZ 78.37 808.885 null ] >>
+1325 0 obj
+<< /D [ 1323 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1323 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F67 389 0 R /F15 381 0 R >> /ProcSet [ /PDF /Text ] >>
+1322 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F66 389 0 R /F15 381 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1 0 obj
<< /pgf@ca0.75 << /ca 0.75 >> /pgf@CA0.4 << /CA 0.4 >> /pgf@ca0.4 << /ca 0.4 >> /pgf@bmMultiply<< /BM /Multiply>> /pgf@ca1.0 << /ca 1.0 >>>>
@@ -5609,16 +5572,16 @@ endobj
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
-1328 0 obj
+1327 0 obj
[ 28 [ 510 ] 96 [ 363 ] 118 [ 490 ] ]
endobj
-1330 0 obj
+1329 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xc```&
endstream
endobj
-1331 0 obj
+1330 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 692 >>
stream
xcd`aa`ddr N+O,,MIyP#C,9?Xy~s0aS  K,t~L;74G$0GAA5/<"-6300q/,L(Q0200
@@ -5631,10 +5594,10 @@ Nz
>XOoOOo_O߄=<<;WLrxxJ
endstream
endobj
-1329 0 obj
-<< /Type /FontDescriptor /FontName /TZAQYL+LMSans8-Oblique /Flags 4 /FontBBox [ -486 -314 1548 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle -12 /StemV 98 /XHeight 444 /FontFile3 1331 0 R /CIDSet 1330 0 R >>
+1328 0 obj
+<< /Type /FontDescriptor /FontName /TZAQYL+LMSans8-Oblique /Flags 4 /FontBBox [ -486 -314 1548 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle -12 /StemV 98 /XHeight 444 /FontFile3 1330 0 R /CIDSet 1329 0 R >>
endobj
-1332 0 obj
+1331 0 obj
<< /Filter /FlateDecode /Length 374 >>
stream
x}RMo@x=Y45!b7}Md.pwwM[< t7ްOa5C/Zt9jȑl9V,
@@ -5645,22 +5608,22 @@ y@ws$壷9wNF IpCPB }Jy"yr^IKDЙ\_r&
endstream
endobj
828 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZAQYL+LMSans8-Oblique /DescendantFonts [ 1333 0 R ] /ToUnicode 1332 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZAQYL+LMSans8-Oblique /DescendantFonts [ 1332 0 R ] /ToUnicode 1331 0 R >>
endobj
-1333 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZAQYL+LMSans8-Oblique /FontDescriptor 1329 0 R /W 1328 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1332 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZAQYL+LMSans8-Oblique /FontDescriptor 1328 0 R /W 1327 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1334 0 obj
+1333 0 obj
[ 56 [ 681 681 ] 82 [ 681 ] 88 [ 403 ] 106 [ 681 681 ] ]
endobj
-1336 0 obj
+1335 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xc`

endstream
endobj
-1337 0 obj
+1336 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1129 >>
stream
xuT{LSW[W@N½G2A ^DŽU{io[z(Pp
@@ -5675,10 +5638,10 @@ xuT{LSW[W@N½G2A ^DŽU{io[z(Pp
sn> <TQZPt@ UQ=R]E&ni,lAC#bdČjnpu,;T7>6<4N=$Z#yB<R eD E*yHa)ݤ1^MZN?|@˰veFb&u!}^w@x Q3%Ib4^A_>>:Xk kPT%J@i~ Ρ{(;> Qd"\4-*ۤQ2{[ F:Ј폾u1B}O jkq \5|[P6?}uxzK2iC惾ELm 9cBO"{lz2|Bh4zGo塞.OgW;Ge_
endstream
endobj
-1335 0 obj
-<< /Type /FontDescriptor /FontName /GOIBMZ+LMRoman5-Regular /Flags 4 /FontBBox [ -566 -303 1772 1126 ] /Ascent 1126 /CapHeight 683 /Descent -303 /ItalicAngle 0 /StemV 134 /XHeight 431 /FontFile3 1337 0 R /CIDSet 1336 0 R >>
+1334 0 obj
+<< /Type /FontDescriptor /FontName /GOIBMZ+LMRoman5-Regular /Flags 4 /FontBBox [ -566 -303 1772 1126 ] /Ascent 1126 /CapHeight 683 /Descent -303 /ItalicAngle 0 /StemV 134 /XHeight 431 /FontFile3 1336 0 R /CIDSet 1335 0 R >>
endobj
-1338 0 obj
+1337 0 obj
<< /Filter /FlateDecode /Length 387 >>
stream
x}Rj0+^xI` YYHB)9s*%#ۇ} /4ovM<7J67[e%t6zȐl5t5tg<iq*aتM]bց?M:]}y﫝,21vxjΙSuYf K1l& 3aEK[9L]'a:*ST5%cʼź*.N}QkMY$ 0uk:+|3~4ˣ5KY:T2ʌ ICJ
@@ -5687,27 +5650,27 @@ x}Rj0+^xI` YYHB)9s*%#ۇ} /4ovM<7J67[e%t
endstream
endobj
804 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GOIBMZ+LMRoman5-Regular /DescendantFonts [ 1339 0 R ] /ToUnicode 1338 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GOIBMZ+LMRoman5-Regular /DescendantFonts [ 1338 0 R ] /ToUnicode 1337 0 R >>
endobj
-1339 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GOIBMZ+LMRoman5-Regular /FontDescriptor 1335 0 R /W 1334 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1338 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GOIBMZ+LMRoman5-Regular /FontDescriptor 1334 0 R /W 1333 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1340 0 obj
+1339 0 obj
[575 575 575 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 559 638.9 511.1 638.9 ]
endobj
-1341 0 obj
+1340 0 obj
[1083.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1361.1 ]
endobj
-1342 0 obj
+1341 0 obj
[ 28 [ 603 ] 35 [ 544 ] 43 [ 544 ] 47 [ 603 ] ]
endobj
-1344 0 obj
+1343 0 obj
<< /Filter /FlateDecode /Length 14 >>
stream
xc``
endstream
endobj
-1345 0 obj
+1344 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 900 >>
stream
xڵSoL[U]<t}dmbhAf P(d+}mx{v –@2q5,C~G>D_Yh9sﹹ990AkO4_7 N:
@@ -5722,10 +5685,10 @@ WZVRV
1mb7aKuO[&,ڗ:E["aS4c &8dxgxV6-:'T(Ed|<>a)Z9?'Uؚ
endstream
endobj
-1343 0 obj
-<< /Type /FontDescriptor /FontName /BWIYUD+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 1345 0 R /CIDSet 1344 0 R >>
+1342 0 obj
+<< /Type /FontDescriptor /FontName /BWIYUD+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 1344 0 R /CIDSet 1343 0 R >>
endobj
-1346 0 obj
+1345 0 obj
<< /Filter /FlateDecode /Length 375 >>
stream
x}R]k0}ϯ{6U@0uBa~`cM.`* BJOι7瞴ɣg XF3fˢ"\DiVychr4НeL
@@ -5733,25 +5696,25 @@ x}R]k0}ϯ{6U@0uBa~`cM.`* BJOι7瞴ɣg XF3fˢ"\
endstream
endobj
703 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BWIYUD+LMRoman7-Italic /DescendantFonts [ 1347 0 R ] /ToUnicode 1346 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BWIYUD+LMRoman7-Italic /DescendantFonts [ 1346 0 R ] /ToUnicode 1345 0 R >>
endobj
-1347 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BWIYUD+LMRoman7-Italic /FontDescriptor 1343 0 R /W 1342 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1346 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BWIYUD+LMRoman7-Italic /FontDescriptor 1342 0 R /W 1341 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1348 0 obj
+1347 0 obj
[892.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1138.9 0 585.3 ]
endobj
-1349 0 obj
+1348 0 obj
[ 47 [ 525 ] 50 [ 525 ] 64 [ 525 ] 66 [ 525 ] 72 [ 525 ] 77 [ 525 ] 81 [ 525 ] 98 [ 525 ] 102 [ 525 ] 105 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-1351 0 obj
+1350 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`

endstream
endobj
-1352 0 obj
+1351 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1486 >>
stream
xmU{LG%ʉr9ݚj!A⣩Qx==#Z-w CSV5$֤Uk5ZlS5SuV&Mdv3oeǢ1Ǔ
@@ -5770,10 +5733,10 @@ sƭw¸Om-åu^
T;,;T(w ;h 4
endstream
endobj
-1350 0 obj
-<< /Type /FontDescriptor /FontName /MSSSGB+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1352 0 R /CIDSet 1351 0 R >>
+1349 0 obj
+<< /Type /FontDescriptor /FontName /MSSSGB+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1351 0 R /CIDSet 1350 0 R >>
endobj
-1353 0 obj
+1352 0 obj
<< /Filter /FlateDecode /Length 420 >>
stream
x}Ok0@zp-;mڔ`$bhRe4
@@ -5783,21 +5746,21 @@ b!~%’]ތGO|{0rV`-L6F j(Qjֈ
endstream
endobj
634 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MSSSGB+LMMonoLt10-Bold /DescendantFonts [ 1354 0 R ] /ToUnicode 1353 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MSSSGB+LMMonoLt10-Bold /DescendantFonts [ 1353 0 R ] /ToUnicode 1352 0 R >>
endobj
-1354 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MSSSGB+LMMonoLt10-Bold /FontDescriptor 1350 0 R /W 1349 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1353 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MSSSGB+LMMonoLt10-Bold /FontDescriptor 1349 0 R /W 1348 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1355 0 obj
+1354 0 obj
[ 47 [ 590 ] 81 [ 531 ] 98 [ 419 ] 105 [ 413 ] 116 [ 561 ] ]
endobj
-1357 0 obj
+1356 0 obj
<< /Filter /FlateDecode /Length 19 >>
stream
xc`
endstream
endobj
-1358 0 obj
+1357 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1167 >>
stream
x}TmLe^-+]lqShq ls RPG6Zz#"/\{/0a8`
@@ -5812,10 +5775,10 @@ _eR}&:q5d ub cly}xϱ3L7_kNGWg?v
#h}^
endstream
endobj
-1356 0 obj
-<< /Type /FontDescriptor /FontName /JIXNST+LMRomanSlant8-Regular /Flags 4 /FontBBox [ -483 -292 1526 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle -10 /StemV 98 /XHeight 431 /FontFile3 1358 0 R /CIDSet 1357 0 R >>
+1355 0 obj
+<< /Type /FontDescriptor /FontName /JIXNST+LMRomanSlant8-Regular /Flags 4 /FontBBox [ -483 -292 1526 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle -10 /StemV 98 /XHeight 431 /FontFile3 1357 0 R /CIDSet 1356 0 R >>
endobj
-1359 0 obj
+1358 0 obj
<< /Filter /FlateDecode /Length 388 >>
stream
xڍR]k0}ϯ{6tN鄎ĖkM.&%MKR0Џ{9'<l>V :+IT.P "GVlb .e,Yr,Y^slY^$ցn=o4XT$Ϥ;<yZSar6X
@@ -5825,24 +5788,24 @@ s˭1=Ct8VePgdnWJNñ~
endstream
endobj
602 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JIXNST+LMRomanSlant8-Regular /DescendantFonts [ 1360 0 R ] /ToUnicode 1359 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JIXNST+LMRomanSlant8-Regular /DescendantFonts [ 1359 0 R ] /ToUnicode 1358 0 R >>
endobj
-1360 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JIXNST+LMRomanSlant8-Regular /FontDescriptor 1356 0 R /W 1355 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1359 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JIXNST+LMRomanSlant8-Regular /FontDescriptor 1355 0 R /W 1354 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1361 0 obj
+1360 0 obj
[361.7 429.7 0 0 0 644.7 ]
endobj
-1362 0 obj
+1361 0 obj
[ 28 [ 525 ] 35 [ 525 ] 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 64 [ 525 ] 66 [ 525 ] 72 [ 525 ] 74 [ 525 525 525 525 ] 81 [ 525 ] 84 [ 525 ] 96 [ 525 ] 98 [ 525 ] 103 [ 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 494 [ 525 ] ]
endobj
-1364 0 obj
+1363 0 obj
<< /Filter /FlateDecode /Length 27 >>
stream
xc``TdXǃaKI
endstream
endobj
-1365 0 obj
+1364 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2421 >>
stream
xڍW Tgf50h}mU]bEe}VI$07Q <APTX6XOϮu;;S=;ə7
@@ -5859,10 +5822,10 @@ W
CH wu[uE,>>X*uŃibR2z@yRsa)d.($Ge1Հf4ca$Sg~lW/BU٫J]|+ ;rZhwgʪ+Q(_YE
endstream
endobj
-1363 0 obj
-<< /Type /FontDescriptor /FontName /SFCWXS+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 1365 0 R /CIDSet 1364 0 R >>
+1362 0 obj
+<< /Type /FontDescriptor /FontName /SFCWXS+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 1364 0 R /CIDSet 1363 0 R >>
endobj
-1366 0 obj
+1365 0 obj
<< /Filter /FlateDecode /Length 471 >>
stream
xڍMo0
@@ -5870,21 +5833,21 @@ xڍMo0
endstream
endobj
478 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SFCWXS+LMMonoSlant10-Regular /DescendantFonts [ 1367 0 R ] /ToUnicode 1366 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SFCWXS+LMMonoSlant10-Regular /DescendantFonts [ 1366 0 R ] /ToUnicode 1365 0 R >>
endobj
-1367 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SFCWXS+LMMonoSlant10-Regular /FontDescriptor 1363 0 R /W 1362 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1366 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SFCWXS+LMMonoSlant10-Regular /FontDescriptor 1362 0 R /W 1361 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1368 0 obj
+1367 0 obj
[ 28 [ 549 ] 35 [ 494 ] 40 [ 329 329 ] 43 [ 494 ] 45 [ 329 ] 47 [ 549 ] 50 [ 494 ] 55 [ 329 ] 59 [ 494 ] 63 [ 549 ] 66 [ 329 ] 70 [ 494 ] 72 [ 274 ] 75 [ 878 ] 77 [ 603 ] 81 [ 549 ] 84 [ 549 439 439 ] 88 [ 329 ] 96 [ 453 ] 98 [ 439 ] 104 [ 768 357 ] 109 [ 576 ] 112 [ 494 ] 114 [ 713 ] 116 [ 495 ] 118 [ 521 ] 251 [ 494 ] 502 [ 329 ] ]
endobj
-1370 0 obj
+1369 0 obj
<< /Filter /FlateDecode /Length 31 >>
stream
xc``(4ůaU h@/`
endstream
endobj
-1371 0 obj
+1370 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3600 >>
stream
xڵX tW-!`$TA:!C`:$$a3` "o-[%Kd[TmKf[b$ 0d2I:C:t: 3t~bzdC9JJ*}}wPL `0ڴg]¶u]PVҒDqZ~nFm\r!r&8`=;슍fçbG_>AwqcD:v!Ğ
@@ -5900,10 +5863,10 @@ N Nu|U5ÏCM{E7.UgG'igWW_1GK lO ?Mt= =Kl
nn. ^:{:0IrFٜNU[f _-4UWѻLMvꕉlh!*@Ksvt?kbA/3qr] T5)Kc'S“L [-Vawܱ,V63v
endstream
endobj
-1369 0 obj
-<< /Type /FontDescriptor /FontName /HXCEOC+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 1371 0 R /CIDSet 1370 0 R >>
+1368 0 obj
+<< /Type /FontDescriptor /FontName /HXCEOC+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 1370 0 R /CIDSet 1369 0 R >>
endobj
-1372 0 obj
+1371 0 obj
<< /Filter /FlateDecode /Length 512 >>
stream
x}M@ރs`l%K3NltHC
@@ -5911,31 +5874,31 @@ x}M@ރs`l%K3NltHC
endstream
endobj
438 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HXCEOC+LMRoman8-Italic /DescendantFonts [ 1373 0 R ] /ToUnicode 1372 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HXCEOC+LMRoman8-Italic /DescendantFonts [ 1372 0 R ] /ToUnicode 1371 0 R >>
endobj
-1373 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HXCEOC+LMRoman8-Italic /FontDescriptor 1369 0 R /W 1368 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1372 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HXCEOC+LMRoman8-Italic /FontDescriptor 1368 0 R /W 1367 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1374 0 obj
+1373 0 obj
[734 ]
endobj
-1375 0 obj
+1374 0 obj
[1123 ]
endobj
-1376 0 obj
+1375 0 obj
[777.8 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 388.9 388.9 ]
endobj
-1377 0 obj
+1376 0 obj
[ 28 [ 525 ] 43 [ 489 ] 50 [ 511 ] 64 [ 367 ] 66 [ 256 ] 75 [ 867 ] 77 [ 561 ] 82 [ 550 ] 96 [ 372 ] 105 [ 404 550 550 ] 116 [ 500 ] ]
endobj
-1379 0 obj
+1378 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`X P

endstream
endobj
-1380 0 obj
+1379 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1716 >>
stream
xڍU pEUM,@+v70 X6e -ǀqL!`VK>eKeZ?K1`[4@
@@ -5947,10 +5910,10 @@ NIcO>ܷuecM·:tZ"K 4Hp'L4)v(*(8G:z<9
3##g< AjSS
endstream
endobj
-1378 0 obj
-<< /Type /FontDescriptor /FontName /QJUVUX+LMSans10-Bold /Flags 4 /FontBBox [ -460 -297 1761 1134 ] /Ascent 1134 /CapHeight 694 /Descent -297 /ItalicAngle 0 /StemV 102 /XHeight 458 /FontFile3 1380 0 R /CIDSet 1379 0 R >>
+1377 0 obj
+<< /Type /FontDescriptor /FontName /QJUVUX+LMSans10-Bold /Flags 4 /FontBBox [ -460 -297 1761 1134 ] /Ascent 1134 /CapHeight 694 /Descent -297 /ItalicAngle 0 /StemV 102 /XHeight 458 /FontFile3 1379 0 R /CIDSet 1378 0 R >>
endobj
-1381 0 obj
+1380 0 obj
<< /Filter /FlateDecode /Length 422 >>
stream
x}Kk0stZA04I .O[GX2ȿ[(9gFgƚ{.i6e^5-M&+#u(Qj{ ֈ;.UUw̅^:nZN?k^>eۄG %k8 ImאrZ.MkY<xUZ!!l|^ 
@@ -5959,22 +5922,22 @@ x}Kk0stZA04I .O[GX2ȿ[(9gFgƚ{.i6e^5-M
endstream
endobj
403 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QJUVUX+LMSans10-Bold /DescendantFonts [ 1382 0 R ] /ToUnicode 1381 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QJUVUX+LMSans10-Bold /DescendantFonts [ 1381 0 R ] /ToUnicode 1380 0 R >>
endobj
-1382 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QJUVUX+LMSans10-Bold /FontDescriptor 1378 0 R /W 1377 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1381 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QJUVUX+LMSans10-Bold /FontDescriptor 1377 0 R /W 1376 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1383 0 obj
+1382 0 obj
[ 27 [ 850 547 875 ] 34 [ 800 625 575 ] 38 [ 575 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 55 [ 344 563 563 ] 59 [ 563 ] 62 [ 880 625 375 419 313 ] 68 [ 344 ] 70 [ 594 676 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 90 [ 845 594 ] 95 [ 839 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 111 [ 850 594 1162 813 850 594 ] 118 [ 594 688 500 563 656 ] 125 [ 625 ] 251 [ 513 ] 277 [ 513 ] 319 [ 625 625 ] 446 [ 875 ] 502 [ 313 ] ]
endobj
-1385 0 obj
+1384 0 obj
<< /Filter /FlateDecode /Length 40 >>
stream
xc``6.z߿o~€
X@4c8
endstream
endobj
-1386 0 obj
+1385 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7547 >>
stream
xzy|6PJ%3)K7EDARJI&'It_hK)- -)mDvYTVE\r}ޓ{|vI3{ND=%\6/XiŠk"¼ç4͈P_۝łBpC0 CG=ed0HpA䵟 rA8vsM(BԷ@rɗ&O:}AĮĨKS<:Kd2!!A
@@ -6012,10 +5975,10 @@ yn #"5~6^f硬\yR!͝=e;rTRÁ-XE~,هcy{Oy[_?!T<
X#OxI$Z1hܒo|.r IVNN_yE"̕fqFIA@ϷyT?ÉNk$#}r+=cwxZyh|7čU+[/d˿
endstream
endobj
-1384 0 obj
-<< /Type /FontDescriptor /FontName /ZCFLPY+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 1386 0 R /CIDSet 1385 0 R >>
+1383 0 obj
+<< /Type /FontDescriptor /FontName /ZCFLPY+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 1385 0 R /CIDSet 1384 0 R >>
endobj
-1387 0 obj
+1386 0 obj
<< /Filter /FlateDecode /Length 682 >>
stream
x}[k0+e[Ҧ@n@/!)5$t&),a -2tm4qs[xk`Q瓱1k{f.gbe%ly<ksͺ43~>ϋuSv>8g>r\ݍPiό?%I>XZ=On]4$}lxUnI$#2]=QYI洲:p]^hjV*tsWÒh2a]ad_|]/:qi Ks-kmfWvg&; k'8*?3W(Ir> 4$R(M2d$H)d tDKrP( H"hɾOB0(s];U<CNZF B''$ȡ,K9I":2"JU$Tg.3/@)3
@@ -6026,22 +5989,22 @@ Lt"DZ$""/
endstream
endobj
402 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZCFLPY+LMRoman12-Bold /DescendantFonts [ 1388 0 R ] /ToUnicode 1387 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZCFLPY+LMRoman12-Bold /DescendantFonts [ 1387 0 R ] /ToUnicode 1386 0 R >>
endobj
-1388 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZCFLPY+LMRoman12-Bold /FontDescriptor 1384 0 R /W 1383 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1387 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZCFLPY+LMRoman12-Bold /FontDescriptor 1383 0 R /W 1382 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1389 0 obj
+1388 0 obj
[ 27 [ 531 531 531 ] 32 [ 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 ] 49 [ 531 531 531 531 531 ] 55 [ 531 531 531 ] 59 [ 531 ] 61 [ 531 531 531 531 ] 66 [ 531 ] 68 [ 531 ] 70 [ 531 531 531 531 531 531 531 531 531 ] 80 [ 531 531 531 ] 84 [ 531 531 531 ] 88 [ 531 ] 91 [ 531 ] 95 [ 531 531 531 531 531 531 531 531 531 531 531 531 531 ] 109 [ 531 531 531 531 531 531 531 531 ] 118 [ 531 ] 120 [ 531 ] ]
endobj
-1391 0 obj
+1390 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
xc``&

endstream
endobj
-1392 0 obj
+1391 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6684 >>
stream
xڍz \ĐITc1wuV[m"]p)Rwְ@a_nl{EUgݢM۾c/oB~ ޙw=lڙ<<rٛd1~JۭUv*t$c0R#Ot_rt݁o>K5_0 x1y(ǩ/.p| #x $1+ׯ7e"*^sqy}smt_@"V*J̑z̑z*bWr,/"HzɶHcT2JTD^#
@@ -6064,10 +6027,10 @@ svO֛-5rRtnS8(U[ftF\cs
Ut\PYKJwvB1H( H+WqAR2H5~-۟yei xg4n@K*:8:hq_Z}cGyNoL:;q
endstream
endobj
-1390 0 obj
-<< /Type /FontDescriptor /FontName /BAKNBK+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 1392 0 R /CIDSet 1391 0 R >>
+1389 0 obj
+<< /Type /FontDescriptor /FontName /BAKNBK+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 1391 0 R /CIDSet 1390 0 R >>
endobj
-1393 0 obj
+1392 0 obj
<< /Filter /FlateDecode /Length 673 >>
stream
x}Kk0E!]q,YjK@A٦1$EH:'-ZU)W?^m,of6?mjQ秣gk [\V{b0_-VU_ͫ*?
@@ -6078,21 +6041,21 @@ I(($*#1]vNUЩZZBKj BePm2 <<Sˠit7$tB4)i-n
endstream
endobj
393 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BAKNBK+LMMono8-Regular /DescendantFonts [ 1394 0 R ] /ToUnicode 1393 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BAKNBK+LMMono8-Regular /DescendantFonts [ 1393 0 R ] /ToUnicode 1392 0 R >>
endobj
-1394 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BAKNBK+LMMono8-Regular /FontDescriptor 1390 0 R /W 1389 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1393 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BAKNBK+LMMono8-Regular /FontDescriptor 1389 0 R /W 1388 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1395 0 obj
+1394 0 obj
[ 28 [ 510 ] 35 [ 549 ] 43 [ 472 ] 47 [ 549 ] 50 [ 472 ] 63 [ 549 354 ] 66 [ 253 ] 70 [ 519 ] 72 [ 253 ] 75 [ 844 ] 77 [ 549 ] 81 [ 531 ] 84 [ 549 ] 88 [ 295 ] 96 [ 363 ] 98 [ 407 ] 105 [ 384 ] 109 [ 549 ] 112 [ 490 ] 114 [ 726 ] 116 [ 490 ] 118 [ 490 ] ]
endobj
-1397 0 obj
+1396 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``T`\4ţa*
endstream
endobj
-1398 0 obj
+1397 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1825 >>
stream
xmU}TWC23,--% ~`AFH &"H5`˩,JY+ǮG .Zp`Y{T{a nOߙy3{w$" fY|u.!huD3,Fg+Nf%%'ů$M2Z|ӏt9! &Ltmo
@@ -6104,10 +6067,10 @@ C(ŢhJ@kmDP*2(ّKDY|=K׉D yx^^$Zɇ=f0C
`=d(#p
endstream
endobj
-1396 0 obj
-<< /Type /FontDescriptor /FontName /QQGJDO+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 1398 0 R /CIDSet 1397 0 R >>
+1395 0 obj
+<< /Type /FontDescriptor /FontName /QQGJDO+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 1397 0 R /CIDSet 1396 0 R >>
endobj
-1399 0 obj
+1398 0 obj
<< /Filter /FlateDecode /Length 466 >>
stream
x}Mo0
@@ -6117,21 +6080,21 @@ x}Mo0
endstream
endobj
392 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QQGJDO+LMSans8-Regular /DescendantFonts [ 1400 0 R ] /ToUnicode 1399 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QQGJDO+LMSans8-Regular /DescendantFonts [ 1399 0 R ] /ToUnicode 1398 0 R >>
endobj
-1400 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QQGJDO+LMSans8-Regular /FontDescriptor 1396 0 R /W 1395 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1399 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QQGJDO+LMSans8-Regular /FontDescriptor 1395 0 R /W 1394 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1401 0 obj
+1400 0 obj
[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 811 590 ] 49 [ 723 472 531 ] 54 [ 693 325 531 531 834 531 ] 63 [ 590 354 383 295 ] 68 [ 325 ] 70 [ 561 664 295 ] 75 [ 885 796 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 ] 90 [ 826 561 ] 95 [ 782 414 590 419 ] 100 [ 531 531 531 ] 104 [ 767 413 531 531 ] 109 [ 590 ] 111 [ 796 561 ] 115 [ 796 561 ] 118 [ 561 649 472 531 620 885 ] 125 [ 590 590 ] 168 [ 531 ] 251 [ 472 ] 257 [ 472 ] 277 [ 472 ] 319 [ 590 590 ] 343 [ 295 ] 428 [ 531 ] 446 [ 826 ] 502 [ 295 ] 575 [ 590 ] 589 [ 590 ] ]
endobj
-1403 0 obj
+1402 0 obj
<< /Filter /FlateDecode /Length 54 >>
stream
xc``0/z޿
endstream
endobj
-1404 0 obj
+1403 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7732 >>
stream
xڽz xUvuBwEh*갃 Kd
@@ -6170,10 +6133,10 @@ S&p*|o5:|;G|#apXN:6csJUFBe2`hEASE٨Μ}+Lmyf
<Qv* U%<@t _t2_T'̭?(H]A7qbǟ C<EQ3 ԊKAYTP+__<d=41t9g&}^>`ȳ~k)"
endstream
endobj
-1402 0 obj
-<< /Type /FontDescriptor /FontName /OPWHQU+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 1404 0 R /CIDSet 1403 0 R >>
+1401 0 obj
+<< /Type /FontDescriptor /FontName /OPWHQU+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 1403 0 R /CIDSet 1402 0 R >>
endobj
-1405 0 obj
+1404 0 obj
<< /Filter /FlateDecode /Length 712 >>
stream
x}[o0+ڇ;RDl^^İ_gjHEh}a|٫C_pXvղ{m'k]vҷZzZL3vZ4\B\v/?>~y|m _+So͸dv}|<0q9 p&MN7{ޝ@DnW{k;>ޯ̦ S6a^M0yk7fˮ?hcևi`6c֣r]Uf<~۱,, jk=telu0&3 8ڀӿJ_eMy"f$(be؋A"%@KOvSs 9P,P]z| H;Dҹ{U
@@ -6183,22 +6146,22 @@ DH *$ Rv"eD MLAP I"NY$g1P (DPRxfxNE~m
endstream
endobj
391 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OPWHQU+LMRoman8-Regular /DescendantFonts [ 1406 0 R ] /ToUnicode 1405 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OPWHQU+LMRoman8-Regular /DescendantFonts [ 1405 0 R ] /ToUnicode 1404 0 R >>
endobj
-1406 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OPWHQU+LMRoman8-Regular /FontDescriptor 1402 0 R /W 1401 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1405 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OPWHQU+LMRoman8-Regular /FontDescriptor 1401 0 R /W 1400 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1407 0 obj
+1406 0 obj
[ 187 [ 611 ] ]
endobj
-1409 0 obj
+1408 0 obj
<< /Filter /FlateDecode /Length 12 >>
stream
xc`

endstream
endobj
-1410 0 obj
+1409 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 620 >>
stream
xuR]O`n$8*86DF-&z'
@@ -6207,10 +6170,10 @@ xuR]O`n$8*86DF-&z'
Ezsw`#[mrϪ'[Hmr~3S)~ȻxY-toX} vN^%-5{KZ?,sT[-Z𕢶{6:D u
endstream
endobj
-1408 0 obj
-<< /Type /FontDescriptor /FontName /TMHZDF+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 1410 0 R /CIDSet 1409 0 R >>
+1407 0 obj
+<< /Type /FontDescriptor /FontName /TMHZDF+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 1409 0 R /CIDSet 1408 0 R >>
endobj
-1411 0 obj
+1410 0 obj
<< /Filter /FlateDecode /Length 362 >>
stream
x}_k0)
@@ -6218,22 +6181,22 @@ x}_k0)
endstream
endobj
390 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TMHZDF+LMRoman6-Regular /DescendantFonts [ 1412 0 R ] /ToUnicode 1411 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TMHZDF+LMRoman6-Regular /DescendantFonts [ 1411 0 R ] /ToUnicode 1410 0 R >>
endobj
-1412 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TMHZDF+LMRoman6-Regular /FontDescriptor 1408 0 R /W 1407 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1411 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TMHZDF+LMRoman6-Regular /FontDescriptor 1407 0 R /W 1406 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1413 0 obj
+1412 0 obj
[ 27 [ 869 559 ] 34 [ 818 639 575 ] 42 [ 831 511 ] 45 [ 319 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 62 [ 900 639 383 436 319 594 ] 70 [ 607 692 319 ] 74 [ 1092 958 900 639 575 ] 80 [ 864 575 575 786 639 447 447 ] 88 [ 319 ] 91 [ 607 ] 95 [ 863 474 639 454 ] 100 [ 575 575 575 ] 104 [ 800 447 575 575 885 639 ] 111 [ 869 607 1189 831 869 607 869 607 703 511 575 671 ] 125 [ 639 ] 251 [ 527 ] 283 [ 1150 ] 446 [ 894 ] 502 [ 319 ] ]
endobj
-1415 0 obj
+1414 0 obj
<< /Filter /FlateDecode /Length 34 >>
stream
xc``0/y߿€
0A)
endstream
endobj
-1416 0 obj
+1415 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7229 >>
stream
xڵzw\W0;hq-;8`/(bA5vQQ@AA
@@ -6280,31 +6243,31 @@ rxCʼ[/\oOOnyXo@ۚ#b'qnj(U><Յ|ZUP(痭=_
yY?r
endstream
endobj
-1414 0 obj
-<< /Type /FontDescriptor /FontName /CWYYJT+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 1416 0 R /CIDSet 1415 0 R >>
+1413 0 obj
+<< /Type /FontDescriptor /FontName /CWYYJT+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 1415 0 R /CIDSet 1414 0 R >>
endobj
-1417 0 obj
+1416 0 obj
<< /Filter /FlateDecode /Length 672 >>
stream
x}[o1WHvW(y+w<k Ucƞ3ǓI*jk쉳OV0uSGެ*NGc7cїh>X=L-G%~K{KuqcO?._s1v7?MӖ}a}0zZ}om'}Q+nH$zQ2]QYIv渴*Yۮ9ŏQѦ)qOX`ƣшis;o6GvѲ;wvb} K'[Tڴ0M4t.(2V8]W^BşM/J&"dhH!FSwJY2A d1BuI3H"S2I @:t2@@9G3H'tct :s8C$"eTU9~J"P]@g
endstream
endobj
389 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CWYYJT+LMRoman10-Bold /DescendantFonts [ 1418 0 R ] /ToUnicode 1417 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CWYYJT+LMRoman10-Bold /DescendantFonts [ 1417 0 R ] /ToUnicode 1416 0 R >>
endobj
-1418 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CWYYJT+LMRoman10-Bold /FontDescriptor 1414 0 R /W 1413 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1417 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CWYYJT+LMRoman10-Bold /FontDescriptor 1413 0 R /W 1412 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1419 0 obj
+1418 0 obj
[ 28 [ 613 ] 35 [ 580 ] 47 [ 624 ] 50 [ 558 ] 55 [ 536 ] 59 [ 641 ] 72 [ 513 ] 77 [ 613 ] 82 [ 553 ] 84 [ 558 ] 98 [ 458 ] 104 [ 786 ] 112 [ 613 ] ]
endobj
-1421 0 obj
+1420 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```T`h`Phh
endstream
endobj
-1422 0 obj
+1421 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1852 >>
stream
x}UP]43Y ?1D@b
@@ -6317,10 +6280,10 @@ Cأ-ܙo  fn @b B> ߇6'Q0N-ͺ*jq
C?Uks> n=Sߗ]{Uduk4ZAa 0ǰ nwpWB>_`:׍k78L <A¯‘:t@9[v?ӍN4?tn@g@Q[Lh$<xL{״0Q/o^L=S+= #L<B 묯j-nOb)׉x|? CT3: ~;EՕ.%+XʧZ> pJv3^ !N^[;.Di>Ȝ^ԏ+>n7PeЙ^/n
endstream
endobj
-1420 0 obj
-<< /Type /FontDescriptor /FontName /EYRPLG+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 1422 0 R /CIDSet 1421 0 R >>
+1419 0 obj
+<< /Type /FontDescriptor /FontName /EYRPLG+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 1421 0 R /CIDSet 1420 0 R >>
endobj
-1423 0 obj
+1422 0 obj
<< /Filter /FlateDecode /Length 430 >>
stream
xڍM0C {Z,ub؏i
@@ -6330,21 +6293,21 @@ RF)O_J [.!vUkVU {:~h
endstream
endobj
388 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /EYRPLG+LMRomanCaps10-Regular /DescendantFonts [ 1424 0 R ] /ToUnicode 1423 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /EYRPLG+LMRomanCaps10-Regular /DescendantFonts [ 1423 0 R ] /ToUnicode 1422 0 R >>
endobj
-1424 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /EYRPLG+LMRomanCaps10-Regular /FontDescriptor 1420 0 R /W 1419 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1423 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /EYRPLG+LMRomanCaps10-Regular /FontDescriptor 1419 0 R /W 1418 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1425 0 obj
+1424 0 obj
[ 28 [ 500 ] 35 [ 556 ] 43 [ 444 ] 45 [ 278 ] 47 [ 556 ] 50 [ 444 ] 52 [ 778 ] 55 [ 306 ] 59 [ 500 ] 63 [ 556 333 ] 66 [ 278 ] 71 [ 625 278 ] 75 [ 833 750 556 ] 81 [ 500 ] 84 [ 556 ] 88 [ 278 ] 91 [ 528 ] 96 [ 392 ] 98 [ 394 ] 104 [ 722 389 ] 109 [ 556 ] 112 [ 528 ] 115 [ 750 528 ] 125 [ 556 ] 251 [ 444 ] 257 [ 444 ] 277 [ 444 ] 502 [ 278 ] ]
endobj
-1427 0 obj
+1426 0 obj
<< /Filter /FlateDecode /Length 35 >>
stream
xc``\8c‚#3XP2`
endstream
endobj
-1428 0 obj
+1427 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3950 >>
stream
xX TSW>NT9M[vQ[Z:Q(jWx(
@@ -6367,31 +6330,31 @@ Qm!5;~DM1S=RH$K#aF@ l~ P4dFf,u@{gȮY
ijYZA+|}l7MҮ%A٠n>u5f˛AANb֠5
endstream
endobj
-1426 0 obj
-<< /Type /FontDescriptor /FontName /ZSUCQN+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 1428 0 R /CIDSet 1427 0 R >>
+1425 0 obj
+<< /Type /FontDescriptor /FontName /ZSUCQN+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 1427 0 R /CIDSet 1426 0 R >>
endobj
-1429 0 obj
+1428 0 obj
<< /Filter /FlateDecode /Length 531 >>
stream
xڍKo@Y8I,%KH I1B-ǂߙ9c"UUT$1a=wEs$7lO}3v%k:ٺ)ǚ#$h޻i`tjS[Y^FASֿ^\ɏ}+~۹__M]R\kpQ5T4?F>1s~H6wV7[L*):+(3Q%Y<]_<5jYuJS*3BZN0A'unWڐPj~G {_6(+䙜2'lW9'J*n䥪瑗hz!?e5(F,ٞ1vy0r|K,ٞTG@sz6=cAY _"(K%PrMNKl^/1{lXl ysl yKHϽO<i$zoY]\uz*I;62osMoE
endstream
endobj
387 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZSUCQN+LMRomanSlant10-Regular /DescendantFonts [ 1430 0 R ] /ToUnicode 1429 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZSUCQN+LMRomanSlant10-Regular /DescendantFonts [ 1429 0 R ] /ToUnicode 1428 0 R >>
endobj
-1430 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZSUCQN+LMRomanSlant10-Regular /FontDescriptor 1426 0 R /W 1425 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1429 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZSUCQN+LMRomanSlant10-Regular /FontDescriptor 1425 0 R /W 1424 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1431 0 obj
+1430 0 obj
[ 28 [ 569 ] 45 [ 323 ] 47 [ 631 ] 50 [ 508 569 ] 55 [ 354 569 569 ] 59 [ 569 ] 66 [ 323 ] 75 [ 939 ] 78 [ 569 ] 81 [ 569 569 ] 98 [ 453 ] 100 [ 569 569 ] 106 [ 569 569 ] 121 [ 569 ] ]
endobj
-1433 0 obj
+1432 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc````5 c
endstream
endobj
-1434 0 obj
+1433 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2882 >>
stream
x}V TGa`zTDm5ݦ=DkQcQ a8fd@e9f@DD9JtM< M\]1զ|/{ަ_uwU}UٙH${ǚ뵱
@@ -6406,10 +6369,10 @@ x}V TGa`zTDm5ݦ=DkQcQ a8fd@e9f@DD9JtM< M\
'ѸXfݯ6f,r,G4r ݅,ȦI.x"^[ǤӰ(>f!BS˼x3< #'"vЈzxAیf
endstream
endobj
-1432 0 obj
-<< /Type /FontDescriptor /FontName /PTDKAL+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 1434 0 R /CIDSet 1433 0 R >>
+1431 0 obj
+<< /Type /FontDescriptor /FontName /PTDKAL+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 1433 0 R /CIDSet 1432 0 R >>
endobj
-1435 0 obj
+1434 0 obj
<< /Filter /FlateDecode /Length 455 >>
stream
x}n0y
@@ -6418,78 +6381,78 @@ wDiBhRPm%bGNqT].R_ΙLnp tj nɤTlh@
endstream
endobj
386 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PTDKAL+LMRoman7-Regular /DescendantFonts [ 1436 0 R ] /ToUnicode 1435 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PTDKAL+LMRoman7-Regular /DescendantFonts [ 1435 0 R ] /ToUnicode 1434 0 R >>
endobj
-1436 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PTDKAL+LMRoman7-Regular /FontDescriptor 1432 0 R /W 1431 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1435 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PTDKAL+LMRoman7-Regular /FontDescriptor 1431 0 R /W 1430 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1437 0 obj
-[ 27 [ 743 511 ] 35 [ 460 ] 42 [ 716 460 ] 45 [ 307 755 511 ] 49 [ 678 460 511 ] 55 [ 307 511 511 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 72 [ 256 ] 74 [ 897 818 743 562 511 ] 81 [ 511 511 678 511 ] 91 [ 460 ] 95 [ 729 422 562 409 ] 100 [ 511 511 ] 104 [ 716 332 511 511 ] 109 [ 537 ] 112 [ 460 ] 114 [ 664 ] 116 [ 464 ] 118 [ 486 ] 121 [ 511 ] 168 [ 511 ] 251 [ 460 ] 257 [ 460 ] 277 [ 460 ] 284 [ 511 ] ]
+1436 0 obj
+[ 27 [ 743 511 ] 35 [ 460 ] 42 [ 716 460 ] 45 [ 307 755 511 ] 49 [ 678 460 511 ] 55 [ 307 511 511 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 72 [ 256 ] 74 [ 897 818 743 562 511 ] 81 [ 511 511 678 511 ] 91 [ 460 ] 95 [ 729 422 562 409 ] 100 [ 511 511 ] 104 [ 716 332 511 511 ] 109 [ 537 ] 112 [ 460 ] 114 [ 664 ] 116 [ 464 ] 118 [ 486 ] 121 [ 511 ] 168 [ 511 ] 251 [ 460 ] 257 [ 460 ] 277 [ 460 ] ]
endobj
-1439 0 obj
-<< /Filter /FlateDecode /Length 35 >>
+1438 0 obj
+<< /Filter /FlateDecode /Length 34 >>
stream
-xc``0/`_/@X8
+xc``0/`_/@X
endstream
endobj
-1440 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6123 >>
-stream
-xyxg1<fB$tBqބlYUԻ>*[{ kJ K I6޻Od?{>W~,#y{ 8a03eӖ/ܵ/+3tm N{炳A(| b AH<e&vgjn(;tH,,z߇YO'MW9X/ !2|0PSxe,yeS??.\dϫ#7.ܞr9 "w-ܝ%r"e"S2R#R#Fd EHFrߜܔH!/9%'Rod;9I)ܔȅ ##sSR"ŋ´EY9iS.P6EH'LʉLN$p2r̄ Y)ےSx 8,<2Y,F"ːJdYG^G6"[d' ٍE!Q$GD$IAr"AGN/,NX,MDw 11G&AЛIؤ!igN3B=a}SNS5ӤF><Bv;Lf~Qg:gHDMGcbƅ'[+*Pwa7-xN-א r1`zC6Z&V |PH)\60֠\Y\d^`!:-mV$jT
- w0?3ϳ*B _g(s4`-j-fVU`SpqqI=A-菺~t7y!j;jdE"-yljך1Յ
-_<}. '_~r lJEv30>3ۦtFBE,ܰLW:Wj`[3$5 `SM͝wagp',/"xGD! -:nRN:[,XmDkwK
-xazQ'" 3᭟0˂5J *PNC |zPnҨco@ /^r\ãWH;9a->,mm.;3dAh6"fK5$|>x1񲗒"~}yڽYm̪ ݅n^7 "E
-jcGJ+;pc^I^!6 kXmq NcA6s3 FQIXKL
-3Q :4VKr
-]XpkǝUb2S+c
-EYmmeA <3`}'+o%R~x& p P }RИzѠ%űd<.]#-Y-ד_jT
-DZSm':\hw;pl_;٣<M;ِ>HصeOG4J 85Dͣ[qj˭3=^/)Z);eq"%%"\<|*NJ IrRG?~ﶏ(1tݽ
->x
-r<u*u*IXrMٯ[KV"<>ή*gr\a9L,'__d–kj.4 /!בi#zԨӊ7S:+k+, wU]ZGx/p
-jfaIg ~^g0f$缻dٴ-b pCG:l~1ԅnCшJ_^M*dBT.x_Fc4ɈDy-1mmUp`0dod$-&9];໴30/̾
- s!G+ݣJ4p1Vczh~J~8/z
-瓏xɽN v'y
-E[7>
-]7[
-M쟮0Lv
-Tf<-=heSQW@יUyQ"=Vmv} p)~:l`z02Z/N=VyRQ+ 2xRc#-նU<ڧbwֿOM#_Gxãqa8[IWJc:I޳{M?:TFAyXˢq49s |B:-_)Q3Toɾ-vjr4:UXZL}
-O]g9A!s3~4Z"1z055)K[dNה%iah-Q/S6t14epUϦ*'yeer(!RkBP"uw[D
-,l6u!S UN6( љ@+T*- ls3g֟]^PQ"UaYt1 Vavփrj.x{H|tѢ3[*,)#<"'ڲM8g{hʦFeuy*s"rtGwYnZ]
-%ᖤrf\5e@ãMiF~1@8O6⇶/oc^GM;{E6dV7,8%Ek|wێM
-j‡%,'X!Ú|弘hVN,~pM٫+(eC-ѣC*;]tn~LZĭiV#%[YNk!LKverh |>2dcpҺQVS;'`hgM:
-
-_rY gtiuN .)򕤪kHM6*.|d=atSBLR)mf
-01K鰘iK_q?:(gvF9zhuj\xpsKO:
+1439 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6083 >>
+stream
+xY xSe>!PD9rNDDPVY*;elvB4mt˾ϾvoӽPZe"880
+:{zSswIIN~0離߱mwgf-YM}/*Tp&%O" 1.H2ZfBf2CǏPOGs dy\I"F} 0 +d2&1/p3y4!g…K^}^Y7%>)q9$Ζ9;2%Q.gN&LM$gpR3E9{Ӹ9If6CNNOINIaZ2g={9fmd~N2g<''9&
+V.X N]B&gA؇r7ը{mۼ>rǞ\!'%3,GfvF|ڤ̄I|!WyyyyG dYB Md+ َ@v!=^!H$#i9 Dd#BD!EͤA?#G3)f<`m̑7H+}6ZHwNȎIdӏ
+6lCXMXٔo d=]'&>1Ga/cx“']3D]x0<,a~9]Wf~Z5
+-I nM>0
+<\`Ds,09W te UEJB-l@?b]v4B5F{kۈ7|rXKlWC ‚HmQf!M:/mFuV-#|%ȓ9AP
+ii9JI~3QJ_ ?\EcuMnQs֓]_Y+N7%'֟ҵu&l*rщ_3OQ+B̂{h.&j\j7gKALb7%֙* װR㞝ljqGF8fS_bKsceW^8N JԔZI(5~tב]ڑiUKV-{sUVTVQV07
+V 0`6Vp8Ao2HIL: MIVo4G+ 4
+e:OEAt٨RQh3GyG!#"m-zQ*héj|xVɍ8
+qY:
+J +RUdK;n7*M7'Īsej E`;gȏ2`,`.\l*)Թj=p^Mii{!3j2
+~#KM&2A%bRO|
+FtFa܅& -߆TY#IVd.PN
+;YVn*vӧ?UZ.\-5uhqU`o&צRsul)-χpW'Q5d94Y`I5 hوpN}0]UyRqcssY28DŽ-נ]Vhd~n|?ב)#ԤI
+SNtVemXoK[
+wU<AyKpT0M
+FY{Nbkg|Vٷ7^u!hwX{ ]*{<(\8\RϖM%FTeX˺2E;2
+L AFeée*O&3bO~/07Yku~
+;vt?ݚg_=w)UsO)<]`)
+St8b=k޺x!G37Y9&i8A~k0?7Kh̥48}jȫDiERő. q Vsd @ZI) <Zs]DG^.X:mPnd5\{[g 7`ɝ/62i"$E
+ɤP1{_%m0Kp wB!0%
+]+J~v+[mz Vnh*5jLN"fOQȾ4B&اұ,Ry ο<@cy8 7Hub5Uow(O(1#۟е|˗ Z☲O Vvp `"03?fPNO~+ 8+(bóFۏV=Q(A$&"CIpA]d
+7]l5F[t j;
+GOk?8}<oѧzCԕWZ9bg֓KP$
+5U|EPcִ߶ }vjjK*m\i fUK
+i !<՜(zv ~@5#٫/(Jƨ'FSCU^q\Cw[(@O$H6m3\ҕN*H}'Po欠bHq}7rUlt'
+)\n) 98lrkK:C->tT]yRQqb4p^o
endstream
endobj
-1438 0 obj
-<< /Type /FontDescriptor /FontName /XVGCGS+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 1440 0 R /CIDSet 1439 0 R >>
+1437 0 obj
+<< /Type /FontDescriptor /FontName /HOLXNQ+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 1439 0 R /CIDSet 1438 0 R >>
endobj
-1441 0 obj
-<< /Filter /FlateDecode /Length 583 >>
+1440 0 obj
+<< /Filter /FlateDecode /Length 579 >>
stream
-x}k@W>!u9HXTJ_c2vf3sʺ?{9:zߺ˪K7l#ԗM_ΙLVmyj_duo˭4W;-Uy<UI~[bN~iByX.7vx Uf|~[ȼ{ι SU6hK6}UӪlow<Uu9e2aMXF?ۭ[_ɾV_lzcGٞ(>;I*yЭuFE#+]Νde m%(e_/,t<aKuSP .okSqzR ZBp.&ZYSPeZC
-<"s@-Q#z.D%ly uHHI=K6&
-"x v h
-$/h49BZb v]228eKK<ds| ~Wl.V^_6{2wVLΜ/0< >c
+x}Oo0=8B(-R ]@^ClHĉpۯ7ijZ<{x; Q<r]}k ._VuqR
+)jں8ȞFoTq 9-zR}J6>w}}yU<nZ.7e o̶-ۮ9Le]3-d\*Ҫdw<ߢQÇ{jε3^ۭɮ-ՅQkJN2!ϺhWMղ㽑̷akBHgC)OH%9N@- gCqz 2
endstream
endobj
385 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XVGCGS+LMRoman10-Italic /DescendantFonts [ 1442 0 R ] /ToUnicode 1441 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HOLXNQ+LMRoman10-Italic /DescendantFonts [ 1441 0 R ] /ToUnicode 1440 0 R >>
endobj
-1442 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XVGCGS+LMRoman10-Italic /FontDescriptor 1438 0 R /W 1437 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1441 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HOLXNQ+LMRoman10-Italic /FontDescriptor 1437 0 R /W 1436 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1443 0 obj
+1442 0 obj
[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 61 [ 525 525 525 525 525 525 525 525 ] 70 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 91 [ 525 ] 95 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 120 [ 525 525 ] 245 [ 525 525 ] 252 [ 525 ] 272 [ 525 ] ]
endobj
-1445 0 obj
+1444 0 obj
<< /Filter /FlateDecode /Length 33 >>
stream
xc``_
endstream
endobj
-1446 0 obj
+1445 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8030 >>
stream
xڽz\WאּD *(3Ěcb((,3{cWlAq$kMLbMs} y .s̜<gV@bˎrptJߘ?gWLn*75E${EcY
@@ -6534,10 +6497,10 @@ MU|\hk!y\&bVf QN^)T6+HLYׅǃ"ƒ|v,
Ct?LCDpƦjYMD<7ťr=?;)ZVM41Yl^W1Yq,+VT̨&n&ggHsZZE1t+AX鿘yLV,, <ӗXQڑQK?Y٦U9iiM_/2t
endstream
endobj
-1444 0 obj
-<< /Type /FontDescriptor /FontName /RXYETB+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1446 0 R /CIDSet 1445 0 R >>
+1443 0 obj
+<< /Type /FontDescriptor /FontName /RXYETB+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1445 0 R /CIDSet 1444 0 R >>
endobj
-1447 0 obj
+1446 0 obj
<< /Filter /FlateDecode /Length 738 >>
stream
x}[k@+f/
@@ -6549,21 +6512,21 @@ F#d0JF@02$IT^H|jYUK_]KL/E%4,CN3oӒS %,aNó6
endstream
endobj
384 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RXYETB+LMMono10-Regular /DescendantFonts [ 1448 0 R ] /ToUnicode 1447 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RXYETB+LMMono10-Regular /DescendantFonts [ 1447 0 R ] /ToUnicode 1446 0 R >>
endobj
-1448 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RXYETB+LMMono10-Regular /FontDescriptor 1444 0 R /W 1443 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1447 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RXYETB+LMMono10-Regular /FontDescriptor 1443 0 R /W 1442 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1449 0 obj
+1448 0 obj
[ 28 [ 481 ] 35 [ 517 ] 43 [ 444 ] 47 [ 517 ] 50 [ 444 ] 55 [ 306 ] 57 [ 500 ] 59 [ 500 ] 63 [ 517 333 278 239 ] 68 [ 267 ] 70 [ 489 ] 72 [ 239 ] 75 [ 794 ] 77 [ 517 ] 81 [ 500 500 ] 84 [ 517 ] 96 [ 342 ] 98 [ 383 ] 101 [ 500 ] 105 [ 361 500 500 ] 109 [ 517 ] 111 [ 667 461 ] 114 [ 683 ] 116 [ 461 ] 118 [ 461 ] 120 [ 435 ] 125 [ 536 536 ] ]
endobj
-1451 0 obj
+1450 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc``T |5%aI6
endstream
endobj
-1452 0 obj
+1451 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2827 >>
stream
xuV TW1 h@%&RFgjk
@@ -6581,10 +6544,10 @@ m׫&IcT щqRm4T!MKUR:mZr껎u4CHNNUJӒbU:>A% iҥ5
ʊKJm)
endstream
endobj
-1450 0 obj
-<< /Type /FontDescriptor /FontName /JZYRJQ+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 1452 0 R /CIDSet 1451 0 R >>
+1449 0 obj
+<< /Type /FontDescriptor /FontName /JZYRJQ+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 1451 0 R /CIDSet 1450 0 R >>
endobj
-1453 0 obj
+1452 0 obj
<< /Filter /FlateDecode /Length 527 >>
stream
x}O0=dqwW(@bS@U[ }m?[$xc&|䞳5YE <HuoDdm؇ ul+Uuw&yYR*uK}pK?—_?/¯Bt8 r{j[uGDf(senZ=sn,득 F^%Ke;+<b&>˓\ڎN+锍Lũ FZԁ ?hr69xeLޔ6'b#;Jh]>vf{iŎ#.kImS u`jL.+ Hɿv{I&>T.-iYP 4vĠ HRУg*<8sG9?|Oc3(@s%>AP&DL'M1FLhI|h,T' .?mzM,nO ~{6\<kmV]v+Eכԍ=
@@ -6592,18 +6555,18 @@ x}O0=dqwW(@bS@U[ }m?[$xc&|䞳5Y
endstream
endobj
383 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JZYRJQ+LMSans10-Regular /DescendantFonts [ 1454 0 R ] /ToUnicode 1453 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JZYRJQ+LMSans10-Regular /DescendantFonts [ 1453 0 R ] /ToUnicode 1452 0 R >>
endobj
-1454 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JZYRJQ+LMSans10-Regular /FontDescriptor 1450 0 R /W 1449 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1453 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JZYRJQ+LMSans10-Regular /FontDescriptor 1449 0 R /W 1448 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1455 0 obj
+1454 0 obj
[388.9 388.9 0 777.8 0 0 0 0 500 500 500 500 500 500 500 500 500 500 0 0 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 277.8 0 277.8 0 0 0 0 0 444.4 0 0 0 0 0 277.8 0 0 0 0 555.6 500 0 0 0 394.4 ]
endobj
-1456 0 obj
+1455 0 obj
[ 27 [ 750 500 778 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 42 [ 722 444 278 278 764 556 ] 49 [ 681 444 500 ] 53 [ 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 514 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 778 528 ] 95 [ 736 392 556 394 278 500 500 500 ] 104 [ 722 389 500 500 750 556 ] 111 [ 750 528 1028 722 750 528 750 528 611 444 500 583 833 ] 125 [ 556 556 ] 144 [ 500 ] 167 [ 750 500 ] 207 [ 444 ] 234 [ 375 ] 250 [ 681 444 ] 257 [ 444 ] 277 [ 444 ] 283 [ 1000 500 ] 319 [ 556 556 ] 343 [ 278 ] 428 [ 500 ] 446 [ 778 ] 502 [ 278 ] 575 [ 556 ] 589 [ 556 ] ]
endobj
-1458 0 obj
+1457 0 obj
<< /Filter /FlateDecode /Length 60 >>
stream
xc``/߿
@@ -6611,7 +6574,7 @@ xc``/߿
8 &#
endstream
endobj
-1459 0 obj
+1458 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 9343 >>
stream
x{XW쬍(13hl{{oK,[" FbI%XsvQk3O>fc KVnXhk]Ǝ[fys!ן
@@ -6653,10 +6616,10 @@ E%P< Kc5-`vofUzy|9s.nVxTp03E^`?1ACR,Nd?~ƃT
a!(b:tjrQX8C]ԨKצtt}U#I
endstream
endobj
-1457 0 obj
-<< /Type /FontDescriptor /FontName /TINWNG+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 1459 0 R /CIDSet 1458 0 R >>
+1456 0 obj
+<< /Type /FontDescriptor /FontName /TINWNG+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 1458 0 R /CIDSet 1457 0 R >>
endobj
-1460 0 obj
+1459 0 obj
<< /Filter /FlateDecode /Length 798 >>
stream
xڅMo@C@!cWH j{%B-95R<ޏwfr͇Dx7fݬ)N{Sw cJS^Fm}:{u;2ߓf[շ)}q2?{_ׁ?x7n~٪vvf
@@ -6666,91 +6629,110 @@ xڅMo@C@!cWH j{%B-95R<ޏwfr͇Dx7f
endstream
endobj
381 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TINWNG+LMRoman10-Regular /DescendantFonts [ 1461 0 R ] /ToUnicode 1460 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TINWNG+LMRoman10-Regular /DescendantFonts [ 1460 0 R ] /ToUnicode 1459 0 R >>
endobj
-1461 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TINWNG+LMRoman10-Regular /FontDescriptor 1457 0 R /W 1456 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1460 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TINWNG+LMRoman10-Regular /FontDescriptor 1456 0 R /W 1455 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1462 0 obj
+1461 0 obj
[446.4 446.4 0 877 0 0 0 0 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 ]
endobj
-1463 0 obj
+1462 0 obj
[500 0 0 0 0 0 0 0 0 0 0 0 277.8 277.8 0 0 0 0 0 750 758.5 714.7 827.9 0 0 0 0 439.6 0 0 680.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 528.6 429.2 432.8 520.5 465.6 489.6 0 576.2 344.5 411.8 520.6 298.4 878 600.2 0 503.1 0 451.2 0 0 572.5 0 0 571.5 490.3 465 ]
endobj
-1464 0 obj
+1463 0 obj
[955.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 533.6 588.2 0 0 0 880.8 ]
endobj
-1465 0 obj
+1464 0 obj
[1027.8 0 0 0 0 0 680.6 680.6 680.6 680.6 ]
endobj
-1466 0 obj
+1465 0 obj
[339.3 0 0 0 585.3 0 0 0 819.4 0 0 0 0 0 0 0 0 783.7 0 0 0 0 0 0 0 674.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 542 0 0 0 404.2 472.7 607.3 0 0 706.2 0 588.9 523.6 0 0 0 0 0 0 647.8 ]
endobj
-1467 0 obj
+1466 0 obj
[333.3 0 0 0 0 0 736.1 736.1 527.8 527.8 0 0 0 0 750 750 0 0 0 0 791.7 791.7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 875 875 666.7 666.7 666.7 666.7 666.7 666.7 888.9 888.9 888.9 888.9 0 0 888.9 666.7 875 875 875 875 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 555.6 0 0 0 0 0 0 0 0 0 0 0 0 0 472.2 472.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 666.7 666.7 450 450 450 450 ]
endobj
-1468 0 obj
-[ 28 [ 525 525 525 ] 32 [ 525 525 525 525 525 ] 38 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 59 [ 525 ] 62 [ 525 525 525 ] 66 [ 525 525 525 ] 70 [ 525 525 525 ] 74 [ 525 525 525 525 525 ] 80 [ 525 525 525 525 525 525 525 525 525 525 ] 91 [ 525 ] 96 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 116 [ 525 ] 118 [ 525 ] 120 [ 525 525 ] 163 [ 525 ] 246 [ 525 ] 272 [ 525 ] 314 [ 525 525 ] 439 [ 525 ] 494 [ 525 ] ]
+1467 0 obj
+[ 28 [ 525 525 525 ] 32 [ 525 525 525 525 525 ] 38 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 59 [ 525 ] 62 [ 525 525 525 ] 66 [ 525 525 525 ] 70 [ 525 525 525 ] 74 [ 525 525 525 525 525 ] 80 [ 525 525 525 525 525 525 525 525 525 525 ] 91 [ 525 ] 96 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 116 [ 525 ] 118 [ 525 ] 120 [ 525 525 ] 163 [ 525 ] 246 [ 525 ] 272 [ 525 ] 439 [ 525 ] 494 [ 525 ] ]
endobj
-1470 0 obj
-<< /Filter /FlateDecode /Length 43 >>
+1469 0 obj
+<< /Filter /FlateDecode /Length 40 >>
stream
-xc``_ `& n
+xc``_ `& n`Pi
endstream
endobj
-1471 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7450 >>
-stream
-xڽzXSJ\=7u{Q'.=Xa$$M {q *ZqPhۨ:kھyO:<B=~9~?&x<ސWl[n5k2I^j?@ӥ{Hp n8ƊXmxhƛ?{-lFumbB؋CoXgN<u%rEHJ2}M%'K\}U!q,Y3YVHe7D)("Q+JW\P?YG)}%@U)e@[*Yad\qʔRɤIR*xT9S^^S<=)~SLMZv+,]adUJ)xHU>~bp<oMC*SB3A
-*pI
-N԰يRp(V/_@;f+{|u\?v3횠79n繋ܛ՛b%ҥ eܘ" 1 Ӌcr7VA$NfԈLA ۶mdOUl3 rkƦ
-n4,D+|k(N`]MWw~.'V8^23<@NaTN<ZM"Y/Id0?n7JѐDcyO5[\u%$sm3mÒAvʰ5Rr6oh8,aLc9{bt>+{2c`p<FYi1i4؁lg 5ص'wEϹ`1OF
-Ga4 Lb3i
-% dl/RE1%]5N4cc8ZV^h
-ya+ #{,udᱡK]TïpSJ&1BBvZ3pT- Ep)v(8+_׳AxϬ-s9ϣ;<x(fd ^"*IS BJ:M˩ /0[,Spp<{wu{/t'G=8 C60S?%!ycIHMip.ђvsz/1&%jM40 dD8v#Nτ(Q9 9]ʭMaz>f՟ ?]]=- p9%4Me~ NUO"W-/0ZR~Z[,* ӹ,9>EXES#[S*~1uԆN4p^
->1:)4lⴴLpX~}u˜fo.<fl}rr0V*֔ˣsC>heOn8Nn tpf>]7qIA R#&e
-+V +dN3K_A ^0޵.4G2v%#MEc28+w9\n6Кn-@8N[_&)iʐr<X#_ye׫O
-Dw߂Ӿ.W#=fj֚H4,k\ٍ@':{n<~{ {W5Ugiwdb~1H#3`ԟue4fw@ګ{tiv|[O5cs׎WX/XZP_i.Ùuw?qB+"#%qu &}h]tL΢JT ]>i p^zA2K%<FfչЙVJN/OvT$MAEm(T6E Yh==z; &wU{t2FU^ B친ϠvsXe0^ j{9bi^B1喷j|bl '$ۡQ7GjM<$iA_V5 (ICZmRA(QQZ|23؝4’xfDA-"nE1p< Z;w QH@äE2&g$!nQo?wk޼o"NRE-wtGj&H#e
-.G,j9,jT@*?eN_v?gor6D919;Y{Gq]oK1q~@|ğ4 @^K8
-9e;ug{5g,Rͧ?G}qO2JǙ f@ݖOc`k1q8YiL^L1 Q!V\`6Q1
-լu37MNȟxy"XvϱI/fL`#&`b ps<^ ˎ͊ÚyQA]}6~B]\|t8&=oς3_=!2_ !}R3-/<t7
-SjQRaWexc"cASJ x }\]{;T}-,]Ҕlovٰ=Pv=T",LJ*1[0 {ܠ=ECGOL\2fphvT_
-'GZh<_}wE{-k(Ng\]pg+-/*+Jȉ
-ӹ$EmGg
- )u.m^e֊KFN1RIr':O"ք τ- c;
-ȭdJ9돦dw1_KB="/Z:D |7ZR7wIN@<҃T};MbJ4#LnBb<E=1}-rT5sw3M1t
-IbEGeӰ mhO[0Ns:ສ#@yIXP&3yi9baX1Y :pOLdŬjn eČChyH½>_T&1bڌPk5ȏPR%cq{Pj
-]@ʼn:{W")
-/*lMB6mƎ bO‚9ܒq~fm6fɩL)iɅvhǕ/$#
+1470 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7293 >>
+stream
+xڽz TSWJznj:Ou#N(HBB0<hŁZEkZ[kc_kϵNk#!zr=g=&x<ް+XxGGYl R/kJ=n4k7ǁ>cI6<4ꊍutMz(e ğ} t6:،1}1f,!CaHw<gΘ2mڬ2yhR2cڴLs$KH\}ej5C0E8EVH$nRoW?OSIURH J`dBJAR?B!QxH$JodM
+9 fC
+( (O;kLk4/ X˜; ZS65l#ARj j ׹5jm {y"TՀ٤F*b
+*d"=;՟
+oݩ;uA|9֊6Oޔ&D{zE {=O>zHV8ϲy,}F2J:OQȼA* z{<S|
+c.#Z/u_Q46ذ8qH~xIfjrr*%~BP\c`dT'*M|ME6`I~A1^[5ĖS~CѡldP*OG= z
+6EX(4 G28
+mI%kRL0APiRd}~i17B`_!띮a
+:4Dԥ m!]T_؆`19[gU/
+v
+]Ok>tuIINx-g"?3,ePă;
+㬨fj_Ogϭ- sOU9ϣ;=zV˛$
+n jCcUbM~hqg)|9fa
+N@#
+Zb[܄q:]د24) oѰlbv<x
+Ytx{ ^@*WK0-53H\\sYz|ۇog lu>U;ߊQ\OmtB|f.QigvyZ Vb pØŸ(K<B=Q*C2 eN eCLU ^t_ dPLXܵNWvzFCXb{3u 0| Xqir l~v 5%e?
+NACؓ
+f!C,~>޵(\7-6$N R,XS^9vM|=dlfϟʮs@t!d̈́v`&l69,2Νۘ<V86]s;{ti-c 7ݾ{m¹T ^ @>63huGFyCl_y V
+^.Rg\RtZA:KtIϤ|锎leLTdʚs0y?Pldˑ\Pp9׷CCʷgy8#X zP|)0@8WqsX͂.S{:Ƒ+̋,6v3.'o]yrix)]\`4`ꌢ9?z=%-N%虤 >WRS2cye,_7}KQקg铒rFq$0DO:=?=V-lFbt5d$;-0&t M d
+q|m$,HhP?ƩWYٳQHcH!_({aKvEG U{b<A'ۛxL\"  ʒ
+xxN~|Gk
+$@1^=0BpT<l=dKvHڊ<?_XjK]
+\y gf!ο-a!e&~l]a{
+ \Iw=zQtQܒ^5 g^'0U^Ä'%3"Ľh UP/#J\
+Ƕ~Wh[P # C`ڗJ~$ КLZ#&GzDjG/<փG;nwoau*jM8mΟLU̯F9B=XQHNYW&M3hN>vzFMw1i VoзuS'yv
+%O`U` G3HHXdlmt}T16ZE(cTEwFO7gd8/ Upy ߗXGeT0_@g>[~+軼xǝ v:!iz)j7GŴ)ZPB;mn %!3ܫ `D_W^˞ x=x D0G,ɍp(L 莐VO;a~SmAFDr
+r`VE#6ѓ'R8-HJ
+Hwe֐0{]I,ts1_JT?`TNyNar
+^ fIi=~z/IՕ
+SRJabAwex1y]rx \뙵9.v0>Zx2-.#q{f8XXXMcf%аܺt{u›Ud JM2vzE>p J/tM[,jy4Gj6ÎM*ăbv6FK5d[9:)&pa{~׺W2h̒d
+8KW|ߜ
+ͱ4fN4;FKRԁ@6*\v$|lGC^Dx@[fq%47o<i(W?g~F^s ٝ /:pe%Uq頺׏y"<ĝB5N\D#m˶ٰ)'L6))B+ե
+g`8/)9
+]󦻜,7e3ǡraW~DHΛ#~^RUXWKKe
+۪N_w}}/N.&&Fc
+#!?PkB[o5|}ӑN@$IH6 |؂1Ӂו1KJ6)MMcBMc͆h3õ8( _ɊY<M
+uD}?cث?ܼyuzNoac+rl/)WT''ʈРb]n2SgUQٟRmGEĪ|UiZNK
+#sÔqjmuj5zNLn#X!P:3{]+`1+Si=Vl@UYkuy9FZ{}6d9S,wusϵ_?Bc0<|PF{TI LJdccr+ j
+*~
+
endstream
endobj
-1469 0 obj
-<< /Type /FontDescriptor /FontName /YTHZRQ+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1471 0 R /CIDSet 1470 0 R >>
+1468 0 obj
+<< /Type /FontDescriptor /FontName /XGWGCA+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1470 0 R /CIDSet 1469 0 R >>
endobj
-1472 0 obj
-<< /Filter /FlateDecode /Length 727 >>
+1471 0 obj
+<< /Filter /FlateDecode /Length 718 >>
stream
-x}Ko@Rp=!$FEj j#@-ز͂ߙ9Dh#13s<\_^Lj&?nh0XhldLij^ںXW[yeé4]7̾[|v1?__k[W?mC?"B>.IAny}hH"zWٲ%ͫҌU]o+ ]s| ҴݳݖiaI4\eh{_nN!K5´[7ELx&v@^\?JPth(S<e ֦4H@(q$2@zҠ;im):p 2@A@# #EGGʸD$O A8Մ?NɑjGAT #t
-$!SABRP(k@ʈZA5 b B92P-q$Tk"J%<d2)!t3OATP&qi"z)(x"e^I+(DȚS? YKSZwHh䏈A&D5D5n
-GS䒃8siyr@7BJ)Os(K+L(?~ũm <LK?'+kާ}S7TxeX[
+x}Ko0EvįR!$B>TnibHDIXtQg*QasN&U͇M-goN]iMMy:Z7<Y[߳)7v`׋ro^peכv_?[BvfYq8}aۥ<z}/Y,v}ݸ{r1Id]t:rV@GS89=ݮI&6~QM2z*nϮlNm{At*}>Oۣe}]z8#?Gέey r˦}-mu{L||&+7MZ8 weBl qie\Hs@Y$A9( $
+@##MGGʄB$(O"AՄ?AɑjGAT$ctJ$!SAF$RP(k@ʈĝZArB2SPpT"J<r!tsU`OCPp4"zi(x&e^Ik(3DZP? Y+w(h1䏈A!D55D n
+G3RV8WsYEc͊:xP`au~Vq'bmp*O7)* J
endstream
endobj
374 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YTHZRQ+LMMono9-Regular /DescendantFonts [ 1473 0 R ] /ToUnicode 1472 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XGWGCA+LMMono9-Regular /DescendantFonts [ 1472 0 R ] /ToUnicode 1471 0 R >>
endobj
-1473 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YTHZRQ+LMMono9-Regular /FontDescriptor 1469 0 R /W 1468 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1472 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XGWGCA+LMMono9-Regular /FontDescriptor 1468 0 R /W 1467 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1474 0 obj
+1473 0 obj
[ 28 [ 494 ] 43 [ 457 ] 50 [ 457 ] 63 [ 531 ] 66 [ 245 ] 75 [ 816 ] 77 [ 531 ] 96 [ 351 ] 98 [ 394 ] 105 [ 371 ] 116 [ 474 ] 118 [ 474 ] ]
endobj
-1476 0 obj
+1475 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`Ta`X
endstream
endobj
-1477 0 obj
+1476 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1234 >>
stream
xmLWQ`j-:OFKЉ ?c2[{A'eTY@nSadςc1Iej=b//{#@h( br,Cn|Vv)OXY+&>j4MЬĆHCdZqc1ɩ
@@ -6760,10 +6742,10 @@ xmLWQ`j-:OFKЉ ?c2[{A'eTY@nSadςc
7bdxo;ts:<0n${z;[ZhoG6z|t?J
endstream
endobj
-1475 0 obj
-<< /Type /FontDescriptor /FontName /VPHLPO+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 1477 0 R /CIDSet 1476 0 R >>
+1474 0 obj
+<< /Type /FontDescriptor /FontName /VPHLPO+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 1476 0 R /CIDSet 1475 0 R >>
endobj
-1478 0 obj
+1477 0 obj
<< /Filter /FlateDecode /Length 419 >>
stream
x}N0~âRY8)UH@+R!}ڱؑ, H3rrn{t-?1pxtV`|-k6*D9DZ#
@@ -6774,21 +6756,21 @@ u0=z0a6 4
endstream
endobj
373 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VPHLPO+LMSans9-Regular /DescendantFonts [ 1479 0 R ] /ToUnicode 1478 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VPHLPO+LMSans9-Regular /DescendantFonts [ 1478 0 R ] /ToUnicode 1477 0 R >>
endobj
-1479 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VPHLPO+LMSans9-Regular /FontDescriptor 1475 0 R /W 1474 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1478 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VPHLPO+LMSans9-Regular /FontDescriptor 1474 0 R /W 1473 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1480 0 obj
+1479 0 obj
[ 28 [ 514 ] 43 [ 457 ] 45 [ 286 ] 47 [ 571 ] 50 [ 457 ] 55 [ 314 ] 64 [ 343 ] 66 [ 286 ] 71 [ 642 286 ] 75 [ 856 ] 77 [ 571 ] 81 [ 514 ] 84 [ 571 ] 88 [ 286 ] 91 [ 542 ] 96 [ 402 ] 98 [ 405 ] 104 [ 742 400 ] 109 [ 571 ] 112 [ 542 ] 115 [ 771 542 ] 251 [ 457 ] 502 [ 286 ] ]
endobj
-1482 0 obj
+1481 0 obj
<< /Filter /FlateDecode /Length 31 >>
stream
xc```UdX8c‚#3Ѐ
endstream
endobj
-1483 0 obj
+1482 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2880 >>
stream
xڵW{TWA7cgV)bU*T(j C$Hx#o ZCA)j-]ڭ[מc'97̝/+1@0uÛWlX9{Ee,#<x<%[!S-oq
@@ -6808,10 +6790,10 @@ y›lz<A/TmζN>rwaD)E~h)xMsvŊ
+/M<LAwD:C~twZڂViuUu Ae'jT/xlX=@$Ahh5hGp]]FCX}}5Pml{jl`(]6S ΀z}˵Fy!?b j-:+ݘgCOQMeyyL.iC7uɹ,ǎ2&
endstream
endobj
-1481 0 obj
-<< /Type /FontDescriptor /FontName /WDPLWN+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 1483 0 R /CIDSet 1482 0 R >>
+1480 0 obj
+<< /Type /FontDescriptor /FontName /WDPLWN+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 1482 0 R /CIDSet 1481 0 R >>
endobj
-1484 0 obj
+1483 0 obj
<< /Filter /FlateDecode /Length 488 >>
stream
x}n0~
@@ -6821,21 +6803,21 @@ x}n0~
endstream
endobj
372 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WDPLWN+LMRoman9-Regular /DescendantFonts [ 1485 0 R ] /ToUnicode 1484 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WDPLWN+LMRoman9-Regular /DescendantFonts [ 1484 0 R ] /ToUnicode 1483 0 R >>
endobj
-1485 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WDPLWN+LMRoman9-Regular /FontDescriptor 1481 0 R /W 1480 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1484 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WDPLWN+LMRoman9-Regular /FontDescriptor 1480 0 R /W 1479 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1486 0 obj
+1485 0 obj
[ 75 [ 986 ] 95 [ 887 ] 98 [ 467 ] 109 [ 657 ] 251 [ 543 ] ]
endobj
-1488 0 obj
+1487 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xc`Ft
endstream
endobj
-1489 0 obj
+1488 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1088 >>
stream
xڅTmLSWJ/wQ*ҋhA]@Eatc&vFRt{k%JAriP HcKh4MLlfes&\9ĬY%K&=<oL82yE_R5m{8)I@JIZJäDGIL,C)dMRAdZg_=dF$;H
@@ -6846,10 +6828,10 @@ W-`glZzPV':x`vpN;Y,<pqF5 8m&]Y
y{{`,$(׍u^FfHJU}lķZ9z__njM OH(rCm?'`UYdH&r$}._W_w.Izt#_aT
endstream
endobj
-1487 0 obj
-<< /Type /FontDescriptor /FontName /TZPLIV+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 1489 0 R /CIDSet 1488 0 R >>
+1486 0 obj
+<< /Type /FontDescriptor /FontName /TZPLIV+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 1488 0 R /CIDSet 1487 0 R >>
endobj
-1490 0 obj
+1489 0 obj
<< /Filter /FlateDecode /Length 381 >>
stream
x}R]@}_q!sa/*b7:#>wf̂EVP<s\N'WW}
@@ -6858,22 +6840,22 @@ G,TzmNgX,wyS8hNXBw-#)ʞGF.Mȗľg߇Mt6ۣb9*(S
endstream
endobj
371 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZPLIV+LMRoman9-Bold /DescendantFonts [ 1491 0 R ] /ToUnicode 1490 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZPLIV+LMRoman9-Bold /DescendantFonts [ 1490 0 R ] /ToUnicode 1489 0 R >>
endobj
-1491 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZPLIV+LMRoman9-Bold /FontDescriptor 1487 0 R /W 1486 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1490 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZPLIV+LMRoman9-Bold /FontDescriptor 1486 0 R /W 1485 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1492 0 obj
+1491 0 obj
[ 28 [ 515 ] 33 [ 515 ] 47 [ 515 ] 55 [ 515 ] 59 [ 515 ] 66 [ 515 ] 77 [ 515 ] 81 [ 515 ] 84 [ 515 ] 88 [ 515 ] 96 [ 515 ] 105 [ 515 ] 114 [ 515 ] 118 [ 515 ] ]
endobj
-1494 0 obj
+1493 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``p`dP`hhpP
D)
endstream
endobj
-1495 0 obj
+1494 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1845 >>
stream
xuV}TW!@5ʚiZ3K- _EAE%1LBD<u
@@ -6888,80 +6870,77 @@ oRWɧ<| ƠP"{nPq%e}Gܮ(WȗN)QuoYUO&Pn^
g48ԂE>*`zK@E%1άxh@,+&p_(N(/?=u0ݕLDB0O>`R Fon0km(V׮Җ ֐F"3DgϷ^?@%xSEV!6¶M:GӞ`x#qNf4e'_%#l|ZQuJeq?HR@8(fu\o!du8iw6s;YpoۚiPH&Ng y[j;rgRsJcOt~w@[fk9RM
endstream
endobj
-1493 0 obj
-<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 1495 0 R /CIDSet 1494 0 R >>
+1492 0 obj
+<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 1494 0 R /CIDSet 1493 0 R >>
endobj
-1496 0 obj
+1495 0 obj
<< /Filter /FlateDecode /Length 428 >>
stream
x}]O0+`Dpf!q%Df,[֞&%.m{&F%pk z:=A[2,5P3
endstream
endobj
370 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 1497 0 R ] /ToUnicode 1496 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 1496 0 R ] /ToUnicode 1495 0 R >>
endobj
-1497 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 1493 0 R /W 1492 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1496 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 1492 0 R /W 1491 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1498 0 obj
-[ 28 [ 490 ] 35 [ 544 ] 43 [ 435 ] 47 [ 544 ] 50 [ 435 ] 54 [ 639 299 ] 57 [ 490 ] 59 [ 490 ] 63 [ 544 ] 66 [ 272 ] 68 [ 299 ] 75 [ 816 ] 77 [ 544 490 ] 81 [ 490 ] 83 [ 666 544 ] 88 [ 272 ] 96 [ 381 ] 98 [ 386 ] 105 [ 381 ] 107 [ 490 ] 109 [ 544 ] 116 [ 517 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 257 [ 435 ] ]
+1497 0 obj
+[ 28 [ 490 ] 35 [ 544 ] 43 [ 435 ] 47 [ 544 ] 50 [ 435 ] 54 [ 639 299 ] 57 [ 490 ] 59 [ 490 ] 63 [ 544 ] 66 [ 272 ] 75 [ 816 ] 77 [ 544 ] 81 [ 490 ] 83 [ 666 544 ] 88 [ 272 ] 96 [ 381 ] 98 [ 386 ] 105 [ 381 ] 107 [ 490 ] 109 [ 544 ] 116 [ 517 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 257 [ 435 ] 575 [ 544 ] ]
endobj
-1500 0 obj
-<< /Filter /FlateDecode /Length 31 >>
+1499 0 obj
+<< /Filter /FlateDecode /Length 35 >>
stream
-xc``ThX
+xc``TThX
endstream
endobj
-1501 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3502 >>
-stream
-xڭX \wؙ͘ZGj[-`=QrHBŸ}k
-^BW ewg{.~M@x D CySxb.[ eR*V.^pq4O)PRF([!Jw5VR!D$DKP.V-SrR' UKuJU;d ,JUDTRML>lGtR)2Tɤ1M
-VT5jg|m 6dZ?MFTId !JUbD(elcLդ!6y#eH
-Xc }ms 8/wpOdg?WVwZH׌=X20%0A1,?t*"X7K
-=ԓo\h }RчPB*l0FdPn",9:u8Duv` QJQFG]>gɒP]XU@ц%!+.pŗg.fFhKop;+؉~bvڿͅ8zWPţq \``dv~Fכ(aQ:`G~3b̅FNuXu(ļ@^Kb1Hn"E*=T[}OYZGxF%Ui;@5}f>Xi^qɜg&7h"9-p5倭(6
-'wO-5Vlel҇5gw|&)0{Q(ћ
-@d
-h[FOr-D6TPyHK|!g|' /Nhq2?A|
-Ɛ·u'{fcխmdӮ`)i2J*d™PEܽfSW|;}%\LaK1 2Vn/qJv$ D'Dc
-<tAo]3E;Z+6dh(<$}.[H|LAx>W(i}d>ew@k!{ENv+KmJSBl M\~A`nhts`K׮Ywl/-yr^8 :.3jkK) .3=>گ9nMT]c6}PҪv)ڤdag7aZ;v,rs|&vIޛ fH4V5;p˝nW5Uzz`W}Maǯ5Qzy6㒱ZJ߈A҇y7t&{!M?{^-(<uW{^(3pT]%ytvE}5xCY{wP2sgqܕHNHOr6+gD2$@6Ip9G6Kl7Ӄeze>FN㸸uq(=+b(wN
-I ؒܫܟ*#m
-* Gl9e OE5SmAp4|sL`=><;,Awb▟1(Q`n`|c?~HX!@l|p`;i_%aFd_p~yK;\szQυEvW&(j:RάoqMkpt7[z=mqW|< i8U
-Fؘnv9[N2sCocLҚrp?5,|!F/b9:!限,B{UnŤ)?#7 W ffeU
-\lv>LJ &kϮ mIE6黐W`!MEeQJM1!4`7@LW ծ<s:Q'ghA%v}%Aa
-5fsD"lvASCt-D_[8lmoIu(͠1xze{VoLl@PnfD=gJ+OG+Ƞ\. _3H3
-S<t Ƒ Y爺v@h PVag }i@+9YؙfiWSjĠ9tvF Xd^cjlCܼŹexiVv$bg%vÜDW`1o5&0,q 첀]FGkqoT*s.n2e$>m89ua(h& nbb&#L+ X1}\IóyFUDfQke
-fV
-7)r> q;G<d, 9Cl[x#R>,s #y⫳TM˃+jq"~R){`c||fJ^;v躢Yjs&P'ʳrUoŒz]qFISgXІr]%jZ׌Wj3z@$*jvpz"^_דP0\$*7z"ÔϷeS4ÌMZ JmzUiZUdGӱNam8i/r#ԋ+x#Ydꭄ/C=5/o}=cލ].=F>H`*Cx#ozċSLP-TV;{2=ixqOiqlXK0=?3\L
+1500 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3310 >>
+stream
+xڭW Xg ͐LܵzVmm+T
+zA@B@ \HBBBu
+"Ok?=3=}s! y2?0eZ*I. \}}I/ ݟԩxit4B&IW*qؔ2A))ժe*TRj IjNJr*Y,V-j2T(FmnP*42Z&J24QI[*y@Fd:߆#"7ؾ_&(Ux&6)E@~#BJMYm)4I,; ?G#2d%
+y y Bd+Dv"1H$#@3<G 3wExq C|-X# o k/_8kӖM?pGfθO}0rD'>wa͌ⷒmj^70Ȟh>0C:$Ա3A%Rj?- Z^{wwyr:wˏQ'da]q}g,B<olfaҠs\ X"SS$GQ& A@߯.EMw}c>*L))oQA'(oamKk=A]Hʇ7 }k|f.)
+ggqR[, /Ko;+yIeO1YɃs>.8sC`C,1jGJ!N!tTs}-{VQ.h
+Wa "<+I@3^4l 77bQ9{+Qϑ׫g?E T uht
+h^Sͅdq*_kl9-6[+a"iF8K>_ ݨTM% D#Sr11;S!%GM-bfu¨ vBS1
+M*`8ztjzŞ$b=U
+(&HplK
+F>xe>S(煈sۓAW6XV\1@1(v6^M!GusD(0Yۙ.CЦ]VFZJWN[ _}=>rd/LTC!(@ ?/9O}ct1t<N>x@% "{<a1i_@1T#I[{3eDBmXA,t v$wDz; <i
+=Q{B.43mpql['?,GM{ FUmYvz kR imt3({kO\'|\LaCT)tUj[fKI\dݩJ͞/I:cV*2 Rb4X(VbaOdu):9j (-'M9i`knnleevh> N#IFאM`;xȫO*pv+*Lm~ٖRL3" ?Q)8PҦsJ<F{ВR Š0,fڊ2gYQ,6ўD<:7z/\Y4 ׉i]p {uH4D
+60G8`Za|q`Hb>c,WW_#oqF<|+`+$ilE{"[nƐ}K782B_8lot(͠|1rjܺnLl@Pn`D'?A2(;i>Cѕ^{ywOA2]ndzP[DSPtKQVJр2Xs#ң؟µtsU=c Xj`j|CܼՇš*UFr+U;AؽÜ椠' KWbJE\[qY@CōVVU]@~|TФBdI+}LaXqf븂;:&fδBnG5,<\Tl$c+|VPp,4}M" E) \8o0ffɢL;@oy/ޚِEbFhSp-FptxC㰚SHxM2Q| q"S@)Í[X_Tܷ @}s4w(T/ zdg&avˤ [WKզax%/f0:1T8z.4sj:U]=ۂV-uKMx1Gכ dbzRa1# x]qSFV^Ob3#[pykRgbڠSnؖOOo1fTm5Qj/\j#{ۏtqpFFlj>{A?:({E:Jت6B~\A5Ӄ.{$]®lCn
endstream
endobj
-1499 0 obj
-<< /Type /FontDescriptor /FontName /DKYOVH+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 1501 0 R /CIDSet 1500 0 R >>
+1498 0 obj
+<< /Type /FontDescriptor /FontName /LUWVAH+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 1500 0 R /CIDSet 1499 0 R >>
endobj
-1502 0 obj
-<< /Filter /FlateDecode /Length 502 >>
+1501 0 obj
+<< /Filter /FlateDecode /Length 498 >>
stream
-xڅOo0=8 $BEۖ
-P{ F"N$~N+-(?fx2~:=rTN5`U]I}#$hUevE2v'-Rȯs駿kyWe&ӥfXWL^YRMQg<rk)Uil3Fs!rnx"o߼2Ň[RʛH\4YhB^ItJ^2AgFf[E{;&Z`95u䅼Ol?GR:: }()#,q
-#PZ"4 (4A b"W4|4vS4hZ8u
+xڅMo0=qHh"-Rlk#'98ZH<;3ؓя}arOZ
+sZU} {hH޴БjJVVàh g!%3|>=T]ʘ;8RԦDw1( [a
+n$?6Tml%`$$-9ZAUV9-[yR|N"Y:wA9h!d|ˤ5Dh6R@"{[n<õhRڦ@ ɼ0<
+!MRG)ØG53$_shk> yiq4
+$t=HG#y)Ηb Kg>Sx%vpw@ΞOݗ
+c6z2r7b/nTfs{!$|mxTKEa*0
endstream
endobj
369 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /DKYOVH+LMRoman12-Regular /DescendantFonts [ 1503 0 R ] /ToUnicode 1502 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /LUWVAH+LMRoman12-Regular /DescendantFonts [ 1502 0 R ] /ToUnicode 1501 0 R >>
endobj
-1503 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /DKYOVH+LMRoman12-Regular /FontDescriptor 1499 0 R /W 1498 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1502 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /LUWVAH+LMRoman12-Regular /FontDescriptor 1498 0 R /W 1497 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1504 0 obj
+1503 0 obj
[ 28 [ 451 ] 43 [ 418 ] 50 [ 418 ] 66 [ 223 ] 75 [ 745 ] 77 [ 484 ] 96 [ 320 ] 105 [ 340 ] 116 [ 432 ] ]
endobj
-1506 0 obj
+1505 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`Pa`hp
endstream
endobj
-1507 0 obj
+1506 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1024 >>
stream
xuS}LEnY>G[tao(EQ&r irq[]zZ"[%+56m ^(H$!%1?gw1&{&Kz@DVCU弪zOHVhAʕJnfl
@@ -6971,10 +6950,10 @@ xuS}LEnY>G[tao(EQ&r irq[]zZ"[%+56m ^(
CoV< }>q%N鉴4=Z^d
endstream
endobj
-1505 0 obj
-<< /Type /FontDescriptor /FontName /YLODNZ+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 1507 0 R /CIDSet 1506 0 R >>
+1504 0 obj
+<< /Type /FontDescriptor /FontName /YLODNZ+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 1506 0 R /CIDSet 1505 0 R >>
endobj
-1508 0 obj
+1507 0 obj
<< /Filter /FlateDecode /Length 404 >>
stream
x}]K0+6s2
@@ -6983,21 +6962,21 @@ nU(MKf`MJ^ߛv8 xzޓyK<p`|Mkj`*֖(5"GW{xъp
endstream
endobj
368 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YLODNZ+LMSans17-Regular /DescendantFonts [ 1509 0 R ] /ToUnicode 1508 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YLODNZ+LMSans17-Regular /DescendantFonts [ 1508 0 R ] /ToUnicode 1507 0 R >>
endobj
-1509 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YLODNZ+LMSans17-Regular /FontDescriptor 1505 0 R /W 1504 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1508 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YLODNZ+LMSans17-Regular /FontDescriptor 1504 0 R /W 1503 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1510 0 obj
+1509 0 obj
[ 28 [ 459 ] 46 [ 707 ] 50 [ 406 ] 66 [ 250 ] 68 [ 276 ] 71 [ 576 250 ] 77 [ 511 ] 81 [ 459 ] 91 [ 485 ] 96 [ 354 ] 98 [ 359 ] 105 [ 354 ] 108 [ 693 511 ] 116 [ 485 ] 126 [ 499 ] 277 [ 406 ] 502 [ 250 ] ]
endobj
-1512 0 obj
+1511 0 obj
<< /Filter /FlateDecode /Length 31 >>
stream
xc````R`lqXĀXp&
endstream
endobj
-1513 0 obj
+1512 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2260 >>
stream
xڭ{TWgcDwFV h TD"Ay Q$$@ (b0(⫂RhmS[k]V[{=w V;ܹ}8&c8KHIX>wj\
@@ -7015,22 +6994,22 @@ M.Y9b+8xZ3b䕋>Ec%2 ypKzCWˣB} , ñ1~0<W
?lV!C/Kt1!<vnN.<5^+_
endstream
endobj
-1511 0 obj
-<< /Type /FontDescriptor /FontName /LNWNPA+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 1513 0 R /CIDSet 1512 0 R >>
+1510 0 obj
+<< /Type /FontDescriptor /FontName /LNWNPA+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 1512 0 R /CIDSet 1511 0 R >>
endobj
-1514 0 obj
+1513 0 obj
<< /Filter /FlateDecode /Length 460 >>
stream
xڅn0<)=Pl@SEH)I$6+'YKFy=JF_C䑒=43hyWj
endstream
endobj
367 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /LNWNPA+LMRoman17-Regular /DescendantFonts [ 1515 0 R ] /ToUnicode 1514 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /LNWNPA+LMRoman17-Regular /DescendantFonts [ 1514 0 R ] /ToUnicode 1513 0 R >>
endobj
-1515 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /LNWNPA+LMRoman17-Regular /FontDescriptor 1511 0 R /W 1510 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1514 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /LNWNPA+LMRoman17-Regular /FontDescriptor 1510 0 R /W 1509 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1517 0 obj
+1516 0 obj
<< /Length1 1484 /Length2 8131 /Length3 0 /Filter /FlateDecode /Length 9124 >>
stream
xڍTm6NHt,) ] .²tJH#]J4" HwwS9w3sM\LtZ2`Di
@@ -7072,10 +7051,10 @@ Mt%ŕTMHtwX:n҅O| ҙi,l59k#E~L.pz/'w/
*2;nYK/G-^䙗;%{F!zd[
endstream
endobj
-1516 0 obj
-<< /Type /FontDescriptor /FontName /XEMCLW+CMBX10 /Flags 4 /FontBBox [ -56 -250 1164 750 ] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /a /b /c /d /one /three /two) /FontFile 1517 0 R >>
+1515 0 obj
+<< /Type /FontDescriptor /FontName /XEMCLW+CMBX10 /Flags 4 /FontBBox [ -56 -250 1164 750 ] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /a /b /c /d /one /three /two) /FontFile 1516 0 R >>
endobj
-1519 0 obj
+1518 0 obj
<< /Length1 2319 /Length2 9802 /Length3 0 /Filter /FlateDecode /Length 11051 >>
stream
xڍTZ6Lt# 1t*]Jw
@@ -7127,10 +7106,10 @@ l1(fP@weKg}PYۈE[n(#3%[$Bf~΍Nd\zmM0 Y],9Ca0- ub
3H vrH
endstream
endobj
-1518 0 obj
-<< /Type /FontDescriptor /FontName /CFYTDH+CMEX10 /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 47 /XHeight 431 /CharSet( /arrowbt /arrowtp /arrowvertex /braceex /bracehtipdownleft /bracehtipdownright /bracehtipupleft /bracehtipupright /braceleftbigg /braceleftbt /bracelefttp /bracerightbigg /bracerightbt /bracerighttp /bracketleftBig /bracketleftbigg /bracketleftbt /bracketleftex /bracketlefttp /bracketrightBig /bracketrightbigg /bracketrightbt /bracketrightex /bracketrighttp /integraldisplay /parenleftBigg /parenleftbigg /parenleftbt /parenleftex /parenlefttp /parenrightBigg /parenrightbigg /parenrightbt /parenrightex /parenrighttp /vextendsingle) /FontFile 1519 0 R >>
+1517 0 obj
+<< /Type /FontDescriptor /FontName /CFYTDH+CMEX10 /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 47 /XHeight 431 /CharSet( /arrowbt /arrowtp /arrowvertex /braceex /bracehtipdownleft /bracehtipdownright /bracehtipupleft /bracehtipupright /braceleftbigg /braceleftbt /bracelefttp /bracerightbigg /bracerightbt /bracerighttp /bracketleftBig /bracketleftbigg /bracketleftbt /bracketleftex /bracketlefttp /bracketrightBig /bracketrightbigg /bracketrightbt /bracketrightex /bracketrighttp /integraldisplay /parenleftBigg /parenleftbigg /parenleftbt /parenleftex /parenlefttp /parenrightBigg /parenrightbigg /parenrightbt /parenrightex /parenrighttp /vextendsingle) /FontFile 1518 0 R >>
endobj
-1521 0 obj
+1520 0 obj
<< /Length1 1396 /Length2 5867 /Length3 0 /Filter /FlateDecode /Length 6812 >>
stream
xڍTTTk&FPAf@II)!f`:% @B$$DSCR@R@i$;9޵]֞=<]@P"T( X$ TV1
@@ -7163,10 +7142,10 @@ mNվ˘jB5̞cvqc~O\Y)O
ݟ~wb@ ݤmπnsA6&wSlYD]+"@?|9mo]fjǾ{sŸܦ}}rIRBR+譜yScC>gamʁt!eU p/k UQSb3Z Wзo.uY&h) @X`0rEC:s,17v TN
endstream
endobj
-1520 0 obj
-<< /Type /FontDescriptor /FontName /VMQSYC+CMEX7 /Flags 4 /FontBBox [ -12 -2951 1627 770 ] /Ascent 49 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 80 /XHeight 431 /CharSet( /radicalbig) /FontFile 1521 0 R >>
+1519 0 obj
+<< /Type /FontDescriptor /FontName /VMQSYC+CMEX7 /Flags 4 /FontBBox [ -12 -2951 1627 770 ] /Ascent 49 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 80 /XHeight 431 /CharSet( /radicalbig) /FontFile 1520 0 R >>
endobj
-1523 0 obj
+1522 0 obj
<< /Length1 1830 /Length2 11276 /Length3 0 /Filter /FlateDecode /Length 12424 >>
stream
xڍT[-kqS'-- @ )V-VSHhq>zsɞ׷;&9,q
@@ -7209,10 +7188,10 @@ t둭Jc_WP5jbep/wUd22>3}֟Bn9MmGvX-i1@?BDVlt[~_
|UƶO3n0&hWA:fBh;2bVF:u(o7Ȕ?xs4ŹNgX%%F}J34G_1˵-{
endstream
endobj
-1522 0 obj
-<< /Type /FontDescriptor /FontName /CEORQM+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /A /B /C /D /I /L /a /b /c /comma /d /e /f /h /i /j /k /l /m /n /p /period /r /triangleright /u /x /y /z) /FontFile 1523 0 R >>
+1521 0 obj
+<< /Type /FontDescriptor /FontName /CEORQM+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /A /B /C /D /I /L /a /b /c /comma /d /e /f /h /i /j /k /l /m /n /p /period /r /triangleright /u /x /y /z) /FontFile 1522 0 R >>
endobj
-1525 0 obj
+1524 0 obj
<< /Length1 1415 /Length2 6063 /Length3 0 /Filter /FlateDecode /Length 7021 >>
stream
xڍuTk-Xh
@@ -7242,10 +7221,10 @@ OB+F|72{ .2xcZrL_7-_5Km-܁CEMXo]Y1nfɫt/
bUyLq@jƚm#<՗aVY G<^P4~0-)gV2+ \]"X,p aqה-TW'qY'D#_Ē_w"9FuKK
endstream
endobj
-1524 0 obj
-<< /Type /FontDescriptor /FontName /JZMBET+CMMI12 /Flags 4 /FontBBox [ -31 -250 1026 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /A) /FontFile 1525 0 R >>
+1523 0 obj
+<< /Type /FontDescriptor /FontName /JZMBET+CMMI12 /Flags 4 /FontBBox [ -31 -250 1026 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /A) /FontFile 1524 0 R >>
endobj
-1527 0 obj
+1526 0 obj
<< /Length1 1451 /Length2 6812 /Length3 0 /Filter /FlateDecode /Length 7785 >>
stream
xڍtTk.)]D`A!ASIiICFwZY羞^Fzm=N[5XspEr*
@@ -7279,10 +7258,10 @@ y[f!i;7W%mIJ ﭓ71v(oT(}6u4/^%O8Ϩu(6g
a e|L1iR]ez[
endstream
endobj
-1526 0 obj
-<< /Type /FontDescriptor /FontName /IUHNPC+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /L /i /j /n) /FontFile 1527 0 R >>
+1525 0 obj
+<< /Type /FontDescriptor /FontName /IUHNPC+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /L /i /j /n) /FontFile 1526 0 R >>
endobj
-1529 0 obj
+1528 0 obj
<< /Length1 1589 /Length2 8523 /Length3 0 /Filter /FlateDecode /Length 9572 >>
stream
xڍTT.LCH "! 0PC!%)-!!%%ֺwZgγ}}jb&6FiPPx`c`accGաp+ȟft&jW= Iq
@@ -7326,10 +7305,10 @@ Sziq`Rky5zX-
_G)JxУ<g|eBy"7t*<
endstream
endobj
-1528 0 obj
-<< /Type /FontDescriptor /FontName /WUDPRN+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /C /L /T /comma /e /i /j /k /n /p /q /star /x) /FontFile 1529 0 R >>
+1527 0 obj
+<< /Type /FontDescriptor /FontName /WUDPRN+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /C /L /T /comma /e /i /j /k /n /p /q /star /x) /FontFile 1528 0 R >>
endobj
-1531 0 obj
+1530 0 obj
<< /Length1 1438 /Length2 6548 /Length3 0 /Filter /FlateDecode /Length 7523 >>
stream
xڍt4kׯ"ZD0zF5`0!z[H$DDoD#Ir{޻ֽkϳ=6f]>y{-LA
@@ -7366,10 +7345,10 @@ wt/ְj@884}?em\9P?{6jx)*NaqIuoŀ31&
*INS+$3z t$x g6./)~s_2oϒlAS"F!XzP%i3UsLWsOLۈklm܏f(]zj Y2
endstream
endobj
-1530 0 obj
-<< /Type /FontDescriptor /FontName /TEYYDJ+CMMI8 /Flags 4 /FontBBox [ -24 -250 1110 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 78 /XHeight 431 /CharSet( /i /j /n) /FontFile 1531 0 R >>
+1529 0 obj
+<< /Type /FontDescriptor /FontName /TEYYDJ+CMMI8 /Flags 4 /FontBBox [ -24 -250 1110 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 78 /XHeight 431 /CharSet( /i /j /n) /FontFile 1530 0 R >>
endobj
-1533 0 obj
+1532 0 obj
<< /Length1 1744 /Length2 11235 /Length3 0 /Filter /FlateDecode /Length 12356 >>
stream
xڍP.k;wwwwwg!0 w@pBpw
@@ -7416,10 +7395,10 @@ ttoΎфtč!e웩I]8NG'
o獧{{m1` 8>`9X;;FVqvt$3CY(n3@}"ZWkgcQ͞*EkFY<lc ?v0.+Q2SbMXw`Pi.zN o| Ի)n9`VOi{40ơ
endstream
endobj
-1532 0 obj
-<< /Type /FontDescriptor /FontName /IHIWXH+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleft /bracketright /c /eight /equal /five /four /i /n /nine /o /one /parenleft /parenright /plus /s /seven /six /three /two /zero) /FontFile 1533 0 R >>
+1531 0 obj
+<< /Type /FontDescriptor /FontName /IHIWXH+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleft /bracketright /c /eight /equal /five /four /i /n /nine /o /one /parenleft /parenright /plus /s /seven /six /three /two /zero) /FontFile 1532 0 R >>
endobj
-1535 0 obj
+1534 0 obj
<< /Length1 1447 /Length2 6556 /Length3 0 /Filter /FlateDecode /Length 7538 >>
stream
xڍVT\%Kph%CbfI%iP@@$nQJ.7zoZ3{kؙu a '<
@@ -7454,10 +7433,10 @@ eO:[1bo_9ͣh[puK}ks 7\GU0Ǟ6Г?ﱿWy$4kw}zK
2h&ji/,
endstream
endobj
-1534 0 obj
-<< /Type /FontDescriptor /FontName /CPMJUS+CMR5 /Flags 4 /FontBBox [ -10 -250 1304 750 ] /Ascent 694 /CapHeight 680 /Descent -194 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /four /one /plus /three /two) /FontFile 1535 0 R >>
+1533 0 obj
+<< /Type /FontDescriptor /FontName /CPMJUS+CMR5 /Flags 4 /FontBBox [ -10 -250 1304 750 ] /Ascent 694 /CapHeight 680 /Descent -194 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /four /one /plus /three /two) /FontFile 1534 0 R >>
endobj
-1537 0 obj
+1536 0 obj
<< /Length1 1595 /Length2 7817 /Length3 0 /Filter /FlateDecode /Length 8871 >>
stream
xڍT6t
@@ -7495,10 +7474,10 @@ Y<Qj8e^z 7r-\
.+g!~ŜI #PAiМ'WXϟf'_}xbK$yv[IoRʢTYiGU$ݡsZ,U+hQ
endstream
endobj
-1536 0 obj
-<< /Type /FontDescriptor /FontName /IZMGNT+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /parenleft /parenright /plus /seven /six /three /two /zero) /FontFile 1537 0 R >>
+1535 0 obj
+<< /Type /FontDescriptor /FontName /IZMGNT+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /parenleft /parenright /plus /seven /six /three /two /zero) /FontFile 1536 0 R >>
endobj
-1539 0 obj
+1538 0 obj
<< /Length1 1500 /Length2 6516 /Length3 0 /Filter /FlateDecode /Length 7522 >>
stream
xڍxTڲ6"J5 &*IMj $ґ ޕ*IU@tAs=zoe${f+@PU$
@@ -7541,10 +7520,10 @@ BH'渆m|{m/{.xoH2nE -.w}y'*7.^WeNߚFsU%ϏS
;J!ujE%msCzzFeq0x~ǠAJ/]j z8{FqKeI*1HoA(N{&dY __޴T'EQz
endstream
endobj
-1538 0 obj
-<< /Type /FontDescriptor /FontName /VGMPAA+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /angbracketleft /angbracketright /arrowleft /minus /multiply) /FontFile 1539 0 R >>
+1537 0 obj
+<< /Type /FontDescriptor /FontName /VGMPAA+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /angbracketleft /angbracketright /arrowleft /minus /multiply) /FontFile 1538 0 R >>
endobj
-1541 0 obj
+1540 0 obj
<< /Length1 1414 /Length2 6167 /Length3 0 /Filter /FlateDecode /Length 7134 >>
stream
xڍvTTk6(HK7FBADjc`bP:A@:SBRZ@:T@ios5kus=uy8!Jp-BeCS
@@ -7575,10 +7554,10 @@ n<Ȧ
.7z ^XEi[S<p15*;Aջ<d*+w]`ӷ3I4e:dz펢4)AwTiw||/KKj-Tf bS(Tq#z%I`uk9K^e[ZwʣzI|U|˄&eVJ6Sgߪa^4ǵ+ wN\EVةzew`wؓ/:71ἠP@᣸Ft7^HXfM[vU:x'?ibi ZM}&Od@9fcHMFKlpUe]:AE)(xȘkmD@~ F0ANǞEiXQRm9l%i;mFo1j 1^{WG 7HO ]ȉ")UjzlL?o
endstream
endobj
-1540 0 obj
-<< /Type /FontDescriptor /FontName /UZBPXA+CMSY5 /Flags 4 /FontBBox [ 21 -944 1448 791 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /arrowleft /minus) /FontFile 1541 0 R >>
+1539 0 obj
+<< /Type /FontDescriptor /FontName /UZBPXA+CMSY5 /Flags 4 /FontBBox [ 21 -944 1448 791 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /arrowleft /minus) /FontFile 1540 0 R >>
endobj
-1543 0 obj
+1542 0 obj
<< /Length1 1435 /Length2 6179 /Length3 0 /Filter /FlateDecode /Length 7153 >>
stream
xڍtT[.(0 ! ҂030 ݍ%* R-Hw7"|ugYxeP%
@@ -7607,83 +7586,83 @@ d"`tUe>!%_lkhCgKOnW~yң@᪘+>1#1VGp.ArrfSb
;jjIZxٱ1INzfݪy1M3"}~]\耆n>s5RQܶ nzp~Fqkqܲ='8~*}
endstream
endobj
-1542 0 obj
-<< /Type /FontDescriptor /FontName /QYJPQA+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /arrowleft /arrowup /minus) /FontFile 1543 0 R >>
+1541 0 obj
+<< /Type /FontDescriptor /FontName /QYJPQA+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /arrowleft /arrowup /minus) /FontFile 1542 0 R >>
endobj
758 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /XEMCLW+CMBX10 /FontDescriptor 1516 0 R /FirstChar 49 /LastChar 100 /Widths 1340 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /XEMCLW+CMBX10 /FontDescriptor 1515 0 R /FirstChar 49 /LastChar 100 /Widths 1339 0 R >>
endobj
375 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CFYTDH+CMEX10 /FontDescriptor 1518 0 R /FirstChar 12 /LastChar 125 /Widths 1467 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /CFYTDH+CMEX10 /FontDescriptor 1517 0 R /FirstChar 12 /LastChar 125 /Widths 1466 0 R >>
endobj
410 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /VMQSYC+CMEX7 /FontDescriptor 1520 0 R /FirstChar 112 /LastChar 112 /Widths 1375 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /VMQSYC+CMEX7 /FontDescriptor 1519 0 R /FirstChar 112 /LastChar 112 /Widths 1374 0 R >>
endobj
379 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CEORQM+CMMI10 /FontDescriptor 1522 0 R /FirstChar 46 /LastChar 122 /Widths 1463 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /CEORQM+CMMI10 /FontDescriptor 1521 0 R /FirstChar 46 /LastChar 122 /Widths 1462 0 R >>
endobj
423 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JZMBET+CMMI12 /FontDescriptor 1524 0 R /FirstChar 65 /LastChar 65 /Widths 1374 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /JZMBET+CMMI12 /FontDescriptor 1523 0 R /FirstChar 65 /LastChar 65 /Widths 1373 0 R >>
endobj
378 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IUHNPC+CMMI5 /FontDescriptor 1526 0 R /FirstChar 76 /LastChar 110 /Widths 1464 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /IUHNPC+CMMI5 /FontDescriptor 1525 0 R /FirstChar 76 /LastChar 110 /Widths 1463 0 R >>
endobj
376 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /WUDPRN+CMMI7 /FontDescriptor 1528 0 R /FirstChar 59 /LastChar 120 /Widths 1466 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /WUDPRN+CMMI7 /FontDescriptor 1527 0 R /FirstChar 59 /LastChar 120 /Widths 1465 0 R >>
endobj
488 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /TEYYDJ+CMMI8 /FontDescriptor 1530 0 R /FirstChar 105 /LastChar 110 /Widths 1361 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /TEYYDJ+CMMI8 /FontDescriptor 1529 0 R /FirstChar 105 /LastChar 110 /Widths 1360 0 R >>
endobj
382 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IHIWXH+CMR10 /FontDescriptor 1532 0 R /FirstChar 40 /LastChar 115 /Widths 1455 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /IHIWXH+CMR10 /FontDescriptor 1531 0 R /FirstChar 40 /LastChar 115 /Widths 1454 0 R >>
endobj
377 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CPMJUS+CMR5 /FontDescriptor 1534 0 R /FirstChar 43 /LastChar 52 /Widths 1465 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /CPMJUS+CMR5 /FontDescriptor 1533 0 R /FirstChar 43 /LastChar 52 /Widths 1464 0 R >>
endobj
380 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IZMGNT+CMR7 /FontDescriptor 1536 0 R /FirstChar 40 /LastChar 57 /Widths 1462 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /IZMGNT+CMR7 /FontDescriptor 1535 0 R /FirstChar 40 /LastChar 57 /Widths 1461 0 R >>
endobj
404 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /VGMPAA+CMSY10 /FontDescriptor 1538 0 R /FirstChar 0 /LastChar 105 /Widths 1376 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /VGMPAA+CMSY10 /FontDescriptor 1537 0 R /FirstChar 0 /LastChar 105 /Widths 1375 0 R >>
endobj
747 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /UZBPXA+CMSY5 /FontDescriptor 1540 0 R /FirstChar 0 /LastChar 32 /Widths 1341 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /UZBPXA+CMSY5 /FontDescriptor 1539 0 R /FirstChar 0 /LastChar 32 /Widths 1340 0 R >>
endobj
646 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /QYJPQA+CMSY7 /FontDescriptor 1542 0 R /FirstChar 0 /LastChar 34 /Widths 1348 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /QYJPQA+CMSY7 /FontDescriptor 1541 0 R /FirstChar 0 /LastChar 34 /Widths 1347 0 R >>
endobj
394 0 obj
-<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 361 0 R 399 0 R 407 0 R 420 0 R 435 0 R 448 0 R 453 0 R 457 0 R 461 0 R 468 0 R ] >>
+<< /Type /Pages /Parent 1543 0 R /Count 10 /Kids [ 361 0 R 399 0 R 407 0 R 420 0 R 435 0 R 448 0 R 453 0 R 457 0 R 461 0 R 468 0 R ] >>
endobj
479 0 obj
-<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 475 0 R 485 0 R 497 0 R 504 0 R 509 0 R 514 0 R 520 0 R 529 0 R 535 0 R 541 0 R ] >>
+<< /Type /Pages /Parent 1543 0 R /Count 10 /Kids [ 475 0 R 485 0 R 497 0 R 504 0 R 509 0 R 514 0 R 520 0 R 529 0 R 535 0 R 541 0 R ] >>
endobj
550 0 obj
-<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 547 0 R 554 0 R 560 0 R 567 0 R 573 0 R 581 0 R 589 0 R 599 0 R 606 0 R 611 0 R ] >>
+<< /Type /Pages /Parent 1543 0 R /Count 10 /Kids [ 547 0 R 554 0 R 560 0 R 567 0 R 573 0 R 581 0 R 589 0 R 599 0 R 606 0 R 611 0 R ] >>
endobj
619 0 obj
-<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 616 0 R 624 0 R 631 0 R 643 0 R 652 0 R 659 0 R 667 0 R 673 0 R 682 0 R 691 0 R ] >>
+<< /Type /Pages /Parent 1543 0 R /Count 10 /Kids [ 616 0 R 624 0 R 631 0 R 643 0 R 652 0 R 659 0 R 667 0 R 673 0 R 680 0 R 691 0 R ] >>
endobj
707 0 obj
-<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 699 0 R 710 0 R 724 0 R 734 0 R 739 0 R 744 0 R 755 0 R 764 0 R 773 0 R 781 0 R ] >>
+<< /Type /Pages /Parent 1543 0 R /Count 10 /Kids [ 699 0 R 710 0 R 724 0 R 734 0 R 739 0 R 744 0 R 755 0 R 764 0 R 773 0 R 781 0 R ] >>
endobj
791 0 obj
-<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 788 0 R 795 0 R 801 0 R 808 0 R 816 0 R 825 0 R 840 0 R 847 0 R 852 0 R 860 0 R ] >>
+<< /Type /Pages /Parent 1543 0 R /Count 10 /Kids [ 788 0 R 795 0 R 801 0 R 808 0 R 816 0 R 825 0 R 840 0 R 847 0 R 852 0 R 860 0 R ] >>
endobj
867 0 obj
-<< /Type /Pages /Parent 1544 0 R /Count 10 /Kids [ 864 0 R 869 0 R 873 0 R 877 0 R 881 0 R 886 0 R 891 0 R 895 0 R 899 0 R 1018 0 R ] >>
+<< /Type /Pages /Parent 1543 0 R /Count 10 /Kids [ 864 0 R 869 0 R 873 0 R 877 0 R 881 0 R 886 0 R 891 0 R 895 0 R 899 0 R 1017 0 R ] >>
endobj
-1130 0 obj
-<< /Type /Pages /Parent 1544 0 R /Count 5 /Kids [ 1127 0 R 1220 0 R 1263 0 R 1319 0 R 1324 0 R ] >>
+1129 0 obj
+<< /Type /Pages /Parent 1543 0 R /Count 5 /Kids [ 1126 0 R 1219 0 R 1262 0 R 1318 0 R 1323 0 R ] >>
endobj
-1544 0 obj
-<< /Type /Pages /Count 75 /Kids [ 394 0 R 479 0 R 550 0 R 619 0 R 707 0 R 791 0 R 867 0 R 1130 0 R ] >>
+1543 0 obj
+<< /Type /Pages /Count 75 /Kids [ 394 0 R 479 0 R 550 0 R 619 0 R 707 0 R 791 0 R 867 0 R 1129 0 R ] >>
endobj
-1545 0 obj
+1544 0 obj
<< /Type /Outlines /First 6 0 R /Last 358 0 R /Count 19 >>
endobj
358 0 obj
-<< /Title 359 0 R /A 356 0 R /Parent 1545 0 R /Prev 314 0 R >>
+<< /Title 359 0 R /A 356 0 R /Parent 1544 0 R /Prev 314 0 R >>
endobj
354 0 obj
<< /Title 355 0 R /A 352 0 R /Parent 314 0 R /Prev 350 0 R >>
@@ -7716,7 +7695,7 @@ endobj
<< /Title 319 0 R /A 316 0 R /Parent 314 0 R /Next 322 0 R >>
endobj
314 0 obj
-<< /Title 315 0 R /A 312 0 R /Parent 1545 0 R /Prev 294 0 R /Next 358 0 R /First 318 0 R /Last 354 0 R /Count -10 >>
+<< /Title 315 0 R /A 312 0 R /Parent 1544 0 R /Prev 294 0 R /Next 358 0 R /First 318 0 R /Last 354 0 R /Count -10 >>
endobj
310 0 obj
<< /Title 311 0 R /A 308 0 R /Parent 294 0 R /Prev 306 0 R >>
@@ -7731,10 +7710,10 @@ endobj
<< /Title 299 0 R /A 296 0 R /Parent 294 0 R /Next 302 0 R >>
endobj
294 0 obj
-<< /Title 295 0 R /A 292 0 R /Parent 1545 0 R /Prev 290 0 R /Next 314 0 R /First 298 0 R /Last 310 0 R /Count -4 >>
+<< /Title 295 0 R /A 292 0 R /Parent 1544 0 R /Prev 290 0 R /Next 314 0 R /First 298 0 R /Last 310 0 R /Count -4 >>
endobj
290 0 obj
-<< /Title 291 0 R /A 288 0 R /Parent 1545 0 R /Prev 262 0 R /Next 294 0 R >>
+<< /Title 291 0 R /A 288 0 R /Parent 1544 0 R /Prev 262 0 R /Next 294 0 R >>
endobj
286 0 obj
<< /Title 287 0 R /A 284 0 R /Parent 262 0 R /Prev 282 0 R >>
@@ -7755,7 +7734,7 @@ endobj
<< /Title 267 0 R /A 264 0 R /Parent 262 0 R /Next 278 0 R /First 270 0 R /Last 274 0 R /Count -2 >>
endobj
262 0 obj
-<< /Title 263 0 R /A 260 0 R /Parent 1545 0 R /Prev 214 0 R /Next 290 0 R /First 266 0 R /Last 286 0 R /Count -4 >>
+<< /Title 263 0 R /A 260 0 R /Parent 1544 0 R /Prev 214 0 R /Next 290 0 R /First 266 0 R /Last 286 0 R /Count -4 >>
endobj
258 0 obj
<< /Title 259 0 R /A 256 0 R /Parent 214 0 R /Prev 254 0 R >>
@@ -7791,7 +7770,7 @@ endobj
<< /Title 219 0 R /A 216 0 R /Parent 214 0 R /Next 222 0 R >>
endobj
214 0 obj
-<< /Title 215 0 R /A 212 0 R /Parent 1545 0 R /Prev 190 0 R /Next 262 0 R /First 218 0 R /Last 258 0 R /Count -11 >>
+<< /Title 215 0 R /A 212 0 R /Parent 1544 0 R /Prev 190 0 R /Next 262 0 R /First 218 0 R /Last 258 0 R /Count -11 >>
endobj
210 0 obj
<< /Title 211 0 R /A 208 0 R /Parent 190 0 R /Prev 206 0 R >>
@@ -7809,7 +7788,7 @@ endobj
<< /Title 195 0 R /A 192 0 R /Parent 190 0 R /Next 198 0 R >>
endobj
190 0 obj
-<< /Title 191 0 R /A 188 0 R /Parent 1545 0 R /Prev 170 0 R /Next 214 0 R /First 194 0 R /Last 210 0 R /Count -5 >>
+<< /Title 191 0 R /A 188 0 R /Parent 1544 0 R /Prev 170 0 R /Next 214 0 R /First 194 0 R /Last 210 0 R /Count -5 >>
endobj
186 0 obj
<< /Title 187 0 R /A 184 0 R /Parent 170 0 R /Prev 182 0 R >>
@@ -7824,10 +7803,10 @@ endobj
<< /Title 175 0 R /A 172 0 R /Parent 170 0 R /Next 178 0 R >>
endobj
170 0 obj
-<< /Title 171 0 R /A 168 0 R /Parent 1545 0 R /Prev 166 0 R /Next 190 0 R /First 174 0 R /Last 186 0 R /Count -4 >>
+<< /Title 171 0 R /A 168 0 R /Parent 1544 0 R /Prev 166 0 R /Next 190 0 R /First 174 0 R /Last 186 0 R /Count -4 >>
endobj
166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 1545 0 R /Prev 138 0 R /Next 170 0 R >>
+<< /Title 167 0 R /A 164 0 R /Parent 1544 0 R /Prev 138 0 R /Next 170 0 R >>
endobj
162 0 obj
<< /Title 163 0 R /A 160 0 R /Parent 138 0 R /Prev 158 0 R >>
@@ -7848,10 +7827,10 @@ endobj
<< /Title 143 0 R /A 140 0 R /Parent 138 0 R /Next 146 0 R >>
endobj
138 0 obj
-<< /Title 139 0 R /A 136 0 R /Parent 1545 0 R /Prev 134 0 R /Next 166 0 R /First 142 0 R /Last 162 0 R /Count -6 >>
+<< /Title 139 0 R /A 136 0 R /Parent 1544 0 R /Prev 134 0 R /Next 166 0 R /First 142 0 R /Last 162 0 R /Count -6 >>
endobj
134 0 obj
-<< /Title 135 0 R /A 132 0 R /Parent 1545 0 R /Prev 118 0 R /Next 138 0 R >>
+<< /Title 135 0 R /A 132 0 R /Parent 1544 0 R /Prev 118 0 R /Next 138 0 R >>
endobj
130 0 obj
<< /Title 131 0 R /A 128 0 R /Parent 118 0 R /Prev 126 0 R >>
@@ -7863,10 +7842,10 @@ endobj
<< /Title 123 0 R /A 120 0 R /Parent 118 0 R /Next 126 0 R >>
endobj
118 0 obj
-<< /Title 119 0 R /A 116 0 R /Parent 1545 0 R /Prev 114 0 R /Next 134 0 R /First 122 0 R /Last 130 0 R /Count -3 >>
+<< /Title 119 0 R /A 116 0 R /Parent 1544 0 R /Prev 114 0 R /Next 134 0 R /First 122 0 R /Last 130 0 R /Count -3 >>
endobj
114 0 obj
-<< /Title 115 0 R /A 112 0 R /Parent 1545 0 R /Prev 94 0 R /Next 118 0 R >>
+<< /Title 115 0 R /A 112 0 R /Parent 1544 0 R /Prev 94 0 R /Next 118 0 R >>
endobj
110 0 obj
<< /Title 111 0 R /A 108 0 R /Parent 94 0 R /Prev 106 0 R >>
@@ -7881,7 +7860,7 @@ endobj
<< /Title 99 0 R /A 96 0 R /Parent 94 0 R /Next 102 0 R >>
endobj
94 0 obj
-<< /Title 95 0 R /A 92 0 R /Parent 1545 0 R /Prev 50 0 R /Next 114 0 R /First 98 0 R /Last 110 0 R /Count -4 >>
+<< /Title 95 0 R /A 92 0 R /Parent 1544 0 R /Prev 50 0 R /Next 114 0 R /First 98 0 R /Last 110 0 R /Count -4 >>
endobj
90 0 obj
<< /Title 91 0 R /A 88 0 R /Parent 70 0 R /Prev 86 0 R >>
@@ -7914,7 +7893,7 @@ endobj
<< /Title 55 0 R /A 52 0 R /Parent 50 0 R /Next 66 0 R /First 58 0 R /Last 62 0 R /Count -2 >>
endobj
50 0 obj
-<< /Title 51 0 R /A 48 0 R /Parent 1545 0 R /Prev 18 0 R /Next 94 0 R /First 54 0 R /Last 70 0 R /Count -3 >>
+<< /Title 51 0 R /A 48 0 R /Parent 1544 0 R /Prev 18 0 R /Next 94 0 R /First 54 0 R /Last 70 0 R /Count -3 >>
endobj
46 0 obj
<< /Title 47 0 R /A 44 0 R /Parent 18 0 R /Prev 42 0 R >>
@@ -7938,1607 +7917,1606 @@ endobj
<< /Title 23 0 R /A 20 0 R /Parent 18 0 R /Next 26 0 R >>
endobj
18 0 obj
-<< /Title 19 0 R /A 16 0 R /Parent 1545 0 R /Prev 14 0 R /Next 50 0 R /First 22 0 R /Last 46 0 R /Count -7 >>
+<< /Title 19 0 R /A 16 0 R /Parent 1544 0 R /Prev 14 0 R /Next 50 0 R /First 22 0 R /Last 46 0 R /Count -7 >>
endobj
14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 1545 0 R /Prev 10 0 R /Next 18 0 R >>
+<< /Title 15 0 R /A 12 0 R /Parent 1544 0 R /Prev 10 0 R /Next 18 0 R >>
endobj
10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 1545 0 R /Prev 6 0 R /Next 14 0 R >>
+<< /Title 11 0 R /A 8 0 R /Parent 1544 0 R /Prev 6 0 R /Next 14 0 R >>
endobj
6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 1545 0 R /Next 10 0 R >>
+<< /Title 7 0 R /A 4 0 R /Parent 1544 0 R /Next 10 0 R >>
endobj
-1546 0 obj
+1545 0 obj
<< /Names [ (Doc-Start) 366 0 R (Item.1) 411 0 R (Item.10) 720 0 R (Item.11) 857 0 R (Item.12) 858 0 R (Item.2) 412 0 R (Item.3) 413 0 R (Item.4) 414 0 R (Item.5) 705 0 R (Item.6) 706 0 R (Item.7) 717 0 R (Item.8) 718 0 R (Item.9) 719 0 R (page.1) 365 0 R (page.10) 470 0 R (page.11) 477 0 R (page.12) 487 0 R (page.13) 499 0 R (page.14) 506 0 R (page.15) 511 0 R (page.16) 516 0 R (page.17) 522 0 R (page.18) 531 0 R (page.19) 537 0 R (page.2) 401 0 R (page.20) 543 0 R (page.21) 549 0 R (page.22) 556 0 R (page.23) 562 0 R (page.24) 569 0 R (page.25) 575 0 R (page.26) 583 0 R ] /Limits [ (Doc-Start) (page.26) ] >>
endobj
+1546 0 obj
+<< /Names [ (page.27) 591 0 R (page.28) 601 0 R (page.29) 608 0 R (page.3) 409 0 R (page.30) 613 0 R (page.31) 618 0 R (page.32) 626 0 R (page.33) 633 0 R (page.34) 645 0 R (page.35) 654 0 R (page.36) 661 0 R (page.37) 669 0 R (page.38) 675 0 R (page.39) 682 0 R (page.4) 422 0 R (page.40) 693 0 R (page.41) 701 0 R (page.42) 712 0 R (page.43) 726 0 R (page.44) 736 0 R (page.45) 741 0 R (page.46) 746 0 R (page.47) 757 0 R (page.48) 766 0 R (page.49) 775 0 R (page.5) 437 0 R (page.50) 783 0 R (page.51) 790 0 R (page.52) 797 0 R (page.53) 803 0 R (page.54) 810 0 R (page.55) 818 0 R ] /Limits [ (page.27) (page.55) ] >>
+endobj
1547 0 obj
-<< /Names [ (page.27) 591 0 R (page.28) 601 0 R (page.29) 608 0 R (page.3) 409 0 R (page.30) 613 0 R (page.31) 618 0 R (page.32) 626 0 R (page.33) 633 0 R (page.34) 645 0 R (page.35) 654 0 R (page.36) 661 0 R (page.37) 669 0 R (page.38) 675 0 R (page.39) 684 0 R (page.4) 422 0 R (page.40) 693 0 R (page.41) 701 0 R (page.42) 712 0 R (page.43) 726 0 R (page.44) 736 0 R (page.45) 741 0 R (page.46) 746 0 R (page.47) 757 0 R (page.48) 766 0 R (page.49) 775 0 R (page.5) 437 0 R (page.50) 783 0 R (page.51) 790 0 R (page.52) 797 0 R (page.53) 803 0 R (page.54) 810 0 R (page.55) 818 0 R ] /Limits [ (page.27) (page.55) ] >>
+<< /Names [ (page.56) 827 0 R (page.57) 842 0 R (page.58) 849 0 R (page.59) 854 0 R (page.6) 450 0 R (page.60) 862 0 R (page.61) 866 0 R (page.62) 871 0 R (page.63) 875 0 R (page.64) 879 0 R (page.65) 883 0 R (page.66) 888 0 R (page.67) 893 0 R (page.68) 897 0 R (page.69) 901 0 R (page.7) 455 0 R (page.70) 1019 0 R (page.71) 1128 0 R (page.72) 1221 0 R (page.73) 1264 0 R (page.74) 1320 0 R (page.75) 1325 0 R (page.8) 459 0 R (page.9) 463 0 R (section*.2) 357 0 R (section.1) 5 0 R (section.10) 137 0 R (section.11) 165 0 R (section.12) 169 0 R (section.13) 189 0 R (section.14) 213 0 R (section.15) 261 0 R ] /Limits [ (page.56) (section.15) ] >>
endobj
1548 0 obj
-<< /Names [ (page.56) 827 0 R (page.57) 842 0 R (page.58) 849 0 R (page.59) 854 0 R (page.6) 450 0 R (page.60) 862 0 R (page.61) 866 0 R (page.62) 871 0 R (page.63) 875 0 R (page.64) 879 0 R (page.65) 883 0 R (page.66) 888 0 R (page.67) 893 0 R (page.68) 897 0 R (page.69) 901 0 R (page.7) 455 0 R (page.70) 1020 0 R (page.71) 1129 0 R (page.72) 1222 0 R (page.73) 1265 0 R (page.74) 1321 0 R (page.75) 1326 0 R (page.8) 459 0 R (page.9) 463 0 R (section*.2) 357 0 R (section.1) 5 0 R (section.10) 137 0 R (section.11) 165 0 R (section.12) 169 0 R (section.13) 189 0 R (section.14) 213 0 R (section.15) 261 0 R ] /Limits [ (page.56) (section.15) ] >>
+<< /Names [ (section.16) 289 0 R (section.17) 293 0 R (section.18) 313 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 17 0 R (section.5) 49 0 R (section.6) 93 0 R (section.7) 113 0 R (section.8) 117 0 R (section.9) 133 0 R (subsection.10.1) 141 0 R (subsection.10.2) 145 0 R (subsection.10.3) 149 0 R (subsection.10.4) 153 0 R (subsection.10.5) 157 0 R (subsection.10.6) 161 0 R (subsection.12.1) 173 0 R (subsection.12.2) 177 0 R (subsection.12.3) 181 0 R (subsection.12.4) 185 0 R (subsection.13.1) 193 0 R (subsection.13.2) 197 0 R (subsection.13.3) 201 0 R (subsection.13.4) 205 0 R (subsection.13.5) 209 0 R (subsection.14.1) 217 0 R (subsection.14.10) 253 0 R (subsection.14.11) 257 0 R (subsection.14.2) 221 0 R (subsection.14.3) 225 0 R (subsection.14.4) 229 0 R ] /Limits [ (section.16) (subsection.14.4) ] >>
endobj
1549 0 obj
-<< /Names [ (section.16) 289 0 R (section.17) 293 0 R (section.18) 313 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 17 0 R (section.5) 49 0 R (section.6) 93 0 R (section.7) 113 0 R (section.8) 117 0 R (section.9) 133 0 R (subsection.10.1) 141 0 R (subsection.10.2) 145 0 R (subsection.10.3) 149 0 R (subsection.10.4) 153 0 R (subsection.10.5) 157 0 R (subsection.10.6) 161 0 R (subsection.12.1) 173 0 R (subsection.12.2) 177 0 R (subsection.12.3) 181 0 R (subsection.12.4) 185 0 R (subsection.13.1) 193 0 R (subsection.13.2) 197 0 R (subsection.13.3) 201 0 R (subsection.13.4) 205 0 R (subsection.13.5) 209 0 R (subsection.14.1) 217 0 R (subsection.14.10) 253 0 R (subsection.14.11) 257 0 R (subsection.14.2) 221 0 R (subsection.14.3) 225 0 R (subsection.14.4) 229 0 R ] /Limits [ (section.16) (subsection.14.4) ] >>
+<< /Names [ (subsection.14.5) 233 0 R (subsection.14.6) 237 0 R (subsection.14.7) 241 0 R (subsection.14.8) 245 0 R (subsection.14.9) 249 0 R (subsection.15.1) 265 0 R (subsection.15.2) 277 0 R (subsection.15.3) 281 0 R (subsection.15.4) 285 0 R (subsection.17.1) 297 0 R (subsection.17.2) 301 0 R (subsection.17.3) 305 0 R (subsection.17.4) 309 0 R (subsection.18.1) 317 0 R (subsection.18.10) 353 0 R (subsection.18.2) 321 0 R (subsection.18.3) 325 0 R (subsection.18.4) 329 0 R (subsection.18.5) 333 0 R (subsection.18.6) 337 0 R (subsection.18.7) 341 0 R (subsection.18.8) 345 0 R (subsection.18.9) 349 0 R (subsection.4.1) 21 0 R (subsection.4.2) 25 0 R (subsection.4.3) 29 0 R (subsection.4.4) 33 0 R (subsection.4.5) 37 0 R (subsection.4.6) 41 0 R (subsection.4.7) 45 0 R (subsection.5.1) 53 0 R (subsection.5.2) 65 0 R ] /Limits [ (subsection.14.5) (subsection.5.2) ] >>
endobj
1550 0 obj
-<< /Names [ (subsection.14.5) 233 0 R (subsection.14.6) 237 0 R (subsection.14.7) 241 0 R (subsection.14.8) 245 0 R (subsection.14.9) 249 0 R (subsection.15.1) 265 0 R (subsection.15.2) 277 0 R (subsection.15.3) 281 0 R (subsection.15.4) 285 0 R (subsection.17.1) 297 0 R (subsection.17.2) 301 0 R (subsection.17.3) 305 0 R (subsection.17.4) 309 0 R (subsection.18.1) 317 0 R (subsection.18.10) 353 0 R (subsection.18.2) 321 0 R (subsection.18.3) 325 0 R (subsection.18.4) 329 0 R (subsection.18.5) 333 0 R (subsection.18.6) 337 0 R (subsection.18.7) 341 0 R (subsection.18.8) 345 0 R (subsection.18.9) 349 0 R (subsection.4.1) 21 0 R (subsection.4.2) 25 0 R (subsection.4.3) 29 0 R (subsection.4.4) 33 0 R (subsection.4.5) 37 0 R (subsection.4.6) 41 0 R (subsection.4.7) 45 0 R (subsection.5.1) 53 0 R (subsection.5.2) 65 0 R ] /Limits [ (subsection.14.5) (subsection.5.2) ] >>
+<< /Names [ (subsection.5.3) 69 0 R (subsection.6.1) 97 0 R (subsection.6.2) 101 0 R (subsection.6.3) 105 0 R (subsection.6.4) 109 0 R (subsection.8.1) 121 0 R (subsection.8.2) 125 0 R (subsection.8.3) 129 0 R (subsubsection.15.1.1) 269 0 R (subsubsection.15.1.2) 273 0 R (subsubsection.5.1.1) 57 0 R (subsubsection.5.1.2) 61 0 R (subsubsection.5.3.1) 73 0 R (subsubsection.5.3.2) 77 0 R (subsubsection.5.3.3) 81 0 R (subsubsection.5.3.4) 85 0 R (subsubsection.5.3.5) 89 0 R (table.caption.1) 695 0 R (tabularnote.1) 702 0 R (tabularnote.2) 704 0 R (tabularnote.3) 713 0 R (tabularnote.4) 714 0 R (tabularnote.5) 715 0 R (tabularnote.6) 716 0 R (tabularnote.7) 855 0 R (tabularnote.8) 856 0 R ] /Limits [ (subsection.5.3) (tabularnote.8) ] >>
endobj
1551 0 obj
-<< /Names [ (subsection.5.3) 69 0 R (subsection.6.1) 97 0 R (subsection.6.2) 101 0 R (subsection.6.3) 105 0 R (subsection.6.4) 109 0 R (subsection.8.1) 121 0 R (subsection.8.2) 125 0 R (subsection.8.3) 129 0 R (subsubsection.15.1.1) 269 0 R (subsubsection.15.1.2) 273 0 R (subsubsection.5.1.1) 57 0 R (subsubsection.5.1.2) 61 0 R (subsubsection.5.3.1) 73 0 R (subsubsection.5.3.2) 77 0 R (subsubsection.5.3.3) 81 0 R (subsubsection.5.3.4) 85 0 R (subsubsection.5.3.5) 89 0 R (table.caption.1) 695 0 R (tabularnote.1) 702 0 R (tabularnote.2) 704 0 R (tabularnote.3) 713 0 R (tabularnote.4) 714 0 R (tabularnote.5) 715 0 R (tabularnote.6) 716 0 R (tabularnote.7) 855 0 R (tabularnote.8) 856 0 R ] /Limits [ (subsection.5.3) (tabularnote.8) ] >>
+<< /Kids [ 1545 0 R 1546 0 R 1547 0 R 1548 0 R 1549 0 R 1550 0 R ] /Limits [ (Doc-Start) (tabularnote.8) ] >>
endobj
1552 0 obj
-<< /Kids [ 1546 0 R 1547 0 R 1548 0 R 1549 0 R 1550 0 R 1551 0 R ] /Limits [ (Doc-Start) (tabularnote.8) ] >>
+<< /Dests 1551 0 R >>
endobj
1553 0 obj
-<< /Dests 1552 0 R >>
+<< /Type /Catalog /Pages 1543 0 R /Outlines 1544 0 R /Names 1552 0 R /PageMode/UseOutlines /OpenAction 360 0 R >>
endobj
1554 0 obj
-<< /Type /Catalog /Pages 1544 0 R /Outlines 1545 0 R /Names 1553 0 R /PageMode/UseOutlines /OpenAction 360 0 R >>
-endobj
-1555 0 obj
-<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000L\040\031\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x)/Subject(\376\377\000U\000n\000e\000\040\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000L\000a\000T\000e\000X)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240629213409+02'00') /ModDate (D:20240629213409+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
+<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000L\040\031\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x)/Subject(\376\377\000U\000n\000e\000\040\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000L\000a\000T\000e\000X)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240822114151+02'00') /ModDate (D:20240822114151+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
endobj
xref
-0 1556
+0 1555
0000000000 65535 f
-0000588706 00000 n
-0000588862 00000 n
-0000588934 00000 n
+0000588871 00000 n
+0000589027 00000 n
+0000589099 00000 n
0000000020 00000 n
-0000037853 00000 n
-0000880560 00000 n
+0000037899 00000 n
+0000880288 00000 n
0000000065 00000 n
0000000289 00000 n
-0000037913 00000 n
-0000880473 00000 n
+0000037959 00000 n
+0000880201 00000 n
0000000334 00000 n
0000000552 00000 n
-0000043661 00000 n
-0000880384 00000 n
+0000043708 00000 n
+0000880112 00000 n
0000000598 00000 n
0000000710 00000 n
-0000051017 00000 n
-0000880258 00000 n
+0000051064 00000 n
+0000879986 00000 n
0000000756 00000 n
0000000832 00000 n
-0000051078 00000 n
-0000880184 00000 n
+0000051125 00000 n
+0000879912 00000 n
0000000883 00000 n
0000000975 00000 n
-0000064894 00000 n
-0000880097 00000 n
+0000064887 00000 n
+0000879825 00000 n
0000001026 00000 n
0000001170 00000 n
-0000064954 00000 n
-0000880010 00000 n
+0000064947 00000 n
+0000879738 00000 n
0000001221 00000 n
0000001363 00000 n
-0000065015 00000 n
-0000879923 00000 n
+0000065008 00000 n
+0000879651 00000 n
0000001414 00000 n
0000001543 00000 n
-0000071391 00000 n
-0000879836 00000 n
+0000071383 00000 n
+0000879564 00000 n
0000001594 00000 n
0000001867 00000 n
-0000076984 00000 n
-0000879749 00000 n
+0000076976 00000 n
+0000879477 00000 n
0000001918 00000 n
0000002181 00000 n
-0000082489 00000 n
-0000879675 00000 n
+0000082482 00000 n
+0000879403 00000 n
0000002232 00000 n
0000002394 00000 n
-0000088672 00000 n
-0000879549 00000 n
+0000088664 00000 n
+0000879277 00000 n
0000002440 00000 n
0000002655 00000 n
-0000088733 00000 n
-0000879438 00000 n
+0000088725 00000 n
+0000879166 00000 n
0000002706 00000 n
0000003027 00000 n
-0000088793 00000 n
-0000879364 00000 n
+0000088785 00000 n
+0000879092 00000 n
0000003083 00000 n
0000003217 00000 n
-0000088854 00000 n
-0000879290 00000 n
+0000088846 00000 n
+0000879018 00000 n
0000003273 00000 n
0000003400 00000 n
-0000093951 00000 n
-0000879203 00000 n
+0000093944 00000 n
+0000878931 00000 n
0000003451 00000 n
0000003677 00000 n
-0000094012 00000 n
-0000879092 00000 n
+0000094005 00000 n
+0000878820 00000 n
0000003728 00000 n
0000004012 00000 n
-0000100609 00000 n
-0000879018 00000 n
+0000100606 00000 n
+0000878746 00000 n
0000004068 00000 n
0000004236 00000 n
-0000100670 00000 n
-0000878931 00000 n
+0000100667 00000 n
+0000878659 00000 n
0000004292 00000 n
0000004545 00000 n
-0000108411 00000 n
-0000878844 00000 n
+0000108408 00000 n
+0000878572 00000 n
0000004601 00000 n
0000004726 00000 n
-0000114681 00000 n
-0000878757 00000 n
+0000114679 00000 n
+0000878485 00000 n
0000004782 00000 n
0000004919 00000 n
-0000114742 00000 n
-0000878683 00000 n
+0000114740 00000 n
+0000878411 00000 n
0000004975 00000 n
0000005190 00000 n
-0000131444 00000 n
-0000878555 00000 n
+0000131392 00000 n
+0000878283 00000 n
0000005236 00000 n
0000005531 00000 n
-0000131505 00000 n
-0000878480 00000 n
+0000131453 00000 n
+0000878208 00000 n
0000005582 00000 n
0000005731 00000 n
-0000131566 00000 n
-0000878389 00000 n
+0000131514 00000 n
+0000878117 00000 n
0000005783 00000 n
0000006053 00000 n
-0000160999 00000 n
-0000878297 00000 n
+0000161186 00000 n
+0000878025 00000 n
0000006105 00000 n
0000006296 00000 n
-0000166281 00000 n
-0000878219 00000 n
+0000166492 00000 n
+0000877947 00000 n
0000006348 00000 n
0000006535 00000 n
-0000166343 00000 n
-0000878126 00000 n
+0000166554 00000 n
+0000877854 00000 n
0000006582 00000 n
0000006725 00000 n
-0000172779 00000 n
-0000877993 00000 n
+0000172992 00000 n
+0000877721 00000 n
0000006772 00000 n
0000006925 00000 n
-0000172841 00000 n
-0000877914 00000 n
+0000173054 00000 n
+0000877642 00000 n
0000006977 00000 n
0000007102 00000 n
-0000178205 00000 n
-0000877821 00000 n
+0000178420 00000 n
+0000877549 00000 n
0000007154 00000 n
0000007259 00000 n
-0000182908 00000 n
-0000877742 00000 n
+0000183122 00000 n
+0000877470 00000 n
0000007311 00000 n
0000007482 00000 n
-0000190902 00000 n
-0000877648 00000 n
+0000191119 00000 n
+0000877376 00000 n
0000007529 00000 n
0000007751 00000 n
-0000203740 00000 n
-0000877515 00000 n
+0000203958 00000 n
+0000877243 00000 n
0000007799 00000 n
0000008013 00000 n
-0000214660 00000 n
-0000877436 00000 n
+0000214879 00000 n
+0000877164 00000 n
0000008066 00000 n
0000008203 00000 n
-0000223915 00000 n
-0000877343 00000 n
+0000224156 00000 n
+0000877071 00000 n
0000008256 00000 n
0000008483 00000 n
-0000246989 00000 n
-0000877250 00000 n
+0000247244 00000 n
+0000876978 00000 n
0000008536 00000 n
0000008908 00000 n
-0000253781 00000 n
-0000877157 00000 n
+0000254036 00000 n
+0000876885 00000 n
0000008961 00000 n
0000009183 00000 n
-0000253843 00000 n
-0000877064 00000 n
+0000254098 00000 n
+0000876792 00000 n
0000009236 00000 n
0000009485 00000 n
-0000262127 00000 n
-0000876985 00000 n
+0000262381 00000 n
+0000876713 00000 n
0000009538 00000 n
0000009765 00000 n
-0000268603 00000 n
-0000876891 00000 n
+0000268855 00000 n
+0000876619 00000 n
0000009813 00000 n
0000010103 00000 n
-0000286777 00000 n
-0000876758 00000 n
+0000287034 00000 n
+0000876486 00000 n
0000010151 00000 n
0000010251 00000 n
-0000286839 00000 n
-0000876679 00000 n
+0000287096 00000 n
+0000876407 00000 n
0000010304 00000 n
0000010534 00000 n
-0000286901 00000 n
-0000876586 00000 n
+0000287158 00000 n
+0000876314 00000 n
0000010587 00000 n
0000010960 00000 n
-0000304896 00000 n
-0000876493 00000 n
+0000305614 00000 n
+0000876221 00000 n
0000011013 00000 n
0000011362 00000 n
-0000310527 00000 n
-0000876414 00000 n
+0000311919 00000 n
+0000876142 00000 n
0000011415 00000 n
0000011690 00000 n
-0000310589 00000 n
-0000876281 00000 n
+0000317142 00000 n
+0000876009 00000 n
0000011738 00000 n
0000012006 00000 n
-0000310651 00000 n
-0000876202 00000 n
+0000317204 00000 n
+0000875930 00000 n
0000012059 00000 n
0000012220 00000 n
-0000315620 00000 n
-0000876109 00000 n
+0000317266 00000 n
+0000875837 00000 n
0000012273 00000 n
0000012442 00000 n
-0000315682 00000 n
-0000876016 00000 n
+0000317328 00000 n
+0000875744 00000 n
0000012495 00000 n
0000012638 00000 n
-0000325528 00000 n
-0000875923 00000 n
+0000327156 00000 n
+0000875651 00000 n
0000012691 00000 n
0000012917 00000 n
-0000334791 00000 n
-0000875844 00000 n
+0000336406 00000 n
+0000875572 00000 n
0000012970 00000 n
0000013257 00000 n
-0000334853 00000 n
-0000875710 00000 n
+0000336468 00000 n
+0000875438 00000 n
0000013305 00000 n
0000013450 00000 n
-0000334915 00000 n
-0000875631 00000 n
+0000336530 00000 n
+0000875359 00000 n
0000013503 00000 n
0000013651 00000 n
-0000343938 00000 n
-0000875538 00000 n
+0000345549 00000 n
+0000875266 00000 n
0000013704 00000 n
0000013854 00000 n
-0000344000 00000 n
-0000875445 00000 n
+0000345611 00000 n
+0000875173 00000 n
0000013907 00000 n
0000014172 00000 n
-0000344062 00000 n
-0000875352 00000 n
+0000345673 00000 n
+0000875080 00000 n
0000014225 00000 n
0000014501 00000 n
-0000349979 00000 n
-0000875259 00000 n
+0000351589 00000 n
+0000874987 00000 n
0000014554 00000 n
0000014687 00000 n
-0000350041 00000 n
-0000875166 00000 n
+0000351651 00000 n
+0000874894 00000 n
0000014740 00000 n
0000014842 00000 n
-0000356567 00000 n
-0000875073 00000 n
+0000358176 00000 n
+0000874801 00000 n
0000014895 00000 n
0000015066 00000 n
-0000356629 00000 n
-0000874980 00000 n
+0000358238 00000 n
+0000874708 00000 n
0000015119 00000 n
0000015256 00000 n
-0000362122 00000 n
-0000874887 00000 n
+0000363732 00000 n
+0000874615 00000 n
0000015309 00000 n
0000015462 00000 n
-0000362183 00000 n
-0000874794 00000 n
+0000363793 00000 n
+0000874522 00000 n
0000015516 00000 n
0000015739 00000 n
-0000362245 00000 n
-0000874715 00000 n
+0000363855 00000 n
+0000874443 00000 n
0000015793 00000 n
0000015986 00000 n
-0000368459 00000 n
-0000874582 00000 n
+0000370071 00000 n
+0000874310 00000 n
0000016034 00000 n
0000016250 00000 n
-0000368521 00000 n
-0000874464 00000 n
+0000370133 00000 n
+0000874192 00000 n
0000016303 00000 n
0000016583 00000 n
-0000373892 00000 n
-0000874385 00000 n
+0000375500 00000 n
+0000874113 00000 n
0000016641 00000 n
0000016779 00000 n
-0000373954 00000 n
-0000874306 00000 n
+0000375562 00000 n
+0000874034 00000 n
0000016837 00000 n
0000017008 00000 n
-0000374016 00000 n
-0000874213 00000 n
+0000375624 00000 n
+0000873941 00000 n
0000017061 00000 n
0000017326 00000 n
-0000388309 00000 n
-0000874120 00000 n
+0000389914 00000 n
+0000873848 00000 n
0000017379 00000 n
0000017639 00000 n
-0000395386 00000 n
-0000874041 00000 n
+0000396991 00000 n
+0000873769 00000 n
0000017692 00000 n
0000017982 00000 n
-0000399720 00000 n
-0000873947 00000 n
+0000401325 00000 n
+0000873675 00000 n
0000018030 00000 n
0000018196 00000 n
-0000413017 00000 n
-0000873814 00000 n
+0000414620 00000 n
+0000873542 00000 n
0000018244 00000 n
0000018376 00000 n
-0000413079 00000 n
-0000873735 00000 n
+0000414682 00000 n
+0000873463 00000 n
0000018429 00000 n
0000018546 00000 n
-0000413141 00000 n
-0000873642 00000 n
+0000414744 00000 n
+0000873370 00000 n
0000018599 00000 n
0000018725 00000 n
-0000418826 00000 n
-0000873549 00000 n
+0000420428 00000 n
+0000873277 00000 n
0000018778 00000 n
0000018955 00000 n
-0000418888 00000 n
-0000873470 00000 n
+0000420490 00000 n
+0000873198 00000 n
0000019008 00000 n
0000019120 00000 n
-0000427095 00000 n
-0000873336 00000 n
+0000428694 00000 n
+0000873064 00000 n
0000019168 00000 n
0000019237 00000 n
-0000427157 00000 n
-0000873257 00000 n
+0000428756 00000 n
+0000872985 00000 n
0000019290 00000 n
0000019605 00000 n
-0000431681 00000 n
-0000873164 00000 n
+0000433282 00000 n
+0000872892 00000 n
0000019658 00000 n
0000019823 00000 n
-0000431743 00000 n
-0000873071 00000 n
+0000433344 00000 n
+0000872799 00000 n
0000019876 00000 n
0000020029 00000 n
-0000435997 00000 n
-0000872978 00000 n
+0000437722 00000 n
+0000872706 00000 n
0000020082 00000 n
0000020220 00000 n
-0000456123 00000 n
-0000872885 00000 n
+0000457770 00000 n
+0000872613 00000 n
0000020273 00000 n
0000020584 00000 n
-0000466909 00000 n
-0000872792 00000 n
+0000468109 00000 n
+0000872520 00000 n
0000020637 00000 n
0000020760 00000 n
-0000466971 00000 n
-0000872699 00000 n
+0000468171 00000 n
+0000872427 00000 n
0000020813 00000 n
0000020963 00000 n
-0000485220 00000 n
-0000872606 00000 n
+0000482520 00000 n
+0000872334 00000 n
0000021016 00000 n
0000021265 00000 n
-0000503299 00000 n
-0000872513 00000 n
+0000493621 00000 n
+0000872241 00000 n
0000021318 00000 n
0000021593 00000 n
-0000506791 00000 n
-0000872434 00000 n
+0000504523 00000 n
+0000872162 00000 n
0000021647 00000 n
0000021797 00000 n
-0000528644 00000 n
-0000872354 00000 n
+0000528786 00000 n
+0000872082 00000 n
0000021845 00000 n
0000021899 00000 n
-0000032205 00000 n
-0000032371 00000 n
-0000032733 00000 n
+0000032294 00000 n
+0000032460 00000 n
+0000032781 00000 n
0000021951 00000 n
-0000032609 00000 n
-0000032671 00000 n
-0000740770 00000 n
-0000736918 00000 n
-0000734465 00000 n
-0000729224 00000 n
-0000725878 00000 n
-0000723435 00000 n
-0000718868 00000 n
-0000716161 00000 n
-0000869083 00000 n
-0000869811 00000 n
-0000870247 00000 n
-0000869666 00000 n
-0000869375 00000 n
-0000870390 00000 n
-0000705437 00000 n
-0000870102 00000 n
-0000693482 00000 n
-0000688867 00000 n
-0000678732 00000 n
-0000670687 00000 n
-0000666233 00000 n
-0000660459 00000 n
-0000657108 00000 n
-0000647829 00000 n
-0000645923 00000 n
-0000635985 00000 n
-0000632523 00000 n
-0000870964 00000 n
-0000032342 00000 n
-0000037635 00000 n
-0000037481 00000 n
-0000037973 00000 n
-0000037307 00000 n
-0000033195 00000 n
-0000037791 00000 n
-0000623829 00000 n
-0000614182 00000 n
-0000870533 00000 n
-0000037444 00000 n
-0000043977 00000 n
-0000043478 00000 n
-0000038279 00000 n
-0000043599 00000 n
-0000869229 00000 n
-0000043722 00000 n
-0000043786 00000 n
-0000043850 00000 n
-0000043914 00000 n
-0000050340 00000 n
-0000050497 00000 n
-0000050653 00000 n
-0000050804 00000 n
-0000051139 00000 n
-0000050150 00000 n
-0000044270 00000 n
-0000050955 00000 n
-0000869521 00000 n
-0000050287 00000 n
-0000056452 00000 n
-0000056612 00000 n
-0000056772 00000 n
-0000056926 00000 n
-0000057078 00000 n
-0000057231 00000 n
-0000057390 00000 n
-0000057550 00000 n
-0000057708 00000 n
-0000057929 00000 n
-0000056222 00000 n
-0000051432 00000 n
-0000057867 00000 n
-0000610692 00000 n
-0000056359 00000 n
-0000063728 00000 n
-0000063886 00000 n
-0000064044 00000 n
-0000064203 00000 n
-0000064358 00000 n
-0000064516 00000 n
-0000064675 00000 n
-0000065076 00000 n
-0000063514 00000 n
-0000058196 00000 n
-0000064832 00000 n
-0000063651 00000 n
-0000071452 00000 n
-0000071208 00000 n
-0000065291 00000 n
-0000071329 00000 n
-0000077045 00000 n
-0000076801 00000 n
-0000071693 00000 n
-0000076922 00000 n
-0000082550 00000 n
-0000082306 00000 n
-0000077260 00000 n
-0000082427 00000 n
-0000088139 00000 n
-0000088293 00000 n
-0000088456 00000 n
-0000088915 00000 n
-0000087957 00000 n
-0000082791 00000 n
-0000088610 00000 n
-0000088094 00000 n
-0000093736 00000 n
-0000099912 00000 n
-0000094073 00000 n
-0000093570 00000 n
-0000089117 00000 n
-0000093889 00000 n
-0000605306 00000 n
-0000871117 00000 n
-0000093707 00000 n
-0000100066 00000 n
-0000100230 00000 n
-0000100384 00000 n
-0000100731 00000 n
-0000099722 00000 n
-0000094314 00000 n
-0000100547 00000 n
-0000869956 00000 n
-0000099859 00000 n
-0000107399 00000 n
-0000107559 00000 n
-0000107719 00000 n
-0000107879 00000 n
-0000108037 00000 n
-0000108194 00000 n
-0000108472 00000 n
-0000107193 00000 n
-0000101011 00000 n
-0000108349 00000 n
-0000107330 00000 n
-0000114301 00000 n
-0000114459 00000 n
-0000114801 00000 n
-0000114127 00000 n
-0000108726 00000 n
-0000114619 00000 n
-0000114264 00000 n
-0000119456 00000 n
-0000119273 00000 n
-0000115042 00000 n
-0000119394 00000 n
-0000125895 00000 n
-0000126112 00000 n
-0000125729 00000 n
-0000119658 00000 n
-0000126050 00000 n
-0000125866 00000 n
-0000137791 00000 n
-0000131628 00000 n
-0000131261 00000 n
-0000126340 00000 n
-0000131382 00000 n
-0000137161 00000 n
-0000137323 00000 n
-0000137483 00000 n
-0000137638 00000 n
-0000143296 00000 n
-0000138010 00000 n
-0000136963 00000 n
-0000131895 00000 n
-0000137948 00000 n
-0000137100 00000 n
-0000143456 00000 n
-0000143671 00000 n
-0000143122 00000 n
-0000138277 00000 n
-0000143609 00000 n
-0000143259 00000 n
-0000149175 00000 n
-0000149396 00000 n
-0000149009 00000 n
-0000143899 00000 n
-0000149334 00000 n
-0000149146 00000 n
-0000155076 00000 n
-0000155292 00000 n
-0000154910 00000 n
-0000149585 00000 n
-0000155230 00000 n
-0000871270 00000 n
-0000155047 00000 n
-0000160785 00000 n
-0000161061 00000 n
-0000160619 00000 n
-0000155468 00000 n
-0000160937 00000 n
-0000160756 00000 n
-0000166065 00000 n
-0000166405 00000 n
-0000165899 00000 n
-0000161341 00000 n
-0000166219 00000 n
-0000166036 00000 n
-0000172403 00000 n
-0000172563 00000 n
-0000172903 00000 n
-0000172229 00000 n
-0000166620 00000 n
-0000172717 00000 n
-0000172366 00000 n
-0000177989 00000 n
-0000178267 00000 n
-0000177823 00000 n
-0000173157 00000 n
-0000178143 00000 n
-0000177960 00000 n
-0000182365 00000 n
-0000182529 00000 n
-0000182687 00000 n
-0000182970 00000 n
-0000182183 00000 n
-0000178547 00000 n
-0000182846 00000 n
-0000182320 00000 n
-0000190368 00000 n
-0000190683 00000 n
-0000190523 00000 n
-0000190964 00000 n
-0000190186 00000 n
-0000183172 00000 n
-0000190840 00000 n
-0000190323 00000 n
-0000202885 00000 n
-0000203048 00000 n
-0000203202 00000 n
-0000203362 00000 n
-0000203521 00000 n
-0000203802 00000 n
-0000202687 00000 n
-0000191231 00000 n
-0000203678 00000 n
-0000601200 00000 n
-0000202824 00000 n
-0000214445 00000 n
-0000214722 00000 n
-0000214279 00000 n
-0000204095 00000 n
-0000214598 00000 n
-0000214416 00000 n
-0000223977 00000 n
-0000223732 00000 n
-0000214976 00000 n
-0000223853 00000 n
-0000253087 00000 n
-0000247049 00000 n
-0000246806 00000 n
-0000224244 00000 n
-0000246927 00000 n
-0000871423 00000 n
-0000253247 00000 n
-0000253407 00000 n
-0000253567 00000 n
-0000253905 00000 n
-0000252897 00000 n
-0000247329 00000 n
-0000253719 00000 n
-0000253034 00000 n
-0000261687 00000 n
-0000261907 00000 n
-0000262189 00000 n
-0000261513 00000 n
-0000254159 00000 n
-0000262065 00000 n
-0000598665 00000 n
-0000261650 00000 n
-0000267746 00000 n
-0000267906 00000 n
-0000268067 00000 n
-0000268221 00000 n
-0000268381 00000 n
-0000286082 00000 n
-0000268665 00000 n
-0000267548 00000 n
-0000262508 00000 n
-0000268541 00000 n
-0000870821 00000 n
-0000267685 00000 n
-0000286240 00000 n
-0000286395 00000 n
-0000286555 00000 n
-0000286963 00000 n
-0000285892 00000 n
-0000268971 00000 n
-0000286715 00000 n
-0000286029 00000 n
-0000293158 00000 n
-0000293313 00000 n
-0000293530 00000 n
-0000292984 00000 n
-0000287217 00000 n
-0000293468 00000 n
-0000293121 00000 n
-0000298690 00000 n
-0000298850 00000 n
-0000299008 00000 n
-0000299230 00000 n
-0000298508 00000 n
-0000293784 00000 n
-0000299168 00000 n
-0000298645 00000 n
-0000304638 00000 n
-0000304958 00000 n
-0000304472 00000 n
-0000299432 00000 n
-0000304834 00000 n
-0000304609 00000 n
-0000310147 00000 n
-0000310301 00000 n
-0000314625 00000 n
-0000314778 00000 n
-0000310713 00000 n
-0000309973 00000 n
-0000305264 00000 n
-0000310465 00000 n
-0000310110 00000 n
-0000314932 00000 n
-0000315092 00000 n
-0000315252 00000 n
-0000315406 00000 n
-0000315744 00000 n
-0000314419 00000 n
-0000310928 00000 n
-0000315558 00000 n
-0000314556 00000 n
-0000324954 00000 n
-0000320728 00000 n
-0000320888 00000 n
-0000321365 00000 n
-0000320554 00000 n
-0000315907 00000 n
-0000321048 00000 n
-0000321110 00000 n
-0000595602 00000 n
-0000321174 00000 n
-0000321238 00000 n
-0000321302 00000 n
-0000871576 00000 n
-0000320691 00000 n
-0000325589 00000 n
-0000324771 00000 n
-0000321606 00000 n
-0000324892 00000 n
-0000325016 00000 n
-0000325080 00000 n
-0000325144 00000 n
-0000325208 00000 n
-0000325272 00000 n
-0000325336 00000 n
-0000325400 00000 n
-0000325464 00000 n
-0000329560 00000 n
-0000329720 00000 n
-0000329941 00000 n
-0000329386 00000 n
-0000325817 00000 n
-0000329879 00000 n
-0000329523 00000 n
-0000333922 00000 n
-0000334081 00000 n
-0000334241 00000 n
-0000334401 00000 n
-0000334565 00000 n
-0000334977 00000 n
-0000333724 00000 n
-0000330117 00000 n
-0000334729 00000 n
-0000333861 00000 n
-0000344124 00000 n
-0000343755 00000 n
-0000335192 00000 n
-0000343876 00000 n
-0000349766 00000 n
-0000350103 00000 n
-0000349600 00000 n
-0000344404 00000 n
-0000349917 00000 n
-0000870678 00000 n
-0000349737 00000 n
-0000355732 00000 n
-0000355885 00000 n
-0000356039 00000 n
-0000356197 00000 n
-0000356351 00000 n
-0000356691 00000 n
-0000355534 00000 n
-0000350422 00000 n
-0000356505 00000 n
-0000868937 00000 n
-0000355671 00000 n
-0000361557 00000 n
-0000361716 00000 n
-0000361870 00000 n
-0000362307 00000 n
-0000361375 00000 n
-0000356971 00000 n
-0000362060 00000 n
-0000361512 00000 n
-0000367783 00000 n
-0000367935 00000 n
-0000368095 00000 n
-0000368246 00000 n
-0000368583 00000 n
-0000367593 00000 n
-0000362548 00000 n
-0000368397 00000 n
-0000367730 00000 n
-0000373354 00000 n
-0000373512 00000 n
-0000373671 00000 n
-0000374076 00000 n
-0000373172 00000 n
-0000368889 00000 n
-0000373830 00000 n
-0000373309 00000 n
-0000381480 00000 n
-0000387938 00000 n
-0000381694 00000 n
-0000381314 00000 n
-0000374304 00000 n
-0000381632 00000 n
-0000871729 00000 n
-0000381451 00000 n
-0000388095 00000 n
-0000388371 00000 n
-0000387764 00000 n
-0000381948 00000 n
-0000388247 00000 n
-0000387901 00000 n
-0000395164 00000 n
-0000395448 00000 n
-0000394998 00000 n
-0000388638 00000 n
-0000395324 00000 n
-0000593126 00000 n
-0000395135 00000 n
-0000399498 00000 n
-0000399782 00000 n
-0000399332 00000 n
-0000395689 00000 n
-0000399658 00000 n
-0000399469 00000 n
-0000412792 00000 n
-0000418211 00000 n
-0000418369 00000 n
-0000413203 00000 n
-0000412626 00000 n
-0000400010 00000 n
-0000412955 00000 n
-0000412763 00000 n
-0000418528 00000 n
-0000426237 00000 n
-0000426401 00000 n
-0000426565 00000 n
-0000418950 00000 n
-0000418029 00000 n
-0000413444 00000 n
-0000418764 00000 n
-0000590641 00000 n
-0000418166 00000 n
-0000419204 00000 n
-0000419522 00000 n
-0000419848 00000 n
-0000420052 00000 n
-0000420530 00000 n
-0000420874 00000 n
-0000421078 00000 n
-0000426729 00000 n
-0000426881 00000 n
-0000427219 00000 n
-0000426039 00000 n
-0000421720 00000 n
-0000427033 00000 n
-0000426176 00000 n
-0000431309 00000 n
-0000431464 00000 n
-0000431805 00000 n
-0000431135 00000 n
-0000427501 00000 n
-0000431619 00000 n
-0000431272 00000 n
-0000436059 00000 n
-0000435558 00000 n
-0000432007 00000 n
-0000435679 00000 n
-0000435741 00000 n
-0000435805 00000 n
-0000435869 00000 n
-0000435933 00000 n
-0000456185 00000 n
-0000455940 00000 n
-0000436274 00000 n
-0000456061 00000 n
-0000462189 00000 n
-0000462006 00000 n
-0000456452 00000 n
-0000462127 00000 n
-0000871882 00000 n
-0000467033 00000 n
-0000466726 00000 n
-0000462456 00000 n
-0000466847 00000 n
-0000470703 00000 n
-0000470520 00000 n
-0000467248 00000 n
-0000470641 00000 n
-0000474086 00000 n
-0000473903 00000 n
-0000470944 00000 n
-0000474024 00000 n
-0000478429 00000 n
-0000478246 00000 n
-0000474314 00000 n
-0000478367 00000 n
-0000484997 00000 n
-0000485282 00000 n
-0000484831 00000 n
-0000478657 00000 n
-0000485158 00000 n
-0000484968 00000 n
-0000491074 00000 n
-0000490891 00000 n
-0000485588 00000 n
-0000491012 00000 n
-0000503361 00000 n
-0000503116 00000 n
-0000491289 00000 n
-0000503237 00000 n
-0000506853 00000 n
-0000506608 00000 n
-0000503602 00000 n
-0000506729 00000 n
-0000511476 00000 n
-0000511626 00000 n
-0000511776 00000 n
-0000511927 00000 n
-0000512079 00000 n
-0000512231 00000 n
-0000512383 00000 n
-0000512535 00000 n
-0000512687 00000 n
-0000512838 00000 n
-0000512989 00000 n
-0000513141 00000 n
-0000513293 00000 n
-0000513444 00000 n
-0000513595 00000 n
-0000513746 00000 n
-0000513895 00000 n
-0000514043 00000 n
-0000514193 00000 n
-0000514343 00000 n
-0000514493 00000 n
-0000514642 00000 n
-0000514792 00000 n
-0000514943 00000 n
-0000515095 00000 n
-0000515245 00000 n
-0000515397 00000 n
-0000515547 00000 n
-0000515699 00000 n
-0000515848 00000 n
-0000515998 00000 n
-0000516149 00000 n
-0000516301 00000 n
-0000516451 00000 n
-0000516601 00000 n
-0000516752 00000 n
-0000516904 00000 n
-0000517055 00000 n
-0000517207 00000 n
-0000517359 00000 n
-0000517510 00000 n
-0000517662 00000 n
-0000517814 00000 n
-0000517966 00000 n
-0000518118 00000 n
-0000518269 00000 n
-0000518420 00000 n
-0000518571 00000 n
-0000518721 00000 n
-0000518871 00000 n
-0000519021 00000 n
-0000519170 00000 n
-0000519320 00000 n
-0000519470 00000 n
-0000519620 00000 n
-0000519772 00000 n
-0000519924 00000 n
-0000520076 00000 n
-0000520227 00000 n
-0000520379 00000 n
-0000520531 00000 n
-0000520683 00000 n
-0000520835 00000 n
-0000520986 00000 n
-0000521138 00000 n
-0000521289 00000 n
-0000521441 00000 n
-0000521592 00000 n
-0000521744 00000 n
-0000521896 00000 n
-0000522048 00000 n
-0000522199 00000 n
-0000522351 00000 n
-0000522502 00000 n
-0000522653 00000 n
-0000522805 00000 n
-0000522957 00000 n
-0000523109 00000 n
-0000523261 00000 n
-0000523413 00000 n
-0000523564 00000 n
-0000523716 00000 n
-0000523868 00000 n
-0000524020 00000 n
-0000524170 00000 n
-0000524322 00000 n
-0000524474 00000 n
-0000524626 00000 n
-0000524778 00000 n
-0000524930 00000 n
-0000525081 00000 n
-0000525233 00000 n
-0000525385 00000 n
-0000525537 00000 n
-0000525689 00000 n
-0000525841 00000 n
-0000525993 00000 n
-0000526145 00000 n
-0000526297 00000 n
-0000526450 00000 n
-0000526603 00000 n
-0000526756 00000 n
-0000526909 00000 n
-0000527062 00000 n
-0000527215 00000 n
-0000527368 00000 n
-0000527521 00000 n
-0000527673 00000 n
-0000527826 00000 n
-0000527978 00000 n
-0000528129 00000 n
-0000528279 00000 n
-0000528430 00000 n
-0000533327 00000 n
-0000533480 00000 n
-0000528707 00000 n
-0000510394 00000 n
-0000507003 00000 n
-0000528580 00000 n
-0000510535 00000 n
-0000533633 00000 n
-0000533786 00000 n
-0000533938 00000 n
-0000534090 00000 n
-0000534241 00000 n
-0000534393 00000 n
-0000534546 00000 n
-0000534699 00000 n
-0000534851 00000 n
-0000535004 00000 n
-0000535156 00000 n
-0000535309 00000 n
-0000535462 00000 n
-0000535615 00000 n
-0000535768 00000 n
-0000535921 00000 n
-0000536074 00000 n
-0000536227 00000 n
-0000536379 00000 n
-0000536532 00000 n
-0000536684 00000 n
-0000536837 00000 n
-0000536989 00000 n
-0000537141 00000 n
-0000537294 00000 n
-0000537445 00000 n
-0000537598 00000 n
-0000537749 00000 n
-0000537901 00000 n
-0000538053 00000 n
-0000538206 00000 n
-0000538359 00000 n
-0000538512 00000 n
-0000538665 00000 n
-0000538818 00000 n
-0000538971 00000 n
-0000539122 00000 n
-0000539274 00000 n
-0000539427 00000 n
-0000539579 00000 n
-0000539732 00000 n
-0000539885 00000 n
-0000540037 00000 n
-0000540189 00000 n
-0000540342 00000 n
-0000540495 00000 n
-0000540648 00000 n
-0000540801 00000 n
-0000540954 00000 n
-0000541105 00000 n
-0000541257 00000 n
-0000541409 00000 n
-0000541561 00000 n
-0000541713 00000 n
-0000541865 00000 n
-0000542017 00000 n
-0000542169 00000 n
-0000542322 00000 n
-0000542475 00000 n
-0000542628 00000 n
-0000542780 00000 n
-0000542932 00000 n
-0000543085 00000 n
-0000543236 00000 n
-0000543388 00000 n
-0000543541 00000 n
-0000543694 00000 n
-0000543846 00000 n
-0000543998 00000 n
-0000544151 00000 n
-0000544303 00000 n
-0000544456 00000 n
-0000544609 00000 n
-0000544762 00000 n
-0000544914 00000 n
-0000545066 00000 n
-0000545218 00000 n
-0000545371 00000 n
-0000545524 00000 n
-0000545677 00000 n
-0000545830 00000 n
-0000545983 00000 n
-0000546136 00000 n
-0000546289 00000 n
-0000546442 00000 n
-0000546595 00000 n
-0000546747 00000 n
-0000546900 00000 n
-0000547052 00000 n
-0000547205 00000 n
-0000547358 00000 n
-0000547510 00000 n
-0000547663 00000 n
-0000547816 00000 n
-0000547967 00000 n
-0000548119 00000 n
-0000548272 00000 n
-0000548424 00000 n
-0000548576 00000 n
-0000548726 00000 n
-0000553433 00000 n
+0000032657 00000 n
+0000032719 00000 n
+0000740498 00000 n
+0000736646 00000 n
+0000734193 00000 n
+0000729147 00000 n
+0000725801 00000 n
+0000723358 00000 n
+0000718791 00000 n
+0000716084 00000 n
+0000868811 00000 n
+0000869539 00000 n
+0000869975 00000 n
+0000869394 00000 n
+0000869103 00000 n
+0000870118 00000 n
+0000705545 00000 n
+0000869830 00000 n
+0000693590 00000 n
+0000688975 00000 n
+0000678840 00000 n
+0000670852 00000 n
+0000666398 00000 n
+0000660624 00000 n
+0000657273 00000 n
+0000647994 00000 n
+0000646088 00000 n
+0000636150 00000 n
+0000632688 00000 n
+0000870692 00000 n
+0000032431 00000 n
+0000037681 00000 n
+0000037527 00000 n
+0000038019 00000 n
+0000037353 00000 n
+0000033243 00000 n
+0000037837 00000 n
+0000623994 00000 n
+0000614347 00000 n
+0000870261 00000 n
+0000037490 00000 n
+0000044024 00000 n
+0000043525 00000 n
+0000038325 00000 n
+0000043646 00000 n
+0000868957 00000 n
+0000043769 00000 n
+0000043833 00000 n
+0000043897 00000 n
+0000043961 00000 n
+0000050387 00000 n
+0000050544 00000 n
+0000050700 00000 n
+0000050851 00000 n
+0000051186 00000 n
+0000050197 00000 n
+0000044317 00000 n
+0000051002 00000 n
+0000869249 00000 n
+0000050334 00000 n
+0000056443 00000 n
+0000056603 00000 n
+0000056763 00000 n
+0000056918 00000 n
+0000057071 00000 n
+0000057225 00000 n
+0000057383 00000 n
+0000057542 00000 n
+0000057700 00000 n
+0000057921 00000 n
+0000056213 00000 n
+0000051479 00000 n
+0000057859 00000 n
+0000610857 00000 n
+0000056350 00000 n
+0000063721 00000 n
+0000063879 00000 n
+0000064037 00000 n
+0000064196 00000 n
+0000064351 00000 n
+0000064509 00000 n
+0000064668 00000 n
+0000065069 00000 n
+0000063507 00000 n
+0000058188 00000 n
+0000064825 00000 n
+0000063644 00000 n
+0000071444 00000 n
+0000071200 00000 n
+0000065284 00000 n
+0000071321 00000 n
+0000077037 00000 n
+0000076793 00000 n
+0000071685 00000 n
+0000076914 00000 n
+0000082543 00000 n
+0000082299 00000 n
+0000077252 00000 n
+0000082420 00000 n
+0000088131 00000 n
+0000088285 00000 n
+0000088448 00000 n
+0000088907 00000 n
+0000087949 00000 n
+0000082784 00000 n
+0000088602 00000 n
+0000088086 00000 n
+0000093729 00000 n
+0000099909 00000 n
+0000094066 00000 n
+0000093563 00000 n
+0000089109 00000 n
+0000093882 00000 n
+0000605471 00000 n
+0000870845 00000 n
+0000093700 00000 n
+0000100063 00000 n
+0000100227 00000 n
+0000100381 00000 n
+0000100728 00000 n
+0000099719 00000 n
+0000094307 00000 n
+0000100544 00000 n
+0000869684 00000 n
+0000099856 00000 n
+0000107396 00000 n
+0000107556 00000 n
+0000107716 00000 n
+0000107876 00000 n
+0000108034 00000 n
+0000108191 00000 n
+0000108469 00000 n
+0000107190 00000 n
+0000101008 00000 n
+0000108346 00000 n
+0000107327 00000 n
+0000114299 00000 n
+0000114457 00000 n
+0000114799 00000 n
+0000114125 00000 n
+0000108723 00000 n
+0000114617 00000 n
+0000114262 00000 n
+0000119454 00000 n
+0000119271 00000 n
+0000115040 00000 n
+0000119392 00000 n
+0000125878 00000 n
+0000126095 00000 n
+0000125712 00000 n
+0000119656 00000 n
+0000126033 00000 n
+0000125849 00000 n
+0000137741 00000 n
+0000131576 00000 n
+0000131209 00000 n
+0000126323 00000 n
+0000131330 00000 n
+0000137113 00000 n
+0000137276 00000 n
+0000137435 00000 n
+0000137589 00000 n
+0000143245 00000 n
+0000137959 00000 n
+0000136915 00000 n
+0000131830 00000 n
+0000137897 00000 n
+0000137052 00000 n
+0000143405 00000 n
+0000143620 00000 n
+0000143071 00000 n
+0000138226 00000 n
+0000143558 00000 n
+0000143208 00000 n
+0000149124 00000 n
+0000149345 00000 n
+0000148958 00000 n
+0000143848 00000 n
+0000149283 00000 n
+0000149095 00000 n
+0000155059 00000 n
+0000155275 00000 n
+0000154893 00000 n
+0000149534 00000 n
+0000155213 00000 n
+0000870998 00000 n
+0000155030 00000 n
+0000160971 00000 n
+0000161248 00000 n
+0000160805 00000 n
+0000155451 00000 n
+0000161124 00000 n
+0000160942 00000 n
+0000166276 00000 n
+0000166616 00000 n
+0000166110 00000 n
+0000161528 00000 n
+0000166430 00000 n
+0000166247 00000 n
+0000172616 00000 n
+0000172776 00000 n
+0000173116 00000 n
+0000172442 00000 n
+0000166831 00000 n
+0000172930 00000 n
+0000172579 00000 n
+0000178204 00000 n
+0000178482 00000 n
+0000178038 00000 n
+0000173370 00000 n
+0000178358 00000 n
+0000178175 00000 n
+0000182579 00000 n
+0000182743 00000 n
+0000182901 00000 n
+0000183184 00000 n
+0000182397 00000 n
+0000178762 00000 n
+0000183060 00000 n
+0000182534 00000 n
+0000190585 00000 n
+0000190900 00000 n
+0000190740 00000 n
+0000191181 00000 n
+0000190403 00000 n
+0000183386 00000 n
+0000191057 00000 n
+0000190540 00000 n
+0000203103 00000 n
+0000203266 00000 n
+0000203420 00000 n
+0000203580 00000 n
+0000203739 00000 n
+0000204020 00000 n
+0000202905 00000 n
+0000191448 00000 n
+0000203896 00000 n
+0000601365 00000 n
+0000203042 00000 n
+0000214664 00000 n
+0000214941 00000 n
+0000214498 00000 n
+0000204313 00000 n
+0000214817 00000 n
+0000214635 00000 n
+0000224218 00000 n
+0000223973 00000 n
+0000215195 00000 n
+0000224094 00000 n
+0000253342 00000 n
+0000247304 00000 n
+0000247061 00000 n
+0000224498 00000 n
+0000247182 00000 n
+0000871151 00000 n
+0000253502 00000 n
+0000253662 00000 n
+0000253822 00000 n
+0000254160 00000 n
+0000253152 00000 n
+0000247584 00000 n
+0000253974 00000 n
+0000253289 00000 n
+0000261941 00000 n
+0000262161 00000 n
+0000262443 00000 n
+0000261767 00000 n
+0000254414 00000 n
+0000262319 00000 n
+0000598830 00000 n
+0000261904 00000 n
+0000267998 00000 n
+0000268158 00000 n
+0000268319 00000 n
+0000268473 00000 n
+0000268633 00000 n
+0000286339 00000 n
+0000268917 00000 n
+0000267800 00000 n
+0000262762 00000 n
+0000268793 00000 n
+0000870549 00000 n
+0000267937 00000 n
+0000286497 00000 n
+0000286652 00000 n
+0000286812 00000 n
+0000287220 00000 n
+0000286149 00000 n
+0000269223 00000 n
+0000286972 00000 n
+0000286286 00000 n
+0000293552 00000 n
+0000293707 00000 n
+0000293924 00000 n
+0000293378 00000 n
+0000287474 00000 n
+0000293862 00000 n
+0000293515 00000 n
+0000299268 00000 n
+0000299427 00000 n
+0000299585 00000 n
+0000299807 00000 n
+0000299086 00000 n
+0000294178 00000 n
+0000299745 00000 n
+0000299223 00000 n
+0000305357 00000 n
+0000305676 00000 n
+0000305191 00000 n
+0000300022 00000 n
+0000305552 00000 n
+0000305328 00000 n
+0000311539 00000 n
+0000311693 00000 n
+0000311981 00000 n
+0000311365 00000 n
+0000305982 00000 n
+0000311857 00000 n
+0000311502 00000 n
+0000316149 00000 n
+0000316302 00000 n
+0000316456 00000 n
+0000316615 00000 n
+0000316774 00000 n
+0000316928 00000 n
+0000317390 00000 n
+0000315943 00000 n
+0000312196 00000 n
+0000317080 00000 n
+0000316080 00000 n
+0000326584 00000 n
+0000322373 00000 n
+0000322533 00000 n
+0000323010 00000 n
+0000322199 00000 n
+0000317553 00000 n
+0000322693 00000 n
+0000322755 00000 n
+0000595767 00000 n
+0000322819 00000 n
+0000322883 00000 n
+0000322947 00000 n
+0000871304 00000 n
+0000322336 00000 n
+0000327218 00000 n
+0000326401 00000 n
+0000323251 00000 n
+0000326522 00000 n
+0000326646 00000 n
+0000326709 00000 n
+0000326772 00000 n
+0000326836 00000 n
+0000326900 00000 n
+0000326964 00000 n
+0000327028 00000 n
+0000327092 00000 n
+0000331173 00000 n
+0000331333 00000 n
+0000331555 00000 n
+0000330999 00000 n
+0000327446 00000 n
+0000331493 00000 n
+0000331136 00000 n
+0000335537 00000 n
+0000335696 00000 n
+0000335856 00000 n
+0000336016 00000 n
+0000336180 00000 n
+0000336592 00000 n
+0000335339 00000 n
+0000331731 00000 n
+0000336344 00000 n
+0000335476 00000 n
+0000345735 00000 n
+0000345366 00000 n
+0000336807 00000 n
+0000345487 00000 n
+0000351376 00000 n
+0000351713 00000 n
+0000351210 00000 n
+0000346015 00000 n
+0000351527 00000 n
+0000870406 00000 n
+0000351347 00000 n
+0000357341 00000 n
+0000357494 00000 n
+0000357648 00000 n
+0000357806 00000 n
+0000357960 00000 n
+0000358300 00000 n
+0000357143 00000 n
+0000352032 00000 n
+0000358114 00000 n
+0000868665 00000 n
+0000357280 00000 n
+0000363167 00000 n
+0000363326 00000 n
+0000363480 00000 n
+0000363917 00000 n
+0000362985 00000 n
+0000358580 00000 n
+0000363670 00000 n
+0000363122 00000 n
+0000369395 00000 n
+0000369547 00000 n
+0000369707 00000 n
+0000369858 00000 n
+0000370195 00000 n
+0000369205 00000 n
+0000364158 00000 n
+0000370009 00000 n
+0000369342 00000 n
+0000374962 00000 n
+0000375120 00000 n
+0000375279 00000 n
+0000375684 00000 n
+0000374780 00000 n
+0000370501 00000 n
+0000375438 00000 n
+0000374917 00000 n
+0000383086 00000 n
+0000389543 00000 n
+0000383300 00000 n
+0000382920 00000 n
+0000375912 00000 n
+0000383238 00000 n
+0000871457 00000 n
+0000383057 00000 n
+0000389700 00000 n
+0000389976 00000 n
+0000389369 00000 n
+0000383554 00000 n
+0000389852 00000 n
+0000389506 00000 n
+0000396769 00000 n
+0000397053 00000 n
+0000396603 00000 n
+0000390243 00000 n
+0000396929 00000 n
+0000593291 00000 n
+0000396740 00000 n
+0000401103 00000 n
+0000401387 00000 n
+0000400937 00000 n
+0000397294 00000 n
+0000401263 00000 n
+0000401074 00000 n
+0000414395 00000 n
+0000419813 00000 n
+0000419971 00000 n
+0000414806 00000 n
+0000414229 00000 n
+0000401615 00000 n
+0000414558 00000 n
+0000414366 00000 n
+0000420130 00000 n
+0000427836 00000 n
+0000428000 00000 n
+0000428164 00000 n
+0000420552 00000 n
+0000419631 00000 n
+0000415047 00000 n
+0000420366 00000 n
+0000590806 00000 n
+0000419768 00000 n
+0000420806 00000 n
+0000421124 00000 n
+0000421450 00000 n
+0000421654 00000 n
+0000422132 00000 n
+0000422476 00000 n
+0000422680 00000 n
+0000428328 00000 n
+0000428480 00000 n
+0000428818 00000 n
+0000427638 00000 n
+0000423322 00000 n
+0000428632 00000 n
+0000427775 00000 n
+0000432910 00000 n
+0000433065 00000 n
+0000433406 00000 n
+0000432736 00000 n
+0000429100 00000 n
+0000433220 00000 n
+0000432873 00000 n
+0000437784 00000 n
+0000437284 00000 n
+0000433608 00000 n
+0000437405 00000 n
+0000437467 00000 n
+0000437531 00000 n
+0000437594 00000 n
+0000437658 00000 n
+0000457832 00000 n
+0000457587 00000 n
+0000437999 00000 n
+0000457708 00000 n
+0000464453 00000 n
+0000464270 00000 n
+0000458099 00000 n
+0000464391 00000 n
+0000871610 00000 n
+0000468233 00000 n
+0000467926 00000 n
+0000464720 00000 n
+0000468047 00000 n
+0000472032 00000 n
+0000471849 00000 n
+0000468435 00000 n
+0000471970 00000 n
+0000477678 00000 n
+0000477495 00000 n
+0000472273 00000 n
+0000477616 00000 n
+0000482582 00000 n
+0000482337 00000 n
+0000477906 00000 n
+0000482458 00000 n
+0000487391 00000 n
+0000487615 00000 n
+0000487225 00000 n
+0000482862 00000 n
+0000487553 00000 n
+0000487362 00000 n
+0000493683 00000 n
+0000493438 00000 n
+0000487869 00000 n
+0000493559 00000 n
+0000504585 00000 n
+0000504340 00000 n
+0000493885 00000 n
+0000504461 00000 n
+0000507189 00000 n
+0000507006 00000 n
+0000504813 00000 n
+0000507127 00000 n
+0000511771 00000 n
+0000511921 00000 n
+0000512071 00000 n
+0000512222 00000 n
+0000512374 00000 n
+0000512526 00000 n
+0000512678 00000 n
+0000512830 00000 n
+0000512982 00000 n
+0000513133 00000 n
+0000513284 00000 n
+0000513436 00000 n
+0000513588 00000 n
+0000513739 00000 n
+0000513890 00000 n
+0000514041 00000 n
+0000514190 00000 n
+0000514338 00000 n
+0000514488 00000 n
+0000514638 00000 n
+0000514788 00000 n
+0000514937 00000 n
+0000515087 00000 n
+0000515238 00000 n
+0000515390 00000 n
+0000515540 00000 n
+0000515692 00000 n
+0000515842 00000 n
+0000515994 00000 n
+0000516143 00000 n
+0000516293 00000 n
+0000516444 00000 n
+0000516596 00000 n
+0000516746 00000 n
+0000516896 00000 n
+0000517047 00000 n
+0000517199 00000 n
+0000517350 00000 n
+0000517502 00000 n
+0000517654 00000 n
+0000517805 00000 n
+0000517957 00000 n
+0000518109 00000 n
+0000518261 00000 n
+0000518413 00000 n
+0000518564 00000 n
+0000518715 00000 n
+0000518866 00000 n
+0000519016 00000 n
+0000519166 00000 n
+0000519316 00000 n
+0000519465 00000 n
+0000519615 00000 n
+0000519765 00000 n
+0000519915 00000 n
+0000520067 00000 n
+0000520219 00000 n
+0000520371 00000 n
+0000520522 00000 n
+0000520674 00000 n
+0000520826 00000 n
+0000520978 00000 n
+0000521130 00000 n
+0000521281 00000 n
+0000521433 00000 n
+0000521584 00000 n
+0000521736 00000 n
+0000521887 00000 n
+0000522039 00000 n
+0000522191 00000 n
+0000522343 00000 n
+0000522494 00000 n
+0000522646 00000 n
+0000522797 00000 n
+0000522948 00000 n
+0000523100 00000 n
+0000523252 00000 n
+0000523404 00000 n
+0000523556 00000 n
+0000523708 00000 n
+0000523859 00000 n
+0000524011 00000 n
+0000524163 00000 n
+0000524315 00000 n
+0000524465 00000 n
+0000524617 00000 n
+0000524769 00000 n
+0000524921 00000 n
+0000525073 00000 n
+0000525224 00000 n
+0000525376 00000 n
+0000525528 00000 n
+0000525680 00000 n
+0000525832 00000 n
+0000525984 00000 n
+0000526136 00000 n
+0000526288 00000 n
+0000526440 00000 n
+0000526592 00000 n
+0000526745 00000 n
+0000526898 00000 n
+0000527051 00000 n
+0000527204 00000 n
+0000527357 00000 n
+0000527510 00000 n
+0000527663 00000 n
+0000527815 00000 n
+0000527968 00000 n
+0000528120 00000 n
+0000528271 00000 n
+0000528421 00000 n
+0000528572 00000 n
+0000533467 00000 n
+0000533620 00000 n
+0000528849 00000 n
+0000510698 00000 n
+0000507326 00000 n
+0000528722 00000 n
+0000510839 00000 n
+0000533773 00000 n
+0000533926 00000 n
+0000534078 00000 n
+0000534230 00000 n
+0000534381 00000 n
+0000534533 00000 n
+0000534686 00000 n
+0000534839 00000 n
+0000534991 00000 n
+0000535144 00000 n
+0000535296 00000 n
+0000535449 00000 n
+0000535602 00000 n
+0000535755 00000 n
+0000535908 00000 n
+0000536061 00000 n
+0000536214 00000 n
+0000536367 00000 n
+0000536519 00000 n
+0000536672 00000 n
+0000536824 00000 n
+0000536977 00000 n
+0000537129 00000 n
+0000537281 00000 n
+0000537434 00000 n
+0000537585 00000 n
+0000537738 00000 n
+0000537889 00000 n
+0000538041 00000 n
+0000538193 00000 n
+0000538346 00000 n
+0000538499 00000 n
+0000538652 00000 n
+0000538805 00000 n
+0000538958 00000 n
+0000539111 00000 n
+0000539262 00000 n
+0000539414 00000 n
+0000539567 00000 n
+0000539719 00000 n
+0000539872 00000 n
+0000540025 00000 n
+0000540177 00000 n
+0000540329 00000 n
+0000540482 00000 n
+0000540635 00000 n
+0000540788 00000 n
+0000540941 00000 n
+0000541094 00000 n
+0000541245 00000 n
+0000541397 00000 n
+0000541549 00000 n
+0000541701 00000 n
+0000541853 00000 n
+0000542005 00000 n
+0000542157 00000 n
+0000542309 00000 n
+0000542462 00000 n
+0000542615 00000 n
+0000542768 00000 n
+0000542920 00000 n
+0000543072 00000 n
+0000543225 00000 n
+0000543376 00000 n
+0000543528 00000 n
+0000543681 00000 n
+0000543834 00000 n
+0000543986 00000 n
+0000544138 00000 n
+0000544291 00000 n
+0000544443 00000 n
+0000544596 00000 n
+0000544749 00000 n
+0000544902 00000 n
+0000545054 00000 n
+0000545206 00000 n
+0000545358 00000 n
+0000545511 00000 n
+0000545664 00000 n
+0000545817 00000 n
+0000545970 00000 n
+0000546123 00000 n
+0000546276 00000 n
+0000546429 00000 n
+0000546582 00000 n
+0000546735 00000 n
+0000546887 00000 n
+0000547040 00000 n
+0000547192 00000 n
+0000547345 00000 n
+0000547498 00000 n
+0000547650 00000 n
+0000547803 00000 n
+0000547956 00000 n
+0000548107 00000 n
+0000548259 00000 n
+0000548412 00000 n
+0000548564 00000 n
+0000548716 00000 n
+0000548866 00000 n
0000553586 00000 n
0000553739 00000 n
0000553892 00000 n
-0000548940 00000 n
-0000532245 00000 n
-0000528897 00000 n
-0000548876 00000 n
-0000872036 00000 n
-0000532387 00000 n
0000554045 00000 n
-0000554197 00000 n
-0000554349 00000 n
+0000549080 00000 n
+0000532385 00000 n
+0000529039 00000 n
+0000549016 00000 n
+0000871764 00000 n
+0000532527 00000 n
+0000554198 00000 n
+0000554350 00000 n
0000554502 00000 n
-0000554654 00000 n
-0000554805 00000 n
-0000554957 00000 n
-0000555109 00000 n
+0000554655 00000 n
+0000554807 00000 n
+0000554958 00000 n
+0000555110 00000 n
0000555262 00000 n
0000555415 00000 n
0000555568 00000 n
0000555721 00000 n
-0000555873 00000 n
-0000556025 00000 n
-0000556177 00000 n
-0000556328 00000 n
+0000555874 00000 n
+0000556026 00000 n
+0000556178 00000 n
+0000556330 00000 n
0000556481 00000 n
-0000556633 00000 n
-0000556785 00000 n
-0000556936 00000 n
-0000557087 00000 n
-0000557238 00000 n
+0000556634 00000 n
+0000556786 00000 n
+0000556938 00000 n
+0000557089 00000 n
+0000557240 00000 n
0000557391 00000 n
-0000557542 00000 n
-0000557694 00000 n
+0000557544 00000 n
+0000557695 00000 n
0000557847 00000 n
0000558000 00000 n
0000558153 00000 n
-0000558305 00000 n
-0000558457 00000 n
-0000558609 00000 n
+0000558306 00000 n
+0000558458 00000 n
+0000558610 00000 n
0000558762 00000 n
0000558915 00000 n
0000559068 00000 n
0000559221 00000 n
-0000559373 00000 n
+0000559374 00000 n
0000559526 00000 n
0000559679 00000 n
0000559832 00000 n
-0000559984 00000 n
+0000559985 00000 n
0000560137 00000 n
0000560290 00000 n
-0000560442 00000 n
-0000560594 00000 n
-0000560746 00000 n
-0000560898 00000 n
-0000561050 00000 n
-0000561202 00000 n
-0000561353 00000 n
-0000561503 00000 n
-0000561653 00000 n
-0000561805 00000 n
-0000561956 00000 n
-0000562109 00000 n
-0000562262 00000 n
-0000562415 00000 n
-0000562566 00000 n
-0000562716 00000 n
-0000562868 00000 n
-0000563021 00000 n
-0000563173 00000 n
-0000563325 00000 n
-0000563477 00000 n
-0000563629 00000 n
-0000563782 00000 n
-0000563935 00000 n
-0000564088 00000 n
-0000564240 00000 n
-0000564393 00000 n
-0000564546 00000 n
-0000564699 00000 n
-0000564852 00000 n
-0000565005 00000 n
-0000565158 00000 n
-0000565310 00000 n
-0000565463 00000 n
-0000565616 00000 n
-0000565769 00000 n
-0000565921 00000 n
-0000566073 00000 n
-0000566225 00000 n
-0000566377 00000 n
-0000566528 00000 n
-0000566681 00000 n
-0000566834 00000 n
-0000566987 00000 n
-0000567139 00000 n
-0000567356 00000 n
-0000552450 00000 n
-0000549117 00000 n
-0000567292 00000 n
-0000552592 00000 n
-0000570527 00000 n
-0000570681 00000 n
-0000570835 00000 n
-0000570989 00000 n
-0000571143 00000 n
-0000571302 00000 n
-0000571461 00000 n
-0000571620 00000 n
-0000571779 00000 n
-0000571937 00000 n
-0000572096 00000 n
-0000572254 00000 n
-0000572408 00000 n
-0000572567 00000 n
-0000572732 00000 n
-0000572895 00000 n
-0000573054 00000 n
-0000573213 00000 n
-0000573378 00000 n
-0000573543 00000 n
-0000573708 00000 n
-0000573873 00000 n
-0000574038 00000 n
-0000574192 00000 n
-0000574350 00000 n
-0000574507 00000 n
-0000574665 00000 n
-0000574824 00000 n
-0000574978 00000 n
-0000575132 00000 n
-0000575291 00000 n
-0000575450 00000 n
-0000575609 00000 n
-0000575763 00000 n
-0000575916 00000 n
-0000576075 00000 n
-0000576233 00000 n
-0000579648 00000 n
-0000576455 00000 n
-0000570030 00000 n
-0000567533 00000 n
-0000576391 00000 n
-0000570172 00000 n
-0000579807 00000 n
-0000579967 00000 n
-0000580126 00000 n
-0000580281 00000 n
-0000580436 00000 n
-0000580596 00000 n
-0000580756 00000 n
-0000580916 00000 n
-0000581076 00000 n
-0000581231 00000 n
-0000581391 00000 n
-0000581551 00000 n
-0000581711 00000 n
-0000581870 00000 n
-0000582030 00000 n
-0000582185 00000 n
-0000582345 00000 n
-0000582505 00000 n
-0000582665 00000 n
-0000582824 00000 n
-0000582983 00000 n
-0000583143 00000 n
-0000583303 00000 n
-0000583463 00000 n
-0000583623 00000 n
-0000583784 00000 n
-0000583945 00000 n
-0000584100 00000 n
-0000584260 00000 n
-0000584426 00000 n
-0000584592 00000 n
-0000584752 00000 n
-0000584912 00000 n
-0000585071 00000 n
-0000585225 00000 n
-0000585380 00000 n
-0000585540 00000 n
-0000585700 00000 n
-0000585860 00000 n
-0000586020 00000 n
-0000586175 00000 n
-0000586335 00000 n
-0000586494 00000 n
-0000586654 00000 n
-0000586814 00000 n
-0000586974 00000 n
-0000587133 00000 n
-0000587293 00000 n
-0000587453 00000 n
-0000587611 00000 n
-0000588350 00000 n
-0000587834 00000 n
-0000579025 00000 n
-0000576658 00000 n
-0000587770 00000 n
-0000579167 00000 n
-0000588568 00000 n
-0000588177 00000 n
-0000587972 00000 n
-0000588504 00000 n
-0000588319 00000 n
-0000588987 00000 n
-0000589942 00000 n
-0000589043 00000 n
-0000589143 00000 n
-0000590184 00000 n
-0000590798 00000 n
-0000591002 00000 n
-0000592414 00000 n
-0000591077 00000 n
-0000591178 00000 n
-0000592656 00000 n
-0000593284 00000 n
-0000593489 00000 n
-0000593634 00000 n
-0000593731 00000 n
-0000594901 00000 n
-0000593797 00000 n
-0000593894 00000 n
-0000595144 00000 n
-0000595759 00000 n
-0000595963 00000 n
-0000596067 00000 n
-0000597922 00000 n
-0000596225 00000 n
-0000596329 00000 n
-0000598162 00000 n
-0000598822 00000 n
-0000599026 00000 n
-0000600481 00000 n
-0000599105 00000 n
-0000599207 00000 n
-0000600729 00000 n
-0000601363 00000 n
-0000601573 00000 n
-0000601618 00000 n
-0000604504 00000 n
-0000601866 00000 n
-0000601976 00000 n
-0000604752 00000 n
-0000605469 00000 n
-0000605679 00000 n
-0000609854 00000 n
-0000606033 00000 n
-0000606147 00000 n
-0000610097 00000 n
-0000610849 00000 n
-0000611053 00000 n
-0000611078 00000 n
-0000611104 00000 n
-0000611356 00000 n
-0000613438 00000 n
-0000611509 00000 n
-0000611615 00000 n
-0000613677 00000 n
-0000614337 00000 n
-0000614539 00000 n
-0000622824 00000 n
-0000615047 00000 n
-0000615170 00000 n
-0000623064 00000 n
-0000623985 00000 n
-0000624188 00000 n
-0000631527 00000 n
-0000624628 00000 n
-0000624736 00000 n
-0000631767 00000 n
-0000632680 00000 n
-0000632884 00000 n
-0000635196 00000 n
-0000633158 00000 n
-0000633264 00000 n
-0000635436 00000 n
-0000636142 00000 n
-0000636346 00000 n
-0000644887 00000 n
-0000636911 00000 n
-0000637048 00000 n
-0000645128 00000 n
-0000646081 00000 n
-0000646286 00000 n
-0000647142 00000 n
-0000646320 00000 n
-0000646415 00000 n
-0000647384 00000 n
-0000647987 00000 n
-0000648192 00000 n
-0000656113 00000 n
-0000648660 00000 n
-0000648777 00000 n
-0000656353 00000 n
-0000657264 00000 n
-0000657467 00000 n
-0000659699 00000 n
-0000657634 00000 n
-0000657740 00000 n
-0000659946 00000 n
-0000660622 00000 n
-0000660832 00000 n
-0000665370 00000 n
-0000661195 00000 n
-0000661313 00000 n
-0000665619 00000 n
-0000666397 00000 n
-0000666608 00000 n
-0000669907 00000 n
-0000666811 00000 n
-0000666918 00000 n
-0000670149 00000 n
-0000670845 00000 n
-0000671050 00000 n
-0000677822 00000 n
-0000671474 00000 n
-0000671592 00000 n
-0000678066 00000 n
-0000678890 00000 n
-0000679095 00000 n
-0000687805 00000 n
-0000679552 00000 n
-0000679668 00000 n
-0000688046 00000 n
-0000689025 00000 n
-0000689230 00000 n
-0000692631 00000 n
-0000689590 00000 n
-0000689697 00000 n
-0000692872 00000 n
-0000693640 00000 n
-0000693845 00000 n
-0000694080 00000 n
-0000704314 00000 n
-0000694721 00000 n
-0000694864 00000 n
-0000704556 00000 n
-0000705596 00000 n
-0000705802 00000 n
-0000705909 00000 n
-0000706188 00000 n
-0000706295 00000 n
-0000706357 00000 n
-0000706552 00000 n
-0000706921 00000 n
-0000715111 00000 n
-0000707428 00000 n
-0000707554 00000 n
-0000715351 00000 n
-0000716318 00000 n
-0000716522 00000 n
-0000718126 00000 n
-0000716679 00000 n
-0000716785 00000 n
-0000718366 00000 n
-0000719025 00000 n
-0000719229 00000 n
-0000722623 00000 n
-0000719522 00000 n
-0000719636 00000 n
-0000722864 00000 n
-0000723593 00000 n
-0000723798 00000 n
-0000725175 00000 n
-0000723877 00000 n
-0000723980 00000 n
-0000725414 00000 n
-0000726033 00000 n
-0000726235 00000 n
-0000728472 00000 n
-0000726414 00000 n
-0000726520 00000 n
-0000728713 00000 n
-0000729382 00000 n
-0000729587 00000 n
-0000733638 00000 n
-0000729915 00000 n
-0000730029 00000 n
-0000733880 00000 n
-0000734624 00000 n
-0000734830 00000 n
-0000736190 00000 n
-0000734953 00000 n
-0000735059 00000 n
-0000736431 00000 n
-0000737076 00000 n
-0000737281 00000 n
-0000739985 00000 n
-0000737504 00000 n
-0000737618 00000 n
-0000740227 00000 n
-0000740929 00000 n
-0000750381 00000 n
-0000741135 00000 n
-0000761805 00000 n
-0000750632 00000 n
-0000769493 00000 n
-0000762559 00000 n
-0000782270 00000 n
-0000769723 00000 n
-0000789741 00000 n
-0000782598 00000 n
-0000797874 00000 n
-0000789967 00000 n
-0000807801 00000 n
-0000798107 00000 n
-0000815713 00000 n
-0000808068 00000 n
-0000828423 00000 n
-0000815944 00000 n
-0000836441 00000 n
-0000828781 00000 n
-0000845682 00000 n
-0000836689 00000 n
-0000853634 00000 n
-0000845990 00000 n
-0000861174 00000 n
-0000853918 00000 n
-0000868688 00000 n
-0000861413 00000 n
-0000872154 00000 n
-0000872277 00000 n
-0000880633 00000 n
-0000881269 00000 n
-0000881909 00000 n
-0000882578 00000 n
-0000883421 00000 n
-0000884318 00000 n
-0000885079 00000 n
-0000885207 00000 n
-0000885247 00000 n
-0000885379 00000 n
+0000560443 00000 n
+0000560595 00000 n
+0000560747 00000 n
+0000560899 00000 n
+0000561051 00000 n
+0000561203 00000 n
+0000561356 00000 n
+0000561508 00000 n
+0000561659 00000 n
+0000561810 00000 n
+0000561961 00000 n
+0000562114 00000 n
+0000562267 00000 n
+0000562420 00000 n
+0000562573 00000 n
+0000562724 00000 n
+0000562874 00000 n
+0000563026 00000 n
+0000563179 00000 n
+0000563331 00000 n
+0000563483 00000 n
+0000563635 00000 n
+0000563787 00000 n
+0000563940 00000 n
+0000564093 00000 n
+0000564246 00000 n
+0000564398 00000 n
+0000564551 00000 n
+0000564704 00000 n
+0000564857 00000 n
+0000565010 00000 n
+0000565163 00000 n
+0000565316 00000 n
+0000565468 00000 n
+0000565621 00000 n
+0000565774 00000 n
+0000565927 00000 n
+0000566079 00000 n
+0000566231 00000 n
+0000566383 00000 n
+0000566535 00000 n
+0000566686 00000 n
+0000566839 00000 n
+0000566992 00000 n
+0000567145 00000 n
+0000567297 00000 n
+0000567514 00000 n
+0000552603 00000 n
+0000549257 00000 n
+0000567450 00000 n
+0000552745 00000 n
+0000570688 00000 n
+0000570842 00000 n
+0000570996 00000 n
+0000571150 00000 n
+0000571304 00000 n
+0000571463 00000 n
+0000571622 00000 n
+0000571781 00000 n
+0000571940 00000 n
+0000572098 00000 n
+0000572257 00000 n
+0000572415 00000 n
+0000572569 00000 n
+0000572728 00000 n
+0000572893 00000 n
+0000573056 00000 n
+0000573215 00000 n
+0000573374 00000 n
+0000573539 00000 n
+0000573704 00000 n
+0000573869 00000 n
+0000574034 00000 n
+0000574199 00000 n
+0000574353 00000 n
+0000574511 00000 n
+0000574668 00000 n
+0000574826 00000 n
+0000574985 00000 n
+0000575139 00000 n
+0000575293 00000 n
+0000575452 00000 n
+0000575611 00000 n
+0000575770 00000 n
+0000575924 00000 n
+0000576077 00000 n
+0000576236 00000 n
+0000576394 00000 n
+0000579813 00000 n
+0000576616 00000 n
+0000570191 00000 n
+0000567691 00000 n
+0000576552 00000 n
+0000570333 00000 n
+0000579972 00000 n
+0000580132 00000 n
+0000580291 00000 n
+0000580446 00000 n
+0000580601 00000 n
+0000580761 00000 n
+0000580921 00000 n
+0000581081 00000 n
+0000581241 00000 n
+0000581396 00000 n
+0000581556 00000 n
+0000581716 00000 n
+0000581876 00000 n
+0000582035 00000 n
+0000582195 00000 n
+0000582350 00000 n
+0000582510 00000 n
+0000582670 00000 n
+0000582830 00000 n
+0000582989 00000 n
+0000583148 00000 n
+0000583308 00000 n
+0000583468 00000 n
+0000583628 00000 n
+0000583788 00000 n
+0000583949 00000 n
+0000584110 00000 n
+0000584265 00000 n
+0000584425 00000 n
+0000584591 00000 n
+0000584757 00000 n
+0000584917 00000 n
+0000585077 00000 n
+0000585236 00000 n
+0000585390 00000 n
+0000585545 00000 n
+0000585705 00000 n
+0000585865 00000 n
+0000586025 00000 n
+0000586185 00000 n
+0000586340 00000 n
+0000586500 00000 n
+0000586659 00000 n
+0000586819 00000 n
+0000586979 00000 n
+0000587139 00000 n
+0000587298 00000 n
+0000587458 00000 n
+0000587618 00000 n
+0000587776 00000 n
+0000588515 00000 n
+0000587999 00000 n
+0000579190 00000 n
+0000576819 00000 n
+0000587935 00000 n
+0000579332 00000 n
+0000588733 00000 n
+0000588342 00000 n
+0000588137 00000 n
+0000588669 00000 n
+0000588484 00000 n
+0000589152 00000 n
+0000590107 00000 n
+0000589208 00000 n
+0000589308 00000 n
+0000590349 00000 n
+0000590963 00000 n
+0000591167 00000 n
+0000592579 00000 n
+0000591242 00000 n
+0000591343 00000 n
+0000592821 00000 n
+0000593449 00000 n
+0000593654 00000 n
+0000593799 00000 n
+0000593896 00000 n
+0000595066 00000 n
+0000593962 00000 n
+0000594059 00000 n
+0000595309 00000 n
+0000595924 00000 n
+0000596128 00000 n
+0000596232 00000 n
+0000598087 00000 n
+0000596390 00000 n
+0000596494 00000 n
+0000598327 00000 n
+0000598987 00000 n
+0000599191 00000 n
+0000600646 00000 n
+0000599270 00000 n
+0000599372 00000 n
+0000600894 00000 n
+0000601528 00000 n
+0000601738 00000 n
+0000601783 00000 n
+0000604669 00000 n
+0000602031 00000 n
+0000602141 00000 n
+0000604917 00000 n
+0000605634 00000 n
+0000605844 00000 n
+0000610019 00000 n
+0000606198 00000 n
+0000606312 00000 n
+0000610262 00000 n
+0000611014 00000 n
+0000611218 00000 n
+0000611243 00000 n
+0000611269 00000 n
+0000611521 00000 n
+0000613603 00000 n
+0000611674 00000 n
+0000611780 00000 n
+0000613842 00000 n
+0000614502 00000 n
+0000614704 00000 n
+0000622989 00000 n
+0000615212 00000 n
+0000615335 00000 n
+0000623229 00000 n
+0000624150 00000 n
+0000624353 00000 n
+0000631692 00000 n
+0000624793 00000 n
+0000624901 00000 n
+0000631932 00000 n
+0000632845 00000 n
+0000633049 00000 n
+0000635361 00000 n
+0000633323 00000 n
+0000633429 00000 n
+0000635601 00000 n
+0000636307 00000 n
+0000636511 00000 n
+0000645052 00000 n
+0000637076 00000 n
+0000637213 00000 n
+0000645293 00000 n
+0000646246 00000 n
+0000646451 00000 n
+0000647307 00000 n
+0000646485 00000 n
+0000646580 00000 n
+0000647549 00000 n
+0000648152 00000 n
+0000648357 00000 n
+0000656278 00000 n
+0000648825 00000 n
+0000648942 00000 n
+0000656518 00000 n
+0000657429 00000 n
+0000657632 00000 n
+0000659864 00000 n
+0000657799 00000 n
+0000657905 00000 n
+0000660111 00000 n
+0000660787 00000 n
+0000660997 00000 n
+0000665535 00000 n
+0000661360 00000 n
+0000661478 00000 n
+0000665784 00000 n
+0000666562 00000 n
+0000666773 00000 n
+0000670072 00000 n
+0000666976 00000 n
+0000667083 00000 n
+0000670314 00000 n
+0000671010 00000 n
+0000671215 00000 n
+0000677934 00000 n
+0000671627 00000 n
+0000671744 00000 n
+0000678178 00000 n
+0000678998 00000 n
+0000679203 00000 n
+0000687913 00000 n
+0000679660 00000 n
+0000679776 00000 n
+0000688154 00000 n
+0000689133 00000 n
+0000689338 00000 n
+0000692739 00000 n
+0000689698 00000 n
+0000689805 00000 n
+0000692980 00000 n
+0000693748 00000 n
+0000693953 00000 n
+0000694188 00000 n
+0000704422 00000 n
+0000694829 00000 n
+0000694972 00000 n
+0000704664 00000 n
+0000705704 00000 n
+0000705910 00000 n
+0000706017 00000 n
+0000706296 00000 n
+0000706403 00000 n
+0000706465 00000 n
+0000706660 00000 n
+0000707029 00000 n
+0000715043 00000 n
+0000707520 00000 n
+0000707643 00000 n
+0000715283 00000 n
+0000716241 00000 n
+0000716445 00000 n
+0000718049 00000 n
+0000716602 00000 n
+0000716708 00000 n
+0000718289 00000 n
+0000718948 00000 n
+0000719152 00000 n
+0000722546 00000 n
+0000719445 00000 n
+0000719559 00000 n
+0000722787 00000 n
+0000723516 00000 n
+0000723721 00000 n
+0000725098 00000 n
+0000723800 00000 n
+0000723903 00000 n
+0000725337 00000 n
+0000725956 00000 n
+0000726158 00000 n
+0000728395 00000 n
+0000726337 00000 n
+0000726443 00000 n
+0000728636 00000 n
+0000729305 00000 n
+0000729510 00000 n
+0000733370 00000 n
+0000729835 00000 n
+0000729953 00000 n
+0000733612 00000 n
+0000734352 00000 n
+0000734558 00000 n
+0000735918 00000 n
+0000734681 00000 n
+0000734787 00000 n
+0000736159 00000 n
+0000736804 00000 n
+0000737009 00000 n
+0000739713 00000 n
+0000737232 00000 n
+0000737346 00000 n
+0000739955 00000 n
+0000740657 00000 n
+0000750109 00000 n
+0000740863 00000 n
+0000761533 00000 n
+0000750360 00000 n
+0000769221 00000 n
+0000762287 00000 n
+0000781998 00000 n
+0000769451 00000 n
+0000789469 00000 n
+0000782326 00000 n
+0000797602 00000 n
+0000789695 00000 n
+0000807529 00000 n
+0000797835 00000 n
+0000815441 00000 n
+0000807796 00000 n
+0000828151 00000 n
+0000815672 00000 n
+0000836169 00000 n
+0000828509 00000 n
+0000845410 00000 n
+0000836417 00000 n
+0000853362 00000 n
+0000845718 00000 n
+0000860902 00000 n
+0000853646 00000 n
+0000868416 00000 n
+0000861141 00000 n
+0000871882 00000 n
+0000872005 00000 n
+0000880361 00000 n
+0000880997 00000 n
+0000881637 00000 n
+0000882306 00000 n
+0000883149 00000 n
+0000884046 00000 n
+0000884807 00000 n
+0000884935 00000 n
+0000884975 00000 n
+0000885107 00000 n
trailer
-<< /Size 1556 /Root 1554 0 R /Info 1555 0 R /ID [ <3FE6C4DD311C0CD314A321F3F7326EAE> <3FE6C4DD311C0CD314A321F3F7326EAE> ] >>
+<< /Size 1555 /Root 1553 0 R /Info 1554 0 R /ID [ <CFF0FB724450D6A313418D5C4093D31A> <CFF0FB724450D6A313418D5C4093D31A> ] >>
startxref
-885953
+885681
%%EOF
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex
index a1b34bc217..0d1488da6d 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex
@@ -129,8 +129,9 @@
\begin{abstract}
-L'extension LaTeX \pkg{nicematrix} fournit de nouveaux environnements similaires aux environnements classiques
-|{tabular}|, |{array}| et |{matrix}| de \pkg{array} et \pkg{amsmath} mais avec des fonctionnalités plus étendues.
+L'extension LaTeX \pkg{nicematrix} fournit de nouveaux environnements similaires
+aux environnements classiques |{tabular}|, |{array}| et |{matrix}| de
+\pkg{array} et \pkg{amsmath} mais avec des fonctionnalités plus étendues.
\end{abstract}
@@ -167,8 +168,9 @@ spécial & 12 & 12 & 0.5 & 70 \\
\vspace{1cm}
-L'extension \pkg{nicematrix} est entièrement contenue dans le fichier |nicematrix.sty|. Ce fichier peut être placé
-dans le répertoire courant ou dans une arborescence |texmf|. Le mieux reste néanmoins d'installer \pkg{nicematrix}
+L'extension \pkg{nicematrix} est entièrement contenue dans le fichier
+|nicematrix.sty|. Ce fichier peut être placé dans le répertoire courant ou dans
+une arborescence |texmf|. Le mieux reste néanmoins d'installer \pkg{nicematrix}
avec une distribution TeX comme MiKTeX, TeX~Live ou MacTeX.
\medskip
@@ -176,8 +178,8 @@ avec une distribution TeX comme MiKTeX, TeX~Live ou MacTeX.
Overleaf) vous pouvez télécharger le fichier |nicematrix.sty| dans le dossier de
votre projet pour bénéficier de la dernière version de
\pkg{nicematrix}.\footnote{La dernière version de |nicematrix.sty| peut
- être téléchargée sur le serveur \textsc{svn} de TeXLive : \newline \small
- \url{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty}}
+ être téléchargée sur le dépôt Github de \pkg{nicematrix} : \newline \small
+ \url{https://github.com/fpantigny/nicematrix/releases}}
\medskip
Cette extension peut être utilisée avec |xelatex|, |lualatex| et |pdflatex| mais
@@ -200,8 +202,9 @@ utiliser pour développer de nouvelles fonctionnalités. Comme toujours avec
\textsc{pgf}, les coordonnées de ces nœuds sont écrites dans le fichier |aux|
pour être utilisées à la compilation suivante. C'est pourquoi l'utilisation de
\pkg{nicematrix} nécessite \textbf{plusieurs compilations
- successives}.\footnote{Si vous utilisez Overleaf, Overleaf effectue
- automatiquement un nombre de compilations suffisant.}
+ successives}\footnote{Si vous utilisez Overleaf, Overleaf effectue
+ automatiquement un nombre de compilations suffisant.}. L'utilisateur ne doit
+pas utiliser la commande |\nofiles| (qui bloque l'écriture du fichier |aux|).
\medskip
La plupart des fonctionnalités de \pkg{nicematrix} sont accessibles sans avoir à
@@ -1407,7 +1410,7 @@ p.~\pageref{custom-line}.\footnote{Remarque technique. Si l'utilisateur définit
une commande par-dessus la commande |\Hline|, il doit veiller à ce qu'elle
soit \emph{développable} au sens de TeX (en utilisant
|\NewExpandableDocumentCommand| de LaTeX3, |\newcommand| de LaTeX ou même
- |\def| de TeX). Exemple : |\newcommand{\RedLine}{\Hline[color=red]}|}
+ |\def| de TeX). Exemple : |\NewDocumentCommand{\RedLine}{}{\Hline[color=red]}|}
De même que la commande |\Hline|, le specificateur «\verb+|+» admet entre crochets
des options qui caractérisent le filet à tracer.
@@ -2045,9 +2048,9 @@ peut placer le contenu de ce |code-before| entre les mots-clés |\CodeBefore| et
\smallskip
L'argument optionnel entre crochets est une liste de couples \textsl{clé=valeur}
-qui seront présentées au fur et à mesure. \footnote{Les clés disponibles sont
+qui seront présentées au fur et à mesure (les clés disponibles sont
\texttt{create-cell-nodes}, \texttt{sub-matrix} (et ses sous-clés) et
- \texttt{delimiters/color}.}
+ \texttt{delimiters/color}).
\smallskip
De nouvelles commandes sont disponibles dans ce |\CodeBefore|: |\cellcolor|,
@@ -2056,6 +2059,9 @@ De nouvelles commandes sont disponibles dans ce |\CodeBefore|: |\cellcolor|,
|\CodeBefore|, des nœuds PGF-TikZ de la forme \verb+(i-|j)+ correspondant à la
position des filets éventuels sont également accessibles : cf.
p.~\pageref{nodes-i}.}
+
+Les noms de certaines de ces commandes sont inspirés des noms des commandes de \pkg{colortbl}.
+
\label{code-before}
\index{cellcolor@\texttt{\textbackslash cellcolor}!commande du
\texttt{\textbackslash CodeBefore}}
@@ -2072,7 +2078,7 @@ De nouvelles commandes sont disponibles dans ce |\CodeBefore|: |\cellcolor|,
\index{arraycolor@\texttt{\textbackslash arraycolor} (commande du \texttt{\textbackslash
CodeBefore)}}
-Les noms de certaines de ces commandes sont inspirés des noms des commandes de \pkg{colortbl}.
+
\medskip
Ces commandes ne colorient pas les cases qui se trouvent dans les «coins» si la
@@ -2610,14 +2616,17 @@ celle proposée par \pkg{colortbl} (même si \pkg{colortbl} n'est pas chargé).
doit pour cela utiliser la clé |color-inside|\footnote{Il existe un alias pour
cette clé : \texttt{colortbl-like}.} dans l'environnement
concerné.\footnote{Pour le moment, cette clé n'est \emph{pas} disponible dans
- |\NiceMatrixOptions|.}
+ |\NiceMatrixOptions|.}o
On a alors accès aux commandes suivantes (les trois premières sont inspirées par
\pkg{colortbl} mais sont indépendantes de \pkg{colortbl}) :
\begin{itemize}
-\item \DefinitionCommande{cellcolor} qui colorie la case courante\footnote{Néanmoins, cette
+\item \DefinitionCommande{cellcolor} qui colorie la case courante\footnote{Cette
commande |\cellcolor| supprimera les espaces qui la suivent, ce que ne fait
- pas la commande |\cellcolor| de \pkg{colortbl}.} ;
+ pas la commande |\cellcolor| de \pkg{colortbl}. De plus, si on définit une
+ fonction au-dessus de |\cellcolor|, il faudra une fonction protégée au sens de
+TeX (alors que si c'était la commande |\cellcolor| de \pkg{colortbl}, il
+faudrait une fonction \emph{fully expandable}).} ;
\item \DefinitionCommande{rowcolor} à utiliser dans une case et qui colorie le
reste de la rangée;\footnote{Si vous souhaitez une commande pour colorier les
$n$~rangées suivantes, considérez la commande |\RowStyle| et sa clé
@@ -3131,8 +3140,9 @@ première colonne et une colonne |l| pour la dernière.\footnote{Si on souhaite
considérer la commande |\SubMatrix| disponible dans le |\CodeAfter| et le
|\CodeBefore| (cf. p.~\pageref{sub-matrix}).}
-\item On peut se demander comment \pkg{nicematrix} détermine le nombre de rangées et de colonnes nécessaires à la
-composition de la «dernière rangée» et de la «dernière colonne».
+\item On peut se demander comment \pkg{nicematrix} détermine le nombre de
+rangées et de colonnes nécessaires à la composition de la «dernière rangée» et
+de la «dernière colonne».
\begin{itemize}
\item Dans le cas d'un environnement avec préambule, comme |{NiceTabular}| ou
@@ -3450,8 +3460,8 @@ L'option |nullify-dots| «smashe» les instructions |\Ldots| (et ses variantes)
horizontalement mais aussi verticalement.
\medskip
-Attention : la clé |nullify-dots| a un nom qui peut prêter à confusion ; elle
-n'implique pas que la ligne en pointillés ne sera pas tracée !
+\textbf{Attention} : la clé |nullify-dots| a un nom qui peut prêter à confusion ;
+elle n'implique pas que la ligne en pointillés ne sera pas tracée !
\subsection{Les commandes \textbackslash Hdotsfor et \textbackslash Vdotsfor}
@@ -3590,8 +3600,8 @@ Avec cette option, l'environnement |{matrix}| est redéfini et se comporte comme
\end{itemize}
\medskip
-Par conséquent, avec les options |renew-dots| et |renew-matrix|, un code classique donne directement
-le résultat fourni par \pkg{nicematrix}.\par\nobreak
+Par conséquent, avec les options |renew-dots| et |renew-matrix|, un code
+classique donne directement le résultat fourni par \pkg{nicematrix}.\par\nobreak
\medskip
\begin{scope}
@@ -4392,11 +4402,11 @@ Les commandes |\OverBrace| et |\UnderBrace| acceptent en fait un premier
argument optionnel (entre crochets) pour une liste de couples
\textsl{clé=valeur}. Les clés disponibles sont les suivantes :
\begin{itemize}
-\item \Definition{left-shorten} et \Definition{right-shorten} qui ne prennent pas de valeur ; quand
-|left-shorten| est utilisée, l'abscisse de l'extrémité de gauche de l'accolade
-est calculée à partir du contenu du sous-tableau concerné alors que, sinon,
-c'est la position du filet vertical éventuel qui est utilisée (de même pour
-|right-shorten|) ;
+\item \Definition{left-shorten} et \Definition{right-shorten} qui ne prennent
+pas de valeur ; quand |left-shorten| est utilisée, l'abscisse de l'extrémité de
+gauche de l'accolade est calculée à partir du contenu du sous-tableau concerné
+alors que, sinon, c'est la position du filet vertical éventuel qui est utilisée
+(de même pour |right-shorten|) ;
\item \Definition{shorten}, qui est la conjonction des clés |left-shorten| et |right-shorten| ;
@@ -4426,7 +4436,7 @@ $\begin{pNiceMatrix}
\subsection{La commande \textbackslash TikzEveryCell dans le \textbackslash CodeAfter}
-\index{SubMatrix@\texttt{\textbackslash TikzEveryCell} (commande du
+\index{tikzeverycell@\texttt{\textbackslash TikzEveryCell} (commande du
\texttt{\textbackslash CodeAfter}\newline et du
\texttt{\textbackslash CodeBefore})|textbf}
\label{TikzEveryCell}
@@ -4481,7 +4491,8 @@ l'argument de |\TikzEveryCell|.
\bigskip
-La commande |\TikzEveryCell| possède deux clés :
+La commande |\TikzEveryCell| possède deux clés, utilisables en argument
+optionnel, entre crochets.
\begin{itemize}
\item avec la clé \Definition{empty}, la commande ne s'applique qu'aux cases
vides ;
@@ -4489,6 +4500,35 @@ vides ;
cases non vides.
\end{itemize}
+\medskip
+\begin{Code}[width=9cm]
+\renewcommand{\arraystretch}{1.4}
+\begin{NiceTabular}{cccccc}[hvlines]
+ P & O & U & R & V & U \\
+ O & & & E & I & \\
+ M & O & R & F & A & L \\
+ E & T & A & L & & E \\
+ L & A & S & E & R & S \\
+ O & & E & X & I & T
+\CodeAfter
+ \emph{\TikzEveryCell[empty]{fill=gray,draw}}
+\end{NiceTabular}
+\end{Code}
+\begin{scope}
+\renewcommand{\arraystretch}{1.4}
+\begin{NiceTabular}{cccccc}[hvlines]
+ P & O & U & R & V & U \\
+ O & & & E & I & \\
+ M & O & R & F & A & L \\
+ E & T & A & L & & E \\
+ L & A & S & E & R & S \\
+ O & & E & X & I & T
+\CodeAfter
+ \TikzEveryCell[empty]{fill=gray,draw}
+\end{NiceTabular}
+\end{scope}
+
+
\medskip
La commande |\TikzEveryCell| est en fait aussi disponible dans le |\CodeBefore|.
@@ -5030,8 +5070,9 @@ semi-transparent pour estomper le tableau (attention : certains lecteurs de
\index{S (les colonnes S de \pkg{siunitx})}
\index{siunitx@\pkg{siunitx} (extension)}
-Si l'extension \pkg{siunitx} est chargée (avant ou après \pkg{nicematrix}), il est possible d'utiliser les colonnes
-de type |S| de \pkg{siunitx} dans les environnements de \pkg{nicematrix}. L'implémentation n'utilise explicitement
+Si l'extension \pkg{siunitx} est chargée (avant ou après \pkg{nicematrix}), il
+est possible d'utiliser les colonnes de type |S| de \pkg{siunitx} dans les
+environnements de \pkg{nicematrix}. L'implémentation n'utilise explicitement
aucune macro privée de \pkg{siunitx}.
\medskip
@@ -5093,8 +5134,9 @@ de la préfixer par |matrix|, ce qui fait que son nom devient |matrix/columns-ty
\label{rotate}
\index{rotate@\texttt{\textbackslash rotate}}
-Utilisée au début d'une case, la commande |\rotate| (fournie par \pkg{nicematrix}) compose le contenu après une
-rotation de 90° dans le sens direct.
+Utilisée au début d'une case, la commande |\rotate| (fournie par
+\pkg{nicematrix}) compose le contenu après une rotation de 90° dans le sens
+direct.
Dans l'exemple suivant, on l'utilise dans le |code-for-first-row|.\footnote{On
peut aussi l'utiliser dans |\RowStyle| (cf. p.~\pageref{RowStyle}).}
@@ -5196,7 +5238,8 @@ $\begin{bNiceArray}{cccc|c}[\emph{small},
\end{bNiceArray}$
\end{Code}
%
-\[\begin{bNiceArray}{cccc|c}[small, last-col, code-for-last-col = \scriptscriptstyle, columns-width=3mm]
+\[\begin{bNiceArray}{cccc|c}%
+ [small, last-col, code-for-last-col = \scriptscriptstyle, columns-width=3mm]
1 & -2 & 3 & 4 & 5 \\
0 & 3 & 2 & 1 & 2 & L_2 \gets 2 L_1 - L_2 \\
0 & 1 & 1 & 2 & 3 & L_3 \gets L_1 + L_3
diff --git a/macros/latex/contrib/nicematrix/nicematrix.pdf b/macros/latex/contrib/nicematrix/nicematrix.pdf
index 383ac48aa3..ae48ae0133 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix.pdf
@@ -634,45 +634,48 @@ endobj
<< /S /GoTo /D [ 365 0 R /Fit ] >>
endobj
368 0 obj
-<< /Filter /FlateDecode /Length 10004 >>
-stream
-x}K%7~YcP(jb6]\Ԍ{ to)"8'NVٮ,dR||HJPn_Ϯlޜ!~9l-
-,_~Ƥb ܧoPb0h{Rݿ6PI=TMrNDk*3o9 [f%:-&-H__[eʛ7qy x< %r&|hiMeADϵh HXc8tC_rKn Lp{h~m^'Ty\}mVS 8,(4[Pc ?`4X_z0BO+1ʧ?=e4&l6Ղo.Y$(!O<]Sb߆,y>R.kX<u&z j/'CM1[9:\Ԩm`b 3cpDy9@{RoF ͜?ݾC\;omng-N m8A0ZQpq⼇q~d~l@RjX%b|ʕ
-Mc):^~LHH#}[]R:o-=f#!7ȌwYJR-Y<$`~_
-ǘd/y3bF=DQjy 7I,+pւQ.K:{
-Y5x35%!H_-5)X/I#RKmjr&ą|)vQAvB=3G@a@ @n-4HؽV:jxPFVʒRhp&das&|4$ͤTѬo-rҺv KIJ^ 8WA(1u ,r1e%-쬐[De,p_4Ҿ hYI*D[bV搸| &=٥THzi;vxMʝ-<0bLXr:Zw". fݣM+ײ/T~-
-ֽeQB**@C+*c/IŒ/su<rmQȵ]P,Xi&48qx )G OL6JD0ps F/X>`;\{B'MCXB$HF WL:BǥJ;4PUI"ﰒ@@~IXtb $ o- d\*:"2WڬǣS (̴9I S&Fΰ$
-<8ä]^\1Tb&fV3jN!WGf4eН1{DViY|G{j)NY"NSR!]Ar
-:;l:I[=\8\RdSByֽE_IͨJeeQEv` CgXe2?qx-MG`IAze fQAv9B`A!sde*OuDMaEQSUhXʬO}#!j4Nb0r)Y-b=$ @:4DL>EALw(a7#8Pw# -x9 g:%E3(_z mfs`l QL[C&h1>MQn6$/4ehI62Ei v}2 ć5n%1*o)\hܤy`[BGC"O@0q
-=QRFT%GM#1-ʤf" c$_8\XSѐ%E S#H$җn$m*#` |QLe+Z)Hl4$,|U$
-*|zFR/ad q{ !T
-$eBGPɝ)&
-i䛮\3LFJ()uzdDIHѕRQ2L$WH;UJ`ض(r8
- "l GU
- I3FQ&Ip$W3 9"!T
-l<6=#Y;g)  c"6JX݂8&"1z<,YdBFPɛ)n<Jdy"Qx|;zF
-hd
-Tq͔.O
-idMikU`:< "+BQ$2]Q¦1pk95'Tv/C#U+B$)hu3Sg'oSZHD]S8(Yt9YhAUlJuRI!nR;DVvD}׵NYQ?#gH
-^$^T
-$
-JP-j[ɬw\>@G~"HGFRkj)i"τȉ.JVvD}ׅ:~Fyɳ^m8@"
-V`u֊&dE2]ņ2tD}:z͐P_
-zL~D^ep8^qBHiE@I2"\4 \V:FA[@QguAj<naHMhEcy8&DN
-tLEşQA蕒*$I %γb(Y ez_ԔNGw[=wǕ.\6<=3hbӎgb~C ?Zƫ|cNGdYZ4^۔-F/'o֢*ױg֢*d_^SxfZ4> NxW2#&k.R(]X7tl/dz")F %|KįЄ
--ķZN47_"w^0mnZ}0$`ϓqaVoC7#(PT^3/S޽D~,*>M[rĭ;p$\-OVIՓ`f
-_*T(MyпNJ7Vx_,#^x&
-/
-k
-0I{.lhZwhMw.U㑢p[153 EgGE}!*!nbe:R~pR۠]4>xlzXM?n .낟x:MQ}vBM[`]|tdl#sa.aԞޝ!V +  փ
-,mxVJxBF m[u>Y`7μ7n3nǁeNinH?38WƟSI j[.hgtr >0*
-Њb5{N J7$s@b}0z<x&:dwOAu]FSS76v˖%[[ؼw{I!_VZ9aw^M6s;~ȁ<}Hdix`|lyu7ik/qѝUTPd/68OWLs4Toy#so&ђMr22?-ع_f<p?_ug,rh?.x=CT?xK& $#I71!ϛ֥/COӄy N=YxiC]]4I\-qf68:i0!}3P\LC\uҷCc0'sR;Ntʈj%%,hcȖt2hSCcN#es i7ZץubǧDEx@0db8}]QkG Soɐ?`Y~k]ӯ mZ$s/ՌNVaû }92.q#
-pWe۩")D"\ŝqd r\ ρ \9
->]`u_<S
-F
-;<ҹAc RlO8[-(aÏ3٬H^bdq޸jT‘hMfG2璺1y%AW< TgZ og\^[#
-$m("=C:Q0e:NoXP
-ɳ۶Vɴ47Ynn+ U΃97>ˢ\1m)#U7~Iw@-ЂxeBc0u?J;-:a^P~fL+Hĺ-e`(G۪[sZc*bimCgugIUhUqDk8:LDŽ?qFxR’s72S@t7~17.l9/@%v^}Ȩqm5Y>rX=_zwV񩦕 ]gO;w+{Cz'%;[\%zwHYoָt뙵?۞݁wMgX TY'4%~NnBJƷ[6asq!$Do*=T\މ-Y]xr$wz>Z/JCeE"Т^|jh虘LLa|tV!= Rp`
+<< /Filter /FlateDecode /Length 10089 >>
+stream
+x}I%=;Jpq_**} }hLi#etEfU*hGHo7s?gWn6on?_ޜM[6m?1???^?~7TRxSӪ$?"QE
+L[CVcyR$ѯ{櫽ͻD\6nBx?)hzII!|ڠ-崁y, ,Wdb\ͷݖj%꭫'sokM:9[jJ`"
+B{gniZrݏ=ڜnn"MFFM?HBA%O^E3?$Ls3!8#*͂LV:+
+iz 9>['|u TФ\ 1un04wMX`J;[lgo.t(EBt3vSR̘)G6. f1l1˘ g0u+5fEu̞l~'d`BFO@pj΀Q(>6@-k8CxgFX`bp,Zc0q?C-[rEwW k1C:v1hY`gFA5̈ z&1Wpz6۸.g+8F@D܀Ģqܧ&NSr:^Yp'\..V5뺎8JM ӯ00Ds
+`32M|figb^O:𠌔%Aa69L25Y;7HILv2mgf~"ֵBsuR>H3J¨!y{w@A~ 9od )(1q2h Rp9h}A ((MvRN*an{P`q/Alݓ]i
+I/miL\КX!6\nBp-ջ".)3Gae_-
+,K]vA1u/"HU+YT7E^6K1$mp)h*+(5(:jꈗ"(WF۹s=:"h*u4ZcD`MASqh:¨ q;w1`E)%)Op}I4'J$GW]bej?IVk |{kєĴ0r)Y-b= @Ӣ:4DL>MDALwyHѰ&lZ}(wOQbe<̳IM/a 9H0(tmX۪ +DaQ qtC3n%1*o)\hSмPO+QD!!AO' Q84K7#8
+VC.ZP0
+Kx'|5+T'FFގ }:h|N; Z -r
+mfkRDu壵Kmc@$BH!Mi%#QBn& ֳrn.+كVg≐a,m,
+^ ʅl 7A3BZ-I6Jΰ8qNؐ}#a(@%->3@JTr0
+r* u URk<TXY`nj$bz
+iBGQ'N 6Ok$mԌ$SP
+*(wJeoւ# i9WJu+O(2B$WH*50b3jR-PA׃M8
+2
+1yFo
+*cB#4$ ?,Nf<lfdH_*PwFP$o:<xuĈY M(*k;
+r%xPµ+ JHb
+38K1#1ڤ'48:q\#iT(
+|g%zFoE=] nAKsR ҄7,N\f6d)H[Gdᤈ[j9ƛûsb[aLrd</Iњ_-9Z偛i>XJ:G #
+) L.…٬qPh?[)SYl5XPP ?
+U _*f\QT(qLQKY'ʷ!mZL0p?7\2\Lp PQ☤HcEGӌېv-ifF?&/T3(D1R1iFQ3,M<f4l0gCZLp?/T7T Lp2RE cFS/"e6Nؔ_Cӥ<BWjPS)0#CUbZEc҄oXj'h>Ⱦ۵`lBeov RdkF"vWX+5.b0*kY3#@*Pݠb`ƅHՊǤ E4N}}cik]aPu >O82sei&(j;N"5kWN'N(uډꜼC$r\=2yˉ4!ЋK:B&LIAEX)w|.|3jp<E!.HzL)HM&Ldv 2TC$r\g<ՆUDX4G3M뉦dLD
+}K V>G5CC~dAp T +V>ӤhD~)ҮR
+$u#_ P2 8J?qBhM䖈Y[=UNEGne? Rq +FӄhD) ҮR
+vD}u##g`(C ؋T,hBJQ+'΋ 'Q/"qu{.mQS;mWR3FgUv<3EkUU[i#?ZƋ|fܒ0OL4Zƫ|Jˊ}Zƫ|aJ.j|*NҘ+zthbϿvӿ5`)PۿdzbuȄۥdgiB5?D1ӾqB[).J>nQ{iDy/¿ n(p?𓺀2\~cͰ~5f|S%ejxKe QhڎI&' GM,߳;S+9xEP~ɕA>W'o>nQ'+{%_V,s{b\|IStv_iWp F= >ihLv/ӑ4XF|ϩ_d@]yν"PNg
+'*@&W'HOŞމ
+¾4!]
+g#?S
+ׯ3P=}:ɟ0voW~У}w?7yb{Tt^z9;K/P\_=%9kApܔgYpP]xq6}Δ/&}@C
+bԻX~O+$1_3Iߟ2^ty2{ ׇ LԞ
+ZUSfwTۊq,p[;;rG)'hGI qˊT?=⹖:l8JtJ?Ma̦w
+l"p^?XPb o_t1r6OCLmof*ٍ3~*[_) p[r:2շ%gT҂3btYvXx8`n99 9X>A^U)7!Ry8c=zjz:}cOj<*A A轊44sv
+FvƶYaW 7[nw8eRz׺ǡUϭ갻OI܎c%.crN7Č=>gv] &~pZ%Kw\u'yU>G!Af_9/Y7 hIy/[ٲމk '|~g l^G=Fjϟu? YPGh6I קIn5Q yx޴.}9ڱd~;&[pm3{&z =(EՒg&ns#&y[~&D(Qh'Vv 똨svA ."[Y=?HQCЙds m7Zץubǧ7*<L21}n硫C7|-,М$.a"~+}4vÛp5kSS+ZCx,Gwe\vCk%L1􉭪Ἧ,S,K&7o^AjxR!
+ o/m1=DùNBO>S64SdT aˣ,,WĊ'&nѹsd6VkF m~U KZVWV]{ v.
+(f}ڸ\sG@qL*Ё).me$?Kܮj뺯Q)Vomi©Ӈs)BQeHi?ʻc4CU5wMg)BUφ2hۀ@jAnMUU{XKY@vg˵Q\\eNw
+r% 97W'sf:JqvcokAp%px VY.p|і^
+ G( -g}K++Yaj7Z;Up4#a|ّX&/{{3[ b';k[' .̞E=S% -֌:bCO04q&SOKI7ycN*V&!mUMy0۷Y&-W5@r9~J%~6MެV,$^ i2O jwFuTj7tq@ٷ<jvi͋T^2/UՂwV\^;fFk8:Lǜ?ʨq^xf)XdihY 7y{EO; /ξP$ոƤqhC{H:2zۗ͛`굮']靻ו!=\LN"e eɿٽw9m1a[vm͉a{Ÿ8jpҔu6sp\u^
+)c(A]P4V)<q]U. Ԯ=ܶah_5}5[*g3u46IFUѪjF<xм+_7HΞ-ֺZ#`vX%mx4WF<?:JMYwxYaٶR]ZgUʨ#
+v)ZLJs^=#TEG6^$/3TBx*k%
+;kzxm3tzdݷD*j3#mlkICV3'dY/1YXw-ݪ-To}::OxCYP28y`F:K:'S
endstream
endobj
365 0 obj
@@ -682,8 +685,8 @@ endobj
[ 366 0 R ]
endobj
366 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 76.659 499.819 88.116 ]
- /Subtype/Link/A<</Type/Action/S/URI/URI(https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty)>>
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 76.658 306.319 88.115 ]
+ /Subtype/Link/A<</Type/Action/S/URI/URI(https://github.com/fpantigny/nicematrix/releases)>>
>>
endobj
369 0 obj
@@ -693,29 +696,24 @@ endobj
<< /D [ 365 0 R /XYZ 79.37 771.024 null ] >>
endobj
367 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F28 371 0 R /F29 372 0 R /F38 373 0 R /F47 374 0 R /F52 375 0 R /F51 376 0 R /F53 377 0 R /F54 378 0 R /F25 379 0 R /F20 380 0 R /F18 381 0 R /F21 382 0 R /F19 383 0 R /F17 384 0 R /F15 385 0 R /F16 386 0 R /F55 387 0 R /F56 388 0 R /F57 389 0 R /F58 390 0 R /F65 391 0 R /F66 392 0 R /F67 393 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F28 371 0 R /F29 372 0 R /F38 373 0 R /F47 374 0 R /F52 375 0 R /F51 376 0 R /F53 377 0 R /F54 378 0 R /F25 379 0 R /F20 380 0 R /F18 381 0 R /F21 382 0 R /F19 383 0 R /F17 384 0 R /F15 385 0 R /F16 386 0 R /F55 387 0 R /F56 388 0 R /F57 389 0 R /F58 390 0 R /F64 391 0 R /F65 392 0 R /F66 393 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
404 0 obj
-<< /Filter /FlateDecode /Length 3882 >>
+<< /Filter /FlateDecode /Length 3883 >>
stream
-xɎ\>_ѹɇ nInOC
+xɎ\>_ѹɇ nInOC
ۈ}-mF? ,i;Q2v$i&Òr-{ٶbD׉1dydf"<S㌹?l2VHAfVZo,=e60'l]<LK~
-("HH38< zŴ}^nt >oxάpp 3qD5ru̢pyL+dV?o_ \p])4zAx烸pR4I!'c>3slHxR{P$9|C=s$?[A]QCimL̂eJ`[*c|[wnFm5tS"FbnFꟕӶG,qg^KѠf ED`LJU7]SP"ްY[TtOAn o"PU9+t8My%*Z
-kEEQAXQ$Aʄ,-l)LZi#ŔjnVcFYWvMFja56EjVŜ9$>!ٖz&KSU5Lcs;6E5b0$F)]
-mtxr<ɬ٬ɇ`lx
-T+3Z J?vvVA ́$cUC14ItyߟW^"\clVSL h[ï, %u
-c vNcKPApPkېo: '0L 
-OK>hQ>Mw`a^9n.RQ*~HrxZ-<飧 –|C#o^~(1=vx /_S3!0#¯ZC*9ߦ~ʲTfK*3Ծ0J$+d[%>~yS+@T֒]\_[ 0$mܥj^\5p}Ip IĵRaVfְHޫӌg'cF}I$un]Mk) >O6IOW{n,ʣsxt$`-5=Sa4>
-L&%97f_*kC3YG x|f9˴"d/hbjcO3y;
-X(
-xǷ#iѡRF!_
-nFw2BRG046/&mO>
-/yUM<R1 MsU)g0 bVhgyĈən0Hw)ϚrW0-}mƨiF뷚e(hHj4PLOKACl`U16(iaw,DϔXҒ&~gú<eǡ3*k!bBĐŸ',ƺR*{zD{=k3hK#@FgM1G8VKhXi(6/w3@z.P=̛
-Oي 5}~%*=v)=\u^1)rUS:Cȅy(rG̊T)ױ3 Yg{Jb;4E;oVKyuthS[]I]*`,(;1Zb;~Q:93tB5Meϴ('k'.K/tpÑtҽdwD(ImJKWw:Q1]q3r
-ֈSJY΍2/QM%#vj)W\ոU8Kɴ)-R:kM))+~i2}/K8%T./_.5/.$pukZ0.!P $˫5*Vy *zm3L'F LLKLU+DW%k/#灺0-B8fк_ki^
-#ð?0ͻ[I*+Za "n<ʻȄf׼Ѿ+\ :}QTVI\ӝWFITbU˵ ZZDS|BMxtOxBn/^\iw`+t\42UCf P'rJ%I 45.|O)OyqvA"Z87*6ϷlG/O"'JX4[z۷k=:i`y{[/otvįL)&
-`ʟn^1Y\{S^m}?vTS{a1rcm_%wT°װg7ꅲk"~V\
-Ud
+("HH38< zŴ}^nt >oxάpp 3qD5ru̢pyL+dV?o_ \p])4zAx烸pR4I!'c>3slHxR{P$9|C=s$?[A]QCimL̂eJ`[*c|[wnFm5tS"FbnFꟕӶG,qgZ0K(J$$eR⭺욂R5?ݢB+H|栘^U r,|CXp1_^y
+BK>.n;"eE9262E/Cj"~~qQ˜# O( OU#K9kRr4"ڵ9ߺaQtMj{o5\I,zћ-9B͐x5qF]&k26刬 nVX+*
+-" OW&deo5?jC,gԪO)T˼vs0Ϻ5k22L~5ڰR"rh5bXluLSBYuZ۱ Ys^awZVʮJ֛1<~5
+g/viSNM h'>:X Đ7izنE_91^EαBPWgDsdU:QE}Tՠ}o7X%OffL>dH0fMƈ!}{(ίp>V['5ZRH^= *M1Fsw8IP#{T I}t9"rUfcM_+uȦZ&)<ZެgH53oSZbxWjJ(Wn$j*T%\IˋjcbRIE~`d
+Kڔ<_߆}?7Сf8aZS8}ZtdGAi}k"qsA/R7C2vj)uI=dQt}{W|w3*LE1ߗ|{;KLdڇ/FŒ`
+ju|J}*˺gR.\2PRH+_,|=~oTuOů
+=.p?OԒIe~=v*Tc}or*TNFJU3|w*eIpȳڈ?6*QW5J.7/FSVh4Te^["#&gn??h #]+uܦT<k8N^
+BAT"cjΖYI"uфCm2=-E y҂Uڠ݉=SbagHK^, *RЖR\2yЊa{CFh2Ke4NEZUj,u"-
+r|j˄ρN;_/DNoٟ{# ! G`DHk R//\OJ<Ƅ}LAs&'K!~6ITzݷGT1nq<L[9YjjO)=v6$ac;͞JCo6P/ \"DhZ!];;*!JHn8q)`87^nR'hG'970`*J#]Glwr_ESwZqt&};vsrNw^Q%RuIV.מ<j5jyME e*7љb:`?
+^{Ur ¦7߁ѮAsfx TetB}-*$UH7Ԉ?ݛ:<I$?phEj bJOcC8>߲ < $+akb|lOo-Fln J|nDm6
+4r
endstream
endobj
403 0 obj
@@ -737,31 +735,32 @@ endobj
<< /D [ 403 0 R /XYZ 79.37 428.769 null ] >>
endobj
402 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F66 392 0 R /F70 407 0 R /F65 391 0 R /F25 379 0 R /F17 384 0 R /F22 408 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F65 392 0 R /F69 407 0 R /F64 391 0 R /F25 379 0 R /F17 384 0 R /F22 408 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
412 0 obj
<< /Filter /FlateDecode /Length 4403 >>
stream
x]ͯ أ`\8/@{2[S:HERߟ3g?/;KR$E8zDž^~|EW=1y*P@/-#TOP*R/r)*1
J
-Gx HQddt4OQ{-ыH~Qj$EA-R֊s~Z? {5ҁǫ*Ӿ/^VO<㟰ۤuP}E>^Б[ u7%$:Y]7 jzGO*v|@WM-vgi`R]|Sw_uݓ&
+Gx HQddt4OQ{-ыH~Qj$EA-R֊s~Z? {5ҁǫ*Ӿ/^VO<㟰ۤuP}E>^Б[ u7%$:Y]7 jzGO*v|@WM-vgi`R]|Sw_uݓ2&
Fo):5Y3ʈ|6U<h7U0
-v7A8YDXk}7|A”[wS]DS ^b=m`ȅx'0B8ŅܤQ 8
-f`GBSh"͡iA*tn0Go7tTu
-|O-Qo!#Xe֛~O@8^Y<7D55W1i_Qf߹&,M6UH7~Cy0 0Mi7[)r,pT.ӋeO7S*ěvͦJiY?/?Qxlվ nB 
-SXQ/#̑W`Ʃ@F8}+EYFub+rgl̾oʓ5|SD`LfƏ) $Nkbpcxノ)c:.0
-ٲPaLT|zu.~p|x8F ,iET\E?
-c܃ ^PLXee!fIM#6|D++WO@2O>"Vslv  k{.Xid^O?/ϟ. ~e Lu˫7մ,aIZzXy:A:v`jah[߲=JeYb8Ny z[@Ƈ
-C 3gA Qbpq̅{"yS
-)Xz9kCI |/2Z9.&cJP?h (mo^#)0@c^%cفvcU <&8[IA PZޭ6l‚'b%@-@%Z'uxQN-l#] %¢U+!Ma4":wDoԐ8c0=,ǘ)^h-8~ LIqI Q :q<M.3 ‹A4w86iu?Õxz+Z"u*R7gм0%drMԭ +ՍqŀCjv&%ow[ڧPY/uKwZj-5Z(64whEL
-
- zXy*Vi8Dag0fߧEh5>9h;9'^s\`}N҂BGkfz,.:g.zfUP"=hK(dKһ)\JԳm(c\Ŭ&vV;JZr4Yj0I +J׆D%XM7 JO`'CXҦWU)-5J7ݠTӲC^r 9ژJ51Zh;DZVo__anC}Di1>&c7반JK}m3S eX]?t&mkԭ(+SEU]x;~96%>f=nS쫓/$1jOyvl.^ =[WueuYekd)o(Mmh+MGU?(;w*+~J* g
-Z=^!H347/`r9pI Wap8
- ug)@ O5du<cept ZTuFY  p)/"r L
-*B+.ܨ{s%QQ΍uyq!*tyq!*|^^t@$op
-ဗGPB)Tӎ9{Ęb#JFk 
-"}φ?X6p\X6ѝXvfXŲ<y.X=#e#;nNX=#e#;6=vl&9.7|lLkȴ'4οgd_)Gԯ?@O79~(Fdb>P^~Va/|A2>>^|؂dƌm/?@RK`.B#|Љ+ʫ$r!ENq%ZwHG#<}ˇcN 3bu'TM8fN1f0 ƔW&qgkSM(Swosk1i9b.; !vY74ct^}P ST{aT 04o᎒
-F-X|߁OߪلE{*x|D:xN6;.bZU kϦbVe^$cT P$E#u}ܟV1
+v7A8YDXk}7|A0ݔh&XO}Aۺ%ra" @9+Nq!7i_B.Π1`*Drûcshh
+:4
+&劣wiw~Zz֫Ke:`0ޫ?DoPDp1H1V7s3;q*z+F6?ytp2{J}wrwJF9b ߔ737Yc
+n1t\8zobʘ . B,,?|,T$0/^~Au~x05˫_/>\251^+NyK
+ʕ&- ӭB
+VOkԣ8
+֠^}pZxzrPR"ߋ VKɘTå2ZJ<H%L<PW $rXvyկ.n7`
+W
+:4 ]Y /jK͚a
+JV$eIíjlv7 kx01l7/
+lJE$X;=W1 E >Vp'M֪)LRŠҵ!9{I.V͂$)UUzJ 5MťҬ: "w@7&մаW\*fC*u|N6&RMjL4[{WذP_+bcz:,nR3pƒl_[5L@%nBoDV*]>IZ*u뾿ks;㔪cCqU_N8pɪϻYjf. IbޢC"E1|CUr]|]qmnf)Je#wJ|ӑi4ʎᝊJz)ƨy3
+iPʽ 7<\~TTx0sc!*eCx^t@$op
+?5$C; ~^t@$op
+ဗGw8QEDy|u
+ƴc޶1vXňQhp;嚯D} AQqgKgP$Xs@JGv@Y,9 'C; / |CL<(HK/z 78F=(G߳Dz2 ,<xt'7ly7-wl
+#ǭ*#Ӂ NخVՂ(ڳťnW9X" 6) sCD_x,Uiw ,YŔ=dIt
+צkƍNߤtvT57E7cNg|@V'gë^,YRT/ص
endstream
endobj
411 0 obj
@@ -792,7 +791,7 @@ endobj
<< /D [ 411 0 R /XYZ 337.806 259.776 null ] >>
endobj
410 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F69 406 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F17 384 0 R /F26 414 0 R /F20 380 0 R /F18 381 0 R /F22 408 0 R /F58 390 0 R /F65 391 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F68 406 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F17 384 0 R /F26 414 0 R /F20 380 0 R /F18 381 0 R /F22 408 0 R /F58 390 0 R /F64 391 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F70 419 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
425 0 obj
<< /Filter /FlateDecode /Length 5973 >>
@@ -805,22 +804,27 @@ a7szS%z}vOW6D}*RfJ*DJboFa_$`
fZ|ߞ*AzAg{N'I_^?UiQWe `DUԽLouUQQWEۥlLU^J}i=F;4Jl
aZg&_^6eFΆ;_Μ Z۝Qg7oͲ2l֜
Lޝu@gTXopp8pM'ި'
-9IJ;q-|㜂);S9?0 g G|y۝ݬ ӈHzmu?a/;ewzmu pO4sk9Uu8窵槥9zG , лlR+/⬶2([wyĠpj@׽{l,9trsy ֧G}Z=aTbާH,TKO{'\$Ec4z'L cu ҇H/Wy?z7o^HD.=
-#Th|`UGTeT*&z:B37*6~oH[gg]LxFUHx2+EQh!aho/9IhRzZ4I-ηQHOӀM
-×Vz?2yѐ<m~Juk;Zyu uByFJHƩ#(u` aݬV1NrhLTuXʮ^=e8T>.^0iţq r3\c,\GwBH ݊/\1- Q]qN~4*)JVGpPCNXE:0:M۩i!t t:pA7dq5y:aYD2ϬN"ֆ'{;5,c |כ/gECIVZ<nt[c'lp2T܄:q5y3wjVV0{ٲZ+.teg2NXT X{9.y } uhQ!w˗
-3#+4헬a(9dL黬{t.͇;k ^5 ;f6wVΪjQYIMAYX^TM_U(^50 _Qwl5qؤ6zyFZgmGFeo4v[cD-;HЧLl^eT\}# ' B.uBVFX=0T-zħ TW-
-N1H8.©cUF#xD۲(wZfd a`ǖVQe t9OZ"hLXpNfЛXџ*mܦvl晷݉-ƉkڤKZ|8Z,dwH~=?8 g0HN+m#Aɚ~XiXbs;::
-VSº0[钌^L~o-H|}M3x1{+I[ٶ<.#4)(*aq"٬ ŸP3w9T9H^o椄V9={&
-;PyF>GEy!zh!vVb;AL#VcU{\5ցp+@^cK22"W{-XSw,=Qڱzcӱwq"؁)D
-Rpcr _+oWGܤ !d
-4Y7K#lJn;LL{\oppwfY5S@j-|7 '6vڙ%`Bƌ0NRJ:4T4h9Zd=lc15#JV6 ف
-8~b͕]8 vL h?NM2
-A HVJnNeYT+ae$&=N@qHG+BK^ϵKiDZ_8GZ95^ʾ$ًX4Ϧj&.8
-N8;HL .#S(g;6Ǧ{k3SfuQb$RF\jʮ?,:QB[ 5#/VbU'ƱVjb6ʦM;өDm NJR|n&a~L3((1\Q@Ƒ53ҦTؔmwVjRrʢMӻTa܆q'Y'C"d(2" fb+7Ze+fbU)Ʊ*vbr6ҦOc<۩S;Opq0BusPE逃p@1JB7yQR-lUnMng&"'-4;>4؄uH@Av[gʪXiՊqڳƹX4φj&.hF}
-zjʨ<:tqƥc־<<z.U2kP]rǠF&BAl-
-Ā9`G؀CFv;!n?zޠ]~+1;憶 yw{9`/[*ޱGonL~\V"^ t?[uGomCC] sm&4TL@x8 [ȯ8$k
-F;n6'|Q{ߟ x7V%}fmF_jy"+pN*,Ik}`?Rڹ aЎLZ7' hHX@b ? %ح|
-/sl70}DCP5[A+1?ȷ*
+9IJ;q-|㜂);S9?0 g G|y۝ݬ ӈHzmu?a/;ewzmu pO4sk9Uu8窵槥9zG , лlR+/⬶2([wyr#TݣdK'lFgɡ{U缐k>= >=إFb?Xz;<"p(C;g`Ȕ$>GryD?hѻ~•@'rqdߗ֟DzHRF3
+?.KeRIo7 v'K!O98W){gE:>|Ef5B“Y/F3 C%{~ID=7byHOjq@zl(V|DE~;|(t<s6
+Z*6 %Z37nT&ȝ(@K$J@JDm~}8ӟ=$l=i쓏u}#wM$ζ5+N惛Eq+1pR ҫ-<SLXYth3U*#_qZ4Ϋ["Uσ7UB2NuD[Cn(̌>fMw G+gʍUv)6Z't"8~M3.ukdc>FbV|H՗<ri)nsUMT <o:Z=zp*ґ
+[T^ hmd Cȉ'cJecs)N/n>Yd9_h1{wqwVU㰌͒Hj͒IJWj8$ʮ2ؽ@􊭁tA&cA_^V&9#O%C$ 0*: o;7Z-.|
+#*h1Fԇ>Eebz-jw g
+CY7OS裔yku1lΒS@]YWtwzy_% މe<̥dw%-1ތ]$T֥pJdrgv~lA:Ckŋ[ LͶEq)-MqG T{fmh,ꞡˡ:Az6'%綪ػ5Q9P3
+EE<*ʻ%Cs )t b>ΐn?\{P
+ՎԋxLi%-@׫ &.[8zޔ?
+C>=G$<5;#-ȈN!fkA;@l;c]sk;g(
+j'4mUxz@FFb允5\+%JLʿ9/T6ƘЂ E\ڧ3nqr9j.UV4=YM
+A"3ѝ%PfCI\=-QҰiTevktvhdUimLgAqlJ`}7nsI?,YU)) vUN39=ၵXJ:c4O4(8)T*0^@RWjopku*SĠZ +#1qC:R\Xx]J&9|R%^lMry6UT3 v)YwPXt5e0q5t@fXp)B9۱eL86[㝙48j#q=0rVSvai։bWݺMi`%,6(H tyY+:1Uu8RQ6mǝLN jS^(wRZ3v3 ˼`@IuG᲎26Ǧ|mRSmǝLLj6˄=)::M$Ca0[iHR ,[Y5+J1Uy86}˝NR$yR਴hKb.J FQRi̋jaӨrkv;59iQq)]l
+¼آ~
+:-)^2r+Rc
+B<bP%C<zaMrbej :$"!"&OIif!d)5֡YY%N#U# x[@pSFmapRTSF9֑x_ 4.]A t'7t9ԭ"_s<;=02 Gfhhe.4 G#c^;!htjƀ 2
+y=.hHԪz!GOV۵գ2\:mӷxpv=VkPUSQtĺSA<'Z
+,䓰[n>4.c[vt
+LWx%,Yޏg>J.2, Uv#!dvҍuP[517Ȼ1W{޲p7Ui-}?|p`Z
+q,oe9wJ%=?}k
+Oo3:Ef$ nB~=! ]
+,RǢrxQd
+ёn]Ǟ*v_bgt .հ{A)}/M(ziU0r2HCCo>EJI%G[)V[)mZ
endstream
endobj
424 0 obj
@@ -845,7 +849,7 @@ endobj
<< /D [ 424 0 R /XYZ 79.37 620.11 null ] >>
endobj
423 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F69 406 0 R /F15 385 0 R /F55 387 0 R /F58 390 0 R /F74 427 0 R /F65 391 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F68 406 0 R /F15 385 0 R /F55 387 0 R /F58 390 0 R /F73 427 0 R /F64 391 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
442 0 obj
<< /Filter /FlateDecode /Length 4756 >>
@@ -855,14 +859,15 @@ x\9+&q ,ae Go`'.ūHY,"7~>߾}!3o
ql>Zfq`ycEIb|tE
"
o-Y5kb%FS֒%VbK
-i^uY.2Wmqn_:GgvM幆<ifO_CB$_XJ0BK.Mw&f]nȤDDO2iIuUxX(784FZ%oޘꆸqV1wYަ~B)&L
-up
-j^fJ| t[)H97uɉ &rtX<7#9_5, X
+i^uY.2Wmqn_:GgvM幆<ifO_CB$_XJ0BK.Mw&fRB&$r'x”10M0M82BXyY0-yCdW7čk6t+J1aBؑ[
+y-YV;P={O슧 *..K,$N>4Gvaoce@JE{f!B2V684
+zƻu28"}b+f<!* <l(zk0=RЬ>,V«z/zƓ!t/Ln=s'A%-zce8YItYJYeRiɆ 
G\[.ms=<iSz^HyklEW #cU-M WBTο]lo( ]m+4SüA*a$ӈzx}ީ V1n:2Ym`7JC+C-˻4:ƑL]U]g+Ąs
nw٢SuMJGX[#0Լs9R(MFfd-L2?!|ZCLtk,ETD $YvuH :ٟ:&^hula|"Q2-$bdt4M?S%;c b3:~ZDuyk3H9K/Yͤi1sp}{2FWh L=r&/C&1dH[ayZe~nN,]kC9]{*A%9㮤 V{lsdӔlQDyYVifb4f2 $G貂c:c<[s՜7kyØHЊ+uz$YV\zQӡKKP;G*fs>TǨDƕg3f+ךgimVݜMvzLkuF/ ɦ Dz(Icx F#*XdWvɉޮTgg 8xlY"<Sh! s jppSZ2>
Yu7jJ{_oA%ThwIej F!䖛S:- xf9cg}8/AfCd.a58h2\8~vWF7I/浤4AN+У'.H2A涺\myfV4UhP7+ϫvOЦC4ҍ^F/J'Ÿ^ԡ\
-6
-Rkz <88ʨg?v[
+6
+ߡ1ך-
+mYOToGjwy)HZ--f"(fMf
endstream
endobj
441 0 obj
@@ -908,28 +913,28 @@ endobj
<< /D [ 441 0 R /XYZ 78.37 808.885 null ] >>
endobj
440 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F67 393 0 R /F65 391 0 R /F16 386 0 R /F66 392 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F66 393 0 R /F64 391 0 R /F16 386 0 R /F65 392 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R /F70 419 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
451 0 obj
-<< /Filter /FlateDecode /Length 4573 >>
-stream
-xɎ%>_Q?ځFii9ML}u
- P3ѳȓ7<&y v vM)V*&  $lO6!
-rxN*.߇<c Ҵf>r`>՚=BVgdMM/?VF>A-8F{H"
-{ p5㏑6jcKsGܵOscQ*k !͞//|8h%pXu0AҤH0"9Su<C=HNKp0ɨJÔ8w+ޝI<U[y5E-زC%c`]azmZ2)t u"[Hd#C:Ф+iG]ʓy ?!(H >F"˱?ېO_jY%z.awzײs9-KMüsD >i=~^:IA<З9 H:敼H?a7}C3D!yϙ)qȃsZ]} .RaݛtY-[,`-3^ϛg(#RQ僴 a\jC"+\LYaX&/S&"EĪ7:ګzpuFDP$9\V^W4-R&i1na}-7aŝFq U8Pܲ>p<:'8qt?f gv1qr?+CTI%NO!٢HУ:4zK%~vJ d TMN2yﰥf$VdZ S+EgNk%oh1mjf 2hͤ`ԲȞDy뮆/\B,|Cg% _ <Cn97@d0BdX&-Dĝ"wR3|dMbQℐRF? R6G}}8{&8\f#x^m/=rfO,>}UB2wWF3O4W|J뫎Hkռ_.0dF =򴒗Q6`
-|g5`wK-96rvMq#ܝ+ x{quZ] |PӝM 5#}uV؟w >j< VzR϶6fc_OE5_qoW8hIq2utl?Æp`c[P?gmwb{;p8:jFPBQ=:"h=Qf 8\T ൧a7!> y8zۤ}De
-9GhX
-o2\\N64tkފf:kLMF"I헆S[ʵU"05fV4l,PuW8 Ye5K GшSpB%0m,&&\1Z ;W`,/ uϝ.G,z֔Dp2 z |^%csTs"<oOS</ҸډZ( %UF+THbPJ`F 5B.I#HW6 =z dxj)O(zQtaVt4tՠ!j.L
-eWB4WAp*&'E~--Vb xG'>eer5Xt
-
-I9-5-d[YW}h\ 0)T-׍Tۨ+K6tc՞<?Zc-ZJ(|d4P}׽5SX51Bi$@54lILJU1&R$L#qk ԉeZPu V"S_`I`1P:ťo2/0QFVtˆm>OUFBYvۨ1Ĥ0a5zIi{I/yt{s"T;*зxuתLjOP/|䘯΁0 ) gK
-8-LNyi,+%908Z`{L ]'~\e?[IVL> 91h^jS=p~*wjܸ ̣K&!ElQBhP7<4H'e 뮿{R9* AzFW'v ! "1~[wti,N<n2B;  yTQݵ25>0B;U-|Zi=-]
-2={`;e\{)#S HOƹ8,MWxl)ZʘEO)fшf7J޷x'fH\HG{:q!H>M}$lL{.>%s_wY2GlTT2Q#ޕ9g!km[&u,؞tR^նF
-Җbn&&j'?Nw~m:rad'
- C*L_ŶzfˁP'[5T׭F: 7e{?]}7ᰂg"nN(frtsϦOVǀmaч=+/û(wZN;rjNynZZT.~{cG[i>^%.H#*$]8A,^y{rPY]퓮ĜUk" m*fo"Xy4CSty\;z^?vXS]o׽. <C(,Fa/b&H8gBJnm=j7=ߠWrUȈ]j(C_r'[˺N'[M:<•87lc-S[;džxez0;A6Hq P 
-zs"܌qDwzВкƬX fK#i[hAj˙ j:j71aE{UxRZU^W|zsCwРѧ'^'ʩ
-wt wwF T;Ϗ-6;909(\Nyn>&)N!W
-EVz<'7
+<< /Filter /FlateDecode /Length 4546 >>
+stream
+x=َH''~ 4A$//}; p8sTqIQ,ׅ/?ۇ߽x |7"뙴5q#o??\ <zSx ~ _sM0.~[yFW\wZE,ūiD.c)~J'p+w ]INJr'3ddiMI4 /ҝ0sᘢ!SF r~:\N |"=Mt"̧|=\+7$H l[h
+󹇉1ɸ/3Mȃ+w$k$߇<; [~6cIwjM>֗ y)FgוaVdf>`}~ < 䂴c[4YQF*9G5> jџ#mږfk`Ɗ9TXAp!CG_5sڙ[}gor*MlƠ=702
+[mВIkqDoi IVf@޺#%8?rg(H֠1a] kp0ې/Y%~LJ.awzer& Zי6yf=ˏu$!@_j, }W"  =gkrS"iu#"7xKqvoef=oeG V2|x2rA) uY.~_>H˜@zQƥh8$8ƺzE3eDGD5`2yB0 YrUtգuW*Bʡ^Ir rUhO;,
+joKŸ )ޏ}g<w1T@q\v:B qg3jż6 q yR\i}ÀR0gGuLJ^#0&8ApA%@ThqV'|PʜTo)e$0hɤ+vV$V<ќJJ@dL3I3e ?R=4] _ù:o
+}9|Y
+r Jx>ދj=u0 ;ܜ]75#)Ef2-Ȧ 5z37 !~Oc4>m2+-(mqLpF ^f{^ ^퟊Y=}UB2wWF3O4W|J뫎Hkռ_.0dF =򴒗Q6`
+R>HFF0{slpܫkA*wse{/N+~fN_y'^ʳݟklkcm>֎T] 7]@yd g.SGv8l6\<@˸kvǁ+&P8$܁1V3:bV<u~7ix@2[@h=K~`DJWP!>}I:,d"ťwK|kҳ[}ΰDe
+Nք؄;]LiΏ1˗bb#=k8=KoU19U*eyH->oOS<ۯѸډZ- %UF+THbPJ`P 2.I#HW6 =z dchj)OUzQt'aVt4tՠc\X| ˮh*ƒTQqS%JkkZ_+Đ?Z9O|V-h *?z#\%Q)*l+$b䴷<n!3TbBCbPIOldFqU򴉇3.KהFAV UEs,g#VpvjI ªq /Ϻ\%q@_<& aLMdR5&a W\{_+UNN%/Brk\дjL\-.}y祩JXM.Oy}V1',*QcIajq^D<wU
+Ayo겯U= ՞ߡe_1_a =S&=tFe16Uf 5հڍ&a,9tsNPrQʱ\劀\\Y 0&1wFȵHNa~p.T@$(39-
+z h1;X$4Cws\l%[Mf26ĠNzMgar.3|lIh"Rt%uC#t]ưYQ'od;4(M>ɷ q`q` ܺMcwZv3)Z1܉^Pb߮׮>Wͣ> A1-'lJiR鹖
+Җb&jly@?okyKD;O6mi.Bj `k3N[+VY
+۶^s~^ȋ9<\
+wI^o(
+˩QX틘 P!lvsZM}ry;2beW{ɖ;ŲV.pb4N qa(^.} MbҸVB@czP:&
+ѫ2T7jw(pY
+ܲ;)C6NQg9ݼSʶV;ш[%TH -ԛI%f|C&Ӄ5fUb035\IķuB -P[dUQK K+rk
+EՒurӛ=>=:VNP轓k(^3b5Zy~oѶ ܫ(p9!n;\"(uXg
endstream
endobj
450 0 obj
@@ -960,12 +965,12 @@ endobj
<< /D [ 450 0 R /XYZ 79.37 169.071 null ] >>
endobj
449 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F28 371 0 R /F69 406 0 R /F66 392 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F28 371 0 R /F68 406 0 R /F65 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
456 0 obj
<< /Filter /FlateDecode /Length 5199 >>
stream
-xˎЊ00dķ ''
+xˎЊ00dķ ''
2jijLJ8.|Wy~ ;n
ROVe05Wil/[G#
(4g^|<1~pŋeŋ0Ixc΁{AAAs 7ĿE5Iv 2VA7A:+}/}Rؗ׊;.jSYGx'@H,51w8 goe~6 u)Hic12=$Fp3샯8S7PGG#~oj4+kY,wF;6^ʤYU89,IBᬉH#ev6'6uhFQ 9暄.^HD7s2hJD=x~Awot<
@@ -975,16 +980,17 @@ xˎЊ00dķ ''
};JhtIWAl'#NwVq3EΊx-BYeg\-|s֤'"ǧ'r[>6sl5ŃxaMgI֔39=)'ͭ~ڽ4jIIxk;mᦱK\8~:W>Mi?SDU7S_SSBiΤ n-ǿǟ߰v}e F ,eBR[^~lS$,Pֳ6ݹy^EA"]0"f<"f"Xe2ωP~qqIXm'XHkdۙ ubGqؼep:k#pq}{:Ƿ%5Ngs7%xoM*1Hqmwɛ̏szwڽhw,sK/5cHiSEm 4qU5o
|ttt[OLأpZ6H3{){2uxLzbz.~Ye!/7$ #L(3TA[v?q %U b@mp,&a-2Niaqs1#5-lROy`7!0vo;;ag]흠Mq* \Ue vzյ6þ3bE]:3g6<zҩzdPA', |D燗 }$+B4՘;@
.yHOūpV~N{G|p!ƚD='z䟰D=y{}>w'Y*Dc_SDDr|ͥ-5ݼ
-A}ZZ UVN>#^}
- w@ IGQ &CXk6lvE;(,ushk  ="6ʰ*+4R%8a-צWjq1VFV?wm[N4;ږ~E ފ*1:LBYcY(J\R936J܈Jmmۡ˒Qx[h$V4 ^6`s恤JsV gFp*+c {W
-o1 u@Zh&Ql
-le:&87
-VXnjU|z8T٬uf"b.Қ
-+֊Д}6HԖ3{ho 4蹗3Ael'²Po 5i]~-2ܨlđM}2e
-UaW&IMWn[\ĕ}mk۝F &}Ijpnԛu8΢}lHʴUX)LJb-}ӨVϱʆ}Gs8TCmYQA6-KO^3df~MӪrזw+s"&s`:0M#5սemT:1N=8ߪ:(-yJ(Vbvf2$[1GqN|W02~neی 2KhSJBD;-Ryz/5BF
-!z()QNU.wzLBQb뇗>QPހ0,2E6^SɨNjwzUyz9}۾촷s) ˑ0Bo~+?M_o9'o }J71oȓml݁ݓRf;>G%5#y &Aߤ.פ>eX&ש㔄30J\|VcS Lcx%iXTE]h'EPm7"(\pmJO$7`i]Y%V8e|QZ:NJx|Sy9N1I7ܛϱ۩](.bͫY96O
-q̳uԴ5jrfR-l2.):"Y2&\;PK@q<+k#YWm{;m^*p`pƂRh,f} l@c!veQ/wy+ŇWTIVh7YuEu =G?ܳcYqy1ݡ`)1@44prdg3ƳH/jO ߕ[nVX3R{x
-ڹ,I
+A}ZZac|@GtS?
+lwPXhq.@'F{ElaU.W[iz JpQA[MbJ&~ڴ(k)hw4-5֋s%Tbt
+B/Ɣ˳Q"ͥ r gljι['AڶC%3Rs+^+srHJim(p3IÕ^JUV"@Q'>&b 북F" ѨM.zPq4Z`
+(c篁Fp*.k렖;%| 9|9:mA'օj&)glIDj&OKx7%6*`C*v2(} zp@RZ
+-ZN"7G Z!
+f2Ƅ9z0!Z6AFHM%" D\r& Q\njb"u}|@LOE&4 ^&Iu51hQ³ιJEA(R 2y5؃6`qpRs oaVaFL09ԁ$QFSED!MG\
+b55 ;F"(IEIz|PQ<Dr) Ub`&l| +&-AMtjR"HK%"NZlvL\n*6l%h `^.J5i@x9ֵĠ$Q$٩s%'GmEA_ODc x|ltU[Lp˻?n3+;$
+j͇QmM$+CY99 ejMfIz+1IgdyNimGJFpX%ۓH.o5c6 U*z,mu)xAQM| o^-1jc6u 'Z9Q*4-I"kcѫZqFYSE\`ɥ5)8UV) l-g"be@-igs/i7zglNeW7g0Aͳ&jҺZdQoو#@/^ gez)ċ!MFKܶ^&+$׶;/1|!>M4%7pEBPziR
++V[T-3Q3c :p^~.ѳ okջnm[5/LfZqNUk;_- 57VDfMt`<oFk{ˠۨuX9$D bzp~3)Uu:QV[|Q|eeHn$b::&?t[Fadg؇˶#dtOL*JuoK;ϕJAv[*&5^kTgc:,bCQRzEk_ r ]n$j\/}6ʡh{aXenmY%̧HOQ ^*s|:}io볝XS
+dGNfXHwXaUhgw;dm7XW^9.A&?h9BXANT_mCW1i];,H⇓g`oAh)
+z~ gw #.28cC)$S"chi fgg^8&B՞}+2 }>Yf.v7W˥:sY3I
endstream
endobj
455 0 obj
@@ -1000,10 +1006,10 @@ endobj
<< /D [ 455 0 R /XYZ 79.37 451.007 null ] >>
endobj
454 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F58 390 0 R /F25 379 0 R /F16 386 0 R /F74 427 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R /F58 390 0 R /F25 379 0 R /F16 386 0 R /F73 427 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
460 0 obj
-<< /Filter /FlateDecode /Length 4497 >>
+<< /Filter /FlateDecode /Length 4498 >>
stream
x]ˎ+ 5JvWNE
YA_̡/AXR
@@ -1021,12 +1027,13 @@ yُgeK#
kG7.D6Ŕ8Gōw_j|9
^%Z3ŮV>4#Ť|9S0/7o\+u=߲sx 77N/+˟x!iҮs07_lു ccYbd3bN}G|j-{Y^̯//}ȏ %B+H#M|ӆg=sw 4׆иOqmTM}\B F>µQ5\H
frwoFmT?^Y8G݋%O@snv"! 3-AnlH{qd &x|ݽHPLQgA^*Y|CUp'ɟCXodOh( Jn18N1<Ǡ 8ʍqI -AplPqH sLp'PqJApqJ s'#8Oqp%z=UQ0bpcy(9LAq<ǀ`86x8B8N-<'9΂r8B *hRO!4%ܢIQUqA -Y9Ƙ<\ǁ<+}@1 zc(DJ`f8ʷ8Prg8 ʽ<
-c8Or|g+刼;Ùa[DVX6,co™QU=؄F6 p7pfoʙS,)[sf3MwΌ=gߟ ׿ֆ4bY9})v
+c8Or|g+刼;Ùa[DVX6,co™QU=؄F6 p7pfoʙS,)[sf3MwΌ=gߟ ׿ֆ4bY9})v
Layחn@Rhhٚ
-tKqcNnV6t%*[:pD*/b,4Jf±$A[8BDDl@` A_ P업܈ʊ_*)cmGBj<sR))?U<hn'史׈%,3DUȼ.yXCu-m$w*BOx&>UWdieA^!t9SQ ו7\kSvdaQRϋBne(ߌJomRђUJƙ)M]S҈HIJL.D-)ɡJN1KҴK*r=uQh_ߦd݆GB&[28źxoc+ʺmYHRb-R5ۂY!?ƵOI #9G8Fe[Ϥt:X%SJ;1IIKppZ,4ˈ Ig=V× Z8&z'zgU=%(wVQ=ֲB`hdػ躳=/B'7ؽr@rr+d+$m k͔SZl5IqYT!^1UMyRKz8͇.LTOrETv6dhv(:V:/!A xxT_n|ɶ+*kbaRap
-ip O (Ǭ3
-UM`23S(Uq
-]jfu3Id/ɬ{pdM[[B#4@X\BPP~hj~h&uMom_1j,=Mˬǧy MR*h̨|*ox`J/WHjW`.df[;^T||hI*s!åim(󱽒='yd9OLv%$ hWDŚX$|tI~ט*k1Lɥ ZnlD`ydO~4 MS+QWR c6&7|m ǢCLX[_7?{;XI\y?^خ
+tKqcNnV6t%*[:pD*/b,4Jf±$A[8BDDl@` A_ P업܈ʊ_*)cmGBj<sR))?U<hn'史׈%,3DUȼ.yXCu-m$w*BOx&>UWdieA^!ٴ9SQ ו7\kSvdaQRϋBne(ߌJomRђUJƙ)M]S҈HIJL.D-)ɡJN1KҴK*r=uQh_ߦd݆GB&[28źxoc+ʺmYHRb-R5ۂY!?ƵOI #9G8Fe[Ϥt:X%SJ;1IIKppZCg5woHǴ?nAG4q&H%88Ш:?,)L}@qCK7g%}?Fםy):a
+b%Ozʾb QjZTC15m>t UEezڕ+Z!FӷCѱ։}\ _HD:vK]Q] kt\=@ mSw | qUzFA Rb5{*NAK-լn&l%uiPcKZy$HKmV-Q0¤"wmX+<F ݗeGiq?/:#"tYJVW wLCI
+̅lkի"o r\}=Ca@: b`{4 u>W$o8gvi׮ějXS|+ )7ׯX%r-)P_ˍm #Hտ,oLoi
+r?
+XJF]b퓡uXts "kg/q2i` /V;-o
endstream
endobj
459 0 obj
@@ -1039,7 +1046,7 @@ endobj
<< /D [ 459 0 R /XYZ 79.37 249.044 null ] >>
endobj
458 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F66 392 0 R /F69 406 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F65 392 0 R /F68 406 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
464 0 obj
<< /Filter /FlateDecode /Length 3604 >>
@@ -1052,11 +1059,11 @@ t=f`;huN,贾Z^Ss+l4iBk5A*RW<Ӑq[M.M8̾ :a?T-Y
BW,īHS~UQ5`n
"dΊ KWA~wWA199oiN9" K&jxUxUE,0澿Z3-X"Nf;3ہ `i~+o!^APL_j@RCA
*oM"A ^$7 i8.$dVn=4]A"Bkؽ[ MwE_4}A#ɭ@ Gn>r\yELv_ef6Ah~UqE
-k K@k 59@9@G zZ
+k K@k 59@9@G zZ
X zUwQ)R,WlJuʓ+M]<ON
<C6%9#]7@9
%!v5
-TJ"Ezl3CժkA42%D4Zҩ~REWe~Ϋ n@@}p7|%
+TJ"Ezl3CժkA42%D4Zҩ~REWe~Ϋ n@@}p7|%
endstream
endobj
463 0 obj
@@ -1069,7 +1076,7 @@ endobj
<< /D [ 463 0 R /XYZ 79.37 195.497 null ] >>
endobj
462 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F28 371 0 R /F69 406 0 R /F66 392 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F28 371 0 R /F68 406 0 R /F65 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
471 0 obj
<< /Filter /FlateDecode /Length 5444 >>
@@ -1088,12 +1095,11 @@ p 7oGV^[ܨ5#{+%^@z+9-g, AiMJ7i)6.X
NUYE Hy•xFZ
ETdS%U %pm@<Cgp*
͒W$z,E({)!ta&͈q/'DAV5LN~y>qr21P<qP<q2s ^ J3#ř Mh 4,[.ىޘ7NAH:Op]<1^\bGD*uxlȑOJZJ=~fhLwá|imPɉųYjqUnvH Nc!(u[_'ܵt #RDPi#+P'CHj߫4 YCw&*ĬsHFFE$7S`i2º䱷0.&":D;,pPYw/,~CP\ԡ6&f<p
- [YuZ3pB=NAsD2n}eǻ,POPI6o!0`fy<iferbq8yY- K>m/; '`[aJ"#mĺE%LdG*[6Z͔qb21̟Nv%ˬC26 e+5{)g>eDgƺ:k3 'cb2A(\J/r>X}b/c,:}6,U?^< 鄮V$c@k;ŧ(`]S pvJ%<*Kx{=‡  i0X_BiXzr8"z|RC1Ub}>7aaiD,mݛ{ь+C)0l;*ЩVR'TL]
-& tⓥ#GaY/mQ,U.mͽ*בp9 8\Xr3&A7M.Bϯ#R?;Q /|1^0WیCt;-0zfOn$!e\VƠ4@gbYFxs#My;Zs:}
- P!zxo=+FK_:^qE2:jL12"VRrf'1|H4UT=6cIn펮_f$>vp_j 򋶖mC:i.\iUizYn3E,¢ssjacjp\d\n'$<kB[ `U[5iRKjtkKZIӯ{"yU˩nL2Opƌ%|&p}F4&roJ5Yg<魾i;Bz-z
-koup2bu _gxr.Dž~޷ ⨍L7OOɄjwښ `9+F=I P2a$te4?F}}q_q//o HvsnC|\,4#?tU:ܖ.^ptMzsm#]Gf^1Lʫ(Fwx:%SGm 3ee4I? '}Zkg{{ 0'ǝ:WcB2W,Ipxt u ]BZ,՚0+bY0a<ӆJ",D"y^ڮg^]GĴ#@͜G
-9Ŀz!˰ݫ.MէYE:<䕙pDEQ}f7ޯƟSpJ7hp<{AKe頂+;Dj] |ژk䫌k黄SRzɪ0~b!SRal[_׋_vcw.跎RIΞT"_ D0-(ʮ/nUWGE1&/qݶ%n
-PW%y|~s qHq}GFC5n[ h՝'yP>UB5%e9Jj3o( I_|>[7x5Pٲr"*Ԫ{}]{饮J~A˾b<ljlKբ_0IP6 elXP/$U#puRHLDbTzѩЩҎ& [:n%1W!jfM)Ll[RC9` ߮bjO%^p={o2 t7[aM6hI}ٺ |0ՑW8sC*۝:ֵNAZz]R9a7Qއ94,`VF}d];Sc2/w9EayϿ/{UL=ENUk6#ņhӽR-5٘Qdz"f}xV_;<u^zA,D?x^{!o|
+ [YuZ3pB=NAsD2n}eǻ,POPI6o!0`fy<iferbq8yY- K>m/; '`[aJ"#mĺE%LdG*[6Z͔qb21̟Nv%ˬC26 e+5{)g>eDgƺ:k3 'cb2A(\J/r>X}b/c,:}6,U?^< 鄮V$c@k;ŧ(`]S pvJ%<*Kx{=‡  i0X_BiXzr8"z|RC1Ub}>7aaiD,mݛ{ь+C)0l;*ЩVR'TL]
+\OaQYǹr5tre~2. HXIɵwr *4wf%Ej5:Rc%׽ Gph<vT7fF'8IcF|^>`>#MC97%隃3V崏!= ]=uz
+z8B&B9Ҷ
+ffgz̰ZiJ~  `b PN{m3/ڮZ#b^F f#xd}ߋjeX k"tG^kWyF}a8""p>WzO)]K%sU Z4E2tPAL]".>m5`AULTٵ]))dU`ktmG\)06/lnrwNk;d[GgO*^_Beחi񫣢n7}bkw^(+<Jwx狎Ѿ#fsVV-[֓ @ *ޚt2ќyK%~mi`A녤/v>M|-xBF(lY9j=HRW%ʉce_Zl{k6hjlFLHE(2@6,^kő{8:$]H"1v*TjTiG[F-Nv75S3u&ҔP&`@rH-0rؿoW1 Lr/=7JXhKí Z4Ѥl]{>vCP
+Jݹ!NZK DP.(]_{he0RZ>LˮпFIŰ<_=* "*]fb\h^l(2nowy<{QAxTܿ:/SwȠaL"L7ԉwp
endstream
endobj
470 0 obj
@@ -1124,7 +1130,7 @@ endobj
<< /D [ 470 0 R /XYZ 79.37 303.071 null ] >>
endobj
469 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F57 389 0 R /F69 406 0 R /F55 387 0 R /F66 392 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F57 389 0 R /F68 406 0 R /F55 387 0 R /F65 392 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
476 0 obj
<< /Filter /FlateDecode /Length 4679 >>
@@ -1137,17 +1143,16 @@ xO{%6 ?NFJSQ}5*
QKTy֩4Ep7?M kSq;/Sܙ(݄-IGS7qL`6ia<}W?o/YIyN-5i1hS^'=p5(VA>#
P9@ZDeNExVҁHp259Td .|^D$diOv%۟d!f04ۧ0L
e=LT>ʽ|Z
-Lژ 2(5`0=L^O)|2WÛMrKFiJ|g8t} 2lJ2oς=)Z@,NwZIYG
-&S$e$ȚjgN$s:pmnJ'fiy8.c>uiv1ˀZzQ-fԫNlL9@^ıtfQ'p+"t}eFFx ia*!WY`K HXoº}-ZR_QP;ϷkasKI;Vw%ʭVj)aq$FN- [m%w;*H W
-![,~[?YQ-ei}e|)Uc &T?9Txx/"DF"rw 7iﰻc˗|
-FQ"})A? #̦9xZ,mF l%
-kJzHg[kZeZ(1kjD4l.Ei
-MR␦cgFhz8k8O\RQڶ5G/IVz] µ<LN laO0 s]~}xH+00*OWzy}$%G¡-@Jݺ@ؿN F QI.veױdO Q~̣ܗ,2派*M^f61°k;{aAE3},v9|ˁ*`G./~}P<sSE= ̝b~G[ls={jz  8{!”󺓭!
-ϴ`
- Y[ O2t6 (1hmK R
-RgT[rځcȍ n‰;wf_aIB|*Ɯcp}L׫wf v>aT?Yr|A /=e"|1u;16'TߤS[v q&R6Mne+Tj/@QQ9&59gtUJ2XYԠ6V>RĂ.eKUB29QvŰQOg=(+!̈́q2:ba1AO'%}oK\(env)J^E$eH\y+jšCߪ-qkLSrدR\jyg[{띨`&-`c=$!<etj$,Z1=,6#LmʏjC"܊_羱@m6E~GlQIn7IΒgf6|pg
-7)NfFq'%l"6Jl09fXD+Ӧy=ൎՕP'@<*nkXA7ZK]dW}Rŭȫ(BM<>SD/<
-4+;#p`gs!LpќC{C1{+͝ؿ흚*&0P_ʇ:8}oֱ+nvqpjsW4;e&󩥇[vip()jAN Z~4|Jم1aY=1i޷碜J!r+=nŚ/UFo]˄JL<1 jwnoItUC-M6rOnddAtcw!.--ȻZ|(/Ct$kf. 3uSbXp*/g+jqC=OV [@m r㎰Pa:+@}3rz#I(, <NZ ܿ۳oܗ64J 9Z Rx0+߽Ir-gDNm}zhZ}ɗY%aRl,6S.aFP^*f{ɠMZeC>MY8%lFk-6Zvjw"$#@Uzn{@%^;7뤂 ǡ.@F7 HC /H⵳HsBڎ8oW{ &SlǴ`iTyIJ{'G%Qa۵G4jXgցo0
+Lژ 2(5`0=L^O)|2WÛMrKFiJ|g8t}2WaSW}xO6bq+J:R4m')$DdT7 $<s
+&Y)ksV:4Lc1uKӥ.!_4:d-^n1^uf{Td!R"0䠍:qh[E.+T72:dz$ooHS d[
+oF:}ֽnђRy] [s^Jʧyҥ%-Qn-RK k_#1bwzoXHLoPN,H-3Qޠ@*MlȗwU`ɊjP&/ӭ7<p0H+{HIkȥ6ɡ›ĻE?%:4oוCѼM{+_S0zK a6k.8eo[6B]Ue+ VXP֫HG:N?@^2([*G1^CGU#"qfCw /J\Uhҕ<?74;+0GիƩXyz}^?:J׶W%9(xI:(E:$1eŨapb`S-/~{jUMǣDSK\@P/3oշdDH8t#%s9B[H3 !V;!J#%xۮ:!ЏyXƜ[ɫB~3;Fvm^tsQ89>ho.o9S,/^xwʹ>g:ᗹ3VOoh
+@!I"gb7scAxe0P9v|D0|
+ĿuInڣl+-+-ۮwUe 9 1pW;|[j
+}jo]a]`0z`gv(BҀ@thZߤe V´/jY+IM-Znslx--q#,9Ŷ)} wj~*rF*|2N >mNpkGubcNs9.EX>*|Ɛۚ3e|uw+B$8?@FTDR1ՎhL&JP,}&OYEQq/b_qHrhj!>3 WH
+$j-'.ut6#p YM[AU
+jvZ\;pmW8qg_LB+,[BO%טs{}zzVLT1
+:Ic֭L{R(j#*bҤ:c*ViVk4c9_jcXE7lJ(W&>6ʟe!dSX9NfQG,,&ㄗ`mv E.EI۫D <opEM]Xs[%{^~i*\΂Uo`_m5l+|soߤlחC4GND5E1ŦaM1TmPv\[7mÆHsM2*f"iY,fl
+X%[_,
endstream
endobj
475 0 obj
@@ -1163,29 +1168,25 @@ endobj
<< /D [ 475 0 R /XYZ 79.37 306.505 null ] >>
endobj
474 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F19 383 0 R /F16 386 0 R /F66 392 0 R /F78 478 0 R /F69 406 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F19 383 0 R /F16 386 0 R /F65 392 0 R /F78 478 0 R /F68 406 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
487 0 obj
-<< /Filter /FlateDecode /Length 4591 >>
-stream
-xˎ$>_eb H \ԻT=A]EQ$EEi |x÷7.8͵|.a.F3B5|t-UX?Q|7y8^waOo 0FƧ0(.m|cv<bWSgpaH<aKJ鵉£$s)R.ߢL" _&a^F! 4E`x3OηQ,J"'%%;%8i!Ȃïi1 $qqK*q ;B48q=ElQ'Fd]&pZcFz)CHGTXPCE3#Ses$0,3%Df\uZB 9*G!i[^*E0U\s*x[S_&b қ9G M c,%<BGV?jkm%OӘt!FL_"A{֝ub NM(m t5OvP̐hl8SD+3 לPC%aƒ%-d;yo64PnL= uBFW:0CLG;CebFE nFA5u'sfAn=4(60S]R!ʚuR;-j{e. ^\A1b#iͪГiXkϕ&5LKm#Wʬ!c]+vyc0h0OqV!!C5tFsLS ]nmJчCQzـ#~ѥ^?Lk$G@͜S28zۙ*gO¹zWہ-a伎x>cC~cn:_ECa(!7=H",BwR#/br%4CmEc{?zT}q@8ns_(TA: ; <͚2Nːyz-JDlbIZii]6SY q|%k4EkAZ^}Kշs} ~ p{5:,1k^48zi/N<O1pCyx}-t8jOيC֢u<ㇻui |KL L6'8
-Ͻ&p+IQ)#F#lKk?W\rtu; ɫ޶4y?5#FCPw}G9M@aLi1jڿ_1AjL#;+%y۰0i'Z]tSk_ th;&ҘY<]uI分G7ƚ9܀ =<N`ip7:s4
-[r=VђEJ-م2^dwH%sy!BmwZ,I涨nlfqɩ"QTܕPm)OʏB)N+%IG^Qm<`lL0#uDل^[ &;d{zgFrN`S#4AHnh9љH^wV^]<Nvo
-iK0ە/+,Xܩք)f˧/
-x|DLm* '["iPG謻R
-0 Y- iSjz-mhq3O'Sw
-ujyM`ߣHaa`+|yHr,JGɟנgvyw`鿿&a-+l[~
-}% 5,`_fxe/d<$33Iw bl C]JqsT|C6nv٬Je꺐ͪ;j,iFq,EY2XXNi5Yb41|zX
-1R޴ #dUoj(2Ҭ:53v, șbz- O|N9P۶kV9nL'g
-}U͓N
-GsU^nhÓC]Q0 9C\ó=
-()c.u=H
-iمK_̠t+4e*Lځ[rO2j)]4o35IMpPSM5ۭC$ NH~]J7~$RGO},B`Л$hHӨ ty{#i?B ,:fe[SsK'yPá@qV8;ς֛ѵӪ+Vӹ 4$2螛J>mx"!`=ʩHQi9!su^Ap&KS٠HNVe{^4uk;TeֿmR &^~K_Ag}JK.{VS*[F|{Jm7@0T/IhbR,+a>b&A*$c ::}OdUWpn[w{_@'Ep'"//7Gt?m}nW̷x_E]ް7u}[{6S_݌an$E7Sp^7?zC7nf}t5nknft5nfWfָOfWv3kܣ?v3uq3ׂ`L^t3u3K?t3fGQf
-|XK Ϙ w8ǧwĀt
-PfpnK+xljv p?u^9L~-U[o)&.kž[Y${gW_xX
-id˗(7? N9N#UTVMm[8]h 9@ǝNCg7fRdPߥ'WBk筜BmNӻU[5F^LKw*NutB&{ihVvtaDrf#L_ayҟBԗַ6N7&SWf:}mp5 CQEep7 UN`c\=on\ S]۶
-'y[Oo8
-?w w*
+<< /Filter /FlateDecode /Length 4600 >>
+stream
+xˎ$>_eb H \ԻT=A]EQ$EEi |x÷7.8͵|.a.F3B5|t-UX?Q|7y8^waOo 0FƧ0(.m|cv<bWSgpaH<aKJ鵉£$s)R.ߢL" _&a^F! 4E`x3OηQ,J"'%%;%8i!Ȃïi1 $qqK*q ;B48q=ElQ'Fd]&pZcFz)CHGTXPCE3#Ses$0,3%Df\uZB 9*G!i[^*E0U\s*x[S_&b қ9G M c,%<BGV?jkm%OӘt!FL_"A{֝ub NM(m t5OvP̐hl8SD+3 לPC%aƒ%-d;yo64PnL= uBFW:0CLG;CebFE nFA5u'sfAn=4(60S]R!ʚuR;-j{e. ^\A1b#iͪГiXkϕ&5LK둫}e𐱮<бn4vT˧8+DӐ!՚aqCk:9M&海 .@N%á(lZQ?v/5X#f΂)JVŠg > S>^%o:v -5~7~!n qiPpScޠFd^D"0
+IhxkGG˕XЈ!x6R5ƥ*\c*}MRM0P7 'WV4kʤ:-CZIN Ċ*APM%kA,Yvfڤ_Oe3i cI]"j&z6.:T>zb>7Od׌`l3
+s$$zԜE? Au40/JeĨivaBo?3!{+4<V mZS0kwM}%ZѢKcfVvսo$#ukNr68Mݘls~hKJ<@xMWWЏӁGGTNbדሣ?=1eQJZ>l ! \F8,s J%Sڥh킧jRc:|3Ϩ)!ڼsIw"&0e/I$ʀUng(X?0wnIaZ-GK)!*⦷g\{ݱNC&D_ ʾϑU)sSx{T1k$ۢy6r֫.g%DSqWrC=<*? 8 ïgK8'yG([ z*czHƲU"3!n<dVLqc]Hfzo-"`
+sPlf$=U>I Ki䆎CXl|on0Cd& :i&HtIGɶ1_LL|+ W}x zBAY?lo=ݜd hkt%yY_`uO |O4m
+a,+Bѱ`A_Gf7ٞٵʱaFe0VCP<Vg(~a_*K|a%Q~~Ԝ$¢N&$٧28t$߷N}]FO>=giU#=J\ ߗ_&#'<$4.) a<mԛ)iѵ @)PÞS"}zN a%P/f.f6pӵ]:bŝjM0lXpz|z.D6T]<%@\-1,7D:}|g˧K&1p/L ة Epκ)C/ff SŲx'.6E5EtrLS.;
+w3օQ8K |`6[P8ټ)\ݠv&5(ܚP:nC[^-7
+BߧXP8 e&܏WLsO29Iq!lʐ8ڥح7O[. l;ļmf͊T (ݬ2FNiTjȭWrp]x)_tV%FeS],M =iNVv!#ͪS39#oǒ)Vגԛc
+m;-m6omtr hm']<pD1W&1<8%
+Nоs:';<é2F]׃t] N
+b+ NSZ2.$E8S+8%8T[ݪ=$MO t[mq-+aqOyK,u)}!.&?MŠ[4@=*Խ3yhV5>G|5 W'`%C>ZS@,h];be9@K"Sӆ' ֣ڎfh^c<Z oRl> Dh%QuJSw)NֿCUfv %`kud֧蒹g5UЮo$Ywd{C D#No ԋ&y<
+m:#_ :s}ίE)!Vj=ݟT>Zk5BϪ)m\W%d
+hVr?1ffxܠW3?Qx4)wQ~!0J?m⢹]Q[e} Nb~vuq~^u ~V԰%܃V)B`RUߞ_,RYچB=Ԋ'0r5em} Ys ΰIhy RuZk]XQ4)j4N<D'[R_-t{9;P E5`pBDbjC@Q|j}sdSd0RuKeܤ߶х&
+bt-mP4D~vJ1hv.KoQA ]y ۉ+ _R[9ޜMOVը1-uX;QW:q]2޺X!.4˙0}{edJ
+JT_bݤO]9^w55PWc!6YіUǸ6TG;5q7/m>ڎnjp QB}<DÑT?
endstream
endobj
486 0 obj
@@ -1219,7 +1220,7 @@ endobj
<< /D [ 486 0 R /XYZ 79.37 279.235 null ] >>
endobj
485 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F69 406 0 R /F66 392 0 R /F58 390 0 R /F65 391 0 R /F25 379 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R /F41 489 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F68 406 0 R /F65 392 0 R /F58 390 0 R /F64 391 0 R /F25 379 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R /F41 489 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
499 0 obj
<< /Filter /FlateDecode /Length 6106 >>
@@ -1232,7 +1233,7 @@ gl$a}fdzH~LDdo2#
~fQaUg)IJzUVтA!d22<yF~0ٽ_,bv@(
F6Yԅ8M1s׻ Hۭ4ԃZ鈩úCȴ|R{BG}Fq<(pY3zxT9<\wL>?4 ?OOp^C{RO2΢}zfz; yki^x<Cտgzo ))_2ǜ̜%sO:_2ǜ̜%sODQvϦYyZ!wy u^3=b߬<k3l(LyfN9'Og/cNByfN9'Og/cNB}0?3)A>
ؽs)f';6V";8&;K]mߺN^iU~>$Ag/^|G*ޮ~zaɏd(R}RLU>q`Ulq~Z;"=wj^'<MHz>i}e ޽K0|{`RQAJ^9X=+
-J#t\pd-E\ogR;C y>C򔬐 Qo/L`3,M\3$Qr
+JUt\pd-E\ogR;C y>C򔬐 Qo/L`3,M\3$Qr
$-^e"UDy8BSQB#ż>!2 f!~qDVnG\Ffr(9f2vZM!(-Ƶs0r= ;PLpL>o3ui#:C 䌢v *9 nI30}߿Y*5Se6t 6QvƔ\\J#XUuiݴ-@) eb[S8(~"X΃X
4Gym#<,8M}t6ř6QlvDjisd8̐^Rưιv i0|AT"c]׷22.p沃gnud'4Zu<} U'cmҽPAGvW{s!N^.:=d'ǽrzA}k~Q}(a"ql&z5$mA)lSblQhg!x VRN$S,bn>Cu:Dh^y|blJN'̥MKuRF2#)PB3RC3Dqὀz[bpKun`w,||BWa ǚ[ 2eO02V˷Iڳ秴̋ÞXvs&*D϶Y:MnK& ^۶0=~/L 4SBD^뢱&r]ێIxԼm Q8[9rbN֑qFb*L !vT;2[Gͨɒ[KH]W7+ƁDN{W9`L)3mLN1n׈#hN{
9Xm ۫Hv½D#Z6`C6or%%ۈNY0>%4D <",Vgrkʧyi:zISNXP& %"Zω\Mmz5"c*n&s}ךLњ8 }w WtժG@UxC6j3 О
@@ -1247,7 +1248,7 @@ sCBOzL^쿙WB׾$/'6e9jvv[-"'O;?Kc:8B
RLc~s)y2sǻ%]&:&nI)Iov-[ͬ {r6Iw>kIcVx ,(pj4~y& [O6
%2W_N2 $KJ9}|́3hRAM-C!/Q 0B`/a0[wď<y1 kLF)3ymp0o4~ xmm@u٠̣ixE 5~qTN睮5EODѓPOGNFIdyt66 ;m` IU |aGK?17ҋesGq{\d&/7 Nr p4iB>m6Ih%Lۀ0<wA)6 ϝlPrʴ s'92mp4 CIH<s~6 e$?qA)6 ϝlPrʴ s'92mIh%Lۀ0<wA)6 =gD`on4*J05Hܱw
ycxi uHipR}@*zݘyiY=CNoWG,D< e*uq DhymΕ~8ZNPf=7^"kXg쒝YύǰlPa7l/r++-+q `z/*VQr7/~*Bli2-ak\]Ld ),R^s8x^V~h+ibUUCHL՚W\FCH֨Z\?8kIP0xl;qr]mn<jqzD@db4[ckiN*.b\rVX#ڪ2Նm|ǖ:_u$T*f{l Mu L6[lkHl3.^~!k7)C'4~~/_8;:
-;݂=6 '?a4\OU,pR:'',QrYJO CrFZ|I.g#ڗbS,D IR:VWxz<AWzEN!.!\дäCW1.衢QQ0|2вCj(cPJvry |Uʡn@t_+Qz/Ђ`6,օzH_X92:߶a8r!}bc!RzOUy<lGvL9N1]_jf4i(`0l1PtZ-*>%+gW<O}|)R,˚Vg:V$I4msGxa p(֗,)H׋
+;݂=6 '?a4\OU,pR:'',QrYJO CrFZ|I.g#ڗbS,D IR:VWxz<AWzEN!.!\дäCW1.衢QQ0|2вCj(cPJvry |Uʡn@t_+Qz/Ђ`6,օzH_X92:߶a8r!}bc!RzOUy<lGvL9N1]_jf4i(`0l1PtZ-*>%+gW<O}|)R,˚Vg:V$I4msGxa p(֗,)Hw׉
endstream
endobj
498 0 obj
@@ -1278,10 +1279,10 @@ endobj
<< /D [ 498 0 R /XYZ 79.37 351.178 null ] >>
endobj
497 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F19 383 0 R /F16 386 0 R /F66 392 0 R /F28 371 0 R /F57 389 0 R /F58 390 0 R /F55 387 0 R /F22 408 0 R /F49 394 0 R /F48 395 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F19 383 0 R /F16 386 0 R /F65 392 0 R /F28 371 0 R /F57 389 0 R /F58 390 0 R /F55 387 0 R /F22 408 0 R /F49 394 0 R /F48 395 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
506 0 obj
-<< /Filter /FlateDecode /Length 5224 >>
+<< /Filter /FlateDecode /Length 5225 >>
stream
x]K$ ϯ}hY0X`g'c9-7{zKRUO;F3ݭ&)EH9_>=|\?|A'6Gfj6}2}Haw!(jZSy tFwЏK0)t?Q7M kIgU4K
IN4H3.r.#V^}g`1N,2\# CۋMmDkJT2"z|}*x>π:J'1h~_5}%ƥD.]!V:p2.*ikqp)K *|)[N-- d#~-LB! } 8QxB1zF5m="zm){ѝ-{W_wt>~)Q$
@@ -1295,10 +1296,10 @@ o'[lEPR/ BH8&9fV2afc2/1 NG@µ7c?%RX!-
~vJЄ+R\TMWFٞg.wYLfRw)Ɖ;ߪX;#eP<Xk4fzH-CF.PmYæ,b[ѡ(pE&L|<C_ק $awi`HΰR_4r!7Snkj}) ֑z"~ kf`mTo
-Ꮌͳ7ᡕޛ[@ Nt$lA"gnJv$Bf'Juz+ɐV\
Xa9Ŕ#IC\>ۏiBk}Wg *E(hvg G=KKlSg O3ljaW8Z
-lk˹Js6|f
+lk˹Js6|f
_V</srRBiGf{w#%3ZI2CF93xaZsj\Ma)\U/d;VV̓<j/Rtz =:<H4O'h}! O5JUPxƢzEzCN{ipRgK=%ܯ]+֡4ѱ` z939h_vAtWiNǗ{Qw9ୄ4Fzװ%?-wޝDTcޟbX\]@nR^}%ծ$AWj5^߀EZb:p2 F8tX́DSGFsZvC"O_aQ
-Qg?6Mc>s0zȹ )bNբNToRogk%JfNS%n;%G){tSקM^JMG ^zSG;&XܶR.du@dJ9?$DINdWW;<5QApsp7Wgfb3Owk`1UgI#%gjm{3_p}ib>cfeUQ[?5ַӉ()ݕFAS*^eUO&z9xU݃Aڨ VyQTMeq.|{*U}2vNi1^.0֤pZrDZpR m/=zȶ"}7j'ږA۞R)JE׌d|bj+[9ga10p*)bX- Y+|#ժm~ŽT`*TU-QELbiQ&Mr )%2cGJ7#Pu5B3YXNU
-|͗x7[uܒHANdp~z=ZO1OeEk:C*'&Ǫ.U t_OMmSJ]lz1* %R=L.s brH$8g2
+Qg?6Mc>s0zȹ )bNբNToRogk%JfNS%n;%G){tSקM^JMG ^zSG;&XܶR.du@dJ9?$DINdWW;<5QApsp7Wgfb3Owk`1UgI#%gjm{3_p}ib>cfeUQ[?5ַӉ()ݕFAS*^eUO&z9xU݃Aڨ VyQTMeq.|{*U}2vNi1d`%IcƏc^>^z*m Eo O-+=ѥR\!?-Vs*)=Zc`N.URSJo[WXG:UHTtZ<]Қ`[5/M|4=pSK2deǰn‡Gk<g:.:F
+19g/e?n%20ݧ',+31:b{bʊ+c]u*aUNMleU'=]@zjڦj1.bVU!Jzh]XHp\e
endstream
endobj
505 0 obj
@@ -1329,7 +1330,7 @@ endobj
<< /D [ 505 0 R /XYZ 79.37 204.438 null ] >>
endobj
504 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F19 383 0 R /F66 392 0 R /F65 391 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F19 383 0 R /F65 392 0 R /F64 391 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
511 0 obj
<< /Filter /FlateDecode /Length 3972 >>
@@ -1344,7 +1345,7 @@ x\Ɏ$WQ>MFpXst-.}5+3Gˡ+3$ |ćO}
;` 텬`ahzjſr7.^B`[X!%EVQF iv
6Ș+ĻcZm}Ц2emxYN.fI3 2gx1em.>6Y~xO
s41jynĜs?>TV\l5gewg)(̻ȼoM6E
-{5jyZECd3U(k@OMURIǡ![,~Mub`Ķ+djtȡa0ʣ< *^&ƶZ "\,73„BzƎ塯NU( *)_uc Q7͜}p(ʗH ^)+"5-18qzsSIW,D|hN*(}.gD\)5TW֤/9-J])2%6*CȀ@Z~F8(|YwצC(5*]eXv%&νWw*i%N9R$$=3[Q&>iKcTfX6(S`UK5Ӷ/uM69Tԡ-˻+Z2)Ȭ7һ,,<Y0/*b3ihzaUos(&NS A?R
+{5jyZECd3U(k@OMURIǡ![,~Mub`Ķ+djtȡa0ʣ< *^&ƶZ "\,73„BzƎ塯NU( *)_uc Q7͜}p(ʗH ^)+"5-18qzsSIW,D|hN*(}.gD\)5TW֤/9-J])2%6*CȀ@Z~F8(|YwצC(5*]eXv%&νWw*i%N9R$$=3[Q&>iKcTfX6(S`UK5Ӷ/uM69Tԡ-˻+Z2)Ȭ7һ,,<Y0/*b3ihzaUyRv&NS A?R
?JZ_*AMJ z<mv'<]y.=iR'nQhܑ$Ŵ4:ҟQvC۬3CM;I6mJnR:PzP/05@!|G%f4.0:E""Gu$(N l0' FP?-͒$l-l#-Z''Ar= u?Ih@% m 1zvr.q=, D
k8舖ml*Z[DZZ2'>)SKm(VӔpm{·
S(vz\y*/u/99 &id>dfn%z+B<H?7F[FmF8ڸikxrq%-+vu$QI~jSz.x>8b밗)sj]o11ˬ/:z]ҹ.9~4o+9PD8c5ZˤrTݯr6/RN ԋ!ͧ!8] VGZr)݂hf?iʐnPfBK4r) KEaF3ű8lU9X,{B_(R\Ur^F呞,E]cZ(h(T#Id,Vz@Yװһ,>4D;x
@@ -1353,7 +1354,7 @@ S(vz\y*/u/99 &id>dfn%z+B<H?7F[FmF8ڸikxrq%-+
wZĨ/w1JaHӨC*
.H'c6Ș3y us! uHHG7:i4 3ɝJ'T7C#D]kHzz1ED:q9MJ0=f_
m wW -"vvnzO';Nzi>vAޚywdj?}?;?xC}Hܰxs
-ǑVf~Y2~ = wd{lb|6ǭ *!rdaz6VotK`/ͺTJNc<*'T
+ǑVf~Y2~ = wd{lb|6ǭ *!rdaz6VotK`/ͺTJNc<*'
endstream
endobj
510 0 obj
@@ -1363,25 +1364,20 @@ endobj
<< /D [ 510 0 R /XYZ 78.37 808.885 null ] >>
endobj
509 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F19 383 0 R /F58 390 0 R /F57 389 0 R /F66 392 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F19 383 0 R /F58 390 0 R /F57 389 0 R /F65 392 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
516 0 obj
-<< /Filter /FlateDecode /Length 3659 >>
-stream
-x\͎ S V
-SMg|݇_J~}.3VeJY ŬRx?KY"(|fNxOoqcq':) 7 Y5xC ;'LWp_q']; cP`2.2$YNFNDV:=ԏDbS}T)|qTWJ;V.\$G}M3;)I=a y˰;x롑<SOm/;o&^p": {N;=N'{;Q6k# ֶW{]4wJs׽^w;Ї]DIYWR6J#粥R{jxnLTqƩt<
-cxF.LX|xF0]/H,څ^(xJ/Z3Q.>^ݻz 5tUDF'R*e:N:elCśQj3qtإCgsX1L*#t3?u1UC
- ^y|H6
-ǥk~U?zCHȔ:/)Pn\OmWu>Q,
-7J%M,u3[5x,7rxӴmZxԖ[uIʈ2ydq<䊖+l)#!El]PMx*LBJDi>J=&D_GcU+(d(*wM sz\# U>J \BP]N
-Ug3rM<8D>\AC5(¾W&y?
-fr<ͣ[Ii_F1a-IQ=[LVgTBL&4ӧK34{]#Q#+&Sw;
-i&oa:
-DZ܅tZ%yT[P  DhŽ,{CB
-Q&ȀY5 FKko%}Stߜ
-:hbg^ٽfG?nv£:ͫ.Ba4ft_!JHST77R|>d{"~db CI/rGVêR9?@m(:DUF]TIk-A<>lwOX
-f.nS4ϵOo-H2S'5wDڼfG= 5!a$' L8x#d$-jϽEV6M<[0|7օNʬξWu=)>>" _ cX\""u_714G5 ܣQodo :J{k5yj2W?ȓȨݜBȭP
-.E .W߭حy0Ւʨ+z, 4gp]5LK3 J?nK}@(#LF7FWf5abÎh7*~Jʁ>?63[38ArrGC
+<< /Filter /FlateDecode /Length 3639 >>
+stream
+x\K7ϯ?ЊD@1-)a d/U5Uqӭ(IQ"ƷOO<yE3oOMl+nƍؾ|~yǹq|[ypn_<YT<!
+qw뎤zj—$q6~ ƿC<G
+O2jmIg J&AXZFRfq6ݬ\ V
+/J?؞~ʚ1D#4s`{znӍIYZh_>ϪQ=œr88qfL=}{;e^LwU1,9E&O`221)0=b"p%g%O.(v&*7]QUni4䳶ǝ@:f/heC}B-2!Zh$}|J=$JXd5V#Qh}`M.yGe4|XVwh&plU:e{a?w Q'WB6
+#עV{jxnL<VAFi
+Ssm<&Y -nOR.{_e_Q!=ZYԮt"IP$\bU>y@:r|iޡs8N w*`qF]ƞGt%y4"k0Lr@)@3ȡǒ1K.W~*Jjhc(i]W\pŒҗ._^^i6'NC5X\7[+=sœRH x@ק[\=vGæD:)gF{ePNZW
+ŪYBݓCo;L#Reԙ7*
+~d
+~c3廚 mea}OL[k߼y-T
endstream
endobj
515 0 obj
@@ -1391,39 +1387,45 @@ endobj
[ 513 0 R ]
endobj
513 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 300.561 92.359 312.516 104.314 ]/A << /S /GoTo /D (section.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 300.561 104.314 312.516 116.269 ]/A << /S /GoTo /D (section.10) >> >>
endobj
517 0 obj
<< /D [ 515 0 R /XYZ 78.37 808.885 null ] >>
endobj
514 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F57 389 0 R /F65 391 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F57 389 0 R /F64 391 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
521 0 obj
-<< /Filter /FlateDecode /Length 6721 >>
-stream
-x]K9rWqй|?`4Z`}XŞe`|ٿ *A3ё>`&s;3ݟ?x[M.˗Y؋5as9_rIo >o>c?^I߿l6l;V<?th1oKތ)e[̟z)sr]ĒO>WԨ'ߴH^G۽&ϱ,efH8/?y;C>n91o˯_bݢP\2u5vO`ڮ o\׎eyQB׺k=y^-[{,KK(nseDΰ] u&q*m+o[?SʂS]m{<c?QfA?5=:~/hBT.iٗ}s!nQè,:2Kp-bs ]'>u )O bB2-Ű3\p6lp}2tOQ?tCOg0ѝs\[sz0is)Ko5GhRR ;>&>{Oӿ뽘%}tl`o]#mbBHxw1!mkuv>lǻ2_ase͝񋍘
-]Fs%zܹxsWF+4 f<uTԁA*))kIQ8rimN+D &LQ@v$.a2򖬿߃a Adzd;.'q$\[<Phha-Wg~+#Glc*"γA9qD$;Fۖ?̿^F#1܁Λ V>o*V\X;vq5V\ L)("-~هlm
-MvЫB S%;l2\.t0ws3'vU<г?KSi k`
-N@4t_a˻-dwy*0I<1~8V]tDftPׯnsOR`.O1BMhPn4ٟt%LtM`*_Vm>n_>Ҧh/{CлpI[gCJ>+k=n$Cj*uKPYA~4-@yr:nho7Rw!^@!SPA7FsG[jq ݛ?'Y}&@};Ц1MGmkC-*@ [nɾ{L"HN2@37rY|s{0|CN30gn䳳m0 (z>3p#d/{n}<tO@%<S(fs9h 9n.͏~a}Pdkf z>ÿ]g=|GoⰺR3=' ɦʣmךNOp
-m& n._ga(X3Ѐ{mebA
-WS9 >Avnl͔2%E bTRJo2#&w]&B
-H8I.vKr )Y7i%SD"Dp@`CJS<KC^A<W&wBraJ$VF1UumbJ$28M9beGD: W#p$Ŧ )͚b='k 
-qCMGB!n]yjkx
-R19 {!+D)BcJozI-{@0d0B*K@9MVVdD8.q_ {R$C;"LGjD`$`Rwoȥr
-/TCȥ w/|T=C 11%F.iD@B@"i X&++8bB|jrt$$kTI+WaTw&BIdRYvHt
-l ~+Z..%$-KěV'li CFHei#V"ʊX0Y+ RW R<Z8HO7dcNăH$$ d_EQqM9FkG/w:/㎄DeUp f2ߛA3i2EZ 1H*N3ANMVVpĄ@Cex[dR_i Lp iho$EDh ! Cnr7>)4qkIv\[g=|
-qv-v0^{zR|kۋ+O
-W,WqM3$Lz ah-{)dvs)zH 0c!c)q=/8 badmm)#RA3:iŁA[ҫ]E
-Żc"_G O܀n&x?H)k YJ܈wZq`XAa#
-bNK^TAN̫r3hEœHXcBPMՆ&}C@fq%KU[6ԉQDe_nZ$Ĉ5F,jf;Qd bnV E`)K ۠+cpm`elUm'^1fmI$
-$hvL+'ѢPɦ Bsk5-8c'뤖!ѣ 3"e0b!KNہ"CQ,x<;c)[H5 gdɺyy\ɖ)nX*`ؚ@R'n;80XFAl7C $*ǃY.fpN׾hbKT2Rٚd\fE@le* s9
-
-1vf&ܥDwX4"X:Rq>x0bIv,yъ6r
-=c+E /3lߗ
-Yg6&/͸m!m+ 8wj5l"^/t[K 5k^gd+Qq+tO7r[7:R׵=.zBR[vw`ͯFq%4-E{JbYz]yyZ7: #Ѕp$F5o70ϲ~_o@K]nң-,˓R>˺6JqFVNguOVm|>
-DN,˦0bѹz,+MM):X;j6+IU;Qrqu+&l-=btiVcQo~[gpf eL7gޚdȷ6}iY9-)q>febv/ڊV>V]߭}7OiF|tc7{:UK_GOlYܽ_Oiu|AѻO1,HRf-TI)U!miS`p?a$Y[Z^Z3h&Yz|}!)&Rrڅ!jwzLKQn̞c&R6/CE3XA TwE-mz%cD"6Bb ~z(:xlw˻w!5Eo/GwSG#'q-]r*#6}]㋎8<z(PMjzpb_}d<˨^\-\,\?;gE~D.z/m}jbzؼ$}Iqo8rOg<]|-Hnxh^OƸyQxOe_!_m4ů0* 7ۻ__ kt0R@A.1ǎa \2<gN{y .o" px?]mb큛;1)}y
-CRL%eI' Cv>EJ d}|#bm?8ZM} }l^˜S5SNފ,wh8yT韾wBNu/rTsNʰ
+<< /Filter /FlateDecode /Length 6720 >>
+stream
+x]ˎ9r+rfQi@AJj 0^5ܻ@{3 3޼BUQ8d0ɇΌ>x[M./{gfoք|n&/jL 11͘T?xl3渳 n[aX>͘Zv?'G;eN,+s=A}M$ukB[Pzm4/~g-W '-wX2To~ 꺌+;D׵GF;k{гnZps`V Bkۜwx-Q3,c+CݬI܃hd~+YbM~\g0l=G^0&us釽v!D営}7f, nˎYN>:b^kQ+3/|DG cr8cHyx_Do)՗?}aP듡{JѦ,m|)>c dԧyK=ͥjSoՐ?ڇ6oY)|L}Lǽ%}t\b6[0jw.Uwl!g}ÐP/D`׺I[;IF!:A\{@`b#&n%z-{Ff޽vFդƊ
+ljJʚBRvtZ
+ ir ЅKrt̥%{2q9MR !HL̵`Gd?$ky
+ |]4}R˃>89xfoƉK?o›K}:ɟ(GDcmYe`,0<Ἁ_bU\?Ϳ#Y~-`7_
+Z땁)V{dX_uկ~;}֦d'-0U-[ wrJIs7;0Vzn*0 db67\I7(O+~{?w?n/&r0F꿋(Ì?ۭ\#K`cʍ&G] ]2X>͇S헁)53>~.o5\z)YB!o%_ޕ5p
+}=n"Sj)uKPYA~6-@a+9uh7*z ?K??z
+0~2^?¦F_oV ٽ^C}oygm3Ѥ}6!~iWva>? ];wY}O773 \vVܞ 6_an! ;d> 
+^f` Ikgpн
+m& nnPfAk.V>.
+DtCBevH C;' 9uD6 fM z,Nj1%,$d!Rqudc5HP+Pr&$ ~|vL
+8r)1eJ$28M9beGL@Mҙp\\Q'"@SnJE,D`#x`X&#+xCM$NЕTIbm\J FĔH$$d1RqrJ)u tg>HMAK.5Ť z-Oj %$
+! +deE6hP+~3ЇܙS-$ 2cI-@Z" 1H*N3AN)X⻀N p
+Ki&
+ZJ5i;"X8gCS$tXc8LLr[a*3!y0deAb {#$ْ2JH !A C $SJ-VfpĄ.#C*Y}5S[aRV6ީ $2Givtadx`3΄DC I:
+4ԅ ޞ }K/2<aI-CWFI$$ dARq ro#&wo/2p!e?2`B6 {[$lUQ
+\*( 1D*N@NMVVpĄ.lL8I4֨;V4œ10LVㅒ,! >`AVx]]JH [:753,&pNj('+ ,GDN b[aV?+
+1 &=0.ypoɘޝ("HH(rJ)u
+^D
+t_Ɲ a˪,%>d(7EQgd$ bTfb%򛬬 ]"24@7i9H|,D@B@(nz5}R:i~9גz"
+5νnմ ZG^Z$̈5,jn;Qd bnV EΥo!դF/% qZF?$[JaakKa v`EXeg" -fgy9]ՊIF,-R K%dk rN;
+!4w2s%OZgS,sYSQ & p)M!qT8D z:W<^c$9^L=;vDa!C`K tWJmxΦv
+ŅQi|hu(qT+-xwE_#E]Lű_ݢRL'}En-wqww+EU\hLW6鲇ǝ
+ >]) <_)r`exLeH_\KEq1([ c٨ж, +o+{PVOgc u!*-5En>2vKkKJ\k-˚G
+&{WGS+K{Λ5kxHHUk&/쒕+^vGLi=8Y߿vj2\ȫ%$0,%?j]qKV^vRv-gy3
+?ނ_Z=7;ix'Hrv%zr=Rz{KBz}< x7^@1Dj)dj_C8$_26Pgg_:*37{O۰ʎ
+Yg6&/͸m!mЃ;@rrZѭ%5uƕt8:ۧ9ayӭc gSMmv=n)ݝ& XQ\ MKi{>W^hOIl5K+:wX^>@fURĨU/_|MBz5^%wwy]zYGC gotjE|VI4nw@~ϲl8܄cY9oX n}/љ-:Q+q$U2G\q [xKcX<f}XTY3Yhm-*DjӍټ&Y"= _>OƜe2M1;7uY}6~պUǻ57HpoR
+| q¯}"?xbڏUu
+g}0Og8Jux6aEBb 6n77OeNjlSMZ&
endstream
endobj
520 0 obj
@@ -1439,35 +1441,33 @@ endobj
<< /D [ 520 0 R /XYZ 79.37 309.865 null ] >>
endobj
519 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F78 478 0 R /F25 379 0 R /F16 386 0 R /F69 406 0 R /F67 393 0 R /F66 392 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F78 478 0 R /F25 379 0 R /F16 386 0 R /F68 406 0 R /F66 393 0 R /F65 392 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
529 0 obj
<< /Filter /FlateDecode /Length 4319 >>
stream
-xڵnx ܒ
+xڵnx ܒ
+Wa[󏭰on6lJoi\/Όkߖo칍s<Oqkg[:|t`[<WB0[!m9J),B; O+üt#tn@WA!tscy,a{BOwcWLd^hʕ2yXh`fʨ$
3 u/P}%M]0!s$w
RxEu~[{H})<>;\@8ZZȘ>
{=4Y7xI2tI=kDEQU(U경BPof]mZU;ֹ745
-wg-L:wA0H[H5U 􌰒)="$R56c9tXTͰZ=n7.˽Uc@ٓ(+цtY6̂1Q]
+wg-L:wA0H[H5U 􌰒)="$R56c9tXTͰZ=n7.˽Uc@ٓ(+цtYփ̂1Q]
V`vr{
-F] k#t4?Z54'RQ#ȴ4@jw)ךgcZhg'*sH|B+u0QWz0z+rgMlF{% ֤ XMtYF0T\+rIa=WN:>Źy"GNDDpB&LQE$wP+dyHpAI%JAXQPkЏON\W?uk%RrdȖ<0@Xs <  6Lf ̻@u!Ό0i3\semp(uf\ӚWQ< eO*'%AK z pO2Fr֓ulO1Q3bF.PI)( P5F OfCt;ӜHQKE TF*-ga
-~0fG{[,QTdi{:dVq}(tE8-?NZծ;ΎL% "띭i 43i (yto4υĬ.
-wHx%TG(5c mq^{)WF(B`NOQEK΢q ±`;"׎)k]rey "JF2V-'+1N^ +cr}ٔÉx)c={4
-bK;H8Lmۆk$
-gBuDǔ~Y@>jLt֊.c+wf[tM$n<:>f_*@EzXdv%dY§].ήuH+<Bcv
-xtD4Ejm
-RO?#BW|4n
-_⋜+9*%I 0T.$fcWYX9o_LƳ|H`8A|y`D@8tNکv81oqAަyc_7DH5LC
-3&*ƕOI!XSS[쇶0Xy]Q[܃i#, ,E:dڨC^L;hϤ+)DŽ*0>oς3}OoΑ>ZqJWQ'ExP%qX.bb|cfzVE=*q'O6b8&cC5W &~٠zjۘ zŠ>q͈.3G~08~/^B{VC=K:y?L`Gct'DyAvMN1f; /v*ͮ`xSfgTuR1JE<7Օ>tOT87VDE׳8p5tKM;YAh$)5v׊) :e^Σhufd/ զ]wqFYnrj)ﯳ u &BYr:G^t7
-DYQY6+FTdroYe!fquY8綗wIe4
-ЕJ@.-߱Ҋ+m1`ľED~+.vڜ r~)(kі<r[o%Dd1$ KUt$ӸzC)c/gLXϗxKq9Vitߥۮwf2f
-J>L0Ί9Qxb/>xb/aNdNO9ǷD!"btp I"jeJMDP\!UyG7A>VuEK\;Y:fAW0҇ ʏ:X@[0AwSP:0iEr
-BNAxf0x񪻣q㣡{ :_&˟_8v
-ǡ3].5-'
-x* ~ r!6^^Lyi_% zQ^Ra九͓fQȫU4g78|ZCI=5}}
-mvTEJ
-1 ǑFLtY2X~C}&^9Haǣ5A11 `pK|Jy,3"Z&]&*J~4WVB(BӉ`]@vo= ̋+< TP4"O '$ _ߌE P<rg'rc_dz~çM) AjK9hW=ot4gJKT+*!U`RefŨ\s[ ѡ
-'Y'$Uv7ݝ
+F] k#t4?Z54'RQ#ȴ4@jw)ךgcZhg'*sH|B+u0QWz0z+rgMlF{% ֤ XMtٵGhHŵ.!tI&sDSKjZQK]Gj.!rD@'dUt
+*HrBWQq~|SfX"e0*GlyΣ
+a|5L5I!Y;NJfWnA߇=JGO`ONΎ^lU(ɔX9j-ٚ@3ƠIF\-L?풪pWBuR377x`D./v~/-;EYDM,ZW8 i?oݟ " L #q혲f%[Vױ h9LL0-arnprŰ2!חMI0R=>cA3x Id<DvmF2 N\Aq&TG.zL \*}.4AwJm2zky%AWDɣcTTU@aWB%|t+g]cy1qJ'X=Cx3M`Q?G.`}yψP_`% [/"JN,JE̺ IUh}V+` e@.j-5Ӽ~5
+c
+Gq
+>#۳L[sσV\`RxU}IfɥyV6YyQ
+a܉q#9β#c#co66B~fO\3byl?c勗eP rޏ.X39] Q^xSNËJh~&;ԡ)U%aeTR0Mu%u38U'MU7al'N|A l }R`Ns%a/Z/4IJݵ"f/{ld
+xY:}(tKh#Cn)v׾]`qewC@<P;W5Ev|kVT$͊)DܛeVvk}kgbEm]7"p|Y
+[ _6ߊ 6g/|ã)w
+C~wZ%"ϯܖ[**F ɂgj</8/=4FʡvtǘEY#2V%ޒi\Nvw)l mn2kinK3wChB
+LKZ~?zγS!3CKӿIe>
+??4iw8ͬu8(@(b'&gB7cxj&xY*Ii#|bxns
+BRAߛ9#~J&Jz18GTDY1*Wւat&w|I:IMw'܈:>v֨έczy'![I V!mG*%
++b۶5zMn}vEپi>@B$&z_X1X(цZC3`͸rT3z#'(D%KL7HD;{I'7J7Ek
+ؐ'.(ػ&&cytKX{<Yq7&_({ A[w[潛V0~|%-'CK9k<z͐{F˓juz*^j~ 2W>ˮXE=R8Hp7_pO%]LEδb6~75wՠ1P~(XkW!>VUG8^KzF\O7^LXVh{ C9[5B(1t=8|)I{zS]s`rW?|ghZc[} [+K9.דr#z1i0c!<5<'EȬڿ\HzV䭤UtN&Ado [Hh(Դ$
endstream
endobj
528 0 obj
@@ -1495,10 +1495,10 @@ endobj
<< /D [ 528 0 R /XYZ 79.37 669.948 null ] >>
endobj
527 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F66 392 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R /F69 406 0 R /F67 393 0 R /F58 390 0 R /F78 478 0 R /F65 391 0 R /F19 383 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F65 392 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R /F68 406 0 R /F66 393 0 R /F58 390 0 R /F78 478 0 R /F64 391 0 R /F19 383 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
536 0 obj
-<< /Filter /FlateDecode /Length 4863 >>
+<< /Filter /FlateDecode /Length 4860 >>
stream
x]I9rWQ}(<Vk`|n{ \-BVV5'*3#䗌,J/
7[ܻ}oJ_qkyB.J͈d.B)
@@ -1512,12 +1512,9 @@ e~9WlTၛx΍
'M'-%.%H$Ý$1- J䧫.S>t7Iw+$SJdL9E,Q#oDf˃fQ%d#ļԙ vLA|}+F NKU2pK/p~^I9-r7^ SĪgi9 rWe&":TX'Lm!UCEIw5$e@T0"]DFB>.b=xʼn5&E]ԝ8ʑ1-"&o4XKb nDn*El z;Jc
0Q PcRW\E|
UXn3I5IF(k~/wX"J
-5mt4e1К44;
-B:oLZ%sZa.n(W\4;s \ǧQ<I׃1GV"]-+,%s 6kb(g
-R8d"IܳɃ
-?4BVoʅ\Ë:5L0W
-]ra
-&ͤc3G/PĖQ3zNDumJxEI_
+5mt4e1К44;
+Qf5usA@<4'z0f
+[%wd~MAOJL$yB{6y ]}&RAj-^kxQfrIJ`&Xp
endstream
endobj
535 0 obj
@@ -1539,31 +1536,32 @@ endobj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F15 385 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F55 387 0 R /F19 383 0 R /F17 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
542 0 obj
-<< /Filter /FlateDecode /Length 5217 >>
+<< /Filter /FlateDecode /Length 5218 >>
stream
x=Ɏw};Cw@ uu5sX7'`Ɩſdn̪><^>F=0iƍx|G X;6s$¹/#~K<aۇd3jˬ?@?C&{}#l7ڦ}jV{2iuN[i~A=c>HTk
xE| dUiiM*AŤL(
ۢҚ -6m&咛D! HoԋkIIO|3g#
)M2LZIU)3!t%P.h<R1a_ͷaƞ|-2z =KӼnĪݪ&
-P͓͐&ݚ(LCd2U6QMO+5E O&L.u$ '~Rcץ!=L}0q)0yRR_[K ZwuR*asqɢ" 5ݳZH&r=nr<T=I/)%$0P2S&ZU$9Ct3>_ՀXQb>Ⱥ*4@K\hZ@Ózw`r5w"Y35ݚ%%¦595ܷd=D.#oS^["m"YX8'$遗+eNHXRjxЏ 2Fp2V" 
-B"&]SL][HryVS6_
-&,42iR:S [7Xc_#1g_BJ
-G)F; ZeRE,q7
-Sd~l'@
-Z*fTV_1B,eKdrp_v܊1Euh JGc!qC!٣d8CL!#R"K[ 5oU)+.1\(? ImQ /qG;?RP@2]h^TE 3L1֝(0ǥ:4ʲᕧVyFO^TzJgyeP *Iif M0В;hjj1H9"+aOĻDC_)T-L=kԝUB+[m P+n]V{.^}ġH4o9v;W9eavԠơF ?1ĸT&U qn-U}t"gCwSYBaJLnz@{?BR=S¶&5R \SizN)Bω!)Gl࣮1TR:XˣP;K_ T H.rFt6sjșHb=`Cš੐Є$8WWH.ĭhHޠYb@C
-8t'둑LK=(O0ba_γv&wke+b'aݲo15a;W|I񒋳`&*aF%EY9_b
-q.8G%=Ɗx\θHΜ1,J2Ď?@>"t0ʫt<m`(I <<⃉'ßMYWM5x?I0"
-Q?eqU@BuY u+ZLj:f(u&b^qC?83ʉ=nm7S?Pl)
-{? }h@YF,%
-5F6k3$qJ\`j}S:-連j0Gh-666AmS \Z&%]_@FpRB؜^P@Sv1?{N5$zR4=5p;u76Z}tWfH gx-8Q64A3h@avL|]P)qOv8ن mN%ȧ:@0Tw'G*ޑOp~
-)~
-!y,
-@iS,
-@%2כ'bGIǯIb]Y4}|U$pɞpWPFv.J)E i~gIL(X˅{r {xx˅{xI-nh:敼̮u6久;Jط[;ݥZ=Cˁ^C^uv4ݱ{<=,;5b~کz@a&?efrOb-/7mz
-v)}^rmAvh4"~}ӛsMMBV$ Hr4*4Tsj4Xzq4E=RYW!4s KFOdK ة3 +is2 _`x ()8n8?A7-00"
-)f@^_7{*+~WM.b^_7+'.'C8.7/KHbJ#0YJP% 0PG/B{oH0%iC$=H(WP*= 9Mg4î~6;=tNl8:kEaGutjBNKo6=/k|D:7V8J}1?Kr|tgyf͍y'KG1<D `&y@`)q>JM?lnUj Or3Ci\kk/5ripk? /sNcz:S7.^V8uI%Է="9۷ *StRՓkAEt/ivCq0+i5SaA3[mڵעi"t0 SްNh$VO< nv^'x[HWSܜj0>KO7v?rZ\MuK3$ ^ ud(R9Lńh G)WhSv83w @
-:?uÄtL 3x}zp+/ۻw`5W]_!3}T *k>Na#K:m!RbA5_a ᘨTر]e»+؈SlilB ^_Z_0ƼC=DZ/P t=
-l7eBg ԻGY;]/oGg|
+P͓͐&ݚ(LCd2U6QMO+5E O&L.u$ '~Rcץ!=L}0q)0yRR_[K ZwuR*asqɢ" 5ݳZH&r=nr<T=I/)%$0P2S&ZU$9Ct3>_ՀXQb>Ⱥ*4@K\hZ@Ózw`r5w"Y35ݚ%%¦595ܷd=D.#oS^["m"YX8'$遗+eNHXRjxЏ 2Fp2V" 
+WdplmekTDp*h tM1um]n#Y O~)xȤOKL%nca&C}9dj~
++=+$^\p3rjٖw,K}a(Lɲ
+hɇHNNi45q}xkz'ςf]ȯ*] S ~UIpX*VRv[6crec7A.+\=rIFV]>PHGIF㷜
+ʂJhBTo+$ z_V4$oHn,Q !Vj}v:Hh%thى`Q0/YFT;oˎ0[nٷ0j _+$xTm0HԎ0W/N`UG=e,K$ZQ)Z ~b;J  ĸ
+Jq#Fݒc<v.g\O$gq%bG͌?_JpunT:I H60S$
+$y_n2s8* E:fŬ: y&|3: 18TE綛(Wm}:?B=e0ɴ3LZCss)y}KV>)ø ?EV[<z5#px##y r(Ɍgbމ0T"3HzkPOf :<F wJ%pBRޖBZчDi[5;ZB*
+f4q8C%
+b}X;:mKfGKè+sӦ)yI*@")4oCEfރ
++3$q3t(]fEI Mizg 0;izz~vx
+
+;`l6'S~ Nƻ#F~'L8M??j<{yaZ Ĵ){aZ ԒYt#x$[LJ$.w>>*R8dO8+( ;̄|$V½FӅ=QЍe=$\_ k4jJrVfWEFtl%U[-ܝx[뉞@/phVm:o؀=鞿Vd{k~t^kS=~0updH2 3M~'ؖ6=
+t2ݥNvTU9ex/0<`@UßM3 /=Ex ?p+&v ؍SWMR1j/AWw!%$JF1l,x%R7$W㒴!q$+C(ゞ\v PX{ܦ3MaWZQϝS:c'sq~ϵ0ˣS::5H!'ߥ7ߗ
+sO[>"x
++>ܘx9>wI<z3܎zƼޣlًRYQ0K<|N_
+V&T:mb
+2snbBi4 q|#HҔ+{;~;
+ך+.̐`>~ 5LrF '0ۑf%6)ѠѯkxV pLT*.}ʼnt2ilD)S4
+X!UO/-/c᡿XBԞfpZ62 {죂tډnҳ]_o)|$&-Qd@~Qti//oa%㦐5ԏk/BpoBn
endstream
endobj
541 0 obj
@@ -1579,40 +1577,43 @@ endobj
<< /D [ 541 0 R /XYZ 78.37 808.885 null ] >>
endobj
540 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F57 389 0 R /F19 383 0 R /F65 391 0 R /F66 392 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F57 389 0 R /F19 383 0 R /F64 391 0 R /F65 392 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
549 0 obj
-<< /Filter /FlateDecode /Length 5128 >>
-stream
-x=ˎ丑
-@r~
-Bl1co/x(™]#]~{R,ŭDqێㇱ0B(lDX͈bzN# E2^hxӤooYϼhTG#F#U]gaT{f-eKwz  z8rDV{<F}
-- ~i5O0vO=2Yٞ }IrNB F!V8IsvXC$O [9 Ki կ}$*(o9y-MhuiKӔNjK_GzGF*}Ehu ;L#HJG
-=1i0
-nYJ'4Z _)&-{T
-XL ؃$C*Zr@@FAZ
-
-q~F0}K_Jg.} 5g%R?o¿m)7.B"q/0nˍN)L^[w@ BvammY;x î?c@q
-"vfQ8
-Pf"RrG;F`LKD1,F rJ>Ћ6w:%FBk"zBK$opAy5 U`6c a5.|^ ?P <Awðj@3cbl\a
-D:~(
-P\bA Tw+BJnUڹL\sE^zcctlʈlZiȽ" Bk1q&3mt`Hɛ~zA-))Wn:06.`ŵ;)?7.RS])h2&5C?ۜ<Ǿa۰LCp[R*,Y~iJL)+̉:O9DFٖc,9IIÊ iA܌O4ҵIdg^nod?B6'3_Y @ۑq阭]7{ǯ!T˫ߛ&} %%"/?uӉlH\2sGZEո9O2wf
-V|@l/{Bhrl5E8b&am>!q
-'a]03r
-' <.x7 zXc~z7&!6%yXcc }Kp:A/?A/N$ z7t޸<IN)z+ .B&aG {"GRJÙAiKNƺsT}z34|>'U؉z1VpNаl,n[ ඥt)w4'}.έ3U2xhyV9)ciX6E7B[8G&)0WVDZǥ"z?clÝlȰ0MZڈټjg@"YꢺE\Q74•AbN;i(!KT4D\C<{DZ𗶥#0uk}X]?u.,"sߖ?&B!uCqBn]mr?(mjO^-ŐP;7>DZ7lòG}C8q>8:m =mWVpߟߢWj8Lm?]|U~sL*h i? LR1}ܞX*n'/a2x[iNw/P޸İqF߶3-̟fN=(/gi:rfTh´#j|Dθ ud 2f'n<taS[΄] #" 0F:bNrKjJ_L>HrKq_ `|C.?bitχ dX<LXcR,+ SKsQVp 7$@^GZ5|6n7q˽pS`ҩ#<! 3Ñ桬Gc9
-1NRc6TN
-PXIVWbT_<sQW8}D܌zsX(trBQ1QVcoB;/./Q/W/db8W5:j^D['̬\XI%&_WW+Z^z'*p;UawRl^z"k-I^j+Vt`J#Vt[{.r)\o
-8?n_Ih_򥬿A]9LХ T -\eP&XbeU_"a/,FQTZ)ol=B%B&!EQVm(Q*Ն
-mhU_*rޗR?hU=*ߵVTܖ$ƚ E]Q
-olmQS, mDY|m 1̓RHSq}h9Nłu !r ЋU]X1l[M\S:ɖ)kU-\5L]7^o0klwQWŴ7/B)*cRtzaWpG嫵cL<Hkc+oP_'-ه/(">dQ-_IYb@E ]0<4_)7,#DKY1%\c퍟_,^ngt-p_+ߍQpqsd鵓ƖW+:~>/
-AER+"ۇy*S
+<< /Filter /FlateDecode /Length 5204 >>
+stream
+x=ˎ丑
+@|?F]SfOwLJu_(Qʜ܁URFx1 CtB?ۧ?384r'?Ѕ-%b4#Tϟ)O?3* 7֖Rƅ(5~q| ᵧw)5n+k
+Њ7##rƉ`d pm"5Zyd؞a4
+lۧ_r'ebOQ30F?wז`-n/8'~<%DQՈbFN#݊&4I6<iҷעg^^H*#g:+,<LXᦴ+ʠ#Gdeu
+3aВ0J<|n{
+o4/l 60M ĔY:k&eCp pLmXC$O ͥ4j
+?FNm`j`l:ԏ%EiJ'JgQ7ՈhHգOnd')^iW`sƮFCV'
+eb n+A/U6 W|{oQU+Q趕wʻJ<඙*xr5C;ECnGDCE) 8ޱMN\0CQ܈&5ˉy_( aKs_ӹ6y+^Go¢#J;'Ƭ⎡”R^Se!Ty*z6]) S!5+':w@ By`4&Sp7lo'{=L̬xžl QOؗɱ4(bLJM3Iy,; (.#9BH?.[8-;-[rSrĀ:EGT=׎:h%*N>N 򐾀</%= +M<-^_,@:O
+o\ ]|q[nKs9,5= X[@ Jva}7y{{°keh0nUAΜke~ԗQ0Ʌ2E͵Fw\Y P%By,F YkAnMdF;OxDQh^sJ
+选swF (Nz
+\^\P7)[.gM6:Yqnq..۔aaB`~s6C) ,z0Bs;_~*aػiWR1񏲫<`zD-2Wo)uwtA+ys1
+^#=J^khGPhyy@.y y+w};*BV.+KDrv3ڔص3{E@Zc\-&~?А\CJ2/JIIz߁Ev-ljNՖ^jj(;e Q
+Ħ>Iq2) '6 H;RjHlJ!/&6%cz_LlBD2Ll
+?zbX0hPPRKl"1L!?Jr\иAbΦ"v</q__j Rʫ/C H @j3I<e2dPgLF7RĹUF.3oN7C?"V$}ݠ Ȁi7# iX 3o&ҭ1kxHg07s.kΥsŧ°56ݤ<bOҹt}")/s3sf
+}&L#x>NLsܫ`Y]١%D}=HNJsݹt<ΕW!aa*'Ǥs{\9#\w.뮊\_Pp/ېHD8W
+W7#Bť|>7ҹt}t.ĦB c  @G໓ӹ\\rϗs].⇋g;ĀIE0)^1T'ٲpLZuTl~YaF/<hj~&Mk9ZH &r<[{> Gr6u xgϧEQ\jS.g?30&\<Fmc>9,E}6 SJN&^3t=3i85VO~jَ;;9[ g:+մ*NV"f>sS&}t˃L1u~QBKj Q%
+Uc&; # a ,xf<e*d0ɭPHU0hǍKms}x]ګrbH̐GZ(u u~|GQx8m1YGw ؤq5hעWìj쟀IVQw\zOEQU s (r@a{"fG+7}yr}K#;DFanud}_s%YYx08M-±<{6`W}R:BϞ>o+>N'.=f+䞾,sXI#vWhٍ
+l#BqL(s|eCB92E
+ԙԸ}5nIY!<w;ǃNC8au\Nf܎^Pb5}hwOmvs,HVԲ`,x&Ai5z9ǂVanR6č@Ї iY0x,x&3ǃGՠCxj3ǂGY!<)GW# ~-|ŬЇzvs,He/Vᩝ /mY0~#<bAZ#<wa)o0 zêLק gc|yn< D3"ڴ/
+ЦkǷqv lo);dNH=^jlaڒxb, 6;_olnB!w/B)ڮ޳Wj0蹳ND/؏1 骟_8l>
+}NzS*wR(
+X៻.ДV"S(jz}UyI _zeVlzg@vfG,^ v9Jcnl^jl}M3mEs/M)
endstream
endobj
548 0 obj
<< /Type /Page /Contents 549 0 R /Resources 547 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 552 0 R >>
endobj
552 0 obj
-[ 545 0 R ]
+[ 546 0 R 545 0 R ]
+endobj
+546 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 303.589 119.497 315.545 131.452 ]/A << /S /GoTo /D (section.9) >> >>
endobj
545 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.619 67.03 177.076 78.488 ]/A << /S /GoTo /D (subsection.14.7) >> >>
@@ -1623,148 +1624,141 @@ endobj
547 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-555 0 obj
-<< /Filter /FlateDecode /Length 5972 >>
-stream
-x]ˎ+j9(Dž @5`G;+ڋko7o2d*̢`0Af2O?/;}~W.8͵|;v1s1_S-~( W)^W b_A%mm'ɢ]ߞI_Jz%#JOslۑ4|FM:Ɔ;N$۠{ே> v'~ >I{Ђ0AoŖ^q8McZqLp w0 .654&PpFur?w%."@9 nК}x|*L-I
-L3
-!&5mrS iWʇK'H 6u7v\8V͘{[)#U#{]
-<&"]p8]_'Gk"THyë պ>Q qES9P Z&9nCT%p¨1Az_HKOx)?aJ!
-hM61@y@{hSzPm)AW8#b-^:M
-<#9"c\0/A&xZxj cMb2m?0})y'NDrIX t2⡌j['D:$f>vbJb'xU0o uYa_P >^`D*X&f,rn^qRgaRX/Gp`K2*ٖ[]x+R.$Īc-$9wj.p[*X7(|?v,,,eH׾[rl˟J*YgQ>-PZ?( (q޵4T@eMZ~o6dVKYPʗ[%lyճLd} :i yYF&Ĩnh!ڄ.[S_ţ?F"@lQ |[f=`_ 9тzgCSF].ᡭݏ]4.wad;iːL(gȰ6[F~S~>vW%g5Q:'=$e#ݻyߜD
-0sI(:xLēt^E:K7C 0Lc; ŠSX
-w
- 1g&D'3Gr\%s;gI<S}'1t
- k)`=u%NiڝSO9,j!v<Ӵ ͢0y9 ANaz&\E0sɼ<vOurHP4R
-Ov Hy`Vbԙw
-JgWx' Dl+, G >f.'J>AI DمLAă3 N(+RCM{$RYDhTXfDϸ'1ӹWXyoFX& Tfq>_w
-O] H嵅`BLxT^àSxz<A*}K:S8m qK+s8;z>w6A½@PMM@
-k(tH Ɛgi
-fע۽LŸ _Kע[krAZT;ʐ0_Q4;<oYY-V_z EuQU{V_EӃﺝnL[P+ryAN a* ^ᥙ,uyC`Rl@Ѹ1)&:'d&_{̲sa7rA!\7LYU>h<ī
-*luA됟 WBǬQ>h.NoK;0,zt?aI|igCƷEN0/+j ҐJc 5jD{(<3X%OԪIsκ7}W)xPX<_=%[: ["^Ƅ~l2+'K{R_2w1ju tC6,W2QJ"`҉u/Ǥ\f~[[~@:+ےO\hW.E0Q0򯫔r (;*:'zۑAUh9~z͗q0x [RV.yV
-^Km@[{MlusQsX3$S*Df8qBdv/~$n0LLqDM%9™=a#Q!\σ&"nKhxTѸk:9%
->G6 3AT|<h$[pJ%ZG>K-cnq[bf͝і2r06zvsZXRK{bґ@Qu3lzv9Қz%TeXpHoa_Xv
-GcUn"=_cvPpFYk#ki;:6wo;rP;|\؇i7팑XV
-b)s o %-OH[ șa]))%_gCJ/,xDp(|~Ԯ{dK]|+nCSJd'J/%KGPQR޵oi([1z8,<BCƅccBeIϿ&U1C%Bkq
-,YHdp``RΝ>Q=ce?))WwS0녾G]~}9ܨ+Z||Cި #‰iBW<]苷yYЀ'5:O4ğJBgo͎3kq&<fΒϒ0)ZOf~c,AW(cVyK⤛ Z *ǷGpٿruqnU'e4Q ~9DWПf:r0ň0.uy8jLs 9~6#nf>ycɯUzJa>w_uc3UO!ԧ`;d-7Qnk[*{
-k
-ӨUFŒq~
-3so0ۖ;BO S/eW6n88w A
-V}(zs0BsTYS:ضu_^?qriYp?׬#$Lo?y;_H8Xaͯ5DnSYQهVH$4XkM*Mм&qp']1;A@2巾wt|(mʫs/R>lSSѱ&퇞_Kcҏ枩5OR+DͻSѺ .H[ Aٷ%i6Gy5d
-M6l5QU? '035[:-1(n^VjLXeX('ݨSΐ?"f(2Y?i2 CپhEDDue!0$ւ-N<&cU씨BkMpX:#}{zR8WNXf0T{XS 1ȤЏ$f# /v_U8)k%? QӫFo?!ӆEUv+q_<Lx!GcG%A8>`wVkMWbCoí7$HĭoP'%#w09t2-]mm&ɂ8f|Z;t "ߤA-Xo5pMU§H[Q$ھ. !rrRޢZm3~L>JCU`}#Iw[l^4qP l*d!6-?f*Jva~:ɱ[^+Gȗz?R^Þ"}q驚,^ i::p%eF":7=Wl-Y/Nd\]Y=\c5/qF42e~$o԰u b&}EXUQIjI8V֞^ybWD ntyu%t [o]^Л{y o|/կr `nopɋqŘUk9CE
+556 0 obj
+<< /Filter /FlateDecode /Length 6070 >>
+stream
+x]KW8shF"D{"fOZޙZ_7oPU
+!bnP2{^I`>[22JJ
+"ҦB:FzZt}p]F3k7]ty2rDǸa,^L.6@0RP`7I!6/~M erI0BЮB|Ɣ̇x(Z#kA<&b| <]K~\3|3e UJzj!k~?%}!w0+ )" y<w%ZHGݢL^5y 2m4dT R,n:W2N{8"Xb1S&gIZsX9w0Zvc5qE8\w4Ag %
+?/ xk &dH׾krlˏ%,d(V(y}L(pyҼu kvy3$-߂mpV B՗F% /JLi !׆q$W23EJxY
+\cHϮr(?ι99?ܾlz47??oNsU'Fo̬ܺ=i}(;;JXbddu2
+7q~7}9/x>֐c⽍?0..Bq/// i .-\#ŠP]ZxtVARه*,H1zh?jWʝ}(fP(B5IRA' 8C])yo>j])a)$֨kvgFƀ}-ڏڕ2|Kw'o/:a~TrՌۋ9;"
+<HvJ =.%X>Ik*
+[vԼEH57 A!A0 PRD zř6(GeDAQ\i x?.<P D, Uh;Q'aW($(oOeSx[V"sE Abg: وpw
+qs
+3IjBQWkֹ~'9?JI?Pʙ JO@+fQz#ߚ
+ .Τ(}z#Wx;Aʠ-)wGʹs$:C9Rm!ؿ+<t杂 (I t6
+1o3(#ebD/1z?srB0Qv!x3A*'a)|#[ 'LA+RCM[$RY@hTXfDqObŧsc."tfq>_w
+] H嵅`BHxT^àSxz<A*}K:ǮS8u qK+s8;z~l(>]#zoٓ7=B' k5Cu: cd3 exQ٢SS1.)<-OEN5񇕨\<&4jgB&4;}OxGYY?y_qCAnIπzOwu;ӇݘSP'zyAN a* ^ᥙ,yyۭ05:|>>PE4cLrNIo:Zo:5CoG\xWPIU!?nYo|M淳Dw̗vg}3aYt~ԓ>΢oK;2.a^V԰6DO!8ATaZOB|(<5X%OԪIsκ9}WFYl/r3^)։HfX"֎ϧxH٧v:PjɬPD/qI|*t?ٰ,^DW+8vqH'm,r F!o#`
+/a
+ 8yJ~4z3>u9MlxVCh$Q=~1Hވ6=r깖Pڲc= |aq ثI[zQՇāH-e#Vvy)J7WcuWwtlT@|"a*>$Ng3Fboќĸi 6m׾w޺% c/b}=p)+z0v?pYl@B͕-IϙU2\t\{ F*E%ֹPR KD^pj?jWʽ}8o66vPAEvۗZ`"}PQR޵Wh(W1z8R$*mD2;fp;HXX6;^kR3y͔t1,$8ΓVR !ZV~ x/Q<ܨ2+_ khZ|
+Q- ']
+^w/Bpbeex<2X*@s4А'(,qFw<`px_gI(4ţܢxN v>R94$¦ʪ] ?)TolEsz SMC;Oc jg.|'aY>s|9 ODX#X$_7]W 82yH`խOG&ט$~{t@y
+~MvVJ;/3_~ׯ
+YOW2Wj5+֯
+V,IAѹ<y4tB^rTji [RHբ
+ŭ |nXA%
+>pVTJc; 7E=$Ed*sE8/*CLw
+zT47Mz$0my(ޞ$ Wa a)Moݮs6x?hLR>PX>mМ}<dro&O:]֝nƠc\INf9j>eOI7ѤڥwؙX^ƠU{Y髑cAV|\Oֆ!}cox%q4"r$#Ƞ:x9c rwGS
+eX5Ayׁ!xKa9!NٛP?Bv d`/ITVaP ZӠA19wؿC /(@)ѩ(_#`a6@HsUǎYхhK>wޭkufĆ**ktHkNa1 OtJH8`
+es,ek3[m'jfcLq
+ wDsjV -<p@E&"13̯PRl]mm3~b>JCU`}#Iw[l^ mU''|gH]5YJva~:=ΓcJWVⓐ/ΤD=E<d8詚a|lY+\I+(uؕ`K_KiVטkK|AܣQ.LC5k%9mr_E1p@&ﱿ7w@jg7Vc)hT;bZն'S"|Is{>L²g&rhx'| Vs T>#%|ۃsg;h6s
+S^\uOͿ6+\KGF†ͿSa.5 æ9։9}+ Y]zd.frGlPܣh-,>#"]Hט8٣+uCzQ?V _ % [|nΖS\KW2V{W=\1on0r%KZEr0A'\Eycb2ÊW7ϥ^$K܎Бg Aچo-Nv0PI.1X6My⧎E~:U% hu+I5<'R U,r'$.ifA9\/'y$]JLQ'KpR{X\q
+)m-Ӷ#k7.V❟/Zuk.E,"nd{KqH7CMX }_P+$[[mIUx}
endstream
endobj
-554 0 obj
-<< /Type /Page /Contents 555 0 R /Resources 553 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 557 0 R >>
+555 0 obj
+<< /Type /Page /Contents 556 0 R /Resources 554 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R >>
endobj
557 0 obj
-[ 546 0 R ]
-endobj
-546 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 303.589 745.619 315.545 757.574 ]/A << /S /GoTo /D (section.9) >> >>
-endobj
-556 0 obj
-<< /D [ 554 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 555 0 R /XYZ 78.37 808.885 null ] >>
endobj
105 0 obj
-<< /D [ 554 0 R /XYZ 79.37 191.651 null ] >>
+<< /D [ 555 0 R /XYZ 79.37 215.562 null ] >>
endobj
-553 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F57 389 0 R /F16 386 0 R /F55 387 0 R /F19 383 0 R /F69 406 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
+554 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F57 389 0 R /F16 386 0 R /F56 388 0 R /F55 387 0 R /F19 383 0 R /F68 406 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F70 419 0 R /F50 396 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-561 0 obj
-<< /Filter /FlateDecode /Length 4775 >>
-stream
-xˎ$>_QGЊ`Y97''6x ؗ~Hսrj)QZ_?=˧_@8FTьP͖Oӧ
-/OOdLJY2X P1¬]aM#"UZTr WJTgiɠKb{3Ћx{yk|~ !Z<d05ZxZ vaUMW.Iщ.F^{–MC-,Y%H5ykc4j,"Ϸ8K:5B% wl]?J x
-/ "H$Ѐthg9Vߵ`ΈS!,XI* A*RU|,:Ft}3uG}6>_}z}1VT:~Wrks쒋0ВU֘~Fmz|̬۔ |kSiŷF&a+#"[z^ۏԕ(7%#{b44zEpSk4·,F9.9L+&L15M
-ku@a`c<9aǹ(-'rQ1A Ʒig W3=|2m*>.pNz4:lɣxAqj@OTV~Τ<y<O{1zYsjxɡ&Ժlf;uV@LswfWkMЏq+%1 m>j(>,XgLL'*bgiKQhaDW$?9kڶgki
-Ӯk&trOPuɠC]cTqj)8W"?$Y"4ހ2 o>͟:rQv
-W[2@o Kdeuucۛt)RQ+؏vn
-MX?>BW~;+<G
-`RMB
-sow w_ʿoQR?~IK@s!1Є n.OHsn`&,Y3Wrgs#+5$MW0#|GFOO|A3}woO5d}2toq&ݶ uv!q )(^w7J$8:!Oh=r8k["`Š!dRA'y[|ŧu4xW xeQ8 UJ@lAfYwZ9kzX[4IՇ<#}:.E:\pS1]DêP7?m534 Ue40ԒZ#ȺiTBUU(a+]*0~?FAf<횻7x"]u"?ȚԼcȵCmlsJ: I8vc!sxt a\b xz=5}w[7'V\nM<##YϤͅ'tk9E!>ȟԼOX)5iy7@37*ͣ|&sSn~'?ySPyֵ:ܾCU&m 4n7"94] qS.U#ʅ$RVA!&>ȤԼg_֬n<eW7{SzlX}\q#bW[>4Ef)-Q֫~3NM?t^=v.XHaa}+ϭ>=fP={{ʇU(56q}agfqu]聱QqVm_>`)):3SpF
-]cžrP.iRa0r%Wu0e!s."(+X'(TqŮä*K_ dQ$]Xӛ&ӼȁJڟX
-o-)uuͻ
-3zM(!ѧ9/TWX/y`bBQKj#ZA^.p1v2aMcRA̵t<g0Ivǒ'//SiKi//S*\_Py׊~E#M Mڣ/G}} ,j7C])9SKCaŪfuZ`SU0`P\ `NuR9wsbj};3u<I{$RUp;~K\
-lQP~x!Uy+C̐P.a.C}rqU 8P̀cXK.!.4S` ɗ5Q
-Aއ6˻P7z
-uR&?*9N,XE4_y3hVe^ jaG ҅Qt\n298
- a2M,^,FA\=7v8]3+ 4}B SET6b"o$ "'(/Es`7 0[:\e17۪o<r)$(
-kS0QnEM㐺zvi6ٌyauxGRGX;>Tx*_Mm0+qwm#^Q ЕMV_WGr(:^db3XI_QU
-مi@D8Oald#l.oM}{|i|u/5}MW' -6vHnq"nfsjtovoQ.ꚣߢy{sw^
-b'*O ;aKTJT_nD]1IDa}ÂW]Z?0!(5/7 gZd.C,
-2X粭6?>PU·}]g4+мSb{(k:,<#v*bX)Эmv JeZUAjJпZkceTQ7-u˝M: )N93R[6Kn)v
+560 0 obj
+<< /Filter /FlateDecode /Length 4876 >>
+stream
+x=ɮ$qR־
+0~,8 6Yc -"i
+kP1e_1f@_=txP={ t[t299=H9IM\Ċڜ*u7A
+m oM)gֶ',L
+:BСt~BHŧ&.!ӅsC/@SҖ,v 4:˿N~)wDwӧ"K5H-j,R/G<Qc
+a LA_k֓Y\ҩno& q$$iy7^7͛Pa:']jSlĥ1 qԔc#+*tY)/}DanR>8?$~ʓv?N,pLt?6k<;[t i7#+tˑԫ%ɛQ}r-EpDl`ϼc.l2R[*5b97̅wpH,tI
+;άFU% 9=ܹ=㙭Ive&αK<|ʶ8R<79jqzK2': 0cZD:5fm'0gx(ҨhpHr~M)M4Me%67S8@T+8&KsUNrd?U*VzJ,
+pЦ2ծj+Xt-2x>s'߲QczhiIq}4ƵA2J1V/
+z@G\0KGxJI<U8F* yZ>@Z<뚻lh"ɻNDyf'ESѨZFԧu}K6d >ȫueD`C`7)· ! [2% aRz+mɫSN͓'rxں%u[imqgVB][xlz"ҧg-2 n8)|L+O,3WAhlT]6-\*uW̻[x8.q}򴌳_wj4=k}|i 9pZ0䣄{G!ni"%ҳ'\ii-ʟRW5ɦChiysjCi_gIp2m_+6n@xPz 0qWY+S'moqW<\%ȕ>-ϭ>- ګg
+A@i_cv6~> FOz~`ꀻ:pw1"#YqB\9%:)3%Y0tF`eh$mi.mdGC{u hgGE)XT9W5gw.&!^#Gm~2R((TՄXN 9MXMʼn<<Ϸ
+w
+0#X7J%]RRI qPEU8,c%zy"a7auaR` |=vcZi4Zqgғ.x+Y
+K(xNnL[L0ˮfDn dS)G;;r9'"BM
+RH'ɒS,4-7U
+QTW|twUZS0B>d[KFaauC-huws\ WpK
+^WHX\d浤xT9SUHW<0[aP+#TbR=2rMKO.i)σ] 򔾰hy~CҗX4kooSZQru~Cҏno/(|jI⸤&$UqmG2e$0FZ,B<L|6̈Eb</cpa9{~" wr@_^avU}} ^WoJ1B16ı]A]ː*";!v5>タDjG~ū \X}~g_b<R0qX[ 4>˿'0Ƒ${_V+ uC(n|=}˞t⅞LJC)ǝKA ze@_gk 9s(^WY\=b/wҁW ӊvW~.x, LC'JK)y1޼JF4ſ'vO69 ڞ-0սڌhCfAqAbV0 u2!\[&eEbnUWe)mxPߡ[b=YPw7̗mO@8DX _tBfr
+"~ԧ,r9AX]^bJq58?5ūtM;q̲B 2~]e0Mj1
+.(^pJQwFeA"_uQ*
endstream
endobj
-560 0 obj
-<< /Type /Page /Contents 561 0 R /Resources 559 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 563 0 R >>
+559 0 obj
+<< /Type /Page /Contents 560 0 R /Resources 558 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 562 0 R >>
endobj
-563 0 obj
-[ 558 0 R ]
+562 0 obj
+[ 553 0 R ]
endobj
-558 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 105.274 98.706 116.731 ]/A << /S /GoTo /D (section.7) >> >>
+553 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 88.249 110.128 98.706 121.585 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-562 0 obj
-<< /D [ 560 0 R /XYZ 78.37 808.885 null ] >>
+561 0 obj
+<< /D [ 559 0 R /XYZ 78.37 808.885 null ] >>
endobj
-559 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F41 489 0 R /F59 397 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
+558 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R /F70 419 0 R /F49 394 0 R /F41 489 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-569 0 obj
-<< /Filter /FlateDecode /Length 4561 >>
+568 0 obj
+<< /Filter /FlateDecode /Length 4562 >>
stream
-x<ˎ$7~
+x<ˎ$7~
޾Ld ]-`ՋjΌK^!E[n,[0Rѹ=u[7w̿HDD#=<LMlYQW,bTqǼ+ .uL鉚3I8N"BZ|+tH n|EO
dB3z(v{ Q#ԉ=a+'(yoG4U(tJZɌV@ k+BNP;:&SLܒRӠ7Q&<P<i"%j(5X+Y9 M_g&!NiRZ:D!yBi4[;JMcͤe څ@ozFmauIw'|.<q1"5FK4?l~A8h$iY1IIv¤bխToGiԤXH:H#)$L:?Q˪8LTP>(_iE=~&0zԻ=DA;F\khB#E38Z;@-&-QLlTYm7h sAMSW@x2Sd6l'BB
aZqϡvC(D}g,vb:dҁ2ƧOJQJF{
-u]Gr"Id:D޺, V7Y JK ʐ_t㖀M:W;V %PQA_[*]7Lp5> ZkIEmQJMZF)&6{jT7qg$WOTaȒg¥ T҄^%Щ'\RA$<q8 Z.:cdy; SLnuii $FDf3F1)Kۙ 4n|ү g?uo/4W2gf4t<Dg`ۿKO͕u{SpuUw|(1L-J")IQf&rDZ]i\{-Ow\v4iL`R/CZ0|~p4L;ecg@8fAF~i[(~eWvD1-gi1_ݞ[=tLwZ{}X
-XtSbKh2VWOiXܻ0D;KQ&٩1ȌBӮv7GlMy VJ:$>3̈́QzXXeBN CcRñ[D3ܶ9z7 Oj= R byH>@
-m.s) fBfʠ@Bw`e%`0X0Xaŗ(1-z||{zoWuh-㦷dY\k"Tf?6
-p
-f=4J=,<%sZB=^@MfEr;s yZF|RIyK̳>K8 > 9,ɑ|nŃBXX}10ou 85C 9 s4Vȫ[Q l DhE3nE}65k )'7O9~VNJ)bl&j6g佞2vZX#Ń& JYÃ&|Єz
-RStS}:L[չ7ǭ% v'kqK6g܆rbp{fՊJޏ|xґT9='
-D}Qf9IUZp YweJt<LڽX45qfQDBV>6ގsgjW긷p&k:D{iVtJKFsUwjPIt
-sNoXb
-q,cNË@)!qs/OtUL_"#;{-2P
-qjؼF7Hv1P㎜WENmj`Ts
-'&OM'&<Fv9 i?j"F}V,>e=lOdKӛmV2%qZa|L/Jd@$^\5Woϸ c'7jϲ=b/O(غTDŴ<+
-Da}RST%gQf)DB}JMp2'sHӉFj/n#I& Bs5[R <Tdb bApoy( 3TS;O;c
-XiL uZ0?Դ™V^i~^Űw<s{dQh$hY8-Oe'-/#JvGGG=)nJb5N}ifv~p*RxgN oi&o9LٮNx!8L9̗˺tn4Fx7aER#| # p#c͍0&ӛe%X‚Ȼ̿4x=(U˪bV {HhL%+PG<.?jbi%G^s "L9;M}XRw!4:>x<R05g-,MaWu%\ՕpXjb-HrD*=O;zy4}__ƻeZɓb 1"HDv6dJU&c&c +Eu0rCRsz@=ăP:nc\\lxxG*u7 /| {$w'qj[:3࡛ش-*΄٤kMY4-*'kZHk;V7/Qy ->|WU/»}AM4ڮ 2,
+u]Gr"Id:D޺, V7Y JK ʐ_t㖀M:W;V %PQA_[*]7Lp5> ZkIEmQJMZF)&6{jT7qg$WOTaȒg¥ T҄^%Щ'\RA$<+avщ(' IghbBwH#O3M 1 B71IY"\av#t{~u'/f8 H |{q97_!6<_zmdϯ+ GޣE`e.gˬ=DajVIHB2#6#jNGjL2ka}
+<~tX(IcrzI~>'ԂA#u88>a"ءM,;#1 j7bKE.# 1h9Nk]~跤e .p$<X\}sypv~\-jr&au2W4i
+2
+'yW)8܏ȷ*M "{b[ՅIZ2,W`Mid?Gh6y0]_g<V⤧{Om0 ^BAFozOޅ&ɍ]2ANAfRv9b%Pw0ոnKܽR'!Dal&42H?7*rO:-"%jAl YgM~R3/^j(Cq-svaWJA)X"I'*R;8Y[@d՝lJ@`(9V'UIGR.am˺שtٸ똮W)fRm@q!+41āZhӦ+}יZbǾk$zW_GF-҅Z@|Zb7cD5DlD)ӜϏ1PQ, LGKfGJ u͞ŦxK{yu0mߋP$㷨'(A^$X6jۣP&RmsKA0=6;U\c#-+#_
+ ,Di޻{C+m7%˪|םH7¼X#<x-\4+O[)
+ Jv9X5v̘s.8ØUb~nWǽG7\s!ڃOW_SE]fV6PJSMĘkvz F-BUGݙGv32VDͦ~ġZh @ H4v"'0qw-۴̈ecj[qq[K#YBh9 EߏT({g<SwJ$ǍxΗ^
+#Xhˢy rgJBƻfU1h t|>cd~|7<ZkK5'bɝ6+́Ȑlz3---,'(a3T9 Jdxz B!Um;fy1,@ 19Sri teKX bbyAjY^6b 6\/0`XV
+3YLsQ 1b!A,tf{"X<m>(.
+CdxaW" g⪹h}},@wn;)%θ Pk{7xDֽ",YQ
+딚/9'4{/o?L!:VjPgG=C襕Ƚ@N<0R{sO7O2/0X+,!җJXѥ
+'KX( B{CI(̦yVPBN(,e
++᪮K,R[5KlEJe%Ry:IŤp2e.J\AJ%41 3W2;5sX ])z1Hr|!qK+bKs=R{Yxc#>iSIĦ}?nQq&&]+hlRϢmQ9YFZݱxm//^ x0ݍmI烶-@-zyxW jy,vmX/O2'
endstream
endobj
-568 0 obj
-<< /Type /Page /Contents 569 0 R /Resources 567 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 571 0 R >>
+567 0 obj
+<< /Type /Page /Contents 568 0 R /Resources 566 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 570 0 R >>
endobj
-571 0 obj
-[ 564 0 R 565 0 R ]
+570 0 obj
+[ 563 0 R 564 0 R ]
endobj
-564 0 obj
+563 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 433.094 505.9 440.068 517.855 ]/A << /S /GoTo /D (section.2) >> >>
endobj
-565 0 obj
+564 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.881 324.41 261.836 335.25 ]/A << /S /GoTo /D (subsection.14.5) >> >>
endobj
-570 0 obj
-<< /D [ 568 0 R /XYZ 78.37 808.885 null ] >>
+569 0 obj
+<< /D [ 567 0 R /XYZ 78.37 808.885 null ] >>
endobj
109 0 obj
-<< /D [ 568 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 567 0 R /XYZ 79.37 771.024 null ] >>
endobj
113 0 obj
-<< /D [ 568 0 R /XYZ 79.37 662.735 null ] >>
+<< /D [ 567 0 R /XYZ 79.37 662.735 null ] >>
endobj
117 0 obj
-<< /D [ 568 0 R /XYZ 79.37 297.496 null ] >>
+<< /D [ 567 0 R /XYZ 79.37 297.496 null ] >>
endobj
121 0 obj
-<< /D [ 568 0 R /XYZ 79.37 257.653 null ] >>
+<< /D [ 567 0 R /XYZ 79.37 257.653 null ] >>
endobj
-567 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F65 391 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+566 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F64 391 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-575 0 obj
+574 0 obj
<< /Filter /FlateDecode /Length 4400 >>
stream
x]K W1> $RTzrNؕʧ
@@ -1789,33 +1783,35 @@ Zb4ɓ0b` :[־.m}(.: *[Ke *@k\g
[Z{7,rxS& ѩ(#,6<e
|7m(?8ѝ_ 3 d7@"y0Z u#T, p+^(ʘ>"_U:}EH|]ߣy3 [c!{S'Wbk76s!ș:ۂ͹BG:z#ƭ?̇(Qbʣ|y :eyrhHG=g!~rT@G>U~@DO_4t4Rcy2ۂ0ħ;8f9 P߾ؔh{&! SZ2@ȯ->
-N^g9*Cql29rX[rj{ f@2b2!]G3xe,z-eH(rL|$4|$^u G+|)&\E7.H;#ĎQ.ǑukƆ)+
-pevwԊq), X7<'# ?۝@rġ?vvA3Y^-置zU_oњ lӍI}`Jp B97˔p}:B &C԰
-QC "@)c_J:G[/=w>燋pB"_q2@Tߗ&.y5DK${u3hwu ehNmn8!o%vk<
+pevwԊq), X7<'# ?۝@rġ?vvA3Y^-置zU_oњ m)1)E>0 NX%@eJTs
+ W!j،~
+&k kyM:*%lүKyݙGq^'ɻgd.;e-aA&p5ZM?n˯jBܛfd+ZzU2U/.a%ʙ?St$w
+Vr:I|)c
endstream
endobj
-574 0 obj
-<< /Type /Page /Contents 575 0 R /Resources 573 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 577 0 R >>
+573 0 obj
+<< /Type /Page /Contents 574 0 R /Resources 572 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 576 0 R >>
endobj
-577 0 obj
-[ 566 0 R 572 0 R ]
+576 0 obj
+[ 565 0 R 571 0 R ]
endobj
-566 0 obj
+565 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 243.425 745.619 255.38 757.574 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-572 0 obj
+571 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.68 333.295 403.654 345.25 ]/A << /S /GoTo /D (section.4) >> >>
endobj
-576 0 obj
-<< /D [ 574 0 R /XYZ 78.37 808.885 null ] >>
+575 0 obj
+<< /D [ 573 0 R /XYZ 78.37 808.885 null ] >>
endobj
125 0 obj
-<< /D [ 574 0 R /XYZ 79.37 185.953 null ] >>
+<< /D [ 573 0 R /XYZ 79.37 185.953 null ] >>
endobj
-573 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F57 389 0 R /F56 388 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F58 390 0 R /F19 383 0 R /F69 406 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+572 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F57 389 0 R /F56 388 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F58 390 0 R /F19 383 0 R /F68 406 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-580 0 obj
-<< /Filter /FlateDecode /Length 4098 >>
+579 0 obj
+<< /Filter /FlateDecode /Length 4096 >>
stream
xɎ%_QGϡeځFyii>9Hb$~H[-I=^=HoO߾},7`wجgnƍؾ~~y83OO8}\
3xQ( <_ f[pL]nxn,ch{C
@@ -1827,145 +1823,139 @@ xɎ%_QGϡeځFyii>9Hb$~H[-I=^=HoO߾},7`
(j6$'4SP}|k"28!Hp!4{DMy$PwD+ @Yj
ze΍P($U'FH8B_ 5ΆcGU9ÜR+Ѩnm[.Zg)뫥?qCR3nJ1=[ZΔ91[ \ou"7ґ%ԫ3%'xsU^8)٤k8sh@fe4 G g>L}I}I:gD֤Kv@^O9?1|N&D~H<ϰ VA m:)RiطF7biluqIJfO%;diPgJ|Bs[dήHja+ jW=Ǯ]LN/ QoE{Og9|h$9oS~vdžh<;{ve+ bm{Ǭ'Y -}ٟG}G`ƿo߶wfW,-ϣF~> mNX~ahPt)آʶu9ԌuA/,e'
p_FN 7_f5rH:VKE=mW9F[dO>Jr)W {@^ZMp3QGPC͢ ],i,pcG֊iD,MaWɹdڙ˷{qI 1/7
-}?X(*k!Z>E֡36II;5i|Y]"ee?<S.i^Svav5yhK*x3Jb41ܱt]a`ʥ$}0$.O0!}^ꀉGfM$+S[CWIʚ i: ,@>1VJ:Lv)~Wu4@YT5֩ ubf7>C)ze91*ڽk t:r\c!+(vEf$:ٔJye]h,qM֪I?ojnjvzuw 3lura)vURv, ZJ65IoUW6:oc%1F3+^PD:^O]6NwzC9vkV2?0B=rW{kjy*Ҍ*"7SÕZ^| P226K^J^?g ECd5V]FNX[2Ta+ :OkK *VўWwr},ܻ bڸ+KjC(uzֺξ`';i|=E 7
-bP+}/&aVe' n򥘫iGqbuZa.-N8
-L= V_m_"cZq 2h
-7(ɺc|Mcz]~:x;ּ/.bjɳl 5A=d EQknCͼ|?#MiaD1tm2zpy^ˣ {0쾻(/s]f
-ۣƗ2;ަӟ?IK"Qtz4dC j|o1!6 iCp)@`lN\FS=\19zZ5
+}?X(*θM5Ou̯MwRRNMZ;)_4qV}G٥0<O% aڦT]aX]MR{J#ƌ }L0w,9]sx:rim>Ʌ`h7
+J]㴽u=N6wr^`KG\rS6pҏ
+m4#pz~lcLpWﺭҴB7uY UǶQV U†R騊U'՝a n->9X#6|RZ#6J]5w:=l2؉
+rK F&e C[9#|)*vڅQg<XmX6KS.ΥŇk9@׻?\0K%Fׂ+ zm8~|e
+|$o
+q?/hLejW뷥ᄤV94%fڦf ,H=EZ\Ek3DdA\DBLveC>]8d8F}lWLhg~t]ʨXm$'w:n}o<y 3*6%xCDS3$ǔzm?3'wxOH'`\5SL;WÅHP{3=OD0Fd{oҝi6}GNǕ>n㭼@Χ6y8ҙ(#FJ()Q3ծݿI7HЋpv ?/+X27XjX}A>|Pi-eV/X) jrx$5Uuv,[8\ժi&-_s5 VGzjXI05.Ўw7M0{!_.6pHJzRHPRf uoj
+Ϫ~~7&et$%Ah̸뎷OtRH415?D=:4[̯mH >HG'.\-/9(TG"WuL΁
endstream
endobj
-579 0 obj
-<< /Type /Page /Contents 580 0 R /Resources 578 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R >>
+578 0 obj
+<< /Type /Page /Contents 579 0 R /Resources 577 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R >>
endobj
-581 0 obj
-<< /D [ 579 0 R /XYZ 78.37 808.885 null ] >>
+580 0 obj
+<< /D [ 578 0 R /XYZ 78.37 808.885 null ] >>
endobj
129 0 obj
-<< /D [ 579 0 R /XYZ 79.37 432.884 null ] >>
+<< /D [ 578 0 R /XYZ 79.37 432.884 null ] >>
endobj
-578 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F58 390 0 R /F16 386 0 R /F69 406 0 R /F57 389 0 R /F22 408 0 R /F65 391 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
+577 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F58 390 0 R /F16 386 0 R /F68 406 0 R /F57 389 0 R /F22 408 0 R /F64 391 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F70 419 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-589 0 obj
-<< /Filter /FlateDecode /Length 6105 >>
+588 0 obj
+<< /Filter /FlateDecode /Length 6107 >>
stream
x]I%7rxGp_F]j/f`e`N.W4e hUU`|_ &S=?~P#/9?탆C?b^l|Ġ_Q(|zZkA2JQR{'ojvf:jY Sx
!`< TG;$}J"$fH7B¥% \`4"7E|sY>s\b>u7.l7.P w dʍ8ٴ]kmkHćvKpqOց?Y~)]It>gÈfv<Йɝv(zdP5L@WY4۔*uV]rʐY|3Z{{F\BIUeTR,R aPVJzS)G}*/lpgYkf`GG(岘GJ/ž?"\.TNђcd[ۺ02ﶉƮ1oM"o zm!e+P=>MWKr'^̸'.+.L/YjlpRSbnDhk5)6@-x6 apW`<9 UvQ26=_DeCy}EJzjƚ54s-6v7!pT[z? 8XP7)`t.@wI]I'M[f߆'T0;Ϩh?ɭt@WW]x}^Y] ߨ@\!9{jV \Fc2M
-OfB>v<%U0iu ·Ͷ9Y\ߴ]~eFzؔ KPnS0k0R̰q[0C9m˹ŇM>[Wb}f|!l3u )rϽq ä.Oq$bF^RFk~YhWG,8C9R<z֫M ֖LgcF)լQ\h+1]xw?=iw| Ԫ<-+UO>§9 pRP"G#d򢃞e44'xs/3/Υbn7n'vݫ!`('z\jI2q#P"tv '&b4ӄ~lTI,ƃ6S0*vCa8I]
+OfB>v<%U0iu ·Ͷ9Y\ߴ]~eFzؔ KPnS0k0R̰q[0C9m˹ŇM>[Wb}f|!l3u )rϽq ä.Oq$bF^RFk~YhWG,8C9R<z֫M ֖LgcF)լQ\h+1]xw?=iw| Ԫ<-+UO>§9 pRP"G#d򢃞e44'xs/3/Υbn7n'vݫ!`('z\jI2q#P"tv '&b4ӄ~lTI,ƃ6S0*vCa8I]
5^mU
a1J<cȐ1(RkZ:gڬPTO}$E~&}Vp!*mDͺVxW0c'lL|J5-)$#gżS^3EyR,%dVw@DO RG h㮴(-3-wX0~T_ʪj8w
-gн~~ E"46~q܁ڄّnY$tj07묁beNW+!?SYܰ͟N-& }qyFKa>b(X{FD܌p;Y m[vZ:Az5&;>56霤>=/|֔`vN/<vMY_9D~٭q`KC[qMoaإz-urW1;cw3':s9y7T-бeU3'KOp3U#wqEd ?_۸0/9Ώ᮶^.|>9-q׶q}n&jZ1;uDX<nMٸeTty*v}qO*T-c9Wsyg䒓.)m<߸5<#r|;Ȉ=y:v{FqpP^|&fnmT77
-}
-Am=Y
-wk AAd9;ܿ|X;4 wNysJU +E&KM+i?'uMMcGEn<oӰZ ;VyI*p<'^:Ǔd8~Gr֓}%߳/|╓]<n/+!eFߞ
-4#/VQ6/)\*ea/$^&'UI!k$VCK.u}
-UCgp %|5fI-캁'8c<EӠ (öGg*S?. b5†&+n6Y('B&a
-<h H(vE& jAe=\ѓ!ESH0lEՑ t7Ch$F(06B]EAWB(MĀL9$Hͨ0KBVi
-[IFp[H6$UY`8#-[m&i\"H좉"q9aCP8P9WKlbH2@8c^S$cu1LUiYS/Rje`Afg9L- 0!LQNeBzNFx
-rJ."e $SOj,D&)Ăv0`c"=uXc@ R9e4#zLJz@3Y-?BKFH bI;"]G%h"Ѱ'B)#t:
- d>!9&'@Јl&$;TJ5[YaFlMay+ tAu Qk_KR lΔqvEAybuڗ"A7n8;.~P! kB$RDC26;0CI=Vh,rk.OI;XIB,aV1.Q/rF7BhCV%7)J-r#
-ʗC9>`Oz(tj ]#9fXa($̍"ŐсN*4۹F pv_h rd~FXW*&# `GHc@9Ȋ[EzQ&"[ʚ}i"K@Tߤ! D9!bzasەR`N4*(E+D4Фɲ\Ή3zTLG=# GH c@9Ȋ`aYlHy_р{%HyƗUWeKbjV2CI5VXq&U!KLAIwR}
-37j]eRw6G""2Ǡ݁r 4‹L+mW2-3ݔʡ !Jv@┕}JH!X&%3T$hm3#
-JQNݕ"oJ<" 3Jrh2y4G"A"2Ǩ݁r 4‹LPjeN% ʲJntJezʁQn*E!E<dPsvP*nn#
-"YLz_xf Gz@M?*f͑RC5;CVxa8D&ђZe)Z{f_CC^E˒p,QU"˰ -bolV?jQ&kR)0,JmW̰{=7ŤĚSZd@#.6'vSj2JF>#%T ?VwU5[*b#.mɔpTd82nWTa](bojM+RiD))EXlsSTehr |.`'J3.,%|&U[u*MlJd,vU%N4>#+T GXJ,d L$D,Tehr}.n'Vz'e\X>JXNTaI:u4*)F\lsU(
-hq|.uGJ.'|,G@XJ,D K$ܸ䉽 qODVbjjG(b&
-bBFզ`Jȑ,,`frAIbs^4,y>JUװx"]1²SZr KQUI TI1"c
-pCZF;~f'^RW>]'bxBSx5)+n5\
-)OKo+ۧTtRz3ptp
+gн~~ E"46~q܁ڄّnY$tj07묁beNW+!?SYܰ͟N-f  ʍЗŒ}P"nݍ0"vڦ6.%;uԻ>6ykL7v|j(m ܁٧9I}z<_;TO)T_xśnWr[ \MwgᇶtðKF[6i5cv<T=jMgNt:s>nZc
+g>OҗZ.:gs-G>⮋܉pܟq)a_s'K;]m\|s[>9m) p7Ljմ&bvꈰxݚqf9[TeGE-
+TƷSU[=re%']SpgK{ywu;%ٿqkzyF>Mv{#uPGJ8)7࠼$r L$0ڨ>50nn@.̸~ά-q78.đ3uΞ0K
+SFf<ټ(ds4L7Hd3vlnPK$+7bm7Ԟ71և90v:n2KѨv27we<n^# G9v>n7jJ_\BKBo<YxKB)kcײYf}e5;l32vm{?c~26#e=Geu;l3vmhEҺKB[AA+pA$jxo.>8Cȁ9{r*w~7w h甪V *-MVnOJ*r;*bƎܦyަa}.vBUyOt:'pMgK 'Kg_+'6Q y,_JW~B8<y.GW= A=hFH/_hm*ߝ_RVT0:/ʔ^HK:MO[BI 4id]6C(, J .cjȓZ4uOjq*0xA&Qm4T l~ze]2j -M`WlPN 0L
+#S  ?:,GCI%!&=ݐ)IԢL^B#_c5^N[ Dd"I %$ŲXflLkt h`4@*Gcқ,fd2BI !pbYOh2 %PGt
+j- !>Y@ $n -t &0́2=dG rZ!LBv2D?5'$$d6JBfK6+a2^Ӓ)_4,opEn/H.q5!jkIj\=͙r3]<nc@c3N(8(@NR`4~-#5pE#<ԯ*daM5BhCff=G
+-6XNt=iG"I_%j1>4S0TsFH ZcԪ#E [[EnQACrt(I@N͠Aq$!,둓2 BC25:pCIE€V`;7Ҩ`UK 0O#lOhkJŤ{ģ9!)!s!YQ@s+H0D|KY/x@bc JԂ!=c`4'DLv<lPsvP* 4F@w0Y9~Cy[`gs$)!s!YQ,R#L2 >m)K;yDIr:],{15R9BLJf;F
++yؤ
+/#GD0ZR,Es{h+}YreC5:*SZd=EmJPG:dM*5F4=!X~~&XsJ,b&>5>nJMFȧ"u]1BPnזf@%S,bE>-nꀲ[@>'X튙* TTQ)U{E*-H2%1|nz` MD Vtbƅ%ujNI \I1"c
+V$eYR$1 Zd G*&7
+Vb& KRI֙#YT措ML5d,vU%N4>+~^qǭO7@B}g֩M =$N^ЎRG{2_0C#nb+Y`6*m.AF~Kyy¤:k4/f<kmE_pz[JoR!mh0gW5[oWI ز׏8_i>Un_ۡbٹ3SNO |R8~eCyh
+cî|P98<%=r9VT߀Mn^hǏxċ]>rG6BD Oh
+=]3Eō&5KAW5iM2tttjNJonbn 0Fy_9-
endstream
endobj
-588 0 obj
-<< /Type /Page /Contents 589 0 R /Resources 587 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 591 0 R >>
+587 0 obj
+<< /Type /Page /Contents 588 0 R /Resources 586 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 590 0 R >>
endobj
-591 0 obj
-[ 582 0 R 583 0 R 584 0 R 585 0 R ]
+590 0 obj
+[ 581 0 R 582 0 R 583 0 R 584 0 R ]
endobj
-582 0 obj
+581 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.812 543.437 234.767 554.386 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
endobj
-583 0 obj
+582 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.658 507.571 257.383 518.411 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-584 0 obj
+583 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 273.104 507.571 285.059 518.411 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-585 0 obj
+584 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 350.065 151.966 362.02 162.806 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-590 0 obj
-<< /D [ 588 0 R /XYZ 78.37 808.885 null ] >>
+589 0 obj
+<< /D [ 587 0 R /XYZ 78.37 808.885 null ] >>
endobj
133 0 obj
-<< /D [ 588 0 R /XYZ 79.37 432.717 null ] >>
+<< /D [ 587 0 R /XYZ 79.37 432.717 null ] >>
endobj
-587 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F69 406 0 R /F16 386 0 R /F25 379 0 R /F19 383 0 R /F17 384 0 R >> /ProcSet [ /PDF /Text ] >>
+586 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F68 406 0 R /F16 386 0 R /F25 379 0 R /F19 383 0 R /F17 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-598 0 obj
-<< /Filter /FlateDecode /Length 6721 >>
-stream
-x]K$Gnϯtt; <V "n=kH2+QY{z`_`dvq|[o}X?˫ hXofVؔn)e/?}\?=\a5uuv]˧F=|6 R}h+G.6*|ziϐ"JKQ9&iRmhdQ a'7՟qdA!Mn,e\B0ߦcXE2u?=,D{ mXj慈|޹ŭsi܊
-2ʨdz6zj:l/Y#)=XѰgvgy97)fXs|KI.9]b`di_|%[`-
-&x5wXQa0a7?4&)h j`8ڔWY* nnZ,-؂+661yvUs.;D}=xb+V%T:H]{|Ѵ^יx
-fꖶďx@_9/-z FCv|u"Jqc<m.2@$Oa,y!N-&xX^\Ҍ'][$jcN'׶g;6+@`yESv3ƸR~q⼙gGطTC΂z(,n[[!yv8Ny hw}Ww,朼Wؾq ;|cUWGBwQa'XW ǻdpYw(o!#ӱViEm
-#^
-U 8Y55/pBzGnAJv~b`{!|QeRgw!-S#j@++t䏜V aY㋎\u~xc-٘7檸bR6mt$~{rR.R7,|.Kcw{zSG
-FiSM}y8".M|Yء ݻ'Tk dSZR͞ ב(N KvB<]G=󾡊 n_8o6xE^WQ7hA&Y 2zս,Hk{ f#SZe!+S]>TŤ wZ/7t]/;p$s}($ XWyE \u&\e;HJޟߗ#yMv][?ϩV]nk\;>$m9 <Tg3v/fU^_KuKݕݍ}=t>;"n|oo\ZS#l||x=\
-ԕ?PH=׷z>ϙ|lPypo`[ ?ܙ7>=x7.HnK)= |~-CcyLc8@տ6oh!ܜ K_>z5;J}ۇn|lnO&(%:Tash?r|4}!B=5?n܀qv_nF^Wa*4
-ԝiK-nsמ AoXh[>o? q\h=R{3ؑÿ8hw#6KgM{sMrtlFs;aiNA&,݂斘̿z.CֹA,{(Yg!bz-`0|7@#W!C0sknAUc0gx
-Ya|`z ӟ
-aB..WI]Y=y!n_CY~ "ևe{P3ܭ}ǖpOgGgˏp>A$uN wOP<շZk;hzY[4ȷhX[4hdMg._tPcV85>-T"<>
-qcj"I#
-6fN
-9Rr4TZk/X)#|F9
-ILG!QhFP/ mJ1[mNglDd"L$IH i=ɠB8HUC!6
-%PqPسYfa0/>Hud"P
-dIeN Ip!$H[6)?urvI\ňPăFqMi RU=B1BEI1IDpzjIcPa(nu&e2~jO$S /ůo0a3$c̨!E#h c{iV '07ۊAuŚ"RoQB^H!Y?. TJwA"ZB^UC4l؊ӌ K @W1I>,(ID#HJJLH;7LBYǶ/"YQ#F//1rC%f8ߐF $mY&3
-Pl+#d1.>h
-P 0bZ+j\hp= .DLH04c>aJ- .[#Ġ_`z7%X
-RO2a,NۊZڧ!~32^uu=W*X|}v=jGX$qZU1#&C(R"P9_dO! KA?|}kxF $Y*#Xa" WVh P SS}~]t#"aD48D#>i֐aa @-JмֱͮNYȵOժЉL(- $d$X6s@"e?S5Փ]SxUAV k*9K/*RPdZ]\&E&8ީّI* B[rB2ZD
-
-XQq9{ *%Jc0!
-#`;obwM쐎Z,2~
-7~Eu[S_l-~n_iHjtLSkm`~cy/i$N ҩ ~Qu8ELE5q\}-U+5-jlntyt-MɋU;l23o.&lx% Xo[LmC0"'\usH|Hcl"L9y/`s!moXh -kkk{ ?o|-um}V֡=kke⫑h‘IԙkO˭Gֽ2`mjzѼseiuj[%Y;Jr.N3u{<o^4?a(Xi5n=c.e^ݦ?EHek_ۿ?5NC;nۃtvz ߊfeNC
-g$_/M27ձoa2 ܰ}^u}nlm<KK[
-PfW2q䴎6.){!ʕǻ.f`
-ncQuADSYR:x;޻6hI<qMvjGImJ[ n7x_)#xY~tk?[~ܻi}+_h9
+597 0 obj
+<< /Filter /FlateDecode /Length 6652 >>
+stream
+x]I%7rxGPi hKE `Ȑ xd@swp̽9H]/*Hz>wݿjK&ǧ_izVn11>bЋ
+ǟ+݇'ZF)gwoP.5J0P3PsQ~^"}xrtiJQƵ9*R;kdQ'ǕCTA>Mc elD0}XA26?‡p/Ny!ꣶYXZ>)TQF%K+Wae\^
+8@NmG٩Y2(ivQ}٨ƾmrn}Dohۚ9>;O88];0{q!5FAL?XQ񺏣-v1`T)b83 ♉p5iLfԹo?Kn4ڶmv+k$$8tgXPk5UJ,YGӪzO1'}g,ζc
+="6 g]OzIpxf=>CEWS}2SW\7檔qvu(՞n6OKpnk~{,Jׇ$
+N6"႓7%8[)8/·QN}zXW[_-hqpF}֐; rWq]EVOrON$Ymh
+̘QM㔽蝒ޭnzͫy#7j_ \O`;=nmE7J>kT}4 7q=` $V9NO\F(l쒽$~&].+W^#tYԶGqe%YVi
+|
+dx8
+~ z~Vݷ쌛/ !Fjovi@'0HiKQ/N[υ5I]
+?
+iO{l4X`-]_
+̪v3bf0g첐Ѵ&T*hhE?5 4ÍYYF? ]Z67扮LJ/ʃ[b{:,(aǺp5Ju;QJ<J>_mY"7(5 vv%(\njԀy? J] c 0J GGs(Ν4P=Z.?u
+{ꒅ>_KY㾃Xw#bg.y%_ o`.y%//]کK4L5v7LKOί牾;a] Evh+]Ga(; E}Md(cFh<hCua]߈xu/>}ewX_n[c]ߊkuc]-
+sKP/Fg+wsyXN_v<v7l_{`oXjZ<YwbEY6|fEYq~BbC%픾xBu >D}?SX|F$ Cx$;)Ի|dj=}(#|N2V,͙ 6@ P6/k*YAq_ils=Y9N"&DSJvIe3̎4lI ǓQ%ENpZ@pR0h ?l4{)OZ!(;e64f-x=ȴ#^ꇤ;CRvD/G‰`7䆍HV4((Hi\ÞY+|rtҴc$c0R\#YG`:D xͰa4#06e p3~%0@SNr6DYͣHչGtV^#<, F$+C'WmQB5RA
+ ": *_jJ94&+Hg 4~9.bP3!8vk8ui
+jtfBɛ$Ap&=(O4 dBIh^J2[mNghDd"L$IHi-ȠB8U]!6 Kg&R'}*8(F&Ԙ$IL!Pd0/ L߰T_\x ShEUG&ZttԃJ8Sp<
+aDH"ATUbBInmpHql*W}1Ɋ )k0x*E~4HL al+:`B10 Ͷ"0B&abq
+Fa<#JTV"%2!K* BkvBk2ZED
+n~*GXY[M+EJC5]B$/fP EU؃WU VdW|!'XJ&dE<)98[>W#&T1aTJ
+FÊ${t
+Zӗղȕ?n1$v4A=:ϵ_Ajey.
+dҴ/]2frv;R;TeB;{gJ
endstream
endobj
-597 0 obj
-<< /Type /Page /Contents 598 0 R /Resources 596 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 600 0 R >>
+596 0 obj
+<< /Type /Page /Contents 597 0 R /Resources 595 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 599 0 R >>
endobj
-600 0 obj
-[ 592 0 R 593 0 R 594 0 R 586 0 R ]
+599 0 obj
+[ 591 0 R 592 0 R 593 0 R 585 0 R ]
+endobj
+591 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 297.669 665.918 309.624 677.873 ]/A << /S /GoTo /D (subsection.14.8) >> >>
endobj
592 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 297.669 666.582 309.624 678.537 ]/A << /S /GoTo /D (subsection.14.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.581 210.286 168.536 222.241 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
593 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.581 182.984 168.536 194.94 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
-endobj
-594 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 378.058 119.666 390.013 131.622 ]/A << /S /GoTo /D (section.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 378.058 146.525 390.013 158.481 ]/A << /S /GoTo /D (section.8) >> >>
endobj
-586 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 297.743 67.03 308.2 78.488 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+585 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 297.743 93.889 308.2 105.346 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-599 0 obj
-<< /D [ 597 0 R /XYZ 78.37 808.885 null ] >>
+598 0 obj
+<< /D [ 596 0 R /XYZ 78.37 808.885 null ] >>
endobj
-596 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F66 392 0 R /F65 391 0 R /F25 379 0 R /F19 383 0 R /F17 384 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+595 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F65 392 0 R /F64 391 0 R /F25 379 0 R /F19 383 0 R /F17 384 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-605 0 obj
-<< /Filter /FlateDecode /Length 11691 >>
+604 0 obj
+<< /Filter /FlateDecode /Length 11692 >>
stream
x}M$EC8@Sܴ`Za{
j*_=ѝ?|/w؎sbӭd߾ߗO׋KYC;}odB?~c;iؾӿ+[g޻5w_ldU}dvC
?rQfrQ{bMPzKdRG_>ROѕJ#W^#WrmZn>HoRSSfk7x챜*L<6g)*
-+øY-H/=z $Qe>I]ܵ)q(Q~ά*8kH{ F_EAꋩc^u!-)jp6sqTB[3~1[bf>u쇷q%ޕmZ'ۘ/~+!,c?~7b?<n-z^xeH*J[4r_NmaO–c\=4)Z1-hE Kr#iRx$rF)|bg9PnJ^zsh
-e? I5lW}x V;w-bb=b_6ZrXlG->`]tYwuc%H`d8<FW=l5/{ӿ4aj`ݼn[aʲԢu$Ա>,pU>w/cs!X!m)i0xtQ+^==.ݹU?V~^\>ufGWhx*8?R'ځvБ8%sң
++øY-H/=z $Qe>I]ܵ)q(Q~ά*8kH{ F_EAꋩc^u!-)jp6sqTB[3~1[bf>u쇷q%ޕmZ'ۘ/~+!,c?~7b?<n-z^xeH*J[4r_NmaO–c\=4)Z1-hE Kr#iRx$rF)|zsq 1{[(%ar9 m2Uކ$ݚW>dQC~ֻ jlZ/-P9, #͖qîXܬWKw|;ߺޱ _^yqA#Cū]Nq_[C5on^[GM7-S°FCeYj:KvX\_VR*OԱ_,쐶4|TsT\ުwW_+?S/y.:3ã+4<tQ QyRşmyL Sog)yXI;H9Q`
+3iͭQd,zn?piK]0_#5x
+bC3)w/*-+hw fS2`KE~Y=A0w9y<U LOhZ޴[4APu;(bq ~P9aȡe- ]^~#U#t7ޭzu1u;0a<7 b~wjyW
+/[uîDw2]bC >'OD1~Uk܊>ip݋S9g]UG.s#L^z-'N^e6Lm<ٕGZ| ';l=Js' ffq|"#>}td*\lP0\|yB~Q YfdirUt`7*׌Ы=[ kR`pbxxq?;>)$ү=.<~*H콮^VUy uJx%~D7rDS\)Q/~<|J/Wu'dJ#36c
gGF~P6QYq=p;_~gݏyUoivg_՟hO(oOM/|vV+}=s>S.SH7z#>Ar25Bά(rw$PMT؄FHYyh3xlB}KN;^1~ɏUG/ڏzw5QS u}nfvTw{:_fn#l=(%Yhb( }1qY;0nBoV.RAJJҺbMDg˵$\*a 4W^1R]qO5W+R
YfgjETun/ri^(WGbtoh V]bLe>VvH@(ڼ|uNԱV$
bZRlVr~},OUFXLX??P2V+<7@4OR\(?5{'%H6zIolkbFY
@@ -2012,35 +2002,35 @@ sğ$?/i(TgA팶4sFw
1
_'$U?-MӁ޳RϦ}.3
TCcc"BJr~$/#T1`e.:Y`8Șur2xKN$Sٴ<P'@'TV8a!Qy"$`QjLdN:@KCL'TZ6ʤ101og˔eRz3X4fƿ'ub:}]ewݽc'2/wي϶WsOwZ6c{S<^w{]TY{!2%O9ǻ+?ޝ<@LQg7nfM
-4R~n핦k V8[;h<`{>Ij_ﳇ5;kÛp; CjRf\goQwyvr/cf߽MuaD9=|[J8&_CS#=Uz ;s1=.;L*R#DuRw|t#oѾI-*+yje@Od[\_?x|Ƹ:zFޝdRn܋S͌__K-J]թte]{'HӰQ:Ow6&n4lRX4J
+4R~n핦k V8[;h<`{>Ij_ﳇ5;kÛp; CjRf\goQwyvr/cf߽MuaD9=|[J8&_CS#=Uz ;s1=.;L*R#DuRw|t#oѾI-*+yje@Od[\_?x|Ƹ:zFޝdRn܋S͌__K-J]թte]{'HӰQ:Ow6&n4lRXXjJ
endstream
endobj
-604 0 obj
-<< /Type /Page /Contents 605 0 R /Resources 603 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 608 0 R >>
+603 0 obj
+<< /Type /Page /Contents 604 0 R /Resources 602 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 607 0 R >>
endobj
-608 0 obj
-[ 595 0 R 601 0 R 602 0 R ]
+607 0 obj
+[ 594 0 R 600 0 R 601 0 R ]
endobj
-595 0 obj
+594 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.992 722.266 170.947 733.106 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-601 0 obj
+600 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 337.833 111.814 348.29 123.493 ]/A << /S /GoTo /D (subsection.17.2) >> >>
endobj
-602 0 obj
+601 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.903 92.662 263.36 104.119 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-606 0 obj
-<< /D [ 604 0 R /XYZ 78.37 808.885 null ] >>
+605 0 obj
+<< /D [ 603 0 R /XYZ 78.37 808.885 null ] >>
endobj
137 0 obj
-<< /D [ 604 0 R /XYZ 79.37 695.352 null ] >>
+<< /D [ 603 0 R /XYZ 79.37 695.352 null ] >>
endobj
-603 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F69 406 0 R /F55 387 0 R /F58 390 0 R /F25 379 0 R /F19 383 0 R /F17 384 0 R /F20 380 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R /F79 607 0 R >> /ProcSet [ /PDF /Text ] >>
+602 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F68 406 0 R /F55 387 0 R /F58 390 0 R /F25 379 0 R /F19 383 0 R /F17 384 0 R /F20 380 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R /F79 606 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-612 0 obj
-<< /Filter /FlateDecode /Length 11908 >>
+611 0 obj
+<< /Filter /FlateDecode /Length 11914 >>
stream
x}ϓ%7n]ECɍ^ELOO;>)<7Oژ=_ I
_SsOԎɍ{m[>֐/:><RgT۳}kn->τ<٧[eysӃow螪Ĵ\J6h[sᮊ/[ 龊R CUjT^~雿rA#Vh57^^^r{"O,|WS~ml?Ko^J/%-6oE]O e6پs }k{{
@@ -2066,7 +2056,7 @@ C(VkI1Pq8R>0
MG
ܚFI0`pAolȊZ*d˶BJ̪}MH2b2ڞX27Muc"D
[h$ʐYR&
-"0id|DE̅\K!}@dKaHv4fվ&QT1AnmO$jp K`1qiy{.ι@'9-e\4K:JL%K)W
+"0id|DE̅\K!}@dKaHv4fվ&QT1AnmO$jp K`1qi{.ι@'9-e\4K:JL%K)W
%%UzQ\W^Du7N/o$k.ViIJrAA!>wխclխHO G.Pu}BFU ri/YXkťfRy.|vWL^xF{/7 4~F}odr^MHnt&9.Tv{'!4t۷7^ٿ|g7o۟2Ll}kh=)$xv]}=0ftvQ
hAN
vb{ 'f(>[ҠXRP^ :)@Q ~q YI$MlܟT.ܘ4n$;@qSxQ~㨴k *s5s}\kں;2L~9ԣbIw>927N6KUi-'Ff|vcd#sI\r8F㍑roK'ҌR~o(ydmY2 s~t<N҇r}VhרL
@@ -2089,35 +2079,34 @@ B]P63)@dT9Em"= *hn+ 8[]
 7N5~ZG·s^uLX%xwS~G6wBZ?eSʦ?Sʟ__Oyv]PBWBK|7$f㺈iڮzhF6 ,MWfI7[GG>Ivz ̝C溺h=k?yҦ{yTPzOdiڏgi;e}<β?JP^vi/E}P_'i/'iWZEA{~מ_hʏghY>Tvx'x~C}hUlu[gg_"=#QGVofE2s;<]>>JvH7~₸\I\p?gJv7
Mufa^#SJv`v6WB:JC«llN|n9_Ls6[~_tr}y؅J!T2Hu^|W;*rڬ”ݧH_270+m8%!k
9ҰҖK Z*TGł8D`I@"ilmJ'@Y*|*5gYW0s'`x(<FE?9$*>5y[Hs"HbY7eɉ v*
-Qf V~y|`w8;O+׿otK_{gڂԠ&8\a0TkZFnޫ?v ?w,|<FX eyU$ZjҚ}S5\2Rk= SFzzJU Ԇ`k.0HzuP_>Ь`+۴UQ֏,F^Gu;كZ8>j
-,fu\+/>SC;*͆/r}`)egDJV~8Fd+_zi
- Nc_w])0{Կ˕8fc%#]D馉:3|ROd:'gd4p%7W)w,D)}/ q~SwzZ{sbΞN/}p%sLUߥ#]Żц;f\C \ynҴ |JIrGCSfVpwנ 7Roy7>ԁGӽ5y}h^bOy;&PWf栴J,J[DcOW7UO~@5o _Z?E w["āWx5^C}":߹)4q*G$L܊w5
+Qf V>{h,H֛=DMT`2%U5:.M&x߶HQ҂ah]>M`gτQ5M5j"2sNu2A4&|:-|7&k깰efE{d8IlJ+8:q 9&^7l]04~<l뿑KLסӋ+4://} +Xi}o]#Y\X_
+]=#e@iRo]e5r3Eo;Dl"=ۧ6}$V+n5w_#%oT]Q˻8|s68M>]=]"1͑ĮJukT>'K 2Ry}z27 [rq1mzbx̱|;xW\=;}agqؽ-Ǝ}2ط\޾PP\9܏n ]:5ϼK9ϼgnf>&MW$ 49NJt;<evnu {W ʙp#7;|iqCx>+}]^iч?|f.9fcuen8lgxVqx/˾՜/OX$=aqtu3_Lꁊ<k9C?Nzuwk%. VHw5.k2$Er#I<tsjS0ҷT"(H &CokT\
endstream
endobj
-611 0 obj
-<< /Type /Page /Contents 612 0 R /Resources 610 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 614 0 R >>
+610 0 obj
+<< /Type /Page /Contents 611 0 R /Resources 609 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 551 0 R /Annots 613 0 R >>
endobj
-614 0 obj
-[ 609 0 R ]
+613 0 obj
+[ 608 0 R ]
endobj
-609 0 obj
+608 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 213.396 67.03 223.852 78.488 ]/A << /S /GoTo /D (section.8) >> >>
endobj
-613 0 obj
-<< /D [ 611 0 R /XYZ 78.37 808.885 null ] >>
+612 0 obj
+<< /D [ 610 0 R /XYZ 78.37 808.885 null ] >>
endobj
141 0 obj
-<< /D [ 611 0 R /XYZ 79.37 520.772 null ] >>
+<< /D [ 610 0 R /XYZ 79.37 520.772 null ] >>
endobj
-610 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F16 386 0 R /F15 385 0 R /F58 390 0 R /F55 387 0 R /F69 406 0 R /F19 383 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+609 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F16 386 0 R /F15 385 0 R /F58 390 0 R /F55 387 0 R /F68 406 0 R /F19 383 0 R /F65 392 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-617 0 obj
+616 0 obj
<< /Filter /FlateDecode /Length 19743 >>
stream
xM%9r%_]91TTV
Ь
-;P0BkH1ȬTRd0?s.NI_߶a[K=B_֎[joVۯVⶵܷ~~B(X +]~şS+/D- ?&Ee/z7OG,~ 5|DŽJUK̻ٚ{dhs!?V%<S8i5/M9ޓCVA_ڤ-I>Vӕ]͗<Σʖg^eą?uÏ)aa/9"+ؑK}=FZ*Zo&|gr2߯?5'53hJd`&_,fQrO\wuV?U'#돦a#N H]D}Krw9[='yHn-dw7Jn8ˍuz7[Q#RjBUߔYtqkh}SUˈu=f8n%-s 35w~-jl7Dхeƿ|?k@~K[^)qe.jNi>?hzve;>i?y[pJK=ZznʯVn-+=ma>.~Wx~^_}@owP=n;d3 [rY JY]Y~?ZOmn'A[o\+]<z謏}Emo#|s̟[9tyXeu4B^槦cJ?tyY,{:ϞsWUMZ!~@z}^yo#o56Ğ54"ho,uZW=wl_\݀~{055#|ܶ#?6s
+;P0BkH1ȬTRd0?s.NI_߶a[KB_֎[joVۯVⶵܷ~~B(X +]~şS+/D- ?&Ee/z7OG,~ 5|DŽJUK̻ٚ{dhs!?V%<S8i5/M9ޓCVA_ڤ-I>Vӕ]͗<Σʖg^eą?uÏ)aa/9"+ؑK}=FZ*Zo&|gr2߯?5'53hJd`&_,fQrO\wuV?U'#돦a#N H]D}Krw9[='yHn-dw7Jn8ˍuz7[Q#RjBUߔYtqkh}SUˈu=f8n%-s 35w~-jl7Dхeƿ|?k@~K[^)qe.jNi>?hzve;>i?y[pJK=ZznʯVn-+=ma>.~Wx~^_}@owP=n;d3 [rY JY]Y~?ZOmn'A[o\+]<z謏}Emo#|s̟[9tyXeu4B^槦cJ?tyY,{:ϞsWUMZ!~@z}^yo#o56Ğ54"ho,uZW=wl_\݀~{055#|ܶ#?6s
Q4Sm閷F"+:퇿YvPmzD=( ?-Í?DvVr0e5ᢻѣ%Lg &aB=uʗp?^_Kѫpg@4`. H,if3 _DPȭpg@4`~ހn1SL4.omF;llgs1?it{տmM{JyM{ـk}j1ǏX sȃ = 5c{6@  }ـ6P}[cۧk?olg}
~w#P+KqayeRvhtJIfƴ3L /W@H>*A@[΍x&%k
S&C URL-ݐ0jnLi(
@@ -2189,26 +2178,26 @@ PE2 ЉKt
Yi+XP$w4G0ęR2m:,? EuxV|yp^
U6W6JGlu* B<E'HCMPef_~C?~NCЗ4>~_{ooG /j$oi<_~~je5ʖSo?R_: w^w7="u-|}<3m9fR9/ŁuEeHdF0
,xdJ/B,d/ܪt#8s`=ZU+P^r(U)THx0YJ~i|:@aԏu
-kawQPXAO26従?PȱHs;>J8'"/i
+kawQPXAO26従?PȱHs;>J8'"/(
endstream
endobj
-616 0 obj
-<< /Type /Page /Contents 617 0 R /Resources 615 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R >>
+615 0 obj
+<< /Type /Page /Contents 616 0 R /Resources 614 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R >>
endobj
-618 0 obj
-<< /D [ 616 0 R /XYZ 78.37 808.885 null ] >>
+617 0 obj
+<< /D [ 615 0 R /XYZ 78.37 808.885 null ] >>
endobj
145 0 obj
-<< /D [ 616 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 615 0 R /XYZ 79.37 771.024 null ] >>
endobj
-615 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R /F25 379 0 R /F16 386 0 R /F58 390 0 R /F54 378 0 R /F19 383 0 R /F17 384 0 R /F20 380 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+614 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R /F25 379 0 R /F16 386 0 R /F58 390 0 R /F54 378 0 R /F19 383 0 R /F17 384 0 R /F20 380 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-625 0 obj
-<< /Filter /FlateDecode /Length 9836 >>
+624 0 obj
+<< /Filter /FlateDecode /Length 9837 >>
stream
x]K%qW`]ƀ
-ϝ|Esϛ79՛[ۏ?}c7fon>rIϷ?}0&:cr1ۏ6n. ~~~J/
+ϝ|Esϛ79[ۏ?}c7fon>rIϷ?}0&:cr1ۏ6n. ~~~J/
@@N]SY#`)S'i߆<HI>kGHS(MSNU[jr):- hk狞m@>4.`Eono'?Ѕ0Ag
;TvGW?b
@@ -2224,78 +2213,77 @@ V]x86te*%avPݡ Jᦠ&t<&(fBjkHehrЉk1sacUm (
't3^@~Pt0[\]rl~L# N0dhv&${ۀX예4eu?XfSw9A27iq1Ps) 4=hv&${ԥ@s tel4B9z0\y;2`(B-ʽdlDʖ GX
M>jPW~_!a/5U1a{M* Xj:Pv×N %K)aڙQv(@LAd0jbW\{dqh\VP aF sqhSPKm
-)n+Z*!o]an)T(>Y-u1hё Nb ٷiĜA#J]p P޺fP9
-j
-Hu0' UR@pTJh޺]5j"C1Sg
-@ؙ:dNaDt(0Qxv0j`
-gUԥR[B-3S9PRzv4]YfSbHLɶ:tϣ"n|D3 A
-+ADj tN~amQyvLt'Ned:Hd۶t$
-i2"J.2O Nq!gJf5}ܴ7!ӑP1n@d+v2f2t3z׉'H"((\RUyZvsZcG;S38.g5
-!NsSPKm u赛b7A$kK ?3ڙ.|W!
-j*¼S3a`I)-&4;ͬZ.Co]実)#Z9'kx
-X?&̓zikvNDdkNZNb ΎҌ%armm:c մGyab9o!.F˦۫$a14n[WRm#\Jv ;J%
-Qƹc}߿Kƚ
-GX")p޺&e{r6]B FAI0pA<mgsL$\mR +ADjX&`Wp"C b<6l|_<1پeF$WSCRw܌y
-iDߓ{~?m{oC V :0CRہ!L)vj!7Ȕ kg,o% 'aT^A<zL[ۑW`QY,B1LǵF)mm
-3P)nxkPNl% ~Z6hJ;
-qy١)
-6 dщfTH~m9*˦ƄbdhI" :s`X2mfis7 )vs|ok&UdqBNvqb.U(EV'TVPjI1 gMw0Ly)m~ɱe O!zmQAt" !j˦ 3kak8!lo2S C[x7TfIoKX&u,L>T\@'JŰ/ǁ ᭹aTPV&-'J1r0\sv8'Qq\|_5M !V`M8 Ev 8X*YSP=;?2DrIAMHfhv *c4e,u=
-jB2C\ay;Gbs䗥v•fBq<r@ŞNr' p!v{1<ўd #6Ip.32ZL%TCA5n,rsDAMحnjb
-m=G؅c@@uqÌ˸ЕDCR Hfb`'3 Vyp[[|1X6z&x*mklxdv
-:vh#
-jB2Cuepm 0;7V)^?0<"Zk4C
-}
-Q':9evo?Ӵq!ą`Oar/µDM&T ~DlR.*•{0USqO-ԩ4.Pc']r?d+7-n{e+2 &rPUW&]}뽫SqT2I[u25nB:۫?\#C+g ʀvU7g]9=(0\z$: '廖4?Y(aZAǢ1\x^gMT[xuE⃁my .q]7jh\h5 j0z}Yq{X6;Vna9a7u_jF8D+Ůk;On C2Nʉ;+'wڶN\|/մh28~-Tf}#)6:2ý@6-p!RRM1xHr
-Jaq*P0Eb~ Gj^ 6Z? #?bXZMw*^QFaOK{>{G,͞T~ ܮJ}>3F_j'+<v9)a^:-M
->~J~(~
-3e;`!~3K8,,Sð׵B4oe_WB!qݢ׸ ua4c3s*=b쐬GS
-`]@ze^%n8{ͤ>ٓg ;G)VMajmcN  f`iH _~Te}Q Ƹ83E80t=\슈^jkm  .6]čf' 0cavL
-xE}mdf}Ίx"7mv2s.rII<?W[c:O5_*s^ý3\=rĒ<JlhvǛb%dې*w]p,ض^pZHoT)\8-bڌWW#ZK7~a{W3Tx5v=7
-ۥ[<OcRDayxu]bOJI׫SgkثzKFY 2٦&_fLL}2ڭ9'Gy V
-DM*hAb7.ڪW v9'TuPv/4r$[$]ݡٵ(V
-1.0nDD zESPKmj}Rص+!QL)( fݣQ01od+th2= CA^BVen5]+n榠.XBvЗF0A/"^/hZ[p+J~
->PL_E.,~X< âSy& ݀\jK( =;#K$ٰAxe(K,b5`-`IVQ1` ߀~0NK !2Z.2bn߻0gZd>m 0M+[m+a9(}
-m5@u*8З40daD<vX5c0`ܶ Z8F޺])M0<Nl.kX
-7; Bq#9P_Ė<4ȰRUK;*qgիy%V)Xyfڨ>!vA`2k5\X$Qٲ $#l^X %7 :9 DZ Vy0 c/'1aFߊ@4Cn+wi pG{U5zM.YMXzm@]*hqBhdJC.CԶ'tb3[Mjr QNdnl+2!/
-Ymg_i+?;,Gov\YX Ujlk,o=[U, ;vq}KLΪ{)GM`enкɇ7Zܔ\">F۝.9:Gw1*q)xS
-ל.+"){Hד5I(S<s\h>ݱnaoX9ٓ/Nڤ+0ɯ9 ta 9:_-c8rf8ljy#=J<0z/{V /K*%)X.%:ddr)w̭_r(OH{lHs<HF>|6l-S_Ps<o6F<1'z?΢3ΟuDg$j?v'=Q~AJGґ<#ttttttttttttttttttE$$t
-dNJ2Tg@KisLay᜝t3th < ;RQZqWH'_i F@~ Rk/CX1nqxAD3sNZރUXC#1пmWq 1
+)n+Z*!o]an)T(>Y D +Z`tdXǂ@;|mڄ&1gAP-Bq,b@C妸F&%.馨Yig(E1T-O`!w3]c6f{n0$a8R0z4Tj;q#`
+#L^&Y-lo7uԖP 3<`oT޺];M-`VejSή`=  0F@P;
+
+~T0F޺]AlVNlT ΁}A x
+ k"C+P &țZb&f`qA@Y"1 Vr6D|W
+b@ ͼc3묖[W't涳}3xNnpZ!t?%,]NjCasjz®Ϩ a`#^d~뢩0򚝃/5{뚓X,4cq ~}\~tG0襮c:l5v^XX`[H -,벩*Izd3Ug5T,WRNRtzBGãqcXƒ)&P&ҴygKXj ֌ba֥G
+,;IabBcd l>\`ϡCۙS
+S[CAv&{@V+k/f9Bڡx0䰹ǞO/|PB&̄)4;uvxSo];Z,!t@ 2eDeBvWO'Ӗv!zT!: !F qv
+b[[ To[;Z*!$Sdl4)g r
+격1Z`6&XA( v{G u?Eʥa䩝
+j)nI,A$TbZ,gbcYm0t S^m_rlSh^rT5'„uH'벩s? 0Z0!tX:m1ۛsT=%ƀY[R:IK%2DЉz1Kq`Cxka8UDIˉR WcⰄoT\<Fp}
+}E4'`Hjƙ0)H#G Ev(( aWarp
+5ފ6]o`z&Ċf 囁1<Na4]Ac%⃀)^%c
+1Sq0m樝!b`'V{v;{y5W(GvQ⼘\1A9e)pv>3Pg=CA!fe8Ok Yjejoˌ :/bqIk0Ր8Ga6\QPv+j(/n[Q6vk]\02.t%ѐfR3؉,v k'daU^F%V.d VhMI,ʥiZ&,/47s0Zj爂v;{l]3Aͳa+ OêֆMǐh
+ WNk9HI%ͥ#OwVPh?W*Y{S|/a?C~A``q[y^|DxK\W( Z8iZM+*n^_V ㎕[X'>b`XM n$6xt|NJk,r⎮]ir Gt5m7GL7N=lF>_K&h{A_xHw 'ιpo?s9;M \;h3T?脹`0\Boaw
+Խ4LCb1ÑWFqDǏVS1~흊2GtXOmp/)|g<Uh(vwL5BɅ
+s{iJNKt|B5n߃҆-
+Bx<'EX {0u?>A*s.zvPHbvh54AB]; hJ;$&T;1Żr6@k^WΞt3)x$z?hx}w?bUw{gFzby?Ezo
+\W?p/ W􇿪1$߻Al1k"2gFyw~n6du
+{lkk!+|?w 뻘6cgHy־M<;wX =^M'$]s%@8w?wIoH¾?c
+!ZЬ ˥uU,d%2 U]A!Tf0 f8V,I`ckwhvJՅB}y, =Ǹ}~?&^QRہZ߾vJtehk
+
+2e(c#,L 8[<Y
++mOn1P*%ƻi٫[Mʠ[)5`+v],#%0mg|˦ Zʮh(@0uV?ۜ:|5_`m.EW7&^"95,js? |gR"y&$5N
+C7aB-IA6l^;c7 ~Xͭ:!X:rp&<@UT X)7'jBpc .̪n{"O}fB5aF}
+V{|h
+qX
+}? okF~ >'~
+% Y&`F}9%킖!eWJ1j52KaZ/VN¢PH5;% 2CU9ǎ@hYjq^Idii2VY6uaiX +zM2~!V4IT," ffd8"qVtM1vN:뢺FU f I vXѷ"!Ї
+]Z1^Uͻ^ *flaA^oEsPJmZC/Ґ VSڰD
+픤9
+L5}+z1@X<l-WKX8aŀ4Z!`H8 ,˞xhwI
+KwI2.khwJs+c&k{2o/=[??(#5a˟ű9n>50䀇;[>+.sLI>^珳(uD'$z?!Z2:0xIOt_Qt/OH))))))))))))))))))js% 7ZK0&Ѫ( Qf LMė@ɪ@Ix
+rW[X/\NeأNnH>ڣN#\j:T~!G,w
+oy9]{N(>*CϣzRe2roٱ" =R\2bX{G8g)b Z;4OΨTl҉t_KV Ÿv/<^Q̜9hЈ%2D` o[aUǓ
endstream
endobj
-624 0 obj
-<< /Type /Page /Contents 625 0 R /Resources 623 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 627 0 R >>
+623 0 obj
+<< /Type /Page /Contents 624 0 R /Resources 622 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 626 0 R >>
endobj
-627 0 obj
-[ 620 0 R 621 0 R ]
+626 0 obj
+[ 619 0 R 620 0 R ]
endobj
-620 0 obj
+619 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 326.699 386.919 338.654 398.874 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-621 0 obj
+620 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.817 327.143 174.772 339.098 ]/A << /S /GoTo /D (subsection.18.5) >> >>
endobj
-626 0 obj
-<< /D [ 624 0 R /XYZ 78.37 808.885 null ] >>
+625 0 obj
+<< /D [ 623 0 R /XYZ 78.37 808.885 null ] >>
endobj
149 0 obj
-<< /D [ 624 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 623 0 R /XYZ 79.37 771.024 null ] >>
endobj
153 0 obj
-<< /D [ 624 0 R /XYZ 79.37 433.664 null ] >>
+<< /D [ 623 0 R /XYZ 79.37 433.664 null ] >>
endobj
-623 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F25 379 0 R /F16 386 0 R /F20 380 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+622 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F25 379 0 R /F16 386 0 R /F20 380 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-632 0 obj
-<< /Filter /FlateDecode /Length 3996 >>
+631 0 obj
+<< /Filter /FlateDecode /Length 3995 >>
stream
-x\Io%W}~ )sp.).E^ޓ| 0u7Yb-_'>}{݆MnǓ;| LY۷o/ɹ s~s8! v(ܾL`s}/z>+g^'S|FÏ+=?碌2^û9[cebwaV/93# ;48j_NqRhGSB\J sJ% j혾
+x\Io%W}~ )sp.).E^ޓ| 0u7Yb-_'>}{MnǓ;| LY۷o/ɹ s~s8! v(ܾL`s}/z>+g^'S|FÏ+=?碌2^û9[cebwaV/93# ;48j_NqRhGSB\J sJ% j혾
w};+ar_FKhY!(/vjAg^N=C$#J^ӊ< =hNt\=+z+vU|k3e'>Ҟwڸcq>(qHx> mWE`&F'nY'O$.`6V?sȭJ?#l;,q8JqFxVlII-ۍ݋qΏd%JhA;WFM߅AI3+Ubh\fa&m42FOwik
*=f.I0*O9O Tw-n00F(/{xXf
o
Q!f; CASG.b3Rp2gܣ GWYKU(δ ,'  Miì LL >t?^
EA߃Vy ' n*|;~1VJq뼝D#HfɆ^<htg5~c 92<'HEy`~E\4 %\y4'0ר1dlڇ_rtD UWKH츤 )B5Dwy(4Dr <!؋-i?~Bjc0\VpS
-tlgqx0 J&*B,
+tlgqx0 J&*B,
VO ӗ8 
vAʗܽcîYw3u܋/%Uy &1j/;t]V-@}/WtI$p(QЏ
~_@Iqv8 uw}oZeuBC~pu<mY@%ZN3"<~b>7 \AZGgup/fg $ٙ2GqyTN [A?zoAfsŚOڇ-O򼃋j43k5XW^a,QVG3d_Ϣ0m6 s
@@ -2304,96 +2292,98 @@ Dr+Enn[iQ`v!^x^,ZW.DtwZ09g!jSoOԜI#,$ln
)?xU㑪#3N(ҏμBҦZJ#*&$SV<G
SF$ˌYn/Â
Bz̀ޢ(n
--^#
-Ĩ1K?nv(EN;q`q&\u1};oKmp'Ž{S9 8➝Y+۰uԼ& R2=ԕ`wz٣[D@l!!0%k17!zŔLQ)9Flyo-OEd%YG8}.Hp0
-ħxnKsOD-^m`!
-WτS{ZDCX_
-20y춎
-RFm{LӶ)}oP^P{EVsGz~Lj5RO7IvڈanF-B2k98w?6?Z
+-^#
+'$b  (,_dn(+TfJA1`{Sxm9|*J%(Qt>sx0?7GSlQ >-s]<Ӗ~< n2m+W ;\<}{t_ӯ/߿G) `jo?gD|&N=bq_UIp1d5gC*d`ZJA~:5:ЖA1+ D@lr7 ݠ[Ҵ2E.3aEk&=+#7z"lbtcp{(iɹYpԓKj9FVEhUi!Wrz L=44qꋺxZ/%=ټ i8UE|j[g}h0-J[.nt'F8
+v"wdmh) 2XBb`^]^N-vyDyA*yF 
+ݩ'_vwE~
+q+w$^vDЁ!UNADhZ<<.T.xDNj?8{m7jee_n}NN53+OMHtEl搋 1 
+ji9ymEw.%}%5`
+T'"G7L*gՔ[qم˃W2 ui.ׅ Yr
+F,uw^_xí Ӣ0ў|L8E4u  sn|
+kV/taFn"MoK.$nhzcj
+Z
endstream
endobj
-631 0 obj
-<< /Type /Page /Contents 632 0 R /Resources 630 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 635 0 R >>
+630 0 obj
+<< /Type /Page /Contents 631 0 R /Resources 629 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 634 0 R >>
endobj
-635 0 obj
-[ 622 0 R 628 0 R 629 0 R ]
+634 0 obj
+[ 621 0 R 627 0 R 628 0 R ]
endobj
-622 0 obj
+621 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.21 725.076 396.165 737.031 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-628 0 obj
+627 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.821 351.038 461.776 361.987 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-629 0 obj
+628 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 78.374 71.415 416.581 82.872 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/52848/tikz-line-with-large-dots)>>
>>
endobj
-633 0 obj
-<< /D [ 631 0 R /XYZ 78.37 808.885 null ] >>
+632 0 obj
+<< /D [ 630 0 R /XYZ 78.37 808.885 null ] >>
endobj
157 0 obj
-<< /D [ 631 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 630 0 R /XYZ 79.37 771.024 null ] >>
endobj
-630 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F65 391 0 R /F58 390 0 R /F66 392 0 R /F81 634 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F67 393 0 R /F54 378 0 R >> /ProcSet [ /PDF /Text ] >>
+629 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R /F64 391 0 R /F58 390 0 R /F65 392 0 R /F81 633 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F66 393 0 R /F54 378 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-639 0 obj
-<< /Filter /FlateDecode /Length 6161 >>
-stream
-x=ˎ7w}E=4U'at3|xY`F4$ 2Y%Z
-GF$q(뫴D|/E^|\x'OB ?/ dBW!¿ ߸'k2(=m#l&VR)UWKCTW- "rly NpiBtoc4"<Qi/_~}X7ӇQrՠe2\ƺh=bV14VEL4 vc"#LʅG?,E0vV2k湈 ,&gd@b{+A&U C1A
-GvZunO*;8;[Ϸ
-_[UW)AfwWf={jE"h
-v\Q]|ұ4A Q+ڷR%<aBy2
-[k„˨P4znevxnLl&6bɪ{?ӠhPzݺ
-h޹MְJ`s1ss:!6q
-i7?lUȚ2aXjX%|8ƱK,7-vN5 k789"(e+8lf> $J|iLm"IUgEiRZi6|[(ęOK'^3/e }0{?u,w++735X #<=J6O<{[žEV}d ~nqݠQ0G-Z/"?۲G0{wU5@yԌ//`u>yN*U\&,u"gu$Va bNhXg "EQGE}JI (̡µ΀巯<$ŠFGX?w/|A^xwR]6 ʠmKƔߺZz\e
-(Ú8_'hN/ܮ:uyyiaOp/u{a x7GT.
- & W׮jGt w؎2B@J@?h`{`;0'os'M*s̹~%JbVX/}#'Gui}NaN
-x'_" >14"ʁ#:3oߔ6BadQRewXAQ vR7@QH;J݀G (x]5earkHkf+]K<t~IKk;6t0F<tR֋d⢜=t=2.* wsZ{~>-+R/i\]1K
- fWj`A!kl"T
-2<EW9?D#8c64n0X~/Ayd5p[/LXD2_yƹ^UH*7J-!acڰbq
-#`bߩ'-35%6rFy8c
-
-؄3kCzJ`( xKGrWsO}`{J?X} +P
-jFJX{d4mq * s:@pQXpVS:4IՏ9#m8CÌj)((ЁaO2Jy Sꬾ((8+ʩ 1>+i97:QgDNғN%`d#'hO>x#{q*lX<5{tcgEyR{"h HjԦL|&[w'txioX`*."k-c5,{ciXNi`F?`nY1ڦڼ;%(u/ KC2MX{X XJ/^Up 0\ّM:r)dGA{oZtb*gMZ,e]6bEՑwW۱%eS-@W{c`~F1lv(3[43W䂃ƱKSeA7mH*̉B'RQQR_.Ңx)Ձ([AW*o4prIyV-_XbҀA/iI3L&Fk%.I)یUw3'%
-d_r+Czѫ,fFVp3~a?:V-U<w)pd:I5+`]a70O]Qq!RþMX<pUe#ύUުӍ%@^=4X"GlߨqRr9fȮ~M6Ttaf `y8
-m+dWn%뙔g31Stebօ]ooa/
- #LfDDծ -K[9䢀@#bzK&Ud>=9XA?[AfK[ 5&u>/}`q<6`F²/-\TL˒qJ̹HXǃ3|
-ߖ f%1;.KJ/tA?
-OϤ+k0>EU[<d17hGq+hݭm+_B 
-qpxFoS
-|6} -stM}YŤc SZZʠ
-+VB˝+ƙ ]5:`ҲjN"5i߆5a{\\0z +ٰԋ2.J63)!UagZKN#5i冎hN4q< ؟ tri`-B52:Je*~ltoB\"G".+֐dK|)ch#RK'&T#{,lc+灹,DΆKKoZGEE-4b'L}0`HkQ ߡv3؜ɭa+,$ 69oenS4<kCB=1Р8T.}k#C Rndj+Y$+:MRYI;A?(%bwz<q9Valܷ;A5:9hP8'AqU$.iJڸńVv܃a\V
-[z;PRo%}Tv\kIPo &ѥ9nXy<[k;srrV;䳄1)uRXos)529dLuH4@q=%/:]4a$gghQRo%{Rr. s[Eb1W Ckbl]ȁ`7|vމ,AK[SZxj+md.$F#lEHmw&lgu]6
-B5mPKk$yR#r m[a;7[+Ozm#ns:#uCK([SZb+lp.(F'm\EP&^jm\anPT]6AFAa(yln@Im\PjmNPʹ$+IPoNNVc 8hӃr
-3<h3\6&p0V\HJX#|#E@& \:n6]6p?,hXԣ6.$JL56x'Fg\$(Dc]E JGuy) -!uQ5C|(d_yoOG>>.ǗWv~YS V:uNTo)"bA}jo978ݮVpOQ|/T)9rYA3tux [\5cVݙ Goޫ=vgl$<aF͘M#K~!];HUZIF&&=Ș4{kti؈'tsC-;>uf$ƙ̗r?MBNl,uv֑Drɜ Өv^,hW!:͍L|i3:|d#E"
-"zAxF->W+èT0 `7fugI%[-z߁H)'ĔadVJ=
+638 0 obj
+<< /Filter /FlateDecode /Length 6163 >>
+stream
+x=ˎ9wE{(r=[==Y`i~II("2"+m4rU2)z^w~^rwyq\/_/?? a$j/ON^
+o$|"~Kx
+7%I\9~1&x1e<â=k)ST呴RxG ۹Ӱӈ LV6{K[HGiHM21A?
+5k=Kkث7
+v\Q]|ұ4A d3yw*_mhePbF^>p~֚0Q:* =Cٸb2x&6[X[1NdսyPehPzۺ
+83 6a+!>:b4ubϽەClL($o~Fhn ðʹJޏfq>}X, ?nr[i j@"oFqrD.P4;)W,q|I ֙=UK6Ji,
+?foYg>a,"xG>moԾL}v0|]pQI<}ڗnζ,ɽ-psއ ~sƹXEu[cQ6x4ۖ;*ƚS@yL./`u=yN*U\&,u"gu,Va(bNhXg"EGQGE}JI((̡µ΀巯>$ŠFGX?w/|A^x7R]6 ʰ%SoM;_ւ1AaM/6!'E>:u@y.QxiaOH/uSza z'7GT߮
+Z37y_l#WWXK=]ZЏ?bWf5|Vta+x"Hoθ7
+ & W׮jGt+w
+؎2B@JV@A?8a|͝6yo3iA"[a>`ڟhZߟֹ 8k
+P;jxiWf .~UW*}k>F F6k'&{lu IDq+D$hD]`kaw'cPبɰ(!'wo;ڀ}b5>'# P;i89\9Q,L i`xW 2\Ä#눘j 1N(Uv'~@aG((un ~R?G5YSV/G na/hf~ia.-NsKkk;Nw8@9wizmmc(Wj9z1L\(@YEW%Q.Mkχ~^y%˻+fYaaXE
+|0u1\?"Iykkؒj 9V1^`lBxTϙ=eA( xK
+ sbiЉUDpT{GEԖ@1%f:d+J卂:;ޣU2M<Ϫ k\,@^0Xe=-YvFɄ"h%)7%0s4,#wSV +_n{xC+zŌ
+u5vx_;G^gܪ7R\6|y+Jހݜ+3#Vj {GUcYscգjtw DZJȑqoT8+kBUdWX*ŋ#U3VU`zKT%{q6 s2z+?Joq3 Stbօ]ooa/
+ #LfDDծ/K[9䢀A#bzKC
+J|z$s2«jLl}_6&\롽Fyl4e_ZBV]5>Yrˋg,Me^KYqIbTV:!Z;qW2 <MWc ׭z~<qEI=Q
+b"]^"Tȼ`_9ZByH".F\g z."ʅ tsXT* ƙT ;H[T.B'TD&,2#Ax kږfޜR7(W*d`)JxtcѾg)r蚱]dlr<gtVfA'qU[]҇'cwc
+ 9uB3 txi/y*E)' 8_q&kܚ(14d^iۚSjL2vV6Dj:s[
+Zwkۊ—~7P"z c<qOfʔa[|!nM kL9:8[Z^k1OFa2djiZ[1 ܥZ|H[3E1` J|U%ɭB"N`"vmY*7lk0mX8hU2ŤcF SZ ]EcR+QƕLj췚H^1 1P υ`2uK^5 IAFiWi
+jO%W 8Zr ԫ!V9Qjb!y+>d饡5(訕Vb[ Wp@DRV2 ;tK|)ch#ECk|QQS1r\M# ̉ .~xT::*)PB0+aPz$H$"RBv3؜ɭaAc~xa[a
+g0dca@ *S,ui[NJ&hK VZ H$Wb=ut> w&YI;?%PqIxdq=q(I(6[睢II$W8ݪ4܄6`10u.+[z;H+CIFI:ZrRTItiLgkm7-9,Ql0J"5M9RccV (tQQGi ۃ m"I|с ;%8K>PCVO`\KJB5MygCRɕ(Nb^Hhbl]Xb N9; % AL`̕xMB"(mڐ m"vFXEU8lCzX@\G H5rMsdC"ɕؤ$NvBoBLz0 7h`uݠ#uCK$驃*=+QDr%yQTGM* 8
+X;]2؈riLvIj5D 漧dм-&5B |z5)e.*7)\ۑ^gDaԲKokbEvUz8V+iZLJbM})aRrNYž3]zIspiRic3.# CY˫%
+zc|[湿޺ ~Ehh3^ /.Z"
+tz"cL=Q 2xenZnZ4a jL9G)˜p7;X=28-tfw
+ǯ& x-eKdW'ռ3EUõ;TnJ{)
+b[]~fO ?ty;)C>XؕKy԰Veru្S|okYTՋi8CPx0JA#R OLLBXO K\p-Xu[ݱj\Pߋ[s==ސiiS\w ڄUz%{ rlb> @mʅaRtfs- h´YJ
+}{+Cx
endstream
endobj
-638 0 obj
-<< /Type /Page /Contents 639 0 R /Resources 637 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 641 0 R >>
+637 0 obj
+<< /Type /Page /Contents 638 0 R /Resources 636 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 640 0 R >>
endobj
-641 0 obj
-[ 636 0 R ]
+640 0 obj
+[ 635 0 R ]
endobj
-636 0 obj
+635 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 334.246 76.658 344.703 88.278 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-640 0 obj
-<< /D [ 638 0 R /XYZ 78.37 808.885 null ] >>
+639 0 obj
+<< /D [ 637 0 R /XYZ 78.37 808.885 null ] >>
endobj
161 0 obj
-<< /D [ 638 0 R /XYZ 79.37 473.14 null ] >>
+<< /D [ 637 0 R /XYZ 79.37 473.14 null ] >>
endobj
165 0 obj
-<< /D [ 638 0 R /XYZ 79.37 295.105 null ] >>
+<< /D [ 637 0 R /XYZ 79.37 295.105 null ] >>
endobj
-637 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F57 389 0 R /F55 387 0 R /F67 393 0 R /F25 379 0 R /F19 383 0 R /F16 386 0 R /F69 406 0 R /F58 390 0 R /F74 427 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F71 419 0 R /F50 396 0 R >> /ProcSet [ /PDF /Text ] >>
+636 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F57 389 0 R /F55 387 0 R /F66 393 0 R /F25 379 0 R /F19 383 0 R /F16 386 0 R /F68 406 0 R /F58 390 0 R /F73 427 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F70 419 0 R /F50 396 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-651 0 obj
+650 0 obj
<< /Filter /FlateDecode /Length 5466 >>
stream
x]K$mϯl(|woOo˄$^GJd2K]>
@@ -2411,191 +2401,184 @@ u?(xΫ>CO)=Cn ͶGܲ[^H8s&q}ӳ\T]7Cޘ`F~k2
oӐeAlu$ɳMۋx.'%U/BZF\-Fw6(}N(UEpMۍN
W$Vى<Smϸw_~,z нs3e~ G_%Q`D~2oWC6y &k2ff^üu. t,ꑋ]I KGV\kV@|vQ<|*z@ҕ|4F9=A;89 x9hH4z2AFVI<5>!ZTߞ|Ҽz
)o? o|BI?B:
-=Dg
-Q@P^P)Cg
-*QQ%+OT4oyDӌk3tWQ4*S7Y=`ohx}4sz&;bIvjj(E'Gx^MA/uR*~v0[Ϩ
- Şz}[܍Ҋw,|M_oM\0d
-a\ fFA XmerFI(sq>IȅAg$P#/$)TU?[}LbROQ26kE<7:T8CzjFYUfm\"hִ!=_cǺ3))?f!k?M1+CݒzzW;3|Қvf+dL#<+Dt@Olka
-Z05M>x+5qͫ6͓Lo94|+x(|k+5<_2ɤm`K`Sm8-~mh{)e=?6>(?Vs0(RV3(53V2PyxLCɊ~L?|+kEֱC|&U"3]%boZHieXXu5 ſHӎVaUDD!> d7~:pFdނ7V)xg=R
-n.ǿhjuWq5Q1Ss'O}H@*:SK"JFy Be y@SWR~tK7=G6!>He, 뤹&/gmЯiޞޚp[A,t`PmTmVE;
-于i[Z`wd 6@fN^RD;)+i D>Bi$97<+a*gxvr_
+=Dg
+tY~9ًߚ`H
+#¸h͌pWΟ`6P|` MNH>G{_ HRBF~4"I-r!
+wTeR#m׊x0o*tu4q6Ԍ<EКi{ B0{*, ;wW Tug$RR0 ~X]bC~bV һ%ekTvf5#GWv(vFxfWzbѳ" tSa2w-k|x W
+>_-vR6UW R2#}90Hr n'ݓyVTqM
+})Cf
endstream
endobj
-650 0 obj
-<< /Type /Page /Contents 651 0 R /Resources 649 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 654 0 R >>
+649 0 obj
+<< /Type /Page /Contents 650 0 R /Resources 648 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 653 0 R >>
endobj
-654 0 obj
-[ 642 0 R 643 0 R 644 0 R 645 0 R 646 0 R 648 0 R 647 0 R ]
+653 0 obj
+[ 641 0 R 642 0 R 643 0 R 644 0 R 645 0 R 647 0 R 646 0 R ]
endobj
-642 0 obj
+641 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.325 693.214 172.013 705.17 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
-643 0 obj
+642 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.734 693.214 199.689 705.17 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
-644 0 obj
+643 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 334.733 693.214 346.688 705.17 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-645 0 obj
+644 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 215.091 333.568 234.797 345.523 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-646 0 obj
+645 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 250.518 333.568 262.474 345.523 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-648 0 obj
+647 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 360.107 176.817 372.063 187.885 ]/A << /S /GoTo /D (section.15) >> >>
endobj
-647 0 obj
+646 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.702 86.122 272.159 97.802 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-652 0 obj
-<< /D [ 650 0 R /XYZ 78.37 808.885 null ] >>
+651 0 obj
+<< /D [ 649 0 R /XYZ 78.37 808.885 null ] >>
endobj
169 0 obj
-<< /D [ 650 0 R /XYZ 79.37 307.399 null ] >>
+<< /D [ 649 0 R /XYZ 79.37 307.399 null ] >>
endobj
-649 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F25 379 0 R /F16 386 0 R /F20 380 0 R /F18 381 0 R /F23 653 0 R /F17 384 0 R /F15 385 0 R /F56 388 0 R /F58 390 0 R /F19 383 0 R /F22 408 0 R /F57 389 0 R /F69 406 0 R /F55 387 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+648 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F25 379 0 R /F16 386 0 R /F20 380 0 R /F18 381 0 R /F23 652 0 R /F17 384 0 R /F15 385 0 R /F56 388 0 R /F58 390 0 R /F19 383 0 R /F22 408 0 R /F57 389 0 R /F68 406 0 R /F55 387 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-659 0 obj
-<< /Filter /FlateDecode /Length 16490 >>
-stream
-x}M$9r~E5q~@]]&J-`NkFӳtuV27{N';y\r\~~vqRr/qqҮ\Jv#Ͽ^H8YV_rs~a 7?G2W¿E$~];-o q BP%ͥKsA<ջT;Tyw1]3A;Jtq,} l:0ք-(oO5{ pKbA_Ss;jw 1E\+?%Bߓ<-ڈiڮ*C׋:$ү*{_)3\X{]IWޕ$X@'v,[Nx?#^B_e n5t)GflJSK٭pGR {֟ܯr)އM^w,<c0ó'u%񼜔rrr ߤDQq NsҫШ$j#y*0LYTBwRPPh &O7W؜H-_sKSdrx咯%m 7 Jk6$/[ziNHږߘ~GL2S﹅gӒv!k9{GW#m1]󼪧knHqܓu&|31|M%7ǨV%8>,CwlAX^ʢzGs2ۅh]GU_UѣaX{$_v%k^{rM͟<}}^~×{o+xIκ/K2EW daY+u_8njkGߦǟ-h,f||F0d(bukR{u=x:},SefP֘9,=̅;h>]B^=Z\6?sY+k&8~6&rٗ;4[ڨ0b7JxRѫf}Yq_{6~moXTgq`,x-xM2?^q~}G}6We.ȗDO|i{pDS~x//qb?ꃄ 1 V)ӣ<r!1jRm|of_kOM(GiG~nB
-#KRV_/_?BBՠ;ZM|˧?_k^@^}?6o^uxF۵&Kɥa~0vbݕ?`X[}S ~@ؾW
-FF[QHa
-5Shx]p9rc
-cJܝ+D)F^3s\G ZA 2
-]iTc sx-SE3Ns.D)_&x9*VkAEl0EWA9BDXP#w52`ָc"k
-Ff7ՀЦ 3DbA9k5# )a!4]$!42x1,u"*hFugi Ą+\=(Ъau(wU{yGWbᤁ6'y (vу<8*bTlLz\^((/q)[UؘˍI&m)acǿnhu@SvXJPҔBkL v֗ՙ!yl1Wǵ5W)m;cCCe NT8tŔ$=ɻ5ynQ#
-Չ(MP4F:vBk TL;R4 }Lr1LMw
-BPKi)uq\8 6g\
-ܑRkbP~dk[9a|g@~-xwbh;DCa6"8!(ߡuI ;)~縄ֱ
-_VBkDQvQ(sd˖ɇk 9Dʛ
-CM]ZZ~aH؈CHtZvugи2id:BIu8f瘜y@H*)PsZG\h&|P0rxnzͣ4Q=ji}Ҋ"=<ǫ«U6u.\=jj2$m823c"vn"94Ύsq}"?+JrP:JP;ZN٨nRXV)$k v2
-t1
-RG3E+dDH*ғMhLOH:s]<5x'(OtefG< %5<5^ꠤyT/,HV9S%^*5fjEOh:2ꉠD&(QۈuD*sNA
-l,1q1g2lBF 5tG2Y\IXPj`sלg ,5t+fk* ="ԋ ׭iG㩸-Kfjl剷脜D_Q
-:ѭw̯+H#> D7&!9f%oЬАw
-gRQ;c< uw+
- sw&lq1)(- (u;l>)Dphfh([7L
- 蛯cd8y3'ȼpftu'ZCi'xfSE ď/B
-o [zAs"Ր^o#@y98<z,W9o23; v6tU>X >H< 36^JmI)?ؾzcc|oalSisErlb&ݑ۹d"V=E#+-RlCc(׽H"y4Րxy<>anx}uۜe;[N9sMR SLwyWw==^P#2-w~U3rbRфݙMLa~3OUm?;]~ˎ8Ի_y ;݈~+~yߺ{^)n1T]+<ٮ9`앺IE/SWEvizZrͿo{m>T+xgP>(o>Ӭgl4~F~lԟeRhsˤ–Ig{&}GޞIgb痮~UMr6?09LO(&+#~|~vn}ĕIОI{6>.Ak{ay1k·LpP&>Шdx4fm"7හ
-OܹƇo󲏕Zh E˯VibE3߯U4ewm:o}4fw٩i
-?}+[MTL'g
-R6O;VQ|:-^U#3T sJQ~稵
-Q̼^
-
-$}!8?e2z5&K*)GVM5ŕzﺎDVMCa$N$Og =Q( +)**ms(x荏yC[ϴbFb.ϴO2=$QX~Xpۤ2SS\&obXF/IMTy&v6gm0?K{MnuW2SS\"6Jk%B+j[a^c],Yw^ޞC<gIs70
-$5c7/)7`qlϥ.|aIͥ%VoZR'":ʚb!,ɡ
-mp[rh-|ӂ\L'py} Kfe%%u7R%D8Y>]Zi/*d,U
-aI-K"o30U%`oBͲP|*b, ܞ8+@5CRHz7!%\pI ÒoBQVg&ϭ^K^L +"h<*t1˔@4) a8Au)ftu8egKL\KےK
- 4L E*ɡ4 4fpp2$IO4Pa䧮
-gugf`DiBebe!|wuNs|RӔKPH_74_jBO*:Q[p c[+bW+FrGՉ7[cx]M,tqS-u=o=2 =Q2oZRZEY-ĤUA@aHFM\<!aatMzY,'ŝbM>p9eB Fv`=f5j\QMr_I]%U踆T" T#Q]+}E KdqAm}ZCЦb)ѝa]*+,JEuMV|٨3V Jo3}H.ޱ oGMqUSۊ  \MBl.++IjZgfl߉P7UexiLbc}0ji؈_;)U}^\6JM\u8GR'*U<bo g}LjFyw30_Z߁sq(TUH}sr\Y" xf"SK?1ήZ1ePOPW\X0p(X.VCsx#h͸g`
-\剶ȄP§U9ATZ_eO>TDX<ݣ؈3Rʃ!4EBPohWpn3bo!
-1>8 ιPƫwk[j0;>f,23CFJAy{CJ.CX-U0)vƷNǍ*t@/ hf/ŏ&}y'wKp=+\L8=*ԋ''Zװ-\>Se.wޢrAxr|1%;IX pGǎz'b#Ȼ1(1
-@jcLsQ65\`JƢ$%Sڮnb93ر,or?'Dmqh(Z(1'' V`q1\㉶@χ'Rwy8.FςYA xsO.,-g4ni4݋[G A]pKp?
-BU=?e.qP:|8d 
-0S_K_@T w h*yX>/H|$fێ㵋C@*z4Z"XN2.lM=<$.1p](>粤75O@Iu-wUICS.OU% z.=G~] Fiqَ(y4|t%` \V"NBdVfԶ>|G9M,^5Lkyեb(L]Z*
-J\CΠ@@71'K\
-A@[\\0P`e.(q.awښ%
- PIQޔYxh8I T@ȯ7qH>=C]1r|w
->FscOw%~ s@ Gk-wGDIm|E cB4OzN>5îu9#U:~i*\#><*s\4CaN|<H QoʎD_1JhQwFY]np@g+U<ddJ_ؘl#.) |J2m U:N9[hJܝNy 'RSؖ⎭M.| 2o
-CP(-5m}U⽨J1T;em<* sw+g"Wl=FO1㈔Ram}Y}0]Ñ9@E3Z";y 栖qՆ;es^3~>M!FQ#h#rPg'" 0 yI&Uw-0T24c1+kmCȴ1;6 NWά2 t>e@PuK ̮ՌS:SQ؈7,.hpfىHcDL@ʕ#=F'>#(0TcڳoR*k(42
-*󥌭PƢCܝʉT;u[ETxpY,$(dWa',a4w
-:ugE ;y J?F'[-!oN^E_id=V~+wIC1T;em< Nwʃd@~Oć 0b{qkq<P jGҼ)(jdԝQrm$>l*
-0s.!L"t#{ip}?
-/axW*4=Vcd=+Jɹ "3T4N,
-F *\% .OzC.Z5W~)6- ܪᢩZ|"WoUj86^ͻq_[Q7Á51,E7 L<{WOP!Gխ]2+7 Wd=p:@(Ep%
-e}xI֦T#b F\*{+e(nRAo}{UCW.)w]'^eetfKL&P8a1g&,?/#h %+h) 1`#f.:Y`'\ݙ ꡋOIJW.!:jW!@&J u(4Ј3}E|SCI֜,$o":6r7D t2ؘK
-G,L06L|__%'@_הWtI{5+1S
-`e.E
-G,L06L|_2_%Ǩ]7d{5G@&TV8ʤQQQog,'?'']ʤkh*K1 `#f.2A`(lߙI"O`%HAoBp  6^QkɨvļIoktj.\2G
-`Rw&xҵl ԫR>.3
-7Rʲ6 ,h*14ئkͥNZ8la1gR>9>ק:=I𾊽/2p ùra5@]ڪ,zY]m\$*Ort\w.fUX~췎hs1NjG93<q/6c3CFj{ꊿXF364 ۉLqЀvq/s;#D#o;za(cyN4[ιMZCw
-t1
-*\SD}q#04Fj(Ctgx8P0_Dޅ@4z[G^fB| %ͫ9w<) r!̘asܢɡm"x+%_;hǛ ': bb " =\ (mar?9T5g@sUjtU-x8ӺrH.0GƇ]/*O>hRO}<n#YYOPwFc?7Q~^czFg2oEU*G~kK+Mo|(GH`C @=rͳNgcn96{|V<N$Qއ QL Z7[
-t8YbWmYpcJuǒsޚOgy$wH4L/~7@FREX3o=
-#+mD<3C !Nlmf}:Ex**Q? qʻmiK7$h g^!eI);zR˼(c'<+МR!w;[%V{Ȏ
-;JC~g[1KOc }ظ> 4*Z3'Z~iNdΠ
-LO'" 0<d<}!2[`׎z2Hi
+658 0 obj
+<< /Filter /FlateDecode /Length 16492 >>
+stream
+x}M$9r~E5q~@]]&J-`NkFӳtuV27{N';y\r\~~zqRr/qqҮ\Jv#Ͽ^H8YV_rs~a 7?G2W¿E$~];-o q BP%ͥKsA<ջT;Tyw1]3A;Jtq,} l:0ք-(oO5{ pKbA_Ss;jw 1E\+?%Bߓ<-ڈiڮ*C׋:$ү*{_)3\X{]IWޕ$X@'v,[Nx?#^B_e n5t)GflJSK٭pGR {֟ܯr)އM^w,<c0ó'u%񼜔rrr ߤDQq NsҫШ$j#y*0LYTBwRPPh &O7W؜H-_sKSdrx咯%m 7 Jk6$/[ziNHږߘ~GL2S﹅gӒv!k9{GW#m1]󼪧knHqܓu&|31|M%7ǨV%8>,CwlAX^ʢzGs2ۅh]GU_UѣaX{$_v%k^{rM͟<}}^~×{o+xIκ/K2EW daY+u_8njkGߦǟ-h,f||F0d(bukR{u=x:},SefP֘9,=̅;h>]B^=Z\6?sY+k&8~6&rٗ;4[ڨ0b7JxRѫf}Yq_{6~moXTgq`,x-xM2?^q~}G}6We.ȗDO|i{pDS~x//qb?ꃄ 1 V)ӣ<r!1jRm|of_kOM(GiG~nB
+#KRV_/_?BBՠ;ZM|˧?_k^@^}?6o^uxF۵&Kɥa~0vbݕ?`X[}S ~@ؾW
+:E5NpW.qZA.VjKX?&V0O,p ?5'Ȣhc+a!8S]IS.7t .eFrN-v$GEnjMfV(ΐ|1WBky8<;OiyōhnVzS m0CL$P:BfLBEB3.7nCR'fJA]mTwahPxv;JL˵cʨVwrWeW=Gix|D}%+*Nn{Rj=1Ccr+KVԈE
+b[EZLxdAЖr9vVG$1%j<1/M)ıD?=`Gm}Y2
+
+)su\[saF364TDucN ^L9zHғ;Z5RPKQ[5b4|RIp9Fk(.k^[oNd^8S30]24J;:hto'2AыT>KQ#E8T+*p(w^(lqOEN\n# qw;A %RGeshqƅ)(G=۸&w4J-Pp)&]\f3@4Tn+SzZtذЪkzKHn J}a=\
+8M1IW%aWW~ZN
+r ~o2,Wy ;y A
+wxuVF^~B 5/\G_Ѡ$xbg1W=u(v^;|
+V.߁RDn# U )9w:lw4S̃<J"C;8\6.D$&0L48NmLob;;E'}P CrG|h7I Ifo ʶB>!VuIt(y^-0u)`=Rގh
+!sy.Z!-SƔUn񹻧\X++c:
+X4lhI~t(6<&ZnTKov`fx-&dPJ7x$%̕6aqyf80P>RIm#By{.4Kقqi\xNIeN@z4@|SncVX]ͪ_Jp hiq(v>unOw]r
+*uHTb3Ce`NTe<@1*dNXSܔ<] @ Gk-wGDIm|aRGȘV(1<F'Y <40j|&E@E3Z.cPwg"Q!~\}\28F$ -8*K͋KFr=O3UBsɃ_'4$L0d݉p #Ӄ x<
+4H53&Lpfǰ=L߄DyHNRRad3_F,H.L[tFG8KI*j*H0-k:n3m4vKL'P8a1g/"'Э->]ZjcKR4l+(?C@$RV(*dၡ0wg–QRɈ[ƚCIBnusi2"
+Y.@KR|.x~}ǟy27o֤oqL[/K^olB?}]˝7pi|6/XYЩߊPjE/V4ZEY6~oЦ!Oo 4
+~, 4
+~a?/~%֫M#;4}kX[|>^e*Tze&8-L`ǻLpƻiZd [Wj?6>Ҽ.7mǾp>/}kwkN߱Ӕ\p)~W̏-] bv\{К>\ln[oG#~go܆>W]c_w?/+TVrXW)XS"pp\%gg8+cwB\_g' WU,0U%bQ"lXEw` &t|~ltBD8$2Sm.ݥ <+?=dZLx} un󴣱j׾RZ52C%n
+K 4زDs9SI+M ь&t|^!*ɡoI9]M\f&3;4DZKia.JG<:dI
+ uk7r-RIbYM-18,|in \Z
+ 1,&eu{ܞo:U
+Y:OQR3}xZܡ a3"5OJ`4,L7q yFymܣ`=g$'If2h x$NJ\O"Q#}lq\
+zԱ]xE=:B7;ERW)ܣ# >%6%e OUr]MLJ^uyo~P艀4`Չ#[mv1KOWޤwQMrr^)6Jǘ\fޞ9,\ T̀;q>i@ n ݓjlQFe4Z,'ŝԕY^kȮ/:@%❠ K5lH`2W۰Dwp&~٧5 mJ-B6ޥbTTGdl
+ <S?k:K]9 r.+FpǾQ5eQXՔ*tkKFrd.ɮ> }iFX %x!^e^GT]!,;': ኍh9R%`t\a4>\e_C)] ~*!uyb-P%#)aVpAǤvhtw' Ih?Ū8W
+BZ78Z}?(H%g*A)25
+6q./ª%ishWy>sfj7:k,2,SwrǵYV`ڰXb8XcT@޽%
+%˕.IIe뢫a)<wrځiIrƇT-u"̄ک25WzR:!d-R|@#FϕGl7Fr@~Vc&S6C-vx٪8e8뇣OҡS샳Pezסۼi"83d:=":Rbg|餱xB@"z~@9vXPnFyG_8mw
+}Azg߳ŴQУBhx|R﭅9{ Kق3L0U6r-:!' 9~.#J]r |d{{)6bi# p X/\(-:A݇7V`LܙP@
+$84eS|o,JR2A&V|3&cQJ-Bځ̡Sq⎠{` vq<hL|M?|/,'ugG q|h,qo
+72rFFӽ5p u<
+ƙZʻ SbSB2>OtkjHOΠQ\;G x"-N6љP0W;UԀ~?ڢJNhȡ=t;V&(a
+h!? _3wru$Qj9j[Hq1f`ԉf#:4NU1 ̾GvyxǦfjv\sL&v<^nSSvDl{>撓R`R t1w
+&TYaUI5ÇPJk>7D3l0kLS?O<
+4aksaArr!,% v (˝6L_#H>z'0"hWfyf#
+y&v$\3E,L)k'2q~x u 2e48i3Q(#|*Ř-pjFsG~n
+DX
+&jtYgUGO
+1u U( L<qW8w.?aAGb;^8ڱJP|1: 2xGE/BY$O!J(FXiyCrcW݅s.KjiqsX PrW4D0U*ZUBrZcXX|ו;a2QxGch[GW]Rl̥)`/bY$.OaAi*O&OM\`eMmKG{DcEYX]*b) %(bi`; J T tC}
+/>ĥD9[؛)haiK n 6Z[RbopYpBAӁ "Ƈ'k>B),alιyT RxK/:i`t9̲ )q,'",'V._wTTT
+1uiXVb: 3wZJz>na+Q9?Ňg<uelVkN#*x:hM)D'/KCEPv~+pKvPuI
+Ei,:4݉ L@SUDO BBvuv)̲:HsQwZ]
+ #Ǿk e&|$͛BFFe-wF3;`v" 0JY<Fe^?U@JRGX'Ly/
+.|kP6+_nټ1Eu38[BXtpxϳKz+r|tQݪa|~%#Rq\p HYh98-W 1ԅd?[6
+x~n"Ky+@ܚ"k
+\%PՀxI2z-L"DުZ~/í!nj!l.
+.^jTezUn'C])twMQ4YF VvQDA. i؛ duM'Yz^M
+5Dؘ̄K
+G,L546L|_$'Вc/R
+X. 6fRQ)  ۉK۫$t.Hc]"fJ
+*eyIWӱz4 d2hKeoLv漯ojrxri஋ΫL捦4.3
+`e.E
+w&/s} ss{"\@_ :0+WVԥ̢ fɕ LH//OO~k !oV{~ƾ?CNM?vޙS>n>93d:/`o{޾!)m;cC'
+<N]\ I{d|Poe&)̇
+1+Jۈrx;1 Rp
+#7\n<; Qx6Ʃcgt[H9k}
+*ܖuX<Q׏|,i)8itv hNrAzd:/Ue<FӨ0bF3>3f֧S;Hf4}Cb  yqR2;/Ű2O|c) qYb*[4Dw*8 \A=7!@y5srnިEVD Nt"*
+hNKft㙹L )$rS#=3X` Huq
+<h}c]zHG?LMi5g7tL_%P3EB]BZ
+H٧y|^c`~h98bP D9ր
+j<=xr~A4q% C@M3u1eqX/|^-(dD@ႍ4N35>\R" Nq'G?.V> yQ~O0*0 E/(݅t6]~?P#~T㛟 3]Ɗxv#~O+ԂN~A<3Jðʍ%R0%5oaG\L.pJ%KRkOv\9j=.Q:ǧBxzhҗS0㹂;%wFcj?}=8<<ez2r?ߊ@5%)u_UUWl:eۋ%vO\vrv^"acP) Lo̪.D'|[E<t"w'^O_N~?",`rQx%<ZuETvaVr;A6/#>&uݲ7㧻M^s|"`aT2Zvk;PGe{B-?e2Vl4Nv+'9c폥^{2e|Yk}LKѲPF ìR! >\iP%&|R2N\YFrp˔>}_DwiI%yB}$>AX/yGC僥U")k4]z79>xA`١|=sF0#p/Y|z/?!kf?;7|>;?Td=On?xY^H=0@/0S j#|<]p"!uֺՔh_
/%%rmp=We$?Z6W ~abqxZRzO_g 7/8zg^Gr<6 KrdɺF!#[,Z#i>GjOiOb6$_gņd>G/HY/?irN<\=ɛI
-܏[^U쨴 ui޽
+܏[^U쨴 ui޽
+&^rG~v~+Cm"wVvK)=T^?'F8,QPeSL\h;M@N:gSv)eRMw ݋Ż7.O׿u?)wVT}Ks`^[.<;۹{dwʌװԴ4Ż1d\bĖk//W0S!OOo'my6O3ժO_jrHڕJ(? ԏ^
endstream
endobj
-658 0 obj
-<< /Type /Page /Contents 659 0 R /Resources 657 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 661 0 R >>
+657 0 obj
+<< /Type /Page /Contents 658 0 R /Resources 656 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 660 0 R >>
endobj
-661 0 obj
-[ 655 0 R 656 0 R ]
+660 0 obj
+[ 654 0 R 655 0 R ]
endobj
-655 0 obj
+654 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.532 641.39 261.487 653.345 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-656 0 obj
+655 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 319.111 477.953 331.066 489.908 ]/A << /S /GoTo /D (subsection.17.1) >> >>
endobj
-660 0 obj
-<< /D [ 658 0 R /XYZ 78.37 808.885 null ] >>
+659 0 obj
+<< /D [ 657 0 R /XYZ 78.37 808.885 null ] >>
endobj
173 0 obj
-<< /D [ 658 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 657 0 R /XYZ 79.37 771.024 null ] >>
endobj
177 0 obj
-<< /D [ 658 0 R /XYZ 79.37 304.388 null ] >>
+<< /D [ 657 0 R /XYZ 79.37 304.388 null ] >>
endobj
-657 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F19 383 0 R /F25 379 0 R /F16 386 0 R /F65 391 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+656 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R /F19 383 0 R /F25 379 0 R /F16 386 0 R /F64 391 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-666 0 obj
-<< /Filter /FlateDecode /Length 5408 >>
-stream
-x=˒$m:&wDdž7B:Mhnqm}33U53U   I/Ohÿ1y*P/~A/-#T˗_.xTRJ+~ a;~# 𖿥?Q>cOKp Qof
-p%(Eh)<J<dAGYhߣ=U55%FB3TZ%9 %ɩԓ7U+<x,mE=ƏX i,-\FYˆzz9 Yo5%7(Ž `o|  e 'PFnzLE& ^kiVPV~U տj6 3k! Iqd1H8k )HM3m? 2[V"MW:[abAxs,h8g_e
-QL_.S+7;_ހ!h <A;ǾY <~
-D
-
-N
-Nic?o/ drԹB'?Z
-cs?:>Pœ>-J?#'J?!V6p5j]<~{5ݏi5Nl" س?}$owC nÖM|^t' wN Z
-=JG)AE
-]x&`]VߍR||Y. о 6Q86L0E~\*_ O5 }9-6!4bKXpiRm rn5cQ#;g[Rĺ#fm- ZZ@@eHtK 3V-K-)iQ䔒V3)MtHCSarX$.nFlvLֵ+\:/.X__
-+c m\UC)(q\*B<&x*0}) )bB/UL'&I釮*"PhpJ2slSӲ0+5ϖ*i
-$n1cd)9*"I)]b.pE\ǐj\ehcD+@+Cj+Lq3uڠ%h[|Zq/a 7~oã%dLZPJ{$v+$$B~F&M)fmRQ8s5E)fDl'(eDJ@rQ;ghSR;hm
-?!]y?(M Q>O6\'=rGE~
-`8F
-6]QwP&x:WC|M](zs!$:ʞ
-PNb Ax>
-Ocpb+8# 5g"E#":J|)_D*(z]
-]vi'@t_-]k*p% x&aJ͑to{&fU|{1(eO3
-sĭt̋:~j$7ˈD'h'
-pwM'/>7){*өHs1)ʹ]GnFNN7b R
-Yb%ʭDRQ~Rݨ`9kĖl V !ɴ̟HW 
-}oT8RT:itLz9="9-򬩁Jۼ{b橜sY1-}f=ԗXƵ)k8rC | sǪ2f~&o1@8]a4&o!jr+[ W7+o9[;rJ˪>gzJs]4$v
-Wз#8Dtssa9a ]; 3W:1CN5^ʧ tD FqNxa4grÈ+gd~ O fyp֎XO|6}=GU5QhU٫2 lд\HJL]Us}ݘ ڍ|˴]j m{c I;9HoRܖ:_E|l
-:tu
-b1k:*=jXJ3^~x)Ҟ2af Y~ذI2pdK&X [!8ʘㄣO&&eY+mm2;{'/sw^bnĎ6lOPߔ<:tso3g,cgF1DCXs= ԭ?DUyp|y2L]<fU?\Ҿe v,> Re`oMN +.\<- ԴLA'5ÙdP  DI8c
+665 0 obj
+<< /Filter /FlateDecode /Length 5375 >>
+stream
+x˲d7m?_KhV鹹 Ua߲}OߞeIeYmzB/߾O~O~za0]>pR*)+w>/ __ooWۆ_\m"~%cT@?K@\byHrg
+}@ X6
+؇φ{cc? yfHDώ0.;ueg gQg@ɭ'ab4u&aTc>~,T?|}c(QS)e(xy(N܄7졪i(>B5&԰sV̱W9!ʂ$Y<){XyME6Fy=Ē0be<:"pdy#ρC*zkx\=eU#M"츈߀J- ƗI0lŭmo89aDŽ,1^c<Lj*6U Կ
+j4 k! rIl #ӬlE.o/#0,Um K-$YmB'?:vV\wzo"
+ Ѷ5E# /qQ v6ɞ0v`o<(J/ bmHs6KM~$ SF%\ /:({̘b(r;[g*Ϗ~dg$" T-;nĥTێK7Ip^k=QmXxXרKrhԬPYVmGi"@N<d=~a#%XˬHChsbNZG`=5Uuh4}21wJO'ubE(V4,~9ie1
+y ͧjC('d!~x
+P઼qA[reu[#FmMW:3-VmX@?8ё~#%pLx.VO_Թ03P 5@קEgu$HgX|ne#goZu?#GJ?#]y6߻i ?:5e{!yn-NN*N&>A/v' 
+hpDI$/sE8x?'E&%4SvUdk- Xd& Hd,-x$$!$;fE(r] |G; \;+T; ȮvVD#&̵SYiEK{ʙAv̕3S΂x$(nVYF*7NbK3J戼`: !+)?8,Yۃׁ6,V42!)JWĊH)Qh(l_zhDF΂OyĤ:)Ϙ&'Z+JdsT 8*̱uUJX&J
+tmXOV30'vÁ5;R3EKzu
+*axәJO=U5N\%ujjOGUM0%$od"vZ1?PF}o׶;,9PO
+NLbTBS-601 ̀f 0MOw'"S
+T~'HY@_@.0Vi105`ʭN8*4մO5jՀ7j{S Co2O5SH
+̢k)Yf'쨯00
+]fF'KinR_C$Dz3M RZo77cN"zF{o ޵R=kI^n]Kg\BC ɽ9FX-SD>ǖ֊DDAӉt-B|$8La22Rˁ4
+g)x=Km)N7hlkb=DÕ!V-f ]Aߖ_%clVIIΟDW
+Jy_|Tĸg>y񅎲^$$?fHzQSCv3Oz&'ŌD;!T{/ 9k:Pb״mk4UM`6sXWUKeMs8kr;Ϗ0v_:Go_ٛۤ;|7a߬.ve+㮫7=s7PN{~HK5_w/`еV#8KsnDǤ=EO}0a>.BuaV*B3rMCnoOy3FTln}4 0hWM%Fz<Uʝ />_inPPfULv
+X>n˜ٮ̍ȼAлGPou7 \rtYmE҈2;
+1%}Y̓a ^ `zu.'# shm?y *⣦Nx ucOn%wn14/tB uzxٶ=QC>lP?d  ak8=y>A[ aFq/Ɠ>$`ʔ!$o̞x`:~UVÞIS~K/S&yYGlN | G⭚lvrM}n ݼqubt}h?GľmDF'0a~a6ro *]~ m-<W-g#c--)Sx[hwpv`D!ر3|x:I[Ky*Q5/.xH5e8$C8r_FZϥ|~.͠"b8RBܿ {ƾ@FPd߱:]v[f88M7jڃgRFu{85bz-{5tZC(.:3SO4T~l]e8noRxne18]g]ݷcb[g#PGxI['Vy5ΫM3A5"Ո:pF?l+hpL0`ܩsx V;({i6{^Vw;:xNɇw[Yؚ
endstream
endobj
-665 0 obj
-<< /Type /Page /Contents 666 0 R /Resources 664 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 668 0 R >>
+664 0 obj
+<< /Type /Page /Contents 665 0 R /Resources 663 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 667 0 R >>
endobj
-668 0 obj
-[ 662 0 R 663 0 R ]
+667 0 obj
+[ 661 0 R 662 0 R ]
endobj
-662 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.713 590.495 258.668 602.451 ]/A << /S /GoTo /D (section.11) >> >>
+661 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 246.713 601.312 258.668 613.267 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-663 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 274.389 590.495 286.344 602.451 ]/A << /S /GoTo /D (section.11) >> >>
+662 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 274.389 601.312 286.344 613.267 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-667 0 obj
-<< /D [ 665 0 R /XYZ 78.37 808.885 null ] >>
+666 0 obj
+<< /D [ 664 0 R /XYZ 78.37 808.885 null ] >>
endobj
-664 0 obj
+663 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F57 389 0 R /F16 386 0 R /F19 383 0 R /F25 379 0 R /F20 380 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-674 0 obj
-<< /Filter /FlateDecode /Length 4406 >>
+673 0 obj
+<< /Filter /FlateDecode /Length 4405 >>
stream
x]M Wlo U%Qa7odԷ46A{hSfFI&;CQ$ERg/7ox4}ysO\<Fu7E\g`/Ors_@ƹ¿U-ox9|޳EHK4#o HoxGUZ>|̋2ÿGZ5}$3U#^wV& )/hK-[m 5Ӫ؀/m@?'ovvvk!ҽ3P#/
<3v3 /mާ1Q~ 4ZWB<_^fԿJxmo4=VЎ#|z.gBߜſXoI2a凟| 7@ ӗ^åbp
@@ -2612,1007 +2595,1019 @@ pɠ[ eARtRaD?3GrCHL\3o<@ˤrq[!,l,GQ)}
WdK>9@Fk:S;E Oxeh}Ie*١TZ z;
M쾃N|V6ӳNԫ>4bUv#LF̞XÉH8 >A
U\AUm"[ U쬈UU9@4TSf kֶN -S@\WuU>b6AqZ[Z; wd*YwAzZj_K=VTiFvdZԇ8 B}m]{V+;AJʉa5=JhҩII=dzZfw9ȝrRǧfw+؈WZ E~X52p%]W*}>\oh&&Ý; |GiuRV6\3WcqP5Qd9],Q}[.(j Bk}c`4VpYw
-cJ9+ W=fI4af$p_A[ 1h( tװzm
-,w %o\ |l2Kf0+*%zjVu
+cJ9+ W=fI4af$p_A[ m6
+R X1Ct
endstream
endobj
-673 0 obj
-<< /Type /Page /Contents 674 0 R /Resources 672 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 676 0 R >>
+672 0 obj
+<< /Type /Page /Contents 673 0 R /Resources 671 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 675 0 R >>
endobj
-676 0 obj
-[ 669 0 R 670 0 R 671 0 R ]
+675 0 obj
+[ 668 0 R 669 0 R 670 0 R ]
endobj
-669 0 obj
+668 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.659 468.618 259.614 480.573 ]/A << /S /GoTo /D (subsection.15.4) >> >>
endobj
-670 0 obj
+669 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.923 257.918 207.629 268.757 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
-671 0 obj
+670 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.581 257.918 232.536 268.757 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
-675 0 obj
-<< /D [ 673 0 R /XYZ 78.37 808.885 null ] >>
+674 0 obj
+<< /D [ 672 0 R /XYZ 78.37 808.885 null ] >>
endobj
-672 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F17 384 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F15 385 0 R /F55 387 0 R /F57 389 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
+671 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F17 384 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F15 385 0 R /F55 387 0 R /F57 389 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F70 419 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-680 0 obj
-<< /Filter /FlateDecode /Length 4657 >>
-stream
-x]KW: Xz $'ź9>9`_ S7n4HpEz]D~<Q77_>+}rio;G9ӷj~ S-϶|NmOM8,yv?%aTܼͫFmGs01sZ30Q >k:aN2y:Js2gӑð~Wqj;&/;އP#?B^x&ҘB<%V=@kp^<.RAU+*ԖKO!,c
-޸HL.{pyeZ @ItPFU8P@=
-Ԑ
-@G=iQ\c`s爑pvNڃMͭs
-+(#Z ̑ŽtWLa}2ʈzntrwX N1x;wL!@\xz.};
-ݠ/%ON EmK;K|!07XZ7 x=㹦+ c寸TSW>:X[iݶx @;k
-A긡:Paa{5ҶԐq1ڜ1!
-6ke˨r85ENz;j3~
-.Vt$bdAd5T a1(f ftcJdžQ 9lQۂ_7u/NB)(;WyO=*x>`cSօc-aՎNBe>T[^gM8)dh|-Y7|4ɥڜ d ,AzH mp?Q9nt6RaYe}
-x蒳GyE/a4m+3đH-MHUviYӄxxF0UJhh
-eQ{,#2!P<a/XAv ތ$Mܘ
-x+Y:6s&ܾy#ť}#8y@Gg ^ 'ށ/]°ʱa>d꓀H%N7`8N%;,2aqg+H ~nArbܽKZ⻼ RjZHȿ^Q*
-(:kyf#ڴwyO.F lě|"`
-VxP_
-TR9y Fi$ldDӒߣ H)zH"sZWs; m#הR9b}Șߩ?
-֘ŖU[V#; C}`}z{.w p9u8[ٖ/Zc},'2Wq]8Kzݜc56*αkU@=V }*_u
-ߕtuc| VH@?R T Nh9/k/|,2lNI==a{pNyh ,@!Y#KM劕ǛX>+p ]30b-`MN`w^
-Ο]h8;1w>C0Z!+_|]F*rn[aS0ͥZa틞tUKt>OKU@rW*J|KDʷR4UPF<"Ξ4qF۸k[P\Om(䐳hS4,=zڗhZꭴ-
-y9>
-O5R¦ڲ'Au7Zc .dsRꪍO
-ŝeʣWrb .aYxXsjR]L1UU։kRRAXjQ:IJe Ur^\U)IS* vtyT-\CƱF(s&MIIdahY5iH-L@(<U}~o&XN7/Q(.
-5|D+4m\_Y+P,h8q+~ߟcogՒhNߤkN
-5ژDsH9d\9_!b]sUxgۼ-eo\ (Nrb_LKG9~u| g}_"VTb_;#bW/6l
+679 0 obj
+<< /Filter /FlateDecode /Length 4600 >>
+stream
+x]Kﯘuz 8'ź9>9`_ S7n4@pŪ ^J~?]]>>|?>0 'v2s2/)&~[mRNq}Y.咎0?k5'רM,2F^fU ~?> p᳦#>\T(1qj>1sXz6(|5ÿ!젚S/އP#?B^x&ҘB<%V=@kl(ST0J
+&t.ewUۥ/要 eoY^" zhdUGp8GKІbq{`9NBּ"xVAV
+z)bf9QOπDg6\%*}^ QM֌a Ssl0mH>@OPI
+@S
+5s1~K|߹fN=jn9 5s
+xk PBwŎ=ϹkYqb,
+k1Q5kX7 O_?ZE (?׭>nh,\V m*CҜ4x+9b"j;bρZ zhΑiXDǬDT0f Bt5p$o4fGZ]{.FDsHɘ0Qk9c. hni V5 "7Ю'7 N$&ͺI
+AzCˇ9%IS1HRAǩhSc -Cl9uQz7pJsBvgV%\0ҋ1.dAd5 k3FqjʻQIjm |'RHsr^+ W<t}G1{i'x0_!TCLeݏQ`݄cKvNar !f䚜M,^ \`ڸ} KFJhC*pc1
+*tSpCĐߦ8bs,z oc8^G֣#00 HXҲ Xa,UJXhJeS{#2)Pbq}/pg0FX@ZfxoϘ
+]tOn{qFCz4)ǤmR&Gpt#.z?02d/f+H9t{ Avي5R”~5I 5(] [vr-3V}%K}_6-ff,'d/2]Q]8,6ctS5CZigI+ɰW6v(f$8q_ +>ɀz)D&DNpL4ĵpɪEsf&sWOB˱6'y⒀;UZ咡 ;ݣM7z&d ['\oࢅWSWRfw(c[`WRmDF+7huumJ,}[A+&33Dp ]*>v
+l/ Z 3YrSu-a+7ؗH{e[^]~'`25q x)D- ry?|j=DHٜҷ;E{RF(|Д`%Wm*ݲojO.<C^pPDwtl漸}GFKF
+lCuyb5Wj9Z9XX`\Ty֘@KL5_w+_ԉxK|!m+ՏpxfٴbyGK})_Rk&O<z{t
+pJUz%e 
+zf&?>F<6s/)py
+#/wd꣫\1xf^rDSٞ8
+3 @pS/ O^4Rw;S N}/.fsvKgO.qNOh3W?<uH#UI@
+i;/UMV~*J")=״[ٯ?|VES=Kϩ'Q%ٓ&|_sm&RAfl>i8h$k7y%Uz/dK`'zγU/V@<] ž]h=j;)>!J>Xyg)"W~8D]/]
+>N~~3basXZ©HS )'С{dT/Ua.Z9y
+w4^n5d c)YJ`P[>pb.Uí>[paB[ĚT|*P1TR^j T%Z[FmTUh~ZKYUx>%>Eɹ`ՒKEv.)EtyTW\eCƱ'9LIIeahY4.0{[ 3ۣ
+v)Bھ_,Y_ 7 9!:nܰT1֏0k =HFڥm3|ύ57q XTkdILl߇_dx}-n3y󕼗bpmːC/ X|&IyJY_1b{Gb1A{񕭢K̈́9/?8)\-oTm:E([nI:;<M>kDx/ͥ8Vp}nĀ1N@CLK᷎?lM9eB?\ razɏ|)g}⟽"֫U;k`S?Qv`
endstream
endobj
-679 0 obj
-<< /Type /Page /Contents 680 0 R /Resources 678 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 682 0 R >>
+678 0 obj
+<< /Type /Page /Contents 679 0 R /Resources 677 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 681 0 R >>
endobj
-682 0 obj
-[ 677 0 R ]
+681 0 obj
+[ 676 0 R ]
endobj
-677 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 111.059 85.34 307.73 96.959 ]
+676 0 obj
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 111.059 109.25 307.73 120.87 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/685755)>>
>>
endobj
-681 0 obj
-<< /D [ 679 0 R /XYZ 78.37 808.885 null ] >>
+680 0 obj
+<< /D [ 678 0 R /XYZ 78.37 808.885 null ] >>
endobj
181 0 obj
-<< /D [ 679 0 R /XYZ 79.37 533.569 null ] >>
+<< /D [ 678 0 R /XYZ 79.37 545.524 null ] >>
endobj
-678 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F22 408 0 R /F16 386 0 R /F25 379 0 R /F15 385 0 R /F57 389 0 R /F69 406 0 R /F19 383 0 R /F55 387 0 R /F67 393 0 R /F58 390 0 R /F65 391 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+677 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F22 408 0 R /F16 386 0 R /F25 379 0 R /F15 385 0 R /F57 389 0 R /F68 406 0 R /F19 383 0 R /F55 387 0 R /F66 393 0 R /F58 390 0 R /F64 391 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-691 0 obj
-<< /Filter /FlateDecode /Length 4711 >>
-stream
-xKbaTz<٬dԷIK>{IOkv|xGKQ|$r/?_2M??>UgހQ?= qI{F0%.?]xH%ϝs3k>=¨w 3x%7.<SZ4K>{~2&su ]2}KW- w˱L[7&s]V /H6ʟ>>#$ӮIkc_i13Ѩ|@KeE,F/$F 7XSaȆ
-O*ʘlDG*(qUri%H4FIsn\0#וW`(AuXq[[.Կ>_+虋7xOHw4Pq&C  kȤw?.O.9,\5v| -:/@ cO)JLhJF^V
-#4$$%k܉Es> \55X7i[ar ҉'y|d~w548R{e^1?
-.zz/~-J{fæ0xu$TQT9P0ڶ
-w"-Q4*o6vpldZO <P2.YDnI#{KX,Bxz{ˈ[Q:v8
-gs?/L vBSBzRjIE@ŨBIO[_TyR10˘%HfYz8mA4Fr[T*v/ !&3#<#
-&Tj9"y\)WŠs nr܍a^U?/[ۂ|*&>Eag2; Q]*ԛC}Wicy)ąg\S*.ҳTkǸRSή>ZVfqÎK g;( R
-(2L(t\vgS"a’<݀]0Қ[1 Sd\L򛫝&"n۞e^uhۓz,ɢۋP]>LGIń3w|q #ۑ[4T:ϥE_-p!7A.<V"c l\XǑBi2 ΋zy^Lr!ʥBl(N ?0|0u4n5 VNlJ0ZU50ng3a`Z.`^W;.slV 3|R,gV@ Y0CI"䁔N9ޏ}Y3ݢD|{_):(mRh[p\VM5dk<4l\?Q90G\t6.:r1uȥ9+0hV"~8{fDah
-Hlj.nĮnϫ dXGqxH8 .aؠZFyT>X*/(\*9ǪW aJP9{$alj@8T`4-
-_y1@/B\Sƪ6(E$!M=փQ^C 12 jC2yc^ 'Œ];A+ [RZ3Kb_9掫>{{kxażF.ޔ+n|;dI6dĸ'mUz4I˼[ŵ_0Oك_Hmi'EPqn,/}Y& [O9…gxd
-5sAESx)SLwMާNQ(˖US-wK+IIxɒD囤/5j|`L}qxI,'Ks{WtuX8- x7a t=gΣ`GI%!;+HhOY?VI
-Qt
+686 0 obj
+<< /Filter /FlateDecode /Length 5116 >>
+stream
+x]I$;nȣ PhS}4L6|1忛C)PݙJ>Q$ROﯟV߾
+2?k7=K9Ch*>˺֕A]s$4hݍ g8.-_"pBYǴ'g΀R_o-
+혲f&bdGEި[B:Tƨ{6d9.J-*C\lKe8XK9\.U}$m}Af)rA.\l_4#`f{na 2wRkPs&řO݀@7}ۧosL;y{Jd-Z0(?%N ZU*Yu;%8Dw gڈ] rWK |ǽF{.]u3Lv^nv'~_b|O^{ !z#꽖=f={ fI7Lvnv'!.I2>BcJrc1L(ñʑkI:9ғ`7b?i 0XL#{v\LOF@Py^u/Q})9T
+P{
+p؍F~.(B,#:dX1CE /Zt֭r)~NxnΗ+NbTBJ<-gxxpH-2 ˃@ َY )Zw9qGlP6<31GkL흓I3'"+P$: 6*/<0
+*sEJ"N"UVbf;R>Yp
+*tqd!_񳟳 < .46wCA= r ^½n,If;uү%ɜ-diDQYٚ\jv3YdIDC_H+@=H{Njbkݰ9^z523ew3]zj|m9vEMȵ,T/-M:Lz<Ԣ8(}2uQԉ~4ιTbRҷ5ʕQclۺ聖I4_ӛ/,SL)jKjm@MaWt$ׂj+}:vƴclcS
+qXcf^FC-qEhF+VL~ZH-$8pI~ ;3f ּNUk;
+*TE2[!%S$W٨D4֡?!)_*:[4었.,*|g[
+v2xF+x*GMSN.21XmȮO{Lbҵ K.,8S%/qd ex+QFk{5T$qKSH"&KSɬ"xmo=`G&(EX6m pA(+lvX؃/0N8j2wr-i)-f@,iUoVKKǒɕyW\ţF$Qݾ>iǂۀVڝrXR+󩛋޵GQMF)\ 'm,Sy?mv>IeKǪҁ$(E{zٕF>qL8_4b{W:u&NB!l9.en|>ڼqU,$)Yb6̜#yp,v0+ȪWD-{e%w6eMX,ެ]匲 uam{q7dHK@{Yd*E|^iwY';ȉj\Rڋ*ǐѯ,I†/@j M@~砣$?7X6T?(+HY&i|hv/h-rtaKrbQ[3nf^-s%=ryg39
+9ŦQ2}TL҇WO|`^ ɪ9t42:uV\Ο7R`?1Y1=dR,O㽗zYÔCr d\*uM9¬k3%&6- Q> '7/O[*# MVm* DSP(ahD`gX ~Ve3:4v
+ePP(z+_'kW f+lХ,`bˉtTVZL\Wܧs,g{a/ل,]^لLԘ?N-[0Ͷ[_Qyh<9$Ru8B4+VךHi'rc3h,ąTwWlBJSL11/ۮu+Qm
+ (1&8'7!cݣRPAn Q,\(+ ^IEs*nВ~a'SiXH\^
+WA
+zPaUgKIJӆ>wyFN"%0AFb4wE(kLXMb܉KJjEbFq_/1f|Nb|ԯ⣫vw\QߵoˁQ/x+PUܔvږro׊qYˡC~v:ЏQ,b)[/G㷄噀cL74&R\W8p\G\aq͡O<M|L 3a#`g'-$4H0 6a#FF6.xg$萝 S v,@1Oc Aqu;A&'_c
+o1
+>ԔԔxM3cU3/0^YAPlO} ]C0(W]Yj/&4a)/zj^^ .>}LMPv6*X!PVn=p+.D+P ௸?r L}Сw8A&'X
+*8oàlZM r!Goݬ
+
+.{IT} riGyށKLwoMzd]a[?6/\ǘF 0-_ct:&]
+dFPׂkϜWRƵ1ƭ ۻ>,ǘ'Dϼ><,J.{qXֵ1N҇wv)Q6daak~m}#ǥYETdByQ:htĂS7񣧸(dUvQqq.~/Jزgf5ŭ1ygԻċn"0"f~"˸6OR62.^XtHKŵy7Os/W˶}Ʒz;w+|X ]15*UF-
endstream
endobj
-690 0 obj
-<< /Type /Page /Contents 691 0 R /Resources 689 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 619 0 R /Annots 693 0 R >>
-endobj
-693 0 obj
-[ 683 0 R 684 0 R 685 0 R 686 0 R 687 0 R 688 0 R ]
-endobj
-683 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.496 595.346 375.451 607.301 ]/A << /S /GoTo /D (section.9) >> >>
+685 0 obj
+<< /Type /Page /Contents 686 0 R /Resources 684 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 618 0 R /Annots 688 0 R >>
endobj
-684 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.126 583.391 259.081 595.346 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+688 0 obj
+[ 682 0 R 683 0 R ]
endobj
-685 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.649 160.807 409.623 172.762 ]/A << /S /GoTo /D (section.9) >> >>
+682 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.496 594.869 375.451 606.824 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-686 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 425.96 160.807 437.915 172.762 ]/A << /S /GoTo /D (section.9) >> >>
+683 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 247.126 582.914 259.081 594.869 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
687 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.984 82.049 127.958 93.277 ]/A << /S /GoTo /D (table.caption.1) >> >>
+<< /D [ 685 0 R /XYZ 78.37 808.885 null ] >>
endobj
-688 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.679 82.049 155.634 93.277 ]/A << /S /GoTo /D (table.caption.1) >> >>
+185 0 obj
+<< /D [ 685 0 R /XYZ 79.37 665.524 null ] >>
endobj
-692 0 obj
-<< /D [ 690 0 R /XYZ 78.37 808.885 null ] >>
+684 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F16 386 0 R /F19 383 0 R /F68 406 0 R /F15 385 0 R /F64 391 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-185 0 obj
-<< /D [ 690 0 R /XYZ 79.37 666.001 null ] >>
+697 0 obj
+<< /Filter /FlateDecode /Length 3558 >>
+stream
+xڽI$ޯFvP@eg
+h7|V ˓+ {$е_=O<o\mxBQO vA;Hiǿ]B30m/i7iq7`}Ι`a؏W!Gk["6TmV
+mWb<Chݥ 1z<%6p-ODkl)at^7oy$v-<11$ڢ7\<BuE%=Ώ(\n0l&3Tpybm"^1sLf"JDԻ[%dce@0Y 8ڼBU4բh#V]|&ez;U*eV&)z?漣yQQnD=`oM4:-40Hu+ɱ)Y Oˑ&oDg.ןaaʈ Z#햸nDM)O~Ayu6GAY$k0S}]MtJ<ZbJd`Vw@)7l){hUq +00
+,$ɷmGI|
+A.%UBh
+6JPGȴ"r@ɾ'ƉTNw?3^wz0f#+< >Sah%?qu"ץ7[Zב~V>Q-$&Yjc# >nVo>qBZ7f<W]/@wܕveкMhĀ\4z" c ynjGYM9YsʫZeb4-[Dχ-l|LXPE^
+E-Yz(.!)H=ݵ2Fgd7 !Y6k/=WLqD15_?c!C٣5D^33r ͹\vMy8JO}_Zm+ʮeR1'f 1Clܮr(.sCd.AԢ"ͻ̉OhqK|Fl_z9 `Х2Nio)_ڪʁ:a[e]JÁ,R%KƻyE*xĿ
+`gS\HǙn={@ rEEKOH ֶ.R$7JUrQ
+Q]gJӋB]gښ^BgMO6PdF林koH†m
+~k>)ˍcV^d8J$鿺x[&K<mL xKs}|4@.}d(en|aV__6cˍxڟya<
+>,H2I!!Pr6W[#0[#,f̲y itet$7JO{?9?sQv=#t|unٻg16>{iz]C-o/Ge~@wХ<=@ǘ)|4t>#ԳJ / +}܋bb@Ru?j@Qzꉌõ N/+I.2U\ -j粖5&f%Sn#*O4\?惑onR ٴN/z* ˸{e3tRŲübi!"~NZV@+歡(XDP%UH~CJ*#;&\xU!Ar
+f4ov%[6~mӬ3=d
+r?B._'Ho%w4vhs LD>3ry,$ӓ6ޱIJQяaC1?P"D
+! Rd~{d﷤b_ gj&!!ydmϳ%9L{@m$  ë̓ɪ/BڐNk֊5uڰ4s|)$aOΔZaBqY6.[ZSQ2\=˛(n>;)0X>VHwF%sۜ-q*JP8t[Sb6 hɗe7pT_Mgf)tue#ù};O}'DC [\3
+9枻1 m{_&jaݴn\d,^%K=3"5 Kh[d[.d|#i2UtBmCz,CͽE#Ns
+^e-wPS^6n#B0-ڰˊܽWoi{n<s;趋Vq<42khIڞY4fĶI{?~/ȑf
+endstream
endobj
-189 0 obj
-<< /D [ 690 0 R /XYZ 79.37 275.838 null ] >>
+696 0 obj
+<< /Type /Page /Contents 697 0 R /Resources 695 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 699 0 R /Annots 700 0 R >>
endobj
-193 0 obj
-<< /D [ 690 0 R /XYZ 79.37 236.333 null ] >>
+700 0 obj
+[ 689 0 R 690 0 R 691 0 R 692 0 R 693 0 R 694 0 R ]
endobj
689 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F16 386 0 R /F19 383 0 R /F69 406 0 R /F15 385 0 R /F65 391 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.649 657.994 409.623 669.95 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-699 0 obj
-<< /Filter /FlateDecode /Length 4292 >>
-stream
-xڽɎc_hY܁FiˀsdnOC2|笠HV=X,"_~o/n_`^ka/" Lڋ5q#.߾_~}\3~; xVi_"s>2qO7/yF-pi
-&mYpHsGrl$rL&ڄv;-<:Iv&ϙjw&rn"*5>TfR8H5k* %[bhi m-`X4
-nqVfڪ2͊^2-YZThJ1-'f(ڸ ޺RzەA6RiQ?rMћ0zHnj:WvHYr4vٕe֎mБK6H Qp WF~JjKpkq_[lcǜM0rRՓQȪVT]P~,=&S5(AvOh
-Ɂjd-$CJPbѠi`svݝqqJ\ @ F5e<{X"LG}f*H-1$c+F9 aMz?ೞI5.gBzK<tjYjY-_G{I!K/9f 0QW~䦷aԭ^|T>Ҷ
-?E&]pt;T̪P&T#dU{<cQ>ͬ~Tc<vG:jq9Ei.9QC9 QR5~f;-ړ4+˜\Z\=[$@Rӯ"h$MK@Vs׏وW$pFvifF\A1*@HlXDiӄ}SlT21Ljz`vɣPre3t81(G1偎pRbedxćniWlT`
--HLS߂,S:*P qi-mB"NEC/URxn\gR:tKBg$rɘ\T{#^s ]~[zd-0jE.hE]P*y**7~x,qlcw8RwlTIGbƠb=R0Bk%Ͻ'h:VEd;]<8Xvmv9 ^36qad֙ a̒YjzK.vO9҉..(cgRq1?> fJRn RzO9V0e 29;cf;F@}y P0`Lt́f*R7)0knjoϨ]'e KTdPZA+E>eob`=)"!ѮA01 =%vio ;ʸ#t@s(>=˶i8h}6Hq'VgD3X|/KB Cx3Im\LN|SZ֓[L )=Zvɪ߻Wz1CCE`S2g:AɸwQ]q/F[qmrO9$ɅLnQO#bȪ%8Q8chm1929Fޢ6J T*7>f4eɻ>
-] N6޸mw}ňZO?HiN=sʌ#Ăk
-[(<<v>Ca}!Q8۲t –= c9dko[Z爒k"6u\J8,^¥3b$BOI-q\pLG㟛1!9L! !1iƥ[Q22ǚEm5n}X2PQyل3#3RX,ȪYz?(=Gg+ot6I*p㱎qnq38ӷ%01(V߿q?_bk
-&_^K~~ [l}
-љ¥L;sZh3?9Z5Ib;p1;mՊL"l⁍ؓt@n]b|ɋanmaJ!D<B Z<Y s8ГZYɺ5uMy{)B{F$u:5*{
-M4 0i2ӅiPBgFi?t3guBnP2> P0z #P J188ipEFaIvVS0ZP)$--DO2x')DG
-ɡ ZߒM1 SBaZX<0;FqJ80r?H¡ס70}uTJ)A8[IHf'j=R?.ƸDQ_)O_Gў䷣N_p/|=_?.2lvr)l`6DAY3 \l"QՁDgyC_S,H>S*'9_KI??x"EP[\}53!K ,șRD8fA`cH Al
-,1>DW)ND6zaٞW,^Ts
-/ͭ͵zBU1^/"%Ů
-!w
-QB
-endstream
+690 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 425.96 657.994 437.915 669.95 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-698 0 obj
-<< /Type /Page /Contents 699 0 R /Resources 697 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 707 0 R >>
+691 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.984 577.576 127.958 588.804 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-707 0 obj
-[ 695 0 R 696 0 R ]
+692 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.679 577.576 155.634 588.804 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-695 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.871 515.845 441.844 527.801 ]/A << /S /GoTo /D (section.9) >> >>
+693 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 434.871 287.354 441.844 299.31 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-696 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.583 515.845 469.538 527.801 ]/A << /S /GoTo /D (section.9) >> >>
+694 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.583 287.354 469.538 299.31 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-700 0 obj
-<< /D [ 698 0 R /XYZ 78.37 808.885 null ] >>
+698 0 obj
+<< /D [ 696 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+189 0 obj
+<< /D [ 696 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+193 0 obj
+<< /D [ 696 0 R /XYZ 79.37 734.627 null ] >>
endobj
197 0 obj
-<< /D [ 698 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 696 0 R /XYZ 79.37 544.585 null ] >>
endobj
201 0 obj
-<< /D [ 698 0 R /XYZ 79.37 575.691 null ] >>
+<< /D [ 696 0 R /XYZ 79.37 347.2 null ] >>
endobj
-701 0 obj
-<< /D [ 698 0 R /XYZ 226.44 271.385 null ] >>
-endobj
-703 0 obj
-<< /D [ 698 0 R /XYZ 232.109 259.336 null ] >>
+695 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-704 0 obj
-<< /D [ 698 0 R /XYZ 195.137 226.534 null ] >>
+706 0 obj
+<< /Filter /FlateDecode /Length 4566 >>
+stream
+xڽ\Ɏ$W4} |xnN2e@'K%3Y-j+  ?_&n"&9'o_~AR//}~巗c |'|vcnyl߿|``iX
+<{kBòaZC؞_/Ȱg6_ޭ_3Ks`8>Eyι[$a>&a|rL d6,p#?ǫ+W>0c>4N?+e(.JSRN;rJGN* ;{ĩ(Q/s%lb+mTsuVaE +
+D"'%P1U9EU^`G1H[wn`TeZAÜ]Pf:U< AjEZe.J!'%쬹CV4q'X{};
+ZrlNN\Qt~7 \s!?a J3J?A}O3CfBBiM<(/U3,y *@k+0
+Nha`m灷?x j>[ d!'Lr`4H
+or*Щ߲ٷf!`a"'0A{N/
+gOG4.?CVh~ms˄vJk4?g6UܸR\U_3U_@?[,:YߣR"dŠj{{}Щ4KF>`,9A.EjAδ&M u 0ױ A*,@|h}`B͌H>/J@ƶ'-bjJh"cSDW6 k`l (5Ԙ0X"t}@- W7䪱HŞJ~ܗ4wZWrʕqeǧU+;A9F\moU3e&7`sח`us\t|6v}} YVpҙH/kO2cDvȁ dx^}u7̉I \%s26zuZ]wCO1ES9If D-(_^;ŁV}|yDF){*
+j[|%Pį+*usP# GkFnpTprd :p;Yp_qmQg[Hy| КH2!x!
+!.3>^RJN]VB0h*=WGBaW-bˏb'svY{ ~Mrə?1OFs`3c:}-[#QFp[]Td!)$'ET̃<@
+18Ptdx~*"O[f|>-Ėif.'s/su'Q6U<u]wW+f2
+)$i4[[~]ݷĕ[xʌhۢR9F1!vљ<70QFe6mz[ŇiQTGDּ mq:IUwqJґP:sg]F?ƿs)
+!|z2Y0Jߓ( |n5O29E:3`¢R !|4/c4ʞ[B@]U7.:˱8(oG"H=j q\ǹn͔wւJBbeÐeD'J]zvf[=mfkx+8`Є{3-ڼoRX$mP]D~HssiyLsեzآ9(-%h,*O[QSO(MN~L~jz3E6DK3=K'I*|p8ɔQ
+D`E
++_Gr+)N!PS!0>Ӱ"dсZGA-8$4X24Oղ$ISq[&^\X.WfְʤNA/9b"lَĶ`nHyÃ'Vn0U$+Mdjʺk+fŽ#VngC.j]!HzW s^.f8 NV81YIosC4yPzړ^k=@֩V{B#(L1.,wPQ+ɤbŸpî=swzo/v8Wg-[M)3~.F;P
+0r oP!X9/?+9V kQ*tgEH!C>
+3?4P^wO5/$/@|NuS' 
+
+)L"g &"rN~*sR)"'Hf\T7J.e`
+'cI<,8dV `d8:$*%[C33Ma[wfX6zXx:VOSͰN* <SAD JLlw遛qSg!zn;9QрNAO@X񓁹c!IDz&.o<3ۏtόwWS.kaFn>v4QȌL-J/]%.u تOrʹŔsI<5[vL$%N*rd$icYjILuJ5e ]}AOFۙB$3c>G9=' ,ۖ[팇b}]:?Xr3u5JV:?bIzOI˼5?r}!Ȁ;9J\ WAJbz"Lnx\_]Bō/ QSUxKud$/eMI Gg{q>yo?lʞ9ȩL\^Y!Ǝ%)K!JO4\Z{f´e˓5jnq!& o
+ԝxu%nfx6wEd+=Ļܿڕ.S0 d`9Don`n^7B(){m @lH́*DTSGOOyȡi͈ wk1n^ޒzhp|mL
+ІzC]CS.)Iؚs8r3
+SƜR ,dY͍nW@ 9
+%%πaVYS~NUc%)煁@1ߝzk"ʘkbͷYZ_*NoOe
+jNR²._5q'ƶ J9!m[7y'/uŲ;]{hjѽnJ<w>0p?{D7
+#N7jL ?%Z@tl
+endstream
endobj
705 0 obj
-<< /D [ 698 0 R /XYZ 195.137 216.362 null ] >>
+<< /Type /Page /Contents 706 0 R /Resources 704 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 699 0 R /Annots 713 0 R >>
endobj
-697 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F66 392 0 R /F83 702 0 R /F57 389 0 R >> /ProcSet [ /PDF /Text ] >>
+713 0 obj
+[ 702 0 R 703 0 R ]
endobj
-712 0 obj
-<< /Filter /FlateDecode /Length 3400 >>
-stream
-xc1 GִudxF6ţxCݽM#u/z_ޅx4p/E\`?/]9ZbIk 8W owHz&5<ܚwmVεȠ πsoSr|9B+?pD8?8¨2@ZMqs9׼CpL@)[
-6^DH >IJxJ<Z;;Ӊ >%'k햮@XG*6%/l H7 Dv#;V
-t ,&`=;Hi3 vm'[Nv4kV8T%iM:UV3AaAt:ё4ߵQjd45l[/ iwmaj8&$*3`gJ=DD?]}ᑜR
-zJ5ғ6ʧ'd;L{f1]7v} XLy5VK
-+]}.Bb|8m?9 賞4YAM!.a,Œ' Q1A-FDQrLNA5;q3/KJEάDͼI&޴ϠfOk19(S(Ki?Q!L
-}U"r% O$Ek{\)5ņ9`B &| ƒKE(h=g:kg-50m{Su7Hq#Um39յP%嘾Vb虰Vr< XLD
-:Uji39lV
-\\-XCi,܍'g&`_!fetnpy `1nNvfT=T
-Zqb|b\Ki l$s'hL6Z減urm: m zׂ"li8%Zn\zZRv[eN[9ڮe_ Ǒcwzj[J1 :7׮<xZW(jj4+7)L#
-c Bl0 kn`SMIEfk7G\yC>Gߥ U.Wָ:7cHi(Ҕl8!RV l)DU5 !gf#0oUO U{\81VL /g>=}^'p6N>S}kNAAp ?AGST),[cHcnRcWd+_
-mm7ϐpqHQna\2q$^E|0aƜcw N#M0x] Ȑ7|0}}=Z-g3{SS俶`_pҞ«MVk1Pڧe{o1d~p ]s5|vM;f [۩<
-Pũ1ϑeirf5}sS*cG%0zO3!XQbJbsZstn"4NmJ3
-M_]kֆn.>WL=Z ܌z[ó(~Lem)'j[7°V^AŠn:h;8uqkއ
-JAY?59ޤCaSőCǓ#Q=tpM G=LJA G6IeEc~ԒU·4q`i1{`~&pdIˌacЀXgrheڶdUSft Jpm:Oh%3
-0hC[D<\M6c !
-*izIpM>k{~;bzj&O~`z)fmĬh=Eh9C{g8:JV ^/34g3v#xx@.Cʟ4_}_o_VwL$F@36ƍ&<
-endstream
+702 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 318.818 197.79 325.792 208.738 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-711 0 obj
-<< /Type /Page /Contents 712 0 R /Resources 710 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 714 0 R >>
+703 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 342 197.79 353.955 208.738 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-714 0 obj
-[ 708 0 R 709 0 R ]
+707 0 obj
+<< /D [ 705 0 R /XYZ 78.37 808.885 null ] >>
endobj
708 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 318.818 433.35 325.792 444.299 ]/A << /S /GoTo /D (table.caption.1) >> >>
+<< /D [ 705 0 R /XYZ 226.44 742.105 null ] >>
endobj
-709 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 342 433.35 353.955 444.299 ]/A << /S /GoTo /D (table.caption.1) >> >>
+710 0 obj
+<< /D [ 705 0 R /XYZ 232.109 730.056 null ] >>
endobj
-713 0 obj
-<< /D [ 711 0 R /XYZ 78.37 808.885 null ] >>
+711 0 obj
+<< /D [ 705 0 R /XYZ 195.137 697.254 null ] >>
endobj
-710 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F57 389 0 R /F58 390 0 R /F54 378 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+712 0 obj
+<< /D [ 705 0 R /XYZ 195.137 687.082 null ] >>
endobj
-717 0 obj
-<< /Filter /FlateDecode /Length 2641 >>
+704 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F65 392 0 R /F15 385 0 R /F83 709 0 R /F56 388 0 R /F57 389 0 R /F55 387 0 R /F58 390 0 R /F54 378 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+716 0 obj
+<< /Filter /FlateDecode /Length 2992 >>
stream
-xڽ[Ko8W{(D T
-Ra(rU x")u2t]٢nA}W4Ihw*6dv)qKN[:tu=9ISsE잦os{)727?nEl ?ݥbmb܎)"Vs#kS і ө}ׄIۂ,^n.Ool.w:{_ğ_(.RF,~z#VY
-A^S,JXuFL~\2pFt\kfޅ bd5AFI3=BC%Q29 SWA.:/kI
-j0 cjђD)X3V
-
--ZXT(f€cbb ;ZqY`xhfZ HaP0S?* t$!Z9pd)grtG  >" 5Q3RygLjKk[t"3%ʲwŻwꩌ -;6IƸXqՈi$޻
-'m~\pBnġ%NF )J",B`v+=y2 d#<!?KЋ-.z
-ִ2jޏqa
--U\xC ~Xf?_,~.(mJ&\~ x׵c7
-+vCw{㲽#Ҷ{"v/i`ٵ aD
-QJ(NЙS
-Ā[m'@FQ0ilSIA=c/t!Fd)2okDV:9)#jL*𖩭>[FcBj>Aʚ]\t:H$#AQv֑5@/hsx-mHjcVRV,,,Z+ WG 1(',Zad$ӵok$,zڝR.:n5y0I@j.[%z-@u\ߚlk;)'%'zsč,B[iSGj(`x\qt>a AUTC 1:Z6>qrDM<b\GjR@}BI"qwO4p|PX(e['OiMH&{x:.W~@aYM uI.Y9[lb!UqJ,# [^[?;l^QmVuWo(hxX}d*E4::V#)f+fΠUޚ@*D<*)ANC-Y#@WSpvAuo
-UNތ?p=u<ܐ2hoj]\]!SK#^
-w"*cA4_OgHu]3+\Ԍ$>obР%(10x1S]@Y|b>NHNq\t
+x\K ϯcrY؜|~ԥ P*R"?EL~(uӇ!V)0ߞэmЛVPŶ__(Uz|q-)wB){Tw$ÿW|_%Je}ښۿgJ>8olWp~\IF,h(<Q[[I,5#suhJJ34N'wAD'9M粀%LtdOedqd/2ttlvrY71yОRA]I'[
+mNBq[{VqR|?<ox2>*T+faak\ߎVp@"] 8^D7JT,4^D@v}!`0$:T) 8٬.xfFi D_I{GU5-4|az#dDh8;;j> Cx .E|dڽf|)XE=>e97!aOėvB<2]4Su&
+wop{Z egaWMQ HY&+Vҳ$qnkj?8yΌo;3y'N%;M >7#+
+~ǂ)P_<}ݐS׃=g{ٿt \ (FoxT33Fԇd-8Ѹ̤w皜|_C+S/8R4ѐ&P|q¥d'p1$&0E"$T]TERJ#:R> / $B6k3~:;rdt5tUvN.. <kAF2 Ce2hP-Db,T1qVjj2Gcށe$ꝱfHޡ5DE 26 Q&{0HrU`yL(MEQ )HaP|RX&q>]x~(*!R{K s)sA_'TR >'X)Q7i .fˆz9 NC\k,jU}k3apNqjN
+f58E.Zɪ%s(tE 2{;uN9~mX>!26x0[`z4
+ovÙ4ug1Q#GǼr|#"81NiJ|lu1YyApf-0O]wDd둹v О]~#oam Z4sҭpDg,\Z OkgcFY42JOH'C@1aRÉ>hK5R$z^uE/ecoYZ֑5!? /S!- 5ף-(7);rZr+ڄ&AMAu?. 6KFa+Y6 Re=oO4ūej5cRsI PH.q" UɬO۳}MFNl.NpuflmzyO:
+'f ,#Rȍ K4o.&sCJZ__-.x£{U%FGngb#"2+y&AK~߉gEQmZgT4_gUhg*GRML<Ӱ\,:BTA>*-4]Tp"]ȑg[PΞK)]/Vϒ. 汽TxZnۘnxocCyڃ b.@@Uf+@pv 2"Q~30A=#Qذ'c=j%  yҗugVz-oTVepr^Y5慞gמiΰÝ(s( F5QQ%*ڧ;&1/BM$tb)*
+oTF|7>GWUt%@#ޓ߆4ȈBQ%%s
endstream
endobj
-716 0 obj
-<< /Type /Page /Contents 717 0 R /Resources 715 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R >>
+715 0 obj
+<< /Type /Page /Contents 716 0 R /Resources 714 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 699 0 R >>
endobj
-718 0 obj
-<< /D [ 716 0 R /XYZ 78.37 808.885 null ] >>
+717 0 obj
+<< /D [ 715 0 R /XYZ 78.37 808.885 null ] >>
endobj
-694 0 obj
-<< /D [ 716 0 R /XYZ 79.37 777.001 null ] >>
+701 0 obj
+<< /D [ 715 0 R /XYZ 79.37 556.015 null ] >>
+endobj
+718 0 obj
+<< /D [ 715 0 R /XYZ 252.318 475.197 null ] >>
endobj
719 0 obj
-<< /D [ 716 0 R /XYZ 252.318 696.183 null ] >>
+<< /D [ 715 0 R /XYZ 311.994 475.197 null ] >>
endobj
720 0 obj
-<< /D [ 716 0 R /XYZ 311.994 696.183 null ] >>
+<< /D [ 715 0 R /XYZ 368.632 463.148 null ] >>
endobj
721 0 obj
-<< /D [ 716 0 R /XYZ 368.632 684.135 null ] >>
+<< /D [ 715 0 R /XYZ 300.238 451.193 null ] >>
endobj
722 0 obj
-<< /D [ 716 0 R /XYZ 300.238 672.179 null ] >>
+<< /D [ 715 0 R /XYZ 202.495 394.49 null ] >>
endobj
723 0 obj
-<< /D [ 716 0 R /XYZ 202.495 615.476 null ] >>
+<< /D [ 715 0 R /XYZ 202.495 382.425 null ] >>
endobj
724 0 obj
-<< /D [ 716 0 R /XYZ 202.495 603.412 null ] >>
+<< /D [ 715 0 R /XYZ 202.495 370.47 null ] >>
endobj
725 0 obj
-<< /D [ 716 0 R /XYZ 202.495 591.457 null ] >>
-endobj
-726 0 obj
-<< /D [ 716 0 R /XYZ 202.495 579.501 null ] >>
+<< /D [ 715 0 R /XYZ 202.495 358.515 null ] >>
endobj
205 0 obj
-<< /D [ 716 0 R /XYZ 79.37 543.562 null ] >>
+<< /D [ 715 0 R /XYZ 79.37 311.93 null ] >>
endobj
-715 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F20 380 0 R /F83 702 0 R /F58 390 0 R /F69 406 0 R /F65 391 0 R /F54 378 0 R >> /ProcSet [ /PDF /Text ] >>
+714 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 378 0 R /F15 385 0 R /F56 388 0 R /F20 380 0 R /F83 709 0 R /F58 390 0 R /F68 406 0 R /F64 391 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-731 0 obj
-<< /Filter /FlateDecode /Length 3558 >>
+730 0 obj
+<< /Filter /FlateDecode /Length 2655 >>
stream
-x\r\ + RjMUޥMVm&>ZVYd!ž@8
-p?m=`}A kLwcw (T8M|ҨH;*68RLW{TUXyq1fyI&x0q4 f [{-]-lɮ7M5
-UH#**
-5E2DE}i>ۑvZH0%mSp9}4~OIklOuUkp򛱯mș4MjaiG(A
- 긏g}$BTﶥgm?ȯ EhkzW~Aսпr
-ύ6: *PކNl4n-ҥ԰^^75'8(Y'eHays;;}wQ r;אW+?ۧ|9_oީtxQSry"<*
-<MtK!fOU
-s=ku|GOwA '
-}"ES?WjNwkn2ܒܽzR+-`|Q[g>ኙAv56-.'Ql9=n61E^tl9ZQ֎qK{έCTC}A)¸|&֋
+x[ˎc WF# (4̺wA*^^ߪtzDQuxH_7yM ?ݿtso*47u a,ݬ!᤺}RII_ 绔oR7YS~i;|ǷHHB:##o@8*ʋrQ 7 :4wYT0od0_i&<[4 G᱗Y,˚м|Ҏ_/d$[D
+TV&Z,~csCZE=z8ֲe$JߣN&v8^=oZh6#UgƈƏ5}f<18&L~[
+ͩ UنF)L=~*}ao.n:}=vP3J{mZ/9_kp wj ֌5Jh7<R[Ǫ|J3[;6WU$+ ٙBpl"Uxy"yod meq{iО:f\~,nd"ڀoh7Ss+;Ȁ:~@Csohvm~gT'!@aroZNJ/LJ`mф/t-_]ĠvXk`$Z?jOsa07bO&U^%U֮|+ctcD
+&tNs+!mD_R[xMc}$ft/l}yABE֭+GZ+>#۲zI]Pڳ[#2L1]}i2=Y6ψ
+H{b̽cCLXe1"yF>I)KJH(eRu$Xe (Ѧ,sJ6dYhvzJxs[Lj9p[Ag+֩ ޤ4-a¤EftTE$+“h꬐ᱬuw^f@#!pջRz CgV-Y oKe!`t]42>]b=>w xWFܪrf
+pdzo۲dGӪ
+\)؜Fm2v=i*8"E25ջX:SVLNSsC[Ż錌vdʙ0;,&#]fx<NAl߽򴆁<ٽz@zm~O;>pOoWj!ڱ4pmđkǕ$Pyj?O?db+i{itKor+u^{É-?9*Mܑm;J˳Wf _$\~[mnP
+\FmfڶZ9)JJw61J=GٙF7kBһ"aKg9&>sFԆV@G^!9Yd~>s
endstream
endobj
-730 0 obj
-<< /Type /Page /Contents 731 0 R /Resources 729 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 733 0 R >>
-endobj
-733 0 obj
-[ 727 0 R 728 0 R ]
+729 0 obj
+<< /Type /Page /Contents 730 0 R /Resources 728 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 699 0 R >>
endobj
-727 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.105 201.659 483.078 213.614 ]/A << /S /GoTo /D (table.caption.1) >> >>
+731 0 obj
+<< /D [ 729 0 R /XYZ 78.37 808.885 null ] >>
endobj
728 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.301 201.659 510.257 213.614 ]/A << /S /GoTo /D (table.caption.1) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 378 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R /F57 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-732 0 obj
-<< /D [ 730 0 R /XYZ 78.37 808.885 null ] >>
+739 0 obj
+<< /Filter /FlateDecode /Length 3182 >>
+stream
+x[Ɏ+CR n5 KfV/Zf&X^,dʗȗ׷?ʼ,X|o*>/%(aм8_*_he%QsKKiT|hݞ­7:dx ˦}F43=ogӈ}-%ްomy߶.[j~:-8Vyi}d:{MaFB0+%p+xcJۙyb8v6&f$SDkDݫMY]1VMU(SF
+psH杭F2n-kdεFC̒FQL)/v7iYGm&CDrzȤ#I75OoNAA7p"wwz.LLMb
+Sng"(FwvNGۘ߄EΦkoB}JHS:qpN`wsFA^(ud?JP=HSB Fմ1df;{<Y(`Dˆ"Zsӌesgô!Ig B3]jg2hȅ9)ӑߍeQfN 2=SOyjΛw5X^Rc`2A BcڋU ҙy'Ne^bγ @<+}?eQ׍hR"*C2:UaY+Fa"3Gc,S@gӚO:ՐWXM
+'Cortg]R9R*ʧ<*^a?3_ViUS.bc|Ւ7j@>!4Ew.Q7Ii^&#h؛ =D!
+K%q!>+fZ̤T|H/d?~޺ O: 5œźI%Y0_-s"'tM~U eiS)DS;d͢D?uԼH{?Lm-#y>mNJaRuyF
+ &RíV/7ېNͰ=M-*G~
+M&CPG=9>?ΩhY6O\J()U3}I
+qhZ)o1;NQ6Ǟ7xoYA?lˬ)W\ϞoQrYnGCXS +T>{ %%zvhc뎂D5Sn"kl[p2fXw~,t%>a2a#7넴3p:rthf?!qCyہa4yIHIԒW⦮2^:)oc\/0Q?DWg3V_\VxyUJ.R_GmLFzM*xec@b,G3o@yn51?%ֿԸ7mD
+.Vz hJ@h G9z5!{c6{ǣ-uj4l_}'LZ2DP*
+ D}YDrL4S-Y?;ץ\s.}qZ#7éNCq=/r~R#8Iή^ f<Nꠅ
+:}! ,,.dJNJC[O$]) ^U, 6D*YqO5#v-$Ű<$ imkr 5D|I> L,;'
+~U!UxƶZN%T׉u]xd;xKԭ8l3,I >Y{!:۱=0,Y$Z'9!;8ޕ`vxģ#蜳 |Bۤ&dNuKc -NO>
+r5XƂgO}qH!g"l<^-jTRh _HKN@հJ =" ^8mHT~ǭM)PҎlĞorEӝ"O S_'ȍC9ϑ.ϓu 5#$:{84].kŻ˥661!:II<IK[.=X:g}JvF't\hmLrM0wAUtk]v-YZ&N&uJ!$}؄35_mgg`K}C_.2^?
+~zA/B~n- A
+endstream
endobj
-729 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F57 389 0 R /F65 391 0 R >> /ProcSet [ /PDF /Text ] >>
+738 0 obj
+<< /Type /Page /Contents 739 0 R /Resources 737 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 699 0 R /Annots 741 0 R >>
endobj
741 0 obj
-<< /Filter /FlateDecode /Length 3041 >>
-stream
-xڽ[n7)ZBm@ 4!P ]n$R/˯O|=7?OqikF\~\~rjxɂ֎\=G>S`p̳0¹5q_ڬn1 wε/|ńùqHw~W6ᑗDu}l4Sv))k-#pvnrZG+2*)h<YcҒ_9X ) B,ӉL + SZN;\}<2MRڍ. ią2ͧ8/PI2waH@dI^ #GH5(aXPHŢ4J1ai@ԛ$Y ˟h5߭Yޭ0iGz),}[kI\X&.;gG222N:rFlQq2r"p$QGsq~2H߮-I|QerqRu\ O+FAT
-=CE*ZѴݡ-sxzv9BVfk?KPȢ-.8PWC`t5ہ"1]7t ַ'J/ :ߴ|@}BE]8hOl@NCRGfsA&;NvA!gcQa9_(Kcp@b9C/8ӏ5ga)6x9zL{3Qgһ[G2PZyZ%Z?|dV ӭs}TvqM:ZP )(`y>I==DRqM'HA0-;3t19IwmX ˸UB.F }ƑM+3 کUN횳mX'AKG (re/om[T(pŌEml sRT g=fm<m"".]VRz ~2Ό2,:d9>y4?Ev!R1@%l6\{;QЌ kn܀{pݶ1YVOvbX]PGjѭulHdBK2uFDsk&${G&m7,4Ls}<83ƍY-,C>1 $xRy̽,V׌Nq+*˺QT'!B 4>fǚ #Ubͫ/h+nR"$ C K*oi&h 2>}
-BxmqV+=p{Ĭo;xw<+x0K Mt9̹%k=V@Pv"B/jCv,U(Zʞ8&
-ѭ^Ղ2KkƴyA0$;X1 0۶>
-%9:ܼ/ *fAq[OwyRy'zI&{y+*\[V-ܘ7{k((x= 7qL~cܒ' 4_`jU{""@ UQM[$3 Tj=0ϣ8!@ŀjke J&\M(9W0@z-I;gV9SsBuЦEޫDM-a4P.]Y W7WgkK| w^HXN+SֽMW?mmݸWБ6z~Tu*}ZU@@+Z#<ct'x
-,?t5bfMn~^xsgV=8aVG&psCY WNQ bPB5apspGw;H6ão:/C!Vӡ&B.e2SJ7TBZ?ܰ򥇈6qwg2#k9{J9~%;0;T#H e,ӺI[>ۣd-Qe@Z>JD#%d6 4U
-)p幕W)_ۼ||R
-=قj $p
-ިSP{K]@{:]Vj| 05CmP 'D58Jz#cyTA]n@izzrM(ǃIO̬g]}} 8?_\opߝy<yj|,JMIrߞ 7\g ̈>#Fbї4<9( ̭ [Z
-s ;"
-nr#ݹ wRZ-;}+ixRo<_fq*<E
-BMAQפ1_L,1XLZn=Z~"W8 3MdPE4>+I_~Uwb}ʠP}Rkάfxg10[C_ r"f^䎅i59Ng U`@ϑ=,)t[!Hk"4`Ĥ;jX݈] 68f.
-endstream
+[ 726 0 R 727 0 R 732 0 R 733 0 R 734 0 R 735 0 R 736 0 R ]
endobj
-740 0 obj
-<< /Type /Page /Contents 741 0 R /Resources 739 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 743 0 R >>
+726 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.105 689.828 483.078 701.783 ]/A << /S /GoTo /D (table.caption.1) >> >>
endobj
-743 0 obj
-[ 734 0 R 735 0 R 736 0 R 737 0 R 738 0 R ]
+727 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.301 689.828 510.257 701.783 ]/A << /S /GoTo /D (table.caption.1) >> >>
+endobj
+732 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 343.619 357.634 355.574 368.583 ]/A << /S /GoTo /D (subsection.18.3) >> >>
+endobj
+733 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.706 206.725 449.413 218.68 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
734 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 343.619 566.849 355.574 577.798 ]/A << /S /GoTo /D (subsection.18.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.134 206.725 477.089 218.68 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
735 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.706 415.94 449.413 427.895 ]/A << /S /GoTo /D (subsection.13.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.914 93.78 351.39 105.735 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
736 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.134 415.94 477.089 427.895 ]/A << /S /GoTo /D (subsection.13.1) >> >>
-endobj
-737 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.914 302.996 351.39 314.951 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
-endobj
-738 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 367.111 302.996 379.066 314.951 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 367.111 93.78 379.066 105.735 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-742 0 obj
-<< /D [ 740 0 R /XYZ 78.37 808.885 null ] >>
+740 0 obj
+<< /D [ 738 0 R /XYZ 78.37 808.885 null ] >>
endobj
209 0 obj
-<< /D [ 740 0 R /XYZ 79.37 548.523 null ] >>
+<< /D [ 738 0 R /XYZ 79.37 339.307 null ] >>
endobj
213 0 obj
-<< /D [ 740 0 R /XYZ 79.37 389.026 null ] >>
+<< /D [ 738 0 R /XYZ 79.37 179.811 null ] >>
endobj
217 0 obj
-<< /D [ 740 0 R /XYZ 79.37 349.74 null ] >>
+<< /D [ 738 0 R /XYZ 79.37 140.525 null ] >>
endobj
-739 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F55 387 0 R /F65 391 0 R /F69 406 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F71 419 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+737 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F64 391 0 R /F68 406 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-746 0 obj
-<< /Filter /FlateDecode /Length 8392 >>
-stream
-x}K%Grޞ,ũCh4˞ (BhأY?Y̪:%= 7ndd|_ixfJ7ӭ.5n?%s\o9%O1.ow͘
-u 1P^)󟍁6gl%G
-B7|\;%;O~۷&V ~[+'9H_\o۱O).9KK(?i: o{Du}Nz?qv^1HM^u/~(íiC=;K&$h~6UGI%Z5Z%ۺdhlbkhV(|K rgi Z<d[t".xDh"HbbJ^IRb:[6//xXVK7g,e):RRÒbvUe "Y$QL$a`?? Vk/7?`2Snn`[苻}
-ݓf7HXV~B(8.i+nڤ|4:nC
-M?bwOrjv~P(?@tk
-uDaEeB"d ]1$Umޞ$X9h;iGz
-&`tHsB:
-19dMh?zo7]Kô1G#
-#Vb~{-CVGS6dsc~.03m6
-k>?\`!}X> IY%m#n|򵃡6f^u{:{HEwwur:Sqsig@zfSƸV(ͱzx#n5AA=&<ɨ,E㌂_d!_7U4Ur\ŲZ:S:WLuK(.ж^g0Qߪx-N$he)be
-twSӠ}M?-4'5:M
-=tWn8:~[Cv2h6|wg?HȯgkWA`0u<uE0q& <Լ͏KvNM< fbБ}ѭG[vXcr협2?U+3|U{${W%9ƛTրpeW<"&;W+#uϛ˜XÀg"Lqϯyg,ʟ8}:S*]"
-5.^&{7?j>4 #XE$Cc6NYeNo-XP[`]>uƷ 1(ۇ r$3oV[uW#P 
-72{S鰫#.bSMxwxVUɋcH'TmJ81={ӗa=L g:ƻwm8)NG&ޕivK&MѾw[(5q<l{'d{7p Ϧ5p@b>L.5p6o';ϯk%r22m8V-<ԼNpҞ{U6-1M6~~D6~D-}`j"$r܍
-Tl{cG7:Z|"IP~o@t~+GIA6tO9f\Y6[vJuz'1_K ~9v=zKG]{*$SwdϬC?)ާŸMi \ BԷft4"GTM yxY,eo߾H0λM5"H.1
-/;YYud4kvJjLIlJ$Cg¨S>* ;Pc] ki{x 2;tAr/6'nayr㭜NBtf9uexwɗ*F/L鷮v%WnMLf'
-}X'V
-2/<g0 y9<oz䬫r.g qχM);@biVKRP<J̠եtTQG_ےdHwd?hChen6%寑Ug{>7'—xK&O⟴ϴRڞM+!X?,-zU'u9٤uMZ' =ę`vvvm~kyBINNR/Kco[{}
-t$EmnQ$@MHyλfH( &)Ss,cCXDrUxX7J=T}y4z(xŜ}`k<pzaC [3 1{><bp<5=0 Q#b$zQ>h)X8G=cZL.v+a9EؕG)qɳ}`K<p~zbyNf|EC Ӄ5ªlHCZx\H$iEFSG"-탇#X#EF-H#-㇘QFÑ83GqoԄ B%:0(7_z[A1Y+sJfӲz$&%ї(
-
-6,i5
-zC)\ێd̮UH>z1>ZeM7JJh؜@lj= ڄBҎ
-. ֑1]b9%rs Z숃` ^)mVZJx<G~0KЖJ/, Xa!;haǴ'Ѣ
-xƯp,P@T LTSCN#- f՝)pcԒGEmvzQEDXLK O^[մj+qFFHѣ jwԊ CMxeTP^?v<ܧ4jD̶8*=ѣD%%<lNPsq5nnQFP^6C!' $)DkGn@Z}`nZ$h)as!ac#N8c)1Kq<gP18 .^*“5%R()asaDO kD:`Ҏ_&uOK*#9'8 P-hC\57VdbmB۹F x4C<bэ*V i8KlꨘDq#Bö2g:pމ@6`eTXsX`@(Uݏx\02bmT-x|5=Vddnӣ*"5XJx9cj
-#iT1s@-R()asaEQ sD2*D8|D,CaG
-K6yOaMۮQm~\"
-iEw9%ZiY
-KxSb"nJ]'; T*T8c)A?!Qaq!<2!֍z_{D",1ZPŽ[ڠ$RECiǁ1SXߌ`AT, %D%`H̵9%^t#䪘C6Pi,*Ƴ; +5m?2
-GdU1#)5MmOYT8h2
- ^]_"e;@m5V^!̺ejEI;x9WM 9Z74$N9sP1ᡴ
-=s Օ9%^ak s̰wJ! *M}E#!hlRpb*.nG^ 한)EI;ƀ9W {j[q+,QZAm ËiȆՀVY6)2}X\^ I6, FUI&
-Młf\Odi٦.RRBd<$>HHO
-=OGxUi-MLS5;2ePkZUp-y1BC iffY4ת<&E6ńLL
-@8*'b#+<>32+xB>kJ+mRdAܑ)̀]ժLn댉>?
->i>1EJmQdSZLĤOT )a _HFu]-L5;.eK'hjdq|ZLP,hʯL~ZڤI!@rG3y2sC1#㥀ffY}m1jGX40 xX|db{^LLP,<@/5*-HIi1!€>%jU)&g2fb
-?-&h1kmRdUZLĤQQU((e)}xW!>xZhj/QL79HנoSg#2{OGĜPmRautcG1E_Bu[$q)Z"Oy(zzk;Oa1 {0unS' a^1WG{^mV%P/\M_V|Ҭa2hUo5U#\0ԧm*%=:|j+Ƈ"ψޑ1o`4eçoLc4qϯ0wYzVbb}dzx"j;LR ڛIY_L˯e" ^lcχW``Z!\[(O,SZ9G +=
-1I=G
-#+r]c_~v;G EsAڱe y-~^lrG3?T^FJe5xPn Ev¼Li<o#4oث`GM'y]kBY Ta8R:=_ϓp(T#_2&z|**psoG)9݅mX'<BеC*yg,zs#&l#4u{2?@s?՛sypT瓲f}crlX(/ ע`O`w}iϝCo]ϬΝԺm
-"#CO{ DyZ9sjko<D E~A|%`:q
+744 0 obj
+<< /Filter /FlateDecode /Length 8371 >>
+stream
+x]K7rW8=7Z#g d1EēE~Hփs]9Ff KnXWY^/?^˷oo~фKYJ_ፁ_sIeq钢Yh.|uy]Gc]m MoQ)!Y4&.Ʌu]?5c?6kٗ׶) ڠt}NyΓiKkR7衎uDeV(R,03£FcZu&=TA]#نN^A`>v4 /MZ>W⧎b4խ3gn- go^~K;C9u. a29s[mЬ~t|;}ĥ$K ]n~rR5
+ 6h`avynonR"зih+sީ畧IzwZ瘾֐E5uIV\j޿_yں@,.<LZ"z՝&^T҇NnwM$d?wJaz npngӝndf?{-t5֕Bvezs{K\3-KOԸļ<lQG[L09ֽL_)T ?ym>o?0Ĺ"[ҚR
+)Ne4dE.跧?uHvQeK[Y Ի.;ű>
+ik*Æ*Ÿ@w)ybJ=@%<cuMhpɌ0Wde.x!5ȅ|`'.K1 y3V:\ UȏjOI5` Sm'x?7LѰV'9
+ T4<:>v .UFy(?5 !OchRB'cy4Yhoc,c+t~,ӣr\Wthgowک@Yq?K$X+g{IR уk*{V{ *z岓=hؚ^K~fuO{U66y?_[??o1b-域2[qˬQb!Yq BWce!:>kcAh5u)Ow\w\w|֨/zR=[S7̵'
+n*nZX!c]A`,CPB0i{1Dx#,`
+?]9ϖ1O`{އ8Xln̏P^f`6
+R~3s[͗@Y=@f,.}I[a22=UhoJa5 GC&efQ0)
+]IY^჌`oT9v`k1 5:`b9E,ó,u;:iO`m*81^QEMM>0x[ܲrN3}og:ƫW_cԗ|rweڈRg=į X,]{bj8C|8uwxמɻ?ϲ0eW_'xW&ߟR
+4R\ѻmmmO^V5y)눏|p;ŏ;{˚G]^s*GOo{ub.ɷn"}!N񋇍.lsZM mM@,-ϱ{響'XjЕG^xa֑r x:G WbUBOh]2 %0boׇ1}Ad/X<a_|6 X v#kf]p3H 폄);i1<ihgƋYmtfSÄ`TX<ͨNڕj-0?PZ` |uwkhen6-g3`{v
+s^Er>i7hHZKX
+K  (yg;
+T uU; ~lFV\I2DM.l;ƔfaEMn.zg+,hu ⽀g$&NۦSa%~&}[w pơLM֪@%P:`%|{Jxpά9ԳA=\ VI 1JfҒ6Ũ$Ȍ(*dmuÌ|C2vZpDkN%AAYHH.x^pH^^q_ mkHj6P-eq5ja_(j^MĠ^u(2^1Dha_.)\^z; uCzf!\1/*lM/= C"^}/lQ?V#Ddj8]JW'}mve>BJlG$)a_9.\^+F{`5"8D*[,됖:v5^`VwZ9'35,HK!
+#J$xDQ9%HK!xzr$jEA6x7=X!8&%ŵݮ(Uߌ<CP2D^0#$-`]]^}j.wEQPlgIT,XQ0J Tl*yJN9wzD%%4lN S5cbmBKMa!%œCiG`<cNeHH]ٌ:HG1hW#A6x)SFͰR`y0 #=/
+| \@ ;i@mq-ʨ9~cieY ~@ṭb9%nsZ􈃢` N6˚]pRqV,z"č ӌNۊbX+AQ-R()asa"s^G"׊?<v<x jDDfcQ"E6'^M8ȊF7K(h/̡ =' $cFn@Z\; 7ZJ`؜@zn?G-*XJ`%'̼Ty
+x ^̽Ó5%R()asaDO kD<T/~J;
+
+͇bAFQf뉬֏5 v*6''QT5D=oFB8>3,zG8ת&E2 5YQ*8XP,(L P=EV6),-&dbRQQ8YPP8rW p@>{J;mRdAܑ)̀]ժLnIW5|
+'h{Ui-l`J R)
+##!G
+>#Qc5۾B[&jw\$×5OM((P,()MV6)*-&`bRQ*8}ޠp~(fd P?faESJJ؜5OGV v;=DEb6
+=#OЪ!&EĄLL
+R@8UۘI4~LTcTm{mRdUZLĤQQU((V)xU/ hP)._6q"mW[LV=+7?q
+ʳGI胛M[ecUj -'o_ E>IoVu˛>n:by{C_A/珗>ϗv~wmd&CJ@r#C+ Az3(/ Ob=w]%<num7:fږuY%t!'i9g ^ZY3~7eXd
+Ss[}54u&b;> OVo[dǟLϻgճ
+?խ/uukzs3{Q}$t:q&G35s?~o5ü\io ߋ{ջOGx/un/-dus! ڭw\]t}7X`,* J/FUcݭޘu5hV. $ް~gJa j
endstream
endobj
-745 0 obj
-<< /Type /Page /Contents 746 0 R /Resources 744 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R >>
+743 0 obj
+<< /Type /Page /Contents 744 0 R /Resources 742 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 699 0 R >>
endobj
-747 0 obj
-<< /D [ 745 0 R /XYZ 78.37 808.885 null ] >>
+745 0 obj
+<< /D [ 743 0 R /XYZ 78.37 808.885 null ] >>
endobj
221 0 obj
-<< /D [ 745 0 R /XYZ 79.37 629.659 null ] >>
+<< /D [ 743 0 R /XYZ 79.37 496.936 null ] >>
endobj
225 0 obj
-<< /D [ 745 0 R /XYZ 79.37 459.482 null ] >>
-endobj
-229 0 obj
-<< /D [ 745 0 R /XYZ 79.37 275.636 null ] >>
+<< /D [ 743 0 R /XYZ 79.37 326.76 null ] >>
endobj
-744 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F15 385 0 R /F69 406 0 R /F19 383 0 R /F67 393 0 R /F70 407 0 R /F55 387 0 R /F25 379 0 R /F17 384 0 R /F20 380 0 R /F16 386 0 R /F22 408 0 R >> /ProcSet [ /PDF /Text ] >>
+742 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F68 406 0 R /F19 383 0 R /F66 393 0 R /F69 407 0 R /F25 379 0 R /F17 384 0 R /F20 380 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F70 419 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-751 0 obj
-<< /Filter /FlateDecode /Length 4821 >>
-stream
-x]Ko$WF04`Ʋ 8,7'x*fwGZI1|HW,_9tBoh~xգv c)w [#,F3B5[>~Z~xG
->~JS>/(x¯ T^Ë} 1KHHGvA!,GGZ(fGK 9{n᳸V%a LX@%/Pgā;PU{n᳉PΨٷoĦGpˈƺ'
-}ذT/]]? !<k#/< 1$(
-^!]vuaq.ߏb8hIcTn|=Els9'dW9BIהӾMh7lΫ?hC4s?u=J2DGkɪWפ}-1mPAy.O
-~(_헟.:hƯF~b{e*g *h3^ƍ{NT`uA@ _Ǝi9Hpj$I/0 < em,?yo>VR}waϟ~]
-qT8KIFeE8r:~^0L WϟQ;!X,YܡA@wn@e~v1
-I:V,XtWe%OƂ7I`
-bp@N
-LvjkP*o
-X0?kB=UOmPS"P9ʚ *bap"|{O: bN{-p5*FopSM(l[;W*?5aV7Yst oo'L<U~2=J&Vx^
-y#x],DQW# R`
-)QCiRFHJ 3wo- q aH*yݘ4?ř:JNXBM __!2uBS26qϸ~+ah94>
-=K[NXžL_!&BR~2"1)ƀt<}<>5'Z(juQJ/:F?YD~!Z:ǚBb™+!$,%,: {.v9sCɬcҜÔ{nq*b5\zmqTmv?Wzxr#=IG :vNajey]D;*JxG;EIe#"{Dև< O D<#5xit"pvDB53% Hb$S⢘E iFP^mZ!cP|(Qbfj*F hx?ѰzG$)S iԋP ׄ[}Wb(z $A
-l`G@1 #('\$EESiQWۦ&½60ʳm$b@~1OB0)
-&Ɲa)J0bcA(P f8
-9
-RFC8' vЏg0Q<IX(bVBIn3=
-G[Gjw[ap}[!_0ӷZUV?nW/5荴''vIW%Ԛ<
-\R7Եf
-滜Y}jDs\$ju2\k Aژ (JZћ5an\_.ѵ{n3,K4K `eM"}ש'Wګ 76ݑp14%pmAؗ+
-[kDgrzUR>CG|k+r&IBUG[UF0ȇZʹyOerLMuҡy)gN!pE,gb0<{كz:s7z^A>1{^cl++jlf
-m@ZVEL|(I B&̓
- lqAC#sg4CC*]Oz16[0z;g]1XӏSlpƙ:7{?2em~G2bK}caH7"
-~(:?7CM'P;??? B3@
-a
-0{~(g97<Ÿ;
-?;
-]e(0?wS;7>2@+ xԻWP` P;bىgKNJ0h*LrX* l oktkV8%SaR##CϪaЋsbzkB9/3 y6 $'N3~pƴ/QsphӮ_?70wt2*<I[ᘔvox1'ĄjP"ed]$MIecʔWih|c*9z!fx!/˗OSG_Txx 9R MpdGbB |,ibZ?ڹ ).-Ld6}9 H[\؊zYO%D|m2<&ӓZ^݌|{3V:{o5 C+@0LtWL =#Tƽka Z1Ĺ3J%q6Z~97V)~GVg3=.} <B s'xWx}Q?- &eCA ^a "j|!]B~!SCպvP!|< ?Ȳbn30 걺I]BHM*<)1ܖOHIx!s•ٻ
+749 0 obj
+<< /Filter /FlateDecode /Length 4722 >>
+stream
+x=˒$:J
+*P2Y7W[B 1o{ T|"3o3-\&/c  1NXAME!>
+xz(UauG=z1 ʭ0<K
+r=~8ّ9͌qgdbQ]Iè0MP<\AIP[K֖GeFLCvOooqF`O{(38a.$Ǩuk>.3*̳p2W[,IwZ̳"h p>6`_,gƚM4&1 6͐" R8+1DѸf$*HVۚW/]II9k03E:eQǕ[]6PzU_Qj%+B5]j\VU*
+SJi-<ᒅ1aLׁd鞙Ȕ]XAi3ZDy(B7GB0E/Q ř.N8ִ}1)a3.Ed`@ggJKAHC*iw#_DQw,K1%ŒͱFm6-q -a$Olqi8ϥEb޺~<>_aq Z[D9~ȅ̺mF
+eSE`g
+'x P77f4)5o8WT̶!AVkM2XC+n_5ǃFaڙi6;wv6xfl\EX+:<N<P 5lh1(]_ł
+=SV>(< +,|53gb6[-z_[ HI]2̇=Pys۷ \$cx͐$MW׊Yq ax:Ur?IAExc#Y8{㤬ݵGJnW'19ud׈U D^mHϕkL8H|2К 9#): ȟcP$1q4a/%g|BqCȾH,x}Ewh\!v)Wcr i瘕r$r{Aq1Aw%BtgН[X?<`
+ 6~Y Gp,|=W`iEKDZx6m=­' >SQ䯍-Tq7G^
+
+Hv bo CwG dو+ WoAAp%%3YJ
+\ԛE [Y_zQvQ#xѲI~MΈ Q78sg2Чc#@6F b [ůg0:&v ;ѫBp70M|jPj[q|g\0V eFr G. > ^.Ad~+E5L\9򓭩GicϦ俁a?0L5 wQƭoKRO5z.lUnԻ#IKsgKSSi.uإI8ØU6LU=#ǯT(afǥJb0>[3}s2}\41>^>j2gn33H'Wd҇ AIfO0yn=vDo&} +tռ]Zu,㨄|Os4_ S|̬Qy_ p>oJ>:48kcM* 7(ϹPy\<^>7E#vd ?mF $#R#*M_*cͱ|eApJ./R%XPdPځiĘI!6 3zue](*I!u+QP5/A-uH?մ2|f@ ʓH*0?Jm5\M$瓤"M>I:y_$r*a?8Z+"SU]4ɅlUxy 1I +
+ O;Aco R:+Zdы)eQ$1Ґ{<IUrl
++=Zhj{)!<H#}Y:LSeS%<Qy0u9?Rxk@,EX9|p+aضkf
+`~[ä+yW0):Og+VtT.Y\WzvF $E%R=)&<:"<=<{adpΨ4Q
+_2ZM&(ӝ7 ȡ󦇀뺉JWyk.zCJ;qm$2R}f"Jl^ޥ$. ./q)><T&Fe^xiU]&8,Y6g+
+#in{ ;u%Í[UniK+hZ#UOWnx?+'G-,H#?k|Z78q{uGw>MM] CEIrMf\yS[7L-FsT =IGw;Ҍs;҆n|H+Kz`=+s\)z9flpA?Y[48v7E\L]bVѾK:;'U$wT
+Sy}*a<gr!n@U:DYd㭮SUN3$|^;<_CßpYf>G$35zk.hcMUw
+prZa.0cJ˦FL#blG]ٌfhXMn\{/c `V),:%51mEyM#*#zz
+Ӻ&ezU@!
endstream
endobj
-750 0 obj
-<< /Type /Page /Contents 751 0 R /Resources 749 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 754 0 R >>
+748 0 obj
+<< /Type /Page /Contents 749 0 R /Resources 747 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 699 0 R /Annots 751 0 R >>
endobj
-754 0 obj
-[ 748 0 R ]
+751 0 obj
+[ 746 0 R ]
endobj
-748 0 obj
+746 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 240.709 67.03 251.166 78.65 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-752 0 obj
-<< /D [ 750 0 R /XYZ 78.37 808.885 null ] >>
+750 0 obj
+<< /D [ 748 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+229 0 obj
+<< /D [ 748 0 R /XYZ 79.37 771.024 null ] >>
endobj
233 0 obj
-<< /D [ 750 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 748 0 R /XYZ 79.37 600.398 null ] >>
endobj
237 0 obj
-<< /D [ 750 0 R /XYZ 79.37 326.887 null ] >>
+<< /D [ 748 0 R /XYZ 79.37 160.523 null ] >>
endobj
-749 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F20 380 0 R /F18 381 0 R /F17 384 0 R /F23 653 0 R /F21 382 0 R /F24 753 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+747 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R /F25 379 0 R /F16 386 0 R /F19 383 0 R /F22 408 0 R /F55 387 0 R /F58 390 0 R /F20 380 0 R /F18 381 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-762 0 obj
-<< /Filter /FlateDecode /Length 4622 >>
-stream
-x]KWQ: $/lGI9|arNx^Uj 3ݕH 2J~1A zoff`\o~4#+ _>x 5%en`Υy7ѧWOsOC1 @UT;9;*>\?}(pt<*y|jW
-} CvY$hf6M?N<t¾0vڀ&;_Ⳡ ^.u?<IT~dD嵌u+:&ތw5'ٶoU
-G zn˥ތRv&LY9HgET'o|~eB6ˡJ&0:ѱ.`V۞Kv<„Br `JUZ&&8x^fYyJ}~ "ex,>"Bu3B0@%hĂ#czqȐwnlVв_Ӷ{g2d X`Ogp• |"T % GV[XiպրWL{ %g7d'scɤ 7m{CaaĈ)exЈm=#ia786 gR0 %ܶcNP5P(fn:6 P0cC*5g.l:Ƞ(f0ZWz<.U Os>Fcys "p|Kh'%@AN1b8}j
-}yFLr{! h&9a.dk83
-e 9l݁D(63|\=D~Q?ťw%d덀f_6⧊Z0.-rjߟ}w
-0E9zS'⠨~_QXCL /e.K/~hbML]K{wĭՐG= W^ (}iW}\z^QP{QD]K][u?b_r)kI܊ f CQ[x@DL\Y@% yt4$m]fF.ºU^2/WQxU2e-([Ö(h%*"oG[S_5(
-fy
-ٽpX[2=gJF~1쀤'ls<\0Ӆz>̵uY*P;,ɲ ~|>@% G
-w E8\o,6)x|9&&HM`zZ3!fυscvAkʝEwpْrNE}vwL3uk23%Mh<H5 qۡM8">&z!WN2}k.4.a,Y$'wV")p,RrmW].zlL~.k+vw__In'ZHho2W\D}2I}< K2&KY78Mo2̒f,2R s,2N s.d.٥dȼ`  nqLe)^2TxDSȬ,Af27]\3Ku\7KudȬ[C]!\K vɐy.2/%Ad^K ǧu
-'eznvIvU~wu]偶uWɥ~mf0p/WRjva"{zfΨ^LS87%
-Dm|= z3p,c"/Vb
-@SjDAۿ]Q
+759 0 obj
+<< /Filter /FlateDecode /Length 4933 >>
+stream
+xn$裍@4ߏ@1bxo 'A|流櫻#i-0;b^*E.];¿߯>}uUzqi;@taqDhFfO
+J)?\Sa ;p&?5}7@Q@dg~5S˹"^=~OĹ cP8#Z [4R0s/~~ 5»1Es_U „gh/#d'օdh1Xs,Gr3<kG\kwSF<2AL,*@%ا- juI6ո1YCCKg^sEDGMh^!O—b)=B+Lʻ}ZVkۏ7J<ϯ}PՕQlR8N/减!J!CӧуloLr/tr~mVbđ)0Ae˽ֆpa*(!xb_2.%@1vs+B({+
+ WhO @;#
+{H;l1;dJeaTu,]FB®5aeJ,DCZ"yǂNHO*02C')^p gT%y s扲Q. 53B5ᨯF܀X]3wsR۴E,B\Poޘp dBԡ}"
+}߀ n` ^1a20䆰4ε4 ̋X]G S,L%cm
+RމRjI(Baf;Ҧ'խGң:0
+8%A<l?b+`lM,&? gj"͗J:o*"W@}0U%YH"Hw
+aMU%\!,Q8ʮ:[J]p"$vN2 4a
+ #ۿwK6HI
+4fY=4VztLvJbK0_xX#I
+uĴu5gDH)T4O7 ưz]mYk |D kQƧeXK1a'N[3 -  g$*ܰfj5f6VC 1ƴ; ͖l/oًKܫ=JHM&Pq ~! 8g!kӅu
+}ؗ3DS`LMշz7'5!Vji$8vqN
+b,(X|A Ĩ|LXg FtyN%kZDVGpKstI,*k.@){{~1agEez(8I%.hkrsZe~Z^aKBGE"z'$58X\_
+רq5Y56lO^q81 )QҹRZB!-/Ґ=-Fnx`u7H$0/ZV
+G?,*dOk#Ӏ*eOkq@⎕ gS?BcLeb+%c 2x#-J橑Ty~uT
+u蔜sNqtD&OI2RAd]#d.Cz<lBWdf5qPz99 S[_$g|{0c_ It"eK2,<cr1&y
+Y?lHPwhnh,z{B(t},b$z
endstream
endobj
-761 0 obj
-<< /Type /Page /Contents 762 0 R /Resources 760 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 765 0 R >>
+758 0 obj
+<< /Type /Page /Contents 759 0 R /Resources 757 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 699 0 R /Annots 763 0 R >>
endobj
-765 0 obj
-[ 755 0 R 756 0 R 757 0 R 758 0 R 759 0 R ]
+763 0 obj
+[ 752 0 R 753 0 R 754 0 R 755 0 R 756 0 R ]
endobj
-755 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.089 598.172 185.044 610.127 ]/A << /S /GoTo /D (section.11) >> >>
+752 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.089 443.154 185.044 455.109 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-756 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 200.765 598.172 212.72 610.127 ]/A << /S /GoTo /D (section.11) >> >>
+753 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 200.765 443.154 212.72 455.109 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-757 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.48 483.111 211.435 495.066 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+754 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 199.48 328.201 211.435 340.156 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-758 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 350.719 483.111 362.675 495.066 ]/A << /S /GoTo /D (section.12) >> >>
+755 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 350.719 328.201 362.675 340.156 ]/A << /S /GoTo /D (section.12) >> >>
endobj
-759 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 312.828 471.156 324.783 483.111 ]/A << /S /GoTo /D (section.9) >> >>
+756 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 312.828 316.245 324.783 328.201 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-763 0 obj
-<< /D [ 761 0 R /XYZ 78.37 808.885 null ] >>
+760 0 obj
+<< /D [ 758 0 R /XYZ 78.37 808.885 null ] >>
endobj
241 0 obj
-<< /D [ 761 0 R /XYZ 79.37 579.845 null ] >>
+<< /D [ 758 0 R /XYZ 79.37 424.935 null ] >>
endobj
-760 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F15 385 0 R /F55 387 0 R /F16 386 0 R /F19 383 0 R /F69 406 0 R /F58 390 0 R /F25 379 0 R /F86 764 0 R /F17 384 0 R /F20 380 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+757 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F17 384 0 R /F23 652 0 R /F21 382 0 R /F18 381 0 R /F24 761 0 R /F15 385 0 R /F57 389 0 R /F55 387 0 R /F16 386 0 R /F19 383 0 R /F68 406 0 R /F58 390 0 R /F86 762 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-771 0 obj
-<< /Filter /FlateDecode /Length 4591 >>
-stream
-xɎd>_QG%jcL 8I8$prHvJOoY2𡺻^SI~~޽k-_^Lڋ5q#._~x\o}_qqBhfh€g(JskSSa[O'TGHޞo񙊄|,3o #3-܌*&lL 63B3F{f]x N>̠u!`
-4q%<@@f \D2{
-S$L{,4TUsNt BJ+>&su=#|SC-u^]eeH+@Pzo#AA1mda+-bE2b, fiE B$B*(26g\d2]PZ
-ihqD"ĽrIَ tO‡[n&xaU(sD!KtqUf^=,4xN_JS`|ՎF t6-kǍTJulM=YPʺoA XNm/<2dF4NkfG'[HP hnZPiFncW%dtφ(Dqmތ1N->ϾN_
-VuVO0S#v8.^V4{ ooոz[V&,e,<]k~FB^VCu!n0;4űd[sSa+YS3lM͖Lϼ%0&n$?[=䥰y_NuQ&o6G%b ]
-=V#9>NK<tM(;h<[9b{2r2@f$G pt$%gُ3zQVUu4޲qg L6镞 h|ay(-o; ,^9?fMwa~)<vu>F
-R2~4^IXfqz @3˿//~yRǡ!1ͣ@3>}B>_zx 4ƣ doOŕ t_RIS Ј2٨~;
-
-}}.V](L
-d;O*
-~ ˄{1bZlz0.0HUG$LmʒI2Y)x G}YՕj7E&CUaM3hvV}8kKzf<zttץTZmbI?}<nJ
-_ƭXdhHTaFwq-,v*IQwo%@~~R};˽5d%I&aTAc$^+GRR3̭"ߛJgc@G -8r:+W^CZX Iu2?օZXj9J#yn[QkA3aQ9۪JV vٮ喅G#&sli? @8P&>f'H6W4w]"eG,ɭ5(+JV'GQqd|a6j̃p (;5$]>~,:wbӴ +ШҴcZZTXH4
-SOQ ?Bwh=@{1< Nֽ}J$޷On䓃*;
-I$_A~]Q>)GQ35
- P9ױ
-",itrD0_w %"Sï%xM\@n'C/${1 'C
-a6 JAao5}ZW9_f3lVM/NkzT,xĔk|f|>'%Y"+%*1ٵsfOm]i^> t7ZC%`ȷw<$E#3%&/O+3@S^F$L멵tRU-hhM }Zm&+dUK>qBMoe|UҬyDu3i d}Iq]r"%SuHStwhriIZ-!4)aZqx0'Fɷq$:o[xѴ`$\
+768 0 obj
+<< /Filter /FlateDecode /Length 4718 >>
+stream
+x]K9WqD 0gdz۲X=.,dRUm13]OI_z~"%`՗y% ~rgV\ps9W/#oJ[F>qn)/3<!}GؾK;(ߘm7c['
+(sTiY<x^wܕ>sS-Gz*||}H(O(r0-J(<H;_zԁ nOd^`afBpξu0s
+˂xəHϔ@(jfw`cקyoGh]&HxN-MO8Cv:HsCL:<i+!\᛫"/=3IC~+}?{
+,r{3kO Rr - F[,r65D]66/ihS:)J;vp0TN_4U4@L"Jf+s" :{ibc0{2#-3<O`K7_^xyR4 ^^dV<0?Wvp`<SI%.W<Q,7/{ l
+^[/
+FrY/(ͤ>aEeb]/ & ^BL2s3! ͐IIB&%2˟o\SK 6j!s]-5d G!sW/Q\K 6'RB yB/9dR!^><d9d:P!3>2dNw+͐IIB&%2˟o\SK 6j!s]-5dLJq;d3
+Kz^J<2O% G!^ioFx[ן=+dqسWg=6I%=r.fy2g]ͷ,ZcyJ`T͉h}P0`6 ֻΔJ:ɈdZw׻ΤݒKo#CVȕh$$ ƀ'n2P@,ylcfs5(0iG.)"aȩƥ9ōxZ`S{4
+Vt,$l7h=E6कl]B"zc/pSh$:Mu!!WIO[
+&h3ͬYn^ZGqq7;5Sd֛apB
+z bz
+ O`mVæ20-kK6^6 jisoVmDmGiI@
+kz}TȪ`]0R/=;+ nUimQ|y'r-.Fc9j 뫔peh0r"3ו@sOooD(R1o_yi},6|Zi7rM$0(y'[6퉎]~aU ܔiiK\BpwkIMy'$-oiQ3@iT?ޝu@(P>A!uVxf<g`
+gx2U\mqڈvʱ^TיZ(?שu%ygO{ ZDT 5?@I*>7Wf44?%!}rBԠM?2MgwJ%wZkf`G>(4/3O`}c10oҰi;Ot4GJ/9FM=aKְSKOKh,H?zކKv#m,3GewB{PJގP c
+e+UuJ?Ka#-SGC+_1<P8I)enp􉱠:9ا7wMC T.ǕJ^_Ͼ]ܣv G0j30kτFkQaCKi
+yҡ0a s+V$;ЉY~u|P_oB )d-t%
+Mq'Q
+'xr~*^ukLu>ꏭ٧AfvI@'Ez\iR%TgR%mj= 'ϣwDka0Vܶްɂxk>JrwKfԆ!r/Uʹ4Q=*M])HňUn,IO<-B|)8J@veq, +
+%9t6'"OcHɌN9 c8[ݲA71fݶ@;;H/R1ڷA$/ȣ*Q8)v@6JAvi^j``e[(99:]uHlqm^c׶HZ#.AUh|089@J[gi䎅ϓ
+=A3-ulxei~InBKɼ)r -Uآ`ZBr 8V֧A
+jAwЊqEw EqS ċh5dd
+}F~GfSF\=[55fsX&.3q2ݔpxz@+I+ʺ~Dsƍwb lt0Uާ$+y@`$,7=$9OErt\:Ѭ©FeW AJR84Y^ va[a^T˗\kʘ^mB*ۭaƫ3n!;%%8Bt=\0ỊFwsŒa~17#taZ"RM.ZG O*I+ű. {Y4YN%gΔ嫅u`.O Q/w =5~$@\H
endstream
endobj
-770 0 obj
-<< /Type /Page /Contents 771 0 R /Resources 769 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 773 0 R >>
+767 0 obj
+<< /Type /Page /Contents 768 0 R /Resources 766 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 699 0 R /Annots 770 0 R >>
endobj
-773 0 obj
-[ 766 0 R 767 0 R ]
+770 0 obj
+[ 764 0 R 765 0 R ]
endobj
-766 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.589 386.54 460.544 398.496 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+764 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.589 259.701 460.544 271.656 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-767 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.974 374.585 468.929 386.54 ]/A << /S /GoTo /D (section.11) >> >>
+765 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 456.974 247.746 468.929 259.701 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-772 0 obj
-<< /D [ 770 0 R /XYZ 78.37 808.885 null ] >>
+769 0 obj
+<< /D [ 767 0 R /XYZ 78.37 808.885 null ] >>
endobj
245 0 obj
-<< /D [ 770 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 767 0 R /XYZ 79.37 650.929 null ] >>
endobj
249 0 obj
-<< /D [ 770 0 R /XYZ 79.37 505.906 null ] >>
+<< /D [ 767 0 R /XYZ 79.37 380.916 null ] >>
endobj
253 0 obj
-<< /D [ 770 0 R /XYZ 79.37 356.658 null ] >>
+<< /D [ 767 0 R /XYZ 79.37 229.419 null ] >>
endobj
-257 0 obj
-<< /D [ 770 0 R /XYZ 79.37 187.326 null ] >>
-endobj
-769 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R /F25 379 0 R /F19 383 0 R /F16 386 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+766 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F19 383 0 R /F56 388 0 R /F16 386 0 R /F25 379 0 R /F17 384 0 R /F20 380 0 R /F68 406 0 R /F55 387 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-780 0 obj
-<< /Filter /FlateDecode /Length 4862 >>
-stream
-xnGίxGv
-[<)ɹV<+h#S;me_c d[뇟
-cWPH阖f-4>pN kֶ}g\7ළ>)d?ñq~p~?Bm͔rAa֮c_ :طPg(Q̈́@DL\sy[(ă  7C3u]¸k(<iǎAk5<B?F.3~"CT<z}gr}6v"TYϼ + I&1x!q
-pH\A2eɼ!hC"Cdئ-=QfKo&- MyyHzj`KmAK-2Sn{mm㔥h*um$Ph-+*/:u.+gq_S +MYrZK~πV*";FI&&:/%Ohk/(ӵ"FUSO C8##fQݢ⮅D8f]\Hqwg۱΀GDhb+H
-x,{YAӖ$qPÂqg w=N45OԚ6+t710k8A[yqՆ`Rw'۔ԝ%t>mkbn,U(Vlm|-NlPJ,c(՞3֦
-,Z<bG ms==w0k/.oϷGg/YIG&j5
-#daIBFE{m젳_@Dʉ]Ux~`c- cP\zEɯ#lhP[;ɼόcvG"R˲WyɽUK춥AW;)["[It\bѢ;GܛwcF%2t}{L0B^Viky ]5كEiŔQ=,؅E_a5g3| rL uWjyN }1ݚc6& Yz&
-В[s=O11o!2ѶQ1qd#^D
-m
-:x[.`ӣ!0cԜ:eVgFˆ- xK0P[cwT
-<Vn4-%s }%
-+r:+)Bךq'ҬbÐ9,=Kځԅ'r`Z~ԃljJQ]oǙ-h#^aN%?-wѺ17RU>, GB)8;F /`T
-9 }s١CI߶Y,8PدW$5C_%Ev(PnF
-׵Sy7QsqΓZjُ>cMkYةb9,oa+F&S.
-c:`ՃFJ*y.oZ(D %iR%F)KZ;JKŴԈ2f/~6`>)X砦x3QMӠ8QJґd,: n gK=~XA$=gji"^ˤi[ʥ8)(_s;$]a d诓7Yq7noH19 p'zP/8X,*e2@8o ?#%cE<&BlO]HR ?F u`\o-L2i<)ϥد6LsԺ(/ap[f!i5KV6uFrs2땴sg^5U΁_dz߶M=->z c^I;
-QUC_%Ev(z0CgSyz@(|xAA~FAS"g |Tgˠ/kXI(%PXldʋ.P^@dʌ}4,o@T#\C{ԇ$ $OLKu|FʤZ˝eL3\*kLxf݁EHOۇ]%B%v Ĭ7A.p^Qڎf\?S]))Aa9l
-V4~.,qi^\hxm7A@^#[jk@~#kc, cvuY1a)G
-DVv<mwt#(/[C+ (7dIߪKl%()cEg&`R>G__KLa/Ŗ4pi7;R@Y8,h *N 3I
-HWfom\VRm0o]BuE:"< pzџ#F: Uыz.,0+)먜yM[ěʜ&Y
-6@ eG3]br n9Knj
-M*nI~[ȓLE洄{p)E9aH?Oz)03+0VAW/hy pz^|<x;+y ĤwW$ahk*T}+{<s`ɸ h.s8(hc5_옾'}m5&TF{G{*lu+x 8f`i '_8G
+776 0 obj
+<< /Filter /FlateDecode /Length 4740 >>
+stream
+xɎd>_QGP$j
+]s rr} CjO z=)")JÙ-|g}3oQy'_zb`J\>~9pΥ?9W<jD#^ȅL
+Ы: 4< |g xyA V<F4BKRo/ ҕgJcl&q@6 < Vp/<sҦ_,Sޗqk,yo3M'5Ӫ|܀O3jo~ f)'/"Gq~ a9ZeEꕒWq)1|)* ل
+C-f$z~qZ/C[^k32"-(=:7-?mN9r%3eIa&sFɘ@;Nv黖]KE8mKQ7'4bO qwə@P(^}!sa?)Oo'όx7a_1BIDz2}!"2@2%[ҞмVhO9Ui+OC,q5ڍAM:\vkYPȷ*4({rQ.B 4GᩢT-/[,a+/Y'm -*/Cg*Yb/`I9<nD I1>kDžHɤ1dQc^L܋dmtI
+TQܤ
+Ksr,9v2#v؊fkF궊u2ŊC: E! fQ84܌sLhBWPo K*8Jx*BIv`@t=E5IvI۬kR!.LHRIĒߓ5/ qE/6Ħ–~QaKOo{qxquFy Bq"+W7Atan얗ɝh!d<)+QznqǑIȃnt<z=Zn(\i+ݍ ߵ|`#4M]KTuW}G_H7a.x7ԧ/B4P-Z;N[w4CR D]+ ب)$=nb:Q(֒7[64
+5cʝ
+s9u/z,Zmҕlb$[#_Ģo1.6)8\͖z<eYqN<*krF]~onr(a6jQ83zz5Y -O%p)4i!P}
+Hek.\3٪,XEs#9qE#4•"57m+ם
+vgrh ꮕz犢kl}@Xv a<Om X$[+%i² `_޽!Y`xCi9 LbHy ʯ:< =ǖa@8O߾z~`lN;wn3 ]6gO./4ͽeMeHV2=ִsg#M{WM;G~J9Դ4=e裫8z7iCwGv;~i31M{#k6!P{qC(ݻ碿P
+ eM
+4
+ Q}PC[AY @q$"peD"ۚ?.x{UM&"xk;eH%P׼nKnit3IM~\_2q\eka[9(ا<Y%Cv
+8=AzdUņ<o =J).aBV<9_iNٖ֭$O[e m
+4,&rSΪ Cp}0'5xͩzAoKz&mYzlk;"vjm?`sxm(ߝ-[9d:\BTA\NnexGb܉ؾM9Iµ
+r]-r]wW];w^t`pKQ8zcwj<ºqÓbx۰VlX+!:{VڈI[NOVJYڀm!4}9s CI_i޺*"q"R{o|]0^C)gJ3FOH]{Ts_*.*9huCt+
endstream
endobj
-779 0 obj
-<< /Type /Page /Contents 780 0 R /Resources 778 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 706 0 R /Annots 782 0 R >>
+775 0 obj
+<< /Type /Page /Contents 776 0 R /Resources 774 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 699 0 R /Annots 778 0 R >>
endobj
-782 0 obj
-[ 768 0 R 774 0 R 775 0 R 776 0 R 777 0 R ]
+778 0 obj
+[ 771 0 R 772 0 R 773 0 R ]
endobj
-768 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 226.429 757.783 427.176 769.081 ]
+771 0 obj
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 226.429 607.034 427.176 618.331 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(tex.stackexchange.com/questions/488566)>>
>>
endobj
-774 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.498 86.285 202.955 97.742 ]/A << /S /GoTo /D (section.10) >> >>
-endobj
-775 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.619 86.285 384.076 97.742 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+772 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.498 87.644 202.955 99.101 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-776 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.883 67.03 226.108 78.65 ]/A << /S /GoTo /D (section.9) >> >>
+773 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.619 87.644 384.076 99.101 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
777 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.163 67.03 249.62 78.65 ]/A << /S /GoTo /D (section.9) >> >>
+<< /D [ 775 0 R /XYZ 78.37 808.885 null ] >>
endobj
-781 0 obj
-<< /D [ 779 0 R /XYZ 78.37 808.885 null ] >>
+257 0 obj
+<< /D [ 775 0 R /XYZ 79.37 677.479 null ] >>
endobj
261 0 obj
-<< /D [ 779 0 R /XYZ 79.37 731.098 null ] >>
+<< /D [ 775 0 R /XYZ 79.37 580.12 null ] >>
endobj
265 0 obj
-<< /D [ 779 0 R /XYZ 79.37 691.603 null ] >>
+<< /D [ 775 0 R /XYZ 79.37 540.625 null ] >>
endobj
-778 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F69 406 0 R /F55 387 0 R /F58 390 0 R /F66 392 0 R /F19 383 0 R /F65 391 0 R /F67 393 0 R /F25 379 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R /F71 419 0 R >> /ProcSet [ /PDF /Text ] >>
+774 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F16 386 0 R /F68 406 0 R /F15 385 0 R /F55 387 0 R /F58 390 0 R /F65 392 0 R /F19 383 0 R /F64 391 0 R /F66 393 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F59 397 0 R /F70 419 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-788 0 obj
-<< /Filter /FlateDecode /Length 3982 >>
-stream
-xˮd9m,AB⼥]s`բw y9wzf1,oUb;8\Y?EtrQB;%S?Ji~>ܴE)?P[L>@v>oso⍔#XmA8{[:>QT4vvV3M
-x5ąR᪊P
-8aKAEYåQ!˞L󞬀e74
-Z](P\h>B;Ѕ\j{Z^&{G7ȠYU zEqՄۀλewәy ƿ݄_QN
-9w)9yUrN`On~&iqgVk>/KW(D*t  7mPޓQaM1[tc6ll kd5*ʙїrbNpOiAuO#1 9t5ԉ i)AHԆKӆdEܘ&֣N@l(z]+PqA՜ԝ*5#X>=!VFRզDu,{_ЅbqCZ;)ED&KJ $\.աPB&ݶ\(Pע@nuP+?[T5ͺ %7ΒY9^WL n%0a ^T#Ipæ;Z84i$z12WvZDy 㭘Sk[sL֚p4 &&aUFNɶ,8::\<PMc'M_
-K1YZ) el0{:܍%Umn ΰSXńeG`aw}69sl #I
-~mn[6G2H{W?G
-c굦756bq;c(ːŕm}XEs(Fq`!_2{թURaA hYy z弯&*J)>p˽'QoYǝqږLܺcWO䬀؏'[S0S/+a'㨈3z b
-21ZircQ_t6`׾=^^5&cpOי RrCˢ~#>b3
-95TNapV4 0i֍V7ҶدR=ܱso⭧T_̨=6Ρ}`S6FirD0܁6tP/߁^Ӄ°DaQq{Mz6S2cCWׁi::i TmSޘ*4%Tr_`b_KNT&&RJfs)1? kLkZ'c0 \,J>tZ
-ekزSUVs$gU%$|yUIZAGGdubzqg jNG]vOd\^ S|%P#Aٙg, 4F{#?3%|̗g}]7n07nX'Tb>%XUꎈ?eUFnFU{k^FN{ʯhk
-լ^Q Y[FiQC^LzR
-r/"HETL<*i<!LLov)#}[GT둟ȮäG0c,+6YA^u4WQDak^!ܣ_`abn\fȩ[x$?n_Ǻf -ƣp[(t DzVw8 ;utpz-/^MR޲I$j:d z5cͧsC#+-2Tem_f6s?NVnx>HŒrBЯr:}VI [g v:e@2J&OX23^eScZTVND`3U,]q}mmAetVYO֖1Fx‚Y4]X<K~['Y*\ É*=r/3lZZtmckӝ`'ruf75doۮ$k[I{6X_jmpmd+ 䶦1kٷ%o-)Ș7 ;!moQT+i^xRmQbޱ;Zߣ!ŒDp1X~<t8xOoy3ְ|J_˺v.!Ǜ~~zkZ/y.8$
->UC_~U0L"#X*"3|_{/&ӳ>\}kE1pA =dKB)Du ,\7[Х=a!hnM"N%_c;Dl#\pWO`jiJΥ5yٹi(Df3\pC ΤTSzViX36$Yk[nzxg%8-گt&0UUWiI:Bar1i~>/aAJ/bWx%mRn<Δn^
-f-9Ǐi`vDe
-&/3i<uy
-' &1 .ҿ@;EמU[ÝI\#Lx՞(NIِ5~Oތ1NyX IīHDb/ h#/ll&
-ʗh[vvtcLw(0জ:S٭Ur
-Rgbdz%~ʖIբ9RquI
-S!<fԄJ[/?3 /O*6K!JIRHG_-/a1t|(v}:H+FFW۱
+785 0 obj
+<< /Filter /FlateDecode /Length 4357 >>
+stream
+xɎ%>_QGAAspN!6?NT[ςׯJ(I|ew/x}͓ЋgހQ۟_|XϤ]}ȹ|/9O?!i3$g(\#LP8726<C(r9`hm!a&?hHcRU~ _>h,"S^B=6ҍ'8a=>.D3H`Ig$V3_=(hXh| W*&0ցr6+H<ȍ
+D$ D))"Oe nYnا">_#7yRM30[2vOSG Ф-n4}Cږos}&h9J ~I2$glϺDUu#zݸqxոc263!|y=}U8<n n0?xpg t]{) FfyGZj; : EJ*US֤8-!$Uc $⺔O37O0ՑeCyTB1_SKQ,JM|)H9w_-$-oˋ,/,MI3<;"nkk@ZFMKU*.<5yl)KH*5e!af?+YSn99{)qWwZ'
+`_14ޚSQ˞]zh8Zec|ηYfV.tG. =P CJh!{Ͽ*0f7؏t+LC@t(J\FC<XBɭ1ˑ0*)GT2qK<4Q7F̢9(|JsLZ9`jvBCeBKD֍0FFfpazZfĊJU HFd8ky?ɒوHoI{}\.] Vg~70oKI
+ik(X5h]^䡸,r B1e0HtpS1hsHk41uy%ü) _;:(@ULs8Bss*A*s:>M$),7A+'6QCm.YwtF.l:W7AG[n|N4ȿ'us^E#ӪD1)S,rs'WG ]ȑH:sW0Ri& ėH$T l9}6* #S/dT芟LxnjJI'I䞛I ),L06`^Q5:y/AR1n0'JU_HA+Xa;0}\5g|eBޘ(e@bX愝#<-Oiƙ9#-Ax(Mq([!~eؓHF%er(9dIprFF|S%Cu8BۖTR VvŇakiF&x"eiPJ3bq7K~KmqJS TuƑ#|wxF% xڵVKldet+o G bg)E2rPeQfXt6}xstz<N˹M^*ONPQg2rV?s͉GTK^)Zd( `
+~:G3dS8%WRq̬N6N3\bC;Ƶ] LuNxlʭ&]mW T>7֚4t
+oF(}lٸn}; Dz4s~'&P^Y 2/5ZzlɁ%
+)7BKa3[kB ^E6jE,RH *ke!E titD@`#i4:gQq GGxR-|t@C%l
+{K ,^u212%2]cXN(K1jp2{`4(:`*/\Ma )6 Bx黃W 3A:$R7[ ;/š(xkl{14N{C9hpOU
+W&64712 V 1:C~\B4M
+VG!`=uf(ϱ|2Z fp*V͙NyՓyƩ+^ېUd;<L@<:^NOkqZ.K`\jX佄;wNo<[z.omn(:uk͐gpohE;n|x םfBtIgҍxU'UXZ=zhVX9Qn:QmqBmm-5Z+VD.(𜡨@͠`5ʸl|@v%xءF #[rM$DWτȢ5 S?>qŠ 8^3@AЭEw<ɐkJ?wrA&RT帀oio%rVQӸGE!*{o~\Xᚆ[OH/s,I\pDנJ)]ˠ'h?#bzb=Oybۮ>@X[yr1OՎ/*(kQn=<Ca~zUP$ ,=s[,7G+~,iDŋZ6fkx$uEõPJ[A3W1Oۯcڊטk
+\L+.ҝ[`Mݢr&jwϕvӺnHkwr9kKIϴ#֖RY4X9 Gnʚ%B
+;n3b$Q4s^G x7jWvn6#+ Ouc\(k,ȱW|#H_6]U;v<ȵ1 vnI5 NCLD}%PIIVDIO$<E89O5Nӂ'ӂQ
+R<
+!FZ UI8Z e?X_E*B/?xꏕ_4JT"L^ 8].VD5V䅼}mرUT&1filj4axKi҉$`LEqP#ɏ`1œ
endstream
endobj
-787 0 obj
-<< /Type /Page /Contents 788 0 R /Resources 786 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 791 0 R >>
+784 0 obj
+<< /Type /Page /Contents 785 0 R /Resources 783 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 787 0 R /Annots 788 0 R >>
endobj
-791 0 obj
-[ 783 0 R 784 0 R 785 0 R ]
+788 0 obj
+[ 781 0 R 782 0 R 779 0 R 780 0 R ]
endobj
-783 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 248.048 509.115 272.735 520.064 ]/A << /S /GoTo /D (subsection.18.10) >> >>
+781 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 248.048 350.433 272.735 361.382 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
-784 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 288.456 509.115 300.411 520.064 ]/A << /S /GoTo /D (subsection.18.10) >> >>
+782 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 288.456 350.433 300.411 361.382 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
-785 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 107.237 148.72 119.193 ]/A << /S /GoTo /D (subsection.15.3) >> >>
+779 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.883 75.964 226.108 87.584 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-789 0 obj
-<< /D [ 787 0 R /XYZ 78.37 808.885 null ] >>
+780 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.163 75.964 249.62 87.584 ]/A << /S /GoTo /D (section.9) >> >>
+endobj
+786 0 obj
+<< /D [ 784 0 R /XYZ 78.37 808.885 null ] >>
endobj
269 0 obj
-<< /D [ 787 0 R /XYZ 79.37 496.156 null ] >>
+<< /D [ 784 0 R /XYZ 79.37 337.475 null ] >>
endobj
273 0 obj
-<< /D [ 787 0 R /XYZ 79.37 403.681 null ] >>
+<< /D [ 784 0 R /XYZ 79.37 244.999 null ] >>
endobj
-786 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F25 379 0 R /F19 383 0 R /F16 386 0 R /F56 388 0 R /F66 392 0 R /F55 387 0 R /F69 406 0 R >> /ProcSet [ /PDF /Text ] >>
+783 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F19 383 0 R /F25 379 0 R /F16 386 0 R /F58 390 0 R /F65 392 0 R /F55 387 0 R /F49 394 0 R /F48 395 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-795 0 obj
-<< /Filter /FlateDecode /Length 6970 >>
-stream
-x]KWea~
- L.8a/GsZko$ 7\;ޅR% @s VM@⎄!+!8{1|uE32'U)H=%Nڒd
-cKRRVdl
-1V[<6R<"%{c3=S%Y'}\¾V{E8$yY SaG<hMɳp\ !q(R#]Ցˢ0sx~Qܹۑˢ)^`6Bxᒙ,EKVRS<˒9Vb)T4ϑQn%@Zndkαrx{#%KdsȥQ}nqvQ(ʦx;]}Q>߿k7
-_މ'ֆ1<,-xӄz/O|ʼnٗOCclՏ7Xyg9tRӦ3nv<5[4c[K}(Pס
-m]\ec_#.Ɨ7u160O ;X-> |( ŏG5>|B;?yt)lTM#l<
-篓Xo`cMy\72
-vSTkSB5P]E|SUOǨ:yU':s:wU~C?F)fn T W`U
-R"aIJڒ=& ٪
-cKRRVdl)DpL<؊s)5R~aTK:˘`@*ȭg:^м\.!Hzڬ q#deQ
-%Kb)-a^#&WQu՞{UI4FNIC|/<o?N{W0n~lqZ!mH຾n_w `awE
-B6$#AWN̷`Ţ %r&76ny#݆dd!~ٙo d<)[11ܐ.3? 9oj7g?3iӿZ Uvr~g>#Q+ɔ'Ya)Ϲ'#9 Nc?+"Њ
- l M2KSᛶdh6lUV5I*f.t%*HUUY Vt[X3ě_Fbinܙ*<"XvLs:{4*jQ]h. [R Ca5ѪAeV K֬ +_;/_Kش5ܫ;R2^6ԩtfOVv6~Q#p,آ6-]( BKZfr{fWظ|cx5Gg5o +tցRvә9MDuޥ3srS@Ijc#fƊY+jh"ն0֓)C#h[[Xp#XZ/G&U?!U,2"`)97/!]FDꊸůJ5wu"nV`91_J~?%vn,$ҎBºEkK5,[ hJʐf0*CFAeH L1=i3)Qh5PƃVQxʉ(I-^U"# !H޻&GR|1J.JIC[ IB<ؒ䱁)c#[`Jvrcx)cR*-H)kߡXebu"wi!ʠIncb &6,1ҿq nðb !."`<B`9b7U%P`N)T:A`Mie`u_
-緋u4Oߴ~99d_+W6҅sA:g-Ws7+ W!BRK(D:Z/@%[Fl4ўA ?>RsYA&4yhE$VDU_JU # kĽn4Z +648VP2^TTE
-aQ=7*փo@jzT;؝)M*^MmxS`$\ep;E;mJaum$X*~1FD؋ ,ggK{f16r#^*OJi[ݍ3YvHUY[=^2s98a7ĹCD/#GRuNyo3c<9WUpl-
-%] e(!3r@ERʶERUA?K~"Wij&>.>0 %kߝfpWQ1`o_0pN۾a^8+/cL"!;a]U( _:qGשalqvmcuCv E(Ҏp%\':w_b?7Xj"im KN Se2sIK4_P`+8Vpkl&Q_T">E H<E)zhKkUǖ$ Hْ=&(Eǖ$ HkbN0SPc5`gD.NX 1Edg\V_˺
- tw3GElg#-7F.KIs\Dw~hYCwp~YCn "3vM|'F3
- т)vڱZlQjg "AR}2CSe$vs@%NE2K39BirxWN Fz-M hNNE>K#@UБ!j$ϡ#r
-2"x"$U^>5?<2iN +svKH_Z+o\~8l Y{Lyſ"'W`Cآ[';9ȎGi5ީL;ӛ?k^ytn<za75?a#w`^qН
-69Ub'.gsAGO;C.7w{%`7z :.ڣB"1s/3tӣ`[dXs-ڜkn9v΂s0v)&퇮ϔX|НOt[ VgڤD+{u%7_G;"HqBB
-A)B\BVO>çZ۶wuZž{c)#!we$dS!)B7ܭh|p\bsv`4W'hݪ,_Pz*tZ |11~B/ z6lKe^8r
-{Y%#\Ɇz@#VWd0+ 1
+793 0 obj
+<< /Filter /FlateDecode /Length 6829 >>
+stream
+x]K$ϯE~
+[\j>T5t E_oIRr,
+'n_AF8_` **U[o/mLMX+p(⭻&.@E ܍P:lnj 56 ..d쨛H.xBHhSm2To P脁Ob'X+QCź 9vi-UI|*.VF?߰
+dg'_RPq-L^UѰ&C8MHIK.-VL^L%w,TGi0A ғ214yI;*:G "T#H*w/ b
+lg@.cqH4. ic[)*L6N ‰KhKfm6r!٣a ٜ t:CG2 _XcPI LI)_d(:]Il·J j٘#JwR44T26I%VMvh
+Jkz%'gd=QN@6+< bȨhA
+wܲaŤGÎR&m|aJ &M,d*[ٗ1)Y,Ϲ-+YN2eyr)gia͕,c.U9WN f~r2ezɕlzNSө34b^w#Kks :ޅ(wݿ.5=ҋԀW0rXQ_FK_cv&}s5]!Ld8џ!d2??
+Pa=Ќs 9&4P6$^iWWS] 3fWC!x>](muxnƈwf^x^7 3h"=6XP煻xY3=S%@jͶR1O]9ΙtlZƞac؜K9Z؜1g}793
+s'bSZ(b-%b3Zrzr8s"V;Bh)ђ#jva1-k-<EB ?۩
+>\Bd|ۚ#K5dU7^XyZ+*_$,6٢BVewx|,Vb.-`[X鰬חC:x^`" +j-by{UhsB4 oGz:* V h5v@֕rxOA9f Uts;U< [3]>W!qWB9aV5{ZBZMj!/9bn+̝Miuh#f>#V;Bh)ђ#jj0>jjOV[\:N-VHMlVIӅ\
+O=\&Qq(@,]̪̪ĬRTUJs*6$e
+Jr `S|dJ?
+8zXN*6f[ *ZԨ,^:Qo
+E3Lp'Cv&OSexM)z.?Cv"92a
+ى)x$74 X/&Teڍd'zw|KMjAPx5ZKԷ\
+s'bSZ(b-%b3Zrz䈅3XaDlJ EDlFKXCvYA;#I2 t
+;%alg2gt$dܙ"Z9|'fex'$eIrߙQ|'f%''bA<)[."<S3?ČCxr 3Iy+{>xB=̱vڳw(ixX+xrkCA.xrQI~bHs2\t!q~6XBy!܉ryE B<W,=ASfO%أ)ю,y`c#kwO[{Κc Yst!:]G;2"=o9?Ru6 vv)3`Su)T*rva3v`Tg:Tgb:1>3zsPЌڑO1Q3I#¦)]TgfѢ:Au#r P5:9w()J9wN%ECT6;w*)~<)]t:t&/ ŀ@#,bx`O_J-SVk3*f"r9f#F80Ve|k N*EVW9AQ:z7
+N|,!'=7񕫣C9$A0ƶ
+i ITт
+X4 z)1kARrIᪧNgHњ1&@k?6F35.E}ZPtZM-B;u :Z7CEī+ù]}?ܵ
endstream
endobj
-794 0 obj
-<< /Type /Page /Contents 795 0 R /Resources 793 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 797 0 R >>
+792 0 obj
+<< /Type /Page /Contents 793 0 R /Resources 791 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 787 0 R /Annots 795 0 R >>
endobj
-797 0 obj
-[ 792 0 R ]
+795 0 obj
+[ 789 0 R 790 0 R ]
endobj
-792 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.907 101.046 486.364 112.731 ]/A << /S /GoTo /D (section.9) >> >>
+789 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 617.317 148.72 629.272 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
-796 0 obj
-<< /D [ 794 0 R /XYZ 78.37 808.885 null ] >>
+790 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.907 95.653 486.364 107.338 ]/A << /S /GoTo /D (section.9) >> >>
+endobj
+794 0 obj
+<< /D [ 792 0 R /XYZ 78.37 808.885 null ] >>
endobj
277 0 obj
-<< /D [ 794 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 792 0 R /XYZ 79.37 599.397 null ] >>
endobj
-793 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F56 388 0 R /F58 390 0 R /F25 379 0 R /F19 383 0 R /F16 386 0 R /F66 392 0 R /F38 373 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+791 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F68 406 0 R /F15 385 0 R /F55 387 0 R /F58 390 0 R /F25 379 0 R /F19 383 0 R /F16 386 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-801 0 obj
-<< /Filter /FlateDecode /Length 5607 >>
-stream
-x]K$7r ~
-@:]ܦ t)ӛ? Eze9g/Dó7436*AͼvF]s58'1@|!~{ӹۇ'i;u<[A|⤫u
-axGHla=ԅm+S6M_ij$[5ѡi^Y2Rv\t;u٦KESg(R:v/Cq=mPҡN@-'<P
-R:h|hH?rAh!N]1&8 "J$|aPX]Oj(v}{ÃCt(x3g.k#c2e"X. ؄KFL (/NZHh`5<^wKvo`%& 腃WnV"~GX;&NL`3Sle-d P'Go>Y_?%}D_jX;n T<&*&c-U0if AR&YJ`4Cᳶo?v
-k
-$%I~Bf VaJw;J1ҔQ[I:Ԕ8tByz/hmt5յNPoh,OKB]Č?E`5cu[{L&'Ա,;^m엍) N}Or7Z^DB%+1rtyvy# k1~[6]yĈK5
-)[SJD&k(vԔ*0Dϕsk{ՅRZ<S`
-(%5*ֶ$mbk^x-Oqvk56=rW3R5?>(~&WO.+3^*wZfȧ<ɣ 6Pt*<cS_f&-y`M.>ux1jr ~Y{rO2Vc鹹F 8U7a<p8|U'zzx_bu.“G]_F-SX{Q'1#oOv|= YXj:pĵab%ks`_i5+}gl&,@;VhqIVH=gw<gkOel[E:mƇhIVɰ9־}~0KkhBjMF_W~k'?HJ1?{5k8RC#W3*~A)RuDFsy/-
-m}hs8 U*qhb
-whZ7i[Ym֖ȧ-s~]
-yЯg(k{Cn=KsnlK.֏M'&lԫ7/[^ll&W!G("&O6uY;v f^bvȭw17~n=a7ѭvC~|b6%fs~h_?d4S
-6DZ\B_tPY 5Ҫ]\?d1+!tq* !tq
-Zk
-}G^U<4!*y!jCTC
- .a̚SבG5U-ЏJZU<Դ@?*xL?MGK]G^C sHqCci:.p^`̡XY%_[sסW8}ġX]OskCWb=!#)X6u1FsH9`yCR! U
-AB絑 خKe.+}GCqwV/;Գ; ?B|ɽ6F %k?Zim$/Q?]ÿ}#~ǏVĤaڕ I&,0pmԔYUn=djJ=^ KoAimqŌjڂ _sE
-:Q](u?TjHo>bҢ}q$fzsYz1/p%JPY5*#DS.K`|xrT_aE5_9z
-^nW.EvrB)x.lx\Ycm[3 ,;gvbg!dcwʁZTăѶR$˘KJljM\tsrXc,E݇>u֧\ݯ&ncXi^UòE[o7W^7ȇ~K%#g]mZa:f+1_/[`Ex^N*^NQi gk"xBJtĮ.%?|,LDU?~Ga/{)ľ n`>}Cr"ov>@.l2~/.J\ :\)v}KCR[wNv5#Iia-$:d3ҁ'q$Q[kLJ ;!"XfXo[9rhh* T˿37.Њ"Lw;볆nmh6 1Xo::.5dd_쏐۹?ٕR5us[1:XƙUzit#Y0ΐTElNO
-*$^\^>SvoX+qKK/Z5{"^p>&{YVD!B 7qIwؽ&HA "
+799 0 obj
+<< /Filter /FlateDecode /Length 5255 >>
+stream
+x]K7ȣ}(WX-mv Z1`?7d2YQAVwU1"dFF゗8~g)/~~ ^Ȣ bjQ ,G)Ř7n}1y]QcÏ49&4dݛx={2Jd>]7-Ab?YHU
+XϬ3ڍ{n28P=E ns)!s~Ccd_:khG2Zh?-9)'"e;[7YZoAh,.x0VݧjT3s$oV;6q:FW<?̳2rʙe VV&}b?ߥS̛ODlV[tOO-k Qq먜˹ZΌf;n'Mz4""ah0s"b,ҳ<nUy'9&8{vӄ}r<+sl-LVc vi@ Y$06!
+ى#ehB{2O;֑Z# :B$~R`O
+k@v|(*OŠ'OkGxϼ i$:9[.7vMk{Iļ= y
+4y NtMQC82 s 80RJx"ӧ_~qa1$: ZpFDa*
+iC&a
+)q =p*F:Ŕ6\CxhW/GRacW
+=z-hfy;3Aj> ƥ;J\v5(VAEgH8iB,ىL![ :qݵsƦOk
+p~=6ϼz1{o1|~Jj7 og`G+7ڙvՐdsՍ w hdk Ov2pN9%U[ >qѭ:H{N9HŠ?b?2 E(p{
+a?V鏧d:PId %W…se$LEx#z8ӰŸtqy98hɎߗLs&gX^.dH_ĵĵ!kGi<}wXwoyalXHMI瞉9GԘp/~gןN4~,;#e{^4㶔;ۃ!j ۂ5w<>vgk(Iڿ#e02`Jj8nD ͐8eʜܑ vjQXBA~IOi csj` {ܴ
+Ig+Vwi5Z7Nw1Ϥmw yk'R-wWOs%vYk)65qɌ <Z0M`cxgs\8{Յas3wfs&._qW@B3N >7%"S+H Q䌀PWBtdz)2i9#DD)XE9\40C0'Gꂸ5AH9dbRJ>֜@}$%!&0l,D!VH?%%F)1=0
+FEP[ZΆo7բ2exCkT-,wV2KfeZ5֢@עdy\2J\v5(ӵ({Y- :qݵ9[]X8|u(<Nsg)@5)mt>gQR։flM
+v;f l
+{
+ćuP(L
+ "~xYVSo„|zh;I&%Xj!Ze-K Rf̬.&@vHmiV ?,ݭ Ȋ; k+L !҃ZgF%E'TFirPyg倫>X; N!HJ]cJgp1p/CZc=@3iqf)Mm6kxdowU5 ɲӖ2V7産Tę<+J+.[(h47g`?pMd3@aGkOR*MXkH|vވR_lt0F
+rwڕn0wp:F*9k:aE-ݭZ]XcyG(u@B]k,@-D񧭿0[߬6°?d>ϗ?v6Vҹo]_^Xo ^g> cMsGré&5K½\wOHaT)Pq)6qg[ғ~Z1}/>{CS.Οx m盻N/h%馪TՏu|i_o+?g7xNl8d1HLOmP$>GS{>́>o_Ij4fKg^̚kr}>Gߧy̫ZE~o\
+E>N~:bULTzX6f,pu¹~knnZ5o񑴌s݋)Zϯ+Zщ42D0Iks`Թ/BV+Uā_'bY<,>B_/ 10~NJ948~{)#d_S ٱڌOђ8asw
+3&~y[.U{5߾!\[{5!.Qޫ_SEx(Gby5,ѧ3P׈X,~I19NkZXWPe䱹K1?: XZl#Ifo/þk.YnJ.E1j'kd. X]?n
+M -M '&ma8?6_ אz qD?3_ L
+%
+^lZ+v*m;CiLh49NT0xPp#!{pY6$Tx$ +(hKIB,11a rlx P6BʐEBy/bv0Y;zN {Ȅjt.yyϧAC^G?LɁ$8u(oϏo6PIߗ<w%4";M|b5i.Txw ] 9Lrp0;sW5^ p8-6
endstream
endobj
-800 0 obj
-<< /Type /Page /Contents 801 0 R /Resources 799 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 803 0 R >>
-endobj
-803 0 obj
-[ 798 0 R ]
-endobj
798 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 480.406 604.2 492.361 616.155 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+<< /Type /Page /Contents 799 0 R /Resources 797 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 787 0 R /Annots 801 0 R >>
endobj
-802 0 obj
-<< /D [ 800 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-281 0 obj
-<< /D [ 800 0 R /XYZ 79.37 199.572 null ] >>
+801 0 obj
+[ 796 0 R ]
endobj
-799 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F38 373 0 R /F19 383 0 R /F17 384 0 R /F22 408 0 R /F16 386 0 R /F20 380 0 R /F23 653 0 R /F69 406 0 R /F55 387 0 R /F66 392 0 R >> /ProcSet [ /PDF /Text ] >>
+796 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 480.406 444.023 492.361 455.978 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-807 0 obj
-<< /Filter /FlateDecode /Length 6309 >>
-stream
-x]KqWe8@AJK;'A*}X;[Ud},.~ ?WE\L:uqN0./o~
-Nd)˵gv*jsiEr|*\Y 6Cvw %
-gj
-VL!:nIkU9A`=te TAnŖ9>920PC1V,ڎ6!EK
-e0ōZkXҊH%ʩ35Y %nwz9U.0/`Z@HkqgfK䙺-"O bע 4o<(@*QHh>y/02KYh&CLa=ՊeĝKa {Ҋ@J>$Xɲ"Ql{
-Hh)GNp!5
-F֙"kn[+6b
-̀po1
-.ɲSXK!p lV[>RҬC#qԕLt3Qe}LTK&/*왉y.&:LGñDRh;a
-gqyn̿}]d+g?]HU
-hZ\1B3<I-MQ(<SQ0akoפgUrA0n
-R7O_ >A@3N_mjb0r%.4'aYR>sLIa| E3>R(YQOI;mļ6ʁ6Pׄ6RVc7N 6K`+M{b_W;K}&=PGLvD[g*A7X.>%'A=|JMnfVB/*Tϫ`}^l?ca?" G^4!B^9p9i7ǩ:\4hNˬ1hcxk2(m$D̍6sйYX+Bg+O*sxk,cyPjɃV0p=<F(I;)FmXN 'nSQ0!K-NԆu(Xf$K?)>0 S}!5'ڨr= 4]I!:Fi2M*tJ5tNYOc-:n<Mu]sZ ,´g$JCoB`҄^'Oc#~^~ 6*{Wv^ULöSٖѝm`uT~.ε7q?mݛz۸מ=(3Qo۳g;eûSyU:gw,m3[]GwQvsŬf Uɏv/BhK]s&?pSy)-0;R3[xĢ|ns-BnG(gaA^Ym~bnx77<KlLwü9=q
-&jaξ1&Aam[xֲˢy̛Rҥ=ce7gk)/7c<~)އ1,:얖ھK4~t{W+$a{CM@r`C0TdI&&9Uۭ0`ƥE9O\$Ob,4 0L^C{ҁƜD=}O`a¥e
-41&RLd4*ll9-
-bD̈́ҫz%keK\\m'keȃ[jۉZ ^vy-dyƯ]}fX Ys0VLF#߈nzV{2Vg{{I%2tA=MlJW81?H!ERr~[i3HГFG:``vI'AWLA2hѤ;^`WGΔo"%eM7y>d?ƥ{YaR2+ Su (CIv{Rdkh,IҧH`‹'J;fyɛ'ksA `% +w/5
->F&(D%).?-yc}`Nߑ)Ch>" ;xWUYu\87ֹEℌMt9KL@O^b68I0z 0ۖ2ӑCiPΙaޙ[V]‡>LVA% }<6$BŰ+6 }e1V1׋bBM|l3G{\;kقSp<ߥJAx'NOF
-t]ce_0+§C gC %Cgʇy1B%?h!?}in~=o< niw˯`'fh̓(-mFP56'u[3֝"6'S77V^O}BZ&F9l*O?}kR;-ZS_!xG ކ/7l#b- ZZO$&vQMJGyt|?h۷;bmWHSp#K#Jkڶ}߼|sitӬzwmHN'oC8B|y#W4jE*KܓM<txBbCoGise:dd} 
- $^1HC|!`ws\366,%?{`f_p
-B|-vv!o-LLH
-Tܿ%8-\g8.UST//z:uKWWOߵE2wZ~ Q;|_b* ;?rԢ+Uyޅ1%R~G/frKͫM3yΗ
-L ^̩Oԭ2:]_4a0fcf">1b&^?T[S>Sw3?_̩OԝpgvN?3wiܦ2Vn>]eX`J+uX6Cmݚဤٚ'i6w̚p .a,~o#y|bdR}Xwms_pOiM21^3g^K}b-x=*/*Hs `Jz
-A
-endstream
+800 0 obj
+<< /D [ 798 0 R /XYZ 78.37 808.885 null ] >>
endobj
-806 0 obj
-<< /Type /Page /Contents 807 0 R /Resources 805 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 810 0 R >>
+797 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F65 392 0 R /F15 385 0 R /F56 388 0 R /F38 373 0 R /F19 383 0 R /F17 384 0 R /F22 408 0 R /F16 386 0 R /F20 380 0 R /F23 652 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-810 0 obj
-[ 804 0 R ]
+805 0 obj
+<< /Filter /FlateDecode /Length 6072 >>
+stream
+x]IoW1q/!DHNN| r22e`rOw!KX,w;~t c);Ѕ-a-,@
+ G?s^1E50ga'Ȇ'
+׆ 㽧ϙ x
+U2 c|ʤI4A,:3S#Ns-pJJCTE@enPQ>GOJPD9ݗ0%PNYA:wFά"J>gs\ 6쇬J hefH(~*a7:}SS礔)%"Qwna((5Y7R/Tc3YLϣŋhIU5i'ڪ8VEp=hDDI CTRoUɦl[2r$%4.'s#c L 2h[K=r^vr10 Y.#V3KFCY;86TEbt^d@2m* iiqug}fkj=-7O7OuUz+R }UR[SAAjK/~.}㳤MvO &5_,C>WŜ('U{uV!޸-J;lπaTTxӶl& -dKm
+:=AG}"x>0E(KO?~H[hl39AiTǝBn(D(e8bJۓ~VuC^5!}!v@ &#X/X1X5 iP kع5{ױ FuC~{N/ p)fG"}%k5/C͘MUq$
+uJldWQlRq߆E@/vՆ'X鍮2 7aJ/klpJԃ3r3
+ȫ&"RѕnY~݅s;0JdMjI4qHІsk,ϱ/+YJM|xCu q%l4iT
+J|v(S箯/͉Fh]@1%6KzR#yù(u,76-.}$)a<B&i9X|^7S
+He_89]9i' *B|
+@WtDY3mb F0D>i%<5iÄ& 5Guq;+-V/"ZiHٯ4Fj}7H"1
+4&C/S
+%!RW/'T3K[ªRTNxzZ%z^s9k%[O;FeZd
+0j,sZ*=dTK%nɺ0kSRi?
+0qw  .a>SFUib,
+!&P\RnU;d˫RB*22DJV'0ں̔Yl._r[)t˛*Q WTK؎0fv,5'dڳZnNI?=48" \[Ƞᣣ\CJ$],%>WB\(7*U"cIH*3aۺ؜9HUDȼ
+M,:;ى70Q 0dLh$ODiE,Nj;
+3UvXn2>}Ydϰ,k$*q1B=<Ib5M&(#yF)܄1v1^E׋8@\{_C XqYlv ۴3,iviV|j8<F9+
+E>lBies4i z2tX+8KAL
+Pkj
+;rΊ+FKuV]1d)=+~䮘%@ 8/(ɝrJ
+MMGtzіo\g :t8hk-޻mOےTbӾݐDY:C ϹFQig{%
+^ S~MQ#RxD򹎰>GpB鷸FGɈ}
+!j
+!j>8C#9RQ#`aı-ESbz[l䓢fH>z|cFLu=-_< @$ z3Q
+s;>3geN%gR_@`Y5^'~5粎Y*B}ai[XCiNy & b15y =Pݵ 4][xRnH[qGWJ A"GE#U!
+" r鴘x[L`~7z0kT\?UX4)1iվ *o"^aevHekPo\:V]#yS`M"K{XAzp2mO\ _NZ-o0>ݓT=,Oi+0Ni(҉
+
+{l7| \jfoV\m~Ϥ/glV6V6W68V.|@F.1)-=ey81ʪg&N ĉrzgG7&.W(>pfe^4}aͪJz1b6>bGZ Vq>XlʏE"?ZpvV v0Lw&.#qg_b( B^Ppgl3!  ! *x)H!w;-6/N;ʲc#B⃯}U%5bl="IcԭU'"`|iخxY i>hӐ6]y<0Vbz*p\ћ#{TXﶝ>Øb ok߅qt}Ff] WAC6젒Pg_!2W/5ppLοt| ޅCik0ZnjXO0?1}/
+endstream
endobj
804 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 422.205 217.586 434.16 228.426 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+<< /Type /Page /Contents 805 0 R /Resources 803 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 787 0 R /Annots 808 0 R >>
endobj
808 0 obj
-<< /D [ 806 0 R /XYZ 78.37 808.885 null ] >>
+[ 802 0 R ]
+endobj
+802 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 422.205 95.352 434.16 106.192 ]/A << /S /GoTo /D (subsection.12.2) >> >>
+endobj
+806 0 obj
+<< /D [ 804 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+281 0 obj
+<< /D [ 804 0 R /XYZ 79.37 771.024 null ] >>
endobj
285 0 obj
-<< /D [ 806 0 R /XYZ 79.37 251.818 null ] >>
+<< /D [ 804 0 R /XYZ 79.37 129.584 null ] >>
endobj
-805 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F80 809 0 R /F55 387 0 R /F67 393 0 R /F56 388 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F69 406 0 R /F78 478 0 R >> /ProcSet [ /PDF /Text ] >>
+803 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F55 387 0 R /F19 383 0 R /F56 388 0 R /F65 392 0 R /F16 386 0 R /F80 807 0 R /F66 393 0 R /F25 379 0 R /F78 478 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-814 0 obj
-<< /Filter /FlateDecode /Length 3540 >>
-stream
-xˎ7>_Q?ЊDm {Ʒ &H.KJ^#ɡ*&\~]IN/O\\8X\~6㳔tO_(^(j$-Q.[G<"<闔^9mBg BDw7e(g6VhYr[RkڙAb?wq&\Ai[y  e׌Kt3oiWA`Œh% VeZ}lsuW.Vduυ2?_gVx<d~d\OG& [dE<!hs/N4”5D:؞OFIMAD媐 CSff0|T5v}]F)Kix?u}<1`?f3\?bX#zN1+Ud4[2#,# RW<kt,FCX;2b=bp*y#2"_(N65xδJ,GNJN6ӕ Gq 2=MS7vDpjf,^;*n®nwcmEyWw9Vd6 ۱cC6BݲW|3 3YMCS%9}vt=zwkBή_c30cm+MP.(ͬG}x\
-/l2vnFn˧ڲхVlmZ?ɭm}f CTbMu4hnv:Ze3fw* \cjj55^MR 6UoګpTý!vzo,*ĕC^& U4*aV7W.Ǡ;Դ/*<p/6M-^:
-zƚ U&(9fY OA6OS2${ش=oQ:+(;;\(;g<,5?06P1tf߽Vpe
-~[L}z誵Lu^|xm֣OO[u7й)Ooqݿˉ_paw'>Oo; u᝕8AG֝%{$y][\dr4J!nş-2Gk 21nsw^mpQ?=ik/zaCCA4;=sJ_BkwbZp`BkpNs?&wT@sʞr
-=`#j&tGnl{}*Xs-d v] ]JA|sJ&;>J '<CkB5޶{M 0ɴH*pެ9Xv큸4"8s?tݎ9c Ft@X?KN;<Vfuڽ?~i
-+ק$h䯎.[ׅ9闋VeM |X>?Ms?/)4yOMHtϳ3~kTS^n2>aC1+y$-ɵj .֡_{闥
-*u} V}λkhcQZ{￵U'`? UweK7S\ȃsI
- )rԚa;LlWA'+3;=n`
-xQn] e7UsDoA&J09͕ =1eLw1y6BپH1At,7|bxMb,\6-u2)IoJrGӁ<=CQ=0bӎ= ɘ8KP*<&O&SV2RN-̓Qu[ {0:hCTxV dw.u^PzZSIZtl*:&=WV{ ޸y}Ԏ7!c=X~  ?/iQ\b>Zߖ>wÃ0N4R0q{ކ3S&-[g~xގljW&
-R~}v.\Ƿ ᾿+=΄OHC9[nG7;
-dgޘ:o1g*4XKYI<|u9[75hhGr7&_V9!}IBآE|r+s<+[?Gf~Ӛ= IOHC= ɐѕHd F
-@,b(wub"JSo +_Ǘwq %YF"9v6I[ 
+812 0 obj
+<< /Filter /FlateDecode /Length 3887 >>
+stream
+xˎ$>_Qв`09,7Ǘ8N#R*Uuk ۳]EQ|w _xgWaV/}/bq)8+byas9WWȧ F</20/3B:gΝo88Qd,8-=!c*gRK\r#9pGF*ƈ79BnI78N1IQY ~
+ė_~^r7l)TZzS }KrWu`C:ܰ%atj%_D#T" D(I+ԀAJ0TA ta"=xDֿGm9ZDhRE06!q؄#]qL̟_ml<˕FU^H2VL˯ :2:p:^Xm*h@MX '_&/ ayZ6}9-+]~=ġ0RdlϮr>RYf, 0o߷N b?xI9oHq<
+9@
+ ;2-Ž-u^ap&0a dNJs A #U7"a(t~Ͱs^vйa'rzX َ4z򷳝Ntr;nmi^(r{!xmZ_|^)R cO~G b1 P,i% 3sc'C0Ky
+t6o0nD5B՜8ʽHK=ܛ,c1Y,άRwjֺy67XXZz&'u0@/'3A;O,'%)Ó0w.&>s̫0og&Vs:u6}W];Ǽ@qOT3S3Ҋ Ǔ<SsMB>z56X5UO+<]w* J3u$Ce{<A|x>&)/sf @΂Sవ[1蓒󮀵Io&Y@V:'޸xk&!|m̾=j1 M&Q 5;ġ9<$|͟U
+t-VnC&v,7e%F!^6mEMjnڜF]SƦ-aZD7T(WFzI-ICHz>9eZUQ&+e`o8 =c%yfi}{&\u}7N85 z:;5vETG<T*ure񽒍ek}?ž&Ig6Bo^Q j+|'y~OlY&e!n
+V<Jʴ(]J]L7Aڶo*okE;O{zZd5df=6.k\ BqL|dI+S6yUn +Q>.~2sCnO4nu,
+K3'_WsU3 7+M3JS6y4krB[ocMKˣ'p4l?d۽96+
+:(ԗ>^%Ǧl=3gIU0h\A ҸR9
+M]@JXY瑼ހǽU!O5}߆DaDfŽs7
+2(Bۈ>$uieY5K 4Mnt+MXж\Qb&č% Fl“QĈƓ\$Hi&* _{Vi+u](o1 q`WLb@Vi=qg4 mŏ"/R.C1K#%={R3#5RNd[*^>ѝחIQ&+oCdu%dYluao,C\28&}EB^ nȀ-UVu*(TGJz,0INkXu'7vyUՠʄͬx43y$7zˌ6emfٸGq&ӭy*HKF&`\
+Se
+nhk3$e\4ur-^Ĵ)4KQPoh_ MD7)`%2~Nyr$D2 Tx!n-c5:FC_ЖŃ{}Mw20K<ݘvKSdLHL圦zj6!%hn[WNz^3/ͳ5o_GL2prr5":Kk1.ZaTh"0JnOT]/ ވ-*A+ƃ>J$^Wf(Y_(׿GQi'/[cBKuS4@@'XnK$U꫐&gwƢb/o2i
+/U?@쀭a/zx:2A暽D=:U:.`A.PIQ"y*殭+RR2CCS_sG?x>߾X^ rlgqf>eX.w{p0S]^#AZ: K*㥤5u(~7ijtk^y豿-o<-Hyħ+O 4D^:y|$%(-r|׀ , ^L($XF,4mCᥖ\U!LJ/$mK
+dL
endstream
endobj
-813 0 obj
-<< /Type /Page /Contents 814 0 R /Resources 812 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 816 0 R >>
+811 0 obj
+<< /Type /Page /Contents 812 0 R /Resources 810 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 787 0 R /Annots 814 0 R >>
endobj
-816 0 obj
-[ 811 0 R ]
+814 0 obj
+[ 809 0 R ]
endobj
-811 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 436.381 260.195 448.337 272.15 ]/A << /S /GoTo /D (subsection.14.7) >> >>
+809 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 436.381 112.733 448.337 124.688 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
-815 0 obj
-<< /D [ 813 0 R /XYZ 78.37 808.885 null ] >>
+813 0 obj
+<< /D [ 811 0 R /XYZ 78.37 808.885 null ] >>
endobj
289 0 obj
-<< /D [ 813 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 811 0 R /XYZ 79.37 624.557 null ] >>
endobj
-812 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F58 390 0 R /F56 388 0 R /F57 389 0 R /F65 391 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+810 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F78 478 0 R /F56 388 0 R /F25 379 0 R /F16 386 0 R /F68 406 0 R /F55 387 0 R /F58 390 0 R /F57 389 0 R /F64 391 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-822 0 obj
-<< /Filter /FlateDecode /Length 12544 >>
-stream
-x}K$7]"Xd4@[XJIsɁv]-Чkf4ճn?^F?/_/>]c*˯yKX/5ko޹+ӿS{ׯРO=#4 ǟ8>?œ?K[!/{@fKJn(XeXAJh?POc6OC!W^ݿyd"|ވ?OR5|ޣ &9@v'|ųqĢp {d]snɣ3-H6N=\y<p>t!ap?]1z TJ&lq=kR Ϸ/l O
-8/K=5f4Qɬ(ӬC.ˤ% эz4f_I\-az~_ dNnCj/k
-X\ <l|lB)3vX|Ex K7
-V#?oi=\x? C$!̲%;lY{;!V!*d"Tѿtk/p;#ܟN0הq
-,Lg `\[iqFo_š?m^
-}Ғhz(=n""]D>*'km?ɓ6yiGl*,O&Z?蔠p#]}iO&z,.={=6/>734ǥ {@[I/ 6v*ޫk뗒shm[1[{-o5A #1޿RKu}?!u>G0}L7|M7>HM%ѪA+~Qk$ZJ/p81xHk+-am뽦UfaN4&.Fzmx<S9AB5N
-)4 Hie,#^@_!U]h6%"!==C]S۱:I\om鰂j3]ev
-r@6b܀չ.C+Fs3PvUYz*]F)ؚET"W-I}qmI R_ &I%M!K6!_Z3{3 ☰@jO4ElZو5olT)2,r ǪvXm:byUY1!܈,ÊBGI NX TᄖA ר](lb4Z+ВEp'ٹ@N׭b3 䚙ru)&(+s=Y;zDF
-w<'Kw\bQ1"P1c"Te<mNJjq
-
-8r&` iOn6R1g(d:;U<)O
-]n;c\:̔iW3;hgp/g*5ScjJ H.Z,W_"@KgFI,ub/XNtX 4rӉsmpܳ*pSA;+1JMy:k9
->n1| xvu{^J
-IUdm*!Qކ
-D!TɌDs`\"ZBôm|6͕6"(Ncȫ 譪0mtW(^N+eUPPm{Bv7wx/%$,g; 1{D{m|\T*1*arՇź`ܜTI(<-YZMB`6/-A~*=@Qܟ;<eɧFc71--FEkxd4BtfVr
-נ%GVbϳ`NA \iXm@5 F5EҢb87&LWT# zp4rv Zn؀f:~ *24 >I22"Ԉ|!RAǖx} s|BtHI=F3aJ65<bkճG- "øf'1DR
-a`&G&6qHy(lU b
-XB4C>Vedd$ֲg,Lc'(TF2@Z
-HZvmVA[qڰ6|݉aЈ8D!`=h&ZH¯ƅXpEh6G|y`г̤"堆a<20*aŇź`l]UǮ'7ʯ|
-fMؠA O7>a n3qx´Uga2Z
->A{]%;jۃ&¸[}(b! gEKn!֬FMj inѨڵY9jۢջ3GзQ '^=kƽK\bWҪVLr&Lu]r3Sj;DY@T[r4
-rVT=&CRIQI1x[ꖞq¶ɜUfҀ%37C|pZlKİ#q=-3 rxtcq݅٪3ID5NvL JzL0,z >`FԘu.x/>5=f3`>Qg M3U7V6=
-0T!^)}L0&_>$|%ouk;^{9;YdfTOKf?+G!-NgJ.ʡ 3IiLt,-Tx <L zs43hT݌X̨*8PuxDڛh_gj-ۄ"6{~f j8S-fLJr4Br4Xn_ښ@sN~U6!M3Q6V63
-T!Vc1IgS|J4XK @;-
-)
-q LT4iwɍ74ޗ4d|97(̋^-HR Dt[C"m(LuQ( efF|ߝa Ɠ{v+N{ٌ(]!|STZlXS #X*^ X8Cr4շnV͘4%)]*4@| <vWU<YIaKUոɓqS5҈L>|'iÒ'v D/I* ewҢb$kTr.mFJu.T@ça|["
-3E[LָT _4SPQ}%O6&M lWe.` 0zVjmTPY+2
- iRtF$vc$xh%nY7ɆǷc~KLк6Hw},{p_$cZEr /ɓ P6ShT1pɔIS9a|˔{p|2ED6.#/5zmL3eQ) 0MFPus1͔zQҗ[D/bzpOjtE|F? 0R%C Kl"ޔkx+o
-M$k3囡NJ o|4x6b0<b,G4 oՉ;"?'|e't Gk۷K:B^oEwߕ8}Ӵ <~U?@4yui.૘ \}C(y{n cZ?|2)S9s,XзcٹwHlO6R&]J;"'aJ;"K<*\2`|cG˓$> OB$> OB$> OB$> y !Q\h򂥀oқ L<~^#)šL=n{.) KmƠ ^ˊjPI4ұr 6c]A$b#sH1^DF7|VaH5+Ye.0`⣵&|w}b&VuN&h8ACfs<9" } 0dlD3~ RyFÞпqRKU/gbe{A
-VR LLFIJOH7 $A,M k!J)GLFʕA(S*
-Z
-D!TC*J5H`"+^^ hY~e:>YkdHY1XVr :.h5t:M=mv
-D!^%JM"26"y3ՎVP@Fx4vK yu s Ti^ |emY,ggSPLcA\&/st_\VZW6Fo0~4&4pS47bH1*-6sss+TM :jc\0e?USWsυP<3 E4?R
-*Ubd[
-$4%A+8ux}$!Rs$ă^ e33饐BLW"Va[1$vDeu UFox7L`dh`
-/5@d˃.[@U7'%oZA|Ϩ3t%QU6dBԬ@73
-UF+E E
-( V#b2SH(3ӘDDjXvZw0!G1D7+)xE=WUxm1j^0ӆ hx2ŦS!&WMPzBl_Zڑ ԝG>cHmH9!a37b›75UUM4y8fyQǨd KpI{,D=  xԉt9ځ@ >զ+ת*A"70w|EUy|QcQc*=FI*رK @S$0 XK"Tdvdte-BOh06(wUGތYA,r3vV[ d!CqB4%BuP
-5pxxgf$h496a ؊{ ?m<;wA!y>;* 6h嶌,0`X[o*4kpnJS4v|zsmX4@ 2Ћ$5F2 9L%V5<#Ruv9okW ZUjI^gef60GQw(:Y'3]I/5<_DvEbb+qq報.SԈVT%WV
->3AUEo3FdnkhʔH/7\]ģNaX>0r$?>
-K.⤊j,Ƥ
-'"Z42ȇv36_?f,螤-^<I\3sql1
-
-cEPk"9W;Ŏ쾆ű9b~hv _ğ]7M;֟.Mc]K=k"*2a.J o=;X#C6yr&![/~."D - %z0>d3t3O/A1>DGKB6R^
-{"#b ;"c,&'2>yO1>yO1>yO1>yOoǘh>efR1
-Ҭ ^iRL"/R 4
-@+{~+u#
-YAor3v֒fVdGw^|ˠh#J7KK R\1$f۰2sט[LƬ o\tOLh*:MHs/5
-CCcR6ʎYjeEk0˹܉]aJ6AW }&ϹnD<ƖQca&<:XDNY鹪B'c% ٤=r2㼰Z4BY ʉx_]!aXեȰhYSDAAZ
-b(L̄őr&`
-X1^y(5ltl]R?AtA\Pu,BL!'ԉqD@(7hԦ6cZ;41CdwD Z4B壌yoRӮ>"VVH $hkD;ʐhGը@p7SA;*1hNJԸi5 x+mDPpǐWAQ\U7a2xǘu/]-;jۃLM(& {P1H|g9iHPNh/
-{D{m|\TsJ\a.7g?U(
-aʪ$^0'0 2 Ӏ`s߳|ݸ'5D9E4h-Fn|lVr
-נ}eU:A\l)N`N #bv}PM!zM"
-uGiha\XI,3h +I#'LmǠ  hc;?<v~xoc'I{Ꞵ'I{Ꞵ'I{Ꞵ'I{Ꞵ'I{Ꞵ'I{Ꞵ'yX7FvWyu«[0u6F.:"k-!(ܦYSSHp&|oy 2$͞ < >p)B^ӈD%U" qcB_S9ߘ.əb1)_8n;T>+e*7²>^N# _vaaVjva7_9ۑiW%K(ݴëwcd\ 9StM=T:
-+dyߞ4˻~hBV< 48|?5ܲ~؂qoINXi$ҸZV:"fFL΅~ _TC䱝^lfCa=YPj5{Z;-ѱ\8tNI} ayqm1k~.~S˃|`ʃHx7KU޹<]ײ®M&yw[>+6߂!?"`Rm|_{X&w5= 1BU9f>9CMBtuDƬj^{.̼fOtI2kgZq'\qGlWSGFw?D9U{yONeOM]#m>޾^PvG8]xndQ|ύ\~sxt>DVw;6X57&>sxEu(%xJHNV8(n0W R#Ydѯhp-,W^LbR\yz¥3Y
+818 0 obj
+<< /Filter /FlateDecode /Length 13146 >>
+stream
+x}K$Gޝ3*jf:#`_ffnY#w6MV}en^Ž;?|^~;p/#֗Z/s'+5hBd51\SߪV>ÿ>t= %ȅ?;2#DˍhR<RM
+6,h!?_J»ku=K›D裖wh<RJP m=輠5//ac3O/Z8уp#:J+!b*5 Z_>I8o/ty{ &fP $2}R:RŠյ7yS2ߥOO{[wg&~efZ9zwgŷ\ ffSeDsL>jhguI{3#[f>\Үp˒씥Woq&8CC$Fk^c@Gk"0֫lmDtz zG d_Wa#9ݛ߲s]k<#_t
+
+ǫg>P# bzq>e?gWU!H0ɴ}e0+ -)
+!ǷKЈHtzϺ-~Oӛ跊;iOo}ukpM:)pqZ{Tge:? 33߃%UݯnNO%]\:gzHv>CYvqsV7%jrZ2tBx!)9Ccs~Cb=| J/6-^04<@֗sK MKvL`J5VBY@+xRשuy Vr{)P"U 14K拎kK cɞlo3[Ӻ5)͝u/QYYkI|lBU;,R XGDK}]rp0쓪#HMM2-f8m ?_DFZ
+\/Vpt~JfMDZ-rY-}&8?瘟m~ Nά&I@//}CS8ܣa>\Q|?
+zXu%Cwe8hh%|@[ pX}=WZT:VUΗrİa.tT㋑s^> ?́UL= {jsCK ,pNxV,q~֜_Uy0bZJ=+wԠCU*ߥۥ%.g%۫_hEC=+ A~d?#z6@d[\9Dog&WN$e堧 @Zv~疭gL ;̝s\ɛPn;vdh0?ش<Z\犕ucy?}Ӽ謹WOw|DQXn(z7z~qǴ=td7<bE3  `lR#5 s"k<߽] s)aNm8oz` T#;0/}mG,BHlo,GT# Mu6\SﯞX}'i ~SG
+UEwᯡ>햎1\~=rˈ?^2ֶיm4n&q+e+^WT h?T=ocMw{r:XkרB0Y?R,wV!~
+-EBK*jUj&ZHtJ0pDC_ڝ}z :m.]В  #6- yM F'6٦C/SGlue9E@+"f |E;a/LmmX|𶀔}9'd,iwet_CѨ[P(( v9zJ!
+B_
+%ݗ2@5
+y;3XIAlhX ^]އ?D*x΁PA ;@i
+,Ȓ+6TM {K6*^dl_UAl.T=WE[x{*.Z KЂ[-X`FpC&FxDO7%_fhiRP=&\dJ3 UA%x{dP |9q_Q)~>4#k%I:^ϰ
+
+rmBbuML>ljY]>*4ȶLhIi`yk\^, v-$@f[ j3аn@\*p[+JZ
+xOٹ_(Pk^J.n
+fhUbb{K y}qmITR_ &I%M)K6!_Z-<4Zbf `%'Ԟو:*EE.8@跃QTeZ}:byUY1!\,ʃul) -I1Q7!P
+hPFkW%5 Nԝݳs%+b'4^ޖu57SlF<Ud\3G^\Se&b'kT53V#PuPOl]_ ?_R5;*8VuZGVu`*]ԺuFe<mNJj]NerS*>$(Ƶ ʈjTņ-Yx$ *gqy'%ˊJ@9Y&+Bcρ׮B3Su]D07.T]#9R 4rYFZs&8YAއ T)ZIY0Ѩnp
+m32eПQ-CjIpHiQi0k8æj'5c7@ Vjp8Z ׂs5»oŚwh$cz#-쥦9Aއ+U$C7C Qϱ q5!p$6Gl
+ Hglnxef saF~70Ë!!aB""<rfhƌRRdX GS.];9mu{C.5 P^Wǁv3LsEBbN4B+/F<̔ϴ+38VwcDH˶N(tCD WX帛CgFI^h^uhͽbKs֪@aNM (5YGDr'4""m.e@ܠY#ceݞp 2LrɉqDAJL֨@]vNMdD90y@sVXBôV?2 F0f yZ<᪺ \NBŨ/],;jۃPL/ڽP1^kHY^i (e'; 1{D{m\\T-1*X*ib%KVITz>0G8?wʌɧGa'1--FEkd4F<b\06nZ*\Y3HfqY0o I$ױ}PM!zѾ(biqGiha XՈAzFNBA˖ h㗱=N` 'IRF1"5/D
+)AzlH!)_h[$0%YYCӥ܄yCsa\A:
+F")00k%8o< LU b
+XB4CT+A2|22 kك5V1J* AcE
+iW ޱdUPPm{hB,ݺЯ @2n&\+ZrC;8f56ql-QtFfjfg8mVwg,& A_F%x4:kƹK<*qz\J>Zm2ə3ibvtOf%Yu,
+raWo_G9[F Ňq}f/u(:Qu3jkӣ C՝╡ $0zZnqlw/ Lf&LudFrC)Edr(
+0T)^`L"uT 4o
+@I}
+q LT4iwɍ74KXL2^ :
+UP;ܰ aNw7^Em yɓLָT _<7EPQNFd<Is<Q]U!7$'|kK>i Q))*CٺcR-tKD,і=}O6)lRrZ$IaKUոM95w\dcҔtJwk`0ՆX)-SCeIT*4I؍]$@=fk8&ݡ-Xb؄֥Acٓ"*;`;`&O
+kdr&@LSPQ}%S6&M ns4-,&e
+cۥFږwy4S
+B 6x$fo ?s+G<%؝8zXDIqV_6*xSjM3^_C~0>pG.z`hd[+]WNmnW[ەvEvE>vko
+9*ҏT![*d|\44=]T'zߟI|Ww~{owA6wA3N~e$|x xEČؑ53"bGWyB[ I$~? O'A I$~? O'Ay
+!R\hrRtS^#")[Õ~kR`ؓ[ z=EQ4u0Zz+/:` >ENdxó  HY!.ZbK :S_|w9ѧ)fBaU(4ACK2 Y^Y#C6"TI^+/(R`:4<wEܬlO 6~YAvjۢTʑ ʈ@OtBdq-i VI !v-D6h,ӭ2EQve~]IrdTIufg!wIuPW/'Zs4d|5J@@(V!e'dZFծ@\TA;ū#SIDF$sRhl\n/븰I4\e}x3`fӢA
+(-Ze4 F"t!Q^`h c\TB_WFFo0>eSZ)1ֹ¹qUU4BLhOszJUjNwpkwlv'!!qHlE"*Q12ͥH@!*Kr>,
+J`TOI6W2{
+ 7n" } zEGR%lBbU>z h$l-ѰMG;3SC¨(|yPB ;̀8HJxO 81dhXB=4z:h{[(EaHL<J;w wyէNkJⶠGYU].;Qnh8avڒaSzi*5pǖ4<i\f
+U2c4jp
+% ra^{#ȞZUl!oQGx Ϩ3t%1fmDфDԬ@73
+UF+BfP"G
+B- V#b 2 &\iQdTLcU{U60l`Bb0npg7hXR{Uկ2
+c;G1*^1ӆ \hx2ŦS)&[M0L_ZڑԝG~cHmHA!߸U \P@T*&y8fyQǨw%vx=D=ތf ù+ -u"ff 0H)'QpiJZU%Xfh‹xqcQ'TL#U{U㐲FJ@ "Q>Bk $)B̎ . E)mf"rlUG^ތYA,r3vVBqO^
+)qa!.@Z "F_p!ZAC 4rىX]SuzЭYFއ;#5#UP%1F
+1Ka쨪 &tqj30eV`ð6<כv87g QYff;d<0qc
+¸:a ɓ(]ry5-'UTcQ%O6&MH/;:/.Ag0DxcGq\(L)G@6b5Э\)+aL ƦK+Ѩ=pa]MJ`liiU{nHG߰POƔ8.]ޅӢk4NHl 3[Ѝu5-\TQ<=XS|6
+K +}
+qmӈ_/$֛G Oo7 \\ញgڨ )K4BgdRRh6[hWL C21yFCTcM+dɧѨOLL8WOKUzqݴh<Gn3!zgJO'AI$h~4? O'AI$h~4? O'AI$h~4? ~ Ϥʊ4xuN'^c4XfB<0Ȕ>\{& yCbXEZo3~@K/VŬG
+Mihwԩ*7t߰䇵M Le K~wb1Ek&-R@[)-"H#vUCmT%a.Cq폡p"қE#3 _xlc٦Ҍ#cݝ4Kxaxt_o{n pvs[iM⾭5ݦ154Kc.Gc,wͿ]ߥC { qЊK8h"rКƸ4kho
+9<l]B,HEBUH#-ߗh Bc@D>iOy |]_ HcAc //@_1kf |X_Ac8@c ,O'Ib$1~?I$O'Ib$1~?I$^0̬0qP?Fa|+ȨWZ%T+3﹤$ .r6 B7PʞuU1+ TnNZ?,Ԋȸӎ'{Y(kMnqR| &JK R\1$fUXFOJչ#1+ M묢d'F{9@YI2ޚ,rX iz@ ht CCcR6ʎYjԳq5r'4wuRT`qpUóLCwؒ7j 21SDGv1J9kȑᔕ-D=+hH%푐煊բ"/JPND
+<Z븈U<.EM.7@i͚"l
+ħh3+Sʆ=0o&`
+6c)FTبYlhA $L1+8ce{[t34gEܦHQ 3 |J#(q
+
+
+].;uu0}ZB
+Ĵwsr(5Tl]BW?rAD0(G>5
+U2c"mNJ 8i5 q-4Lkp+iDPpƐWA0e+4.NB˲*(Q=XbjB1YGCqƈ{x}gYiȇPNv4 [56^/,F6W8UbZ,W}X O41SzKY
+ZЏ*3n0'K]Q#Tڢx\Z2!c\06nZ*\ʪtfRN`N bvr &]iqGiha\(F,3h }ᤑPsІ}n4cϯ=:cϯ=:ձ'Sɩ}r>9uON'Sɩ}r>9uON'Sɩ}r>9uON'T
+
+-Ԭ1R'?hi<*Yo\[ݕO҆zޞ |>"}km'MKj+CK_GHuoj\ӛmlY{9uI}6ޚ~۞NuKt~vڈOd armZկrJ
+6ӃJkuV5Ee0lΎx^/H[$h?w7a
endstream
endobj
-821 0 obj
-<< /Type /Page /Contents 822 0 R /Resources 820 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 824 0 R >>
+817 0 obj
+<< /Type /Page /Contents 818 0 R /Resources 816 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 787 0 R /Annots 820 0 R >>
endobj
-824 0 obj
-[ 817 0 R ]
+820 0 obj
+[ 815 0 R ]
endobj
-817 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 253.045 239.124 265.001 251.079 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+815 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 253.045 100.634 265.001 112.589 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-823 0 obj
-<< /D [ 821 0 R /XYZ 78.37 808.885 null ] >>
+819 0 obj
+<< /D [ 817 0 R /XYZ 78.37 808.885 null ] >>
endobj
293 0 obj
-<< /D [ 821 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 817 0 R /XYZ 79.37 627.392 null ] >>
endobj
297 0 obj
-<< /D [ 821 0 R /XYZ 79.37 695.22 null ] >>
+<< /D [ 817 0 R /XYZ 79.37 550.977 null ] >>
endobj
301 0 obj
-<< /D [ 821 0 R /XYZ 79.37 288.23 null ] >>
+<< /D [ 817 0 R /XYZ 79.37 149.74 null ] >>
endobj
-820 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F55 387 0 R /F58 390 0 R /F56 388 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+816 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F68 406 0 R /F55 387 0 R /F58 390 0 R /F19 383 0 R /F16 386 0 R /F25 379 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-831 0 obj
-<< /Filter /FlateDecode /Length 4340 >>
-stream
-x\Ic ׯ(j
-
-$Lu?L}IZ)ŔS/J9fX
-͌#Zs]9?;@ /><p&PۡP `(ϴtâ˨POճ 9BI(&){>9 e6blA}ϊdpO'-} NCپf$NpxKL0a)N(K(b\% TZ\pPW>Sd]ȟ*~ߞ%=j7@a,Au+jދjV9%ɡ<OT?;,91N:@Z=6tVzn,b'[tSe
-sj*16nN' ڗs99:Q*2-TwsGA0k95~g=uWg&C3; PuL YRmǓh,?kM6199;[1Yń2|ZRk&IQ+^"}34EiSo$I!<I+vMr+`RA▆Dڑ63UuGs x˱L%u5_bԊ:eUшA|};#YH6U˘g3a !Rwtm GBIYt*$'v 1’nZ`7Mғ1D&rWPi$56-T|ɁǏ|*-S\Q.({?CZ!͚90O|t[ih۷#䖔3h Z ֮][rN;>39K\+5/=ńO8\Ns^Op O#2J#V
-2gib׉0d<>> CGYHp/--qݐRLޭ<V$sRH4H:T:h.v\a8,|c MQELAic#8(mm`p
-y/[O{: bܝ2!ﳼ8C܁z_YIOdݟLm ÀD´jOD(+99~q[sv7X);;:h޷&JE&L澕${Tُ_,'J30Y8}9]gtefa7tzl"]I0#)-'Vʸ'<I30:eٖ%ۜ,t02VYwo
-+˖b<?ֱf{+Hxt@$CӕJZ韄>WjdѪ69?[ u!jj٨TY֛ցp u5Fd ֪"q4jE#moa Lc>DS#iGo|
-rV^ .mH>`UT_нMK_,*|ېiHXj6 KU)
-QY^! FN\"lC^$oS83/N+5-'7ʅ'E(Y"Gu-Җ/f+)ULWOꝵ?HZ(r0h~lG>|>:R#Y"&,ZfSg4H@wꢋr+oǢnoGof>)W޴ʺo_
-u[Mkzyy p!}Z428dᖁv˚ٽ_ 5Ng g T# WǺ.(ˑ)rn=6~SwEs2(U"5Ԩ%1QΗtB_qrbqS:Z;9'BXBǥu}Zziẍ́$דjj\\{:LF^.@E[z TȈVy浾mz
-jm@<^ݛ80:R 9pN>cY4Q{>J7Av^d@(Ŏߊ"E
+826 0 obj
+<< /Filter /FlateDecode /Length 4312 >>
+stream
+xڵ\Iod hj ]o9%H.CNJ^=5Ui!)HQ/~/|o7e_N;x/
+_0;%S/?xUJCJt^Fg?;)}5 z7_.8`}R_j uvMؓԓFp'Qh:jK:kķqf[$:^9t^9Ҹ7af"qy?P
+k]V֤qU9lt2)R0|
+W7qoYZo7vM|kν,`Q
+䉿9T&ai/ XA4>v{ip0Դ|hE맴k4 JHH3o"<ښm6j\ߴe lu߸Ō'eN[(ifRM.9N
+c6u8ѣDV96 sgoΉ Vdi.:{NkDHTm<fjD2=i = VrmCf/Y7hcwkeNwb&: 6Gq&3cqEZ
+z|4,jb5@5ѡ_zUzl0k_Z~dDS3~
+gLgnu/xB{CF^}x*<J<^Az"p~э3h GݳsUM9|n6 Ɩd)˷vVcl,<r$^Z-͵@9!_ I9i<Q{)ceX=D+Pݣ!Zm3,25X/g;q#hfS[y׭(
+oaLOQ;\$DdS=dJ6"K?{?:;j / R8uh2s,S[kJ84N:JlқXiX6ɼ3M$+w0KR)%HQJ1Ț0SHbf+}-|`y'e=zQ,N*ڲ" WÔCnphseYp/tJdw{%N8Dd۞ڦrFnyݏ{pk EuH>*ରvR$&~Q
+0vk֡%Ag.gh;oe,n2>,TEHyl\ѯ3-31`i{2/sg5ˏ}Z{Yɽa"нŏQjWDZti|+%f:?i4hEz2*)OY5 `z(OJH7'ֳLA\ mNaPi0:g掂"n9鈗sEkaJAZ;-94E`H1PW.(mGkGH٩yfXIUe;[U".\=XpU
+< S:%+h1ȡ[<$:ӎ%Gb:VqO
+5®Enz{Z):o2LncVf5 }7E:X&x XxZ0|QwB$Pz0PLg zYr"d<bq7K AhtƜ&_9\)(Mi,+Ώ;B˕¥
+GRQLH4Xelֲ:=oK kgF] Ҷ{cry>{TӉtq I6葿펏gHK{hZ yl y;ư'"x sF`^\&Y9k6r>yZdQX3>pu3{nnu;D/m&fzLdU~ʷ~Tf5P i{N=r݈Y*pfөU憟lTKI፽m';
+`fqv'B)5,؆[8pv},EcO=B׀ᇆe՞e2xu{ﺲMsN1='2hmʐH&C9 ϡe:ޏz{Σ,PƊh<Y%J=B9_gm Ĺ۸{ >pN<U*n:>QpҡO͌Q!s͓tK!:wfxj>rgur(
+No]C,:u1]j+s`!y6+}i M-53Q[G^vtr-N{w*z#JGͣRe}JO(˛U|}nM!YYҊZvXm~s
+}X8H8y#a1WZx|=LMg\lc.Y}*?~~,d/?71/ :|߿_/0 |>S
+ /q@~iW; ZUmEpzc(Cq1w(1 1S
+4腅!°f8<hntʅ^_dKn^]6wz) %yl>qWvRei jm`
+t*ATm]ݶMNudu蹎(鴎`1U1]=9E
+ 0K̈y`D"^[7qV+r1➈{}
+F?V`9H
+e`.-`VU`9̔sr%f9\K:Hsk ]\Lmm)a- _YVj@ܪ"eP6S;J{I(Y&jZt[K '^̨~RI!{3lLg7wX°"^6ձ
+iL4>TtJeFYй;05& ~<gh
+ao4Gk}M9\~_FaAe mkjzm|zChsZ0h՞m 7`RȔA`;^'!N'՟)?
+^ 3D⧃cO7qDVE5eލ!!pz\ae%&*sT0ZFk,YT^OKAm.dÊ9 s[~Ila!21 ;]U`rݶNrxTrpKm$+4mXA޶[f,sL޵ipM;^K,94Vރ c'{kRcȧ]-J 7z |oCgSv> 󽦑ݘ$*{*C?C` 4.yނ΄R$kbNw{Ћ
endstream
endobj
-830 0 obj
-<< /Type /Page /Contents 831 0 R /Resources 829 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 834 0 R >>
+825 0 obj
+<< /Type /Page /Contents 826 0 R /Resources 824 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 787 0 R /Annots 829 0 R >>
endobj
-834 0 obj
-[ 818 0 R 819 0 R 825 0 R ]
+829 0 obj
+[ 821 0 R 822 0 R 823 0 R ]
endobj
-818 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.119 148.817 393.576 160.503 ]/A << /S /GoTo /D (subsection.8.3) >> >>
+821 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.119 135.089 393.576 146.775 ]/A << /S /GoTo /D (subsection.8.3) >> >>
endobj
-819 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 117.643 139.124 128.099 150.81 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+822 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 117.643 125.396 128.099 137.081 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-825 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 107.768 81.652 471.982 93.337 ]
+823 0 obj
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 107.768 67.923 471.982 79.609 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://tex.stackexchange.com/questions/528975/error-loading-tikz-in-ieeeaccess-class)>>
>>
endobj
-832 0 obj
-<< /D [ 830 0 R /XYZ 78.37 808.885 null ] >>
+827 0 obj
+<< /D [ 825 0 R /XYZ 78.37 808.885 null ] >>
endobj
305 0 obj
-<< /D [ 830 0 R /XYZ 79.37 590.246 null ] >>
+<< /D [ 825 0 R /XYZ 79.37 450.769 null ] >>
endobj
309 0 obj
-<< /D [ 830 0 R /XYZ 79.37 428.398 null ] >>
+<< /D [ 825 0 R /XYZ 79.37 288.921 null ] >>
endobj
-829 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F69 406 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R /F71 419 0 R /F92 833 0 R >> /ProcSet [ /PDF /Text ] >>
+824 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F58 390 0 R /F55 387 0 R /F68 406 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R /F50 396 0 R /F70 419 0 R /F92 828 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-835 0 obj
+833 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [-0.99628 -0.99628 3.9851 3.9851] /XStep 2.98883 /YStep 2.98883 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 45 >>
stream
x+T030U(2 8LXX) @`@
endstream
endobj
-836 0 obj
+834 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [-0.99628 -0.99628 3.9851 3.9851] /XStep 2.98883 /YStep 2.98883 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 53 >>
stream
x+T030U(2 ,-,,r ,,Lt–fF
@@ -3622,170 +3617,168 @@ x+T030U(2 ,-,,r ,,Lt–fF
endstream
endobj
-837 0 obj
-<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 838 0 R /Filter /FlateDecode /Length 15 >>
+835 0 obj
+<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 836 0 R /Filter /FlateDecode /Length 15 >>
stream
xP(
endstream
endobj
-838 0 obj
+836 0 obj
<< /Shading << /Sh << /ShadingType 3 /ColorSpace /DeviceRGB /Domain [0.0 50.00064] /Coords [50.00064 50.00064 0.0 50.00064 50.00064 50.00064] /Function << /FunctionType 3 /Domain [0.0 50.00064] /Functions [ << /FunctionType 2 /Domain [0.0 50.00064] /C0 [1 1 1] /C1 [1 0.5 0.5] /N 1 >> << /FunctionType 2 /Domain [0.0 50.00064] /C0 [1 0.5 0.5] /C1 [1 0.5 0.5] /N 1 >> ] /Bounds [ 25.00032] /Encode [0 1 0 1] >> /Extend [true false] >> >> /ProcSet [ /PDF ] >>
endobj
-839 0 obj
+837 0 obj
<< /Type /Pattern /PatternType 1 /PaintType 2 /TilingType 1 /BBox [0.0 0.0 8.50403 8.50403] /XStep 8.50403 /YStep 8.50403 /Matrix [1.0 0.0 0.0 1.0 0.0 0.0] /Resources <</Pattern<<>>>> /Filter /FlateDecode /Length 79 >>
stream
x=0W Y".RRҿ^( U b1H<ܪY`2rir:"B,Yr߻qB
endstream
endobj
-840 0 obj
-<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 841 0 R /Filter /FlateDecode /Length 15 >>
+838 0 obj
+<< /Type /XObject /Subtype /Form /FormType 1 /BBox [ 0 0 100 100 ] /Matrix [ 1 0 0 1 0 0 ] /Resources 839 0 R /Filter /FlateDecode /Length 15 >>
stream
xP(
endstream
endobj
-841 0 obj
+839 0 obj
<< /Shading << /Sh << /ShadingType 2 /ColorSpace /DeviceRGB /Domain [0.0 100.00128] /Coords [0 0.0 0 100.00128] /Function << /FunctionType 3 /Domain [0.0 100.00128] /Functions [ << /FunctionType 2 /Domain [0.0 100.00128] /C0 [1 1 1] /C1 [1 1 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [1 1 1] /C1 [0.75 0.75 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [0.75 0.75 1] /C1 [0.5 0.5 1] /N 1 >> << /FunctionType 2 /Domain [0.0 100.00128] /C0 [0.5 0.5 1] /C1 [0.5 0.5 1] /N 1 >> ] /Bounds [ 25.00032 50.00064 75.00096] /Encode [0 1 0 1 0 1 0 1] >> /Extend [false false] >> >> /ProcSet [ /PDF ] >>
endobj
-846 0 obj
-<< /Filter /FlateDecode /Length 4886 >>
-stream
-x]KWh ,x 8'r0|H6DXvTM6gAF;&dbU1闉߿ ?z\W ^ЉMa&MP*T;nR/wR$yȃyJٻ&LTxC<]|ғŧ*SP并Pmtixj;o(뒗҇7:RN,=a~hq4R6RPzJ*P )NlԾ2q|9fnu|/\wFnYC ==a8N.IAL?jNr
-k]ւܺEXo /Ȃ7YW ;DX+wE${;
-Upd LP7Y40x\jU񀞥`WaQֺ+,zL~̒@`E<kRI qf,.F.xZF(}P(BH(=F(oeѡ=L
-L/Wmu,aZT= B;< .IlY-ӄ 4E7J&96nGW"׾t|$s(ѵ=~*)9gkCU㐂l@[LCKK2JV3֒ oPgK"F)5Mˈu}!'3VSy?Os]4gq3(279 ''X @OIzH9Ƣi j)'aœ# aҶJ8%mX_jP8h61әQs{f{$
-ekN>Ǚki$86 }!˱}ĹE^dDF KGs~.˚r nmoVM%M,F]~ Jv֭@uZ;iF-B X*yB:K '"^Iּx>{ \E76y[Ί' T+YT= K=}xB#IJlf \O-RtQ>va.P sb?׆c({ r(jzz~]sF\2RHK]hpb91& 4%L|8`~{
-Ёe UC*el#N)`%ʀlے()|5o})0VUO9J2GT zBK(ۀa!|wJˆ 툓72pS,2{I33\юmS`V{9`I25I8h
-%%͌(S:͔͖:.EdR~iFb<-#_CqU*V."L,5(y
-mJĒJ޴0H5/MJĘgэԍ.vX.^TOvu!69~ߝo-Fj}#%?~R :=>2A'X&7m$'JEFi1Kf`R}CnN4 1sKW[1`kiOūש¼͗RC+9|qTLP$JKghqVHV(aq,s=L%k
-i\jvH*)­J }vJǪ)3}kdIBiVhWI \J͍ܤNJrϗ<~
-D[?$zNWenqnJ'ƺ.8>JE\}re5\r0˔,
-faERR;Mqa Bo&p\ `^V}}[QA˨zX)HW@˭$zX4h
-f?/ՖkN:yT{+)y쎁.Ef}/Qߍh,-);5cO%|)Lh!4ZS\n .w3{3FI;P`Qn#p]nBĴgݨq92GS6:6Zf35D$b9g $W`aٰoB{54,<
-S5%'بZڨ[DZĊ<tQR1,3:ܞcXcX&+-9p
-Vߒ ]}(aKΐJG}mgΐZPKJM^)ؑ/Ԡay "t-*wz\?vjA)
-D&ұi:
-8Wj751*?b
-]U"
-F ZkvUm擐=^LɍʨUDWUXp
-h0#x?1{Nj|qp{DUtz䎌xB~|0轕"eJʾ`Jo1'-)U=Y'8t|P>!_>.XuS>C{hh[e}Չe1G YG\cϊ&H;~v],ۂ-/<TMǤ1_Zُ%O8čN]ː=^x%orgKdsonPg8e?k
-]9QkT}@YAËQw_Xo7LOSJVb.LX{:>lf ^\S_6*}@D
-Hǫv*ӯln#+@N\Wt9L\ua]7"j.aM,X V;`Oa)^ )eȥ0Eִtc,]/ LWƫnH H(Y,3/{q;o-PQ(Jߴ?Qf>yF'cq=jckμ_ic
+844 0 obj
+<< /Filter /FlateDecode /Length 4231 >>
+stream
+x\Yo7~ׯ?04D(@Ɉ}"1V6,UiI?X3lX,~Mׅ.(ws݃ҋ#Ns-0DGYfj||Z~KpJ~ Qi)W 7ϵAp`?XدЗ~ /C*~Os*20_R>H
+CzQ o"f\hόKǜ׻6D<Ӽ; co$<| rahϵVG8W繓L|,)QG(-$jޅQ* %Rq$,w7{JJ 0ւrhe>Ev?e%շYgDj #5l1~ޔ 2C>=ofWE0
+~ w'1/kg\56qfJ;NhUC`ӳe+{ )3hjg( xE%*=kʀCo|Fw6(cG#7Rak0^ď+b]2 -߽
+G.mBGW$=(TnCeP|}rfJJTsP ?Lw%zH9qYF*jhy9` XOI*$ReT 5ەf)xfb(Gz|I-oL9~.g|r=AȮ _,Jciu
+WpǏN@+ w㬝$87hcèdrLvEV O>63[ 򲾜cF_ Nkrqtf` jQA4u=uo0%K&0~3wfGR٬ >tO[/ R;;$p6H{u[7G|SJH;,-/9by;zha{|[0{}K
+eck#!k t%@.'Q6|*(ڼ eDCdEHp\صn&9B)i2s`% dw%Ey.Ƿ%M|DL4=mN[&RUFˏrM
+fo-w-g Un`+6*Qb74Ȳq-df/p%`ֵ#_{e@ˢGY
+)wPq/P#j>;4XZkWi
+*' l;
+XMԊAk66o.*hY5I.ME)q_
+?2 Q\R U[yq&^p]mĩI3*`{QIki~*蠊܃fyƦu8,2) K4/jňP<@ʶPzAgx@ GRӿB8J{dί#`jzPnxYОY_GA mY"0mQA x Ľ^+k#L.>VR] 쬨2"Fo .ڢfyޏ4!OãVg0WNkTӟIRƫ RAxL #cFdRvcq~Us v;bR[%q"NR^WO}!6E~oAh=pnDˏ`O0A 5_q_ۏ]`B/O7_eQ˟FqtBa/Db?>l\PךpjhvSl]5nsƈ[J+ɧUkxR_C)8'@ዣb1} .e⬐QRf0@A,S(PkCR+VXX6=%~?V|X&RFBhDfvUXRifsSU:#e?U܀$ſ9_&2 w
+?*"IG*eEj&u/(U"2N~axijW ueB$SmZ܂bV=r-V3DT޻<8GitfLDQ[a̯Ye^ >k鳯53e%73{e}B+9.d^%%5vuYWHev>S}R<cڶD77D1v\ǡN|+ƽ[^ɁG@"J^tJOIH\$\P pͱ_/Yk
+۰d| <:&pV%nVqRNeV.zZ'H; WHa"1{,xOI UhǗғi  eN8HE8Ho[P9uN6RuKK)pD7_jl.);deS;8yi$j h 
+Wp>j[]_::/uOPO|dR3lyCPxeT7ͤp
+"ʭXi(Ы9^,n%JVڥiF~3 U#/s1ɰpRߟ7ΧU:4^v%IBS<2]AjnI{]\㒈|պS͝&}s>&
endstream
endobj
-845 0 obj
-<< /Type /Page /Contents 846 0 R /Resources 844 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 848 0 R >>
+843 0 obj
+<< /Type /Page /Contents 844 0 R /Resources 842 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 787 0 R /Annots 846 0 R >>
endobj
-848 0 obj
-[ 826 0 R 827 0 R 828 0 R 842 0 R 843 0 R ]
+846 0 obj
+[ 830 0 R 831 0 R 832 0 R 840 0 R 841 0 R ]
endobj
-826 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.069 725.053 257.024 737.008 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
+830 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 245.069 599.012 257.024 610.967 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-827 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.772 668.622 165.248 680.577 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
+831 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.772 539.729 165.248 551.684 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-828 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.969 668.622 192.924 680.577 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
+832 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.969 539.729 192.924 551.684 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-842 0 obj
+840 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.409 67.03 448.634 78.65 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-843 0 obj
+841 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 459.337 67.03 469.794 78.65 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-847 0 obj
-<< /D [ 845 0 R /XYZ 78.37 808.885 null ] >>
+845 0 obj
+<< /D [ 843 0 R /XYZ 78.37 808.885 null ] >>
endobj
313 0 obj
-<< /D [ 845 0 R /XYZ 79.37 621.864 null ] >>
+<< /D [ 843 0 R /XYZ 79.37 489.504 null ] >>
endobj
317 0 obj
-<< /D [ 845 0 R /XYZ 79.37 582.578 null ] >>
+<< /D [ 843 0 R /XYZ 79.37 450.218 null ] >>
endobj
-844 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F56 388 0 R /F69 406 0 R /F58 390 0 R /F54 378 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F67 393 0 R /F59 397 0 R >> /XObject << /Fm1 837 0 R /Fm2 840 0 R >> /ProcSet [ /PDF /Text ] >>
+842 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F15 385 0 R /F55 387 0 R /F57 389 0 R /F68 406 0 R /F58 390 0 R /F54 378 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R /F66 393 0 R /F59 397 0 R >> /XObject << /Fm1 835 0 R /Fm2 838 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-853 0 obj
-<< /Filter /FlateDecode /Length 3012 >>
+851 0 obj
+<< /Filter /FlateDecode /Length 3259 >>
stream
-xڵ[͎ S ,=-pb:}(T]*"?%qy˻;9|_>ܽzvqQJDk_>|SF.jQ_SB:| Rw]StJYH=x- ~\gn'} IlHIzVv":Dz#U$@f) Q
-jz#Jb,V&{gYɪ`VM I,<) "AmQӐ7U'?'l> gF7Ӧt!Wfbv+)QR厔[S{ᡙ[z+FxobWA?aȇ 6«=yRx0mp8!Ce\LNRF5$v^flU߲ۦ-sjdӄs:C-(WmLȗ$$ilaIR</Gm2lv3UrjRf"`f> 0lRfpd
-M>M#dCwRZ kGrRxg!l ]nפČð,oas v>uF8eǾC|F4<)}!s0Hgo~fB+twN ΈElG,RoѐgNBAgOʼR(|Gp,[M72Ţ}Y +
-@$ƾGpacǻCi'|4GPnjc7'}m"xb0A~ .a7ؒ]<=jl/ÀP]Lj+k^PvW<6m8L6p
-+.MqMD7Ce
-+l26bRORxaҴǩGޢhr^ْ1ULKɼmGI#M#a[uK([)s
-H5E 7Pu AOȄI =3wE/w ClS(69\70fa`1iFY!饔SfݔNAnB^ӕ}GAA9=@€)+'SŌdkENՌ3{ x܃ 0G^|~qf½* cO=)K zoھ? Ns#6w:֠Bt:3uG~_E: pNm#Qǽ/1}iw <|CodPRh22%g\<UBj
-FYg4|Wj(]ҚsUn 行_m 23gɚ:=re$BH%WBu7֮Mx6kfE۩P2.xR ?\ rl$·%Jr]zv\wY_`@ĭ-]j-{jrDHRj."mlgpؒS/fAkJhh@pO=L_IlЮ>)ޕ@€+b&Lیz>p;y$0{y5`PLW
-qt'Ėg I
-}c.nO20 ɐJ
-z)5|$mԮRs6v߲C5xʤ Ww<gt`NYU/([)d* PW\`2#'F-h_gp0C?
+xڵ]oݿb$0qk}M
+49\sKJFulvGCR$EJHKa/?IE㧻>}S$5(SB:5|6z/%h)5QJ ~߻ z˜|!1R=Gn;) PxyxаDK{lI43.y,7L4<7,%9,~guYG`v"7r{
+oIA+TĿ!9Gd|0͗4,qڠ`k˯~xc
+OcsStK C6
+
+
+TsG0XGBE=96j@ |){x}`eb<d>\xHځy\V`Poâ\md2|}S] V#ɼHI<tq4BEemW'Fk-bc.0"pmN77<p: HW7z9@0[- 0WzgF=:S,se4b,y$T:uҵ{#F6-i{4鸥xe(iȹr)6Mt2?-raX!õf+tL/z;u҈tZgEwR CwjMXLGgf1UԢÞҾ7עDs3ͻubpd%_`Pƽ]N0Ms 楢tyciyC8[P+/ogȤ{1~m&o;e֣s緟4ӐM;bO7uʃN]G^-Rt_2/?B2޳nib#QCH
endstream
endobj
+850 0 obj
+<< /Type /Page /Contents 851 0 R /Resources 849 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 787 0 R >>
+endobj
852 0 obj
-<< /Type /Page /Contents 853 0 R /Resources 851 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R /Annots 855 0 R >>
+<< /D [ 850 0 R /XYZ 78.37 808.885 null ] >>
endobj
-855 0 obj
-[ 849 0 R 850 0 R ]
+321 0 obj
+<< /D [ 850 0 R /XYZ 79.37 592.847 null ] >>
endobj
849 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 111.629 188.779 123.584 199.449 ]/A << /S /GoTo /D (section.13) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F15 385 0 R /F68 406 0 R /F55 387 0 R /F65 392 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-850 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.536 188.779 148.491 199.449 ]/A << /S /GoTo /D (section.13) >> >>
+855 0 obj
+<< /Filter /FlateDecode /Length 3683 >>
+stream
+xڽ\;$WthC
+@
+NgGMsߚae:vߩ +HOV^IF) <(ؗr՘*+էVMw}"҃(IόUU
+
+W*pg2 ]Ln FH][[)̄qjw$;ewԏ|j^n-öAAJWƦ
+*&GAfx -^vyJ3C  ur{tl똑ӡ UuòeNKdy"wj1&9f@xBVg hfy6c@* 5 6I*&x͔qQz])v, 1l7,N\H^*뢵_z4'"`,JR1>DqdEwl
+y:784qm#G^W8O!uAoCl
+Q4La<ʦEIučh} 9A)7#"?gs&X&L.Vn٪T$v'/0Ҏ$ն7$xOp"Od*YLH 1Fh]a?Ky.m+ gB
+ S7X8N:DJUCaLYnA A
+leSInD8-5o$&%g=\4B2Xvggvde0﷦kImҩni%~6V3k^y* O#USb,Zboe֦r۟}6%]Ҭ\x]b3Z@Czd{\oT*Lѡ۵XKX&`zN%Xa;FGQ8cbv{n6[ZҘ8GGJXlƓ
+i%}/'EKr\lS
+Q)Ibb)˙%P΃pDMqZ֔6n$+q6>VsҀ>JBG {kgr yFDs R4*$ oS?T r\̌GP'(hU𽶠:*f-
+}$<h]MQ
+ 62(}$_mΠZGu7;4
+3tq<<}M1<j8dsk.bb2)|RDZ~F:YJF |PW?o$6tPZBW[ł, Z(|{@UI6+$Y=D&zŬhİ 'AHqϮ/_g+:ўQW_?|g퓚|#_?\2_Zl=ocoV}ldT
+@]!mTdaؽ]H6-Nw07~\mJҵYSY惟&b89$9G[-T+7RHקؿ`!p)!):/+[Stems_!N 'Lr 澗c:9cUQǾycP&]z^jמ27˜zP: Ϭk>emhQ
+<>EXשS X;fE%#Op*p0AE(
+
+endstream
endobj
854 0 obj
-<< /D [ 852 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 855 0 R /Resources 853 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 787 0 R /Annots 861 0 R >>
endobj
-321 0 obj
-<< /D [ 852 0 R /XYZ 79.37 771.024 null ] >>
+861 0 obj
+[ 847 0 R 848 0 R ]
endobj
-325 0 obj
-<< /D [ 852 0 R /XYZ 79.37 238.154 null ] >>
+847 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 111.629 725.634 123.584 736.304 ]/A << /S /GoTo /D (section.13) >> >>
endobj
-851 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R /F66 392 0 R /F58 390 0 R /F49 394 0 R /F48 395 0 R >> /ProcSet [ /PDF /Text ] >>
+848 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.536 725.634 148.491 736.304 ]/A << /S /GoTo /D (section.13) >> >>
endobj
-858 0 obj
-<< /Filter /FlateDecode /Length 3034 >>
-stream
-xڽ[K$ ϯcrhY0`Ƴm9 7'!
-ƭ|rs9Ws.9<1?x?2u`V>JB?' 2-=#5=xxLใOq\Μ8./ZVauN ~gB"a^^Jȵ%:1aDۿ+3B9wY-eB/j3Q(v#~/ kd7^~63
-H(YUbÊE9g2HPi2k>Pt0u4E RIqS[BemuֿѫDSh
-Pdܢ\7Jۓ;iAl|&~o cw>56*bq lTpFՐid>ş2Sg=|e.X*[K4(G=(, \ږcW([QH
-
-jma>QLL9'e{&'$p;1&qw%)Q`֖?F2cKhҤhaPܯI40M"x(#QSsqI{~:=6 EYODbM,Q0gC/}k''<'>u]&۔fzh
-ܺd&?Y{.2J~+h /Tew`G–s|}%,aZxb~p43 rw5k :J2*:|}G!`ϱ/Ll1YK]xt@S:1<S64'Ǚjrd>-cRP(8ͤiH CQYa SfjE4lx {|!j#wZYH lQj'-AH*@lqG
-R31G[w YԼd_HKHcBQ䷣_?|{F{"4<5b9Oȭ:[RlVYױwPC_3={+ſ: *A:{Yjf5>PY{
-_QL W4Ѷ4ݩKu.ș~R83Rǔť P
-"]e
-endstream
+856 0 obj
+<< /D [ 854 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+325 0 obj
+<< /D [ 854 0 R /XYZ 79.37 771.024 null ] >>
endobj
857 0 obj
-<< /Type /Page /Contents 858 0 R /Resources 856 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 790 0 R >>
+<< /D [ 854 0 R /XYZ 226.44 238.125 null ] >>
+endobj
+858 0 obj
+<< /D [ 854 0 R /XYZ 232.109 226.17 null ] >>
endobj
859 0 obj
-<< /D [ 857 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 854 0 R /XYZ 195.137 193.367 null ] >>
endobj
860 0 obj
-<< /D [ 857 0 R /XYZ 226.44 282.578 null ] >>
-endobj
-861 0 obj
-<< /D [ 857 0 R /XYZ 232.109 270.623 null ] >>
-endobj
-862 0 obj
-<< /D [ 857 0 R /XYZ 195.137 237.821 null ] >>
-endobj
-863 0 obj
-<< /D [ 857 0 R /XYZ 195.137 227.649 null ] >>
+<< /D [ 854 0 R /XYZ 195.137 183.195 null ] >>
endobj
-856 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F15 385 0 R /F55 387 0 R /F66 392 0 R /F20 380 0 R >> /ProcSet [ /PDF /Text ] >>
+853 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F55 387 0 R /F58 390 0 R /F56 388 0 R /F65 392 0 R /F20 380 0 R /F49 394 0 R /F48 395 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-866 0 obj
-<< /Filter /FlateDecode /Length 19631 >>
+864 0 obj
+<< /Filter /FlateDecode /Length 19632 >>
stream
xM,9%_q]v~@!z
-hhSPff@j5_f$x7nt*%u#+g~vN߮pm=7-%W~zsoCy+ݯ~u%]!п+~7Kw "w]?BI"!7w[s|дxݓ}1?2Oߤ8/5B|I蟟 [u_%c(m}ɩ]6AYp
+hhSPff@j5_f$x7nt*%u#+g~vN߮pm=7-%W~zsoCy+ݯ~u%]!п+~7Kw "w]?BI"!7w[s|дxݓ}1?2Oߤ8/5B|I蟟 [u_%c(m}ɩ]6AYp
kL$$q~9fC)VD?5BsX!̐?/{}kUW*>_f^
IWi`۰៚%md lcis>-md9=wMۃsKwwo5_{^s1ϿB_@hIԋZPŲ yh#@3MbmG /k>+Qr?ojwq|+۾?m~t>)ƹ^˱}U=? UQB:;~g=o~'t4ٓ_='4F.#~'I{[܈_꺷>*?JSof %1}f#3@gԈ9~`݅ fQJʧhH>pvFI̟Z9J>kW~qS+uޮ?^F_ CTh5퇿u)J /_? RB7~`95 ^S{Dp 9z{u̩iT3P%_i$[\{iP5,%s Z(׉Fi_M̍hCт^mw4PLT˗{5}^M#=e\i^HO;jS9Nf;~v٩eD4BPIO4{L6ΐ>v6D4R(aIW̥-/<jkFB=Z{:l.f׳Q9w_Fy(e5~iRFDddOjJ84yu}&=/I7)J
Mb[nW\|Lџ3i6-;U117}r@ %GZnRwxpW趸(\.Wr׍C5|n>Z7V׍ue׍GjằZ}n>Z7V׍GjằZ}n>Z7׍GjằZ}n>Y7;9'X^pr3y<8Z_e;;u@zۺxg=z^_ۺxc<v/Ǖzƛ<MuF<.]Wn>ѓ@&{_׮KҤMC盞~P2M(ko Ǝ+:[tД; %``9
@@ -3889,26 +3882,25 @@ T<ukTNtH n'vx
z{BvVCF莰92' G΃FQQPG<P^A@01(sέ
#!X;d5K͠qm2=E% !V$2ႡL@ G4dhLCTGm4Щ):CљqQFZc8fdh)gI+(Zf¤:BgmԠ!0P^' 8A[1X\_%>T| 甬qd .P0'EKR1A6H
hwd7(i/KoJweV%jy)ZZ
-0 p.)F7h1^.VrԇU8D1׸zީԒ[s2 rkXmҭ1*DWY
-ez?Y?lܟC6>ismZٶUG 0_b(pwKyu1j˯Ŀ̳_5s;Ƶ<oOh:ȼ 1"moIc{tͣC -^r˗*CB })`x^~i+CG}Zvlxί[Wx$w{ ww@tGջc;,\iNR5sK1rori
+0 p.)F7h1^.VrԇU8D1׸zީԒ[s2 rkXmҭ1*DWY
endstream
endobj
-865 0 obj
-<< /Type /Page /Contents 866 0 R /Resources 864 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
+863 0 obj
+<< /Type /Page /Contents 864 0 R /Resources 862 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 866 0 R >>
endobj
-867 0 obj
-<< /D [ 865 0 R /XYZ 78.37 808.885 null ] >>
+865 0 obj
+<< /D [ 863 0 R /XYZ 78.37 808.885 null ] >>
endobj
329 0 obj
-<< /D [ 865 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 863 0 R /XYZ 79.37 771.024 null ] >>
endobj
333 0 obj
-<< /D [ 865 0 R /XYZ 79.37 178.379 null ] >>
+<< /D [ 863 0 R /XYZ 79.37 178.379 null ] >>
endobj
-864 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F25 379 0 R /F19 383 0 R /F17 384 0 R /F20 380 0 R /F16 386 0 R /F18 381 0 R /F23 653 0 R /F21 382 0 R /F54 378 0 R >> /ProcSet [ /PDF /Text ] >>
+862 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R /F25 379 0 R /F19 383 0 R /F17 384 0 R /F20 380 0 R /F16 386 0 R /F18 381 0 R /F23 652 0 R /F21 382 0 R /F54 378 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-871 0 obj
+869 0 obj
<< /Filter /FlateDecode /Length 5530 >>
stream
xˎ>_!
@@ -3933,59 +3925,63 @@ Jj&94WYL y+%Y%`j9\`s
K%V"<ZS'`>9#a"aXDϐ4>a ֋& 6y@?k:\ 80wX!:M.t>BS_<ߣg-7M1s1($֔q09u)xAB_"޿*.'0宿 p AR(Q51֟:瘆`DY7|L2^&1EUG˪$Y5zlhAN-t`,M.7ɍiIk/ML9=3L@۸?
endstream
endobj
-870 0 obj
-<< /Type /Page /Contents 871 0 R /Resources 869 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
+868 0 obj
+<< /Type /Page /Contents 869 0 R /Resources 867 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 866 0 R >>
endobj
-872 0 obj
-<< /D [ 870 0 R /XYZ 78.37 808.885 null ] >>
+870 0 obj
+<< /D [ 868 0 R /XYZ 78.37 808.885 null ] >>
endobj
-869 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 378 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F19 383 0 R /F23 653 0 R /F15 385 0 R /F56 388 0 R /F58 390 0 R /F17 384 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R >> /ProcSet [ /PDF /Text ] >>
+867 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 378 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F19 383 0 R /F23 652 0 R /F15 385 0 R /F56 388 0 R /F58 390 0 R /F17 384 0 R /F57 389 0 R /F49 394 0 R /F48 395 0 R /F50 396 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-875 0 obj
-<< /Filter /FlateDecode /Length 4190 >>
+873 0 obj
+<< /Filter /FlateDecode /Length 4188 >>
stream
x]Kϯ1> pNɉ$
F
2TdGr"
Ꞷ"m|HK>w)
B;xo=➳L2)RGSo%Ѫ6x,4l
-otcCo8S{׵+J0ѻ|nEw¤p=6\AΞ|w.@筶gN8Y_~SYeؐ21`u2ƃ5+*48W
+otcCo8S{׵+J0ѻ|nEw¤p=6\AΞ|w.@筶gN8Y_~SYeX21`u2ƃ5+*48W
^=,Bؓv(JT6( K-S.~gl.|6%<p n3h6r0< ?Hǝ
nq|,~,U E:g ><,yާQnKH$/͑*N
jq$~bFܩE"]۫e)J
Z)r\߂zϬeFw\f-^탗X64(q uHk``
&vnÔre:IPLTĦLeI!TlC1^]@`JUl24c߫RxB8
. %ypW8wj@ jiz*K%D7*pg.4忦ǿ+:,aR+뗌4J&dOMҴ|:>C
-.8ͻ8iĀWT}.ֺȫB9rlfl 5W d1p Nծ) C^L`_4$mZ
-9R<4P_>yz#/ Wꪗt@/<瘅 C_zKlE7X!Mŏ4#4W?$/D)S)/
-(D 0iaqLMii:iZeY3 ~!_7{84D|7l?OGr̙ԧ4Dro&eb:5 R̙s @}LCÏv3&e;zb7Ӽߜih1w>w)
-CS@-=[/
-51=5ާMO4phS_ @} !;HGSg~=~i44`w3aܞiN[uP&&i 9 f
-مE^+R =~b9ଡ଼ԑ2ޝ<;sz .=_3Im\)C6v/^_9AyuK3C0RآH )8WWkW[dVsEe+K8Vl֑}6$E⟇Z֞9nF%NseuP
-.5906t?IqK0!Nr4]x5V/+ *غ(a:Z>=4 +$ǵ  "  "׾;fmMQ!$!`ıs<KioAe#vK6ږ<rnC_.cuS3[)楊QSڃ"u9]LmV֑2#>{U_]^c{ fZ,'BYJ+ ?)ʪ`Z!p.PkXTLE|=U=zBە[iam%|gpf\J0 +ynC\~%r㦵Za-A\f%!eo' ԡ ?năW+:[~{A:O4}Kz$=!Tdq&tD.3sӄLݷ
-YU Qε6 N1uz.RnZFSo-Zx6l~Xdh|EIF *<ЙK+>8\zdj^E+YS^L-,#hM;ݘbvǯHfug xh/~}5
-( mЎ(Vĝm~na+/Zی_yll7Pޣ* /RiZV*y5omjtgY΋@b4e ocаF5k׎4lZ={YFJMJ|8c㠰6*c5Wljvyw@'V-&#mEsE[ߩpigf%u2l Xm/
-yk*L+4oO?WZfްݵ9
-yb+ 좙ъ.\ ]8~װr)7vdYoU~[~\xUgϔLŦLF16EzZ-%}Z.;Ô5M sKH&66ZS YB%`B,B6|J[B5Ty[ew]2񆑭غ|<|1cWI_}Z<~sطk^3hcY"x:VI :mdpQlQE+G֦t)Q};L7ebcZh~sc#G>qZ+48V
+.8ͻ8iĀWT}.ֺȫB9rlfl 5W d1p Nծ) C^L`_4$mZ
+=3Ys6vyB;+ ԗ|v^^? %5>Ћ69f!P~ޒ[Q _qrAS#9 H9ϫ- 9@}e 
+9Q<LkZX>Ө`SeN{}LC_^93 !_4ϓih>s!/D3 Q[IƃzM;f>sA?P:cLD4o`7g~$ϝih
+AS@L^iy3SK5M&fs @2 s|fu&|byVv`,])]N1)4gHO$ /w鉆iFs'00PKO)= BMLOi >&B4xiC?PBԙsG_f2 M;zLsXgƀ|yr>m!aǼA¾$>u!ǤA$>u~ >uv!tсBBCX?x+$-uwsx
+aak
+q6Hǵ7HǵHǵ7Hǵ7HǵHǵ/h[Sԣ!nao`95qR@s[vu8ȁݒe98Зc31e#VfybԔeh9p{`G[u䭭AO^WzpטBYcD.Ga_vEkuFPFV
+G+O
+'"*(VH2KE,~6,k"_nOUvVڮzXj[x+Y2҇A=(Šv^ =(߃@ܸiփ`hK!f.~P>Y}bٛr k*,"u({[:
+Ve^*MERd?I+c*{jz |̬4!SBV*:en7s- ŦAAi az"eۯn[9s9_?ZE0hj
+x&t?
+O=2^;WJjVW?Sdi5ˈ8lm7X8v&{@lY^x->be,˨h_Mf|B3
+#z{9
+56qgz7iXJ6WM5J苫he~1V*~J[Z6Y"'Mh284lQ@Z ۱V޵8"wkR6;8(fJX}ۿuD9g^8r .cU~E20IHn[\Qi+w%\8YjYIݰ p[B3VKB+eڭ>`
+[OmY7,pwm:{R]0'F=^J_wsoc.
+-kkk9hf aC_5\ʍY[ߖ+^<3A/S@)QMndKAiIˎ0e|Ml,<M-"D(B1}ֺP %P !P 5p-GVf]ׄ㢁Liad7.#B'yرUmrm.o ZC)c-λerzTJ)eJTN>MֵؘFop*ߜul EJ+M"ApV
endstream
endobj
-874 0 obj
-<< /Type /Page /Contents 875 0 R /Resources 873 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
+872 0 obj
+<< /Type /Page /Contents 873 0 R /Resources 871 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 866 0 R >>
endobj
-876 0 obj
-<< /D [ 874 0 R /XYZ 78.37 808.885 null ] >>
+874 0 obj
+<< /D [ 872 0 R /XYZ 78.37 808.885 null ] >>
endobj
337 0 obj
-<< /D [ 874 0 R /XYZ 79.37 598.595 null ] >>
+<< /D [ 872 0 R /XYZ 79.37 598.595 null ] >>
endobj
341 0 obj
-<< /D [ 874 0 R /XYZ 79.37 325.802 null ] >>
+<< /D [ 872 0 R /XYZ 79.37 325.802 null ] >>
endobj
-873 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F16 386 0 R /F17 384 0 R /F69 406 0 R /F15 385 0 R /F22 408 0 R /F54 378 0 R >> /ProcSet [ /PDF /Text ] >>
+871 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F16 386 0 R /F17 384 0 R /F68 406 0 R /F15 385 0 R /F22 408 0 R /F54 378 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-879 0 obj
+877 0 obj
<< /Filter /FlateDecode /Length 3162 >>
stream
x\͎$ STnc-K~ /-ɀ}p6s뇔*ZUCOTIGu/Ŀ=Hk sןIM>
@@ -4002,42 +3998,41 @@ DmMShomF>T<Au8z+Є_34qfߖwTmKblB
6zJߒY㢋je39HC^T>@<d$b]f$9keJx%!+-b)Kы+M;t4y`uf[;zϤ렿ӰSRI; ksE׭P'Yϲ%sj'p!TBc/7c!V+ 8ȚHY_nu~ZO!x)2;kx-uJ/,bl:wG巒GN[UĂXP.K}68!Ú44 j/=*=nӃ᪯l D'6,wlڟ!>tzos]Zو D+u/#lܲw,U7{dpNۂ^VqY@-wol܏%r[]\˔wS&6M.m$^u/M83c*HEn(AtΧA\Wߜ_"@\r y-,Q@ɞ9bPsǽ-I!_9N1gr:?7475EKzO=pJ߿>I
endstream
endobj
-878 0 obj
-<< /Type /Page /Contents 879 0 R /Resources 877 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
+876 0 obj
+<< /Type /Page /Contents 877 0 R /Resources 875 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 866 0 R >>
endobj
-880 0 obj
-<< /D [ 878 0 R /XYZ 78.37 808.885 null ] >>
+878 0 obj
+<< /D [ 876 0 R /XYZ 78.37 808.885 null ] >>
endobj
-877 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 378 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F20 380 0 R /F18 381 0 R /F23 653 0 R /F17 384 0 R /F15 385 0 R /F56 388 0 R >> /ProcSet [ /PDF /Text ] >>
+875 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 378 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F20 380 0 R /F18 381 0 R /F23 652 0 R /F17 384 0 R /F15 385 0 R /F56 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-883 0 obj
-<< /Filter /FlateDecode /Length 3003 >>
-stream
-xM~{ E ,&o7@˶{k{
--^KJ-ydN.{o5vuO~wu黏LAD LyR$'5(O)!>^J󒿍j)5vW)~@l5O+$>5D2>3g,[ Q(nJA`
-}D
-2⢴P(3fA\Eb䭸3ih{x@
-dܑ6Ww0v%W'Lu
-G TV;g|ogށ`o u2`{IDtbgv`i"Ў9ԳR!v.joMІN U?4XQk0eF]4>5f^f5mngLgRZbM4
-F)TQNS
-~\3ϛk6%ow2`Λk.ߎew2`Lzk|:Ɣá XGe 9g9psnI{bmZXsSiE\of 䧔@GԌ{YPUFxy:ΨkڴǸ(qF^py*zjP3nCje1QDoNy*{rӝ
-c>gʻg:y(rF$L*d8 S*^uqXpտσ`sHc/aJD<e S֯@&宯(g&ap!αv]u}\}WvPj‡i{OzF
-LXb(\+l4Vz 1o\4{<Ͷ
-B,3ξ-mo}w!:}>x]L[8~k}4Ms=xYK?̆~/ٸeD?[Ἷ֯b}~ӏt[vp.nSq>Y\oڽ{O]=}uw0ϡnn1WQe%ǑUu`WF_/\u)(#my%pDlrjO_ġֶʓy?+3e{o*'} aIamMo"-Zt7XE-y+_HeGo +H}PRb/v- i#
-ϫ f
+881 0 obj
+<< /Filter /FlateDecode /Length 2924 >>
+stream
+xˎ>_0&Y|A=;\6[l
+&;%Sot?/H) _ow-0|:}?yZ)̓<[<cla'D z2]JA`F"4+~ÏCx|9#2?Q^hm IRx+?OkJ ܞ3BeXH"ѭ~
+DHL\4K~6`D>C\R =DfB Bc>EȊI/ONhd `NO>O3BGRE)% c!gaWgkg褂I\1Jg[ N&
+Lއm
+$urزF/ڡk&|މ釶l}ܟA *
+eA[ eA^SIÒ (J,!.J urd]T)Hފk}pA1?m"p
+DX;@Ed:(Їg:WDZ$`\5''Ea!maѨ7UNZ3~)Ie0p=:|{d̒t*HQeL<zI\_PD xkeSQ ㎴iD+̾:1`ꯏ35[:񂛛D WvMGz@r?L(wDžiT2ZTOPUw)Wu  Uud7Tb'Jݘ_)8GD+1Ȧ|>"/Ցm Nx b1x(|sKAn4XΔը=rK1F vCe,xKS=U99xk,؏
+x98i*_) .tw:M왗5wM۝^5AH(2J8ޭ6xXZL0@ } m kh5qe-уyq>jp@ VcE@"bHC&?Oټf27ky`?o5`|@Λku 5oq2;0z&5>cJP,c~2@ܜ9h7rMRE-Sù"`e.Gӌ{YoSJ`RH أ jƽ,kx*E#<JΨkڴǸ(TԠ/ gI}Dr贙/Tn@Qb>hۧaqi&V8L3 4O3ki& %H*Ϥ p`#koCU9W(l/T_ne2s/#p/SP72So7g̊+B_+|7iD[eTnήH
+Q?#-W=k18CFQ.H*d8 :8Jd\;s,?ь4v)S %Ao4(~L/i]_Q" 3Ã/tMLB0$+a+6#wMqs]u^C__O",_i^:"k<?MV8I>sC6|' D_kJUe3d”UUfZ[xqo?x%Ji*h@ho(kѧ˞IH_ʸRf?MS\Ji%=nMa hdkW
+b)Y-۷{ wZ#X6;vyCU\f3=l`^*{37+t3<C[rP مl-G3G[fj^=Wl՝YQҽzv2h/ k}s+t`
+8nvxMކ|ZMu3n^q4c?2Z ^qˈ~Ja^yYb}~ӏt[vp.nSq>fqSfoڽ{A߮מ>;~u+L@ɪ:VH F_/\u)(#mJJV&߁-VxCHJ7 As.[ZA
endstream
endobj
-882 0 obj
-<< /Type /Page /Contents 883 0 R /Resources 881 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
+880 0 obj
+<< /Type /Page /Contents 881 0 R /Resources 879 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 866 0 R >>
endobj
-884 0 obj
-<< /D [ 882 0 R /XYZ 78.37 808.885 null ] >>
+882 0 obj
+<< /D [ 880 0 R /XYZ 78.37 808.885 null ] >>
endobj
-881 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 378 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F20 380 0 R /F18 381 0 R /F23 653 0 R /F17 384 0 R /F15 385 0 R /F56 388 0 R >> /ProcSet [ /PDF /Text ] >>
+879 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F54 378 0 R /F25 379 0 R /F16 386 0 R /F22 408 0 R /F20 380 0 R /F18 381 0 R /F23 652 0 R /F17 384 0 R /F15 385 0 R /F56 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-887 0 obj
+885 0 obj
<< /Filter /FlateDecode /Length 3866 >>
stream
x]K Wtn 
@@ -4066,155 +4061,165 @@ wc,yR0=kuMt^s"z[5AцCD"ȋq_ED˔o:ʐ<?cvW&
UTl*oZwrDj׭P;ĸ9ϻrr` 3ǹA`tg]Ö9Fc:l9EJe3L;Uae'3t{0ld#7gv%Qi?r1/
endstream
endobj
-886 0 obj
-<< /Type /Page /Contents 887 0 R /Resources 885 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
+884 0 obj
+<< /Type /Page /Contents 885 0 R /Resources 883 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 866 0 R >>
endobj
-888 0 obj
-<< /D [ 886 0 R /XYZ 78.37 808.885 null ] >>
+886 0 obj
+<< /D [ 884 0 R /XYZ 78.37 808.885 null ] >>
endobj
-885 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 386 0 R /F22 408 0 R /F20 380 0 R /F18 381 0 R /F23 653 0 R /F17 384 0 R /F25 379 0 R /F15 385 0 R /F56 388 0 R >> /ProcSet [ /PDF /Text ] >>
+883 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 386 0 R /F22 408 0 R /F20 380 0 R /F18 381 0 R /F23 652 0 R /F17 384 0 R /F25 379 0 R /F15 385 0 R /F56 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-892 0 obj
-<< /Filter /FlateDecode /Length 6086 >>
+890 0 obj
+<< /Filter /FlateDecode /Length 6087 >>
stream
x]I%ׯxsa PH\j\7g t_%BRHCU.DbPJv.?~`+م_s Wb [ї?~l]>e[+`̥|7y#|ߥvjs}Zg8xߟa_6my_q?~*CrWKk
ӳyqVR
u8Xqn:@.<fog^3Mw tK ;%ygk{'Kw<
XL\hEuRRGb7fRcgBm൴fYnLj["&6[kk?.+m%ik;<&'
UTYBim^((ʯ)Bi}mdyMxr[%mm|.?uZq]T\V+Ϋj]YQ09ꟖԆ~*j$qY=mW^F6?MW+3<^ )z 1^S_"0YKjY"7|Q]L*ф{ݘ[7cVzṋt.-JO׍n0{z5]xbnl k5OIىeCٍ7޾l&9-{H|$y, Ό -:$m7/8ʝEI6mGx`rxt}+BnˇUpnws7NRCxYԽgx&.h[# #|ny}L[G"بV8 w,s*Xio0<@zN5n&+WҸ$q$qG$q?8Wk[^< `@pA/ܲ? G`SPm߰5،hHaNvǪ]ooFni;bL\/*~fff%(<)B6+h"x[\Χa5Z ?|p8n1wӜ3&MW`ͯIVY \
-%VJtSu:%U< )ӹS)5x CMlPq|5P42yӿQ}`|_}=lv,/*Bk PLB-|p3Gƴ`LJC9m|ke?
-
-Qu ԰~hG㴎ղb Q>sP!%XPwK 0[98(c-X>
-V;fCb ƀ8\mtRFU1.c|L}N2?F'^6ć2"BX ;WDiBm
-v[Lj[$QxikLE> [
- yY.+\h Ghbɰa0xxF PZ,_Bµ8[H)Kh੨ 6:9i 'KXC[™a 6潖yK\D<g K~+0Q^G`5x]4G Sxf!E4p:[Q
-VТ0V4uFB@'%*x!,uz}*\9չ׍u6 w H22Q6˅"5K61{p<_@iVM{*Y8_.*EWO 21m*R# WO6d$vHN/}.J*muOz6FN}"WO
-
-l? 0ו,Erb7^s9%:oݽ/^")Yȩ
- "޾_7
-.5$xH(Zm4J )l*0.@x􅤾C Oǃ;.˦ǗR-exz4;[7
-8rwYD,:AS9ܙVeZ$)M+.av3|Kd`L|ҤN\M/`Pm\f HCz;FiT+k[ʱRjL;N-n)ͱJHjDfx6MjĤNli֖OD8FXMIomN#&Y3FUB"j /u8}$;{XFO׿)nOլC*
-^ V>&U*\wv`^;4/
-;~7_g'D=+T'+d_!
-}Wa21LjH0nO HTWI3e`*dW!
-}Ua21Lvj<mWz@gĻb>\w;߇I>^.Zf /Y>IH,t3,I:&":ٳTf$'-ϨI\bnl"LB5s>.e4/˧K0‹*?>KRy'dFٝ߼8=~޽nB>㋢^3(Grr=鄉^nA
-nbʴ&ƹ޵8DEH-1EtZcUѷN8w UQz]Dʝ?F7 \ǫT[
+%VJtSu:%U< )ӹS)5x CMlPq|5P42yӿQ}`|_}=lv,/*Bp?Z7ӵDE  '1-:P}{ši$xJ;oO1<]s5>S HTϬR5OlߩG)jXmCv,~/W]WOWe 8Uh:Nؤ]zfiYSVCA
+W
+>&,ieuDBơşeTi5߫,Q8cX'F)FyE ֤%Ҧ2"nsyخ%lK 9@Pc?Fn\` t Nn2$
+E*!AR;AZoZ5 %0o†%o?ɝ+l86F)o7w-Vw9U-F8-'Y~A1 ?29|qvQU h(>SӦLщWGo2L#'Q5xdĠd©<Ez1^S'|:h-lN
+W8Eb>F2"fy< |A,nQ%dp
+~*KރC_
+mNu#uc]+o*~݂/̼LԢ rHĒMEaq1PUiuӞ`
+dWKJv G}49H,S ]3KҬJEݯ^<3=M@Ⱥrv哽B#'@`!K{JPsDܓ4w4Ǯi{p@iV#*>f$d2n]xud "eLhCآe"`ٓYȊҼ
+LF3S%x$J8^7% fAc,J8^7޶)*p44r^WFaxĺr9tx d!+6>_{~
+>Qd2Y=Q>rG
+gHu&GV5  vcNj [ yzDԉd>UX Q45ϹeVDЯ ]p
+H0j1Ӕ+%DrpQB|7Z2<?^,_Jp3;<*olI
+ANH[Eoma`!z
+I\ > , xфmXCIU4O+G
+e4 S MBaW=^zd@O=Ua|6Cg
+Tvq:Κɋp`9,,{h#Ҋ䙺h8xر}423LZаH V姴_EjQC_ C*WI]%Qϸ
+|1 0UaBfujL ]f*0|V`PןHL }+aV_!0Waƾ"= 4S]%Qϸ
+V%L ]*aVW!0UaƮ"_2 !sd#|&xh6LRf$e: )=ϰp'XgGgRY >&Qr6 ^z3 K"LkpȾȺr/~.ap /jpG.A HAopŻoRewR>vy .'
+>/,B{JϠyʑbʑ&z]~>D/;vϗk}:ytcT4<1pxFֱ7^fx`Dh3GTpt$ KwM )>69sOz({+?n)H^zגv! kUTGF:&WaGumr)wNOW,seRm p
endstream
endobj
-891 0 obj
-<< /Type /Page /Contents 892 0 R /Resources 890 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R /Annots 894 0 R >>
+889 0 obj
+<< /Type /Page /Contents 890 0 R /Resources 888 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 866 0 R /Annots 892 0 R >>
endobj
-894 0 obj
-[ 889 0 R ]
+892 0 obj
+[ 887 0 R ]
endobj
-889 0 obj
+887 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 258.666 67.03 269.123 78.65 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
endobj
-893 0 obj
-<< /D [ 891 0 R /XYZ 78.37 808.885 null ] >>
+891 0 obj
+<< /D [ 889 0 R /XYZ 78.37 808.885 null ] >>
endobj
345 0 obj
-<< /D [ 891 0 R /XYZ 79.37 540.346 null ] >>
+<< /D [ 889 0 R /XYZ 79.37 540.346 null ] >>
endobj
-890 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 386 0 R /F22 408 0 R /F20 380 0 R /F18 381 0 R /F23 653 0 R /F17 384 0 R /F25 379 0 R /F69 406 0 R /F15 385 0 R /F56 388 0 R /F58 390 0 R /F19 383 0 R /F57 389 0 R /F55 387 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+888 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 386 0 R /F22 408 0 R /F20 380 0 R /F18 381 0 R /F23 652 0 R /F17 384 0 R /F25 379 0 R /F68 406 0 R /F15 385 0 R /F56 388 0 R /F58 390 0 R /F19 383 0 R /F57 389 0 R /F55 387 0 R /F49 394 0 R /F48 395 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-897 0 obj
-<< /Filter /FlateDecode /Length 5086 >>
-stream
-x]͏$m_F˥o X,yc e9$<>%~HI(GWxafzX"*Q\|Y.zOEKV9.~rїZ|,^0 >GSZ9,b?\7@qHɋ~r0@uQ^AJwED! EScJkDϵ]hT\>AFl) ^`"~JЉن<UT$ DDD5٭QDԾWj}y]Vz 4䨽򫵶g:*ެ+jBQ
-5+f;Fh?[zȿMsho~hjd_GPX@4`*;M_fYvKf!(WK1.% {uFruVQ[FSǤġv </ V
-;Mzev; SB@BrBRՖYRhmc
-S<hIbh@p2IY<[c>7]Mfpy#2h!8tVDFvcY/s6/j<ml=Ch6<Q Rͳa0~-|3IBXfO-Fĸ4ی=5יj,b-_!*]يqQaZ1s5kH^-)ϖ؎u3OK\GkcTعכW_OA;Wڭ:BZc~ތ~Z
-mSua[{%\W#6_8ȠV->bYUoC F+e4!bxĘtOQ쾇5}/:e񰈉067:ljl^]Ɗ8go*y2}O+ RT}Mܙ_{liǶ{8?n?oi-&ВK{Y<2>UT ;fl ͩ)5iXJ7mW!6U~td-Kc{-[
-Є6hC<Ԧ w#D'pi呻)OE>8ϯt)06'd]MHꖨ(M+~_JO9?M=,l
-f>x:_?m<kZ.S{N៹k:欯5qq}~Sgk|J':wh u|{Zca%+10$j A ;LRENR<IƫrVì72鵷8Pky妓dp8t%\ +$x3
-o3* M%[y<$;8'!(Մ4AT:dw ' anSOm`LTz9 @9Bm P1#c68&uHj1ޯMW3
-$nG
-0!Tc :( v6M恐WNޥ$#u`VP22 KB!4bߧ6<Z^D`$9uhL>߅Fŀ{2](f)T
-/GeC,S78ڍ'=L([SOȪDygEuJqHuZH!K6RD.sJ!6)<iη&e)( P(F=Jb+OfsLM# -%vkPlND@:LqFKr5Io6b9arZ*j╢ҭ! bܣ+ٺ$j8g;%"בR" BYQ:E H d#IԌq;bCɎr)Jz[ 3i ֩uI oξlJF;D@d5؂2egtEu0G'
-ՑRAH1Fʓo!^3|XbLE'//EcҐr#%S!NjC*,1 d6ʐv%c Y+sYip9s 90ּ:cR6<]
-tM` Y+sвt'R CS0RIFP cܭ4 i'
-Y^S.CQs/u!8#0XKad]O`u Nym.fOۂͅTnm.zIlZ{~ rak[e<D O|n M@ a֓_{7ۛ CRQ`RTQuw
-Ĥ/]^,Ӳ9Ѱ<vqbʃR$ ,qLhLC BO&,)&`L/)U DHlH>U1&Rc.z]I%5).h$xܠa%GHrF
-gr0ƧV$~ÉgU:e saυu! ⮈+I#y7$5X<0Oد25ġɍ(h̼fIj> sc,p2 +*qphq0Fe-q]o7 'sg; 9P8sGidSN%H?
-;Wqw#P{ 3 Mݠs
+895 0 obj
+<< /Filter /FlateDecode /Length 5044 >>
+stream
+x]K$F~
+?l,P4 qhDh^~D\ՌBN.k@=/(eh&Щ(hmSuHE MAϟ\ C EKՅ$WEM~y]^
+4h򫵶̳͒9޼+he,D(\tD\\曆TU(6Vۋ_t Y8i6Y9cdi@BhA
+jz/~/ߦ\4Szn53#~: xaS6ėQkٮEi<,pLJ|a[܎ h꜔<*ZWu0yym4'CV^I]hh]UiyÒ fCǛho<F\wpy4$ (kzz1Mo<)4C뜮gΣѣbBKN{yUhѨ7U_Hq?s i9eLĀ1maB \eb1؏Ϊ;^.fd[5ɼU?rZ_O
+O=VkytUj+T9Ė~L)|xSDf]r
+!,ǧx!b^agm_|=5וj[(/q)}㐣^E9;brkՐR=sWT T\Gk#5cg7;Lw9hDWf iD3V|f͇5FaS }ak\W3^8v->^%7(X.لcڳ=%=l߷{SJ,Uذ1׹E7%2Wq=|{-v.Kĝ7deۮKEӴ}SKZrQ?dk~
+ctثY'PqXJӒ /Kr@&YW<3i1>4O~ԇh1$*),jF|k@3fP_/MP
+jq9?x2P>9Q})ɛ4pm]mK&%[ ٴhqaIrML$Tf_ _"=8*;@9A$'HU(9%Jz*c"HPҹ g
+Yˆ"He֕@h _.Sn d.0UgbO|(BjhZ¿_W4;[}L?ɪ,ϱߟ\a
+ ,
+`=(4nXQ4tzdYwI9/
+oB&b!țz{s؉Jn6u70~۰x-[mN'sg!XS5LUlUi}3Xhgs?1(?rY(Ɲ }2u?ns
+`as*4DsNPܭj=0,ҍpe;.O<a<(1l-2 23~zcͨ0.Cs#F^y$YEIwOP֭Vgp
+.灚2?A>
+)9ˤWm'5ƔR Um,SJ]8
+$nG
+0!Tc ;( vPF@JT%p;W$ *aq5JFAVx=BhwRV}jUEFZ=@Ƥ/]QoaaQ uF6H~S L%@xgi[-2$A%<,f{@0H
+/GeG"K7ڍ=,ZNDygEuJ8Tr|Sr:j-4e(㒍'Q3ƹK\v GF%O:dEY"Jw 6,F6uIԌqVɶi p)HHTIo4$WM:-as!6\&5 ^)(@(7ذ֍'Q3ƹ2ةP U
+Jm)!H(HTGJa'Q3ƹK\v ;FK:j*U
+jNkH delSgv\}Tv*[GIjUF崋N$$#%C0FƓ\o^3P_'˂{KF{Q4\HTw@%fQvl2Rm eW1; \v +.c8&uHjVlZkV;J&H1J`X#f1d"
+{vȓIl0Ůocٓi*ft#ύ+e:DIm[\<{ g1h
+vsߩ^1+KBXJ7tE\coqEݭ",(z1&r)!'ί{O'ޛd˱v'-"lC}]Vv}ܲgށtgrݺ7 Fu=#dM<X;ih1x>K`{ʝE;Ojh1xi@ס73ی>rmc}[W:|X@On>,`wAzlxtCcÆPУ
+5&Mx!Hd 8S/Hغ~yɒI/7<k6
+׾S8j5m04wnq>?ZuW~ |VB,7;qWnc=7&իE <
endstream
endobj
-896 0 obj
-<< /Type /Page /Contents 897 0 R /Resources 895 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
+894 0 obj
+<< /Type /Page /Contents 895 0 R /Resources 893 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 866 0 R >>
endobj
-898 0 obj
-<< /D [ 896 0 R /XYZ 78.37 808.885 null ] >>
+896 0 obj
+<< /D [ 894 0 R /XYZ 78.37 808.885 null ] >>
endobj
-895 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F67 393 0 R /F56 388 0 R /F25 379 0 R /F16 386 0 R /F19 383 0 R /F17 384 0 R >> /ProcSet [ /PDF /Text ] >>
+893 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F55 387 0 R /F66 393 0 R /F56 388 0 R /F25 379 0 R /F16 386 0 R /F19 383 0 R /F17 384 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-901 0 obj
-<< /Filter /FlateDecode /Length 11648 >>
-stream
-x}M%7ݾ[vø9oQT hŸn{Հg8dfwﭪf
-(FB)H0y
-Ӱx@S3[zأ
-$l4RnKP˗zw))ڢ V=ꊟ g+~c5ݽ?ʍ.LbO:=ì[tm/tS24TnݍPթٸ ]-({x~>8]oҥk._yJ4_.UmИ_b4p֏kv|xBcGk4R [3u8*/q4#HlưynưEig[yVkD/S^%g2ԝS-b[ϊ˃`uiŻ
-5Moy'm]<n8_Wa{QK줵a>=4%J:[t[0NQTi?C ns#hώ^\KKo-˛5|b]k} ubk{Bavжߓp95a녉skU\㰙d%v0+WsxԒl smU/NQr]î lqe)q m Vj3i^ sBZv2Ov݌ݿ1=tFh*=n(ߴ.+*򻶷{CP>u== ]xv,?ƈK8N]Dot\-=ىQ ;Y }]WU 2?uL3b("݆2;ߑÃսF2ɗi<fuލWi?͂_4Y2Z )h u/&ΜG6c'^
-6R
-f
-k{( >%;?9XJCտ/[O率t S2aܳPxOxO]w/KC?zxﳷ \SA4nP?v9eb%S:xy^ʮ-J<M6h+ e^ ! ߸g7-|g3_zheoZ`ģMyMKQGFyF/
-kٳrlR v7-u!M^%1/HÅ{^n3VϛKk0݊4lKkAZپXC/7"O98iᲣw~zKEw!(i㽭;|yv"T쟩@7زͶ
-ՁAS ȵYмւ2,8Iɰwz'e8Hʫ.jM!w<(-G-IbӀ K醀`L7 ~r3!PPRxy7dQoGΘ+&y{RS{q5H`9+M5$hJqB{yDU |w5=~4k@ WPtq8e=awG+ESژ*&yRwq5?ui ]-$b%pBS[4oA=I}9Ly8\]rհR*BmQ1I\<MYfxdj-49$5$h*qB{J_dܽ‘L%v5+(vxm[Hj4ע)YWL^&j%~0@ OP3kq8=a%G+Uڍ.#nβF0KДdM-wRoN)٘ Ų#3AFM)1qr]3S Lg!{>4ԇ2 f0U:)Cۻu%BMʀ!pw4*8~u?DQ2AZ HqҐ(B[zQC '|<Lg uˬO7]8̏ i-3O;zv~Ys4V80OZ^yL! P<xx0Cp33}AM7>F8t9s.ƢV*)yQ{ *#QKV<a)$BmVPd@W
-\.Y2~<OzWX)#.JcOI3Lu{l՘*bX#<fû,-y"#Q:Nq;e=gyOE{?v~5ny#<3m1N@aaMCEA
-&fgCwe8t‚M N]`jCX usT?Ml+#(QKu;}"@d0);>O)y H0V6HD U9meH`R6(ζM`BCX&u3T?Mg+#(Qu:9^N'!+v.9+6嵳iW%b)双\|C(ԏGBM-*!uy&ԗt]Fw9n
-WE,4%bE@׈$;ݐE(1C*(Ӆ$u#1gvP[dBS.k2G{mIe%h.VY*0QsUh˕?;N/7=Rlj2%bE*J1O=j`PjlJrdgA2ĩ`Jh*%bEBWzNx8."*!uy~\^)iF'(kpSY)4՝BR?7HuRf5FZY'0EH
-WHjíO5V[n
-fv`ad[!;EpBcn:o.%|Z'8U/K >< J7[[ t|^[,EZ?Epp{D 唆7`y;>FUd1{"l՘*bX{yOJ`p`Qn|1($HHd,RLnl1vej; *#3zTD8hY˔70yM<ӍٶNӜ:KiXXYףKu<2A$:oiSmbr:0H]O
-jx=Jpڅ:p4< mbv:0yH]
-jǩ "US.]J3Mm.sx67v&y >GiVPIӣ
-~Ss+JjyjzAo
-
-q|G(6 Av*
-O6!EÇ8&T wz;3TC!|E 3iَ
-!)9>qRJ g jSw[MG} Z)ʣѩ!pw]d*y}hgq['$ڼ/ǦP8Bqp! ZEy4@44݁oɀ\+PݤKW4wnz T wJy;i#rg+U_ҹB;Bw;2o&Yiwy(kīB ^FDAC8%3:>9FuL~孾۫zz`8pHm}貕FA )fsc&΢ ִ`ѣe$fŀ
-
- qD{(kXAӁ,j|E2Dٳ<R
-
- #{@5$V#rq[s=.`0t#oP3I.ԕ" SPC0q>DM:-'zu͐3# zƀ5Zƒsus2Ninv`A<7?/o&3 NBce^*p=w%C{kE^UYe)1oāɱSQ6ŕz%$Y4u2VM4|L=\qCBC:Srl.p
-( U}R Bc%Nb3Ԇ3pwQHNv:kFkf:+#|EeS\)WBCx'ca^* /g]\&y*͇/y~I=g\Z*>(WBxXף
-"D◎1w_GZGk/pTJs䧋Ap
-RT0 NLU!=;I܃d[UO9`LS|WA5?B@j.Z H6qCm=~)śBI栚ʸc:~Kp 2T0NLU!=w]׸0MgN̺Lf5-fu  NU b[e>
-hH |zc繊>gA@>y1 ƚ! XKAE`'c^ ѐûZ]|i.~(in 
-n+E
-ZhpD!C{]\l<]XlE= W$]ӝ]y+h!LA0SGDݕ-E^ 5%lYn#KbFԎ aȼ;RT m/&0G xhXyۣ
->Э^7^‘@>(zE7'&vhBP 0m@nxTI2t2JO@f( z|H.JF=܆x$\̫OA5z)4Y7=0tCz5|pܷ9+ {zf6JW>Df4XxۣC77SORqUa!vji3[d#4
-C]@EA!yhfĮ0f^\O~A3z!4I3v2^(@CMIwltU~Abl|W{-3]RAMq^A
-
-%9 Gyw CpO(Ʋ5Y`Q D0N EYқ5[(ES$!薞F(Jzjd;T018Q- -;tp:MTN-{p -%~1.thl?T&+8C(DF]YNH
-$|k=XY^L8u}\rdWm&y? VNOj'4>o,"& 3Yj0\3<E(NOb1S_BH5RtPw:T*AjT呵lAFEm.gA15jdWRJ_랔(Tؠ˕(Ty.{pgƟ4>!FPt$(zCLx>ԍJAjl呸lAR ‹08^Y&WxjO1Ia=4DNE8FHviF3idOݒ𭙕.= Sn2)ԣ׺Q&r(GV4Ȯ0qai/ZѾ=~ fX>m6ɂNl'ti3scoq࢞2ABJ;
-|o=?ZnVm_
-دtv@P Av~U "G}Q䄢/{ZQmAx" xD:0ezER\WA4R5Bl%?BV啈]\j_MUI^5ᯅ.1`^
-RvDUVqxkS{-oV-SKt}vc.Vۿa?(jC9b_finJ֍ѐzܳ6?huĽ0t}?zW-{9ƳX/X>h,k ^,O_-?5gNjs<s1S3h:a>tm~>&I/<4Xɝqt/3rCW8<z9*>SU}i4|g|<bl=~$S}ŏ.}:{["u~pl/֒5`]kdulMm~Ϗ_Gs>2{f/~'q"?׺_Jk,?5
-} _aoenKi훵5Ys
-k<]Nׯ5]ʾݰo38,>8Ѧg>+XzYwyjK~}};z
-*`O>t
+899 0 obj
+<< /Filter /FlateDecode /Length 11610 >>
+stream
+x}K%7޾Yv89|?0*Uk
+o2m!dً>T_nO.|TC*E?b>!S5O.i+-^#̢G}loE佻Y(;^
+_אf#;F³0"+FZMxTZ>o#{b$Y j?dlKD*7ۅ .oBA-.2ZfU GQdӦEnj?e[PkvyQzW*:
+u{)n%_EfQLF)ĉ _A ˷9
+1k?^Zy9$;gSV׍N$6CݱCN
+ʍ6mߩ7jt%מ V QNNTr}rg9Cx^#Е|~(A |~$r5E c~ݥI}tWOA9ȟE/AP\@-}jFa,MHoO[L^Z;UxrfeFG`KQ'^N+GR u|΢8(:K~#Y~"tl#
+C>i]GiQxd ]]GiQxCn7]{Q.f]#b얣(X8 1`̺e|"MVFaQvmQP_h(m_^¢ٻ"
+#Bov:;8KF2,?][m^9 p,c{F0Զqc0- s٣GzQ]؛;TNI# j0=|o
+zk>syQ nx<RI(ͅ@X~?\ެa^kC
+u=ήxxћҿ6cBjk~HwJTH*K7j[!t8K^e`LI|as
+?<]rCLL;bȿpjr{{?I1]Wf8T'W:Ky]?,"bUO۳b;hwhq5na%m"y.3ߞ,_HPCs˩K֠IH/.|ɡ?ud=nǣjmDP'mVa,p
+v`Ɨ <%Ifހ,W*a0?0MA9Y%3Jq"`k ԕP<J# H9,H1zW9C";hVXi., ww ]J_A)OOD IF*xQ6$=UVH"ER1 s%~\JF$d )GpKzA t9g Si@sȁ9kf`R2+C>bejZ3~IJ
+Vv)=X+U̠  1E8Hk 3?/giaxAB?6n3 W
+`dnźfXXkΚ&*]> I1RWxHEuZdBQ+3BQ` s;+5',x|cE
+D[$7a%#OfG*ln^M\@/txY/4=(=V6㳅vb
+EB ީͶX(Z_|]Kb6b 9V**, D&XixG6@n}{(_tX$\xą2J#y4  WℲ6y3wJ~" O}bJ8Rƭl EAcY{RДz*'JPfHe'@+r ?YpM+6Yv@#,[)pN*Kh잇=u d=JLȤʹ/ʨeMւt3Vn))F۔84-ŵƮJ JZ@)dG衫*1@;PFL6)&9VU`
+ejZS'5z|"+aV6F'b>lÔY4Pf4['蘦|زiThS&SaD* _D5)س㵯dO8.l>-gV|U^Jm6yҤ3vV2 6Ǿ&D 4Լԯ[b`FUWl!KlRz Y" ouwBI(dlzO $tϽ8 e$[hMJY]ӄu5WIO$'W,T Hcߓu
+^jt\X4WJ`R*_zETW
+6Rh
+Vm݇e)p+-KWVWS,2Cf<B$09TO[ AWIR e݇:-ýH*r
+Wꄲ6y89C{ytx_zUh3aX…:<fY}XãȦ !òSG8ʸ= {Nɛ7x^nH
+e݇E|BGp eY8 Nl[ax!/"tW=蔉0bGl㖨^9PfTꞂ5㖰CT
+etDbDlC^7P=ǯS bODb:MZSNn,8&g&<eU$L);F6%$h%,A2פx ȁJԮpU(KPdtOgKTK0MvrZ!MF|Rp"5Xj>z|E b/Қj[Y!50xCeNTKQpOMlmA;PMᱝS@S  =<^*FQ
+bJI 6%am8PJ6) G|ͽi2 sBH)W3[z$AVS>Rc^%jS\xwKZ11 ɜ zLsz֫AvxfaM~ht@xR DZzL5DX|]mM\cEz$f% ƝKO x+f=.oܔqD>&#1;R:𰹉Rq s; Fͅߺ=W8"BY+ON*vi6+kS$R31Yc=@VD@X@D:(&|!!d߫y k17R:హܰRq s;s`Tid\'.G.Q<^5;%"B/^bIQ9(ti+E$INUj<uc13@1r,`g$Viab,|@):*tLp}X!TyF㙐)Cb# (DҔ* Ms200FLQA>I5-ix:ѣbLLHz~>gE7RäD:!tP)FJ5*B1VcԊQg-jTEr"L
+&9KNf!Z""- 3²Bi SƞHs> 30.٘9QX|@ !DBɉP#ԊqL1[Ø& "ZO5%6XHfB2aAAԚޚHsj>s0-٘yQrXl
+Ibx M^3Č}l
+̅pA'ʌY <ItTO:RNs/O,S9O#iV
+%q,glUp.h_LꞅI'NRWb‡/Gw\+kE:O}_(CaBO|*!\PBwb;2MrߡJ>L者bvZz1=E|B![L 5W)2ga' d8ux.'x :`v[ İj5!( mB>Q&W _.b{4 Mr&\w-ct£ջ#-<`}M$gSؤפJ`=4MZ3R>%X/Xcv(ȳn/A.̲PrV&eelZ=`a'I"{XܥlW Vĵ/Qןʰ葯8!glUp.(ℿJ= D7 ROS2FܟvrȖiAgLF>sյCF Xp WBZdaw &i >jHH[̸= s}% ~bijx?QdG o0N6V  $miY+ʄJ s Ij`_ۥ'IY܌ \IpS\( l]YTK6Y(Xr
+*{+0'a&I~Qm.bl2.7Aet06Pr
+*{ 0'a&M~<\KZb 4w @TӢZbH;, 9V ၢmʪ mdWB@їK9ahQ% +pƮG3ngWB |lU(΄Jp {f"I~IR>1 ffVv.,0$ %m,ت`b:Yc_.VL8AAx)'6 Ғ
+_KuM=Gkw7FM) 9V ၢMx 0'afmk\'"MdI@
+K gƙ7iNʘ0!ɀ[NJE\0"f#'\r%2~4~GLK)ӊ웴'eLOT/4 /YѰ=pI8\t%&dw ] J!-EvBo6Ɵ X̘#*?I82q$0)"+@BDz]HaeOjU_"戥07%KEVe(lrHDv_ |)^f Jִ+llk2CI -2|[1^JUB#M) )鲻d/UxCB5E(vӝ'e̔OX/L /YѰ=p:v#A Jx%%\x Zk`fxObNM,fLls݊P3q$18W &ES{엔
+%[,g(0+\`J ϜrBBAe
+?[1 䪩b$753QGV#(
+{>x$#tf)Lyd
+iGaB9VӬ
+!U"|ƀKM P˕B;"#SBE=PrV_ŞV/Ja d_UYcn:ê [ [B>
+Q?%<%mQIb7_LOX.m^Eq:Tmvُ4+-3BJ4p-4|IT;K93ա=Yn8컒k_ ]tS<JK'Bau3[Ob8lk}
+Lh@SOXwTEx;ڴgm5xݷJ\2I3i(S$ik=%/7/
+c[s੽yHV%*iV
+[B>!
+Q?%<%5熱D5yOI-x_fK}-W>
+_^7yk">+9h>c;"MN%EutॊO\MR(p[Tg]u쓩|O}-[{"C]qo5`Rw!?SܟHTߪπ|>jggZś#B NJi7gR3@K׳ۍԣS1cTB2kg]ȹ뵕\p|<fɀFn疩ݍ'6tOŗEuE6"DC"?Q?6\Qs Uk|<F͉VA|АaA3UT94r5hV^& |>bH|İ鈙*#fV3b#XcMV$r+"~Hh˧qZ2thL=&D( lUan6xLG x#Gc\%,$??ÿr2}4]Ϩ@/sN]g@sC7*N:\V$}Q2 \-Ue#e=j6os0gi@ʵs I§̗lϲC-w"8ZvoJa4`9\?ߨ%z*|5f<UoʕC?#{iPjz.|¿BQ>sq66 ǟaun1ytq;Kj {O|6mSWk?pXZ9}T?&|'j<Ď5am
+bLG<Uڗ0|ľ> _W6_µ//sJas 5"#?Q-q{Sֽn۾4{s-/yr7ʺ'!=@};4Gm]?O!TrO>x-g{o:ǑM`?Pߦe37sQꀐpQg8j/oc{!$cKŷ)N?l}Ń}k~+v+G{m\$9?hψ -dg{jңՙ-?Q0\t׾0>?WMeܸ˼N4䑂#B(}zd/7ײWMe4~αzC[qqݚ!\ *`2Gvz
endstream
endobj
-900 0 obj
-<< /Type /Page /Contents 901 0 R /Resources 899 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
+898 0 obj
+<< /Type /Page /Contents 899 0 R /Resources 897 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 866 0 R >>
endobj
-902 0 obj
-<< /D [ 900 0 R /XYZ 78.37 808.885 null ] >>
+900 0 obj
+<< /D [ 898 0 R /XYZ 78.37 808.885 null ] >>
endobj
349 0 obj
-<< /D [ 900 0 R /XYZ 79.37 639.272 null ] >>
+<< /D [ 898 0 R /XYZ 79.37 663.183 null ] >>
endobj
-899 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F19 383 0 R /F16 386 0 R /F17 384 0 R /F69 406 0 R /F15 385 0 R /F20 380 0 R /F21 382 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
+897 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F56 388 0 R /F25 379 0 R /F19 383 0 R /F16 386 0 R /F17 384 0 R /F68 406 0 R /F15 385 0 R /F20 380 0 R /F21 382 0 R /F59 397 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-905 0 obj
+903 0 obj
<< /Filter /FlateDecode /Length 2908 >>
stream
-x\͒S*Tv=[6[*'WC/ytE֊"/>xݻk-W$&뙴5q#/_ϹΥģ߭Ǘ ^WYZߌ\!Ǐ{6<* ouݻГgހQ+Pi JPo, !w
+x\͒S*Tv=[6[*'WC/ytE֊"/>xݻqk-W$&뙴5q#/_ϹΥģ߭Ǘ ^WYZߌ\!Ǐ{6<* ouݻГgހQ+Pi JPo, !w
τ?wls;}Neq*=Y[=kgWI&%/}
<CҞ)ر}MOYSu+(~ԢB; LX=3 b/XY9C_?M非=m4g`~a
k? OA󴰛]* pps >i7=><* GFCwIapzRnt;tCr;
@@ -4228,100 +4233,95 @@ O naf83)$a^:qb$>NLpY8<ŌprV7)pݔ
}FMüY3=ak1JHoULqfy`$3LQ56jwկ*Bq
Ksv6;܃|fwxN|>rT:;q/϶cF~pQËbj0qbxGOM7?MaMrS(e2V&,=;K{u.;v3{ \.AvxȺx,³Nг~p㉿?e34FK^r9;o7?XE)=cc''%;;yS:sϬQ,nGZk39S-[FpFlAp1٢pۋ.Tg#ËGh $='I3
Hх QLYʼnL|HUn&;9G90^3+|h/) 9YR_y|Wh{ķOs{,}Ta[,=R^Rn0ctPvRnmtps:N:sս=}ΔtRW~^bD aU)`:bïn
-ءBo~'ڋotK{%]´fL͂ $嚰Wwy<o1?[j07`Eqm/8
+ءBo~'ڋotK{%]´fL͂ $嚰Wwy<o1?[j07`Eqm/8
endstream
endobj
-904 0 obj
-<< /Type /Page /Contents 905 0 R /Resources 903 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 868 0 R >>
+902 0 obj
+<< /Type /Page /Contents 903 0 R /Resources 901 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 866 0 R >>
endobj
-906 0 obj
-<< /D [ 904 0 R /XYZ 78.37 808.885 null ] >>
+904 0 obj
+<< /D [ 902 0 R /XYZ 78.37 808.885 null ] >>
endobj
353 0 obj
-<< /D [ 904 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 902 0 R /XYZ 79.37 771.024 null ] >>
endobj
-903 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R >> /ProcSet [ /PDF /Text ] >>
+901 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-909 0 obj
-<< /Filter /FlateDecode /Length 2210 >>
+907 0 obj
+<< /Filter /FlateDecode /Length 2209 >>
stream
-x[n$W @,tލj;L\rk(م '寋~^?~qPhpuq^hwq:u竔_oo%QW 6_7L@O)we.^x w+t%wRMJ.'A:7pBIٞ |-|/O7xMov4R\I' h^QpV8pSL"\P݉δxDШ${tRSKoYYN>JU5.
-ĕLM{2d'
-hrȒV܌غۋֺs-hIjY/|XM3eqjܳ;lHBD)5}/!["WL(m.hF7i߳шύ4KyMc!8̳1@P or;VdY z'IUqwV"8J{zB5`X,sZ/E#ț
-BVi1u}u-<`e'& [Y1<BmR3 '#!\ l16xQ<i5EJD  JaS'jiGOND) aSSёg琽6Y -p >ey@/97" fw
-
-";YCa (l, *gQK '9GU.gа\lG\<#؝$[F1ifڡ2\F—V1^;(y'c@K}@0:(qfN$%$}Jɥ0hzJBY4\^?e[t-<@yD
-m6C.e=[s߂ul/I+k h8h1SF~_ jڣped~OqeȎm=CkxDu͹LY Fic N
-Z$IKopQjړ
-ͺsg|}(͸OM; 괃hbfT7TFx,XM1o7|m?==<b<& omP&Σ/-3W8&w8R^uL|}c7~u<q[@[nq__KU7u~亖Xs^H2\4S iQ V
--a0|6|O$G!tGV[aN7#"YڼC86eHo6Ã"BԛpJymMױ`6yp _6r˅ ;^ SFC[dߏ&]+]TMV]եbrͮAZA Ԛp6c"v(]a[cklca-]h2X }]jrg7~Ifn<Ccw8v
+x[n$W @,tލj;L\rk(م '寋~^?~qtQ(4Z|?ȋ8/8C|}UJR⯷}(+M/lx&H䏻2/;VBӻ^PL&%\G ~GXlO'Êv&޷g;~)$Iݓ4(K8+[F~s_{d.DgZIv<`"hTepOý:))7,ykjVYeJ&ߌOAewU}F2“vWP@@f@]^֝koAKPK,$x!j,TCg+F:L'OA{ ^ϼb
+d `PŦ6:?<QsH;=|r"Ja@ <;쵁HhM)za9<gt@5[?1yvVU"*VP 
+[\@acIV9XϠR\J?>*%u9 MLeX=Jq=$٢52odmM6+->2؉Gф0;?'pXjѡ@#5s")!;P/P`N.AӋW͢1z,ت[o#`MRaԪ\^z`
+e6,m0;^W<<HIVhvL.1hޚ޷cM.O% ]׿_HNxEAQ2bPsn/#|+sGvmZ+#keҐ]0ڞN{]pRp&IZ-}3z V#О K%`j
+cIgK 'իqꃇ-Q^7YSœaȖӑerfvtftY-)/-P2\m͔ GR
+[%׵ĚBrXrG܇~f8@HGjy=Vh #qy} y< 1;v
+v\1=±.Cڇx#YބSk+oȿӆɃn6OuL[.%`⠧/
endstream
endobj
-908 0 obj
-<< /Type /Page /Contents 909 0 R /Resources 907 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R >>
+906 0 obj
+<< /Type /Page /Contents 907 0 R /Resources 905 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 909 0 R >>
endobj
-910 0 obj
-<< /D [ 908 0 R /XYZ 78.37 808.885 null ] >>
+908 0 obj
+<< /D [ 906 0 R /XYZ 78.37 808.885 null ] >>
endobj
357 0 obj
-<< /D [ 908 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 906 0 R /XYZ 79.37 771.024 null ] >>
endobj
-907 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F67 393 0 R /F54 378 0 R /F55 387 0 R /F57 389 0 R >> /ProcSet [ /PDF /Text ] >>
+905 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R /F66 393 0 R /F54 378 0 R /F55 387 0 R /F57 389 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-914 0 obj
-<< /Filter /FlateDecode /Length 2148 >>
+912 0 obj
+<< /Filter /FlateDecode /Length 2147 >>
stream
-xZˎ+'SB3lUR@_²ݗUs?^d~ᢔ*wEyQvJHT/ޤRw)͍~_R"Oh~5vZŏN;(#!KOx'_e&c|-^ɧ%f!*̉h+ŸB⊢RA8F8a"f5k2K<KK5#w'b־ե`Y]c8:zNZ}O8
+xZˎ+'SB3lUR@_²ݗUs?^d~*wEyQvJHT/ޤRw)͍~_R"Oh~5vZŏN;(#!KOx'_e&c|-^ɧ%f!*̉h+ŸB⊢RA8F8a"f5k2K<KK5#w'b־ե`Y]c8:zNZ}O8
HLQ--fd[}`U"+d
S]"yZc⇮r㣾*gla]3Hj|'R#nkxp]G+ILT3^H*;S' uuМ%L!ʟ&y~,Ӯ4EEI?y4J(ќy 'b6+tښ?e@?Q3;V{w<'W\]ڭ͖_zLkpZH5y`iZfK3_):w3gX a\-FVEqKݫ":+z&\SGV(j6(4fz"\cI
^K:rpk(LՇQɼeqӼ:2,P4ЌY.[It+ ukOAj\p\FAc<D>KXRp^^
R@.s˜oȩ|J%̀}UWp׏'mk`<$oO` K=SbU&n)bY
ڋ+0HsYn9 @/ig'QZx5шd\zal\S&8#AuEo,hw =i0?RW`"Q%G{[A}/'Y'9UPad,=PWvZ6vza)FS,g|u83$G|94Drܦ^kOz6>l/  z\1y$>9uxн
-p)w[KXlfi4HVbY&n8eʺ+ibeliLM;-X<݌gq#wq{M}twL6mk43r Ӎ!OF*``ה8Z-bs 0†gjzz};0]08`'rCRvU(/yH Zfr7t򂻱!1Ax31W Xtmxo :>Z[_DFA}l_Uk7(zJ^
-j2<Jc?c!FLi8#첼_m."nzi_lվ`/x6=AkX8gB
-;EC~7б j'O<z7zR8e)PquU&n~P>&!zUn.Oyt7ݍ6O"GO xoDmV-olu/޴Gg3f t5fɶi;r"cс~`w+3}߈GebGɜlhM~|2jR ߷G%𷦠A8G
-|\Pk3}~׹.soNqŌjh0
-m~U]mb3vp'Ls4RU}ԑy{xsM$ of\}Y*צj֙T-tVN
- aEx-4m"l#(h('x႑\x_jI#g|bj;SX: 2ioI&=P75^_Ύ
+p)w[KXlfi4HVbY&n8eʺ+ibeliLM;-X<݌gq#wq{M}twL6mk43r Ӎ!OF*``ה8Z-bs 0†gjzz};0]08`'rC êPfAw_޷@5An wcCQc"fXc@X۲j?j<u|RlY4HC <h-&2ؾTyMn7QbWJՆ/qe,y<v3qBvcqGey7T]DӾ/ئ}}Aw_lzTמ7p2=_τ
+홋ć6ocq}xOy(o  p6c˚1R*lL*ݨ2%|L~,BO]R'o8omޟD. AI #ڬ5ZZf
+^4i1f.(Ajkޑ`mv@${EūǢf')=;$;IWf"7(ď69pK!>њJ@d&~wo|7J0B3R@woMAp֏'fvs]@22*HaAP:aJ}VOg:NNmDiؓ#̓
+NI @f͸ճؑUM3}N[b{'ŠX[nir+DCF5Q<1P.O\#[$ԒF'ĖvZ"L+u8deޒLz\x oP+k ?
endstream
endobj
-913 0 obj
-<< /Type /Page /Contents 914 0 R /Resources 912 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R >>
+911 0 obj
+<< /Type /Page /Contents 912 0 R /Resources 910 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 909 0 R >>
endobj
-915 0 obj
-<< /D [ 913 0 R /XYZ 78.37 808.885 null ] >>
+913 0 obj
+<< /D [ 911 0 R /XYZ 78.37 808.885 null ] >>
endobj
-912 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
+910 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-918 0 obj
+916 0 obj
<< /Filter /FlateDecode /Length 2276 >>
stream
-x[n$)S 4AdYruGڳo& T&Uvk|(L/
+x[n$)S 4AdYruGڳo& T&Uvk|(L/
=]\&' _]eztß0$Me 7z:ˏ:YkduqqVg-pJw-fg4Yd 6w]`X6eNLLZX=3:f+k؝H%0*A'Нqb5ޓATUCY+Fd1St'M$a$>kz&5]м~.9sEd}CN"y#o>O:S"Y4qOnR,Țb8[`5I/rWb{5z鈇K9uÒ|RJeY_^Ih(fJ]BֆN,jv$f@X=rwME)B~Hwd!d}~%+'jZ^%:PhK\"p,CNo mP6gxG ѯ`IB zʋ)0$elN )[:jqQ\M>+H+ҵ$b?
 McK3M8b;wqK.'X ` ڭ }*3i _=^VfkA /I☉By(-{rE{h #n/40E
;F!6L˸!P̮]I(NtbHnku絰N5 ֪uM4:hi7"8L
JOn]6F-jm-7WwpSȦ殷<*.;$d
מb`SPqK)@?W!T|Q84!,s%4/5ǩCn7:ʫ5LyK&>˛WBp;#v'\-քYϮ} +˺BI Ѵ=*B",ؼYY3QOm"RLOtz ԑV2":&lhdh3x9&(X=<Axxk&f(Q]C<X@7yw}焥~ݭn* [kśA4IjK_h ݊d$"[)[x[p! e|a)mWۆcoiW/vy&}N‚zRFes0[S`ꞁZsBBhP^gv1k ҩ~B^ZW>=e
g\~jrB*SGz(*=o\u
-0`@ M4a͚{{iK6mL)SmFcw"5{KwA\TmmCWKEr t#Cn%gG'"Sύ-%R8U0{ > ߽ie{x$7fgZ)@uam
+0`@ M4a͚{{iK6mL)SmFcw"5{KwA\TmmCWKEr t#Cn%gG'"Sύ-%R8U0{ > ߽ie{x$7fgZ)@uam
endstream
endobj
-917 0 obj
-<< /Type /Page /Contents 918 0 R /Resources 916 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R >>
+915 0 obj
+<< /Type /Page /Contents 916 0 R /Resources 914 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 909 0 R >>
endobj
-919 0 obj
-<< /D [ 917 0 R /XYZ 78.37 808.885 null ] >>
+917 0 obj
+<< /D [ 915 0 R /XYZ 78.37 808.885 null ] >>
endobj
-916 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
+914 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-922 0 obj
+920 0 obj
<< /Filter /FlateDecode /Length 2279 >>
stream
-xn:_h>+;̹oΜ*Rb$@,־2C=l)%17n.t7gV)MJ|H~I> ןL\K5vڞŏ~˝X[
+xn:_h>+;̹oΜ*Rb$@,־2C=)%17n.t7gV)MJ|H~I> ןL\K5vڞŏ~˝X[
@;Կ2tbw<3pK
<p09ZN]2IA3U;0*~U![E "o*Z]!օkuK52YP FiCTps)+lժ+3ctt&k#eO0\=D_&= G{F͉wqJF7p;;uM_?Y#RESZ9*zmHs-HX4pf6EHήM9rUx\zc"=@Nv.E 0(RaI ,718HASx ͐xN-p&pIDb$9͉-T
ߟ4Gn40ށR6S%z^ĤWºP2p.JdZ3z;H+Hخt)gh/ UAXL) u8͉H
@@ -4331,44 +4331,44 @@ xn:_h>+;̹oΜ*Rb$@,־2C=l)%17
Cg%uv#&Gj}:=<w!?u1jH! 5 z-Hƌ>$hisf[r8
,Q^ b0*Cо <yj\
H1L2z;@$ΤNM2*?vZ~
-oI{wzG]Q &" k6h(1)A^X!t?G6֒NTR{aqw[F|’NP&-ݪ
+oI{wzG]Q &" k6h(1)A^X!t?G6֒NTR{aqw[F|’NP&-ݪ
endstream
endobj
-921 0 obj
-<< /Type /Page /Contents 922 0 R /Resources 920 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R >>
+919 0 obj
+<< /Type /Page /Contents 920 0 R /Resources 918 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 909 0 R >>
endobj
-923 0 obj
-<< /D [ 921 0 R /XYZ 78.37 808.885 null ] >>
+921 0 obj
+<< /D [ 919 0 R /XYZ 78.37 808.885 null ] >>
endobj
-920 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
+918 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-926 0 obj
+924 0 obj
<< /Filter /FlateDecode /Length 2265 >>
stream
-x[Ko#9q0Z^@@n/s0U8i NU"/&?_^ke/o%Q/H R]JCJ+@JGȿKkC펑ViF_ p^-}9sۿYF/^x6D$)rED҉k"^7;GMmh*%JJ6жv9V@?SﴰH-A͚]
+x[Ko#9q0Z^@@n/s0U8i NU"/&?]^ke/o%Q/H R]JCJ+@JGȿKkC펑ViF_ p^-}9sۿYF/^x6D$)rED҉k"^7;GMmh*%JJ6жv9V@?SﴰH-A͚]
0&KO9G{@cf%WFJ~"PG3'U[MV1ٿ#%ωRiWYnt6ƕ /`j5"do#;-% |' ge" z4˱%)+pVWפoxa1$#͠[k=kˍէ_I/+*[6,/E45*m׍VL)
VFʘAU] [;3jftuʊDja>\S=
Y-^]o&f0oǮ7{qg mCaol*pp-0ƒB,*t[*tTc3׮
70j\Ӟ_s+qR1z(B'@_ ]8W?/>)h(nez3`,p3)G7MCY3,I
`08zU!|kZtom=~CŒ6Ԩ~odhCUsYO)y.5a
ZDf'
-Qmό=_7clэR%M-/#d\67[5 ē_u0~\rP!;
+Qmό=_7clэR%M-/#d\67[5 ē_u0~\rP!;
endstream
endobj
-925 0 obj
-<< /Type /Page /Contents 926 0 R /Resources 924 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R >>
+923 0 obj
+<< /Type /Page /Contents 924 0 R /Resources 922 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 909 0 R >>
endobj
-927 0 obj
-<< /D [ 925 0 R /XYZ 78.37 808.885 null ] >>
+925 0 obj
+<< /D [ 923 0 R /XYZ 78.37 808.885 null ] >>
endobj
-924 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F19 383 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
+922 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R /F19 383 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-930 0 obj
-<< /Filter /FlateDecode /Length 1440 >>
+928 0 obj
+<< /Filter /FlateDecode /Length 1441 >>
stream
-xYˎ6 WF(]Ϯ]%,9g0nFۢ×/p˻UV_/E_|T_
+xYˎ6 WF(]Ϯ]%,9g0nFۢ×/p˻ UV_/E_|T_
|s
?
6z??~gݴD:Q@Yjd3
@@ -4377,1316 +4377,1312 @@ xYˎ6 WF(]Ϯ]%,9g0nFۢ×/p˻UV_/
~Vp|g,4{1v'&bv;Yl)OY%9b(򺔣H%2h)k$jc-=5Ok^Wn KXe[*´QC +)y*9mҺ+l'?)Cڗ^j
Fy
~9QCN~Ԃ0dl-Xzyrj[=0 L'9[C=Ǩ7n\UJ~{~$JNS6X'yvfvFNGaj/AHK0qt4z
-(OvZC
-_GQdX}cApP{B˪)cEpRg dݼ|NL%!݃cM 4ga=(N
+(OvZC
+ĩGTydȒci)XVhUFӜP9 >Q7gIPDZ=N])"۱f[ZN0~l9вL dD2'Hҗ^$ό"EO4|xb"ȰƂᘡUSƊ yk@0KBlC&h'=]hr)JzWOK3Qz
endstream
endobj
+927 0 obj
+<< /Type /Page /Contents 928 0 R /Resources 926 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 909 0 R >>
+endobj
929 0 obj
-<< /Type /Page /Contents 930 0 R /Resources 928 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R >>
+<< /D [ 927 0 R /XYZ 78.37 808.885 null ] >>
endobj
-931 0 obj
-<< /D [ 929 0 R /XYZ 78.37 808.885 null ] >>
+926 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F15 385 0 R /F56 388 0 R /F57 389 0 R /F64 391 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-928 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F15 385 0 R /F56 388 0 R /F57 389 0 R /F65 391 0 R >> /ProcSet [ /PDF /Text ] >>
+1047 0 obj
+<< /Filter /FlateDecode /Length 3256 >>
+stream
+x\K# ϯXDR/`@{z &RRIWUݞnHȏeyMMv~wS$ ~7Mݬho!%)R"Hi?Y1)}0TRh&w3)S3LxCot`PSIBHX3Q?H=~8#0gʏJ
+ 1("VB+(2&S'onz~b؂rZ
+fsmNW
+ck~=`|nghQDz_GFjpGCibkqO/svpn\xcq4u,^3(wo1uΫARC50HrϤ",Bnb[-V9KAʵ"i=Zemi>rV8.p:cl !wl&rhLj)e^/`tViYΖ4$1]W"8Ja.5^+9D}Ǿ8N:3֜./a F=2 BE]m(C n\xw
+gUfX^I#,>o8.\ В80rD+(Ngk*= kK47ʐQYfu 3R|n#T #ERZD`bt&}:jk.:;Z0$IDg*FDfsi%O1YBiTՑl0(AT{[8tlfu줃\ jTZmCjsaݕY1_؈)SNŋ|-| >QGK{JG*u+iŃ \A-Թ$ ozULphesw7Po|Cuo} =(LcvT:keec?fee_hwE
+.Oh;;i/u0T7#:J\js;!5 JQa
+اRˬav.ac3Ӄ|ۤRlI ΜEȨ-`D{}oSMCRaOyA&b-R3^
+d
+*!A qA}/VeJwY;C! gZ`BUGVq`WZ)s'Aouv87wt
+GwgE]7 W~Oo{%Q/-vWL;:0T$Kߕ@!# < cFJ!\>{]_d(8g~& f:{._y{0W=rnǎ5ext^aM%U^N-(j~)}OyXm&#n\QsLlNztmZ
+endstream
+endobj
+1046 0 obj
+<< /Type /Page /Contents 1047 0 R /Resources 1045 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 909 0 R /Annots 1049 0 R >>
endobj
1049 0 obj
-<< /Filter /FlateDecode /Length 3268 >>
-stream
-x\͎$)S I*:WsV{=_@@!"Ȫ=6?ߛd~pS(4Z7Eoț 9-)Q߇R -)0o6X j9Ko9?&H(3#% U$J,jtgo#[zDudW6A' -jUYFAxb\Q$R)U 2D61u=Y$Gc}O|t
-
-mGH2-|6)yMI?ľiiڟ,#C9Zš}'v T/WܰzG,(c;μvi-K;sD$0 ZlXF0f䘬
--PmJD+m2X{~+?]_c?8$qnSB'232x/{(f6gpEF`Ǚ-)> z?iߙUJ{.datnr8Vwqo;FzGysg9-n[_yP> X&*ҊI-/Uw2 TRUͨ?
->AHg81Lړ*ZX2rGՙ`EK^hԜ'XLl~ز|١Zw^{*1Ǚ:3-.I@ t =I{Ӂ*}jOZxv˽ч;Ct!,4AnzL[29J^XWC͸1!q,6Dg#ug>Y#P#;1:d?;1-!(C^G` @1B[i
-~%%%%N5xN]N{4 o1̋@КQDBj
->Y%3?Ys㥎ǹXճx
-Za$_Q.`VYϖ-Cz**\ەyU!8-ƵR㭒I~vzg޹/Q޽u6f_el?/68s/P袭ϾϪj{[N?o8*\ В(KGKj˿WϨ2pξD/pCJz:eeVƒ:,6*A0,xJ0<,շn8QOw1 L':N m 'BXҀ xO&nrd#4,:q "xllfu줃 ZT[m}W'V]󵍍y6: CY-NmnZ
-5,%*-<=mF4-˔SNqi*JR \f!s;FYNs琬*2=Tqs)ī2kKXX %h 6DF͜ED[ " ӜLHZf2
-M/r7^ځ}g4>f0:1Hӎ
-ƪi0[PK:!1 3
-> kw RT(s>>5
-n&](i>kiLf^5pyR Ppѭg6^DI7"t6;[|0"mvfE(д&&᫐ H[~[\έw:DL +[*+cà"B#ͦѝ =% `Iq ֞˕` kB0Sc18hT Jʼnrc^G=csD+ʅ bq|]k.RRYzBk b
-V4S /Qe<J+ [ؿ
-yT됸_qO[(·T3|ehun<vP-'٥slюھ )(싺nn8JxzQP;+Nw<w
-endstream
+[ 930 0 R 931 0 R 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R ]
endobj
-1048 0 obj
-<< /Type /Page /Contents 1049 0 R /Resources 1047 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R /Annots 1051 0 R >>
+930 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 134.055 681.88 141.029 692.928 ]/A << /S /GoTo /D (page.9) >> >>
endobj
-1051 0 obj
-[ 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1018 0 R 1019 0 R 1020 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R ]
+931 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.716 648.583 180.69 659.422 ]/A << /S /GoTo /D (page.9) >> >>
endobj
932 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 134.055 681.88 146.01 692.928 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 268.68 636.07 280.635 648.025 ]/A << /S /GoTo /D (page.18) >> >>
endobj
933 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.716 648.583 185.672 659.422 ]/A << /S /GoTo /D (page.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 624.334 174.872 635.512 ]/A << /S /GoTo /D (page.11) >> >>
endobj
934 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 268.68 636.07 280.635 648.025 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 612.379 174.872 623.557 ]/A << /S /GoTo /D (page.11) >> >>
endobj
935 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 624.334 174.872 635.512 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.268 588.249 241.442 600.204 ]/A << /S /GoTo /D (page.64) >> >>
endobj
936 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 612.379 174.872 623.557 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.384 576.294 242.339 588.249 ]/A << /S /GoTo /D (page.25) >> >>
endobj
937 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.268 588.249 241.442 600.204 ]/A << /S /GoTo /D (page.65) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 564.907 174.872 575.736 ]/A << /S /GoTo /D (page.48) >> >>
endobj
938 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.384 576.294 242.339 588.249 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.972 531.052 237.946 543.007 ]/A << /S /GoTo /D (page.3) >> >>
endobj
939 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.917 564.907 174.872 575.736 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 519.665 180.102 530.494 ]/A << /S /GoTo /D (page.48) >> >>
endobj
940 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.972 531.052 237.946 543.007 ]/A << /S /GoTo /D (page.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 507.71 180.102 518.539 ]/A << /S /GoTo /D (page.48) >> >>
endobj
941 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 519.665 180.102 530.494 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.678 495.187 174.633 507.142 ]/A << /S /GoTo /D (page.34) >> >>
endobj
942 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.147 507.71 180.102 518.539 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 483.799 122.817 494.629 ]/A << /S /GoTo /D (page.4) >> >>
endobj
943 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.678 495.187 174.633 507.142 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.987 471.844 201.96 482.674 ]/A << /S /GoTo /D (page.4) >> >>
endobj
944 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 483.799 122.817 494.629 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.949 471.844 216.904 482.674 ]/A << /S /GoTo /D (page.10) >> >>
endobj
945 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.987 471.844 201.96 482.674 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.041 447.366 202.997 459.321 ]/A << /S /GoTo /D (page.24) >> >>
endobj
946 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.949 471.844 216.904 482.674 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.739 435.411 179.694 447.366 ]/A << /S /GoTo /D (page.11) >> >>
endobj
947 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.041 447.366 202.997 459.321 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 188.74 423.456 195.714 435.411 ]/A << /S /GoTo /D (page.5) >> >>
endobj
948 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.739 435.411 179.694 447.366 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.481 411.5 232.436 423.456 ]/A << /S /GoTo /D (page.43) >> >>
endobj
949 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 188.74 423.456 195.714 435.411 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.414 378.771 218.369 389.671 ]/A << /S /GoTo /D (page.41) >> >>
endobj
950 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.481 411.5 232.436 423.456 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 224.964 366.258 236.919 378.214 ]/A << /S /GoTo /D (page.41) >> >>
endobj
951 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.414 378.771 218.369 389.671 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.795 354.861 156.75 365.701 ]/A << /S /GoTo /D (page.41) >> >>
endobj
952 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 224.964 366.258 236.919 378.214 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.613 342.348 242.568 354.303 ]/A << /S /GoTo /D (page.14) >> >>
endobj
953 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 144.795 354.861 156.75 365.701 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 330.961 127.799 341.79 ]/A << /S /GoTo /D (page.29) >> >>
endobj
954 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.613 342.348 242.568 354.303 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 319.006 159.181 329.835 ]/A << /S /GoTo /D (page.16) >> >>
endobj
955 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 330.961 127.799 341.79 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.406 307.04 191.38 317.88 ]/A << /S /GoTo /D (page.2) >> >>
endobj
956 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 319.006 159.181 329.835 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.475 307.04 207.43 317.88 ]/A << /S /GoTo /D (page.24) >> >>
endobj
957 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 184.406 307.04 191.38 317.88 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.183 295.085 160.157 305.925 ]/A << /S /GoTo /D (page.2) >> >>
endobj
958 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 195.475 307.04 207.43 317.88 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.252 295.085 176.207 305.925 ]/A << /S /GoTo /D (page.24) >> >>
endobj
959 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.183 295.085 160.157 305.925 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.972 283.13 173.946 293.969 ]/A << /S /GoTo /D (page.2) >> >>
endobj
960 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.252 295.085 176.207 305.925 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.04 283.13 189.995 293.969 ]/A << /S /GoTo /D (page.24) >> >>
endobj
961 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.972 283.13 173.946 293.969 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 259.23 204.939 270.059 ]/A << /S /GoTo /D (page.22) >> >>
endobj
962 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.04 283.13 189.995 293.969 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.648 247.275 230.603 258.214 ]/A << /S /GoTo /D (page.18) >> >>
endobj
963 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 259.23 204.939 270.059 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.055 234.752 173.029 246.707 ]/A << /S /GoTo /D (page.2) >> >>
endobj
964 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.648 247.275 230.603 258.214 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.871 210.841 245.826 222.796 ]/A << /S /GoTo /D (page.18) >> >>
endobj
965 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 166.055 234.752 173.029 246.707 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.921 210.841 262.095 222.796 ]/A << /S /GoTo /D (page.70) >> >>
endobj
966 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.871 210.841 245.826 222.796 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.761 198.886 213.716 210.841 ]/A << /S /GoTo /D (page.11) >> >>
endobj
967 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.921 210.841 262.095 222.796 ]/A << /S /GoTo /D (page.71) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 196.81 186.931 208.765 198.886 ]/A << /S /GoTo /D (page.37) >> >>
endobj
968 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.761 198.886 213.716 210.841 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.659 175.544 139.614 186.483 ]/A << /S /GoTo /D (page.35) >> >>
endobj
969 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 196.81 186.931 208.765 198.886 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 151.514 217.413 162.572 ]/A << /S /GoTo /D (page.18) >> >>
endobj
970 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.659 175.544 139.614 186.483 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.87 139.559 192.825 150.617 ]/A << /S /GoTo /D (page.43) >> >>
endobj
971 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 151.514 217.413 162.572 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.415 127.723 167.37 138.662 ]/A << /S /GoTo /D (page.28) >> >>
endobj
972 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.87 139.559 192.825 150.617 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.041 115.758 170.997 126.707 ]/A << /S /GoTo /D (page.28) >> >>
endobj
973 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.415 127.723 167.37 138.662 ]/A << /S /GoTo /D (page.29) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 175.091 115.758 187.266 126.707 ]/A << /S /GoTo /D (page.47) >> >>
endobj
974 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.041 115.758 170.997 126.707 ]/A << /S /GoTo /D (page.29) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.36 115.758 203.535 126.707 ]/A << /S /GoTo /D (page.62) >> >>
endobj
975 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 175.091 115.758 187.266 126.707 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.721 103.803 165.677 114.752 ]/A << /S /GoTo /D (page.28) >> >>
endobj
976 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.36 115.758 203.535 126.707 ]/A << /S /GoTo /D (page.63) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.771 103.803 181.946 114.752 ]/A << /S /GoTo /D (page.47) >> >>
endobj
977 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.721 103.803 165.677 114.752 ]/A << /S /GoTo /D (page.29) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.04 103.803 198.215 114.752 ]/A << /S /GoTo /D (page.61) >> >>
endobj
978 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 169.771 103.803 181.946 114.752 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.847 103.803 215.021 114.752 ]/A << /S /GoTo /D (page.62) >> >>
endobj
979 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.04 103.803 198.215 114.752 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.348 91.847 169.303 102.796 ]/A << /S /GoTo /D (page.28) >> >>
endobj
980 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 202.847 103.803 215.021 114.752 ]/A << /S /GoTo /D (page.63) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.398 91.847 185.572 102.796 ]/A << /S /GoTo /D (page.47) >> >>
endobj
981 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.348 91.847 169.303 102.796 ]/A << /S /GoTo /D (page.29) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 79.902 148.72 90.732 ]/A << /S /GoTo /D (page.35) >> >>
endobj
982 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.398 91.847 185.572 102.796 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 151.709 79.902 163.664 90.732 ]/A << /S /GoTo /D (page.40) >> >>
endobj
983 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.765 79.902 148.72 90.732 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.759 79.902 179.933 90.732 ]/A << /S /GoTo /D (page.69) >> >>
endobj
984 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 151.709 79.902 163.664 90.732 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.456 67.598 188.411 78.776 ]/A << /S /GoTo /D (page.18) >> >>
endobj
985 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.759 79.902 179.933 90.732 ]/A << /S /GoTo /D (page.70) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.506 67.598 204.68 78.776 ]/A << /S /GoTo /D (page.68) >> >>
endobj
986 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.456 67.598 188.411 78.776 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.779 67.598 219.953 78.776 ]/A << /S /GoTo /D (page.70) >> >>
endobj
987 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.506 67.598 204.68 78.776 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 471.167 681.88 483.122 692.819 ]/A << /S /GoTo /D (page.49) >> >>
endobj
988 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.779 67.598 219.953 78.776 ]/A << /S /GoTo /D (page.71) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.141 669.805 442.096 680.864 ]/A << /S /GoTo /D (page.33) >> >>
endobj
989 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 471.167 681.88 483.122 692.819 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 657.85 395.321 668.908 ]/A << /S /GoTo /D (page.5) >> >>
endobj
990 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.141 669.805 442.096 680.864 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 489.498 645.895 501.453 656.953 ]/A << /S /GoTo /D (page.39) >> >>
endobj
991 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 657.85 395.321 668.908 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 404.039 633.71 415.994 644.998 ]/A << /S /GoTo /D (page.24) >> >>
endobj
992 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 489.498 645.895 501.453 656.953 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 416.233 621.984 428.188 633.043 ]/A << /S /GoTo /D (page.15) >> >>
endobj
993 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 404.039 633.71 415.994 644.998 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.055 610.149 369.01 620.978 ]/A << /S /GoTo /D (page.22) >> >>
endobj
994 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 416.233 621.984 428.188 633.043 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.105 610.149 385.279 620.978 ]/A << /S /GoTo /D (page.67) >> >>
endobj
995 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.055 610.149 369.01 620.978 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.114 597.626 396.069 609.581 ]/A << /S /GoTo /D (page.17) >> >>
endobj
996 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 373.105 610.149 385.279 620.978 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.45 574.283 386.405 585.222 ]/A << /S /GoTo /D (page.17) >> >>
endobj
997 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.114 597.626 396.069 609.581 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.262 562.328 479.217 573.267 ]/A << /S /GoTo /D (page.49) >> >>
endobj
998 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.45 574.283 386.405 585.222 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.701 550.373 388.656 561.312 ]/A << /S /GoTo /D (page.11) >> >>
endobj
999 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.262 562.328 479.217 573.267 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.711 537.85 500.666 549.805 ]/A << /S /GoTo /D (page.20) >> >>
endobj
1000 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.701 550.373 388.656 561.312 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.473 504.475 353.429 513.103 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1001 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.711 537.85 500.666 549.805 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.897 490.597 453.852 501.536 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1002 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.473 504.256 353.429 513.103 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.947 490.597 470.121 501.536 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1003 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.897 490.597 453.852 501.536 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 490.345 478.074 502.3 490.029 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1004 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.947 490.597 470.121 501.536 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 371.421 466.687 383.376 477.516 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1005 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 490.345 478.074 502.3 490.029 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.439 454.164 461.394 466.119 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1006 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 371.421 466.687 383.376 477.516 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.048 442.209 459.003 454.164 ]/A << /S /GoTo /D (page.13) >> >>
endobj
1007 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 449.439 454.164 461.394 466.119 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.097 442.209 475.272 454.164 ]/A << /S /GoTo /D (page.21) >> >>
endobj
1008 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.048 442.209 459.003 454.164 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.161 418.866 381.135 429.805 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1009 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 463.097 442.209 475.272 454.164 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 382.779 406.911 394.734 417.85 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1010 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.161 418.866 381.135 429.805 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.206 394.388 422.161 406.343 ]/A << /S /GoTo /D (page.13) >> >>
endobj
1011 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 382.779 406.911 394.734 417.85 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.255 394.388 438.43 406.343 ]/A << /S /GoTo /D (page.70) >> >>
endobj
1012 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 410.206 394.388 422.161 406.343 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 483.747 382.433 495.703 394.388 ]/A << /S /GoTo /D (page.53) >> >>
endobj
1013 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.255 394.388 438.43 406.343 ]/A << /S /GoTo /D (page.71) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.669 382.433 513.843 394.388 ]/A << /S /GoTo /D (page.68) >> >>
endobj
1014 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 483.747 382.433 495.703 394.388 ]/A << /S /GoTo /D (page.54) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.473 372.749 353.648 381.596 ]/A << /S /GoTo /D (page.69) >> >>
endobj
1015 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.669 382.433 513.843 394.388 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.511 359.09 399.466 369.92 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1016 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 341.473 372.749 353.648 381.596 ]/A << /S /GoTo /D (page.70) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.126 347.006 398.081 357.965 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1017 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 387.511 359.09 399.466 369.92 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.934 335.18 411.889 346.009 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1018 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.126 347.006 398.081 357.965 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.984 335.18 428.158 346.009 ]/A << /S /GoTo /D (page.68) >> >>
endobj
1019 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 399.934 335.18 411.889 346.009 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.334 322.657 473.508 334.612 ]/A << /S /GoTo /D (page.55) >> >>
endobj
1020 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 415.984 335.18 428.158 346.009 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.573 311.27 369.528 322.099 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1021 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.334 322.657 473.508 334.612 ]/A << /S /GoTo /D (page.56) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.517 311.27 384.472 322.099 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1022 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 357.573 311.27 369.528 322.099 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 277.397 352.542 288.226 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1023 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.517 311.27 384.472 322.099 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.637 277.397 368.592 288.226 ]/A << /S /GoTo /D (page.56) >> >>
endobj
1024 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 277.397 352.542 288.226 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.686 277.397 384.861 288.226 ]/A << /S /GoTo /D (page.61) >> >>
endobj
1025 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.637 277.397 368.592 288.226 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.141 264.874 506.096 276.829 ]/A << /S /GoTo /D (page.21) >> >>
endobj
1026 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 372.686 277.397 384.861 288.226 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 450.046 240.963 462.001 252.918 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1027 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.141 264.874 506.096 276.829 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.823 229.008 454.779 240.963 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1028 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 450.046 240.963 462.001 252.918 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.354 217.053 401.309 229.008 ]/A << /S /GoTo /D (page.64) >> >>
endobj
1029 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 442.823 229.008 454.779 240.963 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.036 205.656 437.991 216.495 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1030 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.354 217.053 401.309 229.008 ]/A << /S /GoTo /D (page.65) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.925 193.143 480.881 205.098 ]/A << /S /GoTo /D (page.43) >> >>
endobj
1031 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 426.036 205.656 437.991 216.495 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 349.553 181.397 361.508 192.585 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1032 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.925 193.143 480.881 205.098 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 369.06 169.8 381.015 180.63 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1033 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 349.553 181.397 361.508 192.585 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.004 169.8 395.959 180.63 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1034 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 369.06 169.8 381.015 180.63 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.054 169.8 412.228 180.63 ]/A << /S /GoTo /D (page.61) >> >>
endobj
1035 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.004 169.8 395.959 180.63 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 435.61 157.277 447.566 169.232 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1036 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.054 169.8 412.228 180.63 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.831 145.322 407.805 157.277 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1037 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 435.61 157.277 447.566 169.232 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.899 145.322 424.074 157.277 ]/A << /S /GoTo /D (page.67) >> >>
endobj
1038 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 400.831 145.322 407.805 157.277 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.452 111.449 460.407 123.404 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1039 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.899 145.322 424.074 157.277 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 487.456 99.494 499.411 111.449 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1040 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 448.452 111.449 460.407 123.404 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.201 75.583 426.156 87.539 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1041 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 487.456 99.494 499.411 111.449 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.25 75.583 442.425 87.539 ]/A << /S /GoTo /D (page.60) >> >>
endobj
-1042 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.201 75.583 426.156 87.539 ]/A << /S /GoTo /D (page.42) >> >>
+1048 0 obj
+<< /D [ 1046 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1043 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 430.25 75.583 442.425 87.539 ]/A << /S /GoTo /D (page.61) >> >>
+361 0 obj
+<< /D [ 1046 0 R /XYZ 79.37 706.717 null ] >>
endobj
-1050 0 obj
-<< /D [ 1048 0 R /XYZ 78.37 808.885 null ] >>
+1045 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F65 392 0 R /F15 385 0 R /F56 388 0 R /F57 389 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-361 0 obj
-<< /D [ 1048 0 R /XYZ 79.37 706.717 null ] >>
+1151 0 obj
+<< /Filter /FlateDecode /Length 3225 >>
+stream
+x\I W Ue*gR&\Av758{,i K}㷿}׷?B<F7YϔY#7?ɹM:y3>}^sc Y˷J)|GjT7o |ǦW~ﱽOBGi.{
+?5;ʦL6sP f}V3絲/_(+MY&twj|-73eO޷Idm zƅI'3i8P|C%;11L{ҁphGRr%_Q0rbt>Sv,w{!7rFm|?f9. l[1 ~ke d}lZwHü`-Rn'*+[S(%nrKFkڶFϔZlcl<^k^TO㬠gHݫLCʡYi(`9T&.u4w9 ZΔ*<^z5nQ&8V'pf=BmjqEAj|L{
+]"V1kTa(Ir!<qܵDğ*Yk
+GVEtᝥV-
+tx-J-@Ի[nLx> @"6şD z
+ـ|xsf8wFCuMj˵:NjZ%㘑
+zbKR{- ,Nvr\ۓAn 3ˆpo:~hZI~ gA%_s>1g%8"̂le϶oݛ+*<&mGN=
+RDjBM"|sƗݦ/Iw|m] y_W]@2ԝ?i
+skU%9:pbEb@O?F) @R=#we!2qRV Yɴ?б7Cu~)t0\pY-Vゖ5tv8oY`4K_ [䀕.I 1
+"?޾@*GNtR;S -s M0,s/D%LZm'`?P!DZ^I7plD@TÈA
+s&lFjJ}} 5?8ȕM^7B\\1B
+Eq9nUn͛ xe8W^;Xu~KV3z8<jlc{s,ދ<K%~s'tz0岠p
+B/<FbųmkGEnBۣ,$Me u\if<j"p/`|05cm0Tq0c.|årCE+ @X`. wUg{)GL#D\XM
+'8;7 i2/NoU' `&vlfaX9`x1j9״m`|vnH!
+ӮA)_֙;ԌOvUqsDʎ3s CO{wQU00j/U-Yos掬,aLn,5%"t220F99Y'.^yiK%w-6ד^
+`EY~X{.Y0Y+a-o(R[qG
+sƙE;jؼU釔y}łؽH߹`! TL- @yd_:k=5e!gSFfB|t0>ZBݒ\ӹЋ
+xjS~ޣA{ʡydóP@Svu% ^SǸqO7#U讘Ҩ;5sŽxn#?
+VȇPf-kyZ05 {;kj\.zۊGw(C'@;IV
+-eY 5pnS__FR|
+endstream
endobj
-1047 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F66 392 0 R /F15 385 0 R /F56 388 0 R /F57 389 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
+1150 0 obj
+<< /Type /Page /Contents 1151 0 R /Resources 1149 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 909 0 R /Annots 1153 0 R >>
endobj
1153 0 obj
-<< /Filter /FlateDecode /Length 3223 >>
-stream
-x\I W Ue*gR&\Av758{,i K}㷿}׷?B<F7YϔY#7?ɹM:y3>}^sc Y˷J)|GjT7o |ǦW~ﱽOBGi.{o;ʦL6sP eV3絲/_(+MY&twj|-73eO޷IdmOq!5^ϸ0pz& :݂oxd'fv8 72p"yO:U?HJΜ+2{I8MzL޽ޖJV쥿>; &d<NE5-c ?fo ߱MKறiE@%xs+cJD<Mnh@V虲B땍ẁBGk-ˑi<sTѽ*4T[
-x~a ƑCo^Gs k3
-ϴ0kh[fy-#! YEPkfxQ0S^BȣUUxyJ\Owm Q?糊bd0<@7pBz{1ĦPy Pz8 BEOMC}`2x0WMeKSGL$,qtUK)n"_LժRj7/<a0Y’!R{:%C-vn7r< j}s W=l@trx`t9C3_cq;!&\Mp'>e-DHyqȁG
-i֗!&& !%R_ 4p` ;
-V/a 6oW1㢡fZ>"XdKYG =ݭ荦{S6c-
-s&lFjJ}L
-k tcq+n-B]CbkJxq.q0Tc&יc^+!kIԥgvw7d7iREvXˌVl 3f8YP3+Cft''AB\@%w[`+\z12EY#^]ra
-I^o0Ѯ PY4@kƠI]
-MU>5A \]f7 іB٬Q L5*
-Uf6GcHg3- nr,:Kѧ
-|sA&EgxZ)mS+814kOۣR?M$N9W^vrbjXE(*\Tֈx2GKsk+t:%=Dni5u1Ͻboh@KE|Xk:e`=us~,:d1:xBePH̰x v^^]q{6߳I #͌rZM
-Uj//B
-endstream
+[ 1042 0 R 1043 0 R 1044 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R ]
endobj
-1152 0 obj
-<< /Type /Page /Contents 1153 0 R /Resources 1151 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R /Annots 1155 0 R >>
+1042 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 236.81 757.574 248.765 769.529 ]/A << /S /GoTo /D (page.43) >> >>
endobj
-1155 0 obj
-[ 1044 0 R 1045 0 R 1046 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1132 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R ]
+1043 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.86 757.574 265.034 769.529 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1044 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 236.81 757.574 248.765 769.529 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 259.535 745.619 271.49 757.574 ]/A << /S /GoTo /D (page.43) >> >>
endobj
-1045 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 252.86 757.574 265.034 769.529 ]/A << /S /GoTo /D (page.61) >> >>
+1050 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 170.14 734.112 182.095 745.061 ]/A << /S /GoTo /D (page.57) >> >>
endobj
-1046 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 259.535 745.619 271.49 757.574 ]/A << /S /GoTo /D (page.44) >> >>
+1051 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.776 721.708 241.731 733.664 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1052 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 170.14 734.112 182.095 745.061 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.135 710.192 170.09 721.26 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1053 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.776 721.708 241.731 733.664 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.81 698.236 176.765 709.195 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1054 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 158.135 710.192 170.09 721.26 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.32 663.925 174.294 675.88 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1055 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.81 698.236 176.765 709.195 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 117.198 652.538 129.153 663.477 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1056 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.32 663.925 174.294 675.88 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.825 640.573 132.78 651.522 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1057 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 117.198 652.538 129.153 663.477 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.875 640.573 149.049 651.522 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1058 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 120.825 640.573 132.78 651.522 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.88 628.06 176.835 640.015 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1059 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 136.875 640.573 149.049 651.522 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 146.18 616.104 158.135 628.06 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1060 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.88 628.06 176.835 640.015 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.883 604.149 199.838 616.104 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1061 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 146.18 616.104 158.135 628.06 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 170.847 592.194 182.802 604.149 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1062 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.883 604.149 199.838 616.104 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 558.889 143.49 569.718 ]/A << /S /GoTo /D (page.31) >> >>
endobj
1063 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 170.847 592.194 182.802 604.149 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 546.934 159.181 557.763 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1064 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 558.889 143.49 569.718 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 177.721 522.456 189.896 534.411 ]/A << /S /GoTo /D (page.68) >> >>
endobj
1065 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 546.934 159.181 557.763 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 511.068 127.799 521.898 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1066 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 177.721 522.456 189.896 534.411 ]/A << /S /GoTo /D (page.69) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 487.038 217.413 498.097 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1067 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 511.068 127.799 521.898 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 475.083 172.073 486.142 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1068 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 487.038 217.413 498.097 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 463.128 197.975 474.187 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1069 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 475.083 172.073 486.142 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 269.527 450.725 281.482 462.68 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1070 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 463.128 197.975 474.187 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 439.048 133.029 450.167 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1071 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 269.527 450.725 281.482 462.68 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 415.307 217.413 426.366 ]/A << /S /GoTo /D (page.13) >> >>
endobj
1072 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 439.048 133.029 450.167 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 403.352 172.073 414.411 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1073 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 415.307 217.413 426.366 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 391.397 197.975 402.456 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1074 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 403.352 172.073 414.411 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 379.552 193.442 390.391 ]/A << /S /GoTo /D (page.13) >> >>
endobj
1075 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 186.02 391.397 197.975 402.456 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 197.537 379.552 209.711 390.391 ]/A << /S /GoTo /D (page.59) >> >>
endobj
1076 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 379.552 193.442 390.391 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 345.689 134.523 356.518 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1077 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 197.537 379.552 209.711 390.391 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.618 345.689 150.573 356.518 ]/A << /S /GoTo /D (page.56) >> >>
endobj
1078 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 345.689 134.523 356.518 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.308 333.723 169.263 344.563 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1079 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.618 345.689 150.573 356.518 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.269 321.21 230.224 333.166 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1080 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.308 333.723 169.263 344.563 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 182.723 309.255 194.678 321.21 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1081 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.269 321.21 230.224 333.166 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.718 275.382 190.673 287.337 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1082 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 182.723 309.255 194.678 321.21 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 213.617 241.509 225.572 253.464 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1083 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 178.718 275.382 190.673 287.337 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.059 229.554 233.014 241.509 ]/A << /S /GoTo /D (page.43) >> >>
endobj
1084 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 213.617 241.509 225.572 253.464 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.31 217.599 251.266 229.554 ]/A << /S /GoTo /D (page.43) >> >>
endobj
1085 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 221.059 229.554 233.014 241.509 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.505 206.202 127.46 217.041 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1086 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.31 217.599 251.266 229.554 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.554 206.202 143.729 217.041 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1087 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.505 206.202 127.46 217.041 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.823 206.202 159.998 217.041 ]/A << /S /GoTo /D (page.61) >> >>
endobj
1088 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.554 206.202 143.729 217.041 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 119.131 194.246 131.086 205.086 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1089 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.823 206.202 159.998 217.041 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.181 194.246 147.355 205.086 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1090 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 119.131 194.246 131.086 205.086 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 182.301 127.799 193.131 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1091 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.181 194.246 147.355 205.086 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.638 158.381 254.593 169.22 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1092 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 115.843 182.301 127.799 193.131 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 146.306 144.327 157.375 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1093 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 242.638 158.381 254.593 169.22 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 121.958 197.677 133.913 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1094 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 146.306 144.327 157.375 ]/A << /S /GoTo /D (page.53) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.016 110.002 230.972 121.958 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1095 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 185.721 121.958 197.677 133.913 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.4 98.047 219.355 110.002 ]/A << /S /GoTo /D (page.14) >> >>
endobj
1096 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.016 110.002 230.972 121.958 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.998 86.53 147.953 97.489 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1097 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 207.4 98.047 219.355 110.002 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.561 74.575 192.516 85.534 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1098 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.998 86.53 147.953 97.489 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 453.962 757.574 465.917 769.529 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1099 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 180.561 74.575 192.516 85.534 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 460.079 745.619 472.034 757.574 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1100 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 453.962 757.574 465.917 769.529 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.128 745.619 488.303 757.574 ]/A << /S /GoTo /D (page.61) >> >>
endobj
1101 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 460.079 745.619 472.034 757.574 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.227 733.664 430.201 745.619 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1102 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 476.128 745.619 488.303 757.574 ]/A << /S /GoTo /D (page.62) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 392.084 687.835 404.039 699.791 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1103 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 423.227 733.664 430.201 745.619 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.991 675.88 473.947 687.835 ]/A << /S /GoTo /D (page.64) >> >>
endobj
1104 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 392.084 687.835 404.039 699.791 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.478 663.925 469.434 675.88 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1105 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 461.991 675.88 473.947 687.835 ]/A << /S /GoTo /D (page.65) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.706 618.545 440.661 629.604 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1106 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 457.478 663.925 469.434 675.88 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 606.59 395.321 617.649 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1107 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.706 618.545 440.661 629.604 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.269 594.635 421.224 605.694 ]/A << /S /GoTo /D (page.54) >> >>
endobj
1108 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 606.59 395.321 617.649 ]/A << /S /GoTo /D (page.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.025 582.232 440.98 594.187 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1109 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.269 594.635 421.224 605.694 ]/A << /S /GoTo /D (page.55) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.548 570.496 429.503 581.674 ]/A << /S /GoTo /D (page.49) >> >>
endobj
1110 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.025 582.232 440.98 594.187 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 558.889 408.582 569.718 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1111 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.548 570.496 429.503 581.674 ]/A << /S /GoTo /D (page.50) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.676 558.889 424.851 569.718 ]/A << /S /GoTo /D (page.63) >> >>
endobj
1112 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 558.879 408.582 569.718 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 546.645 408.831 557.763 ]/A << /S /GoTo /D (page.1) >> >>
endobj
1113 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.676 558.879 424.851 569.718 ]/A << /S /GoTo /D (page.64) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 534.979 392.891 545.808 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1114 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.857 546.645 408.831 557.763 ]/A << /S /GoTo /D (page.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.939 523.024 375.894 533.853 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1115 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 534.979 392.891 545.808 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.571 511.068 351.526 521.898 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1116 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 363.939 523.024 375.894 533.853 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.698 498.545 421.653 510.5 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1117 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.571 511.068 351.526 521.898 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.642 498.545 436.597 510.5 ]/A << /S /GoTo /D (page.55) >> >>
endobj
1118 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.698 498.545 421.653 510.5 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.83 486.59 479.785 498.545 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1119 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.642 498.545 436.597 510.5 ]/A << /S /GoTo /D (page.56) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.44 475.203 426.395 486.032 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1120 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 467.83 486.59 479.785 498.545 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.384 475.203 441.339 486.032 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1121 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.44 475.203 426.395 486.032 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 445.434 475.203 457.608 486.032 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1122 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 429.384 475.203 441.339 486.032 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 462.899 366.739 474.077 ]/A << /S /GoTo /D (page.57) >> >>
endobj
1123 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 445.434 475.203 457.608 486.032 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.028 438.769 395.202 450.725 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1124 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 462.899 366.739 474.077 ]/A << /S /GoTo /D (page.58) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.766 427.263 368.721 438.321 ]/A << /S /GoTo /D (page.30) >> >>
endobj
1125 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 383.028 438.769 395.202 450.725 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 393.161 419.043 404.339 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1126 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.766 427.263 368.721 438.321 ]/A << /S /GoTo /D (page.31) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.043 380.986 418.016 392.941 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1127 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 393.161 419.043 404.339 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.089 357.076 432.044 369.031 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1128 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.043 380.986 418.016 392.941 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.348 333.166 440.303 345.121 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1129 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 420.089 357.076 432.044 369.031 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.669 299.293 426.624 311.248 ]/A << /S /GoTo /D (page.43) >> >>
endobj
1130 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.348 333.166 440.303 345.121 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.98 287.776 388.935 298.735 ]/A << /S /GoTo /D (page.56) >> >>
endobj
1131 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.669 299.293 426.624 311.248 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 275.661 403.351 286.779 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1132 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 376.98 287.776 388.935 298.735 ]/A << /S /GoTo /D (page.57) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.323 263.865 380.278 274.934 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1133 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 275.661 403.351 286.779 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.373 263.865 396.547 274.934 ]/A << /S /GoTo /D (page.70) >> >>
endobj
1134 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 368.323 263.865 380.278 274.934 ]/A << /S /GoTo /D (page.52) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.944 229.554 459.899 241.509 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1135 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.373 263.865 396.547 274.934 ]/A << /S /GoTo /D (page.71) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.395 217.599 478.35 229.554 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1136 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.944 229.554 459.899 241.509 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.833 206.212 366.788 217.041 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1137 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.395 217.599 478.35 229.554 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.603 194.256 377.558 204.807 ]/A << /S /GoTo /D (page.32) >> >>
endobj
1138 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.833 206.212 366.788 217.041 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.911 181.733 500.866 193.689 ]/A << /S /GoTo /D (page.21) >> >>
endobj
1139 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.603 194.256 377.558 204.807 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.046 169.778 473.02 181.733 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1140 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 488.911 181.733 500.866 193.689 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 145.868 420.925 157.823 ]/A << /S /GoTo /D (page.20) >> >>
endobj
1141 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.046 169.778 473.02 181.733 ]/A << /S /GoTo /D (page.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.503 133.913 513.458 145.868 ]/A << /S /GoTo /D (page.20) >> >>
endobj
1142 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 145.868 420.925 157.823 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.887 110.56 477.842 121.4 ]/A << /S /GoTo /D (page.34) >> >>
endobj
1143 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 501.503 133.913 513.458 145.868 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 362.295 98.486 374.25 109.444 ]/A << /S /GoTo /D (page.52) >> >>
endobj
1144 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 465.887 110.56 477.842 121.4 ]/A << /S /GoTo /D (page.35) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 74.137 420.925 86.092 ]/A << /S /GoTo /D (page.39) >> >>
endobj
-1145 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 362.295 98.486 374.25 109.444 ]/A << /S /GoTo /D (page.53) >> >>
+1152 0 obj
+<< /D [ 1150 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1146 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 408.97 74.137 420.925 86.092 ]/A << /S /GoTo /D (page.41) >> >>
+1149 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F57 389 0 R /F56 388 0 R /F65 392 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1154 0 obj
-<< /D [ 1152 0 R /XYZ 78.37 808.885 null ] >>
+1229 0 obj
+<< /Filter /FlateDecode /Length 2624 >>
+stream
+x[r,)߯h$G:bMvf5m$ *g܅]vf!$Ǒ
+@Ȏ{?xv:10O{abvưP1F.&H?A}}/.m@
+I| <r +[xYbekzYwoYTI"3(N*hYA,g\|`ُRUg
+eX
+b)E\~9R>V)=B@ʧvI%-MtRm)C񦗃C'uϝ8-QEHyK{/d)+&
+뀔S_Qҁ, EdS<! zӚ
+jc.3# ZY9|hY~RF#G14m;GIqnr]v_N]lJNF)ǟ`Ah7jTʇH"l{HElFI.k@%hpEF_ 'TTM(2:xٱFNj8}b-ƂWɔ#?zdR]{Λԓ`93/{)N#+XN|ҩD >'Fʰj+,BU* )*? %e[j.UF'|pTu2Y8Ne7k,uٞ\"J
+@HK}w%±k ,#\-Ϻ(/4MwxMeqFgr^PȺn=Cglˑ6JcMDrFo#ĀBIsla
+endstream
endobj
-1151 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F57 389 0 R /F56 388 0 R /F66 392 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
+1228 0 obj
+<< /Type /Page /Contents 1229 0 R /Resources 1227 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 909 0 R /Annots 1231 0 R >>
endobj
1231 0 obj
-<< /Filter /FlateDecode /Length 2629 >>
-stream
-x[n8S V" Rb;y뒶eY,*EJERHIMC/xwK*y^蛹0܂7J{s7ڂx;D~=@Ds#1|xqNjVY0ihm~eN](U
-ۄ$!yQ؇kh,6O!b E8҅*α+J:̆彣SG١̟ۺ$9P6x
-%RýovQN=V90bxEێ὜Hې9mK.ב
-m{J@Un^Yk}#L -=J>/X埘N>HG
-5?]ӏazwyMm4m$9B6
-?~:.P ,݊>
- A#;X?-V`+>s_SJ"*.螚H^%g .
-L@_&98jꓵk%ɜV>5O@>t8z(~ QŸZ +{9*wڦ,SSf3-.zƍN='%uPݤt'6UqaaUH}+qGYqa#֎V6 @GR&RQ`\9kYL[IG xe]eݲ1BA^WM6,5(9=aO"QH nÁ6f%4A>i%I߁6sV{w5t?L$W>RGjH=3Ć푢/݋3u8h}։`Hp #Ǜ!S롄FͦriEGX4Ij?: R[y_sFʂ7oJrNqFU41 `V%>_NTw`UՊ׭; A.H@*rS<! /zվ
-A%K~T7] |ff[0PU6m U}Y۝njXK8z#M;5YɆ ,w@STK\I @Peoo cO14V`;ó'bt<fH/'Vvq6M$)Kf^)BVSA23R葠1ItQO K&e6TvxrlR
-x(DBlf"hۨ7L-:@&ځV|d-o%.<c"AbWY$ SZQvn0PEs
-@BM
-kokԠ<KVc7O/ZnnK.pn庽+1-Y+YqP6Lڧ+7jt'ܿo0mvԡf:Z@61r
-bawgK@'pR}ְb~t$BƈӁ@Ah~*F}r7[&C {`uy:q ~y+ o4>j
-ke;Y\B.wq;S3KHJpͣ,h;'z}z>ںʝ;V|`.Ay}>#>cV$W@5<e J, MA3yn 6o۷s!9#KoD18Z+).XtvU;g`#tohiviP$o1tIEOF8m%-QY낶0"z8WKk5h&7 K~}J5
-endstream
+[ 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1154 0 R 1155 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R ]
endobj
-1230 0 obj
-<< /Type /Page /Contents 1231 0 R /Resources 1229 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R /Annots 1233 0 R >>
+1145 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 225.691 757.574 237.647 769.529 ]/A << /S /GoTo /D (page.37) >> >>
endobj
-1233 0 obj
-[ 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R ]
+1146 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 746.177 133.248 757.016 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1147 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 225.691 757.574 237.647 769.529 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 137.343 746.177 149.517 757.016 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1148 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 121.074 746.187 133.248 757.016 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.612 746.177 165.567 757.016 ]/A << /S /GoTo /D (page.47) >> >>
endobj
-1149 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 137.343 746.187 149.517 757.016 ]/A << /S /GoTo /D (page.25) >> >>
+1154 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 722.157 172.073 733.215 ]/A << /S /GoTo /D (page.5) >> >>
endobj
-1150 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 153.612 746.187 165.567 757.016 ]/A << /S /GoTo /D (page.48) >> >>
+1155 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.711 710.202 213.667 721.26 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1156 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 722.157 172.073 733.215 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 686.411 204.939 697.24 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1157 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 201.711 710.202 213.667 721.26 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 209.034 686.411 221.208 697.24 ]/A << /S /GoTo /D (page.67) >> >>
endobj
1158 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 686.411 204.939 697.24 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.648 674.456 230.603 685.395 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1159 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 209.034 686.411 221.208 697.24 ]/A << /S /GoTo /D (page.68) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 234.698 674.456 246.872 685.395 ]/A << /S /GoTo /D (page.59) >> >>
endobj
1160 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 218.648 674.456 230.603 685.395 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 208.516 661.933 220.471 673.888 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1161 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 234.698 674.456 246.872 685.395 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 262.095 649.977 274.05 661.933 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1162 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 208.516 661.933 220.471 673.888 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 638.022 293.653 649.977 ]/A << /S /GoTo /D (page.18) >> >>
endobj
1163 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 262.095 649.977 274.05 661.933 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 626.286 143.49 637.464 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1164 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 638.022 293.653 649.977 ]/A << /S /GoTo /D (page.19) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.866 614.68 201.821 625.509 ]/A << /S /GoTo /D (page.10) >> >>
endobj
1165 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.535 626.286 143.49 637.464 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.81 614.68 216.765 625.509 ]/A << /S /GoTo /D (page.17) >> >>
endobj
1166 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 189.866 614.68 201.821 625.509 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.163 602.157 229.119 614.112 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1167 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.81 614.68 216.765 625.509 ]/A << /S /GoTo /D (page.18) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.213 602.157 245.388 614.112 ]/A << /S /GoTo /D (page.59) >> >>
endobj
1168 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.163 602.157 229.119 614.112 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.292 568.284 216.466 580.239 ]/A << /S /GoTo /D (page.22) >> >>
endobj
1169 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 233.213 602.157 245.388 614.112 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.561 568.284 232.516 580.239 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1170 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 204.292 568.284 216.466 580.239 ]/A << /S /GoTo /D (page.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.394 556.329 234.349 568.284 ]/A << /S /GoTo /D (page.15) >> >>
endobj
1171 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 220.561 568.284 232.516 580.239 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.115 544.931 154.07 555.771 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1172 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.394 556.329 234.349 568.284 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.224 532.418 242.18 544.373 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1173 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 142.115 544.931 154.07 555.771 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.044 520.463 260.999 532.418 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1174 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 230.224 532.418 242.18 544.373 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.105 508.508 266.06 520.463 ]/A << /S /GoTo /D (page.33) >> >>
endobj
1175 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 249.044 520.463 260.999 532.418 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 484.598 217.054 496.553 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1176 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.105 508.508 266.06 520.463 ]/A << /S /GoTo /D (page.34) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.909 472.642 168.865 484.598 ]/A << /S /GoTo /D (page.46) >> >>
endobj
1177 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 484.598 217.054 496.553 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.927 460.687 206.882 472.642 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1178 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 156.909 472.642 168.865 484.598 ]/A << /S /GoTo /D (page.47) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.345 448.732 231.3 460.687 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1179 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.927 460.687 206.882 472.642 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 270.155 436.777 282.11 448.732 ]/A << /S /GoTo /D (page.47) >> >>
endobj
1180 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 219.345 448.732 231.3 460.687 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.99 425.39 157.946 436.219 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1181 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 270.155 436.777 282.11 448.732 ]/A << /S /GoTo /D (page.48) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.988 412.867 203.943 424.822 ]/A << /S /GoTo /D (page.43) >> >>
endobj
1182 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.99 425.39 157.946 436.219 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 208.038 412.867 220.212 424.822 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1183 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.988 412.867 203.943 424.822 ]/A << /S /GoTo /D (page.44) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 400.911 293.653 412.867 ]/A << /S /GoTo /D (page.35) >> >>
endobj
1184 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 208.038 412.867 220.212 424.822 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 377.001 218.548 388.956 ]/A << /S /GoTo /D (page.36) >> >>
endobj
1185 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 281.698 400.911 293.653 412.867 ]/A << /S /GoTo /D (page.37) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.643 377.001 234.598 388.956 ]/A << /S /GoTo /D (page.54) >> >>
endobj
1186 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 377.001 218.548 388.956 ]/A << /S /GoTo /D (page.38) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 238.693 377.001 250.867 388.956 ]/A << /S /GoTo /D (page.65) >> >>
endobj
1187 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 222.643 377.001 234.598 388.956 ]/A << /S /GoTo /D (page.55) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.962 377.001 267.136 388.956 ]/A << /S /GoTo /D (page.69) >> >>
endobj
1188 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 238.693 377.001 250.867 388.956 ]/A << /S /GoTo /D (page.66) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 343.696 159.181 354.525 ]/A << /S /GoTo /D (page.41) >> >>
endobj
1189 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 254.962 377.001 267.136 388.956 ]/A << /S /GoTo /D (page.70) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.276 343.696 175.45 354.525 ]/A << /S /GoTo /D (page.60) >> >>
endobj
1190 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 353.091 218.548 365.046 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 331.741 164.411 342.57 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1191 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 147.226 319.786 159.181 330.615 ]/A << /S /GoTo /D (page.42) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 243.266 319.218 255.221 331.173 ]/A << /S /GoTo /D (page.42) >> >>
endobj
1192 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.276 319.786 175.45 330.615 ]/A << /S /GoTo /D (page.61) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.425 307.263 175.38 319.218 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1193 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 152.456 307.831 164.411 318.66 ]/A << /S /GoTo /D (page.43) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.058 295.307 180.232 307.263 ]/A << /S /GoTo /D (page.59) >> >>
endobj
1194 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 243.266 295.307 255.221 307.263 ]/A << /S /GoTo /D (page.43) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.853 283.352 199.809 295.307 ]/A << /S /GoTo /D (page.45) >> >>
endobj
1195 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 163.425 283.352 175.38 295.307 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.706 271.397 241.662 283.352 ]/A << /S /GoTo /D (page.50) >> >>
endobj
1196 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 168.058 271.397 180.232 283.352 ]/A << /S /GoTo /D (page.60) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 247.487 218.548 259.442 ]/A << /S /GoTo /D (page.40) >> >>
endobj
1197 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 187.853 259.442 199.809 271.397 ]/A << /S /GoTo /D (page.46) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 224.025 172.073 235.083 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1198 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 229.706 247.487 241.662 259.442 ]/A << /S /GoTo /D (page.51) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.167 224.025 188.342 235.083 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1199 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.099 224.025 172.073 235.083 ]/A << /S /GoTo /D (page.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 223.599 212.07 230.573 223.128 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1200 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.167 224.025 188.342 235.083 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 234.668 212.07 246.842 223.128 ]/A << /S /GoTo /D (page.63) >> >>
endobj
1201 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 223.599 212.07 230.573 223.128 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 200.114 204.939 211.173 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1202 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 234.668 212.07 246.842 223.128 ]/A << /S /GoTo /D (page.64) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.845 187.711 244.8 199.666 ]/A << /S /GoTo /D (page.16) >> >>
endobj
1203 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.984 200.114 204.939 211.173 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.454 175.756 213.427 187.711 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1204 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.845 187.711 244.8 199.666 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.522 175.756 229.696 187.711 ]/A << /S /GoTo /D (page.58) >> >>
endobj
1205 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 206.454 175.756 213.427 187.711 ]/A << /S /GoTo /D (page.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 129.928 217.054 141.883 ]/A << /S /GoTo /D (page.39) >> >>
endobj
1206 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.522 175.756 229.696 187.711 ]/A << /S /GoTo /D (page.59) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 216.685 96.055 228.64 108.01 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1207 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.099 129.928 217.054 141.883 ]/A << /S /GoTo /D (page.40) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.735 96.055 244.69 108.01 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1208 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 216.685 96.055 228.64 108.01 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.131 84.099 198.105 96.055 ]/A << /S /GoTo /D (page.8) >> >>
endobj
1209 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 232.735 96.055 244.69 108.01 ]/A << /S /GoTo /D (page.52) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.437 72.144 177.393 84.099 ]/A << /S /GoTo /D (page.26) >> >>
endobj
1210 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 191.131 84.099 198.105 96.055 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 72.144 193.442 84.099 ]/A << /S /GoTo /D (page.51) >> >>
endobj
1211 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.437 72.144 177.393 84.099 ]/A << /S /GoTo /D (page.27) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 758.142 403.351 768.971 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1212 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 181.487 72.144 193.442 84.099 ]/A << /S /GoTo /D (page.52) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 746.187 403.351 757.016 ]/A << /S /GoTo /D (page.48) >> >>
endobj
1213 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 758.142 403.351 768.971 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 734.232 351.048 745.061 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1214 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 391.396 746.187 403.351 757.016 ]/A << /S /GoTo /D (page.49) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 722.276 366.739 733.106 ]/A << /S /GoTo /D (page.31) >> >>
endobj
1215 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 734.232 351.048 745.061 ]/A << /S /GoTo /D (page.30) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.706 698.246 440.661 709.305 ]/A << /S /GoTo /D (page.12) >> >>
endobj
1216 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.783 722.276 366.739 733.106 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 686.291 395.321 697.35 ]/A << /S /GoTo /D (page.5) >> >>
endobj
1217 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 428.706 698.246 440.661 709.305 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.269 674.336 421.224 685.395 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1218 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 388.348 686.291 395.321 697.35 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 394.754 662.501 406.709 673.33 ]/A << /S /GoTo /D (page.66) >> >>
endobj
1219 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.269 674.336 421.224 685.395 ]/A << /S /GoTo /D (page.39) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.96 616.553 436.916 627.611 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1220 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 394.754 662.501 406.709 673.33 ]/A << /S /GoTo /D (page.67) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.937 604.598 413.892 615.656 ]/A << /S /GoTo /D (page.11) >> >>
endobj
1221 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.96 616.553 436.916 627.611 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.458 592.762 429.414 603.651 ]/A << /S /GoTo /D (page.24) >> >>
endobj
1222 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.937 604.598 413.892 615.656 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 432.402 592.762 444.358 603.651 ]/A << /S /GoTo /D (page.27) >> >>
endobj
1223 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.458 592.762 429.414 603.651 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.673 558.321 401.628 570.276 ]/A << /S /GoTo /D (page.25) >> >>
endobj
1224 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 432.402 592.762 444.358 603.651 ]/A << /S /GoTo /D (page.28) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.219 546.366 421.175 558.321 ]/A << /S /GoTo /D (page.29) >> >>
endobj
1225 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 389.673 558.321 401.628 570.276 ]/A << /S /GoTo /D (page.26) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.831 534.411 436.786 546.366 ]/A << /S /GoTo /D (page.37) >> >>
endobj
1226 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.219 546.366 421.175 558.321 ]/A << /S /GoTo /D (page.30) >> >>
-endobj
-1227 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 424.831 534.411 436.786 546.366 ]/A << /S /GoTo /D (page.38) >> >>
-endobj
-1228 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 504.947 500.538 516.902 512.493 ]/A << /S /GoTo /D (page.41) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 504.947 500.538 516.902 512.493 ]/A << /S /GoTo /D (page.39) >> >>
endobj
-1232 0 obj
-<< /D [ 1230 0 R /XYZ 78.37 808.885 null ] >>
+1230 0 obj
+<< /D [ 1228 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1229 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F57 389 0 R /F66 392 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
+1227 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 385 0 R /F56 388 0 R /F57 389 0 R /F65 392 0 R /F55 387 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1283 0 obj
-<< /Filter /FlateDecode /Length 2021 >>
+1281 0 obj
+<< /Filter /FlateDecode /Length 2020 >>
stream
-x\n#7W!00 V} rMNkdS<`HdZO'^/~*{Đ^$$N2'/Ùs)8'#,?+xO?:Yf( q y\ O-H?q#^O:>yﲼ&!B?^\Vw#uVZLh+qlD8>%>L'j
-vU2Kf{mu|P`_Vp}*efN®IG
- eJB
-R2C@,٦QlP %=G[a \_wB\JJre>Jˇ#,a<EgS_ƅa$&*{ÑӰ`7Y3B/^!aP
-cMYRQk!lpCW/ٍUI}G
-ɇ*FWhbzTrM&$#JhԪ% I.jOv=Wn鿶ZP J74> ib4lW0KSsݎW3d<|:cBișz!$-<}۽8@/+@X p'n^`)<`}~9X<uZ9~Tw_
-;PKޮ~cqnqdٔEoy%AS6x(|'K
-/+Z*ge7R/G?IP*qӟMSq+X;Nęmhbwwv
+x\n#7W!00 V} rMNkdS<`HdZO'^/~*sĐ^$$N2'/Ùs)8'#,?+xO?<Yf( q y\ O-H?q#^O:>yﲼ&!B?^\Vw#uVZLh+qlD8>%>L'j
+dYw#I/{ʣ: ZD E1=w%f;]'w԰odRtݶY[:@RhT@SS%W!8}FL |r&WHKJ~X0#mwGSS)6svM8R
+-wa#xzHFYlצ)<Gd1 JR)%"U"BC5%\׹mvfk r82?/T<(UtVUbA465b|Z(0<
+fB>p [ȗ R2T*T++QZ>a A8.:ӞG-4.<v$Y4Pٛ{7Ξz
+AcBĄPmϒ^aC~nbN=;J
+rH7&dXs@1P{\f_ȨյuϑL^HqS;dc5FBavq;$=&zS#aC7" \kM>
+ԛ!tI)>mZΨ%A0;҅<gG҆\m!OXCg"tbPc[ti]FY]%6c fơƈ+^g
+quOÿ+KB]vdIdO,E4 *'^ TLW3CbW' ˍ(IF(4B
endstream
endobj
-1282 0 obj
-<< /Type /Page /Contents 1283 0 R /Resources 1281 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 911 0 R /Annots 1285 0 R >>
+1280 0 obj
+<< /Type /Page /Contents 1281 0 R /Resources 1279 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 909 0 R /Annots 1283 0 R >>
endobj
-1285 0 obj
-[ 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R ]
+1283 0 obj
+[ 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R ]
endobj
-1234 0 obj
+1232 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 736.093 264.366 747.062 ]/A << /S /GoTo /D (section.1) >> >>
endobj
-1235 0 obj
+1233 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 714.245 277.846 725.085 ]/A << /S /GoTo /D (section.2) >> >>
endobj
-1236 0 obj
+1234 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 692.268 267.116 703.227 ]/A << /S /GoTo /D (section.3) >> >>
endobj
-1237 0 obj
+1235 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 672.283 149.647 681.249 ]/A << /S /GoTo /D (section.4) >> >>
endobj
-1238 0 obj
+1236 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 660.168 180.132 669.403 ]/A << /S /GoTo /D (subsection.4.1) >> >>
endobj
-1239 0 obj
+1237 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 648.213 234.558 657.339 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-1240 0 obj
+1238 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 636.258 218.807 645.383 ]/A << /S /GoTo /D (subsection.4.3) >> >>
endobj
-1241 0 obj
+1239 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 624.303 217.393 633.428 ]/A << /S /GoTo /D (subsection.4.4) >> >>
endobj
-1242 0 obj
+1240 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 610.634 327.31 621.583 ]/A << /S /GoTo /D (subsection.4.5) >> >>
endobj
-1243 0 obj
+1241 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 598.679 315.684 609.628 ]/A << /S /GoTo /D (subsection.4.6) >> >>
endobj
-1244 0 obj
+1242 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 586.166 224.606 598.121 ]/A << /S /GoTo /D (subsection.4.7) >> >>
endobj
-1245 0 obj
+1243 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 566.629 142.752 575.645 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-1246 0 obj
+1244 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 554.564 336.317 563.799 ]/A << /S /GoTo /D (subsection.5.1) >> >>
endobj
-1247 0 obj
+1245 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 542.609 226.588 551.735 ]/A << /S /GoTo /D (subsubsection.5.1.1) >> >>
endobj
-1248 0 obj
+1246 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 528.382 240.865 540.337 ]/A << /S /GoTo /D (subsubsection.5.1.2) >> >>
endobj
-1249 0 obj
+1247 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 518.699 298.369 527.934 ]/A << /S /GoTo /D (subsection.5.2) >> >>
endobj
-1250 0 obj
+1248 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 506.743 283.684 515.979 ]/A << /S /GoTo /D (subsection.5.3) >> >>
endobj
-1251 0 obj
+1249 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 492.965 264.835 503.914 ]/A << /S /GoTo /D (subsubsection.5.3.1) >> >>
endobj
-1252 0 obj
+1250 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 481.01 342.155 491.959 ]/A << /S /GoTo /D (subsubsection.5.3.2) >> >>
endobj
-1253 0 obj
+1251 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 468.606 239.868 480.562 ]/A << /S /GoTo /D (subsubsection.5.3.3) >> >>
endobj
-1254 0 obj
+1252 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 456.651 254.992 468.606 ]/A << /S /GoTo /D (subsubsection.5.3.4) >> >>
endobj
-1255 0 obj
+1253 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 446.968 289.512 456.203 ]/A << /S /GoTo /D (subsubsection.5.3.5) >> >>
endobj
-1256 0 obj
+1254 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 423.266 364.342 434.235 ]/A << /S /GoTo /D (section.6) >> >>
endobj
-1257 0 obj
+1255 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 413.095 188.929 422.33 ]/A << /S /GoTo /D (subsection.6.1) >> >>
endobj
-1258 0 obj
+1256 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 398.868 314.728 410.823 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-1259 0 obj
+1257 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 389.184 301.985 398.42 ]/A << /S /GoTo /D (subsection.6.3) >> >>
endobj
-1260 0 obj
+1258 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 375.515 243.744 386.355 ]/A << /S /GoTo /D (subsection.6.4) >> >>
endobj
-1261 0 obj
+1259 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 353.04 223.729 364.995 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-1262 0 obj
+1260 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 333.503 224.894 342.579 ]/A << /S /GoTo /D (section.8) >> >>
endobj
-1263 0 obj
+1261 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 321.438 172.481 330.564 ]/A << /S /GoTo /D (subsection.8.1) >> >>
endobj
-1264 0 obj
+1262 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 309.483 191.938 318.609 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-1265 0 obj
+1263 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 297.528 245.109 306.763 ]/A << /S /GoTo /D (subsection.8.3) >> >>
endobj
-1266 0 obj
+1264 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 275.72 251.545 284.736 ]/A << /S /GoTo /D (section.9) >> >>
endobj
-1267 0 obj
+1265 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 253.802 234.987 262.818 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-1268 0 obj
+1266 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 239.914 225.731 250.973 ]/A << /S /GoTo /D (subsection.10.1) >> >>
endobj
-1269 0 obj
+1267 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 227.511 302.264 239.466 ]/A << /S /GoTo /D (subsection.10.2) >> >>
endobj
-1270 0 obj
+1268 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 215.994 379.495 226.953 ]/A << /S /GoTo /D (subsection.10.3) >> >>
endobj
-1271 0 obj
+1269 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 205.872 253.158 215.107 ]/A << /S /GoTo /D (subsection.10.4) >> >>
endobj
-1272 0 obj
+1270 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 193.916 270.653 203.152 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-1273 0 obj
+1271 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 181.961 257.064 191.087 ]/A << /S /GoTo /D (subsection.10.6) >> >>
endobj
-1274 0 obj
+1272 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 158.33 329.741 169.229 ]/A << /S /GoTo /D (section.11) >> >>
endobj
-1275 0 obj
+1273 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 135.854 176.964 147.809 ]/A << /S /GoTo /D (section.12) >> >>
endobj
-1276 0 obj
+1274 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 123.899 293.756 135.854 ]/A << /S /GoTo /D (subsection.12.1) >> >>
endobj
-1277 0 obj
+1275 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 111.944 427.634 123.899 ]/A << /S /GoTo /D (subsection.12.2) >> >>
endobj
-1278 0 obj
+1276 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 99.989 407.37 111.944 ]/A << /S /GoTo /D (subsection.12.3) >> >>
endobj
-1279 0 obj
+1277 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 88.034 340.411 99.989 ]/A << /S /GoTo /D (subsection.12.4) >> >>
endobj
-1284 0 obj
-<< /D [ 1282 0 R /XYZ 78.37 808.885 null ] >>
+1282 0 obj
+<< /D [ 1280 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1281 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F69 406 0 R /F66 392 0 R /F15 385 0 R >> /ProcSet [ /PDF /Text ] >>
+1279 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F68 406 0 R /F65 392 0 R /F15 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1331 0 obj
-<< /Filter /FlateDecode /Length 1926 >>
+1329 0 obj
+<< /Filter /FlateDecode /Length 1922 >>
stream
-x\n8+MI8snKRLf3C`Kd*U]ῃ<y'3!ȃ: ;8TB:AJ R^[QJ7HiV (umqtXy[3끎U(U@ 8s_/988`|x
-e#X8}
- BFT:6ơBjLr\Z kX3K D"0|
-²Vcd̙R= lP,~'7]\,ɾ|' t5NPnGTHq<zf}4
-޶z/o+J$[kaL' Ff4MYX/OxoJ,.qJuF
-#g`ߓ@Z- yap ,ܥxU Wm@ BГSd7zM+*@$T8!Se N%yEDw@87J*oKHdj96+"Uc V}?x<Pl(1'D$v*-+zs!/ ]T.է>YuEkm|Wݬ/ҙ J9VʣƼCRԨ*m>8P}u)z [5޾[Ǵڜ q6>
-pqy4Rgptү ގJę`pF
-Y;biIJ}8$XH¼5~KcቲFbmkݬ,{/MxbኜhQ2[s-[T?a?o5<,Z6QugEseJƗqڴ+F~ܛhKE'5)^D8.rN%Of 6Bϡ[uloU{18r؟.̭Z
-@geĮPo2Q0W!jcT巏ζY5rwTi6A[Oʤ+u5Bxo'07C}ǬIW)U:ID yI}KG/ɾ 4}ՙ={<ᮜ6kQȸ5
-CW}tJHgoiiswZssa@{ˤMXDdƴtj8%nK )qM /ʄukyDg<&{l"$VU`sUo2u `Q&(
+x\n6+a!9$@ή]%RNn--Y33g<sdy=vF{" 9}.|҂xV-xR=Ž& RU9nC<|sC[t?`VL{zx6|hB<NZ?)Z3A( W.p
+qԠc5?R"M,tmZ8"ߞEzA#NŭM5β{kNB.D(m}FYsz522}.ڍ6g|wZV8;I*ʾIeiy:@&٧^ ˂l^Q^ /*Z3,k H!d*P_SPq!5&9C.O
+BO4@&k]U%_W -cp/@.H+r8 X& .U7 ~[
+vF%S9ݭ]q.aW-X`j<o
+`+?X "*:EJjR.PKaxo@M1Ztft-l{3oiNjs67lx/ŅE#KU&V_ʒK7=3(v| &d\EqINcy !c'j1"e u`Fbmk}ZYv/MxbP F0ٚ3P.nߢ V8xaѲ;l4.zC(T2Ц%6\1:|D[\-2= ~ޒET._jiav[PMm/Hk"G3ۅV+_{Yq3Y
+pFXA
+.}n sUKr6I5Y~{lU#k-{LU8ViLRw_#vih5*e6]G }19iߚ x~ڑ웞`KsPӾ7yhj%KZ"i
+ǡ+I>Reg%P}749;A9q -OeREXDdƴtj}JEzRxd}C7vJRm52rZѧ6Oĭ7
+A(=)KUe;"i~*wNUi%>˕ЊF'#^rꏀm7)E#EpmՉ0\?
endstream
endobj
-1330 0 obj
-<< /Type /Page /Contents 1331 0 R /Resources 1329 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1333 0 R /Annots 1334 0 R >>
+1328 0 obj
+<< /Type /Page /Contents 1329 0 R /Resources 1327 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1331 0 R /Annots 1332 0 R >>
endobj
-1334 0 obj
-[ 1280 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R 1327 0 R 1328 0 R ]
+1332 0 obj
+[ 1278 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R ]
endobj
-1280 0 obj
+1278 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 758.132 269.836 769.001 ]/A << /S /GoTo /D (section.13) >> >>
endobj
-1286 0 obj
+1284 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 746.177 214.633 757.126 ]/A << /S /GoTo /D (subsection.13.1) >> >>
endobj
-1287 0 obj
+1285 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 735.935 185.582 745.17 ]/A << /S /GoTo /D (subsection.13.2) >> >>
endobj
-1288 0 obj
+1286 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 723.98 214.673 733.215 ]/A << /S /GoTo /D (subsection.13.3) >> >>
endobj
-1289 0 obj
+1287 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 712.025 277.328 721.26 ]/A << /S /GoTo /D (subsection.13.4) >> >>
endobj
-1290 0 obj
+1288 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 697.798 306.887 709.753 ]/A << /S /GoTo /D (subsection.13.5) >> >>
endobj
-1291 0 obj
+1289 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 678.261 168.157 687.337 ]/A << /S /GoTo /D (section.14) >> >>
endobj
-1292 0 obj
+1290 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 664.373 233.542 675.322 ]/A << /S /GoTo /D (subsection.14.1) >> >>
endobj
-1293 0 obj
+1291 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 651.97 247.559 663.925 ]/A << /S /GoTo /D (subsection.14.2) >> >>
endobj
-1294 0 obj
+1292 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 640.463 280.008 651.522 ]/A << /S /GoTo /D (subsection.14.3) >> >>
endobj
-1295 0 obj
+1293 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 628.06 288.655 640.015 ]/A << /S /GoTo /D (subsection.14.4) >> >>
endobj
-1296 0 obj
+1294 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 616.104 222.075 628.06 ]/A << /S /GoTo /D (subsection.14.5) >> >>
endobj
-1297 0 obj
+1295 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 604.707 199.42 615.547 ]/A << /S /GoTo /D (subsection.14.6) >> >>
endobj
-1298 0 obj
+1296 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 592.642 248.008 603.701 ]/A << /S /GoTo /D (subsection.14.7) >> >>
endobj
-1299 0 obj
+1297 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 580.677 215.191 591.636 ]/A << /S /GoTo /D (subsection.14.8) >> >>
endobj
-1300 0 obj
+1298 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 570.555 223.549 579.791 ]/A << /S /GoTo /D (subsection.14.9) >> >>
endobj
-1301 0 obj
+1299 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 556.329 309.507 568.284 ]/A << /S /GoTo /D (subsection.14.10) >> >>
endobj
-1302 0 obj
+1300 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 544.373 288.795 556.329 ]/A << /S /GoTo /D (subsection.14.11) >> >>
endobj
-1303 0 obj
+1301 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 524.837 238.264 533.913 ]/A << /S /GoTo /D (section.15) >> >>
endobj
-1304 0 obj
+1302 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 510.939 353.213 522.007 ]/A << /S /GoTo /D (subsection.15.1) >> >>
endobj
-1305 0 obj
+1303 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 498.984 249.173 510.052 ]/A << /S /GoTo /D (subsubsection.15.1.1) >> >>
endobj
-1306 0 obj
+1304 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 116.232 488.862 270.015 498.097 ]/A << /S /GoTo /D (subsubsection.15.1.2) >> >>
endobj
-1307 0 obj
+1305 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 475.073 297.462 486.032 ]/A << /S /GoTo /D (subsection.15.2) >> >>
endobj
-1308 0 obj
+1306 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 463.238 344.018 474.187 ]/A << /S /GoTo /D (subsection.15.3) >> >>
endobj
-1309 0 obj
+1307 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 450.725 363.963 462.68 ]/A << /S /GoTo /D (subsection.15.4) >> >>
endobj
-1310 0 obj
+1308 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 429.365 210.289 440.264 ]/A << /S /GoTo /D (section.16) >> >>
endobj
-1311 0 obj
+1309 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 409.27 186.289 418.286 ]/A << /S /GoTo /D (section.17) >> >>
endobj
-1312 0 obj
+1310 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 395.372 186.558 406.331 ]/A << /S /GoTo /D (subsection.17.1) >> >>
endobj
-1313 0 obj
+1311 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 383.427 194.419 394.376 ]/A << /S /GoTo /D (subsection.17.2) >> >>
endobj
-1314 0 obj
+1312 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 371.472 262.354 382.421 ]/A << /S /GoTo /D (subsection.17.3) >> >>
endobj
-1315 0 obj
+1313 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 359.626 198.045 370.466 ]/A << /S /GoTo /D (subsection.17.4) >> >>
endobj
-1316 0 obj
+1314 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 337.708 143.32 348.548 ]/A << /S /GoTo /D (section.18) >> >>
endobj
-1317 0 obj
+1315 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 325.195 349.268 337.151 ]/A << /S /GoTo /D (subsection.18.1) >> >>
endobj
-1318 0 obj
+1316 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 315.512 207.749 324.637 ]/A << /S /GoTo /D (subsection.18.2) >> >>
endobj
-1319 0 obj
+1317 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 303.557 217.492 312.682 ]/A << /S /GoTo /D (subsection.18.3) >> >>
endobj
-1320 0 obj
+1318 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 291.601 178.249 300.727 ]/A << /S /GoTo /D (subsection.18.4) >> >>
endobj
-1321 0 obj
+1319 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 277.813 298.688 288.772 ]/A << /S /GoTo /D (subsection.18.5) >> >>
endobj
-1322 0 obj
+1320 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 267.691 181.099 276.817 ]/A << /S /GoTo /D (subsection.18.6) >> >>
endobj
-1323 0 obj
+1321 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 255.736 204.192 264.971 ]/A << /S /GoTo /D (subsection.18.7) >> >>
endobj
-1324 0 obj
+1322 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 241.948 272.227 253.016 ]/A << /S /GoTo /D (subsection.18.8) >> >>
endobj
-1325 0 obj
+1323 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 229.554 324.451 241.509 ]/A << /S /GoTo /D (subsection.18.9) >> >>
endobj
-1326 0 obj
+1324 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 218.037 214.145 229.215 ]/A << /S /GoTo /D (subsection.18.10) >> >>
endobj
-1327 0 obj
+1325 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 196.179 132.929 206.999 ]/A << /S /GoTo /D (section.19) >> >>
endobj
-1328 0 obj
+1326 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 176.144 108.74 185.161 ]/A << /S /GoTo /D (section*.2) >> >>
endobj
-1332 0 obj
-<< /D [ 1330 0 R /XYZ 78.37 808.885 null ] >>
+1330 0 obj
+<< /D [ 1328 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1329 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F66 392 0 R /F15 385 0 R >> /ProcSet [ /PDF /Text ] >>
+1327 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F65 392 0 R /F15 385 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1 0 obj
<< /pgf@ca0.75 << /ca 0.75 >> /pgf@CA0.4 << /CA 0.4 >> /pgf@ca0.4 << /ca 0.4 >> /pgf@bmMultiply<< /BM /Multiply>> /pgf@ca1.0 << /ca 1.0 >>>>
endobj
2 0 obj
-<< /pgfpat5 835 0 R /pgfpat4 836 0 R /pgfpat10 839 0 R>>
+<< /pgfpat5 833 0 R /pgfpat4 834 0 R /pgfpat10 837 0 R>>
endobj
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
-1335 0 obj
+1333 0 obj
[ 28 [ 510 ] 96 [ 363 ] 118 [ 490 ] ]
endobj
-1337 0 obj
+1335 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xc```&
endstream
endobj
-1338 0 obj
+1336 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 692 >>
stream
xcd`aa`ddr N+O,,MIyP#C,9?Xy~s0aS  K,t~L;74G$0GAA5/<"-6300q/,L(Q0200
@@ -5699,10 +5695,10 @@ Nz
>XOoOOo_O߄=<<;WLrxxJ
endstream
endobj
-1336 0 obj
-<< /Type /FontDescriptor /FontName /TZAQYL+LMSans8-Oblique /Flags 4 /FontBBox [ -486 -314 1548 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle -12 /StemV 98 /XHeight 444 /FontFile3 1338 0 R /CIDSet 1337 0 R >>
+1334 0 obj
+<< /Type /FontDescriptor /FontName /TZAQYL+LMSans8-Oblique /Flags 4 /FontBBox [ -486 -314 1548 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle -12 /StemV 98 /XHeight 444 /FontFile3 1336 0 R /CIDSet 1335 0 R >>
endobj
-1339 0 obj
+1337 0 obj
<< /Filter /FlateDecode /Length 374 >>
stream
x}RMo@x=Y45!b7}Md.pwwM[< t7ްOa5C/Zt9jȑl9V,
@@ -5712,23 +5708,23 @@ y@ws$壷9wNF IpCPB }Jy"yr^IKDЙ\_r&
rndfA~
endstream
endobj
-833 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZAQYL+LMSans8-Oblique /DescendantFonts [ 1340 0 R ] /ToUnicode 1339 0 R >>
+828 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZAQYL+LMSans8-Oblique /DescendantFonts [ 1338 0 R ] /ToUnicode 1337 0 R >>
endobj
-1340 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZAQYL+LMSans8-Oblique /FontDescriptor 1336 0 R /W 1335 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1338 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZAQYL+LMSans8-Oblique /FontDescriptor 1334 0 R /W 1333 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1341 0 obj
+1339 0 obj
[ 56 [ 681 681 ] 82 [ 681 ] 88 [ 403 ] 106 [ 681 681 ] ]
endobj
-1343 0 obj
+1341 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xc`

endstream
endobj
-1344 0 obj
+1342 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1129 >>
stream
xuT{LSW[W@N½G2A ^DŽU{io[z(Pp
@@ -5743,10 +5739,10 @@ xuT{LSW[W@N½G2A ^DŽU{io[z(Pp
sn> <TQZPt@ UQ=R]E&ni,lAC#bdČjnpu,;T7>6<4N=$Z#yB<R eD E*yHa)ݤ1^MZN?|@˰veFb&u!}^w@x Q3%Ib4^A_>>:Xk kPT%J@i~ Ρ{(;> Qd"\4-*ۤQ2{[ F:Ј폾u1B}O jkq \5|[P6?}uxzK2iC惾ELm 9cBO"{lz2|Bh4zGo塞.OgW;Ge_
endstream
endobj
-1342 0 obj
-<< /Type /FontDescriptor /FontName /GOIBMZ+LMRoman5-Regular /Flags 4 /FontBBox [ -566 -303 1772 1126 ] /Ascent 1126 /CapHeight 683 /Descent -303 /ItalicAngle 0 /StemV 134 /XHeight 431 /FontFile3 1344 0 R /CIDSet 1343 0 R >>
+1340 0 obj
+<< /Type /FontDescriptor /FontName /GOIBMZ+LMRoman5-Regular /Flags 4 /FontBBox [ -566 -303 1772 1126 ] /Ascent 1126 /CapHeight 683 /Descent -303 /ItalicAngle 0 /StemV 134 /XHeight 431 /FontFile3 1342 0 R /CIDSet 1341 0 R >>
endobj
-1345 0 obj
+1343 0 obj
<< /Filter /FlateDecode /Length 387 >>
stream
x}Rj0+^xI` YYHB)9s*%#ۇ} /4ovM<7J67[e%t6zȐl5t5tg<iq*aتM]bց?M:]}y﫝,21vxjΙSuYf K1l& 3aEK[9L]'a:*ST5%cʼź*.N}QkMY$ 0uk:+|3~4ˣ5KY:T2ʌ ICJ
@@ -5754,28 +5750,28 @@ x}Rj0+^xI` YYHB)9s*%#ۇ} /4ovM<7J67[e%t
rhah⸁CS-f_&[ QJg`jFo[UTq{ ,r}
endstream
endobj
-809 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GOIBMZ+LMRoman5-Regular /DescendantFonts [ 1346 0 R ] /ToUnicode 1345 0 R >>
+807 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GOIBMZ+LMRoman5-Regular /DescendantFonts [ 1344 0 R ] /ToUnicode 1343 0 R >>
endobj
-1346 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GOIBMZ+LMRoman5-Regular /FontDescriptor 1342 0 R /W 1341 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1344 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GOIBMZ+LMRoman5-Regular /FontDescriptor 1340 0 R /W 1339 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1347 0 obj
+1345 0 obj
[575 575 575 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 559 638.9 511.1 638.9 ]
endobj
-1348 0 obj
+1346 0 obj
[1083.3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1361.1 ]
endobj
-1349 0 obj
+1347 0 obj
[ 28 [ 603 ] 35 [ 544 ] 43 [ 544 ] 47 [ 603 ] ]
endobj
-1351 0 obj
+1349 0 obj
<< /Filter /FlateDecode /Length 14 >>
stream
xc``
endstream
endobj
-1352 0 obj
+1350 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 900 >>
stream
xڵSoL[U]<t}dmbhAf P(d+}mx{v –@2q5,C~G>D_Yh9sﹹ990AkO4_7 N:
@@ -5790,36 +5786,36 @@ WZVRV
1mb7aKuO[&,ڗ:E["aS4c &8dxgxV6-:'T(Ed|<>a)Z9?'Uؚ
endstream
endobj
-1350 0 obj
-<< /Type /FontDescriptor /FontName /BWIYUD+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 1352 0 R /CIDSet 1351 0 R >>
+1348 0 obj
+<< /Type /FontDescriptor /FontName /BWIYUD+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 1350 0 R /CIDSet 1349 0 R >>
endobj
-1353 0 obj
+1351 0 obj
<< /Filter /FlateDecode /Length 375 >>
stream
x}R]k0}ϯ{6U@0uBa~`cM.`* BJOι7瞴ɣg XF3fˢ"\DiVychr4НeL
ӳLSñUM(M΁?G6^[U)Lq,h'ɊՁ%> ;Z(9O)/TƫI|qk $wI2
endstream
endobj
-702 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BWIYUD+LMRoman7-Italic /DescendantFonts [ 1354 0 R ] /ToUnicode 1353 0 R >>
+709 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BWIYUD+LMRoman7-Italic /DescendantFonts [ 1352 0 R ] /ToUnicode 1351 0 R >>
endobj
-1354 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BWIYUD+LMRoman7-Italic /FontDescriptor 1350 0 R /W 1349 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1352 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BWIYUD+LMRoman7-Italic /FontDescriptor 1348 0 R /W 1347 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1355 0 obj
+1353 0 obj
[892.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1138.9 0 585.3 ]
endobj
-1356 0 obj
+1354 0 obj
[ 47 [ 525 ] 50 [ 525 ] 64 [ 525 ] 66 [ 525 ] 72 [ 525 ] 77 [ 525 ] 81 [ 525 ] 98 [ 525 ] 102 [ 525 ] 105 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-1358 0 obj
+1356 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`

endstream
endobj
-1359 0 obj
+1357 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1486 >>
stream
xmU{LG%ʉr9ݚj!A⣩Qx==#Z-w CSV5$֤Uk5ZlS5SuV&Mdv3oeǢ1Ǔ
@@ -5838,10 +5834,10 @@ sƭw¸Om-åu^
T;,;T(w ;h 4
endstream
endobj
-1357 0 obj
-<< /Type /FontDescriptor /FontName /MSSSGB+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1359 0 R /CIDSet 1358 0 R >>
+1355 0 obj
+<< /Type /FontDescriptor /FontName /MSSSGB+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1357 0 R /CIDSet 1356 0 R >>
endobj
-1360 0 obj
+1358 0 obj
<< /Filter /FlateDecode /Length 420 >>
stream
x}Ok0@zp-;mڔ`$bhRe4
@@ -5850,22 +5846,22 @@ b!~%’]ތGO|{0rV`-L6F j(Qjֈ
aa>>׸1iCU<o3޶g
endstream
endobj
-634 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MSSSGB+LMMonoLt10-Bold /DescendantFonts [ 1361 0 R ] /ToUnicode 1360 0 R >>
+633 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MSSSGB+LMMonoLt10-Bold /DescendantFonts [ 1359 0 R ] /ToUnicode 1358 0 R >>
endobj
-1361 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MSSSGB+LMMonoLt10-Bold /FontDescriptor 1357 0 R /W 1356 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1359 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MSSSGB+LMMonoLt10-Bold /FontDescriptor 1355 0 R /W 1354 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1362 0 obj
+1360 0 obj
[ 47 [ 590 ] 81 [ 531 ] 98 [ 419 ] 105 [ 413 ] 116 [ 561 ] ]
endobj
-1364 0 obj
+1362 0 obj
<< /Filter /FlateDecode /Length 19 >>
stream
xc`
endstream
endobj
-1365 0 obj
+1363 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1167 >>
stream
x}TmLe^-+]lqShq ls RPG6Zz#"/\{/0a8`
@@ -5880,10 +5876,10 @@ _eR}&:q5d ub cly}xϱ3L7_kNGWg?v
#h}^
endstream
endobj
-1363 0 obj
-<< /Type /FontDescriptor /FontName /JIXNST+LMRomanSlant8-Regular /Flags 4 /FontBBox [ -483 -292 1526 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle -10 /StemV 98 /XHeight 431 /FontFile3 1365 0 R /CIDSet 1364 0 R >>
+1361 0 obj
+<< /Type /FontDescriptor /FontName /JIXNST+LMRomanSlant8-Regular /Flags 4 /FontBBox [ -483 -292 1526 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle -10 /StemV 98 /XHeight 431 /FontFile3 1363 0 R /CIDSet 1362 0 R >>
endobj
-1366 0 obj
+1364 0 obj
<< /Filter /FlateDecode /Length 388 >>
stream
xڍR]k0}ϯ{6tN鄎ĖkM.&%MKR0Џ{9'<l>V :+IT.P "GVlb .e,Yr,Y^slY^$ցn=o4XT$Ϥ;<yZSar6X
@@ -5892,25 +5888,25 @@ s˭1=Ct8VePgdnWJNñ~
δ3\9N#ƃ< =z5A Ӿ<Fx?)q^ݳZkkL m*U=z}+j
endstream
endobj
-607 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JIXNST+LMRomanSlant8-Regular /DescendantFonts [ 1367 0 R ] /ToUnicode 1366 0 R >>
+606 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JIXNST+LMRomanSlant8-Regular /DescendantFonts [ 1365 0 R ] /ToUnicode 1364 0 R >>
endobj
-1367 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JIXNST+LMRomanSlant8-Regular /FontDescriptor 1363 0 R /W 1362 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1365 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JIXNST+LMRomanSlant8-Regular /FontDescriptor 1361 0 R /W 1360 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1368 0 obj
+1366 0 obj
[361.7 429.7 0 0 0 644.7 ]
endobj
-1369 0 obj
+1367 0 obj
[ 28 [ 525 ] 35 [ 525 ] 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 63 [ 525 525 ] 66 [ 525 ] 72 [ 525 ] 74 [ 525 525 525 525 ] 81 [ 525 ] 84 [ 525 ] 88 [ 525 ] 96 [ 525 ] 98 [ 525 ] 103 [ 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-1371 0 obj
+1369 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``Td\ǣaK
endstream
endobj
-1372 0 obj
+1370 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2668 >>
stream
xڍWyX
@@ -5926,10 +5922,10 @@ pDc;
|~b~_Pr6'=:?gбƲ՜ٚ3ܖRj&v>zfC3x22#n"U )wM9=ěm<BA1FB7x[\ݞ@{a7L 
endstream
endobj
-1370 0 obj
-<< /Type /FontDescriptor /FontName /RBEIGJ+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 1372 0 R /CIDSet 1371 0 R >>
+1368 0 obj
+<< /Type /FontDescriptor /FontName /RBEIGJ+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 1370 0 R /CIDSet 1369 0 R >>
endobj
-1373 0 obj
+1371 0 obj
<< /Filter /FlateDecode /Length 484 >>
stream
xڍn0<)=P !VRCBIj ld_cZi6R|?{?3yqOz9|_ul؂^)?w%2ϋM!pŅh .%?_~/,J !pJԤP-!$Tϥx"=T?
@@ -5938,24 +5934,24 @@ s}IHiC--"%R 9僥Z6H.)Gz;}[ Ɛ!)R$2A/)
endstream
endobj
478 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RBEIGJ+LMMonoSlant10-Regular /DescendantFonts [ 1374 0 R ] /ToUnicode 1373 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RBEIGJ+LMMonoSlant10-Regular /DescendantFonts [ 1372 0 R ] /ToUnicode 1371 0 R >>
endobj
-1374 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RBEIGJ+LMMonoSlant10-Regular /FontDescriptor 1370 0 R /W 1369 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1372 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RBEIGJ+LMMonoSlant10-Regular /FontDescriptor 1368 0 R /W 1367 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1375 0 obj
+1373 0 obj
[734 ]
endobj
-1376 0 obj
+1374 0 obj
[ 28 [ 549 ] 35 [ 494 ] 40 [ 329 329 ] 43 [ 494 ] 45 [ 329 ] 47 [ 549 ] 50 [ 494 ] 55 [ 329 ] 59 [ 494 ] 63 [ 549 ] 66 [ 329 ] 70 [ 494 ] 72 [ 274 ] 75 [ 878 ] 77 [ 603 ] 81 [ 549 ] 84 [ 549 439 439 ] 88 [ 329 ] 96 [ 453 ] 98 [ 439 ] 104 [ 768 357 ] 109 [ 576 ] 112 [ 494 ] 114 [ 713 ] 116 [ 495 ] 118 [ 521 ] 502 [ 329 ] ]
endobj
-1378 0 obj
+1376 0 obj
<< /Filter /FlateDecode /Length 27 >>
stream
xc``(4ůaU &
endstream
endobj
-1379 0 obj
+1377 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3534 >>
stream
xڭX tW-Y.!,!GISU
@@ -5975,38 +5971,38 @@ Mn >
.H^ڊ)jz!-,J28 w`9 `di>h8ߐ`ju<߉t]!_
endstream
endobj
-1377 0 obj
-<< /Type /FontDescriptor /FontName /ITTKMT+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 1379 0 R /CIDSet 1378 0 R >>
+1375 0 obj
+<< /Type /FontDescriptor /FontName /ITTKMT+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 1377 0 R /CIDSet 1376 0 R >>
endobj
-1380 0 obj
+1378 0 obj
<< /Filter /FlateDecode /Length 508 >>
stream
x}Mo0=8!PH )ڥJk6q$kuZb)(Ox͑#g7Nٗ7lqI /Dh[׈ lɷ+qJ;\OSM Ec_?M]>7AE5\6FfĂGι䦩M{7sl}Nv4 d#/j='|չ:5jfj~fRg6/Qm{!#q/˘άRfwp>C[K,@h$m)+ՙjGJ~sDO@0΃$Ilt"Γ 3A!ha)^-h 9hk)܀vE!(䲤 %(AKe E. EВ<[YJ9(jԋQ!DBdI80R)SJAKS. zO2hI%Z giߏ%׮f٠J=hD^&zy/-
endstream
endobj
419 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ITTKMT+LMRoman8-Italic /DescendantFonts [ 1381 0 R ] /ToUnicode 1380 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ITTKMT+LMRoman8-Italic /DescendantFonts [ 1379 0 R ] /ToUnicode 1378 0 R >>
endobj
-1381 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ITTKMT+LMRoman8-Italic /FontDescriptor 1377 0 R /W 1376 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1379 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ITTKMT+LMRoman8-Italic /FontDescriptor 1375 0 R /W 1374 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1382 0 obj
+1380 0 obj
[1123 ]
endobj
-1383 0 obj
+1381 0 obj
[777.8 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 388.9 388.9 ]
endobj
-1384 0 obj
+1382 0 obj
[ 28 [ 525 ] 43 [ 489 ] 50 [ 511 ] 64 [ 367 ] 66 [ 256 ] 75 [ 867 ] 77 [ 561 ] 82 [ 550 ] 96 [ 372 ] 105 [ 404 550 550 ] 116 [ 500 ] ]
endobj
-1386 0 obj
+1384 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`X P

endstream
endobj
-1387 0 obj
+1385 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1716 >>
stream
xڍU pEUM,@+v70 X6e -ǀqL!`VK>eKeZ?K1`[4@
@@ -6018,10 +6014,10 @@ NIcO>ܷuecM·:tZ"K 4Hp'L4)v(*(8G:z<9
3##g< AjSS
endstream
endobj
-1385 0 obj
-<< /Type /FontDescriptor /FontName /QJUVUX+LMSans10-Bold /Flags 4 /FontBBox [ -460 -297 1761 1134 ] /Ascent 1134 /CapHeight 694 /Descent -297 /ItalicAngle 0 /StemV 102 /XHeight 458 /FontFile3 1387 0 R /CIDSet 1386 0 R >>
+1383 0 obj
+<< /Type /FontDescriptor /FontName /QJUVUX+LMSans10-Bold /Flags 4 /FontBBox [ -460 -297 1761 1134 ] /Ascent 1134 /CapHeight 694 /Descent -297 /ItalicAngle 0 /StemV 102 /XHeight 458 /FontFile3 1385 0 R /CIDSet 1384 0 R >>
endobj
-1388 0 obj
+1386 0 obj
<< /Filter /FlateDecode /Length 422 >>
stream
x}Kk0stZA04I .O[GX2ȿ[(9gFgƚ{.i6e^5-M&+#u(Qj{ ֈ;.UUw̅^:nZN?k^>eۄG %k8 ImאrZ.MkY<xUZ!!l|^ 
@@ -6030,21 +6026,21 @@ x}Kk0stZA04I .O[GX2ȿ[(9gFgƚ{.i6e^5-M
endstream
endobj
407 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QJUVUX+LMSans10-Bold /DescendantFonts [ 1389 0 R ] /ToUnicode 1388 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QJUVUX+LMSans10-Bold /DescendantFonts [ 1387 0 R ] /ToUnicode 1386 0 R >>
endobj
-1389 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QJUVUX+LMSans10-Bold /FontDescriptor 1385 0 R /W 1384 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1387 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QJUVUX+LMSans10-Bold /FontDescriptor 1383 0 R /W 1382 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1390 0 obj
+1388 0 obj
[ 27 [ 850 547 875 ] 34 [ 800 625 575 ] 38 [ 575 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 55 [ 344 563 563 884 563 ] 62 [ 880 625 375 419 313 ] 68 [ 344 ] 70 [ 594 ] 72 [ 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 95 [ 839 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 111 [ 850 594 1162 813 850 594 ] 118 [ 594 688 500 563 656 ] 499 [ 551 551 ] ]
endobj
-1392 0 obj
+1390 0 obj
<< /Filter /FlateDecode /Length 29 >>
stream
xc``6.j߿7?` H
endstream
endobj
-1393 0 obj
+1391 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6916 >>
stream
xڝZ @SW%1W W:uVŽ{vI@YY%j{N:tZT'Ny}{BrϹI-%-]y +V VL}cһA^֑żwF,?GxCl{0l.76\8hyI^)rGY/ M(H1wO $L 4,./JƔ)&Zg)ޝXPx)MVx/4\W(<TA>P:oEtwD7"4:,rd:?HELhDVEz{)C#Q~ފ׮SD)VVLPDz{+fFENu!s"]&EZuV,]轵&GF)|B#^Q*{+{wHTE 5A^FQcxj5rRoPӨLj5CMͣSPR )7j ZNVRQjj ZG6PJI(Oʋ(*
@@ -6078,32 +6074,32 @@ P׈$ g,;0SD̋$j TUU˯kXhaZ
! iJe8%1)8 Kd#jc= _G OOo1gsEh{r Ijw7x:K Zݿs5g1_筸,%+&>XPb?ԁBB'`C*LϗEm KLOg _/=&.*"MqfxR㺳,9s^@5l lW{ig { Xv8-JSz
endstream
endobj
-1391 0 obj
-<< /Type /FontDescriptor /FontName /TIEZGJ+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 1393 0 R /CIDSet 1392 0 R >>
+1389 0 obj
+<< /Type /FontDescriptor /FontName /TIEZGJ+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 1391 0 R /CIDSet 1390 0 R >>
endobj
-1394 0 obj
+1392 0 obj
<< /Filter /FlateDecode /Length 644 >>
stream
x}[0+ԇ7I.kI^HB)}s,ekec;tƻPB <#y&_\5G龹tEL& /Z+h޺-{5u;i+߾?wM]8 Y[s_1v3|<!"`mԲ`JtT|H$;:A0U-kk[lW|L_;ʼ[f/m{N <gJlaKQk6u*m>WfbF-J]3k@~@O<ª hƿBOѹB,=-= DxJd&D' Orh*) A ƈq"hIO@}cEH iE;H#1_2(,#-TT5"3E?eeR-gv'Dn9T'ttDq%Z_qF'&RJURJI $H':HID:EN"r NHrn9|u'-ID9%q/ 7սnV}Luv槆3mZGM#2
endstream
endobj
406 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TIEZGJ+LMRoman12-Bold /DescendantFonts [ 1395 0 R ] /ToUnicode 1394 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TIEZGJ+LMRoman12-Bold /DescendantFonts [ 1393 0 R ] /ToUnicode 1392 0 R >>
endobj
-1395 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TIEZGJ+LMRoman12-Bold /FontDescriptor 1391 0 R /W 1390 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1393 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TIEZGJ+LMRoman12-Bold /FontDescriptor 1389 0 R /W 1388 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1396 0 obj
+1394 0 obj
[ 27 [ 531 531 531 ] 32 [ 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 531 ] 49 [ 531 531 531 531 531 ] 55 [ 531 531 531 ] 59 [ 531 ] 61 [ 531 531 531 531 ] 66 [ 531 ] 68 [ 531 ] 70 [ 531 531 531 531 531 531 531 531 531 ] 80 [ 531 531 531 ] 84 [ 531 531 531 ] 88 [ 531 ] 91 [ 531 ] 95 [ 531 531 531 531 531 531 531 531 531 531 531 531 531 ] 109 [ 531 531 531 531 531 531 531 531 ] 118 [ 531 ] 120 [ 531 ] ]
endobj
-1398 0 obj
+1396 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
xc``&

endstream
endobj
-1399 0 obj
+1397 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6684 >>
stream
xڍz \ĐITc1wuV[m"]p)Rwְ@a_nl{EUgݢM۾c/oB~ ޙw=lڙ<<rٛd1~JۭUv*t$c0R#Ot_rt݁o>K5_0 x1y(ǩ/.p| #x $1+ׯ7e"*^sqy}smt_@"V*J̑z̑z*bWr,/"HzɶHcT2JTD^#
@@ -6126,10 +6122,10 @@ svO֛-5rRtnS8(U[ftF\cs
Ut\PYKJwvB1H( H+WqAR2H5~-۟yei xg4n@K*:8:hq_Z}cGyNoL:;q
endstream
endobj
-1397 0 obj
-<< /Type /FontDescriptor /FontName /BAKNBK+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 1399 0 R /CIDSet 1398 0 R >>
+1395 0 obj
+<< /Type /FontDescriptor /FontName /BAKNBK+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 1397 0 R /CIDSet 1396 0 R >>
endobj
-1400 0 obj
+1398 0 obj
<< /Filter /FlateDecode /Length 673 >>
stream
x}Kk0E!]q,YjK@A٦1$EH:'-ZU)W?^m,of6?mjQ秣gk [\V{b0_-VU_ͫ*?
@@ -6140,21 +6136,21 @@ I(($*#1]vNUЩZZBKj BePm2 <<Sˠit7$tB4)i-n
endstream
endobj
397 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BAKNBK+LMMono8-Regular /DescendantFonts [ 1401 0 R ] /ToUnicode 1400 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BAKNBK+LMMono8-Regular /DescendantFonts [ 1399 0 R ] /ToUnicode 1398 0 R >>
endobj
-1401 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BAKNBK+LMMono8-Regular /FontDescriptor 1397 0 R /W 1396 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1399 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BAKNBK+LMMono8-Regular /FontDescriptor 1395 0 R /W 1394 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1402 0 obj
+1400 0 obj
[ 28 [ 510 ] 35 [ 549 ] 43 [ 472 ] 47 [ 549 ] 50 [ 472 ] 63 [ 549 354 ] 66 [ 253 ] 70 [ 519 ] 72 [ 253 ] 75 [ 844 ] 77 [ 549 ] 81 [ 531 ] 84 [ 549 ] 88 [ 295 ] 96 [ 363 ] 98 [ 407 ] 105 [ 384 ] 109 [ 549 ] 112 [ 490 ] 114 [ 726 ] 116 [ 490 ] 118 [ 490 ] ]
endobj
-1404 0 obj
+1402 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``T`\4ţa*
endstream
endobj
-1405 0 obj
+1403 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1825 >>
stream
xmU}TWC23,--% ~`AFH &"H5`˩,JY+ǮG .Zp`Y{T{a nOߙy3{w$" fY|u.!huD3,Fg+Nf%%'ů$M2Z|ӏt9! &Ltmo
@@ -6166,10 +6162,10 @@ C(ŢhJ@kmDP*2(ّKDY|=K׉D yx^^$Zɇ=f0C
`=d(#p
endstream
endobj
-1403 0 obj
-<< /Type /FontDescriptor /FontName /QQGJDO+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 1405 0 R /CIDSet 1404 0 R >>
+1401 0 obj
+<< /Type /FontDescriptor /FontName /QQGJDO+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 1403 0 R /CIDSet 1402 0 R >>
endobj
-1406 0 obj
+1404 0 obj
<< /Filter /FlateDecode /Length 466 >>
stream
x}Mo0
@@ -6179,21 +6175,21 @@ x}Mo0
endstream
endobj
396 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QQGJDO+LMSans8-Regular /DescendantFonts [ 1407 0 R ] /ToUnicode 1406 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QQGJDO+LMSans8-Regular /DescendantFonts [ 1405 0 R ] /ToUnicode 1404 0 R >>
endobj
-1407 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QQGJDO+LMSans8-Regular /FontDescriptor 1403 0 R /W 1402 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1405 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QQGJDO+LMSans8-Regular /FontDescriptor 1401 0 R /W 1400 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1408 0 obj
+1406 0 obj
[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 ] 47 [ 590 ] 49 [ 723 472 531 ] 54 [ 693 325 531 531 834 531 ] 62 [ 796 590 354 383 295 ] 68 [ 325 ] 70 [ 561 664 295 ] 74 [ 973 885 796 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 ] 91 [ 561 ] 95 [ 782 414 590 419 ] 100 [ 531 531 531 ] 104 [ 767 413 531 531 796 590 ] 112 [ 561 1091 767 796 561 ] 118 [ 561 649 472 531 620 885 ] 125 [ 590 590 ] 499 [ 502 502 ] 502 [ 295 ] ]
endobj
-1410 0 obj
+1408 0 obj
<< /Filter /FlateDecode /Length 29 >>
stream
xc``0-z߿@
endstream
endobj
-1411 0 obj
+1409 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7359 >>
stream
xڝz\,;d-3:*DcƊ"-,
@@ -6228,10 +6224,10 @@ sL4y_a0
nt``6Doz}Nexi4ff:uQ:+[d Cgr
endstream
endobj
-1409 0 obj
-<< /Type /FontDescriptor /FontName /AUGDZH+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 1411 0 R /CIDSet 1410 0 R >>
+1407 0 obj
+<< /Type /FontDescriptor /FontName /AUGDZH+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 1409 0 R /CIDSet 1408 0 R >>
endobj
-1412 0 obj
+1410 0 obj
<< /Filter /FlateDecode /Length 667 >>
stream
x}M0=dɧ + HBbh$DI8kJW>xl;+tgmdW\׬qϕT, h|+{6\ӵ*'V\kԿX{Æ;Ý}~}UFϧu=jW'@gكYf.ۮ =KU,ʜsFdFWCTވ;~2߼ҥ2Zjg:e#b{[ȶTG6|c9I<'IX!zk]ld.l_fwi$ ,BvM6SGLuMW'q*j
@@ -6240,22 +6236,22 @@ TIckAD/3z+ޕH47䯌_`>"P
endstream
endobj
395 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /AUGDZH+LMRoman8-Regular /DescendantFonts [ 1413 0 R ] /ToUnicode 1412 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /AUGDZH+LMRoman8-Regular /DescendantFonts [ 1411 0 R ] /ToUnicode 1410 0 R >>
endobj
-1413 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /AUGDZH+LMRoman8-Regular /FontDescriptor 1409 0 R /W 1408 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1411 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /AUGDZH+LMRoman8-Regular /FontDescriptor 1407 0 R /W 1406 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1414 0 obj
+1412 0 obj
[ 51 [ 611 ] 56 [ 611 611 ] 78 [ 611 ] 82 [ 611 ] 100 [ 611 611 ] 106 [ 611 611 ] 121 [ 611 ] 187 [ 611 ] ]
endobj
-1416 0 obj
+1414 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
xc`
<  
endstream
endobj
-1417 0 obj
+1415 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1865 >>
stream
xuU{PSW!fe!{[ԶXV >@;ZWK0H^i7፼b@"mEeTݺjwhٵ:ǙDwٙ;~X` &BR$ǿqS
@@ -6272,31 +6268,31 @@ n@ 6]xɊLRLZy`%g!PᇓG HtHm_V6s98wW~
;;=?z=s+Z]]l-%OJ"< #* N6;,a;펆 X^hu
endstream
endobj
-1415 0 obj
-<< /Type /FontDescriptor /FontName /TESQOF+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 1417 0 R /CIDSet 1416 0 R >>
+1413 0 obj
+<< /Type /FontDescriptor /FontName /TESQOF+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 1415 0 R /CIDSet 1414 0 R >>
endobj
-1418 0 obj
+1416 0 obj
<< /Filter /FlateDecode /Length 413 >>
stream
x}]K0+M/Qps:]x%g3&%m/=IVQ xzޓyKKhxahTl0x0Pψe_mQ` !ת"qűث~[|u6*$;6k#U*a6;H9cTn .!}lv8KRJgOQQT85-V6AL3'k+*} #i
endstream
endobj
394 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TESQOF+LMRoman6-Regular /DescendantFonts [ 1419 0 R ] /ToUnicode 1418 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TESQOF+LMRoman6-Regular /DescendantFonts [ 1417 0 R ] /ToUnicode 1416 0 R >>
endobj
-1419 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TESQOF+LMRoman6-Regular /FontDescriptor 1415 0 R /W 1414 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1417 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TESQOF+LMRoman6-Regular /FontDescriptor 1413 0 R /W 1412 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1420 0 obj
+1418 0 obj
[ 47 [ 624 ] 55 [ 536 ] 59 [ 641 ] 77 [ 613 ] 84 [ 558 ] 96 [ 602 ] 98 [ 458 ] 112 [ 613 ] ]
endobj
-1422 0 obj
+1420 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`
endstream
endobj
-1423 0 obj
+1421 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1466 >>
stream
x}UkLWa2. ̌-P>P">veg}"ݧX)JUҊ! Zՠ4mmtVl>қ7/9;("#(&|e֔ur1Sk2)\d K%$)$"B*Q%h8G%SbIC*YRU͎4U#Q$!ȯљ(?2YS/) Ώ%* -*c֨s5: zz.k Rff+m53.X<OC+7VhK)Cݴb:O_ JfK-ӻiikJҊsabȜٗA~Aj^Nk4J ]rh?f>˕k +ul!c
@@ -6308,10 +6304,10 @@ x}UkLWa2. ̌-P>P">veg}"ݧX)JUҊ! Zՠ4m
:vS0<OQ:ڈvo=(I/,:̌ jt#"8kXhmdk0$s iOirxPH]GZ}>
endstream
endobj
-1421 0 obj
-<< /Type /FontDescriptor /FontName /IPHWGX+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 1423 0 R /CIDSet 1422 0 R >>
+1419 0 obj
+<< /Type /FontDescriptor /FontName /IPHWGX+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 1421 0 R /CIDSet 1420 0 R >>
endobj
-1424 0 obj
+1422 0 obj
<< /Filter /FlateDecode /Length 403 >>
stream
xڍ]k0+.)̯0?PټlR|X1d>=9y󦍧6xAMa4`HshL2#Z-М$Deĉdc[4Ɠw];m|,6*K$͋ 6xΩm݉lZ#Gp?QB!tڔRa&Dev !qs8}N\J2m^D 4+E•樅<AQ#Vy~Fk
@@ -6319,21 +6315,21 @@ xڍ]k0+.)̯0?PټlR|X1d>=9y󦍧6xAMa4`HshL
endstream
endobj
393 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IPHWGX+LMRomanCaps10-Regular /DescendantFonts [ 1425 0 R ] /ToUnicode 1424 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IPHWGX+LMRomanCaps10-Regular /DescendantFonts [ 1423 0 R ] /ToUnicode 1422 0 R >>
endobj
-1425 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IPHWGX+LMRomanCaps10-Regular /FontDescriptor 1421 0 R /W 1420 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1423 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IPHWGX+LMRomanCaps10-Regular /FontDescriptor 1419 0 R /W 1418 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1426 0 obj
+1424 0 obj
[ 27 [ 869 559 ] 34 [ 818 639 575 ] 42 [ 831 511 ] 45 [ 319 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 62 [ 900 639 383 436 319 594 ] 70 [ 607 692 319 ] 74 [ 1092 958 900 639 575 ] 80 [ 864 575 575 786 639 447 447 ] 88 [ 319 ] 95 [ 863 474 639 454 ] 100 [ 575 575 575 ] 104 [ 800 447 575 575 885 639 ] 111 [ 869 607 1189 831 869 607 869 607 703 511 575 ] 125 [ 639 ] 284 [ 575 ] 502 [ 319 ] ]
endobj
-1428 0 obj
+1426 0 obj
<< /Filter /FlateDecode /Length 32 >>
stream
xc``0/y߿wa 8
endstream
endobj
-1429 0 obj
+1427 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6804 >>
stream
xڅY XW&hPZEU.*((D 䄰oo :VRkkVhmm]Zkk{Զr/sN&~QVVL&s\9wׂe.Z?tG
@@ -6372,10 +6368,10 @@ LU]{u3*Zdeoү!f@Qi{r)w19_!x='
iT*l<.Y$yȥ <vLx(7Mt^aff*%r9䙏r[q(pS/Ej>US*xNay-RZ-DyśW=\Q7@b:3LH("B[W&o6/CH=~;>;Wt;[!mB#^U GVg@a̕&0Ma>PNCUƎ>QQr
endstream
endobj
-1427 0 obj
-<< /Type /FontDescriptor /FontName /UFTXJR+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 1429 0 R /CIDSet 1428 0 R >>
+1425 0 obj
+<< /Type /FontDescriptor /FontName /UFTXJR+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 1427 0 R /CIDSet 1426 0 R >>
endobj
-1430 0 obj
+1428 0 obj
<< /Filter /FlateDecode /Length 649 >>
stream
x}[o0+ڇbVKXm/v46l$p$<R ;smta잳s[x\4Ͳ.'ccC{dom]nMnVK^xfȺ47~xv3&OMx<:~ͮ.i [1mW%sǓՋkc񾲺%[oyrM򋷗7dFEVv{ա؞hƣiw޼'FvѪ\׊ݥ1, lYk5EiL4q S6Y42Vs](C[~d6<O$(MKAbDy
@@ -6384,21 +6380,21 @@ x}[o0+ڇbVKXm/v46l$p$<R ;smta잳s[x
endstream
endobj
392 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /UFTXJR+LMRoman10-Bold /DescendantFonts [ 1431 0 R ] /ToUnicode 1430 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /UFTXJR+LMRoman10-Bold /DescendantFonts [ 1429 0 R ] /ToUnicode 1428 0 R >>
endobj
-1431 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /UFTXJR+LMRoman10-Bold /FontDescriptor 1427 0 R /W 1426 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1429 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /UFTXJR+LMRoman10-Bold /FontDescriptor 1425 0 R /W 1424 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1432 0 obj
+1430 0 obj
[ 28 [ 500 ] 35 [ 556 ] 43 [ 444 ] 45 [ 278 ] 47 [ 556 ] 50 [ 444 ] 52 [ 778 ] 55 [ 306 ] 59 [ 500 ] 62 [ 750 556 333 ] 66 [ 278 ] 70 [ 528 625 278 ] 75 [ 833 ] 77 [ 556 ] 81 [ 500 ] 84 [ 556 ] 88 [ 278 ] 96 [ 392 ] 98 [ 394 ] 104 [ 722 389 ] 109 [ 556 ] 112 [ 528 ] 114 [ 722 750 528 ] 118 [ 528 ] 125 [ 556 ] 502 [ 278 ] ]
endobj
-1434 0 obj
+1432 0 obj
<< /Filter /FlateDecode /Length 28 >>
stream
xc``^<ţa], $&
endstream
endobj
-1435 0 obj
+1433 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4091 >>
stream
xڝX tSպ>i9!@)c\ [CE
@@ -6424,10 +6420,10 @@ O
QYp*Wcxc] ZV ;eS@UDEZL3v<W}!Grs9A,Q[]2M &S<-Mw+7Zklrp7-^
endstream
endobj
-1433 0 obj
-<< /Type /FontDescriptor /FontName /GRCBCJ+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 1435 0 R /CIDSet 1434 0 R >>
+1431 0 obj
+<< /Type /FontDescriptor /FontName /GRCBCJ+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 1433 0 R /CIDSet 1432 0 R >>
endobj
-1436 0 obj
+1434 0 obj
<< /Filter /FlateDecode /Length 523 >>
stream
xڍK0Ydp;#
@@ -6435,21 +6431,21 @@ ZPaL2,!}r@,1)z%E/P.i</gg/0x´ ?C:ml
endstream
endobj
391 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GRCBCJ+LMRomanSlant10-Regular /DescendantFonts [ 1437 0 R ] /ToUnicode 1436 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GRCBCJ+LMRomanSlant10-Regular /DescendantFonts [ 1435 0 R ] /ToUnicode 1434 0 R >>
endobj
-1437 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GRCBCJ+LMRomanSlant10-Regular /FontDescriptor 1433 0 R /W 1432 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1435 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GRCBCJ+LMRomanSlant10-Regular /FontDescriptor 1431 0 R /W 1430 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1438 0 obj
+1436 0 obj
[ 28 [ 569 ] 45 [ 323 ] 50 [ 508 569 ] 55 [ 354 569 569 ] 59 [ 569 ] 66 [ 323 ] 75 [ 939 ] 78 [ 569 ] 81 [ 569 569 ] 98 [ 453 ] 100 [ 569 569 ] 105 [ 446 569 569 ] 121 [ 569 ] ]
endobj
-1440 0 obj
+1438 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc````1 S
endstream
endobj
-1441 0 obj
+1439 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2828 >>
stream
x}V TWUD,u̯rI4D-pEmiYT~#ڀ 4Ђ Qh"hqьFLΜ3Lk{^IggB"Xor_+u
@@ -6464,10 +6460,10 @@ B]/NnG"ZΜ[,T[=h pԣj]]
6/T&{TgeeYwgٲlYl[vNuVE
endstream
endobj
-1439 0 obj
-<< /Type /FontDescriptor /FontName /SDPEKN+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 1441 0 R /CIDSet 1440 0 R >>
+1437 0 obj
+<< /Type /FontDescriptor /FontName /SDPEKN+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 1439 0 R /CIDSet 1438 0 R >>
endobj
-1442 0 obj
+1440 0 obj
<< /Filter /FlateDecode /Length 457 >>
stream
x}Ao0
@@ -6476,21 +6472,21 @@ x}Ao0
endstream
endobj
390 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SDPEKN+LMRoman7-Regular /DescendantFonts [ 1443 0 R ] /ToUnicode 1442 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SDPEKN+LMRoman7-Regular /DescendantFonts [ 1441 0 R ] /ToUnicode 1440 0 R >>
endobj
-1443 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SDPEKN+LMRoman7-Regular /FontDescriptor 1439 0 R /W 1438 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1441 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SDPEKN+LMRoman7-Regular /FontDescriptor 1437 0 R /W 1436 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1444 0 obj
+1442 0 obj
[ 27 [ 743 511 ] 35 [ 460 ] 42 [ 716 460 ] 45 [ 307 ] 47 [ 511 ] 49 [ 678 460 511 ] 54 [ 653 307 511 511 ] 59 [ 460 ] 63 [ 511 ] 66 [ 307 ] 70 [ 460 ] 72 [ 256 ] 74 [ 897 818 743 562 511 ] 81 [ 511 511 ] 84 [ 511 ] 95 [ 729 422 562 409 ] 100 [ 511 511 ] 104 [ 716 332 511 511 ] 109 [ 537 ] 112 [ 460 ] 114 [ 664 ] 116 [ 464 ] 118 [ 486 ] 120 [ 409 511 ] 284 [ 511 ] ]
endobj
-1446 0 obj
+1444 0 obj
<< /Filter /FlateDecode /Length 28 >>
stream
xc``0-/͗U0
endstream
endobj
-1447 0 obj
+1445 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6055 >>
stream
xڭy |SenB8Hߩ
@@ -6522,31 +6518,31 @@ gk*?mGD8xO>J>a
σw@]/+N:HR~-4}s>E ߵ9:v
endstream
endobj
-1445 0 obj
-<< /Type /FontDescriptor /FontName /TDKKTE+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 1447 0 R /CIDSet 1446 0 R >>
+1443 0 obj
+<< /Type /FontDescriptor /FontName /TDKKTE+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 1445 0 R /CIDSet 1444 0 R >>
endobj
-1448 0 obj
+1446 0 obj
<< /Filter /FlateDecode /Length 560 >>
stream
x}Kk0E]jK0 I(:1IJEH:- >ωɯ?Ag[7ThdՔZE)[ה;5eu5ܚ\TcI uWn߯k p?sUVlLeͻя,㜛Z.*)mɦJˎVeLV@>Xew~Pu7ok'UWw49K۞݇q/˘TGxRԊM\h5\fm XlۢT]Oʛxf<?qhƯq2?Eg ӈ8-092#Rp ;%1"LA)2S@&=2DhӼ& z:&}+$/)`BLbGgwS$p7EA.# aѮ"}̓"w킞c pWODS pGϛR^\wU]6Mk=G׍Uw
endstream
endobj
389 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TDKKTE+LMRoman10-Italic /DescendantFonts [ 1449 0 R ] /ToUnicode 1448 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TDKKTE+LMRoman10-Italic /DescendantFonts [ 1447 0 R ] /ToUnicode 1446 0 R >>
endobj
-1449 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TDKKTE+LMRoman10-Italic /FontDescriptor 1445 0 R /W 1444 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1447 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TDKKTE+LMRoman10-Italic /FontDescriptor 1443 0 R /W 1442 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1450 0 obj
+1448 0 obj
[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 61 [ 525 525 525 525 525 525 525 525 ] 70 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 91 [ 525 ] 95 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 252 [ 525 ] 494 [ 525 ] ]
endobj
-1452 0 obj
+1450 0 obj
<< /Filter /FlateDecode /Length 31 >>
stream
xc``_P>
endstream
endobj
-1453 0 obj
+1451 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7988 >>
stream
xڵzw\D *(;{l+vQ+
@@ -6576,10 +6572,10 @@ Sa{Sr 'Yl:+W'CWy7nsv!g*ǚ 9EЪ5o?ȭ+4 пBٔ
U+qz
endstream
endobj
-1451 0 obj
-<< /Type /FontDescriptor /FontName /MMJPSC+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1453 0 R /CIDSet 1452 0 R >>
+1449 0 obj
+<< /Type /FontDescriptor /FontName /MMJPSC+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1451 0 R /CIDSet 1450 0 R >>
endobj
-1454 0 obj
+1452 0 obj
<< /Filter /FlateDecode /Length 736 >>
stream
x}]k0+B{F,)!24e6̐v.'뜴0ZDtUo/]nxu]}js&ɹ^uq櫪oUNG/)>/Yc:۟6Soe?QQŨtmWսHnEU`E#K]Y-!x(G_͹qUh2#s9Fmڲڋ/29SܐGh:}G'Feϼ' ufv[]4ES1Yiqw@?8 忷P2Kf i(5E
@@ -6587,21 +6583,21 @@ x}]k0+B{F,)!24e6̐v.'뜴0ZDtUo/]nxu]}js
endstream
endobj
388 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MMJPSC+LMMono10-Regular /DescendantFonts [ 1455 0 R ] /ToUnicode 1454 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MMJPSC+LMMono10-Regular /DescendantFonts [ 1453 0 R ] /ToUnicode 1452 0 R >>
endobj
-1455 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MMJPSC+LMMono10-Regular /FontDescriptor 1451 0 R /W 1450 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1453 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MMJPSC+LMMono10-Regular /FontDescriptor 1449 0 R /W 1448 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1456 0 obj
+1454 0 obj
[ 28 [ 481 ] 35 [ 517 ] 43 [ 444 ] 47 [ 517 ] 50 [ 444 ] 55 [ 306 ] 57 [ 500 ] 59 [ 500 ] 63 [ 517 333 278 239 ] 68 [ 267 ] 70 [ 489 ] 72 [ 239 ] 75 [ 794 ] 77 [ 517 ] 81 [ 500 500 ] 84 [ 517 ] 96 [ 342 ] 98 [ 383 ] 101 [ 500 ] 105 [ 361 500 500 ] 109 [ 517 ] 111 [ 667 461 ] 114 [ 683 ] 116 [ 461 ] 118 [ 461 ] 120 [ 435 ] 125 [ 536 536 ] ]
endobj
-1458 0 obj
+1456 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc``T |5%aI6
endstream
endobj
-1459 0 obj
+1457 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2827 >>
stream
xuV TW1 h@%&RFgjk
@@ -6619,10 +6615,10 @@ m׫&IcT щqRm4T!MKUR:mZr껎u4CHNNUJӒbU:>A% iҥ5
ʊKJm)
endstream
endobj
-1457 0 obj
-<< /Type /FontDescriptor /FontName /JZYRJQ+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 1459 0 R /CIDSet 1458 0 R >>
+1455 0 obj
+<< /Type /FontDescriptor /FontName /JZYRJQ+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 1457 0 R /CIDSet 1456 0 R >>
endobj
-1460 0 obj
+1458 0 obj
<< /Filter /FlateDecode /Length 527 >>
stream
x}O0=dqwW(@bS@U[ }m?[$xc&|䞳5YE <HuoDdm؇ ul+Uuw&yYR*uK}pK?—_?/¯Bt8 r{j[uGDf(senZ=sn,득 F^%Ke;+<b&>˓\ڎN+锍Lũ FZԁ ?hr69xeLޔ6'b#;Jh]>vf{iŎ#.kImS u`jL.+ Hɿv{I&>T.-iYP 4vĠ HRУg*<8sG9?|Oc3(@s%>AP&DL'M1FLhI|h,T' .?mzM,nO ~{6\<kmV]v+Eכԍ=
@@ -6630,24 +6626,24 @@ x}O0=dqwW(@bS@U[ }m?[$xc&|䞳5Y
endstream
endobj
387 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JZYRJQ+LMSans10-Regular /DescendantFonts [ 1461 0 R ] /ToUnicode 1460 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JZYRJQ+LMSans10-Regular /DescendantFonts [ 1459 0 R ] /ToUnicode 1458 0 R >>
endobj
-1461 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JZYRJQ+LMSans10-Regular /FontDescriptor 1457 0 R /W 1456 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1459 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JZYRJQ+LMSans10-Regular /FontDescriptor 1455 0 R /W 1454 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1462 0 obj
+1460 0 obj
[388.9 388.9 0 777.8 0 0 0 0 500 500 500 500 500 500 500 500 500 500 0 0 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 277.8 0 277.8 0 0 0 0 0 444.4 0 0 0 0 0 277.8 0 0 0 0 555.6 500 0 0 0 394.4 ]
endobj
-1463 0 obj
+1461 0 obj
[ 27 [ 750 500 778 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 42 [ 722 444 278 278 764 556 ] 49 [ 681 444 500 ] 53 [ 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 514 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 ] 91 [ 528 ] 95 [ 736 392 556 394 278 500 500 500 ] 104 [ 722 389 500 500 750 556 ] 111 [ 750 528 1028 722 750 528 750 528 611 444 500 583 833 ] 125 [ 556 556 ] 199 [ 778 ] 234 [ 375 ] 251 [ 444 ] 280 [ 670 ] 283 [ 1000 500 ] 319 [ 556 556 ] 400 [ 778 ] 499 [ 472 472 ] 502 [ 278 ] ]
endobj
-1465 0 obj
+1463 0 obj
<< /Filter /FlateDecode /Length 46 >>
stream
xc``/߿
endstream
endobj
-1466 0 obj
+1464 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8831 >>
stream
xڵz\W q {-{vMz/"eB]zYXڂ1%&}Kbb~o~X~9
@@ -6686,10 +6682,10 @@ _[^:USӝ~\UEIfGw\)Rsܢ2əgKW6kX؎h'UZUמZ
Bb<:zX)tFӥ~
endstream
endobj
-1464 0 obj
-<< /Type /FontDescriptor /FontName /HRDLGI+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 1466 0 R /CIDSet 1465 0 R >>
+1462 0 obj
+<< /Type /FontDescriptor /FontName /HRDLGI+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 1464 0 R /CIDSet 1463 0 R >>
endobj
-1467 0 obj
+1465 0 obj
<< /Filter /FlateDecode /Length 760 >>
stream
xڅ]o0+J%NT lHTnibX$HP>:MVUsNl7.wKb?ʹ)N{[w֖k+ۉ|1]U/bw*EGܾٟEi׵{K=m/ުnS)ܰlX~X5wq̛7y*雪.[^{$QVEG
@@ -6702,39 +6698,39 @@ BwMBt bw9<c(@ЩIЙރ2 )t*KS1 @GD$d?ݑIPB
endstream
endobj
385 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HRDLGI+LMRoman10-Regular /DescendantFonts [ 1468 0 R ] /ToUnicode 1467 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HRDLGI+LMRoman10-Regular /DescendantFonts [ 1466 0 R ] /ToUnicode 1465 0 R >>
endobj
-1468 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HRDLGI+LMRoman10-Regular /FontDescriptor 1464 0 R /W 1463 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1466 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HRDLGI+LMRoman10-Regular /FontDescriptor 1462 0 R /W 1461 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1469 0 obj
+1467 0 obj
[446.4 446.4 0 877 0 0 0 0 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 569.4 ]
endobj
-1470 0 obj
+1468 0 obj
[500 0 0 0 0 0 0 0 0 0 0 0 277.8 277.8 0 0 0 0 0 750 758.5 714.7 827.9 0 0 0 0 439.6 0 0 680.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 528.6 429.2 432.8 520.5 465.6 489.6 0 576.2 344.5 411.8 520.6 298.4 878 600.2 0 503.1 0 451.2 0 0 572.5 0 0 571.5 490.3 465 ]
endobj
-1471 0 obj
+1469 0 obj
[955.6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 533.6 588.2 0 0 0 880.8 ]
endobj
-1472 0 obj
+1470 0 obj
[1027.8 0 0 0 0 0 680.6 680.6 680.6 680.6 ]
endobj
-1473 0 obj
+1471 0 obj
[339.3 0 0 0 585.3 0 0 0 819.4 0 0 0 0 0 0 0 0 783.7 0 0 0 0 0 0 0 674.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 542 0 0 0 404.2 472.7 607.3 0 0 706.2 0 588.9 523.6 0 0 0 0 0 0 647.8 ]
endobj
-1474 0 obj
+1472 0 obj
[333.3 0 0 0 0 0 736.1 736.1 527.8 527.8 0 0 0 0 750 750 0 0 0 0 791.7 791.7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 875 875 666.7 666.7 666.7 666.7 666.7 666.7 888.9 888.9 888.9 888.9 0 0 888.9 666.7 875 875 875 875 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 555.6 0 0 0 0 0 0 0 0 0 0 0 0 0 472.2 472.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 666.7 666.7 450 450 450 450 ]
endobj
-1475 0 obj
+1473 0 obj
[ 27 [ 525 525 525 525 ] 32 [ 525 525 525 525 525 ] 38 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 59 [ 525 525 ] 62 [ 525 525 525 525 525 525 525 ] 70 [ 525 525 525 ] 74 [ 525 525 525 525 525 ] 80 [ 525 525 525 ] 84 [ 525 525 525 525 525 525 ] 91 [ 525 ] 96 [ 525 525 525 525 525 525 525 525 525 525 525 525 ] 109 [ 525 525 525 525 525 525 ] 116 [ 525 ] 118 [ 525 ] 120 [ 525 525 ] ]
endobj
-1477 0 obj
+1475 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
xc``_
endstream
endobj
-1478 0 obj
+1476 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7001 >>
stream
xڅz@SWJ\juWm".\8CFI#8a7(V*V6jZk='
@@ -6777,10 +6773,10 @@ pKTaW5~ByDۖ~d|o~}m<Y>ALM}-vVgI-Bj
.V]zAK^ NP 1¬3֍G- "b@IXx8Ah[M〽U[S5'_9Ki8mf7 62 >Tk0JRڪR2S 9]h7;
endstream
endobj
-1476 0 obj
-<< /Type /FontDescriptor /FontName /BMSACQ+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1478 0 R /CIDSet 1477 0 R >>
+1474 0 obj
+<< /Type /FontDescriptor /FontName /BMSACQ+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 1476 0 R /CIDSet 1475 0 R >>
endobj
-1479 0 obj
+1477 0 obj
<< /Filter /FlateDecode /Length 692 >>
stream
x}OO0BرUJRkH%~Uw@}|{[ǓX'ݶթm<[mf^姣u݋-.xk|m;q;[Η^v]4}m+ُ֓jU1~aI~ (/PmڲrObx$ó+fձFJ]銆:ŶW SQyG
@@ -6790,21 +6786,21 @@ x}OO0BرUJRkH%~Uw@}|{[ǓX'ݶթm<
endstream
endobj
378 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BMSACQ+LMMono9-Regular /DescendantFonts [ 1480 0 R ] /ToUnicode 1479 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BMSACQ+LMMono9-Regular /DescendantFonts [ 1478 0 R ] /ToUnicode 1477 0 R >>
endobj
-1480 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BMSACQ+LMMono9-Regular /FontDescriptor 1476 0 R /W 1475 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1478 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BMSACQ+LMMono9-Regular /FontDescriptor 1474 0 R /W 1473 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1481 0 obj
+1479 0 obj
[ 28 [ 494 ] 43 [ 457 ] 50 [ 457 ] 63 [ 531 ] 66 [ 245 ] 75 [ 816 ] 77 [ 531 ] 96 [ 351 ] 98 [ 394 ] 105 [ 371 ] 116 [ 474 ] 118 [ 474 ] ]
endobj
-1483 0 obj
+1481 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`Ta`X
endstream
endobj
-1484 0 obj
+1482 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1234 >>
stream
xmLWQ`j-:OFKЉ ?c2[{A'eTY@nSadςc1Iej=b//{#@h( br,Cn|Vv)OXY+&>j4MЬĆHCdZqc1ɩ
@@ -6814,10 +6810,10 @@ xmLWQ`j-:OFKЉ ?c2[{A'eTY@nSadςc
7bdxo;ts:<0n${z;[ZhoG6z|t?J
endstream
endobj
-1482 0 obj
-<< /Type /FontDescriptor /FontName /VPHLPO+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 1484 0 R /CIDSet 1483 0 R >>
+1480 0 obj
+<< /Type /FontDescriptor /FontName /VPHLPO+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 1482 0 R /CIDSet 1481 0 R >>
endobj
-1485 0 obj
+1483 0 obj
<< /Filter /FlateDecode /Length 419 >>
stream
x}N0~âRY8)UH@+R!}ڱؑ, H3rrn{t-?1pxtV`|-k6*D9DZ#
@@ -6828,21 +6824,21 @@ u0=z0a6 4
endstream
endobj
377 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VPHLPO+LMSans9-Regular /DescendantFonts [ 1486 0 R ] /ToUnicode 1485 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VPHLPO+LMSans9-Regular /DescendantFonts [ 1484 0 R ] /ToUnicode 1483 0 R >>
endobj
-1486 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VPHLPO+LMSans9-Regular /FontDescriptor 1482 0 R /W 1481 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1484 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VPHLPO+LMSans9-Regular /FontDescriptor 1480 0 R /W 1479 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1487 0 obj
+1485 0 obj
[ 28 [ 514 ] 35 [ 571 ] 43 [ 457 ] 45 [ 286 ] 47 [ 571 ] 50 [ 457 ] 55 [ 314 ] 59 [ 514 ] 63 [ 571 343 ] 66 [ 286 ] 70 [ 542 642 286 ] 75 [ 856 ] 77 [ 571 ] 81 [ 514 ] 84 [ 571 ] 88 [ 286 ] 96 [ 402 ] 98 [ 405 ] 104 [ 742 400 ] 109 [ 571 ] 112 [ 542 ] 114 [ 742 771 542 ] ]
endobj
-1489 0 obj
+1487 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``U\<ţa
endstream
endobj
-1490 0 obj
+1488 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3281 >>
stream
xڕW XgA QwFgVRWk齲J*V "$p *HѺڧ9Y>L}ϙ'{{`>>@ X{s=Oo޲C%ˎ
@@ -6860,31 +6856,31 @@ BD/נּA[D?S/Ioh |Gf?cr=1r\g[QF2ӻ^%^MÛn
d)&#Y/L1󲵝cLۅ~>v$)YgBX >{]@s@6%?0VS|PYAozů{L:׋$5'R`;HYMǘ$ m۳Ôv750`6 Nc376A~{':TAJi>('txG/3ޗܘ`}k{tl*2`.gnY{\6:[S69{
endstream
endobj
-1488 0 obj
-<< /Type /FontDescriptor /FontName /WLTFCY+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 1490 0 R /CIDSet 1489 0 R >>
+1486 0 obj
+<< /Type /FontDescriptor /FontName /WLTFCY+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 1488 0 R /CIDSet 1487 0 R >>
endobj
-1491 0 obj
+1489 0 obj
<< /Filter /FlateDecode /Length 492 >>
stream
x}[@&cĐ8&$s<"]$ҐݧI&hSɷ]4GkU7lrIDٻj=l\VNeyYNZӹ)~/.䃿p)Mա/:LGٍ(2?HuU#Yp9<I5f%OYeGc B&wdZ)_\ob3ݹzuٛ*yfu~h ?{i>ע&63BGz>kזXh9ԵEIgVxV[I=Kx1\OPi! 5A!h 6 E,4A PAN%Csr*A3Bh#gdiRAP KcxI0{m%=q*=q*=.0{,Sܐsf/?vҋcnًJ~Mk׾Kjmʾ)T
endstream
endobj
376 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WLTFCY+LMRoman9-Regular /DescendantFonts [ 1492 0 R ] /ToUnicode 1491 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WLTFCY+LMRoman9-Regular /DescendantFonts [ 1490 0 R ] /ToUnicode 1489 0 R >>
endobj
-1492 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WLTFCY+LMRoman9-Regular /FontDescriptor 1488 0 R /W 1487 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1490 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WLTFCY+LMRoman9-Regular /FontDescriptor 1486 0 R /W 1485 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1493 0 obj
+1491 0 obj
[ 27 [ 893 575 ] 35 [ 657 ] 43 [ 526 ] 96 [ 488 ] 98 [ 467 ] 105 [ 460 ] ]
endobj
-1495 0 obj
+1493 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xc```
endstream
endobj
-1496 0 obj
+1494 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1258 >>
stream
xmTmLSW~"]^Gd-DeNNM)R*]mXAQc`lR>TmM [21 ?̖,f{em̖,9=9xiJ*hen(Hγdmo[M ˰)q)-rQ"/J"dZ)}qLKeK)nSO 21w+(&) POh  kګ=҅Vy-4W* 2L(Ӏ (ZJ FkW8jTPiq"Q«C
@@ -6892,32 +6888,32 @@ F`B56@Jm{7
jг{qU 9L*6bӈ<|Hn;`}]{Xn_M3&b-|,#c|)̺nЬ!0d*veX?`=D~M_Ͻ}Z[b# eɶ
endstream
endobj
-1494 0 obj
-<< /Type /FontDescriptor /FontName /RMWBFT+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 1496 0 R /CIDSet 1495 0 R >>
+1492 0 obj
+<< /Type /FontDescriptor /FontName /RMWBFT+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 1494 0 R /CIDSet 1493 0 R >>
endobj
-1497 0 obj
+1495 0 obj
<< /Filter /FlateDecode /Length 388 >>
stream
x}RMk@ﯘ=lTEVT+^.ݰIQ(@B^ޛf{WNXV3 Vۼ"ZD9׊*]R4#N%;sQg!;~WɂAڒL4#Ggk!|x|J&BHodh\ܓfCx,SY(\Bx0d; 樅<CA#8UuAk(cXf/DmV4קٵB9yLqħ1,7 JTxhcOm(1}(DC+<ء)uh9#q=~e]U7Z:y6x?JU͢ 
endstream
endobj
375 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMWBFT+LMRoman9-Bold /DescendantFonts [ 1498 0 R ] /ToUnicode 1497 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMWBFT+LMRoman9-Bold /DescendantFonts [ 1496 0 R ] /ToUnicode 1495 0 R >>
endobj
-1498 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMWBFT+LMRoman9-Bold /FontDescriptor 1494 0 R /W 1493 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1496 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMWBFT+LMRoman9-Bold /FontDescriptor 1492 0 R /W 1491 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1499 0 obj
+1497 0 obj
[ 28 [ 515 ] 33 [ 515 ] 47 [ 515 ] 55 [ 515 ] 59 [ 515 ] 66 [ 515 ] 77 [ 515 ] 81 [ 515 ] 84 [ 515 ] 88 [ 515 ] 96 [ 515 ] 105 [ 515 ] 114 [ 515 ] 118 [ 515 ] ]
endobj
-1501 0 obj
+1499 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``p`dP`hhpP
D)
endstream
endobj
-1502 0 obj
+1500 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1845 >>
stream
xuV}TW!@5ʚiZ3K- _EAE%1LBD<u
@@ -6932,74 +6928,74 @@ oRWɧ<| ƠP"{nPq%e}Gܮ(WȗN)QuoYUO&Pn^
g48ԂE>*`zK@E%1άxh@,+&p_(N(/?=u0ݕLDB0O>`R Fon0km(V׮Җ ֐F"3DgϷ^?@%xSEV!6¶M:GӞ`x#qNf4e'_%#l|ZQuJeq?HR@8(fu\o!du8iw6s;YpoۚiPH&Ng y[j;rgRsJcOt~w@[fk9RM
endstream
endobj
-1500 0 obj
-<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 1502 0 R /CIDSet 1501 0 R >>
+1498 0 obj
+<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 1500 0 R /CIDSet 1499 0 R >>
endobj
-1503 0 obj
+1501 0 obj
<< /Filter /FlateDecode /Length 428 >>
stream
x}]O0+`Dpf!q%Df,[֞&%.m{&F%pk z:=A[2,5P3
endstream
endobj
374 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 1504 0 R ] /ToUnicode 1503 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 1502 0 R ] /ToUnicode 1501 0 R >>
endobj
-1504 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 1500 0 R /W 1499 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1502 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 1498 0 R /W 1497 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1505 0 obj
-[ 28 [ 490 ] 35 [ 544 ] 43 [ 435 ] 45 [ 272 ] 47 [ 544 ] 50 [ 435 ] 54 [ 639 299 ] 57 [ 490 ] 59 [ 490 ] 63 [ 544 ] 66 [ 272 503 ] 75 [ 816 ] 77 [ 544 490 ] 81 [ 490 ] 83 [ 666 544 ] 88 [ 272 ] 96 [ 381 ] 98 [ 386 ] 105 [ 381 ] 107 [ 490 ] 109 [ 544 ] 116 [ 517 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 257 [ 435 ] ]
+1503 0 obj
+[ 27 [ 734 490 ] 35 [ 544 ] 43 [ 435 ] 45 [ 272 ] 47 [ 544 ] 50 [ 435 ] 54 [ 639 299 ] 57 [ 490 ] 59 [ 490 ] 63 [ 544 ] 66 [ 272 ] 75 [ 816 ] 77 [ 544 ] 81 [ 490 ] 83 [ 666 544 ] 88 [ 272 ] 96 [ 381 ] 98 [ 386 ] 105 [ 381 ] 107 [ 490 ] 109 [ 544 ] 116 [ 517 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 257 [ 435 ] ]
endobj
-1507 0 obj
+1505 0 obj
<< /Filter /FlateDecode /Length 31 >>
stream
-xc``U4hX
+xc``UThX
endstream
endobj
-1508 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3569 >>
+1506 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 3456 >>
stream
-xڭX X皞˘VgLX7;mEjU]$ȅp 'o!$$\Pwbػx\]cٝ9{gwyf}xݰu뼐͊(E2MB}s 3Hf¼cH3O6؋sl9{x@3+xAx߸w^U^3I^37^CDwȟy(o"χ=,XHJSԒE ,>! 򓬏PUDc$$~0V%ҸX"V..ѨJDThTs$q*V<(Ji4J%h1RD'.Y%!rT+RIZ_)2Xn?$95}C?uZPJbY/a
-ebTªEt]TW!6 -2EE2$
-\Qe!gg30קu\ %XSVFœsa)@~Tօv bK?$ hBQ*ݟlI9AqQlXldW h{ņSlL #.^0g \SOD$Fa/p3cXKolpXYΎ-N9P
-{ eWQ m&Քy&9ɡi*+)%,
-!\X~J_Hy
-CӓHyjbv
-<jvU:  26^^nyA-=ͤU>!nCXBy|Z>2a3v.w(A[CUAwKOQBl$%
-
-2UoEzmqFY]ʧZrJV{6ft:KWT"l߀u"^eKIHlRuS.kokuVa֛l9ԅKhjFUN%fggڬVky|gnS8/NwˬVuxꈢ3Ydꬄ;/w]|Ǽ`e5:uwbG$*ׁ'BEeSHO&&8
--Zzk\-VKiIR\Z594+
+xڭX Xg˘ؙصoն*URBn@.D(wbֵxlt׵G]umw?Ϟ3ss<g{}o"F丸-̎ްY7?t\KKPnr/ q 8z9h$<4zd):8E0'š_^ p=EL2
+`1
+}{鮔]ԒuJ_#M<}ԉ yE,^F_w<wK;:G)y Z|F:3roç$ajaj_H=CD
+iRH~1; 41GEۘ~eQrQC)Q*}ݔQi=ioQ)m~(k a"N
+Kl6z.6=ڸ,~\~RS 5 M^{eթhLQۙP'u*&xG˳`
+VŬ$e.3ë먯p8
+Ty`?pFZ;||d/=yv~|orIy C?%YofJoTO<u`[1$výR(IPМ-l(c!tD4lAoW̖SɻJ&xɅ#d8}=tdpfxץorHgAK?ҥ[|;n{ {. 1ZL#<Ub Q<'Fbo/C1Y ,mW'EH\OzCּ,MYڦ@KR!w x{EB= mJVޒGJ'o/Yov$&?p#=~2<.B1"NJEz1ÇQ
+薴}Xc)=)LPщs:[^ɯөxkNG[=%@٭F%AS`vhgpԻ%;zAݙ7Rϗ%h}ȣ:?';{<JkA8ESy):qIb\D׾Db$L{W>)>nB߸ MqUNl5ǘ$EA:6ۚ>YB|)w|CB| 53|]^U菼'.S_Yhۊ e4
+(8A$g8bi{mi?;v1DaE,9`w:[2Q؋I9/ xb~Y=Cܦ!%ÊDgKyJG- ~^! ~9E4$-b
+nJR/ GCWxMzbFmZ|9QE6 Uyx% gγ뎯ϓAQ)Ծu(fO[3J;Gڅ^n3xu ?ECk+pQ_WEom\jt_hh#kylS2SU
+t?GXr K*SSZ%F@ Vw!s674'qYg% *.n=~/ְ)4<.sa!Uw\2(we}-_F\(̂+2Gnz%Z`́
endstream
endobj
-1506 0 obj
-<< /Type /FontDescriptor /FontName /QXGKVV+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 1508 0 R /CIDSet 1507 0 R >>
+1504 0 obj
+<< /Type /FontDescriptor /FontName /XXSMKT+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 1506 0 R /CIDSet 1505 0 R >>
endobj
-1509 0 obj
-<< /Filter /FlateDecode /Length 505 >>
+1507 0 obj
+<< /Filter /FlateDecode /Length 501 >>
stream
-xڅK0YdpHfF(
-( 4_h$DNq**(u||3g:=rTN5`Y]I}#$h>TefE72t'\ȯ3 pn2Ao]2sS/ڋNO&av/l 94lFS!rjh"o߼nݵiSMl'MV7zWT!lxONuu}!#q/M}zJb#Fh^ZUB$畠rR<76Mz$_q g4
-q
-#P"R
-P7 [eAcK']b%1ΐ 1D.Z8 8Q_(K>7]0NWgo\bRzj1;SHm]զ~kӿņ9c/
+xڅn0y
+8$BJ
++]YZ,H,BbH#%!m1619Rbc":$H擥@r5z7! gS΀y1Ncg>c9%vOpu@ ΞMW
+c6z}1WkkA)Gv-mZeE[Co[/-G
endstream
endobj
373 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /QXGKVV+LMRoman12-Regular /DescendantFonts [ 1510 0 R ] /ToUnicode 1509 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XXSMKT+LMRoman12-Regular /DescendantFonts [ 1508 0 R ] /ToUnicode 1507 0 R >>
endobj
-1510 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /QXGKVV+LMRoman12-Regular /FontDescriptor 1506 0 R /W 1505 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1508 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XXSMKT+LMRoman12-Regular /FontDescriptor 1504 0 R /W 1503 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1511 0 obj
+1509 0 obj
[ 28 [ 451 ] 43 [ 418 ] 50 [ 418 ] 66 [ 223 ] 75 [ 745 ] 77 [ 484 ] 96 [ 320 ] 105 [ 340 ] 116 [ 432 ] ]
endobj
-1513 0 obj
+1511 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc```P`Pa`hp
endstream
endobj
-1514 0 obj
+1512 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1024 >>
stream
xuS}LEnY>G[tao(EQ&r irq[]zZ"[%+56m ^(H$!%1?gw1&{&Kz@DVCU弪zOHVhAʕJnfl
@@ -7009,10 +7005,10 @@ xuS}LEnY>G[tao(EQ&r irq[]zZ"[%+56m ^(
CoV< }>q%N鉴4=Z^d
endstream
endobj
-1512 0 obj
-<< /Type /FontDescriptor /FontName /YLODNZ+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 1514 0 R /CIDSet 1513 0 R >>
+1510 0 obj
+<< /Type /FontDescriptor /FontName /YLODNZ+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 1512 0 R /CIDSet 1511 0 R >>
endobj
-1515 0 obj
+1513 0 obj
<< /Filter /FlateDecode /Length 404 >>
stream
x}]K0+6s2
@@ -7021,21 +7017,21 @@ nU(MKf`MJ^ߛv8 xzޓyK<p`|Mkj`*֖(5"GW{xъp
endstream
endobj
372 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YLODNZ+LMSans17-Regular /DescendantFonts [ 1516 0 R ] /ToUnicode 1515 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YLODNZ+LMSans17-Regular /DescendantFonts [ 1514 0 R ] /ToUnicode 1513 0 R >>
endobj
-1516 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YLODNZ+LMSans17-Regular /FontDescriptor 1512 0 R /W 1511 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1514 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YLODNZ+LMSans17-Regular /FontDescriptor 1510 0 R /W 1509 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1517 0 obj
+1515 0 obj
[ 28 [ 459 ] 35 [ 511 ] 43 [ 406 ] 50 [ 406 ] 55 [ 276 ] 59 [ 459 ] 63 [ 511 ] 66 [ 250 ] 70 [ 485 ] 72 [ 250 ] 75 [ 772 ] 77 [ 511 ] 81 [ 459 ] 84 [ 511 ] 91 [ 485 ] 96 [ 354 511 359 ] 104 [ 668 354 ] 108 [ 693 511 ] 114 [ 668 ] 126 [ 499 ] ]
endobj
-1519 0 obj
+1517 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc``PT!
endstream
endobj
-1520 0 obj
+1518 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2974 >>
stream
xڕW TW cKCk룮mu"QD!@$@ !hA DCZPRQrd}j_֭n;=;ֶsrn;?xz"i􊈈US#"d鳂)R}s1=~~CQ4AL)_χLq_B9xy pO|; p ?"⠜1>G[3CCg.ei)9#4iq \*JJ驤(3\LFdjv6 ebHm$cklX$S,+d$UIetVbRLfg&J"&!2UdDj8S)&HR)*knH*;%XH (C#F˗E-\,zQ*WEn)dJ*U*_&";ɲDqX8S 52BDB wp$Y D$"$"`e/M'b D!mg n5jWчQM}
@@ -7049,10 +7045,10 @@ Yfi^="s[o\*+3
(<4F;qy;}L&Sl.tVX̥%fZ;g)}
endstream
endobj
-1518 0 obj
-<< /Type /FontDescriptor /FontName /JSPLLU+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 1520 0 R /CIDSet 1519 0 R >>
+1516 0 obj
+<< /Type /FontDescriptor /FontName /JSPLLU+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 1518 0 R /CIDSet 1517 0 R >>
endobj
-1521 0 obj
+1519 0 obj
<< /Filter /FlateDecode /Length 474 >>
stream
xڅn0y
@@ -7061,12 +7057,12 @@ xڅn0y
endstream
endobj
371 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JSPLLU+LMRoman17-Regular /DescendantFonts [ 1522 0 R ] /ToUnicode 1521 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JSPLLU+LMRoman17-Regular /DescendantFonts [ 1520 0 R ] /ToUnicode 1519 0 R >>
endobj
-1522 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JSPLLU+LMRoman17-Regular /FontDescriptor 1518 0 R /W 1517 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+1520 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JSPLLU+LMRoman17-Regular /FontDescriptor 1516 0 R /W 1515 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-1524 0 obj
+1522 0 obj
<< /Length1 1484 /Length2 8131 /Length3 0 /Filter /FlateDecode /Length 9124 >>
stream
xڍTm6NHt,) ] .²tJH#]J4" HwwS9w3sM\LtZ2`Di
@@ -7108,10 +7104,10 @@ Mt%ŕTMHtwX:n҅O| ҙi,l59k#E~L.pz/'w/
*2;nYK/G-^䙗;%{F!zd[
endstream
endobj
-1523 0 obj
-<< /Type /FontDescriptor /FontName /XEMCLW+CMBX10 /Flags 4 /FontBBox [ -56 -250 1164 750 ] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /a /b /c /d /one /three /two) /FontFile 1524 0 R >>
+1521 0 obj
+<< /Type /FontDescriptor /FontName /XEMCLW+CMBX10 /Flags 4 /FontBBox [ -56 -250 1164 750 ] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 114 /XHeight 444 /CharSet( /a /b /c /d /one /three /two) /FontFile 1522 0 R >>
endobj
-1526 0 obj
+1524 0 obj
<< /Length1 2319 /Length2 9802 /Length3 0 /Filter /FlateDecode /Length 11051 >>
stream
xڍTZ6Lt# 1t*]Jw
@@ -7163,10 +7159,10 @@ l1(fP@weKg}PYۈE[n(#3%[$Bf~΍Nd\zmM0 Y],9Ca0- ub
3H vrH
endstream
endobj
-1525 0 obj
-<< /Type /FontDescriptor /FontName /CFYTDH+CMEX10 /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 47 /XHeight 431 /CharSet( /arrowbt /arrowtp /arrowvertex /braceex /bracehtipdownleft /bracehtipdownright /bracehtipupleft /bracehtipupright /braceleftbigg /braceleftbt /bracelefttp /bracerightbigg /bracerightbt /bracerighttp /bracketleftBig /bracketleftbigg /bracketleftbt /bracketleftex /bracketlefttp /bracketrightBig /bracketrightbigg /bracketrightbt /bracketrightex /bracketrighttp /integraldisplay /parenleftBigg /parenleftbigg /parenleftbt /parenleftex /parenlefttp /parenrightBigg /parenrightbigg /parenrightbt /parenrightex /parenrighttp /vextendsingle) /FontFile 1526 0 R >>
+1523 0 obj
+<< /Type /FontDescriptor /FontName /CFYTDH+CMEX10 /Flags 4 /FontBBox [ -24 -2960 1454 772 ] /Ascent 40 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 47 /XHeight 431 /CharSet( /arrowbt /arrowtp /arrowvertex /braceex /bracehtipdownleft /bracehtipdownright /bracehtipupleft /bracehtipupright /braceleftbigg /braceleftbt /bracelefttp /bracerightbigg /bracerightbt /bracerighttp /bracketleftBig /bracketleftbigg /bracketleftbt /bracketleftex /bracketlefttp /bracketrightBig /bracketrightbigg /bracketrightbt /bracketrightex /bracketrighttp /integraldisplay /parenleftBigg /parenleftbigg /parenleftbt /parenleftex /parenlefttp /parenrightBigg /parenrightbigg /parenrightbt /parenrightex /parenrighttp /vextendsingle) /FontFile 1524 0 R >>
endobj
-1528 0 obj
+1526 0 obj
<< /Length1 1396 /Length2 5867 /Length3 0 /Filter /FlateDecode /Length 6812 >>
stream
xڍTTTk&FPAf@II)!f`:% @B$$DSCR@R@i$;9޵]֞=<]@P"T( X$ TV1
@@ -7199,10 +7195,10 @@ mNվ˘jB5̞cvqc~O\Y)O
ݟ~wb@ ݤmπnsA6&wSlYD]+"@?|9mo]fjǾ{sŸܦ}}rIRBR+譜yScC>gamʁt!eU p/k UQSb3Z Wзo.uY&h) @X`0rEC:s,17v TN
endstream
endobj
-1527 0 obj
-<< /Type /FontDescriptor /FontName /VMQSYC+CMEX7 /Flags 4 /FontBBox [ -12 -2951 1627 770 ] /Ascent 49 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 80 /XHeight 431 /CharSet( /radicalbig) /FontFile 1528 0 R >>
+1525 0 obj
+<< /Type /FontDescriptor /FontName /VMQSYC+CMEX7 /Flags 4 /FontBBox [ -12 -2951 1627 770 ] /Ascent 49 /CapHeight 0 /Descent -600 /ItalicAngle 0 /StemV 80 /XHeight 431 /CharSet( /radicalbig) /FontFile 1526 0 R >>
endobj
-1530 0 obj
+1528 0 obj
<< /Length1 1830 /Length2 11276 /Length3 0 /Filter /FlateDecode /Length 12424 >>
stream
xڍT[-kqS'-- @ )V-VSHhq>zsɞ׷;&9,q
@@ -7245,10 +7241,10 @@ t둭Jc_WP5jbep/wUd22>3}֟Bn9MmGvX-i1@?BDVlt[~_
|UƶO3n0&hWA:fBh;2bVF:u(o7Ȕ?xs4ŹNgX%%F}J34G_1˵-{
endstream
endobj
-1529 0 obj
-<< /Type /FontDescriptor /FontName /CEORQM+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /A /B /C /D /I /L /a /b /c /comma /d /e /f /h /i /j /k /l /m /n /p /period /r /triangleright /u /x /y /z) /FontFile 1530 0 R >>
+1527 0 obj
+<< /Type /FontDescriptor /FontName /CEORQM+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /A /B /C /D /I /L /a /b /c /comma /d /e /f /h /i /j /k /l /m /n /p /period /r /triangleright /u /x /y /z) /FontFile 1528 0 R >>
endobj
-1532 0 obj
+1530 0 obj
<< /Length1 1415 /Length2 6063 /Length3 0 /Filter /FlateDecode /Length 7021 >>
stream
xڍuTk-Xh
@@ -7278,10 +7274,10 @@ OB+F|72{ .2xcZrL_7-_5Km-܁CEMXo]Y1nfɫt/
bUyLq@jƚm#<՗aVY G<^P4~0-)gV2+ \]"X,p aqה-TW'qY'D#_Ē_w"9FuKK
endstream
endobj
-1531 0 obj
-<< /Type /FontDescriptor /FontName /JZMBET+CMMI12 /Flags 4 /FontBBox [ -31 -250 1026 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /A) /FontFile 1532 0 R >>
+1529 0 obj
+<< /Type /FontDescriptor /FontName /JZMBET+CMMI12 /Flags 4 /FontBBox [ -31 -250 1026 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet( /A) /FontFile 1530 0 R >>
endobj
-1534 0 obj
+1532 0 obj
<< /Length1 1451 /Length2 6812 /Length3 0 /Filter /FlateDecode /Length 7785 >>
stream
xڍtTk.)]D`A!ASIiICFwZY羞^Fzm=N[5XspEr*
@@ -7315,10 +7311,10 @@ y[f!i;7W%mIJ ﭓ71v(oT(}6u4/^%O8Ϩu(6g
a e|L1iR]ez[
endstream
endobj
-1533 0 obj
-<< /Type /FontDescriptor /FontName /IUHNPC+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /L /i /j /n) /FontFile 1534 0 R >>
+1531 0 obj
+<< /Type /FontDescriptor /FontName /IUHNPC+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /L /i /j /n) /FontFile 1532 0 R >>
endobj
-1536 0 obj
+1534 0 obj
<< /Length1 1589 /Length2 8523 /Length3 0 /Filter /FlateDecode /Length 9572 >>
stream
xڍTT.LCH "! 0PC!%)-!!%%ֺwZgγ}}jb&6FiPPx`c`accGաp+ȟft&jW= Iq
@@ -7362,10 +7358,10 @@ Sziq`Rky5zX-
_G)JxУ<g|eBy"7t*<
endstream
endobj
-1535 0 obj
-<< /Type /FontDescriptor /FontName /WUDPRN+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /C /L /T /comma /e /i /j /k /n /p /q /star /x) /FontFile 1536 0 R >>
+1533 0 obj
+<< /Type /FontDescriptor /FontName /WUDPRN+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /C /L /T /comma /e /i /j /k /n /p /q /star /x) /FontFile 1534 0 R >>
endobj
-1538 0 obj
+1536 0 obj
<< /Length1 1438 /Length2 6548 /Length3 0 /Filter /FlateDecode /Length 7523 >>
stream
xڍt4kׯ"ZD0zF5`0!z[H$DDoD#Ir{޻ֽkϳ=6f]>y{-LA
@@ -7402,10 +7398,10 @@ wt/ְj@884}?em\9P?{6jx)*NaqIuoŀ31&
*INS+$3z t$x g6./)~s_2oϒlAS"F!XzP%i3UsLWsOLۈklm܏f(]zj Y2
endstream
endobj
-1537 0 obj
-<< /Type /FontDescriptor /FontName /TEYYDJ+CMMI8 /Flags 4 /FontBBox [ -24 -250 1110 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 78 /XHeight 431 /CharSet( /i /j /n) /FontFile 1538 0 R >>
+1535 0 obj
+<< /Type /FontDescriptor /FontName /TEYYDJ+CMMI8 /Flags 4 /FontBBox [ -24 -250 1110 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 78 /XHeight 431 /CharSet( /i /j /n) /FontFile 1536 0 R >>
endobj
-1540 0 obj
+1538 0 obj
<< /Length1 1744 /Length2 11235 /Length3 0 /Filter /FlateDecode /Length 12356 >>
stream
xڍP.k;wwwwwg!0 w@pBpw
@@ -7452,10 +7448,10 @@ ttoΎфtč!e웩I]8NG'
o獧{{m1` 8>`9X;;FVqvt$3CY(n3@}"ZWkgcQ͞*EkFY<lc ?v0.+Q2SbMXw`Pi.zN o| Ի)n9`VOi{40ơ
endstream
endobj
-1539 0 obj
-<< /Type /FontDescriptor /FontName /IHIWXH+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleft /bracketright /c /eight /equal /five /four /i /n /nine /o /one /parenleft /parenright /plus /s /seven /six /three /two /zero) /FontFile 1540 0 R >>
+1537 0 obj
+<< /Type /FontDescriptor /FontName /IHIWXH+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /bracketleft /bracketright /c /eight /equal /five /four /i /n /nine /o /one /parenleft /parenright /plus /s /seven /six /three /two /zero) /FontFile 1538 0 R >>
endobj
-1542 0 obj
+1540 0 obj
<< /Length1 1447 /Length2 6556 /Length3 0 /Filter /FlateDecode /Length 7538 >>
stream
xڍVT\%Kph%CbfI%iP@@$nQJ.7zoZ3{kؙu a '<
@@ -7490,10 +7486,10 @@ eO:[1bo_9ͣh[puK}ks 7\GU0Ǟ6Г?ﱿWy$4kw}zK
2h&ji/,
endstream
endobj
-1541 0 obj
-<< /Type /FontDescriptor /FontName /CPMJUS+CMR5 /Flags 4 /FontBBox [ -10 -250 1304 750 ] /Ascent 694 /CapHeight 680 /Descent -194 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /four /one /plus /three /two) /FontFile 1542 0 R >>
+1539 0 obj
+<< /Type /FontDescriptor /FontName /CPMJUS+CMR5 /Flags 4 /FontBBox [ -10 -250 1304 750 ] /Ascent 694 /CapHeight 680 /Descent -194 /ItalicAngle 0 /StemV 89 /XHeight 431 /CharSet( /four /one /plus /three /two) /FontFile 1540 0 R >>
endobj
-1544 0 obj
+1542 0 obj
<< /Length1 1595 /Length2 7817 /Length3 0 /Filter /FlateDecode /Length 8871 >>
stream
xڍT6t
@@ -7531,10 +7527,10 @@ Y<Qj8e^z 7r-\
.+g!~ŜI #PAiМ'WXϟf'_}xbK$yv[IoRʢTYiGU$ݡsZ,U+hQ
endstream
endobj
-1543 0 obj
-<< /Type /FontDescriptor /FontName /IZMGNT+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /parenleft /parenright /plus /seven /six /three /two /zero) /FontFile 1544 0 R >>
+1541 0 obj
+<< /Type /FontDescriptor /FontName /IZMGNT+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /eight /five /four /nine /one /parenleft /parenright /plus /seven /six /three /two /zero) /FontFile 1542 0 R >>
endobj
-1546 0 obj
+1544 0 obj
<< /Length1 1500 /Length2 6516 /Length3 0 /Filter /FlateDecode /Length 7522 >>
stream
xڍxTڲ6"J5 &*IMj $ґ ޕ*IU@tAs=zoe${f+@PU$
@@ -7577,10 +7573,10 @@ BH'渆m|{m/{.xoH2nE -.w}y'*7.^WeNߚFsU%ϏS
;J!ujE%msCzzFeq0x~ǠAJ/]j z8{FqKeI*1HoA(N{&dY __޴T'EQz
endstream
endobj
-1545 0 obj
-<< /Type /FontDescriptor /FontName /VGMPAA+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /angbracketleft /angbracketright /arrowleft /minus /multiply) /FontFile 1546 0 R >>
+1543 0 obj
+<< /Type /FontDescriptor /FontName /VGMPAA+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /angbracketleft /angbracketright /arrowleft /minus /multiply) /FontFile 1544 0 R >>
endobj
-1548 0 obj
+1546 0 obj
<< /Length1 1414 /Length2 6167 /Length3 0 /Filter /FlateDecode /Length 7134 >>
stream
xڍvTTk6(HK7FBADjc`bP:A@:SBRZ@:T@ios5kus=uy8!Jp-BeCS
@@ -7611,10 +7607,10 @@ n<Ȧ
.7z ^XEi[S<p15*;Aջ<d*+w]`ӷ3I4e:dz펢4)AwTiw||/KKj-Tf bS(Tq#z%I`uk9K^e[ZwʣzI|U|˄&eVJ6Sgߪa^4ǵ+ wN\EVةzew`wؓ/:71ἠP@᣸Ft7^HXfM[vU:x'?ibi ZM}&Od@9fcHMFKlpUe]:AE)(xȘkmD@~ F0ANǞEiXQRm9l%i;mFo1j 1^{WG 7HO ]ȉ")UjzlL?o
endstream
endobj
-1547 0 obj
-<< /Type /FontDescriptor /FontName /UZBPXA+CMSY5 /Flags 4 /FontBBox [ 21 -944 1448 791 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /arrowleft /minus) /FontFile 1548 0 R >>
+1545 0 obj
+<< /Type /FontDescriptor /FontName /UZBPXA+CMSY5 /Flags 4 /FontBBox [ 21 -944 1448 791 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 56 /XHeight 431 /CharSet( /arrowleft /minus) /FontFile 1546 0 R >>
endobj
-1550 0 obj
+1548 0 obj
<< /Length1 1435 /Length2 6179 /Length3 0 /Filter /FlateDecode /Length 7153 >>
stream
xڍtT[.(0 ! ҂030 ݍ%* R-Hw7"|ugYxeP%
@@ -7643,89 +7639,89 @@ d"`tUe>!%_lkhCgKOnW~yң@᪘+>1#1VGp.ArrfSb
;jjIZxٱ1INzfݪy1M3"}~]\耆n>s5RQܶ nzp~Fqkqܲ='8~*}
endstream
endobj
-1549 0 obj
-<< /Type /FontDescriptor /FontName /QYJPQA+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /arrowleft /arrowup /minus) /FontFile 1550 0 R >>
+1547 0 obj
+<< /Type /FontDescriptor /FontName /QYJPQA+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /arrowleft /arrowup /minus) /FontFile 1548 0 R >>
endobj
-764 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /XEMCLW+CMBX10 /FontDescriptor 1523 0 R /FirstChar 49 /LastChar 100 /Widths 1347 0 R >>
+762 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /XEMCLW+CMBX10 /FontDescriptor 1521 0 R /FirstChar 49 /LastChar 100 /Widths 1345 0 R >>
endobj
379 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CFYTDH+CMEX10 /FontDescriptor 1525 0 R /FirstChar 12 /LastChar 125 /Widths 1474 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /CFYTDH+CMEX10 /FontDescriptor 1523 0 R /FirstChar 12 /LastChar 125 /Widths 1472 0 R >>
endobj
414 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /VMQSYC+CMEX7 /FontDescriptor 1527 0 R /FirstChar 112 /LastChar 112 /Widths 1382 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /VMQSYC+CMEX7 /FontDescriptor 1525 0 R /FirstChar 112 /LastChar 112 /Widths 1380 0 R >>
endobj
383 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CEORQM+CMMI10 /FontDescriptor 1529 0 R /FirstChar 46 /LastChar 122 /Widths 1470 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /CEORQM+CMMI10 /FontDescriptor 1527 0 R /FirstChar 46 /LastChar 122 /Widths 1468 0 R >>
endobj
427 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JZMBET+CMMI12 /FontDescriptor 1531 0 R /FirstChar 65 /LastChar 65 /Widths 1375 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /JZMBET+CMMI12 /FontDescriptor 1529 0 R /FirstChar 65 /LastChar 65 /Widths 1373 0 R >>
endobj
382 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IUHNPC+CMMI5 /FontDescriptor 1533 0 R /FirstChar 76 /LastChar 110 /Widths 1471 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /IUHNPC+CMMI5 /FontDescriptor 1531 0 R /FirstChar 76 /LastChar 110 /Widths 1469 0 R >>
endobj
380 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /WUDPRN+CMMI7 /FontDescriptor 1535 0 R /FirstChar 59 /LastChar 120 /Widths 1473 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /WUDPRN+CMMI7 /FontDescriptor 1533 0 R /FirstChar 59 /LastChar 120 /Widths 1471 0 R >>
endobj
489 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /TEYYDJ+CMMI8 /FontDescriptor 1537 0 R /FirstChar 105 /LastChar 110 /Widths 1368 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /TEYYDJ+CMMI8 /FontDescriptor 1535 0 R /FirstChar 105 /LastChar 110 /Widths 1366 0 R >>
endobj
386 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IHIWXH+CMR10 /FontDescriptor 1539 0 R /FirstChar 40 /LastChar 115 /Widths 1462 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /IHIWXH+CMR10 /FontDescriptor 1537 0 R /FirstChar 40 /LastChar 115 /Widths 1460 0 R >>
endobj
381 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CPMJUS+CMR5 /FontDescriptor 1541 0 R /FirstChar 43 /LastChar 52 /Widths 1472 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /CPMJUS+CMR5 /FontDescriptor 1539 0 R /FirstChar 43 /LastChar 52 /Widths 1470 0 R >>
endobj
384 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /IZMGNT+CMR7 /FontDescriptor 1543 0 R /FirstChar 40 /LastChar 57 /Widths 1469 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /IZMGNT+CMR7 /FontDescriptor 1541 0 R /FirstChar 40 /LastChar 57 /Widths 1467 0 R >>
endobj
408 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /VGMPAA+CMSY10 /FontDescriptor 1545 0 R /FirstChar 0 /LastChar 105 /Widths 1383 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /VGMPAA+CMSY10 /FontDescriptor 1543 0 R /FirstChar 0 /LastChar 105 /Widths 1381 0 R >>
endobj
-753 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /UZBPXA+CMSY5 /FontDescriptor 1547 0 R /FirstChar 0 /LastChar 32 /Widths 1348 0 R >>
+761 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /UZBPXA+CMSY5 /FontDescriptor 1545 0 R /FirstChar 0 /LastChar 32 /Widths 1346 0 R >>
endobj
-653 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /QYJPQA+CMSY7 /FontDescriptor 1549 0 R /FirstChar 0 /LastChar 34 /Widths 1355 0 R >>
+652 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /QYJPQA+CMSY7 /FontDescriptor 1547 0 R /FirstChar 0 /LastChar 34 /Widths 1353 0 R >>
endobj
398 0 obj
-<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 365 0 R 403 0 R 411 0 R 424 0 R 441 0 R 450 0 R 455 0 R 459 0 R 463 0 R 470 0 R ] >>
+<< /Type /Pages /Parent 1549 0 R /Count 10 /Kids [ 365 0 R 403 0 R 411 0 R 424 0 R 441 0 R 450 0 R 455 0 R 459 0 R 463 0 R 470 0 R ] >>
endobj
479 0 obj
-<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 475 0 R 486 0 R 498 0 R 505 0 R 510 0 R 515 0 R 520 0 R 528 0 R 535 0 R 541 0 R ] >>
+<< /Type /Pages /Parent 1549 0 R /Count 10 /Kids [ 475 0 R 486 0 R 498 0 R 505 0 R 510 0 R 515 0 R 520 0 R 528 0 R 535 0 R 541 0 R ] >>
endobj
551 0 obj
-<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 548 0 R 554 0 R 560 0 R 568 0 R 574 0 R 579 0 R 588 0 R 597 0 R 604 0 R 611 0 R ] >>
+<< /Type /Pages /Parent 1549 0 R /Count 10 /Kids [ 548 0 R 555 0 R 559 0 R 567 0 R 573 0 R 578 0 R 587 0 R 596 0 R 603 0 R 610 0 R ] >>
endobj
-619 0 obj
-<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 616 0 R 624 0 R 631 0 R 638 0 R 650 0 R 658 0 R 665 0 R 673 0 R 679 0 R 690 0 R ] >>
+618 0 obj
+<< /Type /Pages /Parent 1549 0 R /Count 10 /Kids [ 615 0 R 623 0 R 630 0 R 637 0 R 649 0 R 657 0 R 664 0 R 672 0 R 678 0 R 685 0 R ] >>
endobj
-706 0 obj
-<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 698 0 R 711 0 R 716 0 R 730 0 R 740 0 R 745 0 R 750 0 R 761 0 R 770 0 R 779 0 R ] >>
+699 0 obj
+<< /Type /Pages /Parent 1549 0 R /Count 10 /Kids [ 696 0 R 705 0 R 715 0 R 729 0 R 738 0 R 743 0 R 748 0 R 758 0 R 767 0 R 775 0 R ] >>
endobj
-790 0 obj
-<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 787 0 R 794 0 R 800 0 R 806 0 R 813 0 R 821 0 R 830 0 R 845 0 R 852 0 R 857 0 R ] >>
+787 0 obj
+<< /Type /Pages /Parent 1549 0 R /Count 10 /Kids [ 784 0 R 792 0 R 798 0 R 804 0 R 811 0 R 817 0 R 825 0 R 843 0 R 850 0 R 854 0 R ] >>
endobj
-868 0 obj
-<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 865 0 R 870 0 R 874 0 R 878 0 R 882 0 R 886 0 R 891 0 R 896 0 R 900 0 R 904 0 R ] >>
+866 0 obj
+<< /Type /Pages /Parent 1549 0 R /Count 10 /Kids [ 863 0 R 868 0 R 872 0 R 876 0 R 880 0 R 884 0 R 889 0 R 894 0 R 898 0 R 902 0 R ] >>
endobj
-911 0 obj
-<< /Type /Pages /Parent 1551 0 R /Count 10 /Kids [ 908 0 R 913 0 R 917 0 R 921 0 R 925 0 R 929 0 R 1048 0 R 1152 0 R 1230 0 R 1282 0 R ] >>
+909 0 obj
+<< /Type /Pages /Parent 1549 0 R /Count 10 /Kids [ 906 0 R 911 0 R 915 0 R 919 0 R 923 0 R 927 0 R 1046 0 R 1150 0 R 1228 0 R 1280 0 R ] >>
endobj
-1333 0 obj
-<< /Type /Pages /Parent 1551 0 R /Count 1 /Kids [ 1330 0 R ] >>
+1331 0 obj
+<< /Type /Pages /Parent 1549 0 R /Count 1 /Kids [ 1328 0 R ] >>
endobj
-1551 0 obj
-<< /Type /Pages /Count 81 /Kids [ 398 0 R 479 0 R 551 0 R 619 0 R 706 0 R 790 0 R 868 0 R 911 0 R 1333 0 R ] >>
+1549 0 obj
+<< /Type /Pages /Count 81 /Kids [ 398 0 R 479 0 R 551 0 R 618 0 R 699 0 R 787 0 R 866 0 R 909 0 R 1331 0 R ] >>
endobj
-1552 0 obj
+1550 0 obj
<< /Type /Outlines /First 6 0 R /Last 362 0 R /Count 20 >>
endobj
362 0 obj
-<< /Title 363 0 R /A 360 0 R /Parent 1552 0 R /Prev 358 0 R >>
+<< /Title 363 0 R /A 360 0 R /Parent 1550 0 R /Prev 358 0 R >>
endobj
358 0 obj
-<< /Title 359 0 R /A 356 0 R /Parent 1552 0 R /Prev 314 0 R /Next 362 0 R >>
+<< /Title 359 0 R /A 356 0 R /Parent 1550 0 R /Prev 314 0 R /Next 362 0 R >>
endobj
354 0 obj
<< /Title 355 0 R /A 352 0 R /Parent 314 0 R /Prev 350 0 R >>
@@ -7758,7 +7754,7 @@ endobj
<< /Title 319 0 R /A 316 0 R /Parent 314 0 R /Next 322 0 R >>
endobj
314 0 obj
-<< /Title 315 0 R /A 312 0 R /Parent 1552 0 R /Prev 294 0 R /Next 358 0 R /First 318 0 R /Last 354 0 R /Count -10 >>
+<< /Title 315 0 R /A 312 0 R /Parent 1550 0 R /Prev 294 0 R /Next 358 0 R /First 318 0 R /Last 354 0 R /Count -10 >>
endobj
310 0 obj
<< /Title 311 0 R /A 308 0 R /Parent 294 0 R /Prev 306 0 R >>
@@ -7773,10 +7769,10 @@ endobj
<< /Title 299 0 R /A 296 0 R /Parent 294 0 R /Next 302 0 R >>
endobj
294 0 obj
-<< /Title 295 0 R /A 292 0 R /Parent 1552 0 R /Prev 290 0 R /Next 314 0 R /First 298 0 R /Last 310 0 R /Count -4 >>
+<< /Title 295 0 R /A 292 0 R /Parent 1550 0 R /Prev 290 0 R /Next 314 0 R /First 298 0 R /Last 310 0 R /Count -4 >>
endobj
290 0 obj
-<< /Title 291 0 R /A 288 0 R /Parent 1552 0 R /Prev 262 0 R /Next 294 0 R >>
+<< /Title 291 0 R /A 288 0 R /Parent 1550 0 R /Prev 262 0 R /Next 294 0 R >>
endobj
286 0 obj
<< /Title 287 0 R /A 284 0 R /Parent 262 0 R /Prev 282 0 R >>
@@ -7797,7 +7793,7 @@ endobj
<< /Title 267 0 R /A 264 0 R /Parent 262 0 R /Next 278 0 R /First 270 0 R /Last 274 0 R /Count -2 >>
endobj
262 0 obj
-<< /Title 263 0 R /A 260 0 R /Parent 1552 0 R /Prev 214 0 R /Next 290 0 R /First 266 0 R /Last 286 0 R /Count -4 >>
+<< /Title 263 0 R /A 260 0 R /Parent 1550 0 R /Prev 214 0 R /Next 290 0 R /First 266 0 R /Last 286 0 R /Count -4 >>
endobj
258 0 obj
<< /Title 259 0 R /A 256 0 R /Parent 214 0 R /Prev 254 0 R >>
@@ -7833,7 +7829,7 @@ endobj
<< /Title 219 0 R /A 216 0 R /Parent 214 0 R /Next 222 0 R >>
endobj
214 0 obj
-<< /Title 215 0 R /A 212 0 R /Parent 1552 0 R /Prev 190 0 R /Next 262 0 R /First 218 0 R /Last 258 0 R /Count -11 >>
+<< /Title 215 0 R /A 212 0 R /Parent 1550 0 R /Prev 190 0 R /Next 262 0 R /First 218 0 R /Last 258 0 R /Count -11 >>
endobj
210 0 obj
<< /Title 211 0 R /A 208 0 R /Parent 190 0 R /Prev 206 0 R >>
@@ -7851,7 +7847,7 @@ endobj
<< /Title 195 0 R /A 192 0 R /Parent 190 0 R /Next 198 0 R >>
endobj
190 0 obj
-<< /Title 191 0 R /A 188 0 R /Parent 1552 0 R /Prev 170 0 R /Next 214 0 R /First 194 0 R /Last 210 0 R /Count -5 >>
+<< /Title 191 0 R /A 188 0 R /Parent 1550 0 R /Prev 170 0 R /Next 214 0 R /First 194 0 R /Last 210 0 R /Count -5 >>
endobj
186 0 obj
<< /Title 187 0 R /A 184 0 R /Parent 170 0 R /Prev 182 0 R >>
@@ -7866,10 +7862,10 @@ endobj
<< /Title 175 0 R /A 172 0 R /Parent 170 0 R /Next 178 0 R >>
endobj
170 0 obj
-<< /Title 171 0 R /A 168 0 R /Parent 1552 0 R /Prev 166 0 R /Next 190 0 R /First 174 0 R /Last 186 0 R /Count -4 >>
+<< /Title 171 0 R /A 168 0 R /Parent 1550 0 R /Prev 166 0 R /Next 190 0 R /First 174 0 R /Last 186 0 R /Count -4 >>
endobj
166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 1552 0 R /Prev 138 0 R /Next 170 0 R >>
+<< /Title 167 0 R /A 164 0 R /Parent 1550 0 R /Prev 138 0 R /Next 170 0 R >>
endobj
162 0 obj
<< /Title 163 0 R /A 160 0 R /Parent 138 0 R /Prev 158 0 R >>
@@ -7890,10 +7886,10 @@ endobj
<< /Title 143 0 R /A 140 0 R /Parent 138 0 R /Next 146 0 R >>
endobj
138 0 obj
-<< /Title 139 0 R /A 136 0 R /Parent 1552 0 R /Prev 134 0 R /Next 166 0 R /First 142 0 R /Last 162 0 R /Count -6 >>
+<< /Title 139 0 R /A 136 0 R /Parent 1550 0 R /Prev 134 0 R /Next 166 0 R /First 142 0 R /Last 162 0 R /Count -6 >>
endobj
134 0 obj
-<< /Title 135 0 R /A 132 0 R /Parent 1552 0 R /Prev 118 0 R /Next 138 0 R >>
+<< /Title 135 0 R /A 132 0 R /Parent 1550 0 R /Prev 118 0 R /Next 138 0 R >>
endobj
130 0 obj
<< /Title 131 0 R /A 128 0 R /Parent 118 0 R /Prev 126 0 R >>
@@ -7905,10 +7901,10 @@ endobj
<< /Title 123 0 R /A 120 0 R /Parent 118 0 R /Next 126 0 R >>
endobj
118 0 obj
-<< /Title 119 0 R /A 116 0 R /Parent 1552 0 R /Prev 114 0 R /Next 134 0 R /First 122 0 R /Last 130 0 R /Count -3 >>
+<< /Title 119 0 R /A 116 0 R /Parent 1550 0 R /Prev 114 0 R /Next 134 0 R /First 122 0 R /Last 130 0 R /Count -3 >>
endobj
114 0 obj
-<< /Title 115 0 R /A 112 0 R /Parent 1552 0 R /Prev 94 0 R /Next 118 0 R >>
+<< /Title 115 0 R /A 112 0 R /Parent 1550 0 R /Prev 94 0 R /Next 118 0 R >>
endobj
110 0 obj
<< /Title 111 0 R /A 108 0 R /Parent 94 0 R /Prev 106 0 R >>
@@ -7923,7 +7919,7 @@ endobj
<< /Title 99 0 R /A 96 0 R /Parent 94 0 R /Next 102 0 R >>
endobj
94 0 obj
-<< /Title 95 0 R /A 92 0 R /Parent 1552 0 R /Prev 50 0 R /Next 114 0 R /First 98 0 R /Last 110 0 R /Count -4 >>
+<< /Title 95 0 R /A 92 0 R /Parent 1550 0 R /Prev 50 0 R /Next 114 0 R /First 98 0 R /Last 110 0 R /Count -4 >>
endobj
90 0 obj
<< /Title 91 0 R /A 88 0 R /Parent 70 0 R /Prev 86 0 R >>
@@ -7956,7 +7952,7 @@ endobj
<< /Title 55 0 R /A 52 0 R /Parent 50 0 R /Next 66 0 R /First 58 0 R /Last 62 0 R /Count -2 >>
endobj
50 0 obj
-<< /Title 51 0 R /A 48 0 R /Parent 1552 0 R /Prev 18 0 R /Next 94 0 R /First 54 0 R /Last 70 0 R /Count -3 >>
+<< /Title 51 0 R /A 48 0 R /Parent 1550 0 R /Prev 18 0 R /Next 94 0 R /First 54 0 R /Last 70 0 R /Count -3 >>
endobj
46 0 obj
<< /Title 47 0 R /A 44 0 R /Parent 18 0 R /Prev 42 0 R >>
@@ -7980,1618 +7976,1616 @@ endobj
<< /Title 23 0 R /A 20 0 R /Parent 18 0 R /Next 26 0 R >>
endobj
18 0 obj
-<< /Title 19 0 R /A 16 0 R /Parent 1552 0 R /Prev 14 0 R /Next 50 0 R /First 22 0 R /Last 46 0 R /Count -7 >>
+<< /Title 19 0 R /A 16 0 R /Parent 1550 0 R /Prev 14 0 R /Next 50 0 R /First 22 0 R /Last 46 0 R /Count -7 >>
endobj
14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 1552 0 R /Prev 10 0 R /Next 18 0 R >>
+<< /Title 15 0 R /A 12 0 R /Parent 1550 0 R /Prev 10 0 R /Next 18 0 R >>
endobj
10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 1552 0 R /Prev 6 0 R /Next 14 0 R >>
+<< /Title 11 0 R /A 8 0 R /Parent 1550 0 R /Prev 6 0 R /Next 14 0 R >>
endobj
6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 1552 0 R /Next 10 0 R >>
+<< /Title 7 0 R /A 4 0 R /Parent 1550 0 R /Next 10 0 R >>
+endobj
+1551 0 obj
+<< /Names [ (Doc-Start) 370 0 R (Item.1) 415 0 R (Item.10) 725 0 R (Item.11) 859 0 R (Item.12) 860 0 R (Item.2) 416 0 R (Item.3) 417 0 R (Item.4) 418 0 R (Item.5) 711 0 R (Item.6) 712 0 R (Item.7) 722 0 R (Item.8) 723 0 R (Item.9) 724 0 R (page.1) 369 0 R (page.10) 472 0 R (page.11) 477 0 R (page.12) 488 0 R (page.13) 500 0 R (page.14) 507 0 R (page.15) 512 0 R (page.16) 517 0 R (page.17) 522 0 R (page.18) 530 0 R (page.19) 537 0 R (page.2) 405 0 R (page.20) 543 0 R (page.21) 550 0 R (page.22) 557 0 R (page.23) 561 0 R (page.24) 569 0 R (page.25) 575 0 R (page.26) 580 0 R ] /Limits [ (Doc-Start) (page.26) ] >>
+endobj
+1552 0 obj
+<< /Names [ (page.27) 589 0 R (page.28) 598 0 R (page.29) 605 0 R (page.3) 413 0 R (page.30) 612 0 R (page.31) 617 0 R (page.32) 625 0 R (page.33) 632 0 R (page.34) 639 0 R (page.35) 651 0 R (page.36) 659 0 R (page.37) 666 0 R (page.38) 674 0 R (page.39) 680 0 R (page.4) 426 0 R (page.40) 687 0 R (page.41) 698 0 R (page.42) 707 0 R (page.43) 717 0 R (page.44) 731 0 R (page.45) 740 0 R (page.46) 745 0 R (page.47) 750 0 R (page.48) 760 0 R (page.49) 769 0 R (page.5) 443 0 R (page.50) 777 0 R (page.51) 786 0 R (page.52) 794 0 R (page.53) 800 0 R (page.54) 806 0 R (page.55) 813 0 R ] /Limits [ (page.27) (page.55) ] >>
endobj
1553 0 obj
-<< /Names [ (Doc-Start) 370 0 R (Item.1) 415 0 R (Item.10) 726 0 R (Item.11) 862 0 R (Item.12) 863 0 R (Item.2) 416 0 R (Item.3) 417 0 R (Item.4) 418 0 R (Item.5) 704 0 R (Item.6) 705 0 R (Item.7) 723 0 R (Item.8) 724 0 R (Item.9) 725 0 R (page.1) 369 0 R (page.10) 472 0 R (page.11) 477 0 R (page.12) 488 0 R (page.13) 500 0 R (page.14) 507 0 R (page.15) 512 0 R (page.16) 517 0 R (page.17) 522 0 R (page.18) 530 0 R (page.19) 537 0 R (page.2) 405 0 R (page.20) 543 0 R (page.21) 550 0 R (page.22) 556 0 R (page.23) 562 0 R (page.24) 570 0 R (page.25) 576 0 R (page.26) 581 0 R ] /Limits [ (Doc-Start) (page.26) ] >>
+<< /Names [ (page.56) 819 0 R (page.57) 827 0 R (page.58) 845 0 R (page.59) 852 0 R (page.6) 452 0 R (page.60) 856 0 R (page.61) 865 0 R (page.62) 870 0 R (page.63) 874 0 R (page.64) 878 0 R (page.65) 882 0 R (page.66) 886 0 R (page.67) 891 0 R (page.68) 896 0 R (page.69) 900 0 R (page.7) 457 0 R (page.70) 904 0 R (page.71) 908 0 R (page.72) 913 0 R (page.73) 917 0 R (page.74) 921 0 R (page.75) 925 0 R (page.76) 929 0 R (page.77) 1048 0 R (page.78) 1152 0 R (page.79) 1230 0 R (page.8) 461 0 R (page.80) 1282 0 R (page.81) 1330 0 R (page.9) 465 0 R (section*.2) 361 0 R (section.1) 5 0 R ] /Limits [ (page.56) (section.1) ] >>
endobj
1554 0 obj
-<< /Names [ (page.27) 590 0 R (page.28) 599 0 R (page.29) 606 0 R (page.3) 413 0 R (page.30) 613 0 R (page.31) 618 0 R (page.32) 626 0 R (page.33) 633 0 R (page.34) 640 0 R (page.35) 652 0 R (page.36) 660 0 R (page.37) 667 0 R (page.38) 675 0 R (page.39) 681 0 R (page.4) 426 0 R (page.40) 692 0 R (page.41) 700 0 R (page.42) 713 0 R (page.43) 718 0 R (page.44) 732 0 R (page.45) 742 0 R (page.46) 747 0 R (page.47) 752 0 R (page.48) 763 0 R (page.49) 772 0 R (page.5) 443 0 R (page.50) 781 0 R (page.51) 789 0 R (page.52) 796 0 R (page.53) 802 0 R (page.54) 808 0 R (page.55) 815 0 R ] /Limits [ (page.27) (page.55) ] >>
+<< /Names [ (section.10) 137 0 R (section.11) 165 0 R (section.12) 169 0 R (section.13) 189 0 R (section.14) 213 0 R (section.15) 261 0 R (section.16) 289 0 R (section.17) 293 0 R (section.18) 313 0 R (section.19) 357 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 17 0 R (section.5) 49 0 R (section.6) 93 0 R (section.7) 113 0 R (section.8) 117 0 R (section.9) 133 0 R (subsection.10.1) 141 0 R (subsection.10.2) 145 0 R (subsection.10.3) 149 0 R (subsection.10.4) 153 0 R (subsection.10.5) 157 0 R (subsection.10.6) 161 0 R (subsection.12.1) 173 0 R (subsection.12.2) 177 0 R (subsection.12.3) 181 0 R (subsection.12.4) 185 0 R (subsection.13.1) 193 0 R (subsection.13.2) 197 0 R (subsection.13.3) 201 0 R (subsection.13.4) 205 0 R ] /Limits [ (section.10) (subsection.13.4) ] >>
endobj
1555 0 obj
-<< /Names [ (page.56) 823 0 R (page.57) 832 0 R (page.58) 847 0 R (page.59) 854 0 R (page.6) 452 0 R (page.60) 859 0 R (page.61) 867 0 R (page.62) 872 0 R (page.63) 876 0 R (page.64) 880 0 R (page.65) 884 0 R (page.66) 888 0 R (page.67) 893 0 R (page.68) 898 0 R (page.69) 902 0 R (page.7) 457 0 R (page.70) 906 0 R (page.71) 910 0 R (page.72) 915 0 R (page.73) 919 0 R (page.74) 923 0 R (page.75) 927 0 R (page.76) 931 0 R (page.77) 1050 0 R (page.78) 1154 0 R (page.79) 1232 0 R (page.8) 461 0 R (page.80) 1284 0 R (page.81) 1332 0 R (page.9) 465 0 R (section*.2) 361 0 R (section.1) 5 0 R ] /Limits [ (page.56) (section.1) ] >>
+<< /Names [ (subsection.13.5) 209 0 R (subsection.14.1) 217 0 R (subsection.14.10) 253 0 R (subsection.14.11) 257 0 R (subsection.14.2) 221 0 R (subsection.14.3) 225 0 R (subsection.14.4) 229 0 R (subsection.14.5) 233 0 R (subsection.14.6) 237 0 R (subsection.14.7) 241 0 R (subsection.14.8) 245 0 R (subsection.14.9) 249 0 R (subsection.15.1) 265 0 R (subsection.15.2) 277 0 R (subsection.15.3) 281 0 R (subsection.15.4) 285 0 R (subsection.17.1) 297 0 R (subsection.17.2) 301 0 R (subsection.17.3) 305 0 R (subsection.17.4) 309 0 R (subsection.18.1) 317 0 R (subsection.18.10) 353 0 R (subsection.18.2) 321 0 R (subsection.18.3) 325 0 R (subsection.18.4) 329 0 R (subsection.18.5) 333 0 R (subsection.18.6) 337 0 R (subsection.18.7) 341 0 R (subsection.18.8) 345 0 R (subsection.18.9) 349 0 R (subsection.4.1) 21 0 R (subsection.4.2) 25 0 R ] /Limits [ (subsection.13.5) (subsection.4.2) ] >>
endobj
1556 0 obj
-<< /Names [ (section.10) 137 0 R (section.11) 165 0 R (section.12) 169 0 R (section.13) 189 0 R (section.14) 213 0 R (section.15) 261 0 R (section.16) 289 0 R (section.17) 293 0 R (section.18) 313 0 R (section.19) 357 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 17 0 R (section.5) 49 0 R (section.6) 93 0 R (section.7) 113 0 R (section.8) 117 0 R (section.9) 133 0 R (subsection.10.1) 141 0 R (subsection.10.2) 145 0 R (subsection.10.3) 149 0 R (subsection.10.4) 153 0 R (subsection.10.5) 157 0 R (subsection.10.6) 161 0 R (subsection.12.1) 173 0 R (subsection.12.2) 177 0 R (subsection.12.3) 181 0 R (subsection.12.4) 185 0 R (subsection.13.1) 193 0 R (subsection.13.2) 197 0 R (subsection.13.3) 201 0 R (subsection.13.4) 205 0 R ] /Limits [ (section.10) (subsection.13.4) ] >>
+<< /Names [ (subsection.4.3) 29 0 R (subsection.4.4) 33 0 R (subsection.4.5) 37 0 R (subsection.4.6) 41 0 R (subsection.4.7) 45 0 R (subsection.5.1) 53 0 R (subsection.5.2) 65 0 R (subsection.5.3) 69 0 R (subsection.6.1) 97 0 R (subsection.6.2) 101 0 R (subsection.6.3) 105 0 R (subsection.6.4) 109 0 R (subsection.8.1) 121 0 R (subsection.8.2) 125 0 R (subsection.8.3) 129 0 R (subsubsection.15.1.1) 269 0 R (subsubsection.15.1.2) 273 0 R (subsubsection.5.1.1) 57 0 R (subsubsection.5.1.2) 61 0 R (subsubsection.5.3.1) 73 0 R (subsubsection.5.3.2) 77 0 R (subsubsection.5.3.3) 81 0 R (subsubsection.5.3.4) 85 0 R (subsubsection.5.3.5) 89 0 R (table.caption.1) 701 0 R (tabularnote.1) 708 0 R (tabularnote.2) 710 0 R (tabularnote.3) 718 0 R (tabularnote.4) 719 0 R (tabularnote.5) 720 0 R (tabularnote.6) 721 0 R (tabularnote.7) 857 0 R ] /Limits [ (subsection.4.3) (tabularnote.7) ] >>
endobj
1557 0 obj
-<< /Names [ (subsection.13.5) 209 0 R (subsection.14.1) 217 0 R (subsection.14.10) 253 0 R (subsection.14.11) 257 0 R (subsection.14.2) 221 0 R (subsection.14.3) 225 0 R (subsection.14.4) 229 0 R (subsection.14.5) 233 0 R (subsection.14.6) 237 0 R (subsection.14.7) 241 0 R (subsection.14.8) 245 0 R (subsection.14.9) 249 0 R (subsection.15.1) 265 0 R (subsection.15.2) 277 0 R (subsection.15.3) 281 0 R (subsection.15.4) 285 0 R (subsection.17.1) 297 0 R (subsection.17.2) 301 0 R (subsection.17.3) 305 0 R (subsection.17.4) 309 0 R (subsection.18.1) 317 0 R (subsection.18.10) 353 0 R (subsection.18.2) 321 0 R (subsection.18.3) 325 0 R (subsection.18.4) 329 0 R (subsection.18.5) 333 0 R (subsection.18.6) 337 0 R (subsection.18.7) 341 0 R (subsection.18.8) 345 0 R (subsection.18.9) 349 0 R (subsection.4.1) 21 0 R (subsection.4.2) 25 0 R ] /Limits [ (subsection.13.5) (subsection.4.2) ] >>
+<< /Names [ (tabularnote.8) 858 0 R ] /Limits [ (tabularnote.8) (tabularnote.8) ] >>
endobj
1558 0 obj
-<< /Names [ (subsection.4.3) 29 0 R (subsection.4.4) 33 0 R (subsection.4.5) 37 0 R (subsection.4.6) 41 0 R (subsection.4.7) 45 0 R (subsection.5.1) 53 0 R (subsection.5.2) 65 0 R (subsection.5.3) 69 0 R (subsection.6.1) 97 0 R (subsection.6.2) 101 0 R (subsection.6.3) 105 0 R (subsection.6.4) 109 0 R (subsection.8.1) 121 0 R (subsection.8.2) 125 0 R (subsection.8.3) 129 0 R (subsubsection.15.1.1) 269 0 R (subsubsection.15.1.2) 273 0 R (subsubsection.5.1.1) 57 0 R (subsubsection.5.1.2) 61 0 R (subsubsection.5.3.1) 73 0 R (subsubsection.5.3.2) 77 0 R (subsubsection.5.3.3) 81 0 R (subsubsection.5.3.4) 85 0 R (subsubsection.5.3.5) 89 0 R (table.caption.1) 694 0 R (tabularnote.1) 701 0 R (tabularnote.2) 703 0 R (tabularnote.3) 719 0 R (tabularnote.4) 720 0 R (tabularnote.5) 721 0 R (tabularnote.6) 722 0 R (tabularnote.7) 860 0 R ] /Limits [ (subsection.4.3) (tabularnote.7) ] >>
+<< /Kids [ 1551 0 R 1552 0 R 1553 0 R 1554 0 R 1555 0 R 1556 0 R 1557 0 R ] /Limits [ (Doc-Start) (tabularnote.8) ] >>
endobj
1559 0 obj
-<< /Names [ (tabularnote.8) 861 0 R ] /Limits [ (tabularnote.8) (tabularnote.8) ] >>
+<< /Dests 1558 0 R >>
endobj
1560 0 obj
-<< /Kids [ 1553 0 R 1554 0 R 1555 0 R 1556 0 R 1557 0 R 1558 0 R 1559 0 R ] /Limits [ (Doc-Start) (tabularnote.8) ] >>
+<< /Type /Catalog /Pages 1549 0 R /Outlines 1550 0 R /Names 1559 0 R /PageMode/UseOutlines /OpenAction 364 0 R >>
endobj
1561 0 obj
-<< /Dests 1560 0 R >>
-endobj
-1562 0 obj
-<< /Type /Catalog /Pages 1551 0 R /Outlines 1552 0 R /Names 1561 0 R /PageMode/UseOutlines /OpenAction 364 0 R >>
-endobj
-1563 0 obj
-<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000T\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000'\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000')/Subject(\376\377\000A\000\040\000L\000a\000T\000e\000X\000\040\000p\000a\000c\000k\000a\000g\000e)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240629150051+02'00') /ModDate (D:20240629150051+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
+<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000T\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000'\000n\000i\000c\000e\000m\000a\000t\000r\000i\000x\000')/Subject(\376\377\000A\000\040\000L\000a\000T\000e\000X\000\040\000p\000a\000c\000k\000a\000g\000e)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240822114126+02'00') /ModDate (D:20240822114126+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
endobj
xref
-0 1564
+0 1562
0000000000 65535 f
-0000594625 00000 n
-0000594781 00000 n
-0000594853 00000 n
+0000596008 00000 n
+0000596164 00000 n
+0000596236 00000 n
0000000020 00000 n
-0000036449 00000 n
-0000886093 00000 n
+0000036494 00000 n
+0000887355 00000 n
0000000065 00000 n
0000000264 00000 n
-0000036509 00000 n
-0000886006 00000 n
+0000036554 00000 n
+0000887268 00000 n
0000000309 00000 n
0000000527 00000 n
-0000041755 00000 n
-0000885917 00000 n
+0000041800 00000 n
+0000887179 00000 n
0000000573 00000 n
0000000791 00000 n
-0000049032 00000 n
-0000885791 00000 n
+0000049077 00000 n
+0000887053 00000 n
0000000837 00000 n
0000000918 00000 n
-0000049093 00000 n
-0000885717 00000 n
+0000049138 00000 n
+0000886979 00000 n
0000000969 00000 n
0000001060 00000 n
-0000062132 00000 n
-0000885630 00000 n
+0000062150 00000 n
+0000886892 00000 n
0000001111 00000 n
0000001255 00000 n
-0000062193 00000 n
-0000885543 00000 n
+0000062211 00000 n
+0000886805 00000 n
0000001306 00000 n
0000001435 00000 n
-0000067907 00000 n
-0000885456 00000 n
+0000067925 00000 n
+0000886718 00000 n
0000001486 00000 n
0000001620 00000 n
-0000067968 00000 n
-0000885369 00000 n
+0000067986 00000 n
+0000886631 00000 n
0000001671 00000 n
0000001955 00000 n
-0000073045 00000 n
-0000885282 00000 n
+0000073064 00000 n
+0000886544 00000 n
0000002006 00000 n
0000002280 00000 n
-0000077190 00000 n
-0000885208 00000 n
+0000077209 00000 n
+0000886470 00000 n
0000002331 00000 n
0000002493 00000 n
-0000083680 00000 n
-0000885082 00000 n
+0000083699 00000 n
+0000886344 00000 n
0000002539 00000 n
0000002615 00000 n
-0000083741 00000 n
-0000884971 00000 n
+0000083760 00000 n
+0000886233 00000 n
0000002666 00000 n
0000002949 00000 n
-0000083802 00000 n
-0000884897 00000 n
+0000083821 00000 n
+0000886159 00000 n
0000003005 00000 n
0000003129 00000 n
-0000089048 00000 n
-0000884823 00000 n
+0000089067 00000 n
+0000886085 00000 n
0000003185 00000 n
0000003312 00000 n
-0000089108 00000 n
-0000884736 00000 n
+0000089127 00000 n
+0000885998 00000 n
0000003363 00000 n
0000003612 00000 n
-0000095107 00000 n
-0000884625 00000 n
+0000095135 00000 n
+0000885887 00000 n
0000003663 00000 n
0000003894 00000 n
-0000095168 00000 n
-0000884551 00000 n
+0000095196 00000 n
+0000885813 00000 n
0000003950 00000 n
0000004120 00000 n
-0000102599 00000 n
-0000884464 00000 n
+0000102627 00000 n
+0000885726 00000 n
0000004176 00000 n
0000004431 00000 n
-0000102660 00000 n
-0000884377 00000 n
+0000102688 00000 n
+0000885639 00000 n
0000004487 00000 n
0000004622 00000 n
-0000109180 00000 n
-0000884290 00000 n
+0000109209 00000 n
+0000885552 00000 n
0000004678 00000 n
0000004815 00000 n
-0000109240 00000 n
-0000884216 00000 n
+0000109269 00000 n
+0000885478 00000 n
0000004871 00000 n
0000005053 00000 n
-0000125318 00000 n
-0000884088 00000 n
+0000125327 00000 n
+0000885350 00000 n
0000005099 00000 n
0000005409 00000 n
-0000125379 00000 n
-0000884013 00000 n
+0000125388 00000 n
+0000885275 00000 n
0000005460 00000 n
0000005569 00000 n
-0000131012 00000 n
-0000883922 00000 n
+0000131021 00000 n
+0000885184 00000 n
0000005621 00000 n
0000005881 00000 n
-0000155229 00000 n
-0000883830 00000 n
+0000155373 00000 n
+0000885092 00000 n
0000005933 00000 n
0000006188 00000 n
-0000166225 00000 n
-0000883752 00000 n
+0000166484 00000 n
+0000885014 00000 n
0000006240 00000 n
0000006423 00000 n
-0000166287 00000 n
-0000883659 00000 n
+0000166546 00000 n
+0000884921 00000 n
0000006470 00000 n
0000006613 00000 n
-0000166349 00000 n
-0000883526 00000 n
+0000166608 00000 n
+0000884788 00000 n
0000006660 00000 n
0000006821 00000 n
-0000166411 00000 n
-0000883447 00000 n
+0000166670 00000 n
+0000884709 00000 n
0000006873 00000 n
0000006960 00000 n
-0000171724 00000 n
-0000883354 00000 n
+0000171983 00000 n
+0000884616 00000 n
0000007012 00000 n
0000007112 00000 n
-0000176429 00000 n
-0000883275 00000 n
+0000176686 00000 n
+0000884537 00000 n
0000007164 00000 n
0000007330 00000 n
-0000183847 00000 n
-0000883181 00000 n
+0000184106 00000 n
+0000884443 00000 n
0000007377 00000 n
0000007563 00000 n
-0000204585 00000 n
-0000883048 00000 n
+0000204779 00000 n
+0000884310 00000 n
0000007611 00000 n
0000007784 00000 n
-0000217322 00000 n
-0000882969 00000 n
+0000217522 00000 n
+0000884231 00000 n
0000007837 00000 n
0000007987 00000 n
-0000237659 00000 n
-0000882876 00000 n
+0000237872 00000 n
+0000884138 00000 n
0000008040 00000 n
0000008267 00000 n
-0000248501 00000 n
-0000882783 00000 n
+0000248715 00000 n
+0000884045 00000 n
0000008320 00000 n
0000008655 00000 n
-0000248563 00000 n
-0000882690 00000 n
+0000248777 00000 n
+0000883952 00000 n
0000008708 00000 n
0000008902 00000 n
-0000253734 00000 n
-0000882597 00000 n
+0000253947 00000 n
+0000883859 00000 n
0000008955 00000 n
0000009161 00000 n
-0000260692 00000 n
-0000882518 00000 n
+0000260907 00000 n
+0000883780 00000 n
0000009214 00000 n
0000009408 00000 n
-0000260753 00000 n
-0000882424 00000 n
+0000260968 00000 n
+0000883686 00000 n
0000009456 00000 n
0000009728 00000 n
-0000268063 00000 n
-0000882291 00000 n
+0000268278 00000 n
+0000883553 00000 n
0000009776 00000 n
0000009881 00000 n
-0000285584 00000 n
-0000882212 00000 n
+0000285801 00000 n
+0000883474 00000 n
0000009934 00000 n
0000010159 00000 n
-0000285646 00000 n
-0000882119 00000 n
+0000285863 00000 n
+0000883381 00000 n
0000010212 00000 n
0000010590 00000 n
-0000302866 00000 n
-0000882026 00000 n
+0000302993 00000 n
+0000883288 00000 n
0000010643 00000 n
0000010987 00000 n
-0000309236 00000 n
-0000881947 00000 n
+0000309113 00000 n
+0000883209 00000 n
0000011040 00000 n
0000011310 00000 n
-0000309298 00000 n
-0000881814 00000 n
+0000314229 00000 n
+0000883076 00000 n
0000011358 00000 n
0000011572 00000 n
-0000309360 00000 n
-0000881735 00000 n
+0000314291 00000 n
+0000882997 00000 n
0000011625 00000 n
0000011763 00000 n
-0000314555 00000 n
-0000881642 00000 n
+0000314353 00000 n
+0000882904 00000 n
0000011816 00000 n
0000011913 00000 n
-0000314617 00000 n
-0000881549 00000 n
+0000314415 00000 n
+0000882811 00000 n
0000011966 00000 n
0000012104 00000 n
-0000322876 00000 n
-0000881456 00000 n
+0000324174 00000 n
+0000882718 00000 n
0000012157 00000 n
0000012368 00000 n
-0000331713 00000 n
-0000881377 00000 n
+0000332207 00000 n
+0000882639 00000 n
0000012421 00000 n
0000012668 00000 n
-0000331775 00000 n
-0000881243 00000 n
+0000332269 00000 n
+0000882505 00000 n
0000012716 00000 n
0000012818 00000 n
-0000331837 00000 n
-0000881164 00000 n
+0000332331 00000 n
+0000882426 00000 n
0000012871 00000 n
0000013021 00000 n
-0000340796 00000 n
-0000881071 00000 n
+0000341205 00000 n
+0000882333 00000 n
0000013074 00000 n
0000013219 00000 n
-0000340858 00000 n
-0000880978 00000 n
+0000341267 00000 n
+0000882240 00000 n
0000013272 00000 n
0000013497 00000 n
-0000340920 00000 n
-0000880885 00000 n
+0000346829 00000 n
+0000882147 00000 n
0000013550 00000 n
0000013772 00000 n
-0000346530 00000 n
-0000880792 00000 n
+0000346891 00000 n
+0000882054 00000 n
0000013825 00000 n
0000013958 00000 n
-0000346592 00000 n
-0000880699 00000 n
+0000346953 00000 n
+0000881961 00000 n
0000014011 00000 n
0000014126 00000 n
-0000352739 00000 n
-0000880606 00000 n
+0000353359 00000 n
+0000881868 00000 n
0000014179 00000 n
0000014350 00000 n
-0000358316 00000 n
-0000880513 00000 n
+0000359117 00000 n
+0000881775 00000 n
0000014403 00000 n
0000014538 00000 n
-0000358378 00000 n
-0000880420 00000 n
+0000359179 00000 n
+0000881682 00000 n
0000014591 00000 n
0000014744 00000 n
-0000358440 00000 n
-0000880327 00000 n
+0000359241 00000 n
+0000881589 00000 n
0000014798 00000 n
0000015024 00000 n
-0000358502 00000 n
-0000880248 00000 n
+0000365154 00000 n
+0000881510 00000 n
0000015078 00000 n
0000015271 00000 n
-0000364826 00000 n
-0000880115 00000 n
+0000365216 00000 n
+0000881377 00000 n
0000015319 00000 n
0000015495 00000 n
-0000364888 00000 n
-0000879997 00000 n
+0000365277 00000 n
+0000881259 00000 n
0000015548 00000 n
0000015861 00000 n
-0000370058 00000 n
-0000879918 00000 n
+0000370974 00000 n
+0000881180 00000 n
0000015919 00000 n
0000016059 00000 n
-0000370120 00000 n
-0000879839 00000 n
+0000371036 00000 n
+0000881101 00000 n
0000016117 00000 n
0000016283 00000 n
-0000377831 00000 n
-0000879746 00000 n
+0000378798 00000 n
+0000881008 00000 n
0000016336 00000 n
0000016563 00000 n
-0000384247 00000 n
-0000879653 00000 n
+0000391619 00000 n
+0000880915 00000 n
0000016616 00000 n
0000016919 00000 n
-0000391354 00000 n
-0000879574 00000 n
+0000391681 00000 n
+0000880836 00000 n
0000016972 00000 n
0000017267 00000 n
-0000395666 00000 n
-0000879480 00000 n
+0000396354 00000 n
+0000880742 00000 n
0000017315 00000 n
0000017463 00000 n
-0000408987 00000 n
-0000879347 00000 n
+0000410316 00000 n
+0000880609 00000 n
0000017511 00000 n
0000017628 00000 n
-0000409049 00000 n
-0000879268 00000 n
+0000410378 00000 n
+0000880530 00000 n
0000017681 00000 n
0000017783 00000 n
-0000409110 00000 n
-0000879175 00000 n
+0000410440 00000 n
+0000880437 00000 n
0000017836 00000 n
0000017946 00000 n
-0000414643 00000 n
-0000879082 00000 n
+0000415946 00000 n
+0000880344 00000 n
0000017999 00000 n
0000018189 00000 n
-0000414705 00000 n
-0000879003 00000 n
+0000416008 00000 n
+0000880265 00000 n
0000018242 00000 n
0000018356 00000 n
-0000423570 00000 n
-0000878869 00000 n
+0000424218 00000 n
+0000880131 00000 n
0000018404 00000 n
0000018473 00000 n
-0000423632 00000 n
-0000878790 00000 n
+0000424280 00000 n
+0000880052 00000 n
0000018526 00000 n
0000018837 00000 n
-0000427629 00000 n
-0000878697 00000 n
+0000428174 00000 n
+0000879959 00000 n
0000018890 00000 n
0000019015 00000 n
-0000427691 00000 n
-0000878604 00000 n
+0000432723 00000 n
+0000879866 00000 n
0000019068 00000 n
0000019211 00000 n
-0000451594 00000 n
-0000878511 00000 n
+0000453164 00000 n
+0000879773 00000 n
0000019264 00000 n
0000019356 00000 n
-0000451656 00000 n
-0000878418 00000 n
+0000453226 00000 n
+0000879680 00000 n
0000019409 00000 n
0000019651 00000 n
-0000462528 00000 n
-0000878325 00000 n
+0000464096 00000 n
+0000879587 00000 n
0000019704 00000 n
0000019796 00000 n
-0000462590 00000 n
-0000878232 00000 n
+0000464158 00000 n
+0000879494 00000 n
0000019849 00000 n
0000019974 00000 n
-0000480959 00000 n
-0000878139 00000 n
+0000482449 00000 n
+0000879401 00000 n
0000020027 00000 n
0000020244 00000 n
-0000498832 00000 n
-0000878046 00000 n
+0000500242 00000 n
+0000879308 00000 n
0000020297 00000 n
0000020567 00000 n
-0000502308 00000 n
-0000877967 00000 n
+0000503718 00000 n
+0000879229 00000 n
0000020621 00000 n
0000020756 00000 n
-0000504995 00000 n
-0000877873 00000 n
+0000506404 00000 n
+0000879135 00000 n
0000020804 00000 n
0000020868 00000 n
-0000539333 00000 n
-0000877793 00000 n
+0000540724 00000 n
+0000879055 00000 n
0000020916 00000 n
0000020970 00000 n
-0000031108 00000 n
-0000031274 00000 n
-0000031636 00000 n
+0000031193 00000 n
+0000031359 00000 n
+0000031680 00000 n
0000021022 00000 n
-0000031512 00000 n
-0000031574 00000 n
-0000746081 00000 n
-0000741469 00000 n
-0000739016 00000 n
-0000733701 00000 n
-0000730355 00000 n
-0000727723 00000 n
-0000722760 00000 n
-0000720053 00000 n
-0000874394 00000 n
-0000875122 00000 n
-0000875558 00000 n
-0000874977 00000 n
-0000874686 00000 n
-0000875701 00000 n
-0000709895 00000 n
-0000875413 00000 n
-0000698577 00000 n
-0000693962 00000 n
-0000683893 00000 n
-0000675984 00000 n
-0000671589 00000 n
-0000665723 00000 n
-0000656924 00000 n
-0000654040 00000 n
-0000650733 00000 n
-0000641346 00000 n
-0000637884 00000 n
-0000876275 00000 n
-0000031245 00000 n
-0000036228 00000 n
-0000041539 00000 n
-0000036569 00000 n
-0000036062 00000 n
-0000032098 00000 n
-0000036387 00000 n
-0000629190 00000 n
-0000620298 00000 n
-0000875844 00000 n
-0000036199 00000 n
-0000042071 00000 n
-0000041373 00000 n
-0000036888 00000 n
-0000041693 00000 n
-0000874540 00000 n
-0000041815 00000 n
-0000041879 00000 n
-0000041943 00000 n
-0000042007 00000 n
-0000616833 00000 n
-0000041510 00000 n
-0000048658 00000 n
-0000048813 00000 n
-0000049153 00000 n
-0000048484 00000 n
-0000042429 00000 n
-0000048970 00000 n
-0000874832 00000 n
-0000048621 00000 n
-0000055948 00000 n
-0000056100 00000 n
-0000054530 00000 n
-0000054690 00000 n
-0000054850 00000 n
-0000055004 00000 n
-0000055158 00000 n
-0000055312 00000 n
-0000055472 00000 n
-0000055632 00000 n
-0000055790 00000 n
-0000056314 00000 n
-0000054284 00000 n
-0000049446 00000 n
-0000056252 00000 n
-0000054421 00000 n
-0000061439 00000 n
-0000061598 00000 n
-0000061757 00000 n
-0000061913 00000 n
-0000062254 00000 n
-0000061249 00000 n
-0000056594 00000 n
-0000062070 00000 n
-0000061386 00000 n
-0000068029 00000 n
-0000067724 00000 n
-0000062443 00000 n
-0000067845 00000 n
-0000073106 00000 n
-0000072862 00000 n
-0000068283 00000 n
-0000072983 00000 n
-0000077251 00000 n
-0000077007 00000 n
-0000073321 00000 n
-0000077128 00000 n
-0000083148 00000 n
-0000083300 00000 n
-0000083464 00000 n
-0000083863 00000 n
-0000082966 00000 n
-0000077440 00000 n
-0000083618 00000 n
-0000083103 00000 n
-0000089169 00000 n
-0000088865 00000 n
-0000084104 00000 n
-0000088986 00000 n
-0000611508 00000 n
-0000876428 00000 n
-0000094255 00000 n
-0000094409 00000 n
-0000094563 00000 n
-0000094727 00000 n
-0000094881 00000 n
-0000095229 00000 n
-0000094057 00000 n
-0000089384 00000 n
-0000095045 00000 n
-0000875267 00000 n
-0000094194 00000 n
-0000101900 00000 n
-0000102060 00000 n
-0000102219 00000 n
-0000102379 00000 n
-0000108803 00000 n
-0000108961 00000 n
-0000102721 00000 n
-0000101710 00000 n
-0000095522 00000 n
-0000102537 00000 n
-0000101847 00000 n
-0000108484 00000 n
-0000108643 00000 n
-0000109301 00000 n
-0000108294 00000 n
-0000102988 00000 n
-0000109118 00000 n
-0000108431 00000 n
-0000113779 00000 n
-0000113596 00000 n
-0000109542 00000 n
-0000113717 00000 n
-0000117940 00000 n
-0000118156 00000 n
-0000117774 00000 n
-0000114033 00000 n
-0000118094 00000 n
-0000117911 00000 n
-0000125440 00000 n
-0000125135 00000 n
-0000118332 00000 n
-0000125256 00000 n
-0000130792 00000 n
-0000130311 00000 n
-0000130474 00000 n
-0000130633 00000 n
-0000131074 00000 n
-0000130121 00000 n
-0000125720 00000 n
-0000130950 00000 n
-0000130258 00000 n
-0000136473 00000 n
-0000136627 00000 n
-0000136849 00000 n
-0000136299 00000 n
-0000131354 00000 n
-0000136787 00000 n
-0000136436 00000 n
-0000142529 00000 n
-0000142742 00000 n
-0000142363 00000 n
-0000137064 00000 n
-0000142680 00000 n
-0000142500 00000 n
-0000148359 00000 n
-0000155013 00000 n
-0000148578 00000 n
-0000148193 00000 n
-0000142983 00000 n
-0000148516 00000 n
-0000876581 00000 n
-0000148330 00000 n
-0000155291 00000 n
-0000154847 00000 n
-0000148793 00000 n
-0000155167 00000 n
-0000154984 00000 n
-0000160581 00000 n
-0000160795 00000 n
-0000160415 00000 n
-0000155558 00000 n
-0000160733 00000 n
-0000160552 00000 n
-0000165853 00000 n
-0000166005 00000 n
-0000171357 00000 n
-0000166473 00000 n
-0000165679 00000 n
-0000161036 00000 n
-0000166163 00000 n
-0000165816 00000 n
-0000171510 00000 n
-0000171786 00000 n
-0000171183 00000 n
-0000166701 00000 n
-0000171662 00000 n
-0000171320 00000 n
-0000176491 00000 n
-0000176246 00000 n
-0000172066 00000 n
-0000176367 00000 n
-0000183148 00000 n
-0000183313 00000 n
-0000183472 00000 n
-0000183631 00000 n
-0000191594 00000 n
-0000183909 00000 n
-0000182958 00000 n
-0000176771 00000 n
-0000183785 00000 n
-0000183095 00000 n
+0000031556 00000 n
+0000031618 00000 n
+0000747343 00000 n
+0000742731 00000 n
+0000740278 00000 n
+0000735084 00000 n
+0000731738 00000 n
+0000729106 00000 n
+0000724143 00000 n
+0000721436 00000 n
+0000875656 00000 n
+0000876384 00000 n
+0000876820 00000 n
+0000876239 00000 n
+0000875948 00000 n
+0000876963 00000 n
+0000711278 00000 n
+0000876675 00000 n
+0000699960 00000 n
+0000695345 00000 n
+0000685276 00000 n
+0000677367 00000 n
+0000672972 00000 n
+0000667106 00000 n
+0000658307 00000 n
+0000655423 00000 n
+0000652116 00000 n
+0000642729 00000 n
+0000639267 00000 n
+0000877537 00000 n
+0000031330 00000 n
+0000036273 00000 n
+0000041584 00000 n
+0000036614 00000 n
+0000036107 00000 n
+0000032142 00000 n
+0000036432 00000 n
+0000630573 00000 n
+0000621681 00000 n
+0000877106 00000 n
+0000036244 00000 n
+0000042116 00000 n
+0000041418 00000 n
+0000036933 00000 n
+0000041738 00000 n
+0000875802 00000 n
+0000041860 00000 n
+0000041924 00000 n
+0000041988 00000 n
+0000042052 00000 n
+0000618216 00000 n
+0000041555 00000 n
+0000048703 00000 n
+0000048858 00000 n
+0000049198 00000 n
+0000048529 00000 n
+0000042474 00000 n
+0000049015 00000 n
+0000876094 00000 n
+0000048666 00000 n
+0000055993 00000 n
+0000056145 00000 n
+0000054575 00000 n
+0000054735 00000 n
+0000054895 00000 n
+0000055049 00000 n
+0000055203 00000 n
+0000055357 00000 n
+0000055517 00000 n
+0000055677 00000 n
+0000055835 00000 n
+0000056359 00000 n
+0000054329 00000 n
+0000049491 00000 n
+0000056297 00000 n
+0000054466 00000 n
+0000061457 00000 n
+0000061616 00000 n
+0000061775 00000 n
+0000061931 00000 n
+0000062272 00000 n
+0000061267 00000 n
+0000056639 00000 n
+0000062088 00000 n
+0000061404 00000 n
+0000068047 00000 n
+0000067742 00000 n
+0000062461 00000 n
+0000067863 00000 n
+0000073125 00000 n
+0000072881 00000 n
+0000068301 00000 n
+0000073002 00000 n
+0000077270 00000 n
+0000077026 00000 n
+0000073340 00000 n
+0000077147 00000 n
+0000083167 00000 n
+0000083319 00000 n
+0000083483 00000 n
+0000083882 00000 n
+0000082985 00000 n
+0000077459 00000 n
+0000083637 00000 n
+0000083122 00000 n
+0000089188 00000 n
+0000088884 00000 n
+0000084123 00000 n
+0000089005 00000 n
+0000612891 00000 n
+0000877690 00000 n
+0000094283 00000 n
+0000094437 00000 n
+0000094591 00000 n
+0000094755 00000 n
+0000094909 00000 n
+0000095257 00000 n
+0000094085 00000 n
+0000089403 00000 n
+0000095073 00000 n
+0000876529 00000 n
+0000094222 00000 n
+0000101928 00000 n
+0000102088 00000 n
+0000102247 00000 n
+0000102407 00000 n
+0000108832 00000 n
+0000108990 00000 n
+0000102749 00000 n
+0000101738 00000 n
+0000095550 00000 n
+0000102565 00000 n
+0000101875 00000 n
+0000108513 00000 n
+0000108672 00000 n
+0000109330 00000 n
+0000108323 00000 n
+0000103016 00000 n
+0000109147 00000 n
+0000108460 00000 n
+0000113808 00000 n
+0000113625 00000 n
+0000109571 00000 n
+0000113746 00000 n
+0000117949 00000 n
+0000118166 00000 n
+0000117783 00000 n
+0000114062 00000 n
+0000118104 00000 n
+0000117920 00000 n
+0000125449 00000 n
+0000125144 00000 n
+0000118342 00000 n
+0000125265 00000 n
+0000130801 00000 n
+0000130320 00000 n
+0000130483 00000 n
+0000130642 00000 n
+0000131083 00000 n
+0000130130 00000 n
+0000125729 00000 n
+0000130959 00000 n
+0000130267 00000 n
+0000136479 00000 n
+0000136633 00000 n
+0000136855 00000 n
+0000136305 00000 n
+0000131363 00000 n
+0000136793 00000 n
+0000136442 00000 n
+0000142536 00000 n
+0000142749 00000 n
+0000142370 00000 n
+0000137070 00000 n
+0000142687 00000 n
+0000142507 00000 n
+0000148604 00000 n
+0000148450 00000 n
+0000148823 00000 n
+0000148276 00000 n
+0000142990 00000 n
+0000148761 00000 n
+0000877843 00000 n
+0000148413 00000 n
+0000160839 00000 n
+0000155435 00000 n
+0000155190 00000 n
+0000149038 00000 n
+0000155311 00000 n
+0000161053 00000 n
+0000160673 00000 n
+0000155715 00000 n
+0000160991 00000 n
+0000160810 00000 n
+0000166112 00000 n
+0000166264 00000 n
+0000171616 00000 n
+0000166732 00000 n
+0000165938 00000 n
+0000161294 00000 n
+0000166422 00000 n
+0000166075 00000 n
+0000171769 00000 n
+0000172045 00000 n
+0000171442 00000 n
+0000166960 00000 n
+0000171921 00000 n
+0000171579 00000 n
+0000176748 00000 n
+0000176503 00000 n
+0000172325 00000 n
+0000176624 00000 n
+0000183407 00000 n
+0000183572 00000 n
+0000183731 00000 n
+0000183890 00000 n
+0000191785 00000 n
+0000184168 00000 n
+0000183217 00000 n
+0000177028 00000 n
+0000184044 00000 n
+0000183354 00000 n
+0000191307 00000 n
+0000191467 00000 n
+0000191631 00000 n
+0000204240 00000 n
+0000192004 00000 n
0000191117 00000 n
-0000191277 00000 n
-0000191440 00000 n
-0000204046 00000 n
-0000191811 00000 n
-0000190927 00000 n
-0000184124 00000 n
-0000191749 00000 n
-0000191064 00000 n
-0000204206 00000 n
-0000204365 00000 n
-0000204647 00000 n
-0000203864 00000 n
-0000192091 00000 n
-0000204523 00000 n
-0000607119 00000 n
-0000204001 00000 n
-0000217109 00000 n
-0000217384 00000 n
-0000216943 00000 n
-0000204953 00000 n
-0000217260 00000 n
-0000217080 00000 n
-0000237721 00000 n
-0000237476 00000 n
-0000217651 00000 n
-0000237597 00000 n
-0000876734 00000 n
-0000248119 00000 n
-0000248279 00000 n
-0000253139 00000 n
-0000248625 00000 n
-0000247945 00000 n
-0000238027 00000 n
-0000248439 00000 n
-0000248082 00000 n
-0000253298 00000 n
-0000253452 00000 n
-0000253796 00000 n
-0000252957 00000 n
-0000248879 00000 n
-0000253672 00000 n
-0000604584 00000 n
-0000253094 00000 n
-0000260472 00000 n
-0000260815 00000 n
-0000260306 00000 n
-0000254063 00000 n
-0000260630 00000 n
-0000260443 00000 n
-0000266896 00000 n
-0000267056 00000 n
-0000267216 00000 n
-0000267369 00000 n
-0000267529 00000 n
-0000267844 00000 n
-0000267689 00000 n
-0000268125 00000 n
-0000266682 00000 n
-0000261134 00000 n
-0000268001 00000 n
-0000876132 00000 n
-0000266819 00000 n
-0000285203 00000 n
-0000285362 00000 n
-0000285708 00000 n
-0000285029 00000 n
-0000268457 00000 n
-0000285522 00000 n
-0000285166 00000 n
-0000291626 00000 n
-0000291781 00000 n
-0000291998 00000 n
-0000291452 00000 n
-0000285962 00000 n
-0000291936 00000 n
-0000291589 00000 n
-0000296883 00000 n
-0000297043 00000 n
-0000297203 00000 n
-0000297425 00000 n
-0000296701 00000 n
-0000292213 00000 n
-0000297363 00000 n
-0000296838 00000 n
-0000302610 00000 n
-0000302928 00000 n
-0000302444 00000 n
-0000297705 00000 n
-0000302804 00000 n
-0000302581 00000 n
-0000308233 00000 n
-0000308387 00000 n
-0000308551 00000 n
-0000308705 00000 n
-0000308858 00000 n
-0000309016 00000 n
-0000309422 00000 n
-0000308027 00000 n
-0000303234 00000 n
-0000309174 00000 n
-0000308164 00000 n
-0000322302 00000 n
-0000314185 00000 n
-0000314339 00000 n
-0000314934 00000 n
-0000314011 00000 n
-0000309637 00000 n
-0000314493 00000 n
-0000314679 00000 n
-0000601521 00000 n
-0000314742 00000 n
-0000314806 00000 n
-0000314870 00000 n
-0000876887 00000 n
-0000314148 00000 n
-0000318792 00000 n
-0000318951 00000 n
-0000319168 00000 n
-0000318618 00000 n
-0000315136 00000 n
-0000319106 00000 n
-0000318755 00000 n
-0000322938 00000 n
-0000322119 00000 n
-0000319396 00000 n
-0000322240 00000 n
-0000322364 00000 n
-0000322428 00000 n
-0000322492 00000 n
-0000322556 00000 n
-0000322620 00000 n
-0000322684 00000 n
-0000322748 00000 n
-0000322812 00000 n
-0000326967 00000 n
-0000327127 00000 n
-0000327349 00000 n
-0000326793 00000 n
-0000323153 00000 n
-0000327287 00000 n
-0000326930 00000 n
-0000330846 00000 n
-0000331006 00000 n
-0000331165 00000 n
-0000331324 00000 n
-0000331487 00000 n
-0000331898 00000 n
-0000330648 00000 n
-0000327525 00000 n
-0000331651 00000 n
-0000330785 00000 n
-0000340982 00000 n
-0000340613 00000 n
-0000332139 00000 n
-0000340734 00000 n
-0000346318 00000 n
-0000346654 00000 n
-0000346152 00000 n
-0000341249 00000 n
-0000346468 00000 n
-0000875989 00000 n
-0000346289 00000 n
-0000351901 00000 n
-0000352056 00000 n
-0000352210 00000 n
-0000352368 00000 n
-0000352523 00000 n
-0000352801 00000 n
-0000351703 00000 n
-0000346999 00000 n
-0000352677 00000 n
-0000874248 00000 n
-0000351840 00000 n
-0000357941 00000 n
-0000358100 00000 n
-0000363960 00000 n
-0000358564 00000 n
-0000357767 00000 n
-0000353094 00000 n
-0000358254 00000 n
-0000357904 00000 n
-0000364150 00000 n
-0000364303 00000 n
-0000364465 00000 n
-0000364615 00000 n
-0000364950 00000 n
-0000363762 00000 n
-0000358818 00000 n
-0000364764 00000 n
-0000363899 00000 n
-0000369515 00000 n
-0000369676 00000 n
-0000369837 00000 n
-0000370182 00000 n
-0000369333 00000 n
-0000365269 00000 n
-0000369996 00000 n
-0000877040 00000 n
-0000369470 00000 n
-0000377615 00000 n
-0000377893 00000 n
-0000377449 00000 n
-0000370397 00000 n
-0000377769 00000 n
-0000377586 00000 n
-0000384028 00000 n
-0000384309 00000 n
-0000383862 00000 n
-0000378173 00000 n
-0000384185 00000 n
-0000383999 00000 n
-0000391133 00000 n
-0000391416 00000 n
-0000390967 00000 n
-0000384576 00000 n
-0000391292 00000 n
-0000599045 00000 n
-0000391104 00000 n
-0000395445 00000 n
-0000395728 00000 n
-0000395279 00000 n
-0000391657 00000 n
-0000395604 00000 n
-0000395416 00000 n
-0000408761 00000 n
-0000414029 00000 n
-0000414188 00000 n
-0000409171 00000 n
-0000408595 00000 n
-0000395969 00000 n
-0000408925 00000 n
-0000408732 00000 n
-0000414346 00000 n
-0000422716 00000 n
-0000422880 00000 n
-0000423044 00000 n
-0000414767 00000 n
-0000413847 00000 n
-0000409425 00000 n
-0000414581 00000 n
-0000596560 00000 n
-0000413984 00000 n
-0000415034 00000 n
-0000415352 00000 n
-0000415678 00000 n
-0000415882 00000 n
-0000416360 00000 n
-0000416704 00000 n
-0000416908 00000 n
-0000423208 00000 n
-0000423358 00000 n
-0000423694 00000 n
-0000422518 00000 n
-0000417550 00000 n
-0000423508 00000 n
-0000422655 00000 n
-0000427257 00000 n
-0000427412 00000 n
-0000427753 00000 n
-0000427083 00000 n
-0000423989 00000 n
-0000427567 00000 n
-0000427220 00000 n
-0000431522 00000 n
-0000431084 00000 n
-0000427968 00000 n
-0000431205 00000 n
-0000431267 00000 n
-0000431330 00000 n
-0000431394 00000 n
-0000431458 00000 n
-0000451718 00000 n
-0000451411 00000 n
-0000431698 00000 n
-0000451532 00000 n
-0000877193 00000 n
-0000457780 00000 n
-0000457597 00000 n
-0000451985 00000 n
-0000457718 00000 n
-0000462652 00000 n
-0000462345 00000 n
-0000458073 00000 n
-0000462466 00000 n
-0000466294 00000 n
-0000466111 00000 n
-0000462867 00000 n
-0000466232 00000 n
-0000469803 00000 n
-0000469620 00000 n
-0000466535 00000 n
-0000469741 00000 n
-0000474175 00000 n
-0000473992 00000 n
-0000470044 00000 n
-0000474113 00000 n
-0000480737 00000 n
-0000481021 00000 n
-0000480571 00000 n
-0000474403 00000 n
-0000480897 00000 n
-0000480708 00000 n
-0000486704 00000 n
-0000486521 00000 n
-0000481353 00000 n
-0000486642 00000 n
-0000498894 00000 n
-0000498649 00000 n
-0000486919 00000 n
-0000498770 00000 n
-0000502370 00000 n
-0000502125 00000 n
-0000499135 00000 n
-0000502246 00000 n
-0000505057 00000 n
-0000504812 00000 n
-0000502520 00000 n
-0000504933 00000 n
-0000877346 00000 n
-0000507672 00000 n
-0000507489 00000 n
-0000505259 00000 n
-0000507610 00000 n
-0000510376 00000 n
-0000510193 00000 n
-0000507835 00000 n
-0000510314 00000 n
-0000513083 00000 n
-0000512900 00000 n
-0000510539 00000 n
-0000513021 00000 n
-0000515776 00000 n
-0000515593 00000 n
-0000513246 00000 n
-0000515714 00000 n
-0000517657 00000 n
-0000517474 00000 n
-0000515952 00000 n
-0000517595 00000 n
-0000522287 00000 n
-0000522437 00000 n
-0000522589 00000 n
-0000522739 00000 n
-0000522891 00000 n
-0000523043 00000 n
-0000523195 00000 n
-0000523347 00000 n
-0000523499 00000 n
-0000523650 00000 n
-0000523802 00000 n
-0000523953 00000 n
-0000524105 00000 n
-0000524256 00000 n
-0000524406 00000 n
-0000524558 00000 n
-0000524710 00000 n
-0000524862 00000 n
-0000525012 00000 n
-0000525162 00000 n
-0000525314 00000 n
-0000525466 00000 n
-0000525617 00000 n
-0000525769 00000 n
-0000525920 00000 n
-0000526072 00000 n
-0000526220 00000 n
-0000526369 00000 n
-0000526520 00000 n
-0000526672 00000 n
-0000526822 00000 n
-0000526972 00000 n
-0000527123 00000 n
-0000527275 00000 n
-0000527426 00000 n
-0000527578 00000 n
-0000527730 00000 n
-0000527882 00000 n
-0000528033 00000 n
-0000528185 00000 n
-0000528337 00000 n
-0000528488 00000 n
-0000528639 00000 n
-0000528791 00000 n
-0000528943 00000 n
-0000529094 00000 n
-0000529246 00000 n
-0000529398 00000 n
-0000529549 00000 n
-0000529701 00000 n
-0000529852 00000 n
-0000530003 00000 n
-0000530152 00000 n
-0000530302 00000 n
-0000530452 00000 n
-0000530602 00000 n
-0000530751 00000 n
-0000530901 00000 n
-0000531052 00000 n
-0000531204 00000 n
-0000531354 00000 n
-0000531506 00000 n
-0000531657 00000 n
-0000531809 00000 n
-0000531960 00000 n
-0000532112 00000 n
-0000532264 00000 n
-0000532415 00000 n
-0000532567 00000 n
-0000532720 00000 n
-0000532872 00000 n
-0000533025 00000 n
-0000533178 00000 n
-0000533331 00000 n
-0000533482 00000 n
-0000533635 00000 n
-0000533788 00000 n
-0000533941 00000 n
-0000534094 00000 n
-0000534246 00000 n
-0000534398 00000 n
-0000534551 00000 n
-0000534703 00000 n
-0000534856 00000 n
-0000535009 00000 n
-0000535162 00000 n
-0000535313 00000 n
-0000535466 00000 n
-0000535618 00000 n
-0000535770 00000 n
-0000535923 00000 n
-0000536075 00000 n
-0000536227 00000 n
-0000536380 00000 n
-0000536533 00000 n
-0000536686 00000 n
-0000536839 00000 n
-0000536992 00000 n
-0000537145 00000 n
-0000537298 00000 n
-0000537451 00000 n
-0000537604 00000 n
-0000537757 00000 n
-0000537906 00000 n
-0000538056 00000 n
-0000538206 00000 n
-0000538358 00000 n
-0000538510 00000 n
-0000538663 00000 n
-0000538816 00000 n
-0000538968 00000 n
-0000539119 00000 n
-0000543937 00000 n
-0000544089 00000 n
-0000544241 00000 n
-0000539396 00000 n
-0000521184 00000 n
-0000517833 00000 n
-0000539269 00000 n
-0000521325 00000 n
-0000544393 00000 n
-0000544545 00000 n
-0000544698 00000 n
-0000544849 00000 n
-0000545001 00000 n
-0000545151 00000 n
-0000545304 00000 n
-0000545456 00000 n
-0000545609 00000 n
-0000545760 00000 n
-0000545911 00000 n
-0000546064 00000 n
-0000546217 00000 n
-0000546369 00000 n
-0000546522 00000 n
-0000546675 00000 n
-0000546828 00000 n
-0000546981 00000 n
-0000547133 00000 n
-0000547285 00000 n
-0000547437 00000 n
-0000547590 00000 n
-0000547743 00000 n
-0000547895 00000 n
-0000548047 00000 n
-0000548200 00000 n
-0000548353 00000 n
-0000548506 00000 n
-0000548659 00000 n
-0000548812 00000 n
-0000548964 00000 n
-0000549116 00000 n
-0000549269 00000 n
-0000549422 00000 n
-0000549575 00000 n
-0000549727 00000 n
-0000549879 00000 n
-0000550032 00000 n
-0000550185 00000 n
-0000550338 00000 n
-0000550491 00000 n
-0000550644 00000 n
-0000550796 00000 n
-0000550949 00000 n
-0000551102 00000 n
-0000551255 00000 n
-0000551405 00000 n
-0000551555 00000 n
-0000551706 00000 n
-0000551859 00000 n
-0000552012 00000 n
-0000552165 00000 n
-0000552317 00000 n
-0000552470 00000 n
-0000552622 00000 n
-0000552774 00000 n
-0000552927 00000 n
-0000553078 00000 n
-0000553231 00000 n
-0000553383 00000 n
-0000553536 00000 n
-0000553689 00000 n
-0000553842 00000 n
-0000553994 00000 n
-0000554147 00000 n
-0000554300 00000 n
-0000554453 00000 n
-0000554604 00000 n
-0000554755 00000 n
-0000554906 00000 n
-0000555058 00000 n
-0000555211 00000 n
-0000555364 00000 n
-0000555517 00000 n
-0000555670 00000 n
-0000555823 00000 n
-0000555976 00000 n
-0000556128 00000 n
-0000556281 00000 n
-0000556434 00000 n
-0000556587 00000 n
-0000556739 00000 n
-0000556892 00000 n
-0000557045 00000 n
-0000557198 00000 n
-0000557351 00000 n
-0000557503 00000 n
-0000557656 00000 n
-0000557809 00000 n
-0000557962 00000 n
-0000558113 00000 n
-0000558265 00000 n
-0000558418 00000 n
-0000558568 00000 n
-0000558719 00000 n
-0000562678 00000 n
-0000562831 00000 n
-0000562984 00000 n
-0000563137 00000 n
-0000558933 00000 n
-0000542892 00000 n
-0000539586 00000 n
-0000558869 00000 n
-0000543033 00000 n
-0000563290 00000 n
-0000563442 00000 n
-0000563594 00000 n
-0000563746 00000 n
-0000563898 00000 n
-0000564051 00000 n
-0000564204 00000 n
-0000564357 00000 n
-0000564509 00000 n
-0000564662 00000 n
-0000564814 00000 n
-0000564966 00000 n
-0000565117 00000 n
-0000565270 00000 n
-0000565423 00000 n
-0000565576 00000 n
-0000565729 00000 n
-0000565882 00000 n
-0000566034 00000 n
-0000566186 00000 n
-0000566339 00000 n
-0000566491 00000 n
-0000566644 00000 n
-0000566797 00000 n
-0000566950 00000 n
-0000567101 00000 n
-0000567253 00000 n
-0000567404 00000 n
-0000567557 00000 n
-0000567710 00000 n
-0000567863 00000 n
-0000568016 00000 n
-0000568169 00000 n
-0000568322 00000 n
-0000568475 00000 n
-0000568628 00000 n
-0000568781 00000 n
-0000568933 00000 n
-0000569085 00000 n
-0000569238 00000 n
-0000569390 00000 n
-0000569543 00000 n
-0000569696 00000 n
-0000569849 00000 n
-0000570001 00000 n
-0000570154 00000 n
-0000570305 00000 n
-0000570457 00000 n
-0000570610 00000 n
-0000570761 00000 n
-0000570913 00000 n
-0000571066 00000 n
-0000571219 00000 n
-0000571369 00000 n
-0000571519 00000 n
-0000571669 00000 n
-0000571820 00000 n
-0000571971 00000 n
-0000572124 00000 n
-0000572277 00000 n
-0000572430 00000 n
-0000572583 00000 n
-0000572736 00000 n
-0000572887 00000 n
-0000573040 00000 n
-0000573192 00000 n
-0000573344 00000 n
-0000573497 00000 n
-0000573650 00000 n
-0000573803 00000 n
-0000573956 00000 n
-0000574109 00000 n
-0000574262 00000 n
-0000574479 00000 n
-0000561822 00000 n
-0000559110 00000 n
-0000574415 00000 n
-0000561963 00000 n
-0000577337 00000 n
-0000577491 00000 n
-0000577645 00000 n
-0000577799 00000 n
-0000577953 00000 n
-0000578112 00000 n
-0000578271 00000 n
-0000578430 00000 n
-0000578589 00000 n
-0000578747 00000 n
-0000578906 00000 n
-0000579065 00000 n
-0000579219 00000 n
-0000579378 00000 n
-0000579543 00000 n
-0000579708 00000 n
-0000579867 00000 n
-0000580026 00000 n
-0000580191 00000 n
-0000580355 00000 n
-0000580520 00000 n
-0000580685 00000 n
-0000580850 00000 n
-0000581004 00000 n
-0000581162 00000 n
-0000581321 00000 n
-0000581479 00000 n
-0000581638 00000 n
-0000581791 00000 n
-0000581945 00000 n
-0000582104 00000 n
-0000582263 00000 n
-0000582422 00000 n
-0000582575 00000 n
-0000582730 00000 n
-0000582890 00000 n
-0000583050 00000 n
-0000583210 00000 n
-0000583370 00000 n
-0000583530 00000 n
-0000583690 00000 n
-0000583844 00000 n
-0000583999 00000 n
-0000584159 00000 n
-0000584319 00000 n
-0000584477 00000 n
-0000587419 00000 n
-0000584699 00000 n
-0000576760 00000 n
-0000574656 00000 n
-0000584635 00000 n
-0000576901 00000 n
-0000587574 00000 n
-0000587734 00000 n
-0000587893 00000 n
-0000588052 00000 n
-0000588211 00000 n
-0000588371 00000 n
-0000588526 00000 n
-0000588686 00000 n
-0000588845 00000 n
-0000589005 00000 n
-0000589164 00000 n
-0000589323 00000 n
-0000589482 00000 n
-0000589642 00000 n
-0000589802 00000 n
-0000589962 00000 n
-0000590123 00000 n
-0000590284 00000 n
-0000590439 00000 n
-0000590599 00000 n
-0000590765 00000 n
-0000590931 00000 n
-0000591091 00000 n
-0000591251 00000 n
-0000591410 00000 n
-0000591565 00000 n
-0000591719 00000 n
-0000591879 00000 n
-0000592039 00000 n
-0000592199 00000 n
-0000592359 00000 n
-0000592513 00000 n
-0000592673 00000 n
-0000592833 00000 n
-0000592993 00000 n
-0000593153 00000 n
-0000593313 00000 n
-0000593473 00000 n
-0000593633 00000 n
-0000593793 00000 n
-0000593953 00000 n
-0000594114 00000 n
-0000594269 00000 n
-0000594487 00000 n
-0000586859 00000 n
-0000584850 00000 n
-0000594423 00000 n
-0000877503 00000 n
-0000587001 00000 n
-0000594906 00000 n
-0000595861 00000 n
-0000594962 00000 n
-0000595062 00000 n
-0000596103 00000 n
-0000596717 00000 n
-0000596921 00000 n
-0000598333 00000 n
-0000596996 00000 n
-0000597097 00000 n
-0000598575 00000 n
-0000599203 00000 n
-0000599408 00000 n
-0000599553 00000 n
-0000599650 00000 n
-0000600820 00000 n
+0000184383 00000 n
+0000191942 00000 n
+0000191254 00000 n
+0000204400 00000 n
+0000204559 00000 n
+0000204841 00000 n
+0000204058 00000 n
+0000192284 00000 n
+0000204717 00000 n
+0000608502 00000 n
+0000204195 00000 n
+0000217309 00000 n
+0000217584 00000 n
+0000217143 00000 n
+0000205147 00000 n
+0000217460 00000 n
+0000217280 00000 n
+0000237934 00000 n
+0000237689 00000 n
+0000217864 00000 n
+0000237810 00000 n
+0000877996 00000 n
+0000248333 00000 n
+0000248493 00000 n
+0000253352 00000 n
+0000248839 00000 n
+0000248159 00000 n
+0000238240 00000 n
+0000248653 00000 n
+0000248296 00000 n
+0000253511 00000 n
+0000253665 00000 n
+0000254009 00000 n
+0000253170 00000 n
+0000249093 00000 n
+0000253885 00000 n
+0000605967 00000 n
+0000253307 00000 n
+0000260687 00000 n
+0000261030 00000 n
+0000260521 00000 n
+0000254276 00000 n
+0000260845 00000 n
+0000260658 00000 n
+0000267111 00000 n
+0000267271 00000 n
+0000267431 00000 n
+0000267584 00000 n
+0000267744 00000 n
+0000268059 00000 n
+0000267904 00000 n
+0000268340 00000 n
+0000266897 00000 n
+0000261349 00000 n
+0000268216 00000 n
+0000877394 00000 n
+0000267034 00000 n
+0000285420 00000 n
+0000285579 00000 n
+0000285925 00000 n
+0000285246 00000 n
+0000268672 00000 n
+0000285739 00000 n
+0000285383 00000 n
+0000291810 00000 n
+0000291965 00000 n
+0000292182 00000 n
+0000291636 00000 n
+0000286179 00000 n
+0000292120 00000 n
+0000291773 00000 n
+0000297066 00000 n
+0000297226 00000 n
+0000297386 00000 n
+0000297608 00000 n
+0000296884 00000 n
+0000292397 00000 n
+0000297546 00000 n
+0000297021 00000 n
+0000302736 00000 n
+0000303055 00000 n
+0000302570 00000 n
+0000297888 00000 n
+0000302931 00000 n
+0000302707 00000 n
+0000308733 00000 n
+0000308887 00000 n
+0000309175 00000 n
+0000308559 00000 n
+0000303361 00000 n
+0000309051 00000 n
+0000308696 00000 n
+0000313236 00000 n
+0000313389 00000 n
+0000313541 00000 n
+0000313701 00000 n
+0000313861 00000 n
+0000314014 00000 n
+0000314475 00000 n
+0000313030 00000 n
+0000309390 00000 n
+0000314167 00000 n
+0000878149 00000 n
+0000313167 00000 n
+0000323602 00000 n
+0000319460 00000 n
+0000319619 00000 n
+0000320091 00000 n
+0000319286 00000 n
+0000314638 00000 n
+0000319774 00000 n
+0000319836 00000 n
+0000602904 00000 n
+0000319899 00000 n
+0000319963 00000 n
+0000320027 00000 n
+0000319423 00000 n
+0000324235 00000 n
+0000323419 00000 n
+0000320345 00000 n
+0000323540 00000 n
+0000323664 00000 n
+0000323728 00000 n
+0000323792 00000 n
+0000323856 00000 n
+0000323920 00000 n
+0000323983 00000 n
+0000324047 00000 n
+0000324110 00000 n
+0000331024 00000 n
+0000331184 00000 n
+0000327370 00000 n
+0000327187 00000 n
+0000324450 00000 n
+0000327308 00000 n
+0000331344 00000 n
+0000331504 00000 n
+0000331663 00000 n
+0000331822 00000 n
+0000331983 00000 n
+0000332393 00000 n
+0000330810 00000 n
+0000327546 00000 n
+0000332145 00000 n
+0000330947 00000 n
+0000341328 00000 n
+0000341022 00000 n
+0000332569 00000 n
+0000341143 00000 n
+0000346617 00000 n
+0000347015 00000 n
+0000346451 00000 n
+0000341647 00000 n
+0000346767 00000 n
+0000346588 00000 n
+0000352521 00000 n
+0000352676 00000 n
+0000352830 00000 n
+0000352988 00000 n
+0000353143 00000 n
+0000353421 00000 n
+0000352323 00000 n
+0000347308 00000 n
+0000353297 00000 n
+0000877251 00000 n
+0000875510 00000 n
+0000352460 00000 n
+0000358740 00000 n
+0000358900 00000 n
+0000359303 00000 n
+0000358566 00000 n
+0000353766 00000 n
+0000359055 00000 n
+0000358703 00000 n
+0000364587 00000 n
+0000364777 00000 n
+0000364930 00000 n
+0000365339 00000 n
+0000364405 00000 n
+0000359583 00000 n
+0000365092 00000 n
+0000364542 00000 n
+0000370609 00000 n
+0000370761 00000 n
+0000370287 00000 n
+0000370448 00000 n
+0000371098 00000 n
+0000370097 00000 n
+0000365658 00000 n
+0000370912 00000 n
+0000878302 00000 n
+0000370234 00000 n
+0000378424 00000 n
+0000378583 00000 n
+0000378860 00000 n
+0000378250 00000 n
+0000371339 00000 n
+0000378736 00000 n
+0000378387 00000 n
+0000384617 00000 n
+0000384838 00000 n
+0000384451 00000 n
+0000379114 00000 n
+0000384776 00000 n
+0000384588 00000 n
+0000391399 00000 n
+0000391743 00000 n
+0000391233 00000 n
+0000385079 00000 n
+0000391557 00000 n
+0000600428 00000 n
+0000391370 00000 n
+0000396132 00000 n
+0000396416 00000 n
+0000395966 00000 n
+0000391997 00000 n
+0000396292 00000 n
+0000396103 00000 n
+0000410090 00000 n
+0000410501 00000 n
+0000409924 00000 n
+0000396696 00000 n
+0000410254 00000 n
+0000410061 00000 n
+0000415331 00000 n
+0000415490 00000 n
+0000415649 00000 n
+0000416070 00000 n
+0000415149 00000 n
+0000410755 00000 n
+0000415884 00000 n
+0000597943 00000 n
+0000415286 00000 n
+0000423364 00000 n
+0000423528 00000 n
+0000423692 00000 n
+0000416337 00000 n
+0000416655 00000 n
+0000416981 00000 n
+0000417185 00000 n
+0000417663 00000 n
+0000418007 00000 n
+0000418211 00000 n
+0000423856 00000 n
+0000424006 00000 n
+0000424342 00000 n
+0000423166 00000 n
+0000418853 00000 n
+0000424156 00000 n
+0000423303 00000 n
+0000432351 00000 n
+0000432506 00000 n
+0000428236 00000 n
+0000427991 00000 n
+0000424650 00000 n
+0000428112 00000 n
+0000433039 00000 n
+0000432177 00000 n
+0000428412 00000 n
+0000432661 00000 n
+0000432785 00000 n
+0000432848 00000 n
+0000432911 00000 n
+0000432975 00000 n
+0000432314 00000 n
+0000453288 00000 n
+0000452981 00000 n
+0000433267 00000 n
+0000453102 00000 n
+0000878455 00000 n
+0000459350 00000 n
+0000459167 00000 n
+0000453555 00000 n
+0000459288 00000 n
+0000464220 00000 n
+0000463913 00000 n
+0000459643 00000 n
+0000464034 00000 n
+0000467862 00000 n
+0000467679 00000 n
+0000464435 00000 n
+0000467800 00000 n
+0000471292 00000 n
+0000471109 00000 n
+0000468103 00000 n
+0000471230 00000 n
+0000475664 00000 n
+0000475481 00000 n
+0000471533 00000 n
+0000475602 00000 n
+0000482227 00000 n
+0000482511 00000 n
+0000482061 00000 n
+0000475892 00000 n
+0000482387 00000 n
+0000482198 00000 n
+0000488152 00000 n
+0000487969 00000 n
+0000482843 00000 n
+0000488090 00000 n
+0000500304 00000 n
+0000500059 00000 n
+0000488367 00000 n
+0000500180 00000 n
+0000503780 00000 n
+0000503535 00000 n
+0000500545 00000 n
+0000503656 00000 n
+0000506466 00000 n
+0000506221 00000 n
+0000503930 00000 n
+0000506342 00000 n
+0000878608 00000 n
+0000509080 00000 n
+0000508897 00000 n
+0000506668 00000 n
+0000509018 00000 n
+0000511784 00000 n
+0000511601 00000 n
+0000509243 00000 n
+0000511722 00000 n
+0000514491 00000 n
+0000514308 00000 n
+0000511947 00000 n
+0000514429 00000 n
+0000517184 00000 n
+0000517001 00000 n
+0000514654 00000 n
+0000517122 00000 n
+0000519066 00000 n
+0000518883 00000 n
+0000517360 00000 n
+0000519004 00000 n
+0000523682 00000 n
+0000523832 00000 n
+0000523982 00000 n
+0000524132 00000 n
+0000524284 00000 n
+0000524436 00000 n
+0000524588 00000 n
+0000524740 00000 n
+0000524892 00000 n
+0000525043 00000 n
+0000525195 00000 n
+0000525346 00000 n
+0000525498 00000 n
+0000525649 00000 n
+0000525799 00000 n
+0000525951 00000 n
+0000526103 00000 n
+0000526255 00000 n
+0000526405 00000 n
+0000526555 00000 n
+0000526707 00000 n
+0000526859 00000 n
+0000527010 00000 n
+0000527162 00000 n
+0000527313 00000 n
+0000527465 00000 n
+0000527613 00000 n
+0000527762 00000 n
+0000527913 00000 n
+0000528065 00000 n
+0000528215 00000 n
+0000528365 00000 n
+0000528516 00000 n
+0000528668 00000 n
+0000528819 00000 n
+0000528971 00000 n
+0000529123 00000 n
+0000529275 00000 n
+0000529426 00000 n
+0000529578 00000 n
+0000529730 00000 n
+0000529881 00000 n
+0000530032 00000 n
+0000530184 00000 n
+0000530336 00000 n
+0000530487 00000 n
+0000530639 00000 n
+0000530791 00000 n
+0000530942 00000 n
+0000531094 00000 n
+0000531245 00000 n
+0000531396 00000 n
+0000531545 00000 n
+0000531695 00000 n
+0000531845 00000 n
+0000531995 00000 n
+0000532144 00000 n
+0000532294 00000 n
+0000532445 00000 n
+0000532597 00000 n
+0000532747 00000 n
+0000532899 00000 n
+0000533050 00000 n
+0000533202 00000 n
+0000533353 00000 n
+0000533505 00000 n
+0000533657 00000 n
+0000533808 00000 n
+0000533960 00000 n
+0000534112 00000 n
+0000534263 00000 n
+0000534416 00000 n
+0000534569 00000 n
+0000534722 00000 n
+0000534873 00000 n
+0000535026 00000 n
+0000535179 00000 n
+0000535332 00000 n
+0000535485 00000 n
+0000535637 00000 n
+0000535789 00000 n
+0000535942 00000 n
+0000536094 00000 n
+0000536247 00000 n
+0000536400 00000 n
+0000536553 00000 n
+0000536704 00000 n
+0000536857 00000 n
+0000537009 00000 n
+0000537161 00000 n
+0000537314 00000 n
+0000537466 00000 n
+0000537618 00000 n
+0000537771 00000 n
+0000537924 00000 n
+0000538077 00000 n
+0000538230 00000 n
+0000538383 00000 n
+0000538536 00000 n
+0000538689 00000 n
+0000538842 00000 n
+0000538995 00000 n
+0000539148 00000 n
+0000539297 00000 n
+0000539447 00000 n
+0000539597 00000 n
+0000539749 00000 n
+0000539901 00000 n
+0000540054 00000 n
+0000540207 00000 n
+0000540359 00000 n
+0000540510 00000 n
+0000545330 00000 n
+0000545482 00000 n
+0000545634 00000 n
+0000540787 00000 n
+0000522581 00000 n
+0000519242 00000 n
+0000540660 00000 n
+0000522722 00000 n
+0000545786 00000 n
+0000545938 00000 n
+0000546091 00000 n
+0000546242 00000 n
+0000546394 00000 n
+0000546544 00000 n
+0000546697 00000 n
+0000546849 00000 n
+0000547002 00000 n
+0000547153 00000 n
+0000547304 00000 n
+0000547457 00000 n
+0000547610 00000 n
+0000547762 00000 n
+0000547915 00000 n
+0000548068 00000 n
+0000548221 00000 n
+0000548374 00000 n
+0000548526 00000 n
+0000548678 00000 n
+0000548830 00000 n
+0000548983 00000 n
+0000549136 00000 n
+0000549288 00000 n
+0000549440 00000 n
+0000549593 00000 n
+0000549746 00000 n
+0000549899 00000 n
+0000550052 00000 n
+0000550205 00000 n
+0000550357 00000 n
+0000550509 00000 n
+0000550662 00000 n
+0000550815 00000 n
+0000550968 00000 n
+0000551120 00000 n
+0000551272 00000 n
+0000551425 00000 n
+0000551578 00000 n
+0000551731 00000 n
+0000551884 00000 n
+0000552037 00000 n
+0000552189 00000 n
+0000552342 00000 n
+0000552495 00000 n
+0000552648 00000 n
+0000552798 00000 n
+0000552948 00000 n
+0000553099 00000 n
+0000553252 00000 n
+0000553405 00000 n
+0000553558 00000 n
+0000553710 00000 n
+0000553863 00000 n
+0000554015 00000 n
+0000554167 00000 n
+0000554320 00000 n
+0000554471 00000 n
+0000554624 00000 n
+0000554776 00000 n
+0000554929 00000 n
+0000555082 00000 n
+0000555235 00000 n
+0000555387 00000 n
+0000555540 00000 n
+0000555693 00000 n
+0000555846 00000 n
+0000555997 00000 n
+0000556148 00000 n
+0000556299 00000 n
+0000556451 00000 n
+0000556604 00000 n
+0000556757 00000 n
+0000556910 00000 n
+0000557063 00000 n
+0000557216 00000 n
+0000557369 00000 n
+0000557521 00000 n
+0000557674 00000 n
+0000557827 00000 n
+0000557980 00000 n
+0000558132 00000 n
+0000558285 00000 n
+0000558438 00000 n
+0000558591 00000 n
+0000558744 00000 n
+0000558896 00000 n
+0000559049 00000 n
+0000559202 00000 n
+0000559355 00000 n
+0000559506 00000 n
+0000559658 00000 n
+0000559811 00000 n
+0000559961 00000 n
+0000560112 00000 n
+0000564066 00000 n
+0000564219 00000 n
+0000564372 00000 n
+0000564525 00000 n
+0000560326 00000 n
+0000544285 00000 n
+0000540977 00000 n
+0000560262 00000 n
+0000544426 00000 n
+0000564678 00000 n
+0000564830 00000 n
+0000564982 00000 n
+0000565134 00000 n
+0000565286 00000 n
+0000565439 00000 n
+0000565592 00000 n
+0000565745 00000 n
+0000565897 00000 n
+0000566050 00000 n
+0000566202 00000 n
+0000566354 00000 n
+0000566505 00000 n
+0000566658 00000 n
+0000566811 00000 n
+0000566964 00000 n
+0000567117 00000 n
+0000567270 00000 n
+0000567422 00000 n
+0000567574 00000 n
+0000567727 00000 n
+0000567879 00000 n
+0000568032 00000 n
+0000568185 00000 n
+0000568338 00000 n
+0000568489 00000 n
+0000568641 00000 n
+0000568792 00000 n
+0000568945 00000 n
+0000569098 00000 n
+0000569251 00000 n
+0000569404 00000 n
+0000569557 00000 n
+0000569710 00000 n
+0000569863 00000 n
+0000570016 00000 n
+0000570168 00000 n
+0000570320 00000 n
+0000570473 00000 n
+0000570625 00000 n
+0000570778 00000 n
+0000570931 00000 n
+0000571084 00000 n
+0000571237 00000 n
+0000571389 00000 n
+0000571542 00000 n
+0000571693 00000 n
+0000571845 00000 n
+0000571998 00000 n
+0000572149 00000 n
+0000572301 00000 n
+0000572454 00000 n
+0000572607 00000 n
+0000572757 00000 n
+0000572907 00000 n
+0000573057 00000 n
+0000573208 00000 n
+0000573359 00000 n
+0000573512 00000 n
+0000573665 00000 n
+0000573818 00000 n
+0000573971 00000 n
+0000574124 00000 n
+0000574275 00000 n
+0000574428 00000 n
+0000574580 00000 n
+0000574732 00000 n
+0000574885 00000 n
+0000575038 00000 n
+0000575191 00000 n
+0000575344 00000 n
+0000575497 00000 n
+0000575650 00000 n
+0000575867 00000 n
+0000563210 00000 n
+0000560503 00000 n
+0000575803 00000 n
+0000563351 00000 n
+0000578724 00000 n
+0000578878 00000 n
+0000579032 00000 n
+0000579186 00000 n
+0000579340 00000 n
+0000579499 00000 n
+0000579658 00000 n
+0000579817 00000 n
+0000579976 00000 n
+0000580134 00000 n
+0000580293 00000 n
+0000580452 00000 n
+0000580606 00000 n
+0000580765 00000 n
+0000580930 00000 n
+0000581095 00000 n
+0000581254 00000 n
+0000581413 00000 n
+0000581578 00000 n
+0000581742 00000 n
+0000581907 00000 n
+0000582072 00000 n
+0000582237 00000 n
+0000582391 00000 n
+0000582549 00000 n
+0000582708 00000 n
+0000582866 00000 n
+0000583025 00000 n
+0000583178 00000 n
+0000583332 00000 n
+0000583491 00000 n
+0000583650 00000 n
+0000583809 00000 n
+0000583962 00000 n
+0000584117 00000 n
+0000584277 00000 n
+0000584437 00000 n
+0000584597 00000 n
+0000584757 00000 n
+0000584917 00000 n
+0000585077 00000 n
+0000585231 00000 n
+0000585386 00000 n
+0000585546 00000 n
+0000585706 00000 n
+0000585864 00000 n
+0000588802 00000 n
+0000586086 00000 n
+0000578147 00000 n
+0000576044 00000 n
+0000586022 00000 n
+0000578288 00000 n
+0000588957 00000 n
+0000589117 00000 n
+0000589276 00000 n
+0000589435 00000 n
+0000589594 00000 n
+0000589754 00000 n
+0000589909 00000 n
+0000590069 00000 n
+0000590228 00000 n
+0000590388 00000 n
+0000590547 00000 n
+0000590706 00000 n
+0000590865 00000 n
+0000591025 00000 n
+0000591185 00000 n
+0000591345 00000 n
+0000591506 00000 n
+0000591667 00000 n
+0000591822 00000 n
+0000591982 00000 n
+0000592148 00000 n
+0000592314 00000 n
+0000592474 00000 n
+0000592634 00000 n
+0000592793 00000 n
+0000592948 00000 n
+0000593102 00000 n
+0000593262 00000 n
+0000593422 00000 n
+0000593582 00000 n
+0000593742 00000 n
+0000593896 00000 n
+0000594056 00000 n
+0000594216 00000 n
+0000594376 00000 n
+0000594536 00000 n
+0000594696 00000 n
+0000594856 00000 n
+0000595016 00000 n
+0000595176 00000 n
+0000595336 00000 n
+0000595497 00000 n
+0000595652 00000 n
+0000595870 00000 n
+0000588242 00000 n
+0000586237 00000 n
+0000595806 00000 n
+0000878765 00000 n
+0000588384 00000 n
+0000596289 00000 n
+0000597244 00000 n
+0000596345 00000 n
+0000596445 00000 n
+0000597486 00000 n
+0000598100 00000 n
+0000598304 00000 n
0000599716 00000 n
-0000599813 00000 n
-0000601063 00000 n
-0000601678 00000 n
-0000601882 00000 n
-0000601986 00000 n
-0000603841 00000 n
-0000602144 00000 n
-0000602248 00000 n
-0000604081 00000 n
-0000604741 00000 n
-0000604945 00000 n
-0000606400 00000 n
-0000605024 00000 n
-0000605126 00000 n
-0000606648 00000 n
-0000607282 00000 n
-0000607492 00000 n
-0000607537 00000 n
-0000610693 00000 n
-0000607812 00000 n
-0000607918 00000 n
-0000610941 00000 n
-0000611671 00000 n
-0000611881 00000 n
-0000611906 00000 n
-0000615999 00000 n
-0000612248 00000 n
-0000612358 00000 n
-0000616242 00000 n
-0000616990 00000 n
-0000617194 00000 n
-0000617220 00000 n
-0000617472 00000 n
-0000619554 00000 n
+0000598379 00000 n
+0000598480 00000 n
+0000599958 00000 n
+0000600586 00000 n
+0000600791 00000 n
+0000600936 00000 n
+0000601033 00000 n
+0000602203 00000 n
+0000601099 00000 n
+0000601196 00000 n
+0000602446 00000 n
+0000603061 00000 n
+0000603265 00000 n
+0000603369 00000 n
+0000605224 00000 n
+0000603527 00000 n
+0000603631 00000 n
+0000605464 00000 n
+0000606124 00000 n
+0000606328 00000 n
+0000607783 00000 n
+0000606407 00000 n
+0000606509 00000 n
+0000608031 00000 n
+0000608665 00000 n
+0000608875 00000 n
+0000608920 00000 n
+0000612076 00000 n
+0000609195 00000 n
+0000609301 00000 n
+0000612324 00000 n
+0000613054 00000 n
+0000613264 00000 n
+0000613289 00000 n
+0000617382 00000 n
+0000613631 00000 n
+0000613741 00000 n
0000617625 00000 n
-0000617731 00000 n
-0000619793 00000 n
-0000620453 00000 n
-0000620655 00000 n
-0000628223 00000 n
-0000621088 00000 n
-0000621200 00000 n
-0000628463 00000 n
-0000629346 00000 n
-0000629549 00000 n
-0000636888 00000 n
-0000629989 00000 n
-0000630097 00000 n
-0000637128 00000 n
-0000638041 00000 n
-0000638245 00000 n
-0000640557 00000 n
-0000638519 00000 n
-0000638625 00000 n
-0000640797 00000 n
-0000641503 00000 n
-0000641707 00000 n
-0000649742 00000 n
-0000642164 00000 n
-0000642276 00000 n
-0000649983 00000 n
-0000650891 00000 n
-0000651096 00000 n
-0000653302 00000 n
-0000651222 00000 n
-0000651330 00000 n
-0000653544 00000 n
-0000654198 00000 n
-0000654403 00000 n
-0000656191 00000 n
-0000654514 00000 n
-0000654618 00000 n
-0000656438 00000 n
-0000657087 00000 n
-0000657297 00000 n
-0000664751 00000 n
-0000657725 00000 n
-0000657840 00000 n
-0000664991 00000 n
-0000665879 00000 n
-0000666082 00000 n
-0000670734 00000 n
-0000666425 00000 n
-0000666536 00000 n
-0000670983 00000 n
-0000671753 00000 n
-0000671964 00000 n
-0000675202 00000 n
-0000672160 00000 n
-0000672267 00000 n
-0000675444 00000 n
-0000676142 00000 n
-0000676347 00000 n
-0000683006 00000 n
-0000676733 00000 n
-0000676844 00000 n
-0000683250 00000 n
-0000684051 00000 n
-0000684256 00000 n
-0000692902 00000 n
-0000684693 00000 n
-0000684807 00000 n
-0000693143 00000 n
-0000694120 00000 n
-0000694325 00000 n
-0000697726 00000 n
-0000694685 00000 n
-0000694792 00000 n
-0000697967 00000 n
-0000698735 00000 n
-0000698940 00000 n
-0000699175 00000 n
-0000708810 00000 n
-0000699743 00000 n
-0000699872 00000 n
-0000709052 00000 n
-0000710054 00000 n
-0000710260 00000 n
-0000710367 00000 n
-0000710646 00000 n
-0000710753 00000 n
-0000710815 00000 n
-0000711010 00000 n
-0000711379 00000 n
-0000719038 00000 n
-0000711822 00000 n
-0000711930 00000 n
-0000719278 00000 n
-0000720210 00000 n
-0000720414 00000 n
-0000722018 00000 n
-0000720571 00000 n
-0000720677 00000 n
-0000722258 00000 n
-0000722917 00000 n
-0000723121 00000 n
-0000726907 00000 n
-0000723413 00000 n
-0000723519 00000 n
-0000727148 00000 n
-0000727881 00000 n
-0000728086 00000 n
-0000729645 00000 n
-0000728179 00000 n
-0000728280 00000 n
-0000729884 00000 n
-0000730510 00000 n
-0000730712 00000 n
-0000732949 00000 n
-0000730891 00000 n
-0000730997 00000 n
-0000733190 00000 n
-0000733859 00000 n
-0000734064 00000 n
-0000738186 00000 n
-0000734396 00000 n
-0000734510 00000 n
-0000738428 00000 n
-0000739175 00000 n
-0000739381 00000 n
-0000740741 00000 n
-0000739504 00000 n
-0000739610 00000 n
-0000740982 00000 n
-0000741627 00000 n
-0000741832 00000 n
-0000745282 00000 n
-0000742094 00000 n
-0000742201 00000 n
-0000745524 00000 n
-0000746240 00000 n
-0000755692 00000 n
-0000746446 00000 n
-0000767116 00000 n
-0000755943 00000 n
-0000774804 00000 n
-0000767870 00000 n
-0000787581 00000 n
-0000775034 00000 n
-0000795052 00000 n
-0000787909 00000 n
-0000803185 00000 n
-0000795278 00000 n
-0000813112 00000 n
-0000803418 00000 n
-0000821024 00000 n
-0000813379 00000 n
-0000833734 00000 n
-0000821255 00000 n
-0000841752 00000 n
-0000834092 00000 n
-0000850993 00000 n
-0000842000 00000 n
-0000858945 00000 n
-0000851301 00000 n
-0000866485 00000 n
-0000859229 00000 n
-0000873999 00000 n
-0000866724 00000 n
-0000877585 00000 n
-0000877716 00000 n
-0000886166 00000 n
-0000886802 00000 n
-0000887442 00000 n
-0000888091 00000 n
-0000888897 00000 n
-0000889810 00000 n
-0000890715 00000 n
-0000890818 00000 n
-0000890955 00000 n
-0000890995 00000 n
-0000891127 00000 n
+0000618373 00000 n
+0000618577 00000 n
+0000618603 00000 n
+0000618855 00000 n
+0000620937 00000 n
+0000619008 00000 n
+0000619114 00000 n
+0000621176 00000 n
+0000621836 00000 n
+0000622038 00000 n
+0000629606 00000 n
+0000622471 00000 n
+0000622583 00000 n
+0000629846 00000 n
+0000630729 00000 n
+0000630932 00000 n
+0000638271 00000 n
+0000631372 00000 n
+0000631480 00000 n
+0000638511 00000 n
+0000639424 00000 n
+0000639628 00000 n
+0000641940 00000 n
+0000639902 00000 n
+0000640008 00000 n
+0000642180 00000 n
+0000642886 00000 n
+0000643090 00000 n
+0000651125 00000 n
+0000643547 00000 n
+0000643659 00000 n
+0000651366 00000 n
+0000652274 00000 n
+0000652479 00000 n
+0000654685 00000 n
+0000652605 00000 n
+0000652713 00000 n
+0000654927 00000 n
+0000655581 00000 n
+0000655786 00000 n
+0000657574 00000 n
+0000655897 00000 n
+0000656001 00000 n
+0000657821 00000 n
+0000658470 00000 n
+0000658680 00000 n
+0000666134 00000 n
+0000659108 00000 n
+0000659223 00000 n
+0000666374 00000 n
+0000667262 00000 n
+0000667465 00000 n
+0000672117 00000 n
+0000667808 00000 n
+0000667919 00000 n
+0000672366 00000 n
+0000673136 00000 n
+0000673347 00000 n
+0000676585 00000 n
+0000673543 00000 n
+0000673650 00000 n
+0000676827 00000 n
+0000677525 00000 n
+0000677730 00000 n
+0000684389 00000 n
+0000678116 00000 n
+0000678227 00000 n
+0000684633 00000 n
+0000685434 00000 n
+0000685639 00000 n
+0000694285 00000 n
+0000686076 00000 n
+0000686190 00000 n
+0000694526 00000 n
+0000695503 00000 n
+0000695708 00000 n
+0000699109 00000 n
+0000696068 00000 n
+0000696175 00000 n
+0000699350 00000 n
+0000700118 00000 n
+0000700323 00000 n
+0000700558 00000 n
+0000710193 00000 n
+0000701126 00000 n
+0000701255 00000 n
+0000710435 00000 n
+0000711437 00000 n
+0000711643 00000 n
+0000711750 00000 n
+0000712029 00000 n
+0000712136 00000 n
+0000712198 00000 n
+0000712393 00000 n
+0000712762 00000 n
+0000720421 00000 n
+0000713205 00000 n
+0000713313 00000 n
+0000720661 00000 n
+0000721593 00000 n
+0000721797 00000 n
+0000723401 00000 n
+0000721954 00000 n
+0000722060 00000 n
+0000723641 00000 n
+0000724300 00000 n
+0000724504 00000 n
+0000728290 00000 n
+0000724796 00000 n
+0000724902 00000 n
+0000728531 00000 n
+0000729264 00000 n
+0000729469 00000 n
+0000731028 00000 n
+0000729562 00000 n
+0000729663 00000 n
+0000731267 00000 n
+0000731893 00000 n
+0000732095 00000 n
+0000734332 00000 n
+0000732274 00000 n
+0000732380 00000 n
+0000734573 00000 n
+0000735242 00000 n
+0000735447 00000 n
+0000739452 00000 n
+0000735775 00000 n
+0000735889 00000 n
+0000739694 00000 n
+0000740437 00000 n
+0000740643 00000 n
+0000742003 00000 n
+0000740766 00000 n
+0000740872 00000 n
+0000742244 00000 n
+0000742889 00000 n
+0000743094 00000 n
+0000746544 00000 n
+0000743356 00000 n
+0000743463 00000 n
+0000746786 00000 n
+0000747502 00000 n
+0000756954 00000 n
+0000747708 00000 n
+0000768378 00000 n
+0000757205 00000 n
+0000776066 00000 n
+0000769132 00000 n
+0000788843 00000 n
+0000776296 00000 n
+0000796314 00000 n
+0000789171 00000 n
+0000804447 00000 n
+0000796540 00000 n
+0000814374 00000 n
+0000804680 00000 n
+0000822286 00000 n
+0000814641 00000 n
+0000834996 00000 n
+0000822517 00000 n
+0000843014 00000 n
+0000835354 00000 n
+0000852255 00000 n
+0000843262 00000 n
+0000860207 00000 n
+0000852563 00000 n
+0000867747 00000 n
+0000860491 00000 n
+0000875261 00000 n
+0000867986 00000 n
+0000878847 00000 n
+0000878978 00000 n
+0000887428 00000 n
+0000888064 00000 n
+0000888704 00000 n
+0000889353 00000 n
+0000890159 00000 n
+0000891072 00000 n
+0000891977 00000 n
+0000892080 00000 n
+0000892217 00000 n
+0000892257 00000 n
+0000892389 00000 n
trailer
-<< /Size 1564 /Root 1562 0 R /Info 1563 0 R /ID [ <BE65CC6E78F9273580FD530CA1CBF8CB> <BE65CC6E78F9273580FD530CA1CBF8CB> ] >>
+<< /Size 1562 /Root 1560 0 R /Info 1561 0 R /ID [ <93D3827395C8311F167E06495428C36C> <93D3827395C8311F167E06495428C36C> ] >>
startxref
-891691
+892953
%%EOF
diff --git a/macros/latex/contrib/nicematrix/nicematrix.tex b/macros/latex/contrib/nicematrix/nicematrix.tex
index 7bafda9008..5e838cabae 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix.tex
@@ -143,9 +143,11 @@ L_2 & a_{21} & a_{22} & \Cdots & a_{2n} \\
\Vdots & \Vdots & \Vdots & \Ddots & \Vdots\\
L_n & a_{n1} & a_{n2} & \Cdots & a_{nn}
\end{bNiceArray}$\hspace{2cm}
-\begin{NiceTabular}{lSSSS}[code-before = \rowcolor{red!15}{1-2} \rowcolors{3}{blue!15}{}]
+\begin{NiceTabular}{lSSSS}%
+ [code-before = \rowcolor{red!15}{1-2} \rowcolors{3}{blue!15}{}]
\toprule
-\Block{2-1}{Product} & \multicolumn{3}{c}{dimensions (cm)} & \Block{2-1}{\rotate Price} \\
+\Block{2-1}{Product} & \multicolumn{3}{c}{dimensions (cm)}
+ & \Block{2-1}{\rotate Price} \\
\cmidrule(rl){2-4}
& L & l & h \\
\midrule
@@ -170,10 +172,9 @@ If you use LaTeX via Internet with, for example, Overleaf, you
can upload the file |nicematrix.sty| in the repertory of your
project in order to take full advantage of the latest version de
\pkg{nicematrix}.\footnote{The latest version of the file
-|nicematrix.sty| may be downloaded from the \textsc{svn} server of
-TeXLive:\newline
+|nicematrix.sty| may be downloaded on the Github depot of \pkg{nicematrix}:\newline
\small
-\url{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty}}
+\url{https://github.com/fpantigny/nicematrix/releases}}
\medskip
This package can be used with |xelatex|, |lualatex|, |pdflatex| but also by
@@ -195,8 +196,9 @@ and the positions of the rules of the tabular created by \pkg{array} and to
use these nodes to develop new features. As usual with \textsc{pgf}, the
coordinates of these nodes are written in the |aux| to be used on the next
compilation and that's why \pkg{nicematrix} may need \textbf{several
-compilations}.\footnote{If you use Overleaf, Overleaf will do automatically
-a sufficient number of compilations.}
+compilations}\footnote{If you use Overleaf, Overleaf will do automatically
+a sufficient number of compilations.}. One must not use the command |\nofiles|
+(which prevents the creation of the |aux| file).
\medskip
Most features of \pkg{nicematrix} may be used without explicit use of
@@ -660,9 +662,10 @@ In the following example, we have had to enlarge by hand the columns 2 and 3
\bigskip
\begin{Code}
\begin{NiceTabular}{cw{c}{2cm}w{c}{3cm}c}
-rose & tulip & daisy & dahlia \\
-violet & \emph{\Block[draw=red,fill=[RGB]{204,204,255},rounded-corners]{2-2}
- {\LARGE Some beautiful flowers}} & & marigold \\
+rose & tulip & daisy & dahlia \\
+violet
+ & \emph{\Block[draw=red,fill=[RGB]{204,204,255},rounded-corners]{2-2}
+ {\LARGE Some beautiful flowers}} & & marigold \\
& & marigold \\
iris & & & lis \\
arum & periwinkle & forget-me-not & hyacinth
@@ -1350,7 +1353,7 @@ those keys, see |custom-line| on p.~\pageref{custom-line}.\footnote{Technical
shall be ensured that this new command is expandable in the TeX sens (by
using, for instance, |\NewExpandableDocumentCommand| of LaTeX3, |\newcommand|
of LaTeX or |\def| of TeX). Example:
- |\newcommand{\RedLine}{\Hline[color=red]}|}
+ |\NewDocumentCommand{\RedLine}{}{\Hline[color=red]}|}
\bigskip
@@ -2538,9 +2541,12 @@ current environment.\footnote{Up to now, this key is \emph{not} available in |\N
There are several commands available (the first three ones are inspired by
\pkg{colortbl} but are \emph{independent} of \pkg{colortbl}):
\begin{itemize}
-\item \DefinitionCommand{cellcolor} which colorizes a cell;\footnote{However,
- this command cellcolor will delete the following spaces, which does not the
- command cellcolor of \pkg{colortbl}.}
+\item \DefinitionCommand{cellcolor} which colorizes a cell;\footnote{That
+ command cellcolor will delete the following spaces, which does not the
+ command cellcolor of \pkg{colortbl}. Moreover, if one wishes to define a
+ command above that command |rowcolor|, it must be protected in the TeX sens
+ (whereas, if it were the command |\rowcolor| of \pkg{colortbl}, one should
+ write a \emph{fully expandable} command).}
\item \DefinitionCommand{rowcolor} which must be used in a cell and which
colorizes the end of the row;\footnote{If you want a commande to color the
following $n$~rows, consider the command |\RowStyle| and its key |rowcolor|,
@@ -3363,8 +3369,8 @@ The option |nullify-dots| smashes the instructions |\Ldots| (and the variants)
horizontally but also vertically.
\medskip
-Caution : the key |nullify-dots| has a name that may be confusing; that key does
-not imply that the dotted rules won't be drawn!
+\textbf{Caution}: the key |nullify-dots| has a name that may be confusing; that
+key does not imply that the dotted rules won't be drawn!
@@ -4330,7 +4336,7 @@ $\begin{pNiceMatrix}
CodeAfter}
-\index{SubMatrix@\texttt{\textbackslash TikzEveryCell} (command of
+\index{tikzeverycell@\texttt{\textbackslash TikzEveryCell} (command of
\texttt{\textbackslash CodeAfter}\newline and
\texttt{\textbackslash CodeBefore})|textbf}
\label{TikzEveryCell}
@@ -4381,7 +4387,7 @@ which are the other keys in the argument of |\TikzEveryCell|.
\endgroup
\bigskip
-The command |\TikzEveryCell| has two keys:
+The command |\TikzEveryCell| has two optional keys, available between square brackets.
\begin{itemize}
\item with the key \Definition{empty}, the command only acts on the empty cells;
@@ -4389,6 +4395,35 @@ The command |\TikzEveryCell| has two keys:
\end{itemize}
\medskip
+\begin{Code}[width=9cm]
+\renewcommand{\arraystretch}{1.4}
+\begin{NiceTabular}{cccccc}[hvlines]
+ P & O & U & R & V & U \\
+ O & & & E & I & \\
+ M & O & R & F & A & L \\
+ E & T & A & L & & E \\
+ L & A & S & E & R & S \\
+ O & & E & X & I & T
+\CodeAfter
+ \emph{\TikzEveryCell[empty]{fill=gray,draw}}
+\end{NiceTabular}
+\end{Code}
+\begin{scope}
+\renewcommand{\arraystretch}{1.4}
+\begin{NiceTabular}{cccccc}[hvlines]
+ P & O & U & R & V & U \\
+ O & & & E & I & \\
+ M & O & R & F & A & L \\
+ E & T & A & L & & E \\
+ L & A & S & E & R & S \\
+ O & & E & X & I & T
+\CodeAfter
+ \TikzEveryCell[empty]{fill=gray,draw}
+\end{NiceTabular}
+\end{scope}
+
+
+\medskip
The commmand |\TikzEveryCell| is, in fact, also available in the |\CodeBefore|.
diff --git a/macros/latex/contrib/oberdiek/README.md b/macros/latex/contrib/oberdiek/README.md
index 4a2250cf37..b455eff334 100644
--- a/macros/latex/contrib/oberdiek/README.md
+++ b/macros/latex/contrib/oberdiek/README.md
@@ -1,6 +1,6 @@
# Oberdiek bundle
-Version: 2023-12-04
+Version: 2024-07-26
This file describes the directory
CTAN:macros/latex/contrib/oberdiek/
@@ -11,7 +11,7 @@ It contains several packages:
## Copyright (C)
* 2007, 2009-2011 Heiko Oberdiek
-* 2016-2023 Oberdiek Package Support Group
+* 2016-2024 Oberdiek Package Support Group
## License
LATEX Project Public License, version 1.3c or later.
@@ -48,7 +48,6 @@ Other files in the CTAN directory:
* flags: setting and clearing flags in bit fields and converting the bit field into a decimal number;
* holtxdoc: extra documentation macros;
* hypbmsec: bookmarks in sectioning commands;
-* hypcap: anjusting anchors of captions;
* hypgotoe: experimental package for links to embedded files;
* hyphsubst: substitute hyphenation patterns;
* ifdraft: switch for option draft;
@@ -66,6 +65,5 @@ Other files in the CTAN directory:
* stampinclude: selects the files for \include by inspecting the timestamp of the .aux file(s);
* tabularht: tabulars with height specification;
* tabularkv: key value interface for tabular parameters;
-* telprint: print German telephone numbers;
* thepdfnumber: canonical numbers for use in PDF files and elsewhere;
* twoopt: commands with two optional arguments;
diff --git a/macros/latex/contrib/oberdiek/aliascnt.dtx b/macros/latex/contrib/oberdiek/aliascnt.dtx
index 47bfec1ee2..7010eb64e1 100644
--- a/macros/latex/contrib/oberdiek/aliascnt.dtx
+++ b/macros/latex/contrib/oberdiek/aliascnt.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex aliascnt.dtx
% makeindex -s gind.ist aliascnt.idx
% pdflatex aliascnt.dtx
@@ -308,7 +308,7 @@ and the derived files
% Therefore we must ensure that manipulations to the clear list
% are done with the clear list macro of a real counter.
% \begin{macro}{\AC@findrootcnt}
-% \cs{AC@findrootcnt} walks throught the aliasing relations
+% \cs{AC@findrootcnt} walks through the aliasing relations
% to find the base counter.
% \begin{macrocode}
\newcommand*{\AC@findrootcnt}[1]{%
diff --git a/macros/latex/contrib/oberdiek/aliascnt.pdf b/macros/latex/contrib/oberdiek/aliascnt.pdf
index 5978332f27..cac6636ab9 100644
--- a/macros/latex/contrib/oberdiek/aliascnt.pdf
+++ b/macros/latex/contrib/oberdiek/aliascnt.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/bmpsize.dtx b/macros/latex/contrib/oberdiek/bmpsize.dtx
index 0eec647c99..bdcf6004d0 100644
--- a/macros/latex/contrib/oberdiek/bmpsize.dtx
+++ b/macros/latex/contrib/oberdiek/bmpsize.dtx
@@ -54,7 +54,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex bmpsize.dtx
% makeindex -s gind.ist bmpsize.idx
% pdflatex bmpsize.dtx
@@ -339,7 +339,7 @@ and the derived files
%
% A parser sets the switch \cs{ifbmpsize@ok} to true, if it
% could successfully parse the image file.
-% The width and height are returnd in \cs{bmpsize@width} and
+% The width and height are returned in \cs{bmpsize@width} and
% \cs{bmpsize@height}. If information about density is available,
% it is used to calculate width and height of the image, otherwise
% the values given by option \xoption{defaultresolution} is used.
diff --git a/macros/latex/contrib/oberdiek/bmpsize.pdf b/macros/latex/contrib/oberdiek/bmpsize.pdf
index ecd47adb93..b376afc96a 100644
--- a/macros/latex/contrib/oberdiek/bmpsize.pdf
+++ b/macros/latex/contrib/oberdiek/bmpsize.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/centernot.dtx b/macros/latex/contrib/oberdiek/centernot.dtx
index dd990a3319..aa2cff5f0d 100644
--- a/macros/latex/contrib/oberdiek/centernot.dtx
+++ b/macros/latex/contrib/oberdiek/centernot.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex centernot.dtx
% makeindex -s gind.ist centernot.idx
% pdflatex centernot.dtx
diff --git a/macros/latex/contrib/oberdiek/centernot.pdf b/macros/latex/contrib/oberdiek/centernot.pdf
index 344a245433..a0984732ea 100644
--- a/macros/latex/contrib/oberdiek/centernot.pdf
+++ b/macros/latex/contrib/oberdiek/centernot.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/chemarr.dtx b/macros/latex/contrib/oberdiek/chemarr.dtx
index 78e1a3cbeb..24989ed9db 100644
--- a/macros/latex/contrib/oberdiek/chemarr.dtx
+++ b/macros/latex/contrib/oberdiek/chemarr.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex chemarr.dtx
% makeindex -s gind.ist chemarr.idx
% pdflatex chemarr.dtx
diff --git a/macros/latex/contrib/oberdiek/chemarr.pdf b/macros/latex/contrib/oberdiek/chemarr.pdf
index c745f15582..7a39e48a3e 100644
--- a/macros/latex/contrib/oberdiek/chemarr.pdf
+++ b/macros/latex/contrib/oberdiek/chemarr.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/classlist.dtx b/macros/latex/contrib/oberdiek/classlist.dtx
index 8b45464521..370fc269d0 100644
--- a/macros/latex/contrib/oberdiek/classlist.dtx
+++ b/macros/latex/contrib/oberdiek/classlist.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex classlist.dtx
% makeindex -s gind.ist classlist.idx
% pdflatex classlist.dtx
@@ -233,7 +233,7 @@ and the derived files
% configured by
% \item[\cs{PrintClassListTitle}] for the title and
% \item[\cs{PrintClassListEntry}] for formatting the entries.
-% See the implemenation how to use these.
+% See the implementation for how to use these.
% \end{description}
%
% \StopEventually{
diff --git a/macros/latex/contrib/oberdiek/classlist.pdf b/macros/latex/contrib/oberdiek/classlist.pdf
index 40ef460d94..365627fee6 100644
--- a/macros/latex/contrib/oberdiek/classlist.pdf
+++ b/macros/latex/contrib/oberdiek/classlist.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/colonequals.dtx b/macros/latex/contrib/oberdiek/colonequals.dtx
index aeae542c39..007a42cbe5 100644
--- a/macros/latex/contrib/oberdiek/colonequals.dtx
+++ b/macros/latex/contrib/oberdiek/colonequals.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex colonequals.dtx
% makeindex -s gind.ist colonequals.idx
% pdflatex colonequals.dtx
diff --git a/macros/latex/contrib/oberdiek/colonequals.pdf b/macros/latex/contrib/oberdiek/colonequals.pdf
index 1b4e949c6b..3446b59539 100644
--- a/macros/latex/contrib/oberdiek/colonequals.pdf
+++ b/macros/latex/contrib/oberdiek/colonequals.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/dvipscol.dtx b/macros/latex/contrib/oberdiek/dvipscol.dtx
index 0141ae2a94..335196bf91 100644
--- a/macros/latex/contrib/oberdiek/dvipscol.dtx
+++ b/macros/latex/contrib/oberdiek/dvipscol.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex dvipscol.dtx
% makeindex -s gind.ist dvipscol.idx
% pdflatex dvipscol.dtx
diff --git a/macros/latex/contrib/oberdiek/dvipscol.pdf b/macros/latex/contrib/oberdiek/dvipscol.pdf
index 21243da3b1..3ff66c8e89 100644
--- a/macros/latex/contrib/oberdiek/dvipscol.pdf
+++ b/macros/latex/contrib/oberdiek/dvipscol.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/engord.dtx b/macros/latex/contrib/oberdiek/engord.dtx
index 6c75953200..a0ba888a1a 100644
--- a/macros/latex/contrib/oberdiek/engord.dtx
+++ b/macros/latex/contrib/oberdiek/engord.dtx
@@ -55,7 +55,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex engord.dtx
% makeindex -s gind.ist engord.idx
% pdflatex engord.dtx
diff --git a/macros/latex/contrib/oberdiek/engord.pdf b/macros/latex/contrib/oberdiek/engord.pdf
index 0bd217efba..49c876e5b6 100644
--- a/macros/latex/contrib/oberdiek/engord.pdf
+++ b/macros/latex/contrib/oberdiek/engord.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/enparen.dtx b/macros/latex/contrib/oberdiek/enparen.dtx
index 773ebc861c..af503d79dc 100644
--- a/macros/latex/contrib/oberdiek/enparen.dtx
+++ b/macros/latex/contrib/oberdiek/enparen.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex enparen.dtx
% makeindex -s gind.ist enparen.idx
% pdflatex enparen.dtx
@@ -335,12 +335,12 @@ and the derived files
% \subsection{Notes}
%
% \begin{description}
-% \item[Implicite kerning:]
-% Unexpandable stuff might affect the implicite kerning.
+% \item[Implicit kerning:]
+% Unexpandable stuff might affect the implicit kerning.
% The package cannot avoid this, because it need to define
-% and redefine macros at the occurence of each symbol.
+% and redefine macros at the occurrence of each symbol.
% This is done before the opening and after the closing
-% symbol, thus that the implicite kerning inside
+% symbol, thus that the implicit kerning inside
% is not affected.
% \end{description}
%
diff --git a/macros/latex/contrib/oberdiek/enparen.pdf b/macros/latex/contrib/oberdiek/enparen.pdf
index d4de5125ba..284b88c5c1 100644
--- a/macros/latex/contrib/oberdiek/enparen.pdf
+++ b/macros/latex/contrib/oberdiek/enparen.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/eolgrab.dtx b/macros/latex/contrib/oberdiek/eolgrab.dtx
index d27e99d34e..87f0aceaa4 100644
--- a/macros/latex/contrib/oberdiek/eolgrab.dtx
+++ b/macros/latex/contrib/oberdiek/eolgrab.dtx
@@ -58,7 +58,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex eolgrab.dtx
% makeindex -s gind.ist eolgrab.idx
% pdflatex eolgrab.dtx
diff --git a/macros/latex/contrib/oberdiek/eolgrab.pdf b/macros/latex/contrib/oberdiek/eolgrab.pdf
index 23c097b571..24a22d462c 100644
--- a/macros/latex/contrib/oberdiek/eolgrab.pdf
+++ b/macros/latex/contrib/oberdiek/eolgrab.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/fibnum.dtx b/macros/latex/contrib/oberdiek/fibnum.dtx
index 9c3f8f7986..de66a37710 100644
--- a/macros/latex/contrib/oberdiek/fibnum.dtx
+++ b/macros/latex/contrib/oberdiek/fibnum.dtx
@@ -56,7 +56,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex fibnum.dtx
% bibtex fibnum.aux
% makeindex -s gind.ist fibnum.idx
diff --git a/macros/latex/contrib/oberdiek/fibnum.pdf b/macros/latex/contrib/oberdiek/fibnum.pdf
index 2d2510854e..7a143ac3b6 100644
--- a/macros/latex/contrib/oberdiek/fibnum.pdf
+++ b/macros/latex/contrib/oberdiek/fibnum.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/flags.dtx b/macros/latex/contrib/oberdiek/flags.dtx
index 6a2d05c7b4..8834113617 100644
--- a/macros/latex/contrib/oberdiek/flags.dtx
+++ b/macros/latex/contrib/oberdiek/flags.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex flags.dtx
% makeindex -s gind.ist flags.idx
% pdflatex flags.dtx
diff --git a/macros/latex/contrib/oberdiek/flags.pdf b/macros/latex/contrib/oberdiek/flags.pdf
index f0c8b76d54..17c5868612 100644
--- a/macros/latex/contrib/oberdiek/flags.pdf
+++ b/macros/latex/contrib/oberdiek/flags.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/holtxdoc.dtx b/macros/latex/contrib/oberdiek/holtxdoc.dtx
index 9ac40aa5ae..b9ba295cfa 100644
--- a/macros/latex/contrib/oberdiek/holtxdoc.dtx
+++ b/macros/latex/contrib/oberdiek/holtxdoc.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex holtxdoc.dtx
% makeindex -s gind.ist holtxdoc.idx
% pdflatex holtxdoc.dtx
diff --git a/macros/latex/contrib/oberdiek/holtxdoc.pdf b/macros/latex/contrib/oberdiek/holtxdoc.pdf
index 67d630bd54..f2825ebf65 100644
--- a/macros/latex/contrib/oberdiek/holtxdoc.pdf
+++ b/macros/latex/contrib/oberdiek/holtxdoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypbmsec.dtx b/macros/latex/contrib/oberdiek/hypbmsec.dtx
index dd26b08d2b..2b5781775c 100644
--- a/macros/latex/contrib/oberdiek/hypbmsec.dtx
+++ b/macros/latex/contrib/oberdiek/hypbmsec.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex hypbmsec.dtx
% makeindex -s gind.ist hypbmsec.idx
% pdflatex hypbmsec.dtx
@@ -260,7 +260,7 @@ and the derived files
% \begin{itemize}
% \item An additional second optional argument in square brackets.
% \item An additional optional argument in parentheses (in
-% assoziation with a pdf string that is internally surrounded
+% association with a pdf string that is internally surrounded
% by parentheses, too).
% \end{itemize}
% Because \Package{\filename} stores the original meaning of the
@@ -375,7 +375,7 @@ and the derived files
[2016/05/16 v2.5 Bookmarks in sectioning commands (HO)]
% \end{macrocode}
%
-% Because of redifining the sectioning commands, it is dangerous
+% Because of redefining the sectioning commands, it is dangerous
% to reload the package several times.
% \begin{macrocode}
\@ifundefined{hbs@do}{}{%
@@ -554,7 +554,7 @@ and the derived files
% \end{macrocode}
%
% Other packages are allowed to redefine the sectioning commands,
-% if they does not change the syntax. Therefore the redefinitons
+% if they does not change the syntax. Therefore the redefinitions
% of this package should be done after the other packages.
% \begin{macrocode}
\let\hbs@part \part
diff --git a/macros/latex/contrib/oberdiek/hypbmsec.pdf b/macros/latex/contrib/oberdiek/hypbmsec.pdf
index 45e3ce42c2..9e75d5e8fe 100644
--- a/macros/latex/contrib/oberdiek/hypbmsec.pdf
+++ b/macros/latex/contrib/oberdiek/hypbmsec.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypgotoe.dtx b/macros/latex/contrib/oberdiek/hypgotoe.dtx
index 3f6af63a3e..7a4c55e451 100644
--- a/macros/latex/contrib/oberdiek/hypgotoe.dtx
+++ b/macros/latex/contrib/oberdiek/hypgotoe.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex hypgotoe.dtx
% makeindex -s gind.ist hypgotoe.idx
% pdflatex hypgotoe.dtx
@@ -195,7 +195,7 @@ and the derived files
% \item
% Currently only embedded files and named destinations are supported.
% \item
-% Missing are support for destination arrays and attachted files.
+% Missing are support for destination arrays and attached files.
% \item
% Special characters aren't supported either.
% \end{itemize}
diff --git a/macros/latex/contrib/oberdiek/hypgotoe.pdf b/macros/latex/contrib/oberdiek/hypgotoe.pdf
index 98d7d1dd4b..a6203e57a1 100644
--- a/macros/latex/contrib/oberdiek/hypgotoe.pdf
+++ b/macros/latex/contrib/oberdiek/hypgotoe.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hyphsubst.dtx b/macros/latex/contrib/oberdiek/hyphsubst.dtx
index e0fd44bf12..996257b0d4 100644
--- a/macros/latex/contrib/oberdiek/hyphsubst.dtx
+++ b/macros/latex/contrib/oberdiek/hyphsubst.dtx
@@ -56,7 +56,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex hyphsubst.dtx
% makeindex -s gind.ist hyphsubst.idx
% pdflatex hyphsubst.dtx
diff --git a/macros/latex/contrib/oberdiek/hyphsubst.pdf b/macros/latex/contrib/oberdiek/hyphsubst.pdf
index 4c390bfdd9..0d559684d1 100644
--- a/macros/latex/contrib/oberdiek/hyphsubst.pdf
+++ b/macros/latex/contrib/oberdiek/hyphsubst.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/ifdraft.dtx b/macros/latex/contrib/oberdiek/ifdraft.dtx
index 0b4918a6d0..7b69505449 100644
--- a/macros/latex/contrib/oberdiek/ifdraft.dtx
+++ b/macros/latex/contrib/oberdiek/ifdraft.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex ifdraft.dtx
% makeindex -s gind.ist ifdraft.idx
% pdflatex ifdraft.dtx
diff --git a/macros/latex/contrib/oberdiek/ifdraft.pdf b/macros/latex/contrib/oberdiek/ifdraft.pdf
index 35e257d875..7e6a251092 100644
--- a/macros/latex/contrib/oberdiek/ifdraft.pdf
+++ b/macros/latex/contrib/oberdiek/ifdraft.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/iflang.dtx b/macros/latex/contrib/oberdiek/iflang.dtx
index fa784b7d45..9eebbd0a8c 100644
--- a/macros/latex/contrib/oberdiek/iflang.dtx
+++ b/macros/latex/contrib/oberdiek/iflang.dtx
@@ -57,7 +57,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex iflang.dtx
% makeindex -s gind.ist iflang.idx
% pdflatex iflang.dtx
@@ -200,7 +200,7 @@ and the derived files
% Package \xpackage{babel} defines \cs{iflanguagename}. As first
% argument it takes a language name and executes the second or
% third argument depending on the current language. This
-% language test is based on hypenation patterns. However, it
+% language test is based on hyphenation patterns. However, it
% is possible that different languages or dialects share the
% same patterns. In such cases \cs{iflanguagename} fails.
%
@@ -211,7 +211,7 @@ and the derived files
%
% \begin{declcs}{IfLanguageName} \M{lang} \M{then} \M{else}
% \end{declcs}
-% Makro \cs{IfLanguageName} compares language \meta{lang} with
+% Macro \cs{IfLanguageName} compares language \meta{lang} with
% the current setting of macro \cs{languagename}. If both
% contains the same name then the \meta{then} part is called,
% otherwise the \meta{else} part.
@@ -562,7 +562,7 @@ and the derived files
% at the conference Bacho\TeX~2005:
% \url{http://www.gust.org.pl/projects/pearls/2005p/david-kastrup/bachotex2005-david-kastrup-pearl1.pdf}
%
-% The orignal code allows macros inside the second string.
+% The original code allows macros inside the second string.
% Because also \cs{languagename} might consists of further
% macros, we need a variant that allows macros in the first
% string, too.
diff --git a/macros/latex/contrib/oberdiek/iflang.pdf b/macros/latex/contrib/oberdiek/iflang.pdf
index 98cb0644a3..c1941fa6ee 100644
--- a/macros/latex/contrib/oberdiek/iflang.pdf
+++ b/macros/latex/contrib/oberdiek/iflang.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/oberdiek-bundle.bib b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib
index 44fce8aeca..364db304ef 100644
--- a/macros/latex/contrib/oberdiek/oberdiek-bundle.bib
+++ b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib
@@ -96,13 +96,6 @@
version={2.5},
url={https://ctan.org/pkg/hypbmsec},
}
-@manual{oberdiek:hypcap,
- title={The hypcap package},
- author={Heiko Oberdiek},
- date={2016-05-16},
- version={1.12},
- url={https://ctan.org/pkg/hypcap},
-}
@manual{oberdiek:hypgotoe,
title={The hypgotoe package},
author={Heiko Oberdiek},
@@ -243,13 +236,6 @@
version={1.2},
url={https://ctan.org/pkg/tabularkv},
}
-@manual{oberdiek:telprint,
- title={The telprint package},
- author={Heiko Oberdiek},
- date={2016-05-16},
- version={1.11},
- url={https://ctan.org/pkg/telprint},
-}
@manual{oberdiek:thepdfnumber,
title={The thepdfnumber package},
author={Heiko Oberdiek},
diff --git a/macros/latex/contrib/oberdiek/oberdiek.ins b/macros/latex/contrib/oberdiek/oberdiek.ins
index dc59a6e024..099d1f538d 100644
--- a/macros/latex/contrib/oberdiek/oberdiek.ins
+++ b/macros/latex/contrib/oberdiek/oberdiek.ins
@@ -3,7 +3,7 @@
%
% Copyright (C)
% 1999, 2001, 2006 Heiko Oberdiek
-% 2016-2020 Oberdiek Package Support Group
+% 2016-2024 Oberdiek Package Support Group
% https://github.com/ho-tex/oberdiek/issues
%
% This work may be distributed and/or modified under the
@@ -40,7 +40,6 @@
\batchinput{flags.dtx}
\batchinput{holtxdoc.dtx}
\batchinput{hypbmsec.dtx}
-\batchinput{hypcap.dtx}
\batchinput{hypgotoe.dtx}
\batchinput{hyphsubst.dtx}
\batchinput{ifdraft.dtx}
@@ -58,7 +57,6 @@
\batchinput{stampinclude.dtx}
\batchinput{tabularht.dtx}
\batchinput{tabularkv.dtx}
-\batchinput{telprint.dtx}
\batchinput{thepdfnumber.dtx}
\batchinput{twoopt.dtx}
diff --git a/macros/latex/contrib/oberdiek/oberdiek.pdf b/macros/latex/contrib/oberdiek/oberdiek.pdf
index 16e08d826a..31c3efdda7 100644
--- a/macros/latex/contrib/oberdiek/oberdiek.pdf
+++ b/macros/latex/contrib/oberdiek/oberdiek.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/oberdiek.tex b/macros/latex/contrib/oberdiek/oberdiek.tex
index 3849551d71..0759250c24 100644
--- a/macros/latex/contrib/oberdiek/oberdiek.tex
+++ b/macros/latex/contrib/oberdiek/oberdiek.tex
@@ -11,11 +11,11 @@
\newcommand*{\Author}{Heiko Oberdiek}
\newcommand*{\Email}{ho-tex at tug.org}
-\newcommand*{\Date}{2023/01/10}
+\newcommand*{\Date}{2024/07/26}
% Copyright (C) 2006-2016 by
% Heiko Oberdiek
-% Copyright (C) 2016-2023 by
+% Copyright (C) 2016-2024 by
% Oberdiek Package Support Group
%
% This work may be distributed and/or modified under the
@@ -203,8 +203,6 @@
[\entrysep]
\entry{hypbmsec}{Bookmarks in sectioning commands}%
[\entrysep]
-\entry{hypcap}{Adjusting the anchors of captions}%
-[\entrysep]
\entry{hypgotoe}{Links to embedded files}%
[\entrysep]
\entry{hyphsubst}{Substitute hyphenation patterns}%
@@ -239,8 +237,6 @@
[\entrysep]
\entry{tabularkv}{Tabular with key value interface}%
[\entrysep]
-\entry{telprint}{Format German phone numbers}%
-[\entrysep]
\entry{thepdfnumber}{Print PDF numbers with minimal digits}%
[\entrysep]
\entry{twoopt}{Definitions with two optional arguments}%
@@ -391,20 +387,6 @@ a replacement for the bookmarks can be given.
\tocinclude{hypbmsec}
\newpage
-\subsection{\pkgsectformat{hypcap}}
-\label{hypcap}
-\begin{abstract}
-This package tries a solution of the problem with
-hyperref, that links to floats points below the
-caption and not at the beginning of the float.
-Therefore this package divides the task into two
-part, the link setting with \cs{capstart} or
-automatically at the beginning of a float and
-the rest in the \cs{caption} command.
-\end{abstract}
-\tocinclude{hypcap}
-
-\newpage
\subsection{\pkgsectformat{hypgotoe}}
\label{hypgotoe}
\begin{abstract}
@@ -520,7 +502,7 @@ is supported. Index preambles can be given either by means of package
\label{setouterhbox}
\begin{abstract}
If math stuff is set in an \cs{hbox}, then TeX
-performs some optimization and omits the implicite
+performs some optimization and omits the implicit
penalties \cs{binoppenalty} and \cs{relpenalty}.
This packages tries to put stuff into an \cs{hbox}
without getting lost of those penalties.
@@ -578,15 +560,6 @@ especially if package \xpackage{tabularht} is used.
\tocinclude{tabularkv}
\newpage
-\subsection{\pkgsectformat{telprint}}
-\label{telprint}
-\begin{abstract}
-Package \xpackage{telprint} provides \cs{telprint} for formatting
-German phone numbers.
-\end{abstract}
-\tocinclude{telprint}
-
-\newpage
\subsection{\pkgsectformat{thepdfnumber}}
\label{thepdfnumber}
\begin{abstract}
diff --git a/macros/latex/contrib/oberdiek/pdfcolparallel.dtx b/macros/latex/contrib/oberdiek/pdfcolparallel.dtx
index 17893f98a9..02df672d4e 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparallel.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcolparallel.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex pdfcolparallel.dtx
% makeindex -s gind.ist pdfcolparallel.idx
% pdflatex pdfcolparallel.dtx
diff --git a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf
index 90a3b348a0..d97c8441f4 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx b/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx
index 77d8aab071..a382037b42 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex pdfcolparcolumns.dtx
% makeindex -s gind.ist pdfcolparcolumns.idx
% pdflatex pdfcolparcolumns.dtx
diff --git a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf
index a49189ba4a..8afe31978a 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcrypt.dtx b/macros/latex/contrib/oberdiek/pdfcrypt.dtx
index e4681efa8c..3c5070829c 100644
--- a/macros/latex/contrib/oberdiek/pdfcrypt.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcrypt.dtx
@@ -55,7 +55,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex pdfcrypt.dtx
% makeindex -s gind.ist pdfcrypt.idx
% pdflatex pdfcrypt.dtx
diff --git a/macros/latex/contrib/oberdiek/pdfcrypt.pdf b/macros/latex/contrib/oberdiek/pdfcrypt.pdf
index 1de22245d4..eabda461d7 100644
--- a/macros/latex/contrib/oberdiek/pdfcrypt.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcrypt.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/protecteddef.dtx b/macros/latex/contrib/oberdiek/protecteddef.dtx
index cff42cccf7..21aab0c9fc 100644
--- a/macros/latex/contrib/oberdiek/protecteddef.dtx
+++ b/macros/latex/contrib/oberdiek/protecteddef.dtx
@@ -56,7 +56,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex protecteddef.dtx
% makeindex -s gind.ist protecteddef.idx
% pdflatex protecteddef.dtx
@@ -246,7 +246,7 @@ and the derived files
% is not supported. Macro \meta{cmd} is to be defined as
% \cs{long} macro without star with \meta{num} arguments.
%
-% The number of arguments \meta{num} must be given as explicite digit
+% The number of arguments \meta{num} must be given as explicit digit
% |0| upto |9|. Otherwise the part between the argument \meta{cmd} and
% the \meta{definition text} is taken as parameter text in the syntax
% of vanilla \hologo{TeX}. Examples (with \cs{protected}):
diff --git a/macros/latex/contrib/oberdiek/protecteddef.pdf b/macros/latex/contrib/oberdiek/protecteddef.pdf
index cabaa32c49..c5d984bf5e 100644
--- a/macros/latex/contrib/oberdiek/protecteddef.pdf
+++ b/macros/latex/contrib/oberdiek/protecteddef.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/resizegather.dtx b/macros/latex/contrib/oberdiek/resizegather.dtx
index 4a07864917..8ec4cc8a13 100644
--- a/macros/latex/contrib/oberdiek/resizegather.dtx
+++ b/macros/latex/contrib/oberdiek/resizegather.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex resizegather.dtx
% makeindex -s gind.ist resizegather.idx
% pdflatex resizegather.dtx
diff --git a/macros/latex/contrib/oberdiek/resizegather.pdf b/macros/latex/contrib/oberdiek/resizegather.pdf
index 11d07da19c..5bf853391c 100644
--- a/macros/latex/contrib/oberdiek/resizegather.pdf
+++ b/macros/latex/contrib/oberdiek/resizegather.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/rotchiffre.dtx b/macros/latex/contrib/oberdiek/rotchiffre.dtx
index 3023347fe1..aa80754011 100644
--- a/macros/latex/contrib/oberdiek/rotchiffre.dtx
+++ b/macros/latex/contrib/oberdiek/rotchiffre.dtx
@@ -56,7 +56,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex rotchiffre.dtx
% makeindex -s gind.ist rotchiffre.idx
% pdflatex rotchiffre.dtx
@@ -214,7 +214,7 @@ and the derived files
% \begin{declcs}{EdefRot} \M{type} \M{cmd} \M{text}
% \end{declcs}
% The \meta{text} is expanded and sanitized. All tokens
-% are letters with catcode 12 (other) with the exeption of
+% are letters with catcode 12 (other) with the exception of
% the space token that has character code 32 (0x20) and
% catcode 10 (space). This follows \hologo{TeX}'s convention of
% \cs{string} and \cs{meaning}.
diff --git a/macros/latex/contrib/oberdiek/rotchiffre.pdf b/macros/latex/contrib/oberdiek/rotchiffre.pdf
index 7deae8d756..5504f90b56 100644
--- a/macros/latex/contrib/oberdiek/rotchiffre.pdf
+++ b/macros/latex/contrib/oberdiek/rotchiffre.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/scrindex.dtx b/macros/latex/contrib/oberdiek/scrindex.dtx
index fea57fd1a9..63deeaab2f 100644
--- a/macros/latex/contrib/oberdiek/scrindex.dtx
+++ b/macros/latex/contrib/oberdiek/scrindex.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex scrindex.dtx
% makeindex -s gind.ist scrindex.idx
% pdflatex scrindex.dtx
@@ -195,7 +195,7 @@ and the derived files
% the standard classes |article|, |report|, and |book|. It
% redefines environment `theindex' for its needs.
% However, it does not know other classes such as KOMA-Script.
-% This package closes the compatibiliy gap between KOMA-Script's
+% This package closes the compatibility gap between KOMA-Script's
% classes and package \xpackage{index}.
%
% Environment |theindex| is redefined to support both package
diff --git a/macros/latex/contrib/oberdiek/scrindex.pdf b/macros/latex/contrib/oberdiek/scrindex.pdf
index 0ca63d3e6d..a2e2cba825 100644
--- a/macros/latex/contrib/oberdiek/scrindex.pdf
+++ b/macros/latex/contrib/oberdiek/scrindex.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/setouterhbox.dtx b/macros/latex/contrib/oberdiek/setouterhbox.dtx
index 001cd278d3..cc937c16a4 100644
--- a/macros/latex/contrib/oberdiek/setouterhbox.dtx
+++ b/macros/latex/contrib/oberdiek/setouterhbox.dtx
@@ -57,7 +57,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex setouterhbox.dtx
% makeindex -s gind.ist setouterhbox.idx
% pdflatex setouterhbox.dtx
@@ -190,7 +190,7 @@ and the derived files
%
% \begin{abstract}
% If math stuff is set in an \cs{hbox}, then TeX
-% performs some optimization and omits the implicite
+% performs some optimization and omits the implicit
% penalties \cs{binoppenalty} and \cs{relpenalty}.
% This packages tries to put stuff into an \cs{hbox}
% without getting lost of those penalties.
@@ -234,7 +234,7 @@ and the derived files
% method we discuss here. Nowadays we have \eTeX\ that extends
% the tool set of a \TeX\ macro programmer. Especially useful
% \eTeX\ was in this package for detecting and dealing with
-% errorneous situations.
+% erroneous situations.
%
% However also nowadays a perfect solution for the problem
% is still missing at macro level. Probably someone has
diff --git a/macros/latex/contrib/oberdiek/setouterhbox.pdf b/macros/latex/contrib/oberdiek/setouterhbox.pdf
index dbdb939c6e..03757dc214 100644
--- a/macros/latex/contrib/oberdiek/setouterhbox.pdf
+++ b/macros/latex/contrib/oberdiek/setouterhbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/settobox.dtx b/macros/latex/contrib/oberdiek/settobox.dtx
index c38d502a53..c1d7af6ae9 100644
--- a/macros/latex/contrib/oberdiek/settobox.dtx
+++ b/macros/latex/contrib/oberdiek/settobox.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex settobox.dtx
% makeindex -s gind.ist settobox.idx
% pdflatex settobox.dtx
@@ -282,7 +282,7 @@ and the derived files
% c) Print #1 commands.
% d) Print box with frame
%
-% The implemenation looks more weird:
+% The implementation looks more weird:
\makeatletter
\newcommand*{\test}[1]{%
\par
diff --git a/macros/latex/contrib/oberdiek/settobox.pdf b/macros/latex/contrib/oberdiek/settobox.pdf
index a2f1c8d179..ef92916de2 100644
--- a/macros/latex/contrib/oberdiek/settobox.pdf
+++ b/macros/latex/contrib/oberdiek/settobox.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/stackrel.dtx b/macros/latex/contrib/oberdiek/stackrel.dtx
index 6b3444c33c..09110de947 100644
--- a/macros/latex/contrib/oberdiek/stackrel.dtx
+++ b/macros/latex/contrib/oberdiek/stackrel.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex stackrel.dtx
% makeindex -s gind.ist stackrel.idx
% pdflatex stackrel.dtx
diff --git a/macros/latex/contrib/oberdiek/stackrel.pdf b/macros/latex/contrib/oberdiek/stackrel.pdf
index df11fd28dd..4edbb64c31 100644
--- a/macros/latex/contrib/oberdiek/stackrel.pdf
+++ b/macros/latex/contrib/oberdiek/stackrel.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/stampinclude.dtx b/macros/latex/contrib/oberdiek/stampinclude.dtx
index 9acd8a61f8..ba468e8591 100644
--- a/macros/latex/contrib/oberdiek/stampinclude.dtx
+++ b/macros/latex/contrib/oberdiek/stampinclude.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex stampinclude.dtx
% makeindex -s gind.ist stampinclude.idx
% pdflatex stampinclude.dtx
@@ -225,7 +225,7 @@ and the derived files
% This package \xpackage{stampinclude} goes another way.
% \LaTeX\ reads and writes a separate \xext{aux} file for each
% file that is included by \cs{include}. There \LaTeX\ remembers
-% counter valuses. Changed \xext{tex}
+% counter values. Changed \xext{tex}
% files can therefore be detected by comparing the file date stamp of
% the \xext{tex} file with the date stamp of its \xext{aux} file.
% Since version 1.30.0 \pdfTeX\ provides \cs{pdffilemoddate}
@@ -254,7 +254,7 @@ and the derived files
%
% \subsubsection{Other file dependencies}
%
-% A file that is included by \cs{include} may input ore reference
+% A file that is included by \cs{include} may input or reference
% other files:
% \begin{itemize}
% \item other \TeX\ files using \cs{input},
diff --git a/macros/latex/contrib/oberdiek/stampinclude.pdf b/macros/latex/contrib/oberdiek/stampinclude.pdf
index 55b57219a3..b98bf15bb1 100644
--- a/macros/latex/contrib/oberdiek/stampinclude.pdf
+++ b/macros/latex/contrib/oberdiek/stampinclude.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/tabularht.dtx b/macros/latex/contrib/oberdiek/tabularht.dtx
index 20688068b0..e6c26f1040 100644
--- a/macros/latex/contrib/oberdiek/tabularht.dtx
+++ b/macros/latex/contrib/oberdiek/tabularht.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex tabularht.dtx
% makeindex -s gind.ist tabularht.idx
% pdflatex tabularht.dtx
@@ -250,7 +250,7 @@ and the derived files
% and add the vertical lines. The lines in a tabular
% with \xpackage{tabularht} support (environments of this package)
% are numbered from left to right. The gap that is
-% controlled by \cs{interrowspace} or inbetween \cs{interrowstart}
+% controlled by \cs{interrowspace} or in between \cs{interrowstart}
% and \cs{interrowstop} is then filled with the detected
% vertical lines.
%
@@ -472,7 +472,7 @@ and the derived files
\def\tabH@spread{spread}
% \end{macrocode}
% First argument is the height of the table,
-% then the orignal arguments for tabular follow.
+% then the original arguments for tabular follow.
% \begin{macrocode}
\newenvironment{tabularht}[1]{%
\tabH@setheight{#1}%
diff --git a/macros/latex/contrib/oberdiek/tabularht.pdf b/macros/latex/contrib/oberdiek/tabularht.pdf
index 893fe33acf..3a70cec6a2 100644
--- a/macros/latex/contrib/oberdiek/tabularht.pdf
+++ b/macros/latex/contrib/oberdiek/tabularht.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/tabularkv.dtx b/macros/latex/contrib/oberdiek/tabularkv.dtx
index 57ef5e8745..b324e6e8ab 100644
--- a/macros/latex/contrib/oberdiek/tabularkv.dtx
+++ b/macros/latex/contrib/oberdiek/tabularkv.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex tabularkv.dtx
% makeindex -s gind.ist tabularkv.idx
% pdflatex tabularkv.dtx
diff --git a/macros/latex/contrib/oberdiek/tabularkv.pdf b/macros/latex/contrib/oberdiek/tabularkv.pdf
index e6ea130064..dedc3251c0 100644
--- a/macros/latex/contrib/oberdiek/tabularkv.pdf
+++ b/macros/latex/contrib/oberdiek/tabularkv.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/thepdfnumber.dtx b/macros/latex/contrib/oberdiek/thepdfnumber.dtx
index 61eb42684c..c1aa4bf9fa 100644
--- a/macros/latex/contrib/oberdiek/thepdfnumber.dtx
+++ b/macros/latex/contrib/oberdiek/thepdfnumber.dtx
@@ -57,7 +57,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex thepdfnumber.dtx
% makeindex -s gind.ist thepdfnumber.idx
% pdflatex thepdfnumber.dtx
@@ -256,7 +256,7 @@ and the derived files
% \item The decimal part is omitted, if the number is an integer (5, 7).
% \item Trailing zeros from the decimal part are stripped (5, 6, 7, 9).
% \end{itemize}
-% The resulting number representation can be catched with one of the
+% The resulting number representation can be caught with one of the
% following Perl regular expressions:
% \begin{itemize}
% \item |^0$| (zero)
@@ -295,11 +295,11 @@ and the derived files
% \subsection{Input number}
%
% The user macros expect a number as argument. The number can either
-% be given explicitely or as macro that expands in one step
-% to an explicite number, because the first token of the argument
+% be given explicitly or as macro that expands in one step
+% to an explicit number, because the first token of the argument
% is expanded once.
%
-% The explicite number consists of
+% The explicit number consists of
% \begin{itemize}
% \item optional signs `\texttt{+}' and `\texttt{-}',
% \item digits `\texttt{0}' upto `\texttt{9}' and
@@ -320,7 +320,7 @@ and the derived files
% The package is not intended for validating numbers or to
% decide if an argument is a number. Therefore it is an usage
% error to use the user macros with arguments that are not
-% explicite numbers as specified in the previous sections.
+% explicit numbers as specified in the previous sections.
% Nevertheless some error conditions are sometimes recognized.
% Errors are given in form of an undefined command sequence.
% It is the only way to notify \hologo{TeX} in expandable context.
diff --git a/macros/latex/contrib/oberdiek/thepdfnumber.pdf b/macros/latex/contrib/oberdiek/thepdfnumber.pdf
index 8d4b73d65f..61d98f6985 100644
--- a/macros/latex/contrib/oberdiek/thepdfnumber.pdf
+++ b/macros/latex/contrib/oberdiek/thepdfnumber.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/twoopt.dtx b/macros/latex/contrib/oberdiek/twoopt.dtx
index 10334f0d3a..806799fd41 100644
--- a/macros/latex/contrib/oberdiek/twoopt.dtx
+++ b/macros/latex/contrib/oberdiek/twoopt.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex twoopt.dtx
% makeindex -s gind.ist twoopt.idx
% pdflatex twoopt.dtx
diff --git a/macros/latex/contrib/oberdiek/twoopt.pdf b/macros/latex/contrib/oberdiek/twoopt.pdf
index 6a144a8368..071dd4d2b2 100644
--- a/macros/latex/contrib/oberdiek/twoopt.pdf
+++ b/macros/latex/contrib/oberdiek/twoopt.pdf
Binary files differ
diff --git a/macros/latex/contrib/overarrows/README.md b/macros/latex/contrib/overarrows/README.md
index f2139d6499..a70fd1601c 100644
--- a/macros/latex/contrib/overarrows/README.md
+++ b/macros/latex/contrib/overarrows/README.md
@@ -13,11 +13,11 @@ Julien Labbé <Julien.Labbe@univ-grenoble-alpes.fr> Université Grenoble-Alpes
## Repository
-https://gricad-gitlab.univ-grenoble-alpes.fr/labbeju/latex-packages/-/tree/main/overarrows
+https://github.com/julienlabbe/latex-packages/tree/main/overarrows
## Licence
-Copyright (C) 2023 by Julien Labbé
+Copyright (C) 2023-2024 by Julien Labbé
This file may be distributed and/or modified under the conditions of the LaTeX
Project Public License (LPPL), either version 1.3c of this license or (at your
diff --git a/macros/latex/contrib/overarrows/overarrows.dtx b/macros/latex/contrib/overarrows/overarrows.dtx
index 419593f577..ff63a958c3 100644
--- a/macros/latex/contrib/overarrows/overarrows.dtx
+++ b/macros/latex/contrib/overarrows/overarrows.dtx
@@ -16,14 +16,17 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{overarrows}
%<*package>
-[2023/02/15 v1.1 Custom extensible arrows over math expressions]
+[2024/07/11 v1.2 Custom extensible arrows over math expressions]
%</package>
%
%<*driver>
\documentclass[nohyperref]{ltxdoc}
+\usepackage{metalogo}
+\usepackage{enumitem}
+\usepackage{array}
\usepackage{overarrows-doc} %^^A defined at end of this file, with guard <docstyle>
-\usepackage[old-arrows, esvect, tikz, pstarrows, allcommands]{overarrows}
+\usepackage[old-arrows, esvect, tikz, pstricks, pstarrows, allcommands]{overarrows}
\EnableCrossrefs
\PageIndex
@@ -36,8 +39,8 @@
%% Arrows used in doc
\usepackage{amssymb}% for \twoheadrightarrow
-\NewOverArrowCommand{amsoverrightarrow}{amsmath=strict, end={\rightarrow}}
-\NewOverArrowCommand{overrightnewarrow}{%
+\NewOverArrowCommand{\amsoverrightarrow}{amsmath=strict, end={\rightarrow}}
+\NewOverArrowCommand{\overrightnewarrow}{%
amsmath, middle config=relbar, end=\rightarrow,
right arrow,
}
@@ -49,22 +52,22 @@
\DeclareMathSymbol{\fldrf}{\mathrel}{esvector}{'026}
\DeclareMathSymbol{\fldrg}{\mathrel}{esvector}{'027}
\DeclareMathSymbol{\fldrh}{\mathrel}{esvector}{'030}
-\NewOverArrowCommand{esveca}{esvect=strict, end={\fldra}}
-\NewOverArrowCommand{esvecb}{esvect=strict, end={\fldrb}}
-\NewOverArrowCommand{esvecc}{esvect=strict, end={\fldrc}}
-\NewOverArrowCommand{esvecd}{esvect=strict, end={\fldrd}}
-\NewOverArrowCommand{esvece}{esvect=strict, end={\fldre}}
-\NewOverArrowCommand{esvecg}{esvect=strict, end={\fldrg}}
-\NewOverArrowCommand{esvech}{esvect=strict, end={\fldrh}}
-\NewOverArrowCommand{vva}{esvect, middle config=auto, end=\fldra}
-\NewOverArrowCommand{esvecf}{esvect=strict, end={\fldrf}}
-\NewOverArrowCommand{vvb}{esvect, middle config=auto, end=\fldrb}
-\NewOverArrowCommand{vvc}{esvect, middle config=auto, end=\fldrc}
-\NewOverArrowCommand{vvd}{esvect, middle config=auto, end=\fldrd}
-\NewOverArrowCommand{vve}{esvect, middle config=auto, end=\fldre}
-\NewOverArrowCommand{vvf}{esvect, middle config=auto, end=\fldrf}
-\NewOverArrowCommand{vvg}{esvect, middle config=auto, end=\fldrg}
-\NewOverArrowCommand{vvh}{esvect, middle config=auto, end=\fldrh}
+\NewOverArrowCommand{\esveca}{esvect=strict, end={\fldra}}
+\NewOverArrowCommand{\esvecb}{esvect=strict, end={\fldrb}}
+\NewOverArrowCommand{\esvecc}{esvect=strict, end={\fldrc}}
+\NewOverArrowCommand{\esvecd}{esvect=strict, end={\fldrd}}
+\NewOverArrowCommand{\esvece}{esvect=strict, end={\fldre}}
+\NewOverArrowCommand{\esvecg}{esvect=strict, end={\fldrg}}
+\NewOverArrowCommand{\esvech}{esvect=strict, end={\fldrh}}
+\NewOverArrowCommand{\vva}{esvect, middle config=auto, end=\fldra}
+\NewOverArrowCommand{\esvecf}{esvect=strict, end={\fldrf}}
+\NewOverArrowCommand{\vvb}{esvect, middle config=auto, end=\fldrb}
+\NewOverArrowCommand{\vvc}{esvect, middle config=auto, end=\fldrc}
+\NewOverArrowCommand{\vvd}{esvect, middle config=auto, end=\fldrd}
+\NewOverArrowCommand{\vve}{esvect, middle config=auto, end=\fldre}
+\NewOverArrowCommand{\vvf}{esvect, middle config=auto, end=\fldrf}
+\NewOverArrowCommand{\vvg}{esvect, middle config=auto, end=\fldrg}
+\NewOverArrowCommand{\vvh}{esvect, middle config=auto, end=\fldrh}
\makeatletter
\newcommand{\unsetoldarrows}{
@@ -94,7 +97,7 @@
%
% \title{The \pkg{overarrows} package\thanks{This document
% corresponds to \pkg{overarrows}~\fileversion, dated \filedate.}}
-% \author{Julien Labb\'e \\ \texttt{Julien.Labbe@univ-grenoble-alpes.fr}}
+% \author{Julien Labb\'e \\ {\small \url{https://github.com/julienlabbe/latex-packages}}}
%
% \maketitle
%
@@ -111,7 +114,7 @@
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{overrightharpoon}{%
+\NewOverArrowCommand{\overrightharpoon}{%
end=\rightharpoonup
}
@@ -188,9 +191,9 @@
%
% The \pkg{overarrows} package was primitively written for vectors, but in
% a highly customisable way. It can be used to define a large variety of arrows,
-% using math symbols, or PGF/TikZ commands. It's also possible to create
-% commands that draw the arrows under. Some predefined commands are provided,
-% giving\footnotemark{}, for arrow over:
+% using math symbols, or drawing commands from PGF/TikZ or PSTricks. It's also
+% possible to create commands that draw the arrows under. Some predefined
+% commands are provided, giving\footnotemark{}, for arrow over:
% \footnotetext{Displayed here with the \refOpt{old-arrows} option.}
% \begin{align*}
% \overrightarrow{\alpha+\beta}
@@ -222,34 +225,42 @@
% above\footnotemark{}. For this second convention, \TeX/\LaTeX provides the
% command \cs{vec}, which accents its content (using the \cs{mathaccent}
% command) with the character~\symb{\mathchar "017E\relax}
-% (\cs{mathchar}|"017E| in Computer Modern font).
-% But \symb{\mathchar "017E\relax} isn't extensible, and gives: $\vec{v}$,
-% $\vec{AB}$ or $\vec{\text{grad}}$ (there's no command \cs{widevec} analogous
-% to \cs{widehat}).
+% (\cs{mathchar}|"017E| in Computer Modern font). But \symb{\mathchar
+% "017E\relax} isn't extensible\footnotemark{}, and gives: $\vec{v}$, $\vec{AB}$
+% or $\vec{\text{grad}}$ (there's no command \cs{widevec} analogous to
+% \cs{widehat}).
%
+% \addtocounter{footnote}{-2}%^^A two footnotemarks
+%
+% \stepcounter{footnote}
% \footnotetext{See, for example: International Organization for
% Standardization. (2019). \emph{Quantities and units -- Part 2: Mathematics}
% (ISO Standard No. 80000-2:2019).
% \url{https://www.iso.org/standard/64973.html}.}
%
+% \stepcounter{footnote}
+% \footnotetext{In fact, with the unicode engines \LuaTeX{} and \XeTeX{}, the
+% command \cs{Umathaccent} can now define extensible accents. This is used by
+% the \pkg{unicode-math} package, which also set the arrows displayed by \cs{vec}
+% and \cs{overrightarrow} in a coherent manner.}
+%
% An extensible alternative is given by the command \cs{overrightarrow},
% available in \TeX/\LaTeX, and which is redefined by the commonly used
% \pkg{amsmath} package. But its arrow, built with the \cs{rightarrow} symbol
-% \symb{\rightarrow}, is too large with the default \emph{Computer Modern} font:
-% $\amsoverrightarrow{AB}$. Another alternative is the \pkg{esvect} package,
-% which provides the \cs{vv} command and a set of custom arrows: $\esveca{AB}$,
-% $\esvecb{AB}$, $\esvecc{AB}$, $\esvecd{AB}$, $\esvece{AB}$, $\esvecf{AB}$,
-% $\esvecg{AB}$, $\esvech{AB}$.
+% \symb{\rightarrow}, is too large, using the default \emph{Computer Modern}
+% font: $\amsoverrightarrow{AB}$. Another alternative is the \pkg{esvect}
+% package, which provides the \cs{vv} command and a set of custom arrows:
+% $\esveca{AB}$, $\esvecb{AB}$, $\esvecc{AB}$, $\esvecd{AB}$, $\esvece{AB}$,
+% $\esvecf{AB}$, $\esvecg{AB}$, $\esvech{AB}$.
%
% \subsection{Stack and arrow macros}
%
% It's worth looking at the definition of \pkg{amsmath} \cs{overrightarrow}
-% command:
-% \iffalse
+% command: \iffalse
%<*example>
% \fi
\begin{dispListing}
- \long macro:->\mathpalette {\overarrow@ \rightarrowfill@ }
+\long macro:->\mathpalette {\overarrow@ \rightarrowfill@ }
\end{dispListing}
% \iffalse
%</example>
@@ -314,7 +325,7 @@
% The \pkg{overarrows} package also provides an alternative mechanism.
% When used, the length \cs{overarrowlength} is set, according to the arrow
% command content, and can be employed, for example, to draw arrows using
-% PGF/TikZ or the \LaTeX{} picture environment.
+% PGF/TikZ, PSTricks or the \LaTeX{} picture environment.
%
% \section{Quick start}
%
@@ -382,14 +393,13 @@
% \subsection{Commands creation}
%
% Commands are created with \refCom{NewOverArrowCommand}. This macro take two
-% mandatory arguments : the name of the command (without backslash), and the
-% arrow configuration as comma-separated list of key-values. By default, a right
-% arrow is set:
+% mandatory arguments : the name of the command and the arrow configuration as
+% comma-separated list of key-values. By default, a right arrow is set:
% \iffalse
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{myovercmd}{}
+\NewOverArrowCommand{\myovercmd}{}
$\myovercmd{test}$
\end{dispExample}
% \iffalse
@@ -417,7 +427,7 @@ $ v_{sub} \qquad \myovercmd{v}_{sub} \qquad \myovercmd*{v}_{sub} $
%<*example>
% \fi
\begin{dispListing}
-\NewOverArrowCommand{overhooktwoheadrightarrow}{%
+\NewOverArrowCommand{\overhooktwoheadrightarrow}{%
start=\lhook, end=\twoheadrightarrow,
}
\end{dispListing}
@@ -436,12 +446,12 @@ $ v_{sub} \qquad \myovercmd{v}_{sub} \qquad \myovercmd*{v}_{sub} $
% \iffalse
%</example>
% \fi
-% With the previous definition, the result of the command
+% But with the previous definition, the result of the command
% \cs{overhooktwoheadrightarrow} is faulty:
% \iffalse
%<*example>
% \fi
-\NewOverArrowCommand{overhooktwoheadrightarrow}{%
+\NewOverArrowCommand{\overhooktwoheadrightarrow}{%
start=\lhook, end=\twoheadrightarrow,
}
\begin{dispExample}
@@ -459,7 +469,7 @@ $ \overhooktwoheadrightarrow{v} \qquad \overhooktwoheadrightarrow{AB} $
% \fi
\csundef{overhooktwoheadrightarrow}
\begin{dispExample}
-\NewOverArrowCommand{overhooktwoheadrightarrow}{%
+\NewOverArrowCommand{\overhooktwoheadrightarrow}{%
start=\lhook, end=\twoheadrightarrow,
trim start=1.5, trim end=2,
}
@@ -474,16 +484,18 @@ $ \overhooktwoheadrightarrow{v} \qquad \overhooktwoheadrightarrow{AB} $
% If the math font differs from the default \emph{Computer Modern}, the central
% part of the arrow may have inappropriate position or line width. This is
% because the default symbol used for the arrow line is \cs{relbareda}
-% \symb{\relbareda} from the \pkg{esvect} package. If needed, try to set the
-% \refKey{middle} key with the symbol \cs{relbar} \symb{\relbar}. The trimming
-% should also be adapted:
+% \symb{\relbareda} from the \pkg{esvect} package\footnote{Except if the
+% \pkg{unicode-math} package is used with a math font that provides the
+% \cs{harrowextender} symbol (see the \refKey*{middle config}|=auto| key).}.
+% If needed, try to set the \refKey{middle} key with the symbol \cs{relbar}
+% \symb{\relbar}. The trimming should also be adapted:
% \iffalse
%<*example>
% \fi
\csundef{overhooktwoheadrightarrow}
\begin{dispExample}
-\NewOverArrowCommand{overhooktwoheadrightarrow}{%
- start=\lhook, end=\twoheadrightarrow, middle=\relbar, %
+\NewOverArrowCommand{\overhooktwoheadrightarrow}{%
+ start=\lhook, end=\twoheadrightarrow, middle=\relbar,
trim start=0, trim end=3, trim middle=5,
}
$ \overhooktwoheadrightarrow{v} \qquad \overhooktwoheadrightarrow{AB} $
@@ -500,7 +512,7 @@ $ \overhooktwoheadrightarrow{v} \qquad \overhooktwoheadrightarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\TestOverArrow{overhooktwoheadrightarrow}
+\TestOverArrow{\overhooktwoheadrightarrow}
\end{dispExample}
% \iffalse
%</example>
@@ -514,7 +526,7 @@ $ \overhooktwoheadrightarrow{v} \qquad \overhooktwoheadrightarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{OverRightarrow}{%
+\NewOverArrowCommand{\OverRightarrow}{%
start=\Relbar,
middle=\Relbar,
end=\Rightarrow,
@@ -535,7 +547,7 @@ $ \OverRightarrow{v} \qquad \OverRightarrow{AB} $
% \fi
\csundef{OverRightarrow}
\begin{dispExample}
-\NewOverArrowCommand{OverRightarrow}{%
+\NewOverArrowCommand{\OverRightarrow}{%
start={\smallermathstyle\Relbar},
middle={\smallermathstyle\Relbar},
end=\Rightarrow,
@@ -557,7 +569,7 @@ $ \OverRightarrow{v} \qquad \OverRightarrow{AB} $
% \fi
\csundef{OverRightarrow}
\begin{dispExample}
-\NewOverArrowCommand{OverRightarrow}{%
+\NewOverArrowCommand{\OverRightarrow}{%
start={\smallermathstyle\Relbar},
middle={\smallermathstyle\Relbar},
end=\Rightarrow,
@@ -579,7 +591,7 @@ $ \OverRightarrow{v} \qquad \OverRightarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{OverLeftarrow}{%
+\NewOverArrowCommand{\OverLeftarrow}{%
start={\smallermathstyle\Leftarrow},
middle={\smallermathstyle\Relbar},
end=\Relbar,
@@ -601,7 +613,7 @@ $ \OverLeftarrow{v} \qquad \OverLeftarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{OverLeftRightarrow}{%
+\NewOverArrowCommand{\UnderLeftRightarrow}{%
start={\smallermathstyle\Leftarrow},
middle={\smallermathstyle\Relbar},
end=\Rightarrow,
@@ -610,7 +622,7 @@ $ \OverLeftarrow{v} \qquad \OverLeftarrow{AB} $
space before arrow=0.5ex,
shift left=0, shift right=0,
}
-$ \OverLeftRightarrow{v} \qquad \OverLeftRightarrow{AB} $
+$ \UnderLeftRightarrow{v} \qquad \UnderLeftRightarrow{AB} $
\end{dispExample}
% \iffalse
%</example>
@@ -650,7 +662,7 @@ $ \tttail $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{overtttailrightarrow}{%
+\NewOverArrowCommand{\overtttailrightarrow}{%
start={\tttail},
end={\rightarrow},
trim start=12,
@@ -683,7 +695,7 @@ $ \overtttailrightarrow{v} \qquad \overtttailrightarrow{AB} $
% \fi
\csundef{overtttailrightarrow}
\begin{dispExample}
-\NewOverArrowCommand{overtttailrightarrow}{%
+\NewOverArrowCommand{\overtttailrightarrow}{%
start={\vcenter{\hbox{$\smallermathstyle\tttail$}}},
end={\rightarrow},
trim start=12,
@@ -710,7 +722,7 @@ $ \overtttailrightarrow{v} \qquad \overtttailrightarrow{AB} $
\begin{dispExample}
\newcommand*{\leftarrowhead}{\usefont{U}{lasy}{m}{n}\symbol{40}}
\newcommand*{\righttarrowhead}{\usefont{U}{lasy}{m}{n}\symbol{41}}
-\NewOverArrowCommand{overrightleftarrow}{%
+\NewOverArrowCommand{\overrightleftarrow}{%
start=\text{\righttarrowhead},
end=\text{\leftarrowhead},
trim start=0.7, trim end=0.7,
@@ -751,7 +763,7 @@ $ \overrightleftarrow{AB} \qquad \scriptstyle\overrightleftarrow{AB} $
% \medskip
%
% To use PGF/TikZ language, the optional argument |tikz| must be passed to
-% \refCom{NewOverArrowCommand} . TikZ picture are not extensible. That's why the
+% \refCom{NewOverArrowCommand}. TikZ pictures are not extensible. That's why the
% \pkg{overarrows} package provides three lengths that can be used in TikZ
% commands:
% \begin{itemize}
@@ -767,7 +779,7 @@ $ \overrightleftarrow{AB} \qquad \scriptstyle\overrightleftarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand[tikz]{overtikzarrow}{}
+\NewOverArrowCommand[tikz]{\overtikzarrow}{}
$ \overtikzarrow{v} \qquad \overtikzarrow{AB} $
\end{dispExample}
% \iffalse
@@ -791,7 +803,7 @@ $ \overtikzarrow{v} \qquad \overtikzarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand[tikz]{overarchedleftrightarrow}{%
+\NewOverArrowCommand[tikz]{\overarchedleftrightarrow}{%
add tikz options={y=\overarrowlength},
add tikz options={line width={\overarrowsmallerthickness}},
path options={arrows={<[scale=0.5]->[scale=0.5]}},
@@ -807,20 +819,72 @@ $ \overarchedleftrightarrow{v} \qquad \overarchedleftrightarrow{ABCD} $
%</example>
% \fi
%
+% \subsection{Drawing the arrow with PSTricks}
+%
+% In addition to PGF/TikZ, the arrow can be drawn with PSTricks macros.
+% For this, the optional argument |pstricks| must be passed to
+% \refCom{NewOverArrowCommand}. Like with
+% |tikz|, the three lengths \refCom{overarrowlength}, \refCom{overarrowthickness}
+% and \refCom{overarrowsmallerthickness} can be used in PSTricks commands.
+% By default, a right arrow is drawn:
+% \iffalse
+%<*example>
+% \fi
+\begin{dispExample}
+\NewOverArrowCommand[pstricks]{\overpstarrow}{}
+$ \overpstarrow{v} \qquad \overpstarrow{AB} $
+\end{dispExample}
+% \iffalse
+%</example>
+% \fi
+% \noindent The \pkg{pstricks} package has to be loaded (for example, using the
+% \refOpt{pstricks} option of the \pkg{overarrows} package)
+%
+% Keys to use PSTricks commands are described in section~\ref{sec:pstricks-keys},
+% page~\pageref{sec:pstricks-keys}. The main keys are \refKey{pstricks command},
+% \refKey{psset}, \refDoc{key:pstricks}{arrow}, \refDoc{key:pstricks}{geometry}
+% an \refDoc{key:pstricks}{line thickness}. Examples:
+% \iffalse
+%<*example>
+% \fi
+\begin{dispExample}
+\NewOverArrowCommand[pstricks]{\overreddisks}{%
+ psset={linecolor=red}, arrow=*-*, center arrow,
+}
+$ \overreddisks{v} \qquad \overreddisks{AB} $
+\end{dispExample}
+\begin{dispExample}
+\NewOverArrowCommand[pstricks]{\ellipticarrow}{%
+ pstricks command={%
+ \psellipticarcn{->}%^^A avoid space before coordinates
+ (0.5\overarrowlength,0.2\overarrowlength)%^^A avoid space before coordinates
+ (0.5\overarrowlength,0.2\overarrowlength)
+ {170}{10}
+ },
+ geometry={(0,0.2\overarrowlength)(\overarrowlength,0.4\overarrowlength)},
+ line thickness={\overarrowsmallerthickness},
+ center arrow,
+}
+$ \ellipticarrow{v} \qquad \ellipticarrow{AB} $
+\end{dispExample}
+% \iffalse
+%</example>
+% \fi
+%
% \subsection{Drawing the arrow with \LaTeX{} picture environment}
%
-% As well as TikZ, the \LaTeX{} |picture| environment can be used to draw the
-% arrow. For this, the optional argument |picture| must be passed to
-% \refCom{NewOverArrowCommand}. Like for TikZ, the three lengths
-% \refCom{overarrowlength}, \refCom{overarrowthickness} and
-% \refCom{overarrowsmallerthickness} can be used in |picture| commands.
-% By default, a right vector is drawn:
+% Without any other package, arrows can also be drawn with the \LaTeX{}
+% |picture| environment. In this case, the optional argument |picture| must be
+% passed to \refCom{NewOverArrowCommand}. As with |tikz| or |pstricks|, the
+% three lengths \refCom{overarrowlength}, \refCom{overarrowthickness} and
+% \refCom{overarrowsmallerthickness} are available and can be used in
+% |picture| drawing commands. By default, a right vector is drawn:
% \iffalse
%<*example>
% \fi
\ltxarrows%^^A classic arrows
\begin{dispExample}
-\NewOverArrowCommand[picture]{overpictarrow}{}
+\NewOverArrowCommand[picture]{\overpictarrow}{}
$ \overpictarrow{v} \qquad \overpictarrow{AB} $
\end{dispExample}
% \iffalse
@@ -835,7 +899,7 @@ $ \overpictarrow{v} \qquad \overpictarrow{AB} $
\pstarrows%^^A pst arrows
\csundef{overpictarrow}
\begin{dispExample}
-\NewOverArrowCommand[picture]{overpictarrow}{}
+\NewOverArrowCommand[picture]{\overpictarrow}{}
$ \overpictarrow{v} \qquad \overpictarrow{AB} $
\end{dispExample}
% \iffalse
@@ -844,13 +908,13 @@ $ \overpictarrow{v} \qquad \overpictarrow{AB} $
%
% Keys to use \LaTeX{} |picture| environment are described in
% section~\ref{sec:picture-keys}, page~\pageref{sec:picture-keys}. The main keys
-% are \refKey{picture command}, \refKey{geometry} an \refDoc{key:picture}{line
-% thickness}. Here is an example:
+% are \refKey{picture command}, \refDoc{key:picture}{geometry} an
+% \refDoc{key:picture}{line thickness}. Here is an example:
% \iffalse
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand[picture]{overbandedarrow}{
+\NewOverArrowCommand[picture]{\overbandedarrow}{
picture command={%
\qbezier
(0.0\overarrowlength,0)
@@ -875,7 +939,6 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
% \subsection{Package options}
% \label{sec:package-options}
%
-%
% The \pkg{overarrows} package accepts many options, given as a comma-separated
% list \meta{options} at package loading:
% \cs{usepackage}|[|\meta{options}|]{overarrows}|.
@@ -889,7 +952,8 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
% \begin{docOption}{esvect}
% Loads the \pkg{esvect} package and redefines its vector commands \refCom{vv}
% through the \pkg{overarrows} mechanism. Original \pkg{esvect} \cs{vv} macro
-% is still available with \refCom{esvectvv}.
+% is still available with \refCom{esvectvv}. The \pkg{esvect} font description
+% is fixed to allow any font sizes.
%
% The \pkg{esvect} package provides the symbol \cs{relbareda} \symb{\relbareda}
% which is smaller and often more flexible than the classic one \cs{relbar}
@@ -1098,6 +1162,16 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
% library are loaded independently.
% \end{docOption}
%
+% \begin{docOption}{pstricks}
+% Loads the package \pkg{pstricks-add}.
+%
+% Note that, as it, this will compile with \LaTeX{}, \LuaLaTeX{} and
+% \XeLaTeX{}, but not with \makebox{pdf\LaTeX} (see the PSTricks
+% documentation). PSTricks arrows, drawn with the |pstricks| method, are
+% always available, even if this option is not set, provided the
+% \pkg{pstricks} package is loaded independently.
+% \end{docOption}
+%
% \begin{docOption}{pstarrows}
% Loads the \pkg{pict2e} package, with its option |pstarrows|. Vectors using
% \LaTeX{} |picture| environment gives then \pstarrows$\overpictarrow{AB}$
@@ -1117,6 +1191,7 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
% \end{docOption}
%
% \begin{docOption}{subother}
+% \tcbdocmarginnote{\tcbdocnew{v1.1 2023/02/15}}
% Sets to 12 (\emph{other} catcode category) the catcode of the ``|_|" symbol
% used for subscript detection, when this is enabled by the key \refKey{detect
% subscripts} (see the section~\ref{sec:non-standard-subscripts},
@@ -1124,6 +1199,7 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
% \end{docOption}
%
% \begin{docOption}{subactive}
+% \tcbdocmarginnote{\tcbdocnew{v1.1 2023/02/15}}
% Sets to 13 (\emph{active} catcode category) the catcode of the ``|_|" symbol
% used for subscript detection, when this is enabled by the key \refKey{detect
% subscripts} (see the section~\ref{sec:non-standard-subscripts},
@@ -1142,45 +1218,51 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
% \begin{docCommands}{%
% {
% doc name=NewOverArrowCommand,
-% doc parameter=\oarg{method}\marg{name}\marg{keys},
+% doc parameter=\oarg{method}\marg{command}\marg{keys},
% },
% {
% doc name=RenewOverArrowCommand,
-% doc parameter=\oarg{method}\marg{name}\marg{keys},
+% doc parameter=\oarg{method}\marg{command}\marg{keys},
% },
% {
% doc name=ProvideOverArrowCommand,
-% doc parameter=\oarg{method}\marg{name}\marg{keys},
+% doc parameter=\oarg{method}\marg{command}\marg{keys},
% },
% {
% doc name=DeclareOverArrowCommand,
-% doc parameter=\oarg{method}\marg{name}\marg{keys},
+% doc parameter=\oarg{method}\marg{command}\marg{keys},
% },
% }
-% Creates the command \cs{\meta{name}} and its starred variant
-% \cs{\meta{name}*}. The starred variant \cs{\meta{name}*} removes the extra
+% Creates the command \meta{command} and its starred variant
+% \meta{command}|*|. The starred variant \meta{command}|*| removes the extra
% end space generated by the arrow, which is suitable, as example, when
% a subscript follows.
%
+% \tcbdocmarginnote{\tcbdocupdated{v1.2 2024/07/11}}
+% \meta{command} can be given with or without backslash (prior to the version
+% 1.2, only the name, without backslash, was accepted).
+%
% \begin{description}
-% \item[\cs{NewOverArrowCommand}] raises an error if \cs{\meta{name}} is
-% already defined.
+% \item[\cs{NewOverArrowCommand}] raises an error if \meta{command} is
+% already defined.
%
-% \item[\cs{RenewOverArrowCommand}] raises an error if \cs{\meta{name}} is undefined.
+% \item[\cs{RenewOverArrowCommand}] raises an error if \meta{command}
+% is undefined.
%
-% \item[\cs{ProvideOverArrowCommand}] sets \cs{\meta{name}} if the command is
-% undefined and does nothing if it is already defined, without raising
-% any error.
+% \item[\cs{ProvideOverArrowCommand}] sets \meta{command} if the command is
+% undefined and does nothing if it is already defined, without raising
+% any error.
%
-% \item[\cs{DeclareOverArrowCommand}] sets \cs{\meta{name}}, whether the
-% command is already defined
-% or not, without raising any error.
+% \item[\cs{DeclareOverArrowCommand}] sets \meta{command}, whether the command
+% is already defined or not, without raising any error.
% \end{description}
%
% The \meta{method} used to draw the arrow must be:
% \begin{description}
% \item[|symb|] to draw the arrow by symbols assemblage (default);
% \item[|tikz|] to draw the arrow with PGF/TikZ;
+% \item[|pstricks|] to draw the arrow with PSTricks;
+% \tcbdocmarginnote{\tcbdocnew{v1.2 2024/07/11}}
% \item[|picture|] to draw the arrow with the \LaTeX{}
% |picture| environment.
% \end{description}
@@ -1196,7 +1278,7 @@ $ \overbandedarrow{v} \qquad \overbandedarrow{AB} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand[tikz]{myoverarrow}{arrows={Bar-Bar}, center arrow}
+\NewOverArrowCommand[tikz]{\myoverarrow}{arrows={Bar-Bar}, center arrow}
$ \myoverarrow{v} \qquad \myoverarrow{ABCD} $
\end{dispExample}
% \iffalse
@@ -1207,19 +1289,23 @@ $ \myoverarrow{v} \qquad \myoverarrow{ABCD} $
% \begin{docCommands}{%
% {
% doc name=TestOverArrow,
-% doc parameter=\oarg{pattern}\marg{name},
+% doc parameter=\oarg{pattern}\marg{command},
% },
% {
% doc name=TestOverArrow*,
-% doc parameter=\oarg{pattern}\marg{name},
+% doc parameter=\oarg{pattern}\marg{command},
% },
% }
-% Displays the result of the command \meta{name} for patterns of various
+% Displays the result of the command \meta{command} for patterns of various
% lengths and for the four math styles. A custom \meta{pattern} can be added
% to the predefined ones.
%
% The starred variant \cs{TestOverArrow*} displays a full report, including
-% kerning tests of the commands \cs{\meta{name}} and \cs{\meta{name}*} .
+% kerning tests of the commands \meta{command} and \meta{command}|*|.
+%
+% \tcbdocmarginnote{\tcbdocupdated{v1.2 2024/07/11}}
+% \meta{command} can be given with or without backslash (prior to the version
+% 1.2, only the name, without backslash, was accepted).
%
% \iffalse
%<*example>
@@ -1261,9 +1347,9 @@ $ \myoverarrow{v} \qquad \myoverarrow{ABCD} $
% \begin{docCommand}{smallermathstyle}{}
% Applies the next math style, smaller than the current. That is:
% \begin{itemize}
-% \item sets \cs{scriptstyle} if the current math style is \cs{displaystyle}
+% \item uses \cs{scriptstyle} if the current math style is \cs{displaystyle}
% or \cs{textstyle};
-% \item sets \cs{scriptscriptstyle} if the current math style is
+% \item uses \cs{scriptscriptstyle} if the current math style is
% \cs{scriptstyle};
% \item does nothing if the current math style is \cs{scriptscriptstyle}.
% \end{itemize}
@@ -1283,19 +1369,20 @@ $ \displaystyle AB \quad \smallermathstyle AB
%
% \end{docCommand}
%
-% \subsubsection{Useful lengths for TikZ or \texttt{picture} environment}
+% \subsubsection{Useful lengths for TikZ, PSTricks or \texttt{picture} environment}
%
-% Arrows drawn with graphic languages, like PGF/TikZ or the \LaTeX{} |picture|
-% environment, are not extensible. The three lengths \refLen*{overarrowlength},
-% \refLen*{overarrowthickness} and \refLen*{overarrowsmallerthickness} are
-% computed at each utilisation of a command set with the |tikz| or |picture|
-% method, so they can be used in drawing commands.
+% Arrows drawn with graphic languages, like PGF/TikZ, PSTricks or the \LaTeX{}
+% |picture| environment, are not extensible. The three lengths
+% \refLen*{overarrowlength}, \refLen*{overarrowthickness} and
+% \refLen*{overarrowsmallerthickness} are computed at each utilisation of
+% a command set with the |tikz|, |pstricks| or |picture| method, so they can be
+% used in drawing commands.
%
% \iffalse
%<*example>
% \fi
\begin{dispExample*}{grow to left by=-2em}
-\NewOverArrowCommand[tikz]{overparabola}{%
+\NewOverArrowCommand[tikz]{\overparabola}{%
path options={x=\overarrowlength, line width=\overarrowsmallerthickness},
path={(0,0) parabola[parabola height=0.2\overarrowlength] (1,0)},
arrows={-}, center arrow, min length=30,
@@ -1320,8 +1407,13 @@ $\scriptstyle \overparabola{v} \qquad \overparabola{ABCD} $ \par
% \item |\fontdimen 8 \scriptscriptfont 3| in
% \cs{scriptscriptstyle}.
% \end{itemize}
+%
+% \tcbdocmarginnote{\tcbdocupdated{v1.2 2024/07/11}}
+% Theses settings are adapted when the package \pkg{unicode-math} is loaded
+% (using \cs{Umathoverbarrule} with \LuaLaTeX{} or |\fontdimen 54|, family~2
+% with \XeLaTeX{} --- see the manual of \pkg{unicode-math}).
% \end{docLength}
-%
+%
% \begin{docLength}{overarrowsmallerthickness}
% Is set to the default rule thickness of the next smaller math style.
% That is:
@@ -1330,6 +1422,11 @@ $\scriptstyle \overparabola{v} \qquad \overparabola{ABCD} $ \par
% \item |\fontdimen 8 \scriptscriptfont 3| in \cs{scriptstyle} or
% \cs{scriptscriptstyle}.
% \end{itemize}
+%
+% \tcbdocmarginnote{\tcbdocupdated{v1.2 2024/07/11}}
+% Theses settings are adapted when the package \pkg{unicode-math} is loaded
+% (using \cs{Umathoverbarrule} with \LuaLaTeX{} or |\fontdimen 54|, family~2
+% with \XeLaTeX{} --- see the manual of \pkg{unicode-math}).
% \end{docLength}
%
% \subsubsection{Vectors macros}
@@ -1507,8 +1604,9 @@ $ \esvectvv*{\imath}{0} \quad \esvectvv*{e}{r} \quad \esvectvv*{L}{\Delta} $
% page~\pageref{sec:macro-for-commands-creation} for the documentation of
% commands creation):
% \begin{itemize}
-% \item \meta{number}| = 0 | for the |symb| method (default);
+% \item \meta{number}| = 0 | for the |symb| method (method by default);
% \item \meta{number}| = 12| for the |tikz| method;
+% \item \meta{number}| = 12| for the |pstricks| method;
% \item \meta{number}| = 18| for the |picture| method.
% \end{itemize}
%
@@ -1516,7 +1614,7 @@ $ \esvectvv*{\imath}{0} \quad \esvectvv*{e}{r} \quad \esvectvv*{L}{\Delta} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{overlongarrow}{min length=50}
+\NewOverArrowCommand{\overlongarrow}{min length=50}
$ \overlongarrow{v} \qquad \overlongarrow{ABCDEF} $
\end{dispExample}
% \iffalse
@@ -1550,7 +1648,7 @@ $ \overlongarrow{v} \qquad \overlongarrow{ABCDEF} $
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{underhooks}{%
+\NewOverArrowCommand{\underhooks}{%
start={\lhook}, end={\rhook}, trim=1,
arrow under, shift leftright=-4,
}
@@ -1580,8 +1678,8 @@ $ \underhooks{v} \qquad \underhooks{AB} $
% page~\pageref{sec:macro-for-commands-creation} for the documentation of
% commands creation):
% \begin{itemize}
-% \item \meta{number}| = 0 | for the |symb| method (default);
-% \item \meta{number}| = -2| for the |tikz| and |picture| methods.
+% \item \meta{number}| = 0 | for the |symb| method (method by default);
+% \item \meta{number}| = -2| for the |tikz|, |pstricks| and |picture| methods.
% \end{itemize}
%
%\end{docKey}
@@ -1590,7 +1688,7 @@ $ \underhooks{v} \qquad \underhooks{AB} $
%<*example>
% \fi
\begin{dispExample*}{grow to left by=-2em}
-\NewOverArrowCommand{lookback}{%
+\NewOverArrowCommand{\lookback}{%
start={\leftarrow}, end={\rightharpoondown},
shift left=-50, shift right=-10,
}
@@ -1658,7 +1756,7 @@ $ \lookback{\text{look back}} $
%<*example>
% \fi
\begin{dispExample*}{grow to left by=-2em}
-\NewOverArrowCommand{overharpoonsdown}{%
+\NewOverArrowCommand{\overharpoonsdown}{%
start=\leftharpoondown, end=\rightharpoondown, center arrow,
space before arrow=-0.2ex, space after arrow=0.3ex,
}
@@ -1693,7 +1791,7 @@ $ \dot{\overharpoonsdown{v}} \qquad \ddot{\overharpoonsdown{AB}}$
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{autosub}{detect subscripts}
+\NewOverArrowCommand{\autosub}{detect subscripts}
$ \imath_0 \qquad \autosub{\imath}_0 \qquad
{\autosub{\imath}}_0 \qquad {\autosub*{\imath}}_0 $
\end{dispExample}
@@ -1745,7 +1843,7 @@ $ \imath_0 \qquad \autosub{\imath}_0 \qquad
%<*example>
% \fi
\begin{dispExample}
-\NewOverArrowCommand{smalleroverrightarrow}{%
+\NewOverArrowCommand{\smalleroverrightarrow}{%
start={\smallermathstyle\relbar},
middle={\smallermathstyle\relbareda},
end={\rightarrow},
@@ -1784,16 +1882,26 @@ $ \smalleroverrightarrow{v} \qquad \smalleroverrightarrow{AB} $
% Clears \refKey{trim start}, \refKey{trim middle} and \refKey{trim end}.
% \end{docKey}
%
-%\begin{docKey}{middle config}{=auto\textbar relbar\textbar relbareda}{no default}
-% Sets a suitable configuration for the keys \refKey{middle} and \refKey{trim middle}:
+%\begin{docKey}{middle config}{=auto\textbar relbar\textbar relbareda\textbar harrowextender}{no default}
+% Sets a suitable configuration for the keys \refKey{middle} and \refKey{trim
+% middle}:
% \begin{description}
-% \item[For \refKey*{middle config}| = relbar|,] \refKey{middle} is set to
-% \cs{relbar} \symb{\relbar} and \refKey{trim middle} to |2.5|.
-% \item[For \refKey*{middle config}| = relbareda|,] \refKey{middle} is set to
-% \cs{relbareda} \symb{\relbareda} and \refKey{trim middle} to |1|.
-% \item[For \refKey*{middle config}| = auto|,] \refKey{middle} is set with
-% \refKey*{middle config}| = relabareda| if the option \refOpt{esvect} is set
-% (which is the default) and \refKey*{middle config}| = relabar| if not.
+% \item[For \refKey*{middle config}| = relbar|,] \refKey{middle} is set to
+% \cs{relbar} \symb{\relbar} and \refKey{trim middle} to |2.5|.
+% \item[For \refKey*{middle config}| = relbareda|,] \refKey{middle} is set to
+% \cs{relbareda} \symb{\relbareda} and \refKey{trim middle} to |1|.
+% \item[For \refKey*{middle config}| = harrowextender|,]
+% \tcbdocmarginnote{\tcbdocnew{v1.2 2024/07/11}}
+% \refKey{middle} is set to \cs{harrowextender} and \refKey{trim middle} to
+% |0|.
+% \item[For \refKey*{middle config}| = auto|,]
+% \tcbdocmarginnote{\tcbdocupdated{v1.2 2024/07/11}}
+% if \cs{harrowextender} is provided by the math font\footnote{See the
+% documentation of the package \pkg{unicode-math}.}, \refKey{middle} is set
+% with \refKey*{middle config}| = harrowextender|. If \cs{harrowextender}
+% isn't availlable, \refKey{middle} is set with \refKey*{middle config}%
+% | = relbareda| if the option \refOpt{esvect} is set (which is the
+% default) and \refKey*{middle config}| = relabar| if not.
% \end{description}
%\end{docKey}
%
@@ -1880,14 +1988,14 @@ $ \smalleroverrightarrow{v} \qquad \smalleroverrightarrow{AB} $
% commands creation), the |tikz| method is chosen, then the arrow is drawn by
% the command:
% \begin{center}
-% \cs{tikz}|[|\refKey*{tikz options}|]{|\refKey*{tikz command}|}|
+% \cs{tikz}|[<|\refKey*{tikz options}|>]{<|\refKey*{tikz command}|>}|
% \end{center}
% \noindent where \refKey{tikz options} and \refKey{tikz command} are two keys
% described below. When \refKey*{tikz command} is let unset, the drawing command
% turns into:
% \begin{center}
-% \cs{tikz}|[|\refKey*{tikz options}|]{|\cs{draw}|[|\refKey*{path options}|]|
-% \refKey*{path}|;}|
+% \cs{tikz}|[<|\refKey*{tikz options}|>]{|\cs{draw}|[<|\refKey*{path options}|>]|
+% |<|\refKey*{path}|>;}|
% \end{center}
%
% The best way to customise |tikz| arrows is then to set the keys \refKey{tikz
@@ -1899,7 +2007,7 @@ $ \smalleroverrightarrow{v} \qquad \smalleroverrightarrow{AB} $
%<*example>
% \fi
\begin{dispExample*}{grow to left by=-2em}
-\NewOverArrowCommand[tikz]{overdotteddoublearrow}{%
+\NewOverArrowCommand[tikz]{\overdotteddoublearrow}{%
add tikz options={blue}, add path options={densely dotted},
arrows={->[scale=0.5]>[scale=0.5]}, thinner,
min length=20, space after arrow={0.3ex},
@@ -1910,16 +2018,18 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%</example>
% \fi
%
+% \bigskip
+%
% The following keys are available when the |tikz| method is chosen.
%
-% \begin{docKey}[][before lower=\medskip\par]
+% \begin{docKey}[][before lower=\bigskip\par]
% {tikz options}{=\marg{TikZ options}}
% {no default, initially |x=|\cs{overarrowlength}|, line
% width=|\cs{overarrowthickness}}
% Sets TikZ options to \meta{TikZ options}.
%\end{docKey}
%
-% \begin{docKey}[][before lower=\medskip\par]
+% \begin{docKey}[][before lower=\bigskip\par]
% {path options}{=\marg{path options}}
% {no default, initially |arrows={-Classical TikZ Rightarrow}, cap=round|}
% Sets TikZ path options to \meta{path options}.
@@ -1957,21 +2067,102 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
% value \cs{draw}|[|\refKey*{path options}|] |\refKey*{path}|;| is used.
%\end{docKey}
%
+% \subsubsection{PSTricks settings}
+% \label{sec:pstricks-keys}
+%
+% \tcbdocmarginnote{\tcbdocnew{v1.2 2024/07/11}}
+% If, at command creation (see section~\ref{sec:macro-for-commands-creation},
+% page~\pageref{sec:macro-for-commands-creation} for the documentation of
+% commands creation), the |pstricks| method is chosen, then the arrow is drawn
+% by:
+% \begin{flushleft}\leftskip=3cm
+% \cs{begin}|{pspicture}<|\refDoc{key:pstricks}*{geometry}|>%|\\
+% \quad\cs{psset}|{linewidth=<|\refDoc{key:pstricks}*{line thickness}|>}%|\\
+% \quad\cs{psset}|{<|\refKey*{psset}|>}%|\\
+% \quad|<|\refKey*{pstricks command}|>%|\par
+% \cs{end}|{pspicture}%|
+% \end{flushleft}
+% \noindent where \refDoc{key:pstricks}{geometry}, \refDoc{key:pstricks}{line
+% thickness} \refKey*{psset} and \refKey*{pstricks command} are four keys
+% described below.
+%
+%\iffalse
+%<*example>
+% \fi
+\begin{dispExample*}{grow to left by=-2em}
+\NewOverArrowCommand[pstricks]{\overloopandarrow}{
+ pstricks command={%
+ \pscurve{->}(0,0)
+ (0.6\overarrowlength,0.05\overarrowlength)
+ (0.5\overarrowlength,0.1\overarrowlength)
+ (0.4\overarrowlength,0.05\overarrowlength)
+ (\overarrowlength,0)
+ },
+ geometry={(0,0)(\overarrowlength,0.2\overarrowlength)},
+ space after arrow=2pt, min length=20,
+ geometry={(0,0)(\overarrowlength,0.2\overarrowlength)},
+}
+$ \overloopandarrow{v} \qquad \overloopandarrow{AB} $
+\end{dispExample*}
+% \iffalse
+%</example>
+% \fi
+%
+% \bigskip
+%
+% The following keys are available when the |pstricks| method is chosen.
+%
+% \begin{docKey}[][before lower=\bigskip\par]
+% {pstricks command}{=\marg{pstricks command}}
+% {no default, initially \cs{psline}|\{->\}(0,0)(|\refCom*{overarrowlength}|,0)|}
+% Sets the |pspicture| command to \meta{pstricks command}.
+% \end{docKey}
+%
+% \begin{docKey}[][doc label={pstricks:arrow}]%^^A same name as for TikZ
+% {arrow}{=\marg{arrow}}
+% {no default, initially |->|}
+% Sets \refKey{pstricks command} with
+% |\psline{|\meta{arrow}|}(0,0)(|\refCom*{overarrowlength}|,0)|.
+% \end{docKey}
+%
+% \begin{docKey}[][]
+% {psset}{=\marg{pstricks setting}}
+% {no default, initially empty}
+% Sets \meta{pstricks setting} with \cs{psset}.
+% \end{docKey}
+%
+% \begin{docKey}[][before lower=\bigskip\par, doc label={pstricks:geometry}]%^^A same name as for picture
+% {geometry}{=\marg{pstricks geometry specification}}
+% {no default, initially |(0,-0.5ex)(|\refCom*{overarrowlength}|,1ex)|}
+% Sets the |pspicture| geometry to \meta{pstricks geometry specification}.
+% \end{docKey}
+%
+% \begin{docKey}[][doc label={pstricks:line thickness}]%^^A same name as for TikZ
+% {line thickness}{=\marg{length}}{no default}
+% Sets the line thickness to \meta{length}.
+% \end{docKey}
+%
+% \begin{docKey}[][doc label={pstricks:thinner}]%^^A same name as for TikZ
+% {thinner}{}{}
+% Sets the keys \refDoc{key:pstricks}{line thickness} with
+% \cs{overarrowsmallerthickness}.
+% \end{docKey}
+%
% \subsubsection{Picture environment settings}
% \label{sec:picture-keys}
%
% If, at command creation (see section~\ref{sec:macro-for-commands-creation},
% page~\pageref{sec:macro-for-commands-creation} for the documentation of
% commands creation), the |picture| method is chosen, then the arrow is drawn
-% with by:
+% by:
% \begin{flushleft}\leftskip=3cm
-% \cs{begin}|{picture}|\refKey*{geometry}|%|\\
-% \quad\cs{linethickness}|{|\refDoc{key:picture}*{line thickness}|}%|\\
-% \quad\refKey*{picture command}|%|\par
+% \cs{begin}|{picture}<|\refDoc{key:picture}*{geometry}|>%|\\
+% \quad\cs{linethickness}|{<|\refDoc{key:picture}*{line thickness}|>}%|\\
+% \quad|<|\refKey*{picture command}|>%|\par
% \cs{end}|{picture}%|
% \end{flushleft}
-% \noindent where \refKey{geometry}, \refDoc{key:picture}{line thickness} and
-% \refKey*{picture command} are three keys described below.
+% \noindent where \refDoc{key:picture}{geometry}, \refDoc{key:picture}{line
+% thickness} and \refKey*{picture command} are three keys described below.
%
%\iffalse
%<*example>
@@ -1979,7 +2170,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\begin{dispExample*}{grow to left by=-2em}
% ^^A \arc and \roundcap commands are from the pict2e package
% ^^A this example needs \usepackage{pict2e} in the preamble
- \NewOverArrowCommand[picture]{overarc}{%
+ \NewOverArrowCommand[picture]{\overarc}{%
picture command={%
\roundcap
\put(0.5\overarrowlength,0){\arc[180,0]{0.6\overarrowlength}}
@@ -1994,15 +2185,18 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
% \iffalse
%</example>
% \fi
-% The following keys are available when the |picture| method is chosen.
%
-% \begin{docKey}[][before lower=\medskip\par]
+% \bigskip
+%
+%The following keys are available when the |picture| method is chosen.
+%
+% \begin{docKey}[][before lower=\bigskip\par]
% {picture command}{=\marg{picture command}}
% {no default, initially \cs{put}|(0,0)\{|\cs{vector}|(1,0)\{|\refCom*{overarrowlength}|\}\}|}
% Sets picture command to \meta{picture command}.
% \end{docKey}
%
-% \begin{docKey}[][before lower=\medskip\par]
+% \begin{docKey}[][before lower=\bigskip\par, doc label={picture:geometry}]%^^A same name as for pstricks
% {geometry}{=\marg{picture geometry specification}}
% {no default, initially |(|\refCom*{overarrowlength}|,1ex)(0,-0.5ex)|}
% Sets picture geometry to \meta{picture geometry specification}.
@@ -2029,6 +2223,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
% \subsubsection{Advanced commands}
%
% \begin{docCommand}{SetOverArrowsSubscriptCommand}{\marg{command}}
+% \tcbdocmarginnote{\tcbdocnew{v1.1 2023/02/15}}
% Sets to \meta{command} the command used for subscript detection, when this
% is enabled by the key \refKey{detect subscripts} (see the
% section~\ref{sec:non-standard-subscripts},
@@ -2131,6 +2326,12 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
% \symb{\relbareda} from the \pkg{esvect} package. This can be fixed with the
% \refOpt{noesvect} option.
%
+% Depending of the math font, predefined commands may be faulty. For example, at
+% the time of writing, hooks vertical position is incorrect with \emph{Asana
+% Math} or \cs{harrowextender} is badly positioned with \emph{Stix two Math}
+% (for the smallest math styles), \emph{Libertinus Math} and
+% \emph{GFSNeohellenicMath}.
+%
% \subsubsection{Detection of non standard subscripts}
% \label{sec:non-standard-subscripts}
%
@@ -2225,11 +2426,25 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \subsection{Changelog}
%
-% \begin{description}
-% \item[v1.1] Support for non-standard subscripts
-% \item[v1.0.1] Bug fix for under* options.
-% \item[v1.0] Initial version.
-% \end{description}
+% \begingroup
+% \renewcommand{\arraystretch}{2}
+% \begin{tabular*}{\linewidth}
+% {@{} l @{\extracolsep{\fill}} p{0.9\linewidth} @{}}
+% v1.2 & \noindent\par\vspace{-\baselineskip}
+% \begin{itemize}[left=0pt, topsep=0pt, partopsep=0pt]
+% \item Fix compatibility issues with \pkg{unicode-math}.
+% \item Allow to draw the arrow with PSTricks.
+% \item Make \pkg{esvect} handle all font sizes.
+% \item Rewrite starred variant for better performances.
+% \end{itemize}
+% \\
+% v1.1 & Support for non-standard subscripts.
+% \\
+% v1.0.1 & Bug fix for under* options.
+% \\
+% v1.0 & Initial version.
+% \end{tabular*}
+% \endgroup
%
% \StopEventually{}
%
@@ -2250,6 +2465,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\newif\ifovar@option@oldarrows@
\newif\ifovar@option@esvect@ \ovar@option@esvect@true \PassOptionsToPackage{f}{esvect}
\newif\ifovar@option@tikz@
+\newif\ifovar@option@pstricks@
\newif\ifovar@option@pstarrows@
\newif\ifovar@detectsubscripts@
\newif\ifovar@option@subother@
@@ -2280,6 +2496,8 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \subsubsection*{Declaration of options}
%
+% \changes{v1.2}{2024/07/11}{Add option pstricks}
+%
% \begin{macrocode}
\DeclareOption{esvect}{\ovar@option@esvect@true}
\DeclareOption{noesvect}{\ovar@option@esvect@false}
@@ -2293,6 +2511,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\DeclareOption{esvecth}{\ovar@option@esvect@true\PassOptionsToPackage{h}{esvect}}
\DeclareOption{old-arrows}{\ovar@option@oldarrows@true}
\DeclareOption{tikz}{\ovar@option@tikz@true}
+\DeclareOption{pstricks}{\ovar@option@pstricks@true}
\DeclareOption{pstarrows}{\ovar@option@pstarrows@true}
\DeclareOption{subscripts}{\ovar@detectsubscripts@true}
\DeclareOption{subother}{\ovar@option@subother@true}
@@ -2381,23 +2600,42 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\RequirePackage{amsmath}
\RequirePackage{etoolbox}
% \end{macrocode}
+%
% Option \refOpt{old-arrows}. Configuration of arrows used for
% predefined commands.
+% \changes{v1.2}{2024/07/11}{Use \cs{def} instead of \cs{let} for
+% \cs{ovar@rightarrow} and \cs{ovar@leftarrow}}
% \begin{macrocode}
-\let\ovar@rightarrow\rightarrow
-\let\ovar@leftarrow\leftarrow
+\def\ovar@rightarrow{\rightarrow}
+\def\ovar@leftarrow{\leftarrow}
\ifovar@option@oldarrows@
\RequirePackage[old]{old-arrows}
- \let\ovar@rightarrow\varrightarrow
- \let\ovar@leftarrow\varleftarrow
+ \def\ovar@rightarrow{\varrightarrow}
+ \def\ovar@leftarrow{\varleftarrow}
\fi
% \end{macrocode}
+%
% Option \refOpt{esvect}.
% \begin{macrocode}
\ifovar@option@esvect@
\RequirePackage{esvect}
+% \end{macrocode}
+% \changes{v1.2}{2024/07/11}{Fix esvect font sizes}
+% Fix font description in |uesvect.fd| to allow any sizes (taken from Enrico
+% Gregorio, \url{https://tex.stackexchange.com/a/689863/})
+% \begin{macrocode}
+ \DeclareFontFamily{U}{esvect}{}
+ \DeclareFontShape{U}{esvect}{m}{n}{
+ <-5.5> vect5
+ <5.5-6.5> vect6
+ <6.5-7.5> vect7
+ <7.5-8.5> vect8
+ <8.5-9.5> vect9
+ <9.5-> vect10
+ }{}
\fi
% \end{macrocode}
+%
% Option \refOpt{tikz}.
% \begin{macrocode}
\ifovar@option@tikz@
@@ -2405,6 +2643,14 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\usetikzlibrary{arrows.meta}
\fi
% \end{macrocode}
+%
+% Option \refOpt{pstricks}.
+% \begin{macrocode}
+\ifovar@option@pstricks@
+ \RequirePackage{pstricks-add}
+\fi
+% \end{macrocode}
+%
% Option \refOpt{pstarrows}.
% \begin{macrocode}
\ifovar@option@pstarrows@
@@ -2412,6 +2658,43 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\fi
% \end{macrocode}
%
+% Add hook rules to apply settings after \pkg{unicode-math}.
+% \begin{macrocode}
+\DeclareHookRule{begindocument}{overarrows}{after}{unicode-math-luatex}
+\DeclareHookRule{begindocument}{overarrows}{after}{unicode-math-xetex}
+% \end{macrocode}
+%
+% \changes{v1.2}{2024/07/11}{Use \cs{harrowextender}, if availlable.}
+% Set \cs{ovar@auto@middle} and \cs{ovar@auto@trim@middle}, used by
+% configurations made with \refKey*{middle config}|=auto|.
+% \begin{macrocode}
+\AddToHook{begindocument}[overarrows]
+ {%
+ \ifdef{\relbareda}
+ {%
+ \gdef\ovar@auto@middle{\relbareda}
+ \gdef\ovar@auto@trim@middle{1}
+ }
+ {%
+ \gdef\ovar@auto@middle{\relbar}
+ \gdef\ovar@auto@trim@middle{2.5}
+ }%
+ \@ifpackageloaded{unicode-math}
+ {%
+% \end{macrocode}
+% Test of \cs{harrowextender} availability taken from Enrico Gregorio,
+% (\url{https://tex.stackexchange.com/a/218407/}).
+% \begin{macrocode}
+ \check@mathfonts
+ \iffontchar\textfont\tw@\string"23AF
+ \gdef\ovar@auto@middle{\mathrel\harrowextender}
+ \gdef\ovar@auto@trim@middle{0}
+ \fi
+ }
+ {}%
+ }
+% \end{macrocode}
+%
% \subsection*{Configuration of subscripts detection}
%
% \changes{v1.1}{2023/02/15}{Support for non-standard subscripts}
@@ -2424,6 +2707,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
% \end{macro}
%
% Initial configuration.
+% \changes{v1.2}{2024/07/11}{Remove useless \cs{AtBeginDocument}}
% \begin{macrocode}
\SetOverArrowsSubscriptCommand{_}
% \end{macrocode}
@@ -2432,7 +2716,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\ifovar@option@subother@
\begingroup
\catcode `_=12
- \AddToHook{begindocument/end}{\SetOverArrowsSubscriptCommand{_}}
+ \SetOverArrowsSubscriptCommand{_}%
\endgroup
\fi
% \end{macrocode}
@@ -2441,7 +2725,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\ifovar@option@subactive@
\begingroup
\catcode `_=13
- \AddToHook{begindocument/end}{\SetOverArrowsSubscriptCommand{_}}
+ \SetOverArrowsSubscriptCommand{_}%
\endgroup
\fi
% \end{macrocode}
@@ -2662,12 +2946,25 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
}
}
},
+% \end{macrocode}
+% \changes{v1.2}{2024/07/11}{Add config \refKey*{middle config}|=harrowextender|}
+% \begin{macrocode}
+ middle config/harrowextender/.code={%
+ \pgfkeysalso{%
+ middle={\harrowextender},
+ trim middle={0},
+ }
+ },
+% \end{macrocode}
+% Set \refKey*{middle config} with (hopefully) a good configuration. It would be
+% better to reuse the previous \refKey*{middle config} settings, but we have to
+% wait for the |begindocument| hook to know which one to use.
+% \begin{macrocode}
middle config/auto/.code={%
- \ifovar@option@esvect@
- \pgfkeysalso{middle config=relbareda}
- \else
- \pgfkeysalso{middle config=relbar}
- \fi
+ \pgfkeysalso{%
+ middle={\ovar@auto@middle},
+ trim middle={\ovar@auto@trim@middle},
+ }
},
% \end{macrocode}
% \refKey{amsmath}.
@@ -2775,6 +3072,59 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
}
% \end{macrocode}
%
+% \subsubsection*{Keys for the \texttt{pstricks} method}
+%
+% \changes{v1.2}{2024/07/11}{Add the method pstricks}
+%
+% \begin{macrocode}
+\SetOverArrowsMethod[lens]{pstricks}{%
+% \end{macrocode}
+% Arrow macro.
+% \begin{macrocode}
+ no arrow macro hook/.code={%
+ \ovar@set{%
+ arrow macro/.expanded={%
+ $\noexpand\mkern \expandonce{\ovar@shift@left} mu\noexpand\relax$%
+ \noexpand\begin{pspicture}\expandonce{\ovar@pstricks@geometry}%
+ \noexpand\psset{linewidth=\expandonce{\ovar@pstricks@linethickness}}%
+ \noexpand\psset{\expandonce{\ovar@pstricks@psset}}%
+ \expandonce{\ovar@pstricks@command}%
+ \noexpand\end{pspicture}%
+ $\noexpand\mkern \expandonce{\ovar@shift@right} mu\noexpand\relax$%
+ }
+ }
+ },
+% \end{macrocode}
+% Pstricks parts: \refKey{pstricks command}, \refKey{psset},
+% \refDoc{key:pstricks}{geometry}, \refDoc{key:pstricks}{line thickness}.
+% \begin{macrocode}
+ pstricks command/.store in=\ovar@pstricks@command,
+ psset/.store in=\ovar@pstricks@psset,
+ geometry/.store in=\ovar@pstricks@geometry,
+ line thickness/.store in=\ovar@pstricks@linethickness,
+ pstricks command/.value required,
+ psset/.value required,
+ geometry/.value required,
+ line thickness/.value required,
+% \end{macrocode}
+% Pstricks handy key: \refDoc{key:pstricks}{arrow}, \refDoc{key:pstricks}{thinner}.
+% \begin{macrocode}
+ arrow/.style={pstricks command={\psline{##1}(0,0)(\overarrowlength,0)}},%
+ arrow/.value required,%
+ thinner/.style={line thickness={\overarrowsmallerthickness}},%
+ thinner/.value forbidden,%
+% \end{macrocode}
+% Initial configuration.
+% \begin{macrocode}
+ shift right=-2,
+ min length=12,
+ geometry={(0,-0.5ex)(\overarrowlength,0.5ex)},%
+ line thickness={\overarrowthickness},%
+ arrow={->},%
+ psset={},%
+}
+% \end{macrocode}
+%
% \subsubsection*{Keys for the \texttt{picture} method}
%
% \begin{macrocode}
@@ -2795,7 +3145,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
}
},
% \end{macrocode}
-% Picture parts: \refKey{picture command}, \refKey{geometry},
+% Picture parts: \refKey{picture command}, \refDoc{key:picture}{geometry},
% \refDoc{key:picture}{line thickness}.
% \begin{macrocode}
picture command/.store in=\ovar@picture@command,
@@ -2831,9 +3181,9 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
Previous definition will be overridden}
}{}
% \end{macrocode}
-% Use a default value of |3.5 mu|, as recommended by egreg (see
+% Use a default value of |3.5 mu|, as recommended by Enrico Gregorio (see
% \url{https://tex.stackexchange.com/a/471736}). \cs{joinrel}
-% uses a value of 3 mu.
+% uses a value of 3 mu.
% \begin{macrocode}
\DeclareRobustCommand{\xjoinrel}[1][3.5]{\mathrel{\mkern-#1mu}}
% \end{macrocode}
@@ -2872,7 +3222,6 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\newlength{\overarrowlength}
\newlength{\overarrowthickness}
\newlength{\overarrowsmallerthickness}
-\newlength{\ovar@extralength}
\newlength{\ovar@tempdim}
% \end{macrocode}
%
@@ -2891,26 +3240,75 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
% \end{macro}
%
% \begin{macro}{\ovar@set@arrowthickness}
+% \begin{macro}{\ovar@set@arrowthickness@UM@lua}
% Sets \refLen{overarrowthickness} and \refLen{overarrowsmallerthickness}.\\
-% |#1|: arrow length\\
-% |#2|: math style
+% |#1|: math style
+%
+% Set to the default rule thickness of the current math style, normaly given by
+% \cs{fontdimen} 8 family 3. With \pkg{unicode-math}, use instead:
+% \begin{itemize}
+% \item \cs{fontdimen} 54 family 2 with XeTeX,
+% \item \cs{Umathoverbarrule} with LuaTex.
+% \end{itemize}
+% \changes{v1.2}{2024/07/11}{Get the correct rule thickness with unicode-math}
% \begin{macrocode}
-\def\ovar@set@arrowthickness#1{% use rule thickness=\fontdimen 8 font family 3
+\def\ovar@rulethickness@fontdimen{8}
+\def\ovar@rulethickness@family{3}
+\def\ovar@set@arrowthickness#1{%
\ifx#1\displaystyle%
- \overarrowthickness = \fontdimen 8 \textfont 3%
- \overarrowsmallerthickness = \fontdimen 8 \scriptfont 3%
+ \overarrowthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \textfont \ovar@rulethickness@family%
+ \overarrowsmallerthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptfont \ovar@rulethickness@family%
\else\ifx#1\textstyle%
- \overarrowthickness = \fontdimen 8 \textfont 3%
- \overarrowsmallerthickness = \fontdimen 8 \scriptfont 3%
+ \overarrowthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \textfont \ovar@rulethickness@family%
+ \overarrowsmallerthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptfont \ovar@rulethickness@family%
\else\ifx#1\scriptstyle%
- \overarrowthickness = \fontdimen 8 \scriptfont 3%
- \overarrowsmallerthickness = \fontdimen 8 \scriptscriptfont 3%
+ \overarrowthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptfont \ovar@rulethickness@family%
+ \overarrowsmallerthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptscriptfont \ovar@rulethickness@family%
\else%
- \overarrowthickness = \fontdimen 8 \scriptscriptfont 3%
+ \overarrowthickness =
+ \fontdimen \ovar@rulethickness@fontdimen \scriptscriptfont \ovar@rulethickness@family%
\overarrowsmallerthickness = \overarrowthickness%
\fi\fi\fi%
}
% \end{macrocode}
+% \pkg{unicode-math} with LuaTeX version.
+% \begin{macrocode}
+\def\ovar@set@arrowthickness@UM@lua#1{%
+ \overarrowthickness = \Umathoverbarrule #1
+ \ifx#1\displaystyle%
+ \overarrowsmallerthickness = \Umathoverbarrule \textstyle%
+ \else\ifx#1\textstyle%
+ \overarrowsmallerthickness = \Umathoverbarrule \scriptstyle%
+ \else%
+ \overarrowsmallerthickness = \Umathoverbarrule \scriptscriptstyle%
+ \fi\fi%
+}
+% \end{macrocode}
+% Test which version to use.
+% \begin{macrocode}
+\AddToHook{begindocument}[overarrows]
+ {%
+ \@ifpackageloaded{unicode-math-luatex}
+ {%
+ \global\let\ovar@set@arrowthickness\ovar@set@arrowthickness@UM@lua
+ }
+ {%
+ \@ifpackageloaded{unicode-math-xetex}
+ {%
+ \gdef\ovar@rulethickness@fontdimen{54}
+ \gdef\ovar@rulethickness@family{2}
+ }
+ {}
+ }
+ }
+% \end{macrocode}
+% \end{macro}
% \end{macro}
%
% \subsubsection*{Stack macros}
@@ -3017,18 +3415,39 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \subsubsection*{Macro for commands creation}
%
+% \changes{v1.2}{2024/07/11}{Allow backslash in command name}
+% In the initial version, the commands names must be given as csname (without
+% backslash). To harmonize the syntax with standard \cs{NewDocumentCommand},
+% define an argument processor so that both
+% \cs{NewOverArrowCommand}|{\myarrow}| and
+% \cs{NewOverArrowCommand}|{myarrow}| are accepted.
+%
+% \begin{macrocode}
+\ExplSyntaxOn
+\cs_new_protected:Npn \__overarrows_processor_strip_escape_char:n #1
+ {
+ \regex_match:nnTF { ^\cC. } { #1 }
+ { \tl_set:Nx \ProcessedArgument { \cs_to_str:N #1 } }
+ { \tl_set:Nx \ProcessedArgument { #1 } }
+ }
+\cs_new_eq:NN \ovar@cmdname@processor \__overarrows_processor_strip_escape_char:n
+\ExplSyntaxOff
+% \end{macrocode}
+%
% \begin{macro}{\DeclareOverArrowCommand}
% \begin{macrocode}
-\NewDocumentCommand{\DeclareOverArrowCommand}{ O{symb} m m }{%
+\NewDocumentCommand{\DeclareOverArrowCommand}{
+ O{symb} >{\ovar@cmdname@processor} m m
+}{%
\begingroup
\ovar@set@common
\ifcsdef{ovar@set@#1}{%
\csuse{ovar@set@#1}
}{%
\PackageError{overarrows}{Unknown method #1}
- {Try with 'symb', 'tikz' or 'picture'}
+ {Try with 'symb', 'tikz', 'pstriks' or 'picture'}
}
- \ovar@set{#3 }
+ \ovar@set{#3}
\ifdef{\ovar@macro@arrow}{}{%
\ovar@set{no arrow macro hook}
}
@@ -3050,7 +3469,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\ifovar@detectsubscripts@%
\csgdef{ovar@#2@auto}##1{%
% \end{macrocode}
-% \vspace{-2\smallskipamount}%^^A remove space between code blocs
+% \vspace{-2\smallskipamount}%^^A remove space between code blocks
% \changes{v1.1}{2023/02/15}{Support for non-standard subscripts}
% \begin{macrocode}
\@ifnextchar \ovar@subcmd {%
@@ -3080,7 +3499,9 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \begin{macro}{\ProvideOverArrowCommand}
% \begin{macrocode}
-\NewDocumentCommand{\ProvideOverArrowCommand}{ O{symb} m m }{%
+\NewDocumentCommand{\ProvideOverArrowCommand}{
+ O{symb} >{\ovar@cmdname@processor} m m
+}{%
\ifcsdef{#2}{}{
\DeclareOverArrowCommand[#1]{#2}{#3}
}
@@ -3090,7 +3511,9 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \begin{macro}{\NewOverArrowCommand}
% \begin{macrocode}
-\NewDocumentCommand{\NewOverArrowCommand}{ O{symb} m m }{%
+\NewDocumentCommand{\NewOverArrowCommand}{
+ O{symb} >{\ovar@cmdname@processor} m m
+}{%
\ifcsdef{#2}{%
\PackageError{overarrows}{Command \csname #2\endcsname already defined}%
{You have used \protect\NewOverArrowCommand\space with a command that
@@ -3105,7 +3528,9 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \begin{macro}{\RenewOverArrowCommand}
% \begin{macrocode}
-\NewDocumentCommand{\RenewOverArrowCommand}{ O{symb} m m }{%
+\NewDocumentCommand{\RenewOverArrowCommand}{
+ O{symb} >{\ovar@cmdname@processor} m m
+}{%
\ifcsundef{#2}{%
\PackageError{overarrows}{Command \csname #2\endcsname undefined}%
{You have used \protect\RenewOverArrowCommand\space with a command that was
@@ -3120,17 +3545,21 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \subsubsection*{Starred variant}
%
+% \changes{v1.2}{2024/07/11}{Use boxes in starred variant for better performances}
% \begin{macro}{\ovar@starversion}
% |#1|: definition (stack macro + arrow macro)\\
% |#2|: math style\\
% |#3|: content
% \begin{macrocode}
+\newsavebox\ovar@tempbox
\def\ovar@starversion#1#2#3{%
- #1#2{#3}%
- \settowidth{\ovar@extralength}{$\m@th#1#2{#3}$}
- \settowidth{\ovar@tempdim}{$\m@th#2{#3}$}
- \deflength{\ovar@extralength}{0.5\ovar@extralength-0.5\ovar@tempdim}%
- \kern-\ovar@extralength%
+ \sbox{\ovar@tempbox}{$\m@th #1#2{#3}$}%
+ \usebox{\ovar@tempbox}%
+% \end{macrocode}
+% Remove the extra space added by the arrow.
+% \begin{macrocode}
+ \settowidth{\ovar@tempdim}{$\m@th #2{#3}$}%
+ \kern\dimeval{0.5\ovar@tempdim - 0.5\wd\ovar@tempbox}%
}
% \end{macrocode}
% \end{macro}
@@ -3144,7 +3573,11 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\ifovar@option@esvect@
\let\esvectvv\vv
\undef\vv
- \NewOverArrowCommand{vv}{esvect, middle config=auto}
+% \end{macrocode}
+% \changes{v1.2}{2024/07/11}{Use \refKey{middle config}|=relbareda| instead of
+% \refKey{middle config}|=auto|}
+% \begin{macrocode}
+ \NewOverArrowCommand{\vv}{esvect, middle config = relbareda}
\fi
% \end{macrocode}
% \end{macro}
@@ -3152,216 +3585,231 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \subsubsection*{Predefined commands}
%
+% \changes{v1.2}{2024/07/11}{Declare predefined commands after \pkg{unicode-math} settings}
+% Declare predefined commands after \pkg{unicode-math} settings.
+%
+% \begin{macrocode}
+\AddToHook{begindocument}[overarrows]
+ {
+% \end{macrocode}
+%
% \begin{macro}{\overrightarrow}
% \begin{macrocode}
-\ifovar@option@overrightarrow@
- \DeclareOverArrowCommand{overrightarrow}{%
- amsmath, middle config=relbar,
- end=\ovar@rightarrow,
- right arrow,
- }
-\fi
+ \ifovar@option@overrightarrow@
+ \DeclareOverArrowCommand{\overrightarrow}{%
+ amsmath, middle config=relbar,
+ end=\ovar@rightarrow,
+ right arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underrightarrow}
% \begin{macrocode}
-\ifovar@option@underrightarrow@
- \DeclareOverArrowCommand{underrightarrow}{%
- amsmath, middle config=relbar,
- end=\ovar@rightarrow,
- right arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underrightarrow@
+ \DeclareOverArrowCommand{\underrightarrow}{%
+ amsmath, middle config=relbar,
+ end=\ovar@rightarrow,
+ right arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overleftarrow}
% \begin{macrocode}
-\ifovar@option@overleftarrow@
- \DeclareOverArrowCommand{overleftarrow}{%
- amsmath, middle config=relbar,
- start=\ovar@leftarrow,
- end=\relbar,
- left arrow,
- }
-\fi
+ \ifovar@option@overleftarrow@
+ \DeclareOverArrowCommand{\overleftarrow}{%
+ amsmath, middle config=relbar,
+ start=\ovar@leftarrow,
+ end=\relbar,
+ left arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underleftarrow}
% \begin{macrocode}
-\ifovar@option@underleftarrow@
- \DeclareOverArrowCommand{underleftarrow}{%
- amsmath, middle config=relbar,
- start=\ovar@leftarrow,
- end=\relbar,
- left arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underleftarrow@
+ \DeclareOverArrowCommand{\underleftarrow}{%
+ amsmath, middle config=relbar,
+ start=\ovar@leftarrow,
+ end=\relbar,
+ left arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overleftrightarrow}
% \begin{macrocode}
-\ifovar@option@overleftrightarrow@
- \DeclareOverArrowCommand{overleftrightarrow}{%
- amsmath, middle config=relbar,
- start=\ovar@leftarrow,
- end=\ovar@rightarrow,
- center arrow,
- }
-\fi
+ \ifovar@option@overleftrightarrow@
+ \DeclareOverArrowCommand{\overleftrightarrow}{%
+ amsmath, middle config=relbar,
+ start=\ovar@leftarrow,
+ end=\ovar@rightarrow,
+ center arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underleftrightarrow}
% \begin{macrocode}
-\ifovar@option@underleftrightarrow@
- \DeclareOverArrowCommand{underleftrightarrow}{%
- amsmath, middle config=relbar,
- start=\ovar@leftarrow,
- end=\ovar@rightarrow,
- center arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underleftrightarrow@
+ \DeclareOverArrowCommand{\underleftrightarrow}{%
+ amsmath, middle config=relbar,
+ start=\ovar@leftarrow,
+ end=\ovar@rightarrow,
+ center arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overrightharpoonup}
% \begin{macrocode}
-\ifovar@option@overrightharpoonup@
- \DeclareOverArrowCommand{overrightharpoonup}{%
- amsmath, middle config=relbar,
- end=\rightharpoonup,
- right arrow,
- }
-\fi
+ \ifovar@option@overrightharpoonup@
+ \DeclareOverArrowCommand{\overrightharpoonup}{%
+ amsmath, middle config=relbar,
+ end=\rightharpoonup,
+ right arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underrightharpoonup}
% \begin{macrocode}
-\ifovar@option@underrightharpoonup@
- \DeclareOverArrowCommand{underrightharpoonup}{%
- amsmath, middle config=relbar,
- end=\rightharpoonup,
- right arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underrightharpoonup@
+ \DeclareOverArrowCommand{\underrightharpoonup}{%
+ amsmath, middle config=relbar,
+ end=\rightharpoonup,
+ right arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overrightharpoondown}
% \begin{macrocode}
-\ifovar@option@overrightharpoondown@
- \DeclareOverArrowCommand{overrightharpoondown}{%
- amsmath, middle config=relbar,
- end=\rightharpoondown,
- right arrow,
- }
-\fi
+ \ifovar@option@overrightharpoondown@
+ \DeclareOverArrowCommand{\overrightharpoondown}{%
+ amsmath, middle config=relbar,
+ end=\rightharpoondown,
+ right arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underrightharpoondown}
% \begin{macrocode}
-\ifovar@option@underrightharpoondown@
- \DeclareOverArrowCommand{underrightharpoondown}{%
- amsmath, middle config=relbar,
- end=\rightharpoondown,
- right arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underrightharpoondown@
+ \DeclareOverArrowCommand{\underrightharpoondown}{%
+ amsmath, middle config=relbar,
+ end=\rightharpoondown,
+ right arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overleftharpoonup}
% \begin{macrocode}
-\ifovar@option@overleftharpoonup@
- \DeclareOverArrowCommand{overleftharpoonup}{%
- amsmath, middle config=relbar,
- start=\leftharpoonup,
- end=\relbar,
- left arrow,
- }
-\fi
+ \ifovar@option@overleftharpoonup@
+ \DeclareOverArrowCommand{\overleftharpoonup}{%
+ amsmath, middle config=relbar,
+ start=\leftharpoonup,
+ end=\relbar,
+ left arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underleftharpoonup}
% \begin{macrocode}
-\ifovar@option@underleftharpoonup@
- \DeclareOverArrowCommand{underleftharpoonup}{%
- amsmath, middle config=relbar,
- start=\leftharpoonup,
- end=\relbar,
- left arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underleftharpoonup@
+ \DeclareOverArrowCommand{\underleftharpoonup}{%
+ amsmath, middle config=relbar,
+ start=\leftharpoonup,
+ end=\relbar,
+ left arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overleftharpoondown}
% \begin{macrocode}
-\ifovar@option@overleftharpoondown@
- \DeclareOverArrowCommand{overleftharpoondown}{%
- amsmath, middle config=relbar,
- start=\leftharpoondown,
- end=\relbar,
- left arrow,
- }
-\fi
+ \ifovar@option@overleftharpoondown@
+ \DeclareOverArrowCommand{\overleftharpoondown}{%
+ amsmath, middle config=relbar,
+ start=\leftharpoondown,
+ end=\relbar,
+ left arrow,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\underleftharpoondown}
% \begin{macrocode}
-\ifovar@option@underleftharpoondown@
- \DeclareOverArrowCommand{underleftharpoondown}{%
- amsmath, middle config=relbar,
- start=\leftharpoondown,
- end=\relbar,
- left arrow,
- arrow under,
- }
-\fi
+ \ifovar@option@underleftharpoondown@
+ \DeclareOverArrowCommand{\underleftharpoondown}{%
+ amsmath, middle config=relbar,
+ start=\leftharpoondown,
+ end=\relbar,
+ left arrow,
+ arrow under,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\overbar}
% \begin{macrocode}
-\ifovar@option@overbar@
- \DeclareOverArrowCommand{overbar}{%
- amsmath, middle config=relbar,
- start={\std@minus}, end={\std@minus},% \relbar is defined with \mathsm@sh
- shift leftright=0,
- space after arrow=-0.3ex,
- }
-\fi
+ \ifovar@option@overbar@
+ \DeclareOverArrowCommand{\overbar}{%
+ amsmath, middle config=relbar,
+ start={\std@minus}, end={\std@minus},% \relbar is defined with \mathsm@sh
+ shift leftright=0,
+ space after arrow=-0.3ex,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
+% With \pkg{unicode-math}, add |\vphantom{+}| to get the correct position.
% \begin{macro}{\underbar}
% \begin{macrocode}
-\ifovar@option@underbar@
- \DeclareOverArrowCommand{underbar}{%
- amsmath, middle config=relbar,
- start={\std@minus}, end={\std@minus},% \relbar is defined with \mathsm@sh
- shift leftright=0,
- arrow under,
- space before arrow=-0.3ex,
- }
-\fi
+ \ifovar@option@underbar@
+ \DeclareOverArrowCommand{\underbar}{%
+ amsmath, middle config=relbar,
+ start={\vphantom{+}\std@minus}, end={\std@minus},% \relbar is defined with \mathsm@sh
+ shift leftright=0,
+ arrow under,
+ space before arrow=-0.3ex,
+ }
+ \fi
% \end{macrocode}
% \end{macro}
%
+% End of |\AddToHook{begindocument}| hook.
+% \begin{macrocode}
+ }
+% \end{macrocode}
+%
+%
% \subsubsection*{Test macros}
%
% \begin{macro}{\ovar@testmathstyles}
@@ -3422,7 +3870,9 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
%
% \begin{macro}{\TestOverArrow}
% \begin{macrocode}
-\NewDocumentCommand{\TestOverArrow}{ s o m }{
+\NewDocumentCommand{\TestOverArrow}{
+ s o >{\ovar@cmdname@processor} m
+}{%
\ifcsdef{#3}{}{%
\PackageWarning{overarrows}{Unknown name '#3' passed to
\protect\TestOverArrow}
@@ -3494,6 +3944,7 @@ $ \overdotteddoublearrow{v} \qquad \overdotteddoublearrow{AB} $
\lstdefinestyle{lstovardoc}{%
language = [LaTeX]TeX,
columns = flexible,
+ keepspaces = true,
keywordstyle = {\bfseries\color{ovar_darkblue}},
texcsstyle = *{\bfseries\color{ovar_darkblue}},
commentstyle = {\color{gray}},
@@ -3618,7 +4069,7 @@ actual '='
name=macrocode,
firstnumber=auto,
style = lstovarcode,
- showlines=false,
+ showlines = false,
% \end{macrocode}
% Commands and lengths identification and indexing
%
@@ -3648,8 +4099,9 @@ actual '='
% \begin{macrocode}
texcs = [4]{% internal macros
ovar@rightarrow, ovar@leftarrow, ifovar@option@oldarrows@,
- ifovar@option@esvect@, ifovar@option@tikz@, ifovar@option@pstarrows@,
- ifovar@detectsubscripts@, ifovar@option@debug@,
+ ifovar@option@esvect@, ifovar@option@tikz@, ifovar@option@pstricks@,
+ ifovar@option@pstarrows@, ifovar@detectsubscripts@,
+ ifovar@option@subother@, ifovar@option@subactive@, ifovar@option@debug@,
ifovar@option@overrightarrow@, ifovar@option@underrightarrow@,
ifovar@option@overleftarrow@, ifovar@option@underleftarrow@,
ifovar@option@overleftrightarrow@, ifovar@option@underleftrightarrow@,
@@ -3657,20 +4109,23 @@ actual '='
ifovar@option@overrightharpoondown@, ifovar@option@underrightharpoondown@,
ifovar@option@overleftharpoonup@, ifovar@option@underleftharpoonup@,
ifovar@option@overleftharpoondown@, ifovar@option@underleftharpoondown@,
- ifovar@option@overbar@, ifovar@option@underbar@, ovar@set, ovar@length@min,
+ ifovar@option@overbar@, ifovar@option@underbar@, ovar@auto@middle,
+ ovar@auto@trim@middle, ovar@subcmd, ovar@set, ovar@length@min,
ovar@before@arrow, ovar@after@arrow, ovar@macro@stack, ovar@macro@arrow,
- ovar@set@, ovar@shift@left, ovar@shift@right, ovar@stack@fill,
- ovar@stackunder@fill, ovar@stack@lens, ovar@stackunder@lens,
- ovar@macro@arrowfill, ovar@arrow@fill, ovar@arrow@start, ovar@trim@start,
- ovar@trim@middle, ovar@arrow@middle, ovar@trim@end, ovar@arrow@end,
- ovar@tikz@command, ovar@tikz@pathoptions, ovar@tikz@path,
- ovar@tikz@options, ovar@picture@geometry, ovar@picture@linethickness,
- ovar@picture@command, ovar@extralength, ovar@tempdim, ovar@set@arrowlength,
- ovar@set@arrowthickness, ovar@stackover@@, ovar@stackunder@@,
- ovar@stackover@, ovar@stackunder@, ovar@stackover@fill,
- ovar@stackover@lens, ovar@set@common, ovar@starversion,
- ovar@testmathstyles, ovar@row@teststyle,%
- ifovar@option@subother@,ifovar@option@subactive@,ovar@subcmd,ovar@testkerning,%
+ ovar@shift@left, ovar@shift@right, ovar@stack@fill, ovar@stackunder@fill,
+ ovar@stack@lens, ovar@stackunder@lens, ovar@macro@arrowfill,
+ ovar@arrow@fill, ovar@arrow@start, ovar@trim@start, ovar@trim@middle,
+ ovar@arrow@middle, ovar@trim@end, ovar@arrow@end, ovar@tikz@command,
+ ovar@tikz@pathoptions, ovar@tikz@path, ovar@tikz@options,
+ ovar@pstricks@geometry, ovar@pstricks@linethickness, ovar@pstricks@psset,
+ ovar@pstricks@command, ovar@picture@geometry, ovar@picture@linethickness,
+ ovar@picture@command, ovar@tempdim, ovar@set@arrowlength,
+ ovar@set@arrowthickness, ovar@set@arrowthickness@UM@lua,
+ ovar@rulethickness@fontdimen, ovar@rulethickness@family, ovar@stackover@@,
+ ovar@stackunder@@, ovar@stackover@, ovar@stackunder@, ovar@stackover@fill,
+ ovar@stackover@lens, ovar@cmdname@processor, ovar@set@common,
+ ovar@starversion, ovar@tempbox, ovar@testmathstyles, ovar@row@teststyle,
+ ovar@testkerning%
},
index = [4][texcs4],%
indexstyle = [4]\indexmacrointernal,%
@@ -3678,20 +4133,25 @@ actual '='
% Other macros identification
% \begin{macrocode}
moretexcs = [5]{% other macros
- Relbar, relbareda, relbaredd, rightarrow, Rightarrow, varleftarrow,
- varrightarrow, twoheadrightarrow,%
+ relbar, Relbar, relbareda, relbaredd, harrowextender, rightarrow,
+ Rightarrow, varleftarrow, varrightarrow, twoheadrightarrow,%
},
% \end{macrocode}
-% Il would be nice to also index keys, but spaces are badly handled by listings.
+% Il would be nice to also index keys, but spaces are badly handled by
+% \pkg{listings}.
% \begin{macrocode}
%^^A morekeywords = [2]{%
-%^^A no stack macro hook, stack macro, arrow macro, no arrow macro hook, min
-%^^A length, before arrow, after arrow, space before arrow, space after arrow,
-%^^A shift left, shift right, shift leftright, center arrow, left arrow, right
-%^^A arrow, arrow under, fill macro, start, middle, end, trim start, trim
-%^^A middle, trim end, trim, no trimming, middle config, amsmath, esvect, tikz
-%^^A command, tikz options, path options, path, add path options, add tikz
-%^^A options, arrows, line thickness, thinner, picture command, geometry, detect subscripts,
+%^^A overarrows, no stack macro hook, stack macro, detect subscripts, arrow
+%^^A macro, no arrow macro hook, min length, before arrow, after arrow, space
+%^^A before arrow, space after arrow, shift left, shift right, shift leftright,
+%^^A center arrow, left arrow, right arrow, arrow under, arrow under/noconfig,
+%^^A arrow under/autoconfig, fill macro, start, middle, end, trim start, trim
+%^^A middle, trim end, trim, no trimming, middle config, middle config/relbar,
+%^^A middle config/relbareda, middle config/harrowextender, middle config/auto,
+%^^A amsmath, amsmath/mimic, amsmath/strict, esvect, esvect/mimic,
+%^^A esvect/strict, tikz command, tikz options, path options, path, add path
+%^^A options, add tikz options, arrows, line thickness, thinner, pstricks
+%^^A command, psset, geometry, arrow, picture command,%
%^^A },
%^^A index = [3][keywords2],%
%^^A indexstyle = [3]\lstindexmacro,%
diff --git a/macros/latex/contrib/overarrows/overarrows.pdf b/macros/latex/contrib/overarrows/overarrows.pdf
index 7203b11bb3..701f3ec02f 100644
--- a/macros/latex/contrib/overarrows/overarrows.pdf
+++ b/macros/latex/contrib/overarrows/overarrows.pdf
Binary files differ
diff --git a/macros/latex/contrib/pagelayout/README.md b/macros/latex/contrib/pagelayout/README.md
index 4d62838bf4..8d08f566f7 100644
--- a/macros/latex/contrib/pagelayout/README.md
+++ b/macros/latex/contrib/pagelayout/README.md
@@ -1,4 +1,4 @@
-![The pagelayout LaTeX class](doc/banner.svg)
+![The pagelayout LaTeX class](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/banner.svg)
The pagelayout class enables you to design pages declaratively using simple macros for pages, covers, grids, templates, text, and graphics to create graphic rich, perfectly typeset, and print ready PDFs.
@@ -26,7 +26,7 @@ Create a page with the `\page` command. A grid with rows and cells helps you to
}
```
-![A page with a two column layout](doc/quickstart-1.svg)
+![A page with a two column layout](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/quickstart-1.svg)
### Templates
@@ -44,7 +44,7 @@ You can set width relations between grid cells and height relations between grid
\template{my template}{}
```
-![A template with two placeholders](doc/quickstart-2.svg)
+![A template with two placeholders](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/quickstart-2.svg)
You can set margin and gutter at grid, page, or document level.
@@ -72,17 +72,17 @@ You can scale and position a graphic. And you can add borders and box shadows to
}
```
-![Photo with border and shadow](doc/quickstart-3.svg)
+![Photo with border and shadow](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/quickstart-3.svg)
-Have a look at the [examples](doc) to learn how to create double pages, covers, and more.
+Have a look at the [examples](https://github.com/friedemannbartels/latex-pagelayout/tree/1.1.1/doc) to learn how to create double pages, covers, and more.
-For a complete reference, read the [manual](doc/pagelayout-manual.pdf).
+For a complete reference, read the [manual](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/pagelayout-manual.pdf).
## Installation
In general, you should use the package manager shipped with your TeX distribution to install the pagelayout package.
-To install manually, copy the contents of [pagelayout.tds.zip](https://github.com/friedemannbartels/latex-pagelayout/releases/download/1.1.0/pagelayout-1.1.0.tds.zip) to your local TeX directory tree and run the command `texhash`.
+To install manually, copy the contents of [pagelayout.tds.zip](https://github.com/friedemannbartels/latex-pagelayout/releases/download/1.1.1/pagelayout.tds.zip) to your local TeX directory tree and run the command `texhash`.
To enable image optimization, shadow creation, and preflight, perform these installation steps:
diff --git a/macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf b/macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf
index 6913eb17ce..a8ec76cc08 100644
--- a/macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf
+++ b/macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf
Binary files differ
diff --git a/macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex b/macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex
index 460f1170d0..df37ebaa6f 100644
--- a/macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex
+++ b/macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex
@@ -18,7 +18,7 @@
\usepackage{tikz}
\OnlyDescription
\hypersetup{pdfborder={0 0 0}}
-\def\pagelayoutversion{1.1.0}
+\def\pagelayoutversion{1.1.1}
\begin{document}
diff --git a/macros/latex/contrib/pagelayout/scripts/pagelayoutapi b/macros/latex/contrib/pagelayout/scripts/pagelayoutapi
index be034baaa7..1232ae3ab7 100755
--- a/macros/latex/contrib/pagelayout/scripts/pagelayoutapi
+++ b/macros/latex/contrib/pagelayout/scripts/pagelayoutapi
@@ -13,7 +13,7 @@
# LaTeX version 2008/05/04 or later.
#
-version=1.1.0
+version=1.1.1
_convert() {
turbo=$1
diff --git a/macros/latex/contrib/pagelayout/scripts/textestvis b/macros/latex/contrib/pagelayout/scripts/textestvis
index 8ddcde77e1..8120a7ba1f 100755
--- a/macros/latex/contrib/pagelayout/scripts/textestvis
+++ b/macros/latex/contrib/pagelayout/scripts/textestvis
@@ -13,7 +13,7 @@
# LaTeX version 2008/05/04 or later.
#
-version=1.1.0
+version=1.1.1
OK="$( tput setaf 2 )•$( tput sgr0 )"
FAILED="$( tput setaf 1 )$( tput bold )x$( tput sgr0 )"
@@ -122,13 +122,13 @@ test() {
fi
fi
- magick convert -density $2 -quiet $tmpdir/$name.pdf $tmpdir/$name.png
+ magick -density $2 -quiet $tmpdir/$name.pdf $tmpdir/$name.png
if [ -f "$tmpdir/$name.png" ]; then
mv $tmpdir/$name.png $tmpdir/$name-0.png
fi
if [ -f "$name.approved.pdf" ]; then
- magick convert -density $2 -quiet $name.approved.pdf $tmpdir/$name.approved.png
+ magick -density $2 -quiet $name.approved.pdf $tmpdir/$name.approved.png
if [ -f "$tmpdir/$name.approved.png" ]; then
mv $tmpdir/$name.approved.png $tmpdir/$name.approved-0.png
fi
@@ -311,11 +311,11 @@ compare() {
spacer=""
if [ -f "$filea" ]; then
if [ -f "$fileb" ]; then
- magick convert -density $1 -quiet $filea $tmpdir/$basenamea.png
+ magick -density $1 -quiet $filea $tmpdir/$basenamea.png
if [ -f "$tmpdir/$basenamea.png" ]; then
mv $tmpdir/$basenamea.png $tmpdir/$basenamea-0.png
fi
- magick convert -density $1 -quiet $fileb $tmpdir/$basenameb.png
+ magick -density $1 -quiet $fileb $tmpdir/$basenameb.png
if [ -f "$tmpdir/$basenameb.png" ]; then
mv $tmpdir/$basenameb.png $tmpdir/$basenameb-0.png
fi
diff --git a/macros/latex/contrib/pagelayout/tex/pagelayout.cls b/macros/latex/contrib/pagelayout/tex/pagelayout.cls
index 8e7d3616ae..655ed59bd2 100644
--- a/macros/latex/contrib/pagelayout/tex/pagelayout.cls
+++ b/macros/latex/contrib/pagelayout/tex/pagelayout.cls
@@ -13,8 +13,8 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesClass{pagelayout}[2024/01/17 Layout graphic rich documents]
-\def\pagelayoutversion{1.1.0}
+\ProvidesClass{pagelayout}[2024/07/31 Layout graphic rich documents]
+\def\pagelayoutversion{1.1.1}
% packages
\RequirePackage{pgfopts}
@@ -372,7 +372,11 @@
\pal@outermargin=\ifdim\pal@gridoutermargin=\pal@undefdim\pal@gridmargin\else\pal@gridoutermargin\fi
\height=\dimexpr\pal@pageheight - \pal@topmargin - \pal@bottommargin\relax
- \width=\dimexpr\pal@pagewidth - \pal@innermargin - \pal@outermargin\relax
+ \ifpal@isdoublepage
+ \width=\dimexpr2\pal@pagewidth - 2\pal@outermargin\relax
+ \else
+ \width=\dimexpr\pal@pagewidth - \pal@innermargin - \pal@outermargin\relax
+ \fi
\ifdim\dimexpr\pal@gridoptionheight\relax=\pal@undefdim
\else
\pal@gridheightdiff=\dimexpr0.5\height - 0.5\dimexpr\pal@gridoptionheight\relax\relax
diff --git a/macros/latex/contrib/passopt/README.md b/macros/latex/contrib/passopt/README.md
new file mode 100644
index 0000000000..f8eb8f4c43
--- /dev/null
+++ b/macros/latex/contrib/passopt/README.md
@@ -0,0 +1,18 @@
+# The `passopt` package
+Passing options to packages or classes (v1.01a)
+
+## Abstract
+`passopt` allow reset the global options of a loaded macro package or document class, or to change the position of the pre-passed options in the list to the right.
+
+## License
+This work may be distributed and/or modified under the conditions of the CC-BY 4.0 License. The latest version of this license is in https://creativecommons.org/licenses/by/4.0/legalcode
+
+## Website
+| [Gitee](https://gitee.com/texno3/passopt) | [Github](https://github.com/texno3/passopt) | [CTAN](https://ctan.org/pkg/passopt) |
+
+## Maintainer
+Qu Yi<br/>
+Email: toquyi@163.com
+
+## Contributor
+Jonathan P. Spratte \ No newline at end of file
diff --git a/macros/latex/contrib/passopt/passopt.pdf b/macros/latex/contrib/passopt/passopt.pdf
new file mode 100644
index 0000000000..ce6e437c65
--- /dev/null
+++ b/macros/latex/contrib/passopt/passopt.pdf
Binary files differ
diff --git a/macros/latex/contrib/passopt/passopt.sty b/macros/latex/contrib/passopt/passopt.sty
new file mode 100644
index 0000000000..d74c698d27
--- /dev/null
+++ b/macros/latex/contrib/passopt/passopt.sty
@@ -0,0 +1,56 @@
+%
+% ***************** THE PASSOPT PACKAGE *****************
+%
+% Copyright (C) 2024 by Qu Yi <toquyi@163.com>
+%
+% This work may be distributed and/or modified under the
+% conditions of the CC-BY 4.0 License.
+% The latest version of this license is in
+% https://creativecommons.org/licenses/by/4.0/legalcode
+\NeedsTeXFormat{LaTeX2e}[2021/11/15]
+\ProvidesExplPackage{passopt}{2024/07/17}{1.01a}
+ {Passing options to packages or classes}
+
+\cs_generate_variant:Nn \tl_if_blank:nTF { v }
+\cs_new_protected:Npn \po_add_before_hook:nnn #1#2
+ { \hook_gput_code:nnn { #1/#2/before } { passopt } }
+\cs_new_protected:Npn \po_set_options_list:nnnnn #1#2#3#4#5
+ {
+ \po_add_before_hook:nnn {#1} {#5}
+ {
+ \cs_set:cpx { @raw@opt@#5.#2 }
+ {
+ \IfBooleanTF{#3}
+ {\exp_not:o {#4}}
+ {
+ \tl_if_blank:vTF { @raw@opt@#5.#2 }
+ { \exp_not:o {#4} }
+ { \exp_not:v { @raw@opt@#5.#2 },\exp_not:o {#4} }
+ }
+ }
+ \exp_args:Nc \protected@edef { opt@#5.#2 }
+ {
+ \exp_last_unbraced:Nv
+ \zap@space { @raw@opt@#5.#2 }~\@empty
+ }
+ }
+ }
+\cs_new_protected:Npn \po_clear_options_list:nnn #1#2#3
+ {
+ \po_add_before_hook:nnn {#1} {#3}
+ {
+ \tl_clear:c { @raw@opt@#3.#2 }
+ \tl_clear:c { opt@#3.#2 }
+ }
+ }
+\NewDocumentCommand{\SetOptionsToPackage}{smm}
+ {\po_set_options_list:nnnnn { package } { sty } {#1} {#2} {#3}}
+\NewDocumentCommand{\SetOptionsToClass}{smm}
+ {\po_set_options_list:nnnnn { class } { cls } {#1} {#2} {#3}}
+\cs_new_protected:Npn \ClearPackageOptions #1
+ { \po_clear_options_list:nnn { package } { sty } {#1} }
+\cs_new_protected:Npn \ClearClassOptions #1
+ { \po_clear_options_list:nnn { class } { cls } {#1} }
+\endinput
+%
+% End of file `passopt.sty'. \ No newline at end of file
diff --git a/macros/latex/contrib/passopt/passopt.tex b/macros/latex/contrib/passopt/passopt.tex
new file mode 100644
index 0000000000..fb4473e356
--- /dev/null
+++ b/macros/latex/contrib/passopt/passopt.tex
@@ -0,0 +1,103 @@
+\documentclass[load-preamble+]{cnltx-doc}
+
+\usepackage{setspace,hologo,changelog,enumitem}
+\usepackage[margin = 1in,marginparwidth = 0.6in,footskip = 0.5in]{geometry}
+\setcnltx
+ {
+ package = passopt,
+ version = v1.01a,
+ date = 2024/07/17,
+ authors = Qu Yi,
+ info = Passing options to packages or classes,
+ email = toquyi@163.com,
+ url = https://github.com/texno3/passopt,
+ abstract =
+ {
+ \pkg*{passopt} allow reset the global options of a loaded macro package or document class, or to change the position of the pre-passed options in the list to the right.
+ },
+ color-scheme = blue,
+ listings-options = {numbers = none,gobble = 2,lineskip = 1pt},
+ pre-output = {\parindent = 0em\setstretch{1.3}},
+ before-skip = \smallskipamount,
+ after-skip = \smallskipamount
+ }
+\makeatletter
+\newcommand{\splitmeta}[2]{\meta{#1}\texttt{,}\meta{#2}}
+\newcommand{\newsplitarg}[4][\splitmeta]
+ {
+ \newcommand{#2}[2]
+ {\code{\textcolor{argument}{#3\textnormal{#1{##1}{##2}}#4}}}
+ }
+\newcommand{\kvsplit}[3]
+ {
+ \item\code{\option{#1}\cnltx@isvalue\splitmarg{#2}{#3}}
+ \cnltx@checkdefault{\hfill\newline}
+ }
+\newsplitarg{\splitoarg}{[}{]}
+\newsplitarg{\splitmarg}{\{}{\}}
+\newsplitarg{\splitdarg}{(}{)}
+\newnote{\newtag}[1]{\textcolor{red}{#1}}
+\renewcommand{\emph}[1]{\textcolor{red}{#1}}
+\renewcommand{\cnltx@write@lastname}{}
+\setlist{nosep,topsep = \smallskipamount}
+\setlist[description,1]{leftmargin = \parindent}
+\setlist[itemize,1]{leftmargin = *}
+\makeatother
+
+\begin{document}
+\section{Preface}
+For a developer, there are some cases where packages and classes may load other packages or classes with options. However, other developers or users may wish to disable the enabled options or enable new ones. To enable new options, \hologo{LaTeXe} provides the \cs{PassOptionsToPackage} and \cs{PassOptionsToClass} commands to pass the options before the package or class is loaded, but the passed options are located on the \textcolor{red}{left} side of the final options list.
+\begin{sourcecode}
+ \PassOptionsToPackage{opt1,opt2=A}{mypackage}
+
+ \documentclass{book}
+ \usepackage[opt3]{mypackage}
+
+ \begin{document}
+\end{sourcecode}
+
+In the example above, the list of options that the \pkg*{mypackage} macro package ends up executing is \fbox{\code{opt1,opt2=A,opt3}}. If you wish to \textcolor{red}{disable} the pre-enabled options or place the newly enabled options to the \textcolor{red}{right} of the list (last executed), then you need to modify the code of the load command in the package or class file, but this is not recommended for public sharing. Therefore, this macro package provides commands to reset the options and change the order of the new options.
+
+\section{User commands}
+Four commands are provided to set the options to be passed later, all of which are \textcolor{red}{locally} assigned. Subsequent loading of the macro package is not must required due to the hook mechanism used to modify the list of options.
+\begin{commands}
+ \command{SetOptionsToPackage}[\sarg\marg{options list}\marg{package}]
+ Passes options to the macro package, the location of the passed options is to the right of the options used when loading the macro package. If an asterisk parameter is used, only the passed options were ultimately retained.
+ \command{SetOptionsToClass}[\sarg\marg{options list}\marg{class}]
+ Similar to the previous command, but passing options for the document class.
+ \begin{sourcecode}
+ \RequirePackage{passopt}
+ \SetOptionsToPackage{opt1,opt2=A}{mypackage}
+
+ \documentclass{book}
+ \usepackage[opt3]{mypackage}
+
+ \begin{document}
+ \end{sourcecode}
+
+ In the example above, the list of options that the \pkg*{mypackage} macro package ends up executing is \fbox{\code{opt3,opt1,opt2=A}}. If the asterisk parameter is used, the list is \fbox{\code{opt1,opt2=A}}.
+
+ Note that since macro packages or document classes can only be loaded effectively once (using the \cs{usepackage} and \cs{RequirePackage} commands), only options passed before the first loading of a macro package or document class are effective, and it is recommended for users to use commands that pass options before \cs{documentclass}.
+ \command{ClearPackageOptions}[\marg{package}]
+ Clears the options that will be loaded into the macro package. The following commands has the same effect as \cs*{SetOptionsToPackage}\code{*}.
+ \begin{sourcecode}
+ \ClearPackageOptions{mypackage}
+ \SetOptionsToPackage{opt1,opt2=A}{mypackage}
+ \end{sourcecode}
+ \command{ClearClassOptions}[\marg{class}]
+ Similar to the previous command, but passing options for the document class.
+\end{commands}
+
+\section{Acknowledgment}
+Thanks Jonathan P. Spratte for the improvement suggestions.
+
+\appendix
+\begin{changelog}[simple]
+ \begin{version}[v = 1.01,date = 2024/07/15]
+ \item Synchronized modification for lists of \code{@raw@opt@} and \code{opt@}.
+ \item Options that are set are expanded once rather than fully expanded.
+ \end{version}
+\end{changelog}
+\nocite{*}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
index 9536e081a4..4c4251c47e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
@@ -4,7 +4,21 @@ first release 0.95a, 2021-02-23 will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
this project uses date-based 'snapshot' version identifiers.
+
+## [2024-08-17]
+
+### Added
+
+ - added a verification 'omit_CID' used by PDF/a-2 and newer with luatex.
+ - warnings if pdfversion does not fit ua-1 and ua-2
+
+### Fixed
+ - add xmp-resource for pdfaid:rev (tagging-project issue#375)
+ - empty color in \bookmarksetup https://github.com/ho-tex/bookmark/issues/11
+ - unneeded warning with bookmarks=false, https://github.com/latex3/hyperref/issues/352
+
## [2024-05-23]
+Version: 2024-05-23, 0.96i
### Fixed
- l3pdfmeta: adapted wtpdf declaration uri to corrected version.
@@ -30,7 +44,7 @@ Version: 2024-03-26, 0.96g
### Added
- l3pdfmeta.dtx: interface for xmpRights:Marked.
- - l3pdfmeta.dtx: add wtpdf declations if ua-2 is used.
+ - l3pdfmeta.dtx: add wtpdf declarations if ua-2 is used.
### Changed
- removed unneeded firstaids for fontspec, transparent and pdflscape
@@ -39,7 +53,7 @@ Version: 2024-03-26, 0.96g
Version: 2024-03-01, 0.96f
### Changed
- - format of /F in filespec: use utf8/string for better compability with ZUGFeRD processor.
+ - format of /F in filespec: use utf8/string for better compatibility with ZUGFeRD processor.
- added /Contents entry to URI and GoTo links for better UA support.
## [2024-02-22]
@@ -48,7 +62,7 @@ Version: 2024-02-22, 0.96e
### Changed
- date of UA-2 is now 2024
- tagpdf-base is now required
- - xmp metadata use x-default for the main language for better compability with some viewers
+ - xmp metadata use x-default for the main language for better compatibility with some viewers
- suppress info dictionary with pdf/ua-2
## [2023-12-09]
@@ -70,7 +84,7 @@ Version: 2023-12-09, 0.96d
Version: 2023-11-17, 0.96c
- remove dependency to ltxcmds in the hyperref driver
- - correct a local/global assigment
+ - correct a local/global assignment
- remove l3ref-tmp.sty
- l3pdffile.dtx: change mimetype of xml to application/xml
diff --git a/macros/latex/contrib/pdfmanagement-testphase/README.md b/macros/latex/contrib/pdfmanagement-testphase/README.md
index e3c9c1be02..9ac57108e0 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/README.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/README.md
@@ -1,6 +1,6 @@
# LaTeX PDF management testphase bundle
-Version: 0.96i, 2024-05-23
+Version: 0.96j, 2024-08-17
This package is used during a test phase to load the new PDF management code
of LaTeX.
diff --git a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
index 08170653e8..68272c9b16 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
@@ -24,7 +24,7 @@
%% This file has the LPPL maintenance status "maintained".
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{color-ltx}[2024-05-23 v0.96i
+\ProvidesPackage{color-ltx}[2024-08-17 v0.96j
Standard LaTeX Color (patched for l3color, part of pdfmanagement-testphase, original version 2022/01/06 v1.3d) (DPC)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
diff --git a/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
index 95a0b0a612..eb3c8e4b86 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
@@ -19,8 +19,9 @@
%
% for those people who are interested.
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-05-23}{0.96i}
- {temporay patches to for the colorspace package to test pdfresource management ... UF}
+\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-08-17}{0.96j}
+ {temporary patches for the colorspace package to test pdfresource management ... UF}
+
% colorspace can define more models, that l3color can't yet handle.
\cs_set_protected:Npn \expl@color@set@@nnn #1#2#3
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
index 9a8ee06546..f38e8d8811 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
@@ -82,7 +82,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -150,7 +150,7 @@
%
% \section{\enquote{Metadata}}
%
-% \enquote{Metadata}, informations about the document, are stored in a PDF in two
+% \enquote{Metadata}, information about the document, are stored in a PDF in two
% places: The |/Info| dictionary and the XMP-metadata. \pkg{hyperref} only handles the
% |/Info| dictionary. The XMP-metadata are added by code from \pkg{l3pdfmeta}.
% (without the pdfmanagement the XMP-metadata can be added with packages like \pkg{pdfx} and
@@ -170,7 +170,7 @@
% this had to patch an number of internal \pkg{hyperref} commands---which is a problem
% if the internal commands change (as happens with this new driver)
% \item \pkg {hyperref} (and also \pkg{hyperxmp})
-% tries to deduce some datas from document commands like
+% tries to deduce some data from document commands like
% \cs{title} or \cs{author}---something that worked reasonably well when only
% some standard classes with well-known definitions of these command existed,
% but gets problematic with classes and packages which define
@@ -190,7 +190,7 @@
%
% \item It is possible to store titles in more than one language. If the value begins with
% an \enquote{optional argument} which represents a language tag, the value is taken
-% as a comma list and splitted. The first value is used for the Info dictionary,
+% as a comma list and split. The first value is used for the Info dictionary,
% the others are used in the XMP-metadata. Commas in a title must then be
% protected with braces:
%
@@ -506,7 +506,7 @@
% and |citebordercolor| has been reduced. A package like \pkg{hyperref}
% can't keep track of such semantic
% contexts like cite, acronym, glossaries and special references and maintain keys for
-% them. The keys are not completly dropped as this would affect packages like
+% them. The keys are not completely dropped as this would affect packages like
% \pkg{natbib}, but they have been separated and are no longer affected by
% group keys like |allcolors| but must be set individually instead.
%
@@ -768,7 +768,7 @@
% location. So |0 -100 200 400| will give a \enquote{box} of width 200bp,
% height 400bp and depth 100dp that the destination should encompass.
% Missing numbers will be set to 0. But one should be aware that is it is quite
-% unpredicable how viewers which support |FitR| handles zero sizes.
+% unpredictable how viewers which support |FitR| handles zero sizes.
%
% \item |pdfstartview| and |pdfremotestartview| will pass
% the values as absolute coordinates.
@@ -818,7 +818,7 @@
% key of the annotation array and in similar keys is set. It does not affect
% the text and graphics colors in the page stream.
% Possible choices are |rgb| (three numbers in the array) and |cmyk| (four numbers).
-% While the PDF reference allows four numbers, PDF readers don't necessarly handle
+% While the PDF reference allows four numbers, PDF readers don't necessarily handle
% this correctly, so the value can be wrong.
%
% \DescribeHypkey{destlabel} This is a boolean key. Currently it must be set
@@ -849,7 +849,7 @@
% /Subtype/Link/A<</S/GoToR /F (mwe2.dvi)>>
% /Subtype/Link/A<</S/GoToR /F (mwe3.dvi)>>
% \end{verbatim}
-% Typically PDF viewer can handle only GoToR annotions pointing to a PDF.
+% Typically PDF viewer can handle only GoToR annotations pointing to a PDF.
% So normally the default value |pdf| of this key should not be changed.
% \DescribeHypkey{nesting}\label{key:nesting}%
% This key is useless in PDF context. The boolean is only used in
@@ -965,7 +965,7 @@
%<@@=hyp>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesFile{hgeneric-testphase.def}[2024-05-23 v0.96i %
+\ProvidesFile{hgeneric-testphase.def}[2024-08-17 v0.96j %
generic Hyperref driver for the LaTeX PDF management testphase bundle]
\RequirePackage{etoolbox} %why?
@@ -1456,7 +1456,7 @@
\pdfstringdefDisableCommands{\let\hrefpdf\@@_secondoftwowithopt:wnn}
\pdfstringdefDisableCommands{\let\hrefrun\@@_secondoftwowithopt:wnn}
% \end{macrocode}
-% \section{Compability commands}
+% \section{Compatibility commands}
% \subsection{Metadata}
% A number of values should be accessible from other packages. Until now
% packages like \pkg{hyperxmp} used variables like \cs{@pdfauthor}. As they are
@@ -1527,19 +1527,29 @@
{
\define@key{BKM}{color}
{
- \__hyp_color_set:ne {__hyp/tmpa}{#1}
- \color_export:nVN
- {__hyp/tmpa}
- \g__hyp_bordercolormodel_str
- \BKM@color
+ \tl_if_blank:nTF {#1}
+ { \cs_set_eq:NN\BKM@color\@empty }
+ {
+ \__hyp_color_set:ne {__hyp/tmpa}{#1}
+ \color_export:nVN
+ {__hyp/tmpa}
+ \g__hyp_bordercolormodel_str
+ \BKM@color
+ }
}
}
-\legacy_if:nT { Hy@bookmarks }
+\legacy_if:nTF { Hy@bookmarks }
{
\AddToHook{begindocument/before}[hyperref/bookmark]
{
\RequirePackage{bookmark}
- }
+ }
+ }
+% \end{macrocode}
+% empty hook chunk to ensure that the chunk exists.
+% \begin{macrocode}
+ {
+ \AddToHook{begindocument/before}[hyperref/bookmark]{}
}
\legacy_if:nT {Hy@draft}
{
@@ -2188,7 +2198,7 @@
% \end{macrocode}
%
% Now the three \pkg{hyperref} commands.
-% The splitted commands \cs{hyper@linkstart} and \cs{hyper@linkend} are used for
+% The split commands \cs{hyper@linkstart} and \cs{hyper@linkend} are used for
% footnotemarks, toc and natbib-cites.
% \begin{function}{\hyper@link}
% \begin{syntax}
@@ -5204,7 +5214,7 @@
}
\ExplSyntaxOff
\ExplSyntaxOn
-% Does an appeareance dict make sense here?
+% Does an appearance dict make sense here?
\def\PDFForm@Text
{
/Subtype/Widget
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
index 3ff91e5445..ab0f008a55 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
index f655a84c26..8ab7e948ac 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
@@ -45,7 +45,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
%
@@ -56,32 +56,32 @@
% \begin{macrocode}
%<drivers>\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-testphase-dvipdfmx.def}{2024-05-23}{}
+ {l3backend-testphase-dvipdfmx.def}{2024-08-17}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-testphase-dvips.def}{2024-05-23}{}
+ {l3backend-testphase-dvips.def}{2024-08-17}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-testphase-dvisvgm.def}{2024-05-23}{}
+ {l3backend-testphase-dvisvgm.def}{2024-08-17}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-testphase-luatex.def}{2024-05-23}{}
+ {l3backend-testphase-luatex.def}{2024-08-17}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-testphase-pdftex.def}{2024-05-23}{}
+ {l3backend-testphase-pdftex.def}{2024-08-17}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)}
%</pdftex>
%<*xdvipdfmx>
- {l3backend-testphase-xetex.def}{2024-05-23}{}
+ {l3backend-testphase-xetex.def}{2024-08-17}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX}
%</xdvipdfmx>
% \end{macrocode}
% \subsection{Variants}
-% We need to generate temporarly a few e-types variants of kernel backend commands.
+% We need to generate temporarily a few e-types variants of kernel backend commands.
% These can be removed once the kernel provides them.
% \begin{macrocode}
%<@@=pdf>
@@ -1818,7 +1818,7 @@
%</drivers>
% \end{macrocode}
% \end{macro}
-% Now the driver dependant parts.
+% Now the driver dependent parts.
% By default the new commands are simply copies of the original commands.
% We adapt them then for the engines and engine version which provide support
% for structure destinations.
@@ -2355,7 +2355,7 @@
% \end{macro}
% \subsection{Settings for regression tests}
% When doing pdf based regression tests some meta data in the pdf should have
-% fixed values to get identical pdf's. We define here the backend dependant
+% fixed values to get identical pdf's. We define here the backend dependent
% part. The main command is then in l3pdfmeta
% \begin{macrocode}
%<*drivers>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
index 09b998ff81..f15724e4d4 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
index ef02e9cf5a..59268785a4 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -340,7 +340,7 @@
% lead to the unpleasant result that header and footer are part of the link too.
% Since texlive 2021 pdflatex and lualatex has commands similar to a special already
% included in dvipdfmx which allows to interrupt a link. The commands must be used
-% with care: typically they must be outside a box that would be catched by link to
+% with care: typically they must be outside a box that would be caught by link to
% have the wanted effect.
%
% \end{function}
@@ -432,7 +432,7 @@
% \begin{macrocode}
%<@@=pdfannot>
%<*header>
-\ProvidesExplPackage{l3pdfannot}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdfannot}{2024-08-17}{0.96j}
{PDF-annotations}
\RequirePackage{l3pdfdict}
%</header>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
index 1000505030..568726ab7d 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
index 514595e41c..2c297fb5c7 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -208,7 +208,7 @@
% \begin{macrocode}
%<@@=pdfdict>
%<*header>
-\ProvidesExplPackage{l3pdfdict}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdfdict}{2024-08-17}{0.96j}
{Tools for PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
index 555a105c9a..37534467d5 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
index f4d71c50e8..7cda9b3102 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -251,10 +251,10 @@
%
% \meta{URL} can be a mail address and should then start with |mailto:|.
% A subject can be attached with |?subject=...|.
-% This normally works quite fine as it only needs a correctly working mail programm.
+% This normally works quite fine as it only needs a correctly working mail program.
% (But for some unknown reason my mail program don't like mail addresses with hyphens in them).
%
-% Alternativly it should be an URL of a script, which should return the correct
+% Alternatively it should be an URL of a script, which should return the correct
% answer (which one this is, is rather unclear).
%
% \end{function}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
index 34fe45aec2..1981d6c95c 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
index 7f702d2934..8514ce7200 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
@@ -64,7 +64,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
index 3ce7e4651f..1b9850003e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
index e645449393..ceca7dd26f 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -77,11 +77,11 @@
% This means that various data will have to be set, and the sorting matters.
% The module here will assume that the various values are stored in sequences:
%
-% \ExplSyntaxOn
+% \begin{verbatim}
% \seq_const_from_clist:Nn \c_my_values_seq {hippo,duck,bear}
% \seq_const_from_clist:Nn \c_my_displayvalues_seq {Sieglinde,,Bär}
-% \seq_const_from_clist:Nn \c_my_defaultvalues_seq {duck,Bär} %check if export or altname ...
-% \ExplSyntaxOff
+% \seq_const_from_clist:Nn \c_my_defaultvalues_seq {duck,Bär}
+% \end{verbatim}
%
% Only the first sequence is required.
% Empty values in the display sequence are possible, then the normal value is used.
@@ -103,9 +103,12 @@
%
%
% \subsection{Appearance}
-% hm ....
+% By default the fields use a grey background as appearance, another appearance
+% can be defined with |\pdffield_appearance:nn| (described in the documentation of
+% l3pdffield) or directly with |\pdfxform_new:nnn| (in l3pdfxfom)
+% and then used with the |appearance| as in other form fields.
%
-% \bigskip
+%
% \subsection{Commands}
% \begin{function}{\pdffield_choice:n}
% \begin{syntax}
@@ -114,9 +117,9 @@
% This creates a choice field.
% The list of allowed keys is described below.
% The \meta{key val list} should at least set the name,
-% without it the default |choice| is used. Choice fields with the same
+% without it the default |choice| is used. Choice fields with the same name
% belong to the same field and if changed, the others are changed accordingly.
-% The default appearance ...
+% As default appearance we reuse the text appearance: a simple gray background.
%
% The first choice field setups the field and so should setup values and field flags.
% \end{function}
@@ -443,7 +446,7 @@
% ,\l_@@_choice_opt_seq
% }
% variables to hold the value, the default value, and display variants. The opt
-% set will be used to build the content of opt
+% seq will be used to build the content of opt
% \begin{macrocode}
\seq_new:N \l_@@_choice_values_seq
\seq_new:N \l_@@_choice_defaultvalues_seq
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
index f2fe192ac0..f17a26c1b8 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
index b030de3323..3c71dc973e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
@@ -55,7 +55,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
index fc5114da30..f6a8c91e70 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
index 8e16ebb596..e26f875c37 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
@@ -83,7 +83,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
index d182341cca..dcbce59fbf 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
index 0e3fe0c92d..bdd1c28ffc 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
index c1968b575e..1551733a91 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
index c888fab7c4..27deb954c3 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
@@ -69,7 +69,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -87,7 +87,7 @@
% \usepackage{l3pdffield-testphase}
% \end{verbatim}
%
-% The source code is splitted into various submodules. All code is combined in the
+% The source code is split into various submodules. All code is combined in the
% sty, but the documentation is in individual PDF.
% \begin{description}
% \item[\texttt{l3pdffield}] This contains the basic commands and keys
@@ -199,7 +199,7 @@
% \subsection{The look of a field: Appearances and other settings}
%
% The look of widget annotation of a field can be set with various keys. The keys developed over
-% time and some of them superseed older ones. There is for example the simple
+% time and some of them supersede older ones. There is for example the simple
% |/Border|, the more sophisticated |/BS| (\enquote{border style dictionary}),
% the \enquote{dynamic appearance dictionary} |MK|, with lots of keys,
% and the appearance dictionary |/AP| which
@@ -631,7 +631,7 @@
% fields without sortkey will get an empty sortkey and so be at the begin,
% the order of fields with the same sortkey is not defined.
% The module only sorts fields created with the commands of this module, the
-% sorting of fields created by \pkg{hyperref} is independant.
+% sorting of fields created by \pkg{hyperref} is independent.
% \end{function}
%
% \begin{function}{DA}
@@ -972,7 +972,7 @@
%<*package>
%<@@=pdffield>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{l3pdffield-testphase}{2024-05-23}{0.96i}%
+\ProvidesExplPackage{l3pdffield-testphase}{2024-08-17}{0.96j}%
{form fields}
% \end{macrocode}
% \subsection{hyperref specific command}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
index 914e4d07b3..395c405a56 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
index 205dcfd7ba..68287a9d5c 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -398,9 +398,9 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdffile}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdffile}{2024-08-17}{0.96j}
{embedding and referencing files in PDF---LaTeX PDF management testphase bundle}
-\RequirePackage{l3pdftools} %temporarly!!
+\RequirePackage{l3pdftools} %temporarily!!
%</header>
% \end{macrocode}
%
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
index 3cd861c557..ec0b0616e8 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
index 9213e670f7..2890995126 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
@@ -57,7 +57,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -70,7 +70,7 @@
% They unify a number of primitives like the pdftex
% registers and commands \cs{pdfcatalog}, \cs{pdfpageattr},
% \cs{pdfpagesattr}, \cs{pdfinfo}, \cs{pdfpageresources}
-% and similar commands of the other backends in a backend independant way.
+% and similar commands of the other backends in a backend independent way.
%
% The supported backends are pdflatex, lualatex, (x)dvipdfmx (latex, xelatex
% and---starting in texlive 2021--lualatex)
@@ -180,12 +180,12 @@
% \begin{syntax}
% \cs{pdfmanagement_show:n} \Arg{resource path}
% \end{syntax}
-% This shows the content of the dictionary targetted by
+% This shows the content of the dictionary targeted by
% \Arg{resource path} in the log and on the terminal if possible.
%
% It is not reliable for page resources as these are filled at shipout.
%
-% It also doesn't show necessarly all the content.
+% It also doesn't show necessarily all the content.
% For example most backends add automatically
% entries to the Info dictionary.
% \end{function}
@@ -207,7 +207,7 @@
% can't be removed (but should ever a use case appear it could be added).
% \end{function}
%
-% \subsection{Description of the resource pathes}
+% \subsection{Description of the resource paths}
% \subsubsection{Info: The Info dictionary}
% \begin{NOTE}{UF}
% path: Info
@@ -367,7 +367,7 @@
% pages of different sizes. But you must be careful with the values.
% If you set e.g. with pdflatex \cs{pdfpageheight} to 300bp you get a mediabox of
% |0 0 595 300|, but pdflatex measure from the top and will also move
-% the reference point up, so effectivly
+% the reference point up, so effectively
% you get the \emph{upper} third of the page. If you set the \texttt{/MediaBox}
% to |0 0 595 300| with \cs{pdfmanagement_add:nnn} you get the \emph{lower} third.
% In general it is better to use only the primitive commands to avoid confusing
@@ -398,7 +398,7 @@
% \cs{pdfmanagement_add:nnn} \{Page/Resources/\meta{resource}\} \Arg{name} \Arg{value}
% \end{syntax}
% Adds |/|\meta{name} \meta{value} to the page resource \meta{resource}.
-% \meta{resource} can be |ExtGState|, |ColorSpace|, |Pattern| oder |Shading|.
+% \meta{resource} can be |ExtGState|, |ColorSpace|, |Pattern| or |Shading|.
% The values are always stored globally. The content is written to the pdf
% at the end of the compilation, so values can be added until then.
% \meta{name} should be a valid pdf name without the leading slash,
@@ -434,7 +434,7 @@
% Entries to the top level of the catalog can be added with\\
% |\pdfmanagement_add:nnn {Catalog}|\Arg{Name}\Arg{Value}.
% Entries to subdictionaries by using in the first
-% argument one of the pathes described later.
+% argument one of the paths described later.
% The entries in the catalog have varying requirements regarding the
% PDF management. Some entries (like \texttt{/Lang}) are simple values
% where new values should
@@ -495,7 +495,7 @@
% \par\medskip
%
% \paragraph{Simple entries in subdictionaries of the catalog}
-% The following resource pathes have been predeclared and allow to
+% The following resource paths have been predeclared and allow to
% add values to the respective subdictionaries of the catalog. The
% names of the dictionaries follow the naming and location of the dictionaries
% in the PDF reference.
@@ -632,7 +632,7 @@
%<@@=pdfmanagement>
%<*header>
%
-\ProvidesExplPackage{l3pdfmanagement}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdfmanagement}{2024-08-17}{0.96j}
{Management of core PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
@@ -824,7 +824,7 @@
\pdfdict_if_exist:nTF { g__pdf_Core/#1 }
{
\cs_if_exist:cTF
- { @@_handler/#1/?_gput:nn } %general, name independant handler
+ { @@_handler/#1/?_gput:nn } %general, name independent handler
{ \use:c {@@_handler/#1/?_gput:nn} {#2} {#3} }
{
\cs_if_exist:cTF
@@ -862,7 +862,7 @@
\pdfdict_if_exist:nTF { g__pdf_Core/#1 }
{
\cs_if_exist:cTF
- { @@_handler/#1/?_gremove:n } %general, name independant handler
+ { @@_handler/#1/?_gremove:n } %general, name independent handler
{ \use:c {@@_handler/#1/?_gremove:n} {#2} }
{
\cs_if_exist:cTF
@@ -899,7 +899,7 @@
\cs_new_protected:Npn \@@_show:Nn #1#2
{
\cs_if_exist:cTF
- { @@_handler/#2/?_show: } %general, name independant handler
+ { @@_handler/#2/?_show: } %general, name independent handler
{ \use:c {@@_handler/#2/?_show:} }
{
\prop_if_exist:cTF { \__kernel_pdfdict_name:n { g__pdf_Core/#2 } }
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
index 59b1627594..8f126de615 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
index ff5483ca69..a6d31a1e63 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -205,6 +205,10 @@
% \item[|no_CharSet|] CharSet is deprecated is pdf 2.0 and should not
% be used in A-4. l3pdfmeta will therefore suppress it for the
% engines pdftex and luatex (the other engines have no suitable option)
+% \item[|omit_CID|] This avoids with PDF/A-2 and newer a failure
+% because of with missing CID identifications
+% (e.g. from rule ISO 19005-2:2011, Clause: 6.2.11.4.2)
+% It has only with luatex an effect.
% \item[|Trailer_no_Info|] The \texttt{Info} dictionary
% has been deprecated since quite some time. Metadata should be set with
% XMP-data instead. In PDF A-4 now the \texttt{Info} dictionary
@@ -432,7 +436,7 @@
% User data should normally be declared in the preamble (or even in the
% |\DocumentMetadata| command), and consist of rather simple text; |&| can be entered
% as |\&| (but directly |&| will normally work too),
-% babel shorthands should not be used. Some datas are interpreted as comma lists,
+% babel shorthands should not be used. Some data are interpreted as comma lists,
% in this cases commas which are part of the text should be protected by braces.
% In some cases a text in brackets like |[en]| is interpreted as language tag,
% if they are part of a text they should be protected by braces too.
@@ -600,7 +604,7 @@
% This add a PDF declaration with the required |conformsTo| property to the XMP metadata.
% \meta{uri} should not be empty and is a URI specifying
% the standard or profile referred to by the PDF
-% Declaration. If the uri contains a hash, use \cs{c_hash_str} to excape it
+% Declaration. If the uri contains a hash, use \cs{c_hash_str} to escape it
% and use the \texttt{e} variant to expand it.
% \end{function}
%
@@ -627,7 +631,7 @@
% \begin{macrocode}
%<@@=pdfmeta>
%<*header>
-\ProvidesExplPackage{l3pdfmeta}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdfmeta}{2024-08-17}{0.96j}
{PDF-Standards---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
@@ -814,7 +818,9 @@
\pdfmeta_standard_verify:nF { Trailer_no_Info }
{ \__pdf_backend_omit_info:n {1} }
\pdfmeta_standard_verify:nF { no_CharSet }
- { \__pdf_backend_omit_charset:n {1} }
+ { \__pdf_backend_omit_charset:n {1} }
+ \pdfmeta_standard_verify:nF { omit_CID }
+ { \__pdf_backend_omit_cidset:n {1} }
\pdfmeta_standard_verify:nnF { min_pdf_version }
{ \pdf_version: }
{ \msg_warning:nneee {pdf}{wrong-pdfversion}
@@ -930,7 +936,9 @@
{ embed_content}
\prop_gput:cnn
{ g_@@_standard_pdf/A-2B_prop }{max_pdf_version}{1.7}
-%A-2u ==============
+\prop_gput:cnn
+ { g_@@_standard_pdf/A-2B_prop }{omit_CID}{}
+ %A-2u ==============
\prop_new:c { g_@@_standard_pdf/A-2U_prop }
\prop_gset_eq:cc
{ g_@@_standard_pdf/A-2U_prop }
@@ -1177,7 +1185,7 @@
% The commands embed the profile, and write the dictionary and add it to
% the catalog. The first command should perhaps be moved to l3color
% as it needs such profiles too. We used named objects so that we can
-% check if the profile is already there. This is not full proof if pathes are
+% check if the profile is already there. This is not foolproof if paths are
% used.
% \begin{macrocode}
\cs_new_protected:Npn \@@_embed_colorprofile:n #1%#1 file name
@@ -1330,6 +1338,15 @@
_pdfstandard / UA-1 .code:n =
{
\AddToDocumentProperties [document]{pdfstandard-UA}{{1}{}}
+ \AddToHook{begindocument/before}
+ {
+ \pdf_version_compare:NnF < {2.0}
+ {
+ \msg_warning:nneee
+ {pdf}{wrong-pdfversion}
+ {\pdf_version:}{high}{UA-1}
+ }
+ }
},
% \end{macrocode}
% currently it is not possible to merge requirements - these need some thoughts as
@@ -1345,6 +1362,12 @@
{
\@@_xmp_wtpdf_accessibility_declaration:
\@@_xmp_wtpdf_reuse_declaration:
+ \pdf_version_compare:NnT < {2.0}
+ {
+ \msg_warning:nneee
+ {pdf}{wrong-pdfversion}
+ {\pdf_version:}{low}{UA-2}
+ }
}
},
xmp .choice:,
@@ -1531,7 +1554,7 @@
%
% \begin{variable}{\l_@@_xmp_currentdate_tl,\l_@@_xmp_currentdate_seq}
% The tl var contains the date of the log-file in PDF format,
-% the seq the result splitted with the regex.
+% the seq the result split with the regex.
% \begin{macrocode}
\tl_new:N \l_@@_xmp_currentdate_tl
\seq_new:N \l_@@_xmp_currentdate_seq
@@ -1542,7 +1565,7 @@
% This checks a document property and if empty uses the current date.
% \begin{macrocode}
\cs_new_protected:Npn \@@_xmp_date_get:nNN #1 #2 #3
- %#1 property, #2 tl var with PDF date, #3 seq for splitted date
+ %#1 property, #2 tl var with PDF date, #3 seq for split date
{
\tl_set:Ne #2 { \GetDocumentProperties{#1} }
\tl_if_blank:VTF #2
@@ -2103,6 +2126,12 @@
{Integer}
{internal}
{Year~of~standard}
+\@@_xmp_property_new:nnnnn
+ {pdfaid}
+ {rev}
+ {Integer}
+ {internal}
+ {Revision~year~of~standard}
% \end{macrocode}
% \end{macro}
% \item[pdfuaid] here we need (?) to declare the property
@@ -2304,7 +2333,7 @@
% that may not be related to PDF technology. Their specification is for example
% described in \url{https://pdfa.org/wp-content/uploads/2019/09/PDF-Declarations.pdf}.
%
-% If declarations are added to the XMP-metadata they need (for pdf/A compliancy) a
+% If declarations are added to the XMP-metadata they need (for pdf/A compliance) a
% schema declaration. We do not add it by default but define here a command to enable
% it. (This can be done in the document preamble as xmp is built only at the end.)
%
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
index e9aedc14cf..9a5de67174 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
index cc0f14d81b..e6d655c96e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -235,7 +235,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdftools}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdftools}{2024-08-17}{0.96j}
{candidate commands for l3pdf---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
@@ -329,7 +329,7 @@
% ==========
% uri: utf16BE/string seems not to work, hex neither
% utf8/string works but not on macos,
-% so a specfic utf8/url variant is needed
+% so a specific utf8/url variant is needed
% ==========
% "input" is utf8 for pdftex, empty (native) for unicode engine
% commands to output literal strings (...)
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
index 8710b7d376..88abccd671 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
index d567f42cb2..4daa9d2b83 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -132,7 +132,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*header>
-\ProvidesExplPackage{l3pdfxform}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdfxform}{2024-08-17}{0.96j}
{command to create xforms (beta)---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
index 3e4df1cbe1..2debc15494 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
index b6d1b2f45b..3d29afa58b 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -220,7 +220,7 @@
% \begin{macrocode}
%<@@=pdfmanagement>
%<*header>
-\ProvidesExplPackage{ltdocinit}{2024-05-23}{0.96i}
+\ProvidesExplPackage{ltdocinit}{2024-08-17}{0.96j}
{Initialize document metadata}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
index e4c849da16..7bfd5bb36b 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
index 6bd57345df..148d15ce95 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -63,7 +63,7 @@
% |debug={firstaidoff={name1,name2,...},...}|.
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{pdfmanagement-firstaid}{2024-05-23}{0.96i}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2024-08-17}{0.96j}
{LaTeX PDF management testphase bundle / firstaid-patches}
%<@@=pdfmanagement>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
index 39a84280bc..8c4d7d88cb 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
index 6dc445b7ff..af4520b433 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -394,7 +394,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*package>
-\ProvidesExplPackage{pdfmanagement-testphase}{2024-05-23}{0.96i}
+\ProvidesExplPackage{pdfmanagement-testphase}{2024-08-17}{0.96j}
{LaTeX PDF management testphase bundle}
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2020-10-01}{}{
@@ -422,7 +422,7 @@
% to allow to set it in the document.
% \begin{macrocode}
%<*header>
-\ProvidesExplFile{pdfmanagement-testphase.ltx}{2024-05-23}{0.96i}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2024-08-17}{0.96j}
{PDF~management~code~(testphase)}
% \end{macrocode}
% We define a boolean for the new delayed shipout. This is temporary. At some
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
index 3c816a8e5c..f2dc6282db 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
index cc220aa313..5fce11f19d 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
@@ -1,6 +1,6 @@
%% LaTeX2e file `xcolor-patches-tmp-ltx.sty'
%%
-\ProvidesPackage{xcolor-patches-tmp-ltx}[2024-05-23 v0.96i patch xcolor for l3color]
+\ProvidesPackage{xcolor-patches-tmp-ltx}[2024-08-17 v0.96j patch xcolor for l3color]
\@ifundefined{color_set:nn}{\RequirePackage{l3color}}{}
\ExplSyntaxOn
diff --git a/macros/latex/contrib/pdfx/pdfx.pdf b/macros/latex/contrib/pdfx/pdfx.pdf
index 86e447b283..140c496d52 100644
--- a/macros/latex/contrib/pdfx/pdfx.pdf
+++ b/macros/latex/contrib/pdfx/pdfx.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfx/src/pdfx.dtx b/macros/latex/contrib/pdfx/src/pdfx.dtx
index ffdb92ee01..573a23b611 100644
--- a/macros/latex/contrib/pdfx/src/pdfx.dtx
+++ b/macros/latex/contrib/pdfx/src/pdfx.dtx
@@ -1,33 +1,33 @@
% \iffalse meta-comment
-%
+%
% File: pdfx.dtx
%
% Copyright (c) 2019, CV Radhakrishnan <cvr@river-valley.org>,
% Han The Thanh <thanh@river-valley.org>,
% Ross Moore <ross.moore@mq.edu.au>,
% Peter Selinger <selinger@mathstat.dal.ca>
-%
+%
% This file may be distributed and/or modified under the conditions
% of the LaTeX Project Public License, either version 1.2 of this
% license or (at your option) any later version. The latest version
% of this license is in:
-%
+%
% http://www.latex-project.org/lppl.txt
-%
+%
% and version 1.2 or later is part of all distributions of LaTeX
% version 1999/12/01 or later.
%
% \fi
%
-% \CheckSum{6309}
+% \CheckSum{6802}
% \iffalse
%
%<*driver>
\pdfcompresslevel 9
\providecommand{\pdfxopt}{a-2u}
\providecommand{\lastyear}{2018}
-\providecommand{\thisyear}{2019}
-\begin{filecontents*}{./\jobname.xmpdata}
+\providecommand{\thisyear}{2024}
+\begin{filecontents}[force]{./\jobname.xmpdata}
\Title{Generation of PDF/X- and PDF/A-compliant PDFs with pdfTeX \textemdash\ pdfx.sty}
\Author{\CVR\sep \Thanh\sep Ross Moore\sep Peter Selinger}
\Subject{This package supports generation of PDF/X-, PDF/A- and PDF/E-compliant documents, in most of their variants, using pdfLaTeX, LuaLaTeX and XeLaTeX.}
@@ -37,10 +37,10 @@
\Copyright{Public domain.}
\Copyrighted{False}
\CopyrightURL{http://tug.org/texlive/}
-\CoverDisplayDate{March \thisyear}
-\CoverDate{\thisyear-03-10}
+\CoverDisplayDate{July \thisyear}
+\CoverDate{\thisyear-07-01}
\CreatorTool{LaTeX + pdfx.sty with option \pdfxopt, from TeX Live \thisyear}
-\Date{2017-05-18\sep 2017-06-23\sep 2018-11-29\sep 2018-12-22\sep 2019-02-08\sep 2019-03-10}
+\Date{2024-07-01}
\Advisory{An earlier version of this documentation was published as: TUGboat 36, No.2, pp.136\textendash 142 (2015)}
\Advisory{v1.6: Added XMP support for PDF/UA-1. Added more Metadata fields and Language support.}
\Advisory{v1.6: Default RGB and CMYK profiles now require the colorprofiles.sty package.}
@@ -52,16 +52,29 @@
\Advisory{v1.6: Support for 8-bit Hebrew encodings, some Arabic and Devanagari.}
\Advisory{v1.6: Updated documentation, incl. for LaTeX changes.}
\Advisory{v1.6.1: Fixed issue with ifthen package; improved Metadata with LuaTeX and XeTeX.}
-\Advisory{v.1.6.1: Flexibility with page boxes for PDF/X.}
-\Advisory{v.1.6.2: Fixed passing of options to xcolor, and some glyphtounicode values.}
-\Advisory{v.1.6.2: Fixed encoding issue. Extra warning when colorprofiles.tex is missing.}
-\Advisory{v.1.6.3: Properly fixed encoding issue; supports \string\pdfomitcharset\ primitive.}
-\Advisory{v.1.6.3: Reference to veraPDF validation software; additions to glyphtounicode-ntx.tex.}
-\Advisory{v.1.6.3: Patched \string\mathaccentV\ to output accents after the base character.}
+\Advisory{v1.6.1: Flexibility with page boxes for PDF/X.}
+\Advisory{v1.6.2: Fixed passing of options to xcolor, and some glyphtounicode values.}
+\Advisory{v1.6.2: Fixed encoding issue. Extra warning when colorprofiles.tex is missing.}
+\Advisory{v1.6.3: Properly fixed encoding issue; supports \string\pdfomitcharset\ primitive.}
+\Advisory{v1.6.3: Reference to veraPDF validation software; additions to glyphtounicode-ntx.tex.}
+\Advisory{v1.6.3: Patched \string\mathaccentV\ to output accents after the base character.}
+\Advisory{v1.6.4: Added check and warning with luatex for whether \string\pdfminorversion\ can be changed.}
+\Advisory{v1.6.4: Ensure correct \string\catcode for input characters up to 31, when reading .xmpdata file.}
+\Advisory{v1.6.4: Disabled patched \string\mathaccentV\ due to incompatibility with wide base expressions.}
+\Advisory{v1.6.5: Support for \string\Nickname\ as Metadata command.}
+\Advisory{v1.6.5: Ensure par is unexpandable when reading Metadata.}
+\Advisory{v1.6.5a: Support for Memoir class's \string\stockwidth\ and \string\stockheight.}
+\Advisory{v1.6.5a: Added pdf20 option for PDF 2.0, with support for \string\pdfmajorversion.}
+\Advisory{v1.6.5b: Avoid loading xmpincl package from within a TeX grouping.}
+\Advisory{v1.6.5c: Avoid loading stringenc package from within a TeX grouping.}
+\Advisory{v1.6.5d: Disable some options for xcolor after use.}
+\Advisory{v1.6.5e: Ensure \string\pdfmajorversion\ and \string\pdfminorversion\ are both defined and set correctly.}
+\Advisory{v1.6.5e: Updated documentation; added new Bibliography entries and revised URL links.}
+\Advisory{v1.6.5f: Reset ifpdf properly; support \string\creationdate with XeTeX. Revised Glossary layout.}
\pdfxEnableCommands{%
\def\CVR{C.V. Radhakrishnan}\def\Thanh{H\`an Th\eee Thanh}%
\def\eee{^^c3^^aa^^cc^^81 }}
-\end{filecontents*}
+\end{filecontents}
\PassOptionsToPackage{dvipsnames,svgnames}{xcolor}
\documentclass[a4paper]{ltxdoc}
\usepackage[\pdfxopt]{pdfx}
@@ -104,12 +117,12 @@
% \GetFileInfo{pdfx.dtx}
%
% \DoNotIndex{\newcommand,\newenvironment}
-%
+%
% \DoNotIndex{\def,\edef,\gdef,\xdef,\global,\long,\let}
% \DoNotIndex{\expandafter,\string,\the,\ifx,\else,\fi}
% \DoNotIndex{\csname,\endcsname,\relax,\begingroup,\endgroup}
% \DoNotIndex{\DeclareTextCommand,\DeclareTextCompositeCommand}
-% \DoNotIndex{\space,\@empty,\special,\@nil,\advance\@nnil,\z@,\@@mod}
+% \DoNotIndex{\space,\@empty,\special,\@nil,\z@,\@@mod}
% \DoNotIndex{\\,\@gobble,\@@,\@fornoop,\@fortmp,\@ifundefined,\@firstoftwo,\@secondoftwo}
% \DoNotIndex{\@tempcnta,\@tempcntb,\@tempboxa,\ifnot@empty,\@this,\@firstofone}
% \DoNotIndex{\{,\},\alph,\bgroup,\dp,\ht,\kern,\egroup}
@@ -134,78 +147,92 @@
% \DoNotIndex{\scantokens,\typeout,\vrule,\wd}
%
% \changes{v1.00}{2008/12/01}{Initial commit to the CVS.}
-% \changes{v1.01}{2008/12/10}{glyphtounicode-cmr.tex included with the package.}
-% \changes{v1.3}{2008/12/01}{Fix copyright in xmp files.}
+% \changes{v1.01}{2008/12/10}{\texttt{glyphtounicode-cmr.tex} included with the package.}
+% \changes{v1.3}{2008/12/01}{Fix copyright in \texttt{.xmp} files.}
% \changes{v1.5.4}{2015/02/28}{Fixed timezone bug; Unicode support; more
% PDF variants; added color profiles.}
-% \changes{v1.5.5}{2015/03/23}{Support for PDF/X-4p and PDF/X-5pg
+% \changes{v1.5.5}{2015/03/23}{Support for PDF/X-4p and PDF/X-5pg
% with external color profiles.}
% \changes{v1.5.6}{2016/02/05}{Suppressed `dummy-space' font warning;
-% removed spurious '?' in XMP packets; improved handling of Color Profiles;
-% ensure Hy@pdfatrue when building PDF/A, for link flags;
-% properly enables xcolor conversion of color models.}
-% \changes{v1.5.7}{2016/02/17}{Removed UTF-8 characters that appear in
+% removed spurious `?' in XMP packets; improved handling of Color Profiles;
+% ensure \texttt{\textbackslash Hy@pdfatrue} when building PDF/A, for link flags;
+% properly enables \texttt{xcolor} conversion of color models.}
+% \changes{v1.5.7}{2016/02/17}{Removed UTF-8 characters that appear in
% the documentation only, within comments in the package source,
% but result in a validation failure. Language support in XMP metadata.
% Added macros for Windows and Mac system color profile directories.}
% \changes{v1.5.8}{2016/05/03}{MediaBox, TrimBox, etc. derived from
-% the paperheight, paperwidth. Improved language support, incl. KOI8-R
+% the \texttt{\textbackslash paperheight}, \texttt{\textbackslash paperwidth}.
+% Improved language support, incl. KOI8-R
% encoded cyrillics, Armenian OT6, and LGR Greek encoding, incl. polytonic Greek.
% All the encodings Latin-1--9 are supported for upper 8-bit characters.
-% Fixed the quoted file-name problem, evident with LuaTeX.
+% Fixed the quoted file-name problem, evident with Lua\TeX.
% Method to generate correct bookmarks with non-active (transliterated) input.
-% Added support for XeLaTeX, improvements with LuaTeX. Updated documentation.}
+% Added support for Xe\LaTeX, improvements with Lua\TeX. Updated documentation.}
% \changes{v1.5.82}{2017/05/12}{%
-% Adjusted to changes in the LaTeX core, affecting macros for composite
+% Adjusted to changes in the \LaTeX\ core, affecting macros for composite
% commands; incl. \texttt{\textbackslash textsuperscript} and others.}%
-% \changes{v1.5.83}{2017/05/16}{Improved support for XeLaTeX and LuaLaTeX.}%
-% \changes{v1.5.84}{2017/05/18}{Fully expand options for hyperref. Better support
+% \changes{v1.5.83}{2017/05/16}{Improved support for Xe\LaTeX\ and Lua\LaTeX.}%
+% \changes{v1.5.84}{2017/05/18}{Fully expand options for \texttt{hyperref}. Better support
% for extended IPA letters and modifiers. Adjusted release versions and dates.}%
-% \changes{v1.5.85}{2017/06/23}{Fixed bugs, and fully implemented L8U as
-% a pseudo-encoding; renamed L8U files into the form *-penc.def }%
-% \changes{v1.6}{2018/11/18}{Added XMP support for PDF/UA-1.
-% Added more Metadata fields and Language support.
-% Default RGB and CMYK profiles now require the colorprofiles.sty package.
-% Added file CallasColorProfiles.tex .
-% Revised glyphtounicode.sty to use variation selectors, altered maps to PUA
-% codepoints; added more glyphs via glyphtounicode-ntx.tex .
+% \changes{v1.5.85}{2017/06/23}{Fixed bugs, and fully implemented L8U as
+% a pseudo-encoding; renamed L8U files into the form \texttt{*-penc.def}.}%
+% \changes{v1.6}{2018/11/18}{Added XMP support for PDF/UA-1.
+% Added more Metadata fields and Language support.
+% Default RGB and CMYK profiles now require the \texttt{colorprofiles.sty} package.
+% Added file \texttt{CallasColorProfiles.tex}.
+% Revised \texttt{glyphtounicode.sty} to use variation selectors, altered maps to PUA
+% codepoints; added more glyphs via \texttt{glyphtounicode-ntx.tex}.
% Support for 8-bit Hebrew encodings, some Arabic and Devanagari.
-% Updated documentation, incl. for LaTeX changes.
+% Updated documentation, incl. for \LaTeX\ changes.
% }%
-% \changes{v1.6.1}{2018/12/22}{Fixed issue with ifthen package;
-% improved Metadata with LuaTeX and XeTeX. Flexibility with page boxes for PDF/X.}%
-% \changes{v1.6.2}{2019/01/04}{Fixed passing of options to xcolor, and some glyphtounicode values.}%
-% \changes{v1.6.3}{2019/02/27}{Fixed encoding issues; support for new pdfomitcharset primitive;
-% reference to veraPDF validation software; additions to glyphtounicode-ntx.tex.}%
+% \changes{v1.6.1}{2018/12/22}{Fixed issue with \texttt{ifthen} package;
+% improved Metadata with Lua\TeX\ and Xe\TeX. Flexibility with page boxes for PDF/X.}%
+% \changes{v1.6.2}{2019/01/04}{Fixed passing of options to \texttt{xcolor}, and some \texttt{glyphtounicode} values.}%
+% \changes{v1.6.3}{2019/02/27}{Fixed encoding issues; support for new \texttt{\textbackslash pdfomitcharset} primitive;
+% reference to \textsf{veraPDF} validation software; additions to \texttt{glyphtounicode-ntx.tex}.}%
+% \changes{v1.6.4}{2019/09/26}{Added check and warning with \texttt{luatex} for whether \texttt{\textbackslash pdfminorversion} can be changed;
+% ensure correct \texttt{\textbackslash catcode} for input characters up to 31, when reading \texttt{.xmpdata} file;
+% disabled patched \texttt{\textbackslash mathaccentV} due to incompatibility with wide base expressions.}
+% \changes{v1.6.5}{2021/07/06}{Support for \texttt{\textbackslash Nickname} as Metadata command;
+% ensure \texttt{\textbackslash par} is unexpandable when processing XMP metadata.}
+% \changes{v1.6.5a}{2023/10/17}{Added option \texttt{pdf20} for future need with PDF 2.0; support for \texttt{\textbackslash pdfmajorversion};
+% support for Memoir's \texttt{\textbackslash stockwidth} and \texttt{\textbackslash stockheight} dimen registers.}
+% \changes{v1.6.5b}{2024/04/05}{Avoid loading \texttt{xmpincl} package from within a \TeX\ grouping.}
+% \changes{v1.6.5c}{2024/05/23}{Avoid loading \texttt{stringenc} package from within a \TeX\ grouping.}
+% \changes{v1.6.5d}{2024/05/29}{Adjust for non-zero \texttt{\textbackslash stockwidth} only; prevent changes to \texttt{xcolor} options after use.}
+% \changes{v1.6.5e}{2024/06/22}{Ensure \texttt{\textbackslash pdfmajorversion} and \texttt{\textbackslash pdfminorversion}
+% are both defined and set correctly. Updated documentation; added new Bibliography entries and revised URL links.}
+% \changes{v1.6.5f}{2024/06/24}{Reset \texttt{\textbackslash ifpdf} properly; support \texttt{\textbackslash creationdate} with Xe\TeX. Revised Glossary layout.}
% \title{Generation of PDF/X- and PDF/A-\penalty-200 compliant PDFs with \pdftex --- \texttt{pdfx.sty}}
-% \date{2019/02/27}
-% \version{1.6.3}
+% \date{2024/07/01}
+% \version{1.6.5f}
% \keywords{PDF, PDF/A, PDF/X, pdf\TeX, \LaTeX, Multilingual Metadata}
% \author{C.\,V.\,Radhakrishnan, \Thanh, Ross Moore {\upshape\small
% and} Peter Selinger}
% \contact{\texttt{[cvr,thanh]@river-valley.org},\\%
-% \texttt{ross.moore@mq.edu.au}, \texttt{selinger@mathstat.dal.ca}\hss}
-%
+% \texttt{ozross@icloud.com}, \texttt{selinger@mathstat.dal.ca}\hss}
+%
% \maketitle
%
% \StopEventually{}
%
% \section[Introduction]{Introduction}
%
-% This package\footnote{An earlier version of this documentation
+% This package\footnote{An earlier version of this documentation
% was published as \cite{pdfx}. All the changes since then have been developed
% and coded by the 3rd-listed author.}
-% currently supports generation of PDF/X-, PDF/A- and PDF/E-compliant
+% currently supports generation of PDF/X-, PDF/A- and PDF/E-compliant
% documents, using \pdftex, in most of their variants;
% see the complete list in Section~\ref{ssec-options} below.
% As of \TeX\,Live 2016 it now also works with Lua\LaTeX\ and Xe\LaTeX,
% when using appropriate command-line options\footnote{%
-% The required invokation is:\quad
+% The required invocation is:\quad
% |xelatex --shell-escape -output-driver="xdvipdfmx -z 0" <filename>.tex |}, but
% with some limitations --- see Sections~\ref{sssec-xetex} and \ref{sssec-luatex}.
-% By `supports', we mean that the package provides correct and sufficient
+% By `supports', we mean that the package provides correct and sufficient
% means to declare that a document conforms with a stated PDF variant
-% (PDF/X, PDF/A, PDF/E, PDF/VT, PDF/UA, etc.) along with the version and/or
+% (PDF/X, PDF/A, PDF/E, PDF/VT, PDF/UA, etc.) along with the version and/or
% level of conformance.
% This package also allows appropriate Metadata and Color Profile
% to be specified, according to the requirements of the PDF variant.
@@ -216,7 +243,7 @@
% information as well as a large range of optional data, a fully validating
% PDF file cannot be achieved. The PDF can be created, having the correct
% visual appearance on all pages, but it will not pass validation checks.
-% Sections~\ref{ssec-metadata} and \ref{ssec-multi} describe
+% Sections~\ref{ssec-metadata} and \ref{ssec-multi} describe
% how this file should be constructed.
%
% \medskip
@@ -224,23 +251,24 @@
% of document structure and type of content that may be required
% (or restricted) within a PDF variant. For example, PDF/VT \cite{PDFVT} requires
% well-structured parts, using Form XObject sections tagged as `/DPart'.
-% Similarly PDF/A-1a (and 2a and 3a) \cite{PDFA,PDFA2,PDFA3} require
-% a fully `Tagged PDF', including a detailed structure tagging which
+% Similarly PDF/A-1a (and 2a and 3a) \cite{PDFA,PDFA2,PDFA3} require
+% a fully `Tagged PDF', including a detailed structure tagging which
% envelops the complete contents of the document, as does also PDF/UA \cite{PDF-UA}.
-% This is beyond the current version of \LaTeX\ engines, as commonly shipped.
+% This is beyond the current version of \LaTeX\ engines as commonly shipped;
+% though see Section~\ref{sec-pdf20} for recent developments.
% So while this package provides enough to meet the declaration,
-% metadata and font-handling aspects for these PDF/A variants,
-% it is not sufficient to produce fully conforming PDFs.
-% However, with extra \pdftex-based software or macro coding that \emph{is} capable
-% of producing `Tagged PDF', this package can be used as part of
-% the overall workflow to produce fully conforming documents.
+% Metadata and font-handling aspects for these PDF/A variants,
+% it is not sufficient to produce fully-conforming PDFs.
+% However, with extra \pdftex-based software or macro coding that \emph{is} capable
+% of producing `Tagged PDF', this package can be used as part of
+% the overall workflow to produce fully-conforming documents; see \cite{tpdf}.
%
%
% \subsection{PDF standards}\label{ssec-standards}
%
% PDF/X and PDF/A are umbrella terms used to denote several ISO
-% standards \cite{PDFX,PDFX3,PDFX1a,PDFX4,PDFX5,PDFA,PDFA2,PDFA3}
-% that define different subsets of the PDF standard \cite{PDF17,ISO32000}.
+% standards \cite{PDFX,PDFX3,PDFX1a,PDFX4,PDFX5,PDFA,PDFA2,PDFA3}
+% that define different subsets of the PDF standard \cite{PDF17,ISO32000}.
% The objective of PDF/X is to facilitate graphics exchange between
% document creator and printer and therefore, has all requirements
% related to printing. For instance, in PDF/X, all fonts need to be
@@ -249,28 +277,28 @@
% specifications of PDF/X.
% Since 2005 other variants of PDF/X have emerged, as extra effects
% (such as layering and transparency) have been supported within the PDF
-% standard itself. The full range of versions and conformance supported
+% standard itself. The full range of versions and conformance supported
% in this package is discussed below in Section~\ref{ssec-options}.
%
% PDF/A defines a profile for archiving PDF documents, which ensures
% the documents can be reproduced in the exact same way in years to
% come. A key element to achieving this is that PDF/A documents
% are 100\% self-contained. All the information needed to display the
-% document in the same manner every time is embedded in the file.
+% document in the same manner every time is embedded in the file.
% A PDF/A document is not permitted to be reliant on information from
% external sources. Other restrictions include avoidance of
-% audio/video content, JavaScript and encryption.
-% Mandatory inclusion of fonts, color profile and standards-based metadata
+% audio/video content, JavaScript and encryption.
+% Mandatory inclusion of fonts, color profile and standards-based metadata
% are absolutely essential for PDF/A.
% Later versions allow for use of image compression and file attachments.
%
-% PDF/E is an ISO standard \cite{PDFE} intended for documents used in engineering workflows.
+% PDF/E is an ISO standard \cite{PDFE} intended for documents used in engineering workflows.
% PDF/VT \cite{PDFVT} allows for high-volume customised form printing, such as utility bills.
% PDF/UA (`Universal Accessibility') has emerged as a standard \cite{PDF-UA,PDFUA1,PDFUABSI}
-% supporting Assistive Technologies, incorporating web-accessibility guidelines (WCAG)
-% for electronic documents.
+% supporting Assistive Technologies, incorporating web-accessibility guidelines (WCAG)
+% for electronic documents.
% In future, PDF/H may emerge for health records and medical-related
-% documents. Other applications can be envisaged.
+% documents. Other applications can be envisaged.
% Declarations and Metadata are supported for the first three of these.
% The others are the subject of further work; revised versions of this
% package can be expected in later years.
@@ -281,6 +309,30 @@
% and whatever else is relevant to how the standards have been established
% and how they can be used.
%
+% \subsection{Later \LaTeX\ changes, support for newer PDF standards}\label{sec-pdf20}
+%
+% Although PDF 2.0~\cite{PDF20} was first published in 2017 and revised in 2020, it has taken
+% a long time for it to become a target format for documents built using \LaTeX.
+% This is because the requirement of using `Tagged PDF' is stringent, requiring
+% a reworking of almost every aspect of \LaTeX's document production model \cite{LaTeXPDF}.
+% Work to this end is going on, via the PDF Association's `\LaTeX\ Project LWG'\cite{PDF-LaTeX},
+% the experimental |tagpdf| package \cite{tagpdf}, and Ross Moore's |tpdf| package and macro suite \cite{tpdf}.
+% Significant internal changes have been made to \LaTeX\ itself, which in turn have
+% required the |v1.6.5x| updates in 2024 to this |pdfx| package. We thank the following users for reporting
+% issues arising from such changes: Sergio Zenoni, Takehiko Tanabe, Tom\'a\v s Nov\'a\v cek.
+%
+% In early 2024 the PDF Association published several documents for new and updated standards
+% based upon PDF 2.0~\cite{PDF20}. These include PDF/UA-2 \cite{PDFUA2}, PDF `Declarations' \cite{PDFDecl},
+% `Well-Tagged PDF' (WTPDF) \cite{WTPDF} with declarations for `Accessibility' and `Reuse',
+% adding to PDF/A-4 \cite{PDFA4}, PDF/X-6 \cite{PDFX6} and PDF/VT-3 \cite{PDFVT3}, each with various flavours.
+% To support these, there will be released in late 2024 a variant named |pdfx2| as an extension of |pdfx|,
+% with separate documentation detailing how to specify appropriate XMP metadata \cite{XMP-ISO}.
+%
+% Once |pdfx2| becomes available, this will take on the role of handling new developments for
+% \LaTeX\ support of PDF 2.0-based software solutions. The |pdfx| package will remain under
+% active development, primarily to ensure compatibility of existing documents with PDF 1.7-based
+% requirements (tagged or otherwise), following any further changes in \LaTeX\ or other packages.
+%
% \section[Usage]{Usage}\label{sec-usage}
%
% The package can be loaded with the command:
@@ -292,7 +344,7 @@
% \subsection{Package options}\label{ssec-options}
%
% \subsubsection{PDF/A options}
-%
+%
% PDF/A is an ISO standard~\cite{PDFA,PDFA2,PDFA3} intended for long-term archiving of
% electronic documents. It therefore emphasizes self-containedness and
% reproducibility, as well as machine-readable metadata. The PDF/A
@@ -307,7 +359,7 @@
% versions contain a subset of the features of later versions, so for
% maximum portability, it is preferable to use a lower-numbered
% version, when the extra features allowed in higher versions are not used.
-% There is no conformance level `u' in version 1 of the standard.
+% There is no conformance level `u' in version 1 of the standard.
% Thus for many typical uses of PDF/A, it is sufficient to use PDF/A-1b.
%
% \begin{itemize}
@@ -320,28 +372,28 @@
% \item |a-3b|: generate PDF/A-3b.
% \item |a-3u|: generate PDF/A-3u.
% \end{itemize}
-% By `Experimental, not fully implemented' here we mean primarily that
+% By `Experimental, not fully implemented' here we mean primarily that
% the document structure, as required for `Tagged PDF', is not handled
-% by this package. Using other \pdftex-based software that \emph{is}
+% by this package. Using other \pdftex-based software that \emph{is}
% capable of producing such complete tagging, conforming documents
% can indeed be produced.
%
% \subsubsection{PDF/E options}
-%
+%
% PDF/E is an ISO standard~\cite{PDFE} intended for documents used in engineering
% workflows. There is only one version of the PDF/E standard so far,
% and it is called PDF/E-1.
-%
+%
% \begin{itemize}
% \item |e-1|: generate PDF/E-1.
% \item |e|: same as |e-1|.
% \end{itemize}
%
% \subsubsection{PDF/UA options}
-%
-% PDF/UA is an ISO and ANSI standard~\cite{PDF-UA,PDFUABSI} intended for making
-% structured documents readable and navigable using Assistive Technology;
-% e.g., screen-readers, Braille keyboards and such-like.
+%
+% PDF/UA is an ISO and ANSI standard~\cite{PDF-UA,PDFUABSI} intended for making
+% structured documents readable and navigable using Assistive Technology;
+% e.g., screen-readers, Braille keyboards and such-like.
% Documents prepared this way can be easily saved in other formats which
% preserve the structure, such as XML, HTML, and (Microsoft) Word-based formats.
%
@@ -359,20 +411,20 @@
% multi-file exchange, and level 2s is for streamed delivery.
% Currently, none of the PDF/VT conformance levels are fully
% implemented by the |pdfx| package.
-%
+%
% \begin{itemize}
% \item |vt-1|: generate PDF/VT-1, based on PDF/X-4. Experimental, not fully implemented
% \item |vt-2|: generate PDF/VT-2, based on PDF/X-5pg. Experimental, not fully implemented.
% \item |vt-2s|: generate PDF/VT-2s. Experimental, not fully implemented.
% \end{itemize}
-% By `Experimental, not fully implemented' here we mean primarily that
+% By `Experimental, not fully implemented' here we mean primarily that
% the structuring of a document into `/DPart' sections, as Form XObjects,
-% is not handled by this package.
-% This \emph{is} possible with current \pdftex\ software,
+% is not handled by this package.
+% This \emph{is} possible with current \pdftex\ software,
% but not yet in a way that lends itself easily to full automation, due to
% requirements of knowing the internal object number of certain internal
-% PDF constructs. All the other aspects: PDFInfo declaration, Metadata
-% and Color Profile, of the PDF/VT variants are correctly handled.
+% PDF constructs. All the other aspects: PDFInfo declaration, Metadata
+% and Color Profile, of the PDF/VT variants are correctly handled.
%
% \subsubsection{PDF/X options}
%
@@ -380,13 +432,13 @@
% emphasizes printing-related requirements, such as embedded fonts and
% color profiles. The PDF/X standard has a large number of variants
% and conformance levels. The basic variants are X-1, X-1a,
-% X-3, X-4, and X-5. (Note that a revised version of the X-2 standard
-% was published in 2003 but withdrawn as an ISO standard in 2011,
-% basically due to lack of interest in using it).
-% The PDF/X-1a standard exists in revisions of 2001 and 2003,
-% the PDF/X-3 standard exists in revisions of 2002 and 2003,
-% and the PDF/X-4 and PDF/X-5 standards exist in revisions of 2008 and 2010.
-% Moreover, some of these standards have a `p' version, which permits the
+% X-3, X-4, and X-5. (Note that a revised version of the X-2 standard
+% was published in 2003 but withdrawn as an ISO standard in 2011,
+% basically due to lack of interest in using it).
+% The PDF/X-1a standard exists in revisions of 2001 and 2003,
+% the PDF/X-3 standard exists in revisions of 2002 and 2003,
+% and the PDF/X-4 and PDF/X-5 standards exist in revisions of 2008 and 2010.
+% Moreover, some of these standards have a `p' version, which permits the
% use of an externally supplied color profile (instead of an embedded one),
% and/or a `g' version, which permits the use of external graphical
% content. Moreover, PDF/X-5 has an `n' version, which extends
@@ -401,14 +453,14 @@
% \item |x-2|: generate PDF/X-2; unpublished, doesn't validate.
% \item |x-3|: generate PDF/X-3. Options |x-302| and |x-303| are
% also available to specify PDF/X-3:2002 or PDF/X-3:2003 explicitly.
-% \item |x-4|: generate PDF/X-4. Options |x-408| and |x-410| are
+% \item |x-4|: generate PDF/X-4. Options |x-408| and |x-410| are
% also available to specify PDF/X-4:2008 or PDF/X-4:2010 explicitly.
% \item |x-4p|: generate PDF/X-4p. Options |x-4p08| and |x-4p10| are
% also available to specify PDF/X-4p:2008 or PDF/X-4p:2010 explicitly.
% \item |x-5g|: generate PDF/X-5g. Options |x-5g08| and |x-5g10| are
% also available to specify PDF/X-5g:2008 or PDF/X-5g:2010 explicitly.
% \item |x-5n|: generate PDF/X-5n. Options |x-5n08| and |x-5n10| are
-% also available to specify PDF/X-5n:2008 or PDF/X-5n:2010 explicitly.
+% also available to specify PDF/X-5n:2008 or PDF/X-5n:2010 explicitly.
% Experimental, not fully implemented.
% \item |x-5pg|: generate PDF/X-5pg. Options |x-5pg08| and |x-5pg10| are
% also available to specify PDF/X-5pg:2008 or PDF/X-5pg:2010 explicitly.
@@ -441,9 +493,11 @@
% applicable standard.\\This may produce a non-standard-conforming PDF file.
% \item |pdf17|: use PDF 1.7, overriding the version specified by the
% applicable standard.\\This may produce a non-standard-conforming PDF file.
+% \item |pdf20|: use PDF 2.0, experimental in preparation for use with future
+% software, under development. This may produce a non-standard-conforming PDF file.
% \item |nocharset|: do not generate the Charset entry for fonts (\pdftex\ only).
% \item |usecharset|: generate the Charset entry for fonts (\pdftex\ only).
-% \end{itemize}
+% \end{itemize}
% The latter two options affect the value of the |\pdfomitcharset| primitive,
% added to \pdftex\ in 2019, due to differing requirements for PDF/A-1
% and other PDF/A versions. Indeed use of the |/Charset| entry for a font
@@ -451,14 +505,14 @@
%
% \subsubsection{XMP language options}\label{ssec-xmplang}
%
-% These options allow for characters in alphabets other than those
-% used for English and Western European languages to be used
-% within the |.xmpdata| file (see Section~\ref{ssec-metadata}),
+% These options allow for characters in alphabets other than those
+% used for English and Western European languages to be used
+% within the |.xmpdata| file (see Section~\ref{ssec-metadata}),
% supported through \LaTeX\ character representation macros.
% \begin{itemize}
-% \item |latxmp|: extended Latin blocks, |Ux0180|--|Ux024F|
-% and |Ux1E00|--|Ux1EFF|
-% \item |armxmp|: armenian letters and ligatures, |Ux0530|--|Ux058F|,
+% \item |latxmp|: extended Latin blocks, |Ux0180|--|Ux024F|
+% and |Ux1E00|--|Ux1EFF|
+% \item |armxmp|: armenian letters and ligatures, |Ux0530|--|Ux058F|,
% via macros |\armyba|, |\armfe|, |\armcomma|, etc.
% \item |cyrxmp|: cyrillic letters and accents, |Ux0400|--|Ux04FF|
% and |Ux0500|--|Ux0527| via macros |\cyra|, |\CYRN|, etc.
@@ -472,8 +526,8 @@
% via macros |\abreve|, |\uhorn|, |\ECIRCUMFLEX|, etc.
% \item |ipaxmp|: phonetic extensions, |Ux0250|--|Ux02AF|
% and |Ux1D00|--|Ux1DFF|
-% \item |mathxmp|: mathematical letters, symbols, operators
-% arrows, alphanumeric forms.
+% \item |mathxmp|: mathematical letters, symbols, operators
+% arrows, alphanumeric forms.
% \item |allxmp|: all of the above, as well as those listed next;
% used primarily for testing compatibility with other packages.
% \end{itemize}
@@ -486,13 +540,13 @@
% Further options allow direct (enclosed) input of upper 8-bit
% characters, from encodings such as Latin-1--Latin-9, KOI8-R,
% LGR (Greek), ArmSSCI8, and a few more.
-% Use of these requires a carefully controlled parsing regime.
+% Use of these requires a carefully controlled parsing regime.
% Here we list the package options that declare such content
% may be present in the |.xmpdata| file.
-% A detailed account of how these are used is given
+% A detailed account of how these are used is given
% in~Section~\ref{ssec-multi} (``Multilingual Metadata'').
% \begin{itemize}
-% \item |LATxmp|: support for direct use of the upper-range characters
+% \item |LATxmp|: support for direct use of the upper-range characters
% (byte codes 160--255) for input encodings Latin1--Latin9, for
% Latin-based alphabets as used in European countries and elsewhere.
% This defines parser macros |\textLAT|, |\textLII|, \dots, |\textLIX|.
@@ -501,7 +555,7 @@
% of upper-range characters (byte codes 148--255) under input
% encodings KOI8-R and KOIR8-RU, using |\textKOI| as parser macro.
% All support from |cyrxmp| is loaded also.
-% \item |LGRxmp|: support for greek letters entered using either
+% \item |LGRxmp|: support for greek letters entered using either
% the LGR input transliteration of ASCII characters, or the ISO-8859-7
% encoding of upper-range characters (byte codes 160--255),
% or a combination of both, using |\textLGR| as parser macro.
@@ -509,25 +563,25 @@
% \item |AR8xmp|: support for armenian letters entered using the
% Arm\TeX~2.0 input transliteration of ASCII characters, or the
% ArmSCII8 encoding of upper-range characters (byte codes 160--255),
-% or a combination of both, using |\textARM| as parser macro.
+% or a combination of both, using |\textARM| as parser macro.
% All support from |armxmp| is loaded also.
-% \item |HEBxmp|: support for hebrew letters entered using either
-% LHE input transliteration of ASCII characters, or the CP1255, CP862
+% \item |HEBxmp|: support for hebrew letters entered using either
+% LHE input transliteration of ASCII characters, or the CP1255, CP862
% or ISO-8859-8 (HE8) encoding of upper-range characters (byte codes 160--255),
% or a combination of these using |\textLHE|, |\textHEBO|, |\textHEB| as parser macros.
% All support from |hebxmp| is loaded also.
% \end{itemize}
-% These `parser' options have received limited testing, so please
+% These `parser' options have received limited testing, so please
% report any mistakes in the UTF-8 output that you may encounter.
%
% \subsection{Data file for metadata}\label{ssec-metadata}
%
-% As mentioned above, standards-compliant PDF documents require
-% document-level metadata to be included.
-% This, known as an `XMP packet'~\cite{XMP-spec,XMP-ISO},
+% As mentioned above, standards-compliant PDF documents require
+% document-level metadata to be included.
+% This, known as an `XMP packet'~\cite{XMP-spec,XMP-ISO},
% is like having a library catalog card included within the PDF itself. It is an unencrypted
% portion of the PDF file, with data expressed in Extensible Markup Language (XML),
-% using Resource Description Format (RDF~\cite{RDF}) syntax, encoded as UTF-8
+% using Resource Description Format (RDF~\cite{RDF}) syntax, encoded as UTF-8
% so readable by any text editing software on any modern computing platform.
%
% Some advantages of doing this are clear.
@@ -539,12 +593,12 @@
% \item For the author(s): who can specify the kind of information most appropriate
% to help readers understand the nature and purpose of the document.
% \end{itemize}
-%
-% The |pdfx| package builds the XMP metadata from information supplied via a special data file
-% called |\jobname.xmpdata|. Here, |\jobname| is usually the basename of the document's main
-% |.tex| file. For example, if your document source is in the file |main.tex|,
-% then the metadata must be in a file called |main.xmpdata|.
-% None of the individual metadata fields are mandatory, but for most documents, it makes sense
+%
+% The |pdfx| package builds the XMP metadata from information supplied via a special data file
+% called |\jobname.xmpdata|. Here, |\jobname| is usually the basename of the document's main
+% |.tex| file. For example, if your document source is in the file |main.tex|,
+% then the metadata must be in a file called |main.xmpdata|.
+% None of the individual metadata fields are mandatory, but for most documents, it makes sense
% to specify at least the title and the author. For more technical aspects of metadata
% and its uses, consult the work of the Dublin Core Initiative~\cite{DC} and PRISM~\cite{PRISM}.
%
@@ -557,72 +611,73 @@
% |\Publisher{Baking International}|
% \end{decl}
% You should note that multiple authors and keywords have been separated
-% by |\sep|. This |\sep| macro serves a technical purpose and is
+% by |\sep|. This |\sep| macro serves a technical purpose and is
% permitted within the |\Author|, |\Keywords|, and |\Publisher| fields,
-% as well as some others. See \S\ref{mdfields} below for a complete listing
+% as well as some others. See \S\ref{mdfields} below for a complete listing
% of the supported author-supplied metadata fields.
%
% After processing, the local directory contains a file named such as
% |pdfa.xmpi| or |pdfe.xmpi| or |pdfx.xmpi| according to the PDF variant desired.
-% This file is the complete XMP Metadata packet.
-% It can be checked for validity, using an online validator, such as at
+% This file is the complete XMP Metadata packet.
+% It can be checked for validity, using an online validator, such as at
% \href{http://www.pdflib.com/knowledge-base/xmp-metadata/free-xmp-validator/}{www.pdflib.com}.
-% \textsf{veraPDF}~\cite{veraPDF} is Open Source software providing validation for PDF/A,
+% \textsf{veraPDF}~\cite{veraPDF} is Open Source software providing validation for PDF/A,
% and other checkers useful in a PDF/A production setting.
-%
+%
% \textbf{Warning}: The |\jobname.xmpdata| file may be included in the
-% main document source, within a |{filecontents*}| environment,
+% main document source, within a |{filecontents}| environment,
% provided this comes \emph{before} the |\documentclass| command, as follows.
+% The |force| option ensures overwriting a previous file to catch recent edits.
% \begin{decl}[]
-% |\begin{filecontents*}{\jobname.xmpdata}|\\
+% |\begin{filecontents}[force]{\jobname.xmpdata}|\\
% | \Title{Baking through the ages}|\\
% | \Author{A. Baker\sep C. Kneader}|\\
% | \Language{en-GB}|\\
% | \Keywords{cookies\sep muffins\sep cakes}|\\
% | \Publisher{Baking International}|\\
-% |\end{filecontents*}|\\
+% |\end{filecontents}|\\
% |\documentclass[11pt,a4paper]{article}|\\
% |...|
% \end{decl}
% Including the metadata with the \LaTeX\ source is very convenient.
-% Having it at the top of the file also brings attention to it, placing emphasis on
-% the desirability of including metadata, and keeping it accurate while the main
-% content of the document is subject to changes or revision.
-% Macro definitions can also occur prior to the |\documentclass| command,
-% including any that may be needed within the metadata.
+% Having it at the top of the file also brings attention to it, placing emphasis on
+% the desirability of including metadata, and keeping it accurate while the main
+% content of the document is subject to changes or revision.
+% Macro definitions can also occur prior to the |\documentclass| command,
+% including any that may be needed within the metadata.
% An example of this is apparent in Figure~\ref{koi8-code} occurring later.
%
-% However, this ordering is also extremely important, else any non-ascii UTF-8 byte
-% sequences can become active characters and expand upon data being written out,
+% However, this ordering is also extremely important, else any non-ascii UTF-8 byte
+% sequences can become active characters and expand upon data being written out,
% rather than remaining as inactive bytes.
% If you edit the metadata supplied this way, remember to remove the
% existing copy of |\jobname.xmpdata| file before the next processing run,
-% as \LaTeX\ does not write a new copy of the file when it exists on disk already,
+% as \LaTeX\ does not write a new copy of the file when it exists on disk already,
% within the current working directory or elsewhere that \LaTeX\ may find.
% In development or testing situations the filename may need to be given as
% |./\jobname.xmpdata|, else an older version may be loaded in error.
-%
+%
% Experienced users/programmers can employ the \verb|\write18| mechanism%
-% \footnote{If you don't already know what this is, they you probably
-% should not try using it |:-)|.}, together with the |--shell-escape| command-line
-% option, to automatically execute a shell command that removes |\jobname.xmpdata|
-% on every (or on selected) processing runs.
+% \footnote{If you don't already know what this is, they you probably
+% should not try using it |:-)|.}, together with the |--shell-escape| command-line
+% option, to automatically execute a shell command that removes |\jobname.xmpdata|
+% on every (or on selected) processing runs.
% This is only useful when the metadata changes, for whatever reason.
%
% \medskip
-% Other places for the |{filecontents*}| environment can work,
+% Other places for the |{filecontents}| environment can work,
% but \emph{only} when it contains \emph{no} non-ascii UTF-8 byte sequences.
-% Since 2018, with default
+% Since 2018, with default
% See Section~\ref{ssec-symbols} below for more information on the macros
% that can be safely used within |.xmpdata| metadata files.
-%
+%
% \subsection{List of supported metadata fields}\label{mdfields}
-%
+%
% Following is a complete list of user-definable metadata fields currently supported,
% separated into particular groupings.
-% Each command is accompanied by the specific XML tagged field name (with namespace)
-% that is placed into the document-level Metadata packet, as well as the kind of information
-% being conveyed.
+% Each command is accompanied by the specific XML tagged field name (with namespace)
+% that is placed into the document-level Metadata packet, as well as the kind of information
+% being conveyed.
% More may be added in the future.
% These commands can \emph{only} be used within the |.xmpdata| file.
%
@@ -630,13 +685,13 @@
% using RFC5646 (BCP 47)~\cite{BCP47} codes, in which the metadata field is given.
% Languages for multiple entries can use e.g., |\sep[de] ...|.
% Only those fields requiring a specific format (e.g. dates) do \emph{not}
-% support language specifiers; these are indicated with \fixmd.
+% support language specifiers; these are indicated with \fixmd.
% Fields allowing more than one value are indicated with \starmd.
% Multiple values may be given as separate instances of the macro, or as a single
-% instance with the values delimited by |\sep|, as in the example above.
-%
+% instance with the values delimited by |\sep|, as in the example above.
+%
% \subsubsection{General information:}
-%
+%
% \begin{itemize}
% \item \starmd|\Author|: \hfill (|dc:creator|)\\
% the document's human author(s). Separate multiple authors with |\sep|.
@@ -661,10 +716,10 @@
% location of a web page describing the owner
% and/or rights statement for this document.
% \item \fixmd|\Copyrighted|: \hfill (|xmpRights:Marked|)\\
-% `True' if the document is copyrighted, and `False' if it isn't.
-% This is automatically set to `True' if either |\Copyright| or |\CopyrightURL| is specified,
-% but this can be overridden.
-% For example, if the copyright statement is `Public Domain',
+% `True' if the document is copyrighted, and `False' if it isn't.
+% This is automatically set to `True' if either |\Copyright| or |\CopyrightURL| is specified,
+% but this can be overridden.
+% For example, if the copyright statement is `Public Domain',
% then specify also |\Copyrighted{False}|.
% \item \starmd|\Owner|: \hfill (|xmpRights:Owner|)\\
% specifies the owner(s) of the document or resource.
@@ -673,18 +728,18 @@
% \end{itemize}
%
% \subsubsection{more Dublin Core metadata:}\label{sssec-dc}
-% From version 1.6 of |pdfx.sty|, the following fields can be used to provide a greater
-% range of information to be specified as metadata.
+% From version 1.6 of |pdfx.sty|, the following fields can be used to provide a greater
+% range of information to be specified as metadata.
% \begin{itemize}
% \item \starmd|\Contributor|: \hfill (|dc:contributor|)\\
% contributor(s) other than author(s) of the PDF document.
% \item |\Coverage|: \hfill (|dc:coverage|)\\
% statement about the extent or scope of the document's contents.
% \item \starmd\fixmd|\Date|: \hfill (|dc:date|)\\
-% date(s) when something significant occurred relating to the resource (e.g., version changes);
+% date(s) when something significant occurred relating to the resource (e.g., version changes);
% must be in ISO date format |YYYY-MM-DD| or |YYYY-MM|.
% \item \fixmd|\PublicationType|: \hfill (|dc:type|)\\
-% The type of publication. If specified, must be one of `book', `catalog', `feed', `journal',
+% The type of publication. If specified, must be one of `book', `catalog', `feed', `journal',
% `magazine', `manual', `newsletter', `pamphlet'. This is automatically set to `journal'
% if |\Journaltitle| is specified (see below), but can be overridden.
% \item \starmd|\Relation|: \hfill (|dc:relation|)\\
@@ -700,10 +755,10 @@
% \end{itemize}
%
% The remaining Dublin Core field |(dc:format)| is always set to `|application/pdf|'.
-%
+%
% \subsubsection{Publication information:}\label{sssec-publ}
-% The following macros allow for inclusion of publication related metadata fields,
-% as specified by PRISM~\cite{PRISM} to meet publishing requirements.
+% The following macros allow for inclusion of publication related metadata fields,
+% as specified by PRISM~\cite{PRISM} to meet publishing requirements.
% \begin{itemize}
% \item |\Journaltitle|: \hfill (|prism:issueName|)\\
% The title of the journal in which the document was published.
@@ -720,7 +775,7 @@
% \item |\CoverDisplayDate|: \hfill (|prism:coverDisplayDate|)\\
% Date on the cover of the journal issue, as a human-readable text string.
% \item \fixmd|\CoverDate|: \hfill (|prism:coverDate|)\\
-% Date on the cover of the journal issue, in a format suitable for storing in a database
+% Date on the cover of the journal issue, in a format suitable for storing in a database
% field with a `date' data type; e.g. |YYYY-MM|, or |YYYY-MM-DD|.
% \end{itemize}
% This is an area which can be expanded, to deal with more kinds
@@ -729,20 +784,20 @@
% Examples of this can be found in the template files |pdfx.xmp|, |pdfa.xmp|, |pdfe.xmp|.
%
% \subsubsection{Backward Compatibility}
-% The following macros are also recognised, for backward compatibility
+% The following macros are also recognised, for backward compatibility
% with earlier versions of the package.
% \begin{itemize}
% \item \starmd|\AuthoritativeDomain|: \hfill (|pdfx:AuthoritativeDomain|)\\
% specifies extra names (e.g., of companies) associated to the existence of the PDF or resource.
% \item |\Creator|: \hfill (|xmp:CreatorTool|)\\
-% synonymous with |\CreatorTool| which is usually handled automatically anyway,
+% synonymous with |\CreatorTool| which is usually handled automatically anyway,
% but can be over-ridden.
% \item |\Org|: synonymous with |\Publisher|.
% \item |\WebStatement|: synonymous with |\CopyrightURL|.
% \end{itemize}
-%
+%
% \subsubsection{more XMP metadata:}\label{sssec-xmp}
-%
+%
% \begin{itemize}
% \item \starmd|\Advisory|: \hfill (|xmp:Advisory|)\\
% noteworthy information; e.g., revision data or changes.
@@ -763,7 +818,7 @@
% with a PDF standard, and level of conformance.
% There are no separate user-macros to alter these.
% The first three dates are usually set to be identical.
-%
+%
% \begin{itemize}
% \item (|xmp:CreateDate|) : creation date\&time of the PDF.
% \item (|xmp:MetadataDate|) : creation date\&time of the Metadata for the PDF.
@@ -776,7 +831,7 @@
% \item (|pdfaid:conformance|) : |a|, |b| or |u| for PDF/A-??
% \item (|pdfuaid:part|) : currently |1| for PDF/UA-1
% \item (|pdfe:ISO_PDFEVersion|) : currently |1| for PDF/E-1
-% \item (|pdf:Version|) : |PDF/X-1|, |PDF/X-2| or |PDF/X-3|
+% \item (|pdf:Version|) : |PDF/X-1|, |PDF/X-2| or |PDF/X-3|
% \item (|pdfx:GTS_PDFXVersion|) : e.g., |PDF/X-1a:2003| up to PDF/X-3 ;
% but no year for PDF/X-4 and PDF/X-5 variants
% \item (|pdfx:GTS_PDFXConformance|) : e.g., |PDF/X-1a:2003| up to PDF/X-2
@@ -788,13 +843,13 @@
% \subsection{Symbols permitted in metadata}\label{ssec-symbols}
%
% Within the metadata, all printable ASCII characters except
-% |\|, |{|, |}| and |%| represent themselves. Also, all printable Unicode characters
-% from the basic multilingual plane (i.e., up to code point U+FFFF)
+% |\|, |{|, |}| and |%| represent themselves. Also, all printable Unicode characters
+% from the basic multilingual plane (i.e., up to code point U+FFFF)
% can be used directly with the UTF-8 encoding.
-% (Please note: encodings other than UTF-8 are not supported in the metadata,
-% except as arguments to `parser-macros'; see Section~\ref{ssec-xmplang}).
-% Consecutive whitespace characters are combined into a single space.
-% Whitespace after a macro such as |\copyright|, |\backslash|, or |\sep| is ignored.
+% (Please note: encodings other than UTF-8 are not supported in the metadata,
+% except as arguments to `parser-macros'; see Section~\ref{ssec-xmplang}).
+% Consecutive whitespace characters are combined into a single space.
+% Whitespace after a macro such as |\copyright|, |\backslash|, or |\sep| is ignored.
% Blank lines are not permitted.
% Moreover, the following markup can be used:
%
@@ -807,32 +862,32 @@
% \item |\copyright|: the copyright symbol \textcopyright
% \end{itemize}
% The macro |\sep| is permitted within |\Author|, |\Keywords|,
-% |\Publisher|, and other macros marked with \starmd\ above.
-% It's purpose is to separate multiple authors, keywords, etc.
-% to appear as separate list items appropriately and consistently
-% in the different ways that such information is represented
-% within the PDF file.
+% |\Publisher|, and other macros marked with \starmd\ above.
+% It's purpose is to separate multiple authors, keywords, etc.
+% to appear as separate list items appropriately and consistently
+% in the different ways that such information is represented
+% within the PDF file.
% The package takes care of this when |\sep| is used.
% For example, in the XMP metadata, it expands as |</rdf:li><rdf:li>| tagging.
%
% \subsubsection{PDF Info strings}\label{sssec-info}
-% When |\sep| is not used within its argument, the metadata from |\Title|,
-% |\Author| and |\Keywords| is also included in the PDF |/Info| dictionary.
+% When |\sep| is not used within its argument, the metadata from |\Title|,
+% |\Author| and |\Keywords| is also included in the PDF |/Info| dictionary.
% When this is the case, validation for the declared standard
% will occur only if the corresponding |/Info| item and XMP metadata field
-% convert to exactly the same Unicode string.
+% convert to exactly the same Unicode string.
% This cannot happen when |\sep| is used, so the |/Info| items are then not populated.
%
% Unfortunately not all PDF browsers (in particular, older ones and much Apple software)
% give ready access to the XMP metadata packet. Some authors want to see everything
-% using e.g., the Unix/Linux command: |pdfinfo -enc UTF-8 |. In fact there is the |-meta|
-% option to get the complete metadata packet (in UTF-8 encoding).
+% using e.g., the Unix/Linux command: |pdfinfo -enc UTF-8 |. In fact there is the |-meta|
+% option to get the complete metadata packet (in UTF-8 encoding).
% This can give more than what one wants, so use it as follows:
% \begin{decl}[]
% pdfinfo -meta <filename>.pdf \textbar\ grep 'dc:'
% \end{decl}
% to extract just the Dublin Core metadata fields.
-%
+%
% Another possibility is to \emph{not} use |\sep| with multiple authors and/or keywords.
% Instead replace it with simply `|, |'. We do not recommend doing this, as more sophisticated
% metadata tools will see the result as a single value, rather than multiple authors, say.
@@ -842,21 +897,21 @@
%
% \subsection{Macros permitted in metadata}\label{ssec-macros}
%
-% Other \TeX\ macros actually can be used, provided the author is very
+% Other \TeX\ macros actually can be used, provided the author is very
% careful and not ask for too-complicated \TeX\ or \LaTeX\ expansions
% into internal commands or non-character primitives; basically just accents,
% macros for Latin-based special characters, and simple textual replacements,
-% perhaps with a simple parameter. A special macro |\pdfxEnableCommands{...}|
+% perhaps with a simple parameter. A special macro |\pdfxEnableCommands{...}|
% is provided to help resolve difficulties that may arise.
%
% Here is an example\footnote{ Other use cases are discussed with regard to
-% Figures~\ref{arm-code} and \ref{math-wflow}.} of the use of |\pdfxEnableCommands|,
-% which occurs with the name of one of our authors {(H\`an Th\'{\^e} Thanh)}
+% Figures~\ref{arm-code} and \ref{math-wflow}.} of the use of |\pdfxEnableCommands|,
+% which occurs with the name of one of our authors {(H\`an Th\'{\^e} Thanh)}
% due to the doubly-accented letter \'{\^e}.
% It is usual to define a macro such as: |\def\thanh{H\`an Th\'{\^e} Thanh}|.
-% In previous versions of the |pdfx| package, use of such a macro
+% In previous versions of the |pdfx| package, use of such a macro
% within the |.xmpdata| file, in the |Copyright| information say,
-% could result in the accent macros expanding into internal primitives, such as
+% could result in the accent macros expanding into internal primitives, such as
% \begin{decl}[]
% | H\unhbox \voidb@x \bgroup \let \unhbox \voidb@x \setbox \@tempboxa ... |
% \end{decl}
@@ -867,7 +922,7 @@
% | \def\`#1{#1^^cc^80}\def\'#1{#1^^cc^81}\def\^#1{#1^^cc^82}}|
% \end{decl}
% \removelastskip\noindent
-% where the |^^cc^80|, |^^cc^81|, |^^cc^82| cause \TeX\ to generate the correct
+% where the |^^cc^80|, |^^cc^81|, |^^cc^82| cause \TeX\ to generate the correct
% UTF-8 bytes for `combining accent' characters.
%
% This works fine for metadata fields that appear just in the XMP packet.
@@ -878,22 +933,22 @@
% | \def\thanh{H^^c3^^a0n Th\eee Thanh}\def\eee{^^c3^^aa^^cc^^81 }}|
% \end{decl}
% \removelastskip\noindent
-% or the above with `\`a' typed directly as UTF-8 instead of |^^c3^^a0|
+% or the above with `\`a' typed directly as UTF-8 instead of |^^c3^^a0|
% and `\^e' in UTF-8 for |^^c3^^aa|.
% The reason for this is due to the |\pdfstringdef| command, which constructs
-% the accented latin letters as single combined characters \`a and \^e,
+% the accented latin letters as single combined characters \`a and \^e,
% without resorting to combining accents, wherever possible.
-% If the Metadata does not have the same, irrespective of Unicode normalisation,
+% If the Metadata does not have the same, irrespective of Unicode normalisation,
% then validation fails.
%
% With version (1.5.6) of the |pdfx| package, such difficulties
-% have been overcome, at least for characters used in Western European,
-% Latin-based languages. The input encoding used when reading the |.xmpdata|
-% file now includes interpretations of \TeX's usual accent commands to
+% have been overcome, at least for characters used in Western European,
+% Latin-based languages. The input encoding used when reading the |.xmpdata|
+% file now includes interpretations of \TeX's usual accent commands to
% produce the required UTF-8 byte sequences.
%
% \medskip
-% Since version (1.5.8) this input encoding was extended to include
+% Since version (1.5.8) this input encoding was extended to include
% macro definitions covering \LaTeX's internal character representation
% of other alphabets (e.g., extended Latin, Cyrillic, Greek, etc.).
% However this can become memory intensive, requiring a large number of
@@ -902,12 +957,12 @@
% be relevant. Currently these are as in Section~\ref{ssec-xmplang}.
%
% A significant portion of the Unicode Basic Plane characters can be covered
-% this way. Modules could even be provided for CJK character sets and
+% this way. Modules could even be provided for CJK character sets and
% mathematical symbols, etc. However, as this can become memory intensive,
% significant testing will be required before these become a standard
-% part of the |pdfx| package.
+% part of the |pdfx| package.
+%
%
-%
% \subsection{Color profiles}\label{sec-profiles}
%
% Most standards compliant PDF documents require a \emph{color
@@ -915,26 +970,26 @@
% determines precisely how the colors used in the document will be
% rendered when printed to a physical medium. This can be used to
% ensure that the document will look exactly the same, even when it is
-% printed on different printers, with different paper types, etc.
-% The inclusion of a color profile is necessary to make the document
+% printed on different printers, with different paper types, etc.
+% The inclusion of a color profile is necessary to make the document
% completely self-contained.
%
% Since most \LaTeX\ users are not graphics professionals and are not
% particularly picky about colors, the |pdfx| package includes default
-% profiles that will be included when nothing else is specified.
+% profiles that will be included when nothing else is specified.
% Therefore, the average user doesn't have to do anything
% special about color.
%
% For users who have a specific color profile they wish to use, it is
% possible to do so by including a |\setRGBcolorprofile| or
% |\setCMYKcolorprofile| command in the |.xmpdata| file. Note that
-% PDF/A and PDF/E require a profile of type `|mnrt|' (monitor) which
-% is usually an RGB color profile, while PDF/X and PDF/VT require type `|prtr|'
+% PDF/A and PDF/E require a profile of type `|mnrt|' (monitor) which
+% is usually an RGB color profile, while PDF/X and PDF/VT require type `|prtr|'
% (printer) which is usually a CMYK color profile; but valid documents
% can be created with the correct type designed for the other color space.
-% Use the following commands to specify an RGB or CMYK color profile,
+% Use the following commands to specify an RGB or CMYK color profile,
% respectively:
-%
+%
% \begin{decl}
% \defmacro{setRGBcolorprofile}\marg{filename}\marg{identifier}\marg{info
% string}\marg{registry URL}
@@ -944,7 +999,7 @@
% \end{decl}
% Within the arguments of these macros, the characters |<|, |>|, |&|,
% |^|, |_|, |#|, |$|, and |~| can be used as themselves, but
-% |%| must be escaped as |\%|.
+% |%| must be escaped as |\%|.
%
% From version (1.6) the default RGB and CMYK color profiles are now supplied
% using the |colorprofiles| package by Norbert Preining and Ross Moore~\cite{colorp}.
@@ -966,7 +1021,7 @@
% \url{http://www.color.org/iccprofile.xalter}.
%
% Alternatively, color profiles are shipped with many Adobe software
-% applications; these are then available for use also with non-Adobe
+% applications; these are then available for use also with non-Adobe
% software. Now the |pdfx| package includes coding to streamline
% inclusion of these profiles in PDF documents, or to specify
% them as `external' profiles, with PDF/X-4p and PDF/X-5pg variants.
@@ -977,17 +1032,17 @@
% Both define commands to use Color Profiles as follows.
% \begin{decl}[]
% \begin{tabular}{ll}
-% \texttt{\string\FOGRAXXXIX} & Coated FOGRA39 (ISO 12647-2:2004)\\
+% \texttt{\string\FOGRAXXXIX} & Coated FOGRA39 (ISO 12647-2:2004)\\
% \texttt{\string\SWOPCGATSI} & U.S. Web Coated (SWOP) v2\\
-% \texttt{\string\JapanColorMMICoated} & Japan Color 2001 Coated\\
-% \texttt{\string\JapanColorMMIUncoated} & Japan Color 2001 Uncoated\\
-% \texttt{\string\JapanColorMMIINewspaper} & Japan Color 2002 Newspaper\\
-% \texttt{\string\JapanWebCoatedAd} & Japan Web Coated (Ad)\\
-% \texttt{\string\CoatedGRACoL} & Coated GRACoL 2006 (ISO 12647-2:2004)\\
+% \texttt{\string\JapanColorMMICoated} & Japan Color 2001 Coated\\
+% \texttt{\string\JapanColorMMIUncoated} & Japan Color 2001 Uncoated\\
+% \texttt{\string\JapanColorMMIINewspaper} & Japan Color 2002 Newspaper\\
+% \texttt{\string\JapanWebCoatedAd} & Japan Web Coated (Ad)\\
+% \texttt{\string\CoatedGRACoL} & Coated GRACoL 2006 (ISO 12647-2:2004)\\
% \texttt{\string\SNAPCGATSII} & CGATS TR 002\\
% \texttt{\string\SWOPCGATSIII} & CGATS TR 003\\
% \texttt{\string\SWOPCGATSV} & CGATS TR 005\\
-% \texttt{\string\ISOWebCoated} & Web Coated FOGRA28 (ISO 12647-2:2004)\\
+% \texttt{\string\ISOWebCoated} & Web Coated FOGRA28 (ISO 12647-2:2004)\\
% \texttt{\string\ISOCoatedECI} & ISO Coated v2 (ECI)\\
% \texttt{\string\CoatedFOGRA} & Coated FOGRA27 (ISO 12647-2:2004)\\
% \texttt{\string\WebCoatedFOGRA} & Web Coated FOGRA28 (ISO 12647-2:2004)\\
@@ -999,18 +1054,18 @@
% As of the time of first compiling this list, only the first six of these result in PDFs
% which can validate with external profiles (i.e., for PDF/X-4p and PDF/X-5pg)
% using the then-current versions of Adobe Acrobat Pro software. It is unclear
-% whether the others (incl.\,\verb|\IFRAXXVI| and \verb|\IFRAXXX|) failed due
-% to incorrect data or problems in the validation software.
+% whether the others (incl.\,\verb|\IFRAXXVI| and \verb|\IFRAXXX|) failed due
+% to incorrect data or problems in the validation software.
% Since then, with updates to Acrobat Pro, almost all the others have been verified
% to work, except \verb|\IFRAXXX| which seems no longer available.
-% Thus these commands come with a `use at own risk' clause.
+% Thus these commands come with a `use at own risk' clause.
%
-% For `external' profiles, there is a command |\setEXTERNALprofile|, taking 9 arguments,
+% For `external' profiles, there is a command |\setEXTERNALprofile|, taking 9 arguments,
% that must be used. Consult |AdobeExternalProfiles.tex| for examples of its use.
-%
-% All but the last of the macros listed above can also be used for valid embedded profiles,
-% providing the corresponding files can be found.
-% The following macros are used to set the (absolute or relative) path,
+%
+% All but the last of the macros listed above can also be used for valid embedded profiles,
+% providing the corresponding files can be found.
+% The following macros are used to set the (absolute or relative) path,
% on the local operating system, to the location of color profile files.
% \begin{decl}
% \defmacro{pdfxSetRGBcolorProfileDir}\marg{path to RGB color profiles}\\
@@ -1020,7 +1075,7 @@
% One can use either a macro |\MacOSColordir| which expands
% into the path for system-provided profiles:
% \begin{decl}[]
-% |/System/Library/ColorSync/Profiles/|
+% |/System/Library/ColorSync/Profiles/|
% \end{decl}
% or the macro |\MacOSLibraryColordir| expanding to:
% \begin{decl}[]
@@ -1030,23 +1085,23 @@
% \begin{decl}[]
% |/Library/Application Support/Adobe/Color/Profiles/Recommended/|
% \end{decl}
-% Under Windows an available macro is |\WindowsColordir| which expands to:
+% Under Windows an available macro is |\WindowsColordir| which expands to:
% \begin{decl}[]
% |C:\Windows\System32\Spool\Drivers\Color/|
% \end{decl}
% being the common location for color profiles.
-% Use these within the \verb|.xmpdata| file as, e.g.,
+% Use these within the \verb|.xmpdata| file as, e.g.,
% \begin{decl}[]
% |\pdfxSetCMYKcolorProfileDir{\AdobeMacOSdir}|
% \end{decl}
% Authors may change the paths to suit their own circumstances, either
-% \emph{before} loading |pdfx.sty| or within the \verb|.xmpdata| file.
+% \emph{before} loading |pdfx.sty| or within the \verb|.xmpdata| file.
%
% PDF/A and PDF/E usually need an RGB profile, while PDF/X and PDF/VT
-% require a CMYK profile. It is possible to use a CMYK profile with PDF/A
+% require a CMYK profile. It is possible to use a CMYK profile with PDF/A
% or PDF/E by specifying |\setRGBcolorprofile{}{}{}{}| in the \verb|.xmpdata| file.
% Beware however, that with PDF/A any coloured hyperlink annotations can
-% cause a validation problem, as these are interpreted as RGB colours
+% cause a validation problem, as these are interpreted as RGB colours
% even when 4 components are given. This may be a bug in validators,
% as PDF specifies that the number of components should match the color space.
%
@@ -1070,44 +1125,44 @@
% \end{decl}
% which uses a profile that accompanies the \texttt{pdfaPilot} software from
% Callas Software Gmbh~\cite{pdfaPilot}.
-% The macro |\CallasMacOSpdfaPilotdir|, defined in the file \texttt{CallasColorProfiles.tex},
+% The macro |\CallasMacOSpdfaPilotdir|, defined in the file \texttt{CallasColorProfiles.tex},
% specifies the directory where this Custom profile is located, when installed under MacOS.
% One needs to |\input CallasColorProfiles.tex| \emph{before} loading the |pdfx| package.
-% Macros for other directories are also defined in this file.
+% Macros for other directories are also defined in this file.
%
% \subsection{Notes on the internal representation of metadata}
-%
+%
% Within the PDF file, metadata is deposited in two places: some data
% goes into the native PDF |/Info| dictionary, and some data goes into
% an XMP packet stored separately within the file. XMP is Adobe's
-% Extensible Metadata Platform~\cite{XMP-spec,XMP-ISO}, and is an XML-based format.
+% Extensible Metadata Platform~\cite{XMP-spec,XMP-ISO}, and is an XML-based format.
% See \href{http://www.adobe.com/devnet/xmp/}{Adobe XMP Development Center}
-% for more exhaustive information about XMP.
+% for more exhaustive information about XMP.
% An XMP Toolkit SDK which supports the GNU/Linux, Macintosh and Windows operating
% systems is also available under modified BSD licence.
%
% Some of the metadata, such as the author, title, and keywords, can be
-% stored \emph{both} in the XMP packet and in the |/Info| dictionary.
-% For the resulting file to be standards-compliant, the two copies of the data
+% stored \emph{both} in the XMP packet and in the |/Info| dictionary.
+% For the resulting file to be standards-compliant, the two copies of the data
% must be identical. This is taken care of automatically by the |pdfx| package,
% except when |\sep| is used to handle multiple entries, as discussed above
-% in \S\ref{sssec-info}. In such cases the string is not included within the |/Info|
+% in \S\ref{sssec-info}. In such cases the string is not included within the |/Info|
% dictionary. Note that this is in accordance with the PDF 2.0 specification~\cite{PDF20},
% which deprecates use of the |/Info| dictionary for such metadata.
-%
-% In principle, users can resort to alternate ways to create an XMP file
-% for inclusion in PDF. In this case, one should create a customised template
+%
+% In principle, users can resort to alternate ways to create an XMP file
+% for inclusion in PDF. In this case, one should create a customised template
% file |pdfa.xmp| or |pdfx.xmp| or |pdfe.xmp| (etc., depending on the PDF flavor)
-% containing the pre-defined data. This can be done by modifying the ones supplied
-% with the |pdfx| package. However, this is an error-prone process and is
-% \emph{not} recommended for most users.
+% containing the pre-defined data. This can be done by modifying the ones supplied
+% with the |pdfx| package. However, this is an error-prone process and is
+% \emph{not} recommended for most users.
% If there is a particular field of metadata that you need and that is not currently
% supported, please contact the package authors.
%
% |pdfx| makes use of the |xmpincl| package to include XMP data into
% the PDF. The documentation of |xmpincl| package may help interested
% users to understand the process of XMP data inclusion.
-%
+%
% \subsection{Tutorials and technical notes}
%
% A tutorial with step-by-step instructions for generating PDF/A files
@@ -1120,7 +1175,7 @@
% \url{http://support.river-valley.com/wiki/index.php?title=Generating_PDF/A_compliant_PDFs_from_pdftex}.
% Be aware that this is based on use of an earlier version of the |pdfx| package,
% so some of the advice may have been superseded.
-%
+%
%
% \section[Installing]{Installing}
% The |pdfx.dtx| package is available on CTAN as usual, via
@@ -1131,24 +1186,24 @@
% For those wishing to do a manual installation, here are some notes.
% The file |pdfx.dtx| is a composite document of program code and
% documentation in \LaTeX{} format, in the tradition of \emph{literate
-% programming}. After having installed the package,
+% programming}. After having installed the package,
% to get the documentation that you are reading now,
-% run (\textsc{pdf})\LaTeX{} on the file |pdfx.dtx|.
+% run (\textsc{pdf})\LaTeX{} on the file |pdfx.dtx|.
% The resulting PDF should be valid as PDF/A-2u.
% Or better, use the included |Makefile|, which will also regenerate the index.
%
% To install the package, first extract the program code; i.e., the
-% file |pdfx.sty|, by running \LaTeX{} or \TeX{} on the file |pdfx.ins|.
+% file |pdfx.sty|, by running \LaTeX{} or \TeX{} on the file |pdfx.ins|.
% Create a directory named |pdfx| under |$TEXMF/tex/latex| and copy the files
-% |pdfx.sty|, |8bit.def|, |glyphtounicode-cmr.tex|, |glyphtounicode-ntx.tex| as well
+% |pdfx.sty|, |8bit.def|, |glyphtounicode-cmr.tex|, |glyphtounicode-ntx.tex| as well
% as the other |*.tex|, |l8u*-penc.def| and |*.xmp| files, into it. Then update
% \TeX's file database using the appropriate command for your distribution
% and operating system (such as |texhash| or |mktexlsr|, or similar).
-%
+%
% \subsection{Limitations and dependencies}
-%
-% The |pdfx.sty| package works with \pdftex\ and also Lua\TeX\ and Xe\TeX\
-% with some minor limitations.
+%
+% The |pdfx.sty| package works with \pdftex\ and also Lua\TeX\ and Xe\TeX\
+% with some minor limitations.
% It further depends on the following other packages.
% \begin{enumerate}
% \item |xmpincl| for insertion of metadata into PDF.
@@ -1159,28 +1214,28 @@
% hyperlinking, bookmarks, etc.
% \item |xcolor| for ensuring consistent use of the color model
% appropriate the PDF variant, within text and hyperlinks (when allowed).
-% \item |glyphtounicode.tex| (not Xe\LaTeX) maps glyph names
+% \item |glyphtounicode.tex| (not Xe\LaTeX) maps glyph names
% to corresponding Unicode code-points.
% \item |ifluatex| allowing coding specific to Lua\LaTeX.
% \item |ifxetex| allowing coding specific to Xe\LaTeX.
-% \item |luatex85| or |pdftexcmds| (Lua\TeX\ only) for access
+% \item |luatex85| or |pdftexcmds| (Lua\TeX\ only) for access
% to primitive commands using \pdftex\ macro names.
-% \item |stringenc| used to help generate proper bookmarks with transliterated input;
+% \item |stringenc| used to help generate proper bookmarks with transliterated input;
% e.g., with |\textLGR| or |\textARM| --- see Section~\ref{sssec-arm}.
% \end{enumerate}
% Other files and packages are loaded as sub-packages or as
-% configuration files for these. Since some of these packages
-% may be loaded by existing documents we provide here advice on
+% configuration files for these. Since some of these packages
+% may be loaded by existing documents we provide here advice on
% how to deal with potential loading and option conflicts.
%
% Firstly, it is best if |pdfx| is the first package loaded; e.g.,
-% directly after the |\documentclass| line. This is not a strict requirement,
+% directly after the |\documentclass| line. This is not a strict requirement,
% but it is worthwhile to deal with the metadata at the top of your \LaTeX\ source,
% allowing correct options to be loaded to cope with validation aspects.
%
% Secondly, replace |\usepackage[<options>]{hyperref}| with |\hypersetup{<options>}|.
-% This deals with most loading issues with the |hyperref| package.
-% Note that PDF/X is a format intended for printing.
+% This deals with most loading issues with the |hyperref| package.
+% Note that PDF/X is a format intended for printing.
% It forbids inclusion of hyperlinks and other actions, including via bookmarks.
% To produce a validating PDF/X document, |pdfx| overrides internal macros
% while keeping colors associated with link anchors.
@@ -1191,53 +1246,53 @@
% Furthermore, options to set metadata components (such as |pdfauthor|,
% |pdftitle|, |pdfsubject|, |pdfkeywords|, etc.) are disabled, since
% |pdfx| has already taken care of this information.
-%
+%
% Thirdly, conflicts with other packages may be dealt with by simply
% changing |\usepackage| to |\RequirePackage| within the document's
-% preamble. But this may not be possible when the |\usepackage|
+% preamble. But this may not be possible when the |\usepackage|
% or |\RequirePackage| command occurs within another package, or with
-% a specific set of options, thereby causing processing to stop.
-% Few packages have a command analogous to |\hypersetup|.
+% a specific set of options, thereby causing processing to stop.
+% Few packages have a command analogous to |\hypersetup|.
% Instead |\PassOptionsToPackage{<options>}{<package>}| can help.
% For |<options>| specify the ones associated with the loading yet to come.
% This can give a smooth processing run, but you'll need to check whether
% the results from those options have actually taken effect.
-% Some examples of this can be seen later, in Figures~\ref{koi8-code}
+% Some examples of this can be seen later, in Figures~\ref{koi8-code}
% and \ref{tldoc-pol}.
%
% \subsubsection{Limitations using Xe\LaTeX}\label{sssec-xetex}
%
-% To process a file using Xe\LaTeX, to produce a document that can
+% To process a file using Xe\LaTeX, to produce a document that can
% validate to a particular PDF standard, one need to use a command
% to run the \TeX\ engine, as follows.
% \begin{decl}[]
% |xelatex -shell-escape -output-driver="xdvipdfmx -z 0" <filename>.tex |
% \end{decl}
% The |-shell-escape| option allows a command-line task to be run,
-% which writes the creation-date \& time of the running job into
-% a small file on disk. This data, written in a specific format, is then
+% which writes the creation-date \& time of the running job into
+% a small file on disk. This data, written in a specific format, is then
% read by the job for inclusion into several metadata fields.
% This emulates the result of \pdftex's |\pdfcreationdate| primitive.
% As there are security implications in allowing arbitrary commands to be run,
-% this need for |-shell-escape| must be viewed as imposing a limitation on the
+% this need for |-shell-escape| must be viewed as imposing a limitation on the
% work-flows in which this can be safely used.
%
-% The |-output-driver="xdvipdfmx -z 0"| suppresses compression, which
+% The |-output-driver="xdvipdfmx -z 0"| suppresses compression, which
% is not allowed for the XMP metadata packet. Without this, the resulting PDF
-% may fail to pass validation tests.
+% may fail to pass validation tests.
%
% Xe\TeX\ is designed for processing UTF-8 input only. When presented
-% with \LaTeX\ source using a legacy encoding, such as |latin2| or |koi8-r|,
-% the input is accepted and a PDF produced. Yet there will be garbage
+% with \LaTeX\ source using a legacy encoding, such as |latin2| or |koi8-r|,
+% the input is accepted and a PDF produced. Yet there will be garbage
% characters corresponding to each character entered from the upper range
-% (128--255). This is evident in the PDF content and bookmarks;
+% (128--255). This is evident in the PDF content and bookmarks;
% yet |pdfx| produces the correct XMP metadata packet.
% So while the techniques explained later in Section~\ref{ssec-multi} are
% valid, the PDF itself does not contain correct content.
%
% Not all fonts, in particular Open-Type fonts (OTF), naturally come with
% mappings of the glyphs to Unicode code points. This is a requirement
-% with PDF/A, PDF/E and PDF/UA standards.
+% with PDF/A, PDF/E and PDF/UA standards.
% Use of such fonts can result in validation errors, such as:
% \begin{itemize}
% \item
@@ -1245,7 +1300,7 @@
% \item
% Type 2 CID font: CIDToGID map is invalid or missing.
% \end{itemize}
-%
+%
% If one has access to Adobe's |Acrobat Pro| software, then its |Preflight|
% utility can rewrite the uncompressed output from Xe\LaTeX\ into a valid
% PDF standard, using compression of the contents but not of the XMP packet.
@@ -1256,7 +1311,7 @@
%
% Lua\LaTeX\ can handle the OTF font issues mentioned for Xe\LaTeX,
% so can produce valid PDF/A documents where Xe\LaTeX\ fails.
-% However, since Lua\TeX\ expects all input source to be UTF8-encoded,
+% However, since Lua\TeX\ expects all input source to be UTF8-encoded,
% it cannot work at all with documents using older legacy encodings.
% Instead one gets error messages such as:
%\begin{decl}
@@ -1299,15 +1354,15 @@
% \item |l8uheb-penc.def| --- input macro declarations for Hebrew alphabet.
% \item |l8ulat-penc.def| --- input macro declarations for Latin 1--9 encodings.
% \item |l8umath-penc.def| --- input macro declarations for mathematical symbols.
-% \item |glyphtounicode-cmr.tex|, |glyphtounicode-ntx.tex| --- maps glyph names
+% \item |glyphtounicode-cmr.tex|, |glyphtounicode-ntx.tex| --- maps glyph names
% to corresponding Unicode for Computer Modern and other \TeX-specific fonts.
% \item |AdobeColorProfiles.tex| --- macros for inclusion of Adobe-supplied color profiles.
% \item |AdobeExternalProfiles.tex| --- macros for use of external color profiles.
% \item |CallasColorProfiles.tex| --- macros for profiles included with Callas pdfaPilot software.
% \end{itemize}
-%
+%
% \subsubsection{Documentation \& Examples}
-%
+%
% \begin{itemize}
% \item |README| --- usual top-level information.
% \item |manifest.txt| --- file list.
@@ -1315,9 +1370,9 @@
% \item |sample.tex|, |sample.xmpdata| --- a sample file with sample metadata.
% \item |small2e-pdfx.tex| --- sample file with included metadata.
% \end{itemize}
-%
+%
% \subsubsection{Sources}
-%
+%
% \begin{itemize}
% \item |src/pdfx.dtx| --- composite package and documentation.
% \item |src/pdfx.ins| --- installer batch file.
@@ -1326,10 +1381,10 @@
% \item |src/Makefile| --- a Makefile for building the documentation.
% \item |src/MANIFEST| --- list of files in this directory.
% \item |src/text89.def| --- used with Figure\,\ref{ex-arm} in the documentation.
-% \item |src/{arm-start,koi8-example,koi8-example2,latin2-example}.tex|
+% \item |src/{arm-start,koi8-example,koi8-example2,latin2-example}.tex|
% --- used in the documentation with figures showing example coding.
% \item |src/{TL-POL-meta,TL-RU-LICRs,TL-RU-metadata,TL-RU-toc,Armenian-example-UTF8,|\\
-% |armtex-meta,usage-meta,math-assign5}.png| --- screenshot images showing multilingual
+% |armtex-meta,usage-meta,math-assign5}.png| --- screenshot images showing multilingual
% and other metadata.
% \end{itemize}
%
@@ -1337,9 +1392,9 @@
%
% The package is released under the \LaTeX{} Project Public
% Licence. Bug reports, suggestions, feature requests, etc., may be
-% sent to the original authors at
+% sent to the original authors at
% \href{mailto:cvr@river-valley.org}{\ttfamily cvr@river-valley.org}
-% and/or
+% and/or
% \href{mailto:thanh@river-valley.org}{\ttfamily thanh@river-valley.org},
% or to the more recent contributors at
% \href{mailto:ross.moore@mq.edu.au}{\ttfamily ross.moore@mq.edu.au}
@@ -1348,9 +1403,9 @@
%
%
% \section[Multilingual and Technical Considerations]{Multilingual and Technical Considerations}\label{sec-meta}
-%
-% \TeX\ and \LaTeX\ have an on-going practice of including metadata within
-% the source files and package documentation. Usually this is done as comments
+%
+% \TeX\ and \LaTeX\ have an on-going practice of including metadata within
+% the source files and package documentation. Usually this is done as comments
% at the beginning of the file; such as the following from the English
% language version of the 2015 \TeX\ Live documentation\footnote{%
% found at |/usr/local/texlive/2016/texmf-dist/doc/texlive/texlive-en/|.}.
@@ -1360,10 +1415,10 @@
% |Michel Goossens, now maintained by Karl Berry and others.|\\
% |Public domain.|
% \end{decl}
-% This provides information, ideally suited for copyright metadata
-% fields, as in Section~\ref{sssec-copy}, as well as for |\Subject|
-% and |\CoverDate| from Section~\ref{sssec-publ}.
-%
+% This provides information, ideally suited for copyright metadata
+% fields, as in Section~\ref{sssec-copy}, as well as for |\Subject|
+% and |\CoverDate| from Section~\ref{sssec-publ}.
+%
% Also near the top of the file one finds front-matter content
% \begin{decl}[]
% |\title{%|\\
@@ -1374,7 +1429,7 @@
% | }|\\
% |\date{May 2015}|
% \end{decl}
-% which supplies metadata information for the commands |\Title|, |\Author|,
+% which supplies metadata information for the commands |\Title|, |\Author|,
% |\CoverDisplayDate| also from Section~\ref{sssec-publ}, and |\CopyrightURL|.
%
% Most of the hundreds of thousands, if not millions of documents prepared
@@ -1384,14 +1439,14 @@
% requirement, for PDFs to satisfy a standard that requires inclusion
% of metadata. This is especially so for government agencies and institutions
% receiving government funding, in several countries around the world.
-%
+%
% It is an aim of the |pdfx| to simplify the process of capturing and
-% including metadata within \LaTeX-produced PDFs, from both the author's
-% view and that of archivists. The extra features introduced with version
-% 1.5.8 take a large step in that direction.
+% including metadata within \LaTeX-produced PDFs, from both the author's
+% view and that of archivists. The extra features introduced with version
+% 1.5.8 take a large step in that direction.
% This includes the ability, described in the next subsection, to reliably
% include data presented in different text encodings, rather than being
-% restricted to UTF-8 only. It is a role of the software to make the
+% restricted to UTF-8 only. It is a role of the software to make the
% conversion, rather than rely on some 3rd party for a translation.
%
%
@@ -1400,40 +1455,40 @@
% A cursory search of the documentation (|.../texmf-dist/doc|) subtree
% of the forthcoming \TeX\,Live 2016 release reveals more than 730 different
% |.tex| or |.dtx| document sources which specify an input encoding,
-% via the |\usepackage[...]{inputenc}| command. Roughly 380 (a bit more
-% than half) declare UTF-8 as the input encoding.
-% Of the remainder there are $\approx 20$ other encodings specified,
-% covering a range of languages for at least part of their content.
+% via the |\usepackage[...]{inputenc}| command. Roughly 380 (a bit more
+% than half) declare UTF-8 as the input encoding.
+% Of the remainder there are $\approx 20$ other encodings specified,
+% covering a range of languages for at least part of their content.
% At some point in time, these documents may be required to have accurate
-% accompanying metadata, as part of conformance to a designated PDF
-% (or other) standard. There are libraries and archives that already must
+% accompanying metadata, as part of conformance to a designated PDF
+% (or other) standard. There are libraries and archives that already must
% meet such standards.
%
-% We have shown above, in Section~\ref{ssec-metadata}, how the |.xmpdata|
-% file can be inserted into the document source, which then ensures that
+% We have shown above, in Section~\ref{ssec-metadata}, how the |.xmpdata|
+% file can be inserted into the document source, which then ensures that
% metadata is reliably transferred along with the source itself.
% This seems a good strategy, but are there any problems with it,
% especially in a multi-lingual context?
-%
-% Modern editing software can require an encoding to be associated
-% with each file. This is what allows the correct characters to be shown,
-% from what is otherwise just a sequence of 8-bit bytes. The flip-side
-% is that arbitrary editing is not permitted. Add some UTF-8 data into
-% a file that is encoded as Latin-2 then try to save it. You may be asked
+%
+% Modern editing software can require an encoding to be associated
+% with each file. This is what allows the correct characters to be shown,
+% from what is otherwise just a sequence of 8-bit bytes. The flip-side
+% is that arbitrary editing is not permitted. Add some UTF-8 data into
+% a file that is encoded as Latin-2 then try to save it. You may be asked
% to specify a new encoding, or the application may even crash out entirely.
-% Maybe this happens \emph{accidentally}. It is not hard for a curly quote
-% (`) or endash (--) to be included; many editors have settings which can
+% Maybe this happens \emph{accidentally}. It is not hard for a curly quote
+% (`) or endash (--) to be included; many editors have settings which can
% do this with normal ascii input. Turn \emph{off} such settings.
%
% The approach that we advocate is that when editing to add metadata,
-% best is to:
+% best is to:
% \begin{enumerate}
-% \item
-% use the \emph{same encoding} as is specified for the file itself,
+% \item
+% use the \emph{same encoding} as is specified for the file itself,
% if known (as is usually the case);
-% \item
-% even if 1. is not possible, use Copy/Paste \emph{within} the document source
-% (e.g., for authors' names, addresses, affiliations, etc.) and from comments,
+% \item
+% even if 1. is not possible, use Copy/Paste \emph{within} the document source
+% (e.g., for authors' names, addresses, affiliations, etc.) and from comments,
% as in Section~\ref{sec-meta} above;
% \item
% avoid typing new characters, especially quotes and dashes, and be extra
@@ -1470,7 +1525,7 @@
% as could be produced for the Russian language version of the \TeX\ Live documentation,
% from coding as shown in Figure\,\ref{koi8-code}.
% The source file itself is actually encoded for KOI8-R, as indicated by the presence
-% of the code line |\usepackage[koi8-r]{inputenc}|,
+% of the code line |\usepackage[koi8-r]{inputenc}|,
% but is deliberately shown here encoded as |T1|~\cite[p.\,449]{LC2}.
% This difference is immaterial for checking the validity of the metadata.
% For example, the stream of upper (accents, etc.) characters within
@@ -1480,17 +1535,17 @@
% in the document, and from early subsection titles.
%
% It is the `parser' command/macro |\textKOI{ ... }| that indicates that the upper range
-% characters (having byte codes 128--255) are to be treated as KOI8-R characters,
+% characters (having byte codes 128--255) are to be treated as KOI8-R characters,
% rather than as part of UTF-8 byte sequences. It works by examining each byte in sequence,
-% and returning the appropriate UTF-8 2-byte sequence for the required cyrillic character.
-% This happens during the processing of data from |\jobname.xmpdata| for fleshing-out
+% and returning the appropriate UTF-8 2-byte sequence for the required cyrillic character.
+% This happens during the processing of data from |\jobname.xmpdata| for fleshing-out
% the XMP metadata packet to be included within the final PDF/A document.
%
% The `parser' macros defined for various encodings, are given in Figure\,\ref{parsers}.
-% In Section\,\ref{ssec-xmplang} the package options are given
+% In Section\,\ref{ssec-xmplang} the package options are given
% for loading the appropriate support for desired languages or alphabets.
% Support for other encodings can be added, if there proves to be a need.
-%
+%
%\begin{figure}[ht]
% \centering
% \begin{tabular}{lll}\hline
@@ -1519,13 +1574,13 @@
% \caption{How to see LICRs in the \texttt{.log} window.}\label{koi8-LICR}
% \end{figure}
%
-% With encoded characters marked in this way with a `parser' macro,
+% With encoded characters marked in this way with a `parser' macro,
% it is actually possible to mix UTF-8 metadata with other bytes;
% provided, of course, you have an editor that allows such a file
% to be created and saved. On the other hand, if you are unhappy with mixing
% content having different encodings, then there is another way, based upon
-% \LaTeX's LICR macros~\cite[\S\,7.11]{LC2} for representing accented
-% and non-latin characters.
+% \LaTeX's LICR macros~\cite[\S\,7.11]{LC2} for representing accented
+% and non-latin characters.
% These are normally hidden away (`I $=$ Internal') but in fact can be seen
% within auxiliary files, such as |.aux| and |.toc|, |.lof| and |.lot|.
% This is how \LaTeX\ stores the knowledge of such characters for use in
@@ -1548,20 +1603,20 @@
% \caption{How to get desired LICRs into the \texttt{.toc} file.}\label{koi8-toc}
% \end{figure}
%
-% Figure~\ref{koi8-LICR} shows how to see this.
+% Figure~\ref{koi8-LICR} shows how to see this.
% The document source in the lower portion clearly shows the cyrillic
% input, whereas the |.log| messages in a command-line window above
% reveal the LICR representation. A command |\showLICRs| is available
% with |pdfx.sty| version 1.5.8, specifically to allow this.
-% Now the LICR representation can be copied directly from the |.log| file,
+% Now the LICR representation can be copied directly from the |.log| file,
% modulo slight difficulties due to the way long lines are broken.
% As this representation is entirely with ASCII characters, it should not
% cause any conflict with any UTF-8 metadata that you want within the same file.
% The |.xmpdata| file might now look as in Figure~\ref{koi8-code2}.
% Although very verbose, this should be resistant to any corruption due to
-% character encodings, and produces the same result within the PDF,
+% character encodings, and produces the same result within the PDF,
% as in Figure~\ref{koi8-meta}.
-%
+%
% Alternatively one can exploit the |.toc| file, using \LaTeX's command
% |\addtocontents|, as shown in Figure~\ref{koi8-toc}.
% After processing the file, you can copy the LICR representations out
@@ -1570,24 +1625,24 @@
%
% Of course once you have harvested the metadata in this format, remove
% or comment-out those extra |\showLICRs| to get uninterrupted processing.
-% Similarly comment-out the extra |\addtocontents| lines, else the real
+% Similarly comment-out the extra |\addtocontents| lines, else the real
% Table-of-Contents will become corrupted with unwanted entries.
% A couple more \LaTeX\ processing runs should restore the PDF to the
% way you want it.
%
% \subsubsection[Metadata with Polish]{Metadata with Polish}\label{sssec-pol}
-%
-% The next example has upper-range bytes intended to represent Latin-2 encoded
-% characters, as used in Polish.
-% With the \LaTeX\ source starting as in Figure~\ref{tldoc-pol},
+%
+% The next example has upper-range bytes intended to represent Latin-2 encoded
+% characters, as used in Polish.
+% With the \LaTeX\ source starting as in Figure~\ref{tldoc-pol},
% the resulting metadata is shown in Figure~\ref{tlmeta-pol}.
-%
+%
%\begin{figure}[htb]
% \centering
% \includegraphics[scale=.45]{TL-POL-meta}
%\caption{Metadata generated from the coding shown in Figure~\ref{tldoc-pol}
-% for the Polish version of \TeX\ Live 2015 documentation, showing Latin-2 encoded
-% characters. The document is valid for PDF/A-2, after having been processed with
+% for the Polish version of \TeX\ Live 2015 documentation, showing Latin-2 encoded
+% characters. The document is valid for PDF/A-2, after having been processed with
% pdf-\LaTeX.}\label{tlmeta-pol}
%\end{figure}
%
@@ -1597,13 +1652,13 @@
% \input{latin2-example}
%\end{decl}
% }%
-%\caption{Start of the \LaTeX\ source for the Polish version of \TeX\ Live
-% documentation. Although Latin-2 encoded, the bytes are shown here using
+%\caption{Start of the \LaTeX\ source for the Polish version of \TeX\ Live
+% documentation. Although Latin-2 encoded, the bytes are shown here using
% \LaTeX's \texttt{T1} encoding \cite[p.\,449]{LC2}.}\label{tldoc-pol}
%\end{figure}
%
% Here the `parser macro' is |\textLII|, which can be seen in Figure~\ref{tldoc-pol}
-% to surround either complete metadata entries, or just those parts containing
+% to surround either complete metadata entries, or just those parts containing
% polish accented (or other) characters in entries that also contain english words.
% The macro |\textLF| provides a line-feed character for the UTF-8 output.
%
@@ -1619,38 +1674,38 @@
% Let's understand better how this example was created. There are three files involved.
%\begin{itemize}
% \item |pdfx.dtx|, the source for this documentation, open in an editor with
-% encoding declared as UTF-8;
+% encoding declared as UTF-8;
% \item |texlive-pl.tex| the Polish documentation for \TeX\ Live, open in the
% same editor with Latin-2 encoding;
% \item |latin2-example.tex| which starts life as an empty file on disk.
%\end{itemize}
% \noindent
-% This latter file must be opened in the editor, with encoding declared as
+% This latter file must be opened in the editor, with encoding declared as
% Latin-2 (ISO-8859-2).
% Next the preamble is copied from |texlive-pl.tex| and pasted into |latin2-example.tex|
% which is then saved to disk. Further editing is done to |latin2-example.tex| to
% add verbatim markers (\texttt{$\vert$...$\vert$}) and adjust line lengths for display
-% within Figure~\ref{tldoc-pol}. This file's contents is included as part of the
-% documentation via |\input{latin2-example}| within an environment that handles
+% within Figure~\ref{tldoc-pol}. This file's contents is included as part of the
+% documentation via |\input{latin2-example}| within an environment that handles
% presentation aspects, and (since 2018) declares |\UseRawInputEncoding|.
%
% What \emph{cannot} be done is to paste the preamble content directly into |pdfx.dtx|.
-% Consider what would then happen, using `t{\l}umaczy' (`translators', on line 10
-% following `UWAGA'). This word shows correctly in the Latin-2 encoded files.
-% It was typeset here using |\l| for the `\l' letter, having Unicode code-point
-% |Ux0142| (so UTF-8 byte pair |"C5|\,|"82|).
-% However, it occurs at slot |"B3| within Latin-2 encoding.
-% In the |T1| font encoding \cite[p.\,449]{LC2} the character glyph name
-% for slot |"B3| is |/scedilla|, which is what shows in Figure~\ref{tldoc-pol}.
-% When the `\l' is pasted directly into a UTF-8 file and shown verbatim,
-% the result is the pair of glyphs |"C5| (|/Aring|) and |"82| (|/Cacute|);
+% Consider what would then happen, using `t{\l}umaczy' (`translators', on line 10
+% following `UWAGA'). This word shows correctly in the Latin-2 encoded files.
+% It was typeset here using |\l| for the `\l' letter, having Unicode code-point
+% |Ux0142| (so UTF-8 byte pair |"C5|\,|"82|).
+% However, it occurs at slot |"B3| within Latin-2 encoding.
+% In the |T1| font encoding \cite[p.\,449]{LC2} the character glyph name
+% for slot |"B3| is |/scedilla|, which is what shows in Figure~\ref{tldoc-pol}.
+% When the `\l' is pasted directly into a UTF-8 file and shown verbatim,
+% the result is the pair of glyphs |"C5| (|/Aring|) and |"82| (|/Cacute|);
% \emph{viz.} {\UseRawInputEncoding |tłumaczy|}.
%
% As with Figure~\ref{koi8-code} it is not important that the correct characters
% are shown here, but that the metadata in |\jobname.xmpdata| corresponds to what
% is used on the titlepage of the PDF; e.g., the contents of |\Title| and |\title|,
% |\Author| and |\author|, etc.
-%
+%
%
% \subsubsection[Metadata with Greek]{Metadata with Greek}\label{sssec-grk}
%
@@ -1674,7 +1729,7 @@
%|% ... |\\
%| |\\
%|\providecommand{\pdfxopts}{a-2u,LGRxmp,LATxmp}|\\
-%|\begin{filecontents*}{\jobname.xmpdata}|\\
+%|\begin{filecontents}[force]{\jobname.xmpdata}|\\
%|\Title{Writing Greek with the "greek" option of the "babel" package}|\\
%{\color{verbcolor}\texttt{\string\Author\{Apostolos Syropoulos\string\sep\ G\"unter Milde\}}}\\
%|\Subject{This document describes the use of the Latin transliteration for Greek that is |\\
@@ -1690,11 +1745,11 @@
%| \textaristerikeraia\textAlpha\textSampi\textQoppa\textZeta\textdexiakeraia}}|\\
%|\CoverDate{1997-10-15}|\\
%|\CoverDisplayDate{October 15, 1997}|\\
-%|\Copyright{This file is part of the Babel system.\textLF This file may be distributed and/or|\\
+%|\Copyright{This file is part of the Babel system.\textLF This file may be distributed and/or|\\
%| modified under the conditions of the LaTeX Project Public License, either version 1.3 |\\
%| of this license or (at your option) any later version.}|\\
%|\CopyrightURL{http://www.latex-project.org/lppl.txt}|\\
-%|\end{filecontents*}|\\
+%|\end{filecontents}|\\
%|%|\\
%|\documentclass[11pt]{article}|\\
%|\usepackage[\pdfxopts]{pdfx}[2016/04/13]|\\
@@ -1725,70 +1780,70 @@
%
% Prior to proper support for UTF-8 input, a method for preparing document source
% for the modern Greek language (and also for polytonic Greek), involved the use
-% of LGR encoded fonts. Such a font has Greek (instead of Latin) letters in the
+% of LGR encoded fonts. Such a font has Greek (instead of Latin) letters in the
% slots for |a-zA-Z|, see~\cite[\S9.4.2]{LC2}. Thus ordinary ASCII letters are used
% to produce the Greek characters; the mapping of ASCII to Greek is referred to as
-% a `transliteration' scheme. It serves as \emph{both} an input encoding, and as
-% a font encoding. Accents and diacritic marks are provided through ligatures
-% built-in to the fonts. Various documents can be found on the web\footnote{e.g.,
+% a `transliteration' scheme. It serves as \emph{both} an input encoding, and as
+% a font encoding. Accents and diacritic marks are provided through ligatures
+% built-in to the fonts. Various documents can be found on the web\footnote{e.g.,
% \url{http://milde.users.sourceforge.net/LGR/}} and
% within \TeX\ Live distributions\footnote{%
-% TeXLive: \textcolor{urlcolor}{\texttt{.../2016/texmf-dist/doc/generic/babel-greek/}}}.
+% TeXLive: \textcolor{urlcolor}{\texttt{.../2016/texmf-dist/doc/generic/babel-greek/}}}.
%
% Indeed the current maintainer G\"unther Milde states
% ``The LGR transliteration does not work for PDF metadata''.
% This is because there is no translation of LGR input into \LaTeX\ LICRs,
% as happens with say |\usepackage[utf8]{inputenc}| for UTF-8 input,
-% or when upper 8-bit characters are present using |\usepackage[iso-8859-7]{inputenc}|.
-% With these, LICRs such as |\textAlpha|, |\textOmicron|, \dots, |\textomega|
+% or when upper 8-bit characters are present using |\usepackage[iso-8859-7]{inputenc}|.
+% With these, LICRs such as |\textAlpha|, |\textOmicron|, \dots, |\textomega|
% are produced, which result in the correct characters for metadata and bookmarks,
% perhaps employing Unicode `combining' characters for accented letters.
% Using |pdfx| the UTF-8 characters can be put directly into the |.xmpdata| file;
% LICRs are interpreted provided the |grkxmp| loading option has been specified.
-%
-% Using the methods of |pdfx| the metadata difficulty is remedied, as can be seen in
-% Figure~\ref{greek-meta} using coding as shown in Figure~\ref{greek-code}. This requires
-% the |LGRxmp| option and |\textLGR| `parser' macro. The original document source,
+%
+% Using the methods of |pdfx| the metadata difficulty is remedied, as can be seen in
+% Figure~\ref{greek-meta} using coding as shown in Figure~\ref{greek-code}. This requires
+% the |LGRxmp| option and |\textLGR| `parser' macro. The original document source,
% called |usage.tex|, can be found in the directory specified in the footnote below.
% As this document is essentially an English description of how to use LGR for Greek,
-% we have used the `Keywords' field to provide examples of such usage.
-% Since a macro |\textgreek| can be used for greek portions within such documents,
+% we have used the `Keywords' field to provide examples of such usage.
+% Since a macro |\textgreek| can be used for greek portions within such documents,
% this macro name is aliased to |\textLGR| within the context where metadata is processed.
-% Furthermore, parsing using |\textLGR| generates correct pre-composed characters
+% Furthermore, parsing using |\textLGR| generates correct pre-composed characters
% for letters with accents or diacritics. Bookmarks can also be generated from
% LGR input, using a technique described in Section~\ref{sssec-arm}.
%
% \bigskip\noindent
% The features available with different loading options are summarised here.
% \begin{itemize}
-% \item
+% \item
% no option: all metadata in |.xmpdata| file is in UTF-8 (incl. ASCII)
% \item
-% |grkxmp|: LICRs can be present; e.g. |\textAlpha|, |\textOmega|, etc.
+% |grkxmp|: LICRs can be present; e.g. |\textAlpha|, |\textOmega|, etc.
% \item
% |LGRxmp|: supports LGR-encoded input and |ISO-8859-7| upper range characters,
-% using the |\textLGR| `parser' macro.
+% using the |\textLGR| `parser' macro.
% \end{itemize}
-% With |LGRxmp| specified, the features of |grkxmp| are also available; so any
+% With |LGRxmp| specified, the features of |grkxmp| are also available; so any
% lower-listed option allows data to be mixed with that for higher-listed ones.
%
%
% The final piece to get validation for PDF/A from LGR input, is to specify
-% a Unicode point for the `|v|' used only in the strong `|sv|' ligature to obtain
-% a non-final `sigma' typeset in isolation.
+% a Unicode point for the `|v|' used only in the strong `|sv|' ligature to obtain
+% a non-final `sigma' typeset in isolation.
%\begin{decl}[]
% |\pdfglyphtounicode{internalchar2}{200D}|
%\end{decl}
% This gives an interpretation as `zero-width joiner'.
% There are two instances of this within |usage.tex|. Copy/Paste works as desired.
-% Using \pdftex\ the above command is done automatically.
-% Drivers, such as Xe\LaTeX\ lacking an implementation of |\pdfglyphtounicode|,
+% Using \pdftex\ the above command is done automatically.
+% Drivers, such as Xe\LaTeX\ lacking an implementation of |\pdfglyphtounicode|,
% can fail to produce a valid PDF due to this rather minor deficiency.
-%
+%
% Greek numerals, using |\greeknumeral| or |\Greeknumeral| cannot work directly within
% a |.xmpdata| file. However if such is desired, the following technique allows
-% correct LICRs to be found for use in the metadata.
-% At any convenient place within the \LaTeX\ source; e.g., near where the required
+% correct LICRs to be found for use in the metadata.
+% At any convenient place within the \LaTeX\ source; e.g., near where the required
% number is used, insert coding such as:
% \begin{decl}[]
% |{\pdfxGreeknumeralsHack \textgreek{\edef\num{\greeknumeral{1997}}\show\num}}%|
@@ -1820,7 +1875,7 @@
%
% \def\ArmTeX{Arm\kern -0.15em\TeX}%
% \subsubsection[Metadata with Armenian]{Metadata with Armenian}\label{sssec-arm}
-%
+%
% \begin{figure}[!htbp]
% \centering
% \includegraphics[scale=.42]{armtex-meta}
@@ -1840,20 +1895,20 @@
% \caption{Enriched \LaTeX\ source for the Armenian version of the \ArmTeX\ manual,
% with added metadata demonstrating the \ArmTeX\ transliteration scheme for \texttt{OT6} encoding.
% Also shown is coding used to produce bookmarks from the transliteration.}\label{arm-code}
-% \end{figure}
-%
+% \end{figure}
+%
% The \ArmTeX\ package\footnote{documentation: %
% TeXLive: \textcolor{urlcolor}{\texttt{.../2016/texmf-dist/doc/generic/armenian/}}}
-% provides the method to typeset Armenian, with input being specified in various ways
-% including a transliteration scheme from ASCII input. This transliteration is directed
+% provides the method to typeset Armenian, with input being specified in various ways
+% including a transliteration scheme from ASCII input. This transliteration is directed
% at the use of the |OT6| encoding, developed for this purpose.
% Each way is supported by |pdfx.sty| with appropriate loading options, similar
-% to the support for Greek~(see Section~\ref{sssec-grk}).
+% to the support for Greek~(see Section~\ref{sssec-grk}).
% \begin{itemize}
-% \item
-% no option: all metadata in |.xmpdata| file is in UTF-8 (incl. ASCII)
% \item
-% |armxmp|: using LICR-like macro names; e.g. |\armAyb|, |\armsha|, |\armfe| etc.
+% no option: all metadata in |.xmpdata| file is in UTF-8 (incl. ASCII)
+% \item
+% |armxmp|: using LICR-like macro names; e.g. |\armAyb|, |\armsha|, |\armfe| etc.
% \item
% |AR8xmp|: using the \ArmTeX\ (|OT6|) transliteration scheme or with upper-range
% characters in |ArmSCII8| encoding, using the `parser' macro |\textARM|.
@@ -1866,9 +1921,9 @@
% implemented in the |OT6|-encoded font, or careful parsing of the input into
% LICR-like macros.
% \LaTeX\ source\footnote{TeXLive: %
-% \textcolor{urlcolor}{\texttt{.../2016/texmf-dist/doc/generic/armenian/examples/latex/}}}
-% for the \ArmTeX\ documentation is available in both English and Armenian.
-% Figure~\ref{arm-meta} shows the result of enriching the Armenian version with relevant
+% \textcolor{urlcolor}{\texttt{.../2016/texmf-dist/doc/generic/armenian/examples/latex/}}}
+% for the \ArmTeX\ documentation is available in both English and Armenian.
+% Figure~\ref{arm-meta} shows the result of enriching the Armenian version with relevant
% metadata, using coding as shown in Figure~\ref{arm-code}.
%
% As in earlier examples, that metadata has come from the extensive comments at the head
@@ -1883,18 +1938,18 @@
% process, as follows.
% \begin{enumerate}
% \item
-% conversion of transliterated source into UTF-8.
+% conversion of transliterated source into UTF-8.
% This is done as the |.xmpdata| file is processed, using |\pdfxEnableCommands|
-% to make global definitions; e.g,
+% to make global definitions; e.g,
%\begin{decl}[]
-% |\xdef\sectAtitle{\textARM{Nerac'uthyun}}|
+% |\xdef\sectAtitle{\textARM{Nerac'uthyun}}|
%\end{decl}
% capturing the section title in the form supplied in the \LaTeX\ source.
-% This can be seen in Figure~\ref{arm-code}, near the end of the |{filecontents*}|
+% This can be seen in Figure~\ref{arm-code}, near the end of the |{filecontents}|
% environment, and at the bottom where the |\section| command would occur.
% \item
% conversion of the UTF-8 representation into |UTF16-be|, suitable for bookmark
-% strings within the PDF file. With \pdftex\ thishis is done using
+% strings within the PDF file. With \pdftex\ this is done using
% |\StringEncodingConvert| from Heiko Oberdiek's |stringenc.sty| package.
% Lua\LaTeX\ and Xe\LaTeX\ can use the UTF-8 representation directly.
% \item
@@ -1909,8 +1964,8 @@
% \end{decl}
% Now |\pdfxBookmark| first checks that the macro passed as the 2nd argument
% actually exists. If it does not, an error message is given and upon continuation
-% would just do |\section{Nerac'uthyun}| as normal.
-% When it does exist, then step 2 is done (by \pdftex) storing the result as |\pdfx@temp|.
+% would just do |\section{Nerac'uthyun}| as normal.
+% When it does exist, then step 2 is done (by \pdftex) storing the result as |\pdfx@temp|.
% With Lua\TeX\ and Xe\TeX, |\pdfx@temp| stores a copy of the UTF-8 data.
% Then the commands needing to be executed are essentially
%\begin{decl}[]
@@ -1921,9 +1976,9 @@
% so that the correct section heading is displayed on the page,
% but when |\sectAtitle| is processed to create a bookmark it is replaced
% by the pre-prepared contents of |\pdfx@temp|.
-% There are some technicalities\footnote{In fact a small change is made
-% to how \textcolor{verbcolor}{\texttt{\string\@@writetorep}} is used.}
-% to make this work cleanly,
+% There are some technicalities\footnote{In fact a small change is made
+% to how \textcolor{verbcolor}{\texttt{\string\@@writetorep}} is used.}
+% to make this work cleanly,
% as just doing these commands would interfere with other uses of |\pdfstringdef|.
% In case a long sectioning command has an optional argument, or a $*$-variant
% is needed, then include it this way.
@@ -1933,32 +1988,32 @@
%
%
% \subsubsection[Other Languages]{Other Languages}\label{sssec-other}
-%
+%
% There is support for Metadata using characters from other languages,
-% with corresponding loading options, as follows.
+% with corresponding loading options, as follows.
% \begin{itemize}
-% \item |arbxmp| : Arabic;
+% \item |arbxmp| : Arabic;
% via LICRs |\textarabicalef|, |\textarabicqaf|,\\ |\textarabicaleflowerhamza|, etc.
-% \item |devxmp| : Devanagari;
+% \item |devxmp| : Devanagari;
% via LICRs |\textdevanagaria|, |\textdevanagarivocalicr|,\\ |\textdevanagaricandrabindu|, etc.
% \item |hebxmp| : Hebrew;
% via LICRs |\hebalef|, |\hebsamekh|, |\hebfinalpe| and accent marks |\segol|, |\qubuts|, etc.
-% \item |vnmxmp| : Vietnamese;
+% \item |vnmxmp| : Vietnamese;
% via LICRs |\ABREVE|, |\OCIRCUMFLEX|, |\uhorn| etc. and the combinations of multiple accents
% applied as usual via |\'|, |\`|, |\^|, etc.
% \end{itemize}
% The LICRs include support mapping accented letters to precomposed glyphs, falling back on
% `combining characters' only in unusual situations. Special input conventions or methods,
-% such as transliteration schemes, are \emph{not yet} supported.
-% Indeed, these options are largely untested, so any difficulties encountered should
+% such as transliteration schemes, are \emph{not yet} supported.
+% Indeed, these options are largely untested, so any difficulties encountered should
% be reported to the package authors. Requests to support extra input methods or other
% language blocks should also be directed to the authors, along with pointers to where
-% the desired input methods are fully described.
+% the desired input methods are fully described.
% Sample `real-world' documents would be greatly appreciated.
%
%
% \subsection[L8U pseudo-encoding]{L8U pseudo-encoding}\label{ssec-L8U}
-%
+%
% To understand how |pdfx| handles the translation into UTF-8 of input that is not already
% in that format, we'll briefly discuss \LaTeX's font-encoding mechanism, which is the
% basis for LICR macros~\cite[\S\,7.11]{LC2}. As an example, consider the macro |\textgamma|
@@ -1973,32 +2028,32 @@
% |ucs/data/uni-3.def:\uc@dclc{947}{default}{\textgamma}%|
% \end{decl}
% Here the |\uc@dclc| commands associate UTF-8 input of |Ux0263| (IPA small letter gamma)
-% and |Ux03B3| (Greek small letter gamma) internally with |\textgamma|,
+% and |Ux03B3| (Greek small letter gamma) internally with |\textgamma|,
% whereas the others deal with output formats\footnote{Whereas {\color{verbcolor}\texttt{ucs.sty}}
-% handles UTF-8 input, mapping it to LICRs, with {\color{verbcolor}\texttt{pdfx.sty}}
+% handles UTF-8 input, mapping it to LICRs, with {\color{verbcolor}\texttt{pdfx.sty}}
% we need the reverse mapping into UTF-8, not just from LICRs but also from legacy
-% 8-bit encodings and transliteration schemes.}.
-% In four of these examples there is a number, which refers to a position in an `encoding vector'
+% 8-bit encodings and transliteration schemes.}.
+% In four of these examples there is a number, which refers to a position in an `encoding vector'
% for the particular font used to place the character onto the printable page.
% For example |LGR| refers to greek fonts, encoded as explained in Section~\ref{sssec-grk}.
% IPA phonetics use the |T3| encoding, so |\textgamma| refers to a character
% from a different Unicode block.
%
% With two of these cases there is no specific font.
-% For example, |PU| is used to create bookmark strings,
-% and other PDF string inclusions, using |\pdfstringdef| from the |hyperref| package.
-% With |greek-euenc.def| designed for Xe\TeX\ and Lua\TeX, the encoding can be variable,
-% with the output bytes being those for the UTF-8 encoding of $\gamma$, namely |^^ce^^b3|,
-% shown here as the |T1|-encoded pair |γ|.
-% The term `pseudo-encoding' has been coined by the \LaTeX\ team.
-% Although there is no actual font to determine the encoding, to an author there is essentially
-% no difference in how corresponding macros can be used to get a character placed into
-% an appropriate structure within the PDF.
+% For example, |PU| is used to create bookmark strings,
+% and other PDF string inclusions, using |\pdfstringdef| from the |hyperref| package.
+% With |greek-euenc.def| designed for Xe\TeX\ and Lua\TeX, the encoding can be variable,
+% with the output bytes being those for the UTF-8 encoding of $\gamma$, namely |^^ce^^b3|,
+% shown here as the |T1|-encoded pair |γ|.
+% The term `pseudo-encoding' has been coined by the \LaTeX\ team.
+% Although there is no actual font to determine the encoding, to an author there is essentially
+% no difference in how corresponding macros can be used to get a character placed into
+% an appropriate structure within the PDF.
%
% Thus there are 4 output forms for this character,
% and we've not even considered how $\gamma$ is used in mathematics!
% To handle these concurrently, one has internally-defined control-sequence names
-% \begin{decl}[]
+% \begin{decl}[]
% |\LGR\textgamma=\char"67| \qquad where $6\times 16 + 7 = 103$\\
% |\T3\textgamma=\char"47| \qquad where $4\times 16 + 7 = 71$\\
% |\PU\textgamma=\long macro:->\83\263|\\
@@ -2006,12 +2061,12 @@
% \end{decl}
% where the 2nd `\textbackslash' is part of the name\footnote{%
% obtained using {\color{verbcolor}%
-% \texttt{\string\csname\space LGR\string\string\string\textgamma\string\endcsname}}.}.
+% \texttt{\string\csname\space LGR\string\string\string\textgamma\string\endcsname}}.}.
% The latter macro is explained below.
% To use the specific version of the macro, \LaTeX\ maintains a `font-encoding'
% parameter, set using |\fontencoding{...}| local to the surrounding environment grouping.
%
-% To the above declarations of |\textgamma|, to deal with conversion to UTF-8,
+% To the above declarations of |\textgamma|, to deal with conversion to UTF-8,
% the |pdfx| package adds the following declarations when the |LGRxmp| option is used.
% \begin{decl}[]
% |pdfx/l8ugrk.def:\DeclareTextCommand{\textgamma}{L8U}{γ}|\\
@@ -2019,11 +2074,11 @@
% |pdfx/l8ugrk.def:\DeclareTextCompositeCommand{\textLGRenc}{L8U}{g}{γ} |\\
% |pdfx/l8ugrk.def:\DeclareTextCompositeCommand{\textLGRenc}{L8U}{^^e3}{γ}|
% \end{decl}
-% The pseudo-encoding name |L8U| indicates \textbf{L}ocal conversion into UTF-\textbf{8} \textbf{U}nicode,
-% as required for metadata, using |pdfx.sty|. Currently this pseudo-encoding is used in one place only;
+% The pseudo-encoding name |L8U| indicates \textbf{L}ocal conversion into UTF-\textbf{8} \textbf{U}nicode,
+% as required for metadata, using |pdfx.sty|. Currently this pseudo-encoding is used in one place only;
% during the interpretation of information supplied through the |\jobname.xmpdata| file.
% This happens as part of the |pdfx| package, \emph{before} it uses |xmpincl.sty|.
-% Such specificity justifies being called a `Local' encoding.
+% Such specificity justifies being called a `Local' encoding.
% However, other tasks may emerge requiring on-the-fly conversion to UTF-8.
% In this case all the functionality of this pseudo-encoding could be shifted into a separate package,
% and the name changed to reflect this more general usage.
@@ -2031,7 +2086,7 @@
% is possibly a sufficient reason to have a separate package. Another possibility is to
% generate on-the-fly creation of UTF-8 strings, to be sent to Xe\TeX\ or Lua\TeX\ running
% as a slave process to generate images of string using OTF fonts, which \pdftex\ currently
-% cannot handle. The result would then be imported back into the running job as an image.
+% cannot handle. The result would then be imported back into the running job as an image.
% The authors invite suggestions of how this |L8U| pseudo-encoding functionality can be put to
% good use.
%
@@ -2041,7 +2096,7 @@
% |\DeclareTextComposite{\`}{T1}{A}{192}|
%\end{decl}
% to get the pre-composed `\`A', rather than a composite built from \`{} and `A'.
-% The last parameter is an index into a font; however the |\DeclareTextCompositeCommand|
+% The last parameter is an index into a font; however the |\DeclareTextCompositeCommand|
% variant allows arbitrary coding as that final parameter, so can be the bytes for the
% UTF-8 representation of a character.
% In the above code lines, macros are defined as follows
@@ -2067,18 +2122,18 @@
% | ... \textLGRenc{#1}\textgreekLGR@i #2\@empty | \quad if |#2| has more tokens\\
% |\textgreekLGR@i #1->\textgreekLGR@ii #1|
%\end{decl}
-% Thus |\textLGRenc| is called on each token in the argument of |\textLGR|.
+% Thus |\textLGRenc| is called on each token in the argument of |\textLGR|.
% Now |\textLGRenc|, which is applicable only when |L8U| pseudo-encoding is in effect,
% has a default expansion of just passing the character through unchanged; \emph{viz.}
%\begin{decl}[]
% |\DeclareTextCommand{\textLGRenc}{L8U}[1]{#1}|
%\end{decl}
% but by using |\DeclareTextCompositeCommand{\textLGRenc}{L8U}{...}{...}|,
-% alternate expansions apply with specific arguments, as shown above.
+% alternate expansions apply with specific arguments, as shown above.
% In particular, that final argument can include coding that `looks ahead' to find the next
% character. This is used, for example, with diacritics in Greek, multi-letter sequences
% for Armenian letters, and other special cases related to ligatures and punctuation symbols.
-% To illustrate this Figure~\ref{ex-arm} (below) follows the conversion of a specific word,
+% To illustrate this Figure~\ref{ex-arm} (below) follows the conversion of a specific word,
% given in the transliteration for Armenian~(see Section~\ref{sssec-arm}).
% This conversion occurs using only \TeX's macro-expansion ability.
% Some details relevant to this example are explained there.
@@ -2117,26 +2172,26 @@
%\end{decl}
% The macro |\armen@en| (named for \textbf{e}mpty or \textbf{n}ext),
% looks ahead to see if the 5th-next argument token is |\@empty|,
-% signifying that there is nothing left of the original input.
-% (A closed bracing |{...}| counts as a single argument.) If |\@empty| the tokens in
+% signifying that there is nothing left of the original input.
+% (A closed bracing |{...}| counts as a single argument.) If |\@empty| the tokens in
% the 2nd bracing are substituted, otherwise those in the 3rd bracing.
-% Similarly |\armen@nc| (named for \textbf{n}ext \textbf{c}haracter)
+% Similarly |\armen@nc| (named for \textbf{n}ext \textbf{c}haracter)
% looks to see whether that 5th argument token matches with the character in the
% 1st bracing. If so, the 2nd bracing's tokens are substituted, else those of the 3rd bracing.
-% This is how to cope with `Sh' or `SH', implemented as ligatures in an |OT6| encoded font,
-% denoting a different letter from a single `S'. The macro |\armuh| is used here
+% This is how to cope with `Sh' or `SH', implemented as ligatures in an |OT6| encoded font,
+% denoting a different letter from a single `S'. The macro |\armuh| is used here
% to \emph{prevent} a ligature from |ev| that would otherwise occur.
-% One writes |e\armuh v| to get the separate letters. As the space becomes an active token,
-% we need |\textarmgobblespace| to restart parsing appropriately.
-% Of course |\textarmenARM@i| behaves like |\textgreekLGR@i|
-% as explained earlier, with a test for |\@empty| as the 2nd token.
+% One writes |e\armuh v| to get the separate letters. As the space becomes an active token,
+% we need |\textarmgobblespace| to restart parsing appropriately.
+% Of course |\textarmenARM@i| behaves like |\textgreekLGR@i|
+% as explained earlier, with a test for |\@empty| as the 2nd token.
% At the end, any remaining |\@empty| expand into nothing.
%
% \caption{Partial tracing of the conversion of an Armenian word, indicated by the red oval
% in Figure~\ref{arm-meta}, from {\color{verbcolor}\texttt{OT6}} transliterated form into UTF-8 bytes.
-% In each line, \TeX\ expansion occurs at the position of the left-most `\textbackslash'.
-% The resulting bytes are shown here in {\color{verbcolor}\texttt{T1}} encoding,
-% as in previous examples, with {\color{verbcolor}\texttt{?}} indicating an invisible character
+% In each line, \TeX\ expansion occurs at the position of the left-most `\textbackslash'.
+% The resulting bytes are shown here in {\color{verbcolor}\texttt{T1}} encoding,
+% as in previous examples, with {\color{verbcolor}\texttt{?}} indicating an invisible character
% in the byte range {\color{verbcolor}\texttt{Ox80}--\texttt{Ox9f}}.
% See Figure\,\ref{src-arm} for how this source appears with UTF-8 encoding.
% }\label{ex-arm}
@@ -2147,8 +2202,8 @@
% to an LICR called |\textarmuh|. Since |\armuh| is already defined, not as an LICR,
% it cannot be declared to be one without creating problems.
% Instead, within the environment grouping where |L8U| pseudo-encoding is specified,
-% one uses |\let\armuh\textarmuh| within a `rebinding' macro command
-% |\LIIXUmaparmenianletters|\footnote{The start of the macro name is derived from pseudo-Roman
+% one uses |\let\armuh\textarmuh| within a `rebinding' macro command
+% |\LIIXUmaparmenianletters|\footnote{The start of the macro name is derived from pseudo-Roman
% numerals: IX = 9, IIX = 8}
% to get LICR functionality from user-commands.
%\begin{decl}[]
@@ -2161,7 +2216,7 @@
% | \def\armbf{}%|\\
% | ... }|
%\end{decl}
-% As well as rebinding each command for a letter, the font style-switching commands
+% As well as rebinding each command for a letter, the font style-switching commands
% are aliased to do nothing, as these are not relevant to creating UTF-8 output.
% Being localised by the |L8U| grouping, this causes no problem elsewhere within the document.
% These are similar to macros |\psdaliasnames| and |\psdmapshortnames| from |hyperref.sty|,
@@ -2169,7 +2224,7 @@
%
% \begin{figure}[htb]
% \includegraphics[scale=.625]{Armenian-example-UTF8.png}
-% \caption{Image of part of the source coding for Figure~\ref{ex-arm},
+% \caption{Image of part of the source coding for Figure~\ref{ex-arm},
% viewed as UTF-8 encoded, within editing software.}\label{src-arm}
% \end{figure}
%
@@ -2186,10 +2241,10 @@
% \item |\LIIXUmaplatinchars| and |\LIIXUcancelfontswitches| with |LATxmp|
% \item |\LIIXUmapmathletterlikes| always defined
% \item |\LIIXUmapmathspaces| always defined
-% \item |\LIIXUmapmath...| with |mathxmp| --- see Section~\ref{ssec-math} below.
+% \item |\LIIXUmapmath...| with |mathxmp| --- see Section~\ref{ssec-math} below.
%\end{itemize}
% It may well be that more macro names can be added to some of these commands,
-% to allow macro usage within the metadata.
+% to allow macro usage within the metadata.
% Suggestions for such additions should be sent to the |pdfx| package authors, along
% with example documents. Similarly support for more languages can be requested.
%
@@ -2199,9 +2254,9 @@
% Macro commands for many mathematical symbols can be used directly in metadata without extra
% support; e.g., basic arithmetic operations, letter-like symbols, spacing commands.
% Super- and subscripted letters and numerals can use |\textsuperscript| and |\textsubscript|
-% when there is an appropriate Unicode character (digits, comma, $+$/$-$/$=$, parentheses,
+% when there is an appropriate Unicode character (digits, comma, $+$/$-$/$=$, parentheses,
% many letters but not all).
-%
+%
% When the |mathxmp| loading option is specified, many more symbols become available,
% using `rebinding' macros. These are necessary, as the macros for mathematical symbols
% are generally \emph{not} defined as LICRs, but use |\mathchar|. Thus new LICRs are needed,
@@ -2243,8 +2298,8 @@
% where |\liixu@mathreorder| uses some \TeX\ pattern-matching to allow the |\textmathrmstring|
% parser macro to work on the argument to |\mathrm| before allowing |\textmathnormal| parsing
% to continue afterwards. We refer to this as `nested parsing'.
-%
-% Similarly `nested parsing' can be used with superscripts and subscripts using |^{...}| and |_{...}|
+%
+% Similarly `nested parsing' can be used with superscripts and subscripts using |^{...}| and |_{...}|
% and to specify linebreaks, and even super-/subscripts within styles; viz.
%\begin{decl}[]
% |\Declar...CompositeCommand{\textmathnormal}{L8U}{^}{\liixu@mathreorder\textsuperstring}|\\
@@ -2259,7 +2314,7 @@
% is required to uncover cases which may require special handling.
% An ultimate aim is to be able to just copy the \LaTeX\ source for the `Abstract' of a technical
% paper into the |\Subject{...}| field of the |.xmpdata| file, with a large expectation that
-% it will `just work', or need only trivial edits to make it so.
+% it will `just work', or need only trivial edits to make it so.
%
%
% \subsection[Metadata in a Production Workflow]{Metadata in a Production Workflow}\label{ssec-wflow}
@@ -2273,8 +2328,8 @@
% \noindent
% At Macquarie University, the Mathematics Department produces personalised topmatter
% or coversheets for student assignments and tutorial papers using \LaTeX, incorporating
-% information that has been stored in a database. This is done by writing extra definitions
-% at the top of a copy of the \LaTeX\ source as prepared by the lecturers.
+% information that has been stored in a database. This is done by writing extra definitions
+% at the top of a copy of the \LaTeX\ source as prepared by the lecturers.
% For example information analogous to the following
%\begin{decl}[]
% |\def\thestudentname{\utext{Moore} Ross}|\\
@@ -2286,7 +2341,7 @@
% |\def\theduedate{09/05 2016}|\\
% |...|
%\end{decl}
-% is prepended to the file shown in Figure~\ref{math-wflow},
+% is prepended to the file shown in Figure~\ref{math-wflow},
% for each student downloading their personalised assignment paper.
% The \LaTeX\ source makes use of this information, including recording some of it
% within the Metadata.
@@ -2301,7 +2356,7 @@
% |\def\assigntopics{orbits, stabilisers, groups of matrices}|\\
% |\providecommand{\pdfxopts}{a-1b}|\\
% |%% XMP metadata for PDF/A conformance|\\
-% |\begin{filecontents*}{\jobname.xmpdata}|\\
+% |\begin{filecontents}[force]{\jobname.xmpdata}|\\
% |\Title{\theunitcode\ \theoffering: Assignment \theassignmentnumber}|\\
% |\Author{\assignLecturer}|\\
% |\Copyright{Macquarie University, Mathematics Department}|\\
@@ -2310,7 +2365,7 @@
% |\Keywords{\assigntopics}|\\
% |\Creator{pdfTeX + pdfx.sty with \pdfxopts\space option}|\\
% |\pdfxEnableCommands{\def\utext#1{#1,}}|\\
-% |\end{filecontents*}|\\
+% |\end{filecontents}|\\
% ||\\
% |\documentclass[a4paper,11pt]{article}|\\
% |\RequirePackage{assignments}|\\
@@ -2332,7 +2387,7 @@
% Another way that jobs can be customised using essentially the same \LaTeX\ source,
% is via the command used to initiate the job. For example the file |sample.tex|,
% accompanying the |pdfx| distribution, can be used to test the loading options to create
-% PDFs conforming to the various flavours of PDF/A, PDF/E and PDF/X.
+% PDFs conforming to the various flavours of PDF/A, PDF/E and PDF/X.
% Consider a shell script containing the following (Unix/Linux) commands.
%\begin{decl}[]
% |pdflatex "\def\pdfxopt{a-2b}\input sample.tex"|\\
@@ -2348,11 +2403,11 @@
% from the same \LaTeX\ source, named according to each particular variant.
% A default |\providecommand{\pdfxopt}{a-1b}| at the start of |sample.tex| catches the case
% of normal typesetting, doing nothing when |\pdfxopt| already has an expansion value.
-%
+%
% \goodbreak
% \subsection[Further Developments]{Further Developments}\label{ssec-further}
%
-% Prospects for further development of the |pdfx| package are as follows,
+% Prospects for further development of the |pdfx| package are as follows,
% listed not necessarily in order of perceived importance.
% \begin{itemize}
% \item
@@ -2363,7 +2418,7 @@
% Conformance to multiple PDF standards; e.g. both PDF/A and PDF/E,
% both PDF/A and PDF/X with RGB or CMYK color profile, other combinations.
% \item
-% Explore delaying the processing of metadata until |\begin{document}|,
+% Explore delaying the processing of metadata until |\begin{document}|,
% thereby allowing some fields to be set automatically from other information
% supplied within the document preamble.
% \item
@@ -2384,7 +2439,6 @@
% Support emerging standards based on PDF 2.0~\cite{PDF20}.
% \end{itemize}
%
-%
% \section[Bibliography]{Bibliography}%
% {\let\newpage\relax
% \begin{thebibliography}{999}
@@ -2396,28 +2450,35 @@
%
% \bibitem{XMP-spec}Adobe Systems Inc.;
% XMP Specification, Adding Intelligence to Media. September 2005.
-% Also available as ISO 16684-1:2012\,\cite{XMP-ISO}.\\
+% Also available as ISO 16684-1:2012\,\cite{XMP-ISO}. %\\
% \url{http://www.adobe.com/devnet/xmp/}.
%
% \bibitem{PDFUA1} ANSI\,/\,AIIM\,/\,ISO\,14289-1:2012;
% Document management applications --- Electronic document file format enhancement for accessibility
% --- Part 1: Use of ISO\,32000-1\,(PDF/UA-1);
-% Technical Committee ISO/TC\,171/SC\,2 (July 2012).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=54564}.\\
-% Revised as ISO\,14289-1:2014 (December 2014):
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=64599}.\\
-% Available from ANSI at \url{https://webstore.ansi.org/Standards/ISO/ISO142892014}.
+% Technical Committee ISO/TC\,171/SC\,2 (July 2012 -- withdrawn). %\\
+% Revised as ISO\,14289-1:2014 (Dec. 2014):
+% \url{https://www.iso.org/standard/64599.html}.\\
+% Available from ANSI at \url{https://webstore.ansi.org/standards/iso/iso142892014}.
%
-% \bibitem{PDFUABSI} BS,/\,ISO\,14289-1:2014; Document Management Applications.
-% Electronic Document File Format Enhancement For Accessibility. Use Of ISO 32000-1 (PDF/UA-1) (British Standard)
-% \url{https://webstore.ansi.org/Standards/BSI/BSISO142892014}.
+% \bibitem{PDFUA2} ISO\,14289-2:2024;
+% Document management applications --- Electronic document file format enhancement for accessibility
+% --- Part 2: Use of ISO\,32000-2\,(PDF/UA-2);\\
+% Technical Committee ISO/TC\,171/SC\,2 WG9 (March 2024).
+% \href{https://pdfa.org/iso-14289-2-pdfua-2/}%
+% {\UrlFont https://pdfa.org/iso-\penalty-20 14289-2-pdfua-2/}
+%
+% \bibitem{PDFUABSI} BS,/\,ISO\,14289-1:2014; Document Management Applications.
+% Electronic Document File Format Enhancement For Accessibility.
+% Use Of ISO 32000-1 (PDF/UA-1) (British Standard)
+% \url{https://webstore.ansi.org/standards/bsi/bsiso142892014}.
%
-% \bibitem{pdfaPilot} Callas Software Gmbh.;
+% \bibitem{pdfaPilot} Callas Software Gmbh.;
% \texttt{pdfaPilot}, plug-in or desktop software for PDF/A versions.
% \url{https://www.callassoftware.com/en/products/pdfapilot}.
%
% \bibitem{DC}
-% Dublin Core Metadata Element Set, Version 1.1, October 2010\\
+% Dublin Core Metadata Element Set, Version 1.1, October 2010\\
% \url{http://dublincore.org/documents/dces/}.
%
% \bibitem{BCP47}IETF; Best Current Practice \#47: Tags for Identifying Languages.
@@ -2425,115 +2486,157 @@
% \url{https://tools.ietf.org/pdf/bcp47.pdf}.
%
% \bibitem{PDFX}ISO\,15930-1:2001;
-% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 1:
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 1:
% Complete exchange using CMYK data (PDF/X-1 and PDF/X-1a).
% Technical Committee ISO/TC\,130 (December 2001).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=29061}.
+% \url{https://www.iso.org/standard/29061.html}.
%
% \bibitem{PDFX3}ISO\,15930-3:2002;
-% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 3:
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 3:
% Complete exchange suitable for colour-managed workflows (PDF/X-3).
% Technical Committee ISO/TC\,130 (September 2002).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=34941}.
+% \url{https://www.iso.org/standard/34941.html}.
%
% \bibitem{PDFX1a}ISO\,15930-4:2003;
-% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 4:
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 4:
% Complete exchange of CMYK and spot colour printing data using PDF 1.4 (PDF/X-1a).
% Technical Committee ISO/TC\,130 (December 2003).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=39938}.
+% \url{https://www.iso.org/standard/39938.html}.
%
% \bibitem{PDFX3a}ISO\,15930-6:2003;
-% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 6:
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 6:
% Complete exchange of printing data suitable for colour-managed workflows using PDF 1.4 (PDF/X-3).
% Technical Committee ISO/TC\,130 (December 2003).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=39940}.
+% \url{https://www.iso.org/standard/39940.html}.
%
% \bibitem{PDFX4}ISO\,15930-7:2010;
-% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 7:
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 7:
% Complete exchange of printing data (PDF/X-4) and partial exchange of printing data with external profile reference (PDF/X-4p) using PDF 1.6.
% Technical Committee ISO/TC\,130 (July 2010).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=55843}.
+% \url{https://www.iso.org/standard/55843.html}.
%
% \bibitem{PDFX5}ISO\,15930-8:2010;
-% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 8:
-% Partial exchange of printing data using PDF 1.6 (PDF/X-5). \hfil
-% Technical Committee ISO/TC\,130 (July 2010). \hfil
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=55844}.
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 8:
+% Partial exchange of printing data using PDF 1.6 (PDF/X-5).
+% Technical Committee ISO/TC\,130 (July 2010).
+% \url{https://www.iso.org/standard/55844.html}.
% Revision via Corrigendum: ISO\,15930-8:2010/Cor\,1:2011 (August 2011);
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=60210}.
+% \url{https://www.iso.org/standard/60210.html}.
+%
+% \bibitem{PDFX6}ISO\,15930-9:2020;
+% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 9:
+% Complete exchange of printing data (PDF/X-6) and partial exchange of printing data
+% with external profile reference (PDF/X-6p and PDF/X-6n) using PDF 2.0
+% Technical Committee ISO/TC\,130 (November 2020).
+% \url{https://www.iso.org/standard/77103.html}.
+%
%
% \bibitem{PDFVT}ISO\,16612-2:2010;
-% Graphic technology\,---\,Variable data exchange\,---\,Part 2:\hfil
-% Using PDF/X-4 \penalty-5000 and PDF/X-5 (PDF/VT-1 and PDF/VT-2).
-% Technical Committee ISO/TC\,130 (December 2005). \hfil
-% \href{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=38013}%
-% {{\small\tt http://www.iso.org/iso/home/store/catalogue\_tc/catalogue\_detail.htm?\penalty-200csnumber=38013}}.
+% Graphic technology\,---\,Variable data exchange---Part\,2:
+% Using PDF/X-4\penalty-5000\ and PDF/X-5 (PDF/VT-1 and PDF/VT-2).
+% Technical Committee ISO/TC\,130 (December 2005).
+% \url{https://www.iso.org/standard/38013.html}.%
+%
+%
+% \bibitem{PDFVT3}ISO\,16612-3:2020;
+% Graphic technology\,---\,Variable data exchange---Part\,3:
+% Using PDF/X-6\penalty-5000\ (PDF/VT-3).
+% Technical Committee ISO/TC\,130 (Edition1, 2020).
+% \url{https://www.iso.org/standard/75218.html}.%
%
% \bibitem{XMP-ISO}ISO\,16684-1:2012;
-% Graphic technology --- Extensible metadata platform (XMP) specification --- Part 1:
+% Graphic technology --- Extensible metadata platform (XMP) specification --- Part 1:
% Data model, serialization and core properties.
-% Technical Committee ISO/TC\,130 (February 2012).
-% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=57421}.
+% Technical Committee ISO/TC\,130 (February 2012 -- withdrawn).
+% Revised as ISO\,16684-1:2019; (Edition 2, 2019).
+% \url{https://www.iso.org/standard/75163.html}.
%
-% \bibitem{PDFA}ISO\,19005-1:2005;
+% \bibitem{PDFA}ISO\,19005-1:2005;
% Document Management --- Electronic document file format for long term preservation
% --- Part 1: Use of PDF\,1.4\,(PDF/A-1);
% Technical Committee ISO/TC\,171/SC\,2 (Sept. 2005).
-% Revisions via Corrigenda: ISO\,19005-1:2005/Cor\,1:2007 (March 2007);
-% ISO\,19005-1:2005/Cor\,2:2011 (Dec. 2011). \\
-% \url{http://www.iso.org/iso/catalogue_detail?csnumber=38920}.
+% Revisions via Corrigenda: ISO\,19005-1:2005/Cor\,1:2007 (March 2007);
+% ISO\,19005-1:2005/Cor\,2:2011 (Dec. 2011).
+% \url{https://www.iso.org/standard/38920.html}.
%
% \bibitem{PDFA2}ISO\,19005-2:2011;
% Document Management --- Electronic document file format for long term preservation
% --- Part 2: Use of ISO\,32000-1\,(PDF/A-2); \hfill
-% Technical Committee ISO/\penalty-200 TC\,171/SC\,2 (June 2011).\\
-% \url{http://www.iso.org/iso/catalogue_detail?csnumber=50655}.
+% Technical Committee ISO/\penalty-200 TC\,171/SC\,2 (June 2011).
+% \url{https://www.iso.org/standard/50655.html}.
%
% \bibitem{PDFA3}ISO\,19005-3:2012;
% Document Management --- Electronic document file format for long term preservation
% --- Part 3: Use of ISO\,32000-1 with support for embedded files (PDF/A-3);
-% Technical Committee ISO/TC\,171/SC\,2 (October 2012).\\
-% \url{http://www.iso.org/iso/catalogue_detail?csnumber=57229}.
+% Technical Committee ISO/TC\,171/SC\,2 (October 2012).
+% \url{https://www.iso.org/standard/57229.html}.
+%
+% \bibitem{PDFA4}ISO\,19005-4:2020;
+% Document Management --- Electronic document file format for long term preservation
+% --- Part 4: Use of ISO\,32000-2 (PDF/A-4);
+% Technical Committee ISO/TC\,171/SC\,2 (Edition 1, 2020).
+% \url{https://www.iso.org/standard/71832.html}.
+%
+% \bibitem{PDFDecl} PDF Declarations. A use of ISO\,32000.
+% PDF Association, Berlin, Germany (2019).
+% \url{https://pdfa.org/resource/pdf-declarations/}
%
% \bibitem{PDFE}ISO\,24517-1:2008;
-% Document Management --- Engineering document format using PDF --- Part 1:
+% Document Management --- Engineering document format using PDF --- Part 1:
% Use of PDF 1.6 (PDF/E-1);
% Technical Committee ISO/TC\,171/SC\,2 (May 2008).\\
-% \url{http://www.iso.org/iso/catalogue_detail?csnumber=42274}.
+% \url{https://www.iso.org/standard/42274.html}.
%
% \bibitem{ISO32000}ISO\,32000-1:2008;
% Document management\,---\,Portable document format\,(PDF\,1.7);
-% Technical Committee ISO/TC\,171/SC\,2 (July 2008).
+% Technical Committee ISO/TC\,171/SC\,2 (July 2008).
% Also available as \cite{PDF17}.\\
-% \url{http://www.iso.org/iso/catalogue_detail?csnumber=51502}.
+% \url{https://www.iso.org/standard/51502.html}.
%
% \bibitem{PDF20}ISO\,32000-2:2017;
% Document management --- Portable document format --- Part~2: PDF\,2.0;
-% Technical Committee ISO/TC\,171/SC\,2 Document file formats, EDMS systems
-% and authenticity of information. (July 2017)\\
-% \url{https://www.iso.org/standard/63534.html}.
+% Technical Committee ISO/TC\,171/SC\,2 Document file formats, EDMS systems
+% and authenticity of information. (July 2017 --- withdrawn)
+% Revised as ISO\,32000-2:2020; (Edition 2, 2020)
+% \url{https://www.iso.org/standard/75839.html}.\\
+% Sponsored access available since 5 April 2023, from
+% \href{https://www.pdfa-inc.org/product/iso-32000-2-pdf-2-0-bundle-sponsored-access/}{PDF Association}.
%
% \bibitem{LC2} F.\,Mittelbach, M.\,Goossens with J.\,Braams, D.\,Carlisle, C.\,Rowley;
% The \LaTeX\ Companion --- 2nd edition. Addison--Wesley (now Pearson Education Inc.), 2004.
% ISBN 0-201-36299-6 (paperback).
%
-% \bibitem{TN0009}PDF/A Competence Centre;
-% TechNote 0009: XMP Extension Schemas in PDF/A-1. (March 2008)
+% \bibitem{PDF-LaTeX} \LaTeX\ Project Working Group, PDF Association.
+% \url{https://pdfa.org/community/latex-project-lwg/}
+%
+% \bibitem{LaTeXPDF} \LaTeX\ Tagged PDF\,---\,A blueprint for a large project.
+% Frank Mittelbach, Chris Rowley; TUGboat, Volume 41 (2020), No 3.
+% \url{https://tug.org/TUGboat/tb41-3/tb129mitt-tagpdf.pdf}.
+% Project website \url{https://www.latex-project.org/};
+% \href{https://www.latex-project.org/publications/2020-FMi-TUB-tb129mitt-tagpdf.pdf}{Preprint}.
+%
+% \bibitem{TN0009}PDF/A Competence Centre;\,
+% TechNote\,0009: XMP Extension Schemas in PDF/A-1.\penalty-2000\ (March 2008) \ \
% \href{https://www.pdfa.org/publication/technical-note-tn-0009-xmp-extension-schemas-in-pdfa-1/}%
-% {\small\tt https://www.pdfa.org/publication/technical-note-tn-0009-xmp-extension\penalty-200 -schemas-in-pdfa-1/}.
+% {\UrlFont https://www.pdfa.org/publication/technical-note-tn-0009-xmp-\penalty-20 extension-schemas-in-pdfa-1/}.
%
% \bibitem{PDF-UA}
-% PDF/UA Technical Implementation Guide: Understanding ISO\,14289-1 (PDF/UA-1). \penalty-200
-% AIIM Global Community of Information Professionals. \hfil
+% PDF/UA Technical Implementation Guide: Understanding ISO\,14289-1\penalty-2000\ (PDF/UA-1).
+% AIIM Global Community of Information Professionals.
% \href{http://www.aiim.org/Research-and-Publications/standards/committees/PDFUA/Technical-Implementation-Guide}%
-% {\small\tt http://www.aiim.org/Re\penalty-200 search-and-Publications/standards/committees/PDFUA/Technical-Implementation\penalty-200 -Guide}.
+% {\UrlFont http://\penalty-20 www.aiim.org/Research-and-Publications/standards/committees/PDFUA/Technical\penalty-200 -Implementation-Guide}.
+%
+% \bibitem{WTPDF} Well-Tagged PDF (WTPDF);
+% Using Tagged PDF for Accessibility and Reuse in PDF 2.0.
+% PDF Association; PDF Reuse TWG \& PDF/UA TWG. Version 1.0.0, February 2024.
+% \url{https://pdfa.org/wtpdf/}
%
-% \bibitem{colorp} N.\,Preining;
+% \bibitem{colorp} N.\,Preining;
% \texttt{colorprofiles} \textemdash\ Collection of free ICC profiles.
-% \TeX\ and \LaTeX\ package (by R.\,Moore), distributed with \TeX{}Live. (November 2018)\\
+% \TeX\ and \LaTeX\ package (by R.\,Moore), distributed with \TeX{}Live. (Nov. 2018)
% \url{https://ctan.org/pkg/colorprofiles}.
%
-% \bibitem{PRISM}PRISM; Publishing Requirements for Industry Standard Metadata.
+% \bibitem{PRISM}PRISM; Publishing Requirements for Industry Standard Metadata.
% PRISM Metadata Initiative; Idealliance Working Group.
% \url{http://www.idealliance.org/specifications/prism-metadata-initiative/prism}
%
@@ -2541,16 +2644,24 @@
% Generation of PDF/X- and PDF/A-compliant PDFs with \pdftex --- \texttt{pdfx.sty}.
% TUGboat Vol.\,36, No.\,2; TUG 2015 Conference Proceedings. \TeX\ Users Group, 2015; pp.\,136--142.
%
-% \bibitem{veraPDF} veraPDF. Industry Supported PDF/A Validation.
-% Software, dual-licensed under the GNU General Public License v3 or later (GPLv3+)
+% \bibitem{tagpdf} |tagpdf| -- Tools for experimenting with tagging using pdf\LaTeX\ and Lua\LaTeX.
+% Ulrike Fischer. Available via CTAN repository.
+% \url{https://ctan.org/pkg/tagpdf}.
+%
+% \bibitem{tpdf} |tpdf|; Ross Moore. Unpublished.
+% \LaTeX\ package and macro suite for producing `real-world' standards-conforming PDF documents.
+% Examples available at \url{http://maths.mq.edu.au/~ross/TaggedPDF/}.
+%
+% \bibitem{veraPDF} veraPDF. Industry Supported PDF/A Validation.
+% Software, dual-licensed under the GNU General Public License v3 or later (GPLv3+)
% and Mozilla Public License v2 or later (MPLv2+). \url{https://verapdf.org}.
% Wiki: \url{https://github.com/veraPDF/veraPDF-validation-profiles/wiki}
%
-% \bibitem{RDF} World Wide Web Consortium (W3C);
+% \bibitem{RDF} World Wide Web Consortium (W3C);
% Resource Description Format: RDF 1.1 XML Syntax. W3C Recommendation. (February 2014)
% \url{https://www.w3.org/TR/rdf-syntax-grammar/}.
-%
-% \bibitem{wikiPDF}Wikipedia;
+%
+% \bibitem{wikiPDF}Wikipedia;
% PDF/A: \url{https://en.wikipedia.org/wiki/PDF/A}\newline
% PDF/E: \url{https://en.wikipedia.org/wiki/PDF/E}\newline
% PDF/VT: \url{https://en.wikipedia.org/wiki/PDF/VT}\newline
@@ -2560,7 +2671,7 @@
% \end{thebibliography}
% }\goodbreak
% \section[Implementation]{Implementation}
-%
+%
% \iffalse
%<*package>
% \fi \hfuzz=2.5pt%
@@ -2575,7 +2686,7 @@
}{}%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pdfx}
- [2019/02/27 v1.6.3 PDF/X and PDF/A support (CVR/HTH/RRM/PS)]
+ [2024/06/24 v1.6.5f PDF/X and PDF/A support (CVR/HTH/RRM/PS)]
\newif\ifpdfx@noBOM \pdfx@noBOMfalse % use a BOM in the XMP packet
\newif\ifpdfx@x \pdfx@xfalse % PDF/X mode
@@ -2594,13 +2705,28 @@
\def\xmp@ReleaseDate{2005} % 2001 for PDF/X-1, 2005 for PDF/A-1,
% 2010 for PDF/A-2, 2012 for PDF/A-3.
+%% with Beamer pgf will have written Resource objects already
+\newif\ifpdfx@luacheck@needed
+\@ifpackageloaded{pgfcore}{\pdfx@luacheck@neededtrue}{}
+%% thanks to Ryutaroh Matsumoto for reporting this issue
+
\newcount\pdfx@minorversion
+\newcount\pdfx@majorversion
+\expandafter\ifx\csname pdfmajorversion\endcsname\relax
+%% RRM: 20240614 LuaLaTeX may not have this defined
+ \newcount\pdfmajorversion
+ \pdfmajorversion=1\relax
+\fi
\expandafter\ifx\csname pdfminorversion\endcsname\relax
-\else
- \global\pdfx@minorversion=\the\pdfminorversion
+%% RRM: 20240614 this could be set in luatex85 package
+ \newcount\pdfminorversion
+ \pdfminorversion=3\relax
\fi
+%% options can change these from the defaults
+\global\pdfx@majorversion=\the\pdfmajorversion
+\global\pdfx@minorversion=\the\pdfminorversion
-\def\pdfx@ErrorWarning#1#2#3#4{%
+\def\pdfx@ErrorWarning #1#2#3#4{%
\ifpdfx@noerr \PackageWarning{pdfx}{#1.^^J #2#3.^^J}%
\else \PackageError{pdfx}{#1}{#2#4.^^J
Use option 'noerr' to avoid this message.^^J}%
@@ -2781,6 +2907,9 @@
\DeclareOption{pdf15}{\global\pdfx@minorversion=5 }% 2005 Acrobat 6
\DeclareOption{pdf16}{\global\pdfx@minorversion=6 }% 2006 Acrobat 7 (ISBN 0-321-30474-8)
\DeclareOption{pdf17}{\global\pdfx@minorversion=7 }% 2008 ISO 32000-1:2008
+\DeclareOption{pdf20}{% 2020 ISO 32000-2:2020
+ \global\pdfx@majorversion=2 \relax
+ \global\pdfx@minorversion=0 }%
%% inhibits writing the XMP byte-order marker
\DeclareOption{noBOM}{\pdfx@noBOMtrue}
@@ -2845,6 +2974,13 @@
\ExecuteOptions{noBOM,a-1b}
\ProcessOptions
+\RequirePackage{ifluatex}
+\ifpdfx@luacheck@needed
+ \ifluatex
+ \RequirePackage{luatex85}
+ \fi
+\fi
+
\ifpdfx@ua\ifpdfx@x\else
\expandafter\if\xmp@Conformance A\else
\pdfx@ErrorWarning{PDF/UA requires 'Tagged PDF' for any structure.^^J
@@ -2857,19 +2993,23 @@
\expandafter\ifx\csname pdflastobj\endcsname\relax
\else
- \ifnum\pdflastobj >\z@ % pdftex has already written objects
+ \ifnum\pdflastobj >\z@ % pdf/luatex has already written objects
+ % e.g. by pgfcore , called from Beamer or other class
\ifnum\pdfx@minorversion=\pdfminorversion\else
\PackageError{pdfx}%
{^^J(pdfx) Cannot change the \string\pdfminorversion^^J%
- (pdfx) PDF version remains at 1.\the\pdfminorversion.^^J%
- (pdfx) Use \string\pdfminorversion=\the\pdfx@minorversion\space
+ (pdfx) PDF version remains at \the\pdfmajorversion.\the\pdfminorversion.^^J%
+ (pdfx) Use \string\pdfmajorversion=\the\pdfx@majorversion\space^^J%
+ and \string\pdfminorversion=\the\pdfx@minorversion\space
before \string\documentclass}%
{(pdfx) Another package or document-class has written objects into the PDF.^^J%
- (pdfx) Hit return to continue with PDF version 1.\the\pdfminorversion.%
- }%
+ (pdfx) Hit return to continue with PDF version %
+ \the\pdfmajorversion.\the\pdfminorversion.}%
+ \global\pdfx@majorversion=\the\pdfmajorversion
\global\pdfx@minorversion=\the\pdfminorversion
\fi
\else
+ \global\pdfmajorversion\pdfx@majorversion
\global\pdfminorversion\pdfx@minorversion
\fi
\fi
@@ -2877,6 +3017,7 @@
\expandafter\ifx\csname thepdfminorversion\endcsname\relax
\expandafter\ifx\csname pdfminorversion\endcsname\relax
\else
+ \xdef\thepdfmajorversion{\the\pdfmajorversion}
\xdef\thepdfminorversion{\the\pdfminorversion}
\fi\fi
@@ -2885,16 +3026,21 @@
\def\pdf@minorversion@xetex=#1{\gdef\thepdfminorversion{#1}}%
\let\pdfminorversion\pdf@minorversion@xetex
\else
- \ifnum\pdfminorversion < 4\relax
- \ifpdfx@x
- % more testing needed with PDF/X
- \else
- \pdfminorversion=4\relax % assumed for PDF/A ; options may change this for PDF/X
- \gdef\thepdfminorversion{4}%
- \fi
+ \ifnum\pdfmajorversion > 1\relax
+ \pdfminorversion=3\relax
+ %% else some JPG graphics with DCT encoding will fail
\else
- \ifnum\pdfminorversion<\thepdfminorversion\relax
- \global\pdfminorversion=\thepdfminorversion\relax
+ \ifnum\pdfminorversion < 4\relax
+ \ifpdfx@x
+ % more testing needed with PDF/X
+ \else
+ \pdfminorversion=4\relax % assumed for PDF/A ; options may change this for PDF/X
+ \gdef\thepdfminorversion{4}%
+ \fi
+ \else
+ \ifnum\pdfminorversion<\thepdfminorversion\relax
+ \global\pdfminorversion=\thepdfminorversion\relax
+ \fi
\fi
\fi
\fi
@@ -2902,7 +3048,8 @@
\pdfresetpageorigin=0
\fi
-\expandafter\ifx\csname pdfomitcharset\endcsname\relax\else
+\expandafter\ifx\csname pdfomitcharset\endcsname\relax
+\else
\ifpdfx@omitcharset
\pdfomitcharset = 1 %
%% do not create /Charset listings of font glyphs;
@@ -2940,8 +3087,10 @@
\RequirePackage{iftex}
\RequirePackage{ifpdf}
+%\expandafter\show\csname ifpdf\endcsname
%% Support for pdfTeX primitives when using XeTeX:
\RequirePackage{ifxetex}
+%\expandafter\show\csname ifpdf\endcsname
\ifxetex
\def\pdfx@pages@xetex#1{\special{pdf:put @pages <<#1>>}}
\def\pdfx@pageattr@xetex#1{\special{pdf:put @thispage <<#1>>}}
@@ -2971,7 +3120,10 @@
}%
\RequirePackage{pdftexcmds}%
\let\pdfx@mdfivesum\pdf@mdfivesum
- \let\pdfescapestring\pdf@escapestring
+% \let\pdfescapestring\pdf@escapestring
+ \long\def\pdf@escapestring@byte #1{%
+ \directlua {oberdiek.pdftexcmds.escapestring("\luaescapestring {#1}", "byte")}}%
+ %\let\pdf@escapestring\pdf@escapestring@byte
\else
\ifxetex
\expandafter\ifx\csname mdfivesum\endcsname\relax
@@ -3021,6 +3173,13 @@
\pdfgeninterwordspace=0 \relax
\fi
\begingroup
+ \expandafter\ifx\csname stockwidth\endcsname\relax\else
+ \ifdim\stockwidth=\z@ %% 20240528
+ \else
+ %% 20231023 support for memoir's stockwidth/height
+ \let\paperwidth\stockwidth
+ \let\paperheight\stockheight
+ \fi \fi
\dimen0=0.996264009963\paperwidth\relax
\edef\pdfx@mwidth{\strip@pt\dimen0}%
\advance\dimen0 -25\p@
@@ -3049,7 +3208,7 @@
\expandafter\immediate\pdfx@pageattr@xetex{\pdfx@everypage@xetex}}%
\EveryShipout{%
\expandafter\immediate\pdfx@pageattr@xetex{\pdfx@everypage@xetex}}%
- \else
+ \else
\EveryShipout{%
\expandafter\ifx\expandafter\relax\the\pdfpageattr\relax
\immediate\pdfpageattr\expandafter{\the\pdfpagesattr}%
@@ -3068,7 +3227,8 @@
\else
\ifnum\thepdfminorversion >3 \relax
\expandafter\ifx\csname pdfsuppresswarningdupmap\endcsname\relax
- \expandafter\ifx\csname pdfmapline\endcsname\relax\else
+ \expandafter\ifx\csname pdfmapline\endcsname\relax
+ \else
\pdfmapline{+dummy-space <dummy-space.pfb}
\fi
\else
@@ -3098,16 +3258,46 @@
\@namedef{M@L8U}{}%
%% adjust to LaTeX's 2018 change to the default encoding
+\def\pdfx@utfencodingname{utf8}%
+\def\pdfx@RawInputEncoding{%
+% \begingroup
+% \@tempcnta=0
+% % print out the catcodes of chars < 32
+% \loop
+% \typeout{\the\@tempcnta: \expandafter\the\catcode\@tempcnta}%
+% \advance\@tempcnta\@ne
+% \ifnum\@tempcnta<32
+% \repeat
+% \endgroup
+ \UseRawInputEncoding
+}
\expandafter\ifx\csname inputencodingname\endcsname\relax
\else
\def\pdfx@restoreencoding#1{%
- \@tempcnta=128
+ \@tempcnta=1\relax
+ \loop
+% \catcode\@tempcnta=13\relax
+ \advance\@tempcnta\@ne
+ \ifnum\@tempcnta<8\relax
+ \repeat
+ \catcode11=13 \relax
+ \@tempcnta=14\relax
+ \loop
+% \catcode\@tempcnta=13\relax
+ \advance\@tempcnta\@ne
+ \ifnum\@tempcnta<31 \relax
+ \repeat
+ \@tempcnta=128\relax
\loop
- \catcode\@tempcnta=13
+% \catcode\@tempcnta=13\relax
\advance\@tempcnta\@ne
\ifnum\@tempcnta<256
\repeat
- \inputencoding{#1}%
+% {\tracingall
+% \ifx\inputencodingname\pdfx@utfencodingname\else
+ \let\inputencodingname\relax %% kill previous
+% \fi
+ \inputencoding{#1}%}%
\let\LastDeclaredEncoding\pdfx@LastDeclaredEncoding
\let\DeclareFontEncoding@\pdfx@DeclareFontEncoding@
\let\DeclareUnicodeCharacter\pdfx@DeclareUnicodeCharacter
@@ -3116,7 +3306,18 @@
\let\pdfx@inputencodingname\inputencodingname
\global\let\pdfx@DeclareUnicodeCharacter\DeclareUnicodeCharacter
\global\let\pdfx@DeclareFontEncoding@\DeclareFontEncoding@
- \UseRawInputEncoding
+% \@tempcnta=0
+% \loop
+% \typeout{\the\@tempcnta: \expandafter\the\catcode\@tempcnta}%
+%% \expandafter\showthe\catcode\@tempcnta
+% \advance\@tempcnta\@ne
+% \ifnum\@tempcnta<32
+% \repeat
+%\show\UseRawInputEncoding
+%% if the encoding is utf8 then don't change it here – wrong!
+% \ifx\inputencodingname\pdfx@utfencodingname\else
+% \expandafter\expandafter
+ \expandafter\pdfx@RawInputEncoding %\fi
\fi
\InputIfFileExists{\pdfx@encodingfile}{}{}
\expandafter\ifx\csname pdfx@inputencodingname\endcsname\relax
@@ -3243,6 +3444,10 @@
\ifx\relax#1\relax\else\gdef\xmp@lang@Identifier{#1}\fi
\def\afterxmp@parse{\let\Identifier\pdfx@extraIdentifier}%
\xmp@parse{\global\let\xmp@Identifier\@this}}
+\newcommand{\pdfx@Nickname}[1][]{%
+ \ifx\relax#1\relax\else\gdef\xmp@lang@Nickname{#1}\fi
+% \def\afterxmp@parse{\let\Identifier\pdfx@extraNickname}%
+ \xmp@parse{\global\let\xmp@Nickname\@this}}
\newcommand{\pdfx@Thumbnails}{%
\def\afterxmp@parse{\let\Thumbnails\pdfx@extraThumbnails}%
\xmp@parse{\global\let\xmp@Thumbnails\@this}}
@@ -3443,6 +3648,28 @@
\xmp@parse{\global\let\xmp@extraIdentifier\@this}%
}%
+%% Nickname only supports a single usage, for PDF/X
+%\newcommand{\pdfx@extraNickname}[1][]{%
+% \ifx\relax#1\relax
+% \expandafter\expandafter\expandafter\gdef
+% \expandafter\expandafter\expandafter\xmp@Nickname
+% \expandafter\expandafter\expandafter{%
+% \expandafter\xmp@Nickname\pdfx@insert@sep}%
+% \else
+% \expandafter\expandafter\expandafter\gdef
+% \expandafter\expandafter\expandafter\xmp@Nickname
+% \expandafter\expandafter\expandafter{%
+% \expandafter\xmp@Nickname\pdfx@insert@sep[#1]}%
+% \fi
+% \def\afterxmp@parse{%
+% \expandafter\expandafter\expandafter\gdef
+% \expandafter\expandafter\expandafter\xmp@Nickname
+% \expandafter\expandafter\expandafter{%
+% \expandafter\xmp@Nickname\xmp@extraNickname}%
+% }%
+% \xmp@parse{\global\let\xmp@extraNickname\@this}%
+% }%
+
\newcommand{\pdfx@extraThumbnails}[1][]{%
\ifx\relax#1\relax
\expandafter\expandafter\expandafter\gdef
@@ -3737,7 +3964,7 @@
%\let\sep\pdfx@sep
%% Note: '\ ', \&, \copyright are already predefined by hyperref.
%% allow LICRs to expand into PDF strings
- \def\cf@encoding{PU}%
+ \def\cf@encoding{PU}%
\def\9##1{\ifcase##1\string\0\or\string\1\or\string\2\or\string\3\fi}%
\def\8{\string\00}%
\def\0{\string\0}\def\1{\string\1}\def\2{\string\2}\def\3{\string\3}%
@@ -3798,6 +4025,9 @@
%%----------------------------------------------------------------------
%% Alternative way to get the CreationDate using Lua for XeTeX
\ifdefined\pdfcreationdate\else
+ \ifdefined\creationdate %% added to XeTeX in 2019
+ \let\pdfcreationdate\creationdate
+ \else
\begingroup %% ensure correct catcodes, not done by \dospecials
\catcode`\:=12 \catcode`\.=12
\begin{filecontents*}{creationdate.lua}
@@ -3833,7 +4063,7 @@
\def\noexpand\pdfcreationdate{\string D:20181028075445+10'00'}}%
\x
\fi
-\fi
+\fi \fi
%%----------------------------------------------------------------------
\def\pdfx@findUUID#1{\edef\pdfx@tmpstring{\pdfx@mdfivesum{#1}}
@@ -4004,7 +4234,7 @@
\fi\fi
}%
\fi\fi
-\hypersetup{pdfencoding=auto}% unicode
+%\hypersetup{pdfencoding=auto}% 2019-12-08 No; this writes 8-bit bookmarks.
\expandafter\ifx\csname KV@Hyp@psdextra\endcsname\relax\else
\hypersetup{psdextra}
\fi
@@ -4370,7 +4600,7 @@
%% ----------------------------------------------------------------------
\begingroup
- \catcode`\_ 12 \catcode`\" 12 \catcode`\' 12
+ \catcode`\_ 12 \catcode`\" 12 \catcode`\' 12
\catcode`\< 12 \catcode`\> 12 \catcode`\/ 12 \catcode`\[ 12 \catcode`\] 12
\edef\@pctchar{\expandafter\@gobble\string\%}
\edef\@bchar{\expandafter\@gobble\string\\}
@@ -4733,22 +4963,24 @@
\fi
}% end of \catcode
+
%% ----------------------------------------------------------------------
%% \pdfx@topdfstring\toka\tokb: Convert the string in \tokb to a format
%% appropriate for PDF /Info strings, i.e., PDFDoc encoding or UTF-16
%% encoding, and store the result in \toka As a special case, if \tokb
%% is \@empty, set \toka to \@empty.
-\def\pdfx@topdfstring#1#2{%
- \ifx#2\@empty
+\RequirePackage{stringenc}% prevent it loading later inside a group
+\def\pdfx@topdfstring #1#2{%
+ \ifx #2\@empty
\global\let#1\empty
\else
\begingroup
\ifluatex\else\ifxetex\else
\inputencoding{utf8}%
\fi\fi
- \hypersetup{pdfencoding=auto}%
- \pdfstringdef#1{#2}%
+ \@ifl@t@r\fmtversion{2022/06/01}{}{\hypersetup{pdfencoding=auto}}%
+ \pdfstringdef #1{#2}%
\endgroup
\fi
}
@@ -4858,7 +5090,7 @@
\RequirePackage{stringenc}%
\begingroup
\catcode`\| 0
- \catcode `\\ 12
+ \catcode `\\ 12
|gdef |pdfx@parsebackslash#1{%
|begingroup
|def |pdfx@parsemacro{#1}%
@@ -4873,7 +5105,7 @@
|edef |pdfx@parseout{|pdfx@parseout \\}%
|def |next{|pdfx@doparsebackslash#2|pdfx@endparse}%
|fi |next
- }
+ }
|endgroup
\def\pdfx@parseend{%
\edef\next{\endgroup\def\expandafter\noexpand\pdfx@parsemacro{\pdfx@parseout}}%
@@ -5018,7 +5250,7 @@
\spacefactor\accent@spacefactor
}
%% same for named accents in math-mode
-\def\pdfx@mathaccentV#1#2#3#4#5{%
+\def\pdfx@mathaccentV #1#2#3#4#5{%
#5{\mathsurround=\z@\relax
\everymath{}%
\mathchoice
@@ -5027,12 +5259,74 @@
{\setbox\z@\hbox{$\scriptstyle #5$}\kern-\wd\z@}%
{\setbox\z@\hbox{$\scriptscriptstyle #5$}\kern-\wd\z@}%
}%
+% \pdfx@AMS@mathaccentV{#1}{#2}{#3}{#4}{#5}%
\AMS@mathaccentV{#1}{#2}{#3}{#4}{\phantom{#5}}%
}
+
+%%% the original AMS coding:
+%%\mathaccentV=macro: #1#2#3#4#5->\ifmmode
+%% \gdef \macc@tmp {\macc@depth \@ne }%
+%% \setbox \z@ \hbox {\let\mathaccentV \macc@test
+%% \let \use@mathgroup \@gobbletwo
+%% \let \select@group \@gobblethree \frozen@everymath {}$#5$}\macc@tmp
+%% \ifnum \macc@depth =\@ne
+%% \global \let \macc@nucleus \@empty
+%% \mathaccent "\accentclass@
+%% \else \@xp \macc@nested
+%% \fi #2#3#4{#5}\macc@nucleus
+%% \else
+%% \@xp \nonmatherr@ \csname #1\endcsname \fi .
+
+\def\pdfx@AMS@mathaccentV #1#2#3#4#5{%
+ \ifmmode
+ \gdef \macc@tmp {\macc@depth \@ne }%
+ \setbox \z@ \hbox {\let\mathaccentV \macc@test
+ \let \use@mathgroup \@gobbletwo
+ \let \select@group \@gobblethree \frozen@everymath {}$\phantom{#5}$}\macc@tmp
+ \ifnum \macc@depth =\@ne
+ \global \let \macc@nucleus \@empty
+ \mathaccent "\accentclass@
+ \else \@xp \macc@nested
+ \fi #2#3#4{#5}\macc@nucleus
+ \else
+ \@xp \nonmatherr@ \csname #1\endcsname
+ \fi
+}
+
+
+%% code supplied by Yuwsuke Kieda, 7 May 2019 :
+%% https://gist.github.com/yuw/a31936370647d0044eeb4e47f3ae913f
+%%
+\@ifpackageloaded{amsmath}{%
+ \def\pdfx@macc@a #1#2{%
+ \begingroup
+ \let\macc@style#1\relax
+ \def\macc@palette ##1{##1\macc@style}%
+ \advance\macc@depth\m@ne
+ \ifnum\macc@depth=\z@
+ \gdef\macc@nucleus{\phantom{#2}}%% <<< here
+ \setbox\z@\hbox{$#1#2\@empty{}\macc@skewchar$}%
+ \setbox\tw@\hbox{$#1#2\@empty\macc@skewchar$}%
+ \dimen@\tw@\wd\tw@ \advance\dimen@-\tw@\wd\z@
+ \xdef\macc@kerna{\the\dimen@\relax}%
+ \setbox4\hbox{$#1#2\acc@check\@empty$}%
+ \global\setbox\@ne\hbox to\wd4{}%
+ \ht\@ne\ht4 \dp\@ne\dp4
+ \xdef\macc@kernb{\the\wd4\relax}%
+ \mathaccent\macc@code{\box\@ne\kern\macc@kerna}%
+ \else
+ \mathaccent\macc@code{\let\macc@adjust\@empty #1#2\@empty}%
+ \macc@adjust
+ \fi
+ \endgroup
+ }}\relax
+%
\AtBeginDocument{%
\@ifpackageloaded{amsmath}{%
\let\AMS@mathaccentV\mathaccentV
- \let\mathaccentV\pdfx@mathaccentV}%
+% \let\mathaccentV\pdfx@mathaccentV
+% \let\macc@a\pdfx@macc@a
+ }%
}%
%% How to support XeTeX here ?
@@ -5284,10 +5578,25 @@
%% it should be loaded outside the grouping, else biblatex may barf
%%
\RequirePackage{ifthen}
-\begingroup
+
+%% 2024-04-05: from July 2024 LaTeX will not allow packages to load
+%% within a grouping, so reorganise a bit.
+%%
%% override the \ifpdf check of xmpincl package, inside the grouping
- \pdftrue
- \RequirePackage{xmpincl}
+%% after saving its current value:
+\let\pdfx@ifpdf\ifpdf
+\pdftrue
+%% now load the packages, then enter the grouping:
+\RequirePackage{xmpincl}
+%%
+\begingroup
+%%% 20240405 revert the value of \ifpdf ...
+\pdfx@ifpdf
+\else
+ %% 20240624 ... outside the grouping
+ \aftergroup\pdffalse
+\fi
+
%% combine coding from xmpincl and hyperxml to support XeTeX
\def\pdfx@xmpincl@xetex#1{%
\IfFileExists{#1.xmp}{%
@@ -5343,6 +5652,13 @@
%%----------------------------------------------------------------------
\begingroup
+%% 20210706 we need a pointer to unexpandable \par
+ \expandafter\ifx\csname tex_par:D\endcsname \relax
+ \let\pdfx@par\par
+ \else
+%% using LaTeX 2021-06 or later
+ \expandafter\let\expandafter\pdfx@par\csname tex_par:D\endcsname
+ \fi
\ifpdfx@x
\ifpdfx@vt
\def\xmp@template{pdfvt}%
@@ -5396,9 +5712,11 @@
%% beware 128 space characters -- for padding end of XMP packet
\gdef\paddingline{ }%
\typeout{Using XMP template file: \xmp@template.xmp}%
+ %% 20210706 ensure \par is unexpandable
+ \let\par\pdfx@par
\includexmp{\xmp@template}%
\endgroup
-
+%%%
%%
%% revert active characters to previous encoding
%%
@@ -5462,13 +5780,27 @@
%%
%% controls the color model and conversions with xcolor package
%%
+\def\pdfx@selectcolormodel@doing #1{%% Warning
+ \PackageWarning{pdfx}{Setting all color commands to #1,^^J%
+ consistent with the Color Model for PDF/%
+ \ifpdfx@x X \else \ifpdfx@e E \else A \fi\fi}%
+ }%% 20240528 inhibit any changes
+\def\pdfx@selectcolormodel@done #1{%% Warning
+ \PackageWarning{pdfx}{Color Model already set for PDF/%
+ \ifpdfx@x X\else \ifpdfx@e E\else A\fi\fi,^^Jcannot change to #1 }%
+ }%% 20240528 inhibit any changes
+%%
\ifpdfx@cmyk
%
% this will have been done already for PDF/X
%
\PassOptionsToPackage{cmyk,hyperref}{xcolor}
- \def\pdfx@handlexcolor{\def\@@mod{cmyk}\selectcolormodel{cmyk}%
- \convertcolorsUtrue\convertcolorsDtrue}
+ \def\pdfx@handlexcolor{\def\@@mod{cmyk}%
+ \pdfx@selectcolormodel@doing{cmyk}%
+ \selectcolormodel{cmyk}%
+ \convertcolorsUtrue\convertcolorsDtrue
+ \let\selectcolormodel\pdfx@selectcolormodel@done
+ }
\ifpdfx@x
\else
%% \AtBeginDocument{%
@@ -5491,8 +5823,12 @@
\fi
\else
\PassOptionsToPackage{rgb,hyperref}{xcolor}
- \def\pdfx@handlexcolor{\def\@@mod{rgb}\selectcolormodel{rgb}%
- \convertcolorsUtrue\convertcolorsDtrue}
+ \def\pdfx@handlexcolor{\def\@@mod{rgb}%
+ \pdfx@selectcolormodel@doing{rgb}%
+ \selectcolormodel{rgb}%
+ \convertcolorsUtrue\convertcolorsDtrue
+ \let\selectcolormodel\pdfx@selectcolormodel@done
+ }
\fi
\@ifpackageloaded{xcolor}{\pdfx@handlexcolor
\ifpdfx@cmyk\else\color{black}\fi}{%
@@ -5628,7 +5964,9 @@
%</package>
% \fi
% \Finale
-% \let\newpage\relax
% \PrintIndex
+% \let\realGlossaryParms\GlossaryParms \let\realsubitem\subitem
+% \long\def\GlossaryParms{\realGlossaryParms \def\hdpindex ##1##2{}%
+% \long\def\subitem ##1:\ ##2\pfill{\par\hangindent 30pt\hspace*{15pt}##2\hfil}}%
% \PrintChanges
% \endinput
diff --git a/macros/latex/contrib/pdfx/src/pdfx.ins b/macros/latex/contrib/pdfx/src/pdfx.ins
index afd943fbb5..88defbfee8 100644
--- a/macros/latex/contrib/pdfx/src/pdfx.ins
+++ b/macros/latex/contrib/pdfx/src/pdfx.ins
@@ -4,9 +4,9 @@
\preamble
- Copyright (c) 2019, CV Radhakrishnan <cvr@river-valley.org>,
+ Copyright (c) 2019-2024, CV Radhakrishnan <cvr@river-valley.org>,
Han The Thanh <thanh@river-valley.org>,
- Ross Moore <ross.moore@mq.edu.au>,
+ Ross Moore <ozross@icloud.com> - primary contact,
Peter Selinger <selinger@mathstat.dal.ca>
This file may be distributed and/or modified under the conditions
diff --git a/macros/latex/contrib/pdfx/src/pdfx.xmpdata b/macros/latex/contrib/pdfx/src/pdfx.xmpdata
deleted file mode 100644
index 66eb644635..0000000000
--- a/macros/latex/contrib/pdfx/src/pdfx.xmpdata
+++ /dev/null
@@ -1,33 +0,0 @@
-\Title{Generation of PDF/X- and PDF/A-compliant PDFs with pdfTeX \textemdash\ pdfx.sty}
-\Author{\CVR\sep \Thanh\sep Ross Moore\sep Peter Selinger}
-\Subject{This package supports generation of PDF/X-, PDF/A- and PDF/E-compliant documents, in most of their variants, using pdfLaTeX, LuaLaTeX and XeLaTeX.}
-\Keywords{PDF/X-, PDF/A- and PDF/E-compliance\sep Multilingual Metadata\sep installation\sep \TeX Live \thisyear}
-\PublicationType{manual}
-\Contributor{Norbert Preining: 'colorprofiles' package}
-\Copyright{Public domain.}
-\Copyrighted{False}
-\CopyrightURL{http://tug.org/texlive/}
-\CoverDisplayDate{March \thisyear}
-\CoverDate{\thisyear-03-10}
-\CreatorTool{LaTeX + pdfx.sty with option \pdfxopt, from TeX Live \thisyear}
-\Date{2017-05-18\sep 2017-06-23\sep 2018-11-29\sep 2018-12-22\sep 2019-02-08\sep 2019-03-10}
-\Advisory{An earlier version of this documentation was published as: TUGboat 36, No.2, pp.136\textendash 142 (2015)}
-\Advisory{v1.6: Added XMP support for PDF/UA-1. Added more Metadata fields and Language support.}
-\Advisory{v1.6: Default RGB and CMYK profiles now require the colorprofiles.sty package.}
-\Relation{Requires the colorprofiles package for RGB and CMYK default profiles.}
-\Advisory{v1.6: Access more profiles, incl. to pdfaPilot's color profile folders.}
-\Advisory{v1.6: Revised glyphtounicode.sty to use variation selectors.}
-\Advisory{v1.6: altered maps to PUA codepoints.}
-\Advisory{v1.6: added more glyphs via glyphtounicode-ntx.tex }
-\Advisory{v1.6: Support for 8-bit Hebrew encodings, some Arabic and Devanagari.}
-\Advisory{v1.6: Updated documentation, incl. for LaTeX changes.}
-\Advisory{v1.6.1: Fixed issue with ifthen package; improved Metadata with LuaTeX and XeTeX.}
-\Advisory{v.1.6.1: Flexibility with page boxes for PDF/X.}
-\Advisory{v.1.6.2: Fixed passing of options to xcolor, and some glyphtounicode values.}
-\Advisory{v.1.6.2: Fixed encoding issue. Extra warning when colorprofiles.tex is missing.}
-\Advisory{v.1.6.3: Properly fixed encoding issue; supports \string\pdfomitcharset\ primitive.}
-\Advisory{v.1.6.3: Reference to veraPDF validation software; additions to glyphtounicode-ntx.tex.}
-\Advisory{v.1.6.3: Patched \string\mathaccentV\ to output accents after the base character.}
-\pdfxEnableCommands{%
- \def\CVR{C.V. Radhakrishnan}\def\Thanh{H\`an Th\eee Thanh}%
- \def\eee{^^c3^^aa^^cc^^81 }}
diff --git a/macros/latex/contrib/photobook/Makefile b/macros/latex/contrib/photobook/Makefile
index 59b7ea002c..19edca368e 100644
--- a/macros/latex/contrib/photobook/Makefile
+++ b/macros/latex/contrib/photobook/Makefile
@@ -85,8 +85,7 @@ endif
# markdown dialect...
#
-# XXX still needs some tweaking...
-MD_FORMAT ?= markdown_github
+MD_FORMAT ?= gfm
# debug output...
@@ -173,26 +172,11 @@ LN := cp -l
# - |..| - verbatim does not work...
# - || - parts of doc omitted...
# - verbatim blocks get merged sometimes...
+# - does not resolve \jobname in include...
# - ...
# ...not sure if this can be tweaked...
-#%.md: %.tex
-# pandoc -t $(MD_FORMAT) -s $< -o $@
-
-# XXX EXPERIMENTAL...
-# XXX revise:
-# ...for this to work we need to replace:
-# \documentclass{ltxdoc}
-# to:
-# \documentclass[markdownextra]{internet}
-# XXX install the internet class...
-# https://github.com/loopspace/latex-to-internet
-# ...needs testing...
%.md: %.tex
- cat $< \
- | sed 's/documentclass{ltxdoc}/documentclass[markdownextra]{internet}/' \
- > $<.tmp
- mv $<{.tmp,}
- $(TEX) $< $(STDERR)
+ pandoc -t $(MD_FORMAT) -s $< -o $@
# meta-section...
diff --git a/macros/latex/contrib/photobook/README.md b/macros/latex/contrib/photobook/README.md
index 13daa3c373..7055717be0 100644
--- a/macros/latex/contrib/photobook/README.md
+++ b/macros/latex/contrib/photobook/README.md
@@ -28,7 +28,7 @@ $ make install
The `photobook` document class requires a set of modules to be installed
for it to function, the full list is included in the docs and can be
-printed by calling:
+generated and printed by calling:
```shell
$ make depends
```
@@ -39,7 +39,8 @@ For more info on `make` targets see the: [./Makefile](./Makefile)
# Documentation
-Pre-built documentation can be found on
+Pre-built documentation can be found in the
+[Github releases](https://github.com/flynx/photobook/releases/latest) or on
[CTAN](http://mirrors.ctan.org/macros/latex/contrib/photobook/photobook.pdf).
@@ -69,7 +70,7 @@ Build requirements for docs:
## Notes
-- The main refetence is inline with the source [photobook.cls](./photobook.cls)
+- The main reference is maintained inline with the source [photobook.cls](./photobook.cls)
thus it is both human-readable next to the code it documents and is
used to build the `photobook.pdf`.
Extracting the documentation source (`photobook*.tex`) is done
diff --git a/macros/latex/contrib/photobook/photobook.cls b/macros/latex/contrib/photobook/photobook.cls
index a2a84809e8..ae2ecac6b6 100644
--- a/macros/latex/contrib/photobook/photobook.cls
+++ b/macros/latex/contrib/photobook/photobook.cls
@@ -38,6 +38,7 @@
%
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%
+%
% XXX ASAP: imagecell: photobook@imagecell@left and photobook@imagecell@top
% should explicitly account for clearence@left and clearence@top resp.
% XXX ASAP: imagecell: clearance should have the same semantics as cliptocell
@@ -88,12 +89,25 @@
% cell/cell* depend on absolute mode being set globally
%
%
+% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+%
+% Work around an issue with calc's \ratio{..}{..} breaking into an
+% "Arythmetic overflow" when working with large images.
+% (see Issues section for more info)
+%
+% NOTE: if the error persists just make this smaller but note that the
+% smaller this gets the greater the error can be for very small
+% images
+%
+\def\CalcOverflowFactor{0.1}%
+
+
%----------------------------------------------------------------------
%%% NOTE: \def\<module-name>@[A-Z]+ macros will be visible to both the
%%% code and the generated docs...
-\edef\photobook@FILEVERSION{v0.1.29}
-\edef\photobook@FILEDATE{2023-08-24}
+\edef\photobook@FILEVERSION{v0.1.31}
+\edef\photobook@FILEDATE{2024-07-19}
%% \documentclass{ltxdoc}
@@ -248,26 +262,27 @@
%% \begin{minipage}{\textwidth}
%% \begin{verbatim}
%%
+%% <-------------------------------------------------> paperwidth
%% <---> bleed <---> bleed
-%%
-%% + - - - - - - - - - - - - - - - - - - - - - - + - + ^
-%% . . . | bleed
-%% . +-----------------------------------------+----- v . . ---
-%% . | ^ . . = .
-%% . | . . . . . . | . . . = . ^
-%% . |<-- blockwidth ------------------------->= . |
-%% . | . | . . . = . |
-%% . | | . . = . textheight
-%% . | . Page | . . . = . |
-%% . | blockheight . . = . |
-%% . | . | . . <--> bindingoffset |
-%% . | | . . = . |
-%% . | . . . . . . | . <--> gutteroffset v
-%% . | v . . = .
-%% . +-----------------------------------------+----- ^ . . ---
-%% . . . . | bleed
-%% + - - - - - - - - - - - - - - - - - - - - - - + - + v
-%% . .
+%% paperheight v
+%% + - - - - - - - - - - - - - - - - - - - - - - + - + ^ . . . ---
+%% . . . | bleed .
+%% . +-----------------------------------------+----- v . . ---
+%% . | ^ . . = . .
+%% . | . . . . . . | . . . = . ^
+%% . |<-- blockwidth ------------------------->= . | .
+%% . | . | . . . = . |
+%% . | | . . = . textheight .
+%% . | . Page | . . . = . |
+%% . | blockheight . . = . | .
+%% . | . | . . <--> bindingoffset |
+%% . | | . . = . | .
+%% . | . . . . . . | . <--> gutteroffset v
+%% . | v . . = . .
+%% . +-----------------------------------------+----- ^ . . ---
+%% . . . . | bleed .
+%% + - - - - - - - - - - - - - - - - - - - - - - + - + v . . . ---
+%% . . ^
%% | <-- textwidth --------------> . |
%% ^ gutter
%%
@@ -278,6 +293,9 @@
%% account for |\gutteroffset|, namely macros that do not display content
%% with bleeds.
%%
+%% Also note that bleeds are included in \href{https://ctan.org/pkg/geometry}{geometry}'s
+%% |\paperwidth| and |\paperheight|.
+%%
% NOTE: if blockwidth/blockheight are set they will force recalculations
% and overriding of the paperwidth/paperheight if they were changed
% by the user code anywhere between \documentclass[..]{photobook}
@@ -917,7 +935,7 @@
%% \DescribeMacro{\imageblockoffsettop=<ratio>}
%
-%% The ration by which the image is raised in |\ImagePage{..}| and
+%% The ratio by which the image is raised in |\ImagePage{..}| and
%% derived templates.
%%
\edef\imageblockoffsettop{\photobook@imageblockoffsettop}
@@ -2515,8 +2533,9 @@
% NOTE: here we calculate image/cell eccentricity to decide
% to fit to width or heigh of cell...
% NOTE: did I say that I "love" how LaTeX does basic math??
+ % NOTE: \ratio{..}{..} here can break, see Issues for more info...
\setlength\photobook@imagecell@imgratio{%
- 1pt * \ratio{\wd\photobook@imagebox}{\ht\photobook@imagebox}}%
+ 1pt * \ratio{\CalcOverflowFactor\wd\photobook@imagebox}{\CalcOverflowFactor\ht\photobook@imagebox}}%
\setlength\photobook@imagecell@cellratio{%
1pt * \ratio{\cellwidth}{\cellheight}}%
\ifdim \photobook@imagecell@imgratio < \photobook@imagecell@cellratio%
@@ -2524,7 +2543,7 @@
\includegraphics[%
keepaspectratio,
width=\photobook@imagecell@scale\dimexpr
- + \cellwidth
+ \cellwidth
- \photobook@imagecell@clearance@left
- \photobook@imagecell@clearance@right \relax]{#3}}%
\else%
@@ -2532,7 +2551,7 @@
\includegraphics[%
keepaspectratio,
height=\photobook@imagecell@scale\dimexpr
- + \cellheight
+ \cellheight
- \photobook@imagecell@clearance@top
- \photobook@imagecell@clearance@bottom \relax]{#3}}%
\fi\fi\fi%
@@ -4848,8 +4867,9 @@
% align center -> check if image fits vertically...
\ifphotobook@ImagePageFit@centered\else%
\sbox{\photobook@imagebox}{\includegraphics{#3}}%
+ % NOTE: \ratio{..}{..} here can break, see Issues for more info...
\setlength\photobook@ImagePageFit@imgratio{%
- 1pt * \ratio{\wd\photobook@imagebox}{\ht\photobook@imagebox}}%
+ 1pt * \ratio{\CalcOverflowFactor\wd\photobook@imagebox}{\CalcOverflowFactor\ht\photobook@imagebox}}%
% NOTE: subtracting \bindingoffset from \cellwidth here makes sure that
% we avoid offsetting images close enough in ratio to the page and
% messing up bleeds...
@@ -5692,6 +5712,26 @@
%----------------------------------------------------------------------
+%%%% Issues
+%
+%% \subsection*{Large images can cause "Arythmetic overflow"}
+%
+%% \DescribeMacro{\CalcOverflowFactor=0.1}
+%
+%% If the issue occurs set |\CalcOverflowFactor| to a smaller value.
+%% But note, a value too small can lead to errors in the affected macros,
+%% a good value is between 0.1 and 0.01.
+%%
+%% Also note that it is recommended to pre-size images the print outside
+%% of \LaTeX.
+%%
+%% Affected macros: |\imagecell[fill]{..}{..}|, |\ImagePageFit|.
+%%
+% The issue occurs in the calc's |\ratio{..}{..}| macro when calculating
+% image proportions.
+%
+%
+%----------------------------------------------------------------------
% Index...
%
% XXX this prints trash at this point...
diff --git a/macros/latex/contrib/photobook/photobook.pdf b/macros/latex/contrib/photobook/photobook.pdf
index 5e785e73cf..119574f619 100644
--- a/macros/latex/contrib/photobook/photobook.pdf
+++ b/macros/latex/contrib/photobook/photobook.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf b/macros/latex/contrib/profcollege/doc/profcollege-doc.pdf
index dcd5987717..c684b9fff8 100644
--- a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+++ b/macros/latex/contrib/profcollege/doc/profcollege-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/latex/PfCArbreCalcul.tex b/macros/latex/contrib/profcollege/latex/PfCArbreCalcul.tex
new file mode 100644
index 0000000000..4113ae9a27
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCArbreCalcul.tex
@@ -0,0 +1,543 @@
+%%%
+% Arbre de calculs
+%%%
+\newtoks\toklistearbre%
+\newtoks\toklistearbrefractions%
+\newtoks\toklistearbreexpressions%
+
+\def\UpdatetoksArbreCalcul#1\nil{\IfDecimal{#1}{\addtotok\toklistearbre{#1,}}{\addtotok\toklistearbre{"#1",}}}%
+\def\UpdatetoksArbreFractions#1\nil{\addtotok\toklistearbrefractions{"#1",}}%
+\def\UpdatetoksArbreExpressions#1\nil{\addtotok\toklistearbreexpressions{"#1",}}%
+
+\setKVdefault[ArbreCalcul]{Correction=false,Couleur=LightSteelBlue,Substitue=7,Litteral=false,Largeur=8mm,LargeurC=8mm,Ecart=1.5cm,Hauteur=10mm,Lettre="x",CouleurDepart=LightGreen,Fractions=false,Nombres={},Expressions={},Etape=infinity}%
+\defKV[ArbreCalcul]{Fraction=\setKV[ArbreCalcul]{Fractions}}%
+
+\NewDocumentCommand\ArbreCalcul{om}{%
+ \useKVdefault[ArbreCalcul]%
+ \setKV[ArbreCalcul]{#1}%
+ \toklistearbre{}%
+ \toklistearbrefractions{}%
+ \toklistearbreexpressions{}%
+ \infixtoRPN{#2}%
+ \setsepchar{ }\ignoreemptyitems%
+ \readlist*\ListeNombres{\RPN}%
+ \reademptyitems%
+ \foreachitem\compteur\in\ListeNombres{\expandafter\UpdatetoksArbreCalcul\compteur\nil}%
+ \ifboolKV[ArbreCalcul]{Fractions}{%
+ \xdef\Foo{\useKV[ArbreCalcul]{Nombres}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeFractions{\Foo}%
+ \reademptyitems
+ \foreachitem\compteur\in\ListeFractions{\expandafter\UpdatetoksArbreFractions\compteur\nil}%
+ \BuildArbreCalculFraction{\the\toklistearbre}{\the\toklistearbrefractions}%
+ }{%
+ \ifboolKV[ArbreCalcul]{Litteral}{
+ \xdef\Foo{\useKV[ArbreCalcul]{Nombres}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeFractions{\Foo}%
+ \reademptyitems
+ \foreachitem\compteur\in\ListeFractions{\expandafter\UpdatetoksArbreFractions\compteur\nil}%
+ \xdef\Foo{\useKV[ArbreCalcul]{Expressions}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeExpressions{\Foo}%
+ \reademptyitems
+ \foreachitem\compteur\in\ListeExpressions{\expandafter\UpdatetoksArbreExpressions\compteur\nil}%
+% listarbre : \the\toklistearbre%
+%
+% listfracions : \the\toklistearbrefractions
+%
+% listexpressions : \the\toklistearbreexpressions
+ \BuildArbreCalculLitteral{\the\toklistearbre}{\the\toklistearbrefractions}{\the\toklistearbreexpressions}%
+ }{%
+ \BuildArbreCalcul{\the\toklistearbre}%
+ }%
+ }%
+}%
+
+\NewDocumentCommand\BuildArbreCalcul{m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ boolean Correction,Litteral,Allume[];
+ Correction=\useKV[ArbreCalcul]{Correction};
+ Litteral=\useKV[ArbreCalcul]{Litteral};
+
+ NombreSubstitue=\useKV[ArbreCalcul]{Substitue};
+
+ etape=0;
+ Etape=\useKV[ArbreCalcul]{Etape};
+
+ color Evidence,CoulDepart;
+ Evidence=\useKV[ArbreCalcul]{Couleur};
+ CoulDepart=\useKV[ArbreCalcul]{CouleurDepart};
+
+ pair pointprec;
+
+ path base[];
+ base1=unitsquare xscaled \useKV[ArbreCalcul]{Largeur} yscaled 5mm;
+ base2=fullcircle scaled 5mm;
+ base3=unitsquare xscaled \useKV[ArbreCalcul]{LargeurC} yscaled 5mm;
+
+ vardef BlocCalcul(expr Ba,Bb,op,cha,chb)=%
+ % Ba point gauche
+ % Bb point droite
+ % op opération à afficher
+ etape:=etape+1;
+ save $;
+ picture $;
+ path cc[];
+ pair Bc;
+ Bc=(0.5*(xpart(Ba)+xpart(Bb)),if ypart(Bb)<ypart(Ba):ypart(Bb) else:ypart(Ba) fi -0.75u);
+ pointprec:=Bc+u*(0,-0.75);
+ $=image(
+ if Allume[numeropoint-1]=true:
+ cc1=base3 shifted (Ba-center base3);
+ else:
+ cc1=base1 shifted (Ba-center base1);
+ fi;
+ if Allume[numeropoint]=true:
+ cc2=base3 shifted (Bb-center base3);
+ else:
+ cc2=base1 shifted (Bb-center base1);
+ fi;
+
+ cc3=(fullcircle scaled 5mm) shifted Bc;
+ cc4=base3 shifted (pointprec-center base3);
+ if op="mul":
+ label(TEX("$\times$"),Bc);
+ ValeurPile[numeropoint-1]:=cha*chb;
+ elseif op="add":
+ label(TEX("$+$"),Bc);
+ ValeurPile[numeropoint-1]:=cha+chb;
+ elseif op="sub":
+ label(TEX("$\_$"),Bc);
+ ValeurPile[numeropoint-1]:=cha-chb;
+ elseif op="div":
+ label(TEX("$\div$"),Bc);
+ ValeurPile[numeropoint-1]:=cha/chb;
+ fi;
+ if Correction:
+ if etape<Etape+1:
+ fill cc4 withcolor Evidence;
+ label(TEX("\num{"&decimal(ValeurPile[numeropoint-1])&"}"),pointprec);
+ fi;
+ fi;
+ for l=1 upto 4:
+ trace cc[l];
+ endfor;
+ draw (Ba--Bc) cutbefore cc1 cutafter cc3;
+ draw (Bb--Bc) cutbefore cc2 cutafter cc3;
+ draw (Bc--pointprec) cutbefore cc3 cutafter cc4;
+ );
+ $
+ enddef;
+
+ numeric Valeurs[];
+ numeric Valeursa[];
+
+ string Operations[];
+
+ numeric numeropoint;
+ numeropoint=0;
+
+ numeric ValeurPile[];
+
+ vardef RecupDonnees(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if numeric p_:
+ Valeurs[n]=p_;
+ Operations[n]="";
+ else:
+ Valeurs[n]=infinity;
+ Operations[n]=p_;
+ fi;
+ endfor;
+ n:=n+1;
+ Operations[n]="stop";
+ nbtotal=n;
+ for k=1 upto nbtotal:
+ ValeurPile[k]=0;
+ endfor;
+ enddef;
+
+ pair A[];
+ ecart=\useKV[ArbreCalcul]{Ecart};
+
+ RecupDonnees(#1);
+
+ A[0]=(0,0);
+ k=0;
+ nbetape:=0;
+
+ for p_=#1:
+ k:=k+1;
+ if numeric p_:
+ numeropoint:=numeropoint+1;
+ if unknown A[numeropoint]:A[numeropoint]-A[numeropoint-1]=ecart*(1,0);Allume[numeropoint]=false; else:
+ A[numeropoint]:=A[numeropoint-1]+ecart*(1,0); Allume[numeropoint]:=false;
+ fi;
+ if Valeurs[k]=0:Valeursa[k]:=NombreSubstitue else: Valeursa[k]=Valeurs[k] fi;
+ if Operations[k+1]="neg":
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart; if Litteral:
+ label(TEX("$\useKV[ArbreCalcul]{Lettre}$"),A[numeropoint]);
+ else:
+ label(TEX("\num{"&decimal(-Valeursa[k])&"}"),A[numeropoint]);
+ fi;
+ else:
+ label(TEX("\num{"&decimal(-Valeursa[k])&"}"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=-Valeursa[k];
+ else:
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;if Litteral:
+ label(TEX("$\useKV[ArbreCalcul]{Lettre}$"),A[numeropoint]);
+ else:
+ label(TEX("\num{"&decimal(Valeursa[k])&"}"),A[numeropoint]);
+ fi;
+ else:
+ label(TEX("\num{"&decimal(Valeursa[k])&"}"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=Valeursa[k];
+ fi;
+ elseif string p_:
+ if p_<>"neg":
+ trace BlocCalcul(A[numeropoint-1],A[numeropoint],Operations[k],ValeurPile[numeropoint-1],ValeurPile[numeropoint]);
+ A[numeropoint-1]:=pointprec;
+ Allume[numeropoint-1]:=true;
+ numeropoint:=numeropoint-1;
+ fi;
+ fi;
+ endfor;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\BuildArbreCalculFraction{mm}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ boolean Correction,Allume[];
+ Correction=\useKV[ArbreCalcul]{Correction};
+
+ string Fraction;
+ Fraction=\useKV[ArbreCalcul]{Fraction};
+
+ color Evidence,CoulDepart;
+ Evidence=\useKV[ArbreCalcul]{Couleur};
+ CoulDepart=\useKV[ArbreCalcul]{CouleurDepart};
+
+ pair pointprec;
+
+ path base[];
+ base1=unitsquare xscaled \useKV[ArbreCalcul]{Largeur} yscaled \useKV[ArbreCalcul]{Hauteur};
+ base2=fullcircle scaled 5mm;
+ base3=unitsquare xscaled \useKV[ArbreCalcul]{LargeurC} yscaled \useKV[ArbreCalcul]{Hauteur};
+
+ vardef BlocCalcul(expr Ba,Bb,op,cha,chb)=%
+ % Ba point gauche
+ % Bb point droite
+ % op opération à afficher
+ etape:=etape+1;
+ save $;
+ picture $;
+ path cc[];
+ pair Bc;
+ Bc=(0.5*(xpart(Ba)+xpart(Bb)),if ypart(Bb)<ypart(Ba):ypart(Bb) else:ypart(Ba) fi -0.75u);
+ pointprec:=Bc+u*(0,-1.25);
+ $=image(
+ if Allume[numeropoint-1]=true:
+ cc1=base3 shifted (Ba-center base3);
+ else:
+ cc1=base1 shifted (Ba-center base1);
+ fi;
+ if Allume[numeropoint]=true:
+ cc2=base3 shifted (Bb-center base3);
+ else:
+ cc2=base1 shifted (Bb-center base1);
+ fi;
+ cc3=(fullcircle scaled 5mm) shifted Bc;
+ cc4=base3 shifted (pointprec-center base3);
+ if op="mul":
+ label(TEX("$\times$\MulFraction[Seul][3]{"&cha&"}{"&chb&"}[\ResultatMul]"),Bc);
+ ValeurPile[numeropoint-1]:="\ResultatMul";
+ elseif op="add":
+ label(TEX("$+$\AddFraction[Seul][3]{"&cha&"}{"&chb&"}[\ResultatAdd]"),Bc);
+ ValeurPile[numeropoint-1]:="\ResultatAdd";
+ elseif op="sub":
+ label(TEX("$\_$\SousFraction[Seul][3]{"&cha&"}{"&chb&"}[\ResultatSous]"),Bc);
+ ValeurPile[numeropoint-1]:="\ResultatSous";
+ elseif op="div":
+ label(TEX("$\div$\DivFraction[Seul][3]{"&cha&"}{"&chb&"}[\ResultatDiv]"),Bc);
+ ValeurPile[numeropoint-1]:="\ResultatDiv";
+ fi;
+ if Correction:
+ if etape<Etape+1:
+ fill cc4 withcolor Evidence;
+ label(TEX("$\displaystyle\tofrac{"&ValeurPile[numeropoint-1]&"}$"),pointprec);
+ fi;
+ fi;
+ for l=1 upto 4:
+ trace cc[l];
+ endfor;
+ draw (Ba--Bc) cutbefore cc1 cutafter cc3;
+ draw (Bb--Bc) cutbefore cc2 cutafter cc3;
+ draw (Bc--pointprec) cutbefore cc3 cutafter cc4;
+ );
+ $
+ enddef;
+
+ numeric Valeurs[];
+ string Valeursa[];
+
+ string Operations[];
+
+ numeric numeropoint;
+ numeropoint=0;
+
+ string ValeurPile[];
+
+ vardef RecupDonnees(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if numeric p_:
+ Valeurs[n]=p_;
+ Operations[n]="";
+ else:
+ Valeurs[n]=infinity;
+ Operations[n]=p_;
+ fi;
+ endfor;
+ n:=n+1;
+ Operations[n]="stop";
+ nbtotal=n;
+ for k=1 upto nbtotal:
+ ValeurPile[k]="0";
+ endfor;
+ enddef;
+
+ vardef RecupFractions(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Valeursa[n]=p_;
+ endfor;
+ enddef;
+
+ pair A[];
+ ecart=\useKV[ArbreCalcul]{Ecart};
+
+ RecupDonnees(#1);
+ RecupFractions(#2);
+
+ etape=0;
+ Etape=\useKV[ArbreCalcul]{Etape};
+
+ A[0]=(0,0);
+ k=0;
+ nbetape:=0;
+
+ for p_=#1:
+ k:=k+1;
+ if numeric p_:
+ numeropoint:=numeropoint+1;
+ if unknown A[numeropoint]:A[numeropoint]-A[numeropoint-1]=ecart*(1,0);Allume[numeropoint]=false; else:
+ A[numeropoint]:=A[numeropoint-1]+ecart*(1,0); Allume[numeropoint]:=false;
+ fi;
+ if Valeurs[k]=0:Valeursa[Valeurs[k]]:=\useKV[ArbreCalcul]{Fraction} fi;
+ if Operations[k+1]="neg":
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;
+ label(TEX("$\displaystyle\tofrac{"&-Valeursa[Valeurs[k]]&"}$"),A[numeropoint]);
+ else:
+ label(TEX("$\displaystyle\tofrac{"&-Valeursa[Valeurs[k]]&"}$"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=decimal(-Valeursa[Valeurs[k]]);
+ else:
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;
+ label(TEX("$\displaystyle\tofrac{"&Valeursa[Valeurs[k]]&"}$"),A[numeropoint]);
+ else:
+ label(TEX("$\displaystyle\tofrac{"&Valeursa[Valeurs[k]]&"}$"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=Valeursa[Valeurs[k]];
+ fi;
+ elseif string p_:
+ if p_<>"neg":
+ trace BlocCalcul(A[numeropoint-1],A[numeropoint],Operations[k],ValeurPile[numeropoint-1],ValeurPile[numeropoint]);
+ A[numeropoint-1]:=pointprec;
+ Allume[numeropoint-1]:=true;
+ numeropoint:=numeropoint-1;
+ fi;
+ fi;
+ endfor;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\BuildArbreCalculLitteral{mmm}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ boolean Correction,Allume[];
+ Correction=\useKV[ArbreCalcul]{Correction};
+
+ color Evidence,CoulDepart;
+ Evidence=\useKV[ArbreCalcul]{Couleur};
+ CoulDepart=\useKV[ArbreCalcul]{CouleurDepart};
+
+ pair pointprec;
+
+ path base[];
+ base1=unitsquare xscaled \useKV[ArbreCalcul]{Largeur} yscaled \useKV[ArbreCalcul]{Hauteur};
+ base2=fullcircle scaled 5mm;
+ base3=unitsquare xscaled \useKV[ArbreCalcul]{LargeurC} yscaled \useKV[ArbreCalcul]{Hauteur};
+
+ vardef BlocCalcul(expr Ba,Bb,op,cha,chb)=%
+ % Ba point gauche
+ % Bb point droite
+ % op opération à afficher
+ etape:=etape+1;
+ save $;
+ picture $;
+ path cc[];
+ pair Bc;
+ Bc=(0.5*(xpart(Ba)+xpart(Bb)),if ypart(Bb)<ypart(Ba):ypart(Bb) else:ypart(Ba) fi -0.75u);
+ pointprec:=Bc+u*(0,-1.25);
+ $=image(
+ if Allume[numeropoint-1]=true:
+ cc1=base3 shifted (Ba-center base3);
+ else:
+ cc1=base1 shifted (Ba-center base1);
+ fi;
+ if Allume[numeropoint]=true:
+ cc2=base3 shifted (Bb-center base3);
+ else:
+ cc2=base1 shifted (Bb-center base1);
+ fi;
+ cc3=(fullcircle scaled 5mm) shifted Bc;
+ cc4=base3 shifted (pointprec-center base3);
+ if op="mul":
+ label(TEX("$\times$"),Bc);
+ ValeurPile[numeropoint-1]:="";
+ elseif op="add":
+ label(TEX("$+$"),Bc);
+ ValeurPile[numeropoint-1]:="";
+ elseif op="sub":
+ label(TEX("$\_$"),Bc);
+ ValeurPile[numeropoint-1]:="";
+ elseif op="div":
+ label(TEX("$\div$"),Bc);
+ ValeurPile[numeropoint-1]:="";
+ fi;
+ if Correction:
+ if etape<Etape+1:
+ fill cc4 withcolor Evidence;
+ label(TEX("$"&Valeursc[etape]&"$"),pointprec);
+ fi;
+ fi;
+ for l=1 upto 4:
+ trace cc[l];
+ endfor;
+ draw (Ba--Bc) cutbefore cc1 cutafter cc3;
+ draw (Bb--Bc) cutbefore cc2 cutafter cc3;
+ draw (Bc--pointprec) cutbefore cc3 cutafter cc4;
+ );
+ $
+ enddef;
+
+ numeric Valeurs[];
+ string Valeursa[];
+ string Valeursc[];
+
+ string Operations[];
+
+ numeric numeropoint;
+ numeropoint=0;
+
+ string ValeurPile[];
+
+ vardef RecupDonnees(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if numeric p_:
+ Valeurs[n]=p_;
+ Operations[n]="";
+ else:
+ Valeurs[n]=infinity;
+ Operations[n]=p_;
+ fi;
+ endfor;
+ n:=n+1;
+ Operations[n]="stop";
+ nbtotal=n;
+ for k=1 upto nbtotal:
+ ValeurPile[k]="0";
+ endfor;
+ enddef;
+
+ vardef RecupFractions(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Valeursa[n]=p_;
+ endfor;
+ enddef;
+
+ vardef RecupCorrections(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Valeursc[n]=p_;
+ endfor;
+ enddef;
+
+ pair A[];
+ ecart=\useKV[ArbreCalcul]{Ecart};
+
+ RecupDonnees(#1);
+ RecupFractions(#2);
+ RecupCorrections(#3);
+
+ etape=0;
+ Etape=\useKV[ArbreCalcul]{Etape};
+
+ A[0]=(0,0);
+ k=0;
+ nbetape:=0;
+
+ for p_=#1:
+ k:=k+1;
+ if numeric p_:
+ numeropoint:=numeropoint+1;
+ if unknown A[numeropoint]:A[numeropoint]-A[numeropoint-1]=ecart*(1,0);Allume[numeropoint]=false; else:
+ A[numeropoint]:=A[numeropoint-1]+ecart*(1,0); Allume[numeropoint]:=false;
+ fi;
+ if Valeurs[k]=0:Valeursa[Valeurs[k]]:=\useKV[ArbreCalcul]{Lettre} fi;
+ if Operations[k+1]="neg":
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;
+ label(TEX("$"&-Valeursa[Valeurs[k]]&"$"),A[numeropoint]);
+ else:
+ label(TEX("$"&-Valeursa[Valeurs[k]]&"$"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=decimal(-Valeursa[Valeurs[k]]);
+ else:
+ if Valeurs[k]=0:fill (base1 shifted (A[numeropoint]-center base1)) withcolor CoulDepart;
+ label(TEX("$"&Valeursa[Valeurs[k]]&"$"),A[numeropoint]);
+ else:
+ label(TEX("$"&Valeursa[Valeurs[k]]&"$"),A[numeropoint]);
+ fi;
+ ValeurPile[numeropoint]:=Valeursa[Valeurs[k]];
+ fi;
+ elseif string p_:
+ if p_<>"neg":
+ trace BlocCalcul(A[numeropoint-1],A[numeropoint],Operations[k],ValeurPile[numeropoint-1],ValeurPile[numeropoint]);
+ A[numeropoint-1]:=pointprec;
+ Allume[numeropoint-1]:=true;
+ numeropoint:=numeropoint-1;
+ fi;
+ fi;
+ endfor;
+ \end{mplibcode}
+ \fi
+}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex b/macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex
index fdf037ef81..e3660cff1e 100644
--- a/macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCCalculsFractions.tex
@@ -1,4 +1,4 @@
-\setKVdefault[CalculsFractions]{Couleurs=false,Negatif=false}%
+\setKVdefault[CalculsFractions]{Couleurs=false,Negatif=false,Seul=false}%
\defKV[CalculsFractions]{Couleur=\setKV[CalculsFractions]{Couleurs}\setKV[ClesSimplification]{Couleur=#1}}%
\NewDocumentCommand\tofrac{m}{%
@@ -50,7 +50,7 @@
\xdef\PfCNumD{1}%
}{%
\StrCut{#5}{/}\PfCNumC\PfCNumD%
- }
+ }%
\xdef\PfCAddFoo{\PfCNumA/\PfCNumB,\PfCNumC/\PfCNumD}%
\setsepchar[*]{,*/}\ignoreemptyitems%
\readlist*\ListeFractions{\PfCAddFoo}%
@@ -69,6 +69,7 @@
\xdef\PfCAddDenoSimp{\fpeval{\PfCAddDenoFin/\PfCAddPgcd}}%
\xdef\PfCAddSumSimp{\PfCAddNumSimp/\PfCAddDenoSimp}%
\IfValueT{#6}{\xdef#6{\PfCAddSumSimp}}%
+ \ifboolKV[CalculsFractions]{Seul}{}{%
% Partie affichage
\ensuremath{%
\IfValueTF{#3}{%
@@ -103,6 +104,7 @@
}{\tofrac{#4}\PfCFractionOp\tofrac{#5}
}%
}%
+ }%
}%
\NewDocumentCommand\SousFraction{oommo}{%
@@ -127,17 +129,18 @@
\xdef\PfCMulFoo{\PfCNumA/\PfCNumB,\PfCNumC/\PfCNumD}%
\setsepchar[*]{,*/}\ignoreemptyitems%
\readlist*\ListeFractions{\PfCMulFoo}%
- \reademptyitems
+ \reademptyitems%
\setsepchar{,}%
% Calculs
- \xdef\PfCMulNumFin{\fpeval{(\ListeFractions[1,1])*(\ListeFractions[2,1])}}
- \xdef\PfCMulDenoFin{\fpeval{\ListeFractions[1,2]*\ListeFractions[2,2]}}
+ \xdef\PfCMulNumFin{\fpeval{(\ListeFractions[1,1])*(\ListeFractions[2,1])}}%
+ \xdef\PfCMulDenoFin{\fpeval{\ListeFractions[1,2]*\ListeFractions[2,2]}}%
\PGCD{\fpeval{abs(\PfCMulNumFin)}}{\fpeval{abs(\PfCMulDenoFin)}}\xdef\PfCMulPgcd{\pgcd}%
\xdef\PfCMulNumSimp{\fpeval{\PfCMulNumFin/\PfCMulPgcd}}%
\xdef\PfCMulDenoSimp{\fpeval{\PfCMulDenoFin/\PfCMulPgcd}}%
\xdef\PfCMulPdtSimp{\PfCMulNumSimp/\PfCMulDenoSimp}%
\IfValueT{#5}{\xdef#5{\PfCMulPdtSimp}}%
- \ensuremath{%
+ \ifboolKV[CalculsFractions]{Seul}{}{%
+ \ensuremath{%
\IfValueTF{#2}{%
\ifnum#2=3\relax
\ifboolKV[CalculsFractions]{Negatif}{%
@@ -154,7 +157,8 @@
\fi
\fi
}{\tofrac{#3}\times\tofrac{#4}
- }
+ }%
+ }%
}%
}%
@@ -186,6 +190,7 @@
\xdef\PfCDivDenoSimp{\fpeval{\PfCDivDenoFin/\PfCDivPgcd}}%
\xdef\PfCDivPdtSimp{\PfCDivNumSimp/\PfCDivDenoSimp}%
\IfValueT{#5}{\xdef#5{\PfCDivPdtSimp}}%
+ \ifboolKV[CalculsFractions]{Seul}{}{%
\ensuremath{%
\IfValueTF{#2}{%
\ifnum#2=4\relax
@@ -207,4 +212,5 @@
}{\tofrac{#3}\div\tofrac{#4}
}
}%
+ }%
}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCCartographie.tex b/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
index 2b5ef28fbc..e23001bbcc 100644
--- a/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
@@ -1,7 +1,7 @@
%%%
% Cartographie
%%%
-\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,VillesSupI=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2,ModeleCouleur=5,Boussole=false,Allegee=1}
+\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,VillesSupI=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2,ModeleCouleur=5,Boussole=false,Allegee=1,Maillage=false}
\defKV[Cartographie]{EchelleCarte=\setKV[Cartographie]{Carte}}
\defKV[Cartographie]{Pays=\setKV[Cartographie]{PaysSeul}}
\defKV[Cartographie]{Villes=\setKV[Cartographie]{VillesSup}}
@@ -13,8 +13,8 @@
\useKVdefault[Cartographie]%
\setKV[Cartographie]{#1}%
\mplibforcehmode%
+ \mplibnumbersystem{double}%
\ifboolKV[Cartographie]{Projection}{%
- \mplibnumbersystem{double}%
\begin{mplibcode}
input PfCMonde;
string arborescence;
@@ -217,9 +217,8 @@
Villes(\useKV[Cartographie]{VillesI});
fi;
\end{mplibcode}
- \mplibnumbersystem{scaled}%
}{%
-% \mplibforcehmode
+ % \mplibforcehmode
\begin{mplibcode}
input PfCMonde;
@@ -253,9 +252,11 @@
fi;
else:
couleurfond:=\useKV[Cartographie]{CouleurFond};
+ color couleurimpression;
+ couleurimpression:=Cornsilk;
if Impression:
noncolore:=true;
- payscolor:=0.85white;
+ payscolor:=couleurimpression;%0.85white
couleurfond:=white;
couleurfleuve:=couleurfond;
fi;
@@ -314,8 +315,7 @@
elseif t=8:lrt
fi
enddef;
-
-
+
if Carte:
Echelle:=\useKV[Cartographie]{AfficheEchelle};
figure(-0.5u*LargeurCadre,-0.5u*HauteurCadre,0.5u*LargeurCadre,0.5u*HauteurCadre);
@@ -365,11 +365,53 @@
fi;
else:
- draw(0,0)--(50,50);
- mappemonde(#2,#3);
+ boolean maillagecoord;
+ maillagecoord=\useKV[Cartographie]{Maillage};
+ if VillesSupI:
+ lacs:=false;
+ fi;
+
+ mappemonde(#2,#3);
+
+ vardef Villes(text t)=
+ pair CoordVille;
+ string NomVille;
+ n:=0;
+ for p_:=t:
+ n:=n+1;
+ if n=1:
+ %nblec:=p;
+ else:
+ if pair p_:
+ CoordVille:=Projgeo(rayon*(cosd(ypart(p_))*cosd(xpart(p_)),cosd(ypart(p_))*sind(xpart(p_)),sind(ypart(p_))));
+ elseif string p_:
+ NomVille:=p_;
+ else:
+ marque_p:="croix";
+ pointe(CoordVille);
+ label.position(p_)(TEX(""&NomVille&""),CoordVille);
+ fi;
+ fi;
+ endfor;
+ drawoptions();
+ enddef;
+
+
+ if Codes:
+ \useKV[Cartographie]{Traces};
+ fi;
+ if VillesSupI:
+ Villes(\useKV[Cartographie]{VillesI});
+ label.ulft(TEX("\tiny\ang{0}"),Projgeo(rayon*(1,0,0)));
+ label.ulft(TEX("\tiny\ang{10}"),Projgeo(rayon*(cosd(10),0,sind(10))));
+ fill (fullcircle scaled 0.75mm) shifted Projgeo(rayon*(cosd(10),0,sind(10)));
+ label.llft(TEX("\tiny\ang{10}"),Projgeo(rayon*(cosd(10),sind(10),0)));
+ fill (fullcircle scaled 0.75mm) shifted Projgeo(rayon*(cosd(10),sind(10),0));
+ fi;
fi;
\end{mplibcode}
}
+ \mplibnumbersystem{scaled}%
\else
\PackageWarning{ProfCollege}{"La commande Cartographie n'est compatible qu'avec LuaLaTeX."}
\fi
diff --git a/macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex b/macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
index 6fc7a94593..f39b93ea46 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEcrireunQCM.tex
@@ -1,7 +1,7 @@
%%%
% QCM
%%%
-\setKVdefault[ClesQCM]{Reponses=3,Solution=false,Stretch=1,Largeur=60pt,Couleur=gray!15,Titre=false,Nom=R\'eponse,NomV=Vrai,NomF=Faux,Alph=false,AlphT=false,VF=false,Depart=1,Alterne=false,Noms={A/B/C},Multiple=false,Parties={Yeux,Nez,Bouche},CouleurAlt=gray!15,Seul=false}%
+\setKVdefault[ClesQCM]{Reponses=3,Solution=false,Stretch=1,Largeur=60pt,Couleur=gray!15,Titre=false,Nom=R\'eponse,NomV=Vrai,NomF=Faux,Alph=false,AlphT=false,VF=false,Depart=1,Alterne=false,Noms={A/B/C},Multiple=false,Parties={Yeux,Nez,Bouche},CouleurAlt=gray!15,Seul=false,ACompleter=false}%
\newlength{\LargeurQCM}%
\newlength{\PfCLargeurQCM}%
\newcounter{QuestionQCM}%
@@ -12,6 +12,8 @@
\setcounter{TotalQCMSeul}{0}%
\setcounter{TotalQCMSeulSol}{0}%
%
+\def\PfCTexteReponseEleve{Ma réponse}%
+%
\setKVdefault[QCMSeul]{Melange=false,Solution=false,EnColonne=false,LabelLettre=false}%
\defKV[QCMSeul]{Colonnes=\setKV[QCMSeul]{EnColonne}}%
%
@@ -90,150 +92,162 @@
%
\ifdef{\QCM}{%
\PackageWarning{ProfCollege}{La commande \noexpand\QCM étant définie par la classe du document, ProfCollege modifie sa commande \noexpand\QCM en \noexpand\QCMPfC.}%
- \newcommand\QCMPfC[2][]{%
- \useKVdefault[ClesQCM]%
- \setKV[ClesQCM]{#1}%
- \ifboolKV[ClesQCM]{Seul}{%
- \QCMSeul[#1]{#2}%
+\newcommand\QCMPfC[2][]{%
+ \useKVdefault[ClesQCM]%
+ \setKV[ClesQCM]{#1}%
+ \ifboolKV[ClesQCM]{Seul}{%
+ \QCMSeul[#1]{#2}%
+ }{%
+ \colorlet{PfCCouleurAlterneQCM}{\useKV[ClesQCM]{CouleurAlt}}%
+ \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
+ \setcounter{TitreQCM}{0}
+ \setsepchar[*]{,*&}\ignoreemptyitems%
+ \readlist*\ListeQCM{#2}%
+ \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
+ \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
+ \ifboolKV[ClesQCM]{Multiple}{%
+ \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
+ \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
+ \setsepchar[*]{/}%
+ \readlist*\ListeNomsMul{\ListeNom}%
+ \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
+ \cline{2-\NBcases}%
+ \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ListeNomsMul[##2]}%
+ \\
+ \hline%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
+ \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
+ }\\
+ }%
+ \hline%
+ \end{tabular}%
+ \renewcommand{\arraystretch}{1}%
}{%
- \colorlet{PfCCouleurAlterneQCM}{\useKV[ClesQCM]{CouleurAlt}}%
- \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
- \setcounter{TitreQCM}{0}
- \setsepchar[*]{,*&}\ignoreemptyitems%
- \readlist*\ListeQCM{#2}%
- \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \ifboolKV[ClesQCM]{Multiple}{%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
- \setsepchar[*]{/}%
- \readlist*\ListeNomsMul{\ListeNom}%
+ \ifboolKV[ClesQCM]{VF}{%
+ \setKV[ClesQCM]{Reponses=2}%
+ \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
+ \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
+ \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
\begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ListeNomsMul[##2]}%
- \\
+ \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
\hline%
\xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
\stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
+ }\\
}%
\hline%
- \end{tabular}%
- \renewcommand{\arraystretch}{1}%
+ \end{tabular}
}{%
- \ifboolKV[ClesQCM]{VF}{%
- \setKV[ClesQCM]{Reponses=2}%
- % \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
- \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \cline{2-\NBcases}%
- \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
- }%
- \hline%
- \end{tabular}
+ \ifboolKV[ClesQCM]{ACompleter}{%
+ \xdef\PfCTotalCases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
}{%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-2*\tabcolsep-\useKV[ClesQCM]{Reponses}*(2*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}%
- \\
- }{}
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\PfCSolCellColor{##1}{##2}}{}\ListeQCM[##1,##2+1]%
- }\\
- }%
- \hline%
- \end{tabular}%
+ \xdef\PfCTotalCases{\useKV[ClesQCM]{Reponses}}%
}%
+ \setlength{\LargeurQCM}{\fpeval{(\linewidth-2*\tabcolsep-\PfCTotalCases*(2*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
+ \xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}%
+ \begin{tabular}{|p{\LargeurQCM}|*{\PfCTotalCases}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
+ % \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
+ \ifboolKV[ClesQCM]{Titre}{\cline{2-\fpeval{\PfCTotalCases+1}}%
+ \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}\ifnum\fpeval{\PfCTotalCases-\useKV[ClesQCM]{Reponses}}>0\relax\uppercase{&}\PfCTexteReponseEleve\fi%
+ \\
+ }{}%
+ \hline%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
+ \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\PfCSolCellColor{##1}{##2}}{}\ListeQCM[##1,\fpeval{##2+1}]
+ }\ifnum\fpeval{\PfCTotalCases-\useKV[ClesQCM]{Reponses}}>0\relax\uppercase{&}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\fi\\
+ }%
+ \hline%
+ \end{tabular}%
}%
- \renewcommand{\arraystretch}{1}%
}%
+ \renewcommand{\arraystretch}{1}%
}%
+}%
}{%
- \newcommand\QCM[2][]{%
- \useKVdefault[ClesQCM]%
- \setKV[ClesQCM]{#1}%
- \ifboolKV[ClesQCM]{Seul}{%
- \QCMSeul[#1]{#2}%
+\newcommand\QCM[2][]{%
+ \useKVdefault[ClesQCM]%
+ \setKV[ClesQCM]{#1}%
+ \ifboolKV[ClesQCM]{Seul}{%
+ \QCMSeul[#1]{#2}%
+ }{%
+ \colorlet{PfCCouleurAlterneQCM}{\useKV[ClesQCM]{CouleurAlt}}%
+ \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
+ \setcounter{TitreQCM}{0}
+ \setsepchar[*]{,*&}\ignoreemptyitems%
+ \readlist*\ListeQCM{#2}%
+ \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
+ \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
+ \ifboolKV[ClesQCM]{Multiple}{%
+ \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
+ \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
+ \setsepchar[*]{/}%
+ \readlist*\ListeNomsMul{\ListeNom}%
+ \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
+ \cline{2-\NBcases}%
+ \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ListeNomsMul[##2]}%
+ \\
+ \hline%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
+ \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
+ }\\
+ }%
+ \hline%
+ \end{tabular}%
+ \renewcommand{\arraystretch}{1}%
}{%
- \colorlet{PfCCouleurAlterneQCM}{\useKV[ClesQCM]{CouleurAlt}}%
- \setcounter{QuestionQCM}{\fpeval{\useKV[ClesQCM]{Depart}-1}}%
- \setcounter{TitreQCM}{0}
- \setsepchar[*]{,*&}\ignoreemptyitems%
- \readlist*\ListeQCM{#2}%
- \renewcommand{\arraystretch}{\useKV[ClesQCM]{Stretch}}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \ifboolKV[ClesQCM]{Multiple}{%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-\useKV[ClesQCM]{Reponses}*(3*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\ListeNom{\useKV[ClesQCM]{Noms}}%
- \setsepchar[*]{/}%
- \readlist*\ListeNomsMul{\ListeNom}%
+ \ifboolKV[ClesQCM]{VF}{%
+ \setKV[ClesQCM]{Reponses=2}%
+ \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
+ \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
+ \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
\begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ListeNomsMul[##2]}%
- \\
+ \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
\hline%
\xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
\stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{\ListeQCM[##1,\fpeval{##2+1}]==1}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
+ }\\
}%
\hline%
- \end{tabular}%
- \renewcommand{\arraystretch}{1}%
+ \end{tabular}
}{%
- \ifboolKV[ClesQCM]{VF}{%
- \setKV[ClesQCM]{Reponses=2}%
- \setlength{\PfCLargeurQCM}{\useKV[ClesQCM]{Largeur}}%
- \setlength{\LargeurQCM}{\linewidth-6\tabcolsep-2\PfCLargeurQCM-4\arrayrulewidth}%
- \xdef\NBcases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \cline{2-\NBcases}%
- \multicolumn{1}{c|}{}&\useKV[ClesQCM]{NomV}&\useKV[ClesQCM]{NomF}\\
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\xintifboolexpr{##2==\ListeQCM[##1,2]}{$\boxtimes$}{$\square$}}{$\square$}%
- }\\
- }%
- \hline%
- \end{tabular}
+ \ifboolKV[ClesQCM]{ACompleter}{%
+ \xdef\PfCTotalCases{\fpeval{\useKV[ClesQCM]{Reponses}+1}}%
}{%
- \setlength{\LargeurQCM}{\fpeval{(\linewidth-2*\tabcolsep-\useKV[ClesQCM]{Reponses}*(2*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
- \xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}%
- \begin{tabular}{|p{\LargeurQCM}|*{\useKV[ClesQCM]{Reponses}}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
- \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
- \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}%
- \\
- }{}%
- \hline%
- \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
- \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
- &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\PfCSolCellColor{##1}{##2}}{}\ListeQCM[##1,\fpeval{##2+1}]%
- }\\
- }%
- \hline%
- \end{tabular}%
+ \xdef\PfCTotalCases{\useKV[ClesQCM]{Reponses}}%
}%
+ \setlength{\LargeurQCM}{\fpeval{(\linewidth-2*\tabcolsep-\PfCTotalCases*(2*\tabcolsep+\useKV[ClesQCM]{Largeur}))}pt}%
+ \xdef\NumeroReponse{\fpeval{\useKV[ClesQCM]{Reponses}+2}}%
+ \begin{tabular}{|p{\LargeurQCM}|*{\PfCTotalCases}{>{\centering\arraybackslash}p{\useKV[ClesQCM]{Largeur}}|}}%
+ % \ifboolKV[ClesQCM]{Titre}{\cline{2-\NBcases}%
+ \ifboolKV[ClesQCM]{Titre}{\cline{2-\fpeval{\PfCTotalCases+1}}%
+ \multicolumn{1}{c|}{}\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\stepcounter{TitreQCM}\useKV[ClesQCM]{Nom} \ifboolKV[ClesQCM]{AlphT}{\Alph{TitreQCM}}{##2}}\ifnum\fpeval{\PfCTotalCases-\useKV[ClesQCM]{Reponses}}>0\relax\uppercase{&}\PfCTexteReponseEleve\fi%
+ \\
+ }{}%
+ \hline%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeQCMlen}}\do{%
+ \stepcounter{QuestionQCM}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Alph}{\textbf{\Alph{QuestionQCM}}/}{\textbf{\theQuestionQCM/}}~\ListeQCM[##1,1]\xintFor* ##2 in {\xintSeq {1}{\useKV[ClesQCM]{Reponses}}}\do{%
+ &\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\ifboolKV[ClesQCM]{Solution}{\PfCSolCellColor{##1}{##2}}{}\ListeQCM[##1,\fpeval{##2+1}]
+ }\ifnum\fpeval{\PfCTotalCases-\useKV[ClesQCM]{Reponses}}>0\relax\uppercase{&}\ifboolKV[ClesQCM]{Alterne}{\modulo{\theQuestionQCM}{2}\ifnum\remainder=0\cellcolor{PfCCouleurAlterneQCM}\fi}{}\fi\\
+ }%
+ \hline%
+ \end{tabular}%
}%
- \renewcommand{\arraystretch}{1}%
}%
+ \renewcommand{\arraystretch}{1}%
}%
}%
+}%
\NewDocumentCommand\PfCSolCellColor{mm}{%
\xdef\PfCFooSolColor{\ListeQCM[#1,\NumeroReponse]}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex b/macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
index df5743e439..fc1674d37f 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEngrenagesBase.tex
@@ -4,25 +4,27 @@
\newtoks\tokPfCEngrenages%
\def\UpdatetoksEngrenages#1/#2\nil{\addtotok\tokPfCEngrenages{#1,#2,}}%
-\setKVdefault[Engrenages]{Couleur=LightSteelBlue,Unite=3mm,ListeCouleurs={LightSteelBlue}}
+\setKVdefault[Engrenages]{Couleur=LightSteelBlue,Unite=3mm,ListeCouleurs={?}}%
+%\defKV[Engrenages]{Couleur=\setKV[Engrenages]{ListeCouleurs=#1}}%
\NewDocumentCommand\Engrenages{o m}{%
\newtoks\toklistecouleur%
\toklistecouleur{}%
- \tokPfCEngrenages{}
+ \tokPfCEngrenages{}%
\useKVdefault[Engrenages]%
\setKV[Engrenages]{#1}%
\setsepchar[*]{,*/}%
\ignoreemptyitems
\readlist*\ListePfCEngrenages{#2}%
- \setsepchar{,}
- \xdef\PfCFooEngrenages{}
+ \setsepchar{,}%
+ \xdef\PfCFooEngrenages{}%
\foreachitem\compteur\in\ListePfCEngrenages{%
\xdef\PfCFooEngrenages{\PfCFooEngrenages \ListePfCEngrenages[\compteurcnt,1],\ListePfCEngrenages[\compteurcnt,2],}%
}%
\xdef\ListeAvantCouleurs{\useKV[Engrenages]{ListeCouleurs}}%
\readlist*\ListeCouleur{\ListeAvantCouleurs}%
\foreachitem\couleur\in\ListeCouleur{\expandafter\UpdateCoul\couleur\nil}%
+ %\setKV[Engrenages]{Couleurs=\ListeCouleur[1]}%
\BuildEngrenages{\PfCFooEngrenages}{\the\toklistecouleur}%
}%
@@ -102,19 +104,19 @@
fi;
endfor;
);
-}
+}%
\NewDocumentCommand\BuildEngrenages{mm}{%
- \ifluatex
- \mplibforcehmode
- \begin{mplibcode}
+ \ifluatex%
+ \mplibforcehmode%
+ \begin{mplibcode}%
input PfCEngrenages;
\BuildEngrenagesCode{#1}{#2}
trace EngrenageFinal;
- \end{mplibcode}
- \else
+ \end{mplibcode}%
+ \else%
\begin{mpost}[mpsettings={input PfCEngrenages;\BuildEngrenagesCode{#1}{#2}}]
trace EngrenageFinal;
- \end{mpost}
- \fi
+ \end{mpost}%
+ \fi%
}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex b/macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex
index 77c683b148..5b95ddb02e 100644
--- a/macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCFonctionAffine.tex
@@ -58,24 +58,30 @@
}%
}{%
\ifboolKV[ClesAffine]{Retrouve}{%
- On sait que $\useKV[ClesAffine]{Nom}$ est une fonction affine. Donc elle s'\'ecrit sous la forme : \[\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\useKV[ClesAffine]{CoefDir}\useKV[ClesAffine]{Variable}+\useKV[ClesAffine]{OrdoOrig}\]
- Or, $\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}$ et $\useKV[ClesAffine]{Nom}(\num{#4})=\num{#5}$. Par cons\'equent, d'apr\`es la propri\'et\'e des accroissements :
+ \xdef\OrdOrigine{\fpeval{#3-(#3-#5)*#2/(#2-#4)}}%%
+ On sait que $\useKV[ClesAffine]{Nom}$ est une fonction affine. Donc elle s'\'ecrit sous la forme : \[\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\useKV[ClesAffine]{CoefDir}\useKV[ClesAffine]{Variable}+\useKV[ClesAffine]{OrdoOrig}.\]
+ Or, $\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}$ et $\useKV[ClesAffine]{Nom}(\num{#4})=\num{#5}$. \ifnum\fpeval{#3-#5}=0
+ Les images de \num{#2} et \num{#4} sont égales à \num{#3}. La fonction affine cherchée est donc constante et s'écrit :
+ \[\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\num{\OrdOrigine}.\]
+ \else
+ Par cons\'equent, d'apr\`es la propri\'et\'e des accroissements :
\begin{align*}
\useKV[ClesAffine]{CoefDir}&=\frac{\useKV[ClesAffine]{Nom}(\num{#2})-\useKV[ClesAffine]{Nom}(\num{#4})}{\num{#2}-\xintifboolexpr{#4<0}{(\num{#4})}{\num{#4}}}\\
\useKV[ClesAffine]{CoefDir}&=\frac{\num{#3}-\xintifboolexpr{#5<0}{(\num{#5})}{\num{#5}}}{\num{\fpeval{#2-#4}}}\\
\useKV[ClesAffine]{CoefDir}&=\frac{\num{\fpeval{#3-#5}}}{\num{\fpeval{#2-#4}}}%\\
\SSimpliTest{\fpeval{#3-#5}}{\fpeval{#2-#4}}\ifthenelse{\boolean{Simplification}}{\\\useKV[ClesAffine]{CoefDir}&=\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}}{}%
\end{align*}
- La fonction $\useKV[ClesAffine]{Nom}$ s'\'ecrit alors sous la forme $\displaystyle\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}+\useKV[ClesAffine]{OrdoOrig}$.
+ \def\PfCQuotientAffine{\fpeval{(#3-#5)/(#2-#4)}}%
+ La fonction $\useKV[ClesAffine]{Nom}$ s'\'ecrit alors sous la forme $\displaystyle\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\ifnum\fpeval{abs(\PfCQuotientAffine)}=1\relax\Affichage[Lettre={\useKV[ClesAffine]{Variable}}]{0}{\PfCQuotientAffine}{0}\else\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}\fi+\useKV[ClesAffine]{OrdoOrig}$.
\\De plus, comme $\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}$, alors :
\begin{align*}
- \SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\times\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}+\useKV[ClesAffine]{OrdoOrig}&=\num{#3}\\
+ \ifnum\PfCQuotientAffine=1\relax\else\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\times\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}+\useKV[ClesAffine]{OrdoOrig}\uppercase{&}=\num{#3}\\\fi
\SSimplifie{\fpeval{(#3-#5)*#2}}{\fpeval{#2-#4}}+\useKV[ClesAffine]{OrdoOrig}&=\num{#3}\\
\useKV[ClesAffine]{OrdoOrig}&=\num{\fpeval{#3-(#3-#5)*#2/(#2-#4)}}
\end{align*}
- \xdef\OrdOrigine{\fpeval{#3-(#3-#5)*#2/(#2-#4)}}
La fonction affine $\useKV[ClesAffine]{Nom}$ cherch\'ee est :
- \[\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}\xintifboolexpr{\OrdOrigine==0}{}{\xintifboolexpr{\OrdOrigine>0}{+\num{\OrdOrigine}}{-\num{\fpeval{0-\OrdOrigine}}}}\]
+ \[\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\ifnum\fpeval{abs(\PfCQuotientAffine)}=1\relax\Affichage[Lettre={\useKV[ClesAffine]{Variable}}]{0}{\PfCQuotientAffine}{\OrdOrigine}\else\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}\xintifboolexpr{\OrdOrigine==0}{}{\xintifboolexpr{\OrdOrigine>0}{+\num{\OrdOrigine}}{-\num{\fpeval{0-\OrdOrigine}}}}\fi.\]
+ \fi
}{%
%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCInfixRPN.sty b/macros/latex/contrib/profcollege/latex/PfCInfixRPN.sty
new file mode 100644
index 0000000000..a0851a5dd5
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCInfixRPN.sty
@@ -0,0 +1,538 @@
+%%
+%% This is file `infix-RPN.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `infix-RPN.tex'
+%%
+%% Main code:
+%% Jean-Côme Charpentier <jean-come.charpentier@wanadoo.fr>
+%%
+%% Contributions by
+%% Christophe Jorssen <christophe.jorssen@libre.fr.invalid>
+%% `libre' is the french word for `free' :-)
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory CTAN:/macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `infix-RPN' is a package to convert infix expressions to
+%% Reverse Polish Notation
+%%
+%%
+\def\RCS$#1: #2 ${\expandafter\def\csname RCS#1\endcsname{#2}}
+\RCS$Revision: 1.7 $
+\RCS$Date: 2004-07-06 23:41:52+02 $
+
+\def\fileversion{0.11}
+\csname infixRPNLoaded\endcsname
+\let\infixRPNLoaded\endinput
+\message{`infix-RPN' v\fileversion\space (Rev \RCSRevision, \RCSDate), J.-C.Charpentier/C.Jorssen}
+
+\edef\PfCopAtCode{\the\catcode`\@}
+\edef\PfCopHatCode{\the\catcode`\^}
+\edef\PfCopUnderscoreCode{\the\catcode`\_}
+\catcode`\@=11\relax
+\catcode`\^=12\relax
+\catcode`\_=11\relax
+
+\def\s@pow{exp}
+\def\s@lpar{(}
+\def\s@rpar{)}
+\def\s@comma{,}
+
+\def\DeclareNewPSOperator{%
+ \bgroup
+ \catcode`\_=11\relax
+ \DeclareNewPSOperator@i
+}
+
+\def\DeclareNewPSOperator@i#1{%
+ \expandafter\ifx\csname PS@operator@list\endcsname\relax
+ \gdef\PS@operator@list{#1}%
+ \else
+ \xdef\PS@operator@list{#1,\PS@operator@list}%
+ \fi
+ \expandafter\gdef\csname s@#1\endcsname{#1}%
+ \egroup
+}
+
+\DeclareNewPSOperator{add}
+\DeclareNewPSOperator{sub}
+\DeclareNewPSOperator{mul}
+\DeclareNewPSOperator{div}
+\DeclareNewPSOperator{exp}
+\DeclareNewPSOperator{abs}
+\DeclareNewPSOperator{sin}
+\DeclareNewPSOperator{cos}
+\DeclareNewPSOperator{atan}
+\DeclareNewPSOperator{neg}
+\DeclareNewPSOperator{ceiling}
+\DeclareNewPSOperator{floor}
+\DeclareNewPSOperator{truncate}
+\DeclareNewPSOperator{sqrt}
+\DeclareNewPSOperator{ln}
+\DeclareNewPSOperator{log}
+
+
+\newcount\@parenthesis
+\newcount\token@cpt
+\newif\if@begin@token
+\newif\if@in@number
+\newif\if@in@decimal
+\newif\if@in@name
+\newif\if@sign
+\def\@tokencreate#1{%
+ \expandafter\xdef\csname PfCop@token\the\token@cpt\endcsname{#1}%
+ \global\advance\token@cpt\@ne
+ \expandafter\global
+ \expandafter\let\csname PfCop@token\the\token@cpt\endcsname\relax
+ \global\advance\token@cpt\m@ne
+}
+\def\@tokenappend#1{%
+ \expandafter\xdef\csname PfCop@token\the\token@cpt\endcsname
+ {\csname PfCop@token\the\token@cpt\endcsname#1}%
+}
+\def\@tokensingle#1{%
+ \edef\@arg{#1}%
+ \if@in@name
+ \global\advance\token@cpt\@ne
+ \@in@namefalse
+ \fi
+ \if@in@number
+ \global\advance\token@cpt\@ne
+ \@in@numberfalse
+ \@in@decimalfalse
+ \fi
+ \ifx\@arg\s@add
+ \if@sign
+ % ignore + sign
+ \global\advance\token@cpt\m@ne
+ \else
+ \@tokencreate{#1}%
+ \fi
+ \else\ifx\@arg\s@sub
+ \if@sign
+ \@tokencreate{\s@neg}%
+ \else
+ \@tokencreate{#1}%
+ \fi
+ \else
+ \@tokencreate{#1}%
+ \fi\fi
+ \global\advance\token@cpt\@ne
+}
+\def\@tokenuse#1{%
+ \expandafter\ifx\csname PfCop@token#1\endcsname\s@comma%
+ \else
+ \xdef\RPN{\RPN\space\csname PfCop@token#1\endcsname}%
+ \fi
+}
+
+\let\endscanline\relax
+\def\scan@line{%
+ \begingroup
+ \catcode`\ =12
+ \@parenthesis=\z@
+ \@in@numberfalse
+ \@in@decimalfalse
+ \@in@namefalse
+ \global\token@cpt=\@ne
+ \global\@signtrue
+ \scan@@line
+}
+\def\scan@@line#1{\scan@@@line#1\endscanline\endgroup}
+\def\scan@@@line#1#2\endscanline{%
+ \PfCop@testchar{#1}%
+ \ifPfCop@isdigit
+ \global\@signfalse
+ \if@in@number
+ \@tokenappend{#1}%
+ \else \if@in@name
+ \@in@namefalse
+ \@in@numbertrue
+ \@tokenappend{#1}%
+ \else
+ \@in@numbertrue
+ \@tokencreate{#1}%
+ \fi\fi
+ \fi
+ \ifPfCop@isplus
+ \@tokensingle{\s@add}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@isminus
+ \@tokensingle{\s@sub}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@ismultiply
+ \@tokensingle{\s@mul}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@isdivide
+ \@tokensingle{\s@div}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@ispower
+ \@tokensingle{\s@pow}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@isdecimalsep
+ \global\@signfalse
+ \if@in@decimal
+ \errmessage{Syntax error: number with multiple separators!}%
+ \else \if@in@number
+ \@in@decimaltrue
+ \@tokenappend{.}%
+ \else
+ \@tokencreate{.}%
+ \@in@numbertrue
+ \@in@decimaltrue
+ \fi\fi
+ \fi
+ \ifPfCop@iscomma
+ \@tokensingle{,}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@islparenthesis
+ \@tokensingle{(}%
+ \global\@signtrue
+ \fi
+ \ifPfCop@isrparenthesis
+ \global\@signfalse
+ \@tokensingle{)}%
+ \fi
+ \ifPfCop@isspace
+ \if@in@number
+ \@in@numberfalse
+ \@in@decimalfalse
+ \global\advance\token@cpt\@ne
+ \else \if@in@name
+ \@in@namefalse
+ \global\advance\token@cpt\@ne
+ \fi\fi
+ \fi
+ \ifPfCop@isother
+ \global\@signfalse
+ \if@in@name
+ \@tokenappend{#1}%
+ \else \if@in@number
+ \@in@numberfalse
+ \@in@decimalfalse
+ \@in@nametrue
+ \@tokenappend{#1}%
+ \else
+ \@in@nametrue
+ \@tokencreate{#1}%
+ \fi\fi
+ \fi
+ \def\arg{#2}%
+ \ifx\empty\arg
+ \let\next\relax
+ \else
+ \let\next\scan@@@line
+ \fi
+ \expandafter\next\arg\endscanline
+}
+\count255=`\0 \edef\PfCop@numbegin{\the\count255}
+\count255=`\9 \edef\PfCop@numend{\the\count255}
+\count255=`\+ \edef\PfCop@plus{\the\count255}
+\count255=`\- \edef\PfCop@minus{\the\count255}
+\count255=`\* \edef\PfCop@multiply{\the\count255}
+\count255=`\/ \edef\PfCop@divide{\the\count255}
+\count255=`\^ \edef\PfCop@power{\the\count255}
+\count255=`\. \edef\PfCop@dot{\the\count255}
+\count255=`\, \edef\PfCop@comma{\the\count255}
+\count255=`\( \edef\PfCop@lparenthesis{\the\count255}
+\count255=`\) \edef\PfCop@rparenthesis{\the\count255}
+\edef\PfCop@space{32}
+\newif\ifPfCop@isdigit
+\newif\ifPfCop@isplus
+\newif\ifPfCop@isminus
+\newif\ifPfCop@ismultiply
+\newif\ifPfCop@isdivide
+\newif\ifPfCop@ispower
+\newif\ifPfCop@isdecimalsep
+\newif\ifPfCop@iscomma
+\newif\ifPfCop@islparenthesis
+\newif\ifPfCop@isrparenthesis
+\newif\ifPfCop@isspace
+\newif\ifPfCop@isother
+\def\PfCop@testchar#1{%
+ \PfCop@isdigitfalse
+ \PfCop@isplusfalse
+ \PfCop@isminusfalse
+ \PfCop@ismultiplyfalse
+ \PfCop@isdividefalse
+ \PfCop@ispowerfalse
+ \PfCop@isdecimalsepfalse
+ \PfCop@iscommafalse
+ \PfCop@islparenthesisfalse
+ \PfCop@isrparenthesisfalse
+ \PfCop@isspacefalse
+ \PfCop@isotherfalse
+ \count255=`#1\relax
+ \ifnum\count255=\PfCop@plus \relax
+ \PfCop@isplustrue
+ \else \ifnum\count255=\PfCop@minus \relax
+ \PfCop@isminustrue
+ \else \ifnum\count255=\PfCop@multiply \relax
+ \PfCop@ismultiplytrue
+ \else \ifnum\count255=\PfCop@divide \relax
+ \PfCop@isdividetrue
+ \else \ifnum\count255=\PfCop@power \relax
+ \PfCop@ispowertrue
+ \else \ifnum\count255=\PfCop@dot \relax
+ \PfCop@isdecimalseptrue
+ \else \ifnum\count255=\PfCop@comma \relax
+ \PfCop@iscommatrue
+ \else \ifnum\count255=\PfCop@lparenthesis \relax
+ \PfCop@islparenthesistrue
+ \else \ifnum\count255=\PfCop@rparenthesis \relax
+ \PfCop@isrparenthesistrue
+ \else \ifnum\count255=\PfCop@space \relax
+ \PfCop@isspacetrue
+ \else \ifnum\count255<\PfCop@numbegin \relax
+ \PfCop@isothertrue
+ \else \ifnum\count255>\PfCop@numend \relax
+ \PfCop@isothertrue
+ \else \PfCop@isdigittrue
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+}
+
+\def\search@term#1#2{%
+ \begingroup
+ \count1=#1\relax
+ \count255=#2\relax
+ \ifnum\count1=\count255
+ \@tokenuse{#1}%
+ \else
+ \count5=\count255
+ \count7=\count1
+ \advance\count7\m@ne
+ \count3=\z@
+ \loop
+ \ifnum\count5>\count7
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@rpar\relax
+ \advance\@parenthesis\@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@lpar\relax
+ \advance\@parenthesis\m@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@add\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@sub\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@comma\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \advance\count5\m@ne
+ \repeat
+ \ifnum\count3=\z@
+ \ifnum\@parenthesis=\z@
+ \search@factor{\the\count1}{\the\count255}%
+ \else
+ \errmessage{Syntax error: unbalanced parenthesis!}%
+ \fi
+ \else
+ \advance\count3\m@ne
+ \search@term{\the\count1}{\the\count3}%
+ \advance\count3\tw@
+ \search@term{\the\count3}{\the\count255}%
+ \advance\count3\m@ne
+ \@tokenuse{\the\count3}%
+ \fi
+ \fi
+ \endgroup
+}
+\def\search@factor#1#2{%
+ \begingroup
+ \count1=#1\relax
+ \count255=#2\relax
+ \ifnum\count1=\count255
+ \@tokenuse{\the\count1}%
+ \else
+ \count5=\count255
+ \count7=\count1
+ \advance\count7\m@ne
+ \count3=\z@
+ \loop
+ \ifnum\count5>\count7
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@rpar\relax
+ \advance\@parenthesis\@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@lpar\relax
+ \advance\@parenthesis\m@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@mul\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@div\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \advance\count5\m@ne
+ \repeat
+ \ifnum\count3=\z@
+ \ifnum\@parenthesis=\z@
+ \search@power{\the\count1}{\the\count255}%
+ \else
+ \errmessage{! Syntax error: unbalanced parenthesis}%
+ \fi
+ \else
+ \advance\count3\m@ne
+ \search@factor{\the\count1}{\the\count3}%
+ \advance\count3\tw@
+ \search@factor{\the\count3}{\the\count255}%
+ \advance\count3\m@ne
+ \@tokenuse{\the\count3}%
+ \fi
+ \fi
+ \endgroup
+}
+\def\search@power#1#2{%
+ \begingroup
+ \count1=#1\relax
+ \count255=#2\relax
+ \ifnum\count1=\count255
+ \@tokenuse{#1}%
+ \else
+ \count5=\count255
+ \count7=\count1
+ \advance\count7\m@ne
+ \count3=\z@
+ \loop
+ \ifnum\count5>\count7
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@rpar\relax
+ \advance\@parenthesis\@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@lpar\relax
+ \advance\@parenthesis\m@ne
+ \fi
+ \expandafter\ifx\csname PfCop@token\the\count5\endcsname\s@pow\relax
+ \ifnum\@parenthesis=\z@
+ \count3=\count5
+ \count5=\z@
+ \fi
+ \fi
+ \advance\count5\m@ne
+ \repeat
+ \ifnum\count3=\z@
+ \ifnum\@parenthesis=\z@
+ \search@primary{\the\count1}{\the\count255}%
+ \else
+ \errmessage{Syntax error: unbalanced parenthesis}%
+ \fi
+ \else
+ \advance\count3\m@ne
+ \search@power{\the\count1}{\the\count3}%
+ \advance\count3\tw@
+ \search@power{\the\count3}{\the\count255}%
+ \advance\count3\m@ne
+ \@tokenuse{\the\count3}%
+ \fi
+ \fi
+ \endgroup
+}
+\def\search@primary#1#2{%
+ \begingroup
+ \count1=#1\relax
+ \count255=#2\relax
+ \ifnum\count1=\count255
+ \@tokenuse{#1}%
+ \else
+ \edef\current@cnt{#1}%
+ \expandafter\compare@PS@operator\PS@operator@list,\@nil
+ \expandafter\ifx\csname PfCop@token#1\endcsname\s@lpar\relax
+ \expandafter\ifx\csname PfCop@token#2\endcsname\s@rpar\relax
+ \advance\count1\@ne
+ \advance\count255\m@ne
+ \search@term{\the\count1}{\the\count255}%
+ \else
+ \errmessage{Syntax error: Garbage after parenthesis
+ (tokens '#1' to '#2')}%
+ \fi
+ \fi
+ \fi
+ \endgroup
+}
+
+%\let\@nil\relax
+%\let\@nil\@empty
+
+%\def\compare@PS@operator#1,#2\@nil{%
+% \def\@tempa{#1}%
+% \def\@tempb{#2}%
+% \expandafter\ifx\csname PfCop@token\current@cnt\endcsname\@tempa%
+% \advance\count1\@ne
+% \search@primary{\the\count1}{\the\count255}%
+% \advance\count1\m@ne
+% \@tokenuse{\the\count1}%
+% \fi
+% \ifx\@tempb\empty
+% \let\next\relax
+% \let\@tempb\relax
+% \else
+% \let\next\compare@PS@operator
+% \fi
+% \expandafter\next\@tempb\@nil
+%}
+
+\let\@nil\undefined
+
+\def\compare@PS@operator#1,#2\@nil{%
+ \def\@tempa{#1}%
+ \def\@tempb{#2}%
+ \expandafter\ifx\csname PfCop@token\current@cnt\endcsname\@tempa%
+ \advance\count1\@ne
+ \search@primary{\the\count1}{\the\count255}%
+ \advance\count1\m@ne
+ \@tokenuse{\the\count1}%
+ \fi
+ \ifx\@tempb\empty
+ \let\next\@gobble
+ \else
+ \let\next\compare@PS@operator
+ \fi
+ \expandafter\next\@tempb\@nil
+}
+
+
+\def\infixtoRPN{%
+ \begingroup
+ \catcode`\ =12
+ \catcode`\^=12
+ \infixt@RPN
+}
+\def\infixt@RPN#1{%
+ \xdef\@expression{#1}%
+ \endgroup
+ \def\RPN{}%
+ \expandafter\scan@line\expandafter{\@expression}%
+ \expandafter\ifx\csname PfCop@token\the\token@cpt\endcsname\relax
+ \advance\token@cpt\m@ne
+ \fi
+ \search@term{1}{\the\token@cpt}%
+}
+
+\catcode`\@=\PfCopAtCode\relax
+\catcode`\^=\PfCopHatCode\relax
+\catcode`\_=\PfCopUnderscoreCode\relax
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCMulJap.tex b/macros/latex/contrib/profcollege/latex/PfCMulJap.tex
index e0457471e1..bdb59526f0 100644
--- a/macros/latex/contrib/profcollege/latex/PfCMulJap.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCMulJap.tex
@@ -229,5 +229,6 @@
endfor;
fi;
\end{mplibcode}
+ \mplibnumbersystem{scaled}
\fi
}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex b/macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex
index 56a7ad6943..7851f36ba7 100644
--- a/macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCMulPiecesPuzzle.tex
@@ -6,7 +6,7 @@
\def\UpdatetoksPuzzleA#1\nil{\addtotok\toklistepuzzlea{"#1",}}%
-\setKVdefault[ClesPuzzleMul]{Solution=false,Unite=1cm,Couleur=LightSteelBlue}
+\setKVdefault[ClesPuzzleMul]{Solution=false,Unite=1cm,Couleur=LightSteelBlue,Cube=false}
\NewDocumentCommand\PuzzleMul{om}{%
\useKVdefault[ClesPuzzleMul]%
@@ -17,8 +17,12 @@
\xdef\HauteurPuzzle{\PfCListePuzzlelen}%
\toklistepuzzlea{}%
\foreachitem\compteur\in\PfCListePuzzle{\expandafter\UpdatetoksPuzzleA\compteur\nil}%
- \BuildPuzzle{\the\toklistepuzzlea}%
-}
+ \ifboolKV[ClesPuzzleMul]{Cube}{%
+ \BuildPuzzleEspace{\the\toklistepuzzlea}%
+ }{%
+ \BuildPuzzle{\the\toklistepuzzlea}%
+ }%
+}%
\def\BuildPuzzleCode{%
def PreDrawPuzzle ( expr ww, hh, uu ) =
diff --git a/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex b/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
index 117c2a0905..4fe05bc4d0 100644
--- a/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCNotionFonction.tex
@@ -22,18 +22,20 @@
\setKV[TraceG]{#1}%
\tokPfCListeDesFonctions{}%
\tokPfCListeDesNomsFonctions{}%
- \xdef\PfCFooFn{\useKV[ClesFonction]{Calcul}}
- \xdef\PfCFooNomFn{\useKV[TraceG]{NomCourbe}}
+ \xdef\PfCFooFn{\useKV[ClesFonction]{Calcul}}%
+ \xdef\PfCFooNomFn{\useKV[TraceG]{NomCourbe}}%
\ifx\bla\PfCFooFn\bla%
- \else
- \readlist*\ListeDesFonctions{\PfCFooFn}
+ \else%
+ \setsepchar{,}\ignoreemptyitems
+ \readlist*\ListeDesFonctions{\PfCFooFn}%
+ \reademptyitems
\foreachitem\compteur\in\ListeDesFonctions{\expandafter\UpdatePfCListeDesFonctions\compteur\nil}%
- \fi
- \ifx\bla\PfCFooNomFn\bla
- \else
- \readlist*\ListeDesNomsFonctions{\PfCFooNomFn}
+ \fi%
+ \ifx\bla\PfCFooNomFn\bla%
+ \else%
+ \readlist*\ListeDesNomsFonctions{\PfCFooNomFn}%
\foreachitem\compteur\in\ListeDesNomsFonctions{\expandafter\UpdatePfCListeDesNomsFonctions\compteur\nil}%
- \fi
+ \fi%
\tokPfCLabelX{}%
\tokPfCLabelY{}%
\addtotok\tokPfCLabelX{"\useKV[TraceG]{LabelX}"}%
@@ -79,7 +81,7 @@
\MPCourbeNew{\PfCFooListePoints}%
}%
}%
- }
+ }%
}{%
\setsepchar{,}\ignoreemptyitems%
\readlist*\ListeFonction{#2}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex b/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
index dfbd3a5d23..6628d3d505 100644
--- a/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCPatronPaves.tex
@@ -1,7 +1,9 @@
%%%
% Patrons de pavés droits et cubes
%%%
-\setKVdefault[ClesPatron]{Cube,Arete=1cm,ListeCouleurs={white},Pave=false,Largeur=2cm,Hauteur=1.5cm,Profondeur=1cm,Codes=false}%
+\setKVdefault[ClesPatron]{Cube,Arete=1cm,ListeCouleurs={white},Pave=false,Largeur=2cm,Hauteur=1.5cm,Profondeur=1cm,Codes=false,AColorier=false}%
+%EcartColorier est en nombre de parts pour le cube, en mm pour le pavé.
+\defKV[ClesPatron]{EcartColorier=\setKV[ClesPatron]{AColorier}}%
\defKV[ClesPatron]{Traces=\setKV[ClesPatron]{Codes}}%
\newtoks\toklistepatron%
@@ -30,7 +32,7 @@
}%
}%
-\setsepchar{,}\ignoreemptyitems
+\setsepchar{,}\ignoreemptyitems%
\readlist*\ListePatronsCube{%
{ooxo,xxxx,ooxo},%
{oxoo,xxxx,xooo},%
@@ -78,7 +80,7 @@
{poho,lpho,poho,lohp},%
{poho,loho,plhl,loho},%
{poho,loho,plho,lohp},%
- {poho,loho,poho,lphp},%
+ {poho,loho,poho,lphp},%20
{phlh,holo,polo,holo},%
{phlo,holp,polo,holo},%
{phlo,holo,polh,holo},%
@@ -88,17 +90,17 @@
{polo,hplo,polo,holp},%
{polo,holo,phlh,holo},%
{polo,holo,phlo,holp},%
- {polo,holo,polo,hplp},%
+ {polo,holo,polo,hplp},%30
{hlpo,lopo,hopl,pool},%
{hopo,lhpo,hopl,pool},%
{hopo,lopo,hlph,pool},%
{lhpo,hopo,loph,pooh},%
{lopo,hlpo,loph,pooh},%
- {lopo,hopo,lhoh,pooh},%
+ {lopo,hopo,lhph,pooh},%
{plho,loho,pohl,hool},%
{poho,lpho,pohl,hool},%
{poho,loho,plhl,hool},%
- {lpho,poho,lohp,hoop},%
+ {lpho,poho,lohp,hoop},%40
{loho,plho,lohp,hoop},%
{loho,poho,lphp,hoop},%
{phlo,holo,polh,looh},%
@@ -108,23 +110,23 @@
{holo,phlo,holp,loop},%
{holo,polo,hplp,loop},%
{hpo,lpo,hpl,pol,hol},%
- {lpo,hpo,lph,poh,loh},%
- {pho,plo,phl,hol,pol},%
+ {lpo,hpo,lph,poh,loh},%50
+ {pho,lho,phl,hol,pol},%
{hpoo,lpho,pohl,hool},%
{lpoo,hplo,polh,looh},%
- {phoo,lhpo,hopl,pool}
-}
+ {phoo,lhpo,hopl,pool}%
+}%
\readlist*\ListePatronsPaveCouleurs{%
- {Orange,Crimson,Orange,LightGreen,Crimson,LightGreen},
- {Orange,Crimson,LightGreen,Orange,Crimson,LightGreen},
- {Orange,Crimson,LightGreen,Crimson,Orange,LightGreen},
- {Orange,Crimson,LightGreen,Crimson,LightGreen,Orange},
- {Crimson,Orange,LightGreen,Orange,Crimson,LightGreen},
- {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen},
- {Crimson,Orange,LightGreen,Crimson,LightGreen,Orange},
- {Crimson,LightGreen,Orange,Crimson,Orange,LightGreen},
- {Crimson,LightGreen,Orange,Crimson,LightGreen,Orange},
+ {Orange,Crimson,Orange,LightGreen,Crimson,LightGreen},%
+ {Orange,Crimson,LightGreen,Orange,Crimson,LightGreen},%
+ {Orange,Crimson,LightGreen,Crimson,Orange,LightGreen},%
+ {Orange,Crimson,LightGreen,Crimson,LightGreen,Orange},%
+ {Crimson,Orange,LightGreen,Orange,Crimson,LightGreen},%
+ {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen},%
+ {Crimson,Orange,LightGreen,Crimson,LightGreen,Orange},%
+ {Crimson,LightGreen,Orange,Crimson,Orange,LightGreen},%
+ {Crimson,LightGreen,Orange,Crimson,LightGreen,Orange},%
{Crimson,LightGreen,Crimson,Orange,LightGreen,Orange},%10
{LightGreen,Crimson,LightGreen,Orange,Crimson,Orange},%
{LightGreen,Crimson,Orange,LightGreen,Crimson,Orange},%
@@ -169,9 +171,277 @@
{Crimson,Orange,Crimson,LightGreen,Orange,LightGreen},%
{Crimson,LightGreen,Orange,Crimson,LightGreen,Orange},%
{LightGreen,Crimson,Orange,LightGreen,Crimson,Orange},%
- {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen}%
+ {Crimson,Orange,LightGreen,Crimson,Orange,LightGreen}%
+}%
+\reademptyitems%
+
+\def\MPPatronPaveCode{%
+ Largeur=\useKV[ClesPatron]{Largeur};
+ Hauteur=\useKV[ClesPatron]{Hauteur};
+ Profondeur=\useKV[ClesPatron]{Profondeur};
+ %
+ pair C[],M[],N[],O[],P[];
+ %
+ color Col[],CoulDefaut;
+ CoulDefaut=white;
+ %
+ boolean Codes,Allume[][],AColorier;
+ Codes=\useKV[ClesPatron]{Codes};
+ AColorier=\useKV[ClesPatron]{AColorier};
+ if AColorier:
+ EcartColorier=\useKV[ClesPatron]{EcartColorier}*1mm;
+ fi;
+ %
+ numeric DecalCol[];
+ %
+ vardef Allumage(text t)=
+ nblignes:=0;
+ for p_=t:
+ Long:=length p_;
+ nblignes:=nblignes+1;
+ for k=0 upto Long-1:
+ Allume[nblignes][k]=false;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef LectureLargeur(text t)=
+ for p_=t:
+ Long:=length p_;
+ endfor;
+ for k=1 upto Long-1:
+ for p_=t:
+ if substring(k,k+1) of p_="o":
+ if k=1:
+ if (substring(0,1) of p_="h") and (substring(1,2) of p_="p"):
+ DecalCol[k]:=Largeur;
+ fi;
+ if (substring(0,1) of p_="h") and (substring(1,2) of p_="l"):
+ DecalCol[k]:=Profondeur;
+ fi;
+ if (substring(0,1) of p_="p") and (substring(1,2) of p_="h"):
+ DecalCol[k]:=Largeur;
+ fi;
+ if (substring(0,1) of p_="p") and (substring(1,2) of p_="l"):
+ DecalCol[k]:=Hauteur;
+ fi;
+ if (substring(0,1) of p_="l") and (substring(1,2) of p_="h"):
+ DecalCol[k]:=Profondeur;
+ fi;
+ if (substring(0,1) of p_="l") and (substring(1,2) of p_="p"):
+ DecalCol[k]:=Hauteur;
+ fi;
+ fi;
+ elseif substring(k,k+1) of p_="l":
+ DecalCol[k]:=Largeur;
+ elseif substring(k,k+1) of p_="h":
+ DecalCol[k]:=Hauteur;
+ elseif substring(k,k+1) of p_="p":
+ DecalCol[k]:=Profondeur;
+ fi;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef Patron(text t)=
+ path PathPave;
+ nblignes:=-1;
+ NBLignes:=0;
+ nbcol:=0;
+ nbfaces:=0;
+ for p_=t:
+ Long:=length p_;
+ nbcolonnes:=0;
+ NBColonnes:=0;
+ if substring(0,1) of p_="h":
+ YEchelle:=Hauteur;
+ elseif substring(0,1) of p_="l":
+ YEchelle:=Largeur;
+ elseif substring(0,1) of p_="p":
+ YEchelle:=Profondeur;
+ fi;
+ nblignes:=nblignes-YEchelle;
+ NBLignes:=NBLignes+1;
+ for k=1 upto Long-1:
+ if substring(k,k+1) of p_="o":
+ if k=1:
+ PathPave:=(unitsquare scaled 0) shifted ((0,-1));
+ fi;
+ elseif substring(k,k+1) of p_="l":
+ nbcol:=nbcol+1;
+ PathPave:=(unitsquare xscaled Largeur yscaled YEchelle) shifted ((nbcolonnes,nblignes));
+ Allume[NBLignes][NBColonnes]:=true;
+ nbfaces:=nbfaces+1;
+ C[nbfaces]=center PathPave;
+ M[nbfaces]=point(0) of PathPave;
+ N[nbfaces]=point(1) of PathPave;
+ O[nbfaces]=point(2) of PathPave;
+ P[nbfaces]=point(3) of PathPave;
+ elseif substring(k,k+1) of p_="h":
+ nbcol:=nbcol+1;
+ PathPave:=(unitsquare xscaled Hauteur yscaled YEchelle) shifted ((nbcolonnes,nblignes));
+ Allume[NBLignes][NBColonnes]:=true;
+ nbfaces:=nbfaces+1;
+ C[nbfaces]=center PathPave;
+ M[nbfaces]=point(0) of PathPave;
+ N[nbfaces]=point(1) of PathPave;
+ O[nbfaces]=point(2) of PathPave;
+ P[nbfaces]=point(3) of PathPave;
+ elseif substring(k,k+1) of p_="p":
+ nbcol:=nbcol+1;
+ PathPave:=(unitsquare xscaled Profondeur yscaled YEchelle) shifted ((nbcolonnes,nblignes));
+ Allume[NBLignes][NBColonnes]:=true;
+ nbfaces:=nbfaces+1;
+ C[nbfaces]=center PathPave;
+ M[nbfaces]=point(0) of PathPave;
+ N[nbfaces]=point(1) of PathPave;
+ O[nbfaces]=point(2) of PathPave;
+ P[nbfaces]=point(3) of PathPave;
+ fi;
+ if (unknown Col[nbcol]):
+ else:
+ if Col[nbcol]=white:
+ else:
+ if AColorier=false:
+ fill PathPave withcolor Col[nbcol];
+ fi;
+ fi;
+ fi;
+ if nbfaces>0:
+ trace M[nbfaces]--P[nbfaces];
+ trace N[nbfaces]--O[nbfaces];
+ trace P[nbfaces]--O[nbfaces];
+ trace M[nbfaces]--N[nbfaces];
+ fi;
+ nbcolonnes:=nbcolonnes+DecalCol[k];
+ NBColonnes:=NBColonnes+1;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef EffectuerTraces=
+ if Codes:
+ \useKV[ClesPatron]{Traces};
+ fi;
+ enddef;
+}%
+
+\def\MPPatronPave#1#2{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ \MPPatronPaveCode
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ LectureLargeur(#1);
+ Allumage(#1);
+ if AColorier:
+ drawoptions(dashed evenly);
+ fi;
+ Patron(#1);
+ if AColorier:
+ drawoptions();
+ toto:=0;
+ for l=1 upto NBLignes:
+ for k=0 upto NBColonnes-1:
+ if Allume[l][k]:
+ toto:=toto+1;
+ % trait vertical gauche
+ if k=0:
+% trace M[toto]--P[toto];
+ tpoints:=floor(abs(M[toto]-P[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[M[toto],P[toto]])--((t/tpoints)[M[toto],P[toto]]+(2*unitvector(P[toto]-M[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l][k-1]=false:
+ % trace M[toto]--P[toto] dashed evenly;
+ tpoints:=floor(abs(M[toto]-P[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[M[toto],P[toto]])--((t/tpoints)[M[toto],P[toto]]+(2*unitvector(P[toto]-M[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+% % trait vertical droit
+ if k=Long-1:
+ % trace N[toto]--O[toto] dashed evenly;
+ tpoints:=floor(abs(N[toto]-O[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[N[toto],O[toto]])--((t/tpoints)[N[toto],O[toto]]+(2*unitvector(O[toto]-N[toto])) rotated 90);
+ endfor;
+ else:
+ if Allume[l][k+1]=false:
+ %% trace N[toto]--O[toto] dashed evenly;
+ tpoints:=floor(abs(N[toto]-O[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[N[toto],O[toto]])--((t/tpoints)[N[toto],O[toto]]+(2*unitvector(O[toto]-N[toto])) rotated 90);
+ endfor;
+ fi;
+ fi;
+% % trait horizontal haut
+ if l=1:
+ % trace P[toto]--O[toto] dashed evenly;
+ tpoints:=floor(abs(P[toto]-O[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[P[toto],O[toto]])--((t/tpoints)[P[toto],O[toto]]+(2*unitvector(O[toto]-P[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l-1][k]=false:
+ % trace P[toto]--O[toto] dashed evenly;
+ tpoints:=floor(abs(P[toto]-O[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[P[toto],O[toto]])--((t/tpoints)[P[toto],O[toto]]+(2*unitvector(O[toto]-P[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+% % trait horizontal bas
+ if l=NBLignes:
+ %% trace M[toto]--N[toto] dashed evenly;
+ tpoints:=floor(abs(M[toto]-N[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[M[toto],N[toto]])--((t/tpoints)[M[toto],N[toto]]+(2*unitvector(M[toto]-N[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l+1][k]=false:
+ %% trace M[toto]--N[toto] dashed evenly;
+ tpoints:=floor(abs(M[toto]-N[toto])/EcartColorier);
+ for t=1 upto tpoints-1:
+ trace ((t/tpoints)[M[toto],N[toto]])--((t/tpoints)[M[toto],N[toto]]+(2*unitvector(M[toto]-N[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+ fi;
+ endfor;
+ endfor;
+ fi;
+ EffectuerTraces;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={\MPPatronPaveCode;}]
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ LectureLargeur(#1);
+ Patron(#1);
+ EffectuerTraces;
+ \end{mpost}
+ \fi
}%
-\reademptyitems
\def\MPPatronCubeCode{%
Arete=\useKV[ClesPatron]{Arete};
@@ -181,6 +451,185 @@
color Col[],CoulDefaut;
CoulDefaut=white;
%
+ boolean Codes,Allume[][],AColorier;
+ Codes=\useKV[ClesPatron]{Codes};
+ AColorier=\useKV[ClesPatron]{AColorier};
+ if AColorier:
+ EcartColorier=\useKV[ClesPatron]{EcartColorier};
+ fi;
+ %
+ vardef Allumage(text t)=
+ nblignes:=-1;
+ for p_=t:
+ Long:=length p_;
+ nblignes:=nblignes+1;
+ for k=0 upto Long-1:
+ Allume[nblignes][k]=false;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef Patron(text t)=
+ nblignes:=-1;
+ nbcol:=0;
+ nbfaces:=0;
+ for p_=t:
+ Long:=length p_;
+ nblignes:=nblignes+1;
+ nbcolonnes:=0;
+ for k=0 upto Long-1:
+ nbcolonnes:=nbcolonnes+1;
+ if substring(k,k+1) of p_="x":
+ Allume[nblignes][k]:=true;
+ nbfaces:=nbfaces+1;
+ nbcol:=nbcol+1;
+ if (unknown Col[nbcol]):
+ else:
+ if Col[nbcol]=white:
+ else:
+ if AColorier=false:
+ fill ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes))) withcolor Col[nbcol];
+ fi;
+ fi;
+ fi;
+ C[nbfaces]=(center unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes));
+ M[nbfaces]=point(0) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ N[nbfaces]=point(1) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ O[nbfaces]=point(2) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ P[nbfaces]=point(3) of ((unitsquare scaled Arete) shifted (Arete*(nbcolonnes,-nblignes)));
+ trace M[nbfaces]--P[nbfaces];
+ trace N[nbfaces]--O[nbfaces];
+ trace P[nbfaces]--O[nbfaces];
+ trace M[nbfaces]--N[nbfaces];
+ fi;
+ endfor;
+ endfor;
+ enddef;
+ %
+ vardef EffectuerTraces=
+ if Codes:
+ \useKV[ClesPatron]{Traces};
+ fi;
+ enddef;
+}%
+
+\def\MPPatronCube#1#2{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ \MPPatronCubeCode
+ %
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ Allumage(#1);
+ if AColorier:
+ drawoptions(dashed withdots scaled 0.5);
+ fi;
+ Patron(#1);
+ if AColorier:
+ drawoptions();
+ toto:=0;
+ for l=0 upto nblignes:
+ for k=0 upto Long-1:
+ if Allume[l][k]:
+ toto:=toto+1;
+ % trait vertical gauche
+ if k=0:
+% trace M[toto]--P[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[M[toto],P[toto]])--((t/EcartColorier)[M[toto],P[toto]]+(2*unitvector(P[toto]-M[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l][k-1]=false:
+% trace M[toto]--P[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[M[toto],P[toto]])--((t/EcartColorier)[M[toto],P[toto]]+(2*unitvector(P[toto]-M[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+ % trait vertical droit
+ if k=Long-1:
+ % trace N[toto]--O[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[N[toto],O[toto]])--((t/EcartColorier)[N[toto],O[toto]]+(2*unitvector(O[toto]-N[toto])) rotated 90);
+ endfor;
+ else:
+ if Allume[l][k+1]=false:
+% trace N[toto]--O[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[N[toto],O[toto]])--((t/EcartColorier)[N[toto],O[toto]]+(2*unitvector(O[toto]-N[toto])) rotated 90);
+ endfor;
+ fi;
+ fi;
+ % trait horizontal haut
+ if l=0:
+% trace P[toto]--O[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[P[toto],O[toto]])--((t/EcartColorier)[P[toto],O[toto]]+(2*unitvector(O[toto]-P[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l-1][k]=false:
+% trace P[toto]--O[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[P[toto],O[toto]])--((t/EcartColorier)[P[toto],O[toto]]+(2*unitvector(O[toto]-P[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+ % trait horizontal bas
+ if l=nblignes:
+% trace M[toto]--N[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[M[toto],N[toto]])--((t/EcartColorier)[M[toto],N[toto]]+(2*unitvector(M[toto]-N[toto])) rotated -90);
+ endfor;
+ else:
+ if Allume[l+1][k]=false:
+% trace M[toto]--N[toto] dashed evenly;
+ for t=1 upto EcartColorier-1:
+ trace ((t/EcartColorier)[M[toto],N[toto]])--((t/EcartColorier)[M[toto],N[toto]]+(2*unitvector(M[toto]-N[toto])) rotated -90);
+ endfor;
+ fi;
+ fi;
+ fi;
+ endfor;
+ endfor;
+ fi;
+ EffectuerTraces;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={\MPPatronCubeCode;}]
+ %
+ n:=0;
+ for p_=#2:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ Col[n]=CoulDefaut;
+ fi;
+ endfor;
+ %
+ Patron(#1);
+ EffectuerTraces;
+ \end{mpost}
+ \fi
+}
+
+\def\MPPatronCubeCodeold{%
+ Arete=\useKV[ClesPatron]{Arete};
+ %
+ pair C[],M[],N[],O[],P[];
+ %
+ color Col[],CoulDefaut;
+ CoulDefaut=white;
+ %
boolean Codes;
Codes=\useKV[ClesPatron]{Codes};
vardef Patron(text t)=
@@ -221,7 +670,7 @@
enddef;
}%
-\def\MPPatronCube#1#2{%
+\def\MPPatronCubeold#1#2{%
\ifluatex
\mplibforcehmode
\begin{mplibcode}
@@ -259,7 +708,7 @@
\fi
}
-\def\MPPatronPaveCode{%
+\def\MPPatronPaveCodeold{%
Largeur=\useKV[ClesPatron]{Largeur};
Hauteur=\useKV[ClesPatron]{Hauteur};
Profondeur=\useKV[ClesPatron]{Profondeur};
@@ -330,7 +779,7 @@
for k=1 upto Long-1:
if substring(k,k+1) of p_="o":
if k=1:
- PathPave:=(unitsquare scaled 0);
+ PathPave:=(unitsquare scaled 0) shifted ((0,-1));
fi;
elseif substring(k,k+1) of p_="l":
nbcol:=nbcol+1;
@@ -380,7 +829,7 @@
enddef;
}%
-\def\MPPatronPave#1#2{%
+\def\MPPatronPaveold#1#2{%
\ifluatex
\mplibforcehmode
\begin{mplibcode}
@@ -397,7 +846,7 @@
%
LectureLargeur(#1);
Patron(#1);
- EffectuerTraces;
+ %EffectuerTraces;
\end{mplibcode}
\else
\begin{mpost}[mpsettings={\MPPatronPaveCode;}]
diff --git a/macros/latex/contrib/profcollege/latex/PfCPixelArt.tex b/macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
index 77eecfcb42..df380d48ee 100644
--- a/macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCPixelArt.tex
@@ -26,9 +26,11 @@
}%
}%
}{%
- \quotient{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
- \modulo{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
-% quotient = \the\intquotient -- remainder = \the\remainder :
+% \quotient{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
+% \modulo{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Hauteur}/\useKV[ClesPixelArt]{HauteurD}}}%
+ \quotient{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Largeur}/\useKV[ClesPixelArt]{LargeurD}}}%
+ \modulo{\fpeval{\useKV[ClesPixelArt]{Numero}-1}}{\fpeval{\useKV[ClesPixelArt]{Largeur}/\useKV[ClesPixelArt]{LargeurD}}}%
+% quotient = \the\intquotient -- remainder = \the\remainder :\\
\BuildPixelArtGeant{#2}{\useKV[ClesPixelArt]{Lettres}}{\ListeAvantCouleurs}{\the\toklistePANombre}{\the\intquotient}{\the\remainder}%
}%
}{%
diff --git a/macros/latex/contrib/profcollege/latex/PfCProbaFrequence.tex b/macros/latex/contrib/profcollege/latex/PfCProbaFrequence.tex
new file mode 100644
index 0000000000..dc6a39b7a5
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCProbaFrequence.tex
@@ -0,0 +1,185 @@
+%%%
+% Probabilité et fréquence
+%%%
+\setKVdefault[PfCFrequence]{Couleur=false,Lancers=1,Legende=false}%
+\defKV[PfCFrequence]{ListeCouleurs=\setKV[PfCFrequence]{Couleur}}%
+\defKV[PfCFrequence]{Legendes=\setKV[PfCFrequence]{Legende}\setsepchar{,}\reademptyitems\readlist*\PfMListeLegendes{#1}\reademptyitems}%
+
+\newtoks\tokPfMListeObjets%
+\newtoks\tokPfMListeLegendes%
+\def\UpdatetoksObj#1\nil{\addtotok\tokPfMListeObjets{#1,}}%
+\def\UpdatetoksLegendes#1\nil{\addtotok\tokPfMListeLegendes{"#1",}}%
+
+\NewDocumentCommand\ProbaFrequence{om}{%
+ % #1 options
+ % #2 répartition
+ \tokPfMListeObjets{}%
+ \tokPfMListeLegendes{}%
+ \useKVdefault[PfCFrequence]%
+ \setKV[PfCFrequence]{#1}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\PfMListeObjets{#2}%
+ \reademptyitems%
+ \foreachitem\compteur\in\PfMListeObjets{\expandafter\UpdatetoksObj\compteur\nil}%
+ \ifboolKV[PfCFrequence]{Legende}{%
+ \foreachitem\compteur\in\PfMListeLegendes{\expandafter\UpdatetoksLegendes\compteur\nil}%
+ }{}%
+ \BuildFrequence{\the\tokPfMListeObjets}{\the\tokPfMListeLegendes}%
+}%
+
+\NewDocumentCommand\BuildFrequence{mm}{%
+ \ifluatex
+ \mplibnumbersystem{decimal}%
+ \begin{Geometrie}[CoinBG={u*(-5,0)},CoinHD={u*(7.5,7.5)}]%6 en ordonnee
+ Lancers = \useKV[PfCFrequence]{Lancers};
+ LegendeVide=0;
+ %
+ color Col[];
+ if \useKV[PfCFrequence]{Couleur}:
+ n:=0;
+ for p_=\useKV[PfCFrequence]{ListeCouleurs}:
+ n:=n+1;
+ if color p_:
+ Col[n]=p_;
+ else:
+ LegendeVide:=n;
+ fi;
+ endfor;
+ fi;
+ %
+ string Legende[];
+ vardef EcrireLegendes(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ if p_="":
+ LegendeVide:=n;
+ else:
+ Legende[n]=p_;
+ fi;
+ endfor;
+ n:=0;
+ enddef;
+ %
+ vardef LectureDonnees(text t)=
+ numeric A[];
+ numeric SommeTotale;
+ SommeTotale=0;
+ n:=0;
+ for p_=t:
+ n:=incr(n);
+ A[n]=p_;
+ SommeTotale:=SommeTotale+p_;
+ endfor;
+ total:=n;
+ enddef;
+ %
+ LectureDonnees(#1);
+ if \useKV[PfCFrequence]{Legende}:
+ EcrireLegendes(#2);
+ fi;
+ %
+ numeric borne[];
+ borne0=0;
+ for k=1 upto total:
+ borne[k]=borne[k-1]+A[k];
+ endfor;
+ %
+ x.u:=5mm;
+ y.u:=5mm;
+ quad.u:=5mm;
+ unites(1/(170*Lancers),5);
+ origine((1,4));
+ % grille
+ for k=1 upto 11:
+ draw (pp(0,0)--pp(0,1.1)) shifted(pp(k*Lancers*100,0)-pp(0,0)) withcolor gris;
+ draw (pp(0,0)--pp(Lancers*(1000+100),0)) shifted(pp(0,k/10)-pp(0,0)) withcolor gris;
+ endfor;
+ % axe
+ drawarrow pp(0,0)--pp(0,1.1);
+ drawarrow pp(0,0)--pp(Lancers*(1000+100),0);
+ % tiret
+ for k=1 upto 10:
+ draw (pp(k*Lancers*100,0)+u*(0,-0.05))--(pp(k*Lancers*100,0)+u*(0,0.05));
+ endfor;
+ numeric nb[],freq[];
+ pair Freq[][];
+ for k=1 upto total:
+ nb[k]:=0;
+ freq[k]=0;
+ endfor;
+ %
+ for k=1 upto (Lancers*1000):
+ nn:=floor(uniformdeviate(SommeTotale))+1;
+ if nn=0:
+ message("il est nul...");
+ fi;
+ for l=1 upto total:
+ if (nn>borne[l-1]) and (nn<borne[l]+1):
+ nb[l]:=nb[l]+1;
+ fi;
+ freq[l]:=nb[l]/k;
+ Freq[l][k]=pp(k,freq[l]);
+ endfor;
+ endfor;
+ %
+ def Style=enddef;
+ def Stylea=dashed evenly enddef;
+ def Styleb=dashed withdots scaled 1/2 enddef;
+ def Stylec=dashed dashpattern(on 1 off 1) enddef;
+ def Styled=dashed withdots scaled 1/4 enddef;
+ def Stylee=dashed dashpattern(on 6 off2) enddef;
+ parc:=0;
+ for l=1 upto total:
+ if \useKV[PfCFrequence]{Couleur}=false:
+ if (l mod 6)=1:
+ elseif (l mod 6)=2:
+ drawoptions(Stylea);
+ elseif (l mod 6)=3:
+ drawoptions(Styleb);
+ elseif (l mod 6)=4:
+ drawoptions(Stylec);
+ elseif (l mod 6)=5:
+ drawoptions(Styled);
+ else:
+ drawoptions(Stylee);
+ fi;
+ if \useKV[PfCFrequence]{Legende}:
+ parc:=incr(parc);
+ if l<>LegendeVide:
+ draw pp(Lancers*400*((parc-1) mod 3),-0.25-0.1*((parc-1) div 3))--pp(Lancers*400*((parc-1) mod 3)+125,-0.25-0.1*((parc-1) div 3));
+ label.rt(TEX(Legende[l]),pp(Lancers*400*((parc-1) mod 3)+125,-0.25-0.1*((parc-1) div 3)));
+ else:
+ parc:=parc-1;
+ fi;
+ fi;
+ fi;
+ %
+ if l<>LegendeVide:
+ if Lancers<1:
+ trace Freq[l][1]
+ for k=2 upto (1000*Lancers):
+ --Freq[l][k]
+ endfor withcolor if unknown Col[l]:black else:Col[l] fi;
+ else:
+ trace Freq[l][1]
+ for k=5 step 4 until (1000*Lancers):
+ --Freq[l][k]
+ endfor withcolor if unknown Col[l]:black else:Col[l] fi;
+ fi;
+ fi;
+ endfor;
+ drawoptions();
+ for k=1 upto 10 :
+ label.bot(TEX("\scriptsize\num{"&decimal((100*k)*Lancers)&"}"),pp(Lancers*100k,0));
+ endfor;
+ for k=2 step 2 until 10:
+ label.lft(TEX("\scriptsize\num{"&decimal(k/10)&"}"),pp(0,k/10));
+ endfor;
+ label.llft(TEX("\scriptsize 0"),pp(0,0));
+ label.urt(TEX("Fréquence"),pp(0,1));
+ label.bot(TEX("Nombre de lancers"),pp(0.5*Lancers*(1000+200),-0.075));
+ \end{Geometrie}
+ \mplibnumbersystem{scaled}
+ \fi
+}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex b/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
index 9745bb144c..aaf9a67f20 100644
--- a/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
@@ -4,6 +4,9 @@
\setKVdefault[ClesRelie]{Solution=false,LargeurG=5cm,LargeurD=2cm,Stretch=1.5,Ecart=2cm,Couleur=black}%
\defKV[ClesRelie]{Graine=\PfCGraineAlea{#1}}%
+\newcounter{NbRelie}%
+\newcounter{NbRelieD}
+
\NewDocumentCommand\Relie{som}{%
\useKVdefault[ClesRelie]%
\setKV[ClesRelie]{#2}%
@@ -33,7 +36,13 @@
\itemtomacro\ListeRelie[##1,1]\untest%
\ifx\bla\untest\bla%
\else%
- \tikz[remember picture,overlay]{\draw[PfCRelieCouleurTrace] (RelieG-##1) -- (RelieD-\ListeRelie[##1,3]);}%
+ \itemtomacro\ListeRelie[##1,3]\Foo
+ \setsepchar{-}\ignoreemptyitems%
+ \readlist*\ListeRelieReponses{\Foo}%
+ \reademptyitems
+ \foreachitem\compteur\in\ListeRelieReponses{%
+ \tikz[remember picture,overlay]{\draw[PfCRelieCouleurTrace] (RelieG-##1) -- (RelieD-\ListeRelieReponses[\compteurcnt]);}%
+ }
\fi
}%
}{%
@@ -41,49 +50,39 @@
}%
}%
-\newcommand\Relieold[2][]{%
- \useKVdefault[ClesRelie]%
- \setKV[ClesRelie]{#1}%
- \setsepchar[*]{,*/}\reademptyitems%
- \readlist*\ListeRelie{#2}%
- \ignoreemptyitems
- \buildtabrelie%
- \ifboolKV[ClesRelie]{Solution}{%
- \colorlet{PfCRelieCouleurTrace}{\useKV[ClesRelie]{Couleur}}%
- \xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{%
- \itemtomacro\ListeRelie[##1,1]\untest
- \ifx\bla\untest\bla%
- \else
- \tikz[remember picture,overlay]{\draw[PfCRelieCouleurTrace] (RelieG-##1) -- (RelieD-\ListeRelie[##1,3]);}%
- \fi
- }%
- }{%
- }%
-}%
-
-\newcounter{NbRelie}%
-
\def\buildtabrelie{%
\setcounter{NbRelie}{0}%
+ \setcounter{NbRelieD}{0}%
\renewcommand{\arraystretch}{\useKV[ClesRelie]{Stretch}}%
- \begin{tabular}{p{\useKV[ClesRelie]{LargeurG}}cp{\useKV[ClesRelie]{Ecart}}>{\tikz[remember
- picture]{\node[name=RelieD-\theNbRelie,inner
- sep=0pt]{};\fill[] (RelieD-\theNbRelie) circle[radius=1.5pt]}}cp{\useKV[ClesRelie]{LargeurD}}}%
- \xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{\ListeRelie[##1,1]\itemtomacro\ListeRelie[##1,1]\untest%
-\ifx\bla\untest\bla%
+ \begin{tabular}{p{\useKV[ClesRelie]{LargeurG}}cp{\useKV[ClesRelie]{Ecart}}cp{\useKV[ClesRelie]{LargeurD}}}%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{%
+ \ListeRelie[##1,1]\itemtomacro\ListeRelie[##1,1]\untest%
+ \ifx\bla\untest\bla%
\uppercase{&}\stepcounter{NbRelie}%
\else
\uppercase{&}\stepcounter{NbRelie}\tikz[remember
picture,overlay]{\node[name=RelieG-\theNbRelie,inner
sep=0pt]{};\fill[]
(RelieG-\theNbRelie) circle[radius=1.5pt];}
-\fi&&&\ListeRelie[##1,2]\\}%
+ \fi&&
+ \itemtomacro\ListeRelie[##1,2]\untest
+ \ifx\bla\untest\bla\else\stepcounter{NbRelieD}\tikz[remember
+ picture]{\node[name=RelieD-\theNbRelieD,inner
+ sep=0pt]{};\fill[] (RelieD-\theNbRelieD) circle[radius=1.5pt]}
+ \fi
+ &\itemtomacro\ListeRelie[##1,2]\untest%
+ \ifx\bla\untest\bla
+ \else
+ \ListeRelie[##1,2]
+ \fi\\}%
\end{tabular}%
- \setcounter{NbRelie}{0}%
+ %\setcounter{NbRelie}{0}%
+ %\setcounter{NbRelieD}{0}%
}%
\def\buildtabrelieauto{%
\setcounter{NbRelie}{0}%
+ \setcounter{NbRelieD}{0}%
\xdef\PfCFooListeNbQ{1}%
\xintFor* ##1 in{\xintSeq{2}{\ListeRelielen}}\do{%
\xdef\PfCFooListeNbQ{\PfCFooListeNbQ,##1}%
@@ -110,4 +109,5 @@
\fi&&&\itemtomacro\PfCListeReponsesMelangees[##1]\PfCNumReponses\ListeRelie[\PfCNumReponses,2]\\}%
\end{tabular}%
\setcounter{NbRelie}{0}%
-}% \ No newline at end of file
+}%
+
diff --git a/macros/latex/contrib/profcollege/latex/PfCSolides.tex b/macros/latex/contrib/profcollege/latex/PfCSolides.tex
index 9da7bce259..037b80e50f 100644
--- a/macros/latex/contrib/profcollege/latex/PfCSolides.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCSolides.tex
@@ -1,11 +1,118 @@
%%%
% Solide et sections
%%%
-\setKVdefault[ClesSolides]{Nom=cube,Aretes,Sommets,Pointilles,Largeur=1.5,Hauteur=1,Profondeur=0.75,ListeSommets={A,B,C,D,E,F,G,H},Rho=1500,Phi=30,Theta=20,Distance=50,Code=false,Couleur=white,Anglex=0,RayonCone=1,HauteurCone=2,HauteurPyramide=2,SommetsPyramide=5,Reguliere=false,DecalageSommet={(0,0,0)},RayonCylindre=1,HauteurCylindre=2,RayonSphere=1,AutoLabel=true,Sections=false,CoefSection=0.3,Axes=false,PointsSection={M,N,O,P},RemplisSection=false,ObjetSection={0.5,E,H,0.25,F,G,G,B}}%
+\setKVdefault[ClesSolides]{Nom=cube,Aretes,Sommets,Pointilles,Largeur=1.5,Hauteur=1,Profondeur=0.75,ListeSommets={A,B,C,D,E,F,G,H},Rho=1500,Phi=30,Theta=20,Distance=50,Code=false,Couleur=white,Anglex=0,Arete=1,RayonCone=1,HauteurCone=2,HauteurPrisme=2,SommetsPrisme=6,HauteurPyramide=2,SommetsPyramide=5,Reguliere=false,DecalageSommet={(0,0,0)},RayonCylindre=1,HauteurCylindre=2,RayonSphere=1,AutoLabel=true,Sections=false,CoefSection=0.3,Axes=false,PointsSection={M,N,O,P},RemplisSection=false,ObjetSection={0.5,E,H,0.25,F,G,G,B}}%
\defKV[ClesSolides]{Traces=\setKV[ClesSolides]{Code}}%
\defKV[ClesSolides]{Section=\setKV[ClesSolides]{Sections}}%
\defKV[ClesSolides]{CouleurSection=\setKV[ClesSolides]{RemplisSection}}%
+\newcommand\MPSolidePrisme[4]{%
+ \ifluatex
+ \mplibnumbersystem{double}
+ \mplibforcehmode
+ \begin{mplibcode}
+ input PfCSolid;
+
+ boolean Pointilles,TraceArete,NommeSommets,Code,AutoLabel,Sections,RemplisSection;
+ AutoLabel:=\useKV[ClesSolides]{AutoLabel};
+ Pointilles=\useKV[ClesSolides]{Pointilles};
+ TraceArete=\useKV[ClesSolides]{Aretes};
+ NommeSommets=\useKV[ClesSolides]{Sommets};
+ Code=\useKV[ClesSolides]{Code};
+ Sections:=\useKV[ClesSolides]{Sections};
+ RemplisSection=\useKV[ClesSolides]{RemplisSection};
+ if RemplisSection:color CouleurSection;CouleurSection=\useKV[ClesSolides]{CouleurSection};fi;
+
+ color PfCOutColor;
+ PfCOutColor=Cornsilk;%\useKV[ClesSolides]{Couleur};
+
+ string Section;
+ if Sections:Section=\useKV[ClesSolides]{Section};fi;
+
+ %Initialisation
+ PfCRho=\useKV[ClesSolides]{Rho};
+ PfCPhi=\useKV[ClesSolides]{Phi};
+ PfCTheta=\useKV[ClesSolides]{Theta};
+ PfCDistance=\useKV[ClesSolides]{Distance};
+ anglerotationx=\useKV[ClesSolides]{Anglex};
+ hauteurprisme=\useKV[ClesSolides]{HauteurPrisme};
+ nombresommets=\useKV[ClesSolides]{SommetsPrisme};
+ Initialisation(PfCRho,PfCPhi,PfCTheta,PfCDistance);
+ typetrace:="3D";
+ typerepre:="persp";
+ eclairage:=false;
+ incolor:=white;
+ outcolor:=white;
+ if Pointilles=false:
+ pointilles:="non";
+ fi;
+
+ Ferme1:=true;
+
+ color A,B,C,D,E,F,G,H;
+ color Sommet[];
+
+ NbS:=nombresommets;
+
+ color TS[];
+
+ ecartangle=360/(NbS/2);
+ for k=1 upto (NbS/2):
+ repereangle:=(k-2)*ecartangle+(ecartangle*0.25+uniformdeviate(floor(ecartangle/2)));
+ TS[k]:=(cosd(repereangle),-sind(repereangle),0);
+ endfor;
+ TS[NbS/2+1]:=TS[1];
+
+ for k=1 upto (NbS/2):
+ TS[NbS/2+1+k]:=TS[k]+(0,0,hauteurprisme);
+ endfor;
+ TS[NbS+2]:=TS[NbS/2+2];
+
+ angx:=anglerotationx;
+ for k=1 upto (NbS+2):
+ TS[k]:=RotXYZ(TS[k]);
+ endfor;
+ angx:=0;
+
+ ObjetNew1(%
+ TS1, for k=2 upto (NbS+1):TS[k], endfor TS[NbS+2]
+ )(%
+ NbS/2, for p_=1 upto NbS/2:p_, endfor
+ NbS/2, for p_=NbS/2+1 downto NbS+2:p_, endfor
+ for p=1 upto NbS/2:
+ 4,p,p+1,NbS/2+1+p+1,NbS/2+1+p,%
+ endfor
+ );
+ %AffichageObjet1;
+
+ NF:=(NbS/2+2);
+ Fc[100*(NbS/2+1)]:=NbS/2;
+ for k=1 upto NbS/2:
+ Fc[100*(NbS/2+1)+k]:=k;
+ endfor;
+ Fc[100*(NbS/2+2)]:=NbS/2;
+ for k=1 upto NbS/2:
+ Fc[100*(NbS/2+2)+k]:=NbS+2-k;
+ endfor;
+ for l=1 upto NbS/2:
+ Fc[l*100]:=4;
+ %for k=1 upto 4:
+ Fc[l*100+1]:=l;Fc[l*100+4]:=l+1;Fc[l*100+3]:=NbS/2+1+l+1;Fc[l*100+2]:=NbS/2+1+l;
+ %Fc[101]:=1;Fc[102]:=2;Fc[103]:=6;Fc[104]:=5;
+ %endfor;
+ endfor;
+ DessineObjet;
+% picture Depart;
+% Depart=currentpicture;
+% currentpicture:=nullpicture;
+% for k=1 upto 8:
+% dotlabel.top(decimal(k),Projette(TS[k]));
+% endfor;
+ \end{mplibcode}
+ \mplibnumbersystem{scaled}
+ \fi
+}
+
\newcommand\MPSolideCylindre[3]{%
\ifluatex
\mplibnumbersystem{double}
@@ -927,7 +1034,7 @@
\foreachitem\compteur\in\ListeNomSommet{\expandafter\UpdatetoksSolide\compteur\nil}%\the\toksolidelistesommets%
\IfStrEqCase{\useKV[ClesSolides]{Nom}}{%
{cube}{%
- \MPSolidePave{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{1,1,1}{\useKV[ClesSolides]{PointsSection}}{\useKV[ClesSolides]{ObjetSection}}%
+ \MPSolidePave{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{Arete},\useKV[ClesSolides]{Arete},\useKV[ClesSolides]{Arete}}{\useKV[ClesSolides]{PointsSection}}{\useKV[ClesSolides]{ObjetSection}}%
}%
{pave}{%
\MPSolidePave{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{Profondeur},\useKV[ClesSolides]{Largeur},\useKV[ClesSolides]{Hauteur}}{\useKV[ClesSolides]{PointsSection}}{\useKV[ClesSolides]{ObjetSection}}%
@@ -935,6 +1042,9 @@
{cone}{%
\MPSolideCone{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{PointsSection}}%
}%
+ {prisme}{%
+ \MPSolidePrisme{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{}{\useKV[ClesSolides]{PointsSection}}%
+ }%
{pyramide}{%
\MPSolidePyramide{\useKV[ClesSolides]{ListeSommets}}{\the\toksolidelistesommets}{\useKV[ClesSolides]{DecalageSommet}}{\useKV[ClesSolides]{PointsSection}}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCTortueBase.tex b/macros/latex/contrib/profcollege/latex/PfCTortueBase.tex
index 949c781ce7..461a42fb71 100644
--- a/macros/latex/contrib/profcollege/latex/PfCTortueBase.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCTortueBase.tex
@@ -18,9 +18,10 @@
Axes=false,%Affichage des axes ou pas
Origine={(0,0)},%Origine des axes
Cases=false,%Se déplace-t-on sur des cases ?
+ Trace=false%
}
\defKV[Tortue]{Etape=\setKV[Tortue]{Etapes}}%choix de l'étape d'arrêt
-
+\defKV[Tortue]{Traces=\setKV[Tortue]{Trace}}%
\newcounter{PfCTortue}
\setcounter{PfCTortue}{0}
@@ -178,6 +179,9 @@
\ifboolKV[Tortue]{Etapes}{%
\immediate\write\turtle@out{drawoptions(withcolor DarkGreen);label(btex \noexpand\Large\noexpand\ding{40} etex rotated RetiensAngle[Total] scaled 1.5,A[Total]);}%
}{\ifboolKV[Tortue]{TortueF}{\immediate\write\turtle@out{drawoptions(withcolor DarkGreen);label(btex \noexpand\Large\noexpand\ding{40} etex rotated RetiensAngle[k] scaled 1.5,A[k]);}}{}}%
+ \ifboolKV[Tortue]{Trace}{%
+ \immediate\write\turtle@out{\useKV[Tortue]{Traces}}%
+ }{}%
\immediate\closeout\turtle@out%
\restorecomparemode%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCUrneProba.tex b/macros/latex/contrib/profcollege/latex/PfCUrneProba.tex
new file mode 100644
index 0000000000..895f96136c
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCUrneProba.tex
@@ -0,0 +1,928 @@
+%%%
+% Urne et probabilités
+%%%
+\newtoks\tokUrneListeCouleurs%
+\newtoks\tokUrneListeColonnes%
+\newtoks\tokUrneListeNombres%
+
+\def\UpdatetoksUrneCouleurs#1\nil{\addtotok\tokUrneListeCouleurs{#1,}}%
+\def\UpdatetoksUrneNombres#1\nil{\addtotok\tokUrneListeNombres{"#1",}}%
+\def\UpdatetoksUrneColonnes#1\nil{\addtotok\tokUrneListeColonnes{"#1",}}%
+
+\setKVdefault[PfCUrne]{Couleurs=false,Nombres=false,Pas=4,Echelle=1,Repartition={1,2,3},Double=false,RepartitionC={1,2,3},RepartitionN={1,2,3},Roue=false,Rayon=3,Tableau=false,SansRemise=false,Solution=false,Codes=false,CouleurLigne=0.85white,CouleurColonne=0.85white,Different=false,RepartitionLigne={1,2,3},RepartitionColonne={1,2,3},Impression,Casino=false}%
+\defKV[PfCUrne]{Traces=\setKV[PfCUrne]{Codes}}%
+\defKV[PfCUrne]{ListeCouleurs=\setKV[PfCUrne]{Couleurs}\setsepchar{,}\ignoreemptyitems\readlist*\ListeCouleursAv{#1}\reademptyitems}%
+\defKV[PfCUrne]{ListeNombres=\setKV[PfCUrne]{Nombres}\setsepchar{,}\ignoreemptyitems\readlist*\ListeNombresAv{#1}\reademptyitems}%
+\defKV[PfCUrne]{ListeColonne=\setsepchar{,}\ignoreemptyitems\readlist*\ListeCouleursAv{#1}\reademptyitems}%
+\defKV[PfCUrne]{ListeLigne=\setsepchar{,}\ignoreemptyitems\readlist*\ListeNombresAv{#1}\reademptyitems}%
+
+\NewDocumentCommand\BuildRoulette{}{%
+ \ifluatex
+ \begin{Geometrie}[Cadre="aucun"]
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+
+ color colzero,colrouge,coltoura,coltourb,colbarre;
+
+ boolean Impression;
+ Impression=\useKV[PfCUrne]{Impression};
+
+ if Impression=false:
+ colzero=green;
+ colrouge=red;
+ coltoura=(179,103,0)/256;
+ coltourb=(179,111,48)/256;%(184,114,50)/256;
+ colbarre=0.7529white;
+ else:
+ colzero=white;
+ colrouge=white;
+ coltoura=black;
+ coltourb=black;
+ colbarre=black;
+ fi;
+ pair O,A[],B[],C[],D[];
+ path cc[];
+ O=(0,0);
+ cc1=cercles(O,2u);
+ cc2=cercles(O,2.75u);
+ cc3=cercles(O,3.5u);
+ cc4=cercles(O,3.7u);
+ cc5=cercles(O,4u);
+ cc6=cercles(O,3.125u);
+ cc7=cercles(O,2.375u);
+ if Impression=false:
+ fill cc5 withcolor coltoura;
+ fill cc4 withcolor coltourb;
+ fill cc1 withcolor coltoura;
+ trace cc1 withpen pencircle scaled 1.05;
+ trace cc5 withpen pencircle scaled 1.05;
+ trace cc4 withpen pencircle scaled 1.05;
+ trace cc3 withpen pencircle scaled 1.05;
+ else:
+ fill cc5;
+ fill cc4 withcolor white;
+ trace cc1;
+ trace cc3;
+ fi;
+ for k=0 upto 38:
+ A[k]=pointarc(cc3,90-k*(360/37));
+ B[k]=pointarc(cc1,90-k*(360/37));
+ endfor;
+ na:=1;
+ for p_=32,15,19,4,21,2,25,17,34,6,27,13,36,11,30,8,23,10,5,24,16,33,1,20,14,31,9,22,18,29,7,28,12,35,3,26,0:
+ if (na mod 2)=0:
+ fill arccercle(A[na],A[na-1],O)--B[na-1]--reverse(arccercle(B[na],B[na-1],O))--cycle;
+ drawoptions(withcolor white);
+ label(TEX("\textbf{"&decimal(p_)&"}") rotated (-na*(360/37)),pointarc(cc6,90+0.5*(360/37)-na*(360/37)));
+ drawoptions();
+ else:
+ if p_=0:
+ fill arccercle(A[na],A[na-1],O)--B[na-1]--reverse(arccercle(B[na],B[na-1],O))--cycle withcolor colzero;
+ else:
+ fill arccercle(A[na],A[na-1],O)--B[na-1]--reverse(arccercle(B[na],B[na-1],O))--cycle withcolor colrouge;
+ fi;
+ if Impression=false:
+ drawoptions(withcolor white);
+ fi;
+ label(TEX("\textbf{"&decimal(p_)&"}") rotated (-na*(360/37)),pointarc(cc6,90+0.5*(360/37)-na*(360/37)));
+ if Impression=false:
+ drawoptions();
+ fi;
+ fi;
+ trace arccercle(A[na],A[na-1],O)--B[na-1]--reverse(arccercle(B[na],B[na-1],O))--cycle;
+ na:=na+1;
+ endfor;
+ trace cc2;
+ fill cercles(pointarc(cc7,90+0.5*(360/37)),0.125u);%dotlabel("",);
+ % barre
+ cc8=cercles(O,1.5u);
+ cc9=cercles(O,0.25u);
+ fill cc9 withcolor colbarre;
+ pair E[];
+ anglebase=floor(uniformdeviate(360));
+ E1=pointarc(cc8,anglebase);
+ E4=pointarc(cc8,anglebase+6);
+ E3=symetrie(E1,O);
+ E2=symetrie(E4,O);
+ E5=pointarc(cc8,anglebase+90);
+ E8=pointarc(cc8,anglebase+6+90);
+ E7=symetrie(E5,O);
+ E6=symetrie(E8,O);
+ fill polygone(E1,E2,E3,E4) withcolor colbarre;
+ fill polygone(E5,E6,E7,E8) withcolor colbarre;
+ pair F[];
+ F1=(E1--iso(E1,E2)) intersectionpoint cc9;
+ F2=(E4--iso(E3,E4)) intersectionpoint cc9;
+ F3=(E5--iso(E6,E5)) intersectionpoint cc9;
+ F4=(E8--iso(E7,E8)) intersectionpoint cc9;
+ F5=(E3--iso(E4,E3)) intersectionpoint cc9;
+ F6=(E2--iso(E2,E1)) intersectionpoint cc9;
+ F7=(E7--iso(E8,E7)) intersectionpoint cc9;
+ F8=(E6--iso(E6,E5)) intersectionpoint cc9;
+ trace E1--E4--F2--arccercle(F2,F3,O)--E5--E8--F4--arccercle(F4,F5,O)--E3--E2--F6--arccercle(F6,F7,O)--E7--E6--F8--arccercle(F8,F1,O)--cycle;
+ \end{Geometrie}
+ \fi
+}%
+
+\NewDocumentCommand\BuildTableauDoubleEntreeDifferent{mmmm}{%
+ % #1 : les labels en colonne
+ % #2 : les labels en ligne
+ % #3 : la répartition en colonne
+ % #4 : la répartition en ligne
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+ numeric RetiensNumC[],RetiensNumL[];
+ %
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNumL[n]=p_;
+ n:=n+1;
+ endfor;
+ totallignes=n;
+ enddef;
+ %
+ vardef RecupRepartitionC(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNumC[n]=p_;
+ n:=n+1;
+ endfor;
+ totalcolonnes=n;
+ enddef;
+ %
+ string Colonnes[];
+ vardef RecuperationColonnes(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Colonnes[n]=p_;
+ endfor;
+ enddef;
+ %
+ string Lignes[];
+ vardef RecuperationLignes(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Lignes[n]=p_;
+ endfor;
+ enddef;
+ %
+ boolean Solution, Codes;
+ Solution=\useKV[PfCUrne]{Solution};
+ Codes=\useKV[PfCUrne]{Codes};
+ %
+ color ColLigne,ColColonne;
+ ColLigne=\useKV[PfCUrne]{CouleurLigne};
+ ColColonne=\useKV[PfCUrne]{CouleurColonne};
+ %
+ RecupRepartitionC(#3);
+ RecupRepartition(#4);
+ RecuperationColonnes(#1);
+ RecuperationLignes(#2);
+
+ pair A[][],C[][];
+ for k=0 upto totallignes+1:
+ for l=0 upto totalcolonnes+1:
+ A[k][l]=(0,0) shifted(u*(l,-k));
+ C[k][l]=A[k][l] shifted(u*(0.5,-0.5));
+ endfor;
+ endfor;
+
+ fill polygone(A[0][1],A[0][totalcolonnes+1],A[1][totalcolonnes+1],A[1][1]) withcolor ColLigne;
+ fill polygone(A[1][0],A[totallignes+1][0],A[totallignes+1][1],A[1][1]) withcolor ColColonne;
+ for k=1 upto totalcolonnes:
+ label(TEX(Colonnes[RetiensNumC[k-1]]),iso(A[1][k],A[0][k+1]));
+ endfor;
+ for k=1 upto totallignes:
+ label(TEX(Lignes[RetiensNumL[k-1]]),iso(A[k][0],A[k+1][1]));
+ endfor;
+ %
+ for k=1 upto totallignes:
+ trace segment(A[k][0],A[k][totalcolonnes+1]);
+ endfor;
+ for k=1 upto totalcolonnes:
+ trace segment(A[0][k],A[totallignes+1][k]);
+ endfor;
+ trace A[1][0]--A[totallignes+1][0]--A[totallignes+1][totalcolonnes+1]--A[0][totalcolonnes+1]--A[0][1];
+ labeloffset:=labeloffset*4;
+ label.top(TEX("Tirage 1"),iso(A[0][1],A[0][totalcolonnes+1]));
+ label.lft(TEX("Tirage 2") rotated 90,iso(A[totallignes+1][0],A[1][0]));
+ labeloffset:=labeloffset/4;
+
+ path ccsol[][];
+
+ if Solution:
+ for k=1 upto totallignes:
+ for l=1 upto totalcolonnes:
+ label(TEX(Colonnes[RetiensNumC[l-1]]&"--"&Lignes[RetiensNumL[k-1]]),iso(A[k][l],A[k+1][l+1]));
+ endfor;
+ endfor;
+ fi;
+
+ if Codes:
+ \useKV[PfCUrne]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\BuildTableauDoubleEntree{mmm}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+ numeric RetiensNum[];
+ %
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+ %
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+ %
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+ %
+ numeric Pas,Rayon;
+ Pas=\useKV[PfCUrne]{Pas};
+ Rayon=\useKV[PfCUrne]{Rayon};
+ %
+ boolean Couleurs, Nombres, Roue, Solution, SansRemise, Codes;
+ Couleurs=\useKV[PfCUrne]{Couleurs};
+ Nombres=\useKV[PfCUrne]{Nombres};
+ Roue=\useKV[PfCUrne]{Roue};
+ Solution=\useKV[PfCUrne]{Solution};
+ SansRemise=\useKV[PfCUrne]{SansRemise};
+ Codes=\useKV[PfCUrne]{Codes};
+
+ color ColLigne,ColColonne;
+ ColLigne=\useKV[PfCUrne]{CouleurLigne};
+ ColColonne=\useKV[PfCUrne]{CouleurColonne};
+
+ RecupRepartition(#3);
+ if Couleurs:
+ RecuperationCouleurs(#1);
+ fi;
+ if Nombres:
+ RecuperationNombres(#2);
+ fi;
+
+ pair O;
+ pair A[][],C[][];
+ for k=0 upto totalboules+1:
+ for l=0 upto totalboules+1:
+ A[k][l]:=(0,0) shifted(u*(l,-k));
+ endfor;
+ endfor;
+
+ for k=0 upto totalboules:
+ for l=0 upto totalboules:
+ C[k][l]=A[k][l] shifted(u*(0.5,-0.5));
+ endfor;
+ endfor;
+
+ if Couleurs:
+ drawoptions(withpen pencircle scaled 0.75);
+ for k=1 upto totalboules:
+ fill cercles(iso(A[1][k],A[0][k+1]),0.35u) withcolor Col[RetiensNum[k-1]];
+ fill cercles(iso(A[k][0],A[k+1][1]),0.35u) withcolor Col[RetiensNum[k-1]];
+ trace cercles(iso(A[1][k],A[0][k+1]),0.35u);
+ trace cercles(iso(A[k][0],A[k+1][1]),0.35u);
+ endfor;
+ drawoptions();
+ else:
+ fill polygone(A[0][1],A[0][totalboules+1],A[1][totalboules+1],A[1][1]) withcolor ColLigne;
+ fill polygone(A[1][0],A[totalboules+1][0],A[totalboules+1][1],A[1][1]) withcolor ColColonne;
+ for k=1 upto totalboules:
+ label(TEX(Nombres[RetiensNum[k-1]]),iso(A[1][k],A[0][k+1]));
+ label(TEX(Nombres[RetiensNum[k-1]]),iso(A[k][0],A[k+1][1]));
+ endfor;
+ fi;
+ if SansRemise:
+ for k=1 upto totalboules:
+ draw 1/8[A[k][k],A[k+1][k+1]]--7/8[A[k][k],A[k+1][k+1]];
+ draw 1/8[A[k+1][k],A[k][k+1]]--7/8[A[k+1][k],A[k][k+1]];
+ endfor;
+ fi;
+ for k=1 upto totalboules:
+ trace segment(A[k][0],A[k][totalboules+1]);
+ trace segment(A[0][k],A[totalboules+1][k]);
+ endfor;
+ trace A[1][0]--A[totalboules+1][0]--A[totalboules+1][totalboules+1]--A[0][totalboules+1]--A[0][1];
+ labeloffset:=labeloffset*4;
+ label.top(TEX("Tirage 1"),iso(A[0][1],A[0][totalboules+1]));
+ label.lft(TEX("Tirage 2") rotated 90,iso(A[totalboules+1][0],A[1][0]));
+ labeloffset:=labeloffset/4;
+
+ path ccsol[][];
+
+ if Solution:
+ if Couleurs:
+ drawoptions(withpen pencircle scaled 0.75);
+ for k=1 upto totalboules:
+ for l=1 upto totalboules:
+ ccsol[k][l]=cercles(iso(A[k][l],A[k+1][l+1]),0.25u);
+ if SansRemise:
+ if k<>l:
+ fill arccercle(pointarc(ccsol[k][l],315),pointarc(ccsol[k][l],135),iso(A[k][l],A[k+1][l+1]))--iso(A[k][l],A[k+1][l+1])--cycle withcolor Col[RetiensNum[l-1]];
+ fill arccercle(pointarc(ccsol[k][l],135),pointarc(ccsol[k][l],315),iso(A[k][l],A[k+1][l+1]))--iso(A[k][l],A[k+1][l+1])--cycle withcolor Col[RetiensNum[k-1]];
+ trace segment(pointarc(ccsol[k][l],135),pointarc(ccsol[k][l],315));
+ trace ccsol[k][l];
+ fi;
+ else:
+ fill arccercle(pointarc(ccsol[k][l],315),pointarc(ccsol[k][l],135),iso(A[k][l],A[k+1][l+1]))--iso(A[k][l],A[k+1][l+1])--cycle withcolor Col[RetiensNum[l-1]];
+ fill arccercle(pointarc(ccsol[k][l],135),pointarc(ccsol[k][l],315),iso(A[k][l],A[k+1][l+1]))--iso(A[k][l],A[k+1][l+1])--cycle withcolor Col[RetiensNum[k-1]];
+ trace segment(pointarc(ccsol[k][l],135),pointarc(ccsol[k][l],315));
+ trace ccsol[k][l];
+ fi;
+ endfor;
+ endfor;
+ drawoptions();
+ else:
+ for k=1 upto totalboules:
+ for l=1 upto totalboules:
+ if SansRemise:
+ if k<>l:
+ label(TEX(Nombres[RetiensNum[l-1]]&"--"&Nombres[RetiensNum[k-1]]),iso(A[k][l],A[k+1][l+1]));
+ fi;
+ else:
+ label(TEX(Nombres[RetiensNum[l-1]]&"--"&Nombres[RetiensNum[k-1]]),iso(A[k][l],A[k+1][l+1]));
+ fi;
+ endfor;
+ endfor;
+ fi;
+ fi;
+
+ if Codes:
+ \useKV[PfCUrne]{Traces};
+ fi;
+ \end{mplibcode}
+ \fi
+}%
+
+\NewDocumentCommand\BuildUrne{mmm}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+ numeric RetiensNum[];
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+
+ numeric Pas,Rayon;
+ Pas=\useKV[PfCUrne]{Pas};
+ Rayon=\useKV[PfCUrne]{Rayon};
+
+ boolean Couleurs, Nombres, Roue;
+ Couleurs=\useKV[PfCUrne]{Couleurs};
+ Nombres=\useKV[PfCUrne]{Nombres};
+ Roue=\useKV[PfCUrne]{Roue};
+
+ RecupRepartition(#3);
+ if Couleurs:
+ RecuperationCouleurs(#1);
+ fi;
+ if Nombres:
+ RecuperationNombres(#2);
+ fi;
+
+ pair O;
+ pair A[],B[];
+
+ if Roue:
+ O=(0,0);
+ path cc;
+ cc=cercles(O,Rayon*u);
+ angd=180/totalboules;
+ angr=360/totalboules;
+ for k=1 upto totalboules:
+ A[k]=17/20[O,pointarc(cc,angd+(k-1)*angr)];
+ endfor;
+ drawarrow rotation((O+u*(0,1.35*Rayon))--(O+u*(0,1.1*Rayon)),O,angd);
+ % trace cc;
+ B[0]=pointarc(cc,0);
+ for k=1 upto totalboules:
+ B[k]=pointarc(cc,k*angr);
+ if Couleurs:
+ fill O--arccercle(B[k-1],B[k],O)--cycle withcolor if unknown Col[RetiensNum[k-1]]:white else: Col[RetiensNum[k-1]] fi;
+ else:
+ label(TEX(Nombres[RetiensNum[k-1]]),A[k]);
+ fi;
+ endfor;
+ trace cc;
+ for k=1 upto totalboules:
+ trace O--B[k];
+ endfor;
+ else:
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ A[rang]=u*(0.5,0.5)+u*(l,k);
+ if Couleurs:
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensNum[rang]]:white else: Col[RetiensNum[rang]] fi;
+ else:
+ label(TEX(Nombres[RetiensNum[rang]]),A[rang]);
+ fi;
+ %trace cercles(A[k*Pas+l],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ A[rang]=u*(0.5,0.5)+u*(k+0.5,totalboules div Pas-1+cosd(30));
+ if Couleurs:
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensNum[rang]]:white else: Col[RetiensNum[rang]] fi;
+ else:
+ label(TEX(Nombres[RetiensNum[rang]]),A[rang]);
+ fi;
+ %trace cercles(A[(totalboules div Pas)*Pas+k],0.5u);
+ endfor;
+ %
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ %
+ drawoptions(withpen pencircle scaled 1.2);
+ if totalboules<Pas:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0-(1-cosd(30)))--u*(Pas,0-(1-cosd(30)))--u*(Pas,(totalboules div Pas)+1.15);
+ else:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0)--u*(Pas,0)--u*(Pas,(totalboules div Pas)+1.15);
+ fi;
+ fi;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={u:=\useKV[PfCUrne]{Echelle}*1cm;numeric Pas;Pas=\useKV[PfCUrne]{Pas}; boolean Couleurs, Nombres; Couleurs=\useKV[PfCUrne]{Couleurs}; Nombres=\useKV[PfCUrne]{Nombres};}]
+ numeric RetiensNum[];
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+
+ RecupRepartition(#3);
+ if Couleurs:
+ RecuperationCouleurs(#1);
+ fi;
+ if Nombres:
+ RecuperationNombres(#2);
+ fi;
+
+ pair A[];
+
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ A[rang]=u*(0.5,0.5)+u*(l,k);
+ if Couleurs:
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensNum[rang]]:white else: Col[RetiensNum[rang]] fi;
+ else:
+ label(LATEX(Nombres[RetiensNum[rang]]),A[rang]);
+ fi;
+ %trace cercles(A[k*Pas+l],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ A[rang]=u*(0.5,0.5)+u*(k+0.5,totalboules div Pas-1+cosd(30));
+ if Couleurs:
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensNum[rang]]:white else: Col[RetiensNum[rang]] fi;
+ else:
+ label(LATEX(Nombres[RetiensNum[rang]]),A[rang]);
+ fi;
+ %trace cercles(A[(totalboules div Pas)*Pas+k],0.5u);
+ endfor;
+ %
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ %
+ drawoptions(withpen pencircle scaled 1.2);
+ if totalboules<Pas:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0-(1-cosd(30)))--u*(Pas,0-(1-cosd(30)))--u*(Pas,(totalboules div Pas)+1.15);
+ else:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0)--u*(Pas,0)--u*(Pas,(totalboules div Pas)+1.15);
+ fi;
+ \end{mpost}
+ \fi
+}%
+
+\NewDocumentCommand\BuildUrneDouble{mmmm}{%
+ % #1 Liste Couleurs
+ % #2 Liste Nombres
+ % #3 Repartition des couleurs
+ % #4 Repartition des nombres
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ u:=\useKV[PfCUrne]{Echelle}*1cm;
+ numeric RetiensC[],RetiensNum[];
+ vardef RecupRepartitionC(text t)=
+ n:=0;
+ for p_=t:
+ RetiensC[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ enddef;
+
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+
+ numeric Pas,Rayon;
+ Pas=\useKV[PfCUrne]{Pas};
+ Rayon=\useKV[PfCUrne]{Rayon};
+
+ boolean Roue;
+ Roue=\useKV[PfCUrne]{Roue};
+
+ RecupRepartitionC(#3);
+ RecupRepartition(#4);
+ RecuperationCouleurs(#1);
+ RecuperationNombres(#2);
+
+ pair O;
+ pair A[],B[];
+
+ if Roue:
+ O=(0,0);
+ path cc;
+ cc=cercles(O,Rayon*u);
+ angd=180/totalboules;
+ angr=360/totalboules;
+ for k=1 upto totalboules:
+ A[k]=17/20[O,pointarc(cc,angd+(k-1)*angr)];
+ endfor;
+ B[0]=pointarc(cc,0);
+ for k=1 upto totalboules:
+ B[k]=pointarc(cc,k*angr);
+ fill O--arccercle(B[k-1],B[k],O)--cycle withcolor if unknown Col[RetiensC[k-1]]:white else: Col[RetiensC[k-1]] fi;
+ label(TEX(Nombres[RetiensNum[k-1]]),A[k]);
+ endfor;
+ trace cc;
+ for k=1 upto totalboules:
+ trace O--B[k];
+ endfor;
+ drawarrow rotation((O+u*(0,1.35*Rayon))--(O+u*(0,1.1*Rayon)),O,angd);
+ else:
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ A[rang]=u*(0.5,0.5)+u*(l,k);
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensC[rang]]:white else: Col[RetiensC[rang]] fi;
+ label(TEX(Nombres[RetiensNum[rang]]),A[rang]);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ A[rang]=u*(0.5,0.5)+u*(k+0.5,totalboules div Pas-1+cosd(30));
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensC[rang]]:white else: Col[RetiensC[rang]] fi;
+ label(TEX(Nombres[RetiensNum[rang]]),A[rang]);
+ endfor;
+ %
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ %
+ drawoptions(withpen pencircle scaled 1.2);
+ if totalboules<Pas:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0-(1-cosd(30)))--u*(Pas,0-(1-cosd(30)))--u*(Pas,(totalboules div Pas)+1.15);
+ else:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0)--u*(Pas,0)--u*(Pas,(totalboules div Pas)+1.15);
+ fi;
+ fi;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={u:=\useKV[PfCUrne]{Echelle}*1cm;numeric RetiensC[],RetiensNum[];numeric Pas,Rayon;Pas=\useKV[PfCUrne]{Pas};Rayon=\useKV[PfCUrne]{Rayon};boolean Roue;Roue=\useKV[PfCUrne]{Roue};}]
+ vardef RecupRepartitionC(text t)=
+ n:=0;
+ for p_=t:
+ RetiensC[n]=p_;
+ n:=n+1;
+ endfor;
+ totalboules=n;
+ enddef;
+
+ vardef RecupRepartition(text t)=
+ n:=0;
+ for p_=t:
+ RetiensNum[n]=p_;
+ n:=n+1;
+ endfor;
+ enddef;
+
+ color Col[];
+ vardef RecuperationCouleurs(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Col[n]=p_;
+ endfor;
+ enddef;
+
+ string Nombres[];
+ vardef RecuperationNombres(text t)=
+ n:=0;
+ for p_=t:
+ n:=n+1;
+ Nombres[n]=p_;
+ endfor;
+ enddef;
+
+ RecupRepartitionC(#3);
+ RecupRepartition(#4);
+ RecuperationCouleurs(#1);
+ RecuperationNombres(#2);
+
+ pair O;
+ pair A[],B[];
+
+ if Roue:
+ O=(0,0);
+ path cc;
+ cc=cercles(O,Rayon*1cm);
+ angd=180/totalboules;
+ angr=360/totalboules;
+ for k=1 upto totalboules:
+ A[k]=17/20[O,pointarc(cc,angd+(k-1)*angr)];
+ endfor;
+ B[0]=pointarc(cc,0);
+ for k=1 upto totalboules:
+ B[k]=pointarc(cc,k*angr);
+ fill O--arccercle(B[k-1],B[k],O)--cycle withcolor if unknown Col[RetiensC[k-1]]:white else: Col[RetiensC[k-1]] fi;
+ label(LATEX(Nombres[RetiensNum[k-1]]),A[k]);
+ endfor;
+ trace cc;
+ for k=1 upto totalboules:
+ trace O--B[k];
+ endfor;
+ else:
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ A[rang]=u*(0.5,0.5)+u*(l,k);
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensC[rang]]:white else: Col[RetiensC[rang]] fi;
+ label(LATEX(Nombres[RetiensNum[rang]]),A[rang]);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ A[rang]=u*(0.5,0.5)+u*(k+0.5,totalboules div Pas-1+cosd(30));
+ fill cercles(A[rang],0.5u) withcolor if unknown Col[RetiensC[rang]]:white else: Col[RetiensC[rang]] fi;
+ label(LATEX(Nombres[RetiensNum[rang]]),A[rang]);
+ endfor;
+ %
+ for k=0 upto (totalboules div Pas)-1:
+ for l=0 upto Pas-1:
+ rang:=k*Pas+l;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ endfor;
+ for k=0 upto (totalboules mod Pas)-1:
+ rang:=(totalboules div Pas)*Pas+k;
+ trace cercles(A[rang],0.5u);
+ endfor;
+ %
+ drawoptions(withpen pencircle scaled 1.2);
+ if totalboules<Pas:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0-(1-cosd(30)))--u*(Pas,0-(1-cosd(30)))--u*(Pas,(totalboules div Pas)+1.15);
+ else:
+ trace u*(0,(totalboules div Pas)+1.15)--u*(0,0)--u*(Pas,0)--u*(Pas,(totalboules div Pas)+1.15);
+ fi;
+ fi;
+ \end{mpost}
+ \fi
+}%
+
+\NewDocumentCommand\SchemaProba{o}{%
+ \useKVdefault[PfCUrne]%
+ \setKV[PfCUrne]{#1}%
+ \tokUrneListeCouleurs{}%
+ \tokUrneListeNombres{}%
+ \tokUrneListeColonnes{}%
+ \ifboolKV[PfCUrne]{Casino}{%
+ \BuildRoulette%
+ }{%
+ \ifboolKV[PfCUrne]{Tableau}{%
+ \ifboolKV[PfCUrne]{Different}{%
+ \xdef\PfCFooRepartitionC{\useKV[PfCUrne]{RepartitionColonne}}%
+ \xdef\PfCFooRepartitionL{\useKV[PfCUrne]{RepartitionLigne}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeRepartitionCAv{\PfCFooRepartitionC}%
+ \readlist*\ListeRepartitionLAv{\PfCFooRepartitionL}%
+ % Repartition : \showitems\ListeRepartitionAv[]%
+ \xdef\PfCFooListeRepartitionC{}%
+ \xdef\PfCFooListeRepartitionL{}%
+ \xdef\PfCTotalC{0}%
+ \xdef\PfCTotalL{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionCAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionCAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartitionC{\PfCFooListeRepartitionC,##1}%
+ \xdef\PfCTotalC{\fpeval{\PfCTotalC+1}}%
+ }%
+ }%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionLAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionLAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartitionL{\PfCFooListeRepartitionL,##1}%
+ \xdef\PfCTotalL{\fpeval{\PfCTotalL+1}}%
+ }%
+ }%
+ \foreachitem\compteur\in\ListeCouleursAv{\expandafter\UpdatetoksUrneColonnes\compteur\nil}%
+ \foreachitem\compteur\in\ListeNombresAv{\expandafter\UpdatetoksUrneNombres\compteur\nil}%
+ \BuildTableauDoubleEntreeDifferent{\the\tokUrneListeColonnes}{\the\tokUrneListeNombres}{\PfCFooListeRepartitionC}{\PfCFooListeRepartitionL}%
+ }{%
+ \xdef\PfCFooRepartition{\useKV[PfCUrne]{Repartition}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeRepartitionAv{\PfCFooRepartition}%
+ \xdef\PfCFooListeRepartition{}%
+ \xdef\PfCTotal{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartition{\PfCFooListeRepartition,##1}%
+ \xdef\PfCTotal{\fpeval{\PfCTotal+1}}%
+ }%
+ }%
+ \ifboolKV[PfCUrne]{Couleurs}{%
+ \foreachitem\compteur\in\ListeCouleursAv{\expandafter\UpdatetoksUrneCouleurs\compteur\nil}%
+ \BuildTableauDoubleEntree{\the\tokUrneListeCouleurs}{}{\PfCFooListeRepartition}%
+ }{%
+ \ifboolKV[PfCUrne]{Nombres}{%
+ \foreachitem\compteur\in\ListeNombresAv{\expandafter\UpdatetoksUrneNombres\compteur\nil}%
+ \BuildTableauDoubleEntree{}{\the\tokUrneListeNombres}{\PfCFooListeRepartition}%
+ }{}%
+ }%
+ }%
+ }{%
+ \ifboolKV[PfCUrne]{Double}{%
+ \xdef\PfCFooRepartitionC{\useKV[PfCUrne]{RepartitionC}}%
+ \xdef\PfCFooRepartitionN{\useKV[PfCUrne]{RepartitionN}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeRepartitionCAv{\PfCFooRepartitionC}%
+ \readlist*\ListeRepartitionNAv{\PfCFooRepartitionN}%
+ % Repartition : \showitems\ListeRepartitionAv[]%
+ \xdef\PfCFooListeRepartitionC{}%
+ \xdef\PfCFooListeRepartitionN{}%
+ \xdef\PfCTotalC{0}%
+ \xdef\PfCTotalN{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionCAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionCAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartitionC{\PfCFooListeRepartitionC,##1}%
+ \xdef\PfCTotalC{\fpeval{\PfCTotalC+1}}%
+ }%
+ }%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionNAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionNAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartitionN{\PfCFooListeRepartitionN,##1}%
+ \xdef\PfCTotalN{\fpeval{\PfCTotalN+1}}%
+ }%
+ }%
+ \MelangeListe{\PfCFooListeRepartitionC}{\PfCTotalC}%
+ \xdef\ListeRepartitionCouleurs{\faa}%
+ \foreachitem\compteur\in\ListeCouleursAv{\expandafter\UpdatetoksUrneCouleurs\compteur\nil}%
+ \MelangeListe{\PfCFooListeRepartitionN}{\PfCTotalN}%
+ \xdef\ListeRepartitionNombres{\faa}%
+ \foreachitem\compteur\in\ListeNombresAv{\expandafter\UpdatetoksUrneNombres\compteur\nil}%
+ \BuildUrneDouble{\the\tokUrneListeCouleurs}{\the\tokUrneListeNombres}{\ListeRepartitionCouleurs}{\ListeRepartitionNombres}%
+ }{%
+ \xdef\PfCFooRepartition{\useKV[PfCUrne]{Repartition}}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\ListeRepartitionAv{\PfCFooRepartition}%
+ % Repartition : \showitems\ListeRepartitionAv[]%
+ \xdef\PfCFooListeRepartition{}%
+ \xdef\PfCTotal{0}%
+ \xintFor* ##1 in{\xintSeq{1}{\ListeRepartitionAvlen}}\do{%
+ \xintFor* ##2 in{\xintSeq{1}{\ListeRepartitionAv[##1]}}\do{%
+ \xdef\PfCFooListeRepartition{\PfCFooListeRepartition,##1}%
+ \xdef\PfCTotal{\fpeval{\PfCTotal+1}}%
+ }%
+ }%
+ \ifboolKV[PfCUrne]{Couleurs}{%
+ \MelangeListe{\PfCFooListeRepartition}{\PfCTotal}%
+ \xdef\ListeRepartitionCouleurs{\faa}%
+ \foreachitem\compteur\in\ListeCouleursAv{\expandafter\UpdatetoksUrneCouleurs\compteur\nil}%
+ % Couleurs :\\
+ % La répartition est : \ListeRepartitionCouleurs\\
+ % Les couleurs sont : \the\tokUrneListeCouleurs.\\
+ \BuildUrne{\the\tokUrneListeCouleurs}{}{\ListeRepartitionCouleurs}%
+ }{%
+ \ifboolKV[PfCUrne]{Nombres}{%
+ \MelangeListe{\PfCFooListeRepartition}{\PfCTotal}%
+ \xdef\ListeRepartitionNombres{\faa}%
+ \foreachitem\compteur\in\ListeNombresAv{\expandafter\UpdatetoksUrneNombres\compteur\nil}%
+ % Nombres :\\
+ % La répartition est : \ListeRepartitionNombres\\
+ % Les nombres sont : \the\tokUrneListeNombres.\\
+ \BuildUrne{}{\the\tokUrneListeNombres}{\ListeRepartitionNombres}%
+ }{}%
+ }%
+ }%
+}%
+}%
+}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
index ca3b52ba9a..a6b767a3bf 100644
--- a/macros/latex/contrib/profcollege/latex/ProfCollege.sty
+++ b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
@@ -2,9 +2,9 @@
% licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}%
-\def\filedate{2024/05/18}%
+\def\filedate{2024/07/03}%
\let\PfCfiledate\filedate%
-\def\fileversion{0.99-A-f}%
+\def\fileversion{0.99-A-g}%
\let\PfCfileversion\fileversion%
\ProvidesPackage{ProfCollege}[\filedate\space v\fileversion\space Aide pour utiliser LaTeX au college]%
@@ -124,7 +124,6 @@
\RequirePackage{listofitems}%
\RequirePackage{datatool}%
\RequirePackage{multido}%
-
\RequirePackage{xlop}%
\RequirePackage{tcolorbox}%
@@ -637,18 +636,18 @@
\tikzset{face/.style={shape=circle,minimum size=4ex,shading=radial,outer sep=0pt, inner color=white!50!yellow,outer color= yellow!70!orange}}
\newcommand\emoticon[2][]{%
-\scalebox{.5}{\begin{tikzpicture}
-\node[face,#1,draw,thick] (emoticon) {};
+\scalebox{.5}{\begin{tikzpicture}%
+\node[face,#1,draw,thick] (emoticon) {};%
%% The eyes are fixed.
\draw[fill=white] (-1ex,0ex) ..controls (-0.5ex,0.2ex)and(0.5ex,0.2ex)..(1ex,0.0ex) ..controls ( 1.5ex,1.5ex)and( 0.2ex,1.7ex)..(0ex,0.4ex) ..controls (-0.2ex,1.7ex)and(-1.5ex,1.5ex)..(-1ex,0ex)--cycle;
#2%
\end{tikzpicture}}%
-}
+}%
-\newcommand\pupils{
+\newcommand\pupils{%
%% standard pupils
-\fill[shift={(0.5ex,0.5ex)},rotate=80] (0,0) ellipse (0.3ex and 0.15ex);
-\fill[shift={(-0.5ex,0.5ex)},rotate=100] (0,0) ellipse (0.3ex and 0.15ex);}
+\fill[shift={(0.5ex,0.5ex)},rotate=80] (0,0) ellipse (0.3ex and 0.15ex);%
+\fill[shift={(-0.5ex,0.5ex)},rotate=100] (0,0) ellipse (0.3ex and 0.15ex);}%
\def\RKsmallsmile{%
\emoticon{%
@@ -656,14 +655,14 @@
%% mouth
\draw[thick] (-0.5ex,-1ex)..controls (-0.25ex,-1.25ex)and(0.25ex,-1.25ex)..(0.5ex,-1ex);
}%\emoticon
-}
+}%
\def\RKsmile{%
\emoticon{%
\pupils
\draw[thick] (-1ex,-1ex)..controls (-0.5ex,-1.5ex)and(0.5ex,-1.5ex)..(1ex,-1ex);
}%\emoticon
-}
+}%
\def\RKbigsmile{%
\emoticon{%
@@ -671,7 +670,7 @@
%% mouth
\draw[thick] (-1.5ex,-0.5ex)..controls (-0.7ex,-1.7ex)and(0.7ex,-1.7ex)..(1.5ex,-0.5ex);
}%\emoticon
-}
+}%
\def\RKsad{%
\emoticon{%
@@ -681,7 +680,7 @@
%% mouth
\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-0.5ex)and(0.5ex,-0.5ex)..(1ex,-1ex);
}%\emoticon
-}
+}%
\def\RKneutral{%
\emoticon{%
@@ -691,7 +690,7 @@
%% mouth
\draw[thick] (-0.5ex,-1ex)--(0.5ex,-1ex);
}%\emoticon
-}
+}%
\def\RKconfused{%
\emoticon{%
@@ -716,19 +715,19 @@
(-1.00ex,1.00ex)--(-1.20ex,1.10ex)
(-0.35ex,1.15ex)--(-0.25ex,1.35ex);
}%\emoticon
-}
+}%
\def\RKangry{%
\emoticon{%
%% pupils
-\fill[shift={( 0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
-\fill[shift={(-0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);
+\fill[shift={( 0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);%
+\fill[shift={(-0.5ex,0.5ex)},rotate=90] (0,0) ellipse (0.3ex and 0.15ex);%
%% mouth
-\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-0.5ex)and(0.5ex,-0.5ex)..(1ex,-1ex);
+\draw[thick] (-1ex,-1ex)..controls(-0.5ex,-0.5ex)and(0.5ex,-0.5ex)..(1ex,-1ex);%
%% eyebrows
-\draw[thick] (0.2ex,1.15ex)--(0.5ex,1.6ex)(-0.2ex,1.15ex)--(-0.5ex,1.6ex);
+\draw[thick] (0.2ex,1.15ex)--(0.5ex,1.6ex)(-0.2ex,1.15ex)--(-0.5ex,1.6ex);%
}%\emoticon
-}
+}%
\def\RKlookup{%
\emoticon{%
@@ -826,6 +825,8 @@
\def\PfCSymbolTimes{\times}%
\def\PfCSymbolDiv{\div}%
+\input{PfCUrneProba}
+\input{PfCProbaFrequence}
\input{PfCVisualisationMulDeci}
\input{PfCArbreChiffre}
\input{PfCAssemblagesSolides}
@@ -971,4 +972,11 @@
\input{PfCDomino}
\input{PfCProgrammeCalcul}
\input{PfCPapiers}
-\input{PfCScratch} \ No newline at end of file
+\input{PfCScratch}
+
+\RequirePackage{PfCInfixRPN}
+%\makeatletter
+%\let\@nil\@empty
+%\makeatother
+
+\input{PfCArbreCalcul} \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/metapost/PfCMonde.mp b/macros/latex/contrib/profcollege/metapost/PfCMonde.mp
index fb3064cefd..6cc7f15e45 100644
--- a/macros/latex/contrib/profcollege/metapost/PfCMonde.mp
+++ b/macros/latex/contrib/profcollege/metapost/PfCMonde.mp
@@ -151,6 +151,15 @@ enddef;
vardef FZ(expr t,v)=rayon*sind(c*t)
enddef;
+vardef FXx(expr t,v)=rayon*cosd(t)*cosd(v)
+enddef;
+
+vardef FYy(expr t,v)=rayon*cosd(t)*sind(v)
+enddef;
+
+vardef FZz(expr t,v)=rayon*sind(t)
+enddef;
+
%Paramtres et macros de reprsentation
vardef Initialisation(expr r,t,p,d)=
Rho:=r;
@@ -227,6 +236,25 @@ vardef MaillageSphere=
MaillageS;
enddef;
+vardef MaillageSphereCoord=
+% InitialiseMaillage(((phim div 10)+1)*pi/12,((phip div 10)-1)*pi/12,pi/12,-pi,pi,pi/12);
+ InitialiseMaillage(-pi/2,pi/2,pi/18,-pi,pi,pi/12);
+ %MaillageS;
+ path Maillage[];
+ nbmor:=0;
+ for k=-90 step 10 until 90:
+ for l=-180 step 10 until 180:
+ nbl:=nbl+1;
+ if ProduitScalaire(1/2[(FXx(k,l),FYy(k,l),FZz(k,l)),(FXx(k+10,l+10),FYy(k+10,l+10),FZz(k+10,l+10))]-pte3,Oeil-pte3)>0:
+ nbmor:=nbmor+1;
+ Maillage[nbmor]=Projgeo((FXx(k,l),FYy(k,l),FZz(k,l)))..Projgeo((FXx(k,l+10),FYy(k,l+10),FZz(k,l+10)));
+ draw Maillage[nbmor] if k=0: withpen pencircle scaled 1 withcolor Crimson fi;
+ draw Projgeo((FXx(k,l),FYy(k,l),FZz(k,l)))..Projgeo((FXx(k+10,l),FYy(k+10,l),FZz(k+10,l))) if l=0:withpen pencircle scaled 1 withcolor LightSteelBlue fi;
+ fi;
+ endfor;
+ endfor;
+enddef;
+
boolean maille;
maille=false;
@@ -276,9 +304,19 @@ vardef lecture(expr nomfichier,fond)=
numeric ll;
ll:=0;
nbpts:=scantokens readfrom nomfichier;
- for k=1 upto (nbpts div 3):
+% for k=1 upto (nbpts div 3):
+% pair latlon;
+% latlon=((scantokens readfrom nomfichier)+(scantokens readfrom nomfichier)+(scantokens readfrom nomfichier))/3;
+ if nbpts<Allegee:
+ Alleg:=1;
+ else:
+ Alleg:=Allegee;
+ fi;
+ for k=1 upto (nbpts div Alleg):
pair latlon;
- latlon=((scantokens readfrom nomfichier)+(scantokens readfrom nomfichier)+(scantokens readfrom nomfichier))/3;
+ latlon=((scantokens readfrom nomfichier) for l=2 upto Alleg:
+ +(scantokens readfrom nomfichier)
+ endfor)/Alleg;
Coord[k]=rayon*(cosd(xpart(latlon/60))*cosd(ypart(latlon/60)),cosd(xpart(latlon/60))*sind(ypart(latlon/60)),sind(xpart(latlon/60)));
if ((xpart(latlon/60)>phim) and (xpart(latlon/60)<phip)):
if ProduitScalaire(Coord[k]-pte3,Oeil-pte3)>0:
@@ -295,7 +333,7 @@ vardef lecture(expr nomfichier,fond)=
path pays;
if ll>0:
pays=Projgeo(Pays[1])
- for l=2 upto (nbpts div 3):
+ for l=2 upto (nbpts div Alleg):%(nbpts div 3):
--Projgeo(Pays[l])
endfor;
if noncolore=true:
@@ -303,7 +341,7 @@ vardef lecture(expr nomfichier,fond)=
else:
fill pays--cycle withcolor fond;
fi;
- draw pays;
+ draw pays withpen pencircle scaled 0.25;
clip currentpicture to cercles(pte3,pte1,pte3,pte1,pte4);
fi;
enddef;
@@ -319,9 +357,19 @@ vardef Lectureiles=
ll:=0;
nbpts:=scantokens readfrom nomfichiermul;
fond=scantokens readfrom nomfichiermul;
- for k=1 upto nbpts:
+ %if nbpts<Allegee:
+ Alleg:=1;
+ %else:
+ % Alleg:=2;%pas Allegee car sinon des artefacts apparaissent
+ %fi;
+ for k=1 upto (nbpts div Alleg):
pair latlon;
- latlon=scantokens readfrom nomfichiermul;
+ latlon=((scantokens readfrom nomfichiermul) for l=2 upto Alleg:
+ +(scantokens readfrom nomfichiermul)
+ endfor)/Alleg;
+% for k=1 upto nbpts:
+% pair latlon;
+% latlon=scantokens readfrom nomfichiermul;
Coord[k]=rayon*(cosd(xpart(latlon/60))*cosd(ypart(latlon/60)),cosd(xpart(latlon/60))*sind(ypart(latlon/60)),sind(xpart(latlon/60)));
if ((xpart(latlon/60)>phim) and (xpart(latlon/60)<phip)):
if ProduitScalaire(Coord[k]-pte3,Oeil-pte3)>0:
@@ -337,7 +385,7 @@ vardef Lectureiles=
path pays;
if ll>0:
pays=Projgeo(Pays[1])
- for l=2 upto nbpts:
+ for l=2 upto (nbpts div Alleg):%nbpts:
--Projgeo(Pays[l])
endfor;
if noncolore=true:
@@ -345,9 +393,15 @@ vardef Lectureiles=
else:
fill pays--cycle withcolor fond;
fi;
- draw pays;
+ draw pays withpen pencircle scaled 0.25;
clip currentpicture to cercles(pte3,pte1,pte3,pte1,pte4);
fi;
+ % rustine pour tout lire chaque partie de Ile.dat
+ if Alleg>1:
+ for po=1 upto (nbpts mod Alleg):
+ poubelle:=scantokens readfrom nomfichiermul;
+ endfor;
+ fi;
endfor;
closefrom nomfichiermul;
enddef;
@@ -1641,6 +1695,11 @@ vardef mappemonde(expr longobs,latobs)=
MaillageSphere;
drawoptions();
fi;
+ if maillagecoord=true:
+ drawoptions(withpen pencircle scaled 0.25 withcolor couleurmaillage);
+ MaillageSphereCoord;
+ drawoptions();
+ fi;
if maille=true:
Maille;
fi;
diff --git a/macros/latex/contrib/profcollege/metapost/PfCObjets.mp b/macros/latex/contrib/profcollege/metapost/PfCObjets.mp
index fd2fbe0f2d..5dac3c967d 100644
--- a/macros/latex/contrib/profcollege/metapost/PfCObjets.mp
+++ b/macros/latex/contrib/profcollege/metapost/PfCObjets.mp
@@ -661,6 +661,55 @@ vardef DessineFusion=
endfor;
enddef;
+vardef DessineFusionCoul=
+ save _fusion;
+ picture _fusion;
+ tapj:=0;
+ color Fc[][];color cou[];
+ for l=1 upto nbobj:
+ for k=0 upto apj[l]:
+ cpt[tapj]:=tapj;
+ cou[tapj]:=Outcolor[l];
+ Fc[tapj].nb:=OTFc[l][k].nb;
+ for p=1 upto Fc[tapj].nb:
+ Fc[tapj][p]:=OTFc[l][k][p];
+ endfor;
+ Fc[tapj].iso:=OTFc[l][k].iso;
+ ALT[tapj]:=ALT[l][k];
+ Vue[tapj]:=Vue[l][k];
+ if Ferme[l]:
+ if Vue[tapj]=false:
+ tapj:=tapj-1;
+ fi;
+ fi;
+ tapj:=tapj+1;
+ endfor;
+ endfor;
+ tapj:=tapj-1;
+ QS(0,tapj);
+ for k=0 upto tapj:
+ fill for l=1 upto Fc[cpt[k]].nb:
+ Projette(Fc[cpt[k]][l])--
+ endfor
+ cycle withcolor if Vue[cpt[k]]:
+ abs(lumin(cpt[k]))*cou[cpt[k]] fi;
+ if traits:
+ draw for l=1 upto Fc[cpt[k]].nb:
+ Projette(Fc[cpt[k]][l])--
+ endfor
+ cycle withpen pencircle scaled0.25bp;
+ %add by cp 22/08/2011
+ else:
+ draw for l=1 upto Fc[cpt[k]].nb:
+ Projette(Fc[cpt[k]][l])--
+ endfor
+ cycle withcolor if Vue[cpt[k]]:
+ abs(lumin(cpt[k]))*cou[cpt[k]] fi;
+ %fin add
+ fi;
+ endfor;
+enddef;
+
vardef Objettore[](expr Rn,rn)=
Outcolor.@:=outcolor;
Incolor.@:=incolor;
@@ -1727,8 +1776,8 @@ vardef Objettetraedre[](expr ar)=
tcpt.@[0]:=0;
OTFc.@[0].nb:=3;
OTFc.@[0][1]:=Image(Sommet0);
- OTFc.@[0][2]:=Image(Sommet2);
- OTFc.@[0][3]:=Image(Sommet1);
+ OTFc.@[0][2]:=Image(Sommet1);
+ OTFc.@[0][3]:=Image(Sommet2);
OTFc.@[0].iso:=(OTFc.@[0][1]+OTFc.@[0][2]+OTFc.@[0][3])/3;
tcpt.@[1]:=1;
OTFc.@[1].nb:=3;
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
index 40cb330c40..b4802be53e 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
index 5e6698109f..c3e58a2813 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index c13d91729a..e37ce44eeb 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
@@ -3,7 +3,8 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2024/05/31 3.04c Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2024/07/13 3.04d Aide pour l'utilisation de LaTeX en lycee]
+% 3.04d PitonInputFile et styles
% 3.04c Max et min pour des fonctions
% 3.04b Travail sur la loi binomiale + Ajout de clés pour les environnements graphiques
% 3.04a Améliorations de la partie graphiques tikz (intégrales, axes) + Factorielle
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
index 418c5aa8cc..0cb6600617 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex
@@ -2,6 +2,7 @@
% Copyright 2023-2024 Cédric Pierquet
% Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+%3.04d PitonInputFile et styles, pour compatibilité pfm
%3.03c Thonny via piton + modification clé gobble ?
%3.01f PseudoCode via piton (?)
%3.01e Correction du comportement de la console repl piton/pyluatex
@@ -220,6 +221,57 @@
\endtcolorbox%
}
+%inputfile
+\NewDocumentCommand\CodePitonFichier{ O{} m D<>{} }{%
+ {\tcbset{reset}
+ \useKVdefault[envpiton]%
+ \setKV[envpiton]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %------les styles piton
+ \SetPitonStyle{ Number = \color{\CODPITcolnb} }
+ \ifboolKV[envpiton]{Lignes}%si lignes=true
+ {\PitonOptions{left-margin=0.75em,line-numbers,line-numbers={skip-empty-lines=false,label-empty-lines=true,#3}}}%left-margin=auto,
+ {}%
+ \PitonOptions{break-lines,indent-broken-lines,continuation-symbol={\;}}%,numbers-sep=0.65em}%language=Python}
+ %------les styles tcbox
+ \IfEq{\CODPITstyle}{Moderne}%style Moderne (défaut)
+ {%
+ \tcbset{cadre/.style={}}
+ \tcbset{titre/.style={}}
+ \tcbset{stylebase/.style={stylepiton,colframe=CouleurVertForet,colback=CouleurVertForet!5,width=\CODPITlargeur,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign,leftupper=0.75em}}
+ \ifboolKV[envpiton]{Filigrane}%si filigrane
+ {\tcbset{filigrane/.style={watermark text={\faPython},watermark opacity=0.175,watermark zoom=0.50}}}%
+ {\tcbset{filigrane/.style={}}}%
+ }
+ {}%
+ \IfEq{\CODPITstyle}{Classique}%style Classique
+ {%
+ \ifboolKV[envpiton]{Lignes}%si lignes=true
+ {\tcbset{stylebase/.style={thonnystylelineos,leftupper=0.75em,width=\CODPITlargeur,colframe=darkgray!50!black,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign}}}%
+ {\tcbset{stylebase/.style={thonnystyle,leftupper=0.4em,width=\CODPITlargeur,colframe=darkgray!50!black,fontupper=\CODPITfonte,fontlower=\CODPITfonte,\CODPITalign}}}%
+ \ifboolKV[envpiton]{Filigrane}%si filigrane
+ {\tcbset{filigrane/.style={watermark text={\faPython},watermark opacity=0.25,watermark zoom=0.50}}}%
+ {\tcbset{filigrane/.style={}}}%
+ \ifboolKV[envpiton]{BarreTitre}%
+ {%
+ \ifboolKV[envpiton]{Cadre}
+ {\tcbset{cadre/.style={}}}%
+ {\tcbset{cadre/.style={boxrule=0pt,frame hidden}}}%
+ \tcbset{titre/.style={lefttitle=0.4em,title={\CODPITtitre},fonttitle=\bfseries\footnotesize\sffamily,colbacktitle=darkgray!50!black}}
+ }%
+ {%
+ \tcbset{titre/.style={notitle}}
+ \ifboolKV[envpiton]{Cadre}
+ {\tcbset{cadre/.style={}}}
+ {\tcbset{cadre/.style={boxrule=0pt,frame hidden}}}
+ }
+ }
+ {}%
+ %on crée la boîte
+ \tcolorbox[stylebase,filigrane,cadre,titre]
+ \PitonInputFile{#2}
+ \endtcolorbox}%
+}
+
%piton >= 2.4
\NewPitonEnvironment{PseudoCodePiton}{ O{} m D<>{} }%
{%
@@ -317,6 +369,86 @@
\endtcolorbox%
}
+%--inputfile
+\NewDocumentCommand\PseudoCodePitonFichier{ O{} m D<>{} }{%
+ {\tcbset{reset}
+ \useKVdefault[envpcpiton]%
+ \setKV[envpcpiton]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %------les styles piton
+ \ifboolKV[envpcpiton]{Lignes}%si lignes=true
+ {\PitonOptions{left-margin=0.75em,all-line-numbers}}%left-margin=auto,
+ {}%
+ \PitonOptions{break-lines,indent-broken-lines,language=minimal,continuation-symbol={\;}}%,numbers-sep=0.65em}%
+ \SetPitonStyle{ Number = }
+ \ifboolKV[envpcpiton]{Couleurs}%
+ {%
+ \SetPitonIdentifier[minimal]{Algorithme,Fonction,Début,Paramètre,Paramètres,Faire,Fin,Si,Pour,Tant,Que,que,alors,Alors,Sinon,SinonSi,FinSi,FinPour,FinTantQue,TantQue,Variable,Variables,Procédure}{\color{MotsClesPseudoCodeA}}
+ \SetPitonIdentifier[minimal]{Afficher,Renvoyer,Saisir}{\color{MotsClesPseudoCodeB}}
+ % \PitonOptions{
+ % identifiers =
+ % {
+ % names = {Algorithme,Fonction,Début,Paramètre,Paramètres,allant,Faire,Fin,Si,Pour,Tant,Que,que,alors,Alors,Sinon,SinonSi,FinSi,FinPour,FinTantQue,TantQue,Variable,Variables,Procédure},
+ % style = \color{MotsClesPseudoCodeA}
+ % } ,
+ % identifiers =
+ % {
+ % names = {Afficher,Retourner,Saisir},
+ % style = \color{MotsClesPseudoCodeB}
+ % }
+ % }%
+ \SetPitonStyle
+ {
+ String = \color{MotsClesPseudoCodeChaine},
+ Comment = \itshape\color{gray},
+ }
+ }%
+ {%
+ \SetPitonStyle
+ {
+ String = ,
+ Comment = \itshape
+ }
+ }%
+ %------les styles tcbox
+ \IfEq{\CODPITPCstyle}{Moderne}%style Moderne (défaut)
+ {%
+ \tcbset{cadre/.style={}}
+ \tcbset{titre/.style={}}
+ \tcbset{stylebase/.style={stylepcpiton,colframe=CouleurVertForet,colback=CouleurVertForet!5,width=\CODPITPClargeur,fontupper=\CODPITPCfonte,fontlower=\CODPITPCfonte,\CODPITPCalign,leftupper=0.75em}}
+ \ifboolKV[envpcpiton]{Filigrane}%si filigrane
+ {\tcbset{filigrane/.style={watermark text={\faCode},watermark opacity=0.175,watermark zoom=0.50}}}%
+ {\tcbset{filigrane/.style={}}}%
+ }
+ {}%
+ \IfEq{\CODPITPCstyle}{Classique}%style Classique
+ {%
+ \ifboolKV[envpcpiton]{Lignes}%si lignes=true
+ {\tcbset{stylebase/.style={thonnypcstylelineos,leftupper=0.75em,width=\CODPITPClargeur,colframe=darkgray!50!black,fontupper=\CODPITPCfonte,fontlower=\CODPITPCfonte,\CODPITPCalign}}}%
+ {\tcbset{stylebase/.style={thonnypcstyle,leftupper=0.4em,width=\CODPITPClargeur,colframe=darkgray!50!black,fontupper=\CODPITPCfonte,fontlower=\CODPITPCfonte,\CODPITPCalign}}}%
+ \ifboolKV[envpcpiton]{Filigrane}%si filigrane
+ {\tcbset{filigrane/.style={watermark text={\faCode},watermark opacity=0.25,watermark zoom=0.50}}}%
+ {\tcbset{filigrane/.style={}}}%
+ \ifboolKV[envpcpiton]{BarreTitre}%
+ {%
+ \ifboolKV[envpcpiton]{Cadre}
+ {\tcbset{cadre/.style={}}}%
+ {\tcbset{cadre/.style={boxrule=0pt,frame hidden}}}%
+ \tcbset{titre/.style={lefttitle=0.4em,title={\CODPITPCtitre},fonttitle=\bfseries\footnotesize\sffamily,colbacktitle=darkgray!50!black}}
+ }%
+ {%
+ \tcbset{titre/.style={notitle}}
+ \ifboolKV[envpcpiton]{Cadre}
+ {\tcbset{cadre/.style={}}}
+ {\tcbset{cadre/.style={boxrule=0pt,frame hidden}}}
+ }
+ }
+ {}%
+ %on crée la boîte
+ \tcolorbox[stylebase,filigrane,cadre,titre]
+ \PitonInputFile{#2}%
+ \endtcolorbox}%
+}
+
%======CONSOLE PYLUATEX (package à charger manuellement !!)
\tcbset{consolepylua/.style={%base de la boîte
enhanced,colback=white,colframe=CouleurVertForet,sharp corners,boxrule=1pt,%
@@ -428,6 +560,18 @@
\endtcolorbox%
}%
+\NewDocumentCommand\PitonThonnyEditorFichier{ D<>{} O{\linewidth} m }{%
+ {\restoreKV[pitonthonny]%
+ \setKV[pitonthonny]{#1}%
+ \settowidth{\LargeurNumbersThonny}{\footnotesize\texttt{00}}%
+ \PitonOptions{left-margin=\LargeurNumbersThonny+1mm,line-numbers,line-numbers={skip-empty-lines=false,label-empty-lines=true},break-lines,indent-broken-lines,continuation-symbol={}}%
+ \tcbset{tcbthonnypiton/.style={title=\vphantom{pf}\thonnypitonfilename\:\textcolor{gray}{×}},before skip=0.33\baselineskip,after skip=0.33\baselineskip}%
+ \tcolorbox[sharp corners=all,enhanced,size=small,width=#2,colframe=gray,colback=lightgray!5,tcbthonnypiton,fonttitle=\scriptsize\sffamily,coltitle=black,
+ attach boxed title to top left={yshift*=-0.4pt},fontupper=\footnotesize,bottom=-0.25mm,boxed title style={size=tight,colback=lightgray!15,sharp corners=all,boxrule=0.4pt,boxsep=2pt},boxrule=0.4pt,overlay={\begin{tcbclipinterior}\fill[draw=none,gray!25] ([shift={(0.4pt,0.4pt)}]frame.south west) rectangle ([shift={(\LargeurNumbersThonny+1mm+0.8pt,-0.4pt)}]frame.north west) ;\end{tcbclipinterior}}]%
+ \PitonInputFile{#3}
+ \endtcolorbox}%
+}%
+
\NewDocumentEnvironment{PitonThonnyConsole}{ D<>{} O{} m }%
{
\restoreKV[pitonthonny]%
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
index cd01f4393b..89fe894503 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
@@ -75,6 +75,69 @@
\expandafter\def\csname\RegLinCoeffrd\endcsname{\fpeval{\csname\RegLinCoeffr\endcsname*\csname\RegLinCoeffr\endcsname}}
}
+\defKV[coeffregquad]{%
+ NomCoeffa=\def\RegQuadCoeffa{#1},%
+ NomCoeffb=\def\RegQuadCoeffb{#1},%
+ NomCoeffc=\def\RegQuadCoeffc{#1},%
+ NomXmin=\def\RegQuadCoeffXmin{#1},%
+ NomXmax=\def\RegQuadCoeffXmax{#1}
+}
+
+\setKVdefault[coeffregquad]{%
+ NomCoeffa=COEFFa,%
+ NomCoeffb=COEFFb,%
+ NomCoeffc=COEFFc,%
+ NomXmin=LXmin,%
+ NomXmax=LXmax
+}
+
+\newcommand\CalculsRegQuad[3][]{%
+ \useKVdefault[coeffregquad]%
+ \setKV[coeffregquad]{#1}% on paramètres les nouvelles clés et on les simplifie
+ %xmin et xmax
+ \expandafter\def\csname\RegQuadCoeffXmin\endcsname{\xintfloateval{min(#2)}}%
+ \expandafter\def\csname\RegQuadCoeffXmax\endcsname{\xintfloateval{max(#2)}}%
+ %listes des données
+ \def\xliste{#2}%
+ \def\yliste{#3}%
+ \readlist*\LX{\xliste}%
+ \readlist*\LY{\yliste}%
+ %taille des listes
+ \def\LNB{\inteval{\LXlen}}
+ %somme importantes
+ \xdef\LXSomme{0}%
+ \xdef\LXCSomme{0}%
+ \xdef\LYSomme{0}%
+ \xdef\LXXSomme{0}%
+ \xdef\LXYSomme{0}%
+ \xdef\LXXCSomme{0}%
+ \xdef\LXCXCSomme{0}%
+ \xdef\LXCYSomme{0}%
+ %calculs
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LXSomme{\xintfloateval{\LXSomme+\LX[\i]}}%
+ \xdef\LXCSomme{\xintfloateval{\LXCSomme+(\LX[\i])^2}}%
+ }%
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LYSomme{\xintfloateval{\LYSomme+\LY[\i]}}%
+ }%
+ \xdef\LXmoy{\xintfloateval{\LXSomme/\LNB}}%
+ \xdef\LYmoy{\xintfloateval{\LYSomme/\LNB}}%
+ \xdef\LXCmoy{\xintfloateval{\LXCSomme/\LNB}}%
+ %calculs suites
+ \foreach \i in {1,2,...,\LNB}{%
+ \xdef\LXXSomme{\xintfloateval{\LXXSomme+(\LX[\i]-\LXmoy)^2}}%
+ \xdef\LXYSomme{\xintfloateval{\LXYSomme+(\LX[\i]-\LXmoy)*(\LY[\i]-\LYmoy)}}%
+ \xdef\LXXCSomme{\xintfloateval{\LXXCSomme+(\LX[\i]-\LXmoy)*((\LX[\i])*(\LX[\i])-\LXCmoy)}}%
+ \xdef\LXCXCSomme{\xintfloateval{\LXCXCSomme+((\LX[\i])^2-\LXCmoy)^2}}%
+ \xdef\LXCYSomme{\xintfloateval{\LXCYSomme+((\LX[\i])^2-\LXCmoy)*(\LY[\i]-\LYmoy)}}%
+ }%
+ %COEFFS OK
+ \expandafter\def\csname\RegQuadCoeffb\endcsname{\xintfloateval{(\LXYSomme*\LXCXCSomme-\LXCYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}%
+ \expandafter\def\csname\RegQuadCoeffa\endcsname{\xintfloateval{(\LXCYSomme*\LXXSomme-\LXYSomme*\LXXCSomme)/(\LXXSomme*\LXCXCSomme-(\LXXCSomme)^2)}}%
+ \expandafter\def\csname\RegQuadCoeffc\endcsname{\xintfloateval{\LYmoy-\csname\RegQuadCoeffb\endcsname*\LXmoy-\csname\RegQuadCoeffa\endcsname*\LXCmoy}}%
+}
+
%pour un nuage en TiKz
\defKV[nuagereglin]{%
Couleur=\def\RegLinNuageCouleur{#1},%
diff --git a/macros/latex/contrib/prtec/PRTEC19-template.pdf b/macros/latex/contrib/prtec/PRTEC19-template.pdf
deleted file mode 100644
index c0f369154a..0000000000
--- a/macros/latex/contrib/prtec/PRTEC19-template.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/prtec/PRTEC24-template.pdf b/macros/latex/contrib/prtec/PRTEC24-template.pdf
new file mode 100644
index 0000000000..a65827b7c4
--- /dev/null
+++ b/macros/latex/contrib/prtec/PRTEC24-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/prtec/PRTEC19-template.tex b/macros/latex/contrib/prtec/PRTEC24-template.tex
index e0769005af..59e978ef74 100644
--- a/macros/latex/contrib/prtec/PRTEC19-template.tex
+++ b/macros/latex/contrib/prtec/PRTEC24-template.tex
@@ -4,7 +4,7 @@
%%
%% PRTEC uses A4 paper.
%%
-%% This file is version 1.04 dated 2019/04/17
+%% This file is version 1.07 dated 2024/07/07
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -22,18 +22,17 @@
%%
%% * option to omit PRTEC footer and header [nofoot]
%%
-%% * option not to use newtxtext's superiors font for footnotes [nodefaultsups] and option
-%% * for slightly larger small capitals [largesc]
+%% * option for slightly larger small capitals [largesc]
%%
%% For details of newtxmath and newtxtext, see the documentation available on CTAN (http://ctan.org)
%%
-%% The booktabs, array, and dcolumn packages are loaded by default; those macros may be used for setting tables.
+%% The booktabs, array, and dcolumn packages are loaded by default; those macros are for tables.
%%
%=========================================================
%%
%% LICENSE:
%%
-%% Copyright (c) 2019 John Lienhard
+%% Copyright (c) 2024 John Lienhard
%%
%% 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,
@@ -53,17 +52,16 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Class options are described above.
-
-\documentclass[upint,varvw]{prtec}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Editing tools; can delete these if not using.
-
-\usepackage{lipsum} % makes paragraphs of "latin" for layout testing
-\usepackage{comment} % see package documentation. Can comment out sections as needed.
+%% Don't modify the \DocumentMetadata command unless you know what it does.
+%% If this command throws an "undefined" error, your latex system is out of date: comment this command out.
+\DocumentMetadata{
+ pdfstandard = a-2b,% a-4,
+ pdfversion = 1.7,% 2.0,
+ lang = en-US,
+}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Class options are described above.
+\documentclass[upint,varvw,subscriptcorrection]{prtec}
%%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -86,15 +84,15 @@
%%%%% Conference, title, authors, affiliations %%%%%%%%
-\confname{Extended Abstracts of The Second Pacific Rim Thermal Engineering Conference}
-\confdate{December 13-17, 2019}
-\confcity{Maui, Hawaii, USA}
+\confname{Extended Abstracts of The Third Pacific Rim Thermal Engineering Conference}
+\confdate{December 15--19, 2024}
+\confcity{Honolulu, Hawaii, USA}
%%% Your paper number
\paperno{PRTEC-XXXXX}
%%% Your title
-\papertitle{Our research paper: the latest developments in cutting-edge engineering}
+\papertitle{Our research paper: cutting-edge cooling}
%% Put author names into the order you want. Use the same order for affiliations.
@@ -106,7 +104,7 @@
%%
%% \JointFirstAuthor, if applicable, follows the affiliation of the relevant authors, no spaces.
-\SetAuthors{Mamoru Tanahashi\affil{1}\JointFirstAuthor , Yongchan Kim\affil{2}\JointFirstAuthor , Sumanta Acharya\affil{3} , Koji Fukagata\affil{4}, John Lienhard\affil{5}\CorrespondingAuthor{lienhard@mit.edu}}
+\SetAuthors{Mamoru Tanahashi\affil{1}\JointFirstAuthor, Yongchan Kim\affil{2}\JointFirstAuthor, Sumanta Acharya\affil{3}, Koji Fukagata\affil{4}, John Lienhard\affil{5}\CorrespondingAuthor{lienhard@mit.edu}}
\SetAffiliation{1}{Department of Mechanical Engineering, Tokyo Institute of Technology, Japan}
\SetAffiliation{2}{School of Mechanical Engineering, Korea University, Republic of Korea}
@@ -124,18 +122,17 @@
\begin{abstract}
-This guide has been prepared for authors of extended abstract to be presented at The Second Pacific Rim Thermal Engineering Conference (PRTEC2019), December 13--17, 2019, Maui, Hawaii, USA. Authors are requested to follow these guidelines to achieve uniformity in the presentation of the proceedings. The main format of the extended abstract is as follows. Text: Times New Roman (or equivalent), 11 pt, left and right justified. Headings: Times New Roman, all capitals, 12 pt, centered. Page size A4 (210 $\times$ 297 mm); 20 mm borders all round; paper title starts at 40 mm from the top of the page except for the first page. Convert the manuscript to a single PDF file and submit it to the Online Submission System (\url{https://www.jsme.or.jp/ted/PRTEC2019/}) by the electrical format. The abstract should summarize the key findings in your study and should be in a single paragraph no more than 250 words. It should give an account of the most relevant contributions of the paper. It is also important to briefly indicate the goal, the methods, the results, and the conclusions. Avoid abbreviations, diagrams, and references. It must be self-contained and understandable without reference to the text.
+This guide has been prepared for authors of extended abstract to be presented at The Second Pacific Rim Thermal Engineering Conference (PRTEC2024), December 15--19, 2024, Honolulu, Hawaii, USA. Authors are requested to follow these guidelines to achieve uniformity in the presentation of the proceedings. The main format of the extended abstract is as follows. Text: Times New Roman (or equivalent), 11 pt, left and right justified. Headings: Times New Roman, all capitals, 12 pt, centered. Page size A4 (210 $\times$ 297 mm); 20 mm borders all round; paper title starts at 40 mm from the top of the page except for the first page. Convert the manuscript to a single PDF file and submit it to the Online Submission System (\url{https://www.jsme.or.jp/conference/PRTEC2024/}) by the electrical format. The abstract should summarize the key findings in your study and should be in a single paragraph no more than 250 words. It should give an account of the most relevant contributions of the paper. It is also important to briefly indicate the goal, the methods, the results, and the conclusions. Avoid abbreviations, diagrams, and references. It must be self-contained and understandable without reference to the text.
-\keywords{PRTEC, Extended Abstract, Template; 10 pt Times font} %% <=== Change to your keywords, keep this command before \end{abstract}.
+\keywords{Times New Roman, 10 pt, Convection, Computational methods, Heat exchanger, Cooling turbine blade, Film cooling, High temperature} %% <=== Change to your keywords, keep this command before \end{abstract}.
\end{abstract}
-
\section{Introduction \NoCaseChange{(Details for submitting extended abstract)}}
-The Extended Abstract must be formatted using this template and submitted by \textbf{June 30, 2019} for review. \textbf{The final version of the Extended Abstract must be submitted by August 31, 2019 for inclusion in the proceedings.} The final version of the extended abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version.
+The Extended Abstract must be formatted using this template and submitted by \textbf{August 15, 2024} for review. \textbf{The final version of the Extended Abstract must be submitted by September 30, 2024 for inclusion in the proceedings.} The final version of the extended abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version.
-It is assumed that the corresponding author will make a presentation at the conference. Each accepted extended abstract must have at least one paid regular or student registration by \textbf{August 31, 2019} to ensure that their presentation is included in the Conference Program.
+It is assumed that the corresponding author will make a presentation at the conference. Each accepted extended abstract must have at least one paid regular or student registration by \textbf{October 15, 2024} to ensure that their presentation is included in the Conference Program.
\section{Length and Layout}
@@ -150,7 +147,7 @@ The layout of the extended abstract should follow the style of this document, st
\textbf{KEYWORDS:} Keywords can be selected to describe the feature of the extended abstract. Leave two blank lines between keywords and the first major heading.
-\textbf{Header and footnotes:} The header includes the Paper number. \textbf{Please insert your presentation ID supplied by the Online Submission System, e.g., PRTEC-23456, if your presentation ID is PRTEC-23456.} The footnote of the first page contains E-mail address of the corresponding author. Note that this ``formal'' corresponding author can be different from the ``practical'' corresponding author registered on the submission system. Do not edit the copyright line. We do not transfer the copyright for the authors' convenience. The copyright line should always appear as ``Copyright \textcopyright\ 2019 by The Author(s). Distributed by JSME, KSME, and ASTFE with permission.'' Do not substitute the authors' names in the copyright line.
+\textbf{Header and footnotes:} The header includes the Paper number. \textbf{Please insert your presentation ID supplied by the Online Submission System, e.g., PRTEC-23456, if your presentation ID is PRTEC-23456.} The footnote of the first page contains E-mail address of the corresponding author. Note that this ``formal'' corresponding author can be different from the ``practical'' corresponding author registered on the submission system. Do not edit the copyright line. We do not transfer the copyright for the authors' convenience. The copyright line should always appear as ``Copyright \textcopyright\ 2024 by The Author(s). Distributed by JSME, KSME, and ASTFE with permission.'' Do not substitute the authors' names in the copyright line.
@@ -240,11 +237,11 @@ Authors from non-English speaking countries are requested to find persons who ar
\textbf{Figures and tables:} Figures and tables should be placed at the top or bottom of the page on which they are first mentioned if possible, on the next page if not. Do not gather them at the end of the extended abstract.
-\textbf{Submission:} The Extended Abstract should be converted to a single PDF file whose size is no more than 4 Mbytes, and submitted to the Online Submission System (\url{https://www.jsme.or.jp/ted/PRTEC2019/}).
+\textbf{Submission:} The Extended Abstract should be converted to a single PDF file whose size is no more than 4 Mbytes, and submitted to the Online Submission System (\url{https://www.jsme.or.jp/conference/PRTEC2024/}).
-\textbf{Submission Deadline for review:} Extended Abstract for review should be submitted by \textbf{June 30, 2019}. Notification of acceptance will be made by July 15, 2019.
+\textbf{Submission Deadline for review:} Extended Abstract for review should be submitted by \textbf{July 15, 2024}. Notification of acceptance will be made by August 15, 2024.
-\textbf{Submission Deadline for final version:} All contributors must upload the final version of Extended Abstract for inclusion in the proceedings by \textbf{August 31, 2019} even if there is no modification from the initial Extended Abstract. The Final Extended Abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version.
+\textbf{Submission Deadline for final version:} All contributors must upload the final version of Extended Abstract for inclusion in the proceedings by \textbf{September 30, 2024} even if there is no modification from the initial Extended Abstract. The Final Extended Abstract that does not conform to the correct format will not be included in the proceedings. There will be no opportunity to alter it after the submission of the final version.
\section*{Acknowledgements}
@@ -286,7 +283,7 @@ Acknowledgments should be placed immediately following CONCLUSIONS, if necessary
\section{Additional notes for \LaTeX\ users}
The PRTEC class file is compatible with \hologo{pdfLaTeX}, \hologo{LuaLaTeX}, and \hologo{XeLaTeX}. The class relies on the \texttt{newtx} math and text fonts and is not configured for \texttt{fontspec}. The class will automatically set the needed margins, spacings, font sizes, and citation formats. The class is also designed to support hyperlinks, metadata, and pdf bookmarks.
-The class loads the \verb|\booktabs|, \verb|\array|, and \verb|\dcolumn| packages, for use in formatting tables.
+The class loads the \verb|mathtools| and \verb|amsmath| for setting mathematics. The class loads the \verb|booktabs|, \verb|array|, and \verb|dcolumn| packages for formatting tables.
PRTEC requires that section headings be set in uppercase, bold-face type. The class will do this automatically. You can place \verb|\cite{..}|, \verb|\ref{..}|, \verb|\label{..}|, and into headings directly, as you would in the main text. Do not enclose them braces, e.g.\ \verb|{\cite{..}}|, which will cause errors. You can place \verb|\footnote{..}| into headings, but not into captions.\footnote{See \texttt{tex-stackexchange} for various approaches to footnotes in captions, if they seem necessary. For footnotes inside tables, use the \texttt{tablefootnote} package.}
@@ -298,12 +295,12 @@ The pdf bookmarks are automatically set as the text of the section heading. Simp
%% For math in a section heading: the optional argument creates a pdfbookmark
%% without an error message or loss of characters.
-\section[Proof that S-gen\neq 0]{Proof that $\dot{S}_{\textrm{gen}}\neq 0$}
+\section[Proof that S-gen\neq 0]{Proof that \(\dot{S}_{\textrm{gen}}\neq 0\)}
For math in a section heading, the optional argument of \verb|\section[..]{..}| creates a pdfbookmark without losing characters or producing error messages. For this example, we use:
-\verb|\section[Proof that S-gen\neq 0]{Proof that $\dot{S}_{\textrm{gen}}\neq 0$}|
+\verb|\section[Proof that S-gen\neq 0]{Proof that \(\dot{S}_{\textrm{gen}}\neq 0\)}|
-Observe that some simple math expressions are accepted by the \verb|hyperref| package that manages the bookmarks.
+Some simple math expressions are accepted by the \verb|hyperref| package that manages the bookmarks.
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/prtec/README.md b/macros/latex/contrib/prtec/README.md
index f3dacefae1..f01e4e5dc1 100644
--- a/macros/latex/contrib/prtec/README.md
+++ b/macros/latex/contrib/prtec/README.md
@@ -1,6 +1,6 @@
#prtec -- A template for PRTEC conference papers#
- Version 1.06 dated 2019/08/20.
+ Version 1.07 dated 2024/07/07.
####Overview####
This class provides a LaTeX template to format extended abstracts for the
@@ -50,6 +50,12 @@
####Version History####
+ v1.07
+ - update to PRTEC 24
+ - update various aspects of code to account for 5 years of change in LaTeX
+ - adjust top and bottom margins
+ - include \\DocumentMetadata
+
v1.06 -- correct nofoot option to fully clear header
v1.05 -- edits to .bst to better support urls; minor edit to \\entry
@@ -62,7 +68,7 @@
####License####
- Copyright (c) 2019 John H. Lienhard
+ Copyright (c) 2024 John H. Lienhard
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,
diff --git a/macros/latex/contrib/prtec/prtec.cls b/macros/latex/contrib/prtec/prtec.cls
index 9bd3af2237..9bd46e5ba1 100644
--- a/macros/latex/contrib/prtec/prtec.cls
+++ b/macros/latex/contrib/prtec/prtec.cls
@@ -1,12 +1,14 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% This file provides the prtec class for formatting conference papers according to
-%% the Pacific Rim Thermal Engineering Conference (PRTEC) requirements as of April 2019.
+%% the Pacific Rim Thermal Engineering Conference (PRTEC) requirements as of July 2024.
%%
%% The prtec.cls file should be used with the files prtec.bst (for citations) and prtec-template.tex.
%%
%%
-%% This file is version 1.06 dated 2019/08/20.
+%% This file is version and date:
+ \def\versionno{1.07}
+ \def\versiondate{2024/07/07\space}
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -34,7 +36,7 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2019 John H. Lienhard
+%% Copyright (c) 2024 John H. Lienhard
%%
%% 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,
@@ -54,33 +56,14 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{prtec}[2019/08/20 PRTEC paper format]
+\ProvidesClass{prtec}[\versiondate\ PRTEC paper format]
-\LoadClass[twoside,11pt]{article}
-% Two-sided layout not used in PRTEC's specs, but is included anyway.
+\LoadClass[11pt]{article}
%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{ifthen}
-\newboolean{DefaultSups}
-\setboolean{DefaultSups}{true}
-
-\RequirePackage{kvoptions}
-\RequirePackage{kvsetkeys}
-\SetupKeyvalOptions{
- family=prtec,
- prefix=prtec@,
- setkeys=\kvsetkeys,
-}
-
-%%% set key nodefaultsups to obtain newtx superiors font for footnotes.
-\define@key{prtec}{nodefaultsups}[false]{%
- \setboolean{DefaultSups}{#1}
-}
-
-\ProcessKeyvalOptions*
-
%% option to omit PRTEC footer and header
\DeclareOption{nofoot}{%
@@ -96,13 +79,10 @@
%% Access many options from newtxmath
%% See newtxmath documentation for details
-\DeclareOption{upint,smallerops,varvw,varg,slantedGreek,frenchmath,varbb,cmbraces}{\PassOptionsToPackage{}{newtxmath}}
+\DeclareOption{upint,smallerops,varvw,varg,slantedGreek,frenchmath,varbb,cmbraces,subscriptcorrection}{\PassOptionsToPackage{}{newtxmath}}
%% Option for slightly larger small capitals font
-\DeclareOption{largesc}{\PassOptionsToPackage{}{newtxtext}}
-
-%% Option not to use latex default superscripts, instead using the newtxtext superiors font [nodefaultsups]
-\ifthenelse{\boolean{DefaultSups}}{\PassOptionsToPackage{defaultsups}{newtxtext}}{\relax}
+\DeclareOption{largesc}{\PassOptionsToPackage{largesc=true}{newtxtext}}
%% Suppress warnings about any omitted keys as unused global options
\DeclareOption*{}
@@ -112,8 +92,8 @@
%%%%%%%%%%%%% end options %%%%%%%%%%%%%%%%%%%
-\RequirePackage[a4paper, left=20mm, right=20mm, top=20mm, bottom = 20mm, footskip=10mm, includefoot, headsep=2mm]{geometry}
-% conforms to PRTEC 19 required margins
+\RequirePackage[a4paper, left=20mm, right=20mm, top=20mm, bottom=20mm, headsep=3mm, includefoot ]{geometry}
+% conforms to PRTEC24 required margins
\RequirePackage{parskip}
@@ -122,8 +102,9 @@
\renewcommand*{\bibfont}{\footnotesize}
\RequirePackage{graphicx}
-\RequirePackage[hyperref,fixpdftex,dvipsnames,svgnames,x11names]{xcolor}
-\RequirePackage{xparse}
+\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}
+
+\ifdefined\NewDocumentCommand\else\RequirePackage{xparse}\fi
%%%%%%%%%%%%%%%%%%%%%%%%
@@ -136,14 +117,10 @@
%%%% FONT related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{mathtools} % extends amsmath
-\RequirePackage[utf8]{inputenc}
\RequirePackage[]{newtxtext}
\RequirePackage[]{newtxmath}
% See package documentation
-%% override \textsu if using default superiors
-\ifthenelse{\boolean{DefaultSups}}{\let\textsu\textsuperscript}{\relax}
-
\RequirePackage{bm} % load after all other math packages, to give greater access to bold math
@@ -163,19 +140,19 @@
\RequirePackage{fancyhdr}
\pagestyle{fancy}
-\setlength{\headheight}{22.53pt}
+\setlength{\headheight}{24pt}
\fancyfoot{}
-\fancyfoot[CE,CO]{\thepage}
-\fancyfoot[RO,LE]{}
+\fancyfoot[C,C]{\thepage}
+\fancyfoot[R,L]{}
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancypagestyle{title}{%
\fancyhf{} % clear all header and footer fields
-\fancyfoot[LO,RE]{Copyright~\textcopyright~\the\year\ The Author(s). Distributed by JSME, KSME, and ASTFE with permission.}
-\fancyfoot[LE,RO]{\thepage}
-\fancyhead[LE,RO]{\bfseries\sffamily \HeaderConfName}
+\fancyfoot[L]{Copyright~\textcopyright~\the\year\ The Author(s). Distributed by JSME, KSME, and ASTFE with permission.}
+\fancyfoot[R]{\thepage}
+\fancyhead[R]{\bfseries\sffamily \HeaderConfName}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
@@ -196,10 +173,9 @@
\noindent\makebox[2ex][r]{\@makefnmark}#1}
-
%%%%%%%%% CAPTION RELATED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\RequirePackage[labelfont={sf,bf},hypcap=false]{caption}
+\RequirePackage[labelfont={bf},hypcap=false]{caption}
\RequirePackage[hypcap=false,list=true]{subcaption}
\captionsetup[figure]{name=Fig.,labelfont={bf},textfont={}, labelsep=quad} %textformat=period,
@@ -207,15 +183,12 @@
%%%%%%%%%%%%%%%%%% Section headings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% wish to accommodate hyperref
-
-\RequirePackage{textcase} %% Allows uppercase titles and captions without errors from math and citations
\RequirePackage[raggedright,indentafter]{titlesec}
% PRTEC specifies 12 pt headings
-\titleformat{\section}{\bfseries\mathversion{bold}\large\centering}{\thesection.}{0.5em}{\MakeTextUppercase}
-\titleformat{name=\section,numberless}{\bfseries\mathversion{bold}\large\centering}{}{0em}{\MakeTextUppercase}
+\titleformat{\section}{\bfseries\mathversion{bold}\large\centering}{\thesection.}{0.5em}{\MakeUppercase}
+\titleformat{name=\section,numberless}{\bfseries\mathversion{bold}\large\centering}{}{0em}{\MakeUppercase}
\titleformat{\subsection}[runin]{\bfseries}{\thesubsection}{0.5em}{\mathversion{bold}\noindent}[\hspace*{0.5em}]
\titleformat{\subsubsection}[runin]{\itshape}{}{0em}{\noindent\underline}[.\hspace*{0.5em}]
@@ -230,88 +203,81 @@
\setcounter{section}{0}
\pdfbookmark[0]{Appendices}{appendices}
\renewcommand\thesection{\Alph{section}}
- \titleformat{\section}{\bfseries\mathversion{bold}\large\centering}{APPENDIX \thesection:}{0.5em}{\MakeTextUppercase}
+ \titleformat{\section}{\bfseries\mathversion{bold}\large\centering}{APPENDIX \thesection:}{0.5em}{\MakeUppercase}
}
%%%%%%%%%%%%% hyperref %%%%%%%%%%%%%%%%%%%
-\RequirePackage{hyperxmp} %% to fix transfer of metadata to Acrobat pdf
-
-\RequirePackage[%
- unicode, % Unicode encoded PDF strings
- psdextra, % additional support for math in pdf bookmarks
- pdfborder={0 0 0},%
- bookmarks=true, %
- bookmarksnumbered=true,%
- bookmarksopen=true,%
- bookmarksopenlevel=1,%
- colorlinks=true,%%% <=== set false to get black type, but do so in .tex file
+\RequirePackage[psdextra]{hyperref}
+
+\hypersetup{
+ colorlinks=true,
+ pdfborder={0 0 0},
+ bookmarksnumbered=true,
+ bookmarksopen=true,
+ bookmarksopenlevel=1,
+ pdfpagelayout=SinglePage,
+ pdfdisplaydoctitle=true,
+ pdfstartview=Fit,
+ pdfnewwindow=true,
linkcolor=blue, %
- citecolor=blue, % SeaGreen4,%
- urlcolor=blue, % Red3,%
- breaklinks=true,%
- pdftitle={}, % <=== add in .tex file
- pdfkeywords={}, % <=== add in .tex file
- pdfnewwindow=true,%
- pdfpagelayout=TwoPageRight,%
- pdfauthor={}, % <=== add in .tex file
- pdfdisplaydoctitle=true%
- ]{hyperref}
-
+ citecolor=blue, %
+ urlcolor=blue, %
+ filecolor=violet,%
+}
\urlstyle{same} % don't switch to typewriter font
\RequirePackage{doi} % provides hyperlinks for doi in bibliography
\renewcommand{\doitext}{doi:~} % change the default, {doi:}, to this for PRTEC specification
-%% Since \bm is useful in headings, this fix will reduce frequency with which
-%% alternate pdfstrings must be given in section command as \section[pdfstring]{texstring}
+%% Since \bm may be useful in headings, this fix will reduce frequency with which
+%% alternate pdfstrings must be given in revised section command as \section[pdfstring]{texstring}
\pdfstringdefDisableCommands{%
\def\bm#1#{\relax}%
}
-%% Let's also make sure \NoCaseChange in section headings won't break pdf bookmarks
+% Let's disable \( and \) in pdf bookmarks
+\pdfstringdefDisableCommands{%
+ \def\({\relax}%
+ \def\){\relax}%
+}
+
+% Let's also make sure \NoCaseChange in section headings won't break pdf bookmarks
\pdfstringdefDisableCommands{%
\let\NoCaseChange\relax%
}
-%% Let's just remove citations from pdf bookmarks
+% Let's just remove citations from pdf bookmarks
\pdfstringdefDisableCommands{%
\def\cite{\@gobble}%
}
-%% Let's make sure footnotes in section headings don't break pdf bookmarks.
+%% Ensure that tag color does not follow \eqref into bookmarks
+\pdfstringdefDisableCommands{%
+ \def\eqref#1{(\ref{#1})}%
+}
+
+% Let's make sure footnotes in section headings don't break pdf bookmarks.
+% Revised footnote command above is already robust
+
\RequirePackage{etoolbox}
-\robustify{\footnote}
+\robustify\footnote
\pdfstringdefDisableCommands{%
\def\footnote#1{}%
}
-
%% Let's also add \footnote to the \TextUppercase exception list, so that footnote text won't be capitalized
-%% if given in section headings
-\RequirePackage{xpatch}
-\xpatchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\footnote}{}{}
-
-
-%%% Create an optional argument for unnumbered sections and set pdf bookmark (thru \addcontentsline).
-%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref
-%%% errors when macros are in section titles.
-%%% There should not be errors for $$, \cite, \ref, \label, \footnote, or \bm with current construction.
-\let\svsection\section
-\RenewDocumentCommand{\section}{s o m}{%
- \IfBooleanTF {#1}
- {\svsection*{#3}\phantomsection
- {\IfNoValueTF {#2}
- {\addcontentsline{toc}{section}{#3} }
- {\addcontentsline{toc}{section}{#2} }
- }
- }
- {\IfNoValueTF {#2}
- {\svsection{#3}}
- {\svsection[#2]{#3}}
- }
-}
+%% if given in section headings. Ditto for \eqref
+%
+\ifx\AddToNoCaseChangeList\@undefined % see https://github.com/John02139/asmeconf/issues/5
+ \patchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\footnote}{\typeout{PRTEC patched textcase nonchangecase to include footnote.}}{}
+ \patchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\eqref}{\typeout{PRTEC patched textcase nonchangecase to include eqref.}}{}
+\else
+ \AddToNoCaseChangeList{\eqref \footnote}
+\fi
+
+%%% There should be no errors for section headings with \(, \), \cite, \ref, \eqref, \label, \footnote, \NoCaseChange, or \bm
%%%%%%%%%%%%% Define special environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -321,7 +287,7 @@
\providecommand{\@keywords}{\relax}
-\DeclareDocumentCommand{\keywords}{m}{%
+\NewDocumentCommand{\keywords}{m}{%
\IfNoValueTF{#1}{%
\relax}{%
\long\def\@keywords{\par\medskip\noindent{\bfseries\small KEYWORDS: }{\small #1}}%
@@ -331,7 +297,7 @@
\DeclareDocumentEnvironment{abstract}{}{%
\section*{Abstract}%
}
- {\@keywords\bigskip%
+ {\@keywords\ignorespacesafterend%
}
@@ -347,7 +313,7 @@
%% If the second argument of \entry is omitted, a bold section heading is produced, e.g. \entry{Greek Letters}
-\DeclareDocumentCommand{\entry}{m g}{%
+\NewDocumentCommand{\entry}{m g}{%
\IfNoValueTF{#2}{%
\item[\itshape#1\hfill]\smallskip
}{%
@@ -388,7 +354,7 @@
\providecommand\@ConfCity{\hbox{ }}
\newcommand{\HeaderConfName}{%
-\parbox{\linewidth}{\raggedleft\bfseries\sffamily%
+\parbox{\linewidth}{\raggedleft\bfseries\sffamily\small%
\@ConfName\linebreak[4]%\par%
\@ConfDate\@CDsep\@ConfCity%
}%
@@ -400,7 +366,7 @@
\newcommand{\PaperNo}{%
\vspace*{-4.7mm}%
\parbox{\linewidth}{\raggedleft\bfseries\sffamily\Large%
-\MakeTextUppercase{\@paperno}%
+\MakeUppercase{\@paperno}%
}%
}
@@ -410,7 +376,7 @@
\newcommand{\PaperTitle}{%
\par\vspace*{6mm}%
\parbox{\linewidth}{\centering{\bfseries\Large%
-\MakeTextUppercase{\@papertitle}%
+\MakeUppercase{\@papertitle}%
\thispagestyle{title}\par} %% <=== \par gets the font leading to stick so that lines space properly
}%
}
@@ -429,13 +395,13 @@
\NewCoffin{\AffiliationsBlock}
\SetHorizontalCoffin\AffiliationsBlock{}
-\DeclareDocumentCommand{\SetAuthors}{m}{%
+\NewDocumentCommand{\SetAuthors}{m}{%
\SetHorizontalCoffin\AuthorBlock{%
\parbox{\linewidth}{\centering\bfseries\ignorespaces#1\ignorespaces}%
}
}
-\DeclareDocumentCommand{\SetAffiliation}{m m}{%
+\NewDocumentCommand{\SetAffiliation}{m m}{%
\SetVerticalCoffin\AffiliationBlock{\textwidth}{%
\centering\footnotemark[#1]#2\ignorespaces%
}
@@ -448,7 +414,7 @@
\newif\ifCA\CAfalse
\newcommand{\CAemail}[1]{\gdef\@CAemail{#1}}
-\DeclareDocumentCommand{\CorrespondingAuthor}{m}{%
+\NewDocumentCommand{\CorrespondingAuthor}{m}{%
\global\CAtrue%
\CAemail{#1}%
$^\ast$%
@@ -457,13 +423,13 @@
%%% flag for joint first authors (two or more)
\newif\ifJA\JAfalse
-\DeclareDocumentCommand{\JointFirstAuthor}{}{%
+\NewDocumentCommand{\JointFirstAuthor}{}{%
\global\JAtrue%
$^\dagger$%
}
%%% Affiliation mark
-\DeclareDocumentCommand{\affil}{m}{%
+\NewDocumentCommand{\affil}{m}{%
{\mdseries\footnotemark[#1]}%
}
@@ -475,11 +441,11 @@
\oldaffil{#1}\futurelet\nextToken\isOthernote}
\newcommand\isOthernote{%
- \ifx\CorrespondingAuthor\nextToken\textsu{\mdseries,}%
+ \ifx\CorrespondingAuthor\nextToken\textsuperscript{\mdseries,}%
\else%
- \ifx\JointFirstAuthor\nextToken\textsu{\mdseries,}%
+ \ifx\JointFirstAuthor\nextToken\textsuperscript{\mdseries,}%
\else
- \ifx\affil\nextToken\textsu{\mdseries,}%
+ \ifx\affil\nextToken\textsuperscript{\mdseries,}%
\fi%
\fi%
\fi%
@@ -494,7 +460,7 @@
\renewcommand\JointFirstAuthor{%
\oldJointFirstAuthor\futurelet\nextToken\isOthernote}
-\DeclareDocumentCommand{\SetAuthorBlock}{}{%
+\NewDocumentCommand{\SetAuthorBlock}{}{%
\let\savethefootnote\thefootnote
\JoinCoffins\AuthorBlock[hc,b]\AffiliationsBlock[hc,t](0pt,-\baselineskip)
\centerline{\TypesetCoffin\AuthorBlock}
@@ -511,7 +477,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% Make the title section
-\DeclareDocumentCommand{\MakeTitlePage}{}{%
+\NewDocumentCommand{\MakeTitlePage}{}{%
\PaperNo
\PaperTitle
\vspace*{2\baselineskip}
diff --git a/macros/latex/contrib/prtec/sample-figure.pdf b/macros/latex/contrib/prtec/sample-figure.pdf
index 29b41786be..89d44bf9cf 100644
--- a/macros/latex/contrib/prtec/sample-figure.pdf
+++ b/macros/latex/contrib/prtec/sample-figure.pdf
Binary files differ
diff --git a/macros/latex/contrib/randexam/randexam-a-answer.pdf b/macros/latex/contrib/randexam/randexam-a-answer.pdf
index d961cd9cb5..686d3f696c 100644
--- a/macros/latex/contrib/randexam/randexam-a-answer.pdf
+++ b/macros/latex/contrib/randexam/randexam-a-answer.pdf
Binary files differ
diff --git a/macros/latex/contrib/randexam/randexam-a-blank.pdf b/macros/latex/contrib/randexam/randexam-a-blank.pdf
index 9656be370d..d6ea0b132c 100644
--- a/macros/latex/contrib/randexam/randexam-a-blank.pdf
+++ b/macros/latex/contrib/randexam/randexam-a-blank.pdf
Binary files differ
diff --git a/macros/latex/contrib/randexam/randexam-b-answer.pdf b/macros/latex/contrib/randexam/randexam-b-answer.pdf
index fe0867038c..ec97459092 100644
--- a/macros/latex/contrib/randexam/randexam-b-answer.pdf
+++ b/macros/latex/contrib/randexam/randexam-b-answer.pdf
Binary files differ
diff --git a/macros/latex/contrib/randexam/randexam-b-blank.pdf b/macros/latex/contrib/randexam/randexam-b-blank.pdf
index c059b6e615..459ad1f116 100644
--- a/macros/latex/contrib/randexam/randexam-b-blank.pdf
+++ b/macros/latex/contrib/randexam/randexam-b-blank.pdf
Binary files differ
diff --git a/macros/latex/contrib/randexam/randexam.cls b/macros/latex/contrib/randexam/randexam.cls
index ec5d1c43c2..dacc079cb0 100644
--- a/macros/latex/contrib/randexam/randexam.cls
+++ b/macros/latex/contrib/randexam/randexam.cls
@@ -6,7 +6,7 @@
% ----------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{randexam}[2024-02-18 v2024E Make an exam paper and its randomized variants]
+\ProvidesClass{randexam}[2024-07-09 v2024F Make an exam paper and its randomized variants]
%% Old LaTeX release could not recognize date format like 2022-11-01
%\@ifl@t@r\fmtversion{2022-11-01}{}{
@@ -786,7 +786,8 @@
\UseExamTemplate{examdata}{default}
}
-\preto{\@enddocumenthook}{\printquestions\rdxm@stop@random}
+%% this equals to \AddToHook{enddocument}[randexam]{...}
+\AtEndDocument{\printquestions\rdxm@stop@random}
\newcommand\ignorepars{\@ifnextchar\par{\expandafter\ignorepars\@gobble}{}}
@@ -1228,6 +1229,11 @@
\mbox{}\nobreak\hfill$\cdots\cdots$\solutionpointstext{#1}
\par\noindent\ignorespaces
}
+
+%% \eqno would cause extra space after a $$...$$ equation
+%% this bug was fixed in latex release 2023-06-01
+%% see https://github.com/latex3/latex2e/issues/1059
+%% \tag is used in a \[...\] equation hence no problem with it
\newcommand{\pointseqno}[1]{\eqno{\cdots\cdots\text{\solutionpointstext{#1}}}}
\newcommand{\pointstag}[1]{\tag*{$\cdots\cdots$\solutionpointstext{#1}}}
@@ -1374,6 +1380,9 @@
\RequirePackage{extarrows}
\newcommand{\e}{\mathrm{e}}
\newcommand{\R}{\mathbb{R}}
+ \newcommand{\jacobi}[2]{{\left(\frac{##1}{##2}\right)}}
+ \newcommand{\ii}{\mathrm{i}}
+ \newcommand{\Zi}{\mathbb{Z}[\ii]}
\DeclareMathOperator{\arccot}{arccot}
\DeclareMathOperator{\Corr}{\rho}
\DeclareMathOperator{\Cov}{Cov}
diff --git a/macros/latex/contrib/randexam/randexam.pdf b/macros/latex/contrib/randexam/randexam.pdf
index 68c0e5925d..1ef3fcc5ad 100644
--- a/macros/latex/contrib/randexam/randexam.pdf
+++ b/macros/latex/contrib/randexam/randexam.pdf
Binary files differ
diff --git a/macros/latex/contrib/randexam/randexam.tex b/macros/latex/contrib/randexam/randexam.tex
index 74e57318df..ff7d951a15 100644
--- a/macros/latex/contrib/randexam/randexam.tex
+++ b/macros/latex/contrib/randexam/randexam.tex
@@ -3,7 +3,7 @@
\documentclass[12pt,plain,math=most]{randexam}
\geometry{b5paper,margin=2cm}
-\newcommand*{\myversion}{2024E}
+\newcommand*{\myversion}{2024F}
\newcommand*{\mydate}{\the\year-\mylpad\month-\mylpad\day}
\newcommand*{\mylpad}[1]{\ifnum#1<10 0\the#1\else\the#1\fi}
diff --git a/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf b/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
index 1ae91515fb..fc1cf0d3af 100644
--- a/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
+++ b/macros/latex/contrib/reledmac/doc-more/page-typesetting-columns.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf b/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
index 58f1d6981d..7454d1cce0 100644
--- a/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-criticalendnotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf b/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
index ea2f749d32..51238cf571 100644
--- a/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-criticalnotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf b/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
index 2d7130fcb9..fa4b8cdbb5 100644
--- a/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-sidenotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-tabular.pdf b/macros/latex/contrib/reledmac/examples/1-tabular.pdf
index d7a945978b..80a889d85b 100644
--- a/macros/latex/contrib/reledmac/examples/1-tabular.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-tabular.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf b/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
index 75b679b50d..4881557ce0 100644
--- a/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-verses-doublenumbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/1-verses.pdf b/macros/latex/contrib/reledmac/examples/1-verses.pdf
index e1d1b6af19..3caf07a14a 100644
--- a/macros/latex/contrib/reledmac/examples/1-verses.pdf
+++ b/macros/latex/contrib/reledmac/examples/1-verses.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-antilabe.pdf b/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
index f7b843c631..7c94d43d13 100644
--- a/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-antilabe.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf b/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
index 1c53f875a0..0278d89b9f 100644
--- a/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-cross_referencing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf b/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
index c9e6daca45..542174e6f0 100644
--- a/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-footnote_spacing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-glossaries.pdf b/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
index f702632cf3..3ecab9d63b 100644
--- a/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-glossaries.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-indexing.pdf b/macros/latex/contrib/reledmac/examples/2-indexing.pdf
index ca3b90abcc..607860d6e6 100644
--- a/macros/latex/contrib/reledmac/examples/2-indexing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-indexing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf b/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
index 95a09523d9..26e21be7b9 100644
--- a/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-lemma_disambigution.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf b/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
index 0021b1cbd3..b1dca2b117 100644
--- a/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-line_numbers_in_header.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-linespacing.pdf b/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
index 67424c3e0c..499104658b 100644
--- a/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-linespacing.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf b/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
index 362ff7012a..f5f58e81d6 100644
--- a/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-manuscript-apparatus.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-notes-width.pdf b/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
index 0fe795532a..abaf67b4f6 100644
--- a/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-notes-width.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf b/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
index ad48933ba2..3cda9762d0 100644
--- a/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-one_series_per_pstart.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-performances.pdf b/macros/latex/contrib/reledmac/examples/2-performances.pdf
index e68f4f3b49..c543daa168 100644
--- a/macros/latex/contrib/reledmac/examples/2-performances.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-performances.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf b/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
index ed0755c95b..9030d23e94 100644
--- a/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-reledmac-right-to-left.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf b/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
index a0e92d1b90..53b0429efc 100644
--- a/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-subdivision-number-in-header.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
index 22f3ac9ed3..7872a6a918 100644
--- a/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf b/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
index 6edc466546..d751ef78ff 100644
--- a/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/2-titles_not_in_line_numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
index ae6daea2f3..d05683ac0a 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_columns_different_languages.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
index 65e77b6045..71adb5d7bb 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
index 7864905fc5..3d12b5b07b 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
index 147ece9039..36e5904216 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
index bc2e485aa7..df79382ca8 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
index a53aafd365..d68d98ff29 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
index b873ef2634..448dea3da8 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_default.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
index 4437bcd188..37ac4daee6 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
index 0c36cb9564..d69077e19b 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
index 073be3c769..692832cc52 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
index 7a13994ca4..bf85737443 100644
--- a/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
+++ b/macros/latex/contrib/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
index 5dbce10161..e9fb82d345 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
index 4c574e496b..6136c9957b 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
index 012bb74b4e..0fea810dc6 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_alignment.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
index fc67986e5a..b492f69121 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
index 58d08bf3bd..d4643edcb3 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_inside-outside-columns.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
index 36f6321386..09f3b72602 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
index db1ccbc5a7..4ccf4308cd 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_long_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
index d71f06d80e..000ffd301c 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
index c6186efd4d..3baa1de986 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
index a36ab701dd..7a63bced17 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
index 33338d8f63..e68462600d 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf b/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
index c8200f5ff5..120bdeb43a 100644
--- a/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
+++ b/macros/latex/contrib/reledmac/examples/4-reledpar_verse_text_between.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/migration.pdf b/macros/latex/contrib/reledmac/migration.pdf
index 50d46b721e..1512a20fea 100644
--- a/macros/latex/contrib/reledmac/migration.pdf
+++ b/macros/latex/contrib/reledmac/migration.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/reledmac.dtx b/macros/latex/contrib/reledmac/reledmac.dtx
index 2109ca38b5..8b43d5b6be 100644
--- a/macros/latex/contrib/reledmac/reledmac.dtx
+++ b/macros/latex/contrib/reledmac/reledmac.dtx
@@ -786,7 +786,7 @@
% Briefe}, series {\sc I, III, VII,} being edited by Dr.\ H.\
% Breger\index{Breger, Herbert}, Dr.~N. G\"adeke\index{G\"adeke, Nora} and
% others at the Leibniz-Archiv, Nieders\"achsische Landesbibliothek, Hannover.
-% (see \url{http://www.nlb-hannover.de/Leibniz})}
+% (see \url{https://www.gwlb.de/leibniz/digitale-ressourcen/repositorium-des-leibniz-archivs})}
% Theodosius's\index{Theodosius} {\em Spherics}, the German {\em
% Algorismus} of Sacrobosco,\index{Sacrobosco} the Sanskrit text of the
% {\em K\={a}\'{s}ik\={a}\-v\d{r}tti\/} of V\={a}mana\index{Vamana} and
@@ -3962,7 +3962,7 @@
% & It makes the peas taste funny \\
% & And get my tummy gummy.\edindex{gummy} &
% & But it keeps them on the knife.
-% \end{edtabularr}
+% \end{edtabularl}
% \pend
% \endnumbering
% \end{verbatim}
diff --git a/macros/latex/contrib/reledmac/reledmac.pdf b/macros/latex/contrib/reledmac/reledmac.pdf
index bc1f8b20f9..bf4c1a04d6 100644
--- a/macros/latex/contrib/reledmac/reledmac.pdf
+++ b/macros/latex/contrib/reledmac/reledmac.pdf
Binary files differ
diff --git a/macros/latex/contrib/reledmac/reledpar.dtx b/macros/latex/contrib/reledmac/reledpar.dtx
index aff1d03da1..1d09e9c4ef 100644
--- a/macros/latex/contrib/reledmac/reledpar.dtx
+++ b/macros/latex/contrib/reledmac/reledpar.dtx
@@ -354,6 +354,7 @@
% \changes{v2.25.4}{2023/07/04}{Fix bug with \protect\cs{linenumOnlyPagesForColumnsR} and multiple numbered sections}
% \changes{v2.25.5}{2023/07/20}{Fix bug with hyperlink when using \protect\cs{footnoteXnomk}}
% \changes{v2.25.6}{2024/02/26}{Make \protect\cs{doinsidethislinehook} working on right side}
+% \changes{v2.25.7}{2024/07/23}{Fix compatibility with \protect\package{polyglossia} 2.2}
% ^^A PW added following as the definitions are at some unknown elsewhere
%
% \newcommand{\egstart}{%
@@ -1410,7 +1411,7 @@
% \begin{macrocode}
%<*code>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledpar}[2024/05/11 v2.25.6a reledmac extension for parallel texts]%
+\ProvidesPackage{reledpar}[2024/07/23 v2.25.7 reledmac extension for parallel texts]%
% \end{macrocode}
% \subsection{Package's requirement}
@@ -5543,17 +5544,6 @@
% To counter this, we have to make sure that the correct language is
% used at the proper times.
%
-% \begin{macro}{\ifl@dusedbabel}
-% \begin{macro}{\l@dusedbabelfalse}
-% \begin{macro}{\l@dusedbabeltrue}
-% A flag for checking if \verb?babel? has been used as a package.
-% \begin{macrocode}
-\newif\ifl@dusedbabel
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
% \changes{v1.8.0}{2014/08/05}{Suppress \protect\cs{ifl@dsamelang} which did not work and was not logical, because both columns could have the same language but not the main language of the document.}
%
% \begin{macro}{\l@dchecklang}
@@ -5598,20 +5588,18 @@
% Now do the \protect\package{babel} or \protect\package{polyglossia} fix or, if necessary.
% \begin{macrocode}
\AtBeginDocument{%
- \@ifundefined{xpg@main@language}{%
+ \@ifpackageloaded{babel}{%
\@ifundefined{bbl@main@language}{%
% \end{macrocode}
% Either \protect\package{babel} has not been used or it has been used with no
% specified language.
% \begin{macrocode}
- \l@dusedbabelfalse
}{%
% \end{macrocode}
% Here we deal with the case where babel has been used. \protect\cs{selectlanguage}
% has to be redefined to use our version of \protect\cs{bbl@set@language} and to
% store the left or right language.
% \begin{macrocode}
- \l@dusedbabeltrue
\let\l@doldselectlanguage\selectlanguage
\let\l@doldbbl@set@language\bbl@set@language
\renewcommand{\selectlanguage}[1]{%
@@ -5635,7 +5623,7 @@
\gdef\theledlanguageL{\bbl@main@language}%
\gdef\theledlanguageR{\bbl@main@language}%
}%
- }
+ }{}%
% \end{macrocode}
% If use \protect\package{polyglossia}
% \changes{v1.8.0}{2014/08/05}{Correct left/right language setting with polyglossia.}
@@ -5643,25 +5631,28 @@
% \changes{v2.22.4}{2019/11/04}{Provide compatibility with the latest version of polyglossia (v1.45).}
% \changes{v2.23.0}{2020/03/08}{Restore compatibility with versions of polyglossia prior to v1.45.}
% \begin{macrocode}
- {%
- \@ifpackagelater{polyglossia}{2022/04/10}{}{\led@err@polyglossiaTooOld}%
- \let\old@otherlanguage\otherlanguage%
- \renewcommand{\otherlanguage}[2][]{%
- \selectlanguage[#1]{#2}%
- \xpg@set@language@only@aux[#1]{#2}%
- \ifledRcol \gdef\theledlanguageR{#2}%
- \else \gdef\theledlanguageL{#2}%
- \fi}%
+ \@ifpackageloaded{polyglossia}{%
+ \@ifpackagelater{polyglossia}{2024/07/15}{}{\led@err@polyglossiaTooOld}%
\renewcommand{\l@duselanguage}[1]{%
\csuse{no\languagename @numbers}%
- \expandafter\@select@language\expandafter{#1}%
+ \selectlanguage*{#1}%
+ }%
+ \AddToHook{env/Leftside/begin}{%
+ \AddToHookNext{cmd/polyglossia@language@switched/after}{%
+ \xdef\theledlanguageL{\languagename}%
+ }%
}%
- \xdef\theledlanguageL{\xpg@main@language}%
- \xdef\theledlanguageR{\xpg@main@language}%
+ \AddToHook{env/Rightside/begin}{%
+ \AddToHookNext{cmd/polyglossia@language@switched/after}{%
+ \xdef\theledlanguageR{\languagename}%
+ }%
+ }%
+ \xdef\theledlanguageL{\mainlanguagename}%
+ \xdef\theledlanguageR{\mainlanguagename}%
% \end{macrocode}
% That is it.
% \begin{macrocode}
- }%
+ }{}%
}%
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/reledmac/reledpar.pdf b/macros/latex/contrib/reledmac/reledpar.pdf
index 84a3fd4ec0..09730ec178 100644
--- a/macros/latex/contrib/reledmac/reledpar.pdf
+++ b/macros/latex/contrib/reledmac/reledpar.pdf
Binary files differ
diff --git a/macros/latex/contrib/reptheorem/reptheorem.dtx b/macros/latex/contrib/reptheorem/reptheorem.dtx
index d96f740fec..b0f537af97 100644
--- a/macros/latex/contrib/reptheorem/reptheorem.dtx
+++ b/macros/latex/contrib/reptheorem/reptheorem.dtx
@@ -12,7 +12,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is Jesse Sraat.
+% The Current Maintainer of this work is Jesse Straat.
%
% This work consists of the main file reptheorem.dtx
% and the derived files
@@ -89,7 +89,7 @@ License: [LPPL1.3c](https://www.latex-project.org/lppl.txt)
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: reptheorem 2024-03-27 v1.0}
+\Msg{* Package: reptheorem 2024-08-12 v1.1}
\Msg{************************************************************************}
\keepsilent
@@ -109,7 +109,7 @@ version 2008 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is Jesse Sraat.
+The Current Maintainer of this work is Jesse Straat.
This work consists of the main file reptheorem.dtx
and the derived files
@@ -246,9 +246,9 @@ colorlinks,
% environment \DescribeEnv{makethm} |makethm| is
% used for.
% \begin{verbatim}
-% \begin{makethm}{theorem}{thm:Yoneda}[Yoneda Lemma]{
+% \begin{makethm}{theorem}{thm:Yoneda}[Yoneda Lemma]
% For \(F\colon \mathcal{C}\to \mathbf{Set}\) a functor,
-% \([\mathcal{C}^\mathrm{op},\mathbf{Set}](YA, F) \cong F(A)\)%
+% \([\mathcal{C}^\mathrm{op},\mathbf{Set}](YA, F) \cong F(A)\)
% for all objects \(A\) in \(\mathcal{C}\).
% \end{makethm}
% \end{verbatim}
@@ -271,33 +271,33 @@ colorlinks,
% the theorem is proven at a later point, or we want to
% ``tease'' the reader with a powerful theorem that will be
% proven later in the chapter. To do this, we use the
-% \DescribeMacro{repthm} command, as follows.
+% \DescribeMacro{\repthm} command, as follows.
% \begin{verbatim}
-% \repthm{theorem}{thm:Yoneda}
+% \repthm{thm:Yoneda}
% \end{verbatim}
% This outputs the theorem again.
-% \repthm{theorem}{thm:Yoneda}
+% \repthm{thm:Yoneda}
% The label of this theorem is a |\ref|, and automatically
% links to the original theorem statement.\par
% If the original theorem statement exists in a different
% file, or has not been created yet, we can add a placeholder
% alt text to the |\repthm| as an optional argument, which
% only displays if the theorem is undefined. For example,
-% |\repthm{theorem}{thm:foo}[bar]| returns
-% \repthm{theorem}{thm:foo}[bar]
+% |\repthm{thm:foo}[bar]| returns
+% \repthm{thm:foo}[bar]
% If we do the same without providing an alt text, we get
-% \repthm{theorem}{thm:foo}
+% \repthm{thm:foo}
% together with a warning.\par
% Since we're using the |.aux| file, it is possible
% to replicate a theorem before it is stated. For example,
% \begin{verbatim}
-% \repthm{theorem}{thm:later}
+% \repthm{thm:later}
% \begin{makethm}{theorem}{thm:later}[Later]
% Alligator!
% \end{makethm}
% \end{verbatim}
% returns
-% \repthm{theorem}{thm:later}
+% \repthm{thm:later}
% \begin{makethm}{theorem}{thm:later}[Later]
% Alligator
% \end{makethm}
@@ -352,7 +352,7 @@ colorlinks,
% \section{Source code}
% \begin{macrocode}
%<*package>
-\ProvidesPackage{reptheorem}[2024-03-27 v1.0 Reptheorem package]
+\ProvidesPackage{reptheorem}[2024-08-12 v1.1 Reptheorem package]
% \end{macrocode}
%
% \begin{macro}{\theoremfile}
@@ -387,6 +387,7 @@ colorlinks,
% \end{macro}
%
% \begin{environment}{makethm}
+% \changes{v1.1}{2024/05/03}{Now saves theorem environment type, breaking backwards compatibility}
% On to defining the actual theorems to be saved.
% \begin{macrocode}
\NewDocumentEnvironment{makethm}{ m m o +b }
@@ -403,15 +404,19 @@ colorlinks,
}
#4
\end{#1}
+ \expandafter\gdef\csname thmtype@#2\endcsname{#1}
\expandafter\long\expandafter\gdef\csname thm@#2\endcsname{#4}%
\expandafter\gdef\csname thmdesc@#2\endcsname{#3}%
% Saving parameters to aux file
\long\gdef\@thmoutput{%
+ \string\expandafter\string\gdef\noexpand%
+ \csname thmtype@#2\string\endcsname{#1}%
+ ^^J%
\string\expandafter\string\long\string\expandafter%
\string\gdef\noexpand\csname thm@#2\string\endcsname{#4}%
^^J%
- \string\expandafter\string\expandafter%
- \string\gdef\noexpand\csname thmdesc@#2\string\endcsname{#3}%
+ \string\expandafter\string\gdef\noexpand%
+ \csname thmdesc@#2\string\endcsname{#3}%
}
\write\@auxout{\@thmoutput}
\if\reptheorem@theoremfile\relax
@@ -426,53 +431,60 @@ colorlinks,
% \end{environment}
%
% \begin{macro}{\repthm}
+% \changes{v1.1}{2024/05/03}{Now saves theorem environment type, breaking backwards compatibility}
% To repeat a theorem, use the |\repthm| command.
% The type of theorem is not saved, so it is necessary to
% respecify it each time a theorem is repeated.
% \begin{macrocode}
\newcounter{old@counter}
-\NewDocumentCommand{\repthm}{ m m +o }{
- % m: the type of theorem environment
+\NewDocumentCommand{\repthm}{ m +o }{
% m: the name of the theorem
% o: alt text
\begingroup
- \setcounter{old@counter}{\value{#1}}
+ % Check if thmtype is given
+ \ifcsname thmtype@#1\endcsname%
+ \expandafter\let\expandafter\@@thmtype\csname thmtype@#1\endcsname%
+ \else%
+ \def\@@thmtype{theorem}%
+ \fi%
+ %
% Save theorem counter so we don't increase it
- \def\thetheorem{\ref{#2}}
+ \setcounter{old@counter}{\value{\@@thmtype}}
+ \def\thetheorem{\ref{#1}}
\let\@@theoremnotdefined\relax
%
- \ifcsname thm@#2\endcsname% Check if theorem is even defined
+ \ifcsname thm@#1\endcsname% Check if theorem is even defined
% Theorem is defined
- \expandafter\edef\expandafter\@@thmdesc{\csname thmdesc@#2\endcsname}%
- \expandafter\let\expandafter\@@thm\csname thm@#2\endcsname
+ \expandafter\edef\expandafter\@@thmdesc{\csname thmdesc@#1\endcsname}%
+ \expandafter\let\expandafter\@@thm\csname thm@#1\endcsname
% Output theorem
\IfValueTF{\@@thmdesc}{% Check if theorem has name
- \begin{#1}[\@@thmdesc]
+ \begin{\@@thmtype}[\@@thmdesc]
\@@thm
- \end{#1}
+ \end{\@@thmtype}
}{% No optionals
- \begin{#1}
+ \begin{\@@thmtype}
\@@thm
- \end{#1}
+ \end{\@@thmtype}
}
\else
% Theorem undefined
- \IfValueTF{#3}{
- \begin{#1}
- #3
- \end{#1}
+ \IfValueTF{#2}{
+ \begin{\@@thmtype}
+ #2
+ \end{\@@thmtype}
}{% No theorem or alt text provided: throw warning
- \begin{#1}
- \end{#1}
+ \begin{\@@thmtype}
+ \end{\@@thmtype}
\PackageWarning{reptheorem}{%
- Theorem #2 not defined; rebuild your project.
+ Theorem #1 not defined; rebuild your project.
If the issue persists, create the theorem using
\begin{makethm} or consider adding alt text to \repthm
using the optional parameter%
}
}
\fi
- \setcounter{#1}{\value{old@counter}}
+ \setcounter{\@@thmtype}{\value{old@counter}}
% Reset theorem counter back to original
\endgroup
}
@@ -483,4 +495,4 @@ colorlinks,
% \begin{macrocode}
%</package>
% \end{macrocode}
-%\Finale
+%\Finale \ No newline at end of file
diff --git a/macros/latex/contrib/reptheorem/reptheorem.ins b/macros/latex/contrib/reptheorem/reptheorem.ins
index c85a0d2ff3..be179b4d9a 100644
--- a/macros/latex/contrib/reptheorem/reptheorem.ins
+++ b/macros/latex/contrib/reptheorem/reptheorem.ins
@@ -27,7 +27,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: reptheorem 2024-03-27 v1.0}
+\Msg{* Package: reptheorem 2024-08-12 v1.1}
\Msg{************************************************************************}
\keepsilent
diff --git a/macros/latex/contrib/reptheorem/reptheorem.pdf b/macros/latex/contrib/reptheorem/reptheorem.pdf
index 31caef6e5d..cb574aa07c 100644
--- a/macros/latex/contrib/reptheorem/reptheorem.pdf
+++ b/macros/latex/contrib/reptheorem/reptheorem.pdf
Binary files differ
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf
index 6e42e68df9..6f4fa467ef 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex
index dde087fc1c..167d62e4f4 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-doc.tex
@@ -3,8 +3,8 @@
% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
\documentclass[french,a4paper,11pt]{article}
-\def\TPversion{0.1.7}
-\def\TPdate{22 juin 2024}
+\def\TPversion{0.1.8}
+\def\TPdate{4 juillet 2024}
\usepackage[executable=python.exe]{pyluatex}
\usepackage[table,svgnames]{xcolor}
\usepackage{amsmath,amssymb}
@@ -148,7 +148,7 @@
\vspace{0.25cm}
-{$\blacktriangleright$~~Une commande pour afficher une matrice carrée (2x2, 3x3 ou 4x4) avec la syntaxe du package.}
+{$\blacktriangleright$~~Une commande pour afficher une matrice carrée (2×2, 3×3 ou 4×4) avec la syntaxe du package.}
\smallskip
@@ -156,15 +156,15 @@
\smallskip
-{$\blacktriangleright$~~Des commandes pour calculer le déterminant et l'inverse de matrices carrées (2x2, 3x3 ou 4x4).}
+{$\blacktriangleright$~~Des commandes pour calculer le déterminant et l'inverse de matrices carrées (2×2, 3×3 ou 4×4).}
\smallskip
-{$\blacktriangleright$~~Des commandes pour résoudre des systèmes linéaires (2x2, 3x3 ou 4x4).}
+{$\blacktriangleright$~~Des commandes pour résoudre des systèmes linéaires (2×2, 3×3 ou 4×4).}
\smallskip
-{$\blacktriangleright$~~Des commandes pour travailler sur des graphes probabilistes (2x2, 3x3 ou 4x4).}
+{$\blacktriangleright$~~Des commandes pour travailler sur des graphes probabilistes (2×2, 3×3 ou 4×4).}
\vspace{1cm}
@@ -207,7 +207,9 @@
\hrule
-\medskip
+\bigskip
+
+{\footnotesize\sffamily\itshape À mon papa.}
\newpage
@@ -240,8 +242,8 @@ La package \textit{propose} des outils pour travailler sur des matrices ou des s
À noter que les calculs -- en interne -- peuvent être effectués de deux manières :
\begin{itemize}
- \item via les packages \textsf{xint*} pour des formats \textbf{2x2} ou \textbf{3x3} (et dans une certaine mesure pour des \textbf{4x4}) ;
- \item via \textsf{python} et le package \textsf{pyluatex} (à charger manuellement du fait des options spécifiques) pour des formats \textbf{2x2}, \textbf{3x3} ou \textbf{4x4}.
+ \item via les packages \textsf{xint*} pour des formats \textbf{2×2} ou \textbf{3×3} (et dans une certaine mesure pour des \textbf{4×4}) ;
+ \item via \textsf{Python} et le package \textsf{pyluatex} (à charger manuellement du fait des options spécifiques) pour des formats \textbf{2×2}, \textbf{3×3} ou \textbf{4×4}.
\end{itemize}
Il n'est pas prévu -- pour le moment -- de travailler sur des matrices/systèmes plus grands, car l'idée est de pouvoir formater le résultat, ce qui se fait coefficient par coefficient.
@@ -252,7 +254,7 @@ L'utilisation de \textsf{pyluatex} nécessite une compilation adaptée, à savoi
\smallskip
-La méthode par \textsf{python} utilise quoi qu'il en soit le module \texttt{sympy}, qui doit donc être installé !
+La méthode par \textsf{Python} utilise quoi qu'il en soit le module \texttt{sympy}, qui doit donc être installé !
\end{warningblock}
\subsection{Packages utilisés, choix de formatage}
@@ -283,7 +285,7 @@ En marge de la présente documentation, compilée en \textsf{lualatex} avec \tex
\begin{itemize}
\item \texttt{ResolSysteme-exemples} pour les commandes disponibles en version classique (\textsf{xint}) ;
- \item \texttt{ResolSysteme-exemples-pyluatex} pour les commandes disponibles en version python (\textsf{pyluatex}).
+ \item \texttt{ResolSysteme-exemples-pyluatex} pour les commandes disponibles en version \textsf{Python} (\textsf{pyluatex}).
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{noteblock}
@@ -293,7 +295,7 @@ En marge de la présente documentation, compilée en \textsf{lualatex} avec \tex
\subsection{Chargement du package, et option}
\begin{importantblock}
-Le package peut donc se charger de deux manières différentes, suivant si l'utilisateur utilise \textsf{python} ou non. Les commandes \textit{classiques} sont disponibles même si \textsf{python} est utilisé.
+Le package peut donc se charger de deux manières différentes, suivant si l'utilisateur utilise \textsf{Python} ou non. Les commandes \textit{classiques} sont disponibles même si \textsf{Python} est utilisé.
\end{importantblock}
\begin{PresentationCode}{listing only}
@@ -314,18 +316,22 @@ D'autres solutions existent pour faire du calcul matriciel, on peut pas exemple
\smallskip
-L'idée est ici de proposer une version, adaptée à des dimensions classiques, avec formatage des calculs, sous forme de fraction irréductible notamment. Les formatages étant effectués \textit{a posteriori}, j'ai choisi de limiter ce package à des formats de taille raisonnable (\textbf{1x2} à \textbf{4x4}).
+L'idée est ici de proposer une version, adaptée à des dimensions classiques, avec formatage des calculs, sous forme de fraction irréductible notamment. Les formatages étant effectués \textit{a posteriori}, j'ai choisi de limiter ce package à des formats de taille raisonnable (\textbf{1×2} à \textbf{4×4}).
\end{noteblock}
\part{Historique}
+\verb|v0.1.8|~:~~~~Correction de bugs, améliorations dans la documentation.
+
+\verb|v0.1.7|~:~~~~Correction de bugs dans certains calculs avec des fractions.
+
\verb|v0.1.6|~:~~~~Correction de bugs dans certains calculs avec des fractions.
\verb|v0.1.6|~:~~~~Correction de bugs dans certains calculs.
\verb|v0.1.5|~:~~~~Inverse d'une matrice 4x4 et système 4x4 (même en normal).
-\verb|v0.1.4|~:~~~~Ajout de commandes pour du calcul matriciel sans python (de taille raisonnable) ;
+\verb|v0.1.4|~:~~~~Ajout de commandes pour du calcul matriciel sans \textsf{Python} (de taille raisonnable) ;
\verb| |~~~~~~commandes pour des graphes probabilistes.
@@ -333,7 +339,7 @@ L'idée est ici de proposer une version, adaptée à des dimensions classiques,
\verb| |~~~~~~inversion du comportement des commandes étoilées.
-\verb|v0.1.2|~:~~~~Ajout d'une commande d'affichage (formaté) d'une matrice 2x2, 3x3 ou 4x4.
+\verb|v0.1.2|~:~~~~Ajout d'une commande d'affichage (formaté) d'une matrice 2×2, 3×3 ou 4×4.
\verb|v0.1.1|~:~~~~Correction d'un bug avec le caractère \og ; \fg.
@@ -414,7 +420,7 @@ Les \textit{transformations} en fraction devraient pouvoir fonctionner avec des
\subsection{La commande}
\begin{cautionblock}
-Une commande (matricielle) est dédiée à l'affichage d'une matrice \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} (\textsf{python} est ici non nécessaire !) :
+Une commande (matricielle) est dédiée à l'affichage d'une matrice \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} (\textsf{Python} est ici non nécessaire !) :
\begin{itemize}
\item en saisissant les coefficients via une syntaxe propre au package (l'affichage est géré en interne par \textsf{nicematrix}) ;
@@ -485,8 +491,8 @@ L'idée est de proposer des commandes pour effectuer des calculs matriciels \tex
\item $(4\times4)\times(4\times4)$ ;
\item $(4\times4)\times(4\times1)$ ;
\end{itemize}
- \item le carré d'une matrice 2x2 ou 3x3 ou 4x4 ;
- \item la puissance d'une matrice 2x2 ou 3x3 ou 4x4 (via \textsf{python}).
+ \item le carré d'une matrice 2×2 ou 3×3 ou 4×4 ;
+ \item la puissance d'une matrice 2×2 ou 3×3 ou 4×4 (via \textsf{Python}).
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -576,7 +582,7 @@ $\MatricePuissancePY(1,1,1,1 § 5,-2,1,5 § 0,5,2,-1 § 0,1,1,1)(5)[Aff]$
Une commande est disponible pour calculer le déterminant d'une matrice :
\begin{itemize}
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4}.
+ \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4}.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -585,7 +591,7 @@ Une commande est disponible pour calculer le déterminant d'une matrice :
%version classique
\DetMatrice(*)[option de formatage](matrice)
-%version python
+%version Python
\DetMatricePY(*)[option de formatage](matrice)
\end{PresentationCode}
@@ -633,7 +639,7 @@ est $\det(A)=\DetMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
Le dé. de $A=\AffMatrice(1,2 § 3,4)$ est
$\det(A)=\DetMatricePY(1,2 § 3,4)$.
\end{PresentationCode}
@@ -644,13 +650,13 @@ $\det(A)=\DetMatricePY[d](-1,0.5 § 1/2,4)$.
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
Le dét. de $A=\AffMatrice(-1,1/3,4 § 1/3,4,-1 § -1,0,0)$ est
$\det(A) \approx \DetMatricePY[dec=3](-1,1/3,4 § 1/3,4,-1 § -1,0,0)$.
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
Le dét. de $A=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$
est $\det(A)=\DetMatricePY(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{PresentationCode}
@@ -665,8 +671,8 @@ est $\det(A)=\DetMatricePY(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
Une commande (matricielle) disponible est pour calculer l'éventuelle inverse d'une matrice :
\begin{itemize}
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} (\cmaj{0.1.5}) pour le package \textit{classique} ;
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} également pour la version \textsf{python}.
+ \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} (\cmaj{0.1.5}) pour le package \textit{classique} ;
+ \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} également pour la version \textsf{Python}.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -675,7 +681,7 @@ Une commande (matricielle) disponible est pour calculer l'éventuelle inverse d'
%version classique
\MatriceInverse(*)[option de formatage]<options nicematrix>(matrice)[Clé]
-%version python
+%version Python
\MatriceInversePY(*)[option de formatage]<options nicematrix>(matrice)[Clé]
\end{PresentationCode}
@@ -714,7 +720,7 @@ $A^{-1}=\MatriceInverse[n]<cell-space-limits=2pt>(1,2,3 § 4,5,6 § 7,8,8)[Aff]$
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
L'inverse de $A=\AffMatrice(1,2 § 3,4)$ est
$A^{-1}=\MatriceInversePY[d]<cell-space-limits=2pt>(1,2 § 3,4)[Aff]$.
\end{PresentationCode}
@@ -727,7 +733,7 @@ $A^{-1}=
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
L'inv. de $A=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)$ est
$A^{-1}=
\MatriceInversePY[n]<cell-space-limits=2pt>(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § -2,-3,-5,-6)$.
@@ -740,17 +746,17 @@ $A^{-1}=
\subsection{Introduction}
\begin{cautionblock}
-\cmaj{0.1.4} Il existe des commandes pour travailler sur un graphe probabiliste (avec le package en version \textsf{python}) :
+\cmaj{0.1.4} Il existe des commandes pour travailler sur un graphe probabiliste (avec le package en version \textsf{Python}) :
\begin{itemize}
- \item afficher un état probabiliste (\textbf{1x2} ou \textbf{1x3} ou \textbf{1x4}, version normale ou version \textsf{python}) ;
- \item déterminer un état probabiliste à une certaine étape, uniquement en version \textsf{python}.
+ \item afficher un état probabiliste (\textbf{1×2} ou \textbf{1×3} ou \textbf{1×4}, version normale ou version \textsf{Python}) ;
+ \item déterminer un état probabiliste à une certaine étape, uniquement en version \textsf{Python}.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
\begin{PresentationCode}{listing only}
-%version classique ou python
+%version classique ou Python
\AffEtatProb[opt de formatage]<opts nicematrix>(matrice ligne)
\EtatProbPY[opt de formatage]<opts nicematrix>(état init)(mat de trans)(étape)
\end{PresentationCode}
@@ -847,8 +853,8 @@ $P_4 \approx \EtatProbPY[dec=3]
Il existe une commande (matricielle) pour déterminer l'éventuelle solution d'un système linéaire qui s'écrit matriciellement $A\times X=B$:
\begin{itemize}
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} (\cmaj{0.1.5}) pour le package \textit{classique} ;
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} également pour le package en version \textsf{python}.
+ \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} (\cmaj{0.1.5}) pour le package \textit{classique} ;
+ \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} également pour le package en version \textsf{Python}.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -857,7 +863,7 @@ Il existe une commande (matricielle) pour déterminer l'éventuelle solution d'u
%version classique
\SolutionSysteme(*)[opt de formatage]<opts nicematrix>(matriceA)(matriceB)[Clé]
-%version python
+%version Python
\SolutionSystemePY(*)[opt de formatage]<opts nicematrix>(matriceA)(matriceB)[Clé]
\end{PresentationCode}
@@ -882,6 +888,10 @@ Concernant cette commande, qui est à insérer dans un environnement \textit{mat
\item le dernier argument, \textit{optionnel} et entre \textsf{[...]}, permet -- grâce à la \textit{clé} \Cle{Matrice} -- de présenter le vecteur solution.
\end{itemize}
À noter que si la matrice n'est pas inversible, le texte \texttt{Matrice non inversible} est affiché.
+
+\smallskip
+
+Pour afficher le système via la commande \texttt{\textbackslash systeme}, le package \textsf{systeme} doit être chargé.
\end{tipblock}
\begin{PresentationCode}{}
@@ -891,7 +901,7 @@ La solution de $\systeme{3x+y-2z=-1,2x-y+z=4,x-y-2z=5}$ est $\mathcal{S}=%
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
La solution de $\systeme{x+y+z=-1,3x+2y-z=6,-x-y+2z=-5}$ est $\mathcal{S}=%
\left\lbrace \SolutionSystemePY(1,1,1 § 3,2,-1 § -1,-1,2)(-1,6,-5) \right\rbrace$.
\end{PresentationCode}
@@ -914,7 +924,7 @@ est $\mathcal{S}=
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t=7}$
est $\mathcal{S}=%
\left\lbrace
@@ -938,8 +948,8 @@ La solution de $\systeme{x+2y=-5,4x+8y=1}$ est $\mathcal{S}=%
\cmaj{0.1.4} Il existe une commande (matricielle) pour déterminer l'éventuel état stable d'un graphe probabiliste :
\begin{itemize}
- \item \textbf{2x2} pour le package \textit{classique} ;
- \item \textbf{2x2} ou \textbf{3x3} ou \textbf{4x4} pour le package en version \textsf{python}.
+ \item \textbf{2×2} pour le package \textit{classique} ;
+ \item \textbf{2×2} ou \textbf{3×3} ou \textbf{4×4} pour le package en version \textsf{Python}.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{cautionblock}
@@ -948,7 +958,7 @@ La solution de $\systeme{x+2y=-5,4x+8y=1}$ est $\mathcal{S}=%
%version classique
\EtatStable[opt de formatage]<opts nicematrix>(matriceA)
-%version python
+%version Python
\EtatStablePY[opt de formatage]<opts nicematrix>(matriceA)
\end{PresentationCode}
@@ -982,7 +992,7 @@ ou $\Pi = \EtatStable[dec](0.72,0.28 § 0.12,0.88)$.
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
L'état stable du gr. prob. de matrice
$M=\AffMatrice[dec](0.72,0.28 § 0.12,0.88)$
@@ -991,7 +1001,7 @@ ou $\Pi = \EtatStablePY[dec](0.72,0.28 § 0.12,0.88)$.
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
L'état stable du gr. prob. de matrice
$M=\AffMatrice[dec](0.9,0.03,0.07 § 0.30,0.43,0.27 § 0.14,0.07,0.79)$
@@ -1000,7 +1010,7 @@ ou $\Pi = \EtatStablePY[dec](0.9,0.03,0.07 § 0.30,0.43,0.27 § 0.14,0.07,0.79)$
\end{PresentationCode}
\begin{PresentationCode}{}
-%version python
+%version Python
L'état stable du gr. prob. de matrice
$M=\AffMatrice[dec]%
(0.1,0.2,0.3,0.4 § 0.25,0.25,0.25,0.25 § 0.15,0.15,0.2,0.5 § 0.3,0.3,0.2,0.2)$
@@ -1013,7 +1023,7 @@ est $\Pi \approx
\pagebreak
-\part{Fonctions python utilisées}
+\part{Fonctions Python utilisées}
\begin{cautionblock}
Les fonctions utilisées par les packages \textsf{pyluatex} ou \textsf{pythontex} sont données ci-dessous.
@@ -1022,7 +1032,7 @@ Elles sont accessibles en \textit{natif} une fois l'option \textsf{pyluatex} act
\end{cautionblock}
\begin{PresentationCodePython}{listing only}
-#variables symboliques (pour du 4x4 maxi)
+#variables symboliques (pour du 4×4 maxi)
import sympy as sy
x = sy.Symbol('x')
y = sy.Symbol('y')
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf
index 8aa1f3642e..dfd7461c74 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex
index 3527a58223..600ce6d1d3 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples-pyluatex.tex
@@ -2,7 +2,7 @@
% !TeX TXS-program:compile = txs:///lualatex/[--shell-escape]
\documentclass[french,a4paper,10pt]{article}
-\def\RSver{0.1.7}
+\def\RSver{0.1.8}
\usepackage[margin=1.5cm]{geometry}
\usepackage[executable=python.exe]{pyluatex}
\usepackage[pyluatex]{ResolSysteme}
@@ -27,7 +27,7 @@
\sisetup{locale=FR,output-decimal-marker={,}}
\end{ShowCodeTeX}
-\section{Affichage d'une matrice, 2x2 ou 3x3 ou 4x4}
+\section{Affichage d'une matrice, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
On considère les matrices $A=\AffMatrice(1,2 § 3,4)$
@@ -35,7 +35,7 @@ et $B=\AffMatrice[n](-1,-1/3,4 § 1/3,4,-1 § -1,0,0)$
et $C=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{ShowCodeTeX}
-\section{Déterminant d'une matrice, 2x2 ou 3x3 ou 4x4}
+\section{Déterminant d'une matrice, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
Le déterminant de $A=\AffMatrice(1,2 § 3,4)$ est
@@ -57,7 +57,7 @@ Le dét. de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{pN
est $\det(A)=\DetMatricePY(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{ShowCodeTeX}
-\section{Calculs avec des matrices, 2x2 ou 3x3 ou 4x4}
+\section{Calculs avec des matrices, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
$\ProduitMatricesPY(1,2)(3 § 4)[Aff]$ et $\ProduitMatricesPY(1,2)(3,4 § 5,6)[Aff]$ \\
@@ -83,7 +83,7 @@ $\MatricePuissancePY(1,1,-1 § 5,-2,1 § 0,5,2)(3)[Aff]$ \\
$\MatricePuissancePY(1,1,1,1 § 5,-2,1,5 § 0,5,2,-1 § 0,1,1,1)(5)[Aff]$
\end{ShowCodeTeX}
-\section{Inverse d'une matrice, 2x2 ou 3x3 ou 4x4}
+\section{Inverse d'une matrice, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est
@@ -120,7 +120,7 @@ L'inverse de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{p
est $A^{-1}=\MatriceInversePY[n]<cell-space-limits=2pt>(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{ShowCodeTeX}
-\section{Résolution d'un système, 2x2 ou 3x3 ou 4x4}
+\section{Résolution d'un système, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
La solution de $\systeme{-9x-8y=-8,3x-6y=-7}$ est $\mathcal{S}=%
@@ -160,7 +160,7 @@ La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t=
[Matrice]$
\end{ShowCodeTeX}
-\section{État probabiliste d'un graphe probabiliste, 2x2 ou 3x3 ou 4x4}
+\section{État probabiliste d'un graphe probabiliste, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
État initial : $P_0 = \AffEtatProb[t](1/3,2/3)$.
@@ -202,7 +202,7 @@ $P_4 \approx \EtatProbPY[dec=3]
(4)$
\end{ShowCodeTeX}
-\section{État stable d'un graphe probabiliste, 2x2 ou 3x3 ou 4x4}
+\section{État stable d'un graphe probabiliste, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
L'état stable du gr. prob. de matrice
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf
index 59e5819a3a..bbf961d1a7 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.pdf
Binary files differ
diff --git a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex
index ffec22fb9f..b228332dec 100644
--- a/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex
+++ b/macros/latex/contrib/resolsysteme/doc/ResolSysteme-exemples.tex
@@ -2,7 +2,7 @@
% !TeX TXS-program:compile = txs:///pdflatex
\documentclass[french,a4paper,10pt]{article}
-\def\RSver{0.1.7}
+\def\RSver{0.1.8}
\usepackage[margin=1.5cm]{geometry}
\usepackage{ResolSysteme}
\usepackage{systeme}
@@ -15,7 +15,7 @@
\part*{ResolSysteme (\RSver), version \og classique \fg{}}
-\section{Préambule sans utiliser python}
+\section{Préambule sans utiliser Python}
\begin{ShowCodeTeX}[listing only]
\documentclass[french,a4paper,10pt]{article}
@@ -25,7 +25,7 @@
\sisetup{locale=FR,output-decimal-marker={,}}
\end{ShowCodeTeX}
-\section{Affichage d'une matrice, 2x2 ou 3x3 ou 4x4}
+\section{Affichage d'une matrice, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
On considère les matrices $A=\AffMatrice(1,2 § 3,4)$
@@ -33,7 +33,7 @@ et $B=\AffMatrice[n](-1,1/3,4 § 1/3,4,-1 § -1,0,0)$
et $C=\AffMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{ShowCodeTeX}
-\section{Calculs avec des matrices, 2x2 ou 3x3 ou 4x4}
+\section{Calculs avec des matrices, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
$\ProduitMatrices(1,2)(3 § 4)[Aff]$ et $\ProduitMatrices(1,2)(3,4 § 5,6)[Aff]$ \\
@@ -59,7 +59,7 @@ $\CarreMatrice(-5,6,8 § 1,4,-9 § 1,-1,1)[Aff]$\\
$\CarreMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)[Aff]$
\end{ShowCodeTeX}
-\section{Déterminant d'une matrice, 2x2 ou 3x3 ou 4x4}
+\section{Déterminant d'une matrice, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
Le déterminant de $A=\AffMatrice(1,2 § 3,4)$ est
@@ -81,7 +81,7 @@ Le dét. de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{pN
est $\det(A)=\DetMatrice(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{ShowCodeTeX}
-\section{Inverse d'une matrice, 2x2 ou 3x3 ou 4x4}
+\section{Inverse d'une matrice, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
L'inverse de $A=\begin{pNiceMatrix} 1&2 \\ 3&4 \end{pNiceMatrix}$ est
@@ -113,7 +113,7 @@ L'inverse de $A=\begin{pNiceMatrix} 1&2&3&4\\5&6&7&0\\1&1&1&1\\2&-3&-5&-6 \end{p
est $A^{-1}=\MatriceInverse[n]<cell-space-limits=2pt>(1,2,3,4 § 5,6,7,0 § 1,1,1,1 § 2,-3,-5,-6)$.
\end{ShowCodeTeX}
-\section*{Résolution d'un système, 2x2 ou 3x3 ou 4x4}
+\section*{Résolution d'un système, 2×2 ou 3×3 ou 4×4}
\begin{ShowCodeTeX}
La solution de $\systeme{-9x-8y=-8,3x-6y=-7}$ est $\mathcal{S}=%
@@ -158,7 +158,7 @@ La solution de $\systeme[xyzt]{x+2y+3z+4t=-10,5x+6y+7z=0,x+y+z+t=4,-2x-3y-5z-6t=
[Matrice]$
\end{ShowCodeTeX}
-\section{État stable d'une graphe probabiliste, 2x2}
+\section{État stable d'une graphe probabiliste, 2×2}
\begin{ShowCodeTeX}
L'état stable du gr. prob. de matrice
diff --git a/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty b/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty
index a7e95078fa..5a8d27b31c 100644
--- a/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty
+++ b/macros/latex/contrib/resolsysteme/tex/ResolSysteme.sty
@@ -2,7 +2,8 @@
% licence........: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ResolSysteme}[2024/06/22 v0.1.7 Quelques commandes pour travailler avec des matrices et des sytemes lineaires]
+\ProvidesPackage{ResolSysteme}[2024/07/04 v0.1.8 Quelques commandes pour travailler avec des matrices et des sytemes lineaires]
+% 0.1.8 Correction de bugs dans certains calculs, amélioration de la documentation
% 0.1.7 Correction de bugs dans certains calculs
% 0.1.6 Correction de bugs dans certains calculs
% 0.1.5 Inverse d'une matrice en 4x4 (même en normal !) + Système 4x4 (en normal !)
diff --git a/macros/latex/contrib/responsive/README b/macros/latex/contrib/responsive/README
index dc2953cb54..c6ed3ea7ea 100644
--- a/macros/latex/contrib/responsive/README
+++ b/macros/latex/contrib/responsive/README
@@ -1,6 +1,6 @@
The Responsive Package
-Version 0.1
+Version v0.1a
Change font sizes and other typographic details in LaTeX documents depending on
the page dimensions.
@@ -21,7 +21,7 @@ elements for various output formats and devices. Key features include:
- Line Spacing Control: adjust line spacing determining the x-height percentage
for enhanced readability.
-Copyright: 2023-2023 Michal Hoftich
+Copyright: 2023-2024 Michal Hoftich
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/responsive/responsive-doc.pdf b/macros/latex/contrib/responsive/responsive-doc.pdf
index 1e7245c04f..498fcac9bb 100644
--- a/macros/latex/contrib/responsive/responsive-doc.pdf
+++ b/macros/latex/contrib/responsive/responsive-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/responsive/responsive-doc.tex b/macros/latex/contrib/responsive/responsive-doc.tex
index 4272397e3e..e5e5b3f074 100644
--- a/macros/latex/contrib/responsive/responsive-doc.tex
+++ b/macros/latex/contrib/responsive/responsive-doc.tex
@@ -22,7 +22,7 @@
\usepackage{booktabs}
\usepackage[style=iso-authoryear]{biblatex}
\addbibresource{responsive-doc.bib}
-\newenvironment{changelog}{\longtable{@{} l p{30em}}}{\endlongtable}
+\newenvironment{changelog}{\longtable{@{} l p{20em}}}{\endlongtable}
\newcommand\change[2]{#1 & #2\\}
\ifdefined\HCode
% I want to convert parts of the document to images,
@@ -525,6 +525,9 @@ under the terms of the \LaTeX\ Project Public License, version 1.3.
\section{Changes}
\begin{changelog}
+ \change{2024-07-14}{Version 0.1a released}
+ \change{2024-03-16}{Set the \texttt{topmargin} dimension}
+ \change{}{Call Geometry's \texttt{\textbackslash Gm@process} command to fix page dimensions, if Geometry is loaded}
\change{2023-12-13}{Version 0.1 released.}
\change{}{Finished documentation.}
\change{2023-12-07}{Added the \texttt{lineheight} property.}
diff --git a/macros/latex/contrib/responsive/responsive.sty b/macros/latex/contrib/responsive/responsive.sty
index 65e5061f45..289f04ca8b 100644
--- a/macros/latex/contrib/responsive/responsive.sty
+++ b/macros/latex/contrib/responsive/responsive.sty
@@ -3,7 +3,7 @@
\RequirePackage{expl3,l3keys2e}
\RequirePackage{kvoptions}
\ProvidesExplPackage{responsive}
-{2023-12-15}{0.1}{Responsive design for LaTeX}
+{2024-07-14}{v0.1a}{Responsive design for LaTeX}
%%%%%%%%%%%%%%%%%%%%%%
% keyval processing %
@@ -168,6 +168,10 @@
\@setfontsize#1{\resp_multiply_note:nnn\resp_font_size{#2}{1}}{\resp_multiply_note:nnn\resp_line_skip{#2}{\l_resp_lineheight_multiplier}}
}
+% This is a dummy definition. It should restore page dimensions using the Geometry package if it is loaded.
+% The correct definition is added in \AtBeginDocument
+\cs_set:Npn\resp_reset_geometry{}
+
% recalculate \textheight and \headheight with the changed font size
% this is necessary to prevent the underfull \vbox messages from the output rutine
\cs_set:Npn\resp_textheight:n {
@@ -182,6 +186,9 @@
\setlength\headheight{\resp_font_size}
\setlength\headsep {1.5\resp_font_size}
\setlength\footskip{\fp_to_dim:n{2*\resp_font_size+1}}
+ \setlength\topmargin{\fp_to_dim:n{(\paperheight-\textheight -\headheight-\headsep-\footskip)/2 - 1in}}
+ \resp_reset_geometry
+ % \addtolength\topmargin{\topskip}
}
% the functionality to fix the textheight should be available as a document command
@@ -355,6 +362,9 @@
% setup font sizes at the begin document, in order to support Geometry etc.
\AtBeginDocument{
+ \@ifpackageloaded{geometry}{
+ \cs_set:Npn\resp_reset_geometry{\Gm@process}
+ }{}
% set the default font size, based on numbers of characters we want to show on a line of text
% \fonttobox[32]\textwidth{\tl_range:Nnn\l_resp_charlist_tl{1}{\l_resp_charlines_int}}%
\bool_if:NTF\l_resp_no_execute {}{
diff --git a/macros/latex/contrib/rpgicons/README.md b/macros/latex/contrib/rpgicons/README.md
index e889b70b03..6de01a2586 100644
--- a/macros/latex/contrib/rpgicons/README.md
+++ b/macros/latex/contrib/rpgicons/README.md
@@ -1,4 +1,4 @@
-![Version 1.8.3](https://img.shields.io/badge/version-1.8.3-blue)
+![Version 1.8.4](https://img.shields.io/badge/version-1.8.4-blue)
<img width="200" alt="rpgicons-example" src="https://github.com/jasperhabicht/rpgicons/assets/6378801/81a1d0aa-7a4f-4f83-bbdc-3bc3332023b2" />
diff --git a/macros/latex/contrib/rpgicons/rpgicons-doc.pdf b/macros/latex/contrib/rpgicons/rpgicons-doc.pdf
index 7fa0c036d7..dc0bce82b9 100644
--- a/macros/latex/contrib/rpgicons/rpgicons-doc.pdf
+++ b/macros/latex/contrib/rpgicons/rpgicons-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/rpgicons/rpgicons-doc.tex b/macros/latex/contrib/rpgicons/rpgicons-doc.tex
index 7eef59a1a4..9aebfdcd52 100644
--- a/macros/latex/contrib/rpgicons/rpgicons-doc.tex
+++ b/macros/latex/contrib/rpgicons/rpgicons-doc.tex
@@ -11,8 +11,8 @@
% This work has the LPPL maintenance status `maintained'.
%
\documentclass[a4paper]{article}
-\def\rpgiconsfileversion{1.8.3}
-\def\rpgiconsfiledate{15 May 2024}
+\def\rpgiconsfileversion{1.8.4}
+\def\rpgiconsfiledate{8 August 2024}
\usepackage[T1]{fontenc}
\usepackage{Alegreya}
@@ -262,6 +262,7 @@
\changes{v1.8.0}{2024/03/24}{Unified wrapper to load either package variant.}
\changes{v1.8.2}{2024/04/28}{Roll dice syntax for PGF variant.}
\changes{v1.8.3}{2024/05/15}{Minor compatibility fix. Example of how to use pics added to ducumentation.}
+\changes{v1.8.3}{2024/05/15}{Bug fix in evocation spellschool shape. Unification of frames in PGF and L3 variants.}
\begin{document}
diff --git a/macros/latex/contrib/rpgicons/rpgicons-l3.sty b/macros/latex/contrib/rpgicons/rpgicons-l3.sty
index 3103502bf3..cc33d61bf2 100644
--- a/macros/latex/contrib/rpgicons/rpgicons-l3.sty
+++ b/macros/latex/contrib/rpgicons/rpgicons-l3.sty
@@ -10,8 +10,8 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-\ProvidesExplPackage {rpgicons-l3} {2024-05-15} {1.8.3}
- {rpg Icons Package (l3 Variant)}
+\ProvidesExplPackage {rpgicons-l3} {2024-08-08} {1.8.4}
+ {RPG Icons Package (l3 Variant)}
\bool_new:N \l__rpgicons_unicode_mode_bool
\sys_if_engine_luatex:T {
@@ -792,22 +792,22 @@
\draw_path_lineto:n { 0cm , -.425cm }
\draw_path_moveto:n { -.425cm , 0cm }
\draw_path_lineto:n { .425cm , 0cm }
- \draw_path_moveto:n { \draw_point_polar:nnn { 30 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 30 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 60 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 60 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 120 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 120 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 150 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 150 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 210 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 210 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 240 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 240 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 300 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 300 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 330 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 330 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 30 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 30 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 60 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 60 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 120 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 120 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 150 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 150 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 210 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 210 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 240 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 240 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 300 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 300 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 330 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 330 } }
}
\cs_new:Npn \rpgicons_draw_shape_illusion: {
@@ -1546,7 +1546,7 @@
}
\cs_new:Npn \rpgicons_draw_frame_damage: {
- \draw_path_circle:nn { 0cm , 0cm } { .45cm }
+ \draw_path_circle:nn { 0cm , 0cm } { .5cm }
}
% USER COMMANDS
@@ -1910,7 +1910,7 @@
}
\cs_if_exist:NF \spell { \cs_new_eq:NN \spell \RPGIconsSpell }
-\NewDocumentCommand { \RPGIconsSpellschool } { O{positive} m O{} } {
+\NewDocumentCommand { \RPGIconsSpellschool } { O{negative} m O{} } {
\group_begin:
\keys_set_groups:nne { rpgicons / local ~ options } { extra } {#3}
\keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_spellschool_style_clist { , } }
diff --git a/macros/latex/contrib/rpgicons/rpgicons-pgf.sty b/macros/latex/contrib/rpgicons/rpgicons-pgf.sty
index 0e0c037187..dd75a7b4c0 100644
--- a/macros/latex/contrib/rpgicons/rpgicons-pgf.sty
+++ b/macros/latex/contrib/rpgicons/rpgicons-pgf.sty
@@ -11,7 +11,7 @@
% This work has the LPPL maintenance status `maintained'.
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{rpgicons-pgf}[2024-05-15 rpg Icons Package (PGF Variant) (1.8.3)]
+\ProvidesPackage{rpgicons-pgf}[2024-08-08 RPG Icons Package (PGF Variant) (1.8.4)]
% provide pics option
\newif\ifrpgicons@pics\rpgicons@picsfalse
diff --git a/macros/latex/contrib/rpgicons/rpgicons.sty b/macros/latex/contrib/rpgicons/rpgicons.sty
index 8079232a4f..63a5fa2fc0 100644
--- a/macros/latex/contrib/rpgicons/rpgicons.sty
+++ b/macros/latex/contrib/rpgicons/rpgicons.sty
@@ -10,8 +10,8 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-\ProvidesExplPackage {rpgicons} {2024-05-15} {1.8.3}
- {rpg Icons Package}
+\ProvidesExplPackage {rpgicons} {2024-08-08} {1.8.4}
+ {RPG Icons Package}
\bool_new:N \l__rpgicons_use_legacy_variant_bool
\clist_new:N \l__rpgicons_forwarded_options_clist
diff --git a/macros/latex/contrib/se2thesis/CHANGELOG.md b/macros/latex/contrib/se2thesis/CHANGELOG.md
index fa60e6d1b0..2d81b57f6f 100644
--- a/macros/latex/contrib/se2thesis/CHANGELOG.md
+++ b/macros/latex/contrib/se2thesis/CHANGELOG.md
@@ -7,6 +7,36 @@ and this project adheres to
## [Unreleased]
+## [v4.3.2] – 2024–08–12
+
+### Fixed
+
+- Prevent line break in the lower back title if one added a manual line break
+ using `\\` to the title in order to layout it properly for the front title
+ page.
+
+## [v4.3.1] – 2024–07–31
+
+### Added
+
+- Add a hint on the usage of `scrreprt` as the base class if one wants to have
+ numbered bibliography or appendices.
+- Add section in the documentation on the usage of babel, its shorthands for
+ German and English to re-enable hyphenation of compound words, and the
+ conflicting package `hyphenat`.
+
+### Fixed
+
+- Fix list of implicitly loaded packages.
+
+## [v4.3.0] – 2024–07–23
+
+### Fixed
+
+- The spelling bachelor thesis and master thesis are widely used but seem to be
+ wrong. According to the Oxford English Dictionary, the spelling shall be
+ bachelor's thesis and master's thesis.
+
## [v4.2.0] – 2024–06–25
### Fixed
@@ -237,7 +267,10 @@ These changes might be breaking changes!
### Added
- First official release
-[Unreleased]: https://github.com/se2p/se2thesis/compare/v4.2.0...HEAD
+[Unreleased]: https://github.com/se2p/se2thesis/compare/v4.3.2...HEAD
+[v4.3.2]: https://github.com/se2p/se2thesis/compare/v4.3.2...v4.3.1
+[v4.3.1]: https://github.com/se2p/se2thesis/compare/v4.3.1...v4.3.0
+[v4.3.0]: https://github.com/se2p/se2thesis/compare/v4.3.0...v4.2.0
[v4.2.0]: https://github.com/se2p/se2thesis/compare/v4.2.0...v4.1.0
[v4.1.0]: https://github.com/se2p/se2thesis/compare/v4.1.0...v4.0.3
[v4.0.3]: https://github.com/se2p/se2thesis/compare/v4.0.3...v4.0.2
diff --git a/macros/latex/contrib/se2thesis/se2colors.dtx b/macros/latex/contrib/se2thesis/se2colors.dtx
index 09e6523a9e..7b0b5d81f7 100644
--- a/macros/latex/contrib/se2thesis/se2colors.dtx
+++ b/macros/latex/contrib/se2thesis/se2colors.dtx
@@ -231,7 +231,7 @@
%
% Identify the package and give the overall version information.
% \begin{macrocode}
-\ProvidesExplPackage {se2colors} {2024-06-25} {4.2.0}
+\ProvidesExplPackage {se2colors} {2024-08-12} {4.3.2}
{A colour support package for the se2thesis bundle}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/se2thesis/se2fonts.dtx b/macros/latex/contrib/se2thesis/se2fonts.dtx
index bfc3210cc0..5ede585b75 100644
--- a/macros/latex/contrib/se2thesis/se2fonts.dtx
+++ b/macros/latex/contrib/se2thesis/se2fonts.dtx
@@ -151,7 +151,7 @@
%
% Identify the package and give the overall version information.
% \begin{macrocode}
-\ProvidesExplPackage {se2fonts} {2024-06-25} {4.2.0}
+\ProvidesExplPackage {se2fonts} {2024-08-12} {4.3.2}
{A font-selection support package for the se2thesis bundle}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/se2thesis/se2packages.dtx b/macros/latex/contrib/se2thesis/se2packages.dtx
index 4c915c3eb5..3ad8d99b0a 100644
--- a/macros/latex/contrib/se2thesis/se2packages.dtx
+++ b/macros/latex/contrib/se2thesis/se2packages.dtx
@@ -446,6 +446,8 @@
% \bibitem{DBLP:journals/sttt/BeyerLW19} Dirk Beyer, Stefan Löwe, and Philipp
% Wendler: \emph{Reliable benchmarking: requirements and solutions}. STTT
% 21(1): 1--29 (2019)
+% \bibitem{Knu86} Donald E. Knuth: \emph{The \TeX{}book}. Addison-Wesley
+% (1986)
% \end{thebibliography}
%
%
@@ -470,7 +472,7 @@
%
% Identify the package and give the overall version information.
% \begin{macrocode}
-\ProvidesExplPackage {se2packages} {2024-06-25} {4.2.0}
+\ProvidesExplPackage {se2packages} {2024-08-12} {4.3.2}
{Supporting packages for the se2thesis bundle}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf b/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf
index 703086bd37..4d224fe981 100644
--- a/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf
+++ b/macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/se2thesis/se2thesis.dtx b/macros/latex/contrib/se2thesis/se2thesis.dtx
index 0a6705aaa5..6d29f97482 100644
--- a/macros/latex/contrib/se2thesis/se2thesis.dtx
+++ b/macros/latex/contrib/se2thesis/se2thesis.dtx
@@ -62,7 +62,7 @@
% internet, causing each thesis looking differently.
%
% The author of this package provided a template,
-% which he initially created for his bachelor and master thesis,
+% which he initially created for his bachelor's and master's thesis,
% that was recommended and used by many students.
% The implementation of that template, however, was very hacky and required
% some changes over time.
@@ -74,7 +74,7 @@
% The bundle itself consists of several \LaTeX{} classes and packages
% that also allow reuse of various parts of it.
% Its main class is the \pkg{se2thesis} document class,
-% an extension of the \KOMAScript{} |scrreprt| document class.
+% an extension of the \KOMAScript{} |scrbook| document class.
% The packages \pkg{se2colors} and \pkg{se2fonts} provide necessary
% colour and font settings for the \pkg{se2thesis} class;
% the \pkg{se2packages} allows to load several recommended packages~(see
@@ -186,9 +186,9 @@
% \pkg{expl3}, \pkg{l3keys2e} in case one uses a \LaTeX{} kernel from before
% 2022--06--01, \pkg{graphicx}, \pkg{translations}, \KOMAScript, \pkg{xcolor},
% \pkg{ifthen}, as well as \pkg{fontspec}, \pkg{unicode-math},
-% and \pkg{libertinus-otf} if one uses \LuaTeX{};
+% \pkg{inconsolata-nerd-font} and \pkg{libertinus-otf} if one uses \LuaTeX{};
% for \pdfLaTeX{} we load \pkg{fontenc}, \pkg{libertinus-type1}, and
-% \pkg{AnonymousPro} instead of the latter three.
+% \pkg{inconsolata} instead of the latter three.
% Furthermore, we load \pkg{microtype};
% when using \LuaTeX{}, we also load \pkg{lua-widow-control} and \pkg{selnolig}.
%
@@ -220,6 +220,11 @@
% \emph{Note:} you cannot use \cls{scrartcl} because it does not provide
% the required |chapter| sectioning.
% Default is |scrbook|.
+%
+% Please note that if you want to have the bibliography numbered or use an
+% appendix with alpha-numbering (A, B, \dots), you want to explicitly use
+% |scrreprt| as the base class; for some (currently unknown) reason this does
+% not work with the default |scrbook|.
% \end{function}
% \begin{function}{paper}
% \begin{syntax}
@@ -243,9 +248,9 @@
% \end{syntax}
% Defines the type of the thesis.
% Possible values are:
-% |bachelor| for a bachelor thesis, |bachelorproposal| for a proposal to
-% a bachelor thesis, |master| for a master thesis, |masterproposal| for
-% a proposal to a master thesis, |phdproposal| for a proposal to a PhD thesis,
+% |bachelor| for a bachelor's thesis, |bachelorproposal| for a proposal to
+% a bachelor's thesis, |master| for a master's thesis, |masterproposal| for
+% a proposal to a master's thesis, |phdproposal| for a proposal to a PhD thesis,
% |phd| for a PhD thesis in the natural sciences, |phdeng| for a PhD thesis
% in engineering, and |phdphil| for a PhD thesis in natural philosophy.
% \end{function}
@@ -307,7 +312,7 @@
% \cmd{\matrnumber} \marg{matriculation-number}
% \end{syntax}
% Specify the matriculation number of the student writing the thesis.
-% This is required for Bachelor and Master theses.
+% This is required for bachelor's and master's theses.
% \end{function}
%
% \begin{function}{\supervisor, \cosupervisor}
@@ -437,7 +442,7 @@
% We provide the \env{acknowledgements} environment to typeset acknowledgements
% for your thesis.
% Using this environment is optional.
-% Usually, bachelor and master thesis do not contain such an acknowledgements
+% Usually, bachelor's and master's thesis do not contain such an acknowledgements
% section, however, there is no general rule to this.
% \begin{verbatim}
% \begin{acknowledgements}[language]
@@ -540,6 +545,48 @@
% question;
% however, this can also be arbitrary text.
%
+% \subsection{Language Support and Hyphenation}\label{sec:doct-se2thesis-lang}
+%
+% The study regulations of the University of Passau require students to write
+% their thesis in either German or English. For both cases it is recommended
+% to load a package for the correct hyphenation patters. Usually, one can
+% either choose between the \pkg{babel} and \pkg{polyglossia} package. For a
+% detailed discussion in the differences and which to choose, please use the
+% search engine of your choice.
+%
+% For this documentation we stick with the \pkg{babel} package, which is often
+% considered to be the standard package.
+%
+% If you write your thesis in German, load \pkg{babel} in your preamble like
+% follows
+% \begin{verbatim}
+% \usepackage[ngerman]{babel}
+% \end{verbatim}
+% For a thesis in English, you have to also load the German variant plus the
+% English one as the default (see \cref{sec:doc-se2thesis-authorship} for an
+% explanation)
+% \begin{verbatim}
+% \usepackage[ngerman,main=UKenglish]{babel}
+% \end{verbatim}
+%
+% Note that by default, \LaTeX{} does not provide hyphenation for compound
+% words, which is explained in the \TeX{} Book~\cite[p.~454]{Knu86} and a
+% StackExchange post\footnote{\href{https://tex.stackexchange.com/a/63234/14622}{https://tex.stackexchange.com/a/63234/14622}}. The \pkg{babel} package
+% provides a way (called shorthands) for German, which allows to reenable
+% hyphenation for compound words (as they are common on German). These
+% shorthands are by default not available for English, but they can easily be
+% added by adding
+% \begin{verbatim}
+% \useshorthands{"}
+% \addto\extrasUKenglish{\languageshorthands{ngerman}}
+% \end{verbatim}
+% after loading \pkg{babel} with the aforementioned \cmd{\usepackage}
+% macro\footnote{see https://tex.stackexchange.com/a/298844/14622}.
+%
+% \emph{Please note:} loading the \pkg{hyphenat} package is strongly discouraged
+% by the \pkg{se2thesis} maintainer because it conflicts with the \env{hyp}
+% environment provided by \pkg{se2thesis} (see \cref{sec:doc-se2thesis-summaries}).
+%
% \end{documentation}
%
% \clearpage
@@ -607,7 +654,7 @@
%
% Identify the class and give the overall version number.
% \begin{macrocode}
-\ProvidesExplClass {se2thesis} {2024-06-25} {4.2.0}
+\ProvidesExplClass {se2thesis} {2024-08-12} {4.3.2}
{A thesis class for the Chair of Software Engineering II}
% \end{macrocode}
%
@@ -1246,7 +1293,7 @@
% \end{macrocode}
% The next block generates the text that describes the thesis.
% In case of a PhD thesis, this text is predefined to match the requirements.
-% In case of a bachelor or master thesis, or a proposal thereof, we generate
+% In case of a bachelor's or master's thesis, or a proposal thereof, we generate
% a text based on the values of the |thesistype| load-time option and the
% values of the \cmd{\degreeprogramme}, \cmd{\department}, and
% \cmd{\institute} variables.
@@ -1362,12 +1409,18 @@
% \end{macrocode}
%
% \begin{macro}{\@lowertitleback}
-% Afterwards, override the definition of \cs{@lowertitleback}.
+% Afterwards, override the definition of \cs{@lowertitleback}. To prevent
+% line breaks in the title (that might be necessary to layout it properly on
+% the front title page), we place a group around \cs{@title} and temporarily
+% redefine \cmd{\\} to do nothing.
% \begin{macrocode}
\renewcommand*{\@lowertitleback}{%
\group_begin:
\noindent\textbf{\@author}:\\
- \emph{\@title}\\
+ \group_begin:
+ \let\\\relax
+ \emph{\@title}
+ \group_end:\\
\tl_if_eq:NnT \l_@@_thesis_type_tl { bachelor }
{ \GetTranslation{Bachelor-thesis},~ }
\tl_if_eq:NnT \l_@@_thesis_type_tl { master }
@@ -1678,7 +1731,7 @@
% We provide the following English translations.
%
% \begin{macrocode}
-\ProvideDictionaryFor{English}{se2translations}[2024/06/25]
+\ProvideDictionaryFor{English}{se2translations}[2024/08/12]
\ProvideDictTranslation{abstract}{abstract}
\ProvideDictTranslation{Abstract}{Abstract}
\ProvideDictTranslation{acknowledgement}{acknowledgement}
@@ -1703,10 +1756,10 @@
\ProvideDictTranslation{External}{External Examiner}
\ProvideDictTranslation{degreeprogramme}{programme}
\ProvideDictTranslation{Degreeprogramme}{Programme}
-\ProvideDictTranslation{Bachelor-thesis}{Bachelor Thesis}
-\ProvideDictTranslation{Bachelor-thesis-proposal}{Bachelor Thesis Proposal}
-\ProvideDictTranslation{Master-thesis}{Master Thesis}
-\ProvideDictTranslation{Master-thesis-proposal}{Master Thesis Proposal}
+\ProvideDictTranslation{Bachelor-thesis}{Bachelor's Thesis}
+\ProvideDictTranslation{Bachelor-thesis-proposal}{Bachelor's Thesis Proposal}
+\ProvideDictTranslation{Master-thesis}{Master's Thesis}
+\ProvideDictTranslation{Master-thesis-proposal}{Master's Thesis Proposal}
\ProvideDictTranslation{PhD-thesis}{PhD Thesis}
\ProvideDictTranslation{PhD-thesis-proposal}{PhD Thesis Proposal}
\ProvideDictTranslation{date}{date}
@@ -1729,7 +1782,7 @@
% We provide the following German translations.
%
% \begin{macrocode}
-\ProvideDictionaryFor{German}{se2translations}[2024/06/25]
+\ProvideDictionaryFor{German}{se2translations}[2024/08/12]
\ProvideDictTranslation{abstract}{Zusammenfassung}
\ProvideDictTranslation{Abstract}{Zusammenfassung}
\ProvideDictTranslation{acknowledgement}{Danksagung}
diff --git a/macros/latex/contrib/se2thesis/se2thesis.pdf b/macros/latex/contrib/se2thesis/se2thesis.pdf
index 84789f2fc3..e37c07abf4 100644
--- a/macros/latex/contrib/se2thesis/se2thesis.pdf
+++ b/macros/latex/contrib/se2thesis/se2thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/sepfootnotes/README b/macros/latex/contrib/sepfootnotes/README
index e0f9ac9aac..2a507a1da4 100644
--- a/macros/latex/contrib/sepfootnotes/README
+++ b/macros/latex/contrib/sepfootnotes/README
@@ -5,8 +5,11 @@ This package supports footnotes and endnotes from separate files. This is
achieved with commands \sepfootnotecontent and \sepfootnote; the former defines
the content of a note, while the latter typesets that note.
+2024/07/05 v0.3d
+ * Package options after: Allow \sepfootnotecontent after \sepfootnote
+
2016/07/18 v0.3c
- * Package options Note definitions may take global scope
+ * Package options global: Note definitions may take global scope
2014/07/22 v0.3b
* Documentation Minor formatting changes to page 4
@@ -41,7 +44,7 @@ Usage:
*See sepfootnotes.pdf
--------------------------------------------------------------------------------
-Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima
+Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima
This material is subject to the LaTeX Project Public License. See
http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
diff --git a/macros/latex/contrib/sepfootnotes/sepfootnotes.pdf b/macros/latex/contrib/sepfootnotes/sepfootnotes.pdf
index 0cb449cb21..0246b086b5 100644
--- a/macros/latex/contrib/sepfootnotes/sepfootnotes.pdf
+++ b/macros/latex/contrib/sepfootnotes/sepfootnotes.pdf
Binary files differ
diff --git a/macros/latex/contrib/sepfootnotes/sepfootnotes.sty b/macros/latex/contrib/sepfootnotes/sepfootnotes.sty
index d953d30022..f99b9770c0 100644
--- a/macros/latex/contrib/sepfootnotes/sepfootnotes.sty
+++ b/macros/latex/contrib/sepfootnotes/sepfootnotes.sty
@@ -1,4 +1,4 @@
-%% Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima
+%% Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -11,19 +11,23 @@
%% version 2005/12/01 or later.
%%
\NeedsTeXFormat {LaTeX2e} [1996/06/01]
-\ProvidesPackage {sepfootnotes} [2016/07/18 v0.3c Footnotes in separate file]
+\ProvidesPackage {sepfootnotes} [2024/07/05 v0.3d Footnotes in separate file]
\newcommand\sep@packagename{sepfootnotes}
+%{% options
+
\DeclareOption {quiet} {\sep@opt@quiettrue}
\DeclareOption {warn} {\sep@opt@warntrue}
\DeclareOption {error} {\sep@opt@errortrue}
\DeclareOption {global} {\sep@opt@globaltrue}
+\DeclareOption {after} {\sep@opt@aftertrue}
\newif \ifsep@opt@quiet
\newif \ifsep@opt@warn
\newif \ifsep@opt@error
\newif \ifsep@opt@global
+\newif \ifsep@opt@after
\sep@opt@warntrue
@@ -38,10 +42,10 @@
\sep@opt@warnfalse
\fi
+%}%
+%{% public
-% ********************************* Public ************************************
-
-% ==================== shared by footnotes and endnotes =======================
+%{% footnotes and endnotes
\newcommand\sep@new [1]
{\newcounter{#1note}%
@@ -52,7 +56,8 @@
\expandafter\newcommand\csname #1quicknote\endcsname [1] {\sep@namereplace {#1} {sepfootnotes@tmp@quick} {##1}\csname #1note\endcsname{sepfootnotes@tmp@quick}}\relax
}
-% -------------------------------- footnotes ----------------------------------
+%}%
+%{% footnotes
\newcommand\newfootnotes{\@ifstar\sep@newfootnotesfree\sep@newfootnotes}
@@ -73,7 +78,8 @@
\@addtoreset {#2note} {#1}%
\expandafter\renewcommand\csname the#2mark\endcsname {\fnsymbol {#2note}}}
-% -------------------------------- endnotes -----------------------------------
+%}%
+%{% endnotes
\newcommand\newendnotes [1]
{\sep@new {#1}%
@@ -88,8 +94,8 @@
\expandafter\newcommand\csname #1notesize\endcsname {\footnotesize}%
\newenvironment {#1notes} {\csname #1notesize\endcsname\setlength\parskip\footnotesep} {}}
-
-% ------------------------------ commentnotes --------------------------------
+%}%
+%{% commentnotes
\newcommand\newcommentnotes [1]
{\newfootnotes*{#1}\relax
@@ -107,62 +113,114 @@
\@addtoreset {#2note} {#1}\relax
\expandafter\renewcommand\csname the#2mark\endcsname {\fnsymbol {#2note}}}
-% ********************************* Private ***********************************
+%}%
+
+%}%
+%{% private
-% ---------------------------------- files ------------------------------------
+%{% files
\newcommand\sep@filename [1] {\jobname.ent-#1}
\newcommand\sep@openout [1] {\expandafter \newwrite\csname sep@fileout#1\endcsname\immediate\expandafter\openout\csname sep@fileout#1\endcsname=\sep@filename#1\relax}
\newcommand\sep@write [2] {\immediate \write\csname sep@fileout#1\endcsname {#2}}
\newcommand\sep@close [1] {\immediate\expandafter\closeout\csname sep@fileout#1\endcsname\relax}
-% ---------------------------------- table ------------------------------------
+%}%
+%{% names
+
+%{% \sep@nameuse <prefix> <key>
\newcommand\sep@nameuse [2]
{\@ifundefined{sepfootnotes@text@#1@#2}
- {\ifsep@opt@error
- \PackageError {\sep@packagename} {`#2' has not been assigned a content}
- {`#2' has not been assigned a content.\MessageBreak
- Solution: Define `#2'\MessageBreak
- Try: \@backslashchar #1notecontent{#2}{<content>}}\relax
- \fi
- \ifsep@opt@warn
- \PackageWarning {\sep@packagename} {`#2' has not been assigned a content}\relax
- \fi}
+ {\sep@warning@undefined{#1}{#2}}
{\@nameuse{sepfootnotes@text@#1@#2}}}
+%}%
+%{% \sep@namedef <prefix> <key> <content>
+
\newcommand\sep@namedef [3]
-{\@ifundefined{sepfootnotes@text@#1@#2}
+{\ifsep@opt@after\sep@namereplace{#1}{#2}{#3}\else
+ \@ifundefined{sepfootnotes@text@#1@#2}
{\ifsep@opt@global\global\fi\@namedef{sepfootnotes@text@#1@#2}{#3}}
- {\ifsep@opt@error
- \PackageError {\sep@packagename} {`#2' is already in use}
- {`#2' is already in use.\MessageBreak
- Solution: Use another key.\MessageBreak
- Try: \@backslashchar #1notecontent{<key>}{<content>}}\relax
- \fi
- \ifsep@opt@warn
- \PackageWarning {\sep@packagename} {`#2' is already in use}
- \fi}}
+ {\sep@warning@already{#1}{#2}}\fi}
+
+%}%
+%{% \sep@namereplace <prefix> <key> <content>
+
+\newcommand\sep@namereplace [3]
+{%
+ \ifsep@opt@after
+ \global\@namedef{sepfootnotes@text@#1@#2}{#3}%
+ \write\@auxout{\expandafter\unexpanded\expandafter{\global\@namedef {sepfootnotes@text@#1@#2}{#3}}}%
+ \else
+ \ifsep@opt@global\global\fi\@namedef{sepfootnotes@text@#1@#2}{#3}%
+ \fi
+}
+
+%}%
+
+%{% \sep@warning@undefined <prefix> <key>
+
+\newcommand \sep@warning@undefined [2]
+{\ifsep@opt@error
+ \PackageError
+ {\sep@packagename}
+ {`#2' has not been assigned a content}
+ {`#2' has not been assigned a content.\MessageBreak
+ Solution: Define `#2'\MessageBreak
+ Try: \@backslashchar #1notecontent{#2}{<content>}}%
+ \fi
+ \ifsep@opt@warn
+ \PackageWarning
+ {\sep@packagename}
+ {`#2' has not been assigned a content}%
+ \fi
+}
-\newcommand\sep@namereplace [3] {\ifsep@opt@global\global\fi\@namedef{sepfootnotes@text@#1@#2}{#3}}
+%}%
+%{% \sep@warning@already <prefix> <key>
+
+\newcommand \sep@warning@already [2]
+{\ifsep@opt@error
+ \PackageError
+ {\sep@packagename}
+ {`#2' is already in use}
+ {`#2' is already in use.\MessageBreak
+ Solution: Use another key.\MessageBreak
+ Try: \@backslashchar #1notecontent{<key>}{<content>}}%
+ \fi
+ \ifsep@opt@warn
+ \PackageWarning
+ {\sep@packagename}
+ {`#2' is already in use}%
+ \fi
+}
-% ---------------------------------- marks ------------------------------------
+%}%
+
+%}%
+%{% marks
\newcommand\sep@markset [1] {\protected@xdef\@thefnmark{\csname the#1mark\endcsname}}
\newcommand\sep@mark [2] {\stepcounter {#1note}\sep@markset {#1}\@footnotemark}
-% ---------------------- cross-references and counters ------------------------
+%}%
+%{% cross-references and counters
\newcommand\sep@refsetcounter [2] {\setcounter{#1}{#2}\protected@edef\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}}
\newcommand\sep@refstepcounter [1] {\stepcounter {#1}\protected@edef\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}}
-% ********************************* Default ***********************************
+%}%
+
+%}%
+%{% default
-% ------------------------- footnotes: \sepfootnote ---------------------------
+%% The default \sepfootnote apparatus relies on \footnote
-%% Default: The default \sepfootnote family relies on \footnote
\newfootnotes{sepfoot}
+%}%
+
\endinput
%%
%% End of file `sepfootnotes.sty'.
diff --git a/macros/latex/contrib/sepfootnotes/sepfootnotes.tex b/macros/latex/contrib/sepfootnotes/sepfootnotes.tex
index 4000f00fad..f73370349a 100644
--- a/macros/latex/contrib/sepfootnotes/sepfootnotes.tex
+++ b/macros/latex/contrib/sepfootnotes/sepfootnotes.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima
+% Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -44,11 +44,11 @@
{\begin{center}\begin{minipage}[t]{0.5\linewidth}}
{\end{minipage}\end{center}}
\newcommand\TODO{\texttt{Todo:}}
-\newcommand\fileversion{0.3c}
-\newcommand\filedate{July 18, 2016}
+\newcommand\fileversion{0.3d}
+\newcommand\filedate{July 5, 2024}
\begin{document}
\title{The \textsf{\color{myblue} sepfootnotes} package,\thanks{This document corresponds to \textsf{sepfootnotes}~\fileversion, dated~\filedate.
-I am grateful to Michael Sellhoff, Sam Foster, Mats, and David Carlisle for their valuable feedback on \texttt{sepfootnotes} and to Dan Luecking for the basic idea implemented in this package.}\\{or a footnote to Plato}}
+I am grateful to Michael Sellhoff, Sam Foster, Mats, David Carlisle, and schtandard for their valuable feedback on \texttt{sepfootnotes} and to Dan Luecking for the basic idea implemented in this package.}\\{or a footnote to Plato}}
\author{Eduardo C. Louren\c{c}o de Lima \\ \texttt{elourenco@phi.pro.br}}
\maketitle
@@ -59,9 +59,9 @@ I am grateful to Michael Sellhoff, Sam Foster, Mats, and David Carlisle for thei
Standard |\footnote| and |\endnote| both take a note as a mandatory argument. Because notes have to be embedded in the paragraph to which they refer, sentences are often split up into two\footnote {This is precisely what this footnote does to the first paragraph of this document. There are more than thirty words between `two' and `or more' in the code of an otherwise short paragraph.} or more parts. Consequently, footnotes and endnotes may disrupt the flow of reading and editing {\LaTeX} prose.\footnote {In a posting to \texttt{texhax.tug.org} in April 2010, someone complained that using footnotes ``tends to disrupt the flow of the document on the screen and makes editing the text itself harder'', and asked about the possibility of ``putting all of the footnotes in a separate file''~\cite{Nicholas Cole}. Another user, back in 2004, remarked that the ``only thing I missed about word processors was the ability to keep footnote text at the bottom of the page, or in a separate window. I often have extensive footnotes, and don't want them cluttering up my main body text when I'm composing''~\cite{Luecking}.} This can be an issue for those who make extensive use of notes, such as philosophers and people from the humanities in general.
- The |sepfootnotes| package gets around this inconvenience by separating note input from usage. That is, it provides a command to define what a particular note says, and another command to insert that note later on in the document.
+ The |sepfootnotes| package gets around this inconvenience by separating note input from usage. That is, it provides a command to define what a particular note says, and another command to insert that note in the document.
- Note definitions may be grouped together---in no particular order---in the preamble, at the beginning of chapters or sections, right before a paragraph, or even in a \emph{separate file}. In that way, the main body is less cluttered.
+ Note definitions may be grouped together---in no particular order---in the preamble, at the beginning of chapters or sections, in a separate file, or even right after a paragraph. In that way, the main body is less cluttered.
You may use |sepfootnotes| and standard |\footnote| simultaneously; the same goes for |\footcite| from |biblatex|.
@@ -273,10 +273,10 @@ Default:\footnote{Adapted from the \texttt{endnotes} package.}
\section {Package options}
\begin{list}{}{}
-\item[|warn|] Print warning messages. (Default.)
+\item[|after|] (experimental) Allow |\sepfootnotecontent| after |\sepfootnote|. Must compile twice. Implies |global|. See below.
+\item[|global|] Notes defined within environments and groups take global scope and become available throughout, as if they were defined in the preamble.
\item[|error|] Print warning messages, halt, and wait for user input.
\item[|quiet|] Suppress warning and error messages.
-\item[|global|] Notes defined within environments and groups take global scope and become available throughout, as if they were defined in the preamble.
\end{list}
\section{Examples}
diff --git a/macros/latex/contrib/sillypage/sillypage-example.pdf b/macros/latex/contrib/sillypage/sillypage-example.pdf
index 3d8180932b..5fa9dd3048 100644
--- a/macros/latex/contrib/sillypage/sillypage-example.pdf
+++ b/macros/latex/contrib/sillypage/sillypage-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/sillypage/sillypage.dtx b/macros/latex/contrib/sillypage/sillypage.dtx
index 86982db30d..922d8b6a66 100644
--- a/macros/latex/contrib/sillypage/sillypage.dtx
+++ b/macros/latex/contrib/sillypage/sillypage.dtx
@@ -19,8 +19,8 @@
% by Phelype Oleinik, Paulo Cereda, samcarter and Ulrike Fischer.
%
%<*package>
-\def\sillypageDate{2023-03-04}
-\def\sillypageVersion{1.6}
+\def\sillypageDate{2024-07-23}
+\def\sillypageVersion{1.7}
%</package>
%<*driver>
\documentclass[a4paper,full]{l3doc}
@@ -261,9 +261,13 @@
\newcommand*\@silly { \@@_step:n }
\cs_new:Npn \@@_step:n #1
{
+ \UseTaggingSocket{@@/begin}{#1}
+ \SuspendTagging{@@}
\@@_step_aux:eN
{ \int_eval:n { \int_mod:nn { #1-1 } { \silly@steps } +1 } }
\c_false_bool
+ \ResumeTagging{@@}
+ \UseTaggingSocket{@@/end}
}
% \end{macrocode}
% \end{macro}
@@ -280,8 +284,12 @@
\newcommand*\@sillynumeral { \@@_numeral:n }
\cs_new:Npn \@@_numeral:n #1
{
+ \UseTaggingSocket{@@/begin}{#1}
+ \SuspendTagging{@@}
\exp_args:Ne \str_map_function:nN
{ \int_to_base:nn {#1} { 12 } } \@@_numeral_aux:n
+ \ResumeTagging{@@}
+ \UseTaggingSocket{@@/end}
}
\cs_new:Npn \@@_numeral_aux:n #1
{ \@@_step_aux:eN { "\char_uppercase:N #1+1 } \c_true_bool }
@@ -289,6 +297,28 @@
% \end{macro}
% \end{macro}
% \end{macro}
+%
+% \subsection{Tagging Support}
+
+% \begin{macrocode}
+\NewSocket{tagsupport/@@/begin}{1}
+\NewSocket{tagsupport/@@/end}{0}
+\NewSocketPlug{tagsupport/@@/begin}{tagged}
+ {
+ \mode_leave_vertical:
+ \tag_mc_end_push:
+ \tag_struct_begin:n {tag=Span}
+ \tag_mc_begin:n {actualtext=#1}
+ }
+\NewSocketPlug{tagsupport/@@/end}{tagged}
+ {
+ \tag_mc_end:
+ \tag_struct_end:
+ \tag_mc_begin_pop:n{}
+ }
+\AssignSocketPlug{tagsupport/@@/begin}{tagged}
+\AssignSocketPlug{tagsupport/@@/end}{tagged}
+% \end{macrocode}
%
% \subsection{Internals}
%
diff --git a/macros/latex/contrib/sillypage/sillypage.pdf b/macros/latex/contrib/sillypage/sillypage.pdf
index 3efa13e7d7..60305403ac 100644
--- a/macros/latex/contrib/sillypage/sillypage.pdf
+++ b/macros/latex/contrib/sillypage/sillypage.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index 1c81cd5e7a..94d43ec98a 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,6 +7,22 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.3.21] - 2024-08-20
+
+### Fixed
+- Conversion of negative angles to arc notation (see issue
+ [\#743](https://github.com/josephwright/siunitx/issues/743))
+- Rounding of angles in arc mode (see issue
+ [\#744](https://github.com/josephwright/siunitx/issues/744))
+- Polar form of negative real values (see issue
+ [\#745](https://github.com/josephwright/siunitx/issues/745))
+
+## [v3.3.20] - 2024-08-01
+
+### Fixed
+- Avoid rounding up when residual is exactly zero (see issue
+ [\#742](https://github.com/josephwright/siunitx/issues/742))
+
## [v3.3.19] - 2024-06-24
### Fixed
@@ -2120,7 +2136,9 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Added
- First public testing release (as `si`)
-[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.19...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.21...HEAD
+[v3.3.21]: https://github.com/josephwright/siunitx/compare/v3.3.20...v3.3.21
+[v3.3.20]: https://github.com/josephwright/siunitx/compare/v3.3.19...v3.3.20
[v3.3.19]: https://github.com/josephwright/siunitx/compare/v3.3.18...v3.3.19
[v3.3.18]: https://github.com/josephwright/siunitx/compare/v3.3.17...v3.3.18
[v3.3.17]: https://github.com/josephwright/siunitx/compare/v3.3.16...v3.3.17
diff --git a/macros/latex/contrib/siunitx/siunitx-angle.dtx b/macros/latex/contrib/siunitx/siunitx-angle.dtx
index ac933f4636..91d67690f0 100644
--- a/macros/latex/contrib/siunitx/siunitx-angle.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-angle.dtx
@@ -303,18 +303,23 @@
}
}
\cs_generate_variant:Nn \siunitx_angle:nnn { eee , xxx }
+% \end{macrocode}
+% Here, the need for absolute values is to handle conversion of negative
+% values: the result should be exactly one sign in the integer part.
+% \begin{macrocode}
\cs_new_protected:Npn \@@_arc_convert:n #1
{
\siunitx_angle:eee
{ \fp_eval:n { trunc(#1,0) } }
- { \fp_eval:n { trunc((#1 - trunc(#1,0)) * 60,0) } }
+ { \fp_eval:n { abs(trunc((#1 - trunc(#1,0)) * 60,0)) } }
{
\fp_eval:n
{
- (
- (#1 - trunc(#1,0)) * 60
- - trunc((#1 - trunc(#1,0)) * 60,0)
- )
+ abs
+ (
+ (#1 - trunc(#1,0)) * 60
+ - trunc((#1 - trunc(#1,0)) * 60,0)
+ )
* 60
}
}
@@ -325,6 +330,13 @@
% \end{macro}
% \end{macro}
%
+% \begin{variable}{\c_@@_parts_tl}
+% For mappings.
+% \begin{macrocode}
+\clist_const:Nn \c_@@_parts_tl { degrees , minutes , seconds }
+% \end{macrocode}
+% \end{variable}
+%
% \begin{variable}{\l_@@_degrees_tl, \l_@@_minutes_tl, \l_@@_seconds_tl}
% Space for formatting parsed numbers.
% \begin{macrocode}
@@ -341,7 +353,14 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\@@_suppress_exp_uncert:, \@@_suppress_comp_sign:}
+% \begin{variable}{\l_@@_signed_bool}
+% To check that only one sign is seen in arc mode.
+% \begin{macrocode}
+\tl_new:N \l_@@_signed_bool
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\@@_suppress_exp_uncert:, \@@_suppress_comp:}
% Pre-compilation of keys to suppress uncertainties and exponents,
% and
% \begin{macrocode}
@@ -358,60 +377,45 @@
{ \exp_not:V \l_@@_tmp_tl }
\keys_precompile:nnN
{ siunitx }
- { input-comparators = , input-signs = }
+ { input-comparators = }
\l_@@_tmp_tl
-\cs_set_protected:Npx \@@_suppress_comp_sign:
+\cs_set_protected:Npx \@@_suppress_comp:
{ \exp_not:V \l_@@_tmp_tl }
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@@_arc_sign:nnn}
% \begin{macro}{\@@_arc_sign:nn}
+% \begin{macro}{\@@_arc_sign_auxi:, \@@_arc_sign_auxii:}
% \begin{macro}{\@@_extract_sign:nnnnnnnn}
% \begin{macro}[EXP]{\@@_sign:nnnnnnn}
% To get the sign in the right place whilst dealing with zero filling
% means doing some shuffling. That means doing processing of each number
-% manually.
+% manually. For degrees, auto-conversion can give |-0|, which needs to be
+% picked up early to set the sign.
% \begin{macrocode}
\cs_new_protected:Npn \@@_arc_sign:nnn #1#2#3
{
\group_begin:
\@@_suppress_exp_uncert:
\tl_clear:N \l_@@_sign_tl
- \@@_arc_sign:nn {#1} { degrees }
+ \bool_set_false:N \l_@@_signed_bool
+ \str_if_eq:nnTF {#1} { -0 }
+ {
+ \@@_arc_sign:nn { } { degrees }
+ \@@_suppress_comp:
+ \tl_set:Nn \l_@@_sign_tl { - }
+ \bool_set_true:N \l_@@_signed_bool
+ }
+ { \@@_arc_sign:nn {#1} { degrees } }
\@@_arc_sign:nn {#2} { minutes }
\@@_arc_sign:nn {#3} { seconds }
\tl_if_empty:NF \l_@@_sign_tl
{
- \clist_map_inline:nn { degrees , minutes , seconds }
- {
- \tl_if_empty:cF { l_@@_ ##1 _tl }
- {
- \tl_set:cx { l_@@_ ##1 _tl }
- {
- { }
- { \exp_not:V \l_@@_sign_tl }
- \exp_after:wN \exp_after:wN \exp_after:wN
- \@@_sign:nnnnnnn
- \cs:w l_@@_ ##1 _tl \cs_end:
- }
- \clist_map_break:
- }
- }
- }
- \clist_map_inline:nn { degrees , minutes , seconds }
- {
- \tl_if_empty:cF { l_@@_ ##1 _tl }
- {
- \siunitx_number_process:cc
- { l_@@_ ##1 _tl } { l_@@_ ##1 _tl }
- \tl_set:cx { l_@@_ ##1 _tl }
- {
- \siunitx_number_output:cN
- { l_@@_ ##1 _tl } \q_nil
- }
- }
+ \clist_map_function:NN \c_@@_parts_tl
+ \@@_arc_sign_auxi:n
}
+ \clist_map_function:NN \c_@@_parts_tl \@@_arc_sign_auxii:n
\@@_arc_print:VVV
\l_@@_degrees_tl
\l_@@_minutes_tl
@@ -432,6 +436,40 @@
{
\siunitx_number_parse:nN {#1} \l_@@_tmp_tl
\exp_after:wN \@@_extract_sign:nnnnnnnn \l_@@_tmp_tl {#2}
+ \bool_set_true:N \l_@@_signed_bool
+ }
+ }
+\cs_new_protected:Npn \@@_arc_sign_auxi:n #1
+ {
+ \tl_if_empty:cF { l_@@_ #1 _tl }
+ {
+ \tl_set:cx { l_@@_ #1 _tl }
+ {
+ { }
+ { \exp_not:V \l_@@_sign_tl }
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \@@_sign:nnnnnnn
+ \cs:w l_@@_ #1 _tl \cs_end:
+ }
+ \clist_map_break:
+ }
+ }
+\cs_new_protected:Npn \@@_arc_sign_auxii:n #1
+ {
+ \tl_if_empty:cF { l_@@_ #1 _tl }
+ {
+ \bool_lazy_and:nnF
+ { \l_@@_force_arc_bool }
+ { ! \str_if_eq_p:nn {#1} { seconds } }
+ {
+ \siunitx_number_process:cc
+ { l_@@_ #1 _tl } { l_@@_ #1 _tl }
+ }
+ \tl_set:cx { l_@@_ #1 _tl }
+ {
+ \siunitx_number_output:cN
+ { l_@@_ #1 _tl } \q_nil
+ }
}
}
\cs_new_protected:Npn \@@_extract_sign:nnnnnnnn #1#2#3#4#5#6#7#8
@@ -439,10 +477,12 @@
\tl_if_blank:nTF {#2}
{ \tl_set_eq:cN { l_@@_ #8 _tl } \l_@@_tmp_tl }
{
+ \bool_if:NTF \l_@@_signed_bool
+ { \msg_error:nnn { siunitx } { arc-multi-sign } }
+ { \tl_set:Nn \l_@@_sign_tl {#2} }
\tl_set:cn { l_@@_ #8 _tl }
{ {#1} { } {#3} {#4} {#5} {#6} {#7} }
- \tl_set:Nn \l_@@_sign_tl {#2}
- \@@_suppress_comp_sign:
+ \@@_suppress_comp:
}
}
\cs_new:Npn \@@_sign:nnnnnnn #1#2#3#4#5#6#7
@@ -452,6 +492,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{variable}{\l_@@_marker_box, \l_@@_unit_box}
% For \enquote{astronomy style} angles.
@@ -602,6 +643,15 @@
% \end{macro}
%
% \begin{macrocode}
+\msg_new:nnnn { siunitx } { arc-multi-sign }
+ { Multiple~signs~given~for~arc~angle! }
+ {
+ An~angle~given~as~an~arc~should~have~at~most~one~sign:~
+ only~the~first~sign~will~be~used.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
\keys_set:nn { siunitx }
{
angle-mode = input ,
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index 5f4841816e..bef1e6afe6 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.pdf
+++ b/macros/latex/contrib/siunitx/siunitx-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-complex.dtx b/macros/latex/contrib/siunitx/siunitx-complex.dtx
index 2ff86391c2..200fd15f15 100644
--- a/macros/latex/contrib/siunitx/siunitx-complex.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-complex.dtx
@@ -1143,11 +1143,12 @@
% \begin{macro}[EXP]{\@@_convert_polar_auxiii:nnw}
% \begin{macro}[EXP]{\@@_convert_polar_auxiv:nnw}
% \begin{macro}[EXP]{\@@_convert_polar_auxv:nnw}
-% \begin{macro}[EXP]{\@@_convert_polar_auxvi:nnn}
+% \begin{macro}[EXP]{\@@_convert_polar_auxvi:nnn, \@@_convert_polar_auxvi:enn}
+% \begin{macro}[EXP]{\@@_convert_polar_auxvii:nnn}
% \begin{macro}[EXP]
-% {\@@_convert_polar_auxvii:nnn, \@@_convert_polar_auxvii:eee}
+% {\@@_convert_polar_auxviii:nnn, \@@_convert_polar_auxviii:eee}
% \begin{macro}[EXP]
-% {\@@_convert_polar_auxviii:nn, \@@_convert_polar_auxviii:ee}
+% {\@@_convert_polar_auxix:nn, \@@_convert_polar_auxix:ee}
% A simplified parser for complex numbers which works by expansion,
% then converts to polar form.
% \begin{macrocode}
@@ -1160,10 +1161,10 @@
\bool_lazy_or:nnTF
{ \str_if_eq_p:nn {#2} { i } }
{ \str_if_eq_p:nn {#2#3} { +i } }
- { \@@_convert_polar_auxvi:nnn { } { 1 } {#1} }
+ { \@@_convert_polar_auxvii:nnn { } { 1 } {#1} }
{
\str_if_eq:nnTF {#2#3} { -i }
- { \@@_convert_polar_auxvi:nnn { } { -1 } {#1} }
+ { \@@_convert_polar_auxvii:nnn { } { -1 } {#1} }
{ \@@_convert_polar_auxiii:nnw {#1} {#2} #3 + + \q_stop }
}
}
@@ -1173,7 +1174,7 @@
{ \@@_convert_polar_auxiv:nnw {#1} {#2} #3 - - \q_stop }
{
\str_if_eq:nnTF {#4} { i }
- { \@@_convert_polar_auxvi:nnn {#2#3} { 1 } {#1} }
+ { \@@_convert_polar_auxvii:nnn {#2#3} { 1 } {#1} }
{ \@@_convert_polar_auxv:nnw {#2#3} {#1} #4 i \q_nil i \q_stop }
}
}
@@ -1183,35 +1184,48 @@
{ \@@_convert_polar_auxv:nnw { } {#1} #2#3 i \q_nil i \q_stop }
{
\str_if_eq:nnTF {#4} { i }
- { \@@_convert_polar_auxvi:nnn { } { -1 } {#1} }
+ { \@@_convert_polar_auxvii:nnn { } { -1 } {#1} }
{ \@@_convert_polar_auxv:nnw {#2#3} {#1} -#4 i \q_nil i \q_stop }
}
}
+% \end{macrocode}
+% Negative real values are special-cased here for efficiency.
+% \begin{macrocode}
\cs_new:Npn \@@_convert_polar_auxv:nnw #1#2#3 i #4 i #5 \q_stop
{
\quark_if_nil:nTF {#4}
- { { #3 \tl_if_blank:nF {#2} { e#2 } } { 0 } }
- { \@@_convert_polar_auxvi:nnn {#1} {#3} {#2} }
+ {
+ \tl_if_head_eq_meaning:nNTF {#3} -
+ { \@@_convert_polar_auxvi:enn { \use_none:n #3 } { 180 } }
+ { \@@_convert_polar_auxvi:nnn {#3} { 0 } }
+ {#2}
+ }
+ { \@@_convert_polar_auxvii:nnn {#1} {#3} {#2} }
}
\cs_new:Npn \@@_convert_polar_auxvi:nnn #1#2#3
{
- \@@_convert_polar_auxvii:eee
+ { #1 \tl_if_blank:nF {#3} { e#3 } } {#2}
+ }
+\cs_generate_variant:Nn \@@_convert_polar_auxvi:nnn { e }
+\cs_new:Npn \@@_convert_polar_auxvii:nnn #1#2#3
+ {
+ \@@_convert_polar_auxviii:eee
{ \tl_if_blank:nTF {#1} { 0 } {#1} }
{ \tl_if_blank:nTF {#2} { 0 } {#2} }
{ \tl_if_blank:nF {#3} { e#3 } }
}
-\cs_new:Npn \@@_convert_polar_auxvii:nnn #1#2#3
+\cs_new:Npn \@@_convert_polar_auxviii:nnn #1#2#3
{
- \@@_format_polar_auxviii:ee
+ \@@_format_polar_auxix:ee
{ \fp_eval:n { sqrt ( (#1#3)^2 + (#2#3)^2 ) } }
{
\fp_eval:n
{ atan \bool_if:NT \l_@@_polar_degree_bool { d } (#2 , #1) }
}
}
-\cs_generate_variant:Nn \@@_convert_polar_auxvii:nnn { eee }
-\cs_new:Npn \@@_format_polar_auxviii:nn #1#2 { {#1} {#2} }
-\cs_generate_variant:Nn \@@_format_polar_auxviii:nn { ee }
+\cs_generate_variant:Nn \@@_convert_polar_auxviii:nnn { eee }
+\cs_new:Npn \@@_format_polar_auxix:nn #1#2 { {#1} {#2} }
+\cs_generate_variant:Nn \@@_format_polar_auxix:nn { ee }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1222,6 +1236,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \subsection{Messages}
%
diff --git a/macros/latex/contrib/siunitx/siunitx-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index 2b87514375..4a7e2eb705 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-number.dtx
@@ -2980,7 +2980,13 @@
\str_case:nnF {#1}
{
{ down } { \use_i:nn }
- { up } { \use_ii:nn }
+ { up }
+ {
+ \str_if_eq:eeTF
+ {#2} { \prg_replicate:nn { \tl_count:n {#2} } { 0 } }
+ { \use_i:nn }
+ { \use_ii:nn }
+ }
}
{
\bool_lazy_or:nnTF
diff --git a/macros/latex/contrib/siunitx/siunitx-table.dtx b/macros/latex/contrib/siunitx/siunitx-table.dtx
index 03fe45441e..4dd14ff826 100644
--- a/macros/latex/contrib/siunitx/siunitx-table.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-table.dtx
@@ -297,13 +297,10 @@
% Collecting a tabular cell means doing a token-by-token collection.
% In previous versions of \pkg{siunitx} that was done along with picking
% out the numerical part, but the code flow ends up very tricky. Here,
-% therefore, we just collect up the unchanged tokens first. The definition of
-% \cs{cr} is used to allow collection of any tokens
-% inserted after the main content when dealing with the last cell of a row:
-% the \enquote{group} around it is needed to avoid issues with the underlying
-% |\halign|. (The approach is based on that in \pkg{collcell}.) Whilst the
-% group formed by a cell will normally tidy up |\cr|, we add an extra one as
-% the collected material could be a tabular in itself. We use an auxiliary to
+% therefore, we just collect up the unchanged tokens first. Whilst each
+% cell forms a group, as we require definitions to say local
+% to the collections code, an additional group is required.
+% We use an auxiliary to
% fish out the |\ignorespaces| from the template: that has to go to avoid
% issues with the peek-ahead code (everything before the |#| needs to be
% read \emph{before} the Appendix~D trick gets applied). Some packages
@@ -314,13 +311,6 @@
{
\group_begin:
\tl_clear:N \l_@@_collect_tl
- \if_false: { \fi:
- \cs_set_protected:Npn \cr
- {
- \@@_collect_loop:
- \tex_cr:D
- }
- \if_false: } \fi:
\@@_collect_begin:w
}
\cs_new_protected:Npn \@@_collect_begin:w #1 \ignorespaces
@@ -365,9 +355,9 @@
{
\unskip { \@@_collect_loop: }
\textonly@unskip { \@@_collect_loop: }
- \end { \tabularnewline \end }
+ \end { \@@_collect_pre_cr: \tabularnewline \end }
\relax { \@@_collect_relax:N #1 }
- \tabularnewline { \tabularnewline }
+ \tabularnewline { \@@_collect_pre_cr: \tabularnewline }
\siunitx_cell_end: { \siunitx_cell_end: }
}
{ \@@_collect_token_aux:N #1 }
@@ -394,9 +384,9 @@
\@maybe@unskip { \@@_collect_loop: }
\tab@setcr { \@@_collect_loop: }
\unskip { \@@_collect_loop: }
- \end { \tabularnewline \end }
+ \end { \@@_collect_pre_cr: \tabularnewline \end }
\relax { \@@_collect_relax:N #1 }
- \tabularnewline { \tabularnewline }
+ \tabularnewline { \@@_collect_pre_cr: \tabularnewline }
\siunitx_cell_end: { \siunitx_cell_end: }
}
{ \@@_collect_token_aux:N #1 }
@@ -425,6 +415,30 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\@@_collect_pre_cr:}
+% The definition of \cs{cr} is used to allow collection of any tokens
+% from the \tn{halign} template after |#| when we are in the last cell of
+% the row. (The approach is based on that in \pkg{collcell}.) Note that
+% \TeX{} inserts these tokens when it sees the \tn{cr} primitive, so
+% there is no expansion to consider. Whilst in most cases the group formed
+% by each cell will tidy up, nested tabulars (for example in a header row)
+% will break if \tn{cr} is redefined too widely. Thus we use a targetted
+% approach: only apply when needed, and use the additional group inside the
+% cell to keep control.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_collect_pre_cr:
+ {
+ \if_false: { \fi:
+ \cs_set_protected:Npn \cr
+ {
+ \@@_collect_loop:
+ \tex_cr:D
+ }
+ \if_false: } \fi:
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Separating collected material}
%
% The input needs to be divided into numerical tokens and those which appear
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index bd97dc5750..eda108df6d 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -59,6 +59,9 @@
%
% \begin{documentation}
%
+% ^^A API documentation is given on a per-module basis:
+% ^^A see the siunitx-<module>.dtx files
+%
% \end{documentation}
%
% \begin{implementation}
@@ -121,7 +124,7 @@
%
% Identify the package and give the over all version information.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2024-06-24} {3.3.19}
+\ProvidesExplPackage {siunitx} {2024-08-20} {3.3.21}
{A comprehensive (SI) units package}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index 9d1c9d36db..3454497b6f 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx.tex b/macros/latex/contrib/siunitx/siunitx.tex
index 7c6e147f00..90189978b1 100644
--- a/macros/latex/contrib/siunitx/siunitx.tex
+++ b/macros/latex/contrib/siunitx/siunitx.tex
@@ -414,7 +414,7 @@ mode.
\end{LaTeXdemo}
The second operation mode for the \cs{unit} macro is an \enquote{interpreted}
-system, Here, each unit, \acro{SI} multiple prefix and power is given a macro
+system. Here each unit, \acro{SI} multiple prefix and power is given a macro
name. These are entered in a method very similar to the reading of the unit
name in English.
\begin{LaTeXdemo}
@@ -1252,7 +1252,7 @@ font variant which does not feature them.
\DescribeOption{text-subscript-command}
\DescribeOption{text-superscript-command}
In most cases, the commands \cs{textsubscript} and \cs{textsuperscript} are
-appropriagte for creating sub- and superscript material in text mode. However,
+appropriate for creating sub- and superscript material in text mode. However,
when the \pkg{realscripts} package is loaded, it is possible that the output is
not as desired. These two commands are therefore available to allow tuning of
the results. They can also be used for non-standard effects, for example as
@@ -1911,7 +1911,7 @@ by the \opt{bracket-ambiguous-numbers} switch. This option only applies to pure
numbers: when formatting quantities, the need for brackets also depends on the
placement of units, so is controlled by \opt{separate-uncertainty-units}.
\begin{LaTeXdemo}
- \sisetup{separate-uncertainty}
+ \sisetup{uncertainty-mode = separate}
\num{1.2(3)e4} \\
\num[bracket-ambiguous-numbers = false]{1.2(3)e4}
\end{LaTeXdemo}
@@ -2760,7 +2760,7 @@ a single unit symbol. Alternative options are \opt{repeat} (print the unit for
each part of the number) and \opt{single} (print only one unit symbol:
mathematically incorrect).
\begin{LaTeXdemo}
- \sisetup{separate-uncertainty}
+ \sisetup{uncertainty-mode = separate}
\qty{12.3(4)}{\kilo\gram} \\
\qty[separate-uncertainty-units = bracket]{12.3(4)}{\kilo\gram} \\
\qty[separate-uncertainty-units = repeat]{12.3(4)}{\kilo\gram} \\
@@ -2887,7 +2887,7 @@ given in Table~\ref{tab:S:format}.
S[table-format = 2.2]
S[table-format = 2.2, table-number-alignment = right]
S[table-format = 2.2(1)]
- S[table-format = 2.2(1), separate-uncertainty]
+ S[table-format = 2.2(1), uncertainty-mode = separate]
S[table-format = +2.2]
S[table-format = 2.2e1]
@{}}
@@ -2970,7 +2970,7 @@ comparator with the \opt{table-align-comparator} option
\caption{The \opt{table-align-uncertainty} option.%
\label{tab:align:uncert}}
\sisetup{
- separate-uncertainty,
+ uncertainty-mode = separate,
table-format = 1.3(1),
}
\begin{tabular}{@{}SS[table-align-uncertainty = false]@{}}
diff --git a/macros/latex/contrib/spbmark/README.md b/macros/latex/contrib/spbmark/README.md
index 0fd0ff2371..9fe0dc2c5c 100644
--- a/macros/latex/contrib/spbmark/README.md
+++ b/macros/latex/contrib/spbmark/README.md
@@ -1,5 +1,5 @@
# The `spbmark` package
-Customize superscripts and subscripts (v1.46k)
+Customize superscripts and subscripts (v1.46n)
## Abstract
`spbmark` provides three commands `\super`, `\sub` and `\supersub` to improve the layout of superscripts and subscripts which can be adjusted the relative position and format, and can be used in text and math mode.
@@ -11,5 +11,5 @@ This work may be distributed and/or modified under the conditions of the CC-BY 4
| [Gitee](https://gitee.com/texno3/spbmark) | [Github](https://github.com/texno3/spbmark) | [CTAN](https://ctan.org/pkg/spbmark) |
## Maintainer
-QuYi<br/>
+Qu Yi<br/>
Email: toquyi@163.com \ No newline at end of file
diff --git a/macros/latex/contrib/spbmark/spbmark.pdf b/macros/latex/contrib/spbmark/spbmark.pdf
index f17405570b..c0f3a42077 100644
--- a/macros/latex/contrib/spbmark/spbmark.pdf
+++ b/macros/latex/contrib/spbmark/spbmark.pdf
Binary files differ
diff --git a/macros/latex/contrib/spbmark/spbmark.sty b/macros/latex/contrib/spbmark/spbmark.sty
index fa10c8410f..4046c8bf9c 100644
--- a/macros/latex/contrib/spbmark/spbmark.sty
+++ b/macros/latex/contrib/spbmark/spbmark.sty
@@ -8,8 +8,8 @@
% The latest version of this license is in
% https://creativecommons.org/licenses/by/4.0/legalcode
\NeedsTeXFormat{LaTeX2e}[2018/12/31]
-\RequirePackage{xparse,l3keys2e}
-\ProvidesExplPackage{spbmark}{2024/06/21}{1.46k}
+\RequirePackage{xparse}
+\ProvidesExplPackage{spbmark}{2024/07/14}{1.46n}
{Customize superscripts and subscripts}
\cs_generate_variant:Nn \box_set_ht:Nn { cv }
@@ -34,15 +34,13 @@
\cs_set_eq:NN \spbset \spb_set:n
\cs_new_protected:Npn \spb_mark_core_set_trad:n #1
{
- \cs_set:cpn { spb@text#1script@core }
- { \use:c { spb@text#1script@save } }
- \cs_set:cpn { spb@math@#1@core }
- { \use:c { spb@math@#1@save } }
+ \cs_set_eq:cc { spb@text#1script@core } { spb@text#1script@save }
+ \cs_set_eq:cc { spb@math@#1@core } { spb@math@#1@save }
}
\cs_new_protected:Npn \spb_mark_core_set_none:n #1
{
- \cs_set:cpn { spb@text#1script@core } { \relax }
- \cs_set:cpn { spb@math@#1@core } { \relax }
+ \cs_set_eq:cN { spb@text#1script@core } \use:n
+ \cs_set_eq:cN { spb@math@#1@core } \use:n
}
\keys_define:nn { spbmark/option }
@@ -130,7 +128,12 @@
{ \tl_set_eq:NN \fnmarkfont \ftntm@font }
{ \tl_set_eq:NN \fnmarkfont \normalfont }
-\ProcessKeysOptions{spbmark/option}
+\cs_if_exist:NTF \ProcessKeyOptions
+ { \ProcessKeyOptions[spbmark/option] }
+ {
+ \RequirePackage{l3keys2e}
+ \ProcessKeysOptions{spbmark/option}
+ }
\tl_new:N \g__spb_mark_case_init_tl
\cs_new_protected:Npn \spb_local_case_init:nnn #1#2#3
diff --git a/macros/latex/contrib/spbmark/spbmark.tex b/macros/latex/contrib/spbmark/spbmark.tex
index 9da47d2151..d452fd0904 100644
--- a/macros/latex/contrib/spbmark/spbmark.tex
+++ b/macros/latex/contrib/spbmark/spbmark.tex
@@ -1,21 +1,21 @@
\documentclass[load-preamble+]{cnltx-doc}
-\usepackage{siunitx,setspace,pifont,hologo,changelog,enumitem}
+\usepackage{siunitx,setspace,hologo,changelog,enumitem}
\usepackage[spbmark]{altsubsup}
\usepackage[margin = 1in,marginparwidth = 0.6in,footskip = 0.5in]{geometry}
\usepackage[noto]{newtxmath}
\setcnltx
{
package = spbmark,
- version = v1.46k,
- date = 2024/06/21,
+ version = v1.46n,
+ date = 2024/07/14,
authors = Qu Yi,
- info = Customize superscript and subscript,
+ info = Customize superscripts and subscripts,
email = toquyi@163.com,
url = https://github.com/texno3/spbmark,
abstract =
{
- \pkg*{spbmark} provides three commands \cs{super}, \cs{sub} and \cs{supersub} to improve the layout of superscript and subscript which can be adjusted the relative position and format, and can be used in text and math mode.
+ \pkg*{spbmark} provides three commands \cs{super}, \cs{sub} and \cs{supersub} to improve the layout of superscripts and subscripts which can be adjusted the relative position and format, and can be used in text and math mode.
},
color-scheme = blue,
listings-options = {numbers = none,gobble = 2,lineskip = 1pt},
@@ -51,13 +51,13 @@
The following macro package options will redefine the script commands of the \LaTeX{} kernel. If you do not specify the values of boolean options, they default to \code{true}. These options can also be changed in the preamble area and main body using the global control command \cs{spbset}.
\begin{options}
\keychoice{text}{true,\fbox{false}}
- \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{textsp} and \code{textsb} to change the format of the text superscript and subscript.
+ \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{textsp} and \code{textsb} to change the format of the text superscripts and subscripts.
\keychoice{math}{true,\fbox{false}}
- \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp} and \code{mathsb} to change the format of the math superscript and subscript.
+ \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp} and \code{mathsb} to change the format of the math superscripts and subscripts.
\keychoice{math*}{true,\fbox{false}}\newtag{Exp\\v1.46j}%
- The \code{\^{}} and \code{\_{}} tokens in the math mode are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp*} and \code{mathsb*} to change the format of the math superscript and subscript.
+ The \code{\^{}} and \code{\_{}} tokens in the math mode are equivalent to the \cs{super} and \cs{sub} commands. The command \cs{defspbstyle} can be used to define the style \code{mathsp*} and \code{mathsb*} to change the format of the math superscripts and subscripts.
\keychoice{foot}{true,\fbox{false}}
- The format of the footnote mark match the superscript global move and format settings. \cs{defspbstyle} can be used to define the superscript style \code{fnmark} to change the format of the footnote mark.
+ The format of the footnote mark match the superscripts global move and format settings. \cs{defspbstyle} can be used to define the superscripts style \code{fnmark} to change the format of the footnote mark.
\begin{example}[code-only]
\defspbstyle{textsp}{vmove=-1pt,cmd=\bfseries}
\defspbstyle{mathsb}{hmove=0.5em}
@@ -73,19 +73,19 @@ The following macro package options will redefine the script commands of the \La
\spbset{all=false,math}
\end{example}
\keychoice{spcore}{\fbox{trad},none}\newtag{New\\v1.46k}%
- Kernel command case for text and math modes superscript. If \code{none} is selected, support for the superscript kernel command is removed, and the \option{cmd} and \option{vmove} options need to be set to control the size and offset of the superscript.
+ Kernel command case for text and math modes superscripts. If \code{none} is selected, support for the superscripts kernel command is removed, and the \option{cmd} and \option{vmove} options need to be set to control the size and offset of the superscripts.
\begin{example}[code-only]
\usepackage[spcore=none]{spbmark}
\usepackage{graphicx}
\spbset{spcmd=\scalebox{0.6},spvmove=5pt}
\end{example}
\keychoice{sbcore}{\fbox{trad},none}\newtag{New\\v1.46k}%
- Option for subscript kernel command case, similar to the \option{spcore} option.
+ Option for subscripts kernel command case, similar to the \option{spcore} option.
\end{options}
\section{User commands}
\label{sec:user commands}
-There are currently three commands to set superscript and subscript. Their format can be set temporarily using the optional parameters of the command, or set globally using a key-value list, see Section \ref{sec:global control interface}.
+There are currently three commands to print superscripts and subscripts. Their format can be set locally using the optional parameter of the command, or set globally using a key-value list, see Section \ref{sec:global control interface}.
\begin{commands}
\command{super}[\sarg\oarg{kv list}\marg{content}\oarg{kv list}]
This is a superscript output command. The two \meta{kv list} are equivalent.
@@ -128,7 +128,7 @@ There are currently three commands to set superscript and subscript. Their forma
6A\supersub[hmove=-8pt]{examsuper}{sub}\hspace{\dimexpr(\maxwd-8pt)}B
\end{example}
\command{defspbstyle}[\marg{style name}\marg{kv list}]
- Defines the style of the superscript or subscript used for the \option{style} option.
+ Defines the style of the superscripts or subscripts used for the \option{style} option.
\command{spbifmath}[\marg{math code}\marg{text code}]
In some cases, \code{math} or \code{text} output modes require different code for format or move. This command can be used when using the \code{match} option or changing the output mode locally, whitch should be used in the move or format options. It can switch the corresponding code according to different output modes.
\command{spbshortkv}[\marg{short opt}\marg{key value}]
@@ -155,11 +155,11 @@ The options common to \meta{kv list} of the three commands are as follows. They
\keyval{cmd}{format cmds}
The format commands of superscript or subscript. The last command can take a parameter, which accepts superscript or subscript. Represents the format of superscript and subscript in the superscript and subscript commands.
\keyval{cmd+}{format cmds}
- Add code to the previous global superscript or subscript format commands.
+ Add code to the previous option \option{cmd}.
\keyval{height}{fixed length}
- The distance between the superscript or subscript baseline and the previous line. It is recommended that the superscript adjusts the height and the subscript adjusts the depth.
+ The height of the marker box above the baseline. It is recommended that the superscript adjusts the height and the subscript adjusts the depth.
\keyval{depth}{fixed length}
- The distance between the superscript or subscript baseline and the next line.
+ The depth of the marker box below the baseline.
\keyval{style}{style name}
Use the \meta{style name} defined by the \cs{defspbstyle} command to make it work global or local.
\keychoice{mode}{text,math,\fbox{match}}
@@ -185,71 +185,74 @@ The options common to \meta{kv list} of the three commands are as follows. They
\label{sec:global control interface}
\begin{commands}
\command{spbset}[\marg{key-value list}]
- \pkg*{spbmark} uses the \cs{spbset} command to control the global default format of superscript and subscript. These options also apply to \meta{kv list} of the above commands. The values ​set by it will be overwritten by the optional parameters of the superscript and other commands.
+ \pkg*{spbmark} uses the \cs{spbset} command to control the global default format of superscripts and subscripts. These options also apply to \meta{kv list} of the \textcolor{red}{above} print commands. The values set by it will be overwritten by the optional parameter of superscripts and subscripts commands.
+
+ Note that the relative length units in the options such as \code{ex} and \code{em} are for the \textcolor{red}{body} font size, not the marker itself.
+
+ The following list of keys control the format both of superscripts \emph{or} subscripts. They can also be used in the optional parameter of the \cs{super} or \cs{sub} command.
\end{commands}
-The following list of keys control the format both of superscript \emph{or} subscript.
\begin{options}
\keyval{spvmove}{fixed length}\Default{0pt}
- Extra vertical move of the superscript.
+ Extra vertical move of the superscripts.
\keyval{sphmove}{fixed length}\Default{0pt}
- Extra horizontal move of the superscript.
+ Extra horizontal move of the superscripts.
\keyval{sbvmove}{fixed length}\Default{0pt}
- Extra vertical move of the subscript.
+ Extra vertical move of the subscripts.
\keyval{sbhmove}{fixed length}\Default{0pt}
- Extra horizontal move of the subscript.
+ Extra horizontal move of the subscripts.
\opt{nohmove}
- Cancel the horizontal move of superscript and subscript at the same time.
+ Cancel the horizontal move of superscripts and subscripts at the same time.
\opt{novmove}
- Cancel the vertical move of superscript and subscript at the same time.
+ Cancel the vertical move of superscripts and subscripts at the same time.
\keyval{spcmd}{format cmds}
- The format commands of superscript. The last command in the code can take an argument, which is a superscript.
+ The format commands of superscripts. The last command in the code can take an argument, which is a superscripts.
\keyval{spcmd+}{format cmds}
- Add code to the previous global superscript format commands.
+ Add code to the previous option \option{spcmd}.
\keyval{sbcmd}{format cmds}
- The format commands of subscript. Similar to the \option{spcmd} option, but for subscript.
+ The format commands of subscripts. Similar to the \option{spcmd} option, but for subscripts.
\keyval{sbcmd+}{format cmds}
- Add code to the previous global subcript format commands.
+ Add code to the previous option \option{sbcmd}.
\keyval{spheight}{fixed length}
- The distance between the superscript baseline and the previous line.
+ The height of the superscript box above the baseline.
\keyval{spdepth}{fixed length}
- The distance between the superscript baseline and the next line.
+ The depth of the superscript box below the baseline.
\keyval{sbheight}{fixed length}
- The distance between the subscript baseline and the previous line.
+ The height of the subscript box above the baseline.
\keyval{sbdepth}{fixed length}
- The distance between the subscript baseline and the next line.
+ The depth of the subscript box below the baseline.
\keychoice{spthiswd}{auto,\fbox{keep}}
- Width processing mode after using this superscript. See Section \ref{sec:user commands} for the meaning of this option.
+ Width processing mode after using this superscripts. See Section \ref{sec:user commands} for the meaning of this option.
\keychoice{sbthiswd}{auto,\fbox{keep}}
- Width processing mode after using this subscript. See Section \ref{sec:user commands} for the meaning of this option.
+ Width processing mode after using this subscripts. See Section \ref{sec:user commands} for the meaning of this option.
\keyval{spregex}{regular expression}
- After the superscript command is used, the regular expression rules of the following tokens are matched. See Section \ref{sec:user commands} for the meaning of this option.
+ After the superscripts command is used, the regular expression rules of the following tokens are matched. See Section \ref{sec:user commands} for the meaning of this option.
\keyval{sbregex}{regular expression}
- Similar to the \option{spregex} option, but for subscript.
+ Similar to the \option{spregex} option, but for subscripts.
\end{options}
-If \option{sphmove} is positive, the superscript or subscript moves to the right, conversely it moves to the left. The positive direction of vertical offset of subscript and superscript is \textcolor{red}{opposite}. For superscript, if \option{spvmove} is positive, the superscript moves up, conversely it moves down. For subscript, if \option{spvmove} is positive, the subscript moves down, conversely it moves up.
+If \option{sphmove} is positive, the superscripts or subscripts moves to the right, conversely it moves to the left. The positive direction of vertical offset of subscripts and superscripts is \textcolor{red}{opposite}. For superscripts, if \option{spvmove} is positive, the superscripts moves up, conversely it moves down. For subscripts, if \option{spvmove} is positive, the subscripts moves down, conversely it moves up.
-The following list of keys control the format of superscript \emph{and} subscript.
+The following list of keys control the format of superscripts \emph{and} subscripts. They can also be used in the optional parameter of the \cs{supersub} command.
\begin{options}
\keyval{spbhmove}{fixed length}\Default{0pt}
- Extra vertical move of the superscript and the subscript.
+ Extra vertical move of the superscripts and the subscripts.
\kvsplit{spbcmd}{super cmds}{sub cmds}
- The format commands of superscript and subscript. The first part is in superscript format, and the latter part is in subscript format. They are separated by commas, or only the first part exists.
+ The format commands of superscripts and subscripts. The first part is in superscripts format, and the latter part is in subscripts format. They are separated by commas, or only the first part exists.
\kvsplit{spbcmd+}{super cmds}{sub cmds}
- Add code to the previous global superscript and subscript format commands.
+ Add code to the previous option \option{spbcmd}.
\keyval{spbheight}{fixed length}
- The distance between the superscript baseline and the previous line.
+ The height of the superscript box above the baseline.
\keyval{spbdepth}{fixed length}
- The distance between the subscript baseline and the next line.
+ The depth of the subscript box below the baseline.
\kvsplit{vsep}{super move}{sub move}\Default{0.6ex}
- The extra vertical distance between superscript and subscript. The front part is the movement amount of the superscript, and the latter part is the movement amount of the subscript. If only the front part means that both are vertically shifted by one-half of the current value.
+ The extra vertical distance between superscripts and subscripts. The front part is the movement amount of the superscripts, and the latter part is the movement amount of the subscripts. If only the front part means that both are vertically shifted by one-half of the current value.
\keychoice{halign}{\fbox{l},c,r}
- The alignment of superscript and subscript, which contains \code{l}, \code{c}, and \code{r} parameters respectively for left, center, and right alignment.
+ The alignment of superscripts and subscripts, which contains \code{l}, \code{c}, and \code{r} parameter respectively for left, center, and right alignment.
\end{options}
\section{Examples of use}
-Here is a list of the three commands, please pay attention to the usage of optional parameters. Note when the horizontal move is negative, the starting point is at the right end of the mark.
+Here is a list of the three commands, please pay attention to the usage of optional parameter. Note when the horizontal move is negative, the starting point is at the right end of the mark.
\begin{example}
\defspbstyle{fancy}{cmd=\color{purple}}
\spbset{spbcmd={\spbifmath{\mathtt}{\ttfamily},\color{blue}}}
@@ -261,7 +264,7 @@ Here is a list of the three commands, please pay attention to the usage of optio
\end{example}
\subsection{siunitx}
-It can also be used with the \pkg*{siunitx} package to output superscript and subscript in the unit:
+It can also be used with the \pkg*{siunitx} package to output superscripts and subscripts in the unit:
\begin{example}
\spbset{spcmd=\spbifmath{}{\color{purple}}}
\sisetup{text-superscript-command=\super}
@@ -272,13 +275,13 @@ It can also be used with the \pkg*{siunitx} package to output superscript and su
\end{example}
\subsection{realscripts}
-If the OpenType text font you are using does not have optical sizes, the superscript and subscript may not appear correctly. Loading the \pkg*{realscripts} package before the \pkg*{spbmark} package fixes this behavior.
+If the OpenType text font you are using does not have optical sizes, the superscripts and subscripts may not appear correctly. Loading the \pkg*{realscripts} package before the \pkg*{spbmark} package fixes this behavior.
\begin{example}[code-only]
\usepackage{realscripts,spbmark}
\end{example}
\subsection{altsubsup}
-The \pkg*{altsubsup} package allows to write alternate superscript and subscript in math mode with \code{\^{}}\oarg{mark} and \code{\_{}}\oarg{mark} dimensions. When the package is loaded using the \code{spbmark} option, the superscript and subscript mechanism of \pkg*{spbmark} is used, you can use \cs{defspbstyle} to define its superscript style \code{altsup} and subscript style \code{altsub}.
+The \pkg*{altsubsup} package allows to write alternate superscripts and subscripts in math mode with \code{\^{}}\oarg{mark} and \code{\_{}}\oarg{mark} dimensions. When the package is loaded using the \code{spbmark} option, the superscripts and subscripts mechanism of \pkg*{spbmark} is used, you can use \cs{defspbstyle} to define its superscripts style \code{altsup} and subscripts style \code{altsub}.
\begin{example}
\defspbstyle{altsup}{sphmove=-\llastwd,spthiswd=auto,spvmove=1pt}
$A_[bcd]^[e]B$
@@ -291,13 +294,13 @@ The \pkg*{altsubsup} package allows to write alternate superscript and subscript
If you need to use the original definitions of \cs{textsuperscript}, \cs{textsubscript}, \cs{sp} and \cs{sb} after using the \option{text} or \option{math} option, then you can use the following commands:
\begin{commands}
\command{spb@textsuperscript@save}[\marg{content}]
- Save the original definition of the \cs{textsuperscript} command, output superscript in the text mode.
+ Save the original definition of the \cs{textsuperscript} command, output superscripts in the text mode.
\command{spb@textsubscript@save}[\marg{content}]
- Save the original definition of the \cs{textsubscript} command, output subscript in the text mode.
+ Save the original definition of the \cs{textsubscript} command, output subscripts in the text mode.
\command{spb@math@super@save}[\marg{content}]
- Save the original definition of the \cs{sp} command, output superscript in the math mode.
+ Save the original definition of the \cs{sp} command, output superscripts in the math mode.
\command{spb@math@sub@save}[\marg{content}]
- Save the original definition of the \cs{sb} command, output subscript in the math mode.
+ Save the original definition of the \cs{sb} command, output subscripts in the math mode.
\end{commands}
\section{Known issues}
@@ -309,10 +312,9 @@ At present, the vertical and horizontal move are effective for the unit commands
\item Add option \option{math*}: The \code{\^{}} and \code{\_{}} tokens in the math mode are equivalent to the \cs{super} and \cs{sub} commands.
\end{version}
\begin{version}[v = 1.46k,date = 2024/06/21]
- \item Add options \option{spcore} and \option{sbcore}: Set kernel commands for superscript and subscript of text and math modes.
+ \item Add options \option{spcore} and \option{sbcore}: Set kernel commands for superscripts and subscripts of text and math modes.
\end{version}
\end{changelog}
\nocite{*}
-\AddToHook{cmd/printindex/before}{\clearpage}
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/subeqn/CATALOG b/macros/latex/contrib/subeqn/CATALOG
new file mode 100644
index 0000000000..9d420c825f
--- /dev/null
+++ b/macros/latex/contrib/subeqn/CATALOG
@@ -0,0 +1,17 @@
+Name: subeqn
+Problems-To: texniek at texniek.nl
+Author: J.L. Braams, Donald Arsenau, Stephen Gildea
+Version: 2.0c
+
+Description:
+
+The subeqn package implements an extension to LaTeXs's equation
+and eqnarray environments in order to be able to put labels on
+individual expressions. To this end two now environments are defined:
+subequations and subeqnarray.
+
+Keywords: latex equations,
+
+Address:
+TeXniek
+The Netherlands
diff --git a/macros/latex/contrib/subeqn/MANIFEST b/macros/latex/contrib/subeqn/MANIFEST
new file mode 100644
index 0000000000..4fe2a9a156
--- /dev/null
+++ b/macros/latex/contrib/subeqn/MANIFEST
@@ -0,0 +1,19 @@
+%
+% CONTENTS OF THE SUBEQN PACKAGE
+% ==============================
+%
+% README -- A short introduction
+% MANIFEST -- A list of files
+% CATALOG -- An entry for the macro catalog
+%
+% subeqn.dtx -- A package to number subexpressions of an equation;
+% originally by Stephen Gildea,
+% rewritten by Donald Arsenau,
+% updated for LaTeX2e by Johannes Braams
+% subeqn.pdf -- A `printed´ version of subeqn.dtx
+% subeqn-sample.pdf -- The `printed' version of the sample file
+%
+% Installation script for the various parts:
+% -------------------------------------------
+%
+% subeqn.ins -- produces subeqn.sty and subeqn-sample.tex
diff --git a/macros/latex/contrib/subeqn/README b/macros/latex/contrib/subeqn/README
new file mode 100644
index 0000000000..25f16dbe87
--- /dev/null
+++ b/macros/latex/contrib/subeqn/README
@@ -0,0 +1,14 @@
+ subeqn bundle
+
+ July 20, 2024
+
+This bundle contains a package that extends the functionality
+of LaTeX's equation and eqnarray environments.
+It provides the environments subequations and subeqnarray.
+
+Copyright (C) 2024 Johannes L. Braams texniek(at)texniek.nl
+
+This program can be redistributed and/or modified under the terms
+of the LaTeX Project Public License Distributed from CTAN
+archives in directory macros/latex/base/lppl.txt; either
+version 1.3c of the License, or any later version.
diff --git a/macros/latex/contrib/subeqn/manifest.txt b/macros/latex/contrib/subeqn/manifest.txt
deleted file mode 100644
index 58e7cdb221..0000000000
--- a/macros/latex/contrib/subeqn/manifest.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-%
-% CONTENTS OF THE SUBEQN PACKAGE
-% ==============================
-%
-% manifest.txt -- This file
-%
-% subeqn.dtx -- A package to number subexpressions of an equation;
-% originally by Stephen Gildea,
-% rewritten by Donald Arsenau,
-% updated for LaTeX2e by me
-% subeqn.pdf -- A `printed version of subeqn.dtx
-%
-% Installation script for the various parts:
-% -------------------------------------------
-%
-% subeqn.ins -- produces subeqn.sty and subeqn.tex
diff --git a/macros/latex/contrib/subeqn/subeqn-sample.pdf b/macros/latex/contrib/subeqn/subeqn-sample.pdf
new file mode 100644
index 0000000000..ae4bd5c467
--- /dev/null
+++ b/macros/latex/contrib/subeqn/subeqn-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/subeqn/subeqn.dtx b/macros/latex/contrib/subeqn/subeqn.dtx
index cc49b5f0b5..b9ce870682 100644
--- a/macros/latex/contrib/subeqn/subeqn.dtx
+++ b/macros/latex/contrib/subeqn/subeqn.dtx
@@ -1,48 +1,49 @@
% \iffalse meta-comment
%
-% Copyright 1994-2004 Johannes Braams. All rights reserved.
-%
+% Copyright 1999-2024 Johannes L. Braams. All rights reserved.
+%
% This file is part of the subeqn package.
% ----------------------------------------
-%
+%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2003/12/01 or later.
-%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
% This work has the LPPL maintenance status "maintained".
-%
+%
% The Current Maintainer of this work is Johannes Braams.
-%
-% The list of all files belonging to the subeqn package is
-% given in the file `manifest.txt'.
-%
+%
+% The list of all files belonging to the supertabular package is
+% given in the file `MANIFEST.
+%
% The list of derived (unpacked) files belonging to the distribution
% and covered by LPPL is defined by the unpacking scripts (with
% extension .ins) which are part of the distribution.
% \fi
-% \CheckSum{76}
+%
+% \CheckSum{84}
% \iffalse
-%% File: `subeqn.dtx'
-%% Copyright (C) 1999-2004
-%% Donald Arsenau (asnd at reg.triumf.ca),
-%% Johannes Braams (TeXniek at braams.cistron.nl)
-%%
+% Copyright (C) 1999-2024
+% Donald Arsenau at reg.triumf.ca,
+% Johannes Braams texniek at texniek.nl
+%
%<*dtx>
\ProvidesFile{subeqn.dtx}
%</dtx>
%<package>\NeedsTeXFormat{LaTeX2e}[1998/06/01]
%<package>\ProvidesPackage{subeqn}
-%<sample>\ProvidesFile{subeqn.tex}
+%<sample>\ProvidesFile{subeqn-sample.tex}
%<driver>\ProvidesFile{subeqn.drv}
%\ProvidesFile{subeqn.dtx}
- [2004/04/15 v2.0b subnumbering of equations]
+ [2024/07/21 v2.0c subnumbering of equations]
%<*driver>
\documentclass{ltxdoc}
\begin{document}
+\pagestyle{myheadings}
\providecommand{\Lenv}[1]{\textsf{#1}}
\providecommand{\Lopt}[1]{\textsf{#1}}
\providecommand{\pkg}[1]{\texttt{#1}}
@@ -60,6 +61,10 @@
% \date{\filedate}
% \maketitle
%
+% \markboth
+% {subeqn package version \fileversion\space as of \filedate}
+% {subeqn package version \fileversion\space as of \filedate}
+%
% \section{Introduction}
%
% Sometimes it is necessary to be able to refer to subexpressions
@@ -165,7 +170,7 @@
\global\c@equation\z@
}{%
% \end{macrocode}
-% When the environment is finished we restore the value ot the
+% When the environment is finished we restore the value of the
% \texttt{equation} counter.
% \begin{macrocode}
\global\c@equation\c@mainequation
@@ -220,7 +225,14 @@
\usepackage{subeqn}
\begin{document}
-This is an example ot the use of the \texttt{subeqations} package.
+\title{Sample sub-equations}
+\author{Johannes L. Braams}
+\date{\today}
+\maketitle
+
+\noindent
+This is an example of the use of the \texttt{subeqations}
+package. First we have a normal \textsf{equation} environment.
\begin{equation}
\label{a}
a^2 + b^2 = c^2
@@ -247,6 +259,7 @@ Now we start sub-numbering.
and~\ref{c2}.
\end{subequations}
+\noindent
Now lets start a \textsf{subeqnarray} environment.
\begin{subeqnarray}
\label{d}
diff --git a/macros/latex/contrib/subeqn/subeqn.ins b/macros/latex/contrib/subeqn/subeqn.ins
index e9e8689856..b3e295f28c 100644
--- a/macros/latex/contrib/subeqn/subeqn.ins
+++ b/macros/latex/contrib/subeqn/subeqn.ins
@@ -3,50 +3,41 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1989-2004 Johannes L. Braams. All rights reserved.
-%%
-%% This file is part of the subeqn package.
-%% ----------------------------------------
-%%
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2003/12/01 or later.
-%%
-%% This work has the LPPL maintenance status "maintained".
-%%
-%% The Current Maintainer of this work is Johannes Braams.
-%%
-%% The list of all files belonging to the subeqn package is
-%% given in the file `manifest.txt.
+%%
+%% This file 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.
%%
-%% The list of derived (unpacked) files belonging to the distribution
-%% and covered by LPPL is defined by the unpacking scripts (with
-%% extension .ins) which are part of the distribution.
+%% IMPORTANT NOTICE:
+%%
+%% Copyright (C) 1999-2024 Johannes L. Braams. All rights reserved.
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1.3c of the License, or any later version.
%%
%% --------------- start of docstrip commands ------------------
%%
-\def\filedate{2004/04/15}
\def\batchfile{subeqn.ins}
\input docstrip.tex
+\keepsilent
\preamble
+This is a generated file.
-Copyright (C) 1999-2004 Johannes Braams. All rights reserved.
+Copyright (C) 1999-2024 Johannes Braams. All rights reserved.
This file was generated from file(s) of the subeqn package.
-----------------------------------------------------------
It may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
+conditions of the LaTeX Project Public License, either version 1.3с
of this license or (at your option) any later version.
The latest version of this license is in
http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2003/12/01 or later.
+and version 1.3с or later is part of all distributions of LaTeX
+version 2008 or later.
This work has the LPPL maintenance status "maintained".
@@ -57,7 +48,7 @@ subeqn package. You may however distribute the subeqn package
without such generated files.
The list of all files belonging to the subeqn package is
-given in the file `manifest.txt.
+given in the file `MANIFEST'.
The list of derived (unpacked) files belonging to the distribution
and covered by LPPL is defined by the unpacking scripts (with
@@ -70,7 +61,7 @@ extension .ins) which are part of the distribution.
% The sample file
-\generateFile{subeqn.tex}{t}{\from{subeqn.dtx}{sample}}
+\generateFile{subeqn-sample.tex}{t}{\from{subeqn.dtx}{sample}}
\Msg{***********************************************************}
\Msg{*}
diff --git a/macros/latex/contrib/subeqn/subeqn.pdf b/macros/latex/contrib/subeqn/subeqn.pdf
index e2247d3fdc..bf29789b71 100644
--- a/macros/latex/contrib/subeqn/subeqn.pdf
+++ b/macros/latex/contrib/subeqn/subeqn.pdf
Binary files differ
diff --git a/macros/latex/contrib/subeqnarray/CATALOG b/macros/latex/contrib/subeqnarray/CATALOG
new file mode 100644
index 0000000000..5e037823f8
--- /dev/null
+++ b/macros/latex/contrib/subeqnarray/CATALOG
@@ -0,0 +1,17 @@
+Name: subeqnarray
+Problems-To: texniek at texniek.nl
+Author: J.L. Braams, Donald Arsenau, Stephen Gildea
+Version: 2.1e
+
+Description:
+
+The subeqnarray package provides two new environments subeqnarray and
+subeqnarray* which behave like LaTeX's eqnarray and subeqnarray environments
+except the individual lines are numbered like 1a, 1b, 1c etc.
+This package is not compatible with the package subeqn.
+
+Keywords: latex equations,
+
+Address:
+TeXniek
+The Netherlands
diff --git a/macros/latex/contrib/subeqnarray/manifest.txt b/macros/latex/contrib/subeqnarray/MANIFEST
index f54bba3c8a..7c25363971 100644
--- a/macros/latex/contrib/subeqnarray/manifest.txt
+++ b/macros/latex/contrib/subeqnarray/MANIFEST
@@ -2,14 +2,18 @@
% CONTENTS OF THE SUBEQNARRAY PACKAGE
% ===================================
%
-% manifest.txt -- This file
+% README -- A short introduction
+% MANIFEST -- A list of files
+% CATALOG -- An entry for the macro catalog
%
% subeqnarray.dtx -- Numbering of individual lines of an eqnarray
% environment as subexpressions; not compatible
% with subeqn.dtx
-% subeqnarray.pdf -- A `printed version of subeqnarray.dtx
+% subeqnarray.pdf -- A `printed´ version of subeqnarray.dtx
+% subeqnarray-sample.pdf -- The `printed' versino of the sample file
%
% Installation script for the various parts:
% -------------------------------------------
%
% subeqnarray.ins -- produces subeqnarray.sty and subeqnarray.tex
+
diff --git a/macros/latex/contrib/subeqnarray/README b/macros/latex/contrib/subeqnarray/README
new file mode 100644
index 0000000000..e52f27f0bb
--- /dev/null
+++ b/macros/latex/contrib/subeqnarray/README
@@ -0,0 +1,16 @@
+ subeqnarray bundle
+
+ July 20, 2024
+
+This bundle contains a package that provides two new environments
+subeqnarray and subeqnarray* which behave like LaTeX's eqnarray and
+subeqnarray environments except the individual lines are numbered like
+1a, 1b, 1c etc.
+This package is not compatible with the package subeqn.
+
+Copyright (C) 2024 Johannes L. Braams texniek(at)texniek.nl
+
+This program can be redistributed and/or modified under the terms
+of the LaTeX Project Public License Distributed from CTAN
+archives in directory macros/latex/base/lppl.txt; either
+version 1.3c of the License, or any later version.
diff --git a/macros/latex/contrib/subeqnarray/subeqnarray-sample.pdf b/macros/latex/contrib/subeqnarray/subeqnarray-sample.pdf
new file mode 100644
index 0000000000..2345c08f58
--- /dev/null
+++ b/macros/latex/contrib/subeqnarray/subeqnarray-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/subeqnarray/subeqnarray.dtx b/macros/latex/contrib/subeqnarray/subeqnarray.dtx
index 5b3555c312..d460ccfca3 100644
--- a/macros/latex/contrib/subeqnarray/subeqnarray.dtx
+++ b/macros/latex/contrib/subeqnarray/subeqnarray.dtx
@@ -1,43 +1,40 @@
% \iffalse meta-comment
%
-% Copyright 1994-2004 Johannes Braams. All rights reserved.
-%
+% Copyright 1998-2024 Johannes L. Braams. All rights reserved.
+%
% This file is part of the subeqnarray package.
% ---------------------------------------------
-%
+%
% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
+% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2003/12/01 or later.
-%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
% This work has the LPPL maintenance status "maintained".
-%
+%
% The Current Maintainer of this work is Johannes Braams.
-%
-% The list of all files belonging to the subeqnarray package is
-% given in the file `manifest.txt'.
-%
+%
+% The list of all files belonging to the supertabular package is
+% given in the file `MANIFEST'.
+%
% The list of derived (unpacked) files belonging to the distribution
% and covered by LPPL is defined by the unpacking scripts (with
% extension .ins) which are part of the distribution.
% \fi
-% \CheckSum{259}
-%\iffalse
+%
+% \CheckSum{264}
+%
+% \iffalse
%
% Subeqnarray package to use with LaTeX2e
%
-%% Copyright (C) 1988--2004 by Johannes Braams,
-%% all rights resserved
%%
%% Error reports please to: J. Braams
%% TeXniek
-%% Kooienswater 62
-%% 2715 AJ Zoetermeer
-%% The Netherlands
-%% Email: texniek at braams.cistron.nl
+%% Email: texniek at texniek.nl
%
% \section{Producing the documentation}
%
@@ -48,10 +45,10 @@
%</dtx>
%<package>\NeedsTeXFormat{LaTeX2e}[1998/06/01]
%<package>\ProvidesPackage{subeqnarray}
-%<sample>\ProvidesFile{subeqnarray.tex}
+%<sample>\ProvidesFile{subeqnarray-sample.tex}
%<driver>\ProvidesFile{subeqnarray.drv}
%\ProvidesFile{subeqnarray.dtx}
- [2004/04/15 v2.1c subeqnarray package]
+ [2024/07/20 v2.1e subeqnarray package]
%<*driver>
\documentclass{ltxdoc}
@@ -82,10 +79,8 @@
%
% \author{Johannes Braams\\
% \TeX niek\\
-% Kersengaarde 33\\
-% 2723 BP Zoetermeer\\
% The Netherlands\\
-% Internet: \texttt{TeXniek at braams.cistron.nl}}
+% Internet: \texttt{texniek at texniek.nl}}
%
% \date{\filedate}
%
@@ -114,8 +109,8 @@
% \changes{2.0}{1993/11/02}{Added support for the leqno option}
% \changes{2.0}{1993/11/02}{Added support for the fleqn option}
% \changes{2.1}{1994/02/09}{Upgrade for LaTeX2e}
-% \changes{2.1b}{1999/03/03}{Changed licensing remarks to use LPPL}
-% \changes{2.1c}{2004/04/15}{Updated address information}
+% \changes{v2.1b}{1999/03/03}{Changed licensing remarks to use LPPL}
+% \changes{v2.1e}{2024/07/20}{Updated contact info}
%
% \section{Initial Code}
%
@@ -129,8 +124,8 @@
% \end{macro}
%
% \begin{macro}{\thesubequation}
-% The representation o the counter \texttt{subequation} includes
-% the \texttt{equation} counter
+% The representation of the counter \texttt{subequation} includes
+% the \texttt{equation} counter.
% \begin{macrocode}
\def\thesubequation{\theequation\alph{subequation}}
% \end{macrocode}
@@ -197,7 +192,7 @@
\ExecuteOptions{reqno,deqn}
% \end{macrocode}
%
-% Now see if the use specified any options.
+% Now see if the user specified any options.
% \begin{macrocode}
\ProcessOptions
% \end{macrocode}
@@ -206,9 +201,9 @@
%
% \begin{macro}{\slabel}
% A new label command to refer to subequations. It works
-% like the |\label| command and was taken from \texttt{latex.tex}.
+% like the |\label| command and was taken from \texttt{latex.ltx}.
%
-% |\slabel{FOO}| writes the following on file |\@auxout|
+% |\slabel{FOO}| writes the following on file |\@auxout|:
%
% |\newlabel{FOO}{{eval(\@currentlabel)}{eval(\thepage)}}|
%
@@ -285,7 +280,7 @@
% \end{macro}
%
% \begin{macro}{\@@subeqncr}
-% Ceck the number of columns, and insert extra |&| if needed. If
+% Check the number of columns, and insert extra |&| if needed. If
% there appear to be more than 3 columns an error is signalled.
% \begin{macrocode}
\def\@@subeqncr{\let\@tempa\relax
@@ -314,7 +309,6 @@
% \begin{macrocode}
\let\@ssubeqncr\@subeqncr
%</package>
-%<*sample>
% \end{macrocode}
% \end{macro}
%
@@ -328,6 +322,11 @@
\documentclass[fleqn]{article}
\usepackage{subeqnarray}
\begin{document}
+\title{Sample subeqnarray}
+\author{Johannes L. Braams}
+\date{\today}
+\maketitle
+
This document shows an example of the use of the \emph{subeqnarray}
environment. Here is one:
\begin{subeqnarray}
@@ -360,20 +359,4 @@ These are equations~\ref{eq10},~\ref{eq11} and~\ref{eq12}.
%
% \Finale
\endinput
-%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%
+% \ No newline at end of file
diff --git a/macros/latex/contrib/subeqnarray/subeqnarray.ins b/macros/latex/contrib/subeqnarray/subeqnarray.ins
index efa2d4da60..f28eb4717a 100644
--- a/macros/latex/contrib/subeqnarray/subeqnarray.ins
+++ b/macros/latex/contrib/subeqnarray/subeqnarray.ins
@@ -1,53 +1,49 @@
-%%
+%
%% This file will generate fast loadable files and documentation
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1989-2004 Johannes L. Braams. All rights reserved.
-%%
-%% This file is part of the subeqnarray package.
-%% ---------------------------------------------
-%%
+%% Copyright (C) 1999-2024 Johannes L. Braams. All rights reserved.
+%%
+%% This file is part of the eqnarray distribution.
+%% -----------------------------------------------
+%%
%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
+%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2003/12/01 or later.
-%%
-%% This work has the LPPL maintenance status "maintained".
-%%
-%% The Current Maintainer of this work is Johannes Braams.
-%%
-%% The list of all files belonging to the subeqnarray package is
-%% given in the file `manifest.txt.
-%%
-%% The list of derived (unpacked) files belonging to the distribution
-%% and covered by LPPL is defined by the unpacking scripts (with
-%% extension .ins) which are part of the distribution.
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%%
+%% This file has the LPPL maintenance status "maintained".
+%%
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% --------------- start of docstrip commands ------------------
%%
-% ignored commands
-\def\filedate{2004/04/15}
-\def\batchfile{subeqnarray.ins}
+
\input docstrip.tex
\preamble
-Copyright (C) 1999-2004 Johannes Braams. All rights reserved.
+Copyright (C) 1999-2024 Johannes Braams. All rights reserved.
This file was generated from file(s) of the subeqnarray package.
----------------------------------------------------------------
It may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
+conditions of the LaTeX Project Public License, either version 1.3c
of this license or (at your option) any later version.
The latest version of this license is in
http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2003/12/01 or later.
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008 or later.
This work has the LPPL maintenance status "maintained".
@@ -71,7 +67,7 @@ extension .ins) which are part of the distribution.
% The sample file
-\generateFile{subeqnarray.tex}{t}{\from{subeqnarray.dtx}{sample}}
+\generateFile{subeqnarray-sample.tex}{t}{\from{subeqnarray.dtx}{sample}}
\Msg{***********************************************************}
\Msg{*}
@@ -89,4 +85,4 @@ extension .ins) which are part of the distribution.
\Msg{* Happy TeXing}
\Msg{***********************************************************}
-\endinput
+\endbatchfile
diff --git a/macros/latex/contrib/subeqnarray/subeqnarray.pdf b/macros/latex/contrib/subeqnarray/subeqnarray.pdf
index 937120f21d..d69c233513 100644
--- a/macros/latex/contrib/subeqnarray/subeqnarray.pdf
+++ b/macros/latex/contrib/subeqnarray/subeqnarray.pdf
Binary files differ
diff --git a/macros/latex/contrib/supertabular/CATALOG b/macros/latex/contrib/supertabular/CATALOG
index 8c58273050..b6438f4bcf 100644
--- a/macros/latex/contrib/supertabular/CATALOG
+++ b/macros/latex/contrib/supertabular/CATALOG
@@ -1,7 +1,7 @@
Name: supertabular (also called supertab)
-Problems-To: texniek@braams.xs4all.nl
+Problems-To: texniek@texniek.nl
Author: J.L. Braams and T. Jurriens
-Version: 4.1g
+Version: 4.2c
Description:
@@ -23,6 +23,4 @@ ISBN 0-201-54199-8.
Address:
TeXniek
-Kersengaarde 33
-2723 BP Zoetermeer
The Netherlands
diff --git a/macros/latex/contrib/supertabular/MANIFEST b/macros/latex/contrib/supertabular/MANIFEST
index bcd27adbf4..3015e0edd5 100644
--- a/macros/latex/contrib/supertabular/MANIFEST
+++ b/macros/latex/contrib/supertabular/MANIFEST
@@ -1,6 +1,6 @@
-README - A short introduction
-MANIFEST - A list of files
-CATALOG - An entry for the macro catalog
+00readme.tx - A short introduction
+manifest.txt - A list of files
+catalog.txt - An entry for the macro catalog
Changelog - An overview of the changes to the package
supertabular.dtx - The documented version of the code, including a couple
of examples of how to use it. Needs supertabular.sty
diff --git a/macros/latex/contrib/supertabular/README b/macros/latex/contrib/supertabular/README
index ccd7c596a5..9de0746460 100644
--- a/macros/latex/contrib/supertabular/README
+++ b/macros/latex/contrib/supertabular/README
@@ -13,9 +13,9 @@ The files contained in this bundle are listed in the file MANIFEST
Supertabular can be used with LaTeX2e as a package.
-Copyright (C) 1989 - 2020 Johannes L. Braams texniek at braams.xs4all.nl
+Copyright (C) 1989 - 2024 Johannes L. Braams texniek at texniek.nl
This program can be redistributed and/or modified under the terms
of the LaTeX Project Public License Distributed from CTAN
archives in directory macros/latex/base/lppl.txt; either
-version 1 of the License, or any later version.
+version 1.3c of the License, or any later version.
diff --git a/macros/latex/contrib/supertabular/ChangeLog b/macros/latex/contrib/supertabular/supertabular.bug
index 1dedbe6cd4..7c340f0a99 100644
--- a/macros/latex/contrib/supertabular/ChangeLog
+++ b/macros/latex/contrib/supertabular/supertabular.bug
@@ -1,8 +1,29 @@
-2020-02-02 Johannes Braams <texniek at braams.xs4all.nl>
+2021-02-14 Johannes Braams <texniek at texniek.nl>
+
+ * supertabular.dtx: Issue a \penalty-\@M instead of \newpage when
+ moving the first part of a supertabular to the next page to
+ prevent the first two rows from opverlapping.
+
+2021-02-14 Johannes Braams <texniek at texniek.nl>
+
+ * supertabular.dtx: When the tablehead and/or tabletail are not
+ defeined the internal macros that store their arguments need to
+ remain empty as well. Otherwise the algorithm will always think
+ there's a head and tail with a height of 2.5 pt.
+
+2020-06-27 Johannes Braams <texniek at texniek.nl>
+
+ * supertabular.dtx: the new algorithm for calculating the height
+ of the row broke old documents, especially when small font sizes
+ are used. Made the new algorithm optional (calculate versus
+ estimate) and make sure the row height covers super- and
+ subscripts.
+
+2020-02-02 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Replaced the way the height of normal tabular
lines is calculated by basing it on the height and depth of
- \strutbox. This also ment being able to take the \extrarowheight
+ \strutbox. This also meant being able to take the \extrarowheight
from the array package into account.
Also the height of the first and subsequent heads was not taken
into account in the calculation of the available pageheigt. This
@@ -14,25 +35,25 @@
\pagesofar. Therefore we substract a little extra from
\ST@pageleft.
-2020-01-26 Johannes Braams <texniek at braams.xs4all.nl>
+2020-01-26 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Updated the copyright year and rearranged the
text around the examples in order to get the first table to split
accross a page boundary again.
-2019-01-18 Johannes Braams <texniek at braams.xs4all.nl>
+2019-01-18 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: The linenumber in the tracing information, that
is reported from within \\, is off by one when the optional
argument is missing. Therefore the input linenumber is now saved
before TeX starts scanning. Problem reported by Frank Mittelbach.
-2019-01-16 Johannes Braams <texniek at braams.xs4all.nl>
+2019-01-16 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: The option "pageshow" didn't work as it set a
too low value in \c@tracingst. Problem reported by Frank
Mittelbach.
-2019-01-12 Johannes Braams <texniek at braams.xs4all.nl>
+2019-01-12 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : The definition for the first table head was
different from the definition of the regular table heads.
This problem was reported by FMi as it produced an extra table in
@@ -44,7 +65,7 @@
themselves although this couteracts the change that was introduced
on 08-08-1999.
-2001-08-21 Johannes Braams <texniek at braams.xs4all.nl>
+2001-08-21 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : The macro \ST@next needs to be defined when
\ST@skippage was called. Therefore I moved the default definition
@@ -52,7 +73,7 @@
is called; possibly defined by \ST@newpage. This problem was
reported by Andrew Dorrell <dorrell@research.canon.com.au>.
-1999-08-08 Johannes Braams <texniek at braams.xs4all.nl>
+1999-08-08 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : No longer re-initialize the internal variable
\@table@first@head and \@table@last@tail. This made it impossible
@@ -61,20 +82,20 @@
redeclaring the firsthead and/or lasttail. Reported by Christian
Matuszewski <matuszew@informatik.uni-halle.de>.
-Fri Nov 7 20:27:27 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Fri Nov 7 20:27:27 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : For standard LaTeX we need to change
\@@startpbox not \@startpbox. Found by Peter R Wilson
- <Peter.Wilson@PSS.Boeing.com>
+ <Peter.Wilson@PSS.Boeing.com>.
-Wed Oct 8 22:35:40 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Wed Oct 8 22:35:40 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Running the documentation revealed a loop;
inside the table tail and head \\ was reset to \@tabularcr instead
of to \@@tabularcr (now: \org@tabularcr). First found by Thomas
- Esser <te@informatik.uni-hannover.de>
+ Esser <te@informatik.uni-hannover.de>.
-Sat Sep 27 21:35:29 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Sat Sep 27 21:35:29 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Added the mpsupertabular and mpsupertabular*
environments provided by Axel Kielhorn <A.Kielhorn@tu-bs.de>;
@@ -84,14 +105,14 @@ Sat Sep 27 21:35:29 1997 Johannes Braams <texniek at braams.xs4all.nl>
The calculation of the available height still missed the case
where TeX has already begun the second column.
-Thu Sep 18 00:31:55 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Sep 18 00:31:55 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : The \tablehead and \tabletail commands reset
the command \\; they used \cr for it. That should have been
\@tabularcr to properly deal with it's optional argument.
Found by Axel Kielhorn <A.Kielhorn@tu-bs.de>
-Wed Sep 17 23:59:13 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Wed Sep 17 23:59:13 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : In two column mode the parameters that
determine how much space is left on the page were not correctly
@@ -99,7 +120,7 @@ Wed Sep 17 23:59:13 1997 Johannes Braams <texniek at braams.xs4all.nl>
completely.
Found by Jeffrey Spielberg <jspielberg@infinet-software.com>
-Tue May 20 23:46:08 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Tue May 20 23:46:08 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : \shrinkheight didn't shrink the available
height for a part of the tabular (as documented); it just *set* it
@@ -109,26 +130,26 @@ Tue May 20 23:46:08 1997 Johannes Braams <texniek at braams.xs4all.nl>
\@table@last@tail are undefined; this shoud be done globally.
Found by Axel Kielhorn <A.Kielhorn@tu-bs.de>
-Sat Apr 12 23:37:33 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Sat Apr 12 23:37:33 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : Added \ST@stretchht and \ST@prevht to improve
decision process. \estimate@lineht now also computes the
difference between a normal line height and when \arraystretch is
in effect.
-Thu Apr 10 23:33:07 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Apr 10 23:33:07 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Had to repaire some documentation errors.
(found by Thomas Esser <te@informatik.uni-hannover.de>)
-Wed Apr 9 00:29:36 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Wed Apr 9 00:29:36 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : Only the first part of a supertabular can be
moved to the next page. Therefore we need to change the definition
of \ST@skippage in the middle of processing the supertabular data.
-Thu Mar 6 21:56:18 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Mar 6 21:56:18 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx : Using a tabular environment in the cells of a
supertabular gives `interesting' results when the algorithm
@@ -136,14 +157,14 @@ Thu Mar 6 21:56:18 1997 Johannes Braams <texniek at braams.xs4all.nl>
tabular. A number of changes were necessary to make this work.
Found by Axel Kielhorn <i0080108@ws.rz.tu-bs.de>
-Thu Feb 20 23:29:18 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Feb 20 23:29:18 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Renamed \tableformat into \ST@tableformat
because the KOPMA-packages also use \tableformat and therefore
clashed with babel.
Found by Axel Kielhorn <i0080108@ws.rz.tu-bs.de>
-Tue Feb 4 23:50:50 1997 Johannes Braams <texniek at braams.xs4all.nl>
+Tue Feb 4 23:50:50 1997 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx (section{The Implementation}): Removed the use
of the page height correction for p-columns; the current algorithm
@@ -155,7 +176,7 @@ Tue Feb 4 23:50:50 1997 Johannes Braams <texniek at braams.xs4all.nl>
page on a calculated minimum height of the table. The minimum is
the head, the tail and 1 line of tabular data.
-Thu Nov 28 20:38:53 1996 Johannes Braams <texniek at braams.xs4all.nl>
+Thu Nov 28 20:38:53 1996 Johannes Braams <texniek at texniek.nl>
* supertabular.dtx: Started a cleanup of the code, made source
file a full fledged .dtx file
@@ -168,7 +189,7 @@ Thu Nov 28 20:38:53 1996 Johannes Braams <texniek at braams.xs4all.nl>
% jurriens at fwn.rug.nl P.O Box 800, 9700 AV Groningen
%
% revised by: Johannes Braams
-% texniek at braams.xs4all.nl TeXniek (NL)
+% texniek at texniek.nl TeXniek (NL)
% \def\fileversion{3.7c}
% \def\filename{supertabular sty}
% \def\filedate{1995/10/16}
diff --git a/macros/latex/contrib/supertabular/supertabular.dtx b/macros/latex/contrib/supertabular/supertabular.dtx
index be31a2d113..6bde17bbfa 100644
--- a/macros/latex/contrib/supertabular/supertabular.dtx
+++ b/macros/latex/contrib/supertabular/supertabular.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1989-2020 Johannes L. Braams. All rights reserved.
+% Copyright 1989-2021 Johannes L. Braams. All rights reserved.
%
% This file is part of the supertabular package.
% ---------------------------------------------
@@ -25,14 +25,13 @@
% extension .ins) which are part of the distribution.
% \fi
%
-% \CheckSum{1132}
+% \CheckSum{1188}
% \iffalse
%% Sourcefile `supertabular.dtx'.
%%
%% Copyright (C) 1988 by Theo Jurriens
-%% Copyright (C) 1990-2020 by Johannes Braams texniek at braams.xs4all.nl
-%% Kersengaarde 33
-%% 2723 BP Zoetermeer NL
+%% Copyright (C) 1990-2024 by Johannes Braams texniek at texniek.nl
+%% The Netherlands
%% all rights reserved.
%%
%%
@@ -43,11 +42,11 @@
%<package>\ProvidesPackage{supertabular}
%<driver>\ProvidesFile{supertabular.drv}
%\ProvidesFile{supertabular.dtx}
- [2020/02/02 v4.1g the supertabular environment]
+ [2024/07/20 v4.2c the supertabular environment]
%
%<*driver>
\documentclass{ltxdoc}
-\usepackage[debugshow]{supertabular}
+\usepackage[debugshow,calculate]{supertabular}
\newcommand{\tbsp}{\rule{0pt}{18pt}}
\begin{document}
\providecommand{\Lenv}[1]{\textsf{#1}}
@@ -59,17 +58,19 @@
%</driver>
% \fi
%
-% \changes{v4.0a}{1996/11/28}{Cleanup of the code, now a \file{.dtx}
-% source file}
-% \changes{v4.0c}{1997/02/20}{Replace \cs{tableformat} by
-% \cs{ST@tableformat} to prevent a clash with the \pkg{KOMA}
-% pacakage}
-% \changes{v4.0f}{1997/04/10}{Repaired a few typos in the
-% documentation}
-% \changes{v4.1a}{1997/09/18}{Repaired a number of typos and added
-% contributed mpsupertabular environemnts}
-% \changes{v4.1b}{1997/10/08}{Renamed \cs{@@tabularcr} to
-% \cs{org@tabularcr}}
+% \changes{v4.0a}{1996/11/28}{Cleanup of the code, now a \file{.dtx}
+% source file}
+% \changes{v4.0c}{1997/02/20}{Replace \cs{tableformat} by
+% \cs{ST@tableformat} to prevent a clash with the \pkg{KOMA}
+% pacakage}
+% \changes{v4.0f}{1997/04/10}{Repaired a few typos in the
+% documentation}
+% \changes{v4.1a}{1997/09/18}{Repaired a number of typos and added
+% contributed mpsupertabular environemnts}
+% \changes{v4.1b}{1997/10/08}{Renamed \cs{@@tabularcr} to
+% \cs{org@tabularcr}}
+% \changes{v4.2a}{2020-06-27}{renamed \cs{ST@lineht} to \cs{ST@rowht}}
+% \changes{v4.2c}{2024/07/20}{A few documentation changes}
%
% \GetFileInfo{supertabular.dtx}
% \title{The \texttt{supertabular} environment\thanks{This file
@@ -110,7 +111,13 @@
% and why \pkg{supertabular} decides to break the tabular
% environment in order to produce a new page.
% \item The option \textsf{debugshow} also adds information about
-% each line that is added to the tabular.
+% each row that is added to the tabular.
+% \item The option \textsf{estimate} (the default) has the package
+% use the old estimation-based algortihm to establish the height
+% of individual rows.
+% \item The option \textsf{calculate} has the package use the new
+% calculation-based algortihm to establish the height
+% of individual rows.
% \end{enumerate}
%
% Below is a description of the new commands and environments that
@@ -172,15 +179,15 @@
%
% \begin{itemize}
% \item When the material of a normal entry (not a p-arg) becomes
-% larger than the estimated |\ST@lineht|, overfull |\vbox|es
-% will be produced at all.
+% larger than the estimated |\ST@rowht|, overfull |\vbox|es
+% will be produced.
% \item When the last p-arg on a page gets more than 4 lines
% (probably even more than 3 lines) it will result in an overfull
% |\vbox|. Also some combinations of |\baselinestretch|
-% |\arraystretch| and a large font may lead to one line too much.
-% \item if accidentally the last line of the tabular produces a
+% |\arraystretch| and a large font may lead to one row too much.
+% \item if accidentally the last row of the tabular produces a
% newpage, on the next page the tabletail will be written
-% immediately after the tablehead. Depending on the contents this
+% immediately after the tablehead. Depending on the contents, this
% may result in an error message regarding misplaced |\noalign|.
%
% A quick but not very elegant solution: shrink the allowed height
@@ -431,6 +438,36 @@
\DeclareOption{errorshow}{\c@tracingst\z@}
\DeclareOption{pageshow}{\c@tracingst\thr@@}
\DeclareOption{debugshow}{\c@tracingst5\relax}
+% \end{macrocode}
+% In version 4.1g a new way of determining the height of the
+% average row was introduced. Instead of using an estimation, based
+% on the value of |\baselineskip| a computation was introduced,
+% based on the size of the |\strutbox|. The effect of this new
+% method was that the parial tabulars fill the page better, so less
+% \texttt{underfull vbox} message would appear. Unfortunately this
+% had a negative effect on existing documents (that don;t come out
+% like they used to) and especially when a very small font
+% (|\tiny| or |\scriptsize| was chosen for the tabular and the
+% cells contain subscripts or superscripts. It turned out that the
+% heigth and depth of a formula like $5^5_5$ exceeds the size of
+% |\strutbox|. The result is that the rows have more height (and/or
+% depth) thatn what the algorithm computed. Hence, when more rows
+% are added to the partial tabular than fit on the page. Especially
+% on the first part thisis a probem as the partial tabular becomes
+% too high and doesn't fit in the avialbale space. \TeX\ then
+% decides to move it to the next page, resulting in two
+% consecutive pages that have a lot of white space on them.
+% \changes{v4.2a}{2020-06-27}{Two new options to choose the
+% computation algorithhm}
+% \begin{macrocode}
+\DeclareOption{calculate}{\def\ST@calculate@rowht{\ST@compute@rowht}}
+\DeclareOption{estimate}{\def\ST@calculate@rowht{\ST@estimate@rowht}}
+%\def\ST@calculate@rowht{\ST@estimate@rowht}
+% \end{macrocode}
+% The default for the options is to only show errors and use the
+% old estmation algorithm (so as not to break old documents).
+% \begin{macrocode}
+\ExecuteOptions{errorshow,estimate}
\ProcessOptions
% \end{macrocode}
%
@@ -510,7 +547,7 @@
% yet be visible in the amount of space occupoed on the page
% sofar. Therefore we include the possibility to reduce the height
% of the first part of the supertabular. In order to this we need a
-% macro that indicates a aption has been put in front of the
+% macro that indicates a caption has been put in front of the
% table. We do this to reduce the risk that the first part of the
% table is too high after all and is pushed onto the next page due
% to an overfull |\vbox| condition.
@@ -523,7 +560,7 @@
% \begin{macro}{\ST@caption}
% This is a redefinition of LaTeX's |\@caption|, |\@makecaption| is
% called within a group so as not to return to |\normalsize|
-% globally. also a fix is made for the `feature' of the
+% globally. Also a fix is made for the `feature' of the
% |\@makecaption| of the document class \cls{article} and friends
% that a caption \textbf{always} gets a |\vskip 10pt| at the top
% and \textbf{none} at the bottom. If a user wants to precede his
@@ -554,14 +591,19 @@
% to \cs{@tabularcr}}
% \changes{v4.1b}{1997/10/08}{Not \cs{@tabularcr} but
% \cs{org@tabularcr}}
+% \changes{v4.2b}{2021-02-14}{When the argument is empty the internal
+% macro \cs{@tablehead} needs to be empty as well.}
% \begin{macrocode}
\newcommand\tablehead[1]{%
- \gdef\@tablehead{%
- \noalign{%
- \global\let\@savcr=\\
- \global\let\\=\org@tabularcr}%
- #1%
- \noalign{\global\let\\=\@savcr}}}
+ \def\@ST@arg{#1}%
+ \ifx\@ST@arg\@empty\gdef\@tablehead{}\else
+ \gdef\@tablehead{%
+ \noalign{%
+ \global\let\@savcr=\\
+ \global\let\\=\org@tabularcr}%
+ #1%
+ \noalign{\global\let\\=\@savcr}}%
+ \fi}
\tablehead{}
% \end{macrocode}
% It's possible to specify a different tablehead for the first
@@ -571,17 +613,22 @@
% document.
% \changes{v4.1f}{2019/01/12}{\cs{\@table@first@head} needs the same
% definition as \cs{\@tablehead} (found by FMi)}
+% \changes{v4.2b}{2021-02-14}{When the argument is empty the internal
+% macro \cs{@table@first@head} needs to be empty as well.}
% \begin{macrocode}
\newcommand\tablefirsthead[1]{%
- \gdef\@table@first@head{%
- \noalign{%
- \global\let\@savcr=\\
- \global\let\\=\org@tabularcr}%
- #1%
- \noalign{%
- \global\let\\=\@savcr
- \global\let\@table@first@head\undefined
- }}}
+ \def\@ST@arg{#1}%
+ \ifx\@ST@arg\@empty\gdef\@table@first@head{}\else
+ \gdef\@table@first@head{%
+ \noalign{%
+ \global\let\@savcr=\\
+ \global\let\\=\org@tabularcr}%
+ #1%
+ \noalign{%
+ \global\let\\=\@savcr
+ \global\let\@table@first@head\undefined
+ }}%
+ \fi}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -598,14 +645,19 @@
% to \cs{@tabularcr}}
% \changes{v4.1b}{1997/10/08}{Not \cs{@tabularcr} but
% \cs{org@tabularcr}}
+% \changes{v4.2b}{2021-02-14}{When the argument is empty the internal
+% macro \cs{@tabletail} needs to be empty as well.}
% \begin{macrocode}
\newcommand\tabletail[1]{%
- \gdef\@tabletail{%
- \noalign{%
- \global\let\@savcr=\\
- \global\let\\=\org@tabularcr}%
- #1%
- \noalign{\global\let\\=\@savcr}}}
+ \def\@ST@arg{#1}%
+ \ifx\@ST@arg\@empty\gdef\@tabletail{}\else
+ \gdef\@tabletail{%
+ \noalign{%
+ \global\let\@savcr=\\
+ \global\let\\=\org@tabularcr}%
+ #1%
+ \noalign{\global\let\\=\@savcr}}%
+ \fi}
\tabletail{}
% \end{macrocode}
% It's possible to specify a different tabletail for the last
@@ -615,17 +667,22 @@
% document.
% \changes{v4.1f}{2019/01/12}{\cs{\@table@last@tail} needs the same
% definition as \cs{\@tabletail}}
+% \changes{v4.2b}{2021-02-14}{When the argument is empty the internal
+% macro \cs{@tabletail} needs to be empty as well.}
% \begin{macrocode}
\newcommand\tablelasttail[1]{%
- \gdef\@table@last@tail{%
- \noalign{%
- \global\let\@savcr=\\
- \global\let\\=\org@tabularcr}%
- #1%
- \noalign{%
- \global\let\\=\@savcr
- \global\let\@table@last@tail\undefined
- }}}
+ \def\@ST@arg{#1}%
+ \ifx\@ST@arg\@empty\gdef\@table@last@tail{}\else
+ \gdef\@table@last@tail{%
+ \noalign{%
+ \global\let\@savcr=\\
+ \global\let\\=\org@tabularcr}%
+ #1%
+ \noalign{%
+ \global\let\\=\@savcr
+ \global\let\@table@last@tail\undefined
+ }}%
+ \fi}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -660,7 +717,7 @@
%
% \begin{macro}{\ST@trace@cr}
% A variant of |\ST@trace| that can be called from within |\\| as
-% that command is looking for an optional argument will end up
+% that command is looking for an optional argument and will end up
% scanning the next line.
% \begin{macro}{\ST@save@lineno}
% \changes{v4.1f}{2019/01/18}{Added a macro to save the current input
@@ -752,25 +809,22 @@
% \changes{v4.0b}{1997/02/04}{Removed the use of \cs{ST@pboxcorr},
% correction seems to be no longer necessary}
%
-% \begin{macro}{\ST@lineht}
+% \begin{macro}{\ST@rowht}
% \begin{macro}{\ST@stretchht}
% \changes{v4.0g}{1997/04/12}{Dimension register added}
% \begin{macro}{\ST@prevht}
% \changes{v4.0g}{1997/04/12}{Dimension register added}
-% The estimated height of a normal line is stored in
-% |\ST@lineht|. The dimension register |\ST@stretchht| is used to
-% store the difference between the `normal' line height and the
-% line height when |\arraystretch| has a non-standard value. This
-% is used in the case where p-box entries are added to the
-% tabular. The dimension register |\ST@prevht| is use to store the
-% height of the previous line to use it as an estimate for the
-% height of the next line. This is needed for a better estimate of
+% The estimated height of a normal row is stored in
+% |\ST@rowht|. The dimension register |\ST@stretchht| was used to
+% store the difference between the `normal' row height and the
+% row height when |\arraystretch| has a non-standard value. This
+% was used in the case where p-box entries are added to the
+% tabular. The dimension register |\ST@prevht| is used to store the
+% height of the previous row, to use it as an estimate for the
+% height of the next row. This is needed for a better estimate of
% when to break the tabular.
-% \changes{v4.1g}{2020/02/02}{\cs{ST@stretchht} is no longer needed,
-% will be removed in a future release}
% \begin{macrocode}
-\newdimen\ST@lineht
-%\newdimen\ST@stretchht
+\newdimen\ST@rowht
\newdimen\ST@prevht
% \end{macrocode}
% \end{macro}
@@ -907,10 +961,12 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\ST@compute@lineht}
-% \changes{v4.1g}{2020/02/02}{New macro \cs{ST@compute@lineht} to
-% replacte \cs{estimate@lineht}}
-% The height of a line in an array environemnt can be computed as:
+% \begin{macro}{\ST@compute@rowht}
+% \changes{v4.1g}{2020/02/02}{New macro \cs{ST@compute@rowht} to
+% replace \cs{ST@estimate@rowht}}
+% \changes{v4.2a}{2020-06-27}{Make sure that \cs{ST@rowht} is large
+% enough to take subscripts and superscripts into account}
+% The height of a row in an array environemnt can be computed as:
% \begin{itemize}
% \item the height of the strutbox |\ht\strutbox| (plus
% |\extrarowheight| when the \pkg{array} package is loaded),
@@ -919,34 +975,60 @@
% by |\arraystretch|.
% \end{itemize}
% \begin{macrocode}
-\def\ST@compute@lineht{%
- \ST@lineht=\ht\strutbox
+\def\ST@compute@rowht{%
+% \end{macrocode}
+% Temporarily store a formula with superscript and subscript in a
+% box in order to be able to measure its height and depth.
+% \begin{macrocode}
+ \setbox\@tempboxa=\vbox{\@arrayparboxrestore $5^5_5$}
+% \end{macrocode}
+% Use the largest height of either |\@tempboxa| or |\strutbox|.
+% \begin{macrocode}
+ \ifnum\ht\@tempboxa>\ht\strutbox
+ \ST@rowht=\ht\@tempboxa
+ \else
+ \ST@rowht=\ht\strutbox
+ \fi
+% \end{macrocode}
+% If the \textsf{array} pacakge is used we need to add the
+% value of |\extrarowheight|.
+% \begin{macrocode}
\ifx\extrarowheight\undefined\else
- \advance \ST@lineht by \extrarowheight
+ \advance \ST@rowht by \extrarowheight
+ \fi
+% \end{macrocode}
+% Also use the largest depth of either |\@tempboxa| or |\strutbox|.
+% \begin{macrocode}
+ \ifnum\dp\@tempboxa>\dp\strutbox
+ \advance\ST@rowht \dp\@tempboxa
+ \else
+ \advance\ST@rowht \dp\strutbox
\fi
- \ST@lineht = \arraystretch\ST@lineht
- \advance\ST@lineht \arraystretch\dp\strutbox
- \ST@trace\tw@{Normal Line height: \the\ST@lineht}%
+% \end{macrocode}
+% And finally multiply by |\arraystretch|.
+% \begin{macrocode}
+ \ST@rowht = \arraystretch\ST@rowht
+% \end{macrocode}
+% \begin{macrocode}
+ \ST@trace\tw@{Normal Row height: \the\ST@rowht}%
}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\estimate@lineht}
+% \begin{macro}{\ST@estimate@rowht}
% Estimates the height of normal line taking |\arraystretch| into
% account. Also computes the difference between a normal line and a
% `stretched' one.
% \changes{v4.0b}{1997/02/04}{Removed use of \cs{ST@pboxcorr}}
% \changes{v4.0g}{1997/04/12}{Added the computation of
% \cs{ST@stretchht}}
-% This macro will be removed in a future release.
+% \changes{v4.2a}{2020-06-27}{removed the computation of
+% \cs{ST@stretchht} as it is no longer used}
% \begin{macrocode}
-\def\estimate@lineht{%
- \ST@lineht=\arraystretch \baslineskp
- \global\advance\ST@lineht by 1\p@
- \ST@stretchht\ST@lineht\advance\ST@stretchht-\baslineskp
- \ifdim\ST@stretchht<\z@\ST@stretchht\z@\fi
- \ST@trace\tw@{Average line height: \the\ST@lineht}%
- \ST@trace\tw@{Stretched line height: \the\ST@stretchht}%
+\def\ST@estimate@rowht{%
+ \ST@rowht=\arraystretch \baslineskp
+ \global\advance\ST@rowht by 1\p@
+ \ST@trace\tw@{Average Row height: \the\ST@rowht}%
}
% \end{macrocode}
% \end{macro}
@@ -1071,23 +1153,23 @@
\ST@tailht=\ht\@tempboxa\advance\ST@tailht\dp\@tempboxa
\fi
% \end{macrocode}
-% We add the average height of a line to this because when we
+% We add the average height of a row to this because when we
% decide to continue the tabular we need to have enough space left
-% for one line and the tail.
+% for one row \emph{and} the tail.
% \begin{macrocode}
- \advance\ST@tailht by \ST@lineht
+ \advance\ST@tailht by \ST@rowht
\ST@trace\tw@{Height of tail: \the\ST@tailht}%
\ST@trace\tw@{Maximum height of tabular: \the\ST@pageleft}%
\@tempdima\ST@headht
% \end{macrocode}
% \changes{v4.0b}{1997/02/04}{Base the decision whether to start on a
-% new page on the total of headheight, tailht and lineht}
+% new page on the total of headheight, tailht and rowht}
% Now we decide whether we can continue on the current page or
% whether we need to start on a new page. We assume that the
% minimum height of a tabular is the height of the head, the tail
-% and one line of data. If that doesn't fit a new page is started.
+% and one row of data. If that doesn't fit a new page is started.
% \begin{macrocode}
- \advance\@tempdima\ST@lineht
+ \advance\@tempdima\ST@rowht
\advance\@tempdima\ST@tailht
\ST@trace\tw@{Minimum height of tabular: \the\@tempdima}%
\ifnum\@tempdima>\ST@pageleft
@@ -1164,7 +1246,7 @@
\global\let\@oldcr=\\
% \end{macrocode}
% Save the current value of |\baselineskip|, as we need it in the
-% calculation of the average height of a line.
+% calculation of the average height of a row.
% \begin{macrocode}
\def\baslineskp{\baselineskip}%
% \end{macrocode}
@@ -1174,9 +1256,9 @@
\ifx\undefined\@classix
% \end{macrocode}
% Save old |\@tabularcr| and insert the definition of
+% |\ST@tabularcr|.
% \changes{v4.1c}{1997/11/07}{For standard \LaTeX\ we need to change
% \cs{@@startpbox}, \emph{not} \cs{@startpbox}}
-% |\ST@tabularcr|.
% \begin{macrocode}
\let\org@tabularcr\@tabularcr
\let\@tabularcr\ST@tabularcr
@@ -1210,20 +1292,20 @@
\fi
% \end{macrocode}
% The first part of a supertabular may be moved on to the next page
-% if it doesn't fit on the current page afterall. Subsequent parts
+% if it doesn't fit on the current page after all. Subsequent parts
% can not be moved; therefor we will have to switch the definition
-% of |\ST@skippart| around.
+% of |\ST@skippage| around.
% \changes{v4.0e}{1997/04/09}{Make sure that only the first part of a
% supertabular can be moved to the next page.}
% \begin{macrocode}
\let\ST@skippage\ST@skipfirstpart
% \end{macrocode}
-% Now we can estimate the average line height and the height of the
+% Now we can estimate the average row height and the height of the
% first page of the \Lenv{supertabular}.
% \changes{v4.0i}{1997/09/18}{Added \cs{noindent}}
-% \changes{v4.1g}{2020/02/02}{Now call \cs{ST@compute@lineht}}
+% \changes{v4.1g}{2020/02/02}{Now call \cs{ST@calculate@rowht}}
% \begin{macrocode}
- \ST@compute@lineht
+ \ST@calculate@rowht
\@calfirstpageht
\noindent
}
@@ -1544,20 +1626,20 @@
% \begin{macrocode}
\def\ST@cr{%
\noalign{%
- \ifnum\ST@pboxht<\ST@lineht
+ \ifnum\ST@pboxht<\ST@rowht
% \end{macrocode}
-% If there is a non-empty line, but an empty parbox, then
-% |\ST@pboxht| might be non-zero, but too small thereby breaking
-% the algorithm. Therefor we estimate the height of the line to be
-% |\ST@lineht| in this case.
+% If there is a non-empty row, but an empty parbox, then
+% |\ST@pboxht| might be non-zero, but too small, thereby breaking
+% the algorithm. Therefor we estimate the height of the row to be
+% |\ST@rowht| in this case.
% \begin{macrocode}
- \global\advance\ST@pageleft -\ST@lineht
+ \global\advance\ST@pageleft -\ST@rowht
% \end{macrocode}
% And we store that fact in |\ST@prevht|.
-% \changes{v4.0g}{1997/04/12}{store the height of the previous line in
+% \changes{v4.0g}{1997/04/12}{store the height of the previous row in
% \cs{ST@prevht}}
% \begin{macrocode}
- \global\ST@prevht\ST@lineht
+ \global\ST@prevht\ST@rowht
\else
% \end{macrocode}
% When the parbox was not empty we take into account its height
@@ -1605,11 +1687,11 @@
\else
% \end{macrocode}
% When there is not enough space left on the current page, we start
-% a new page. To compute the amount of space need we use the
-% height of the previous line (|\ST@prevht|) as an estimation of
-% the height of the next line. If we are processing a
+% a new page. To compute the amount of space needed we use the
+% height of the previous row (|\ST@prevht|) as an estimation of
+% the height of the next row. If we are processing a
% \Lenv{mpsupertabular} we need to take the height of the footnotes
-% into account.
+% into account as well.
% \changes{v4.0g}{1997/04/12}{Leave room for both \cs{ST@tailht}
% \emph{and} \cs{ST@prevht}}
% \changes{v4.1a}{1997/09/19}{Take care of space needed for
@@ -1659,10 +1741,19 @@
% \begin{macrocode}
\global\advance\ST@pageleft\pagetotal
% \end{macrocode}
-% Then we can set |\ST@pagesofar| to $0$ and start the new page.
+% Then we can set |\ST@pagesofar| to $0$...
% \begin{macrocode}
\global\ST@pagesofar\z@
- \newpage
+% \end{macrocode}
+% ... and start the new page, but in this special case we need to
+% trigger the output routine directly by issuing a |\penalty|
+% rather than calling |\newpage| as that macro effectively issues a
+% |\vskip-\maxdepth| which makes the first two rows of the tabular
+% overlap.
+% \changes{v4.2b}{2021-02-14}{Issue a \cs{penalty} instead of
+% \cs{newpage} to trigger the output routine.}
+% \begin{macrocode}
+ \penalty -\@M
% \end{macrocode}
%
% Finally we make sure that this macro can only be executed once
diff --git a/macros/latex/contrib/supertabular/supertabular.pdf b/macros/latex/contrib/supertabular/supertabular.pdf
index 444cbfdcd7..a24a8c865c 100644
--- a/macros/latex/contrib/supertabular/supertabular.pdf
+++ b/macros/latex/contrib/supertabular/supertabular.pdf
Binary files differ
diff --git a/macros/latex/contrib/synthslant/LICENSE b/macros/latex/contrib/synthslant/LICENSE
index f8b699e6eb..888d9e68e7 100644
--- a/macros/latex/contrib/synthslant/LICENSE
+++ b/macros/latex/contrib/synthslant/LICENSE
@@ -355,11 +355,11 @@ Here is an example of such a notice and statement:
%% Copyright 2005 M. Y. Name
%
% This work may be distributed and/or modified under the
- % conditions of the LaTeX Project Public License, either version 1.3
+ % conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
- % http://www.latex-project.org/lppl.txt
- % and version 1.3 or later is part of all distributions of LaTeX
+ % https://www.latex-project.org/lppl.txt
+ % and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
diff --git a/macros/latex/contrib/synthslant/Makefile b/macros/latex/contrib/synthslant/Makefile
index d8de419230..8ef77a6982 100644
--- a/macros/latex/contrib/synthslant/Makefile
+++ b/macros/latex/contrib/synthslant/Makefile
@@ -19,8 +19,9 @@ DVIPS := dvips
DVIPS_FLAGS := -d1 # debug \special{}
-LATEX := /usr/bin/env max_print_line=2147483647 pdflatex
-LATEX_FLAGS := -file-line-error -halt-on-error -interaction=nonstopmode
+LATEX_PROPER := pdflatex
+LATEX := /usr/bin/env max_print_line=2147483647 $(LATEX_PROPER)
+LATEX_FLAGS := -file-line-error -halt-on-error -interaction=nonstopmode -output-directory=.
LATEX_RERUN_TRIGGER := '^Package rerunfilecheck Warning: File [^ ]* has changed'
LATEX_WARNING := '^LaTeX (|[A-Za-z0-9_]* )Warning:'
@@ -33,18 +34,9 @@ METAPOST := mpost
METAPOST_FLAGS := -file-line-error -interaction=nonstopmode -tex=latex
-SPELLCHECK := aspell
-SPELLCHECK_FLAGS := \
- --add-tex-command='citenum p' --add-tex-command='code p' \
- --add-tex-command='Cref p' --add-tex-command='cref p' \
- --add-tex-command='cs p' \
- --add-tex-command='DescribeEnv p' --add-tex-command='DescribeMacro p' \
- --add-tex-command='marg p' --add-tex-command='meta p' \
- --add-tex-command='oarg p' \
- --lang=en_US --mode=tex
-
-
-SOURCE_FILES := LICENSE Makefile synthslant.dtx synthslant.ins
+PROJECT_NAME := synthslant
+SOURCE_FILES := LICENSE Makefile README.md synthslant.dtx synthslant.ins
+DOCUMENTATION_FILES := synthslant-gauge.pdf synthslant.pdf
@@ -57,7 +49,7 @@ sty: synthslant.sty
.PHONY: pdf
-pdf: doc gauge
+pdf: doc gauge test
.PHONY: doc
@@ -68,19 +60,42 @@ doc: synthslant.pdf
gauge: synthslant-gauge.pdf
-.PHONY: cpio
-cpio:
- cd ..; \
- echo $(addprefix synthslant/,$(SOURCE_FILES)) | \
- cpio -o | \
- gzip > "synthslant-$$(date +%Y-%m-%d).cpio.gz"
+.PHONY: test
+test: synthslant-minimal-test.pdf
+
+
+export TEMPORARY_DIRECTORY
+
+
+.PHONY: dist
+dist:
+ $(eval TEMPORARY_DIRECTORY := $(shell mktemp -d))
+ trap '$(RM) -r $(TEMPORARY_DIRECTORY); exit 1' HUP INT QUIT TERM; $(MAKE) __dist
+ $(RM) -r $(TEMPORARY_DIRECTORY)
+
+
+.PHONY: __dist
+__dist: LATEX_FLAGS += -interaction=batchmode
+__dist: $(DOCUMENTATION_FILES)
+ test -d '$(TEMPORARY_DIRECTORY)'
+ test -w '$(TEMPORARY_DIRECTORY)'
+ mkdir $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)
+ cp $(SOURCE_FILES) $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)
+ mkdir $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)/docs
+ cp $(DOCUMENTATION_FILES) $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)/docs
+ tar czf $(PROJECT_NAME).tar.gz -C $(TEMPORARY_DIRECTORY) $(PROJECT_NAME)
-.PHONY: tar
-tar:
- cd ..; \
- tar czf "synthslant-$$(date +%Y-%m-%d).tar.gz" \
- $(addprefix synthslant/,$(SOURCE_FILES))
+.PHONY: distcheck
+distcheck: LATEX_FLAGS += -interaction=batchmode
+distcheck: dist
+ $(eval TEMPORARY_DIRECTORY := $(shell mktemp -d))
+ test -d '$(TEMPORARY_DIRECTORY)'
+ test -w '$(TEMPORARY_DIRECTORY)'
+ tar xzf $(PROJECT_NAME).tar.gz -C $(TEMPORARY_DIRECTORY)
+ $(MAKE) --directory=$(TEMPORARY_DIRECTORY)/$(PROJECT_NAME) LATEX_FLAGS='$(LATEX_FLAGS)' all
+ $(RM) -r $(TEMPORARY_DIRECTORY)
+ @printf '\n\ndistcheck passed.\n'
.PHONY: clean
@@ -91,6 +106,7 @@ clean:
$(RM) mptextmp.* mpxerr.tex
$(RM) README README.html RELEASE-HOWTO RELEASE-HOWTO.html
$(RM) compare-with-the-gimp.eps compare-with-the-gimp.png
+ $(RM) $(PROJECT_NAME).tar.gz
.PHONY: mostlyclean
@@ -99,35 +115,27 @@ mostlyclean: clean
.PHONY: maintainer-clean
maintainer-clean: mostlyclean
- $(RM) ./*.base64 ./*.ist ./*.mp ./*.sty ./*.tex
+ $(RM) ./*.base64 ./*.gst ./*.ist ./*.mp ./*.sty ./*.tex
.PHONY: perf
perf: synthslant-gauge.tex synthslant.sty
- perf stat --repeat=10 -- $(LATEX) $(LATEX_FLAGS) -interaction batchmode -draftmode $<
+ perf stat --repeat=10 -- $(LATEX) $(LATEX_FLAGS) -interaction=batchmode -draftmode $<
.PHONY: tool-check
tool-check:
- @printf '*** LATEX = "%s"\n' '$(LATEX)'
- $(LATEX) --version
+ @printf '*** LATEX_PROPER = "%s"\n' '$(LATEX_PROPER)'
+ $(LATEX_PROPER) --version
+ @printf '\n\n*** BibTeX\n'
+ bibtex --version
@printf '\n\n*** MAKEINDEX = "%s"\n' '$(MAKEINDEX)'
- $(MAKEINDEX) < /dev/null
+ $(MAKEINDEX) < /dev/null
@printf '\n\n*** METAPOST = "%s"\n' '$(METAPOST)'
$(METAPOST) --version
@printf '\n*** BASE64 = "%s"\n' '$(BASE64)'
$(BASE64) --version
- @printf '\n\nTool check passed.\n'
-
-
-.PHONY: spell-check
-spell-check:
- @sed -e '\#<DISABLE-SPELL-CHECK/>#d' \
- -e '\#<DISABLE-SPELL-CHECK>#,\#</DISABLE-SPELL-CHECK>#d' < synthslant.dtx | \
- sed -e 's/^ *%%*//' | \
- sed -e 's/\\-//g' -e 's/|[^|]*|/ /g' | \
- $(SPELLCHECK) $(SPELLCHECK_FLAGS) list | \
- sort | uniq | fmt | sed -e 's/ / /g'
+ @printf '\n\ntool check passed.\n'
.PHONY: update-docs
@@ -142,8 +150,12 @@ all: Make everything there is to make. This is the .DEFAULT_GOAL.
clean: Remove some products.
-cpio: In the parent directory create a cpio(1) archive of the
- project source files whose name is time-stamped.
+dist: Create a tar file of the project source files and the PDF
+ documentation files. The archive is in the form and has a
+ name that CTAN prefers.
+
+distcheck: Create a tar file of the project source files, unpack it in
+ a different location and build all targets.
doc: Build "synthslant.pdf" the Syntslant documentation.
@@ -160,15 +172,22 @@ pdf: Build doc: and gauge:.
sty: Only extract "synthslant.sty" from "synthslant.dtx". This
operation requires LaTeX (-> $(LATEX)) and nothing else.
-tar: In the parent directory create a tar(1) file of the project
- source files whose name is time-stamped.
+test: Run some tests. Currently only compiles a minimal document
+ to check whether "synthslant.sty" contains all the necessary
+ \RequirePackage directives.
tool-check: Check whether some of the required tools to build the
project are available.
+update-docs: Copy the documentation files into the "docs"
+ sub-directory.
+
Selected Implicit Rules
-----------------------
+%: %.html
+ Convert HTML to plain text. Requires w3m(1).
+
%.dvi %.pdf: %.dtx
Run LaTeX or pdfLaTeX (-> $(LATEX)) on dtx source until a
fix-point is reached.
@@ -177,6 +196,9 @@ Selected Implicit Rules
Run LaTeX or pdfLaTeX (-> $(LATEX)) on tex file until a
fix-point is reached.
+%.html: %.md
+ Convert markdown to HTML. Requires markdown(1).
+
%.mx.pdf: %.dvi
Convert dvi to pdf via dvipdfmx (-> $(DVIPDFMX)).
@@ -187,9 +209,9 @@ Selected Implicit Rules
Some Explicit Rules
-------------------
README.html:
- Convert "README.md" to html. Requires markdown(1).
+ Convert "README.md" to html.
-README: Convert "README.html" to plain text. Requires w3m(1).
+README: Convert "README.html" to plain text.
endef
@@ -205,8 +227,8 @@ help:
define MAKE_INDEX_AND_GLOSSARY
sed -e '/@/d' < $*.idx > ,$*.idx; mv ,$*.idx $*.idx; \
-$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s synthslant.ist -t $*.ilg -o $*.ind $*.idx; \
-$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s gglo.ist -t $*.glg -o $*.gls $*.glo
+$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s $*.ist -t $*.ilg -o $*.ind $*.idx; \
+$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s $*.gst -t $*.glg -o $*.gls $*.glo
endef
define GREP_LATEX_WARNINGS
@@ -250,7 +272,13 @@ endef
%.mps: %.mp
- $(METAPOST) -s 'outputtemplate="%j.mps"' $(METAPOST_FLAGS) $<
+ $(METAPOST) -s 'outputtemplate="%j.mps"' $(METAPOST_FLAGS) $< || { \
+ printf '=== $*.log ===\n'; \
+ cat $*.log; \
+ printf '\n\n=== mpxerr.log ===\n'; \
+ cat mpxerr.log; \
+ false; \
+ } 1>&2
%.eps: %.png
@@ -265,7 +293,8 @@ endef
-synthslant.sty synthslant.ist synthslant-gauge.tex \
+synthslant.sty synthslant.ist \
+synthslant-gauge.tex synthslant-minimal-test.tex \
compare-with-the-gimp.png.base64 shear-transform.mp title.mp: \
synthslant.ins synthslant.dtx
$(LATEX) $(LATEX_FLAGS) $<
diff --git a/macros/latex/contrib/synthslant/README.md b/macros/latex/contrib/synthslant/README.md
index 1b1c719189..efc20fd37e 100644
--- a/macros/latex/contrib/synthslant/README.md
+++ b/macros/latex/contrib/synthslant/README.md
@@ -1,3 +1,6 @@
+![distcheck status](https://github.com/cspiel/synthslant/actions/workflows/distcheck.yml/badge.svg)
+
+
# SynthSlant &ndash; Synthetic slanting of glyphs
LaTeX package `synthslant` slants short pieces of text to the right or to the left.
diff --git a/macros/latex/contrib/synthslant/RELEASE-HOWTO.md b/macros/latex/contrib/synthslant/RELEASE-HOWTO.md
deleted file mode 100644
index 13435ef66d..0000000000
--- a/macros/latex/contrib/synthslant/RELEASE-HOWTO.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# How to prepare a new release
-
-... and not make too many mistakes.
-
-
-1. Check that the work-area is clean with respect to **git**-tracked
- files.
-
- ``` git status ```
-
-1. Update the date stamp of `\ProvidesPackage`.
-
-1. (Temporarily) Zero the `\overfullrule`s of the documentation and
- the example files.
-
-1. Thoroughly clean the work-area:
-
- ```make maintainer-clean```
-
-1. Rebuild:
-
- ```make```
-
-1. Check that all _*.sty_ and _*.pdf_ files are in good shape.
-
-1. Push the documentation files created in the previous step down into
- the *docs* directory:
-
- ```make update-docs```
-
-1. Undo the `\overfullrule` change.
-
-1. Commit the changes:
-
- ```
- git add .
- ```
-
- and finally
-
- ```
- git commit
- ```
-
-1. Tag the commit with the version string of `\ProvidesPackage`:
-
- ```git tag v1.23```
-
-1. Push the changes to the public repository:
-
- ```git push origin master --tags```
diff --git a/macros/latex/contrib/synthslant/docs/index.md b/macros/latex/contrib/synthslant/docs/index.md
deleted file mode 100644
index c8c312f388..0000000000
--- a/macros/latex/contrib/synthslant/docs/index.md
+++ /dev/null
@@ -1,4 +0,0 @@
-### Package Documentation
-
-- Comprehensive `synthslant` documentation: [synthslant.pdf](https://cspiel.github.io/synthslant/synthslant.pdf)
-- `synthslant` test and demonstration: [synthslant-gauge.pdf](https://cspiel.github.io/synthslant/synthslant-gauge.pdf)
diff --git a/macros/latex/contrib/synthslant/docs/synthslant-gauge.pdf b/macros/latex/contrib/synthslant/docs/synthslant-gauge.pdf
index 425e7944ef..762c1e00a0 100644
--- a/macros/latex/contrib/synthslant/docs/synthslant-gauge.pdf
+++ b/macros/latex/contrib/synthslant/docs/synthslant-gauge.pdf
Binary files differ
diff --git a/macros/latex/contrib/synthslant/docs/synthslant.pdf b/macros/latex/contrib/synthslant/docs/synthslant.pdf
index 9b034b86c3..555101ee3c 100644
--- a/macros/latex/contrib/synthslant/docs/synthslant.pdf
+++ b/macros/latex/contrib/synthslant/docs/synthslant.pdf
Binary files differ
diff --git a/macros/latex/contrib/synthslant/synthslant.dtx b/macros/latex/contrib/synthslant/synthslant.dtx
index f5424cf7fa..6c052c64a7 100644
--- a/macros/latex/contrib/synthslant/synthslant.dtx
+++ b/macros/latex/contrib/synthslant/synthslant.dtx
@@ -3,11 +3,11 @@
% Copyright (C) 2024 by Ch. L. Spiel
%
% This work may be distributed and/or modified under the conditions
-% of the LaTeX Project Public License, either version 1.3 of this
+% of the LaTeX Project Public License, either version 1.3c of this
% license or (at your option) any later version. The latest version
% of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
+% httpc://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% \fi
@@ -26,7 +26,6 @@
\PassOptionsToClass{a4paper}{article}
\PassOptionsToPackage{hyperfootnotes=false}{hyperref}
-\PassOptionsToPackage{charter, scale=1.06}{newtxmath}
\PassOptionsToPackage{dvipsnames}{xcolor}
\usepackage{amsmath}
@@ -52,6 +51,7 @@
\newcommand*{\textls}[2][]{#2}
\fi
\usepackage{needspace}
+\usepackage[section]{placeins}
\usepackage{ragged2e}
\usepackage{setspace}
\usepackage[slant=.18, negslant=-.16]{synthslant}
@@ -65,7 +65,7 @@
\usepackage[default, lining, proportional, regular, semibold]{sourceserifpro}
\usepackage[lining, proportional, regular, semibold]{sourcesanspro}
\usepackage[lining, regular]{sourcecodepro}
-\usepackage[xcharter]{newtxmath}
+\usepackage[scaled=1.08, uprightscript, xcharter]{newtxmath}
\setstretch{1.04166}% \baselineskip: 12.5pt
@@ -74,15 +74,15 @@
\newcommand*{\fontclan}{\expandafter\@get@fontclan\f@family\relax}
\makeatother
-\newcommand*{\proportionalliningfigures}{\fontfamily{\fontclan-LF}\selectfont}
-\newcommand*{\proportionaloldstylefigures}{\fontfamily{\fontclan-OsF}\selectfont}
-\newcommand*{\tabularliningfigures}{\fontfamily{\fontclan-TLF}\selectfont}
-\newcommand*{\tabularoldstylefigures}{\fontfamily{\fontclan-TOsF}\selectfont}
+\DeclareRobustCommand{\proportionalliningfigures}{\fontfamily{\fontclan-LF}\selectfont}
+\DeclareRobustCommand{\proportionaloldstylefigures}{\fontfamily{\fontclan-OsF}\selectfont}
+\DeclareRobustCommand{\tabularliningfigures}{\fontfamily{\fontclan-TLF}\selectfont}
+\DeclareRobustCommand{\tabularoldstylefigures}{\fontfamily{\fontclan-TOsF}\selectfont}
-\newcommand*{\textdenominator}[1]{{\fontfamily{\fontclan-Dnom}\selectfont #1}}
-\newcommand*{\textinferior}[1]{{\fontfamily{\fontclan-Inf}\selectfont #1}}
-\newcommand*{\textnumerator}[1]{{\fontfamily{\fontclan-Numr}\selectfont #1}}
-\newcommand*{\textsuperior}[1]{{\fontfamily{\fontclan-Sup}\selectfont #1}}
+\DeclareRobustCommand{\textdenominator}[1]{{\fontfamily{\fontclan-Dnom}\selectfont #1}}
+\DeclareRobustCommand{\textinferior}[1]{{\fontfamily{\fontclan-Inf}\selectfont #1}}
+\DeclareRobustCommand{\textnumerator}[1]{{\fontfamily{\fontclan-Numr}\selectfont #1}}
+\DeclareRobustCommand{\textsuperior}[1]{{\fontfamily{\fontclan-Sup}\selectfont #1}}
\newcommand*{\nativetextfraction}[2]
{\mbox{\textnumerator{#1}\textfractionsolidus\textdenominator{#2}}}
@@ -92,21 +92,23 @@
\newenvironment*{tabfigures}
{\edef\rmdefault{\fontclan-T\sourceserifpro@figurestyle}\rm\ignorespaces}
{\ignorespacesafterend}
-
-\newcommand*{\elseries}{\def\mdseries@rm{el}\def\mdseries@sf{el}\def\mdseries@tt{el}}
-\newcommand*{\textel}[1]{{\elseries\textmd{#1}}}
-\newcommand*{\lseries}{\def\mdseries@rm{l}\def\mdseries@sf{l}\def\mdseries@tt{l}}
-\newcommand*{\textl}[1]{{\lseries\textmd{#1}}}
-%%--\newcommand*{\mdseries}{\def\mdseries@rm{m}\def\mdseries@sf{m}\def\mdseries@tt{m}}
-%%--\newcommand*{\textmd}[1]{{\mdseries\textmd{#1}}}
-\newcommand*{\sbseries}{\def\bfseries@rm{sb}\def\bfseries@sf{sb}\def\bfseries@tt{sb}}
-\newcommand*{\textsb}[1]{{\sbseries\textbf{#1}}}
-\newcommand*{\bseries}{\def\bfseries@rm{b}\def\bfseries@sf{b}\def\bfseries@tt{b}}
-\newcommand*{\textb}[1]{{\bseries\textbf{#1}}}
-\newcommand*{\ebseries}{\def\bfseries@rm{k}\def\bfseries@sf{eb}\def\bfseries@tt{k}}
-\newcommand*{\texteb}[1]{{\ebseries\textbf{#1}}}
\makeatother
+\DeclareRobustCommand{\elseries}{\fontseries{el}\selectfont}
+\DeclareTextFontCommand{\textel}{\elseries}
+\DeclareRobustCommand{\lseries}{\fontseries{l}\selectfont}
+\DeclareTextFontCommand{\textl}{\lseries}
+%%--\DeclareRobustCommand{\mdseries}{\fontseries{m}\selectfont}
+%%--\DeclareTextFontCommand{\textmd}{\mdseries}
+\DeclareRobustCommand{\sbseries}{\fontseries{sb}\selectfont}
+\DeclareTextFontCommand{\textsb}{\sbseries}
+\DeclareRobustCommand{\bseries}{\fontseries{b}\selectfont}
+\DeclareTextFontCommand{\textb}{\bseries}
+\DeclareRobustCommand{\ebseries}{\fontseries{eb}\selectfont}
+\DeclareTextFontCommand{\texteb}{\ebseries}
+\DeclareRobustCommand{\ubseries}{\fontseries{k}\selectfont}
+\DeclareTextFontCommand{\textub}{\ubseries}
+
\usepackage{cleveref}
@@ -119,7 +121,7 @@
citecolor = blue,
colorlinks = true,
linkcolor = blue,
- linktocpage = false,
+ linktocpage = true,
pdfauthor={Dr. Christoph L. Spiel},
pdfcreationdate={\pdffiledate},
pdfkeywords={LaTeX, font, italic, oblique, slant, upright},
@@ -131,9 +133,94 @@
}
+\SetExtraKerning[context=drop-left-sidebearing, name=source-code-normal, unit=space]
+ {font={T1/SourceCodePro-LF/m/n/44, T1/SourceCodePro-TLF/m/n/44}}
+ {
+ 1={-150,},
+ 2={-120,},
+ 3={-120,},
+ 4={-40,},
+ A={-100,},
+ B={-170,}
+ }
+
+\newlength{\sectiontocindent}
+\newlength{\sectionnumberwidth}
+\newlength{\subsectiontocindent}
+\newlength{\subsectionnumberwidth}
+\newlength{\subsubsectiontocindent}
+\newlength{\subsubsectionnumberwidth}
+
+\setlength{\sectiontocindent}{0pt}
+\setlength{\sectionnumberwidth}{40pt}
+\setlength{\subsectiontocindent}{40pt}
+\setlength{\subsectionnumberwidth}{25pt}
+\setlength{\subsubsectiontocindent}{65pt}
+\setlength{\subsubsectionnumberwidth}{30pt}
+
\makeatletter
-\renewcommand*{\@dotsep}{10000} % suppress leaders
-\patchcmd{\@dottedtocline}{\normalfont}{\bfseries}{\relax}{\PatchingFailed}
+\renewcommand*{\l@section}[2]
+ {\ifnum \c@tocdepth >\z@
+ \addpenalty\@secpenalty
+ \addvspace{1.0em \@plus\p@}%
+ \setlength{\@tempdima}{\sectionnumberwidth}%
+ \begingroup
+ \def\numberline##1{\hb@xt@\@tempdima{%
+ \tt\lseries
+ \fontsize{44}{0}\selectfont
+ \microtypecontext{kerning=drop-left-sidebearing}%
+ \iffalse\raisebox{-30pt}[0pt][0pt]{\rule{0.1pt}{40pt}}\fi
+ \textcolor{customred3}{##1}%
+ \hfil}}%
+ \parindent \z@
+ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ \bfseries
+ \iffalse
+ \nobreak\hfil
+ \nobreak\hb@xt@\@pnumwidth{\hss #2\kern-\p@\kern\p@}%
+ \else
+ {\sffamily\large #1}\quad
+ {#2}\hfil\hbox{}
+ \fi
+ \par
+ \endgroup
+ \fi}
+
+\renewcommand*{\@dottedtocline}[5]
+ {\ifnum #1>\c@tocdepth
+ \else
+ \vskip \z@ \@plus.2\p@
+ \begingroup
+ \leftskip #2\relax
+ \rightskip \@tocrmarg
+ \parfillskip -\rightskip
+ \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@tempdima #3\relax
+ \advance\leftskip \@tempdima
+ \null\nobreak
+ \hskip -\leftskip
+ {#4}\nobreak
+ \iffalse
+ \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill
+ \nobreak\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5\kern-\p@\kern\p@}%
+ \else
+ \hbox{\quad\normalfont\bfseries #5}\nobreak\hfill\hbox{}%
+ \fi
+ \par
+ \endgroup
+ \fi}
+
+\renewcommand*{\l@subsection}{\@dottedtocline{2}{\subsectiontocindent}{\subsectionnumberwidth}}
+\renewcommand*{\l@subsubsection}{\@dottedtocline{3}{\subsubsectiontocindent}{\subsubsectionnumberwidth}}
+\newrobustcmd*{\tocsquashedsubsections}
+ {\def\l@subsection{\@dottedtocline{2}{0pt}{\subsubsectionnumberwidth}}%
+ \def\l@subsubsection{\@dottedtocline{3}{0pt}{\subsubsectionnumberwidth}}}
\makeatother
@@ -156,8 +243,10 @@
\newcommand*{\floatcaptionwidth}{.79\textwidth}
-\captionsetup[figure]{font=small, justification=centerlast, labelfont=sc, width=\floatcaptionwidth}
-\captionsetup[table]{font=small, justification=centerlast, labelfont=sc, width=\floatcaptionwidth}
+\captionsetup[figure]{font=small, justification=centerlast,
+ labelfont=sc, width=\floatcaptionwidth}
+\captionsetup[table]{font=small, justification=centerlast,
+ labelfont=sc, width=\floatcaptionwidth}
\newsavebox{\listlabelbox}
@@ -188,13 +277,15 @@
\fancypagestyle{pagenumberonly}{
+ \fancyhf{}
\fancyhead[L]{}
\fancyhead[R]{\thepage}
}
-\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[L]{\rightmark}
-\fancyhead[R]{\textsf{\thepage}}
+\fancypagestyle{fancy}{
+ \fancyhf{}
+ \fancyhead[L]{\rightmark}
+ \fancyhead[R]{\thepage}
+}
\newcommand*{\resetfancyhead}
{\fancyhead[L]{\textsf{\textsc{\textls[20]{\nouppercase\rightmark}}}}}
@@ -236,12 +327,9 @@
\pretocmd{\DescribeMacro}{\needspace{25pt}}{\relax}{\PrependingFailed}
-\setcounter{IndexColumns}{2}
-
-
\setlength{\columnsep}{20pt}
\setlength{\skip\footins}{25pt}
-\setlength{\overfullrule}{3pt}
+\setlength{\overfullrule}{0pt}
@@ -273,15 +361,19 @@
\newcommand*{\citenum}[1]{\@nameuse{b@#1}}
\makeatother
-\def\code#1{\texttt{#1}}
+\renewcommand*{\code}[1]{\texttt{#1}}
+
+\newcommand*{\codelineindicator}{\mbox{\small$\mathscr{l}$}}
\newrobustcmd*{\command}[1]{\mbox{\textbf{#1}}}
\newcommand*{\degree}{{}^\circ}
+\newcommand*{\detoxindex}[1]{\index{\detokenize{#1}}}
+
\newcommand*{\doublequotes}[1]{\guillemetright\kern-.03333em #1\guillemetleft}
-\newcommand*{\dumpmacro}[1]{\texttt{\detokenize\expandafter{#1}}}
+\newcommand*{\dumpmacro}[1]{\texttt{\detokenize\expandafter{#1}\unskip}}
\newcommand*{\filesystem}[1]{\mbox{\textit{#1\/}}}
@@ -295,12 +387,48 @@
\renewcommand*{\fps@table}{htbp}
\makeatother
+\apptocmd{\GlossaryParms}
+ {\RaggedRight\normalsize}
+ {\relax}
+ {\AppendingFailed}
+
+\let\oldhdclindex=\hdclindex
+\renewcommand*{\hdclindex}[2]
+ {\ifstrequal{#2}{code}
+ {\oldhdclindex{#1}{codeidx}}
+ {\oldhdclindex{#1}{#2}}}
+
+\let\oldhdpindex=\hdpindex
+\renewcommand*{\hdpindex}[2]{\textbf{\oldhdpindex{#1}{#2}}}
+
\newcommand*{\hollowrectangle}[2]
{\setlength{\fboxrule}{.5pt}%
\setlength{\fboxsep}{0pt}%
\framebox{\rule{#1}{0pt}\rule{0pt}{#2}}}
\newcommand*{\hollowsquare}[1]{\hollowrectangle{#1}{#1}}
+\apptocmd{\IndexParms}
+ {\RaggedRight\small}
+ {\relax}
+ {\AppendingFailed}
+
+\makeatletter
+\ExplSyntaxOn
+\apptocmd{\index@prologue}
+ {\legacy_if:nTF {codeline@index}
+ {We\space prefix\space all\space references\space
+ to\space code\space lines\space with~\singlequotes{\codelineindicator}.}
+ {}}
+ {\relax}
+ {\AppendingFailed}
+
+\newcommand*{\linenumberdecoration}
+ {\legacy_if:nTF {codeline@index}
+ {\codelineindicator}
+ {}}
+\ExplSyntaxOff
+\makeatother
+
\newcommand*{\logmacro}[1]
{\ifdef{#1}
{\message{^^JDump of macro \string#1 follows.^^J}
@@ -314,6 +442,24 @@
\begin{fullwidth}}
{\end{fullwidth}}
+
+\let\originalmulticols=\multicols
+\let\endoriginalmulticols=\endmulticols
+\RenewDocumentEnvironment{multicols}{m o o}
+ {\ifnum #1=1
+ \IfNoValueTF{#2}{\relax}{#2}%
+ \else
+ \IfNoValueTF{#2}
+ {\originalmulticols{#1}}
+ {\originalmulticols{#1}[#2]}%
+ \fi}
+ {\ifnum #1=1
+ \relax
+ \else
+ \endoriginalmulticols
+ \fi}
+
+
\newenvironment*{multilinecodeexample}
{\begin{quote}\tt
\def\indent{\mbox{}\hspace{25pt}}%
@@ -409,7 +555,7 @@
\newenvironment*{specialcodesection}[1]
{\Needspace{4\baselineskip}%
\begin{tcolorbox}[colback=white, colframe=\markercolor,
- bottomrule=0pt, leftrule=5pt, rightrule=0pt, toprule=0pt]
+ bottomrule=.5pt, leftrule=5pt, rightrule=.5pt, toprule=.5pt]
\sffamily
\begin{list}
{\specialcodesectionheading{#1}}
@@ -464,6 +610,12 @@
\newcommand*{\tikzlogo}{\textrm{Ti\textit{k\/}Z}}
+\newcommand*{\toccontinuesonnextpage}
+ {\addtocontents{toc}{\par
+ \bigskip
+ \hfill\textit{Table of Contents continued on next page.}\par
+ \clearpage}}
+
\newcommand*{\topstrut}{\rule{0pt}{1.3em}}
\newcommand*{\transpose}[1]{{#1}^{\text{T}}}
@@ -477,6 +629,12 @@
\copy0\kern\ttellipsisgap
\box0\kern\ttellipsisgap}
+\newcommand*{\unmarkedfntext}[1]
+ {{\def\thefootnote{}\footnote{#1}%
+ \addtocounter{footnote}{-1}}}
+
+\newcommand*{\userman}[1]{\textbf{\hyperpage{#1}}}
+
\newcommand*{\visualpar}{\textcolor{\markercolor}{\P}\linebreak[1]\enspace}
\newenvironment*{widecodeexample}
@@ -491,6 +649,15 @@
\hyphenation{% https://hyphenateit.com/en-us
+ neg-slant-context
+ neg-slant-environment
+ slant-context
+ slant-environment
+ synth-neg-slant
+ synth-slant
+ synth-slant-box
+ text-synth-slant
+ text-synth-upright-italic
}
@@ -515,12 +682,33 @@
%</driver>
%<*index-style>
actual '='
+delim_0 "\\nobreak\\enspace"
+delim_1 "\\nobreak\\enspace"
+delim_2 "\\nobreak\\enspace"
heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
heading_suffix "}\\nopagebreak\n"
headings_flag 1
level '>'
+line_max 65536
quote '!'
%</index-style>
+%<*changes-style>
+actual '='
+delim_0 "\\nobreak\\enspace"
+delim_1 "\\nobreak\\enspace"
+delim_2 "\\nobreak\\enspace"
+heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
+heading_suffix "}\\nopagebreak\n"
+headings_flag 0
+item_x1 "\\efill\n\\subitem "
+item_x2 "\\ "
+keyword "\\glossaryentry"
+level '>'
+line_max 65536
+postamble "\n\\end{theglossary}\n"
+preamble "\\begin{theglossary}\n \\makeatletter\\scan@allowedfalse"
+quote '!'
+%</changes-style>
% \fi
%
%
@@ -530,7 +718,7 @@ quote '!'
% \DoNotIndex{\edef,\else}
% \DoNotIndex{\endgroup,\endmicrotypecontext,\endnegslantenvironment,\endslantenvironment}
% \DoNotIndex{\expandafter,\ExplSyntaxOff,\ExplSyntaxOn}
-% \DoNotIndex{\fi,\font,\fontdimen,\fontspec,\fp}
+% \DoNotIndex{\fi,\font,\fontdimen,\fontspec,\fp,\fpeval}
% \DoNotIndex{\hbox,\hskip}
% \DoNotIndex{\ifcase,\ifcsdef,\ifdefined,\ifluatex,\ifmmode,\ifnum,\ifpdftex,\ifx,\itshape}
% \DoNotIndex{\kern}
@@ -540,16 +728,17 @@ quote '!'
% \DoNotIndex{\newbox,\newcommand,\NewDocumentCommand,\NewDocumentEnvironment,\newenvironment,\newrobustcmd}
% \DoNotIndex{\node,\nolinebreak}
% \DoNotIndex{\or}
-% \DoNotIndex{\PackageInfo,\PackageWarning,\ProcessOptionsX,\providecommand,\ProvidesPackage}
+% \DoNotIndex{\PackageError,\PackageInfo,\PackageWarning,\ProcessOptionsX,\providecommand,\ProvidesPackage}
% \DoNotIndex{\pdfoutput,\pdfrestore,\pdfsave,\pdfsetmatrix,\pstilt}
% \DoNotIndex{\relax,\RequirePackage}
-% \DoNotIndex{\sbox,\skip,\space}
+% \DoNotIndex{\sbox,\skip,\space,\string}
% \DoNotIndex{\tikz}
% \DoNotIndex{\upshape,\usebox}
% \DoNotIndex{\wd}
+% \DoNotIndex{\xdef}
%
%
-% \changes{v0.1}{2024-2-12}{Initial version}
+% \changes{v0.1}{2024-2-12}{Initial version.}
%
%
% \pagenumbering{roman}
@@ -636,39 +825,83 @@ end
% \footnotesize
% \noindent
% This package is copyright \textcopyright~2024 Ch.~L.~Spiel. It may be distributed and/or
-% modified under the conditions of the \LaTeX{} Project Public License \acronym{(LPPL)},
-% either version~1.3c of this license or --~at your option~-- any later version. This work
-% has the \acronym{LPPL} maintenance status \doublequotes{author-maintained}.\par
+% modified under the conditions of the \href{https://www.latex-project.org/lppl.txt}{\LaTeX{}
+% Project Public License} \acronym{(LPPL)}, either version~1.3c of this license or --~at your
+% option~-- any later version. This work has the \acronym{LPPL} maintenance status
+% \doublequotes{author-maintained}.\par
% \endgroup
%
%
% \clearpage
-% \thispagestyle{pagenumberonly}
-% \tableofcontents
+% \pagestyle{pagenumberonly}
%
-% \vspace{\fill}
-%
-% \begingroup
-% \footnotesize
-% \singlespacing
-% \noindent
-% The font samples~\singlequotes{fga} on the title page
-% were generated with the help of \MP{} using \doublequotes{\acronym{URW} Palladio~L}
-% in styles~\singlequotes{roman} and~\singlequotes{italic}.
-% The affine transformations were \code{slanted .2} for the slanted roman and
-% \code{slanted -.2} for the upright italics.\par
-% \endgroup
+% \unmarkedfntext{The font samples~\singlequotes{fga} on the title page were generated with the
+% help of \MP{} using \doublequotes{\acronym{URW} Palladio} in styles~\singlequotes{roman}
+% and~\singlequotes{italic}. The affine transformations were\enspace \code{slanted
+% .2}\enspace for the slanted roman and\enspace \code{slanted -.2}\enspace for the upright
+% italics.}
+% \tableofcontents
%
%
% \clearpage
-% \thispagestyle{pagenumberonly}
% \listoftables
% \bigskip
% \listoffigures
%
%
% \clearpage
+% \phantomsection
+% \addcontentsline{toc}{section}{\numberline{}Quick Reference}
+% \addtocontents{toc}{\medskip}
+% \section*{Quick Reference}
+%
+% Alphabetically sorted list of all user macros and environments defined by
+% package~\packagename{synthslant}. The list of all package options can be found on
+% \cpageref{sec:package-options} and \pageref{secend:package-options}. The
+% \hyperref[sec:index]{Index} on pages~\pageref{sec:index} to~\pageref{secend:index} may
+% provide some more detailed insights.
+%
+% \begin{list}{}{\itemindent=-\leftmargin \itemsep=4.5pt plus 2pt minus 1pt}
+% \NewDocumentCommand{\qritem}{m m O{}}
+% {\item
+% \hyperref[#1]{#2}#3\relax
+% \def\qrref{\cpageref{#1}}\par\ignorespaces}
+% \qritem{syn:negslantcontext}{\cs{negslantcontext}}
+% Name of the \packagename{microtype} context used when typesetting backward slanted
+% text~(\qrref)
+%
+% \qritem{syn:negslantenvironment}{\code{negslantenvironment}}
+% Wrapper around \cs{synthslantbox} when slanting backward with
+% \cs{textsynthuprightitalic}~(\qrref)
+%
+% \qritem{syn:slantcontext}{\cs{slantcontext}}
+% Name of the \packagename{microtype} context used when typesetting forward slanted
+% text~(\cpageref{syn:slantcontext})
+%
+% \qritem{syn:slantenvironment}{\code{slantenvironment}}
+% Wrapper around \cs{synthslantbox} when slanting forward with
+% \cs{textsynthslant}~(\qrref)
+%
+% \qritem{syn:synthnegslant}{\cs{synthnegslant}}
+% Slant value used by \cs{textsynthuprightitalic}~(\qrref)
+%
+% \qritem{syn:synthslantbox}{\cs{synthslantbox}}[\marg{slant}\marg{text}]
+% Slant \meta{text} (forward or backward) with \meta{slant}~(\qrref)
+%
+% \qritem{syn:synthslant}{\cs{synthslant}}
+% Slant value used by \cs{textsynthslant}~(\qrref)
+%
+% \qritem{syn:textsynthslant}{\cs{textsynthslant}}[\marg{text}]
+% Forward slant upright glyphs~(\qrref)
+%
+% \qritem{syn:textsynthuprightitalic}{\cs{textsynthuprightitalic}}[\marg{text}]
+% Backward slant italics or oblique glyphs~(\qrref)
+% \end{list}
+%
+%
+% \clearpage
% \pagenumbering{arabic}
+% \pagestyle{fancy}
% \section{Introduction}\label{sec:introduction}
%
% The \packagename{synthslant} package provides a translator (e.\,g.~\LaTeX, \pdfLaTeX, or
@@ -688,8 +921,8 @@ end
%
% \subsection{Appeal for Artificially Slanted Type}\label{sec:appleal-for-artificially-slanted}
%
-% Artificially slanted type have a bad reputation. Whenever there is an order to round up the
-% usual font suspects synthetically slanted, bolded\footnote{Package~\packagename{amsbsy}
+% Artificially slanted type have a lousy reputation. Whenever there is an order to round up
+% the usual font suspects synthetically slanted, bolded\footnote{Package~\packagename{amsbsy}
% defines a \doublequotes{Poor Man's Bold} macro~\cs{pmb} that works by
% \singlequotes{overprinting}. The authors of \packagename{amsbsy} recommend to prefer
% package~\packagename{bm} for bold mathematical symbols, though.}, and condensed type along
@@ -699,8 +932,9 @@ end
% condescension for synthetic bold and condensed variants. They spoil the glyphs' outline
% because they do not (and cannot) conserve the necessary proportions. For small-caps the
% problems are somewhat minor and I wonder how far one could get with an
-% \propername{OpenType}~font that supports a \code{size}~axis\index{font>axis>size=\code{size}}
-% as well as an \code{opsz}~axis\index{font>axis>opsz=\code{opsz}} in the necessary ranges to
+% \propername{OpenType}~font that supports a
+% \code{size}~axis\index{font>axis>size=\code{size}|userman} as well as an
+% \code{opsz}~axis\index{font>axis>opsz=\code{opsz}|userman} in the necessary ranges to
% construct convincing small-caps out of the multiple-master font.
%
% In my view artificial slanting keeps much of the font's character intact. In fact one
@@ -741,13 +975,14 @@ end
%
% Some fonts in current \LaTeX{} distributions offer slanted series right out of the box.
% \foreignphrase{Eureka!} In particular the oldest (and once upon a time the only) font family
-% shipping with \TeX, \href{https://tug.org/FontCatalogue/cmrfonts.html}{Computer Modern
-% Roman}\index{font>Computer Modern Roman} --~nowadays member of the \acronym{CM}-Super
-% family~-- is available in a deluge of almost thirty shapes. It covers not just slanted roman
-% or slanted smallcaps but also slanted typewriter and somewhat surprisingly upright italics.
-% Furthermore, the \LaTeXe{} font selection scheme provisions \singlequotes{\code{sl}} for
-% slanted shapes and \singlequotes{\code{ui}} for upright italics~\cite{fntguide}. The former
-% is accompanied by the macros~\cs{slshape} and~\cs{textsl}.
+% shipping with \TeX, \href{https://tug.org/FontCatalogue/cmrfonts.html}{\acronym{CM}
+% Roman}\index{font>typeface>CM Roman=\acronym{CM} Roman|userman} --~nowadays member of the
+% \acronym{CM}-Super family~-- is available in a deluge of almost thirty shapes. It covers not
+% just slanted roman or slanted smallcaps but also slanted typewriter and somewhat surprisingly
+% upright italics. Furthermore, the \LaTeXe{} font selection scheme provisions
+% \singlequotes{\code{sl}} for slanted shapes and \singlequotes{\code{ui}} for upright
+% italics~\cite{fntguide}. The former is accompanied by the macros~\cs{slshape}
+% and~\cs{textsl}.
%
% \begin{wraptable}{r}{.382\textwidth}
% \renewcommand*{\floatcaptionwidth}{\textwidth}
@@ -759,15 +994,15 @@ end
%
% \begin{tabular}{@{}l@{}}
% \toprule
-% Font Name \\
+% Font \\
% \midrule
-% Cairo\index{font>Cairo} \\
-% Commissioner\index{font>Commissioner} \\
-% Geologica\index{font>Geologica} \\
-% Gluten\index{font>Gluten} \\
-% Inter\index{font>Inter} \\
-% Recursive\index{font>Recursive} \\
-% Roboto Flex\index{font>Roboto Flex} \\
+% Cairo\index{font>typeface>Cairo|userman} \\
+% Commissioner\index{font>typeface>Commissioner|userman} \\
+% Geologica\index{font>typeface>Geologica|userman} \\
+% Gluten\index{font>typeface>Gluten|userman} \\
+% Inter\index{font>typeface>Inter|userman} \\
+% Recursive\index{font>typeface>Recursive|userman} \\
+% Roboto Flex\index{font>typeface>Roboto Flex|userman} \\
% \bottomrule
% \end{tabular}
% \end{wraptable}
@@ -781,8 +1016,9 @@ end
% \code{slnt}-axis} or fonts with an \href{https://v-fonts.com/tags/C5}{unusual variation} at
% \href{https://v-fonts.com/}{Variable Fonts}.} that offer a slant-axis\footnote{The
% registered axis is called \code{slnt} and it is not to be confused with the
-% \code{ital}~axis.}\index{font>axis>slant=\code{slant}}\index{font>axis>ital=\code{ital}} that
-% can be controlled with \packagename{fontspec}'s\index{package>\packagename{fontspec}}
+% \code{ital}~axis.}\index{font>axis>slant=\code{slant}|userman}\index{font>axis>ital=\code{ital}|userman}
+% that can be controlled with
+% \packagename{fontspec}'s\index{package>fontspec=\packagename{fontspec}|userman}
% \code{Slant}\footnote{Since \packagename{fontspec} version~2.9a as of 2024/2/13.}~key and
% \cref{tab:slanted-series-fonts} for a rather incomplete list of fonts that are shipped with
% slanted shapes. For these fonts \packagename{synthslant} is largely superfluous unless
@@ -801,35 +1037,35 @@ end
%
% \begin{tabular}[t]{@{}p{12em}@{}}
% \toprule
-% Font Name \\
+% Font \\
% \midrule
-% Arvo\index{font>Arvo} \\
-% Computer Modern Roman\index{font>Computer Modern Roman} \\
-% Domitian\index{font>Domitian} \\
-% Droid Serif\index{font>Droid Serif} \\
-% Erewhon\index{font>Erewhon} \\
-% Extended Charter\index{font>Extended Charter} \\
-% \acronym{GFS} Artemisia\index{font>GFS Artemisia=\acronym{GFS} Artemisia} \\
-% \acronym{GFS} Bodoni\index{font>GFS Bodoni=\acronym{GFS} Bodoni} \\
-% \acronym{GFS} Didot\index{font>GFSDidot=\acronym{GFS} Didot} \\
+% Arvo\index{font>typeface>Arvo|userman} \\
+% \acronym{CM} Roman\index{font>typeface>CM Roman=\acronym{CM} Roman|userman} \\
+% Domitian\index{font>typeface>Domitian|userman} \\
+% Droid Serif\index{font>typeface>Droid Serif|userman} \\
+% Erewhon\index{font>typeface>Erewhon|userman} \\
+% Extended Charter\index{font>typeface>Extended Charter|userman} \\
+% \acronym{GFS} Artemisia\index{font>typeface>GFS Artemisia=\acronym{GFS} Artemisia|userman} \\
+% \acronym{GFS} Bodoni\index{font>typeface>GFS Bodoni=\acronym{GFS} Bodoni|userman} \\
+% \acronym{GFS} Didot\index{font>typeface>GFS Didot=\acronym{GFS} Didot|userman} \\
% \\
% \bottomrule
% \end{tabular}
% \qquad
% \begin{tabular}[t]{@{}p{12em}@{}}
% \toprule
-% Font Name \\
+% Font \\
% \midrule
-% Cabin\index{font>Cabin} \\
-% Clear Sans\index{font>Clear Sans} \\
-% Cuprum\index{font>Cuprum} \\
-% Fira Sans\index{font>Fira Sans} \\
-% Gandhi Sans\index{font>Gandhi Sans} \\
-% \acronym{Inria} Sans\index{font>Inria Sans=\acronym{Inria} Sans} \\
-% Lato\index{font>Lato}\itshapemark \\
-% Montserrat\index{font>Montserrat} \\
-% \acronym{PT} Sans\index{font>PT Sans=\acronym{PT} Sans} \\
-% Source Sans Pro\index{font>Source Sans Pro} \\
+% Cabin\index{font>typeface>Cabin|userman} \\
+% Clear Sans\index{font>typeface>Clear Sans|userman} \\
+% Cuprum\index{font>typeface>Cuprum|userman} \\
+% Fira Sans\index{font>typeface>Fira Sans|userman} \\
+% Gandhi Sans\index{font>typeface>Gandhi Sans|userman} \\
+% \acronym{Inria} Sans\index{font>typeface>Inria Sans=\acronym{Inria} Sans|userman} \\
+% Lato\itshapemark\index{font>typeface>Lato|userman} \\
+% Montserrat\index{font>typeface>Montserrat|userman} \\
+% \acronym{PT} Sans\index{font>typeface>PT Sans=\acronym{PT} Sans|userman} \\
+% Source Sans Pro\index{font>typeface>Source Sans Pro|userman} \\
% \bottomrule
% \end{tabular}
%
@@ -852,15 +1088,16 @@ end
% \pdfTeX~version~1.40.0~\cite{schroeder:2007}.} With the help of the latter affine
% transformations of arbitrary content can be coded directly by setting the transformation
% matrix. A slight variant of his code is used in this package for the \acronym{PDF}- and
-% \packagename{l3draw}\index{package>\packagename{l3draw}}-slant~engines. The implementations
-% for \pstrickslogo, \tikzlogo{}, and \packagename{fontspec}\packagename{fontspec} are trivial
-% as they build upon shear~functions supplied by the respective packages.
+% \packagename{l3draw}\index{package>l3draw=\packagename{l3draw}|userman}-slant~engines. The
+% implementations for \pstrickslogo, \tikzlogo{}, and
+% \packagename{fontspec}\packagename{fontspec} are trivial as they build upon shear~functions
+% supplied by the respective packages.
%
%
% \subsection{Shear Transformation, Slant, and Angle}\label{sec:shear-transformation}
%
-% \index{slant>operation}
-% \index{shear>transformation}
+% \index{slant>operation|userman}
+% \index{shear>transformation|userman}
% Mathematically the slant operation is a shear transformation, which can be expressed with the
% equation
% \begin{equation}\label{equ:shear-transformation}
@@ -1018,7 +1255,7 @@ end
% For \(\alpha = 0\) the shear matrix becomes the identity matrix. Throughout of
% \packagename{synthslant} we work with the \meta{slant} which is \(\sin \alpha\) in
% \cref{equ:shear-transformation} and avoid converting back and forth to the
-% \index{shear>angle}shear angle~\(\alpha\).\footnote{At least one slant engine currently
+% \index{shear>angle|userman}shear angle~\(\alpha\).\footnote{At least one slant engine currently
% requires such a conversion, namely~\pstrickslogo. The math is hidden from the user, though.}
% Some values for orientation: \mbox{\(\sin 5.74\degree \approx .1\)}, \mbox{\(\sin 11.5\degree
% \approx .2\)}, and \mbox{\(\sin 17.5\degree \approx .3\)}.\footnote{For small
@@ -1038,8 +1275,8 @@ end
% \begin{enumerate}
% \item\label{it:no-italics}
% Generate a slanted serif in the unfortunate situation when a serif font comes without
-% italics such as \singlequotes{\acronym{URW}~Antiqua}\index{font>URW Antiqua=\acronym{URW}
-% Antiqua}.
+% italics such as
+% \singlequotes{\acronym{URW}~Antiqua}\index{font>typeface>URW Antiqua=\acronym{URW} Antiqua|userman}.
%
% Here, the user is relatively free to choose a \meta{slant}, for there are no italics whose
% angle must be matched. \packagename{Synthslant}'s default of~.2 should be a good starting
@@ -1053,8 +1290,8 @@ end
%
% \item\label{it:correct-italics-angle}
% An italics shape that has an excessive slant angle, as
-% e.\,g.~\singlequotes{Libre~Caslon}\index{font>Libre Caslon} may be corrected, i.\,e.,
-% partially un-slanted.
+% e.\,g.~\singlequotes{Libre~Caslon}\index{font>typeface>Libre Caslon|userman} may be corrected,
+% i.\,e., partially un-slanted.
%
% In this case, and generally if a font as a whole needs to be corrected, an alternative
% approach like the one sketched in \cref{sec:alternative} on \cpageref{sec:alternative} may
@@ -1062,16 +1299,16 @@ end
%
% \item\label{it:generate-sole-obliques}
% Generate an oblique sans-serif if a sans-serif font comes without an oblique shape as,
-% e.\,g., \singlequotes{\acronym{URW}~Grotesk}.\index{font>URW Grotesk=\acronym{URW} Grotesk}
+% e.\,g., \singlequotes{\acronym{URW}~Grotesk}.\index{font>typeface>URW Grotesk=\acronym{URW} Grotesk|userman}
%
% \item\label{it:generate-extra-obliques}
% Supply a slanted sans-serif shape for sans-serif fonts with designed, this is \emph{true}
-% obliques as e.\,g.~\singlequotes{Open Sans}.\index{font>Open Sans}
+% obliques as e.\,g.~\singlequotes{Open Sans}.\index{font>typeface>Open Sans|userman}
%
% \item\label{it:slant-typewriter}
% Fixed-width --~also called \singlequotes{typewriter} or \singlequotes{teletype}~-- fonts
-% without obliques (Yes, I am looking at you, Inconsolata!)\index{font>Inconsolata} finally
-% get an oblique shape.
+% without obliques (Yes, I am looking at you, Inconsolata!)\index{font>typeface>Inconsolata|userman}
+% finally get an oblique shape.
%
% \item\label{it:slanted-small-caps}
% Small caps without accompanying italics can be slanted, too.
@@ -1109,7 +1346,9 @@ end
%
% \begingroup
% \newcommand*{\indexpackageoption}[1]
-% {\index{package option>#1=\code{#1}}\index{#1=\code{#1}~(option)}\ignorespaces}
+% {\detoxindex{package option>#1=\code{#1}|userman}%
+% \detoxindex{#1=\code{#1}~(option)|userman}%
+% \ignorespaces}
% \begin{description}
% [before={\let\oldmakelabel=\makelabel
% \renewcommand{\makelabel}[1]
@@ -1130,13 +1369,14 @@ end
%
% \item[|fontspec|]\label{item:fontspec}
% \indexpackageoption{fontspec}
-% Use \packagename{fontspec}\index{package>\packagename{fontspec}} as slanting
-% back-end.\footnote{Requires \filesystem{fontspec.sty.}}
+% Use \packagename{fontspec}\index{package>fontspec=\packagename{fontspec}|userman} as
+% slanting back-end.\footnote{Requires \filesystem{fontspec.sty.}}
%
% \item[|l3draw|]\label{item:l3draw}
% \indexpackageoption{l3draw}
-% Select the \singlequotes{draw} layer\index{package>\packagename{l3draw}} of \LaTeXIII{} as
-% base for the slanting engine.\footnote{This option requires \filesystem{l3draw.sty.}}
+% Select the \singlequotes{draw} layer\index{package>l3draw=\packagename{l3draw}|userman} of
+% \LaTeXIII{} as base for the slanting engine.\footnote{This option requires
+% \filesystem{l3draw.sty.}}
%
% \begin{caution}
% This engine is experimental and the \singlequotes{draw} layer of \LaTeXIII{} itself is
@@ -1148,7 +1388,7 @@ end
% \indexpackageoption{negslant}
% Set the default value for \hyperref[syn:synthnegslant]{\cs{synthnegslant}} \emph{only.}
% The argument \meta{slant-expr} is a floating-point expression. Note that for this option
-% \meta{slant-expr} must evaluate to a non-positive value.
+% \meta{slant-expr} must evaluate to a nonpositive value.
%
% \item[|PDF|, |pdf|]\label{item:pdf}
% \indexpackageoption{pdf}
@@ -1159,14 +1399,14 @@ end
% \indexpackageoption{posslant}
% Set the default value for \hyperref[syn:synthslant]{\cs{synthslant}} \emph{only.} The
% argument \meta{slant-expr} is a floating-point expression. Note that for this option
-% \meta{slant-expr} must evaluate to a non-negative value.
+% \meta{slant-expr} must evaluate to a nonnegative value.
%
% \item[|PS|, |ps|]\label{item:postscript}
-% \index{ps}
-% Use \pstrickslogo\index{package>\packagename{pstricks}} to delegate slanting to the
-% PostScript\index{PostScript} interpreter. Obviously requires \pstrickslogo\footnote{The
-% package actually required is \filesystem{pst-3d.sty.}} and \acronym{DVI}-to-PostScript
-% translation.
+% \index{ps|userman}
+% Use \pstrickslogo\index{package>pstricks=\packagename{pstricks}|userman} to delegate
+% slanting to the PostScript\index{PostScript|userman} interpreter. Obviously requires
+% \pstrickslogo\footnote{The package actually required is \filesystem{pst-3d.sty.}} and
+% \acronym{DVI}-to-PostScript translation.
%
% \begin{caution}
% This engine is still experimental and produces low-quality output! See
@@ -1176,7 +1416,7 @@ end
% \item[|slant=|\meta{slant-expr}]\label{item:slant}
% \indexpackageoption{slant}
% Set the default values for both \hyperref[syn:synthslant]{\cs{synthslant}} and
-% \hyperref[syn:synthnegslant]{\cs{synthnegslant}}, this is, behave as if the two package
+% \hyperref[syn:synthnegslant]{\cs{synthnegslant}}, this is, act as if the two package
% options \(\code{posslant} = \meta{slant-expr}\) and \(\code{negslant} =
% -(\meta{slant-expr})\) have been given. The argument \meta{slant-expr} is a floating-point
% expression.
@@ -1185,8 +1425,8 @@ end
%
% \item[|TikZ|, |tikz|]\label{item:tikz}
% \indexpackageoption{tikz}
-% Use \packagename{TikZ}\index{package>\packagename{TikZ}} for slanting.\footnote{Requires
-% \filesystem{tikz.sty.}}
+% Use \packagename{TikZ}\index{package>tikz=\packagename{tikz}|userman} for
+% slanting.\footnote{Requires \filesystem{tikz.sty.}}
%
% \begin{caution}
% This engine is still experimental and produces low-quality output! See
@@ -1199,7 +1439,7 @@ end
% floating-point \emph{expressions} as their arguments not just plain floating-point literals.
% See Ref.~\citenum{latex3-interfaces}, Ch.~29, \doublequotes{The \textsf{l3fp}~module~--
% Floating points} for a description of the floating-point expression syntax and the available
-% functions.
+% functions.\label{secend:package-options}
%
%
% \clearpage
@@ -1218,7 +1458,7 @@ end
%
% \DescribeMacro{\synthslant}
% Control the slant applied by \hyperref[syn:textsynthslant]{\cs{textsynthslant}}.
-% This value is non-negative.
+% This value is nonnegative.
%
% \begin{synopsis}\label{syn:synthslant}
% \cs{synthslant}
@@ -1248,43 +1488,43 @@ end
% \begin{tabfigures}
% \begin{tabular}[t]{@{}p{9.5em}l@{}}
% \toprule
-% Font Name & Slant \\
+% Font & Slant \\
% \midrule
-% \acronym{ADF} Accanthis\index{font>ADF Accanthis=\acronym{ADF} Accanthis} & .26 \\
-% \acronym{ADF} Baskervald\index{font>ADF Baskervald=\acronym{ADF} Baskervald} & .32 \\
-% \acronym{ADF} Berenis\index{font>ADF Berenis=\acronym{ADF} Berenis} & .2 \\
-% \acronym{ADF} Venturis\index{font>ADF Venturis=\acronym{ADF} Venturis} & .2 \\
-% Alegreya\index{font>Alegreya} & .2 \\
-% Arvo\index{font>Arvo} & .2 \\
-% BaskervilleF\index{font>BaskervilleF} & .2 \\
-% Bera Serif\index{font>Bera Serif} & .2 \\
-% Bitter\index{font>Bitter} & .16 \\
-% Caladea\index{font>Caladea} & .14 \\
-% Clara\index{font>Clara} & .24 \\
-% Cochineal\index{font>Cochineal} & .2 \\
-% Coelacanth\index{font>Coelacanth} & .2 \\
-% Crimson Pro\index{font>Crimson Pro} & .2 \\
-% Crimson Text\index{font>Crimson Text} & .2 \\
+% \acronym{ADF} Accanthis\index{font>typeface>ADF Accanthis=\acronym{ADF} Accanthis|userman} & .26 \\
+% \acronym{ADF} Baskervald\index{font>typeface>ADF Baskervald=\acronym{ADF} Baskervald|userman} & .32 \\
+% \acronym{ADF} Berenis\index{font>typeface>ADF Berenis=\acronym{ADF} Berenis|userman} & .2 \\
+% \acronym{ADF} Venturis\index{font>typeface>ADF Venturis=\acronym{ADF} Venturis|userman} & .2 \\
+% Alegreya\index{font>typeface>Alegreya|userman} & .2 \\
+% Arvo\index{font>typeface>Arvo|userman} & .2 \\
+% BaskervilleF\index{font>typeface>BaskervilleF|userman} & .2 \\
+% Bera Serif\index{font>typeface>Bera Serif|userman} & .2 \\
+% Bitter\index{font>typeface>Bitter|userman} & .16 \\
+% Caladea\index{font>typeface>Caladea|userman} & .14 \\
+% Clara\index{font>typeface>Clara|userman} & .24 \\
+% Cochineal\index{font>typeface>Cochineal|userman} & .2 \\
+% Coelacanth\index{font>typeface>Coelacanth|userman} & .2 \\
+% Crimson Pro\index{font>typeface>Crimson Pro|userman} & .2 \\
+% Crimson Text\index{font>typeface>Crimson Text|userman} & .2 \\
% \bottomrule
% \end{tabular}%
% \qquad
% \begin{tabular}[t]{@{}p{9.5em}l@{}}
% \toprule
-% Font Name & Slant \\
+% Font & Slant \\
% \midrule
-% Day Roman\index{font>Day Roman} & .2 \\
-% \acronym{EB} Garamond\index{font>EB Garamond=\acronym{EB} Garamond} & .3 \\
-% etbb\index{font>etbb} & .2 \\
-% fbb\index{font>fbb} & .2 \\
-% Garamond Expert\index{font>Garamond Expert} & .2 \\
-% Gandhi Serif\index{font>Gandhi Serif} & .2 \\
-% Gentium\index{font>Gentium} & .2 \\
-% Ibarra Real Nova\index{font>Ibarra Real Nova} & .2 \\
-% \acronym{IBM} Plex Serif\index{font>IBM Plex Serif=\acronym{IBM} Plex Serif} & .24 \\
-% \acronym{Inria} Serif\index{font>Inria Serif=\acronym{Inria} Serif} & .2 \\
-% Libertinus Serif\index{font>Libertinus Serif} & .2 \\
-% Libre Baskerville\index{font>Libre Baskerville} & .3 \\
-% Libre Caslon\index{font>Libre Caslon} & .38 \\
+% Day Roman\index{font>typeface>Day Roman|userman} & .2 \\
+% \acronym{EB} Garamond\index{font>typeface>EB Garamond=\acronym{EB} Garamond|userman} & .3 \\
+% etbb\index{font>typeface>etbb|userman} & .2 \\
+% fbb\index{font>typeface>fbb|userman} & .2 \\
+% Garamond Expert\index{font>typeface>Garamond Expert|userman} & .2 \\
+% Gandhi Serif\index{font>typeface>Gandhi Serif|userman} & .2 \\
+% Gentium\index{font>typeface>Gentium|userman} & .2 \\
+% Ibarra Real Nova\index{font>typeface>Ibarra Real Nova|userman} & .2 \\
+% \acronym{IBM} Plex Serif\index{font>typeface>IBM Plex Serif=\acronym{IBM} Plex Serif|userman} & .24 \\
+% \acronym{Inria} Serif\index{font>typeface>Inria Serif=\acronym{Inria} Serif|userman} & .2 \\
+% Libertinus Serif\index{font>typeface>Libertinus Serif|userman} & .2 \\
+% Libre Baskerville\index{font>typeface>Libre Baskerville|userman} & .3 \\
+% Libre Caslon\index{font>typeface>Libre Caslon|userman} & .38 \\
% & \\
% & \\
% \bottomrule
@@ -1292,22 +1532,22 @@ end
% \qquad
% \begin{tabular}[t]{@{}p{9.5em}l@{}}
% \toprule
-% Font Name & Slant \\
+% Font & Slant \\
% \midrule
-% Merriweather\index{font>Merriweather} & .14 \\
-% MLModern\index{font>MLModern} & .23 \\
-% Noto Serif\index{font>Noto Serif} & .22 \\
-% \acronym{PT} Serif\index{font>PT Serif=\acronym{PT} Serif} & .2 \\
-% Roboto Slab\index{font>Roboto Slab} & .2 \\
-% Quattrocento\index{font>Quattrocento} & .2 \\
-% Source Serif Pro\index{font>Source Serif Pro} & .18 \\
-% Spectral\index{font>Spectral} & .18 \\
-% \acronym{STIX}\index{font>STIX=\acronym{STIX}} & .2 \\
-% \TeX{} Gyre Pagella\index{font>TeX Gyre Pagella=\TeX{} Gyre Pagella} & .16 \\
-% \acronym{TX} Fonts Serif\index{font>TX Fonts Serif=\acronym{TX} Fonts Serif} & .2 \\
-% \acronym{URW} Antiqua\index{font>URW Antiqua=\acronym{URW} Antiqua} & .2 \\
-% \acronym{URW} Nimbus Roman\index{font>URW Nimbus Roman=\acronym{URW} Nimbus Roman} & .2 \\
-% Utopia\index{font>Utopia} & .2 \\
+% Merriweather\index{font>typeface>Merriweather|userman} & .14 \\
+% \acronym{ML} Modern\index{font>typeface>ML Modern=\acronym{ML} Modern|userman} & .23 \\
+% Noto Serif\index{font>typeface>Noto Serif|userman} & .22 \\
+% \acronym{PT} Serif\index{font>typeface>PT Serif=\acronym{PT} Serif|userman} & .2 \\
+% Roboto Slab\index{font>typeface>Roboto Slab|userman} & .2 \\
+% Quattrocento\index{font>typeface>Quattrocento|userman} & .2 \\
+% Source Serif Pro\index{font>typeface>Source Serif Pro|userman} & .18 \\
+% Spectral\index{font>typeface>Spectral|userman} & .18 \\
+% \acronym{STIX}\index{font>typeface>STIX=\acronym{STIX}|userman} & .2 \\
+% \TeX{} Gyre Pagella\index{font>typeface>TeX Gyre Pagella=\TeX{} Gyre Pagella|userman} & .16 \\
+% \acronym{TX} Fonts Serif\index{font>typeface>TX Fonts Serif=\acronym{TX} Fonts Serif|userman} & .2 \\
+% \acronym{URW} Antiqua\index{font>typeface>URW Antiqua=\acronym{URW} Antiqua|userman} & .2 \\
+% \acronym{URW} Nimbus Roman\index{font>typeface>URW Nimbus Roman=\acronym{URW} Nimbus Roman|userman} & .2 \\
+% Utopia\index{font>typeface>Utopia|userman} & .2 \\
% & \\
% \bottomrule
% \end{tabular}
@@ -1319,7 +1559,7 @@ end
% \DescribeMacro{\synthnegslant}
% Control the slant applied by
% \hyperref[syn:textsynthuprightitalic]{\cs{textsynthuprightitalic}}. This value is
-% non-positive.
+% nonpositive.
%
% \begin{synopsis}\label{syn:synthnegslant}
% \cs{synthnegslant}
@@ -1332,9 +1572,9 @@ end
% more flexible and powerful interface, see~\cref{sec:advanced-interface}.
%
% \begin{note}
-% The following restrictions and workarounds to get line-breaking and automatic hyphenation
-% working again do \emph{not} apply to the
-% \packagename{fontspec}\index{package>\packagename{fontspec}} back-end.
+% The following restrictions and workarounds to get line-breaking and \TeX's automatic
+% hyphenation working again do \emph{not} apply to the
+% \packagename{fontspec}\index{package>fontspec=\packagename{fontspec}|userman} back-end.
% \end{note}
%
% \noindent
@@ -1344,7 +1584,7 @@ end
% provisions to re-enable at least some breakability.
%
% \begin{enumerate}
-% \item Spaces introduce breakpoint,\index{breakpoint at space} e.\,g.
+% \item Spaces introduce breakpoint,\index{breakpoint at space|userman} e.\,g.
% \begin{codeexample}
% \cs{textsynthslant}\{topological dual space\}
% \end{codeexample}
@@ -1352,8 +1592,8 @@ end
% second word (producing another horizontal box). \TeX{} sees two (unbreakable) boxes and a
% discardable space when it comes to linebreaking.
%
-% \item Discretionary hyphens\index{discretionary hyphen} in the form of \singlequotes{\cs{-}}
-% get propagated. So, we could improve on our above example by saying
+% \item Discretionary hyphens\index{discretionary hyphen|userman} in the form of
+% \singlequotes{\cs{-}} get propagated. So, we could improve on our above example by saying
% \begin{codeexample}
% \cs{textsynthslant}\{topo\cs{-}log\cs{-}i\cs{-}cal dual space\}
% \end{codeexample}
@@ -1374,7 +1614,7 @@ end
%
% In horizontal mode switch to an upright shape, slant \meta{text} with the slant value stored
% in \hyperref[syn:synthslant]{\cs{synthslant}} and apply \doublequotes{slant
-% correction}\index{slant>correction} --~the equivalent of italics correction~-- at the
+% correction}\index{slant>correction|userman} --~the equivalent of italics correction~-- at the
% right-hand side of~\meta{text}.
%
% In math mode just slant \meta{text} with the slant value stored in
@@ -1391,7 +1631,7 @@ end
%
% \noindent
% where we show the font modification in conjunction with the
-% \packagename{babel}~macro\index{package>\packagename{babel}}
+% \packagename{babel}~macro\index{package>babel=\packagename{babel}|userman}
% \cs{foreignlanguage}~\cite{package:babel}.~\visualpar
%
% In math-mode you cannot have enough fonts, symbols, and most of the gizmos over there! I
@@ -1485,7 +1725,7 @@ end
% \end{synopsis}
%
% Switch to an upright font shape and --~if
-% package~\packagename{microtype}~\cite{package:microtype}\index{package>\packagename{microtype}}
+% package~\packagename{microtype}~\cite{package:microtype}\index{package>microtype=\packagename{microtype}|userman}
% has been loaded~-- enter the Microtype-context defined by
% macro~\hyperref[syn:slantcontext]{\cs{slantcontext}}. At the end add some slant correction,
% which is the equivalent of italics correction.
@@ -1511,7 +1751,7 @@ end
% Microtype-context defined by macro~\hyperref[syn:negslantcontext]{\cs{negslantcontext}}.
%
% \DescribeMacro{\slantcontext}
-% Microtype context used when typesetting slanted text.
+% Name of the \packagename{microtype} context used when typesetting slanted text.
%
% \begin{synopsis}\label{syn:slantcontext}
% \cs{slantcontext}
@@ -1530,7 +1770,7 @@ end
% \end{note}
%
% \DescribeMacro{\negslantcontext}
-% Microtype context used when typesetting un-slanted text.
+% Name of the \packagename{microtype} context used when typesetting backward slanted text.
%
% \begin{synopsis}\label{syn:negslantcontext}
% \cs{negslantcontext}
@@ -1667,13 +1907,13 @@ end
% and --~after recompiling with the appropriate \LaTeX-engine~-- used to examine the details of
% the slant operations.
%
-% Page~2, Sec.~3.1, \singlequotes{Copy}, shows wild mixes of different font shapes, native al
-% well as synthesized ones. Here, the slanted glyphs as well as the upright italics should
-% blend well with the native italics/obliques and the normal font, respectively.
+% Page~2, Sec.~3.1, \singlequotes{Copy}, shows wild mixes of different font shapes, native and
+% synthesized ones. Here, the slanted glyphs as well as the upright italics should blend well
+% with the native italics/obliques and with the normal font, respectively.
%
-% Page~3, Sec.~3.2 and following sub-sections, examines the coupling of
-% \packagename{synthslant} with the \TeX-system and some of its extensions. If a slant engine
-% malfunctions, it will become evident on this page.
+% Page~3, Sec.~3.2 and following sub-sections, examine the coupling of \packagename{synthslant}
+% with the \TeX-system and some of its extensions. If a slant engine malfunctions, it will
+% become evident on this page.
%
%
% \clearpage
@@ -1687,7 +1927,7 @@ end
% \packagename{Syntslant}~manipulations may not survive
% (pre-)\discretionary{}{}{}processing by \MP.
%
-% \item[\packagename{l3draw} engine.]\index{package>\packagename{l3draw}}\mbox{}
+% \item[\packagename{l3draw} engine.]\index{package>l3draw=\packagename{l3draw}|userman}\mbox{}
% \begin{itemize}
% \item Depending of the shear direction the \packagename{l3draw} engine may generate some
% extra positive or negative space at the ends of the text.
@@ -1697,10 +1937,10 @@ end
% \item Markedly slower than the \acronym{PDF}-implementation!
% \end{itemize}
%
-% \item[\pstrickslogo{} engine.]\index{package>\packagename{pstricks}}
+% \item[\pstrickslogo{} engine.]\index{package>pstricks=\packagename{pstricks}|userman}
% The \pstrickslogo{} engine produces some extra space at the ends of the text.
%
-% \item[\tikzlogo{} engine.]\index{package>\packagename{tikz}}
+% \item[\tikzlogo{} engine.]\index{package>tikz=\packagename{tikz}|userman}
% The \tikzlogo{} engine produces some extra space at the ends of the text.
% \end{description}
%
@@ -1753,7 +1993,7 @@ end
%
% I want to elaborate the example given in \cref{sec:usage-ideas},
% \cref{it:correct-italics-angle} and generate less-angled italics for
-% Libre~Caslon.\index{font>Libre Caslon} Here is a suitable map line taken from
+% Libre~Caslon.\index{font>typeface>Libre Caslon|userman} Here is a suitable map line taken from
% \filesystem{pdftex.map} on my system:
%
% \begin{multilinecodeexample}
@@ -1824,7 +2064,8 @@ end
% \end{example}
%
%
-% \subsection{Combining \LaTeX{} and \command{dvipdfmx}}\label{sec:alternative-latex}
+% \subsection{Combining \LaTeX{} and
+% \texorpdfstring{\command{dvipdfmx}}{dvipdfmx}}\label{sec:alternative-latex}
%
% The alternative when using \LaTeX{} is similar the one elaborated in the previous section.
% The font mapline gets modified by \cs{special} primitive
@@ -1872,14 +2113,20 @@ end
%
% \MaybeStop{
% \clearpage
-% \phantomsection
-% \resetfancyhead
-% \addcontentsline{toc}{section}{Change History}
-% \PrintChanges
+% \begingroup
+% \setcounter{GlossaryColumns}{1}
+% \phantomsection
+% \label{sec:changes}
+% \resetfancyhead
+% \addtocontents{toc}{\bigskip}
+% \addcontentsline{toc}{section}{\numberline{}Change History}
+% \PrintChanges
+% \endgroup
%
% \clearpage
% \phantomsection
-% \addcontentsline{toc}{section}{References}
+% \addtocontents{toc}{\medskip}
+% \addcontentsline{toc}{section}{\numberline{}References}
% \begin{RaggedRight}
% \begin{thebibliography}{88}
% \bibitem{package:relsize}
@@ -1986,20 +2233,31 @@ end
%
%
% \clearpage
-% \begin{RaggedRight}
+% \begingroup
% \setcounter{IndexColumns}{2}
% \setlength{\columnsep}{30pt}
-% \label{sec:index}
% \phantomsection
-% \addcontentsline{toc}{section}{Index}
+% \label{sec:index}
+% \addtocontents{toc}{\medskip}
+% \addcontentsline{toc}{section}{\numberline{}Index}
+% \raggedcolumns
+% \def\codeidx##1{\linenumberdecoration\textbf{##1}}
+% \def\main##1{\linenumberdecoration\underbar{\textbf{##1}}}
+% \def\usage##1{\textit{\textbf{##1}}}
% \PrintIndex
-% \end{RaggedRight}
+% \label{secend:index}
+% \endgroup
% }
%
%
% \clearpage
+% \toccontinuesonnextpage
% \section{Package Code}\label{sec:package-code}
-% \addtocontents{toc}{\begingroup\small}
+% \addtocontents{toc}{\protect\begin{list}{}{\leftmargin=\subsectiontocindent\parsep=0pt}}
+% \addtocontents{toc}{\protect\item}
+% \addtocontents{toc}{\RaggedRight}
+% \addtocontents{toc}{\small}
+% \addtocontents{toc}{\tocsquashedsubsections}
% \addtocontents{toc}{\protect\begin{multicols}{2}}
% \addtocontents{toc}{\protect\raggedcolumns}
%
@@ -2008,12 +2266,15 @@ end
% and explain its implementation details.
%
%
+% \changes{v0.1a}{2024-6-2}{Add missing dependency on \packagename{etoolbox}.
+% Fix suggested by \code{mbertucci47}.}
% \begin{macrocode}
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{synthslant}
- [2024/05/07 v0.1 Synthetically Slant glyphs]
+ [2024/07/08 v0.1a Synthetically Slant glyphs]
+\RequirePackage{etoolbox}
\RequirePackage{iftex}
\RequirePackage{xkeyval}
@@ -2094,12 +2355,16 @@ end
% \begin{macrocode}
\ExplSyntaxOn
\fp_compare:nNnTF {\synthslant} < {.0}
- {\PackageError{synthslant}{\string\synthslant\space <\space 0}
- {Pass\space a\space value\space that\space is\space non-negative.}}
+ {\PackageError{synthslant}
+ {\string\synthslant\space <\space 0}
+ {Pass\space a\space value\space that\space
+ is\space nonnegative.}}
{}
\fp_compare:nNnTF {\synthnegslant} > {.0}
- {\PackageError{synthslant}{\string\synthnegslant\space >\space 0}
- {Pass\space a\space value\space that\space is\space non-positive.}}
+ {\PackageError{synthslant}
+ {\string\synthnegslant\space >\space 0}
+ {Pass\space a\space value\space that\space
+ is\space nonpositive.}}
{}
\ExplSyntaxOff
@@ -2176,7 +2441,7 @@ end
% \end{macro}
%
%
-% \subsubsection{\acronym{PDF} Slant Engine}
+% \subsubsection{\texorpdfstring{\acronym{PDF}}{PDF} Slant Engine}
%
% The \acronym{PDF}-engine works well and it is the best tested alternative.
%
@@ -2251,13 +2516,15 @@ end
% \begin{macrocode}
\fp_compare:nNnTF {#1} >= {.0}
{
- \box_set_wd:Nn \l_tmpa_box {\l_tmpa_dim - #1\l_tmpb_dim}
+ \box_set_wd:Nn \l_tmpa_box
+ {\l_tmpa_dim - #1\l_tmpb_dim}
}
{
\draw_suspend_begin:
\kern#1\l_tmpb_dim
\draw_suspend_end:
- \box_set_wd:Nn \l_tmpa_box {\l_tmpa_dim + #1\l_tmpb_dim}
+ \box_set_wd:Nn \l_tmpa_box
+ {\l_tmpa_dim + #1\l_tmpb_dim}
}
% \end{macrocode}
%
@@ -2348,7 +2615,8 @@ end
% \begin{macrocode}
\newcommand*{\synthslantbox@fontspect@shear@box}[2]{
\begingroup
- \expandafter\fontspec[FakeSlant = #1]{\l_fontspec_family_tl}
+ \expandafter
+ \fontspec[FakeSlant=#1]{\l_fontspec_family_tl}
#2
\endgroup
}
@@ -2473,8 +2741,12 @@ end
% \begin{macrocode}
\ifnum\synthslant@engine=4% fontspec
\newrobustcmd*{\synthslantbox}[2]{%
- \edef\synthslant@slant@value{#1}% definition for compatibility of both branches
- \synthslantbox@fontspect@shear@box{\synthslant@slant@value}{#2}%
+% \end{macrocode}
+% The following (expanding) definition is only here for the compatibility of both branches.
+% \begin{macrocode}
+ \edef\synthslant@slant@value{#1}
+ \synthslantbox@fontspect@shear@box{\synthslant@slant@value}
+ {#2}%
}
% \end{macrocode}
%
@@ -2530,7 +2802,8 @@ end
\NewDocumentEnvironment{slantenvironment}{}
{\upshape
\ifcsdef{microtypecontext}
- {\expandafter\microtypecontext\expandafter{\slantcontext}}
+ {\expandafter\microtypecontext
+ \expandafter{\slantcontext}}
{}}
{\ifcsdef{endmicrotypecontext}
{\endmicrotypecontext}
@@ -2557,8 +2830,8 @@ end
% \end{macro}
%
% \begin{macro}{\synthslantbox@right@negslant@correction}
-% We could play the same trick here as in \cs{synthslantbox@right@slant@correction} and use
-% \cs{synthnegslant} instead of \cs{synthslant}. But my experiments show no need for a
+% We could play the same trick here as in \cs{synthslantbox@\-right@\-slant@\-correction} and
+% use \cs{synthnegslant} instead of \cs{synthslant}. But my experiments show no need for a
% correction. Anyhow, this macro may be convenient to override someday.
%
% \begin{macrocode}
@@ -2588,7 +2861,8 @@ end
\NewDocumentEnvironment{negslantenvironment}{}
{\itshape
\ifcsdef{microtypecontext}
- {\expandafter\microtypecontext\expandafter{\negslantcontext}}
+ {\expandafter\microtypecontext
+ \expandafter{\negslantcontext}}
{}}
{\ifcsdef{endmicrotypecontext}
{\endmicrotypecontext}
@@ -2622,7 +2896,7 @@ end
%
%
% \addtocontents{toc}{\protect\end{multicols}}
-% \addtocontents{toc}{\endgroup}
+% \addtocontents{toc}{\protect\end{list}}
%
%
% \Finale
@@ -4889,7 +5163,7 @@ KJ8AAAAASUVORK5CYII=
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
-\setlength{\overfullrule}{3pt}
+\setlength{\overfullrule}{0pt}
\pagestyle{plain}
@@ -5254,6 +5528,20 @@ right: \code{\cs{textsynthslant}\{Show line-break\cs{-}ing in a sen\cs{-}tence.\
%
%
%
+% \iffalse
+%<*minimal-test>
+\documentclass{minimal}
+
+\usepackage{synthslant}
+
+\begin{document}
+\textsynthslant{abc}
+\end{document}
+%</minimal-test>
+% \fi
+%
+%
+%
\endinput
%
%
diff --git a/macros/latex/contrib/synthslant/synthslant.ins b/macros/latex/contrib/synthslant/synthslant.ins
index 845b4378b1..f7027fe6f5 100644
--- a/macros/latex/contrib/synthslant/synthslant.ins
+++ b/macros/latex/contrib/synthslant/synthslant.ins
@@ -1,11 +1,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% of the LaTeX Project Public License, either version 1.3c of this
%% license or (at your option) any later version. The latest version
%% of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
@@ -23,11 +23,11 @@ This is a generated file.
Copyright (C) 2024 by Ch. L. Spiel
This work may be distributed and/or modified under the conditions
-of the LaTeX Project Public License, either version 1.3 of this
+of the LaTeX Project Public License, either version 1.3c of this
license or (at your option) any later version. The latest version
of this license is in
- http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
+ https://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
version 2003/12/01 or later.
This work has the LPPL maintenance status `maintained'.
@@ -46,12 +46,15 @@ shear-transform.mp, and title.mp.
\generate{\file{synthslant.sty}{\from{\source}{package}}
\file{synthslant-gauge.tex}{\from{\source}{gauge}}
- \file{synthslant.ist}{\from{\source}{index-style}}}
+ \file{synthslant-minimal-test.tex}{\from{\source}{minimal-test}}}
\nopostamble
-\generate{\file{title.mp}{\from{\source}{title}}}
-\generate{\file{shear-transform.mp}{\from{\source}{shear-transform}}}
+\generate{\file{shear-transform.mp}{\from{\source}{shear-transform}}
+ \file{synthslant.gst}{\from{\source}{changes-style}}
+ \file{synthslant.ist}{\from{\source}{index-style}}
+ \file{title.mp}{\from{\source}{title}}}
+
\nopreamble
diff --git a/macros/latex/contrib/tablvar/README.md b/macros/latex/contrib/tablvar/README.md
index 565ed9c049..0be4d44111 100644
--- a/macros/latex/contrib/tablvar/README.md
+++ b/macros/latex/contrib/tablvar/README.md
@@ -6,8 +6,8 @@
- A complete and easy to use package for typesetting pretty tables of signs and variations according to French usage.
- The syntax is similar to that of the array environment and uses intuitive position commands.
- Arrows are automatically drawn (with PSTricks or TikZ).
-- Macros are provided for drawing double bars, single bars crossing the zeros, intervals where a function is not defined or for placing special values.
-- Several features of variations tables can be customized.
+- Macros are provided for drawing double bars, single bars crossing zero values, intervals where a function is not defined or for placing special values.
+- Many features of variations tables can be customized.
## Documentation
@@ -18,7 +18,7 @@ The documentation is in French.
## Installation
- run LaTeX on tablvar.ins, you obtain the file tablvar.sty,
-- if then you run XeLaTeX or LaTeX + dvips + ps2pdf on tablvar.dtx you get the file tablvar.pdf which is also in the archive,
+- if then you run LaTeX + dvips + ps2pdf on tablvar.dtx you get the file tablvar.pdf which is also in the archive,
- put the files tablvar.sty and tablvar.pdf in your TeX Directory Structure.
diff --git a/macros/latex/contrib/tablvar/tablvar.dtx b/macros/latex/contrib/tablvar/tablvar.dtx
index afc47fc953..e39c2382f0 100644
--- a/macros/latex/contrib/tablvar/tablvar.dtx
+++ b/macros/latex/contrib/tablvar/tablvar.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2018-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+% Copyright (C) 2018-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr>
%
% This file may be distributed and/or modified under the conditions of
% the LaTeX Project Public License, either version 1.3 of this license
@@ -22,11 +22,11 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{tablvar}
- [2023/12/23 v2.0 .dtx tablvar file]
+ [2024/08/09 v2.1 Tables of signs and variations]
%</package>
%<*driver>
\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
+%\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{lmodern}
@@ -38,10 +38,12 @@
\def\bbObrecht{\vrule\kern1pt\vrule} \let\bb\relax
\let\variations\relax
\usepackage{tkz-tab}
+\usepackage{pstricks}
+\usepackage{tableau}
\usepackage[pstricks]{tablvar}
\usepackage[style=french,font=fcm]{lgrmath} % pour un joli pi droit
-\usepackage{hyperref}
+\usepackage[hyperindex=false]{hyperref}
\usepackage{sectsty}
\usepackage{makecell}
\usepackage{spacingtricks}
@@ -58,6 +60,8 @@
\definecolor{darkbrown}{rgb}{0.5,0.1,0.1}
\allsectionsfont{\color{darkbrown}}
\hypersetup{%
+ bookmarksopen=true,
+ bookmarksopenlevel=2,
colorlinks,
linkcolor=blue,
citecolor=red,
@@ -76,7 +80,7 @@
%</driver>
% \fi
%
-% \CheckSum{752}
+% \CheckSum{828}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -119,27 +123,21 @@
% \changes{v2.0}{16/12/2023}{Nouveau paramètre limsep}
% \changes{v2.0}{20/12/2023}{Macro bas et mil valables pour un nb quelconque de lignes}
% \changes{v2.0}{22/12/2023}{Macros @pos -> tv@pos, @@pos -> tv@@pos}
+% \changes{v2.1}{23/07/2024}{
+% - Calcul de hauteur automatique de la colonne de légende :
+% * nouveaux paramètres rowtopsep et rowbottomsep
+% * tv@saveheight -> tv@setheight
+% - option pstricks possible avec LuaLaTeX + luapstricks,
+% - amélioration du calcul de position de la macro mil,
+% - nouvelles macros limg*, limd* et bblim*
+% - exemple plus sophistiqué pour bblim}
%
% \GetFileInfo{tablvar.sty}
-%
-% \DoNotIndex{\@@ZI,\tv@@pos,\tv@pos,\@ZI,\@arstrutbox,\@ifstar,\\}
-% \DoNotIndex{\addtocounter,\advance,\arraybackslash}
-% \DoNotIndex{\begin,\boolean,\centering,\color,\DeclareOption,\def}
-% \DoNotIndex{\define@boolkey,\defin@key,\dp,\draw,\else,\empty,\end}
-% \DoNotIndex{\fi,\fill,\global,\hspace,\ht}
-% \DoNotIndex{\I,\if,\ifdim,\ifnum,\ifthenelse,\Ix,\Iy,\kern}
-% \DoNotIndex{\makebox,\MessageBreak,\multido,\ncline,\newboolean,}
-% \DoNotIndex{\newcommand,\newcounter,\newenvironment,\newlength,\newsavebox}
-% \DoNotIndex{\node,\PackageWarningNoLine,\ProcessOptions,\psframe}
-% \DoNotIndex{\raisebox,\relax,\renewcommand,\RequirePackage,\rnode}
-% \DoNotIndex{\sbox,\setboolean,\setcounter,\setlength,\stepcounter}
-% \DoNotIndex{\TikZ,\tvanchor,\usetikzlibrary,\value,\wd}
-% \DoNotIndex{\ZIheight,\ZIheighti,\ZIheightii,\ZIheightiii,\ZIheightiv,\ZIdepth,\ZIwidth}
%
% \title{L'extension \textsf{tablvar}\thanks{Ce document
-% correspond à \textsf{tablvar}~\fileversion, dernière modification le 23/12/2023.}}
+% correspond à \textsf{tablvar}~\fileversion, dernière modification le 09/08/2024.}}
% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
-% \date{23 décembre 2023}
+% \date{9 août 2024}
% \maketitle
% \tableofcontents
%
@@ -175,8 +173,8 @@
% |pstricks| ou |tikz|, que l'on invoque dans le préambule à l'appel de l'extension :
% |\usepackage[tikz]{tablvar}|.
% Lorsque l'option n'est pas précisée, l'extension choisira \texttt{tikz}
-% pour un compilateur PDF (comme pdf\LaTeX\ ou \LuaLaTeX), \texttt{pstricks} sinon
-% (typiquement \LaTeX\ + dvips + ps2pdf ou \XeLaTeX).
+% pour un mode de sortie PDF direct (avec pdf\LaTeX\ ou \LuaLaTeX),
+% \texttt{pstricks} sinon (avec \LaTeX\ > dvips > ps2pdf ou \XeLaTeX).
% Pour l'option |tikz|, il faut compiler \emph{deux fois},
% la première fois les flèches ne sont pas correctement dessinées
% (un message de compilation le rappelle).
@@ -189,9 +187,9 @@
%
% \subsection{Tableaux de variations simples}
%
-% % \DescribeEnv{tablvar}
+% \DescribeEnv{tablvar}
% Un tableau de variations (ou de signes) se définit par un environnement |tablvar|
-% qui \emph{doit être en mode mathématiques} (comme |array|).
+% qui \emph{doit être en mode mathématique} (comme |array|).
%
% \medskip
% Voici un premier tableau tout simple avec les commandes
@@ -235,8 +233,8 @@
% Cette unité à l'avantage de s'ajuster lorsqu'on change de fonte
% sans avoir besoin de modifier le code. L'unité de même type utilisée pour les hauteurs
% est le \texttt{ex}, hauteur du \og x \fg.}.
-% Les flèches ne sont pas contraintes à rester à l'intérieur des colonnes intervalles
-% mais s'ajustent par rapport à la taille effective des valeurs qu'elles relient.
+% La longueur des flèches s'ajuste en fonction de la taille des valeurs
+% qu'elles relient et ne sont pas contraintes à rester à l'intérieur des colonnes intervalles.
% Lorsqu'une valeur est trop large, elle déborde automatiquement
% dans les colonnes intervalles sans altérer
% les largeurs de colonne.
@@ -314,7 +312,7 @@
% (voir section \ref{options} pour la liste détaillée des options).
%
% \DescribeMacro{\variations\oarg{nblignes}}
-% C'est la commande |\variations| qui, se charge de la construction des flèches
+% C'est la commande |\variations| qui se charge de la construction des flèches
% en fonction du positionnement des valeurs.
% Un paramètre optionnel permet de définir
% un nombre arbitraire de lignes pour les variations (3 par défaut).
@@ -418,7 +416,8 @@
% \mbox{Signe de }f'(x) & & - & \barre[0] & + & \barre[0] & - & \\
% \hline
% \variations{ \mil{\makecell{\mbox{Variations} \\ \mbox{de }f}} &
-% \haut{+\infty} && \bas{-14} && \haut{\frac{69}{4}} && \bas{-\infty} }
+% \haut{+\infty} && \bas{-14} && \haut{\frac{69}{4}} &&
+% \bas{-\infty} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
@@ -435,50 +434,57 @@
%
% \medskip
% Une première solution est d'interrompre la double barre pour placer
-% les limites qui resteront alors centrées au milieu de la colonne (mais il faut aimer).
+% les limites qui resteront alors centrées au milieu de la colonne
+% (mais il faut aimer).
%\[\begin{tablvar}{2}
% \hline
-% x & -\infty && 0 && +\infty \\
+% x & -\infty && 2 && +\infty \\
% \hline
-% \variations{\mil{\e^{\frac{1}{x}}} & \haut{1} &&
-% \bas{0} \pos*{2}{\bb} \discont \haut{+\infty} && \bas{1} }
+% \variations{\mil{\dfrac{1}{x-2}} & \pos{2}{0} && \bas{-\infty}
+% \pos*{2}{\bb} \discont \haut{+\infty} && \pos{2}{0} }
% \hline
%\end{tablvar}\]
-% La macro |\e| compose le nombre d'Euler $\e$ en romain (forme droite),
-% comme c'est la règle pour les constantes mathématiques
-% (cf. \textsf{mismath}~\cite{MIS} ou \textsf{frenchmath}~\cite{FR}).
% \begin{verbatim}
%\[\begin{tablvar}{2}
% \hline
-% x & -\infty && 0 && +\infty \\
+% x & -\infty && 2 && +\infty \\
% \hline
-% \variations{\mil{\e^{\frac{1}{x}}} & \haut{1} &&
-% \bas{0} \pos*{2}{\bb} \discont \haut{+\infty} && \bas{1} }
+% \variations{\mil{\dfrac{1}{x-2}} & \pos{2}{0} && \bas{-\infty}
+% \pos*{2}{\bb} \discont \haut{+\infty} && \pos{2}{0} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
%
% \hypertarget{firstcolsep}{}
% \DescribeMacro{\limg} \DescribeMacro{\limd}
-% Les macros |\limg|\oarg{pos}\marg{ligne}\marg{valeur}
-% et |\limd|\oarg{pos}\marg{ligne}\marg{valeur}
+% Les macros |\limg|\oarg{pos}\marg{ligne}\marg{valeur} et
+% |\limd|\oarg{pos}\marg{lgn}\marg{val}
% offrent une solution plus élégante pour placer des limites à gauche ou à droite.
% L'option de positionnement \meta{pos} correspond à celle de la macro |\pos|
% (\texttt{c}, \texttt{t} ou \texttt{b}).
+%
+% \DescribeMacro{\limg*}\DescribeMacro{\limd*}
+% Les variantes étoilées |\limg*| et |\limd*| sont des alias :
+% |\limg*{+}| signifie |\limg{1}{+\infty}|,
+% |\limg*{-}| correspond à |\limg{|$n$|}{-\infty}|
+% (pour une partie variations sur $n$ lignes),
+% de même pour |\limd*|.
+% Tout autre argument que \texttt{+} ou \texttt{-} génère un message d'erreur.
+%
+% \DescribeMacro{firstcolsep}
+% La colonne de légende peut être élargie en ajoutant de l'espace à ses extrémités
+% avec l'option \texttt{firstcolsep} (dont la valeur par défaut est \texttt{5pt}).
%\[\begin{tablvar}[firstcolsep=10pt,intervalwidth=4em]{2}
% \hline
% x & -\infty && 0 && +\infty \\
% \hline
% -\frac{1}{x} & & + & \bb & - & \\
% \hline
-% \variations{ \mil{\dfrac{1}{x^2}} & \bas{0} && \limg{1}{+\infty} \bb
-% \discont \limd{1}{+\infty} && \bas{0} }
+% \variations{ \mil{\e^{\frac{1}{x}}} & \haut{1} && \limg{3}{0} \bb
+% \discont \limd*{+} && \bas{1} }
% \hline
%\end{tablvar}\]
%
-% \DescribeMacro{firstcolsep}
-% Ci-dessus la colonne de légende a été élargie en ajoutant de l'espace à ses extrémités
-% avec l'option \texttt{firstcolsep} (dont la valeur par défaut est \texttt{5pt}).
% \begin{verbatim}
%\[\begin{tablvar}[firstcolsep=10pt,intervalwidth=4em]{2}
% \hline
@@ -486,13 +492,18 @@
% \hline
% -\frac{1}{x} & & + & \bb & - & \\
% \hline
-% \variations{ \mil{\dfrac{1}{x^2}} & \bas{0} && \limg{1}{+\infty} \bb
-% \discont \limd{1}{+\infty} && \bas{0} }
+% \variations{ \mil{\e^{\frac{1}{x}}} & \haut{1} && \limg{3}{0} \bb
+% \discont \limd*{+} && \bas{1} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
+% \vspace{-2ex}
+% La macro |\e| compose le nombre d'Euler $\e$ en romain,
+% comme c'est la règle pour les constantes mathématiques
+% (cf. \textsf{mismath}~\cite{MIS} ou \textsf{frenchmath}~\cite{FR}).
%
-% \DescribeMacro{\bblim}
+% \bigskip
+% \DescribeMacro{\bblim}\DescribeMacro{\bblim*}
% Sauf sur les bords du tableau ou lorsqu'il y a une zone interdite,
% les doubles barres sont en général accompagnées à la fois d'une limite à gauche
% et d'une limite à droite. La commande |\bblim| permet alors d'alléger la syntaxe.
@@ -502,24 +513,28 @@
% C'est un alias de
% |\limg|\marg{ligne}\marg{valeur}|\bb\discont\limd|\marg{ligne}\marg{valeur}.
% La seule différence est que |\bblim| ne possède pas d'option de positionnement
-% des nœuds comme |\limg| et |\limd|.
-%\[\begin{tablvar}{4}
+% des nœuds comme |\limg| et |\limd|. La forme étoilée offre une syntaxe
+% encore plus légère lorsque les deux limites sont infinies :
+% |\bblim*{-}{+}| correspond à |\bblim{3}{-\infty}{1}{+\infty}|
+% (lorsqu'il y a 3 lignes de variations).
+%
+%\[\begin{tablvar}{5}
% \hline
-% x & -\infty && -1 && 0 && 1 && +\infty \\
+% x & -\infty && -2 && 0 && 1 && 2 && +\infty \\
% \hline
-% \variations{\mil{\dfrac{1}{1-x^2}} & \haut{0} &&
-% \bblim{3}{-\infty}{1}{+\infty} && \bas{1} &&
-% \bblim{1}{+\infty}{3}{-\infty} && \haut{0} }
+% \variations{ \mil{\dfrac{\e^{\frac{1}{x}}}{x-2}} & \haut{0} &&
+% \bas{-\frac{1}{4}\e^{-\frac{1}{2}}} && \bblim{1}{0}{3}{-\infty} &&
+% \haut{-\e} && \bblim*{-}{+} && \bas{0} }
% \hline
%\end{tablvar}\]
% \begin{verbatim}
-%\[\begin{tablvar}{4}
+%\[\begin{tablvar}{5}
% \hline
% x & -\infty && -1 && 0 && 1 && +\infty \\
% \hline
-% \variations{\mil{\dfrac{1}{1-x^2}} & \haut{0} &&
-% \bblim{3}{-\infty}{1}{+\infty} && \bas{1} &&
-% \bblim{1}{+\infty}{3}{-\infty} && \haut{0} }
+% \variations{ \mil{\dfrac{\e^{\frac{1}{x}}}{x-2}} & \haut{0} &&
+% \bas{-\frac{1}{4}\e^{-\frac{1}{2}}} && \bblim{1}{0}{3}{-\infty} &&
+% \haut{-\e} && \bblim*{-}{+} && \bas{0} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
@@ -533,7 +548,7 @@
% sauf si on préfère plus de blanc.
% On peut y compris leur donner des valeurs négatives si l'on veut s'approcher
% davantage des filets verticaux, par exemple \texttt{limsep=-1.5pt}
-% amène au contact de la double barre).
+% amènerait au contact de la double barre).
%\[\begin{tablvar}[bordercolsep=4pt,limsep=3pt]{3}
% \hline
% x & -\infty && 0 && 1 && +\infty \\
@@ -568,7 +583,7 @@
% \hline
% x & 0 && 1 && +\infty \\
% \hline
-% \variations{ \mil{\ln x -x} & \bb\limd{3}{-\infty} && \haut{-1} &&
+% \variations{ \mil{\ln x -x} & \bb\limd*{-} && \haut{-1} &&
% \bas{-\infty} }
% \hline
%\end{tablvar*}
@@ -589,7 +604,7 @@
% \hline
% x & 0 && 1 && +\infty \\
% \hline
-% \variations{ \mil{\ln x -x} & \bb\limd{3}{-\infty} && \haut{-1} &&
+% \variations{ \mil{\ln x -x} & \bb\limd*{-} && \haut{-1} &&
% \bas{-\infty} }
% \hline
%\end{tablvar*}
@@ -603,8 +618,8 @@
% \hline
%\end{tablvar*}\]
% \end{verbatim}
-% \hypertarget{ext}{}
%
+% \hypertarget{ext}{}
% \DescribeMacro{extleft}\DescribeMacro{extright}
% Dans \texttt{tablvar*}, si, à une extrémité sans double barre,
% les valeurs ont des largeurs vraiment différentes
@@ -622,25 +637,25 @@
% pour éviter que le 1 ne soit collé au bord droit
% et qu'il garde un bon centrage par rapport à $+\infty$.
%
-% \noindent\begin{minipage}[t]{7.7cm}
+% \noindent\begin{minipage}[t]{7.4cm}
% \begin{verbatim}
-%\[\begin{tablvar}[extleft,intervalwidth=4em]{1}
+%\[\begin{tablvar}[extleft]{1}
% \hline
% x & 0 && +\infty \\
% \hline
-% \variations{ \mil{1-\dfrac{1}{x}} & \bb
-% \limd{3}{-\infty} && \haut{1} }
+% \variations[2]{ \mil{1-\dfrac{1}{x}}
+% & \bb \limd*{-} && \haut{1} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
% \end{minipage}
% \begin{minipage}[t]{5cm}
-%\[\begin{tablvar}[extleft,intervalwidth=4em]{1}
+%\[\begin{tablvar}[extleft]{1}
% \hline
% x & 0 && +\infty \\
% \hline
-% \variations{ \mil{1-\dfrac{1}{x}} & \bb
-% \limd{3}{-\infty} && \haut{1} }
+% \variations[2]{ \mil{1-\dfrac{1}{x}}
+% & \bb \limd*{-} && \haut{1} }
% \hline
%\end{tablvar}\]
% \end{minipage}
@@ -661,14 +676,14 @@
%
% Voici un exemple où la valeur remarquable
% est placée dans la colonne intervalle.\\
-% \begin{minipage}[t]{7.7cm}
+% \begin{minipage}[t]{7.4cm}
% \begin{verbatim}
%\[\begin{tablvar*}[6em]{1}
% \hline
% x & 0 & \vr{1} & +\infty \\
% \hline
% \variations{ \mil{\ln x} &
-% \bb \limd{3}{-\infty} & \vr{0} &
+% \bb \limd*{-} & \vr{0} &
% \pos[t]{1}{+\infty} }
% \hline
%\end{tablvar*}\]
@@ -680,7 +695,7 @@
% x & 0 & \vr{1} & +\infty \\
% \hline
% \variations{ \mil{\ln x} &
-% \bb \limd{3}{-\infty} & \vr{0} &
+% \bb \limd*{-} & \vr{0} &
% \pos[t]{1}{+\infty} }
% \hline
%\end{tablvar*}\]
@@ -702,8 +717,8 @@
% \hline
% x & -\infty && \vr{0} && \vr{1} && +\infty \\
% \hline
-% \variations[4]{ \mil{\exp x} & \haut{0} &&
-% \vr[3]{1} && \vr{\e} && \bas{+\infty} }
+% \variations[4]{ \mil{\exp x} & \bas{0} &&
+% \vr[3]{1} && \vr{\e} && \haut{+\infty} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
@@ -738,7 +753,7 @@
% \medskip
% On peut préférer que les flèches de variations ne passent pas à travers
% les valeurs remarquables (qui doivent alors être aussi des nœuds pour les flèches).
-% L'exemple suivant présente un tableau utilisant simultanément
+% L'exemple qui suit présente un tableau utilisant simultanément
% les deux manières de traiter les valeurs remarquables.
% La taille des flèches s'ajuste automatiquement.
% Le second zéro correspond à la fois à un nœud pour les flèches
@@ -767,6 +782,10 @@
% L'option |[t]| pour le max en ligne 1
% est ici combinée avec l'option |[b]| en ligne 3 et permet de conserver
% un positionnement correct du 0 sur la flèche.
+%
+% Pour placer la dernière valeur, on aurait pu utiliser |\limg[b]{3}{-\infty}|,
+% mais ici |\pos[b]{3}{-\infty}| convient aussi à cause de l'option \texttt{extright}
+% qui produit un alignement au fer à droite de la dernière colonne.
% \begin{verbatim}
%\[\begin{tablvar}[extright,intervalwidth=2em]{4}
% \hline
@@ -782,7 +801,6 @@
%\end{tablvar}\]
% \end{verbatim}
%
-% \vspace{-\baselineskip}
% \DescribeMacro{\vrconnect}
% C'est la macro graphique |\vrconnect| qui gère le tracé de ces traits pointillés.
% Elle peut être redéfinie pour changer leur aspect
@@ -802,7 +820,7 @@
% 0 &\mbox{si } x= 0
%\end{array}
%\right. .\]
-% \begin{minipage}[t]{6.5cm}
+% \begin{minipage}[t]{6.7cm}
% \begin{verbatim}
%\[\begin{tablvar}{2}
% \hline
@@ -900,7 +918,7 @@
% \vspace{-\baselineskip}
% Le |\hspace{-0.5em}| devant \texttt{+} a pour effet de décaler le $+$ affiché
% vers la gauche afin de le recentrer.
-% En effet, les macros |\limg| et |limd| placent les valeurs dans des boîtes de largeur
+% En effet, les macros |\limg| et |\limd| placent les valeurs dans des boîtes de largeur
% nulle (grâce à la commande |\zbox|, voir section \ref{cmd-pos}).
% De ce fait, le contenu d'une colonne valeur (qui a une largeur fixe)
% peut déborder en largeur
@@ -926,8 +944,8 @@
% -\frac{x}{\strut\sqrt{x^2-1}^3} && + & \bb & \ZI & \bb & - & \\
% \hline
% \variations{\pos*{2}{\dfrac{1}{\sqrt{x^2-1}}} & \bas{0} &&
-% \limg{1}{+\infty} \bb & \ZI &
-% \bb \limd{1}{+\infty} && \bas{0} }
+% \limg*{+} \bb & \ZI &
+% \bb \limd*{+} && \bas{0} }
% \hline
%\end{tablvar}\]
%
@@ -943,8 +961,8 @@
% -\frac{x}{\strut\sqrt{x^2-1}^3} && + & \bb & \ZI & \bb & - & \\
% \hline
% \variations{\pos*{2}{\dfrac{1}{\sqrt{x^2-1}}} & \bas{0} &&
-% \limg{1}{+\infty} \bb & \ZI &
-% \bb \limd{1}{+\infty} && \bas{0} }
+% \limg*{+} \bb & \ZI &
+% \bb \limd*{+} && \bas{0} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
@@ -961,7 +979,8 @@
% Il arrive que la compilation \LaTeX\ + dvips + ps2pdf
% n'affiche pas cette transparence,
% ce qui semble être dû à un bug dans certaines versions de Ghostscript.
-% Dans ce cas la solution est de compiler avec \XeLaTeX.
+% Dans ce cas une solution peut être de compiler avec \XeLaTeX\ ou \LuaLaTeX\
+% (si \textsf{luapstricks} est installé sur votre distribution).
% La compilation pdf\LaTeX\ avec l'option \texttt{tikz} ne pose pas ce problème.}
%
%\[\begin{tablvar}[ZItype=c,ZIcolor=green,ZIaddwidth=1pt]{3}
@@ -1000,17 +1019,18 @@
%\end{tablvar}\]
% \end{verbatim}
%
-% Si des extrema de grande taille sont placés dans la partie variations,
+% lorsque des extrema de grande taille sont placés dans la partie \emph{variations},
% il est nécessaire de modifier la hauteur des lignes,
% pour éviter de toucher le filet horizontal (au-dessus ou en-dessous)
-% \footnote{L'extension \textsf{tabularray}~\cite{TABUL} de Jianrui Lyu permettra
-% éventuellement une gestion automatisée des hauteurs de ligne dans une version future.}.
+% \footnote{L'extension \textsf{tabularray}~\cite{TABUL} de Jianrui Lyu permettrait
+% éventuellement une gestion automatisée des hauteurs de ligne
+% dans une possible version future.}.
% Cette modification peut se faire
-% avec \texttt{stretch} ou avec |\vstrut|\oarg{depth}\marg{height}
-% \emph{qu'il faut placer dans la toute 1\iere colonne} pour
+% avec l'option \texttt{stretch} ou avec |\vstrut|\oarg{depth}\marg{height}
+% qu'il faut placer \emph{dans la colonne de légendes} pour
% que |\ZI| prenne en compte sa hauteur.
-% Dans l'exemple suivant, \texttt{stretch=2.2} aurait donné le même résultat pour
-% les variations mais une ligne des $x$ plus haute.
+% Dans l'exemple suivant, \texttt{stretch=2.2} aurait donné le même résultat
+% mais une ligne des $x$ plus haute.
%
%\[\begin{tablvar}[4em]{4}
% \hline
@@ -1080,7 +1100,7 @@
% \DescribeMacro{\hachure}
% Lorsque l'on dessine des zones interdites hachurées
% sur plusieurs colonnes contiguës,
-% les hachures seront en général discontinues.
+% les hachures ne seront en général pas jointives.
% Pour pallier cela, on peut
% utiliser la primitive graphique |\hachure|
% qui permet de définir manuellement le rectangle à hachurer.
@@ -1090,16 +1110,16 @@
%\[ \begin{tablvar}[intervalwidth=1.8em,ZIaddwidth=1pt]{8}
% \hline
% x & -\infty && -2 && -\sqrt{\frac{5}{2}} && -1
-% && 0 && 1 && \sqrt{\frac{5}{2}} && 2 && +\infty \\
+% && 0 && 1 && \sqrt{\frac{5}{2}} && 2 && +\infty \\
% \hline
% 2x & &-& \barre &-& \barre &-& \barre &-& \barre[0] &+&
-% \barre &+& \barre &+& \barre &+& \\
+% \barre &+& \barre &+& \barre &+& \\
% \hline
% 2x^2-5 & &+& \barre &+& \barre[0] &-& \barre &-& \barre &-&
-% \barre &-& \barre[0] &+& \barre &+& \\
+% \barre &-& \barre[0] &+& \barre &+& \\
% \hline
% f'(x) & &-& \bb & \ZI & \barre & \ZI & \bb &+&
-% \barre[0] &-& \bb & & & & \bb & + & \\
+% \barre[0] &-& \bb & & & & \bb & + & \\
% \hline
% \variations{\mil{f(x)} & \haut{+\infty} && \bas{0}\barre & \ZI &
% \barre & \ZI & \bas{0}\barre && \haut{2} && \bas{0}\barre \discont
@@ -1108,7 +1128,7 @@
% \hline
%\end{tablvar} \] }
%
-% Pour hachurer une zone donnée, la commande |\hachure| peut être placée où l'on veut
+% La commande |\hachure| peut être placée où l'on veut
% dans le tableau, il suffit de donner les coordonnées du rectangle visé à
% partir de la position courante (réglage manuel).
% Dans la partie variations, il faut mettre la commande |\hachure| dans un |\pos*|,
@@ -1119,16 +1139,16 @@
%\[ \begin{tablvar}[intervalwidth=1.8em,ZIaddwidth=1pt]{8}
% \hline
% x & -\infty && -2 && -\sqrt{\frac{5}{2}} && -1
-% && 0 && 1 && \sqrt{\frac{5}{2}} && 2 && +\infty \\
+% && 0 && 1 && \sqrt{\frac{5}{2}} && 2 && +\infty \\
% \hline
% 2x & &-& \barre &-& \barre &-& \barre &-& \barre[0] &+&
-% \barre &+& \barre &+& \barre &+& \\
+% \barre &+& \barre &+& \barre &+& \\
% \hline
% 2x^2-5 & &+& \barre &+& \barre[0] &-& \barre &-& \barre &-&
-% \barre &-& \barre[0] &+& \barre &+& \\
+% \barre &-& \barre[0] &+& \barre &+& \\
% \hline
% f'(x) & &-& \bb & \ZI & \barre & \ZI & \bb &+&
-% \barre[0] &-& \bb & & & & \bb & + & \\
+% \barre[0] &-& \bb & & & & \bb & + & \\
% \hline
% \variations{\mil{f(x)} & \haut{+\infty} && \bas{0}\barre & \ZI &
% \barre & \ZI & \bas{0}\barre && \haut{2} && \bas{0}\barre \discont
@@ -1219,11 +1239,11 @@
% \medskip
% \DescribeMacro{\tablvarset\marg{keyval}}
% Mais les environnements \texttt{tablvar} et \texttt{tablvar*} possèdent également
-% un jeu de paramètres qui peuvent être définis de manière globale
-% (ou locale dans un environnement ou un groupe |{...}|),
-% avec des variables spécifiques
-% ou (depuis la version 2.0) avec la commande |\tablvarset|\marg{keyval},
-% utilisant le mécanisme \emph{clé=valeur}.
+% un jeu de paramètres qui peuvent être définis de manière globale,
+% ou locale dans un environnement (ou un groupe |{...}|),
+% soit en utilisant des variables spécifiques,
+% soit (depuis la version 2.0) avec la commande |\tablvarset|\marg{keyval},
+% basée sur le mécanisme \emph{clé=valeur}.
%
% \DescribeEnv{tablvar\oarg{keyval}}\DescribeEnv{tablvar*\oarg{keyval}}
% Ces paramètres peuvent aussi être réglés localement,
@@ -1280,12 +1300,12 @@
% \begin{description}
% \item[stretch] qui est un facteur d'élasticité verticale agissant sur toutes
% les lignes du tableau
-% \footnote{Pour ajuster la hauteur d'une ligne particulière, on dispose de la
-% macro \texttt{\textbackslash vstrut}\oarg{depth}\marg{height}
+% \footnote{Pour augmenter la hauteur d'une ligne particulière, on pourra utiliser la
+% commande \texttt{\textbackslash vstrut}\oarg{depth}\marg{height}
% (du package \textsf{spacingtricks}~\cite{SPA}),
% où \meta{depth} désigne la \emph{profondeur} et \meta{height} la \emph{hauteur}
% minimales à atteindre par rapport à la ligne de \emph{base},
-% ou encore de \texttt{\bslash cstrut}\marg{height} qui garantit une hauteur minimale
+% ou encore \texttt{\bslash cstrut}\marg{height} qui garantit une hauteur minimale
% en-dessous et au-dessus de la ligne de centrage mathématique.} ;
% une valeur de 1 correspond à la valeur standard
% d'un environnement \texttt{array}.
@@ -1322,7 +1342,7 @@
%
% \medskip
% Le rendu des commandes graphiques peut également être modifié,
-% en redéfinissant ces commandes, en particulier |\fleche|, |vrconnect| et |\hachure|
+% en redéfinissant ces commandes, en particulier |\fleche|, |\vrconnect| et |\hachure|
% grâce aux nombreuses options offertes par PSTricks ou \TikZ.
% C'est le cas aussi de l'aspect des filets et barres du tableau qui sont définis
% par les commandes |\tvrulewidth| (\texttt{0.4pt} par défaut),
@@ -1349,8 +1369,8 @@
% \hline
% -\frac{x+2}{x^4} && - & \barre[0] & + & \bb & - & \\
% \hline
-% \variations{\mil{\e^{\frac{x+1}{x^2}}} & \haut{1} && \bas{\e^{-\frac{1}{4}}}
-% && \bblim{1}{+\infty}{1}{+\infty} && \bas{1} }
+% \variations{\mil{\e^{\frac{x+1}{\vstrut{1.2ex} x^2}}} & \haut{1} &&
+% \bas{\e^{-\frac{1}{4}}} && \bblim*{+}{+} && \bas{1} }
% \hline
%\end{tablvar} \]
% \begin{verbatim}
@@ -1366,24 +1386,27 @@
% \hline
% -\frac{x+2}{x^4} && - & \barre[0] & + & \bb & - & \\
% \hline
-% \variations{\mil{\e^{\frac{x+1}{x^2}}} & \haut{1} &&
-% \bas{\e^{-\frac{1}{4}}} && \bblim{1}{+\infty}{1}{+\infty} &&
-% \bas{1} }
+% \variations{\mil{\e^{\frac{x+1}{\vstrut{1.2ex} x^2}}} & \haut{1} &&
+% \bas{\e^{-\frac{1}{4}}} && \bblim*{+}{+} && \bas{1} }
% \hline
%\end{tablvar} \]
% \end{verbatim}
+%
+% Enfin deux autres paramètres de type longueur |\rowtopsep| et |\rowbottomsep|
+% garantissent un espace minimum (de \texttt{2pt} par défaut)
+% entre les filets horizontaux et le contenu des cellules, pour la colonne des légendes.
%
-% \subsection{Nouveautés de la version 2.0}
+% \subsection{Nouveautés depuis la version 2.0}
%
-% Cette version présente de nombreuses nouveautés :
+% La version 2.0 présente de nombreuses nouveautés :
% \begin{itemize}
% \item \emph{Il n'y a plus d'option par défaut} à l'appel de l'extension.
% C'était \texttt{pstricks} dans les versions précédentes.
% Dorénavant, si aucune option n'est précisée, l'extension choisira elle-même
-% en fonction du compilateur utilisé, donc \texttt{tikz} pour le moteur pdf\LaTeX\
+% en fonction du compilateur utilisé, donc \texttt{tikz} pour pdf\LaTeX\
% qui ne supporte pas le code PSTricks.
%
-% \item \emph{Les colonnes de valeurs ont des largeurs fixes (\texttt{2em} par défaut)}
+% \item \emph{Les colonnes de valeurs ont des largeurs fixes} (\texttt{2em} \emph{par défaut)}
% et non plus variables en fonction du contenu, comme c'était le cas jusqu'à la version
% 1.2. L'avantage est d'améliorer le centrage pour les signes,
% lorsque les colonnes de valeurs ont des largeurs très différentes,
@@ -1395,7 +1418,7 @@
% et a été fixé à \texttt{0pt} car, en l'absence de filets verticaux,
% il ne sert plus à rien avec les colonnes à largeur fixe.
% Mais, en contrepartie, \emph{la valeur par défaut de} |\intervalwidth|
-% \emph{a été augmentée de \texttt{2.5em} à \texttt{3em}}.
+% \emph{a été augmentée de} \texttt{2.5em} \emph{à} \texttt{3em}.
%
% \item Les réglages peuvent désormais être effectués,
% avec la syntaxe \emph{clé = valeur} et la commande |\tablvarset|,
@@ -1446,12 +1469,26 @@
% De nouveaux types de colonnes ont été définis pour les valeurs et légendes,
% mais sont également internes à l'environnement \texttt{tablvar}.
%
-% \item Les macros |\haut|, |\bas| et |\mil| peuvent à présent être utilisées
+% \item Les macros |\bas| et |\mil| peuvent à présent être utilisées
% même lorsque le nombre de lignes de variations est différent de 3.
% Dans ce cas, commande |\mil| calcule automatiquement le décalage vertical ;
% l'utilisateur n'a plus besoin d'un appel explicite à |\vdecal|.
% \end{itemize}
%
+% Dans la version 2.1 :
+% \begin{itemize}
+% \item Ont été ajoutés deux nouveaux paramètres |\rowtopsep| et |\rowbottomsep|
+% pour garantir un espace minimum (de \texttt{2pt} par défaut)
+% entre les filets horizontaux et le contenu pour la colonne des légendes.
+% \item
+% Il est désormais possible d'utiliser l'option \texttt{pstricks} avec \LuaLaTeX,
+% si \textsf{luapstricks} est installé sur votre distribution.
+% \item Le calcul du décalage vertical de la commande |\mil| a été amélioré,
+% dans le cas d'un nombre pair de lignes de variations.
+% \item Les nouvelles commandes étoilées |\limg*|, |\limd*| et |\bblim*|
+% permettent une écriture simplifiée de |\limg|, |\limd| et |\bblim|,
+% pour des limites $\infty$.
+% \end{itemize}
% \medskip
% Des problèmes de composition peuvent apparaître avec des tableaux
% réalisés antérieurement à la version 2.0, en particulier
@@ -1469,16 +1506,81 @@
% dans la rubrique \og Maths tabvar \fg.
% Nous les décrivons ici brièvement.
% \begin{description}
-% \item[tableaux] de Nicolas Kisselhoff~\cite{TABL}.
+% \item[tableaux] de Nicolas Kisselhoff~\cite{TABL}.
% Propose un pseudo-code PSTricks,
% certainement plus commode que d'écrire toutes les commandes PSTricks.
-
+% Attention l'extension doit être appelée avec |\usepackage{tableau}|, sans \texttt{x}.
+% Voici un exemple repris de la doc de \textsf{tableaux} avec le code en suivant.
+%\newpsstyle{hachured}{fillstyle=hlines,hatchwidth=0.2pt,hatchsep=2pt}
+%\setlength{\TabTitreL}{1cm}
+%
+%\begin{MonTableau}{1}{9}{1.5}
+%\psframe[style=hachured,linestyle=none](.3,1)(.45,0)
+%
+%\TabNewCol{0}
+%\rTabPut{Br}{-.15}{.25}{$x$}
+%\rTabPut{Br}{-.15}{.40}{$f(x)$}
+%
+%\TabNewCol{0}
+%\rTabPut{Bl}{.15}{.25}{$0$}
+%\rTabPut{Bl}{.15}{.60}{$\frac{3}{2}$}
+%
+%\TabNewCol{.30}
+%\rTabPut{B}{0}{.25}{$1$}
+%\rTabPut{Br}{-.15}{.80}{$+\infty$}
+%\psline[style=TabDblBarre](.3,0)(.3,1)
+%
+%\TabNewCol{.45}
+%\rTabPut{B}{0}{.25}{$\frac{3}{2}$}
+%\rTabPut[2]{B}{0}{.10}{\TabZ}
+%
+%\TabNewCol{1}
+%\rTabPut{Br}{-.15}{.25}{$+\infty$}
+%\rTabPut{Br}{-.15}{.40}{$1$}
+%
+%\TabFleche{B1}{C1}
+%\TabFleche{D1}{E1}
+%\end{MonTableau}
+%
+% \begin{verbatim}
+%\newpsstyle{hachured}{fillstyle=hlines,hatchwidth=0.2pt,hatchsep=2pt}
+%\setlength{\TabTitreL}{1cm}
+%
+%\begin{MonTableau}{1}{9}{1.5}
+%\psframe[style=hachured,linestyle=none](.3,1)(.45,0)
+%
+%\TabNewCol{0}
+%\rTabPut{Br}{-.15}{.25}{$x$}
+%\rTabPut{Br}{-.15}{.40}{$f(x)$}
+%
+%\TabNewCol{0}
+%\rTabPut{Bl}{.15}{.25}{$0$}
+%\rTabPut{Bl}{.15}{.60}{$\frac{3}{2}$}
+%
+%\TabNewCol{.30}
+%\rTabPut{B}{0}{.25}{$1$}
+%\rTabPut{Br}{-.15}{.80}{$+\infty$}
+%\psline[style=TabDblBarre](.3,0)(.3,1)
+%
+%\TabNewCol{.45}
+%\rTabPut{B}{0}{.25}{$\frac{3}{2}$}
+%\rTabPut[2]{B}{0}{.10}{\TabZ}
+%
+%\TabNewCol{1}
+%\rTabPut{Br}{-.15}{.25}{$+\infty$}
+%\rTabPut{Br}{-.15}{.40}{$1$}
+%
+%\TabFleche{B1}{C1}
+%\TabFleche{D1}{E1}
+%\end{MonTableau}
+% \end{verbatim}
+%
% \item[tabvar] de Daniel Flipo~\cite{TABV},
% l'auteur, entre-autres de \textsf{babel-french},
% extension bien connue de tous les utilisateurs francophones de \LaTeX.
% Permet de réaliser des tableaux plutôt symboliques.
% Voici un tableau simple et son code \textsf{tabvar}. \\
-% \begin{minipage}[t]{7cm}
+% \begin{minipage}[t]{7.5cm}
% \begin{verbatim}
%\[\begin{tabvar}{|C|CCCCR|}
% \hline
@@ -1492,7 +1594,7 @@
%\end{tabvar}\]
% \end{verbatim}
% \end{minipage}
-% \begin{minipage}[t]{5cm}
+% \begin{minipage}[t]{4.2cm}
%\[\begin{tabvar}{|C|CCCCR|}
% \hline
% x & 0 & & \frac{1}{2} & & 1 \\
@@ -1551,19 +1653,19 @@
% Une très belle extension qui fait a peu près tout ce que fait \textsf{tablvar}
% et même un peu plus : par exemple tangentes horizontales sur les extrema,
% cellules en couleur.
-% Un de ses principaux avantages par rapport à \textsf{tablvar} est de ne pas nécessiter
+% Un de ses principaux bénéfices par rapport à \textsf{tablvar} est de ne pas nécessiter
% de double compilation
% \footnote{La double compilation avec \textsf{tablvar} n'est cependant nécessaire
% qu'avec l'option \texttt{tikz}.}.
-% Signalons quelques différences avec \textsf{tablvar} :
+% Signalons quand même quelques avantages de \textsf{tablvar} :
% \begin{itemize}
-% \item un tableau n'est pas globalement en mode mathématique, il faut donc mettre les
-% \$ du mode math autour de chaque valeur,
-% \item les hauteurs de ligne doivent être précisées de manière explicite et
-% ne peuvent être données qu'en cm (unité fixe qui ne s'ajuste pas à la fonte),
-% \item \textsf{tablvar} offre la possibilité de mettre des 0 par dessus les flèches,
-% \item les double barres aux extrémités du tableau sont assez éloignées des filets,
-% ce qui peut donc laisser un certain blanc sur les bords.
+% \item avec \textsf{tkz-tab}, un tableau n'est pas globalement en mode mathématique,
+% il faut donc mettre les |$| du mode math autour de chaque valeur,
+% \item et les hauteurs de ligne doivent être précisées de manière explicite et
+% uniquement cm (unité fixe qui ne s'ajuste pas à la fonte),
+% \item \textsf{tablvar} offre la possibilité de mettre des valeurs par dessus les flèches,
+% \item dans \textsf{tkz-tab}, les double barres aux extrémités du tableau
+% sont assez éloignées des filets, ce qui laisse un blanc important sur les bords.
% \end{itemize}
% Voici un exemple illustrant ce dernier point, avec son code.
% Pour comparer, le tableau obtenu avec \textsf{tablvar}
@@ -1615,7 +1717,7 @@
\RequirePackage{ifthen}
\RequirePackage{multido}
\RequirePackage{xkeyval}
-\RequirePackage{ifpdf}
+\RequirePackage{iftex}
\newif\iftv@tikz % false par défaut
\DeclareOption{tikz}{\tv@tikztrue}
@@ -1625,23 +1727,31 @@
\iftv@pstricks
\ifpdf
- \PackageError{tablvar}{Don't use the pstricks option with PDF engines}{}
+ \ifluatex
+ \PackageInfo{tablvar}{Option 'pstricks' works
+ with luapstricks}
+ \else
+ \PackageError{tablvar}{Don't use the 'pstricks' option with
+ PDF output mode}{Use 'tikz' option or change the engine}
+ \fi
\else
- \PackageInfo{tablvar}{PSTricks option is used}
+ \PackageInfo{tablvar}{Option 'pstricks' is used}
\fi
\else\iftv@tikz
- \PackageInfo{tablvar}{tikz option is used.
+ \AtEndDocument{\PackageWarningNoLine{tablvar}{Option 'tikz' is used.
\MessageBreak
- Run twice to draw the arrows correctly}
+ Maybe rerun to draw the arrows correctly}
+ }
\else\ifpdf
- \PackageWarningNoLine{tablvar}{PDF engine is used,
- I'm using the tikz option.
+ \AtEndDocument{\PackageWarningNoLine{tablvar}{Output is in PDF mode,
+ I'm using the 'tikz' option.
\MessageBreak
- Run twice to draw the arrows correctly}
+ Maybe rerun to draw the arrows correctly}
+ }
\tv@tikztrue
\else
- \PackageWarningNoLine{tablvar}{PDF engines not used,
- I'm using the pstricks option}
+ \PackageWarningNoLine{tablvar}{Output is in DVI mode,
+ I'm using the 'pstricks' option}
\tv@pstrickstrue
\fi\fi\fi
@@ -1832,6 +1942,28 @@
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\rowtopsep}
+% Cette longueur définit l'espace minimal entre le filet vertical supérieur et le contenu,
+% pour les cellules de la colonne des légendes.
+% Elle ne s'applique pas pour les lignes de variations
+% puisque, dans la colonne des légendes, seule la ligne
+% \og milieu \fg est censée posséder un contenu.
+% \begin{macrocode}
+\newlength{\rowtopsep}
+\setlength{\rowtopsep}{2pt}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\rowbottomsep}
+% Cette longueur définit l'espace minimal entre le filet vertical inférieur et le contenu,
+% pour les cellules de la colonne des légendes.
+% Elle ne s'applique pas pour les lignes de variations.
+% \begin{macrocode}
+\newlength{\rowbottomsep}
+\setlength{\rowbottomsep}{2pt}
+% \end{macrocode}
+% \end{macro}
+
% \subsection{Les commandes graphiques PSTricks/\TikZ} \label{graph}
%
% Nous présentons ici les commandes graphiques permettant le dessin
@@ -1962,12 +2094,13 @@
}
% \end{macrocode}
-% La commande |\mil| positionne son contenu sur la colonne 2,
-% mais réalise un décalage vertical si le nombre de lignes de variations diffère de 3.
+% La commande |\mil| positionne son contenu sur la colonne |mil@row|,
+% et réalise un décalage vertical de |\mil@shift|
+% si le nombre de lignes de variations est pair.
% Pour cela nous avons besoin d'une variable de dimension et d'un compteur.
% \begin{macrocode}
-\newlength\mil@heightshift
-\newcounter{mil@rowshift}
+\newlength\mil@shift
+\newcounter{mil@row}
% \end{macrocode}
% Pour gérer correctement les zones interdites, avec la commande |\ZI|,
@@ -2046,7 +2179,7 @@
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\tv@saveheight}
+% \begin{macro}{\tv@setheight}
% Cette macro sert à calculer la hauteur et la profondeur d'une cellule,
% qui seront enregistrées dans des variables globales afin que la commande |\ZI|
% puisse les récupérer.
@@ -2071,21 +2204,22 @@
% et le contenu de la cellule agrandie va toucher le filet horizontal.
% La solution est alors de placer un |\vstrut| ou |\cstrut| dans la colonne
% de légendes pour augmenter sa hauteur qui, de ce fait, sera bien enregistrée
-% par |\tv@saveheight|.
+% par |\tv@setheight|.
% \begin{macrocode}
-\newcommand\tv@saveheight{%
- \tv@cellheight=0pt
- \tv@celldepth=0pt
- \ifdim \ht\tv@cellbox > \ht\@arstrutbox
- \global\advance\tv@cellheight by \ht\tv@cellbox
- \else
- \global\advance\tv@cellheight by \ht\@arstrutbox
+\newcommand\tv@setheight{%
+ \global\tv@cellheight=\ht\tv@cellbox
+ \ifthenelse{\value{var@ligne}=0}{
+ \global\advance\tv@cellheight by \rowtopsep}{}
+ \ifdim \tv@cellheight < \ht\@arstrutbox
+ \global\tv@cellheight = \ht\@arstrutbox
\fi
- \ifdim \dp\tv@cellbox > \dp\@arstrutbox
- \global\advance\tv@celldepth by \dp\tv@cellbox
- \else
- \global\advance\tv@celldepth by \dp\@arstrutbox
+ \global\tv@celldepth=\dp\tv@cellbox
+ \ifthenelse{\value{var@ligne}=0}{
+ \global\advance \tv@celldepth by \rowbottomsep}{}
+ \ifdim \tv@celldepth < \dp\@arstrutbox
+ \global\tv@celldepth = \dp\@arstrutbox
\fi
+ \vrule height \tv@cellheight depth \tv@celldepth width 0pt
}
% \end{macrocode}
% \end{macro}
@@ -2115,7 +2249,7 @@
>{\setcounter{tv@icol}{0}\stepcounter{tv@row}\begin{lrbox}%
\tv@cellbox $}%
c%
- <{$\end{lrbox}\usebox{\tv@cellbox}\tv@saveheight}}
+ <{$\end{lrbox}\usebox{\tv@cellbox}\tv@setheight}}
% type de colonne i pour les intervalles
\newcolumntype{i}{>{\stepcounter{tv@icol}
\centering\arraybackslash$}p{\intervalwidth}<{$}}
@@ -2142,7 +2276,7 @@
% On commence par prendre en compte les options grâce à |\setkeys*| fourni par l'extension
% \textsf{xkeyval}. La version étoilée de |\setkeys|
% a l'avantage de ne pas produire d'erreur lorsqu'une clé n'est pas reconnue
-% (celle-ci est passée à |XKV@rm|). On l'interprète
+% (celle-ci est passée à |\XKV@rm|). On l'interprète
% \footnote{Un message d'erreur de dimension erronée
% peut donc signifier que l'on s'est trompé dans l'orthographe d'une clé.}
% alors comme une dimension pour le paramètre |\intervalwidth|.
@@ -2156,8 +2290,8 @@
\setkeys*{tablvar}{#1} % fourni par xkeyval
\if\XKV@rm\empty \else \setlength{\intervalwidth}{#1} \fi
\tvcoltypes
- \ifextleft \newcolumntype{B}{v{l}} \else \newcolumntype{B}{v{c}} \fi
- \ifextright \newcolumntype{E}{v{r}} \else \newcolumntype{E}{v{c}} \fi
+ \ifextleft\newcolumntype{B}{v{l}}\else\newcolumntype{B}{v{c}}\fi
+ \ifextright\newcolumntype{E}{v{r}}\else\newcolumntype{E}{v{c}}\fi
\tablvarinit{#2}
\ZIinit
\begin{array}{%
@@ -2228,11 +2362,12 @@
% Les flèches et pointillés sont dessinés à la fin, quand tous les nœuds sont créés,
% mais il faut les tracer avant le |\\| final, sinon la compilation plante !
% Le compteur |var@ligne| doit être remis à 0 au cas où il y a plusieurs parties variations.
+% Cette remise à zéro s'effectue à la fin au cas où on mettrait des lignes de signes
+% après une ligne variations.
% \begin{macrocode}
\newcommand*{\variations}[2][3]{% #1=nblignes (3 par défaut)
% (ré)initialisation des compteurs
\setcounter{nbvarlignes}{#1}
- \setcounter{var@ligne}{0}
\setcounter{numdiscont}{0}
\multido{\I=1+1}{\themaxdiscont}{\setcounter{discont\I}{0}}
% boucle : on exécute le code #2 un nb de fois égal à (#1)-1
@@ -2259,6 +2394,7 @@
}
% tracé des pointillés pour les valeurs remarquables
\multido{\Ix=1+1}{\thenumvr}{\vrconnect{X\Ix}{Y\Ix}}
+ \setcounter{var@ligne}{0}
\\ % dernier retour ligne du tableau
}
% \end{macrocode}
@@ -2291,6 +2427,7 @@
% Place son contenu dans une boite de largeur nulle : affiche le contenu
% mais considère que l'espace occupé est nul pour ne pas altérer le calcul de la
% largeur de colonne.
+% Cette macro est similaire à |\mathclap| de l'extension \textsf{mathtools}~\cite{TOOLS}.
% Sa syntaxe est :
% |\zbox|\oarg{pos}\marg{contenu} où \meta{opt} = |c| (par défaut), |l| (left) ou |r| (right).
% \begin{macrocode}
@@ -2367,24 +2504,31 @@
% \end{macro}
% \begin{macro}{\mil}
-% La commande |\mil|\marg{valeur} positionne \meta{valeur} sur la ligne 2
-% de la partie variations. Lorsqu'il y a 3 lignes de variations cela correspond bien
-% au milieu, mais sinon on réalise un décalage vertical grâce à |\vdecal|.
-% La formule de ce décalage est
-% $(3- \mbox{nblignes}) \times (\mbox{hauteur de ligne})/2$.
-% Le résultat de ce calcul est stocké dans la variable de dimension |\mil@heightshift|.
-% Au cas où |\mil| ne donnerait pas un résultat parfait, on pourrait alors régler
+% Pour un nombre $n$ impair de lignes de variations,
+% la commande |\mil|\marg{valeur} positionne \meta{valeur} sur la ligne $\frac{n+1}{2}$
+% de la partie variations. Cela correspond bien à la ligne du milieu :
+% ligne 2 lorsqu'il y a 3 lignes.
+% Par contre si $n$ est pair, on place \meta{valeur} sur la ligne $\frac{n}{2}$ mais avec
+% un décalage vertical négatif (vers le bas) grâce à |\vdecal|.
+% Ce décalage correspond à une profondeur de cellule augmenté de \texttt{0.5ex}
+% (écart entre la ligne de base du texte et la ligne de centrage mathématique).
+% Le résultat de ce calcul est stocké dans la variable de dimension |\mil@shift|.
+% Au cas où l'on ne serait pas satisfait du résultat de |\mil|, on pourrait alors régler
% le décalage manuellement avec
%|\pos*|\marg{ligne}|{\vdecal|\marg{decal}\marg{contenu}|}|.
% \begin{macrocode}
\newcommand*{\mil}[1]{%
- \mil@heightshift = \ht\@arstrutbox
- \advance\mil@heightshift by \dp\@arstrutbox
- \divide\mil@heightshift by 2
- \setcounter{mil@rowshift}{3}
- \addtocounter{mil@rowshift}{-\value{nbvarlignes}}
- \multiply\mil@heightshift by \value{mil@rowshift}
- \pos*{2}{\vdecal{\mil@heightshift}{#1}}
+ \setcounter{mil@row}{\value{nbvarlignes}}
+ \ifthenelse{\isodd{\value{nbvarlignes}}}{
+ \addtocounter{mil@row}{1}
+ \divide\value{mil@row} by 2
+ \pos*{\themil@row}{\smash{#1}}
+ }{
+ \divide\value{mil@row} by 2
+ \mil@shift = \dp\@arstrutbox
+ \advance\mil@shift by 0.5ex
+ \pos*{\themil@row}{\vdecal{-\mil@shift}{#1}}
+ }
}
% \end{macrocode}
% \end{macro}
@@ -2409,7 +2553,7 @@
% \begin{macro}{\bb}
% La macro |\bb|, qui produit une double barre,
-% reprend celle de l'extension \textsf{variations} de Christian Obrecht
+% reprend celle de l'extension \mbox{\textsf{variations}} de Christian Obrecht :
% |\def\bb{\vrule\kern1pt\vrule}|.
% Nous avons ajouté \texttt{1.5pt} d'espace avant et après, afin d'aligner au mieux
% la double barre avec un 0 sur la ligne des $x$, lorsque la double barre
@@ -2423,14 +2567,38 @@
% \end{macro}
% \DescribeMacro{\limg}\DescribeMacro{\limd}
-% Les macros |\limg| et |limd| servent à positionner des limites à gauche \emph{ou} à droite,
+% Les macros |\limg| et |\limd| servent à positionner des limites à gauche ou à droite,
% en particulier aux bords des double barres.
% Le premier paramètre, optionnel, précise l'option de positionnement (\texttt{c},
% \texttt{l} ou \texttt{r}) et le second \emph{obligatoire} et le numéro de ligne,
% enfin le troisième est la valeur à placer.
+%
+% \DescribeMacro{\limg*}\DescribeMacro{\limd*}
+% Les versions étoilées n'acceptent comme argument que \texttt{+} ou \texttt{-},
+% |\limg*{+}| correspond à |\limg{1}{+\infty}|,
+% |\limg*{-}| correspond à |\limg{|$n$|}{-\infty}| (pour une partie variations
+% sur $n$ lignes et de même pour |\limd*|.
% \begin{macrocode}
-\newcommand*{\limg}[3][c]{\zbox[r]{\valpos[#1]{#2}{#3\hspace{\limsep}}}}
-\newcommand*{\limd}[3][c]{\zbox[l]{\valpos[#1]{#2}{\hspace{\limsep}#3}}}
+\newcommand*{\@limg}[3][c]{%
+ \zbox[r]{\valpos[#1]{#2}{#3\hspace{\limsep}}}}
+\newcommand*{\@limd}[3][c]{%
+ \zbox[l]{\valpos[#1]{#2}{\hspace{\limsep}#3}}}
+\newcommand*{\@@limg}[1]{%
+ \ifthenelse{\equal{#1}{+}}{\@limg{1}{+\infty}}{
+ \ifthenelse{\equal{#1}{-}}{\@limg{\value{nbvarlignes}}{-\infty}}{
+ \PackageError{tablvar}{Invalid argument for \string\limg*}
+ {Only + or - are valid arguments for \string\limg*}
+ }}
+}
+\newcommand*{\@@limd}[1]{%
+ \ifthenelse{\equal{#1}{+}}{\@limd{1}{+\infty}}{
+ \ifthenelse{\equal{#1}{-}}{\@limd{\value{nbvarlignes}}{-\infty}}{
+ \PackageError{tablvar}{Invalid argument for \string\limd*}
+ {Only + or - are valid arguments for \string\limd*}
+ }}
+}
+\newcommand{\limg}{\@ifstar{\@@limg}{\@limg}}
+\newcommand{\limd}{\@ifstar{\@@limd}{\@limd}}
% \end{macrocode}
% \begin{macro}{\discont}
@@ -2458,16 +2626,19 @@
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\bblim}
-% Sert à positionner des limites à gauche \emph{et} à droite
+% \DescribeMacro{\bblim}\DescribeMacro{\bblim*}
+% Ces macros servent à positionner des limites à gauche \emph{et} à droite
% d'une double barre.
-% Cette macro trace la double barre, place les limites et appelle |\discont|.
-% Sa syntaxe est :
-% |\bblim|\marg{ligne gauche}\marg{limite gauche}\marg{ligne droite}\marg{limite droite}.
+% Elles tracent la double barre, placent les limites et appellent |\discont|.\\
+% La syntaxe de |\bblim| est : \\
+% |\bblim|\marg{ligne gauche}\marg{limite gauche}\marg{ligne droite}\marg{limite droite}.\\
+% La syntaxe de|\bblim*| reprend celle de |\limg*| et |\limd*| :
+% |\bblim*|\marg{+$\vert$-}\marg{+$\vert$-}.
% \begin{macrocode}
-\newcommand*{\bblim}[4]{\limg{#1}{#2}\bb\discont\limd{#3}{#4}}
+\newcommand*{\@bblim}[4]{\limg{#1}{#2}\bb\discont\limd{#3}{#4}}
+\newcommand*{\@@bblim}[2]{\limg*{#1}\bb\discont\limd*{#2}}
+\newcommand*{\bblim}{\@ifstar{\@@bblim}{\@bblim}}
% \end{macrocode}
-% \end{macro}
% \begin{macro}{\vr}
% La commande |\vr| fabrique un nœud pour chaque valeur remarquable.
@@ -2595,7 +2766,7 @@
% courante dans une des 4 variables de dimension |\ZIheighti|, \ldots, |\ZIheightiv|
% correspondant à la zone interdite appelante.
% On récupère hauteur et profondeur qui ont été enregistrés dans
-% les variables globales |\tv@cellheight| et |\tv@cellheight|,
+% les variables globales |\tv@cellheight| et |\tv@celldepth|,
% par la colonne de légendes de la même ligne.
% Le numéro de la ZI (son indice) est passé en argument.
% \begin{macrocode}
@@ -2711,18 +2882,18 @@
% \end{macrocode}
%
% \bigskip
-% \begin{thebibliography}{14}
+% \begin{thebibliography}{15}
% \begin{raggedright}
-% \bibitem{TABL} \emph{Tableaux}. Nicolas Kisselhoff, CTAN.
-% \bibitem{TABV} \emph{Tableaux de variations : \textsf{‘tabvar’}}. Daniel Flipo,
+% \bibitem{TABL} \emph{Tableaux}, Nicolas Kisselhoff, CTAN.
+% \bibitem{TABV} \emph{Tableaux de variations : \textsf{‘tabvar’}}, Daniel Flipo,
% CTAN, v1.8 16/07/2022.
-% \bibitem{VARI} \emph{L'extension \textsf{variations}}. Christian Obrecht,
+% \bibitem{VARI} \emph{L'extension \textsf{variations}}, Christian Obrecht,
% CTAN, v0.3 13/09/2006.
% \bibitem{TABLOR} \emph{\textsf{tablor.sty} La machine à créer des tableaux
-% de signes et de variations}. Guillaume Connan, CTAN, v4.07 09/05/2010.
+% de signes et de variations}, Guillaume Connan, CTAN, v4.07 09/05/2010.
% \bibitem{VARMP} \emph{\textsf{tableauVariations} -- Variation tables in
-% \textlogo{METAPOST}}. Frédéric Mazoit, CTAN, 2005.
-% \bibitem{TKZ} \emph{\textsf{Tkz-Tab}}. Alain Matthes, CTAN,
+% \textlogo{METAPOST}}, Frédéric Mazoit, CTAN, 2005.
+% \bibitem{TKZ} \emph{\textsf{Tkz-Tab}}, Alain Matthes, CTAN,
% v2.12c 29/04/2020.
% \bibitem{ARRAY} \emph{A new implementation of LATEX’s \textsf{tabular} and \textsf{array}
% environment}, Frank Mittelbach, David Carlisle, CTAN, v2.5g revised 16/10/2023.
@@ -2734,12 +2905,14 @@
% v1.9.0 04/01/2022.
% \bibitem{SPA} \emph{The \textsf{spacingtricks} package}, Antoine Missier,
% CTAN, v1.7 28/07/2023.
-% \bibitem{XKEY} \emph{The \textsf{xkeyval} package}. Hendri Adriaens,
-% CTAN, v2.9, 16/06/2022.
-% \bibitem{MIS} \emph{\textsf{mismath} -- Miscellaneous mathematical macros},
-% Antoine Missier, CTAN, v2.9 19/12/2023.
-% \bibitem{FR} \emph{L'extension \textsf{frenchmath}}. Antoine Missier,
-% CTAN, v2.7, 23/12/2023.
+% \bibitem{XKEY} \emph{The \textsf{xkeyval} package}, Hendri Adriaens,
+% CTAN, v2.9 16/06/2022.
+% \bibitem{TOOLS} \emph{The \textsf{mathtools} package}, Morten Høgholm, Lars Madsen,
+% CTAN, v1.23 17/01/2020.
+% \bibitem{MIS} Miscellaneous mathematical macros -- The \emph{\textsf{mismath} package},
+% Antoine Missier, CTAN, v3.1 16/06/2024.
+% \bibitem{FR} \emph{L'extension \textsf{frenchmath}}, Antoine Missier,
+% CTAN, v3.1 07/05/2024.
% \end{raggedright}
% \end{thebibliography}
% \Finale
diff --git a/macros/latex/contrib/tablvar/tablvar.ins b/macros/latex/contrib/tablvar/tablvar.ins
index 0280b61773..192a1eb6e8 100644
--- a/macros/latex/contrib/tablvar/tablvar.ins
+++ b/macros/latex/contrib/tablvar/tablvar.ins
@@ -1,5 +1,5 @@
%%
-%% Copyright (C) 2018-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+%% Copyright (C) 2018-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr>
%%
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 of this license
@@ -21,7 +21,7 @@
This is a generated file.
-Copyright (C) 2018-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+Copyright (C) 2018-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr>
This file may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3 of this license
@@ -46,7 +46,7 @@ and version 1.3 or later is part of all distributions of LaTeX version
\Msg{* tablvar.sty *}
\Msg{* *}
\Msg{* To produce the documentation run the file tablvar.dtx *}
-\Msg{* through XeLaTeX or LaTeX + dvips + ps2pdf. *}
+\Msg{* through LaTeX + dvips + ps2pdf. *}
\Msg{* *}
\Msg{* Happy TeXing! *}
\Msg{* *}
diff --git a/macros/latex/contrib/tablvar/tablvar.pdf b/macros/latex/contrib/tablvar/tablvar.pdf
index 7f5962d8fc..d949a47be3 100644
--- a/macros/latex/contrib/tablvar/tablvar.pdf
+++ b/macros/latex/contrib/tablvar/tablvar.pdf
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/README.md b/macros/latex/contrib/tagpdf/README.md
index 9602302c2a..edcdc6b5e6 100644
--- a/macros/latex/contrib/tagpdf/README.md
+++ b/macros/latex/contrib/tagpdf/README.md
@@ -1,6 +1,6 @@
#tagpdf — A package to create tagged pdf
-Packageversion: 0.99c
-Packagedate: 2024/06/20
+Packageversion: 0.99d
+Packagedate: 2024/08/02
Author: Ulrike Fischer, LaTeX Project Team
## License
diff --git a/macros/latex/contrib/tagpdf/ex-AF-file.pdf b/macros/latex/contrib/tagpdf/ex-AF-file.pdf
index 37673eac26..9ba962e1e3 100644
--- a/macros/latex/contrib/tagpdf/ex-AF-file.pdf
+++ b/macros/latex/contrib/tagpdf/ex-AF-file.pdf
@@ -1,11 +1,11 @@
%PDF-2.0
%
22 0 obj
-<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<</ModDate (D:20240620175033+02'00') /Size 151 /CheckSum (4C0D15859D9BA750E65BE6F420DEA972) >> /Length 151 >>
+<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<</ModDate (D:20240802125547+02'00') /Size 151 /CheckSum (D4716966C44F441B4E4C1D2DD929683B) >> /Length 151 >>
stream
%% LaTeX2e file `example-input-file.tex'
%% generated by the `filecontents' environment
-%% from source `ex-AF-file' on 2024/06/20.
+%% from source `ex-AF-file' on 2024/08/02.
%%
Additional info!
@@ -15,7 +15,7 @@ endobj
<< /Type /Filespec /AFRelationship /Unspecified /F (example-input-file.tex) /UF <FEFF006500780061006D0070006C0065002D0069006E007000750074002D00660069006C0065002E007400650078> /EF<</F 22 0 R/UF 22 0 R>> >>
endobj
25 0 obj
-<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240620) >> /Length 19 >>
+<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240802) >> /Length 19 >>
stream
Bär with teh shirt
endstream
@@ -24,7 +24,7 @@ endobj
<< /Type /Filespec /AFRelationship /Supplement /F (tag-AFfile1.txt) /UF <FEFF007400610067002D0041004600660069006C00650031002E007400780074> /EF<</F 25 0 R/UF 25 0 R>> >>
endobj
28 0 obj
-<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240620) >> /Length 4 >>
+<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240802) >> /Length 4 >>
stream
Duck
endstream
@@ -242,17 +242,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:50:54+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:56:09+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-AF-file.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:50:54+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:50:54+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:50:54+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:56:09+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:56:09+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:56:09+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:38d5a844-2217-4081-87cc-b2129dc357a6</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:9859f422-c856-46c6-8928-4dfab5f8790c</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:3ff2b426-7c06-4861-8f14-4e8e04ac9b4c</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -347,7 +347,7 @@ endobj
<< /Type /Namespace /NS (https://www.latex-project.org/ns/book/2022) /RoleMapNS 18 0 R >>
endobj
19 0 obj
-<< /Type /Namespace /NS (data:,15379C35-DB3-5B3E-89A5-42149DCFB2F) >>
+<< /Type /Namespace /NS (data:,BBA64916-90D9-A0B9-F592-8E68FD20F532) >>
endobj
8 0 obj
[ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ]
@@ -449,7 +449,7 @@ endobj
<< /Type /Catalog /Pages 36 0 R /MarkInfo 37 0 R/Lang (de-DE)/Metadata 31 0 R/StructTreeRoot 5 0 R >>
endobj
46 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175054+02'00')/ModDate (D:20240620175054+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125609+02'00')/ModDate (D:20240802125609+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 47
@@ -458,10 +458,10 @@ xref
0000000003 00000 f
0000000004 00000 f
0000000010 00000 f
-0000016360 00000 n
+0000016362 00000 n
0000013627 00000 n
0000013838 00000 n
-0000015790 00000 n
+0000015792 00000 n
0000014417 00000 n
0000000012 00000 f
0000014485 00000 n
@@ -474,34 +474,34 @@ xref
0000015425 00000 n
0000015703 00000 n
0000000000 00000 f
-0000015851 00000 n
+0000015853 00000 n
0000000020 00000 n
0000000382 00000 n
-0000015964 00000 n
+0000015966 00000 n
0000000603 00000 n
0000000758 00000 n
-0000016096 00000 n
+0000016098 00000 n
0000000943 00000 n
0000001083 00000 n
-0000016228 00000 n
+0000016230 00000 n
0000001268 00000 n
0000013481 00000 n
0000013346 00000 n
0000012740 00000 n
-0000020113 00000 n
-0000020467 00000 n
+0000020115 00000 n
+0000020469 00000 n
0000013591 00000 n
0000013684 00000 n
0000013801 00000 n
-0000016480 00000 n
-0000018929 00000 n
-0000016666 00000 n
-0000019150 00000 n
-0000020267 00000 n
-0000020529 00000 n
-0000020647 00000 n
+0000016482 00000 n
+0000018931 00000 n
+0000016668 00000 n
+0000019152 00000 n
+0000020269 00000 n
+0000020531 00000 n
+0000020649 00000 n
trailer
-<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <CB0601DB4D9A68774E7E29190E0D5823> <CB0601DB4D9A68774E7E29190E0D5823> ] >>
+<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <E2F9D94DBDFC11D2EE5801BA51FD5C99> <E2F9D94DBDFC11D2EE5801BA51FD5C99> ] >>
startxref
-20870
+20872
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf b/macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf
index 8bbbbcc16c..f64d4e66bf 100644
--- a/macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf
+++ b/macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/ex-attribute.pdf b/macros/latex/contrib/tagpdf/ex-attribute.pdf
index 172ce02990..feda9e252a 100644
--- a/macros/latex/contrib/tagpdf/ex-attribute.pdf
+++ b/macros/latex/contrib/tagpdf/ex-attribute.pdf
@@ -216,17 +216,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:51:49+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:57:08+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-attribute.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:51:49+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:51:49+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:51:49+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:57:08+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:57:08+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:57:08+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:7a9cf910-1c19-429a-8f24-339c62d8a57f</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:d4b89449-5e1d-43cf-83af-3903105d1b3f</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:b262e437-7e89-4c42-8e29-bedae4c498b6</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -450,7 +450,7 @@ endobj
<< /Type /Catalog /Pages 26 0 R /MarkInfo 27 0 R/Lang (de_DE)/Metadata 21 0 R/StructTreeRoot 5 0 R >>
endobj
38 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/Title (Title)/CreationDate (D:20240620175149+02'00')/ModDate (D:20240620175149+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/Title (Title)/CreationDate (D:20240802125708+02'00')/ModDate (D:20240802125708+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 39
@@ -494,7 +494,7 @@ xref
0000017721 00000 n
0000017839 00000 n
trailer
-<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ <658202793A4D39DC44497E1203173F04> <658202793A4D39DC44497E1203173F04> ] >>
+<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ <2033D8BFB67E1F1EDFB190E1DEC10A2C> <2033D8BFB67E1F1EDFB190E1DEC10A2C> ] >>
startxref
18076
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-formula-problem.pdf b/macros/latex/contrib/tagpdf/ex-formula-problem.pdf
index 9ac7a851bc..637338d16f 100644
--- a/macros/latex/contrib/tagpdf/ex-formula-problem.pdf
+++ b/macros/latex/contrib/tagpdf/ex-formula-problem.pdf
@@ -239,17 +239,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:52:18+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:57:37+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-formula-problem.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:52:18+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:52:18+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:52:18+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:57:37+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:57:37+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:57:37+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:8eb2ce1d-b2ec-440a-8bc2-73733eb3eeb0</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:b48ac58a-5b57-46ab-8ab8-087479364eeb</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:8fbc3896-5f57-401a-81d8-1fdb02abac8a</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>2</prism:pageCount>
</rdf:Description>
@@ -425,7 +425,7 @@ endobj
<< /Type /Catalog /Pages 16 0 R /MarkInfo 23 0 R/Lang (de-DE)/Metadata 19 0 R/StructTreeRoot 5 0 R >>
endobj
33 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175218+02'00')/ModDate (D:20240620175218+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125737+02'00')/ModDate (D:20240802125737+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 34
@@ -464,7 +464,7 @@ xref
0000018886 00000 n
0000019004 00000 n
trailer
-<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ <4A2EBD4B9A1971E2BAF6A530303DF07B> <4A2EBD4B9A1971E2BAF6A530303DF07B> ] >>
+<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ <84EDE341B761805B059537E407E8C0CD> <84EDE341B761805B059537E407E8C0CD> ] >>
startxref
19227
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-list.pdf b/macros/latex/contrib/tagpdf/ex-list.pdf
index 2346b0398a..381477d829 100644
--- a/macros/latex/contrib/tagpdf/ex-list.pdf
+++ b/macros/latex/contrib/tagpdf/ex-list.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:52:47+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:58:08+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-list.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:52:47+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:52:47+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:52:47+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:58:08+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:58:08+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:58:08+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:4c749825-1de7-414c-879f-29e4d0bef66e</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:843c5ce9-108a-49d8-86ef-881382f178ee</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:0803684d-fad7-4d08-8dc2-c5108f24d889</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -654,7 +654,7 @@ endobj
<< /Type /Catalog /Pages 54 0 R /MarkInfo 55 0 R/Lang (en)/Metadata 48 0 R/StructTreeRoot 5 0 R >>
endobj
72 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175247+02'00')/ModDate (D:20240620175247+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125808+02'00')/ModDate (D:20240802125808+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 73
@@ -732,7 +732,7 @@ xref
0000029590 00000 n
0000029705 00000 n
trailer
-<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ <14B40F363BE2C4EFB96EAE91DC2CE4F7> <14B40F363BE2C4EFB96EAE91DC2CE4F7> ] >>
+<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ <0EE2DD31789AD5C7E80F8407D72CF075> <0EE2DD31789AD5C7E80F8407D72CF075> ] >>
startxref
29928
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf b/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
index 70cfe5e793..6d60e10736 100644
--- a/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
+++ b/macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
@@ -243,17 +243,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:53:22+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:58:35+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-mc-manual-para-split-obsolete.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:53:22+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:53:22+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:53:22+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:58:35+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:58:35+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:58:35+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:c33d64b4-96ec-4e48-8f27-0b3edc831547</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:36712ce3-22f3-4c4a-8418-0427448d178a</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:075c36f4-757d-4e0f-8258-3c0a3e372d69</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>2</prism:pageCount>
</rdf:Description>
@@ -413,7 +413,7 @@ endobj
<< /Type /Catalog /Pages 14 0 R /Lang (de)/Metadata 15 0 R >>
endobj
25 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175322+02'00')/ModDate (D:20240620175322+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125835+02'00')/ModDate (D:20240802125835+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 26
@@ -444,7 +444,7 @@ xref
0000023894 00000 n
0000023972 00000 n
trailer
-<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <2A141E41EDA78C2ADA31A952D041C439> <2A141E41EDA78C2ADA31A952D041C439> ] >>
+<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <1A7EFBAD198841A82D20467F858B3B6C> <1A7EFBAD198841A82D20467F858B3B6C> ] >>
startxref
24195
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-softhyphen.pdf b/macros/latex/contrib/tagpdf/ex-softhyphen.pdf
index 5f96db2bdb..09a8d8aca0 100644
--- a/macros/latex/contrib/tagpdf/ex-softhyphen.pdf
+++ b/macros/latex/contrib/tagpdf/ex-softhyphen.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:53:55+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:59:01+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-softhyphen.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:53:55+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:53:55+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:53:55+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:59:01+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:59:01+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:59:01+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:aa82e685-4098-469d-861c-3c45dfc700c7</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:9c8a342f-f758-4367-8d05-7621809f3e05</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:994c7ab3-d509-4a5b-88b5-92bca5031c75</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -393,7 +393,7 @@ endobj
<< /Type /Catalog /Pages 19 0 R /MarkInfo 20 0 R/Lang (de)/Metadata 14 0 R/StructTreeRoot 5 0 R >>
endobj
30 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175355+02'00')/ModDate (D:20240620175355+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125901+02'00')/ModDate (D:20240802125901+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 31
@@ -429,7 +429,7 @@ xref
0000018113 00000 n
0000018228 00000 n
trailer
-<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ <5BCC76B86A64606D9B117AF50FFA18AE> <5BCC76B86A64606D9B117AF50FFA18AE> ] >>
+<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ <EECF5F575625EC21F0BEE870E572FEB1> <EECF5F575625EC21F0BEE870E572FEB1> ] >>
startxref
18451
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf b/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
index 21b11b9346..35e1d0609a 100644
--- a/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
+++ b/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:54:22+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:59:25+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-spaceglyph-listings.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:54:22+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:54:22+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:54:22+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:59:25+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:59:25+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:59:25+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:acdc2435-bf29-4e54-8d09-1c9b6dc32038</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:ad8487cb-8dcc-4cab-8542-55106010deec</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:c59181fc-bb69-430b-8f90-90206d3ba579</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -354,7 +354,7 @@ endobj
<< /Type /Catalog /Pages 15 0 R /MarkInfo 16 0 R/Lang (de)/Metadata 10 0 R/StructTreeRoot 5 0 R >>
endobj
26 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175422+02'00')/ModDate (D:20240620175422+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125925+02'00')/ModDate (D:20240802125925+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 27
@@ -386,7 +386,7 @@ xref
0000015485 00000 n
0000015600 00000 n
trailer
-<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ <50A5738B4CABF76A4CC27558811B7E58> <50A5738B4CABF76A4CC27558811B7E58> ] >>
+<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ <EC0A5DEABF5EE1A293FAD60891A0BF63> <EC0A5DEABF5EE1A293FAD60891A0BF63> ] >>
startxref
15823
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf b/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf
index 7c9c135bf7..73ce1c0602 100644
--- a/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf
+++ b/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:54:47+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:59:50+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-structure-obsolete.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:54:47+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:54:47+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:54:47+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T12:59:50+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:59:50+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:59:50+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:bf5e4a2b-cfa9-4fc5-878c-8f9d2ee95445</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:971e1e25-37c4-4af9-8523-72714a87dea7</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:2ccba557-e5ae-4703-80db-28b73a88c1cd</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -526,7 +526,7 @@ endobj
<< /Type /Catalog /Pages 26 0 R /MarkInfo 27 0 R/Lang (de)/Metadata 20 0 R/StructTreeRoot 5 0 R >>
endobj
43 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175447+02'00')/ModDate (D:20240620175447+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802125950+02'00')/ModDate (D:20240802125950+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 44
@@ -575,7 +575,7 @@ xref
0000023423 00000 n
0000023538 00000 n
trailer
-<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <ADB87D57539D5CE2A8FC3A4721B94DA0> <ADB87D57539D5CE2A8FC3A4721B94DA0> ] >>
+<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <AE5400E970AB8EBE6C04A229EBA70E89> <AE5400E970AB8EBE6C04A229EBA70E89> ] >>
startxref
23761
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf b/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
index 81423fede4..7147cd1e91 100644
--- a/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
+++ b/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:55:14+02:00</rdf:li>
+ <rdf:li>2024-08-02T13:00:16+02:00</rdf:li>
</rdf:Seq>
</dc:date>
<dc:format>application/pdf</dc:format>
<dc:source>ex-tagpdf-template.tex</dc:source>
<xmp:CreatorTool>LaTeX</xmp:CreatorTool>
- <xmp:CreateDate>2024-06-20T17:55:14+02:00</xmp:CreateDate>
- <xmp:ModifyDate>2024-06-20T17:55:14+02:00</xmp:ModifyDate>
- <xmp:MetadataDate>2024-06-20T17:55:14+02:00</xmp:MetadataDate>
+ <xmp:CreateDate>2024-08-02T13:00:16+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T13:00:16+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T13:00:16+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:f320abfc-f6ab-4d12-8719-d176f4d947cf</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:898c4009-cc18-43c3-8fda-44ab8e28318c</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:3b4409f1-f3e5-4c01-86c4-a0bcea68ea38</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -307,7 +307,7 @@ endobj
<< /Type /Namespace /NS (https://www.latex-project.org/ns/book/2022) /RoleMapNS 18 0 R >>
endobj
19 0 obj
-<< /Type /Namespace /NS (data:,69C62BB9-6D5A-6FC9-FD75-56BC71E087F4) >>
+<< /Type /Namespace /NS (data:,25352333-84F8-941A-42AB-414B46468294) >>
endobj
8 0 obj
[ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ]
@@ -399,7 +399,7 @@ endobj
<< /Type /Catalog /Pages 31 0 R /MarkInfo 32 0 R/Lang (en)/Metadata 26 0 R/StructTreeRoot 5 0 R >>
endobj
42 0 obj
-<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240620175514+02'00')/ModDate (D:20240620175514+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
+<< /Producer (luahbtex-1.18.0)/Creator (LaTeX)/CreationDate (D:20240802130016+02'00')/ModDate (D:20240802130016+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 43
@@ -447,7 +447,7 @@ xref
0000017842 00000 n
0000017957 00000 n
trailer
-<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ <E36FE13F3FA0066C1F9796E38E50018C> <E36FE13F3FA0066C1F9796E38E50018C> ] >>
+<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ <42D962292B4982520E998D32C837DE43> <42D962292B4982520E998D32C837DE43> ] >>
startxref
18180
%%EOF
diff --git a/macros/latex/contrib/tagpdf/link-figure-input.tex b/macros/latex/contrib/tagpdf/link-figure-input.tex
index ef07c33e95..1a1036d282 100644
--- a/macros/latex/contrib/tagpdf/link-figure-input.tex
+++ b/macros/latex/contrib/tagpdf/link-figure-input.tex
@@ -27,7 +27,7 @@
\NewDocumentCommand\balloon{m}{%
\node[fit={(pic cs:#1-first) (pic cs:#1-end)
([yshift=7pt]pic cs:#1-end)},balloon](#1){};}
-\begin{tikzpicture}[overlay,remember picture]
+\begin{tikzpicture}[overlay,remember picture,alt={Illustration of link annotation structure}]
\balloon{link}
\balloon{structparent}
\balloon{OBJR}
@@ -45,7 +45,7 @@
\draw[ref] (kid)--(OBJR);
\draw[ref] (OBJR)--(linkref);
\end{tikzpicture}
-\begin{lstlisting}[name=OBJR]
+\begin{taglstlisting}[name=OBJR]
*\tikzmark{link-first}*18 0 obj*\tikzmark{link-end}* %Link Object
<< /Type /Annot /Subtype/Link
/Rect [ 196.109 494.573 399.167 506.831 ]
@@ -67,4 +67,4 @@ endobj};
<< /Nums
[... *\tikzmark{pnum-first}*16*\tikzmark{pnum-end}* *\tikzmark{pref-first}*17 0 R*\tikzmark{pref-end}* ...] >>
endobj
-\end{lstlisting}
+\end{taglstlisting}
diff --git a/macros/latex/contrib/tagpdf/pac2024-report.png b/macros/latex/contrib/tagpdf/pac2024-report.png
new file mode 100644
index 0000000000..4474bc989f
--- /dev/null
+++ b/macros/latex/contrib/tagpdf/pac2024-report.png
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/pac2024-version.png b/macros/latex/contrib/tagpdf/pac2024-version.png
new file mode 100644
index 0000000000..1bc12bdafe
--- /dev/null
+++ b/macros/latex/contrib/tagpdf/pac2024-version.png
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/tagpdf-backend.dtx b/macros/latex/contrib/tagpdf/tagpdf-backend.dtx
index 7e19e1e90f..0ed233e2e0 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-backend.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-backend.dtx
@@ -47,13 +47,13 @@
% }^^A
% }
%
-% \date{Version 0.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{implementation}
% \begin{macrocode}
%<@@=tag>
%<*luatex>
-\ProvidesExplFile {tagpdf-luatex.def} {2024-06-20} {0.99c}
+\ProvidesExplFile {tagpdf-luatex.def} {2024-08-02} {0.99d}
{tagpdf~driver~for~luatex}
% \end{macrocode}
% \section{Loading the lua}
@@ -164,8 +164,8 @@
local ProvidesLuaModule = {
name = "tagpdf",
- version = "0.99c", --TAGVERSION
- date = "2024-06-20", --TAGDATE
+ version = "0.99d", --TAGVERSION
+ date = "2024-08-02", --TAGDATE
description = "tagpdf lua code",
license = "The LATEX Project Public License 1.3c"
}
@@ -252,6 +252,12 @@ local iwfontattributeid = luatexbase.new_attribute ("g_@@_interwordfont_attr")
local tagunmarkedbool= token.create("g_@@_tagunmarked_bool")
local truebool = token.create("c_true_bool")
% \end{macrocode}
+% with this token we can query the state of the softhyphen boolean
+% and so detect if hyphens from hyphenation should be replaced by soft-hyphens.
+% \begin{macrocode}
+local softhyphenbool = token.create("g_@@_softhyphen_bool")
+% \end{macrocode}
+
% Now a number of local versions from global tables.
% Not all is perhaps needed, most node variants were copied from lua-debug.
% \begin{macrocode}
@@ -286,6 +292,9 @@ local KERN = node.id("kern")
local PENALTY = node.id("penalty")
local LOCAL_PAR = node.id("local_par")
local MATH = node.id("math")
+
+local explicit_disc = 1
+local regular_disc = 3
% \end{macrocode}
% Now we setup the main table structure. ltx is used by other latex code too!
% \begin{macrocode}
@@ -1267,6 +1276,80 @@ function ltx.@@.func.output_parenttree (abspage)
end
% \end{macrocode}
% \end{macro}
+%
+% \begin{macro}
+% {
+% process_softhyphen_pre
+% process_softhyphen_post
+% }
+% First some local definitions. Since these are only needed locally everything gets wrapped into a block.
+% \begin{macrocode}
+do
+ local properties = node.get_properties_table()
+ local is_soft_hyphen_prop = 'tagpdf.rewrite-softhyphen.is_soft_hyphen'
+ local hyphen_char = 0x2D
+ local soft_hyphen_char = 0xAD
+% \end{macrocode}
+%
+% A lookup table to test if the font supports the soft hyphen glyph.
+% \begin{macrocode}
+ local softhyphen_fonts = setmetatable({}, {__index = function(t, fid)
+ local fdir = identifiers[fid]
+ local format = fdir and fdir.format
+ local result = (format == 'opentype' or format == 'truetype')
+ local characters = fdir and fdir.characters
+ result = result and (characters and characters[soft_hyphen_char]) ~= nil
+ t[fid] = result
+ return result
+ end})
+% \end{macrocode}
+%
+% A pre shaping callback to mark hyphens as being hyphenation hyphens.
+% This runs before shaping to avoid affecting hyphens moved into
+% discretionaries during shaping.
+% \begin{macrocode}
+ local function process_softhyphen_pre(head, _context, _dir)
+ if softhyphenbool.mode ~= truebool.mode then return true end
+ for disc, sub in node.traverse_id(DISC, head) do
+ if sub == explicit_disc or sub == regular_disc then
+ for n, _ch, _f in node.traverse_char(disc.pre) do
+ local props = properties[n]
+ if not props then
+ props = {}
+ properties[n] = props
+ end
+ props[is_soft_hyphen_prop] = true
+ end
+ end
+ end
+ return true
+ end
+
+% \end{macrocode}
+%
+% Finally do the actual replacement after shaping. No checking for double processing here
+% since the operation is idempotent.
+% \begin{macrocode}
+ local function process_softhyphen_post(head, _context, _dir)
+ if softhyphenbool.mode ~= truebool.mode then return true end
+ for disc, sub in node.traverse_id(DISC, head) do
+ for n, ch, fid in node.traverse_glyph(disc.pre) do
+ local props = properties[n]
+ if softhyphen_fonts[fid] and ch == hyphen_char and props and props[is_soft_hyphen_prop] then
+ n.char = soft_hyphen_char
+ props.glyph_info = nil
+ end
+ end
+ end
+ return true
+ end
+
+ luatexbase.add_to_callback('pre_shaping_filter', process_softhyphen_pre, 'tagpdf.rewrite-softhyphen')
+ luatexbase.add_to_callback('post_shaping_filter', process_softhyphen_post, 'tagpdf.rewrite-softhyphen')
+end
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
%</lua>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-checks.dtx b/macros/latex/contrib/tagpdf/tagpdf-checks.dtx
index 345b2e35ba..3cbe3b141b 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-checks.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-checks.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Version 0.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \section{Commands}
@@ -331,7 +331,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-checks-code} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-checks-code} {2024-08-02} {0.99d}
{part of tagpdf - code related to checks, conditionals, debugging and messages}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-code.pdf b/macros/latex/contrib/tagpdf/tagpdf-code.pdf
index 4dd216d1a9..76e839d0d5 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-code.pdf
+++ b/macros/latex/contrib/tagpdf/tagpdf-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/tagpdf-data.dtx b/macros/latex/contrib/tagpdf/tagpdf-data.dtx
index f07e5db3ed..6417b44c40 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-data.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-data.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% This files contains a various data files which are read in
@@ -61,7 +61,7 @@
% latex-lab has also a namespace module, which takes precedence!
% \begin{macrocode}
%<*ns-latex>
-%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-08-02} {0.99d}
%% {latex} {https://www.latex-project.org/ns/dflt/2022}{}
title, Title, pdf2,
part, Title, pdf2,
@@ -93,7 +93,7 @@ text, P, pdf2,
% It is bound to change
% \begin{macrocode}
%<*ns-latex-book>
-%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-08-02} {0.99d}
%% {latex-book} {https://www.latex-project.org/ns/book/2022}{}
chapter, H1,pdf2,
section, H2,pdf2,
@@ -107,7 +107,7 @@ subparagraph, H6,pdf2,
% \section{The pdf namespace data}
% \begin{macrocode}
%<*ns-pdf>
-%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-08-02} {0.99d}
%% {pdf} {http://iso.org/pdf/ssn}{}
StructTreeRoot,StructTreeRoot,pdf,D,
Document,Document,pdf,D,
@@ -175,7 +175,7 @@ Strong,Span,pdf,I,
% \section{The pdf 2.0 namespace data}
% \begin{macrocode}
%<*ns-pdf2>
-%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-08-02} {0.99d}
%% {pdf2} {http://iso.org/pdf2/ssn}{}
StructTreeRoot,StructTreeRoot,pdf2,D,
Document,Document,pdf2,D,
@@ -232,7 +232,7 @@ Strong,Strong,pdf2,I,
% \section{The mathml namespace data}
% \begin{macrocode}
%<*ns-mathml>
-%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-08-02} {0.99d}
% {mathml}{http://www.w3.org/1998/Math/MathML}{}
abs,abs,mathml,
and,and,mathml,
@@ -467,7 +467,7 @@ xor,xor,mathml,
% This will perhaps change in future.
% \begin{macrocode}
%<*parent-child>
-%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-08-02} {0.99d}
,,,StructTreeRoot,Document,Art,Part,Div,Sect,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,MC
Document,both,document level,1,0..n,∅,‡,‡,∅,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅
Art,1.7,grouping,∅,0..n,∅,‡,‡,0..n,0..n,‡,∅,∅,∅,0..n,∅,0..n,∅,∅,∅,0..1,0..1,∅,∅,∅,0..n,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅,∅,0..n,0..n,∅,∅,∅,0..n,0..n,∅,∅
@@ -522,7 +522,7 @@ MC,both,---,∅,∅,∅,∅,∅,∅,0..n,‡,∅,∅,∅,0..n,0..n,0..n,0..n,0..
% This will perhaps change in future.
% \begin{macrocode}
%<*parent-child-2>
-%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-08-02} {0.99d}
,,,StructTreeRoot,Document,DocumentFragment,Art,Part,Div,Sect,Aside,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Title,Sub,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Em,Strong,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,FENote,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,math,mathml,Artifact,MC
Document,both,document level,1,0..n,0..n,∅,‡,‡,∅,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅
DocumentFragment,2.0,document level,∅,0..n,0..n,0..n,‡,‡,0..n,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅*,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,0..n,∅
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
index 0cef27fd3b..ff036b5523 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \end{documentation}
@@ -55,11 +55,11 @@
% \begin{macrocode}
%<@@=tag>
%<*generic>
-\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-08-02} {0.99d}
{part of tagpdf - code related to marking chunks - generic mode}
%</generic>
%<*debug>
-\ProvidesExplPackage {tagpdf-debug-generic} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-debug-generic} {2024-08-02} {0.99d}
{part of tagpdf - debugging code related to marking chunks - generic mode}
%</debug>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
index 7dd309c5f5..3c2e91605e 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{implementation}
% The code is split into three parts: code shared by all engines,
@@ -86,11 +86,11 @@
% \begin{macrocode}
%<@@=tag>
%<*luamode>
-\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-08-02} {0.99d}
{tagpdf - mc code only for the luamode }
%</luamode>
%<*debug>
-\ProvidesExplPackage {tagpdf-debug-lua} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-debug-lua} {2024-08-02} {0.99d}
{part of tagpdf - debugging code related to marking chunks - lua mode}
%</debug>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
index c96fd8c4c8..5bfe0658d1 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \section{Public Commands}
@@ -181,7 +181,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-mc-code-shared} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-mc-code-shared} {2024-08-02} {0.99d}
{part of tagpdf - code related to marking chunks -
code shared by generic and luamode }
%</header>
diff --git a/macros/latex/contrib/tagpdf/tagpdf-roles.dtx b/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
index 80f9da0f6b..fb5f1b77c9 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \begin{function}
@@ -98,7 +98,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-roles-code} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-roles-code} {2024-08-02} {0.99d}
{part of tagpdf - code related to roles and structure names}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-space.dtx b/macros/latex/contrib/tagpdf/tagpdf-space.dtx
index a29c8f0fb3..5c8e007084 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-space.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-space.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \begin{function}{activate/space (setup-key),interwordspace (deprecated)}
@@ -66,7 +66,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-space-code} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-space-code} {2024-08-02} {0.99d}
{part of tagpdf - code related to real space chars}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-struct.dtx b/macros/latex/contrib/tagpdf/tagpdf-struct.dtx
index 963852b1fc..6da5e48b18 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-struct.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-struct.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \section{Public Commands}
@@ -285,7 +285,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-struct-code} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-struct-code} {2024-08-02} {0.99d}
{part of tagpdf - code related to storing structure}
%</header>
% \end{macrocode}
@@ -1937,7 +1937,7 @@
% \section{Attributes and attribute classes}
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage {tagpdf-attr-code} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-attr-code} {2024-08-02} {0.99d}
{part of tagpdf - code related to attributes and attribute classes}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-tree.dtx b/macros/latex/contrib/tagpdf/tagpdf-tree.dtx
index 04b9309597..f7ae6de996 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-tree.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-tree.dtx
@@ -47,13 +47,13 @@
% }^^A
% }
%
-% \date{Version 0.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{implementation}
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-tree-code} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-tree-code} {2024-08-02} {0.99d}
{part of tagpdf - code related to writing trees and dictionaries to the pdf}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-user.dtx b/macros/latex/contrib/tagpdf/tagpdf-user.dtx
index 916ff041d0..a4014b62e3 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-user.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-user.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \section{Setup commands}
@@ -309,7 +309,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-user} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-user} {2024-08-02} {0.99d}
{tagpdf - user commands}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf.dtx b/macros/latex/contrib/tagpdf/tagpdf.dtx
index e58570340e..b1d008a6e6 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf.dtx
@@ -72,6 +72,12 @@
% marked up as artifact. The initial value is true.
% \end{function}
%
+% \begin{function}{activate/softhyphen (setup-key)}
+% This key allows to activates automatic handling of hyphens inserted
+% by hyphenation. It only is used in luamode and replaces hyphens
+% by U+00AD if the font supports this.
+% \end{function}
+%
% \begin{function}{page/tabsorder (setup-key), tabsorder (deprecated)}
% This sets the tabsorder on a page. The values are |row|, |column|, |structure| (default)
% or |none|. Currently this is set more or less globally. More finer control can be
@@ -87,7 +93,7 @@
% \begin{macrocode}
%<@@=tag>
%<*package>
-\ProvidesExplPackage {tagpdf} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf} {2024-08-02} {0.99d}
{ A package to experiment with pdf tagging }
\bool_if:nF
@@ -113,7 +119,7 @@
% \end{macrocode}
%<*debug>
% \begin{macrocode}
-\ProvidesExplPackage {tagpdf-debug} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-debug} {2024-08-02} {0.99d}
{ debug code for tagpdf }
\@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput}
% \end{macrocode}
@@ -136,7 +142,7 @@
% we define a base package with dummy functions
% \begin{macrocode}
%<*base>
-\ProvidesExplPackage {tagpdf-base} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-base} {2024-08-02} {0.99d}
{part of tagpdf - provide base, no-op versions of the user commands }
%</base>
% \end{macrocode}
@@ -354,6 +360,13 @@
% \end{macrocode}
% \end{variable}
%
+% \begin{variable}{\g_@@_softhyphen_bool}
+% This boolean controls if the code should try to automatically
+% handle hyphens from hyphenation. It is currently only used in luamode.
+% \begin{macrocode}
+\bool_new:N \g_@@_softhyphen_bool
+% \end{macrocode}
+% \end{variable}
% \section{Variants of l3 commands}
% \begin{macrocode}
\prg_generate_conditional_variant:Nnn \pdf_object_if_exist:n {e}{T,F,TF}
@@ -648,6 +661,13 @@
tagunmarked .bool_gset:N = \g_@@_tagunmarked_bool,
% \end{macrocode}
% \end{macro}
+% \begin{macro}{activate/softhyphen (setup-key)}
+% This key activates (in luamode) the handling of soft hyphens.
+% \begin{macrocode}
+ activate/softhyphen .bool_gset:N = \g_@@_softhyphen_bool,
+ activate/softhyphen .initial:n = true,
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{page/tabsorder (setup-key),tabsorder (deprecated)}
% This sets the tabsorder on a page. The values are |row|, |column|, |structure| (default)
% or |none|. Currently this is set more or less globally. More finer control can be
diff --git a/macros/latex/contrib/tagpdf/tagpdf.pdf b/macros/latex/contrib/tagpdf/tagpdf.pdf
index 04d46c2fbf..f7c6ea02a3 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.pdf
+++ b/macros/latex/contrib/tagpdf/tagpdf.pdf
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/tagpdf.tex b/macros/latex/contrib/tagpdf/tagpdf.tex
index ac1c33fa4a..10d36d09a0 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.tex
+++ b/macros/latex/contrib/tagpdf/tagpdf.tex
@@ -16,8 +16,8 @@
}
\DebugBlocksOff
\makeatletter
-\def\UlrikeFischer@package@version{0.99c}
-\def\UlrikeFischer@package@date{2024-06-20}
+\def\UlrikeFischer@package@version{0.99d}
+\def\UlrikeFischer@package@date{2024-08-02}
\makeatother
\documentclass[bibliography=totoc,a4paper]{article}
@@ -338,13 +338,15 @@ improvements and new features in the \LaTeX\ kernel, the latex-lab bundle and
the \PDF\ management code and is now much better. Only a few
structures---mostly some from currently unsupported packages--- still need
manual tagging. But sadly the output of the validators don't quite reflect
-the improvements. The documentation uses now \PDF~2.0 and PAC~2024 can't handle
-this, it claims that the file is damaged. The Adobe validator has a bug and
+the improvements. The documentation uses now \PDF~2.0 and while the newest
+PAC~2024 can at least open the file it can not validate properly the file. For example
+it complains about the tabular header cells as it doesn't follow attribute classes.
+The Adobe validator has a bug and
doesn't like the (valid) use of the \texttt{Lbl} tag for the section numbers
(see figure~\ref{fig:adobe}).
-But even if the documentation passed the tests of the validators: as
+But even if the documentation would pass all the tests of the validators: as
mentioned above passing a formal test doesn't mean that the content is really
good and usable. The user commands used for the tagging and also some of the
patches used are still rather crude. So there is lot space for improvement.
@@ -354,8 +356,9 @@ Be aware that to create the tagged version a current lualatex-dev and a
current version of the pdfmanagment-testphase package is needed.
\end{tcolorbox}
-\includegraphics[alt=PAC 3 report]{pac3}
+\includegraphics[alt=PAC 2024 complains about PDF version]{pac2024-version}
+\includegraphics[alt=PAC 2024 complains about table header cells]{pac2024-report}
\begin{figure}
@@ -504,6 +507,10 @@ The key-val list understands at least the following keys. More keys are defined
least \PrintKeyName{activate/mc} has been used.
The old name of the key |interwordspace| is still supported but deprecated.
+\item[\PrintKeyName{activate/softhyphen}] Boolean. luamode only.
+ The key activates/deactivates the replacing of hard hyphens from hyphenation
+ by soft hyphens. By default this is activated.
+
\item[\PrintKeyName{role/new-tag}] Allows to define new tag names, see
section \ref{sec:new-tag} for a description.
@@ -721,11 +728,8 @@ To tag a \PDF{} three tasks must be carried out:
\minisec{Page stream with marked content}
-\tagpdfparaOff
-
-\tagstructbegin{tag=Figure,alt={Illustration of page stream with marked content},attribute=bbox}%
-\tagmcbegin{tag=Figure}%
-\begin{tikzpicture}[baseline=(a.north),node distance=2pt,remember picture]
+\begin{tikzpicture}[baseline=(a.north),node distance=2pt,remember picture,
+alt={Illustration of page stream with marked content}]
\node(start){\ldots~\ldots~\ldots};
\node[draw,base right = of start](a) {mc-chunk 1};
\node[draw,base right = of a](b) {mc-chunk 2};
@@ -733,20 +737,13 @@ To tag a \PDF{} three tasks must be carried out:
\node[draw,base right = of c](d) {mc-chunk 3};
\node[base right = of d] {\ldots~\ldots};
\end{tikzpicture}
-\tagmcend\tagstructend
-
-\tagpdfparaOn
\minisec{Structure}
-\tagpdfparaOff
\newlength\ydistance\setlength\ydistance{-0.8cm}
-\tagstructbegin{tag=Figure,alt={Illustration of structure},attribute=bbox}%
-\tagmcbegin{tag=Figure}%
-\begin{tikzpicture}[remember picture,baseline=(root.north)]
-
+\begin{tikzpicture}[remember picture,baseline=(root.north),alt={Illustration of structure}]
\node[draw,anchor=base west] (root) at (0,0) {Sect (start section)};
\node[draw,anchor=base west] at (0.3,\ydistance) {H (header section)};
\node[draw,anchor=base west](aref) at (0.6,2\ydistance){mc-chunk 1};
@@ -758,17 +755,12 @@ To tag a \PDF{} three tasks must be carried out:
\node[draw,anchor=base west] at (0.3,8\ydistance){/P (end paragraph)};
\node[draw,anchor=base west] at (0,9\ydistance){/Sect (end section)};
\end{tikzpicture}
-
\begin{tikzpicture}[remember picture, overlay]
\draw[->,red](aref)-|(a);
\draw[->,red](bref)-|(b);
\draw[->,red](cref)-|(c);
\draw[->,red](dref)-|(d);
-
\end{tikzpicture}
-\tagmcend\tagstructend
-
-\tagpdfparaOn
\end{tcolorbox}
@@ -1108,8 +1100,8 @@ the command, as the effect of the begin command ends with a new
\begin{docCommands}
{
- {doc name=tagmcuse},
- {doc name=tag_mc_use:n}
+ {doc name=tagmcuse,doc parameter=\marg{label}},
+ {doc name=tag_mc_use:n,doc parameter=\marg{label}}
}
\end{docCommands}
@@ -1283,13 +1275,8 @@ add the needed code.
\begin{figure}
-\tagpdfparaOff
-\tagstructbegin{tag=Figure,alt={Illustration of link annotation structure},attribute=bbox}\tagmcbegin{tag=Figure}
-\tagstop
\input{link-figure-input}
-\tagstart
-\tagmcend\tagstructend
\caption{Structure needed for a link annotation}\label{fig:linkannot}
@@ -2661,7 +2648,8 @@ already mentioned there are more requirements:
is normally not a problem. With pdflatex it could need additional
\verb+\pdfglyphtounicode+ commands.
- \item Hard and soft hyphen must be distinct.
+ \item Hard and soft hyphen must be distinct. In luamode this is now handled through
+ the \texttt{activate/softhyphen} key. For pdftex no solution is known.
\item Spaces between words should be space glyphs and not only a
horizontal movement. See section~\ref{sec:spacechars}.
@@ -3061,10 +3049,7 @@ examples and remarks easier to understand.
\item[postfix notation] \PDF{} uses in various places postfix
notation. This means that the operator is behind its arguments:
-\tagpdfparaOff
-
-\tagstructbegin{tag=Figure,alt={Illustration of postfix notation},attribute=bbox}\tagmcbegin{tag=Figure}
-\begin{tikzpicture}[baseline=(c.base)]
+\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}]
\node[arg](a1) {18};
\node[arg,right=of a1.east](a2) {0};
\node[operator,right= of a2.east](c) {obj};
@@ -3072,7 +3057,7 @@ examples and remarks easier to understand.
\draw[->] (c.south) --++(0,-2mm) -| (a2);
\end{tikzpicture}
-\begin{tikzpicture}[baseline=(c.base)]
+\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}]
\node[arg](a1) {18};
\node[arg,right=of a1.east](a2) {0};
\node[operator,right= of a2.east](c) {R};
@@ -3081,7 +3066,7 @@ examples and remarks easier to understand.
\end{tikzpicture} (a reference (operator R) to an object
-\begin{tikzpicture}[baseline=(c.base)]
+\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}]
\node[arg](a1) {1};
\node[arg,right = of a1.east](a2) {0};
\node[arg,right = of a2.east](a3) {0};
@@ -3097,19 +3082,15 @@ examples and remarks easier to understand.
\draw[->] (c.south) --++(0,-2mm) -|(a1);
\end{tikzpicture}
-\begin{tikzpicture}[baseline=(c.base)]
+\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}]
\node[arg](a1) {/P};
\node[arg,right = of a1.east](a2) {<</MCID 0>>};
\node[operator,right = of a2.east](c) {BDC};
\draw[->] (c.south) --++(0,-2mm) -| (a1);
\draw[->] (c.south) --++(0,-2mm) -| (a2);
\end{tikzpicture}
-\tagmcend\tagstructend
-
-\tagpdfparaOn
-
\item[Names] \PDF{} knows a sort of variable called a
\enquote{name}. Names start with a slash and may include any regular
characters, but not delimiter or white-space characters. Uppercase
@@ -3152,19 +3133,13 @@ examples and remarks easier to understand.
\mbox{\texttt{[0 15 0 R (hello) <</Type /X>> [1 2 3]]}}
-\tagpdfparaOff
-
- \tagstructbegin{tag=Figure,alt={Illustration of array},attribute=bbox}\tagmcbegin{tag=Figure}
- \begin{tikzpicture}[baseline=(c.base)]
+ \begin{tikzpicture}[baseline=(c.base),alt={Illustration of array}]
\node[arg](a1) {0};
\node[arg,right = of a1.east](a2) {15 0 R};
\node[arg,right = of a2.east](a3) {(hello)};
\node[arg,right = of a3.east](a4) {<</Type /X>>};
\node[arg,right = of a4.east](a5) {[1 2 3]};
\end{tikzpicture}
-\tagmcend\tagstructend
-
-\tagpdfparaOn
\item[Dictionaries] Dictionaries are enclosed by double angle
diff --git a/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty b/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
index 936f8adacd..6ae5840b11 100644
--- a/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
+++ b/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
@@ -1,5 +1,5 @@
%\RequirePackage[enable-debug]{expl3}[2018/06/14]
-\ProvidesExplPackage {tagpdfdocu-patches} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdfdocu-patches} {2024-08-02} {0.99d}
{patches/commands for the tagpdf documentation}
\RequirePackage{etoolbox,xpatch}
@@ -82,10 +82,6 @@
% }
\ExplSyntaxOff
-% ======== tikzpicture ==========
-% TODO this needs some investigation: it messes up the stack if one add paraOff
-
-\AddToHook{env/tikzpicture/begin}{}
%======== tcolorbox ========
% We switch of paratagging at the begin and reenable it locally in before upper.
@@ -138,22 +134,6 @@
% ======= footnote ========
% done in testphase code
-% ======= bibliography ========
-% biblatex. Creates some empty mc-chunks.
-% no internal patches, but redefining begentry/finentry is not safe.
-% better hook is needed.
-
-
-\def\blx@endbibliography{%
- \csuse{blx@endenv@\blx@theenv}%
- \blx@noitem
- \blx@locallabelwidth@finish
- \endgroup
- \blx@bibnote\blx@thepostnote
-% \endgroup
- \expandafter\endgroup\if@endpe\@doendpe\fi
-}
-
% ====== hyperref ========
% this should probably go into tagpdf, but it is related to
% problem of pdf strings and context ....
@@ -167,16 +147,147 @@
\let\tagstructend\relax
}}{}
-%====== picture =======
+%====== tikz picture =======
+% first draft to tag. The main problem is to handle paragraphs. One
+\ExplSyntaxOn
+\cs_new_protected:Npn\__tag_tikz_savepos:n #1
+ {
+ \tex_savepos:D
+ \tikz@resetexpandcount%
+ \tikz@scan@one@point\pgfutil@firstofone(current~bounding~box.north~east)\relax
+ \pgf@pos@transform{\pgf@x}{\pgf@y}%
+ \property_record:nn{#1}{xpos,ypos,abspage}
+ \property_record:nn{#1-tr}{pgfx,pgfy}
+ \tikz@scan@one@point\pgfutil@firstofone(current~bounding~box.south~west)\relax
+ \pgf@pos@transform{\pgf@x}{\pgf@y}%
+ \property_record:nn{#1-bl}{pgfx,pgfy}
+ \tex_savepos:D
+ }
+\cs_generate_variant:Nn \__tag_tikz_savepos:n {e}
+
+\NewProperty{pgfx}{now}{0}
+ {
+ \dim_compare:nNnTF {\dim_abs:n {\pgf@x}} > {15999pt}
+ { 0 }
+ { \dim_to_decimal_in_sp:n{\pgf@x} }
+ }
+\NewProperty{pgfy}{now}{0}
+ {
+ \dim_compare:nNnTF {\dim_abs:n {\pgf@y}} > {15999pt}
+ { 0 }
+ { \dim_to_decimal_in_sp:n{\pgf@y} }
+ }
+
+\cs_new_protected:Npn \__tag_tikz_getbbox:
+ {
+ \int_gincr:N\g__tag_graphic_int
+ \tl_set:Ne\l__tag_graphic_currentlabel_tl {__tag_graphic_\int_use:N \g__tag_graphic_int}
+ \tl_gset:Ne\g__tag_graphic_lx_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \property_ref:een {\l__tag_graphic_currentlabel_tl}{xpos}{0}sp
+ + \property_ref:een {\l__tag_graphic_currentlabel_tl-bl}{pgfx}{0}sp
+ }
+ }
+ \tl_gset:Ne\g__tag_graphic_ly_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \property_ref:een {\l__tag_graphic_currentlabel_tl}{ypos}{0}sp
+ + \property_ref:een {\l__tag_graphic_currentlabel_tl-bl}{pgfy}{0}sp
+ }
+ }
+ \tl_gset:Ne\g__tag_graphic_ux_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \property_ref:een {\l__tag_graphic_currentlabel_tl}{xpos}{0}sp
+ + \property_ref:een {\l__tag_graphic_currentlabel_tl-tr}{pgfx}{0}sp
+ }
+ }
+ \tl_gset:Ne\g__tag_graphic_uy_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \property_ref:een {\l__tag_graphic_currentlabel_tl}{ypos}{0}sp
+ + \property_ref:een {\l__tag_graphic_currentlabel_tl-tr}{pgfy}{0}sp
+ }
+ }
+ }
-% PAC3 complained that the BBox is missing, so we are cheating for now
-% and add a fix size.
-\tagpdfsetup
- {
- newattribute =
- {bbox}{/O /Layout /BBox [0 0 100 100]}
+\cs_new_protected:Npn \__tag_graphic_tikz_begin_picture:
+ {
+ \tag_mc_end_push:
+ \bool_if:NTF \l__tag_graphic_artifact_bool
+ { \tagmcbegin{artifact} }
+ {
+ \__tag_tikz_getbbox:
+ \tagstructbegin{tag=Figure,alt=\l__tag_graphic_alt_tl}\tagmcbegin{}
+ \__tag_prop_gput:cne
+ { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop }
+ { A }
+ {
+ <<
+ /O /Layout /BBox~
+ [
+ \g__tag_graphic_lx_tl\c_space_tl
+ \g__tag_graphic_ly_tl\c_space_tl
+ \g__tag_graphic_ux_tl\c_space_tl
+ \g__tag_graphic_uy_tl
+ ]
+ >>
+ }
+ \bool_if:NT\l__tag_graphic_debug_bool
+ {
+ \__tag_graphic_show_bbox:VVVVne
+ \g__tag_graphic_lx_tl
+ \g__tag_graphic_ly_tl
+ \g__tag_graphic_ux_tl
+ \g__tag_graphic_uy_tl
+ {red}
+ {\int_use:N\g__tag_graphic_int}
+ }
+ }
+ \SuspendTagging{tikz}
}
+\cs_new_protected:Npn \__tag_graphic_tikz_end_picture:
+ {
+ \ResumeTagging{tikz}\tagmcend
+ \bool_if:NF \l__tag_graphic_artifact_bool
+ {
+ \tagstructend
+ \__tag_tikz_savepos:e {__tag_graphic_\int_use:N \g__tag_graphic_int}
+ }
+ \tag_mc_begin_pop:n{}
+ }
+
+\tikzset
+ {
+ every~picture/.style=
+ {
+ artifact,
+ execute~at~begin~picture=\__tag_graphic_tikz_begin_picture:,
+ execute~at~end~picture=\__tag_graphic_tikz_end_picture:
+ }
+ }
+\AddToHook{env/tikzpicture/before}{\leavevmode}
+
+\tikzset
+ {
+ alt/.code=
+ {
+ \bool_set_false:N \l__tag_graphic_artifact_bool
+ \tl_set:Nn \l__tag_graphic_alt_tl{#1}
+ }
+ }
+\tikzset
+ {
+ artifact/.code=
+ \bool_set_true:N \l__tag_graphic_artifact_bool
+ }
+
+\ExplSyntaxOff
+
+
+
\endinput
diff --git a/macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex b/macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex
index 04f8b88aec..a02411c31f 100644
--- a/macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex
+++ b/macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex
@@ -12,7 +12,8 @@ new key name & old key name & value &type & defined in \\\midrul
activate & activate & boolean &meta & tagpdf \\
activate/all & activate-all & boolean &meta & tagpdf\\
-activate/mc & activate-mc & boolean &bool & tagpdf\\
+activate/mc & activate-mc & boolean &bool & tagpdf\\
+activate/softhyphen & --- & boolean &bool & tagpdf \\
activate/spaces & interwordspace & boolean &code & tagpdf-space\\
activate/struct & activate-struct & boolean &bool & tagpdf\\
activate/struct-dest & no-struct-dest&boolean &bool & tagpdf\\
diff --git a/macros/latex/contrib/tcolorbox/CHANGES.md b/macros/latex/contrib/tcolorbox/CHANGES.md
index 5aaa4f6f21..a0287ad4b2 100644
--- a/macros/latex/contrib/tcolorbox/CHANGES.md
+++ b/macros/latex/contrib/tcolorbox/CHANGES.md
@@ -22,7 +22,45 @@ and this project adheres to
-## [6.2.0]
+## [6.3.0] - 2024-07-10
+
+### Added
+- Library `documentation`:
+ - Option `page ref formatter` (issue #273)
+- First experimental partial tagging support: suppress tagging of drawing (issue #283)
+ This works for lualatex only.
+
+### Changed
+- The base package loads `tikz` now instead of `pgf`.
+ All skins, including the `standard` family, use `tikzpicture` as internal environment now.
+- Boolean marker to detect if inside a `tcb@savebox` introduced (issue #262)
+- LaTeX usrguide cited for `\NewDocumentCommand` and friends (issue #263)
+- Stricter checks on box names in `\newtcbox` and friends (issue #264)
+- Checks on formatter like `index key formatter` enforced (issue #265)
+- Needed LaTeX version updated to 2023-11-01
+- More meaningful error message in case of `\DeclareTColorBox` with same auto counter (issue #276)
+- Library `theorems`:
+ - Options `ams align`, `ams align*`, `ams gather`, and `ams gather*` are now shortcuts
+ for the upper part only (issue #282)
+ - Documentation for `ams align`, `ams align*`, `ams gather`, and `ams gather*` adapted, i.e.
+ exclusion of lower parts documented (issue #282)
+- Technical information: The package documentation is now produced with lualatex instead of pdflatex
+
+### Deprecated
+- The option `graphical environment` is useless now, since all environments are based on `tikzpicture` now.
+
+### Removed
+- Documentation for the deprecated options `before example` and `after example`
+- Documentation for the deprecated option `graphical environment`
+
+### Fixed
+- `\@nobreakfalse` added to `\tcb@parbox@false@settings` to avoid
+ decreased space before list with `parbox=false` following a section heading (issue #270)
+- Documentation typos fixed (issue #279)
+
+
+
+## [6.2.0] - 2024-01-10
### Added
- New convenience options for box content additions (issue #250)
diff --git a/macros/latex/contrib/tcolorbox/README.md b/macros/latex/contrib/tcolorbox/README.md
index 27f6edf11d..e90e2bec18 100644
--- a/macros/latex/contrib/tcolorbox/README.md
+++ b/macros/latex/contrib/tcolorbox/README.md
@@ -1,4 +1,4 @@
-# The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+# The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
> Copyright (c) 2006-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
diff --git a/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex b/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
index 90ece8e5a5..cade134ab2 100644
--- a/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbbreakable.code.tex: Code for breakable colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{pdfcol}
\pdfcolInitStack{tcb@breakable}
@@ -82,6 +82,7 @@
\reserved@a%
\@endpefalse%
\global\@newlistfalse%
+ \tcb@set@savebox@construction@true%
\let\tcbbreak\tcb@@break%
\iftcb@usecolorstack%
\pdfcolSwitchStack{tcb@breakable}%
@@ -551,7 +552,7 @@
\let\tcb@before@middle=\@empty%
\let\tcb@before@last=\@empty%
\iftcb@multicol%
- \long\def\tcb@after@first{\par}% using \columnbreak here kills multicols' algortihm sometimes
+ \long\def\tcb@after@first{\par}% using \columnbreak here kills multicols' algorithm sometimes
\long\def\tcb@after@middle{\par\vfill}%
\else%
\long\def\tcb@after@first{\par\pagebreak\tcb@enlbreak@next}%
@@ -827,7 +828,7 @@
\csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
\tcb@extensions@preframe%
% draw frame and interior
\tcb@adraw@frame%
@@ -842,7 +843,7 @@
\tcb@tdraw@upper%
\tcb@tdraw@lower%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ \end{tcb@drawing}%
\endgroup%
}
@@ -857,7 +858,7 @@
\csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
\tcb@extensions@preframe%
% draw frame and interior
\tcb@adraw@frame%
@@ -868,7 +869,7 @@
\tcb@tdraw@title%
\tcb@tdraw@upper%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ \end{tcb@drawing}%
\endgroup%
}
@@ -883,7 +884,7 @@
\csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
\tcb@extensions@preframe%
% draw frame and interior
\tcb@adraw@frame%
@@ -897,7 +898,7 @@
\tcb@tdraw@title%
\tcb@tdraw@lower%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ \end{tcb@drawing}%
\endgroup%
}
@@ -912,7 +913,7 @@
\csname tcb@break@ch@\tcb@split@state\endcsname%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
\tcb@extensions@preframe%
% draw frame and interior
\tcb@adraw@frame%
@@ -923,7 +924,7 @@
\tcb@tdraw@title%
\tcb@tdraw@lower%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ \end{tcb@drawing}%
\endgroup%
}
diff --git a/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex b/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
index 3eff9746f8..a550de9fff 100644
--- a/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbdocumentation.code.tex: Code for LaTeX documentations
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{listings,skins,external,raster}
@@ -199,10 +199,6 @@
keywords bold/true/.code={\let\tcb@doc@bfseries\bfseries},
keywords bold/false/.code={\let\tcb@doc@bfseries\mdseries},
doc key prefix/.store in=\kvtcb@doc@keyprefix,
- index key formatter/.code={\let\kvtcb@doc@format@key=#1},
- index keys formatter/.code={\let\kvtcb@doc@format@keys=#1},
- index key formatter/.default=\@firstofone,
- index keys formatter/.default=\@firstofone,
}
@@ -337,6 +333,43 @@
\ExplSyntaxOn
+\tcbset{
+ index~key~formatter / .code =
+ {
+ \__tcobox_store_formatter_in:nN {#1} \kvtcb@doc@format@key
+ },
+ index~key~formatter / .default = \use:n,
+ index~keys~formatter / .code =
+ {
+ \__tcobox_store_formatter_in:nN {#1} \kvtcb@doc@format@keys
+ },
+ index~keys~formatter / .default = \use:n,
+ page~ref~formatter / .code =
+ {
+ \__tcobox_store_formatter_in:nN {#1} \kvtcb@doc@format@page
+ },
+ page~ref~formatter / .default = \use:n,
+}
+
+
+\cs_if_exist:NF \__tcobox_store_formatter_in:nN
+ {
+ \cs_new_protected:Npn \__tcobox_store_formatter_in:nN #1#2
+ {
+ \__tcobox_if_single_cs:nTF {#1}
+ { \cs_set_eq:NN #2 #1 }
+ {
+ \tcb@error
+ {
+ Invalid~formatter~ "\tl_to_str:n {#1}" ~passed~to \MessageBreak
+ "\pgfkeyscurrentkey". \MessageBreak
+ A~formatter~should~be~a~single~command~taking~one \MessageBreak
+ mandatory~argument
+ }
+ }
+ }
+ }
+
\cs_new_nopar:Npn \__tcobox_new_bool_key:Nn #1 #2
{
@@ -879,7 +912,7 @@
\IfBooleanTF{#2}{}{%
\ifnum\getpagerefnumber{#1:#3}=\thepage\relax%
\else%
- \textsuperscript{{\fontfamily{pzd}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char213}%
+ \kvtcb@doc@format@page{{\fontfamily{pzd}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char213}%
\,\kvtcb@text@pageshort\,\pageref*{#1:#3}}%
\fi}}%
}
@@ -1027,6 +1060,7 @@
doc key prefix={/},
index key formatter,
index keys formatter,
+ page ref formatter=\textsuperscript,
}
% deprecated
diff --git a/macros/latex/contrib/tcolorbox/tcbexternal.code.tex b/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
index 0bfa994f68..060f1bb9a0 100644
--- a/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbexternal.code.tex: Code for externalization
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{pro@cessing}
@@ -111,14 +111,14 @@
\def\tcbexternal@pdfmissing@warning{%
\tcb@warning{File '\tcbexternal@job@pdf' missing.
- Compilation error or shell-escape wasn't enabled or a subdirectory could'nt be generated}%
+ Compilation error or shell-escape wasn't enabled or a subdirectory couldn't be generated}%
\message{Load '\tcbexternal@job@source' instead}%
\tcbexternal@inputsource%
}
\def\tcbexternal@pdfmissing@error{%
\tcb@error{File '\tcbexternal@job@pdf' missing.
- Compilation error or shell-escape wasn't enabled or a subdirectory could'nt be generated}{}%
+ Compilation error or shell-escape wasn't enabled or a subdirectory couldn't be generated}{}%
}
\def\tcbexternal@inputpdf{%
diff --git a/macros/latex/contrib/tcolorbox/tcbfitting.code.tex b/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
index 0e34e15ad5..e133063705 100644
--- a/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbfitting.code.tex: Code for fit boxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\newdimen\tcbfitdim
\newdimen\tcb@lowerfitdim
diff --git a/macros/latex/contrib/tcolorbox/tcbhooks.code.tex b/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
index b3edf95636..6a60587177 100644
--- a/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbhooks.code.tex: Code for adding hooks
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbset{%
before upper app/.code={\appto\kvtcb@before@upper{#1}},%
diff --git a/macros/latex/contrib/tcolorbox/tcblistings.code.tex b/macros/latex/contrib/tcolorbox/tcblistings.code.tex
index 195076eee1..9a869f870f 100644
--- a/macros/latex/contrib/tcolorbox/tcblistings.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistings.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcblistings.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{listings}[2007/02/22]
diff --git a/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex b/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
index 48241a94d5..f3ffb31b90 100644
--- a/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{pro@cessing}
diff --git a/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex b/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
index 0c9b2b7e8c..0fb3fd8d22 100644
--- a/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{listings}
diff --git a/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex b/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
index 81180a8eb8..49059a0863 100644
--- a/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbmagazine.code.tex: Code for box sets and magazine styles
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{breakable}
diff --git a/macros/latex/contrib/tcolorbox/tcbminted.code.tex b/macros/latex/contrib/tcolorbox/tcbminted.code.tex
index cae9e8d707..d21bc11036 100644
--- a/macros/latex/contrib/tcolorbox/tcbminted.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbminted.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbminted.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{minted}[2021/12/24]
diff --git a/macros/latex/contrib/tcolorbox/tcbposter.code.tex b/macros/latex/contrib/tcolorbox/tcbposter.code.tex
index 49abfc651a..3fcec6b22c 100644
--- a/macros/latex/contrib/tcolorbox/tcbposter.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbposter.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbposter.code.tex: Code for posters
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{breakable,magazine,skins,fitting}
diff --git a/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex b/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
index ce0ae43075..a5bdabc874 100644
--- a/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbprocessing.code.tex: Code for conditional processing
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\ExplSyntaxOn
diff --git a/macros/latex/contrib/tcolorbox/tcbraster.code.tex b/macros/latex/contrib/tcolorbox/tcbraster.code.tex
index 3551030092..e3645497e9 100644
--- a/macros/latex/contrib/tcolorbox/tcbraster.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbraster.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\newcounter{tcbrastercolumn}
\newcounter{tcbrasterrow}
diff --git a/macros/latex/contrib/tcolorbox/tcbskins.code.tex b/macros/latex/contrib/tcolorbox/tcbskins.code.tex
index 3fbad78584..5e3faed9dd 100644
--- a/macros/latex/contrib/tcolorbox/tcbskins.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbskins.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbskins.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,15 +17,10 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
-\RequirePackage{tikz}[2010/10/13]
\RequirePackage{tikzfill.image}
-\newenvironment{tikzpicture@tcb@hooked}{%
- \edef\tcb@tikzpicture@begin{\noexpand\tikzpicture[\expandonce\tcb@tikz@option@hook]}%
- \tcb@tikzpicture@begin\tcb@tikz@begin@hook}{\tcb@tikz@end@hook\endtikzpicture}
-
\def\tcb@creategeonodes@true{%
\begin{scope}[every node/.style={line width=0mm,inner sep=0mm,outer sep=0mm,draw=none,fill=none,rectangle}]
\node[name=frame,at={(0,0)},above right,minimum width=\tcb@width,minimum height=\tcb@height]{};
@@ -438,7 +433,7 @@
\tcbset{%
base@unbroken/.style={%
- clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,%
+ clear@spec,geometry nodes,%
set@outerboundary=\tcb@boundaryframe@standard,%
shape@of@skin=unbroken,%
set@extensions@preframe={\kvtcb@shadow},%
@@ -446,7 +441,7 @@
set@extensions@final={\tcb@apply@finish}%
},%
base@first/.style={%
- clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,%
+ clear@spec,geometry nodes,%
set@outerboundary=\tcb@boundaryframe@pathfirst,%
shape@of@skin=first,%
set@extensions@preframe={\kvtcb@shadow},%
@@ -454,7 +449,7 @@
set@extensions@final={\tcb@apply@finish}%
},%
base@middle/.style={%
- clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,%
+ clear@spec,geometry nodes,%
set@outerboundary=\tcb@boundaryframe@pathmiddle,%
shape@of@skin=middle,%
set@extensions@preframe={\kvtcb@shadow},%
@@ -462,7 +457,7 @@
set@extensions@final={\tcb@apply@finish}%
},%
base@last/.style={%
- clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,%
+ clear@spec,geometry nodes,%
set@outerboundary=\tcb@boundaryframe@pathlast,%
shape@of@skin=last,%
set@extensions@preframe={\kvtcb@shadow},%
@@ -885,7 +880,7 @@
segmentation code={\tcb@drawspec@widgetsegment},%
skin first=widgetmiddle,skin middle=widgetmiddle,skin last=widgetlast}
-\tcb@new@skin{spartan}{graphical environment=tikzpicture@tcb@hooked,geometry nodes=true,shape@of@skin=unbroken,%
+\tcb@new@skin{spartan}{geometry nodes=true,shape@of@skin=unbroken,%
set@extensions@preframe=,set@extensions@postframe={\tcb@apply@underlay},set@extensions@final=,%
frame engine=spartan,interior titled engine=spartan,interior engine=spartan,title engine=spartan,segmentation engine=spartan,%
set@outerboundary=\tcb@boundaryframe@standard,%
@@ -893,7 +888,7 @@
\tcbset{spartan/.style={skin=spartan}}
-\tcb@new@skin{draft}{clear@spec,graphical environment=tikzpicture@tcb@hooked,geometry nodes,shape@of@skin=unbroken,%
+\tcb@new@skin{draft}{clear@spec,geometry nodes,shape@of@skin=unbroken,%
frame engine=empty,interior titled engine=empty,interior engine=empty,segmentation engine=path,title empty,%
segmentation style={draw=black,dashed},
set@extensions@postframe=,
diff --git a/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex b/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
index 551971a0df..6a54fca567 100644
--- a/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{skins}
diff --git a/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex b/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
index f53eda79a5..cfbc1ba796 100644
--- a/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbtheorems.code.tex: Code for theorems in colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{amsmath}
@@ -138,7 +138,7 @@
% insert box with name and number
\mode_leave_vertical:
\box_use_drop:N \l__tcobox_tmpa_box
- % insert formated title
+ % insert formatted title
\group_begin:
\__tcobox_theo_format_description:n{#3}
\group_end:
@@ -260,11 +260,31 @@
description~font/.default =,
description~formatter/.code =
{
- \cs_set_eq:NN \__tcobox_theo_format_description:n #1
+ \__tcobox_store_formatter_in:nN {#1} \__tcobox_theo_format_description:n
},
description~formatter/.default = \__tcobox_theo_format_description_standard:n,
}
+
+\cs_if_exist:NF \__tcobox_store_formatter_in:nN
+ {
+ \cs_new_protected:Npn \__tcobox_store_formatter_in:nN #1#2
+ {
+ \__tcobox_if_single_cs:nTF {#1}
+ { \cs_set_eq:NN #2 #1 }
+ {
+ \tcb@error
+ {
+ Invalid~formatter~ "\tl_to_str:n {#1}" ~passed~to \MessageBreak
+ "\pgfkeyscurrentkey". \MessageBreak
+ A~formatter~should~be~a~single~command~taking~one \MessageBreak
+ mandatory~argument
+ }
+ }
+ }
+ }
+
+
\ExplSyntaxOff
@@ -298,16 +318,16 @@
ams equation*/.style={ams equation* upper,ams equation* lower},%
ams align upper/.style={before upper*=\tcb@hack@amsmath\align,after upper*=\endalign},%
ams align lower/.style={before lower*=\tcb@hack@amsmath\align,after lower*=\endalign},%
- ams align/.style={ams align upper,ams align lower},%
+ ams align/.style={ams align upper},%
ams align* upper/.style={before upper*=\tcb@hack@amsmath\csname align*\endcsname,after upper*=\endalign},%
ams align* lower/.style={before lower*=\tcb@hack@amsmath\csname align*\endcsname,after lower*=\endalign},%
- ams align*/.style={ams align* upper,ams align* lower},%
+ ams align*/.style={ams align* upper},%
ams gather upper/.style={before upper*=\tcb@hack@amsmath\gather,after upper*=\endgather},%
ams gather lower/.style={before lower*=\tcb@hack@amsmath\gather,after lower*=\endgather},%
- ams gather/.style={ams gather upper,ams gather lower},%
+ ams gather/.style={ams gather upper},%
ams gather* upper/.style={before upper*=\tcb@hack@amsmath\csname gather*\endcsname,after upper*=\endgather},%
ams gather* lower/.style={before lower*=\tcb@hack@amsmath\csname gather*\endcsname,after lower*=\endgather},%
- ams gather*/.style={ams gather* upper,ams gather* lower},%
+ ams gather*/.style={ams gather* upper},%
ams nodisplayskip upper/.style={before upper=\vskip-\abovedisplayskip},%
ams nodisplayskip lower/.style={before lower=\vskip-\abovedisplayskip},%
ams nodisplayskip/.style={ams nodisplayskip upper,ams nodisplayskip lower},%
diff --git a/macros/latex/contrib/tcolorbox/tcbvignette.code.tex b/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
index e177bb33d4..51a4c9d6d0 100644
--- a/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbvignette.code.tex: Code for ornamental frames
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\tcbuselibrary{skins}
diff --git a/macros/latex/contrib/tcolorbox/tcbxparse.code.tex b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
index cf60ef0731..5223be23ea 100644
--- a/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcbxparse.code.tex: Code for xparse features
%%
%% -------------------------------------------------------------------------------------------
@@ -18,6 +18,6 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{6.2.0}
+\tcb@set@library@version{6.3.0}
\RequirePackage{xparse}[2013/12/31]
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
index e39ddaa037..1e380d5559 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
index ffa291103b..cb8586e6ec 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox-example-poster.tex: a poster example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
index 809b35a2ca..2d332523c2 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example.tex b/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
index 1adaa24d7e..6f878d2f1d 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
index eb23961967..f81aee0783 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
index ae550c5c6d..7c6c769d1d 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
@@ -1,5 +1,5 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox-tutorial-poster.tex: a tutorial for poster creation with tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.bib b/macros/latex/contrib/tcolorbox/tcolorbox.doc.bib
index be1c60b666..e38e91c3d4 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.bib
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.bib
@@ -209,3 +209,9 @@
}
+@manual{latexproject:usrguide,
+ author = {The \LaTeX{} Project Team},
+ title = {{\LaTeX} for authors --- current version},
+ url = {https://mirrors.ctan.org/macros/latex/base/usrguide.pdf},
+ date = {2023-05-23},
+}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
index a86994c7e2..00dc2198b2 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
@@ -252,7 +252,7 @@ The |break at| option can be used to insert better break points by hand.
The example code enlarged the second partial box by one line, the third
partial box by two lines, and all following parts are not enlarged.
\begin{marker}
- If an automated page break occures before the first partial box, the
+ If an automated page break occurs before the first partial box, the
page enlargement is applied to the page before the first partial box \emph{and}
again to the page of the first partial box. Insert a manual break to prevent this.\\
In general, |enlargepage| should be used at the final stage of a document
@@ -513,7 +513,7 @@ and \refKey{/tcb/enlarge bottom at break by}.
\item the segmentation line (or similar) is drawn as first element of the
partial box containing the \emph{lower part}, if \refKey{/tcb/segmentation at break}
is set to be |true|.
- \item the segmenation line (or similar) is not drawn at all, if
+ \item the segmentation line (or similar) is not drawn at all, if
\refKey{/tcb/segmentation at break} is set to be |false|.
This may be preferable for skins like \refSkin{bicolor}, \refSkin{tile},
or \refSkin{beamer}.
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
index 0847f09775..c41134a6c8 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
@@ -214,7 +214,8 @@ numbered title and options.
\begin{docCommand}{NewTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
Creates a new environment \meta{name} based on \refEnv{tcolorbox}.\\
Basically, \refCom{NewTColorBox} operates like |\NewDocumentEnvironment|. This means,
- the new environment \meta{name} is constructed with the given argument \meta{specification}.
+ the new environment \meta{name} is constructed with the
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if an environment with \meta{name} has already been defined.
The \meta{options} are given to the underlying \refEnv{tcolorbox}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
@@ -275,7 +276,8 @@ This is a tcolorbox.
Creates a new command \texttt{\textbackslash}\meta{name} based on \refEnv{tcolorbox}.
In contrast to \refCom{NewTColorBox}, also the \meta{content} of the |tcolorbox| is specified.\\
Basically, \refCom{NewTotalTColorBox} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refEnv{tcolorbox} which is filled with
the specified \meta{content}.\\
@@ -387,7 +389,8 @@ The \xmybox[green]{quick} brown \xmybox{fox} \xmybox[blue]{jumps} over the
\begin{docCommand}{NewTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
Basically, \refCom{NewTCBox} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcbox}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
@@ -437,7 +440,8 @@ The \xmybox[green]{quick} brown \xmybox{fox} \xmybox[blue]{jumps} over the
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
In contrast to \refCom{NewTCBox}, also the \meta{content} of the |tcbox| is specified.\\
Basically, \refCom{NewTotalTCBox} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcbox} which is filled with
the specified \meta{content}.\\
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
index e20936d76b..62f3fa3c01 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
@@ -3104,11 +3104,11 @@ inside the document preamble.
\begin{docTcbKey}[][doc new={2020-09-25}]{before skip balanced}{=\meta{glue}}{no default, initially |0.5\textbackslash baselineskip plus 2pt|}
Inserts some vertical space before the colored box. This style sets \refKey{/tcb/before}.\par
If the depth of the
- preceeding \TeX\ box is between |0pt| and |0.3\baselineskip|,
- the distance between the \emph{baseline} of the preceeding \TeX\ box and the tcolorbox
- ist set to \meta{glue}$+$|0.3\baselineskip|.\par
- If the depth is larger, the distance of the preceeding \TeX\ box and the tcolorbox
- ist set to \meta{glue}.\par
+ preceding \TeX\ box is between |0pt| and |0.3\baselineskip|,
+ the distance between the \emph{baseline} of the preceding \TeX\ box and the tcolorbox
+ is set to \meta{glue}$+$|0.3\baselineskip|.\par
+ If the depth is larger, the distance of the preceding \TeX\ box and the tcolorbox
+ is set to \meta{glue}.\par
Alternatively, see \refKey{/tcb/before skip} which ignores the \emph{baseline}.
\begin{exdispExample*}{before_skip_balanced}{sbs,lefthand ratio=0.6}
@@ -3174,7 +3174,7 @@ line 4 g
Inserts some vertical space of the given \meta{glue} before the colored box.
This style sets \refKey{/tcb/before}.
In contrast to \refKey{/tcb/before skip balanced}, this \meta{glue} is
- relative to the lower edge of the preceeding box and not to the baseline.
+ relative to the lower edge of the preceding box and not to the baseline.
\begin{exdispExample*}{before_skip}{sbs,lefthand ratio=0.6}
Some text.
\begin{tcolorbox}[before skip=1cm,
@@ -4363,7 +4363,8 @@ from page \pageref{sec:numberedboxes}, e.\,g.\ \refKey{/tcb/new/auto counter}.
\begin{docTcbKey}[][doc new=2014-11-28]{phantomlabel}{=\meta{marker}}{no default, initially unset}
Equivalent to \refKey{/tcb/label} for an \emph{unnumbered} box.
A |\phantomsection| from the package |hyperref| \cite{rahtz:hyperref} is used to set a correct
-hyperlink target. This is not needed for a numbered box.
+hyperlink target.
+This is not needed and should typically not be used for a numbered box.
\end{docTcbKey}
\clearpage
@@ -4691,8 +4692,7 @@ It is precise only, if \refKey{/tcb/check odd page} was set.
See \Fullref{sec:external} for the \mylib{external} library of |tcolorbox|.
\end{marker}
-If the \emph{externalization} library of the \texttt{tikz} package is used
-and \refKey{/tcb/graphical environment} is set to |tikzpicture|,
+If the \emph{externalization} library of the \texttt{tikz} package is used,
a |tcolorbox| could trigger the externalization process which will arise
a compilation error.
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex
index 9934cd5c86..45282f3c46 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex
@@ -953,7 +953,7 @@ hand side if too long. Linebreaks can be used inside the \meta{text}.
\begin{dispListing}
\begin{docCommands}[
doc name = l_tcobox_example_tl,
- doc sort index = example_tl, % sorted unter e like example
+ doc sort index = example_tl, % sorted under e like example
]{}
\end{docCommands}
\end{dispListing}
@@ -1354,29 +1354,6 @@ keys to insert code before (or after) the description texts.
\end{docTcbKey}
-\begin{marker}
-The following two keys are deprecated and without function (v3.50 and above).
-Use \refKey{/tcb/before} and \refKey{/tcb/after} with appropriate values
-instead. Also see \refKey{/tcb/docexample}.
-\end{marker}
-
-\begin{docTcbKey}[][doc updated=2015-03-16]{before example}{=\meta{macros}}{no default, initially empty}
-\smallskip\begin{deprecated}
- Sets the \meta{macros} which are executed before \refEnv{dispExample} and \refEnv{dispListing}
- additional to \refKey{/tcb/before}.
-\end{deprecated}
-\end{docTcbKey}
-
-\enlargethispage*{1cm}
-
-\begin{docTcbKey}{after example}{=\meta{macros}}{no default, initially empty}
-\smallskip\begin{deprecated}
- Sets the \meta{macros} which are executed after \refEnv{dispExample} and \refEnv{dispListing}
- additional to \refKey{/tcb/after}.
-\end{deprecated}
-\end{docTcbKey}
-
-\clearpage
\begin{docTcbKey}[][doc new=2017-04-25]{keywords bold}{\colOpt{=true\textbar false}}{default |true|, initially |true|}
Keyword used in \refEnv{docEnvironment}, \refEnv{docCommand}, etc. are printed
boldface (or not). Since the typewriter font is used, the effect may be
@@ -1391,6 +1368,24 @@ instead. Also see \refKey{/tcb/docexample}.
\end{dispExample*}
\end{docTcbKey}
+\clearpage
+
+\begin{docTcbKeys}
+ {
+ {
+ doc name = page ref formatter,
+ doc new = {2024-03-13},
+ doc parameter = \colOpt{=\meta{macro}},
+ doc description = {no default, initially \texttt{\textbackslash textsuperscript}},
+ }
+ }
+Sets \meta{macro} as formatter for page references like the
+reference to \refEnv{tcolorbox}.
+The default setting puts the page reference in a |\textsuperscript|.
+It may be changed to |\fakesuperscript| to cope with superiors problems
+in combination with the |realscripts| package or just otherwise for user customization.
+\end{docTcbKeys}
+
\begin{docTcbKey}[][doc new=2015-01-09]{index command}{=\meta{macro}}{no default, initially \cs{index}}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex
index b7a10c2331..62c982c2d3 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex
@@ -74,7 +74,7 @@ executed.
\documentclass[a4paper]{book}% for example
\usepackage{...}% anything
% ...
-% Tpyically, all or the very most settings for the document.
+% Typically, all or the very most settings for the document.
\tcbEXTERNALIZE% Typically, just before \begin{document}
@@ -500,7 +500,7 @@ in this case.
\clearpage
\begin{docCommand}[doc new=2015-03-11]{newtcbexternalizeenvironment}{\marg{newenv}\marg{env}\marg{options}\marg{begin}\marg{end}}
Creates a new environment \meta{newenv} which is based on
- \refEnv{tcbexternal}. This enviroment takes \emph{at least}
+ \refEnv{tcbexternal}. This environment takes \emph{at least}
one optional parameter and one mandatory parameter.
These two parameters are passed to \refEnv{tcbexternal}.
Further, the given \meta{options} are always added to the option list of \refEnv{tcbexternal}.\par
@@ -532,7 +532,7 @@ a & This table is externalized as snippet. Obviously,
\begin{docCommand}[doc new=2015-03-11]{newtcbexternalizetcolorbox}{\marg{newenv}\marg{env}\marg{options}\marg{begin end options}}
Creates a new environment \meta{newenv} which is based on
- \refEnv{tcbexternal}. This enviroment takes \emph{at least}
+ \refEnv{tcbexternal}. This environment takes \emph{at least}
one optional parameter and one mandatory parameter.
These two parameters are passed to \refEnv{tcbexternal}.
Further, the given \meta{options} are always added to the option list of \refEnv{tcbexternal}.\par
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex
index 9f1f4627ca..909f7f4ac0 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex
@@ -63,7 +63,7 @@ To be more specific, they determine the east-to-west and the north-to-south dime
which may be not the maximal dimensions for a non-rectangular node.
Note that the following dimensions are measured exactly including the line width
of the border line. If a new rectangle or node with the same dimensions
-and a border is to be drawn, this border width has to be substracted.
+and a border is to be drawn, this border width has to be subtracted.
\begin{docCommand}[doc new=2014-09-19]{tcbsettowidthofnode}{\marg{register}\marg{node}}
Sets the east-to-west dimension of the given \meta{node}
@@ -88,7 +88,7 @@ and a border is to be drawn, this border width has to be substracted.
\node[align=center,draw=red,fill=yellow] (A) {This is my\\example node};
\tcbsetmacrotowidthofnode\mywidth{A}
\tcbsetmacrotoheightofnode\myheight{A}
- \path[fill=blue!25!white] % rectangle widthout border
+ \path[fill=blue!25!white] % rectangle without border
([xshift=2mm]A.south east)
rectangle node{Copy} +(\mywidth,\myheight);
\node[draw=blue,fill=blue!25!white, % standard border width 0.4pt
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
index 14f9e7b577..a541659c37 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
@@ -145,7 +145,8 @@ The library is loaded by a package option or inside the preamble by:
\begin{docCommand}{NewTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
Basically, \refCom{NewTCBoxFit} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcboxfit}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
@@ -192,7 +193,8 @@ The library is loaded by a package option or inside the preamble by:
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
In contrast to \refCom{NewTCBoxFit}, also the \meta{content} of the |tcboxfit| is specified.\\
Basically, \refCom{NewTotalTCBoxFit} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the given
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcboxfit} which is filled with
the specified \meta{content}.\\
@@ -620,7 +622,7 @@ if necessary.
\begin{docTcbKey}{fit maxstep}{=\meta{number}}{no default, initially |20|}
Sets the maximal step size for the font size adjustment algorithm.
- In normal situations, the algorithm stops before reaching the intial value of 20 steps.
+ In normal situations, the algorithm stops before reaching the initial value of 20 steps.
If the box content does not shrink, this value prevents an endless loop.
\end{docTcbKey}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex
index 548c70e081..0d76c0afbb 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex
@@ -48,7 +48,7 @@ for some hints. The short story is: you have to install not only
\subsection{Loading the Package}
The base package |tcolorbox| loads the packages
-|pgf| \cite{tantau:tikz_and_pgf}, |verbatim| \cite{schoepf:verbatim},
+|tikz| \cite{tantau:tikz_and_pgf}, |verbatim| \cite{schoepf:verbatim},
|etoolbox| \cite{lehmann:etoolbox},
and |environ| \cite{robertson:2014a}.
|tcolorbox| itself is loaded in the usual manner in the preamble:
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex
index c2e8b5fe27..c6e56dcdfa 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex
@@ -282,7 +282,8 @@ This is my \LaTeX\ box.
\begin{docCommand}{NewTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
Creates a new environment \meta{name} based on \refEnv{tcblisting}.\\
Basically, \refCom{NewTCBListing} operates like |\NewDocumentEnvironment|. This means,
- the new environment \meta{name} is constructed with the given argument \meta{specification}.
+ the new environment \meta{name} is constructed with the
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \meta{name} has already been defined.
The \meta{options} are given to the underlying \refEnv{tcblisting}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
@@ -429,7 +430,8 @@ Note that the following code uses \verb+!O{}+ now.
\begin{docCommand}{NewTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbinputlisting}.
Basically, \refCom{NewTCBInputListing} operates like |\NewDocumentCommand|. This means,
- the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ the new command \texttt{\textbackslash}\meta{name} is constructed with the
+ given \LaTeX3 argument \meta{specification} following \cite{latexproject:usrguide}.
An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcbinputlisting}.\\
The \meta{init options} allow setting up automatic numbering,
@@ -1178,6 +1180,7 @@ This \meta{system command} is added to \refKey{/tcb/process code}.
\end{marker}
\end{docTcbKey}
+\enlargethispage*{5mm}
\begin{docTcbKey}[][doc new=2014-11-14]{run pdflatex}{\colOpt{=\meta{arguments}}}{style, no default, initially unset}
Issues a |pdflatex| compilation of the listing with the given \meta{arguments}.
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty b/macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
index 3eabd88b1e..7bc44882c8 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
@@ -276,9 +276,9 @@
before skip=\medskipamount,after skip=\medskipamount,frame style={}},
}
-\newtcbexternalizetcolorbox{exdispExample}{dispExample}{environment with percent=false,minipage}{beforeafter example}
+\newtcbexternalizetcolorbox{exdispExample}{dispExample}{environment with percent=false,minipage,compiler=lualatex}{beforeafter example}
-\newtcbexternalizetcolorbox{exdispExample*}{dispExample*}{environment with percent=false,minipage}{beforeafter example}
+\newtcbexternalizetcolorbox{exdispExample*}{dispExample*}{environment with percent=false,minipage,compiler=lualatex}{beforeafter example}
\newcommand{\inputpreamblelisting}[1]{%
\tcbinputlisting{title=Definition in the preamble:,
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex
index ece3b4bc35..9f79252f3e 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex
@@ -117,7 +117,6 @@ defined just for this documentation.
\begin{tcolorbox}[skintable=standard]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |pgfpicture|\\
\refKey{/tcb/frame engine}: \> |standard|\\
\refKey{/tcb/interior titled engine}: \> |standard|\\
\refKey{/tcb/interior engine}: \> |standard|\\
@@ -143,7 +142,6 @@ defined just for this documentation.
\begin{tcolorbox}[skintable=standard jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |pgfpicture|\\
\refKey{/tcb/frame engine}: \> |standardjigsaw|\\
\refKey{/tcb/interior titled engine}: \> |standard|\\
\refKey{/tcb/interior engine}: \> |standard|\\
@@ -185,7 +183,6 @@ have some \enquote{enhanced} features, the |enhanced| skin is what you are looki
\begin{tcolorbox}[skintable=enhanced]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
\refKey{/tcb/interior titled engine}: \> |path|\\
\refKey{/tcb/interior engine}: \> |path|\\
@@ -297,7 +294,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
\refKey{/tcb/interior titled engine}: \> |pathfirst|\\
\refKey{/tcb/interior engine}: \> |pathfirst|\\
@@ -322,7 +318,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedmiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
\refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
\refKey{/tcb/interior engine}: \> |pathmiddle|\\
@@ -346,7 +341,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
\refKey{/tcb/interior titled engine}: \> |pathlast|\\
\refKey{/tcb/interior engine}: \> |pathlast|\\
@@ -368,7 +362,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhanced jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathjigsaw|\\
\refKey{/tcb/interior titled engine}: \> |path|\\
\refKey{/tcb/interior engine}: \> |path|\\
@@ -404,7 +397,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedfirst jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirstjigsaw|\\
\refKey{/tcb/interior titled engine}: \> |pathfirst|\\
\refKey{/tcb/interior engine}: \> |pathfirst|\\
@@ -429,7 +421,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedmiddle jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddlejigsaw|\\
\refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
\refKey{/tcb/interior engine}: \> |pathmiddle|\\
@@ -509,7 +500,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=enhancedlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlastjigsaw|\\
\refKey{/tcb/interior titled engine}: \> |pathlast|\\
\refKey{/tcb/interior engine}: \> |pathlast|\\
@@ -537,7 +527,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolor]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -694,7 +683,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolorfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -720,7 +708,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolormiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -746,7 +733,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolorlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -772,7 +758,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolor jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathjigsaw|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -805,7 +790,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolorfirst jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirstjigsaw|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -833,7 +817,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolormiddle jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddlejigsaw|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -860,7 +843,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=bicolorlast jigsaw]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlastjigsaw|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -891,7 +873,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=tile]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -923,7 +904,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=tilefirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -949,7 +929,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=tilemiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -976,7 +955,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=tilelast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1006,7 +984,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=beamer]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1069,7 +1046,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=beamerfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1094,7 +1070,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=beamermiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1118,7 +1093,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=beamerlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1145,7 +1119,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=widget]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |path|\\
\refKey{/tcb/interior titled engine}: \> |path|\\
\refKey{/tcb/interior engine}: \> |path|\\
@@ -1184,7 +1157,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=widgetfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathfirst|\\
\refKey{/tcb/interior titled engine}: \> |pathfirst|\\
\refKey{/tcb/interior engine}: \> |pathfirst|\\
@@ -1208,7 +1180,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=widgetmiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathmiddle|\\
\refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
\refKey{/tcb/interior engine}: \> |pathmiddle|\\
@@ -1231,7 +1202,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=widgetlast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |pathlast|\\
\refKey{/tcb/interior titled engine}: \> |pathlast|\\
\refKey{/tcb/interior engine}: \> |pathlast|\\
@@ -1257,7 +1227,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=empty]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> |empty|\\
\refKey{/tcb/interior engine}: \> |empty|\\
@@ -1348,7 +1317,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=emptyfirst]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> |empty|\\
\refKey{/tcb/interior engine}: \> |empty|\\
@@ -1375,7 +1343,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=emptymiddle]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> |empty|\\
\refKey{/tcb/interior engine}: \> |empty|\\
@@ -1401,7 +1368,6 @@ Nevertheless, this skin can be applied independently.
\begin{tcolorbox}[skintable=emptylast]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |empty|\\
\refKey{/tcb/interior titled engine}: \> |empty|\\
\refKey{/tcb/interior engine}: \> |empty|\\
@@ -1520,7 +1486,6 @@ are drawn by the codes given by
\begin{tcolorbox}[skintable=spartan]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |spartan|\\
\refKey{/tcb/interior titled engine}: \> |spartan|\\
\refKey{/tcb/interior engine}: \> |spartan|\\
@@ -1551,7 +1516,6 @@ are drawn by the codes given by
\begin{tcolorbox}[skintable=draft]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> \emph{special}\\
\refKey{/tcb/interior titled engine}: \> \emph{special}\\
\refKey{/tcb/interior engine}: \> \emph{special}\\
@@ -1612,7 +1576,6 @@ you would have used \refKey{/tcb/freelance} before.
\begin{tcolorbox}[skintable=freelance]
\begin{tabbing}
\refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
\refKey{/tcb/frame engine}: \> |freelance|\\
\refKey{/tcb/interior titled engine}: \> |freelance|\\
\refKey{/tcb/interior engine}: \> |freelance|\\
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
index e92d81a644..bbf946c9fc 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
@@ -7,8 +7,7 @@ The library is loaded by a package option or inside the preamble by:
\begin{dispListing}
\tcbuselibrary{skins}
\end{dispListing}
-This also loads the package |tikz| \cite{tantau:tikz_and_pgf}. Typically but not necessarily,
-the following skins use |tikz| instead of |pgf|.
+This also loads the package |tikzfill.image|.
In the following, general settings and options of the library are
documented.
@@ -1059,9 +1058,7 @@ By default, the resulting boxed title is somewhat smaller than the main box.
\clearpage
\subsection{Watermark Option Keys}\label{subsec:watermarks}
-The following watermark options are applicable for all skins which
-use |tikzpicture| as \refKey{/tcb/graphical environment}.
-Therefore, the skin \refSkin{standard} does not support these watermarks,
+The skin \refSkin{standard} does not support these watermarks,
but all other skins, e.\,g.\ \refSkin{enhanced}.
\begin{marker}
@@ -1479,9 +1476,7 @@ Donau\-dampf\-schiff\-fahrts\-ka\-pi\-t\"ans\-m\"ut\-zen\-fran\-sen
\clearpage
\subsection{Border Line Option Keys}\label{subsec:borderline}
-The following borderline options are applicable for most skins which
-use |tikzpicture| as \refKey{/tcb/graphical environment}.
-Therefore, the skin \refSkin{standard} does not support these border lines,
+The skin \refSkin{standard} does not support these border lines,
but most other skins, e.\,g.\ \refSkin{enhanced}.
The borderlines are independent from the normal |tcolorbox| rules.
@@ -1714,9 +1709,7 @@ but adapt to breakable boxes.
\clearpage
\subsection{Shadow Option Keys}\label{subsec:shadows}
-The following shadow options are applicable for most skins which
-use |tikzpicture| as \refKey{/tcb/graphical environment}.
-Therefore, the skin \refSkin{standard} does not support these shadows,
+The skin \refSkin{standard} does not support these shadows,
but most other skins, e.\,g.\ \refSkin{enhanced}.
The shadows are stackable, i.\,e.\ several different shadows can be
@@ -2087,7 +2080,7 @@ This is a tcolorbox.
from the frame outline. A positive \meta{offset} value shrinks the shadow
and a negative \meta{offset} value enlarges the shadow.
The shadow is filled along a \tikzname\ path with the given \tikzname\ \meta{options}.\\
- The shadows adapt to the rounded corners of the |tcolorbox|. A shrinked shadow
+ The shadows adapt to the rounded corners of the |tcolorbox|. A shrunken shadow
will switch to sharp corners if necessary, an enlarged shadow may become
more rounded depending on several factors. But \refKey{/tcb/sharp corners}
have sharp shadows.
@@ -2255,7 +2248,7 @@ This is a tcolorbox.
\clearpage
\subsubsection{\tikzname\ Shadows}
-Alternativ to the package shadow options described before, shadows from
+Alternative to the package shadow options described before, shadows from
the \flqq Shadows Library\frqq\ of \tikzname\ can be used.
Such shadows can be added directly to the frame path using \refKey{/tcb/frame style}.
@@ -2292,9 +2285,7 @@ Such shadows can be added directly to the frame path using \refKey{/tcb/frame st
\clearpage
\subsection{\tikzname\ Picture Option Keys}\label{subsec:tikzpicture}
-The following general options are applicable for skins which
-use |tikzpicture| as \refKey{/tcb/graphical environment}.
-Therefore, the skin \refSkin{standard} does not support these options,
+The skin \refSkin{standard} does not support these options,
but most other skins, e.\,g.\ \refSkin{enhanced}.
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex
index 1e6960ffd2..a9fbc31bb2 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex
@@ -62,13 +62,6 @@ option from the core package has to be set.
\clearpage
-\begin{docTcbKey}{graphical environment}{=\meta{name}}{no default, initially \texttt{pgfpicture}}
- Sets the graphical environment for the |tcolorbox| to \meta{name}.
- Feasible values are |pgfpicture| and |tikzpicture| or environments which
- inherit from one of these two. This key is set by a \refKey{/tcb/skin} and
- may seldom be used directly.
-\end{docTcbKey}
-
The skin of a |tcolorbox| is drawn by up to four \emph{engines}.
Afterwards, the text content is drawn which is not part of a skin.
The four steps are:
@@ -85,18 +78,6 @@ The four steps are:
by \refKey{/tcb/title engine}.
\end{enumerate}
-%Every engine for the up to four steps can be set to one of the following types:
-%\begin{enumerate}
-%\item\docValue{standard}: the original code from the core package.
-%\item\docValue{path}: a |tikz| path which can be controlled by options.
-%\item\docValue{pathfirst}: a |tikz| path which can be controlled by options.
-%\item\docValue{pathmiddle}: a |tikz| path which can be controlled by options.
-%\item\docValue{pathlast}: a |tikz| path which can be controlled by options.
-%\item\docValue{freelance}: arbitrary user code.
-%\item\docValue{spartan}: a quite spartan code.
-%\end{enumerate}
-%\clearpage
-
\begin{docTcbKey}{frame engine}{=\meta{name}}{no default, initially \texttt{standard}}
Sets the \emph{frame} drawing engine for a box to \meta{name}.
Typically, this key is set by a \refKey{/tcb/skin}.
@@ -644,7 +625,7 @@ These color names are
\item\docColor{tcbcolframe} set by \refKey{/tcb/colframe} (frame color)
\item\docColor{tcbcolback} set by \refKey{/tcb/colback} (background color)
\item\docColor{tcbcolbacktitle} set by \refKey{/tcb/colbacktitle} (background color of the title)
-\item\docColor{tcbcolbacklower} set by \refKey{/tcb/colbacklower} (skin dependend background color
+\item\docColor{tcbcolbacklower} set by \refKey{/tcb/colbacklower} (skin dependent background color
of the lower part; needs \mylib{skins} to be loaded)
\item\docColor{tcbcolupper} set by \refKey{/tcb/colupper} (text color upper part)
\item\docColor{tcbcollower} set by \refKey{/tcb/collower} (text color lower part)
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
index 4884e85f57..f1a7be1ff4 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
@@ -243,7 +243,7 @@ E&=mc^2 + \int_a^b x\, dx
\begin{docTcbKey}{separator sign}{=\meta{sign}}{no default, initially |:|}
The given \meta{sign} is used inside the title text of a theorem
- as separater between display name combined with number and
+ as separator between display name combined with number and
the specific title text. It is omitted, if there is no specific title text.
\begin{dispExample}
@@ -706,91 +706,140 @@ created by hand or using \refCom{newtcbtheorem}.
\end{docTcbKey}
\clearpage
-\begin{docTcbKey}{ams align upper}{}{style, no value}
+\begin{docTcbKeys}[
+ doc parameter = ,
+ doc description = {style, no value},
+ ]
+ {
+ {
+ doc name = ams align upper,
+ },
+ {
+ doc name = ams align,
+ doc updated = 2024-06-27,
+ }
+ }
Adds an |amsmath| |align| environment to the start and end
of the upper part.
-\end{docTcbKey}
-
-\begin{docTcbKey}{ams align lower}{}{style, no value}
- Adds an |amsmath| |align| environment to the start and end
- of the lower part.
-\end{docTcbKey}
-
-\begin{docTcbKey}{ams align}{}{style, no value}
- Adds an |amsmath| |align| environment to the start and end
- of the upper \emph{and} lower part.
\begin{dispExample}
\begin{tcolorbox}[ams align,colback=yellow!10!white,colframe=red!50!black]
\sum\limits_{n=1}^{\infty} \frac{1}{n} &= \infty.\\
\int x^2 ~\text{d}x &= \frac13 x^3 + c.
\end{tcolorbox}
\end{dispExample}
-\end{docTcbKey}
-
-\begin{docTcbKey}{ams align* upper}{}{style, no value}
- Adds an |amsmath| |align*| environment to the start and end
- of the upper part.
-\end{docTcbKey}
+\begin{marker}
+ Boxes with \refKey{/tcb/ams align upper} or \refKey{/tcb/ams align}
+ cannot have a lower part!
+ For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead.
+\end{marker}
+\end{docTcbKeys}
-\begin{docTcbKey}{ams align* lower}{}{style, no value}
- Adds an |amsmath| |align*| environment to the start and end
+\begin{docTcbKey}{ams align lower}{}{style, no value}
+ Adds an |amsmath| |align| environment to the start and end
of the lower part.
\end{docTcbKey}
-\begin{docTcbKey}{ams align*}{}{style, no value}
+
+\begin{docTcbKeys}[
+ doc parameter = ,
+ doc description = {style, no value},
+ ]
+ {
+ {
+ doc name = ams align* upper,
+ },
+ {
+ doc name = ams align*,
+ doc updated = 2024-06-27,
+ }
+ }
Adds an |amsmath| |align*| environment to the start and end
- of the upper \emph{and} lower part.
+ of the upper part.
\begin{dispExample}
\begin{tcolorbox}[ams align*,colback=yellow!10!white,colframe=red!50!black]
\sum\limits_{n=1}^{\infty} \frac{1}{n} &= \infty.\\
\int x^2 ~\text{d}x &= \frac13 x^3 + c.
\end{tcolorbox}
\end{dispExample}
-\end{docTcbKey}
-
-\clearpage
-\begin{docTcbKey}{ams gather upper}{}{style, no value}
- Adds an |amsmath| |gather| environment to the start and end
- of the upper part.
-\end{docTcbKey}
+\begin{marker}
+ Boxes with \refKey{/tcb/ams align* upper} or \refKey{/tcb/ams align*}
+ cannot have a lower part!
+ For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead.
+\end{marker}
+\end{docTcbKeys}
-\begin{docTcbKey}{ams gather lower}{}{style, no value}
- Adds an |amsmath| |gather| environment to the start and end
+\begin{docTcbKey}{ams align* lower}{}{style, no value}
+ Adds an |amsmath| |align*| environment to the start and end
of the lower part.
\end{docTcbKey}
-\begin{docTcbKey}{ams gather}{}{style, no value}
+
+\clearpage
+\begin{docTcbKeys}[
+ doc parameter = ,
+ doc description = {style, no value},
+ ]
+ {
+ {
+ doc name = ams gather upper,
+ },
+ {
+ doc name = ams gather,
+ doc updated = 2024-06-27,
+ }
+ }
Adds an |amsmath| |gather| environment to the start and end
- of the upper \emph{and} lower part.
+ of the upper part.
\begin{dispExample}
\begin{tcolorbox}[ams gather,colback=yellow!10!white,colframe=red!50!black]
\sum\limits_{n=1}^{\infty} \frac{1}{n} = \infty.\\
\int x^2 ~\text{d}x = \frac13 x^3 + c.
\end{tcolorbox}
\end{dispExample}
-\end{docTcbKey}
-
-\begin{docTcbKey}{ams gather* upper}{}{style, no value}
- Adds an |amsmath| |gather*| environment to the start and end
- of the upper part.
-\end{docTcbKey}
+\begin{marker}
+ Boxes with \refKey{/tcb/ams gather upper} or \refKey{/tcb/ams gather}
+ cannot have a lower part!
+ For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead.
+\end{marker}
+\end{docTcbKeys}
-\begin{docTcbKey}{ams gather* lower}{}{style, no value}
- Adds an |amsmath| |gather*| environment to the start and end
+\begin{docTcbKey}{ams gather lower}{}{style, no value}
+ Adds an |amsmath| |gather| environment to the start and end
of the lower part.
\end{docTcbKey}
-\begin{docTcbKey}{ams gather*}{}{style, no value}
+\begin{docTcbKeys}[
+ doc parameter = ,
+ doc description = {style, no value},
+ ]
+ {
+ {
+ doc name = ams gather* upper,
+ },
+ {
+ doc name = ams gather*,
+ doc updated = 2024-06-27,
+ }
+ }
Adds an |amsmath| |gather*| environment to the start and end
- of the upper \emph{and} lower part.
+ of the upper part.
\begin{dispExample}
\begin{tcolorbox}[ams gather*,colback=yellow!10!white,colframe=red!50!black]
\sum\limits_{n=1}^{\infty} \frac{1}{n} = \infty.\\
\int x^2 ~\text{d}x = \frac13 x^3 + c.
\end{tcolorbox}
\end{dispExample}
-\end{docTcbKey}
+\begin{marker}
+ Boxes with \refKey{/tcb/ams gather* upper} or \refKey{/tcb/ams gather*}
+ cannot have a lower part!
+ For a lower part, use \refKey{/tcb/ams nodisplayskip upper} instead.
+\end{marker}
+\end{docTcbKeys}
+\begin{docTcbKey}{ams gather* lower}{}{style, no value}
+ Adds an |amsmath| |gather*| environment to the start and end
+ of the lower part.
+\end{docTcbKey}
\clearpage
\begin{docTcbKey}{ams nodisplayskip upper}{}{style, no value}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
index 733c356d8e..8ea72010fe 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
@@ -140,7 +140,7 @@ is used internally.
\enlargethispage*{1cm}
-\begin{vigTcbKey}[][doc new=2016-04-22]{inside node}{=\meta{name}}{style, initally unset}
+\begin{vigTcbKey}[][doc new=2016-04-22]{inside node}{=\meta{name}}{style, initially unset}
Places the \refCom{tcbvignette} inside the node with the given \meta{name}.
The outer limits of the \emph{vignette} are adapted to the node geometry.
\begin{dispExample*}{sbs,righthand width=3cm,center lower}
@@ -154,7 +154,7 @@ is used internally.
\clearpage
-\begin{vigTcbKey}[][doc new=2016-04-22]{outside node}{=\meta{name}}{style, initally unset}
+\begin{vigTcbKey}[][doc new=2016-04-22]{outside node}{=\meta{name}}{style, initially unset}
Places the \refCom{tcbvignette} outside the node with the given \meta{name}.
The inner limits of the \emph{vignette} are adapted to the node geometry.
\begin{dispExample*}{sbs,righthand width=3cm,center lower}
@@ -167,7 +167,7 @@ is used internally.
\end{vigTcbKey}
-\begin{vigTcbKey}[][doc new=2016-04-22]{over node}{=\meta{name}}{style, initally unset}
+\begin{vigTcbKey}[][doc new=2016-04-22]{over node}{=\meta{name}}{style, initially unset}
Places the \refCom{tcbvignette} over the node with the given \meta{name}.
The outer limits of the \emph{vignette} are adapted to the node geometry, but
are shifted to the outside by \refKey{/tcb/vig/over node offset}.
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.pdf b/macros/latex/contrib/tcolorbox/tcolorbox.pdf
index a7499395e4..3054aff591 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.sty b/macros/latex/contrib/tcolorbox/tcolorbox.sty
index be2dc7e19b..23f0d51569 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.sty
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.sty
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
@@ -17,11 +17,12 @@
%%
%% This work consists of all files listed in README
%%
-\NeedsTeXFormat{LaTeX2e}[2021-11-15]
-\ProvidesPackage{tcolorbox}[2024/01/10 version 6.2.0 text color boxes]
-\def\tcb@version{6.2.0}
+\NeedsTeXFormat{LaTeX2e}[2023-11-01]
+\ProvidesPackage{tcolorbox}[2024/07/10 version 6.3.0 text color boxes]
+\def\tcb@version{6.3.0}
-\RequirePackage{pgf}[2008/01/15]
+%\RequirePackage{pgf}[2008/01/15]
+\RequirePackage{tikz}[2023/01/15]
\RequirePackage{verbatim}[2003/08/22]
\RequirePackage{environ}[2013/04/01]
\RequirePackage{etoolbox}[2011/01/03]
@@ -57,6 +58,7 @@
\ExplSyntaxOn
\bool_new:N \l__tcobox_prevent_init_overwrite_bool
+\bool_new:N \l__tcobox_savebox_construction_bool
\box_new:N \l__tcobox_tmpa_box
\dim_new:N \l__tcobox_tmpa_dim
\fp_new:N \l__tcobox_tmpa_fp
@@ -561,7 +563,7 @@
toggle left and right/evenpage/.code={\let\tcb@lrtoggle=\tcb@lrtoggle@evenpage\tcbset{check odd page}},
toggle left and right/forced/.code={\let\tcb@lrtoggle=\tcb@lrtoggle@forced},
toggle left and right/.default=evenpage,
- graphical environment/.store in=\kvtcb@graphenv,
+ graphical environment/.style=,% deprecated
%
frame engine/.is choice,
frame engine/standard/.style={frame code=\tcb@drawframe@standard},
@@ -1003,22 +1005,13 @@
IfBooleanF/.code~n~args={2}{\IfBooleanF{#1}{\pgfkeysalso{#2}}},
}
-\IfFormatAtLeastTF{2023-06-01}
- {
- \def\tcb@set@parbox@indent@{
- \exp_args:Nne \hook_gput_next_code:nn {para/begin}
- { \__tcobox_set_parbox_indent:n { \thetcolorboxnumber } }
- \let\tcb@set@parbox@indent\@empty
- }
- }
- {
- % Note: To be removed in future
- \def\tcb@set@parbox@indent@{
- \vspace{-\parskip}
- \noindent
- \let\tcb@set@parbox@indent\@empty
- }
- }
+
+\def\tcb@set@parbox@indent@{
+ \exp_args:Nne \hook_gput_next_code:nn {para/begin}
+ { \__tcobox_set_parbox_indent:n { \thetcolorboxnumber } }
+ \let\tcb@set@parbox@indent\@empty
+}
+
\cs_new_protected:Npn \__tcobox_set_parbox_indent:n #1
{
@@ -1027,12 +1020,20 @@
{ \int_compare_p:nNn { #1 } = { \thetcolorboxnumber } }
% and if inside a "tcb@savebox" env (upper or lower part is non-empty),
% hence not at the time of using saved \tcb@upperbox or \tcb@lowerbox
- { \cs_if_exist_p:N \tcbbreak }
+ { \l__tcobox_savebox_construction_bool }
{
\OmitIndent
}
}
+
+\def\tcb@set@savebox@construction@true
+ {
+ \bool_set_true:N \l__tcobox_savebox_construction_bool
+ }
+\bool_set_false:N \l__tcobox_savebox_construction_bool
+
+
\ExplSyntaxOff
\def\tcb@parbox@true@indent{}%
@@ -1045,6 +1046,7 @@
\let\tcb@parboxrestore=\@parboxrestore
\def\tcb@parbox@false@settings{%
+ \@nobreakfalse%
\let\par\@@par%
\linewidth\hsize%
\@totalleftmargin\z@%
@@ -1082,6 +1084,7 @@
\reserved@a
\@endpefalse%
\global\@newlistfalse%
+ \tcb@set@savebox@construction@true%
\let\tcbbreak\@@par%
\csname tcb@parbox@use@\kvtcb@parbox\endcsname%
\tcb@minipage{#2}%
@@ -2025,17 +2028,42 @@
\fi%
}
-\def\tcb@drawing@env@begin{%
- \csname tcb@before@\tcb@split@state\endcsname%
- \begin{\kvtcb@graphenv}%
- \tcb@bbdraw%
- \tcb@apply@graph@patches%
-}
-\def\tcb@drawing@env@end{%
- \end{\kvtcb@graphenv}%
- \csname tcb@after@\tcb@split@state\endcsname%
-}
+\let\tcb@tikz@option@hook\@empty
+\let\tcb@tikz@begin@hook\@empty
+\let\tcb@tikz@end@hook\@empty
+
+\ExplSyntaxOn
+
+\NewSocket{tagsupport/tcb/drawing/begin}{0}
+\NewSocket{tagsupport/tcb/drawing/end}{0}
+\NewSocketPlug{tagsupport/tcb/drawing/begin}{suspend}
+ {\tag_mc_end_push:\tag_mc_begin:n{artifact}}
+\NewSocketPlug{tagsupport/tcb/drawing/end}{resume}
+ {\tag_mc_end:\tag_mc_begin_pop:n{}}
+\AssignSocketPlug{tagsupport/tcb/drawing/begin}{suspend}
+\AssignSocketPlug{tagsupport/tcb/drawing/end}{resume}
+
+\NewDocumentEnvironment{ tcb@drawing }{ }
+ {
+ \use:c{ tcb@before@\tcb@split@state }
+ \exp_last_unbraced:NnNo \begin{tikzpicture}[\tcb@tikz@option@hook]
+ \UseTaggingSocket{tcb/drawing/begin}
+ \SuspendTagging{tcb/drawing}
+ \tcb@tikz@begin@hook
+ \tcb@bbdraw
+ \tcb@apply@graph@patches
+ }
+ {
+ \tcb@tikz@end@hook
+ \ResumeTagging{tcb/drawing}
+ \UseTaggingSocket{tcb/drawing/end}
+ \end{tikzpicture}
+ \use:c{ tcb@after@\tcb@split@state }
+ }
+
+\ExplSyntaxOff
+
\def\tcb@set@normal@unbroken@beforeafter{%
\let\tcb@before@unbroken=\kvtcb@beforebox%
@@ -2077,7 +2105,8 @@
\tcb@ch%
\tcbdimto\tcb@innerheight{\tcb@height-\kvtcb@top@rule-\kvtcb@bottom@rule-\tcb@h@padtitle}%
\tcbdimto\tcbtextheight{\tcb@innerheight-\kvtcb@boxsep*2-\kvtcb@top-\kvtcb@bottom}%
- \tcb@drawing@env@begin%
+ \begin{tcb@drawing}%
+ %\tcb@drawing@env@begin%
\pgfsetbaseline{\the\dimexpr\kvtcb@baseline-\kvtcb@bbbottom\relax}%
\tcb@extensions@preframe%
% draw frame and interior
@@ -2097,7 +2126,8 @@
\tcb@tdraw@upper%
\iftcb@hasLower\tcb@tdraw@lower\fi%
\tcb@extensions@final%
- \tcb@drawing@env@end%
+ %\tcb@drawing@env@end%
+ \end{tcb@drawing}%
}
\let\tcb@drawcolorbox@standalone=\tcb@drawcolorbox
@@ -2255,6 +2285,9 @@
}
\def\tcb@proc@counter@auto#1{%
+ \ifcsdef{c@tcb@cnt@#1}
+ {\tcb@error{Auto counter for environment '#1' already defined}{}}
+ {}%
\newcounter{tcb@cnt@#1}%
\csxdef{tcb@cnt@#1}{tcb@cnt@#1}%
\tcb@proc@counter@autoanduse{#1}%
@@ -2297,6 +2330,33 @@
\ExplSyntaxOn
+\prg_new_conditional:Npnn \__tcobox_if_single_cs:n #1 { p, TF }
+ {
+ \bool_lazy_and:nnTF
+ { \tl_if_single_p:n { #1 } }
+ { \token_if_cs_p:N #1 }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+
+\msg_new:nnn { tcolorbox } { invalid-box-name }
+ {
+ Invalid~box~name~`` \tl_to_str:n {#1} ''.~
+ A~single~command~is~expected~after~space~trimming.~
+ I'll~drop~this~box~definition.
+ }
+
+\cs_new:Npn \__tcobox_set_backslash_removed:Nn #1#2
+ {
+ \__tcobox_if_single_cs:nTF { #2 }
+ {
+ \tl_set:Ne #1 { \exp_last_unbraced:Ne \cs_to_str:N { \tl_trim_spaces:n { #2 } } }
+ }
+ {
+ \msg_error:nnn { tcolorbox } { invalid-box-name } { #2 }
+ }
+ }
+
\cs_new:Npn \__tcobox_process_newtcolorbox:nn #1#2
{
\bool_lazy_and:nnF
@@ -2312,14 +2372,6 @@
}
-\cs_new:Npn \__tcobox_set_backslash_removed:Nn #1#2
- {
- \tl_set:Nn #1 { #2 }
- \tl_trim_spaces:N #1
- \tl_set:Ne #1 { \exp_last_unbraced:NV \cs_to_str:N #1 }
- }
-
-
\NewDocumentCommand \__tcobox_new_tcolorbox:w { m +O{} >{\TrimSpaces} m o +o +m }
{
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
@@ -2740,7 +2792,7 @@
\tcb@new@skin{standard}{frame engine=standard,interior titled engine=standard,
interior engine=standard,segmentation engine=standard,title engine=standard,
- graphical environment=pgfpicture,geometry nodes=false,
+ geometry nodes=false,
set@extensions@preframe=,set@extensions@postframe={\tcb@apply@overlay},set@extensions@final=,%
set@outerboundary=\tcb@boundaryframe@standard,%
shape@of@skin=unbroken,
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.tex b/macros/latex/contrib/tcolorbox/tcolorbox.tex
index b7c1742391..c60eb4acfa 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.tex
@@ -1,5 +1,5 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 6.2.0 (2024/01/10)
+%% The LaTeX package tcolorbox - version 6.3.0 (2024/07/10)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
@@ -25,6 +25,18 @@
% arara: pdflatex: { shell: yes, synctex: yes }
% arara: pdflatex: { shell: yes, synctex: yes }
%
+%\DocumentMetadata{
+% lang = en,
+% pdfversion = 2.0,
+% pdfstandard = ua-2,
+% pdfstandard = a-4f,
+% testphase =
+% {
+% phase-III,
+% firstaid
+% },
+% %uncompress,
+%}
\PassOptionsToPackage{pdftex,bookmarks,raiselinks,pageanchor,hyperindex,colorlinks,pdfusetitle,pdfpagelabels}{hyperref}
\documentclass[a4paper,11pt]{ltxdoc}
@@ -51,8 +63,8 @@
\setlength{\bibitemsep}{\smallskipamount}
\addbibresource{tcolorbox.doc.bib}
-\def\version{6.2.0}%
-\def\datum{2024/01/10}%
+\def\version{6.3.0}%
+\def\datum{2024/07/10}%
\makeindex
\hypersetup{
@@ -68,7 +80,7 @@
%\geometry{showframe}
%\tcbset{draftmode}
\tcbset{/tcb/external/-}% for final run
-%\includeonly{tcolorbox.doc.initoptions,tcolorbox.doc.index}
+%\includeonly{tcolorbox.doc.coreoptions}
%\hypersetup{colorlinks=false}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/macros/latex/contrib/telprint/README.md b/macros/latex/contrib/telprint/README.md
new file mode 100644
index 0000000000..de7d729ad6
--- /dev/null
+++ b/macros/latex/contrib/telprint/README.md
@@ -0,0 +1,13 @@
+# telprint package for LaTeX
+
+Version: 2024-07-26 v1.12
+
+Format German phone numbers
+
+## Copyright (C)
+* 1996, 1997, 2004-2008 Heiko Oberdiek
+* 2016-2024 Oberdiek Package Support Group
+
+
+## License
+LATEX Project Public License, version 1.3c or later.
diff --git a/macros/latex/contrib/oberdiek/telprint.dtx b/macros/latex/contrib/telprint/telprint.dtx
index 57152c6651..74bb22ea8a 100644
--- a/macros/latex/contrib/oberdiek/telprint.dtx
+++ b/macros/latex/contrib/telprint/telprint.dtx
@@ -1,13 +1,13 @@
% \iffalse meta-comment
%
% File: telprint.dtx
-% Version: 2016/05/16 v1.11
+% Version: 2024-07-26 v1.12
% Info: Format German phone numbers
%
% Copyright (C)
% 1996, 1997, 2004-2008 Heiko Oberdiek
-% 2016-2019 Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
+% 2016-2024 Oberdiek Package Support Group
+% https://github.com/ho-tex/telprint/issues
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -23,7 +23,7 @@
%
% The Current Maintainers of this work are
% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
+% https://github.com/ho-tex/telprint/issues
%
% The Base Interpreter refers to any `TeX-Format',
% because some files are installed in TDS:tex/generic//.
@@ -34,8 +34,8 @@
% telprint-test1.tex.
%
% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/telprint.dtx
-% CTAN:macros/latex/contrib/oberdiek/telprint.pdf
+% CTAN:macros/latex/contrib/telprint/telprint.dtx
+% CTAN:macros/latex/contrib/telprint/telprint.pdf
%
% Unpacking:
% (a) If telprint.ins is present:
@@ -56,7 +56,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex telprint.dtx
% makeindex -s gind.ist telprint.idx
% pdflatex telprint.dtx
@@ -64,9 +64,9 @@
% pdflatex telprint.dtx
%
% Installation:
-% TDS:tex/generic/oberdiek/telprint.sty
-% TDS:doc/latex/oberdiek/telprint.pdf
-% TDS:source/latex/oberdiek/telprint.dtx
+% TDS:tex/generic/telprint/telprint.sty
+% TDS:doc/latex/telprint/telprint.pdf
+% TDS:source/latex/telprint/telprint.dtx
%
%<*ignore>
\begingroup
@@ -83,7 +83,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: telprint 2016/05/16 v1.11 Format German phone numbers (HO)}
+\Msg{* Package: telprint 2024-07-26 v1.12 Format German phone numbers (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -95,11 +95,11 @@
This is a generated file.
Project: telprint
-Version: 2016/05/16 v1.11
+Version: 2024-07-26 v1.12
Copyright (C)
1996, 1997, 2004-2008 Heiko Oberdiek
- 2016-2019 Oberdiek Package Support Group
+ 2016-2024 Oberdiek Package Support Group
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -115,7 +115,7 @@ This work has the LPPL maintenance status "maintained".
The Current Maintainers of this work are
Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
+https://github.com/ho-tex/telprint/issues
The Base Interpreter refers to any `TeX-Format',
@@ -132,9 +132,9 @@ and the derived files
\generate{%
\file{telprint.ins}{\from{telprint.dtx}{install}}%
\file{telprint.drv}{\from{telprint.dtx}{driver}}%
- \usedir{tex/generic/oberdiek}%
+ \usedir{tex/generic/telprint}%
\file{telprint.sty}{\from{telprint.dtx}{package}}%
-% \usedir{doc/latex/oberdiek/test}%
+% \usedir{doc/latex/telprint/test}%
% \file{telprint-test1.tex}{\from{telprint.dtx}{test1}}%
}
@@ -162,7 +162,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{telprint.drv}%
- [2016/05/16 v1.11 Format German phone numbers (HO)]%
+ [2024-07-26 v1.12 Format German phone numbers (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\usepackage[ngerman,english]{babel}
@@ -177,9 +177,9 @@ and the derived files
% \GetFileInfo{telprint.drv}
%
% \title{The \xpackage{telprint} package}
-% \date{2016/05/16 v1.11}
+% \date{2024-07-26 v1.12}
% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
+% {Please report any issues at \url{https://github.com/ho-tex/telprint/issues}}}
%
% \maketitle
%
@@ -397,7 +397,7 @@ and the derived files
\fi
\expandafter\x\csname ver@telprint.sty\endcsname
\ProvidesPackage{telprint}%
- [2016/05/16 v1.11 Format German phone numbers (HO)]%
+ [2024-07-26 v1.12 Format German phone numbers (HO)]%
% \end{macrocode}
%
% \subsection{Catcodes}
@@ -467,7 +467,11 @@ and the derived files
% \begin{macro}{\telspace}
% \begin{macrocode}
\DeclareRobustCommand*{\telspace}[1]{\def\TELspace{#1}}
-\telspace{{}$\,${}}
+\ifcsname LaTeXReleaseInfo\endcsname
+ \telspace{\,}
+\else
+ \telspace{{}$\,${}}
+\fi
% \end{macrocode}
% \end{macro}
% \begin{macro}{\telhyphen}
@@ -615,30 +619,10 @@ and the derived files
% \paragraph{Package.} This package is available on
% CTAN\footnote{\CTANpkg{telprint}}:
% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/telprint.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/telprint.pdf}] Documentation.
-% \end{description}
-%
-%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}]
+% \item[\CTAN{macros/latex/contrib/telprint/telprint.dtx}] The source file.
+% \item[\CTAN{macros/latex/contrib/telprint/telprint.pdf}] Documentation.
% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-% |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
%
% \subsection{Package installation}
%
@@ -655,9 +639,9 @@ and the derived files
% \begin{quote}
% \def\t{^^A
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
-% telprint.sty & tex/generic/oberdiek/telprint.sty\\
-% telprint.pdf & doc/latex/oberdiek/telprint.pdf\\
-% telprint.dtx & source/latex/oberdiek/telprint.dtx\\
+% telprint.sty & tex/generic/telprint/telprint.sty\\
+% telprint.pdf & doc/latex/telprint/telprint.pdf\\
+% telprint.dtx & source/latex/telprint/telprint.dtx\\
% \end{tabular}^^A
% }^^A
% \sbox0{\t}^^A
@@ -836,6 +820,9 @@ and the derived files
% \item
% Documentation updates.
% \end{Version}
+% \begin{Version}{2024-07-26 v1.12}
+% \item Avoid math in \cs{telspace} for better tagging support.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/oberdiek/telprint.pdf b/macros/latex/contrib/telprint/telprint.pdf
index f8027491c8..49a2968f35 100644
--- a/macros/latex/contrib/oberdiek/telprint.pdf
+++ b/macros/latex/contrib/telprint/telprint.pdf
Binary files differ
diff --git a/macros/latex/contrib/texvc/Makefile b/macros/latex/contrib/texvc/Makefile
new file mode 100644
index 0000000000..d32d473d3b
--- /dev/null
+++ b/macros/latex/contrib/texvc/Makefile
@@ -0,0 +1,17 @@
+PACKAGE = texvc
+all: $(PACKAGE).pdf
+
+$(PACKAGE).sty: $(PACKAGE).dtx $(PACKAGE).ins
+ pdflatex $(PACKAGE).ins
+
+$(PACKAGE).idx: $(PACKAGE).dtx $(PACKAGE).sty
+ pdflatex $(PACKAGE).dtx
+
+$(PACKAGE).ind: $(PACKAGE).idx $(PACKAGE).sty
+ makeindex -s gind.ist $(PACKAGE).idx
+
+$(PACKAGE).gls: $(PACKAGE).idx $(PACKAGE).sty
+ makeindex -s gglo.ist -o $(PACKAGE).gls $(PACKAGE).glo
+
+$(PACKAGE).pdf: $(PACKAGE).dtx $(PACKAGE).sty $(PACKAGE).ind $(PACKAGE).gls
+ pdflatex $(PACKAGE).dtx
diff --git a/macros/latex/contrib/texvc/texvc.dtx b/macros/latex/contrib/texvc/texvc.dtx
index 429a1a5e6e..7309d0266f 100644
--- a/macros/latex/contrib/texvc/texvc.dtx
+++ b/macros/latex/contrib/texvc/texvc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2015 by Moritz Schubotz
+% Copyright (C) 2015-2018 by Moritz Schubotz
% -----------------------------------
%
% This file may be distributed and/or modified under the
@@ -22,7 +22,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%<package>\ProvidesPackage{texvc}
%<*package>
-[2018/03/04 v1.1 Bugfixes]
+[2020/02/09 v1.2 Document deprecations]
%</package>
%<package>
%<package>\RequirePackage{amsmath}
@@ -42,7 +42,7 @@
%<package>
%<*driver>
\documentclass{ltxdoc}
-\usepackage{texvc}[2018/03/04]
+\usepackage{texvc}[2020/02/09]
\EnableCrossrefs
\CodelineIndex
\RecordChanges
@@ -75,19 +75,21 @@
%
% \changes{v1.0}{2015/11/09}{Initial version}
% \changes{v1.1}{2018/03/04}{Fix bug with varcoppa, document usage of or}
+% \changes{v1.2}{2020/02/09}{Document deprecations}
% \GetFileInfo{texvc.sty}
-%
+% \newcommand{\deprecated}{\emph{This command is deprecated.}}
% \DoNotIndex{\newcommand,\newenvironment}
%
% \title{The \textsf{texvc} package\thanks{This document
% corresponds to \textsf{texvc}~\fileversion,
% dated \filedate.}}
-% \author{Moritz Schubotz \\ \texttt{moritz.schubotz@uni-konstanz.de}}
-%
+% \author{Moritz Schubotz \\ \texttt{moritz.schubotz@fiz-karlsruhe.de}}
+% \date{\filedate}
+%
% \maketitle
%
% \begin{abstract}
-% This package provides all\footnote{The command \texttt{\textbackslash or} is only availible if custom code is copied into your \LaTeX-file. See page \pageref{cmd.or} for details.} LaTeX command availible in MediaWiki.
+% This package provides all\footnote{The command \texttt{\textbackslash or} is only available if custom code is copied into your \LaTeX-file. See page \pageref{cmd.or} for details.} LaTeX command available in MediaWiki.
% This includes several packages like amsmath, and adds some specific
% commands such as \texttt{\textbackslash Reals}.
% \end{abstract}
@@ -95,7 +97,7 @@
% \section{Provided Macros}
%
% \subsection{Arrows}
-% The first group of MediaWiki coustom command (other\_delimiters2) defines short hand notations for some arrorws.
+% The first group of MediaWiki custom command (other\_delimiters2) defines short hand notations for some arrows.
%
% \DescribeMacro{\darr} Short hand notation for arrow $\downarrow.$
%
@@ -122,12 +124,12 @@
%
% \subsection{Literals}
%
-% The second group of MediaWiki coustom commands (other\_litereals3) defines short hand notations for some literals.
+% The second group of MediaWiki custom commands (other\_litereals3) defines short hand notations for some literals.
%
-% \DescribeMacro{\C} Short hand notation for literal $\mathbb{C}.$
+% \DescribeMacro{\C} Short hand notation for literal $\mathbb{C}.$ \deprecated
%
%
-% \DescribeMacro{\H} Short hand notation for literal $\mathbb{H}.$
+% \DescribeMacro{\H} Short hand notation for literal $\mathbb{H}.$ \deprecated
%
%
% \DescribeMacro{\N} Short hand notation for literal $\mathbb{N}.$
@@ -151,10 +153,10 @@
% \DescribeMacro{\Alpha} Short hand notation for literal $\mathrm{A}.$
%
%
-% \DescribeMacro{\and} Short hand notation for literal $\land.$
+% \DescribeMacro{\and} Short hand notation for literal $\land.$ \deprecated
%
%
-% \DescribeMacro{\ang} Short hand notation for literal $\angle.$
+% \DescribeMacro{\ang} Short hand notation for literal $\angle.$ \deprecated
%
%
% \DescribeMacro{\Beta} Short hand notation for literal $\mathrm{B}.$
@@ -277,10 +279,10 @@
% \DescribeMacro{\Omicron} Short hand notation for literal $\mathrm{O}.$
%
%
-% \DescribeMacro{\or} Short hand notation for literal $\lor.$
+% \DescribeMacro{\or} Short hand notation for literal $\lor.$ \deprecated
%
%
-% \DescribeMacro{\part} Short hand notation for literal $\partial.$
+% \DescribeMacro{\part} Short hand notation for literal $\partial.$ \deprecated
%
%
% \DescribeMacro{\plusmn} Short hand notation for literal $\pm.$
@@ -342,7 +344,21 @@
%
% \DescribeMacro{\Zeta} Short hand notation for literal $\mathrm{Z}.$
%
-%
+% \section{Deprecations}
+% According to the decision of \emph{Wikimedia Community User Group Math}\footnote{\url{https://meta.wikimedia.org/w/index.php?oldid=19705444}} the following macros have been deprecated\footnote{See \url{https://phabricator.wikimedia.org/T197842} for the discussion.}:
+% \begin{enumerate}
+% \item \verb|$|
+% \item \verb|%|
+% \item \verb|\and|
+% \item \verb|\or|
+% \item \verb|\part|
+% \item \verb|\ang|
+% \item \verb|\C|
+% \item \verb|\H|
+% \item \verb|\bold|
+% \item \verb|\Bbb|
+% \end{enumerate}
+% The commands 1,2,4,9,10 have never been part of this package, but were available from within Wikipedia.
% \StopEventually{}
%
% \section{Implementation}
diff --git a/macros/latex/contrib/texvc/texvc.ins b/macros/latex/contrib/texvc/texvc.ins
index 5343a6a94f..0c12dd61eb 100644
--- a/macros/latex/contrib/texvc/texvc.ins
+++ b/macros/latex/contrib/texvc/texvc.ins
@@ -1,42 +1,42 @@
-%%
-%% Copyright (C) 2015 by Moritz Schubotz
-%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3 of this license or (at your option) any later
-%% version. The latest version of this license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%%
-\input docstrip.tex
-\keepsilent
-\usedir{tex/latex/texvc}
-\askforoverwritefalse
-\preamble
-This is a generated file.
-Copyright (C) 2015 by Moritz Schubotz
-This file may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
-version 1.3 of this license or (at your option) any later
-version. The latest version of this license is in:
-http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of
-LaTeX version 2005/12/01 or later.
-\endpreamble
-\generate{\file{texvc.sty}{\from{texvc.dtx}{package}}}
-\Msg{*********************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the}
-\Msg{* following file into a directory searched by TeX:}
-\Msg{*}
-\Msg{* \space\space texvc.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file texvc.dtx}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing!}
-\Msg{*********************************************************}
-\endbatchfile
+%%
+%% Copyright (C) 2015-2018 by Moritz Schubotz
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+\input docstrip.tex
+\keepsilent
+\usedir{tex/latex/texvc}
+\askforoverwritefalse
+\preamble
+This is a generated file.
+Copyright (C) 2015-2018 by Moritz Schubotz
+This file may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.3 of this license or (at your option) any later
+version. The latest version of this license is in:
+http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of
+LaTeX version 2005/12/01 or later.
+\endpreamble
+\generate{\file{texvc.sty}{\from{texvc.dtx}{package}}}
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space texvc.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file texvc.dtx}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*********************************************************}
+\endbatchfile
diff --git a/macros/latex/contrib/texvc/texvc.pdf b/macros/latex/contrib/texvc/texvc.pdf
index 7269b865f2..f431f01829 100644
--- a/macros/latex/contrib/texvc/texvc.pdf
+++ b/macros/latex/contrib/texvc/texvc.pdf
Binary files differ
diff --git a/macros/latex/contrib/thuthesis/CHANGELOG.md b/macros/latex/contrib/thuthesis/CHANGELOG.md
index fb293105fc..b038a8a762 100644
--- a/macros/latex/contrib/thuthesis/CHANGELOG.md
+++ b/macros/latex/contrib/thuthesis/CHANGELOG.md
@@ -6,6 +6,17 @@
## [Unreleased]
+## [v7.5.2] - 2024-07-01
+
+### Added
+
+- 增加选项 `eqn-paren-style` 控制公式编号的括号样式([#959](https://github.com/tuna/thuthesis/pull/959))。
+
+### Fixed
+
+- 解决本科生的多篇“书面翻译对应的原文索引”([#956](https://github.com/tuna/thuthesis/issues/956))。
+- 修复 GitHub 发布的 Release 压缩包缺少部分文件的问题([#965](https://github.com/tuna/thuthesis/issues/965))。
+
## [v7.5.1] - 2024-05-20
### Changed
@@ -988,7 +999,8 @@
-[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.5.1...HEAD
+[Unreleased]: https://github.com/tuna/thuthesis/compare/v7.5.2...HEAD
+[v7.5.2]: https://github.com/tuna/thuthesis/compare/v7.5.1...v7.5.2
[v7.5.1]: https://github.com/tuna/thuthesis/compare/v7.5.0...v7.5.1
[v7.5.0]: https://github.com/tuna/thuthesis/compare/v7.4.0...v7.5.0
[v7.4.0]: https://github.com/tuna/thuthesis/compare/v7.3.2...v7.4.0
diff --git a/macros/latex/contrib/thuthesis/thuthesis-example.pdf b/macros/latex/contrib/thuthesis/thuthesis-example.pdf
index 2c48ce2ef5..36ed8efd75 100644
--- a/macros/latex/contrib/thuthesis/thuthesis-example.pdf
+++ b/macros/latex/contrib/thuthesis/thuthesis-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/thuthesis/thuthesis.dtx b/macros/latex/contrib/thuthesis/thuthesis.dtx
index ea4ac03f22..e6f3e46ad8 100644
--- a/macros/latex/contrib/thuthesis/thuthesis.dtx
+++ b/macros/latex/contrib/thuthesis/thuthesis.dtx
@@ -14,7 +14,7 @@
%
% \iffalse
%<*driver>
-\ProvidesFile{thuthesis.dtx}[2024/05/20 7.5.1 Tsinghua University Thesis Template]
+\ProvidesFile{thuthesis.dtx}[2024/07/01 7.5.2 Tsinghua University Thesis Template]
\documentclass{ltxdoc}
\usepackage{dtx-style}
@@ -251,7 +251,7 @@
% $ bibtex thuthesis-example.aux # 生成 bbl 文件
% $ bibtex thuthesis-example-appendix-a.aux # 附录 A 的的参考文献
% $ bibtex thuthesis-example-appendix-b.aux # 附录 B 的的参考文献……
-% $ bibtex thuthesis-example-index.aux # 本科生的书面翻译对应的原文索引
+% $ bibtex thuthesis-example-index-1.aux # 本科生的书面翻译对应的原文索引
% $ xelatex thuthesis-example.tex # 解决引用
% $ xelatex thuthesis-example.tex # 生成论文 PDF
%
@@ -813,7 +813,7 @@
% }
% \end{latex}
%
-% 用户也可以逐项修改数学样式。
+% 用户也可以逐项修改数学样式,包括:
% \newcommand\dif{\mathop{}\!\mathrm{d}}
% \begin{enumerate}
% \item \DescribeOption{uppercase-greek}
@@ -885,12 +885,16 @@
% 模板作了处理,用户可以直接使用这些宏包的命令,如 \cs{bm}、\cs{mathscr}、
% \cs{uppi}。
%
-% 另外,模板还为 `math-font` 提供了传统的 Type 1 字体 \option{newtx}。
+% 另外,模板还为 |math-font| 提供了传统的 Type 1 字体 \option{newtx}。
% 该选项会调用 \pkg{newtxmath} 宏包。
% 但是,如果西文字体已经使用了 OpenType 的 Times New Roman,
% 混用 Type 1 字体可能会导致问题,尤其是使用 \pkg{siunitx} 宏包时。
% 该选项还处于测试阶段,需要谨慎使用。
%
+% \DescribeOption{eqn-paren-style}
+% 控制中文论文中,数学公式编号两边的括号样式。可选项包括:\option{full}(全角,默认) / \option{half}(半角)。
+% 在语言为英语(|language = english|)时,此选项无效,仅使用半角括号。
+%
% \subsubsection{定理环境}
% \label{sec:theorem}
% \thuthesis{} 定义了常用的数学环境:
@@ -1269,7 +1273,7 @@
% \begin{macrocode}
%<cls>\NeedsTeXFormat{LaTeX2e}[2017/04/15]
%<cls>\ProvidesClass{thuthesis}
-%<cls>[2024/05/20 7.5.1 Tsinghua University Thesis Template]
+%<cls>[2024/07/01 7.5.2 Tsinghua University Thesis Template]
% \end{macrocode}
%
% 报错
@@ -1330,7 +1334,7 @@
%<*cls>
\hyphenation{Thu-Thesis}
\def\thuthesis{ThuThesis}
-\def\version{7.5.1}
+\def\version{7.5.2}
\RequirePackage{kvdefinekeys}
\RequirePackage{kvsetkeys}
\RequirePackage{kvoptions}
@@ -1658,6 +1662,17 @@
},
default = print,
},
+% \end{macrocode}
+%
+% 数学公式编号的括号使用全角还是半角。
+% \begin{macrocode}
+ eqn-paren-style = {
+ name = eqn@paren@style,
+ choices = {
+ full,
+ half,
+ }
+ },
}
\newif\ifthu@degree@graduate
\newcommand\thu@set@graduate{%
@@ -3511,10 +3526,23 @@
% 中文模板的公式编号使用中文括号。需要修改 \pkg{amsmath} 的 \cs{tagform@}。
% 这里中文的 \cs{unskip} 是为了“|式~\eqref|”这样的写法不产生额外的空格。
% \begin{macrocode}
+\newcommand\thu@eqn@left@paren{(}
+\newcommand\thu@eqn@right@paren{)}
+\newcommand\thu@set@eqn@paren@style{%
+ \ifthu@eqn@paren@style@full
+ \renewcommand\thu@eqn@left@paren{(}%
+ \renewcommand\thu@eqn@right@paren{)}%
+ \else
+ \renewcommand\thu@eqn@left@paren{(}%
+ \renewcommand\thu@eqn@right@paren{)}%
+ \fi
+}
+\thu@set@eqn@paren@style
+\thu@option@hook{eqn-paren-style}{\thu@set@eqn@paren@style}
\newcommand\thu@put@parentheses[1]{%
\ifthu@language@chinese
\unskip
- (#1)%
+ \thu@eqn@left@paren#1\thu@eqn@right@paren
\else
(#1)%
\fi
@@ -6347,9 +6375,11 @@
% \begin{macrocode}
\newenvironment{translation-index}{}{}
\AtEndOfPackageFile*{bibunits}{
+ \newcounter{thu@translation@index}%
\renewenvironment{translation-index}{%
+ \global\advance\c@thu@translation@index\@ne
\begin{bibunit}%
- \renewcommand\@bibunitname{\jobname-index}%
+ \renewcommand\@bibunitname{\jobname-index-\arabic{thu@translation@index}}%
\renewcommand\bibname{书面翻译对应的原文索引}%
\thu@set@survey@bibheading
}{%
diff --git a/macros/latex/contrib/thuthesis/thuthesis.pdf b/macros/latex/contrib/thuthesis/thuthesis.pdf
index daa32de045..4979b94dc4 100644
--- a/macros/latex/contrib/thuthesis/thuthesis.pdf
+++ b/macros/latex/contrib/thuthesis/thuthesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/pgfornament/README.md b/macros/latex/contrib/tkz/pgfornament/README.md
index 737ee2acc2..901d6554cc 100644
--- a/macros/latex/contrib/tkz/pgfornament/README.md
+++ b/macros/latex/contrib/tkz/pgfornament/README.md
@@ -1,6 +1,6 @@
# pgfornament – Drawing of Vectorian ornaments with PGF/TikZ
-Release 1.2 2020/05/28
+Release 1.3 2024/08/14
## Description
@@ -55,6 +55,9 @@ your LaTeX document.
Documentations for `pgfornament` and `tikzrput` are available on CTAN and in your TeX distribution.
## History
+
+- v 1.3 Correction of bug (spurious space) by Tibor Tómács and correction of the documentation.
+
- v 1.2 Correction of bug (spurious space) by LianTze Lim.
- v 1.00 Add the Han ornanments and some new macros. Add some examples to the documentation. Thanks to Pablo Gonzáles L to help me with "Git".
diff --git a/macros/latex/contrib/tkz/pgfornament/doc/ornaments.pdf b/macros/latex/contrib/tkz/pgfornament/doc/ornaments.pdf
index 6486f4e253..46f3fe8fef 100644
--- a/macros/latex/contrib/tkz/pgfornament/doc/ornaments.pdf
+++ b/macros/latex/contrib/tkz/pgfornament/doc/ornaments.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/pgfornament/doc/ornaments.tex b/macros/latex/contrib/tkz/pgfornament/doc/ornaments.tex
index c52dd63e91..2a7f4b0fc1 100644
--- a/macros/latex/contrib/tkz/pgfornament/doc/ornaments.tex
+++ b/macros/latex/contrib/tkz/pgfornament/doc/ornaments.tex
@@ -8,7 +8,7 @@
% of this license or (at your option) any later version and/or
% 2. under the GNU Public License.
%---------%---------%---------%---------%---------%---------%---------%---------
-% Version 1.2 2020/0 5/26
+% Version 1.3 2024/08/14
\RequirePackage{luatex85}
\RequirePackage{silence}
\WarningsOff[latex]
@@ -137,7 +137,7 @@ urlcolor=orange}
\bigskip
-\noindent\pgfornament[width=0.75 cm]{152}\ (Version 1.2 2020/05/26)
+\noindent\pgfornament[width=0.75 cm]{152}\ (Version 1.3 2024/08/14)
\begin{abstract}
This document describes the \LaTeX\ package \emph{\docpkg{pgfornament}} and presents the syntax and parameters of the macro "pgfornament".
diff --git a/macros/latex/contrib/tkz/pgfornament/doc/usefulcommands.tex b/macros/latex/contrib/tkz/pgfornament/doc/usefulcommands.tex
index 4af2421923..4a54f9ea45 100644
--- a/macros/latex/contrib/tkz/pgfornament/doc/usefulcommands.tex
+++ b/macros/latex/contrib/tkz/pgfornament/doc/usefulcommands.tex
@@ -5,11 +5,11 @@
\setlength{\@tempdimb}{\paperwidth-\@tempdima-1cm}%
\setlength{\@tempdimc}{\paperheight-\@tempdima}%
\put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimc}){%
- \pgfornament[color=Maroon,anchor=north west,width=1cm]{39}}
-\put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdima}){%
- \pgfornament[color=Maroon,anchor=south west,width=1cm,symmetry=h]{39}}
+ \pgfornament[color=Maroon,anchor=north west,width=1cm]{39}}
\put(\LenToUnit{\@tempdimb},\LenToUnit{\@tempdimc}){%
\pgfornament[color=Maroon,anchor=north east,width=1cm,symmetry=v]{39}}
+\put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdima}){%
+ \pgfornament[color=Maroon,anchor=south west,width=1cm,symmetry=h]{39}}
\put(\LenToUnit{\@tempdimb},\LenToUnit{\@tempdima}){%
\pgfornament[color=Maroon,anchor=south east,width=1cm,symmetry=c]{39}}
\endgroup
diff --git a/macros/latex/contrib/tkz/pgfornament/latex/pgfornament.sty b/macros/latex/contrib/tkz/pgfornament/latex/pgfornament.sty
index 27406e8bbf..fad27cbb74 100644
--- a/macros/latex/contrib/tkz/pgfornament/latex/pgfornament.sty
+++ b/macros/latex/contrib/tkz/pgfornament/latex/pgfornament.sty
@@ -17,7 +17,7 @@
% Inspired from psvectorian P Fradin H Voss
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{tikz,pgfopts}
-\ProvidesPackage{pgfornament}[2020/05/26 v1.2 vector ornaments]
+\ProvidesPackage{pgfornament}[2024/08/14 v1.3 vector ornaments]
\gdef\pgfOrnamentsObject{pgflibraryvectorian.code.tex}
\gdef\OrnamentsFamily{vectorian}
\pgfkeys{%
@@ -138,7 +138,7 @@ baseline={([yshift=\pgfornamentydelta]current bounding box.\pgfornamentanchor)},
\pgftransformscale{\pgfornamentscale}%
\pgf@@ornament{#2}%
\end{tikzpicture}%
-\tikzset{pgfornamentstyle/.style={cm={1,0,0,1,(0,0)}}}
+\tikzset{pgfornamentstyle/.style={cm={1,0,0,1,(0,0)}}}%
}% end pgfornament
\gdef\ornamenttopos{.5}
@@ -180,8 +180,8 @@ baseline={([yshift=\pgfornamentydelta]current bounding box.\pgfornamentanchor)},
\pgfextractx{\pgf@x}{\pgfpointanchor{#2}{#3 west}}
\pgf@xb=\pgf@x
\advance\pgf@xb by -\pgf@xa
-\node[inner sep=0pt] at ($(#1.#3 east)!.5!(#2.#3 west)$) {\pgfornament[width=\pgf@xb]{#4}} ;
-}
+\node[inner sep=0pt] at ($(#1.#3 east)!.5!(#2.#3 west)$) {\pgfornament[width=\pgf@xb]{#4}};
+}%
\def\pgfornamentvline#1#2#3#4{%
\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{south #3}}
\pgf@ya=\pgf@y
@@ -203,7 +203,7 @@ baseline={([yshift=\pgfornamentydelta]current bounding box.\pgfornamentanchor)},
\pgfmathsetmacro{#1}{atan2(\pgf@x,\pgf@y)}%
}%
\makeatother
-\newcommand{\resetpgfornamentstyle}{\tikzset{pgfornamentstyle/.style={}}}
+\newcommand{\resetpgfornamentstyle}{\tikzset{pgfornamentstyle/.style={}}}%
% 2020 Changing vector objects
\def\newpgfornamentfamily#1{%
@@ -219,11 +219,10 @@ baseline={([yshift=\pgfornamentydelta]current bounding box.\pgfornamentanchor)},
/ornamentline/.search also={/tikz}}
\def\pgfornamentline{\pgfutil@ifnextchar[{\pgf@ornamentline}{\pgf@ornamentline[]}}%
\def\pgf@ornamentline[#1]#2#3#4#5{%
-
\pgfqkeys{/ornamentline}{#1}%
\pgfmathsetmacro\nbo{#4}
\path (#2) -- (#3) foreach \i in {0,...,\nbo} {coordinate[pos=\i/\nbo] (p\i)}
[color=\ornamentcolor] foreach \i [count=\j] in {0,...,\number\numexpr\nbo-1} { (p\i) to [ornament=#5] (p\j)};
-}
+}%
\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-elements/README.md b/macros/latex/contrib/tkz/tkz-elements/README.md
index a4d8d90fad..66c11bf62f 100644
--- a/macros/latex/contrib/tkz/tkz-elements/README.md
+++ b/macros/latex/contrib/tkz/tkz-elements/README.md
@@ -1,10 +1,10 @@
# tkz-elements — for euclidean geometry
-Release 2.25c 2024/04/28
+Release 2.30c 2024/07/16
## Description
-`tkz-elements v.2.25c` is the new version of a library written in lua, allowing to make all the necessary calculations to define the objects of a Euclidean geometry figure. You need to compile with `LuaLaTeX`. With `tkz-elements`, the definitions and calculations are only done with `Lua`.
+`tkz-elements v.2.30c` is the new version of a library written in lua, allowing to make all the necessary calculations to define the objects of a Euclidean geometry figure. You need to compile with `LuaLaTeX`. With `tkz-elements`, the definitions and calculations are only done with `Lua`.
The main possibility of programmation proposed is oriented "object programming" with object classes like point, line, triangle, circle and ellipse. For the moment, once the calculations are done, it is `tkz-euclide` or `TikZ` which allows the drawings. You can use the option `mini` with `tkz-euclide` to load only the modules required for tracing.
@@ -62,6 +62,15 @@ An important example `Golden Arbelos` using the package is on the site. All the
are on the site.
## History
+
+ - version 2.30c
+ - new version of the macro `\tkzGetNodes` written by Sanskar Singh. This version now fixes a bug that prevented a figure from being centred with `centering` or the `center` environment.
+ - adding methods `bevan_circle`, `symmedial_circle`.
+ - correction of the methods `function triangle: bevan_point ()` and `function triangle: mittenpunkt_point ()`.
+ - adding `function triangle: similar ()`
+ - adding `function line : perpendicular_bisector ()` which is similar to `function line : mediator ()`
+ - correction of documentation.
+
- version 2.25c
- French documentation at my site: [http://altermundus.fr](http://altermundus.fr)
- Added `colinear_at` a new method for the classe `line`
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex
index 7ae96c7ada..85e7359518 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-circle.tex
@@ -25,8 +25,8 @@ This class is defined by two points: the center and a point through which the ci
\Iattr{circle}{south} & |C.AB.south| & |z.S = C.OA.south| \\
\Iattr{circle}{east} & |C.AB.east| & |z.E = C.OA.east| \\
\Iattr{circle}{west} & |C.AB.west| & |z.W = C.OA.west| \\
-\Iattr{circle}{opp} & |z.Ap = C.AB.opp| & Refer to (\ref{ssub:example_circle_attributes}) \\
-\Iattr{circle}{ct} & |L = C.AB.ct| & Refer to (\ref{ssub:example_circle_attributes}) \\
+\Iattr{circle}{opp} & |z.Ap = C.AB.opp| & [\ref{ssub:example_circle_attributes}] \\
+\Iattr{circle}{ct} & |L = C.AB.ct| [ \ref{ssub:example_circle_attributes} ] \\
\bottomrule %
\end{tabular}
\egroup
@@ -71,16 +71,16 @@ Three attributes are used (south, west, radius).
z.c = C.ab.opp
z.r,z.t = get_points (C.ab.ct : ortho_from (z.b))
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
+
+\emph{\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPoints(a,b,c,s,w)
\tkzLabelPoints(a,b,c,s,w)
\tkzDrawCircle(a,b)
\tkzDrawSegments(a,b r,t b,c)
\tkzLabelSegment[sloped](a,b){ab = \tkzUseLua{r}}
-\end{tikzpicture}
-\hspace*{\fill}
+\end{tikzpicture}}
+
\end{minipage}
% subsubsection example_circle_attributes (end)
% subsection attributes_of_a_circle (end)
@@ -96,184 +96,314 @@ Three attributes are used (south, west, radius).
\toprule
\textbf{Methods} & \textbf{Comments} & \\
\midrule \\
-\Igfct{circle}{new(O,A)} & |C.OA = circle : new (z.O,z.A)| & circle center $O$ through $A$\\
-\Igfct{circle}{radius(O,r)} & |C.OA = circle : radius (z.O,2)| & circle center $O$ radius =2 cm\\
-\Igfct{circle}{diameter(A,B)} & |C.OA = circle :diameter(z.A,z.B)| & circle diameter $[AB]$ \\
+\Igfct{circle}{new(O,A)} & |C.OA = circle : new (z.O,z.A)| & center $O$ through $A$; [\ref{ssub:method_imeth_circle_new}]\\
+\Igfct{circle}{radius(O,r)} & |C.OA = circle : radius (z.O,2)| & center $O$ radius =2 cm; [\ref{ssub:method_imeth_circle_radius}]\\
+\Igfct{circle}{diameter(A,B)} & |C.OA = circle :diameter(z.A,z.B)| & diameter $[AB]$; [\ref{ssub:method_imeth_circle_diameter}] \\
\midrule
\textbf{Points} &&\\
\midrule
-\Imeth{circle}{antipode (pt)} & |z.C = C.OA: antipode (z.B)| & $[BC]$ is a diameter \\
-\Imeth{circle}{inversion (pt)} & |z.Bp = C.AC: inversion (z.B)|&\\
-\Imeth{circle}{midarc (pt,pt)} & |z.D = C.AB: midarc (z.B,z.C)|& $D$ is the midarc of $\widearc{BC}$\\
-\Imeth{circle}{point (r)} & |z.E = C.AB: point (0.25)|& |r| between 0 and 1\\
+\Imeth{circle}{antipode (pt)} & |z.C = C.OA: antipode (z.B)| & $[BC]$ = diameter; [\ref{ssub:method_imeth_circle_antipode}] \\
+\Imeth{circle}{midarc (pt,pt)} & |z.D = C.AB: midarc (z.B,z.C)|& $D$ is the midarc of $\widearc{BC}$; [\ref{ssub:method_imeth_circle_midarc}]\\
+\Imeth{circle}{point (r)} & |z.E = C.AB: point (0.25)|& |r| between 0 and 1; [\ref{ssub:method_imeth_circle_point}]\\
\Imeth{circle}{random\_pt(lower, upper)} & &\\
-\Imeth{circle}{internal\_similitude (C)} & |z.I = C.one : internal_similitude (C.two)| &\\
-\Imeth{circle}{external\_similitude (C)} & |z.J = C.one : external_similitude (C.two)| & \\
-\Imeth{circle}{radical\_center (C1<,C2>)} & or only (C1) & Refer to \ref{sub:radical_center} \\
+\Imeth{circle}{inversion (obj)} & |z.Bp = C.AC: inversion (z.B)|& [\ref{ssub:inversion}]\\
+\Imeth{circle}{internal\_similitude (C)} & |z.I= C.one: internal_similitude(C.two)| & [\ref{ssub:method_imeth_circle_internal__similitude}]\\
+\Imeth{circle}{external\_similitude (C)} & |z.J= C.one: external_similitude(C.two)| & [\ref{ssub:method_imeth_circle_external__similitude}] \\
+\Imeth{circle}{radical\_center (C1<,C2>)} & or only (C1) & [\ref{ssub:radical_center} ] \\
\midrule
\textbf{Lines} & & \\
\midrule
-\Imeth{circle}{radical\_axis (C)} & Refer to ( \ref{sub:d_alembert_2} ; \ref{sub:radical_axis_v1} ; \ref{sub:radical_axis_v2} ; \ref{sub:radical_axis_v3} ; \ref{sub:radical_axis_v4})& \\
-\Imeth{circle}{tangent\_at (pt)} & |z.P = C.OA: tangent_at (z.M)| & Refer to (\ref{ssub:lemoine} ; \ref{ssub:example_combination_of_methods})\\
-\Imeth{circle}{tangent\_from (pt)}& |z.M,z.N = C.OA: tangent_from (z.P)| & Refer to (\ref{tangent_from})\\
-\Imeth{circle}{inversion (line)} & |L or C = C.AC: inversion (L.EF)|& Refer to (\ref{ssub:inversion_line})\\
-\Imeth{circle}{common\_tangent (C)} & |z.a,z.b = C.AC: common_tangent (C.EF)|& Refer to (\ref{sub:common_tangent} ; \ref{sub:common_tangent_orthogonality})\\
+\Imeth{circle}{radical\_axis (C)} & [ \ref{ssub:method_imeth_circle_radical__axis_c} ; \ref{sub:d_alembert_2} ] & \\
+\Imeth{circle}{tangent\_at (pt)} & |z.P=C.OA:tangent_at(z.M)| & [\ref{ssub:method_imeth_circle_tangent}] \\
+\Imeth{circle}{tangent\_from (pt)}& |z.M,z.N=C.OA: tangent_from (z.P)| & [\ref{ssub:method_imeth_circle_tangent} ] \\
+\Imeth{circle}{common\_tangent (C)}& |z.a,z.b = C.AC: common_tangent (C.EF)|& [\ref{ssub:common_tangent} ; \ref{sub:common_tangent_orthogonality}] \\
\midrule
\textbf{Circles}& &\\
\midrule
-\Imeth{circle}{orthogonal\_from (pt)} &|C=C.OA:orthogonal_from (z.P)| & Refer to (\ref{ssub:altshiller} ; \ref{sub:common_tangent_orthogonality} ; \ref{sub:orthogonal_circles_v1} ; \ref{sub:pencil_v1}) \\
-\Imeth{circle}{orthogonal\_through (pta,ptb)}&|C=C.OA:orthogonal_through (z.z1,z.z2)| & Refer to (\ref{sub:orthogonal_circle_through})\\
-\Imeth{circle}{inversion (...)} &|C.AC:inversion (pt, pts, L or C)|& Refer to \ref{ssub:inversion}, \ref{ssub:inversion_point}, \ref{ssub:inversion_line}, \ref{ssub:inversion_circle}\\
-\Imeth{circle}{midcircle (C)} & |C.inv = C.OA: midcircle (C.EF)| & Refer to \ref{ssub:midcircle} \\
-\Imeth{circle}{radical\_circle (C1<,C2>)} & or only (C1) & Refer to \ref{sub:radical_circle}\\
+\Imeth{circle}{orthogonal\_from (pt)} &|C=C.OA:orthogonal_from (z.P)| & [\ref{ssub:method_imeth_circle_orthogonal_from_pt} ;\ref{sub:altshiller} ; \ref{sub:pencil_v1}] \\
+\Imeth{circle}{orthogonal\_through(pta,ptb)}&|C=C.OA:orthogonal_through (z.z1,z.z2)| & [\ref{ssub:method_imeth_circle_orthogonal_through}]\\
+\Imeth{circle}{midcircle (C)} & |C.inv = C.OA: midcircle (C.EF)| & [\ref{ssub:midcircle}] \\
+\Imeth{circle}{radical\_circle (C1<,C2>)} & or only (C1) & [\ref{ssub:radical_circle}] \\
\midrule
\textbf{Miscellaneous} &&\\
\midrule
-\Imeth{circle}{power (pt)} &|p = C.OA: power (z.M)| & Refer to (\ref{sub:power_v1} ; \ref{sub:power_v2} ; \ref{sub:apollonius_circle_v1_with_inversion}) \\
-\Imeth{circle}{in\_out (pt)} & |C.OA : in_out (z.M)| & Refer to (\ref{sub:in_out_for_circle_and_disk}) \\
-\Imeth{circle}{in\_out\_disk (pt)} & |C.OA : in_out_disk (z.M)| & Refer to (\ref{sub:in_out_for_circle_and_disk}) \\
+\Imeth{circle}{power (pt)} &| r = C.OA: power (z.M)| & [\ref{par:power_v1} ; \ref{par:power_v2} ; \ref{sub:apollonius_circle_v1_with_inversion} ] \\
+\Imeth{circle}{in\_out (pt)} & |C.OA : in_out (z.M)| & [\ref{ssub:in_out_for_circle_and_disk}] \\
+\Imeth{circle}{in\_out\_disk (pt)} & |C.OA : in_out_disk (z.M)| & [\ref{ssub:in_out_for_circle_and_disk}] \\
\Imeth{circle}{draw ()} & for further use &\\
-\Imeth{circle}{circles\_position (C1)} & result = string &Refer to (\ref{sub:circles_position}) \\
+\Imeth{circle}{circles\_position (C1)} & result = string & [\ref{ssub:circles_position}] \\
\bottomrule
\end{tabular}
\egroup
% subsection methods_circle (end)
-\subsubsection{Altshiller} % (fold)
-\label{ssub:altshiller}
+\subsubsection{Method \Imeth{circle}{new}} % (fold)
+\label{ssub:method_imeth_circle_new}
+
+A circle is defined by its centre and a point through which it passes.
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- z.P = point : new (0,0)
- z.Q = point : new (5,0)
- z.I = point : new (3,2)
- C.QI = circle : new (z.Q,z.I)
- C.PE = C.QI : orthogonal_from (z.P)
- z.E = C.PE.through
- C.QE = circle : new (z.Q,z.E)
- _,z.F = intersection (C.PE,C.QE)
- z.A = C.PE: point (1/9)
- L.AE = line : new (z.A,z.E)
- _,z.C = intersection (L.AE,C.QE)
- L.AF = line : new (z.A,z.F)
- L.CQ = line : new (z.C,z.Q)
- z.D = intersection (L.AF,L.CQ)
+z.O = point: new (0,0)
+z.A = point: new (2,1)
+C = circle: new (z.O , z.A)
\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(P,E Q,E)
- \tkzDrawLines[add=0 and 1](P,Q)
- \tkzDrawLines[add=0 and 2](A,E)
- \tkzDrawSegments(P,E E,F F,C A,F C,D)
- \tkzDrawPoints(P,Q,E,F,A,C,D)
- \tkzLabelPoints(P,Q,E,F,A,C,D)
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,O)
+\tkzLabelPoints[right](A,O)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
-\hspace*{\fill}
\begin{minipage}{.5\textwidth}
- \begin{tkzelements}
- scale =.5
- z.P = point : new (0,0)
- z.Q = point : new (5,0)
- z.I = point : new (3,2)
- C.QI = circle : new (z.Q,z.I)
- C.PE = C.QI : orthogonal_from (z.P)
- z.E = C.PE.through
- C.QE = circle : new (z.Q,z.E)
- _,z.F = intersection (C.PE,C.QE)
- z.A = C.PE: point (1/9)
- L.AE = line : new (z.A,z.E)
- _,z.C = intersection (L.AE,C.QE)
- L.AF = line : new (z.A,z.F)
- L.CQ = line : new (z.C,z.Q)
- z.D = intersection (L.AF,L.CQ)
- \end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(P,E Q,E)
- \tkzDrawLines[add=0 and 1](P,Q)
- \tkzDrawLines[add=0 and 2](A,E)
- \tkzDrawSegments(P,E E,F F,C A,F C,D)
- \tkzDrawPoints(P,Q,E,F,A,C,D)
- \tkzLabelPoints(P,Q,E,F,A,C,D)
- \end{tikzpicture}
+\begin{tkzelements}
+z.O = point: new (0,0)
+z.A = point: new (2,1)
+C = circle: new (z.O , z.A)
+\end{tkzelements}
+ \begin{center}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,O)
+\tkzLabelPoints[right](A,O)
+\end{tikzpicture}
+ \end{center}
+
\end{minipage}
-%subsubsection altshiller (end)
-\subsubsection{Lemoine} % (fold)
-\label{ssub:lemoine}
+% subsubsection method_imeth_circle_new (end)
+\subsubsection{Method \Imeth{circle}{radius}} % (fold)
+\label{ssub:method_imeth_circle_radius}
+
+
+We define a circle with its centre and radius.
+
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- scale = 1.25
- z.A = point: new (1,0)
- z.B = point: new (5,2)
- z.C = point: new (1.2,2)
- T = triangle: new(z.A,z.B,z.C)
- z.O = T.circumcenter
- C.OA = circle: new (z.O,z.A)
- L.tA = C.OA: tangent_at (z.A)
- L.tB = C.OA: tangent_at (z.B)
- L.tC = C.OA: tangent_at (z.C)
- z.P = intersection (L.tA,T.bc)
- z.Q = intersection (L.tB,T.ca)
- z.R = intersection (L.tC,T.ab)
+z.O = point: new (0,0)
+z.A = point: new (2,1)
+C = circle: radius (z.A , math.sqrt(5))
+z.T = C.through
\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon[teal](A,B,C)
- \tkzDrawCircle(O,A)
- \tkzDrawPoints(A,B,C,P,Q,R)
- \tkzLabelPoints(A,B,C,P,Q,R)
- \tkzDrawLine[blue](Q,R)
- \tkzDrawLines[red](A,P B,Q R,C)
- \tkzDrawSegments(A,R C,P C,Q)
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(A,T)
+\tkzDrawPoints(A,O,T)
+\tkzLabelPoints[right](A,O,T)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ z.O = point: new (0,0)
+ z.A = point: new (2,1)
+ C = circle: radius (z.A , math.sqrt(5))
+ z.T = C.through
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawCircles(A,T)
+ \tkzDrawPoints(A,O,T)
+ \tkzLabelPoints[right](A,O,T)
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+% subsubsection method_imeth_circle_radius (end)
+
+\subsubsection{Method \Imeth{circle}{diameter}} % (fold)
+\label{ssub:method_imeth_circle_diameter}
+
+A circle is defined by two points at the ends of one of its diameters.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.B = point: new (2,1)
+C = circle: diameter (z.A , z.B)
+z.O = C.center
+z.T = C.through
+\end{tkzelements}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,T)
+\tkzDrawPoints(A,B,O,T)
+\tkzLabelPoints[right](A,B,O,T)
\end{tikzpicture}
\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.B = point: new (2,1)
+C = circle: diameter (z.A , z.B)
+z.O = C.center
+z.T = C.through
+\end{tkzelements}
+ \begin{center}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,T)
+\tkzDrawPoints(A,B,O,T)
+\tkzLabelPoints[right](A,B,O,T)
+\end{tikzpicture}
+ \end{center}
+\end{minipage}
+% subsubsection method_imeth_circle_diameter (end)
+\subsubsection{Method \Imeth{circle}{antipode}} % (fold)
+\label{ssub:method_imeth_circle_antipode}
+This method is used to define a point that is diametrically opposed to a point on a given circle.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.O = point: new (2,1)
+C = circle: new (z.O , z.A)
+z.B = C : antipode (z.A)
+\end{tkzelements}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,B,O)
+\tkzLabelPoints[right](A,B,O)
+\end{tikzpicture}
+\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
-scale = .75
-z.A = point: new (1,0)
-z.B = point: new (5,2)
-z.C = point: new (1.2,2)
-T = triangle: new(z.A,z.B,z.C)
-z.O = T.circumcenter
-C.OA = circle: new (z.O,z.A)
-L.tA = C.OA: tangent_at (z.A)
-L.tB = C.OA: tangent_at (z.B)
-L.tC = C.OA: tangent_at (z.C)
-z.R = intersection (L.tC,T.ab)
-z.P = intersection (L.tA,T.bc)
-z.Q = intersection (L.tB,T.ca)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[rotate=90]
-\tkzGetNodes
-\tkzDrawPolygon[teal](A,B,C)
+z.A = point: new (0,0)
+z.O = point: new (2,1)
+C = circle: new (z.O , z.A)
+z.B = C : antipode (z.A)
+\end{tkzelements}
+ \begin{center}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,B,O)
+\tkzLabelPoints[right](A,B,O)
+\end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+
+% subsubsection method_imeth_circle_antipode (end)
+
+\subsubsection{Method \Imeth{circle}{midarc}} % (fold)
+\label{ssub:method_imeth_circle_midarc}
+The definition given in [ \href{https://mathworld.wolfram.com/Mid-ArcPoints.html}{Weisstein, Eric W. "Mid-Arc Points." From MathWorld--A Wolfram Web Resource.}] is as follows:
+The mid-arc points of a triangle as defined by Johnson (1929) are the points on the circumcircle of the triangle which lie half-way along each of the three arcs determined by the vertices. These points arise in the definition of the Fuhrmann circle and Fuhrmann triangle, and lie on the extensions of the perpendicular bisectors of the triangle sides drawn from the circumcenter.
+
+The definition I use here is more general: the defined point is simply the point that divides an arc into two arcs of the same length.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.O = point: new (2,1)
+C = circle: new (z.O , z.A)
+z.B = C : point (0.25)
+z.M = C : midarc (z.A,z.B)
+\end{tkzelements}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,B,O,M)
+\tkzLabelPoints[right](A,B,O,M)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+z.A = point: new (0,0)
+z.O = point: new (2,1)
+C = circle: new (z.O , z.A)
+z.B = C : point (0.25)
+z.M = C : midarc (z.A,z.B)
+\end{tkzelements}
+ \begin{center}
+\begin{tikzpicture}[gridded]
+\tkzGetNodes
+\tkzDrawCircles(O,A)
+\tkzDrawPoints(A,B,O,M)
+\tkzLabelPoints[right](A,B,O,M)
+\end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+% subsubsection method_imeth_circle_midarc (end)
+
+\subsubsection{Method \Imeth{circle}{point (r)}} % (fold)
+\label{ssub:method_imeth_circle_point}
+
+Let $C$ be a circle with centre $O$ and passing through $A$ such that |z.A = C.through|. This method defines a point $M$ on the circle from A such that the ratio of the length of $\widearc{AM}$ to the circumference of the circle is equal to $r$.
+
+In the next example, $r=\dfrac{1}{6}$ corresponds to $\dfrac{\pi/3}{2\pi}$, so the angle $\widehat{AOE}$ has the measure $\pi/3$.
+
+If $r=.5$ the defined point is diametrically opposed to $A$, the angle $\widehat{AOD}$ has the measure $\pi$.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+ \begin{tkzelements}
+ z.O = point: new (0,0)
+ z.A = point: new (1,2)
+ C.OA = circle: new (z.O,z.A)
+ z.B = C.OA: point (1/6)
+ z.C = C.OA: point (0.25)
+ z.D = C.OA: point (0.5)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
\tkzDrawCircle(O,A)
-\tkzDrawPoints(A,B,C,P,Q,R)
-\tkzLabelPoints(A,B,C,P,Q,R)
-\tkzDrawLine[blue](Q,R)
-\tkzDrawLines[red](A,P B,Q R,C)
-\tkzDrawSegments(A,R C,P C,Q)
+\tkzDrawPoints(A,...,D,O)
+\tkzLabelPoints(A,...,D,O)
\end{tikzpicture}
+\end{Verbatim}
\end{minipage}
-%\caption{Lemoine line}
-% subsubsection lemoine (end)
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ z.O = point: new (0,0)
+ z.A = point: new (1,2)
+ C.OA = circle: new (z.O,z.A)
+ z.B = C.OA: point (1/6)
+ z.C = C.OA: point (0.25)
+ z.D = C.OA: point (0.5)
+\end{tkzelements}
+\begin{center}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircle(O,A)
+\tkzDrawPoints(A,...,D,O)
+\tkzLabelPoints(A,...,D,O)
+\end{tikzpicture}
+\end{center}
+\end{minipage}
-\subsubsection{Inversion: point, line and circle} % (fold)
+
+% subsubsection method_imeth_circle_point (end)
+
+\subsubsection{Method \Imeth{circle}{inversion (obj)}: point, line and circle} % (fold)
\label{ssub:inversion}
The \code{inversion} method can be used on a point, a line or a circle. Depending on the type of object, the function determines the correct algorithm to use.
-\subsubsection{Inversion: point} % (fold)
-\label{ssub:inversion_point}
+\paragraph{Inversion: point} % (fold)
+\label{par:inversion_point}
The \code{inversion} method can be used on a point, a group of points, a line or a circle. Depending on the type of object, the function determines the correct algorithm to use.
@@ -308,20 +438,23 @@ The \code{inversion} method can be used on a point, a group of points, a line or
z.d = C.oa: inversion (z.c)
p = C.oa: power (z.c)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircle(o,a)
- \tkzDrawSegments(o,a o,c)
- \tkzDrawPoints(a,o,c,d)
- \tkzLabelPoints(a,o,c,d)
- \tkzLabelSegment[sloped,above=1em](c,d){%
- La puissance de c est \tkzUseLua{p}}
- \end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(o,a)
+ \tkzDrawSegments(o,a o,c)
+ \tkzDrawPoints(a,o,c,d)
+ \tkzLabelPoints(a,o,c,d)
+ \tkzLabelSegment[sloped,above=1em](c,d){%
+ La puissance de c est \tkzUseLua{p}}
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
-\subsubsection{Inversion: line} % (fold)
-\label{ssub:inversion_line}
+\paragraph{Inversion: line} % (fold)
+\label{par:inversion_line}
The result is either a straight line or a circle.
@@ -333,7 +466,7 @@ The result is either a straight line or a circle.
C.oa = circle: new (z.o,z.a)
z.c = point: new (3,2)
z.d = point: new (0,4)
- L.cd = line: new (z.c,z.d)
+ L.cd = line: new (z.c,z.d)
C.OH = C.oa: inversion (L.cd)
z.O,z.H = get_points(C.OH)
\end{tkzelements}
@@ -357,19 +490,22 @@ The result is either a straight line or a circle.
C.OH = C.oa: inversion (L.cd)
z.O,z.H = get_points(C.OH)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(o,a)
- \tkzDrawCircles[new](O,H)
- \tkzDrawLines(c,d o,H)
- \tkzDrawPoints(a,o,c,d,H)
- \tkzLabelPoints(a,o,c,d,H)
- \end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(o,a)
+ \tkzDrawCircles[new](O,H)
+ \tkzDrawLines(c,d o,H)
+ \tkzDrawPoints(a,o,c,d,H)
+ \tkzLabelPoints(a,o,c,d,H)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
- \subsubsection{Inversion: circle} % (fold)
- \label{ssub:inversion_circle}
+\paragraph{Inversion: circle} % (fold)
+ \label{par:inversion_circle}
The result is either a straight line or a circle.
@@ -423,19 +559,697 @@ color = "orange"
else z.f,z.b = get_points(obj) end
color = "orange"
\end{tkzelements}
- \hspace{\fill}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles[black](o,a)
- \tkzDrawCircles[teal](c,o e,d)
- \tkzDrawCircles[\tkzUseLua{color}](f,b)
- \tkzDrawLines[\tkzUseLua{color}](p,q)
- \tkzDrawPoints(a,...,f,o,p,q)
- \tkzLabelPoints(a,...,f,o,p,q)
- \end{tikzpicture}
+
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[black](o,a)
+ \tkzDrawCircles[teal](c,o e,d)
+ \tkzDrawCircles[\tkzUseLua{color}](f,b)
+ \tkzDrawLines[\tkzUseLua{color}](p,q)
+ \tkzDrawPoints(a,...,f,o,p,q)
+ \tkzLabelPoints(a,...,f,o,p,q)
+ \end{tikzpicture}
+ \end{center}
\end{minipage}
+
% subsubsection inversion (end)
+\subsubsection{Method \Imeth{circle}{internal\_similitude}} % (fold)
+\label{ssub:method_imeth_circle_internal__similitude}
+
+Circles are geometrically similar to one another and mirror symmetric. Hence, a pair of circles has both types of homothetic centers, internal and external, unless the centers are equal or the radii are equal; these exceptional cases are treated after general position. These two homothetic centers lie on the line joining the centers of the two given circles, which is called the line of centers. Circles with radius zero can also be included (see exceptional cases), and negative radius can also be used, switching external and internal. [Wikipedia]
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 0.75
+z.A = point : new ( 0 , 0 )
+z.a = point : new ( 2 , 2 )
+z.B = point : new ( 5 , 2 )
+z.b = point : new ( 6 , 1 )
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+z.I = C.Aa : internal_similitude (C.Bb)
+L.TA1,L.TA2 = C.Aa : tangent_from (z.I)
+z.A1 = L.TA1.pb
+z.A2 = L.TA2.pb
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircles(A,a B,b)
+\tkzDrawPoints(A,a,B,b,I,A1,A2)
+\tkzDrawLines[add = 1 and 2](A1,I A2,I)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .75
+z.A = point : new ( 0 , 0 )
+z.a = point : new ( 2 , 2 )
+z.B = point : new ( 5 , 2 )
+z.b = point : new ( 6 , 1 )
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+z.I = C.Aa : internal_similitude (C.Bb)
+L.TA1,L.TA2 = C.Aa : tangent_from (z.I)
+z.A1 = L.TA1.pb
+z.A2 = L.TA2.pb
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,a B,b)
+ \tkzDrawPoints(A,a,B,b,I,A1,A2)
+ \tkzDrawLines[add = 1 and 2](A1,I A2,I)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+% subsubsection method_imeth_circle_internal__similitude (end)
+
+\subsubsection{Method \Imeth{circle}{external\_similitude}} % (fold)
+\label{ssub:method_imeth_circle_external__similitude}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.a = point : new ( 2 , 2 )
+z.B = point : new ( 3 , 2 )
+z.b = point : new ( 4 , 1 )
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+z.I = C.Aa : external_similitude (C.Bb)
+L.TA1,L.TA2 = C.Aa : tangent_from (z.I)
+z.A1 = L.TA1.pb
+z.A2 = L.TA2.pb
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircles(A,a B,b)
+\tkzDrawPoints(A,a,B,b,I,A1,A2)
+\tkzDrawLines[add = .5 and .2](A1,I A2,I)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .75
+z.A = point : new ( 0 , 0 )
+z.a = point : new ( 2 , 2 )
+z.B = point : new ( 3 , 2 )
+z.b = point : new ( 4 , 1 )
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+z.I = C.Aa : external_similitude (C.Bb)
+L.TA1,L.TA2 = C.Aa : tangent_from (z.I)
+z.A1 = L.TA1.pb
+z.A2 = L.TA2.pb
+\end{tkzelements}
+\begin{center}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircles(A,a B,b)
+\tkzDrawPoints(A,a,B,b,I,A1,A2)
+\tkzDrawLines[add = .5 and .2](A1,I A2,I)
+\end{tikzpicture}
+\end{center}
+\end{minipage}
+% subsubsection method_imeth_circle_external__similitude (end)
+
+
+\subsubsection{Method \Imeth{circle}{radical\_center (C1,C2)}} % (fold)
+\label{ssub:radical_center}
+
+The radical lines of three circles are concurrent in a point known as the radical center (also called the power center). This theorem was originally demonstrated by Monge (Dörrie 1965, p. 153). [\href{https://mathworld.wolfram.com/RadicalCenter.html}{Weisstein, Eric W. "Radical Center." From MathWorld--A Wolfram Web Resource. }
+]
+
+Here I have also named \code{radical\_center} the point of intersection of the radical axis of two circles with the centre axis. See the following example for how to obtain point $H$.
+
+
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{Verbatim}
+\begin{tkzelements}
+ z.O = point : new (0,0)
+ z.x = point : new (1,0)
+ z.y = point : new (4,0)
+ z.z = point : new (2,0)
+ z.Op = point : new (4,2)
+ z.P = point : new (2,2.5)
+ C.Ox = circle : new (z.O,z.x)
+ C.Pz = circle : new (z.P,z.z)
+ C.Opy = circle : new (z.Op,z.y)
+ z.ap,z.a = intersection (C.Ox,C.Pz)
+ z.bp,z.b = intersection (C.Opy,C.Pz)
+ L.aap = line : new (z.a,z.ap)
+ L.bbp = line : new (z.b,z.bp)
+ -- z.X = intersection (L.aap,L.bbp)
+ z.X = C.Ox : radical_center(C.Pz,C.Opy)
+ -- L.OOp = line : new (z.O,z.Op)
+ -- z.H = L.OOp : projection (z.X)
+ z.H = C.Ox : radical_center(C.Opy)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,a O',b P,z)
+ \tkzDrawLines[red](a,X b',X H,X O,O')
+ \tkzDrawPoints(O,O',P,a,a',b,b',X,H)
+ \tkzLabelPoints[below right](O,O',P,H)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{tkzelements}
+z.O = point : new (0,0)
+z.x = point : new (1,0)
+z.y = point : new (4,0)
+z.z = point : new (2,0)
+z.Op = point : new (4,2)
+z.P = point : new (2,2.5)
+C.Ox = circle : new (z.O,z.x)
+C.Pz = circle : new (z.P,z.z)
+C.Opy = circle : new (z.Op,z.y)
+z.ap,z.a = intersection (C.Ox,C.Pz)
+z.bp,z.b = intersection (C.Opy,C.Pz)
+L.aap = line : new (z.a,z.ap)
+L.bbp = line : new (z.b,z.bp)
+z.X = intersection (L.aap,L.bbp)
+L.OOp = line : new (z.O,z.Op)
+z.H = L.OOp : projection (z.X)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,a O',b P,z)
+ \tkzDrawLines[red](a,X b',X H,X O,O')
+ \tkzDrawPoints(O,O',P,a,a',b,b',X,H)
+ \tkzLabelPoints[below right](O,O',P,H)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection radical_center (end)
+
+\subsubsection{Method \Imeth{circle}{radical\_axis}(C)} % (fold)
+\label{ssub:method_imeth_circle_radical__axis_c}
+
+The radical line, also called the radical axis, is the locus of points of equal circle power with respect to two nonconcentric circles. By the chordal theorem, it is perpendicular to the line of centers (Dörrie 1965). [\href{https://mathworld.wolfram.com/RadicalLine.html}{Weisstein, Eric W. "Radical Line." From MathWorld--A Wolfram Web Resource.} ]
+
+\vspace{6pt}
+\paragraph{Radical axis v1} % (fold)
+\label{par:radical_axis_v1}
+
+\begin{Verbatim}
+\begin{tkzelements}
+scale = .75
+z.X = point : new (0,0)
+z.B = point : new (2,2)
+z.Y = point : new (7,1)
+z.Ap = point : new (8,-1)
+L.XY = line : new (z.X,z.Y)
+C.XB = circle : new (z.X,z.B)
+C.YAp = circle : new (z.Y,z.Ap)
+z.E,z.F = get_points (C.XB : radical_axis (C.YAp))
+z.A = C.XB : point (0.4)
+T.ABAp = triangle: new (z.A,z.B,z.Ap)
+z.O = T.ABAp.circumcenter
+C.OAp = circle : new (z.O,z.Ap)
+_,z.Bp = intersection (C.OAp,C.YAp)
+L.AB = line : new (z.A,z.B)
+L.ApBp = line : new (z.Ap,z.Bp)
+z.M = intersection (L.AB,L.ApBp)
+z.H = L.XY : projection (z.M)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(X,B Y,A')
+ \tkzDrawArc[dashed,delta=30](O,A')(A)
+ \tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F)
+ \tkzDrawLines[red](A,M A',M X,Y E,F)
+ \tkzDrawLines[red,add=1 and 3](M,H)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+scale = .75
+z.X = point : new (0,0)
+z.B = point : new (2,2)
+z.Y = point : new (7,1)
+z.Ap = point : new (8,-1)
+L.XY = line : new (z.X,z.Y)
+C.XB = circle : new (z.X,z.B)
+C.YAp = circle : new (z.Y,z.Ap)
+z.E,z.F = get_points (C.XB : radical_axis (C.YAp))
+z.A = C.XB : point (0.4)
+T.ABAp = triangle: new (z.A,z.B,z.Ap)
+z.O = T.ABAp.circumcenter
+C.OAp = circle : new (z.O,z.Ap)
+_,z.Bp = intersection (C.OAp,C.YAp)
+L.AB = line : new (z.A,z.B)
+L.ApBp = line : new (z.Ap,z.Bp)
+z.M = intersection (L.AB,L.ApBp)
+z.H = L.XY : projection (z.M)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(X,B Y,A')
+ \tkzDrawArc[dashed,delta=30](O,A')(A)
+ \tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F)
+ \tkzDrawLines[red](A,M A',M X,Y E,F)
+ \tkzDrawLines[red,add=1 and 3](M,H)
+ \end{tikzpicture}
+\end{center}
+% paragraph radical_axis_v1 (end)
+
+\paragraph{Radical axis v2} % (fold)
+\label{par:radical_axis_v2}
+
+\begin{Verbatim}
+\begin{tkzelements}
+scale = 1.25
+z.O = point : new (-1,0)
+z.Op = point : new (4,-1)
+z.B = point : new (0,2)
+z.D = point : new (4,0)
+C.OB = circle : new (z.O,z.B)
+C.OpD = circle : new (z.Op,z.D)
+L.EF = C.OB : radical_axis (C.OpD)
+z.E,z.F = get_points (L.EF)
+z.M = L.EF : point (.75)
+L.MT,L.MTp = C.OB : tangent_from (z.M)
+_,z.T = get_points (L.MT)
+_,z.Tp = get_points (L.MTp)
+L.MK,L.MKp = C.OpD : tangent_from (z.M)
+_,z.K = get_points (L.MK)
+_,z.Kp = get_points (L.MKp)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',D)
+ \tkzDrawLine(E,F)
+ \tkzDrawLine[add=.5 and .5](O,O')
+ \tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K')
+ \tkzDrawCircle(M,T)
+ \tkzDrawPoints(O,O',T,M,T',K,K')
+ \tkzLabelPoints(O,O',T,T',K,K',M)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+scale =1.25
+z.O = point : new (-1,0)
+z.Op = point : new (4,-1)
+z.B = point : new (0,2)
+z.D = point : new (4,0)
+C.OB = circle : new (z.O,z.B)
+C.OpD = circle : new (z.Op,z.D)
+L.EF = C.OB : radical_axis (C.OpD)
+z.E,z.F = get_points (L.EF)
+z.M = L.EF : point (.75)
+L.MT,L.MTp = C.OB : tangent_from (z.M)
+_,z.T = get_points (L.MT)
+_,z.Tp = get_points (L.MTp)
+L.MK,L.MKp = C.OpD : tangent_from (z.M)
+_,z.K = get_points (L.MK)
+_,z.Kp = get_points (L.MKp)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',D)
+ \tkzDrawLine(E,F)
+ \tkzDrawLine[add=.5 and .5](O,O')
+ \tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K')
+ \tkzDrawCircle(M,T)
+ \tkzDrawPoints(O,O',T,M,T',K,K')
+ \tkzLabelPoints(O,O',T,T',K,K',M)
+ \end{tikzpicture}
+\end{center}
+% paragraph radical_axis_v2 (end)
+
+\paragraph{Radical axis v3} % (fold)
+\label{par:radical_axis_v3}
+
+\begin{Verbatim}
+ \begin{tkzelements}
+ z.O = point : new (0,0)
+ z.B = point : new (4,0)
+ z.Op = point : new (6,0)
+ C.OB = circle : new (z.O,z.B)
+ C.OpB = circle : new (z.Op,z.B)
+ L.EF = C.OB : radical_axis (C.OpB)
+ z.E,z.F = get_points(L.EF)
+ z.M = L.EF : point (0.2)
+ L = C.OB : tangent_from (z.M)
+ _,z.T = get_points (L)
+ L = C.OpB : tangent_from (z.M)
+ _,z.Tp = get_points (L)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',B)
+ \tkzDrawSegments(M,T M,T')
+ \tkzDrawSegments(E,F)
+ \tkzDrawLine[add=.5 and .5](O,O')
+ \tkzDrawPoints(O,B,O',E,F,M,T,T')
+ \tkzLabelPoints(O,O',B,E,F,T,T')
+ \tkzDrawArc(M,T')(T)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+z.O = point : new (0,0)
+z.B = point : new (4,0)
+z.Op = point : new (6,0)
+C.OB = circle : new (z.O,z.B)
+C.OpB = circle : new (z.Op,z.B)
+L.EF = C.OB : radical_axis (C.OpB)
+z.E,z.F = get_points(L.EF)
+z.M = L.EF : point (0.2)
+L = C.OB : tangent_from (z.M)
+_,z.T = get_points (L)
+L = C.OpB : tangent_from (z.M)
+_,z.Tp = get_points (L)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',B)
+ \tkzDrawSegments(M,T M,T')
+ \tkzDrawSegments(E,F)
+ \tkzDrawLine[add=.5 and .5](O,O')
+ \tkzDrawPoints(O,B,O',E,F,M,T,T')
+ \tkzLabelPoints(O,O',B,E,F,T,T')
+ \tkzDrawArc(M,T')(T)
+ \end{tikzpicture}
+\end{center}
+% paragraph radical_axis_v3 (end)
+
+\paragraph{Radical axis v4} % (fold)
+\label{par:radical_axis_v4}
+
+\begin{Verbatim}
+\begin{tkzelements}
+ z.O = point : new (0,0)
+ z.B = point : new (5,0)
+ z.Op = point : new (3,0)
+ C.OB = circle : new (z.O,z.B)
+ C.OpB = circle : new (z.Op,z.B)
+ L.EF = C.OB : radical_axis (C.OpB)
+ z.E,z.F = get_points(L.EF)
+ z.H = L.EF.mid
+ z.M = L.EF : point (.8)
+ _,L = C.OB : tangent_from (z.M)
+ _,z.T = get_points (L)
+ _,L = C.OpB : tangent_from (z.M)
+ _,z.Tp = get_points (L)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',B)
+ \tkzDrawSegments(M,T M,T')
+ \tkzDrawSegments(E,F)
+ \tkzDrawLine[add=.3 and .3](O,H)
+ \tkzDrawPoints(O,O',B,E,H,M)
+ \tkzLabelPoints[below right](O,O',E,F,M,T,T')
+ \tkzDrawArc(M,B)(T)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+ z.O = point : new (0,0)
+ z.B = point : new (5,0)
+ z.Op = point : new (3,0)
+ C.OB = circle : new (z.O,z.B)
+ C.OpB = circle : new (z.Op,z.B)
+ L.EF = C.OB : radical_axis (C.OpB)
+ z.E,z.F = get_points(L.EF)
+ z.H = L.EF.mid
+ z.M = L.EF : point (.8)
+ _,L = C.OB : tangent_from (z.M)
+ _,z.T = get_points (L)
+ _,L = C.OpB : tangent_from (z.M)
+ _,z.Tp = get_points (L)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',B)
+ \tkzDrawSegments(M,T M,T')
+ \tkzDrawSegments(E,F)
+ \tkzDrawLine[add=.3 and .3](O,H)
+ \tkzDrawPoints(O,O',B,E,H,M)
+ \tkzLabelPoints[below right](O,O',E,F,M,T,T')
+ \tkzDrawArc(M,B)(T)
+ \end{tikzpicture}
+\end{center}
+% paragraph radical_axis_v4 (end)
+
+% subsubsection method_imeth_circle_radical__axis_c (end)
+
+
+\subsubsection{Methods \Imeth{circle}{tangent\_at (P)} and \Imeth{circle}{tangent\_from (P)}} % (fold)
+\label{ssub:method_imeth_circle_tangent}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+ \begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (1,2)
+ C.AB = circle: new (z.A,z.B)
+ z.C = point: new (3,-2)
+ L.T = C.AB : tangent_at (z.B)
+ z.D = L.T.pb
+ L.T1,L.T2 = C.AB : tangent_from (z.C)
+ z.T1 = L.T1.pb
+ z.T2 = L.T2.pb
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawCircle(A,B)
+\tkzDrawLines[add =.5 and .5](B,D C,T1 C,T2)
+\tkzDrawSegments[dashed](A,B A,T1 A,T2)
+\tkzDrawPoints(A,...,D,T1,T2)
+\tkzLabelPoints[below left](A,T2,C)
+\tkzLabelPoints[above right](B,T1,D)
+\tkzMarkRightAngles(A,B,D A,T1,C A,T2,C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (1,2)
+ C.AB = circle: new (z.A,z.B)
+ z.C = point: new (3,-2)
+ L.T = C.AB : tangent_at (z.B)
+ z.D = L.T.pb
+ L.T1,L.T2 = C.AB : tangent_from (z.C)
+ z.T1 = L.T1.pb
+ z.T2 = L.T2.pb
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(A,B)
+ \tkzDrawLines[add =.5 and .5](B,D C,T1 C,T2)
+ \tkzDrawSegments[dashed](A,B A,T1 A,T2)
+ \tkzDrawPoints(A,...,D,T1,T2)
+ \tkzLabelPoints[below left](A,T2,C)
+ \tkzLabelPoints[above right](B,T1,D)
+ \tkzMarkRightAngles(A,B,D A,T1,C A,T2,C)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection (end)
+
+\subsubsection{Common tangent: Angle of two intersecting circles} % (fold)
+\label{ssub:common_tangent}
+
+Let be a tangent common to both circles at $T$ and $T'$ (closest to $C$). Let a secant parallel to this tangent pass through $C$. Then the segment $[TT']$ is seen from the other common point $D$ at an angle equal to half the angle of the two circles.
+
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 5 , 2 )
+ L.AB = line : new ( z.A , z.B )
+ z.C = point : new ( 1 , 2 )
+ C.AC = circle : new (z.A,z.C)
+ C.BC = circle : new (z.B,z.C)
+ z.T,z.Tp = C.AC : common_tangent (C.BC)
+ L.TTp = line : new (z.T,z.Tp)
+ z.M = C.AC : point (0.45)
+ L.MC =line : new (z.M,z.C)
+ z.Mp = intersection (L.MC, C.BC)
+ L.mm = L.TTp : ll_from (z.C)
+ _,z.M = intersection (L.mm, C.AC)
+ z.Mp = intersection (L.mm, C.BC)
+ _,z.D = intersection (C.AC,C.BC)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C)
+ \tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T')
+ \tkzDrawPoints(A,B,C,D,M,M',T,T')
+ \tkzLabelPoints(A,B,D,M)
+ \tkzLabelPoints[above](C,M',T,T')
+ \tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M)
+ \tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T')
+\end{tikzpicture}
+\end{Verbatim}
+
+
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.B = point : new ( 5 , 2 )
+L.AB = line : new ( z.A , z.B )
+z.C = point : new ( 1 , 2 )
+C.AC = circle : new (z.A,z.C)
+C.BC = circle : new (z.B,z.C)
+z.T,z.Tp = C.AC : common_tangent (C.BC)
+L.TTp = line : new (z.T,z.Tp)
+z.M = C.AC : point (0.45)
+L.MC =line : new (z.M,z.C)
+z.Mp = intersection (L.MC, C.BC)
+L.mm = L.TTp : ll_from (z.C)
+_,z.M = intersection (L.mm, C.AC)
+z.Mp = intersection (L.mm, C.BC)
+_,z.D = intersection (C.AC,C.BC)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C)
+ \tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T')
+ \tkzDrawPoints(A,B,C,D,M,M',T,T')
+ \tkzLabelPoints(A,B,D,M)
+ \tkzLabelPoints[above](C,M',T,T')
+ \tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M)
+ \tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T')
+ \end{tikzpicture}
+\end{center}
+% subsubsection common_tangent (end)
+
+\subsubsection{Method \Imeth{circle}{orthogonal\_from (pt)}} % (fold)
+\label{ssub:method_imeth_circle_orthogonal_from_pt}
+
+In geometry, two circles are said to be orthogonal if their respective tangent lines at the points of intersection are perpendicular (meet at a right angle). [wikipedia]
+
+This method determines a circle with a given centre, orthogonal to a circle that is also given.
+
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .6
+ z.C_1 = point: new (0,0)
+ z.C_2 = point: new (8,0)
+ z.A = point: new (5,0)
+ C = circle: new (z.C_1,z.A)
+ z.S,z.T = get_points (C: orthogonal_from (z.C_2))
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(C_1,T C_2,T)
+ \tkzDrawSegments(C_1,T C_2,T)
+ \tkzDrawLine(C_1,C_2)
+ \tkzMarkRightAngle[fill=teal,%
+ opacity=.2,size=1](C_1,T,C_2)
+ \tkzDrawPoints(C_1,C_2,T)
+ \tkzLabelPoints(C_1,C_2)
+ \tkzLabelPoints[above](T)
+ \tkzLabelSegment[left](C_1,T){r}
+ \tkzLabelSegments[right](C_2,T){$\gamma$}
+ \tkzLabelSegment[below](C_1,C_2){d}
+ \tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1}
+ \tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2}
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+scale = .6
+z.C_1 = point: new (0,0)
+z.C_2 = point: new (8,0)
+z.A = point: new (5,0)
+C = circle: new (z.C_1,z.A)
+z.S,z.T = get_points (C: orthogonal_from (z.C_2))
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(C_1,T C_2,T)
+ \tkzDrawSegments(C_1,T C_2,T)
+ \tkzDrawLine(C_1,C_2)
+ \tkzMarkRightAngle[fill=teal,opacity=.2,size=.5](C_1,T,C_2)
+ \tkzDrawPoints(C_1,C_2,T)
+ \tkzLabelPoints(C_1,C_2)
+ \tkzLabelPoints[above](T)
+ \tkzLabelSegment[left](C_1,T){r}
+ \tkzLabelSegments[right](C_2,T){$\gamma$}
+ \tkzLabelSegment[below](C_1,C_2){d}
+ \tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1}
+ \tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2}
+ \end{tikzpicture}
+\end{center}
+
+% subsubsection method_imeth_circle_orthogonal__from_pt (end)
+
+\subsubsection{Method \Imeth{circle}{orthogonal\_through}} % (fold)
+\label{ssub:method_imeth_circle_orthogonal_through}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.O = point: new (0,1)
+ z.A = point: new (1,0)
+ z.z1 = point: new (-1.5,-1.5)
+ z.z2 = point: new (2.5,-1.25)
+ C.OA = circle: new (z.O,z.A)
+ C = C.OA: orthogonal_through (z.z1,z.z2)
+ z.c = C.center
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzDrawCircle[new](c,z1)
+ \tkzDrawPoints[new](O,A,z1,z2,c)
+ \tkzLabelPoints[right](O,A,z1,z2,c)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}\begin{tkzelements}
+ z.O = point: new (0,1)
+ z.A = point: new (1,0)
+ z.z1 = point: new (-1.5,-1.5)
+ z.z2 = point: new (2.5,-1.25)
+ C.OA = circle: new (z.O,z.A)
+ C = C.OA: orthogonal_through (z.z1,z.z2)
+ z.c = C.center
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzDrawCircle[orange](c,z1)
+ \tkzDrawPoints[orange](O,A,z1,z2,c)
+ \tkzLabelPoints[right](O,A,z1,z2,c)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+% subsubsection method_imeth_circle_orthogonal__through (end)
+
\subsubsection{midcircle} % (fold)
\label{ssub:midcircle}
@@ -473,8 +1287,8 @@ z.H = C.AO.north
z.F = C.BP.north
z.G = C.BP.south
C.IT,C.JV = C.AO : midcircle (C.BP)
-z.I,z.T = get_points ( C.IT )
-z.J,z.V = get_points ( C.JV )
+z.I,z.T = get_points (C.IT)
+z.J,z.V = get_points (C.JV)
z.X,z.Y = intersection (C.AO,C.BP)
\end{tkzelements}
\end{Verbatim}
@@ -493,8 +1307,8 @@ z.X,z.Y = intersection (C.AO,C.BP)
z.F = C.BP.north
z.G = C.BP.south
C.IT,C.JV = C.AO : midcircle (C.BP)
- z.I,z.T = get_points ( C.IT )
- z.J,z.V = get_points ( C.JV )
+ z.I,z.T = get_points (C.IT)
+ z.J,z.V = get_points (C.JV)
z.X,z.Y = intersection (C.AO,C.BP)
\end{tkzelements}
\begin{tikzpicture}
@@ -520,7 +1334,7 @@ z.X,z.Y = intersection (C.AO,C.BP)
\vfill
\item One given circle is in the interior of the other given circle.
-
+\label{midcircle_diameter}
\begin{minipage}{.6\textwidth}
\begin{Verbatim}
\begin{tkzelements}
@@ -539,7 +1353,7 @@ z.X,z.Y = intersection (C.AO,C.BP)
z.x = C.SV.center
z.y = C.UR.center
C.IT = C.AO : midcircle (C.BP)
- z.I,z.T = get_points ( C.IT )
+ z.I,z.T = get_points (C.IT)
\end{tkzelements}
\end{Verbatim}
\end{minipage}
@@ -560,7 +1374,7 @@ z.X,z.Y = intersection (C.AO,C.BP)
z.x = C.SV.center
z.y = C.UR.center
C.IT = C.AO : midcircle (C.BP)
- z.I,z.T = get_points ( C.IT )
+ z.I,z.T = get_points (C.IT)
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
@@ -597,7 +1411,7 @@ z.E = C.Aa.north
z.F = C.Bb.north
L.EF = line : new (z.E,z.F)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points (C.IT)
L.TF = C.Bb : tangent_from (z.I)
z.H = intersection (L.TF,C.IT)
z.E = intersection (L.TF,C.Aa)
@@ -620,7 +1434,7 @@ z.E = C.Aa.north
z.F = C.Bb.north
L.EF = line : new (z.E,z.F)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points (C.IT)
L.TF = C.Bb : tangent_from (z.I)
z.H = intersection (L.TF,C.IT)
z.E = intersection (L.TF,C.Aa)
@@ -662,7 +1476,7 @@ z.E = C.Aa.north
z.F = C.Bb.north
L.EF = line : new (z.E,z.F)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points(C.IT)
L.TF = C.Bb : tangent_from (z.I)
z.H = intersection (L.TF,C.IT)
z.E = intersection (L.TF,C.Aa)
@@ -685,7 +1499,7 @@ z.E = C.Aa.north
z.F = C.Bb.north
L.EF = line : new (z.E,z.F)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points (C.IT)
L.TF = C.Bb : tangent_from (z.I)
z.H = intersection (L.TF,C.IT)
z.E = intersection (L.TF,C.Aa)
@@ -711,14 +1525,14 @@ z.F=L.TF.pb
\begin{minipage}{.4\textwidth}
\begin{Verbatim}
\begin{tkzelements}
-z.A = point : new ( 2 , 0 )
-z.B = point : new ( 4 , 0 )
-z.a = point : new ( 1 , 0)
-z.b = point : new ( 1 , 0)
-C.Aa = circle : new (z.A,z.a)
-C.Bb = circle : new (z.B,z.b)
-C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.A = point : new ( 2 , 0 )
+z.B = point : new ( 4 , 0 )
+z.a = point : new ( 1 , 0)
+z.b = point : new ( 1 , 0)
+C.Aa = circle : new (z.A,z.a)
+C.Bb = circle : new (z.B,z.b)
+C.IT = C.Aa : midcircle (C.Bb)
+z.I,z.T = get_points(C.IT)
\end{tkzelements}
\end{Verbatim}
\end{minipage}
@@ -731,7 +1545,7 @@ z.b = point : new ( 1 , 0)
C.Aa = circle : new (z.A,z.a)
C.Bb = circle : new (z.B,z.b)
C.IT = C.Aa : midcircle (C.Bb)
-z.I,z.T = get_points ( C.IT )
+z.I,z.T = get_points (C.IT)
\end{tkzelements}
\begin{tikzpicture}
@@ -748,206 +1562,205 @@ z.I,z.T = get_points ( C.IT )
\end{enumerate}
% subsubsection midcircle (end)
-% subsection methods_of_the_class_circle (end)
-\subsection{Circles\_position} % (fold)
-\label{sub:circles_position}
-This function returns a string indicating the position of the circle in relation to another. Useful for creating a function. Cases are:
+\subsubsection{Radical circle} % (fold)
+\label{ssub:radical_circle}
-\begin{itemize}
- \item \code{outside}
- \item \code{outside tangent}
- \item \code{inside tangent}
- \item \code{inside}
- \item \code{intersect}
-\end{itemize}
-
-\begin{minipage}{.5\textwidth}
-\begin{Verbatim}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{Verbatim}
\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.a = point : new ( 3 , 0 )
- z.B = point : new ( 2 , 0 )
- z.b = point : new ( 3 , 0 )
- C.Aa = circle: new (z.A,z.a)
- C.Bb = circle: new (z.B,z.b)
- position = C.Aa : circles_position (C.Bb)
- if position == "inside tangent"
- then color = "orange"
- else color = "blue" end
+ scale = .5
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ C.exa = T.ABC : ex_circle ()
+ z.I_a,z.Xa = get_points (C.exa)
+ C.exb = T.ABC : ex_circle (1)
+ z.I_b,z.Xb = get_points (C.exb)
+ C.exc = T.ABC : ex_circle (2)
+ z.I_c,z.Xc = get_points (C.exc)
+ C.ortho = C.exa : radical_circle (C.exb,C.exc)
+ z.w,z.a = get_points (C.ortho)
\end{tkzelements}
-
\begin{tikzpicture}
\tkzGetNodes
- \tkzDrawCircle(A,a)
- \tkzDrawCircle[color=\tkzUseLua{color}](B,b)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
+ \tkzDrawCircles[red,thick](w,a)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
-\begin{minipage}{.5\textwidth}
+
\begin{tkzelements}
-z.A = point : new ( 1 , 0 )
-z.a = point : new ( 3 , 0 )
-z.B = point : new ( 2 , 0 )
-z.b = point : new ( 3 , 0 )
-C.Aa = circle: new (z.A,z.a)
-C.Bb = circle: new (z.B,z.b)
-position = C.Aa : circles_position (C.Bb)
-if position == "inside tangent" then color = "orange" else color = "blue" end
+ scale = .5
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ C.exa = T.ABC : ex_circle ()
+ z.I_a,z.Xa = get_points (C.exa)
+ C.exb = T.ABC : ex_circle (1)
+ z.I_b,z.Xb = get_points (C.exb)
+ C.exc = T.ABC : ex_circle (2)
+ z.I_c,z.Xc = get_points (C.exc)
+ C.ortho = C.exa : radical_circle (C.exb,C.exc)
+ z.w,z.a = get_points (C.ortho)
\end{tkzelements}
-\hspace{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(A,a)
-\tkzDrawCircle[color=\tkzUseLua{color}](B,b)
-\end{tikzpicture}\hspace{\fill}
-\end{minipage}
-% subsection circles__position (end)
-\subsection{Common tangent: Angle of two intersecting circles} % (fold)
-\label{sub:common_tangent}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
+ \tkzDrawCircles[red,thick](w,a)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B,C)
+ \end{tikzpicture}
+\end{center}
+% subsubsection radical_circle (end)
-Let be a tangent common to both circles at $T$ and $T'$ (closest to $C$). Let a secant parallel to this tangent pass through $C$. Then the segment $[TT']$ is seen from the other common point $D$ at an angle equal to half the angle of the two circles.
+\subsubsection{Method \Imeth{circle}{power(C)}} % (fold)
+\label{ssub:method_imeth_circle_power_c}
+\paragraph{Power v1} % (fold)
+\label{par:power_v1}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 5 , 2 )
- L.AB = line : new ( z.A , z.B )
- z.C = point : new ( 1 , 2 )
- C.AC = circle : new (z.A,z.C)
- C.BC = circle : new (z.B,z.C)
- z.T,z.Tp = C.AC : common_tangent (C.BC)
- L.TTp = line : new (z.T,z.Tp)
- z.M = C.AC : point (0.45)
- L.MC =line : new (z.M,z.C)
- z.Mp = intersection (L.MC, C.BC)
- L.mm = L.TTp : ll_from (z.C)
- _,z.M = intersection (L.mm, C.AC)
- z.Mp = intersection (L.mm, C.BC)
- _,z.D = intersection (C.AC,C.BC)
-\end{tkzelements}
+ z.O = point : new (0,0)
+ z.A = point : new (2,-2)
+ z.M = point : new (-6,0)
+ L.AM = line : new (z.A,z.M)
+ C.OA = circle : new (z.O,z.A)
+ z.Ap = C.OA : antipode (z.A)
+ z.B = intersection (L.AM, C.OA)
+\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
- \tkzDrawCircles(A,C B,C)
- \tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C)
- \tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T')
- \tkzDrawPoints(A,B,C,D,M,M',T,T')
- \tkzLabelPoints(A,B,D,M)
- \tkzLabelPoints[above](C,M',T,T')
- \tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M)
- \tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T')
+ \tkzDrawCircle(O,A)
+ \tkzMarkRightAngle[fill=gray!10](A',B,M)
+ \tkzDrawSegments(M,O A,A' A',B)
+ \tkzDrawPoints(O,A,A',M,B)
+ \tkzLabelPoints(O,A,A',M,B)
+ \tkzDrawSegments[-Triangle](M,A M,A')
\end{tikzpicture}
\end{Verbatim}
-
-
+\end{minipage}
+\begin{minipage}[t]{.5\textwidth}
\begin{tkzelements}
-z.A = point : new ( 0 , 0 )
-z.B = point : new ( 5 , 2 )
-L.AB = line : new ( z.A , z.B )
-z.C = point : new ( 1 , 2 )
-C.AC = circle : new (z.A,z.C)
-C.BC = circle : new (z.B,z.C)
-z.T,z.Tp = C.AC : common_tangent (C.BC)
-L.TTp = line : new (z.T,z.Tp)
-z.M = C.AC : point (0.45)
-L.MC =line : new (z.M,z.C)
-z.Mp = intersection (L.MC, C.BC)
-L.mm = L.TTp : ll_from (z.C)
-_,z.M = intersection (L.mm, C.AC)
-z.Mp = intersection (L.mm, C.BC)
-_,z.D = intersection (C.AC,C.BC)
+scale = 1
+z.O = point : new (0,0)
+z.A = point : new (2,-2)
+z.M = point : new (-6,0)
+L.AM = line : new (z.A,z.M)
+C.OA = circle : new (z.O,z.A)
+z.Ap = C.OA : antipode (z.A)
+z.B = intersection (L.AM, C.OA)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,C B,C)
-\tkzDrawSegments(M,M' A,D B,D A,B C,D T,C T',C)
-\tkzDrawSegments[gray](D,M D,M' T,T' D,T D,T')
-\tkzDrawPoints(A,B,C,D,M,M',T,T')
-\tkzLabelPoints(A,B,D,M)
-\tkzLabelPoints[above](C,M',T,T')
-\tkzMarkAngles[mark=|,size=.75](T,C,M C,T,T' C,D,T T,D,M)
-\tkzMarkAngles[mark=||,size=.75](M',C,T' T,T',C T',D,C M',D,T')
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection common_tangent (end)
-\subsection{Common tangent: orthogonality} % (fold)
-\label{sub:common_tangent_orthogonality}
-For two circles to be orthogonal, it is necessary and sufficient for a secant passing through one of their common points to be seen from the other common point at a right angle.
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzMarkRightAngle[fill=gray!10](A',B,M)
+ \tkzDrawSegments(M,O A,A' A',B)
+ \tkzDrawPoints(O,A,A',M,B)
+ \tkzLabelPoints(O,A,A',M,B)
+ \tkzDrawSegments[-Triangle](M,A M,A')
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% paragraph power_v1 (end)
+\paragraph{Power v2} % (fold)
+\label{par:power_v2}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{Verbatim}
\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 4 , 2 )
- L.AB = line : new ( z.A , z.B )
- z.a = point : new ( 1 , 2 )
- C.Aa = circle : new (z.A,z.a)
- C.BC = C.Aa : orthogonal_from (z.B)
- z.C,z.D = intersection (C.Aa,C.BC)
- C.AC = circle : new (z.A,z.C)
- z.T,z.Tp = C.AC : common_tangent (C.BC)
- L.TTp = line : new (z.T,z.Tp)
- z.M = C.AC : point (0.45)
- L.MC =line : new (z.M,z.C)
- z.Mp = intersection (L.MC, C.BC)
- L.mm = L.TTp : ll_from (z.C)
- _,z.M = intersection (L.mm, C.AC)
- z.Mp = intersection (L.mm, C.BC)
+ z.O = point : new (0,0)
+ z.A = point : new (2,2)
+ z.M = point : new (-1.5,0)
+ L.AM = line : new (z.A,z.M)
+ C.OA = circle : new (z.O,z.A)
+ z.Ap = C.OA : antipode (z.A)
+ _,z.B = intersection (L.AM, C.OA)
+ z.m = z.M : north(1)
+ L.mM = line : new (z.m,z.M)
+ z.U,z.V = intersection (L.mM,C.OA)
\end{tkzelements}
-
\begin{tikzpicture}
\tkzGetNodes
- \tkzDrawCircles(A,C B,C)
- \tkzDrawSegments(M,M' A,C B,C A,B)
- \tkzDrawSegments[gray](D,M D,M' T,T')
- \tkzDrawPoints(A,B,C,D,M,M',T,T')
- \tkzLabelPoints(A,B,D,M)
- \tkzLabelPoints[above](C,M',T,T')
- \tkzMarkRightAngles(M',D,M A,C,B)
+ \tkzDrawCircle(O,A)
+ \tkzMarkRightAngle[fill=gray!10](A',B,M)
+ \tkzDrawSegments(M,O A,A' A',B A,B U,V)
+ \tkzDrawPoints(O,A,A',M,B,U,V,m)
+ \tkzLabelPoints(O,A,M,U,V,m)
+ \tkzLabelPoints[below left](A',B)
+ \tkzDrawSegments(M,A M,A')
\end{tikzpicture}
\end{Verbatim}
-
+\end{minipage}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
-z.A = point : new ( 0 , 0 )
-z.B = point : new ( 4 , 2 )
-L.AB = line : new ( z.A , z.B )
-z.a = point : new ( 1 , 2 )
-C.Aa = circle : new (z.A,z.a)
-C.BC = C.Aa : orthogonal_from (z.B)
-z.C,z.D = intersection (C.Aa,C.BC)
-C.AC = circle : new (z.A,z.C)
-z.T,z.Tp = C.AC : common_tangent (C.BC)
-L.TTp = line : new (z.T,z.Tp)
-z.M = C.AC : point (0.45)
-L.MC =line : new (z.M,z.C)
-z.Mp = intersection (L.MC, C.BC)
-L.mm = L.TTp : ll_from (z.C)
-_,z.M = intersection (L.mm, C.AC)
-z.Mp = intersection (L.mm, C.BC)
+scale = 1
+z.O = point : new (0,0)
+z.A = point : new (2,2)
+z.M = point : new (-1.5,0)
+L.AM = line : new (z.A,z.M)
+C.OA = circle : new (z.O,z.A)
+z.Ap = C.OA : antipode (z.A)
+_,z.B = intersection (L.AM, C.OA)
+z.m = z.M : north(1)
+L.mM = line : new (z.m,z.M)
+z.U,z.V = intersection (L.mM,C.OA)
\end{tkzelements}
- \hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(A,C B,C)
- \tkzDrawSegments(M,M' A,C B,C A,B)
- \tkzDrawSegments[gray](D,M D,M' T,T')
- \tkzDrawPoints(A,B,C,D,M,M',T,T')
- \tkzLabelPoints(A,B,D,M)
- \tkzLabelPoints[above](C,M',T,T')
- \tkzMarkRightAngles(M',D,M A,C,B)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection common_tangent_orthogonality (end)
-\subsection{In\_out for circle and disk} % (fold)
-\label{sub:in_out_for_circle_and_disk}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzMarkRightAngle[fill=gray!10](A',B,M)
+ \tkzDrawSegments(M,O A,A' A',B A,B U,V)
+ \tkzDrawPoints(O,A,A',M,B,U,V,m)
+ \tkzLabelPoints(O,A,M,U,V,m)
+ \tkzLabelPoints[below left](A',B)
+ \tkzDrawSegments(M,A M,A')
+ \end{tikzpicture}
+\end{center}
-\begin{Verbatim}
-\begin{tkzelements}
+\end{minipage}
+% paragraph power_v2 (end)
+
+% subsubsection method_imeth_circle_power_c (end)
+
+\subsubsection{Method \Imeth{circle}{in\_out} for circle and disk} % (fold)
+\label{ssub:in_out_for_circle_and_disk}
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ z.O = point : new (0,0)
+ z.A = point : new (1,2)
+ C.OA = circle : new (z.O,z.A)
+ z.N = point : new (-2,2)
+ z.M = point : new (1,0)
+ z.P = point : new (2,1)
+ BCm = C.OA : in_out (z.M)
+ BDm = C.OA : in_out_disk (z.M)
+ BCn = C.OA : in_out (z.N)
+ BDn = C.OA : in_out_disk (z.N)
+ BCp = C.OA : in_out (z.P)
+ BDp = C.OA : in_out_disk (z.P)
+ \end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}\begin{tkzelements}
z.O = point : new (0,0)
z.A = point : new (1,2)
C.OA = circle : new (z.O,z.A)
@@ -965,53 +1778,104 @@ BDp = C.OA : in_out_disk (z.P)
\tkzLabelPoints(O,M,N,P)
\ifthenelse{\equal{\tkzUseLua{#1}}{true}}{
\tkzLabelPoint[below=#4pt,font=\scriptsize](#2){on the #3}}{%
- \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}}
+ \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}
+}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments[dashed](O,M O,N O,P)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(O,M,N,P)
+ \tkzPosPoint{BCm}{M}{circle}{8}
+ \tkzPosPoint{BCn}{N}{circle}{8}
+ \tkzPosPoint{BCp}{P}{circle}{8}
+ \tkzPosPoint{BDm}{M}{disk}{14}
+ \tkzPosPoint{BDn}{N}{disk}{14}
+ \tkzPosPoint{BDp}{P}{disk}{14}
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \def\tkzPosPoint#1#2#3#4{%
+ \tkzLabelPoints(O,M,N,P)
+ \ifthenelse{\equal{\tkzUseLua{#1}}{true}}{
+ \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){on the #3}}{%
+ \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments[dashed](O,M O,N O,P)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(O,M,N,P)
+ \tkzPosPoint{BCm}{M}{circle}{8}
+ \tkzPosPoint{BCn}{N}{circle}{8}
+ \tkzPosPoint{BCp}{P}{circle}{8}
+ \tkzPosPoint{BDm}{M}{disk}{14}
+ \tkzPosPoint{BDn}{N}{disk}{14}
+ \tkzPosPoint{BDp}{P}{disk}{14}
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+
+% subsubsection in_out_for_circle_and_disk (end)
+
+\subsubsection{Method \Imeth{circle}{circles\_position}} % (fold)
+\label{ssub:circles_position}
+
+This function returns a string indicating the position of the circle in relation to another. Useful for creating a function. Cases are:
+
+\begin{itemize}
+ \item \code{outside}
+ \item \code{outside tangent}
+ \item \code{inside tangent}
+ \item \code{inside}
+ \item \code{intersect}
+\end{itemize}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new ( 0 , 0 )
+ z.a = point : new ( 3 , 0 )
+ z.B = point : new ( 2 , 0 )
+ z.b = point : new ( 3 , 0 )
+ C.Aa = circle: new (z.A,z.a)
+ C.Bb = circle: new (z.B,z.b)
+ position = C.Aa : circles_position (C.Bb)
+ if position == "inside tangent"
+ then color = "orange"
+ else color = "blue" end
+\end{tkzelements}
+
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawSegments[dashed](O,M O,N O,P)
-\tkzDrawCircle(O,A)
-\tkzDrawPoints(O,M,N,P)
-\tkzPosPoint{BCm}{M}{circle}{8}
-\tkzPosPoint{BCn}{N}{circle}{8}
-\tkzPosPoint{BCp}{P}{circle}{8}
-\tkzPosPoint{BDm}{M}{disk}{14}
-\tkzPosPoint{BDn}{N}{disk}{14}
-\tkzPosPoint{BDp}{P}{disk}{14}
+ \tkzGetNodes
+ \tkzDrawCircle(A,a)
+ \tkzDrawCircle[color=\tkzUseLua{color}](B,b)
\end{tikzpicture}
\end{Verbatim}
-
+\end{minipage}
+\begin{minipage}{.5\textwidth}
\begin{tkzelements}
-z.O = point : new (0,0)
-z.A = point : new (1,2)
-C.OA = circle : new (z.O,z.A)
-z.N = point : new (-2,2)
-z.M = point : new (1,0)
-z.P = point : new (2,1)
-BCm = C.OA : in_out (z.M)
-BDm = C.OA : in_out_disk (z.M)
-BCn = C.OA : in_out (z.N)
-BDn = C.OA : in_out_disk (z.N)
-BCp = C.OA : in_out (z.P)
-BDp = C.OA : in_out_disk (z.P)
+z.A = point : new ( 1 , 0 )
+z.a = point : new ( 3 , 0 )
+z.B = point : new ( 2 , 0 )
+z.b = point : new ( 3 , 0 )
+C.Aa = circle: new (z.A,z.a)
+C.Bb = circle: new (z.B,z.b)
+position = C.Aa : circles_position (C.Bb)
+if position == "inside tangent" then color = "orange" else color = "blue" end
\end{tkzelements}
-\def\tkzPosPoint#1#2#3#4{%
-\tkzLabelPoints(O,M,N,P)
- \ifthenelse{\equal{\tkzUseLua{#1}}{true}}{
- \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){on the #3}}{%
- \tkzLabelPoint[below=#4pt,font=\scriptsize](#2){out the #3}}
-}
+\hspace{\fill}
\begin{tikzpicture}
\tkzGetNodes
-\tkzDrawSegments[dashed](O,M O,N O,P)
-\tkzDrawCircle(O,A)
-\tkzDrawPoints(O,M,N,P)
-\tkzPosPoint{BCm}{M}{circle}{8}
-\tkzPosPoint{BCn}{N}{circle}{8}
-\tkzPosPoint{BCp}{P}{circle}{8}
-\tkzPosPoint{BDm}{M}{disk}{14}
-\tkzPosPoint{BDn}{N}{disk}{14}
-\tkzPosPoint{BDp}{P}{disk}{14}
-\end{tikzpicture}
-% subsection in_out_for_circle_and_disk (end)
+\tkzDrawCircle(A,a)
+\tkzDrawCircle[color=\tkzUseLua{color}](B,b)
+\end{tikzpicture}\hspace{\fill}
+\end{minipage}
+% subsubsection circles__position (end)
+
+% subsection methods_of_the_class_circle (end)
% section class_circle (end)
+
\endinput
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex
index 3146f73461..016dd8025c 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-ellipse.tex
@@ -141,10 +141,10 @@ To do this, you'll need to use a macro: \tkzcname{tkzUseLua} defined in \pkg{tk
\Imeth{ellipse}{foci (f1,f2,v)} & E = ellipse: foci ( focus 1, focus 2, vertex ) \\
\Imeth{ellipse}{radii (c,a,b,sl) } & E = ellipse: radii ( center, radius a, radius b, slope ) \\
\Imeth{ellipse}{in\_out (pt) } & pt in/out of the ellipse \\
-\Imeth{ellipse}{tangent\_at (pt) } & Refer to ex. \ref{ssub:method_point} \\
-\Imeth{ellipse}{tangent\_from (pt) } & Refer to ex. \ref{ssub:method_point} \\
-\Imeth{ellipse}{point (t) } & vertex = point (0) covertex = point (0.25) ex Refer to \ref{ssub:method_point} \\
-\Imeth{ellipse}{orthoptic\_circle () } & Refer to ex. \ref{ssub:steiner_inellipse_and_circumellipse} \\
+\Imeth{ellipse}{tangent\_at (pt) } & [ ex. \ref{ssub:method_point} ] \\
+\Imeth{ellipse}{tangent\_from (pt) } & [ex. \ref{ssub:method_point} ] \\
+\Imeth{ellipse}{point (t) } & vertex = point (0) covertex = point (0.25) [ex. \ref{ssub:method_point} ] \\
+\Imeth{ellipse}{orthoptic\_circle () } & [ex. \ref{ssub:steiner_inellipse_and_circumellipse}] \\
\bottomrule
\end{tabular}
@@ -153,7 +153,7 @@ To do this, you'll need to use a macro: \tkzcname{tkzUseLua} defined in \pkg{tk
\subsubsection{Method \Imeth{ellipse}{new}} % (fold)
\label{ssub:method_imeth_ellipse_new}
The main method for creating a new ellipse is \Imeth{ellipse}{new}. The arguments are three: \Iattr{ellipse}{center}, \Iattr{ellipse}{vertex} and \Iattr{ellipse}{covertex}
-For attributes Refer to \ref{sec:class_ellipse}.
+For attributes [\ref{sec:class_ellipse}].
\begin{minipage}{0.5\textwidth}
\begin{Verbatim}
@@ -258,22 +258,25 @@ The first two points are the foci of the ellipse, and the third one is the verte
a,b = E.Rx,E.Ry
ang = math.deg(E.slope)
\end{tkzelements}
- \hspace*{\fill}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawCircles[cyan](O,A N,I)
- \tkzDrawSegments(X,R A,X)
- \tkzDrawEllipse[red](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
- \tkzDrawLines[add=.2 and .5](I,H)
- \tkzDrawPoints(A,B,C,N,O,X,H,R,S,I)
- \tkzLabelPoints[above](C,X)
- \tkzLabelPoints[above right](N,O)
- \tkzLabelPoints[above left](R)
- \tkzLabelPoints[left](A)
- \tkzLabelPoints[right](B,I,S,H)
- \end{tikzpicture}
- \hspace*{\fill}
+
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles[cyan](O,A N,I)
+ \tkzDrawSegments(X,R A,X)
+ \tkzDrawEllipse[red](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+ \tkzDrawLines[add=.2 and .5](I,H)
+ \tkzDrawPoints(A,B,C,N,O,X,H,R,S,I)
+ \tkzLabelPoints[above](C,X)
+ \tkzLabelPoints[above right](N,O)
+ \tkzLabelPoints[above left](R)
+ \tkzLabelPoints[left](A)
+ \tkzLabelPoints[right](B,I,S,H)
+ \end{tikzpicture}
+ \end{center}
+
+
\end{minipage}
\begin{Verbatim}
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex
index 435ad9bcc6..f4acdafc8c 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-line.tex
@@ -26,22 +26,53 @@ The attributes are :
\Iattr{line}{pb} & Second point of the segment & \\
\Iattr{line}{type} & Type is 'line' & |L.AB.type = 'line'| \\
\Iattr{line}{mid} & Middle of the segment& |z.M = L.AB.mid|\\
-\Iattr{line}{slope} & Slope of the line & Refer to (\ref{ssub:example_class_line})\\
-\Iattr{line}{length} &|l = L.AB.length|&Refer to (\ref{sub:transfer_from_lua_to_tex} ; \ref{ssub:example_class_line})\\
-\Iattr{line}{north\_pa} & &Refer to (\ref{ssub:example_class_line}) \\
+\Iattr{line}{slope} & Slope of the line & [\ref{ssub:example_class_line}] \\
+\Iattr{line}{length} &|l = L.AB.length|& [\ref{sub:transfer_from_lua_to_tex} ; \ref{ssub:example_class_line}] \\
+\Iattr{line}{north\_pa} & & [\ref{ssub:example_class_line}] \\
\Iattr{line}{north\_pb} & &\\
\Iattr{line}{south\_pa} & &\\
-\Iattr{line}{south\_pb} & &Refer to (\ref{ssub:example_class_line}) \\
+\Iattr{line}{south\_pb} & & [\ref{ssub:example_class_line}] \\
\Iattr{line}{east} & &\\
\Iattr{line}{west} & &\\
-\Iattr{line}{vec} & |V.AB = L.AB.vec|& defines $\overrightarrow{AB}$ Refer to (\ref{sec:class_vector})\\
+\Iattr{line}{vec} & |V.AB = L.AB.vec|& defines $\overrightarrow{AB}$ [\ref{sec:class_vector}] \\
\bottomrule
\end{tabular}
\egroup
\subsubsection{Example: attributes of class line} % (fold)
\label{ssub:example_class_line}
-\begin{minipage}{.5\textwidth}
+
+\vspace{5pt}
+\begin{tkzelements}
+z.a = point: new (1, 1)
+z.b = point: new (5, 4)
+L.ab = line : new (z.a,z.b)
+z.m = L.ab.mid
+z.w = L.ab.west
+z.e = L.ab.east
+z.r = L.ab.north_pa
+z.s = L.ab.south_pb
+sl = L.ab.slope
+len = L.ab.length
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(a,b,m,e,r,s,w)
+ \tkzLabelPoints(a,b)
+ \tkzLabelPoint(r){north\_pa}
+ \tkzLabelPoint(s){south\_pb}
+ \tkzLabelPoint[below](m){mid}
+ \tkzLabelPoint[right](w){west}
+ \tkzLabelPoint[left](e){east}
+ \tkzDrawLine(a,b)
+ \tkzLabelSegment[above = 1em,sloped](a,b){ab = \pmpn{\tkzUseLua{len}}}
+ \tkzLabelSegment[above=2em,sloped](a,b){slope of (ab) = \pmpn{\tkzUseLua{sl}}}
+ \end{tikzpicture}
+\end{center}
+
+
\begin{Verbatim}
\begin{tkzelements}
scale = .5
@@ -67,35 +98,8 @@ The attributes are :
\tkzLabelSegment[above=12pt,sloped](a,b){slope of (ab) = \tkzUseLua{sl}}
\end{tikzpicture}
\end{Verbatim}
-\end{minipage}
-\begin{minipage}{.5\textwidth}\begin{tkzelements}
-scale = .5
-z.a = point: new (1, 1)
-z.b = point: new (5, 4)
-L.ab = line : new (z.a,z.b)
-z.m = L.ab.mid
-z.w = L.ab.west
-z.e = L.ab.east
-z.r = L.ab.north_pa
-z.s = L.ab.south_pb
-sl = L.ab.slope
-len = L.ab.length
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPoints(a,b,m,e,r,s,w)
- \tkzLabelPoints(a,b)
- \tkzLabelPoint(r){north\_pa}
- \tkzLabelPoint(s){south\_pb}
- \tkzLabelPoint[below](m){mid}
- \tkzLabelPoint[right](w){west}
- \tkzLabelPoint[left](e){east}
- \tkzDrawLine(a,b)
- \tkzLabelSegment[above = 1em,sloped](a,b){ab = \pmpn{\tkzUseLua{len}}}
- \tkzLabelSegment[above=2em,sloped](a,b){slope of (ab) = \pmpn{\tkzUseLua{sl}}}
-\end{tikzpicture}
-\end{minipage}
+
+
% subsubsection example_class_line (end)
\subsubsection{Method \Imeth{line}{new} and line attributes}
@@ -161,62 +165,54 @@ Here's the list of methods for the \tkzNameObj{line} object. The results can be
\toprule
\textbf{Methods} & \textbf{Comments} & \\
\midrule
-\Igfct{line}{new(pt, pt)} & |L.AB = line : new(z.A,z.B)| & Create line $(AB)$ ; Refer to (\ref{ssub:altshiller})\\
+\Igfct{line}{new(pt, pt)} & |L.AB = line : new(z.A,z.B)| & Create line $(AB)$ ; [\ref{sub:altshiller}] \\
\midrule
\textbf{Points} &&\\
\midrule
-\Imeth{line}{gold\_ratio ()} & |z.C=L.AB : gold_ratio()| & Refer to (\ref{sub:gold_ratio_with_segment} ; \ref{sub:the_figure_pappus_circle} ; \ref{sub:bankoff_circle}) \\
-\Imeth{line}{normalize ()} & |z.C=L.AB : normalize()| & AC =1 and $C\in (AB)$ Refer to (\ref{ssub:normalize}) \\
+\Imeth{line}{gold\_ratio ()} & |z.C=L.AB : gold_ratio()| & [\ref{sub:gold_ratio_with_segment} ; \ref{sub:the_figure_pappus_circle} ; \ref{sub:bankoff_circle} ] \\
+\Imeth{line}{normalize ()} & |z.C=L.AB : normalize()| & AC =1 and $C\in (AB)$ [ \ref{ssub:normalize}] \\
\Imeth{line}{normalize\_inv ()} & |z.C=L.AB : normalize_inv()| & CB=1 and $C\in (AB)$ \\
-\Imeth{line}{barycenter (r,r)} & |z.C=L.AB : barycenter (1,2)| & Refer to (\ref{ssub:barycenter_with_a_line})\\
-\Imeth{line}{point (r)} & |z.C=L.AB : point (2)| & $\overrightarrow{AC} = 2\overrightarrow{AB}$ Refer to (\ref{sub:ellipse} ; \ref{ssub:method_point})\\
+\Imeth{line}{barycenter (r,r)} & |z.C=L.AB : barycenter (1,2)| & [\ref{ssub:barycenter_with_a_line}] \\
+\Imeth{line}{point (r)} & |z.C=L.AB : point (2)| & $\overrightarrow{AC} = 2\overrightarrow{AB}$ [\ref{sub:ellipse} ; \ref{ssub:method_point}] \\
\Imeth{line}{midpoint ()} & |z.M=L.AB : midpoint ()| & better is |z.M = L.AB.mid| \\
-\Imeth{line}{harmonic\_int (pt)} & |z.D=L.AB : harmonic_int (z.C)| & Refer to (\ref{sub:bankoff_circle})\\
-\Imeth{line}{harmonic\_ext (pt)} & |z.D=L.AB : harmonic_ext (z.C)| & Refer to (\ref{sub:bankoff_circle})\\
-\Imeth{line}{harmonic\_both (r)} & |z.C,z.D=L.AB : harmonic_both|($\varphi$) & \ref{sub:harmonic_division_with_tkzphi}\\
+\Imeth{line}{harmonic\_int (pt)} & |z.D=L.AB : harmonic_int (z.C)| & [ \ref{sub:bankoff_circle}] \\
+\Imeth{line}{harmonic\_ext (pt)} & |z.D=L.AB : harmonic_ext (z.C)| & [ \ref{sub:bankoff_circle}] \\
+\Imeth{line}{harmonic\_both (r)} & |z.C,z.D=L.AB : harmonic_both|($\varphi$) & [\ref{sub:harmonic_division_with_tkzphi}] \\
\Imeth{line}{\_east(d)} & |z.M=L.AB : _east(2)| & |BM = 2| $A,B,M$ aligned \\
\Imeth{line}{\_west(d)} & |z.M=L.AB : _east(2)| & |BM = 2| $A,B,M$ aligned \\
-\Imeth{line}{\_north\_pa(d)} &|z.M=L.AB: _north_pa(2)| &|AM=2| $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise \\
-\Imeth{line}{\_south\_pa(d)} &|z.M=L.AB:_south_pa(2)| &|AM=2|; $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ clockwise \\
-\Imeth{line}{\_north\_pb(d)} &|z.M=L.AB:_north_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{BA},\overrightarrow{BM}$ clockwise \\
-\Imeth{line}{\_south\_pb(d)} &|z.M=L.AB:_south_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise \\
-\Imeth{line}{report(d,pt)} &|z.M=L.AB:report(2,z.N)| &|MN=2|; $AB\parallel MN$ ; Refer to ex. (\ref{ssub:method_report})\\
-\Imeth{line}{colinear\_at(pt,k)} &|z.D=L.AB:colinear_at(z.C,2)| &|CD=2AB|; $AB\parallel CD$ ; Refer to ex. (\ref{ssub:method_imeth_line_colinear__at})\\
+\Imeth{line}{\_north\_pa(d)} &|z.M=L.AB: _north_pa(2)| &|AM=2|; $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise. \\
+...&& [\ref{ssub:new_line_from_a_defined_line}; \ref{ssub:attributes_of_an_ellipse}]\\
+\Imeth{line}{\_south\_pa(d)} &|z.M=L.AB: _south_pa(2)| &|AM=2|; $AM\perp AB$ ; $\overrightarrow{AB},\overrightarrow{AM}$ clockwise \\
+\Imeth{line}{\_north\_pb(d)} &|z.M=L.AB: _north_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{BA},\overrightarrow{BM}$ clockwise \\
+\Imeth{line}{\_south\_pb(d)} &|z.M=L.AB: _south_pb(2)| &|BM=2|; $BM\perp BA$ ; $\overrightarrow{AB},\overrightarrow{AM}$ counterclockwise \\
+\Imeth{line}{report(d,pt)} &|z.M=L.AB: report(2,z.N)| &|MN=2|; $AB\parallel MN$ ; [ex. \ref{ssub:method_report}]\\
+\Imeth{line}{colinear\_at(pt,k)} &|z.D=L.AB: colinear_at(z.C,2)| &|CD=2AB|; $AB\parallel CD$ ; [ex. \ref{ssub:method_imeth_line_colinear__at}]\\
\midrule
\textbf{Lines} &&\\
\midrule
-\Imeth{line}{ll\_from ( pt )} &|L.CD=L.AB: ll_from(z.C)| &$(CD) \parallel (AB)$ \\
-\Imeth{line}{ortho\_from ( pt )} &|L.CD=L.AB: ortho_from(z.C)|&$(CD) \perp (AB)$\\
-\Imeth{line}{mediator ()}&|L.uv=L.AB: mediator()| & $(u,v)$mediator of $(A,B)$\\
+\Imeth{line}{ll\_from ( pt )} &|L.CD=L.AB: ll_from(z.C)| &$(CD) \parallel (AB)$; [\ref{ssub:new_line_from_a_defined_line}] \\
+\Imeth{line}{ortho\_from ( pt )} &|L.CD=L.AB: ortho_from(z.C)|&$(CD) \perp (AB)$; [\ref{ssub:newline_ortho_from}] \\
+ \Imeth{line}{mediator ()} & |L.uv=L.AB: mediator()| & perpendicular bisector of $(A,B)$ \footnote{You can use |perpendicular_bisector| intead of \tkzname{mediator}.}; [\ref{ssub:method_imeth_line_mediator}]\\
\midrule
\textbf{Triangles}&&\\
\midrule
-\Imeth{line}{equilateral (<swap>)} & |T.ABC=L.AB:equilateral()| & $(\overrightarrow{AB},\overrightarrow{AC})>0$ or $<0$ with swap \footnote{Triangles are defined in the direct sense of rotation, unless the "swap" option is present.} \\
-\Imeth{line}{isosceles (an<,swap>)}&|T.ABC=L.AB:isosceles(math.pi/6)|&\\
-\Imeth{line}{two\_angles (an,an)} &|T.ABC=L.AB:two_angles(an,an)|&note \footnote{The given side is between the two angles} Refer to (\ref{ssub:triangle_with_two__angles}) \\
+\Imeth{line}{equilateral (<swap>)} & |T.ABC=L.AB:equilateral()| & $(\overrightarrow{AB},\overrightarrow{AC})>0$ or $<0$ with swap \footnote{Triangles are defined in the direct sense of rotation, unless the "swap" option is present.}; [\ref{ssub:object_rotation}] \\
+\Imeth{line}{isosceles (an<,swap>)}&|T.ABC=L.AB:isosceles(math.pi/6)|& [\ref{ssub:method_imeth_line_isosceles}]\\
+\Imeth{line}{two\_angles (an,an)} &|T.ABC=L.AB:two_angles(an,an)|&note \footnote{The given side is between the two angles} [\ref{ssub:triangle_with_two__angles}] \\
\Imeth{line}{school ()} & 30°,60°, 90° & \\
-\Imeth{line}{sss (r,r)} & $AC=r$ $BC=r$ & \\
-\Imeth{line}{as (r,an)} & $AC =r$ $\widehat{BAC} = an$& \\
-\Imeth{line}{sa (r,an)} & $AC =r$ $\widehat{ABC} = an$& \\
-\midrule
-\textbf{Sacred triangles}&&\\
-\midrule
-\Imeth{line}{gold (<swap>)} &|T.ABC=L.AB:gold()| & right in $B$ and $AC = \varphi \times AB $ \\
-\Imeth{line}{euclide (<swap>)} &|T.ABC=L.AB:euclide()| &$AB=AC$ ; $(\overrightarrow{AB},\overrightarrow{AC}) = \pi/5$ \\
-\Imeth{line}{golden (<swap>)} &|T.ABC=L.AB:golden()| &
- $(\overrightarrow{AB},\overrightarrow{AC}) = 2\times \pi/5$ \\
-\Imeth{line}{divine ()} & & \\
-\Imeth{line}{egyptian ()} & & \\
-\Imeth{line}{cheops ()} & & \\
+\Imeth{line}{sss (r,r)} & $AC=r$ $BC=r$ & [\ref{ssub:triangle_with_three_given_sides}] \\
+\Imeth{line}{sas (r,an)} & $AC =r$ $\widehat{BAC} = an$ & [\ref{ssub:triangle_with_three_given_sides}] \\
+\Imeth{line}{ssa (r,an)} & $AC =r$ $\widehat{ABC} = an$& [\ref{ssub:triangle_with_three_given_sides}]\\
\midrule
\textbf{Squares}&&\\
\midrule
-\Imeth{line}{square ()} &|S.AB=L.AB : square () | & create a square |S.AB|.\footnote{ |_,_,z.C,z.D = get_points(S.AB)|}\\
+\Imeth{line}{square ()} &|S.AB=L.AB : square () | & create a square |S.AB|.\footnote{ |_,_,z.C,z.D = get_points(S.AB)|}; [\ref{ssub:object_rotation}] \\
\bottomrule
\end{tabular}
\egroup
\end{minipage}
+
\begin{minipage}{\textwidth}
\bgroup
\catcode`_=12
@@ -226,23 +222,33 @@ Here's the list of methods for the \tkzNameObj{line} object. The results can be
\toprule
\textbf{Methods} & \textbf{Comments} & \\
\midrule
+\textbf{Sacred triangles}&&\\
+\midrule
+\Imeth{line}{gold (<swap>)} &|T.ABC=L.AB:gold()| & right in $B$ and $AC = \varphi \times AB $; [\ref{line:met}] \\
+\Imeth{line}{euclide (<swap>)} &|T.ABC=L.AB:euclide()| &$AB=AC$ ; $(\overrightarrow{AB},\overrightarrow{AC}) = \pi/5$; [\ref{line:met}] \\
+\Imeth{line}{golden (<swap>)} &|T.ABC=L.AB:golden()| &
+ $(\overrightarrow{AB},\overrightarrow{AC}) = 2\times \pi/5$ ; [\ref{line:met}] \\
+\Imeth{line}{divine ()} & & [\ref{line:met}] \\
+\Imeth{line}{egyptian ()} & & [\ref{line:met}] \\
+\Imeth{line}{cheops ()} & & [\ref{line:met}] \\
+\midrule
\textbf{Circles} &&\\
\midrule
\Imeth{line}{circle ()} & |C.AB = L.AB : circle ()| & center pa through pb \\
-\Imeth{line}{circle\_swap ()} & |C.BA = L.AB : circle_swap ()|& center pb through pa \\
-\Imeth{line}{apollonius (r)} & |C.apo = L.AB : apollonius (2)|& Set of points tq. |MA/MB = 2| \\
+\Imeth{line}{apollonius (r)} & |C.apo = L.AB : apollonius (2)|& Set of points tq. |MA/MB = 2|; [\ref{ssub:apollonius_circle_ma_mb_k}] \\
\midrule
\textbf{Transformations} &&\\
\midrule
-\Imeth{line}{reflection ( obj )} & |new obj = L.AB : reflection (obj|&\\
-\Imeth{line}{translation ( obj )} & |new obj = L.AB : translation (obj)|&\\
-\Imeth{line}{projection ( obj )} & |z.H = L.AB : projection (z.C)| & $CH \perp (AB)$ and $H\in (AB)$\\
+\Imeth{line}{reflection ( obj )} & |new obj = L.AB : reflection (obj|& [\ref{ssub:reflection_of_object}] \\
+\Imeth{line}{translation ( obj )} & |new obj = L.AB : translation (obj)|& [\ref{ssub:example_translation}] \\
+\Imeth{line}{projection ( obj )} & |z.H = L.AB : projection (z.C)| & $CH \perp (AB)$ and $H\in (AB)$; [\ref{ssub:example_projection_of_several_points}; \ref{ssub:example_combination_of_methods}]\\
+... & & [ \ref{ssub:example_projection_of_several_points}; \ref{ssub:example_combination_of_methods}]\\
\midrule
\textbf{Miscellaneous} &&\\
\midrule
-\Imeth{line}{distance (pt)} & |d = L.Ab : distance (z.C)| & Refer to \ref{ssub:example_distance_and_projection}\\
-\Imeth{line}{in\_out (pt)} & |b = L.AB: in_out(z.C)| & b=true if $C\in (AB)$ \\
-\Imeth{line}{slope ()} & |a = L.AB : slope()| & better is L.AB.slope \\
+\Imeth{line}{distance (pt)} & |d = L.Ab : distance (z.C)| & [\ref{ssub:example_distance_and_projection}] \\
+\Imeth{line}{in\_out (pt)} & |b = L.AB: in_out(z.C)| & b=true if $C\in (AB)$ ; [\ref{ssub:in_out_for_a_line}] \\
+\Imeth{line}{slope ()} & |a = L.AB : slope()| & better is L.AB.slope; [\ref{ssub:example_class_line}]\\
\Imeth{line}{in\_out\_segment (pt)} & |b = L.AB : in_out_segment(z.C)| & b=true if $C\in [AB$] \\
\bottomrule
\end{tabular}
@@ -309,7 +315,11 @@ The angles are on either side of the given segment
\tkzDrawPolygons(A,B,C)
\tkzDrawPoints(A,B,C)
\tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
+ \tkzLabelPoints[above](C)
+ \tkzMarkAngle[red](C,B,A)
+ \tkzMarkAngle[red](B,A,C)
+ \tkzLabelAngle[red,pos=1.3](C,B,A){$\pi/2$}
+ \tkzLabelAngle[red,pos=1.3](B,A,C){$\pi/6$}
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
@@ -321,57 +331,130 @@ The angles are on either side of the given segment
T.ABC= L.AB : two_angles (math.pi/6,math.pi/2)
z.C = T.ABC.pc
\end{tkzelements}
- \hspace*{\fill}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
- \end{tikzpicture}
- \hspace*{\fill}
+
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C)
+ \tkzMarkAngle[red](C,B,A)
+ \tkzMarkAngle[red](B,A,C)
+ \tkzLabelAngle[red,pos=1.3](C,B,A){$\pi/2$}
+ \tkzLabelAngle[red,pos=1.3](B,A,C){$\pi/6$}
+ \end{tikzpicture}
+ \end{center}
+
\end{minipage}
% subsubsection triangle_with_two__angles (end)
-\subsubsection{Method \Imeth{line}{sss}} % (fold)
+\subsubsection{Method \Imeth{line}{isosceles}} % (fold)
+\label{ssub:method_imeth_line_isosceles}
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+\begin{tkzelements}
+ scale = 2
+ z.a = point : new (1,2)
+ z.b = point : new (5,1)
+ L.ab = line : new (z.a,z.b)
+ T.abc = L.ab : isosceles (math.pi/6,indirect)
+ z.c = T.abc.pc
+ z.L = T.abc : lemoine_point ()
+ T.SY = T.abc : symmedian ()
+ z.Ka,z.Kb,z.Kc = get_points (T.SY)
+ L.Kb = T.abc : symmedian_line (1)
+ _,z.Kb = get_points(L.Kb)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygons(a,b,c Ka,Kb,Kc)
+\tkzDrawPoints(a,b,c,L,Ka,Kb,Kc)
+\tkzLabelPoints(c,L,Ka,Kb)
+\tkzLabelPoints[above](a,b,Kc)
+\tkzDrawSegments[cyan](a,Ka b,Kb c,Kc)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 2
+ z.a = point : new (1,2)
+ z.b = point : new (5,1)
+ L.ab = line : new (z.a,z.b)
+ T.abc = L.ab : isosceles (math.pi/6,indirect)
+ z.c = T.abc.pc
+ z.L = T.abc : lemoine_point ()
+ T.SY = T.abc : symmedian ()
+ z.Ka,z.Kb,
+ z.Kc = get_points (T.SY)
+ L.Kb = T.abc : symmedian_line (1)
+ _,z.Kb = get_points(L.Kb)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygons(a,b,c Ka,Kb,Kc)
+\tkzDrawPoints(a,b,c,L,Ka,Kb,Kc)
+\tkzLabelPoints(c,L,Ka,Kb)
+\tkzLabelPoints[above](a,b,Kc)
+\tkzDrawSegments[cyan](a,Ka b,Kb c,Kc)
+\end{tikzpicture}
+\end{minipage}
+
+% subsubsection method_imeth_line_isosceles (end)
+
+\subsubsection{Methods \Imeth{line}{sss}, \Imeth{line}{sas}, \Imeth{line}{ssa}} % (fold)
\label{ssub:triangle_with_three_given_sides}
In the following example, a small difficulty arises. The given lengths are not affected by scaling, so it's necessary to use the \Igfct{math}{value (r) } function, which will modify the lengths according to the scale.
+\vspace{6pt}
\begin{minipage}{.4\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 5 , 0 )
- L.AB = line : new ( z.A , z.B )
- T.ABC = L.AB : sss (value(3),value(4))
- z.C = T.ABC.pc
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 5 , 0 )
+ L.AB = line : new ( z.A , z.B )
+ T.ABC = L.AB : sss (value(3),value(4))
+ T.ABD = L.AB : sas (value(3),math.pi/2)
+ T.ABE = L.AB : ssa (value(7),math.pi/2)
+ z.C = T.ABC.pc
+ z.D = T.ABD.pc
+ z.E = T.ABE.pc
\end{tkzelements}
+\hspace{\fill}
\begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C A,B,D A,B,E)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
- \begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 5 , 0 )
- L.AB = line : new ( z.A , z.B )
- T.ABC = L.AB : sss (value(3),value(4))
- z.C = T.ABC.pc
- \end{tkzelements}
-\hspace{\fill}
- \begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C)
- \end{tikzpicture}
+\begin{tkzelements}
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 5 , 0 )
+ L.AB = line : new ( z.A , z.B )
+ T.ABC = L.AB : sss (value(3),value(4))
+ T.ABD = L.AB : sas (value(3),math.pi/2)
+ T.ABE = L.AB : ssa (value(7),math.pi/2)
+ z.C = T.ABC.pc
+ z.D = T.ABD.pc
+ z.E = T.ABE.pc
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C A,B,D A,B,E)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection triangle_with_three_given_sides (end)
@@ -413,16 +496,20 @@ In some cases, two solutions are possible.
z.C = T.ABC.pc
z.D = T.ABD.pc
\end{tkzelements}
- \hspace{\fill} \begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C A,B,D)
- \tkzDrawPoints(A,B,C,D)
- \tkzLabelPoints(A,B)
- \tkzLabelPoints[above](C,D)
- \tkzLabelAngle[teal](C,B,A){$\pi/6$}
- \tkzLabelSegment[below left](A,C){$7$}
- \tkzLabelSegment[below left](A,D){$7$}
- \end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C A,B,D)
+ \tkzDrawPoints(A,B,C,D)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D)
+ \tkzLabelAngle[teal](C,B,A){$\pi/6$}
+ \tkzLabelSegment[below left](A,C){$7$}
+ \tkzLabelSegment[below left](A,D){$7$}
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection triangle_with_side_between_side_and_angle (end)
@@ -536,12 +623,15 @@ This method exists for all objects except quadrilaterals.
z.J = L.AB : point (-0.5)
z.K = L.AB : point (2)
\end{tkzelements}
-\begin{tikzpicture}[gridded]
-\tkzGetNodes
- \tkzDrawLine(J,K)
- \tkzDrawPoints(A,B,I,J,K)
- \tkzLabelPoints(A,B,I,J,K)
- \end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawLine(J,K)
+ \tkzDrawPoints(A,B,I,J,K)
+ \tkzLabelPoints(A,B,I,J,K)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection method_point (end)
@@ -576,12 +666,15 @@ If the coefficient is missing then it defaults to $1$ and in the following examp
z.D = L.AB : colinear_at (z.C,.5)
z.E = L.AB : colinear_at (z.C)
\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawSegments(A,B C,E)
- \tkzDrawPoints(A,B,C,D,E)
- \tkzLabelPoints(A,B,C,D,E)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments(A,B C,E)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B,C,D,E)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection method_imeth_line_colinear__at (end)
@@ -615,15 +708,17 @@ If the coefficient is missing then it defaults to $1$ and in the following examp
L.ab = line : new (z.a,z.b)
z.c = L.ab : normalize ()
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[gridded]
-\tkzGetNodes
-\tkzDrawSegments(a,b)
-\tkzDrawCircle(a,c)
-\tkzDrawPoints(a,b,c)
-\tkzLabelPoints(a,b,c)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawSegments(a,b)
+ \tkzDrawCircle(a,c)
+ \tkzDrawPoints(a,b,c)
+ \tkzLabelPoints(a,b,c)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection normalize (end)
@@ -654,16 +749,19 @@ If the coefficient is missing then it defaults to $1$ and in the following examp
L.AB = line : new ( z.A , z.B )
z.G = L.AB : barycenter (1,2)
\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLine(A,B)
- \tkzDrawPoints(A,B,G)
- \tkzLabelPoints(A,B,G)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLine(A,B)
+ \tkzDrawPoints(A,B,G)
+ \tkzLabelPoints(A,B,G)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection barycenter_with_a_line (end)
-\subsubsection{method \Imeth{line}{ll\_from}} % (fold)
+\subsubsection{Method \Imeth{line}{ll\_from}} % (fold)
\label{ssub:new_line_from_a_defined_line}
\begin{minipage}{0.5\textwidth}
\begin{Verbatim}
@@ -700,20 +798,162 @@ L.CD = line : new (z.C,z.D)
_,z.E = get_points ( L.CD: ll_from (z.B))
-- or z.E = L2.pb with |L2 = L.CD: ll_from (z.B)|
\end{tkzelements}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,D B,E)
+ \tkzDrawPoints(A,...,E)
+ \tkzLabelPoints(A,...,E)
+ \tkzMarkRightAngle(B,A,C)
+ \tkzMarkSegments(A,C A,B A,D)
+ \end{tikzpicture}
+\end{center}
+
+
+\end{minipage}
+ % \caption{New line from defined line}
+% subsubsection new_line_from_a_defined_line (end)
+
+\subsubsection{Method \Imeth{line}{ortho\_from}} % (fold)
+\label{ssub:newline_ortho_from}
+\begin{minipage}{0.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new (1,1)
+ z.B = point : new (3,2)
+ L.AB = line : new (z.A,z.B)
+ z.C = point : new (1,3)
+ L.CD = L.AB : ortho_from(z.C)
+ z.D = L.CD.pb
+\end{tkzelements}
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(A,B C,D B,E)
-\tkzDrawPoints(A,...,E)
-\tkzLabelPoints(A,...,E)
-\tkzMarkRightAngle(B,A,C)
-\tkzMarkSegments(A,C A,B A,D)
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,D)
+ \tkzDrawPoints(A,...,D)
+ \tkzLabelPoints(A,...,D)
\end{tikzpicture}
-\hspace*{\fill}
+\end{Verbatim}
\end{minipage}
- % \caption{New line from defined line}
+\begin{minipage}{0.5\textwidth}
+\begin{tkzelements}
+ z.A = point : new (1,1)
+ z.B = point : new (3,2)
+ L.AB = line : new (z.A,z.B)
+ z.C = point : new (1,3)
+ L.CD = L.AB : ortho_from(z.C)
+ z.D = L.CD.pb
+\end{tkzelements}
+
+\begin{center}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,D)
+ \tkzDrawPoints(A,...,D)
+ \tkzLabelPoints(A,...,D)
+\end{tikzpicture}
+\end{center}
+
+
+\end{minipage}
+
% subsubsection new_line_from_a_defined_line (end)
+\subsubsection{Method \Imeth{line}{mediator}} % (fold)
+\label{ssub:method_imeth_line_mediator}
+
+In Mathworld, the mediator is the plane through the midpoint of a line segment and perpendicular to that segment, also called a mediating plane. The term "mediator" was introduced by J. Neuberg (Altshiller-Court 1979, p. 298). Here, I have adopted the French term and the mediator or
+the perpendicular bisector of a line segment, is a line segment perpendicular to the segment and passing through the midpoint of this segment.
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ L.AB = line: new (z.A,z.B)
+ L.med = L.AB : mediator ()
+ z.M = L.AB.mid
+ z.x,z.y= get_points(L.med)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawLine(A,B)
+\tkzDrawSegments(x,y)
+\tkzDrawPoints(A,B,M)
+\tkzLabelPoints(A,B)
+\tkzLabelPoints[below left](x,y,M)
+\tkzMarkSegments(A,M M,B)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ L.AB = line: new (z.A,z.B)
+ L.med = L.AB : mediator ()
+ z.M = L.AB.mid
+ z.x,z.y= get_points(L.med)
+\end{tkzelements}
+\begin{center}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawLine(A,B)
+\tkzDrawSegments(x,y)
+\tkzDrawPoints(A,B,M)
+\tkzLabelPoints(A,B)
+\tkzLabelPoints[below left](x,y,M)
+\tkzMarkSegments(A,M M,B)
+\end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_line_mediator (end)
+
+\subsubsection{Method \Imeth{line}{equilateral}} % (fold)
+\label{ssub:method_imeth_line_equilateral}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ L.AB = line: new (z.A,z.B)
+ T.ABC = L.AB : equilateral ()
+ z.C = T.ABC.pc
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawLine(A,B)
+\tkzDrawPolygon(A,B,C)
+\tkzMarkSegments(A,B B,C C,A)
+\tkzDrawPoints(A,B,C)
+\tkzMarkAngles(B,A,C C,B,A A,C,B)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new(0,0)
+ z.B = point: new(5,0)
+ L.AB = line: new (z.A,z.B)
+ T.ABC = L.AB : equilateral ()
+ z.C = T.ABC.pc
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLine(A,B)
+ \tkzDrawPolygon(A,B,C)
+ \tkzMarkSegments(A,B B,C C,A)
+ \tkzDrawPoints(A,B,C)
+ \tkzMarkAngles(B,A,C C,B,A A,C,B)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_line_equilateral (end)
\subsubsection{Method \Imeth{line}{projection}} % (fold)
\label{ssub:example_projection_of_several_points}
@@ -746,14 +986,16 @@ z.d = point: new (5, 2)
L.ab = line: new (z.a,z.b)
z.cp,z.dp = L.ab : projection(z.c,z.d)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(a,b c,c' d,d')
-\tkzDrawPoints(a,...,d,c',d')
-\tkzLabelPoints(a,...,d,c',d')
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(a,b c,c' d,d')
+ \tkzDrawPoints(a,...,d,c',d')
+ \tkzLabelPoints(a,...,d,c',d')
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% \caption{Projection of several points}
@@ -809,23 +1051,26 @@ L.ab = C.OA : tangent_at (z.A)
z.a,z.b = L.ab.pa,L.ab.pb
-- or z.a,z.b = get_points (L.ab)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawCircle(O,A)
-\tkzDrawSegments[purple](O,A O,B O,H)
-\tkzDrawArc[red](O,A)(B)
-\tkzDrawArc[blue](O,B)(A)
-\tkzDrawLine[add = 2 and 1](A,a)
-\tkzFillAngles[teal!30,opacity=.4,,size=.5](A,C,B b,A,B A,O,H)
-\tkzMarkAngles[mark=|,size=.5](A,C,B b,A,B A,O,H H,O,B)
-\tkzDrawPoints(A,B,C,H,O)
-\tkzLabelPoints(B,H)
-\tkzLabelPoints[above](O,C)
-\tkzLabelPoints[left](A)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawSegments[purple](O,A O,B O,H)
+ \tkzDrawArc[red](O,A)(B)
+ \tkzDrawArc[blue](O,B)(A)
+ \tkzDrawLine[add = 2 and 1](A,a)
+ \tkzFillAngles[teal!30,opacity=.4,,size=.5](A,C,B b,A,B A,O,H)
+ \tkzMarkAngles[mark=|,size=.5](A,C,B b,A,B A,O,H H,O,B)
+ \tkzDrawPoints(A,B,C,H,O)
+ \tkzLabelPoints(B,H)
+ \tkzLabelPoints[above](O,C)
+ \tkzLabelPoints[left](A)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsubsection example_combination_of_methods (end)
@@ -860,63 +1105,21 @@ z.a,z.b = L.ab.pa,L.ab.pb
L.AB = line : new (z.A,z.B)
z.E,z.F = L.AB : translation (z.C,z.D)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints(A,...,F)
-\tkzLabelPoints(A,...,F)
-\tkzDrawSegments[->,red,> =latex](C,E D,F A,B) )
-\end{tikzpicture}
-\hspace*{\fill}
-\end{minipage}
-% subsubsection example_translation (end)
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,...,F)
+ \tkzLabelPoints(A,...,F)
+ \tkzDrawSegments[->,red,> =latex](C,E D,F A,B) )
+ \end{tikzpicture}
+\end{center}
-\subsubsection{Method \Imeth{line}{distance}} % (fold)
-\label{ssub:example_distance_and_projection}
-\begin{minipage}{0.5\textwidth}
-\begin{Verbatim}
-\begin{tkzelements}
- z.A = point : new (0 , 0)
- z.B = point : new (5 , -2)
- z.C = point : new (3 , 3)
- L.AB = line : new (z.A,z.B)
- d = L.AB : distance (z.C)
- z.H = L.AB : projection (z.C)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLines(A,B C,H)
- \tkzDrawPoints(A,B,C,H)
- \tkzLabelPoints(A,B,C,H)
- \tkzLabelSegment[above left,
- draw](C,H){$CH = \tkzUseLua{d}$}
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}{0.5\textwidth}
-\begin{tkzelements}
- z.A = point : new (0 , 0)
- z.B = point : new (5 , -2)
- z.C = point : new (3 , 3)
- L.AB = line : new (z.A,z.B)
- d = L.AB : distance (z.C)
- z.H = L.AB : projection (z.C)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(A,B C,H)
-\tkzDrawPoints(A,B,C,H)
-\tkzLabelPoints(A,B,C,H)
-\tkzLabelSegment[above left,draw](C,H){$CH = \tkzUseLua{d}$}
-\end{tikzpicture}
-\hspace*{\fill}
\end{minipage}
-% \caption{Method distance with line object}
-% subsubsection example_distance_and_projection (end)
+% subsubsection example_translation (end)
+
\subsubsection{Method \Imeth{line}{reflection} of an object} % (fold)
\label{ssub:reflection_of_object}
@@ -955,19 +1158,72 @@ z.a,z.b = L.ab.pa,L.ab.pb
T.new = L.AB : reflection (T.EFG)
z.Ep,z.Fp,z.Gp = get_points(T.new)
\end{tkzelements}
-\hspace{\fill}\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLine(A,B)
- \tkzDrawPolygon(E,F,G)
- \tkzDrawPolygon[new](E',F',G')
- \tkzDrawSegment[red,dashed](E,E')
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLine(A,B)
+ \tkzDrawPolygon(E,F,G)
+ \tkzDrawPolygon[new](E',F',G')
+ \tkzDrawSegment[red,dashed](E,E')
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection reflection_of_object (end)
+\subsubsection{Method \Imeth{line}{distance}} % (fold)
+\label{ssub:example_distance_and_projection}
+
+\begin{minipage}{0.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (5 , -2)
+ z.C = point : new (3 , 3)
+ L.AB = line : new (z.A,z.B)
+ d = L.AB : distance (z.C)
+ z.H = L.AB : projection (z.C)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,H)
+ \tkzDrawPoints(A,B,C,H)
+ \tkzLabelPoints(A,B,C,H)
+ \tkzLabelSegment[above left,
+ draw](C,H){$CH = \tkzUseLua{d}$}
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{0.5\textwidth}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (5 , -2)
+ z.C = point : new (3 , 3)
+ L.AB = line : new (z.A,z.B)
+ d = L.AB : distance (z.C)
+ z.H = L.AB : projection (z.C)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B C,H)
+ \tkzDrawPoints(A,B,C,H)
+ \tkzLabelPoints(A,B,C,H)
+ \tkzLabelSegment[above left,draw](C,H){$CH = \tkzUseLua{d}$}
+ \end{tikzpicture}
+\end{center}
-\subsection{Method \Imeth{line}{apollonius} Apollonius circle MA/MB = k} % (fold)
-\label{sub:apollonius_circle_ma_mb_k}
+
+\end{minipage}
+
+% \caption{Method distance with line object}
+% subsubsection example_distance_and_projection (end)
+
+
+\subsubsection{Method \Imeth{line}{apollonius} (Apollonius circle MA/MB = k)} % (fold)
+\label{ssub:apollonius_circle_ma_mb_k}
\begin{Verbatim}
\begin{tkzelements}
@@ -984,14 +1240,15 @@ z.a,z.b = L.ab.pa,L.ab.pb
\tkzFillCircle[blue!20,opacity=.2](O,C)
\tkzDrawCircle[blue!50!black](O,C)
\tkzDrawPoints(A,B,O,C,D,P)
- \tkzLabelPoints[below right](A,B,O,C,D,P)
\tkzDrawSegments[orange](P,A P,B P,D B,D P,C)
\tkzDrawSegments[red](A,C)
\tkzDrawPoints(A,B)
\tkzLabelCircle[draw,fill=green!10,%
text width=3cm,text centered,left=24pt](O,D)(60)%
{$CA/CB=2$\\$PA/PB=2$\\$DA/DB=2$}
- \tkzMarkRightAngle[opacity=.3,fill=lightgray](O,P,C)
+ \tkzLabelPoints[below right](A,B,O,C,D)
+ \tkzLabelPoints[above](P)
+ \tkzMarkRightAngle[opacity=.3,fill=lightgray](D,P,C)
\tkzMarkAngles[mark=||](A,P,D D,P,B)
\end{tikzpicture}
\end{Verbatim}
@@ -1006,24 +1263,28 @@ z.D = C.apo : antipode (z.C)
z.P = C.apo : point (0.30)
\end{tkzelements}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzFillCircle[blue!20,opacity=.2](O,C)
-\tkzDrawCircle[blue!50!black](O,C)
-\tkzDrawPoints(A,B,O,C,D,P)
-\tkzLabelPoints[below right](A,B,O,C,D,P)
-\tkzDrawSegments[orange](P,A P,B P,D B,D P,C)
-\tkzDrawSegments[red](A,C)
-\tkzDrawPoints(A,B)
-\tkzLabelCircle[draw,fill=green!10,%
- text width=3cm,text centered,left=24pt](O,D)(60)%
- {$CA/CB=2$\\$PA/PB=2$\\$DA/DB=2$}
-\tkzMarkRightAngle[opacity=.3,fill=lightgray](O,P,C)
-\tkzMarkAngles[mark=||](A,P,D D,P,B)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzFillCircle[blue!20,opacity=.2](O,C)
+ \tkzDrawCircle[blue!50!black](O,C)
+ \tkzDrawPoints(A,B,O,C,D,P)
+ \tkzDrawSegments[orange](P,A P,B P,D B,D P,C)
+ \tkzDrawSegments[red](A,C)
+ \tkzDrawPoints(A,B)
+ \tkzLabelCircle[draw,fill=green!10,%
+ text width=3cm,text centered,left=24pt](O,D)(60)%
+ {$CA/CB=2$\\$PA/PB=2$\\$DA/DB=2$}
+ \tkzLabelPoints[below right](A,B,O,C,D)
+ \tkzLabelPoints[above](P)
+ \tkzMarkRightAngle[opacity=.3,fill=lightgray](D,P,C)
+ \tkzMarkAngles[mark=||](A,P,D D,P,B)
+ \end{tikzpicture}
+\end{center}
+
Remark: |\tkzUseLua{length(z.P,z.A)/length(z.P,z.B)}| = \tkzUseLua{length(z.P,z.A)/length(z.P,z.B)}
-% subsection apollonius_circle_ma_mb_k (end)
+% subsubsection apollonius_circle_ma_mb_k (end)
% subsection methods_from_class_line (end)
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-matrices.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-matrices.tex
index 04b874532d..d533511fbe 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-matrices.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-matrices.tex
@@ -15,7 +15,7 @@ This \code{matrix} class has been created to avoid the need for an external libr
\begin{itemize}
-\item The first method is: (Refer to \ref{ssub:method_new})
+\item The first method is: [\ref{ssub:method_new}]
\begin{minipage}{.5\textwidth}
\begin{mybox}
@@ -33,13 +33,13 @@ This \code{matrix} class has been created to avoid the need for an external libr
\end{minipage}
-\item It is also possible to obtain a square matrix with: (Refer to \ref{ssub:method_square})
+\item It is also possible to obtain a square matrix with: [\ref{ssub:method_square}]
\begin{mybox}
|M = matrix : square (2,a,b,c,d)|
\end{mybox}
-\item In the case of a column vector: (Refer to \ref{ssub:method_vector})
+\item In the case of a column vector: [\ref{ssub:method_vector}]
\begin{minipage}{.5\textwidth}
\begin{mybox}
@@ -52,7 +52,7 @@ This \code{matrix} class has been created to avoid the need for an external libr
\end{tkzelements}
\end{minipage}
-\item Homogeneous transformation matrix (Refer to \ref{ssub:method_htm})
+\item Homogeneous transformation matrix [\ref{ssub:method_htm}]
The objective is to generate a matrix with homogeneous coordinates capable of transforming a coordinate system through rotation, translation, and scaling. To achieve this, it is necessary to define both the rotation angle, the coordinates of the new origin ans the scaling factors.
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-misc.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-misc.tex
index c8c5cccd8f..e80a292858 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-misc.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-misc.tex
@@ -17,11 +17,11 @@
%tkzround( num, idp ) & \\
% Cramer33(a1,a2,a3,b1,b2,b3,c1,c2,c3) & \\
% Cramer22(a1,a2,b1,b2) & \\
-\Igfct{math}{length (a,b) } & point.abs(a-b) Refer to (\ref{ssub:report_de_distance}) \\
+\Igfct{math}{length (a,b) } & point.abs(a-b) [\ref{sub:report_de_distance}] \\
\Igfct{math}{islinear (z1,z2,z3) } & Are the points aligned? (z2-z1) $\parallel$ (z3-z1) ? \\
\Igfct{math}{isortho (z1,z2,z3)} & (z2-z1) $\perp$ (z3-z1) ? boolean\\
-\Igfct{math}{get\_angle (z1,z2,z3)} & the vertex is z1 Refer to (\ref{sub:get_angle}) \\
-\Igfct{math}{bisector (z1,z2,z3)} & L.Aa = bisector (z.A,z.B,z.C) from A (\ref{sub:get_angle})\\
+\Igfct{math}{get\_angle (z1,z2,z3)} & the vertex is z1 [\ref{sub:get_angle}] \\
+\Igfct{math}{bisector (z1,z2,z3)} & L.Aa = bisector (z.A,z.B,z.C) from A [\ref{sub:get_angle}] \\
\Igfct{math}{bisector\_ext (z1,z2,z3)} & L.Aa = bisector_ext (z.A,z.B,z.C) from A \\
\Igfct{math}{altitude (z1,z2,z3)} & altitude from z1 \\
\Igfct{package}{set\_lua\_to\_tex (list)} & set\_lua\_to\_tex('a','n') defines |\a| and |\n| \\
@@ -31,7 +31,7 @@
\Igfct{math}{real (v) } & apply | value /scale | \\
\Igfct{math}{angle\_normalize (an) } & to get a value between 0 and $2\pi$ \\
\Igfct{misc}{barycenter (\{z1,n1\},\{z2,n2\}, ...)} & barycenter of list of points \\
-\Igfct{math}{solve\_quadratic (a,b,c) } & gives the solution of $ax^2+bx+c =0$ a,b,c real or complex (Refer to \ref{ssub:function_solve__quadratic})\\
+\Igfct{math}{solve\_quadratic (a,b,c) } & gives the solution of $ax^2+bx+c =0$ a,b,c real or complex [\ref{ssub:function_solve__quadratic}] \\
\bottomrule
\end{tabular}
\egroup
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex
index e404dc763b..0da8f16b78 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-point.tex
@@ -92,7 +92,6 @@ The creation of a point is done using the following method, but there are other
This is the creation of a fixed point with coordinates 1 and 2 and which is named $A$. The notation |z.A| indicates that the coordinates will be stored in a table denoted as |z| (reference to the notation of the affixes of the complex numbers) that $A$ is the name of the point and the key allowing access to the values.
-
\begin{center}
\bgroup
\small
@@ -101,21 +100,18 @@ This is the creation of a fixed point with coordinates 1 and 2 and which is name
\begin{tabular}{lll}
\toprule
\textbf{Attributes} & \textbf{Application}& \textbf{Example}\\
- \Iattr{point}{re} & |z.A.re = 1| & Refer to (\ref{ssub:methods}) \\
- \Iattr{point}{im} & |z.A.im = 2| & Refer to (\ref{ssub:methods}) \\
+ \Iattr{point}{re} & |z.A.re = 1| & [\ref{ssub:methods}] \\
+ \Iattr{point}{im} & |z.A.im = 2| & [\ref{ssub:methods}] \\
\Iattr{point}{type} & |z.A.type = 'point'| & \\
- \Iattr{point}{argument} & |z.A.argument $\approx$ 0.78539816339745| & Refer to (\ref{ssub:example_point_attributes})\\
- \Iattr{point}{modulus} & |z.A.modulus| $\approx$ |2.2360...| =$\sqrt{5}$ & Refer to (\ref{ssub:example_point_attributes})\\
+ \Iattr{point}{argument} & |z.A.argument $\approx$ 0.78539816339745| & [\ref{ssub:example_point_attributes}] \\
+ \Iattr{point}{modulus} & |z.A.modulus| $\approx$ |2.2360...| =$\sqrt{5}$ & [\ref{ssub:example_point_attributes}] \\
\bottomrule
\end{tabular}
\egroup
\end{center}
-
-
-
\newpage
-\subsubsection{Example:point attributes} % (fold)
+\subsubsection{Example: point attributes} % (fold)
\label{ssub:example_point_attributes}
\begin{tkzelements}
@@ -189,7 +185,7 @@ Attributes of \texttt{z.M}
\end{center}
\MakeShortVerb{\|}
- \hspace*{\fill}
+
% \caption{Class Point}
% subsubsection example_point_attributes (end)
% subsection attributes_of_a_point (end)
@@ -225,19 +221,20 @@ Attributes of \texttt{z.M}
z.O = point : new ( 0 , 0 )
z.I = point : new ( 1 , 0 )
\end{tkzelements}
- \hspace{\fill}\begin{tikzpicture}
- \tkzGetNodes
- \tkzInit[xmin=-4,ymin=-4,xmax=4,ymax=4]
- \tkzDrawCircle[dashed,red](O,A)
- \tkzPointShowCoord(A)
- \tkzDrawPoint(A)
- \tkzLabelPoint[above right](A){\normalsize $a+ib$}
- \tkzDrawX\tkzDrawY
- \tkzDrawSegment(O,A)
- \tkzLabelSegment[above,anchor=south,sloped](O,A){ OA = modulus of $z_A$}
- \tkzLabelAngle[anchor=west,pos=.5](I,O,A){$\theta$ = argument of $z_A$}
- \end{tikzpicture}
- \hspace{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzInit[xmin=-4,ymin=-4,xmax=4,ymax=4]
+ \tkzDrawCircle[dashed,red](O,A)
+ \tkzPointShowCoord(A)
+ \tkzDrawPoint(A)
+ \tkzLabelPoint[above right](A){\normalsize $a+ib$}
+ \tkzDrawX\tkzDrawY
+ \tkzDrawSegment(O,A)
+ \tkzLabelSegment[above,anchor=south,sloped](O,A){ OA = modulus of $z_A$}
+ \tkzLabelAngle[anchor=west,pos=.5](I,O,A){$\theta$ = argument of $z_A$}
+ \end{tikzpicture}
+\end{center}
\end{minipage}
@@ -257,37 +254,37 @@ The methods described in the following table are standard and can be found in mo
\toprule
\textbf{Functions} & \textbf{Application}& \\
\midrule
-\Igfct{point}{new(r,r)} & |z.A = point : new(1,2)| & Refer to (\ref{ssub:method_normalize}) \\
-\Igfct{point}{polar (d,an)} & |z.A = point : polar(1,math.pi/3)| & Refer to (\ref{sub:archimedes} )\\
+\Igfct{point}{new(r,r)} & |z.A = point : new(1,2)| & [\ref{ssub:method_normalize}] \\
+\Igfct{point}{polar (d,an)} & |z.A = point : polar(1,math.pi/3)| & [\ref{sub:archimedes}] \\
\Igfct{point}{polar\_deg (d,an)} & an in deg & polar coordinates an deg \\
\midrule
\textbf{Methods} & \textbf{Application}& \\
\midrule
\textbf{Points} &&\\
\midrule
-\Imeth{point}{north(r)} & |r| distance to the point (1 if empty) & Refer to (\ref{sub:power_v2}) ; \ref{ssub:methods}) \\
+\Imeth{point}{north(r)} & |r| distance to the point (1 if empty) & [\ref{par:power_v2} ; \ref{ssub:methods}] \\
\Imeth{point}{south(r)} & & \\
\Imeth{point}{east(r)} & & \\
\Imeth{point}{west(r)} & & \\
-\Imeth{point}{normalize()} & |z.b = z.a: normalize ()| & Refer to (\ref{ssub:method_normalize}) \\
-\Imeth{point}{get\_points (obj)} & retrieves points from the object & \\
-\Imeth{point}{orthogonal (d)} & |z.B=z.A:orthogonal(d)| & $\overrightarrow{OB}\perp \overrightarrow{OA}$ and $OB=d$\\
-\Imeth{point}{at ()} & |z.X = z.B : at (z.A)| & $\overrightarrow{OB}= \overrightarrow{AX}$ and $OB=d$\\
+\Imeth{point}{normalize()} & |z.b = z.a: normalize ()| & [\ref{ssub:method_normalize}] \\
+\Imeth{point}{get\_points (obj)} & retrieves points from the object & [\ref{ssub:object_rotation}; \ref{ssub:apollonius_circle_ma_mb_k} ] \\
+\Imeth{point}{orthogonal (d)} & |z.B=z.A:orthogonal(d)| & $\overrightarrow{OB}\perp \overrightarrow{OA}$ and $OB=d$. [\ref{ssub:orthogonal_method}]\\
+\Imeth{point}{at ()} & |z.X = z.B : at (z.A)| & $\overrightarrow{OB}= \overrightarrow{AX}$ and $OB=d$. [\ref{ssub:_imeth_point_at_method}] \\
\midrule
\textbf{Transformations} &&\\
\midrule
- \Imeth{point}{symmetry(obj)} & obj : point, line, etc. & Refer to (\ref{ssub:object_symmetry}) \\
- \Imeth{point}{rotation(an , obj)} & point, line, etc. & Refer to (\ref{ssub:object_rotation})\\
- \Imeth{point}{homothety(r,obj)} & |z.c = z.a : homothety (2,z.b)| & Refer to (\ref{sub:homothety}) \\
+ \Imeth{point}{symmetry(obj)} & obj : point, line, etc. & [\ref{ssub:object_symmetry}] \\
+ \Imeth{point}{rotation(an , obj)} & point, line, etc. & [\ref{ssub:object_rotation}] \\
+ \Imeth{point}{homothety(r,obj)} & |z.c = z.a : homothety (2,z.b)| & [\ref{sub:homothety}] \\
\midrule
\textbf{Misc.} &&\\
\midrule
- \Imeth{point}{print()} & displays the affix of the point & Refer to (\ref{ssub:object_symmetry}) \\
+ \Imeth{point}{print()} & displays the affix of the point & [\ref{ssub:object_symmetry} ]\\
\bottomrule %
\end{tabular}
\egroup
-\subsubsection{Example: method \Imeth{point}{north (d)} } % (fold)
+\subsubsection{Method \Imeth{point}{north (d)} } % (fold)
\label{ssub:example_method_imeth_point_north_d}
This function defines a point located on a vertical line passing through the given point. This function is useful if you want to report a certain distance (Refer to the following example).
@@ -320,71 +317,21 @@ If |d| is absent then it is considered equal to 1.
z.C = z.O : west ()
z.D = z.O : south ()
\end{tkzelements}
-\hspace{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C,D)
- \tkzDrawPoints(A,B,C,D,O,A')
- \tkzLabelPoints(A,B,C,D,O,A')
-\end{tikzpicture}
-\end{minipage}
-% subsubsection example_method_imeth_point_north_d (end)
-
-\subsubsection{Length transfer} % (fold)
-\label{ssub:report_de_distance}
-
-Use of |north and east| functions linked to points, to transfer lengths, Refer to (\ref{sub:length_of_a_segment})
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C,D)
+ \tkzDrawPoints(A,B,C,D,O,A')
+ \tkzLabelPoints(A,B,C,D,O,A')
+ \end{tikzpicture}
+\end{center}
-\begin{minipage}{.4\textwidth}
-\begin{Verbatim}
-\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 3 , 0 )
- L.AB = line : new ( z.A , z.B )
- T.ABC = L.AB : sublime ()
- z.C = T.ABC.pc
- z.D = z.B: north (length(z.B,z.C))
- z.E = z.B: east (L.AB.length)
- z.M = L.AB.mid
- z.F = z.E : north (length(z.C,z.M))
-\end{tkzelements}
-\begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
- \tkzDrawPoints(A,...,F)
- \tkzLabelPoints(A,B,E,M)
- \tkzLabelPoints[above right](C,D,F)
-\end{tikzpicture}
-\end{Verbatim}
\end{minipage}
-\begin{minipage}{.6\textwidth}
-\begin{tkzelements}
- z.A = point : new ( 0 , 0 )
- z.B = point : new ( 3 , 0 )
- L.AB = line : new ( z.A , z.B )
- T.ABC = L.AB : sublime ()
- z.C = T.ABC.pc
- z.D = z.B: north (length(z.B,z.C))
- z.E = z.B: east (L.AB.length)
- z.M = L.AB.mid
- z.F = z.E : north (length(z.C,z.M))
-\end{tkzelements}
-\hspace{\fill}
-\begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawPolygons(A,B,C)
- \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
- \tkzDrawPoints(A,...,F)
- \tkzLabelPoints(A,B,E,M)
- \tkzLabelPoints[above right](C,D,F)
-\end{tikzpicture}
-\end{minipage}
-% subsubsection report_de_distance (end)
+% subsubsection example_method_imeth_point_north_d (end)
-\subsubsection{Example: method \Imeth{point}{polar} } % (fold)
+\subsubsection{Method \Imeth{point}{polar} } % (fold)
\label{ssub:example_polar_method}
This involves defining a point using its modulus and argument.
@@ -402,7 +349,8 @@ This involves defining a point using its modulus and argument.
\tkzDrawSegments[new](O,A)
\tkzDrawSegments[purple](O,F)
\tkzDrawPoints(A,O,F)
- \tkzLabelPoints[below right=6pt](A,O,F)
+ \tkzLabelPoints[below right=6pt](A,O)
+ \tkzLabelPoints[above](F)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
@@ -413,16 +361,20 @@ This involves defining a point using its modulus and argument.
z.A = point: new (3, 0)
z.F = point: polar (3, math.pi/3)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzDrawSegments[new](O,A)
-\tkzDrawSegments[purple](O,F)
-\tkzDrawPoints(A,O,F)
-\tkzLabelPoints(A,O,F)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzDrawSegments[new](O,A)
+ \tkzDrawSegments[purple](O,F)
+ \tkzDrawPoints(A,O,F)
+ \tkzLabelPoints[below right=6pt](A,O)
+ \tkzLabelPoints[above](F)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsubsection example_polar_method (end)
@@ -431,7 +383,26 @@ This involves defining a point using its modulus and argument.
The result is a point located between the origin and the initial point at a distance of $1$ from the origin.
-\begin{minipage}{.4\textwidth}
+\begin{tkzelements}
+scale = 1.5
+z.O = point : new (0,0)
+z.A = point : new (2,1)
+z.B = z.A : normalize ()
+z.I = point : new (1,0)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegment(O,A)
+ \tkzDrawCircle(O,B)
+ \tkzDrawPoints(O,A,B,I)
+ \tkzLabelPoints(O,A)
+ \tkzLabelPoints[above](B)
+ \tkzLabelPoint[below right](I){$1$}
+ \end{tikzpicture}
+\end{center}
+
\begin{Verbatim}
\begin{tkzelements}
scale = 1.5
@@ -449,29 +420,11 @@ The result is a point located between the origin and the initial point at a dist
\tkzLabelPoint[below right](I){$1$}
\end{tikzpicture}
\end{Verbatim}
-\end{minipage}
-\begin{minipage}{.6\textwidth}
-\begin{tkzelements}
-scale = 1.5
-z.O = point : new (0,0)
-z.A = point : new (1,2)
-z.B = z.A : normalize ()
-z.I = point : new (1,0)
-\end{tkzelements}
- \hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawSegment(O,A)
-\tkzDrawCircle(O,B)
-\tkzDrawPoints(O,A,B,I)
-\tkzLabelPoints(O,A,B)
-\tkzLabelPoint[below right](I){$1$}
-\end{tikzpicture}
- \hspace*{\fill}
-\end{minipage}
+
+
% subsubsection method_normalize (end)
-\subsubsection{\Imeth{point}{Orthogonal (d)} method} % (fold)
+\subsubsection{Method \Imeth{point}{orthogonal (d)}} % (fold)
\label{ssub:orthogonal_method}
Let $O$ be the origin of the plane. The "orthogonal (d)" method is used to obtain a point $B$ from a point $A$ such that $\overrightarrow{OB}\perp \overrightarrow{OA}$ with $OB=OA$ if $d$ is empty, otherwise $OB = d$.
@@ -499,16 +452,19 @@ Let $O$ be the origin of the plane. The "orthogonal (d)" method is used to obtai
z.O = point : new ( 0,0 )
z.C = z.A : orthogonal ()
\end{tkzelements}
-\begin{tikzpicture}[gridded]
- \tkzGetNodes
- \tkzDrawSegments(O,A O,C)
- \tkzDrawPoints(O,A,B,C)
- \tkzLabelPoints[below right](O,A,B,C)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawSegments(O,A O,C)
+ \tkzDrawPoints(O,A,B,C)
+ \tkzLabelPoints[below right](O,A,B,C)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection orthogonal_method (end)
-\subsubsection{\Imeth{point}{at} method} % (fold)
+\subsubsection{Method \Imeth{point}{at}} % (fold)
\label{ssub:_imeth_point_at_method}
This method is complementary to the previous one, so you may not wish to have $\overrightarrow{OB}\perp \overrightarrow{OA}$ but $\overrightarrow{AB}\perp \overrightarrow{OA}$.
@@ -521,14 +477,16 @@ This method is complementary to the previous one, so you may not wish to have $\
z.O = point : new ( 0,0 )
-- z.B = z.B : at (z.A) -- or
z.B = z.A : orthogonal (1) : at (z.A)
+ z.E = z.A : orthogonal (1)
z.C = z.A+z.B
z.D =(z.C-z.A):orthogonal(2) : at (z.C)
\end{tkzelements}
\begin{tikzpicture}[gridded]
\tkzGetNodes
- \tkzLabelPoints[below right](O,A,B,C,D)
- \tkzDrawSegments(O,A A,B A,C C,D)
- \tkzDrawPoints(O,A,B,C,D)
+ \tkzLabelPoints[below right](O,A,C)
+ \tkzLabelPoints[above](B,D,E)
+ \tkzDrawSegments(O,A A,B A,C C,D O,E)
+ \tkzDrawPoints(O,A,B,C,D,E)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
@@ -539,20 +497,24 @@ z.B = z.A : orthogonal (1)
z.O = point : new ( 0,0 )
-- z.B = z.B : at (z.A) -- or
z.B = z.A : orthogonal (1) : at (z.A)
+z.E = z.A : orthogonal (1)
z.C = z.A+z.B
z.D =(z.C-z.A):orthogonal(2) : at (z.C)
\end{tkzelements}
-\begin{tikzpicture}[gridded]
-\tkzGetNodes
-\tkzLabelPoints[below right](O,A,B,C,D)
-\tkzDrawSegments(O,A A,B A,C C,D)
-\tkzDrawPoints(O,A,B,C,D)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzLabelPoints[below right](O,A,C)
+ \tkzLabelPoints[above](B,D,E)
+ \tkzDrawSegments(O,A A,B A,C C,D O,E)
+ \tkzDrawPoints(O,A,B,C,D,E)
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsubsection _imeth_point_at_method (end)
-\subsubsection{Example: \Imeth{point}{rotation of points}} % (fold)
+\subsubsection{Method \Imeth{point}{rotation} first example} % (fold)
\label{ssub:example_rotation_of_points}
The arguments are the angle of rotation in radians, and here a list of points.
@@ -565,26 +527,27 @@ The arguments are the angle of rotation in radians, and here a list of points.
z.o = point: new(6, -2)
z.ap,z.bp = z.o : rotation (math.pi/2,z.a,z.b)
\end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLines(o,a o,a' o,b o,b')
- \tkzDrawPoints(a,a',b,b',o)
- \tkzLabelPoints(b,b',o)
- \tkzLabelPoints[below left](a,a')
- \tkzDrawArc(o,a)(a')
- \tkzDrawArc(o,b)(b')
- \end{tikzpicture}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(o,a o,a' o,b o,b')
+ \tkzDrawPoints(a,a',b,b',o)
+ \tkzLabelPoints(b,b',o)
+ \tkzLabelPoints[below left](a,a')
+ \tkzDrawArc(o,a)(a')
+ \tkzDrawArc(o,b)(b')
+ \end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.4\textwidth}
\begin{tkzelements}
- scale = .5
+ scale = .5
z.a = point: new(0, -1)
z.b = point: new(4, 0)
z.o = point: new(6, -2)
z.ap,z.bp = z.o : rotation (math.pi/2,z.a,z.b)
\end{tkzelements}
-\hspace*{\fill}
+
+\begin{center}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawLines(o,a o,a' o,b o,b')
@@ -594,16 +557,16 @@ The arguments are the angle of rotation in radians, and here a list of points.
\tkzDrawArc(o,a)(a')
\tkzDrawArc(o,b)(b')
\end{tikzpicture}
-\hspace*{\fill}
+\end{center}
\end{minipage}
% subsubsection example_rotation_of_points (end)
-\subsubsection{Object \Imeth{point}{rotation}} % (fold)
+\subsubsection{Method \Imeth{point}{rotation} second example} % (fold)
\label{ssub:object_rotation}
Rotate a triangle by an angle of $\pi/6$ around $O$.
\begin{minipage}{.5\textwidth}
- \begin{Verbatim}
+\begin{Verbatim}
\begin{tkzelements}
scale = .75
z.O = point : new ( -1 , -1 )
@@ -619,13 +582,12 @@ Rotate a triangle by an angle of $\pi/6$ around $O$.
T.ApBpCp = z.O : rotation (math.pi/3,T.ABC)
z.Ap,z.Bp,z.Cp = get_points ( T.ApBpCp)
\end{tkzelements}
-
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygons(A,B,C A',B',C' A,B,E,F A',B',E',F')
\tkzDrawPoints (A,B,C,A',B',C',O)
- \tkzLabelPoints (A,B,C,A',B',C',O)
- \tkzDrawArc[delta=0,->](O,A)(A')
+ \tkzLabelPoints (A,B,C,A',B',C',O)
+ \tkzDrawArc[delta=0,->](O,A)(A')
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
@@ -645,61 +607,68 @@ T.ApBpCp = z.O : rotation (math.pi/3,T.ABC)
z.Ap,z.Bp,z.Cp = get_points ( T.ApBpCp)
\end{tkzelements}
-\hspace{\fill}\begin{tikzpicture}
+\begin{center}
+\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygons(A,B,C A',B',C' A,B,E,F A',B',E',F')
\tkzDrawPoints (A,B,C,A',B',C',O)
- \tkzLabelPoints (A,B,C,A',B',C',O)
+ \tkzLabelPoints (A,B,C,A',B',C',O)
\begin{scope}
\tkzDrawArc[delta=0,->,dashed,red](O,A)(A')
\tkzDrawSegments[dashed,red](O,A O,A')
\end{scope}
-
\end{tikzpicture}
+\end{center}
\end{minipage}
% subsubsection object_rotation (end)
-\subsubsection{Object \Imeth{point}{symmetry}} % (fold)
+\subsubsection{Method \Imeth{point}{symmetry}} % (fold)
\label{ssub:object_symmetry}
+
+Example of the symmetry of an object
+
+
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- z.a = point: new(0,-1)
- z.b = point: new(2, 0)
- L.ab = line : new (z.a,z.b)
- C.ab = circle : new (z.a,z.b)
- z.o = point: new(1,1)
- z.ap,z.bp = get_points (z.o: symmetry (C.ab))
+ z.a = point: new(0,-1)
+ z.b = point: new(2, 0)
+ L.ab = line : new (z.a,z.b)
+ C.ab = circle : new (z.a,z.b)
+ z.o = point: new(1,1)
+ z.ap,z.bp = get_points (z.o: symmetry (C.ab))
\end{tkzelements}
-
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(a,b a',b')
-\tkzDrawLines(a,a' b,b')
-\tkzDrawLines[red](a,b a',b')
-\tkzDrawPoints(a,a',b,b',o)
-\tkzLabelPoints(a,a',b,b',o)
+ \tkzGetNodes
+ \tkzDrawCircles(a,b a',b')
+ \tkzDrawLines(a,a' b,b')
+ \tkzDrawLines[red](a,b a',b')
+ \tkzDrawPoints(a,a',b,b',o)
+ \tkzLabelPoints(a,a',b,b',o)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tkzelements}
- z.a = point: new(0, -1)
- z.b = point: new(2, 0)
- L.ab = line : new (z.a,z.b)
- C.ab = circle : new (z.a,z.b)
- z.o = point: new(1, 1)
- z.ap,z.bp = get_points (z.o: symmetry (C.ab))
+ z.a = point: new(0, -1)
+ z.b = point: new(2, 0)
+ L.ab = line : new (z.a,z.b)
+ C.ab = circle : new (z.a,z.b)
+ z.o = point: new(1, 1)
+ z.ap,z.bp = get_points (z.o: symmetry (C.ab))
\end{tkzelements}
-\hspace{\fill}\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(a,b a',b')
-\tkzDrawLines(a,a' b,b')
-\tkzDrawLines[red](a,b a',b')
-\tkzDrawPoints(a,a',b,b',o)
-\tkzLabelPoints(a,a',b,b',o)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(a,b a',b')
+ \tkzDrawLines(a,a' b,b')
+ \tkzDrawLines[red](a,b a',b')
+ \tkzDrawPoints(a,a',b,b',o)
+ \tkzLabelPoints(a,a',b,b',o)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection object_symmetry (end)
% subsection methods_of_the_class_point (end)
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex
index 3ec9e777a6..98b6ac3610 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-regular.tex
@@ -94,7 +94,7 @@ z.H = RP.five.proj
\midrule
\textbf{Points} &\\
\midrule
-\Imeth{regular\_polygon}{name (string)} & Refer to\ref{ssub:pentagon} \\
+\Imeth{regular\_polygon}{name (string)} & [\ref{ssub:pentagon}] \\
\bottomrule %
\end{tabular}
\egroup
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex
index 80b711e46f..b144ed3e01 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-triangle.tex
@@ -21,12 +21,13 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp
\Iattr{triangle}{pb} &T.ABC.pb \\
\Iattr{triangle}{pc} &T.ABC.pc \\
\Iattr{triangle}{type} & 'triangle' \\
-\Iattr{triangle}{circumcenter} & T.ABC.circumcenter\\
+\Iattr{triangle}{circumcenter} & T.ABC.circumcenter; [\ref{ssub:example_triangle_attributes}
+]\\
\Iattr{triangle}{centroid} &T.ABC.centroid\\
\Iattr{triangle}{incenter} &T.ABC.incenter\\
\Iattr{triangle}{orthocenter} &T.ABC.orthocenter\\
\Iattr{triangle}{eulercenter} &T.ABC.eulercenter \\
-\Iattr{triangle}{spiekercenter} &T.ABC.spiekercenter \\
+\Iattr{triangle}{spiekercenter} &T.ABC.spiekercenter; [\ref{ssub:example_apollonius_circle}] \\
\Iattr{triangle}{a}& It's the length of the side opposite the first vertex \\
\Iattr{triangle}{b}& It's the length of the side opposite the second verte\\
\Iattr{triangle}{c}& It's the length of the side opposite the third vertex \\
@@ -116,7 +117,7 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp
\begin{tkzelements}
z.A = point: new (0 , 0)
z.B = point: new (4 , 0)
- z.C = point: new (0 , 3)
+ z.C = point: new (1 , 3)
T.ABC = triangle : new (z.A,z.B,z.C)
z.O = T.ABC.circumcenter
z.I = T.ABC.incenter
@@ -129,18 +130,22 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp
beta = T.ABC.beta
gamma = T.ABC.gamma
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPoints(A,B,C,O,G,I,H)
- \tkzLabelPoints[below](A,B,O,G,I)
- \tkzLabelPoints[above right](H,C)
- \tkzDrawCircles(O,A)
- \tkzLabelSegment[sloped](A,B){\tkzUseLua{c}}
- \tkzLabelSegment[sloped,above](B,C){\tkzUseLua{a}}
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C,O,G,I,H)
+ \tkzDrawCircles(O,A)
+ \tkzLabelPoints[below](A,B,O,G,I)
+ \tkzLabelPoints[above right](H)
+ \tkzLabelPoints[above](C)
+ \tkzLabelSegment[sloped](A,B){\tkzUseLua{c}}
+ \tkzLabelSegment[sloped,above](B,C){\tkzUseLua{a}}
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsubsection example_triangle_attributes (end)
@@ -155,64 +160,95 @@ The triangle object is created using the \Imeth{triangle}{new} method, for examp
\small
\begin{minipage}{\textwidth}
\captionof{table}{triangle methods.}\label{triangle:met}
-\begin{tabular}{ll}
+\begin{tabular}{lll}
\toprule
-\textbf{Methods} & \textbf{Comments} \\
+\textbf{Methods} & \textbf{Comments} & \\
\midrule
-\Imeth{triangle}{new} (a, b ,c) & |T.ABC = triangle : new (z.A,z.B,z.C)| \\
- ... & |T| or |T.name| with what you want for name, is possible.\\
+\Imeth{triangle}{new} (a, b ,c) & |T.ABC = triangle : new (z.A,z.B,z.C)|& [\ref{sub:triangle_attributes_angles}] \footnote{|T| or |T.name| with what you want for name, is possible.} \\
\midrule
- \textbf{Points} &\\
+ \textbf{Points} &&\\
\midrule
-\Imeth{triangle}{lemoine\_point ()} & |T.ABC : lemoine_point ()| intersection os the symmedians\\
-\Imeth{triangle}{symmedian\_point ()} & Lemoine point or the Grebe point \\
-\Imeth{triangle}{bevan\_point ()} & Circumcenter of the excentral triangle\\
-\Imeth{triangle}{mittenpunkt\_point ()} & Symmedian point of the excentral triangle\\
-\Imeth{triangle}{gergonne\_point ()} & Intersection of the three cevians that lead to the contact points \\
-\Imeth{triangle}{nagel\_point () } & Intersection of the three cevians that lead to the extouch points\\
-\Imeth{triangle}{feuerbach\_point () } & The point at which the incircle and euler circle are tangent. \\
-\Imeth{triangle}{spieker\_center ()} & Incenter of the medial triangle \\
-\Imeth{triangle}{barycenter (ka,kb,kc)} & |T.ABC: barycenter (2,1,1)| barycenter of |({A,2},{B,1},{C,1}) |\\
-\Imeth{triangle}{base (u,v) } & |z.D = T.ABC: base(1,1)| \tkzar ABDC is a parallelogram \\
-\Imeth{triangle}{projection (p) } & Projection of a point on the sides \\
-\Imeth{triangle}{euler\_points () } & Euler points of euler circle \\
-\Imeth{triangle}{nine\_points () } & 9 Points of the euler circle \\
-\Imeth{triangle}{parallelogram ()} & |z.D = T.ABC : parallelogram ()| \tkzar ABCD is a parallelogram\\
+\Imeth{triangle}{lemoine\_point ()} & |T.ABC : lemoine_point ()| intersection of the symmedians & [\ref{ssub:method_imeth_line_isosceles}]\\
+
+\Imeth{triangle}{symmedian\_point ()} & Lemoine point or the Grebe point& [\ref{ssub:method_imeth_triangle_symmedial}] \\
+
+\Imeth{triangle}{lemoine\_point ()} & symmedian point or the Grebe point& [\ref{ssub:method_imeth_triangle_symmedial}] \\
+
+\Imeth{triangle}{bevan\_point ()} & Circumcenter of the excentral triangle& [\ref{ssub:methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point}
+]\\
+
+\Imeth{triangle}{mittenpunkt\_point ()} & Symmedian point of the excentral triangle& [\ref{ssub:method_imeth_triangle_mittenpunkt}]\\
+
+\Imeth{triangle}{gergonne\_point ()} & Intersection of the three cevians that lead to the contact points& [\ref{ssub:gergonne_point}]\\
+
+\Imeth{triangle}{nagel\_point () } & Intersection of the three cevians that lead to the extouch points& [\ref{ssub:method_imeth_triangle_nagel__point}]\\
+
+\Imeth{triangle}{feuerbach\_point () } & The point at which the incircle and euler circle are tangent.& [\ref{ssub:method_imeth_triangle_feuerbach}]\\
+
+\Imeth{triangle}{spieker\_center ()} & Incenter of the medial triangle& [\ref{sub:apollonius_circle_v1_with_inversion}]\\
+
+\Imeth{triangle}{barycentric (ka,kb,kc)} & |T.ABC: barycentric (2,1,1)| barycenter of |({A,2},{B,1},{C,1}) |&Remark \footnote{The function \code{barycenter} is used to obtain the barycentre for any number of points }\\
+
+\Imeth{triangle}{base (u,v) } & |z.D = T.ABC: base(1,1)| \tkzar ABDC is a parallelogram & [\ref{ssub:method_imeth_triangle_base}] \\
+\Imeth{triangle}{trilinear (u,v,w) } & |z.D = T.ABC: trilinear(1,1,1)| \tkzar ABDC parallelogram & [\ref{ssub:method_imeth_triangle_trilinear}] \\
+
+\Imeth{triangle}{projection (p) } & Projection of a point on the sides &[\ref{sub:euler_relation}; \ref{ssub:method_imeth_triangle_projection}]\\
+
+\Imeth{triangle}{euler\_points () } & Euler points of euler circle & [\ref{ssub:method_imeth_triangle_euler__points}] \\
+
+\Imeth{triangle}{nine\_points () } & 9 Points of the euler circle & [\ref{ssub:method_imeth_triangle_nine__points}] \\
+
+\Imeth{triangle}{parallelogram ()} & |z.D = T.ABC : parallelogram ()| \tkzar ABCD parallelogram& [\ref{sub:director_circle}]\\
\midrule
- \textbf{Lines} &\\
+ \textbf{Lines} &&\\
\midrule
\Imeth{triangle}{altitude (n) } & |L.AHa = T.ABC : altitude () | n empty or 0 line from $A$
-\footnote{|z.Ha = L.AHa.pb| recovers the common point of the opposite side and altitude. The method |orthic| is usefull.}\\
-\Imeth{triangle}{bisector (n) } & |L.Bb = T.ABC : bisector (1) | n = 1 line from $B$ \footnote{|_,z.b = get_points(L.Bb)| recovers the common point of the opposite side and bisector. }\\
-\Imeth{triangle}{bisector\_ext(n) } & n=2 line from the third vertex.\\
-\Imeth{triangle}{symmedian\_line (n)} & Cevian with respect to Lemoine point. \\
+\footnote{|z.Ha = L.AHa.pb| recovers the common point of the opposite side and altitude. The method |orthic| is usefull. If you don't need to use the triangle object several times, you can obtain a bisector or a altitude with the function |altitude (z.A,z.B,z.C)| ; [ \ref{misc}]}& [\ref{ssub:method_imeth_triangle_altitude} ]\\
+
+\Imeth{triangle}{bisector (n) } & |L.Bb = T.ABC : bisector (1) | n = 1 line from $B$ \footnote{|_,z.b = get_points(L.Bb)| recovers the common point of the opposite side and bisector. If you don't need to use the triangle object several times, you can obtain a bisector with the function |bisector (z.A,z.B,z.C)| [\ref{misc}]}& [\ref{ssub:method_imeth_triangle_bisector}]\\
+
+\Imeth{triangle}{bisector\_ext(n) } & n=2 line from the third vertex.& [\ref{sub:harmonic_division_and_bisector}]\\
+
+\Imeth{triangle}{symmedian\_line (n)} & Cevian with respect to Lemoine point.& [\ref{ssub:method_imeth_triangle_symmedial} ; \ref{ssub:method_imeth_line_isosceles}]\\
+
\Imeth{triangle}{euler\_line () } & the line through $N$ ,$G$, $H$ and $O$ if the triangle is not equilateral
-\footnote{N center of nine points circle, G centroid, H orthocenter , O circum center } \\
-\Imeth{triangle}{antiparallel(pt,n)} & n=0 antiparallel through pt to $(BC)$, n=1 to $(AC)$ etc.\\
+\footnote{N center of nine points circle, G centroid, H orthocenter , O circum center } & [\ref{sub:hexagram}]\\
+
+\Imeth{triangle}{antiparallel(pt,n)} & n=0 antiparallel through pt to $(BC)$, n=1 to $(AC)$ etc.& [\ref{sub:antiparallel_through_lemoine_point}]\\
\midrule
- \textbf{Circles} &\\
+ \textbf{Circles} &&\\
\midrule
\Imeth{triangle}{euler\_circle ()} & C.|NP = T.ABC : euler_circle ()| \tkzar $N$ euler point
- \footnote{ The midpoint of each side of the triangle, the foot of each altitude, the midpoint of the line segment from each vertex of the triangle to the orthocenter.} \\
-\Imeth{triangle}{circum\_circle ()} & |C.OA = T.ABC : circum ()| Triangle's circumscribed circle \\
-\Imeth{triangle}{in\_circle ()} & Inscribed circle of the triangle\\
-\Imeth{triangle}{ex\_circle (n)} & Circle tangent to the three sides of the triangle ; n =1 swap ; n=2 2 swap \\
-\Imeth{triangle}{first\_lemoine\_circle ()} & The center is the midpoint between Lemoine point and the circumcenter.\footnote{
-Through the Lemoine point draw lines parallel to the triangle's sides. The points where the parallel lines intersect the sides of ABC
- then lie on a circle known as the first Lemoine circle. } \\
-\Imeth{triangle}{second\_lemoine\_circle ()} & Refer to example \ref{sub:antiparallel_through_lemoine_point}\\
-\Imeth{triangle}{spieker\_circle ()} & The incircle of the medial triangle\\
-\Imeth{triangle}{cevian\_circle ()} & Circumscribed circle of a Cevian triangle Refer to (\ref{ssub:method_imeth_triangle_cevian})\\
-\Imeth{triangle}{pedal\_circle ()} & Circumscribed circle of the podar triangle Refer to (\ref{ssub:method_imeth_triangle_pedal})\\
-\Imeth{triangle}{conway\_circle ()} & Circumscribed circle of Conway points Refer to (\ref{ssub:method_imeth_triangle_conway})\\
+ \footnote{ The midpoint of each side of the triangle, the foot of each altitude, the midpoint of the line segment from each vertex of the triangle to the orthocenter.} & [\ref{ssub:method_imeth_triangle_euler_circle}]\\
+
+\Imeth{triangle}{circum\_circle ()} & |C.OA = T.ABC : circum ()| Triangle's circumscribed circle & [\ref{ssub:method_imeth_triangle_circum_circle}] \\
+
+\Imeth{triangle}{in\_circle ()} & Inscribed circle of the triangle&
+[\ref{ssub:method_imeth_triangle_in_circle}]\\
+
+\Imeth{triangle}{ex\_circle (n)} & Circle tangent to the three sides of the triangle ; n =1 swap ; n=2 2 swap & [\ref{ssub:method_imeth_triangle_ex__circle}]\\
+
+\Imeth{triangle}{first\_lemoine\_circle ()} & The center is the midpoint between Lemoine point and the circumcenter.\footnote{Through the Lemoine point draw lines parallel to the triangle's sides. The points where the parallel lines intersect the sides of ABC then lie on a circle known as the first Lemoine circle. }& [\ref{sub:first_and_second_lemoine_circles}
+] \\
+
+\Imeth{triangle}{second\_lemoine\_circle ()} & & \ref{sub:antiparallel_through_lemoine_point}] \\
+
+\Imeth{triangle}{spieker\_circle ()} & The incircle of the medial triangle& [\ref{ssub:method_imeth_triangle_spieker__circle}]\\
+
+\Imeth{triangle}{bevan\_circle ()} & Circumscribed circle of a excentral triangle & [\ref{ssub:methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point}]\\
+
+\Imeth{triangle}{cevian\_circle ()} & Circumscribed circle of a Cevian triangle & [\ref{ssub:method_imeth_triangle_cevian}]\\
+
+\Imeth{triangle}{symmedial\_circle ()} & Circumscribed circle of a symmedial triangle & [\ref{ssub:method_imeth_triangle_symmedial}]\\
+
+\Imeth{triangle}{pedal\_circle ()} & Circumscribed circle of the podar triangle & [\ref{ssub:method_imeth_triangle_pedal}]\\
+
+\Imeth{triangle}{conway\_circle ()} & Circumscribed circle of Conway points & [\ref{ssub:method_imeth_triangle_conway}]\\
\bottomrule
\end{tabular}
\end{minipage}
\egroup
-Remark: If you don't need to use the triangle object several times, you can obtain a bisector or a altitude with the next functions
-
-|bisector (z.A,z.B,z.C)| and |altitude (z.A,z.B,z.C)| Refer to (\ref{misc})
\clearpage\newpage
\bgroup
@@ -227,29 +263,48 @@ Remark: If you don't need to use the triangle object several times, you can obta
\midrule
\textbf{Triangles} &\\
\midrule
-\Imeth{triangle}{orthic ()} & |T = T.ABC : orthic ()| triangle joining the feet of the altitudes \\
-\Imeth{triangle}{medial ()} & |T = T.ABC : medial ()| triangle with vertices at the midpoints\\
-\Imeth{triangle}{incentral ()} & Cevian triangle of the triangle with respect to its incenter \\
-\Imeth{triangle}{excentral () } & Triangle with vertices corresponding to the excenters \\
-\Imeth{triangle}{extouch ()} & Triangle formed by the points of tangency with the excircles \\
-\Imeth{triangle}{intouch () } & Contact triangle formed by the points of tangency of the incircle \\
-\Imeth{triangle}{tangential ()} & Triangle formed by the lines tangent to the circumcircle at the vertices\\
-\Imeth{triangle}{feuerbach ()} & Triangle formed by the points of tangency of the euler circle with the excircles\\
-\Imeth{triangle}{anti () }& Anticomplementary Triangle The given triangle is its medial triangle. \\
-\Imeth{triangle}{cevian (pt)} & Triangle formed with the endpoints of the three cevians with respect to |pt|. refer to (\ref{ssub:method_imeth_triangle_cevian})\\
-\Imeth{triangle}{pedal (pt)} & Triangle formed by projections onto the sides of |pt| Refer to \ref{ssub:method_imeth_triangle_pedal}\\
-\Imeth{triangle}{symmedian ()} & Triangle formed with the intersection points of the symmedians. \\
-\Imeth{triangle}{euler ()} & Triangle formed with the euler points \\
+\Imeth{triangle}{orthic ()} & |T = T.ABC : orthic ()| triangle joining the feet of the altitudes ; [\ref{ssub:method_imeth_triangle_altitude}] \\
+
+\Imeth{triangle}{medial ()} & |T = T.ABC : medial ()| triangle with vertices at the midpoints; [\ref{ssub:method_imeth_triangle_medial} ; \ref{sub:nine_points} ; \ref{ssub:method_imeth_triangle_symmedial}]\\
+
+\Imeth{triangle}{incentral ()}& Cevian triangle of the triangle with respect to its incenter. [\ref{ssub:method_incentral}] \\
+
+\Imeth{triangle}{excentral ()} & Triangle with vertices corresponding to the excenters. [\ref{ssub:method_imeth_triangle_feuerbach} ] \\
+
+\Imeth{triangle}{extouch ()} & Triangle formed by the points of tangency with the excircles. [\ref{sub:excircles} ] \\
+
+\Imeth{triangle}{intouch () } & Contact triangle formed by the points of tangency of the incircle [\ref{ssub:gergonne_point}]\\
+
+\Imeth{triangle}{contact () } & contact = intouch ; [
+\ref{ssub:gergonne_point}] \\
+
+\Imeth{triangle}{tangential ()} & Triangle formed by the lines tangent to the circumcircle at the vertices; [\ref{ssub:method_imeth_triangle_tangential}]\\
+
+\Imeth{triangle}{feuerbach ()} & Triangle formed by the points of tangency of the euler circle with the excircles; [\ref{ssub:method_imeth_triangle_feuerbach}]\\
+
+\Imeth{triangle}{anti () }& Anticomplementary Triangle The given triangle is its medial triangle.\footnote{You can use \tkzname{similar} instead of \tkzname{anti}.} ; [\ref{ssub:method_imeth_triangle_anti}] \\
+
+\Imeth{triangle}{cevian (pt)} & Triangle formed with the endpoints of the three cevians with respect to |pt|; [\ref{ssub:method_imeth_triangle_cevian}] \\
+
+\Imeth{triangle}{pedal (pt)} & Triangle formed by projections onto the sides of |pt| [\ref{ssub:method_imeth_triangle_pedal}]\\
+
+\Imeth{triangle}{symmedial ()} & Triangle formed with the intersection points of the symmedians ; [\ref{ssub:method_imeth_triangle_symmedial}] \\
+
+\Imeth{triangle}{euler ()} & Triangle formed with the euler points ; [\ref{ssub:method_imeth_triangle_euler__points}] \\
+
+\Imeth{triangle}{similar ()} & Triangle formed with straight lines parallel to the sides [\ref{ssub:method_imeth_triangle_similar}] \\
\midrule
\textbf{Ellipses} &\\
-\Imeth{triangle}{steiner\_inellipse ()} & Refer to ex. (\ref{ssub:steiner_inellipse_and_circumellipse})\\
-\Imeth{triangle}{steiner\_circumellipse ()} & Refer to ex. (\ref{ssub:steiner_inellipse_and_circumellipse})\\
-\Imeth{triangle}{euler\_ellipse ()} & Refer to ex. (\ref{sub:euler_ellipse})\\
+\Imeth{triangle}{steiner\_inellipse ()} & [ex. \ref{ssub:steiner_inellipse_and_circumellipse}] \\
+
+\Imeth{triangle}{steiner\_circumellipse ()} & [ex. \ref{ssub:steiner_inellipse_and_circumellipse}] \\
+
+\Imeth{triangle}{euler\_ellipse ()} & [ex. (\ref{sub:euler_ellipse}]\\
\midrule
\textbf{Miscellaneous} &\\
\midrule
\Imeth{triangle}{area ()} & $ \mathcal{A}$| = T.ABC: area ()|\\
-\Imeth{triangle}{barycentric\_coordinates (pt)} & Triples of numbers corresponding to masses placed at the vertices\\
+\Imeth{triangle}{barycentric\_coordinates(pt)}& Triples of numbers corresponding to masses placed at the vertices\\
\Imeth{triangle}{in\_out (pt)} & Boolean. Test if |pt| is inside the triangle\\
\Imeth{triangle}{check\_equilateral ()} & Boolean. Test if the triangle is equilateral\\
\bottomrule
@@ -259,68 +314,1146 @@ Remark: If you don't need to use the triangle object several times, you can obta
\egroup
% subsubsection methods_of_the_class_triangle (end)
+\subsubsection{Gergonne point} % (fold)
+\label{ssub:gergonne_point}
+
+In this example, some usefull methods are applied like \Imeth{triangle}{intouch} or \Imeth{triangle}{contact}.
+The points of contact of the inscribed circle (incircle) with the triangle in question are obtained.
+
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{Verbatim}
+\begin{tkzelements}
+z.a = point: new(1,0)
+z.b = point: new(6,2)
+z.c = point: new(2,5)
+T = triangle : new (z.a,z.b,z.c)
+z.g = T : gergonne_point ()
+z.i = T.incenter
+z.ta,z.tb,z.tc = get_points (T : intouch ())
+\end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c)
+ \tkzDrawSegments (a,ta b,tb c,tc)
+ \tkzDrawCircle(i,ta)
+ \tkzDrawPoints(a,b,c,g,ta,tb,tc)
+ \tkzLabelPoints(a,b,tc)
+ \tkzLabelPoints[above](c,ta)
+ \tkzLabelPoints[above left](tb)
+ \end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{tkzelements}
+z.a = point: new(1,0)
+z.b = point: new(6,2)
+z.c = point: new(2,5)
+T = triangle : new (z.a,z.b,z.c)
+z.g = T : gergonne_point ()
+z.i = T.incenter
+z.ta,z.tb,z.tc = get_points (T : intouch ())
+\end{tkzelements}
+
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c)
+ \tkzDrawSegments (a,ta b,tb c,tc)
+ \tkzDrawCircle(i,ta)
+ \tkzDrawPoints(a,b,c,g,ta,tb,tc)
+ \tkzLabelPoints(a,b,tc)
+ \tkzLabelPoints[above](c,ta)
+ \tkzLabelPoints[above left](tb)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection gergonne_point (end)
+
+\subsubsection{Method \Imeth{triangle}{Nagel\_point}} % (fold)
+\label{ssub:method_imeth_triangle_nagel__point}
+
+Let $E_a$ be the point at which the $J_a$-excircle meets the side $(BC)$ of a triangle $ABC$, and define $E_b$ and $E_c$ similarly. Then the lines $A,E_a$, $B,E_b$ and $C,E_c$ concur in the Nagel point $Na$.
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .7
+ z.A = point : new (0,0)
+ z.B = point : new (3.6,0)
+ z.C = point : new (2.8,4)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.Na = T.ABC : nagel_point ()
+ z.J_a,z.J_b,
+ z.J_c = get_points (T.ABC : excentral ())
+ z.E_a,z.E_b,
+ z.E_c = get_points (T.ABC : extouch ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawPoints[red,size=2](J_a,J_b,J_c)
+ \tkzClipBB
+ \tkzDrawLines[add=1.75 and 1.75,teal](A,B A,C B,C)
+ \tkzDrawCircles(J_a,E_a J_b,E_b J_c,E_c)
+ \tkzDrawSegments[dashed,gray](J_a,E_a J_b,E_b J_c,E_c)
+ \tkzDrawSegments[orange](A,E_a B,E_b C,E_c)
+ \tkzDrawPoints[red,size=2](Na,E_a,E_b,E_c)
+ \tkzLabelPoints(A,B,Na)
+ \tkzLabelPoints(E_c,J_a,J_b,J_c)
+ \tkzLabelPoints[above](E_a,E_b,C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .7
+ z.A = point : new (0,0)
+ z.B = point : new (3.6,0)
+ z.C = point : new (2.8,4)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.Na = T.ABC : nagel_point ()
+ z.J_a,z.J_b,
+ z.J_c = get_points (T.ABC : excentral ())
+ z.E_a,z.E_b,
+ z.E_c = get_points (T.ABC : extouch ())
+\end{tkzelements}
+
+\begin{center}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawPoints[red,size=2](J_a,J_b,J_c)
+ \tkzClipBB
+ \tkzDrawLines[add=1.75 and 1.75,teal](A,B A,C B,C)
+ \tkzDrawCircles(J_a,E_a J_b,E_b J_c,E_c)
+ \tkzDrawSegments[dashed,gray](J_a,E_a J_b,E_b J_c,E_c)
+ \tkzDrawSegments[orange](A,E_a B,E_b C,E_c)
+ \tkzDrawPoints[red,size=2](Na,E_a,E_b,E_c)
+ \tkzLabelPoints(A,B,Na)
+ \tkzLabelPoints(E_c,J_a,J_b,J_c)
+ \tkzLabelPoints[above](E_a,E_b,C)
+\end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection method_imeth_triangle_nagel__point (end)
+
+
+\subsubsection{Method \Imeth{triangle}{mittenpunkt}} % (fold)
+\label{ssub:method_imeth_triangle_mittenpunkt}
+
+The Mittenpunkt is the symmedian point of the excentral triangle. The mittenpunkt (also called the middlespoint) of a triangle is the symmedian point of the excentral triangle, i.e., the point of concurrence of the lines from the excenters through the corresponding triangle side midpoints.
+[ \href{https://mathworld.wolfram.com/Mittenpunkt.html}{Weisstein, Eric W. "Mittenpunkt." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 1
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 6 , 0 )
+ z.C = point : new ( 4 , 6 )
+ T = triangle : new (z.A,z.B,z.C)
+ z.Ma,
+ z.Mb,
+ z.Mc = get_points (T : medial ())
+ z.Ia,z.Ib,z.Ic = get_points(T : excentral ())
+ z.Mi = T : mittenpunkt_point ()
+ T.int = T : extouch ()
+ z.Ta,z.Tb,z.Tc = get_points(T.int)
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 1
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 6 , 0 )
+ z.C = point : new ( 4 , 6 )
+ T = triangle : new (z.A,z.B,z.C)
+ z.Ma,
+ z.Mb,
+ z.Mc = get_points (T : medial ())
+ z.Ia,z.Ib,z.Ic = get_points(T : excentral ())
+ z.Mi = T : mittenpunkt_point ()
+ T.int = T : extouch ()
+ z.Ta,z.Tb,z.Tc = get_points(T.int)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}[scale=.5]
+ \tkzGetNodes
+ \tkzDrawPolygons[](A,B,C Ma,Mb,Mc)
+ \tkzDrawPoints(Ma,Mb,Mc,Ia,Ib,Ic)
+ \tkzDrawPoints[red](Ta,Tb,Tc)
+ \tkzLabelPoints[below](Ib)
+ \tkzLabelPoints[above left](Ia,Ic)
+ \tkzClipBB
+ \tkzDrawLines[add=0 and 1](Ia,Ma Ib,Mb Ic,Mc)
+ \tkzDrawLines[add=1 and 1](A,B A,C B,C)
+ \tkzDrawCircles[red](Ia,Ta Ib,Tb Ic,Tc)
+ \tkzDrawPoints(B,C,A,Mi) %
+ \tkzLabelPoints(B,A)
+ \tkzLabelPoints[above](C,Mi)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tikzpicture}[scale=.5]
+ \tkzGetNodes
+ \tkzDrawPolygons[](A,B,C Ma,Mb,Mc)
+ \tkzDrawPoints(Ma,Mb,Mc,Ia,Ib,Ic)
+ \tkzDrawPoints[red](Ta,Tb,Tc)
+ \tkzLabelPoints[below](Ib)
+ \tkzLabelPoints[above left](Ia,Ic)
+ \tkzClipBB
+ \tkzDrawLines[add=0 and 1](Ia,Ma Ib,Mb Ic,Mc)
+ \tkzDrawLines[add=1 and 1](A,B A,C B,C)
+ \tkzDrawCircles[red](Ia,Ta Ib,Tb Ic,Tc)
+ \tkzDrawPoints(B,C,A,Mi)
+ \tkzLabelPoints(B,A)
+ \tkzLabelPoints[above](C,Mi)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+
+% subsubsection method_imeth_triangle_mittenpunkt (end)
+
+\subsubsection{Method \Imeth{triangle}{projection}} % (fold)
+\label{ssub:method_imeth_triangle_projection}
+
+This involves obtaining the projections of a point onto the sides of a triangle. In the following example, we are going to find the projections of a centre of an exinscribed circle.
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0 , 0)
+z.B = point: new (5 , 0)
+z.C = point: new (-.4 , 4)
+T.ABC = triangle: new (z.A,z.B,z.C)
+z.J,_ = get_points(T.ABC: ex_circle (2))
+z.X ,
+z.Y,
+z.Z = T.ABC : projection (z.J)
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+z.A = point: new (0 , 0)
+z.B = point: new (5 , 0)
+z.C = point: new (-.4 , 4)
+T.ABC = triangle: new (z.A,z.B,z.C)
+z.J,_ = get_points(T.ABC: ex_circle (2))
+z.X ,
+z.Y,
+z.Z = T.ABC : projection (z.J)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawArc(J,X)(Y)
+ \tkzDrawSegments[blue](J,X J,Y J,Z C,Y C,X)
+ \tkzDrawPoints(A,B,C,J,X,Y,Z)
+ \tkzLabelPoints(J,X,Y)
+ \tkzLabelPoints[above](C,B,Z)
+ \tkzLabelPoints[left](A)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Z,J A,Y,J J,X,B)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawArc(J,X)(Y)
+ \tkzDrawSegments[blue](J,X J,Y J,Z C,Y C,X)
+ \tkzDrawPoints(A,B,C,J,X,Y,Z)
+ \tkzLabelPoints(J,X,Y)
+ \tkzLabelPoints[above](C,B,Z)
+ \tkzLabelPoints[left](A)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Z,J A,Y,J J,X,B)
+ \end{tikzpicture}
+\end{center}
+\end{Verbatim}
+\end{minipage}
+
+% subsubsection method_imeth_triangle_projection (end)
+
+\subsubsection{Method \Imeth{triangle}{trilinear}} % (fold)
+\label{ssub:method_imeth_triangle_trilinear}
+
+Given a reference triangle $ABC$, the trilinear coordinates of a point $P$ with respect to $ABC$ are an ordered triple of numbers, each of which is proportional to the directed distance from $P$ to one of the side lines. Trilinear coordinates are denoted alpha:beta:gamma or (alpha,beta,gamma) and also are known as homogeneous coordinates or "trilinears." Trilinear coordinates were introduced by Plücker in 1835.
+[\href{https://mathworld.wolfram.com/TrilinearCoordinates.html}{Weisstein, Eric W. "Trilinear Coordinates." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.B = point : new ( 4 , 0 )
+z.C = point : new ( 4 , 3 )
+T.ABC = triangle : new ( z.A , z.B , z.C )
+a = T.ABC.a
+b = T.ABC.b
+c = T.ABC.c
+z.Gp = T.ABC : trilinear (b*c,a*c,a*b)
+z.G = T.ABC : barycentric (1,1,1)
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygon(A,B,C)
+\tkzDrawPoints(A,B,C,G',G)
+\tkzLabelPoints(A,B,G')
+\tkzLabelPoints[above](C,G)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.B = point : new ( 4 , 0 )
+z.C = point : new ( 4 , 3 )
+T.ABC = triangle : new ( z.A , z.B , z.C )
+a = T.ABC.a
+b = T.ABC.b
+c = T.ABC.c
+z.Gp = T.ABC : trilinear (b*c,a*c,a*b)
+z.G = T.ABC : barycentric (1,1,1)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C,G',G)
+ \tkzLabelPoints(A,B,G')
+ \tkzLabelPoints[above](C,G)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection method_imeth_triangle_trilinear (end)
+
+\subsubsection{Method \Imeth{triangle}{barycentric\_coordinates}} % (fold)
+\label{ssub:method_imeth_triangle_barycentric__coordinates}
+
+This method produces a triplet of coordinates which are the barycentric coordinates of a point as a function of the three points of a given triangle.
+
+\vspace{6pt}
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (1,1)
+ z.B = point: new (8,0)
+ z.C = point: new (2,5)
+ T = triangle: new(z.A,z.B,z.C)
+ z.G = T.centroid
+ ca,cb,cc = T : barycentric_coordinates (z.G)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,G)
+ \tkzLabelPoints(A,B,C,G)
+ \tkzLabelPoint(G){\pmpn{\tkzUseLua{ca}}:\pmpn{\tkzUseLua{cb}}:\pmpn{\tkzUseLua{cc}}}
+\end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = .75
+ z.A = point: new (1,1)
+ z.B = point: new (8,0)
+ z.C = point: new (2,5)
+ T = triangle: new(z.A,z.B,z.C)
+ z.G = T.centroid
+ ca,cb,cc = T : barycentric_coordinates (z.G)
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,G)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C) \tkzLabelPoint(G){\pmpn{\tkzUseLua{ca}}:\pmpn{\tkzUseLua{cb}}:\pmpn{\tkzUseLua{cc}}}
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+% subsubsection method_imeth_triangle_barycentric__coordinates (end)
+
+\subsubsection{Method \Imeth{triangle}{base}} % (fold)
+\label{ssub:method_imeth_triangle_base}
+
+In the next example, the point $D$ is defined by $\overrightarrow{AD} = 1\cdot \overrightarrow{AB}+1\cdot \overrightarrow{AC}$.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .75
+ z.A = point: new (1,1)
+ z.B = point: new (8,0)
+ z.C = point: new (0,5)
+ z.X = point: new (2,2)
+ T = triangle: new(z.A,z.B,z.C)
+ z.D = T : base (1,1)
+ z.E = T : base (.5,1)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,D,C A,B,E,C)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = .75
+ z.A = point: new (1,1)
+ z.B = point: new (8,0)
+ z.C = point: new (0,5)
+ z.X = point: new (2,2)
+ T = triangle: new(z.A,z.B,z.C)
+ z.D = T : base (1,1)
+ z.E = T : base (.5,1)
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,D,C A,B,E,C)
+ \tkzDrawPoints(A,B,C,D,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+ \end{tikzpicture}
+ \end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_base (end)
+
+
+\subsubsection{Method \Imeth{triangle}{euler\_points}} % (fold)
+\label{ssub:method_imeth_triangle_euler__points}
+
+The points $a$, $b$ and $c$ are the Euler points. They are the midpoints of the segments $AH$, $BH$ and $CH$.
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.N = T.eulercenter
+ z.a,
+ z.b,
+ z.c = get_points (T : euler ())
+ z.H = T.orthocenter
+ T.orthic = T: orthic()
+ z.Ha,
+ z.Hb,
+ z.Hc = get_points (T.orthic)
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawPolygons[cyan](a,b,c)
+ \tkzDrawCircle[purple](N,a)
+ \tkzDrawPoints(a,b,B,C,A,c,H)
+ \tkzDrawSegments[red](C,Hc B,Hb A,Ha)
+ \tkzLabelPoints(A,B,a,b,H)
+ \tkzLabelPoints[above](c,C)
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.N = T.eulercenter
+ z.a,
+ z.b,
+ z.c = get_points (T : euler ())
+ z.H = T.orthocenter
+ T.orthic = T: orthic()
+ z.Ha,
+ z.Hb,
+ z.Hc = get_points (T.orthic)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawPolygons[cyan](a,b,c)
+ \tkzDrawCircle[purple](N,a)
+ \tkzDrawPoints(a,b,B,C,A,c,H)
+ \tkzDrawSegments[red](C,Hc B,Hb A,Ha)
+ \tkzLabelPoints(A,B,a,b,H)
+ \tkzLabelPoints[above](c,C)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+% subsubsection method_imeth_triangle_euler__points (end)
+
+\subsubsection{Method \Imeth{triangle}{nine\_points}} % (fold)
+\label{ssub:method_imeth_triangle_nine__points}
+
+This method gives the nine main points belonging to the Euler circle: in order, first the midpoints of the sides of the triangle, then the feet of the altitudes and finally the three Euler points. Refer to the last example.
+In the next example, we look for the centre of gravity in two different ways: the first uses the \code{trilinear} method, the second the \code{barycentric} method.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 1.5
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.N = T.eulercenter
+ z.e1,
+ z.e2,
+ z.e3,
+ z.e4,
+ z.e5,
+ z.e6,
+ z.e7,
+ z.e8,
+ z.e9 = T : nine_points ()
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 1.5
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.N = T.eulercenter
+ z.e1,
+ z.e2,
+ z.e3,
+ z.e4,
+ z.e5,
+ z.e6,
+ z.e7,
+ z.e8,
+ z.e9 = T : nine_points ()
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle[purple](N,e1)
+ \tkzDrawPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9)
+ \tkzLabelPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9)
+\end{tikzpicture}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle[purple](N,e1)
+ \tkzDrawPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9)
+ \tkzLabelPoints(e1,e2,e3,e4,e5,e6,e7,e8,e9)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+% subsubsection method_imeth_triangle_nine__points (end)
+
+\subsubsection{Method \Imeth{triangle}{altitude}} % (fold)
+\label{ssub:method_imeth_triangle_altitude}
+
+There are several methods to obtain one or more altitudes of a triangle. One possible method is the \Imeth{triangle}{orthic} method. This method allows for defining the \code{orthic} triangle whose vertices are the feet of the altitudes from each vertex. If only one altitude is needed, one can use the \code{altitude(n)} method. The numeric value $n$ can be $0$, $1$, or $2$. By default, if it is absent, it is considered to be $0$. Considering the triangle $ABC$, $n=0$ means no cyclic permutation of the vertices, and the altitude will be from the first point, here $A$. If $n=1$, the point trio $BCA$ is considered, and the altitude will be from $B$. For $n=2$, the altitude will be from $C$.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.H = T.orthocenter
+ L.HA = T : altitude ()
+ L.HC = T :altitude (2)
+ z.Hc = L.HC.pb
+ z.Ha = L.HA.pb
+ z.a,z.b,z.c = get_points (T : orthic ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](a,b,c)
+ \tkzDrawPoints(A,B,C,H)
+ \tkzDrawSegments[red](C,Hc A,Ha)
+ \tkzLabelPoints(A,B,H)
+ \tkzLabelPoints[font=\small](Hc)
+ \tkzLabelPoints[font=\small,above](Ha,C)
+ \tkzMarkRightAngles[fill = gray!30,opacity=.4](B,Hc,C A,Ha,C)
+ \end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ z.H = T.orthocenter
+ L.HA = T : altitude ()
+ L.HC = T : altitude (2)
+ z.Hc = L.HC.pb
+ z.Ha = L.HA.pb
+ z.a,z.b,z.c = get_points (T : orthic ())
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](a,b,c)
+ \tkzDrawPoints(A,B,C,H)
+ \tkzDrawSegments[red](C,Hc A,Ha)
+ \tkzLabelPoints(A,B,H)
+ \tkzLabelPoints[font=\small](Hc)
+ \tkzLabelPoints[font=\small,above](Ha,C)
+ \tkzMarkRightAngles[fill = gray!30,opacity=.4](B,Hc,C A,Ha,C)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsubsection method_imeth_triangle_altitude (end)
+
+\subsubsection{Method \Imeth{triangle}{bisector}} % (fold)
+\label{ssub:method_imeth_triangle_bisector}
+
+There are several methods to obtain one or more bisectors of a triangle. One possible method is the \Imeth{triangle}{incentral} method. This method allows for defining the \code{incentral} triangle whose vertices are the feet of the bisectors from each vertex. If only one bisector is needed, one can use the \code{bisector(n)} method. The numeric value $n$ can be $0$, $1$, or $2$. By default, if it is absent, it is considered to be $0$. Considering the triangle $ABC$, $n=0$ means no cyclic permutation of the vertices, and the bisector will be from the first point, here $A$. If $n=1$, the point trio $BCA$ is considered, and the bisector will be from $B$. For $n=2$, the bisector will be from $C$.
+
+\vspace{6pt}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (3 , 2)
+ z.C = point : new (2 , 5)
+ T.ABC = triangle : new ( z.A , z.B , z.C )
+ L.AE = T.ABC : bisector ()
+ z.E = L.AE.pb
+ z.F = T.ABC : bisector (1).pb
+ z.a,z.b,z.c = get_points (T.ABC : incentral ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](a,b,c)
+ \tkzDrawLines(A,B A,C A,E B,F)
+ \tkzDrawPoints(A,B,C,a,b,c)
+ \tkzLabelPoints(A,B,c)
+ \tkzLabelPoints[above](C,b,a)
+ \tkzMarkAngles[mark=|](B,A,a a,A,C)
+ \tkzMarkAngles[mark=||](C,B,b b,B,A)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (3 , 2)
+ z.C = point : new (2 , 5)
+ T.ABC = triangle : new ( z.A , z.B , z.C )
+ L.AE = T.ABC : bisector ()
+ z.E = L.AE.pb
+ z.F = T.ABC : bisector (1).pb
+ z.a,z.b,z.c = get_points (T.ABC : incentral ())
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](a,b,c)
+ \tkzDrawLines(A,B A,C A,E B,F)
+ \tkzDrawPoints(A,B,C,a,b,c)
+ \tkzLabelPoints(A,B,c)
+ \tkzLabelPoints[above](C,b,a)
+ \tkzMarkAngles[cyan,mark=|,size=.75](B,A,a a,A,C)
+ \tkzMarkAngles[mark=||,size=.5](C,B,b b,B,A)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_bisector (end)
+
+%%%%%% Circles %%%%%%
+
+\subsubsection{Method \Imeth{triangle}{euler\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_euler_circle}
+
+The nine-point circle, also called Euler's circle or the Feuerbach circle, is the circle that passes through the perpendicular feet $H_A, H_B, and H_C$ dropped from the vertices of any reference triangle DeltaABC on the sides opposite them. Euler showed in 1765 that it also passes through the midpoints$ M_A, M_B, M_C$ of the sides of DeltaABC. By Feuerbach's theorem, the nine-point circle also passes through the midpoints $E_A, E_B, and E_C$ of the segments that join the vertices and the orthocenter $H$. These points are commonly referred to as the Euler points.
+\href{https://mathworld.wolfram.com/Nine-PointCircle.html}{Weisstein, Eric W. "Nine-Point Circle." From MathWorld--A Wolfram Web Resource.}
+
+\vspace{6pt}
+There are several ways of obtaining the Euler circle. The first would be to use an attribute of the triangle to determine the centre. This centre is defined by |z.N = T.eulercenter|. Next, the circle passes through the midpoint of one of the sides. IF this circle is useful later on, it is best to define it using the \code{euler\_circle} method.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.euler = T : euler_circle ()
+ z.N,z.K = get_points (C.euler)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle(N,K)
+ \tkzDrawPoints(A,B,C,N,K)
+ \tkzLabelPoints(A,B,N)
+ \tkzLabelPoints[above](C,K)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.euler = T : euler_circle ()
+ z.N,z.K = get_points (C.euler)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle(N,K)
+ \tkzDrawPoints(A,B,C,N,K)
+ \tkzLabelPoints(A,B,N)
+ \tkzLabelPoints[above](C,K)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_euler_circle (end)
+
+\subsubsection{Method \Imeth{triangle}{circum\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_circum_circle}
+
+To obtain the circumscribed circle, simply use the \code{T.circumcenter} attribute, but if it is necessary to determine the circle then the method is \code{circum\_circle}.
-\subsubsection{Méthodes \Imeth{triangle}{cevian} et \Imeth{triangle}{cevian\_circle}} % (fold)
-\label{ssub:method_imeth_triangle_cevian}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
- scale = 2
- z.a = point: new (1,2)
- z.b = point: new (5,1)
- z.c = point: new (3,5)
- T = triangle: new (z.a,z.b,z.c)
- z.i = T.orthocenter
- T.cevian = T : cevian (z.i)
- z.ta,z.tb,z.tc = get_points (T.cevian)
- C.cev = T : cevian_circle (z.i)
- z.w = C.cev.center
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.circum = T : circum_circle ()
+ z.O,z.K = get_points (C.circum)
\end{tkzelements}
\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle(O,K)
+ \tkzDrawPoints(A,B,C,O,K)
+ \tkzLabelPoints(A,B,O)
+ \tkzLabelPoints[above](C,K)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.circum = T : circum_circle ()
+ z.O,z.K = get_points (C.circum)
+\end{tkzelements}
+
+\begin{center}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawCircle(O,K)
+ \tkzDrawPoints(A,B,C,O,K)
+ \tkzLabelPoints(A,B,O)
+ \tkzLabelPoints[above](C,K)
+\end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_circum_circle (end)
+
+\subsubsection{Method \Imeth{triangle}{in\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_in_circle}
+
+An incircle is an inscribed circle of a polygon, i.e., a circle that is tangent to each of the polygon's sides. The center $I$ of the incircle is called the incenter, and the radius $r$ of the circle is called the inradius.
+
+The incenter is the point of concurrence of the triangle's angle bisectors. In addition, the points $M_A, M_B, and M_C$ of intersection of the incircle with the sides of $ABC$ are the polygon vertices of the pedal triangle [\ref{ssub:method_imeth_triangle_pedal}] taking the incenter as the pedal point (c.f. tangential triangle [\ref{ssub:method_imeth_triangle_medial}]). This triangle is called the contact triangle.
+
+[\href{https://mathworld.wolfram.com/Incircle.html}{Weisstein, Eric W. "Incircle." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+
+\begin{tkzelements}
+ scale = 2
+ z.A = point : new (0 , 0)
+ z.B = point : new (5 , 0)
+ z.C = point : new (1 , 3)
+ T.ABC = triangle : new ( z.A , z.B , z.C )
+ z.E = T.ABC : bisector ().pb
+ z.F = T.ABC : bisector (1).pb
+ z.G = T.ABC : bisector (2).pb
+ C.IH = T.ABC : in_circle ()
+ z.I,z.H = get_points (C.IH)
+\end{tkzelements}
+\begin{tikzpicture}%
+ [ new/.style ={ color = orange },
+ one/.style = { new,/tkzmkangle/size=.5 },
+ two/.style = { new,/tkzmkangle/size=.6 },
+ l/.style = { /tkzmkangle/arc=l },
+ ll/.style = { /tkzmkangle/arc=ll },
+ lll/.style = { /tkzmkangle/arc=lll }]
+\tkzGetNodes
+\tkzDrawPolygon(A,B,C)
+\tkzDrawSegments[new](A,E B,F C,G)
+ \tkzDrawSegments[dashed,add=0 and .5](I,H)
+ \tkzDrawPoints(A,B,C,E,F,G,I)
+ \tkzDrawCircle(I,H)
+ \tkzDrawPoints(I,A,B,C,H)
+\begin{scope}[one]
+ \tkzMarkAngles[l](B,A,E)
+ \tkzMarkAngles[ll](C,B,F)
+ \tkzMarkAngles[lll](A,C,G)
+\end{scope}
+\begin{scope}[two]
+ \tkzMarkAngles[l](E,A,C)
+ \tkzMarkAngles[ll](F,B,A)
+ \tkzMarkAngles[lll](G,C,B)
+\end{scope}
+\tkzLabelPoints(A,B,I)
+\tkzLabelPoints[above](C,H)
+\end{tikzpicture}
+
+
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new (0 , 0)
+ z.B = point : new (5 , 0)
+ z.C = point : new (1 , 3)
+ T.ABC = triangle : new(z.A,z.B,z.C)
+ z.E = T.ABC : bisector ().pb
+ z.F = T.ABC : bisector (1).pb
+ z.G = T.ABC : bisector (2).pb
+ C.IH = T.ABC : in_circle ()
+ z.I,z.H = get_points (C.IH)
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tikzpicture}%
+ [ new/.style ={color = orange },
+ one/.style = { new,/tkzmkangle/size=.5 },
+ two/.style = { new,/tkzmkangle/size=.6 },
+ l/.style = { /tkzmkangle/arc=l },
+ ll/.style = { /tkzmkangle/arc=ll },
+ lll/.style = { /tkzmkangle/arc=lll }]
\tkzGetNodes
-\tkzDrawPolygons(a,b,c ta,tb,tc)
-\tkzDrawSegments(a,ta b,tb c,tc)
-\tkzDrawPoints(a,b,c,i,ta,tb,tc)
-\tkzLabelPoints(a,b,c,i)
-\tkzDrawCircles(w,ta)
+\tkzDrawPolygon(A,B,C)
+\tkzDrawSegments[new](A,E B,F C,G)
+\tkzDrawSegments[dashed,add=0 and .5](I,H)
+\tkzDrawPoints(A,B,C,E,F,G,I)
+\tkzDrawCircle(I,H)
+\tkzDrawPoints(I,A,B,C,H)
+\begin{scope}[one]
+ \tkzMarkAngles[l](B,A,E)
+ \tkzMarkAngles[ll](C,B,F)
+ \tkzMarkAngles[lll](A,C,G)
+\end{scope}
+\begin{scope}[two]
+ \tkzMarkAngles[l](E,A,C)
+ \tkzMarkAngles[ll](F,B,A)
+ \tkzMarkAngles[lll](G,C,B)
+\end{scope}
+\tkzLabelPoints(A,B,I)
+\tkzLabelPoints[above](C,H)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
+
+
+% subsubsection method_imeth_triangle_in_circle (end)
+
+\subsubsection{Method \Imeth{triangle}{ex\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_ex__circle}
+
+Given a triangle, extend two sides in the direction opposite their common vertex. The circle tangent to these two lines and to the other side of the triangle is called an excircle, or sometimes an escribed circle. The center of the excircle is called the excenter and lies on the external angle bisector of the opposite angle.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+z.A = point: new (0 , 0)
+z.B = point: new (5 , 0)
+z.C = point: new (-.4 , 4)
+T.ABC = triangle: new (z.A,z.B,z.C)
+z.I,_ = get_points(T.ABC: ex_circle ())
+z.J,_ = get_points(T.ABC: ex_circle (1))
+z.K,_ = get_points(T.ABC: ex_circle (2))
+z.Xk ,
+z.Yk,
+z.Zk = T.ABC : projection (z.K)
+z.Xi ,
+z.Yi,
+z.Zi = T.ABC : projection (z.I)
+z.Xj ,
+z.Yj,
+z.Zj = T.ABC : projection (z.J)
+\end{tkzelements}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .5
+z.A = point: new (0 , 0)
+z.B = point: new (5 , 0)
+z.C = point: new (-.4 , 4)
+T.ABC = triangle: new (z.A,z.B,z.C)
+z.I,_ = get_points(T.ABC: ex_circle ())
+z.J,_ = get_points(T.ABC: ex_circle (1))
+z.K,_ = get_points(T.ABC: ex_circle (2))
+z.Xk ,
+z.Yk,
+z.Zk = T.ABC : projection (z.K)
+z.Xi ,
+z.Yi,
+z.Zi = T.ABC : projection (z.I)
+z.Xj ,
+z.Yj,
+z.Zj = T.ABC : projection (z.J)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawArc(K,Xk)(Yk)
+ \tkzDrawArc(I,Yi)(Zi)
+ \tkzDrawArc(J,Zj)(Yj)
+ \tkzDrawSegments[blue](K,Xk K,Yk K,Zk C,Yk C,Xk I,Xi J,Yj)
+ \tkzDrawPoints(A,B,C,I,J,K,Xk,Yk,Zk,Xi,Yj)
+ \tkzLabelPoints(K,Xk,Yk)
+ \tkzLabelPoints[above](C,B,Zk,I,J)
+ \tkzLabelPoints[left](A)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Zk,K A,Yk,K K,Xk,B)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawArc(K,Xk)(Yk)
+ \tkzDrawArc(I,Yi)(Zi)
+ \tkzDrawArc(J,Zj)(Yj)
+ \tkzDrawSegments[blue](K,Xk K,Yk K,Zk C,Yk C,Xk I,Xi J,Yj)
+ \tkzDrawPoints(A,B,C,I,J,K,Xk,Yk,Zk,Xi,Yj)
+ \tkzLabelPoints(K,Xk,Yk)
+ \tkzLabelPoints[above](C,B,Zk,I,J)
+ \tkzLabelPoints[left](A)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](A,Zk,K A,Yk,K K,Xk,B)
+ \end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+% subsubsection method_imeth_triangle_ex__circle (end)
+
+\subsubsection{Method \Imeth{triangle}{spieker\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_spieker__circle}
+
+In geometry, the incircle of the medial triangle of a triangle is the Spieker circle. Its center is the Spieker center.
+
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 1.5
+ z.A = point: new (1,1)
+ z.B = point: new (5,1)
+ z.C = point: new (2.2,4)
+ T = triangle: new (z.A,z.B,z.C)
+ C.first_lemoine = T:spieker_circle()
+ z.S,z.w = get_points( C.first_lemoine )
+ z.Ma,z.Mb,z.Mc = get_points(T : medial ())
+ z.N = T : nagel_point ()
+ z.Qa = midpoint(z.A,z.N)
+ z.Qb = midpoint(z.B,z.N)
+ z.Qc = midpoint(z.C,z.N)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C Qa,Qb,Qc)
+ \tkzDrawPolygons[red](Ma,Mb,Mc)
+ \tkzDrawCircles[red](S,w)
+ \tkzDrawSegments[dashed](N,A N,B N,C)
+ \tkzDrawPoints(A,B,C,S,w,Ma,Mb,Mc,Qa,Qb,Qc,N)
+ \tkzLabelPoints(A,B,S,w,Mc,N)
+ \tkzLabelPoints[above](C,Ma,Mb,Qa,Qb,Qc)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
\begin{tkzelements}
-scale = 2
-z.a = point: new (1,2)
-z.b = point: new (5,1)
-z.c = point: new (3,5)
-T = triangle: new (z.a,z.b,z.c)
-z.i = T.orthocenter
-T.cevian = T : cevian (z.i)
-z.ta,z.tb,z.tc = get_points (T.cevian)
-C.cev = T : cevian_circle (z.i)
-z.w = C.cev.center
+ z.A = point: new (1,1)
+ z.B = point: new (5,1)
+ z.C = point: new (2.2,4)
+ T = triangle: new (z.A,z.B,z.C)
+ C.first_lemoine = T:spieker_circle()
+ z.S,z.w = get_points( C.first_lemoine )
+ z.Ma,z.Mb,z.Mc = get_points(T : medial ())
+ z.N = T : nagel_point ()
+ z.Qa = midpoint(z.A,z.N)
+ z.Qb = midpoint(z.B,z.N)
+ z.Qc = midpoint(z.C,z.N)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C Qa,Qb,Qc)
+ \tkzDrawPolygons[red](Ma,Mb,Mc)
+ \tkzDrawCircles[red](S,w)
+ \tkzDrawSegments[dashed](N,A N,B N,C)
+ \tkzDrawPoints(A,B,C,S,w,Ma,Mb,Mc,Qa,Qb,Qc,N)
+ \tkzLabelPoints(A,B,S,w,Mc,N)
+ \tkzLabelPoints[above](C,Ma,Mb,Qa,Qb,Qc)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+
+% subsubsection method_imeth_triangle_spieker__circle (end)
+
+\subsubsection{Methods \Imeth{triangle}{cevian} and \Imeth{triangle}{cevian\_circle}} % (fold)
+\label{ssub:method_imeth_triangle_cevian}
+
+A Cevian is a line segment which joins a vertex of a triangle with a point on the opposite side (or its extension). The condition for three general Cevians from the three vertices of a triangle to concur is known as Ceva's theorem.
+
+Picking a Cevian point $P$ in the interior of a triangle $ABC$ and drawing Cevians from each vertex through $P$ to the opposite side produces a set of three intersecting Cevians $APa$, $BPb$, and $CPc$ with respect to that point. The triangle $PaPbPc$ is known as the Cevian triangle of $ABC$ with respect to $P$, and the circumcircle of $PaPbPc$ is similarly known as the Cevian circle. [\href{https://mathworld.wolfram.com/CevianTriangle.html}{Weisstein, Eric W. "Cevian Triangle." From MathWorld--A Wolfram Web Resource.}]
+
+
+\vspace{6pt}
+
+\begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,0)
+ z.B = point: new (4,0)
+ z.C = point: new (1.8,3)
+ T.ABC = triangle: new(z.A,z.B,z.C)
+ z.Q = point : new (1,-0.4)
+ z.P = point : new (2,1)
+ T.cevian = T.ABC : cevian (z.Q)
+ z.Qa,z.Qb,z.Qc = get_points (T.cevian)
+ T.cevian = T.ABC : cevian (z.P)
+ z.Pa,z.Pb,z.Pc = get_points (T.cevian)
+ C.cev = T.ABC : cevian_circle (z.P)
+ z.w = C.cev.center
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[cyan](A,B,C)
+ \tkzDrawSegments[cyan](A,Qb B,Qa)
+ \tkzDrawSegments[red](A,Qa B,Qb C,Q)
+ \tkzDrawSegments[blue](A,Pa B,Pb C,Pc)
+ \tkzDrawCircles(w,Pa)
+ \tkzDrawPoints(A,B,C,Qa,Qb,Qc,P,Q,Pa,Pb,Pc)
+ \tkzLabelPoints(A,B,P,Q,Pc)
+ \tkzLabelPoints[above](C,Qc)
+ \tkzLabelPoints[left](Qb,Pb)
+ \tkzLabelPoints[right](Qa,Pa)
+ \end{tikzpicture}
+\end{center}
+
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (0,0)
+ z.B = point: new (4,0)
+ z.C = point: new (1.8,3)
+ T.ABC = triangle: new(z.A,z.B,z.C)
+ z.Q = point : new (1,-0.4)
+ z.P = point : new (2,1)
+ T.cevian = T.ABC : cevian (z.Q)
+ z.Qa,z.Qb,z.Qc = get_points (T.cevian)
+ T.cevian = T.ABC : cevian (z.P)
+ z.Pa,z.Pb,z.Pc = get_points (T.cevian)
+ C.cev = T.ABC : cevian_circle (z.P)
+ z.w = C.cev.center
\end{tkzelements}
\begin{tikzpicture}
\tkzGetNodes
-\tkzDrawPolygons(a,b,c ta,tb,tc)
-\tkzDrawSegments(a,ta b,tb c,tc)
-\tkzDrawPoints(a,b,c,i,ta,tb,tc)
-\tkzLabelPoints(a,b,c,i)
-\tkzDrawCircles(w,ta)
+\tkzDrawPolygons[cyan](A,B,C)
+\tkzDrawSegments[cyan](A,Qb B,Qa)
+\tkzDrawSegments[red](A,Qa B,Qb C,Q)
+\tkzDrawSegments[blue](A,Pa B,Pb C,Pc)
+\tkzDrawCircles(w,Pa)
+\tkzDrawPoints(A,B,C,Qa,Qb,Qc,P,Q,Pa,Pb,Pc)
+\tkzLabelPoints(A,B,P,Q,Pc)
+\tkzLabelPoints[above](C,Qc)
+\tkzLabelPoints[left](Qb,Pb)
+\tkzLabelPoints[right](Qa,Pa)
\end{tikzpicture}
+\end{Verbatim}
\end{minipage}
+
% subsubsection method_imeth_triangle_cevian (end)
-\subsubsection{Méthodes \Imeth{triangle}{pedal} et \Imeth{triangle}{pedal\_circle}} % (fold)
+\subsubsection{Methods \Imeth{triangle}{pedal} and \Imeth{triangle}{pedal\_circle}} % (fold)
\label{ssub:method_imeth_triangle_pedal}
+Given a point $P$, the pedal triangle of $P$ is the triangle whose polygon vertices are the feet of the perpendiculars from $P$ to the side lines.
+
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
z.A = point: new(0,0)
z.B = point: new(5,0)
z.C = point: new(1.5,3)
- z.O = point: new (2,1)
+ z.O = point: new (2,1)
T.ABC = triangle: new (z.A,z.B,z.C)
T.pedal = T.ABC : pedal (z.O)
z.E,z.F,z.G = get_points(T.pedal)
@@ -334,7 +1467,8 @@ z.w = C.cev.center
\tkzDrawPolygon[red](E,F,G)
\tkzDrawCircle(w,T)
\tkzDrawPoints(A,B,C,E,F,G,O)
- \tkzLabelPoints(A,B,C,E,F,G)
+ \tkzLabelPoints(A,B,G)
+ \tkzLabelPoints[above](C,E,F)
\tkzDrawSegments(O,E O,F O,G)
\end{tikzpicture}
\end{Verbatim}
@@ -344,7 +1478,7 @@ z.w = C.cev.center
z.A = point: new(0,0)
z.B = point: new(5,0)
z.C = point: new(1.5,3)
- z.O = point: new (2,1)
+ z.O = point: new (2,1)
T.ABC = triangle: new (z.A,z.B,z.C)
T.pedal = T.ABC : pedal (z.O)
z.E,z.F,z.G = get_points(T.pedal)
@@ -352,23 +1486,28 @@ z.w = C.cev.center
z.w = C.pedal.center
z.T = C.pedal.through
\end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawPolygon[red](E,F,G)
- \tkzDrawCircle(w,T)
- \tkzDrawPoints(A,B,C,E,F,G,O)
- \tkzLabelPoints(A,B,C,E,F,G)
- \tkzDrawSegments(O,E O,F O,G)
- \end{tikzpicture}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[red](E,F,G)
+ \tkzDrawCircle(w,T)
+ \tkzDrawPoints(A,B,C,E,F,G,O)
+ \tkzLabelPoints(A,B,G)
+ \tkzLabelPoints[above](C,E,F)
+ \tkzDrawSegments(O,E O,F O,G)
+ \end{tikzpicture}
+ \end{center}
+
\end{minipage}
% subsubsection method_imeth_triangle_pedal (end)
-\subsubsection{Méthodes \Imeth{triangle}{conway\_points} et \Imeth{triangle}{conway\_circle}} % (fold)
+\subsubsection{Methods \Imeth{triangle}{conway\_points} and \Imeth{triangle}{conway\_circle}} % (fold)
\label{ssub:method_imeth_triangle_conway}
-En géométrie plane, le théorème du cercle de Conway stipule que lorsque les côtés se rencontrant à chaque sommet d'un triangle sont prolongés par la longueur du côté opposé, les six points d'extrémité des trois segments de droite résultants se trouvent sur un cercle dont le centre est le centre d'incidence du triangle.
+In plane geometry, Conway's circle theorem states that when the sides meeting at each vertex of a triangle are extended by the length of the opposite side, the six endpoints of the three resulting line segments lie on a circle whose centre is the centre of incidence of the triangle.
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
@@ -424,9 +1563,557 @@ En géométrie plane, le théorème du cercle de Conway stipule que lorsque les
% subsubsection methode_imeth_triangle_conway (end)
+\subsubsection{Methods \Imeth{triangle}{bevan\_circle} and \Imeth{triangle}{bevan\_point} } % (fold)
+\label{ssub:methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .5
+ z.A = point: new (1,1)
+ z.B = point: new (6,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.bevan = T : bevan_circle ()
+ z.c,z.t = get_points (C.bevan)
+ -- or z.c = T : bevan_point ()
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawCircle(c,t)
+ \tkzDrawPoints(A,B,C,c,t)
+ \tkzLabelPoints(A,B,c,t)
+ \tkzLabelPoints[above](C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale =.5
+ z.A = point: new (1,1)
+ z.B = point: new (6,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ C.bevan = T : bevan_circle ()
+ z.c,z.t = get_points (C.bevan)
+ -- or z.c = T : bevan_point ()
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawCircle(c,t)
+ \tkzDrawPoints(A,B,C,c,t)
+ \tkzLabelPoints(A,B,c,t)
+ \tkzLabelPoints[above](C)
+ \end{tikzpicture}
+ \end{center}
+
+\end{minipage}
+
+% subsubsection methods_imeth_triangle_bevan_circle_and_imeth_triangle_bevan_point (end)
+
+
+
+%%%%%% Triangles %%%%%
+
+
+
+\subsubsection{Method \Imeth{triangle}{feuerbach} and method \Imeth{triangle}{feuerbach\_point}} % (fold)
+\label{ssub:method_imeth_triangle_feuerbach}
+
+The Feuerbach triangle is the triangle formed by the three points of tangency of the nine-point circle with the excircles. (The fact that the excircles touch the nine-point circle is known as Feuerbach's theorem.)
+Refer to \href{https://mathworld.wolfram.com/FeuerbachTriangle.html}{Weisstein, Eric W. "Feuerbach Triangle." From MathWorld--A Wolfram Web Resource.}.
+
+The exinscribed circles of a triangle are tangent to the circle of the nine points of a triangle at points which form the \code{Feuerbach} triangle ($FaFbFc$). The inscribed circle and the circle of nine points are tangent at a point called the Feurerbach point $F$.
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+\begin{tkzelements}
+ scale = .8
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ z.N = T.ABC.eulercenter
+ z.Fa,z.Fb,z.Fc = get_points ( T.ABC : feuerbach () )
+ z.F = T.ABC : feuerbach_point ()
+ z.Ja,z.Jb,z.Jc = get_points ( T.ABC : excentral () )
+ z.I = T.ABC.incenter
+ z.Ia,z.Ib,z.Ic = get_points (T.ABC : intouch ())
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPoints(Ja,Jb,Jc)
+\tkzClipBB
+\tkzFillCircles[green!30,,opacity=.5](N,Fa)
+\tkzFillCircles[lightgray,,opacity=.5](I,F)
+\tkzDrawLines[add=3 and 3](A,B A,C B,C)
+\tkzDrawCircles(Ja,Fa Jb,Fb Jc,Fc N,Fa N,F I,F)
+\tkzDrawPoints(A,B,C,F,Fa,Fb,Fc,N,I,Ia,Ib,Ic)
+\tkzLabelPoints(N,A,B,Ia,Ib,Ic)
+\tkzLabelPoints[above](Fa,Fb,Fc,F,I,C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+
+\begin{tkzelements}
+ scale = .7
+ z.A = point: new (0,0)
+ z.B = point: new (6,0)
+ z.C = point: new (0.8,4)
+ T.ABC = triangle : new ( z.A,z.B,z.C )
+ z.N = T.ABC.eulercenter
+ z.Fa,z.Fb,z.Fc = get_points ( T.ABC : feuerbach () )
+ z.F = T.ABC : feuerbach_point ()
+ z.Ja,z.Jb,z.Jc = get_points ( T.ABC : excentral () )
+ z.I = T.ABC.incenter
+ z.Ia,z.Ib,z.Ic = get_points (T.ABC : intouch ())
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(Ja,Jb,Jc)
+ \tkzClipBB
+ \tkzFillCircles[green!30,,opacity=.5](N,Fa)
+ \tkzFillCircles[lightgray,,opacity=.5](I,F)
+ \tkzDrawLines[add=3 and 3](A,B A,C B,C)
+ \tkzDrawCircles(Ja,Fa Jb,Fb Jc,Fc N,Fa N,F I,F)
+ \tkzDrawPoints(A,B,C,F,Fa,Fb,Fc,N,I,Ia,Ib,Ic)
+ \tkzLabelPoints(N,A,B,Ia,Ib,Ic)
+ \tkzLabelPoints[above](Fa,Fb,Fc,F,I,C)
+ \end{tikzpicture}
+\end{center}
+
+%subsubsection method_imeth_triangle_feuerbach (end)
+
+
+\subsubsection{Method \Imeth{triangle}{similar}} % (fold)
+\label{ssub:method_imeth_triangle_similar}
+
+The \code{similar} method creates a new triangle whose sides are parallel to the sides of the original triangle and pass through its vertices.
+
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ scale =.5
+ z.A = point: new (0 , 0)
+ z.B = point: new (6 , 0)
+ z.C = point: new (1.5 , 3.5)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.X,z.Y,z.Z = get_points ( T.ABC : similar ())
+ z.H_a,z.H_b,
+ z.H_c = get_points (T.ABC : orthic ())
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C X,Y,Z)
+ \tkzDrawLines(A,H_a B,H_b C,H_c)
+ \tkzDrawPoints(A,B,C,X,Y,Z)
+ \tkzLabelPoints(A,B,Z)
+ \tkzLabelPoints[above](X,Y,C)
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale =.5
+ z.A = point: new (0 , 0)
+ z.B = point: new (6 , 0)
+ z.C = point: new (1.5 , 3.5)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.X,z.Y,z.Z = get_points ( T.ABC : similar ())
+ z.H_a,z.H_b,
+ z.H_c = get_points (T.ABC : orthic ())
+ \end{tkzelements}
+\hspace*{\fill}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C X,Y,Z)
+ \tkzDrawLines(A,H_a B,H_b C,H_c)
+ \tkzDrawPoints(A,B,C,X,Y,Z)
+ \tkzLabelPoints(A,B,Z)
+ \tkzLabelPoints[above](X,Y,C)
+ \end{tikzpicture}
+\end{minipage}
+
+
+% subsubsection method_imeth_triangle_similar (end)
+
+\subsubsection{Method \Imeth{triangle}{medial}} % (fold)
+\label{ssub:method_imeth_triangle_medial}
+
+The triangle $MaMbMc$ formed by joining the midpoints of the sides of a triangle $ABC$. The medial triangle is sometimes also called the auxiliary triangle (Dixon 1991).
+[\href{https://mathworld.wolfram.com/MedialTriangle.html}{Weisstein, Eric W. "Medial Triangle." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,1)
+ z.B = point: new (6,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ T.med = T : medial ()
+ z.Ma,z.Mb,z.Mc= get_points (T.med)
+ z.G = T.centroid
+ z.O = T.circumcenter
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPolygons[red](Ma,Mb,Mc)
+ \tkzDrawSegments(A,Ma B,Mb C,Mc)
+ \tkzDrawSegments[dashed,cyan](O,Ma O,Mb O,Mc)
+ \tkzDrawPoints(A,B,C,Ma,Mb,Mc,O,G)
+ \tkzLabelPoints(A,B,Mc,O)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](Mb)
+ \tkzLabelPoints[right](Ma,G)
+ \tkzMarkRightAngles[fill=cyan!20,
+ opacity=.4](O,Ma,B O,Mb,A O,Mc,A)
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (0,1)
+ z.B = point: new (6,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ T.med = T : medial ()
+ z.Ma,z.Mb,z.Mc= get_points (T.med)
+ z.G = T.centroid
+ z.O = T.circumcenter
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPolygons[red](Ma,Mb,Mc)
+ \tkzDrawSegments(A,Ma B,Mb C,Mc)
+ \tkzDrawSegments[dashed,cyan](O,Ma O,Mb O,Mc)
+ \tkzDrawPoints(A,B,C,Ma,Mb,Mc,O,G)
+ \tkzLabelPoints(A,B,Mc,O)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](Mb)
+ \tkzLabelPoints[right](Ma,G)
+ \tkzMarkRightAngles[fill=cyan!20,
+ opacity=.4](O,Ma,B O,Mb,A O,Mc,A)
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+
+% subsubsection method_imeth_triangle_medial (end)
+
+\subsubsection{Method \Imeth{triangle}{incentral} } % (fold)
+\label{ssub:method_incentral}
+
+The incentral triangle $IaIbIc$ is the Cevian triangle of a triangle $ABC$ with respect to its incenter $I$. It is therefore also the triangle whose vertices are determined by the intersections of the reference triangle's angle bisectors with the respective opposite sides.
+[ \href{https://mathworld.wolfram.com/IncentralTriangle.html}{Weisstein, Eric W. "Incentral Triangle." From MathWorld--A Wolfram Web Resource.}
+]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point: new (0 , 0)
+ z.B = point: new (6 , 0)
+ z.C = point: new (1 , 4)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.I = T.ABC.incenter
+ z.Ia,z.Ib,
+ z.Ic = get_points (T.ABC : incentral ())
+ z.Ta,z.Tb,
+ z.Tc = get_points (T.ABC : intouch ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[dashed,red](Ia,Ib,Ic)
+ \tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic)
+ \tkzDrawCircle(I,Ta)
+ \tkzDrawPoints(A,B,C,Ia,Ib,Ic,I,Ta,Tb,Tc)
+ \tkzLabelPoints(A,B,Ic,I,Tc)
+ \tkzLabelPoints[above](Ia,Ta,C)
+ \tkzLabelPoints[above left](Ib,Tb)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ z.A = point: new (0 , 0)
+ z.B = point: new (6 , 0)
+ z.C = point: new (1 , 4)
+ T.ABC = triangle: new (z.A,z.B,z.C)
+ z.I = T.ABC.incenter
+ z.Ia,z.Ib,
+ z.Ic = get_points (T.ABC : incentral ())
+ z.Ta,z.Tb,
+ z.Tc = get_points (T.ABC : intouch ())
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[dashed,red](Ia,Ib,Ic)
+ \tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic)
+ \tkzDrawCircle(I,Ta)
+ \tkzDrawPoints(A,B,C,Ia,Ib,Ic,I,Ta,Tb,Tc)
+ \tkzLabelPoints(A,B,Ic,I,Tc)
+ \tkzLabelPoints[above](Ia,Ta,C)
+ \tkzLabelPoints[above left](Ib,Tb)
+ \end{tikzpicture}
+ \end{center}
+
+\end{minipage}
+
+% subsubsection method_incentral (end)
+
+
+\subsubsection{Method \Imeth{triangle}{tangential}} % (fold)
+\label{ssub:method_imeth_triangle_tangential}
+
+The tangential triangle is the triangle $TaTbTc$ formed by the lines tangent to the circumcircle of a given triangle DeltaABC at its vertices. It is therefore antipedal triangle of $ABC$ with respect to the circumcenter $O$. It is also anticevian triangle of $ABC$ with the symmedian point $K$ as the anticevian point (Kimberling 1998, p. 156). Furthermore, the symmedian point $K$ of $ABC$ is the Gergonne point of $TaTbTc$.
+
+The sides of an orthic triangle are parallel to the tangents to the circumcircle at the vertices (Johnson 1929, p. 172). This is equivalent to the statement that each line from a triangle's circumcenter to a vertex is always perpendicular to the corresponding side of the orthic triangle (Honsberger 1995, p. 22), and to the fact that the orthic and tangential triangles are homothetic.
+[ \href{https://mathworld.wolfram.com/TangentialTriangle.html}{Weisstein, Eric W. "Tangential Triangle." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .75
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,3)
+ T = triangle: new(z.A,z.B,z.C)
+ z.H = T.orthocenter
+ z.O = T.circumcenter
+ z.L = T : symmedian_point ()
+ T.orthic = T: orthic()
+ z.Ha,
+ z.Hb,
+ z.Hc = get_points (T.orthic)
+ z.Ta,
+ z.Tb,
+ z.Tc = get_points (T : tangential ())
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C Ta,Tb,Tc)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,O,H,Ta,Tb,Tc,L)
+ \tkzDrawSegments[red](C,Hc B,Hb A,Ha)
+ \tkzDrawSegments[green](C,Tc B,Tb A,Ta)
+ \tkzDrawPolygon[blue](Ha,Hb,Hc)
+ \tkzLabelPoints(A,B,O,Tc)
+ \tkzLabelPoints[above](C,Tb,Ta)
+ \tkzLabelPoints[font=\small](Hc)
+ \tkzLabelPoints[font=\small,above](Ha,Hb)
+ \tkzMarkRightAngles(A,Ha,C B,Hb,A C,Hc,B)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .75
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (1,3)
+ T = triangle: new(z.A,z.B,z.C)
+ z.H = T.orthocenter
+ z.O = T.circumcenter
+ z.L = T : symmedian_point ()
+ T.orthic = T: orthic()
+ z.Ha,
+ z.Hb,
+ z.Hc = get_points (T.orthic)
+ z.Ta,
+ z.Tb,
+ z.Tc = get_points (T : tangential ())
+\end{tkzelements}
+
+ \begin{center}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C Ta,Tb,Tc)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,O,H,Ta,Tb,Tc,L)
+ \tkzDrawSegments[red](C,Hc B,Hb A,Ha)
+ \tkzDrawSegments[green](C,Tc B,Tb A,Ta)
+ \tkzDrawPolygon[blue](Ha,Hb,Hc)
+ \tkzLabelPoints(A,B,O,Tc)
+ \tkzLabelPoints[above](C,Tb,Ta)
+ \tkzLabelPoints[font=\small](Hc)
+ \tkzLabelPoints[font=\small,above](Ha,Hb)
+ \tkzMarkRightAngles(A,Ha,C B,Hb,A C,Hc,B)
+\end{tikzpicture}
+ \end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_tangential (end)
+
+
+\subsubsection{Method \Imeth{triangle}{symmedial}} % (fold)
+\label{ssub:method_imeth_triangle_symmedial}
+
+The symmedial triangle $LaLbLc$ is the triangle whose vertices are the intersection points of the symmedians with the reference triangle $ABC$.
+
+The symmedial circle is the circumcircle of the symmedial triangle.
+
+The following example groups several concepts around the symmedian. As a reminder, a symmedian of a triangle is the reflection of the median with respect to the angle bisector.
+
+The points of contact of the symmedians with the sides of the triangle are obtained using the \code{symmedian} method.
+The intersection of the symmedians is the point known as the \code{Lemoine} or \code{Symmedian} point.
+You can use the triangle methods \code{lemoine\_point} or \code{symmedian\_point}. If you only need one of the lines, you can use the method \code{symmedian\_line(n)}. \(n=0\) corresponds to the line coming from the first vertex of the triangle, \(n=1\) to the second, and so on.
+
+In the next example, $L$ is the \code{Lemoine point} or the \code{Symmedian point}. $LaLbLc$ is the symmedian triangle.[\href{https://mathworld.wolfram.com/SymmedianPoint.html}{Weisstein, Eric W. "Symmedian Point." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 2
+ z.A = point : new (0,0)
+ z.B = point : new (7,0)
+ z.C = point : new (2,3)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ z.L = T.ABC : lemoine_point ()
+ T.SY = T.ABC : symmedian ()
+ T.med = T.ABC : medial ()
+ z.Ka,z.Kb,z.Kc = get_points (T.SY)
+ z.Ma,z.Mb,z.Mc = get_points (T.med)
+ L.Kb = T.ABC : symmedian_line (1)
+ _,z.Kb = get_points(L.Kb)
+ z.G = T.ABC.centroid
+ z.Ia,z.Ib,z.Ic = get_points ( T.ABC : incentral ())
+ -- z.T = T.ABC : trilinear (0,1,1)
+ z.I = T.ABC.incenter
+\end{tkzelements}
+\begin{tikzpicture}
+\tkzGetNodes
+\tkzDrawPolygons(A,B,C)
+\tkzDrawPoints(A,B,C,L,Ka,Kb,Kc,G,Ma,Mb,Mc,Ia,Ib,Ic,I)
+\tkzDrawSegments[cyan](A,Ka B,Kb C,Kc)
+\tkzDrawSegments[green](A,Ma B,Mb C,Mc)
+\tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic)
+\tkzLabelPoints[above](C,Ka,Ia,Ma)
+\tkzLabelPoints[above left](Kb,Ib,Mb)
+\tkzLabelPoints(A,B,L,Kc,I,Ic,Mc,G)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = 2
+ z.A = point : new (0,0)
+ z.B = point : new (7,0)
+ z.C = point : new (2,3)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ z.L = T.ABC : lemoine_point ()
+ T.SY = T.ABC : symmedian ()
+ T.med = T.ABC : medial ()
+ z.Ka,z.Kb,z.Kc = get_points (T.SY)
+ z.Ma,z.Mb,z.Mc = get_points (T.med)
+ L.Kb = T.ABC : symmedian_line (1)
+ _,z.Kb = get_points(L.Kb)
+ z.G = T.ABC.centroid
+ z.Ia,z.Ib,z.Ic = get_points ( T.ABC : incentral ())
+ -- z.T = T.ABC : trilinear (0,1,1)
+ z.I = T.ABC.incenter
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,L,Ka,Kb,Kc,G,Ma,Mb,Mc,Ia,Ib,Ic,I)
+ \tkzDrawSegments[cyan](A,Ka B,Kb C,Kc)
+ \tkzDrawSegments[green](A,Ma B,Mb C,Mc)
+ \tkzDrawSegments[dashed,red](A,Ia B,Ib C,Ic)
+ \tkzLabelPoints[above](C,Ka,Ia,Ma)
+ \tkzLabelPoints[above left](Kb,Ib,Mb)
+ \tkzLabelPoints(A,B,L,Kc,I,Ic,Mc,G)
+ \end{tikzpicture}
+\end{center}
+
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_symmedial (end)
+
+\subsubsection{Method \Imeth{triangle}{anti}} % (fold)
+\label{ssub:method_imeth_triangle_anti}
+
+The anticomplementary triangle is the triangle $TaTbTc$ which has a given triangle $ABC$ as its medial triangle. It is therefore the anticevian triangle with respect to the triangle centroid G (Kimberling 1998, p. 156). [\href{https://mathworld.wolfram.com/AnticomplementaryTriangle.html}{Weisstein, Eric W. "Anticomplementary Triangle." From MathWorld--A Wolfram Web Resource.}]
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .6
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ T.similar = T: anti()
+ z.Ta,
+ z.Tb,
+ z.Tc = get_points (T.similar)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawPolygon[blue](Ta,Tb,Tc)
+ \tkzDrawPoints(A,B,C,Ta,Tb,Tc)
+ \tkzLabelPoints(A,B,Tc)
+ \tkzLabelPoints[above](Ta,Tb,C)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .6
+ z.A = point: new (0,0)
+ z.B = point: new (5,0)
+ z.C = point: new (2,4)
+ T = triangle: new(z.A,z.B,z.C)
+ T.similar = T: anti()
+ z.Ta,
+ z.Tb,
+ z.Tc = get_points (T.similar)
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons[red](A,B,C)
+ \tkzDrawPolygon[blue](Ta,Tb,Tc)
+ \tkzDrawPoints(A,B,C,Ta,Tb,Tc)
+ \tkzLabelPoints(A,B,Tc)
+ \tkzLabelPoints[above](Ta,Tb,C)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+
+% subsubsection method_imeth_triangle_anti (end)
+
+
\subsubsection{Euler line} % (fold)
\label{ssub:euler_line}
+The line on which the orthocenter $H$, triangle centroid $G$, circumcenter $O$, nine-point center $N$, and a number of other important triangle centers lie.
+[ \href{https://mathworld.wolfram.com/EulerLine.html}{Weisstein, Eric W. "Euler Line." From MathWorld--A Wolfram Web Resource.}]
+
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
@@ -468,33 +2155,38 @@ En géométrie plane, le théorème du cercle de Conway stipule que lorsque les
z.P,z.Q,z.R = get_points (T.ABC: orthic())
z.K,z.I,z.J = get_points (T.ABC: medial ())
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines[blue](O,H)
-\tkzDrawCircle[red](N,I)
-\tkzDrawCircles[teal](O,A)
-\tkzDrawSegments(A,P B,Q C,R)
-\tkzDrawSegments[red](A,I B,J C,K)
-\tkzDrawPolygons(A,B,C)
-\tkzDrawPoints(A,B,C,N,I,J,K,O,P,Q,R,H,G)
-\tkzLabelPoints(A,B,C,I,J,K,P,Q,R)
-\tkzLabelPoints[below](N,O,G,H)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines[blue](O,H)
+ \tkzDrawCircle[red](N,I)
+ \tkzDrawCircles[teal](O,A)
+ \tkzDrawSegments(A,P B,Q C,R)
+ \tkzDrawSegments[red](A,I B,J C,K)
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,N,I,J,K,O,P,Q,R,H,G)
+ \tkzLabelPoints(A,B,J,P,R)
+ \tkzLabelPoints[above](C,I,Q,K)
+ \tkzLabelPoints[below](N,O,G,H)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsubsection euler_line (end)
\subsection{Euler ellipse} % (fold)
\label{sub:euler_ellipse}
+The Euler ellipse is a conic, tangent to the three sides of a triangle, with the orthocentre and the centre of the circumscribed circle as foci.
Example of obtaining the Euler circle as well as the Euler ellipse.
+\vspace{6pt}
\begin{tkzelements}
z.A = point: new (2,3.8)
z.B = point: new (0 ,0)
z.C = point: new (6.2 ,0)
L.AB = line : new ( z.A , z.B )
T.ABC = triangle: new (z.A,z.B,z.C)
-z.K = midpoint (z.B,z.C)
+z.K = midpoint (z.B,z.C)
E.euler = T.ABC : euler_ellipse ()
z.N = T.ABC.eulercenter
C.euler = circle : new (z.N,z.K)
@@ -512,7 +2204,7 @@ z.B = point: new (0 ,0)
z.C = point: new (6.2 ,0)
L.AB = line : new ( z.A , z.B )
T.ABC = triangle: new (z.A,z.B,z.C)
-z.K = midpoint (z.B,z.C)
+z.K = midpoint (z.B,z.C)
E.euler = T.ABC : euler_ellipse ()
z.N = T.ABC.eulercenter
C.euler = circle : new (z.N,z.K)
@@ -554,21 +2246,22 @@ z.H = T.ABC.orthocenter
\subsubsection{Steiner inellipse and circumellipse} % (fold)
\label{ssub:steiner_inellipse_and_circumellipse}
-In this example, the inner and outer Steiner ellipses, referred to as the "inellipse" and "circumellipse" (Mathworld.com), respectively, along with the orthoptic circle, are depicted.. The triangle must be acutangle.
+In this example, the inner and outer Steiner ellipses, referred to as the "inellipse" and "circumellipse" [\href{https://mathworld.wolfram.com/SteinerInellipse.html}{Weisstein, Eric W. "Steiner Inellipse." From MathWorld--A Wolfram Web Resource.} and \href{https://mathworld.wolfram.com/SteinerCircumellipse.html}{Weisstein, Eric W. "Steiner Circumellipse." From MathWorld--A Wolfram Web Resource.}], respectively, along with the orthoptic circle, are depicted.. The triangle must be acutangle.
+\vspace{6pt}
\begin{minipage}{.5\textwidth}
\begin{Verbatim}
\begin{tkzelements}
scale = .5
z.A = point: new (1 , 4)
z.B = point: new (11 , 1)
- z.C = point: new (5 , 12)
+ z.C = point: new (5 , 12)
T.ABC = triangle: new(z.A,z.B,z.C)
E = T.ABC: steiner_inellipse ()
z.G = E.center
ang = math.deg(E.slope)
z.F = E.Fa
- z.E = E.Fb
+ z.E = E.Fb
C = E: orthoptic_circle ()
z.w = C.center
z.o = C.through
@@ -584,13 +2277,13 @@ In this example, the inner and outer Steiner ellipses, referred to as the "inell
scale = .5
z.A = point: new (1 , 4)
z.B = point: new (11 , 1)
-z.C = point: new (5 , 12)
+z.C = point: new (5 , 12)
T.ABC = triangle: new(z.A,z.B,z.C)
E = T.ABC: steiner_inellipse ()
z.G = E.center
ang = math.deg(E.slope)
z.F = E.Fa
-z.E = E.Fb
+z.E = E.Fb
C = E: orthoptic_circle ()
z.w = C.center
z.o = C.through
@@ -611,7 +2304,7 @@ z.T2 = L.T2.pb
\tkzUseLua{EE.Ry},\tkzUseLua{ang})
\tkzDrawLines(F,E M,T1 M,T2) %
\tkzDrawPoints(A,B,C,F,E,G,M,T1,T2)
-\tkzLabelPoints[above](C,M,T1)
+\tkzLabelPoints[above](C,M,T1)
\tkzLabelPoints[right](T2,B)
\tkzLabelPoints[below left](A,F,E,G)
\end{tikzpicture}
@@ -628,7 +2321,7 @@ z.T2 = L.T2.pb
\tkzUseLua{EE.Ry},\tkzUseLua{ang})
\tkzDrawLines(F,E M,T1 M,T2) %
\tkzDrawPoints(A,B,C,F,E,G,M,T1,T2)
-\tkzLabelPoints[above](C,M,T1)
+\tkzLabelPoints[above](C,M,T1)
\tkzLabelPoints[right](T2,B)
\tkzLabelPoints[below left](A,F,E,G)
\end{tikzpicture}
@@ -639,9 +2332,17 @@ z.T2 = L.T2.pb
\subsection{Harmonic division and bisector} % (fold)
\label{sub:harmonic_division_and_bisector}
+Let four points $A$, $C$, $B$ and $D$, in this order, lying on the straight line $(d)$ and $M$ un point pris hors de $(d)$. Then, if two of the following three propositions are true, then the third is also true:
+ \begin{enumerate}
+ \item The division (A,B;C,D) is harmonic. ($CA/CB = DA/DB$)
+ \item $(MC)$ is the internal angle bisector of $\widehat{AMB}$.
+ \item $(MD) \perp (MC)$.
+ \end{enumerate}
+
+ \vspace{6pt}
\begin{minipage}{.4\textwidth}
\begin{Verbatim}
-\begin{tkzelements}
+\begin{tkzelements}
scale = .4
z.A = point: new (0 , 0)
z.B = point: new (6 , 0)
@@ -664,7 +2365,7 @@ z.T2 = L.T2.pb
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
-\begin{tkzelements}
+\begin{tkzelements}
scale =.4
z.A = point: new (0 , 0)
z.B = point: new (6 , 0)
@@ -684,7 +2385,7 @@ z.T2 = L.T2.pb
z.E = intersection (L.LL,L.MC)
z.F = intersection (L.LL,L.MD)
\end{tkzelements}
-\hspace{\fill}
+\hspace{\fill}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygon(A,B,M)
@@ -719,59 +2420,8 @@ z.T2 = L.T2.pb
\end{Verbatim}
% subsection harmonic_division_and_bisector (end)
-\subsubsection{Method \Imeth{triangle}{cevan}} % (fold)
-\label{ssub:method_imeth_triangle_cevan}
-
-\begin{minipage}{.5\textwidth}
- \begin{Verbatim}
- \begin{tkzelements}
- scale = 2
- z.a = point: new (1,2)
- z.b = point: new (5,1)
- z.c = point: new (3,5)
- T = triangle: new (z.a,z.b,z.c)
- z.i = T.orthocenter
- T.cevian = T : cevian (z.i)
- z.ta,z.tb,z.tc = get_points (T.cevian)
- C.cev = T : cevian_circle (z.i)
- z.w = C.cev.center
- \end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygons(a,b,c ta,tb,tc)
- \tkzDrawSegments(a,ta b,tb c,tc)
- \tkzDrawPoints(a,b,c,i,ta,tb,tc)
- \tkzLabelPoints(a,b,c,i)
- \tkzDrawCircles(w,ta)
- \end{tikzpicture}
- \end{Verbatim}
-\end{minipage}
-\begin{minipage}{.5\textwidth}
- \begin{tkzelements}
- scale = 2
- z.a = point: new (1,2)
- z.b = point: new (5,1)
- z.c = point: new (3,5)
- T = triangle: new (z.a,z.b,z.c)
- z.i = T.orthocenter
- T.cevian = T : cevian (z.i)
- z.ta,z.tb,z.tc = get_points (T.cevian)
- C.cev = T : cevian_circle (z.i)
- z.w = C.cev.center
- \end{tkzelements}
- \begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygons(a,b,c ta,tb,tc)
- \tkzDrawSegments(a,ta b,tb c,tc)
- \tkzDrawPoints(a,b,c,i,ta,tb,tc)
- \tkzLabelPoints(a,b,c,i)
- \tkzDrawCircles(w,ta)
- \end{tikzpicture}
-\end{minipage}
-
-
-% subsubsection method_imeth_triangle_cevan (end)
-% subsection methods_of_the_class_triangle (end)
-% section class_triangle (end)
+%
+% % subsection methods_of_the_class_triangle (end)
+% % section class_triangle (end)
\endinput
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-vectors.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-vectors.tex
index b981ef555a..ed1ea77183 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-vectors.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-classes-vectors.tex
@@ -41,11 +41,11 @@ z.E = V.AE.head -- we recover the final point (head)
\begin{tabular}{lll}
\toprule
\textbf{Attributes} & \textbf{Application}& \textbf{Example}\\
-\Iattr{vector}{tail} & |V.AB.t = z.A| & Refer to (\ref{ssub:methods}) \\
-\Iattr{vector}{head} & |V.AB.head = z.B| & Refer to (\ref{ssub:methods}) \\
+\Iattr{vector}{tail} & |V.AB.t = z.A| & [\ref{ssub:methods}]\\
+\Iattr{vector}{head} & |V.AB.head = z.B| & [\ref{ssub:methods}] \\
\Iattr{vector}{type} & |V.AB.type = 'vector'| & \\
-\Iattr{vector}{slope} & |V.AB.slope| & Refer to (\ref{ssub:example_vector_attributes})\\
-\Iattr{vector}{length} & |V.AB.norm|& Refer to (\ref{ssub:example_vector_attributes})\\
+\Iattr{vector}{slope} & |V.AB.slope| & [\ref{ssub:example_vector_attributes}] \\
+\Iattr{vector}{length} & |V.AB.norm|& [\ref{ssub:example_vector_attributes} ]\\
\Iattr{vector}{mtx} & |V.AB.mtx| & The result is a column matrix |{{V.AB.t},{V.AB.h}}|\\
\bottomrule
\end{tabular}
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex
index 4f46d4a127..284ecca8eb 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-examples.tex
@@ -2,7 +2,65 @@
\section{Examples} % (fold)
\label{sec:examples}
-
+
+\subsection{Length transfer} % (fold)
+\label{sub:report_de_distance}
+
+Use of |north and east| functions linked to points, to transfer lengths, Refer to (\ref{sub:length_of_a_segment})
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = .75
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 3 , 0 )
+ L.AB = line : new ( z.A , z.B )
+ T.ABC = L.AB : sublime ()
+ z.C = T.ABC.pc
+ z.D = z.B: north (length(z.B,z.C))
+ z.E = z.B: east (L.AB.length)
+ z.M = L.AB.mid
+ z.F = z.E : north (length(z.C,z.M))
+\end{tkzelements}
+\begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
+ \tkzDrawPoints(A,...,F)
+ \tkzLabelPoints(A,B,E,M)
+ \tkzLabelPoints[above right](C,D,F)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+ scale = .75
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 3 , 0 )
+ L.AB = line : new ( z.A , z.B )
+ T.ABC = L.AB : sublime ()
+ z.C = T.ABC.pc
+ z.D = z.B: north (length(z.B,z.C))
+ z.E = z.B: east (L.AB.length)
+ z.M = L.AB.mid
+ z.F = z.E : north (length(z.C,z.M))
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawSegments[gray,dashed](B,D B,E E,F C,M)
+ \tkzDrawPoints(A,...,F)
+ \tkzLabelPoints(A,B,E,M)
+ \tkzLabelPoints[above right](C,D,F)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsection report_de_distance (end)
+
+
\subsection{D'Alembert 1} % (fold)
\label{sub:d_alembert_1}
@@ -54,15 +112,18 @@ z.Ip = C.Aa : internal_similitude (C.Bb)
z.Jp = C.Aa : internal_similitude (C.Cc)
z.Kp = C.Cc : internal_similitude (C.Bb)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[rotate=30]
- \tkzGetNodes
- \tkzDrawCircles(A,a B,b C,c)
- \tkzDrawPoints(A,B,C,I,J,K,I',J',K')
- \tkzDrawSegments[new](I,K A,I A,J B,I B,K C,J C,K)
- \tkzDrawSegments[purple](I,J' I',J I',K)
- \tkzLabelPoints(I,J,K,I',J',K')
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}[rotate=30]
+ \tkzGetNodes
+ \tkzDrawCircles(A,a B,b C,c)
+ \tkzDrawPoints(A,B,C,I,J,K,I',J',K')
+ \tkzDrawSegments[new](I,K A,I A,J B,I B,K C,J C,K)
+ \tkzDrawSegments[purple](I,J' I',J I',K)
+ \tkzLabelPoints(I,J,K,I',J',K')
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection d_alembert_1 (end)
@@ -110,14 +171,148 @@ z.Kp = C.Cc : internal_similitude (C.Bb)
z.m,z.n = get_points (C.Bb : radical_axis (C.Cc))
\end{tkzelements}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,a B,b C,c)
+ \tkzDrawLines[new](i,j k,l m,n)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+% subsection d_alembert_2 (end)
+
+\subsection{Altshiller} % (fold)
+\label{sub:altshiller}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ z.P = point : new (0,0)
+ z.Q = point : new (5,0)
+ z.I = point : new (3,2)
+ C.QI = circle : new (z.Q,z.I)
+ C.PE = C.QI : orthogonal_from (z.P)
+ z.E = C.PE.through
+ C.QE = circle : new (z.Q,z.E)
+ _,z.F = intersection (C.PE,C.QE)
+ z.A = C.PE: point (1/9)
+ L.AE = line : new (z.A,z.E)
+ _,z.C = intersection (L.AE,C.QE)
+ L.AF = line : new (z.A,z.F)
+ L.CQ = line : new (z.C,z.Q)
+ z.D = intersection (L.AF,L.CQ)
+\end{tkzelements}
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,a B,b C,c)
-\tkzDrawLines[new](i,j k,l m,n)
+ \tkzGetNodes
+ \tkzDrawCircles(P,E Q,E)
+ \tkzDrawLines[add=0 and 1](P,Q)
+ \tkzDrawLines[add=0 and 2](A,E)
+ \tkzDrawSegments(P,E E,F F,C A,F C,D)
+ \tkzDrawPoints(P,Q,E,F,A,C,D)
+ \tkzLabelPoints(P,Q,E,F,A,C,D)
+\end{tikzpicture}
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale =.5
+ z.P = point : new (0,0)
+ z.Q = point : new (5,0)
+ z.I = point : new (3,2)
+ C.QI = circle : new (z.Q,z.I)
+ C.PE = C.QI : orthogonal_from (z.P)
+ z.E = C.PE.through
+ C.QE = circle : new (z.Q,z.E)
+ _,z.F = intersection (C.PE,C.QE)
+ z.A = C.PE: point (1/9)
+ L.AE = line : new (z.A,z.E)
+ _,z.C = intersection (L.AE,C.QE)
+ L.AF = line : new (z.A,z.F)
+ L.CQ = line : new (z.C,z.Q)
+ z.D = intersection (L.AF,L.CQ)
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(P,E Q,E)
+ \tkzDrawLines[add=0 and 1](P,Q)
+ \tkzDrawLines[add=0 and 2](A,E)
+ \tkzDrawSegments(P,E E,F F,C A,F C,D)
+ \tkzDrawPoints(P,Q,E,F,A,C,D)
+ \tkzLabelPoints(P,Q,E,F,A,C,D)
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+%subsection altshiller (end)
+
+\subsection{Lemoine} % (fold)
+\label{sub:lemoine}
+
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 1.25
+ z.A = point: new (1,0)
+ z.B = point: new (5,2)
+ z.C = point: new (1.2,2)
+ T = triangle: new(z.A,z.B,z.C)
+ z.O = T.circumcenter
+ C.OA = circle: new (z.O,z.A)
+ L.tA = C.OA: tangent_at (z.A)
+ L.tB = C.OA: tangent_at (z.B)
+ L.tC = C.OA: tangent_at (z.C)
+ z.P = intersection (L.tA,T.bc)
+ z.Q = intersection (L.tB,T.ca)
+ z.R = intersection (L.tC,T.ab)
+\end{tkzelements}
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon[teal](A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,P,Q,R)
+ \tkzLabelPoints(A,B,C,P,Q,R)
+ \tkzDrawLine[blue](Q,R)
+ \tkzDrawLines[red](A,P B,Q R,C)
+ \tkzDrawSegments(A,R C,P C,Q)
\end{tikzpicture}
+\end{Verbatim}
+
\end{minipage}
-% subsection d_alembert_2 (end)
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+scale = .75
+z.A = point: new (1,0)
+z.B = point: new (5,2)
+z.C = point: new (1.2,2)
+T = triangle: new(z.A,z.B,z.C)
+z.O = T.circumcenter
+C.OA = circle: new (z.O,z.A)
+L.tA = C.OA: tangent_at (z.A)
+L.tB = C.OA: tangent_at (z.B)
+L.tC = C.OA: tangent_at (z.C)
+z.R = intersection (L.tC,T.ab)
+z.P = intersection (L.tA,T.bc)
+z.Q = intersection (L.tB,T.ca)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}[rotate=90]
+ \tkzGetNodes
+ \tkzDrawPolygon[teal](A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,P,Q,R)
+ \tkzLabelPoints(A,B,C,P,Q,R)
+ \tkzDrawLine[blue](Q,R)
+ \tkzDrawLines[red](A,P B,Q R,C)
+ \tkzDrawSegments(A,R C,P C,Q)
+ \end{tikzpicture}
+\end{center}
+
+\end{minipage}
+%\caption{Lemoine line}
+% subsection lemoine (end)
+
\subsection{Alternate} % (fold)
\label{sub:alternate}
@@ -148,7 +343,7 @@ z.Kp = C.Cc : internal_similitude (C.Bb)
\end{tikzpicture}
\end{Verbatim}
\end{minipage}
-\hspace*{\fill}
+
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
\begin{tkzelements}
z.A = point: new (0 , 0)
@@ -161,21 +356,94 @@ z.D = intersection (L.AI,T.bc)
L.LLC = T.ab: ll_from (z.C)
z.E = intersection (L.AI,L.LLC)
\end{tkzelements}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawLine[purple](C,E)
-\tkzDrawSegment[purple](A,E)
-\tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
-\tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
-\tkzDrawPoints(A,...,E)
-\tkzLabelPoints(A,B)
-\tkzLabelPoints[above](C,D,E)
-\tkzMarkSegments(A,C C,E)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLine[purple](C,E)
+ \tkzDrawSegment[purple](A,E)
+ \tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
+ \tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
+ \tkzDrawPoints(A,...,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+ \tkzMarkSegments(A,C C,E)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection alternate (end)
+\subsection{Method \Imeth{circle}{common tangent}: orthogonality} % (fold)
+\label{sub:common_tangent_orthogonality}
+For two circles to be orthogonal, it is necessary and sufficient for a secant passing through one of their common points to be seen from the other common point at a right angle.
+
+\begin{Verbatim}
+\begin{tkzelements}
+ z.A = point : new ( 0 , 0 )
+ z.B = point : new ( 4 , 2 )
+ L.AB = line : new ( z.A , z.B )
+ z.a = point : new ( 1 , 2 )
+ C.Aa = circle : new (z.A,z.a)
+ C.BC = C.Aa : orthogonal_from (z.B)
+ z.C,z.D = intersection (C.Aa,C.BC)
+ C.AC = circle : new (z.A,z.C)
+ z.T,z.Tp = C.AC : common_tangent (C.BC)
+ L.TTp = line : new (z.T,z.Tp)
+ z.M = C.AC : point (0.45)
+ L.MC =line : new (z.M,z.C)
+ z.Mp = intersection (L.MC, C.BC)
+ L.mm = L.TTp : ll_from (z.C)
+ _,z.M = intersection (L.mm, C.AC)
+ z.Mp = intersection (L.mm, C.BC)
+\end{tkzelements}
+
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawSegments(M,M' A,C B,C A,B)
+ \tkzDrawSegments[gray](D,M D,M' T,T')
+ \tkzDrawPoints(A,B,C,D,M,M',T,T')
+ \tkzLabelPoints(A,B,D,M)
+ \tkzLabelPoints[above](C,M',T,T')
+ \tkzMarkRightAngles(M',D,M A,C,B)
+\end{tikzpicture}
+\end{Verbatim}
+
+\begin{tkzelements}
+z.A = point : new ( 0 , 0 )
+z.B = point : new ( 4 , 2 )
+L.AB = line : new ( z.A , z.B )
+z.a = point : new ( 1 , 2 )
+C.Aa = circle : new (z.A,z.a)
+C.BC = C.Aa : orthogonal_from (z.B)
+z.C,z.D = intersection (C.Aa,C.BC)
+C.AC = circle : new (z.A,z.C)
+z.T,z.Tp = C.AC : common_tangent (C.BC)
+L.TTp = line : new (z.T,z.Tp)
+z.M = C.AC : point (0.45)
+L.MC =line : new (z.M,z.C)
+z.Mp = intersection (L.MC, C.BC)
+L.mm = L.TTp : ll_from (z.C)
+_,z.M = intersection (L.mm, C.AC)
+z.Mp = intersection (L.mm, C.BC)
+\end{tkzelements}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawSegments(M,M' A,C B,C A,B)
+ \tkzDrawSegments[gray](D,M D,M' T,T')
+ \tkzDrawPoints(A,B,C,D,M,M',T,T')
+ \tkzLabelPoints(A,B,D,M)
+ \tkzLabelPoints[above](C,M',T,T')
+ \tkzMarkRightAngles(M',D,M A,C,B)
+ \end{tikzpicture}
+\end{center}
+% subsection common_tangent_orthogonality (end)
+
+
\subsection{Apollonius circle} % (fold)
\label{sub:apollonius_circle}
@@ -215,23 +483,26 @@ scale=.75
\end{Verbatim}
\end{minipage}
\begin{minipage}{.5\textwidth}
- \hspace*{\fill}
- \begin{tikzpicture}[scale=.8]
- \tkzGetNodes
- \tkzDrawSegment[add=0 and 1](A,M)
- \tkzDrawSegments[purple](M,C M,D)
- \tkzDrawCircle[purple](O,C)
- \tkzDrawSegments(A,B B,M D,B)
- \tkzDrawPoints(A,B,M,C,D)
- \tkzLabelPoints[below right](A,B,C,D)
- \tkzLabelPoints[above](M)
- \tkzFillAngles[opacity=.4,cyan!20](A,M,B)
- \tkzFillAngles[opacity=.4,purple!20](B,M,E)
- \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
- \tkzMarkAngles[mark=|](A,M,C C,M,B)
- \tkzMarkAngles[mark=||](B,M,D D,M,E)
- \end{tikzpicture}
- \hspace*{\fill}
+
+ \begin{center}
+ \begin{tikzpicture}[scale=.8]
+ \tkzGetNodes
+ \tkzDrawSegment[add=0 and 1](A,M)
+ \tkzDrawSegments[purple](M,C M,D)
+ \tkzDrawCircle[purple](O,C)
+ \tkzDrawSegments(A,B B,M D,B)
+ \tkzDrawPoints(A,B,M,C,D)
+ \tkzLabelPoints[below right](A,B,C,D)
+ \tkzLabelPoints[above](M)
+ \tkzFillAngles[opacity=.4,cyan!20](A,M,B)
+ \tkzFillAngles[opacity=.4,purple!20](B,M,E)
+ \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
+ \tkzMarkAngles[mark=|](A,M,C C,M,B)
+ \tkzMarkAngles[mark=||](B,M,D D,M,E)
+ \end{tikzpicture}
+ \end{center}
+
+
\end{minipage}
@@ -319,20 +590,23 @@ Remark : The circle can be obtained with:
_,z.N = intersection (C.GA , C.OC)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,M)
-\tkzDrawCircles[purple](O,C G,A)
-\tkzDrawSegments[purple](M,D)
-\tkzDrawSegments(D,B O,G M,C)
-\tkzDrawSegments[red,dashed](M,N M,O M,G)
-\tkzDrawPoints(A,B,M,C,D,N,O,G)
-\tkzLabelPoints[below right](A,B,C,D,N,O,G)
-\tkzLabelPoints[above](M)
-\tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,M)
+ \tkzDrawCircles[purple](O,C G,A)
+ \tkzDrawSegments[purple](M,D)
+ \tkzDrawSegments(D,B O,G M,C)
+ \tkzDrawSegments[red,dashed](M,N M,O M,G)
+ \tkzDrawPoints(A,B,M,C,D,N,O,G)
+ \tkzLabelPoints[below right](A,B,C,D,N,O,G)
+ \tkzLabelPoints[above](M)
+ \tkzMarkRightAngle[opacity=.4,fill=gray!20](C,M,D)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection apollonius_and_circle_circumscribed (end)
\subsection{Apollonius circles in a triangle} % (fold)
@@ -414,19 +688,22 @@ L.Bpt = line: new (z.Bp,z.T)
z.O3 = L.Bpt.mid
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles[blue!50!black](O1,C' O2,A' O3,B')
-\tkzDrawSegments[new](B,S C,T A,R)
-\tkzDrawPolygon(A,B,C)
-\tkzDrawPoints(A,B,C,A',B',C',O,I,R,S,T,O1,O2,O3)
-\tkzLabelPoints(A,B,C,A',B',C',O,I)
-\tkzLabelPoints(O1,O2,O3)
-\tkzDrawCircle[purple](O,A)
-\tkzDrawLine(O1,O2)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[blue!50!black](O1,C' O2,A' O3,B')
+ \tkzDrawSegments[new](B,S C,T A,R)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPoints(A,B,C,A',B',C',O,I,R,S,T,O1,O2,O3)
+ \tkzLabelPoints(A,B,C,A',B',C',O,I)
+ \tkzLabelPoints(O1,O2,O3)
+ \tkzDrawCircle[purple](O,A)
+ \tkzDrawLine(O1,O2)
+ \end{tikzpicture}
+\end{center}
+
+
Same result using the function |T.ABC.ab : apollonius (k) |
@@ -493,15 +770,18 @@ Same result using the function |T.ABC.ab : apollonius (k) |
C = circle: new (z.O_2,z.A)
z.C,z.D = intersection (L ,C)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O_1,A O_2,A)
-\tkzDrawSegments[new](O_1,A E,F C,D)
-\tkzDrawSegments[purple](A,E A,F)
-\tkzDrawPoints(A,O_1,O_2,E,F,C,D)
-\tkzLabelPoints(A,O_1,O_2,E,F,C,D)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O_1,A O_2,A)
+ \tkzDrawSegments[new](O_1,A E,F C,D)
+ \tkzDrawSegments[purple](A,E A,F)
+ \tkzDrawPoints(A,O_1,O_2,E,F,C,D)
+ \tkzLabelPoints(A,O_1,O_2,E,F,C,D)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection archimedes (end)
@@ -615,30 +895,156 @@ Same result using the function |T.ABC.ab : apollonius (k) |
z.O_5 = T.CP1P2.circumcenter
\end{tkzelements}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSemiCircles[teal](O_0,B)
+ \tkzDrawSemiCircles[teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
+ \tkzDrawCircle[fill=green!10](O_4,P_0)
+ \tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
+ \tkzDrawSegments(A,B O_0,P' B,P A,Q)
+ \tkzDrawSegments(P,B Q,O_2 P,O_1)
+ \tkzDrawSegments[purple](O_5,P_2 O_5,P_1 O_5,C)
+ \tkzDrawPoints(A,B,C,P_0,P_2,P_1,O_0,O_1,O_2,O_4,O_5,Q,P,P',S)
+ \tkzLabelPoints[below](A,B,C,O_0,O_1,O_2,P')
+ \tkzLabelPoints[above](Q,P)
+ \tkzLabelPoints[above right](P_0,P_2,P_1,O_5,O_4,S)
+ \begin{scope}[font=\scriptsize]
+ \tkzLabelCircle[above](O_1,C)(120){$(\beta)$}
+ \tkzLabelCircle[above](O_2,B)(70){$(\gamma)$}
+ \tkzLabelCircle[above](O_0,B)(110){$(\alpha)$}
+ \tkzLabelCircle[left](O_4,P_2)(60){$(\delta)$}
+ \tkzLabelCircle[left](O_5,C)(140){$(\epsilon)$}
+ \end{scope}
+ \end{tikzpicture}
+\end{center}
+
+% subsection bankoff_circle (end)
+
+\subsection{Symmedian property} % (fold)
+\label{sub:example_symmedian_property}
+
+$L$ is the symmedian point or lemoine point. $\dfrac{CL}{CLc} = \dfrac{a^2+b^2}{a^2+b^2+c^2}$
+
+\vspace{6pt}
+\begin{minipage}{.5\textwidth}
+ \begin{Verbatim}
+ \begin{tkzelements}
+ scale = 1.5
+ z.A = point : new (1,2)
+ z.B = point : new (5,1)
+ z.C = point : new (3,5)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ T.SY = T.ABC : symmedian ()
+ z.La,z.Lb,z.Lc = get_points (T.SY)
+ k = (T.ABC.a*T.ABC.a +
+ T.ABC.b*T.ABC.b)/(T.ABC.a*T.ABC.a +
+ T.ABC.b*T.ABC.b+T.ABC.c*T.ABC.c)
+ L.SY = line : new (z.C,z.Lc)
+ z.L = L.SY : point (k)
+ \end{tkzelements}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,L,Lc)
+ \tkzDrawPoints[red](L)
+ \tkzDrawSegments[cyan](C,Lc)
+ \tkzLabelPoints(A,B,Lc)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](L)
+ \tkzLabelSegment(B,C){$a$}
+ \tkzLabelSegment(A,C){$b$}
+ \tkzLabelSegment(A,B){$ca$}
+ \end{tikzpicture}
+ \end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+ \begin{tkzelements}
+ scale = 1.5
+ z.A = point : new (1,2)
+ z.B = point : new (5,1)
+ z.C = point : new (3,5)
+ T.ABC = triangle : new (z.A,z.B,z.C)
+ T.SY = T.ABC : symmedian ()
+ z.La,z.Lb,z.Lc = get_points (T.SY)
+ k = (T.ABC.a*T.ABC.a +
+ T.ABC.b*T.ABC.b)/(T.ABC.a*T.ABC.a +
+ T.ABC.b*T.ABC.b+T.ABC.c*T.ABC.c)
+ L.SY = line : new (z.C,z.Lc)
+ z.L = L.SY : point (k)
+ \end{tkzelements}
+ \begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,L,Lc)
+ \tkzDrawPoints[red](L)
+ \tkzDrawSegments[cyan](C,Lc)
+ \tkzLabelPoints(A,B,Lc)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[left](L)
+ \tkzLabelSegment(B,C){$a$}
+ \tkzLabelSegment(A,C){$b$}
+ \tkzLabelSegment(A,B){$ca$}
+ \end{tikzpicture}
+ \end{center}
+\end{minipage}
+
+
+% subsection example_symmedian_property (end)
+
+\subsection{Example: Cevian with orthocenter} % (fold)
+\label{sub:example_cevian_with_orthocenter}
+\begin{minipage}{.5\textwidth}
+\begin{Verbatim}
+\begin{tkzelements}
+ scale = 1.5
+ z.a = point: new (1,2)
+ z.b = point: new (5,1)
+ z.c = point: new (3,5)
+ T = triangle: new (z.a,z.b,z.c)
+ z.i = T.orthocenter
+ T.cevian = T : cevian (z.i)
+ z.ta,z.tb,z.tc = get_points (T.cevian)
+ C.cev = T : cevian_circle (z.i)
+ z.w = C.cev.center
+\end{tkzelements}
\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawSemiCircles[teal](O_0,B)
-\tkzDrawSemiCircles[teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
-\tkzDrawCircle[fill=green!10](O_4,P_0)
-\tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
-\tkzDrawSegments(A,B O_0,P' B,P A,Q)
-\tkzDrawSegments(P,B Q,O_2 P,O_1)
-\tkzDrawSegments[purple](O_5,P_2 O_5,P_1 O_5,C)
-\tkzDrawPoints(A,B,C,P_0,P_2,P_1,O_0,O_1,O_2,O_4,O_5,Q,P,P',S)
-\tkzLabelPoints[below](A,B,C,O_0,O_1,O_2,P')
-\tkzLabelPoints[above](Q,P)
-\tkzLabelPoints[above right](P_0,P_2,P_1,O_5,O_4,S)
-\begin{scope}[font=\scriptsize]
- \tkzLabelCircle[above](O_1,C)(120){$(\beta)$}
- \tkzLabelCircle[above](O_2,B)(70){$(\gamma)$}
- \tkzLabelCircle[above](O_0,B)(110){$(\alpha)$}
- \tkzLabelCircle[left](O_4,P_2)(60){$(\delta)$}
- \tkzLabelCircle[left](O_5,C)(140){$(\epsilon)$}
-\end{scope}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c ta,tb,tc)
+ \tkzDrawSegments(a,ta b,tb c,tc)
+ \tkzDrawPoints(a,b,c,i,ta,tb,tc)
+ \tkzLabelPoints(a,b,c,i)
+ \tkzDrawCircles(w,ta)
\end{tikzpicture}
-\hspace*{\fill}
-% subsection bankoff_circle (end)
+\end{Verbatim}
+\end{minipage}
+\begin{minipage}{.5\textwidth}
+\begin{tkzelements}
+scale = 1.5
+z.a = point: new (1,2)
+z.b = point: new (5,1)
+z.c = point: new (3,5)
+T = triangle: new (z.a,z.b,z.c)
+z.i = T.orthocenter
+T.cevian = T : cevian (z.i)
+z.ta,z.tb,z.tc = get_points (T.cevian)
+C.cev = T : cevian_circle (z.i)
+z.w = C.cev.center
+\end{tkzelements}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c ta,tb,tc)
+ \tkzDrawSegments(a,ta b,tb c,tc)
+ \tkzDrawPoints(a,b,c,i,ta,tb,tc)
+ \tkzLabelPoints(a,b,c,i)
+ \tkzDrawCircles(w,ta)
+ \end{tikzpicture}
+\end{center}
+\end{minipage}
+
+% subsection example_cevian_with_orthocenter (end)
\subsection{Excircles} % (fold)
\label{sub:excircles}
@@ -693,73 +1099,33 @@ Same result using the function |T.ABC.ab : apollonius (k) |
z.G = intersection (la,lb)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints[new](J_a,J_b,J_c)
-\tkzClipBB
-\tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c)
-\tkzDrawLines[add=1 and 1](A,B B,C C,A)
-\tkzDrawSegments[new](A,T_a B,T_b C,T_c)
-\tkzDrawSegments[new](J_a,T_a J_b,T_b J_c,T_c)
-\tkzDrawPolygon(A,B,C)
-\tkzDrawPolygon[new](T_a,T_b,T_c)
-\tkzDrawPoints(A,B,C,K)
-\tkzDrawPoints[new](T_a,T_b,T_c)
-\tkzLabelPoints[below left](A)
-\tkzLabelPoints[below](B)
-\tkzLabelPoints[above](C)
-\tkzLabelPoints[new,below left](T_b)
-\tkzLabelPoints[new,below right](T_c)
-\tkzLabelPoints[new,right=6pt](T_a)
-\tkzMarkRightAngles[fill=gray!15](J_a,T_a,B J_b,T_b,C J_c,T_c,A)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection excircles (end)
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints[new](J_a,J_b,J_c)
+ \tkzClipBB
+ \tkzDrawCircles[gray](J_a,T_a J_b,T_b J_c,T_c)
+ \tkzDrawLines[add=1 and 1](A,B B,C C,A)
+ \tkzDrawSegments[new](A,T_a B,T_b C,T_c)
+ \tkzDrawSegments[new](J_a,T_a J_b,T_b J_c,T_c)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawPolygon[new](T_a,T_b,T_c)
+ \tkzDrawPoints(A,B,C,K)
+ \tkzDrawPoints[new](T_a,T_b,T_c)
+ \tkzLabelPoints[below left](A)
+ \tkzLabelPoints[below](B)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints[new,below left](T_b)
+ \tkzLabelPoints[new,below right](T_c)
+ \tkzLabelPoints[new,right=6pt](T_a)
+ \tkzMarkRightAngles[fill=gray!15](J_a,T_a,B J_b,T_b,C J_c,T_c,A)
+ \end{tikzpicture}
+\end{center}
+
+
+% subsection excircles (end)
-\subsection{Orthogonal circle through} % (fold)
-\label{sub:orthogonal_circle_through}
-\begin{minipage}{.5\textwidth}
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point: new (0,1)
- z.A = point: new (1,0)
- z.z1 = point: new (-1.5,-1.5)
- z.z2 = point: new (2.5,-1.25)
- C.OA = circle: new (z.O,z.A)
- C = C.OA: orthogonal_through (z.z1,z.z2)
- z.c = C.center
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircle(O,A)
- \tkzDrawCircle[new](c,z1)
- \tkzDrawPoints[new](O,A,z1,z2,c)
- \tkzLabelPoints[right](O,A,z1,z2,c)
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}{.5\textwidth}\begin{tkzelements}
- z.O = point: new (0,1)
- z.A = point: new (1,0)
- z.z1 = point: new (-1.5,-1.5)
- z.z2 = point: new (2.5,-1.25)
- C.OA = circle: new (z.O,z.A)
- C = C.OA: orthogonal_through (z.z1,z.z2)
- z.c = C.center
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzDrawCircle[orange](c,z1)
-\tkzDrawPoints[orange](O,A,z1,z2,c)
-\tkzLabelPoints[right](O,A,z1,z2,c)
-\end{tikzpicture}
-\hspace*{\fill}
-\end{minipage}
-% subsection orthogonal_circle_through (end)
\subsection{Divine ratio} % (fold)
\label{sub:divine_ratio}
@@ -826,16 +1192,19 @@ L.BG = line: new (z.B,z.G)
z.L = intersection (L.AR,L.BG)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygons(A,C,E,F A,B,G,H)
-\tkzDrawCircles(O_1,C O_2,B O_0,B)
-\tkzDrawSegments(H,C B,K A,L)
-\tkzDrawPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
-\tkzLabelPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,C,E,F A,B,G,H)
+ \tkzDrawCircles(O_1,C O_2,B O_0,B)
+ \tkzDrawSegments(H,C B,K A,L)
+ \tkzDrawPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
+ \tkzLabelPoints(A,B,C,K,E,F,G,H,O_0,O_1,O_2,R,S,T,L)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection divine_ratio (end)
\subsection{Director circle} % (fold)
@@ -893,19 +1262,22 @@ z.J = L.J.pb
z.K = L.K.pb
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints(F1,F2,O)
-\tkzDrawCircles[teal](O,P)
-\tkzDrawPolygon(H,O,A,P)
-\tkzDrawEllipse[red](O,\tkzUseLua{a},\tkzUseLua{b},0)
-\tkzDrawSegments[orange](O,P O,L L,J L,K)
-\tkzDrawPoints(F1,F2,O,H,A,P,L,J,K)
-\tkzLabelPoints(F1,F2,O,H,A,P,L,J,K)
-\tkzLabelPoints[above](L)
-\tkzMarkRightAngles(A,P,H J,L,K)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(F1,F2,O)
+ \tkzDrawCircles[teal](O,P)
+ \tkzDrawPolygon(H,O,A,P)
+ \tkzDrawEllipse[red](O,\tkzUseLua{a},\tkzUseLua{b},0)
+ \tkzDrawSegments[orange](O,P O,L L,J L,K)
+ \tkzDrawPoints(F1,F2,O,H,A,P,L,J,K)
+ \tkzLabelPoints(F1,F2,O,H,A,P,L,J,K)
+ \tkzLabelPoints[above](L)
+ \tkzMarkRightAngles(A,P,H J,L,K)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection director_circle (end)
@@ -961,18 +1333,21 @@ z.C = intersection (L.EG,L.AB)
z.O = C.AB: antipode (z.B)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawArc[delta=5](O,B)(G)
- \tkzDrawCircles(A,B B,A)
- \tkzDrawSegments(A,E B,E O,I)
- \tkzDrawSegments[purple](J,E A,G G,I K,G E,G)
- \tkzMarkSegments[mark=s||](A,E B,E O,A)
- \tkzDrawPoints(A,B,C,E,I,J,G,O,K)
- \tkzLabelPoints(A,B,C,E,I,J,G,O,K)
-\end{tikzpicture}
- \hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawArc[delta=5](O,B)(G)
+ \tkzDrawCircles(A,B B,A)
+ \tkzDrawSegments(A,E B,E O,I)
+ \tkzDrawSegments[purple](J,E A,G G,I K,G E,G)
+ \tkzMarkSegments[mark=s||](A,E B,E O,A)
+ \tkzDrawPoints(A,B,C,E,I,J,G,O,K)
+ \tkzLabelPoints(A,B,C,E,I,J,G,O,K)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection gold_division (end)
\subsection{Ellipse} % (fold)
@@ -1014,15 +1389,17 @@ b = E.Ry
slope = math.deg(E.slope)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles[teal](C,A)
-\tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
-\tkzDrawPoints(C,A,B,b)
-\tkzLabelPoints(C,A,B)
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[teal](C,A)
+ \tkzDrawEllipse[red](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{slope})
+ \tkzDrawPoints(C,A,B,b)
+ \tkzLabelPoints(C,A,B)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsection ellipse (end)
@@ -1060,12 +1437,15 @@ z.V = E : point (0)
z.CoV = E : point (math.pi/2)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[gridded]
-\tkzGetNodes
-\tkzDrawEllipse[blue](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
-\tkzDrawPoints(C,V,CoV)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}[gridded]
+ \tkzGetNodes
+ \tkzDrawEllipse[blue](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+ \tkzDrawPoints(C,V,CoV)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection ellipse_with_radii (end)
@@ -1122,15 +1502,18 @@ z.F = L.ta.pb
z.G = L.tb.pb
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPoints(A,B,C,K,F,G,V,cV)
- \tkzLabelPoints(A,B,C,K,F,G,V,cV)
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C,K,F,G,V,cV)
+ \tkzLabelPoints(A,B,C,K,F,G,V,cV)
\tkzDrawEllipse[teal](C,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
- \tkzDrawLines(K,F K,G)
-\end{tikzpicture}
- \hspace*{\fill}
+ \tkzDrawLines(K,F K,G)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsection ellipse_with_foci (end)
@@ -1184,19 +1567,21 @@ L.Ow = line : new (z.O,z.w)
_,z.E = intersection (L.Ow, C.OA)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawArc(J,X)(Y)
-\tkzDrawCircles(I,H O,A)
-\tkzDrawCircle[red](w,I)
-\tkzDrawLines(Y,C A,B X,C E,w E,B)
-\tkzDrawSegments[blue](J,C J,K I,H I,O w,B)
-\tkzDrawPoints(A,B,C,I,J,E,w,H,K,O)
-\tkzLabelPoints(A,B,C,J,I,w,H,K,E,O)
-\tkzMarkRightAngles[fill=gray!20,opacity=.4](C,H,I A,K,J)
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawArc(J,X)(Y)
+ \tkzDrawCircles(I,H O,A)
+ \tkzDrawCircle[red](w,I)
+ \tkzDrawLines(Y,C A,B X,C E,w E,B)
+ \tkzDrawSegments[blue](J,C J,K I,H I,O w,B)
+ \tkzDrawPoints(A,B,C,I,J,E,w,H,K,O)
+ \tkzLabelPoints(A,B,C,J,I,w,H,K,E,O)
+ \tkzMarkRightAngles[fill=gray!20,opacity=.4](C,H,I A,K,J)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsection euler_relation (end)
@@ -1242,20 +1627,23 @@ z.D = intersection (T.ext.ab,T.ABC.ab)
z.E = z.C: symmetry (z.B)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawLine[purple,add=0 and .5](B,C)
-\tkzDrawSegment[purple](A,D)
-\tkzDrawSegment[orange](C,D)
-\tkzFillAngles[purple!30,opacity=.2](D,C,A E,C,D)
-\tkzMarkAngles[mark=|](D,C,A E,C,D)
-\tkzDrawPoints(A,...,D)
-\tkzLabelPoints[above](C)
-\tkzLabelPoints(A,B,D)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLine[purple,add=0 and .5](B,C)
+ \tkzDrawSegment[purple](A,D)
+ \tkzDrawSegment[orange](C,D)
+ \tkzFillAngles[purple!30,opacity=.2](D,C,A E,C,D)
+ \tkzMarkAngles[mark=|](D,C,A E,C,D)
+ \tkzDrawPoints(A,...,D)
+ \tkzLabelPoints[above](C)
+ \tkzLabelPoints(A,B,D)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
% subsection external_angle (end)
@@ -1304,19 +1692,22 @@ L.LL = T.ab: ll_from (z.C)
L.AD = line: new (z.A,z.D)
z.E = intersection (L.LL,L.AD)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawLine[purple](C,E)
-\tkzDrawSegment[purple](A,E)
-\tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
-\tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
-\tkzDrawPoints(A,...,E)
-\tkzLabelPoints(A,B)
-\tkzLabelPoints[above](C,D,E)
-\tkzMarkSegments(A,C C,E)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLine[purple](C,E)
+ \tkzDrawSegment[purple](A,E)
+ \tkzFillAngles[purple!30,opacity=.4](B,A,C C,E,D)
+ \tkzMarkAngles[mark=|](B,A,D D,A,C C,E,D)
+ \tkzDrawPoints(A,...,E)
+ \tkzLabelPoints(A,B)
+ \tkzLabelPoints[above](C,D,E)
+ \tkzMarkSegments(A,C C,E)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
%subsection internal_angle (end)
@@ -1392,18 +1783,20 @@ L.LH = line: new (z.L,z.H)
z.F = intersection (L.LH,C.IH) -- feuerbach
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[rotate=90]
-\tkzGetNodes
-\tkzDrawLine(L,F)
-\tkzDrawCircle[red](N,A')
-\tkzDrawCircle[blue](I,H)
-\tkzDrawCircles[teal](O,A L,C')
-\tkzDrawSegments(M,L B,U Q,C C,X A,P B,Q)
-\tkzDrawPolygons(A,B,C A',B',C')
-\tkzDrawPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
-\tkzLabelPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}[rotate=90]
+ \tkzGetNodes
+ \tkzDrawLine(L,F)
+ \tkzDrawCircle[red](N,A')
+ \tkzDrawCircle[blue](I,H)
+ \tkzDrawCircles[teal](O,A L,C')
+ \tkzDrawSegments(M,L B,U Q,C C,X A,P B,Q)
+ \tkzDrawPolygons(A,B,C A',B',C')
+ \tkzDrawPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
+ \tkzLabelPoints(A,B,C,N,H,A',B',C',U,L,M,P,Q,F,I)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection nine_points (end)
@@ -1448,15 +1841,17 @@ L.AK = line: new (z.Y,z.K)
z.C = intersection (L.AK,L.AB)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(A,B X,K)
-\tkzDrawLine[teal](Y,K)
-\tkzDrawPoints(A,B,C,X,Y,M,K)
-\tkzDrawArc[delta=20](M,A)(K)
-\tkzLabelPoints(A,B,C)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B X,K)
+ \tkzDrawLine[teal](Y,K)
+ \tkzDrawPoints(A,B,C,X,Y,M,K)
+ \tkzDrawArc[delta=20](M,A)(K)
+ \tkzLabelPoints(A,B,C)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
%subsection gold_ratio_with_segment (end)
@@ -1502,13 +1897,15 @@ L.AB = line: new (z.A,z.B)
z.O_0 = L.AB.mid
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O_1,C O_2,B O_0,B O_1,x)
-\tkzDrawPoints(A,C,B,O_1,O_2,O_0,x)
-\tkzLabelPoints[below right](A,C,B)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O_1,C O_2,B O_0,B O_1,x)
+ \tkzDrawPoints(A,C,B,O_1,O_2,O_0,x)
+ \tkzLabelPoints[below right](A,C,B)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection gold_arbelos (end)
@@ -1554,15 +1951,16 @@ z.O_0 = L.AB.mid
L.GF = line :new (z.G,z.F)
z.C = intersection (L.GF,L.AB)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawLines(A,B A,G A,D A,G F,E G,F G,D)
- \tkzDrawPoints(A,B,G,E,F,C,D)
- \tkzLabelPoints(A,B,G,E,F,C,D)
- \tkzMarkSegments(F,B B,E)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,B A,G A,D A,G F,E G,F G,D)
+ \tkzDrawPoints(A,B,G,E,F,C,D)
+ \tkzLabelPoints(A,B,G,E,F,C,D)
+ \tkzMarkSegments(F,B B,E)
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsection harmonic_division_v1 (end)
@@ -1616,13 +2014,15 @@ L.GX = line: new (z.G,z.X)
z.C = intersection (L.GX,L.AB)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines(A,D A,E B,F D,F X,A X,B X,C)
-\tkzDrawPoints(A,...,G,X)
-\tkzLabelPoints(A,...,G,X)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines(A,D A,E B,F D,F X,A X,B X,C)
+ \tkzDrawPoints(A,...,G,X)
+ \tkzLabelPoints(A,...,G,X)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection harmonic_division_v2 (end)
@@ -1666,390 +2066,21 @@ z.Q = intersection (L.AC,L.PX)
z.R = intersection (L.BC,L.PX)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawLine[new](P,R)
-\tkzDrawLines(P,B A,C B,C)
-\tkzDrawPoints(P,Q,R,A,B,C)
-\tkzLabelPoints(A,B,C,P,Q,R)
-\end{tikzpicture}
-\hspace*{\fill}
-\end{minipage}
-% subsection menelaus (end)
-
-\subsection{Radical axis v1} % (fold)
-\label{sub:radical_axis_v1}
-
-\begin{Verbatim}
-\begin{tkzelements}
-scale = .75
-z.X = point : new (0,0)
-z.B = point : new (2,2)
-z.Y = point : new (7,1)
-z.Ap = point : new (8,-1)
-L.XY = line : new (z.X,z.Y)
-C.XB = circle : new (z.X,z.B)
-C.YAp = circle : new (z.Y,z.Ap)
-z.E,z.F = get_points (C.XB : radical_axis (C.YAp))
-z.A = C.XB : point (0.4)
-T.ABAp = triangle: new (z.A,z.B,z.Ap)
-z.O = T.ABAp.circumcenter
-C.OAp = circle : new (z.O,z.Ap)
-_,z.Bp = intersection (C.OAp,C.YAp)
-L.AB = line : new (z.A,z.B)
-L.ApBp = line : new (z.Ap,z.Bp)
-z.M = intersection (L.AB,L.ApBp)
-z.H = L.XY : projection (z.M)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(X,B Y,A')
- \tkzDrawArc[dashed,delta=30](O,A')(A)
- \tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F)
- \tkzDrawLines[red](A,M A',M X,Y E,F)
- \tkzDrawLines[red,add=1 and 3](M,H)
-\end{tikzpicture}
-\end{Verbatim}
-
-\begin{tkzelements}
-scale = .75
-z.X = point : new (0,0)
-z.B = point : new (2,2)
-z.Y = point : new (7,1)
-z.Ap = point : new (8,-1)
-L.XY = line : new (z.X,z.Y)
-C.XB = circle : new (z.X,z.B)
-C.YAp = circle : new (z.Y,z.Ap)
-z.E,z.F = get_points (C.XB : radical_axis (C.YAp))
-z.A = C.XB : point (0.4)
-T.ABAp = triangle: new (z.A,z.B,z.Ap)
-z.O = T.ABAp.circumcenter
-C.OAp = circle : new (z.O,z.Ap)
-_,z.Bp = intersection (C.OAp,C.YAp)
-L.AB = line : new (z.A,z.B)
-L.ApBp = line : new (z.Ap,z.Bp)
-z.M = intersection (L.AB,L.ApBp)
-z.H = L.XY : projection (z.M)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(X,B Y,A')
-\tkzDrawArc[dashed,delta=30](O,A')(A)
-\tkzDrawPoints(A,B,A',B',M,H,X,Y,O,E,F)
-\tkzDrawLines[red](A,M A',M X,Y E,F)
-\tkzDrawLines[red,add=1 and 3](M,H)
-\end{tikzpicture}
-% subsection radical_axis_v1 (end)
-
-\subsection{Radical axis v2} % (fold)
-\label{sub:radical_axis_v2}
-
-\begin{Verbatim}
-\begin{tkzelements}
-scale = 1.25
-z.O = point : new (-1,0)
-z.Op = point : new (4,-1)
-z.B = point : new (0,2)
-z.D = point : new (4,0)
-C.OB = circle : new (z.O,z.B)
-C.OpD = circle : new (z.Op,z.D)
-L.EF = C.OB : radical_axis (C.OpD)
-z.E,z.F = get_points (L.EF)
-z.M = L.EF : point (.75)
-L.MT,L.MTp = C.OB : tangent_from (z.M)
-_,z.T = get_points (L.MT)
-_,z.Tp = get_points (L.MTp)
-L.MK,L.MKp = C.OpD : tangent_from (z.M)
-_,z.K = get_points (L.MK)
-_,z.Kp = get_points (L.MKp)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,B O',D)
- \tkzDrawLine(E,F)
- \tkzDrawLine[add=.5 and .5](O,O')
- \tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K')
- \tkzDrawCircle(M,T)
- \tkzDrawPoints(O,O',T,M,T',K,K')
- \tkzLabelPoints(O,O',T,T',K,K',M)
-\end{tikzpicture}
-\end{Verbatim}
-
-\begin{tkzelements}
-scale =1.25
-z.O = point : new (-1,0)
-z.Op = point : new (4,-1)
-z.B = point : new (0,2)
-z.D = point : new (4,0)
-C.OB = circle : new (z.O,z.B)
-C.OpD = circle : new (z.Op,z.D)
-L.EF = C.OB : radical_axis (C.OpD)
-z.E,z.F = get_points (L.EF)
-z.M = L.EF : point (.75)
-L.MT,L.MTp = C.OB : tangent_from (z.M)
-_,z.T = get_points (L.MT)
-_,z.Tp = get_points (L.MTp)
-L.MK,L.MKp = C.OpD : tangent_from (z.M)
-_,z.K = get_points (L.MK)
-_,z.Kp = get_points (L.MKp)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O,B O',D)
-\tkzDrawLine(E,F)
-\tkzDrawLine[add=.5 and .5](O,O')
-\tkzDrawLines[add = 0 and .5](M,T M,T' M,K M,K')
-\tkzDrawCircle(M,T)
-\tkzDrawPoints(O,O',T,M,T',K,K')
-\tkzLabelPoints(O,O',T,T',K,K',M)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection radical_axis_v2 (end)
-
-\subsection{Radical axis v3} % (fold)
-\label{sub:radical_axis_v3}
-
-\begin{Verbatim}
- \begin{tkzelements}
- z.O = point : new (0,0)
- z.B = point : new (4,0)
- z.Op = point : new (6,0)
- C.OB = circle : new (z.O,z.B)
- C.OpB = circle : new (z.Op,z.B)
- L.EF = C.OB : radical_axis (C.OpB)
- z.E,z.F = get_points(L.EF)
- z.M = L.EF : point (0.2)
- L = C.OB : tangent_from (z.M)
- _,z.T = get_points (L)
- L = C.OpB : tangent_from (z.M)
- _,z.Tp = get_points (L)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,B O',B)
- \tkzDrawSegments(M,T M,T')
- \tkzDrawSegments(E,F)
- \tkzDrawLine[add=.5 and .5](O,O')
- \tkzDrawPoints(O,B,O',E,F,M,T,T')
- \tkzLabelPoints(O,O',B,E,F,T,T')
- \tkzDrawArc(M,T')(T)
-\end{tikzpicture}
-\end{Verbatim}
-
-\begin{tkzelements}
-z.O = point : new (0,0)
-z.B = point : new (4,0)
-z.Op = point : new (6,0)
-C.OB = circle : new (z.O,z.B)
-C.OpB = circle : new (z.Op,z.B)
-L.EF = C.OB : radical_axis (C.OpB)
-z.E,z.F = get_points(L.EF)
-z.M = L.EF : point (0.2)
-L = C.OB : tangent_from (z.M)
-_,z.T = get_points (L)
-L = C.OpB : tangent_from (z.M)
-_,z.Tp = get_points (L)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O,B O',B)
-\tkzDrawSegments(M,T M,T')
-\tkzDrawSegments(E,F)
-\tkzDrawLine[add=.5 and .5](O,O')
-\tkzDrawPoints(O,B,O',E,F,M,T,T')
-\tkzLabelPoints(O,O',B,E,F,T,T')
-\tkzDrawArc(M,T')(T)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection radical_axis_v3 (end)
-
-\subsection{Radical axis v4} % (fold)
-\label{sub:radical_axis_v4}
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.B = point : new (5,0)
- z.Op = point : new (3,0)
- C.OB = circle : new (z.O,z.B)
- C.OpB = circle : new (z.Op,z.B)
- L.EF = C.OB : radical_axis (C.OpB)
- z.E,z.F = get_points(L.EF)
- z.H = L.EF.mid
- z.M = L.EF : point (.8)
- _,L = C.OB : tangent_from (z.M)
- _,z.T = get_points (L)
- _,L = C.OpB : tangent_from (z.M)
- _,z.Tp = get_points (L)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,B O',B)
- \tkzDrawSegments(M,T M,T')
- \tkzDrawSegments(E,F)
- \tkzDrawLine[add=.3 and .3](O,H)
- \tkzDrawPoints(O,O',B,E,H,M)
- \tkzLabelPoints[below right](O,O',E,F,M,T,T')
- \tkzDrawArc(M,B)(T)
-\end{tikzpicture}
-\end{Verbatim}
-
-
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.B = point : new (5,0)
- z.Op = point : new (3,0)
- C.OB = circle : new (z.O,z.B)
- C.OpB = circle : new (z.Op,z.B)
- L.EF = C.OB : radical_axis (C.OpB)
- z.E,z.F = get_points(L.EF)
- z.H = L.EF.mid
- z.M = L.EF : point (.8)
- _,L = C.OB : tangent_from (z.M)
- _,z.T = get_points (L)
- _,L = C.OpB : tangent_from (z.M)
- _,z.Tp = get_points (L)
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,B O',B)
- \tkzDrawSegments(M,T M,T')
- \tkzDrawSegments(E,F)
- \tkzDrawLine[add=.3 and .3](O,H)
- \tkzDrawPoints(O,O',B,E,H,M)
- \tkzLabelPoints[below right](O,O',E,F,M,T,T')
- \tkzDrawArc(M,B)(T)
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection radical_axis_v4 (end)
-
-\subsection{Radical center} % (fold)
-\label{sub:radical_center}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.x = point : new (1,0)
- z.y = point : new (4,0)
- z.z = point : new (2,0)
- z.Op = point : new (4,2)
- z.P = point : new (2,2.5)
- C.Ox = circle : new (z.O,z.x)
- C.Pz = circle : new (z.P,z.z)
- C.Opy = circle : new (z.Op,z.y)
- z.ap,z.a = intersection (C.Ox,C.Pz)
- z.bp,z.b = intersection (C.Opy,C.Pz)
- L.aap = line : new (z.a,z.ap)
- L.bbp = line : new (z.b,z.bp)
- z.X = intersection (L.aap,L.bbp)
--- or z.X = radical_center(C.Ox,C.Pz,C.Opy)
- L.OOp = line : new (z.O,z.Op)
- z.H = L.OOp : projection (z.X)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(O,a O',b P,z)
- \tkzDrawLines[red](a,X b',X H,X O,O')
- \tkzDrawPoints(O,O',P,a,a',b,b',X,H)
- \tkzLabelPoints[below right](O,O',P,H)
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{tkzelements}
-z.O = point : new (0,0)
-z.x = point : new (1,0)
-z.y = point : new (4,0)
-z.z = point : new (2,0)
-z.Op = point : new (4,2)
-z.P = point : new (2,2.5)
-C.Ox = circle : new (z.O,z.x)
-C.Pz = circle : new (z.P,z.z)
-C.Opy = circle : new (z.Op,z.y)
-z.ap,z.a = intersection (C.Ox,C.Pz)
-z.bp,z.b = intersection (C.Opy,C.Pz)
-L.aap = line : new (z.a,z.ap)
-L.bbp = line : new (z.b,z.bp)
-z.X = intersection (L.aap,L.bbp)
-L.OOp = line : new (z.O,z.Op)
-z.H = L.OOp : projection (z.X)
-\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O,a O',b P,z)
-\tkzDrawLines[red](a,X b',X H,X O,O')
-\tkzDrawPoints(O,O',P,a,a',b,b',X,H)
-\tkzLabelPoints[below right](O,O',P,H)
-\end{tikzpicture}
-\end{minipage}
-% subsection radical_center (end)
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawLine[new](P,R)
+ \tkzDrawLines(P,B A,C B,C)
+ \tkzDrawPoints(P,Q,R,A,B,C)
+ \tkzLabelPoints(A,B,C,P,Q,R)
+ \end{tikzpicture}
+\end{center}
-\subsection{Radical circle} % (fold)
-\label{sub:radical_circle}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
- scale = .5
- z.A = point: new (0,0)
- z.B = point: new (6,0)
- z.C = point: new (0.8,4)
- T.ABC = triangle : new ( z.A,z.B,z.C )
- C.exa = T.ABC : ex_circle ()
- z.I_a,z.Xa = get_points (C.exa)
- C.exb = T.ABC : ex_circle (1)
- z.I_b,z.Xb = get_points (C.exb)
- C.exc = T.ABC : ex_circle (2)
- z.I_c,z.Xc = get_points (C.exc)
- C.ortho = C.exa : radical_circle (C.exb,C.exc)
- z.w,z.a = get_points (C.ortho)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
- \tkzDrawCircles[red,thick](w,a)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B,C)
-\end{tikzpicture}
-\end{Verbatim}
\end{minipage}
+% subsection menelaus (end)
-\begin{tkzelements}
- scale = .5
- z.A = point: new (0,0)
- z.B = point: new (6,0)
- z.C = point: new (0.8,4)
- T.ABC = triangle : new ( z.A,z.B,z.C )
- C.exa = T.ABC : ex_circle ()
- z.I_a,z.Xa = get_points (C.exa)
- C.exb = T.ABC : ex_circle (1)
- z.I_b,z.Xb = get_points (C.exb)
- C.exc = T.ABC : ex_circle (2)
- z.I_c,z.Xc = get_points (C.exc)
- C.ortho = C.exa : radical_circle (C.exb,C.exc)
- z.w,z.a = get_points (C.ortho)
-\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawPolygon(A,B,C)
- \tkzDrawCircles(I_a,Xa I_b,Xb I_c,Xc)
- \tkzDrawCircles[red,thick](w,a)
- \tkzDrawPoints(A,B,C)
- \tkzLabelPoints(A,B,C)
-\end{tikzpicture}
-\hspace*{\fill}
-
-% subsection radical_circle (end)
\subsection{Euler ellipse} % (fold)
\label{sub:hexagram}
@@ -2136,21 +2167,22 @@ _,z.W = intersection (L.ZO,E)
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon(A,B,C)
-\tkzDrawCircles[red](N,Ma O,A)
-\tkzDrawSegments(A,X B,Y C,Z B,Hb C,Hc X,O Y,O Z,O)
-\tkzDrawPolygon[red](U,V,W)
-\tkzLabelPoints[red](U,V,W)
-\tkzLabelPoints(A,B,C,X,Y,Z)
-\tkzDrawLine[blue](I,J)
-\tkzLabelPoints[blue,right](O,N,G,H,I,J)
-\tkzDrawPoints(I,J,U,V,W)
-\tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
-\tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawCircles[red](N,Ma O,A)
+ \tkzDrawSegments(A,X B,Y C,Z B,Hb C,Hc X,O Y,O Z,O)
+ \tkzDrawPolygon[red](U,V,W)
+ \tkzLabelPoints[red](U,V,W)
+ \tkzLabelPoints(A,B,C,X,Y,Z)
+ \tkzDrawLine[blue](I,J)
+ \tkzLabelPoints[blue,right](O,N,G,H,I,J)
+ \tkzDrawPoints(I,J,U,V,W)
+ \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
+ \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+ \end{tikzpicture}
+\end{center}
\end{minipage}
\begin{Verbatim}
@@ -2165,8 +2197,8 @@ _,z.W = intersection (L.ZO,E)
\tkzDrawLine[blue](I,J)
\tkzLabelPoints[blue,right](O,N,G,H,I,J)
\tkzDrawPoints(I,J,U,V,W)
- \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
- \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
+ \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc)
+ \tkzDrawEllipse[blue](N,\tkzUseLua{a},\tkzUseLua{b},\tkzUseLua{ang})
\end{tikzpicture}
\end{Verbatim}
@@ -2256,36 +2288,39 @@ z.O = C.DC : inversion (z.W)
\end{Verbatim}
\end{minipage}
\begin{minipage}{.6\textwidth}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles[teal](O_1,B)
-\tkzDrawSemiCircles[thin,teal](O_2,C O_3,B)
-\tkzDrawArc[purple,delta=0](D,V)(U)
-\tkzDrawCircle[new](O_7,C)
-\tkzDrawSegments[thin,purple](A,D D,B C,R C,S C,D U,V)
-\tkzDrawSegments[thin,red](O,D A,O O,B)
-\tkzDrawPoints(A,B,C,D,O_7) %,
-\tkzDrawPoints(O_1,O_2,O_3,U,V,R,S,W,O)
-\tkzDrawSegments[cyan](O_3,S O_2,R)
-\tkzDrawSegments[very thin](A,B)
-\tkzDrawSegments[cyan,thin](C,U U,D)
-\tkzMarkRightAngles[size=.2,fill=gray!40,opacity=.4](D,C,A A,D,B
- D,S,C D,W,V O_3,S,U O_2,R,U)
-\tkzFillAngles[cyan!40,opacity=.4](B,A,D A,D,O_1
- C,D,B D,C,R B,C,S A,R,O_2)
-\tkzFillAngles[green!40,opacity=.4](S,C,D W,R,D
- D,B,C R,C,A O_3,S,B)
-\tkzLabelPoints[below](C,O_2,O_3,O_1)
-\tkzLabelPoints[above](D)
-\tkzLabelPoints[below](O)
-\tkzLabelPoints[below left](A)
-\tkzLabelPoints[above left](R)
-\tkzLabelPoints[above right](S)
-\tkzLabelPoints[left](V)
-\tkzLabelPoints[below right](B,U,W,O_7)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[teal](O_1,B)
+ \tkzDrawSemiCircles[thin,teal](O_2,C O_3,B)
+ \tkzDrawArc[purple,delta=0](D,V)(U)
+ \tkzDrawCircle[new](O_7,C)
+ \tkzDrawSegments[thin,purple](A,D D,B C,R C,S C,D U,V)
+ \tkzDrawSegments[thin,red](O,D A,O O,B)
+ \tkzDrawPoints(A,B,C,D,O_7) %,
+ \tkzDrawPoints(O_1,O_2,O_3,U,V,R,S,W,O)
+ \tkzDrawSegments[cyan](O_3,S O_2,R)
+ \tkzDrawSegments[very thin](A,B)
+ \tkzDrawSegments[cyan,thin](C,U U,D)
+ \tkzMarkRightAngles[size=.2,fill=gray!40,opacity=.4](D,C,A A,D,B
+ D,S,C D,W,V O_3,S,U O_2,R,U)
+ \tkzFillAngles[cyan!40,opacity=.4](B,A,D A,D,O_1
+ C,D,B D,C,R B,C,S A,R,O_2)
+ \tkzFillAngles[green!40,opacity=.4](S,C,D W,R,D
+ D,B,C R,C,A O_3,S,B)
+ \tkzLabelPoints[below](C,O_2,O_3,O_1)
+ \tkzLabelPoints[above](D)
+ \tkzLabelPoints[below](O)
+ \tkzLabelPoints[below left](A)
+ \tkzLabelPoints[above left](R)
+ \tkzLabelPoints[above right](S)
+ \tkzLabelPoints[left](V)
+ \tkzLabelPoints[below right](B,U,W,O_7)
+ \end{tikzpicture}
+\end{center}
+
+
\end{minipage}
\begin{Verbatim}
@@ -2379,25 +2414,27 @@ z.O = C.DC : inversion (z.W)
z.xa,z.xb,z.xc = C.ortho : inversion (z.Ea,z.Eb,z.Ec)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
- \tkzGetNodes
-\tkzDrawCircles[red](O,xa N,Ea)
-\tkzFillCircles[green!30!black,opacity=.3](O,xa)
-\tkzFillCircles[yellow!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
-\tkzFillCircles[teal!30!black,opacity=.3](S,a)
-\tkzFillCircles[green!30,opacity=.3](N,Ea)
-\tkzDrawPoints[red](Ea,Eb,Ec,xa,xb,xc,N)
-\tkzClipCircle(O,xa)
-\tkzDrawLines[add=3 and 3](A,B A,C B,C)
-\tkzDrawCircles(Ja,Ea Jb,Eb Jc,Ec)
-\tkzFillCircles[lightgray!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
-\tkzDrawCircles[teal](S,a)
-\tkzDrawPoints(A,B,C,O)
-\tkzDrawPoints[teal](S)
-\tkzLabelPoints(A,B,C,O,S,N)
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles[red](O,xa N,Ea)
+ \tkzFillCircles[green!30!black,opacity=.3](O,xa)
+ \tkzFillCircles[yellow!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
+ \tkzFillCircles[teal!30!black,opacity=.3](S,a)
+ \tkzFillCircles[green!30,opacity=.3](N,Ea)
+ \tkzDrawPoints[red](Ea,Eb,Ec,xa,xb,xc,N)
+ \tkzClipCircle(O,xa)
+ \tkzDrawLines[add=3 and 3](A,B A,C B,C)
+ \tkzDrawCircles(Ja,Ea Jb,Eb Jc,Ec)
+ \tkzFillCircles[lightgray!30,opacity=.7](Ja,Ea Jb,Eb Jc,Ec)
+ \tkzDrawCircles[teal](S,a)
+ \tkzDrawPoints(A,B,C,O)
+ \tkzDrawPoints[teal](S)
+ \tkzLabelPoints(A,B,C,O,S,N)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection apollonius_circle_v1_with_inversion (end)
\subsection{Apollonius circle v2} % (fold)
@@ -2472,82 +2509,24 @@ L.MaS = line: new (z.Ma,z.S)
z.t = intersection (L.ox,L.MaS) -- through
\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawLines[add=1 and 1](A,B A,C B,C)
-\tkzDrawCircles(Ja,Xa Jb,Xb Jc,Xc o,t N,Ma) %
-\tkzClipCircle(o,t)
-\tkzDrawLines[red](o,L N,o Ma,t)
-\tkzDrawLines[cyan,add=4 and 4](Ma,N o,t)
-\tkzDrawPoints(A,B,C,Ma,Ja,Jb,Jc)
-\tkzDrawPoints[red](N,O,L,S,o,t)
-\tkzLabelPoints[right,font=\tiny](A,B,C,Ja,Jb,Jc,O,N,L,S,Ma,o)
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawLines[add=1 and 1](A,B A,C B,C)
+ \tkzDrawCircles(Ja,Xa Jb,Xb Jc,Xc o,t N,Ma) %
+ \tkzClipCircle(o,t)
+ \tkzDrawLines[red](o,L N,o Ma,t)
+ \tkzDrawLines[cyan,add=4 and 4](Ma,N o,t)
+ \tkzDrawPoints(A,B,C,Ma,Ja,Jb,Jc)
+ \tkzDrawPoints[red](N,O,L,S,o,t)
+ \tkzLabelPoints[right,font=\tiny](A,B,C,Ja,Jb,Jc,O,N,L,S,Ma,o)
+ \end{tikzpicture}
+\end{center}
% subsection apollonius_circle_v2 (end)
-\subsection{Orthogonal circles v1} % (fold)
-\label{sub:orthogonal_circles_v1}
-
-\begin{Verbatim}
-\begin{tkzelements}
- scale = .6
- z.C_1 = point: new (0,0)
- z.C_2 = point: new (8,0)
- z.A = point: new (5,0)
- C = circle: new (z.C_1,z.A)
- z.S,z.T = get_points (C: orthogonal_from (z.C_2))
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircles(C_1,T C_2,T)
- \tkzDrawSegments(C_1,T C_2,T)
- \tkzDrawLine(C_1,C_2)
- \tkzMarkRightAngle[fill=teal,%
- opacity=.2,size=1](C_1,T,C_2)
- \tkzDrawPoints(C_1,C_2,T)
- \tkzLabelPoints(C_1,C_2)
- \tkzLabelPoints[above](T)
- \tkzLabelSegment[left](C_1,T){r}
- \tkzLabelSegments[right](C_2,T){$\gamma$}
- \tkzLabelSegment[below](C_1,C_2){d}
- \tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1}
- \tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2}
-\end{tikzpicture}
-\end{Verbatim}
-
-\begin{tkzelements}
-scale = .6
-z.C_1 = point: new (0,0)
-z.C_2 = point: new (8,0)
-z.A = point: new (5,0)
-C = circle: new (z.C_1,z.A)
-z.S,z.T = get_points (C: orthogonal_from (z.C_2))
-\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(C_1,T C_2,T)
-\tkzDrawSegments(C_1,T C_2,T)
-\tkzDrawLine(C_1,C_2)
-\tkzMarkRightAngle[fill=teal,opacity=.2,size=.5](C_1,T,C_2)
-\tkzDrawPoints(C_1,C_2,T)
-\tkzLabelPoints(C_1,C_2)
-\tkzLabelPoints[above](T)
-\tkzLabelSegment[left](C_1,T){r}
-\tkzLabelSegments[right](C_2,T){$\gamma$}
-\tkzLabelSegment[below](C_1,C_2){d}
-\tkzLabelCircle[left=10pt](C_1,T)(180){Circle 1}
-\tkzLabelCircle[right=10pt](C_2,T)(180){Circle 2}
-\end{tikzpicture}
-\hspace*{\fill}
-% subsection orthogonal_circles_v1 (end)
-
-\subsection{Orthogonal circles v2} % (fold)
+\subsection{Orthogonal circles} % (fold)
\label{sub:orthogonal_circles_v2}
\begin{Verbatim}
@@ -2602,24 +2581,26 @@ L.OOp = line : new (z.O,z.Op)
z.M = L.OOp.mid
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle[red](O,P)
-\tkzDrawCircle[purple](O',z1)
-\tkzDrawCircle[cyan](M,T)
-\tkzDrawSegments(O',T O,T' O',T')
-\tkzDrawSegment[purple](O',T)
-\tkzDrawSegments[red](O,T O,O')
-\tkzDrawPoints(O,O',T,T',M)
-\tkzMarkRightAngle[fill=gray!10](O',T,O)
-\tkzLabelPoint[below](O){$O$}
-\tkzLabelPoint[above](T){$T$}
-\tkzLabelPoint[above](M){$M$}
-\tkzLabelPoint[below](T'){$T'$}
-\tkzLabelPoint[above left](O'){$O'$}
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle[red](O,P)
+ \tkzDrawCircle[purple](O',z1)
+ \tkzDrawCircle[cyan](M,T)
+ \tkzDrawSegments(O',T O,T' O',T')
+ \tkzDrawSegment[purple](O',T)
+ \tkzDrawSegments[red](O,T O,O')
+ \tkzDrawPoints(O,O',T,T',M)
+ \tkzMarkRightAngle[fill=gray!10](O',T,O)
+ \tkzLabelPoint[below](O){$O$}
+ \tkzLabelPoint[above](T){$T$}
+ \tkzLabelPoint[above](M){$M$}
+ \tkzLabelPoint[below](T'){$T'$}
+ \tkzLabelPoint[above left](O'){$O'$}
+ \end{tikzpicture}
+\end{center}
+
+
% subsection orthogonal_circles_v2 (end)
%
\subsection{Orthogonal circle to two circles} % (fold)
@@ -2674,19 +2655,22 @@ z.Tp = L.Tp.pb
z.Kp = L.Kp.pb
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(O,B O',D)
-\tkzDrawLine[cyan](E,F)
-\tkzDrawLines[add=.5 and .5,orange](O,O' O,T O,T')
-\tkzDrawSegments[cyan](M,T M,T' M,K M,K')
-\tkzDrawCircle(M,T)
-\tkzDrawPoints(O,O',T,M,T',K,K')
-\tkzLabelPoints(O,O',T,T',M,K,K')
-\end{tikzpicture}
-\hspace*{\fill}
-% \subsection{Orthogonal to two circles} % (fold)
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(O,B O',D)
+ \tkzDrawLine[cyan](E,F)
+ \tkzDrawLines[add=.5 and .5,orange](O,O' O,T O,T')
+ \tkzDrawSegments[cyan](M,T M,T' M,K M,K')
+ \tkzDrawCircle(M,T)
+ \tkzDrawPoints(O,O',T,M,T',K,K')
+ \tkzLabelPoints(O,O',T,T',M,K,K')
+ \end{tikzpicture}
+\end{center}
+
+
+% subsection Orthogonal to two circles (fold)
\subsection{Midcircles} % (fold)
\label{sub:midcircles}
@@ -2738,36 +2722,39 @@ z.Ap = z.M_1: symmetry (z.A)
z.H_4,z.F,z.E,z.H_0 = L.AB : projection (z.O_4,z.G,z.H,z.P_0)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle[thin,fill=green!10](O_4,P_0)
-\tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
-\tkzDrawSemiCircles[teal](O_0,B)
-\tkzDrawSemiCircles[thin,teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
-\tkzDrawSemiCircles[color = orange](M_2,B)
-\tkzDrawSemiCircles[color = orange](M_1,A')
-\tkzDrawArc[purple,delta=0](M_0,P_0)(C)
-\tkzDrawSegments[very thin](A,B A,P B,Q)
-\tkzDrawSegments[color=cyan](O_0,P_0 B,J G,J G,O_0 H,O_2)
-\tkzDrawSegments[ultra thin,purple](M_1,P_0 M_2,P_0 M_1,M_0 M_0,P_1 M_0,P_0 M_1,J)
-\tkzDrawPoints(A,B,C,P_0,P_2,P_1,M_0,M_1,M_2,J,P,Q,S)
-\tkzDrawPoints(O_0,O_1,O_2,O_4,O_5,G,H)
-\tkzMarkRightAngle[size=.2,fill=gray!20,opacity=.4](O_0,P_0,M_0)
-\tkzLabelPoints[below](A,B,C,M_0,M_1,M_2,O_1,O_2,O_0)
-\tkzLabelPoints[above](P_0,O_5,O_4)
-\tkzLabelPoints[above](P_1,J)
-\tkzLabelPoints[above](P_2,P,Q,S)
-\tkzLabelPoints[above right](H,E)
-\tkzLabelPoints[above left](F,G)
-\tkzLabelPoints[below right](H_0)
-\tkzLabelCircle[below=4pt,font=\scriptsize](O_1,C)(80){$(\beta)$}
-\tkzLabelCircle[below=4pt,font=\scriptsize](O_2,B)(80){$(\gamma)$}
-\tkzLabelCircle[below=4pt,font=\scriptsize](O_0,B)(110){$(\alpha)$}
-\tkzLabelCircle[left,font=\scriptsize](O_4,P_2)(60){$(\delta)$}
-\tkzLabelCircle[above left,font=\scriptsize](O_5,C)(40){$(\epsilon)$}
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle[thin,fill=green!10](O_4,P_0)
+ \tkzDrawCircle[purple,fill=purple!10,opacity=.5](O_5,C)
+ \tkzDrawSemiCircles[teal](O_0,B)
+ \tkzDrawSemiCircles[thin,teal,fill=teal!20,opacity=.5](O_1,C O_2,B)
+ \tkzDrawSemiCircles[color = orange](M_2,B)
+ \tkzDrawSemiCircles[color = orange](M_1,A')
+ \tkzDrawArc[purple,delta=0](M_0,P_0)(C)
+ \tkzDrawSegments[very thin](A,B A,P B,Q)
+ \tkzDrawSegments[color=cyan](O_0,P_0 B,J G,J G,O_0 H,O_2)
+ \tkzDrawSegments[ultra thin,purple](M_1,P_0 M_2,P_0 M_1,M_0 M_0,P_1 M_0,P_0 M_1,J)
+ \tkzDrawPoints(A,B,C,P_0,P_2,P_1,M_0,M_1,M_2,J,P,Q,S)
+ \tkzDrawPoints(O_0,O_1,O_2,O_4,O_5,G,H)
+ \tkzMarkRightAngle[size=.2,fill=gray!20,opacity=.4](O_0,P_0,M_0)
+ \tkzLabelPoints[below](A,B,C,M_0,M_1,M_2,O_1,O_2,O_0)
+ \tkzLabelPoints[above](P_0,O_5,O_4)
+ \tkzLabelPoints[above](P_1,J)
+ \tkzLabelPoints[above](P_2,P,Q,S)
+ \tkzLabelPoints[above right](H,E)
+ \tkzLabelPoints[above left](F,G)
+ \tkzLabelPoints[below right](H_0)
+ \tkzLabelCircle[below=4pt,font=\scriptsize](O_1,C)(80){$(\beta)$}
+ \tkzLabelCircle[below=4pt,font=\scriptsize](O_2,B)(80){$(\gamma)$}
+ \tkzLabelCircle[below=4pt,font=\scriptsize](O_0,B)(110){$(\alpha)$}
+ \tkzLabelCircle[left,font=\scriptsize](O_4,P_2)(60){$(\delta)$}
+ \tkzLabelCircle[above left,font=\scriptsize](O_5,C)(40){$(\epsilon)$}
+ \end{tikzpicture}
+\end{center}
+
+
\begin{Verbatim}
\begin{tkzelements}
@@ -2900,18 +2887,20 @@ z.xp,z.yp = get_points (C.C0A : orthogonal_from (z.M_1))
z.O = L.BA.mid
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(C_0,A C_1,A C_3,A C_5,A)
-\tkzDrawCircles[thick,color=red](M_0,x M_1,x')
-\tkzDrawCircles[thick,color=blue](O,A)
-\tkzDrawLines(C_0,C_1 B,M_1)
-\tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,x,y)
-\tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,x,y)
-\tkzLabelLine[pos=1.25,right]( M_0,M_1){$(\Delta)$}
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(C_0,A C_1,A C_3,A C_5,A)
+ \tkzDrawCircles[thick,color=red](M_0,x M_1,x')
+ \tkzDrawCircles[thick,color=blue](O,A)
+ \tkzDrawLines(C_0,C_1 B,M_1)
+ \tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,x,y)
+ \tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,x,y)
+ \tkzLabelLine[pos=1.25,right]( M_0,M_1){$(\Delta)$}
+ \end{tikzpicture}
+\end{center}
+
+
% subsection pencil_v1 (end)
\subsection{Pencil v2} % (fold)
@@ -2967,123 +2956,20 @@ z.O = L.BA.mid
z.t = C.orth2.through
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(C_0,A C_1,B)
-\tkzDrawCircles[thick,color=red](M_0,u M_1,v M_2,t)
-\tkzDrawLines[add= .75 and .75](C_0,C_1 M_0,M_1)
-\tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,M_2)
-\tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,M_2)
-\tkzLabelLine[pos=2,right]( M_0,M_1){$(\Delta)$}
-\end{tikzpicture}
-\hspace*{\fill}
-%subsection pencil_v2 (end)
-
-\subsection{Power v1} % (fold)
-\label{sub:power_v1}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.A = point : new (2,-2)
- z.M = point : new (-6,0)
- L.AM = line : new (z.A,z.M)
- C.OA = circle : new (z.O,z.A)
- z.Ap = C.OA : antipode (z.A)
- z.B = intersection (L.AM, C.OA)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircle(O,A)
- \tkzMarkRightAngle[fill=gray!10](A',B,M)
- \tkzDrawSegments(M,O A,A' A',B)
- \tkzDrawPoints(O,A,A',M,B)
- \tkzLabelPoints(O,A,A',M,B)
- \tkzDrawSegments[-Triangle](M,A M,A')
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{tkzelements}
-scale = 1
-z.O = point : new (0,0)
-z.A = point : new (2,-2)
-z.M = point : new (-6,0)
-L.AM = line : new (z.A,z.M)
-C.OA = circle : new (z.O,z.A)
-z.Ap = C.OA : antipode (z.A)
-z.B = intersection (L.AM, C.OA)
-\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzMarkRightAngle[fill=gray!10](A',B,M)
-\tkzDrawSegments(M,O A,A' A',B)
-\tkzDrawPoints(O,A,A',M,B)
-\tkzLabelPoints(O,A,A',M,B)
-\tkzDrawSegments[-Triangle](M,A M,A')
-\end{tikzpicture}
-\end{minipage}
-% subsection power_v1 (end)
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(C_0,A C_1,B)
+ \tkzDrawCircles[thick,color=red](M_0,u M_1,v M_2,t)
+ \tkzDrawLines[add= .75 and .75](C_0,C_1 M_0,M_1)
+ \tkzDrawPoints(A,B,C_0,C_1,M_0,M_1,M_2)
+ \tkzLabelPoints[below right](A,B,C_0,C_1,M_0,M_1,M_2)
+ \tkzLabelLine[pos=2,right]( M_0,M_1){$(\Delta)$}
+ \end{tikzpicture}
+\end{center}
-\subsection{Power v2} % (fold)
-\label{sub:power_v2}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
- z.O = point : new (0,0)
- z.A = point : new (2,2)
- z.M = point : new (-1.5,0)
- L.AM = line : new (z.A,z.M)
- C.OA = circle : new (z.O,z.A)
- z.Ap = C.OA : antipode (z.A)
- _,z.B = intersection (L.AM, C.OA)
- z.m = z.M : north(1)
- L.mM = line : new (z.m,z.M)
- z.U,z.V = intersection (L.mM,C.OA)
-\end{tkzelements}
-\begin{tikzpicture}
- \tkzGetNodes
- \tkzDrawCircle(O,A)
- \tkzMarkRightAngle[fill=gray!10](A',B,M)
- \tkzDrawSegments(M,O A,A' A',B A,B U,V)
- \tkzDrawPoints(O,A,A',M,B,U,V,m)
- \tkzLabelPoints(O,A,M,U,V,m)
- \tkzLabelPoints[below left](A',B)
- \tkzDrawSegments(M,A M,A')
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{tkzelements}
-scale = 1
-z.O = point : new (0,0)
-z.A = point : new (2,2)
-z.M = point : new (-1.5,0)
-L.AM = line : new (z.A,z.M)
-C.OA = circle : new (z.O,z.A)
-z.Ap = C.OA : antipode (z.A)
-_,z.B = intersection (L.AM, C.OA)
-z.m = z.M : north(1)
-L.mM = line : new (z.m,z.M)
-z.U,z.V = intersection (L.mM,C.OA)
-\end{tkzelements}
+%subsection pencil_v2 (end)
-\hspace*{\fill}\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzMarkRightAngle[fill=gray!10](A',B,M)
-\tkzDrawSegments(M,O A,A' A',B A,B U,V)
-\tkzDrawPoints(O,A,A',M,B,U,V,m)
-\tkzLabelPoints(O,A,M,U,V,m)
-\tkzLabelPoints[below left](A',B)
-\tkzDrawSegments(M,A M,A')
-\end{tikzpicture}
-\end{minipage}
-% subsection power_v2 (end)
\subsection{Reim v1} % (fold)
\label{sub:reim_v1}
@@ -3137,22 +3023,25 @@ z.U,z.V = intersection (L.mM,C.OA)
z.O = intersection (L.EC,L.FD)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,E B,H)
-\tkzDrawSegments(E,D C,F)
-\tkzDrawLines(E,O F,O)
-\tkzDrawLines[red](E,F H,G)
-\tkzDrawPoints(A,...,H,O)
-\tkzLabelPoints(A,B,D,F,G,O)
-\tkzLabelPoints[above](E,C,H)
-\tkzMarkAngles[size=.5](E,C,F E,D,F)
-\tkzFillAngles[green!40,opacity=.4,size=.5](E,C,F E,D,F)
-\tkzMarkAngles[size=.5](F,C,H G,D,E)
-\tkzFillAngles[red!40,opacity=.4,size=.5](F,C,H G,D,E)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,E B,H)
+ \tkzDrawSegments(E,D C,F)
+ \tkzDrawLines(E,O F,O)
+ \tkzDrawLines[red](E,F H,G)
+ \tkzDrawPoints(A,...,H,O)
+ \tkzLabelPoints(A,B,D,F,G,O)
+ \tkzLabelPoints[above](E,C,H)
+ \tkzMarkAngles[size=.5](E,C,F E,D,F)
+ \tkzFillAngles[green!40,opacity=.4,size=.5](E,C,F E,D,F)
+ \tkzMarkAngles[size=.5](F,C,H G,D,E)
+ \tkzFillAngles[red!40,opacity=.4,size=.5](F,C,H G,D,E)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection reim_v1 (end)
\subsection{Reim v2} % (fold)
@@ -3200,19 +3089,22 @@ z.m,z.mp = get_points (C.AC: tangent_at (z.M))
z.n,z.np = get_points (C.BC: tangent_at (z.N))
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,C B,C)
-\tkzDrawLines[new,add=1 and 1](M,m N,n C,c)
-\tkzDrawSegment(M,N)
-\tkzDrawPoints(A,B,C,M,N)
-\tkzLabelPoints[below right](A,B,C,M,N)
-\tkzFillAngles[blue!30,opacity=.3](m',M,C N,C,c' M,C,c n',N,C)
-\tkzLabelCircle[below=4pt,font=\scriptsize](A,C)(90){$(\alpha)$}
-\tkzLabelCircle[left=4pt,font=\scriptsize](B,C)(-90){$(\beta)$}
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,C B,C)
+ \tkzDrawLines[new,add=1 and 1](M,m N,n C,c)
+ \tkzDrawSegment(M,N)
+ \tkzDrawPoints(A,B,C,M,N)
+ \tkzLabelPoints[below right](A,B,C,M,N)
+ \tkzFillAngles[blue!30,opacity=.3](m',M,C N,C,c' M,C,c n',N,C)
+ \tkzLabelCircle[below=4pt,font=\scriptsize](A,C)(90){$(\alpha)$}
+ \tkzLabelCircle[left=4pt,font=\scriptsize](B,C)(-90){$(\beta)$}
+ \end{tikzpicture}
+\end{center}
+
+
% subsection reim_v2 (end)
\subsection{Reim v3} % (fold)
@@ -3282,21 +3174,23 @@ z.n,z.np = get_points (C.BC: tangent_at (z.N))
z.D = intersection (L.KO,C.zO)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawSegments(K,D D,C)
-\tkzDrawPolygon[teal](A,B,C)
-\tkzDrawCircles[orange](x,A y,B z,C)
-\tkzDrawPoints[fill=white](A,B,C,I,J,K,D)
-\tkzLabelPoints[below](A,B,J,K,O)
-\tkzLabelPoints[above](C,D,I)
-\tkzDrawPoints[fill=black](O)
-\tkzLabelCircle[below=4pt,font=\scriptsize](x,A)(20){$(\alpha)$}
-\tkzLabelCircle[left=4pt,font=\scriptsize](y,B)(60){$(\beta)$}
-\tkzLabelCircle[below=4pt,font=\scriptsize](z,C)(60){$(\gamma)$}
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawSegments(K,D D,C)
+ \tkzDrawPolygon[teal](A,B,C)
+ \tkzDrawCircles[orange](x,A y,B z,C)
+ \tkzDrawPoints[fill=white](A,B,C,I,J,K,D)
+ \tkzLabelPoints[below](A,B,J,K,O)
+ \tkzLabelPoints[above](C,D,I)
+ \tkzDrawPoints[fill=black](O)
+ \tkzLabelCircle[below=4pt,font=\scriptsize](x,A)(20){$(\alpha)$}
+ \tkzLabelCircle[left=4pt,font=\scriptsize](y,B)(60){$(\beta)$}
+ \tkzLabelCircle[below=4pt,font=\scriptsize](z,C)(60){$(\gamma)$}
+ \end{tikzpicture}
+\end{center}
+
+
% subsection reim_v3 (end)
\subsection{Tangent and circle} % (fold)
@@ -3339,14 +3233,17 @@ z.i = L.Ti.pb
z.j = L.Tj.pb
z.k,z.l = get_points (C.AB: tangent_at (z.B))
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(A,B M,A)
-\tkzDrawPoints(A,B,E,i,j,M,S)
-\tkzDrawLines(E,i E,j k,l)
-\tkzLabelPoints[right,font=\small](A,B,E,S,M)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(A,B M,A)
+ \tkzDrawPoints(A,B,E,i,j,M,S)
+ \tkzDrawLines(E,i E,j k,l)
+ \tkzLabelPoints[right,font=\small](A,B,E,S,M)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection tangent_and_circle (end)
@@ -3377,13 +3274,16 @@ z.B = point: new (1,2)
z.E = point: new (-3,2)
z.C,z.D = z.E : homothety(2,z.A,z.B)
\end{tkzelements}
-\hspace*{\fill}\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints(A,B,C,E,D)
-\tkzLabelPoints(A,B,C,E)
-\tkzDrawCircles(A,B C,D)
-\tkzDrawLines(E,C E,D)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C,E,D)
+ \tkzLabelPoints(A,B,C,E)
+ \tkzDrawCircles(A,B C,D)
+ \tkzDrawLines(E,C E,D)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection homothety (end)
@@ -3436,18 +3336,21 @@ z.b1,z.b2 = get_points (C.OA: tangent_at (z.B))
z.H = L.AB: projection (z.O)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircle(O,A)
-\tkzDrawPolygon(A,B,C)
-\tkzDrawSegments[new](A,O B,O O,H A,D D,B)
-\tkzDrawLine(b1,b2)
-\tkzDrawPoints(A,B,C,D,H,O)
-\tkzFillAngles[green!20,opacity=.3](H,O,B A,C,B A,B,b1)
-\tkzFillAngles[teal!20,opacity=.3](A,D,B b2,B,A)
-\tkzLabelPoints(A,B,C,D,H,O)
-\end{tikzpicture}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircle(O,A)
+ \tkzDrawPolygon(A,B,C)
+ \tkzDrawSegments[new](A,O B,O O,H A,D D,B)
+ \tkzDrawLine(b1,b2)
+ \tkzDrawPoints(A,B,C,D,H,O)
+ \tkzFillAngles[green!20,opacity=.3](H,O,B A,C,B A,B,b1)
+ \tkzFillAngles[teal!20,opacity=.3](A,D,B b2,B,A)
+ \tkzLabelPoints(A,B,C,D,H,O)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection tangent_and_chord (end)
@@ -3541,26 +3444,26 @@ z.Cp,_ = intersection (L.GD,C.xD)
\end{Verbatim}
\end{minipage}
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\hspace*{\fill}
-\begin{tikzpicture}[scale=.75]
-\tkzGetNodes
-\tkzDrawCircles(O,B)
-\tkzDrawCircles[cyan](P,B)
-\tkzDrawCircles[red](w,E)
-\tkzDrawCircles[new](x,F)
-\tkzDrawSegments(A,G E,G C,G)
-\tkzDrawPolygons[new](A,E,C A',E',C')
-\tkzDrawPoints(A,...,G,A',E',C',O,P)
-\begin{scope}[font=\scriptsize]
- \tkzLabelPoints(A,...,F)
- \tkzLabelPoints[above left](G,A',E',C')
- \tkzLabelCircle[left](O,B)(30){$(\beta)$}
- \tkzLabelCircle[below](P,A)(40){$(\gamma)$}
- \tkzLabelCircle[right](w,C)(90){$(\alpha)$}
- \tkzLabelCircle[left](x,B)(-230){$((\delta))$}
-\end{scope}
-\end{tikzpicture}
-\hspace*{\fill}
+\begin{center}
+ \begin{tikzpicture}[scale=.75]
+ \tkzGetNodes
+ \tkzDrawCircles(O,B)
+ \tkzDrawCircles[cyan](P,B)
+ \tkzDrawCircles[red](w,E)
+ \tkzDrawCircles[new](x,F)
+ \tkzDrawSegments(A,G E,G C,G)
+ \tkzDrawPolygons[new](A,E,C A',E',C')
+ \tkzDrawPoints(A,...,G,A',E',C',O,P)
+ \begin{scope}[font=\scriptsize]
+ \tkzLabelPoints(A,...,F)
+ \tkzLabelPoints[above left](G,A',E',C')
+ \tkzLabelCircle[left](O,B)(30){$(\beta)$}
+ \tkzLabelCircle[below](P,A)(40){$(\gamma)$}
+ \tkzLabelCircle[right](w,C)(90){$(\alpha)$}
+ \tkzLabelCircle[left](x,B)(-230){$((\delta))$}
+ \end{scope}
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsection three_chords (end)
@@ -3620,19 +3523,20 @@ L.TA = C.wE : tangent_at (z.A)
L.TC = C.xE : tangent_at (z.C)
z.I = intersection (L.TA,L.TC)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawCircles(w,E)
-\tkzDrawCircles[cyan](x,E)
-\tkzDrawCircles[red](G,A)
-\tkzDrawLines(A,I C,I F,I)
-\tkzDrawPoints(A,C,E,F)
-\tkzLabelPoints[right](A)
-\tkzLabelPoints[above right](E,F)
-\tkzLabelPoints[below](C)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawCircles(w,E)
+ \tkzDrawCircles[cyan](x,E)
+ \tkzDrawCircles[red](G,A)
+ \tkzDrawLines(A,I C,I F,I)
+ \tkzDrawPoints(A,C,E,F)
+ \tkzLabelPoints[right](A)
+ \tkzLabelPoints[above right](E,F)
+ \tkzLabelPoints[below](C)
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsection three_tangents (end)
@@ -3665,15 +3569,16 @@ C.AB = circle: new (z.A,z.B)
z.C = z.A: rotation (math.pi/3,z.B)
z.D = C.AB: midarc (z.B,z.C)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPoints(A,B,C)
-\tkzDrawCircles(A,B)
-\tkzDrawPoints(A,...,D)
-\tkzLabelPoints(A,...,D)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPoints(A,B,C)
+ \tkzDrawCircles(A,B)
+ \tkzDrawPoints(A,...,D)
+ \tkzLabelPoints(A,...,D)
+ \end{tikzpicture}
+\end{center}
\end{minipage}
% subsection midarc (end)
@@ -3738,68 +3643,92 @@ z.Q = intersection (L.tB,L.AC)
z.R = intersection (L.tC,L.AB)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygon[teal](A,B,C)
-\tkzDrawCircle(O,A)
-\tkzDrawPoints(A,B,C,P,Q,R)
-\tkzLabelPoints(A,B,C,P,Q,R)
-\tkzDrawLine[blue](Q,R)
-\tkzDrawLines[red](Ar,Al Br,Q Cr,Cl)
-\tkzDrawSegments(A,R C,P C,Q)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygon[teal](A,B,C)
+ \tkzDrawCircle(O,A)
+ \tkzDrawPoints(A,B,C,P,Q,R)
+ \tkzLabelPoints(A,B,C,P,Q,R)
+ \tkzDrawLine[blue](Q,R)
+ \tkzDrawLines[red](Ar,Al Br,Q Cr,Cl)
+ \tkzDrawSegments(A,R C,P C,Q)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection lemoine_line_without_macro (end)
\subsection{First Lemoine circle} % (fold)
\label{sub:first_lemoine_circle}
+Draw lines through the symmedian point $L$ and parallel to the sides of the triangle. The points where the parallel lines intersect the sides of the triangle then lie on a circle known as the first Lemoine circle. It has center at the Brocard midpoint, i.e., the midpoint of $[OL]$, where $O$ is the circumcenter and $K$ is the symmedian point
+
+[\href{https://mathworld.wolfram.com/FirstLemoineCircle.html}{Weisstein, Eric W. "First Lemoine Circle." From MathWorld--A Wolfram Web Resource.}]
+
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
\begin{tkzelements}
z.A = point: new (1,1)
z.B = point: new (5,1)
- z.C = point: new (2,3)
- T = triangle: new (z.A,z.B,z.C)
- z.O = T.circumcenter
- z.o,z.w = get_points (T : first_lemoine_circle ())
+ z.C = point: new (2.2,4)
+ T = triangle: new (z.A,z.B,z.C)
+ z.O = T.circumcenter
+ C.first_lemoine = T:first_lemoine_circle()
+ z.o,z.w = get_points( C.first_lemoine )
+ z.y1,z.y2 = intersection (T.ab,C.first_lemoine)
+ z.y5,z.y6 = intersection (T.bc,C.first_lemoine)
+ z.y3,z.y4 = intersection (T.ca,C.first_lemoine)
z.L = T : lemoine_point ()
\end{tkzelements}
+\begin{center}
\begin{tikzpicture}
\tkzGetNodes
\tkzDrawPolygons(A,B,C)
- \tkzDrawPoints(A,B,C,o,w,O,L)
- \tkzLabelPoints(A,B,C,o,w,O,L)
- \tkzDrawCircles(o,w O,A)
+ \tkzDrawPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
+ \tkzLabelPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
+ \tkzDrawCircles(o,w)
+ \tkzDrawLines(y1,y6 y5,y4 y2,y3 O,L)
\end{tikzpicture}
-\end{Verbatim}
+\end{center}
\end{minipage}
+
\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
+\begin{Verbatim}
\begin{tkzelements}
-z.A = point: new (1,1)
-z.B = point: new (5,1)
-z.C = point: new (2,3)
-T = triangle: new (z.A,z.B,z.C)
-z.O = T.circumcenter
-z.o,z.w = get_points(T:first_lemoine_circle())
-z.L = T : lemoine_point ()
+ z.A = point: new (1,1)
+ z.B = point: new (5,1)
+ z.C = point: new (2.2,4)
+ T = triangle: new (z.A,z.B,z.C)
+ z.O = T.circumcenter
+ C.first_lemoine = T:first_lemoine_circle()
+ z.o,z.w = get_points( C.first_lemoine )
+ z.y1,z.y2 = intersection (T.ab,C.first_lemoine)
+ z.y5,z.y6 = intersection (T.bc,C.first_lemoine)
+ z.y3,z.y4 = intersection (T.ca,C.first_lemoine)
+ z.L = T : lemoine_point ()
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[scale = 1.25]
-\tkzGetNodes
-\tkzDrawPolygons(A,B,C)
-\tkzDrawPoints(A,B,C,o,w,O,L)
-\tkzLabelPoints(A,B,C,o,w,O,L)
-\tkzDrawCircles(o,w O,A)
+\begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(A,B,C)
+ \tkzDrawPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
+ \tkzLabelPoints(A,B,C,o,O,L,y1,y2,y3,y4,y5,y6)
+ \tkzDrawCircles(o,w)
+ \tkzDrawLines(y1,y6 y5,y4 y2,y3 O,L)
\end{tikzpicture}
+\end{Verbatim}
\end{minipage}
+
% subsection first_lemoine_circle (end)
\subsection{First and second Lemoine circles} % (fold)
\label{sub:first_and_second_lemoine_circles}
+Draw antiparallels through the symmedian point $L$. The points where these lines intersect the sides then lie on a circle, known as the cosine circle (or sometimes the second Lemoine circle). Refer to [\ref{sub:antiparallel_through_lemoine_point}]
+
+[\href{https://mathworld.wolfram.com/CosineCircle.html}{Weisstein, Eric W. "Cosine Circle." From MathWorld--A Wolfram Web Resource.}]
+
+
\begin{Verbatim}
\begin{tkzelements}
scale = 2
@@ -3863,19 +3792,22 @@ L.y4y5 = line : new (z.y4,z.y5)
L.y2y3 = line : new (z.y2,z.y3)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}[scale = .75]
-\tkzGetNodes
-\tkzDrawPolygons(a,b,c y1,y2,y3,y4,y5,y6)
-\tkzDrawPoints(x1,x2,x3,x4,x5,x6,L)
-\tkzDrawPoints(a,b,c,o,O,y1,y2,y3,y4,y5,y6)
-\tkzLabelPoints[below right](a,b,c,o,O,y1,y2,y3,y4,y5,y6)
-\tkzLabelPoints[below left](x1,x2,x3,x4,x5,x6)
-\tkzLabelPoints[above](L)
-\tkzDrawCircles(L,x o,p O,a)
-\tkzDrawSegments(L,O x1,x4 x2,x5 x3,x6)
-\end{tikzpicture}
-\hspace*{\fill}
+
+\begin{center}
+ \begin{tikzpicture}[scale = .75]
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c y1,y2,y3,y4,y5,y6)
+ \tkzDrawPoints(x1,x2,x3,x4,x5,x6,L)
+ \tkzDrawPoints(a,b,c,o,O,y1,y2,y3,y4,y5,y6)
+ \tkzLabelPoints[below right](a,b,c,o,O,y1,y2,y3,y4,y5,y6)
+ \tkzLabelPoints[below left](x1,x2,x3,x4,x5,x6)
+ \tkzLabelPoints[above](L)
+ \tkzDrawCircles(L,x o,p O,a)
+ \tkzDrawSegments(L,O x1,x4 x2,x5 x3,x6)
+ \end{tikzpicture}
+\end{center}
+
+
% subsection first_and_second_lemoine_circles (end)
\subsection{Inversion} % (fold)
@@ -3942,52 +3874,6 @@ z.Cp = C.AC: inversion ( z.B, z.E, z.C )
\end{minipage}
% subsection inversion (end)
-\subsection{Gergonne point} % (fold)
-\label{sub:gergonne_point}
-
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{Verbatim}
-\begin{tkzelements}
-z.a = point: new(1,0)
-z.b = point: new(6,2)
-z.c = point: new(2,5)
-T = triangle : new (z.a,z.b,z.c)
-z.g = T : gergonne_point ()
-z.i = T.incenter
-z.ta,z.tb,z.tc = get_points (T : intouch ())
-\end{tkzelements}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygons(a,b,c)
-\tkzDrawPoints(a,b,c,g)
-\tkzLabelPoints(a,b,c)
-\tkzDrawSegments (a,ta b,tb c,tc)
-\tkzDrawCircle(i,ta)
-\end{tikzpicture}
-\end{Verbatim}
-\end{minipage}
-\begin{minipage}[t]{.5\textwidth}\vspace{0pt}%
-\begin{tkzelements}
-z.a = point: new(1,0)
-z.b = point: new(6,2)
-z.c = point: new(2,5)
-T = triangle : new (z.a,z.b,z.c)
-z.g = T : gergonne_point ()
-z.i = T.incenter
-z.ta,z.tb,z.tc = get_points (T : intouch ())
-\end{tkzelements}
-
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygons(a,b,c)
-\tkzDrawPoints(a,b,c,g)
-\tkzLabelPoints(a,b,c)
-\tkzDrawSegments (a,ta b,tb c,tc)
-\tkzDrawCircle(i,ta)
-\end{tikzpicture}
-\end{minipage}
-% subsection gergonne_point (end)
\subsection{Antiparallel through Lemoine point} % (fold)
\label{sub:antiparallel_through_lemoine_point}
@@ -4035,16 +3921,18 @@ L.anti = T : antiparallel (z.L,2)
z.z_0,z.z_1 = get_points (L.anti)
\end{tkzelements}
-\hspace*{\fill}
-\begin{tikzpicture}
-\tkzGetNodes
-\tkzDrawPolygons(a,b,c)
-\tkzDrawPoints(a,b,c,L,x_0,x_1,y_0,y_1,z_0,z_1)
-\tkzLabelPoints(a,b)
-\tkzLabelPoints[above](L,c)
-\tkzDrawSegments(x_0,x_1 y_0,y_1 z_0,z_1)
-\tkzDrawCircle(L,x_0)
-\end{tikzpicture}
+\begin{center}
+ \begin{tikzpicture}
+ \tkzGetNodes
+ \tkzDrawPolygons(a,b,c)
+ \tkzDrawPoints(a,b,c,L,x_0,x_1,y_0,y_1,z_0,z_1)
+ \tkzLabelPoints(a,b)
+ \tkzLabelPoints[above](L,c)
+ \tkzDrawSegments(x_0,x_1 y_0,y_1 z_0,z_1)
+ \tkzDrawCircle(L,x_0)
+ \end{tikzpicture}
+\end{center}
+
\end{minipage}
% subsection antiparallel_through_lemoine_point (end)
@@ -4362,7 +4250,8 @@ end
\end{minipage}
% subsection three_circles (end)
-\subsection{pentagons in a golden arbelos} % (fold)
+\subsection{p
+Pentagons in a golden arbelos} % (fold)
\label{sub:golden_arbelos}
\begin{tkzelements}
@@ -4499,6 +4388,5 @@ z.D_2,z.E_2,z.F_2,z.G_2 = z.M_0 : homothety (kk,z.D_1,z.E_1,z.F_1,z.G_1)
\end{tikzpicture}
\end{Verbatim}
-
-
-% subsection golden_arbelos (end) \ No newline at end of file
+% subsection golden_arbelos (end)
+% section examples (end) \ No newline at end of file
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-indepthstudy.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-indepthstudy.tex
index 6f58cbec5c..140063f928 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-indepthstudy.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-indepthstudy.tex
@@ -282,7 +282,7 @@ Then |z.B = z.A * za| describes a rotation of point A by an angle |a|.
\end{minipage}
% subsubsection example_of_complex_use (end)
-\subsubsection{Point operations(complex)} % (fold)
+\subsubsection{Point operations (complex)} % (fold)
\label{ssub:point_operations_complex}
\begin{minipage}{.5\textwidth}
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-intersection.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-intersection.tex
index cc842aba53..1ba8fd0981 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-intersection.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-intersection.tex
@@ -61,7 +61,7 @@ end
\end{tikzpicture}
\end{minipage}
-Other examples: \ref{ssub:altshiller}, \ref{ssub:lemoine}, \ref{sub:alternate}
+Other examples: \ref{sub:altshiller}, \ref{sub:lemoine}, \ref{sub:alternate}
% subsection line_line (end)
\newpage
@@ -117,7 +117,7 @@ _,z.K = intersection (C.OD,L.AE)
\end{tikzpicture}
\end{minipage}
-Other examples: \ref{ssub:altshiller}
+Other examples: \ref{sub:altshiller}
% subsection line_circle (end)
\newpage
@@ -168,7 +168,7 @@ C.DC = circle : new (z.D,z.C)
\end{tikzpicture}
\end{minipage}
-Other examples: \ref{ssub:altshiller}, \ref{sub:the_figure_pappus_circle}
+Other examples: \ref{sub:altshiller}, \ref{sub:the_figure_pappus_circle}
% subsection circle_circle (end)
\newpage
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex
index 55608bb26b..10998bb7f5 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/latex/TKZdoc-elements-main.tex
@@ -1,6 +1,6 @@
% !TEX TS-program = lualatex
% encoding : utf8
-% Documentation of tkz-elements v2.25c
+% Documentation of tkz-elements v2.30c
% Copyright 2024 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -21,10 +21,10 @@
headings = small
]{tkz-doc}
\gdef\tkznameofpack{tkz-elements}
-\gdef\tkzversionofpack{2.25c}
+\gdef\tkzversionofpack{2.30c}
\gdef\tkzdateofpack{\today}
\gdef\tkznameofdoc{tkz-elements.pdf}
-\gdef\tkzversionofdoc{2.25c}
+\gdef\tkzversionofdoc{2.30c}
\gdef\tkzdateofdoc{\today}
\gdef\tkzauthorofpack{Alain Matthes}
\gdef\tkzadressofauthor{}
@@ -170,10 +170,8 @@ sharp corners
\AtBeginDocument{\MakeShortVerb{\|}} % link to shortvrb
-
-
\begin{document}
-\LuaCodeDebugOn
+%\LuaCodeDebugOn
\parindent=0pt
\tkzTitleFrame{tkz-elements \tkzversionofpack\\Euclidean Geometry}
diff --git a/macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf b/macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf
index d42a3a109b..edb5864f4f 100644
--- a/macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf
+++ b/macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty b/macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty
index 0a11787d21..597a050850 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz-elements.sty
@@ -1,5 +1,5 @@
% encoding : utf8
-% tkz-elements.sty v2.25c
+% tkz-elements.sty v2.30c
% Copyright 2024 Alain Matthes
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -11,7 +11,7 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\ProvidesPackage{tkz-elements}[2024/04/27 v2.25c Graphic Object Library]
+\ProvidesPackage{tkz-elements}[2024/07/16 version 2.30c Graphic Object Library]
\RequirePackage{luacode}
\directlua{require "tkz_elements_main"}
@@ -34,20 +34,19 @@
V={}}
\luacode}
{\endluacode}
-
+ % new version of the next macro proposed by Sanskar Singh
\def\tkzGetNodes{\directlua{%
- for K,V in pairs(z) do
- local n,sd,ft
- n = string.len(K)
- if n >1 then
- _,_,ft, sd = string.find( K , "(.+)(.)" )
- if sd == "p" then K=ft.."'" end
- _,_,xft, xsd = string.find( ft , "(.+)(.)" )
- if xsd == "p" then K=xft.."'".."'" end
- end
- tex.print("\\coordinate ("..K..") at ("..V.re..","..V.im..") ;\\\\")
-end}
-}
+ for K,V in pairs(z) do
+ local n,sd,ft
+ n = string.len(K)
+ if n >1 then
+ _,_,ft, sd = string.find( K , "(.+)(.)" )
+ if sd == "p" then K=ft.."'" end
+ _,_,xft, xsd = string.find( ft , "(.+)(.)" )
+ if xsd == "p" then K=xft.."'".."'" end
+ end
+ tex.sprint("\string\\coordinate ("..K..") at ("..V.re..","..V.im..") ; \string\r")
+end}}
\def\tkzUseLua#1{\directlua{tex.print(tostring(#1))}}
\makeatletter
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
index 1999b8a073..e17ccb2ebb 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua
@@ -1,6 +1,6 @@
-- tkz_elements-circles.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua
index b6a1bf7a5a..3ded691d53 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_class.lua
@@ -1,6 +1,6 @@
-- tkz_elements_class.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- from class.lua (Simple Lua Classes from Lua-users wiki)
-- Compatible with Lua 5.1 (not 5.0).
-- http://lua-users.org/wiki/SimpleLuaClasses DavidManura
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
index a98cf40a63..7581c19d7a 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua
@@ -1,6 +1,6 @@
-- tkz_elements-ellipses.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua
index 40f2a4ebbf..88f9040b7f 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_circles.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua
index 69dcd6ace3..fe253e9aa2 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua
@@ -1,6 +1,6 @@
-- tkz_elements_intersections.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua
index 401ad46dda..a5504593c0 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_lines.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_lines.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua
index a71c0f7c27..c3f7e54ffd 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_maths.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua
index 4371214047..c80420090f 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_matrices.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_matrices.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua
index f1c4dc5d41..e2366e25e3 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_points.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua
index 5e92b4d598..0f74d28fe9 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_regular.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_regular.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua
index d4523d1826..02d3058a16 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_triangles.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -259,6 +259,15 @@ function feuerbach_tr_ (a,b,c)
intersection_cc_ (e,m,jb,hb),
intersection_cc_ (e,m,jc,hc)
end
+
+function similar_ (a,b,c)
+ local x,y,z,g
+ g = centroid_ (a,b,c)
+ x = homothety_ (g,-2,a)
+ y = homothety_ (g,-2,b)
+ z = homothety_ (g,-2,c)
+ return x,y,z
+end
--------------------
-- ellipse --
--------------------
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua
index 9304768f31..797365f33f 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_line.lua
@@ -1,6 +1,6 @@
-- tkz_elements_lines.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -324,11 +324,25 @@ function line: mediator ()
m = midpoint_ (self.pa,self.pb)
return line : new (rotation_ (m,-math.pi/2,self.pb),rotation_ (m,math.pi/2,self.pb))
end
+
+function line : perpendicular_bisector ()
+ local m
+ m = midpoint_ (self.pa,self.pb)
+ return line : new (rotation_ (m,-math.pi/2,self.pb),rotation_ (m,math.pi/2,self.pb))
+end
+
-------------------
-- Result -> circle
-------------------
-function line: circle ()
+function line: circle (swap)
+ if swap == nil then
+ swap = false
+ end
+ if swap then
+ return circle : new (self.pb,self.pa)
+ else
return circle : new (self.pa,self.pb)
+ end
end
function line: circle_swap ()
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua
index 10ee219519..142f00c8ed 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_main.lua
@@ -1,6 +1,6 @@
-- tkz_elements-main.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua
index 981ac68094..035e8a0a33 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_matrices.lua
@@ -1,6 +1,6 @@
-- tkz_elements_matrices.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua
index 94c9c555c0..daa3e21872 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua
@@ -1,6 +1,6 @@
-- tkz_elements_functions_maths.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua
index fd0a3533a3..d471976d06 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua
@@ -1,6 +1,6 @@
-- tkz_elements_parallelogram.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua
index 4eb4b549d1..e29779ef79 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua
@@ -1,6 +1,6 @@
-- tkz_elements_point.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua
index e77e0af561..6625b9d789 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua
@@ -1,6 +1,6 @@
-- tkz_elements_quadrilateral.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua
index 2c07f78399..fdc3084501 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua
@@ -1,6 +1,6 @@
-- tkz_elements-rectangle.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua
index 0641a858de..a4527c779b 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua
@@ -1,6 +1,6 @@
-- tkz_elements_regular.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua
index 1852c0ded4..93860b825c 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_square.lua
@@ -1,6 +1,6 @@
-- tkz_elements-square.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua
index c6dd2c3757..84b10273da 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua
@@ -1,6 +1,6 @@
-- tkz_elements_triangles.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
@@ -57,19 +57,19 @@ end
-- points --
-----------------------
function triangle: trilinear (a,b,c)
- return barycenter_ ( {self.pa,a*self.a },{self.pb,b*self.b},{self.pc,c*self.c} )
+ return barycenter_ ({self.pa,a*self.a},{self.pb,b*self.b},{self.pc,c*self.c})
end
function triangle: barycentric (a,b,c)
- return barycenter_ ( {self.pa,a },{self.pb,b},{self.pc,c} )
+ return barycenter_ ({self.pa,a},{self.pb,b},{self.pc,c})
end
function triangle: bevan_point ()
- return circum_center_ ( self : excentral_tr())
+ return circum_center_ ( excentral_tr_ ( self.pa , self.pb , self.pc))
end
function triangle: mittenpunkt_point ()
- return lemoine_point_ ( self : excentral_tr())
+ return lemoine_point_ ( excentral_tr_ ( self.pa , self.pb , self.pc))
end
function triangle: gergonne_point ()
@@ -322,13 +322,20 @@ function triangle : cevian_circle (p)
pta,ptb,ptc = cevian_ (self.pa,self.pb,self.pc,p)
return circle : new (circum_circle_ (pta,ptb,ptc),pta)
end
+
+function triangle : symmedial_circle ()
+ local pta,ptb,ptc,p
+ p = lemoine_point_ ( self.pa , self.pb , self.pc)
+ pta,ptb,ptc = cevian_ (self.pa,self.pb,self.pc,p)
+ return circle : new (circum_circle_ (pta,ptb,ptc),pta)
+end
- function triangle : conway_circle ()
- local i,t
- i = in_center_ (self.pa,self.pb,self.pc)
- t = report_ (self.pb,self.pa,length(self.pb,self.pc),self.pa)
- return circle : new (i,t)
- end
+function triangle : conway_circle ()
+ local i,t
+ i = in_center_ (self.pa,self.pb,self.pc)
+ t = report_ (self.pb,self.pa,length(self.pb,self.pc),self.pa)
+ return circle : new (i,t)
+end
function triangle : pedal_circle (pt)
local x,y,z,c
@@ -338,7 +345,13 @@ function triangle : pedal_circle (pt)
c = circum_center_ (x,y,z)
return circle : new (c,x)
end
-
+
+function triangle: bevan_circle ()
+ local o,r,s,t
+ o = circum_center_ ( excentral_tr_ ( self.pa , self.pb , self.pc))
+ r,s,t = excentral_tr_ ( self.pa , self.pb , self.pc)
+return circle : new (o, r)
+end
-------------------
-- Result -> triangle
-------------------
@@ -392,6 +405,12 @@ function triangle: symmedian ()
return triangle : new (cevian_ (self.pa,self.pb,self.pc,p))
end
+function triangle: symmedial ()
+ local p
+ p = lemoine_point_ ( self.pa , self.pb , self.pc)
+ return triangle : new (cevian_ (self.pa,self.pb,self.pc,p))
+end
+
function triangle: euler ()
return triangle : new (euler_points_ (self.pa,self.pb,self.pc) )
end
@@ -403,6 +422,10 @@ function triangle: pedal (pt)
z = projection_ (self.pa,self.pb,pt)
return triangle : new (x,y,z)
end
+
+function triangle: similar ()
+ return triangle : new (similar_ (self.pa,self.pb,self.pc) )
+end
-------------------
-- Result -> ellipse
-------------------
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua
index 8b26fe4bd3..0dcbbfde61 100644
--- a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua
+++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua
@@ -1,6 +1,6 @@
-- tkz_elements_vectors.lua
--- date 2024/04/27
--- version 2.25c
+-- date 2024/07/16
+-- version 2.30c
-- Copyright 2024 Alain Matthes
-- This work may be distributed and/or modified under the
-- conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tramlines/README b/macros/latex/contrib/tramlines/README
index b252d9323a..0dcd98c4a0 100644
--- a/macros/latex/contrib/tramlines/README
+++ b/macros/latex/contrib/tramlines/README
@@ -1,6 +1,6 @@
tramlines - make tramlines
-version: 1.1.0
+version: 1.1.1
This package automatically creates tramlines (lines above and below a title used by lawyers in the UK and the Commonwealth).
@@ -12,6 +12,9 @@ For suggestions, feature requests, and bug reports, please use the project's
GitHub site: https://github.com/ezgranet/tramlines
Version history:
+18/07/2024: Change erroneous left alignment to centre alignment
+
+
29/01/2023: Updates to float composition and fixed bug with global commands. Thanks to GitHub user niruvt
diff --git a/macros/latex/contrib/tramlines/tramlines-documentation.pdf b/macros/latex/contrib/tramlines/tramlines-documentation.pdf
index e9d9c9d6d9..1ccb2be965 100644
--- a/macros/latex/contrib/tramlines/tramlines-documentation.pdf
+++ b/macros/latex/contrib/tramlines/tramlines-documentation.pdf
Binary files differ
diff --git a/macros/latex/contrib/tramlines/tramlines-documentation.tex b/macros/latex/contrib/tramlines/tramlines-documentation.tex
index f39e7ba70c..ba56009346 100644
--- a/macros/latex/contrib/tramlines/tramlines-documentation.tex
+++ b/macros/latex/contrib/tramlines/tramlines-documentation.tex
@@ -74,9 +74,9 @@ breaklines,
firstnumber=last
]
{latex}
-\def\tramlinesversionnumber{1.1.0}
+\def\tramlinesversionnumber{1.1.1}
\ProvidesPackage{tramlines}
-[2023/01/29\tramlinesversionnumber\
+[2024/07/18\tramlinesversionnumber\
Tramlines]
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -112,7 +112,7 @@ firstnumber=last
\centering
{%notglobal
\setlength\doublerulesep{\tramlinesep}% <-- set distance between double rule
-\begin{tabular}[t]{l c c }
+\begin{tabular}[t]{c c c }
\toprule\toprule
& #1 & \\
\bottomrule\bottomrule
@@ -129,8 +129,19 @@ firstnumber=last
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%\end{minted}
+\section{Version History}
+\subsection*{\ttfamily 1.1.1}
+\ttfamily 18 July 2024: Change erroneous left alignment to centre alignment
+\subsection*{\ttfamily 1.1.0}
+
+\ttfamily 29 October 2023: Updates to float composition and fixed bug with global commands. Thanks to GitHub user `niruvt'
+
+\ttfamily 29/01/2023: Updates to float composition and fixed bug with global commands. Thanks to GitHub user niruvt
+
+
\subsection*{\texttt{1.0.0}}
+
\ttfamily 27 January 2023: Package creation
diff --git a/macros/latex/contrib/tramlines/tramlines.sty b/macros/latex/contrib/tramlines/tramlines.sty
index f3288a8d1f..72878c423e 100644
--- a/macros/latex/contrib/tramlines/tramlines.sty
+++ b/macros/latex/contrib/tramlines/tramlines.sty
@@ -1,6 +1,6 @@
-\def\tramlinesversionnumber{1.1.0}
+\def\tramlinesversionnumber{1.1.1}
\ProvidesPackage{tramlines}
-[2023/01/29\tramlinesversionnumber\
+[2024/07/18\tramlinesversionnumber\
Tramlines]
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -36,7 +36,7 @@
\centering
{%notglobal
\setlength\doublerulesep{\tramlinesep}% <-- set distance between double rule
-\begin{tabular}[t]{l c c }
+\begin{tabular}[b]{c c c }
\toprule\toprule
& #1 & \\
\bottomrule\bottomrule
diff --git a/macros/latex/contrib/tuda-ci/README.md b/macros/latex/contrib/tuda-ci/README.md
index 7200d27b9f..1adcd629dc 100644
--- a/macros/latex/contrib/tuda-ci/README.md
+++ b/macros/latex/contrib/tuda-ci/README.md
@@ -2,7 +2,7 @@
Copyright (C) Marei Peischl <marei@peitex.de>, 2018–2024
- tuda-ci v3.39 (2024-06-27)
+ tuda-ci v3.41 (2024-07-02)
***************************************************************************
@@ -362,4 +362,9 @@ leaflets | DEMO-TUDaLeaflet.tex | tudaleaflet.cls
- update PhD affidavit
* 3.39 (2024-06-27)
- update all templates to no longer use pdfx by default due to the pdfx bug
- - fix letter last page reference \ No newline at end of file
+ - fix letter last page reference
+ * 3.40 (2024-07-01)
+ - implement workaround for the pdfx package bug. Thanks to Ulrike Fischer for the hint!
+ - fix `ìn_department` strings for theses
+ * 3.41 (2024-07-01)
+ - change package loading order to support updated version of pdfx
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
index 28ceb95d74..94fb8c1ba0 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
index b7d11f2aa4..46572dc548 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdf
index d2e2f11794..dba6a9b392 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer2023.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
index 50716c5dad..7318772892 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
index 5bf13522ef..1eff1dfc4c 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
index 452462b83f..f0393a9152 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
index 581d0c4272..e58bb389eb 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
index fa06d29e4a..46617bca7d 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
index 6546e45efa..6cecc14327 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
index b5078b678a..dcdda46cb2 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
index d42332ad99..ee5b7471f5 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
index 555b1afdff..0f6944a3c9 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
index 8e39f52041..3b108d83e3 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaAnnouncement-de.tex' version 3.39 (2024-06-27),
+%% This is file `DEMO-TUDaAnnouncement-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -34,14 +34,14 @@
\documentclass[
paper=a4,
- ngerman,
+ german,
color=black!20,
footer=true,
type=announcement,
% logofile=example-image, %Falls die Logo Dateien nicht vorliegen
]{tudaposter}
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
index 92f63543ce..be652d469a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBeamer-de.tex' version 3.39 (2024-06-27),
+%% This is file `DEMO-TUDaBeamer-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -32,15 +32,15 @@
% !TeX program = lualatex
%%
\documentclass[
- ngerman,%g'Globale Übergabe der Hauptsprache
- aspectratio=169,%Beamer Option zum Umschalten des Formates
+ german,% Globale Übergabe der Hauptsprache
+ aspectratio=169,% Beamer Option zum Umschalten des Formates
accentcolor=2d,% Akzentfarbe
logo=false,% Kein Logo auf Folgeseiten
- colorframetitle=true,%Akzentfarbe auch im Frametitle
-% logofile=example-image, %Falls die Logo Dateien nicht vorliegen
- design=2008, %to activate the old design
+ colorframetitle=true,% Akzentfarbe auch im Frametitle
+% logofile=example-image, % Falls die Logo Dateien nicht vorliegen
+ design=2008, %Um das alte Design zu aktivieren
]{tudabeamer}
-\usepackage[main=ngerman]{babel}
+\usepackage[main=german]{babel}
% Der folgende Block ist nur bei pdfTeX auf Versionen vor April 2018 notwendig:
\usepackage{iftex}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex
index fb02f96b8e..3e6e435754 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer2023.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBeamer2023.tex' version 3.39 (2024-06-27),
+%% This is file `DEMO-TUDaBeamer2023.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
index 154a6a80fa..8b1022904a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBibliography.bib' version 3.39 (2024-06-27),
+%% This is file `DEMO-TUDaBibliography.bib' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
index d4a84ee807..7b39c7fc3f 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaExercise-de.tex' version 3.39 (2024-06-27),
+%% This is file `DEMO-TUDaExercise-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -33,11 +33,11 @@
%%
\documentclass[
- ngerman,
+ german,
points=true,% für die Aktivierung der Punktereferenzen funktioniert nicht für TeX Versionen vor 2020
]{tudaexercise}
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}
\usepackage{biblatex}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
index 43d28f5cf7..3711a5c75a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaFromaddress.lco' version 3.39 (2024-06-27),
+%% This is file `DEMO-TUDaFromaddress.lco' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
index 453d4250a8..2303aa23ae 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLeaflet-de.tex' version 3.39 (2024-06-27),
+%% This is file `DEMO-TUDaLeaflet-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -37,7 +37,7 @@
% logofile=example-image, %Falls die Logo Dateien nicht vorliegen
]{tudaleaflet}
-\usepackage[ngerman]{babel}
+\usepackage[german]{babel}
\usepackage{blindtext}
\usepackage[autostyle]{csquotes}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
index 0e3381865d..20a6dc4e9a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLetter-de.tex' version 3.39 (2024-06-27),
+%% This is file `DEMO-TUDaLetter-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -33,11 +33,13 @@
%%
\DocumentMetadata{
pdfstandard=a-2b,
- pdfversion=1.7,% 2.0 is possible as well, but some validators don't support that yet
+ lang=de,
+ pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht.
}
+
\documentclass[
- ngerman,
+ german,
% logo=false,%Schaltet das Logo für Folgeseiten ab
accentcolor=9c,%Akzentfarbe nach Tabelle aus den Corporate Design Richtlinien
premium=true,%Aktiviert die Färbung der Identitätsleiste
@@ -88,7 +90,7 @@ Zusätzliche Optionen sind im Folgenden aufgelistet:\\
}
Für Wiederverwendung der Absenderadresse wurde die Datei \enquote{DEMO"=TUDaFromaddress.lco} angelegt. Sie wird, wie bei \KOMAScript{} üblich, über
-\verb+\LoadLetterOption+ geladen. Sämtliche dort gesetzten Werte können innerhalb der Briefdatei überschrieben werden.
+\verb+\LoadLett+\babelhyphen{empty}\verb+erOption+ geladen. Sämtliche dort gesetzten Werte können innerhalb der Briefdatei überschrieben werden.
Die Adressdatei wird üblicherweise lokal im System installiert, um sie nicht immer mit allen anderen Dateien kopieren zu müssen. Falls Sie dies durchführen möchten, findet sich eine entsprechende Erklärung am Ende der DEMO"=TUDaFromaddress.lco"=Datei.
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
index 028ecf6f95..6b14bfda0d 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPhD-de.tex' version 3.39 (2024-06-27)
+%% This is file `DEMO-TUDaPhD-de.tex' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -34,11 +34,12 @@
% PDF/A über pdfmanagement und nicht über pdfx
\DocumentMetadata{
pdfstandard=a-2b,
+ lang=de,
pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht.
}
\documentclass[
- german,% Hauptsprache als globale Option, früher war ngerman notwendig
+ german,% Hauptsprache als globale Option, früher war german notwendig
ruledheaders=chapter,% Ebene bis zu der die Überschriften mit Linien abgetrennt werden, vgl. DEMO-TUDaPub
class=book,% Basisdokumentenklasse. Wählt die korrespondierende KOMA-Script Klasse
thesis={% Dokumententyp PhD Thesis, für kleinere Abschlussarbeiten, siehe DEMO-TUDaThesis-de.tex
@@ -57,7 +58,7 @@
%%%%%%%%%%%%%%%%%%%
% Spracheinstellungen
%%%%%%%%%%%%%%%%%%%
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}% Sprachabhängig Anführungszeichen mit \enquote
% Falls mit pdflatex kompiliert wird, wird microtype automatisch geladen, in diesem Fall muss diese Zeile entfernt werden, und falls weiter Optionen hinzugefügt werden sollen, muss dies über
@@ -173,16 +174,16 @@ TUDa-CI verwendet hierfür das babel-Paket.
Dies wird jedoch nicht automatisch geladen, da hierfür die Konfiguration der Sprachen bekannt sein müsste. Die Demo-Dateien für Abschlussarbeiten (\file{DEMO-TUDaThesis.tex}/""\file{DEMO-TUDaPhD.tex}) laden hierfür die Konfiguration:
\begin{verbatim}
- \usepackage[english, main=ngerman]{babel}
+ \usepackage[english, main=german]{babel}
\end{verbatim}
Diese ist für ein Dokument mit Deutsch als Hauptsprache und Englischen Elementen.
Die Hauptsprache wird als Wert der Option \verb+main=+ übergeben.
-Das Laden von \verb+ngerman+ wird in den Fällen, in denen es von TUDa-CI benötigt wird, automatisch ausgelöst.
+Das Laden von \verb+german+ wird in den Fällen, in denen es von TUDa-CI benötigt wird, automatisch ausgelöst.
Für eine bessere Übersichtlichkeit ist es dennoch hilfreich es dort aufzuführen.
Falls die Hauptsprache nicht Deutsch ist, wäre daher die folgende Konfiguration sinnvoll:
\begin{verbatim}
- \usepackage[ngerman, main=<Hauptsprache>]{babel}
+ \usepackage[german, main=<Hauptsprache>]{babel}
\end{verbatim}
\section{Übergabe der Titeldaten}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
index 35e8d5d812..33a78fd1f3 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPoster-de.tex' version 3.39 (2024-06-27),
+%% This is file `DEMO-TUDaPoster-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -34,14 +34,14 @@
\documentclass[
paper=a0,
- ngerman,
+ german,
accentcolor=9c,
logo=body,% Logo unterhalb der Identitätsleise
footer=true,
% logofile=example-image, %Falls die Logo Dateien nicht vorliegen
]{tudaposter}
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
index 1e6cdc8ce7..7b03b612d8 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPub-de.tex' version 3.39 (2024-06-27),
+%% This is file `DEMO-TUDaPub-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -34,16 +34,17 @@
% PDF/A über pdfmanagement und nicht über pdfx
\DocumentMetadata{
pdfstandard=a-2b,
+ lang=de,
pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht.
}
\documentclass[
- ngerman,
+ german,
accentcolor=9c,% Farbe für Hervorhebungen auf Basis der Deklarationen in den Corporate Design Richtlinien
% logofile=example-image, %Falls die Logo Dateien nicht vorliegen
]{tudapub}
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}
\usepackage{biblatex}
@@ -239,7 +240,7 @@ Die \code{abstract}-Umgebung wird für \cls{tudapub} um eine Option für die Spr
\end{abstract}
\end{verbatim}
-Für die Verwendung ist wichtig, dass alle im Dokument genutzten Sprachen geladen werden. Im Falle des Beispiels muss also sowohl \code{ngerman} als auch \code{english} an das \pck{babel}-Paket übergeben werden.
+Für die Verwendung ist wichtig, dass alle im Dokument genutzten Sprachen geladen werden. Im Falle des Beispiels muss also sowohl \code{german} als auch \code{english} an das \pck{babel}-Paket übergeben werden.
\subsection{PDF/A Konformität}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
index 56272741ba..c5974e6ece 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaReport-de.tex' version 3.39 (2024-06-27),
+%% This is file `DEMO-TUDaReport-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -33,13 +33,13 @@
%%
\documentclass[
- ngerman,
+ german,
accentcolor=9c,% Farbe für Hervorhebungen auf Basis der Deklarationen in den
type=intern,
marginpar=false
]{tudapub}
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}
%Formatierungen für Beispiele in diesem Dokument. Im Allgemeinen nicht notwendig!
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
index 81978daa3d..aba84ecdab 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaSciPoster-de.tex' version 3.39 (2024-06-27),
+%% This is file `DEMO-TUDaSciPoster-de.tex' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -41,7 +41,7 @@
]{tudasciposter}
%Sprache
-\usepackage[ngerman]{babel}
+\usepackage[german]{babel}
\usepackage[autostyle]{csquotes}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
index 300274f41c..12080524fb 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaThesis-de.tex' version 3.39 (2024-06-27)
+%% This is file `DEMO-TUDaThesis-de.tex' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -34,11 +34,12 @@
% PDF/A über pdfmanagement und nicht über pdfx
\DocumentMetadata{
pdfstandard=a-2b,
+ lang=de,
pdfversion=1.7,% 2.0 geht auch, aber die meisten Validierungsprogramme unterstützen das noch nicht.
}
\documentclass[
- german,% Hauptsprache als globale Option, früher war ngerman notwendig
+ german,% Hauptsprache als globale Option, früher war german notwendig
ruledheaders=section,% Ebene bis zu der die Überschriften mit Linien abgetrennt werden,
class=report,% Basisdokumentenklasse. Wählt die Korrespondierende KOMA-Script Klasse
thesis={type=bachelor},% Dokumententyp Thesis, für Dissertationen siehe die Demo-Datei DEMO-TUDaPhd
@@ -54,7 +55,7 @@
%%%%%%%%%%%%%%%%%%%
% Spracheinstellungen
%%%%%%%%%%%%%%%%%%%
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\usepackage[autostyle]{csquotes}% Sprachabhängig Anführungszeichen mit \enquote
% Falls mit pdflatex kompiliert wird, wird microtype automatisch geladen, in diesem Fall muss diese Zeile entfernt werden, und falls weiter Optionen hinzugefügt werden sollen, muss dies über
@@ -190,16 +191,16 @@ TUDa-CI verwendet hierfür das babel-Paket.
Dies wird jedoch nicht automatisch geladen, da hierfür die Konfiguration der Sprachen bekannt sein müsste. Die Demo-Dateien für Abschlussarbeiten (\file{DEMO-TUDaThesis.tex}/""\file{DEMO-TUDaPhD.tex}) laden hierfür die Konfiguration:
\begin{verbatim}
-\usepackage[english, main=ngerman]{babel}
+\usepackage[english, main=german]{babel}
\end{verbatim}
Diese ist für ein Dokument mit Deutsch als Hauptsprache und Englischen Elementen.
Die Hauptsprache wird als Wert der Option \verb+main=+ übergeben.
-Das Laden von \verb+ngerman+ wird in den Fällen, in denen es von TUDa-CI benötigt wird, automatisch ausgelöst.
+Das Laden von \verb+german+ wird in den Fällen, in denen es von TUDa-CI benötigt wird, automatisch ausgelöst.
Für eine bessere Übersichtlichkeit ist es dennoch hilfreich es dort aufzuführen.
Falls die Hauptsprache nicht Deutsch ist, wäre daher die folgende Konfiguration sinnvoll:
\begin{verbatim}
-\usepackage[ngerman, main=<Hauptsprache>]{babel}
+\usepackage[german, main=<Hauptsprache>]{babel}
\end{verbatim}
\section{Übergabe der Titeldaten}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
index 0a7b2a9723..62af9069e5 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamercolorthemeTUDa.sty' version 3.39 (2024-06-27),
+%% This is file `beamercolorthemeTUDa.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2008.sty b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2008.sty
index 60b262bbef..14a86607d1 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2008.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamercolorthemeTUDa2008.sty' version 3.39 (2024-06-27)
+%% This is file `beamercolorthemeTUDa2008.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
index 54fcdc3579..c2ec43d33e 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerfontthemeTUDa.sty' version 3.39 (2024-06-27)
+%% This is file `beamerfontthemeTUDa.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2008.sty b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2008.sty
index dd6dd37d5a..4ac32a79cd 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2008.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerfontthemeTUDa2008.sty' version 3.39 (2024-06-27)
+%% This is file `beamerfontthemeTUDa2008.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
index 7b187cc3e7..f2a82c86a5 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa.sty' version 3.39 (2024-06-27)
+%% This is file `beamerinnerthemeTUDa.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty
index 52fdc3b0ba..55644e9766 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa2008.sty' version 3.39 (2024-06-27),
+%% This is file `beamerinnerthemeTUDa2008.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty
index e2edb462c5..e4780a9fef 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa2023.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa2023.sty' version 3.39 (2024-06-27),
+%% This is file `beamerinnerthemeTUDa2023.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
index 54d0a141f4..38f1a7b00a 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerouterthemeTUDa.sty' version 3.39 (2024-06-27),
+%% This is file `beamerouterthemeTUDa.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty
index 61e65d351e..b74da09f60 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerouterthemeTUDa2008.sty' version 3.39 (2024-06-27),
+%% This is file `beamerouterthemeTUDa2008.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
index 0f3b3f8489..e84e7fa228 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa-mecheng.sty' version 3.39 (2024-06-27),
+%% This is file `beamerthemeTUDa-mecheng.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\ProvidesExplPackage{beamerthemeTUDa-mecheng}{\filedate}{\fileversion}{specific tudabeamer configuration for the department of mechanical engineering}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
index bccd070c5f..beb85e6785 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa.sty' version 3.39 (2024-06-27),
+%% This is file `beamerthemeTUDa.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty
index 25a6b83e7d..f3c3064841 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2008.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa2008.sty' version 3.39 (2024-06-27),
+%% This is file `beamerthemeTUDa2008.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
\ProvidesPackage{beamerthemeTUDa2008}
[\filedate\space\fileversion\space beamer theme using the Corporate Design of TU Darmstadt Design of 2008]
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty
index a828f2edb2..7095ba69f1 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa2023.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa2023.sty' version 3.39 (2024-06-27)
+%% This is file `beamerthemeTUDa2023.sty' version 3.41 (2024-07-02)
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
index f26920e488..55147ed57f 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a0paper.clo' version 3.39 (2024-06-27),
+%% This is file `tuda-a0paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
-\ProvidesExplFile{tuda-a0paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
+\ProvidesExplFile{tuda-a0paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{125pt}{165pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{28pt}{35pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{24pt}{30pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{125pt}{165pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{28pt}{35pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{24pt}{30pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {30pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {30pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
}
\endinput
+%%
+%% End of file `tuda-a0paper.clo'.
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
index a09b548393..4a89742e12 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a1paper.clo' version 3.39 (2024-06-27),
+%% This is file `tuda-a1paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
-\ProvidesExplFile{tuda-a1paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a1paper}
+\ProvidesExplFile{tuda-a1paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a1paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{86pt}{120pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{35pt}{42pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{22pt}{26pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{86pt}{120pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{35pt}{42pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{22pt}{26pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
}
\endinput
+%%
+%% End of file `tuda-a1paper.clo'.
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
index 6b39a2e0c1..57121954a4 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a2paper.clo' version 3.39 (2024-06-27),
+%% This is file `tuda-a2paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
-\ProvidesExplFile{tuda-a2paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
+\ProvidesExplFile{tuda-a2paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a2paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{65pt}{82pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{22pt}{28pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{14pt}{20pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{65pt}{82pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{22pt}{28pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{14pt}{20pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}
+ }
\dim_gset:Nn \g_ptxcd_margin_dim {30mm}
}
\endinput
+%%
+%% End of file `tuda-a2paper.clo'.
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
index 1669e7082a..e841639ad0 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a3paper.clo' version 3.39 (2024-06-27),
+%% This is file `tuda-a3paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
-\ProvidesExplFile{tuda-a3paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a3paper}
+\ProvidesExplFile{tuda-a3paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a3paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{47pt}{61pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{16pt}{20pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{12pt}{16pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{47pt}{61pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{16pt}{20pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{12pt}{16pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {17pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {15mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {17pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {15mm}
}
\endinput
+%%
+%% End of file `tuda-a3paper.clo'.
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
index 70605e9f31..646a994a6a 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a4paper.clo' version 3.39 (2024-06-27),
+%% This is file `tuda-a4paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
-\ProvidesExplFile{tuda-a4paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a4paper}
+\ProvidesExplFile{tuda-a4paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a4paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{36pt}{47pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{12pt}{14pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{36pt}{47pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{12pt}{14pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {14pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {15mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {14pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {15mm}
}
\endinput
+%%
+%% End of file `tuda-a4paper.clo'.
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
index dff190b3e7..8c0ef0e94f 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a5paper.clo' version 3.39 (2024-06-27),
+%% This is file `tuda-a5paper.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,16 +25,18 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
-\ProvidesExplFile{tuda-a5paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a5paper}
+\ProvidesExplFile{tuda-a5paper.clo}{2024-07-01}{3.40}{tuda-ci~size~adjustments~for~a5paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{22pt}{28pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{10pt}{11.5pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{22pt}{28pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{10pt}{11.5pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {10pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {12mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {
+ \tl_gset:Nn \g_ptxcd_fontsize_tl {10pt}
+ }
+ \dim_gset:Nn \g_ptxcd_margin_dim {12mm}
}
\endinput
+%%
+%% End of file `tuda-a5paper.clo'.
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
index 5e5bae21f0..b0a32c7502 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
@@ -1,4 +1,4 @@
-%% This is file `tuda-pgfplots.sty' version 3.39 (2024-06-27),
+%% This is file `tuda-pgfplots.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
% Special thanks to: Sebastian Schöps Institut Theorie Elektromagnetischer Felder (TEMF), TU Darmstadt
% The original version of this file has been inspired by the colorscheme in the Metropolis beamer theme by Matthias Vogelgesang https://github.com/matze/mtheme
\ProvidesPackage{tuda-pgfplots}[\filedate\space\fileversion\space tuda-ci pgfplots color schemes]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
index 184616df31..df4840467e 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
@@ -1,4 +1,4 @@
-%% This is file `tudabeamer.cls' version 3.39 (2024-06-27),
+%% This is file `tudabeamer.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{tudabeamer}
[\filedate\space\fileversion\space]
@@ -124,9 +124,9 @@
\bool_if:NT \g_ptxcd_pdfa_bool {\PassOptionsToPackage{RGB}{xcolor}}
\bool_if:NT \g_ptxcd_pdfa_bool {
-\RequirePackage{scrlfile}
-\PreventPackageFromLoading{hyperref}
-\def\hypersetup#1{}
+ \RequirePackage{scrlfile}
+ \PreventPackageFromLoading{hyperref}
+ \def\hypersetup#1{}
}
\ExplSyntaxOff
@@ -137,7 +137,16 @@
\bool_if:NT \g_ptxcd_pdfa_bool {
\UnPreventPackageFromLoading{hyperref}
\PassOptionsToPackage{a-2b}{pdfx}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
\RequirePackage{pdfx}
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
}
\hypersetup{hidelinks, unicode}
@@ -242,7 +251,7 @@
\let\accentfont\normalfont%
\file_if_exist:nT {\g__ptxcd_config_prefix_tl beamerthemeTUDa-\g_ptxcd_department_str.sty}
- {\usepackage{\g__ptxcd_config_prefix_tl beamerthemeTUDa-\g_ptxcd_department_str}}
+ {\RequirePackage{\g__ptxcd_config_prefix_tl beamerthemeTUDa-\g_ptxcd_department_str}}
\ExplSyntaxOff
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.def b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
index 6fe3861ef1..44f09edb86 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.def
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.def' version 3.39 (2024-06-27),
+%% This is file `tudacolors.def' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\ProvidesFile{tudacolors.def}
[\filedate\space\fileversion\space Color definitions for tuda-ci]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
index 1e85a05300..448483daaf 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.sty' version 3.39 (2024-06-27),
+%% This is file `tudacolors.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudacolors}{\filedate}{\fileversion}{Color definition for TU Darmstadt's tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
index cb57b6249c..366b966826 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaexercise.cls' version 3.39 (2024-06-27),
+%% This is file `tudaexercise.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplClass{tudaexercise}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
index cc05ff2404..9fb3ad0600 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
@@ -1,4 +1,4 @@
-%% This is file `tudafonts.sty' version 3.39 (2024-06-27),
+%% This is file `tudafonts.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudafonts}
[\filedate\space\fileversion\space
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
index 46da40287a..52b86eb332 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaleaflet.cls' version 3.39 (2024-06-27),
+%% This is file `tudaleaflet.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudaleaflet}{\filedate}{\fileversion}{Leaflets using the Corporate Design of TU Darmstadt}
@@ -88,7 +88,7 @@
\RequirePackage{scrextend}
\RequirePackage{scrlayer}
\PassOptionsToPackage{cmyk}{tudacolors}
-\usepackage[paper=leaflet]{tudarules}
+\RequirePackage[paper=leaflet]{tudarules}
\setlength{\headheight}{1cm}%to add headline
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
index 462cfed709..9eb3a15953 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaletter.cls' version 3.39 (2024-06-27),
+%% This is file `tudaletter.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplClass{tudaletter}
@@ -121,6 +121,11 @@
% Load the TUDa-colorscheme
\RequirePackage{tudacolors}
+\RequirePackage{tudafonts}
+\RequirePackage{graphicx}
+\RequirePackage{afterpage}
+\RequirePackage{ragged2e}
+
\bool_if:NTF \g__ptxcd_letter_premium_bool
{ \cs_new:Nn \ptxcd_premiumcolor: {accentcolor}
@@ -132,10 +137,6 @@
\let\ptxcd_use_premiumcolor_text:\relax
}
-\RequirePackage{tudafonts}
-\RequirePackage{graphicx}
-\RequirePackage{afterpage}
-\RequirePackage{ragged2e}
%%%%%Briefbogen
@@ -171,32 +172,50 @@
\geometry{top=30mm}
}
-\@setplength{firstheadhpos}{\c_ptxcd_HeadMargin_dim}
-\@setplength{firstheadvpos}{\c_ptxcd_HeadMargin_dim}
-\@setplength{firstheadwidth}{\dim_eval:n {\paperwidth - 2\c_ptxcd_HeadMargin_dim}}
+\if_bool:N \g_ptxcd_pdfx_bool
+ \PassOptionsToPackage{a-2b}{pdfx}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
+ \RequirePackage{pdfx}
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
+\else:
+ \PassOptionsToPackage{hidelinks, unicode}{hyperref}
+ \RequirePackage{hyperref}
+\fi:
+
+\RequirePackage[paper=a4]{tudarules}% might load pgfcore, so it has to be loaded after pdfx
+
+\setplength{firstheadhpos}{\c_ptxcd_HeadMargin_dim}
+\setplength{firstheadvpos}{\c_ptxcd_HeadMargin_dim}
+\setplength{firstheadwidth}{\dim_eval:n {\paperwidth - 2\c_ptxcd_HeadMargin_dim}}
-\@setplength{firstfootvpos}{\dim_eval:n {\paperheight -17mm}}
-\@setplength{firstfoothpos}{\useplength{firstheadhpos}}
-\@setplength{firstfootwidth}{\useplength{firstheadwidth}}
+\setplength{firstfootvpos}{\dim_eval:n {\paperheight -17mm}}
+\setplength{firstfoothpos}{\useplength{firstheadhpos}}
+\setplength{firstfootwidth}{\useplength{firstheadwidth}}
-\@setplength{toaddrhpos}{\c_ptxcd_LeftMargin_dim}
-\@setplength{toaddrvpos}{50mm}
-\@setplength{backaddrheight}{4mm}
-\@setplength{toaddrindent}{0mm}
+\setplength{toaddrhpos}{\c_ptxcd_LeftMargin_dim}
+\setplength{toaddrvpos}{50mm}
+\setplength{backaddrheight}{4mm}
+\setplength{toaddrindent}{0mm}
-\@setplength{refhpos}{\c_ptxcd_LeftMargin_dim}
-\@setplength{refvpos}{106mm}
+\setplength{refhpos}{\c_ptxcd_LeftMargin_dim}
+\setplength{refvpos}{106mm}
-\@setplength{subjectaftervskip}{2\baselineskip}
-\@setplength{lochpos}{\c_ptxcd_HeadMargin_dim}
-\@setplength{locvpos}{\dimexpr\useplength{refvpos}+\useplength{subjectaftervskip}+1.4\baselineskip\relax}
-\@setplength{refaftervskip}{0pt}
-\@setplength{subjectbeforevskip}{0pt}
-\@setplength{locwidth}{\dimexpr\paperwidth-154,5mm -\c_ptxcd_HeadMargin_dim\relax}
-\@setplength{locheight}{\dimexpr\paperheight-\useplength{locvpos}-\c_ptxcd_BottomMargin_dim\relax}
+\setplength{subjectaftervskip}{2\baselineskip}
+\setplength{lochpos}{\c_ptxcd_HeadMargin_dim}
+\setplength{locvpos}{\dimexpr\useplength{refvpos}+\useplength{subjectaftervskip}+1.4\baselineskip\relax}
+\setplength{refaftervskip}{0pt}
+\setplength{subjectbeforevskip}{0pt}
+\setplength{locwidth}{\dimexpr\paperwidth-154,5mm -\c_ptxcd_HeadMargin_dim\relax}
+\setplength{locheight}{\dimexpr\paperheight-\useplength{locvpos}-\c_ptxcd_BottomMargin_dim\relax}
-\RequirePackage[paper=a4]{tudarules}
\bool_if:NTF \g__ptxcd_letter_headrule_bool {
\ptxcd_makeheadrule[width=\useplength{firstheadwidth},color=identbarcolor]{ptxcd_LetterheadRule}
@@ -461,7 +480,16 @@
%pdfa
\if_bool:N \g_ptxcd_pdfx_bool
\PassOptionsToPackage{a-2b}{pdfx}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
\RequirePackage{pdfx}
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
%%hyperref
\hypersetup{hidelinks, unicode}
\iow_new:N \ptxcd_xmpdata_stream
@@ -521,8 +549,6 @@
} {See~ TUDa-CI~ or~ pdfx~ documentation~ for~ details.}
\else:
- \PassOptionsToPackage{hidelinks, unicode}{hyperref}
- \RequirePackage{hyperref}
\hypersetup{pdfcreator=LaTeX~using~TUDa-CI}
\msg_new:nnnn {tudapub} {metadata-to-hypersetup} {
diff --git a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
index f88ea788df..216642a28c 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudalettersize10pt.clo' version 3.39 (2024-06-27),
+%% This is file `tudalettersize10pt.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -37,9 +37,11 @@
%%
\ProvidesFile{%
tudalettersize10pt.clo%
-}[tudaletter font size class option]
-
-\def\normalsize{%
+}[
+ tudaletter font size class option (10pt)
+]
+\let\normalsize\@undefined
+\DeclareRobustCommand\normalsize{%
\@setfontsize\normalsize\@xpt\@xipt
\abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
\abovedisplayshortskip \z@ \@plus3\p@
@@ -49,9 +51,11 @@
}
\def\datasize{%
\normalsize
- \@setfontsize\normalsize\@xpt\@xiiipt
+ \@setfontsize\normalsize
+ \@xpt\@xiiipt
}
-\def\small{%
+\let\small\@undefined
+\DeclareRobustCommand\small{%
\@setfontsize\small\@ixpt{11}%
\abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus2\p@
@@ -62,7 +66,8 @@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip
}
-\def\footnotesize{%
+\let\footnotesize\@undefined
+\DeclareRobustCommand\footnotesize{%
\@setfontsize\footnotesize{7.5pt}\@xpt%
\abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus\p@
@@ -73,21 +78,28 @@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip
}
-\def\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
-\def\tiny{\@setfontsize\tiny\@vipt\@viipt}
-\def\large{\@setfontsize\large\@xiipt{14}}
-\def\Large{\@setfontsize\Large\@xivpt{18}}
-\def\LARGE{\@setfontsize\LARGE\@xviipt{22}}
-\def\huge{\@setfontsize\huge\@xxpt{25}}
-\def\Huge{\@setfontsize\Huge\@xxvpt{30}}
+\let\scriptsize\@undefined
+\let\tiny\@undefined
+\let\large\@undefined
+\let\Large\@undefined
+\let\LARGE\@undefined
+\let\huge\@undefined
+\let\Huge\@undefined
+\DeclareRobustCommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
+\DeclareRobustCommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
+\DeclareRobustCommand\large{\@setfontsize\large\@xiipt{14}}
+\DeclareRobustCommand\Large{\@setfontsize\Large\@xivpt{18}}
+\DeclareRobustCommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
+\DeclareRobustCommand\huge{\@setfontsize\huge\@xxpt{25}}
+\DeclareRobustCommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
\normalsize
\setlength\footnotesep {6.65\p@}
\setlength{\skip\footins} {9\p@ \@plus 4\p@ \@minus 2\p@}
-\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\textfloatsep {20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
\setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
-\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\@fptop {0\p@ \@plus 1fil}
\setlength\@fpsep {8\p@ \@plus 2fil}
\setlength\@fpbot {0\p@ \@plus 1fil}
@@ -96,32 +108,32 @@
\setlength\@dblfpbot {0\p@ \@plus 1fil}
\setlength\partopsep {2\p@ \@plus 1\p@ \@minus 1\p@}
\def\@listi{\leftmargin\leftmargini
- \parsep 4\p@ \@plus2\p@ \@minus\p@
- \topsep 8\p@ \@plus2\p@ \@minus4\p@
- \itemsep4\p@ \@plus2\p@ \@minus\p@}
+ \parsep 4\p@ \@plus2\p@ \@minus\p@
+ \topsep 8\p@ \@plus2\p@ \@minus4\p@
+ \itemsep \parsep}
\let\@listI\@listi
\def\@listii {\leftmargin\leftmarginii
- \labelwidth\leftmarginii
- \advance\labelwidth-\labelsep
- \topsep 4\p@ \@plus2\p@ \@minus\p@
- \parsep 2\p@ \@plus\p@ \@minus\p@
- \itemsep \parsep}
+ \labelwidth\leftmarginii
+ \advance\labelwidth-\labelsep
+ \topsep 4\p@ \@plus2\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+ \itemsep \parsep}
\def\@listiii{\leftmargin\leftmarginiii
- \labelwidth\leftmarginiii
- \advance\labelwidth-\labelsep
- \topsep 2\p@ \@plus\p@\@minus\p@
- \parsep \z@
- \partopsep \p@ \@plus\z@ \@minus\p@
- \itemsep \topsep}
+ \labelwidth\leftmarginiii
+ \advance\labelwidth-\labelsep
+ \topsep 2\p@ \@plus\p@\@minus\p@
+ \parsep \z@
+ \partopsep \p@ \@plus\z@ \@minus\p@
+ \itemsep \topsep}
\def\@listiv {\leftmargin\leftmarginiv
- \labelwidth\leftmarginiv
- \advance\labelwidth-\labelsep}
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep}
\def\@listv {\leftmargin\leftmarginv
- \labelwidth\leftmarginv
- \advance\labelwidth-\labelsep}
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep}
\def\@listvi {\leftmargin\leftmarginvi
- \labelwidth\leftmarginvi
- \advance\labelwidth-\labelsep}
+ \labelwidth\leftmarginvi
+ \advance\labelwidth-\labelsep}
%%% From File: $Id: scrkernel-paragraphs.dtx 3064 2019-02-01 07:40:28Z kohm $
\@ifundefined{@list@extra}{}{%
\expandafter\ifnum\scr@v@is@ge{3.17}\par@updaterelative\fi
diff --git a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
index 3f139d6117..d1d70773e8 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudamecheng.cfg' version 3.39 (2024-06-27),
+%% This is file `tudamecheng.cfg' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\RequirePackage{expl3}
\ProvidesExplFile{tudamecheng.cfg}
{\filedate}{\fileversion}{Special Features the department of mechanical engineering of Darmstadt's Corporate Design (tuda-ci)}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
index 48b515d833..0286215cb0 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaposter.cls' version 3.39 (2024-06-27),
+%% This is file `tudaposter.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudaposter}{\filedate}{\fileversion}{Poster Layouts for the Corporate Design of TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudapub.cls b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
index a8347aac90..976d2a943c 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudapub.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
@@ -1,4 +1,4 @@
-%% This is file `tudapub.cls' version 3.39 (2024-06-27),
+%% This is file `tudapub.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplClass{tudapub}
@@ -224,11 +224,6 @@
}
}
-\bool_if:NT \g_ptxcd_pdfx_bool {
- \PassOptionsToPackage{RGB}{xcolor}
- \msg_info:nn {tudapub} {colors-to-rgb}
-}
-
\exp_args:Nx \tl_if_eq:nnT {\prop_item:Nn \g_ptxcd_clsopts_prop {fontsize}} {9pt}
{
\prop_if_in:NnF \g_ptxcd_unknown_clsopts_prop {DIV}
@@ -254,6 +249,64 @@
\LoadClass{\g_ptxcd_pub_class_tl}
+\RequirePackage{tudafonts}
+\RequirePackage{tudacolors}
+\RequirePackage[draft=false]{scrlayer-scrpage}
+\RequirePackage{graphicx}
+
+\bool_if:NTF \g_ptxcd_pdfx_bool {
+ \PassOptionsToPackage{RGB}{xcolor}
+ \msg_info:nn {tudapub} {colors-to-rgb}
+
+ %only apply the hack if pdfx is older than the working version
+ \PassOptionsToPackage{a-2b}{pdfx}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
+ \RequirePackage{pdfx}
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
+
+ \msg_new:nnn{tudapub} {prefer-lualatex} {
+ You~use~pdfa-mode~in~#1.\\
+ This~can~lead~to~incompatiblities~especially~with~older~compiler~versions.\\
+ You~should~prefer~using~lualatex.
+ }
+ \msg_new:nnnn{tudapub} {outdated-package-pdfa} {
+ Your~Version~of~the~#1-package~is~too~old~to~support~all~methods~required~by~tudapubs~pdfa-mode.\\
+ Either~update~your~TeX-distribution~or~switch~to~pdfa=false.
+ }{See~DEMO-tudapub~for~further~information.}
+
+
+ \sys_if_engine_pdftex:T {
+ \msg_warning:nnn{tudapub} {prefer-lualatex} {PDFTeX}
+ }
+
+ \sys_if_engine_xetex:T {
+ \msg_warning:nnn{tudapub} {prefer-lualatex} {XeTeX}
+ }
+
+ \@ifpackagelater{xmpincl}{2021/09/22}{
+ }{
+ \msg_error:nn{tudapub} {outdated-package-pdfa} {xmpincl}
+ }
+
+ \@ifpackagelater{pdfx}{2018/12/01}{
+ }{
+ \msg_error:nn{tudapub} {outdated-package-pdfa} {pdfx}
+ }
+} {
+ \PassOptionsToPackage{hidelinks, unicode}{hyperref}
+ \RequirePackage{hyperref}
+}
+
+\RequirePackage{tudarules}
+\RequirePackage{trimclip}
+\RequirePackage{bookmark}
\prop_map_inline:Nn \g_ptxcd_unknown_clsopts_prop {
\cs_if_exist:cT {KV@KOMA.\g_ptxcd_pub_class_tl.cls@#1} {
@@ -299,12 +352,6 @@
}
-\usepackage{tudarules}
-
-
-%,~ subsection,~
-\usepackage{tudafonts}
-
%Margin & titlefontsize setup setup
\bool_new:N \g_ptxcd_marginpar_bool
@@ -386,8 +433,7 @@
%%%%%Anfang Randeinstellungen Geometry
-%Has to be loaded here due to headwidth options
-\usepackage[draft=false]{scrlayer-scrpage}
+
\AddToHook{begindocument}[tudapub:BCOR-titlepage]{
\bool_if:NT \g_ptxcd_BCOR_titlepage_bool
@@ -464,7 +510,6 @@
-
\newcommand*{\institution}[1]{
\def\ptxcd_institution{#1}
}
@@ -472,7 +517,6 @@
\cs_new:Nn \ptxcd_titlerule_sep: {\the\dp\strutbox}
-\usepackage{tudacolors}
\setkomafont{disposition}{\sffamily\bfseries}
\setkomafont{pageheadfoot}{\sffamily\small}
@@ -600,7 +644,6 @@
\newcommand{\titleimage}[1]{\tl_gset:Nn \g_ptxcd_titleimage_code_tl {#1}}
\box_new:N \l__ptxcd_titlegraphic_box
-\RequirePackage{trimclip}
\NewDocumentCommand{\titlegraphic}{sm}{
\IfBooleanTF{#1}{
@@ -640,7 +683,7 @@
You~selected~an~unknown~language~#1.\\
The~Variable~#2~does~not~have~a~predefined~value.\\
Ensure~to~redefine~#2~to~match~your~language.\\
- Otherwise~the~ngerman~vaue~#3~will~be~used.
+ Otherwise~the~german~vaue~#3~will~be~used.
}
\cs_new:Nn \ptxcd_define_captionFallback:Nn {
@@ -870,43 +913,8 @@
\DeclareNewPageStyleByLayers{title.TUDa}{title.TUDa.background,title.TUDa.rule,title.TUDa.image}
%Logos
-\RequirePackage{graphicx}
\if_bool:N \g_ptxcd_pdfx_bool
-
- \msg_new:nnn{tudapub} {prefer-lualatex} {
- You~use~pdfa-mode~in~#1.\\
- This~can~lead~to~incompatiblities~especially~with~older~compiler~versions.\\
- You~should~prefer~using~lualatex.
- }
- %only apply the hack if pdfx is older than the working version
- \PassOptionsToPackage{a-2b}{pdfx}
- \RequirePackage{pdfx}
-
- \msg_new:nnnn{tudapub} {outdated-package-pdfa} {
- Your~Version~of~the~#1-package~is~too~old~to~support~all~methods~required~by~tudapubs~pdfa-mode.\\
- Either~update~your~TeX-distribution~or~switch~to~pdfa=false.
- }{See~DEMO-tudapub~for~further~information.}
-
-
- \sys_if_engine_pdftex:T {
- \msg_warning:nnn{tudapub} {prefer-lualatex} {PDFTeX}
- }
-
- \sys_if_engine_xetex:T {
- \msg_warning:nnn{tudapub} {prefer-lualatex} {XeTeX}
- }
-
- \@ifpackagelater{xmpincl}{2021/09/22}{
- }{
- \msg_error:nn{tudapub} {outdated-package-pdfa} {xmpincl}
- }
-
- \@ifpackagelater{pdfx}{2018/12/01}{
- }{
- \msg_error:nn{tudapub} {outdated-package-pdfa} {pdfx}
- }
-
%%hyperref
\hypersetup{hidelinks, unicode}
\iow_new:N \ptxcd_xmpdata_stream
diff --git a/macros/latex/contrib/tuda-ci/tex/tudarules.sty b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
index 4957df601a..98182d08c1 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudarules.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
@@ -1,4 +1,4 @@
-%% This is file `tudarules.sty' version 3.39 (2024-06-27),
+%% This is file `tudarules.sty' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudarules}{\filedate}{\fileversion}{Creation of colored bars for tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
index ed1da3000f..71e8123ef1 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudasciposter.cls' version 3.39 (2024-06-27),
+%% This is file `tudasciposter.cls' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{tudasciposter}{\filedate}{\fileversion}{Scientific Poster Layout for TU Darmstadt}
@@ -123,16 +123,36 @@
\PassOptionsToPackage{DIV=10}{typearea}
\LoadClass[parskip=full-]{scrartcl}
\RequirePackage{tudafonts}
-\RequirePackage{tikz}
-\usetikzlibrary{calc}
+\RequirePackage{calc}
+\RequirePackage[margin=0pt]{geometry}
+\RequirePackage{tudacolors}
+
+\ExplSyntaxOn
+
+\if_bool:N \g_ptxcd_pdfa_bool
+\PassOptionsToPackage{a-2b}{pdfx}
+\IfFormatAtLeastTF{2020/10/01}{}{\endinput}
+% Workaround posted by David Carlisle on tex.stackexchange
+% Thanks to Ulrike Fischer for mentioning it in #472
+ \let \__ptxcd_grouplevel_before_pdfx: \currentgrouplevel
+ \chardef\currentgrouplevel0
+ \ExplSyntaxOff
+ \RequirePackage{pdfx}
+ \ExplSyntaxOn
+ \let \currentgrouplevel \__ptxcd_grouplevel_before_pdfx:
+ \cs_undefine:N \__ptxcd_grouplevel_before_pdfx:
+% end of the workaround
+\fi:
+
+\ExplSyntaxOff
\RequirePackage{tcolorbox}
\tcbuselibrary{poster}
-\RequirePackage[margin=0pt]{geometry}
-\ExplSyntaxOn
-
+\RequirePackage[mode=tikz]{tudarules}
+\RequirePackage{qrcode}
+\ExplSyntaxOn
%Font adjusments
\renewcommand*{\familydefault}{\sfdefault}
@@ -150,9 +170,7 @@
% end of font adjustments
-\RequirePackage[mode=tikz]{tudarules}
-\RequirePackage{tudacolors}
-\RequirePackage{qrcode}
+
\dim_const:Nn \c_ptxcd_headrule_ht_dim {\c_ptxcd_rulesep_dim +\c_ptxcd_largerule_dim + \c_ptxcd_smallrule_dim}
%Setup title
@@ -231,8 +249,6 @@
%%%%%%%%%%%%%%%%%%%
%PDFA
\if_bool:N \g_ptxcd_pdfa_bool
-\PassOptionsToPackage{a-2b}{pdfx}
-\RequirePackage{pdfx}
%%hyperref
\hypersetup{hidelinks, unicode, hyperfootnotes=false}
\iow_new:N \ptxcd_xmpdata_stream
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
index a4c1136f9c..4f61806992 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudasize9pt.clo' version 3.39 (2024-06-27),
+%% This is file `tudasize9pt.clo' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
index 13d35721c5..54ffeeacd0 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudathesis.cfg' version 3.39 (2024-06-27),
+%% This is file `tudathesis.cfg' version 3.41 (2024-07-02),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -25,8 +25,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.39}
-\def\filedate{2024-06-27}
+\def\fileversion{3.41}
+\def\filedate{2024-07-02}
\RequirePackage{expl3}
\ProvidesExplFile{tudathesis.cfg}
{\filedate}{\fileversion}{Special Features for publication type 'thesis' using TU Darmstadt's Corporate Design (tuda-ci)}
@@ -56,8 +56,9 @@
}
{
\ptxcd_declare_caption:Nnn \departmentname {Fachbereich} {department}
- \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix: {im~ \departmentname}{in~the~\departmentname{}~ of}
\ptxcd_declare_caption:Nnn \departmentfullname {\departmentname{}~ \ptxcd_department:} { \ptxcd_department:{}~ \text_titlecase:n{\departmentname}}
+ \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix: {im~ \departmentname}{in~the~\departmentname{}~ of}
+ \ptxcd_declare_caption:Nnn \ptxcd_in_department {\ptxcd_departmentprefix:{}~\ptxcd_department:}{\ptxcd_departmentprefix:{}~\ptxcd_department:}
}
{\bool_if:NTF \g_ptxcd_dr_bool
{
@@ -203,7 +204,7 @@
\IfBooleanTF{#1}{
\tl_gset:Nn \ptxcd_department: {#3}
\tl_gset:Nn \ptxcd_in_department{#3}
- \IfNoValueTF {\tl_gset:Nn \ptxcd_box_department {#3}} {\tl_gset:Nn \ptxcd_box_department{#2}}
+ \IfNoValueTF {#2} {\tl_gset:Nn \ptxcd_box_department {#3}} {\tl_gset:Nn \ptxcd_box_department{#2}}
\clist_remove_all:Nn \g_ptxcd_Required_title_data_clist {department}
}{
\tl_gset:Nn \g_ptxcd_department_choice_tl {#3}
@@ -373,7 +374,7 @@
{\keys_set:nn {ptxcd/thesis} {printid=#1}}
\lowertitleback{
\urlstyle{same}
- \selectlanguage{ngerman}
+ \selectlanguage{german}
Bitte~zitieren~Sie~dieses~Dokument~als:
\tl_if_empty:NF \g_ptxcd_thesis_urn_tl {\\URN:~urn:nbn:de:tuda-tuprints-\g_ptxcd_thesis_urn_tl}\\
URL:~\url{https://tuprints.ulb.tu-darmstadt.de/\g_ptxcd_thesis_tuprints_tl}\\
@@ -530,7 +531,7 @@
\selectfont
{\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}%
\usekomafont{subject}
- \bool_if:NT \g_ptxcd_dr_bool {\selectlanguage{ngerman}}
+ \bool_if:NT \g_ptxcd_dr_bool {\selectlanguage{german}}
\tl_if_empty:NF \g_ptxcd_titleintro_tl {\g_ptxcd_titleintro_tl\par}
\tl_if_empty:NF \g_ptxcd_thesis_drtext_tl {\g_ptxcd_thesis_drtext_tl\par}
{%
@@ -644,7 +645,7 @@
{\keys_set:nn {ptxcd/thesis} {affidavit=#2}}%
}%
\clearpage
-\begin{otherlanguage}{ngerman}
+\begin{otherlanguage}{german}
\bool_if:NTF \g_ptxcd_dr_bool {
\g__ptxcd_affidavit_dr_tl
} {
@@ -742,7 +743,7 @@
Use~"ignore-title-language"~Option~to~ignore~this~message~at~your~own~risk.
}
-\PassOptionsToPackage{ngerman}{babel}
+\PassOptionsToPackage{german}{babel}
\AtBeginDocument{
\@ifpackageloaded{babel}{}{
\msg_new:nnnn{tudapub/thesis} {missing-babel} {
diff --git a/macros/latex/contrib/tutodoc/code/tutodoc-locale-main-french.cfg.sty b/macros/latex/contrib/tutodoc/code/tutodoc-locale-main-french.cfg.sty
index c639e1e9e0..5c97cb2f18 100644
--- a/macros/latex/contrib/tutodoc/code/tutodoc-locale-main-french.cfg.sty
+++ b/macros/latex/contrib/tutodoc/code/tutodoc-locale-main-french.cfg.sty
@@ -8,8 +8,8 @@
\NewDocumentCommand{\tutodoc@trans@note@title}{}{Note}
\NewDocumentCommand{\tutodoc@trans@tip@title}{}{Astuce}
\NewDocumentCommand{\tutodoc@trans@important@title}{}{Important}
-\NewDocumentCommand{\tutodoc@trans@caution@title}{}{Caution}
-\NewDocumentCommand{\tutodoc@trans@warn@title}{}{Danger}
+\NewDocumentCommand{\tutodoc@trans@caution@title}{}{Mise ~ en ~ garde}
+\NewDocumentCommand{\tutodoc@trans@warn@title}{}{Avertissement}
\NewDocumentCommand{\tutodoc@trans@chges@pb}{}{Problème}
\NewDocumentCommand{\tutodoc@trans@chges@break}{}{Bifurcation}
\NewDocumentCommand{\tutodoc@trans@chges@fix}{}{Réparation}
diff --git a/macros/latex/contrib/tutodoc/code/tutodoc.sty b/macros/latex/contrib/tutodoc/code/tutodoc.sty
index 5e0ea7a0fb..a27e1a7ac6 100644
--- a/macros/latex/contrib/tutodoc/code/tutodoc.sty
+++ b/macros/latex/contrib/tutodoc/code/tutodoc.sty
@@ -21,31 +21,42 @@
marginparwidth = 2cm,
marginparsep = 2mm,
heightrounded
-]{geometry}[2020-01-02]
+]{geometry}%
+ [2020-01-02]
+
+\RequirePackage[raggedright]%
+ {titlesec}%
+ [2021/07/05]
-\RequirePackage[raggedright]{titlesec}[2021/07/05]
\RequirePackage{tocbasic}
-\RequirePackage{xcolor}[2022/06/12]
-\RequirePackage{hyperref}[2023-02-07]
+\RequirePackage{xcolor}%
+ [2022/06/12]
+
+\RequirePackage{hyperref}%
+ [2023-02-07]
% We delegate the management of quoting to the `csquotes' package,
% which takes care of the linguistic parameters.
-\RequirePackage{csquotes}[2022-09-14]
+\RequirePackage{csquotes}%
+ [2022-09-14]
-\RequirePackage{amsthm}[2017/09]
+\RequirePackage{amsthm}%
+ [2017/09]
-\RequirePackage{clrstrip}[2021-08-28]
+\RequirePackage{clrstrip}%
+ [2021-08-28]
\RequirePackage{tcolorbox}[2023/06/19]
\tcbuselibrary{minted, breakable, skins}
-\RequirePackage{marginnote}[2023-09-07]
+\RequirePackage{marginnote}%
+ [2023-09-07]
% -- LOCALE LANG -- %
@@ -808,8 +819,8 @@
%%%
% prototype::
% #1 : the color of the margin note
-% #2 : the first material (a date or nothing)
-% #3 : the second material (a version number or nothing)
+% #2 : the first material (a version number or nothing)
+% #3 : the second material (a date or nothing)
% #4 : the last negative vertical spacing for the 2nd rule
%
% :action: this macro factorizes the printing of the changes
@@ -829,15 +840,19 @@
\IfBlankTF{#2}{}{
\par
- \__tdoc_translate_date:n { #2 }
+ #2
\par
}
- \vspace{1pt}
+ \IfBlankTF{#3}{}{
+ \IfBlankTF{#2}{}{
+ \vspace{1pt}
+ }
- \par
- #3
- \par
+ \par
+ \__tdoc_translate_date:n { #3 }
+ \par
+ }
\vspace{#4}
\rule{1.65cm}{.95pt}
@@ -871,8 +886,8 @@
%%%
\cs_new:Npn \__tdoc_translate_date_process:w #1 - #2 - #3 \q_stop {
\tutodoc@trans@date{#1}
- {#2}
- {#3}
+ {#2}
+ {#3}
}
@@ -895,9 +910,9 @@
%%%
\NewDocumentCommand{\tdocversion}{O{blue} m O{}}{
\tutodoc@new@change@margin{#1} % Color
- {#3} % Date
- {#2} % Version
- {-4.25pt} % Last negative vertical spacing
+ {#2} % Version
+ {#3} % Date
+ {-4.25pt} % Last negative vertical spacing
}
@@ -919,7 +934,7 @@
}
-% -- CHANGES - WHAT?
+% -- CHANGES - WHAT? -- %
% :: MESSAGES :: %
diff --git a/macros/latex/contrib/tutodoc/doc/tutodoc-en.pdf b/macros/latex/contrib/tutodoc/doc/tutodoc-en.pdf
index 6124b97c99..84a98f1e35 100644
--- a/macros/latex/contrib/tutodoc/doc/tutodoc-en.pdf
+++ b/macros/latex/contrib/tutodoc/doc/tutodoc-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/tutodoc/doc/tutodoc-en.tex b/macros/latex/contrib/tutodoc/doc/tutodoc-en.tex
index f6449b959c..371b905d97 100644
--- a/macros/latex/contrib/tutodoc/doc/tutodoc-en.tex
+++ b/macros/latex/contrib/tutodoc/doc/tutodoc-en.tex
@@ -1,4 +1,4 @@
-
+
% -------------------- %
% -- RESOURCES USED -- %
% -------------------- %
@@ -266,8 +266,8 @@ ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble...
\end{filecontents*}
-\begin{filecontents*}[overwrite]{examples-version-n-change-unclassifiable.tex}
-\begin{tdoctopic}{Unclassifiable}
+\begin{filecontents*}[overwrite]{examples-version-n-change-user-choice.tex}
+\begin{tdoctopic}{It's my choice}
% This is where the point needs to be put.
\item Info 1...
\item Info 2...
@@ -343,9 +343,9 @@ ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble...
\begin{document}
-\title{Le package \texttt{tutodoc} - Documentation de type tutoriel}
+\title{The \texttt{tutodoc} package - Tutorial-type documentation}
\author{Christophe BAL}
-\date{\ordinalnum{1} Jan. 2024 - Version 1.1.0}
+\date{23 Aug. 2024 - Version 1.2.0}
\maketitle
@@ -582,7 +582,6 @@ The \tdocenv{tdocwarn} environment is used to warn the user of a trap to avoid.
\tdoclatexinput[sbs]{examples-focus-warn.tex}
-\newpage
\section{Specify packages, classes, macros or environments}
Here's what you can type semantically.
@@ -794,7 +793,6 @@ To obtain renderings by importing the code from an external file, instead of typ
\end{tdocexa}
-\newpage
\section{Use cases in \LaTeX}
Documenting a package or a class is done efficiently using use cases showing both the code and the corresponding result.
@@ -873,9 +871,9 @@ Here are some examples.
\begin{tdocwarn}
With default formatting, if the code begins with an opening bracket, the default option must be explicitly indicated.
\tdocdocbasicinput{examples-listing-strange.tex}
-
+
\smallskip
-
+
Another method is to use the \tdocmacro{string} primitive.
\tdocdocbasicinput{examples-listing-strange-bis.tex}
\end{tdocwarn}
@@ -943,7 +941,6 @@ The \tdocmacro{tdoclatexinput} macro, shown below, expects the path of a file an
% ------------------ %
-\newpage
\subsection{Imported codes put into practice} \label{tdoc-latexshow}
\begin{tdocexa}[Showcase]
@@ -1101,7 +1098,6 @@ during the latest changes.
% ------------------ %
-\newpage
\begin{tdocexa}[For fixes]
\leavevmode
@@ -1115,7 +1111,7 @@ during the latest changes.
\begin{tdocexa}[Chosen topics]
\leavevmode
- \tdoclatexinput[sbs]{examples-version-n-change-unclassifiable.tex}
+ \tdoclatexinput[sbs]{examples-version-n-change-user-choice.tex}
\end{tdocexa}
@@ -1151,9 +1147,26 @@ Blo, blo, blo...
Blu, blu, blu...
\end{tdoclatex}
-\newpage
\section{History}
+\tdocversion{1.2.0}[2024-08-23]
+
+\begin{tdocupdate}
+ \item \tdocmacro{tdocversion}
+ \begin{enumerate}
+ \item The version number is above the date.
+
+ \item The spacing is better managed when the date is absent.
+ \end{enumerate}
+\end{tdocupdate}
+
+
+\begin{tdocfix}
+ \item Content highlighting: the French translations of \tdocinEN*{caution} and \tdocinEN*{danger} were incorrect.
+\end{tdocfix}
+
+\tdocsep
+
\tdocversion{1.1.0}[2024-01-06]
\begin{tdocnew}
@@ -1183,5 +1196,5 @@ Blu, blu, blu...
First public version of the project.
+
\end{document}
- \ No newline at end of file
diff --git a/macros/latex/contrib/tutodoc/doc/tutodoc-fr.pdf b/macros/latex/contrib/tutodoc/doc/tutodoc-fr.pdf
index a8691e1e8d..d0a970abec 100644
--- a/macros/latex/contrib/tutodoc/doc/tutodoc-fr.pdf
+++ b/macros/latex/contrib/tutodoc/doc/tutodoc-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/tutodoc/doc/tutodoc-fr.tex b/macros/latex/contrib/tutodoc/doc/tutodoc-fr.tex
index ae9f99c300..8291ce4b4a 100644
--- a/macros/latex/contrib/tutodoc/doc/tutodoc-fr.tex
+++ b/macros/latex/contrib/tutodoc/doc/tutodoc-fr.tex
@@ -266,8 +266,8 @@ ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble...
\end{filecontents*}
-\begin{filecontents*}[overwrite]{examples-version-n-change-unclassifiable.tex}
-\begin{tdoctopic}{Inclassable}
+\begin{filecontents*}[overwrite]{examples-version-n-change-user-choice.tex}
+\begin{tdoctopic}{C'est mon choix}
% Ici le point s'impose.
\item Info 1...
\item Info 2...
@@ -341,7 +341,7 @@ ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble, ble...
\title{Le package \texttt{tutodoc} - Documentation de type tutoriel}
\author{Christophe BAL}
-\date{1\ier{} Janv. 2024 - Version 1.1.0}
+\date{23 Août 2024 - Version 1.2.0}
\maketitle
@@ -671,18 +671,18 @@ Il est parfois utile d'obtenir directement le rendu d'un code dans la documentat
\subsection{Avec une bande colorée}
\begin{tdocexa}[Avec les textes par défaut]
- Il peut être utile de montrer un rendu réel directement dans un document
+ Il peut être utile de montrer un rendu réel directement dans un document.
\footnote{
Typiquement lorsque l'on fait une démo.
- }.
+ }
Ceci se tape via \tdocenv{tdocshowcase} comme suit.
\tdoclatexinput[code]{examples-showcase-default.tex}
- On obtient alors le rendu suivant
+ On obtient alors le rendu suivant.
\footnote{
En coulisse, la bande est créée sans effort grâce au package \tdocpack{clrstrip}.
- }.
+ }
\medskip
@@ -889,9 +889,9 @@ Voici des exemples d'utilisation.
\begin{tdocwarn}
Avec la mise en forme par défaut, si le code commence par un crochet ouvrant, il faudra indiquer explicitement l'option par défaut.
\tdocdocbasicinput{examples-listing-strange.tex}
-
+
\smallskip
-
+
Une autre méthode consiste à utiliser la primitive \tdocmacro{string}.
\tdocdocbasicinput{examples-listing-strange-bis.tex}
\end{tdocwarn}
@@ -1059,10 +1059,10 @@ On peut au choix dater quelque chose, ou bien le versionner, dans ce second cas
\begin{tdocwarn}
- Seul l'emploi du format numérique \tdocinlatex+YYYY-MM-DD+ est vérifié
+ Seul l'emploi du format numérique \tdocinlatex+YYYY-MM-DD+ est vérifié,
\footnote{
Techniquement, vérifier la validité d'une date, via \LaTeX3, ne présente pas de difficulté.
- },
+ }
et ceci est un choix ! Pourquoi cela ? Tout simplement car dater et versionner des explications devrait se faire de façon semi-automatisée afin d'éviter tout bug humain.
% \footnote{
% L'auteur de \tdocpack{tutodoc} est entrain de mettre en place un ensemble d'outils permettant une telle semi-automatisation.
@@ -1132,11 +1132,10 @@ lors des derniers changements.
\begin{tdocexa}[Thématiques aux choix]
\leavevmode
- \tdoclatexinput[sbs]{examples-version-n-change-unclassifiable.tex}
+ \tdoclatexinput[sbs]{examples-version-n-change-user-choice.tex}
\end{tdocexa}
-\newpage
\section{Décorations}
Finissons cette documentation avec de petites outils de mise en forme pouvant rendre de grands services.
@@ -1169,9 +1168,26 @@ Blo, blo, blo...
Blu, blu, blu...
\end{tdoclatex}
-\newpage
\section{Historique}
+\tdocversion{1.2.0}[2024-08-23]
+
+\begin{tdocupdate}
+ \item \tdocmacro{tdocversion}
+ \begin{enumerate}
+ \item Le numéro de version est au-dessus de la date.
+
+ \item L'espacement est mieux géré lorsque la date est absente.
+ \end{enumerate}
+\end{tdocupdate}
+
+
+\begin{tdocfix}
+ \item Mise en avant de contenus : les traductions françaises de \tdocinEN*{caution} et \tdocinEN*{danger} étaient erronées.
+\end{tdocfix}
+
+\tdocsep
+
\tdocversion{1.1.0}[2024-01-06]
\begin{tdocnew}
@@ -1201,4 +1217,5 @@ Blu, blu, blu...
Première version publique du projet.
+
\end{document}
diff --git a/macros/latex/contrib/typog/LICENSE b/macros/latex/contrib/typog/LICENSE
new file mode 100644
index 0000000000..888d9e68e7
--- /dev/null
+++ b/macros/latex/contrib/typog/LICENSE
@@ -0,0 +1,415 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `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 Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3c
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % https://www.latex-project.org/lppl.txt
+ % and version 1.3c or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
diff --git a/macros/latex/contrib/typog/Makefile b/macros/latex/contrib/typog/Makefile
index bb3c83ab24..1b7e0b21a3 100644
--- a/macros/latex/contrib/typog/Makefile
+++ b/macros/latex/contrib/typog/Makefile
@@ -7,8 +7,9 @@
SHELL := /bin/sh
-LATEX := /usr/bin/env max_print_line=2147483647 pdflatex
-LATEX_FLAGS := -file-line-error -halt-on-error -interaction=nonstopmode
+LATEX_PROPER := pdflatex
+LATEX := /usr/bin/env max_print_line=2147483647 $(LATEX_PROPER)
+LATEX_FLAGS := -file-line-error -halt-on-error -interaction=nonstopmode -output-directory=.
LATEX_RERUN_TRIGGER := '^Package rerunfilecheck Warning: File [^ ]* has changed'
LATEX_WARNING := '^LaTeX (|[A-Za-z0-9_]* )Warning:'
@@ -16,6 +17,10 @@ MAKEINDEX := makeindex
MAKEINDEX_FLAGS := -q
+MAKEINFO := makeinfo
+MAKEINFO_FLAGS := --no-split
+
+
METAPOST := mpost
METAPOST_FLAGS := -file-line-error -interaction=nonstopmode -tex=latex
@@ -24,8 +29,12 @@ PODCHECKER := podchecker
PODCHECKER_FLAGS := -warnings
+define SED_VERSION_REGEXP
+^\( *\|\\ProvidesPackage{[^}]*} *\)\[\([0-9][0-9]*/[0-9][0-9]*/[0-9][0-9]*\) *v\([^ ]*\) *\([^]]*\)].*$$
+endef
+
POD2MAN := pod2man
-POD2MAN_FLAGS := $$(sed -ne 's,\\ProvidesPackage{typog}\[\([0-9][0-9]*/[0-9][0-9]*/[0-9][0-9]*\) *v\([^ ]*\) .*$$,--date=\1 --release=\2,p' < typog.sty)
+POD2MAN_FLAGS := $$(sed -ne 's,$(SED_VERSION_REGEXP),--date=\2 --release=\3,p' < typog.sty)
POD2TEXI := pod2texi
@@ -33,31 +42,32 @@ POD2TEXI_FLAGS :=
GROFF := groff
-## Codes of serif fonts that work for PDF output
+## Codes of fonts that work for PDF output as by the contents
+## of "/usr/share/groff/current/font/devpdf".
+##
+## Serif
## BM: URW Bookman L
## N: URW Century Schoolbook L
## P: URW Palladio L
## T: URW Nimbus Roman No9 L
+##
+## Sans Serif
+## A: Avantgarde
+## H: Helvetica
+##
+## Monospace
+## C: Courier
GROFF_FLAGS := -Tpdf -dpaper=a4 -fP -man -wall
-SPELLCHECK := aspell
-SPELLCHECK_FLAGS := \
- --add-tex-command='citenum p' --add-tex-command='code p' \
- --add-tex-command='Cref p' --add-tex-command='cref p' \
- --add-tex-command='cs p' \
- --add-tex-command='DescribeEnv p' --add-tex-command='DescribeMacro p' \
- --add-tex-command='marg p' --add-tex-command='meta p' \
- --add-tex-command='oarg p' \
- --lang=en_US --mode=tex
-
-
-SOURCE_FILES := LICENSE Makefile typog.dtx typog.ins
+PROJECT_NAME := typog
+SOURCE_FILES := LICENSE Makefile README.md typog.dtx typog.ins
+DOCUMENTATION_FILES := typog-example.pdf typog-grep.1.pdf typog.pdf
.PHONY: all
-all: sty pdf man
+all: sty pdf bin man
.PHONY: sty
@@ -65,7 +75,7 @@ sty: typog.sty
.PHONY: pdf
-pdf: doc ex nomt
+pdf: doc ex test
.PHONY: doc
@@ -76,69 +86,88 @@ doc: typog.pdf
ex: typog-example.pdf
-.PHONY: nomt
-nomt: typog-nomt.pdf
+.PHONY: test
+test: typog-minimal-test.pdf typog-without-microtype-test.pdf
+
+
+.PHONY: bin
+bin: typog-grep
.PHONY: man
man: typog-grep.1
-.PHONY: cpio
-cpio:
- cd ..; \
- echo $(addprefix typog/,$(SOURCE_FILES)) | \
- cpio -o | \
- gzip > "typog-$$(date +%Y-%m-%d).cpio.gz"
+export TEMPORARY_DIRECTORY
+
+
+.PHONY: dist
+dist:
+ $(eval TEMPORARY_DIRECTORY := $(shell mktemp -d))
+ trap '$(RM) -r $(TEMPORARY_DIRECTORY); exit 1' HUP INT QUIT TERM; $(MAKE) __dist
+ $(RM) -r $(TEMPORARY_DIRECTORY)
+
+
+.PHONY: __dist
+__dist: LATEX_FLAGS += -interaction=batchmode
+__dist: $(DOCUMENTATION_FILES)
+ test -d '$(TEMPORARY_DIRECTORY)'
+ test -w '$(TEMPORARY_DIRECTORY)'
+ mkdir $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)
+ cp $(SOURCE_FILES) $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)
+ mkdir $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)/docs
+ cp $(DOCUMENTATION_FILES) $(TEMPORARY_DIRECTORY)/$(PROJECT_NAME)/docs
+ tar czf $(PROJECT_NAME).tar.gz -C $(TEMPORARY_DIRECTORY) $(PROJECT_NAME)
-.PHONY: tar
-tar:
- cd ..; \
- tar czf "typog-$$(date +%Y-%m-%d).tar.gz" $(addprefix typog/,$(SOURCE_FILES))
+.PHONY: distcheck
+distcheck: LATEX_FLAGS += -interaction=batchmode
+distcheck: dist
+ $(eval TEMPORARY_DIRECTORY := $(shell mktemp -d))
+ test -d '$(TEMPORARY_DIRECTORY)'
+ test -w '$(TEMPORARY_DIRECTORY)'
+ tar xzf $(PROJECT_NAME).tar.gz -C $(TEMPORARY_DIRECTORY)
+ $(MAKE) --directory=$(TEMPORARY_DIRECTORY)/$(PROJECT_NAME) LATEX_FLAGS='$(LATEX_FLAGS)' all
+ $(RM) -r $(TEMPORARY_DIRECTORY)
+ @printf '\n\ndistcheck passed.\n'
.PHONY: clean
clean:
- $(RM) ./*.1 ./*.aux ./*.brf ./*.glg ./*.glo ./*.gls
- $(RM) ./*.hd ./*.idx ./*.ilg ./*.ind ./*.loe ./*.lof ./*.log ./*.lot
- $(RM) ./*.mps ./*.mpx ./*.out ./*.pdf ./*.toc
+ $(RM) ./*.1 ./*.aux ./*.brf ./*.dvi ./*.glg ./*.glo ./*.gls
+ $(RM) ./*.hd ./*.idx ./*.ilg ./*.ind ./*.info ./*.loe ./*.lof ./*.log ./*.lot
+ $(RM) ./*.mps ./*.mpx ./*.out ./*.pdf ./*.pl.in ./*.toc
$(RM) mptextmp.* mpxerr.tex
$(RM) README README.html RELEASE-HOWTO RELEASE-HOWTO.html
+ $(RM) typog-grep typog-grep.version.sed
+ $(RM) $(PROJECT_NAME).tar.gz
.PHONY: mostlyclean
mostlyclean: clean
+ $(RM) ./*.texi
.PHONY: maintainer-clean
maintainer-clean: mostlyclean
- $(RM) ./*.ist ./*.mp ./*.pl ./*.pod ./*.sed ./*.sty ./*.tex
+ $(RM) ./*.gst ./*.ist ./*.mp ./*.pl ./*.pod ./*.sed ./*.sty ./*.tex
.PHONY: tool-check
tool-check:
- @printf '*** LATEX = "%s"\n' '$(LATEX)'
- $(LATEX) --version
+ @printf '*** LATEX_PROPER = "%s"\n' '$(LATEX_PROPER)'
+ $(LATEX_PROPER) --version
+ @printf '\n\n*** BibTeX\n'
+ bibtex --version
@printf '\n\n*** MAKEINDEX = "%s"\n' '$(MAKEINDEX)'
- $(MAKEINDEX) < /dev/null
+ $(MAKEINDEX) < /dev/null
@printf '\n\n*** METAPOST = "%s"\n' '$(METAPOST)'
$(METAPOST) --version
@printf '\n*** POD2MAN = "%s"\n' '$(POD2MAN)'
$(POD2MAN) --help > /dev/null
@printf '\n\n*** POD2TEXI = "%s"\n' '$(POD2TEXI)'
$(POD2TEXI) --version
- @printf '\n\nTool check passed.\n'
-
-
-.PHONY: spell-check
-spell-check:
- @sed -e '\#<DISABLE-SPELL-CHECK/>#d' \
- -e '\#<DISABLE-SPELL-CHECK>#,\#</DISABLE-SPELL-CHECK>#d' < typog.dtx | \
- sed -e 's/^ *%%*//' | \
- sed -e 's/\\-//g' -e 's/|[^|]*|/ /g' | \
- $(SPELLCHECK) $(SPELLCHECK_FLAGS) list | \
- sort | uniq | fmt | sed -e 's/ / /g'
+ @printf '\n\ntool check passed.\n'
.PHONY: update-docs
@@ -151,10 +180,16 @@ Selected Phony Targets
----------------------
all: Make everything there is to make. This is the .DEFAULT_GOAL.
+bin: Build typog-grep (which is not a binary, but executable).
+
clean: Remove some products.
-cpio: In the parent directory create a cpio(1) archive of the
- project source files whose name is time-stamped.
+dist: Create a tar file of the project source files and the PDF
+ documentation files. The archive is in the form and has a
+ name that CTAN prefers.
+
+distcheck: Create a tar file of the project source files, unpack it in
+ a different location and build all targets.
doc: Build "typog.pdf" the Typog documentation.
@@ -170,12 +205,14 @@ pdf: Build doc: and gauge:.
sty: Only extract "typog.sty" from "typog.dtx". This
operation requires LaTeX (-> $(LATEX)) and nothing else.
-tar: In the parent directory create a tar(1) file of the project
- source files whose name is time-stamped.
+test: Run some tests.
tool-check: Check whether some of the required tools to build the
project are available.
+update-docs: Copy the documentation files into the "docs"
+ sub-directory.
+
Selected Implicit Rules
-----------------------
@@ -206,6 +243,7 @@ README: Convert "README.html" to plain text. Requires w3m(1).
endef
+
.PHONY: help
help:
$(info $(HELP_SCREEN))
@@ -217,10 +255,10 @@ help:
define MAKE_INDEX_AND_GLOSSARY
-sed -e '/@/d' -e 's/{\\ttfamily /{\\ttfamily\\hskip0pt\\relax /' < $*.idx > ,$*.idx; \
+sed -e '/@/d' -e 's/{\\ttfamily /{\\ttfamily\\hskip0pt\\relax /' < $*.idx > ,$*.idx; \
mv ,$*.idx $*.idx; \
-$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s typog.ist -t $*.ilg -o $*.ind $*.idx; \
-$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s gglo.ist -t $*.glg -o $*.gls $*.glo
+$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s $*.ist -t $*.ilg -o $*.ind $*.idx; \
+$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s $*.gst -t $*.glg -o $*.gls $*.glo
endef
define GREP_LATEX_WARNINGS
@@ -253,7 +291,13 @@ endef
%-1.mps %-2.mps %-3.mps %-4.mps: %.mp
- $(METAPOST) -s 'outputtemplate="%j-%c.mps"' $(METAPOST_FLAGS) $<
+ $(METAPOST) -s 'outputtemplate="%j-%c.mps"' $(METAPOST_FLAGS) $< || { \
+ printf '=== $*.log ===\n'; \
+ cat $*.log; \
+ printf '\n\n=== mpxerr.log ===\n'; \
+ cat mpxerr.log; \
+ false; \
+ } 1>&2
%.1: %.pod
@@ -263,6 +307,15 @@ endef
%.1.pdf: %.1
$(GROFF) $(GROFF_FLAGS) ./$< > $@
+%.texi: %.pod
+ $(POD2TEXI) $(POD2TEXI_FLAGS) --output=$@ ./$<
+
+%.info: %.texi
+ $(MAKEINFO) $(MAKEINFO_FLAGS) --output=$@ $<
+
+%.info.pdf: %.texi
+ $(MAKEINFO) $(MAKEINFO_FLAGS) --pdf --output=$@ $<
+
%.tex: %.pod | teximan2latex.sed
$(POD2TEXI) $(POD2TEXI_FLAGS) ./$< | sed -f teximan2latex.sed > $@
@@ -276,12 +329,11 @@ endef
crooked-paragraphs.mp slant-angle.mp smooth-parshapes.mp title.mp \
teximan2latex.sed \
-typog-grep.pl typog-grep typog-grep.pod \
-typog.sty typog.ist typog-example.tex typog-nomt.tex: \
+typog-grep.pl.in typog-grep.pod \
+typog.sty typog.ist typog-example.tex \
+typog-minimal-test.tex typog-without-microtype-test.tex: \
typog.ins typog.dtx
$(LATEX) $(LATEX_FLAGS) $<
- chmod 755 typog-grep.pl
- ln -sf typog-grep.pl typog-grep
crooked-paragraphs-1.mps crooked-paragraphs-2.mps \
@@ -300,3 +352,14 @@ typog.pdf: typog.dtx \
smooth-parshapes-1.mps smooth-parshapes-2.mps smooth-parshapes-3.mps \
typog-grep.tex \
| typog.sty
+
+
+typog-grep.pl: typog-grep.pl.in typog.sty
+ sed -ne 's,$(SED_VERSION_REGEXP),s#@DATE@#\2#g\ns#@RELEASE@#\3#g\ns#@TITLE@#\4#g,p' \
+ < typog.sty \
+ > typog-grep.version.sed
+ sed -f typog-grep.version.sed < $< > $@
+ chmod 755 $@
+
+typog-grep: typog-grep.pl
+ ln -sf $< $@
diff --git a/macros/latex/contrib/typog/README.md b/macros/latex/contrib/typog/README.md
index fb55ccb1e1..c67519bffc 100644
--- a/macros/latex/contrib/typog/README.md
+++ b/macros/latex/contrib/typog/README.md
@@ -1,3 +1,6 @@
+![distcheck status](https://github.com/cspiel/typog/actions/workflows/distcheck.yml/badge.svg)
+
+
# TypoG &ndash; Typographic Fine-Tuning for LaTeX
LaTeX package `typog` provides macros for (micro-)typographic enhancements;
@@ -8,6 +11,7 @@ it covers a variety of topics:
* Manual italic correction
* Extra kerning for slash and hyphen
* Raising selected characters (e.g. hyphen, en-dash, and em-dash)
+* Adjusting the vertical position of `itemize`'s labels
* Aligning of the last line of a paragraph
* Filling of the last line last line of a paragraph
* Word spacing control
diff --git a/macros/latex/contrib/typog/RELEASE-HOWTO.md b/macros/latex/contrib/typog/RELEASE-HOWTO.md
deleted file mode 100644
index 13435ef66d..0000000000
--- a/macros/latex/contrib/typog/RELEASE-HOWTO.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# How to prepare a new release
-
-... and not make too many mistakes.
-
-
-1. Check that the work-area is clean with respect to **git**-tracked
- files.
-
- ``` git status ```
-
-1. Update the date stamp of `\ProvidesPackage`.
-
-1. (Temporarily) Zero the `\overfullrule`s of the documentation and
- the example files.
-
-1. Thoroughly clean the work-area:
-
- ```make maintainer-clean```
-
-1. Rebuild:
-
- ```make```
-
-1. Check that all _*.sty_ and _*.pdf_ files are in good shape.
-
-1. Push the documentation files created in the previous step down into
- the *docs* directory:
-
- ```make update-docs```
-
-1. Undo the `\overfullrule` change.
-
-1. Commit the changes:
-
- ```
- git add .
- ```
-
- and finally
-
- ```
- git commit
- ```
-
-1. Tag the commit with the version string of `\ProvidesPackage`:
-
- ```git tag v1.23```
-
-1. Push the changes to the public repository:
-
- ```git push origin master --tags```
diff --git a/macros/latex/contrib/typog/docs/index.md b/macros/latex/contrib/typog/docs/index.md
deleted file mode 100644
index f4dc2e8bd9..0000000000
--- a/macros/latex/contrib/typog/docs/index.md
+++ /dev/null
@@ -1,5 +0,0 @@
-### Package Documentation
-
-- Comprehensive `typog` documentation: [typog.pdf](https://cspiel.github.io/typog/typog.pdf)
-- `typog` examples and tests: [typog-example.pdf](https://cspiel.github.io/typog/typog-example.pdf)
-- **typog-grep** manual page: [typog-grep.1](https://cspiel.github.io/typog/typog-grep.1) and as PDF: [typog-grep.1.pdf](https://cspiel.github.io/typog/typog-grep.1.pdf)
diff --git a/macros/latex/contrib/typog/docs/typog-example.pdf b/macros/latex/contrib/typog/docs/typog-example.pdf
index 621ac319d2..48a8a506e1 100644
--- a/macros/latex/contrib/typog/docs/typog-example.pdf
+++ b/macros/latex/contrib/typog/docs/typog-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/typog/docs/typog-grep.1 b/macros/latex/contrib/typog/docs/typog-grep.1
deleted file mode 100644
index 372c87bc5f..0000000000
--- a/macros/latex/contrib/typog/docs/typog-grep.1
+++ /dev/null
@@ -1,428 +0,0 @@
-.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
-. ds C` ""
-. ds C' ""
-'br\}
-.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
-. ds C`
-. ds C'
-'br\}
-.\"
-.\" Escape single quotes in literal strings from groff's Unicode transform.
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\"
-.\" If the F register is >0, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
-.\" entries marked with X<> in POD. Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.\"
-.\" Avoid warning from groff about undefined register 'F'.
-.de IX
-..
-.nr rF 0
-.if \n(.g .if rF .nr rF 1
-.if (\n(rF:(\n(.g==0)) \{\
-. if \nF \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
-..
-. if !\nF==2 \{\
-. nr % 0
-. nr F 2
-. \}
-. \}
-.\}
-.rr rF
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "TYPOG-GREP 1"
-.TH TYPOG-GREP 1 "2024-05-07" "perl v5.36.0" "User Contributed Perl Documentation"
-.\" For nroff, turn off justification. Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
-.\" Turn off justification.
-.na
-.SH "NAME"
-typog\-grep \- grep for typog\-inspect elements in LaTeX log files
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-.IP "\fBtypog-grep\fR \-a|\-\-all|\-\-any [\fI\s-1OPTION\s0\fR...] \fILOG-FILE\fR..." 4
-.IX Item "typog-grep -a|--all|--any [OPTION...] LOG-FILE..."
-.PD 0
-.IP "\fBtypog-grep\fR [\fI\s-1OPTION\s0\fR...] \fI\s-1REGEXP\s0\fR \fILOG-FILE\fR..." 4
-.IX Item "typog-grep [OPTION...] REGEXP LOG-FILE..."
-.PD
-.PP
-The first form shows all \f(CW\*(C`<typog\-inspect id="\f(CIID\f(CW" ...>\*(C'\fR elements in \fILOG-FILE\fR.
-.PP
-The second form shows the contents of \f(CW\*(C`<typog\-inspect id="\f(CIID\f(CW" ...>\*(C'\fR elements
-whose \fI\s-1ID\s0\fRs match \fI\s-1REGEXP\s0\fR in \fILOG-FILE\fR.
-.PP
-If no \fILOG-FILE\fR is given read from \fIstdin\fR.
-The filename\ \f(CW\*(C`\-\*(C'\fR is synonymous to \fIstdin\fR.
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-\&\fBtypog-grep\fR is a tailored post-processor for LaTeX log files
-and the \f(CW\*(C`typoginspect\*(C'\fR environment as provided by package\ typog.
-It shares more with the venerable
-\&\fBsgrep\fR <https://www.cs.helsinki.fi/u/jjaakkol/sgrep.html>
-than with \s-1POSIX\s0\ \fBgrep\fR <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html>.
-.PP
-The LaTeX user brackets her text in
-.PP
-.Vb 3
-\& \ebegin{typoginspect}{ID}
-\& Text and code to investigate
-\& \eend{typoginspect}
-.Ve
-.PP
-where \fI\s-1ID\s0\fR is used to identify one or more bracketed snippets.
-\&\fI\s-1ID\s0\fR does not have to be unique.
-The \fI\s-1REGEXP\s0\fR mechanism makes it easy to select groups of related \fI\s-1ID\s0\fRs
-if they are named accordingly.
-.PP
-In \fILOG-FILE\fR the environment shows up, packed with tracing information, as
-.PP
-.Vb 3
-\& <typog\-inspect id="ID" job="JOB\-NAME" line="LINE\-NUMBER" page="PAGE\-NUMBER">
-\& Trace Data
-\& </typog\-inspect>
-.Ve
-.PP
-where all the capital-letter sequences are meta-variables
-and in particular
-\&\fIJOB-NAME\fR is the expansion of \f(CW\*(C`\ejobname\*(C'\fR,
-\&\fILINE-NUMBER\fR is the LaTeX source file line number
-of the beginning of the \f(CW\*(C`typoginspect\*(C'\fR environment,
-and \fIPAGE-NUMBER\fR is the page where
-the output of \f(CW\*(C`Text\ and\ code\ to\ investigate\*(C'\fR occurs.
-.PP
-\&\fBtypog-grep\fR reveals the contents of \fILOG-FILE\fR
-between \f(CW\*(C`<typog\-inspect id="\f(CIID\f(CW" ...>\*(C'\fR
-and \f(CW\*(C`</typog\-inspect>\*(C'\fR excluding the XML-tags.
-Access the \fIJOB-NAME\fR, \fILINE-NUMBER\fR, and \fIPAGE-NUMBER\fR
-with the commandline options
-\&\fB\-\-job\-name\fR, \fB\-\-line\-number\fR, and \fB\-\-page\-number\fR, respectively.
-Use \fB\-\-id\fR to show the name of the IDs that matched \fI\s-1REGEXP\s0\fR.
-.PP
-\&\f(CW\*(C`typoginspect\*(C'\fR environments can be nested.
-\&\fBtypog-grep\fR respects the nesting,
-i.e., if the \fI\s-1ID\s0\fR of the nested environment does not match \fI\s-1REGEXP\s0\fR
-it will not be included in the program's output.
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-The list of options is sorted by the names of the long options.
-.IP "\fB\-a\fR, \fB\-\-all\fR, \fB\-\-any\fR" 4
-.IX Item "-a, --all, --any"
-ID-discovery mode:
-Show all \f(CW\*(C`typog\-inspect\*(C'\fR elements independent of any matching patterns.
-.IP "\fB\-\-color\fR, \fBcolour\fR \fI\s-1WHEN\s0\fR" 4
-.IX Item "--color, colour WHEN"
-Colorize specific log contents for the matching ids.
-The argument\ \fI\s-1WHEN\s0\fR determines when to apply color:
-\&\f(CW\*(C`always\*(C'\fR, \f(CW\*(C`never\*(C'\fR, or\ \f(CW\*(C`auto\*(C'\fR.
-The setting \f(CW\*(C`auto\*(C'\fR checks whether standard output has been redirected.
-This is the default.
-.IP "\fB\-C\fR, \fB\-\-config\fR \fI\s-1KEY\s0\fR=\fI\s-1VALUE\s0\fR[:\fI\s-1KEY\s0\fR=\fI\s-1VALUE\s0\fR[:...]]" 4
-.IX Item "-C, --config KEY=VALUE[:KEY=VALUE[:...]]"
-Set one or more configuration \fI\s-1KEY\s0\fR to \fI\s-1VALUE\s0\fR pairs.
-See Sec.\ \s-1CONFIGURATION\s0 below for a description of all available configuration items.
-Use option \fB\-\-show\-config\fR to display the default configuration.
-.IP "\fB\-\-debug\fR" 4
-.IX Item "--debug"
-Turn on debug output on \fIstderr\fR.
-.IP "\fB\-h\fR, \fB\-\-help\fR" 4
-.IX Item "-h, --help"
-Display brief help then exit.
-.IP "\fB\-i\fR, \fB\-\-[no\-]id\fR" 4
-.IX Item "-i, --[no-]id"
-Print the actual id name that matched \fI\s-1REGEXP\s0\fR.
-Control the appearance of the matching id with configuration item\ \f(CW\*(C`id\-heading\*(C'\fR.
-.IP "\fB\-y\fR, \fB\-\-[no\-]ignore\-case\fR" 4
-.IX Item "-y, --[no-]ignore-case"
-Match ids while ignoring case distinctions in patterns and data.
-.IP "\fB\-j\fR, \fB\-\-[no\-]job\-name\fR" 4
-.IX Item "-j, --[no-]job-name"
-Print the \f(CW\*(C`\ejobname\*(C'\fR that \fBtex\fR associated with the input file.
-.IP "\fB\-n\fR, \fB\-\-[no\-]line\-number\fR" 4
-.IX Item "-n, --[no-]line-number"
-Print the line number where the \f(CW\*(C`typoginspect\*(C'\fR\ environment
-was encountered in the LaTeX source file.
-.IP "\fB\-N\fR, \fB\-\-[no\-]log\-line\-number\fR" 4
-.IX Item "-N, --[no-]log-line-number"
-Print the line number of the \fIlog\fR\-file where the current line was encountered.
-.IP "\fB\-p\fR, \fB\-\-[no\-]page\-number\fR" 4
-.IX Item "-p, --[no-]page-number"
-Print page number where the contents of the \f(CW\*(C`typoginspect\*(C'\fR\ environment
-starts in the typeset document.
-.IP "\fB\-P\fR, \fB\-\-[no\-]pager\fR" 4
-.IX Item "-P, --[no-]pager"
-Redirect output from \fIstdout\fR to the configured pager.
-.IP "\fB\-\-show\-config\fR" 4
-.IX Item "--show-config"
-Show the default configuration and exit.
-.IP "\fB\-V\fR, \fB\-\-version\fR" 4
-.IX Item "-V, --version"
-Show version information and exit.
-.IP "\fB\-w\fR, \fB\-\-[no\-]word\-regexp\fR" 4
-.IX Item "-w, --[no-]word-regexp"
-Match only whole words.
-.SH "CONFIGURATION"
-.IX Header "CONFIGURATION"
-.ie n .IP """id\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWid\-format\fR=\fI\s-1FORMAT\s0\fR" 4
-.IX Item "id-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing matching ids in inline-mode,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
-Default:\ \f(CW%s:\fR.
-.ie n .IP """id\-heading""=0|1" 4
-.el .IP "\f(CWid\-heading\fR=\f(CW0\fR|\f(CW1\fR" 4
-.IX Item "id-heading=0|1"
-Choose between printing the matching ids with option\ \fB\-\-id\fR:
-Inline\ (\f(CW0\fR) or heading before the matching data (\f(CW1\fR).
-Default:\ \f(CW0\fR.
-.ie n .IP """id\-heading\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWid\-heading\-format\fR=\fI\s-1FORMAT\s0\fR" 4
-.IX Item "id-heading-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing matching ids in heading-mode,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
-Default:\ \f(CW\*(C`\-\->\ %s\ <\-\-\*(C'\fR.
-.ie n .IP """id\-indent""=\fI\s-1INDENT\s0\fR" 4
-.el .IP "\f(CWid\-indent\fR=\fI\s-1INDENT\s0\fR" 4
-.IX Item "id-indent=INDENT"
-Indentation of nested typog-inspect tags.
-Only used in ``discovery'' mode (first form), i.e., if \fB\-\-all\fR is active.
-Default:\ 8.
-.ie n .IP """id\-max\-length""=\fIMAXIMUM-LENGTH\fR" 4
-.el .IP "\f(CWid\-max\-length\fR=\fIMAXIMUM-LENGTH\fR" 4
-.IX Item "id-max-length=MAXIMUM-LENGTH"
-Set the maximum length of a matching id for printing.
-It a matching id exceeds this length it will be truncated
-and the last three characters (short of \fIMAXIMUM-LENGTH\fR) will be replaced by dots.
-Default:\ 40.
-.ie n .IP """line\-number\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWline\-number\-format\fR=\fI\s-1FORMAT\s0\fR" 4
-.IX Item "line-number-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing TeX source line numbers,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
-Default:\ \f(CW%5d\fR.
-.ie n .IP """log\-line\-number\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWlog\-line\-number\-format\fR=\fI\s-1FORMAT\s0\fR" 4
-.IX Item "log-line-number-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing log line numbers,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
-Default:\ \f(CW%6d\fR.
-.ie n .IP """page\-number\-format""=\fI\s-1FORMAT\s0\fR" 4
-.el .IP "\f(CWpage\-number\-format\fR=\fI\s-1FORMAT\s0\fR" 4
-.IX Item "page-number-format=FORMAT"
-Control the \fI\s-1FORMAT\s0\fR for printing page numbers,
-where \fI\s-1FORMAT\s0\fR is passed to Perl's \f(CW\*(C`printf\*(C'\fR.
-Default:\ \f(CW\*(C`[%3d]\*(C'\fR.
-.ie n .IP """pager""=\fI\s-1PAGER\s0\fR" 4
-.el .IP "\f(CWpager\fR=\fI\s-1PAGER\s0\fR" 4
-.IX Item "pager=PAGER"
-Name of pager application to pipe output into
-if run with option\ \fB\-\-pager\fR.
-Default:\ \f(CW\*(C`less\*(C'\fR.
-.ie n .IP """pager\-flags""=\fI\s-1FLAGS\s0\fR" 4
-.el .IP "\f(CWpager\-flags\fR=\fI\s-1FLAGS\s0\fR" 4
-.IX Item "pager-flags=FLAGS"
-Pass \fI\s-1FLAGS\s0\fR to \fI\s-1PAGER\s0\fR.
-Default:\ \f(CW\*(C`\-\-quit\-if\-one\-screen\*(C'\fR.
-.IP "Color Configuration" 4
-.IX Item "Color Configuration"
-For the syntax of the color specifications consult
-the manual page of Term::ANSIColor(pm).
-.RS 4
-.ie n .IP """file\-header\-color""" 4
-.el .IP "\f(CWfile\-header\-color\fR" 4
-.IX Item "file-header-color"
-Color of the filename header.
-.ie n .IP """fill\-state\-color""" 4
-.el .IP "\f(CWfill\-state\-color\fR" 4
-.IX Item "fill-state-color"
-Color of the messages that report ``Underfull hbox'' or ``Overfull hbox''.
-.ie n .IP """first\-vbox\-color""" 4
-.el .IP "\f(CWfirst\-vbox\-color\fR" 4
-.IX Item "first-vbox-color"
-Color of the first vbox on a page.
-.ie n .IP """font\-spec\-color""" 4
-.el .IP "\f(CWfont\-spec\-color\fR" 4
-.IX Item "font-spec-color"
-Color of font specifications.
-.ie n .IP """horizontal\-break\-candidate\-color""" 4
-.el .IP "\f(CWhorizontal\-break\-candidate\-color\fR" 4
-.IX Item "horizontal-break-candidate-color"
-Color of lines with horizontal-breakpoint candidates\ \f(CW\*(C`@\*(C'\fR.
-.ie n .IP """horizontal\-breakpoint\-color""" 4
-.el .IP "\f(CWhorizontal\-breakpoint\-color\fR" 4
-.IX Item "horizontal-breakpoint-color"
-Color of lines with horizontal breakpoints\ \f(CW\*(C`@@\*(C'\fR.
-.ie n .IP """id\-color""" 4
-.el .IP "\f(CWid\-color\fR" 4
-.IX Item "id-color"
-Color of matching ids when printed inline.
-.ie n .IP """id\-heading\-color""" 4
-.el .IP "\f(CWid\-heading\-color\fR" 4
-.IX Item "id-heading-color"
-Color of matching ids when printed in heading form.
-.ie n .IP """line\-break\-pass\-color""" 4
-.el .IP "\f(CWline\-break\-pass\-color\fR" 4
-.IX Item "line-break-pass-color"
-Color of the lines showing which pass (e.g., \f(CW@firstpass\fR)
-of the line-breaking algorithm is active.
-.ie n .IP """line\-number\-color""" 4
-.el .IP "\f(CWline\-number\-color\fR" 4
-.IX Item "line-number-color"
-Color of TeX-source-file line numbers.
-.ie n .IP """log\-line\-number\-color""" 4
-.el .IP "\f(CWlog\-line\-number\-color\fR" 4
-.IX Item "log-line-number-color"
-Color of log-file line numbers.
-.ie n .IP """math\-color""" 4
-.el .IP "\f(CWmath\-color\fR" 4
-.IX Item "math-color"
-Color used for math expressions including their font specs.
-.ie n .IP """page\-number\-color""" 4
-.el .IP "\f(CWpage\-number\-color\fR" 4
-.IX Item "page-number-color"
-Color of page numbers of the final output.
-.ie n .IP """tightness\-color""" 4
-.el .IP "\f(CWtightness\-color\fR" 4
-.IX Item "tightness-color"
-Color of lines with Tight/Loose hbox reports.
-.ie n .IP """vertical\-breakpoint\-color""" 4
-.el .IP "\f(CWvertical\-breakpoint\-color\fR" 4
-.IX Item "vertical-breakpoint-color"
-Color of possible vertical breakpoints.
-.RE
-.RS 4
-.RE
-.SS "Brief summary of colors and attributes"
-.IX Subsection "Brief summary of colors and attributes"
-.IP "Foreground Color" 4
-.IX Item "Foreground Color"
-\&\f(CW\*(C`black\*(C'\fR, \f(CW\*(C`red\*(C'\fR, \f(CW\*(C`green\*(C'\fR, \f(CW\*(C`yellow\*(C'\fR,
-\&\f(CW\*(C`blue\*(C'\fR, \f(CW\*(C`magenta\*(C'\fR, \f(CW\*(C`cyan\*(C'\fR, \f(CW\*(C`white\*(C'\fR,
-.Sp
-Prefix with \f(CW\*(C`bright_\*(C'\fR for high-intensity or bold foreground.
-.IP "Foreground Grey" 4
-.IX Item "Foreground Grey"
-\&\f(CW\*(C`grey0\*(C'\fR, ..., \f(CW\*(C`grey23\*(C'\fR
-.IP "Background Color" 4
-.IX Item "Background Color"
-\&\f(CW\*(C`on_black\*(C'\fR, \f(CW\*(C`on_red\*(C'\fR, \f(CW\*(C`on_green\*(C'\fR, \f(CW\*(C`on_yellow\*(C'\fR,
-\&\f(CW\*(C`on_blue\*(C'\fR, \f(CW\*(C`on_magenta\*(C'\fR, \f(CW\*(C`on_cyan\*(C'\fR, \f(CW\*(C`on_white\*(C'\fR
-.Sp
-Replace \f(CW\*(C`on_\*(C'\fR with \f(CW\*(C`on_bright_\*(C'\fR for high-intensity or bold background.
-.IP "Background Grey" 4
-.IX Item "Background Grey"
-\&\f(CW\*(C`on_grey0\*(C'\fR, ..., \f(CW\*(C`on_grey23\*(C'\fR
-.IP "Text Attribute" 4
-.IX Item "Text Attribute"
-\&\f(CW\*(C`bold\*(C'\fR, \f(CW\*(C`dark\*(C'\fR, \f(CW\*(C`italic\*(C'\fR, \f(CW\*(C`underline\*(C'\fR, \f(CW\*(C`reverse\*(C'\fR
-.SH "EXIT STATUS"
-.IX Header "EXIT STATUS"
-The exit status is 0 if at least one \fI\s-1ID\s0\fR matched \fI\s-1REGEXP\s0\fR,
-1 if no \fI\s-1ID\s0\fR matched \fI\s-1REGEXP\s0\fR, and 2 if an error occurred.
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-\&\fBgrep\fR(1), \fBprintf\fR(3), \fBTerm::ANSIColor\fR(pm)
diff --git a/macros/latex/contrib/typog/docs/typog-grep.1.pdf b/macros/latex/contrib/typog/docs/typog-grep.1.pdf
index 09647860d5..9a43008508 100644
--- a/macros/latex/contrib/typog/docs/typog-grep.1.pdf
+++ b/macros/latex/contrib/typog/docs/typog-grep.1.pdf
Binary files differ
diff --git a/macros/latex/contrib/typog/docs/typog.pdf b/macros/latex/contrib/typog/docs/typog.pdf
index 9d00685045..fa0fe74e4c 100644
--- a/macros/latex/contrib/typog/docs/typog.pdf
+++ b/macros/latex/contrib/typog/docs/typog.pdf
Binary files differ
diff --git a/macros/latex/contrib/typog/typog.dtx b/macros/latex/contrib/typog/typog.dtx
index 0f2176206a..3037f502fa 100644
--- a/macros/latex/contrib/typog/typog.dtx
+++ b/macros/latex/contrib/typog/typog.dtx
@@ -3,11 +3,11 @@
% Copyright (C) 2024 by Ch. L. Spiel
%
% This work may be distributed and/or modified under the conditions
-% of the LaTeX Project Public License, either version 1.3 of this
+% of the LaTeX Project Public License, either version 1.3c of this
% license or (at your option) any later version. The latest version
% of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
+% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
%
% \fi
@@ -26,7 +26,6 @@
\PassOptionsToClass{a4paper}{article}
\PassOptionsToPackage{hyperfootnotes=false}{hyperref}
-\PassOptionsToPackage{charter, scale=1.06}{newtxmath}
\PassOptionsToPackage{dvipsnames}{xcolor}
\usepackage{amsmath}
@@ -42,40 +41,43 @@
\usepackage{fullwidth}
\usepackage{hypdoc}
\usepackage{hyphenat}
-\usepackage[shrink=10, stretch=10]{microtype}
+\usepackage[kerning=true, shrink=10, stretch=10, verbose=true]{microtype}
\usepackage{multirow}
\usepackage{needspace}
-\usepackage{placeins}
+\usepackage[section]{placeins}
\usepackage{ragged2e}
\usepackage{setspace}
\usepackage{sidecap}
\usepackage{tabularx}
\usepackage{tcolorbox}
\usepackage{titlesec}\renewcommand*{\bottomtitlespace}{.15\textheight}%nobottomtitles*
-\usepackage[debug, raise*=.05em]{typog}
+\usepackage[debug, raise*=.05em,
+ uppercaselabelitemadjustments={.0125em, .075em, -.1em, .0125em},
+ lowercaselabelitemadjustments={-.075em, 0pt, -.2em, -.075em}]{typog}
\usepackage{xcolor}
\usepackage[default, lining, proportional, regular, semibold]{sourceserifpro}
\usepackage[lining, proportional, regular, semibold]{sourcesanspro}
\usepackage[lining, regular]{sourcecodepro}
-\usepackage[xcharter]{newtxmath}
+\usepackage[scaled=1.08, uprightscript, xcharter]{newtxmath}
\setbaselineskip{12.5pt}
+
\makeatletter
\def\@get@fontclan#1-#2\relax{#1}
\newcommand*{\fontclan}{\expandafter\@get@fontclan\f@family\relax}
\makeatother
-\newcommand*{\proportionalliningfigures}{\fontfamily{\fontclan-LF}\selectfont}
-\newcommand*{\proportionaloldstylefigures}{\fontfamily{\fontclan-OsF}\selectfont}
-\newcommand*{\tabularliningfigures}{\fontfamily{\fontclan-TLF}\selectfont}
-\newcommand*{\tabularoldstylefigures}{\fontfamily{\fontclan-TOsF}\selectfont}
+\DeclareRobustCommand{\proportionalliningfigures}{\fontfamily{\fontclan-LF}\selectfont}
+\DeclareRobustCommand{\proportionaloldstylefigures}{\fontfamily{\fontclan-OsF}\selectfont}
+\DeclareRobustCommand{\tabularliningfigures}{\fontfamily{\fontclan-TLF}\selectfont}
+\DeclareRobustCommand{\tabularoldstylefigures}{\fontfamily{\fontclan-TOsF}\selectfont}
-\newcommand*{\textdenominator}[1]{{\fontfamily{\fontclan-Dnom}\selectfont #1}}
-\newcommand*{\textinferior}[1]{{\fontfamily{\fontclan-Inf}\selectfont #1}}
-\newcommand*{\textnumerator}[1]{{\fontfamily{\fontclan-Numr}\selectfont #1}}
-\newcommand*{\textsuperior}[1]{{\fontfamily{\fontclan-Sup}\selectfont #1}}
+\DeclareRobustCommand{\textdenominator}[1]{{\fontfamily{\fontclan-Dnom}\selectfont #1}}
+\DeclareRobustCommand{\textinferior}[1]{{\fontfamily{\fontclan-Inf}\selectfont #1}}
+\DeclareRobustCommand{\textnumerator}[1]{{\fontfamily{\fontclan-Numr}\selectfont #1}}
+\DeclareRobustCommand{\textsuperior}[1]{{\fontfamily{\fontclan-Sup}\selectfont #1}}
\newcommand*{\nativetextfraction}[2]
{\mbox{\textnumerator{#1}\textfractionsolidus\textdenominator{#2}}}
@@ -85,21 +87,23 @@
\newenvironment*{tabfigures}
{\edef\rmdefault{\fontclan-T\sourceserifpro@figurestyle}\rm\ignorespaces}
{\ignorespacesafterend}
-
-\newcommand*{\elseries}{\def\mdseries@rm{el}\def\mdseries@sf{el}\def\mdseries@tt{el}}
-\newcommand*{\textel}[1]{{\elseries\textmd{#1}}}
-\newcommand*{\lseries}{\def\mdseries@rm{l}\def\mdseries@sf{l}\def\mdseries@tt{l}}
-\newcommand*{\textl}[1]{{\lseries\textmd{#1}}}
-%%--\newcommand*{\mdseries}{\def\mdseries@rm{m}\def\mdseries@sf{m}\def\mdseries@tt{m}}
-%%--\newcommand*{\textmd}[1]{{\mdseries\textmd{#1}}}
-\newcommand*{\sbseries}{\def\bfseries@rm{sb}\def\bfseries@sf{sb}\def\bfseries@tt{sb}}
-\newcommand*{\textsb}[1]{{\sbseries\textbf{#1}}}
-\newcommand*{\bseries}{\def\bfseries@rm{b}\def\bfseries@sf{b}\def\bfseries@tt{b}}
-\newcommand*{\textb}[1]{{\bseries\textbf{#1}}}
-\newcommand*{\ebseries}{\def\bfseries@rm{k}\def\bfseries@sf{eb}\def\bfseries@tt{k}}
-\newcommand*{\texteb}[1]{{\ebseries\textbf{#1}}}
\makeatother
+\DeclareRobustCommand{\elseries}{\fontseries{el}\selectfont}
+\DeclareTextFontCommand{\textel}{\elseries}
+\DeclareRobustCommand{\lseries}{\fontseries{l}\selectfont}
+\DeclareTextFontCommand{\textl}{\lseries}
+%%--\DeclareRobustCommand{\mdseries}{\fontseries{m}\selectfont}
+%%--\DeclareTextFontCommand{\textmd}{\mdseries}
+\DeclareRobustCommand{\sbseries}{\fontseries{sb}\selectfont}
+\DeclareTextFontCommand{\textsb}{\sbseries}
+\DeclareRobustCommand{\bseries}{\fontseries{b}\selectfont}
+\DeclareTextFontCommand{\textb}{\bseries}
+\DeclareRobustCommand{\ebseries}{\fontseries{eb}\selectfont}
+\DeclareTextFontCommand{\texteb}{\ebseries}
+\DeclareRobustCommand{\ubseries}{\fontseries{k}\selectfont}
+\DeclareTextFontCommand{\textub}{\ubseries}
+
\usepackage{cleveref}
@@ -112,7 +116,7 @@
citecolor = blue,
colorlinks = true,
linkcolor = blue,
- linktocpage = false,
+ linktocpage = true,
pdfauthor={Dr. Christoph L. Spiel},
pdfcreationdate={\pdffiledate},
pdfkeywords={LaTeX, typography, ligature, italic-correction, paragraph justification, baselineskip, sloppy, ragged},
@@ -124,9 +128,94 @@
}
+\SetExtraKerning[context=drop-left-sidebearing, name=source-code-normal, unit=space]
+ {font={T1/SourceCodePro-LF/m/n/44, T1/SourceCodePro-TLF/m/n/44}}
+ {
+ 1={-150,},
+ 2={-120,},
+ 3={-120,},
+ 4={-40,},
+ A={-100,},
+ B={-170,}
+ }
+
+\newlength{\sectiontocindent}
+\newlength{\sectionnumberwidth}
+\newlength{\subsectiontocindent}
+\newlength{\subsectionnumberwidth}
+\newlength{\subsubsectiontocindent}
+\newlength{\subsubsectionnumberwidth}
+
+\setlength{\sectiontocindent}{0pt}
+\setlength{\sectionnumberwidth}{40pt}
+\setlength{\subsectiontocindent}{40pt}
+\setlength{\subsectionnumberwidth}{25pt}
+\setlength{\subsubsectiontocindent}{65pt}
+\setlength{\subsubsectionnumberwidth}{30pt}
+
\makeatletter
-\renewcommand*{\@dotsep}{10000} % suppress leaders
-\patchcmd{\@dottedtocline}{\normalfont}{\bfseries}{\relax}{\PatchingFailed}
+\renewcommand*{\l@section}[2]
+ {\ifnum \c@tocdepth >\z@
+ \addpenalty\@secpenalty
+ \addvspace{1.0em \@plus\p@}%
+ \setlength{\@tempdima}{\sectionnumberwidth}%
+ \begingroup
+ \def\numberline##1{\hb@xt@\@tempdima{%
+ \tt\lseries
+ \fontsize{44}{0}\selectfont
+ \microtypecontext{kerning=drop-left-sidebearing}%
+ \iffalse\raisebox{-30pt}[0pt][0pt]{\rule{0.1pt}{40pt}}\fi
+ \textcolor{customred3}{##1}%
+ \hfil}}%
+ \parindent \z@
+ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ \bfseries
+ \iffalse
+ \nobreak\hfil
+ \nobreak\hb@xt@\@pnumwidth{\hss #2\kern-\p@\kern\p@}%
+ \else
+ {\sffamily\large #1}\quad
+ {#2}\hfil\hbox{}
+ \fi
+ \par
+ \endgroup
+ \fi}
+
+\renewcommand*{\@dottedtocline}[5]
+ {\ifnum #1>\c@tocdepth
+ \else
+ \vskip \z@ \@plus.2\p@
+ \begingroup
+ \leftskip #2\relax
+ \rightskip \@tocrmarg
+ \parfillskip -\rightskip
+ \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@tempdima #3\relax
+ \advance\leftskip \@tempdima
+ \null\nobreak
+ \hskip -\leftskip
+ {#4}\nobreak
+ \iffalse
+ \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill
+ \nobreak\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5\kern-\p@\kern\p@}%
+ \else
+ \hbox{\quad\normalfont\bfseries #5}\nobreak\hfill\hbox{}%
+ \fi
+ \par
+ \endgroup
+ \fi}
+
+\renewcommand*{\l@subsection}{\@dottedtocline{2}{\subsectiontocindent}{\subsectionnumberwidth}}
+\renewcommand*{\l@subsubsection}{\@dottedtocline{3}{\subsubsectiontocindent}{\subsubsectionnumberwidth}}
+\newrobustcmd*{\tocsquashedsubsections}
+ {\def\l@subsection{\@dottedtocline{2}{0pt}{\subsectionnumberwidth}}%
+ \def\l@subsubsection{\@dottedtocline{3}{0pt}{\subsubsectionnumberwidth}}}
\makeatother
@@ -171,7 +260,6 @@
leftmargin=!
}
-
\SetEnumitemKey{nestedinspecialsection}{
leftmargin=10pt
}
@@ -191,13 +279,15 @@
\fancypagestyle{pagenumberonly}{
+ \fancyhf{}
\fancyhead[L]{}
\fancyhead[R]{\thepage}
}
-\pagestyle{fancy}
-\fancyhf{}
-\fancyhead[L]{\rightmark}
-\fancyhead[R]{\thepage}
+\fancypagestyle{fancy}{
+ \fancyhf{}
+ \fancyhead[L]{\rightmark}
+ \fancyhead[R]{\thepage}
+}
\newcommand*{\resetfancyhead}
{\fancyhead[L]{\textsf{\textsc{\textls[20]{\nouppercase\rightmark}}}}}
@@ -239,8 +329,8 @@
\setlength{\skip\footins}{25pt}
-\setlength{\overfullrule}{3pt}
-\renewcommand*{\sidecaptionsep}{16pt}
+\setlength{\overfullrule}{0pt}
+\renewcommand*{\sidecaptionsep}{25pt}
@@ -272,13 +362,17 @@
\newcommand*{\citenum}[1]{\@nameuse{b@#1}}
\makeatother
-\def\code#1{\texttt{#1}}
+\renewcommand*{\code}[1]{\texttt{#1}}
+
+\newcommand*{\codelineindicator}{\mbox{\small$\mathscr{l}$}}
\newrobustcmd*{\command}[1]{\mbox{\textbf{#1}}}
+\newcommand*{\detoxindex}[1]{\index{\detokenize{#1}}}
+
\newcommand*{\doublequotes}[1]{\doubleguillemetright\kern-.03333em #1\doubleguillemetleft}
-\newcommand*{\dumpmacro}[1]{\texttt{\detokenize\expandafter{#1}}}
+\newcommand*{\dumpmacro}[1]{\texttt{\detokenize\expandafter{#1}\unskip}}
\newcommand*{\filesystem}[1]{\mbox{\textit{#1\/}}}
@@ -287,6 +381,12 @@
\newcommand*{\foreignphrase}[1]{\textsl{#1}}
+\makeatletter
+\newcommand*{\formatdimen}{\@ifstar{\@typog@rem@pt}{\@typog@strip@pt}}
+\newcommand*{\@typog@rem@pt}[1]{\dimen0=\dimexpr#1\relax\strip@pt\dimen0\,pt}
+\newcommand*{\@typog@strip@pt}[1]{\expandafter\strip@pt#1\relax\,pt}
+\makeatother
+
\newcommand*{\formatskip}[3]{#1\genfrac{}{}{0pt}{}{{+}#2}{{-}#3}}
\makeatletter
@@ -294,19 +394,46 @@
\renewcommand*{\fps@table}{htbp}
\makeatother
+\apptocmd{\GlossaryParms}
+ {\RaggedRight\normalsize}
+ {\relax}
+ {\AppendingFailed}
+
+\let\oldhdpindex=\hdpindex
+\renewcommand*{\hdpindex}[2]{\textbf{\oldhdpindex{#1}{#2}}}
+
+\let\oldhdclindex=\hdclindex
+\renewcommand*{\hdclindex}[2]
+ {\ifstrequal{#2}{code}
+ {\oldhdclindex{#1}{codeidx}}
+ {\oldhdclindex{#1}{#2}}}
+
\newcommand*{\hollowrectangle}[2]
{\setlength{\fboxrule}{.5pt}%
\setlength{\fboxsep}{0pt}%
\framebox{\rule{#1}{0pt}\rule{0pt}{#2}}}
\newcommand*{\hollowsquare}[1]{\hollowrectangle{#1}{#1}}
+\apptocmd{\IndexParms}
+ {\RaggedRight\small}
+ {\relax}
+ {\AppendingFailed}
\makeatletter
+\ExplSyntaxOn
\apptocmd{\index@prologue}
- {\marginnote{In the Index page ranges are stuck together with
- \hyperref[syn:figuredash]{\cs{figuredash*}}.}}
+ {\legacy_if:nTF {codeline@index}
+ {We\space prefix\space all\space references\space
+ to\space code\space lines\space with~\singlequotes{\codelineindicator}.}
+ {}}
{\relax}
{\AppendingFailed}
+
+\newcommand*{\linenumberdecoration}
+ {\legacy_if:nTF {codeline@index}
+ {\codelineindicator}
+ {}}
+\ExplSyntaxOff
\makeatother
\newcommand*{\logmacro}[1]
@@ -348,11 +475,27 @@
\AtBeginDocument{\setlength{\emreference}{\fontdimen6\font}}
\newrobustcmd*{\milliem}[1]
{\ifdim #1=0pt
- #1%
+ 0\,pt%
\else
\nativetextfraction{\the\numexpr\dimexpr (#1) * 1000 / \emreference}{1000}\:em%
\fi}
+\let\originalmulticols=\multicols
+\let\endoriginalmulticols=\endmulticols
+\RenewDocumentEnvironment{multicols}{m o o}
+ {\ifnum #1=1
+ \IfNoValueTF{#2}{\relax}{#2}%
+ \else
+ \IfNoValueTF{#2}
+ {\originalmulticols{#1}}
+ {\originalmulticols{#1}[#2]}%
+ \fi}
+ {\ifnum #1=1
+ \relax
+ \else
+ \endoriginalmulticols
+ \fi}
+
\newcommand*{\needtocspace}[1][3]
{\addtocontents{toc}{\protect\needspace{#1\baselineskip}}}
@@ -455,7 +598,7 @@
\newenvironment*{specialcodesection}[1]
{\Needspace{4\baselineskip}%
\begin{tcolorbox}[colback=white, colframe=\markercolor,
- bottomrule=0pt, leftrule=5pt, rightrule=0pt, toprule=0pt]
+ bottomrule=.5pt, leftrule=5pt, rightrule=.5pt, toprule=.5pt]
\sf\typogsetupsf
\begin{list}
{\specialcodesectionheading{#1}}
@@ -498,11 +641,37 @@
\begin{minipage}{\floatcaptionwidth}}
{\end{minipage}}
\newcommand*{\tablenotemark}[1]{\smash{\textsuperscript{#1}}}
+\newcommand*{\tablenotesymbol}[1]{% Bringhurst's "traditional order" (p69) from 1 to 6
+ \ifcase#1\relax
+ #1% 0
+ \or \textasteriskcentered% 1
+ \or \textdagger% 2
+ \or \textdaggerdbl% 3
+ \or \textsection% 4
+ \or \textbardbl% 5
+ \or \textsection% 6
+ \or \textasteriskcentered\textasteriskcentered%7
+ \or \textdagger\textdagger%8
+ \or \textdaggerdbl\textdaggerdbl%9
+ \else
+ #1
+ \fi
+}
\newcommand*{\termparbox}[1]{\parbox[t]{\linewidth}{#1\bottomstrut}}
\newcommand*{\thousandsseparator}{\mbox{,}}
+\ExplSyntaxOn
+\newcommand*{\titlecase}[1]{\text_titlecase:n {#1}}
+\ExplSyntaxOff
+
+\newcommand*{\toccontinuesonnextpage}
+ {\addtocontents{toc}{\par
+ \bigskip
+ \hfill\textit{Table of Contents continued on next page.}\par
+ \protect\clearpage}}
+
\newcommand*{\topstrut}{\rule{0pt}{1.3em}}
\newcommand*{\typogsetuprm}
@@ -514,11 +683,16 @@
{\typogsetup{raise*=.06667em,
raiseguillemets=.05em}}
+\newcommand*{\unmarkedfntext}[1]
+ {{\def\thefootnote{}\footnote{#1}%
+ \addtocounter{footnote}{-1}}}
+
+\newcommand*{\userman}[1]{\textbf{\hyperpage{#1}}}%%-- https://github.com/ho-tex/hypdoc/issues/11
+
\newcommand*{\visualpar}{\textcolor{\markercolor}{\P}\linebreak[1]\enspace}
\newenvironment*{whittyquote}
{\begin{flushright}
- \renewcommand*{\propername}[1]{\mbox{##1}}%
\sf\typogsetupsf}
{\end{flushright}}
@@ -532,7 +706,6 @@
\end{minipage}
\end{maxipage}}
-
\NewDocElement[macrolike = true,
idxtype = dim.,
idxgroup = dimensions,
@@ -547,6 +720,20 @@
{EnumItemKey}{enumitemkey}
\pretocmd{\DescribeEnumItemKey}{\needspace{25pt}}{\relax}{\PrependingFailed}
+\NewDocElement[macrolike = true,
+ idxtype = skip,
+ idxgroup = \LaTeX{} length (skip),
+ printtype = \textit{skip}]
+ {LaTeXSkip}{lskip}
+\pretocmd{\DescribeLaTeXSkip}{\needspace{25pt}}{\relax}{\PrependingFailed}
+
+\NewDocElement[macrolike = true,
+ idxtype = counter,
+ idxgroup = \protect\TeX{} counters,
+ printtype = \textit{counter}]
+ {TeXCounter}{tcounter}
+\pretocmd{\DescribeTeXCounter}{\needspace{25pt}}{\relax}{\PrependingFailed}
+
\hyphenation{% https://hyphenateit.com/en-us
Double-guillemet-left
@@ -585,6 +772,8 @@
line-width
loose-ness
loose-spacing
+ lower-case-adjust-label-items
+ lower-case-label-item-adjustments
make-at-letter
make-at-other
mar-gin-al
@@ -612,6 +801,7 @@
set-leading
set-leading-percentage
short-inter-text
+ shrink-limits
single-guillemet-left
single-guillemet-right
single-quotes
@@ -625,6 +815,7 @@
smooth-ragged-right-shape-septuplet
smooth-ragged-right-shape-triplet
space-skip
+ stretch-limits
text-italics-correction
tight-spacing
tracing-boxes
@@ -632,6 +823,8 @@
tracking-tt-spacing
typog-get
typog-setup
+ upper-case-adjust-label-items
+ upper-case-label-item-adjustments
vtie-bot
vtie-bot-disp
vtie-bot-disp-par
@@ -648,29 +841,52 @@
\begin{document}
\typogsetuprm
+ \uppercaseadjustlabelitems{*}
\DocInput{typog.dtx}
\end{document}
%</driver>
%<*index-style>
actual '='
+delim_0 "\\nobreak\\enspace"
+delim_1 "\\nobreak\\enspace"
+delim_2 "\\nobreak\\enspace"
delim_r "\\figuredash*"
heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
heading_suffix "}\\nopagebreak\n"
headings_flag 1
level '>'
+line_max 65536
quote '!'
%</index-style>
+%<*changes-style>
+actual '='
+delim_0 "\\nobreak\\enspace"
+delim_1 "\\nobreak\\enspace"
+delim_2 "\\nobreak\\enspace"
+heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large "
+heading_suffix "}\\nopagebreak\n"
+headings_flag 0
+item_x1 "\\efill\n\\subitem "
+item_x2 "\\ "
+keyword "\\glossaryentry"
+level '>'
+line_max 65536
+postamble "\n\\end{theglossary}\n"
+preamble "\\begin{theglossary}\n \\makeatletter\\scan@allowedfalse"
+quote '!'
+%</changes-style>
% \fi
%
%
% \DoNotIndex{\,}
-% \DoNotIndex{\addtolength,\advance,\aftergroup,\allowdisplaybreaks,\arabic}
-% \DoNotIndex{\AtBeginDocument,\autotransfer}
-% \DoNotIndex{\baselineskip}
-% \DoNotIndex{\c,\char,\clubpenalties,\clubpenalty,\count,\cs,\csname}
+% \DoNotIndex{\\}
+% \DoNotIndex{\addtocounter,\addtolength,\advance,\aftergroup,\allowdisplaybreaks,\arabic,\arraystretch}
+% \DoNotIndex{\AfterEndPreamble,\AfterPreamble,\AtBeginDocument,\autotransfer}
+% \DoNotIndex{\baselineskip,\begin,\begingroup,\booltrue,\box}
+% \DoNotIndex{\c,\char,\clist,\clubpenalties,\clubpenalty,\count,\cs,\csname}
% \DoNotIndex{\DeclareRobustCommand,\def,\define@choicekey,\define@key,\detokenize}
% \DoNotIndex{\dim,\dimen,\dimexpr,\discretionary,\displaywidowpenalties,\displaywidowpenalty}
-% \DoNotIndex{\edef,\else,\emergencystretch,\empty,\endcsname}
+% \DoNotIndex{\edef,\else,\emergencystretch,\empty,\end,\endcsname,\endgroup}
% \DoNotIndex{\endlastlineflushrightpar}
% \DoNotIndex{\endlastlineraggedleftpar}
% \DoNotIndex{\endnofontexpand,\endnofontexpansion}
@@ -679,33 +895,37 @@ quote '!'
% \DoNotIndex{\endsmoothraggedrightshapetriplet}
% \DoNotIndex{\endtypoginspect}
% \DoNotIndex{\exhyphenpenalty,\expandafter,\ExplSyntaxOff,\ExplSyntaxOn}
-% \DoNotIndex{\fi,\finalhyphendemerits,\font,\fontdimen,\fp,\fussy,\futurelet}
+% \DoNotIndex{\fi,\finalhyphendemerits,\font,\fontdimen,\forcsvlist,\fp,\fpeval,\fussy,\futurelet}
% \DoNotIndex{\gdef,\global,\glueexpr,\@gobble}
% \DoNotIndex{\guillemotleft,\guillemotright,\guilsinglleft,\guilsinglright}
-% \DoNotIndex{\hbadness,\hfuzz,\hskip,\hspace}
+% \DoNotIndex{\hbadness,\hbox,\hfuzz,\hskip,\hspace,\ht}
% \DoNotIndex{\ignorespaces,\ignorespacesafterend}
-% \DoNotIndex{\if,\IfBooleanT,\IfBooleanTF,\ifcase,\ifdefined,\ifdim,\iffalse,\ifmmode,\ifMT@expansion}
-% \DoNotIndex{\@ifnextchar,\IfNoValueF,\IfNoValueTF,\ifnum}
+% \DoNotIndex{\if,\ifblank,\ifbool,\IfBooleanT,\IfBooleanTF,\ifcase,\ifdefined,\ifdim,\iffalse,\ifmmode}
+% \DoNotIndex{\ifMT@expansion,\@ifnextchar,\IfNoValueF,\IfNoValueTF,\ifnum,\ifodd,\ifstrequal}
% \DoNotIndex{\iftypog@microtype@loadedfalse}
% \DoNotIndex{\iftypog@microtype@preloadedfalse}
-% \DoNotIndex{\ifvmode,\ifx,\ignorespaces,\inputlineno,\int,\interlinepenalty}
+% \DoNotIndex{\ifvmode,\ifx,\ignorespaces,\inputlineno,\int,\interlinepenalty,\itemize}
% \DoNotIndex{\jobname}
% \DoNotIndex{\kern}
-% \DoNotIndex{\l,\lastlinefit,\lastlineflushrightpar,\lastlineraggedleftpar,\leftmargin,\leftskip,\let}
-% \DoNotIndex{\linepenalty,\linewidth,\@listdepth,\looseness,\lsstyle}
-% \DoNotIndex{\@M,\m@th,\mathbin,\mathord,\maxdimen,\message,\microtypecontext,\microtypesetup}
+% \DoNotIndex{\l,\labelitemi,\labelitemii,\labelitemiii,\labelitemiv}
+% \DoNotIndex{\lastlinefit,\lastlineflushrightpar,\lastlineraggedleftpar}
+% \DoNotIndex{\lefthyphenmin,\leftmargin,\leftskip,\let,\letcs}
+% \DoNotIndex{\linepenalty,\linewidth,\@listdepth,\loop,\looseness,\lsstyle}
+% \DoNotIndex{\@M,\m@th,\mathbin,\mathord,\maxdimen,\mbox,\message,\microtypecontext,\microtypesetup}
% \DoNotIndex{\@minus,\mkern,\m@ne,\mspace,\MT@letterspace@,\MT@MT,\muexpr}
-% \DoNotIndex{\@ne,\NeedsTeXFormat,\NewDocumentCommand,\NewDocumentEnvironment,\newcommand,\newenvironment}
-% \DoNotIndex{\newcounter,\newdimen,\newif,\newlength,\newmuskip}
+% \DoNotIndex{\@ne,\NeedsTeXFormat,\newbool,\NewDocumentCommand,\NewDocumentEnvironment}
+% \DoNotIndex{\newcommand,\newenvironment}
+% \DoNotIndex{\newcounter,\newdimen,\newif,\newlength,\newline,\newmuskip}
% \DoNotIndex{\nobreak,\nofontexpand,\nofontexpansion,\nr,\numexpr}
% \DoNotIndex{\or,\optarg}
% \DoNotIndex{\p@,\PackageError,\PackageWarning}
-% \DoNotIndex{\par,\parfillskip,\parindent,\parshape,\pdf@strcmp}
+% \DoNotIndex{\par,\parfillskip,\parindent,\parshape,\patchcmd,\pdf@strcmp}
% \DoNotIndex{\pdfstringdefDisableCommands}
% \DoNotIndex{\penalty,\@plus,\PopPostHook,\postdisplaypenalty,\predisplaypenalty,\prg}
% \DoNotIndex{\pretolerance,\protected,\ProvidesPackage,\PushPostHook}
-% \DoNotIndex{\raisebox,\refstepcounter,\relax,\RenewExpandableDocumentCommand,\RequirePackage,\rightskip}
-% \DoNotIndex{\setcounter,\SetEnumitemKey,\SetExpansion,\setkeys,\setlength,\setstretch}
+% \DoNotIndex{\raisebox,\refstepcounter,\relax,\RenewExpandableDocumentCommand,\repeat,\RequirePackage}
+% \DoNotIndex{\righthyphenmin,\rightskip,\rlap,\romannumeral,\rule}
+% \DoNotIndex{\setbox,\setcounter,\SetEnumitemKey,\SetExpansion,\setkeys,\setlength,\setstretch}
% \DoNotIndex{\showboxbreadth,\showboxdepth,\skip,\sloppy}
% \DoNotIndex{\smoothraggedrightpar}
% \DoNotIndex{\smoothraggedrightshapequintuplet}
@@ -715,9 +935,9 @@ quote '!'
% \DoNotIndex{\textemdash,\textendash,\textsf,\textsl,\texttimes,\textwidth,\the,\times,\tl,\tolerance}
% \DoNotIndex{\tracingnone,\tracingpages,\tracingparagraphs}
% \DoNotIndex{\typeout,\typoginspect,\typoglogo}
-% \DoNotIndex{\unless}
+% \DoNotIndex{\unhbox,\unless}
% \DoNotIndex{\val,\value,\vbadness,\vfuzz}
-% \DoNotIndex{\widowpenalties,\widowpenalty}
+% \DoNotIndex{\wd,\widowpenalties,\widowpenalty}
% \DoNotIndex{\z@,\z@skip}
%
%
@@ -828,7 +1048,8 @@ end
% \footnotesize
% \noindent
% This package is copyright \textcopyright~2024 Ch.~L.~Spiel. It may be distributed
-% and\kernedslash*or modified under the conditions of the \LaTeX{} Project Public License
+% and\kernedslash*or modified under the conditions of the
+% \href{https://www.latex-project.org/lppl.txt}{\LaTeX{} Project Public License}
% \acronym{(LPPL)}, either version~1.3c of this license or --~at your option~-- any later
% version. This work has the \acronym{LPPL} maintenance status
% \doublequotes{author-maintained}.
@@ -836,30 +1057,36 @@ end
%
%
% \clearpage
-% \thispagestyle{pagenumberonly}
-% \tableofcontents
-% \vspace{\fill}
+% \pagestyle{pagenumberonly}
%
+% \unmarkedfntext{The font sample on the title page was generated with the help of \MP{} using
+% \doublequotes{\acronym{URW}~Palladio}%
+% \detoxindex{font>typeface>URW Palladio=\acronym{URW} Palladio|userman}.}
%
-% \thispagestyle{pagenumberonly}
-% \listoftables
-% \phantomsection
-% \addcontentsline{toc}{subsection}{List of Tables}
-% \vspace{\fill}
+% \begin{nofontexpansion}
+% \begin{nocharprotrusion}
+% \tableofcontents
+% \end{nocharprotrusion}
+% \end{nofontexpansion}
%
+% \addtocontents{toc}{%
+% \protect\begin{whittyquote}
+% Hoffentlich wird es nicht so schlimm, wie es schon ist! \\
+% \capitalemdash*~\propername{Karl Valentin}
+% \protect\end{whittyquote}\par}
%
-% \begingroup
-% \footnotesize
-% \singlespacing
-% \noindent
-% The font sample on the title page was generated with the help of \MP{} using
-% \doublequotes{\acronym{URW} Palladio~L}\index{font>URW Palladio L=\acronym{URW} Palladio
-% L}.
-% \endgroup
+% \vspace{\fill}
+%
+% \begin{nofontexpansion}
+% \begin{nocharprotrusion}
+% \listoftables
+% \end{nocharprotrusion}
+% \end{nofontexpansion}
%
%
% \clearpage
% \pagenumbering{arabic}
+% \pagestyle{fancy}
% \section{Introduction}\label{sec:introduction}
%
% \begin{whittyquote}
@@ -892,7 +1119,10 @@ end
% \Cref{sec:latex-hyphenation} expands the hyphenation facilities of \LaTeX.
%
% \Cref{sec:break-ligatures,sec:manual-italic-correction,sec:extra-kerning,sec:raise-characters}
-% deal with vertically positioning glyphs in a more pleasant way.
+% deal with vertically positioning glyphs in a more pleasant way. Also in the realm of
+% vertical alignments is \cref{sec:adjust-label-items} that explains how to height-adjust the
+% labels in |itemize|~lists to perfection whether the items are followed by uppercase or by
+% lowercase letters.
%
% \Cref{sec:align-last-line,sec:fill-last-line} discuss dearly missed macros for better control
% of the last line of a paragraph.
@@ -950,15 +1180,17 @@ end
% \end{tabbing}
% \end{synopsis}
%
-% \index{package options|(}
-% The package \meta{OPTIONs} serve as configuration \meta{key}s, too. This means they can be
-% set with \hyperref[syn:typogsetup]{\code{typogsetup}} and their values can be retrieved with
-% \hyperref[syn:typogget]{\cs{typogget}}. Options that rely on package~\packagename{microtype}
-% are indicated with \doublequotes{\microtyperequiredmarker}.
+% \index{package options|(userman}
+% The package \meta{OPTIONs} also serve as configuration \meta{key}s (unless noted otherwise).
+% This means they can be set with \hyperref[syn:typogsetup]{\code{typogsetup}} and their values
+% can be retrieved with \hyperref[syn:typogget]{\cs{typogget}}. Options that rely on
+% package~\packagename{microtype} are indicated with \doublequotes{\microtyperequiredmarker}.
%
% \begin{typogsetup}{}
% \newcommand*{\indexpackageoption}[1]
-% {\index{package option>#1=\code{#1}}\index{#1=\code{#1}~(option)}\ignorespaces}
+% {\detoxindex{package option>#1=\code{#1}|userman}%
+% \detoxindex{#1=\code{#1}~(option)|userman}%
+% \ignorespaces}
% \begin{description}
% [before={\let\oldmakelabel=\makelabel
% \renewcommand{\makelabel}[1]
@@ -978,17 +1210,44 @@ end
% \item[|debug|, |nodebug|]\label{item:debug}
% \indexpackageoption{debug}
% \indexpackageoption{nodebug}
-% Write package-specific debug information to the log file. Opposite: |nodebug|. The
-% default is not to log debug information.
+% Write some package-specific debug information to the \filesystem{log}~file. Opposite:
+% |nodebug|. The default is not to record debug information.
+%
+% These two options neither can be used with \hyperref[syn:typogsetup]{\code{typogsetup}}
+% nor with \hyperref[syn:typogget]{\cs{typogget}}.
%
% \item[|ligaturekern=|\meta{dim}]\label{item:ligaturekern}
% \indexpackageoption{ligaturekern}
% Set \meta{dim} of the kern that is inserted to split a ligature in
% macro\hyperref[syn:nolig]{\cs{nolig}}. See
-% \cref{sec:break-ligatures}.\shiftedmarginnote{We access the configuration values with
-% \hyperref[syn:typogget]{\cs{typogget}}.} Default
+% \cref{sec:break-ligatures}.\shiftedmarginnote{We access all the (default) configuration
+% values with \hyperref[syn:typogget]{\cs{typogget}}.} Default
% value:~\milliem{\typogget{ligaturekern}}.
%
+% \item[|lowercaselabelitemadjustments=\{|\meta{dim1}, \meta{dim2}, \meta{dim3}, \meta{dim4}|\}|]%
+% \label{item:lowercaselabelitemadjustments}
+% \indexpackageoption{lowercaselabelitemadjustments}
+% \sinceversion{Since v0.4}
+% Vertical shifts \meta{dimN} to apply to \cs{labelitem}\meta{N}, where \meta{N} is the
+% nesting level of the |itemize|~list starting at one. An empty \meta{dimN} is equivalent
+% to~\formatdimen*{0pt}. The adjustments apply to the lowercase setting
+% (\hyperref[syn:lowercaseadjustlabelitems]{\code{\string\lowercaseadjustlabelitems}}).
+% See \cref{sec:adjust-label-items} (in particular subsection~\singlequotes{Setup} and
+% \cref{tab:labelitemadjustvalues} on \cpageref{tab:labelitemadjustvalues}) and also
+% configuration option
+% \hyperref[item:uppercaselabelitemadjustments]{\code{uppercaseadjustlabelitem}}.
+%
+% All four lengths default to~\formatdimen*{0pt}.
+%
+% \begin{important}
+% \slightlysloppy
+% \noindent
+% Configuring \code{lowercaselabelitemadjustments} (or
+% \code{uppercaselabelitemadjustments}) does \emph{not} activate the correction
+% mechanism. Use one of the macros \code{\string\lowercaseadjustlabelitems} or
+% \code{\string\uppercaseadjustlabelitems} for that purpose.
+% \end{important}
+%
% \item[|mathitalicscorrection=|\meta{dim}]\label{item:mathitalicscorrection}
% \indexpackageoption{mathitalicscorrection}
% Italics correction in math mode. See \cref{sec:manual-italic-correction} and also the
@@ -1000,10 +1259,14 @@ end
% \item[|raise*=|\meta{dim}]\label{item:raise}
% \indexpackageoption{raise*}
% Set the length by which selected characters (dash, hyphen, times, and number dash) are
-% raised. Default value:~0pt.
+% raised. Default value:~\formatdimen*{0pt}.
%
% Only the raise amounts for guillemets are unaffected by this option.
%
+% This option neither can be used with \hyperref[syn:typogsetup]{\code{typogsetup}} nor
+% with \hyperref[syn:typogget]{\cs{typogget}}, however, the specific options influenced by
+% it can.
+%
% \item[|raisecapitaldash=|\meta{dim}]\label{item:raisecapitaldash}
% \indexpackageoption{raisecapitaldash}
% Set the length that the \cs{textendash} is raised in
@@ -1093,6 +1356,30 @@ end
% \emph{not} in the document body.
%
% By default this option is unset.
+%
+% \item[|uppercaselabelitemadjustments=\{|\meta{dim1}, \meta{dim2}, \meta{dim3}, \meta{dim4}|\}|]%
+% \label{item:uppercaselabelitemadjustments}
+% \indexpackageoption{uppercaselabelitemadjustments}
+% \sinceversion{Since v0.4}
+% Vertical shifts \meta{dimN} to apply to \cs{labelitem}\meta{N}, where \meta{N} is the
+% nesting level of the |itemize|~list starting at one. An empty \meta{dimN} is equivalent
+% to~\formatdimen*{0pt}. The adjustments apply to the uppercase setting
+% (\hyperref[syn:uppercaseadjustlabelitems]{\code{\string\uppercaseadjustlabelitems}}).
+% See \cref{sec:adjust-label-items} (in particular subsection~\singlequotes{Setup} and
+% \cref{tab:labelitemadjustvalues} on \cpageref{tab:labelitemadjustvalues}) and also
+% configuration option
+% \hyperref[item:lowercaselabelitemadjustments]{\code{lowercaseadjustlabelitem}}.
+%
+% All four lengths default to~\formatdimen*{0pt}.
+%
+% \begin{important}
+% \slightlysloppy
+% \noindent
+% Configuring \code{uppercaselabelitemadjustments} (or
+% \code{lowercaselabelitemadjustments}) does \emph{not} activate the correction
+% mechanism. Use one of the macros \code{\string\uppercaseadjustlabelitems} or
+% \code{\string\lowercaseadjustlabelitems} for that purpose.
+% \end{important}
% \end{description}
% \end{typogsetup}
% \index{package options|)}
@@ -1116,12 +1403,13 @@ end
% issues a \cs{par} at its end. Environments with different name suffixes never close
% with~\cs{par}.
%
-% \bigskip
%
-% \noindent
+% \subsection{Setup and Reconfiguration}\label{sec:setup}
+%
% \DescribeEnv{typogsetup}
-% Configure\index{configuration}\index{setup} the package with the given \meta{keys}. An empty
-% argument of \code{typogsetup} resets all \meta{keys} to their default values.
+% Configure\index{configuration|userman}\index{setup|userman} the package with the given
+% \meta{keys}. An empty argument of \code{typogsetup} resets all \meta{keys} to their default
+% values.
%
% \begin{synopsis}\label{syn:typogsetup}
% \cs{begin}|{typogsetup}|\marg{keys}
@@ -1129,7 +1417,7 @@ end
% \cs{end}|{typogsetup}|
% \end{synopsis}
%
-% The package can be (re-)configured\index{reconfigure} at any point with
+% The package can be (re-)configured\index{reconfigure|userman} at any point with
% \cs{typogsetup}\marg{keys}, or --~for localized changes~-- as
%
% \begin{codeexample}
@@ -1143,6 +1431,12 @@ end
% where \meta{keys} have the same format as the package options described in
% \cref{sec:package-options}.
%
+% \begin{note}
+% Use \code{\string\PassOptionsToPackage\{\meta{keys}\}\{typog\}} to pass \meta{keys} to
+% \packagename{typog} before loading it and \code{\string\typogsetup\{\meta{keys}\}} after
+% \code{\string\usepackage\{typog\}}.
+% \end{note}
+%
% \begin{usecases}
% \cs{typogsetup} can substitute configuring the package at load-time or serve as an
% addition.~\visualpar Using the |typogsetup|~environment allows to fine-tune the parameters
@@ -1154,9 +1448,9 @@ end
%
% \noindent
% \DescribeMacro{\typogget}
-% Sometimes the user needs to access internal configuration values of
-% package~\packagename{typog}. This can be done in a safe way without resorting to code that
-% is bracketed by \cs{makeatletter}/\cs{makeatother} with the help of the following macro.
+% Sometimes the user needs to access configuration values of package~\packagename{typog}. This
+% can be done in a safe way without resorting to code that is bracketed by \cs{makeatletter}
+% and \cs{makeatother} with the help of the following macro.
%
% \begin{synopsis}\label{syn:typogget}
% \cs{typogget}\marg{key}
@@ -1177,15 +1471,47 @@ end
% \> \{\cs{raisebox}\= \{\cs{typogget}\{raisecapitaldash\}\}\{\cs{cdot}\}\}
% \end{codeexample}
%
-% The latter only is useful inside of an \code{itemize}~environment of course.
+% The latter only is useful inside of an \code{itemize}~environment of course. Compare with
+% the solution in \cref{sec:adjust-label-items} offered by \packagename{typog} since v0.4.
% \end{usecase}
%
+% \DescribeMacro{\typoggetnth}
+% \sinceversion{Since v0.4}
+% If a configuration item is associated with a list as
+% \hyperref[item:lowercaselabelitemadjustments]{\code{lowercaselabelitemadjustments}},
+% \hyperref[item:shrinklimits]{\code{shrinklimits}},
+% \hyperref[item:stretchlimits]{\code{stretchlimits}},
+% \hyperref[item:trackingttspacing]{\code{trackingttspacing}}, and
+% \hyperref[item:uppercaselabelitemadjustments]{\code{uppercaselabelitemadjustments}} are, it
+% may be convenient to fetch a particular list element of it.
+%
+% \begin{synopsis}\label{syn:typoggetnth}
+% \cs{typoggetnth}\marg{csname}\marg{key}\marg{index} \\
+% \cs{typoggetnth}\marg{dimen-register}\marg{key}\marg{index}
+% \end{synopsis}
+%
+% Retrieve the configuration value --~which is a comma-separated list~-- that is associated
+% with~\meta{key} and store the item having position~\meta{index} in \meta{dimen-register} or
+% the parameter-less, global macro~\meta{csname}. The destination \meta{dimen-register} may be
+% predefined like, e.\,g., \cs{dimen0} or user-defined. Dimensions can also be stored in a
+% macro by using the \meta{csname}~form of \cs{typoggetnth} but not \foreignphrase{vice versa}.
+%
+% Index into the list either from left-to-right with positive indices starting at~\(1\) up to
+% the length of the list, or from right-to-left with negative indices starting at~\(-1\) down
+% to the negative length.
+%
+% \begin{note}
+% Macro~\cs{typoggetnth} \emph{only} works with \meta{key}s that are associated with a list
+% of values.
+% \end{note}
+%
%
-% \subsection{Information}\label{sec:information}\index{information}
+% \subsection{Information}\label{sec:information}
+% \index{information|userman}
%
% \begin{whittyquote}
% Never forget: The visual output counts; \\
-% it must always be checked, [\dots]. \\
+% it must always be checked, [\dots\itcorr{-4}]. \\
% \marginnote{The em-dash at then end of the quote is height-adjusted with
% \hyperref[syn:capitalemdash]{\cs{capitalemdash*}}.}%
% \capitalemdash*~\propername{Udo Wermuth}~\cite{wermuth:2017a}
@@ -1196,14 +1522,14 @@ end
%
%
% \subsubsection{Font Information}\label{sec:font-information}
-% \index{font>information}
+% \index{font>information|userman}
%
% \DescribeMacro{\fontsizeinfo}
% Capture the font~size\footnote{We use \cs{fontdimen6}, the em-height as the font
-% size.}\index{font>size} and line~spacing\footnote{The line~spacing simply is
-% \cs{baselineskip}.}\index{line spacing} at the point where \cs{fontsizeinfo} \emph{is called}
-% in macro~\meta{cs-name}. Both dimensions are measured in points~(pt) and the results are
-% rounded to tenths.
+% size.}\index{font>size|userman} and line~spacing\footnote{The line~spacing simply is
+% \cs{baselineskip}.}\index{line spacing|userman} at the point where \cs{fontsizeinfo} \emph{is
+% called} in macro~\meta{cs-name}. Both dimensions are measured in points~(pt) and the results
+% are rounded to tenths.
%
% \begin{synopsis}\label{syn:fontsizeinfo}
% \cs{fontsizeinfo}\marg{cs-name}
@@ -1259,9 +1585,8 @@ end
%
% \begin{caution}
% The end-of-trace marker sometimes gets placed too early and the trace seems truncated.
-% \LaTeX{} reliably logs the requested the trace information, but the write operations for
-% trace data and \cs{immediate}\cs{write} which is used to print the end-tag are not
-% synchronized.
+% \LaTeX{} reliably logs the requested trace information, but the write operations for trace
+% data and \cs{immediate}\cs{write} which is used to print the end-tag are not synchronized.
% \end{caution}
%
%
@@ -1287,7 +1612,8 @@ end
%
% \begin{itemize}[noindent]
% \item Any text tool can be used to ferret out the tags. \propername{Emacs} users will find
-% \mbox{\code{(occur \meta{regexp})}} to be useful.
+% \mbox{\code{(occur \meta{regexp})}} to be useful.\shiftedmarginnote{This \code{itemize}
+% list demonstrates vertically adjusted label items (\cref{sec:adjust-label-items}).}
%
% \item As long as the tags are not nested \programname{sed} or \programname{perl}
% extract the information gathered by~|typoginspect|, for example:
@@ -1338,13 +1664,20 @@ end
%
% \item If more trace information is needed just add \cs{tracing\dots} calls right after
% \code{\string\begin\{typoginspect\}}
-% or~\code{\string\begin\{typoginspectpar\}}.\specialsectionendhere
+% or~\code{\string\begin\{typoginspectpar\}}.
+%
+% \item As the overhead of \cs{typoginspect} is relatively low, hairy parts of a document can
+% permanently be furnished with them, for example, the Index.
+%
+% \item Any labeled part can treat their ids to \meta{id}. Think of \cs{caption}s or any
+% theorem-like environment and their associated, unique \cs{label}s.\specialsectionendhere
% \end{itemize}
% \end{tips}
%
%
% \phantomsection
-% \paragraph{Investigating the badness of a paragraph.}\label{sec:investigating-paragraph-badness}\index{paragraph>badness}
+% \paragraph{Investigating the badness of a paragraph.}\label{sec:investigating-paragraph-badness}
+% \index{paragraph>badness|userman}
%
% It is generally unnecessary to determine the \emph{exact} classification of a paragraph's
% badness~\cite[p.~97n]{knuth:1986}, though the curious user can switch on logging of
@@ -1386,9 +1719,9 @@ end
% \begin{enumerate}[beginpenalty=10000, nosep]
% \item The shortfall~\sample{s} and
% \item glue~\sample{a} or~\sample{g}.\footnote{The author is unaware of any descriptions
-% of \code{s}, \code{a}, or~\code{g}. The interested reader is referred to the source
-% code, e.\,g., \filesystem{pdftex.web}; search for \code{print("\textvisiblespace s=")}.
-% In the weaved documentation the first relevant section is~\S1851.}
+% of \sample{s}, \sample{a}, or~\sample{g} and the interested reader is referred to the
+% source code, e.\,g., \filesystem{pdftex.web}; search for \code{print("\textvisiblespace
+% s=")}. In the weaved documentation the first relevant section is~\S1851.}
% \end{enumerate}
% \item The best\footnote{\singlequotes{Best} means the minimum-demerits path in the graph of
% the feasible breakpoints, which has been constructed for the paragraph.} way to get
@@ -1404,13 +1737,13 @@ end
% as parenthesized values (units are thousandths of the current font's~em) like, e.\,g.,
%
% \begin{codeexample}
-% \textbackslash T1/erewhon-LF/m/n/9/@/@ (-13) \dots
+% \textbackslash T1/erewhon-LF/m/n/9/@/@ (-13) \dots
% \end{codeexample}
%
% or
%
% \begin{codeexample}
-% \textbackslash T1/erewhon-LF/m/n/9/@/@/10ls (+7) \dots
+% \textbackslash T1/erewhon-LF/m/n/9/@/@/10ls (+7) \dots
% \end{codeexample}
%
% An \sample{ls} appended to the font name specification indicates that
@@ -1419,7 +1752,9 @@ end
% \end{note}
%
%
-% \paragraph{Investigating page-breaks.}\index{page break}
+% \phantomsection
+% \paragraph{Investigating page-breaks.}
+% \index{page break|userman}
%
% Use \code{\cs{tracingpages}=1} or the \hyperref[syn:typoginspect]{typoginspect}~environment
% to switch on tracing of \TeX's page-break
@@ -1486,7 +1821,7 @@ end
%
%
% \subsection{Hyphenation}\label{sec:latex-hyphenation}
-% \index{hyphenation}
+% \index{hyphenation|userman}
%
% \TeX's and thus \LaTeX's hyphenation algorithm is highly sophisticated, yet the document
% author sometimes lacks convenient macros to solve seemingly trivial typographic tasks. For
@@ -1500,8 +1835,8 @@ end
% \cs{allowhyphenation}
% \end{synopsis}
%
-% Macro~\cs{allowhyphenation}\index{hyphenation>re-enable automatic} re-enables automatic
-% hyphenation after \TeX{} has turned it off, for example, in the innocuous case of a
+% Macro~\cs{allowhyphenation}\index{hyphenation>re-enable automatic|userman} re-enables
+% automatic hyphenation after \TeX{} has turned it off, for example, in the innocuous case of a
% hyphenated compound.
%
% The admittedly simple rules when \TeX{} auto-hyphenates and when not give rise to so many
@@ -1636,7 +1971,7 @@ end
% Whenever using \cs{-}, the short-hand form of \cs{discretionary\{-\}\{\}\{\}}, authors
% writing in a foreign language should reconsider whether it really beats \cs{hyphenation} or
% \cs{babelhyphenation}\footnote{\cs{babelhyphenation} is the multi-lingual extension of \TeX's
-% \cs{hyphenation} and it is defined in package~\packagename{babel}~\cite{package:babel}}. in
+% \cs{hyphenation} and it is defined in package~\packagename{babel}~\cite{package:babel}.} in
% the particular situation. However, sometimes \cs{-} actually \emph{is} the way to go.
%
% Let us assume we mark up proper names with
@@ -1662,6 +1997,12 @@ end
% which are impossible to encode with \cs{hyphenation} or~\cs{babelhyphenation} as these expect
% only letters and dashes as their arguments with spaces separating the words.
%
+% \index{hyphenation>first word|userman}
+% \index{hyphenation>hskip=\cs{hskip}|userman}
+% \TeX{} never hyphenates the initial word in a paragraph and \cs{allowhyphenation} cannot help
+% in this case. Start the paragraph with \cs{hskip~0pt} to enable hyphenation even for the
+% first word.
+%
% \begin{tip}[Typewriter Fonts]
% Sometimes it is desired to get a hyphenatable typewriter font. \LaTeX{} suppresses any
% hyphenation for fonts in \cs{ttfamily} by un-defining their \cs{hyphenchar}s. If these are
@@ -1686,8 +2027,8 @@ end
% \cs{breakpoint*}
% \end{synopsis}
%
-% The starred form inserts an empty discretionary,\index{hyphenation>empty discretionary} which
-% disables automatic hyphenation. The unstarred form inserts an empty discretionary and
+% The starred form inserts an empty discretionary,\index{hyphenation>empty discretionary|userman}
+% which disables automatic hyphenation. The unstarred form inserts an empty discretionary and
% immediately re-enables automatic hyphenation.
%
% The difference between \cs{breakpoint} and the \LaTeX{} macro~\cs{allowbreak} is not only
@@ -1729,7 +2070,7 @@ end
%
%
% \subsection{Disable\kernedslash Break Ligatures}\label{sec:break-ligatures}
-% \index{ligature}
+% \index{ligature|userman}
%
% \DescribeMacro{\nolig*}
% Break a ligature without introducing a hyphenation opportunity.
@@ -1739,8 +2080,8 @@ end
% \end{synopsis}
%
% Inserting \cs{nolig*} disables a ligature at the given point by a kern. Set the size of the
-% kern\index{kerning>ligature} with \hyperref[item:ligaturekern]{|ligaturekern|} or override
-% this value with \meta{kerning} as thousandths of the current font's~em.
+% kern\index{kerning>ligature|userman} with \hyperref[item:ligaturekern]{\code{ligaturekern}} or
+% override this value with \meta{kerning} as thousandths of the current font's~em.
%
% \begin{usecases}
% \cs{nolig*} can be useful in headings, where additional hyphenation points are
@@ -1762,12 +2103,12 @@ end
% introduces a hyphenation opportunity with
% penalty~\hyperref[item:breakpenalty]{|breakpenalty|}.
%
-% \begin{important}[\packagename{hyperref} bookmarks]\index{hyperref=\packagename{hyperref} (package)}
+% \begin{important}[\packagename{hyperref} bookmarks]\index{hyperref=\packagename{hyperref} (package)|userman}
% If a \cs{nolig} --~whether starred or un-starred~-- occurs in an argument that is processed
% with package~\packagename{hyperref} for inclusion into the document's
-% \acronym{PDF}-bookmarks\index{PDF=\acronym{PDF}}\index{bookmark} an additional argument is
-% necessary to parse the macro. This argument either is \cs{relax} or~the empty
-% group~(\code{\{\}}).
+% \acronym{PDF}-bookmarks\index{PDF=\acronym{PDF}|userman}\index{bookmark|userman} an
+% additional argument is necessary to parse the macro. This argument either is \cs{relax}
+% or~the empty group~(\code{\{\}}).
%
% \begin{synopsis}
% \begin{tabbing}
@@ -1944,14 +2285,14 @@ end
%
%
% \subsection{Apply Extra Kerning}\label{sec:extra-kerning}
-% \index{kerning>extra}
+% \index{kerning>extra|userman}
%
% Package \packagename{typog} supplies two sets of macros to kern some of the punctuation
% symbols. One is for forward slashes the other, more extensive one, for hyphens.
%
%
% \subsubsection{Slash}\label{sec:slash-with-kern}
-% \index{kerning>forward slash}
+% \index{kerning>forward slash|userman}
%
% \DescribeMacro{\kernedslash}
% \DescribeMacro{\kernedslash*}
@@ -1980,7 +2321,7 @@ end
%
%
% \subsubsection{Hyphen}\label{sec:hyphen-with-kern}
-% \index{kerning>hyphen}
+% \index{kerning>hyphen|userman}
%
% \DescribeMacro{\kernedhyphen}
% \DescribeMacro{\kernedhyphen*}
@@ -2027,7 +2368,7 @@ end
%
%
% \subsection{Raise Selected Characters}\label{sec:raise-characters}
-% \index{raised character}
+% \index{raised character|userman}
%
% Usually all hyphens and dashes of a font are designed to join lowercase letters. This holds
% also true for most of our \cs{labelitem}\meta{N} markers, bullets, stars, and even fancy
@@ -2036,10 +2377,10 @@ end
% arises if |itemize|~list markers precede an uppercase letter, a lining numeral, or a big
% mathematical operator.
%
-% We introduce a set of macros for the most common cases that allow typsetting these characters
-% at a user definable, adjusted height above the baseline. Users can base their own
-% definitions of raised characters on their associated dimensions.\footnote{Also compare with
-% Ex.~12 in Ref.~\citenum{wermuth:2023} for an attempt to automate vertical alignment.}
+% We introduce a set of macros for the most common cases that typeset these characters at a
+% user definable, adjusted height above the baseline. Users can base their own definitions of
+% raised characters on their associated dimensions.\footnote{Also compare with Ex.~12 in
+% Ref.~\citenum{wermuth:2023} for an attempt to automate vertical alignment.}
%
% \begin{caution}
% The height adjustment disables a font's built-in kerning.
@@ -2051,7 +2392,7 @@ end
%
%
% \subsubsection{Capital Hyphen}\label{sec:capital-hyphen}
-% \index{raised character>hyphen}
+% \index{raised character>hyphen|userman}
%
% \DescribeMacro{\capitalhyphen}
% \DescribeMacro{\capitalhyphen*}
@@ -2081,7 +2422,7 @@ end
%
%
% \subsubsection{Capital Dash}\label{sec:capital-dash}
-% \index{raised character>en-dash}
+% \index{raised character>en-dash|userman}
%
% \DescribeMacro{\capitalendash}
% \DescribeMacro{\capitalendash*}
@@ -2127,7 +2468,7 @@ end
%
%
% \subsubsection{Number Dash (Figure Dash)}\label{sec:number-dash}
-% \index{raised character>number dash}
+% \index{raised character>number dash|userman}
%
% \DescribeMacro{\figuredash}
% \DescribeMacro{\figuredash*}
@@ -2152,49 +2493,63 @@ end
% The actual amount the en-dash gets raised in \cs{figuredash} is determined by
% \hyperref[item:raisefiguredash]{|raisefiguredash|}.
%
-% Values of .05em to .1em are typical for fonts that need this kind of correction and~.1em is a
-% good starting point. \Cref{tab:raisefiguredash} summarizes some findings.
+% Values of .05\,em to .1\,em are typical for fonts that need this kind of correction
+% and~.1\,em is a good starting point. \Cref{tab:raisefiguredash} summarizes some findings.
%
% \begin{table}
% \centering
% \caption[Suggested raise amounts for \cs{figuredash}]%
-% {Suggested values for raising the en-dash between lining numerals of some selected
-% fonts.}
+% {Suggested values for raising \cs{figuredash}, which actually is an en-dash,
+% between lining numerals of some selected fonts in multiples of~1\,em.}
% \label{tab:raisefiguredash}
%
+% \newcommand*{\fbbmark}{\tablenotemark{\tablenotesymbol{1}}}
+%
% \begin{tabfigures}
-% \begin{tabular}{@{}l>{\RaggedRight}p{20em}@{}}
+% \begin{tabularx}{\linewidth}{@{}>{\RaggedRight}Xl@{}}
% \toprule
-% Raise & Font Name \\
-% em & \\
+% Font & Raise \\
% \midrule
-% 0 & Alegreya\index{font>Alegreya}, Arvo\index{font>Arvo},
-% Bitter\index{font>Bitter}, Clara\index{font>Clara},
-% \acronym{EB}~Garamond\index{font>EB Garamond=\acronym{EB} Garamond},
-% Gentium\index{font>Gentium},
-% Ibarra Real Nova\index{font>Ibarra Real Nova},
-% \acronym{Inria}~Serif\index{font>Inria Serif=\acronym{Inria} Serif},
-% Libertine\index{font>Libertine}, Libertinus\index{font>Libertinus},
-% Merriweather\index{font>Merriweather},
-% \acronym{PT}~Serif\index{font>PT Serif=\acronym{PT} Serif},
-% Roboto Slab\index{font>Roboto Slab}, Spectral\index{font>Spectral},
-% \acronym{STIX}\index{font>STIX=\acronym{STIX}}, and many more \\
-% .05 & fbb\index{font>fbb}, Source Serif Pro\index{font>Source Serif Pro} \\
-% .0667 & Libre Baskerville\index{font>Libre Baskerville},
-% Crimson Pro\index{font>Crimson Pro},
-% Erewhon\index{font>Erewhon}, Droid Serif\index{font>Droid Serif} \\
-% .1 & \acronym{GFS}~Artemisia\index{font>GFS Artemisia=\acronym{GFS} Artemisia},
-% Libre Caslon\index{font>Libre Caslon},
-% Coelacanth\index{font>Coelacanth}, Crimson Pro\index{font>Crimson Pro},
-% Crimson Text\index{font>Crimson Text},
-% \TeX{} Gyre~Pagella\index{font>TeX Gyre Pagella=\TeX{} Gyre Pagella},
-% Quattrocento\index{font>},
-% \acronym{TX}~Fonts\index{font>TX Fonts=\acronym{TX} Fonts},
-% \acronym{ADF}~Venturis\index{font>ADF Venturis=\acronym{ADF} Venturis},
-% and many more \\
+% Alegreya\detoxindex{font>typeface>Alegreya|userman}, Arvo\detoxindex{font>typeface>Arvo|userman},
+% Bitter\detoxindex{font>typeface>Bitter|userman}, Clara\detoxindex{font>typeface>Clara|userman},
+% \acronym{EB}~Garamond\detoxindex{font>typeface>EB Garamond=\acronym{EB} Garamond|userman},
+% Gentium\detoxindex{font>typeface>Gentium|userman},
+% Ibarra Real Nova\detoxindex{font>typeface>Ibarra Real Nova|userman},
+% \acronym{Inria}~Serif\detoxindex{font>typeface>Inria Serif=\acronym{Inria} Serif|userman},
+% Libertine\detoxindex{font>typeface>Libertine|userman},
+% Libertinus\detoxindex{font>typeface>Libertinus Serif|userman},
+% Merriweather\detoxindex{font>typeface>Merriweather|userman},
+% \acronym{PT}~Serif\detoxindex{font>typeface>PT Serif=\acronym{PT} Serif|userman},
+% Roboto Slab\detoxindex{font>typeface>Roboto Slab|userman},
+% Spectral\detoxindex{font>typeface>Spectral|userman},
+% \acronym{STIX}\detoxindex{font>typeface>STIX=\acronym{STIX}|userman}, and many more &
+% .0 \\
+% fbb\fbbmark\detoxindex{font>typeface>fbb|userman},
+% Source Serif Pro\detoxindex{font>typeface>Source Serif Pro|userman} &
+% .05 \\
+% Libre Baskerville\detoxindex{font>typeface>Libre Baskerville|userman},
+% Crimson Pro\detoxindex{font>typeface>Crimson Pro|userman},
+% Erewhon\detoxindex{font>typeface>Erewhon|userman},
+% Droid Serif\detoxindex{font>typeface>Droid Serif|userman} &
+% .0667 \\
+% \acronym{GFS}~Artemisia\detoxindex{font>typeface>GFS Artemisia=\acronym{GFS} Artemisia|userman},
+% Libre Caslon\detoxindex{font>typeface>Libre Caslon|userman},
+% Coelacanth\detoxindex{font>typeface>Coelacanth|userman},
+% Crimson Pro\detoxindex{font>typeface>Crimson Pro|userman},
+% Crimson Text\detoxindex{font>typeface>Crimson Text|userman},
+% \TeX{} Gyre~Pagella\detoxindex{font>typeface>TeX Gyre Pagella=\TeX{} Gyre Pagella|userman},
+% Quattrocento\detoxindex{font>typeface>Quattrocento|userman},
+% \acronym{TX}~Fonts\detoxindex{font>typeface>TX Fonts=\acronym{TX} Fonts|userman},
+% \acronym{ADF}~Venturis\detoxindex{font>typeface>ADF Venturis=\acronym{ADF} Venturis|userman},
+% and many more &
+% .1 \\
% \bottomrule
-% \end{tabular}
+% \end{tabularx}
% \end{tabfigures}
+%
+% \begin{tablenotes}
+% \fbbmark\enspace Free Bembo.
+% \end{tablenotes}
% \end{table}
%
% Other macros may be redefined with \cs{figuredash} for a consistent appearance of the copy,
@@ -2210,7 +2565,7 @@ end
%
% \subsubsection[Multiplication Sign]%
% {Multiplication Sign -- Times~\sample{\texttimes}}\label{sec:mult-sign}
-% \index{raised character>multiplication sign}
+% \index{raised character>multiplication sign|userman}
%
% \DescribeMacro{\capitaltimes}
% The \cs{capitaltimes}~macro is a variation of the
@@ -2232,17 +2587,19 @@ end
%
%
% \subsubsection{Guillemets}\label{sec:guillemets}
-% \index{raised character>guillemets}
+% \index{raised character>guillemets|userman}
%
% Another possible typographic problem this package addresses is that both sets --~single and
% double quotes~-- of guillemets may suffer from a too small distance to the baseline.
%
% For the implementation \packagename{typog} relies on the T1\footnote{Font
-% encoding~T1\index{font>encoding} can be forced via \cs{usepackage}|[T1]\{fontenc\}| in the
-% document preamble.}~font encoding not on package~\packagename{babel}.
+% encoding~T1\detoxindex{font>encoding|userman} can be forced via
+% \cs{usepackage}|[T1]\{fontenc\}| in the document preamble.}~font encoding not on
+% package~\packagename{babel}.
%
%
% \paragraph{Lowercase Versions.}
+%
% \DescribeMacro{\singleguillemetleft}
% \DescribeMacro{\singleguillemetright}
% \DescribeMacro{\doubleguillemetleft}
@@ -2280,33 +2637,34 @@ end
% or lining numerals is \cs{Singleguillemetleft} and \cs{Singleguillemetright} and
% \cs{Doubleguillemetleft} and \cs{doubleguillemetright}. Mnemonic: These macros start with an
% uppercase letter. Their height above the baseline is adjusted with
-% \hyperref[item:raisecapitalguillemets]{|raisecapitalguillemets|}. Values of .025em to .075em
-% are typical for fonts that need this kind of correction. \Cref{tab:raiseguillemets}
+% \hyperref[item:raisecapitalguillemets]{|raisecapitalguillemets|}. Values of .025\,em to
+% .075\,em are typical for fonts that need this kind of correction. \Cref{tab:raiseguillemets}
% summarizes some findings.
%
% \begin{table}
% \centering
% \caption[Suggested raise amounts for guillemets]%
-% {Suggested values for raising guillemets of some selected fonts.}
+% {Suggested values for raising guillemets of some selected fonts in multiples
+% of~1\,em.}
% \label{tab:raiseguillemets}
%
% \begin{tabfigures}
-% \begin{tabular}{@{}cc>{\RaggedRight}p{20em}@{}}
+% \def~{\hphantom{0}}
+% \begin{tabular}{@{}>{\RaggedRight}p{.5\textwidth}cc@{}}
% \toprule
-% \multicolumn{2}{@{}c}{Raise} & Font Name \\
-% Lowercase & Uppercase & \\
-% em & em & \\
+% Font & Uppercase & Lowercase \\
% \midrule
-% 0 & .05\hphantom{00} &
-% \acronym{EB}~Garamond\index{font>EB Garamond=\acronym{EB} Garamond},
-% Libertinus\index{font>Libertinus},
-% Merriweather\index{font>Merriweather}, and many more \\
-% .025 & .05\hphantom{00} & Gentium\index{font>Gentium} \\
-% .04\hphantom{0} & .0667 &
-% \acronym{ADF}~Baskervald\index{font>ADF Baskervald=\acronym{ADF} Baskervald} \\
-% .05\hphantom{0} & .0625 &
-% \acronym{GFS}~Artemisia\index{font>GFS Artemisia=\acronym{GFS} Artemisia},
-% \acronym{GFS}~Didot\index{font>GFS Didot=\acronym{GFS} Didot} \\
+% \acronym{EB} Garamond\detoxindex{font>typeface>EB Garamond=\acronym{EB} Garamond|userman},
+% Libertinus\index{font>typeface>Libertinus Serif|userman},
+% Merriweather\index{font>typeface>Merriweather|userman}, and many more &
+% .05~~ & .0~~ \\
+% Gentium\index{font>typeface>Gentium|userman} &
+% .05~~ & .025 \\
+% \acronym{GFS} Artemisia\detoxindex{font>typeface>GFS Artemisia=\acronym{GFS} Artemisia|userman},
+% \acronym{GFS} Didot\detoxindex{font>typeface>GFS Didot=\acronym{GFS} Didot|userman} &
+% .0625 & .05~ \\
+% \acronym{ADF} Baskervald\index{font>typeface>ADF Baskervald=\acronym{ADF} Baskervald|userman} &
+% .0667 & .04~ \\
% \bottomrule
% \end{tabular}
% \end{tabfigures}
@@ -2322,7 +2680,8 @@ end
% \cs{let}\cs{sq}=\cs{singlequotes}
% \end{codeexample}
%
-% and similar definitions for \cs{Singlequotes}, \cs{doublequotes}, and~\cs{Doublequotes}.
+% \noindent
+% and similar definitions for \cs{Singlequotes}, \cs{doublequotes}, and \cs{Doublequotes}.
%
% Users working according to the French typesetting conventions will want to add extra
% spacing between the guillemets and the macro argument already in these macros.
@@ -2334,7 +2693,7 @@ end
%
%
% \paragraph{Interaction with package~\packagename{csquotes}.}
-% \index{csquotes=\packagename{csquotes} (package)}
+% \index{csquotes=\packagename{csquotes} (package)|userman}
%
% The users of package~\packagename{csquotes}
% can hook up the guillemets as defined by \packagename{typog}
@@ -2367,21 +2726,374 @@ end
% \end{futuredirection}
%
%
+% \subsection[Vertically Adjust Label Items]
+% {Vertically Adjust Label Items of
+% Environment \code{itemize}}\label{sec:adjust-label-items}
+% \index{label items|userman}
+%
+% \begin{whittyquote}
+% Perfection of planned layout \\
+% is archieved only by institutions \\
+% on the point of collapse. \\
+% \capitalemdash*~\propername{Cyril Northcote Parkinson}
+% \end{whittyquote}
+%
+% \noindent
+% The symbols that \LaTeX{} uses to distinguish the items of |itemize|~lists do not always
+% align well in the vertical direction with the following text. Sometimes the label is too
+% low, especially if followed by an uppercase (initial) letter. In rare occasions the label is
+% placed too far above the baseline. If any label has been taken from a math-font vertical
+% alignment with the text font is almost purely accidental.\footnote{The exception being
+% mathematics typeset as text via package~\packagename{mathastext}~\cite{package:mathastext}.}
+%
+% \hangindent=2\parindent
+% \hangafter=-3
+% \noindent
+% \DescribeMacro{\uppercaseadjustlabelitems}
+% \DescribeMacro{\lowercaseadjustlabelitems}
+% \DescribeMacro{\noadjustlabelitems}
+% \sinceversion{All three since v0.4}
+% Package~\packagename{typog} lets the user vertically align the \code{itemize}~labels for
+% subsequent uppercase or lowercase letters, where the designations~\singlequotes{uppercase}
+% and \singlequotes{lowercase} are just names for two four-tuples of lengths (technically:
+% |dimen|s) to shift the labels up or down.
+%
+% \begin{synopsis}
+% \label{syn:lowercaseadjustlabelitems}
+% \label{syn:noadjustlabelitems}
+% \label{syn:uppercaseadjustlabelitems}
+% \cs{uppercaseadjustlabelitems}\marg{levels-to-adjust} \\
+% \cs{lowercaseadjustlabelitems}\marg{levels-to-adjust} \\
+% \cs{noadjustlabelitems}\marg{levels-to-adjust}
+% \end{synopsis}
+%
+% Apply uppercase adjustment, lowercase adjustment or no adjustment to the labels in
+% |itemize|~environments at the \meta{levels-to-adjust}. The adjustment values themselves,
+% this is the vertical shifts are configured with
+% options~\hyperref[item:uppercaselabelitemadjustments]{\code{uppercaselabelitemadjustments}}
+% and~\hyperref[item:lowercaselabelitemadjustments]{\code{lowercaselabelitemadjustments}}.
+% They are doubly font dependent: on the one hand the font where the label itself comes from
+% and on the other hand the font of the copy.
+%
+% The argument \meta{levels-to-adjust} is a --~possibly empty~-- comma separated list of the
+% levels the respective adjustments are to be applied to. The levels themselves are given as
+% \emph{decimal} numbers, this is, 1, 2, 3, 4 or the special value~\sample{*} which stands for
+% all four levels. An empty argument list also has a special meaning. Used within any
+% \code{itemize}~environment it automatically applies the adjustment to exactly this level.
+%
+% \begin{example}
+% \begin{typogsetup}{uppercaselabelitemadjustments={.1em}}
+% With the flexible syntax the following settings are possible.
+%
+% \renewcommand*{\labelitemi}{{\small$\rhd$}}%
+% \begin{itemize}\uppercaseadjustlabelitems{}
+% \item Correct all |itemize| labels for uppercase letters.
+%
+% \begin{codeexample}
+% \cs{uppercaseadjustlabelitems}\{*\}
+% \end{codeexample}
+%
+% \item Adjust nesting levels~1, 2, and~3 for uppercase letters and level~4 for lowercase.
+%
+% \begin{codeexample}
+% \cs{lowercaseadjustlabelitems}\{4\} \\
+% \cs{uppercaseadjustlabelitems}\{2,3,1\}
+% \end{codeexample}
+%
+% \item Within an |itemize|~environment just turn off any correction for this level whatever
+% it may be.
+%
+% \begin{codeexample}
+% \cs{begin}\{itemize\} \\
+% \cs{noadjustlabelitems}\{\} \\
+% \cs{item} \dots \\
+% \cs{end}\{itemize\}
+% \end{codeexample}
+%
+% \item Override \cs{labelitemi} with a right-pointing triangle and adjust its vertical
+% position inside of a \code{typogsetup}~environment.
+%
+% \begin{codeexample}
+% \cs{begin}\=\{typogsetup\} \\
+% \>\{uppercaselabelitemadjustments=\{.1em\}\} \\
+% 12\=34567890 \kill
+% \>\cs{renewcommand*}\{\cs{labelitemi}\}\{\{\cs{small}\$\cs{rhd}\$\}\} \\
+% \>\cs{begin}\{itemize\} \\
+% \>\cs{uppercaseadjustlabelitems}\{\} \\
+% \>\cs{item} \dots \\
+% \>\cs{end}\{itemize\} \\
+% \cs{end}\{typogsetup\}
+% \end{codeexample}
+% \end{itemize}
+%
+% The observant reader will have noticed that the itemized list in this emphasized section
+% uses the code of the last example.
+% \end{typogsetup}
+% \end{example}
+%
+%
+% \paragraph{Setup.}
+%
+% To assist the user in finding the desired adjustments of the labels of \packagename{typog}
+% provides macros that help setting up
+% \hyperref[item:lowercaselabelitemadjustments]{\code{lowercaselabelitemadjustments}} and
+% \hyperref[item:uppercaselabelitemadjustments]{\code{uppercaselabelitemadjustments}}. Their
+% intended uses are in the draft phase of a document or in non-printed sections of the text.
+%
+% The macros assume a \singlequotes{correct} height that they derive from the measured height
+% of a sample text scaled by a user-defined factor, which defaults
+% to~\nativetextfraction{1}{2}.\footnote{The default factor of~.5 hearkens back to
+% \propername{Strizver's} suggestion that \doublequotes{[b]ullets should be centered on either
+% the cap~height or x-height of the neighboring text, \dots.}~\cite[p.~220]{strizver:2014}.}
+% The then correct height gets indicated by a thin horizontal line parallel to the baseline.
+% Thus, at sufficiently high magnifications it is possible to judge whether a label gets
+% typeset too high or too low with respect to this reference line.
+%
+% \begin{note}
+% The macros use the actual height of a given sample~text. So, a lowercase~sample should not
+% contain any letters with ascenders.
+%
+% Swashes whether upper- or lowercase always need special attention.
+% \end{note}
+%
+% \DescribeMacro{\typogadjuststairs}
+% \sinceversion{Since v0.4}
+% To get a quick overview how the four \code{itemize}~labels align vertically
+% \cs{typogadjuststairs} draws them at user-defined steps, typically
+% \nativetextfraction{1}{4}\,pt, \nativetextfraction{1}{3}\,pt, or
+% \nativetextfraction{1}{2}\,pt. It ignores any existing adjustments and in that way can be
+% utilized as a first configuration step or, for a small \meta{step-size} and a high
+% \meta{number-of-steps}, for an easy refinement.
+%
+% \begin{synopsis}
+% \begin{tabbing}
+% \label{syn:typogadjuststairs}
+% \cs{typogadjuststairs}\=[\meta{scale-factor}=.5] \\
+% \>\marg{step-size}\marg{number-of-steps} \\
+% \>\marg{sample}
+% \end{tabbing}
+% \end{synopsis}
+%
+% Generate stairs of \meta{number-of-steps} vertically shifted label items; use the next odd
+% number, if \meta{number-of-steps} is even. Draw a reference hairline at \meta{scale-factor}
+% times the height of \meta{sample}, where \meta{scale-factor} defaults to~.5. The stairs
+% start at a vertical shift of
+% \begin{gather*}
+% -\frac{\text{\meta{number-of-steps}} - 1}{2} \times \text{\meta{step-size}} \\
+% \intertext{and repeat up}
+% \frac{\text{\meta{number-of-steps}} - 1}{2} \times \text{\meta{step-size}}.
+% \end{gather*}
+%
+% \noindent
+% The central step --~which is always surrounded by a bit more space~-- shows the neutral
+% alignment, this is~0\,pt. \cs{typogadjuststairs} never prints the contents of \meta{sample}.
+%
+% \begin{example}
+% Play ball!
+%
+% \begin{center}
+% \typogadjuststairs{.25pt}{9}{ABC}
+% \end{center}
+%
+% This is the result of \code{\string\typogadjuststairs\{.25pt\}\{9\}\{ABC\}} with the
+% document's definitions of \cs{labelitem}\meta{N}. The fifth label~item in each line is the
+% uncorrected one.
+% \end{example}
+%
+% \hangindent=2\parindent
+% \hangafter=-3
+% \noindent
+% \DescribeMacro{\typoguppercaseadjustcheck}
+% \DescribeMacro{\typoglowercaseadjustcheck}
+% \sinceversion{Both since v0.4}
+% For a quick and easy check how the four label items vertically align \emph{as configured} use
+% \code{\string\typoguppercaseadjustcheck} and \code{\string\typoglowercaseadjustcheck}.
+% Experienced users with a keen eye for type can apply these macros even in the initial setup.
+% An accurate determination of \code{uppercaselabelitemadjustments} and
+% \code{lowercaselabelitemadjustments} is preferably done at a high magnification (400\% to
+% 600\% on a 100\,dpi screen) with a representative sample of initial letters.
+%
+% \begin{synopsis}
+% \label{syn:typoguppercaseadjustcheck}
+% \label{syn:typoglowercaseadjustcheck}
+% \cs{typoguppercaseadjustcheck}[\meta{scale-factor}=.5]\marg{sample} \\
+% \cs{typoglowercaseadjustcheck}[\meta{scale-factor}=.5]\marg{sample}
+% \end{synopsis}
+%
+% Typeset all four label items adjusted for uppercase or for lowercase with an indicator line
+% at \meta{scale-factor} times the \meta{sample}'s actual height. The default
+% \meta{scale-factor} is~.5. Both macros refer to the currently configured values for the
+% uppercase or lowercase adjustments but they are independent of any settings done with
+% \cs{uppercaseadjustlabelitems}, \cs{lowercaseadjustlabelitems}, or \cs{noadjustlabelitems}.
+% Again, \meta{sample} does not get printed.
+%
+% \begin{example}
+% Uppercase check with \code{\string\typoguppercaseadjustcheck\{ABCXYZ\}}:
+%
+% \centering
+% ABGH\typoguppercaseadjustcheck{ABCXYZ}QWYZ,\enspace
+% 0123\typoguppercaseadjustcheck{ABCXYZ}4567
+%
+% \justifying
+% \noindent
+% and similarly for lowercase: \code{\string\typoglowercaseadjustcheck\{acexyz\}}:
+%
+% \centering
+% ace\typoglowercaseadjustcheck{acexyz}mno,\enspace
+% bdf\typoglowercaseadjustcheck{acexyz}gjy,\enspace
+% {\proportionaloldstylefigures 0123\typoglowercaseadjustcheck{acexyz}4567,}
+%
+% \justifying
+% \noindent
+% where we have bracketed the macro calls with selected uppercase and lowercase letters, or
+% suitable figures.
+% \end{example}
+%
+% In \Cref{tab:labelitemadjustvalues} on \cpageref{tab:labelitemadjustvalues} we collected some
+% suggestions for adjustment values in the \emph{default} case when the label items are not
+% redefined by the user and expand like
+%
+% \begin{center}
+% \def\arraystretch{1}
+% \begin{tabular}{@{}l@{\enspace\(\vdash\)\enspace}l@{}}
+% \cs{labelitemi} & \dumpmacro{\labelitemi}, \\
+% \cs{labelitemii} & \dumpmacro{\labelitemii}, \\
+% \cs{labelitemiii} & \dumpmacro{\labelitemiii}, and \\
+% \cs{labelitemiv} & \dumpmacro{\labelitemiv}.
+% \end{tabular}
+% \end{center}
+%
+% \noindent
+% They display as \sample{\labelitemi}, \sample{\labelitemii}, \sample{\labelitemiii}, and
+% \sample{\labelitemiv}, respectively.
+%
+% \begin{table}
+% \centering
+% \caption[Label item adjustment suggestions]%
+% {Some suggested values for the vertical adjustments of label items. The table
+% assumes that the default definitions (of class~\packagename{article}) for
+% \cs{labelitem}\meta{N} are in effect. The \code{itemize}-list levels~\code{i},
+% \code{ii}, \code{iii} and~\code{iv} are referred to with \(N = 1, 2, 3, 4\). All
+% lengths are given as printer points~(pt) and refer to a document font size of
+% \formatdimen*{10pt}.}
+% \label{tab:labelitemadjustvalues}
+%
+% \newcommand*{\etbbmark}{\tablenotemark{\tablenotesymbol{1}}}
+% \newcommand*{\xchartermark}{\tablenotemark{\tablenotesymbol{2}}}
+% \newcommand*{\kpmark}{\tablenotemark{\tablenotesymbol{3}}}
+% \newcommand*{\palladiomark}{\tablenotemark{\tablenotesymbol{4}}}
+% \newcommand*{\utopiamark}{\tablenotemark{\tablenotesymbol{5}}}
+%
+% \begin{tabfigures}
+% \def~{\hphantom{0}}
+% \def\mc#1{#1~~~}
+% \noindent
+% \makebox[0pt]{%
+% \begin{tabular}{@{}l*{4}{r}@{\qquad}*{4}{r}@{}}
+% \toprule
+% Font Name &
+% \multicolumn{4}{c}{Uppercase Adjustments} & \multicolumn{4}{c@{}}{Lowercase Adjustments} \\
+% {} &
+% \mc{1} & \mc{2} & \mc{3} & \mc{4} &
+% \mc{1} & \mc{2} & \mc{3} & \mc{4} \\
+% \midrule
+% \acronym{ADF} Accanthis\detoxindex{font>typeface>ADF Venturis=\acronym{ADF} Accanthis|userman} &
+% .5~~ & 1.5~~ & \textminus1.5~~ & 1.125 &
+% \textminus.75~ & .25~ & \textminus2.75~ & \textminus.125 \\
+% \acronym{ADF} Venturis\detoxindex{font>typeface>ADF Venturis=\acronym{ADF} Venturis|userman} &
+% .0~~ & 1.0~~ & .75~ & 1.0~~ &
+% \textminus.75~ & .0~~ & \textminus.25~ & .0~~ \\
+% \acronym{CM} Roman\detoxindex{font>typeface>CM Roman=\acronym{CM} Roman|userman} &
+% 1.0~~ & .75~ & 1.0~~ & 1.0~~ &
+% \textminus.25~ & \textminus.5~~ & \textminus.25~ & \textminus.25~ \\
+% Domitian\detoxindex{font>typeface>Domitian|userman} &
+% .25~ & 1.0~~ & .75~ & 1.0~~ &
+% \textminus1.0~~ & .0~~ & \textminus.325 & \textminus.25~ \\
+% Cochineal\detoxindex{font>typeface>Cochineal|userman} &
+% 1.0~~ & 1.0~~ & 1.0~~ & 1.0~~ &
+% \textminus.125 & \textminus.125 & \textminus.125 & \textminus.125 \\
+% \acronym{EB} Garamond\detoxindex{font>typeface>EB Garamond=\acronym{EB} Garamond|userman} &
+% .0~~ & 1.25~ & \textminus.875 & 1.325 &
+% \textminus1.5~~ & .0~~ & \textminus2.0~~ & 0.125 \\
+% etbb\etbbmark\detoxindex{font>typeface>etbb|userman} &
+% .25~ & 1.0~~ & 1.125 & .5~~ &
+% \textminus1.0~~ & \textminus.0~~ & \textminus.0~~ & \textminus.5~~ \\
+% Extended Charter\xchartermark\detoxindex{font>typeface>Extended Charter|userman} &
+% \textminus.25~ & 1.0~~ & 1.75 & .125 &
+% \textminus1.125 & .0~~ & .875 & \textminus.875 \\
+% Gentium\detoxindex{font>typeface>Gentium|userman} &
+% .0~~ & .75~ & .0~~ & .0~~ &
+% \textminus.5~~ & \textminus.25~ & \textminus.75~ & \textminus1.0~~ \\
+% \acronym{GFS} Bodoni\detoxindex{font>typeface>GFS Bodoni=\acronym{GFS} Bodoni|userman} &
+% \textminus.25~ & .625 & 1.0~~ & 1.125 &
+% \textminus1.25~ & \textminus.625 & \textminus.5~~ & \textminus.25~ \\
+% \acronym{GFS} Didot\detoxindex{font>typeface>GFS Didot=\acronym{GFS} Didot|userman} &
+% \textminus1.5~~ & .75~ & 1.0~~ & 1.25~ &
+% \textminus2.75~ & \textminus.25~ & \textminus.25~ & .25~ \\
+% \acronym{IBM} Plex Serif\detoxindex{font>typeface>IBM Plex Serif=\acronym{IBM} Plex Serif|userman} &
+% .5~~ & .5~~ & \textminus1.325 & .5~~ &
+% \textminus.25~ & \textminus.25~ & \textminus2.25~ & \textminus.25~ \\
+% \acronym{KP} Serif\kpmark\detoxindex{font>typeface>KP Serif=\acronym{KP} Serif|userman} &
+% .0~~ & 1.0~~ & 1.25~ & .75~ &
+% \textminus1.0~~ & .0~~ & .0~~ & \textminus.5~~ \\
+% Libertinus Serif\detoxindex{font>typeface>Libertinus Serif|userman} &
+% 1.0~~ & .75~ & 1.125 & .75~ &
+% .0~~ & \textminus.325 & .0~~ & \textminus.25~ \\
+% \acronym{ML} Modern\detoxindex{font>typeface>ML Modern=\acronym{ML} Modern|userman} &
+% 1.25~ & .75~ & 1.0~~ & .125 &
+% .0~~ & \textminus.5~~ & \textminus.25~ & \textminus.125 \\
+% Source Serif Pro\detoxindex{font>typeface>Source Serif Pro|userman} &
+% .125 & .75~ & \textminus1.0~~ & .125 &
+% \textminus.75~ & .0~~ & \textminus2.0~~ & \textminus.75~ \\
+% Spectral\detoxindex{font>typeface>Spectral|userman} &
+% .625 & .625 & \textminus1.5~~ & .625 &
+% \textminus.25~ & \textminus.25~ & \textminus2.5~~ & \textminus.25~ \\
+% \acronym{STIX}\detoxindex{font>typeface>STIX=\acronym{STIX}|userman} &
+% 1.0~~ & 1.0~~ & .75~ & 1.0~~ &
+% .0~~ & .0~~ & .0~~ & .0~~ \\
+% \acronym{URW} Palladio\palladiomark\detoxindex{font>typeface>URW Palladio=\acronym{URW} Palladio|userman} &
+% .25~ & 1.125 & 1.0~~ & 1.0~~ &
+% \textminus1.0~~ & \textminus.125 & \textminus.125 & \textminus.125 \\
+% Utopia Regular\utopiamark\detoxindex{font>typeface>Utopia Regular|userman} &
+% .0~~ & 1.0~~ & .75~ & 1.0~~ &
+% \textminus.75~ & .0~~ & \textminus.25~ & .0~~ \\
+% \bottomrule
+% \end{tabular}}
+% \end{tabfigures}
+%
+% \begin{tablenotes}
+% \etbbmark\enspace \propername{Edward Tufte}'s Bembo in package~\packagename{ETbb}. Note
+% the two initial capital letters in the filename.
+%
+% \xchartermark\enspace Found in package \packagename{XCharter}. Again note the two
+% initial capitals in the filename.
+%
+% \kpmark\enspace In package \packagename{kpfonts}.
+%
+% \palladiomark\enspace Contained in package~\packagename{mathpazo}.
+%
+% \utopiamark\enspace Utopia is available through package~\packagename{fourier} or
+% package~\packagename{mathdesign}. In the latter case pass option~\code{adobe-utopia} to
+% the package.
+% \end{tablenotes}
+% \end{table}
+%
+%
% \subsection[Align Last Line]
% {Align Last Line of a Paragraph}\label{sec:align-last-line}
-% \index{paragraph>align last line}
+% \index{paragraph>align last line|userman}
%
% The usual algorithms of \LaTeX{} typeset the last line of a paragraph flush with the left
% margin unless |center|, |raggedleft| or |Centering|, |FlushRight|
% (package~\packagename{ragged2e}~\cite{package:ragged2e}) are in effect. For an instructive
% discussion consult Ch.~17, \doublequotes{Paragraph End}, of Ref.~\citenum{eijkhout:2007}.
-% The following environments allow to adjust the last lines of paragraphs in different ways.
+% The following environments adjust the last lines of paragraphs in different ways.
%
% \DescribeEnv{lastlineraggedleftpar}
% \DescribeEnv{lastlineflushrightpar}
-% The environment |lastlineraggedleftpar|\index{paragraph>align last line>flush right} adjusts
-% the various skips such that the last lines of the paragraphs gets typeset flush with the
-% right margin.
+% The environment \code{lastlineraggedleftpar}\index{paragraph>align last line>flush right|userman}
+% adjusts the various skips such that the last lines of the paragraphs gets typeset flush with
+% the right margin.
%
% \begin{synopsis}\label{syn:lastlineraggedleftpar}\label{syn:lastlineflushrightpar}
% \cs{begin}|{lastlineraggedleftpar}| \\
@@ -2393,8 +3105,9 @@ end
% The name |lastlineflushrightpar| is an alias for~\code{lastlineraggedleftpar}.
%
% \DescribeEnv{lastlinecenteredpar}
-% Center\index{paragraph>align last line>centered} the last lines of the paragraphs enclosed by
-% this environment.\footnote{Also compare the approach taken in Ref.~\citenum{wermuth:2018}.}
+% Center\index{paragraph>align last line>centered|userman} the last lines of the paragraphs
+% enclosed by this environment.\footnote{Also compare the approach taken in
+% Ref.~\citenum{wermuth:2018}.}
%
% \begin{synopsis}\label{syn:lastlinecenteredpar}
% \cs{begin}|{lastlinecenteredpar}| \\
@@ -2412,7 +3125,7 @@ end
% \needtocspace
% \subsection[Fill Last Line]
% {Fill Last Line of a Paragraph}\label{sec:fill-last-line}
-% \index{paragraph>fill last line}
+% \index{paragraph>fill last line|userman}
%
% The problem of when and how to \singlequotes{fill} the last line of a paragraph is quite
% intricate. We first define the problem then we proceed to general purpose functions and we
@@ -2421,7 +3134,7 @@ end
%
% \subsubsection{Problem Definition}
%
-% Depending on the value of \cs{parindent}, either zero or nonzero, there may be the desire to
+% Depending on the value of \cs{parindent}, either zero or nonzero, there may be the need to
% control the length of the last line of a paragraph.
%
% \iffalse
@@ -2562,7 +3275,7 @@ end
% \includegraphics{crooked-paragraphs-3.mps}
% \end{center}
% \end{minipage}\footnotetext{Package~\packagename{parskip} defines \cs{parskip}
-% as \mbox{6pt plus 2pt} for a base size of~10pt.}
+% as \mbox{6\,pt plus 2\,pt} for a base size of~10\,pt.}
%
% \medskip
% \begin{minipage}{\linewidth}
@@ -2576,7 +3289,7 @@ end
%
% The suggestions for the gap-width vary from two~em to twice the width of a
% \singlequotes{typical} \cs{parindent}\footnote{% For example, \LaTeX's class
-% \packagename{article} uses a \cs{parindent} of~25pt.} for the gap~\cite{carlisle:1996}.
+% \packagename{article} uses a \cs{parindent} of~25\,pt.} for the gap~\cite{carlisle:1996}.
% \end{enumerate}
%
% \begin{tip}
@@ -2598,9 +3311,10 @@ end
% them should have certain advantageous properties.
%
% \begin{itemize}
-% \item Technically, the paragraphs need to contain enough glue (see
-% e.\,g.~\cref{sec:sloppy-paragraphs}) to achieve a low badness such that the desired
-% paragraph end is deemed feasible by \TeX.
+% \item Technically, the paragraphs need to contain enough glue (see for example
+% \cref{sec:sloppy-paragraphs}) to achieve a low badness such that the desired paragraph
+% end is deemed feasible by \TeX.\shiftedmarginnote{This \code{itemize} list demonstrates
+% vertically adjusted label items (\cref{sec:adjust-label-items}).}
%
% \item Aesthetically, the paragraphs must be long enough to absorb the change in last-line
% fill level otherwise their gray-values visibly deviate from the
@@ -2618,18 +3332,21 @@ end
% \item End-of-paragraph intervention.\label{enum:end-of-paragraph-intervention}
%
% \begin{enumerate}[notopsep]
-% \item Tie~\sample{\texttt{\char126}}\label{enum:tie-last-words}\index{paragraph>fill last line>tie}
+% \item Tie~\sample{\texttt{\char126}}\label{enum:tie-last-words}
+% \index{paragraph>fill last line>tie|userman}
%
% Tie the last words.
%
% The problem with the tie may be a hyphenation of one of the words that participates in
% the tie. The next item avoids this disadvantage.
%
-% \item \cs{mbox}\label{enum:mbox-last-words}\index{paragraph>fill last line>mbox=\cs{mbox}}
+% \item \cs{mbox}\label{enum:mbox-last-words}
+% \index{paragraph>fill last line>mbox=\cs{mbox}|userman}
%
% Join the last words or inline equation at the end of the paragraph with an~\cs{mbox}.
%
-% \item \cs{linebreak}\label{enum:linebreak}\index{paragraph>fill last line>linebreak=\cs{linebreak}}
+% \item \cs{linebreak}\label{enum:linebreak}
+% \index{paragraph>fill last line>linebreak=\cs{linebreak}|userman}
%
% Add a \cs{linebreak} to the back part of the paragraph (approximately where the
% \cs{mbox} of item~\ref{enum:mbox-last-words} would start) in a way that the last line
@@ -2646,7 +3363,8 @@ end
% \item Uniform paragraph change.\label{enum:uniform-paragraph-change}
%
% \begin{enumerate}[notopsep]
-% \item Vary spacing.\label{enum:vary-spacing}\index{font>spacing}
+% \item Vary spacing.\label{enum:vary-spacing}
+% \index{font>spacing|userman}
%
% Modify the inter-word spacing, for example, with the macros introduced in
% \cref{sec:looser-tighter-spacing}.
@@ -2655,13 +3373,15 @@ end
% or~\hyperref[syn:tightspacing]{|tightspacing|}.
% Increase the spacing~\meta{level} until the last line gets the desired length.
%
-% \item Vary font tracking.\label{enum:vary-font-tracking}\index{font>tracking}
+% \item Vary font tracking.\label{enum:vary-font-tracking}
+% \index{font>tracking|userman}
%
% Enclose the paragraph in a \hyperref[syn:setfonttracking]{\code{setfonttracking}}~group.
% See \cref{sec:tracking-control}. Increase or decrease the tracking in steps of
% \nativetextfraction{1}{1000}\,em until the last line looks good.
%
-% \item Vary font expansion.\label{enum:vary-font-expansion}\index{font>expansion}
+% \item Vary font expansion.\label{enum:vary-font-expansion}
+% \index{font>expansion|userman}
%
% Enclose the paragraph in a \hyperref[syn:setfontexpand]{\code{setfontexpand}}~group. See
% \cref{sec:font-expansion-control}.
@@ -2688,15 +3408,17 @@ end
%
% \DescribeEnv{shortenpar}
% \DescribeEnv{prolongpar}
-% The two environments |shortenpar|\index{paragraph>fill last
-% line>shortenpar=\code{shortenpar}} and |prolongpar|\index{paragraph>fill last
-% line>prolongpar=\code{prolongpar}} can be employed in quite general situations when a
+% The two environments
+% \code{shortenpar}\index{paragraph>fill last line>shortenpar=\code{shortenpar}|userman}
+% and \code{prolongpar}\index{paragraph>fill last line>prolongpar=\code{prolongpar}|userman}
+% can be employed in quite general situations when a
% paragraph should be typeset one line longer or shorter, e.\,g., to avoid a
-% widow~line\footnote{The last line of a paragraph becomes a \singlequotes{widow}\index{forlorn
-% line>widow} (ger.~\foreignphrase{Hurenkind}) if it starts the following page or column.} or
-% a club~line\footnote{The first line of a paragraph is called
-% \singlequotes{club}\index{forlorn line>club} or~\singlequotes{orphan}\index{forlorn
-% line>orphan} (ger.~\foreignphrase{Schusterjunge}) if it appears at the bottom of the page or
+% widow~line\footnote{The last line of a paragraph becomes a
+% \singlequotes{widow}\detoxindex{forlorn line>widow|userman} (ger.~\foreignphrase{Hurenkind}) if it
+% starts the following page or column.} or a club~line\footnote{The first line of a paragraph
+% is called \singlequotes{club}\detoxindex{forlorn line>club|userman}
+% or~\singlequotes{orphan}\detoxindex{forlorn line>orphan|userman}
+% (ger.~\foreignphrase{Schusterjunge}) if it appears at the bottom of the page or
% column.}~[\citenum{knuth:1986}, p.~104 and~\citenum{mittelbach:2018c}]. (See also
% \cref{sec:vtie-paragraph} for special functions to avoid clubs or widows.)
% \singlequotes{Accidentally}, they also change the length of the last line of the paragraph.
@@ -2730,7 +3452,8 @@ end
% parameter change.
%
% \DescribeEnv{covernextindentpar}
-% Environment |covernextindentpar|\index{paragraph>fill last line>covernextindentpar=\code{covernextindentpar}}
+% Environment \code{covernextindentpar}%
+% \index{paragraph>fill last line>covernextindentpar=\code{covernextindentpar}|userman}
% can be helpful for \hyperref[item:o1]{case~O1}, i.\,e., a too short last line.
%
% \begin{synopsis}\label{syn:covernextindentpar}
@@ -2747,9 +3470,10 @@ end
% (if \(\cs{parindent} = 0\)), or \meta{dim} if called with an optional argument.
%
% \DescribeEnv{openlastlinepar}
-% The next environment, |openlastlinepar|,\index{paragraph>fill last
-% line>openlastlinepar=\code{openlastlinepar}} takes care of \hyperref[item:o2]{case~O2},
-% i.\,e., a last line in a paragraph that is almost full or completely filled.
+% The next environment, \code{openlastlinepar},%
+% \index{paragraph>fill last line>openlastlinepar=\code{openlastlinepar}|userman}
+% takes care of \hyperref[item:o2]{case~O2}, i.\,e., a last line in a paragraph that is almost
+% full or completely filled.
%
% \begin{synopsis}\label{syn:openlastlinepar}
% \cs{begin}|{openlastlinepar}|\oarg{dim} \\
@@ -2769,13 +3493,15 @@ end
% last line is avoided, but the result may be of \hyperref[item:o1]{type~O1} nonetheless.
%
%
+% \toccontinuesonnextpage
% \needtocspace
% \Needspace{150pt}
-% \subsection{Spacing}\label{sec:spacing-control}\index{font>spacing}
+% \subsection{Spacing}\label{sec:spacing-control}
+% \index{font>spacing|userman}
%
% \begin{whittyquote}
-% 90~\% of design is typography. \\
-% And the other 90~\% is whitespace. \\
+% 90\% of design is typography. \\
+% And the other 90\% is whitespace. \\
% \capitalemdash*~\propername{Jeffrey Zeldman}
% \end{whittyquote}
%
@@ -2785,7 +3511,9 @@ end
% \cref{sec:microtype-frontend}.
%
%
-% \subsubsection[Looser\kernedslash Tighter]{Looser or Tighter Spacing}\label{sec:looser-tighter-spacing}\index{font>spacing>loose}\index{font>spacing>tight}
+% \subsubsection[Looser\kernedslash Tighter]{Looser or Tighter Spacing}\label{sec:looser-tighter-spacing}
+% \index{font>spacing>loose|userman}
+% \index{font>spacing>tight|userman}
%
%
% \begin{whittyquote}
@@ -2822,7 +3550,7 @@ end
%
% \begin{SCtable}[10]
% \caption[Spacing changes made by \code{loosespacing}]%
-% {Adjustments made by environment |loosespacing| to \cs{spaceskip}.
+% {Adjustments made by environment \code{loosespacing} to \cs{spaceskip}.
% The mapping of \meta{level} to the exact skip definitions are
% \(1 \mapsto \formatskip{1.05}{.5}{.1}\),
% \(2 \mapsto \formatskip{1.1}{.5}{.1}\),
@@ -2836,7 +3564,7 @@ end
% \def~{\hphantom{0}}%
% \begin{tabular}{@{}ccl@{}}
% \toprule
-% \meta{level} & Adjustment & Comment \\
+% \meta{level} & Adjustment & Note \\
% {} & \% & \\
% \midrule
% 0 & n/a & neutral \\
@@ -2861,29 +3589,29 @@ end
% \cref{tab:tightspacing}.
%
% \begin{SCtable}[10]
+% \def~{\hphantom{0}}
% \caption[Spacing changes made by \code{tightspacing}]%
-% {Adjustments made by environment |tightspacing| to \cs{spaceskip}.
+% {Adjustments made by environment \code{tightspacing} to \cs{spaceskip}.
% The mapping of \meta{level} to the exact skip definitions are
-% \(1 \mapsto \formatskip{.9875}{.0125}{.5\hphantom{000}}\)\!,
-% \(2 \mapsto \formatskip{.975}{.025}{.5\hphantom{00}}\)\!,
-% \(3 \mapsto \formatskip{.95}{.05}{.5\hphantom{0}}\)\!, and
+% \(1 \mapsto \formatskip{.9875}{.0125}{.5~~~}\)\!,
+% \(2 \mapsto \formatskip{.975}{.025}{.5~~}\)\!,
+% \(3 \mapsto \formatskip{.95}{.05}{.5~}\)\!, and
% \(\ge 4 \mapsto \formatskip{.9}{.1}{.5}\),
% where all factors scale with \cs{dimen2},
% the current font's space-width.}
% \label{tab:tightspacing}
%
% \begin{tabfigures}
-% \def~{\hphantom{0}}%
% \begin{tabular}{@{}ccl@{}}
% \toprule
-% \meta{level} & Adjustment & Comment \\
+% \meta{level} & Adjustment & Note \\
% {} & \% & \\
% \midrule
% 0 & n/a & neutral \\
-% 1 & ~{-}1.25 & default \\
-% 2 & ~{-}2.5~ & \\
-% 3 & ~{-}5\hphantom{.00} & \\
-% \(\ge\)\:4 & -10\hphantom{.00} & \\
+% 1 & ~\textminus 1.25 & default \\
+% 2 & ~\textminus 2.5~ & \\
+% 3 & ~\textminus 5\hphantom{.}~~ & \\
+% \(\ge\)\:4 & \textminus 10\hphantom{.}~~ & \\
% \bottomrule
% \end{tabular}
% \end{tabfigures}
@@ -2902,7 +3630,8 @@ end
% \end{usecases}
%
%
-% \subsubsection{Wide Space}\label{sec:wide-space}\index{wide space}
+% \subsubsection{Wide Space}\label{sec:wide-space}
+% \index{wide space|userman}
%
% The \cs{widespace} macro and its companion \cs{narrowspace} derive their appearances from
% several of the current font's \cs{fontdimen}\meta{number}s. \TeX{} addresses the latter by
@@ -2914,10 +3643,11 @@ end
%
% \begin{SCtable}
% \caption[\cs{fontdimen}\meta{number} parameters]
-% {The first column~\sample{\#} states the index of the \cs{fontdimen} parameter:
-% \meta{number}. Column~2 presents short descriptions of the
-% \cs{fontdimen}\meta{number} parameters. As examples, the values for the current
-% font are shown in column~3; they are normalized to the quad-size.\bottomstrut}
+% {All \TeX{} font parameters normalized to the font's quad-size. The first
+% column~\sample{\#} states the index of the \cs{fontdimen} parameter:
+% \meta{number}. Column~2 presents short descriptions of
+% \cs{fontdimen}\meta{number}. As examples, the values for the current font are
+% shown in column~3.\bottomstrut}
% \label{tab:fontdimen}
%
% \begin{tabfigures}
@@ -2931,7 +3661,6 @@ end
% \begin{tabular}{@{}lll@{}}
% \toprule
% \# & Description & Value \\
-% {} & & \multicolumn{1}{c}{\%} \\
% \midrule
% 1 & Slant per 1\,pt height & ~~\relativefontdimen1\topstrut \\
% 2 & Interword space width & ~\relativefontdimen2 \\
@@ -2990,7 +3719,8 @@ end
% \end{usecase}
%
%
-% \subsubsection{Narrow Space}\label{sec:narrow-space}\index{narrow space}
+% \subsubsection{Narrow Space}\label{sec:narrow-space}
+% \index{narrow space|userman}
%
% \DescribeMacro{\narrowspace}
% \DescribeMacro{\narrowspace*}
@@ -3033,25 +3763,25 @@ end
% \centering
% \caption[Comparison of some space sizes]
% {Exemplary comparison of standard \cs{space} versus \cs{narrowspace} and
-% \cs{widespace}. All values are relative to the size of the current font's quad
-% size. \cs{narrowspace} and \cs{widespace} use the package's defaults.~\visualpar
-% The upper values in the Width-column for \cs{narrowspace}, and \cs{widespace}
-% refer to the \(\cs{fontdimen7} \not= 0\) case and the lower ones to the
-% \(\cs{fontdimen7} = 0\) code-path.}
+% \cs{widespace}. All values are relative to the size of the current font's
+% quad-size and shown as a percentage of it. \cs{narrowspace} and \cs{widespace}
+% use the package's defaults.~\visualpar The upper values in the
+% \singlequotes{Width}~column for \cs{narrowspace} and \cs{widespace} refer to the
+% \(\cs{fontdimen7} \not= 0\) case and the lower ones to the \(\cs{fontdimen7} = 0\)
+% code-path.}
% \label{tab:space-sizes}
%
% \begin{tabfigures}
-% \def~{\hphantom{0}}%
+% \def~{\hphantom{0}}
% \ExplSyntaxOn
% \def\relativedimen#1{\fp_eval:n {round (1000 * (#1) / \the\fontdimen6\font) / 10}}
% \def\relativefontdimen#1{\relativedimen{\the\fontdimen#1\font}}
% \ExplSyntaxOff
% \def\nrows{1.75}
%
-% \begin{tabular}{@{}llll@{}}
+% \begin{tabular}{@{}l*{3}{r}@{}}
% \toprule
-% Name & Width & Stretch & Shrink \\
-% {} & \% & \% & \% \\
+% Macro & Width & Stretch & Shrink \\
% \midrule
% \multirow{\nrows}{*}{\cs{narrowspace}} &
% \relativedimen{\the\fontdimen2\font - \narrowspacestrength * \the\fontdimen7\font} &
@@ -3071,7 +3801,7 @@ end
%
%
% \subsection{\packagename{Microtype} Front\capitalhyphen End}\label{sec:microtype-frontend}
-% \index{microtype=\packagename{microtype} (package)}
+% \index{microtype=\packagename{microtype} (package)|userman}
%
% The functionalities are just front-ends of selected macros in
% package~\packagename{microtype} -- welcome syntactic sugar.
@@ -3091,7 +3821,8 @@ end
% \end{important}
%
%
-% \subsubsection{Tracking}\label{sec:tracking-control}\index{font>tracking}
+% \subsubsection{Tracking}\label{sec:tracking-control}
+% \index{font>tracking|userman}
%
% \begin{caution}
% The tracking changes may interfere with implicit changes of tracking declared with
@@ -3136,7 +3867,7 @@ end
% \end{codeexample}
%
% If the argument of option~\code{trackingttspacing} is omitted the outer spacing defaults to
-% \makeatletter\mbox{\typog@trackingttspacing}\makeatother.
+% \makeatletter\mbox{\typog@config@trackingttspacing}\makeatother.
%
% \begin{usecases}
% Nudge line breaks or hyphenation points.~\visualpar Avoid clashes of descenders and
@@ -3145,7 +3876,8 @@ end
% \end{usecases}
%
%
-% \subsubsection{Font Expansion}\label{sec:font-expansion-control}\index{font>expansion}
+% \subsubsection{Font Expansion}\label{sec:font-expansion-control}
+% \index{font>expansion|userman}
%
% \DescribeEnv{setfontshrink}
% \DescribeEnv{setfontstretch}
@@ -3153,10 +3885,10 @@ end
% component, i.\,e., shrinkability and stretchability, respectively.
%
% \begin{synopsis}\label{syn:setfontshrink}\label{syn:setfontstretch}
-% \cs{begin}|{setfontshrink}|\marg{level}
+% \cs{begin}|{setfontshrink}|\oarg{level}
% \dots{}
% \cs{end}|{setfontshrink}| \\
-% \cs{begin}|{setfontstretch}|\marg{level}
+% \cs{begin}|{setfontstretch}|\oarg{level}
% \dots{}
% \cs{end}|{setfontstretch}|
% \end{synopsis}
@@ -3165,20 +3897,20 @@ end
% summarize the values for |stretch| and |shrink| in these environments.
%
% \begin{SCtable}
-% \caption[Shrink values of \code{setfontshrink}]%
+% \caption[Shrink values of \code{setfontshrink}]
% {\slightlysloppy[2] Preconfigured values for |shrink| inside of
-% environment~\code{setfontshrink}. Note that all |stretch| values are zero, so the fonts
-% only can shrink.}
+% environment~\code{setfontshrink} as \nativetextfraction{1}{1000}\,em. Note that all
+% |stretch| values are zero, so the fonts only can shrink.}
% \label{tab:setfontshrink-values}
%
% \begin{tabfigures}
+% \def~{\hphantom{0}}
% \begin{tabular}{@{}cccl@{}}
% \toprule
-% \meta{level} & |stretch| & |shrink| & Comment \\
-% {} & \nativetextfraction{1}{1000}\,em & \nativetextfraction{1}{1000}\,em & \\
+% \meta{level} & |stretch| & |shrink| & Note \\
% \midrule
% 0 & n/a & n/a & no operation \\
-% 1 & 0 & \hphantom{0}\makeatletter\typog@shrink@i\makeatother & default \\
+% 1 & 0 & ~\makeatletter\typog@shrink@i\makeatother & default \\
% 2 & 0 & \makeatletter\typog@shrink@ii\makeatother & \\
% 3 & 0 & \makeatletter\typog@shrink@iii\makeatother & \\
% \bottomrule
@@ -3188,20 +3920,20 @@ end
%
% \begin{SCtable}
% \centering
-% \caption[Stretch values of \code{setfontstretch}]%
+% \caption[Stretch values of \code{setfontstretch}]
% {\slightlysloppy[2] Preconfigured values for |stretch| inside of
-% environment~\code{setfontstretch}. Note that all |shrink| values are zero, so the fonts
-% only can stretch.}
+% environment~\code{setfontstretch} as \nativetextfraction{1}{1000}\,em. Note that all
+% |shrink| values are zero, so the fonts only can stretch.}
% \label{tab:setfontstretch-values}
%
% \begin{tabfigures}
+% \def~{\hphantom{0}}
% \begin{tabular}{@{}cccl@{}}
% \toprule
% \meta{level} & |stretch| & |shrink| \\
-% {} & \nativetextfraction{1}{1000}\,em & \nativetextfraction{1}{1000}\,em & \\
% \midrule
% 0 & n/a & n/a & no operation \\
-% 1 & \hphantom{0}\makeatletter\typog@stretch@i\makeatother & 0 & default \\
+% 1 & ~\makeatletter\typog@stretch@i\makeatother & 0 & default \\
% 2 & \makeatletter\typog@stretch@ii\makeatother & 0 & \\
% 3 & \makeatletter\typog@stretch@iii\makeatother & 0 & \\
% \bottomrule
@@ -3224,7 +3956,7 @@ end
% Manipulate both, |stretch| and |shrink|~values at the same time.
%
% \begin{synopsis}\label{syn:setfontexpand}
-% \cs{begin}|{setfontexpand}|\marg{level}
+% \cs{begin}|{setfontexpand}|\oarg{level}
% \dots{}
% \cs{end}|{setfontexpand}|
% \end{synopsis}
@@ -3232,20 +3964,20 @@ end
% \Cref{tab:setfontexpand-values} gives an overview of the values associated with \meta{level}.
%
% \begin{SCtable}
-% \caption[Shrink and stretch values of \code{setfontexpand}]%
+% \caption[Shrink and stretch values of \code{setfontexpand}]
% {\slightlysloppy[2] Preconfigured values for |shrink| and |stretch| inside of
-% environment~\code{setfontexpand}. Note that both |shrink| and |stretch| values are
-% nonzero, so the fonts can shrink or expand.}
+% environment~\code{setfontexpand} as \nativetextfraction{1}{1000}\,em. Note that both
+% |shrink| and |stretch| values are nonzero, so the fonts can shrink or expand.}
% \label{tab:setfontexpand-values}
%
% \begin{tabfigures}
+% \def~{\hphantom{0}}
% \begin{tabular}{@{}cccl@{}}
% \toprule
-% \meta{level} & |stretch| & |shrink| & Comment \\
-% {} & \nativetextfraction{1}{1000}\,em & \nativetextfraction{1}{1000}\,em & \\
+% \meta{level} & |stretch| & |shrink| & Note \\
% \midrule
% 0 & n/a & n/a & no operation \\
-% 1 & \hphantom{0}\makeatletter\typog@stretch@i\makeatother & \hphantom{0}\makeatletter\typog@stretch@i\makeatother & default \\
+% 1 & ~\makeatletter\typog@stretch@i\makeatother & ~\makeatletter\typog@stretch@i\makeatother & default \\
% 2 & \makeatletter\typog@stretch@ii\makeatother & \makeatletter\typog@stretch@ii\makeatother & \\
% 3 & \makeatletter\typog@stretch@iii\makeatother & \makeatletter\typog@stretch@iii\makeatother & \\
% \bottomrule
@@ -3302,7 +4034,8 @@ end
% \end{usecases}
%
%
-% \subsubsection{Character Protrusion}\label{sec:protrusion}\index{font>protrusion}
+% \subsubsection{Character Protrusion}\label{sec:protrusion}
+% \index{font>protrusion|userman}
%
% \DescribeEnv{nocharprotrusion}
% Disable the \packagename{microtype} feature~\singlequotes{protrusion} inside of the
@@ -3320,8 +4053,8 @@ end
% \end{usecases}
%
%
-% \FloatBarrier
-% \subsection{Sloppy Paragraphs}\label{sec:sloppy-paragraphs}\index{paragraph>sloppy}
+% \subsection{Sloppy Paragraphs}\label{sec:sloppy-paragraphs}
+% \index{paragraph>sloppy|userman}
%
% Experienced \LaTeX{} users know that \cs{sloppy} is more of a problem by itself and not
% really a viable solution of the \doublequotes{overfull~box} syndrome.
@@ -3357,21 +4090,22 @@ end
%
% \begin{suspendshortverb}
% \begin{tabfigures}
+% \def~{\hphantom{0}}
% \begin{tabular}{@{}ccccl@{}}
% \toprule
-% \meta{sloppiness} & \cs{toler-} & \cs{hfuzz} & \cs{emergency-} & Comment \\
+% \meta{sloppiness} & \cs{toler-} & \cs{hfuzz} & \cs{emergency-} & Note \\
% {} & \code{ance} & \cs{vfuzz} & \code{stretch}~\(G\) & \\
% {} & & pt & em & \\
% \midrule
-% 0 & \hphantom{0}200\hphantom{\tolerancemark} & .1\hphantom{0} & 0\hphantom{.000\scaledmark} & \TeX: \verb+\fussy+ \\
-% 1 & \hphantom{0}330\tolerancemark & .15 & \hphantom{0}.375\scaledmark & default \\
-% 2 & \hphantom{0}530\tolerancemark & .2\hphantom{0} & \hphantom{0}.75\scaledmark\hphantom{0} & \\
-% 3 & \hphantom{0}870\tolerancemark & .25 & 1.125\scaledmark & \\
-% 4 & 1410\tolerancemark & .3\hphantom{0} & 1.5\scaledmark\hphantom{00} & \\
+% 0 & ~200\hphantom{\tolerancemark} & .1~ & 0\hphantom{.000\scaledmark} & \TeX: \verb+\fussy+ \\
+% 1 & ~330\tolerancemark & .15 & ~.375\scaledmark & default \\
+% 2 & ~530\tolerancemark & .2~ & ~.75\scaledmark~ & \\
+% 3 & ~870\tolerancemark & .25 & 1.125\scaledmark & \\
+% 4 & 1410\tolerancemark & .3~ & 1.5\scaledmark~~ & \\
% 5 & 2310\tolerancemark & .35 & 1.875\scaledmark & \\
-% 6 & 3760\tolerancemark & .4\hphantom{0} & 2.25\scaledmark\hphantom{0} & \\
+% 6 & 3760\tolerancemark & .4~ & 2.25\scaledmark~ & \\
% 7 & 6130\tolerancemark & .45 & 2.625\scaledmark & \\
-% \(\ge\)\:8 & 9999\hphantom{\tolerancemark} & .5\hphantom{0} & 3\hphantom{.000\scaledmark} & \TeX: \verb+\sloppy+ \\
+% \(\ge\)\:8 & 9999\hphantom{\tolerancemark} & .5~ & 3\hphantom{.000\scaledmark} & \TeX: \verb+\sloppy+ \\
% \bottomrule
% \end{tabular}
% \end{tabfigures}
@@ -3403,8 +4137,8 @@ end
% \end{usecases}
%
%
-% \FloatBarrier
-% \subsection{Vertically Partially-Tied Paragraphs}\label{sec:vtie-paragraph}\index{paragraph>vertically tied}
+% \subsection{Vertically Partially-Tied Paragraphs}\label{sec:vtie-paragraph}
+% \index{paragraph>vertically tied|userman}
%
% \LaTeX{} provides several macros and environments to tie material vertically~-- most
% prominently |samepage| and |minipage|.\footnote{A valuable complement to these is
@@ -3421,7 +4155,7 @@ end
%
% \DescribeMacro{\vtietop}
% \DescribeEnv{vtietoppar}
-% Avoid a club\index{forlorn line>club} line in each partial paragraph.
+% Avoid a club\index{forlorn line>club|userman} line in each partial paragraph.
%
% \begin{synopsis}\label{syn:vtietop}\label{syn:vtietoppar}
% \cs{vtietop}\oarg{number-of-lines} \\[\smallskipamount]
@@ -3436,16 +4170,17 @@ end
%
% \begin{usecases}
% String together the first paragraph right after a sectioning command.~\visualpar Tie the
-% first line of an itemized, enumerated, or a description list\index{list} with the paragraph
-% following~\cs{item}.
+% first line of an itemized, enumerated, or a description list\index{list|userman} with the
+% paragraph following~\cs{item}.
% \end{usecases}
%
% \noindent
% \DescribeMacro{\splicevtietop}
-% Inside of a \code{list} a one-off solution simply concatenates \cs{item}[\dots]\cs{vtietop}
-% to fuse the line with the \code{item\#}, the representation of the \code{enum\#}, or the
-% description term with the first paragraph. For a systematic use prefer \cs{splicevtietop}
-% and apply it as the first thing in the \code{list}~body.
+% Inside of a \code{list} a one-off solution simply concatenates
+% \cs{item}[\dots\itcorr{-5}]\cs{vtietop} to fuse the line with the \code{item\#}, the
+% representation of the \code{enum\#}, or the description term with the first paragraph. For a
+% systematic use prefer \cs{splicevtietop} and apply it as the first thing in the
+% \code{list}~body.
%
% \begin{synopsis}\label{syn:splicevtietop}
% \cs{splicevtietop}\oarg{number-of-lines}
@@ -3492,7 +4227,7 @@ end
% \noindent
% \DescribeMacro{\vtiebot}
% \DescribeEnv{vtiebotpar}
-% Avoid a widow\index{forlorn line>widow} line in each partial paragraph.
+% Avoid a widow\index{forlorn line>widow|userman} line in each partial paragraph.
%
% \begin{synopsis}\label{syn:vtiebot}\label{syn:vtiebotpar}
% \cs{vtiebot}\oarg{number-of-lines} \\[\smallskipamount]
@@ -3507,7 +4242,8 @@ end
%
% \noindent
% \DescribeEnv{vtiebotdisp}
-% Avoid a display widow\index{forlorn line>display widow} line in each partial paragraph.
+% Avoid a display widow\index{forlorn line>display widow|userman} line in each partial
+% paragraph.
%
% \begin{synopsis}\label{syn:vtiebotdisp}\label{syn:vtiebotdisppar}
% \cs{begin}|vtiebotdisp|\oarg{before-disp-number-of-lines} \\
@@ -3579,15 +4315,16 @@ end
%
% \begin{typoginspectpar}{partial-paragraphs}
% \setlength{\smoothraggedrightragwidth}{8pt}
-% \paragraph{Partial Paragraphs And Counting Lines.} The top-of-paragraph ties, \cs{vtietop}
-% and \code{vtietoppar} count \meta{number\hyp{}of\hyp{}lines} from the beginning of every
-% partial paragraph. Each displayed math in the paragraph resets the count. The
-% bottom-paragraph ties, \cs{vtiebot}, \code{vtiebotpar}, \cs{vtiebotdisp}, and
-% \code{vtiebotdisppar} count backward from the end of each partial paragraph. Again, each
-% displayed math in the paragraph resets the count. According to \TeX's rules, a displayed
-% math formula always is counted as \emph{three} lines no matter its contents.
-% \Cref{tab:partial-paragraph-line-counts} summarizes these rules with the help of an
-% example.
+% \paragraph{Partial Paragraphs And Counting Lines.}
+%
+% The top-of-paragraph ties, \cs{vtietop} and \code{vtietoppar} count
+% \meta{number\hyp{}of\hyp{}lines} from the beginning of every partial paragraph. Each
+% displayed math in the paragraph resets the count. The bottom-paragraph ties, \cs{vtiebot},
+% \code{vtiebotpar}, \cs{vtiebotdisp}, and \code{vtiebotdisppar} count backward from the end
+% of each partial paragraph. Again, each displayed math in the paragraph resets the count.
+% According to \TeX's rules, a displayed math formula always is counted as \emph{three} lines
+% no matter its contents. \Cref{tab:partial-paragraph-line-counts} summarizes these rules
+% with the help of an example.
% \end{typoginspectpar}
%
% \begin{table}
@@ -3655,11 +4392,11 @@ end
% \end{usecases}
%
%
-% \FloatBarrier
-% \subsection{Breakable Displayed Equations}\label{sec:breakable-display}\index{page break}
+% \subsection{Breakable Displayed Equations}\label{sec:breakable-display}
+% \index{page break|userman}
%
% \DescribeEnv{breakabledisplay}
-% Package~\packagename{amsmath}\index{amsmath=\packagename{amsmath} (package)} offers
+% Package~\packagename{amsmath}\index{amsmath=\packagename{amsmath} (package)|userman} offers
% \cs{allowdisplaybreaks} to render displayed equations breakable at each of their lines.
% Environment~\cs{breakabledisplay} is a wrapper around it which limits the macro's influence
% to the environment. Furthermore, the default \meta{level} of \code{breakabledisplay} is~3
@@ -3688,16 +4425,17 @@ end
% \newcommand*{\clubmark}{\tablenotemark{\dag}}
%
% \begin{tabfigures}
+% \def~{\hphantom{0}}
% \begin{tabular}{@{}ccl@{}}
% \toprule
-% \meta{level} & \cs{interdisplay-} & Comment \\
+% \meta{level} & \cs{interdisplay-} & Note \\
% {} & \code{linepenalty} & \\
% \midrule
% 0 & 10000 & no operation \\
-% 1 & \hphantom{0}9999 & \\
-% 2 & \hphantom{0}6999 & \\
-% 3 & \hphantom{0}2999 & default \\
-% 4 & \hphantom{0000}0\rlap{\clubmark} & \\
+% 1 & ~9999 & \\
+% 2 & ~6999 & \\
+% 3 & ~2999 & default \\
+% 4 & ~~~~0\rlap{\clubmark} & \\
% \bottomrule
% \end{tabular}
% \end{tabfigures}
@@ -3738,7 +4476,6 @@ end
% \end{usecases}
%
%
-% \FloatBarrier
% \clearpage
% \subsection{\packagename{Setspace} Front-End}\label{sec:setspace-frontend}
%
@@ -3747,11 +4484,11 @@ end
% interface of \cs{setstretch} though is unintuitive as it asks for an obscure
% factor.\fontsizeinfo{setspacefontsizeinfo}\marginnote{In the copy of this document gets
% typeset with~\setspacefontsizeinfo*.} The \LaTeX{} user however prefers to keep her eyes on
-% the ball and set the line skip\index{baseline skip} directly (e.\,g.~12.5pt) or the lines'
-% leading\index{leading} to a length or percentage of the font's size.\footnote{To find out
-% about the current font's size and the \cs{baselineskip} in printable form check out
-% \cref{sec:font-information} on \cpageref{sec:font-information}.} This is where the following
-% macros go to bat.
+% the ball and set the line skip\index{baseline skip|userman} directly (e.\,g.~12.5\,pt) or the
+% lines' leading\index{leading|userman} to a length or percentage of the font's
+% size.\footnote{To find out about the current font's size and the \cs{baselineskip} in
+% printable form check out \cref{sec:font-information} on \cpageref{sec:font-information}.}
+% This is where the following macros go to bat.
%
% \begin{important}
% All macros that are introduced in this section rely on macro~\cs{setstretch}. So
@@ -3785,24 +4522,25 @@ end
% will be used in the computation.
%
% \begin{example}
-% Let us assume we want to lighten the gray value of the copy a tad with a \cs{baselineskip}
-% increased (from e.g.~12pt) to~12.5pt. To this end we say:
+% \begin{itemize}[notopsep]
+% \item Let us assume we want to lighten the gray value of the copy a tad with the
+% \cs{baselineskip} increased from 12\,pt to~12.5\,pt. To this end we say:
%
% \begin{codeexample}
-% \cs{setbaselineskip}\{12.5pt\}\specialsectionendhere
+% \cs{setbaselineskip}\{12.5\,pt\}
% \end{codeexample}
-% \end{example}
%
-% \begin{tip}
-% To set the \cs{baselineskip} relative to the current value use
+% \item In a generic part of the document, where the actual \cs{baselineskip} is not known,
+% we can refer to its current value and rescale it:
%
% \begin{codeexample}
-% \cs{setbaselineskip}\{\meta{factor}\cs{baselineskip}\}
+% \cs{setbaselineskip}\{\cs{baselineskip} * 12.5 / 12\}
% \end{codeexample}
%
-% \noindent
-% where \meta{factor} is a floating-point number.
-% \end{tip}
+% Care should be taken if code like the above is implicitly or explicitly
+% repeated, because it results in a geometric series.\specialsectionendhere
+% \end{itemize}
+% \end{example}
%
% \DescribeMacro{\resetbaselineskip}
% \sinceversion{Since v0.3}
@@ -3816,6 +4554,9 @@ end
% notion of what is a single-line \cs{baselineskip}.
%
%
+% \hangindent=2\parindent
+% \hangafter=-2
+% \noindent
% \DescribeMacro{\setbaselineskippercentage}
% \sinceversion{Since v0.3}
% Set the \cs{baselineskip} with a relative value calculated as a percentage of the current
@@ -3828,14 +4569,14 @@ end
% Set \cs{baselineskip} to \(\cs{typogfontsize} \times \meta{baselineskip-percentage} / 100\).
%
% \begin{example}
-% We modify the previous example and assume a font design size of 10pt, but now write
+% We modify the previous example and assume a font design size of 10\,pt, but now write
%
% \begin{codeexample}
% \cs{setbaselineskippercentage}\{125\}
% \end{codeexample}
%
% \noindent
-% which sets \cs{baselineskip} to \(10\text{pt} \times 125 / 100 = 12.5\text{pt}\).
+% which sets \cs{baselineskip} to \(10\text{\,pt} \times 125 / 100 = 12.5\text{\,pt}\).
% \end{example}
%
% \DescribeMacro{\setleading}
@@ -3850,7 +4591,7 @@ end
% \meta{leading} can be negative, e.\,g.~to set solid.
%
% \begin{example}
-% Another solution of the previous example, given a font design size of 10pt is to write
+% Another solution of the previous example, given a font design size of 10\,pt is to write
%
% \begin{codeexample}
% \cs{setleading}\{2.5pt\}
@@ -3872,14 +4613,14 @@ end
% Set \cs{baselineskip} to \(\cs{typogfontsize} \times (1 + \meta{leading-percentage} / 100)\).
%
% \begin{example}
-% We modify the previous example and again assume a font design size of 10pt, but now write
+% We modify the previous example and again assume a font design size of 10\,pt, but now write
%
% \begin{codeexample}
% \cs{setleadingpercentage}\{25\}
% \end{codeexample}
%
% \noindent
-% which sets \cs{baselineskip} to \(10\text{pt} \times (1 + 25 / 100) = 12.5\text{pt}\).
+% which sets \cs{baselineskip} to \(10\text{\,pt} \times (1 + 25 / 100) = 12.5\text{\,pt}\).
% \end{example}
%
% \smallskip
@@ -3949,9 +4690,9 @@ end
% \end{tip}
%
%
-% \FloatBarrier
% \clearpage
-% \subsection{Smooth Ragged}\label{sec:smooth-ragged}\index{ragged right}
+% \subsection{Smooth Ragged}\label{sec:smooth-ragged}
+% \index{ragged right|userman}
%
% \begin{whittyquote}
% The attention someone gives \\
@@ -3964,25 +4705,30 @@ end
% \noindent
% Package \packagename{typog} implements a novel approach to typeset ragged paragraphs.
% Instead of setting the glue inside of a paragraph to zero and letting the line-widths vary
-% accordingly~\cite{wermuth:2020} we prescribe the line-widths with the \cs{parshape}~primitive
-% and leave alone the stretchability or shrinkability of the glue.
+% accordingly~\cite{wermuth:2020} we prescribe the line-widths with \TeX's
+% \cs{parshape}~primitive and leave alone the stretchability or shrinkability of the glue.
%
-% \begin{slightlysloppypar}
-% \hangindent=5.5em\hangafter=-5
+% \begin{caution}
+% None of the following environments work inside of lists.
+% \end{caution}
+%
+% \begin{slightlysloppypar}[2]
+% \hangindent=3.5\parindent
+% \hangafter=-6
+% \noindent
% \DescribeEnv{smoothraggedrightshapetriplet}
% \DescribeEnv{smoothraggedrightshapequintuplet}
% \DescribeEnv{smoothraggedrightshapeseptuplet}
-% We introduce three environments that allow for setting three, five, or seven different
-% line-lengths: \code{smoothraggedrightshapetriplet},
-% \code{smoothraggedrightshapequintuplet}, and \code{smoothraggedrightshapeseptuplet}; they
-% work for paragraphs up to
+% We introduce three environments that set three, five, or seven different line-lengths
+% (which \TeX{} of course will repeat for paragraphs longer than three, five, or seven
+% lines): \code{smoothraggedrightshapetriplet}, \code{smoothraggedrightshapequintuplet}, and
+% \code{smoothraggedrightshapeseptuplet}; they work for paragraph lengths up to
% \makeatletter
-% \typog@triplet@max@lines, \typog@quintuplet@max@lines, or \typog@septuplet@max@lines~lines,
+% \typog@triplet@max@lines, \typog@quintuplet@max@lines, and \typog@septuplet@max@lines~lines,
% \makeatother
% respectively.
% \end{slightlysloppypar}
%
-%
% \begin{maxipage}
% \begin{synopsis}\label{syn:smoothraggedrightshapetriplet}\label{syn:smoothraggedrightshapequintuplet}\label{syn:smoothraggedrightshapeseptuplet}
% \cs{begin}|{smoothraggedrightshapetriplet}|\oarg{option\dots}\marg{width1}\marg{width2}\marg{width3} \\
@@ -4224,23 +4970,47 @@ end
% The default generator is |triplet|.
%
% \item[\cs{smoothraggedrightleftskip}=\meta{dim}]
-% Value for |leftskip| to pass to the generator. Default:~0pt.
+% Value for |leftskip| to pass to the generator. Default:~0\,pt.
%
% \item[\cs{smoothraggedrightparindent}=\meta{dim}]
-% Value for |parindent| to pass to the generator. Default:~0pt.
+% Value for |parindent| to pass to the generator. Default:~0\,pt.
%
% \item[\cs{smoothraggedrightragwidth}=\meta{dim}]
-% Value for the width of the ragged right margin. Default:~2em.
+% Value for the width of the ragged right margin. Default:~2\,em.
% \end{description}
%
+% \begin{samepage}
+% \def\smoothraggedrightgenerator{quintuplet}
+% \setlength{\smoothraggedrightragwidth}{7pt}
+% \begin{nocharprotrusion}\fussy
+% \begin{smoothraggedright}
+% Throughout this manual we have demonstrated how \code{smoothraggedright} environments
+% work for very narrow columns namely inside of the document's margins: all maginal notes
+% were typeset inside of \cs{smoothraggedright} environments (quintuplet generator,
+% 1.5\,em rag width, at footnote~size in addition using
+% environments~\code{slightlysloppy} and \code{loosespacing}). Here, we utilize it with
+% the \smoothraggedrightgenerator~generator and a rag-width of only
+% \the\smoothraggedrightragwidth{} in a paragraph that is \the\linewidth~wide and
+% averages around twelve words per line. There is much more glue to adapt to the
+% line-ends and thus the desired rag is archieved far easier. The sloppyness is minimal,
+% this is, \cs{fussy} is in effect and character protrusion into the margins is switched
+% off. A limitation of the current implementation is that it is ineffective inside of lists.
+% Therefore, this paragraph has not been wrapped inside of an \singlequotes{example}, because
+% all examples are coded as lists.
+% \end{smoothraggedright}
+% \end{nocharprotrusion}
+% \end{samepage}
+%
% \begin{usecases}
% Replacement for \cs{RaggedRight}~\cite{package:ragged2e}.~\visualpar Design alternative for
% fully justified paragraphs if used with a small rag-width.
% \end{usecases}
%
-%
-% \addtocontents{toc}{\par\bigskip\hfill\textit{Table of Contents continued on next page.}}
-% \addtocontents{toc}{\clearpage}
+% \begin{futuredirection}
+% Translate the code to \packagename{l3galley} which is part of the
+% \packagename{l3experimental}~package~\cite{package:l3experimental}. Galley~code is
+% supposed to work inside of lists, too.
+% \end{futuredirection}
%
%
% \sectionfinish
@@ -4250,7 +5020,7 @@ end
% Many other packages help with getting better output from \LaTeX. Here is a list --~in
% alphabetical order~-- of the ones the author considers particularly valuable.
%
-% \sbox{\listlabelbox}{\packagename{microtype}}
+% \sbox{\listlabelbox}{\packagename{enumitem}}
% \begin{description}[font=\normalfont, labelsep*=1em, labelwidth=\wd\listlabelbox, leftmargin=!]
% \item[\packagename{enumitem}]
% Flexible and consistent definition of all basic \LaTeX-list types plus inline
@@ -4268,6 +5038,9 @@ end
% Fine control of spacing, tracking, sidebearings, character protrusion into the margins,
% font expansion, and much more~\cite{package:microtype}.
%
+% See \Cref{sec:microtype-frontend} for a front-end to \packagename{microtype} offered by
+% this package.
+%
% See also \propername{Khirevich's} discussion~\cite{khirevich:2013}.
%
% \item[\packagename{ragged2e}]
@@ -4275,8 +5048,11 @@ end
% |center|~\cite{package:ragged2e}.
%
% \item[\packagename{setspace}]
-% Consistently set the document's line-spacing, i.\,e.,
+% Consistently set the line-spacing of a document, i.\,e., control
% \cs{baselineskip}~\cite{package:setspace}.
+%
+% See \Cref{sec:setspace-frontend} for a front-end to \packagename{setspace} offered by this
+% package.
% \end{description}
%
%
@@ -4291,26 +5067,34 @@ end
%
% The companion program \programname{typog-grep} for analyzing the output of
% \hyperref[syn:typoginspect]{\code{typoginspect}} and
-% \hyperref[syn:typoginspect]{\code{typoginspectpar}} has its own manual page. We reproduce
-% it here for completeness of the documentation.
+% \hyperref[syn:typoginspect]{\code{typoginspectpar}} has its own manual page. We
+% reproduce it here for completeness of the documentation.
%
+% \addtocontents{toc}{\protect\setcounter{tocdepth}{0}}
% \begin{suspendshortverb}
% \setlength{\parindent}{0pt}
% \setlength{\parskip}{6.0pt plus 2.0pt minus .5pt}
-% \input typog-grep
+% \input{typog-grep.tex}
% \end{suspendshortverb}
+% \addtocontents{toc}{\protect\setcounter{tocdepth}{2}}
%
% \sectionfinish
% \clearpage
-% \phantomsection
-% \resetfancyhead
-% \addcontentsline{toc}{section}{Change History}
-% \PrintChanges
+% \begingroup
+% \setcounter{GlossaryColumns}{1}
+% \phantomsection
+% \label{sec:changes}
+% \resetfancyhead
+% \addtocontents{toc}{\bigskip}
+% \addcontentsline{toc}{section}{\numberline{}Change History}
+% \PrintChanges
+% \endgroup
%
% \sectionfinish
% \clearpage
% \phantomsection
-% \addcontentsline{toc}{section}{References}
+% \addtocontents{toc}{\medskip}
+% \addcontentsline{toc}{section}{\numberline{}References}
% \begin{RaggedRight}
% \begin{thebibliography}{88}
% \bibitem{abrahams:2020}
@@ -4354,6 +5138,12 @@ end
% 1998,
% \biburl{https://mirrors.ctan.org/systems/doc/etex/etex_man.pdf}.
%
+% \bibitem{package:mathastext}
+% \bibauthor{Burnol, Jean-François}.
+% \bibtitle{Package~\packagename{mathastext}}.
+% 2023,
+% \biburl{https://ctan.org/pkg/mathastext}.
+%
% \bibitem{carlisle:1996}
% \bibauthor{Carlisle, David}.
% \bibtitle{Russian Paragraph Shapes}.
@@ -4399,6 +5189,12 @@ end
% Addison Wesley, Reading\kernedslash MA,
% 1986.
%
+% \bibitem{package:l3experimental}
+% \bibauthor{The \LaTeX\ Project}.
+% \bibtitle{Package~\packagename{l3experimental}}.
+% 2024,
+% \biburl{https://ctan.org/pkg/l3experimental}.
+%
% \bibitem{package:layout}
% \bibauthor{McPherson, Kent}.
% \bibtitle{Package~\packagename{layout}}.
@@ -4450,6 +5246,13 @@ end
% TUGboat, 11(1), 69\figuredash85, 1990,
% \biburl{http://www.tug.org/TUGboat/Articles/tb11-1/tb27salomon.pdf}.
%
+% \bibitem{strizver:2014}
+% \bibauthor{Strizver, Ilene}.
+% \bibtitle{Type rules!: the designer's guide to professional typography},
+% 4\textsuperior{th}~ed.
+% John Wiley~\& Sons, Hoboken\kernedslash NJ,
+% 2014.
+%
% \bibitem{package:setspace}
% \bibauthor{Tobin, Geoffrey,} and \bibauthor{Robin Fairbairns}.
% \bibtitle{Package~\packagename{setspace}}.
@@ -4526,23 +5329,35 @@ end
% \end{RaggedRight}
%
% \sectionfinish
+%
+%
% \clearpage
-% \begin{RaggedRight}
+% \begingroup
% \setcounter{IndexColumns}{2}
% \setlength{\columnsep}{30pt}
% \label{sec:index}
% \phantomsection
-% \addcontentsline{toc}{section}{Index}
+% \addtocontents{toc}{\medskip}
+% \addcontentsline{toc}{section}{\numberline{}Index}
+% \raggedcolumns
+% \def\codeidx##1{\linenumberdecoration\textbf{##1}}
+% \def\main##1{\linenumberdecoration\underbar{\textbf{##1}}}
+% \def\usage##1{\textit{\textbf{##1}}}
% \PrintIndex
-% \end{RaggedRight}
+% \endgroup
% }
%
-%
% \sectionfinish
+%
+%
% \clearpage
% \appendix
% \section{Package Code}\label{sec:package-code}
-% \addtocontents{toc}{\begingroup\small}
+% \addtocontents{toc}{\protect\begin{list}{}{\leftmargin=\subsectiontocindent\parsep=0pt}}
+% \addtocontents{toc}{\protect\item}
+% \addtocontents{toc}{\RaggedRight}
+% \addtocontents{toc}{\small}
+% \addtocontents{toc}{\tocsquashedsubsections}
% \addtocontents{toc}{\protect\begin{multicols}{2}}
% \addtocontents{toc}{\protect\raggedcolumns}
%
@@ -4555,7 +5370,7 @@ end
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{typog}
- [2024/05/07 v0.3 TypoGraphic extensions]
+ [2024/07/08 v0.4 TypoGraphic extensions]
\RequirePackage{etoolbox}
\RequirePackage{everyhook}
@@ -4592,17 +5407,34 @@ end
% \end{macro}
%
% \begin{macro}{\typog@typeout}
+% Our information printer.
+% Just adds a prefix so that we can tease apart the \filesystem{log} later.
+%
+% \begin{macrocode}
+\newcommand*{\typog@typeout}[1]{\typeout{typog: #1}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@typeout}
% Our debug information printer.
%
% \begin{macrocode}
-\newcommand*{\typog@typeout}[1]
- {\iftypog@debug
- \typeout{typog: #1}%
- \fi}
+\newcommand*{\typog@debug@typeout}[1]{\iftypog@debug\typog@typeout{#1}\fi}
% \end{macrocode}
% \end{macro}
%
+% \begin{tcounter}{typog@@iteration}
+% We want our own counter (currently for keeping track of iterations) that does not get
+% trampled underfoot too easily.
+%
+% \begin{macrocode}
+\newcounter{typog@@iteration}
+
+% \end{macrocode}
+% \end{tcounter}
+%
% \begin{macro}{\typog@trim@spaces}
% Pull \cs{tl\_trim\_spaces} into the \singlequotes{classic} namespace.
%
@@ -4693,69 +5525,149 @@ end
%
% Our own state\dots
%
-% \begin{macro}{\typog@mathitalicscorrection}
+% \begin{macro}{\typog@config@mathitalicscorrection}
% \begin{macrocode}
-\newmuskip\typog@mathitalicscorrection
+\newmuskip\typog@config@mathitalicscorrection
+
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@textitalicscorrection}
+% Actual \cs{labelitem}\meta{N} corrections.
+%
+% \begin{ldimen}{\typog@adjust@labelitemi}
+% \begin{macrocode}
+\newdimen{\typog@adjust@labelitemi}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@labelitemii}
+% \begin{macrocode}
+\newdimen{\typog@adjust@labelitemii}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@labelitemiii}
+% \begin{macrocode}
+\newdimen{\typog@adjust@labelitemiii}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@labelitemiv}
+% \begin{macrocode}
+\newdimen{\typog@adjust@labelitemiv}
+% \end{macrocode}
+% \end{ldimen}
+%
+% Configuration constants for \cs{labelitem}\meta{N} corrections.
+%
+% \begin{ldimen}{\typog@adjust@lowercase@labelitemi}
+% \begin{macrocode}
+\newdimen{\typog@adjust@lowercase@labelitemi}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@lowercase@labelitemii}
+% \begin{macrocode}
+\newdimen{\typog@adjust@lowercase@labelitemii}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@lowercase@labelitemiii}
+% \begin{macrocode}
+\newdimen{\typog@adjust@lowercase@labelitemiii}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@lowercase@labelitemiv}
+% \begin{macrocode}
+\newdimen{\typog@adjust@lowercase@labelitemiv}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@uppercase@labelitemi}
+% \begin{macrocode}
+\newdimen{\typog@adjust@uppercase@labelitemi}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@uppercase@labelitemii}
+% \begin{macrocode}
+\newdimen{\typog@adjust@uppercase@labelitemii}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@uppercase@labelitemiii}
% \begin{macrocode}
-\newlength{\typog@textitalicscorrection}
+\newdimen{\typog@adjust@uppercase@labelitemiii}
+% \end{macrocode}
+% \end{ldimen}
+%
+% \begin{ldimen}{\typog@adjust@uppercase@labelitemiv}
+% \begin{macrocode}
+\newdimen{\typog@adjust@uppercase@labelitemiv}
+
+% \end{macrocode}
+% \end{ldimen}
+%
+% Other lengths\dots
+%
+% \begin{macro}{\typog@config@textitalicscorrection}
+% \begin{macrocode}
+\newlength{\typog@config@textitalicscorrection}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@ligaturekern}
+% \begin{macro}{\typog@config@ligaturekern}
% \begin{macrocode}
-\newlength{\typog@ligaturekern}
+\newlength{\typog@config@ligaturekern}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@raisecapitaldash}
+% \begin{macro}{\typog@config@raisecapitaldash}
% \begin{macrocode}
-\newlength{\typog@raisecapitaldash}
+\newlength{\typog@config@raisecapitaldash}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@raisecapitalguillemets}
+% \begin{macro}{\typog@config@raisecapitalguillemets}
% \begin{macrocode}
-\newlength{\typog@raisecapitalguillemets}
+\newlength{\typog@config@raisecapitalguillemets}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@raisecapitalhyphen}
+% \begin{macro}{\typog@config@raisecapitalhyphen}
% \begin{macrocode}
-\newlength{\typog@raisecapitalhyphen}
+\newlength{\typog@config@raisecapitalhyphen}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@raisecapitaltimes}
+% \begin{macro}{\typog@config@raisecapitaltimes}
% \begin{macrocode}
-\newlength{\typog@raisecapitaltimes}
+\newlength{\typog@config@raisecapitaltimes}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@raiseguillemets}
+% \begin{macro}{\typog@config@raiseguillemets}
% \begin{macrocode}
-\newlength{\typog@raiseguillemets}
+\newlength{\typog@config@raiseguillemets}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@raisefiguredash}
+% \begin{macro}{\typog@config@raisefiguredash}
% \begin{macrocode}
-\newlength{\typog@raisefiguredash}
+\newlength{\typog@config@raisefiguredash}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@slashkern}
+% \begin{macro}{\typog@config@slashkern}
% \begin{macrocode}
-\newlength{\typog@slashkern}
+\newlength{\typog@config@slashkern}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@breakpenalty}
+% \begin{macro}{\typog@config@breakpenalty}
% \begin{macrocode}
-\newcommand*{\typog@breakpenalty}{\exhyphenpenalty}
+\newcommand*{\typog@config@breakpenalty}{\exhyphenpenalty}
% \end{macrocode}
% \end{macro}
%
@@ -4771,9 +5683,9 @@ end
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\typog@trackingttspacing}
+% \begin{macro}{\typog@config@trackingttspacing}
% \begin{macrocode}
-\newcommand*{\typog@trackingttspacing}{300, 90, 60}
+\newcommand*{\typog@config@trackingttspacing}{300, 90, 60}
% \end{macrocode}
% \end{macro}
%
@@ -4871,77 +5783,99 @@ end
\newcommand*{\typog@set@shrink@limits}
{\edef\typog@@star{*}%
- \edef\typog@@limit{\typog@triple@get@i{\typog@shrinklimits}}%
+ \edef\typog@@limit{\typog@triple@get@i{\typog@config@shrinklimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@shrink@i{\number\typog@@limit}\fi
- \edef\typog@@limit{\typog@triple@get@ii{\typog@shrinklimits}}%
+ \edef\typog@@limit{\typog@triple@get@ii{\typog@config@shrinklimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@shrink@ii{\number\typog@@limit}\fi
- \edef\typog@@limit{\typog@triple@get@iii{\typog@shrinklimits}}%
+ \edef\typog@@limit{\typog@triple@get@iii{\typog@config@shrinklimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@shrink@iii{\number\typog@@limit}\fi}
\newcommand*{\typog@set@stretch@limits}
{\edef\typog@@star{*}%
- \edef\typog@@limit{\typog@triple@get@i{\typog@stretchlimits}}%
+ \edef\typog@@limit{\typog@triple@get@i{\typog@config@stretchlimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@stretch@i{\number\typog@@limit}\fi
- \edef\typog@@limit{\typog@triple@get@ii{\typog@stretchlimits}}%
+ \edef\typog@@limit{\typog@triple@get@ii{\typog@config@stretchlimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@stretch@ii{\number\typog@@limit}\fi
- \edef\typog@@limit{\typog@triple@get@iii{\typog@stretchlimits}}%
+ \edef\typog@@limit{\typog@triple@get@iii{\typog@config@stretchlimits}}%
\unless\ifx\typog@@limit\typog@@star\edef\typog@stretch@iii{\number\typog@@limit}\fi}
\DeclareOptionX<typog>{breakpenalty}%
- {\renewcommand*{\typog@breakpenalty}{#1}}
+ {\renewcommand*{\typog@config@breakpenalty}{#1}}
\DeclareOptionX<typog>{debug}{\typog@debugtrue}
\DeclareOptionX<typog>{mathitalicscorrection}[.4mu]%
- {\typog@mathitalicscorrection=#1\relax}%
+ {\typog@config@mathitalicscorrection=#1\relax}%
\DeclareOptionX<typog>{nodebug}{\typog@debugfalse}
\DeclareOptionX<typog>{textitalicscorrection}[.02em]%
- {\setlength{\typog@textitalicscorrection}{#1}}
+ {\setlength{\typog@config@textitalicscorrection}{#1}}
\DeclareOptionX<typog>{ligaturekern}[.033333em]%
- {\setlength{\typog@ligaturekern}{#1}}
+ {\setlength{\typog@config@ligaturekern}{#1}}
+\DeclareOptionX<typog>{lowercaselabelitemadjustments}%
+ {\typog@debug@typeout{lowercaselabelitemadjustments={#1}}
+ \def\typog@@do##1{\addtocounter{typog@@iteration}{1}
+ \global\setlength{\csname typog@adjust@lowercase@labelitem\romannumeral\thetypog@@iteration\endcsname}{##1}}
+ \setcounter{typog@@iteration}{0}
+ \forcsvlist{\typog@@do}{#1}}
+\newcommand*{\typog@config@lowercaselabelitemadjustments}
+ {\the\typog@adjust@lowercase@labelitemi,\space
+ \the\typog@adjust@lowercase@labelitemii,\space
+ \the\typog@adjust@lowercase@labelitemiii,\space
+ \the\typog@adjust@lowercase@labelitemiv}
\DeclareOptionX<typog>{raisecapitaldash}[\z@]%
- {\setlength{\typog@raisecapitaldash}{#1}}
+ {\setlength{\typog@config@raisecapitaldash}{#1}}
\DeclareOptionX<typog>{raisecapitalguillemets}[\z@]%
- {\setlength{\typog@raisecapitalguillemets}{#1}}
+ {\setlength{\typog@config@raisecapitalguillemets}{#1}}
\DeclareOptionX<typog>{raisecapitalhyphen}[\z@]%
- {\setlength{\typog@raisecapitalhyphen}{#1}}
+ {\setlength{\typog@config@raisecapitalhyphen}{#1}}
\DeclareOptionX<typog>{raisecapitaltimes}[\z@]%
- {\setlength{\typog@raisecapitaltimes}{#1}}
+ {\setlength{\typog@config@raisecapitaltimes}{#1}}
\DeclareOptionX<typog>{raiseguillemets}[\z@]%
- {\setlength{\typog@raiseguillemets}{#1}}
+ {\setlength{\typog@config@raiseguillemets}{#1}}
\DeclareOptionX<typog>{raisefiguredash}[\z@]%
- {\setlength{\typog@raisefiguredash}{#1}}
+ {\setlength{\typog@config@raisefiguredash}{#1}}
\DeclareOptionX<typog>{raise*}[\z@]%
- {\setlength{\typog@raisecapitaldash}{#1}%
- \setlength{\typog@raisecapitalhyphen}{#1}%
- \setlength{\typog@raisecapitaltimes}{#1}%
- \setlength{\typog@raisefiguredash}{#1}}
+ {\setlength{\typog@config@raisecapitaldash}{#1}%
+ \setlength{\typog@config@raisecapitalhyphen}{#1}%
+ \setlength{\typog@config@raisecapitaltimes}{#1}%
+ \setlength{\typog@config@raisefiguredash}{#1}}
\DeclareOptionX<typog>{shrinklimits}%
[\typog@default@shrink@i, \typog@default@shrink@ii, \typog@default@shrink@iii]%
{\typog@require@preloaded@microtype
\ifx\@onlypreamble\@notprerr
\PackageWarning{typog}{option `shrinklimits' can only be used in the preamble}%
\else
- \edef\typog@shrinklimits{#1}%
+ \edef\typog@config@shrinklimits{#1}%
\typog@set@shrink@limits
\fi}
\DeclareOptionX<typog>{slashkern}[.05em]%
- {\setlength{\typog@slashkern}{#1}}
+ {\setlength{\typog@config@slashkern}{#1}}
\DeclareOptionX<typog>{stretchlimits}%
[\typog@default@stretch@i, \typog@default@stretch@ii, \typog@default@stretch@iii]%
{\typog@require@preloaded@microtype
\ifx\@onlypreamble\@notprerr
\PackageWarning{typog}{option `stretchlimits' can only be used in the preamble}%
\else
- \edef\typog@stretchlimits{#1}%
+ \edef\typog@config@stretchlimits{#1}%
\typog@set@stretch@limits
\fi}
-\DeclareOptionX<typog>{trackingttspacing}[\typog@trackingttspacing]%
+\DeclareOptionX<typog>{trackingttspacing}[\typog@config@trackingttspacing]%
{\typog@require@preloaded@microtype
\ifx\@onlypreamble\@notprerr
\PackageWarning{typog}{option `trackingttspacing' can only be used in the preamble}%
\else
- \typog@typeout{trackingttspacing=#1}%
+ \typog@debug@typeout{trackingttspacing=#1}%
\SetTracking[outer spacing={#1}]{encoding=*, family=tt*}{0}%
\fi}
+\DeclareOptionX<typog>{uppercaselabelitemadjustments}%
+ {\typog@debug@typeout{uppercaselabelitemadjustments={#1}}
+ \def\typog@@do##1{\addtocounter{typog@@iteration}{1}
+ \setlength{\csname typog@adjust@uppercase@labelitem\romannumeral\thetypog@@iteration\endcsname}{##1}}
+ \setcounter{typog@@iteration}{0}
+ \forcsvlist{\typog@@do}{#1}}
+\newcommand*{\typog@config@uppercaselabelitemadjustments}
+ {\the\typog@adjust@uppercase@labelitemi,\space
+ \the\typog@adjust@uppercase@labelitemii,\space
+ \the\typog@adjust@uppercase@labelitemiii,\space
+ \the\typog@adjust@uppercase@labelitemiv}
\newcommand*{\typog@initialize@options}
{\ExecuteOptionsX<typog>{
@@ -4963,7 +5897,7 @@ end
% \fi
%
%
-% \subsection*{Setup}
+% \subsection{Setup and Reconfiguration}
%
% \begin{environment}{typogsetup}
% An empty argument list resets all initialized values to their defaults.
@@ -4982,8 +5916,42 @@ end
% \end{environment}
%
% \begin{macro}{\typogget}
+% Access the package's configuration (name-)space.
+%
% \begin{macrocode}
-\NewDocumentCommand{\typogget}{m}{\csname typog@#1\endcsname}
+\NewDocumentCommand{\typogget}{m}{\csname typog@config@#1\endcsname}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typoggetnth}
+% \changes{v0.4}{2024-05-15}{New macro.}
+% Access the \(n\)\textsuperscript{th} element of a comma-separated, list-like configuration
+% item's value.
+%
+% \begin{macrocode}
+\ExplSyntaxOn
+\cs_generate_variant:Nn \seq_set_split:Nnn {Nne}
+\cs_new:Npn \typog_get_nth_csname:cnn #1#2#3
+ {
+ \seq_set_split:Nne \l_tmpa_seq {,} {\cs:w typog@config@#2 \cs_end:}
+ \cs_gset:cpn {#1} {\seq_item:Nn \l_tmpa_seq {#3}}
+ }
+\cs_new:Npn \typog_get_nth_dimen:nnn #1#2#3
+ {
+ \seq_set_split:Nne \l_tmpa_seq {,} {\cs:w typog@config@#2 \cs_end:}
+ \dim_set:Nn {#1} {\seq_item:Nn \l_tmpa_seq {#3}}
+ }
+\NewDocumentCommand{\typoggetnth}{m m m}{
+ \token_if_dim_register:NTF {#1}
+ {
+ \typog_get_nth_dimen:nnn {#1} {#2} {#3}
+ }
+ {
+ \typog_get_nth_csname:cnn {#1} {#2} {#3}
+ }
+}
+\ExplSyntaxOff
% \end{macrocode}
% \end{macro}
@@ -5065,6 +6033,7 @@ end
%
% \begin{macrocode}
\newcounter{typog@inspect@count}
+
% \end{macrocode}
% \end{macro}
%
@@ -5085,11 +6054,16 @@ end
\edef\typog@@arg{#2}%
\ifx\typog@@arg\empty
\stepcounter{typog@inspect@count}%
- \edef\typog@@id{\typog@default@inspect@id@prefix\arabic{typog@inspect@count}}%
+ \edef\typog@@id{\typog@default@inspect@id@prefix
+ \arabic{typog@inspect@count}}%
\else
\edef\typog@@id{\typog@trim@spaces{\typog@@arg}}%
\fi
- \typeout{<typog-inspect id="\typog@@id" job="\jobname" line="\the\inputlineno" page="\the\value{page}">}%
+ \typeout{<typog-inspect\space
+ id="\typog@@id"\space
+ job="\jobname"\space
+ line="\the\inputlineno"\space
+ page="\the\value{page}">}%
% \end{macrocode}
%
% Set both badness thresholds to absurdly low values as to activate \TeX's reports.
@@ -5210,7 +6184,7 @@ end
% \begin{macro}{\nolig}
% \begin{macrocode}
\NewDocumentCommand{\nolig}{s o}
- {\dimen0=\IfNoValueTF{#2}{\typog@ligaturekern}{#2\typog@dim@unit}%
+ {\dimen0=\IfNoValueTF{#2}{\typog@config@ligaturekern}{#2\typog@dim@unit}%
\IfBooleanTF{#1}%
{\kern\dimen0\ignorespaces}%
{\discretionary{\typog@hyphen}{}{\kern\dimen0}%
@@ -5249,7 +6223,7 @@ end
%
% \begin{macrocode}
\newcommand*{\typog@itcorr@text@unconditional}[1]
- {\kern#1\typog@textitalicscorrection}
+ {\kern#1\typog@config@textitalicscorrection}
% \end{macrocode}
% \end{macro}
%
@@ -5275,7 +6249,7 @@ end
%
% \begin{macrocode}
\newcommand*{\typog@itcorr@math}[1]
- {\mkern#1\typog@mathitalicscorrection}
+ {\mkern#1\typog@config@mathitalicscorrection}
% \end{macrocode}
% \end{macro}
%
@@ -5326,11 +6300,11 @@ end
%
% \begin{macrocode}
\NewDocumentCommand{\kernedslash}{s}
- {\hspace*{\typog@slashkern}%
+ {\hspace*{\typog@config@slashkern}%
\typog@forwardslash
\IfBooleanTF{#1}%
- {\hspace*{\typog@slashkern}\ignorespaces}%
- {\typog@breakpoint\typog@allowhyphenation\hspace*{\typog@slashkern}}}
+ {\hspace*{\typog@config@slashkern}\ignorespaces}%
+ {\typog@breakpoint\typog@allowhyphenation\hspace*{\typog@config@slashkern}}}
% \end{macrocode}
%
% \acronym{PDF}-substitute definition
@@ -5358,7 +6332,7 @@ end
\def\typog@@optarg{#2}%
\hspace*{#3\typog@dim@unit}%
\raisebox{\ifx\typog@@optarg\typog@@auto
- \typog@raisecapitalhyphen
+ \typog@config@raisecapitalhyphen
\else
\typog@@optarg\typog@dim@unit
\fi}{\typog@hyphen}%
@@ -5428,7 +6402,7 @@ end
%
% \begin{macrocode}
\newcommand*{\typog@breakpoint}
- {\penalty\typog@breakpenalty}
+ {\penalty\typog@config@breakpenalty}
% \end{macrocode}
% \end{macro}
%
@@ -5439,7 +6413,7 @@ end
%
% \begin{macrocode}
\NewDocumentCommand{\capitalhyphen}{s}
- {\raisebox{\typog@raisecapitalhyphen}{\typog@hyphen}%
+ {\raisebox{\typog@config@raisecapitalhyphen}{\typog@hyphen}%
\IfBooleanTF{#1}%
{\ignorespaces}%
{\typog@breakpoint\typog@allowhyphenation}}
@@ -5473,7 +6447,7 @@ end
%
% \begin{macrocode}
\NewDocumentCommand{\capitalendash}{s}
- {\raisebox{\typog@raisecapitaldash}{\textendash}%
+ {\raisebox{\typog@config@raisecapitaldash}{\textendash}%
\IfBooleanTF{#1}%
{\ignorespaces}%
{\typog@breakpoint\typog@allowhyphenation}}
@@ -5503,7 +6477,7 @@ end
%
% \begin{macrocode}
\NewDocumentCommand{\capitalemdash}{s}
- {\raisebox{\typog@raisecapitaldash}{\textemdash}%
+ {\raisebox{\typog@config@raisecapitaldash}{\textemdash}%
\IfBooleanTF{#1}%
{\ignorespaces}%
{\typog@breakpoint\typog@allowhyphenation}}
@@ -5531,7 +6505,7 @@ end
%
% \begin{macrocode}
\NewDocumentCommand{\figuredash}{s}
- {\raisebox{\typog@raisefiguredash}{\textendash}%
+ {\raisebox{\typog@config@raisefiguredash}{\textendash}%
\IfBooleanTF{#1}%
{\ignorespaces}%
{\typog@breakpoint\typog@allowhyphenation}}
@@ -5550,9 +6524,9 @@ end
% \begin{macrocode}
\NewDocumentCommand{\capitaltimes}{}
{\ifmmode
- \mathbin{\raisebox{\typog@raisecapitaltimes}{$\m@th\times$}}%
+ \mathbin{\raisebox{\typog@config@raisecapitaltimes}{$\m@th\times$}}%
\else
- \raisebox{\typog@raisecapitaltimes}{\texttimes}%
+ \raisebox{\typog@config@raisecapitaltimes}{\texttimes}%
\fi}
% \end{macrocode}
%
@@ -5571,7 +6545,7 @@ end
% \begin{macrocode}
\NewDocumentCommand{\singleguillemetleft}{}
{\typog@allowhyphenation
- \raisebox{\typog@raiseguillemets}{\guilsinglleft}}
+ \raisebox{\typog@config@raiseguillemets}{\guilsinglleft}}
% \end{macrocode}
%
% \acronym{PDF}-substitute definition
@@ -5584,7 +6558,7 @@ end
% \begin{macro}{\singleguillemetright}
% \begin{macrocode}
\NewDocumentCommand{\singleguillemetright}{}
- {\raisebox{\typog@raiseguillemets}{\guilsinglright}%
+ {\raisebox{\typog@config@raiseguillemets}{\guilsinglright}%
\typog@allowhyphenation}
% \end{macrocode}
%
@@ -5599,7 +6573,7 @@ end
% \begin{macrocode}
\NewDocumentCommand{\doubleguillemetleft}{}
{\typog@allowhyphenation
- \raisebox{\typog@raiseguillemets}{\guillemotleft}}
+ \raisebox{\typog@config@raiseguillemets}{\guillemotleft}}
% \end{macrocode}
%
% \acronym{PDF}-substitute definition
@@ -5612,7 +6586,7 @@ end
% \begin{macro}{\doubleguillemetright}
% \begin{macrocode}
\NewDocumentCommand{\doubleguillemetright}{}
- {\raisebox{\typog@raiseguillemets}{\guillemotright}%
+ {\raisebox{\typog@config@raiseguillemets}{\guillemotright}%
\typog@allowhyphenation}
% \end{macrocode}
%
@@ -5627,7 +6601,7 @@ end
% \begin{macrocode}
\NewDocumentCommand{\Singleguillemetleft}{}
{\typog@allowhyphenation
- \raisebox{\typog@raisecapitalguillemets}{\guilsinglleft}}
+ \raisebox{\typog@config@raisecapitalguillemets}{\guilsinglleft}}
% \end{macrocode}
%
% \acronym{PDF}-substitute definition
@@ -5640,7 +6614,7 @@ end
% \begin{macro}{\Singleguillemetright}
% \begin{macrocode}
\NewDocumentCommand{\Singleguillemetright}{}
- {\raisebox{\typog@raisecapitalguillemets}{\guilsinglright}%
+ {\raisebox{\typog@config@raisecapitalguillemets}{\guilsinglright}%
\typog@allowhyphenation}
% \end{macrocode}
%
@@ -5655,7 +6629,7 @@ end
% \begin{macrocode}
\NewDocumentCommand{\Doubleguillemetleft}{}
{\typog@allowhyphenation
- \raisebox{\typog@raisecapitalguillemets}{\guillemotleft}}
+ \raisebox{\typog@config@raisecapitalguillemets}{\guillemotleft}}
% \end{macrocode}
%
% \acronym{PDF}-substitute definition
@@ -5668,7 +6642,7 @@ end
% \begin{macro}{\Doubleguillemetright}
% \begin{macrocode}
\NewDocumentCommand{\Doubleguillemetright}{}
- {\raisebox{\typog@raisecapitalguillemets}{\guillemotright}%
+ {\raisebox{\typog@config@raisecapitalguillemets}{\guillemotright}%
\typog@allowhyphenation}
% \end{macrocode}
%
@@ -5681,6 +6655,457 @@ end
% \end{macro}
%
%
+% \subsection{Vert. Adjust Label Items}
+%
+% \begin{macro}{\@typog@uppercase@adjust@labelitem}
+% Handle all possible requests for uppercase label item correction.
+% Patch |itemize|~environments.
+%
+% \begin{macrocode}
+\newcommand*{\@typog@uppercase@adjust@labelitem}[1]
+ {\@typog@maybe@patch@itemize
+ \ifstrequal{#1}{*}
+ {\setlength{\typog@adjust@labelitemi}
+ {\typog@adjust@uppercase@labelitemi}
+ \setlength{\typog@adjust@labelitemii}
+ {\typog@adjust@uppercase@labelitemii}
+ \setlength{\typog@adjust@labelitemiii}
+ {\typog@adjust@uppercase@labelitemiii}
+ \setlength{\typog@adjust@labelitemiv}
+ {\typog@adjust@uppercase@labelitemiv}}
+ {\ifcase #1% 0
+ \relax % outside of any itemize environment
+ \or % 1
+ \setlength{\typog@adjust@labelitemi}
+ {\typog@adjust@uppercase@labelitemi}
+ \or % 2
+ \setlength{\typog@adjust@labelitemii}
+ {\typog@adjust@uppercase@labelitemii}
+ \or % 3
+ \setlength{\typog@adjust@labelitemiii}
+ {\typog@adjust@uppercase@labelitemiii}
+ \or % 4
+ \setlength{\typog@adjust@labelitemiv}
+ {\typog@adjust@uppercase@labelitemiv}
+ \else
+ \PackageError{typog}
+ {Itemize level out of range}
+ {Valid levels are 1, 2, 3, 4, and *}
+ \fi}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@typog@lowercase@adjust@labelitem}
+% Handle all possible requests for lowercase label item correction.
+% Patch |itemize|~environments.
+%
+% \begin{macrocode}
+\newcommand*{\@typog@lowercase@adjust@labelitem}[1]
+ {\@typog@maybe@patch@itemize
+ \ifstrequal{#1}{*}
+ {\setlength{\typog@adjust@labelitemi}
+ {\typog@adjust@lowercase@labelitemi}
+ \setlength{\typog@adjust@labelitemii}
+ {\typog@adjust@lowercase@labelitemii}
+ \setlength{\typog@adjust@labelitemiii}
+ {\typog@adjust@lowercase@labelitemiii}
+ \setlength{\typog@adjust@labelitemiv}
+ {\typog@adjust@lowercase@labelitemiv}}
+ {\ifcase #1% 0
+ \relax % outside of any itemize environment
+ \or % 1
+ \setlength{\typog@adjust@labelitemi}
+ {\typog@adjust@lowercase@labelitemi}
+ \or % 2
+ \setlength{\typog@adjust@labelitemii}
+ {\typog@adjust@lowercase@labelitemii}
+ \or % 3
+ \setlength{\typog@adjust@labelitemiii}
+ {\typog@adjust@lowercase@labelitemiii}
+ \or % 4
+ \setlength{\typog@adjust@labelitemiv}
+ {\typog@adjust@lowercase@labelitemiv}
+ \else
+ \PackageError{typog}
+ {Itemize level out of range}
+ {Valid levels are 1, 2, 3, 4, and *}
+ \fi}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@typog@noadjust@labelitem}
+% Neutralize all label item corrections.
+% This function \emph{does not} request patching any |itemize|~environment!
+%
+% \begin{macrocode}
+\newcommand*{\@typog@noadjust@labelitem}[1]
+ {\ifstrequal{#1}{*}
+ {\setlength{\typog@adjust@labelitemi}{\z@}
+ \setlength{\typog@adjust@labelitemii}{\z@}
+ \setlength{\typog@adjust@labelitemiii}{\z@}
+ \setlength{\typog@adjust@labelitemiv}{\z@}}
+ {\ifcase #1% 0
+ \relax % outside of any itemize environment
+ \or % 1
+ \setlength{\typog@adjust@labelitemi}{\z@}
+ \or % 2
+ \setlength{\typog@adjust@labelitemii}{\z@}
+ \or % 3
+ \setlength{\typog@adjust@labelitemiii}{\z@}
+ \or % 4
+ \setlength{\typog@adjust@labelitemiv}{\z@}
+ \else
+ \PackageError{typog}
+ {Itemize level out of range}
+ {Valid levels are 1, 2, 3, 4, and *}
+ \fi}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\uppercaseadjustlabelitems}
+% \changes{v0.4}{2024-05-14}{New macro.}
+% User macro that handles lists and the treats the empty list specially. We wrap the code
+% into \cs{AfterPreamble} because it may be called in the document's preamble where we don't
+% know whether package~\packagename{enumitem} already has been loaded and we can patch its
+% variant of \code{itemize}.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\uppercaseadjustlabelitems}{m}
+ {\AfterPreamble{%
+ \ifblank{#1}
+ {\@typog@uppercase@adjust@labelitem{\@itemdepth}}
+ {\forcsvlist{\@typog@uppercase@adjust@labelitem}{#1}}%
+ \ignorespaces}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lowercaseadjustlabelitems}
+% \changes{v0.4}{2024-05-14}{New macro.}
+% User macro that handles lists and the treats the empty list specially.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\lowercaseadjustlabelitems}{m}
+ {\AfterPreamble{%
+ \ifblank{#1}
+ {\@typog@lowercase@adjust@labelitem{\@itemdepth}}
+ {\forcsvlist{\@typog@lowercase@adjust@labelitem}{#1}}%
+ \ignorespaces}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\noadjustlabelitems}
+% \changes{v0.4}{2024-05-14}{New macro.}
+% User macro that handles lists and the treats the empty list specially.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\noadjustlabelitems}{m}
+ {\ifblank{#1}
+ {\@typog@noadjust@labelitem{\@itemdepth}}
+ {\forcsvlist{\@typog@noadjust@labelitem}{#1}}%
+ \ignorespaces}
+
+% \end{macrocode}
+% \end{macro}
+%
+% Now we get to the dirty part. All the above definitions do not get called until we hack the
+% existing |itemize|-environments, either the one of plain~\LaTeX{} or the one modified by
+% package~\packagename{enumitem}.
+%
+% Here comes the result of \code{latexdef -c article -s itemize}, which was used to derive the
+% patch code:
+%
+% \begin{verbatim}
+% \def\itemize{%
+% \ifnum \@itemdepth > \thr@@
+% \@toodeep
+% \else
+% \advance\@itemdepth\@ne
+% \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+% \expandafter
+% \list
+% \csname\@itemitem\endcsname
+% {\def\makelabel##1{\hss\llap{##1}}}%
+% \fi}\end{verbatim}
+%
+% \begin{macro}{\@typog@itemize@patch}
+% This is the additional code we inject into plain \LaTeX's or
+% package~\packagename{enumitem}'s \cs{itemize}.
+%
+% \begin{macrocode}
+\newcommand*{\@typog@itemize@patch}
+% \end{macrocode}
+%
+% Save the original definition of \cs{@itemitem} for chain-calling it later on.
+%
+% \begin{macrocode}
+ {\letcs{\@typog@old@itemitem}{\@itemitem}
+% \end{macrocode}
+%
+% Sneak in our own macro's name.
+%
+% \begin{macrocode}
+ \edef\@itemitem{@typog@labelitem\romannumeral\the\@itemdepth}
+% \end{macrocode}
+%
+% Redefine under the original macro's name so that our code gets called and the old code
+% (\cs{@typog@old@itemitem}) is expanded.
+%
+% \begin{macrocode}
+ \expandafter\def\csname\@itemitem\endcsname
+ {\raisebox{\csname typog@adjust@labelitem\romannumeral\the\@itemdepth\endcsname}
+ {\@typog@old@itemitem}}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% If package~\packagename{enumitem} has been loaded, we use the \emph{same} patch. Here comes
+% the result of \code{latexdef -c article -p enumitem -s enit@itemize@i} that explains, why no
+% change is required:
+%
+% \begin{verbatim}
+% \def\enit@itemize@i#1#2#3#4{%
+% \ifnum #1 > #3 \relax
+% \enit@toodeep
+% \else
+% \enit@prelist\@ne{#1}{#2}%
+% \edef\@itemitem{label#2\romannumeral#1}%
+% \expandafter
+% \enit@list
+% \csname\@itemitem\endcsname
+% {\let\enit@calc\z@
+% \def\makelabel##1{\enit@align{\enit@format{##1}}}%
+% \enit@preset{#2}{#1}{#4}%
+% \enit@calcleft
+% \enit@before
+% \enit@negwidth}%
+% \enit@keyfirst
+% \fi}\end{verbatim}
+%
+% \begin{macro}{\@typog@patch@itemize}
+% Unconditionally apply the patches that are just \emph{single} macro calls to disturb the
+% original macros as little as possible. If we detect \packagename{enumitem} to be present
+% we modify its definition of \code{itemize} otherwise we wrestle \LaTeX's macro.
+%
+% \begin{macrocode}
+\newcommand*{\@typog@patch@itemize}
+ {\ifdefined\enit@itemize@i
+ \patchcmd{\enit@itemize@i}
+ {\expandafter}
+ {\@typog@itemize@patch\expandafter}
+ {\typog@debug@typeout{patching enumitem \string\enit@itemize@i\space succeeded}}
+ {\PackageError{typog}
+ {Patching enumitem macro \string\enit@itemize@i\space failed}
+ {}}
+ \else
+ \patchcmd{\itemize}
+ {\expandafter}
+ {\@typog@itemize@patch\expandafter}
+ {\typog@debug@typeout{patching \string\itemize\space succeeded}}
+ {\PackageError{typog}
+ {Patching plain LaTeX macro \string\itemize\space failed}
+ {}}
+ \fi}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@typog@maybe@patch@itemize}
+% Apply the patches only once.
+%
+% \begin{macrocode}
+\newbool{@typog@itemize@has@been@patched}
+\newcommand*{\@typog@maybe@patch@itemize}
+ {\ifbool{@typog@itemize@has@been@patched}
+ {\relax}
+ {\@typog@patch@itemize
+ \booltrue{@typog@itemize@has@been@patched}}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% Here come our convenience macros to simplify an accurate setup of the label adjustments.
+%
+% \begin{macro}{\typog@hairline@width}
+% Line width of the horizontal reference lines in our convenience macros.
+%
+% \begin{macrocode}
+\newcommand*{\typog@hairline@width}{.125pt}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typogadjuststairsfor}
+% The arguments are:
+% \#1: \meta{scale-factor},
+% \#2: \meta{step-size},
+% \#3: \meta{number-of-steps},
+% \#4: \meta{sample}, and
+% \#5: \cs{labelitem}\meta{N}.
+%
+% Generate an ascending stairs of argument~\#5.
+%
+% \begin{macrocode}
+\newcommand*{\typogadjuststairsfor}[5]
+% \end{macrocode}
+%
+% Store (half of) the space between two samples in \cs{dimen0}.
+%
+% \begin{macrocode}
+ {\dimen0=1pt%
+% \end{macrocode}
+%
+% Load the \meta{number-of-steps} and ensure that it is odd.
+%
+% \begin{macrocode}
+ \count0=#3\relax
+ \unless\ifodd\count0
+ \advance\count0 by 1%
+ \fi
+% \end{macrocode}
+%
+% Set the iteration counter.
+%
+% \begin{macrocode}
+ \setcounter{typog@@iteration}{1}%
+% \end{macrocode}
+%
+% Put the \meta{sample} into a box so that we can measure it with \cs{ht}.
+%
+% \begin{macrocode}
+ \setbox0=\hbox{#4}%
+% \end{macrocode}
+%
+% Box~1 is the accumulator for the raised samples.
+%
+% \begin{macrocode}
+ \setbox1=\hbox{}%
+% \end{macrocode}
+%
+% Build the stairs.
+%
+% \begin{macrocode}
+ \loop
+ \ifnum\thetypog@@iteration=\numexpr\count0 / 2\relax
+ \dimen1=2\dimen0
+ \else
+ \dimen1=\dimen0
+ \fi
+ \dimen2=\dimexpr#2 * (\thetypog@@iteration - \count0 / 2)\relax
+ \setbox1=\hbox{\unhbox1\raisebox{\dimen2}{\kern\dimen1 #5\kern\dimen1}}%
+ \addtocounter{typog@@iteration}{1}%
+ \unless\ifnum\thetypog@@iteration>\count0
+ \repeat
+% \end{macrocode}
+%
+% Merge the stairs with a hairline at \#1 times the height of \meta{sample}.
+% Answer just a single box.
+%
+% \begin{macrocode}
+ \mbox{\rlap{\raisebox{\fpeval{#1}\ht0}{\rule{\wd1}{\typog@hairline@width}}}\box1}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typogadjuststairs}
+% \changes{v0.4}{2024-05-14}{New macro.}
+% The arguments are:
+% \#1: \meta{scale-factor},
+% \#2: \meta{step-size},
+% \#3: \meta{number-of-steps}, and
+% \#4: \meta{sample}.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\typogadjuststairs}{O{.5} m m m}
+ {\begingroup
+ \unless\ifdim #2>\z@
+ \PackageError{typog}
+ {\string\typogadjuststairs\space non-positive step-size}
+ {step-size must be a positive dimension}%
+ \fi
+ \ifnum #3<1
+ \PackageError{typog}
+ {\string\typogadjuststairs\space too few number-of-steps}
+ {number-of-steps must at least be 1}%
+ \fi
+ \ifblank{#4}
+ {\PackageError{typog}
+ {sample must not be empty}
+ {supply either some uppercase or some lowercase letters}}
+ {}%
+ \def\arraystretch{1}%
+ \begin{tabular}{@{}c@{}}
+ \typogadjuststairsfor{#1}{#2}{#3}{#4}{\labelitemi} \\
+ \typogadjuststairsfor{#1}{#2}{#3}{#4}{\labelitemii} \\
+ \typogadjuststairsfor{#1}{#2}{#3}{#4}{\labelitemiii} \\
+ \typogadjuststairsfor{#1}{#2}{#3}{#4}{\labelitemiv}
+ \end{tabular}
+ \endgroup}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@uppercase@adjusted@labelitems}
+% Return all four labelitems in a horizontal box after they have been adjusted with the
+% uppercase-constants set.
+%
+% \begin{macrocode}
+\newcommand*{\typog@uppercase@adjusted@labelitems}
+ {\hbox{\raisebox{\typog@adjust@uppercase@labelitemi}{\labelitemi}%
+ \raisebox{\typog@adjust@uppercase@labelitemii}{\labelitemii}%
+ \raisebox{\typog@adjust@uppercase@labelitemiii}{\labelitemiii}%
+ \raisebox{\typog@adjust@uppercase@labelitemiv}{\labelitemiv}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typoguppercaseadjustcheck}
+% \changes{v0.4}{2024-05-14}{New macro.}
+% We stuff the user's sample text into a box only to measure its height. We typeset all four
+% labels and draw a hairline at half the height of the sample right through it.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\typoguppercaseadjustcheck}{O{.5} m}
+ {\setbox0=\hbox{#2}%
+ \setbox1=\typog@uppercase@adjusted@labelitems
+ \mbox{\rlap{\raisebox{\fpeval{#1}\ht0}
+ {\rule{\wd1}{\typog@hairline@width}}}%
+ \box1}}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typog@lowercase@adjusted@labelitems}
+% Return all four labelitems in a horizontal box after they have been adjusted with the
+% lowercase-constants set.
+%
+% \begin{macrocode}
+\newcommand*{\typog@lowercase@adjusted@labelitems}
+ {\hbox{\raisebox{\typog@adjust@lowercase@labelitemi}{\labelitemi}%
+ \raisebox{\typog@adjust@lowercase@labelitemii}{\labelitemii}%
+ \raisebox{\typog@adjust@lowercase@labelitemiii}{\labelitemiii}%
+ \raisebox{\typog@adjust@lowercase@labelitemiv}{\labelitemiv}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\typoglowercaseadjustcheck}
+% \changes{v0.4}{2024-05-14}{New macro.}
+% Same code as \cs{typoguppercaseadjustcheck} for lowercase.
+%
+% \begin{macrocode}
+\NewDocumentCommand{\typoglowercaseadjustcheck}{O{.5} m}
+ {\setbox0=\hbox{#2}%
+ \setbox1=\typog@lowercase@adjusted@labelitems
+ \mbox{\rlap{\raisebox{\fpeval{#1}\ht0}
+ {\rule{\wd1}{\typog@hairline@width}}}%
+ \box1}}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
% \subsection[Align Last Line]{Align Last Line of a Paragraph}
%
% The code of environment |lastlineraggedleftpar|
@@ -5955,7 +7380,7 @@ end
% \end{environment}
%
%
-% \subsection{Microtype Front\capitalhyphen End}
+% \subsection{\packagename{Microtype} Front\capitalhyphen End}
%
% \subsubsection*{Tracking}
%
@@ -6296,7 +7721,7 @@ end
% \item[Initialize.] \code{load("list\_functions")\$}
% \item[\cs{tolerance}:] \code{logspace(log10(200), log10(9999), 9), numer;}
% \item[\cs{emergencystretch}:] \code{linspace(0, 3, 9), numer;}
-% \item[\cs{hfuzz}:] \code{linspace(0.1, 0.5, 9);}
+% \item[\cs{hfuzz}:] \code{linspace(.1, .5, 9);}
% \end{description}
% \end{implementationnote}
%
@@ -6338,7 +7763,7 @@ end
\NewDocumentCommand{\vtietop}{O{3}}
{\setcounter{typog@mean@penalty}
{\typog@geometric@mean{\@M}{\clubpenalty}}%
- \typog@typeout{vtietop: penalties \the\@M--\the\value{typog@mean@penalty}--\the\clubpenalty}%
+ \typog@debug@typeout{vtietop: penalties \the\@M--\the\value{typog@mean@penalty}--\the\clubpenalty}%
\unless\ifnum\clubpenalty<\@M
\PackageWarning{typog}{vtietop: clubpenalty=\the\clubpenalty\space>= 10000}%
\fi
@@ -6426,7 +7851,7 @@ end
\NewDocumentCommand{\vtiebot}{O{3}}
{\setcounter{typog@mean@penalty}
{\typog@geometric@mean{\@M}{\widowpenalty}}%
- \typog@typeout{vtiebot: penalties \the\@M--\the\value{typog@mean@penalty}--\the\widowpenalty}%
+ \typog@debug@typeout{vtiebot: penalties \the\@M--\the\value{typog@mean@penalty}--\the\widowpenalty}%
\unless\ifnum\widowpenalty<\@M
\PackageWarning{typog}{vtiebot: widowpenalty=\the\widowpenalty\space>= 10000}%
\fi
@@ -6494,7 +7919,7 @@ end
\NewDocumentCommand{\typog@vtiebotdisp}{m}
{\setcounter{typog@mean@penalty}
{\typog@geometric@mean{\@M}{\displaywidowpenalty}}%
- \typog@typeout{vtiebotdisp: penalties \the\@M--\the\value{typog@mean@penalty}--\the\displaywidowpenalty}%
+ \typog@debug@typeout{vtiebotdisp: penalties \the\@M--\the\value{typog@mean@penalty}--\the\displaywidowpenalty}%
\unless\ifnum\displaywidowpenalty<\@M
\PackageWarning{typog}{vtiebotdisp: displaywidowpenalty=\the\displaywidowpenalty\space>= 10000}%
\fi
@@ -6588,7 +8013,7 @@ end
% \end{environment}
%
%
-% \subsection{Setspace Front-End}
+% \subsection{\packagename{Setspace} Front-End}
%
% \begin{macro}{\typog@iter@limit}
% The maximum number of iterations we perform before bailing out with an error. Can be
@@ -6631,9 +8056,9 @@ end
% \begin{macrocode}
\dim_set:Nn \l_tmpa_dim {\glueexpr #1}
- \typog@typeout{\string\setbaselineskip:\space
+ \typog@debug@typeout{\string\setbaselineskip:\space
initial\space baselineskip:\space \the\baselineskip}
- \typog@typeout{\string\setbaselineskip:\space
+ \typog@debug@typeout{\string\setbaselineskip:\space
target\space baselineskip:\space \dim_use:N \l_tmpa_dim}
\dim_compare:nNnTF {\baselineskip} > {\c_zero_dim}
@@ -6686,10 +8111,10 @@ end
{}
}
- \typog@typeout{\string\setbaselineskip:\space
+ \typog@debug@typeout{\string\setbaselineskip:\space
final\space \string\setstretch\space argument:\space
\fp_use:N \l_tmpa_fp}
- \typog@typeout{\string\setbaselineskip:\space
+ \typog@debug@typeout{\string\setbaselineskip:\space
final\space baselineskip:\space \the\baselineskip}
}
@@ -6756,7 +8181,7 @@ end
% \begin{macrocode}
\AfterEndPreamble{
\dim_set:Nn \typogfontsize {\fontdimen6\font}
- \typog@typeout{\string\typogfontsize =
+ \typog@debug@typeout{\string\typogfontsize =
\dim_use:N \typogfontsize\space
(at\space begin\space of\space document)}
}
@@ -6892,13 +8317,13 @@ end
\skip1=#2\relax
\skip2=#3\relax
\skip3=#4\relax
- \typog@typeout{smoothraggedrightshapetriplet: skip0=\the\skip0}%
- \typog@typeout{smoothraggedrightshapetriplet: skip1=\the\skip1}%
- \typog@typeout{smoothraggedrightshapetriplet: skip2=\the\skip2}%
- \typog@typeout{smoothraggedrightshapetriplet: skip3=\the\skip3}%
+ \typog@debug@typeout{smoothraggedrightshapetriplet: skip0=\the\skip0}%
+ \typog@debug@typeout{smoothraggedrightshapetriplet: skip1=\the\skip1}%
+ \typog@debug@typeout{smoothraggedrightshapetriplet: skip2=\the\skip2}%
+ \typog@debug@typeout{smoothraggedrightshapetriplet: skip3=\the\skip3}%
\unless\ifnum\typog@mod{\typog@triplet@max@lines}{3}=0
\PackageError{typog}
- {Line number of triplet generator %
+ {Line number of triplet generator\space
(\typog@triplet@max@lines) not divisible by 3}
{}
\fi
@@ -6943,15 +8368,15 @@ end
\skip3=#4\relax
\skip4=#5\relax
\skip5=#6\relax
- \typog@typeout{smoothraggedrightshapequintuplet: skip0=\the\skip0}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip1=\the\skip1}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip2=\the\skip2}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip3=\the\skip3}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip4=\the\skip4}%
- \typog@typeout{smoothraggedrightshapequintuplet: skip5=\the\skip5}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip0=\the\skip0}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip1=\the\skip1}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip2=\the\skip2}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip3=\the\skip3}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip4=\the\skip4}%
+ \typog@debug@typeout{smoothraggedrightshapequintuplet: skip5=\the\skip5}%
\unless\ifnum\typog@mod{\typog@quintuplet@max@lines}{5}=0
\PackageError{typog}
- {Line number of quintuplet generator %
+ {Line number of quintuplet generator\space
(\typog@quintuplet@max@lines) not divisible by 5}
{}
\fi
@@ -6998,17 +8423,17 @@ end
\skip5=#6\relax
\skip6=#7\relax
\skip7=#8\relax
- \typog@typeout{smoothraggedrightshapeseptuplet: skip0=\the\skip0}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip1=\the\skip1}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip2=\the\skip2}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip3=\the\skip3}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip4=\the\skip4}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip5=\the\skip5}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip6=\the\skip6}%
- \typog@typeout{smoothraggedrightshapeseptuplet: skip7=\the\skip7}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip0=\the\skip0}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip1=\the\skip1}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip2=\the\skip2}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip3=\the\skip3}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip4=\the\skip4}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip5=\the\skip5}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip6=\the\skip6}%
+ \typog@debug@typeout{smoothraggedrightshapeseptuplet: skip7=\the\skip7}%
\unless\ifnum\typog@mod{\typog@septuplet@max@lines}{7}=0
\PackageError{typog}
- {Line number of septuplet generator %
+ {Line number of septuplet generator\space
(\typog@septuplet@max@lines) not divisible by 7}
{}
\fi
@@ -7115,7 +8540,7 @@ end
% |generator=triplet| produces a \doublequotes{short line -- long line -- middle length line}~sequence.
% \begin{macrocode}
\typog@fuzzwidth=.25\smoothraggedrightragwidth
- \typog@typeout{smoothraggedright: generator=triplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
+ \typog@debug@typeout{smoothraggedright: generator=triplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
\smoothraggedrightshapetriplet[leftskip=\typog@@smoothraggedrightleftskip,
parindent=\glueexpr\smoothraggedrightparindent + \parindent,
#1]%
@@ -7130,7 +8555,7 @@ end
% |generator=quintuplet|.
% \begin{macrocode}
\typog@fuzzwidth=.125\smoothraggedrightragwidth
- \typog@typeout{smoothraggedright: generator=quintuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
+ \typog@debug@typeout{smoothraggedright: generator=quintuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
\smoothraggedrightshapequintuplet[leftskip=\typog@@smoothraggedrightleftskip,
parindent=\glueexpr\smoothraggedrightparindent + \parindent,
#1]%
@@ -7153,7 +8578,7 @@ end
%
% \begin{macrocode}
\typog@fuzzwidth=.08333\smoothraggedrightragwidth
- \typog@typeout{smoothraggedright: generator=septuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
+ \typog@debug@typeout{smoothraggedright: generator=septuplet, typog@fuzzwidth=\the\typog@fuzzwidth}%
\smoothraggedrightshapeseptuplet[leftskip=\typog@@smoothraggedrightleftskip,
parindent=\glueexpr\smoothraggedrightparindent + \parindent,
#1]%
@@ -7198,7 +8623,7 @@ end
%
%
% \addtocontents{toc}{\protect\end{multicols}}
-% \addtocontents{toc}{\endgroup}
+% \addtocontents{toc}{\protect\end{list}}
%
%
% \Finale
@@ -7220,10 +8645,14 @@ end
\usepackage{fullwidth}
\usepackage{hyphenat}
\usepackage{mathtools}
-\usepackage[activate=true, verbose=true]{microtype}
+\usepackage[activate=true, verbose=false]{microtype}
\usepackage{ragged2e}
\usepackage[nobottomtitles*]{titlesec}\renewcommand*{\bottomtitlespace}{.2\textheight}
-\usepackage[debug, trackingttspacing]{typog}
+\usepackage{trace}
+\usepackage[debug,
+ trackingttspacing,
+ uppercaselabelitemadjustments={0pt, .1em, .15em, .1em},
+ lowercaselabelitemadjustments={-.0667em, 0pt, .1em, 0pt}]{typog}
\usepackage{xcolor}
\usepackage[loosest, proportional, scaled=1.064]{erewhon}
@@ -7234,49 +8663,42 @@ end
\def\xsfdefault{\relax}
-{
- \def\examplefont{6}
-
- \ifcase\examplefont % 0 -- document's default sans-serif font (e.g., ecrm1000)
- \gdef\examplefontname{default}
- \global\let\xsf=\sf
- \global\let\xsfdefault=\sfdefault
- \or % 1 -- Nunito
- \gdef\examplefontname{Nunito}
- \usepackage{nunito}
- \xdef\xsfdefault{\rmdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 2 -- OpenSans
- \gdef\examplefontname{OpenSans}
- \usepackage[defaultsans]{opensans}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 3 -- Noto Sans
- \gdef\examplefontname{OpenSans}
- \usepackage[sfdefault]{noto}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 4 -- Roboto
- \gdef\examplefontname{Roboto}
- \usepackage[sfdefault]{roboto}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 5 -- Montserrat
- \gdef\examplefontname{Montserrat Alternate}
- \usepackage[alternates]{montserrat}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \or % 6 -- Inter
- \gdef\examplefontname{Inter}
- \usepackage[sfdefault]{inter}
- \xdef\xsfdefault{\sfdefault}
- \gdef\xsf{\let\sfdefault=\xsfdefault\sf}
- \else
- \SelectedUnknownExampleFont
- \fi
- \typeout{typog-example: font for examples: `\xsfdefault'}%
-}
+\def\examplefont{6}
+
+\ifcase\examplefont % 0 -- document's default sans-serif font (e.g., ecrm1000)
+ \def\examplefontname{default}
+ \let\xsf=\sf
+ \let\xsfdefault=\sfdefault
+\or % 1 -- Nunito
+ \def\examplefontname{Nunito}
+ \def\xsfdefault{Nunito-TOsF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 2 -- OpenSans
+ \def\examplefontname{OpenSans}
+ \def\xsfdefault{opensans-TLF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 3 -- Noto Sans
+ \def\examplefontname{Noto Sans}
+ \def\xsfdefault{NotoSans-TLF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 4 -- Roboto
+ \def\examplefontname{Roboto}
+ \def\xsfdefault{Roboto-LF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 5 -- Montserrat
+ \def\examplefontname{Montserrat Alternates}
+ \def\xsfdefault{MontserratAlternates-LF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\or % 6 -- Inter
+ \def\examplefontname{Inter}
+ \def\xsfdefault{Inter-LF}
+ \def\xsf{\let\sfdefault=\xsfdefault\sf}
+\else
+ \SelectedUnknownExampleFont
+\fi
+
+\typeout{typog-example: font for examples: `\xsfdefault'}%
\usepackage{hyperref}
@@ -7388,7 +8810,6 @@ end
concentrate all the badness in one place, making one truly unsightly line instead of
two moderately bad ones, because a single ``write-off'' produces fewest total
demerits according to the rules.}
- %There is a much better way to get the desired effect:~[\dots]
\newcommand*{\texbooktolerancesamplecredits}
{\medskip\noindent
\textsl{The sample text was taken from The~\TeX{}book~\cite[p.~107]{knuth:1986}.}}
@@ -7396,7 +8817,7 @@ end
\newcommand*{\texbookparfillskipsample}
{We still haven't discussed the special trick that allows the final line of a paragraph
to be shorter than the others. Just before \TeX{} begins to choose breakpoints,
- it does two important things: [\dots]}
+ it does two important things: [\dots\itcorr{-4}]}
\newcommand*{\texbooklongparfillskipsample}
{We still haven't discussed the special trick that allows the final line of a paragraph
to be shorter than the others. Just before \TeX{} begins to choose breakpoints,
@@ -7404,7 +8825,7 @@ end
that glue is discarded. (The reason is that a blank space often gets into a token list just
before \code{\char92par} or just before \code{\char36\char36}, and this blank space should not be
part of the paragraph.) (2)~Three or more items are put at the end of the
- current horizontal list~[\dots]}
+ current horizontal list~[\dots\itcorr{-4}]}
\newcommand*{\texbookparfillskipsamplecredits}
{\medskip\noindent
\textsl{The sample text was taken from The~\TeX{}book~\cite[p.~99n]{knuth:1986}.}}
@@ -7458,7 +8879,7 @@ end
\setcounter{tocdepth}{1}
-\setlength{\overfullrule}{3pt}
+\setlength{\overfullrule}{0pt}
\hbadness=-1
@@ -7575,7 +8996,76 @@ in the official documentation of package~\packagename{typog}.
\noindent
Unless otherwise noted the font used in the examples is \singlequotes{\examplefontname}.
-\bigskip
+
+\section{Setup and Reconfiguration}
+
+\noindent
+\code{\char`\\ typogget}
+
+\begin{list}{}{}
+ \newcommand*{\expandsto}{$\mathbin{\mapsto}$}
+\item \code{breakpenalty} \expandsto{} \the\typogget{breakpenalty}
+\item \code{ligaturekern} \expandsto{} \milliem{\typogget{ligaturekern}}
+\item \code{lowercaselabelitemadjustments} \expandsto{} \typogget{lowercaselabelitemadjustments}
+\item \code{mathitalicscorrection} \expandsto{} \the\typogget{mathitalicscorrection}
+\item \code{raisecapitaldash} \expandsto{} \the\typogget{raisecapitaldash}
+\item \code{raisecapitalguillemets} \expandsto{} \the\typogget{raisecapitalguillemets}
+\item \code{raisecapitalhyphen} \expandsto{} \the\typogget{raisecapitalhyphen}
+\item \code{raisecapitaltimes} \expandsto{} \the\typogget{raisecapitaltimes}
+\item \code{raisefiguredash} \expandsto{} \the\typogget{raisefiguredash}
+\item \code{raiseguillemets} \expandsto{} \the\typogget{raiseguillemets}
+\item \code{shrinklimits} \expandsto{} \typogget{shrinklimits}
+\item \code{slashkern} \expandsto{} \the\typogget{slashkern}
+\item \code{stretchlimits} \expandsto{} \typogget{stretchlimits}
+\item \code{textitalicscorrection} \expandsto{} \the\typogget{textitalicscorrection}
+\item \code{trackingttspacing} \expandsto{} \typogget{trackingttspacing}
+\item \code{uppercaselabelitemadjustments} \expandsto{} \typogget{uppercaselabelitemadjustments}
+\end{list}
+
+\begingroup
+ \dimen0=\typogget{raisecapitaldash}%
+ \setbox0=\hbox to \typogget{ligaturekern} {}%
+\endgroup
+
+\noindent
+\code{\char`\\ typoggetnth}
+
+\begin{list}{}{}
+\item
+ Elements of \code{lowercaselabelitemadjustments}:
+ (1)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{1}\the\dimen0,
+ (2)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{2}\the\dimen0,
+ (3)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{3}\the\dimen0, and
+ (4)~\typoggetnth{\dimen0}{lowercaselabelitemadjustments}{4}\the\dimen0.
+
+ Same elements now accessed from the right-hand-side, i.\,e.~with negative indices:
+ (\textminus4)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-4}\nth,
+ (\textminus3)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-3}\nth,
+ (\textminus2)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-2}\nth, and
+ (\textminus1)~\typoggetnth{nth}{lowercaselabelitemadjustments}{-1}\nth.
+
+\item Elements of \code{shrinklimits}:
+ (1)~\typoggetnth{nth}{shrinklimits}{1}\nth,
+ (2)~\typoggetnth{nth}{shrinklimits}{2}\nth, and
+ (3)~\typoggetnth{nth}{shrinklimits}{3}\nth.
+
+\item Elements of \code{stretchlimits}:
+ (1)~\typoggetnth{nth}{stretchlimits}{1}\nth,
+ (2)~\typoggetnth{nth}{stretchlimits}{2}\nth, and
+ (3)~\typoggetnth{nth}{stretchlimits}{3}\nth.
+
+\item Elements of \code{trackingttspacing}:
+ (1)~\typoggetnth{nth}{trackingttspacing}{1}\nth,
+ (2)~\typoggetnth{nth}{trackingttspacing}{2}\nth, and
+ (3)~\typoggetnth{nth}{trackingttspacing}{3}\nth.
+
+\item Elements of \code{uppercaselabelitemadjustments}:
+ (1)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{1}\the\dimen0,
+ (2)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{2}\the\dimen0,
+ (3)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{3}\the\dimen0, and
+ (4)~\typoggetnth{\dimen0}{uppercaselabelitemadjustments}{4}\the\dimen0.
+\end{list}
+
\section{Information}
@@ -8068,6 +9558,82 @@ We again compare the default implementation with the adjusted one.
\end{quote}
+\section{Label Items}
+
+The current configurations for the uppercase and lowercase adjustments are
+\{\typogget{uppercaselabelitemadjustments}\} and \{\typogget{lowercaselabelitemadjustments}\},
+respectively.
+
+\begin{center}
+ \makeatletter
+ \noindent
+ A\raisebox{\typog@adjust@uppercase@labelitemi}{\labelitemi}%
+ B\raisebox{\typog@adjust@uppercase@labelitemii}{\labelitemii}%
+ E\raisebox{\typog@adjust@uppercase@labelitemiii}{\labelitemiii}%
+ G\raisebox{\typog@adjust@uppercase@labelitemiv}{\labelitemiv}H \\
+ a\raisebox{\typog@adjust@lowercase@labelitemi}{\labelitemi}%
+ b\raisebox{\typog@adjust@lowercase@labelitemii}{\labelitemii}%
+ c\raisebox{\typog@adjust@lowercase@labelitemiii}{\labelitemiii}%
+ e\raisebox{\typog@adjust@lowercase@labelitemiv}{\labelitemiv}g
+ \makeatother
+\end{center}
+
+For the following nested lists we adjust levels one and three for uppercase and levels two and
+four for lowercase.
+
+\begingroup
+ \uppercaseadjustlabelitems{1,3}
+ \lowercaseadjustlabelitems{2,4}
+ \setlength{\itemsep}{0pt}
+ \setlength{\parsep}{0pt}
+ \setlength{\topsep}{0pt}
+ \begin{itemize}
+ \item A
+ \item B
+ \item C
+ \begin{itemize}
+ \item d
+ \item e
+ \item f
+ \begin{itemize}
+ \item G
+ \item H
+ \item I
+ \begin{itemize}
+ \item j
+ \item k
+ \item l
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+\endgroup
+\noadjustlabelitems{*}% not necessary, but we want to exercise the macro
+
+The left example shows the result of \code{\string\typogadjuststairs\{.25pt\}\{11\}\{ABC\}} and
+the one on the right hand side just uses the same parameters except for the sample~\sample{ace},
+this is, only lowercase letters.
+
+\begin{center}
+ \begin{minipage}[t]{12em}
+ \centering
+ \typogadjuststairs{.25pt}{11}{ABC}
+ \end{minipage}
+ \begin{minipage}[t]{12em}
+ \centering
+ \typogadjuststairs{.25pt}{11}{ace}
+ \end{minipage}
+\end{center}
+
+For this document the calls
+\code{\string\typoguppercaseadjustcheck\{ABC\-DEF\-GHI\-JKL\-MNO\-PQR\-STU\-VWX\-YZ\}} and
+\code{\string\typoglowercaseadjustcheck\{ace\-gmn\-opq\-rsu\-vwx\-yz\}} yield
+\sample{\typoguppercaseadjustcheck{ABCDEFGHIJKLMNOPQRSTUVWXYZ}} and
+\sample{\typoglowercaseadjustcheck{acegmnopqrsuvwxyz}}, where the adjustments in effect are
+\code{\{\typogget{uppercaselabelitemadjustments}\}} and
+\code{\{\typogget{lowercaselabelitemadjustments}\}}, respectively.
+
+
\clearpage
\section{Align Last Line}
@@ -8292,7 +9858,7 @@ consult \propername{David Carlisle's} excellent post on \propername{StackExchang
\begin{center}
\setlength{\overfullrule}{0pt}
- \newcommand*{\spacesampletext}[1]{some#1text#1with#1spaces\rule{0.1pt}{1em}}
+ \newcommand*{\spacesampletext}[1]{some#1text#1with#1spaces\rule{.1pt}{1em}}
\newsavebox{\narrowspacesample}
\sbox{\narrowspacesample}{\spacesampletext{\narrowspace}}
\newsavebox{\widespacesample}
@@ -8707,7 +10273,7 @@ New settings: \baselinesetsize.
\newcommand*{\relbls}{130}
\paragraph{\code{\string\setbaselineskippercentage\{\relbls\}}}
-\setbaselineskippercentage{1 + 2 + .3333 * 100 + 100 * 0.6667}% float expression
+\setbaselineskippercentage{1 + 2 + .3333 * 100 + 100 * .6667}% float expression
\setbaselineskippercentage{\relbls}
\fontsizeinfo{baselinesetsize}
New settings: \baselinesetsize.
@@ -8840,7 +10406,7 @@ visually: \rule{.1pt}{.8em}\kern\parindent\rule{.1pt}{.8em};
%
%
% \iffalse
-%<*nomicrotype>
+%<*without-microtype>
\documentclass[]{article}
@@ -8853,7 +10419,9 @@ visually: \rule{.1pt}{.8em}\kern\parindent\rule{.1pt}{.8em};
{\singleguillemetright}
{\singleguillemetleft}
-\usepackage[]{typog}
+\usepackage[uppercaselabelitemadjustments={.1em, .075em, .1em, .1em},
+ lowercaselabelitemadjustments={-.025em, -.05em, -.025em, -.025em}]
+ {typog}
\newcommand*{\packagename}[1]{\mbox{\textsf{#1}}}
@@ -8868,7 +10436,9 @@ visually: \rule{.1pt}{.8em}\kern\parindent\rule{.1pt}{.8em};
\bigskip
-\noindent
+
+\section*{No Microtype}
+
This example \LaTeX-document uses package~\packagename{typog}
\emph{without} package~\packagename{microtype}.
@@ -8876,6 +10446,38 @@ We want \packagename{typog} to be as usable as possible even without
the nice features that \packagename{microtype} offers.
After all \packagename{typog} is just a front-end for it.
+
+\section*{No EnumItem}
+
+We intentionally do not load package~\packagename{enumitem}, either.
+So, we can test whether \packagename{typog} correctly patches the
+plain \LaTeX{} definition if environment~\texttt{itemize}.
+
+The vertical alignment of the label items was setup for
+uppercase (ABC\typoguppercaseadjustcheck{ABCXYZ}XYZ) and for
+lowercase (ace\typoglowercaseadjustcheck{acexyz}xyz), though
+this is not necessary for the test.
+
+\uppercaseadjustlabelitems{*}
+\begin{itemize}
+\item Level i
+\item Sublist \dots
+ \begin{itemize}
+ \item Level ii
+ \item Sublist \dots
+ \begin{itemize}
+ \item Level iii
+ \item Sublist \dots
+ \begin{itemize}
+ \item Level iv
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+\end{itemize}
+
+
+\section*{CSQuotes}
+
As we are testing a special configuration here anyhow,
we hook up our quotes with package~csquotes
to check whether they interact ok.
@@ -8883,7 +10485,28 @@ to check whether they interact ok.
\enquote{This is the outer part of the phrase
which contains the \enquote{inner part}.}}
\end{document}
-%</nomicrotype>
+%</without-microtype>
+% \fi
+%
+%
+%
+% \iffalse
+%<*minimal-test>
+\documentclass{minimal}
+
+\usepackage{typog}
+
+\newcommand*{\raiseamount}{0.5pt}
+
+\begin{document}
+\begin{typogsetup}{raise*=\raiseamount}
+ Em-dash raised by \the\typogget{raisecapitaldash} (expected: \raiseamount).
+\end{typogsetup}
+
+\fontsizeinfo{typoinfo}
+Document class ``minimal'' sets up font size and line spacing as~\typoinfo.
+\end{document}
+%</minimal-test>
% \fi
%
%
@@ -8902,35 +10525,49 @@ to check whether they interact ok.
/@menu/,/@end menu/d
## Convert sectioning macros to our own hierarchy.
-s/^@chapter \(.*\)$/\\subsection*{\\textls[40]{\1}}/
-s/^@section \(.*\)$/\\subsubsection*{\1}/
+s/^@chapter \(.*\)$/\\subsection{\\titlecase{\1}\\label{\1}}/
+s/^@section \(.*\)$/\\subsubsection{\\titlecase{\1}}\\label{\1}/
## Make `@asis' list resemble the Texinfo format.
s/@table @asis/\\begin{list}{}{\\itemindent=-20pt\\leftmargin=20pt}/
s/@end table/\\end{list}/
+## We substitute our maxipage environment for @display.
+s/@display/\\begin{maxipage}/
+s/@end display/\\end{maxipage}/
+
+## Translate `@example' environments.
+s/@example/\\begin{quote}\\tt\\obeylines/
+s/@end example/\\end{quote}\n\n/
+
## Indenting by four spaces generates a `verbatim' environment.
s/@verbatim/\\begin{verbatim}/
s/@end verbatim/\\end{verbatim}/
-## We substitute @display for our maxipage environment.
-s/@display/\\begin{maxipage}/
-s/@end display/\\end{maxipage}/
-
## The argument format of the URL macro is different.
s/@url{\([^,]*\), \([^}]*\)}/\\href{\1}{\2}/g
## Use our own markup.
s/\.\.\./\\dots{}/g
s/LaTeX/\\LaTeX{}/g
-s/@file/\\textit/g
+s/@file/\\emph/g
s/@strong/\\textbf/g
+s/@var/\\emph/g
s/[w]{/mbox{/g
+## Translate some Texinfo macros.
+s/@backslashchar/\\char`\\\\/g
+s/@lbracechar/\\{/g
+s/@noindent/\\noindent/g
+s/@rbracechar/\\}/g
+
## Quote some special characters.
s/%/\\%/g
s/_/\\_/g
+## Add space around alternative-indicators.
+s/[|]/\\,|\\,/g
+
## Adapt to how a man-page is typeset.
## En-dashes in front of long options really suck!
s/--/-\\nolig*-/g
@@ -8944,7 +10581,7 @@ s/@@/@/g
s/\\jobname/\\textbackslash jobname/g
## Make qualified Perl names breakable.
-s/::/::\\discretionary{}{}{}/g
+s/::/::\\breakpoint*/g
%</teximan2latex>
% \fi
%
@@ -8960,6 +10597,7 @@ use strict;
use warnings;
use Data::Dumper ();
+use Encode ();
use English;
use File::Basename ();
use Getopt::Long;
@@ -9011,32 +10649,32 @@ sub limit_string_length {
## We set all colors to `undef' and fill them later with the values
## of the actual configuration.
my $highlight_patterns = {
- PARTIAL_LINE => {
- FONT_SPEC => [qr#
- \\
- (?: OMS | OMX | OT1 | T1 | TS1 | U )
- (?: /[^/]+ ){5} / \S+ \s
- (?: \([+-]\d+\) )?
- #x, undef],
- MATH => [qr#
- \$
- \\
- (?: LMS | OML )
- (?: /[^/]+ ){5} / \S+ \s
- (?: \([+-]\d+\) )?
- .*?
- \$
- #x, undef]
- },
- WHOLE_LINE => {
- FILL_STATE => [qr#^(?:Under|Over)full \\hbox .*$#, undef],
- FIRST_VBOX => [qr#^%%#, undef],
- HORIZONTAL_BREAKPOINT => [qr#^@@\d+:.*$#, undef],
- HORIZONTAL_BREAK_CANDIDATE => [qr#^@[\\ ].*$#, undef],
- LINE_BREAK_PASS => [qr#^@[a-z]+?pass#, undef],
- TIGHTNESS => [qr#^(?:Loose|Tight) \\hbox .*$#, undef],
- VERTICAL_BREAKPOINT => [qr#^% t=\d+.*$#, undef]
- }
+ PARTIAL_LINE => {
+ FONT_SPEC => [qr#
+ \\
+ (?: OMS | OMX | OT1 | T1 | TS1 | U )
+ (?: /[^/]+ ){5} / \S+ \s
+ (?: \([+-]\d+\) )?
+ #x, undef],
+ MATH => [qr#
+ \$
+ \\
+ (?: LMS | OML )
+ (?: /[^/]+ ){5} / \S+ \s
+ (?: \([+-]\d+\) )?
+ .*?
+ \$
+ #x, undef]
+ },
+ WHOLE_LINE => {
+ FILL_STATE => [qr#^(?:Under|Over)full \\hbox .*$#, undef],
+ FIRST_VBOX => [qr#^%%#, undef],
+ HORIZONTAL_BREAKPOINT => [qr#^@@\d+:.*$#, undef],
+ HORIZONTAL_BREAK_CANDIDATE => [qr#^@[\\ ].*$#, undef],
+ LINE_BREAK_PASS => [qr#^@[a-z]+?pass#, undef],
+ TIGHTNESS => [qr#^(?:Loose|Tight) \\hbox .*$#, undef],
+ VERTICAL_BREAKPOINT => [qr#^% t=\d+.*$#, undef]
+ }
};
@@ -9048,7 +10686,7 @@ sub colorize_line {
return Term::ANSIColor::colored($line, $pattern_color_pair->[1])
if $line =~ $pattern_color_pair->[0];
}
- return $line if $line =~ m#^\.#; # we do not paint box contents yet
+ return $line if $line =~ m#^\.#; # we do not paint box contents yet
$line =~ s#$highlight_patterns->{PARTIAL_LINE}->{MATH}->[0]
#Term::ANSIColor::colored($MATCH, $highlight_patterns->{PARTIAL_LINE}->{MATH}->[1])
@@ -9074,13 +10712,30 @@ my $open_tag_regexp =
>#x;
+sub find_encoder {
+ my $encoding = shift;
+
+ my $encoder;
+
+ if ($encoding) {
+ $encoder = Encode::find_encoding($encoding);
+ if (!$encoder) {
+ issue_warning("encoding @{[quote_literal($encoding)]} unknown; proceeding without decoder");
+ }
+ }
+
+ return $encoder;
+}
+
+
sub grep_log_file {
my ($options, $configuration, $file, $filename, $id_regexp) = @_;
+ my $encoder = find_encoder($options->{ENCODING});
my $job_name;
- my $line_number = 0; # line number in the log file we are inspecting, i.e., $filename
+ my $line_number = 0; # line number in the log file we are inspecting, i.e., $filename
my $match_count = 0;
- my $source_line_number; # line number in TeX file the log refers to, i.e., "$job_name.tex"
+ my $source_line_number; # line number in TeX file the log refers to, i.e., "$job_name.tex"
my $page_number;
my $regexp_modifier = $options->{IGNORE_CASE} ? 'i' : '';
my $id_value;
@@ -9094,6 +10749,8 @@ sub grep_log_file {
chomp $line;
$line_number++;
+ $line = Encode::encode_utf8($encoder->decode($line, Encode::FB_CROAK)) if $encoder;
+
if ($line =~ $close_tag_regexp) {
fail_with_error("$filename: $line_number: mismatched open/close tags") unless @nesting_levels;
pop @nesting_levels;
@@ -9175,19 +10832,25 @@ sub grep_log_file {
}
}
}
+
+ return $match_count;
}
sub show_ids_in_file {
my ($options, $configuration, $file, $filename, $id_regexp) = @_;
+ my $encoder = find_encoder($options->{ENCODING});
my $line_number = 0;
+ my $match_count = 0;
my @nesting_levels;
while (my $line = readline $file) {
chomp $line;
$line_number++;
+ $line = Encode::encode_utf8($encoder->decode($line, Encode::FB_CROAK)) if $encoder;
+
if ($line =~ $close_tag_regexp) {
fail_with_error("$filename: $line_number: mismatched open/close tags") unless @nesting_levels;
pop @nesting_levels;
@@ -9200,6 +10863,7 @@ sub show_ids_in_file {
my $page_number = $+{page_match};
++$MATCH_COUNT;
+ ++$match_count;
push @nesting_levels, 1;
if ($options->{LOG_LINE_NUMBER}) {
@@ -9239,6 +10903,8 @@ sub show_ids_in_file {
print ' ' x $indent, $id_value, "\n";
}
}
+
+ return $match_count;
}
@@ -9256,7 +10922,7 @@ sub open_file_for_reading {
fail_with_error("cannot open @{[quote_filesystem($filename)]}: $OS_ERROR");
}
- $file;
+ return $file;
}
@@ -9272,9 +10938,9 @@ sub grep_or_show {
my ($options, $configuration, $file, $filename, $id_regexp) = @_;
if ($options->{SHOW_ALL_IDS}) {
- show_ids_in_file($options, $configuration, $file, $filename, $id_regexp);
+ return show_ids_in_file($options, $configuration, $file, $filename, $id_regexp);
} else {
- grep_log_file($options, $configuration, $file, $filename, $id_regexp);
+ return grep_log_file($options, $configuration, $file, $filename, $id_regexp);
}
}
@@ -9282,6 +10948,8 @@ sub grep_or_show {
sub scan_files {
my ($options, $configuration, $id_regexp, $log_filenames) = @_;
+ my $match_count = 0;
+
if (@$log_filenames) {
foreach my $log_filename (@$log_filenames) {
$log_filename = 'stdin' if $log_filename eq '-';
@@ -9294,15 +10962,17 @@ sub scan_files {
print $filename_header;
}
my $file = open_file_for_reading($log_filename);
- grep_or_show($options, $configuration, $file, $log_filename, $id_regexp);
+ $match_count += grep_or_show($options, $configuration, $file, $log_filename, $id_regexp);
close_file($file, $log_filename);
}
} else {
my $log_filename = 'stdin';
my $file = open_file_for_reading($log_filename);
- grep_or_show($options, $configuration, $file, $log_filename, $id_regexp);
+ $match_count = grep_or_show($options, $configuration, $file, $log_filename, $id_regexp);
close_file($file, $log_filename);
}
+
+ return $match_count;
}
@@ -9319,10 +10989,12 @@ sub redirect_and_scan_files {
my $stdout = select $pager;
$pager->autoflush;
- scan_files($options, $configuration, $id_regexp, $log_filenames);
+ my $match_count = scan_files($options, $configuration, $id_regexp, $log_filenames);
close $pager or issue_warning "error occurred while closing the pager (pid: $pid) pipe: $OS_ERROR";
select $stdout;
+
+ return $match_count;
}
@@ -9431,6 +11103,7 @@ sub setup_configuation {
my $default_options = {
COLORIZE_MODE => 'auto',
DEBUG => 0,
+ ENCODING => undef,
ID => 0,
IGNORE_CASE => 0,
JOB_NAME => 0,
@@ -9452,6 +11125,7 @@ Options
--colour [WHEN] use color to highlight specific log contents
WHEN is 'always', 'never', or 'auto'
-C, --config KEY=VALUE set configuration KEY to VALUE
+ -E, --encoding ENCODING set character ENCODING of LOG-FILE
-i, --[no-]id print matching id with output lines
-y, --[no-]ignore-case ignore case distinctions in patterns and data
-j, --[no-]job-name print \\jobname with output lines
@@ -9461,10 +11135,12 @@ Options
-P, --[no-]pager redirect output to pager
-w, --[no-]word-regexp match only whole words
- -a, --all, --any show all IDs in LOG-FILE
+ -a, --all, --any discover all IDs in LOG-FILE
+
--debug turn on debug output
-h, --help display this help and exit
--show-config show default configuration and exit
+ --show-encodings show all known encodings and exit
-V, --version show version information and exit
HELP_TEXT
@@ -9473,6 +11149,17 @@ HELP_TEXT
}
+sub show_encodings {
+ my @all_encodings = Encode->encodings(':all');
+
+ foreach my $encoding (@all_encodings) {
+ print "$encoding\n";
+ }
+
+ exit 0;
+}
+
+
sub show_configuration {
my $format_string_value = sub {quote_literal($default_configuration->{$_[0]})};
@@ -9508,10 +11195,10 @@ FIXED_CONFIGURATION_TEXT
sub show_version {
print <<VERSION_TEXT;
-typog-grep 0.1
+typog-grep @RELEASE@
Copyright (C) 2024 by Ch. L. Spiel
-License LPPL: LaTeX Project Public License version 1.3 or later
+License LPPL: LaTeX Project Public License version 1.3c or later
VERSION_TEXT
exit 0;
@@ -9527,6 +11214,7 @@ sub get_options {
'color|colour=s' => \$options->{COLORIZE_MODE},
'C|configuration=s' => sub{setup_configuation($_[1], $configuration)},
'debug+' => \$DEBUG,
+ 'E|encoding=s' => \$options->{ENCODING},
'h|help' => \&show_help,
'i|id!' => \$options->{ID},
'y|ignore-case!' => \$options->{IGNORE_CASE},
@@ -9535,13 +11223,18 @@ sub get_options {
'N|log-line-number!' => \$options->{LOG_LINE_NUMBER},
'p|page-number!' => \$options->{PAGE_NUMBER},
'P|pager!' => \$options->{REQUEST_PAGER},
+ 'show-encodings' => \&show_encodings,
'show-config' => \&show_configuration,
'V|version' => \&show_version,
'w|word-regexp!' => \$options->{WORD_REGEXP}) or
- fail_with_error('problems while parsing options');
+ fail_with_error('problems while parsing options');
- fail_with_error("unknown colorize mode @{[quote_literal($options->{COLORIZE_MODE})]}")
- unless $options->{COLORIZE_MODE} =~ m/^(?:always|auto|never)$/i
+ if ($options->{COLORIZE_MODE}) {
+ fail_with_error("unknown colorize mode @{[quote_literal($options->{COLORIZE_MODE})]}")
+ unless $options->{COLORIZE_MODE} =~ m/^(?:always|auto|never)$/i;
+ } else {
+ $options->{COLORIZE_MODE} = 'auto';
+ }
}
@@ -9565,14 +11258,27 @@ sub do_colorize {
sub main {
$OUTPUT_IS_REDIRECTED = -t STDOUT ? 0 : 1;
- my $options = {%$default_options};
my $configuration = {%$default_configuration};
+ my $options = {%$default_options};
+ debug_print(Data::Dumper::Dumper(['Default Configuration', $configuration]));
+ debug_print(Data::Dumper::Dumper(['Default Options', $options]));
+
+ my $user_options = {};
+ my $user_configuration = {};
+ get_options($user_options, $user_configuration);
+ debug_print(Data::Dumper::Dumper(['User Configuration', $user_configuration]));
+ debug_print(Data::Dumper::Dumper(['User Options', $user_options]));
+ while (my ($key, $value) = each %$user_options) {
+ $options->{$key} = $value if $value;
+ }
+ while (my ($key, $value) = each %$user_configuration) {
+ $configuration->{$key} = $value if $value;
+ }
+ debug_print(Data::Dumper::Dumper(['Final Configuration', $configuration]));
+ debug_print(Data::Dumper::Dumper(['Final Options', $options]));
- get_options($options, $configuration);
$options->{COLORIZE_OUTPUT} = do_colorize($options->{COLORIZE_MODE});
initialize_highlighting_from_configuration($configuration);
- debug_print(Data::Dumper::Dumper($configuration));
- debug_print(Data::Dumper::Dumper($options));
my $id_regexp;
if ($options->{SHOW_ALL_IDS}) {
@@ -9584,17 +11290,18 @@ sub main {
$id_regexp = shift @ARGV;
}
- if ($options->{REQUEST_PAGER} && $OUTPUT_IS_REDIRECTED) {
+ if ($user_options->{REQUEST_PAGER} && $OUTPUT_IS_REDIRECTED) {
issue_warning("option @{[quote_literal('--pager')]} ignored because output is redirected");
}
my $use_pager = $options->{REQUEST_PAGER} && !$OUTPUT_IS_REDIRECTED;
+ my $match_count;
if ($use_pager) {
- redirect_and_scan_files($options, $configuration, $id_regexp, \@ARGV);
+ $match_count = redirect_and_scan_files($options, $configuration, $id_regexp, \@ARGV);
} else {
- scan_files($options, $configuration, $id_regexp, \@ARGV);
+ $match_count = scan_files($options, $configuration, $id_regexp, \@ARGV);
}
- exit ($MATCH_COUNT == 0);
+ exit ($match_count == 0);
}
@@ -9615,7 +11322,7 @@ main();
=head1 NAME
-typog-grep - grep for typog-inspect elements in LaTeX log files
+typog-grep - specialized grep for typog-inspect elements in LaTeX log files
=head1 SYNOPSIS
@@ -9628,9 +11335,70 @@ typog-grep - grep for typog-inspect elements in LaTeX log files
=back
-The first form shows all C<E<lt>typog-inspect id="I<ID>" ...E<gt>> elements in F<LOG-FILE>.
+The first form, ``discovery mode'', shows all I<ID>s of
+
+=begin text
+
+<typog-inspect id="ID" ...>
+
+=end text
+
+=begin man
+
+.RS
+.EX
+<typog-inspect id="\fI\,ID\/\fP" ...>
+.EE
+.RE
+
+=end man
+
+=begin texinfo
+
+@example
+<typog-inspect id="@var{ID}" ...>
+@end example
+@noindent
+
+=end texinfo
+
+Z<>
+elements in F<LOG-FILE>.
+
+The second form shows the contents, I<LOG-DATA>, of the elements
-The second form shows the contents of C<E<lt>typog-inspect id="I<ID>" ...E<gt>> elements
+=begin text
+
+<typog-inspect id="ID" ...>
+LOG-DATA
+</typog-inspect>
+
+=end text
+
+=begin man
+
+.RS
+.EX
+<typog-inspect id="\fI\,ID\/\fP" ...>
+\fILOG-DATA\fP
+</typog-inspect>
+.EE
+.RE
+
+=end man
+
+=begin texinfo
+
+@example
+<typog-inspect id="@var{ID}" ...>
+@var{LOG-DATA}
+</typog-inspect>
+@end example
+@noindent
+
+=end texinfo
+
+Z<>
whose I<ID>s match I<REGEXP> in F<LOG-FILE>.
If no F<LOG-FILE> is given read from F<stdin>.
@@ -9639,57 +11407,101 @@ The S<filename C<->> is synonymous to F<stdin>.
=head1 DESCRIPTION
-B<typog-grep> is a tailored post-processor for LaTeX log files
-and the C<typoginspect> environment as provided by S<package typog>.
+B<typog-grep> is a tailored post-processor for LaTeX S<F<log> files>
+and the C<typoginspect> environment as provided by the S<LaTeX package typog>.
It shares more with the venerable
L<B<sgrep>|https://www.cs.helsinki.fi/u/jjaakkol/sgrep.html>
than with S<POSIX L<B<grep>|https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html>>.
-The LaTeX user brackets her text in
+In the LaTeX source file the user brackets her text or code
+in a C<typoginspect> environment:
+
+=begin text
+
+\begin{typoginspect}{ID}
+ TEXT-OR-CODE-TO-INVESTIGATE
+\end{typoginspect}
+
+=end text
+
+=begin man
+
+.RS
+.EX
+\ebegin{typoginspect}{\fI\,ID\/\fP}
+\fITEXT-OR-CODE-TO-INVESTIGATE\fP
+\eend{typoginspect}
+.EE
+.RE
- \begin{typoginspect}{ID}
- Text and code to investigate
- \end{typoginspect}
+=end man
+
+=begin texinfo
+
+@example
+@backslashchar{}begin@lbracechar{}typoginspect@rbracechar{}@lbracechar{}@var{ID}@rbracechar{}
+@var{TEXT-OR-CODE-TO-INVESTIGATE}
+@backslashchar{}end@lbracechar{}typoginspect@rbracechar{}
+@end example
+@noindent
+
+=end texinfo
+Z<>
where I<ID> is used to identify one or more bracketed snippets.
I<ID> does not have to be unique.
The I<REGEXP> mechanism makes it easy to select groups of related I<ID>s
if they are named accordingly.
-In F<LOG-FILE> the environment shows up, packed with tracing information, as
+In F<LOG-FILE> the result of the environment shows up,
+packed with tracing information, as
-=begin texinfo
+=begin text
-@display
-@relax
+<typog-inspect id="ID" job="JOB-NAME" line="LINE-NUMBER" page="PAGE-NUMBER">
+ LOG-DATA
+</typog-inspect>
-=end texinfo
+=end text
+
+=begin man
- <typog-inspect id="ID" job="JOB-NAME" line="LINE-NUMBER" page="PAGE-NUMBER">
- Trace Data
- </typog-inspect>
+.RS
+.EX
+<typog-inspect id="\fI\,ID\/\fP" job="\fI\,JOB-NAME\/\fP" line="\fI\,LINE-NUMBER\/\fP" page="\fI\,PAGE-NUMBER\/\fP">
+\fILOG-DATA\fP
+</typog-inspect>
+.EE
+.RE
+
+=end man
=begin texinfo
-@end display
-@relax
+@example
+<typog-inspect id="@var{ID}" job="@var{JOB-NAME}" line="@var{LINE-NUMBER}" page="@var{PAGE-NUMBER}">
+@var{LOG-DATA}
+</typog-inspect>
+@end example
+@noindent
=end texinfo
+Z<>
where all the capital-letter sequences are meta-variables
and in particular
I<JOB-NAME> is the expansion of C<\jobname>,
I<LINE-NUMBER> is the LaTeX source file line number
of the beginning of the C<typoginspect> environment,
and I<PAGE-NUMBER> is the page where
-the output of S<C<Text and code to investigate>> occurs.
+the output of S<C<TEXT-OR-CODE-TO-INVESTIGATE>> occurs.
B<typog-grep> reveals the contents of F<LOG-FILE>
between C<E<lt>typog-inspect id="I<ID>" ...E<gt>>
-and C<E<lt>/typog-inspectE<gt>> excluding the XML-tags.
+and C<E<lt>/typog-inspectE<gt>> excluding the XML-tags themselves.
Access the I<JOB-NAME>, I<LINE-NUMBER>, and I<PAGE-NUMBER>
with the commandline options
-B<--job-name>, B<--line-number>, and B<--page-number>, respectively.
+B<--job-name>, B<--line-number>, and B<--page-number>, respectively.
Use B<--id> to show the name of the IDs that matched I<REGEXP>.
C<typoginspect> environments can be nested.
@@ -9707,11 +11519,18 @@ The list of options is sorted by the names of the long options.
=item B<-a>, B<--all>, B<--any>
ID-discovery mode:
-Show all C<typog-inspect> elements independent of any matching patterns.
+Discover all C<typog-inspect> elements independent of any matching patterns
+and print their I<ID>s.
+The results are printed in their order of occurrence in the respective F<LOG-FILE>s.
+Pipe the output into B<sort> to get alphabetically ordered I<ID>s.
+
+Augment with options
+B<--job-name>, B<--line-number>, B<--log-line-number>, or S<B<--page-number>>
+for more information.
=item B<--color>, B<colour> I<WHEN>
-Colorize specific log contents for the matching ids.
+Colorize specific log contents for the matching I<ID>s.
The S<argument I<WHEN>> determines when to apply color:
C<always>, C<never>, S<or C<auto>>.
The setting C<auto> checks whether standard output has been redirected.
@@ -9720,29 +11539,45 @@ This is the default.
=item B<-C>, B<--config> I<KEY>=I<VALUE>[:I<KEY>=I<VALUE>[:...]]
Set one or more configuration I<KEY> to I<VALUE> pairs.
-See S<Sec. CONFIGURATION> below for a description of all available configuration items.
-Use option B<--show-config> to display the default configuration.
+See section L</CONFIGURATION> for a description
+of all available configuration items.
+Use S<option B<--show-config>> to display the default configuration.
=item B<--debug>
Turn on debug output on F<stderr>.
+=item B<-E>, B<--encoding> I<ENCODING>
+
+Set the I<ENCODING> of F<LOG-FILE> for the translation to UTF-8.
+The default is unset.
+
+Use this option to get rid of pesky
+S<"E<lt>I<HEX-DIGITS>E<gt>" escapes> on UTF-8 terminals.
+See S<option B<--show-encodings>> for the known encodings and
+Encode::Supported for a summary of all encodings.
+See also S<section L</Some Common Encodings>>.
+
+Apply L<B<iconv>|https://pubs.opengroup.org/onlinepubs/9699919799/utilities/iconv.html>
+(POSIX) or L<B<recode>|https://github.com/rrthomas/recode/> (GNU) on F<LOG-FILE>
+before this tool to avoid having to use S<option B<--encoding>>.
+
=item B<-h>, B<--help>
Display brief help then exit.
=item B<-i>, B<--[no-]id>
-Print the actual id name that matched I<REGEXP>.
-Control the appearance of the matching id with configuration S<item C<id-heading>>.
+Print the actual ID-name that matched I<REGEXP>.
+Control the appearance of the matching I<ID> with configuration S<item C<id-heading>>.
=item B<-y>, B<--[no-]ignore-case>
-Match ids while ignoring case distinctions in patterns and data.
+Match I<ID>s while ignoring case distinctions in patterns and data.
=item B<-j>, B<--[no-]job-name>
-Print the C<\jobname> that B<tex> associated with the input file.
+Print the C<\jobname> that B<latex> associated with the input file.
=item B<-n>, B<--[no-]line-number>
@@ -9766,6 +11601,10 @@ Redirect output from F<stdout> to the configured pager.
Show the default configuration and exit.
+=item B<--show-encodings>
+
+Show all known encodings and exit.
+
=item B<-V>, B<--version>
Show version information and exit.
@@ -9789,26 +11628,26 @@ S<Default: C<%s:>.>
=item C<id-heading>=C<0>E<verbar>C<1>
-Choose between printing the matching ids with S<option B<--id>>:
+Choose between printing the matching I<ID>s with S<option B<--id>>:
S<Inline (C<0>)> or heading before the matching data (C<1>).
S<Default: C<0>.>
=item C<id-heading-format>=I<FORMAT>
-Control the I<FORMAT> for printing matching ids in heading-mode,
+Control the I<FORMAT> for printing matching I<ID>s in heading-mode,
where I<FORMAT> is passed to Perl's C<printf>.
S<Default: C<--E<gt> %s E<lt>-->.>
=item C<id-indent>=I<INDENT>
Indentation of nested typog-inspect tags.
-Only used in ``discovery'' mode (first form), i.e., if B<--all> is active.
+Only used in ``discovery mode'' (first form), i.e., if S<B<--all>> is active.
S<Default: 8.>
=item C<id-max-length>=I<MAXIMUM-LENGTH>
-Set the maximum length of a matching id for printing.
-It a matching id exceeds this length it will be truncated
+Set the maximum length of a matching I<ID> for printing.
+It a matching I<ID> exceeds this length it will be truncated
and the last three characters (short of I<MAXIMUM-LENGTH>) will be replaced by dots.
S<Default: 40.>
@@ -9874,11 +11713,11 @@ Color of lines with horizontal S<breakpoints C<@@>>.
=item C<id-color>
-Color of matching ids when printed inline.
+Color of matching I<ID>s when printed inline.
=item C<id-heading-color>
-Color of matching ids when printed in heading form.
+Color of matching I<ID>s when printed in heading form.
=item C<line-break-pass-color>
@@ -9947,15 +11786,93 @@ C<bold>, C<dark>, C<italic>, C<underline>, C<reverse>
=back
+=head2 Some Common Encodings
+
+The following list shows some encodings
+that are suitable for S<option B<--encoding>>.
+
+=over 4
+
+=item Latin-1, Western European
+
+C<iso-8859-1>, C<cp850>, C<cp860>, C<cp1252>
+
+=item Latin-2, Central European
+
+C<iso-8859-2>, C<cp852>, C<cp1250>
+
+=item Latin-3, South European (Esperanto, Maltese)
+
+C<iso-8859-3>
+
+=item Latin-4, North European (Baltics)
+
+C<iso-8859-4>
+
+=item Cyrillics
+
+C<iso-8859-5>, C<cp855>, C<cp866> (Ukrainian), C<cp1251>
+
+=item Arabic
+
+C<iso-8859-6>, C<cp864>, C<cp1006> (Farsi), C<cp1256>
+
+=item Greek
+
+C<iso-8859-7>, C<cp737>, C<cp1253>
+
+=item Hebrew
+
+C<iso-8859-8>, C<cp862>, C<cp1255>
+
+=item Turkish
+
+C<iso-8859-9>, C<cp857>, C<cp1254>
+
+=item Nordic
+
+C<iso-8859-10>, C<cp865>, C<cp861> (Icelandic)
+
+=item Thai
+
+C<iso-8859-11>, C<cp874>
+
+=item Baltic
+
+C<iso-8859-13>, C<cp775>, C<cp1257>
+
+=item Celtic
+
+C<iso-8859-14>
+
+=item Latin-9 (sometimes called Latin0)
+
+C<iso-8859-15>
+
+=item Latin-10
+
+C<iso-8859-16>
+
+=back
+
+
=head1 EXIT STATUS
The exit status is 0 if at least one I<ID> matched I<REGEXP>,
1 if no I<ID> matched I<REGEXP>, and 2 if an error occurred.
+=head1 CAVEATS
+
+The end tag C<< </typog-inspect> >> sometimes gets placed too early in the output and the trace
+I<seems> truncated. However, LaTeX reliably logs the requested the trace information, but the
+write operations for trace data and the code which is used to print the S<end tag> are not
+synchronized.
+
+
=head1 SEE ALSO
-B<grep>(1), B<printf>(3), B<Term::ANSIColor>(pm)
+B<grep>(1), B<printf>(3), B<Encode::Supported>(pm), B<Term::ANSIColor>(pm)
=cut
diff --git a/macros/latex/contrib/typog/typog.ins b/macros/latex/contrib/typog/typog.ins
index 06378d86bb..23c8b33366 100644
--- a/macros/latex/contrib/typog/typog.ins
+++ b/macros/latex/contrib/typog/typog.ins
@@ -1,11 +1,11 @@
%% Copyright (C) 2024 by Ch. L. Spiel
%%
%% This work may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3 of this
+%% of the LaTeX Project Public License, either version 1.3c of this
%% license or (at your option) any later version. The latest version
%% of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
@@ -23,11 +23,11 @@ This is a generated file.
Copyright (C) 2024 by Ch. L. Spiel
This work may be distributed and/or modified under the conditions
-of the LaTeX Project Public License, either version 1.3 of this
+of the LaTeX Project Public License, either version 1.3c of this
license or (at your option) any later version. The latest version
of this license is in
- http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
+ https://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
version 2003/12/01 or later.
This work has the LPPL maintenance status `maintained'.
@@ -37,7 +37,9 @@ The Current Maintainer of this work is Ch. L. Spiel.
This work consists of the files typog.dtx and typog.ins
and the derived files typog.sty, slant-angle.mp,
crooked-paragraphs.mp, smooth-parshapes.mp, title.mp,
-typog-example.tex, typog-nomt.tex, typog-grep.pl,
+typog-example.tex, typog-minimal-test.tex,
+typog-without-microtype-test.tex
+typog-grep.pl.in, typog-grep.pl,
typog-grep.pod, and teximan2latex.sed.
@@ -48,20 +50,22 @@ typog-grep.pod, and teximan2latex.sed.
\generate{\file{typog.sty}{\from{\source}{package}}
\file{typog-example.tex}{\from{\source}{example}}
- \file{typog-nomt.tex}{\from{\source}{nomicrotype}}
- \file{typog.ist}{\from{\source}{index-style}}}
+ \file{typog-minimal-test.tex}{\from{\source}{minimal-test}}
+ \file{typog-without-microtype-test.tex}{\from{\source}{without-microtype}}}
\nopostamble
-\generate{\file{title.mp}{\from{\source}{title}}
+\generate{\file{crooked-paragraphs.mp}{\from{\source}{crookedparagraphs}}
\file{slant-angle.mp}{\from{\source}{slantangle}}
- \file{crooked-paragraphs.mp}{\from{\source}{crookedparagraphs}}
- \file{smooth-parshapes.mp}{\from{\source}{smoothparshapes}}}
+ \file{smooth-parshapes.mp}{\from{\source}{smoothparshapes}}
+ \file{title.mp}{\from{\source}{title}}
+ \file{typog.gst}{\from{\source}{changes-style}}
+ \file{typog.ist}{\from{\source}{index-style}}}
\nopreamble
\generate{\file{teximan2latex.sed}{\from{\source}{teximan2latex}}
- \file{typog-grep.pl}{\from{\source}{typog-grep}}
+ \file{typog-grep.pl.in}{\from{\source}{typog-grep}}
\file{typog-grep.pod}{\from{\source}{typog-grep-documentation}}}
diff --git a/macros/latex/contrib/ulthese/README.md b/macros/latex/contrib/ulthese/README.md
index 436842396a..30ca019967 100644
--- a/macros/latex/contrib/ulthese/README.md
+++ b/macros/latex/contrib/ulthese/README.md
@@ -1,15 +1,14 @@
-# Package ulthese
+# Thesis class for Université Laval
-The package provides a class based on memoir and compatible with LaTeX
-and XeLaTeX to prepare theses and memoirs compliant with the
+The package provides a class based on memoir and compatible with
+pdfLaTeX and XeLaTeX to prepare theses and memoirs compliant with the
presentation rules set forth by the Faculty of Graduate Studies of
Université Laval, Québec, Canada. The class also comes with an
extensive set of templates for the various types of theses and memoirs
offered at Laval.
-Please note that the documentation for the class and the comments in
-the templates are written in French, the language of the target
-audience.
+The documentation for the class and the comments in the templates are
+written in French, the language of the target audience.
## Licence
@@ -18,11 +17,11 @@ later version.
## Version
-5.3a (2021-08-09)
+6.0 (2024-07-02)
## Author
-Université Laval <ulthese-dev@bibl.ulaval.ca>
+Vincent Goulet for Université Laval <ulthese-dev@bibl.ulaval.ca>
## Source code repository
@@ -30,20 +29,20 @@ https://gitlab.com/vigou3/ulthese/
> The rest of this file is in French for the target audience.
-# Paquetage ulthese
+# Classe pour les thèses et mémoires de l'Université Laval
Le paquetage **ulthese** fournit la classe du même nom permettant de
composer des thèses et des mémoires immédiatement conformes aux règles
-générales de présentation matérielle de la Faculté des études
-supérieures et postdoctorales (FESP) de l'[Université
-Laval](https://www.ulaval.ca).
+générales et complémentaires de présentation matérielle de la Faculté
+des études supérieures et postdoctorales (FESP) de l'[Université
+Laval](https://www.ulaval.ca).
La classe permet également de produire les types de documents suivants
selon les mêmes règles de présentation que les thèses et mémoires:
examen de doctorat, essai de maîtrise, projet de recherche, rapport de
stage.
-La classe est compatible avec LaTeX et XeLaTeX.
+La classe est compatible avec pdfLaTeX et XeLaTeX.
## Contenu du paquetage
@@ -56,16 +55,18 @@ La classe est compatible avec LaTeX et XeLaTeX.
## Installation
-Pour installer la classe ulthese, compiler avec LaTeX le fichier
-`ulthese.ins`, en exécutant
+Le paquetage **ulthese** est distribué via le réseau de sites
+Comprehensive TeX Archive Network (CTAN) et il fait partie des
+distributions TeX standards. Par conséquent, nous recommandons
+fortement d'installer ou de mettre à jour le paquetage à l'aide du
+gestionnaire de paquetages de votre distribution.
- latex ulthese.ins
+Les experts TeX peuvent générer la classe en compilant le fichier
+`ulthese.ins` avec LaTeX:
-depuis une ligne de commande. On peut aussi ouvrir le fichier
-`ulthese.ins` dans son éditeur LaTeX et lancer la compilation avec
-LaTeX, pdfTeX, pdfLaTeX ou XeLaTeX depuis celui-ci.
+ latex ulthese.ins
-La compilation du fichier ulthese.ins générera plusieurs fichiers:
+La compilation générera plusieurs fichiers:
1. la classe elle-même:
- `ulthese.cls`
@@ -97,16 +98,18 @@ Les gabarits inutiles peuvent être supprimés.
## Documentation
Le fichier `ulthese.pdf` contient la documentation complète de la
-classe et des gabarits. Le document peut être recréé à partir du code
-source avec les commandes
+classe. Le document peut être recréé à partir du code source avec les
+commandes
- pdflatex ulthese.dtx
+ xelatex ulthese.dtx
makeindex -s gglo.ist -o ulthese.gls ulthese.glo
- pdflatex ulthese.dtx
+ xelatex ulthese.dtx
+ xelatex ulthese.dtx
## Historique des versions
-L'historique des versions de la classe se trouve en annexe de la documentation.
+L'historique des versions de la classe se trouve en annexe de la
+documentation.
## Commentaires et suggestions
@@ -116,11 +119,5 @@ des améliorations à la classe.
## Aide additionnelle
-Faire appel aux ressources suivantes, dans l'ordre:
-
-1. consulter le [WikiThèse de l'Université Laval](http://www.theses.ulaval.ca/wiki/);
-
-2. consulter les archives de la liste de distribution
- [ulthese-aide](http://listes.ulaval.ca/listserv/archives/ulthese-aide.html);
-
-3. écrire à la liste de distribution [ulthese-aide](mailto:ulthese-aide@listes.ulaval.ca).
+Vous pouvez obtenir de l'aide additionnelle sur l'utilisation de la
+classe en écrivant à l'adresse: ulthese-aide@listes.ulaval.ca.
diff --git a/macros/latex/contrib/ulthese/ulthese.dtx b/macros/latex/contrib/ulthese/ulthese.dtx
index 0d79080881..58da90e888 100644
--- a/macros/latex/contrib/ulthese/ulthese.dtx
+++ b/macros/latex/contrib/ulthese/ulthese.dtx
@@ -1,340 +1,490 @@
-% \iffalse meta-comment
+% \iffalse meta-comment -*- mode: doctex -*-
%
-% Copyright (C) 2021 Universite Laval
+% Thesis class for Universite Laval
+%
+% Copyright (C) 2012-2024 Universite Laval
%
% This file may be distributed and/or modified under the conditions
% of the LaTeX Project Public License, either version 1.3c of this
% license or (at your option) any later version. The latest version
% of this license is in:
%
-% http://www.latex-project.org/lppl.txt
-%
-% and version 1.3c or later is part of all distributions of LaTeX
-% version 2006/05/20 or later.
-%
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainer of this work is Universite Laval
-% <ulthese-dev@bibl.ulaval.ca>.
-%
-% This work consists of the files ulthese.dtx and ulthese.ins
-% and the derived files listed in the README.md file.
+% https://www.latex-project.org/lppl.txt
%
+% The Current Maintainer of this work is Vincent Goulet for
+% Universite Laval <ulthese-dev@bibl.ulaval.ca>.
% \fi
%
% \iffalse
%<*dtx>
\ProvidesFile{ulthese.dtx}
%</dtx>
-%<class>\NeedsTeXFormat{LaTeX2e}[2009/09/24]
+%<class>\NeedsTeXFormat{LaTeX2e}[2021/06/01]
%<class>\ProvidesClass{ulthese}%
%<*class>
- [2021/08/09 v5.3a Universite Laval thesis and memoir class]
+ [2024/07/02 v6.0 Thesis class for Universite Laval]
%</class>
%<*driver>
-\documentclass[11pt,english,french]{ltxdoc}
- \usepackage[utf8]{inputenc}
- \usepackage[T1]{fontenc}
- \usepackage{natbib}
+\documentclass[article,oneside,11pt,x11names,english,french]{memoir}
\usepackage{babel}
\usepackage[autolanguage]{numprint}
- \usepackage{microtype}
- \usepackage[scaled=0.92]{helvet}
- \usepackage[scaled=1.02]{inconsolata}
- \usepackage[sc]{mathpazo}
- \usepackage{fontawesome}
+ \usepackage[round,semicolon,authoryear,sectionbib]{natbib}
\usepackage{metalogo}
- \usepackage{tabularx,booktabs,caption}
+ \usepackage{enumitem}
+ \usepackage{relsize}
+ \usepackage{awesomebox}
+
+ %% Le chargement de doc.sty cause des conflits avec memoir. Il faut:
+ %%
+ %% - annuler la définition de l'environnement 'glossary' de memoir;
+ %% - remettre en place les définitions standards des commandes pour
+ %% le glossaire sur lesquelles se base doc.sty (nécessaire aussi
+ %% pour l'index, mais il n'est pas utilisé).
+ \let\theglossary\relax % avoid conflict with doc.sty
+ \let\endtheglossary\relax % avoid conflict with doc.sty
+ \makeatletter
+ \def\makeglossary{%
+ \newwrite\@glossaryfile
+ \immediate\openout\@glossaryfile=\jobname.glo
+ \def\glossary{\@bsphack\begingroup
+ \@sanitize
+ \@wrglossary}\typeout
+ {Writing glossary file \jobname.glo }%
+ \let\makeglossary\@empty
+ }
+ \@onlypreamble\makeglossary
+ \def\@wrglossary#1{%
+ \protected@write\@glossaryfile{}%
+ {\string\glossaryentry{#1}{\thepage}}%
+ \endgroup
+ \@esphack}
+ \def\glossary{\@bsphack\begingroup\@sanitize\@index}
+ \@twosidefalse\@mparswitchfalse % turn off twoside option
+ \makeatother
+ \usepackage{doc}
+ \def\changes#1#2#3{\glossary{#1>#3}} % simplification
\DisableCrossrefs
\CodelineNumbered
\RecordChanges
- \GlossaryPrologue{\section*{Historique des versions}%
- \addcontentsline{toc}{section}{Historique des versions}}
+ %\OnlyDescription
+ \DontCheckModules
+
+ %% Polices de caractères
+ \iftutex
+ \usepackage[babel=true]{microtype}
+ \usepackage{fontspec}
+ \usepackage{unicode-math}
+ \setmainfont{STIXTwoText}
+ [
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-SemiBold,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-SemiBoldItalic,
+ Numbers = {Proportional,OldStyle},
+ Scale = 1,
+ Ligatures = TeX
+ ]
+ \setsecheadstyle{\normalfont\Large\sffamily\bfseries\raggedright}
+ \setsubsecheadstyle{\normalfont\large\sffamily\bfseries\raggedright}
+ \setsubsubsecheadstyle{\normalfont\sffamily\bfseries\raggedright}
+ \else
+ \usepackage[babel=true]{microtype}
+ \usepackage[utf8]{inputenc}
+ \usepackage[T1]{fontenc}
+ \usepackage[stix2]{newtxmath}
+ \fi
+ \usepackage[book,medium,proportional,oldstyle,scale=0.92]{FiraSans}
+ \usepackage[medium,lining,scale=0.90]{FiraMono}
%% Couleurs
\usepackage{xcolor}
- \definecolor{link}{rgb}{0,0.4,0.6} % ~RoyalBlue de dvips
- \definecolor{url}{rgb}{0.6,0,0} % rouge foncé
- \definecolor{citation}{rgb}{0,0.5,0} % vert foncé
-
- %% Liste description alignée à gauche
- \usepackage{enumitem}
- \setlist[description]{leftmargin=*,align=left}
-
- %% Environnement pour remarques
- \usepackage{amsthm}
- \theoremstyle{definition}
- \newtheorem*{rem}{Remarque}
+ \definecolor{link}{rgb}{0,0.4,0.6} % liens internes
+ \definecolor{url}{rgb}{0.6,0,0} % liens externes
+ \definecolor{citation}{rgb}{0,0.5,0} % citations
%% Hyperliens
- \usepackage{hyperref}
- \hypersetup{%
- pdfauthor = {Faculté des études supérieures et postdoctorales},
- pdftitle = {Guide de l'utilisateur de la classe ulthese},
- colorlinks = {true},
- linktocpage = {true},
- urlcolor = {url},
- linkcolor = {link},
- citecolor = {citation},
- pdfpagemode = {UseOutlines},
- pdfstartview = {Fit},
- bookmarksopen = {true},
- bookmarksnumbered = {true},
- bookmarksdepth = {subsubsection}}
- \addto\extrasfrench{%
- \def\appendixautorefname{annexe}%
- \def\tableautorefname{tableau}%
- \def\subsectionautorefname{section}%
+ \AtEndPreamble{%
+ \usepackage{bookmark} % charge hyperref
+ \hypersetup{%
+ pdftitle = {Guide d'utilisation de la classe ulthese},
+ pdfauthor = {Faculté des études supérieures et postdoctorales},
+ colorlinks = {true},
+ urlcolor = {url},
+ linkcolor = {link},
+ citecolor = {citation}}
+ \bookmarksetup{%
+ open = true,
+ depth = 3,
+ numbered = true}
+ \addto\extrasfrench{%
+ \def\subsectionautorefname{section}%
+ }
}
%% Paramétrage de babel
- \frenchbsetup{%
- StandardItemizeEnv=true, % listes standards
+ \frenchsetup{%
+ SmallCapsFigTabCaptions=false, % pas de petites capitales
ThinSpaceInFrenchNumbers=true, % espace fine dans les nombres
og=«, fg=» % « et » sont les guillemets
}
- \def\frenchtablename{{\scshape Tab.}}
+ \renewcommand*\frenchtablename{Tab.}
+ \renewcommand*\frenchfigurename{Fig.}
+ \renewcommand*\generalname{Général} % mot clé du glossaire
+
+ %% Désactiver le niveau des chapitres de memoir
+ \let\chapter\relax
+ \counterwithout{section}{chapter}
+
+ %% Utiliser une numérotation des sections à trois niveaux
+ \setsecnumdepth{subsubsection}
+ \maxsecnumdepth{subsubsection}
+
+ % Les annexes sont des sections, ici. Redéfinir la
+ % commande \appendix comme dans la classe article.
+ \makeatletter
+ \renewcommand*\appendix{\par
+ \setcounter{section}{0}
+ \gdef\thesection{\@Alph\c@section}}
+ \makeatother
+
+ %% Aligner à gauche l'environnement description
+ \setlist[description]{leftmargin=*,align=left}
+
+ %% Configurer le glossaire
+ \addto\extrasfrench{%
+ \def\glossaryname{Historique des versions}}
+ \GlossaryPrologue{\section*{\glossaryname}%
+ \addcontentsline{toc}{section}{\glossaryname}}
+ \setcounter{GlossaryColumns}{2}
+ \setlength{\GlossaryMin}{5cm}
- %% Commandes de mise en forme spéciales
- \newcommand{\class}[1]{\textsf{#1}}
- \newcommand{\pkg}[1]{\textbf{#1}}
+ %% Nouvel environnement de type \DescribeMacro pour les options de
+ %% la classe
+ \NewDocElement[envlike,notoplevel,printtype=\emph{option}]{Option}{option}
- %% Commandes pour les liens vers la documentation
- \newcommand{\link}[2]{\href{#1}{#2~\raisebox{-0.2ex}{\faExternalLink}}}
- \newcommand{\doc}[2][documentation]{\link{#2}{#1}}
+ %% Commandes sémantiques additionnelles
+ \let\class\textsf
+ \let\pkg\textbf
+ \makeatletter
+ \renewcommand\code{\bgroup\@makeother\_\@makeother\~\@makeother\$\code@}
+ \def\code@#1{{\normalfont\ttfamily\hyphenchar\font=-1 #1}\egroup}
+ \makeatother
+ \newcommand*\ulthesename{ulthese}
+ \newcommand*\ulclass{\class{\ulthesename}}
+ \newcommand*\btx{\textsc{Bib}\TeX}
- %% Francisation d'un mot clé de l'historique des commandes
- \def\generalname{Général}
+ %% Redéfinir \year pour utiliser l'information de \filedate plutôt
+ %% que la date de compilation
+ \def\parsedate#1/#2/#3\relax{\def\year{#1}}
+
+ %% Convertir la date en format ISO
+ \def\isodate#1/#2/#3\relax{#1-#2-#3}
+
+ \MakeShortVerb{\|}
\begin{document}
\DocInput{ulthese.dtx}
\end{document}
%</driver>
% \fi
-% \CheckSum{914}
% \DoNotIndex{\',\^,\`,\ ,\ae}
% \DoNotIndex{\RequirePackage,\ExecuteOptions,\ProcessOptions}
% \DoNotIndex{\newcommand,\newcommand*}
% \DoNotIndex{\setlength}
+% \changes{6.0}{2024-05-22}{Prise en compte des règles de présentation
+% entrées en vigueur à l'automne 2023 qui n'exigent plus une
+% bibliographie par chapitre pour les thèses et mémoire par
+% intégration d'articles.}
+% \changes{6.0}{2024-05-22}{Suppression des options
+% \texttt{bibchapitre} et \texttt{bibsection}.}
+% \changes{6.0}{2024-07-02}{Ajout du grade de maître en travail
+% social.}
+% \changes{6.0}{2024-07-02}{Retrait du grade de maître en
+% physiothérapie.}
+% \changes{6.0}{2024-05-24}{Utilisation du codage de caractères UTF-8
+% par défaut dans la classe. Modification des gabarits en
+% conséquence.}
+% \changes{6.0}{2024-06-17}{Révision exhaustive de la documentation.}
% \changes{4.4}{2017-05-16}{Prise en charge des bibliographies
-% multiples pour les thèses et mémoires par articles.}
+% multiples pour les thèses et mémoires par articles.}
+% \changes{4.4}{2017-05-15}{Ajout de l'option \texttt{bibchapitre}.}
+% \changes{4.4}{2017-05-15}{Ajout de l'option \texttt{bibsection}.}
% \changes{4.4}{2017-05-16}{Documentation révisée, principalement ce
-% qui touche à la préparation de la bibliographie.}
+% qui touche à la préparation de la bibliographie.}
% \changes{4.3}{2017-03-01}{Nouvelles options pour les titres de
-% docteur en musique, maître en architecture, maître en
-% ergothérapie, maître en physiothérapie et maître en
-% psychoéducation.}
-% \changes{4.3}{2017-03-01}{Modifications à la composition des sigles de
-% grades.}
+% docteur en musique, maître en architecture, maître en ergothérapie,
+% maître en physiothérapie et maître en psychoéducation.}
+% \changes{4.3}{2017-03-01}{Modifications à la composition des sigles
+% de grades.}
% \changes{4.3}{2017-03-01}{Vérification de la compatibilité entre le
-% grade et les options multifacultaire, cotutelle, bidiplomation et
-% extension.}
+% grade et les options \texttt{multifacultaire}, \texttt{cotutelle},
+% \texttt{bidiplomation} et \texttt{extension}.}
% \changes{4.3}{2017-03-01}{Améliorations à la documentation.}
-% \changes{4.2}{2016-03-29}{Ajout de l'option «examen».}
+% \changes{4.2}{2016-03-29}{Ajout de l'option \texttt{examen}.}
% \changes{4.1}{2016-02-13}{Paquetage geometry déclaré incompatible
-% avec la classe.}
-% \changes{4.0}{2015-06-12}{Nouvelles règles de présentation matérielle
-% de la FESP: recto seulement, page frontispice.}
-% \changes{3.1}{2014-05-23}{Prise en charge de la maîtrise en bidiplomation.}
+% avec la classe.}
+% \changes{4.0}{2015-06-12}{Nouvelles règles de présentation
+% matérielle de la FESP: recto seulement, page frontispice.}
+% \changes{3.1}{2014-05-23}{Prise en charge de la maîtrise en
+% bidiplomation.}
% \changes{3.0a}{2014-03-24}{Modifications et corrections à la
-% documentation, notamment relativement à la configuration de natbib.}
+% documentation, notamment relativement à la configuration de
+% \textbf{natbib}.}
% \changes{3.0}{2014-01-06}{Déclaration du grade en option de la
-% classe.}
-% \changes{3.0}{2014-01-06}{Moteur XeLaTeX supporté.}
-% \changes{3.0}{2014-01-06}{Ajout de l'option nobabel.}
+% classe.}
+% \changes{3.0}{2014-01-06}{Moteur {\XeLaTeX} supporté.}
+% \changes{3.0}{2014-01-06}{Ajout de l'option \texttt{nobabel}.}
% \changes{2.1}{2013-01-16}{Utilisation transparente de la police
-% Helvetica pour la page de titre.}
+% Helvetica pour la page de titre.}
% \changes{2.0}{2013-01-13}{Traitement automatique des longs titres.}
% \changes{1.0b}{2012-11-11}{Ajouts et corrections mineures dans la
-% documentation.}
+% documentation.}
% \changes{1.0a}{2012-10-17}{Précisions dans la documentation.}
% \changes{1.0}{2012-09-30}{Version initiale.}
% \GetFileInfo{ulthese.dtx}
-% \title{\class{ulthese}: la classe pour les thèses et mémoires de
-% l'Université Laval\thanks{Ce document décrit la classe
-% \class{ulthese}~\fileversion, datée du \filedate.}}
+%
+% \title{Guide d'utilisation de la classe {\ulclass} \\ pour les thèses et
+% mémoires \\ de l'Université Laval}
% \author{Faculté des études supérieures et postdoctorales\thanks{%
% Cette classe et sa documentation ont été rédigées par Vincent
% Goulet~(Faculté des sciences et de génie) avec la collaboration de
% Koassi D'Almeida~(Faculté des études supérieures et postdoctorales) et
-% de Pierre Lasou~(Bibliothèque).}}
-% \date{}
+% Pierre Lasou~(Bibliothèque).}}
+% \date{Version {\fileversion} du {\expandafter\isodate\filedate\relax}}
% \maketitle
%
% \section{Introduction}
%
-% La classe \class{ulthese} permet de composer avec {\LaTeX} ou
-% {\XeLaTeX} des thèses et mémoires immédiatement conformes aux règles
-% générales de présentation matérielle de la Faculté des études
-% supérieures et postdoctorales (FESP) de l'Université Laval. Ces
-% règles définissent principalement la présentation des pages de titre
-% des thèses et mémoires ainsi que la disposition du texte sur la
-% page. La classe en elle-même est donc relativement simple.
-%
-% Cependant, \class{ulthese} est basée sur la classe \class{memoir}
-% \citep{memoir}, une extension de la classe standard \class{book}
-% facilitant à plusieurs égards la préparation de documents d'allure
-% professionnelle dans {\LaTeX}. La classe \class{memoir} incorpore
-% d'office plus de 30 des paquetages les plus populaires\footnote{%
-% Consulter la section~18.24 de la documentation de \class{memoir}
-% pour la liste ou encore le journal de la compilation (\emph{log})
-% d'un document utilisant la classe \class{ulthese}.}. %
-% L'intégralité des fonctionnalités de \class{memoir} se retrouve donc
-% dans \class{ulthese}.
-%
-% La classe \class{memoir} fait partie des distributions {\LaTeX}
-% modernes; elle devrait donc être installée et disponible sur votre
-% système. Elle est livrée avec une %
-% \doc{http://texdoc.net/pkg/memoir} %
-% exhaustive: le guide de l'utilisateur fait près de 600~pages!
-% N'hésitez pas à vous y référer pour réaliser une mise en page
-% particulière.
-%
-% L'autre compagnon naturel de la présente documentation est
-% \doc[Rédaction avec {\LaTeX}]{http://texdoc.net/pkg/formation-latex-ul} ^^A
-% \citep{formation-latex-ul}, la formation {\LaTeX} de l'Université Laval.
-% Vous y trouverez des informations additionnelles sur l'utilisation des
-% classes \class{ulthese} et \class{memoir}.
+% La classe {\ulclass} permet de composer des thèses et mémoires
+% immédiatement conformes aux règles générales et complémentaires de
+% présentation de la Faculté des études supérieures et postdoctorales
+% (FESP) de l'Université Laval. Ces règles définissent principalement
+% la présentation des pages de titre des thèses et mémoires, ainsi que
+% la disposition du texte sur la page.
+%
+% La composition d'un manuscript avec la classe {\ulclass} requiert une
+% distribution {\TeX} récente et à jour. Nous recommandons les
+% distributions %
+% \href{https://tug.org/texlive}{{\TeX}~Live}~---%
+% ou sa variante pour macOS %
+% \href{https://tug.org/mactex}{Mac{\TeX}}~--- %
+% et %
+% \href{https://miktex.org}{MiK{\TeX}}. %
+% Vous pouvez également avoir recours à une plateforme de rédaction en
+% ligne comme %
+% \href{https://overleaf.com}{Overleaf}; %
+% leurs distributions {\TeX} satisfont généralement les conditions
+% ci-dessus.
+%
+% La classe {\ulclass} fait partie des distributions {\TeX} standards via
+% le paquetage %
+% \href{https://ctan.org/pkg/ulthese}{\pkg{ulthese}}. %
+% Dans la mesure où votre distribution est
+% à jour, vous devriez pouvoir l'utiliser sans autre intervention.
+%
+% Le compagnon naturel de la présente documentation est \emph{Rédaction
+% avec {\LaTeX}}, la formation {\LaTeX} de l'Université Laval. Vous y
+% trouverez sans doute une foule d'informations utiles pour la
+% préparation de votre thèse ou de votre mémoire. L'ouvrage fait
+% lui aussi partie des distributions {\TeX} standards, via le
+% paquetage %
+% \href{https://ctan.org/pkg/formation-latex-ul}{\pkg{formation-latex-ul}}. %
%
% \section{Démarrage rapide (pour les impatients)}
% \label{sec:utilisation:rapide}
%
-% La classe est livrée avec les distributions {\TeX}~Live, Mac{\TeX} et
-% MiK{\TeX}. Si vous utilisez l'une ou l'autre de ces distributions et
-% qu'elle est à jour\footnote{%
-% Validez à l'aide de l'assistant de mise à jour de votre
-% distribution.}, %
-% vous devriez pouvoir utiliser \class{ulthese} sans autre
-% intervention.
-%
-% Il est recommandé de segmenter tout document d'une certaine ampleur
-% dans des fichiers |.tex| distincts pour chaque partie ---
-% habituellement un fichier par chapitre. Le document complet est alors
-% composé à l'aide d'un fichier maître qui contient le préambule
-% {\LaTeX} et un ensemble de commandes \cmd{\include} pour réunir les
-% parties dans un tout.
+% La classe {\ulclass} est livrée avec un ensemble de gabarits sur
+% lesquels se baser pour le document maître de divers types de thèses
+% et de mémoires (standard, par articles, en cotutelle, en
+% bidiplomation), ainsi que pour les parties les plus usuelles
+% (résumés français et anglais, remerciements, avant-propos,
+% introduction, chapitres, conclusion, annexe). Les noms des fichiers
+% devraient permettre de facilement identifier leur contenu. Dans la
+% distribution {\TeX}~Live, les gabarits sont classés avec la
+% documentation.
%
-% La classe \class{ulthese} est livrée avec un ensemble de gabarits sur
-% lesquels se baser pour:
-% \begin{itemize}
-% \item le document maître de divers types de thèses et de mémoires
-% (standard, par articles, en cotutelle, en bidiplomation);
-% \item les fichiers des parties les plus usuelles (résumés français
-% et anglais, avant-propos, introduction, chapitres, conclusion,
-% etc.).
-% \end{itemize}
-% Les noms des fichiers devraient permettre de facilement identifier
-% leur contenu (c'est là une bonne pratique: le nom |rappels.tex|
-% parle de lui-même et résiste mieux aux changements à l'ordre des
-% chapitres que |chapitre1.tex|).
+% Pour débuter rapidement la rédaction de votre manuscrit, copiez les
+% gabarits appropriés dans votre dossier de travail et suivez les
+% directives qui s'y trouvent. Nous recommandons de compiler votre
+% manuscript avec {\XeLaTeX}.
%
-% Dans {\TeX}~Live, les gabarits sont classés avec la documentation de
-% la classe. Pour les utiliser, copiez les fichiers appropriés dans votre
-% dossier de travail.
+% La classe utilise le codage de caractères
+% \href{https://fr.wikipedia.org/wiki/UTF-8}{UTF-8}. Vous devez donc
+% obligatoirement utiliser ce type codage quand un fichier contient
+% des caractères non-ASCII (comme des lettres accentuées).
%
-% Pour débuter la rédaction, renommez le gabarit de document maître
-% approprié d'après votre numéro de dossier. Par exemple, l'étudiante
-% dont le numéro de dossier est 111555555 et qui entame la rédaction
-% d'une thèse par articles renommera le fichier
-% \begin{quote}
-% |gabarit-doctorat-articles.tex|
-% \end{quote}
-% en
-% \begin{quote}
-% |111555555.tex|.
-% \end{quote}
+% Le reste de ce guide contient les informations détaillées sur les
+% caractéristiques et fonctionnalités de la classe.
%
-% Les gabarits comportent des commentaires succincts pour vous guider
-% dans la préparation de votre document. La \autoref{sec:gabarits}
-% fournit les informations détaillées.
+% \changes{5.3a}{2021-08-09}{Ajout à la documentation de la
+% disponibilité d'une archive pour les personnes qui ne disposent pas
+% d'une installation de {\TeX} locale.}
+% \tipbox{Si vous n'avez pas accès aux gabarits parce qu'ils ne sont
+% pas inclus dans votre distribution ou parce que vous utilisez une
+% plateforme de rédaction en ligne, poursuivez votre lecture à la
+% \autoref{sec:installation}.}
%
% \section{Installation}
+% \label{sec:installation}
%
-% Cette section explique comment installer la classe \class{ulthese}
+% Cette section explique comment installer la classe {\ulclass}
% si elle n'est pas disponible sur votre système ou si la version
% n'est pas à jour.
%
-% La classe est distribuée sous forme d'une archive |ulthese.zip| via
-% le réseau de sites \emph{Comprehensive {\TeX} Archive Network} (CTAN):
+% La classe {\ulclass} est distribuée dans le paquetage %
+% \href{https://ctan.org/pkg/ulthese}{\pkg{ulthese}} %
+% via le réseau de sites \emph{Comprehensive {\TeX} Archive Network}
+% (CTAN). Celui-ci fait partie des distributions {\TeX} standards telles
+% que {TeX}~Live, Mac{\TeX} et MiK{\TeX}. Nous recommandons fortement
+% d'installer ou de mettre à jour \pkg{ulthese} à l'aide du
+% gestionnaire de paquetages de votre distribution {\TeX}. Par
+% exemple, avec {\TeX}~Live, vous pouvez effectuer ces opérations dans
+% l'assistant graphique, ou encore avec l'une ou l'autre des commandes
+% ci-dessous:
% \begin{quote}
-% \url{https://www.ctan.org/pkg/ulthese}
+% \code{tlmgr install ulthese}
+% \end{quote}
+% ou
+% \begin{quote}
+% \code{tlmgr update ulthese}
% \end{quote}
%
-% L'installation de la classe consiste à créer le fichier
-% |ulthese.cls| et les gabarits |.tex| à partir du code source
-% documenté se trouvant dans le fichier |ulthese.dtx|. Il est
-% recommandé de simplement créer ces fichiers dans le dossier de
-% travail de la thèse ou du mémoire.
-%
-% Pour procéder à l'installation, décompressez l'archive |ulthese.zip|
-% dans votre dossier de travail, puis compilez avec {\LaTeX} le fichier
-% |ulthese.ins| en exécutant la commande suivante depuis une invite
-% de commande:
+% S'il vous est impossible d'installer des paquetages ou de mettre à
+% jour la distribution {\TeX}~--- notamment si vous utilisez une
+% plateforme de rédaction en ligne~--- vous pouvez procéder à une
+% installation simplifiée de la classe dont la portée sera limitée à
+% votre projet. Pour ce faire, téléchargez l'archive %
% \begin{quote}
-% |latex ulthese.ins|
+% \code{ulthese-installation-projet.zip}
% \end{quote}
-% Vous pouvez aussi ouvrir le fichier |ulthese.ins| dans votre éditeur
-% de texte favori et lancer depuis celui-ci la compilation avec
-% {\LaTeX}, pdf{\LaTeX}, {\XeLaTeX} ou un autre moteur {\TeX}.
+% depuis le
+% \href{https://gitlab.com/vigou3/ulthese/-/releases}{dépôt du projet ulthese}
+% et décompressez celle-ci dans le répertoire de votre document. Vous
+% disposerez alors de tous les fichiers essentiels de la classe à
+% l'intérieur de ce projet.
%
-% \changes{5.3a}{2021-08-09}{Ajout à la documentation de la
-% disponibilité d'une archive pour les personnes qui ne disposent
-% pas d'une installation de {\TeX} locale.}
-% \begin{rem}
-% Si vous ne disposez pas d'une version de {\TeX} sur votre poste de
-% travail --- vraisemblablement parce que vous utilisez une
-% plateforme de rédaction en ligne --- téléchargez
-% l'archive |ulthese-sans-tex-local.zip| depuis le
-% \link{https://gitlab.com/vigou3/ulthese/-/releases}{dépôt du
-% projet}. Celle-ci contient tous les fichiers
-% normalement créés lors de l'installation de la classe.
-% \end{rem}
+% Si votre expertise {\TeX} vous pousse à préférer une installation
+% manuelle avec accès à l'intégralité du code source de la classe,
+% consultez les instructions qui se trouvent dans le fichier
+% \code{README.md} du paquetage.
%
% \section{Utilisation}
+% \label{sec:utilisation}
+%
+% La classe {\ulclass} est basée sur la classe %
+% \href{https://ctan.org/pkg/memoir}{\class{memoir}}, %
+% une extension de la classe standard \class{book} facilitant à
+% plusieurs égards la préparation de documents d'allure
+% professionnelle dans {\LaTeX}. L'intégralité des fonctionnalités de
+% \class{memoir} se retrouve donc dans {\ulclass}.
+%
+% La classe \class{memoir} fait partie des distributions {\TeX}
+% récentes; elle devrait donc être installée et disponible sur votre
+% système. La classe est livrée avec une documentation exhaustive: le
+% guide de l'utilisateur fait près de 600~pages! N'hésitez pas à vous
+% y référer pour réaliser une mise en page particulière.
+%
+% La classe {\ulclass} est compatible avec le moteur pdf{\LaTeX}.
+% Cependant, pour faciliter la gestion du codage des fichiers et des
+% polices de caractères, nous recommandons de compiler votre
+% manuscript avec le plus moderne moteur {\XeLaTeX}.
+%
+% \subsection{Gabarits}
+% \label{sec:utilisation:gabarits}
+%
+% La classe est livrée avec un ensemble de gabarits sur lesquels vous
+% baser pour:
+% \begin{itemize}
+% \item le document maître de divers types de thèses et de mémoires
+% (standard, par articles, en cotutelle, en bidiplomation);
+% \item les fichiers des parties les plus usuelles (résumés français
+% et anglais, remerciements, avant-propos, introduction, chapitres,
+% conclusion, annexe).
+% \end{itemize}
+% Vous pourriez devoir combiner les caractéristiques de deux gabarits
+% de document maître, par exemple pour une thèse en cotutelle par
+% articles.
+%
+% Les gabarits vous incitent à adopter le mode d'organisation des
+% fichiers de tout document d'une certaine ampleur, soit: un fichier
+% |.tex| par partie; un fichier maître contenant le préambule {\LaTeX}
+% et un ensemble de commandes \cmdprint{\include} pour réunir les
+% parties dans un tout.
+%
+% Si vous utilisez la version de la classe fournie avec votre
+% distribution {\TeX}, les gabarits peuvent être classés avec la
+% documentation (c'est le cas dans {\TeX}~Live). Si vous avez plutôt
+% effectué une installation locale de la classe, ou si vous l'avez
+% installée manuellement, les gabarits se trouvent dans votre
+% dossier de travail.
%
-% La classe est compatible avec les moteurs {\LaTeX} traditionnels
-% ainsi qu'avec le plus récent moteur {\XeLaTeX}.
+% Nous recommandons fortement de rédiger votre manuscript à partir des
+% gabarits. Il peut aussi s'avérer utile de suivre un gabarit en lisant
+% la présente section.
+%
+% \tipbox{Il n'y a pas de gabarit spécifique pour un examen de
+% doctorat, pour un essai de maîtrise, pour un projet de recherche ou
+% pour un rapport de stage. Utilisez un gabarit de thèse ou de
+% maîtrise avec l'une ou l'autre des options |examen|, |essai|,
+% |projet| ou |stage|.}
+%
+% \changes{6.0}{2024-05-24}{Documentation: nouvelle section sur le
+% codage de caractères du code source.}
+% \subsection{Codage de caractères du code source}
+% \label{sec:utilisation:codage}
+%
+% La classe utilise le codage de caractères
+% \href{https://fr.wikipedia.org/wiki/UTF-8}{UTF-8}
+% tant avec pdf{\LaTeX} qu'avec {\XeLaTeX}. Les fichiers
+% contenant du texte avec des accents ou tout autre symbole non-ASCII
+% doivent donc obligatoirement être enregistrés dans ce codage de
+% caractères\footnote{%
+% L'UTF-8 n'étant pas le codage par défaut sous Windows, portez une
+% attention toute particulière à ce point si vous utilisez ce système
+% d'exploitation.}.
+%
+% \subsection{Déclaration de la classe et options}
+% \label{sec:utilisation:options}
%
% On charge la classe avec la commande
% \begin{quote}
-% |\documentclass|\oarg{options}|{ulthese}|
+% |\documentclass|\oarg{options}|{ulthese}|
% \end{quote}
% Les marges, l'interligne et la numérotation des pages sont adaptées
-% aux règles de présentation matérielle de la FESP. Les sections
-% suivantes décrivent les options et les commandes définies par la
-% classe.
+% aux règles de présentation de la FESP. La classe ne crée pas de page
+% de titre par défaut\footnote{%
+% Depuis la version 5.0 de la classe.}, %
+% sa production étant prise en charge par la FESP pour les thèses et
+% les mémoires. Si vous utilisez la classe pour un document qui
+% nécessite une page de titre, un examen de doctorat, un essai de
+% maitre
%
% \changes{5.0}{2018-04-24}{La classe ne crée plus de page de titre
-% suite à une nouvelle directive de la FESP.}
-% \begin{rem}
-% Depuis la version 5.0, la classe ne crée plus de page de titre
-% par défaut, sa production étant désormais prise en charge par la
-% FESP. Néanmoins, les fonctionnalités de composition d'une page
-% de titre demeurent disponibles dans la classe. Les commandes
-% pertinentes sont regroupées à l'\autoref{sec:pagetitre}.
-% \end{rem}
-%
-% \subsection{Options de la classe}
-% \label{sec:utilisation:options}
+% suite à une nouvelle directive de la FESP.}
+% \tipbox{Les fonctionnalités de composition d'une page de titre
+% demeurent disponibles dans la classe. Si votre document en nécessite
+% une, consultez l'\autoref{sec:pagetitre}.}
%
% Cette section passe en revue les \meta{options} que l'on peut
% spécifier au chargement de la classe. Les commandes mentionnées
% ci-dessous font quant à elles l'objet de la
% \autoref{sec:utilisation:commandes}.
%
-% \begin{DescribeMacro}{PhD,MSc,MA, ...}
-% Identifie le type de grade; consulter le \autoref{tab:grades} pour
-% la liste complète des options et les grades correspondants. La
-% déclaration d'un type de grade est obligatoire, sauf en cas de
-% l'utilisation de l'option |projet| (voir ci-dessous).
-% \end{DescribeMacro}
+% \begin{DescribeOption}{PhD,MSc,MA, ...}
+% Les options telles que |PhD|, |MSc| ou |MA| identifient le type de
+% grade; le \autoref{tab:grades} fournit la liste complète des
+% options et les grades correspondants. La déclaration d'un type de
+% grade est obligatoire, sauf en cas de l'utilisation de l'option
+% |projet| (voir ci-dessous).
+% \end{DescribeOption}
%
% \begin{table}[t]
% \centering
% \caption{Options de la classe pour la déclaration du grade et libellés
% correspondants}
% \label{tab:grades}
-% \begin{tabularx}{0.85\linewidth}{lX}
+% \begin{tabularx}{0.9\linewidth}{l>{\raggedright\arraybackslash}X}
% \toprule
% Option & Nom du grade (sigle) \\
% \midrule
@@ -355,145 +505,138 @@
% |MArch|
% & Maître en architecture
% (M.~Arch.) \\
-% |MA|
-% & Maître ès arts (M.A.) \\
% |LLM|
% & Maître en droit (LL.~M.) \\
% |MErg|
% & Maître en ergothérapie (M.~Erg.) \\
% |MMus|
% & Maître en musique (M.~Mus.) \\
-% |MPht|
-% & Maître en physiothérapie (M.~Pht.) \\
-% |MSc|
-% & Maître ès sciences (M.~Sc.) \\
+% |MPsEd|
+% & Maître en psychoéducation (M.~Ps.~éd.) \\
% |MScGeogr|
% & Maître en sciences géographiques (M.~Sc.~géogr.) \\
% |MServSoc|
% & Maître en service social (M.~Serv.~soc.) \\
-% |MPsEd|
-% & Maître en psychoéducation (M.~Ps.~éd.) \\
+% |MTravSoc|
+% & Maître en travail social (M.~Trav.~soc.) \\
+% |MA|
+% & Maître ès arts (M.A.) \\
+% |MSc|
+% & Maître ès sciences (M.~Sc.) \\
% \bottomrule
% \end{tabularx}
% \end{table}
%
-% \begin{DescribeMacro}{cotutelle}
-% Identifie une thèse effectuée en cotutelle avec une autre
-% université. Valide uniquement avec un grade de doctorat.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{bidiplomation}
-% Identifie un mémoire effectué en bidiplomation avec une autre
-% université. Valide uniquement avec un grade de maîtrise.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{examen}
-% Identifie un examen de doctorat. Cette option permet d'utiliser la
-% classe pour la rédaction d'un examen de doctorat respectant les
-% règles de présentation matérielle de la FESP. Elle a pour effet de
-% changer l'appellation «Thèse» sur la page de titre pour «Examen
-% de doctorat». Elle supprime également la page frontispice.
+% \begin{DescribeOption}{cotutelle}
+% L'option |cotutelle| identifie une thèse effectuée en cotutelle
+% avec une autre université. Valide uniquement avec un grade de
+% doctorat.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{bidiplomation}
+% L'option |bidiplomation| identifie un mémoire effectué en
+% bidiplomation avec une autre université. Valide uniquement avec un
+% grade de maîtrise.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{examen}
+% L'option |examen| identifie un examen de doctorat. Elle permet
+% d'utiliser la classe pour la rédaction d'un examen de doctorat
+% respectant les règles de présentation de la FESP. L'option a pour
+% effet de changer l'appellation «Thèse» sur la page de titre pour
+% «Examen de doctorat». Elle supprime également la page frontispice.
% L'option n'est compatible qu'avec l'une des options de grade de
% doctorat.
-% \end{DescribeMacro}
-%
-% \changes{5.0}{2018-05-09}{Ajout d'une option «essai» pour les
-% maîtrises analogue à «examen» pour les doctorats.}
-% \changes{5.2}{2019-05-06}{L'option «essai» n'empêche plus
-% l'utilisation d'une page frontispice.}
-% \begin{DescribeMacro}{essai}
-% Identifie un essai de maîtrise. Cette option permet d'utiliser la
-% classe pour la rédaction d'un essai de maîtrise respectant les
-% règles de présentation matérielle de la FESP. Elle a pour effet de
-% changer l'appellation «Maîtrise» sur la page de titre pour
-% «Essai». L'option n'est compatible qu'avec l'une des options de
+% \end{DescribeOption}
+%
+% \changes{5.0}{2018-05-09}{Ajout d'une option \texttt{essai} pour les
+% maîtrises analogue à \texttt{examen} pour les doctorats.}
+% \changes{5.2}{2019-05-06}{L'option \texttt{essai} n'empêche plus
+% l'utilisation d'une page frontispice.}
+% \begin{DescribeOption}{essai}
+% L'option |essai| identifie un essai de maîtrise. Elle permet
+% d'utiliser la classe pour la rédaction d'un essai de maîtrise
+% respectant les règles de présentation de la FESP. L'option a pour
+% effet de changer l'appellation «Maîtrise» sur la page de titre
+% pour «Essai». Elle n'est compatible qu'avec l'une des options de
% grade de maîtrise. Pour un essai de maîtrise, l'utilisation
% simultanée de l'option |article| de la classe \class{memoir} peut
% s'avérer tout indiquée.
-% \end{DescribeMacro}
-%
-% \changes{5.2}{2019-05-06}{Ajout d'une option «projet» pour les
-% cours de projet de recherche.}
-% \begin{DescribeMacro}{projet}
-% Identifie un projet de recherche. Cette option permet d'utiliser
-% la classe pour la rédaction d'un rapport de projet de recherche
-% respectant les règles de présentation matérielle de la FESP. Elle
-% a pour effet d'inscrire l'appellation «Projet de recherche» sur la
-% page de titre et de supprimer la mention du grade. L'utilisation
-% de cette option rend d'ailleurs non obligatoire la déclaration de
-% grade qui, si elle est présente, est simplement ignorée. Comme
-% pour un essai de maîtrise, l'utilisation simultanée de l'option
-% |article| de la classe \class{memoir} peut s'avérer tout indiquée
-% avec les cette option.
-% \end{DescribeMacro}
-%
-% \changes{5.3}{2019-11-29}{Ajout d'une option «stage» pour les
-% rapports de stage.}
-% \begin{DescribeMacro}{stage}
-% Identifie un rapport de stage. L'effet de cette option est
-% identique à celui de l'option |projet| à deux exceptions près:
-% l'inscription sur la page de titre est «Rapport de stage» et la
-% page frontispice est supprimée.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{10pt,11pt,12pt}
-% Sélectionne une taille de police de 10, 11 ou 12~points. Par
-% défaut la classe utilise une police de 11~points. Ces options
-% n'ont aucun effet sur la taille des polices des pages de titre.
-% \end{DescribeMacro}
-%
-% \changes{4.4}{2017-05-15}{Ajout de l'option bibchapitre.}
-% \changes{4.4}{2017-05-15}{Ajout de l'option bibsection.}
-% \begin{DescribeMacro}{bibchapitre}
-% \begin{DescribeMacro}{bibsection}
-% Permettent de composer une bibliographie distincte après chaque
-% fichier inséré dans le document avec \cmd{\include},
-% habituellement un chapitre; voir la
-% \autoref{sec:bibliographie:multiples}. Ces options sont
-% principalement utiles pour les thèses et mémoires par articles.
-% La bibliographie se présente sous la forme d'un chapitre non
-% numéroté avec |bibchapitre|, et sous la forme d'une section
-% numérotée avec |bibsection|.
-% \end{DescribeMacro}
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{nonatbib}
-% Empêche le chargement du paquetage \pkg{natbib}. La paquetage est
-% normalement chargé par la classe; voir la
+% \end{DescribeOption}
+%
+% \changes{5.2}{2019-05-06}{Ajout d'une option \texttt{projet} pour
+% les cours de projet de recherche.}
+% \begin{DescribeOption}{projet}
+% L'option |projet| identifie un projet de recherche. Elle permet
+% d'utiliser la classe pour la rédaction d'un rapport de projet de
+% recherche respectant les règles de présentation de la FESP.
+% L'option a pour effet d'inscrire l'appellation «Projet de
+% recherche» sur la page de titre et de supprimer la mention du
+% grade. Son utilisation rend d'ailleurs non obligatoire la
+% déclaration de grade qui, si elle est présente, est simplement
+% ignorée. Comme pour un essai de maîtrise, l'utilisation simultanée
+% de l'option |article| de la classe \class{memoir} peut s'avérer
+% tout indiquée avec cette option.
+% \end{DescribeOption}
+%
+% \changes{5.3}{2019-11-29}{Ajout d'une option \texttt{stage} pour les
+% rapports de stage.}
+% \begin{DescribeOption}{stage}
+% L'option |stage| identifie un rapport de stage. L'effet de cette
+% option est identique à celui de l'option |projet| à deux
+% exceptions près: l'inscription sur la page de titre est «Rapport
+% de stage» et la page frontispice est supprimée.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{10pt,11pt,12pt}
+% Les options |10pt|, |11pt| et |12pt| sélectionnent une taille de
+% police de 10, 11 ou 12~points. Par défaut la classe utilise une
+% police de 11~points. Ces options n'ont aucun effet sur la taille
+% des polices des pages de titre.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{nonatbib}
+% L'option |nonatbib| empêche le chargement du paquetage %
+% \href{https://ctan.org/pkg/natbib}{\pkg{natbib}}. %
+% Celui-ci est normalement chargé par la classe; voir la
% \autoref{sec:bibliographie}. L'option |nonatbib| permet d'empêcher
-% le chargement pour modifier les options du paquetage ou en cas de
-% conflit avec un autre paquetage de mise en forme de la
-% bibliographie.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{nobabel}
-% Empêche le chargement du paquetage \pkg{babel}. La classe utilise
-% par défaut ce paquetage pour le traitement des langues dans le
-% document; voir la \autoref{sec:langues}. L'option |nobabel| permet
-% d'empêcher son chargement si un autre paquetage devait être
-% utilisé --- on pense ici principalement à \pkg{polyglossia} pour
-% un document produit avec le moteur {\XeLaTeX}.
-% \end{DescribeMacro}
-%
-% \changes{5.1}{2018-09-30}{Ajout de l'option nohyperref.}
-% \begin{DescribeMacro}{nohyperref}
-% Empêche le chargement du paquetage \pkg{hyperref}. L'interaction
-% de ce paquetage avec les autres est parfois --- voire souvent ---
-% délicate. La classe se charge de le charger en tout dernier tel
-% que généralement recommandé. L'option |nohyperref| permet
-% d'empêcher son chargement s'il est absolument nécessaire de
+% son chargement pour vous permettre de modifier les options du
+% paquetage ou en cas de conflit avec un autre paquetage de mise en
+% forme de la bibliographie.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{nobabel}
+% L'option |nobabel| empêche le chargement du paquetage %
+% \href{https://ctan.org/pkg/babel}{\pkg{babel}}. %
+% La classe utilise par défaut ce paquetage pour le traitement des
+% langues dans le document; voir la \autoref{sec:langues}. L'option
+% |nobabel| permet d'empêcher son chargement si un autre paquetage
+% devait être utilisé~--- on pense ici principalement à %
+% \href{https://ctan.org/pkg/polyglossia}{\pkg{polyglossia}} %
+% pour un document produit avec le moteur {\XeLaTeX}.
+% \end{DescribeOption}
+%
+% \changes{5.1}{2018-09-30}{Ajout de l'option \texttt{nohyperref}.}
+% \begin{DescribeOption}{nohyperref}
+% L'option |nohyperref| empêche le chargement du paquetage %
+% \href{https://ctan.org/pkg/hyperref}{\pkg{hyperref}}. %
+% L'interaction de ce paquetage avec les autres est parfois~---
+% voire souvent~--- délicate. La classe tâche de le charger en tout
+% dernier, tel que généralement recommandé. L'option |nohyperref|
+% permet d'empêcher son chargement s'il est absolument nécessaire de
% charger d'autres paquetages avant \pkg{hyperref}. Si vous utilisez
% cette option, vous devez obligatoirement charger \pkg{hyperref}
% dans le préambule du document.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{english, french, ...}
-% Déclare les langues utilisées dans le document. Ces options sont
-% transférées au paquetage \pkg{babel} (dans la mesure où |nobabel|
-% n'est pas spécifié, bien entendu). Le libellé des langues devrait
-% donc correspondre aux options de \pkg{babel}. La dernière langue
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{english, french, ...}
+% Les options telles que |english|, |french| ou autres déclarent les
+% langues utilisées dans le document. Ces options sont transférées
+% au paquetage \pkg{babel} (dans la mesure où |nobabel| n'est pas
+% spécifié, bien entendu). Le libellé des langues devrait donc
+% correspondre aux options de \pkg{babel}. La dernière langue
% spécifiée est la langue active par défaut dans le document.
-% \end{DescribeMacro}
+% \end{DescribeOption}
%
% Toute autre option sera passée à la classe \class{memoir} dont,
% entre autres, le format du papier. Le format lettre nord-américain
@@ -505,14 +648,14 @@
% \subsection{Commandes de la classe}
% \label{sec:utilisation:commandes}
%
-% La classe \class{ulthese} définit quelques nouvelles commandes
+% La classe {\ulclass} définit quelques nouvelles commandes
% servant principalement à créer la page frontispice et des éléments
% des pages liminaires. Le sommaire des commandes se trouve dans le
% \autoref{tab:commandes} et les descriptions détaillées, ci-dessous.
%
% \begin{table}[t]
% \centering
-% \caption{Sommaire des commandes de la classe \class{ulthese}.
+% \caption{Sommaire des commandes de la classe {\ulclass}.
% Celles marquées d'une étoile $^\star$ sont obligatoires.}
% \label{tab:commandes}
% \begin{tabularx}{\linewidth}{lX}
@@ -533,12 +676,13 @@
% \end{table}
%
% \begin{DescribeMacro}{\titre}
-% Titre principal de la thèse ou du mémoire. Ne pas utiliser la
-% commande \cmd{\title} de {\LaTeX} pour ce faire.
+% La commande \cmdprint{\titre} sert à spécifier le titre principal
+% du manuscrit. Vous ne devez pas utiliser la commande \cmd{\title}
+% de {\LaTeX} pour ce faire.
%
-% Vous devez couper manuellement avec |\\| ou \cmd{\newline} un
-% titre très long. Par exemple, la déclaration d'un titre d'une
-% seule ligne est:
+% Coupez manuellement avec {\bs\bs} ou \cmd{\newline} un titre très
+% long. Par exemple, la déclaration d'un titre d'une seule ligne
+% est:
% \begin{quote}
% |\titre{Ceci est un titre d'une seule ligne}|
% \end{quote}
@@ -550,48 +694,51 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\soustitre}
-% Sous-titre de la thèse ou du mémoire, le cas échéant. Les remarques
-% sur un long titre principal s'appliquent également au sous-titre.
+% La commande \cmdprint{\soustitre} sert à spécifier le sous-titre
+% du manuscrit, le cas échéant. Les remarques sur un long titre
+% principal s'appliquent également au sous-titre.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\auteur}
-% Nom complet de l'auteur de la thèse ou du mémoire, sous la forme
-% |Prénom Nom| avec seulement des majuscules initiales. Ne pas
-% utiliser la commande \cmd{\author} de {\LaTeX} pour le nom de
-% l'auteur.
+% La commande \cmdprint{\auteur} permet de saisir le nom complet de
+% l'auteur de la thèse ou du mémoire, sous la forme |Prénom Nom|
+% avec seulement des majuscules initiales. N'utilisez pas la
+% commande \cmd{\author} de {\LaTeX} pour le nom de l'auteur.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\programme}
-% Nom complet officiel du programme d'études comme «Doctorat en
-% informatique» ou «Maîtrise en mathématiques». Si le programme
-% comporte une majeure, séparer sa mention de celle du programme
-% principal par un tiret demi-quadratin (obtenu avec |--|).
+% La commande \cmdprint{\programme} sert à spécifier le nom complet
+% officiel du programme d'études comme «Doctorat en informatique» ou
+% «Maîtrise en mathématiques». Si le programme comporte une majeure,
+% séparez sa mention de celle du programme principal par un tiret
+% demi-quadratin (obtenu avec |--|).
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\direction}
-% Nom complet du directeur ou de la directrice de recherche, sous la
-% forme |Prénom Nom| avec seulement des majuscules initiales, suivi
-% d'une virgule et de la mention «directeur de recherche» ou
-% «directrice de recherche».
+% La commande \cmdprint{\direction} sert à spécifier le nom complet
+% du directeur ou de la directrice de recherche, sous la forme
+% |Prénom Nom| avec seulement des majuscules initiales, suivi d'une
+% virgule et de la mention «directeur de recherche» ou «directrice
+% de recherche».
%
% Les thèses en cotutelle comportent un directeur ou une directrice
% de recherche et un directeur ou une directrice de cotutelle.
-% Séparer chaque mention par |\\|, comme ceci:
+% Séparez chaque mention par {\bs\bs}, comme ceci:
% \begin{quote}
% |\direction{Prénom Nom, directrice de recherche \\| \\
% | Prénom Nom, directeur de cotutelle}|
% \end{quote}
%
% De même, les maîtrises en bidiplomation comptent deux directeurs
-% ou directrices de recherche. Séparer chaque mention tel que
+% ou directrices de recherche. Séparez chaque mention tel que
% mentionné ci-dessus.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\codirection}
-% Comme la commande \cmd{\direction}, mais pour le ou les
-% codirecteurs de recherche, s'il y a lieu. Lorsqu'il y a plus d'un
-% codirecteur de recherche, séparer chaque mention par |\\|, comme
-% ceci:
+% La commande \cmdprint{\codirection} joue le même rôle que la
+% commande \cmdprint{\direction}, mais pour le ou les codirecteurs
+% de recherche, s'il y a lieu. Lorsqu'il y a plus d'un codirecteur
+% de recherche, séparez chaque mention par {\bs\bs}, comme ceci:
% \begin{quote}
% |\codirection{Prénom Nom, directrice de recherche \\| \\
% | Prénom Nom, directeur de recherche}|
@@ -599,27 +746,30 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\frontispice}
-% Création de la page frontispice. De toutes les commandes
-% ci-dessus, c'est la seule qui doit se trouver dans le corps du
-% document plutôt que dans le préambule.
+% La commande \cmdprint{\frontispice} crée la page frontispice à
+% l'endroit où elle apparait dans le code source. De toutes les
+% commandes ci-dessus, c'est la seule qui doit se trouver dans le
+% corps du document plutôt que dans le préambule.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\dedicace}
-% Ajout d'une dédicace («À mes parents», «À Camille») à la thèse ou
-% au mémoire. La dédicace est disposée seule sur une page liminaire,
-% à une dizaine de lignes de la marge du haut et alignée à droite.
-% Par défaut, elle est composée en italique.
+% La commande \cmdprint{\dedicace} permet d'insérer une dédicace («À
+% mes parents», «À Camille») à l'endroit où elle apparait dans le
+% code source. La dédicace est disposée seule sur une page
+% liminaire, à une dizaine de lignes de la marge du haut et alignée
+% à droite. Par défaut, elle est composée en italique.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\epigraphe}
-% Ajout d'une épigraphe au début du document. Comme la dédicace,
-% l'épigraphe est disposée seule sur une page liminaire, à une
-% dizaine de lignes de la marge du haut et alignée à droite. La
-% commande accepte deux arguments, soit le texte de la citation et
-% son auteur ou la source, dans l'ordre.
-%
-% Pour ajouter une épigraphe au début d'un ou plusieurs chapitres,
-% utiliser directement la commande \cmd{\epigraph} de
+% La commande \cmdprint{\epigraphe} permet d'insérer une épigraphe
+% au début du document. Comme la dédicace, l'épigraphe est disposée
+% seule sur une page liminaire, à une dizaine de lignes de la marge
+% du haut et alignée à droite. La commande accepte deux arguments,
+% soit le texte de la citation et son auteur ou la source, dans
+% l'ordre.
+%
+% Pour ajouter une épigraphe au début d'un ou de plusieurs
+% chapitres, utilisez directement la commande \cmd{\epigraph} de
% \class{memoir}, sur laquelle \cmd{\dedicace} et \cmd{\epigraphe}
% sont d'ailleurs basées.
% \end{DescribeMacro}
@@ -640,8 +790,8 @@
% L'environnement |quotation|, quant à lui, doit être utilisé pour
% les citations «longues», celles qui peuvent s'étendre sur plus de
% cinq lignes ou, surtout, plus d'un paragraphe. Dans la classe, le
-% texte est alors toujours placé en retrait de 10~mm, mais également
-% à interligne simple. De plus, un espace vertical sépare les
+% texte est alors toujours placé en retrait de 10~mm, mais aussi à
+% interligne simple. De plus, un espace vertical sépare les
% paragraphes, le cas échéant, afin de bien les distinguer les uns
% des autres.
% \end{DescribeEnv}
@@ -658,8 +808,9 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\SingleSpacing}
-% Si ce devait être nécessaire ailleurs dans le document, la
-% commande \cmd{\SingleSpacing} permet de passer à l'interligne simple.
+% Si ce devait être nécessaire ailleurs dans le document, vous
+% pouvez avoir recours à la commande \cmd{\SingleSpacing} pour
+% passer à l'interligne simple.
% \end{DescribeMacro}
%
% \subsection{Hyperliens}
@@ -680,58 +831,44 @@
% \subsection{Autres paquetages chargés}
% \label{sec:paquetages}
%
-% Outre \class{memoir}, la classe \class{ulthese} charge quelques
-% paquetages qui peuvent aussi vous être utiles. Il n'est donc pas
-% nécessaire de charger de nouveau les paquetages suivants:
-% \begin{description}
-% \item[\normalfont\pkg{babel}] \citep{babel} gestion des documents
-% rédigés dans une ou plusieurs langues autres que l'anglais (si
-% l'option |nobabel| de la classe est absente; voir aussi la
-% \autoref{sec:langues});
-% \item[\normalfont\pkg{numprint}] \citep{numprint} requis par la
-% commande \cmd{\nombre} de \pkg{babel}; le paquetage est donc
-% chargé uniquement si \pkg{babel} l'est. Permet de composer
-% automatiquement des nombres avec un séparateur toutes les trois
-% positions (une espace en français);
-% \item[\normalfont\pkg{natbib}] \citep{natbib} gestion de la
-% bibliographie (si l'option |nonatbib| de la classe est absente;
-% voir aussi la \autoref{sec:bibliographie});
-% \item[\normalfont\pkg{chapterbib}] \citep{chapterbib} gestion de
-% bibliographies multiples (si l'une ou l'autre des options
-% |bibchapitre| ou |bibsection| est spécifiée;
-% voir aussi la \autoref{sec:bibliographie:multiples});
-% \item[\normalfont\pkg{hyperref}] \citep{hyperref} permet de
-% transformer toutes les références en hyperliens cliquables lorsque
-% le document est produit avec pdf{\LaTeX} ou {\XeLaTeX} (si
-% l'option |nohyperref| est spécifiée, vous devez obligatoirement
-% charger le paquetage vous-même);
-% \item[\normalfont\pkg{etoolbox}] \citep{etoolbox} outils
-% additionnels pour la conception de classes et de paquetages
-% (utilisé pour le chargement de \pkg{hyperref});
-% \item[\normalfont\pkg{fontspec}] \citep{fontspec} gestion des
-% polices OpenType sous {\XeLaTeX} (chargé avec ce moteur
-% seulement);
-% \item[\normalfont\pkg{graphicx}] \citep{graphicx} insertion et
-% manipulation de graphiques;
-% \item[\normalfont\pkg{xcolor}] \citep{xcolor} gestion des couleurs
-% dans le document, notamment celle des hyperliens;
-% \item[\normalfont\pkg{textcomp}] multitude de symboles spéciaux,
-% dont un beau symbole de copyright, \textcopyright.
-% \end{description}
-% L'\autoref{sec:meo} sur la mise en œuvre de la classe fournit
-% plus de détails sur la liste des paquetages chargés et les raisons
-% pour lesquelles ils sont requis dans la classe.
+% \changes{6.0}{2024-06-17}{Documentation: simplification de la
+% section sur les autres paquetages chargés par la classe.}
+% La classe {\ulclass} charge par défaut les paquetages suivants qui
+% peuvent vous être utiles: %
+% \href{https://ctan.org/pkg/babel}{\pkg{babel}} (voir aussi la \autoref{sec:langues}) %
+% \href{https://ctan.org/pkg/fontspec}{\pkg{fontspec}}, %
+% \href{https://ctan.org/pkg/graphicx}{\pkg{graphicx}}, %
+% \href{https://ctan.org/pkg/hyperref}{\pkg{hyperref}}, %
+% \href{https://ctan.org/pkg/microtype}{\pkg{microtype}}, %
+% \href{https://ctan.org/pkg/natbib}{\pkg{natbib}} (voir aussi la
+% \autoref{sec:bibliographie}), %
+% \href{https://ctan.org/pkg/numprint}{\pkg{numprint}}, %
+% \href{https://ctan.org/pkg/xcolor}{\pkg{xcolor}}. %
+% Tel que mentionné précédemment, la classe est basée sur
+% \class{memoir} qui, elle-même, incorpore d'office une trentaine de
+% paquetages\footnote{%
+% Consultez la section~18.24 de la documentation de \class{memoir}
+% pour la liste, ou encore le journal de la compilation (\emph{log})
+% d'un document utilisant la classe {\ulclass}.}. %
+% L'intégralité des fonctionnalités de \class{memoir} se retrouve donc
+% dans {\ulclass}.
+%
+% L'\autoref{sec:meo} sur la mise en œuvre de la classe fournit la
+% liste détaillée des paquetages chargés et les raisons pour
+% lesquelles ils sont requis dans la classe.
%
% \subsection{Paquetage incompatible}
% \label{sec:incompatible}
%
-% Le paquetage \pkg{geometry} est incompatible avec la classe à cause
-% de sa mauvaise interaction avec \class{memoir}. Son chargement dans
-% le préambule du document cause une erreur lors de la compilation.
+% Le paquetage %
+% \href{https://ctan.org/pkg/geometry}{\pkg{geometry}} %
+% est incompatible avec la classe à cause de sa mauvaise interaction
+% avec \class{memoir}. Son chargement dans le préambule du document
+% cause une erreur lors de la compilation.
%
% \section{Thèses et mémoires par articles}
% \changes{5.0}{2018-06-08}{Ajout d'une section spécifique sur les
-% thèses et mémoires par articles.}
+% thèses et mémoires par articles.}
%
% La rédaction de la thèse ou du mémoire par articles est une pratique
% qui gagne en popularité. Elle consiste à remplacer le corps
@@ -741,167 +878,54 @@
% du mémoire (le cas échéant) y apparaissent sous forme de
% sections numérotées.
%
-% L'autre caractéristique qui distingue la thèse et le mémoire par
-% articles des versions standards, c'est la nécessité d'utiliser une
-% bibliographie distincte pour chacun des chapitres. Les options de la
-% classe |bibchapitre| et |bibsection| permettent de réaliser cette
-% mise en forme particulière. La \autoref{sec:bibliographie:multiples}
-% explique comment en tirer profit.
-%
% Des gabarits de document maître et de chapitre fournissent la
% structure de base pour la thèse et le mémoire par articles. Vous
% pouvez, au besoin, combiner les caractéristiques de ces gabarits à
-% celles de la thèse en cotutelle ou du mémoire en bidiplomation. La
-% \autoref{sec:gabarits} fournit les détails sur les gabarits.
+% celles de la thèse en cotutelle ou du mémoire en bidiplomation.
%
-% \section{Français et autres langues}
-% \label{sec:langues}
-%
-% Une complication additionnelle si vous rédigez dans une langue autre
-% que l'anglais consiste à adapter {\LaTeX} à votre langue, qu'il
-% s'agisse des mots clés, de la typographie ou de la césure des mots.
-% La solution standard à ce problème provient du paquetage
-% \pkg{babel}. Celui-ci permet de combiner plusieurs langues dans un
-% même document et de passer de l'une à l'autre facilement. Il est
-% chargé par défaut par la classe \class{ulthese}.
-%
-% Aucune langue n'est spécifiée dans la classe. Vous aurez sans doute
-% recours à l'anglais et au français, ne serait-ce que pour les deux
-% résumés demandés par la FESP. Vous devez spécifier les langues
-% utilisées dans le document en options à la classe, tel que mentionné
-% à la \autoref{sec:utilisation:options}. La \emph{dernière} langue
-% spécifiée devient par défaut la langue active du document.
-%
-% \begin{DescribeMacro}{\selectlanguage}
-% La commande \cmd{\selectlanguage} de \pkg{babel} permet de passer de
-% la langue courante à la langue spécifiée en argument.
-% \end{DescribeMacro}
-%
-% \begin{DescribeEnv}{otherlanguage}
-% L'environnement |otherlanguage| de \pkg{babel} permet de faire
-% la même chose que la commande \cmd{\selectlanguage}, sauf que le
-% changement de langue est local à l'environnement --- utile pour
-% les brefs changements de langue.
-% \end{DescribeEnv}
-%
-% Si vous n'êtes pas autrement familier avec le paquetage
-% \pkg{babel}, consultez sa %
-% \doc{http://texdoc.net/pkg/babel/}. %
-% Celle-ci est éclatée en un
-% document principal, pour le cœur du paquetage et plusieurs
-% autres pour les fonctionnalités propres à une langue: %
-% \doc[anglais]{http://texdoc.net/pkg/babel-english}, %
-% \doc[français]{http://texdoc.net/pkg/babel-french}, %
-% etc. Consultez au moins les documents consacrés aux
-% langues utilisées dans votre thèse ou mémoire. Le plus simple
-% consiste sans doute à consulter en ligne sur CTAN les
-% \link{https://mirrors.ctan.org/tex-archive/macros/latex/required/babel/contrib/}{%
-% documents spécifiques par langue}.
-% \changes{4.4}{2017-05-14}{Correction d'une url vers la documentation
-% de babel.}
-%
-% \begin{DescribeMacro}{\nombre}
-% Le paquetage \pkg{numprint} étant chargé dans la classe avec
-% \pkg{babel}, vous pouvez utiliser la commande \cmd{\nombre} pour
-% formater automatiquement les nombres. Par exemple, le résultat de
-% |\nombre{123456789}| est \nombre{123456789}.
-% \end{DescribeMacro}
-%
-% Les utilisateurs de {\XeLaTeX} qui souhaiteraient plutôt utiliser le
-% plus récent paquetage \pkg{polyglossia} \citep{polyglossia} peuvent
-% empêcher le chargement de \pkg{babel} avec l'option |nobabel| de la
-% classe. Ils devront toutefois charger et configurer
-% \pkg{polyglossia} eux-mêmes dans l'entête de leur document. Ce
-% paquetage est moins évolué que \pkg{babel} pour la typographie
-% française.
+% \tipbox{À l'automne~2023, la FESP a retiré l'exigence de produire
+% une bibliographie par chapitre pour les thèses et mémoires par
+% articles. La thèse ou le mémoire doit désormais contenir une seule
+% bibliographie regroupant l’ensemble des références du document.}
%
% \section{Bibliographie}
% \label{sec:bibliographie}
+% \changes{6.0}{2024-05-22}{Documentation: suppression de la section
+% sur les bibliographies multiples.}
+% \changes{6.0}{2024-06-19}{Documentation: inversion des sections sur
+% la bibliographie et sur la rédaction en français.}
%
% \begin{DescribeMacro}{\bibliography}
-% Tel qu'expliqué au chapitre~8 de \citet{formation-latex-ul},
-% il est fortement recommandé d'utiliser {\BibTeX} pour la
+% Il est fortement recommandé d'utiliser {\BibTeX} pour la
% préparation de la bibliographie d'un document. Celle-ci est
% insérée dans le document à l'endroit où apparait la commande
% \cmd{\bibliography} dans le code source. Cette commande prend en
-% arguments les noms des bases de données bibliographiques séparés
+% arguments les noms des bases de données bibliographiques, séparés
% par des virgules.
% \end{DescribeMacro}
%
% \subsection{Mise en forme des citations}
% \label{sec:bibliographie:options}
%
-% Dans la classe \class{ulthese}, la mise en forme des citations est
-% confiée au paquetage \pkg{natbib} (à moins que l'option |nonatbib|
-% ne soit spécifiée). Le paquetage est chargé avec les options par
-% défaut, soit |round|, |semicolon| et |authoryear|. Pour spécifier
-% d'autres options, vous avez deux possibilités:
-% \begin{enumerate}
-% \item utiliser l'option |nonatbib| de la classe et ensuite charger
-% explicitement \pkg{natbib} avec ses options;
-% \item
-% \begin{DescribeMacro}{\setcitestyle}
-% utiliser la commande \cmd{\setcitestyle} pour passer de
-% nouvelles options à \pkg{natbib}.
-% \end{DescribeMacro}
-% \end{enumerate}
+% \begin{DescribeMacro}{\setcitestyle}
+% Dans la classe {\ulclass}, la mise en forme des citations est
+% confiée au paquetage %
+% \href{https://ctan.org/pkg/natbib}{\pkg{natbib}} %
+% (à moins que l'option |nonatbib| ne soit spécifiée). Le paquetage
+% est chargé avec les options par défaut, soit |round|, |semicolon|
+% et |authoryear|. Pour spécifier d'autres options utilisez la
+% commande \cmd{\setcitestyle} pour passer de nouvelles options à
+% \pkg{natbib}.
+% \end{DescribeMacro}
%
% Par exemple, pour utiliser un style de citation numérique où le
-% numéro de la référence se trouve entre crochets, vous pouvez
-% procéder de l'une ou l'autre des deux manières suivantes:
-% \begin{quote}
-% |\documentclass[nonatbib]{ulthese}| \\
-% |\usepackage[numbers,square]{natbib}| \\
-% |...| \\
-% |\bibliographystyle{plain-fr}|
-% \end{quote}
-% ou
+% numéro de la référence se trouve entre crochets, insérez la commande
+% suivante dans le préambule:
% \begin{quote}
-% |\documentclass{ulthese}| \\
-% |...| \\
-% |\setcitestyle{numbers,square}| \\
-% |\bibliographystyle{plain-fr}|
+% |\setcitestyle{numbers,square}|
% \end{quote}
%
-% Consultez la %
-% \doc{http://texdoc.net/pkg/natbib/} %
-% de \pkg{natbib} pour les détails.
-%
-% \subsection{Bibliographies multiples}
-% \label{sec:bibliographie:multiples}
-%
-% L'ajout de |bibchapitre| ou de |bibsection| dans les options de la
-% classe permet de générer une bibliographie distincte pour chaque
-% chapitre, une chose particulièrement utile pour les thèses et
-% mémoire par articles.
-%
-% La classe fait appel au paquetage \pkg{chapterbib}
-% \citep{chapterbib} pour composer des bibliographies multiples. La
-% \doc{http://texdoc.net/pkg/chapterbib/} du paquetage
-% explique la procédure à suivre pour obtenir une bibliographie par
-% chapitre avec {\BibTeX}. En résumé:
-% \begin{enumerate}
-% \item chaque chapitre comportant sa propre bibliographie doit
-% absolument être inséré dans le document principal avec la commande
-% \cmd{\include} \citep[section~3.5]{formation-latex-ul};
-% \item chaque fichier visé doit contenir une commande
-% \cmd{\bibliographystyle} (\autoref{sec:bibliographie:style}) et
-% une commande \cmd{\bibliography};
-% \item on obtient les diverses bibliographies en compilant avec
-% {\BibTeX} les fichiers individuels, et non le document maître.
-% \end{enumerate}
-%
-% La plupart des auteurs préféreront sans doute l'effet de l'option
-% |bibsection|, où la bibliographie apparait comme une section normale
-% à la fin d'un chapitre. Lorsque \pkg{babel} est chargé, la section
-% sera numérotée. Pour supprimer la numérotation, insérer dans le
-% préambule du document la commande
-% \begin{quote}
-% |\addto\extras|\meta{langue}|{\renewcommand{\bibsection}{%| \\
-% | \section*{\bibname}\prebibhook}}|
-% \end{quote}
-% où \meta{langue} est la langue par défaut du document
-% (\autoref{sec:langues}).
+% Consultez la documentation de \pkg{natbib} pour plus de détails.
%
% \subsection{Style de la bibliographie}
% \label{sec:bibliographie:style}
@@ -909,423 +933,142 @@
% \begin{DescribeMacro}{\bibliographystyle}
% Le format général de la bibliographie est contrôlé par un
% \emph{style} choisi avec la commande \cmd{\bibliographystyle} dans
-% le préambule du document ou dans les fichiers de chaque chapitre
-% dans une thèse ou un mémoire par articles. Les styles standards de
-% {\LaTeX} sont |plain|, |unsrt|, |alpha| et |abbrv|.
+% le préambule du document. Les styles standards de {\LaTeX} sont
+% |plain|, |unsrt|, |alpha| et |abbrv|.
% \end{DescribeMacro}
%
-% Le paquetage \pkg{natbib} chargé par défaut par la classe supporte
-% le style de citation auteur-année fréquemment employé en sciences
-% naturelles, plusieurs commandes de citation, un grand nombre de
-% styles de bibliographie ainsi que des entrées spécifiques pour les
-% numéros ISBN et les URL. Le paquetage fournit des styles de
-% bibliographie |plainnat|, |unsrtnat| et |abbrvnat| similaires aux
-% styles standards, mais plus complets. Il existe des
-% \link{https://mirrors.ctan.org/biblio/bibtex/contrib/bib-fr/}{versions
-% francisées} de ces styles (et de quelques autres) dans CTAN.
-%
-% Le paquetage \pkg{francais-bst} \citep{francais-bst} fournit une
-% feuille de style compatible avec \pkg{natbib} permettant de composer
-% des bibliographies auteur-année respectant les normes de typographie
-% française proposées dans \cite{Malo:1996}. Pour utiliser ce style,
-% spécifier dans le préambule du document LaTeX
-% \begin{quote}
-% |\bibliographystyle{francais}|
-% \end{quote}
+% Le paquetage \pkg{natbib} prend en charge le style de citation
+% auteur-année fréquemment employé en sciences naturelles, plusieurs
+% commandes de citation, un grand nombre de styles de bibliographie,
+% ainsi que des entrées spécifiques pour les numéros ISBN et les
+% adresses URL. Le paquetage fournit des styles de bibliographie
+% |plainnat|, |unsrtnat| et |abbrvnat| similaires aux styles
+% standards, mais plus complets. Il existe des %
+% \href{https://ctan.org/pkg/bib-fr}{versions francisées} %
+% de ces styles (et de quelques autres) dans CTAN.
+%
+% Les styles \code{francais} et \code{francaissc} du paquetage %
+% \href{https://ctan.org/pkg/francais-bst}{\pkg{francais-bst}} %
+% permettent de composer des bibliographies auteur-année respectant
+% les normes de typographie française. Ils sont compatibles avec
+% \pkg{natbib} et plus modernes que les styles mentionnés ci-dessus.
%
% Autrement, la FESP n'a pas d'exigences particulières quant à la
% présentation de la bibliographie (présentation du titre, des auteurs
% et autres informations bibliographiques).
%
-% \section{Police de caractères du document}
-% \label{sec:police}
-%
-% Les documents {\LaTeX} sont facilement reconnaissables par leur
-% police de caractères par défaut, {\fontfamily{cmr}\selectfont
-% Computer Modern}. Avec toute distribution {\LaTeX} moderne, il est
-% maintenant simple d'utiliser l'une ou l'autre des polices PostScript
-% standards. D'ailleurs la classe \class{ulthese} utilise la police
-% sans empattements \textsf{Helvetica} pour composer les pages de
-% titre.
-%
-% La FESP permet l'utilisation des polices Times, Palatino (la police
-% du présent document) et Lucida~Bright dans les thèse et mémoires.
-% \citet[section~10.2]{formation-latex-ul} explique comment utiliser ces
-% polices dans votre document.
-%
-% \section{Gabarits}
-% \label{sec:gabarits}
-%
-% Afin de vous épauler dans la préparation de votre manuscrit, la
-% classe \class{ulthese} est livrée avec un ensemble de gabarits. Tout
-% d'abord, pour le document maître de différents types de thèses et de
-% mémoires:
-% \begin{itemize}[noitemsep]
-% \item |gabarit-doctorat.tex|;
-% \item |gabarit-doctorat-articles.tex|;
-% \item |gabarit-doctorat-cotutelle.tex|;
-% \item |gabarit-maitrise.tex|;
-% \item |gabarit-maitrise-articles.tex|;
-% \item |gabarit-maitrise-bidiplomation.tex|.
-% \end{itemize}
-% Ensuite, pour quelques parties d'un document:
-% \begin{itemize}[noitemsep]
-% \item |resume.tex|;
-% \item |abstract.tex|;
-% \item |remerciements.tex|;
-% \item |avantpropos.tex|;
-% \item |introduction.tex|;
-% \item |chapitre1.tex|;
-% \item |chapitre1-articles.tex|;
-% \item |chapitre2.tex|;
-% \item |chapitre2-articles.tex|;
-% \item |conclusion.tex|;
-% \item |annexe.tex|.
-% \end{itemize}
-% Vous pourriez devoir combiner les caractéristiques de deux gabarits
-% de document maître comme, par exemple, pour une thèse en cotutelle
-% par articles.
-%
-% Les gabarits comportent des commentaires succincts pour vous guider
-% dans leur utilisation. Les sections suivantes fournissent des
-% détails additionnels, et ce, dans l'ordre où les commandes
-% apparaissent dans les fichiers.
-%
-% \begin{rem}
-% Il n'y a pas de gabarit spécifique pour un examen de doctorat,
-% pour un essai de maîtrise, pour un projet de recherche ou pour un
-% rapport de stage. Utilisez un gabarit de thèse ou de maîtrise et
-% inscrivez l'option |examen|, |essai|, |projet| ou |stage| dans la
-% commande \cmd{\documentclass}.
-% \end{rem}
-%
-% \subsection{Encodage des fichiers}
-%
-% Composer en {\LaTeX} de longs textes dans une langue ayant recours
-% aux signes diacritiques devient rapidement pénible si l'on utilise
-% des commandes telles que |\'e|, |\`a| ou |\"o| pour entrer des lettres
-% accentuées. Afin de pouvoir plutôt entrer directement |é|, |à| ou
-% |ö|, {\LaTeX} doit être configuré pour reconnaître les lettres
-% accentuées. C'est le rôle du paquetage \pkg{inputenc}
-% \citep{inputenc}.
-%
-% Il existe plusieurs manières différentes d'encoder --- ou
-% d'enregistrer --- les lettres accentuées et autres caractères
-% spéciaux (comme, par exemple, le symbole de l'euro) dans un
-% ordinateur. La méthode la plus répandue et celle standard sur les
-% versions récentes des systèmes d'exploitation Linux et macOS est
-% l'UTF-8 de la norme
-% \link{https://fr.wikipedia.org/wiki/Unicode}{Unicode}. Les gabarits
-% sont livrés dans ce type d'encodage.
-%
-% La déclaration
-% \begin{quote}
-% |\usepackage[utf8]{inputenc}|
-% \end{quote}
-% dans le préambule assure que {\LaTeX} traitera correctement des
-% fichiers source encodés en UTF-8.
-%
-% La norme Unicode n'est pas aussi uniformément supportée par Windows.
-% Selon l'éditeur de texte employé et la version du système
-% d'exploitation, il peut être nécessaire d'utiliser les normes
-% d'encodage %
-% \link{https://fr.wikipedia.org/wiki/ISO_8859-1}{ISO~8859-1} %
-% (ou Latin-1; option |latin1| de \pkg{inputenc}), %
-% \link{https://fr.wikipedia.org/wiki/ISO_8859-15}{ISO~8859-15} %
-% (ou Latin-9; option |latin9|) ou %
-% \link{https://fr.wikipedia.org/wiki/Windows-1252}{Windows-1252} %
-% (options |cp1252| ou |ansinew|).
-%
-% La situation est plus simple avec {\XeLaTeX} puisqu'il gère
-% nativement Unicode. Le paquetage \pkg{inputenc} est non seulement
-% inutile, mais incompatible avec {\XeLaTeX}. C'est pourquoi, dans les
-% gabarits, \pkg{inputenc} est chargé seulement lorsque {\XeTeX}
-% n'est pas le moteur employé pour compiler le document.
-%
-% \subsection{Paquetages additionnels}
-%
-% Tel qu'expliqué à la \autoref{sec:paquetages}, la classe charge déjà
-% quelques paquetages. Cependant, il est fort probable que vous devrez
-% en charger d'autres pour composer votre document. Les gabarits
-% prévoient un endroit pour le chargement de paquetages additionnels.
-%
-% Si vous utilisez un paquetage non standard dans les distributions
-% courantes (\TeX~Live, Mac\TeX, MiK\TeX), vous devez le fournir avec
-% le code source de votre document lors du dépôt final.
-%
-% \subsection{Changement de police de caractères}
-%
-% Les gabarits comportent des déclarations types pour utiliser les
-% polices Palatino ou Times sous {\LaTeX} ou, sous {\XeLaTeX}, leurs
-% équivalents Pagella et Termes du projet
-% \link{https://www.gust.org.pl/projects/e-foundry/tex-gyre/}{TeX~Gyre}.
-%
-% \subsection{Options de \pkg{babel}}
-%
-% \begin{DescribeMacro}{\frenchbsetup}
-% La commande \cmd{\frenchbsetup} de \pkg{babel} permet de contrôler
-% certains ajustements typographiques apportés par le paquetage en
-% mode français. Consultez la documentation de \pkg{babel} pour la
-% liste des options de configuration disponibles.
-% \end{DescribeMacro}
-%
-% Les concepteurs de la classe \class{ulthese} proposent trois
-% ajustements dans les gabarits:
-% \begin{enumerate}
-% \item l'option |StandardItemizeEnv=true| évite que le mode français de
-% \pkg{babel} ne diminue l'espacement vertical dans les listes;
-% \item l'option |ThinSpaceInFrenchNumbers=true| fait en sorte qu'une espace fine
-% sera utilisée comme séparateur des milliers dans les nombres plutôt
-% qu'une espace pleine;
-% \item les options |og=«| et |fg=»| déclarent que les caractères « et
-% » utilisés dans le code source représentent les guillemets ouvrant
-% et fermant, respectivement. Cela évite de devoir utiliser les
-% commandes \cmd{\og} et \cmd{\fg} de \pkg{babel} tout en bénéficiant de
-% l'ajutement automatique des espaces autour des symboles.
-% \end{enumerate}
-% Vous devez évidemment désactiver ces ajustements si l'option
-% |nobabel| est spécifiée au chargement de la classe.
+% \section{Français et autres langues}
+% \label{sec:langues}
%
-% \subsection{Style de la bibliographie}
-% \label{sec:bibliographystyle}
-%
-% Tel qu'expliqué à la \autoref{sec:bibliographie:style}, la commande
-% \cmd{\bibliographystyle} permet de définir le mode de citation dans
-% le texte et la présentation des notices bibliographiques. Cette
-% commande devrait figurer dans les fichiers des chapitres
-% individuels dans une thèse ou un mémoire par articles.
-%
-% \subsection{Déclarations de la page frontispice}
-%
-% Les gabarits comportent toutes les déclarations nécessaires pour
-% composer la page frontispice des divers types de thèse ou de
-% mémoires. Vous devez remplacer les éléments se trouvant entre
-% crochets |< >| en respectant la forme indiquée. Assurez-vous de
-% supprimer les caractères |<| et |>| afin qu'ils n'apparaissent pas
-% sur la page frontispice de votre document.
-%
-% \subsection{Pages liminaires}
-%
-% \begin{DescribeMacro}{\frontmatter}
-% La commande \cmd{\frontmatter} déclare que {\LaTeX} doit considérer le
-% matériel qui suit comme des pages liminaires. En pratique, cela
-% résulte essentiellement en une numérotation des pages en chiffres
-% romains.
-% \end{DescribeMacro}
+% Une complication additionnelle si vous rédigez dans une langue autre
+% que l'anglais consiste à adapter {\LaTeX} à votre langue, qu'il
+% s'agisse des mots clés, de la typographie ou de la césure des mots.
+% La solution standard à ce problème provient du paquetage %
+% \href{https://ctan.org/pkg/babel}{\pkg{babel}}. %
+% Celui-ci permet de combiner plusieurs langues dans un même document
+% et de passer de l'une à l'autre facilement. Il est chargé par défaut
+% par la classe {\ulclass}.
%
-% Les normes de présentation de la FESP édictent que les thèses et
-% mémoires devraient comporter les pages liminaires suivantes, dans
-% l'ordre:
-% \begin{enumerate}[noitemsep]
-% \item page frontispice (obligatoire);
-% \item résumé en français (obligatoire);
-% \item résumé en anglais (recommandé, mais non obligatoire);
-% \item table des matières (obligatoire);
-% \item liste des tableaux;
-% \item liste des figures;
-% \item liste des abbréviations et des sigles;
-% \item dédicace;
-% \item épigraphe;
-% \item remerciements;
-% \item avant-propos (obligatoire dans le cas d'une thèse ou d'un
-% mémoire par articles).
-% \end{enumerate}
-%
-% Les commandes
-% \begin{quote}
-% \cmd{\frontispice} \\
-% \cmd{\tableofcontents} \\
-% \cmd{\listoftables} \\
-% \cmd{\listoffigures} \\
-% \cmd{\dedicace}\marg{texte} \\
-% \cmd{\epigraphe}\marg{texte}\marg{auteur}
-% \end{quote}
-% permettent de générer les pages correspondantes. Seules les deux
-% dernières commandes admettent des arguments.
-%
-% \begin{rem}
-% L'examen de doctorat, l'essai de maîtrise, le rapport de projet de
-% recherche et le rapport de stage comportent une page de titre.
-% Vous devez ajouter dans les gabarits les commandes nécessaires
-% pour la production de la page de titre (\autoref{sec:pagetitre})
-% et supprimer les autres pages liminaires. Rappelons que l'option
-% de classe |examen| a pour effet de supprimer la page frontispice.
-% \end{rem}
-%
-% \begin{DescribeMacro}{\chapter*}
-% Les résumés, la liste des abbréviations et des sigles, les
-% remerciements et l'avant-propos sont composés comme des chapitres
-% normaux, mais sans être numérotés. Il faut donc définir ces éléments
-% avec la commande \cmd{\chapter*}.
-% \end{DescribeMacro}
+% Aucune langue n'est spécifiée dans la classe. Vous aurez sans doute
+% recours à l'anglais et au français, ne serait-ce que pour les deux
+% résumés demandés par la FESP. Vous devez spécifier les langues
+% utilisées dans le document en options à la classe, tel que mentionné
+% à la \autoref{sec:utilisation:options}. La \emph{dernière} langue
+% spécifiée devient par défaut la langue active du document.
%
-% \begin{DescribeMacro}{\label}
-% La commande \cmd{\label} permet d'utiliser le système de renvois
-% automatiques de {\LaTeX} \citep[section~3.4]{formation-latex-ul}.
-% Les étiquettes des chapitres non numérotés sont déjà configurées
-% pour l'ajout de ces chapitres dans la table des matières (voir
-% ci-dessous). Nous recommandons fortement de définir vos propres
-% étiquettes pour les chapitres normaux.
+% \begin{DescribeMacro}{\selectlanguage}
+% La commande \cmd{\selectlanguage} de \pkg{babel} permet de passer de
+% la langue courante à la langue spécifiée en argument.
% \end{DescribeMacro}
%
-% \begin{DescribeMacro}{\phantomsection}
-% \begin{DescribeMacro}{\addcontentsline}
-% \begin{DescribeMacro}{\nameref}
-% Les chapitres déclarés avec la commande \cmd{\chapter*}
-% n'apparaissent pas dans la table des matières. Comme les
-% normes de présentation de la FESP exigent que toutes les pages
-% liminaires y figurent, nous faisons suivre les commandes
-% \cmd{\chapter*}\marg{Titre} et \cmd{\label}\marg{nom} des
-% commandes
-% \end{DescribeMacro}
-% \end{DescribeMacro}
-% \end{DescribeMacro}
-% \begin{quote}
-% |\phantomsection\addcontentsline{toc}{chapter}{%| \\
-% | \nameref|\marg{nom}|}|
-% \end{quote}
-% Celles-ci ajoutent à la table des matières (|toc|) une section de
-% niveau |chapter| dont le titre est celui du chapitre auquel
-% correspond l'étiquette \meta{nom}. La commande \cmd{\phantomsection}
-% est rendue nécessaire (ou recommandée) par le paquetage
-% \pkg{hyperref}.
+% \begin{DescribeEnv}{otherlanguage}
+% L'environnement |otherlanguage| de \pkg{babel} permet de faire la
+% même chose que la commande \cmd{\selectlanguage}, sauf que le
+% changement de langue est local à l'environnement, ce qui peut
+% s'avérer utile pour les brefs changements de langue.
+% \end{DescribeEnv}
%
-% \subsection{Corps du document}
+% Si vous n'êtes pas autrement familier avec le paquetage \pkg{babel},
+% consultez sa documentation. Celle-ci est éclatée en un document
+% principal pour le cœur du paquetage et plusieurs autres pour les
+% fonctionnalités propres à une langue. Consultez au moins les
+% documents consacrés aux langues utilisées dans votre thèse ou
+% mémoire. Le plus simple consiste sans doute à consulter en ligne sur
+% CTAN les
+% \href{https://ctan.org/pkg/babel-contrib/}{documents spécifiques par langue}.
+% \changes{4.4}{2017-05-14}{Correction d'une url vers la documentation
+% de \textbf{babel}.}
%
-% \begin{DescribeMacro}{\mainmatter}
-% La commande \cmd{\mainmatter} délimite le début du corps du document. La
-% numérotation des pages passe en chiffres arabes.
+% \begin{DescribeMacro}{\nombre}
+% Le paquetage %
+% \href{https://ctan.org/pkg/numprint}{\pkg{numprint}} %
+% étant chargé dans la classe avec \pkg{babel}, vous pouvez utiliser
+% la commande \cmd{\nombre} pour formater automatiquement les
+% nombres. Par exemple, le résultat de |\nombre{123456789}| est
+% \nombre{123456789}.
% \end{DescribeMacro}
%
-% Le corps du document devrait normalement compter une introduction (non
-% numérotée), un développement divisé en chapitres (numérotés) et une
-% conclusion (non numérotée).
-%
-% \subsection{Annexes}
-%
-% \begin{DescribeMacro}{\appendix}
-% Si la thèse ou le mémoire comporte une ou plusieurs annexes,
-% composer celles-ci comme des chapitres normaux insérés dans le
-% document maître après la commande \cmd{\appendix}. Cette commande a
-% pour effet de passer d'un mode de numération numérique (1, 1.1, 2, 2.1,
-% \dots) à un mode alphanumérique (A, A.1, B, B.1, \dots).
-% \end{DescribeMacro}
+% Si vous souhaitez plutôt utiliser le plus récent paquetage %
+% \href{https://ctan.org/pkg/polyglossia}{\pkg{polyglossia}} %
+% avec {\XeLaTeX}, vous devez empêcher le chargement de \pkg{babel}
+% avec l'option |nobabel| de la classe, puis charger et configurer
+% \pkg{polyglossia} vous-même dans l'entête de votre document. Ce
+% paquetage est moins évolué que \pkg{babel} pour la typographie
+% française.
%
-% \subsection{Bibliographie}
+% \section{Police de caractères du document}
+% \label{sec:police}
+% \changes{6.0}{2024-06-17}{Documentation: révision de la section sur
+% les polices de caractères suite aux modifications apportées aux
+% règles de présentation de la FESP.}
%
-% La bibliographie figure normalement à la toute fin du document, sous
-% forme de chapitre non numéroté. Tel qu'expliqué à la
-% \autoref{sec:bibliographie:multiples}, la commande
-% \cmd{\bibliography} doit plutôt se trouver dans les fichiers des
-% chapitres dans une thèse ou un mémoire par articles.
+% Les documents {\LaTeX} sont facilement reconnaissables par leur
+% police de caractères par défaut: %
+% {\iftutex\fontfamily{lmr}\else\fontfamily{cmr}\fi\selectfont
+% Computer Modern}. %
+% Si vous le souhaitez, il est aujourd'hui assez simple de produire
+% des documents {\LaTeX} utilisant d'autres polices. L'approche
+% recommandée consiste à utiliser une police OpenType ou TrueType
+% présente sur votre système avec le moteur {\XeLaTeX}. Autrement,
+% vous pouvez charger l'une ou l'autre des polices PostScript
+% standards compatibles avec le moteur pdf{\LaTeX} en ayant recours au
+% paquetage %
+% \href{https://ctan.org/pkg/psnfss}{\pkg{psnfss}}. %
+% Dans tous les cas, assurez-vous de respecter les règles de
+% présentation de la FESP en matière de polices de caractères.
+%
+% La Bibliothèque de l’Université Laval détient une licence
+% d’utilisation des polices de très grande qualité %
+% \href{https://tug.org/store/lucida}{Lucida Bright}. %
+% Vous pouvez vous procurer gratuitement une copie des polices en
+% écrivant à %
+% \href{mailto:lucida@bibl.ulaval.ca}{lucida@bibl.ulaval.ca}.
+%
+% À titre indicatif, le présent document est composé avec les polices
+% OpenType %
+% \href{https://ctan.org/pkg/stix2-otf}{STIX~Two} %
+% pour le texte et %
+% \href{https://ctan.org/pkg/fira}{Fira} %
+% pour les éléments décoratifs (notamment \textsf{Fira Sans} pour les
+% titres de sections et \texttt{Fira Mono} pour le code informatique).
+%
+% \changes{6.0}{2024-05-25}{Documentation: suppression de la section
+% portant sur l'explication détaillée des gabarits. En échange,
+% ceux-ci comportent des commentaires additionnels.}
%
% \section{Commentaires, suggestions et aide}
% \changes{5.0}{2018-08-09}{Code source du projet déplacé de GitHub
-% vers GitLab.}
+% vers GitLab.}
+% \changes{6.0}{2024-06-18}{Documentation: retrait du wiki thèse
+% (fermé) et des archives de la liste ulthese-aide (peu utiles).}
%
-% Le \link{https://gitlab.com/vigou3/ulthese/}{dépôt du projet} dans
+% Le \href{https://gitlab.com/vigou3/ulthese/}{dépôt du projet} dans
% GitLab demeure le meilleur endroit pour rapporter des bogues ou pour
-% proposer des améliorations à la classe \class{ulthese}.
-%
-% Pour obtenir de l'aide additionnelle sur l'utilisation de la classe
-% --- et non sur celle de {\LaTeX} en général --- consultez d'abord:
-% \begin{enumerate}
-% \item le \link{http://www.theses.ulaval.ca/wiki/}{WikiThèse} de
-% l'Université Laval, en particulier la
-% \link{http://www.theses.ulaval.ca/wiki/index.php?title=FAQ}{Foire aux questions};
-% \item les
-% \link{http://listes.ulaval.ca/listserv/archives/ulthese-aide.html}{archives}
-% de la liste de distribution \texttt{ulthese-aide}.
-% \end{enumerate}
-% Si la réponse à votre question ne se trouve ni dans le wiki, ni dans
-% les archives, alors écrivez à l'adresse
-% \href{mailto:ulthese-aide@listes.ulaval.ca}{\url{ulthese-aide@listes.ulaval.ca}}.
-%
-% \StopEventually{
-% \begin{thebibliography}{15}
-% \addcontentsline{toc}{section}{Références}
-% \bibitem[{Arseneau(2010)}]{chapterbib}
-% Arseneau, D. 2010,
-% {\selectlanguage{english}\emph{chapterbib. Multiple
-% bibliographies in {\LaTeX}}}.
-% URL~\url{https://www.ctan.org/pkg/chapterbib/}.
-%
-% \bibitem[{Braams et Bezos(2016)}]{babel}
-% Braams, J. et J.~Bezos. 2016,
-% {\selectlanguage{english}\emph{Babel}}.
-% URL~\url{https://www.ctan.org/pkg/babel/}.
-%
-% \bibitem[{Carlisle et {The \LaTeX3\ Project}(2016)}]{graphicx}
-% Carlisle, D. et {The \LaTeX3\ Project}. 2016,
-% {\selectlanguage{english}\emph{Packages in the `graphics'
-% Bundle}}. URL~\url{https://www.ctan.org/pkg/graphics/}.
-%
-% \bibitem[{Charette(2015)}]{polyglossia}
-% Charette, F. 2015, {\selectlanguage{english}\emph{Polyglossia:
-% An Alternative to Babel for {\XeLaTeX} and {\LuaLaTeX}}}.
-% URL~\url{https://www.ctan.org/pkg/polyglossia/}, current
-% maintainer Arthur Reutenauer.
-%
-% \bibitem[{Daly(2010)}]{natbib}
-% Daly, P.~W. 2010, {\selectlanguage{english}\emph{Natural
-% Sciences Citations and References}}.
-% URL~\url{https://www.ctan.org/pkg/natbib/}.
-%
-% \bibitem[{Goulet(2013)}]{francais-bst}
-% Goulet, V. 2013, {\selectlanguage{french}«Paquetage
-% francais-bst»},
-% URL~\url{https://www.ctan.org/pkg/francais-bst/}.
-%
-% \bibitem[{Goulet(2020)}]{formation-latex-ul}
-% Goulet, V. 2020, {\selectlanguage{french}\emph{Rédaction avec
-% {\LaTeX}}}, document libre sous contrat Creative Commons.
-% URL~\url{httpss://ctan.org/pkg/formation-latex-ul}.
-%
-% \bibitem[{Harders(2012)}]{numprint}
-% Harders, H. 2012, {\selectlanguage{english}\emph{The
-% numprint package}}.
-% URL~\url{https://www.ctan.org/pkg/numprint/}.
-%
-% \bibitem[{Jeffrey et Mittelbach(2015)}]{inputenc}
-% Jeffrey, A. et F.~Mittelbach. 2015,
-% {\selectlanguage{english}\emph{inputenc.sty}}.
-% URL~\url{https://www.ctan.org/pkg/inputenc/}.
-%
-% \bibitem[{Kern(2016)}]{xcolor}
-% Kern, D.~U. 2016, {\selectlanguage{english}\emph{Extending
-% {\LaTeX}’s color facilities: the xcolor package}}.
-% URL~\url{https://www.ctan.org/pkg/xcolor/}.
-%
-% \bibitem[{Lehman et Wright(2018)}]{etoolbox}
-% Lehman, P. et J.~Wright. 2018,
-% {\selectlanguage{english}\emph{The etoolbox package}}.
-% URL~\url{https://www.ctan.org/pkg/etoolbox/}.
-%
-% \bibitem[{Malo(1996)}]{Malo:1996}
-% Malo, M. 1996, {\selectlanguage{french}\emph{Guide de la
-% communication écrite au cégep, à l'université et en
-% entreprise}}, Québec Amérique. ISBN~978-2-8903-7875-9.
-%
-% \bibitem[{Rahtz et Oberdiek(2017)}]{hyperref}
-% Rahtz, S. et H.~Oberdiek. 2017,
-% {\selectlanguage{english}\emph{Hypertext marks in {\LaTeX}: a
-% manual for hyperref}}.
-% URL~\url{https://www.ctan.org/pkg/hyperref/}.
-%
-% \bibitem[{Robertson et Hosny(2017)}]{fontspec}
-% Robertson, W. et K.~Hosny. 2017,
-% {\selectlanguage{english}\emph{The fontspec package: Font
-% selection for {\XeLaTeX} and {\LuaLaTeX}}}.
-% URL~\url{https://www.ctan.org/pkg/fontspec/}.
-%
-% \bibitem[{Wilson(2016)}]{memoir}
-% Wilson, P. 2016, {\selectlanguage{english}\emph{The Memoir Class
-% for Configurable Typesetting}}, 8{\ieme} éd., The Herries Press.
-% URL~\url{https://www.ctan.org/pkg/memoir/}, maintained by Lars
-% Madsen.
-% \end{thebibliography}
-% \PrintChanges
-% }
+% proposer des améliorations à la classe {\ulclass}.
+%
+% Pour de l'aide additionnelle sur l'utilisation de la classe~--- et
+% non sur celle de {\LaTeX} en général~--- écrivez à l'adresse %
+% \href{mailto:ulthese-aide@listes.ulaval.ca}{ulthese-aide@listes.ulaval.ca}.
%
% \appendix
%
@@ -1343,44 +1086,47 @@
% la \autoref{sec:utilisation:options} lorsque l'on souhaite créer une
% page de titre.
%
-% \begin{DescribeMacro}{multifacultaire}
-% Identifie une thèse multifacultaire. Valide uniquement avec un
-% grade de doctorat. Cette déclaration requiert ensuite d'utiliser
-% la commande \cmd{\faculteUL}.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{extensionUdeS}
-% Identifie une thèse réalisée en extension à l'Université de
-% Sherbrooke. Valide uniquement avec un grade de doctorat. Cette
-% déclaration requiert ensuite d'utiliser les commandes
-% \cmd{\faculteUL} et \cmd{\faculteUdeS}.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{extensionUQO}
-% Identifie une thèse réalisée en extension à l'Université du
-% Québec en Outaouais (UQO). Valide uniquement avec un grade de doctorat.
-% Cette déclaration requiert ensuite d'utiliser les commandes
-% \cmd{\faculteUL} et \cmd{\faculteUQO}.
-% \end{DescribeMacro}
-%
-% \begin{DescribeMacro}{extensionUQAC}
-% Identifie un mémoire réalisé en extension à l'Université du Québec
-% à Chicoutimi (UQAC). Valide uniquement avec un grade de maîtrise.
-% Cette déclaration requiert ensuite d'utiliser les commandes
-% \cmd{\faculteUL} et \cmd{\faculteUQAC}.
-% \end{DescribeMacro}
+% \begin{DescribeOption}{multifacultaire}
+% L'option |multifacultaire| identifie une thèse
+% multifacultaire. Valide uniquement avec un grade de doctorat.
+% Cette déclaration requiert ensuite d'utiliser la commande
+% \cmd{\faculteUL}.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{extensionUdeS}
+% L'option |extensionUdeS| identifie une thèse réalisée en extension
+% à l'Université de Sherbrooke. Valide uniquement avec un grade de
+% doctorat. Cette déclaration requiert ensuite d'utiliser les
+% commandes \cmd{\faculteUL} et \cmd{\faculteUdeS}.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{extensionUQO}
+% L'option |extensionUQO| identifie une thèse réalisée en extension
+% à l'Université du Québec en Outaouais (UQO). Valide uniquement
+% avec un grade de doctorat. Cette déclaration requiert ensuite
+% d'utiliser les commandes \cmd{\faculteUL} et \cmd{\faculteUQO}.
+% \end{DescribeOption}
+%
+% \begin{DescribeOption}{extensionUQAC}
+% L'option |extensionUQAC| identifie un mémoire réalisé en extension
+% à l'Université du Québec à Chicoutimi (UQAC). Valide uniquement
+% avec un grade de maîtrise. Cette déclaration requiert ensuite
+% d'utiliser les commandes \cmd{\faculteUL} et \cmd{\faculteUQAC}.
+% \end{DescribeOption}
%
% Ensuite, la composition d'une page de titre peut nécessiter
% d'utiliser les commandes ci-dessous en plus de celles de la
% \autoref{sec:utilisation:commandes}.
%
% \begin{DescribeMacro}{\annee}
-% Année du dépôt final de la thèse ou du mémoire.
+% La commande \cmdprint{\annee} spécifie l'année du dépôt final de
+% la thèse ou du mémoire.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\univcotutelle}
-% Nom, ville et pays de l'université de cotutelle, déclarés sous la
-% forme
+% Pour les thèses en cotutelle, la commande
+% \cmdprint{\univcotutelle} permet de saisir le nom, la ville et le
+% pays de l'université de cotutelle, sous la forme
% \begin{quote}
% |\univcotutelle{Nom de l'université \\ Ville, Pays}|
% \end{quote}
@@ -1389,8 +1135,9 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\gradecotutelle}
-% Grade conféré par l'université de cotutelle, déclaré
-% sous la forme
+% Pour les thèses en cotutelle, la commande
+% \cmdprint{\gradecotutelle} spécifie le grade conféré par
+% l'université de cotutelle, sous la forme
% \begin{quote}
% |\gradecotutelle{Nom du grade (sigle)}|
% \end{quote}
@@ -1399,8 +1146,9 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\univbidiplomation}
-% Nom, ville et pays de l'université de bidiplomation, déclarés sous
-% la forme
+% Pour les mémoires en bidiplomation, la commande
+% \cmdprint{\univbidiplomation} permet de saisir le nom, la ville et
+% le pays de l'université de bidiplomation, sous la forme
% \begin{quote}
% |\univbidiplomation{Nom de l'université \\ Ville, Pays}|
% \end{quote}
@@ -1409,8 +1157,9 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\gradebidiplomation}
-% Grade conféré par l'université de bidiplomation, déclaré sous la
-% forme
+% Pour les mémoires en bidiplomation, la commande
+% \cmdprint{\gradebidiplomation} spécifie le grade conféré par
+% l'université de bidiplomation, sous la forme
% \begin{quote}
% |\gradebidiplomation{Nom du grade (sigle)}|
% \end{quote}
@@ -1419,7 +1168,8 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\faculteUL}
-% La commande a deux usages:
+% La commande \cmdprint{\faculteUL} sert à saisir deux types
+% d'informations:
% \begin{enumerate}
% \item noms des facultés pour les thèses et mémoires
% multifacultaires, séparés par des commandes |\\|;
@@ -1433,35 +1183,37 @@
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\faculteUdeS}
-% Nom de la faculté de l'Université de Sherbrooke hébergeant la
-% thèse en extension. Cette commande prend effet seulement lorsque
-% la classe est chargée avec l'option |extensionUdeS|.
+% La commande \cmdprint{\faculteUdeS} spécifie le nom de la faculté
+% de l'Université de Sherbrooke hébergeant la thèse en extension.
+% Cette commande prend effet seulement lorsque la classe est chargée
+% avec l'option |extensionUdeS|.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\faculteUQO}
-% Nom de la faculté de l'Université du Québec en Outaouais
-% hébergeant la thèse en extension. Cette commande prend effet
-% seulement lorsque la classe est chargée avec l'option
-% |extensionUQO|.
+% La commande \cmdprint{\faculteUQO} spécifie le nom de la faculté
+% de l'Université du Québec en Outaouais hébergeant la thèse en
+% extension. Cette commande prend effet seulement lorsque la classe
+% est chargée avec l'option |extensionUQO|.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\faculteUQAC}
-% Nom de la faculté de l'Université du Québec à Chicoutimi
-% hébergeant le mémoire en extension. Cette commande prend effet
-% seulement lorsque la classe est chargée avec l'option
-% |extensionUQAC|.
+% La commande \cmdprint{\faculteUQAC} spécifie le nom de la faculté
+% de l'Université du Québec à Chicoutimi hébergeant le mémoire en
+% extension. Cette commande prend effet seulement lorsque la classe
+% est chargée avec l'option |extensionUQAC|.
% \end{DescribeMacro}
%
% \begin{DescribeMacro}{\pagetitre}
-% Création de la page de titre. Ne pas utiliser la commande
-% \cmd{\pagetitle} de {\LaTeX} pour ce faire. De toutes les
+% La commande \cmdprint{\pagetitre} crée la page de titre à
+% l'endroit où elle apparait dans le code source. N'utilisez pas la
+% commande \cmd{\titlepage} de {\LaTeX} pour ce faire. De toutes les
% commandes ci-dessus, c'est la seule qui doit se trouver dans le
% corps du document plutôt que dans le préambule.
% \end{DescribeMacro}
%
+% \MaybeStop{\PrintChanges}
%
-% ^^A Début du code de la classe
-%
+% ^^A >>>>> Début du code de la classe
% \section{Mise en œuvre}
% \label{sec:meo}
%
@@ -1470,37 +1222,30 @@
% explorer comment la classe est programmée.
%
% \subsection{Tests et valeurs booléennes}
-% \changes{4.4}{2017-06-01}{Tests et valeurs booléennes réalisés sans ifthen.}
+% \changes{4.4}{2017-06-01}{Tests et valeurs booléennes réalisés sans
+% \textbf{ifthen}.}
%
-% Le paquetage \pkg{ifxetex} permet de tester si un document est
-% compilé avec \XeTeX.
-% \begin{macrocode}
-%<*class>
-\RequirePackage{ifxetex}
-% \end{macrocode}
% Nous définissons ici toutes les valeurs booléennes requises par la
% classe.
% \begin{macrocode}
+%<*class>
\newif\ifUL@babel \UL@babeltrue % charger babel?
\newif\ifUL@natbib \UL@natbibtrue % charger natbib?
\newif\ifUL@hyperref \UL@hyperreftrue % charger hyperref?
-\newif\ifUL@chapterbib \UL@chapterbibfalse % charger chapterbib?
-\newif\ifUL@sectionbib \UL@sectionbibfalse % option sectionbib de chapterbib?
-\newif\ifUL@isthesis % programme est une thèse?
-\newif\ifUL@iscotutelle \UL@iscotutellefalse % thèse en cotutelle?
+\newif\ifUL@isthesis % programme est une these?
+\newif\ifUL@iscotutelle \UL@iscotutellefalse % these en cotutelle?
\newif\ifUL@isexam \UL@isexamfalse % examen de doctorat?
-\newif\ifUL@isessay \UL@isessayfalse % essai de maîtrise?
+\newif\ifUL@isessay \UL@isessayfalse % essai de maitrise?
\newif\ifUL@isresearch \UL@isresearchfalse % projet de recherche?
\newif\ifUL@isworkterm \UL@isworktermfalse % rapport de stage?
\newif\ifUL@hassubtitle \UL@hassubtitlefalse % document a un sous-titre?
-\newif\ifUL@hastitlepage \UL@hastitlepagefalse % page titre utilisée?
+\newif\ifUL@hastitlepage \UL@hastitlepagefalse % page titre utilisee?
% \end{macrocode}
%
% \subsection{Options de la classe}
%
% Les grandes catégories d'options propres à la classe sont: la
-% possibilité d'empêcher le chargement du paquetage \pkg{natbib};
-% l'activation des bibliographies par chapitre ou par section; la
+% possibilité d'empêcher le chargement du paquetage \pkg{natbib}; la
% possibilité d'empêcher le chargement du paquetage \pkg{babel}; la
% possibilité d'empêcher le chargement du paquetage \pkg{hyperref}; la
% taille de la police de caractères en points; le type de grade; la
@@ -1516,21 +1261,6 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{bibchapitre}
-% \begin{macro}{bibsection}
-% L'option |bibchapitre| entraine le chargement du paquetage
-% \pkg{chapterbib} qui permet de composer des bibliographies
-% multiples dans un document, habituellement une par
-% chapitre. Avec l'option |bibsection|, la bibliographie se
-% présente sous la forme d'une section plutôt que d'un chapitre.
-% La seconde option implique la première.
-% \begin{macrocode}
-\DeclareOption{bibchapitre}{\UL@chapterbibtrue}
-\DeclareOption{bibsection}{\UL@chapterbibtrue\UL@sectionbibtrue}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
% \begin{macro}{nobabel}
% L'option |nobabel| permet d'empêcher la classe de charger le
% paquetage \pkg{babel}. Cette option peut s'avérer utile pour
@@ -1618,10 +1348,6 @@
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
\newcommand*{\UL@degree}{Ma\^itre en architecture (M.~Arch.)}}
-\DeclareOption{MA}{%
- \UL@isthesisfalse
- \renewcommand*{\UL@typenum}{0}
- \newcommand*{\UL@degree}{Ma\^itre \`es arts (M.A.)}}
\DeclareOption{LLM}{%
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
@@ -1634,14 +1360,10 @@
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
\newcommand*{\UL@degree}{Ma\^itre en musique (M.~Mus.)}}
-\DeclareOption{MPht}{%
- \UL@isthesisfalse
- \renewcommand*{\UL@typenum}{0}
- \newcommand*{\UL@degree}{Ma\^itre en physioth\'erapie (M.~Pht.)}}
-\DeclareOption{MSc}{%
+\DeclareOption{MPsEd}{%
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
- \newcommand*{\UL@degree}{Ma\^itre \`es sciences (M.~Sc.)}}
+ \newcommand*{\UL@degree}{Ma\^itre en psycho\'education (M.~Ps.~\'ed.)}}
\DeclareOption{MScGeogr}{%
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
@@ -1650,10 +1372,18 @@
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
\newcommand*{\UL@degree}{Ma\^itre en service social (M.~Serv.~soc.)}}
-\DeclareOption{MPsEd}{%
+\DeclareOption{MTravSoc}{%
\UL@isthesisfalse
\renewcommand*{\UL@typenum}{0}
- \newcommand*{\UL@degree}{Ma\^itre en psycho\'education (M.~Ps.~\'ed.)}}
+ \newcommand*{\UL@degree}{Ma\^itre en travail social (M.~Trav.~soc.)}}
+\DeclareOption{MA}{%
+ \UL@isthesisfalse
+ \renewcommand*{\UL@typenum}{0}
+ \newcommand*{\UL@degree}{Ma\^itre \`es arts (M.A.)}}
+\DeclareOption{MSc}{%
+ \UL@isthesisfalse
+ \renewcommand*{\UL@typenum}{0}
+ \newcommand*{\UL@degree}{Ma\^itre \`es sciences (M.~Sc.)}}
\DeclareOption{multifacultaire}{%
\ifUL@isthesis
\renewcommand*{\UL@typenum}{1}
@@ -1761,7 +1491,7 @@
% \end{macrocode}
% \end{macro}
%
-% \subsection{Chargement de la classe \class{memoir}}
+% \subsection{Chargement de la classe \texorpdfstring{\class{memoir}}{memoir}}
%
% Toutes les options de la classe sont passées à \class{memoir}. Le
% format de papier et la taille de police par défaut sont, dans
@@ -1787,51 +1517,50 @@
% \end{macrocode}
%
% \subsection{Paquetages requis}
-% \changes{5.0}{2018-06-10}{Le paquetage unicode-math n'est plus
-% chargé par défaut par la classe.}
-% \changes{5.0}{2018-08-11}{Le paquetage hyperref est désormais chargé
-% dans la classe plutôt que dans les gabarits. Requiert le paquetage
-% etoolbox.}
+% \changes{5.0}{2018-06-10}{Le paquetage \textbf{unicode-math} n'est
+% plus chargé par défaut par la classe.}
+% \changes{5.0}{2018-08-11}{Le paquetage \textbf{hyperref} est
+% désormais chargé dans la classe plutôt que dans les gabarits.
+% Requiert le paquetage etoolbox.}
%
% La classe s'efforce de charger un minimum de paquetages afin d'éviter
% les conflits potentiels.
%
-% {\XeLaTeX} requiert le paquetage \pkg{fontspec} pour le traitement
-% des polices. Sous {\LaTeX}, il est aujourd'hui préférable d'utiliser
-% les polices T1.
+% \changes{6.0}{2024-05-24}{Mise en œuvre: paquetage \textbf{inputenc} ^^A
+% désormais chargé avec l'option \texttt{utf8} lorsque la compilation
+% est effectuée par pdf{\LaTeX}.}
+% Le code source doit obligatoirement être enregistré dans le codage
+% UTF-8. Avec pdf{\LaTeX}, cela requiert le paquetage \pkg{inputenc}.
+%
+% \changes{6.0}{2024-05-24}{Mise en œuvre: paquetage
+% \textbf{microtype} désormais chargé par la classe avec
+% \textbf{fontspec} ou \textbf{fontenc}.}
+% \changes{6.0}{2024-05-24}{Mise en œuvre: option \texttt{Ligatures} ^^A
+% plus définie par défaut pour les polices OpenType.}
+% La classe charge également les paquetages minimalement nécessaires
+% pour la gestion des polices de caractères, soit \pkg{fontspec} avec
+% les moteurs modernes et \pkg{fontenc} avec pdf{\LaTeX}.
% \begin{macrocode}
-\ifxetex
+\iftutex
+ \RequirePackage[babel=true]{microtype}
\RequirePackage{fontspec}
- \defaultfontfeatures{Ligatures=TeX}
\else
+ \RequirePackage[babel=true]{microtype}
+ \RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\fi
% \end{macrocode}
%
-% Les paquetages \pkg{natbib} et \pkg{chapterbib} doivent être chargés
-% avant \pkg{babel} pour bien fonctionner, le cas échéant. Tel que
-% précisé dans la documentation de \pkg{natbib}, l'option |sectionbib|
-% est passée à ce paquetage lorsqu'il est chargé, ou à
-% \pkg{chapterbib} autrement.
+% Le paquetage \pkg{natbib} doit être chargé avant \pkg{babel} pour
+% bien fonctionner, le cas échéant.
% \begin{macrocode}
\ifUL@natbib
- \ifUL@sectionbib
- \PassOptionsToPackage{sectionbib}{natbib}
- \fi
\RequirePackage[round,semicolon,authoryear]{natbib}
\fi
-\ifUL@chapterbib
- \ifUL@sectionbib
- \ifUL@natbib\else
- \PassOptionsToPackage{sectionbib}{chapterbib}
- \fi
- \fi
- \RequirePackage{chapterbib}
-\fi
% \end{macrocode}
%
% Le support pour les langues autres que l'anglais est offert par le
-% paquetage \pkg{babel} --- à moins que l'option |nobabel| n'ait
+% paquetage \pkg{babel}~--- à moins que l'option |nobabel| n'ait
% été spécifiée au chargement de la classe. Les langues sont passées
% en option de la classe, et non du paquetage. Le paquetage
% \pkg{numprint} est requis par \pkg{babel} pour la définition
@@ -1844,14 +1573,16 @@
% \end{macrocode}
%
% Le paquetage obligatoire \pkg{hyperref} est chargé en tout dernier
-% avec la commande \cmd{\AtEndPreamble} du paquetage \pkg{etoolbox}.
-% Si l'option |nohyperref| a été spécifiée, la classe vérifie que le
-% paquetage a été chargé. La configuration de base de la classe fait
-% en sorte que tous les liens sont signalés par la couleur
-% |ULlinkcolor| définie à la \autoref{sec:couleurs}.
+% avec la commande \cmd{\AtEndPreamble} du paquetage \pkg{etoolbox}
+% (chargé par \class{memoir}). Si l'option |nohyperref| a été
+% spécifiée, la classe vérifie que le paquetage a été chargé. La
+% configuration de base de la classe fait en sorte que tous les liens
+% sont signalés par la couleur |ULlinkcolor| définie à la
+% \autoref{sec:couleurs}.
+% \changes{6.0}{2024-06-17}{Mise en œuvre: chargement explicite de
+% \textbf{etoolbox} retiré, car le paquetage est chargé par memoir.}
% \begin{macrocode}
\ifUL@hyperref
- \RequirePackage{etoolbox}
\AtEndPreamble{\RequirePackage{hyperref}}
\else
\AtBeginDocument{%
@@ -1870,11 +1601,8 @@
\RequirePackage{xcolor}
% \end{macrocode}
%
-% La commande \cmd{\textcopyright} utilisée sur la page de titre requiert le
-% paquetage \pkg{textcomp} pour obtenir un beau signe de copyright.
-% \begin{macrocode}
-\RequirePackage{textcomp}
-% \end{macrocode}
+% \changes{6.0}{2024-06-17}{Mise en œuvre: paquetage \textbf{textcomp} ^^A
+% retiré, car non nécessaire.}
%
% \subsection{Paquetage incompatible}
%
@@ -1926,7 +1654,7 @@
% \subsection{Interligne}
%
% L'espacement entre les lignes est d'un interligne et demi.
-% L'espacement «double» entre les paragraphes est fixé à
+% L'espacement double entre les paragraphes est fixé à
% |0.5\baselineskip| afin d'en arriver à une disposition agréable à
% l'œil. Le retrait de première ligne est supprimé puisque plus
% nécessaire suite à l'ajout de l'espacement entre les paragraphes.
@@ -1968,11 +1696,15 @@
% utilisées dans la classe sont toutes quelques points inférieures à
% celles des gabarits Word.}%
% et les graisses présentées au \autoref{tab:polices}. La
-% déclaration |\fontencoding{T1}| est nécessaire avec {\XeLaTeX} pour
-% explicitement charger la même police que sous {\LaTeX}.
+% déclaration |\fontencoding{T1}| est nécessaire avec les moteurs
+% modernes pour explicitement charger la même police qu'avec
+% pdf{\LaTeX}.
%
% \begin{table}
% \centering
+% \caption{Tailles et graisses de la police Helvetica des éléments
+% de la page de titre}
+% \label{tab:polices}
% \begin{tabular}{ll}
% \toprule
% Élément & Police \\
@@ -1984,9 +1716,6 @@
% Autres éléments & 12~points normal \\
% \bottomrule
% \end{tabular}
-% \caption{Tailles et graisses de la police Helvetica des éléments
-% de la page de titre}
-% \label{tab:polices}
% \end{table}
%
% \begin{macrocode}
@@ -2435,22 +2164,30 @@
\setsecnumdepth{subsection}
%</class>
% \end{macrocode}
-% ^^A Fin du code de la classe
+% ^^A <<<<< Fin du code de la classe
%
-% ^^A Il faut placer ces notes de changement relatives aux gabarits
+% ^^A Les notes de versions relatives aux gabarits doivent se trouver
% ^^A avant \Finale
% \changes{5.0}{2018-06-08}{Gabarits: meilleure indication du texte à
-% remplacer.}
+% remplacer.}
% \changes{5.0}{2018-06-08}{Gabarits: bonification de la structure
-% d'un chapitre de thèse ou de mémoire par articles.}
+% d'un chapitre de thèse ou de mémoire par articles.}
% \changes{5.0}{2018-04-25}{Gabarits: ajout d'étiquettes et de renvois
-% dans les gabarits des parties du document.}
+% dans les gabarits des parties du document.}
% \changes{5.0}{2018-04-25}{Gabarits: automatisation de l'ajout
-% d'entrées dans la table des matières à l'aide d'étiquettes et de
-% renvois.}
+% d'entrées dans la table des matières à l'aide d'étiquettes et de
+% renvois.}
% \changes{4.4}{2017-05-16}{Gabarits: nouveau gabarit pour une thèse
-% par articles.}
+% par articles.}
% \changes{4.2}{2016-03-29}{Gabarits: nouvelles options de babel.}
+% \changes{6.0}{2024-05-22}{Gabarits: gabarits pour une thèse par
+% articles révisés suite aux changements aux règles de présentation.}
+% \changes{6.0}{2024-05-22}{Gabarits: meilleure sélection automatique
+% des paquetages pour les polices et pour le codage selon le moteur
+% {\TeX}.}
+% \changes{6.0}{2024-06-20}{Gabarits: seul l'exemple de changement
+% pour les polices STIX Two est maintenant fourni, et ce, dans une
+% version qui fonctionne avec les polices livrées avec TeX Live.}
%
% \Finale
%
@@ -2473,60 +2210,57 @@
%% description détaillée de la classe, de ce gabarit et des options
%% disponibles.
%%
+%% Vous devez obligatoirement enregistrer tout fichier contenant des
+%% caractères non-ASCII (comme des lettres accentuées) dans le codage
+%% de caractères UTF-8.
+%%
%% [Ne pas hésiter à supprimer les commentaires après les avoir lus.]
%%
%% Déclaration de la classe avec le type de grade
%<phd>%% [l'un de LLD, DMus, DPsy, DThP, PhD]
-%<m>%% [l'un de MATDR, MArch, MA, LLM, MErg, MMus, MPht, MSc, MScGeogr,
-%<m>%% MServSoc, MPsEd]
+%<m>%% [l'un de MATDR, MArch, LLM, MErg, MMus, MPsEd, MScGeogr,
+%<m>%% MServSoc, MTravSoc, MA, MSc]
%% et les langues les plus courantes. Le français sera la langue par
-%<!articles>%% défaut du document.
-%<articles>%% défaut du document. L'option 'bibsection' permet de créer des
-%<articles>%% bibliographies par chapitre présentées sous forme de section
-%<articles>%% numérotée.
-%<phd&standard>\documentclass[PhD,english,french]{ulthese}
-%<phd&articles>\documentclass[PhD,bibsection,english,french]{ulthese}
+%% défaut du document.
+%<phd&(standard|articles)>\documentclass[PhD,english,french]{ulthese}
%<phd&cotutelle>\documentclass[PhD,cotutelle,english,french]{ulthese}
-%<m&standard>\documentclass[MSc,english,french]{ulthese}
-%<m&articles>\documentclass[MSc,bibsection,english,french]{ulthese}
+%<m&(standard|articles)>\documentclass[MSc,english,french]{ulthese}
%<m&bidiplomation>\documentclass[MA,bidiplomation,english,french]{ulthese}
- %% Encodage utilisé pour les caractères accentués dans les fichiers
- %% source du document. Les gabarits sont encodés en UTF-8. Inutile
- %% avec XeLaTeX, qui gère Unicode nativement.
- \ifxetex\else \usepackage[utf8]{inputenc} \fi
-
%% Charger ici les autres paquetages nécessaires pour le document.
%% Quelques exemples; décommenter au besoin.
%\usepackage{amsmath} % recommandé pour les mathématiques
%\usepackage{icomma} % gestion de la virgule dans les nombres
- %% Utilisation d'une autre police de caractères pour le document.
- %% - Sous LaTeX
- %\usepackage{mathpazo} % texte et mathématiques en Palatino
- %\usepackage{mathptmx} % texte et mathématiques en Times
- %% - Sous XeLaTeX
- %\setmainfont{TeX Gyre Pagella} % texte en Pagella (Palatino)
- %\setmathfont{TeX Gyre Pagella Math} % mathématiques en Pagella (Palatino)
- %\setmainfont{TeX Gyre Termes} % texte en Termes (Times)
- %\setmathfont{TeX Gyre Termes Math} % mathématiques en Termes (Times)
+ %% Utilisation d'une autre police de caractères pour le document
+ %% (exemple pour les polices STIX Two incluses dans TeX Live).
+ %% - Avec pdfLaTeX
+ %\usepackage{stix2}
+ %% - Avec XeLaTeX
+ %\setmainfont{STIXTwoText}
+ %[
+ % Extension = .otf,
+ % UprightFont = *-Regular,
+ % BoldFont = *-SemiBold,
+ % ItalicFont = *-Italic,
+ % BoldItalicFont = *-SemiBoldItalic,
+ %]
+ %\setmathfont{STIXTwoMath-Regular}
+ %[
+ % Extension = .otf,
+ %]
%% Options de mise en forme du mode français de babel. Consulter la
- %% documentation du paquetage babel pour les options disponibles.
- %% Désactiver (effacer ou mettre en commentaire) si l'option
- %% 'nobabel' est spécifiée au chargement de la classe.
- \frenchbsetup{%
+ %% documentation du paquetage babel-french pour les options
+ %% disponibles. Désactiver (effacer ou mettre en commentaire) si
+ %% l'option 'nobabel' est spécifiée au chargement de la classe.
+ \frenchsetup{%
StandardItemizeEnv=true, % format standard des listes
ThinSpaceInFrenchNumbers=true, % espace fine dans les nombres
og=«, fg=» % caractères « et » sont les guillemets
}
-%<!articles> %% Style de la bibliographie.
-%<!articles> \bibliographystyle{}
-%<articles> %% Suppression du numéro de section de la bibliographie. Utilisation
-%<articles> %% de \extrasfrench parce que c'est la dernière langue déclarée dans
-%<articles> %% \documentclass, ci-dessus.
-%<articles> %\addto\extrasfrench{%
-%<articles> % \renewcommand{\bibsection}{\section*{\bibname}\prebibhook}}
+ %% Style de la bibliographie.
+ \bibliographystyle{}
%% Composition de la page frontispice. Remplacer les éléments entre < >.
%% Supprimer les caractères < >. Couper un long titre ou un long
@@ -2561,19 +2295,19 @@
\frontmatter % pages liminaires
-\frontispice % production de la page frontispice
+\frontispice % page frontispice (obligatoire)
-\include{resume} % résumé français
-\include{abstract} % résumé anglais
+\include{resume} % résumé français (obligatoire)
+\include{abstract} % résumé anglais (optionnel)
\cleardoublepage
-\tableofcontents % production de la TdM
+\tableofcontents % table des matières (obligatoire)
\cleardoublepage
-\listoftables % production de la liste des tableaux
+\listoftables % liste des tableaux
\cleardoublepage
-\listoffigures % production de la liste des figures
+\listoffigures % liste des figures
\cleardoublepage
\dedicace{<Dédicace si désiré>}
@@ -2583,7 +2317,8 @@
\cleardoublepage
\include{remerciements} % remerciements
-\include{avantpropos} % avant-propos
+%<!articles>\include{avantpropos} % avant-propos (optionnel)
+%<articles>\include{avantpropos} % avant-propos (obligatoire)
\mainmatter % corps du document
@@ -2598,8 +2333,7 @@
\include{annexe} % annexe A
-%<!articles>\bibliography{} % production de la bibliographie
-%<!articles>
+\bibliography{} % production de la bibliographie
\end{document}
%</gabarit>
%
@@ -2637,8 +2371,8 @@
\label{chap-avantpropos} % étiquette pour renvois
\phantomsection\addcontentsline{toc}{chapter}{\nameref{chap-avantpropos}} % inclure dans TdM
-<Texte de l'avant-propos. Obligatoire dans une thèse ou un mémoire par
-articles.>
+<Texte de l'avant-propos. Obligatoire seulement pour une thèse ou un
+mémoire par intégration d'articles.>
%</avantpropos>
%
%<*introduction>
@@ -2669,8 +2403,6 @@ normal, sauf qu'elle n'est pas numérotée.>
%<articles>
<Texte du chapitre ou de l'article.>
%<articles>
-%<articles>\bibliographystyle{} % style de la bibliographie
-%<articles>\bibliography{} % production de la bibliographie
%</chapitre>
%
%<*conclusion>
diff --git a/macros/latex/contrib/ulthese/ulthese.ins b/macros/latex/contrib/ulthese/ulthese.ins
index 7987a0f368..59e0357662 100644
--- a/macros/latex/contrib/ulthese/ulthese.ins
+++ b/macros/latex/contrib/ulthese/ulthese.ins
@@ -1,44 +1,34 @@
-%%
-%% Copyright (C) 2017 Universite Laval
-%%
-%% This file may be distributed and/or modified under the conditions
-%% of the LaTeX Project Public License, either version 1.3c of this
-%% license or (at your option) any later version. The latest version
-%% of this license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2006/05/20 or later.
-%%
+%% Procédure d'installation de la classe ulthese.cls et des gabarits à
+%% partir de ulthese.dtx
\input docstrip.tex
\keepsilent
\askforoverwritefalse
+\nopostamble
\preamble
This is a generated file.
-Copyright (C) 2017 Universite Laval
+Copyright (C) 2012-2024 Universite Laval
This file may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3c of this
license or (at your option) any later version. The latest version
of this license is in:
- http://www.latex-project.org/lppl.txt
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2006/05/20 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is Universite Laval
-<ulthese-dev@bibl.ulaval.ca>.
+The Current Maintainer of this work is Vincent Goulet for
+Universite Laval <ulthese-dev@bibl.ulaval.ca>.
-This work consists of the files ulthese.dtx and ulthese.ins and the
-derived files listed in the README.md file.
+This work consists of the files ulthese.dtx, ulthese.ins, and the
+derived files listed in the file README.md.
\endpreamble
@@ -83,17 +73,18 @@ derived files listed in the README.md file.
\obeyspaces
\Msg{*************************************************************}
\Msg{* *}
-\Msg{* La classe ulthese est maintenant prete a l'emploi. *}
+\Msg{* La classe ulthese est maintenant prête à l'emploi! *}
\Msg{* *}
-\Msg{* Utiliser un gabarit comme base pour votre fichier maitre. *}
-\Msg{* Vous pouvez effacer les gabarits inutiles. Composer le *}
-\Msg{* document dans des fichiers .tex distincts; quelques *}
-\Msg{* gabarits sont fournis avec la classe. *}
+\Msg{* Utilisez un des gabarits fournis avec la classe comme *}
+\Msg{* base pour votre fichier maitre. Vous pouvez effacer les *}
+\Msg{* gabarits inutiles. Composez le document dans des fichiers *}
+\Msg{* .tex distincts; quelques gabarits sont aussi fournis avec *}
+\Msg{* la classe. *}
\Msg{* *}
\Msg{* Pour produire la documentation de la classe, compiler le *}
-\Msg{* fichier ulthese.dtx avec LaTeX. *}
+\Msg{* fichier ulthese.dtx avec XeLaTeX. *}
\Msg{* *}
-\Msg{* Bonne redaction! *}
+\Msg{* Bonne rédaction! *}
\Msg{* *}
\Msg{*************************************************************}
diff --git a/macros/latex/contrib/ulthese/ulthese.pdf b/macros/latex/contrib/ulthese/ulthese.pdf
index 6cc5a94957..ae1094d5ca 100644
--- a/macros/latex/contrib/ulthese/ulthese.pdf
+++ b/macros/latex/contrib/ulthese/ulthese.pdf
Binary files differ
diff --git a/macros/latex/contrib/unbtex/README.md b/macros/latex/contrib/unbtex/README.md
index 2293f91fe4..0d0f2325fa 100644
--- a/macros/latex/contrib/unbtex/README.md
+++ b/macros/latex/contrib/unbtex/README.md
@@ -1,6 +1,6 @@
# UnBTeX: A class for bachelor, master, and doctoral thesis at the
# University of Brasilia (UnB), Brazil.
-# Version 1.5.1 2024/03/02
+# Version 1.5.2 2024/07/04
Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
@@ -109,6 +109,12 @@ Here is a history of changes:
1.5.1 (2024-03-02):
. The approval sheet (folha de aprovação) has been changed
. The bottom margin size has been corrected to be consistently adhered to
+ 1.5.2 (2024-07-04):
+ . The length of the footnote separator line has been corrected according
+ to ABNT standards
+ . The left margin indentation of the citacao environment has been corrected
+ according to ABNT standards
+ . The left margin indentation of the references can be adjusted by the user
## Overleaf
diff --git a/macros/latex/contrib/unbtex/unbtex-example.pdf b/macros/latex/contrib/unbtex/unbtex-example.pdf
index f1498c6985..0b6493ed0b 100644
--- a/macros/latex/contrib/unbtex/unbtex-example.pdf
+++ b/macros/latex/contrib/unbtex/unbtex-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/unbtex/unbtex-example.tex b/macros/latex/contrib/unbtex/unbtex-example.tex
index 1ad0019003..33872900a5 100644
--- a/macros/latex/contrib/unbtex/unbtex-example.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example.tex
@@ -1,7 +1,7 @@
%%
%% UnBTeX: A class for bachelor, master, and doctoral thesis at the
%% University of Brasilia (UnB), Brazil
-%% Version 1.5.1 2024/03/02
+%% Version 1.5.2 2024/07/04
%% Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
%%
%% This class file may be distributed and/or modified under the conditions
@@ -55,7 +55,7 @@
% ---
% Diretório das figuras
-\graphicspath{{unbtex-example/figuras/}}
+\graphicspath{{unbtex-example/figuras}}
% ---
% ------------------------------------------------------------------------
@@ -67,7 +67,7 @@
% ---
% Título
% ---
-\titulo{Modelo de trabalho \\ acadêmico com UnB\TeX} % No idioma principal do texto
+\titulo{Modelo de trabalho\\ acadêmico com UnB\TeX} % No idioma principal do texto
% Insira \\ caso queira forçar quebras de linha no título
% Não utilize caixa alta para o título do trabalho e nem das seções (com exceção de siglas)
% ---
@@ -102,35 +102,35 @@
% ---
% Informações do trabalho
% ---
-\tipotrabalho{Projeto Final de Curso} % Dissertação de Mestrado; Tese de Doutorado (em português, mesmo que o trabalho seja em inglês)
+\tipotrabalho{Trabalho de Conclusão de Curso} % Dissertação de Mestrado; Tese de Doutorado (em português, mesmo que o trabalho seja em inglês)
%\tipotrabalho{Tese de Doutorado}
% ---
-\tipocurso{Engenharia de Controle e Automação} % Nome do curso de graduação ou do programa de pós-graduação, em português
+\tipocurso{Engenharia Elétrica} % Nome do curso de graduação ou do programa de pós-graduação, em português
%\tipocurso{Programa de Pós-Graduação em Engenharia Elétrica}
% ---
% Texto que aparece na folha de rosto e na folha de aprovação
-\preambulo{Projeto Final de Curso submetido como requisito parcial para obtenção do grau de Engenheiro de Controle e Automação.}
+\preambulo{Trabalho de Conclusão de Curso submetido como requisito parcial para obtenção do grau de Engenheiro Eletricista.}
%\preambulo{Tese de Doutorado submetida ao Programa de Pós-Graduação em Engenharia Elétrica da Universidade de Brasília como parte dos requisitos necessários para obtenção do grau de Doutor.}
% Consulte a secretaria/coordenação do curso para saber o que deve ser escrito no preâmbulo. Use português mesmo que o trabalho seja em inglês.
% ---
% Informação adicional para ser impressa na folha de rosto
\publicacao{} % Deixe o argumento vazio caso não haja
-%\publicacao{Publicação PPGEE 201/23} % Também imprime as informações no trabalho no topo da página da ficha catalográfica
+%\publicacao{Publicação PPGEE 201/23} % Também imprime as informações do trabalho no topo da página da ficha catalográfica
% ---
% ---
% Instituição
% ---
-\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{} % Use português mesmo que o trabalho seja em inglês
-%\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{Departamento de Engenharia Elétrica} % Caso queira incluir o departamento da unidade acadêmica
+%\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{} % Use português mesmo que o trabalho seja em inglês
+\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{Departamento de Engenharia Elétrica} % Caso queira incluir o departamento da unidade acadêmica
% ---
% ---
% Local e data da defesa
% ---
\local{Brasília}
-\dia{2}
-\mes{março}
+\dia{4}
+\mes{julho}
\ano{2024}
% ---
@@ -148,7 +148,7 @@
\membrodabancav{} % Deixe vazio se não tiver o quinto membro
\membrodabancavfuncao{Examinador externo}
% Comprimento da linha da assinatura (ajuste conforme necessidade)
-\setlength{\ABNTEXsignwidth}{9cm}
+\signlinewidth{9cm}
% ---
% ---
@@ -212,7 +212,7 @@ Agradecimentos do segundo autor.
% Primeiro autor
\begin{DedicatoriaAutorI}
-Este trabalho é dedicado às crianças adultas que, \\
+Este trabalho é dedicado às crianças adultas que,\\
quando pequenas, sonharam em se tornar cientistas.
\end{DedicatoriaAutorI}
@@ -334,6 +334,7 @@ Dedicatória do segundo autor.
% Referências bibliográficas
% ---
% Arquivo com as referências bibliográficas
+\bibhang{2.2em} % Recuo da margem esquerda da lista de referências
\bibliography{unbtex-example/referencias} % O estilo de citação é selecionado automaticamente
% ---
diff --git a/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex b/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex
index 63bad4c7b5..d482ac0000 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex
@@ -7,6 +7,9 @@ A \cpageref{marcaunb.1} foi extraída do \emph{manual de identidade visual}\foot
\cleardoublepage
\newcounter{includepdfpage} % para referenciar no texto páginas pdf incluídas
+\makepagestyle{simple}
+\makeevenhead{simple}{\footnotesize\thepage}{}{}
+\makeoddhead{simple}{}{}{\footnotesize\thepage}
\includepdf[
pages=-, % intervalo das páginas do arquivo pdf que serão incluídas
diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex
index 46eed2b2bc..1eb8ccc3b2 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex
@@ -264,9 +264,7 @@ A \cref{sec:citacao} descreve o ambiente \texttt{citacao}, que pode receber como
A ficha catalográfica é um elemento pré-textual obrigatório para todos os trabalhos acadêmicos (teses, dissertações e trabalhos de conclusão de curso). No site da Biblioteca Central da UnB\footnote{\url{https://bce.unb.br/servicos/elaboracao-de-fichas-catalograficas/}} há mais informações a respeito. A classe UnB\TeX\ gera automaticamente a ficha catalográfica com as informações do trabalho, com opção de inclusão do código Cutter.
-A Tabela Cutter-Sanborn é uma codificação elaborada por Charles Ammi Cutter e, posteriormente, expandida por Kate F. Sanborn. Na Tabela Cutter-Sanborn é possível obter o código correspondente ao sobrenome do autor.
-
-Em vários sites da internet\footnote{\url{https://www.tabelacutter.com/}}\footnote{\url{https://cuttersonline.com.br/registrador-gratuito}} há ferramentas online para obtenção do código. Se o nome do primeiro autor do trabalho for, digamos, Carlos Lisboa, a entrada da ferramenta online deverá ser:
+A Tabela Cutter-Sanborn é uma codificação elaborada por Charles Ammi Cutter e, posteriormente, expandida por Kate F. Sanborn. Na Tabela Cutter-Sanborn é possível obter o código correspondente ao sobrenome do autor. Em vários sites da internet\footnote{\url{https://www.tabelacutter.com/}}\footnote{\url{https://cuttersonline.com.br/registrador-gratuito}} há ferramentas online para obtenção do código. Se o nome do primeiro autor do trabalho for, digamos, Carlos Lisboa, a entrada da ferramenta online deverá ser:
\begin{verbatim}
Lisboa, Carlos
\end{verbatim}
@@ -276,7 +274,7 @@ Nenhuma outra informação é necessária para gerar o código que, no caso dess
\end{verbatim}
Note que na ficha catalográfica gerada aparecerá \texttt{L769m}. A letra \textbf{L} maiúscula, correspondente à primeira letra do sobrenome \textbf{Lisboa}, é automaticamente adicionada na frente do número. A letra \textbf{m} minúscula, correspondente à primeira letra do título do trabalho (neste caso, \emph{Modelo de trabalho acadêmico com UnB\TeX}), é adicionada no final do número.
-Se seu nome for, por exemplo, Carlos de Souza, utilize
+Se o nome do autor for, por exemplo, Carlos de Souza, utilize
\begin{verbatim}
Souza, Carlos de
\end{verbatim}
@@ -289,12 +287,12 @@ como entrada da ferramenta online que gera o código Cutter. Caso não deseje im
\section{Inclusão de outros arquivos}\label{sec:include}
% ---
-É uma boa prática dividir o seu documento em diversos arquivos, e não apenas escrever tudo em um único. Esse recurso foi utilizado neste documento. Para incluir diferentes arquivos em um arquivo principal, de modo que cada arquivo incluído fique em uma página diferente, utilize o comando:
+É uma boa prática dividir o seu documento em diversos arquivos, e não apenas escrever tudo em um único. Para incluir diferentes arquivos em um arquivo principal, de modo que cada arquivo incluído fique em uma página diferente, utilize o comando:
\begin{verbatim}
\include{documento-a-ser-incluido} % sem a extensão .tex
\end{verbatim}
-Para incluir documentos sem que haja necessariamente quebra de páginas, utilize o comando:
+Para incluir documentos haver necessariamente quebra de páginas, utilize o comando:
\begin{verbatim}
\input{documento-a-ser-incluido} % sem a extensão .tex
\end{verbatim}
diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex
index 30514e0f81..676cedb21c 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex
@@ -136,7 +136,7 @@ O pacote \textsf{subfig} foi utilizado para inserir as \cref{fig:subfigura_circu
\caption{Figura com subfiguras}
\label{fig:subfiguras}
\subfloat[Primeira subfigura]{\label{fig:subfigura_circuito} \centering
- \includegraphics[scale=1]{circuito.pdf}}
+ \includegraphics[scale=1]{circuito.pdf}}
\subfloat[Segunda subfigura]{\label{fig:subfigura_grafico} \hspace{0.4em}
\centering \includegraphics[scale=1.2]{diodocurva.pdf}}
\end{figure}
@@ -175,15 +175,13 @@ Caso queira utilizar as mesmas fontes tipográficas do texto para escrever dentr
\label{fig:psgrag}
\end{figure}
-Crie no Overleaf um novo projeto que tenha o conteúdo do \cref{cod:tex} dentro de um arquivo \texttt{tex} nomeado, por exemplo, como \texttt{blockdiagram.tex}. No menu do Overleaf, altere o compilador de \texttt{pdfLaTeX} para \texttt{LaTeX} e defina o arquivo \texttt{blockdiagram.tex} como principal. Coloque o arquivo \texttt{blockdiagram.eps} dentro do projeto e compile. A saída gerada, corresponde à \cref{fig:psfrag1}, deve ser salva como \texttt{blockdiagram.pdf}. Este arquivo poderá ser carregado no projeto do texto do trabalho (TCC, dissertação ou tese) que você estiver escrevendo com o UnB\TeX\ (que usa o \texttt{pdfLaTeX} como compilador).
-
-\lstinputlisting[numbers=none,float,caption={\texttt{blockdiagram.tex}},label={cod:tex}]{unbtex-example/codigos/blockdiagram.tex}
-
-Observe na \cref{fig:psfrag2} que o ``\texttt{g}'' é substituído por ``$G(s)$'' na \cref{fig:psfrag1}. Para tal, o \cref{cod:tex} utiliza o seguinte comando do pacote \textsf{psfrag}:
+Crie no Overleaf um novo projeto que tenha o conteúdo do \cref{cod:tex} dentro de um arquivo \texttt{tex} nomeado, por exemplo, como \texttt{blockdiagram.tex}. No menu do Overleaf, altere o compilador de \texttt{pdfLaTeX} para \texttt{LaTeX} e defina o arquivo \texttt{blockdiagram.tex} como principal. Coloque o arquivo \texttt{blockdiagram.eps} dentro do projeto e compile. A saída gerada, corresponde à \cref{fig:psfrag1}, deve ser salva como \texttt{blockdiagram.pdf}. Este arquivo poderá ser carregado no projeto do texto do trabalho (TCC, dissertação ou tese) que você estiver escrevendo com o UnB\TeX\ (que usa o \texttt{pdfLaTeX} como compilador). Observe na \cref{fig:psfrag2} que o ``\texttt{g}'' é substituído por ``$G(s)$'' na \cref{fig:psfrag1}. Para tal, o \cref{cod:tex} utiliza o seguinte comando do pacote \textsf{psfrag}:
\begin{verbatim}
\psfrag{g}[c][c]{\footnotesize $G(s)$}
\end{verbatim}
+\lstinputlisting[numbers=none,float,caption={\texttt{blockdiagram.tex}},label={cod:tex}]{unbtex-example/codigos/blockdiagram.tex}
+
O pacote \textsf{psfrag} funciona apenas com o compilador \texttt{LaTeX}, o que torna a criação de um novo projeto no Overleaf uma boa solução. Este projeto poderá ser aproveitado para gerar outras figuras do documento principal. Para mais informações sobre o pacote, consulte seu manual\footnote{Disponível em \url{http://mirrors.ctan.org/macros/latex/contrib/psfrag/pfgguide.pdf}}.
Evite o uso de figuras no formato \texttt{eps} no documento principal. Documentos que usam a classe UnB\TeX\ precisam ser compilados pelo \texttt{pdfLaTeX}, que inicialmente converte os arquivos \texttt{eps} para o formato \texttt{pdf}, exigindo maior tempo de processamento. O projeto auxiliar (\cref{cod:tex}) usa a classe \texttt{article} e admite compilador \texttt{LaTeX}, que não necessita de etapas adicionais para processar códigos que chamam arquivos \texttt{eps}. \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex
index cb9577b192..71c5eaf5c6 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex
@@ -1,5 +1,5 @@
% ----------------------------------------------------------
-\chapter{Ambientes}
+\chapter{Ambientes do UnB\TeX}
% ----------------------------------------------------------
A classe UnB\TeX\ disponibiliza alguns ``ambientes'', ou seja, caixas de texto com formatação especial para certos tipos de elementos, que podem ser automaticamente numerados (por exemplo, \cref{thm:WYSIWYG}, \cref{exc:in}, \cref{alg:NNMPC}, etc.). Esses ambientes foram adaptados a partir do modelo de \citeonline{Castro2019}.
@@ -51,7 +51,7 @@ O WYSIWYG (ou ``What You See Is What You Get - O que você vê é o formato fina
\section{Algoritmo}
-O \cref{alg:NNMPC} é um pseudo-código para obtenção de um controlador preditivo baseado em modelo e em redes neurais.
+O \cref{alg:NNMPC} é um exemplo de pseudo-código.
\begin{algorithm}[htb]
%\linespread{1.0}\selectfont % espaçamento entre as linhas do algoritmo
diff --git a/macros/latex/contrib/unbtex/unbtex-example/referencias.bib b/macros/latex/contrib/unbtex/unbtex-example/referencias.bib
index d247828400..699d20461f 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/referencias.bib
+++ b/macros/latex/contrib/unbtex/unbtex-example/referencias.bib
@@ -12,7 +12,7 @@
pages = {342--351}}
@article{van86,
- author = {{van}, Gigch, John P. and Leo L. Pipino},
+ author = {John P. van Gigch and Leo L. Pipino},
journal = {Future Computing Systems},
number = {1},
pages = {71-97},
@@ -53,7 +53,7 @@
@inproceedings{martin1997,
address = {Rio de Janeiro},
- author = {Martin, Neto, L. and C. Bayer and J. Mielniczuk},
+ author = {L. Martin{ }Neto and C. Bayer and J. Mielniczuk},
booktitle = {Resumos do [...]},
conference-number = {26},
conference-year = {1997},
diff --git a/macros/latex/contrib/unbtex/unbtex.cls b/macros/latex/contrib/unbtex/unbtex.cls
index 39f277761d..332fdce505 100644
--- a/macros/latex/contrib/unbtex/unbtex.cls
+++ b/macros/latex/contrib/unbtex/unbtex.cls
@@ -1,7 +1,7 @@
%%
%% UnBTeX: A class for bachelor, master, and doctoral thesis at the
%% University of Brasilia (UnB), Brazil
-%% Version 1.5.1 2024/03/02
+%% Version 1.5.2 2024/07/04
%% Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
%%
%% This class file may be distributed and/or modified under the conditions
@@ -21,7 +21,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{unbtex}[2024/03/02 v1.5.1 Modelo da Universidade de Brasília baseado em abnTeX2]
+\ProvidesClass{unbtex}[2024/07/04 v1.5.2 Modelo da Universidade de Brasília baseado em abnTeX2]
% ------------------------------------------------------------------------
% Opções para a classe
@@ -118,9 +118,20 @@
\setlength{\parindent}{3em} % Tamanho da indentação da primeira linha do parágrafo
\frenchspacing % Retira espaço extra entre as frases (após o ponto final)
\setlength{\parskip}{3pt plus 1pt minus 1pt} % Espaço entre parágrafos
+\pdfminorversion=7 % Configuração da versão do arquivo pdf produzido
+
+% Configurações das margens e cabeçalho
+\AtBeginDocument{
+\setlrmarginsandblock{3cm}{2cm}{*} % Margens esquerda e direita
+\setulmarginsandblock{3cm}{2cm}{*} % Margens superior e inferior
+\checkandfixthelayout[nearest] % Implementa as margens
+\pagestyle{myheadings} % Cabeçalho com linha e numeração da página
+}
+
+% Espaçamento para notas de rodapé
\setlength{\skip\footins}{20pt plus 2pt minus 2pt} % Espaço entre o texto e as notas de rodapé
\addtolength{\footnotesep}{2pt} % Espaço entre as notas de rodapé
-\pdfminorversion=7 % Configuração da versão do arquivo pdf produzido
+\renewcommand*{\footnoterule}{\kern-3pt \hrule width 5cm \kern 2.6pt} % Tamanho do traço superior (5cm)
% Ajusta espaço entre texto e figuras/tabelas
\setlength{\textfloatsep}{18pt plus 2pt minus 2pt} % Espaçamento entre texto e floats no topo/base da página
@@ -137,9 +148,6 @@
\renewcommand{\thefigure}{\thechapter.\arabic{figure}}\numberwithin{figure}{chapter}
\renewcommand{\thetable}{\thechapter.\arabic{table}}\numberwithin{table}{chapter}
-% Configuração do cabeçalho das páginas
-\pagestyle{myheadings} % Cabeçalho com linha e numeração da página
-
% Modifica o tamanho da fonte e espaçamento entre linhas no ambiente verbatim
\RequirePackage{fvextra}
\renewenvironment{verbatim}{\VerbatimEnvironment
@@ -385,16 +393,15 @@
\urlstyle{same}
}
% Gera as referências bibliográficas de acordo com as normas da ABNT
+\newcommand{\bibhang}[1]{\setlength{\bibindent}{#1}}
\IfStrEq{\bibsty}{alf}{% Estilo autor-data
-\newcommand{\recuo}{3em} % Indentação da lista de referências
-\RequirePackage[alf,recuo=\recuo,abnt-etal-list=0,abnt-etal-cite=3,abnt-emphasize=bf,bibjustif]{abntex2cite}
+\RequirePackage[alf,abnt-etal-list=0,abnt-etal-cite=3,abnt-emphasize=bf,bibjustif]{abntex2cite}
\renewcommand{\@biblabel}[1]{}%
\IfStrEq{\idioma}{brazil} % Seleciona o arquivo de estilo de citação
{\bibliographystyle{unbtexcite/unbtex-alf-pt}}{\bibliographystyle{unbtexcite/unbtex-alf-en}}
}{%
\IfStrEq{\bibsty}{num}{% Estilo numérico
-\newcommand{\recuo}{2.2em} % Aumente este valor se o número de referências for superior a 100
-\RequirePackage[num,recuo=\recuo,abnt-etal-list=0,abnt-emphasize=bf,bibjustif]{abntex2cite}
+\RequirePackage[num,abnt-etal-list=0,abnt-emphasize=bf,bibjustif]{abntex2cite}
\RequirePackage{cite} % Para ordenar, comprimir e colocar entre colchetes os números nas citações
\renewcommand{\@biblabel}[1]%
{%
@@ -408,7 +415,7 @@
{\setlength{\ABCIauxlen}{\minimumbiblabelwidth-\ABCIauxlen}}%
{\setlength{\ABCIauxlen}{0cm}}%
%{\biblabeltext\hspace{\ABCIauxlen}}%
-\parbox[t]{\recuo}{\raggedleft\biblabeltext\hspace{\ABCIauxlen}}%
+\parbox[t]{\bibindent}{\raggedleft\biblabeltext\hspace{\ABCIauxlen}}%
}}%
\renewcommand{\citeonline}[2][] % Redefine \citeonline como \cite
{\ifthenelse{\equal{#1}{}}{\cite{#2}}{\cite[#1]{#2}}}
@@ -465,19 +472,36 @@
indent=0pt,
entrynumberformat=\entrynumberwithprefix{\figurename},
dynnumwidth,
- %numsep=0em
]{tocline}{figure}
\DeclareTOCStyleEntry[
indent=0pt,
entrynumberformat=\entrynumberwithprefix{\tablename},
dynnumwidth,
- %numsep=0em
]{tocline}{table}
\newcommand\entrynumberwithprefix[2]{#1~#2\thinspace\hfill}
% ---
% ---
+% Citacao direta com mais de 3 linhas - ABNT NBR 10520/2002 - 5.3
+% Corrige tamanho do recuo do ambiente citacao do abntex2 para 4cm
+% ---
+\ifthenelse{\equal{\ABNTEXistwocolumn}{true}}{%
+ \setlength{\ABNTEXcitacaorecuo}{1.8cm}
+}{% else
+ \setlength{\ABNTEXcitacaorecuo}{4cm}
+}
+\renewenvironment*{citacao}[1][default]{%
+ \begin{adjustwidth}{\ABNTEXcitacaorecuo}{0mm}%
+ \ABNTEXfontereduzida%
+ \begin{SingleSpace}%
+ \ifthenelse{\not\equal{#1}{default}}{\itshape\selectlanguage{#1}}{}%
+}{%
+ \end{SingleSpace}%
+ \end{adjustwidth}}
+% ---
+
+% ---
% Define o texto dos rótulos de acordo com o idioma principal selecionado
% ---
\AtBeginDocument{
@@ -611,13 +635,14 @@
\renewcommand{\imprimircapa}{%
\hypersetup{pageanchor=false}
\setlrmargins{*}{*}{1} % Margens laterais iguais para a capa
-\checkandfixthelayout[nearest]
+\setulmarginsandblock{3cm}{2cm}{*}
+\checkandfixthelayout[fixed]
\begin{capa}%
\center
\AddToShipoutPicture*{\BackgroundPic}
\vspace*{7.5cm}
- {\LARGE{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\
- \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par}
+ {\LARGE\sffamily\bfseries\instituicaoi \\ \instituicaoii \\
+ \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}\par}
\vfill
\begin{center}
% Define o tamanho da fonte do título
@@ -641,7 +666,7 @@
% Reestabelece as margens
\setlrmarginsandblock{3cm}{2cm}{*}
\setulmarginsandblock{3cm}{2cm}{*}
-\checkandfixthelayout[fixed]
+\checkandfixthelayout[nearest]
\cleardoublepage
\hypersetup{pageanchor=true}
}
@@ -652,8 +677,7 @@
\put(0,0){%
\parbox[b][\paperheight]{\paperwidth}{%
\vfill
- \centering
- \includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{capa_fundo.pdf}%
+ \centering \includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{capa_fundo.pdf}%
\vfill
}
}
@@ -665,8 +689,8 @@
% ---
\renewcommand{\folhaderostocontent}{%
\begin{center}
- {\LARGE{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\
- \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par}
+ {\LARGE\sffamily\bfseries \instituicaoi \\ \instituicaoii \\
+ \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}\par}
\vfill\vfill
\begin{center}
@@ -712,7 +736,7 @@
\ifthenelse{\equal{\imprimirpublicacao}{}}{}{
\begin{OnehalfSpace}
{\noindent\sffamily\large REFERÊNCIA BIBLIOGRÁFICA}\par
-\noindent\MakeUppercase\autorisobrenome, \autorinome \ifthenelse{\equal{\autoriinome}{}}{.}{;~\MakeUppercase\autoriisobrenome, \autoriinome.} {\bfseries\StrDel{\imprimirtitulo}{\\ }}. \begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ifthenelse{\equal{\imprimirpublicacao}{}}{}{,~\imprimirpublicacao} -- \ifthenelse{\equal{\instituicaoiii}{}}{}{\instituicaoiii,~}\instituicaoii, \instituicaoi, \imprimirlocal, \thelastpage~p. \imprimirano.\end{otherlanguage*}
+\noindent\MakeUppercase\autorisobrenome, \autorinome \ifthenelse{\equal{\autoriinome}{}}{.}{;~\MakeUppercase\autoriisobrenome, \autoriinome.} {\bfseries\StrDel{\imprimirtitulo}{\\}}. \begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ifthenelse{\equal{\imprimirpublicacao}{}}{}{,~\imprimirpublicacao} -- \ifthenelse{\equal{\instituicaoiii}{}}{}{\instituicaoiii,~}\instituicaoii, \instituicaoi, \imprimirlocal, \thelastpage~p. \imprimirano.\end{otherlanguage*}
\end{OnehalfSpace}}
\IfInteger{\imprimircutter}{\setlength{\fboxsep}{10pt}}{\setlength{\fboxsep}{18pt}}
\vspace*{\fill}
@@ -724,7 +748,7 @@
\IfInteger{\imprimircutter}{\begin{tabular}{p{1.25cm} p{10.25cm}}}{} \cutter
\autorisobrenome, \autorinome. \\
\IfInteger{\imprimircutter}{\StrChar{\autorisobrenome}{1}\imprimircutter\StrChar{\imprimirtitulo}{1}[\SUBtemp]\MakeLowercase{\SUBtemp}}{} \cutter
-\hspace*{2em}\noindent \StrDel{\imprimirtitulo}{\\ } ~/ \begin{otherlanguage*}{brazil}{\autorinome\ \autorisobrenome; \ifthenelse{\equal{\autoriinome}{}}{}{\autoriinome\ \autoriisobrenome;} \MakeLowercase\orientname\ \orientnome\ \orientsobrenome \ifthenelse{\equal{\coorientnome}{}}{.}{;~\MakeLowercase\coorientname\ \coorientnome\ \coorientsobrenome.} \texttt{-{}-} \imprimirlocal, \imprimirano.}\end{otherlanguage*} \\ \cutter
+\hspace*{2em}\noindent \StrDel{\imprimirtitulo}{\\} ~/ \begin{otherlanguage*}{brazil}{\autorinome\ \autorisobrenome; \ifthenelse{\equal{\autoriinome}{}}{}{\autoriinome\ \autoriisobrenome;} \MakeLowercase\orientname\ \orientnome\ \orientsobrenome \ifthenelse{\equal{\coorientnome}{}}{.}{;~\MakeLowercase\coorientname\ \coorientnome\ \coorientsobrenome.} \texttt{-{}-} \imprimirlocal, \imprimirano.}\end{otherlanguage*} \\ \cutter
\hspace*{2em}\noindent \thelastpage~p. \\ \cutter
\\ \cutter
\hspace*{2em}\noindent\begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ \texttt{-{}-} \instituicaoi, \imprimirano.\end{otherlanguage*} \\ \cutter
@@ -742,18 +766,19 @@
% ---
% Imprime folha de aprovação
% ---
+\newcommand{\signlinewidth}[1]{\setlength{\ABNTEXsignwidth}{#1}}
\newcommand{\imprimirfolhadeaprovacao}{%
\begin{folhadeaprovacao}
\begin{center}
- {\Large{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\
- \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par}
+ {\Large\sffamily\bfseries\instituicaoi \\ \instituicaoii \\
+ \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}\par}
\vfill
\begin{center}
% Define o tamanho da fonte do título
- \autotitle[1]{\bfseries\StrDel{\imprimirtitulo}{\\ }}
+ \autotitle[1]{\bfseries\StrDel{\imprimirtitulo}{\\}}
\ifthenelse{\equal{\titleformat}{\large}}
- {\color{verdeunb}\Large\bfseries \StrDel{\imprimirtitulo}{\\ }\par}
- {\color{verdeunb}\titleformat\bfseries \StrDel{\imprimirtitulo}{\\ }\par}
+ {\color{verdeunb}\Large\bfseries \StrDel{\imprimirtitulo}{\\}\par}
+ {\color{verdeunb}\titleformat\bfseries \StrDel{\imprimirtitulo}{\\}\par}
\end{center}
\vfill
@@ -781,10 +806,6 @@
\abntex@ifnotempty{\membrodabancaivnome}{\assinatura{\textbf{\membrodabancaivnome} \\ \membrodabancaivfuncaonome}}
\abntex@ifnotempty{\membrodabancavnome}{\assinatura{\textbf{\membrodabancavnome} \\ \membrodabancavfuncaonome}}
}
-%\vfill
-% \begin{center}
-% {\sffamily\large\imprimirlocal \\ \imprimirano\par}
-% \end{center}
\end{center}
\end{folhadeaprovacao}
}
diff --git a/macros/latex/contrib/univie-ling/README b/macros/latex/contrib/univie-ling/README
index b90c86e8cc..c73460f0b4 100644
--- a/macros/latex/contrib/univie-ling/README
+++ b/macros/latex/contrib/univie-ling/README
@@ -97,6 +97,19 @@ also have a look at the example files.
== CHANGES ==
+V. 2.7 (2024-07-23):
+ - univie-ling-wlg: Use proper spacing with covington's
+ reflist environment.
+ - univie-ling-poster: add smallmargins option.
+ - univie-ling-thesis: fix running headers in twoside mode.
+ - univie-ling-handout:
+ - univie-ling-expose:
+ - univie-ling-paper:
+ - univie-ling-thesis:
+ - univie-ling-wlg:
+ * Fix empty argument check in \weblink.
+ * Fix spacing after \weblink.
+
V. 2.6 (2024-06-27):
- univie-ling-poster: add smallmargins option.
- univie-ling-thesis: fix running headers in twoside mode.
diff --git a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx
index 43b942d15c..985dc19f98 100644
--- a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx
+++ b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx
@@ -38,7 +38,7 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesFile{univie-ling.bbx}[2024/06/27 v.2.6 biblatex bibliography style]
+\ProvidesFile{univie-ling.bbx}[2024/07/23 v.2.7 biblatex bibliography style]
% Load base style (authoryear-comp)
\RequireBibliographyStyle{authoryear-comp}
diff --git a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx
index 30064c8f91..7600056940 100644
--- a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx
+++ b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx
@@ -36,7 +36,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesFile{univie-ling.cbx}[2024/06/27 v.2.6 biblatex citation style]
+\ProvidesFile{univie-ling.cbx}[2024/07/23 v.2.7 biblatex citation style]
\RequireCitationStyle{authoryear-comp}
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf
index 1773af1838..8652b32a5b 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf
index 2f632ebda3..a8ac59e821 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf
index 484e4365b5..48b41cac87 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf
index b61d77074d..608e203154 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf
index 37e2bc3e00..5ac9aba1d1 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf
index d4885d0743..49efca45fa 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf
index 76ab0629d5..f2260ffeb4 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf
index 0b9643c0bd..b16ccfe334 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf
index 34ac74afc7..9673abfdb0 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex
index 527f8d0498..7b01c0a88f 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex
@@ -2,9 +2,7 @@
% Übersetzen mit pdflatex -- biber -- pdflatex
% Verwende den vom Hochschulschriftenservice verlangten Standard PDF/A1-b
% (siehe http://e-theses.univie.ac.at/elektronische_einreichung.html)
-% pdfx is currently broken
-%\documentclass[naustrian,pdfa]{univie-ling-thesis}
-\documentclass[naustrian]{univie-ling-thesis}
+\documentclass[naustrian,pdfa]{univie-ling-thesis}
\usepackage{babel}
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf
index 800946d7c8..0d550fa286 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex
index c2f7c5f4a0..0be7edb600 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex
@@ -2,9 +2,7 @@
% Run pdflatex -- biber -- pdflatex
% Use the PDF/A1-b standard as required by the Hochschulschriften-Service
% (see http://e-theses.univie.ac.at/elektronische_einreichung.html)
-% pdfx is currently broken
-%\documentclass[naustrian,english,pdfa]{univie-ling-thesis}
-\documentclass[naustrian,english]{univie-ling-thesis}
+\documentclass[naustrian,english,pdfa]{univie-ling-thesis}
\usepackage{babel}
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf
index b65b92ef1b..8a1d9155c6 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf
index 2e8562ef5d..f811c049e4 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf
index d47fcaaa0b..7efd2c2f36 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex
index fcb89d9727..c3d1c66805 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -370,6 +370,11 @@ Templates are provided as well:
\section{Release History}
\begin{itemize}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
\item 2024/06/27 (v.\,2.6)
\begin{itemize}
\item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf
index bb7dfd5c25..a253d4003e 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex
index 8fbb627024..bdd72da44e 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -415,6 +415,11 @@ Templates are provided as well:
\section{Release History}
\begin{description}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
\item 2024/06/27 (v.\,2.6)
\begin{itemize}
\item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf
index 9f7f328fbb..e04efcd52f 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex
index 6ade5e4b72..d6f5293a89 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -411,6 +411,11 @@ Templates are provided as well:
\section{Release History}
\begin{itemize}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
\item 2024/06/27 (v.\,2.6)
\begin{itemize}
\item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf
index 204245e59f..06d64c7638 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex
index c8580538c3..1985658b78 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex
@@ -65,7 +65,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -577,6 +577,11 @@ Templates are provided as well:
\section{Release History}
\begin{description}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
\item 2024/06/27 (v.\,2.6)
\begin{itemize}
\item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf
index 4c9fb2a37c..b77ad97265 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex
index 92d06ea952..2feb157bce 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex
@@ -59,7 +59,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -433,6 +433,11 @@ Templates are provided as well:
\section{Release History}
\begin{itemize}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
\item 2024/06/27 (v.\,2.6)
\begin{itemize}
\item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf
index 6276518546..f2a5a48dc2 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex
index a12fccdeac..6ca75cc0ed 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex
@@ -59,7 +59,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -263,6 +263,10 @@ If the class option \joption{biblatex=true} is set, the \uvlt\ class loads a bib
\emph{Unified Style Sheet for Linguistics} of the LSA (\emph{Linguistic Society of America}).
In order to conform to this style, the \uvlt\ class uses the \textsf{biblatex} package with the \textsf{univie-ling} style that is included in the \textsf{univie-ling} bundle.
+If, for some reason, you do not want to use \textsf{biblatex} and prefer to have a manually constituted bibliography\footnote{A reason might be that you transform
+a paper submitted in a an office file format to \LaTeX.}, use the \texttt{reflist} environment
+and separate each entry by a blank line. Since this environment is provided by \textsf{covington}, the \joption{covington} options must not be \joption{false}.
+
\section{\LyX\ layouts and templates}
A layout for \LyX\footnote{See \url{https://www.lyx.org}.}\ can be retrieved from \url{https://github.com/jspitz/univie-ling/raw/master/lyx/layouts/univie-ling-wlg.layout}.
@@ -274,6 +278,12 @@ A template is provided as well: \url{https://github.com/jspitz/univie-ling/raw/m
\raggedright
\begin{itemize}
+ \item 2024/07/23 (v.\,2.7)
+ \begin{itemize}
+ \item Use proper spacing with \textsf{covington}'s \texttt{reflist} environment.
+ \item Fix spacing after \jfcsmacro{weblink}.
+ \item Fix empty argument check in \jfcsmacro{weblink}.
+ \end{itemize}
\item 2024/06/27 (v.\,2.6)
\begin{itemize}
\item Provide \jcsmacro{weblink}, \jcsmacro{SetURLDate} and \jcsmacro{urldate} macros.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling.pdf
index b0f3e13826..394cddb692 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling.tex b/macros/latex/contrib/univie-ling/doc/univie-ling.tex
index 34435a3876..f88f1fcea4 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling.tex
@@ -42,7 +42,7 @@
\author{\texorpdfstring{Jrgen Spitzmller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jrgen Spitzmller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls
index b31ae0a4f7..f7ff0916f4 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls
@@ -33,7 +33,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesPackage{univie-ling-expose}[2024/06/27 v.2.6 Univie Linguistic Exposes (JSp)]
+\ProvidesPackage{univie-ling-expose}[2024/07/23 v.2.7 Univie Linguistic Exposes (JSp)]
%% ============================================================
@@ -274,10 +274,10 @@
\NewDocumentCommand\weblink{mo}{%
\url{#1}%
\IfNoValueTF{#2}%
- {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ {\ifx\wlg@urldate\empty\else%
\ \urldate{\wlg@urldate}%
- }}%
- {\ \urldate{#2}}
+ \fi}%
+ {\ \urldate{#2}}%
}
}
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls
index 01abf2e31c..73c5a325da 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls
@@ -35,7 +35,7 @@
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesClass{univie-ling-handout}[2024/06/27 v.2.6 Univie Ling handout class (JSp)]
+\ProvidesClass{univie-ling-handout}[2024/07/23 v.2.7 Univie Ling handout class (JSp)]
%% ============================================================
%% CLASS OPTIONS
@@ -933,10 +933,10 @@
\NewDocumentCommand\weblink{mo}{%
\url{#1}%
\IfNoValueTF{#2}%
- {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ {\ifx\wlg@urldate\empty\else%
\ \urldate{\wlg@urldate}%
- }}%
- {\ \urldate{#2}}
+ \fi}%
+ {\ \urldate{#2}}%
}
}
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls
index 88ec71a6fa..eda1430345 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls
@@ -32,7 +32,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesPackage{univie-ling-paper}[2024/06/27 v.2.6 Univie Linguistic Papers (JSp)]
+\ProvidesPackage{univie-ling-paper}[2024/07/23 v.2.7 Univie Linguistic Papers (JSp)]
%% ============================================================
@@ -296,10 +296,10 @@ This includes all drawings, sketches, graphics and internet sources.}
\NewDocumentCommand\weblink{mo}{%
\url{#1}%
\IfNoValueTF{#2}%
- {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ {\ifx\wlg@urldate\empty\else%
\ \urldate{\wlg@urldate}%
- }}%
- {\ \urldate{#2}}
+ \fi}%
+ {\ \urldate{#2}}%
}
}
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls
index 9a354e25c7..87f5092d4c 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls
@@ -34,7 +34,7 @@
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesClass{univie-ling-poster}[2024/06/27 v.2.6 Univie Ling poster class (JSp)]
+\ProvidesClass{univie-ling-poster}[2024/07/23 v.2.7 Univie Ling poster class (JSp)]
%% ============================================================
%% CLASS OPTIONS
@@ -909,10 +909,10 @@
\NewDocumentCommand\weblink{mo}{%
\url{#1}%
\IfNoValueTF{#2}%
- {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ {\ifx\wlg@urldate\empty\else%
\ \urldate{\wlg@urldate}%
- }}%
- {\ \urldate{#2}}
+ \fi}%
+ {\ \urldate{#2}}%
}
}
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls
index 4813af3abc..91d34276a0 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls
@@ -33,7 +33,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesPackage{univie-ling-thesis}[2024/06/27 v.2.6 Univie Linguistic Theses (JSp)]
+\ProvidesPackage{univie-ling-thesis}[2024/07/23 v.2.7 Univie Linguistic Theses (JSp)]
%% ============================================================
@@ -288,10 +288,10 @@ This includes all drawings, sketches, graphics and internet sources.}
\NewDocumentCommand\weblink{mo}{%
\url{#1}%
\IfNoValueTF{#2}%
- {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ {\ifx\wlg@urldate\empty\else%
\ \urldate{\wlg@urldate}%
- }}%
- {\ \urldate{#2}}
+ \fi}%
+ {\ \urldate{#2}}%
}
}
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls
index e85daaabe0..00deb089cc 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls
@@ -34,7 +34,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[2022/06/01]
-\ProvidesPackage{univie-ling-wlg}[2024/06/27 v.2.6 Univie WLG journal layout (JSp)]
+\ProvidesPackage{univie-ling-wlg}[2024/07/23 v.2.7 Univie WLG journal layout (JSp)]
%% ============================================================
@@ -225,10 +225,10 @@
\NewDocumentCommand\weblink{mo}{%
\url{#1}%
\IfNoValueTF{#2}%
- {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ {\ifx\wlg@urldate\empty\else%
\ \urldate{\wlg@urldate}%
- }}%
- {\ \urldate{#2}}
+ \fi}%
+ {\ \urldate{#2}}%
}
}
@@ -1043,6 +1043,8 @@
\if@wlg@covington
\RequirePackage{covington}
\renewcommand{\p@equation}[1]{(#1)}
+ \setlength\reflistindent{\parindent}
+ \setlength\reflistparsep{0pt}
\fi
diff --git a/macros/latex/contrib/ut-thesis/README b/macros/latex/contrib/ut-thesis/README
index 785d74c606..ed1db06b9d 100644
--- a/macros/latex/contrib/ut-thesis/README
+++ b/macros/latex/contrib/ut-thesis/README
@@ -5,8 +5,8 @@ as of Fall 2020:
[https://www.sgs.utoronto.ca/academic-progress/program-completion/formatting]
Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>,
- 2020-2023 Jesse Knight <jesse.knight@mail.utoronto.ca>
-last updated at 13:00 (EST) on Wed 08 Feb 2023
+ 2020-2024 Jesse Knight <jesse.x.knight@protonmail.com>
+last updated at 09:00 (BST) on Fri 26 July 2024
This work may be distributed and/or modified under the conditions of
the LaTeX Project Public Licence, either version 1.3c of this licence
@@ -22,7 +22,7 @@ and is not covered by the licence.
This work has the LPPL maintenance status "maintained".
The Current Maintainer of this work is
-Jesse Knight <jesse.knight@mail.utoronto.ca>.
+Jesse Knight <jesse.x.knight@protonmail.com>.
This work consists of the files:
- README
@@ -31,12 +31,13 @@ This work consists of the files:
- ut-thesis.pdf (derived user manual)
- ut-thesis.cls (derived class file)
-To generate ut-thesis.cls (class file), run: pdflatex ut-thesis.ins
-To generate ut-thesis.pdf (documentation), run: pdflatex ut-thesis.dtx
-To use the class, make ut-thesis.cls visible to your LaTeX distribution,
-by placing ut-thesis.cls either in your working directory,
-or in your texmf tree, perhaps: $texmf/tex/latex/ut-thesis/ut-thesis.cls
-and the documentation: $texmf/doc/latex/ut-thesis/ut-thesis.pdf
+Install ut-thesis from your favourite LaTeX distribution.
+Alternatively, or to use the latest version:
+- generate ut-thesis.cls (class file) using: pdflatex ut-thesis.ins
+ and copy to: $texmf/tex/latex/ut-thesis/ut-thesis.cls
+- generate ut-thesis.pdf (documentation) using: pdflatex ut-thesis.dtx
+ and copy to: $texmf/doc/latex/ut-thesis/ut-thesis.pdf
+or simply copy ut-thesis.cls to your working directory.
See version history on GitHub:
-[https://github.com/jessexknight/ut-thesis] \ No newline at end of file
+[https://github.com/jessexknight/ut-thesis]
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.dtx b/macros/latex/contrib/ut-thesis/ut-thesis.dtx
index 873f0bd2c5..9d6a704148 100644
--- a/macros/latex/contrib/ut-thesis/ut-thesis.dtx
+++ b/macros/latex/contrib/ut-thesis/ut-thesis.dtx
@@ -5,7 +5,7 @@
%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<class>\ProvidesClass{ut-thesis}
%<*class>
-[2023/02/08 v3.1.7 University of Toronto thesis class]
+[2024/07/26 v3.1.8 University of Toronto thesis class]
%</class>
%
%<*driver>
@@ -33,15 +33,15 @@
% \GetFileInfo{ut-thesis.dtx}
%
% \title{The \textit{ut-thesis} class
-% \thanks{\fileversion~[\filedate] CTAN repository:
-% \href{https://ctan.org/pkg/ut-thesis}
-% {\texttt{https://ctan.org/pkg/ut-thesis}}}}
+% \thanks{\fileversion~[\filedate]\hfill
+% \href{https://ctan.org/pkg/ut-thesis}{\texttt{https://ctan.org/pkg/ut-thesis}}\hfill
+% \href{https://github.com/jessexknight/ut-thesis}{\texttt{github.com/jessexknight/ut-thesis}}}}
% \author{
% Francois Pitt,
% Jesse Knight
% \thanks{maintainer, contact:
-% \href{mailto:jesse.knight@mail.utoronto.ca}
-% {\texttt{jesse.knight@mail.utoronto.ca}}}
+% \href{mailto:jesse.x.knight@protonmail.com}
+% {\texttt{jesse.x.knight@protonmail.com}}}
% }
%
% \maketitle
@@ -79,7 +79,7 @@
%
% The default options produce a final copy, ready for submission to
% the University of Toronto School of Graduate Studies (SGS).
-% Some examples are available on
+% There is some example code on
% \href{https://github.com/jessexknight/ut-thesis/tree/master/test}{GitHub}.
%
% \subsection{Options}\label{use:opt}
@@ -616,4 +616,4 @@
\setlength\belowcaptionskip{1ex}
% \end{macrocode}
%
-\endinput \ No newline at end of file
+\endinput
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.ins b/macros/latex/contrib/ut-thesis/ut-thesis.ins
index db35055115..80df67d81e 100644
--- a/macros/latex/contrib/ut-thesis/ut-thesis.ins
+++ b/macros/latex/contrib/ut-thesis/ut-thesis.ins
@@ -11,8 +11,8 @@ as of Fall 2020:
[https://www.sgs.utoronto.ca/academic-progress/program-completion/formatting]
Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>,
- 2020-2021 Jesse Knight <jesse.knight@mail.utoronto.ca>
-last updated at 23:30 (EST) on Tue 20 July 2021
+ 2020-2024 Jesse Knight <jesse.x.knight@protonmail.com>
+last updated at 09:00 (BST) on Fri 26 July 2024
This work may be distributed and/or modified under the conditions of
the LaTeX Project Public Licence, either version 1.3c of this licence
@@ -28,7 +28,7 @@ and is not covered by the licence.
This work has the LPPL maintenance status "maintained".
The Current Maintainer of this work is
-Jesse Knight <jesse.knight@mail.utoronto.ca>.
+Jesse Knight <jesse.x.knight@protonmail.com>.
This work consists of the files:
- README
@@ -37,12 +37,13 @@ This work consists of the files:
- ut-thesis.pdf (derived user manual)
- ut-thesis.cls (derived class file)
-To generate ut-thesis.cls (class file), run: pdflatex ut-thesis.ins
-To generate ut-thesis.pdf (documentation), run: pdflatex ut-thesis.dtx
-To use the class, make ut-thesis.cls visible to your LaTeX distribution,
-by placing ut-thesis.cls either in your working directory,
-or in your texmf tree, perhaps: $texmf/tex/latex/ut-thesis/ut-thesis.cls
-and the documentation: $texmf/doc/latex/ut-thesis/ut-thesis.pdf
+Install ut-thesis from your favourite LaTeX distribution.
+Alternatively, or to use the latest version:
+- generate ut-thesis.cls (class file) using: pdflatex ut-thesis.ins
+ and copy to: $texmf/tex/latex/ut-thesis/ut-thesis.cls
+- generate ut-thesis.pdf (documentation) using: pdflatex ut-thesis.dtx
+ and copy to: $texmf/doc/latex/ut-thesis/ut-thesis.pdf
+or simply copy ut-thesis.cls to your working directory.
See version history on GitHub:
[https://github.com/jessexknight/ut-thesis]
@@ -51,4 +52,4 @@ See version history on GitHub:
\generate{\file{ut-thesis.cls}{\from{ut-thesis.dtx}{class}}}
-\endbatchfile \ No newline at end of file
+\endbatchfile
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.pdf b/macros/latex/contrib/ut-thesis/ut-thesis.pdf
index 8f055d54d0..fdf74d5a9a 100644
--- a/macros/latex/contrib/ut-thesis/ut-thesis.pdf
+++ b/macros/latex/contrib/ut-thesis/ut-thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/zref-clever/CHANGELOG.md b/macros/latex/contrib/zref-clever/CHANGELOG.md
index 3cf6c73b25..80b15591be 100644
--- a/macros/latex/contrib/zref-clever/CHANGELOG.md
+++ b/macros/latex/contrib/zref-clever/CHANGELOG.md
@@ -1,6 +1,16 @@
# Changelog
-## [Unreleased](https://github.com/gusbrs/zref-clever/compare/v0.4.5...HEAD)
+## [Unreleased](https://github.com/gusbrs/zref-clever/compare/v0.4.6...HEAD)
+
+## [v0.4.6](https://github.com/gusbrs/zref-clever/compare/v0.4.5...v0.4.6) (2024-08-23)
+
+### Fixed
+- Fix sorting of appendix references.
+
+### Changed
+- The `counterresetters` option now receives a full comma separated list of
+ counters as value, instead of working by incrementally adding values to the
+ list.
## [v0.4.5](https://github.com/gusbrs/zref-clever/compare/v0.4.4...v0.4.5) (2024-05-20)
diff --git a/macros/latex/contrib/zref-clever/zref-clever-code.pdf b/macros/latex/contrib/zref-clever/zref-clever-code.pdf
index 09b441eeb1..4dc41ff5a8 100644
--- a/macros/latex/contrib/zref-clever/zref-clever-code.pdf
+++ b/macros/latex/contrib/zref-clever/zref-clever-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/zref-clever/zref-clever-doc.pdf b/macros/latex/contrib/zref-clever/zref-clever-doc.pdf
index 5594a06fb3..e6c24bc473 100644
--- a/macros/latex/contrib/zref-clever/zref-clever-doc.pdf
+++ b/macros/latex/contrib/zref-clever/zref-clever-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/zref-clever/zref-clever-doc.tex b/macros/latex/contrib/zref-clever/zref-clever-doc.tex
index e088c49915..7b8e27a15b 100644
--- a/macros/latex/contrib/zref-clever/zref-clever-doc.tex
+++ b/macros/latex/contrib/zref-clever/zref-clever-doc.tex
@@ -245,20 +245,23 @@ where it lies.
But the plethora of existing features, packages and document classes which, in
one way or another, extends this basic functionality is a clear indication of
-a demand for more automation. Just to name the most popular: \pkg{cleveref},
-\pkg{hyperref}, \pkg{titleref}, \pkg{nameref}, \pkg{varioref}, \pkg{fancyref},
+a demand for more automation. Just to name the some of the most popular:
+\pkg{cleveref}, \pkg{nameref}, \pkg{titleref}, \pkg{varioref}, \pkg{fancyref},
and the kernel's \cs{labelformat}.
-However, the standard cross-referencing system stores two, and only two,
-properties with the label: the printed representation of the counter last
-incremented with \cs{refstepcounter} and the page. Of course, out of the
-mentioned desire to automate more, the need arose to store more information
-about the label to support this: the title or caption of the referenced
-object; its counter or, even better, its ``type'', that is, whether it is a
-section, chapter, figure, etc.; its hyperlink anchor, and so on. Thus those
-two property ``fields'' of the standard label became quite a disputed real
-state. And the packages in this area of functionality were bound to step on
-each other's toes as a result.
+However, the standard cross-referencing system traditionally stored two, and
+only two, properties with the label: the printed representation of the counter
+last incremented with \cs{refstepcounter} and the page.\footnote{Nowadays, it
+ stores 5, so that \pkg{hyperref} and \pkg{nameref} no longer need to
+ redefine \cs{label}.} Of course, out of the mentioned desire to automate
+more, the need arose to store more information about the label to support
+this: the title or caption of the referenced object; its counter or, even
+better, its ``type'', that is, whether it is a section, chapter, figure, etc.;
+its hyperlink anchor, and so on. Thus those two property ``fields'' of the
+standard label became quite a disputed real state. And the packages in this
+area of functionality, or which somehow depended on extending the
+cross-referencing mechanism, were bound to step on each other's toes as a
+result.
Out of this conundrum, Heiko Oberdiek eventually developed \pkg{zref}, which
implements an extensible referencing system, making the labels store a
@@ -890,30 +893,31 @@ know the counter associated with a particular label but also information on
any counter whose stepping may trigger its resetting, or its ``enclosing
counters''. This information is not easily retrievable from the counter
itself but is (normally) stored with the counter that does the resetting. The
-\opt{counterresetters} option adds counter names, received as a comma
-separated list, to the list of counters \pkg{zref-clever} uses to search for
-``enclosing counters'' of the counter for which a label is being set.
-Unfortunately, not every counter gets reset through the standard machinery for
-this, including some \LaTeX{} kernel ones (e.g. the \texttt{enumerate}
-environment counters). For those, there is really no way to retrieve this
-information directly, so we have to just tell \pkg{zref-clever} about them.
-And that's what the \opt{counterresetby} option is made for. It receives a
-comma separated list of \texttt{key=value} pairs, in which \texttt{key} is the
-counter, and \texttt{value} is its ``enclosing counter'', that is, the counter
-whose stepping results in its resetting. This is not really an ``option'' in
-the sense of ``user choice'', it is more of a way to inform \pkg{zref-clever}
-of something it cannot know or automatically find in general. One cannot
-place arbitrary information there, or \pkg{zref-clever} can be thoroughly
-confused. The setting must correspond to the actual resetting behavior of the
-involved counters. \opt{counterresetby} has precedence over the search done
-in the \opt{counterresetters} list. The default value of
-\opt{counterresetters} includes the counters for sectioning commands of the
-standard classes which, in most cases, should be the relevant ones for
-cross-referencing purposes. The default value of \opt{counterresetby}
-includes the \texttt{enumerate} environment counters. So, hopefully, you
-don't need to ever bother with either of these options. But, if you do, they
-are here. Use them with caution though. Since these options only affect how
-labels are set, they are not available in \cs{zcref}.
+\opt{counterresetters} option receives a full comma separated list of counter
+names, which \pkg{zref-clever} uses to search for ``enclosing counters'' of
+the counter for which a label is being set. The order matters (see code
+documentation for details), and you should also take care to start from the
+initial value set by the package. Unfortunately, not every counter gets reset
+through the standard machinery for this, including some \LaTeX{} kernel ones
+(e.g. the \texttt{enumerate} environment counters). For those, there is
+really no way to retrieve this information directly, so we have to just tell
+\pkg{zref-clever} about them. And that's what the \opt{counterresetby} option
+is made for. It receives a comma separated list of \texttt{key=value} pairs,
+in which \texttt{key} is the counter, and \texttt{value} is its ``enclosing
+counter'', that is, the counter whose stepping results in its resetting. This
+is not really an ``option'' in the sense of ``user choice'', it is more of a
+way to inform \pkg{zref-clever} of something it cannot know or automatically
+find in general. One cannot place arbitrary information there, or
+\pkg{zref-clever} can be thoroughly confused. The setting must correspond to
+the actual resetting behavior of the involved counters. \opt{counterresetby}
+has precedence over the search done in the \opt{counterresetters} list. The
+default value of \opt{counterresetters} includes the counters for sectioning
+commands of the standard classes which, in most cases, should be the relevant
+ones for cross-referencing purposes. The default value of
+\opt{counterresetby} includes the \texttt{enumerate} environment counters.
+So, hopefully, you don't need to ever bother with either of these options.
+But, if you do, they are here. Use them with caution though. Since these
+options only affect how labels are set, they are not available in \cs{zcref}.
\DescribeOption{\raisebox{.4em}{\dbend}\ currentcounter} %
\LaTeX{}'s \cs{refstepcounter} sets two variables which potentially affect the
@@ -2242,12 +2246,12 @@ A figure.
\section{Limitations}
\zlabel{sec:limitations}
-Being based on \pkg{zref} entails one quite sizable advantage for
+Being based on \pkg{zref} entails one significant advantage for
\pkg{zref-clever}: the extensible referencing system of the former allows
\pkg{zref-clever} to store and retrieve the information it needs to work
-without having to redefine some core \LaTeX{} commands. This alone makes for
-reduced compatibility problems and less load order issues than the average
-package in this functionality area. On the other hand, being based on
+without having to redefine some core \LaTeX{} commands. Which leads to less
+compatibility problems and load order issues than some traditional
+cross-reference related packages. On the other hand, being based on
\pkg{zref} also does impair the supported scope of \pkg{zref-clever}. Not
because of any particular limitation of either, but because any class or
package which implements some special handling for reference labels
@@ -2347,18 +2351,21 @@ for numbering and \cs{appendixname} for chapter's names. In sum, we'd like to
refer to the appendix sectioning commands as ``appendices'' rather than
``chapters'' or ``sections''. Since the sectioning commands are the same as
before \cs{appendix}, and so are their underlying counters, we must configure
-the counter type of the sectioning counters to \texttt{appendix}. And this is
-what this compatibility module does, and it uses a \pkg{ltcmdhooks} hook on
-\cs{appendix} for the purpose. Hence, this module applies to any document
+the counter type of the sectioning counters to \texttt{appendix}. Also, the
+sorting of appendix labels relative to those in the rest of the document
+requires attention, which is done by setting the main sectioning level counter
+as being reset by an internal counter with the \opt{counterresetby} option.
+And this is what this compatibility module does, using a \pkg{ltcmdhooks} hook
+on \cs{appendix} for the purpose. Hence, this module applies to any document
class or package which provides that command.
\DescribeOption{appendices} %
This module implements support for the \env{appendices} and
\env{subappendices} environments provided by the \pkg{appendix} package, and
also by \cls{memoir}. The task is the same as for the \texttt{appendix}
-module: set proper counter types for the sectioning counters. This module
-employs environment hooks to \env{appendices} and \env{subappendices} and a
-command hook to \cs{appendix} for the purpose.
+module: set proper counter types for the sectioning counters and ensuring
+proper sorting of labels. This module employs environment hooks to
+\env{appendices} and \env{subappendices}.
\DescribeOption{memoir} %
This compatibility module provides support for some of \cls{memoir}'s
@@ -2641,6 +2648,7 @@ were generously provided by (in chronological order):
% 2023-11-09: https://github.com/gusbrs/zref-clever/issues/20
% 2024-01-20: https://github.com/gusbrs/zref-clever/pull/25
% 2024-05-04: https://github.com/gusbrs/zref-clever/pull/27
+ % 2024-07-19: https://github.com/gusbrs/zref-clever/pull/32
and Lars Madsen.
% 2023-07-24: https://chat.stackexchange.com/transcript/message/64039717#64039717
% and following discussion.
diff --git a/macros/latex/contrib/zref-clever/zref-clever.dtx b/macros/latex/contrib/zref-clever/zref-clever.dtx
index 9c1d73a5a2..155d7141ee 100644
--- a/macros/latex/contrib/zref-clever/zref-clever.dtx
+++ b/macros/latex/contrib/zref-clever/zref-clever.dtx
@@ -171,7 +171,7 @@
%
% Identify the package.
% \begin{macrocode}
-\ProvidesExplPackage {zref-clever} {2024-05-20} {0.4.5}
+\ProvidesExplPackage {zref-clever} {2024-08-23} {0.4.6}
{Clever LaTeX cross-references based on zref}
% \end{macrocode}
%
@@ -374,19 +374,34 @@
% there is no possible verification mechanism for this.
%
%
-% \begin{macro}[EXP]{\@@_get_enclosing_counters_value:n}
-% Recursively generate a \emph{sequence} of ``enclosing counters'' values,
-% for a given \meta{counter} and leave it in the input stream. This
-% function must be expandable, since it gets called from \cs{zref@newprop}
-% and is the one responsible for generating the desired information when
-% the label is being set. Note that the order in which we are getting this
-% information is reversed, since we are navigating the counter reset chain
-% bottom-up. But it is very hard to do otherwise here where we need
-% expandable functions, and easy to handle at the reading side.
+% \begin{macro}[EXP]
+% {
+% \@@_get_enclosing_counters:n ,
+% \@@_get_enclosing_counters_value:n ,
+% }
+% Recursively generate a \emph{sequence} of ``enclosing counters'' and
+% values, for a given \meta{counter} and leave it in the input stream.
+% These functions must be expandable, since they get called from
+% \cs{zref@newprop} and are the ones responsible for generating the desired
+% information when the label is being set. Note that the order in which we
+% are getting this information is reversed, since we are navigating the
+% counter reset chain bottom-up. But it is very hard to do otherwise here
+% where we need expandable functions, and easy to handle at the reading
+% side.
% \begin{syntax}
+% \cs{@@_get_enclosing_counters:n} \Arg{counter}
% \cs{@@_get_enclosing_counters_value:n} \Arg{counter}
% \end{syntax}
% \begin{macrocode}
+\cs_new:Npn \@@_get_enclosing_counters:n #1
+ {
+ \cs_if_exist:cT { c@ \@@_counter_reset_by:n {#1} }
+ {
+ { \@@_counter_reset_by:n {#1} }
+ \@@_get_enclosing_counters:e
+ { \@@_counter_reset_by:n {#1} }
+ }
+ }
\cs_new:Npn \@@_get_enclosing_counters_value:n #1
{
\cs_if_exist:cT { c@ \@@_counter_reset_by:n {#1} }
@@ -406,16 +421,18 @@
% Gregorio}, aka `egreg' at
% \url{https://tex.stackexchange.com/q/611370/#comment1529282_611385}).
% \begin{macrocode}
+\cs_generate_variant:Nn \@@_get_enclosing_counters:n { e }
\cs_generate_variant:Nn \@@_get_enclosing_counters_value:n { e }
% \end{macrocode}
% \end{macro}
%
%
% \begin{macro}[EXP]{\@@_counter_reset_by:n}
-% Auxiliary function for \cs{@@_get_enclosing_counters_value:n}, and useful
-% on its own standing. It is broken in parts to be able to use the
-% expandable mapping functions. \cs{@@_counter_reset_by:n} leaves in the
-% stream the ``enclosing counter'' which resets \meta{counter}.
+% Auxiliary function for \cs{@@_get_enclosing_counters:n} and
+% \cs{@@_get_enclosing_counters_value:n}, and useful on its own standing.
+% It is broken in parts to be able to use the expandable mapping functions.
+% \cs{@@_counter_reset_by:n} leaves in the stream the ``enclosing counter''
+% which resets \meta{counter}.
% \begin{syntax}
% \cs{@@_counter_reset_by:n} \Arg{counter}
% \end{syntax}
@@ -461,6 +478,14 @@
\zref@addprop \ZREF@mainlist { zc@enclval }
% \end{macrocode}
%
+% The \texttt{zc@enclcnt} property is provided for the purpose of easing the
+% debugging of counter reset chains, thus it is not added \texttt{main}
+% property list by default.
+% \begin{macrocode}
+\zref@newprop { zc@enclcnt }
+ { \@@_get_enclosing_counters:e \l_@@_current_counter_tl }
+% \end{macrocode}
+%
%
% Another piece of information we need is the page numbering format being used
% by \cs{thepage}, so that we know when we can (or not) group a set of page
@@ -3883,37 +3908,70 @@
%
% \cs{l_@@_counter_resetters_seq} is used by \cs{@@_counter_reset_by:n} to
% populate the \texttt{zc@enclval} property, and stores the list of counters
-% which are potential ``enclosing counters'' for other counters. This option
-% is constructed such that users can only \emph{add} items to the variable.
-% There would be little gain and some risk in allowing removal, and the syntax
-% of the option would become unnecessarily more complicated. Besides, users
-% can already override, for any particular counter, the search done from the
-% set in \cs{l_@@_counter_resetters_seq} with the \opt{counterresetby} option.
+% which are potential ``enclosing counters'' for other counters.
+%
+% Note that, as far as \LaTeX{} is concerned, a given counter can be reset by
+% \emph{any number of counters}. \cs{counterwithin} just adds a new
+% ``within-counter'' for ``counter'' without removing any other existing ones.
+% However, the data structure of \pkg{zref-clever} can only account for
+% \emph{one} enclosing counter. In a way, this is hard to circumvent, because
+% the underlying counter reset behavior works ``top-down'', but when looking
+% to a label built from a given counter we need to infer the enclosing
+% counters ``bottom-up''. As a result, the reset chain we find is path
+% dependent or, more formally, what \cs{@@_counter_reset_by:n} returns depends
+% on the order in which it searches the list of
+% \cs{l_@@_counter_resetters_seq}, since it stops on the first match. This
+% representation mismatch should not be a problem in most cases. But one
+% should be aware of the limits it imposes.
+%
+% Consider the following case: the \cls{book} class sets, by default
+% \texttt{figure} and \texttt{table} counters to be reset every
+% \texttt{chapter}, \texttt{section} is also reset every \texttt{chapter}, of
+% course. Suppose now we say
+% \cs{counterwithin}\texttt{\{figure\}\{section\}}. Technically,
+% \texttt{figure} is being reset every \texttt{section} and every
+% \texttt{chapter}, but since \texttt{section} is also reset every
+% \texttt{chapter}, the original ``\texttt{chapter} resets \texttt{figure}''
+% behavior is now redundant. Innocuous, but is still there. Now, suppose we
+% want to find which counter is resetting \texttt{figure} using
+% \cs{@@_counter_reset_by:n}. If \texttt{chapter} comes before
+% \texttt{section} in \cs{l_@@_counter_resetters_seq}, \texttt{chapter} will
+% be returned, and that's not what we want. That's the reason
+% \opt{counterresetters} initial value goes bottom-up in the sectioning level,
+% since we'd expect the nesting of the reset chain to \emph{typically} work
+% top-down.
+%
+% If, despite all this, unexpected results still ensue, users can take care to
+% ``clean'' redundant resetting settings with \cs{counterwithout}. Besides,
+% users can already override, for any particular counter, the search done from
+% the set in \cs{l_@@_counter_resetters_seq} with the \opt{counterresetby}
+% option.
+%
+% For the above reasons, since order matters, the \opt{counterresetters}
+% option can only be set by the full list of counters. In other words, users
+% wanting to change this should take the initial value as their starting base.
+%
+% The \texttt{zc@enclcnt} \pkg{zref} property, not included by default in the
+% \texttt{main} property list, is provided for the purpose of easing the
+% debugging of counter reset chains. So, by adding
+% \cs{zref@addprop}\texttt{\{main\}\{zc@enclcnt\}} you can inspect what the
+% values in the \texttt{zc@enclval} property correspond to.
%
% \begin{macrocode}
\seq_new:N \l_@@_counter_resetters_seq
\keys_define:nn { zref-clever/label }
{
counterresetters .code:n =
- {
- \clist_map_inline:nn {#1}
- {
- \seq_if_in:NnF \l_@@_counter_resetters_seq {##1}
- {
- \seq_put_right:Nn
- \l_@@_counter_resetters_seq {##1}
- }
- }
- } ,
+ { \seq_set_from_clist:Nn \l_@@_counter_resetters_seq {#1} } ,
counterresetters .initial:n =
{
- part ,
- chapter ,
- section ,
- subsection ,
- subsubsection ,
- paragraph ,
subparagraph ,
+ paragraph ,
+ subsubsection ,
+ subsection ,
+ section ,
+ chapter ,
+ part ,
},
counterresetters .value_required:n = true ,
}
@@ -7754,11 +7812,45 @@
% appendix to ``end'', but in this case, of course, we can hook into the
% environment instead.
%
+% For the record, \url{https://tex.stackexchange.com/a/724742} is of
+% interest.
+%
% \begin{macrocode}
\@@_compat_module:nn { appendix }
{
+ \newcounter { zc@appendix }
+ \cs_if_exist:cTF { chapter }
+ {
+ \@@_zcsetup:e
+ {
+ counterresetby =
+ {
+% \end{macrocode}
+% In case someone did something like
+% \texttt{\textbackslash{}counterwithin\{chapter\}\{part\}}. Harmless
+% otherwise.
+% \begin{macrocode}
+ zc@appendix = \@@_counter_reset_by:n { chapter } ,
+ chapter = zc@appendix ,
+ } ,
+ }
+ }
+ {
+ \cs_if_exist:cT { section }
+ {
+ \@@_zcsetup:e
+ {
+ counterresetby =
+ {
+ zc@appendix = \@@_counter_reset_by:n { section } ,
+ section = zc@appendix ,
+ } ,
+ }
+ }
+ }
\AddToHook { cmd / appendix / before }
{
+ \setcounter { zc@appendix } { 1 }
\@@_zcsetup:n
{
countertype =
@@ -7797,26 +7889,28 @@
{
\@@_if_package_loaded:nT { appendix }
{
- \newcounter { zc@appendix }
- \newcounter { zc@save@appendix }
- \setcounter { zc@appendix } { 0 }
- \setcounter { zc@save@appendix } { 0 }
- \cs_if_exist:cTF { chapter }
- {
- \@@_zcsetup:n
- { counterresetby = { chapter = zc@appendix } }
- }
- {
- \cs_if_exist:cT { section }
- {
- \@@_zcsetup:n
- { counterresetby = { section = zc@appendix } }
- }
- }
\AddToHook { env / appendices / begin }
{
- \stepcounter { zc@save@appendix }
- \setcounter { zc@appendix } { \value { zc@save@appendix } }
+% \end{macrocode}
+% Technically, the \env{appendices} environment can be called multiple times.
+% By default, successive calls keep track of numbering and start where the
+% previous one left off. Which means just setting the \texttt{zc@appendix}
+% counter to 1 is enough for things to work, since the distinction between the
+% calls and the sorting of their respective references will depend on the
+% underlying sectioning. \pkg{appendix}'s documentation however, provides a
+% way to restart from A at each call (by redefining \cs{restoreapp} to do
+% nothing). In this case, the references inside different calls to
+% \env{appendices} get to be identical in every way, including printed form,
+% counter value, enclosing counters, etc., despite being different. We could
+% keep track of different calls to \env{appendices} by having the
+% \texttt{zc@appendix} counter be ``stepped'' at each call. Doing so would
+% mean though that \cs{zcref} would distingish things which are typeset
+% identically, granting some arguably weird results. True, the user
+% \emph{can} change the printed form for each \env{appendices} call,
+% e.g. redefining \cs{thechapter}, but in this case, they are responsible for
+% keeping track of this.
+% \begin{macrocode}
+ \setcounter { zc@appendix } { 1 }
\@@_zcsetup:n
{
countertype =
@@ -7832,13 +7926,36 @@
}
\AddToHook { env / appendices / end }
{ \setcounter { zc@appendix } { 0 } }
- \AddToHook { cmd / appendix / before }
+ \newcounter { zc@subappendix }
+ \cs_if_exist:cTF { chapter }
{
- \stepcounter { zc@save@appendix }
- \setcounter { zc@appendix } { \value { zc@save@appendix } }
+ \@@_zcsetup:e
+ {
+ counterresetby =
+ {
+ zc@subappendix = \@@_counter_reset_by:n { section } ,
+ section = zc@subappendix ,
+ } ,
+ }
+ }
+ {
+ \@@_zcsetup:e
+ {
+ counterresetby =
+ {
+ zc@subappendix = \@@_counter_reset_by:n { subsection } ,
+ subsection = zc@subappendix ,
+ } ,
+ }
}
\AddToHook { env / subappendices / begin }
{
+% \end{macrocode}
+% The \env{subappendices} environment, on the other hand, appears not to
+% support multiple calls inside the same chapter/section (the counter is reset
+% by default). Either way, the same reasoning applies.
+% \begin{macrocode}
+ \setcounter { zc@subappendix } { 1 }
\@@_zcsetup:n
{
countertype =
@@ -7851,6 +7968,8 @@
} ,
}
}
+ \AddToHook { env / subappendices / end }
+ { \setcounter { zc@subappendix } { 0 } }
\msg_info:nnn { zref-clever } { compat-package } { appendix }
}
}
@@ -7977,10 +8096,13 @@
}
% \end{macrocode}
% \pkg{amsmath} does use \cs{refstepcounter} for the \texttt{equation} counter
-% throughout and does set \cs{@currentcounter} for \cs{tag}s. But we still
-% have to manually reset \opt{currentcounter} to default because, since we had
-% to manually set \opt{currentcounter} to \texttt{parentequation} in
-% \env{subequations}, we also have to manually set it to \env{equation} in
+% throughout and supposedly sets \cs{@currentcounter} for \cs{tag}s (I'm not
+% sure if it works in all environments, though. Once I tried to remove the
+% explicit \opt{currentcounter} setting and several labels to \cs{tag}s ended
+% up with type \texttt{section}. But I didn't investigate this further). But
+% we still have to manually reset \opt{currentcounter} to default because,
+% since we had to manually set \opt{currentcounter} to \texttt{parentequation}
+% in \env{subequations}, we also have to manually set it to \env{equation} in
% environments which may be used within it. The \env{xxalignat} environment
% is not included, because it is ``starred'' by default (i.e.\ unnumbered),
% and does not display or accepts labels or tags anyway. The \env{-ed}
@@ -8041,6 +8163,18 @@
% doing special handling inside \cs{zcref}, but the feature is very cool, so
% it's worth it.
%
+% Note that this support comes at a little cost. \opt{showonlyrefs} works by
+% setting a special \cs{MT@newlabel} for each label referenced with
+% \cs{eqref}. Now, \cs{eqref} is a specialized reference command, only used
+% to refer to equations, so it sets \cs{MT@newlabel} unconditionally on the
+% first run. \cs{zcref}, on the other hand, is a general purpose reference
+% command, used to reference labels of any type. But we wouldn't want to set
+% \cs{MT@newlabel} indiscriminately for all referenced labels in the document,
+% so we need to test for its type. Alas, the label must exist before its type
+% can be tested, thus we cannot set \cs{MT@newlabel} on the first run, only on
+% the second. In sum, since \cs{eqref} requires 3 runs to work, \cs{zcref}
+% needs 4.
+%
% \begin{macrocode}
\bool_new:N \l_@@_mathtools_loaded_bool
\@@_compat_module:nn { mathtools }
diff --git a/macros/latex/required/babel/base/README.md b/macros/latex/required/babel/base/README.md
index c84cd4389b..ca87d0cf3b 100644
--- a/macros/latex/required/babel/base/README.md
+++ b/macros/latex/required/babel/base/README.md
@@ -1,6 +1,6 @@
-## Babel 24.7
+## Babel 24.8
-2024-06-26
+2024-08-18
`babel` is the multilingual framework for localizing documents in
LaTeX, LuaLaTeX, XeLaTeX. It manages culturally-determined
@@ -10,9 +10,9 @@ languages even work with Plain formats.
The latest stable version is available on <https://ctan.org/pkg/babel>.
-Changes in version 24.7 are described in:
+Changes in version 24.8 are described in:
-https://latex3.github.io/babel/news/whats-new-in-babel-24.7.html
+https://latex3.github.io/babel/news/whats-new-in-babel-24.8.html
Apart from the manual, you can find information on some aspects of babel at:
@@ -43,15 +43,15 @@ You may also report them to the current maintainer more informally on:
https://latex3.github.io/babel/contact.html
-Bugs related to specific languages are best reported to their
+Bugs related to specific languages are best reported to theirs
respective authors.
### Summary of latest changes
```
-24.7 2024-06-26
- * Improvements in some locales:
- - Filipino (thanks to Leothelion, @ponte-vecchio)
- - Line breaking in Blin, Geez, Tigre, Tigrinya, Wolaytta.
+24.8 2024-08-18
+ * Internal changes in bidi=basic (more reliable).
+ * Hook 'foreign' and \BabelWrapText.
+ * Improved some locales thanks to Stephen Huan (@stephen-huan).
```
### Previous changes
diff --git a/macros/latex/required/babel/base/babel-code.pdf b/macros/latex/required/babel/base/babel-code.pdf
index 8be7825803..3e5cfe9306 100644
--- a/macros/latex/required/babel/base/babel-code.pdf
+++ b/macros/latex/required/babel/base/babel-code.pdf
Binary files differ
diff --git a/macros/latex/required/babel/base/babel.dtx b/macros/latex/required/babel/base/babel.dtx
index 19db345759..84e16b7207 100644
--- a/macros/latex/required/babel/base/babel.dtx
+++ b/macros/latex/required/babel/base/babel.dtx
@@ -32,7 +32,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2024/06/26 v24.7 The Babel package]
+\ProvidesFile{babel.dtx}[2024/08/18 v24.8 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -3908,10 +3908,14 @@ intrinsic direction of scripts and weak directionality.)
In \xetex, |bidi-r| and |bidi-l| resort to the package \textsf{bidi}
(by Vafa Khalighi). For RL documents use the former, and for LR ones
-use the latter. However, this package patches heavily lots of macros
-and packages even if the RL script is not the main one, which can lead
-to some surprising results, so for short and simple texts (letters and
-punctuation) the |default| method can be preferable.
+use the latter.
+
+\begin{warning}
+ This package patches heavily lots of macros and packages even if the
+ RL script is not the main one, which can lead to some surprising
+ results, so for short and simple texts (letters and punctuation) the
+ |default| method is more often than not much preferable.
+\end{warning}
There are samples on GitHub, under \texttt{/required/babel/samples}.
See particularly |lua-bidibasic.tex| and |lua-secenum.tex|.
@@ -4293,6 +4297,17 @@ three \TeX{} parameters (|#1|, |#2|, |#3|), with the meaning given:
language in this particular case is the language that wrote the code.
The special value |/| means ‘return to the core \babel{} definitions’
(in other words, what follows hasn’t been written by any language).
+\item[foreign] \New{24.8} Executed by |\foreignlanguage| after the
+ language has been set up and just before typesetting the text from the
+ second argument. Its main purpose it to wrap the text with some
+ code, with the help of |\BabelWrapText|. For example, with:
+\begin{verbatim}
+\AddBabelHook{one}{foreign}{\BabelWrapText{\textit{##1}}
+\AddBabelHook{two}{foreign}{\BabelWrapText{\parse{##1}}
+\end{verbatim}
+the text becomes |\textit{\parse{|\m{text}|}}|.
+
+
% STILL UNDER STUDY:
% \item[beforestart] \New{3.34} Executed either at the beginning of the
% |aux| file (when read at the start of the document), or else at begin
@@ -5479,8 +5494,8 @@ wouldn’t exist.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=24.7>>
-%<<date=2024/06/26>>
+%<<version=24.8>>
+%<<date=2024/08/18>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -6984,6 +6999,9 @@ wouldn’t exist.
\BabelText{#2}% Still in vertical mode!
{\par}%
\endgroup}
+\providecommand\BabelWrapText[1]{%
+ \def\bbl@tempa{\def\BabelText####1}%
+ \expandafter\bbl@tempa\expandafter{\BabelText{#1}}}
% \end{macrocode}
%
% \end{macro}
@@ -11569,6 +11587,7 @@ wouldn’t exist.
\let\bbl@noamsmath\@empty}
\@namedef{bbl@ADJ@bidi.math@off}{%
\let\bbl@noamsmath\relax}
+%
\@namedef{bbl@ADJ@bidi.mapdigits@on}{%
\bbl@adjust@lua{bidi}{digits_mapped=true}}
\@namedef{bbl@ADJ@bidi.mapdigits@off}{%
@@ -12533,11 +12552,10 @@ wouldn’t exist.
\let\bbl@textdir@i\@gobbletwo
\let\bbl@xebidipar\@empty
\AddBabelHook{bidi}{foreign}{%
- \def\bbl@tempa{\def\BabelText####1}%
\ifcase\bbl@thetextdir
- \expandafter\bbl@tempa\expandafter{\BabelText{\LR{##1}}}%
+ \BabelWrapText{\LR{##1}}%
\else
- \expandafter\bbl@tempa\expandafter{\BabelText{\RL{##1}}}%
+ \BabelWrapText{\RL{##1}}%
\fi}
\def\bbl@pardir#1{\ifcase#1\relax\setLR\else\setRL\fi}
\fi
@@ -15516,7 +15534,7 @@ end
return head
end
%
- function Babel.pre_otfload_h(head, gc, sz, pt, dir)
+ function Babel.pre_otfload_h(head, gc, sz, pt, dir) %%% TODO
if Babel.numbers and Babel.digits_mapped then
head = Babel.numbers(head)
end
@@ -15543,7 +15561,8 @@ end
% The basic setup. The output is modified at a very low level to set
% the |\bodydir| to the |\pagedir|. Sadly, we have to deal with boxes
% in math with basic, so the |\bbl@mathboxdir| hack is activated every
-% math with the package option bidi=.
+% math with the package option bidi=. The hack for the PUA is no longer
+% necessary with |basic|, but it’s kept in |basic-r|.
%
% \begin{macrocode}
\breakafterdirmode=1
@@ -15557,7 +15576,10 @@ end
\ifcase\expandafter\@gobbletwo\the\bbl@bidimode\or
require('babel-bidi-basic.lua')
\or
- require('babel-bidi-basic-r.lua')
+ require('babel-bidi-basic-r.lua')
+ table.insert(Babel.ranges, {0xE000, 0xF8FF, 'on'})
+ table.insert(Babel.ranges, {0xF0000, 0xFFFFD, 'on'})
+ table.insert(Babel.ranges, {0x100000, 0x10FFFD, 'on'})
\fi}
\newattribute\bbl@attr@dir
\directlua{ Babel.attr_dir = luatexbase.registernumber'bbl@attr@dir' }
@@ -15633,6 +15655,12 @@ end
end
luatexbase.add_to_callback("hpack_filter", Babel.math_box_dir,
"Babel.math_box_dir", 0)
+ if Babel.unset_atdir then
+ luatexbase.add_to_callback("pre_linebreak_filter", Babel.unset_atdir,
+ "Babel.unset_atdir")
+ luatexbase.add_to_callback("hpack_filter", Babel.unset_atdir,
+ "Babel.unset_atdir")
+ end
}}%
\fi
% \end{macrocode}
@@ -15892,7 +15920,9 @@ end
{\chardef\bbl@tabular@mode\z@}%
{\chardef\bbl@tabular@mode\@ne}}% Mixed, with LTR cols
\ifnum\bbl@bidimode>\@ne % Any lua bidi= except default=1
- \ifcase\bbl@tabular@mode\or % 1
+ % Redefine: vrules mess up dirs:
+ \def\@arstrut{\relax\copy\@arstrutbox}%
+ \ifcase\bbl@tabular@mode\or % 1 = Mixed - default
\let\bbl@parabefore\relax
\AddToHook{para/before}{\bbl@parabefore}
\AtBeginDocument{%
@@ -15917,7 +15947,7 @@ end
{\\\do@row@strut\<fi>}{\\\do@row@strut\<fi>\egroup}}}%
{}}%
\fi}%
- \or % 2
+ \or % 2 = All RTL - tabular
\let\bbl@parabefore\relax
\AddToHook{para/before}{\bbl@parabefore}%
\AtBeginDocument{%
@@ -15962,9 +15992,9 @@ end
\ifnum\bbl@bidimode>\z@ % Any bidi=
\def\bbl@nextfake#1{% non-local changes, use always inside a group!
\bbl@exp{%
- \def\\\bbl@insidemath{0}%
\mathdir\the\bodydir
#1% Once entered in math, set boxes to restore values
+ \def\\\bbl@insidemath{0}%
\<ifmmode>%
\everyvbox{%
\the\everyvbox
@@ -16448,7 +16478,7 @@ function Babel.hyphenate_replace(head, mode)
if crep then
step = crep.step or step
end
-
+
if crep and crep.after then
crep.insert = true
if dummy_node then
@@ -16459,7 +16489,7 @@ function Babel.hyphenate_replace(head, mode)
dummy_node = item
end
end
-
+
if crep and not crep.after and dummy_node then
node.remove(head, dummy_node)
dummy_node = nil
@@ -16480,7 +16510,7 @@ function Babel.hyphenate_replace(head, mode)
sc = sc - 1 -- Nothing has been inserted.
last_match = utf8.offset(w, sc+1+step)
goto next
-
+
elseif crep and crep.kashida then -- Experimental
node.set_attribute(item,
Babel.attr_kashida,
@@ -16558,7 +16588,7 @@ function Babel.hyphenate_replace(head, mode)
placeholder = ' '
end
head, new = node.insert_before(head, item, d)
-
+
elseif crep and crep.norule then
-- 655360 = 10 pt = 10 * 65536 sp
d = node.new(2, 3) -- (rule, empty) = \no*rule
@@ -16582,14 +16612,14 @@ function Babel.hyphenate_replace(head, mode)
elseif mode == 0 and crep and crep.space then
-- ERROR
-
+
elseif crep and crep.kern then
d = node.new(13, 1) -- (kern, user)
local quad = font.getfont(item_base.font).size or 655360
d.attr = item_base.attr
d.kern = crep.kern * quad
head, new = node.insert_before(head, item, d)
-
+
elseif crep and crep.node then
d = node.new(crep.node[1], crep.node[2])
d.attr = item_base.attr
@@ -16621,7 +16651,7 @@ function Babel.hyphenate_replace(head, mode)
print('.....', '/')
Babel.debug_hyph(w, w_nodes, sc, first, last, last_match)
end
-
+
if dummy_node then
node.remove(head, dummy_node)
dummy_node = nil
@@ -16776,16 +16806,13 @@ Babel.ranges = {
{0x07C0, 0x085F, 'r'},
{0x0860, 0x086F, 'al'},
{0x08A0, 0x08FF, 'al'},
- {0xE000, 0xF8FF, 'on'}, -- PUA
{0xFB1D, 0xFB4F, 'r'},
{0xFB50, 0xFDFF, 'al'},
{0xFE70, 0xFEFF, 'al'},
{0x10800, 0x10C4F, 'r'},
{0x1E800, 0x1E8DF, 'r'},
{0x1E900, 0x1E95F, 'r'},
- {0x1F300, 0x1F9FF, 'on'},
- {0xF0000, 0xFFFFD, 'on'}, -- PUA
- {0x100000, 0x10FFFD, 'on'} -- PUA
+ {0x1F300, 0x1F9FF, 'on'}
}
Babel.characters = {
@@ -23085,7 +23112,7 @@ function Babel.bidi(head, ispar)
elseif first_d and dir ~= strong_lr then
dir_mark(head, first_d, last_d, outer)
first_d, last_d = nil, nil
- end
+ end
end
% \end{macrocode}
%
@@ -23094,10 +23121,8 @@ function Babel.bidi(head, ispar)
% clearly <r> and <l>, resptly, but with other combinations depends on
% outer. From all these, we select only those resolving <on> $\to$
% <r>. At the beginning (when |last_lr| is nil) of an R text, they are
-% mirrored directly.
-%
-% TODO - numbers in R mode are processed. It doesn't hurt, but should
-% not be done.
+% mirrored directly. Numbers in R mode are processed. It should not be
+% done, but it doesn't hurt.
%
% \begin{macrocode}
if dir and not last_lr and dir ~= 'l' and outer == 'r' then
@@ -23254,6 +23279,7 @@ function Babel.bidi(head, ispar, hdir)
local has_hyperlink = false
local ATDIR = Babel.attr_dir
+ local attr_d
local save_outer
local temp = node.get_attribute(head, ATDIR)
@@ -23285,9 +23311,11 @@ function Babel.bidi(head, ispar, hdir)
-- current one is not added until we start processing the neutrals.
-- three cases: glyph, dir, otherwise
- if glyph_not_symbol_font(item)
+ if glyph_not_symbol_font(item)
or (item.id == 7 and item.subtype == 2) then
+ if node.get_attribute(item, ATDIR) == 128 then goto nextnode end
+
local d_font = nil
local item_r
if item.id == 7 and item.subtype == 2 then
@@ -23295,6 +23323,7 @@ function Babel.bidi(head, ispar, hdir)
else
item_r = item
end
+
local chardata = characters[item_r.char]
d = chardata and chardata.d or nil
if not d or d == 'nsm' then
@@ -23422,6 +23451,7 @@ function Babel.bidi(head, ispar, hdir)
-- Force mathdir in math if ON (currently works as expected only
-- with 'l')
+
if inmath and d == 'on' then
d = ('TRT' == tex.mathdir) and 'r' or 'l'
end
@@ -23437,9 +23467,12 @@ function Babel.bidi(head, ispar, hdir)
table.insert(nodes, {item, d, outer_first})
end
+ node.set_attribute(item, ATDIR, 128)
outer_first = nil
- end
+ ::nextnode::
+
+ end -- for each node
-- TODO -- repeated here in case EN/ET is the last node. Find a
-- better way of doing things:
@@ -23600,6 +23633,15 @@ function Babel.bidi(head, ispar, hdir)
return head
end
+-- Make sure anything is marked as 'bidi done' (including nodes inserted
+-- after the babel algorithm).
+function Babel.unset_atdir(head)
+ local ATDIR = Babel.attr_dir
+ for item in node.traverse(head) do
+ node.set_attribute(item, ATDIR, 128)
+ end
+ return head
+end
%</basic>
% \end{macrocode}
%
diff --git a/macros/latex/required/babel/base/babel.ins b/macros/latex/required/babel/base/babel.ins
index 9c640a94cb..50ebda7423 100644
--- a/macros/latex/required/babel/base/babel.ins
+++ b/macros/latex/required/babel/base/babel.ins
@@ -26,7 +26,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%
-\def\filedate{2024/06/26}
+\def\filedate{2024/08/18}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/macros/latex/required/babel/base/babel.pdf b/macros/latex/required/babel/base/babel.pdf
index 8d3e32fbc8..e99c81ec6f 100644
--- a/macros/latex/required/babel/base/babel.pdf
+++ b/macros/latex/required/babel/base/babel.pdf
Binary files differ
diff --git a/macros/latex/required/babel/base/bbcompat.dtx b/macros/latex/required/babel/base/bbcompat.dtx
index d88b690b23..f45bc18a0e 100644
--- a/macros/latex/required/babel/base/bbcompat.dtx
+++ b/macros/latex/required/babel/base/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2024/06/26 v24.7]
+\ProvidesFile{bbcompat.dtx}[2024/08/18 v24.8]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/macros/latex/required/l3kernel/CHANGELOG.md b/macros/latex/required/l3kernel/CHANGELOG.md
index c58c1a6188..76ee35a0f1 100644
--- a/macros/latex/required/l3kernel/CHANGELOG.md
+++ b/macros/latex/required/l3kernel/CHANGELOG.md
@@ -7,6 +7,17 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-07-20]
+
+### Fixed
+- Implementation of deprecated `\tl_mixed_case:n(n)`
+- Redo the fix for LaTeX2e key properties (issue latex3/latex2e\#1415)
+
+## [2024-06-19]
+
+### Fixed
+- Avoid a low-level error when LaTeX2e key properties are given without a value
+
## [2024-05-27]
### Added
@@ -1742,7 +1753,9 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-05-27...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-07-20...HEAD
+[2024-07-20]: https://github.com/latex3/latex3/compare/2024-06-19...2024-07-20
+[2024-06-19]: https://github.com/latex3/latex3/compare/2024-05-27...2024-06-19
[2024-05-27]: https://github.com/latex3/latex3/compare/2024-05-08...2024-05-27
[2024-05-08]: https://github.com/latex3/latex3/compare/2024-04-11...2024-05-08
[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
diff --git a/macros/latex/required/l3kernel/README.md b/macros/latex/required/l3kernel/README.md
index 8946af1293..0afb38a9ba 100644
--- a/macros/latex/required/l3kernel/README.md
+++ b/macros/latex/required/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2024-05-27
+Release 2024-07-20
Overview
--------
diff --git a/macros/latex/required/l3kernel/expl3.dtx b/macros/latex/required/l3kernel/expl3.dtx
index 4b4e61d3c8..64c65d0ff7 100644
--- a/macros/latex/required/l3kernel/expl3.dtx
+++ b/macros/latex/required/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2024-05-27}%
+\def\ExplFileDate{2024-07-20}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/expl3.pdf b/macros/latex/required/l3kernel/expl3.pdf
index a6eca24ce4..650e6999f9 100644
--- a/macros/latex/required/l3kernel/expl3.pdf
+++ b/macros/latex/required/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/interface3.pdf b/macros/latex/required/l3kernel/interface3.pdf
index 5c72322e35..1b89f2f257 100644
--- a/macros/latex/required/l3kernel/interface3.pdf
+++ b/macros/latex/required/l3kernel/interface3.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/interface3.tex b/macros/latex/required/l3kernel/interface3.tex
index 62501cfa53..0219809dab 100644
--- a/macros/latex/required/l3kernel/interface3.tex
+++ b/macros/latex/required/l3kernel/interface3.tex
@@ -58,7 +58,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-05-27}
+\date{Released 2024-07-20}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/required/l3kernel/l3basics.dtx b/macros/latex/required/l3kernel/l3basics.dtx
index 69e4441580..ad15d79653 100644
--- a/macros/latex/required/l3kernel/l3basics.dtx
+++ b/macros/latex/required/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3bitset.dtx b/macros/latex/required/l3kernel/l3bitset.dtx
index 4559b56fd3..2b62c68b4a 100644
--- a/macros/latex/required/l3kernel/l3bitset.dtx
+++ b/macros/latex/required/l3kernel/l3bitset.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3bootstrap.dtx b/macros/latex/required/l3kernel/l3bootstrap.dtx
index 861f0bb5a6..7f4eba752b 100644
--- a/macros/latex/required/l3kernel/l3bootstrap.dtx
+++ b/macros/latex/required/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3box.dtx b/macros/latex/required/l3kernel/l3box.dtx
index 808d22da23..532ec6a7d8 100644
--- a/macros/latex/required/l3kernel/l3box.dtx
+++ b/macros/latex/required/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -906,9 +906,9 @@
% \begin{syntax}
% \cs{box_set_trim:Nnnnn} \meta{box} \Arg{left} \Arg{bottom} \Arg{right} \Arg{top}
% \end{syntax}
-% Adjusts the bounding box of the \meta{box} \meta{left} is removed from
+% Adjusts the bounding box of the \meta{box}: \meta{left} is removed from
% the left-hand edge of the bounding box, \meta{right} from the right-hand
-% edge and so fourth. All adjustments are \meta{dim exprs}.
+% edge, and so forth. All adjustments are \meta{dim exprs}.
% Material outside of the bounding box is still displayed in the output
% unless \cs{box_set_clipped:N} is subsequently applied.
% The updated \meta{box} is an
diff --git a/macros/latex/required/l3kernel/l3cctab.dtx b/macros/latex/required/l3kernel/l3cctab.dtx
index 4bf8db41a6..92f134aa93 100644
--- a/macros/latex/required/l3kernel/l3cctab.dtx
+++ b/macros/latex/required/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3clist.dtx b/macros/latex/required/l3kernel/l3clist.dtx
index 5adb01cffb..f8d1eeaea8 100644
--- a/macros/latex/required/l3kernel/l3clist.dtx
+++ b/macros/latex/required/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -324,8 +324,10 @@
% {
% \clist_remove_all:Nn, \clist_remove_all:cn,
% \clist_remove_all:NV, \clist_remove_all:cV,
+% \clist_remove_all:Ne, \clist_remove_all:ce,
% \clist_gremove_all:Nn, \clist_gremove_all:cn,
% \clist_gremove_all:NV, \clist_gremove_all:cV
+% \clist_gremove_all:Ne, \clist_gremove_all:ce
% }
% \begin{syntax}
% \cs{clist_remove_all:Nn} \meta{clist~var} \Arg{item}
@@ -1429,13 +1431,15 @@
% \begin{macro}
% {
% \clist_remove_all:Nn, \clist_remove_all:cn,
-% \clist_remove_all:NV, \clist_remove_all:cV
+% \clist_remove_all:NV, \clist_remove_all:cV,
+% \clist_remove_all:Ne, \clist_remove_all:ce
% }
% \UnitTested
% \begin{macro}
% {
% \clist_gremove_all:Nn, \clist_gremove_all:cn,
-% \clist_gremove_all:NV, \clist_gremove_all:cV
+% \clist_gremove_all:NV, \clist_gremove_all:cV,
+% \clist_gremove_all:Ne, \clist_gremove_all:ce
% }
% \UnitTested
% \begin{macro}{\@@_remove_all:NNNn}
@@ -1509,8 +1513,8 @@
\cs_new:Npn \@@_remove_all:
{ \exp_after:wN \@@_remove_all:w \@@_tmp:w , }
\cs_new:Npn \@@_remove_all:w #1 , \s_@@_mark , #2 , { \exp_not:n {#1} }
-\cs_generate_variant:Nn \clist_remove_all:Nn { c , NV , cV }
-\cs_generate_variant:Nn \clist_gremove_all:Nn { c , NV , cV }
+\cs_generate_variant:Nn \clist_remove_all:Nn { c , NV , cV , Ne , ce }
+\cs_generate_variant:Nn \clist_gremove_all:Nn { c , NV , cV , Ne , ce }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/required/l3kernel/l3coffins.dtx b/macros/latex/required/l3kernel/l3coffins.dtx
index 62dc5f92ad..afbd1bd394 100644
--- a/macros/latex/required/l3kernel/l3coffins.dtx
+++ b/macros/latex/required/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3color.dtx b/macros/latex/required/l3kernel/l3color.dtx
index b56fb9e0ac..117a468d21 100644
--- a/macros/latex/required/l3kernel/l3color.dtx
+++ b/macros/latex/required/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -103,7 +103,7 @@
% \begin{itemize}
% \item \texttt{Gray} Grayscale color, with a single axis running from
% $0$ (fully black) to $15$ (fully white)
-% \item \texttt{hsb} Hue-saturation-brightness color, with three axes,all
+% \item \texttt{hsb} Hue-saturation-brightness color, with three axes, all
% real values in the range $[0,1]$ for hue saturation and brightness
% \item \texttt{Hsb} Hue-saturation-brightness color, with three axes, integer
% in the range $[0,360]$ for hue, real values in the range $[0,1]$ for
@@ -406,20 +406,20 @@
%
% \begin{function}{\color_export:nnN}
% \begin{syntax}
-% \cs{color_export:nnN} \Arg{color expression} \Arg{format} \Arg{tl}
+% \cs{color_export:nnN} \Arg{color expression} \Arg{format} \meta{tl var}
% \end{syntax}
% Parses the \meta{color expression} as described earlier,
% then converts to the \meta{format} specified and assigns the data to the
-% \meta{tl}.
+% \meta{tl var}.
% \end{function}
%
% \begin{function}{\color_export:nnnN}
% \begin{syntax}
-% \cs{color_export:nnnN} \Arg{model} \Arg{value(s)} \Arg{format} \Arg{tl}
+% \cs{color_export:nnnN} \Arg{model} \Arg{value(s)} \Arg{format} \meta{tl var}
% \end{syntax}
% Expresses the combination of \meta{model} and \meta{value(s)} in an
% internal representation, then converts to the \meta{format} specified and
-% assigns the data to the \meta{tl}.
+% assigns the data to the \meta{tl var}.
% \end{function}
%
% \section{Creating new color models}
@@ -495,7 +495,7 @@
%
% Color profiles are used to ensure color accuracy by linking to collaboration.
% Applying a profile can be used to standardise color which is otherwise
-% device-dependence.
+% device-dependent.
%
% \begin{function}[added = 2021-02-23]{\color_profile_apply:nn}
% \begin{syntax}
@@ -697,14 +697,14 @@
% \begin{macro}{\@@_convert:nnnN, \@@_convert:nVnN, \@@_convert:nnVN}
% \begin{macro}[EXP]
% {
-% \@@_convert_gray_gray:w
-% \@@_convert_gray_rgb:w
-% \@@_convert_gray_cmyk:w
-% \@@_convert_cmyk_gray:w
-% \@@_convert_cmyk_rgb:w
-% \@@_convert_cmyk_cmyk:w
-% \@@_convert_rgb_gray:w
-% \@@_convert_rgb_rgb:w
+% \@@_convert_gray_gray:w,
+% \@@_convert_gray_rgb:w,
+% \@@_convert_gray_cmyk:w,
+% \@@_convert_cmyk_gray:w,
+% \@@_convert_cmyk_rgb:w,
+% \@@_convert_cmyk_cmyk:w,
+% \@@_convert_rgb_gray:w,
+% \@@_convert_rgb_rgb:w,
% \@@_convert_rgb_cmyk:w
% }
% \begin{macro}[EXP]{\@@_convert_rgb_cmyk:nnn}
diff --git a/macros/latex/required/l3kernel/l3debug.dtx b/macros/latex/required/l3kernel/l3debug.dtx
index 21e6747a84..4e578ee9b6 100644
--- a/macros/latex/required/l3kernel/l3debug.dtx
+++ b/macros/latex/required/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -69,7 +69,7 @@
%
% Standard file identification.
% \begin{macrocode}
-\ProvidesExplFile{l3debug.def}{2024-05-27}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-07-20}{}{L3 Debugging support}
% \end{macrocode}
%
% \begin{variable}{\s_@@_stop}
diff --git a/macros/latex/required/l3kernel/l3deprecation.dtx b/macros/latex/required/l3kernel/l3deprecation.dtx
index 5852205ddc..697f235311 100644
--- a/macros/latex/required/l3kernel/l3deprecation.dtx
+++ b/macros/latex/required/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -505,10 +505,10 @@
{ \text_uppercase:nn {#1} {#2} }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_titlecase_first:n }
\cs_new:Npn \tl_mixed_case:n #1
- { \text_titlecase_first:n {#1} }
+ { \text_titlecase_first:n { \text_lowercase:n {#1} } }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_titlecase_first:nn }
\cs_new:Npn \tl_mixed_case:nn #1#2
- { \text_titlecase_first:nn {#1} {#2} }
+ { \text_titlecase_first:nn {#1} { \text_lowercase:n {#2} } }
% \end{macrocode}
% \end{macro}
%
@@ -571,7 +571,7 @@
% \char_lower_case:N, \char_upper_case:N,
% \char_mixed_case:Nn, \char_fold_case:N,
% \char_str_lower_case:N, \char_str_upper_case:N,
-% \char_str_mixed_case:Nn, \char_str_fold_case:N,
+% \char_str_mixed_case:N, \char_str_fold_case:N,
% }
% \begin{macrocode}
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_lowercase:n }
diff --git a/macros/latex/required/l3kernel/l3doc.dtx b/macros/latex/required/l3kernel/l3doc.dtx
index 43b719ce59..751d4f4e14 100644
--- a/macros/latex/required/l3kernel/l3doc.dtx
+++ b/macros/latex/required/l3kernel/l3doc.dtx
@@ -71,7 +71,7 @@ and all files in that bundle must be distributed together.
% This isn't included in the typeset documentation because it's a bit
% ugly:
%<*class>
-\ProvidesExplClass{l3doc}{2024-05-27}{}
+\ProvidesExplClass{l3doc}{2024-07-20}{}
{L3 Experimental documentation class}
%</class>
% \fi
@@ -84,7 +84,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
% \maketitle
% \tableofcontents
%
diff --git a/macros/latex/required/l3kernel/l3doc.pdf b/macros/latex/required/l3kernel/l3doc.pdf
index 42960f5e6f..0d5a3494c0 100644
--- a/macros/latex/required/l3kernel/l3doc.pdf
+++ b/macros/latex/required/l3kernel/l3doc.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3docstrip.dtx b/macros/latex/required/l3kernel/l3docstrip.dtx
index fecb228324..199801ff3b 100644
--- a/macros/latex/required/l3kernel/l3docstrip.dtx
+++ b/macros/latex/required/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3docstrip.pdf b/macros/latex/required/l3kernel/l3docstrip.pdf
index efc8882c36..07f24848e3 100644
--- a/macros/latex/required/l3kernel/l3docstrip.pdf
+++ b/macros/latex/required/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3expan.dtx b/macros/latex/required/l3kernel/l3expan.dtx
index d13578bde1..499c94587e 100644
--- a/macros/latex/required/l3kernel/l3expan.dtx
+++ b/macros/latex/required/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3file.dtx b/macros/latex/required/l3kernel/l3file.dtx
index 546222711e..039c4eecb8 100644
--- a/macros/latex/required/l3kernel/l3file.dtx
+++ b/macros/latex/required/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3flag.dtx b/macros/latex/required/l3kernel/l3flag.dtx
index 88e726df35..690347426f 100644
--- a/macros/latex/required/l3kernel/l3flag.dtx
+++ b/macros/latex/required/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-assign.dtx b/macros/latex/required/l3kernel/l3fp-assign.dtx
index e6fa97423e..e1b3bc788b 100644
--- a/macros/latex/required/l3kernel/l3fp-assign.dtx
+++ b/macros/latex/required/l3kernel/l3fp-assign.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/required/l3kernel/l3fp-aux.dtx b/macros/latex/required/l3kernel/l3fp-aux.dtx
index 1ad33e235e..4c39e81f46 100644
--- a/macros/latex/required/l3kernel/l3fp-aux.dtx
+++ b/macros/latex/required/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-basics.dtx b/macros/latex/required/l3kernel/l3fp-basics.dtx
index e2d93219b0..a93ff90291 100644
--- a/macros/latex/required/l3kernel/l3fp-basics.dtx
+++ b/macros/latex/required/l3kernel/l3fp-basics.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-convert.dtx b/macros/latex/required/l3kernel/l3fp-convert.dtx
index 4983a3dd1f..9b5b66f815 100644
--- a/macros/latex/required/l3kernel/l3fp-convert.dtx
+++ b/macros/latex/required/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-expo.dtx b/macros/latex/required/l3kernel/l3fp-expo.dtx
index 7577f640d4..e9dcdf6646 100644
--- a/macros/latex/required/l3kernel/l3fp-expo.dtx
+++ b/macros/latex/required/l3kernel/l3fp-expo.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-extended.dtx b/macros/latex/required/l3kernel/l3fp-extended.dtx
index 596dc86ef2..24f1e5c127 100644
--- a/macros/latex/required/l3kernel/l3fp-extended.dtx
+++ b/macros/latex/required/l3kernel/l3fp-extended.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-functions.dtx b/macros/latex/required/l3kernel/l3fp-functions.dtx
index b9e269b988..2c5eb9602f 100644
--- a/macros/latex/required/l3kernel/l3fp-functions.dtx
+++ b/macros/latex/required/l3kernel/l3fp-functions.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-logic.dtx b/macros/latex/required/l3kernel/l3fp-logic.dtx
index 486a3bc579..9d39f4f67e 100644
--- a/macros/latex/required/l3kernel/l3fp-logic.dtx
+++ b/macros/latex/required/l3kernel/l3fp-logic.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-parse.dtx b/macros/latex/required/l3kernel/l3fp-parse.dtx
index 7853c40132..191ab2755c 100644
--- a/macros/latex/required/l3kernel/l3fp-parse.dtx
+++ b/macros/latex/required/l3kernel/l3fp-parse.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-random.dtx b/macros/latex/required/l3kernel/l3fp-random.dtx
index ff999926ab..dd40704719 100644
--- a/macros/latex/required/l3kernel/l3fp-random.dtx
+++ b/macros/latex/required/l3kernel/l3fp-random.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-round.dtx b/macros/latex/required/l3kernel/l3fp-round.dtx
index 0d39b8a26a..ad20934215 100644
--- a/macros/latex/required/l3kernel/l3fp-round.dtx
+++ b/macros/latex/required/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-symbolic.dtx b/macros/latex/required/l3kernel/l3fp-symbolic.dtx
index 88e214f49e..8223419f66 100644
--- a/macros/latex/required/l3kernel/l3fp-symbolic.dtx
+++ b/macros/latex/required/l3kernel/l3fp-symbolic.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-traps.dtx b/macros/latex/required/l3kernel/l3fp-traps.dtx
index fec48bc163..7f22a2d137 100644
--- a/macros/latex/required/l3kernel/l3fp-traps.dtx
+++ b/macros/latex/required/l3kernel/l3fp-traps.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/required/l3kernel/l3fp-trig.dtx b/macros/latex/required/l3kernel/l3fp-trig.dtx
index 7c40c6198f..b7b67c9445 100644
--- a/macros/latex/required/l3kernel/l3fp-trig.dtx
+++ b/macros/latex/required/l3kernel/l3fp-trig.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-types.dtx b/macros/latex/required/l3kernel/l3fp-types.dtx
index e9269e1f03..d969f76bdc 100644
--- a/macros/latex/required/l3kernel/l3fp-types.dtx
+++ b/macros/latex/required/l3kernel/l3fp-types.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp.dtx b/macros/latex/required/l3kernel/l3fp.dtx
index d273b057ea..8e37a55799 100644
--- a/macros/latex/required/l3kernel/l3fp.dtx
+++ b/macros/latex/required/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -773,7 +773,7 @@
% The result may contain other functions, which are
% then replaced by their results if they have any. For instance,
% \begin{quote}
-% \cs{fp_new_function:n} |{ foo }| \\
+% \cs{fp_new_function:n} |{ npow }| \\
% \cs{fp_set_function:nnn} |{ npow } { a,b } { a**b }| \\
% \cs{fp_show:n} |{ npow(16,0.25) } }|
% \end{quote}
diff --git a/macros/latex/required/l3kernel/l3fparray.dtx b/macros/latex/required/l3kernel/l3fparray.dtx
index f48de27af3..9592671ae3 100644
--- a/macros/latex/required/l3kernel/l3fparray.dtx
+++ b/macros/latex/required/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3int.dtx b/macros/latex/required/l3kernel/l3int.dtx
index 45050964de..4b0d251cab 100644
--- a/macros/latex/required/l3kernel/l3int.dtx
+++ b/macros/latex/required/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -100,21 +100,6 @@
% restricted-expandable functions can both be used, and \cs{exp_not:n}
% and its variants have no effect while \cs{exp_not:N} may incorrectly
% interrupt the expression.
-% \begin{texnote}
-% Exactly two expansions are needed to evaluate \cs{int_eval:n}.
-% The result is \emph{not} an \meta{internal integer}, and therefore
-% should be terminated by a space if used in \cs{int_value:w} or in
-% a \TeX{}-style integer assignment.
-%
-% As all \TeX{} integers, integer operands can also be:
-% \tn{value}\Arg{\LaTeXe{} counter}; dimension or skip variables,
-% converted to integers in~\texttt{sp}; the character code of some
-% character given as \texttt{`}\meta{char} or
-% \texttt{`\textbackslash}\meta{char}; octal numbers given as
-% \texttt{'} followed by digits from \texttt{0} to \texttt{7}; or
-% hexadecimal numbers given as |"| followed by digits and upper case
-% letters from \texttt{A} to~\texttt{F}.
-% \end{texnote}
%
% \begin{function}[EXP]{\int_eval:n}
% \begin{syntax}
diff --git a/macros/latex/required/l3kernel/l3intarray.dtx b/macros/latex/required/l3kernel/l3intarray.dtx
index aa49275e78..4be0ca6be6 100644
--- a/macros/latex/required/l3kernel/l3intarray.dtx
+++ b/macros/latex/required/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3kernel-functions.dtx b/macros/latex/required/l3kernel/l3kernel-functions.dtx
index c3bb838acf..5d5758a6af 100644
--- a/macros/latex/required/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex/required/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3keys.dtx b/macros/latex/required/l3kernel/l3keys.dtx
index 13772d1781..db580c525c 100644
--- a/macros/latex/required/l3kernel/l3keys.dtx
+++ b/macros/latex/required/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -649,15 +649,13 @@
% { key } % Name of choice key
% { choice-a , choice-b , choice-c } % Valid choices
% { \exp_not:n {#1} } % Invalid choice given
-% %
-% %
% }
% \end{verbatim}
%
% Multiple choices are created in a very similar manner to mutually-exclusive
% choices, using the properties \texttt{.multichoice:} and
% \texttt{.multichoices:nn}. As with mutually exclusive choices, multiple
-% choices are define as sub-keys. Thus both
+% choices are defined as sub-keys. Thus both
% \begin{verbatim}
% \keys_define:nn { mymodule }
% {
@@ -1926,19 +1924,21 @@
% \end{macro}
%
% \begin{macro}{\@@_define_code:n}
+% \begin{macro}[EXP]{\@@_define_code:nnn}
% \begin{macro}[EXP]{\@@_define_code:w}
% Two possible cases. If there is a value for the key, then just use
% the function. If not, then a check to make sure there is no need for
% a value with the property. If there should be one then complain,
-% otherwise execute it. There is no need to check for a |:| as if it
-% was missing the earlier tests would have failed.
+% otherwise execute it. For a \LaTeXe{} property like |.code| which
+% doesn't contain a |:|, treat it as having arity 1 and pass the
+% (empty) value to it.
% \begin{macrocode}
\cs_new_protected:Npn \@@_define_code:n #1
{
\bool_if:NTF \l_@@_no_value_bool
{
- \exp_after:wN \@@_define_code:w
- \l_@@_property_str \s_@@_stop
+ \@@_define_code:nnn
+ { \use:c { \c_@@_props_root_str \l_@@_property_str } {#1} }
{ \use:c { \c_@@_props_root_str \l_@@_property_str } }
{
\msg_error:nnee { keys } { property-requires-value }
@@ -1947,12 +1947,31 @@
}
{ \use:c { \c_@@_props_root_str \l_@@_property_str } {#1} }
}
-\exp_last_unbraced:NNNNo
- \cs_new:Npn \@@_define_code:w #1 \c_colon_str #2 \s_@@_stop
- { \tl_if_empty:nTF {#2} }
+\cs_new:Npe \@@_define_code:nnn
+ {
+ \exp_not:N \exp_after:wN \exp_not:N \@@_define_code:w
+ \exp_not:N \l_@@_property_str
+ \c_colon_str \c_colon_str
+ \exp_not:N \s_@@_stop
+ }
+\use:e
+ {
+ \cs_new:Npn \exp_not:N \@@_define_code:w
+ #1 \c_colon_str #2 \c_colon_str #3 \exp_not:N \s_@@_stop
+ }
+ {
+ \tl_if_empty:nTF {#3}
+ { \use_i:nnn }
+ {
+ \tl_if_empty:nTF {#2}
+ { \use_ii:nnn }
+ { \use_iii:nnn }
+ }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \subsection{Turning properties into actions}
%
diff --git a/macros/latex/required/l3kernel/l3legacy.dtx b/macros/latex/required/l3kernel/l3legacy.dtx
index 4cfce5c5f1..b5ef896827 100644
--- a/macros/latex/required/l3kernel/l3legacy.dtx
+++ b/macros/latex/required/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3luatex.dtx b/macros/latex/required/l3kernel/l3luatex.dtx
index eb10d5aecc..aa7724a8ce 100644
--- a/macros/latex/required/l3kernel/l3luatex.dtx
+++ b/macros/latex/required/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3msg.dtx b/macros/latex/required/l3kernel/l3msg.dtx
index e901b07c06..66e7ac8282 100644
--- a/macros/latex/required/l3kernel/l3msg.dtx
+++ b/macros/latex/required/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3names.dtx b/macros/latex/required/l3kernel/l3names.dtx
index 5cdd1361e3..1cb0d132ae 100644
--- a/macros/latex/required/l3kernel/l3names.dtx
+++ b/macros/latex/required/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3news.pdf b/macros/latex/required/l3kernel/l3news.pdf
index 4b57ef41c8..eb4c42d8c5 100644
--- a/macros/latex/required/l3kernel/l3news.pdf
+++ b/macros/latex/required/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news01.pdf b/macros/latex/required/l3kernel/l3news01.pdf
index b5f45059d3..21997cf980 100644
--- a/macros/latex/required/l3kernel/l3news01.pdf
+++ b/macros/latex/required/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news02.pdf b/macros/latex/required/l3kernel/l3news02.pdf
index 0ee8ffaf96..db1ac5b85b 100644
--- a/macros/latex/required/l3kernel/l3news02.pdf
+++ b/macros/latex/required/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news03.pdf b/macros/latex/required/l3kernel/l3news03.pdf
index fef9bf3a7b..6630201b1f 100644
--- a/macros/latex/required/l3kernel/l3news03.pdf
+++ b/macros/latex/required/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news04.pdf b/macros/latex/required/l3kernel/l3news04.pdf
index 0afbb9591e..c74f9f0a7c 100644
--- a/macros/latex/required/l3kernel/l3news04.pdf
+++ b/macros/latex/required/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news05.pdf b/macros/latex/required/l3kernel/l3news05.pdf
index 0a44ce6811..18d4df3290 100644
--- a/macros/latex/required/l3kernel/l3news05.pdf
+++ b/macros/latex/required/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news06.pdf b/macros/latex/required/l3kernel/l3news06.pdf
index 10cec7c17f..643b8f1f68 100644
--- a/macros/latex/required/l3kernel/l3news06.pdf
+++ b/macros/latex/required/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news07.pdf b/macros/latex/required/l3kernel/l3news07.pdf
index 6bfbab4d96..b457fd6033 100644
--- a/macros/latex/required/l3kernel/l3news07.pdf
+++ b/macros/latex/required/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news08.pdf b/macros/latex/required/l3kernel/l3news08.pdf
index a0130195cc..a5b4744d28 100644
--- a/macros/latex/required/l3kernel/l3news08.pdf
+++ b/macros/latex/required/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news09.pdf b/macros/latex/required/l3kernel/l3news09.pdf
index 3616cc20ca..a2242937d2 100644
--- a/macros/latex/required/l3kernel/l3news09.pdf
+++ b/macros/latex/required/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news10.pdf b/macros/latex/required/l3kernel/l3news10.pdf
index 00ec553d1c..1775167008 100644
--- a/macros/latex/required/l3kernel/l3news10.pdf
+++ b/macros/latex/required/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news11.pdf b/macros/latex/required/l3kernel/l3news11.pdf
index 59a672d339..8e14906f03 100644
--- a/macros/latex/required/l3kernel/l3news11.pdf
+++ b/macros/latex/required/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news12.pdf b/macros/latex/required/l3kernel/l3news12.pdf
index 9c4f937b00..15a8332f07 100644
--- a/macros/latex/required/l3kernel/l3news12.pdf
+++ b/macros/latex/required/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3pdf.dtx b/macros/latex/required/l3kernel/l3pdf.dtx
index 55f49476e3..34118c371a 100644
--- a/macros/latex/required/l3kernel/l3pdf.dtx
+++ b/macros/latex/required/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -70,8 +70,8 @@
% \cs{pdf_object_write:nnn} \Arg{object} \Arg{type} \Arg{content}
% \end{syntax}
% Writes the \meta{content} as content of the \meta{object}. Depending on the
-% \meta{type} declared for the object, the format required for the
-% \meta{data} will vary
+% \meta{type} declared for the object, the format required for
+% \meta{content} will vary:
% \begin{itemize}
% \item[\texttt{array}] A space-separated list of values
% \item[\texttt{dict}] Key--value pairs in the form
@@ -159,7 +159,7 @@
% \cs{pdf_object_unnamed_write:nn} \Arg{type} \Arg{content}
% \end{syntax}
% Writes the \meta{content} as content of an anonymous object. Depending on the
-% \meta{type}, the format required for the \meta{data} will vary
+% \meta{type}, the format required for \meta{content} will vary:
% \begin{itemize}
% \item[\texttt{array}] A space-separated list of values
% \item[\texttt{dict}] Key--value pairs in the form
@@ -251,9 +251,9 @@
%
% \section{Destinations}
%
-% Destinations are the places a link jumped too.
-% Unlike the name may suggest they don't described
-% an exact location in the PDF. Instead a destination contains a reference to
+% Destinations are the places a link jumped to.
+% Unlike the name may suggest, they don't describe
+% an exact location in the PDF. Instead, a destination contains a reference to
% a page along with an instruction how to display this page.
% The normally used \enquote{XYZ \textit{top left zoom}} for example instructs
% the viewer to show the page with the given \textit{zoom} and
diff --git a/macros/latex/required/l3kernel/l3prefixes.csv b/macros/latex/required/l3kernel/l3prefixes.csv
index e85412b9d8..339f6625fd 100644
--- a/macros/latex/required/l3kernel/l3prefixes.csv
+++ b/macros/latex/required/l3kernel/l3prefixes.csv
@@ -26,6 +26,7 @@ block,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https:
bool,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
box,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
bxjh,BXjaholiday,Takuto Asakura,https://github.com/wtsnjp/BXjaholiday,https://github.com/wtsnjp/BXjaholiday.git,https://github.com/wtsnjp/BXjaholiday/issues,2018-02-02,2019-02-02,
+cal,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
cascade,cascade,F. Pantigny,,,,2020-07-21,2020-07-21,
catcode,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
cctab,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-28,2012-09-28,
@@ -135,6 +136,7 @@ keys,"l3kernel,l3keys2e,ltkeys",The LaTeX Project,https://www.latex-project.org/
keyval,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
kgl,kantlipsum,Enrico Gregorio,,,,2013-03-16,2013-03-16,
kivitendo,"kiviletter, kivitables",Marei Peischl for Kivitendo,https://www.kivitendo.de/,https://github.com/kivitendo/kivitendo-erp,https://forum.kivitendo.de/,2021-05-28,2021-05-28,
+knot,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
langsci,langscibook,Language Science Press,https://langsci-press.org,https://github.com/langsci/langscibook,https://github.com/langsci/langscibook/issues,2021-07-20,2021-07-21,
left,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
liftarm,liftarm,Matthias Floré,,,,2024-05-25,2024-05-25,
@@ -210,6 +212,7 @@ property,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,htt
pseudo,pseudo,Magnus Lie Hetland,https://github.com/mlhetland/pseudo.sty,https://github.com/mlhetland/pseudo.sty.git,https://github.com/mlhetland/pseudo.sty/issues,2019-06-24,2019-06-24,
ptex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2015-07-28,2015-07-28,
ptxcd,ptxcd,Marei Peischl,,,,2020-07-27,2020-07-27,Used for specific corporate design templates
+ptxtools,"depp, ptxtools",Marei Peischl,https://gitlab.com/islandoftex/texmf/depp,https://gitlab.com/islandoftex/texmf/depp.git,https://gitlab.com/islandoftex/texmf/depp,2024-07-09,2024-07-09,
qrbill,qrbill,Marei Peischl,https://github.com/peiTeX/qrbill,https://github.com/peiTeX/qrbill.git,https://github.com/peiTeX/qrbill/issues,2020-06-27,2020-06-27,
quark,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
rainbow,beamertheme-rainbow,samcarter,https://github.com/samcarter/beamertheme-rainbow,https://github.com/samcarter/beamertheme-rainbow,https://github.com/samcarter/beamertheme-rainbow/issues,2023-07-04,2023-07-04,
@@ -239,6 +242,7 @@ slcd,se2thesis,Stephan Lukasczyk,https://github.com/se2p/se2thesis,https://githu
socket,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2023-10-17,2023-10-17,
sort,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2017-02-13,
space,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
+spath,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
starray,starray,Alceu Frigeri,https://github.com/alceu-frigeri/starray,https://github.com/alceu-frigeri/starray,https://github.com/alceu-frigeri/starray/issues,2023-05-15,2023-05-15,
statistics,statistics,Julien Rivaud,https://gitlab.com/frnchfrgg-latex/statistics,https://gitlab.com/frnchfrgg-latex/statistics.git,https://gitlab.com/frnchfrgg-latex/statistics/issues,2018-06-25,2018-06-25,
stm,lt3-stm,CV Radhakrishnan,http://www.cvr.cc/,,,2014-02-26,2014-02-26,
@@ -258,6 +262,7 @@ tex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:/
text,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-01-15,2020-01-15,
tikzfill,tikzfill,Thomas F. Sturm,https://github.com/T-F-S/tikzfill,https://github.com/T-F-S/tikzfill.git,https://github.com/T-F-S/tikzfill/issues,2022-07-19,2022-07-19,
tikzlings,tikzlings,samcarter,https://github.com/samcarter/tikzlings,git@github.com:samcarter/tikzlings.git,https://github.com/samcarter/tikzlings/issues,2023-02-17,2023-02-17,
+tikzspath,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
tikzsymbols,tikzsymbols,Ben Vitecek,https://github.com/Vidabe/tikzsymbols,https://github.com/Vidabe/tikzsymbols.git,https://github.com/Vidabe/tikzsymbols/issues,2018-09-26,2018-09-26,
tilde,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
tl,"l3kernel,l3tl-build",The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
@@ -288,6 +293,7 @@ xmarks,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https
xparse,xparse,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
xpatch,"regexpatch,xpatch",Enrico Gregorio,,,,2013-03-16,2013-03-16,
xpeek,xpeek,Joel C. Salomon,,,,2013-03-16,2013-03-16,
+xpg,polyglossia,Jürgen Spitzmüller,https://github.com/reutenauer/polyglossia/,https://github.com/reutenauer/polyglossia/,https://github.com/reutenauer/polyglossia/issues,2024-07-02,2024-07-02,
xpinyin,xpinyin,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2013-03-16,2013-05-26,
xsb,xsavebox,Alexander Grahn,,https://gitlab.com/agrahn/xsavebox,https://gitlab.com/agrahn/xsavebox/issues,2016-02-26,2020-04-15,
xsim,xsim,Clemens Niederberger,https://github.com/cgnieder/xsim/,https://github.com/cgnieder/xsim.git,https://github.com/cgnieder/xsim/issues,2020-04-14,2020-04-14,
@@ -299,4 +305,5 @@ zhnum,zhnumber,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/
zrefcheck,zref-check,gusbrs,https://github.com/gusbrs/zref-check,https://github.com/gusbrs/zref-check,https://github.com/gusbrs/zref-check/issues,2021-08-05,2021-08-05,
zrefclever,zref-clever,gusbrs,https://github.com/gusbrs/zref-clever,https://github.com/gusbrs/zref-clever,https://github.com/gusbrs/zref-clever/issues,2021-11-29,2021-11-29,
zrefvario,zref-vario,gusbrs,https://github.com/gusbrs/zref-vario,https://github.com/gusbrs/zref-vario,https://github.com/gusbrs/zref-vario/issues,2022-02-02,2022-02-02,
+zugferd,zugferd,Marei Peischl,https://github.com/TeXhackse/LaTeX-ZUGFeRD,https://github.com/TeXhackse/LaTeX-ZUGFeRD.git,https://github.com/TeXhackse/LaTeX-ZUGFeRD/issues,2024-07-09,2024-07-09,
zxjt,zxjatype,Takayuki Yato,,,,2013-03-16,2013-03-16,
diff --git a/macros/latex/required/l3kernel/l3prefixes.pdf b/macros/latex/required/l3kernel/l3prefixes.pdf
index 602ccaaa59..ab4d18e916 100644
--- a/macros/latex/required/l3kernel/l3prefixes.pdf
+++ b/macros/latex/required/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3prg.dtx b/macros/latex/required/l3kernel/l3prg.dtx
index bec4e3a712..ac6131d6ff 100644
--- a/macros/latex/required/l3kernel/l3prg.dtx
+++ b/macros/latex/required/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3prop.dtx b/macros/latex/required/l3kernel/l3prop.dtx
index 21b8d03dd6..fd0d8e167d 100644
--- a/macros/latex/required/l3kernel/l3prop.dtx
+++ b/macros/latex/required/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -181,11 +181,11 @@
% \prop_gset_from_keyval:Nn, \prop_gset_from_keyval:cn,
% }
% \begin{syntax}
-% \cs{prop_set_from_keyval:Nn} \meta{property list}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_set_from_keyval:Nn} \meta{property list} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Sets \meta{property list} to contain key--value pairs given in the second
% argument. If duplicate keys appear only the last of the values is kept.
@@ -205,11 +205,11 @@
% \begin{function}[added = 2017-11-28, updated = 2021-11-07]
% {\prop_const_from_keyval:Nn, \prop_const_from_keyval:cn}
% \begin{syntax}
-% \cs{prop_const_from_keyval:Nn} \meta{property list}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_const_from_keyval:Nn} \meta{property list} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Creates a new constant \enquote{flat} \meta{property list} or raises
% an error if the
@@ -224,11 +224,11 @@
% \begin{function}[added = 2024-02-12]
% {\prop_const_linked_from_keyval:Nn, \prop_const_linked_from_keyval:cn}
% \begin{syntax}
-% \cs{prop_const_linked_from_keyval:Nn} \meta{prop~var}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_const_linked_from_keyval:Nn} \meta{prop~var} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Creates a new constant \enquote{linked} \meta{prop~var} or raises an
% error if the
@@ -347,11 +347,11 @@
% \prop_gput_from_keyval:Nn, \prop_gput_from_keyval:cn,
% }
% \begin{syntax}
-% \cs{prop_put_from_keyval:Nn} \meta{property list}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_put_from_keyval:Nn} \meta{property list} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Updates the \meta{property list} by adding entries for each key--value
% pair given in the second argument. The addition is done through
diff --git a/macros/latex/required/l3kernel/l3quark.dtx b/macros/latex/required/l3kernel/l3quark.dtx
index 136596a3fe..ad78a12bd2 100644
--- a/macros/latex/required/l3kernel/l3quark.dtx
+++ b/macros/latex/required/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3regex.dtx b/macros/latex/required/l3kernel/l3regex.dtx
index 6ca9c8eeed..c3d5de27cb 100644
--- a/macros/latex/required/l3kernel/l3regex.dtx
+++ b/macros/latex/required/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3seq.dtx b/macros/latex/required/l3kernel/l3seq.dtx
index 38fc9471a9..413e20f8ca 100644
--- a/macros/latex/required/l3kernel/l3seq.dtx
+++ b/macros/latex/required/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3skip.dtx b/macros/latex/required/l3kernel/l3skip.dtx
index 6e96b41326..9bea4c7b14 100644
--- a/macros/latex/required/l3kernel/l3skip.dtx
+++ b/macros/latex/required/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3sort.dtx b/macros/latex/required/l3kernel/l3sort.dtx
index 47cebcad25..a86f916d24 100644
--- a/macros/latex/required/l3kernel/l3sort.dtx
+++ b/macros/latex/required/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3str-convert.dtx b/macros/latex/required/l3kernel/l3str-convert.dtx
index baf705fe0c..4061895896 100644
--- a/macros/latex/required/l3kernel/l3str-convert.dtx
+++ b/macros/latex/required/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3str.dtx b/macros/latex/required/l3kernel/l3str.dtx
index f4f7b94b88..2be2b105ce 100644
--- a/macros/latex/required/l3kernel/l3str.dtx
+++ b/macros/latex/required/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -757,7 +757,7 @@
% \item Case changing text for typesetting: see the
% \cs[index=text_lowercase:n]{text_lowercase:n(n)},
% \cs[index=text_uppercase:n]{text_uppercase:n(n)} and
-% \cs[index=text_titlecase_all:n]{text_titlecase_(all|once):n(n)} functions which
+% \cs[index=text_titlecase_all:n]{text_titlecase_(all|first):n(n)} functions which
% correctly deal with context-dependence and other factors appropriate
% to text case changing.
% \end{itemize}
diff --git a/macros/latex/required/l3kernel/l3styleguide.pdf b/macros/latex/required/l3kernel/l3styleguide.pdf
index 0113bac571..31ff7889ff 100644
--- a/macros/latex/required/l3kernel/l3styleguide.pdf
+++ b/macros/latex/required/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3styleguide.tex b/macros/latex/required/l3kernel/l3styleguide.tex
index bcea3de06e..985f20a68c 100644
--- a/macros/latex/required/l3kernel/l3styleguide.tex
+++ b/macros/latex/required/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-05-27}
+\date{Released 2024-07-20}
\begin{document}
diff --git a/macros/latex/required/l3kernel/l3syntax-changes.pdf b/macros/latex/required/l3kernel/l3syntax-changes.pdf
index 99e93c2ccc..515a9eb803 100644
--- a/macros/latex/required/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex/required/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3syntax-changes.tex b/macros/latex/required/l3kernel/l3syntax-changes.tex
index 30d8d47747..b9ffcb011a 100644
--- a/macros/latex/required/l3kernel/l3syntax-changes.tex
+++ b/macros/latex/required/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-05-27}
+\date{Released 2024-07-20}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/required/l3kernel/l3sys.dtx b/macros/latex/required/l3kernel/l3sys.dtx
index b2228c7fd9..1db09f9550 100644
--- a/macros/latex/required/l3kernel/l3sys.dtx
+++ b/macros/latex/required/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3term-glossary.pdf b/macros/latex/required/l3kernel/l3term-glossary.pdf
index 01598ca79a..d1a2058e9f 100644
--- a/macros/latex/required/l3kernel/l3term-glossary.pdf
+++ b/macros/latex/required/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3term-glossary.tex b/macros/latex/required/l3kernel/l3term-glossary.tex
index 141749aa6b..fca2886337 100644
--- a/macros/latex/required/l3kernel/l3term-glossary.tex
+++ b/macros/latex/required/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-05-27}
+\date{Released 2024-07-20}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/required/l3kernel/l3text-case.dtx b/macros/latex/required/l3kernel/l3text-case.dtx
index 89cdb9e2b1..134e2508b7 100644
--- a/macros/latex/required/l3kernel/l3text-case.dtx
+++ b/macros/latex/required/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3text-map.dtx b/macros/latex/required/l3kernel/l3text-map.dtx
index 3573002244..e3586164c5 100644
--- a/macros/latex/required/l3kernel/l3text-map.dtx
+++ b/macros/latex/required/l3kernel/l3text-map.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3text-purify.dtx b/macros/latex/required/l3kernel/l3text-purify.dtx
index 35390811aa..d22ee1bc3e 100644
--- a/macros/latex/required/l3kernel/l3text-purify.dtx
+++ b/macros/latex/required/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3text.dtx b/macros/latex/required/l3kernel/l3text.dtx
index bcfd15cb62..9a4c4f244e 100644
--- a/macros/latex/required/l3kernel/l3text.dtx
+++ b/macros/latex/required/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -65,11 +65,11 @@
% \end{syntax}
% Takes user input \meta{text} and expands the content.
% Protected commands (typically
-% formatting) are left in place, and no processing takes place of
+% formatting) are left in place, and no processing of
% math mode material (as delimited by pairs given in
% \cs{l_text_math_delims_tl} or as the argument to commands listed
-% in \cs{l_text_math_arg_tl}). Commands which are neither engine-
-% nor \LaTeX{} protected are expanded exhaustively.
+% in \cs{l_text_math_arg_tl}) takes place. Commands which are neither engine-
+% nor \LaTeX{}-protected are expanded exhaustively.
% Any commands listed in \cs{l_text_expand_exclude_tl} are excluded from
% expansion, as are those in \cs{l_text_case_exclude_arg_tl} and
% \cs{l_text_math_arg_tl}.
@@ -114,8 +114,8 @@
% \end{function}
%
% Upper- and lowercase have the obvious meanings. Titlecasing may be regarded
-% informally as converting the first character of the \meta{tokens} to
-% uppercase. However, the process is more complex
+% informally as converting the first \emph{non-space} character of the
+% \meta{tokens} to uppercase. However, the process is more complex
% than this as there are some situations where a single lowercase character
% maps to a special form, for example \texttt{ij} in Dutch which becomes
% \texttt{IJ}. There are two functions available for titlecasing: one which
@@ -214,8 +214,8 @@
% \text_declare_uppercase_mapping:nnn
% }
% \begin{syntax}
-% \cs{text_declare_lowercase_mapping:nn} \Arg{codeppoint} \Arg{replacement}
-% \cs{text_declare_lowercase_mapping:nnn} \Arg{BCP-47} \Arg{codeppoint} \Arg{replacement}
+% \cs{text_declare_lowercase_mapping:nn} \Arg{codepoint} \Arg{replacement}
+% \cs{text_declare_lowercase_mapping:nnn} \Arg{BCP-47} \Arg{codepoint} \Arg{replacement}
% \end{syntax}
% Declares that the \meta{replacement} tokens should be used when case mapping
% the \meta{codepoint}, rather than the standard mapping given in the
diff --git a/macros/latex/required/l3kernel/l3tl-analysis.dtx b/macros/latex/required/l3kernel/l3tl-analysis.dtx
index 4df9ee68a3..600da3985d 100644
--- a/macros/latex/required/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex/required/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3tl-build.dtx b/macros/latex/required/l3kernel/l3tl-build.dtx
index 6cd9822ad2..e484c5b1c5 100644
--- a/macros/latex/required/l3kernel/l3tl-build.dtx
+++ b/macros/latex/required/l3kernel/l3tl-build.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3tl.dtx b/macros/latex/required/l3kernel/l3tl.dtx
index 71d68d532c..84f2c36798 100644
--- a/macros/latex/required/l3kernel/l3tl.dtx
+++ b/macros/latex/required/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3token.dtx b/macros/latex/required/l3kernel/l3token.dtx
index 03bf46b101..c028310326 100644
--- a/macros/latex/required/l3kernel/l3token.dtx
+++ b/macros/latex/required/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3unicode.dtx b/macros/latex/required/l3kernel/l3unicode.dtx
index 179817d490..532eb315d3 100644
--- a/macros/latex/required/l3kernel/l3unicode.dtx
+++ b/macros/latex/required/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/source3.pdf b/macros/latex/required/l3kernel/source3.pdf
index 34279f9e00..26c62e620d 100644
--- a/macros/latex/required/l3kernel/source3.pdf
+++ b/macros/latex/required/l3kernel/source3.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/source3.tex b/macros/latex/required/l3kernel/source3.tex
index 00095ad319..228d3ca93c 100644
--- a/macros/latex/required/l3kernel/source3.tex
+++ b/macros/latex/required/l3kernel/source3.tex
@@ -57,7 +57,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-05-27}
+\date{Released 2024-07-20}
\pagenumbering{roman}
\maketitle
diff --git a/macros/luatex/generic/luamplib/Makefile b/macros/luatex/generic/luamplib/Makefile
index 87f04f727e..a0a2282675 100644
--- a/macros/luatex/generic/luamplib/Makefile
+++ b/macros/luatex/generic/luamplib/Makefile
@@ -40,6 +40,7 @@ world: all ctan
%.pdf: %.dtx
@$(DOLATEX)
@if( grep rerunfilecheck $(NAME).log |grep 'has changed' > /dev/null ); then $(DOLATEX); fi
+ @if( grep 'Rerun to get' $(NAME).log > /dev/null ); then $(DOLATEX); fi
$(UNPACKED): $(DTX)
luatex -interaction=batchmode $< >/dev/null
diff --git a/macros/luatex/generic/luamplib/NEWS b/macros/luatex/generic/luamplib/NEWS
index 81f07ac38f..82e82632f6 100644
--- a/macros/luatex/generic/luamplib/NEWS
+++ b/macros/luatex/generic/luamplib/NEWS
@@ -1,5 +1,60 @@
History of the luamplib package
+2024/08/03 2.34.5
+ * provide 'withgroupbbox' macro for transparency group to enable users to
+ control the bounding box
+
+ * write down the width/height/depth values of mplibgroup to the log file
+
+2024/07/31 2.34.4
+ * 'withpattern' operator accepts a <textual picture> as well as a <path>
+ for its operand. Thus users can give pattern effect to the result of btex
+ command or infont operator.
+
+ * fix regarding line width in mplibgraphictext
+
+2024/07/27 2.34.3
+ * in DVI mode, use LaTeX's shipout hooks to generate new XObjects
+ or to put resources to pageresources. (in plain, load atbegshi.sty)
+
+ * fix shading to allow the even-odd rule
+
+2024/07/24 2.34.2
+ * With the newly introduced macros, \mplibgroup ... \endmplibgroup, users
+ can define a transparency group or a normal form XObject from TeX side.
+ The LaTeX environment 'mplibgroup' is identical to this pair of macros.
+ See the document for details.
+
+ * document: be more precise about the color effect of a transparency group
+
+ * remove trailing zeros from numeric objects to get smaller PDF
+
+2024/07/19 2.34.1
+ * transparency group is available with plain format as well.
+ * transparency group once used is reusable in the TeX code or
+ in other MetaPost code chunks. see the document for details.
+
+2024/07/17 2.34.0
+ * support transparency group with metafun format
+ * fix regarding default value in circular fading mode
+ * fix regarging the scope of graphics state
+
+2024/07/14 2.33.1
+ * refactor the manual, including some minor items undocumented so far
+ * improve fading routine to get possibly smaller pdf file
+
+2024/07/08 2.33.0
+ * provide a new metapost operator 'withfademethod' and related macros,
+ which make the color of an object gradiently transparent. see luamplib
+ document for details.
+
+ * fix spot-color shading routine to support user-defined colorspace
+
+2024/07/03 2.32.4
+ * make the variable 'patterns' local
+ * 'math.randomseed' on plain TeX
+ * remove redundant code 'fullcircle scaled 0'
+
2024/06/21 2.32.3
* 'coloured' is a synonym of the option 'colored' in pattern definition.
diff --git a/macros/luatex/generic/luamplib/luamplib.dtx b/macros/luatex/generic/luamplib/luamplib.dtx
index fd6afd4e65..625a35848c 100644
--- a/macros/luatex/generic/luamplib/luamplib.dtx
+++ b/macros/luatex/generic/luamplib/luamplib.dtx
@@ -2,8 +2,8 @@
%
% Copyright (C) 2008-2024 by Hans Hagen, Taco Hoekwater, Elie Roux,
% Manuel Pégourié-Gonnard, Philipp Gesang and Kim Dohyun.
-% Currently maintained by the LuaLaTeX development team.
-% Support: <lualatex-dev@tug.org>
+% Currently maintained by Kim Dohyun.
+% Support: <https://github.com/lualatex/luamplib>
%
% This work is under the GPL v2.0 license.
%
@@ -85,9 +85,9 @@ See source file '\inFileName' for licencing and contact information.
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{luamplib.drv}%
- [2024/06/21 v2.32.3 Interface for using the mplib library]%
+ [2024/08/03 v2.34.5 Interface for using the mplib library]%
\documentclass{ltxdoc}
-\usepackage{metalogo,multicol,mdwlist,fancyvrb,xspace}
+\usepackage{metalogo,multicol,xspace}
\usepackage[x11names]{xcolor}
%
\def\primarycolor{DodgerBlue4} %%-> rgb 16 78 139 | #104e8b
@@ -123,7 +123,9 @@ See source file '\inFileName' for licencing and contact information.
\newcommand*\email [1] {<\href{mailto:#1}{#1}>}
\newcommand \file {\nolinkurl}
-\newcommand \pk {\textsf}
+
+\newcommand*\metapost {\textsc{metapost}\xspace}
+\newcommand*\mplib {\pkg{mplib}\xspace}
\begin{document}
\DocInput{luamplib.dtx}%
@@ -149,125 +151,164 @@ See source file '\inFileName' for licencing and contact information.
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
-% \title{The \textsf{luamplib} package}
+% \title{The \pkg{luamplib} package}
% \author{Hans Hagen, Taco Hoekwater, Elie Roux, Philipp Gesang and Kim Dohyun\\
-% Maintainer: LuaLaTeX Maintainers ---
-% Support: \email{lualatex-dev@tug.org}}
-% \date{2024/06/21 v2.32.3}
+% Current Maintainer: Kim Dohyun\\
+% Support: \url{https://github.com/lualatex/luamplib}}
+% \date{2024/08/03 v2.34.5}
%
% \maketitle
%
% \begin{abstract}
-% Package to have metapost code typeset directly in a document with \LuaTeX.
+% Package to have \metapost code typeset directly in a document with \LuaTeX.
% \end{abstract}
%
% \section{Documentation}
%
-% This packages aims at providing a simple way to typeset directly metapost
-% code in a document with \LuaTeX. \LuaTeX\ is built with the lua
-% \texttt{mplib} library, that runs metapost code. This package is basically a
-% wrapper (in Lua) for the Lua \texttt{mplib} functions and some \TeX\
-% functions to have the output of the \texttt{mplib} functions in the pdf.
-%
-% In the past,
-% the package required PDF mode in order to output something.
-% Starting with version 2.7 it works in DVI mode as well, though
-% DVIPDFMx is the only DVI tool currently supported.
-%
-% The metapost figures are put in a \TeX\ \texttt{hbox} with dimensions
-% adjusted to the metapost code.
+% This package aims at providing a simple way to typeset directly \metapost
+% code in a document with \LuaTeX. \LuaTeX\ is built with the Lua
+% \mplib library, that runs \metapost code. This package is basically a
+% wrapper for the Lua \mplib functions and some \TeX\
+% functions to have the output of the \mplib functions in the pdf.
%
-% Using this package is easy: in Plain, type your metapost code between the
+% Using this package is easy: in Plain, type your \metapost code between the
% macros \cs{mplibcode} and \cs{endmplibcode}, and in \LaTeX\ in the
-% \texttt{mplibcode} environment.
+% |mplibcode| environment.
%
-% The code is from the \texttt{luatex-mplib.lua} and \texttt{luatex-mplib.tex} files
-% from \ConTeXt, they have been adapted to \LaTeX\ and Plain by Elie Roux and
-% Philipp Gesang, new functionalities have been added by Kim Dohyun.
-% The changes are:
+% The resulting \metapost figures are put in a \TeX\ |hbox| with dimensions
+% adjusted to the \metapost code.
+%
+% The code of luamplib is basically from the |luatex-mplib.lua| and |luatex-mplib.tex| files
+% from \ConTeXt. They have been adapted to \LaTeX\ and Plain by Elie Roux and
+% Philipp Gesang and new functionalities have been added by Kim Dohyun.
+% The most notable changes are:
%
% \begin{itemize}
-% \item a \LaTeX\ environment
-% \item all \TeX\ macros start by |mplib|
-% \item use of our own function for errors, warnings and informations
% \item possibility to use |btex ... etex| to typeset \TeX\ code.
-% |textext()| is a more versatile macro equivalent to |TEX()| from TEX.mp.
-% |TEX()| is also allowed and is a synomym of |textext()|.\par\smallskip
-% \textsc{n.b.} Since v2.5, |btex ... etex| input from external |mp| files
-% will also be processed by \textsf{luamplib}.\par\smallskip
-% \textsc{n.b.} Since v2.20, |verbatimtex ... etex| from external |mp| files
-% will be also processed by \textsf{luamplib}. Warning: This is a change
-% from previous version.
+% |textext()| is a more versatile macro equivalent to |TEX()| from \pkg{TEX.mp}.
+% |TEX()| is also allowed and is a synonym of |textext()|.
+% The argument of
+% \mplib's primitive |maketext| will also be processed by the same routine.
+%
+% \item possibility to use |verbatimtex ... etex|, though it's behavior cannot
+% be the same as the stand-alone \pkg{mpost}.
+% Of course you cannot include \cs{documentclass}, \cs{usepackage} etc.
+% When these \TeX\ commands are found in |verbatimtex ... etex|, the entire code will be
+% ignored.
+% The treatment of |verbatimtex| command has changed a lot since v2.20:
+% see \hyperlink{mpliblegacybehavior}{below \S\,1.1}.
+%
+% \item in the past,
+% the package required PDF mode in order to have some output.
+% Starting with version 2.7 it works in DVI mode as well, though
+% DVIPDFMx is the only DVI tool currently supported.
% \end{itemize}
%
-% Some more changes and cautions are:
+% It seems to be convenient to divide the explanations of some more changes and cautions
+% into three parts: \TeX, \textsc{MetaPost}, and Lua interfaces.
+%
+% \subsection{\TeX}
%
% \paragraph{\cs{mplibforcehmode}}
-% When this macro is declared, every mplibcode figure box will be
+% When this macro is declared, every \metapost figure box will be
% typeset in horizontal mode, so \cs{centering}, \cs{raggedleft} etc
-% will have effects. |\mplibnoforcehmode|, being default, reverts this
-% setting. (Actually these commands redefine |\prependtomplibbox|. You
-% can define this command with anything suitable before a box.)
+% will have effects. \cs{mplibnoforcehmode}, being default, reverts this
+% setting. (Actually these commands redefine \cs{prependtomplibbox}; you
+% can redefine this command with anything suitable before a box.)
%
-% \paragraph{\cs{mpfig} \ldots\ \cs{endmpfig}}
-% Since v2.29 we provide unexpandable \TeX\ macros |\mpfig ... \endmpfig| and its starred version
-% |\mpfig* ... \endmpfig| to save typing toil.
-% The first is roughly the same as follows:
-% \begin{verbatim}
-% \begin{mplibcode}[@mpfig]
-% beginfig(0)
-% token list declared by \everymplib[@mpfig]
-% ...
-% token list declared by \everyendmplib[@mpfig]
-% endfig;
-% \end{mplibcode}
-% \end{verbatim}
-% and the starred version is roughly the same as follows:
-% \begin{verbatim}
-% \begin{mplibcode}[@mpfig]
-% ...
+% \paragraph{\cs{everymplib\{...\}}, \cs{everyendmplib\{...\}}}
+% \cs{everymplib} and \cs{everyendmplib} redefine
+% the lua table containing \metapost code
+% which will
+% be automatically inserted at the beginning and ending of each \metapost code chunk.
+%\begin{verbatim}
+% \everymplib{ beginfig(0); }
+% \everyendmplib{ endfig; }
+% \begin{mplibcode}
+% % beginfig/endfig not needed
+% draw fullcircle scaled 1cm;
% \end{mplibcode}
-% \end{verbatim}
-% In these macros |\mpliblegacybehavior{disable}| (see below)
-% is forcibly declared.
-% And as both share the same instance name, metapost codes are inherited among them.
-% A simple example:
-% \begin{verbatim}
-% \mpfig* input boxes \endmpfig
-% \everymplib[@mpfig]{ drawoptions(withcolor .5[red,white]); }
-% \mpfig circleit.a(btex Box 1 etex); drawboxed(a); \endmpfig
-% \end{verbatim}
-% The instance name (default: |@mpfig|) can be changed by redefining
-% \cs{mpfiginstancename}, after which a new MPlib instance will start and
-% code inheritance too will begin anew. |\let\mpfiginstancename\empty| will
-% prevent code inheritance if |\mplibcodeinherit{true}| (see below) is not declared.\footnote{%
-% As for user setting values, |enable|, |true|, |yes| are identical, and
-% |disable|, |false|, |no| are identical.}
-%
-% \paragraph{\cs{mpliblegacybehavior\{enable\}}}
-% By default, |\mpliblegacybehavior{enable}| is already declared,
-% in which case
-% a |verbatimtex ... etex| that comes just before |beginfig()|
-% is not ignored, but the \TeX\ code will be inserted before the
-% following mplib hbox. Using this command,
-% each mplib box can be freely moved horizontally and/or vertically.
-% Also, a box number might be assigned to mplib box, allowing it to be
-% reused later (see test files).
-% \begin{verbatim}
+%\end{verbatim}
+%
+% \paragraph{\cs{mplibsetformat\{plain\textbar metafun\}}}
+% There are (basically) two formats for \metapost: \emph{plain} and
+% \emph{metafun}. By default, the \emph{plain} format is used, but you can set
+% the format to be used by future figures at any time using
+% \cs{mplibsetformat\{<format name>\}}.
+%
+% \textsc{n.b.} As \emph{metafun} is such a complicated format,
+% we cannot support all the functionalities producing special effects provided by \emph{metafun}.
+% At least, however, transparency (actually opacity), transparency group, and shading (gradient colors)
+% are fully supported,
+% and outlinetext is supported by our own alternative |mpliboutlinetext|
+% (see \hyperlink{mpliboutlinetext}{below \S\,1.2}).
+%
+% \leavevmode\llap{\textcolor{red}{☞}\kern1.2\parindent}\relax
+% Among these, transparency is so simple that you can apply it to an object,
+% even with the \emph{plain} format,
+% just by appending |withprescript| |"tr_transparency=<number>"| to the sentence.
+% ($0 \le \hbox{\emph{<number>}} \le 1$)
+%
+% \hypertarget{metafunformat}{}\relax
+% As for transparency group, the current \emph{metafun} document \S\,8.8 is not correct.
+% The true syntax is:
+%\begin{verbatim}
+% draw <picture>|<path> asgroup <string>
+%\end{verbatim}
+% where \emph{<string>} should be |""| (empty), |"isolated"|, |"knockout"|, or |"isolated,knockout"|.
+% Beware that currently many of the PDF rendering applications, except Adobe Acrobat Reader,
+% cannot properly render the isolated or knockout effect.
+% Transparency group is available with \emph{plain} format as well, with extended functionality.
+% See \hyperlink{transparencygroup}{below \S\,1.2}.
+%
+% One thing worth mentioning about shading is:
+% when a color expression is given in string type,
+% it is regarded by luamplib as
+% a color expression of \TeX\ side.
+% For instance, when |withshadecolors("orange", 2/3red)| is given, the first color |"orange"| will be
+% interpreted as a \pkg{color}, \pkg{xcolor} or \pkg{l3color}'s expression.
+%
+% \paragraph{\cs{mplibnumbersystem\{scaled\textbar double\textbar decimal\}}}
+% Users can choose |numbersystem| option.
+% The default value is |scaled|, which can be changed
+% by declaring \cs{mplibnumbersystem\{double\}} or
+% \cs{mplibnumbersystem\{decimal\}}.
+%
+% \paragraph{\cs{mplibshowlog\{enable\textbar disable\}}}
+% Default: |disable|.
+% When \cs{mplibshowlog\{enable\}}\footnote{As for user's setting,
+% |enable|, |true| and |yes| are identical;
+% |disable|, |false| and |no| are identical.} is declared, log messages returned by
+% the \metapost process will be printed to the |.log| file.
+% This is the \TeX{} side interface for |luamplib.showlog|.
+%
+% \paragraph{\cs{mpliblegacybehavior\{enable\textbar disable\}}}
+% \hypertarget{mpliblegacybehavior}{}\relax
+% By default, \cs{mpliblegacybehavior\{enable\}}
+% is already declared for backward compatibility,
+% in which case \TeX\ code in
+% |verbatimtex| |...| |etex| that comes just before |beginfig()|
+% will be inserted before the
+% following \metapost figure box. In this way,
+% each figure box can be freely moved horizontally or vertically.
+% Also, a box number can be assigned to a figure box, allowing it to be
+% reused later.
+%\begin{verbatim}
% \mplibcode
% verbatimtex \moveright 3cm etex; beginfig(0); ... endfig;
% verbatimtex \leavevmode etex; beginfig(1); ... endfig;
% verbatimtex \leavevmode\lower 1ex etex; beginfig(2); ... endfig;
% verbatimtex \endgraf\moveright 1cm etex; beginfig(3); ... endfig;
% \endmplibcode
-% \end{verbatim}
+%\end{verbatim}
% \textsc{n.b.} \cs{endgraf} should be used instead of \cs{par} inside
% |verbatimtex ... etex|.
%
-% By contrast, \TeX\ code in |VerbatimTeX(...)| or |verbatimtex ... etex|
+% On the other hand, \TeX\ code in |verbatimtex ... etex|
% between |beginfig()| and |endfig| will be inserted
-% after flushing out the mplib figure.
-% \begin{verbatim}
+% after flushing out the \metapost figure.
+% As shown in the example below, |VerbatimTeX()| is a synonym of |verbatimtex| |...| |etex|.
+%\begin{verbatim}
% \mplibcode
% D := sqrt(2)**7;
% beginfig(0);
@@ -276,15 +317,15 @@ See source file '\inFileName' for licencing and contact information.
% endfig;
% \endmplibcode
% diameter: \Dia bp.
-% \end{verbatim}
+%\end{verbatim}
%
-% \paragraph{\cs{mpliblegacybehavior\{disable\}}}
-% If |\mpliblegacybehavior{disabled}| is declared by user, any
-% |verbatimtex ... etex| will be executed, along with |btex ... etex|,
+% By contrast,
+% when \cs{mpliblegacybehavior\{disable\}} is declared, any
+% |verbatimtex| |...| |etex| will be executed, along with |btex| |...| |etex|,
% sequentially one by one.
% So, some \TeX\ code in |verbatimtex ... etex| will have effects on
-% |btex ... etex| codes that follows.
-% \begin{verbatim}
+% following |btex| |...| |etex| codes.
+%\begin{verbatim}
% \begin{mplibcode}
% beginfig(0);
% draw btex ABC etex;
@@ -293,114 +334,72 @@ See source file '\inFileName' for licencing and contact information.
% draw btex GHI etex shifted (2cm,0); % bold face
% endfig;
% \end{mplibcode}
-% \end{verbatim}
-%
-% \paragraph{\cs{everymplib}, \cs{everyendmplib}}
-% Since v2.3, new macros \cs{everymplib} and \cs{everyendmplib} redefine
-% the lua table containing MetaPost code
-% which will
-% be automatically inserted at the beginning and ending of each |mplibcode|.
-% \begin{verbatim}
-% \everymplib{ beginfig(0); }
-% \everyendmplib{ endfig; }
-% \mplibcode % beginfig/endfig not needed
-% draw fullcircle scaled 1cm;
-% \endmplibcode
-% \end{verbatim}
-%
-% \paragraph{\cs{mpdim}}
-% Since v2.3, \cs{mpdim} and other raw \TeX\ commands are allowed
-% inside mplib code. This feature is inpired by gmp.sty authored by
-% Enrico Gregorio. Please refer the manual of gmp package for details.
-% \begin{verbatim}
-% \begin{mplibcode}
-% draw origin--(.6\mpdim{\linewidth},0) withpen pencircle scaled 4
-% dashed evenly scaled 4 withcolor \mpcolor{orange};
-% \end{mplibcode}
-% \end{verbatim}
-% \textsc{n.b.} Users should not use the protected variant of
-% |btex ... etex| as provided by gmp package. As \textsf{luamplib}
-% automatically protects \TeX\ code inbetween, \cs{btex} is not supported
-% here.
+%\end{verbatim}
%
-% \paragraph{\cs{mpcolor}}
-% With \cs{mpcolor} command, color names or expressions of
-% \textsf{color}/\textsf{xcolor} packages can be used inside mplibcode
-% enviroment (after |withcolor| operator),
-% though \textsf{luamplib} does not automatically load these
-% packages. See the example code above. For spot colors,
-% \textsf{colorspace}, \textsf{spotcolor}
-% (in PDF mode) and \textsf{xespotcolor} (in DVI mode) packages are supported
-% as well.
-%
-% From v2.26.1, \textsf{l3color} is also supported by the command
-% \cs{mpcolor\{color expression\}}, including spot colors.
-%
-% \paragraph{\cs{mplibnumbersystem}}
-% Users can choose |numbersystem| option since v2.4.
-% The default value |scaled| can be changed to |double| or |decimal|
-% by declaring |\mplibnumbersystem{double}| or |\mplibnumbersystem{decimal}|.
-% For details see
-% \url{http://github.com/lualatex/luamplib/issues/21}.
-%
-% \paragraph{\cs{mplibtextextlabel}}
-% Starting with v2.6, |\mplibtextextlabel{enable}| enables
-% string labels typeset via |textext()| instead of |infont| operator.
+% \paragraph{\cs{mplibtextextlabel\{enable\textbar disable\}}}
+% Default: |disable|.
+% \cs{mplibtextextlabel\{enable\}} enables
+% the labels typeset via |textext| instead of |infont| operator.
% So, |label("my text",origin)| thereafter is exactly the same as
-% |label(textext("my text"),origin)|. \textsc{n.b.} In the background,
-% \textsf{luamplib} redefines |infont| operator so that the right side
-% argument (the font part) is totally ignored. Every string label
-% therefore will be typeset with current \TeX\ font.
+% |label(textext("my text"),origin)|.
+%
+% \textsc{n.b.} In the background,
+% luamplib redefines |infont| operator so that the right side
+% argument (the font part) is totally ignored. Therefore the left side arguemnt
+% will be typeset with the current \TeX\ font.
% Also take care of |char| operator in the left side argument,
% as this might bring unpermitted characters into \TeX.
%
-% \paragraph{\cs{mplibcodeinherit}}
-% Starting with v2.9, |\mplibcodeinherit{enable}| enables the inheritance
-% of variables, constants, and macros defined by previous |mplibcode| chunks.
-% On the contrary, the default value |\mplibcodeinherit{disable}| will make
-% each code chunks being treated as an independent instance, and never
+% \paragraph{\cs{mplibcodeinherit\{enable\textbar disable\}}}
+% Default: |disable|.
+% \cs{mplibcodeinherit\{enable\}} enables the inheritance
+% of variables, constants, and macros defined by previous \metapost code chunks.
+% On the contrary, \cs{mplibcodeinherit\{disable\}} will make
+% each code chunk being treated as an independent instance, never
% affected by previous code chunks.
%
-% \paragraph{Separate instances for \LaTeX{} and plain \TeX}
-% v2.22 has added the support for several named MetaPost instances
+% \paragraph{Separate \metapost instances}
+% luamplib v2.22 has added the support for several named \metapost instances
% in \LaTeX{} |mplibcode| environment.
-% (And since v2.29 plain \TeX\ users can use this functionality as well.)
-% Syntax is like so:
-% \begin{verbatim}
+% Plain \TeX\ users also can use this functionality.
+% The syntax for \LaTeX\ is:
+%\begin{verbatim}
% \begin{mplibcode}[instanceName]
% % some mp code
% \end{mplibcode}
-% \end{verbatim}
-% Behaviour is as follows.
+%\end{verbatim}
+% The behavior is as follows.
% \begin{itemize}
% \item All the variables and functions are shared
% only among all the environments belonging to the same instance.
-% \item |\mplibcodeinherit| only affects environments
+% \item \cs{mplibcodeinherit} only affects environments
% with no instance name set (since if a name is set,
% the code is intended to be reused at some point).
-% \item From v2.27, |btex ... etex| boxes are also shared and do not
-% require |\mplibglobaltextext|.
+% \item |btex ... etex| boxes are also shared and do not
+% require \cs{mplibglobaltextext}.
% \item When an instance names is set,
-% respective |\currentmpinstancename| is set.
+% respective \cs{currentmpinstancename} is set as well.
% \end{itemize}
-% In parellel with this functionality, v2.23 and after supports
+% In parellel with this functionality, we support
% optional argument of instance name for \cs{everymplib} and
% \cs{everyendmplib}, affecting only those |mplibcode| environments
% of the same name.
% Unnamed \cs{everymplib} affects not only those instances with no name,
% but also those with name but with no corresponding \cs{everymplib}.
-% Syntax is:
-% \begin{verbatim}
+% The syntax is:
+%\begin{verbatim}
% \everymplib[instanceName]{...}
% \everyendmplib[instanceName]{...}
-% \end{verbatim}
+%\end{verbatim}
%
-% \paragraph{\cs{mplibglobaltextext}}
-% Formerly, to inherit |btex ... etex| boxes as well as metapost variables,
+% \paragraph{\cs{mplibglobaltextext\{enable\textbar disable\}}}
+% Default: |disable|.
+% Formerly, to inherit |btex| |...| |etex| boxes as well as other \metapost macros, variables and constants,
% it was necessary to declare \cs{mplibglobaltextext\{enable\}} in advance.
% But from v2.27, this is implicitly enabled when \cs{mplibcodeinherit}
-% is |true|.
-% \begin{verbatim}
+% is enabled.
+% This optional command still remains mostly for backward compatibility.
+%\begin{verbatim}
% \mplibcodeinherit{enable}
% %\mplibglobaltextext{enable}
% \everymplib{ beginfig(0);} \everyendmplib{ endfig;}
@@ -412,38 +411,92 @@ See source file '\inFileName' for licencing and contact information.
% \mplibcode
% currentpicture := pic scaled 2;
% \endmplibcode
-% \end{verbatim}
-% Generally speaking, it is recommended to turn |mplibglobaltextext|
-% always on, because it has the advantage of reusing metapost pictures
-% among code chunks.
-% But everything has its downside: it will waste more memory resources.
-%
-% \paragraph{\cs{mplibverbatim}}
-% Starting with v2.11, users can issue |\mplibverbatim{enable}|, after which
+%\end{verbatim}
+%
+% \paragraph{\cs{mplibverbatim\{enable\textbar disable\}}}
+% Default: |disable|.
+% Users can issue \cs{mplibverbatim\{enable\}}, after which
% the contents of mplibcode environment will be read verbatim. As a result,
-% except for |\mpdim| and |\mpcolor|, all other \TeX\ commands outside
-% |btex ... etex| or |verbatimtex ... etex| are not expanded and will be fed
-% literally into the mplib process.
+% except for \cs{mpdim} and \cs{mpcolor} (see \hyperlink{mpdim}{below}),
+% all other \TeX\ commands outside of the
+% |btex| or |verbatimtex| |...| |etex| are not expanded and will be fed
+% literally to the \mplib library.
+%
+% \paragraph{\cs{mpdim\{...\}}}
+% \hypertarget{mpdim}{}\relax
+% Besides other \TeX\ commands, \cs{mpdim} is specially allowed
+% in the mplibcode environment. This feature is inpired by \pkg{gmp} package authored by
+% Enrico Gregorio. Please refer to the manual of \pkg{gmp} package for details.
+%\begin{verbatim}
+% \begin{mplibcode}
+% beginfig(1)
+% draw origin--(.6\mpdim{\linewidth},0) withpen pencircle scaled 4
+% dashed evenly scaled 4 withcolor \mpcolor{orange};
+% endfig;
+% \end{mplibcode}
+%\end{verbatim}
%
-% \paragraph{\cs{mplibshowlog}}
-% When |\mplibshowlog{enable}| is declared, log messages returned by
-% |mplib| instance will be printed into the |.log| file.
-% |\mplibshowlog{disable}| will revert this functionality.
-% This is a \TeX{} side interface for |luamplib.showlog|. (v2.20.8)
+% \paragraph{\cs{mpcolor[...]\{...\}}}
+% With \cs{mpcolor} command, color names or expressions of
+% \pkg{color}, \pkg{xcolor} and \pkg{l3color} module/packages can be used in the mplibcode
+% environment (after |withcolor| operator).
+% See the example \hyperlink{mpdim}{above}.
+% The optional |[...]| denotes the option of \pkg{xcolor}'s \cs{color} command.
+% For spot colors, \pkg{l3color} (in PDF/DVI mode),
+% \pkg{colorspace}, \pkg{spotcolor}
+% (in PDF mode) and \pkg{xespotcolor} (in DVI mode) packages are supported
+% as well.
+%
+% \paragraph{\cs{mpfig} \ldots\ \cs{endmpfig}}
+% Besides the |mplibcode| environment (for \LaTeX) and
+% \cs{mplibcode ...} \cs{endmplibcode} (for Plain),
+% we also provide unexpandable \TeX\ macros \cs{mpfig} |...| \cs{endmpfig} and its starred version
+% \cs{mpfig*} |...| \cs{endmpfig} to save typing toil.
+% The former is roughly the same as follows:
+%\begin{verbatim}
+% \begin{mplibcode}[@mpfig]
+% beginfig(0)
+% token list declared by \everymplib[@mpfig]
+% ...
+% token list declared by \everyendmplib[@mpfig]
+% endfig;
+% \end{mplibcode}
+%\end{verbatim}
+% and the starred version is roughly the same as follows:
+%\begin{verbatim}
+% \begin{mplibcode}[@mpfig]
+% ...
+% \end{mplibcode}
+%\end{verbatim}
+% In these macros \cs{mpliblegacybehavior\{disable\}}
+% is forcibly declared.
+% Again, as both share the same instance name, \metapost codes are inherited among them.
+% A simple example:
+%\begin{verbatim}
+% \everymplib[@mpfig]{ drawoptions(withcolor .5[red,white]); }
+% \mpfig* input boxes \endmpfig
+% \mpfig
+% circleit.a(btex Box 1 etex); drawboxed(a);
+% \endmpfig
+%\end{verbatim}
+% The instance name (default: |@mpfig|) can be changed by redefining
+% \cs{mpfiginstancename}, after which a new \mplib instance will start and
+% code inheritance too will begin anew. \cs{let}\cs{mpfiginstancename}\cs{empty} will
+% prevent code inheritance if \cs{mplibcodeinherit\{true\}} is not declared.
%
% \paragraph{About cache files}
-% To support |btex ... etex| in external |.mp| files, \textsf{luamplib}
-% inspects the content of each and every |.mp| input files and makes caches
-% if nececcsary, before returning their paths to \LuaTeX's mplib library.
-% This would make the compilation time longer wastefully, as most |.mp| files
-% do not contain |btex ... etex| command. So \textsf{luamplib} provides
-% macros as follows, so that users can give instruction about files
+% To support |btex ... etex| in external |.mp| files, luamplib
+% inspects the content of each and every |.mp| file and makes caches
+% if nececcsary, before returning their paths to \LuaTeX's \mplib library.
+% This could waste the compilation time, as most |.mp| files
+% do not contain |btex ... etex| commands. So luamplib provides
+% macros as follows, so that users can give instructions about files
% that do not require this functionality.
% \begin{itemize}
-% \item |\mplibmakenocache{<filename>[,<filename>,...]}|
-% \item |\mplibcancelnocache{<filename>[,<filename>,...]}|
+% \item \cs{mplibmakenocache\{<filename>[,<filename>,...]\}}
+% \item \cs{mplibcancelnocache\{<filename>[,<filename>,...]\}}
% \end{itemize}
-% where |<filename>| is a file name excluding |.mp| extension.
+% where |<filename>| is a filename excluding |.mp| extension.
% Note that |.mp| files under |$TEXMFMAIN/metapost/base| and
% |$TEXMFMAIN/metapost/context/base| are already registered by default.
%
@@ -451,64 +504,96 @@ See source file '\inFileName' for licencing and contact information.
% if it's not available (mostly not writable),
% in the directory where output files are saved:
% to be specific, |$TEXMF_OUTPUT_DIRECTORY/luamplib_cache|,
-% |./luamplib_cache|, |$TEXMFOUTPUT/luamplib_cache|, and |.| in this order.
-% (|$TEXMF_OUTPUT_DIRECTORY| is normally the value of |--output-directory|
-% command-line option.)
-% This behavior however can be changed by the command
-% |\mplibcachedir{<directory path>}|, where tilde (|~|) is interpreted
+% |./luamplib_cache|, |$TEXMFOUTPUT/luamplib_cache|, and |.|, in this order.
+% |$TEXMF_OUTPUT_DIRECTORY| is normally the value of |--output-directory|
+% command-line option.
+%
+% Users can change this behavior by the command
+% \cs{mplibcachedir\{<directory path>\}}, where tilde (|~|) is interpreted
% as the user's home directory (on a windows machine as well).
-% As backslashes (|\|) should be escaped by users, it would be easier to use
+% As backslashes (\cs{}) should be escaped by users, it would be easier to use
% slashes (|/|) instead.
%
-% \paragraph{\texttt{mplibtexcolor}, \texttt{mplibrgbtexcolor}}
-% |mplibtexcolor| is a metapost operator that converts a \TeX\ color expression
-% to a MetaPost color expression. For instance:
-% \begin{verbatim}
+% \paragraph{About figure box metric}
+% Notice that, after each figure is processed, the macro \cs{MPwidth} stores
+% the width value of the latest figure; \cs{MPheight}, the height value.
+% Incidentally, also note that \cs{MPllx}, \cs{MPlly}, \cs{MPurx}, and
+% \cs{MPury} store the bounding box information of the latest figure
+% without the unit |bp|.
+%
+% \paragraph{luamplib.cfg}
+% At the end of package loading, luamplib searches
+% |luamplib.cfg| and, if found, reads the file in automatically.
+% Frequently used settings such as \cs{everymplib}, \cs{mplibforcehmode}
+% or \cs{mplibcodeinherit} are suitable for going into this file.
+%
+% \subsection{\textsc{MetaPost}}
+%
+% \paragraph{\texttt{mplibdimen(...)}, \texttt{mplibcolor(...)}}
+% These are \metapost interfaces for the \TeX\ commands
+% \cs{mpdim} and \cs{mpcolor} (see \hyperlink{mpdim}{above}). For example,
+% |mplibdimen("\linewidth")| is basically the same as \cs{mpdim\{\cs{linewidth}\}}, and
+% |mplibcolor("red!50")| is basically the same as \cs{mpcolor\{red!50\}}.
+% The difference is that these \metapost operators can also be used in external |.mp| files,
+% which cannot have \TeX\ commands outside of the |btex| or |verbatimtex| |...| |etex|.
+%
+% \paragraph{\texttt{mplibtexcolor ...}, \texttt{mplibrgbtexcolor ...}}
+% |mplibtexcolor|, which accepts a string argument, is a \metapost operator that converts a \TeX\ color expression
+% to a \metapost color expression, that can be used anywhere color expression is expected
+% as well as after the |withcolor| operator.
+% For instance:
+%\begin{verbatim}
% color col;
% col := mplibtexcolor "olive!50";
-% \end{verbatim}
-% The result may vary in its color model (gray/rgb/cmyk)
+%\end{verbatim}
+% But the result may vary in its color model (gray/rgb/cmyk)
% according to the given \TeX\ color. (Spot colors are forced to
% cmyk model, so this operator is not recommended for spot colors.)
-% Therefore the example shown above would raise a metapost error:
+% Therefore the example shown above would raise a \metapost error:
% |cmykcolor col;| should have been declared.
-% By contrast, |mplibrgbtexcolor| always returns rgb model expressions.
-%
-% \paragraph{\texttt{mplibgraphictext}}
-% For some amusement, luamplib provides its own metapost operator
-% |mplibgraphictext|, the effect of which is similar to that of
-% \ConTeXt's |graphictext|. However syntax is somewhat different.
-% \begin{verbatim}
+% By contrast, |mplibrgbtexcolor| \emph{<string>} always returns rgb model expressions.
+%
+% \paragraph{\texttt{mplibgraphictext ...}}
+% |mplibgraphictext| is a \metapost operator, the effect of which is similar to that of
+% \ConTeXt's |graphictext| or our own |mpliboutlinetext|
+% (see \hyperlink{mpliboutlinetext}{below}).
+% However the syntax is somewhat different.
+%\begin{verbatim}
% mplibgraphictext "Funny"
% fakebold 2.3 % fontspec option
% drawcolor .7blue fillcolor "red!50" % color expressions
-% \end{verbatim}
+%\end{verbatim}
% |fakebold|, |drawcolor| and |fillcolor| are optional;
% default values are |2|, |"black"| and |"white"| respectively.
-% When color expressions are given as string, they are regarded as
-% xcolor's or l3color's expressions (this is the same with shading colors).
-% From v2.30, |scale| option is deprecated and is now a synonym of |scaled|.
+% When the color expressions are given in string type, they are regarded as
+% \pkg{color}, \pkg{xcolor} or \pkg{l3color}'s expressions.
% All from |mplibgraphictext| to the end of sentence will compose an
% anonymous |picture|, which can be drawn or assigned to a variable.
% Incidentally, |withdrawcolor| and |withfillcolor| are synonyms of
% |drawcolor| and |fillcolor|, hopefully to be compatible with |graphictext|.
-% \textsc{n.b.} Because luamplib's current implementation is quite different
-% from the \ConTeXt's, there are some limitations such that you can't
-% apply shading (gradient colors) to the text (But see below).
-% In DVI mode, |unicode-math| package is needed for math formula graphictext,
+%
+% \textsc{n.b.}
+% In some cases, |mplibgraphictext| will produce better results than \ConTeXt\
+% or even than our own |mpliboutlinetext|,
+% especially when processing complicated \TeX\ code
+% such as the vertical writing in Chinese or Japanese.
+% However, because the implementation is quite different from others,
+% there are some limitations such that you can't
+% apply shading (gradient colors) to the text. Again,
+% in DVI mode, \pkg{unicode-math} package is needed for math formula,
% as we cannot embolden type1 fonts in DVI mode.
%
-% \paragraph{\texttt{mplibglyph}, \texttt{mplibdrawglyph}}
-% From v2.30, we provide a new metapost operator |mplibglyph|, which returns a metapost picture
+% \paragraph{\texttt{mplibglyph ... of ...}}
+% From v2.30, we provide a new \metapost operator |mplibglyph|, which returns a \metapost picture
% containing outline paths of a glyph in opentype, truetype or type1 fonts.
-% When a type1 font is specified, metapost primitive |glyph| will be called.
-% \begin{verbatim}
+% When a type1 font is specified, \metapost primitive |glyph| will be called.
+%\begin{verbatim}
% mplibglyph 50 of \fontid\font % slot 50 of current font
% mplibglyph "Q" of "TU/TeXGyrePagella(0)/m/n/10" % font csname
% mplibglyph "Q" of "texgyrepagella-regular.otf" % raw filename
% mplibglyph "Q" of "Times.ttc(2)" % subfont number
% mplibglyph "Q" of "SourceHanSansK-VF.otf[Regular]" % instance name
-% \end{verbatim}
+%\end{verbatim}
% Both arguments before and after of ``|of|'' can be either a number or a string.
% Number arguments are regarded as a glyph slot (GID) and a font id number, repectively.
% String argument at the left side is regarded as a glyph name in the font or a unicode character.
@@ -518,76 +603,108 @@ See source file '\inFileName' for licencing and contact information.
% subfont number (starting from zero) of a TTC font; a string within brackets denotes
% an instance name of a variable font.
%
-% The returned picture will be quite similar to the result of |glyph| primitive in its structure.
-% So, metapost's |draw| command will fill the inner path of the picture with background color.
-% In contrast, |mplibdrawglyph| command fills the paths according to the Nonzero Winding
-% Number Rule. As a result, for instance, the area surrounded by inner path of ``O''
+% \paragraph{\texttt{mplibdrawglyph ...}}
+% The picture returned by |mplibglyph| will be quite similar to the result of |glyph| primitive in its structure.
+% So, \metapost's |draw| command will fill the inner path of the picture with the background color.
+% In contrast, |mplibdrawglyph| \emph{<picture>} command fills the paths according to the nonzero winding
+% number rule. As a result, for instance, the area surrounded by inner path of ``O''
% will remain transparent.
%
-% \paragraph{\texttt{mpliboutlinetext}}
-% From v2.31, we provide a new metapost operator |mpliboutlinetext|, which mimicks
-% metafun's |outlinetext|. So the syntax is the same as metafun's. See the metafun
-% manual \textsection\,8.7 (|texdoc metafun|). A simple example:
-% \begin{verbatim}
+% \leavevmode\llap{\textcolor{red}{☞}\kern1.2\parindent}\relax
+% To apply the nonzero winding number rule to a picture containing paths,
+% luamplib appends |withpostscript| |"collect"|
+% to the paths except the last one in the picture.
+% If you want the even-odd rule instead, you can, with \emph{plain} format as well,
+% additionally declare |withpostscript| |"evenodd"| to the last path in the picture.
+%
+% \paragraph{\texttt{mpliboutlinetext (...)}}
+% \hypertarget{mpliboutlinetext}{}\relax
+% From v2.31, a new \metapost operator |mpliboutlinetext| is available, which mimicks
+% \emph{metafun}'s |outlinetext|. So the syntax is the same: see the \emph{metafun}
+% manual \S\,8.7 (|texdoc metafun|). A simple example:
+%\begin{verbatim}
% draw mpliboutlinetext.b ("$\sqrt{2+\alpha}$")
% (withcolor \mpcolor{red!50})
% (withpen pencircle scaled .2 withcolor red)
% scaled 2 ;
-% \end{verbatim}
-% After the process of |mpliboutlinetext|, |mpliboutlinepic[]|
+%\end{verbatim}
+% After the process, |mpliboutlinepic[]|
% and |mpliboutlinenum| will be preserved as global variables;
-% |mpliboutlinepic[1]| \ldots{} |mpliboutlinepic[mpliboutlinenum]|
+% |mpliboutlinepic[1]| |...| |mpliboutlinepic[mpliboutlinenum]|
% will be an array of images each of which containing a glyph or a rule.
+%
% \textsc{n.b.} As Unicode grapheme cluster is not considered in the array, a unit that must be
% a single cluster might be separated apart.
%
-% \paragraph{\cs{mppattern} \ldots\ \cs{endmppattern}, \texttt{withpattern}}
-% |\mppattern{<name>}| \ldots\ |\endmppattern| defines a tiling pattern
+% \paragraph{\cs{mppattern\{...\} ...} \cs{endmppattern}, \texttt{... withpattern ...}}
+% \hypertarget{mppattern}{}\relax
+% \TeX\ macros
+% \cs{mppattern\{<name>\}} |...| \cs{endmppattern} define a tiling pattern
% associated with the |<name>|.
-% MetaPost operator |withpattern|, the syntax being
-% \textit{path} |withpattern| \textit{string}, will return a metapost picture which fills
-% the given path with a tiling pattern of the |<name>|.
-% \begin{verbatim}
-% \mppattern{mypatt} % or \begin{mppattern}{mypatt}
-% [ % options: see below
-% xstep = 10, ystep = 12,
-% matrix = {0,1,-1,0}, % or "0 1 -1 0"
-% ]
-% \mpfig % or any other TeX code,
-% picture q;
-% q := btex Q etex;
-% fill bbox q withcolor .8[red,white];
-% draw q withcolor .8red;
-% \endmpfig
-% \endmppattern % or \end{mppattern}
+% \metapost operator |withpattern|, the syntax being
+% \emph{<path>}\,\textbar\,\emph{<textual picture>} |withpattern| \emph{<string>},
+% will return a \metapost picture which fills
+% the given path or text with a tiling pattern of the |<name>|
+% by replicating it horizontally and vertically.
+% The \emph{textual picture} here means any text typeset by \TeX, mostly the result
+% of the |btex| command (though technically this is not a true textual picture)
+% or the |infont| operator.
%
-% \mpfig
-% fill fullcircle scaled 100 withpostscript "collect";
-% draw unitsquare shifted - center unitsquare scaled 45
-% withpattern "mypatt"
-% withpostscript "evenodd" ;
-% \endmpfig
-% \end{verbatim}
-% The available options are:
-% \begin{center}
+% An example:
+%\begin{verbatim}
+% \mppattern{mypatt} % or \begin{mppattern}{mypatt}
+% [ % options: see below
+% xstep = 10,
+% ystep = 12,
+% matrix = {0, 1, -1, 0}, % or "0 1 -1 0"
+% ]
+% \mpfig % or any other TeX code,
+% draw (origin--(1,1))
+% scaled 10
+% withcolor 1/3[blue,white]
+% ;
+% draw (up--right)
+% scaled 10
+% withcolor 1/3[red,white]
+% ;
+% \endmpfig
+% \endmppattern % or \end{mppattern}
+%
+% \mpfig
+% draw fullcircle scaled 90
+% withpostscript "collect"
+% ;
+% draw fullcircle scaled 200
+% withpattern "mypatt"
+% withpen pencircle scaled 1
+% withcolor \mpcolor{red!50!blue!50}
+% withpostscript "evenodd"
+% ;
+% \endmpfig
+%\end{verbatim}
+%
+% The available options are listed in Table~\ref{tab:mppatternoptions}.
+% \begin{table}
+% \centering
+% \caption{options for \cs{mppattern}}\label{tab:mppatternoptions}
% \begin{tabular}{lll}\hline
% Key & Value Type & Explanation\\\hline
-% |xstep| &\textit{number} & horizontal spacing between pattern cells\\
-% |ystep| &\textit{number} & vertical spacing between pattern cells\\
-% |xshift| &\textit{number} & horizontal shifting of pattern cells\\
-% |yshift| &\textit{number} & vertical shifting of pattern cells\\
-% |matrix| &\textit{table} or \textit{string} & |xx|, |yx|, |xy|, |yy| values\kern1pt* or MP transform code\\
-% |bbox| &\textit{table} or \textit{string} & |llx|, |lly|, |urx|, |ury| values\kern1pt*\\
-% |resources|&\textit{string} & PDF resources if needed\\
-% |colored| or |coloured| &\textit{boolean}& |false| for uncolored pattern. default: |true|\\\hline
+% |xstep| &\emph{number} & horizontal spacing between pattern cells\\
+% |ystep| &\emph{number} & vertical spacing between pattern cells\\
+% |xshift| &\emph{number} & horizontal shifting of pattern cells\\
+% |yshift| &\emph{number} & vertical shifting of pattern cells\\
+% |bbox| &\emph{table} or \emph{string} & |llx|, |lly|, |urx|, |ury| values\kern1pt*\\
+% |matrix| &\emph{table} or \emph{string} & |xx|, |yx|, |xy|, |yy| values\kern1pt* or MP transform code\\
+% |resources|&\emph{string} & PDF resources if needed\\
+% |colored| or |coloured| &\emph{boolean}& |false| for uncolored pattern. default: |true|\\\hline
% & & \small *\,in string type, numbers are separated by spaces\\
% \end{tabular}
-% \end{center}
+% \end{table}
%
-% For the sake of convenience, width and height values of tiling patterns will be written down
+% For the sake of convenience, the width and height values of tiling patterns will be written down
% into the log file. (depth is always zero.) Users can refer to them for option setting.
%
-% As for |matrix| option, metapost code such as `|rotated 30 slanted .2|' is allowed as well
+% As for |matrix| option, \metapost code such as `|rotated 30 slanted .2|' is allowed as well
% as string or table of four numbers. You can also set |xshift| and |yshift|
% values by using `|shifted|' operator. But when |xshift| or |yshift| option is explicitly
% given, they have precedence over the effect of `|shifted|' operator.
@@ -598,45 +715,257 @@ See source file '\inFileName' for licencing and contact information.
% is not needed in most cases.
%
% Option |colored=false| (|coloured| is a synonym of |colored|) will generate an uncolored pattern which shall have no color at all.
-% Uncolored pattern will be painted later by the color of a metapost object.
+% Uncolored pattern will be painted later by the color of a \metapost object.
% An example:
-% \begin{verbatim}
-% \begin{mppattern}{pattuncolored}
+%\begin{verbatim}
+% \begin{mppattern}{pattnocolor}
% [
% colored = false,
-% matrix = "rotated 30",
+% matrix = "slanted .3 rotated 30",
% ]
% \tiny\TeX
% \end{mppattern}
%
% \begin{mplibcode}
% beginfig(1)
-% picture tex; tex := mpliboutlinetext.p ("\bfseries \TeX");
-% i:=0;
-% for item within tex:
-% i:=i+1;
-% if i < length tex:
-% fill pathpart item scaled 10
-% withpostscript "collect";
-% else:
+% picture tex;
+% tex = mpliboutlinetext.p ("\bfseries \TeX");
+% for i=1 upto mpliboutlinenum:
+% j:=0;
+% for item within mpliboutlinepic[i]:
+% j:=j+1;
% draw pathpart item scaled 10
-% withpattern "pattuncolored"
-% withpen pencircle scaled 0.5
-% withcolor 0.7 blue % paints the pattern
-% ;
-% fi
+% if j < length mpliboutlinepic[i]:
+% withpostscript "collect"
+% else:
+% withpattern "pattnocolor"
+% withpen pencircle scaled 1/2
+% withcolor (i/4)[red,blue] % paints the pattern
+% fi;
+% endfor
% endfor
% endfig;
% \end{mplibcode}
-% \end{verbatim}
+%\end{verbatim}
+% A much simpler and efficient way to obtain a similar result
+% (without colorful characters in this example)
+% is to give a \emph{textual picture} as the operand of |withpattern|:
+%\begin{verbatim}
+% \begin{mplibcode}
+% beginfig(2)
+% picture pic;
+% pic = mplibgraphictext "\bfseries\TeX"
+% fakebold 1/2
+% fillcolor 1/3[red,blue] % paints the pattern
+% drawcolor 2/3[red,blue]
+% scaled 10 ;
+% draw pic withpattern "pattnocolor" ;
+% endfig;
+% \end{mplibcode}
+%\end{verbatim}
+%
+% \paragraph{\texttt{... withfademethod ...}}
+% This is a \metapost operator which makes the color of an object gradiently transparent.
+% The syntax is \emph{<path>}\texttt{\textbar}\emph{<picture>} |withfademethod| \emph{<string>},
+% the latter being either |"linear"| or |"circular"|.
+% Though it is similar to the |withshademethod| from \emph{metafun},
+% the differences are: (1) the operand of |withfademethod| can be a picture as well as a path;
+% (2) you cannot make gradient colors, but can only make gradient opacity.
+%
+% Related macros to control optional values are:
+% \begin{description}
+% \let\bfseries\relax
+% \item [|withfadeopacity (|\emph{number, number}|)|]
+% sets the starting opacity and the ending opacity, default value being |(1,0)|.
+% `|1|' denotes full color; `|0|' full transparency.
+% \item [|withfadevector (|\emph{pair, pair}|)|]
+% sets the starting and ending points. Default value in the linear mode is
+% |(llcorner p, lrcorner p)|, where |p| is the operand,
+% meaning that fading starts from the left edge and ends at the right edge.
+% Default value in the circular mode is |(center p, center p)|, which means
+% centers of both starting and ending circles are the center of the bounding box.
+% \item [|withfadecenter|] is a synonym of |withfadevector|.
+% \item [|withfaderadius (|\emph{number, number}|)|]
+% sets the radii of starting and ending circles. This is no-op in the linear mode.
+% Default value is |(0, abs(center p - urcorner p))|, meaning that fading starts from the
+% center and ends at the four corners of the bounding box.
+% \item [|withfadebbox (|\emph{pair, pair}|)|]
+% sets the bounding box of the fading area, default value being |(llcorner p, urcorner p)|.
+% Though this option is not needed in most cases, there could be cases when users want to
+% explicitly control the bounding box.
+% Particularly, see the description \hyperlink{withgroupbbox}{below}
+% on the analogous macro |withgroupbbox|.
+% \end{description}
+% An example:
+%\begin{verbatim}
+% \mpfig
+% picture mill;
+% mill = btex \includegraphics[width=100bp]{mill} etex;
+% draw mill
+% withfademethod "circular"
+% withfadecenter (center mill, center mill)
+% withfaderadius (20, 50)
+% withfadeopacity (1, 0)
+% ;
+% \endmpfig
+%\end{verbatim}
+%
+% \paragraph{\texttt{... asgroup ...}}
+% \hypertarget{transparencygroup}{}\relax
+% As said \hyperlink{metafunformat}{before},
+% transparency group is available with \emph{plain} as well as \emph{metafun} format.
+% The syntax is exactly the same:
+% \emph{<picture>} \textbar\ \emph{<path>} |asgroup|
+% |""| \textbar\ |"isolated"| \textbar\ |"knockout"| \textbar\ |"isolated,knockout"|,
+% which will return a \metapost picture.
+% It is called \emph{Transparency Group} because the objects contained in the group are composited
+% to produce a single object, so that outer transparency effect, if any,
+% will be applied to the group as a whole, not to the individual objects cumulatively.
+%
+% The additional feature provided by luamplib is that
+% you can reuse the group as many times as you want
+% in the \TeX{} code or in other \metapost code chunks,
+% with infinitesimal increase in the size of PDF file.
+% For this functionality we provide \TeX{} and \metapost macros as follows:
+% \begin{description}
+% \let\bfseries\relax
+% \item[|withgroupname| \emph{<string>}] associates a transparency group with the given name.
+% When this is not appended to the sentense with |asgroup| operator,
+% the default group name `|lastmplibgroup|' will be used.
+%
+% \item[\cs{usemplibgroup\{...\}}]
+% \hypertarget{usemplibgroup}{}\relax
+% is a \TeX\ command to reuse a transparency group of the name
+% once used.
+% Note that the position of the group will be origin-based:
+% in other words, lower-left corner of the group will be shifted to the origin.
+%
+% \item[|usemplibgroup| \emph{<string>}] is a \metapost command which will add
+% a transparency group of the name to the |currentpicture|.
+% Contrary to the \TeX\ command just mentioned,
+% the position of the group is the same as the original transparency group.
+%
+% \item[|withgroupbbox (|\emph{pair}|,|\emph{pair}|)|]
+% \hypertarget{withgroupbbox}{}\relax
+% sets the bounding box of the transparency group,
+% default value being |(llcorner p, urcorner p)|.
+% This option might be needed especially when you draw with a thick pen
+% a path that touches the boundary;
+% you would probably want to append to the sentense
+% `|withgroupbbox| |(bot| |lft| |llcorner| |p,| |top| |rt| |urcorner| |p)|',
+% supposing that the pen was selected by the |pickup| command.
+%
+% \end{description}
+% An example showing the difference between the \TeX\ and \metapost commands:
+%\begin{verbatim}
+% \mpfig
+% draw image(
+% fill fullcircle scaled 100 shifted 25right withcolor .5[blue,white];
+% fill fullcircle scaled 100 withcolor .5[red,white] ;
+% ) asgroup ""
+% withgroupname "mygroup";
+% draw (left--right) scaled 10;
+% draw (up--down) scaled 10;
+% \endmpfig
+%
+% \noindent
+% \clap{\vrule width 20pt height .25pt depth .25pt}%
+% \clap{\vrule width .5pt height 10pt depth 10pt}%
+% \usemplibgroup{mygroup}
+%
+% \mpfig
+% usemplibgroup "mygroup" rotated 15;
+% draw (left--right) scaled 10;
+% draw (up--down) scaled 10;
+% \endmpfig
+%\end{verbatim}
+%
+% Also note that normally the reused transparency groups are not affected by outer color commands.
+% However, if you have made the original transparency group using |withoutcolor| command,
+% colors will have effects on the uncolored objects in the group.
+%
+% \paragraph{\cs{mplibgroup\{...\} ...} \cs{endmplibgroup}}
+% These \TeX\ macros are described here in this subsection, as they are
+% deeply related to the |asgroup| operator.
+% Users can define a transparency group or a normal \emph{form XObject}
+% with these macros from \TeX\ side.
+% The syntax is similar to the \cs{mppattern} command (see \hyperlink{mppattern}{above}).
+% An example:
+%\begin{verbatim}
+% \mplibgroup{mygrx} % or \begin{mplibgroup}{mygrx}
+% [ % options: see below
+% asgroup="",
+% ]
+% \mpfig % or any other TeX code
+% pickup pencircle scaled 10;
+% draw (left--right) scaled 30 rotated 45 ;
+% draw (left--right) scaled 30 rotated -45 ;
+% \endmpfig
+% \endmplibgroup % or \end{mplibgroup}
+%
+% \usemplibgroup{mygrx}
+%
+% \mpfig
+% usemplibgroup "mygrx"
+% scaled 1.5
+% withprescript "tr_transparency=0.5" ;
+% \endmpfig
+%\end{verbatim}
+%
+% Availabe options, much fewer than those for \cs{mppattern},
+% are listed in Table~\ref{tab:mplibgroupoptions}.
+% Again, the width/height/depth values of the mplibgroup will be written down into the log file.
+% \begin{table}
+% \centering
+% \caption{options for \cs{mplibgroup}}\label{tab:mplibgroupoptions}
+% \begin{tabular}{lll}
+% \hline
+% Key & Value Type & Explanation\\
+% \hline
+% |asgroup| &\emph{string} & |""|, |"isolated"|, |"knockout"|, or |"isolated,knockout"|\\
+% |bbox| &\emph{table} or \emph{string} & |llx|, |lly|, |urx|, |ury| values\kern1pt*\\
+% |matrix| &\emph{table} or \emph{string} & |xx|, |yx|, |xy|, |yy| values\kern1pt*
+% or MP transform code\\
+% |resources| &\emph{string} & PDF resources if needed\\
+% \hline
+% & & \small *\,in string type, numbers are separated by spaces\\
+% \end{tabular}
+% \end{table}
+%
+% When |asgroup| option, including empty string, is not given,
+% a normal form XObject will be generated rather than a transparency group.
+% Thus the individual objects, not the XObject as a whole, will be affected
+% by outer transparency command.
+%
+% As shown in the example, you can reuse the mplibgroup once defined
+% using the \TeX\ command \cs{usemplibgroup} or
+% the \metapost command |usemplibgroup|.
+% The behavior of these commands is the same as that described \hyperlink{usemplibgroup}{above}.
+%
+%
+% \subsection{Lua}
+%
+% \paragraph{\texttt{runscript ...}}
+% Using the primitive |runscript| \emph{<string>}, you can run a Lua code chunk from \metapost side
+% and get some \metapost code returned by Lua if you want.
+% As the functionality is provided by the \mplib library itself,
+% luamplib does not have much to say about it.
+%
+% One thing is worth mentioning, however:
+% if you return a Lua \emph{table} to the \metapost process,
+% it is automatically converted to a relevant \metapost value type
+% such as pair, color, cmykcolor or transform.
+% So users can save some extra toil of converting a table to a string, though it's not a big deal.
+% For instance, |runscript "return {1,0,0}"| will give you the \metapost color expression |(1,0,0)|
+% automatically.
%
% \paragraph{Lua table \texttt{luamplib.instances}}
-% Users can access the Lua table containing mplib instances, |luamplib.instances|,
-% through which metapost variables are also easily accessible
-% as documented in Lua\TeX{} manual \textsection\,11.2.8.4 (|texdoc luatex|).
+% Users can access the Lua table containing \mplib instances, |luamplib.instances|,
+% through which \metapost variables are also easily accessible from Lua side,
+% as documented in Lua\TeX{} manual \S\,11.2.8.4 (|texdoc luatex|).
% The following will print |false|, |3.0|, |MetaPost| and
-% the points and the cyclicity of the path |unitsquare|, consecutively.
-% \begin{verbatim}
+% the knots and the cyclicity of the path |unitsquare|, consecutively.
+%\begin{verbatim}
% \begin{mplibcode}[instance1]
% boolean b; b = 1 > 2;
% numeric n; n = 3;
@@ -646,37 +975,46 @@ See source file '\inFileName' for licencing and contact information.
%
% \directlua{
% local instance1 = luamplib.instances.instance1
-% print( instance1:get_boolean"b" )
-% print( instance1:get_number"n" )
-% print( instance1:get_string"s" )
-% local t = instance1:get_path"p"
+% print( instance1:get_boolean "b" )
+% print( instance1:get_number "n" )
+% print( instance1:get_string "s" )
+% local t = instance1:get_path "p"
% for k,v in pairs(t) do
% print(k, type(v)=='table' and table.concat(v,' ') or v)
% end
% }
-% \end{verbatim}
-% In this way, it would not be difficult to define a paragraph shape
-% (using \cs{parshape} \TeX\ primitive) which follows an arbitrary metapost path.
-%
-% \paragraph{About figure box metrics}
-% Notice that, after each figure is processed, macro \cs{MPwidth} stores
-% the width value of latest figure; \cs{MPheight}, the height value.
-% Incidentally, also note that \cs{MPllx}, \cs{MPlly}, \cs{MPurx}, and
-% \cs{MPury} store the bounding box information of latest figure
-% without the unit |bp|.
-%
-% \paragraph{luamplib.cfg}
-% At the end of package loading, \textsf{luamplib} searches
-% |luamplib.cfg| and, if found, reads the file in automatically.
-% Frequently used settings such as \cs{everymplib}, \cs{mplibforcehmode}
-% or \cs{mplibcodeinherit} are suitable for going into this file.
-%
-% \bigskip
+%\end{verbatim}
+%
+% \paragraph{Lua function \texttt{luamplib.process\_mplibcode}}
+% Users can execute a \metapost code chunk from Lua side by using this function:
+%\begin{verbatim}
+% luamplib.process_mplibcode (<string> metapost code, <string> instance name)
+%\end{verbatim}
+% The second argument cannot be absent, but can be an empty string (|""|) which
+% means that it has no instance name.
+%
+% Some other elements in the |luamplib| namespace, listed in Table~\ref{tab:elementsinluamplib},
+% can have effects on the process of |process_mplibcode|.
+% \begin{table}
+% \centering
+% \caption{elements in \texttt{luamplib} table (partial)}\label{tab:elementsinluamplib}
+% \begin{tabular}{lll}\hline
+% Key & Type & Related \TeX\ macro \\\hline
+% |codeinherit| & \emph{boolean} & \cs{mplibcodeinherit}\\
+% |everyendmplib| & \emph{table} & \cs{everyendmplib}\\
+% |everymplib| & \emph{table} & \cs{everymplib}\\
+% |getcachedir| & \emph{function} (\emph{<string>}) & \cs{mplibcachedir}\\
+% |globaltextext| & \emph{boolean} & \cs{mplibglobaltextext}\\
+% |legacyverbatimtex| & \emph{boolean} & \cs{mpliblegacybehavior}\\
+% |noneedtoreplace| & \emph{table} & \cs{mplibmakenocache}\\
+% |numbersystem| & \emph{string} & \cs{mplibnumbersystem}\\
+% |setformat| & \emph{function} (\emph{<string>}) & \cs{mplibsetformat}\\
+% |showlog| & \emph{boolean} & \cs{mplibshowlog}\\
+% |textextlabel| & \emph{boolean} & \cs{mplibtextextlabel}\\
+% |verbatiminput| & \emph{boolean} & \cs{mplibverbatim}\\\hline
+% \end{tabular}
+% \end{table}
%
-% There are (basically) two formats for metapost: \emph{plain} and
-% \emph{metafun}. By default, the \emph{plain} format is used, but you can set
-% the format to be used by future figures at any time using
-% \cs{mplibsetformat}\marg{format name}.
%
% \section{Implementation}
%
@@ -690,14 +1028,14 @@ See source file '\inFileName' for licencing and contact information.
luatexbase.provides_module {
name = "luamplib",
- version = "2.32.3",
- date = "2024/06/21",
+ version = "2.34.5",
+ date = "2024/08/03",
description = "Lua package to typeset Metapost with LuaTeX's MPLib.",
}
% \end{macrocode}
%
-% Use the |luamplib| namespace, since |mplib| is for the metapost library
+% Use the |luamplib| namespace, since |mplib| is for the \metapost library
% itself. \ConTeXt{} uses |metapost|.
% \begin{macrocode}
luamplib = luamplib or { }
@@ -733,7 +1071,6 @@ local function termorlog (target, text, kind)
if kind == "Error" then error() end
end
end
-
local function warn (...) -- beware '%' symbol
termorlog("term and log", select("#",...) > 1 and format(...) or ...)
end
@@ -749,33 +1086,23 @@ luamplib.showlog = luamplib.showlog or false
% \end{macrocode}
%
% This module is a stripped down version of libraries that are used by
-% \ConTeXt. Provide a few ``shortcuts'' expected by the imported code.
+% \ConTeXt. Provide a few ``shortcuts'' expected by the code.
% \begin{macrocode}
local tableconcat = table.concat
local tableinsert = table.insert
+local tableunpack = table.unpack
local texsprint = tex.sprint
local texgettoks = tex.gettoks
local texgetbox = tex.getbox
local texruntoks = tex.runtoks
-% \end{macrocode}
-%
-% We don't use |tex.scantoks| anymore. See below reagrding |tex.runtoks|.
-% \begin{verbatim}
-% local texscantoks = tex.scantoks
-% \end{verbatim}
-% \begin{macrocode}
-
if not texruntoks then
err("Your LuaTeX version is too old. Please upgrade it to the latest")
end
-
local is_defined = token.is_defined
local get_macro = token.get_macro
-
local mplib = require ('mplib')
local kpse = require ('kpse')
local lfs = require ('lfs')
-
local lfsattributes = lfs.attributes
local lfsisdir = lfs.isdir
local lfsmkdir = lfs.mkdir
@@ -791,7 +1118,6 @@ local file = file or { }
local replacesuffix = file.replacesuffix or function(filename, suffix)
return (filename:gsub("%.[%a%d]+$","")) .. "." .. suffix
end
-
local is_writable = file.is_writable or function(name)
if lfsisdir(name) then
name = name .. "/_luam_plib_temp_file_"
@@ -813,14 +1139,11 @@ end
% \end{macrocode}
%
% |btex ... etex| in input |.mp| files will be replaced in finder.
-% Because of the limitation of MPLib regarding |make_text|,
+% Because of the limitation of \mplib regarding |make_text|,
% we might have to make cache files modified from input files.
% \begin{macrocode}
-local luamplibtime = kpse.find_file("luamplib.lua")
-luamplibtime = luamplibtime and lfsattributes(luamplibtime,"modification")
-
+local luamplibtime = lfsattributes(kpse.find_file"luamplib.lua", "modification")
local currenttime = os.time()
-
local outputdir, cachedir
if lfstouch then
for i,v in ipairs{'TEXMFVAR','TEXMF_OUTPUT_DIRECTORY','.','TEXMFOUTPUT'} do
@@ -857,10 +1180,9 @@ function luamplib.getcachedir(dir)
end
end
end
-
% \end{macrocode}
%
-% Some basic MetaPost files not necessary to make cache files.
+% Some basic \metapost files not necessary to make cache files.
% \begin{macrocode}
local noneedtoreplace = {
["boxes.mp"] = true, -- ["format.mp"] = true,
@@ -879,7 +1201,6 @@ local noneedtoreplace = {
["mp-tool.mpiv"] = true, ["mp-cont.mpiv"] = true,
}
luamplib.noneedtoreplace = noneedtoreplace
-
% \end{macrocode}
%
% |format.mp| is much complicated, so specially treated.
@@ -901,7 +1222,6 @@ local function replaceformatmp(file,newfile,ofmodify)
lfstouch(newfile,currenttime,ofmodify)
return newfile
end
-
% \end{macrocode}
%
% Replace |btex ... etex| and |verbatimtex ... etex| in input files,
@@ -911,7 +1231,6 @@ local name_b = "%f[%a_]"
local name_e = "%f[^%a_]"
local btex_etex = name_b.."btex"..name_e.."%s*(.-)%s*"..name_b.."etex"..name_e
local verbatimtex_etex = name_b.."verbatimtex"..name_e.."%s*(.-)%s*"..name_b.."etex"..name_e
-
local function replaceinputmpfile (name,file)
local ofmodify = lfsattributes(file,"modification")
if not ofmodify then return file end
@@ -924,23 +1243,19 @@ local function replaceinputmpfile (name,file)
return nf.size == 0 and file or newfile
end
end
-
if name == "format.mp" then return replaceformatmp(file,newfile,ofmodify) end
-
local fh = ioopen(file,"r")
if not fh then return file end
local data = fh:read("*all"); fh:close()
-
% \end{macrocode}
-% ``|etex|'' must be followed by a space or semicolon as specified in
-% \LuaTeX\ manual, which is not the case of standalone MetaPost though.
+% ``|etex|'' must be preceded by a space and followed by a space or semicolon as specified in
+% \LuaTeX\ manual, which is not the case of standalone \metapost though.
% \begin{macrocode}
local count,cnt = 0,0
data, cnt = data:gsub(btex_etex, "btex %1 etex ") -- space
count = count + cnt
data, cnt = data:gsub(verbatimtex_etex, "verbatimtex %1 etex;") -- semicolon
count = count + cnt
-
if count == 0 then
noneedtoreplace[name] = true
fh = ioopen(newfile,"w");
@@ -950,7 +1265,6 @@ local function replaceinputmpfile (name,file)
end
return file
end
-
fh = ioopen(newfile,"w")
if not fh then return file end
fh:write(data); fh:close()
@@ -960,8 +1274,8 @@ end
% \end{macrocode}
%
-% As the finder function for MPLib, use the |kpse| library and
-% make it behave like as if MetaPost was used. And replace it with
+% As the finder function for \mplib, use the |kpse| library and
+% make it behave like as if \metapost was used. And replace |.mp| files with
% cache files if needed.
% See also \#74, \#97.
% \begin{macrocode}
@@ -973,12 +1287,10 @@ do
end
mpkpse = kpse.new(arg[exe], "mpost")
end
-
local special_ftype = {
pfb = "type1 fonts",
enc = "enc files",
}
-
function luamplib.finder (name, mode, ftype)
if mode == "w" then
if name and name ~= "mpout.log" then
@@ -1004,9 +1316,9 @@ end
% \end{macrocode}
%
-% Create and load MPLib instances.
-% We do not support ancient version of MPLib any more.
-% (Don't know which version of MPLib started to support
+% Create and load \mplib instances.
+% We do not support ancient version of \mplib any more.
+% (Don't know which version of \mplib started to support
% |make_text| and |run_script|; let the users find it.)
% \begin{macrocode}
local preamble = [[
@@ -1015,17 +1327,15 @@ local preamble = [[
let normalfontsize = fontsize;
input %s ;
]]
-
% \end{macrocode}
%
-% |plain| or |metafun|,
-% though we cannot support |metafun| format fully.
+% \emph{plain} or \emph{metafun},
+% though we cannot support \emph{metafun} format fully.
% \begin{macrocode}
local currentformat = "plain"
function luamplib.setformat (name)
currentformat = name
end
-
% \end{macrocode}
%
% v2.9 has introduced the concept of ``code inherit''
@@ -1034,7 +1344,6 @@ luamplib.codeinherit = false
local mplibinstances = {}
luamplib.instances = mplibinstances
local has_instancename = false
-
local function reporterror (result, prevlog)
if not result then
err("no result object returned")
@@ -1061,7 +1370,7 @@ local function reporterror (result, prevlog)
% \end{macrocode}
% v2.6.1: now luamplib does not disregard |show| command,
% even when |luamplib.showlog| is false. Incidentally,
-% it does not raise error but just prints an info,
+% it does not raise error nor prints an info,
% even if output has no figure.
% \begin{macrocode}
local show = log:match"\n>>? .+"
@@ -1075,17 +1384,20 @@ local function reporterror (result, prevlog)
return log
end
end
-
+% \end{macrocode}
+%
+% |lualibs-os.lua| installs a randomseed. When this file is not loaded,
+% we should explicitly seed a unique integer to get random randomseed for each run.
+% \begin{macrocode}
+if not math.initialseed then math.randomseed(currenttime) end
local function luamplibload (name)
local mpx = mplib.new {
ini_version = true,
find_file = luamplib.finder,
% \end{macrocode}
% Make use of |make_text| and |run_script|, which will co-operate
-% with \LuaTeX's |tex.runtoks|. And we
-% provide |numbersystem| option since v2.4. Default value ``|scaled|''
-% can be changed by declaring |\mplibnumbersystem{double}|
-% or |\mplibnumbersystem{decimal}|.
+% with \LuaTeX's |tex.runtoks| or other Lua functions. And we
+% provide |numbersystem| option since v2.4.
% See \url{https://github.com/lualatex/luamplib/issues/21}.
% \begin{macrocode}
make_text = luamplib.maketext,
@@ -1096,12 +1408,12 @@ local function luamplibload (name)
extensions = 1,
}
% \end{macrocode}
-% Append our own MetaPost preamble to the preamble above.
+% Append our own \metapost preamble to the preamble above.
% \begin{macrocode}
local preamble = tableconcat{
format(preamble, replacesuffix(name,"mp")),
luamplib.preambles.mplibcode,
- luamplib.legacy_verbatimtex and luamplib.preambles.legacyverbatimtex or "",
+ luamplib.legacyverbatimtex and luamplib.preambles.legacyverbatimtex or "",
luamplib.textextlabel and luamplib.preambles.textextlabel or "",
}
local result, log
@@ -1113,22 +1425,12 @@ local function luamplibload (name)
log = reporterror(result)
return mpx, result, log
end
-
% \end{macrocode}
%
% Here, excute each |mplibcode| data,
% ie |\begin{mplibcode} ... \end{mplibcode}|.
% \begin{macrocode}
local function process (data, instancename)
-% \end{macrocode}
-% The workaround of issue \#70 seems to be unnecessary, as we use
-% |make_text| now.
-% \begin{verbatim}
-% if not data:find(name_b.."beginfig%s*%([%+%-%s]*%d[%.%d%s]*%)") then
-% data = data .. "beginfig(-1);endfig;"
-% end
-% \end{verbatim}
-% \begin{macrocode}
local currfmt
if instancename and instancename ~= "" then
currfmt = instancename
@@ -1138,7 +1440,7 @@ local function process (data, instancename)
currentformat,
luamplib.numbersystem or "scaled",
tostring(luamplib.textextlabel),
- tostring(luamplib.legacy_verbatimtex),
+ tostring(luamplib.legacyverbatimtex),
}
has_instancename = false
end
@@ -1172,40 +1474,30 @@ end
% |dvipdfmx| is supported, though nobody seems to use it.
% \begin{macrocode}
local pdfmode = tex.outputmode > 0
+
% \end{macrocode}
%
-% |make_text| and some |run_script| uses \LuaTeX's |tex.runtoks|,
-% which made possible running \TeX\ code snippets inside |\directlua|.
+% |make_text| and some |run_script| uses \LuaTeX's |tex.runtoks|.
% \begin{macrocode}
local catlatex = luatexbase.registernumber("catcodetable@latex")
local catat11 = luatexbase.registernumber("catcodetable@atletter")
-
% \end{macrocode}
%
% |tex.scantoks| sometimes fail to read catcode properly, especially
% |\#|, |\&|, or |\%|. After some experiment, we dropped using it.
-% Instead, a function containing |tex.script| seems to work nicely.
-% \begin{verbatim}
-% local function run_tex_code_no_use (str, cat)
-% cat = cat or catlatex
-% texscantoks("mplibtmptoks", cat, str)
-% texruntoks("mplibtmptoks")
-% end
-% \end{verbatim}
+% Instead, a function containing |tex.sprint| seems to work nicely.
% \begin{macrocode}
local function run_tex_code (str, cat)
texruntoks(function() texsprint(cat or catlatex, str) end)
end
-
% \end{macrocode}
%
-% Prepare textext box number containers,
-% locals, globals and possibly instances.
+% Prepare textext box number containers, locals and globals.
% |localid| can be any number. They are local anyway.
% The number will be reset at the start of a new code chunk.
% Global boxes will use |\newbox| command in |tex.runtoks| process.
-% This is the same when |codeinherit| is declared as true.
-% Boxes of an instance will also be global, so that
+% This is the same when |codeinherit| is true.
+% Boxes in instances with name will also be global, so that
% their tex boxes can be shared among instances of the same name.
% \begin{macrocode}
local texboxes = { globalid = 0, localid = 4096 }
@@ -1213,11 +1505,9 @@ local texboxes = { globalid = 0, localid = 4096 }
% For conversion of |sp| to |bp|.
% \begin{macrocode}
local factor = 65536*(7227/7200)
-
local textext_fmt = 'image(addto currentpicture doublepath unitsquare \z
-xscaled %f yscaled %f shifted (0,-%f) \z
-withprescript "mplibtexboxid=%i:%f:%f")'
-
+ xscaled %f yscaled %f shifted (0,-%f) \z
+ withprescript "mplibtexboxid=%i:%f:%f")'
local function process_tex_text (str)
if str then
local global = (has_instancename or luamplib.globaltextext or luamplib.codeinherit)
@@ -1247,7 +1537,6 @@ end
% Make |color| or |xcolor|'s color expressions usable,
% with \cs{mpcolor} or |mplibcolor|. These commands should be used
% with graphical objects.
-%
% Attempt to support l3color as well.
% \begin{macrocode}
local mplibcolorfmt = {
@@ -1263,7 +1552,6 @@ local mplibcolorfmt = {
[[\color_select:n%s\endgroup]],
},
}
-
local colfmt = is_defined'color_select:n' and "l3color" or "xcolor"
if colfmt == "l3color" then
run_tex_code{
@@ -1277,7 +1565,6 @@ if colfmt == "l3color" then
}
end
local ccexplat = luatexbase.registernumber"luamplibcctabexplat"
-
local function process_color (str)
if str then
if not str:find("%b{}") then
@@ -1338,20 +1625,18 @@ end
%
% For legacy verbatimtex process.
% |verbatimtex ... etex| before |beginfig()| is not ignored,
-% but the \TeX\ code is inserted just before the mplib box. And
-% \TeX\ code inside |beginfig() ... endfig| is inserted after the mplib box.
+% but the \TeX\ code is inserted just before the \mplib box. And
+% \TeX\ code inside |beginfig() ... endfig| is inserted after the \mplib box.
% \begin{macrocode}
local tex_code_pre_mplib = {}
luamplib.figid = 1
luamplib.in_the_fig = false
-
local function process_verbatimtex_prefig (str)
if str then
tex_code_pre_mplib[luamplib.figid] = str
end
return ""
end
-
local function process_verbatimtex_infig (str)
if str then
return format('special "postmplibverbtex=%s";', str)
@@ -1370,17 +1655,16 @@ local runscript_funcs = {
% \end{macrocode}
%
-% For |metafun| format. see issue \#79.
+% For \emph{metafun} format. see issue \#79.
% \begin{macrocode}
mp = mp or {}
local mp = mp
mp.mf_path_reset = mp.mf_path_reset or function() end
mp.mf_finish_saving_data = mp.mf_finish_saving_data or function() end
mp.report = mp.report or info
-
% \end{macrocode}
%
-% metafun 2021-03-09 changes crashes luamplib.
+% \emph{metafun} 2021-03-09 changes crashes luamplib.
% \begin{macrocode}
catcodes = catcodes or {}
local catcodes = catcodes
@@ -1414,7 +1698,6 @@ local function mpprint(buffer,...)
end
end
end
-
function luamplib.runscript (code)
local id, str = code:match("(.-){(.*)}")
if id and str then
@@ -1436,7 +1719,7 @@ function luamplib.runscript (code)
return buffer
end
buffer = {}
- mpprint(buffer, table.unpack(res))
+ mpprint(buffer, tableunpack(res))
return tableconcat(buffer)
end
return ""
@@ -1453,9 +1736,7 @@ local function protecttexcontents (str)
:gsub("%zPerCent%z", "\\%%")
:gsub("%s+", " ")
end
-
-luamplib.legacy_verbatimtex = true
-
+luamplib.legacyverbatimtex = true
function luamplib.maketext (str, what)
if str and str ~= "" then
str = protecttexcontents(str)
@@ -1464,7 +1745,7 @@ function luamplib.maketext (str, what)
not str:find("\\begin%s*{document}") and
not str:find("\\documentstyle"..name_e) and
not str:find("\\usepackage"..name_e) then
- if luamplib.legacy_verbatimtex then
+ if luamplib.legacyverbatimtex then
if luamplib.in_the_fig then
return process_verbatimtex_infig(str)
else
@@ -1483,13 +1764,13 @@ end
% \end{macrocode}
%
-% luamplib's metapost color operators
+% luamplib's \metapost color operators
% \begin{macrocode}
local function colorsplit (res)
- local t, tt = { }, res:gsub("[%[%]]",""):explode()
+ local t, tt = { }, res:gsub("[%[%]]","",2):explode()
local be = tt[1]:find"^%d" and 1 or 2
for i=be, #tt do
- if tt[i]:find"^%a" then break end
+ if not tonumber(tt[i]) then break end
t[#t+1] = tt[i]
end
return t
@@ -1523,7 +1804,7 @@ luamplib.shadecolor = function (str)
if res:find" cs " or res:find"@pdf.obj" then -- spot color shade: l3 only
% \end{macrocode}
% An example of spot color shading:
-% \begin{verbatim}
+%\begin{verbatim}
% \documentclass{article}
% \usepackage{luamplib}
% \mplibsetformat{metafun}
@@ -1569,29 +1850,64 @@ luamplib.shadecolor = function (str)
% endfig;
% \end{mplibcode}
% \end{document}
-% \end{verbatim}
+%\end{verbatim}
+% another one: user-defined DeviceN colorspace
+%\begin{verbatim}
+% \DocumentMetadata{ }
+% \documentclass{article}
+% \usepackage{luamplib}
+% \mplibsetformat{metafun}
+% \ExplSyntaxOn
+% \color_model_new:nnn { pantone1215 }
+% { Separation }
+% { name = PANTONE~1215~U ,
+% alternative-model = cmyk ,
+% alternative-values = {0, 0.15, 0.51, 0}
+% }
+% \color_model_new:nnn { pantone+black }
+% { DeviceN }
+% {
+% names = {pantone1215,black}
+% }
+% \color_set:nnn{purepantone}{pantone+black}{1,0}
+% \color_set:nnn{pureblack} {pantone+black}{0,1}
+% \ExplSyntaxOff
+% \begin{document}
+% \mpfig
+% fill unitsquare xscaled \mpdim{\textwidth} yscaled 30
+% withshademethod "linear"
+% withshadecolors ("purepantone","pureblack")
+% ;
+% \endmpfig
+% \end{document}
+%\end{verbatim}
% \begin{macrocode}
run_tex_code({
[[\color_export:nnN{]], str, [[}{backend}\mplib_@tempa]],
},ccexplat)
- local name = get_macro'mplib_@tempa':match'{(.-)}{.+}'
+ local name, value = get_macro'mplib_@tempa':match'{(.-)}{(.-)}'
local t, obj = res:explode()
if pdfmode then
obj = format("%s 0 R", ltx.pdf.object_id( t[1]:sub(2,-1) ))
else
obj = t[2]
end
- local value = t[3]:match"%[(.-)%]" or t[3]
- return format('(%s) withprescript"mplib_spotcolor=%s:%s"', value,obj,name)
+ return format('(1) withprescript"mplib_spotcolor=%s:%s:%s"', value,obj,name)
end
return colorsplit(res)
end
% \end{macrocode}
%
+% Remove trailing zeros for smaller PDF
+% \begin{macrocode}
+local decimals = "%.%d+"
+local function rmzeros(str) return str:gsub("%.?0+$","") end
+
+% \end{macrocode}
+%
% luamplib's mplibgraphictext operator
% \begin{macrocode}
-local running = -1073741824
local emboldenfonts = { }
local function getemboldenwidth (curr, fakebold)
local width = emboldenfonts.width
@@ -1624,13 +1940,14 @@ local function getrulewhatsit (line, wd, ht, dp)
fmt = "pdf:content "..fmt
pl = node.new("whatsit","special")
end
- pl.data = fmt:format(line, 0, -dp, wd, ht+dp, "B")
+ pl.data = fmt:format(line, 0, -dp, wd, ht+dp, "B") :gsub(decimals,rmzeros)
local ss = node.new"glue"
node.setglue(ss, 0, 65536, 65536, 2, 2)
pl.next = ss
return pl
end
local function getrulemetric (box, curr, bp)
+ local running = -1073741824
local wd,ht,dp = curr.width, curr.height, curr.depth
wd = wd == running and box.width or wd
ht = ht == running and box.height or ht
@@ -1682,7 +1999,8 @@ local function embolden (box, curr, fakebold)
head, curr = node.remove(head, curr)
elseif curr.id == node.id"glyph" and curr.font > 0 then
local f = curr.font
- local i = emboldenfonts[f]
+ local key = format("%s:%s",f,fakebold)
+ local i = emboldenfonts[key]
if not i then
local ft = font.getfont(f) or font.getcopy(f)
if pdfmode then
@@ -1698,7 +2016,7 @@ local function embolden (box, curr, fakebold)
name = format('%s;embolden=%s;',name,fakebold)
_, i = fonts.constructors.readanddefine(name,ft.size)
end
- emboldenfonts[f] = i
+ emboldenfonts[key] = i
end
curr.font = i
end
@@ -1710,6 +2028,9 @@ end
local function graphictextcolor (col, filldraw)
if col:find"^[%d%.:]+$" then
col = col:explode":"
+ for i=1,#col do
+ col[i] = format("%.3f", col[i])
+ end
if pdfmode then
local op = #col == 4 and "k" or #col == 3 and "rg" or "g"
col[#col+1] = filldraw == "fill" and op or op:upper()
@@ -1888,7 +2209,7 @@ function luamplib.glyph (f, c)
if not gid then return mperr"cannot get GID (glyph id)" end
local fac = 1000 / (shapedata.units or 1000)
local t = shapedata.glyphs[gid].segments
- if not t then return "image(fill fullcircle scaled 0;)" end
+ if not t then return "image()" end
for i,v in ipairs(t) do
if type(v) == "table" then
for ii,vv in ipairs(v) do
@@ -1907,7 +2228,7 @@ end
% mpliboutlinetext : based on mkiv's font-mps.lua
% \begin{macrocode}
local rulefmt = "mpliboutlinepic[%i]:=image(addto currentpicture contour \z
-unitsquare shifted - center unitsquare;) xscaled %f yscaled %f shifted (%f,%f);"
+ unitsquare shifted - center unitsquare;) xscaled %f yscaled %f shifted (%f,%f);"
local outline_horz, outline_vert
function outline_vert (res, box, curr, xshift, yshift)
local b2u = box.dir == "LTL"
@@ -2142,13 +2463,13 @@ function luamplib.outlinetext (text)
local id = tonumber(fmt:match"mplibtexboxid=(%d+):")
local box = texgetbox(id)
local res = outline_horz({ }, box, box.head, 0, 0)
- if #res == 0 then res = { "mpliboutlinepic[1]:=image(fill fullcircle scaled 0;);" } end
+ if #res == 0 then res = { "mpliboutlinepic[1]:=image();" } end
return tableconcat(res) .. format("mpliboutlinenum:=%i;", #res)
end
% \end{macrocode}
%
-% Our MetaPost preambles
+% Our \metapost preambles
% \begin{macrocode}
luamplib.preambles = {
mplibcode = [[
@@ -2333,7 +2654,13 @@ vardef mpliboutlinetext@# (expr t) text rest =
) mplib_do_outline_options_r; )
enddef ;
primarydef t withpattern p =
- image( fill t withprescript "mplibpattern=" & if numeric p: decimal fi p; )
+ image(
+ if cycle t:
+ fill
+ else:
+ draw
+ fi
+ t withprescript "mplibpattern=" & if numeric p: decimal fi p; )
enddef;
vardef mplibtransformmatrix (text e) =
save t; transform t;
@@ -2347,6 +2674,75 @@ vardef mplibtransformmatrix (text e) =
& decimal ypart t & ","
& "}");
enddef;
+primarydef p withfademethod s =
+ if picture p:
+ image(
+ draw p;
+ draw center p withprescript "mplibfadestate=stop";
+ )
+ else:
+ p withprescript "mplibfadestate=stop"
+ fi
+ withprescript "mplibfadetype=" & s
+ withprescript "mplibfadebbox=" &
+ decimal (xpart llcorner p -1/4) & ":" &
+ decimal (ypart llcorner p -1/4) & ":" &
+ decimal (xpart urcorner p +1/4) & ":" &
+ decimal (ypart urcorner p +1/4)
+enddef;
+def withfadeopacity (expr a,b) =
+ withprescript "mplibfadeopacity=" &
+ decimal a & ":" &
+ decimal b
+enddef;
+def withfadevector (expr a,b) =
+ withprescript "mplibfadevector=" &
+ decimal xpart a & ":" &
+ decimal ypart a & ":" &
+ decimal xpart b & ":" &
+ decimal ypart b
+enddef;
+let withfadecenter = withfadevector;
+def withfaderadius (expr a,b) =
+ withprescript "mplibfaderadius=" &
+ decimal a & ":" &
+ decimal b
+enddef;
+def withfadebbox (expr a,b) =
+ withprescript "mplibfadebbox=" &
+ decimal xpart a & ":" &
+ decimal ypart a & ":" &
+ decimal xpart b & ":" &
+ decimal ypart b
+enddef;
+primarydef p asgroup s =
+ image(
+ draw center p
+ withprescript "mplibgroupbbox=" &
+ decimal (xpart llcorner p -1/4) & ":" &
+ decimal (ypart llcorner p -1/4) & ":" &
+ decimal (xpart urcorner p +1/4) & ":" &
+ decimal (ypart urcorner p +1/4)
+ withprescript "gr_state=start"
+ withprescript "gr_type=" & s;
+ draw p;
+ draw center p withprescript "gr_state=stop";
+ )
+enddef;
+def withgroupbbox (expr a,b) =
+ withprescript "mplibgroupbbox=" &
+ decimal xpart a & ":" &
+ decimal ypart a & ":" &
+ decimal xpart b & ":" &
+ decimal ypart b
+enddef;
+def withgroupname expr s =
+ withprescript "mplibgroupname=" & s
+enddef;
+def usemplibgroup primary s =
+ draw maketext("\usemplibgroup{" & s & "}")
+ shifted runscript("return luamplib.trgroupshifts['" & s & "']")
+enddef;
]],
legacyverbatimtex = [[
def specialVerbatimTeX (text t) = runscript("luamplibprefig{"&t&"}") enddef;
@@ -2376,7 +2772,6 @@ enddef;
% When \cs{mplibverbatim} is enabled, do not expand |mplibcode| data.
% \begin{macrocode}
luamplib.verbatiminput = false
-
% \end{macrocode}
%
% Do not expand |btex ... etex|, |verbatimtex ... etex|, and
@@ -2392,7 +2787,6 @@ local function protect_expansion (str)
return format("\\unexpanded{%s}",str)
end
end
-
local function unprotect_expansion (str)
if str then
return str:gsub("!!!Control!!!", "\\")
@@ -2402,25 +2796,20 @@ local function unprotect_expansion (str)
:gsub("!!!RBrace!!!", "}")
end
end
-
luamplib.everymplib = setmetatable({ [""] = "" },{ __index = function(t) return t[""] end })
luamplib.everyendmplib = setmetatable({ [""] = "" },{ __index = function(t) return t[""] end })
-
function luamplib.process_mplibcode (data, instancename)
texboxes.localid = 4096
-
% \end{macrocode}
% This is needed for legacy behavior
% \begin{macrocode}
- if luamplib.legacy_verbatimtex then
+ if luamplib.legacyverbatimtex then
luamplib.figid, tex_code_pre_mplib = 1, {}
end
-
local everymplib = luamplib.everymplib[instancename]
local everyendmplib = luamplib.everyendmplib[instancename]
data = format("\n%s\n%s\n%s\n",everymplib, data, everyendmplib)
:gsub("\r","\n")
-
% \end{macrocode}
% These five lines are needed for |mplibverbatim| mode.
% \begin{macrocode}
@@ -2460,7 +2849,6 @@ function luamplib.process_mplibcode (data, instancename)
return format("verbatimtex %s etex", unprotect_expansion(str))
end)
end
-
process(data, instancename)
end
@@ -2468,21 +2856,12 @@ end
%
% For parsing |prescript| materials.
% \begin{macrocode}
-local further_split_keys = {
- mplibtexboxid = true,
- sh_color_a = true,
- sh_color_b = true,
-}
local function script2table(s)
local t = {}
for _,i in ipairs(s:explode("\13+")) do
local k,v = i:match("(.-)=(.*)") -- v may contain = or empty.
if k and v and k ~= "" and not t[k] then
- if further_split_keys[k] or further_split_keys[k:sub(1,10)] then
- t[k] = v:explode(":")
- else
- t[k] = v
- end
+ t[k] = v
end
end
return t
@@ -2490,144 +2869,34 @@ end
% \end{macrocode}
%
-% Codes below for inserting PDF lieterals are mostly from ConTeXt general,
-% with small changes when needed.
+% pdfliterals will be stored in |figcontents| table, and written to pdf in one go
+% at the end of the flushing figure.
+% Subtable |post| is for the legacy behavior.
% \begin{macrocode}
-local function getobjects(result,figure,f)
- return figure:objects()
-end
-
-function luamplib.convert (result, flusher)
- luamplib.flush(result, flusher)
- return true -- done
-end
-
local figcontents = { post = { } }
local function put2output(a,...)
figcontents[#figcontents+1] = type(a) == "string" and format(a,...) or a
end
-
local function pdf_startfigure(n,llx,lly,urx,ury)
put2output("\\mplibstarttoPDF{%f}{%f}{%f}{%f}",llx,lly,urx,ury)
end
-
local function pdf_stopfigure()
put2output("\\mplibstoptoPDF")
end
-
% \end{macrocode}
%
% |tex.sprint| with catcode regime -2, as sometimes |#| gets doubled
% in the argument of pdfliteral.
% \begin{macrocode}
-local function pdf_literalcode (fmt,...)
- put2output{-2, format(fmt,...)}
-end
-
-local function pdf_textfigure(font,size,text,width,height,depth)
- text = text:gsub(".",function(c)
- return format("\\hbox{\\char%i}",string.byte(c)) -- kerning happens in metapost : false
- end)
- put2output("\\mplibtextext{%s}{%f}{%s}{%s}{%s}",font,size,text,0,0)
-end
-
-local bend_tolerance = 131/65536
-
-local rx, sx, sy, ry, tx, ty, divider = 1, 0, 0, 1, 0, 0, 1
-
-local function pen_characteristics(object)
- local t = mplib.pen_info(object)
- rx, ry, sx, sy, tx, ty = t.rx, t.ry, t.sx, t.sy, t.tx, t.ty
- divider = sx*sy - rx*ry
- return not (sx==1 and rx==0 and ry==0 and sy==1 and tx==0 and ty==0), t.width
-end
-
-local function concat(px, py) -- no tx, ty here
- return (sy*px-ry*py)/divider,(sx*py-rx*px)/divider
-end
-
-local function curved(ith,pth)
- local d = pth.left_x - ith.right_x
- if abs(ith.right_x - ith.x_coord - d) <= bend_tolerance and abs(pth.x_coord - pth.left_x - d) <= bend_tolerance then
- d = pth.left_y - ith.right_y
- if abs(ith.right_y - ith.y_coord - d) <= bend_tolerance and abs(pth.y_coord - pth.left_y - d) <= bend_tolerance then
- return false
- end
- end
- return true
-end
-
-local function flushnormalpath(path,open)
- local pth, ith
- for i=1,#path do
- pth = path[i]
- if not ith then
- pdf_literalcode("%f %f m",pth.x_coord,pth.y_coord)
- elseif curved(ith,pth) then
- pdf_literalcode("%f %f %f %f %f %f c",ith.right_x,ith.right_y,pth.left_x,pth.left_y,pth.x_coord,pth.y_coord)
- else
- pdf_literalcode("%f %f l",pth.x_coord,pth.y_coord)
- end
- ith = pth
- end
- if not open then
- local one = path[1]
- if curved(pth,one) then
- pdf_literalcode("%f %f %f %f %f %f c",pth.right_x,pth.right_y,one.left_x,one.left_y,one.x_coord,one.y_coord )
- else
- pdf_literalcode("%f %f l",one.x_coord,one.y_coord)
- end
- elseif #path == 1 then -- special case .. draw point
- local one = path[1]
- pdf_literalcode("%f %f l",one.x_coord,one.y_coord)
- end
-end
-
-local function flushconcatpath(path,open)
- pdf_literalcode("%f %f %f %f %f %f cm", sx, rx, ry, sy, tx ,ty)
- local pth, ith
- for i=1,#path do
- pth = path[i]
- if not ith then
- pdf_literalcode("%f %f m",concat(pth.x_coord,pth.y_coord))
- elseif curved(ith,pth) then
- local a, b = concat(ith.right_x,ith.right_y)
- local c, d = concat(pth.left_x,pth.left_y)
- pdf_literalcode("%f %f %f %f %f %f c",a,b,c,d,concat(pth.x_coord, pth.y_coord))
- else
- pdf_literalcode("%f %f l",concat(pth.x_coord, pth.y_coord))
- end
- ith = pth
- end
- if not open then
- local one = path[1]
- if curved(pth,one) then
- local a, b = concat(pth.right_x,pth.right_y)
- local c, d = concat(one.left_x,one.left_y)
- pdf_literalcode("%f %f %f %f %f %f c",a,b,c,d,concat(one.x_coord, one.y_coord))
- else
- pdf_literalcode("%f %f l",concat(one.x_coord,one.y_coord))
- end
- elseif #path == 1 then -- special case .. draw point
- local one = path[1]
- pdf_literalcode("%f %f l",concat(one.x_coord,one.y_coord))
- end
-end
-
-local function start_pdf_code()
- if pdfmode then
- pdf_literalcode("q")
- else
- put2output"\\special{pdf:bcontent}"
- end
-end
-local function stop_pdf_code()
- if pdfmode then
- pdf_literalcode("Q")
- else
- put2output"\\special{pdf:econtent}"
- end
+local function pdf_literalcode (...)
+ put2output{ -2, format(...) :gsub(decimals,rmzeros) }
end
+local start_pdf_code = pdfmode
+ and function() pdf_literalcode"q" end
+ or function() put2output"\\special{pdf:bcontent}" end
+local stop_pdf_code = pdfmode
+ and function() pdf_literalcode"Q" end
+ or function() put2output"\\special{pdf:econtent}" end
% \end{macrocode}
%
@@ -2635,7 +2904,7 @@ end
% |textext(...)| or |TEX(...)|, all being the same internally.
% \begin{macrocode}
local function put_tex_boxes (object,prescript)
- local box = prescript.mplibtexboxid
+ local box = prescript.mplibtexboxid:explode":"
local n,tw,th = box[1],tonumber(box[2]),tonumber(box[3])
if n and tw and th then
local op = object.path
@@ -2699,32 +2968,42 @@ local pdfobjs, pdfetcs = {}, {}
pdfetcs.pgfextgs = "pgf@sys@addpdfresource@extgs@plain"
pdfetcs.pgfpattern = "pgf@sys@addpdfresource@patterns@plain"
pdfetcs.pgfcolorspace = "pgf@sys@addpdfresource@colorspaces@plain"
-
-local function update_pdfobjs (os)
- local on = pdfobjs[os]
+local function update_pdfobjs (os, stream)
+ local key = os
+ if stream then key = key..stream end
+ local on = pdfobjs[key]
if on then
return on,false
end
if pdfmode then
- on = pdf.immediateobj(os)
+ if stream then
+ on = pdf.immediateobj("stream",stream,os)
+ else
+ on = pdf.immediateobj(os)
+ end
else
on = pdfetcs.cnt or 1
- texsprint(format("\\special{pdf:obj @mplibpdfobj%s %s}",on,os))
+ if stream then
+ texsprint(format("\\special{pdf:stream @mplibpdfobj%s (%s) <<%s>>}",on,stream,os))
+ else
+ texsprint(format("\\special{pdf:obj @mplibpdfobj%s %s}",on,os))
+ end
pdfetcs.cnt = on + 1
end
- pdfobjs[os] = on
+ pdfobjs[key] = on
return on,true
end
-
+pdfetcs.resfmt = pdfmode and "%s 0 R" or "@mplibpdfobj%s"
if pdfmode then
pdfetcs.getpageres = pdf.getpageresources or function() return pdf.pageresources end
- pdfetcs.setpageres = pdf.setpageresources or function(s) pdf.pageresources = s end
- pdfetcs.initialize_resources = function (name)
+ local getpageres = pdfetcs.getpageres
+ local setpageres = pdf.setpageresources or function(s) pdf.pageresources = s end
+ local initialize_resources = function (name)
local tabname = format("%s_res",name)
pdfetcs[tabname] = { }
if luatexbase.callbacktypes.finish_pdffile then -- ltluatex
local obj = pdf.reserveobj()
- pdfetcs.setpageres(format("%s/%s %i 0 R", pdfetcs.getpageres() or "", name, obj))
+ setpageres(format("%s/%s %i 0 R", getpageres() or "", name, obj))
luatexbase.add_to_callback("finish_pdffile", function()
pdf.immediateobj(obj, format("<<%s>>", tableconcat(pdfetcs[tabname])))
end,
@@ -2734,27 +3013,36 @@ if pdfmode then
pdfetcs.fallback_update_resources = function (name, res)
local tabname = format("%s_res",name)
if not pdfetcs[tabname] then
- pdfetcs.initialize_resources(name)
+ initialize_resources(name)
end
if luatexbase.callbacktypes.finish_pdffile then
local t = pdfetcs[tabname]
t[#t+1] = res
else
- local tpr, n = pdfetcs.getpageres() or "", 0
+ local tpr, n = getpageres() or "", 0
tpr, n = tpr:gsub(format("/%s<<",name), "%1"..res)
if n == 0 then
tpr = format("%s/%s<<%s>>", tpr, name, res)
end
- pdfetcs.setpageres(tpr)
+ setpageres(tpr)
end
end
else
texsprint {
+ "\\luamplibatfirstshipout{",
"\\special{pdf:obj @MPlibTr<<>>}",
"\\special{pdf:obj @MPlibSh<<>>}",
"\\special{pdf:obj @MPlibCS<<>>}",
- "\\special{pdf:obj @MPlibPt<<>>}",
+ "\\special{pdf:obj @MPlibPt<<>>}}",
}
+ pdfetcs.resadded = { }
+ pdfetcs.fallback_update_resources = function (name,res,obj)
+ texsprint{"\\special{pdf:put ", obj, " <<", res, ">>}"}
+ if not pdfetcs.resadded[name] then
+ texsprint{"\\luamplibateveryshipout{\\special{pdf:put @resources <</", name, " ", obj, ">>}}"}
+ pdfetcs.resadded[name] = obj
+ end
+ end
end
% \end{macrocode}
@@ -2768,13 +3056,10 @@ local transparancy_modes = { [0] = "Normal",
"Hue", "Saturation", "Color", "Luminosity",
"Compatible",
}
-
-local function update_tr_res(mode,opaq)
- local os = format("<</BM /%s/ca %.3f/CA %.3f/AIS false>>",mode,opaq,opaq)
- local on, new = update_pdfobjs(os)
+local function add_extgs_resources (on, new)
+ local key = format("MPlibTr%s", on)
if new then
- local key = format("MPlibTr%s", on)
- local val = format(pdfmode and "%s 0 R" or "@mplibpdfobj%s", on)
+ local val = format(pdfetcs.resfmt, on)
if pdfmanagement then
texsprint {
"\\csname pdfmanagement_add:nnn\\endcsname{Page/Resources/ExtGState}{", key, "}{", val, "}"
@@ -2783,103 +3068,102 @@ local function update_tr_res(mode,opaq)
local tr = format("/%s %s", key, val)
if is_defined(pdfetcs.pgfextgs) then
texsprint { "\\csname ", pdfetcs.pgfextgs, "\\endcsname{", tr, "}" }
- elseif pdfmode then
- if is_defined"TRP@list" then
- texsprint(catat11,{
- [[\if@filesw\immediate\write\@auxout{]],
- [[\string\g@addto@macro\string\TRP@list{]],
- tr,
- [[}}\fi]],
- })
- if not get_macro"TRP@list":find(tr) then
- texsprint(catat11,[[\global\TRP@reruntrue]])
- end
- else
- pdfetcs.fallback_update_resources("ExtGState", tr)
+ elseif is_defined"TRP@list" then
+ texsprint(catat11,{
+ [[\if@filesw\immediate\write\@auxout{]],
+ [[\string\g@addto@macro\string\TRP@list{]],
+ tr,
+ [[}}\fi]],
+ })
+ if not get_macro"TRP@list":find(tr) then
+ texsprint(catat11,[[\global\TRP@reruntrue]])
end
else
- texsprint { "\\special{pdf:put @MPlibTr<<", tr, ">>}" }
+ pdfetcs.fallback_update_resources("ExtGState",tr,"@MPlibTr")
end
end
end
- if not pdfmode and not pdfmanagement and not is_defined(pdfetcs.pgfextgs) then
- texsprint"\\special{pdf:put @resources <</ExtGState @MPlibTr>>}"
- end
- return on
+ return key
end
-
local function do_preobj_TR(object,prescript)
if object.postscript == "collect" then return end
local opaq = prescript and prescript.tr_transparency
- local tron_no
if opaq then
+ local key, on, os, new
local mode = prescript.tr_alternative or 1
- mode = transparancy_modes[tonumber(mode)]
- tron_no = update_tr_res(mode, opaq)
- start_pdf_code()
- pdf_literalcode("/MPlibTr%i gs",tron_no)
+ mode = transparancy_modes[tonumber(mode)] or mode
+ opaq = format("%.3f", opaq) :gsub(decimals,rmzeros)
+ for i,v in ipairs{ {mode,opaq},{"Normal",1} } do
+ os = format("<</BM/%s/ca %s/CA %s/AIS false>>",v[1],v[2],v[2])
+ on, new = update_pdfobjs(os)
+ key = add_extgs_resources(on,new)
+ if i == 1 then
+ pdf_literalcode("/%s gs",key)
+ else
+ return format("/%s gs",key)
+ end
+ end
end
- return tron_no
end
% \end{macrocode}
%
-% Shading with |metafun| format.
+% Shading with \emph{metafun} format.
% \begin{macrocode}
local function sh_pdfpageresources(shtype,domain,colorspace,ca,cb,coordinates,steps,fractions)
- local fun2fmt,os = "<</FunctionType 2/Domain [%s]/C0 [%s]/C1 [%s]/N 1>>"
+ for _,v in ipairs{ca,cb} do
+ for i,vv in ipairs(v) do
+ for ii,vvv in ipairs(vv) do
+ v[i][ii] = tonumber(vvv) and format("%.3f",vvv) or vvv
+ end
+ end
+ end
+ local fun2fmt,os = "<</FunctionType 2/Domain[%s]/C0[%s]/C1[%s]/N 1>>"
if steps > 1 then
local list,bounds,encode = { },{ },{ }
for i=1,steps do
if i < steps then
- bounds[i] = fractions[i] or 1
+ bounds[i] = format("%.3f", fractions[i] or 1)
end
encode[2*i-1] = 0
encode[2*i] = 1
os = fun2fmt:format(domain,tableconcat(ca[i],' '),tableconcat(cb[i],' '))
- list[i] = format(pdfmode and "%s 0 R" or "@mplibpdfobj%s",update_pdfobjs(os))
+ :gsub(decimals,rmzeros)
+ list[i] = format(pdfetcs.resfmt, update_pdfobjs(os))
end
os = tableconcat {
"<</FunctionType 3",
- format("/Bounds [%s]", tableconcat(bounds,' ')),
- format("/Encode [%s]", tableconcat(encode,' ')),
- format("/Functions [%s]", tableconcat(list, ' ')),
- format("/Domain [%s]>>", domain),
- }
+ format("/Bounds[%s]", tableconcat(bounds,' ')),
+ format("/Encode[%s]", tableconcat(encode,' ')),
+ format("/Functions[%s]", tableconcat(list, ' ')),
+ format("/Domain[%s]>>", domain),
+ } :gsub(decimals,rmzeros)
else
os = fun2fmt:format(domain,tableconcat(ca[1],' '),tableconcat(cb[1],' '))
+ :gsub(decimals,rmzeros)
end
- local objref = format(pdfmode and "%s 0 R" or "@mplibpdfobj%s",update_pdfobjs(os))
+ local objref = format(pdfetcs.resfmt, update_pdfobjs(os))
os = tableconcat {
format("<</ShadingType %i", shtype),
format("/ColorSpace %s", colorspace),
format("/Function %s", objref),
- format("/Coords [%s]", coordinates),
- "/Extend [true true]/AntiAlias true>>",
- }
+ format("/Coords[%s]", coordinates),
+ "/Extend[true true]/AntiAlias true>>",
+ } :gsub(decimals,rmzeros)
local on, new = update_pdfobjs(os)
if new then
- local key = format("MPlibSh%s", on)
- local val = format(pdfmode and "%s 0 R" or "@mplibpdfobj%s", on)
+ local key, val = format("MPlibSh%s", on), format(pdfetcs.resfmt, on)
if pdfmanagement then
texsprint {
"\\csname pdfmanagement_add:nnn\\endcsname{Page/Resources/Shading}{", key, "}{", val, "}"
}
else
local res = format("/%s %s", key, val)
- if pdfmode then
- pdfetcs.fallback_update_resources("Shading", res)
- else
- texsprint { "\\special{pdf:put @MPlibSh<<", res, ">>}" }
- end
+ pdfetcs.fallback_update_resources("Shading",res,"@MPlibSh")
end
end
- if not pdfmode and not pdfmanagement then
- texsprint"\\special{pdf:put @resources <</Shading @MPlibSh>>}"
- end
return on
end
-
local function color_normalize(ca,cb)
if #cb == 1 then
if #ca == 4 then
@@ -2891,7 +3175,6 @@ local function color_normalize(ca,cb)
cb[1], cb[2], cb[3], cb[4] = 1-cb[1], 1-cb[2], 1-cb[3], 0
end
end
-
pdfetcs.clrspcs = setmetatable({ }, { __index = function(t,names)
run_tex_code({
[[\color_model_new:nnn]],
@@ -2903,7 +3186,6 @@ pdfetcs.clrspcs = setmetatable({ }, { __index = function(t,names)
t[names] = colorspace
return colorspace
end })
-
local function do_preobj_SH(object,prescript)
local shade_no
local sh_type = prescript and prescript.sh_type
@@ -2911,14 +3193,14 @@ local function do_preobj_SH(object,prescript)
return
else
local domain = prescript.sh_domain or "0 1"
- local centera = prescript.sh_center_a or "0 0"; centera = centera:explode()
- local centerb = prescript.sh_center_b or "0 0"; centerb = centerb:explode()
+ local centera = (prescript.sh_center_a or "0 0"):explode()
+ local centerb = (prescript.sh_center_b or "0 0"):explode()
local transform = prescript.sh_transform == "yes"
local sx,sy,sr,dx,dy = 1,1,1,0,0
if transform then
- local first = prescript.sh_first or "0 0"; first = first:explode()
- local setx = prescript.sh_set_x or "0 0"; setx = setx:explode()
- local sety = prescript.sh_set_y or "0 0"; sety = sety:explode()
+ local first = (prescript.sh_first or "0 0"):explode()
+ local setx = (prescript.sh_set_x or "0 0"):explode()
+ local sety = (prescript.sh_set_y or "0 0"):explode()
local x,y = tonumber(setx[1]) or 0, tonumber(sety[1]) or 0
if x ~= 0 and y ~= 0 then
local path = object.path
@@ -2940,15 +3222,15 @@ local function do_preobj_SH(object,prescript)
end
end
local ca, cb, colorspace, steps, fractions
- ca = { prescript.sh_color_a_1 or prescript.sh_color_a or {0} }
- cb = { prescript.sh_color_b_1 or prescript.sh_color_b or {1} }
+ ca = { (prescript.sh_color_a_1 or prescript.sh_color_a or "0"):explode":" }
+ cb = { (prescript.sh_color_b_1 or prescript.sh_color_b or "1"):explode":" }
steps = tonumber(prescript.sh_step) or 1
if steps > 1 then
fractions = { prescript.sh_fraction_1 or 0 }
for i=2,steps do
fractions[i] = prescript[format("sh_fraction_%i",i)] or (i/steps)
- ca[i] = prescript[format("sh_color_a_%i",i)] or {0}
- cb[i] = prescript[format("sh_color_b_%i",i)] or {1}
+ ca[i] = (prescript[format("sh_color_a_%i",i)] or "0"):explode":"
+ cb[i] = (prescript[format("sh_color_b_%i",i)] or "1"):explode":"
end
end
if prescript.mplib_spotcolor then
@@ -2957,15 +3239,14 @@ local function do_preobj_SH(object,prescript)
local script = object.prescript:explode"\13+"
for i=#script,1,-1 do
if script[i]:find"mplib_spotcolor" then
- local name, value
- objref, name = script[i]:match"=(.-):(.+)"
- value = script[i+1]:match"=(.+)"
+ local t, name, value = script[i]:explode"="[2]:explode":"
+ value, objref, name = t[1], t[2], t[3]
if not names[name] then
pos = pos+1
names[name] = pos
names[#names+1] = name
end
- local t = { }
+ t = { }
for j=1,names[name] do t[#t+1] = 0 end
t[#t+1] = value
tableinsert(#ca == #cb and ca or cb, t)
@@ -3016,7 +3297,6 @@ local function do_preobj_SH(object,prescript)
else
err"unknown shading type"
end
- pdf_literalcode("q /Pattern cs")
end
return shade_no
end
@@ -3025,43 +3305,16 @@ end
%
% Patterns
% \begin{macrocode}
-patterns = { }
-function luamplib.registerpattern ( boxid, name, opts )
- local box = texgetbox(boxid)
- local wd = format("%.3f",box.width/factor)
- local hd = format("%.3f",(box.height+box.depth)/factor)
- info("w/h/d of '%s': %s %s 0.0", name, wd, hd)
- if opts.xstep == 0 then opts.xstep = nil end
- if opts.ystep == 0 then opts.ystep = nil end
- if opts.colored == nil then
- opts.colored = opts.coloured
- if opts.colored == nil then
- opts.colored = true
- end
+pdfetcs.patterns = { }
+local function gather_resources (optres)
+ local t, do_pattern = { }, not optres
+ local names = {"ExtGState","ColorSpace","Shading"}
+ if do_pattern then
+ names[#names+1] = "Pattern"
end
- if type(opts.matrix) == "table" then opts.matrix = tableconcat(opts.matrix," ") end
- if type(opts.bbox) == "table" then opts.bbox = tableconcat(opts.bbox," ") end
- if opts.matrix and opts.matrix:find"%a" then
- local data = format("mplibtransformmatrix(%s);",opts.matrix)
- process(data,"@mplibtransformmatrix")
- local t = luamplib.transformmatrix
- opts.matrix = format("%s %s %s %s", t[1], t[2], t[3], t[4])
- opts.xshift = opts.xshift or t[5]
- opts.yshift = opts.yshift or t[6]
- end
- local attr = {
- "/Type/Pattern",
- "/PatternType 1",
- format("/PaintType %i", opts.colored and 1 or 2),
- "/TilingType 2",
- format("/XStep %s", opts.xstep or wd),
- format("/YStep %s", opts.ystep or hd),
- format("/Matrix [%s %s %s]", opts.matrix or "1 0 0 1", opts.xshift or 0, opts.yshift or 0),
- }
if pdfmode then
- local optres, t = opts.resources or "", { }
if pdfmanagement then
- for _,v in ipairs{"ExtGState","ColorSpace","Shading"} do
+ for _,v in ipairs(names) do
local pp = get_macro(format("g__pdfdict_/g__pdf_Core/Page/Resources/%s_prop",v))
if pp and pp:find"__prop_pair" then
t[#t+1] = format("/%s %s 0 R", v, ltx.pdf.object_id("__pdf/Page/Resources/"..v))
@@ -3070,26 +3323,19 @@ function luamplib.registerpattern ( boxid, name, opts )
else
local res = pdfetcs.getpageres() or ""
run_tex_code[[\mplibtmptoks\expandafter{\the\pdfvariable pageresources}]]
- res = (res .. texgettoks'mplibtmptoks'):explode()
- res = tableconcat(res," "):explode"/+"
+ res = res .. texgettoks'mplibtmptoks'
+ if do_pattern then return res end
+ res = res:explode"/+"
for _,v in ipairs(res) do
+ v = v:match"^%s*(.-)%s*$"
if not v:find"Pattern" and not optres:find(v) then
t[#t+1] = "/" .. v
end
end
end
- optres = optres .. tableconcat(t)
- if opts.bbox then
- attr[#attr+1] = format("/BBox [%s]", opts.bbox)
- end
- local index = tex.saveboxresource(boxid, tableconcat(attr), optres, true, opts.bbox and 4 or 1)
- patterns[name] = { id = index, colored = opts.colored }
else
- local objname = "@mplibpattern"..name
- local metric = format("bbox %s", opts.bbox or format("0 0 %s %s",wd,hd))
- local optres, t = opts.resources or "", { }
if pdfmanagement then
- for _,v in ipairs{"ExtGState","ColorSpace","Shading"} do
+ for _,v in ipairs(names) do
local pp = get_macro(format("g__pdfdict_/g__pdf_Core/Page/Resources/%s_prop",v))
if pp and pp:find"__prop_pair" then
run_tex_code {
@@ -3105,31 +3351,87 @@ function luamplib.registerpattern ( boxid, name, opts )
"\\mplibtmptoks\\expanded{{",
"\\ifpgf@sys@pdf@extgs@exists /ExtGState @pgfextgs\\fi",
"\\ifpgf@sys@pdf@colorspaces@exists /ColorSpace @pgfcolorspaces\\fi",
+ do_pattern and "\\ifpgf@sys@pdf@patterns@exists /Pattern @pgfpatterns \\fi" or "",
"}}",
}, catat11)
t[#t+1] = texgettoks'mplibtmptoks'
+ else
+ for _,v in ipairs(names) do
+ local vv = pdfetcs.resadded[v]
+ if vv then
+ t[#t+1] = format("/%s %s", v, vv)
+ end
+ end
end
- optres = optres .. tableconcat(t)
+ end
+ return tableconcat(t)
+end
+function luamplib.registerpattern ( boxid, name, opts )
+ local box = texgetbox(boxid)
+ local wd = format("%.3f",box.width/factor)
+ local hd = format("%.3f",(box.height+box.depth)/factor)
+ info("w/h/d of pattern '%s': %s 0", name, format("%s %s",wd, hd):gsub(decimals,rmzeros))
+ if opts.xstep == 0 then opts.xstep = nil end
+ if opts.ystep == 0 then opts.ystep = nil end
+ if opts.colored == nil then
+ opts.colored = opts.coloured
+ if opts.colored == nil then
+ opts.colored = true
+ end
+ end
+ if type(opts.matrix) == "table" then opts.matrix = tableconcat(opts.matrix," ") end
+ if type(opts.bbox) == "table" then opts.bbox = tableconcat(opts.bbox," ") end
+ if opts.matrix and opts.matrix:find"%a" then
+ local data = format("mplibtransformmatrix(%s);",opts.matrix)
+ process(data,"@mplibtransformmatrix")
+ local t = luamplib.transformmatrix
+ opts.matrix = format("%f %f %f %f", t[1], t[2], t[3], t[4])
+ opts.xshift = opts.xshift or format("%f",t[5])
+ opts.yshift = opts.yshift or format("%f",t[6])
+ end
+ local attr = {
+ "/Type/Pattern",
+ "/PatternType 1",
+ format("/PaintType %i", opts.colored and 1 or 2),
+ "/TilingType 2",
+ format("/XStep %s", opts.xstep or wd),
+ format("/YStep %s", opts.ystep or hd),
+ format("/Matrix[%s %s %s]", opts.matrix or "1 0 0 1", opts.xshift or 0, opts.yshift or 0),
+ }
+ local optres = opts.resources or ""
+ optres = optres .. gather_resources(optres)
+ local patterns = pdfetcs.patterns
+ if pdfmode then
+ if opts.bbox then
+ attr[#attr+1] = format("/BBox[%s]", opts.bbox)
+ end
+ attr = tableconcat(attr) :gsub(decimals,rmzeros)
+ local index = tex.saveboxresource(boxid, attr, optres, true, opts.bbox and 4 or 1)
+ patterns[name] = { id = index, colored = opts.colored }
+ else
+ local cnt = #patterns + 1
+ local objname = "@mplibpattern" .. cnt
+ local metric = format("bbox %s", opts.bbox or format("0 0 %s %s",wd,hd))
texsprint {
- [[\ifvmode\nointerlineskip\fi]],
- format([[\hbox to0pt{\vbox to0pt{\hsize=\wd %i\vss\noindent]], boxid), -- force horiz mode?
- [[\special{pdf:bcontent}]],
- [[\special{pdf:bxobj ]], objname, format(" %s}", metric),
- format([[\raise\dp %i\box %i]], boxid, boxid),
- format([[\special{pdf:put @resources <<%s>>}]], optres),
- [[\special{pdf:exobj <<]], tableconcat(attr), ">>}",
- [[\special{pdf:econtent}]],
- [[\par}\hss}]],
+ "\\expandafter\\newbox\\csname luamplib.patternbox.", cnt, "\\endcsname",
+ "\\global\\setbox\\csname luamplib.patternbox.", cnt, "\\endcsname",
+ "\\hbox{\\unhbox ", boxid, "}\\luamplibatnextshipout{",
+ "\\special{pdf:bcontent}",
+ "\\special{pdf:bxobj ", objname, " ", metric, "}",
+ "\\raise\\dp\\csname luamplib.patternbox.", cnt, "\\endcsname",
+ "\\box\\csname luamplib.patternbox.", cnt, "\\endcsname",
+ "\\special{pdf:put @resources <<", optres, ">>}",
+ "\\special{pdf:exobj <<", tableconcat(attr), ">>}",
+ "\\special{pdf:econtent}}",
}
- patterns[#patterns+1] = objname
- patterns[name] = { id = #patterns, colored = opts.colored }
+ patterns[cnt] = objname
+ patterns[name] = { id = cnt, colored = opts.colored }
end
end
local function pattern_colorspace (cs)
local on, new = update_pdfobjs(format("[/Pattern %s]", cs))
if new then
- local key = format("MPlibCS%i",on)
- local val = pdfmode and format("%i 0 R",on) or format("@mplibpdfobj%i",on)
+ local key, val = format("MPlibCS%i",on), format(pdfetcs.resfmt,on)
if pdfmanagement then
texsprint {
"\\csname pdfmanagement_add:nnn\\endcsname{Page/Resources/ColorSpace}{", key, "}{", val, "}"
@@ -3138,21 +3440,17 @@ local function pattern_colorspace (cs)
local res = format("/%s %s", key, val)
if is_defined(pdfetcs.pgfcolorspace) then
texsprint { "\\csname ", pdfetcs.pgfcolorspace, "\\endcsname{", res, "}" }
- elseif pdfmode then
- pdfetcs.fallback_update_resources("ColorSpace", res)
else
- texsprint { "\\special{pdf:put @MPlibCS<<", res, ">>}" }
+ pdfetcs.fallback_update_resources("ColorSpace",res,"@MPlibCS")
end
end
end
- if not pdfmode and not pdfmanagement and not is_defined(pdfetcs.pgfcolorspace) then
- texsprint"\\special{pdf:put @resources <</ColorSpace @MPlibCS>>}"
- end
return on
end
local function do_preobj_PAT(object, prescript)
local name = prescript and prescript.mplibpattern
if not name then return end
+ local patterns = pdfetcs.patterns
local patt = patterns[name]
local index = patt and patt.id or err("cannot get pattern object '%s'", name)
local key = format("MPlibPt%s",index)
@@ -3192,21 +3490,315 @@ local function do_preobj_PAT(object, prescript)
local res = format("/%s %s", key, val)
if is_defined(pdfetcs.pgfpattern) then
texsprint { "\\csname ", pdfetcs.pgfpattern, "\\endcsname{", res, "}" }
- elseif pdfmode then
- pdfetcs.fallback_update_resources("Pattern", res)
else
- texsprint { "\\special{pdf:put @MPlibPt<<", res, ">>}" }
+ pdfetcs.fallback_update_resources("Pattern",res,"@MPlibPt")
end
end
end
- if not pdfmode and not pdfmanagement and not is_defined(pdfetcs.pgfpattern) then
- texsprint"\\special{pdf:put @resources <</Pattern @MPlibPt>>}"
- end
patt.done = true
end
% \end{macrocode}
%
+% Fading
+% \begin{macrocode}
+pdfetcs.fading = { }
+local function do_preobj_FADE (object, prescript)
+ local fd_type = prescript and prescript.mplibfadetype
+ local fd_stop = prescript and prescript.mplibfadestate
+ if not fd_type then
+ return fd_stop -- returns "stop" (if picture) or nil
+ end
+ local bbox = prescript.mplibfadebbox:explode":"
+ local dx, dy = -bbox[1], -bbox[2]
+ local vec = prescript.mplibfadevector; vec = vec and vec:explode":"
+ if not vec then
+ if fd_type == "linear" then
+ vec = {bbox[1], bbox[2], bbox[3], bbox[2]} -- left to right
+ else
+ local centerx, centery = (bbox[1]+bbox[3])/2, (bbox[2]+bbox[4])/2
+ vec = {centerx, centery, centerx, centery} -- center for both circles
+ end
+ end
+ local coords = { vec[1]+dx, vec[2]+dy, vec[3]+dx, vec[4]+dy }
+ if fd_type == "linear" then
+ coords = format("%f %f %f %f", tableunpack(coords))
+ elseif fd_type == "circular" then
+ local width, height = bbox[3]-bbox[1], bbox[4]-bbox[2]
+ local radius = (prescript.mplibfaderadius or "0:"..math.sqrt(width^2+height^2)/2):explode":"
+ tableinsert(coords, 3, radius[1])
+ tableinsert(coords, radius[2])
+ coords = format("%f %f %f %f %f %f", tableunpack(coords))
+ else
+ err("unknown fading method '%s'", fd_type)
+ end
+ fd_type = fd_type == "linear" and 2 or 3
+ local opaq = (prescript.mplibfadeopacity or "1:0"):explode":"
+ local on, os, new
+ on = sh_pdfpageresources(fd_type, "0 1", "/DeviceGray", {{opaq[1]}}, {{opaq[2]}}, coords, 1)
+ os = format("<</PatternType 2/Shading %s>>", format(pdfetcs.resfmt, on))
+ on = update_pdfobjs(os)
+ bbox = format("0 0 %f %f", bbox[3]+dx, bbox[4]+dy)
+ local streamtext = format("q /Pattern cs/MPlibFd%s scn %s re f Q", on, bbox)
+ :gsub(decimals,rmzeros)
+ os = format("<</Pattern<</MPlibFd%s %s>>>>", on, format(pdfetcs.resfmt, on))
+ on = update_pdfobjs(os)
+ local resources = format(pdfetcs.resfmt, on)
+ on = update_pdfobjs"<</S/Transparency/CS/DeviceGray>>"
+ local attr = tableconcat{
+ "/Subtype/Form",
+ "/BBox[", bbox, "]",
+ "/Matrix[1 0 0 1 ", format("%f %f", -dx,-dy), "]",
+ "/Resources ", resources,
+ "/Group ", format(pdfetcs.resfmt, on),
+ } :gsub(decimals,rmzeros)
+ on = update_pdfobjs(attr, streamtext)
+ os = "<</SMask<</S/Luminosity/G " .. format(pdfetcs.resfmt, on) .. ">>>>"
+ on, new = update_pdfobjs(os)
+ local key = add_extgs_resources(on,new)
+ start_pdf_code()
+ pdf_literalcode("/%s gs", key)
+ if fd_stop then return "standalone" end
+ return "start"
+end
+
+% \end{macrocode}
+%
+% Transparency Group
+% \begin{macrocode}
+pdfetcs.tr_group = { shifts = { } }
+luamplib.trgroupshifts = pdfetcs.tr_group.shifts
+local function do_preobj_GRP (object, prescript)
+ local grstate = prescript and prescript.gr_state
+ if not grstate then return end
+ local trgroup = pdfetcs.tr_group
+ if grstate == "start" then
+ trgroup.name = prescript.mplibgroupname or "lastmplibgroup"
+ trgroup.isolated, trgroup.knockout = false, false
+ for _,v in ipairs(prescript.gr_type:explode",+") do
+ trgroup[v] = true
+ end
+ trgroup.bbox = prescript.mplibgroupbbox:explode":"
+ put2output[[\begingroup\setbox\mplibscratchbox\hbox\bgroup]]
+ elseif grstate == "stop" then
+ local llx,lly,urx,ury = tableunpack(trgroup.bbox)
+ put2output(tableconcat{
+ "\\egroup",
+ format("\\wd\\mplibscratchbox %fbp", urx-llx),
+ format("\\ht\\mplibscratchbox %fbp", ury-lly),
+ "\\dp\\mplibscratchbox 0pt",
+ })
+ local grattr = format("/Group<</S/Transparency/I %s/K %s>>",trgroup.isolated,trgroup.knockout)
+ local res = gather_resources()
+ local bbox = format("%f %f %f %f", llx,lly,urx,ury) :gsub(decimals,rmzeros)
+ if pdfmode then
+ put2output(tableconcat{
+ "\\saveboxresource type 2 attr{/Type/XObject/Subtype/Form/FormType 1",
+ "/BBox[", bbox, "]", grattr, "} resources{", res, "}\\mplibscratchbox",
+ [[\setbox\mplibscratchbox\hbox{\useboxresource\lastsavedboxresourceindex}]],
+ [[\wd\mplibscratchbox 0pt\ht\mplibscratchbox 0pt\dp\mplibscratchbox 0pt]],
+ [[\box\mplibscratchbox\endgroup]],
+ "\\expandafter\\xdef\\csname luamplib.group.", trgroup.name, "\\endcsname{",
+ "\\noexpand\\mplibstarttoPDF{",llx,"}{",lly,"}{",urx,"}{",ury,"}",
+ "\\useboxresource \\the\\lastsavedboxresourceindex\\noexpand\\mplibstoptoPDF}",
+ })
+ else
+ trgroup.cnt = (trgroup.cnt or 0) + 1
+ local objname = format("@mplibtrgr%s", trgroup.cnt)
+ put2output(tableconcat{
+ "\\special{pdf:bxobj ", objname, " bbox ", bbox, "}",
+ "\\unhbox\\mplibscratchbox",
+ "\\special{pdf:put @resources <<", res, ">>}",
+ "\\special{pdf:exobj <<", grattr, ">>}",
+ "\\special{pdf:uxobj ", objname, "}\\endgroup",
+ })
+ token.set_macro("luamplib.group."..trgroup.name, tableconcat{
+ "\\mplibstarttoPDF{",llx,"}{",lly,"}{",urx,"}{",ury,"}",
+ "\\special{pdf:uxobj ", objname, "}\\mplibstoptoPDF",
+ }, "global")
+ end
+ trgroup.shifts[trgroup.name] = { llx, lly }
+ end
+ return grstate
+end
+function luamplib.registergroup (boxid, name, opts)
+ local box = texgetbox(boxid)
+ local wd, ht, dp = node.getwhd(box)
+ local res = (opts.resources or "") .. gather_resources()
+ local attr = { "/Type/XObject/Subtype/Form/FormType 1" }
+ if type(opts.matrix) == "table" then opts.matrix = tableconcat(opts.matrix," ") end
+ if type(opts.bbox) == "table" then opts.bbox = tableconcat(opts.bbox," ") end
+ if opts.matrix and opts.matrix:find"%a" then
+ local data = format("mplibtransformmatrix(%s);",opts.matrix)
+ process(data,"@mplibtransformmatrix")
+ opts.matrix = format("%f %f %f %f %f %f",tableunpack(luamplib.transformmatrix))
+ end
+ local grtype = 3
+ if opts.bbox then
+ attr[#attr+1] = format("/BBox[%s]", opts.bbox)
+ grtype = 2
+ end
+ if opts.matrix then
+ attr[#attr+1] = format("/Matrix[%s]", opts.matrix)
+ grtype = opts.bbox and 4 or 1
+ end
+ if opts.asgroup then
+ local t = { isolated = false, knockout = false }
+ for _,v in ipairs(opts.asgroup:explode",+") do t[v] = true end
+ attr[#attr+1] = format("/Group<</S/Transparency/I %s/K %s>>", t.isolated, t.knockout)
+ end
+ local trgroup = pdfetcs.tr_group
+ trgroup.shifts[name] = { get_macro'MPllx', get_macro'MPlly' }
+ local whd
+ if pdfmode then
+ attr = tableconcat(attr) :gsub(decimals,rmzeros)
+ local index = tex.saveboxresource(boxid, attr, res, true, grtype)
+ token.set_macro("luamplib.group."..name, "\\useboxresource "..index, "global")
+ whd = format("%.3f %.3f 0", wd/factor, (ht+dp)/factor) :gsub(decimals,rmzeros)
+ else
+ trgroup.cnt = (trgroup.cnt or 0) + 1
+ local objname = format("@mplibtrgr%s", trgroup.cnt)
+ texsprint {
+ "\\expandafter\\newbox\\csname luamplib.groupbox.", trgroup.cnt, "\\endcsname",
+ "\\global\\setbox\\csname luamplib.groupbox.", trgroup.cnt, "\\endcsname",
+ "\\hbox{\\unhbox ", boxid, "}\\luamplibatnextshipout{",
+ "\\special{pdf:bcontent}",
+ "\\special{pdf:bxobj ", objname, " width ", wd, "sp height ", ht, "sp depth ", dp, "sp}",
+ "\\unhbox\\csname luamplib.groupbox.", trgroup.cnt, "\\endcsname",
+ "\\special{pdf:put @resources <<", res, ">>}",
+ "\\special{pdf:exobj <<", tableconcat(attr), ">>}",
+ "\\special{pdf:econtent}}",
+ }
+ token.set_macro("luamplib.group."..name, tableconcat{
+ "\\begingroup\\setbox\\mplibscratchbox\\hbox{\\special{pdf:uxobj ", objname, "}}",
+ "\\wd\\mplibscratchbox ", wd, "sp",
+ "\\ht\\mplibscratchbox ", ht, "sp",
+ "\\dp\\mplibscratchbox ", dp, "sp",
+ "\\box\\mplibscratchbox\\endgroup",
+ }, "global")
+ whd = format("%.3f %.3f %.3f", wd/factor, ht/factor, dp/factor) :gsub(decimals,rmzeros)
+ end
+ info("w/h/d of group '%s': %s", name, whd)
+end
+
+local function stop_special_effects(fade,opaq,over)
+ if fade then -- fading
+ stop_pdf_code()
+ end
+ if opaq then -- opacity
+ pdf_literalcode(opaq)
+ end
+ if over then -- color
+ put2output"\\special{pdf:ec}"
+ end
+end
+
+% \end{macrocode}
+%
+% Codes below for inserting PDF lieterals are mostly from ConTeXt general,
+% with small changes when needed.
+% \begin{macrocode}
+local function getobjects(result,figure,f)
+ return figure:objects()
+end
+
+function luamplib.convert (result, flusher)
+ luamplib.flush(result, flusher)
+ return true -- done
+end
+
+local function pdf_textfigure(font,size,text,width,height,depth)
+ text = text:gsub(".",function(c)
+ return format("\\hbox{\\char%i}",string.byte(c)) -- kerning happens in metapost : false
+ end)
+ put2output("\\mplibtextext{%s}{%f}{%s}{%s}{%s}",font,size,text,0,0)
+end
+
+local bend_tolerance = 131/65536
+
+local rx, sx, sy, ry, tx, ty, divider = 1, 0, 0, 1, 0, 0, 1
+
+local function pen_characteristics(object)
+ local t = mplib.pen_info(object)
+ rx, ry, sx, sy, tx, ty = t.rx, t.ry, t.sx, t.sy, t.tx, t.ty
+ divider = sx*sy - rx*ry
+ return not (sx==1 and rx==0 and ry==0 and sy==1 and tx==0 and ty==0), t.width
+end
+
+local function concat(px, py) -- no tx, ty here
+ return (sy*px-ry*py)/divider,(sx*py-rx*px)/divider
+end
+
+local function curved(ith,pth)
+ local d = pth.left_x - ith.right_x
+ if abs(ith.right_x - ith.x_coord - d) <= bend_tolerance and abs(pth.x_coord - pth.left_x - d) <= bend_tolerance then
+ d = pth.left_y - ith.right_y
+ if abs(ith.right_y - ith.y_coord - d) <= bend_tolerance and abs(pth.y_coord - pth.left_y - d) <= bend_tolerance then
+ return false
+ end
+ end
+ return true
+end
+
+local function flushnormalpath(path,open)
+ local pth, ith
+ for i=1,#path do
+ pth = path[i]
+ if not ith then
+ pdf_literalcode("%f %f m",pth.x_coord,pth.y_coord)
+ elseif curved(ith,pth) then
+ pdf_literalcode("%f %f %f %f %f %f c",ith.right_x,ith.right_y,pth.left_x,pth.left_y,pth.x_coord,pth.y_coord)
+ else
+ pdf_literalcode("%f %f l",pth.x_coord,pth.y_coord)
+ end
+ ith = pth
+ end
+ if not open then
+ local one = path[1]
+ if curved(pth,one) then
+ pdf_literalcode("%f %f %f %f %f %f c",pth.right_x,pth.right_y,one.left_x,one.left_y,one.x_coord,one.y_coord )
+ else
+ pdf_literalcode("%f %f l",one.x_coord,one.y_coord)
+ end
+ elseif #path == 1 then -- special case .. draw point
+ local one = path[1]
+ pdf_literalcode("%f %f l",one.x_coord,one.y_coord)
+ end
+end
+
+local function flushconcatpath(path,open)
+ pdf_literalcode("%f %f %f %f %f %f cm", sx, rx, ry, sy, tx ,ty)
+ local pth, ith
+ for i=1,#path do
+ pth = path[i]
+ if not ith then
+ pdf_literalcode("%f %f m",concat(pth.x_coord,pth.y_coord))
+ elseif curved(ith,pth) then
+ local a, b = concat(ith.right_x,ith.right_y)
+ local c, d = concat(pth.left_x,pth.left_y)
+ pdf_literalcode("%f %f %f %f %f %f c",a,b,c,d,concat(pth.x_coord, pth.y_coord))
+ else
+ pdf_literalcode("%f %f l",concat(pth.x_coord, pth.y_coord))
+ end
+ ith = pth
+ end
+ if not open then
+ local one = path[1]
+ if curved(pth,one) then
+ local a, b = concat(pth.right_x,pth.right_y)
+ local c, d = concat(one.left_x,one.left_y)
+ pdf_literalcode("%f %f %f %f %f %f c",a,b,c,d,concat(one.x_coord, one.y_coord))
+ else
+ pdf_literalcode("%f %f l",concat(one.x_coord,one.y_coord))
+ end
+ elseif #path == 1 then -- special case .. draw point
+ local one = path[1]
+ pdf_literalcode("%f %f l",concat(one.x_coord,one.y_coord))
+ end
+end
+
+% \end{macrocode}
+%
% Finally, flush figures by inserting PDF literals.
% \begin{macrocode}
function luamplib.flush (result,flusher)
@@ -3226,11 +3818,11 @@ function luamplib.flush (result,flusher)
% luamplib silently ignores this invalid figure for those
% that do not contain |beginfig ... endfig|. (issue \#70)
% Original code of ConTeXt general was:
-% \begin{verbatim}
+%\begin{verbatim}
% -- invalid
% pdf_startfigure(fignum,0,0,0,0)
% pdf_stopfigure()
-% \end{verbatim}
+%\end{verbatim}
% \begin{macrocode}
else
% \end{macrocode}
@@ -3248,13 +3840,16 @@ function luamplib.flush (result,flusher)
local object = objects[o]
local objecttype = object.type
% \end{macrocode}
-% The following 6 lines are part of |btex...etex| patch.
+% The following 9 lines are part of |btex...etex| patch.
% Again, colors are processed at this stage.
% \begin{macrocode}
local prescript = object.prescript
prescript = prescript and script2table(prescript) -- prescript is now a table
local cr_over = do_preobj_CR(object,prescript) -- color
local tr_opaq = do_preobj_TR(object,prescript) -- opacity
+ local fading_ = do_preobj_FADE(object,prescript) -- fading
+ local trgroup = do_preobj_GRP(object,prescript) -- transparency group
+ local pattern_ = do_preobj_PAT(object,prescript) -- pattern
if prescript and prescript.mplibtexboxid then
put_tex_boxes(object,prescript)
elseif objecttype == "start_bounds" or objecttype == "stop_bounds" then --skip
@@ -3280,7 +3875,7 @@ function luamplib.flush (result,flusher)
pdf_literalcode("%f %f %f %f %f %f cm",ot[3],ot[4],ot[5],ot[6],ot[1],ot[2])
pdf_textfigure(object.font,object.dsize,object.text,object.width,object.height,object.depth)
stop_pdf_code()
- else
+ elseif not trgroup and fading_ ~= "stop" then
local evenodd, collect, both = false, false, false
local postscript = object.postscript
if not object.istext then
@@ -3306,10 +3901,7 @@ function luamplib.flush (result,flusher)
else
% \end{macrocode}
% Removed from ConTeXt general: color stuff.
-% Added instead : shading stuff
% \begin{macrocode}
- local shade_no = do_preobj_SH(object,prescript) -- shading
- local pattern_ = do_preobj_PAT(object,prescript) -- pattern
local ml = object.miterlimit
if ml and ml ~= miterlimit then
miterlimit = ml
@@ -3351,6 +3943,14 @@ function luamplib.flush (result,flusher)
objecttype = 'fill'
end
end
+% \end{macrocode}
+% Added : shading
+% \begin{macrocode}
+ local shade_no = do_preobj_SH(object,prescript) -- shading
+ if shade_no then
+ pdf_literalcode"q /Pattern cs"
+ objecttype = false
+ end
if transformed then
start_pdf_code()
end
@@ -3371,27 +3971,25 @@ function luamplib.flush (result,flusher)
else
flushnormalpath(path,open)
end
-% \end{macrocode}
-% Shading seems to conflict with these ops
-% \begin{macrocode}
- if not shade_no then -- conflict with shading
- if objecttype == "fill" then
- pdf_literalcode(evenodd and "h f*" or "h f")
- elseif objecttype == "outline" then
- if both then
- pdf_literalcode(evenodd and "h B*" or "h B")
- else
- pdf_literalcode(open and "S" or "h S")
- end
- elseif objecttype == "both" then
+ if objecttype == "fill" then
+ pdf_literalcode(evenodd and "h f*" or "h f")
+ elseif objecttype == "outline" then
+ if both then
pdf_literalcode(evenodd and "h B*" or "h B")
+ else
+ pdf_literalcode(open and "S" or "h S")
end
+ elseif objecttype == "both" then
+ pdf_literalcode(evenodd and "h B*" or "h B")
end
end
if transformed then
stop_pdf_code()
end
local path = object.htap
+% \end{macrocode}
+% How can we generate an |htap| object? Please let us know if you have succeeded.
+% \begin{macrocode}
if path then
if transformed then
start_pdf_code()
@@ -3425,18 +4023,29 @@ function luamplib.flush (result,flusher)
end
end
% \end{macrocode}
-% Added to ConTeXt general: post-object color and shading stuff.
+% Added to ConTeXt general: post-object colors and shading stuff.
+% We should beware the |q ... Q| scope.
% \begin{macrocode}
if shade_no then -- shading
- pdf_literalcode("W n /MPlibSh%s sh Q",shade_no)
+ pdf_literalcode("W%s n /MPlibSh%s sh Q",evenodd and "*" or "",shade_no)
end
end
end
- if tr_opaq then -- opacity
- stop_pdf_code()
+ if fading_ == "start" then
+ pdfetcs.fading.specialeffects = {fading_, tr_opaq, cr_over}
+ elseif trgroup == "start" then
+ pdfetcs.tr_group.specialeffects = {fading_, tr_opaq, cr_over}
+ elseif fading_ == "stop" then
+ local se = pdfetcs.fading.specialeffects
+ if se then stop_special_effects(se[1], se[2], se[3]) end
+ elseif trgroup == "stop" then
+ local se = pdfetcs.tr_group.specialeffects
+ if se then stop_special_effects(se[1], se[2], se[3]) end
+ else
+ stop_special_effects(fading_, tr_opaq, cr_over)
end
- if cr_over then -- color
- put2output"\\special{pdf:ec}"
+ if fading_ or trgroup then -- extgs resetted
+ miterlimit, linecap, linejoin, dashed = -1, -1, -1, false
end
end
end
@@ -3489,15 +4098,34 @@ end
% First we need to load some packages.
%
% \begin{macrocode}
-\bgroup\expandafter\expandafter\expandafter\egroup
-\expandafter\ifx\csname selectfont\endcsname\relax
- \input ltluatex
-\else
+\ifcsname ProvidesPackage\endcsname
+% \end{macrocode}
+% We need \LaTeX\ 2024-06-01 as we use |ltx.pdf.object_id| when pdfmanagement is loaded.
+% But as \pkg{fp} package does not accept an option, we do not append the date option.
+% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{luamplib}
- [2024/06/21 v2.32.3 mplib package for LuaTeX]
- \ifx\newluafunction\@undefined
+ [2024/08/03 v2.34.5 mplib package for LuaTeX]
+\fi
+\ifdefined\newluafunction\else
\input ltluatex
+\fi
+% \end{macrocode}
+%
+% In DVI mode, a new XObject (mppattern, mplibgroup) must be encapsulated in an \cs{hbox}.
+% But this should not affect typesetting. So we use Hook mechanism provided by \LaTeX\ kernel.
+% In Plain, \pkg{atbegshi.sty} is loaded.
+% \begin{macrocode}
+\ifnum\outputmode=0
+ \ifdefined\AddToHookNext
+ \def\luamplibatnextshipout{\AddToHookNext{shipout/background}}
+ \def\luamplibatfirstshipout{\AddToHook{shipout/firstpage}}
+ \def\luamplibateveryshipout{\AddToHook{shipout/background}}
+ \else
+ \input atbegshi.sty
+ \def\luamplibatnextshipout#1{\AtBeginShipoutNext{\AtBeginShipoutAddToBox{#1}}}
+ \let\luamplibatfirstshipout\AtBeginShipoutFirst
+ \def\luamplibateveryshipout#1{\AtBeginShipout{\AtBeginShipoutAddToBox{#1}}}
\fi
\fi
% \end{macrocode}
@@ -3517,7 +4145,7 @@ end
\fi
% \end{macrocode}
%
-% Set the format for metapost.
+% Set the format for \metapost.
% \begin{macrocode}
\def\mplibsetformat#1{\directlua{luamplib.setformat("#1")}}
% \end{macrocode}
@@ -3559,6 +4187,39 @@ end
\def\mplibputtextbox#1{\vbox to 0pt{\vss\hbox to 0pt{\raise\dp#1\copy#1\hss}}}
% \end{macrocode}
%
+% use Transparency Group
+% \begin{macrocode}
+\protected\def\usemplibgroup#1{\csname luamplib.group.#1\endcsname}
+\protected\def\mplibgroup#1{%
+ \begingroup
+ \def\MPllx{0}\def\MPlly{0}%
+ \def\mplibgroupname{#1}%
+ \mplibgroupgetnexttok
+}
+\def\mplibgroupgetnexttok{\futurelet\nexttok\mplibgroupbranch}
+\def\mplibgroupskipspace{\afterassignment\mplibgroupgetnexttok\let\nexttok= }
+\def\mplibgroupbranch{%
+ \ifx [\nexttok
+ \expandafter\mplibgroupopts
+ \else
+ \ifx\mplibsptoken\nexttok
+ \expandafter\expandafter\expandafter\mplibgroupskipspace
+ \else
+ \let\mplibgroupoptions\empty
+ \expandafter\expandafter\expandafter\mplibgroupmain
+ \fi
+ \fi
+}
+\def\mplibgroupopts[#1]{\def\mplibgroupoptions{#1}\mplibgroupmain}
+\def\mplibgroupmain{\setbox\mplibscratchbox\hbox\bgroup\ignorespaces}
+\protected\def\endmplibgroup{\egroup
+ \directlua{ luamplib.registergroup(
+ \the\mplibscratchbox, '\mplibgroupname', {\mplibgroupoptions}
+ )}%
+ \endgroup
+}
+% \end{macrocode}
+%
% Patterns
% \begin{macrocode}
{\def\:{\global\let\mplibsptoken= } \: }
@@ -3597,7 +4258,7 @@ end
}
% \end{macrocode}
%
-% simple way to use mplib:
+% simple way to use \mplib:
% |\mpfig draw fullcircle scaled 10; \endmpfig|
% \begin{macrocode}
\def\mpfiginstancename{@mpfig}
@@ -3620,16 +4281,16 @@ end
\long\def\mplibdomainmpfig#1\endmpfig{%
\endgroup
\directlua{
- local legacy = luamplib.legacy_verbatimtex
+ local legacy = luamplib.legacyverbatimtex
local everympfig = luamplib.everymplib["\mpfiginstancename"] or ""
local everyendmpfig = luamplib.everyendmplib["\mpfiginstancename"] or ""
- luamplib.legacy_verbatimtex = false
+ luamplib.legacyverbatimtex = false
luamplib.everymplib["\mpfiginstancename"] = ""
luamplib.everyendmplib["\mpfiginstancename"] = ""
luamplib.process_mplibcode(
"beginfig(0) "..everympfig.." "..[===[\unexpanded{#1}]===].." "..everyendmpfig.." endfig;",
"\mpfiginstancename")
- luamplib.legacy_verbatimtex = legacy
+ luamplib.legacyverbatimtex = legacy
luamplib.everymplib["\mpfiginstancename"] = everympfig
luamplib.everyendmplib["\mpfiginstancename"] = everyendmpfig
}%
@@ -3643,14 +4304,14 @@ end
\long\def\mplibdoprempfig#1\endmpfig{%
\endgroup
\directlua{
- local legacy = luamplib.legacy_verbatimtex
+ local legacy = luamplib.legacyverbatimtex
local everympfig = luamplib.everymplib["\mpfiginstancename"]
local everyendmpfig = luamplib.everyendmplib["\mpfiginstancename"]
- luamplib.legacy_verbatimtex = false
+ luamplib.legacyverbatimtex = false
luamplib.everymplib["\mpfiginstancename"] = ""
luamplib.everyendmplib["\mpfiginstancename"] = ""
luamplib.process_mplibcode([===[\unexpanded{#1}]===],"\mpfiginstancename")
- luamplib.legacy_verbatimtex = legacy
+ luamplib.legacyverbatimtex = legacy
luamplib.everymplib["\mpfiginstancename"] = everympfig
luamplib.everyendmplib["\mpfiginstancename"] = everyendmpfig
}%
@@ -3729,9 +4390,9 @@ end
\def\mpliblegacybehavior#1{\directlua{
local s = string.lower("#1")
if s == "enable" or s == "true" or s == "yes" then
- luamplib.legacy_verbatimtex = true
+ luamplib.legacyverbatimtex = true
else
- luamplib.legacy_verbatimtex = false
+ luamplib.legacyverbatimtex = false
end
}}
\def\mplibverbatim#1{\directlua{
@@ -3803,14 +4464,13 @@ end
%
% Allow \TeX\ dimen/color macros. Now |runscript| does the job,
% so the following lines are not needed for most cases.
-% But the macros will be expanded when they are used in another macro.
% \begin{macrocode}
\def\mpdim#1{ runscript("luamplibdimen{#1}") }
\def\mpcolor#1#{\domplibcolor{#1}}
\def\domplibcolor#1#2{ runscript("luamplibcolor{#1{#2}}") }
% \end{macrocode}
%
-% MPLib's number system. Now |binary| has gone away.
+% \mplib's number system. Now |binary| has gone away.
% \begin{macrocode}
\def\mplibnumbersystem#1{\directlua{
local t = "#1"
@@ -3875,12 +4535,13 @@ end
% \end{macrocode}
%
% The followings are from ConTeXt general, mostly.
-% % We use a dedicated scratchbox.
+%
+% We use a dedicated scratchbox.
% \begin{macrocode}
\ifx\mplibscratchbox\undefined \newbox\mplibscratchbox \fi
% \end{macrocode}
%
-% We encapsulate the litterals.
+% We encapsulate the literals.
% \begin{macrocode}
\def\mplibstarttoPDF#1#2#3#4{%
\prependtomplibbox
diff --git a/macros/luatex/generic/luamplib/luamplib.pdf b/macros/luatex/generic/luamplib/luamplib.pdf
index e51324ffe4..7682155b3c 100644
--- a/macros/luatex/generic/luamplib/luamplib.pdf
+++ b/macros/luatex/generic/luamplib/luamplib.pdf
Binary files differ
diff --git a/macros/luatex/generic/luamplib/test-luamplib-latex.tex b/macros/luatex/generic/luamplib/test-luamplib-latex.tex
index c2d8cb498b..8435ee070c 100644
--- a/macros/luatex/generic/luamplib/test-luamplib-latex.tex
+++ b/macros/luatex/generic/luamplib/test-luamplib-latex.tex
@@ -7,7 +7,7 @@
\usepackage{fontspec}
\setmainfont{latin modern roman}
\usepackage{luamplib}
-\usepackage{xcolor}
+\usepackage{graphicx,xcolor}
\everymplib{ beginfig(0); }
\everyendmplib{ endfig; }
\mpliblegacybehavior{true}%
@@ -246,19 +246,19 @@ draw mpliboutlinetext.b ("$\displaystyle\frac{1}{1-x^2}$")
\endmpfig
\par\leavevmode
\mppattern{mypatt}
- \mpfig
- picture q;
- q := btex Q etex;
- fill bbox q withcolor .8[red,white];
- draw q withcolor .8red;
- \endmpfig
+[
+ xstep = 5, ystep = 6,
+ matrix = "rotated 90 scaled .75",
+]
+\mpfig
+draw (origin--right+up) scaled 5 withcolor 1/3[blue,white] ;
+draw (up--right) scaled 5 withcolor 1/3[red,white] ;
+\endmpfig
\endmppattern
\mpfig
- fill fullcircle scaled 100 withpostscript "collect";
- draw unitsquare shifted - center unitsquare scaled 45
- withpattern "mypatt"
- withpostscript "evenodd"
- ;
+draw unitsquare shifted -center unitsquare scaled 45 withpostscript "collect" ;
+draw fullcircle scaled 100 withpattern "mypatt" withpen pencircle scaled 1
+ withcolor \mpcolor{red!50!blue!50} withpostscript "evenodd" ;
\endmpfig
\begin{mppattern}{pattuncolored}
[
@@ -268,19 +268,81 @@ draw mpliboutlinetext.b ("$\displaystyle\frac{1}{1-x^2}$")
\tiny\TeX
\end{mppattern}\relax
\mpfig
- picture tex; tex := mpliboutlinetext.p ("\bfseries \TeX");
- i:=0;
- for item within tex:
- i:=i+1;
- if i < length tex:
- fill pathpart item scaled 10 withpostscript "collect";
- else:
- draw pathpart item scaled 10 withpattern "pattuncolored"
- withpen pencircle scaled 1/2
- withcolor 0.7 blue;
- fi
+ picture tex;
+ tex = mpliboutlinetext.p ("\bfseries \TeX");
+ for i=1 upto mpliboutlinenum:
+ draw image(
+ j:=0;
+ for item within mpliboutlinepic[i]:
+ j:=j+1;
+ draw pathpart item scaled 10
+ if j < length mpliboutlinepic[i]:
+ withpostscript "collect"
+ else:
+ withpattern "pattuncolored"
+ withpen pencircle scaled 1/2
+ withcolor (i/4)[red,blue]
+ fi;
+ endfor
+ )
+ withfademethod "linear"
+ ;
endfor
\endmpfig
+\par\leavevmode
+\mpfig
+ picture mill; mill = btex \includegraphics[width=100bp]{mill} etex;
+ draw mill;
+ mill := mill shifted 125right;
+ draw mill
+ withfademethod "circular"
+ withfadecenter (center mill, center mill)
+ withfaderadius (30, abs(lrcorner mill - llcorner mill)/2)
+ withfadeopacity (1, 0)
+ ;
+\endmpfig
+\par
+\def\test#1{%
+ \mpfig
+ fill unitsquare shifted -center unitsquare scaled 200
+ withshademethod "linear"
+ withshadecolors (.3[red,white], .3[blue,white])
+ ;
+ label( btex MetaPost etex scaled 3, origin) ;
+ draw image(
+ fill fullcircle scaled 100 shifted 25left
+ withcolor .8white
+ withtransparency (2,1)
+ ;
+ fill fullcircle scaled 100 shifted 25right
+ withcolor .8white
+ withtransparency (2,1)
+ ;
+ )
+ asgroup "#1"
+ withgroupname "test:#1"
+ withtransparency (1,.5)
+ ;
+ currentpicture := currentpicture scaled 2/3;
+ \endmpfig
+}%
+\hbox{\test{isolated,knockout}\,\test{isolated}\vbox to\MPheight{\vss\hbox{~isolated}\vss}}%
+\hbox{\test{knockout}\,\test{}}%
+\hbox to\MPwidth{\hss knockout\hss}%
+\leavevmode
+\mpfig usemplibgroup "test:isolated,knockout" scaled 2/3 rotated 15 ; \endmpfig
+\usemplibgroup{test:isolated,knockout}%
+\begin{mplibgroup}{mytex}[matrix="rotated 15"] \TeX \end{mplibgroup}%
+\hbox to0pt{\hss\vrule width.5pt height5pt depth5pt\hss}%
+\hbox to0pt{\hss\vrule width10pt height.25pt depth.25pt\hss}%
+\usemplibgroup{mytex}%
+\mpfig usemplibgroup "mytex"; draw (left--right) scaled 5; draw (up--down) scaled 5; \endmpfig
+\par
+\mpfig
+ picture test; test = mplibgraphictext "\textbf{MPLIB}"
+ fakebold 1 fillcolor "red!70" drawcolor .7red scaled 7;
+ draw test withpattern "mypatt" ;
+\endmpfig
\tracingcommands0
\vskip 2\baselineskip
diff --git a/macros/luatex/generic/luamplib/test-luamplib-plain.tex b/macros/luatex/generic/luamplib/test-luamplib-plain.tex
index c178acb31a..05c2f8138d 100644
--- a/macros/luatex/generic/luamplib/test-luamplib-plain.tex
+++ b/macros/luatex/generic/luamplib/test-luamplib-plain.tex
@@ -1,4 +1,4 @@
-\input luaotfload.sty
+%\input luaotfload.sty
\input miniltx
\input color
\definecolor{orange}{cmyk}{0,.5,1,0}
@@ -261,18 +261,62 @@ draw mpliboutlinetext.b ("$\overbrace{x+\cdots+x}^k$")
\fiverm\TeX
\endmppattern
\mpfig
- picture tex; tex := mpliboutlinetext.p ("\bf \TeX");
- i:=0;
- for item within tex:
- i:=i+1;
- if i < length tex:
- fill pathpart item scaled 10 withpostscript "collect";
- else:
- draw pathpart item scaled 10 withpattern "pattuncolored"
- withpen pencircle scaled 1/2
- withcolor 0.7 blue;
- fi
+ picture tex;
+ tex = mpliboutlinetext.p ("\bf \TeX");
+ draw image(
+ for i=1 upto mpliboutlinenum:
+ j:=0;
+ for item within mpliboutlinepic[i]:
+ j:=j+1;
+ draw pathpart item scaled 10
+ if j < length mpliboutlinepic[i]:
+ withpostscript "collect"
+ else:
+ withpattern "pattuncolored"
+ withpen pencircle scaled 1/2
+ withcolor (i/4)[red,blue]
+ fi;
+ endfor
endfor
+ )
+ withfademethod "linear"
+ ;
+\endmpfig
+\par\leavevmode
+\mpfig
+fill fullcircle scaled 125 withcolor 2/3[blue,white];
+fill fullcircle scaled 80 withcolor 2/3[red,white];
+draw image(
+ draw (left--right) rotated 45 scaled 50
+ withpen pencircle scaled 20
+ ;
+ draw (left--right) rotated -45 scaled 50
+ withpen pencircle scaled 20
+ ;
+ )
+ asgroup ""
+ withgroupname "testTRgroup"
+ withprescript "tr_transparency=.3"
+ ;
+\endmpfig
+\mpfig
+fill fullcircle scaled 125 withcolor 2/3[red,white];
+fill fullcircle scaled 80 withcolor 2/3[blue,white];
+usemplibgroup "testTRgroup"
+ withfademethod "circular"
+ withfaderadius (0,60)
+ ;
+\endmpfig
+\mplibgroup{mytex}[matrix="rotated 15"] \TeX \endmplibgroup
+\hbox to0pt{\hss\vrule width.5pt height5pt depth5pt\hss}%
+\hbox to0pt{\hss\vrule width10pt height.25pt depth.25pt\hss}%
+\usemplibgroup{mytex}%
+\mpfig usemplibgroup "mytex"; draw (left--right) scaled 5; draw (up--down) scaled 5; \endmpfig
+\par
+\mpfig
+ picture test; test = mplibgraphictext "\bf MPLIB"
+ fakebold 1 fillcolor .7[white,blue] drawcolor .7blue scaled 7;
+ draw test withpattern "pattuncolored" ;
\endmpfig
\tracingcommands0
diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README
index 9224c83b0b..0bc40ac643 100644
--- a/macros/luatex/generic/luatexja/README
+++ b/macros/luatex/generic/luatexja/README
@@ -1,4 +1,4 @@
-The LuaTeX-ja Package 20240514.0
+The LuaTeX-ja Package 20240714.0
--------------------------------
Copyright (c) 2011--2024 The LuaTeX-ja project
License: modified BSD (see COPYING)
@@ -42,7 +42,7 @@ Installation
2. If you must/want to install manually:
a. Download the source archive from CTAN,
- or tagged as 20240514.0 in the Git repository by
+ or tagged as 20240714.0 in the Git repository by
<https://github.com/luatexja/luatexja/archive/refs/tags/$VER.zip>
b. Extract the archive and process following three files by LuaLaTeX
@@ -92,4 +92,4 @@ Notes
This file and ltj-kinsoku.lua are not used anymore.
(Do not remove ltj-kinsoku.tex.)
-Last commit date: Tue May 14 19:12:05 2024 +0900
+Last commit date: Sun Jul 14 08:56:04 2024 +0900
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
index de28e1d279..eac7af315d 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
index 49a8a6feef..ee55789a60 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja.dtx b/macros/luatex/generic/luatexja/doc/luatexja.dtx
index b550dc58d4..9ad5209465 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja.dtx
+++ b/macros/luatex/generic/luatexja/doc/luatexja.dtx
@@ -1467,14 +1467,19 @@ Alphabetic fonts
&\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}&\cs{setmonofont}\\
\midrule
Japanese fonts
-&\cs{newjfontfamily}&\cs{renewjfontfamily}&\cs{setjfontfamily}\\
+&\cs{newjfontfamily}&\cs{renewjfontfamily}&\cs{setjfontfamily}&\cs{providejfontfamily}\\
Alphabetic fonts
-&\cs{newfontfamily}&\cs{renewfontfamily}&\cs{setfontfamily}\\
+&\cs{newfontfamily}&\cs{renewfontfamily}&\cs{setfontfamily}&\cs{providefontfamily}\\
\midrule
Japanese fonts
-&\cs{newjfontface}&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
+&\cs{newjfontface}&\cs{renewjfontface}&\cs{setjfontface}&\cs{providejfontface}\\
Alphabetic fonts
-&\cs{newfontface}&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
+&\cs{newfontface}&\cs{renewfontface}&\cs{setfontface}&\cs{providefontface}\\
+\midrule
+Japanese fonts
+&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
+Alphabetic fonts
+&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
\bottomrule
\end{tabular}\par}
\end{table}
@@ -1492,14 +1497,19 @@ Alphabetic fonts
&\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}&\cs{setmonofont}\\
\midrule
\emph{和文}
-&\cs{newjfontfamily}&\cs{renewjfontfamily}&\cs{setjfontfamily}\\
+&\cs{newjfontfamily}&\cs{renewjfontfamily}&\cs{setjfontfamily}&\cs{providejfontfamily}\\
+\emph{欧文}
+&\cs{newfontfamily}&\cs{renewfontfamily}&\cs{setfontfamily}&\cs{providefontfamily}\\
+\midrule
+\emph{和文}
+&\cs{newjfontface}&\cs{renewjfontface}&\cs{setjfontface}&\cs{providejfontface}\\
\emph{欧文}
-&\cs{newfontfamily}&\cs{renewfontfamily}&\cs{setfontfamily}\\
+&\cs{newfontface}&\cs{renewfontface}&\cs{setfontface}&\cs{providefontface}\\
\midrule
\emph{和文}
-&\cs{newjfontface}&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
+&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
\emph{欧文}
-&\cs{newfontface}&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
+&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
\bottomrule
\end{tabular}\par}
\end{table}
@@ -7833,7 +7843,7 @@ stretch_priority={kanjiskip=-35,xkanjiskip=-25,others=50}
さらに,バージョン20220211.0以降では次の命令が提供される.
\begin{cslist}
- \item[\cs{ltjghostbeginjachar}]
+ \item[\cs{ltjghostbeforejachar}]
\LuaTeX-ja本体が提供している\cs{ltjfakeparbegin}, \cs{ltjfakeboxbdd}と類似の命令である.
実行された箇所が(限定・非限定を問わず)水平モードであった場合に,実行された箇所は
「文字クラス0の\textbf{JAchar}」の直前であると,
@@ -7850,7 +7860,7 @@ A\LG 字 \par% ==> ALchar--(xkanjiskip)--\LG
\end{LTXexample}
\item[\cs{ltjghostafterjachar}]
- \cs{ltjghostbeginjachar}と対を成す命令で,実行された箇所は
+ \cs{ltjghostbeforejachar}と対を成す命令で,実行された箇所は
「文字クラス0の\textbf{JAchar}」の直後であると,
\LuaTeX-jaの和文処理グルー挿入処理に認識させる.以下の実行例を参照.
diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
index 76ebf8716c..6ef3ff1751 100644
--- a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
+++ b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec-27c}[2024-02-19 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec-27c}[2024-05-27 fontspec support of LuaTeX-ja]
\RequirePackage{l3keys2e}
\ExplSyntaxOn
@@ -359,10 +359,24 @@
\setfontfamily #1 [#2,#4] {#3}
\cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
}
+\DeclareDocumentCommand \providejfontfamily { m O{} m O{} } {
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_fontspec_set_family:Nnn
+ \providefontfamily #1 [#2,#4] {#3}
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
+}
\DeclareDocumentCommand \newjfontface { m O{} m O{} } {
\newjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
}
+\DeclareDocumentCommand \renewjfontface { m O{} m O{} } {
+ \renewjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+\DeclareDocumentCommand \setjfontface { m O{} m O{} } {
+ \setjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+\DeclareDocumentCommand \providejfontface { m O{} m O{} } {
+ \providejfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
\prop_new:N \l__ltj_fontspec_tmp_prop
\prop_new:N \g__ltj_fontspec_fontopts_prop
diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29c.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29c.sty
index 1415cee127..51af33447c 100644
--- a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29c.sty
+++ b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29c.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec-29c}[2024-05-05 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec-29c}[2024-05-27 fontspec support of LuaTeX-ja]
\RequirePackage{l3keys2e}
\ExplSyntaxOn
@@ -359,10 +359,24 @@
\setfontfamily #1 [#2,#4] {#3}
\cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
}
+\DeclareDocumentCommand \providejfontfamily { m O{} m O{} } {
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_fontspec_set_family:Nnn
+ \providefontfamily #1 [#2,#4] {#3}
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
+}
\DeclareDocumentCommand \newjfontface { m O{} m O{} } {
\newjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
}
+\DeclareDocumentCommand \renewjfontface { m O{} m O{} } {
+ \renewjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+\DeclareDocumentCommand \setjfontface { m O{} m O{} } {
+ \setjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+\DeclareDocumentCommand \providejfontface { m O{} m O{} } {
+ \providejfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
\prop_new:N \l__ltj_fontspec_tmp_prop
\prop_new:N \g__ltj_fontspec_fontopts_prop
diff --git a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29e.sty b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29e.sty
index e763d91ad7..02a79ad6ca 100644
--- a/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29e.sty
+++ b/macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-29e.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec-29e}[2024-05-14 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec-29e}[2024-05-27 fontspec support of LuaTeX-ja]
\RequirePackage{l3keys2e}
\ExplSyntaxOn
@@ -359,10 +359,24 @@
\setfontfamily #1 [#2,#4] {#3}
\cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
}
+\DeclareDocumentCommand \providejfontfamily { m O{} m O{} } {
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_fontspec_set_family:Nnn
+ \providefontfamily #1 [#2,#4] {#3}
+ \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_orig_fontspec_set_family:Nnn
+}
\DeclareDocumentCommand \newjfontface { m O{} m O{} } {
\newjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
}
+\DeclareDocumentCommand \renewjfontface { m O{} m O{} } {
+ \renewjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+\DeclareDocumentCommand \setjfontface { m O{} m O{} } {
+ \setjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
+\DeclareDocumentCommand \providejfontface { m O{} m O{} } {
+ \providejfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
+}
\prop_new:N \l__ltj_fontspec_tmp_prop
\prop_new:N \g__ltj_fontspec_fontopts_prop
diff --git a/macros/luatex/generic/luatexja/src/lltjext.sty b/macros/luatex/generic/luatexja/src/lltjext.sty
index a83c9305c9..69e709f02e 100644
--- a/macros/luatex/generic/luatexja/src/lltjext.sty
+++ b/macros/luatex/generic/luatexja/src/lltjext.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjext}[2022-08-24 v1.2k-ltj-14 Macros for vertical writing]
+\ProvidesPackage{lltjext}[2024-05-16 v1.2k-ltj-15 Macros for vertical writing]
\RequirePackage{luatexja}
\newcount\ltj@ext@dir
\let\ltj@lltjext@orig@tabular=\tabular
@@ -541,17 +541,11 @@
\else \let\box@dir\utod
\fi
\fi
-\ifltj@ltfilehook@avail % LaTeX2e >= 2020-10-01
\@defaultunitsset\@picht{#3}\unitlength
\@defaultunitsset\@picwd{#2}\unitlength
\setbox\@picbox\hbox to\@picwd\bgroup\box@dir
\@defaultunitsset\@tempdimc{#4}\unitlength\hskip-\@tempdimc
\@defaultunitsset\@tempdimc{#5}\unitlength\lower\@tempdimc\hbox\bgroup
-\else % <= 2020-02-02
- \@picwd=#2\unitlength \@picht=#3\unitlength
- \setbox\@picbox\hbox to\@picwd\bgroup\box@dir
- \hskip-#4\unitlength\lower#5\unitlength\hbox\bgroup
-\fi
\ltj@@pic@reset@blshift
\ignorespaces}
\def\endpicture{%
diff --git a/macros/luatex/generic/luatexja/src/ltj-latex.sty b/macros/luatex/generic/luatexja/src/ltj-latex.sty
index 7e091d161d..9f6e4d0a36 100644
--- a/macros/luatex/generic/luatexja/src/ltj-latex.sty
+++ b/macros/luatex/generic/luatexja/src/ltj-latex.sty
@@ -12,45 +12,14 @@
\def\luatexjalatexLoaded{\endinput}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ltj-latex}[2022-10-15 LaTeX support of LuaTeX-ja]
+\ProvidesPackage{ltj-latex}[2024-05-16 LaTeX support of LuaTeX-ja]
\endlinechar=13
%%% LaTeX version detection
-\newif\ifltj@ltfilehook@avail
-\@ifl@t@r\fmtversion{2020-10-01}{%
- \@ifl@t@r\fmtversion{2020-10-02}%
- {\ltj@ltfilehook@availtrue}
- {%
- \ifnum\patch@level<0\relax \ifnum\patch@level<-6 \ltj@ltfilehook@availtrue\fi
- \else\ltj@ltfilehook@availtrue\fi
- }%
-}{}
-\@ifl@t@r\fmtversion{2021-05-01}{\count@=1 }{\count@=0 }
-\ifnum \count@<1
-%%%% \shipout
- \newluafunction\ltj@@lua@shipout@inner
- \directlua{
- local t = lua.get_functions_table()
- local getbox, setbox = tex.getbox, tex.setbox
- local shipout_lthook = luatexja.direction.shipout_lthook
- t[\the\ltj@@lua@shipout@inner]=function ()
- local a = shipout_lthook(getbox(\the\ltj@afbox))
- if a then setbox(\the\ltj@afbox, a) end
- end
- }
- \protected\luadef\ltj@@lua@shipout\ltj@@lua@shipout@inner
- \def\ltj@shipout@{\ltj@@lua@shipout\primitive\shipout\box\ltj@afbox}%
- \protected\def\ltj@shipout{\ltj@afterbox\ltj@shipout@}
- \ifprimitive\shipout\let\shipout\ltj@shipout\fi
- \ifcsname tex_shipout:D\endcsname
- \expandafter\let\csname tex_shipout:D\endcsname\ltj@shipout
- \fi
-\else
- \directlua{%
- luatexbase.add_to_callback('pre_shipout_filter',luatexja.direction.shipout_lthook, 'ltj.direction', 1)
- }
-\fi
+\directlua{%
+ luatexbase.add_to_callback('pre_shipout_filter',luatexja.direction.shipout_lthook, 'ltj.direction', 1)
+}
%%% patch for LaTeX
\usepackage{lltjfont}
@@ -59,36 +28,30 @@
\RequirePackage{lltjp-atbegshi}
%%% patching commands
-\ifltj@ltfilehook@avail
- %% \ltj@ExecuteBeforePackage <package><code> and \ltj@ExecuteAfterPackage <package><code>
- %% no-starred version: do nothing if the <package> is loaded
- %% starred version: do <code> right away if the <package> is loaded
- \def\ltj@ExecuteAfterPackage{\@ifstar\@@ltj@ExecuteAfterPackage@star\@@ltj@ExecuteAfterPackage}
- \def\ltj@ExecuteBeforePackage{\@ifstar\@@ltj@ExecuteBeforePackage@star\@@ltj@ExecuteBeforePackage}
- \@ifl@t@r\fmtversion{2021-11-15}{% 2021-11-15
- \def\@@ltj@ExecuteAfterPackage@star#1{\AddToHook{package/#1/after}}
- \def\@@ltj@ExecuteBeforePackage@star#1{\AddToHook{package/#1/before}}
- \long\def\@@ltj@ExecuteAfterPackage#1#2{%
- \@ifpackageloaded{#1}{}{\AddToHook{package/#1/after}{#2}}%
- }
- \long\def\@@ltj@ExecuteBeforePackage#1#2{%
- \@ifpackageloaded{#1}{}{\AddToHook{package/#1/before}{#2}}%
- }
- }{
- \def\@@ltj@ExecuteAfterPackage#1{\AddToHook{package/after/#1}}
- \def\@@ltj@ExecuteBeforePackage#1{\AddToHook{package/before/#1}}
- \long\def\@@ltj@ExecuteAfterPackage@star#1#2{%
- \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteAfterPackage{#1}{#2}}%
- }
- \long\def\@@ltj@ExecuteBeforePackage@star#1#2{%
- \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteBeforePackage{#1}{#2}}%
- }
+%% \ltj@ExecuteBeforePackage <package><code> and \ltj@ExecuteAfterPackage <package><code>
+%% no-starred version: do nothing if the <package> is loaded
+%% starred version: do <code> right away if the <package> is loaded
+\def\ltj@ExecuteAfterPackage{\@ifstar\@@ltj@ExecuteAfterPackage@star\@@ltj@ExecuteAfterPackage}
+\def\ltj@ExecuteBeforePackage{\@ifstar\@@ltj@ExecuteBeforePackage@star\@@ltj@ExecuteBeforePackage}
+\@ifl@t@r\fmtversion{2021-11-15}{% 2021-11-15
+ \def\@@ltj@ExecuteAfterPackage@star#1{\AddToHook{package/#1/after}}
+ \def\@@ltj@ExecuteBeforePackage@star#1{\AddToHook{package/#1/before}}
+ \long\def\@@ltj@ExecuteAfterPackage#1#2{%
+ \@ifpackageloaded{#1}{}{\AddToHook{package/#1/after}{#2}}%
}
-\else
- \RequirePackage{filehook}
- \let\ltj@ExecuteAfterPackage=\AtEndOfPackageFile
- \let\ltj@ExecuteBeforePackage=\AtBeginOfPackageFile
-\fi
+ \long\def\@@ltj@ExecuteBeforePackage#1#2{%
+ \@ifpackageloaded{#1}{}{\AddToHook{package/#1/before}{#2}}%
+ }
+}{
+ \def\@@ltj@ExecuteAfterPackage#1{\AddToHook{package/after/#1}}
+ \def\@@ltj@ExecuteBeforePackage#1{\AddToHook{package/before/#1}}
+ \long\def\@@ltj@ExecuteAfterPackage@star#1#2{%
+ \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteAfterPackage{#1}{#2}}%
+ }
+ \long\def\@@ltj@ExecuteBeforePackage@star#1#2{%
+ \@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteBeforePackage{#1}{#2}}%
+ }
+}
\def\ltj@pkgpatch@im#1{\@ifnextchar[{\ltj@pkgpatch@im@{#1}}{\ltj@pkgpatch@im@{#1}[lltjp-#1]}}%]
\def\ltj@pkgpatch@im@#1[#2]{\ltj@ExecuteAfterPackage*{#1}{\ltj@pkgpatch@im@@{#2}}}
\def\ltj@pkgpatch@im@@#1{%
@@ -101,11 +64,7 @@
}
\def\ltj@pkgpatch#1{\@ifnextchar[{\ltj@pkgpatch@{#1}}{\ltj@pkgpatch@{#1}[lltjp-#1]}}%]
-\ifltj@ltfilehook@avail
- \def\ltj@pkgpatch@@{\AddToHook{begindocument/before}[luatexja.autopatch]}
-\else
- \def\ltj@pkgpatch@@{\gpreto\@begindocumenthook}
-\fi
+\def\ltj@pkgpatch@@{\AddToHook{begindocument/before}[luatexja.autopatch]}
\def\ltj@pkgpatch@#1[#2]{%
\ltj@pkgpatch@@{%
\@ifpackageloaded{#1}{\@ifpackageloaded{#2}{}{\RequirePackage{#2}}}{}%
@@ -121,18 +80,12 @@
\ltj@pkgpatch{tascmac}
\ltj@pkgpatch{ascmac}[lltjp-tascmac]
\ltj@pkgpatch@im{stfloats}
-\ifltj@ltfilehook@avail\else
- \ltj@pkgpatch{preview} %% at \begin{document}
- % (preview package has delayed option)
-\fi
\ltj@pkgpatch{array} %% at \begin{document}
\ltj@pkgpatch{collcell} %% at \begin{document}
\ltj@pkgpatch@im{unicode-math}
\ltj@pkgpatch@im{siunitx}
\ltj@pkgpatch@im{microtype}
-\ifltj@ltfilehook@avail\else\ltj@pkgpatch@im{everyshi}\fi
-
\RequirePackage{lltjp-geometry}
\ltj@ExecuteBeforePackage{breqn}{%
diff --git a/macros/luatex/generic/luatexja/src/ltj-pretreat.lua b/macros/luatex/generic/luatexja/src/ltj-pretreat.lua
index 43ecac806c..8f5632be4e 100644
--- a/macros/luatex/generic/luatexja/src/ltj-pretreat.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-pretreat.lua
@@ -156,16 +156,17 @@ function set_box_stack_level(head, mode)
if ltjs.list_dir == dir_tate then
for p in traverse_glyph(to_direct(head)) do
if getlang(p)==lang_ja and has_attr(p, attr_icflag, 0) then
- local pf = ltjf_replace_altfont(attr_curtfnt, getchar(p), p)
+ local pc = ltjs_orig_char_table[p] or getchar(p)
+ local pf = ltjf_replace_altfont(attr_curtfnt, pc, p)
if ltjf_font_metric_table[pf].vert_activated then
- local pc = ltjf_font_metric_table[pf].vform[pc]; if pc then setchar(p, pc) end
+ pc = ltjf_font_metric_table[pf].vform[pc]; if pc then setchar(p, pc) end
end
end
end
else
for p in traverse_glyph(to_direct(head)) do
if getlang(p)==lang_ja and has_attr(p, attr_icflag, 0) then
- ltjf_replace_altfont(attr_curjfnt, getchar(p), p)
+ ltjf_replace_altfont(attr_curjfnt, ltjs_orig_char_table[p] or getchar(p), p)
end
end
end
diff --git a/macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua b/macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
index 88352dd5b2..2b65eb5e5c 100644
--- a/macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
@@ -15,7 +15,7 @@ do
end
local cidfont_data = {}
local cache_chars = {}
-local cache_ver = 13
+local cache_ver = 14
local identifiers = fonts.hashes.identifiers
local cid_reg, cid_order, cid_supp, cid_name
@@ -147,7 +147,7 @@ do
descender = 655360*0.12,
},
embedding = "no", cache = "yes", factor = 0, hfactor = 0, vfactor = 0,
- tounicode = 1,
+ tounicode = 1, filename="",
properties = { language = "dflt", script = "dflt" },
}
cidfont_data[cid_name] = k
diff --git a/macros/luatex/generic/luatexja/src/luatexja.sty b/macros/luatex/generic/luatexja/src/luatexja.sty
index a54ede6758..f9ae793bb4 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja.sty
@@ -27,7 +27,7 @@
\newif\ifltj@disablejfam
%%%% VERSION
-\def\LuaTeXjaversion{20240514.0}
+\def\LuaTeXjaversion{20240714.0}
%% Check if LaTeX is used.
\begingroup\expandafter\expandafter\expandafter\endgroup
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty b/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
index bb63ac6877..00c858e349 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjdefs}[2022-01-23 Default font settings of LuaTeX-ja]
+\ProvidesPackage{lltjdefs}[2024-05-16 Default font settings of LuaTeX-ja]
\ifdefined\ltj@stdmcfont\else\def\ltj@stdmcfont{file:HaranoAjiMincho-Regular.otf}\fi
\ifdefined\ltj@stdgtfont\else\def\ltj@stdgtfont{file:HaranoAjiGothic-Medium.otf}\fi
@@ -18,13 +18,8 @@
\DeclareKanjiEncodingDefaults{}{}
\DeclareErrorKanjiFont{JY3}{mc}{m}{n}{10}
\kanjifamily{mc}
-\ifnum\ltj@@latex@plv<1500 % <=2020-10-01
- \kanjiseries{m}
- \kanjishape{n}
-\else % >=2021-06-01
- \def\k@series{m}
- \def\k@shape{n}
-\fi
+\def\k@series{m}
+\def\k@shape{n}
\fontsize{10}{10}
\DeclareYokoKanjiEncoding{JY3}{}{}
\DeclareKanjiSubstitution{JY3}{mc}{m}{n}
@@ -37,12 +32,7 @@
\newcommand\kanjiencodingdefault{JY3}
\newcommand\kanjifamilydefault{\mcdefault}
\newcommand\kanjiseriesdefault{\mddefault}
-\ifnum 0\ifltj@ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0
- %% LaTeX 2020-02-02
- \newcommand\kanjishapedefault{\shapedefault}
-\else%% LaTeX 2019-10-01
- \newcommand\kanjishapedefault{\updefault}
-\fi
+\newcommand\kanjishapedefault{\shapedefault}
\DeclareKanjiFamily{JY3}{mc}{}
\DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi]
@@ -90,57 +80,36 @@
\DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
\fi
-\ifnum 0\ifltj@ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0
-%%%% LaTeX >= 2020-02-02
\edef\bfseries@mc{\bfdefault}
\edef\bfseries@gt{\bfdefault}
\def\bfseries@jtt{\bfseries@mc}
\edef\mdseries@mc{\mddefault}
\edef\mdseries@gt{\mddefault}
\def\mdseries@jtt{\mdseries@mc}
-\fi
\newif\if@ltj@match@family
\@ltj@match@familyfalse
\def\verbatim@font{\normalfont\ttfamily\kanjifamily\jttdefault\selectfont}
-\def\@ltj@hook@family#1#2{% #1: csname #2: contents
- \ifltj@ltfilehook@avail % LaTeX 2020-10-01
- \AddToHook{#1}{#2}%
- \else\ifcsname @#1hook\endcsname % LaTeX 2020-02-02
- \csappto{@#1hook}{#2}%
- \else % LaTeX 2019-10-01
- \ifcsname #1 \endcsname
- \expandafter\patchcmd\csname #1 \endcsname{\selectfont}{#2\selectfont}{}{}%
- \else
- \PackageWarningNoLine{luatexja}{%
- Patching to \expandafter\string\csname #1\endcsname\space failed%
- }%
- \fi
- \fi\fi
-}
-\@ltj@hook@family{rmfamily}{%
+\AddToHook{rmfamily}{%
\if@ltj@match@family
\prepare@family@series@update@kanji{mc}\mcdefault
\fi
}
-\@ltj@hook@family{sffamily}{%
+\AddToHook{sffamily}{%
\if@ltj@match@family
\prepare@family@series@update@kanji{gt}\gtdefault
\fi
}
-\@ltj@hook@family{ttfamily}{%
+\AddToHook{ttfamily}{%
\if@ltj@match@family
\prepare@family@series@update@kanji{jtt}\jttdefault
\fi
}
-\let\@ltj@hook@family\@undefined
-\ifltj@ltfilehook@avail % 2020-10-01
- \expandafter\def\expandafter\kanjiseriesdefault
- \expandafter{\kanjiseriesdefault\@empty}
- \let\kanjiseriesdefault@kernel\kanjiseriesdefault
-\fi
+\expandafter\def\expandafter\kanjiseriesdefault
+ \expandafter{\kanjiseriesdefault\@empty}
+\let\kanjiseriesdefault@kernel\kanjiseriesdefault
%%% \eminnershape
\expandafter\patchcmd\csname em \endcsname{\itshape}{\gtfamily\itshape}{}{}
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjfont.sty b/macros/luatex/generic/luatexja/src/patches/lltjfont.sty
index 2efc9435ab..52ac44d5cc 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjfont.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjfont.sty
@@ -3,31 +3,10 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjfont}[2023-04-13 Patch to NFSS2 for LuaTeX-ja]
+\ProvidesPackage{lltjfont}[2023-05-16 Patch to NFSS2 for LuaTeX-ja]
%%%%%%%% LaTeX2e version detection
-\newcount\ltj@@latex@plv \ltj@@latex@plv=-1
-\ifltj@ltfilehook@avail
-\ExplSyntaxOn
- \cs_if_exist:NTF \__shipout_execute_main_cont:Nnnn
- {\ltj@@latex@plv=1500}% 2021-06-01
- {\ifnum\patch@level>2\relax \ltj@@latex@plv=1300\else \ltj@@latex@plv=1000\fi}% 2020-10-01
-\ExplSyntaxOff
-\else\ifdefined\@rmfamilyhook % 2020-02-02
- \ifx\@forced@seriestrue\@undefined % 2020-02-02 pl0--2
- \@latex@error
- {Please update LaTeX2e!^^J\space\space
- At least LaTeX2e 2020-02-02 patch level 3 is required}%
- {LaTeX2e 2020-02-02 patch level 2 (and 4) has a bug.}
- \else
- \ltj@@latex@plv=300
- \unless\ifx\series@maybe@drop@one@m@x\@undefined % pl5 + develop
- \ltj@@latex@plv=501
- \else\unless\ifx\series@maybe@drop@one@m\@undefined % patch level 5
- \ltj@@latex@plv=500
- \fi\fi
- \fi
-\fi\fi
+\newcount\ltj@@latex@plv \ltj@@latex@plv=1500
%% patching \DeclareTextComposite
\def\ltj@chardef@text@cmd#1{%
@@ -400,59 +379,7 @@
\directlua{luatexja.jfont.pickup_alt_font_a('\f@size')}%
}%
\fi}
-\ifnum\ltj@@latex@plv<1500 % <=2020-10-01
-\protected\def\ltj@selectfont@patch{%
- \ltj@@start@time@measure{selectfont}%
- \let\tmp@error@fontshape\error@fontshape
- \let\error@fontshape\error@kfontshape
- \ltj@@is@kyenc{\k@encoding}\ifin@%
- \let\cy@encoding\k@encoding
- \ensure@KanjiEncodingPair{t}%
- \edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}%
- \else
- \ltj@@is@ktenc{\k@encoding}\ifin@%
- \let\ct@encoding\k@encoding
- \ensure@KanjiEncodingPair{y}%
- \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}%
- \else
- \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha
- \fi
- \fi
- \global\let\ltj@afont@name=\font@name
- \ltj@selectfont@tate\ltj@selectfont@yoko
-%
- \edef\tmp@item{{\k@encoding}}\expandafter\def\expandafter\k@encoding\tmp@item
- \kenc@update
- \global\let\font@name=\ltj@afont@name
- \let\error@fontshape\tmp@error@fontshape
- \if@knjcmd \@knjcmdfalse
- \expandafter\ifx
- \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\relax
- \expandafter\ifx
- \csname rel@\k@encoding/\k@family/\k@series/all\endcsname\relax
- \else
- \csname rel@\k@encoding/\k@family/\k@series/all\endcsname\selectfont
- % 警告: 再び \selectfont を呼んでいる.無限ループの可能性あり
- \fi
- \else
- \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\selectfont
- % 警告: 再び \selectfont を呼んでいる.無限ループの可能性あり
- \fi
- \fi
- \global\let\font@name=\ltj@afont@name
- \ltj@@stop@time@measure{selectfont}%
-}
-\RequirePackage{everysel}
-\let\ltj@@EverySelectfont@Init=\@EverySelectfont@Init
-\expandafter\expandafter\expandafter\let
-\expandafter\expandafter\csname ltj@@orig@selectfont\endcsname\csname selectfont\space\endcsname
-\@EverySelectfont@Init% for LaTeX2e <=2020-10-01
-\def\@EverySelectfont@Init{%
- \expandafter\let\csname selectfont\space \endcsname \ltj@@orig@selectfont
- \ltj@@EverySelectfont@Init
-}
-\EverySelectfont{\ltj@selectfont@patch}
-\else % LaTeX2e >=2021-06-01
+
\AddToHook{selectfont}[luatexja]{%
\ltj@@start@time@measure{selectfont}%
\ifx\delayed@k@adjustment\@empty
@@ -514,7 +441,6 @@
\global\let\font@name=\ltj@afont@name
\ltj@@stop@time@measure{selectfont}%
}
-\fi
\bgroup
\def\ltj@@dir@patch#1#2#3{%
@@ -721,8 +647,6 @@
}
%%%%%%
-\ifnum\ltj@@latex@plv>0
-%%%% LaTeX >= 2020-02-02
\newif\if@shape@roman@kanji
\def\merge@kanji@series#1{%
@@ -740,76 +664,11 @@
\@nil
}
-\ifnum\ltj@@latex@plv>500 % !!! pl5 + develop
\def\set@target@series@kanji#1{%
\edef\k@series{#1}%
\series@maybe@drop@one@m\k@series\k@series
}
-\else\ifnum\ltj@@latex@plv>300 % !!! pl5
- \def\set@target@series@kanji#1{%
- \edef\k@series{#1}%
- \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series
- }
-\else % !!! pl 3, 4
- \def\set@target@series@kanji#1{%
- \edef\k@series{#1}%
- \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}%
- }
-\fi\fi
-\ifnum\ltj@@latex@plv<1500% <=2020-10-01
-\def\merge@kanji@series@#1#2#3\@nil{%
- \def\reserved@a{#3}%
- \ifx\reserved@a\@empty
- \set@target@series@kanji{#2}%
- \else
- \begingroup\let\f@encoding\k@encoding\let\f@family\k@family
- \maybe@load@fontshape\endgroup
- \edef\reserved@a{\k@encoding /\k@family /#1/\k@shape}%
- \ifcsname \reserved@a \endcsname
- \set@target@series@kanji{#1}%
- \else
- \ifcsname \k@encoding /\k@family /#2/\k@shape \endcsname
- \set@target@series@kanji{#2}%
- {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
- \else
- \set@target@series@kanji{#3}%
- {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
- \fi
- \fi
- \fi
-}
-\def\merge@kanji@shape@#1#2#3\@nil{%
- \def\reserved@a{#3}%
- \ifx\reserved@a\@empty
- \if@shape@roman@kanji
- \set@safe@kanji@shape{#2}{}%
- \else
- \edef\k@shape{#2}%
- \fi
- \else
- \begingroup\let\f@encoding\k@encoding\let\f@family\k@family
- \maybe@load@fontshape\endgroup
- \edef\reserved@a{\k@encoding /\k@family /\k@series/#1}%
- \ifcsname \reserved@a\endcsname
- \edef\k@shape{#1}%
- \else
- \ifcsname \k@encoding /\k@family /\k@series/#2\endcsname
- \edef\k@shape{#2}%
- {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
- \else
- \if@shape@roman@kanji
- \set@safe@kanji@shape{#3}%
- {{\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}}%
- \else
- \edef\k@shape{#3}%
- {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
- \fi
- \fi
- \fi
- \fi
-}
-\else % >=2021-06-01
\def\merge@kanji@series@#1#2#3\@nil{%
\def\reserved@a{#3}%
\ifx\reserved@a\@empty
@@ -892,20 +751,8 @@
\fi
}
\let\delayed@merge@kanji@shape\merge@kanji@shape@without@substitution
-\fi
\newif\if@forced@series@kanji
-\ifnum\ltj@@latex@plv=300 % 2020-02-02 pl3, 4
- \DeclareRobustCommand\romanseries[1]{\merge@font@series{#1}}
- \DeclareRobustCommand\kanjiseries[1]{\merge@kanji@series{#1}}
- \DeclareRobustCommand\romanseriesforce[1]{\edef\f@series{#1}}
- \DeclareRobustCommand\kanjiseriesforce[1]{\edef\k@series{#1}}
-\else\ifnum\ltj@@latex@plv<1500% >=2020-02-02 pl5 and <=2020-10-01
- \DeclareRobustCommand\romanseries[1]{\@forced@seriesfalse\merge@font@series{#1}}
- \DeclareRobustCommand\kanjiseries[1]{\@forced@series@kanjifalse\merge@kanji@series{#1}}
- \DeclareRobustCommand\romanseriesforce[1]{\@forced@seriestrue\edef\f@series{#1}}
- \DeclareRobustCommand\kanjiseriesforce[1]{\@forced@series@kanjitrue\edef\k@series{#1}}
-\else% >=2021-06-01
\DeclareRobustCommand\romanseries[1]{\@forced@seriesfalse
\expandafter\def\expandafter\delayed@f@adjustment\expandafter
{\delayed@f@adjustment\delayed@merge@font@series{#1}}}
@@ -919,22 +766,9 @@
\expandafter\def\expandafter\delayed@k@adjustment\expandafter
{\delayed@k@adjustment\edef\k@series{#1}}}
\let\delayed@k@adjustment\@empty
-\fi\fi
\DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}}%
\DeclareRobustCommand\fontseriesforce[1]{\kanjiseriesforce{#1}\romanseriesforce{#1}}%
-\ifnum\ltj@@latex@plv<1500% <=2020-10-01
- \DeclareRobustCommand\romanshape[1]{\merge@font@shape{#1}}
- \DeclareRobustCommand\kanjishape[1]{\merge@kanji@shape{#1}}
- \DeclareRobustCommand\fontshape[1]{%
- \@shape@roman@kanjitrue
- \merge@font@shape{#1}\merge@kanji@shape{#1}%
- \@shape@roman@kanjifalse
- }
- \DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}}
- \DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}}
- \DeclareRobustCommand\fontshapeforce[1]{\set@safe@kanji@shape{#1}{}\romanshapeforce{#1}}
-\else% >=2021-06-01
\DeclareRobustCommand\romanshape[1]{%
\expandafter\def\expandafter\delayed@f@adjustment\expandafter
{\delayed@f@adjustment\delayed@merge@font@shape{#1}}}
@@ -956,9 +790,6 @@
\romanshapeforce{#1}%
\expandafter\def\expandafter\delayed@k@adjustment\expandafter
{\delayed@k@adjustment\set@safe@kanji@shape{#1}{}}}
-\fi
-\ifnum\ltj@@latex@plv>1499
-%%%% LaTeX >= 2021-06-01
\DeclareRobustCommand\usekanji[4]{%
\kanjiencoding{#1}\edef\k@family{#2}%
\set@target@series@kanji{#3}\edef\k@shape{#4}%
@@ -969,42 +800,6 @@
\set@target@series{#3}\edef\f@shape{#4}%
\let\delayed@f@adjustment\@empty
\selectfont\ignorespaces}
-\else\ifnum\ltj@@latex@plv>1000
-%%%% 2021-10-01 PL3 <= LaTeX < 2021-06-01
-\DeclareRobustCommand\usekanji[4]{%
- \kanjiencoding{#1}\edef\k@family{#2}%
- \set@target@series@kanji{#3}\edef\k@shape{#4}%
- \selectfont\ignorespaces}
-\DeclareRobustCommand\useroman[4]{%
- \romanencoding{#1}\edef\f@family{#2}%
- \set@target@series{#3}\edef\f@shape{#4}%
- \selectfont\ignorespaces}
-\else
-%%%% 2020-10-01 <= LaTeX < 2020-10-01 PL3
-\DeclareRobustCommand\usekanji[4]{%
- \kanjiencoding{#1}\edef\k@family{#2}\edef\k@series{#3}\edef\k@shape{#4}%
- \selectfont\ignorespaces}
-\DeclareRobustCommand\useroman[4]{%
- \romanencoding{#1}\edef\f@family{#2}\edef\f@series{#3}\edef\f@shape{#4}%
- \selectfont\ignorespaces}
-\fi\fi
-%%%% LaTeX >= 2020-02-02 END
-\else
-%%%% LaTeX 2019-10-01
-\DeclareRobustCommand\romanseries[1]{\edef\f@series{#1}}
-\DeclareRobustCommand\kanjiseries[1]{\edef\k@series{#1}}
-\DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}}
-\DeclareRobustCommand\romanshape[1]{\edef\f@shape{#1}}
-\DeclareRobustCommand\kanjishape[1]{\edef\k@shape{#1}}
-\DeclareRobustCommand\fontshape[1]{\set@safe@kanji@shape{#1}{}\romanshape{#1}}
-\DeclareRobustCommand\usekanji[4]{%
- \kanjiencoding{#1}\kanjifamily{#2}\kanjiseries{#3}\kanjishape{#4}%
- \selectfont\ignorespaces}
-\DeclareRobustCommand\useroman[4]{%
- \romanencoding{#1}\romanfamily{#2}\romanseries{#3}\romanshape{#4}%
- \selectfont\ignorespaces}
-%%%% LaTeX 2019-10-01 END
-\fi
%%%%
\def\set@safe@kanji@shape#1#2{%
@@ -1026,8 +821,6 @@
\else\useroman{#1}{#2}{#3}{#4}%
\fi}
-\ifnum 0\ifltj@ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0
-%%%% LaTeX >= 2020-02-02
\let\prepare@family@series@update@kanji=\prepare@family@series@update
\patchcmd\prepare@family@series@update{\fontfamily}{\romanfamily}{}{}
\patchcmd\prepare@family@series@update@kanji{\if@forced@series}{\if@forced@series@kanji}{}{}
@@ -1049,34 +842,16 @@
\patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{}
\def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}\@elt{jtt}}
-\def\@ltj@hook@series@default#1#2#3{%
- \ifltj@ltfilehook@avail % 2020-10-01
- \AddToHook{#1/defaults}{#2}%
- \else\ifcsname @set#1defaultshook\endcsname %after 2020-04-07
- \expandafter\g@addto@macro\csname @set#1defaultshook\endcsname{#2}%
- \else % 2020-02-02
- \expandafter\patchcmd\csname #1 \endcsname{#3}{#3#2}{}{}%
- \fi\fi
-}
-\@ltj@hook@series@default{bfseries}{%
+\AddToHook{bfseries/defaults}{%
\let\bfseries@mc\bfdef@ult
\let\bfseries@gt\bfdef@ult
\let\bfseries@jtt\bfdef@ult
-}{%
- \let\bfseries@rm\bfdef@ult
- \let\bfseries@sf\bfdef@ult
- \let\bfseries@tt\bfdef@ult
}
-\@ltj@hook@series@default{mdseries}{%
+\AddToHook{mdseries/defaults}{%
\let\mdseries@mc\mddef@ult
\let\mdseries@gt\mddef@ult
\let\mdseries@jtt\mddef@ult
-}{%
- \let\mdseries@rm\mddef@ult
- \let\mdseries@sf\mddef@ult
- \let\mdseries@tt\mddef@ult
}
-\let\@ltj@hook@series@default\@undefined
\expandafter\patchcmd\csname bfseries \endcsname{%
\ifx\f@family\rmdef@ult \fontseries\bfseries@rm
@@ -1105,105 +880,41 @@
\fi\fi\fi
}{}{}
-\def\@ltj@hook@series#1#2{%
- \ifltj@ltfilehook@avail % 2020-10-01
- \AddToHook{#1}{#2}%
- \else % 2020-02-02
- \expandafter\patchcmd\csname #1 \endcsname{\selectfont}{#2\selectfont}{}{}%
- \fi
-}
-\@ltj@hook@series{bfseries}{%
+\AddToHook{bfseries}{%
\ifx\k@family\mcdef@ult \kanjiseries\bfseries@mc
\else\ifx\k@family\gtdef@ult \kanjiseries\bfseries@gt
\else\ifx\k@family\jttdef@ult\kanjiseries\bfseries@jtt
\else \kanjiseries\bfdefault
\fi\fi\fi
}
-\@ltj@hook@series{mdseries}{%
+\AddToHook{mdseries}{%
\ifx\k@family\mcdef@ult \kanjiseries\mdseries@mc
\else\ifx\k@family\gtdef@ult \kanjiseries\mdseries@gt
\else\ifx\k@family\jttdef@ult\kanjiseries\mdseries@jtt
\else \kanjiseries\mddefault
\fi\fi\fi
}
-\let\@ltj@hook@series\@undefined
-\def\@ltj@hook@efd#1#2{%
- \ifltj@ltfilehook@avail % 2020-10-01
- \AddToHook{expand@font@defaults}{#1}%
- \else\ifdefined\@expandfontdefaultshook %after 2020-04-07
- \g@addto@macro\@expandfontdefaultshook{#1#2}%
- \else % 2020-02-02
- \appto\expand@font@defaults{#1#2}%
- \fi\fi
-}
-\@ltj@hook@efd{%
+\AddToHook{expand@font@defaults}{%
\edef\mcdef@ult{\mcdefault}%
\edef\gtdef@ult{\gtdefault}%
\edef\jttdef@ult{\jttdefault}%
-}{\edef\kanjidef@ult{\kanjifamilydefault}}
-\let\@ltj@hook@efd\@undefined
+ \edef\kanjidef@ult{\kanjifamilydefault}}
-\ifltj@ltfilehook@avail % 2020-10-01
- \appto\init@series@setup{%
- \ifx\kanjiseriesdefault\kanjiseriesdefault@kernel
- \mdseries
- \let\kanjiseriesdefault\k@series
- \fi
- }
-\else
- \appto\init@series@setup{%
- \ifx\kanjidef@ult\mcdef@ult \mcfamily
- \else\ifx\kanjidef@ult\gtdef@ult \gtfamily
- \else\ifx\kanjidef@ult\jttdef@ult \jttfamily
- \fi\fi\fi
- }
-\fi
-
-\def\@ltj@hook@dfh#1{%
- \ifltj@ltfilehook@avail % 2020-10-01
- \AddToHook{normalfont}{#1}%
- \else\ifdefined\@defaultfamilyhook
- \g@addto@macro\@defaultfamilyhook{#1}%
- \else % 2020-02-02
- \expandafter\patchcmd\csname normalfont \endcsname{\selectfont}{#1\selectfont}{}{}%
- \let\reset@font\normalfont
- \fi\fi
+\appto\init@series@setup{%
+ \ifx\kanjiseriesdefault\kanjiseriesdefault@kernel
+ \mdseries
+ \let\kanjiseriesdefault\k@series
+ \fi
}
-\ifnum\ltj@@latex@plv>1499
-\@ltj@hook@dfh{%
+\AddToHook{normalfont}{%
\kanjiencoding{\kanjiencodingdefault}%
\edef\k@family{\kanjifamilydefault}%
\edef\k@series{\kanjiseriesdefault}%
\edef\k@shape{\kanjishapedefault}%
\let\delayed@k@adjustment\empty
}
-\else
-\@ltj@hook@dfh{%
- \kanjiencoding{\kanjiencodingdefault}%
- \edef\k@family{\kanjifamilydefault}%
- \edef\k@series{\kanjiseriesdefault}%
- \edef\k@shape{\kanjishapedefault}%
-}
-\fi
-\let\@ltj@hook@dfh\@undefined
-%%%% LaTeX >= 2020-02-02 END
-\else
-%%%% LaTeX 2019-10-01
-\DeclareRobustCommand\normalfont{%
- \useroman\encodingdefault\familydefault\seriesdefault\shapedefault
- \usekanji\kanjiencodingdefault\kanjifamilydefault\kanjiseriesdefault\kanjishapedefault}
-\let\reset@font\normalfont
-%%%% LaTeX 2019-10-01 END
-\fi
-
-
-
-\ifdefined\prepare@family@series@update@kanji\else
-%%%% LaTeX 2019-10-01
-\def\prepare@family@series@update@kanji#1{\kanjifamily}
-\fi
\DeclareRobustCommand\mcfamily{%
\unless\ifltj@disablejfam\not@math@alphabet\mcfamily\mathmc\fi
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-array.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
index 9575dc3c04..8005153571 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjp-array}[2019-07-18 Patch to array for LuaTeX-ja]
+\ProvidesPackage{lltjp-array}[2024-06-10 Patch to array for LuaTeX-ja]
\RequirePackage{etoolbox,array}
@@ -11,7 +11,14 @@
\ignorespaces\@sharp\unskip
}{%
\ltj@sharp
-}{}{}
+}{}{% >=2024-06-01
+ \def\ltj@sharp{\relax\pltx@next@inhibitglue\ltjfakeboxbdd\ignorespaces\@sharp\textonly@unskip\ltjfakeboxbdd}
+ \patchcmd\insert@column{%
+ \ignorespaces\@sharp\textonly@unskip
+ }{%
+ \ltj@sharp
+ }{}{}
+}
\@ifpackageloaded{lltjext}{}{%
%% remove extra \xkanjiskip (pLaTeX2e 2016/04/17)
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
index 67b0f5de7f..641fa4a34d 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjp-geometry.sty
@@ -3,7 +3,7 @@
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjp-geometry}[2021-10-24 Patch to geometry for LuaTeX-ja with vertical writing mode]
+\ProvidesPackage{lltjp-geometry}[2024-05-16 Patch to geometry for LuaTeX-ja with vertical writing mode]
\RequirePackage{expl3}
\ifdefined\if@ltj@@geometry@tate\expandafter\endinput\fi
\newif\if@ltj@@geometry@tate
@@ -31,15 +31,6 @@
%============================================
\unless\ifdefined\ltj@ExecuteAfterPackage
-\expandafter\newif\csname ifltj@ltfilehook@avail\endcsname
-\@ifl@t@r\fmtversion{2020-10-01}{%
- \@ifl@t@r\fmtversion{2020-10-02}{\ltj@ltfilehook@availtrue}
- {%
- \ifnum\patch@level<0\relax \ifnum\patch@level<-6 \ltj@ltfilehook@availtrue\fi
- \else\ltj@ltfilehook@availtrue\fi
- }%
-}{}
-\ifltj@ltfilehook@avail
%% \ltj@ExecuteBeforePackage <package><code> and \ltj@ExecuteAfterPackage <package><code>
%% no-starred version: do nothing if the <package> is loaded
%% starred version: do <code> right away if the <package> is loaded
@@ -64,11 +55,6 @@
\@ifpackageloaded{#1}{#2}{\@@ltj@ExecuteBeforePackage{#1}{#2}}%
}
}
-\else
- \RequirePackage{filehook}
- \let\ltj@ExecuteAfterPackage=\AtEndOfPackageFile
- \let\ltj@ExecuteBeforePackage=\AtBeginOfPackageFile
-\fi
\fi
%============================================
@@ -89,12 +75,8 @@
\else
\@gobble\iftrue\csname iftdir\endcsname \bool_set_true:N \l_tmpa_bool \fi
\fi
-\ifltj@ltfilehook@avail
- \prop_map_inline:Nn \g__hook_begindocument_code_prop
- { \tl_if_in:nnT {#2} {\tate} {\bool_set_true:N \l_tmpa_bool} }
-\else
- \tl_if_in:NnT \@begindocumenthook {\tate} {\bool_set_true:N \l_tmpa_bool}
-\fi
+\prop_map_inline:Nn \g__hook_begindocument_code_prop
+ { \tl_if_in:nnT {#2} {\tate} {\bool_set_true:N \l_tmpa_bool} }
\bool_if:NT \l_tmpa_bool {
\if@ltj@@geometry@forceoff
\@ltj@@geometry@tatefalse
diff --git a/macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty b/macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
index 9c4526c3fd..292cbf00bf 100644
--- a/macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
+++ b/macros/luatex/generic/luatexja/src/patches/lltjp-siunitx.sty
@@ -1,5 +1,5 @@
%
-% lltjp-siunitx.sty 2022-12-14
+% lltjp-siunitx.sty 2024-06-10
%
\NeedsTeXFormat{LaTeX2e}
@@ -7,7 +7,6 @@
\RequirePackage{siunitx}
\makeatletter
\ExplSyntaxOn
-\cs_if_exist:NTF \siunitx_print_text:n {% siunitx v3.00
\cs_set_protected:Npn \siunitx_print_text:n #1
{
\text
@@ -32,104 +31,26 @@
}
}
\cs_set_eq:NN \ltj_orig__siunitx_table_collect_begin:w \__siunitx_table_collect_begin:w
-\cs_set_protected:Npn \__siunitx_table_collect_begin:w #1 \relax
- { \ltj_orig__siunitx_table_collect_begin:w }
-\RenewDocumentCommand \tablenum { O { } m }
- {
- \mode_leave_vertical:
- \group_begin:
- \keys_set:nn { siunitx } {#1}
- \siunitx_cell_begin:w
- \relax \ignorespaces #2
- \siunitx_cell_end:
- \group_end:
- }
-}% siunitx v3.00 end
-{% siunitx v2.xx
-\cs_generate_variant:Nn \tl_if_in:NnT { coT }
-\cs_new:Nn \__ltj_siunix_patch_inner:n {
- \cs_if_exist:cT { #1_tl } {
- \tl_if_in:coT { #1_tl } { \tex_char:D } {
- \tl_replace_all:cnn { #1_tl } { \tex_char:D } { \ltjalchar }
- }
+\cs_set_protected:Npn \__siunitx_table_collect_begin:w #1 {
+ \token_if_eq_meaning:NNTF #1 \relax
+ {\ltj_orig__siunitx_table_collect_begin:w }
+ {\ltj_orig__siunitx_table_collect_begin:w #1 }
}
-}
-\cs_new:Nn \__ltj_siunix_patch_inner_math:n {
- \__ltj_siunix_patch_inner:n { l__siunitx_#1_math }
- \__ltj_siunix_patch_inner:n { l__siunitx_#1_text }
-}
-\AtBeginDocument {
- \__ltj_siunix_patch_inner:n { c__siunitx_minus }
- \__ltj_siunix_patch_inner:n { c__siunitx_mu }
- \__ltj_siunix_patch_inner_math:n { angstrom }
- \__ltj_siunix_patch_inner_math:n { arcminute }
- \__ltj_siunix_patch_inner_math:n { arcsecond }
- \__ltj_siunix_patch_inner_math:n { ohm }
-}
-
-%%%% new table column: S and s
-\bool_new:N \l__ltj_siunitx_table_collect_relax_bool
-\cs_set_protected:Npn \__siunitx_table_collect_begin_s: {
- \bool_set_false:N \l__ltj_siunitx_table_collect_relax_bool
- \cs_set_eq:NN \__siunitx_table_collect_token:N
- \__siunitx_table_collect_token_s:N
- \cs_set_eq:NN \__siunitx_table_print: \__siunitx_table_print_s:
- \__siunitx_table_collect_init_s:
- \__siunitx_table_collect_get:
-}
-
-\cs_set_protected:Npn \__siunitx_table_collect_not_braced:N #1
+\cs_set_protected:Npn \__siunitx_table_collect_token:N #1
{
- \token_if_eq_meaning:NNTF #1 \tex_relax:D {
- \bool_if:NTF \l__ltj_siunitx_table_collect_relax_bool {
- \__siunitx_table_collect_not_braced_aux_i:N #1
- } {
- \bool_set_true:N \l__ltj_siunitx_table_collect_relax_bool
- }
- } {
- \token_if_eq_meaning:NNF #1 \ltjfakeboxbdd {
- \token_if_eq_meaning:NNF #1 \pltx@next@inhibitglue {
- \token_if_eq_meaning:NNF #1 \tex_ignorespaces:D
+ \__siunitx_table_collect_search:NnF #1
{
- \token_if_eq_meaning:NNF #1 \tex_unskip:D
- { \__siunitx_table_collect_not_braced_aux_i:N #1 }
+ \ignorespaces { \__siunitx_table_collect_ignore_spaces:N #1}
+ \pltx@next@inhibitglue { \__siunitx_table_collect_loop:}
+ \ltjfakeboxbdd { \__siunitx_table_collect_loop:}
+ \textonly@unskip { \__siunitx_table_collect_loop:}
+ \unskip { \__siunitx_table_collect_loop:}
+ \end { \tabularnewline \end }
+ \relax { \__siunitx_table_collect_relax:N #1 }
+ \tabularnewline { \tabularnewline }
+ \siunitx_cell_end: { \siunitx_cell_end:}
}
- }}}
- \__siunitx_table_collect_next:
- }
-
-\AtBeginDocument
- {
- \@ifpackageloaded { mdwtab }
- {
- \cs_set_protected:Npn \__siunitx_table_collect_not_braced:N #1
- {
- \token_if_eq_meaning:NNTF #1 \tex_relax:D {
- \bool_if:NTF \l__ltj_siunitx_table_collect_relax_bool {
- \__siunitx_table_collect_not_braced_aux_i:N #1
- } {
- \bool_set_true:N \l__ltj_siunitx_table_collect_relax_bool
- }
- } {
- \token_if_eq_meaning:NNF #1 \ltjfakeboxbdd {
- \token_if_eq_meaning:NNF #1 \pltx@next@inhibitglue {
- \token_if_eq_meaning:NNF #1 \tex_ignorespaces:D
- {
- \token_if_eq_meaning:NNF #1 \tex_unskip:D
- {
- \token_if_eq_meaning:NNF #1 \tab@setcr
- {
- \token_if_eq_meaning:NNF #1 \@maybe@unskip
- { \__siunitx_table_collect_not_braced_aux_i:N #1 }
- }
- }
- }
- }}}
- \__siunitx_table_collect_next:
- }
- }
- { }
- }
+ { \__siunitx_table_collect_token_aux:N #1 }
}
\ExplSyntaxOff
\endinput
diff --git a/macros/luatex/generic/luaxml/README b/macros/luatex/generic/luaxml/README
index 5df074c453..6a81ab25ce 100644
--- a/macros/luatex/generic/luaxml/README
+++ b/macros/luatex/generic/luaxml/README
@@ -32,7 +32,7 @@ Author
------
Michal Hoftich
Email: michal.h21@gmail.com
-Version: v0.1r, 2024-02-23
+Version: v0.2, 2024-07-14
Original authors: Paul Chakravarti and Manoel Campos (http://manoelcampos.com)
diff --git a/macros/luatex/generic/luaxml/luaxml-cssquery.lua b/macros/luatex/generic/luaxml/luaxml-cssquery.lua
index ebb29abb15..452656845c 100644
--- a/macros/luatex/generic/luaxml/luaxml-cssquery.lua
+++ b/macros/luatex/generic/luaxml/luaxml-cssquery.lua
@@ -156,7 +156,7 @@ local function cssquery()
-- make sure we deal with a string
value = tostring(value)
-- make the search string safe for pattern matching
- local escaped_search = search:gsub("([%(%)%.%%%+%–%*%?%[%^%$])", "%%%1")
+ local escaped_search = search:gsub("([%(%)%.%%%+%-%#%*%?%[%^%$])", "%%%1")
if modifier == "" then
return value == search
elseif modifier == "|" then
@@ -434,6 +434,18 @@ local function cssquery()
return querylist
end
+ --- Remove selector from the CSS list object.
+ -- All actions that literaly match the given selector will be removed.
+ function CssQuery:remove_selector(
+ selector -- CSS selector to be removed
+ )
+ for pos, obj in ipairs(self.querylist) do
+ if obj.source == selector then
+ table.remove(self.querylist, pos)
+ end
+ end
+ end
+
--- It tests list of queries agaings a DOM element and executes the
--- coresponding function that is saved for the matched query.
-- @return nothing
diff --git a/macros/luatex/generic/luaxml/luaxml-domobject.lua b/macros/luatex/generic/luaxml/luaxml-domobject.lua
index 73689add5a..dca38df0db 100644
--- a/macros/luatex/generic/luaxml/luaxml-domobject.lua
+++ b/macros/luatex/generic/luaxml/luaxml-domobject.lua
@@ -6,16 +6,20 @@ local dom = {}
local xml
local handler
local css_query
+local html
if kpse then
xml = require("luaxml-mod-xml")
handler = require("luaxml-mod-handler")
css_query = require("luaxml-cssquery")
+ html = require("luaxml-mod-html")
else
xml = require("luaxml.mod-xml")
handler = require("luaxml.mod-handler")
css_query = require("luaxml.cssquery")
+ html = require("luaxml.mod-html")
end
+local HtmlParser = html.HtmlParser
local void = {area = true, base = true, br = true, col = true, hr = true, img = true, input = true, link = true, meta = true, param = true}
@@ -91,9 +95,14 @@ local function serialize_dom(parser, current,level, output)
local format = get_action(typ, "start")
insert(format, el, prepare_attributes(attr))
end
- local function text(typ, text)
+ local function text(typ, text, parent)
+ local parent = parent or {}
local format = get_action(typ, "text")
- insert(format, escape_element(text))
+ if parent.verbatim then
+ insert(format, text)
+ else
+ insert(format, escape_element(text))
+ end
end
local function stop(typ, el)
local format = get_action(typ, "stop")
@@ -141,7 +150,7 @@ local function serialize_dom(parser, current,level, output)
end
start(xtype, name, attributes)
- text(xtype,text_content)
+ text(xtype,text_content, (current or {})._parent)
local children = root._children or {}
for _, child in ipairs(children) do
output = serialize_dom(parser,child, level + 1, output)
@@ -411,8 +420,8 @@ local parse = function(
return strings
end
- --- Get table with the inner text of an element -- leading and trailing spaces are removed and elements that contain only white space are ignored.
- --- @return table
+ --- Get table with the inner text of an element - leading and trailing spaces are removed and elements that contain only white space are ignored.
+ -- @return table
function DOM_Object:stripped_strings(
current --- [optional] element to be selected
)
@@ -612,11 +621,83 @@ local parse = function(
-- include the methods to all xml nodes
save_methods(parser._handler.root)
-- parser:
- return parser
+ return parser, DOM_Object
+end
+
+-- table of elements that should be kept without XML escaping in the DOM serialization
+local verbatim_elements = {script=true, style=true}
+
+local function html_to_dom(html_object)
+ -- convert parsed HTML DOM to the XML DOM
+ local dom, DOM_Object = parse("") -- use empty text to just initialize the DOM object
+ -- use root of the DOM object as the original parent
+ local current_parent = dom._handler.root
+
+ local function create_node(tbl)
+ -- create node suitable for LuaXML DOM object
+ tbl._children = {}
+ -- this should copy methods from the DOM object to the newly created object
+ tbl.__index = DOM_Object
+ return setmetatable(tbl, DOM_Object)
+ end
+
+ local function build_tree(object)
+ -- convert tree produced by the HTML parser to LuaXML DOM
+ local typ = object._type
+ -- process particular node types from the HTML parser
+ if typ == "doctype" then
+ current_parent:add_child_node(create_node {_name=object.name, _type="DTD"})
+ elseif typ == "comment" then
+ current_parent:add_child_node(create_node {_text=object.text, _type="COMMENT"})
+ elseif typ == "element" then
+ local attributes = {}
+ -- convert attributes to the form expected by the DOM object
+ for _, attr in ipairs(object.attr) do
+ attributes[attr.name] = attr.value
+ end
+ local element = current_parent:create_element(object.tag, attributes)
+ -- disable escaping of text in dom:serialize() for <script> or <style> elements
+ if verbatim_elements[string.lower(object.tag)] then element.verbatim = true end
+ current_parent:add_child_node(element)
+ -- set the current element as parent for the processing of children
+ local old_parent = current_parent
+ current_parent = element
+ -- process children
+ for k,v in ipairs(object.children) do
+ build_tree(v)
+ end
+ -- restore original parent
+ current_parent = old_parent
+ elseif typ == "text" then
+ local text = current_parent:create_text_node(object.text)
+ current_parent:add_child_node(text)
+ else
+ -- for other node types, just process the children
+ for k,v in ipairs(object.children) do
+ build_tree(v)
+ end
+ end
+
+ end
+ build_tree(html_object)
+ return dom
+end
+
+--- Parse HTML text as a DOM object.
+-- It supports all methods as the object returned by the parse() function.
+-- @param html_str string with the HTML code to be parsed
+-- @return DOM_Object
+local function html_parse(html_str)
+ local html_obj = HtmlParser:init(html_str)
+ local html_dom = html_obj:parse()
+ return html_to_dom(html_dom)
end
+
+
--- @export
return {
parse = parse,
- serialize_dom= serialize_dom
+ serialize_dom= serialize_dom,
+ html_parse = html_parse
}
diff --git a/macros/luatex/generic/luaxml/luaxml-encodings.lua b/macros/luatex/generic/luaxml/luaxml-encodings.lua
new file mode 100644
index 0000000000..71bfc81dd1
--- /dev/null
+++ b/macros/luatex/generic/luaxml/luaxml-encodings.lua
@@ -0,0 +1,88 @@
+--- Convert 8-bit encodings to UTF-8
+--- @module luaxml-encodings
+-- this table is generated automatically by this command:
+-- texlua encodings/make_encodings.lua
+local encodings = {
+ ['ibm866'] = 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ ',
+ ['iso-8859-5'] = '�������������������������������� ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ',
+ ['macintosh'] = 'ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ',
+ ['windows-1251'] = 'ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя',
+ ['iso-8859-13'] = '�������������������������������� ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’',
+ ['iso-8859-6'] = '�������������������������������� ���¤�������،­�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ',
+ ['iso-8859-8'] = '�������������������������������� �¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏',
+ ['iso-8859-4'] = '�������������������������������� ĄĸŖ¤ĨĻ§¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩļˇ¸šēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖ×ØŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙',
+ ['koi8-r'] = '─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ',
+ ['iso-8859-7'] = '�������������������������������� ‘’£€₯¦§¨©ͺ«¬­�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ',
+ ['iso-8859-3'] = '�������������������������������� Ħ˘£¤�Ĥ§¨İŞĞĴ­�Ż°ħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙',
+ ['windows-1256'] = '€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے',
+ ['windows-1258'] = '€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ',
+ ['iso-8859-14'] = '�������������������������������� Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ',
+ ['windows-1252'] = '€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ',
+ ['iso-8859-15'] = '�������������������������������� ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ',
+ ['x-mac-cyrillic'] = 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю€',
+ ['windows-1254'] = '€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ',
+ ['windows-1255'] = '€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏',
+ ['windows-1250'] = '€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙',
+ ['koi8-u'] = '─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ',
+ ['iso-8859-10'] = '�������������������������������� ĄĒĢĪĨĶ§ĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ',
+ ['windows-1257'] = '€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙',
+ ['windows-1253'] = '€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ',
+ ['iso-8859-2'] = '�������������������������������� Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙',
+ ['windows-874'] = '€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛',
+ ['iso-8859-16'] = '�������������������������������� ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ',
+}
+
+
+local utfchar = utf8.char
+
+--- Try to find an encoding in HTML string
+---@param str string HTML document
+---@param len number count of characters from the start of the string where it should search for the encoding metadata
+---@return string encoding identifier, or nil and message if no encoding was found
+local function find_html_encoding(str, len)
+ -- try to find encoding in the html document
+ -- we limit search length, because encoding should be in the document head, ideally near the start
+ local len = len or 4096
+ local sub = str:sub(1, len)
+ for meta in sub:gmatch("<meta (.-)>") do
+ local charset = meta:match("charset%s*=%s*[\"']?(.-)[\"']")
+ if charset then return string.lower(charset) end
+ end
+ return nil, "Cannot find the document encoding"
+end
+
+local function load_mapping(enc_name)
+ local enc_name = enc_name or ""
+ local enc = encodings[enc_name]
+ if not enc then return nil, "Cannot load encoding " .. enc_name end
+ local mapping,i = {}, 128
+ for pos, codepoint in utf8.codes(enc) do
+ mapping[i] = utfchar(codepoint)
+ i = i + 1
+ end
+ return mapping
+end
+
+--- Convert string to utf-8
+---@param text string for converting
+---@param mapping table
+---@return string converted string
+local function recode(text, mapping)
+ return text:gsub("(.)", function(char)
+ local charpoint = string.byte(char)
+ if charpoint > 127 then
+ return mapping[charpoint]
+ else
+ return false
+ end
+ end)
+end
+
+
+return {
+ encodings = encodings,
+ find_html_encoding = find_html_encoding,
+ load_mapping = load_mapping,
+ recode = recode
+}
+
diff --git a/macros/luatex/generic/luaxml/luaxml-mod-html.lua b/macros/luatex/generic/luaxml/luaxml-mod-html.lua
index 69e32b16e2..d8c2b7e932 100644
--- a/macros/luatex/generic/luaxml/luaxml-mod-html.lua
+++ b/macros/luatex/generic/luaxml/luaxml-mod-html.lua
@@ -1,3 +1,6 @@
+--- HTML parsing module for LuaXML
+-- @module luaxml-mod-html
+-- @author Michal Hoftich <michal.h21@gmail.com
-- Copyright Michal Hoftich, 2022
-- HTML parser inspired by https://browser.engineering/html.html
-- but then redone using https://html.spec.whatwg.org/multipage/parsing.html
@@ -1540,9 +1543,14 @@ local function is_formatting_element(name)
return formatting_element_names[name]
end
-local special_elements = {}
+local function hash_from_array(tbl)
+ local t = {}
+ for _, v in ipairs(tbl) do t[v] = true end
+ return t
+end
+
-local special_elements_list = {"address", "applet", "area", "article", "aside",
+local special_elements_list = hash_from_array {"address", "applet", "area", "article", "aside",
"base", "basefont", "bgsound", "blockquote", "body", "br", "button", "caption",
"center", "col", "colgroup", "dd", "details", "dir", "div", "dl", "dt",
"embed", "fieldset", "figcaption", "figure", "footer", "form", "frame",
@@ -1555,13 +1563,9 @@ local special_elements_list = {"address", "applet", "area", "article", "aside",
"mi","mo","mn","ms","mtext", "annotation-xml","foreignObject","desc", "title"
}
-for k,v in ipairs(special_elements_list) do
- special_elements[v] = true
-end
-
local function is_special(name)
- return special_elements[name]
+ return special_elements_list[name]
end
-- these lists are used in HtmlParser:generate_implied_endtags()
@@ -1649,8 +1653,12 @@ local HtmlTreeStates = {}
+--- @type HtmlParser
local HtmlParser = {}
+--- Initialize the HTML Object
+---@param body string HTML to be parsed
+---@return table initialized object
function HtmlParser:init(body)
local o ={}
setmetatable(o, self)
@@ -1686,10 +1694,11 @@ for _,v in ipairs(self_closing_tags_list) do self_closing_tags[v] = true end
-
+--- Execute the HTML parser
+--- @return table Root node of the HTML DOM
function HtmlParser:parse()
-- we assume utf8 input, you must convert it yourself if the source is
- -- in a different encoding
+ -- in a different encoding. for example using luaxml-encodings library
self.text = {}
self.state = self.default_state
-- this should enable us to pass over some characters that we want to ignore
@@ -1791,6 +1800,7 @@ function HtmlParser:emit(token)
elseif token_type == "start_tag" then
self:add_text()
-- self:start_attribute()
+ self:reset_insertion_mode()
self:start_tag()
-- print("Emit start tag", table.concat(token.name))
-- save last attribute
@@ -1882,8 +1892,139 @@ function HtmlParser:set_xmlns(node, parent)
end
end
+function HtmlParser:pop_element()
+ -- close the current element and add it to the DOM
+ local el = self:close_element()
+ local parent = self:get_parent()
+ parent:add_child(el)
+ return el
+end
+
+local close_p_at_start = hash_from_array {"address", "article", "aside", "blockquote", "center", "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", "footer", "header", "hgroup", "main", "menu", "nav", "ol", "p", "search", "section", "summary", "ul", "pre", "listing", "form", "table", "xmp", "hr"}
+
+local close_headers = hash_from_array {"h1", "h2", "h3", "h4", "h5", "h6"}
+
+local body_modes = hash_from_array {"in_body", "in_cell", "in_row", "in_select", "in_table", "in_table_body", "in_frameset"}
+
+local list_items = hash_from_array {"li", "dt", "dd"}
+
+local close_address_at_end = hash_from_array{"address", "article", "aside", "blockquote", "button", "center", "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", "footer", "header", "hgroup", "listing", "main", "menu", "nav", "ol", "pre", "search", "section", "summary", "ul", "form"}
+
+
+function HtmlParser:close_unfinished(name)
+ -- close all unfinished elements until the element with the given name is found
+ for i = #self.unfinished, 1, -1 do
+ local el = self:pop_element()
+ if el.tag == name then
+ break
+ end
+ end
+end
+
+
+function HtmlParser:close_paragraph()
+ -- close currently open <p> elements
+ self:close_unfinished("p")
+end
+
+function HtmlParser:current_element_name()
+ -- return name of the current element
+ return self:get_parent().tag
+end
+
+local not_specials = hash_from_array { "address", "div", "p"}
+
+local function handle_list_item(self, name)
+ -- we handle li, dt and dd. dt and dd should close each other, li closes only itself
+ local names = {dt = true, dd = true}
+ if name == "li" then names = {li=true} end
+ for i = #self.unfinished, 1, -1 do
+ local current = self.unfinished[i]
+ local current_tag = current.tag
+ if names[current_tag] then
+ self:generate_implied_endtags(nil, {current.tag})
+ for j = #self.unfinished, i, -1 do
+ self:pop_element()
+ end
+ break
+ elseif is_special(current_tag) and not not_specials[name] then
+ break
+ end
+ end
+end
+
+local close_paragraph = function(self)
+ if is_in_button_scope(self, "p") then
+ self:close_paragraph()
+ end
+end
+
+function HtmlParser:handle_insertion_mode(token)
+ -- simple handling of https://html.spec.whatwg.org/multipage/parsing.html#tree-construction
+ -- we don't support most rules, just the most important for avoiding mismatched tags
+
+ if body_modes[self.insertion_mode] then
+ if token.type == "start_tag" then
+ local name = table.concat(token.name)
+ if close_p_at_start[name] then close_paragraph(self) end
+ if close_headers[name] then
+ close_paragraph(self)
+ -- close current element if it is already header
+ if close_headers[self:current_element_name()] then
+ self:pop_element()
+ end
+ elseif name == "pre" or name == "listing" then
+ -- we should ignore next "\n" char token
+ elseif name == "image" then
+ -- image tag is an error, change to <img>
+ token.name = {"img"}
+ elseif list_items[name] then
+ handle_list_item(self, name)
+ close_paragraph(self)
+ end
+ elseif token.type == "end_tag" then
+ local name = table.concat(token.name)
+ if close_address_at_end[name] then
+ if is_in_scope(self, name, {}) then
+ self:close_unfinished(name)
+ else
+ token.type = "ignore"
+ end
+ elseif name == "p" then
+ if not is_in_button_scope(self, "p") then
+ local parent = self:get_parent()
+ local node = Element:init("p", parent)
+ table.insert(self.unfinished, node)
+ end
+ -- use self:close_paragraph() instead of close_paragraph() because we don't need to check scope at this point
+ self:close_paragraph()
+ elseif name == "br" then
+ token.type = "start_tag"
+ elseif close_headers[name] then
+ local header_in_scope = false
+ -- detect, if there are any open h1-h6 tag and close it
+ for el, _ in pairs(close_headers) do
+ if is_in_scope(self, el, {}) then
+ header_in_scope = el
+ break
+ end
+ end
+ if not header_in_scope then
+ token.type = "ignore"
+ else
+ self:close_unfinished(header_in_scope)
+ end
+ end
+ end
+ end
+end
+
+local rawtext_elements = hash_from_array {"style", "textarea", "xmp"}
+
+
function HtmlParser:start_tag()
local token = self.current_token
+ self:handle_insertion_mode(token)
if token.type == "start_tag" then
-- close all currently opened attributes
self:start_attribute()
@@ -1894,18 +2035,18 @@ function HtmlParser:start_tag()
node.attr = token.attr
node.self_closing = token.self_closing
self:set_xmlns(node)
- --
+ -- in this handler we should close <p> or <li> elements without explicit closing tags
if token.self_closing -- <img />
or self_closing_tags[name] -- void elements
then
- parent:add_child(node)
+ parent:add_child(node, node.tag)
else
-- add to the unfinished list
table.insert(self.unfinished, node)
end
if name == "title" then
self.element_state = "rcdata"
- elseif name == "style" then
+ elseif rawtext_elements[name] then
self.element_state = "rawtext"
elseif name == "script" then
self.element_state = "script_data"
@@ -1916,11 +2057,13 @@ end
function HtmlParser:end_tag()
-- close current opened element
local token = self.current_token
+ self:handle_insertion_mode(token)
if token.type == "end_tag" then
if #self.unfinished==0 then return nil end
- local node = self:close_element()
- local parent = self:get_parent()
- parent:add_child(node)
+ -- close the current element only if the token is in the current scope
+ if is_in_scope(self, table.concat(token.name), {}) then
+ self:pop_element()
+ end
end
end
@@ -1964,6 +2107,21 @@ function HtmlParser:adjusted_current_node()
end
+local simple_modes = {
+ body = "in_body",
+ td = "in_cell",
+ th = "in_cell",
+ tr = "in_row",
+ tbody = "in_table_body",
+ thead = "in_table_body",
+ tfoot = "in_table_body",
+ caption = "in_caption",
+ colgroup = "in_column_group",
+ table = "in_table",
+ template = "current_template_insertion_mode",
+ frameset = "in_frameset"
+}
+
function HtmlParser:reset_insertion_mode()
-- https://html.spec.whatwg.org/multipage/parsing.html#reset-the-insertion-mode-appropriately
local last = false
@@ -1977,16 +2135,33 @@ function HtmlParser:reset_insertion_mode()
if name == "head" and last == true then
self:switch_insertion("in_head")
return
- elseif name == "body" then
- self:switch_insertion("in_body")
- return
elseif name == "html" then
- if self.head_pointer then
+ if not self.head_pointer then
self:switch_insertion("before_head")
return
else
self:switch_insertion("after_head")
+ return
+ end
+ elseif name == "select" then
+ if not last then
+ for x = position -1, 1, -1 do
+ if x == 1 then break end
+ local ancestor = self.unfinished[x]
+ local ancestor_name = ancestor.tag
+ if ancestor_name == "template" then
+ break
+ elseif ancestor_name == "table" then
+ self:switch_insertion("in_select_in_table")
+ return
+ end
+ end
end
+ self:switch_insertion("in_select")
+ return
+ elseif simple_modes[name] then
+ self:switch_insertion(simple_modes[name])
+ return
elseif last == true then
self:switch_insertion("in_body")
return
@@ -2006,8 +2181,8 @@ function HtmlParser:generate_implied_endtags(included, ignored)
local current = self:current_node() or {}
-- keep removing elements while they are in the "included" list
if included[current.tag] then
- table.remove(self.unfinished)
- self:generate_implied_endtags(ignored)
+ self:pop_element()
+ self:generate_implied_endtags(included, ignored)
end
end
@@ -2023,9 +2198,7 @@ function HtmlParser:finish()
self:start_tag("html")
end
while #self.unfinished > 0 do
- local node = self:close_element()
- local parent = self:get_parent()
- parent:add_child(node)
+ self:pop_element()
end
-- return root element
return self.Document -- self:close_element()
diff --git a/macros/luatex/generic/luaxml/luaxml-namedentities.lua b/macros/luatex/generic/luaxml/luaxml-namedentities.lua
index 0e6399ab13..5c5ff00777 100644
--- a/macros/luatex/generic/luaxml/luaxml-namedentities.lua
+++ b/macros/luatex/generic/luaxml/luaxml-namedentities.lua
@@ -1,2234 +1,2233 @@
-local utf8 = require "utf8"
return {
-["Subset"]="⋐",
-["Chi"]="Χ",
-["tprime"]="‴",
-["lneq"]="⪇",
-["RightUpTeeVector"]="⥜",
-["cscr"]="𝒸",
-["leftrightarrows"]="⇆",
-["LeftRightVector"]="⥎",
-["Laplacetrf"]="ℒ",
-["boxHd"]="╤",
-["GreaterSlantEqual"]="⩾",
-["sqsub"]="⊏",
-["nvdash"]="⊬",
-["boxHu"]="╧",
-["vcy"]="в",
-["DiacriticalDoubleAcute"]="˝",
-["nvHarr"]="⤄",
-["lnapprox"]="⪉",
-["fscr"]="𝒻",
-["OverBracket"]="⎴",
-["pm"]="±",
-["ovbar"]="⌽",
-["larrhk"]="↩",
-["atilde"]="ã",
-["Igrave"]="Ì",
-["profsurf"]="⌓",
-["Sigma"]="Σ",
-["rHar"]="⥤",
-["Gcedil"]="Ģ",
-["sect"]="§",
-["nmid"]="∤",
-["escr"]="ℯ",
-["delta"]="δ",
-["male"]="♂",
-["Integral"]="∫",
-["RightUpVectorBar"]="⥔",
-["alefsym"]="ℵ",
-["nsqsube"]="⋢",
-["Nacute"]="Ń",
-["mcomma"]="⨩",
-["ApplyFunction"]=utf8.char(0x2061),
-["rfisht"]="⥽",
-["phmmat"]="ℳ",
-["rarrw"]="↝",
-["backepsilon"]="϶",
-["hscr"]="𝒽",
-["middot"]="·",
-["ldrushar"]="⥋",
-["supne"]="⊋",
-["Longleftrightarrow"]="⟺",
-["Oacute"]="Ó",
-["af"]="⁡",
+["Implies"]="⇒",
+["longrightarrow"]="⟶",
+["precneqq"]="⪵",
+["geqslant"]="⩾",
+["Product"]="∏",
+["Scirc"]="Ŝ",
+["lvnE"]="≨︀",
+["dotminus"]="∸",
+["sscr"]="𝓈",
+["capdot"]="⩀",
+["dlcrop"]="⌍",
+["omacr"]="ō",
+["sext"]="✶",
+["xutri"]="△",
+["xrArr"]="⟹",
+["glE"]="⪒",
+["NotSupersetEqual"]="⊉",
+["backsim"]="∽",
["sup"]="⊃",
-["lozenge"]="◊",
-["scy"]="с",
-["gscr"]="ℊ",
-["smallsetminus"]="∖",
+["realpart"]="ℜ",
["hardcy"]="ъ",
-["DoubleVerticalBar"]="∥",
-["Yuml"]="Ÿ",
-["plusdu"]="⨥",
-["NotSucceedsSlantEqual"]="⋡",
-["nwnear"]="⤧",
-["lfloor"]="⌊",
-["rcy"]="р",
-["jscr"]="𝒿",
-["AMP"]="&",
-["acute"]="´",
-["uacute"]="ú",
-["Or"]="⩔",
-["rdldhar"]="⥩",
-["langd"]="⦑",
-["Iacute"]="Í",
-["spar"]="∥",
-["ucy"]="у",
-["rsh"]="↱",
-["Kcedil"]="Ķ",
-["iscr"]="𝒾",
-["lambda"]="λ",
-["lbrkslu"]="⦍",
-["napE"]="⩰̸",
-["shcy"]="ш",
-["nsupE"]="⫆̸",
-["Ycirc"]="Ŷ",
-["sect"]="§",
-["precnapprox"]="⪹",
-["iocy"]="ё",
-["dzcy"]="џ",
+["sqcap"]="⊓",
+["brvbar"]="¦",
+["LT"]="<",
+["udarr"]="⇅",
+["lozf"]="⧫",
+["Eogon"]="Ę",
+["frac18"]="⅛",
+["lesssim"]="≲",
+["wedbar"]="⩟",
+["EmptyVerySmallSquare"]="▫",
+["aring"]="å",
+["lesdoto"]="⪁",
+["ltquest"]="⩻",
+["LeftUpTeeVector"]="⥠",
+["FilledSmallSquare"]="◼",
+["mho"]="℧",
+["NotGreaterTilde"]="≵",
+["xharr"]="⟷",
+["NotSucceedsEqual"]="⪰̸",
+["sqsupset"]="⊐",
+["Ccedil"]="Ç",
+["aacute"]="á",
+["succcurlyeq"]="≽",
+["gneq"]="⪈",
+["forall"]="∀",
+["rightharpoonup"]="⇀",
+["leftarrow"]="←",
+["ang"]="∠",
+["mapstoup"]="↥",
+["xscr"]="𝓍",
+["NotTildeEqual"]="≄",
+["ograve"]="ò",
+["boxdl"]="┐",
+["DownLeftVectorBar"]="⥖",
+["nsup"]="⊅",
+["shchcy"]="щ",
+["demptyv"]="⦱",
+["apos"]="'",
+["between"]="≬",
+["leftrightsquigarrow"]="↭",
+["gtcc"]="⪧",
+["grave"]="`",
+["bigodot"]="⨀",
+["oline"]="‾",
+["angmsdad"]="⦫",
+["NotCongruent"]="≢",
+["gtquest"]="⩼",
+["fltns"]="▱",
+["smeparsl"]="⧤",
+["Eta"]="Η",
+["ltdot"]="⋖",
+["rhard"]="⇁",
+["rscr"]="𝓇",
["ETH"]="Ð",
-["GreaterTilde"]="≳",
-["coprod"]="∐",
-["rpar"]=")",
-["lthree"]="⋋",
-["ImaginaryI"]="ⅈ",
-["DoubleUpDownArrow"]="⇕",
-["intercal"]="⊺",
-["spadesuit"]="♠",
-["boxVH"]="╬",
-["smashp"]="⨳",
-["nu"]="ν",
-["Agrave"]="À",
-["boxtimes"]="⊠",
-["sext"]="✶",
-["nsub"]="⊄",
-["oelig"]="œ",
-["GreaterEqual"]="≥",
-["TRADE"]="™",
-["dtrif"]="▾",
-["nless"]="≮",
-["mu"]="μ",
-["larrsim"]="⥳",
-["GreaterEqualLess"]="⋛",
-["Uuml"]="Ü",
-["LeftArrowBar"]="⇤",
-["ntrianglerighteq"]="⋭",
-["DiacriticalDot"]="˙",
-["LongLeftArrow"]="⟵",
-["agrave"]="à",
-["lmoustache"]="⎰",
-["nvDash"]="⊭",
-["para"]="¶",
-["nlt"]="≮",
-["Eacute"]="É",
-["spades"]="♠",
-["lrcorner"]="⌟",
-["checkmark"]="✓",
-["lessdot"]="⋖",
-["opar"]="⦷",
-["nVDash"]="⊯",
-["pertenk"]="‱",
-["range"]="⦥",
-["Pr"]="⪻",
-["Gammad"]="Ϝ",
-["ape"]="≊",
-["Longleftarrow"]="⟸",
-["boxV"]="║",
-["rightthreetimes"]="⋌",
+["iocy"]="ё",
+["semi"]=";",
+["nexists"]="∄",
+["approxeq"]="≊",
+["compfn"]="∘",
+["sstarf"]="⋆",
+["angrtvbd"]="⦝",
["gnap"]="⪊",
-["vzigzag"]="⦚",
-["Ecirc"]="Ê",
-["npar"]="∦",
-["notinvb"]="⋷",
-["Tau"]="Τ",
-["blank"]="␣",
-["Kappa"]="Κ",
-["rmoust"]="⎱",
-["GJcy"]="Ѓ",
-["ufisht"]="⥾",
-["NotLeftTriangleBar"]="⧏̸",
-["bigvee"]="⋁",
-["lrhar"]="⇋",
-["supset"]="⊃",
-["uwangle"]="⦧",
-["UpTeeArrow"]="↥",
-["supE"]="⫆",
-["imof"]="⊷",
-["leg"]="⋚",
-["notniva"]="∌",
-["nvgt"]=">⃒",
-["rthree"]="⋌",
-["yfr"]="𝔶",
-["uHar"]="⥣",
-["nshortmid"]="∤",
-["biguplus"]="⨄",
-["barvee"]="⊽",
-["iff"]="⇔",
-["boxvH"]="╪",
-["simrarr"]="⥲",
-["Egrave"]="È",
-["ntilde"]="ñ",
-["VerticalTilde"]="≀",
-["sigmaf"]="ς",
-["khcy"]="х",
-["planck"]="ℏ",
-["NotNestedGreaterGreater"]="⪢̸",
-["NonBreakingSpace"]=" ",
-["OpenCurlyQuote"]="‘",
-["supsim"]="⫈",
-["cudarrl"]="⤸",
-["theta"]="θ",
-["notindot"]="⋵̸",
-["Omicron"]="Ο",
-["ccedil"]="ç",
-["colone"]="≔",
-["bscr"]="𝒷",
-["Dagger"]="‡",
-["comma"]=",",
+["mDDot"]="∺",
+["udblac"]="ű",
["Acirc"]="Â",
-["plankv"]="ℏ",
-["boxdr"]="┌",
-["rarrap"]="⥵",
-["rmoustache"]="⎱",
-["LeftAngleBracket"]="⟨",
-["Cacute"]="Ć",
-["blk34"]="▓",
-["rfloor"]="⌋",
-["awconint"]="∳",
-["sfrown"]="⌢",
-["middot"]="·",
-["ascr"]="𝒶",
-["dot"]="˙",
-["caron"]="ˇ",
-["image"]="ℑ",
-["esdot"]="≐",
-["ohbar"]="⦵",
-["rarrb"]="⇥",
-["submult"]="⫁",
-["plusb"]="⊞",
-["oopf"]="𝕠",
-["breve"]="˘",
-["conint"]="∮",
-["angrt"]="∟",
-["nbump"]="≎̸",
-["raquo"]="»",
-["Iuml"]="Ï",
-["Rcedil"]="Ŗ",
-["minus"]="−",
-["nsucceq"]="⪰̸",
-["telrec"]="⌕",
-["CHcy"]="Ч",
-["nrightarrow"]="↛",
-["NotRightTriangle"]="⋫",
-["zfr"]="𝔷",
-["succ"]="≻",
-["Aacute"]="Á",
-["NestedLessLess"]="≪",
-["RightTeeArrow"]="↦",
-["homtht"]="∻",
-["Cup"]="⋓",
-["lcub"]="{",
-["race"]="∽̱",
-["THORN"]="Þ",
-["propto"]="∝",
-["odblac"]="ő",
-["mumap"]="⊸",
-["filig"]="fi",
-["ecir"]="≖",
-["DoubleRightArrow"]="⇒",
-["npreceq"]="⪯̸",
-["female"]="♀",
-["LeftFloor"]="⌊",
-["gtrarr"]="⥸",
-["dotsquare"]="⊡",
-["map"]="↦",
-["OverBrace"]="⏞",
-["zopf"]="𝕫",
-["rang"]="⟩",
-["laquo"]="«",
-["elsdot"]="⪗",
-["frac56"]="⅚",
-["Iuml"]="Ï",
-["ocirc"]="ô",
-["clubs"]="♣",
-["IOcy"]="Ё",
-["scnE"]="⪶",
-["deg"]="°",
-["simgE"]="⪠",
-["nap"]="≉",
-["blacktriangle"]="▴",
-["edot"]="ė",
-["epsiv"]="ϵ",
-["napprox"]="≉",
-["NotGreaterSlantEqual"]="⩾̸",
-["prap"]="⪷",
-["lnap"]="⪉",
-["circledS"]="Ⓢ",
-["lang"]="⟨",
-["qprime"]="⁗",
-["aelig"]="æ",
-["ncongdot"]="⩭̸",
-["supdsub"]="⫘",
-["nltrie"]="⋬",
-["xopf"]="𝕩",
+["UnderParenthesis"]="⏝",
+["nisd"]="⋺",
+["lneq"]="⪇",
+["Dagger"]="‡",
+["qscr"]="𝓆",
+["gneqq"]="≩",
+["doteqdot"]="≑",
+["DoubleVerticalBar"]="∥",
+["emptyset"]="∅",
+["lEg"]="⪋",
+["subseteq"]="⊆",
+["dwangle"]="⦦",
+["dotplus"]="∔",
+["NotPrecedesSlantEqual"]="⋠",
+["bnot"]="⌐",
["LeftDownVector"]="⇃",
-["duarr"]="⇵",
-["urcorner"]="⌝",
-["nvltrie"]="⊴⃒",
-["Pi"]="Π",
+["leg"]="⋚",
+["Therefore"]="∴",
+["Omega"]="Ω",
+["acE"]="∾̳",
+["Auml"]="Ä",
+["xvee"]="⋁",
["Eacute"]="É",
-["nGtv"]="≫̸",
-["icirc"]="î",
-["twoheadleftarrow"]="↞",
+["LeftFloor"]="⌊",
+["swnwar"]="⤪",
+["Jukcy"]="Є",
+["nless"]="≮",
+["NotSquareSupersetEqual"]="⋣",
+["larrfs"]="⤝",
+["gcy"]="г",
+["solbar"]="⌿",
+["rharul"]="⥬",
+["dscy"]="ѕ",
+["yen"]="¥",
+["ForAll"]="∀",
+["DownArrow"]="↓",
+["qprime"]="⁗",
+["NegativeThickSpace"]="​",
+["part"]="∂",
+["Iukcy"]="І",
+["ltcc"]="⪦",
+["xlArr"]="⟸",
+["fcy"]="ф",
+["gl"]="≷",
+["rsh"]="↱",
+["lrhar"]="⇋",
["divide"]="÷",
-["yopf"]="𝕪",
-["ntlg"]="≸",
-["Darr"]="↡",
+["bemptyv"]="⦰",
+["rx"]="℞",
+["ecy"]="э",
+["ApplyFunction"]="⁡",
+["divideontimes"]="⋇",
+["prod"]="∏",
+["boxHU"]="╩",
+["HARDcy"]="Ъ",
+["mstpos"]="∾",
+["llcorner"]="⌞",
+["rsquor"]="’",
+["NotTildeFullEqual"]="≇",
+["mlcp"]="⫛",
+["cemptyv"]="⦲",
+["Proportional"]="∝",
+["DiacriticalDoubleAcute"]="˝",
+["dcy"]="д",
+["Yacute"]="Ý",
+["egsdot"]="⪘",
["hslash"]="ℏ",
-["Coproduct"]="∐",
-["profline"]="⌒",
-["imagline"]="ℐ",
-["chcy"]="ч",
-["ccedil"]="ç",
-["PrecedesEqual"]="⪯",
-["jcirc"]="ĵ",
-["nang"]="∠⃒",
-["Icirc"]="Î",
-["nbumpe"]="≏̸",
-["incare"]="℅",
-["tint"]="∭",
-["nhArr"]="⇎",
-["emsp13"]=" ",
-["blacktriangleleft"]="◂",
-["Star"]="⋆",
-["hkswarow"]="⤦",
-["NegativeThickSpace"]="​",
-["eDot"]="≑",
-["Euml"]="Ë",
-["scaron"]="š",
-["RightDownVectorBar"]="⥕",
-["cent"]="¢",
-["jukcy"]="є",
-["backsimeq"]="⋍",
-["Ncy"]="Н",
-["DD"]="ⅅ",
-["circledast"]="⊛",
-["ccirc"]="ĉ",
-["rsaquo"]="›",
-["YIcy"]="Ї",
-["iquest"]="¿",
-["NotExists"]="∄",
-["iukcy"]="і",
-["Tab"]=" ",
-["Equilibrium"]="⇌",
-["nLt"]="≪⃒",
-["yen"]="¥",
-["CircleDot"]="⊙",
-["CircleMinus"]="⊖",
-["topf"]="𝕥",
-["equivDD"]="⩸",
-["DoubleLeftRightArrow"]="⇔",
-["ngsim"]="≵",
-["upuparrows"]="⇈",
-["ll"]="≪",
-["cirscir"]="⧂",
-["ShortLeftArrow"]="←",
-["angmsdag"]="⦮",
-["shortmid"]="∣",
-["ngeqslant"]="⩾̸",
-["subset"]="⊂",
-["curvearrowleft"]="↶",
-["gdot"]="ġ",
-["circledcirc"]="⊚",
-["Pcy"]="П",
-["asymp"]="≈",
-["boxUr"]="╙",
-["uopf"]="𝕦",
-["frac15"]="⅕",
-["Iacute"]="Í",
-["Utilde"]="Ũ",
-["Congruent"]="≡",
-["nhpar"]="⫲",
-["capbrcup"]="⩉",
-["ordf"]="ª",
-["SOFTcy"]="Ь",
-["nlArr"]="⇍",
-["not"]="¬",
-["ffllig"]="ffl",
-["nprec"]="⊀",
-["Hat"]="^",
+["infin"]="∞",
["Auml"]="Ä",
-["ntriangleleft"]="⋪",
-["longmapsto"]="⟼",
-["nvrtrie"]="⊵⃒",
-["timesb"]="⊠",
-["lsh"]="↰",
-["Jcy"]="Й",
-["gcirc"]="ĝ",
-["Oacute"]="Ó",
-["vartriangleright"]="⊳",
-["NotRightTriangleEqual"]="⋭",
-["Rightarrow"]="⇒",
-["ast"]="*",
-["hamilt"]="ℋ",
-["Ncedil"]="Ņ",
-["apE"]="⩰",
-["macr"]="¯",
-["cwconint"]="∲",
-["Kcy"]="К",
-["Ucirc"]="Û",
-["hcirc"]="ĥ",
-["yacy"]="я",
-["uml"]="¨",
-["popf"]="𝕡",
-["bumpE"]="⪮",
-["varnothing"]="∅",
-["RightUpVector"]="↾",
-["curren"]="¤",
-["Scedil"]="Ş",
-["FilledVerySmallSquare"]="▪",
-["dollar"]="$",
-["Lcy"]="Л",
-["longrightarrow"]="⟶",
-["LeftTee"]="⊣",
-["excl"]="!",
-["acirc"]="â",
-["wp"]="℘",
-["lcaron"]="ľ",
-["NotGreaterFullEqual"]="≧̸",
-["CounterClockwiseContourIntegral"]="∳",
-["sup2"]="²",
-["rnmid"]="⫮",
-["Lcedil"]="Ļ",
-["ddotseq"]="⩷",
-["tbrk"]="⎴",
-["mlcp"]="⫛",
-["rarrhk"]="↪",
-["Tilde"]="∼",
-["Mcy"]="М",
-["aring"]="å",
-["rarrsim"]="⥴",
-["nopf"]="𝕟",
-["aelig"]="æ",
-["order"]="ℴ",
-["diamondsuit"]="♦",
-["nvsim"]="∼⃒",
-["lhard"]="↽",
-["commat"]="@",
-["qint"]="⨌",
-["lsquo"]="‘",
-["sqcaps"]="⊓︀",
-["circlearrowleft"]="↺",
-["NotElement"]="∉",
-["measuredangle"]="∡",
-["Atilde"]="Ã",
-["CapitalDifferentialD"]="ⅅ",
-["kgreen"]="ĸ",
-["Cscr"]="𝒞",
+["Wcirc"]="Ŵ",
+["larrtl"]="↢",
+["Aacute"]="Á",
+["LeftTriangleEqual"]="⊴",
+["NegativeMediumSpace"]="​",
+["TripleDot"]="⃛",
+["utdot"]="⋰",
+["isinv"]="∈",
+["looparrowright"]="↬",
+["loang"]="⟬",
+["multimap"]="⊸",
["NotLessEqual"]="≰",
-["trpezium"]="⏢",
-["ne"]="≠",
-["NotSuperset"]="⊃⃒",
-["nearrow"]="↗",
-["ncong"]="≇",
-["doteqdot"]="≑",
-["supmult"]="⫂",
-["longleftrightarrow"]="⟷",
-["Rarr"]="↠",
-["DoubleUpArrow"]="⇑",
-["Dscr"]="𝒟",
-["mp"]="∓",
-["jmath"]="ȷ",
-["erarr"]="⥱",
-["searrow"]="↘",
-["Sup"]="⋑",
-["lvnE"]="≨︀",
-["ffilig"]="ffi",
-["NotSquareSupersetEqual"]="⋣",
-["bullet"]="•",
-["bigstar"]="★",
-["cylcty"]="⌭",
-["nvle"]="≤⃒",
-["TildeFullEqual"]="≅",
-["lopf"]="𝕝",
-["sqsupseteq"]="⊒",
-["lt"]="<",
-["geqslant"]="⩾",
+["midcir"]="⫰",
+["nge"]="≱",
["quot"]="\"",
-["le"]="≤",
-["square"]="□",
-["sigma"]="σ",
-["prE"]="⪳",
-["rtrie"]="⊵",
-["triangleq"]="≜",
+["REG"]="®",
+["div"]="÷",
+["complexes"]="ℂ",
+["lhblk"]="▄",
+["gvnE"]="≩︀",
+["leftharpoonup"]="↼",
+["it"]="⁢",
+["clubsuit"]="♣",
+["iff"]="⇔",
+["Hacek"]="ˇ",
+["CircleTimes"]="⊗",
+["Cacute"]="Ć",
+["rarrtl"]="↣",
+["RightDownVector"]="⇂",
+["rarrfs"]="⤞",
+["UpArrowBar"]="⤒",
+["male"]="♂",
+["RightTriangle"]="⊳",
+["GreaterTilde"]="≳",
+["Barwed"]="⌆",
+["ltlarr"]="⥶",
+["Zdot"]="Ż",
+["parsim"]="⫳",
+["Ugrave"]="Ù",
+["Dot"]="¨",
+["circleddash"]="⊝",
+["rsaquo"]="›",
+["hyphen"]="‐",
+["angrt"]="∟",
+["RightTriangleEqual"]="⊵",
+["Darr"]="↡",
+["ulcrop"]="⌏",
+["olcir"]="⦾",
+["gimel"]="ℷ",
+["gel"]="⋛",
+["SquareSubset"]="⊏",
+["Uacute"]="Ú",
+["gt"]=">",
+["lnap"]="⪉",
+["Union"]="⋃",
+["nu"]="ν",
+["and"]="∧",
+["ltcir"]="⩹",
["Fscr"]="ℱ",
+["ee"]="ⅇ",
+["laquo"]="«",
+["Hfr"]="ℌ",
+["prec"]="≺",
+["imagline"]="ℐ",
+["precnsim"]="⋨",
+["zhcy"]="ж",
+["mu"]="μ",
+["rlarr"]="⇄",
+["pound"]="£",
+["origof"]="⊶",
+["rfloor"]="⌋",
+["lnsim"]="⋦",
+["nVdash"]="⊮",
+["otimes"]="⊗",
+["iuml"]="ï",
+["Cscr"]="𝒞",
+["lsime"]="⪍",
+["ngeqq"]="≧̸",
+["Del"]="∇",
+["Coproduct"]="∐",
+["NotSubsetEqual"]="⊈",
+["HilbertSpace"]="ℋ",
+["frac58"]="⅝",
+["cap"]="∩",
+["roang"]="⟭",
+["intlarhk"]="⨗",
+["DownTee"]="⊤",
+["thickapprox"]="≈",
+["prnap"]="⪹",
+["laquo"]="«",
+["lesdot"]="⩿",
+["inodot"]="ı",
+["Hscr"]="ℋ",
+["YIcy"]="Ї",
+["ctdot"]="⋯",
+["thetav"]="ϑ",
+["DoubleUpDownArrow"]="⇕",
+["succ"]="≻",
+["nbumpe"]="≏̸",
+["ReverseElement"]="∋",
+["Oacute"]="Ó",
+["equest"]="≟",
+["Lt"]="≪",
+["Nacute"]="Ń",
["DiacriticalTilde"]="˜",
-["SucceedsSlantEqual"]="≽",
-["mopf"]="𝕞",
-["Ecaron"]="Ě",
-["UpArrowDownArrow"]="⇅",
-["ges"]="⩾",
-["nsqsupe"]="⋣",
-["ubrcy"]="ў",
-["Gscr"]="𝒢",
-["HARDcy"]="Ъ",
-["jopf"]="𝕛",
-["gtquest"]="⩼",
-["iinfin"]="⧜",
-["twixt"]="≬",
+["Escr"]="ℰ",
+["boxvH"]="╪",
+["Ifr"]="ℑ",
+["mp"]="∓",
+["ell"]="ℓ",
+["Iacute"]="Í",
+["NotNestedGreaterGreater"]="⪢̸",
+["raquo"]="»",
+["Zcy"]="З",
+["micro"]="µ",
+["dzigrarr"]="⟿",
+["rtrif"]="▸",
+["Uuml"]="Ü",
+["nvHarr"]="⤄",
+["leqslant"]="⩽",
+["tritime"]="⨻",
+["nlarr"]="↚",
+["NotRightTriangle"]="⋫",
+["apid"]="≋",
+["succeq"]="⪰",
+["NotEqualTilde"]="≂̸",
+["varphi"]="ϕ",
+["Vert"]="‖",
+["int"]="∫",
+["lurdshar"]="⥊",
+["lneqq"]="≨",
+["Jsercy"]="Ј",
+["Superset"]="⊃",
+["subsetneqq"]="⫋",
+["gap"]="⪆",
+["ssmile"]="⌣",
+["Ugrave"]="Ù",
+["IOcy"]="Ё",
+["ltimes"]="⋉",
+["UnderBracket"]="⎵",
+["subseteqq"]="⫅",
+["Dscr"]="𝒟",
+["dtrif"]="▾",
+["raquo"]="»",
+["hbar"]="ℏ",
+["ge"]="≥",
+["cudarrr"]="⤵",
+["icy"]="и",
+["plusdo"]="∔",
+["bull"]="•",
+["weierp"]="℘",
+["mapsto"]="↦",
+["Uring"]="Ů",
+["supplus"]="⫀",
+["Succeeds"]="≻",
+["Ascr"]="𝒜",
+["cdot"]="ċ",
+["nwarr"]="↖",
+["target"]="⌖",
+["dharr"]="⇂",
+["curlyvee"]="⋎",
+["supE"]="⫆",
+["emsp13"]=" ",
["ltrie"]="⊴",
+["olarr"]="↺",
+["RightTeeVector"]="⥛",
+["Vvdash"]="⊪",
+["larrsim"]="⥳",
+["varsubsetneq"]="⊊︀",
+["Not"]="⫬",
+["CenterDot"]="·",
+["PlusMinus"]="±",
+["aring"]="å",
+["Nscr"]="𝒩",
+["delta"]="δ",
+["npre"]="⪯̸",
+["Vcy"]="В",
+["NotVerticalBar"]="∤",
+["scpolint"]="⨓",
+["rcedil"]="ŗ",
+["Lmidot"]="Ŀ",
+["DScy"]="Ѕ",
+["nsubseteq"]="⊈",
+["ngE"]="≧̸",
+["NotSquareSubsetEqual"]="⋢",
+["edot"]="ė",
+["Ucy"]="У",
+["lessapprox"]="⪅",
+["niv"]="∋",
+["Kscr"]="𝒦",
+["LeftVectorBar"]="⥒",
+["nhpar"]="⫲",
+["scedil"]="ş",
+["Uacute"]="Ú",
+["ntrianglelefteq"]="⋬",
+["Otilde"]="Õ",
+["iexcl"]="¡",
+["lbrke"]="⦋",
+["simdot"]="⩪",
+["sigmaf"]="ς",
+["Bfr"]="𝔅",
+["pitchfork"]="⋔",
+["ngeqslant"]="⩾̸",
+["Pscr"]="𝒫",
+["gsime"]="⪎",
+["Ouml"]="Ö",
+["rarrsim"]="⥴",
+["subE"]="⫅",
+["otimesas"]="⨶",
+["lfloor"]="⌊",
+["prop"]="∝",
+["imacr"]="ī",
+["blacktriangleleft"]="◂",
+["Ntilde"]="Ñ",
+["llarr"]="⇇",
+["nsucc"]="⊁",
+["PartialD"]="∂",
+["Iacute"]="Í",
+["gdot"]="ġ",
+["Afr"]="𝔄",
+["Igrave"]="Ì",
["csub"]="⫏",
-["Hscr"]="ℋ",
-["leftharpoondown"]="↽",
+["Mscr"]="ℳ",
+["Scy"]="С",
+["bsime"]="⋍",
+["nequiv"]="≢",
+["scnap"]="⪺",
+["Tab"]=" ",
+["Equal"]="⩵",
+["blacklozenge"]="⧫",
+["nrarrc"]="⤳̸",
+["divide"]="÷",
["RightUpDownVector"]="⥏",
-["LongLeftRightArrow"]="⟷",
-["Im"]="ℑ",
-["dcaron"]="ď",
+["iinfin"]="⧜",
+["precnapprox"]="⪹",
+["dArr"]="⇓",
+["orslope"]="⩗",
+["Rcy"]="Р",
+["sqsub"]="⊏",
+["OverBracket"]="⎴",
+["sum"]="∑",
+["ncedil"]="ņ",
+["ltrPar"]="⦖",
+["ii"]="ⅈ",
+["Gcirc"]="Ĝ",
+["SucceedsTilde"]="≿",
+["RightFloor"]="⌋",
+["osol"]="⊘",
["barwedge"]="⌅",
-["nexist"]="∄",
-["blacktriangledown"]="▾",
-["fork"]="⋔",
-["rhard"]="⇁",
-["cent"]="¢",
-["RightTriangle"]="⊳",
-["Eta"]="Η",
-["dotminus"]="∸",
-["nles"]="⩽̸",
-["larrtl"]="↢",
-["LeftTriangleEqual"]="⊴",
-["hopf"]="𝕙",
-["gammad"]="ϝ",
-["gsime"]="⪎",
-["llhard"]="⥫",
-["precapprox"]="⪷",
-["profalar"]="⌮",
-["lnE"]="≨",
-["ddagger"]="‡",
-["leq"]="≤",
-["smile"]="⌣",
-["robrk"]="⟧",
-["Jscr"]="𝒥",
-["triangleleft"]="◃",
-["acd"]="∿",
-["prod"]="∏",
-["atilde"]="ã",
-["seArr"]="⇘",
-["therefore"]="∴",
-["iopf"]="𝕚",
-["solbar"]="⌿",
-["kcedil"]="ķ",
-["NotHumpEqual"]="≏̸",
-["nspar"]="∦",
-["frac14"]="¼",
-["nsime"]="≄",
-["DoubleLongLeftArrow"]="⟸",
-["sccue"]="≽",
-["models"]="⊧",
-["SupersetEqual"]="⊇",
-["iquest"]="¿",
-["oline"]="‾",
-["lparlt"]="⦓",
-["triplus"]="⨹",
-["nequiv"]="≢",
-["nlE"]="≦̸",
-["nldr"]="‥",
-["equals"]="=",
-["Agrave"]="À",
-["ccaron"]="č",
-["Yacute"]="Ý",
-["Oslash"]="Ø",
-["udarr"]="⇅",
-["ang"]="∠",
-["dopf"]="𝕕",
-["comp"]="∁",
-["caps"]="∩︀",
-["bowtie"]="⋈",
-["glj"]="⪤",
-["ltquest"]="⩻",
-["cirmid"]="⫯",
-["ordm"]="º",
-["esim"]="≂",
-["reals"]="ℝ",
-["LeftTriangle"]="⊲",
-["flat"]="♭",
-["eopf"]="𝕖",
-["lap"]="⪅",
-["not"]="¬",
-["ENG"]="Ŋ",
-["DiacriticalAcute"]="´",
-["sharp"]="♯",
-["longleftarrow"]="⟵",
-["dblac"]="˝",
-["UpArrow"]="↑",
-["npre"]="⪯̸",
-["bopf"]="𝕓",
-["DScy"]="Ѕ",
+["twoheadrightarrow"]="↠",
+["Gscr"]="𝒢",
+["acy"]="а",
+["dtdot"]="⋱",
+["rbrke"]="⦌",
+["imath"]="ı",
+["Hcirc"]="Ĥ",
+["num"]="#",
+["nprec"]="⊀",
+["smallsetminus"]="∖",
+["lesges"]="⪓",
+["LeftUpVector"]="↿",
+["gtdot"]="⋗",
+["theta"]="θ",
+["kappav"]="ϰ",
+["jmath"]="ȷ",
+["Lscr"]="ℒ",
+["Aogon"]="Ą",
+["ltrif"]="◂",
+["DownArrowUpArrow"]="⇵",
+["prap"]="⪷",
+["Racute"]="Ŕ",
+["curlyeqprec"]="⋞",
["bepsi"]="϶",
-["angrtvb"]="⊾",
-["ccaps"]="⩍",
-["UnderParenthesis"]="⏝",
-["subne"]="⊊",
-["succnsim"]="⋩",
-["Bumpeq"]="≎",
-["xvee"]="⋁",
-["colon"]=":",
-["deg"]="°",
-["fnof"]="ƒ",
-["Uarr"]="↟",
-["Zcaron"]="Ž",
-["copf"]="𝕔",
-["Theta"]="Θ",
-["omicron"]="ο",
-["ntriangleright"]="⋫",
-["DoubleLongRightArrow"]="⟹",
-["UnderBrace"]="⏟",
-["GT"]=">",
-["lEg"]="⪋",
-["supplus"]="⫀",
-["acute"]="´",
+["blacktriangle"]="▴",
+["nvap"]="≍⃒",
+["Supset"]="⋑",
+["angmsd"]="∡",
+["boxul"]="┘",
+["LessSlantEqual"]="⩽",
["GT"]=">",
-["upsilon"]="υ",
-["sc"]="≻",
-["xrarr"]="⟶",
-["eng"]="ŋ",
-["it"]="⁢",
-["Ntilde"]="Ñ",
-["Mu"]="Μ",
-["CircleTimes"]="⊗",
-["NotTildeTilde"]="≉",
-["NotLessLess"]="≪̸",
-["vellip"]="⋮",
-["cularrp"]="⤽",
-["UnderBracket"]="⎵",
-["aopf"]="𝕒",
-["itilde"]="ĩ",
-["latail"]="⤙",
-["Nu"]="Ν",
-["Ascr"]="𝒜",
-["complement"]="∁",
-["gjcy"]="ѓ",
-["radic"]="√",
-["maltese"]="✠",
-["glE"]="⪒",
-["plusmn"]="±",
-["curvearrowright"]="↷",
-["gt"]=">",
-["Colone"]="⩴",
-["Bscr"]="ℬ",
-["ic"]="⁣",
-["clubsuit"]="♣",
-["djcy"]="ђ",
-["Oopf"]="𝕆",
-["ltrPar"]="⦖",
-["ngtr"]="≯",
-["eqcirc"]="≖",
-["Hacek"]="ˇ",
-["vdash"]="⊢",
-["NotCupCap"]="≭",
-["Gdot"]="Ġ",
-["jsercy"]="ј",
-["marker"]="▮",
+["nexist"]="∄",
+["ccupssm"]="⩐",
+["Eacute"]="É",
+["ddarr"]="⇊",
+["ntlg"]="≸",
+["Iscr"]="ℐ",
+["Jcirc"]="Ĵ",
+["Sacute"]="Ś",
+["capand"]="⩄",
+["gesdoto"]="⪂",
+["olcross"]="⦻",
+["amalg"]="⨿",
+["rarrlp"]="↬",
+["NotLeftTriangle"]="⋪",
+["reals"]="ℝ",
+["bigcup"]="⋃",
+["NJcy"]="Њ",
+["Odblac"]="Ő",
+["hArr"]="⇔",
+["RightArrowLeftArrow"]="⇄",
+["SOFTcy"]="Ь",
+["Lambda"]="Λ",
+["RightCeiling"]="⌉",
+["Vdash"]="⊩",
+["elinters"]="⏧",
+["lsimg"]="⪏",
["Nopf"]="ℕ",
-["Wfr"]="𝔚",
-["boxHD"]="╦",
-["mho"]="℧",
-["ulcrop"]="⌏",
-["DifferentialD"]="ⅆ",
-["aacute"]="á",
-["lpar"]="(",
+["Esim"]="⩳",
+["vzigzag"]="⦚",
+["acd"]="∿",
+["ccedil"]="ç",
+["lbarr"]="⤌",
+["nmid"]="∤",
+["Backslash"]="∖",
+["Laplacetrf"]="ℒ",
+["npr"]="⊀",
+["nap"]="≉",
+["nsupseteqq"]="⫆̸",
+["igrave"]="ì",
+["LJcy"]="Љ",
+["lessgtr"]="≶",
["angle"]="∠",
-["rharu"]="⇀",
-["Breve"]="˘",
-["Dot"]="¨",
-["rect"]="▭",
-["NotNestedLessLess"]="⪡̸",
-["boxplus"]="⊞",
-["NotSucceeds"]="⊁",
-["gnapprox"]="⪊",
-["DownLeftTeeVector"]="⥞",
-["Xfr"]="𝔛",
-["Lang"]="⟪",
-["Element"]="∈",
-["sung"]="♪",
-["RightVectorBar"]="⥓",
-["simne"]="≆",
-["LeftVector"]="↼",
-["Idot"]="İ",
+["lAarr"]="⇚",
+["notin"]="∉",
+["orv"]="⩛",
+["gtreqqless"]="⪌",
+["CircleMinus"]="⊖",
+["Diamond"]="⋄",
+["map"]="↦",
+["nvsim"]="∼⃒",
+["pi"]="π",
+["pluscir"]="⨢",
+["boxVH"]="╬",
["QUOT"]="\"",
-["nsmid"]="∤",
-["fjlig"]="fj",
-["Ufr"]="𝔘",
-["cuvee"]="⋎",
+["duarr"]="⇵",
+["lgE"]="⪑",
+["lmoust"]="⎰",
+["lsquo"]="‘",
+["rightrightarrows"]="⇉",
+["times"]="×",
+["iuml"]="ï",
+["andslope"]="⩘",
+["order"]="ℴ",
+["Sub"]="⋐",
+["capcap"]="⩋",
+["nabla"]="∇",
+["ntriangleleft"]="⋪",
+["blk14"]="░",
+["Kopf"]="𝕂",
+["lArr"]="⇐",
+["Qopf"]="ℚ",
+["circledS"]="Ⓢ",
+["omid"]="⦶",
+["ord"]="⩝",
+["lvertneqq"]="≨︀",
+["updownarrow"]="↕",
+["yacute"]="ý",
+["ni"]="∋",
+["hamilt"]="ℋ",
+["Jopf"]="𝕁",
+["CupCap"]="≍",
+["lbrack"]="[",
+["preccurlyeq"]="≼",
+["Ropf"]="ℝ",
+["lessdot"]="⋖",
+["blank"]="␣",
+["SucceedsEqual"]="⪰",
+["triangleleft"]="◃",
+["ring"]="˚",
+["omega"]="ω",
+["bowtie"]="⋈",
+["Sqrt"]="√",
+["uuml"]="ü",
+["Udblac"]="Ű",
+["diams"]="♦",
+["Oslash"]="Ø",
["real"]="ℜ",
-["luruhar"]="⥦",
-["NotRightTriangleBar"]="⧐̸",
-["target"]="⌖",
-["lharu"]="↼",
-["CloseCurlyQuote"]="’",
-["rAtail"]="⤜",
-["nparallel"]="∦",
-["brvbar"]="¦",
-["Vfr"]="𝔙",
-["wedbar"]="⩟",
-["REG"]="®",
-["boxur"]="└",
-["Rcaron"]="Ř",
-["Rang"]="⟫",
-["sqsubseteq"]="⊑",
-["div"]="÷",
-["boxul"]="┘",
-["Cdot"]="Ċ",
-["vsupnE"]="⫌︀",
-["zeetrf"]="ℨ",
-["Sfr"]="𝔖",
-["roang"]="⟭",
-["LessTilde"]="≲",
-["equiv"]="≡",
-["frac12"]="½",
-["eacute"]="é",
-["rrarr"]="⇉",
-["nearhk"]="⤤",
-["Zopf"]="ℤ",
-["SucceedsTilde"]="≿",
+["egrave"]="è",
+["prurel"]="⊰",
+["LeftUpDownVector"]="⥑",
+["TildeEqual"]="≃",
+["cuwed"]="⋏",
+["times"]="×",
["ap"]="≈",
-["lfisht"]="⥼",
-["timesd"]="⨰",
-["UpDownArrow"]="↕",
-["xuplus"]="⨄",
-["cularr"]="↶",
-["iprod"]="⨼",
-["AElig"]="Æ",
-["rationals"]="ℚ",
-["geqq"]="≧",
-["Tfr"]="𝔗",
-["Yopf"]="𝕐",
-["rtimes"]="⋊",
-["Tcaron"]="Ť",
-["srarr"]="→",
-["diam"]="⋄",
-["mid"]="∣",
-["imath"]="ı",
-["PlusMinus"]="±",
-["isin"]="∈",
-["vprop"]="∝",
-["RightArrowLeftArrow"]="⇄",
-["NotSubset"]="⊂⃒",
-["bigtriangledown"]="▽",
-["ldsh"]="↲",
-["Qfr"]="𝔔",
-["nvap"]="≍⃒",
-["vert"]="|",
-["Xopf"]="𝕏",
-["lBarr"]="⤎",
-["egsdot"]="⪘",
-["Tcedil"]="Ţ",
-["xi"]="ξ",
-["LeftUpVectorBar"]="⥘",
-["circ"]="ˆ",
-["ocir"]="⊚",
-["gtlPar"]="⦕",
-["Rfr"]="ℜ",
-["RightTriangleBar"]="⧐",
-["nwarhk"]="⤣",
-["zhcy"]="ж",
-["Iukcy"]="І",
-["plusdo"]="∔",
+["lowast"]="∗",
+["Lopf"]="𝕃",
+["bdquo"]="„",
+["blacktriangledown"]="▾",
+["vBarv"]="⫩",
+["Longleftarrow"]="⟸",
+["lesg"]="⋚︀",
+["Popf"]="ℙ",
+["iogon"]="į",
+["vellip"]="⋮",
+["Ntilde"]="Ñ",
+["cwconint"]="∲",
["boxv"]="│",
-["minusb"]="⊟",
-["Ncaron"]="Ň",
-["angmsdaa"]="⦨",
-["varsubsetneqq"]="⫋︀",
-["cirfnint"]="⨐",
-["LongRightArrow"]="⟶",
-["ddarr"]="⇊",
-["piv"]="ϖ",
-["fopf"]="𝕗",
-["Ofr"]="𝔒",
-["fflig"]="ff",
-["Jukcy"]="Є",
-["xhArr"]="⟺",
-["ncy"]="н",
-["Scaron"]="Š",
-["TildeEqual"]="≃",
-["subrarr"]="⥹",
-["iacute"]="í",
-["ogt"]="⧁",
-["nvge"]="≥⃒",
-["vee"]="∨",
-["UnderBar"]="_",
-["andslope"]="⩘",
-["gopf"]="𝕘",
-["Pfr"]="𝔓",
-["die"]="¨",
+["boxbox"]="⧉",
+["langd"]="⦑",
+["diam"]="⋄",
+["boxHu"]="╧",
+["acute"]="´",
["Uopf"]="𝕌",
+["Fcy"]="Ф",
+["vee"]="∨",
+["eqslantless"]="⪕",
+["NotLeftTriangleEqual"]="⋬",
+["OverBrace"]="⏞",
+["beta"]="β",
+["Otilde"]="Õ",
+["fjlig"]="fj",
+["uacute"]="ú",
+["CirclePlus"]="⊕",
+["Mellintrf"]="ℳ",
+["Vopf"]="𝕍",
+["Gcy"]="Г",
+["searhk"]="⤥",
+["boxur"]="└",
+["LeftTeeVector"]="⥚",
+["nsubE"]="⫅̸",
+["gvertneqq"]="≩︀",
+["eqcirc"]="≖",
+["nrightarrow"]="↛",
+["DJcy"]="Ђ",
+["tdot"]="⃛",
+["Dcy"]="Д",
+["Sopf"]="𝕊",
+["range"]="⦥",
+["agrave"]="à",
+["gtrsim"]="≳",
["RightArrowBar"]="⇥",
-["orarr"]="↻",
-["Precedes"]="≺",
-["oror"]="⩖",
-["straightepsilon"]="ϵ",
-["cong"]="≅",
-["TScy"]="Ц",
-["nleftarrow"]="↚",
-["DZcy"]="Џ",
-["horbar"]="―",
+["larrlp"]="↫",
+["le"]="≤",
+["xi"]="ξ",
+["gla"]="⪥",
+["GT"]=">",
+["leftarrowtail"]="↢",
+["commat"]="@",
+["rightarrowtail"]="↣",
+["approx"]="≈",
+["sdot"]="⋅",
["Topf"]="𝕋",
-["Cayleys"]="ℭ",
-["leqq"]="≦",
-["curlyeqprec"]="⋞",
-["nLeftarrow"]="⇍",
-["pcy"]="п",
-["realine"]="ℛ",
-["nlsim"]="≴",
+["Ecy"]="Э",
+["eplus"]="⩱",
+["cir"]="○",
["Rarrtl"]="⤖",
-["CupCap"]="≍",
-["vDash"]="⊨",
-["shortparallel"]="∥",
-["ExponentialE"]="ⅇ",
-["Sopf"]="𝕊",
-["iiota"]="℩",
-["Nfr"]="𝔑",
-["pointint"]="⨕",
-["NotGreaterLess"]="≹",
-["olcross"]="⦻",
-["kcy"]="к",
-["complexes"]="ℂ",
-["varepsilon"]="ϵ",
-["Fouriertrf"]="ℱ",
-["rho"]="ρ",
-["Lsh"]="↰",
-["exponentiale"]="ⅇ",
-["hookrightarrow"]="↪",
-["Ropf"]="ℝ",
-["lAtail"]="⤛",
-["Kfr"]="𝔎",
-["bsim"]="∽",
-["jcy"]="й",
-["frac34"]="¾",
-["DotDot"]="⃜",
+["Emacr"]="Ē",
+["Dcaron"]="Ď",
+["Sc"]="⪼",
+["cent"]="¢",
+["rtri"]="▹",
+["cedil"]="¸",
+["spades"]="♠",
+["upsilon"]="υ",
+["boxminus"]="⊟",
+["angmsdaa"]="⦨",
+["zdot"]="ż",
+["Bcy"]="Б",
+["Zscr"]="𝒵",
+["looparrowleft"]="↫",
+["Dfr"]="𝔇",
+["Bumpeq"]="≎",
+["nLeftarrow"]="⇍",
+["equiv"]="≡",
+["Ccaron"]="Č",
+["UpperLeftArrow"]="↖",
+["SubsetEqual"]="⊆",
+["nrArr"]="⇏",
+["loarr"]="⇽",
+["minusdu"]="⨪",
+["sup3"]="³",
+["Zopf"]="ℤ",
+["elsdot"]="⪗",
+["NotLessLess"]="≪̸",
+["eta"]="η",
+["ubrcy"]="ў",
+["Yscr"]="𝒴",
+["subset"]="⊂",
+["Cfr"]="ℭ",
+["harrcir"]="⥈",
+["supsetneq"]="⊋",
+["LeftUpVectorBar"]="⥘",
+["LT"]="<",
+["DoubleLeftArrow"]="⇐",
+["circledcirc"]="⊚",
+["bkarow"]="⤍",
+["rangd"]="⦒",
+["downharpoonright"]="⇂",
+["Wopf"]="𝕎",
+["ast"]="*",
+["planck"]="ℏ",
+["gtrdot"]="⋗",
+["Ffr"]="𝔉",
+["rArr"]="⇒",
+["VeryThinSpace"]=" ",
+["Ecaron"]="Ě",
+["RightVectorBar"]="⥓",
+["divonx"]="⋇",
+["Xopf"]="𝕏",
+["nsubset"]="⊂⃒",
+["Otimes"]="⨷",
+["bot"]="⊥",
+["nsime"]="≄",
["thorn"]="þ",
-["ThickSpace"]="  ",
-["SquareUnion"]="⊔",
-["frac58"]="⅝",
-["dfisht"]="⥿",
-["MediumSpace"]=" ",
-["Lfr"]="𝔏",
-["Qopf"]="ℚ",
+["subsetneq"]="⊊",
+["nltri"]="⋪",
+["Cayleys"]="ℭ",
+["Efr"]="𝔈",
+["Intersection"]="⋂",
+["UnderBar"]="_",
+["fpartint"]="⨍",
+["Iuml"]="Ï",
+["rsquo"]="’",
+["ecir"]="≖",
+["nis"]="⋼",
+["fscr"]="𝒻",
+["hellip"]="…",
+["ogt"]="⧁",
["ntgl"]="≹",
-["LessFullEqual"]="≦",
-["malt"]="✠",
-["mcy"]="м",
-["NotGreaterEqual"]="≱",
-["bottom"]="⊥",
-["NotSucceedsEqual"]="⪰̸",
-["lcedil"]="ļ",
-["infintie"]="⧝",
-["Lcaron"]="Ľ",
-["NotSquareSubset"]="⊏̸",
-["brvbar"]="¦",
-["fallingdotseq"]="≒",
-["AElig"]="Æ",
-["swarhk"]="⤦",
-["Ifr"]="ℑ",
-["pi"]="π",
-["lcy"]="л",
-["copy"]="©",
-["dlcorn"]="⌞",
-["oacute"]="ó",
-["gtreqless"]="⋛",
-["neArr"]="⇗",
+["frac14"]="¼",
+["squf"]="▪",
+["circ"]="ˆ",
+["prE"]="⪳",
+["ordf"]="ª",
["ZHcy"]="Ж",
-["Vdashl"]="⫦",
-["darr"]="↓",
-["circeq"]="≗",
+["NegativeVeryThinSpace"]="​",
+["quot"]="\"",
+["excl"]="!",
+["sqcaps"]="⊓︀",
+["gfr"]="𝔤",
+["varsigma"]="ς",
+["nwarrow"]="↖",
+["reg"]="®",
+["longmapsto"]="⟼",
+["And"]="⩓",
+["cuvee"]="⋎",
+["zwj"]="‍",
+["plankv"]="ℏ",
+["varepsilon"]="ϵ",
+["Aopf"]="𝔸",
+["UpTee"]="⊥",
+["lescc"]="⪨",
+["ltri"]="◃",
+["iiint"]="∭",
+["ccups"]="⩌",
+["alefsym"]="ℵ",
+["succneqq"]="⪶",
+["hscr"]="𝒽",
+["Or"]="⩔",
["yuml"]="ÿ",
-["Jfr"]="𝔍",
-["Product"]="∏",
-["boxDL"]="╗",
-["el"]="⪙",
-["supe"]="⊇",
-["frac13"]="⅓",
-["Barwed"]="⌆",
-["larrpl"]="⤹",
-["SHCHcy"]="Щ",
-["LeftUpDownVector"]="⥑",
-["Diamond"]="⋄",
-["DownLeftVectorBar"]="⥖",
-["Cross"]="⨯",
-["ncup"]="⩂",
-["supnE"]="⫌",
-["lne"]="⪇",
-["micro"]="µ",
-["lowbar"]="_",
-["perp"]="⊥",
-["sqcap"]="⊓",
-["Gfr"]="𝔊",
-["raemptyv"]="⦳",
-["gesl"]="⋛︀",
-["drcrop"]="⌌",
-["boxUL"]="╝",
-["becaus"]="∵",
-["gne"]="⪈",
-["scap"]="⪸",
-["swarrow"]="↙",
-["nesim"]="≂̸",
-["DoubleDot"]="¨",
-["Mopf"]="𝕄",
-["apid"]="≋",
-["InvisibleComma"]="⁣",
-["Backslash"]="∖",
-["mnplus"]="∓",
-["niv"]="∋",
-["Hfr"]="ℌ",
-["rarrlp"]="↬",
-["Because"]="∵",
-["parsl"]="⫽",
-["sup1"]="¹",
-["Lt"]="≪",
-["par"]="∥",
-["Iota"]="Ι",
-["beth"]="ℶ",
-["Lopf"]="𝕃",
+["rcub"]="}",
+["lt"]="<",
+["vArr"]="⇕",
+["EqualTilde"]="≂",
+["vDash"]="⊨",
+["RightArrow"]="→",
+["dlcorn"]="⌞",
+["Barv"]="⫧",
+["nsc"]="⊁",
+["Proportion"]="∷",
+["iota"]="ι",
+["gscr"]="ℊ",
+["abreve"]="ă",
+["ThickSpace"]="  ",
+["szlig"]="ß",
+["lhard"]="↽",
+["emptyv"]="∅",
+["Tau"]="Τ",
+["sharp"]="♯",
+["bNot"]="⫭",
+["LongLeftRightArrow"]="⟷",
+["frac23"]="⅔",
+["NotEqual"]="≠",
+["scE"]="⪴",
+["jfr"]="𝔧",
+["bscr"]="𝒷",
+["uhblk"]="▀",
+["frac35"]="⅗",
+["TSHcy"]="Ћ",
+["ntrianglerighteq"]="⋭",
+["Tcedil"]="Ţ",
+["NotGreaterFullEqual"]="≧̸",
+["asympeq"]="≍",
+["oror"]="⩖",
+["ecirc"]="ê",
+["ohbar"]="⦵",
+["Rho"]="Ρ",
+["iacute"]="í",
+["ascr"]="𝒶",
+["RightUpVector"]="↾",
+["Ocirc"]="Ô",
+["cedil"]="¸",
+["sect"]="§",
+["angmsdab"]="⦩",
+["FilledVerySmallSquare"]="▪",
+["curlywedge"]="⋏",
+["lesdotor"]="⪃",
+["esdot"]="≐",
+["eqvparsl"]="⧥",
["Cap"]="⋒",
-["Aring"]="Å",
-["rarr"]="→",
-["Efr"]="𝔈",
-["bigcup"]="⋃",
-["DownLeftRightVector"]="⥐",
-["lesges"]="⪓",
-["NegativeThinSpace"]="​",
-["DownRightTeeVector"]="⥟",
-["npolint"]="⨔",
-["gEl"]="⪌",
-["lltri"]="◺",
-["ogon"]="˛",
-["LessEqualGreater"]="⋚",
-["sqsupset"]="⊐",
-["NotSubsetEqual"]="⊈",
-["Ubrcy"]="Ў",
-["ShortDownArrow"]="↓",
-["ugrave"]="ù",
-["Dcaron"]="Ď",
-["subE"]="⫅",
-["divide"]="÷",
-["bigotimes"]="⨂",
-["dscy"]="ѕ",
-["wreath"]="≀",
-["Jopf"]="𝕁",
-["pre"]="⪯",
-["tdot"]="⃛",
-["Cfr"]="ℭ",
-["Uogon"]="Ų",
-["softcy"]="ь",
-["isinE"]="⋹",
-["Dstrok"]="Đ",
-["Jsercy"]="Ј",
-["capdot"]="⩀",
-["realpart"]="ℜ",
-["hearts"]="♥",
-["Atilde"]="Ã",
-["LeftArrowRightArrow"]="⇆",
-["upharpoonleft"]="↿",
-["Iopf"]="𝕀",
-["Intersection"]="⋂",
-["midcir"]="⫰",
-["ocirc"]="ô",
-["sdot"]="⋅",
-["Dfr"]="𝔇",
-["gla"]="⪥",
-["DiacriticalGrave"]="`",
+["dscr"]="𝒹",
+["rbrace"]="}",
+["nsccue"]="⋡",
+["neArr"]="⇗",
+["rightthreetimes"]="⋌",
+["plusmn"]="±",
["Ubreve"]="Ŭ",
-["int"]="∫",
-["PrecedesSlantEqual"]="≼",
-["Square"]="□",
-["Acy"]="А",
+["ifr"]="𝔦",
+["Poincareplane"]="ℌ",
+["leftrightarrows"]="⇆",
+["scnsim"]="⋩",
+["cscr"]="𝒸",
+["NotHumpEqual"]="≏̸",
+["capbrcup"]="⩉",
+["curarr"]="↷",
+["notinvb"]="⋷",
+["LeftArrow"]="←",
+["Gopf"]="𝔾",
+["ldrushar"]="⥋",
+["nscr"]="𝓃",
+["Gg"]="⋙",
+["ouml"]="ö",
+["nsce"]="⪰̸",
+["cupbrcap"]="⩈",
+["nLt"]="≪⃒",
+["bullet"]="•",
+["nsqsupe"]="⋣",
+["rect"]="▭",
+["lbrace"]="{",
+["Fopf"]="𝔽",
+["COPY"]="©",
+["epar"]="⋕",
+["mscr"]="𝓂",
+["odsold"]="⦼",
+["cupor"]="⩅",
+["not"]="¬",
+["subsim"]="⫇",
+["hoarr"]="⇿",
+["Scedil"]="Ş",
+["eacute"]="é",
+["emsp"]=" ",
+["uml"]="¨",
+["igrave"]="ì",
+["pscr"]="𝓅",
+["LeftTee"]="⊣",
+["Cedilla"]="¸",
+["Iopf"]="𝕀",
+["HumpEqual"]="≏",
+["les"]="⩽",
+["Rcedil"]="Ŗ",
+["lsquor"]="‚",
+["raemptyv"]="⦳",
+["NotSucceedsSlantEqual"]="⋡",
+["SuchThat"]="∋",
+["vert"]="|",
+["backcong"]="≌",
["Hopf"]="ℍ",
-["precsim"]="≾",
-["nleq"]="≰",
-["urcorn"]="⌝",
-["hyphen"]="‐",
-["FilledSmallSquare"]="◼",
-["zdot"]="ż",
-["ndash"]="–",
-["hbar"]="ℏ",
-["Wopf"]="𝕎",
-["Esim"]="⩳",
-["subsetneq"]="⊊",
-["boxhD"]="╥",
-["searhk"]="⤥",
-["late"]="⪭",
+["CircleDot"]="⊙",
+["Kappa"]="Κ",
+["conint"]="∮",
+["DZcy"]="Џ",
+["prsim"]="≾",
+["Copf"]="ℂ",
+["curvearrowright"]="↷",
+["twixt"]="≬",
+["curren"]="¤",
+["rtriltri"]="⧎",
+["jscr"]="𝒿",
+["cupcup"]="⩊",
+["Lcedil"]="Ļ",
+["supseteqq"]="⫆",
+["bfr"]="𝔟",
+["lesseqqgtr"]="⪋",
+["leftleftarrows"]="⇇",
+["Bopf"]="𝔹",
+["acute"]="´",
["blacktriangleright"]="▸",
-["auml"]="ä",
-["NotLessTilde"]="≴",
-["Bfr"]="𝔅",
-["grave"]="`",
-["ltlarr"]="⥶",
-["Aogon"]="Ą",
-["sdote"]="⩦",
-["gtrsim"]="≳",
-["nvinfin"]="⧞",
-["lgE"]="⪑",
-["mdash"]="—",
-["Vopf"]="𝕍",
-["leftrightarrow"]="↔",
-["RBarr"]="⤐",
-["amalg"]="⨿",
-["preccurlyeq"]="≼",
-["EqualTilde"]="≂",
-["scpolint"]="⨓",
-["NotHumpDownHump"]="≎̸",
-["uparrow"]="↑",
-["downarrow"]="↓",
-["boxdL"]="╕",
-["Hstrok"]="Ħ",
-["Ccaron"]="Č",
-["succsim"]="≿",
-["RightFloor"]="⌋",
-["DownBreve"]="̑",
-["succapprox"]="⪸",
-["dsol"]="⧶",
-["napid"]="≋̸",
-["nprcue"]="⋠",
+["frac34"]="¾",
+["Gbreve"]="Ğ",
+["Updownarrow"]="⇕",
+["iscr"]="𝒾",
+["sigmav"]="ς",
+["trade"]="™",
+["minusb"]="⊟",
+["GJcy"]="Ѓ",
+["TildeFullEqual"]="≅",
+["DoubleRightTee"]="⊨",
+["nang"]="∠⃒",
+["ddotseq"]="⩷",
+["copy"]="©",
["Eopf"]="𝔼",
-["ell"]="ℓ",
-["cupdot"]="⊍",
-["Not"]="⫬",
-["zigrarr"]="⇝",
-["downharpoonright"]="⇂",
-["nisd"]="⋺",
-["lotimes"]="⨴",
-["plusmn"]="±",
-["ngE"]="≧̸",
-["odash"]="⊝",
-["emptyset"]="∅",
+["Psi"]="Ψ",
+["UpperRightArrow"]="↗",
+["geqq"]="≧",
+["subedot"]="⫃",
+["nvlArr"]="⤂",
+["Ncedil"]="Ņ",
+["vsupne"]="⊋︀",
+["supset"]="⊃",
["squarf"]="▪",
-["NotGreaterTilde"]="≵",
-["NotTildeFullEqual"]="≇",
-["DownArrowUpArrow"]="⇵",
-["nwarrow"]="↖",
-["looparrowright"]="↬",
+["LeftDoubleBracket"]="⟦",
+["utrif"]="▴",
["Dopf"]="𝔻",
-["oplus"]="⊕",
-["UpEquilibrium"]="⥮",
-["leftthreetimes"]="⋋",
-["DoubleLeftTee"]="⫤",
-["nabla"]="∇",
-["RuleDelayed"]="⧴",
-["euml"]="ë",
-["varsupsetneqq"]="⫌︀",
-["upsi"]="υ",
-["supsup"]="⫖",
-["bsol"]="\\",
-["Copf"]="ℂ",
-["DDotrahd"]="⤑",
-["Upsilon"]="Υ",
-["UpperRightArrow"]="↗",
-["nedot"]="≐̸",
-["NotEqual"]="≠",
-["bumpeq"]="≏",
-["emsp14"]=" ",
-["frac38"]="⅜",
-["DownTeeArrow"]="↧",
-["Bopf"]="𝔹",
-["capand"]="⩄",
-["nleqq"]="≦̸",
-["ratio"]="∶",
-["eplus"]="⩱",
-["nge"]="≱",
-["laquo"]="«",
-["urtri"]="◹",
-["LeftUpVector"]="↿",
-["gl"]="≷",
-["Gt"]="≫",
-["andd"]="⩜",
+["ape"]="≊",
+["gEl"]="⪌",
+["COPY"]="©",
+["afr"]="𝔞",
+["Acy"]="А",
+["ldquor"]="„",
+["because"]="∵",
+["Pr"]="⪻",
+["OverBar"]="‾",
+["lang"]="⟨",
+["mopf"]="𝕞",
+["crarr"]="↵",
+["Epsilon"]="Ε",
+["Nfr"]="𝔑",
+["kjcy"]="ќ",
+["TildeTilde"]="≈",
+["bsim"]="∽",
+["lcy"]="л",
+["larrb"]="⇤",
+["ncong"]="≇",
+["ENG"]="Ŋ",
+["brvbar"]="¦",
+["Rightarrow"]="⇒",
+["nopf"]="𝕟",
+["Wfr"]="𝔚",
+["ljcy"]="љ",
+["diamondsuit"]="♦",
+["latail"]="⤙",
+["lambda"]="λ",
+["frac14"]="¼",
+["mcy"]="м",
+["nparsl"]="⫽⃥",
+["lBarr"]="⤎",
+["subdot"]="⪽",
+["frac12"]="½",
+["kopf"]="𝕜",
+["LeftCeiling"]="⌈",
+["erarr"]="⥱",
+["pre"]="⪯",
+["varr"]="↕",
+["Pi"]="Π",
+["sub"]="⊂",
+["ncy"]="н",
+["marker"]="▮",
+["rpargt"]="⦔",
+["supe"]="⊇",
+["veebar"]="⊻",
+["checkmark"]="✓",
+["nbsp"]=" ",
+["sqsupseteq"]="⊒",
+["upharpoonright"]="↾",
+["lopf"]="𝕝",
+["Omicron"]="Ο",
+["ccaps"]="⩍",
+["lrhard"]="⥭",
["Lstrok"]="Ł",
-["gamma"]="γ",
-["Sc"]="⪼",
-["Aopf"]="𝔸",
-["pluscir"]="⨢",
-["Itilde"]="Ĩ",
-["DoubleRightTee"]="⊨",
-["pluse"]="⩲",
-["iiint"]="∭",
-["dotplus"]="∔",
-["vrtri"]="⊳",
-["Proportion"]="∷",
-["bne"]="=⃥",
-["cuepr"]="⋞",
+["Mfr"]="𝔐",
+["njcy"]="њ",
+["ocy"]="о",
+["Zcaron"]="Ž",
+["NotSucceeds"]="⊁",
+["rarrbfs"]="⤠",
+["gtrapprox"]="⪆",
+["oS"]="Ⓢ",
+["diamond"]="⋄",
+["gesdot"]="⪀",
+["urcorner"]="⌝",
+["lotimes"]="⨴",
+["pertenk"]="‱",
+["rfisht"]="⥽",
+["Zfr"]="ℨ",
+["Map"]="⤅",
+["cross"]="✗",
+["DifferentialD"]="ⅆ",
+["boxtimes"]="⊠",
+["horbar"]="―",
+["lg"]="≶",
+["orarr"]="↻",
+["Vbar"]="⫫",
+["ropf"]="𝕣",
+["NotDoubleVerticalBar"]="∦",
+["Sfr"]="𝔖",
+["Iuml"]="Ï",
+["leftharpoondown"]="↽",
+["atilde"]="ã",
+["VerticalTilde"]="≀",
+["DoubleContourIntegral"]="∯",
+["longleftarrow"]="⟵",
+["Im"]="ℑ",
+["RightUpVectorBar"]="⥔",
+["nGg"]="⋙̸",
+["scap"]="⪸",
+["nrarr"]="↛",
+["ycy"]="ы",
+["ucirc"]="û",
+["qopf"]="𝕢",
+["oopf"]="𝕠",
+["yacute"]="ý",
+["Xfr"]="𝔛",
+["fork"]="⋔",
+["in"]="∈",
+["xcap"]="⋂",
+["check"]="✓",
+["jcy"]="й",
+["Phi"]="Φ",
+["doteq"]="≐",
["vBar"]="⫨",
-["yucy"]="ю",
-["PrecedesTilde"]="≾",
-["varr"]="↕",
-["leftarrowtail"]="↢",
-["rangle"]="⟩",
-["subsub"]="⫕",
-["rightarrowtail"]="↣",
-["oslash"]="ø",
-["mapstodown"]="↧",
-["sqsube"]="⊑",
-["NewLine"]="\n",
-["Vdash"]="⊩",
-["num"]="#",
-["umacr"]="ū",
-["InvisibleTimes"]="⁢",
-["bemptyv"]="⦰",
+["frown"]="⌢",
["Iogon"]="Į",
-["ssmile"]="⌣",
-["timesbar"]="⨱",
-["Tstrok"]="Ŧ",
-["Icy"]="И",
-["zacute"]="ź",
-["Cedilla"]="¸",
-["daleth"]="ℸ",
-["semi"]=";",
-["ssetmn"]="∖",
-["subdot"]="⪽",
-["Bernoullis"]="ℬ",
-["otimesas"]="⨶",
-["circleddash"]="⊝",
-["circlearrowright"]="↻",
-["NotLeftTriangleEqual"]="⋬",
-["NotTilde"]="≁",
-["npart"]="∂̸",
-["Gbreve"]="Ğ",
-["gtrless"]="≷",
-["pound"]="£",
-["curlyeqsucc"]="⋟",
-["blacklozenge"]="⧫",
-["ldca"]="⤶",
-["nsucc"]="⊁",
-["top"]="⊤",
-["ufr"]="𝔲",
-["sscr"]="𝓈",
-["eDDot"]="⩷",
-["Updownarrow"]="⇕",
-["loz"]="◊",
-["Gcy"]="Г",
-["boxdl"]="┐",
+["gnsim"]="⋧",
+["nsupset"]="⊃⃒",
+["equals"]="=",
+["angmsdac"]="⦪",
+["odash"]="⊝",
+["Hstrok"]="Ħ",
+["homtht"]="∻",
+["maltese"]="✠",
+["esim"]="≂",
+["realine"]="ℛ",
+["straightepsilon"]="ϵ",
+["utri"]="▵",
+["primes"]="ℙ",
+["dbkarow"]="⤏",
+["NotLessTilde"]="≴",
+["nvrArr"]="⤃",
+["cularrp"]="⤽",
+["supsup"]="⫖",
+["rang"]="⟩",
+["nshortmid"]="∤",
+["NotCupCap"]="≭",
+["gnE"]="≩",
+["otilde"]="õ",
+["LeftTriangle"]="⊲",
+["oelig"]="œ",
+["curarrm"]="⤼",
+["orderof"]="ℴ",
+["DoubleLongLeftArrow"]="⟸",
+["OverParenthesis"]="⏜",
+["amacr"]="ā",
+["copysr"]="℗",
+["acirc"]="â",
+["LeftArrowRightArrow"]="⇆",
+["filig"]="fi",
+["uopf"]="𝕦",
+["rlhar"]="⇌",
+["dharl"]="⇃",
+["rAarr"]="⇛",
+["rarrw"]="↝",
+["isin"]="∈",
+["simg"]="⪞",
+["NoBreak"]="⁠",
+["rAtail"]="⤜",
+["ndash"]="–",
+["IJlig"]="IJ",
+["dfr"]="𝔡",
+["ohm"]="Ω",
+["breve"]="˘",
+["ccedil"]="ç",
+["topf"]="𝕥",
+["nvDash"]="⊭",
+["RBarr"]="⤐",
+["clubs"]="♣",
["napos"]="ʼn",
-["Sqrt"]="√",
-["xsqcup"]="⨆",
-["Implies"]="⇒",
-["uring"]="ů",
-["thetav"]="ϑ",
-["iiiint"]="⨌",
-["nLeftrightarrow"]="⇎",
-["lobrk"]="⟦",
-["xfr"]="𝔵",
-["Abreve"]="Ă",
-["micro"]="µ",
-["quatint"]="⨖",
-["congdot"]="⩭",
-["nrtrie"]="⋭",
-["Fcy"]="Ф",
-["hksearow"]="⤥",
-["LowerLeftArrow"]="↙",
-["rdca"]="⤷",
-["OverBar"]="‾",
-["frac12"]="½",
-["imacr"]="ī",
-["boxVL"]="╣",
-["sfr"]="𝔰",
-["ensp"]=" ",
-["dwangle"]="⦦",
-["boxh"]="─",
-["Eogon"]="Ę",
+["ngtr"]="≯",
+["Tstrok"]="Ŧ",
+["lrarr"]="⇆",
+["eqslantgtr"]="⪖",
+["efr"]="𝔢",
+["gne"]="⪈",
+["csube"]="⫑",
+["Xi"]="Ξ",
+["sopf"]="𝕤",
+["LeftVector"]="↼",
+["ggg"]="⋙",
+["Ubrcy"]="Ў",
+["die"]="¨",
+["topbot"]="⌶",
+["Rfr"]="ℜ",
+["ofcir"]="⦿",
["imped"]="Ƶ",
-["Ecy"]="Э",
-["lates"]="⪭︀",
-["phi"]="φ",
-["minusd"]="∸",
-["planckh"]="ℎ",
-["Ocirc"]="Ô",
-["lE"]="≦",
-["sum"]="∑",
-["lrtri"]="⊿",
-["ruluhar"]="⥨",
-["lAarr"]="⇚",
-["DownArrow"]="↓",
-["zscr"]="𝓏",
-["questeq"]="≟",
-["ngeqq"]="≧̸",
-["And"]="⩓",
-["Dcy"]="Д",
-["angrtvbd"]="⦝",
-["rarrpl"]="⥅",
-["thkap"]="≈",
-["Otimes"]="⨷",
-["lesssim"]="≲",
-["gE"]="≧",
-["ouml"]="ö",
-["nsubseteq"]="⊈",
-["bigcirc"]="◯",
+["plusmn"]="±",
+["nles"]="⩽̸",
+["pcy"]="п",
+["permil"]="‰",
+["notinE"]="⋹̸",
+["bigoplus"]="⨁",
+["boxplus"]="⊞",
+["doublebarwedge"]="⌆",
+["ccaron"]="č",
+["asymp"]="≈",
+["sup1"]="¹",
+["bumpeq"]="≏",
+["nrtrie"]="⋭",
+["larrbfs"]="⤟",
+["emacr"]="ē",
+["gtrless"]="≷",
+["Kfr"]="𝔎",
+["plus"]="+",
+["risingdotseq"]="≓",
+["notindot"]="⋵̸",
+["Subset"]="⋐",
+["CloseCurlyDoubleQuote"]="”",
+["nlsim"]="≴",
+["dcaron"]="ď",
["boxVR"]="╠",
-["Vert"]="‖",
-["naturals"]="ℕ",
-["plussim"]="⨦",
-["wscr"]="𝓌",
-["raquo"]="»",
-["bigodot"]="⨀",
-["dashv"]="⊣",
-["hairsp"]=" ",
-["inodot"]="ı",
-["vnsup"]="⊃⃒",
+["lne"]="⪇",
+["Pfr"]="𝔓",
+["rightsquigarrow"]="↝",
+["phone"]="☎",
+["DiacriticalDot"]="˙",
+["Congruent"]="≡",
+["SquareIntersection"]="⊓",
+["ordf"]="ª",
+["loz"]="◊",
["cire"]="≗",
-["vartriangleleft"]="⊲",
-["rbrke"]="⦌",
-["boxuL"]="╛",
-["sce"]="⪰",
-["nrtri"]="⋫",
-["loarr"]="⇽",
-["ShortRightArrow"]="→",
-["xscr"]="𝓍",
-["Bcy"]="Б",
-["HumpEqual"]="≏",
-["lmidot"]="ŀ",
-["DownLeftVector"]="↽",
-["leftharpoonup"]="↼",
+["ecaron"]="ě",
+["nsub"]="⊄",
+["Fouriertrf"]="ℱ",
+["Qfr"]="𝔔",
+["dblac"]="˝",
+["sc"]="≻",
+["xrarr"]="⟶",
+["ImaginaryI"]="ⅈ",
+["angmsdag"]="⦮",
+["wopf"]="𝕨",
+["middot"]="·",
+["gsiml"]="⪐",
+["biguplus"]="⨄",
+["Prime"]="″",
+["bigcirc"]="◯",
+["vsubnE"]="⫋︀",
+["lrtri"]="⊿",
+["nparallel"]="∦",
["lbbrk"]="❲",
-["rarrtl"]="↣",
-["SucceedsEqual"]="⪰",
-["HumpDownHump"]="≎",
-["Vee"]="⋁",
-["Gopf"]="𝔾",
-["otilde"]="õ",
-["ofr"]="𝔬",
-["Sub"]="⋐",
-["gnE"]="≩",
-["SquareSuperset"]="⊐",
-["leftrightharpoons"]="⇋",
-["tosa"]="⤩",
-["Ucirc"]="Û",
-["mscr"]="𝓂",
-["Exists"]="∃",
-["langle"]="⟨",
-["rfr"]="𝔯",
-["THORN"]="Þ",
-["gtreqqless"]="⪌",
-["eqvparsl"]="⧥",
-["NotCongruent"]="≢",
-["phiv"]="ϕ",
-["lsquor"]="‚",
-["prec"]="≺",
-["igrave"]="ì",
-["Fopf"]="𝔽",
-["nwArr"]="⇖",
-["nscr"]="𝓃",
-["gescc"]="⪩",
-["intprod"]="⨼",
-["larrlp"]="↫",
-["AMP"]="&",
-["psi"]="ψ",
-["mDDot"]="∺",
-["VDash"]="⊫",
-["Lleftarrow"]="⇚",
-["mfr"]="𝔪",
+["dotsquare"]="⊡",
+["rceil"]="⌉",
["gesles"]="⪔",
-["kscr"]="𝓀",
-["Omega"]="Ω",
-["bumpe"]="≏",
-["NotDoubleVerticalBar"]="∦",
-["frac18"]="⅛",
-["ecolon"]="≕",
-["compfn"]="∘",
-["supdot"]="⪾",
-["Alpha"]="Α",
-["rsquor"]="’",
+["roarr"]="⇾",
+["simplus"]="⨤",
+["lagran"]="ℒ",
+["pr"]="≺",
+["mnplus"]="∓",
+["Iota"]="Ι",
+["NestedLessLess"]="≪",
+["utilde"]="ũ",
+["mldr"]="…",
+["bigstar"]="★",
+["micro"]="µ",
["percnt"]="%",
-["pfr"]="𝔭",
-["frasl"]="⁄",
-["lscr"]="𝓁",
-["aleph"]="ℵ",
-["swArr"]="⇙",
-["uuml"]="ü",
-["uacute"]="ú",
-["scE"]="⪴",
-["hellip"]="…",
+["fllig"]="fl",
+["euml"]="ë",
+["circledR"]="®",
+["lltri"]="◺",
+["IEcy"]="Е",
+["notniva"]="∌",
+["or"]="∨",
+["curvearrowleft"]="↶",
+["gnapprox"]="⪊",
+["NotLessSlantEqual"]="⩽̸",
+["Cconint"]="∰",
+["NotSucceedsTilde"]="≿̸",
+["gammad"]="ϝ",
+["rightharpoondown"]="⇁",
+["CounterClockwiseContourIntegral"]="∳",
+["supdot"]="⪾",
+["upsi"]="υ",
+["nvle"]="≤⃒",
+["beth"]="ℶ",
+["nhArr"]="⇎",
+["Gamma"]="Γ",
+["complement"]="∁",
+["xoplus"]="⨁",
+["chi"]="χ",
+["backepsilon"]="϶",
+["nsube"]="⊈",
+["aopf"]="𝕒",
+["para"]="¶",
+["drbkarow"]="⤐",
+["Dstrok"]="Đ",
+["isinE"]="⋹",
+["Ecirc"]="Ê",
+["aelig"]="æ",
["ulcorner"]="⌜",
-["prnap"]="⪹",
-["Gg"]="⋙",
-["wedge"]="∧",
-["SquareSubset"]="⊏",
-["qscr"]="𝓆",
-["kfr"]="𝔨",
-["RightTee"]="⊢",
-["eqsim"]="≂",
-["rbrksld"]="⦎",
-["ohm"]="Ω",
-["lozf"]="⧫",
-["cups"]="∪︀",
-["epsilon"]="ε",
-["ncap"]="⩃",
-["Leftarrow"]="⇐",
-["ultri"]="◸",
-["egrave"]="è",
-["vBarv"]="⫩",
-["bNot"]="⫭",
-["nfr"]="𝔫",
-["rsqb"]="]",
-["OpenCurlyDoubleQuote"]="“",
-["rsquo"]="’",
-["Del"]="∇",
-["smtes"]="⪬︀",
-["varphi"]="ϕ",
-["CirclePlus"]="⊕",
-["prcue"]="≼",
-["curren"]="¤",
-["nltri"]="⋪",
-["oscr"]="ℴ",
-["Wcirc"]="Ŵ",
-["prime"]="′",
-["ifr"]="𝔦",
-["apos"]="'",
-["UpTee"]="⊥",
-["lescc"]="⪨",
-["NegativeMediumSpace"]="​",
-["DownTee"]="⊤",
-["NotSquareSubsetEqual"]="⋢",
-["LowerRightArrow"]="↘",
-["wr"]="≀",
+["Lcaron"]="Ľ",
+["bopf"]="𝕓",
+["midast"]="*",
+["barvee"]="⊽",
+["nvgt"]=">⃒",
+["bnequiv"]="≡⃥",
+["caron"]="ˇ",
["andand"]="⩕",
-["gvnE"]="≩︀",
-["lfr"]="𝔩",
-["lowast"]="∗",
-["gfr"]="𝔤",
-["digamma"]="ϝ",
-["cemptyv"]="⦲",
-["ubreve"]="ŭ",
-["dstrok"]="đ",
+["eparsl"]="⧣",
+["xhArr"]="⟺",
+["Yuml"]="Ÿ",
+["fallingdotseq"]="≒",
+["vltri"]="⊲",
+["gtrarr"]="⥸",
+["nGtv"]="≫̸",
+["congdot"]="⩭",
+["lfisht"]="⥼",
+["nrtri"]="⋫",
+["prnsim"]="⋨",
+["nsupE"]="⫆̸",
+["Colone"]="⩴",
+["SquareSuperset"]="⊐",
+["boxUL"]="╝",
+["Rrightarrow"]="⇛",
+["nleftrightarrow"]="↮",
+["Conint"]="∯",
+["ffilig"]="ffi",
+["nleqq"]="≦̸",
+["drcrop"]="⌌",
+["boxh"]="─",
+["Lang"]="⟪",
+["ldrdhar"]="⥧",
+["rbrack"]="]",
+["nvinfin"]="⧞",
+["succsim"]="≿",
+["boxhu"]="┴",
+["tau"]="τ",
+["incare"]="℅",
+["flat"]="♭",
+["angst"]="Å",
+["Oslash"]="Ø",
+["Vfr"]="𝔙",
+["tscy"]="ц",
+["lates"]="⪭︀",
+["eopf"]="𝕖",
+["Because"]="∵",
+["frac25"]="⅖",
+["daleth"]="ℸ",
+["ic"]="⁣",
+["ensp"]=" ",
+["lrm"]="‎",
+["DoubleLeftRightArrow"]="⇔",
+["kappa"]="κ",
+["fopf"]="𝕗",
+["cularr"]="↶",
+["shy"]="­",
+["yen"]="¥",
+["glj"]="⪤",
+["dzcy"]="џ",
["expectation"]="ℰ",
-["sime"]="≃",
-["ltrif"]="◂",
-["iacute"]="í",
-["chi"]="χ",
+["dash"]="‐",
+["female"]="♀",
+["UnderBrace"]="⏟",
+["rotimes"]="⨵",
+["caps"]="∩︀",
+["copf"]="𝕔",
+["lparlt"]="⦓",
+["NotLess"]="≮",
+["simrarr"]="⥲",
+["dtri"]="▿",
+["supne"]="⊋",
+["block"]="█",
+["siml"]="⪝",
+["blk12"]="▒",
+["natural"]="♮",
+["frac34"]="¾",
+["frac38"]="⅜",
+["Ufr"]="𝔘",
+["gg"]="≫",
+["Square"]="□",
+["lt"]="<",
["erDot"]="≓",
-["Vcy"]="В",
+["RightAngleBracket"]="⟩",
+["LeftDownTeeVector"]="⥡",
+["NotGreaterGreater"]="≫̸",
+["uogon"]="ų",
+["ocirc"]="ô",
+["sung"]="♪",
+["dollar"]="$",
+["Scaron"]="Š",
+["top"]="⊤",
+["iopf"]="𝕚",
+["udhar"]="⥮",
+["gjcy"]="ѓ",
+["ncap"]="⩃",
+["circlearrowleft"]="↺",
+["bernou"]="ℬ",
+["angmsdaf"]="⦭",
+["ldsh"]="↲",
+["isins"]="⋴",
+["RoundImplies"]="⥰",
+["bigtriangledown"]="▽",
+["LeftAngleBracket"]="⟨",
+["HorizontalLine"]="─",
+["Vdashl"]="⫦",
+["rHar"]="⥤",
+["Tcaron"]="Ť",
+["LeftDownVectorBar"]="⥙",
+["jopf"]="𝕛",
+["LeftRightVector"]="⥎",
+["LessGreater"]="≶",
+["npart"]="∂̸",
+["nsmid"]="∤",
+["RightTriangleBar"]="⧐",
+["nesim"]="≂̸",
+["deg"]="°",
+["LeftTeeArrow"]="↤",
+["NotHumpDownHump"]="≎̸",
+["tridot"]="◬",
+["lceil"]="⌈",
+["ExponentialE"]="ⅇ",
+["tosa"]="⤩",
+["gopf"]="𝕘",
+["ContourIntegral"]="∮",
+["late"]="⪭",
+["bbrk"]="⎵",
+["half"]="½",
["boxhd"]="┬",
-["DoubleDownArrow"]="⇓",
-["lArr"]="⇐",
-["demptyv"]="⦱",
-["smt"]="⪪",
-["intcal"]="⊺",
-["in"]="∈",
-["capcup"]="⩇",
-["kjcy"]="ќ",
-["Ccirc"]="Ĉ",
-["bnequiv"]="≡⃥",
-["Emacr"]="Ē",
-["siml"]="⪝",
-["jfr"]="𝔧",
-["gesdoto"]="⪂",
-["efr"]="𝔢",
-["precneqq"]="⪵",
-["because"]="∵",
-["Udblac"]="Ű",
-["lg"]="≶",
-["boxvr"]="├",
-["fpartint"]="⨍",
-["rbbrk"]="❳",
-["LT"]="<",
-["cap"]="∩",
-["circledR"]="®",
-["notinvc"]="⋶",
-["zwj"]="‍",
-["nle"]="≰",
-["hfr"]="𝔥",
-["bigsqcup"]="⨆",
-["nGg"]="⋙̸",
-["doublebarwedge"]="⌆",
+["hopf"]="𝕙",
+["Ouml"]="Ö",
+["Atilde"]="Ã",
+["planckh"]="ℎ",
+["MinusPlus"]="∓",
+["uharl"]="↿",
+["aleph"]="ℵ",
+["boxHD"]="╦",
+["lesseqgtr"]="⋚",
+["colon"]=":",
+["SquareSupersetEqual"]="⊒",
+["isinsv"]="⋳",
+["lnapprox"]="⪉",
+["PrecedesSlantEqual"]="≼",
+["boxuL"]="╛",
+["csup"]="⫐",
+["hstrok"]="ħ",
+["leftrightharpoons"]="⇋",
+["boxuR"]="╘",
+["DD"]="ⅅ",
+["Longrightarrow"]="⟹",
+["epsilon"]="ε",
+["NotTildeTilde"]="≉",
+["nfr"]="𝔫",
+["Vscr"]="𝒱",
+["Ncy"]="Н",
+["boxUl"]="╜",
+["searr"]="↘",
+["ddagger"]="‡",
+["KHcy"]="Х",
+["NotSuperset"]="⊃⃒",
+["Uparrow"]="⇑",
+["nsqsube"]="⋢",
+["Imacr"]="Ī",
+["nspar"]="∦",
+["supsetneqq"]="⫌",
+["Sscr"]="𝒮",
+["lobrk"]="⟦",
+["mfr"]="𝔪",
+["acirc"]="â",
+["subne"]="⊊",
+["Icirc"]="Î",
+["Re"]="ℜ",
+["nearrow"]="↗",
["YUcy"]="Ю",
-["empty"]="∅",
-["nacute"]="ń",
-["Acirc"]="Â",
-["bigtriangleup"]="△",
-["hybull"]="⁃",
-["Ycy"]="Ы",
-["isindot"]="⋵",
-["iota"]="ι",
-["numero"]="№",
-["cfr"]="𝔠",
-["llarr"]="⇇",
-["lrhard"]="⥭",
-["cross"]="✗",
+["eqsim"]="≂",
+["UnionPlus"]="⊎",
+["topcir"]="⫱",
+["boxVL"]="╣",
+["Xscr"]="𝒳",
+["QUOT"]="\"",
+["RightDownVectorBar"]="⥕",
+["epsi"]="ε",
+["natur"]="♮",
+["leftthreetimes"]="⋋",
+["hercon"]="⊹",
+["lHar"]="⥢",
+["Aring"]="Å",
+["Kcedil"]="Ķ",
+["kfr"]="𝔨",
+["Oacute"]="Ó",
["zwnj"]="‌",
+["plusdu"]="⨥",
+["Kcy"]="К",
+["sqcup"]="⊔",
+["zscr"]="𝓏",
+["Assign"]="≔",
+["zopf"]="𝕫",
+["lstrok"]="ł",
+["zigrarr"]="⇝",
+["ShortDownArrow"]="↓",
+["simlE"]="⪟",
+["mid"]="∣",
["zeta"]="ζ",
-["precnsim"]="⋨",
-["zcy"]="з",
+["gE"]="≧",
+["zeetrf"]="ℨ",
+["qfr"]="𝔮",
["zcaron"]="ž",
-["xodot"]="⨀",
-["RightDownTeeVector"]="⥝",
-["ljcy"]="љ",
+["Yacute"]="Ý",
+["hksearow"]="⤥",
+["Atilde"]="Ã",
+["zacute"]="ź",
+["bsemi"]="⁏",
+["bigtriangleup"]="△",
+["yuml"]="ÿ",
+["yucy"]="ю",
["yscr"]="𝓎",
+["yopf"]="𝕪",
["yicy"]="ї",
-["Rcy"]="Р",
-["nsubset"]="⊂⃒",
-["yen"]="¥",
-["ycy"]="ы",
-["simeq"]="≃",
-["dharr"]="⇂",
-["ycirc"]="ŷ",
-["hArr"]="⇔",
-["yacute"]="ý",
-["yacute"]="ý",
+["urcorn"]="⌝",
+["Aacute"]="Á",
+["backsimeq"]="⋍",
+["ShortUpArrow"]="↑",
["xwedge"]="⋀",
-["xoplus"]="⨁",
-["nparsl"]="⫽⃥",
-["PartialD"]="∂",
-["YAcy"]="Я",
-["xrArr"]="⟹",
-["xotime"]="⨂",
-["sstarf"]="⋆",
-["yuml"]="ÿ",
-["Int"]="∬",
-["bsolb"]="⧅",
+["Jcy"]="Й",
+["nltrie"]="⋬",
+["starf"]="★",
+["zfr"]="𝔷",
+["comma"]=",",
+["xsqcup"]="⨆",
+["boxVr"]="╟",
+["cirscir"]="⧂",
+["ucirc"]="û",
+["Cross"]="⨯",
+["naturals"]="ℕ",
+["quaternions"]="ℍ",
+["xopf"]="𝕩",
+["xodot"]="⨀",
["xnis"]="⋻",
-["xmap"]="⟼",
-["hercon"]="⊹",
-["xlArr"]="⟸",
-["xharr"]="⟷",
-["rbrack"]="]",
+["lsaquo"]="‹",
+["xlarr"]="⟵",
+["Zacute"]="Ź",
+["vdash"]="⊢",
+["submult"]="⫁",
+["Oscr"]="𝒪",
["xdtri"]="▽",
-["diamond"]="⋄",
+["LowerRightArrow"]="↘",
["xcup"]="⋃",
-["subsup"]="⫓",
-["lneqq"]="≨",
-["dharl"]="⇃",
-["Scy"]="С",
-["wopf"]="𝕨",
-["rightleftharpoons"]="⇌",
-["wfr"]="𝔴",
-["nsupseteqq"]="⫆̸",
-["boxuR"]="╘",
-["permil"]="‰",
+["Ycy"]="Ы",
+["timesb"]="⊠",
+["Ucirc"]="Û",
+["eth"]="ð",
+["wscr"]="𝓌",
+["ratail"]="⤚",
+["wr"]="≀",
+["Ograve"]="Ò",
+["wp"]="℘",
+["euml"]="ë",
+["yfr"]="𝔶",
+["rangle"]="⟩",
+["hearts"]="♥",
["wedgeq"]="≙",
-["eparsl"]="⧣",
-["RoundImplies"]="⥰",
-["afr"]="𝔞",
-["vsubne"]="⊊︀",
-["sup2"]="²",
+["wedge"]="∧",
+["gtcir"]="⩺",
+["par"]="∥",
+["swarr"]="↙",
+["phiv"]="ϕ",
+["NotElement"]="∉",
+["alpha"]="α",
+["SquareUnion"]="⊔",
+["parsl"]="⫽",
["vscr"]="𝓋",
+["rharu"]="⇀",
+["vrtri"]="⊳",
+["comp"]="∁",
+["Agrave"]="À",
+["rdca"]="⤷",
+["vprop"]="∝",
+["Tscr"]="𝒯",
["vopf"]="𝕧",
-["lbrace"]="{",
+["ldca"]="⤶",
["vnsub"]="⊂⃒",
-["vltri"]="⊲",
-["Uacute"]="Ú",
-["vfr"]="𝔳",
-["sacute"]="ś",
-["njcy"]="њ",
-["frac35"]="⅗",
-["squf"]="▪",
+["gbreve"]="ğ",
+["NotSquareSubset"]="⊏̸",
+["verbar"]="|",
+["YAcy"]="Я",
["veeeq"]="≚",
-["lsime"]="⪍",
-["mapstoleft"]="↤",
+["downharpoonleft"]="⇃",
+["Star"]="⋆",
+["xfr"]="𝔵",
+["nges"]="⩾̸",
+["GreaterGreater"]="⪢",
+["vartriangleright"]="⊳",
+["rcy"]="р",
+["vartheta"]="ϑ",
+["varsupsetneqq"]="⫌︀",
+["dashv"]="⊣",
["varsupsetneq"]="⊋︀",
-["varsubsetneq"]="⊊︀",
-["Tcy"]="Т",
-["cwint"]="∱",
-["varsigma"]="ς",
-["LessGreater"]="≶",
+["Ncaron"]="Ň",
+["varsubsetneqq"]="⫋︀",
["varrho"]="ϱ",
-["varpropto"]="∝",
-["pr"]="≺",
-["backprime"]="‵",
+["triangledown"]="▿",
+["varpi"]="ϖ",
+["sol"]="/",
+["ssetmn"]="∖",
+["varnothing"]="∅",
["varkappa"]="ϰ",
-["Poincareplane"]="ℌ",
-["roplus"]="⨮",
-["Edot"]="Ė",
-["copysr"]="℗",
+["vangrt"]="⦜",
+["Leftarrow"]="⇐",
+["Qscr"]="𝒬",
+["uwangle"]="⦧",
+["rarrap"]="⥵",
["uuml"]="ü",
-["dfr"]="𝔡",
["uuarr"]="⇈",
-["uogon"]="ų",
-["Uscr"]="𝒰",
-["gel"]="⋛",
-["olarr"]="↺",
-["lsaquo"]="‹",
-["omacr"]="ō",
-["utdot"]="⋰",
-["or"]="∨",
-["Ocirc"]="Ô",
-["ClockwiseContourIntegral"]="∲",
-["SmallCircle"]="∘",
-["gtcc"]="⪧",
["uscr"]="𝓊",
+["urtri"]="◹",
+["uring"]="ů",
+["sect"]="§",
+["quatint"]="⨖",
["urcrop"]="⌎",
-["ContourIntegral"]="∮",
-["szlig"]="ß",
-["egs"]="⪖",
-["Ucy"]="У",
-["ange"]="⦤",
-["upharpoonright"]="↾",
-["xcap"]="⋂",
+["wfr"]="𝔴",
+["duhar"]="⥯",
+["upuparrows"]="⇈",
+["macr"]="¯",
+["SmallCircle"]="∘",
+["upsih"]="ϒ",
+["uplus"]="⊎",
+["shy"]="­",
+["uparrow"]="↑",
["uml"]="¨",
-["nsubseteqq"]="⫅̸",
+["eDot"]="≑",
+["blk34"]="▓",
+["umacr"]="ū",
+["ultri"]="◸",
+["rbbrk"]="❳",
["ulcorn"]="⌜",
-["uhblk"]="▀",
-["scirc"]="ŝ",
-["shy"]="­",
-["uharl"]="↿",
+["uharr"]="↾",
["ugrave"]="ù",
-["lstrok"]="ł",
-["Gamma"]="Γ",
-["udhar"]="⥮",
-["udblac"]="ű",
-["ucirc"]="û",
-["loang"]="⟬",
-["uarr"]="↑",
+["Ograve"]="Ò",
+["nsupseteq"]="⊉",
+["ufisht"]="⥾",
+["Breve"]="˘",
+["ucy"]="у",
+["cylcty"]="⌭",
+["ubreve"]="ŭ",
+["SHcy"]="Ш",
+["boxdR"]="╒",
+["awint"]="⨑",
+["uHar"]="⥣",
["uArr"]="⇑",
-["twoheadrightarrow"]="↠",
+["REG"]="®",
+["twoheadleftarrow"]="↞",
["tstrok"]="ŧ",
+["iprod"]="⨼",
["tshcy"]="ћ",
-["tscy"]="ц",
-["angsph"]="∢",
-["kappa"]="κ",
["tscr"]="𝓉",
-["tritime"]="⨻",
-["trisb"]="⧍",
+["trpezium"]="⏢",
+["ycirc"]="ŷ",
+["larrhk"]="↩",
+["triplus"]="⨹",
["triminus"]="⨺",
-["trie"]="≜",
-["tridot"]="◬",
-["aacute"]="á",
+["Rsh"]="↱",
+["becaus"]="∵",
+["Acirc"]="Â",
["trianglerighteq"]="⊵",
-["RightTeeVector"]="⥛",
["triangleright"]="▹",
+["hkswarow"]="⤦",
+["triangleq"]="≜",
+["AElig"]="Æ",
["trianglelefteq"]="⊴",
+["varpropto"]="∝",
["triangle"]="▵",
-["NegativeVeryThinSpace"]="​",
-["triangledown"]="▿",
-["dash"]="‐",
-["trade"]="™",
+["tprime"]="‴",
["topfork"]="⫚",
-["Upsi"]="ϒ",
-["topcir"]="⫱",
-["loplus"]="⨭",
-["Zdot"]="Ż",
-["lbrke"]="⦋",
-["angmsd"]="∡",
-["dArr"]="⇓",
-["topbot"]="⌶",
["toea"]="⤨",
-["iexcl"]="¡",
-["acirc"]="â",
-["easter"]="⩮",
-["CloseCurlyDoubleQuote"]="”",
-["cupcup"]="⩊",
-["rlhar"]="⇌",
-["nsimeq"]="≄",
-["Uparrow"]="⇑",
-["tau"]="τ",
-["npr"]="⊀",
-["phone"]="☎",
-["emacr"]="ē",
-["SHcy"]="Ш",
-["gtdot"]="⋗",
-["ReverseUpEquilibrium"]="⥯",
+["ac"]="∾",
+["timesd"]="⨰",
+["UpArrowDownArrow"]="⇅",
+["timesbar"]="⨱",
+["llhard"]="⥫",
+["CHcy"]="Ч",
+["odblac"]="ő",
+["THORN"]="Þ",
+["notni"]="∌",
+["nbump"]="≎̸",
+["eqcolon"]="≕",
["tilde"]="˜",
-["angmsdac"]="⦪",
-["duhar"]="⥯",
-["approxeq"]="≊",
-["NotSupersetEqual"]="⊉",
-["thorn"]="þ",
-["thksim"]="∼",
-["subsim"]="⫇",
-["bnot"]="⌐",
+["simgE"]="⪠",
+["intercal"]="⊺",
+["thetasym"]="ϑ",
+["xcirc"]="◯",
["thinsp"]=" ",
["thicksim"]="∼",
-["gt"]=">",
-["UpperLeftArrow"]="↖",
-["thetasym"]="ϑ",
-["simlE"]="⪟",
-["bbrktbrk"]="⎶",
-["Jcirc"]="Ĵ",
-["cedil"]="¸",
-["NotLessSlantEqual"]="⩽̸",
-["rx"]="℞",
-["infin"]="∞",
-["curlyvee"]="⋎",
-["LeftArrow"]="←",
-["tfr"]="𝔱",
-["blacksquare"]="▪",
-["emptyv"]="∅",
-["Mellintrf"]="ℳ",
-["aogon"]="ą",
-["succnapprox"]="⪺",
-["tcy"]="т",
-["ecaron"]="ě",
+["LeftArrowBar"]="⇤",
+["Uuml"]="Ü",
+["DownTeeArrow"]="↧",
+["cent"]="¢",
+["hookleftarrow"]="↩",
+["odiv"]="⨸",
+["therefore"]="∴",
+["ClockwiseContourIntegral"]="∲",
+["Ofr"]="𝔒",
+["auml"]="ä",
+["frac12"]="½",
+["nRightarrow"]="⇏",
+["kcedil"]="ķ",
+["DownRightVectorBar"]="⥗",
+["boxDL"]="╗",
["tcedil"]="ţ",
-["boxhU"]="╨",
-["boxVl"]="╢",
-["gacute"]="ǵ",
-["tcaron"]="ť",
-["boxDr"]="╓",
-["bump"]="≎",
-["blk12"]="▒",
-["RightArrow"]="→",
-["els"]="⪕",
-["apacir"]="⩯",
-["acy"]="а",
-["omid"]="⦶",
-["boxbox"]="⧉",
-["iecy"]="е",
-["szlig"]="ß",
-["upsih"]="ϒ",
-["swnwar"]="⤪",
-["Icirc"]="Î",
-["swarr"]="↙",
-["times"]="×",
-["Ograve"]="Ò",
-["hoarr"]="⇿",
-["NotTildeEqual"]="≄",
-["IEcy"]="Е",
-["iexcl"]="¡",
-["bdquo"]="„",
-["TildeTilde"]="≈",
+["boxUr"]="╙",
+["icirc"]="î",
+["lmoustache"]="⎰",
+["prime"]="′",
+["ngeq"]="≱",
["nshortparallel"]="∦",
-["subedot"]="⫃",
-["supsetneq"]="⊋",
-["CenterDot"]="·",
-["lessapprox"]="⪅",
-["LeftVectorBar"]="⥒",
-["bigoplus"]="⨁",
-["supseteqq"]="⫆",
-["drcorn"]="⌟",
-["hstrok"]="ħ",
-["HorizontalLine"]="─",
-["curarrm"]="⤼",
-["lopar"]="⦅",
+["szlig"]="ß",
+["Egrave"]="È",
+["sqsubset"]="⊏",
+["NotRightTriangleEqual"]="⋭",
+["swarrow"]="↙",
+["Ucirc"]="Û",
+["DownArrowBar"]="⤓",
+["Lfr"]="𝔏",
["wcirc"]="ŵ",
+["LessLess"]="⪡",
+["Tilde"]="∼",
+["empty"]="∅",
+["swarhk"]="⤦",
+["DownLeftVector"]="↽",
+["Uscr"]="𝒰",
+["khcy"]="х",
+["gesl"]="⋛︀",
+["supsub"]="⫔",
+["malt"]="✠",
+["cirmid"]="⫯",
+["PrecedesTilde"]="≾",
+["lharul"]="⥪",
+["rightleftharpoons"]="⇌",
+["Ccedil"]="Ç",
+["plusb"]="⊞",
+["nsupe"]="⊉",
+["geq"]="≥",
+["dHar"]="⥥",
+["lcedil"]="ļ",
+["ange"]="⦤",
+["supseteq"]="⊇",
+["Upsi"]="ϒ",
+["mapstodown"]="↧",
+["profalar"]="⌮",
+["cupdot"]="⊍",
+["mapstoleft"]="↤",
+["xotime"]="⨂",
+["tbrk"]="⎴",
+["supmult"]="⫂",
+["disin"]="⋲",
["suphsub"]="⫗",
-["Otilde"]="Õ",
-["EmptySmallSquare"]="◻",
+["eg"]="⪚",
["supedot"]="⫄",
-["Kopf"]="𝕂",
-["boxminus"]="⊟",
-["csupe"]="⫒",
-["Ffr"]="𝔉",
-["origof"]="⊶",
-["sup3"]="³",
-["boxH"]="═",
-["vsubnE"]="⫋︀",
-["Hcirc"]="Ĥ",
-["block"]="█",
+["NonBreakingSpace"]=" ",
+["Euml"]="Ë",
["bsolhsub"]="⟈",
-["Supset"]="⋑",
-["GreaterFullEqual"]="≧",
+["supdsub"]="⫘",
+["sup3"]="³",
+["DoubleLeftTee"]="⫤",
+["angrtvb"]="⊾",
+["supsim"]="⫈",
+["sup2"]="²",
+["sup2"]="²",
+["circledast"]="⊛",
+["rfr"]="𝔯",
+["darr"]="↓",
+["rarrhk"]="↪",
+["macr"]="¯",
["sup1"]="¹",
-["llcorner"]="⌞",
-["sopf"]="𝕤",
-["larrbfs"]="⤟",
-["succneqq"]="⪶",
-["part"]="∂",
-["eacute"]="é",
-["COPY"]="©",
-["frac23"]="⅔",
-["dbkarow"]="⤏",
-["succeq"]="⪰",
-["notni"]="∌",
-["Euml"]="Ë",
-["harrcir"]="⥈",
-["leftrightsquigarrow"]="↭",
-["xcirc"]="◯",
-["caret"]="⁁",
-["les"]="⩽",
-["lharul"]="⥪",
-["bsime"]="⋍",
-["DoubleLeftArrow"]="⇐",
-["ecirc"]="ê",
-["subsetneqq"]="⫋",
-["crarr"]="↵",
-["cuwed"]="⋏",
-["Ugrave"]="Ù",
-["Gcirc"]="Ĝ",
-["LeftTriangleBar"]="⧏",
+["aacute"]="á",
+["oscr"]="ℴ",
+["lharu"]="↼",
+["telrec"]="⌕",
+["Dashv"]="⫤",
+["succnsim"]="⋩",
+["AElig"]="Æ",
+["Vee"]="⋁",
+["succnapprox"]="⪺",
+["CapitalDifferentialD"]="ⅅ",
["gsim"]="≳",
-["RightTriangleEqual"]="⊵",
-["lacute"]="ĺ",
-["Ccedil"]="Ç",
-["ee"]="ⅇ",
-["heartsuit"]="♥",
-["coloneq"]="≔",
-["subseteq"]="⊆",
-["NotSucceedsTilde"]="≿̸",
+["succapprox"]="⪸",
+["rmoustache"]="⎱",
+["DotEqual"]="≐",
+["subsup"]="⫓",
+["Gcedil"]="Ģ",
+["questeq"]="≟",
+["lthree"]="⋋",
+["cong"]="≅",
+["lcub"]="{",
+["radic"]="√",
+["subrarr"]="⥹",
+["nvlt"]="<⃒",
["subplus"]="⪿",
-["cupcap"]="⩆",
-["Amacr"]="Ā",
-["angst"]="Å",
-["supsetneqq"]="⫌",
-["sube"]="⊆",
-["imagpart"]="ℑ",
-["Lambda"]="Λ",
-["Afr"]="𝔄",
-["sub"]="⊂",
+["bigsqcup"]="⨆",
+["downarrow"]="↓",
+["auml"]="ä",
+["boxdL"]="╕",
+["boxvr"]="├",
+["lbrkslu"]="⦍",
+["bigwedge"]="⋀",
+["apacir"]="⩯",
+["Wscr"]="𝒲",
+["iecy"]="е",
+["VerticalSeparator"]="❘",
+["Yfr"]="𝔜",
["strns"]="¯",
["straightphi"]="ϕ",
-["boxvL"]="╡",
-["dagger"]="†",
-["eta"]="η",
-["KHcy"]="Х",
-["Yfr"]="𝔜",
-["lbrack"]="[",
-["VerticalBar"]="∣",
-["rightleftarrows"]="⇄",
-["fltns"]="▱",
-["verbar"]="|",
-["RightAngleBracket"]="⟩",
-["DownRightVector"]="⇁",
-["Lacute"]="Ĺ",
-["sol"]="/",
-["lrm"]="‎",
-["lesdot"]="⩿",
-["nleqslant"]="⩽̸",
-["capcap"]="⩋",
+["kcy"]="к",
+["aogon"]="ą",
+["star"]="☆",
+["caret"]="⁁",
+["cups"]="∪︀",
+["iquest"]="¿",
+["spar"]="∥",
+["NotExists"]="∄",
+["Gt"]="≫",
["squ"]="□",
-["xutri"]="△",
-["TSHcy"]="Ћ",
-["gap"]="⪆",
-["gtrdot"]="⋗",
-["scnap"]="⪺",
-["bkarow"]="⤍",
-["NotPrecedes"]="⊀",
-["suphsol"]="⟉",
+["sqsupe"]="⊒",
+["subnE"]="⫋",
["sqsup"]="⊐",
-["epsi"]="ε",
-["sqsubset"]="⊏",
-["check"]="✓",
-["UpArrowBar"]="⤒",
-["NotPrecedesEqual"]="⪯̸",
-["csube"]="⫑",
-["nsupset"]="⊃⃒",
-["lesdoto"]="⪁",
+["sqsubseteq"]="⊑",
+["ffr"]="𝔣",
+["UpTeeArrow"]="↥",
+["middot"]="·",
+["DoubleLongRightArrow"]="⟹",
+["sqsube"]="⊑",
+["sce"]="⪰",
+["Sup"]="⋑",
+["cacute"]="ć",
+["GreaterFullEqual"]="≧",
+["pfr"]="𝔭",
+["Lleftarrow"]="⇚",
+["heartsuit"]="♥",
+["precsim"]="≾",
+["nsucceq"]="⪰̸",
["sqcups"]="⊔︀",
-["suplarr"]="⥻",
-["nsim"]="≁",
-["NotEqualTilde"]="≂̸",
-["nearr"]="↗",
-["SquareIntersection"]="⊓",
-["intlarhk"]="⨗",
-["Ecirc"]="Ê",
-["vangrt"]="⦜",
-["fllig"]="fl",
-["Leftrightarrow"]="⇔",
-["primes"]="ℙ",
-["nvlArr"]="⤂",
+["Igrave"]="Ì",
+["iquest"]="¿",
+["Pcy"]="П",
+["thksim"]="∼",
+["djcy"]="ђ",
+["hfr"]="𝔥",
+["spadesuit"]="♠",
+["rbrkslu"]="⦐",
+["shcy"]="ш",
+["barwed"]="⌅",
+["rpar"]=")",
+["iiiint"]="⨌",
+["solb"]="⧄",
+["Integral"]="∫",
+["napE"]="⩰̸",
+["softcy"]="ь",
+["NotRightTriangleBar"]="⧐̸",
+["Mu"]="Μ",
+["frasl"]="⁄",
+["Icy"]="И",
+["dfisht"]="⥿",
["smte"]="⪬",
-["ltri"]="◃",
-["Tscr"]="𝒯",
+["smt"]="⪪",
+["bottom"]="⊥",
+["oacute"]="ó",
+["ofr"]="𝔬",
["smid"]="∣",
-["smeparsl"]="⧤",
-["rarrc"]="⤳",
-["divideontimes"]="⋇",
-["eth"]="ð",
-["boxvR"]="╞",
-["copy"]="©",
-["nges"]="⩾̸",
-["fcy"]="ф",
-["ShortUpArrow"]="↑",
-["simplus"]="⨤",
-["frac45"]="⅘",
-["nexists"]="∄",
-["LeftTeeArrow"]="↤",
-["leftleftarrows"]="⇇",
-["simg"]="⪞",
-["euro"]="€",
-["simdot"]="⩪",
-["sim"]="∼",
-["sigmav"]="ς",
-["iuml"]="ï",
-["updownarrow"]="↕",
-["shy"]="­",
-["solb"]="⧄",
+["ReverseUpEquilibrium"]="⥯",
+["smashp"]="⨳",
+["slarr"]="←",
+["simne"]="≆",
+["LeftRightArrow"]="↔",
+["thkap"]="≈",
+["nlArr"]="⇍",
+["chcy"]="ч",
+["not"]="¬",
+["kgreen"]="ĸ",
+["simeq"]="≃",
+["LongRightArrow"]="⟶",
+["sime"]="≃",
+["sigma"]="σ",
+["odot"]="⊙",
+["amp"]="&",
+["Longleftrightarrow"]="⟺",
+["Upsilon"]="Υ",
+["upharpoonleft"]="↿",
+["bigotimes"]="⨂",
+["parallel"]="∥",
+["ffllig"]="ffl",
+["shortparallel"]="∥",
+["boxdr"]="┌",
+["shortmid"]="∣",
+["Euml"]="Ë",
+["UpDownArrow"]="↕",
+["lcaron"]="ľ",
+["sfrown"]="⌢",
+["harr"]="↔",
+["dsol"]="⧶",
+["Beta"]="Β",
+["srarr"]="→",
+["boxHd"]="╤",
["nesear"]="⤨",
-["Umacr"]="Ū",
-["uharr"]="↾",
-["Therefore"]="∴",
-["Barv"]="⫧",
-["amacr"]="ā",
["setmn"]="∖",
+["DoubleDot"]="¨",
["setminus"]="∖",
-["Sscr"]="𝒮",
+["andd"]="⩜",
+["leftrightarrow"]="↔",
["seswar"]="⤩",
-["ccupssm"]="⩐",
-["searr"]="↘",
+["eogon"]="ę",
+["bne"]="=⃥",
+["DownBreve"]="̑",
+["nLtv"]="≪̸",
+["nprcue"]="⋠",
+["SucceedsSlantEqual"]="≽",
+["downdownarrows"]="⇊",
+["seArr"]="⇘",
+["Utilde"]="Ũ",
+["Gammad"]="Ϝ",
+["sdote"]="⩦",
+["iexcl"]="¡",
+["nvdash"]="⊬",
+["csupe"]="⫒",
["sdotb"]="⊡",
-["icirc"]="î",
-["amp"]="&",
-["gcy"]="г",
-["Aacute"]="Á",
-["boxvh"]="┼",
-["bfr"]="𝔟",
-["OverParenthesis"]="⏜",
-["sqsupe"]="⊒",
-["amp"]="&",
-["frac14"]="¼",
-["ZeroWidthSpace"]="​",
-["Colon"]="∷",
-["Proportional"]="∝",
-["thickapprox"]="≈",
-["subseteqq"]="⫅",
-["IJlig"]="IJ",
-["scedil"]="ş",
-["lrarr"]="⇆",
-["angmsdaf"]="⦭",
-["downharpoonleft"]="⇃",
+["scsim"]="≿",
+["bcy"]="б",
+["NotTilde"]="≁",
+["minus"]="−",
+["scnE"]="⪶",
+["scirc"]="ŝ",
+["oplus"]="⊕",
+["para"]="¶",
+["Ycirc"]="Ŷ",
+["notinva"]="∉",
+["nLl"]="⋘̸",
+["Aring"]="Å",
+["THORN"]="Þ",
+["numero"]="№",
+["scaron"]="š",
+["bsol"]="\\",
+["harrw"]="↭",
+["exponentiale"]="ⅇ",
+["eDDot"]="⩷",
+["AMP"]="&",
+["gamma"]="γ",
+["opar"]="⦷",
+["cwint"]="∱",
+["GreaterEqual"]="≥",
+["bigcap"]="⋂",
+["rtimes"]="⋊",
+["integers"]="ℤ",
+["easter"]="⩮",
["RightDoubleBracket"]="⟧",
-["half"]="½",
-["larr"]="←",
["sbquo"]="‚",
-["Vscr"]="𝒱",
-["nVdash"]="⊮",
-["DownRightVectorBar"]="⥗",
-["RightDownVector"]="⇂",
-["disin"]="⋲",
-["nsce"]="⪰̸",
-["rbrace"]="}",
-["MinusPlus"]="∓",
-["rtrif"]="▸",
-["parsim"]="⫳",
-["supseteq"]="⊇",
-["Superset"]="⊃",
-["Verbar"]="‖",
+["cfr"]="𝔠",
+["ruluhar"]="⥨",
+["image"]="ℑ",
+["nleqslant"]="⩽̸",
+["Yopf"]="𝕐",
+["apE"]="⩰",
+["NotPrecedesEqual"]="⪯̸",
+["rsqb"]="]",
+["rtrie"]="⊵",
+["rthree"]="⋌",
+["amp"]="&",
+["eng"]="ŋ",
+["ll"]="≪",
+["rrarr"]="⇉",
+["RightTee"]="⊢",
+["ETH"]="Ð",
+["ReverseEquilibrium"]="⇋",
+["langle"]="⟨",
["Zeta"]="Ζ",
-["nsccue"]="⋡",
-["bsemi"]="⁏",
-["ldquor"]="„",
-["curarr"]="↷",
-["rscr"]="𝓇",
-["rppolint"]="⨒",
-["rpargt"]="⦔",
-["rotimes"]="⨵",
-["Equal"]="⩵",
-["ropf"]="𝕣",
-["ropar"]="⦆",
-["roarr"]="⇾",
-["odot"]="⊙",
-["natural"]="♮",
-["slarr"]="←",
-["angmsdae"]="⦬",
-["acE"]="∾̳",
+["roplus"]="⨮",
+["there4"]="∴",
+["DownRightTeeVector"]="⥟",
+["npar"]="∦",
+["robrk"]="⟧",
+["exist"]="∃",
+["lfr"]="𝔩",
+["VDash"]="⊫",
+["rnmid"]="⫮",
+["rmoust"]="⎱",
["rlm"]="‏",
-["COPY"]="©",
-["iogon"]="į",
-["nleftrightarrow"]="↮",
-["reg"]="®",
-["risingdotseq"]="≓",
-["rightsquigarrow"]="↝",
-["dtri"]="▿",
-["Larr"]="↞",
-["icy"]="и",
-["gimel"]="ℷ",
+["Ccirc"]="Ĉ",
+["imagpart"]="ℑ",
+["Equilibrium"]="⇌",
+["dd"]="ⅆ",
+["cuepr"]="⋞",
+["Agrave"]="À",
+["cuesc"]="⋟",
+["square"]="□",
+["notnivc"]="⋽",
+["rbrksld"]="⦎",
["cup"]="∪",
-["DJcy"]="Ђ",
-["gtrapprox"]="⪆",
-["rightharpoonup"]="⇀",
-["prsim"]="≾",
-["rightharpoondown"]="⇁",
-["frac16"]="⅙",
-["nbsp"]=" ",
-["cedil"]="¸",
-["numsp"]=" ",
+["OpenCurlyDoubleQuote"]="“",
+["Lacute"]="Ĺ",
+["NewLine"]="\n",
+["Sigma"]="Σ",
+["Abreve"]="Ă",
+["rightleftarrows"]="⇄",
+["tint"]="∭",
+["angmsdae"]="⦬",
+["Leftrightarrow"]="⇔",
+["rdquor"]="”",
+["Verbar"]="‖",
+["Gfr"]="𝔊",
["rightarrow"]="→",
["rhov"]="ϱ",
-["rdquo"]="”",
-["rharul"]="⥬",
-["frac34"]="¾",
-["ldrdhar"]="⥧",
-["gnsim"]="⋧",
-["rtriltri"]="⧎",
-["emsp"]=" ",
-["rlarr"]="⇄",
-["Oslash"]="Ø",
-["LeftDownTeeVector"]="⥡",
+["Alpha"]="Α",
+["rho"]="ρ",
+["DownLeftTeeVector"]="⥞",
+["ntriangleright"]="⋫",
["reg"]="®",
-["LeftTeeVector"]="⥚",
-["gsiml"]="⪐",
-["QUOT"]="\"",
-["blk14"]="░",
-["rightrightarrows"]="⇉",
-["NotGreaterGreater"]="≫̸",
-["Xscr"]="𝒳",
-["Re"]="ℜ",
-["Ouml"]="Ö",
+["Int"]="∬",
+["agrave"]="à",
+["Ecirc"]="Ê",
+["NotReverseElement"]="∌",
+["backprime"]="‵",
+["Jfr"]="𝔍",
["rdsh"]="↳",
-["and"]="∧",
-["larrb"]="⇤",
-["TripleDot"]="⃛",
-["bcy"]="б",
-["diams"]="♦",
-["veebar"]="⊻",
-["rcub"]="}",
-["Scirc"]="Ŝ",
-["ac"]="∾",
-["rceil"]="⌉",
-["rcedil"]="ŗ",
-["cupbrcap"]="⩈",
-["rcaron"]="ř",
-["cuesc"]="⋟",
-["HilbertSpace"]="ℋ",
-["plus"]="+",
-["rbrkslu"]="⦐",
-["LessLess"]="⪡",
-["macr"]="¯",
-["notinE"]="⋹̸",
+["jsercy"]="ј",
+["Bscr"]="ℬ",
+["boxH"]="═",
+["leq"]="≤",
+["NotPrecedes"]="⊀",
+["coloneq"]="≔",
+["boxvh"]="┼",
+["larr"]="←",
+["ncup"]="⩂",
+["EmptySmallSquare"]="◻",
+["vartriangleleft"]="⊲",
+["iacute"]="í",
+["nVDash"]="⊯",
+["lap"]="⪅",
+["precapprox"]="⪷",
+["ecolon"]="≕",
+["lsqb"]="[",
["rbarr"]="⤍",
-["abreve"]="ă",
-["sqcup"]="⊔",
-["ratail"]="⤚",
-["VeryThinSpace"]=" ",
-["Uarrocir"]="⥉",
-["rarrfs"]="⤞",
-["Odblac"]="Ő",
-["Imacr"]="Ī",
-["ordm"]="º",
-["odsold"]="⦼",
-["NJcy"]="Њ",
-["Yacute"]="Ý",
-["rarrbfs"]="⤠",
-["prop"]="∝",
-["notin"]="∉",
-["vsupne"]="⊋︀",
-["bigcap"]="⋂",
-["Phi"]="Φ",
-["Ograve"]="Ò",
-["Yscr"]="𝒴",
-["approx"]="≈",
-["racute"]="ŕ",
-["ggg"]="⋙",
-["lmoust"]="⎰",
+["yacy"]="я",
+["efDot"]="≒",
+["ratio"]="∶",
+["wreath"]="≀",
+["nearhk"]="⤤",
+["rarrpl"]="⥅",
+["nvge"]="≥⃒",
+["searrow"]="↘",
+["thorn"]="þ",
+["rdquo"]="”",
+["LessFullEqual"]="≦",
+["nvrtrie"]="⊵⃒",
+["nsubseteqq"]="⫅̸",
+["nedot"]="≐̸",
+["VerticalLine"]="|",
+["lsh"]="↰",
+["DownRightVector"]="⇁",
+["ecirc"]="ê",
+["andv"]="⩚",
+["trie"]="≜",
+["race"]="∽̱",
["rBarr"]="⤏",
-["gneqq"]="≩",
-["isinv"]="∈",
-["harr"]="↔",
-["rArr"]="⇒",
-["rAarr"]="⇛",
-["quot"]="\"",
+["lbrksld"]="⦏",
+["emsp14"]=" ",
+["RuleDelayed"]="⧴",
+["vsubne"]="⊊︀",
+["ShortLeftArrow"]="←",
+["gtlPar"]="⦕",
["quest"]="?",
-["iuml"]="ï",
-["LeftRightArrow"]="↔",
-["LeftDoubleBracket"]="⟦",
-["gesdot"]="⪀",
-["Ntilde"]="Ñ",
-["boxUR"]="╚",
-["exist"]="∃",
-["subnE"]="⫋",
-["ograve"]="ò",
-["qopf"]="𝕢",
-["Zacute"]="Ź",
-["qfr"]="𝔮",
-["dcy"]="д",
-["NotReverseElement"]="∌",
-["DotEqual"]="≐",
-["VerticalLine"]="|",
-["pscr"]="𝓅",
-["prurel"]="⊰",
-["cdot"]="ċ",
-["bprime"]="‵",
-["ltdot"]="⋖",
-["prnsim"]="⋨",
-["curlywedge"]="⋏",
-["prnE"]="⪵",
-["REG"]="®",
-["sup3"]="³",
+["dot"]="˙",
+["RightVector"]="⇀",
+["rppolint"]="⨒",
+["Hat"]="^",
+["zcy"]="з",
+["suplarr"]="⥻",
+["boxhU"]="╨",
+["puncsp"]=" ",
+["GreaterLess"]="≷",
+["psi"]="ψ",
+["ncaron"]="ň",
+["SupersetEqual"]="⊇",
+["propto"]="∝",
["preceq"]="⪯",
-["LeftDownVectorBar"]="⥙",
-["ForAll"]="∀",
+["frac56"]="⅚",
+["NotLessGreater"]="≸",
+["jukcy"]="є",
+["swArr"]="⇙",
+["profline"]="⌒",
+["prnE"]="⪵",
+["larrpl"]="⤹",
+["af"]="⁡",
+["profsurf"]="⌓",
+["Larr"]="↞",
["forkv"]="⫙",
-["varpi"]="ϖ",
-["nrArr"]="⇏",
+["prcue"]="≼",
+["RightUpTeeVector"]="⥜",
["pound"]="£",
+["ugrave"]="ù",
+["popf"]="𝕡",
+["frac78"]="⅞",
+["suphsol"]="⟉",
+["loplus"]="⨭",
+["pointint"]="⨕",
+["cupcap"]="⩆",
+["LessTilde"]="≲",
+["pm"]="±",
+["blacksquare"]="▪",
["plustwo"]="⨧",
-["shchcy"]="щ",
-["cacute"]="ć",
-["Dashv"]="⫤",
-["lHar"]="⥢",
-["NotLeftTriangle"]="⋪",
-["gbreve"]="ğ",
-["boxDl"]="╖",
-["Beta"]="Β",
-["ReverseEquilibrium"]="⇋",
+["copy"]="©",
+["plussim"]="⨦",
+["Lcy"]="Л",
+["pluse"]="⩲",
+["ropar"]="⦆",
+["OpenCurlyQuote"]="‘",
["plusacir"]="⨣",
-["eqslantgtr"]="⪖",
-["ecy"]="э",
-["pitchfork"]="⋔",
-["ctdot"]="⋯",
-["odiv"]="⨸",
-["lesseqqgtr"]="⪋",
-["GreaterLess"]="≷",
-["Ocy"]="О",
-["weierp"]="℘",
-["Uring"]="Ů",
-["period"]=".",
-["nis"]="⋼",
-["cudarrr"]="⤵",
-["boxHU"]="╩",
-["Ouml"]="Ö",
-["Assign"]="≔",
-["Lscr"]="ℒ",
-["parallel"]="∥",
-["there4"]="∴",
-["cupor"]="⩅",
-["nwarr"]="↖",
-["para"]="¶",
-["ouml"]="ö",
-["otimes"]="⊗",
-["drbkarow"]="⤐",
-["puncsp"]=" ",
-["otilde"]="õ",
-["Vvdash"]="⊪",
-["osol"]="⊘",
+["Exists"]="∃",
+["piv"]="ϖ",
+["phmmat"]="ℳ",
+["angzarr"]="⍼",
+["vsupnE"]="⫌︀",
+["phi"]="φ",
+["perp"]="⊥",
+["rdldhar"]="⥩",
+["ccirc"]="ĉ",
+["Tfr"]="𝔗",
+["Tcy"]="Т",
+["circeq"]="≗",
+["InvisibleTimes"]="⁢",
+["OElig"]="Œ",
+["trisb"]="⧍",
+["Rcaron"]="Ř",
+["olt"]="⧀",
+["UpArrow"]="↑",
+["DDotrahd"]="⤑",
+["Uarrocir"]="⥉",
+["lacute"]="ĺ",
["oslash"]="ø",
-["dd"]="ⅆ",
-["NotPrecedesSlantEqual"]="⋠",
-["orv"]="⩛",
-["orslope"]="⩗",
-["KJcy"]="Ќ",
-["larrfs"]="⤝",
-["orderof"]="ℴ",
-["asympeq"]="≍",
-["ord"]="⩝",
-["NotLess"]="≮",
-["NotGreater"]="≯",
-["ThinSpace"]=" ",
-["ominus"]="⊖",
+["Uarr"]="↟",
+["bsolb"]="⧅",
+["gt"]=">",
+["ordm"]="º",
+["Itilde"]="Ĩ",
+["ordm"]="º",
+["Jscr"]="𝒥",
+["Rarr"]="↠",
+["measuredangle"]="∡",
["DoubleLongLeftRightArrow"]="⟺",
-["lesseqgtr"]="⋚",
+["lmidot"]="ŀ",
+["period"]=".",
["operp"]="⦹",
-["quaternions"]="ℍ",
-["boxdR"]="╒",
-["omega"]="ω",
-["Kscr"]="𝒦",
-["lessgtr"]="≶",
-["utilde"]="ũ",
-["olt"]="⧀",
-["Rho"]="Ρ",
-["olcir"]="⦾",
-["oint"]="∮",
+["bprime"]="‵",
+["numsp"]=" ",
+["ominus"]="⊖",
+["nldr"]="‥",
["ograve"]="ò",
-["Succeeds"]="≻",
-["Igrave"]="Ì",
-["eogon"]="ę",
-["Uacute"]="Ú",
-["bbrk"]="⎵",
-["ocy"]="о",
-["bcong"]="≌",
+["omicron"]="ο",
+["nearr"]="↗",
+["jcirc"]="ĵ",
+["nlE"]="≦̸",
+["deg"]="°",
+["frac13"]="⅓",
+["tcy"]="т",
+["lowbar"]="_",
+["vfr"]="𝔳",
+["ogon"]="˛",
+["sim"]="∼",
+["ocirc"]="ô",
+["Icirc"]="Î",
+["ocir"]="⊚",
+["ZeroWidthSpace"]="​",
["oast"]="⊛",
+["smile"]="⌣",
+["bigvee"]="⋁",
["oacute"]="ó",
-["cir"]="○",
-["angmsdab"]="⦩",
-["Iscr"]="ℐ",
-["ldquo"]="“",
-["RightVector"]="⇀",
-["euml"]="ë",
-["between"]="≬",
-["oS"]="Ⓢ",
-["downdownarrows"]="⇊",
-["nvlt"]="<⃒",
-["lurdshar"]="⥊",
-["starf"]="★",
-["xlarr"]="⟵",
-["Aring"]="Å",
-["Xi"]="Ξ",
-["gtcir"]="⩺",
-["Nscr"]="𝒩",
-["elinters"]="⏧",
-["ntrianglelefteq"]="⋬",
-["Vbar"]="⫫",
+["Egrave"]="È",
+["nwnear"]="⤧",
+["nwarhk"]="⤣",
+["rationals"]="ℚ",
+["DiacriticalGrave"]="`",
+["npreceq"]="⪯̸",
+["rarrc"]="⤳",
+["Uogon"]="Ų",
+["InvisibleComma"]="⁣",
+["nvltrie"]="⊴⃒",
+["digamma"]="ϝ",
+["cirE"]="⧃",
+["AMP"]="&",
+["Theta"]="Θ",
+["frac15"]="⅕",
+["fnof"]="ƒ",
+["icirc"]="î",
+["Cdot"]="Ċ",
+["ngsim"]="≵",
+["sube"]="⊆",
+["tcaron"]="ť",
["ntilde"]="ñ",
-["andv"]="⩚",
-["Rsh"]="↱",
-["angmsdad"]="⦫",
-["nsup"]="⊅",
-["nbsp"]=" ",
-["SquareSupersetEqual"]="⊒",
-["ETH"]="Ð",
-["nsube"]="⊈",
-["DoubleContourIntegral"]="∯",
-["nsubE"]="⫅̸",
-["angmsdah"]="⦯",
-["NotLessGreater"]="≸",
-["awint"]="⨑",
-["rtri"]="▹",
-["nsc"]="⊁",
-["boxvl"]="┤",
-["beta"]="β",
-["LessSlantEqual"]="⩽",
-["supsub"]="⫔",
-["agrave"]="à",
-["LeftUpTeeVector"]="⥠",
-["nrarrw"]="↝̸",
-["ltcc"]="⪦",
-["nrarrc"]="⤳̸",
-["frac78"]="⅞",
-["nvrArr"]="⤃",
-["igrave"]="ì",
-["barwed"]="⌅",
-["Mscr"]="ℳ",
-["nrarr"]="↛",
-["SubsetEqual"]="⊆",
-["notnivc"]="⋽",
-["notnivb"]="⋾",
-["succcurlyeq"]="≽",
-["eth"]="ð",
-["notinva"]="∉",
-["Otilde"]="Õ",
-["star"]="☆",
-["rangd"]="⦒",
-["Psi"]="Ψ",
-["nsupe"]="⊉",
-["mapstoup"]="↥",
-["LJcy"]="Љ",
-["looparrowleft"]="↫",
-["nlarr"]="↚",
-["Ll"]="⋘",
-["ordf"]="ª",
-["ni"]="∋",
+["ufr"]="𝔲",
+["Mcy"]="М",
["Delta"]="Δ",
-["NotVerticalBar"]="∤",
-["backcong"]="≌",
-["NoBreak"]="⁠",
+["vnsup"]="⊃⃒",
+["lAtail"]="⤛",
+["DoubleUpArrow"]="⇑",
+["aelig"]="æ",
+["lscr"]="𝓁",
+["Rscr"]="ℛ",
+["capcup"]="⩇",
+["npolint"]="⨔",
+["gesdotol"]="⪄",
+["uacute"]="ú",
+["bumpE"]="⪮",
+["drcorn"]="⌟",
+["notnivb"]="⋾",
+["notinvc"]="⋶",
+["ovbar"]="⌽",
+["Mopf"]="𝕄",
+["NotGreater"]="≯",
+["boxDr"]="╓",
+["lrcorner"]="⌟",
+["nleq"]="≰",
+["nleftarrow"]="↚",
+["nle"]="≰",
+["boxvl"]="┤",
+["Downarrow"]="⇓",
+["hcirc"]="ĥ",
["nharr"]="↮",
+["tfr"]="𝔱",
+["nlt"]="≮",
+["gacute"]="ǵ",
+["colone"]="≔",
+["Rang"]="⟫",
["ngt"]="≯",
-["Pscr"]="𝒫",
-["laemptyv"]="⦴",
-["utrif"]="▴",
-["ngeq"]="≱",
-["ncedil"]="ņ",
-["ncaron"]="ň",
-["boxhu"]="┴",
-["NotSquareSuperset"]="⊐̸",
-["bull"]="•",
+["ntilde"]="ñ",
+["vcy"]="в",
+["boxvL"]="╡",
+["NotLeftTriangleBar"]="⧏̸",
+["NestedGreaterGreater"]="≫",
+["xmap"]="⟼",
+["napid"]="≋̸",
+["LeftTriangleBar"]="⧏",
["SquareSubsetEqual"]="⊑",
-["VerticalSeparator"]="❘",
-["natur"]="♮",
-["ffr"]="𝔣",
-["rdquor"]="”",
-["lagran"]="ℒ",
-["nRightarrow"]="⇏",
-["nLtv"]="≪̸",
-["nLl"]="⋘̸",
-["Epsilon"]="Ε",
-["csup"]="⫐",
-["leftarrow"]="←",
-["nGt"]="≫⃒",
-["multimap"]="⊸",
-["mstpos"]="∾",
-["SuchThat"]="∋",
-["mldr"]="…",
-["midast"]="*",
-["Sum"]="∑",
-["vartheta"]="ϑ",
-["mapsto"]="↦",
-["nsupseteq"]="⊉",
-["Oscr"]="𝒪",
-["forall"]="∀",
-["aring"]="å",
-["ltimes"]="⋉",
-["ltcir"]="⩹",
-["lt"]="<",
-["ii"]="ⅈ",
-["equest"]="≟",
-["scsim"]="≿",
-["lsqb"]="[",
-["lsimg"]="⪏",
-["Egrave"]="È",
-["Downarrow"]="⇓",
-["lsim"]="≲",
-["eqslantless"]="⪕",
-["ucirc"]="û",
-["Auml"]="Ä",
-["lnsim"]="⋦",
-["uplus"]="⊎",
-["lhblk"]="▄",
-["Ugrave"]="Ù",
-["dlcrop"]="⌍",
-["OElig"]="Œ",
-["lesg"]="⋚︀",
-["lesdotor"]="⪃",
-["eg"]="⪚",
-["lvertneqq"]="≨︀",
-["leqslant"]="⩽",
-["ccups"]="⩌",
-["lceil"]="⌈",
-["auml"]="ä",
-["RightCeiling"]="⌉",
-["lbrksld"]="⦏",
-["lbarr"]="⤌",
+["eacute"]="é",
+["ne"]="≠",
+["ncongdot"]="⩭̸",
+["boxvR"]="╞",
+["PrecedesEqual"]="⪯",
+["Omacr"]="Ō",
+["egs"]="⪖",
+["ouml"]="ö",
+["nbsp"]=" ",
+["xuplus"]="⨄",
+["napprox"]="≉",
+["CloseCurlyQuote"]="’",
+["nacute"]="ń",
+["Chi"]="Χ",
+["subsub"]="⫕",
+["gescc"]="⪩",
+["gcirc"]="ĝ",
+["Lsh"]="↰",
+["sfr"]="𝔰",
+["circlearrowright"]="↻",
+["rcaron"]="ř",
+["ThinSpace"]=" ",
+["otilde"]="õ",
+["TRADE"]="™",
+["cudarrl"]="⤸",
["lat"]="⪫",
-["Rscr"]="ℛ",
-["Zcy"]="З",
-["bigwedge"]="⋀",
-["Prime"]="″",
+["nLeftrightarrow"]="⇎",
+["leqq"]="≦",
+["dagger"]="†",
+["dstrok"]="đ",
+["sacute"]="ś",
+["Amacr"]="Ā",
+["mumap"]="⊸",
+["models"]="⊧",
+["DiacriticalAcute"]="´",
+["minusd"]="∸",
+["hybull"]="⁃",
+["ijlig"]="ij",
+["fflig"]="ff",
+["NotGreaterEqual"]="≱",
+["Colon"]="∷",
+["boxV"]="║",
+["DotDot"]="⃜",
+["mdash"]="—",
+["hairsp"]=" ",
+["bcong"]="≌",
+["mcomma"]="⨩",
+["cirfnint"]="⨐",
+["TScy"]="Ц",
+["luruhar"]="⥦",
+["awconint"]="∳",
+["nsim"]="≁",
+["els"]="⪕",
+["imof"]="⊷",
+["lpar"]="(",
+["lozenge"]="◊",
+["oint"]="∮",
+["Umacr"]="Ū",
+["Sum"]="∑",
+["lopar"]="⦅",
+["racute"]="ŕ",
+["LessEqualGreater"]="⋚",
+["Wedge"]="⋀",
+["bbrktbrk"]="⎶",
+["RightDownTeeVector"]="⥝",
+["HumpDownHump"]="≎",
+["rarrb"]="⇥",
+["longleftrightarrow"]="⟷",
+["lnE"]="≨",
+["NotGreaterSlantEqual"]="⩾̸",
+["Nu"]="Ν",
+["NotNestedLessLess"]="⪡̸",
+["UpEquilibrium"]="⥮",
+["boxhD"]="╥",
+["el"]="⪙",
["boxDR"]="╔",
-["scnsim"]="⋩",
-["efDot"]="≒",
-["kopf"]="𝕜",
-["minusdu"]="⨪",
-["kappav"]="ϰ",
+["Gdot"]="Ġ",
+["itilde"]="ĩ",
+["isindot"]="⋵",
+["GreaterEqualLess"]="⋛",
+["Ll"]="⋘",
+["nrarrw"]="↝̸",
+["supnE"]="⫌",
+["epsiv"]="ϵ",
+["Element"]="∈",
+["gtreqless"]="⋛",
+["laemptyv"]="⦴",
+["nGt"]="≫⃒",
+["angsph"]="∢",
+["lE"]="≦",
+["kscr"]="𝓀",
+["Ocy"]="О",
+["LowerLeftArrow"]="↙",
+["dopf"]="𝕕",
+["iukcy"]="і",
+["atilde"]="ã",
+["DoubleRightArrow"]="⇒",
+["oslash"]="ø",
+["rarr"]="→",
+["intprod"]="⨼",
+["hookrightarrow"]="↪",
+["intcal"]="⊺",
+["infintie"]="⧝",
+["escr"]="ℯ",
+["iiota"]="℩",
+["curren"]="¤",
+["Bernoullis"]="ℬ",
+["angmsdah"]="⦯",
+["ShortRightArrow"]="→",
+["boxUR"]="╚",
+["ges"]="⩾",
+["DoubleDownArrow"]="⇓",
+["NotSquareSuperset"]="⊐̸",
+["lsim"]="≲",
+["bump"]="≎",
+["curlyeqsucc"]="⋟",
+["SHCHcy"]="Щ",
+["frac45"]="⅘",
+["qint"]="⨌",
+["Precedes"]="≺",
+["RightTeeArrow"]="↦",
+["frac16"]="⅙",
+["euro"]="€",
+["smtes"]="⪬︀",
+["eth"]="ð",
+["ldquo"]="“",
+["equivDD"]="⩸",
+["Oopf"]="𝕆",
["boxVh"]="╫",
-["Uuml"]="Ü",
-["centerdot"]="·",
-["isinsv"]="⋳",
-["isins"]="⋴",
-["bot"]="⊥",
-["integers"]="ℤ",
-["Racute"]="Ŕ",
-["ijlig"]="ij",
-["bernou"]="ℬ",
-["Cconint"]="∰",
-["doteq"]="≐",
-["hookleftarrow"]="↩",
-["epar"]="⋕",
-["harrw"]="↭",
-["dzigrarr"]="⟿",
-["Zscr"]="𝒵",
-["alpha"]="α",
-["times"]="×",
+["GreaterSlantEqual"]="⩾",
+["KJcy"]="Ќ",
["egrave"]="è",
-["UnionPlus"]="⊎",
-["Qscr"]="𝒬",
-["Omacr"]="Ō",
-["Zfr"]="ℨ",
-["gneq"]="⪈",
-["divonx"]="⋇",
-["gesdotol"]="⪄",
-["gvertneqq"]="≩︀",
-["geq"]="≥",
-["utri"]="▵",
-["ge"]="≥",
-["vArr"]="⇕",
-["Rrightarrow"]="⇛",
-["frac25"]="⅖",
-["LeftCeiling"]="⌈",
-["GreaterGreater"]="⪢",
-["LT"]="<",
-["Longrightarrow"]="⟹",
-["eqcolon"]="≕",
-["ofcir"]="⦿",
-["boxUl"]="╜",
-["Wscr"]="𝒲",
-["Sacute"]="Ś",
-["Union"]="⋃",
-["gg"]="≫",
-["DownArrowBar"]="⤓",
-["Escr"]="ℰ",
-["ecirc"]="ê",
-["Lmidot"]="Ŀ",
-["Wedge"]="⋀",
-["frown"]="⌢",
-["ring"]="˚",
-["dtdot"]="⋱",
-["Ccedil"]="Ç",
-["Conint"]="∯",
-["dscr"]="𝒹",
-["Map"]="⤅",
-["EmptyVerySmallSquare"]="▫",
-["backsim"]="∽",
-["angzarr"]="⍼",
-["dHar"]="⥥",
-["Mfr"]="𝔐",
-["cirE"]="⧃",
-["Popf"]="ℙ",
-["NestedGreaterGreater"]="≫",
-["ReverseElement"]="∋",
-["boxVr"]="╟",
+["NotGreaterLess"]="≹",
+["boxVl"]="╢",
+["MediumSpace"]=" ",
+["LongLeftArrow"]="⟵",
+["uarr"]="↑",
+["Ocirc"]="Ô",
+["Idot"]="İ",
+["bumpe"]="≏",
+["nwArr"]="⇖",
+["NegativeThinSpace"]="​",
+["coprod"]="∐",
+["VerticalBar"]="∣",
+["sccue"]="≽",
+["boxDl"]="╖",
+["NotSubset"]="⊂⃒",
+["Edot"]="Ė",
+["scy"]="с",
+["Cup"]="⋓",
+["centerdot"]="·",
+["nsimeq"]="≄",
+["DownLeftRightVector"]="⥐",
}
diff --git a/macros/luatex/generic/luaxml/luaxml-transform.lua b/macros/luatex/generic/luaxml/luaxml-transform.lua
index b6841fea5f..4b51eed117 100644
--- a/macros/luatex/generic/luaxml/luaxml-transform.lua
+++ b/macros/luatex/generic/luaxml/luaxml-transform.lua
@@ -198,6 +198,10 @@ local function add_action(selector, template, parameters, csspar)
end
+local function reset_actions(selector, csspar)
+ local css = csspar or css
+ css:remove_selector(selector)
+end
--- Transform XML string
@@ -243,7 +247,7 @@ end
local Transformer
--- Make new Transformer object
--- @return Tranformer object
+-- @return Transformer object
local function new()
local self = setmetatable({}, Transformer)
self.css = cssquery()
@@ -289,6 +293,12 @@ function Transformer:add_custom_action(selector, fn )
add_custom_action(selector, fn, self.css)
end
+--- Remove all actions that match the given selector
+---@param selector string
+function Transformer:reset_actions(selector)
+ reset_actions(selector, self.css)
+end
+
-- all methods that use transformation functions must
-- correctly handle the cssquery object that this library uses
@@ -338,6 +348,7 @@ local M = {
print_tex = print_tex,
add_action = add_action,
add_custom_action = add_custom_action,
+ reset_actions = reset_actions,
simple_content = simple_content,
load_file = load_file,
process_dom = process_dom,
diff --git a/macros/luatex/generic/luaxml/luaxml.pdf b/macros/luatex/generic/luaxml/luaxml.pdf
index f574a0a528..071fa4e4cd 100644
--- a/macros/luatex/generic/luaxml/luaxml.pdf
+++ b/macros/luatex/generic/luaxml/luaxml.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaxml/luaxml.tex b/macros/luatex/generic/luaxml/luaxml.tex
index 5031a0468e..bf3b8fbaa7 100644
--- a/macros/luatex/generic/luaxml/luaxml.tex
+++ b/macros/luatex/generic/luaxml/luaxml.tex
@@ -7,7 +7,7 @@
\usepackage{framed}
% Version is defined in the makefile, use default values when compiled directly
\ifdefined\version\else
-\def\version{v0.1r}
+\def\version{v0.2}
\let\gitdate\date
\fi
\newcommand\modulename[1]{\subsection{#1}\label{sec:#1}}
@@ -99,6 +99,67 @@ end
\end{luacode*}
\end{framed}
+\subsection{HTML parsing}
+
+You can parse HTML documents using the \verb|DOM_Object.html_parse| function. This parser is slower
+than the default XML parser, but it can load files that would cause errors in the XML mode.
+It can handle wrongly nested HTML tags, inline JavaScript and CSS styles, and other HTML features
+that would cause XML errors.
+
+\begin{verbatim}
+dom = require "luaxml-domobject"
+local document = [[
+<html>
+<head><title>sample</title></head>
+<body>
+<h1>test</h1>
+<p>hello
+<p>another paragraph
+<ul>
+<li>first
+<li>second
+</ul>
+</body>
+</html>
+ ]]
+
+-- dom.html_parse returns the DOM_Object
+obj = dom.html_parse(document)
+-- print names of all elements contained in body
+for _, x in ipairs(obj:query_selector("body *")) do
+ tex.print(x:get_element_name().. "\\par")
+end
+\end{verbatim}
+
+
+\begin{framed}
+\begin{luacode*}
+dom = require "luaxml-domobject"
+local document = [[
+<html>
+<head><title>sample</title></head>
+<body>
+<h1>test</h1>
+<p>hello
+<p>another paragraph
+<ul>
+<li>first
+<li>second
+</ul>
+</body>
+</html>
+ ]]
+
+-- dom.html_parse returns the DOM_Object
+obj = dom.html_parse(document)
+-- print names of all elements contained in body
+for _, x in ipairs(obj:query_selector("body *")) do
+ tex.print(x:get_element_name().. "\\par")
+end
+\end{luacode*}
+\end{framed}
+
+
\subsection{Void elements}
The \verb|DOM_Object.parse| function tries to support the HTML void elements,
@@ -641,6 +702,35 @@ transform.print_tex("\\verb|" .. result .. "|")
\end{luacode*}
\end{framed}
+\section{Character sets handling}
+
+The \texttt{luaxml-encodings} library provides functions to convert texts in legacy 8-bit encodings such as WINDOWS-1250
+or ISO-8859-2 to UTF-8. This can be useful in fixing document encoding before HTML parsing using the \texttt{luaxml-mod-html}
+library.
+
+\subsection{Example}
+
+
+\begin{verbatim}
+kpse.set_program_name "luatex"
+local encodings = require "luaxml-encodings"
+
+--read HTML page from the standard input
+local text = io.read("*all")
+-- find the character encoding in HTML metadata
+local enc = encodings.find_html_encoding(text)
+if enc then
+ -- local conversion table for the found encoding
+ local mapping = encodings.load_mapping(enc)
+ if mapping then
+ -- if the mapping exists, recode the HTML input and print it
+ local converted = encodings.recode(text, mapping)
+ print(converted)
+ end
+end
+\end{verbatim}
+
+
\section{The API documentation}
diff --git a/macros/luatex/generic/penlightplus/penlightplus.lua b/macros/luatex/generic/penlightplus/penlightplus.lua
index e51b01c14b..0e948c3fe1 100644
--- a/macros/luatex/generic/penlightplus/penlightplus.lua
+++ b/macros/luatex/generic/penlightplus/penlightplus.lua
@@ -1,5 +1,5 @@
--% Kale Ewasiuk (kalekje@gmail.com)
---% 2024-03-14
+--% 2024-08-17
--% Copyright (C) 2021-2024 Kale Ewasiuk
--%
--% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -857,6 +857,21 @@ end
+function penlight.caseswitch(s, c, kv)
+ local kvtbl = penlight.luakeys.parse(kv)
+ local sw = kvtbl[c] -- the returned switch
+ if sw == nil then -- if switch not found
+ if s == penlight.tex.xTrue then -- if star, throw error
+ pl.tex.pkgerror('penlight', 'case: "'..c..'" not found in key-vals: "'..kv..'"')
+ sw = ''
+ else
+ sw = kvtbl['__'] or '' -- use __ as not found case
+ end
+ end
+ tex.sprint(sw)
+end
+
+
penlight.tbls = {}
diff --git a/macros/luatex/generic/penlightplus/penlightplus.pdf b/macros/luatex/generic/penlightplus/penlightplus.pdf
index 2e37875101..d6df378626 100644
--- a/macros/luatex/generic/penlightplus/penlightplus.pdf
+++ b/macros/luatex/generic/penlightplus/penlightplus.pdf
Binary files differ
diff --git a/macros/luatex/generic/penlightplus/penlightplus.sty b/macros/luatex/generic/penlightplus/penlightplus.sty
index 3c411d227a..58580036b5 100644
--- a/macros/luatex/generic/penlightplus/penlightplus.sty
+++ b/macros/luatex/generic/penlightplus/penlightplus.sty
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2024-03-14
+% 2024-08-17
% Copyright (C) 2021-2024 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -22,7 +22,7 @@
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
% OR OTHER DEALINGS IN THE SOFTWARE.
-\ProvidesPackage{penlightplus}[2024-03-14]
+\ProvidesPackage{penlightplus}[2024-08-17]
\RequirePackage{luacode}
\RequirePackage{luakeys}
@@ -97,6 +97,18 @@
+
+
+
+\NewDocumentCommand{\caseswitch}{s m +m}{\ignorespaces\luadirect{penlight.caseswitch(\luastring{#1},\luastring{#2},\luastringN{#3})}\unskip}
+% argument 1 is star option, which throws an error if case is not found
+% argument 2 is the case, fully expanded
+% argument 3 is a luakeys table of options, not expanded
+
+
+
+
+
%%% tbls below
\NewDocumentCommand{\tblnew}{m}{\luadirect{% initialize a tbl and set blank
diff --git a/macros/luatex/generic/penlightplus/penlightplus.tex b/macros/luatex/generic/penlightplus/penlightplus.tex
index 015dac98ef..07a41e244b 100644
--- a/macros/luatex/generic/penlightplus/penlightplus.tex
+++ b/macros/luatex/generic/penlightplus/penlightplus.tex
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2024-03-14
+% 2024-08-17
% Copyright (C) 2021-2024 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -59,7 +59,6 @@
\subtitle{Additions to the Penlight Lua Libraries}
-
\begin{document}
%
@@ -222,7 +221,7 @@ no, once, twice, or full expansion. For example, we can control the expansion of
%\luastringExpTest{ n o t f }{\NOTexp}
-\subsection*{Lua boolean expressions for LaTeX conditionals}
+\subsection*{Lua boolean expressions and a case-switch for conditionals}
\cmd{\ifluax{<Lua expr>}{<do if true>}[<do if false>]} and\\ \cmd{\ifluax{<Lua expr>}{<do if true>}[<do if false>]} for truthy (uses \cmd{penlight.hasval})
@@ -234,6 +233,17 @@ no, once, twice, or full expansion. For example, we can control the expansion of
\ifluaxv{''}{true}[false]\\
\end{LTXexample}
+\cmd{\caseswitch{case}{kev-val choices}} The starred version will throw an error if the case is not found.
+Use \_\_ as a placeholder for a case that isn't matched.
+
+\begin{LTXexample}[width=0.3\linewidth]
+\def\caseswitchexample{\caseswitch{\mycase}{dog=DOG, cat=CAT, __=INVALID}}
+\def\mycase{dog} \caseswitchexample \\
+\def\mycase{human} \caseswitchexample
+\end{LTXexample}
+%\caseswitch*{\mycase}{dog=DOG, cat=CAT, __=INVALID}
+
+
\subsection*{Creating and using Lua tables in LaTeX}
\cmd{penlightplus} provides a Lua-table interface. Tables are stored in the
\cmd{penlight.tbls} table.
diff --git a/macros/luatex/latex/domaincoloring/Changes b/macros/luatex/latex/domaincoloring/Changes
new file mode 100644
index 0000000000..e49a69aac3
--- /dev/null
+++ b/macros/luatex/latex/domaincoloring/Changes
@@ -0,0 +1,4 @@
+0.02 2024-08-22 - edit option bgcolor
+ - reduced header for the intermediate eps
+ - renamed complex-numbers.lua
+0.01 2024-08-18 - first CTAN version
diff --git a/macros/luatex/latex/domaincoloring/README.md b/macros/luatex/latex/domaincoloring/README.md
new file mode 100644
index 0000000000..9cff64e2f1
--- /dev/null
+++ b/macros/luatex/latex/domaincoloring/README.md
@@ -0,0 +1,12 @@
+# README #
+Package domaincoloring creates a colored
+representation of the domain of complex function.
+
+The package needs lualatex and does not work with pdflatex or xelatex!
+
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+
+hvoss@tug.org \ No newline at end of file
diff --git a/macros/luatex/latex/domaincoloring/doc/domaincoloring-doc.bib b/macros/luatex/latex/domaincoloring/doc/domaincoloring-doc.bib
new file mode 100644
index 0000000000..d109070c92
--- /dev/null
+++ b/macros/luatex/latex/domaincoloring/doc/domaincoloring-doc.bib
@@ -0,0 +1,27 @@
+@online{wikipedia,
+ author = {{\WikipediA}},
+ sortlabel = {Wikipedia},
+ sortname = {Wikipedia},
+ title = {DOmain Coloring},
+ date = {2024-08-18},
+ urldate = {2024-08-18},
+ url = {https://en.wikipedia.org/wiki/Domain_coloring},
+}
+
+@online{features,
+ author = {{vismath}},
+ title = {Thema Domain Coloring},
+ date = {2024-08-18},
+ urldate = {2024-08-18},
+ url = {https://www.vismath.eu/de/blog/domain-coloring/},
+}
+
+
+@online{fu,
+ author = {Konstantin Poelke and Konrad Polthier},
+ title = {Domain Coloring of Complex Functions},
+ url = {https://www.mi.fu-berlin.de/en/math/groups/ag-geom/publications/db/ieee_article_old_low_v3_1.pdf},
+ urldate = {2024-08-18},
+ date = {2024-08-18},
+}
+
diff --git a/macros/luatex/latex/domaincoloring/doc/domaincoloring-doc.pdf b/macros/luatex/latex/domaincoloring/doc/domaincoloring-doc.pdf
new file mode 100644
index 0000000000..8a8b79e4d9
--- /dev/null
+++ b/macros/luatex/latex/domaincoloring/doc/domaincoloring-doc.pdf
Binary files differ
diff --git a/macros/luatex/latex/domaincoloring/doc/domaincoloring-doc.tex b/macros/luatex/latex/domaincoloring/doc/domaincoloring-doc.tex
new file mode 100644
index 0000000000..63c33ec368
--- /dev/null
+++ b/macros/luatex/latex/domaincoloring/doc/domaincoloring-doc.tex
@@ -0,0 +1,257 @@
+%% $Id: domaincoloring-doc.tex 952 2024-08-22 15:40:35Z herbert $
+%
+\listfiles
+
+\DocumentMetadata{}
+\documentclass[fontsize=11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
+ headinclude=false,footinclude=false,oneside]{pst-doc}
+\listfiles
+
+\usepackage{biblatex}
+\addbibresource{\jobname.bib}
+
+\usepackage{booktabs} % for examples
+\usepackage{xltabular} % for examples
+\usepackage{enumitem}
+\setlist{noitemsep,nosep}
+
+\usepackage{domaincoloring}
+\let\DColFV\fileversion
+
+\usepackage{hvlogos}
+
+\usepackage{listings}
+\lstset{columns=fixed,basicstyle=\ttfamily\small}
+
+\def\bgImage{\includegraphics[width=7cm]{titleImg}}
+
+\title{Domain Coloring of complex functions\\version \DColFV}
+\author{Herbert Voß}
+\begin{document}
+\settitle
+\tableofcontents
+
+
+\section{Introduction}
+
+This package works only with \texttt{lualatex}!
+
+\subsection{Loading the package}
+The package \texttt{domaincoloring} creates acolored interpretation of the
+domain of a complex function. The package itself has no options and should be loaded as
+usual:
+
+\begin{verbatim}
+\usepackage{domaincoloring}
+\end{verbatim}
+
+The needs the following Lua modules:
+
+\begin{itemize}
+\item \texttt{domaincoloring.lua} the main module
+\item \texttt{domaincoloring-complex-numbers.lua} for complex math operations
+\item \texttt{domaincoloring-functions.lua} for predefined complex functions
+\end{itemize}
+
+The function module has to be managed by the user himself, if needed.
+
+
+
+\subsection{Using the macro}
+
+There is only one macro which does the external call of the Lua program \verb|domaincoloring.lua|.
+This program creates the image which is then included into the document. The \LaTeX-run needs
+the \verb|--shell-escape| option to allow the external run of the program to convert the created
+ppm-file into a png file..
+
+
+\begin{verbatim}
+\DomainColoring[options]{complex function in Lua notation}
+\end{verbatim}
+
+Every math function has to be preceeded by \texttt{cmath} if it has a complex argument.
+
+\subsection{Options}
+
+\noindent
+\begin{xltabular}{\linewidth}{@{} >{\ttfamily}l l X @{}}\\\toprule
+\emph{name} & \emph{value} &\emph{meaning}\\\midrule
+domain & {-2,2,-2,2} & the (re,im)-coordinates for the complex system\\
+resolution & 500 & the number of steps for the re,im interval. At the moment only
+for both coordinates the same. Will be in future
+versions different for the both axes. \\
+filename & \Lcs{jobname-tmp} & name of the created external file, must be unique\\
+grfOptions &scale=0.5 & optional arguments for \Lcs{includegraphics}\\
+hsvrgb & {phi,1,r} & for the conversion into rgb\\
+funcName & & corresponding to external file\\
+bgcolor & 0 & change color to white as background for all values $r+g+b\le\text{bgcolor}$\\
+invers & false & inverted colors with $color=|color-255|$\\
+\bottomrule
+\end{xltabular}
+
+
+
+
+\section{Examples}
+
+\subsection{The default with function $f(z)=z$}
+\begin{lstlisting}
+\DomainColoring{z}\qquad % default filename \jobname-tmp.png
+\end{lstlisting}
+
+\noindent
+\DomainColoring{z}%\qquad
+%\DomainColoring[filename=demo2.png,bgcolor=true]{z}
+
+
+
+\subsection{Defining domain, color mode, resolution and filename}
+
+\begin{align}
+ f(z) &= \cos(z)/\sin(z^4-1)
+\end{align}
+
+in Lua-notation: \verb|cmath.cos(z)/cmath.sin(z^4-1)|.
+
+\begin{lstlisting}
+\DomainColoring[domain={-2.5,2.5,-2.5,2.5},resolution=500,
+ grfOptions={width=0.32\linewidth},
+ filename=\jobname-tmp1a]{cmath.cos(z)/cmath.sin(z^4-1)}
+\hfill
+\frame{\DomainColoring[domain={-2.5,2.5,-2.5,2.5},resolution=500,
+ bgcolor=true,grfOptions={width=0.32\linewidth},bgcolor=3,
+ filename=\jobname-tmp1b]{cmath.cos(z)/cmath.sin(z^4-1)}}
+\hfill
+\frame{\DomainColoring[domain={-2.5,2.5,-2.5,2.5},resolution=500,
+ invers=true,,grfOptions={width=0.32\linewidth},
+ filename=\jobname-tmp1c]{cmath.cos(z)/cmath.sin(z^4-1)}}
+\end{lstlisting}
+
+\noindent
+\DomainColoring[domain={-2.5,2.5,-2.5,2.5},resolution=500,grfOptions={width=0.32\linewidth},
+ filename=\jobname-tmp1a]{cmath.cos(z)/cmath.sin(z^4-1)}
+\hfill
+\frame{\DomainColoring[domain={-2.5,2.5,-2.5,2.5},resolution=500,bgcolor=3,grfOptions={width=0.32\linewidth},
+ filename=\jobname-tmp1b]{cmath.cos(z)/cmath.sin(z^4-1)}}
+\hfill
+\frame{\DomainColoring[domain={-2.5,2.5,-2.5,2.5},resolution=500,invers=true,grfOptions={width=0.32\linewidth},
+ filename=\jobname-tmp1c]{cmath.cos(z)/cmath.sin(z^4-1)}}
+
+
+With \Lcs{bgcolor}\texttt{=<int>} all RGB-combinations with a sum $R+G+B <= \text{int}$ are set to
+the color white.
+
+\subsection{Option for \Lcs{includegraphics}}
+With \Lkeyword{grfOptions} one can define optional arguments for \Lcs{includegraphics}:
+
+\begin{lstlisting}
+\DomainColoring[grfOptions={width=0.49\linewidth},filename=\jobname-tmp2a]{cmath.sin(z)}\hfill
+\hfill
+\DomainColoring[grfOptions={width=0.49\linewidth},filename=\jobname-tmp2b]{1/cmath.sin(z)}
+\end{lstlisting}
+
+\noindent
+\DomainColoring[grfOptions={width=0.49\linewidth},filename=\jobname-tmp2a]{cmath.sin(z)}
+\hfill
+\DomainColoring[grfOptions={width=0.49\linewidth},filename=\jobname-tmp2b]{1/cmath.sin(z)}
+
+
+\subsection{Higher resolution}
+
+The resolution is more or less the number of pixels for the given domain.
+In later versions of this package it may be possible to have different values
+for the two coordinates. By now the one value for \Lkeyword{resolution} is for
+both axes.
+
+
+\begin{lstlisting}
+\DomainColoring[filename=\jobname-tmp3,resolution=1000,
+ grfOptions={width=0.49\linewidth}]{z^3-1}
+\hfill
+\DomainColoring[filename=\jobname-tmp4,resolution=1000,
+ grfOptions={width=0.49\linewidth}]{(z+1)^2*(z-1)/((z+i)*(z-i)^2)}
+\end{lstlisting}
+
+\noindent
+\DomainColoring[filename=\jobname-tmp3,resolution=1000,
+ grfOptions={width=0.49\linewidth}]{z^3-1}
+\hfill
+\DomainColoring[filename=\jobname-tmp4,resolution=1000,
+ grfOptions={width=0.49\linewidth}]{cmath.sin(z)*cmath.cos(z)}
+
+
+\subsection{hsv to rgb conversion}
+
+The color model (Wikipedia)
+
+\begin{center}
+\includegraphics[width=0.5\linewidth]{hsv}
+
+\url{http://en.wikipedia.org/wiki/File:HSV_color_solid_cylinder_alpha_lowgamma.png}
+\end{center}
+
+
+The complex number $z=x+iy$ is converted into its trogonometrical representation $x=r\cdot \cos\phi$
+and $y=r\cdot \sin\phi$ with $r=\sqrt{x^2+y^2}$. The values $r$ and $\phi$ are now taken as values
+for the hsv color model with a constant second value for saturation. $\phi$ is used
+for hue. For example: \verb|hsvrgb=phi,1,r|, which gives
+
+\begin{lstlisting}
+\DomainColoring[filename=\jobname-tmp5a,resolution=1000,
+ grfOptions={width=0.49\linewidth},hsvrgb={phi,1,r}]{cmath.sin(z)*cmath.sin(0.99*z)}
+\hfill
+\DomainColoring[filename=\jobname-tmp5b,resolution=1000,
+ grfOptions={width=0.49\linewidth}]{cmath.sin(z)*cmath.sin(0.99*z)} % the default
+\end{lstlisting}
+
+\noindent
+\DomainColoring[filename=\jobname-tmp5a,resolution=1000,
+ grfOptions={width=0.49\linewidth},funcName=f10,hsvrgb={phi,1,r}]{cmath.sin(z)*cmath.sin(0.99*z)} % the default
+\hfill
+\DomainColoring[filename=\jobname-tmp5b,resolution=1000,
+ grfOptions={width=0.49\linewidth}]{cmath.sin(z)*cmath.sin(0.99*z)}
+
+%For $r$ and $\phi$ we have to use $r$ and $phi$.
+The optional argument \Lkeyword{hsvrgb} must define three values which can use the arguments
+phi and r in any mathematical combination. It must only be compatible to the Lua math conventions,
+e.g. \texttt{hsvrgb=\{phi+2,0.5,2/r\}}
+
+
+
+
+\subsection{External function definition}
+The already existing file \LFile{domaincoloring-functions.lua} collects sone
+definitions of complex functions $f(z)$, which can be used from inside \LaTeX\
+with the optional argument \Lkeyword{funcName}. In this case the mandatory argument
+of \Lcs{DomainColoring} has no meaning and can be empty.
+
+\begin{lstlisting}
+\DomainColoring[filename=\jobname-tmp6a,resolution=1000,
+ domain={-1.5,1.5,-1.5,1.5}, grfOptions={width=0.49\linewidth},
+ hsvrgb={phi+2*pi,1,1/r}, funcName=f12]{}% using predefined function
+\hfill
+\DomainColoring[filename=\jobname-tmp6b,resolution=2000,
+ domain={-2.3,0.7,-1.5,1.5}, grfOptions={width=0.49\linewidth},
+ hsvrgb={phi+2*pi,1,1/r},funcName=f13]{}
+\end{lstlisting}
+
+\noindent
+\DomainColoring[filename=\jobname-tmp6a,resolution=1000,
+ domain={-1.5,1.5,-1.5,1.5}, grfOptions={width=0.49\linewidth},
+ hsvrgb={phi+2*pi,1,1/r}, funcName=f12]{}% using predefined function
+\hfill
+\DomainColoring[filename=\jobname-tmp6b,resolution=2000,
+ domain={-2.3,0.7,-1.5,1.5}, grfOptions={width=0.49\linewidth},
+ hsvrgb={phi+2*pi,1,1/r},funcName=f13]{}
+
+
+The contents of the function file of the current version of \LPack{domaincoloring} is::
+
+\lstinputlisting[language={[5.3]Lua},basicstyle=\small\ttfamily]{domaincoloring-functions.lua}
+
+
+
+\nocite{*}
+\printbibliography
+
+\end{document}
diff --git a/macros/luatex/latex/domaincoloring/doc/hsv.png b/macros/luatex/latex/domaincoloring/doc/hsv.png
new file mode 100644
index 0000000000..4595b284ab
--- /dev/null
+++ b/macros/luatex/latex/domaincoloring/doc/hsv.png
Binary files differ
diff --git a/macros/luatex/latex/domaincoloring/doc/titleImg.pdf b/macros/luatex/latex/domaincoloring/doc/titleImg.pdf
new file mode 100644
index 0000000000..e68120b481
--- /dev/null
+++ b/macros/luatex/latex/domaincoloring/doc/titleImg.pdf
Binary files differ
diff --git a/macros/luatex/latex/domaincoloring/latex/domaincoloring.sty b/macros/luatex/latex/domaincoloring/latex/domaincoloring.sty
new file mode 100644
index 0000000000..d668d057f0
--- /dev/null
+++ b/macros/luatex/latex/domaincoloring/latex/domaincoloring.sty
@@ -0,0 +1,73 @@
+%% $Id: domaincoloring.sty 952 2024-08-22 15:40:35Z herbert $
+%% This is file `domaincoloring.sty',
+%%
+%% Copyright (C) 2024- Herbert Voss
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+
+\NeedsTeXFormat{LaTeX2e}
+
+\RequirePackage{xkeyval}
+\RequirePackage{graphicx}
+\RequirePackage{shellesc}
+
+\def\fileversion{0.02}
+\def\filedate{2024/08/22}
+\message{`DCol' v\fileversion, \filedate}
+\ProvidesPackage{domaincoloring}
+ [\filedate\ \fileversion\ 0.02 package for domain coloring of complex functions]
+
+\ifnum\ShellEscapeStatus < 1
+ \PackageError{shellesc}{ShellEscape not enabled! Use --shell-escape}%
+\fi
+
+% Change ^ to normal character to describe functions with lua
+\catcode`\^=11\relax % for power symbol in Lua
+
+\define@key{DCol}{domain}{\def\@domaincoloring@domain{#1}}
+\define@key{DCol}{resolution}{\def\@domaincoloring@res{#1,#1}}
+\define@key{DCol}{bgcolor}{\def\@domaincoloring@bgcolor{#1}}
+\define@key{DCol}{filename}{\def\@domaincoloring@filename{#1}}
+\define@key{DCol}{hsvrgb}{\def\@domaincoloring@hsvrgb{#1}}
+\define@key{DCol}{funcName}{\def\@domaincoloring@funcName{#1}}
+\define@key{DCol}{invers}{\def\@domaincoloring@invers{#1}}
+\define@key{DCol}{grfOptions}{\def\@domaincoloring@grf{#1}}
+
+\def\setDColkeys#1{\edef\x{\noexpand\setkeys{DCol}{#1}}\x}
+
+\setDColkeys{
+ funcName={}, % corresponding to external file
+ hsvrgb={phi+3.14,1,r}, % given (r,phi) of the complex value
+ filename=\jobname-tmp, % the external image filename
+ resolution=500, % pixel per (x|y) interval
+ domain={-2,2,-2,2}, % x|y domain
+ bgcolor=0, % R+G+B value, changes only 0,0,0 -> 255,255,255
+ invers=false, % 0 or 1 vor inverted colors
+ grfOptions={scale=0.5}, % LaTeX options for the included image
+}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\DomainColoring{\@ifnextchar[\DomainColoring@i{\DomainColoring@i[]}}
+\def\DomainColoring@i[#1]#2{%
+ \begingroup
+ \setDColkeys{#1}%
+ \directlua{
+ require("domaincoloring-complex-numbers")
+ require ("domaincoloring")
+ createData("#2",{\@domaincoloring@domain},{\@domaincoloring@res},
+ "\@domaincoloring@funcName","\@domaincoloring@hsvrgb",
+ \@domaincoloring@bgcolor,"\@domaincoloring@invers")}%
+ \typeout{Convert domain.eps file to \@domaincoloring@filename.pdf}%
+ \ShellEscape{epstopdf domain.eps \@domaincoloring@filename.pdf}%
+ %
+ \expandafter\includegraphics\expandafter[\@domaincoloring@grf]{\@domaincoloring@filename.pdf}%
+ \endgroup
+ \ignorespaces
+}
+
+\catcode`\^=7\relax
+\endinput
diff --git a/macros/luatex/latex/domaincoloring/lua/domaincoloring-complex-numbers.lua b/macros/luatex/latex/domaincoloring/lua/domaincoloring-complex-numbers.lua
new file mode 100644
index 0000000000..7630433984
--- /dev/null
+++ b/macros/luatex/latex/domaincoloring/lua/domaincoloring-complex-numbers.lua
@@ -0,0 +1,357 @@
+--Complex Number Library by xXxMoNkEyMaNxXx (_G.cmath)
+--[[
+In pure Lua, use:
+num=complex(re,im)
+or
+num=cx'6+2.5i'
+
+In LuaJIT:
+num=6+2.5i
+
+Functions and constants available in cmath:
+Constants
+-e=2.718281828459
+-i=sqrt(-1)
+-pi=math.pi
+
+Complex creation and extraction functions
+-complex(re,im) creates a complex number from real and imaginary components.
+-re(z) real part of z
+-im(z) imaginary part of z
+-arg(z) argument of z
+
+-abs(z) absolute value of z
+-sqrt(z) = z^0.5
+-pow(x,y) = x^y
+-exp(z) = e^z
+-ln(z) = e^? = z
+-log(b,z) = ln(z)/ln(b)
+
+Trig functions
+-sin(z)
+-cos(z)
+-tan(z)
+
+-sinh(z)
+-cosh(z)
+-tanh(z)
+
+-asin(z)
+-acos(z)
+-atan(z)
+-atan2(y,x)
+
+-asinh(z)
+-acosh(z)
+-atanh(z)
+
+Miscellaneous functions
+-polar(z) returns r,phi = cmath.abs(z),cmath.arg(z)
+-rect(r,phi) returns a complex number from polar = r*e^(i*phi)
+-diff(z) = re(z)^2-im(z)^2
+-zeta(z[,accuracy=1e4]) riemann zeta function
+-lintegrate(f,H,[L=0,n=sensible for H])
+-cx(string) creates a complex number from a string (e.g. "1.1-i" -> 1.1+-1i)
+-cx(re,im) = complex(re,im)
+
+]]
+
+local type=type
+local select=select
+local tonumber=tonumber
+local tostring=tostring
+local setmetatable=setmetatable
+
+e=math.exp(1)
+pi=math.pi
+abs=math.abs
+exp=math.exp
+log=math.log
+cos=math.cos
+sin=math.sin
+cosh=math.cosh
+sinh=math.sinh
+sqrt=math.sqrt
+atan2=math.atan2
+
+forget=1e-14--Forget ridiculously small values. Remove if you want to keep all values. (Not recommended for sanity, shouldn't make a difference in performance or output.)
+--The reason that this is here is because i^2 yields -1+0.0000000000000001i, and (-1)^0.5 yields 0.00000000000000006+i. (Should be just -1 and i)
+
+function istype(c)
+ local t=type(c)
+ return t=="table" and c.type or t
+end
+
+local complex_mt
+--Locally used and desirable functions--
+function re(n)
+ local t=type(n)
+ return t=="table" and (n.re or 0) or t=="number" and n or 0
+end
+
+function im(n)
+ return type(n)=="table" and n.im or 0
+end
+
+function complex(re,im)
+ if forget then
+ if re and abs(re)<=forget then
+ re=0
+ end
+ if im and abs(im)<=forget then
+ im=0
+ end
+ end
+ return setmetatable({re=re or 0,im=im or 0,type="complex"},complex_mt)
+end
+
+function rect(r,phi)--r*e^(i*phi) -> x+iy
+ return complex(r*cos(phi),r*sin(phi))
+end
+
+function arg(z)--Lol, no documentation
+ return atan2(im(z),re(z))
+end
+
+function ln(c)--Natural logarithm
+ local r1,i1=re(c),im(c)
+ return complex(log(r1^2+i1^2)/2,atan2(i1,r1))
+end
+
+-----------------------------------------
+
+--Complex number metatable--
+complex_mt={
+ __add=function(c1,c2)
+ return complex(re(c1)+re(c2),im(c1)+im(c2))
+ end,
+ __sub=function(c1,c2)
+ return complex(re(c1)-re(c2),im(c1)-im(c2))
+ end,
+ __mul=function(c1,c2)
+ local r1,i1,r2,i2=re(c1),im(c1),re(c2),im(c2)
+ return complex(r1*r2-i1*i2,r1*i2+r2*i1)
+ end,
+ __div=function(c1,c2)
+ local r1,i1,r2,i2=re(c1),im(c1),re(c2),im(c2)
+ local rsq=r2^2+i2^2
+ return complex((r1*r2+i1*i2)/rsq,(r2*i1-r1*i2)/rsq)
+ end,
+ __pow=function(c1,c2)--Aww ye
+ local r1,i1,r2,i2=re(c1),im(c1),re(c2),im(c2)
+ local rsq=r1^2+i1^2
+ if rsq==0 then--Things work better like this.
+ if r2==0 and i2==0 then
+ return 1
+ end
+ return 0
+ end
+ local phi=atan2(i1,r1)
+ return rect(rsq^(r2/2)*exp(-i2*phi),i2*log(rsq)/2+r2*phi)
+ end,
+ __unm=function(c)
+ return complex(-re(c),-im(c))
+ end,
+ __tostring=function(c)
+ local iChar = "i"
+ local r,i=re(c),im(c)
+ if i==0 then
+ return tostring(r).." +0"..iChar
+ elseif r==0 then
+ if i==1 then
+ return iChar
+ elseif i==-1 then
+ return "-"..iChar
+ end
+ return i..iChar
+ elseif i<0 then
+ if i==-1 then
+ return r.."-"..iChar
+ end
+ return r.." -"..-i..iChar
+ else
+ if i==1 then
+ return r.."+"..iChar
+ end
+ return r.." +"..i..iChar
+ end
+ end
+}
+----------------------------
+
+--Allow complex arguments for regular math functions with cmath namespace--
+--Note that all these functions still work for regular numbers!
+--The added bonus is that they can handle things like (-1)^0.5. (=i)
+
+i=complex(0,1)
+cmath={e=e,i=i,pi=pi,re=re,im=im,complex=complex,arg=arg,rect=rect,ln=ln}
+_G.cmath=cmath
+
+function cmath.abs(c)--This always returns a pure real value
+ return sqrt(re(c)^2+im(c)^2)
+end
+
+function cmath.diff(c)
+ return re(c)^2-im(c)^2
+end
+
+function cmath.exp(c)
+ return e^c
+end
+
+function cmath.sqrt(c)
+ local num=istype(c)=="complex" and c^0.5 or complex(c)^0.5
+ if im(num)==0 then
+ return re(num)
+ end
+ return num
+end
+
+--Trig functions
+function cmath.sin(c)
+ local r,i=re(c),im(c)
+ return complex(sin(r)*cosh(i),cos(r)*sinh(i))
+end
+function cmath.cos(c)
+ local r,i=re(c),im(c)
+ return complex(cos(r)*cosh(i),sin(r)*sinh(i))
+end
+function cmath.tan(c)
+ local r,i=2*re(c),2*im(c)
+ local div=cos(r)+cosh(i)
+ return complex(sin(r)/div,sinh(i)/div)
+end
+
+--Hyperbolic trig functions
+function cmath.sinh(c)
+ local r,i=re(c),im(c)
+ return complex(cos(i)*sinh(r),sin(i)*cosh(r))
+end
+function cmath.cosh(c)
+ local r,i=re(c),im(c)
+ return complex(cos(i)*cosh(r),sin(i)*sinh(r))
+end
+function cmath.tanh(c)
+ local r,i=2*re(c),2*im(c)
+ local div=cos(i)+cosh(r)
+ return complex(sinh(r)/div,sin(i)/div)
+end
+
+--Caution! Mathematical laziness beyond this point!
+
+--Inverse trig functions
+function cmath.asin(c)
+ return -i*ln(i*c+(1-c^2)^0.5)
+end
+function cmath.acos(c)
+ return pi/2+i*ln(i*c+(1-c^2)^0.5)
+end
+function cmath.atan(c)
+ local r2,i2=re(c),im(c)
+ local c3,c4=complex(1-i2,r2),complex(1+r2^2-i2^2,2*r2*i2)
+ return complex(arg(c3/c4^0.5),-ln(cmath.abs(c3)/cmath.abs(c4)^0.5))
+end
+function cmath.atan2(c2,c1)--y,x
+ local r1,i1,r2,i2=re(c1),im(c1),re(c2),im(c2)
+ if r1==0 and i1==0 and r2==0 and i2==0 then--Indeterminate
+ return 0
+ end
+ local c3,c4=complex(r1-i2,i1+r2),complex(r1^2-i1^2+r2^2-i2^2,2*(r1*i1+r2*i2))
+ return complex(arg(c3/c4^0.5),-ln(cmath.abs(c3)/cmath.abs(c4)^0.5))
+end
+
+--Inverse hyperbolic trig functions. Why do they all look different but give correct results!? e.e
+function cmath.asinh(c)
+ return ln(c+(1+c^2)^0.5)
+end
+function cmath.acosh(c)
+ return 2*ln((c-1)^0.5+(c+1)^0.5)-log(2)
+end
+function cmath.atanh(c)
+ return (ln(1+c)-ln(1-c))/2
+end
+
+--Miscellaneous functions
+function cmath.zeta(s,a)
+ local sum=0
+ for n=a,accuracy or 10000 do
+ sum=sum+n^-s
+ end
+ return sum
+end
+
+--End of non-optimized terrors.
+
+--Linear integration, evenly spaced slices
+--f=function(x),low=0,high=100,slices=10000
+function cmath.lintegrate(f,H,L,n)
+ n=n or floor(10*sqrt(H))
+ L=L or 0
+ local LH=H-L
+ local A=(f(L)+f(H))/2
+ for x=1,n-1 do
+ A=A+f(L+LH*x/n)
+ end
+ return A/n
+end
+
+--cmath.log: Complex base logarithm! One argument (z=c1) gives log(z). Two arguments (b=c1,z=c2) gives log_b(z), which is identical to log(c2)/log(c1).
+function cmath.log(c2,c1)
+ local r1,i1=re(c1),im(c1)
+ local r2,i2=re(c2),im(c2)
+ local r3,i3=log(r1^2+i1^2)/2,atan2(i1,r1)
+ local r4,i4=log(r2^2+i2^2)/2,atan2(i2,r2)
+ local rsq=r4^2+i4^2
+ return complex((r3*r4+i3*i4)/rsq,(r4*i3-r3*i4)/rsq)
+end
+
+cmath.pow=complex_mt.__pow
+---------------------------------------------------------------------------
+
+--These are just some useful tools when working with complex numbers.--
+
+--cmath.polar: x+iy -> r*e^(i*phi) One complex argument, or two real arguments can be given.
+--This is basically return cmath.abs(z),cmath.arg(z)
+function cmath.polar(cx,oy)
+ local x,y
+ if oy then
+ x,y=cx,oy
+ else
+ x,y=re(cx),im(cx)
+ end
+ return sqrt(x^2+y^2),atan2(y,x)
+end
+
+--cmath.cx: Define complex numbers from a string.
+function cmath.cx(a,b)
+ local r,i=0,0
+ if type(a)=="string" and type(b)=="nil" then
+ local query=a:gsub("[^%d.+-i]","")
+ if #query>0 then
+ for sgn,im in query:gmatch'([+-]*)(%d*%.?%d*)i' do
+ i=i+(-1)^select(2,sgn:gsub("-",""))*(tonumber(im) or 1)
+ end
+ for sgn,re in query:gsub("[+-]*%d*%.?%d*i",""):gmatch'([+-]*)(%d*%.?%d*)()' do
+ r=r+(-1)^select(2,sgn:gsub("-",""))*(tonumber(re) or #sgn>0 and 1 or 0)
+ end
+ end
+ else
+ r,i=tonumber(a) or 0,tonumber(b) or 0
+ end
+ if forget then
+ if abs(r)<=forget then
+ r=0
+ end
+ if abs(i)<=forget then
+ i=0
+ end
+ end
+ return complex(r,i)
+end
+-----------------------------------------------------------------------
+
+--Globalize.
+_G.cmath=cmath
+
+-- print(cmath.e^(cmath.i*cmath.pi)+1)
+
diff --git a/macros/luatex/latex/domaincoloring/lua/domaincoloring-functions.lua b/macros/luatex/latex/domaincoloring/lua/domaincoloring-functions.lua
new file mode 100644
index 0000000000..84cfd65d7c
--- /dev/null
+++ b/macros/luatex/latex/domaincoloring/lua/domaincoloring-functions.lua
@@ -0,0 +1,74 @@
+-- $Id: domaincoloring-functions.lua 946 2024-08-21 19:32:10Z herbert $
+
+kpse.set_program_name("luatex")
+
+function f0(z)
+ return cmath.sin(1/z)*cmath.cos(1/z)/z^3+1/z
+end
+
+function f1(z)
+ return cmath.cos(z)/cmath.sin(z^4-1)
+end
+
+function f2(z)
+ local c = complex(1,-1)
+ local d = complex(0,0.28)
+ return cmath.cos(c^2*z^2)/cmath.cos(c*(z-d))
+end
+
+function f3(z)
+ return z*(z+i)^2/(z-i)^2
+end
+
+function f4(z)
+ if abs(z) < 0.1 then
+ return complex(0.001,0.001)
+ else
+ return cmath.sin(1/(z*z))
+ end
+end
+
+function f5(z)
+ return cmath.sqrt(1-1/(z*z)+z^3)
+end
+
+function f9(z)
+ local c = complex(1,-1)
+ local d = complex(1,1)
+ return z^2*c^2*(z*c-1-i)/(z*c-2*d)
+end
+
+function f10(z)
+ local sum = complex(0,0)
+ for n=1,20 do
+ sum = sum + z^n/(1-z^n)
+ end
+ return sum
+end
+
+function f11(z)
+ local iterateNo = 3
+ for n=1,iterateNo do
+ z = z^2
+ end
+ return z
+end
+
+function f12(z) -- julia
+ local iterateNo = 15
+ for n=1,iterateNo do
+ z = z^2 + complex(0.25,-0.5)
+ end
+ return z
+end
+
+function f13(z) -- mandelbrot
+ local iterateNo = 15
+ local c = z
+ z = complex(0,0)
+ for n=1,iterateNo do
+ z = z^2 + c
+ end
+ return z
+end
+
diff --git a/macros/luatex/latex/domaincoloring/lua/domaincoloring.lua b/macros/luatex/latex/domaincoloring/lua/domaincoloring.lua
new file mode 100644
index 0000000000..2b2ae177ea
--- /dev/null
+++ b/macros/luatex/latex/domaincoloring/lua/domaincoloring.lua
@@ -0,0 +1,253 @@
+-- $Id: domaincoloring.lua 952 2024-08-22 15:40:35Z herbert $
+
+-----------------------------------------------------------------------
+-- FILE: domaincoloring.lua
+-- DESCRIPTION: create a visual reprensation of a complex function
+-- REQUIREMENTS:
+-- AUTHOR: Herbert Voß
+-- LICENSE: LPPL 1.3
+--
+-----------------------------------------------------------------------
+
+local version = 0.02
+
+kpse.set_program_name("luatex")
+
+require("domaincoloring-complex-numbers")
+
+local func = io.open("domaincoloring-functions.lua","r")
+if func~=nil then
+ io.close(func)
+ dofile("domaincoloring-functions.lua")
+end
+
+local function HSVtoRGB(h, s, v)
+ local i = math.floor(h * 6)
+ local f = h * 6 - i
+ local p = v * (1 - s)
+ local q = v * (1 - f * s)
+ local t = v * (1 - (1 - f) * s)
+ local no = i % 6
+ if no == 0 then return v,t,p
+ elseif no == 1 then return q,v,p
+ elseif no == 2 then return p,v,t
+ elseif no == 3 then return p,q,v
+ elseif no == 4 then return t,p,v
+ else return v,p,q
+ end
+end
+
+function my_color_scheme(z,hsvrgb)
+ r, phi = cmath.polar(z)
+-- phi is in -pi,+pi; change it to [0;2pi]
+ phi = phi+pi
+ h_str,s_str,v_str = hsvrgb:match("([^,]+),([^,]+),([^,]+)")
+-- h = load("return "..h_str)()
+-- s = load("return "..s_str)()
+-- v = load("return "..v_str)()
+ --h,s,v = loadstring("return"..hsvrgb)
+ -- R,G,B, is [0,...,1]
+ R,G,B = HSVtoRGB(load("return "..h_str)(),load("return "..s_str)(),load("return "..v_str)()) -- h,s,v) -- (phi+3.14,1,r)
+ return { math.fmod(math.floor(R*255+0.5),255),
+ math.fmod(math.floor(G*255+0.5),255),
+ math.fmod(math.floor(B*255+0.5),255) }
+end
+
+
+--[[
+A raster of Height rows, in order from top to bottom.
+Each row consists of Width pixels, in order from left to
+right. Each pixel is a triplet of red, green, and blue samples,
+in that order. Each sample is represented in pure binary by
+either 1 or 2 bytes. If the Maxval is less than 256, it is
+1 byte. Otherwise, it is 2 bytes. The most significant byte is first.
+A row of an image is horizontal. A column is vertical.
+The pixels in the image are square and contiguous.
+]]
+
+function write_eps_data(name,data,res)
+ print("Lua: writing data file "..name.." ...")
+-- print(data)
+ outFile = io.open(name,"w+") -- Dateiname
+ outFile:write([[
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (Herbert Voss)
+%%Title: (domain.eps)
+%%CreationDate: (]])
+ outFile:write(os.date("%Y-%m-%d-%H.%M.%S")..")\n")
+ outFile:write("%%BoundingBox: -0 -0 "..res[1].." "..res[2].."\n")
+ outFile:write("%%HiResBoundingBox: 0 0 "..res[1].." "..res[2].."\n")
+ outFile:write([[
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%EndComments
+%%BeginDefaults
+%%EndDefaults
+%%BeginProlog
+/DirectClassPacket {
+ currentfile color_packet readhexstring pop pop
+ /number_pixels 3 def
+ 0 3 number_pixels 1 sub { pixels exch color_packet putinterval } for
+ pixels 0 number_pixels getinterval
+} bind def
+/DirectClassImage{
+ columns rows 8 [ columns 0 0 rows neg 0 rows ]
+ { DirectClassPacket } false 3 colorimage
+} bind def
+/DisplayImage {
+ gsave
+ /buffer 512 string def
+ /byte 1 string def
+ /color_packet 3 string def
+ /pixels 768 string def
+ currentfile buffer readline pop
+ token pop /x exch def
+ token pop /y exch def pop
+ x y translate
+ currentfile buffer readline pop
+ token pop /x exch def
+ token pop /y exch def pop
+ currentfile buffer readline pop
+ token pop /pointsize exch def pop
+ x y scale
+ currentfile buffer readline pop
+ token pop /columns exch def
+ token pop /rows exch def pop
+ currentfile buffer readline pop
+ token pop /class exch def pop
+ currentfile buffer readline pop
+ token pop /compression exch def pop
+ DirectClassImage
+ grestore
+} bind def
+%%EndProlog
+%%Page: 1 1
+]])
+ outFile:write("%%PageBoundingBox: 0 0 "..res[1].." "..res[2].."\n")
+ outFile:write([[userdict begin
+DisplayImage
+0 0
+]])
+ outFile:write(res[1].." "..res[2].."\n")
+ outFile:write("12\n")
+ outFile:write(res[1].." "..res[2].."\n")
+ outFile:write([[0
+0
+]])
+ local i = 0
+ for row = 1, res[2] do -- alle Zeilen
+ for col = 1, res[1] do -- alle Spalten
+ for k = 1,3 do
+ if data[row][col][k] ~= data[row][col][k] then -- check for nan
+ outFile:write("FF")
+ else
+ local num = data[row][col][k]
+ if num < 16 then
+ hex = string.format("0%X", num)
+ else
+ hex = string.format("%X", num)
+ end
+ outFile:write(hex)
+ end
+ i = i + 1
+ if i == 39 then
+ outFile:write("\n") -- neue Zeile
+ i = 0
+ end
+ end
+ end
+ end
+ outFile:write("\n") -- neue Zeile
+ outFile:write([[end % of userdict
+%%PageTrailer
+%%Trailer
+%%EOF
+]])
+ outFile:close() -- Datei schließen
+ --os.execute("pnmtopng apfel.ppm >"..fileName..".png") -- ppm -> png Format
+end
+
+function write_data(name,data,res) -- only valid for writing ppm files
+ print("\nLua: writing data file "..name.." ...")
+-- print(data)
+ outFile = io.open(name,"w+") -- Dateiname
+ outFile:write("P3 ") -- Grafictype R G B
+ outFile:write(res[1].." "..res[2].." ") -- Anzahl Pixel: Breite x Höhe (cols x rows)
+ outFile:write("255\n") -- Höchster Zahlenwert (0..255)
+ for row = 1, res[2] do -- alle Zeilen
+ for col = 1, res[1] do -- alle Spalten
+ for k = 1,3 do
+ if data[row][col][k] ~= data[row][col][k] then -- check for nan
+ outFile:write("255 ")
+ else
+ outFile:write(data[row][col][k].." " )
+ end
+ end
+ end
+ outFile:write("\n") -- neue Zeile
+ end
+ outFile:close() -- Datei schließen
+ --os.execute("pnmtopng apfel.ppm >"..fileName..".png") -- ppm -> png Format
+end
+
+function plot(fString, domain, res, funcName, hsvrgb, bgColor, invers)
+ local left = domain[1]
+ local right = domain[2]
+ local bottom = domain[3]
+ local top = domain[4]
+ local dx = (right-left)/res[1]
+ local dy = (top-bottom)/res[2]
+ local img = {} -- mxn-Matrix (rows x colums) img[row][col]
+ for row = 1,res[2] do
+ img[row] = {}
+ for col = 1,res[1] do
+ img[row][col] = 0
+ end
+ end
+ for row = 1, res[2] do
+ y = top-dy*row
+ for col = 1,res[1] do
+-- print(j,i)
+ x = left+dx*col
+ z = complex(x, y)
+ if funcName then
+ fz = fString(z) -- use func number from external file
+ else
+ fz = load("return "..fString)() -- for example: cmath.cos(z)/cmath.sin(z^4-1)
+ end
+ color = my_color_scheme(fz,hsvrgb)
+ if invers == "true" then
+ for c=1,#color do
+ color[c] = math.abs(color[c]-255)
+ end
+ end
+ if bgColor > 0 then
+ if color[1] + color[2] + color[3] <= bgColor then
+ color = { 255, 255, 255 }
+ end
+ end
+-- print(x,y,color[1],color[2],color[3])
+ img[row][col] = color
+ end
+ end
+ return img
+end
+
+--[[
+ f: function as string if funcName is False
+ as funcName from external file if funcName is TRUE
+ Domain: xMin,xMax,yMin,yMax
+ Resolution: (points per Interval) xRes,yRes
+ funcName: true/false (see f)
+]]
+function createData(f,Domain,Resolution,funcName,hsvrgb,bgColor,invers)
+ if funcName == "" then
+ img = plot(f,Domain,Resolution,false,hsvrgb,bgColor,invers)
+ else
+ img = plot(load("return "..funcName)(),Domain,Resolution,true,hsvrgb,bgColor,invers)
+ end
+-- write_data("domain.ppm",img,Resolution)
+ write_eps_data("domain.eps",img,Resolution)
+end
+
diff --git a/macros/luatex/latex/innerscript/README.txt b/macros/luatex/latex/innerscript/README.txt
index 72c48e3e15..0c42f529e0 100644
--- a/macros/luatex/latex/innerscript/README.txt
+++ b/macros/luatex/latex/innerscript/README.txt
@@ -1,11 +1,11 @@
- LaTeX Package innerscript v. 1.2
+ LaTeX Package innerscript v. 1.3
Installation Guide/README
Conrad Kosowsky
-This file is README.txt from version 1.2 of the free and
-open-source LaTeX package "innerscript," released November
-2023, to be used with the LuaTeX engine. The innerscript
+This file is README.txt from version 1.3 of the free and
+open-source LaTeX package "innerscript," released January
+2024, to be used with the LuaTeX engine. The innerscript
package optionally modifies four aspects of TeX's automatic
math formatting rules to improve typesetting. See the user
guide for more information. See below for installation and
@@ -55,7 +55,7 @@ produces the user guide in point (3) above.
*********************************************************
-Copyright 2021,2023 by Conrad Kosowsky
+Copyright 2021, 2023, 2024 Conrad Kosowsky
This file may be distributed and modified under the terms
of the LaTeX Public Project License, version 1.3c or any
@@ -70,7 +70,7 @@ be reached at kosowsky.latex@gmail.com. The Work consists
of the following items:
(1) the base file:
- innerscript.dtx
+ innerscript_code.dtx
(2) the package file:
innerscript.sty
diff --git a/macros/luatex/latex/innerscript/innerscript_code.dtx b/macros/luatex/latex/innerscript/innerscript_code.dtx
index 6c900172b6..196a228514 100644
--- a/macros/luatex/latex/innerscript/innerscript_code.dtx
+++ b/macros/luatex/latex/innerscript/innerscript_code.dtx
@@ -1,9 +1,9 @@
% \iffalse ---!!! FIRST META-COMMENT !!!---
%
%
-% This file is innerscript_code.dtx from version 1.2
+% This file is innerscript_code.dtx from version 1.3
% of the free and open-source LaTeX package "innerscript,"
-% released November 2023, to be used with the LuaTeX engine.
+% released August 2024, to be used with the LuaTeX engine.
%
% Running Plain TeX on innerscript_code.dtx will
% produce the following files:
@@ -37,11 +37,11 @@
% \iffalse ---!!! SECOND META-COMMENT !!!---
%
%
-% This file is from version 1.2 of the free and open-source
-% LaTeX package "innerscript," released November 2023, to be
+% This file is from version 1.3 of the free and open-source
+% LaTeX package "innerscript," released August 2024, to be
% used with the LuaTeX engine.
%
-% Copyright 2021, 2023 by Conrad Kosowsky
+% Copyright 2021, 2023, 2024 Conrad Kosowsky
%
% This file may be distributed and modified under the terms
% of the LaTeX Public Project License, version 1.3c or any
@@ -122,11 +122,11 @@
\askforoverwritefalse
\preamble
-This file is from version 1.2 of the free and open-source
-LaTeX package "innerscript," released November 2023, to be
+This file is from version 1.3 of the free and open-source
+LaTeX package "innerscript," released August 2024, to be
used with the LuaTeX engine.
-Copyright 2021, 2023 by Conrad Kosowsky
+Copyright 2021, 2023, 2024 Conrad Kosowsky
This file may be distributed and modified under the terms
of the LaTeX Public Project License, version 1.3c or any
@@ -249,7 +249,7 @@ Happy TeXing!
% We begin the implementation by declaring the package. The counts |\IS@script| and |\IS@scriptscript| and the conditionals |\ifIS@inner|, |\ifIS@close|, and |\ifIS@cover| encode package option information. For the counts, a value of 0 means no changes, a value of 1 means default spacing, and a value of 2 means legacy spacing.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{innerscript}[2023/11/06 v. 1.2 Package innerscript]
+\ProvidesPackage{innerscript}[2024/08/19 v. 1.3 Package innerscript]
\newcount\IS@script
\newcount\IS@scriptscript
\newif\ifIS@inner
@@ -284,7 +284,7 @@ Happy TeXing!
% \begin{macrocode}
\ifx\Umathordordspacing\@undefined
\bgroup
-\catcode`\+=12\relax
+\catcode`\ =12\relax
\def\IS@LuaTeXError{\GenericError{}%
{\MessageBreak\MessageBreak
Package innerscript error:%
@@ -364,8 +364,8 @@ press return.}}%
% \end{figure}
% \begin{macrocode}
\ifcase\IS@script % Case 0: No changes
- \IS@info{No changes to space for \string\scriptstyle\space atoms.}
- \IS@info{No changes to space for \string\crampedscriptstyle\space atoms.}
+ \IS@info{No space changes for \string\scriptstyle\space atoms.}
+ \IS@info{No space changes for \string\crampedscriptstyle\space atoms.}
\or % Case 1: Default changes
\IS@info{Adjusting space for \string\scriptstyle\space atoms.}
\IS@info{Adjusting space for \string\crampedscriptstyle\space atoms.}
@@ -575,8 +575,8 @@ press return.}}%
% \end{figure}
% \begin{macrocode}
\ifcase\IS@scriptscript % Case 0: No changes
- \IS@info{No changes to space for \string\scriptscriptstyle\space atoms.}
- \IS@info{No changes to space for
+ \IS@info{No space changes for \string\scriptscriptstyle\space atoms.}
+ \IS@info{No space changes for
\string\crampedscriptscriptstyle\space atoms.}
\or % Case 1: Default changes
\IS@info{Adjusting space for \string\scriptscriptstyle\space atoms.}
@@ -788,7 +788,7 @@ press return.}}%
% or the same with the \meta{atom} appearing after the |inner| or |ord|. The \meta{style} is one of the eight math style commands: |\displaystyle|, |\textstyle|, |\scriptstyle|, |\scriptscriptstyle|, and the cramped versions. Section~4 comes after Sections~2 and 3 because we make sure to capture all spacing changes in superscripts and subscripts.
% \begin{macrocode}
\ifIS@inner
- \IS@info{Adjusting space for \string\mathinner\space subformulas.}
+ \IS@info{Adjusting space around \string\mathinner\space subformulas.}
% \end{macrocode}
% First, we handle the cases where the first subformula is not |\mathinner| and the second subformula is |\mathinner|. We start with |\displaystyle|.
% \begin{macrocode}
@@ -1111,7 +1111,7 @@ press return.}}%
\IS@info{Adding space after closing delimiters.}
\Umathcloseordspacing\displaystyle=\scalemu{\thinmuskip}{0.5}
\Umathcloseordspacing\textstyle=\scalemu{\thinmuskip}{0.5}
- \Umathcloseordspacing\crampedisplaystyle=\scalemu{\thinmuskip}{0.5}
+ \Umathcloseordspacing\crampeddisplaystyle=\scalemu{\thinmuskip}{0.5}
\Umathcloseordspacing\crampedtextstyle=\scalemu{\thinmuskip}{0.5}
\ifnum\IS@script>0
\Umathcloseordspacing\scriptstyle=\scalemu{\thinmuskip}{0.3}
@@ -1130,7 +1130,7 @@ press return.}}%
%
% \section{Delimiter Heights}
%
-% Finally, filling out the delimiter heights is easy. We simply set |\delimiterfactor| to 1000.
+% Finally, filling out the delimiter heights is easy. We set |\delimiterfactor| to 1000.
% \begin{macrocode}
\ifIS@cover
\IS@info{Setting delimiters to full height.}
@@ -1144,7 +1144,8 @@ press return.}}%
% \vfil\eject
% \section*{Version History}
% \begin{multicols*}{2}
-% \bgroup\raggedright\parskip\z@\parindent\z@\leftskip1em\obeylines
+%
+% \raggedright\parskip\z@\parindent\z@\leftskip1em\obeylines
% \setbox0\hbox{\hskip 1pt.\hskip 1pt}
% \def\version#1#2{\bigskip\hbox to \hsize{\textbf{#1} \cleaders\copy0\hfill\ #2}\par}
% \def\item{---\kern0.2ex\relax}
@@ -1163,7 +1164,9 @@ press return.}}%
% \item added option |cover|
% \item separated implementation and user guide
%
-% \egroup
+% \version{1.3}{August 2024}
+% \item bug fix involving |\cramedisplaystyle| typo
+%
% \end{multicols*}
%
%
@@ -1266,7 +1269,7 @@ Package Option & Meaning\\
\begin{figure}[t!]
-\centerline{\bfseries\strut Table~3: Space Inserted by \textsf{innerscript}}
+\centerline{\bfseries\strut Table~3: Space Inserted by \textsf{innerscript} bewteen Math-Mode Characters}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lll}\toprule
Consecutive Atom Types & Option |script| & Option |scriptscript|\\\midrule
|\mathord||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
@@ -1306,7 +1309,7 @@ Consecutive Atom Types & Option |script| & Option |scriptscript|\\\midrule
\end{tabular*}
\end{figure}
-\iffalse % ignore
+\iffalse %%% ignore %%%
\begin{figure}[t!]
\centerline{\bfseries\strut Table~4: Legacy Space Inserted by \textsf{innerscript}}
\begin{tabularx}{\hsize}{p{2in}Xl}\toprule
@@ -1365,10 +1368,9 @@ Skip Used in Current Version & For Option |script| & For Option |scriptscript|\\
-The |inner|, |close|, and |cover| options are straightforward, but the options |script| and |scriptscript| warrant more explanation. With its usual math formatting, \TeX\ adds small amounts of space between different math-mode characters depending on what types of symbols they represent, and \TeX's fine-tuned math spacing is part of what makes it a great program for typesetting equations.\footnote{\TeX\ classifies math symbols into eight categories: \vrb\mathord\ (ordinary), \vrb\mathop\ (big operator), \vrb\mathbin\ (binary operation), \vrb\mathrel\ (relation), \vrb\mathopen\ (opening delimiter), \vrb\mathclose\ (closing delimiter), \vrb\mathpunct\ (punctuation), and \vrb\mathinner\ (``inner'' subformula). As part of its definition, every math-mode character is assigned a math class.\vadjust{\bigskip} See Donald Knuth, \textit{The \TeX book} (Addison Wesley, 1986), 170; David Salomon, \textit{The Advanced \TeX book} (Springer, 1995), 256--258.} However, some spacing additions from inline and display math don't appear inside superscripts and subscripts. The |script| and |scriptscript| options address this situation by changing the space in superscripts and subscripts to scaled-down versions of the standard spacing rules.\footnote{Technically, \textsf{innerscript} scales down the standard spacing twice. The exact length of a \vrb\muskip\ register varries proportionally with the surrounding font size, so, for example, a \vrb\thinmuskip\ inside a superscript or subscript will be about two-thirds the size of a \vrb\thinmuskip\ in regular inline math. If \textsf{innerscript} always inserted the same amounts of muglue between math characters as with inline math, the spacing in superscripts and subscripts would be proportional to inline and display spacing. However, doing so produces math where the symbols appear too far apart, so \textsf{innerscript} scales the muglue by a factor of 0.6 in superscripts and subscripts and by a factor of 0.4 in second-order superscripts and subscripts.} Table~3 lists the spacing that \textsf{innerscript} adds under both options.
-
-Finally, in version 1.2, I redesigned the extra space amounts in the |script| and |scriptscript| options, and for backwards compatibility, the |legacy-| options implement the old spacing. In legacy spacing, all space additions are multiples of |\thinmuskip|, and Table~4 lists the factors of |\thinmuskip| from version 1.1. The factors correspond to whether a given row of Table~3 uses |\thinmuskip|, |\medmuskip|, or |\thickmuskip|. For example, the current version of \textsf{innerscript} adds a multiple of |\thinmuskip| between an ordinary math symbol and a large operator, so under legacy spacing, \textsf{innerscript} inserts 0.6|\thinmuskip| in superscripts and subscripts and 0.4|\thinmuskip| in second-order superscripts and subscripts. I changed the package this way so that superscripts and subscripts will parallel inline and display spacing. Now if you set the value of |\thinmuskip|, |\medmuskip|, or |\thickmuskip| before loading \textsf{innerscript}, the adjustment will have the same effect in all parts of your equation.
+The |inner|, |close|, and |cover| options are straightforward, but the options |script| and |scriptscript| warrant more explanation. With its usual math formatting, \TeX\ adds small amounts of space between different math-mode characters depending on what types of symbols they represent, and \TeX's fine-tuned math spacing is part of what makes it a great program for typesetting equations.\footnote{\TeX\ classifies math symbols into eight categories: \vrb\mathord\ (ordinary), \vrb\mathop\ (big operator), \vrb\mathbin\ (binary operation), \vrb\mathrel\ (relation), \vrb\mathopen\ (opening delimiter), \vrb\mathclose\ (closing delimiter), \vrb\mathpunct\ (punctuation), and \vrb\mathinner\ (``inner'' subformula). As part of its definition, every math-mode character is assigned a math class. See Donald Knuth, \textit{The \TeX book} (Addison Wesley, 1986), 170; David Salomon, \textit{The Advanced \TeX book} (Springer, 1995), 256--258.} However, some spacing additions from inline and display math don't appear inside superscripts and subscripts. The |script| and |scriptscript| options address this situation by changing the space in superscripts and subscripts to scaled-down versions of the standard spacing rules.\footnote{Technically, \textsf{innerscript} scales down the standard spacing twice. The exact length of a \vrb\muskip\ register varries proportionally with the surrounding font size, so, for example, a \vrb\thinmuskip\ inside a superscript or subscript will be about two-thirds the size of a \vrb\thinmuskip\ in regular inline math. If \textsf{innerscript} always inserted the same amounts of muglue between math characters as with inline math, the spacing in superscripts and subscripts would be proportional to inline and display spacing. However, doing so produces math where the symbols appear too far apart, so \textsf{innerscript} scales the muglue by a factor of 0.6 in superscripts and subscripts and by a factor of 0.4 in second-order superscripts and subscripts.} Table~3 lists the spacing that \textsf{innerscript} adds under both options.
+Finally, in version 1.2, I redesigned the extra space amounts in the |script| and |scriptscript| options, and for backwards compatibility, the |legacy-| options implement the old spacing. In legacy spacing, all space additions are multiples of |\thinmuskip|, and Table~4 lists the factors of |\thinmuskip| from version 1.1. The factors correspond to whether a given row of Table~3 uses |\thinmuskip|, |\medmuskip|, or |\thickmuskip|. For example, the current version of \textsf{innerscript} adds a multiple of |\thinmuskip| between an ordinary math symbol and a large operator, so under legacy spacing, \textsf{innerscript} inserts 0.6|\thinmuskip| in superscripts and subscripts and 0.4|\thinmuskip| in second-order superscripts and subscripts. I changed the package this way so that superscripts and subscripts will parallel inline and display spacing. If you set the value of |\thinmuskip|, |\medmuskip|, or |\thickmuskip| before loading \textsf{innerscript}, the adjustment will have the same effect in all parts of your equation. Changing these three internal quantities after you load \textsf{innerscript} will have no effect on the default spacing between math-mode characters.
@@ -1382,8 +1384,8 @@ Finally, in version 1.2, I redesigned the extra space amounts in the |script| an
\makeatletter
% identifying macros
-\def\packageversion{1.2}
-\def\packagedate{November 2023}
+\def\packageversion{1.3}
+\def\packagedate{August 2024}
% general macros
\MacroIndent=1.3em
@@ -1449,7 +1451,7 @@ Finally, in version 1.2, I redesigned the extra space amounts in the |script| an
\leftskip=0pt plus 1 fil
\rightskip=0pt plus 1fil
\parfillskip=0pt
-{\strut\Large Package \textsf{innerscript} v.\ 1.2 \documentname}\par
+{\strut\Large Package \textsf{innerscript} v.\ \packageversion\ \documentname}\par
\strut Conrad Kosowsky\par
\strut \packagedate\par
\strut\texttt{kosowsky.latex@gmail.com}\par}
diff --git a/macros/luatex/latex/innerscript/innerscript_code.pdf b/macros/luatex/latex/innerscript/innerscript_code.pdf
index f05e92dd31..b08fa7cc67 100644
--- a/macros/luatex/latex/innerscript/innerscript_code.pdf
+++ b/macros/luatex/latex/innerscript/innerscript_code.pdf
Binary files differ
diff --git a/macros/luatex/latex/innerscript/innerscript_user_guide.pdf b/macros/luatex/latex/innerscript/innerscript_user_guide.pdf
index 86ea58d448..42cb8bceb8 100644
--- a/macros/luatex/latex/innerscript/innerscript_user_guide.pdf
+++ b/macros/luatex/latex/innerscript/innerscript_user_guide.pdf
Binary files differ
diff --git a/macros/luatex/latex/longmath/README b/macros/luatex/latex/longmath/README
index da1e522891..5699c68b84 100644
--- a/macros/luatex/latex/longmath/README
+++ b/macros/luatex/latex/longmath/README
@@ -23,16 +23,12 @@ A special environment is provided as well, which allows multi line
expressions to be placed inside a displayed equation and make TeX
do the line splitting and alignment.
-This is the first and in parts still experimental version. If anyone
-actually uses it, the author would be happy to receive bug reports,
-critics and suggestions.
-
(c) 2024 Hans-Jürgen Matschull [ hjm.tex@matschull.net ]
This work may be distributed and/or modified under the conditions
of the LaTeX Project Public License version 1.3 or later.
-The following files belong to the longmath package version 0.1:
+The following files belong to the longmath package version 1.0:
package and documentation: longmath.sty longmath.lua longmath-doc.pdf
diff --git a/macros/luatex/latex/longmath/longmath-doc.cls b/macros/luatex/latex/longmath/longmath-doc.cls
index 04ce8b2e3d..6ff03fc094 100644
--- a/macros/luatex/latex/longmath/longmath-doc.cls
+++ b/macros/luatex/latex/longmath/longmath-doc.cls
@@ -1,5 +1,5 @@
%%
-%% longmath-doc.cls is part of longmath version 0.1.
+%% longmath-doc.cls is part of longmath version 1.0.
%%
%% (c) 2024 Hans-Jürgen Matschull
%%
@@ -18,7 +18,7 @@
%% see README for a list of files belonging to longmath.
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{longmath-doc}[2024/03/25]
+\ProvidesClass{longmath-doc}[2024/07/04]
\LoadClass[a4paper,10pt]{scrartcl}
\RequirePackage{geometry}
\geometry{hmargin=20mm,vmargin={20mm,30mm}}
diff --git a/macros/luatex/latex/longmath/longmath-doc.lua b/macros/luatex/latex/longmath/longmath-doc.lua
index e334cc2e57..56da1ef4d0 100644
--- a/macros/luatex/latex/longmath/longmath-doc.lua
+++ b/macros/luatex/latex/longmath/longmath-doc.lua
@@ -1,5 +1,5 @@
--
--- longmath-doc.lua is part of longmath version 0.1.
+-- longmath-doc.lua is part of longmath version 1.0.
--
-- (c) 2024 Hans-Jürgen Matschull
--
diff --git a/macros/luatex/latex/longmath/longmath-doc.pdf b/macros/luatex/latex/longmath/longmath-doc.pdf
index 2d82bd0a3f..84093de436 100644
--- a/macros/luatex/latex/longmath/longmath-doc.pdf
+++ b/macros/luatex/latex/longmath/longmath-doc.pdf
Binary files differ
diff --git a/macros/luatex/latex/longmath/longmath-doc.tex b/macros/luatex/latex/longmath/longmath-doc.tex
index 8e64064d87..516e1d22cf 100644
--- a/macros/luatex/latex/longmath/longmath-doc.tex
+++ b/macros/luatex/latex/longmath/longmath-doc.tex
@@ -1,5 +1,5 @@
%%
-%% longmath-doc.tex is part of longmath version 0.1.
+%% longmath-doc.tex is part of longmath version 1.0.
%%
%% (c) 2024 Hans-Jürgen Matschull
%%
@@ -46,10 +46,6 @@ or across the whole document.
A special environment is provided as well, which allows multi line
expressions to be placed inside a displayed equation and make \TeX\
do the line splitting and alignment.
-
-This is the first and in parts still experimental version. If anyone
-actually uses it, the author would be happy to receive bug reports,
-critics and suggestions.
}
\newcommand{\icol}[1]{% inline column vector
@@ -116,10 +112,10 @@ critics and suggestions.
\node[color=yellow!85!black,rotate=-17,scale=1.8] at (-0.7,0)
{$\displaystyle \mathcal{L} = \begin{longmath}[t]{110mm+30mm} \lagrange \end{longmath}$};
\node[txt,scale=1.8] at (0,7.2) {\Huge\textbf{\p{longmath}}};
- \node[txt,scale=1.2] at (0,5.4) {\Large Documentation for Version 0.1};
+ \node[txt,scale=1.2] at (0,5.4) {\Large Documentation for Version 1.0};
\node[txt,scale=1.2] at (0,4.0) {\large Hans-Jürgen Matschull};
\node[txt,scale=1.2] at (0,3.3) {\texttt{hjm.tex@matschull.net}};
- \node[txt,scale=1.2] at (0,1.7) {\texttt{2024/03/25}};
+ \node[txt,scale=1.2] at (0,1.7) {\texttt{2024/07/04}};
\node[txt,scale=1.0] at (0,-3) {\begin{minipage}{130mm}\parskip 1.3ex \intro\end{minipage}};
\end{tikzpicture}
\end{center}
@@ -130,7 +126,7 @@ critics and suggestions.
\lineskip 2pt plus 1pt
\lineskiplimit 2pt
-\newpage
+\newpage
\section{Delimiters}
\label{delims}
@@ -142,6 +138,8 @@ The \p{longmath} package provides ``long'' versions of the "\left" and "\right"
\comm{"\rright" [°scale°] °delimiter°} marks the end of a delimiter group and inserts a closing °delimiter°.
The optional °scale° argument will be explained below. The °delimiter° can be anything that is also accepted by "\left" and "\right", including a dot representing an invisible or null delimiter, any character with a "\delcode", or an explicit "\delimiter" or "\Udelimiter". If you want to use the \p{longmath} package with existing documents, or just stick to the familiar notation, and provided that this does not cause conflicts with other packages manipulating the original primitives, it is even save to say "\let\left\lleft" and "\let\right\rright".
+
+Here is a simple example. Of course, as \LaTeX\ authors, we should better use some math environment instead of "$$", but let's stick to them here just to save some space, and indicate that everything should work regardless of what environment we use.
\begin{code}
The Sellmann-Yokuzi contribution to the
Johansson Entropy is given by
@@ -667,61 +665,51 @@ If the nesting level exceeds the number of sample pairs provided, the outermost
D + \frac{ \lleft* X + Y \rright* × Z }{ W }
\rright* · E \rright* · F \rright* · G \rright* $$
\end{exec}
-If variable delimiters are mixed with explicit delimiters, there is an interaction between them. If you use one of the pairs from the collection, it is treated as if it was inserted automatically. Any enclosing bracket will be the next one from the collection. Let's define a larger collection to demonstrate this.
+Automatic delimiters can be mixed with explicit delimiters. When the nesting level is determined, only the "*" delimiters are taken into account. To demonstrate this, let's choose a different collection and set a negative value for "\delimitershortfall". This makes the bracket size increase linearly with the nesting level.
\autodelimiters{ < \lceil \lfloor [ \{ ( * ) \} ] \rfloor \rceil > }
\begin{code*}
- \autodelimiters{ < \lceil \lfloor [ \{ ( * ) \} ] \rfloor \rceil > }
+ \delimitershortfall -2pt
+ \autodelimiters{ < \lceil \lfloor [ \{ ( * ) \} ] \rfloor \rceil > }
\end{code*}
-This is what we get with automatic brackets only. The numbers indicate the actually used level. A negative value for "\delimitershortfall" makes the bracket size increase linearly with the nesting level.
+This is what we get with automatic brackets only. The numbers indicate the actually used level.
\begin{code}
- \delimitershortfall -2pt
$$ \lleft* 5 + \lleft* 4 + \lleft* 3
+ \lleft* 2 + \lleft* 1 + A \rright* + B \rright*
+ C \rright* + D \rright* + E \rright* $$
\end{code}
-\begin{exec}
+\begin{exec}\:
\delimitershortfall -2pt
$$ \lleft* 5 + \lleft* 4 + \lleft* 3
+ \lleft* 2 + \lleft* 1 + A \rright* + B \rright*
+ C \rright* + D \rright* + E \rright* $$
\end{exec}
-If we replace the second level by explicit square brackets, these are identified as the third level, and the counting continues from there.
+If we replace the second level by explicit square brackets, the counting continues at the third level.
\begin{code}
- $$ \lleft* 6 + \lleft* 5 + \lleft* 4
- + \lleft[ 3 + \lleft* 1 + A \rright* + B \rright]
+ $$ \lleft* 4 + \lleft* 3 + \lleft* 2
+ + \lleft[ 0 + \lleft* 1 + A \rright* + B \rright]
+ C \rright* + D \rright* + E \rright* $$
\end{code}
\begin{exec}\:
\delimitershortfall -2pt
- $$ \lleft* 6 + \lleft* 5 + \lleft* 4
- + \lleft[ 3 + \lleft* 1 + A \rright* + B \rright]
+ $$ \lleft* 4 + \lleft* 3 + \lleft* 2
+ + \lleft[ 0 + \lleft* 1 + A \rright* + B \rright]
+ C \rright* + D \rright* + E \rright* $$
\end{exec}
-And here the counting restarts further out.
-\begin{code}
- $$ \lleft* 2 + \lleft( 1 + \lleft* 3
- + \lleft* 2 + \lleft* 1 + A \rright* + B \rright*
- + C \rright* + D \rright) + E \rright* $$
-\end{code}
-\begin{exec}\:
- \delimitershortfall -2pt
- $$ \lleft* 2 + \lleft( 1 + \lleft* 3
- + \lleft* 2 + \lleft* 1 + A \rright* + B \rright*
- + C \rright* + D \rright) + E \rright* $$
-\end{exec}
-A pair that is not in the collection is ignored and the counting continues at the next level.
+And here two levels are skipped.
\begin{code}
- $$ \lleft* 4 + \lleft* 3 + \lleft\uparrow 0
- + \lleft* 2 + \lleft* 1 + A \rright* + B \rright*
- + C \rright\downarrow + D \rright* + E \rright* $$
+ $$ \lleft* 3 + \lleft| 0 + \lleft* 2
+ + \lleft[ 0 + \lleft* 1 + A \rright* + B \rright]
+ + C \rright* + D \rright| + E \rright* $$
\end{code}
\begin{exec}\:
\delimitershortfall -2pt
- $$ \lleft* 4 + \lleft* 3 + \lleft\uparrow 0
- + \lleft* 2 + \lleft* 1 + A \rright* + B \rright*
- + C \rright\downarrow + D \rright* + E \rright* $$
+ $$ \lleft* 3 + \lleft| 0 + \lleft* 2
+ + \lleft[ 0 + \lleft* 1 + A \rright* + B \rright]
+ + C \rright* + D \rright| + E \rright* $$
\end{exec}
-If variable delimiters are tagged and aligned, this also applies to the chosen delimiter from the collection. Here is a typical example. Without tagging, we get this.
+In the first experimental version of this packages, there was an interaction between automatic and explicit brackets. This has been removed. It didn't work well with linked groups, and it caused problems with bracktes used for purposes other than grouping, like function arguments, binomial coeffiecients etc.
+
+If automatic delimiters are tagged and aligned, this also applies to the chosen delimiter from the collection. Here is a typical example. Without tagging, we get this.
\begin{code}
$$ \lleft * \frac{ n+1 }{ n^2 } \rright * ^2
+ \lleft * \frac{ n }{ \lleft * n - 1 \rright *^2 } %%%
@@ -743,7 +731,7 @@ If the outer brackets are aligned, both become second level brackets.
+ \lleft {qx} * \frac{ n }{ \lleft * n - 1 \rright *^2}
\rright * ^2 $$
\end{exec}
-As a last challenge, let's consider the array from the previous section with a slight modification. If we replace all brackets with variable delimiters, but do not link the cells, we get this.
+As a last challenge, let's consider the array from the previous section with a slight modification. If we replace all brackets with automatic delimiters, but do not link the cells, we get this.
\begin{code}
$$ \begin{array}{dsdsdsd}
\lleft * Z & - & \sum_k A & × &
@@ -882,7 +870,7 @@ To make this look a bit nicer, you can add some extra space to the width of the
$$ \lleft[ \begin{longmath}[c]{0.33+0.07}
\polyA
\end{longmath} \rright] =
- \lleft[ \begin{longmath}[c]{0.33+0.0.7}
+ \lleft[ \begin{longmath}[c]{0.33+0.07}
\lleft( \polyB \rright) \cdot %%%
\lleft( \polyC \rright)
\end{longmath} \rright] $$
diff --git a/macros/luatex/latex/longmath/longmath.lua b/macros/luatex/latex/longmath/longmath.lua
index 56c64c8cdb..05524096ca 100644
--- a/macros/luatex/latex/longmath/longmath.lua
+++ b/macros/luatex/latex/longmath/longmath.lua
@@ -1,5 +1,5 @@
--
--- longmath.lua is part of longmath version 0.1.
+-- longmath.lua is part of longmath version 1.0.
--
-- (c) 2024 Hans-Jürgen Matschull
--
@@ -141,15 +141,16 @@ local function set_delim( head, level, ht, dp )
if brks then brks = brks[type] end
if type and auto and brks then
delim_set( delim, brks[level] )
- elseif type and brks then
- level = nil
- for l = 1, #brks do if delim_eq( brks[l], delim ) then level = l break end end
else
level = nil
end
local scale = node.get_attribute( hbox, attr_info )
- hbox.height, hbox.depth = ht * scale // 1000, dp * scale // 1000
- if delim_eq( delim, delim_null ) then hbox.width = hbox.width * 2 end
+ hbox.height, hbox.depth = ht * scale // 1000, dp * scale // 1000
+ if delim_eq( delim, delim_null ) then
+ hbox.width = -2 * tex.dimen.nulldelimiterspace
+ else
+ hbox.width = -tex.dimen.nulldelimiterspace
+ end
return level
end
diff --git a/macros/luatex/latex/longmath/longmath.sty b/macros/luatex/latex/longmath/longmath.sty
index 2b4848db3c..47a99ce8fa 100644
--- a/macros/luatex/latex/longmath/longmath.sty
+++ b/macros/luatex/latex/longmath/longmath.sty
@@ -1,5 +1,5 @@
%%
-%% longmath.sty is part of longmath version 0.1.
+%% longmath.sty is part of longmath version 1.0.
%%
%% (c) 2024 Hans-Jürgen Matschull
%%
@@ -18,7 +18,7 @@
%% see README for a list of files belonging to longmath.
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{longmath}[2024/03/25]
+\ProvidesPackage{longmath}[2024/07/04]
\RequirePackage{luatexbase}
@@ -89,8 +89,7 @@
\setattribute\longmath@info{\mathstyle} \special{\longmath@comm}
\longmath@type\bgroup \longmath@left . \aftergroup\egroup \aftergroup\endgroup
\begingroup \setattribute\longmath@info{\ifnum \longmath@yscale < 1 \longmath@xscale \else \longmath@yscale \fi}
- \hbox to -\nulldelimiterspace{} \endgroup
- \longmath@right }
+ \hbox{} \endgroup \longmath@right }
% magic number to identify the variable delimiter.
@@ -174,13 +173,13 @@
}
% End of longmath environment.
-% If the width of the box is smaller than the requsted width, just use it as is.
+% If the width of the box is smaller than the requested width, just use it as is.
% Otherwise, modify the requested width if the * version was used.
% Then \unhbox the content into a paragraph with the requested width.
% \box0 and \box1 are used to adapt the baselineskip to the math style.
% \leftskip and \rightskip are set such that lines are centered but not justified.
% The glue is removed from the beginning of the first line with \hskip,
-% and from the end of the last line with \parfilskip.
+% and from the end of the last line with \parfilskip.
% If \longmath@extra is non-zero, Lua will stack the lines of the paragraph.
\def\longmath@end{$\egroup
\ifdim \wd\longmath@box < \dimexpr \longmath@width + \longmath@extra \relax
diff --git a/macros/luatex/latex/luamml/README.md b/macros/luatex/latex/luamml/README.md
new file mode 100644
index 0000000000..afdf86e6f0
--- /dev/null
+++ b/macros/luatex/latex/luamml/README.md
@@ -0,0 +1,14 @@
+# LuaMML: Automated LuaLaTeX math to MathML conversion
+This is an attempt to implement automatic conversion of LuaLaTeX inline and display math expressions into MathML code to aid with tagging.
+It works best with `unicode-math`, but it can also be used with traditional math fonts if mappings to Unicode are provided.
+
+## Installation
+Run `l3build install` to install `luamml` into your local `texmf` tree.
+
+## Usage
+Add `\usepackage[tracing]{luamml-demo}` to print MathML to the terminal or `\usepackage[files]{luamml-demo}` to generate separate files with MathML output.
+Alternatively it can be used with latex-lab to automatically integrate with tagging infrastucture.
+
+<!-- Also see a [`tagpdf` experiment using this to tag PDF formulas](https://github.com/u-fischer/tagpdf/blob/develop/experiments/exp-mathml-lua.tex). -->
+
+<!-- If you are very brave you can also try running `pdflatex test_pdf` and afterwards run `./pdfmml.lua test_pdf.lua` to get pdflatex formulas converted. -->
diff --git a/macros/luatex/latex/luamml/luamml-amsmath.lua b/macros/luatex/latex/luamml/luamml-amsmath.lua
new file mode 100644
index 0000000000..2b74265501
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-amsmath.lua
@@ -0,0 +1,133 @@
+local write_xml = require'luamml-xmlwriter'
+local make_root = require'luamml-convert'.make_root
+local save_result = require'luamml-tex'.save_result
+local store_column = require'luamml-table'.store_column
+local store_tag = require'luamml-table'.store_tag
+local get_table = require'luamml-table'.get_table
+local set_row_attribute = require'luamml-table'.set_row_attribute
+local to_text = require'luamml-lr'
+
+local properties = node.get_properties_table()
+
+local math_t = node.id'math'
+
+local funcid = luatexbase.new_luafunction'__luamml_amsmath_add_last_to_row:'
+token.set_lua('__luamml_amsmath_add_last_to_row:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ -- local box = token.scan_int()
+ local nest = tex.nest.top
+ local head, startmath = nest.head, nest.tail
+ repeat
+ startmath = startmath.prev
+ until startmath == head or (startmath.id == math_t and startmath.subtype == 0)
+ if startmath == head then return end
+ assert(startmath.id == node.id"math")
+ store_column(startmath)
+end
+
+local funcid = luatexbase.new_luafunction'__luamml_amsmath_add_box_to_row:'
+token.set_lua('__luamml_amsmath_add_box_to_row:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ -- local box = token.scan_int()
+ local boxnum = 0
+ local startmath = tex.box[boxnum].list
+ assert(startmath.id == math_t)
+ store_column(startmath)
+end
+
+local funcid = luatexbase.new_luafunction'__luamml_amsmath_set_row_columnalign:n'
+token.set_lua('__luamml_amsmath_set_row_columnalign:n', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ set_row_attribute('columnalign', token.scan_argument())
+end
+
+do
+ local saved
+ funcid = luatexbase.new_luafunction'__luamml_amsmath_save_inner_table:n'
+ token.set_lua('__luamml_amsmath_save_inner_table:n', funcid)
+ lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ local kind = token.scan_argument()
+ local mml_table = get_table()
+ if not mml_table then return end
+ mml_table.displaystyle = true
+ local columns = node.count(node.id'align_record', tex.lists.align_head)//2
+ mml_table.columnalign = kind == 'gathered' and 'center' or string.rep('right left', columns, ' ')
+ local spacing = {}
+ for n in node.traverse_id(node.id'glue', tex.lists.align_head) do
+ spacing[#spacing+1] = n.width == 0 and '0' or string.format('%.3fpt', n.width/65781.76)
+ end
+ mml_table.columnspacing = #spacing > 3 and table.concat(spacing, ' ', 2, #spacing-2) or nil
+ saved = mml_table
+ end
+
+ funcid = luatexbase.new_luafunction'__luamml_amsmath_save_smallmatrix:'
+ token.set_lua('__luamml_amsmath_save_smallmatrix:', funcid)
+ lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ local mml_table = get_table()
+ mml_table.align = 'axis'
+ mml_table.columnalign = 'center'
+ mml_table.columnspacing = '0.278em'
+ mml_table.rowspacing = string.format('%.3fpt', tex.lineskip.width/65781.76)
+ saved = {[0] = 'mpadded', width = '+0.333em', lspace = '0.167em', mml_table}
+ saved = mml_table
+ end
+
+ funcid = luatexbase.new_luafunction'__luamml_amsmath_finalize_inner_table:'
+ token.set_lua('__luamml_amsmath_finalize_inner_table:', funcid)
+ lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ local vcenter = tex.nest.top.tail.nucleus
+ local props = properties[vcenter]
+ if not props then
+ props = {}
+ properties[vcenter] = props
+ end
+ props.mathml_table = assert(saved)
+ saved = nil
+ end
+end
+
+funcid = luatexbase.new_luafunction'__luamml_amsmath_finalize_table:n'
+token.set_lua('__luamml_amsmath_finalize_table:n', funcid)
+lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ local kind = token.scan_argument()
+ local mml_table = get_table()
+ if not mml_table then return end
+ mml_table.displaystyle = true
+ local columns = node.count(node.id'align_record', tex.lists.align_head)//2
+ mml_table.columnalign = kind == 'align' and string.rep('right left', columns, ' ') or nil
+ mml_table.width = kind == 'multline' and '100%' or nil
+ -- mml_table.side = kind == 'multline' and 'rightoverlap' or nil
+ local spacing = {}
+ for n in node.traverse_id(node.id'glue', tex.lists.align_head) do
+ spacing[#spacing+1] = n.width == 0 and '0' or '.8em'
+ end
+ mml_table.columnspacing = #spacing > 3 and table.concat(spacing, ' ', 2, #spacing-2) or nil
+ save_result(mml_table, true)
+end
+
+local last_tag
+
+funcid = luatexbase.new_luafunction'__luamml_amsmath_save_tag:'
+token.set_lua('__luamml_amsmath_save_tag:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ local nest = tex.nest.top
+ local chars = {}
+ last_tag = to_text(nest.head)
+end
+
+funcid = luatexbase.new_luafunction'__luamml_amsmath_set_tag:'
+token.set_lua('__luamml_amsmath_set_tag:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ if not last_tag then
+ texio.write_nl'WARNING: Tag extraction failed'
+ return
+ end
+ store_tag({[0] = 'mtd', last_tag})
+ last_tag = nil
+end
diff --git a/macros/luatex/latex/luamml/luamml-array.lua b/macros/luatex/latex/luamml/luamml-array.lua
new file mode 100644
index 0000000000..9a7b3581f2
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-array.lua
@@ -0,0 +1,84 @@
+local write_xml = require'luamml-xmlwriter'
+local make_root = require'luamml-convert'.make_root
+local save_result = require'luamml-tex'.save_result
+local store_column = require'luamml-table'.store_column
+local store_column_xml = require'luamml-table'.store_column_xml
+local store_tag = require'luamml-table'.store_tag
+local get_table = require'luamml-table'.get_table
+local to_text = require'luamml-lr'
+
+local properties = node.get_properties_table()
+
+local funcid = luatexbase.new_luafunction'__luamml_array_init_col:'
+token.set_lua('__luamml_array_init_col:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ local nest = tex.nest[tex.nest.ptr-1]
+ -- The special will be deleted again, it just marks the right math list since the start math node is not there yet
+ local special = node.new('whatsit', 'special')
+ node.insert_after(nest.tail, nest.tail, special)
+ nest.tail = special
+ local temp = nest.head
+ local props = properties[temp]
+ if not props then
+ props = {}
+ properties[temp] = props
+ end
+ props.luamml_array_startmath = special
+end
+
+local funcid = luatexbase.new_luafunction'__luamml_array_finalize_col:w'
+token.set_lua('__luamml_array_finalize_col:w', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ local alignment = token.scan_int() -- Do it first to consume number even if we end early
+ -- TODO: Error handling etc
+ local temp = tex.nest.top.head
+ local props = properties[temp]
+ local special = props and props.luamml_array_startmath
+ if not special then return end
+ node.remove(tex.nest.top.head, special)
+ local startmath = node.free(special)
+ props.luamml_array_startmath = nil
+
+ alignment = alignment == 1 and 'left' or alignment == 2 and 'right' or nil
+
+ if node.end_of_math(startmath) == tex.nest.top.tail then
+ if startmath.next == tex.nest.top.tail then return end
+ store_column(startmath).columnalign = alignment
+ else
+ -- Oh no, we got text. Let't complain to the user, it's probably their fault
+ print'We are mathematicians, don\'t bother us with text'
+ store_column_xml(to_text(startmath, tex.nest.top.tail)).columnalign = alignment
+ end
+end
+
+local saved_array
+
+funcid = luatexbase.new_luafunction'__luamml_array_finalize_array:'
+token.set_lua('__luamml_array_save_array:', funcid)
+lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc.
+ local colsep = tex.dimen['col@sep']
+ saved_array = get_table()
+ if colsep ~= 0 then
+ saved_array = {[0] = 'mpadded',
+ width = string.format('%+.3fpt', 2*colsep/65781.76),
+ lspace = string.format('%+.3fpt', colsep/65781.76),
+ saved_array
+ }
+ end
+end
+
+funcid = luatexbase.new_luafunction'__luamml_array_finalize_array:'
+token.set_lua('__luamml_array_finalize_array:', funcid)
+lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc.
+ local nucl = tex.nest.top.tail.nucleus
+ local props = properties[nucl]
+ if not props then
+ props = {}
+ properties[nucl] = props
+ end
+ props.mathml_table = saved_array
+ saved_array = nil
+end
diff --git a/macros/luatex/latex/luamml/luamml-convert.lua b/macros/luatex/latex/luamml/luamml-convert.lua
new file mode 100644
index 0000000000..fe529debc0
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-convert.lua
@@ -0,0 +1,662 @@
+local remap_comb = require'luamml-data-combining'
+local stretchy = require'luamml-data-stretchy'
+local to_text = require'luamml-lr'
+
+local properties = node.get_properties_table()
+
+local hlist_t, kern_t, glue_t, rule_t = node.id'hlist', node.id'kern', node.id'glue', node.id'rule'
+
+local noad_t, accent_t, style_t, choice_t = node.id'noad', node.id'accent', node.id'style', node.id'choice'
+local radical_t, fraction_t, fence_t = node.id'radical', node.id'fraction', node.id'fence'
+
+local math_char_t, sub_box_t, sub_mlist_t = node.id'math_char', node.id'sub_box', node.id'sub_mlist'
+
+local function invert_table(t)
+ local t_inv = {}
+ for k, v in next, t do
+ t_inv[v] = k
+ end
+ return t_inv
+end
+
+local noad_names = node.subtypes'noad'
+
+--[[ We could determine the noad subtypes dynamically:
+local noad_sub = invert_table(noad_names)
+local noad_ord = noad_sub.ord
+local noad_op = noad_sub.opdisplaylimits
+local noad_oplimits = noad_sub.oplimits
+local noad_opnolimits = noad_sub.opnolimits
+local noad_bin = noad_sub.bin
+local noad_rel = noad_sub.rel
+local noad_open = noad_sub.open
+local noad_close = noad_sub.close
+local noad_punct = noad_sub.punct
+local noad_inner = noad_sub.inner
+local noad_under = noad_sub.under
+local noad_over = noad_sub.over
+local noad_vcenter = noad_sub.vcenter
+-- But the spacing table depends on their specific values anyway, so we just verify the values
+]]
+local noad_ord, noad_op, noad_oplimits, noad_opnolimits = 0, 1, 2, 3
+local noad_bin, noad_rel, noad_open, noad_close, noad_punct = 4, 5, 6, 7, 8
+local noad_inner, noad_under, noad_over, noad_vcenter = 9, 10, 11, 12
+
+for i, n in ipairs{'ord', 'opdisplaylimits', 'oplimits', 'opnolimits', 'bin',
+ 'rel', 'open', 'close', 'punct', 'inner', 'under', 'over', 'vcenter'} do
+ assert(noad_names[i-1] == n)
+end
+-- Attention, the spacing_table is indexed by subtype+1 since 1-based tables are faster in Lua
+local spacing_table = {
+ {0 , '0.167em', '0.167em', '0.167em', '0.222em', '0.278em', 0 , 0 , 0 , '0.167em', 0 , 0 , 0 , },
+ {'0.167em', '0.167em', '0.167em', '0.167em', nil , '0.278em', 0 , 0 , 0 , '0.167em', '0.167em', '0.167em', '0.167em', },
+ nil,
+ nil,
+ {'0.222em', '0.222em', '0.222em', '0.222em', nil , nil , '0.222em', nil , nil , '0.222em', '0.222em', '0.222em', '0.222em', },
+ {'0.278em', '0.278em', '0.278em', '0.278em', nil , 0 , '0.278em', 0 , 0 , '0.278em', '0.278em', '0.278em', '0.278em', },
+ {0 , 0 , 0 , 0 , nil , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ {0 , '0.167em', '0.167em', '0.167em', '0.222em', '0.278em', 0 , 0 , 0 , '0.167em', 0 , 0 , 0 , },
+ {'0.167em', '0.167em', '0.167em', '0.167em', nil , '0.167em', '0.167em', '0.167em', '0.167em', '0.167em', '0.167em', '0.167em', '0.167em', },
+ {'0.167em', '0.167em', '0.167em', '0.167em', '0.222em', '0.278em', '0.167em', 0 , '0.167em', '0.167em', '0.167em', '0.167em', '0.167em', },
+ nil,
+ nil,
+ nil,
+}
+local spacing_table_script = {
+ {0 , '0.167em', '0.167em', '0.167em', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ {'0.167em', '0.167em', '0.167em', '0.167em', nil , 0 , 0 , 0 , 0 , 0 , '0.167em', '0.167em', '0.167em', },
+ nil,
+ nil,
+ {0 , 0 , 0 , 0 , nil , nil , 0 , nil , nil , 0 , 0 , 0 , 0 , },
+ {0 , 0 , 0 , 0 , nil , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ {0 , 0 , 0 , 0 , nil , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ {0 , '0.167em', '0.167em', '0.167em', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ {0 , 0 , 0 , 0 , nil , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ {0 , '0.167em', '0.167em', '0.167em', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ nil,
+ nil,
+ nil,
+}
+do -- Fill the blanks
+ local st, sts = spacing_table, spacing_table_script
+
+ local st_op, sts_op = st[noad_op+1], sts[noad_op+1]
+ st[noad_oplimits+1], sts[noad_oplimits+1] = st_op, sts_op
+ st[noad_opnolimits+1], sts[noad_opnolimits+1] = st_op, sts_op
+
+ local st_ord, sts_ord = st[noad_ord+1], sts[noad_ord+1]
+ st[noad_under+1], sts[noad_under+1] = st_ord, sts_ord
+ st[noad_over+1], sts[noad_over+1] = st_ord, sts_ord
+ st[noad_vcenter+1], sts[noad_vcenter+1] = st_ord, sts_ord
+end
+
+
+local radical_sub = node.subtypes'radical'
+local fence_sub = node.subtypes'fence'
+
+local remap_lookup = setmetatable({}, {__index = function(t, k)
+ local ch = utf8.char(k & 0x1FFFFF)
+ t[k] = ch
+ return ch
+end})
+local digit_map = {["0"] = true, ["1"] = true,
+ ["2"] = true, ["3"] = true, ["4"] = true,
+ ["5"] = true, ["6"] = true, ["7"] = true,
+ ["8"] = true, ["9"] = true,}
+
+local always_mo = {["%"] = true, ["&"] = true, ["."] = true, ["/"] = true,
+ ["\\"] = true, ["¬"] = true, ["′"] = true, ["″"] = true, ["‴"] = true,
+ ["⁗"] = true, ["‵"] = true, ["‶"] = true, ["‷"] = true, ["|"] = true,
+ ["∀"] = true, ["∁"] = true, ["∃"] = true, ["∂"] = true, ["∄"] = true,}
+
+-- Marker tables replacing the core operator for space like elements
+local space_like = {}
+
+local nodes_to_table
+
+local function sub_style(s) return s//4*2+5 end
+local function sup_style(s) return s//4*2+4+s%2 end
+
+-- The _to_table functions generally return a second argument which is
+-- could be (if it were a <mo>) a core operator of the embellishe operator
+-- or space_like
+-- acc_to_table is special since it's return value should
+-- always be considered a core operator
+
+-- We ignore large_... since they aren't used for modern fonts
+local function delim_to_table(delim)
+ if not delim then return end
+ local props = properties[delim]
+ local mathml_core = props and props.mathml_core
+ local mathml_table = props and (props.mathml_table or mathml_core)
+ if mathml_table ~= nil then return mathml_table, mathml_core end
+ local mathml_filter = props and props.mathml_filter -- Kind of pointless since the arguments are literals, but present for consistency
+ local char = delim.small_char
+ if char == 0 then
+ local result = {[0] = 'mspace', width = string.format("%.3fpt", tex.nulldelimiterspace/65781.76)}
+ if mathml_filter then
+ return mathml_filter(result, space_like)
+ else
+ return result, space_like
+ end
+ else
+ local fam = delim.small_fam
+ char = remap_lookup[fam << 21 | char]
+ local result = {[0] = 'mo', char, ['tex:family'] = fam ~= 0 and fam or nil, stretchy = not stretchy[char] or nil, lspace = 0, rspace = 0, [':nodes'] = {delim}, [':actual'] = char}
+ if mathml_filter then
+ return mathml_filter(result, result)
+ else
+ return result, result
+ end
+ end
+end
+
+-- Like kernel_to_table but always a math_char_t. Also creating a mo and potentially remapping to handle combining chars.
+-- No lspace or space is set here since these never appear as core operators in an mrow.
+local function acc_to_table(acc, cur_style, stretch)
+ if not acc then return end
+ local props = properties[acc]
+ local mathml_core = props and props.mathml_core
+ local mathml_table = props and (props.mathml_table or mathml_core)
+ if mathml_table ~= nil then return mathml_table, mathml_core end
+ if acc.id ~= math_char_t then
+ error'confusion'
+ end
+ local mathml_filter = props and props.mathml_filter -- Kind of pointless since the arguments are literals, but present for consistency
+ local fam = acc.fam
+ local char = remap_lookup[fam << 21 | acc.char]
+ char = remap_comb[char] or char
+ if stretch ~= not stretchy[char] then -- Handle nil gracefully in stretchy
+ stretch = nil
+ end
+ local result = {[0] = 'mo', char, ['tex:family'] = fam ~= 0 and fam or nil, stretchy = stretch, [':nodes'] = {acc}, [':actual'] = stretch and char or nil}
+ if mathml_filter then
+ return mathml_filter(result)
+ else
+ return result
+ end
+end
+
+local function kernel_to_table(kernel, cur_style, text_families)
+ if not kernel then return end
+ local props = properties[kernel]
+ local mathml_core = props and props.mathml_core
+ local mathml_table = props and (props.mathml_table or mathml_core)
+ if mathml_table ~= nil then return mathml_table, mathml_core end
+ local mathml_filter = props and props.mathml_filter -- Kind of pointless since the arguments are literals, but present for consistency
+ local id = kernel.id
+ if id == math_char_t then
+ local fam = kernel.fam
+ local char = remap_lookup[fam << 21 | kernel.char]
+ local elem = digit_map[char] and 'mn' or 'mi'
+ local result = {[0] = elem,
+ char,
+ ['tex:family'] = fam ~= 0 and fam or nil,
+ mathvariant = utf8.len(char) == 1 and elem == 'mi' and utf8.codepoint(char) < 0x10000 and 'normal' or nil,
+ [':nodes'] = {kernel},
+ }
+ if mathml_filter then
+ return mathml_filter(result, result)
+ else
+ return result, result
+ end
+ elseif id == sub_box_t then
+ local result
+ if kernel.list.id == hlist_t then -- We directly give up for vlists
+ result = to_text(kernel.list.head)
+ else
+ result = {[0] = 'mi', {[0] = 'mglyph', ['tex:box'] = kernel.list, [':nodes'] = {kernel}}}
+ end
+ if mathml_filter then
+ return mathml_filter(result, result)
+ else
+ return result, result
+ end
+ elseif id == sub_mlist_t then
+ if mathml_filter then
+ return mathml_filter(nodes_to_table(kernel.list, cur_style, text_families))
+ else
+ return nodes_to_table(kernel.list, cur_style, text_families)
+ end
+ else
+ error'confusion'
+ end
+end
+
+local function do_sub_sup(t, core, n, cur_style, text_families)
+ local sub = kernel_to_table(n.sub, sub_style(cur_style), text_families)
+ local sup = kernel_to_table(n.sup, sup_style(cur_style), text_families)
+ if sub then
+ if sup then
+ return {[0] = 'msubsup', t, sub, sup}, core
+ else
+ return {[0] = 'msub', t, sub}, core
+ end
+ elseif sup then
+ return {[0] = 'msup', t, sup}, core
+ else
+ return t, core
+ end
+end
+
+
+-- If we encounter a . or , after a number, test if it's followed by another number and in that case convert it into a mn
+local function maybe_to_mn(noad, core)
+ if noad.sub or noad.sup then return end
+ local after = noad.next
+ if not after then return end
+ if after.id ~= noad_t then return end
+ if after.subtype ~= noad_ord then return end
+ after = after.nucleus
+ if not after then return end
+ if after.id ~= math_char_t then return end
+ if not digit_map[remap_lookup[after.fam << 21 | after.char]] then return end
+ core[0] = 'mn'
+end
+
+local function noad_to_table(noad, sub, cur_style, joining, bin_replacements, text_families)
+ local nucleus, core = kernel_to_table(noad.nucleus, sub == noad_over and cur_style//2*2+1 or cur_style, text_families)
+ if not nucleus then return end
+ if core and core[0] == 'mo' and core.minsize and not core.maxsize then
+ core.maxsize = core.minsize -- This happens when a half-specified delimiter appears alone in a list.
+ -- If it has a minimal size, it should be fixed to that size (since there is nothing bigger in it's list)
+ end
+ if sub == noad_ord and not (bin_replacements[node.direct.todirect(noad)] or (nucleus == core and #core == 1 and always_mo[core[1]])) then
+ if core and core[0] == 'mo' then
+ core['tex:class'] = nil
+ if not core.minsize and not core.movablelimits then
+ core[0] = 'mi'
+ core.movablelimits = nil
+ core.mathvariant = #core == 1 and type(core[1]) == 'string' and utf8.len(core[1]) == 1 and utf8.codepoint(core[1]) < 0x10000 and 'normal' or nil
+ core.stretchy, core.lspace, core.rspace = nil
+ end
+ end
+ if nucleus == core and #core == 1 then
+ if joining and joining[0] == 'mn' and core[0] == 'mi' and (core[1] == '.' or core[1] == ',') and maybe_to_mn(noad, core)
+ or core[0] == 'mn' or text_families[core['tex:family'] or 0] then
+ if joining and core[0] == joining[0] and core['tex:family'] == joining['tex:family'] then
+ joining[#joining+1] = core[1]
+ local cnodes = core[':nodes']
+ if cnodes then -- very likely
+ local jnodes = joining[':nodes']
+ if jnodes then -- very likely
+ table.move(cnodes, 1, #cnodes, #jnodes+1, jnodes)
+ else
+ joining[':nodes'] = cnodes
+ end
+ end
+ nucleus = do_sub_sup(joining, joining, noad, cur_style, text_families)
+ if nucleus == joining then
+ return nil, joining, joining
+ else
+ return nucleus, joining, false
+ end
+ elseif not noad.sub and not noad.sup then
+ return core, core, core
+ end
+ end
+ end
+ elseif sub == noad_op or sub == noad_oplimits or sub == noad_opnolimits or sub == noad_bin or sub == noad_rel or sub == noad_open
+ or sub == noad_close or sub == noad_punct or sub == noad_inner or sub == noad_ord then
+ if not core or not core[0] then
+ -- TODO
+ else
+ core[0] = 'mo'
+ if not core.minsize then
+ if stretchy[core[1]] then core.stretchy = false end
+ end
+ if core.mathvariant == 'normal' then core.mathvariant = nil end
+ core.lspace, core.rspace = 0, 0
+ end
+ nucleus['tex:class'] = noad_names[sub]
+
+ if (noad.sup or noad.sub) and (sub == noad_op or sub == noad_oplimits) then
+ if core and core[0] == 'mo' then core.movablelimits = sub == noad_op end
+ local sub = kernel_to_table(noad.sub, sub_style(cur_style), text_families)
+ local sup = kernel_to_table(noad.sup, sup_style(cur_style), text_families)
+ return {[0] = sup and (sub and 'munderover' or 'mover') or 'munder',
+ nucleus,
+ sub or sup,
+ sub and sup,
+ }, core
+ end
+ elseif sub == noad_under then
+ return {[0] = 'munder',
+ nucleus,
+ {[0] = 'mo', '_',},
+ }, core
+ elseif sub == noad_over then
+ return {[0] = 'mover',
+ nucleus,
+ {[0] = 'mo', '\u{203E}',},
+ }, core
+ elseif sub == noad_vcenter then -- Ignored. Nucleus will need special handling anyway
+ else
+ error[[confusion]]
+ end
+ return do_sub_sup(nucleus, core, noad, cur_style, text_families)
+end
+
+local function accent_to_table(accent, sub, cur_style, text_families)
+ local nucleus, core = kernel_to_table(accent.nucleus, cur_style//2*2+1, text_families)
+ local top_acc = acc_to_table(accent.accent, cur_style, sub & 1 == 1)
+ local bot_acc = acc_to_table(accent.bot_accent, cur_style, sub & 2 == 2)
+ return {[0] = top_acc and (bot_acc and 'munderover' or 'mover') or 'munder',
+ nucleus,
+ bot_acc or top_acc,
+ bot_acc and top_acc,
+ }, core
+end
+
+local style_table = {
+ display = {displaystyle = "true", scriptlevel = "0"},
+ text = {displaystyle = "false", scriptlevel = "0"},
+ script = {displaystyle = "false", scriptlevel = "1"},
+ scriptscript = {displaystyle = "false", scriptlevel = "2"},
+}
+
+style_table.crampeddisplay, style_table.crampedtext,
+style_table.crampedscript, style_table.crampedscriptscript =
+ style_table.display, style_table.text,
+ style_table.script, style_table.scriptscript
+
+local function radical_to_table(radical, sub, cur_style, text_families)
+ local kind = radical_sub[sub]
+ local nucleus, core = kernel_to_table(radical.nucleus, cur_style//2*2+1, text_families)
+ local left = delim_to_table(radical.left)
+ local elem
+ if kind == 'radical' or kind == 'uradical' then
+ -- FIXME: Check that this is really a square root
+ elem, core = {[0] = 'msqrt', nucleus, }, nil
+ elseif kind == 'uroot' then
+ -- FIXME: Check that this is really a root
+ elem, core = {[0] = 'msqrt', nucleus, kernel_to_table(radical.degree, 7, text_families)}, nil
+ elseif kind == 'uunderdelimiter' then
+ elem, core = {[0] = 'munder', left, nucleus}, left
+ elseif kind == 'uoverdelimiter' then
+ elem, core = {[0] = 'mover', left, nucleus}, left
+ elseif kind == 'udelimiterunder' then
+ elem = {[0] = 'munder', nucleus, left}
+ elseif kind == 'udelimiterover' then
+ elem = {[0] = 'mover', nucleus, left}
+ else
+ error[[confusion]]
+ end
+ return do_sub_sup(elem, core, radical, cur_style, text_families)
+end
+
+local function fraction_to_table(fraction, sub, cur_style, text_families)
+ local num, core = kernel_to_table(fraction.num, cur_style + 2 - cur_style//6*2, text_families)
+ local denom = kernel_to_table(fraction.denom, cur_style//2*2 + 3 - cur_style//6*2, text_families)
+ local left = delim_to_table(fraction.left)
+ local right = delim_to_table(fraction.right)
+ local mfrac = {[0] = 'mfrac',
+ linethickness = fraction.width and fraction.width == 0 and 0 or nil,
+ bevelled = fraction.middle and "true" or nil,
+ num,
+ denom,
+ }
+ if left then
+ return {[0] = 'mrow',
+ left,
+ mfrac,
+ right, -- might be nil
+ }
+ elseif right then
+ return {[0] = 'mrow',
+ mfrac,
+ right,
+ }
+ else
+ return mfrac, core
+ end
+end
+
+local function fence_to_table(fence, sub, cur_style)
+ local delim, core = delim_to_table(fence.delim)
+ if core[0] ~= 'mo' then
+ return delim, core
+ end
+ core.fence, core.symmetric = 'true', 'true'
+ local options = fence.options
+ local axis
+ if fence.height ~= 0 or fence.depth ~= 0 then
+ axis = 0xA == options & 0xA
+ local exact = 0x18 == options & 0x18
+ -- We treat them always as exact. mpadded would allow us to support
+ -- non-exact ones too and I will implement that if I ever encounter
+ -- someone who does that intentionally. Until then, we warn people
+ -- since such fences are absurd.
+ if not exact then
+ texio.write_nl'luamml: The document uses a fence with \z
+ explicit dimensions but without the "exact" option. \z
+ This is probably a mistake.'
+ end
+ core.minsize = string.format("%.3fpt", (fence.height + fence.depth)/65781.76)
+ core.maxsize = core.minsize
+ else
+ axis = 0xC ~= options & 0xC
+ end
+ if not axis then
+ texio.write_nl'luamml: Baseline centered fence will be centered around math axis instead'
+ end
+ return delim, core
+end
+
+local function space_to_table(amount, sub, cur_style)
+ if amount == 0 then return end
+ if sub == 99 then -- TODO magic number
+ -- 18*2^16=1179648
+ return {[0] = 'mspace', width = string.format("%.3fem", amount/1179648)}, space_like
+ else
+ -- 65781.76=tex.sp'100bp'/100
+ return {[0] = 'mspace', width = string.format("%.3fpt", amount/65781.76)}, space_like
+ end
+end
+
+local running_length = -1073741824
+local function rule_to_table(rule, sub, cur_style)
+ local width = string.format("%.3fpt", rule.width/65781.76)
+ local height = rule.height
+ if height == running_length then
+ height = '0.8em'
+ else
+ height = string.format("%.3fpt", height/65781.76)
+ end
+ local depth = rule.depth
+ if depth == running_length then
+ depth = '0.2em'
+ else
+ depth = string.format("%.3fpt", depth/65781.76)
+ end
+ return {[0] = 'mspace', mathbackground = 'currentColor', width = width, height = height, depth = depth}, space_like
+end
+
+-- The only part which changes the nodelist, we are converting bin into ord
+-- nodes in the same way TeX would do it later anyway.
+local function cleanup_mathbin(head)
+ local replacements = {}
+ local last = 'open' -- last sub if id was noad_t, left fence acts fakes being a open noad, bin are themselves. Every other noad is ord
+ for n, id, sub in node.traverse(head) do
+ if id == noad_t then
+ if sub == noad_bin then
+ if node.is_node(last) or last == noad_opdisplaylimits
+ or last == noad_oplimits or last == noad_opnolimits
+ or last == noad_rel or last == noad_open or last == noad_punct then
+ replacements[node.direct.todirect(n)] = true
+ n.subtype, last = noad_ord, noad_ord
+ else
+ last = n
+ end
+ else
+ if (sub == noad_rel or sub == noad_close or sub == noad_punct)
+ and node.is_node(last) then
+ replacements[node.direct.todirect(last)] = true
+ last.subtype = noad_ord
+ end
+ last = sub
+ end
+ elseif id == fence_t then
+ if sub == fence_sub.left then
+ last = noad_open
+ else
+ if node.is_node(last) then
+ replacements[node.direct.todirect(last)] = true
+ last.subtype = noad_ord, noad_ord
+ end
+ last = noad_ord
+ end
+ elseif id == fraction_t or id == radical_t or id == accent_t then
+ last = noad_ord
+ end
+ end
+ if node.is_node(last) then
+ replacements[node.direct.todirect(last)] = true
+ last.subtype = noad_ord
+ end
+ return replacements
+end
+
+function nodes_to_table(head, cur_style, text_families)
+ local bin_replacements = cleanup_mathbin(head)
+ local t = {[0] = 'mrow'}
+ local result = t
+ local nonscript
+ local core, last_noad, last_core, joining = space_like, nil, nil, nil
+ for n, id, sub in node.traverse(head) do
+ local new_core, new_joining, new_node, new_noad
+ local props = properties[n]
+ local mathml_core = props and props.mathml_core
+ local mathml_table = props and (props.mathml_table or mathml_core)
+ if mathml_table ~= nil then
+ new_node, new_core = mathml_table, mathml_core
+ elseif id == noad_t then
+ local new_n
+ new_n, new_core, new_joining = noad_to_table(n, sub, cur_style, joining, bin_replacements, text_families)
+ if new_joining == false then
+ t[#t], new_joining = new_n, nil
+ else
+ new_node = new_n -- might be nil
+ end
+ new_noad = sub
+ elseif id == accent_t then
+ new_node, new_core = accent_to_table(n, sub, cur_style, text_families)
+ new_noad = noad_ord
+ elseif id == style_t then
+ if sub ~= cur_style then
+ if #t == 0 then
+ t[0] = 'mstyle'
+ else
+ local new_t = {[0] = 'mstyle'}
+ t[#t+1] = new_t
+ t = new_t
+ end
+ if sub < 2 then
+ t.displaystyle, t.scriptlevel = true, 0
+ else
+ t.displaystyle, t.scriptlevel = false, sub//2 - 1
+ end
+ cur_style = sub
+ end
+ new_core = space_like
+ elseif id == choice_t then
+ local size = cur_style//2
+ new_node, new_core = nodes_to_table(n[size == 0 and 'display'
+ or size == 1 and 'text'
+ or size == 2 and 'script'
+ or size == 3 and 'scriptscript'
+ or assert(false)], 2*size, text_families), space_like
+ elseif id == radical_t then
+ new_node, new_core = radical_to_table(n, sub, cur_style, text_families)
+ new_noad = noad_ord
+ elseif id == fraction_t then
+ new_node, new_core = fraction_to_table(n, sub, cur_style, text_families)
+ new_noad = noad_inner
+ elseif id == fence_t then
+ new_node, new_core = fence_to_table(n, sub, cur_style)
+ local class = n.class
+ new_noad = class >= 0 and class or sub == fence_sub.left and noad_open or noad_close
+ elseif id == kern_t then
+ if not nonscript then
+ new_node, new_core = space_to_table(n.kern, sub, cur_style)
+ end
+ elseif id == glue_t then
+ if cur_style >= 4 or not nonscript then
+ if sub == 98 then -- TODO magic number
+ nonscript = true
+ else
+ new_node, new_core = space_to_table(n.width, sub, cur_style)
+ end
+ end
+ elseif id == rule_t then
+ new_node, new_core = rule_to_table(n, sub, cur_style)
+ -- elseif id == disc_t then -- Uncommon, does not play nicely with math mode and no sensible mapping anyway
+ end -- The other possible ids are whatsit, penalty, adjust, ins, mark. Ignore them.
+ nonscript = nil
+ if core and new_core ~= space_like then
+ core = core == space_like and new_core or nil
+ end
+ if new_node then
+ if new_noad then
+ local space = last_noad and (cur_style >= 4 and spacing_table_script or spacing_table)[last_noad + 1][new_noad + 1] or 0
+ if assert(space) ~= 0 then
+ if new_core and new_core[0] == 'mo' then
+ new_core.lspace = space
+ elseif last_core and last_core[0] == 'mo' then
+ last_core.rspace = space
+ else
+ t[#t+1] = {[0] = 'mspace', width = space} -- TODO Move into operators whenever possible
+ end
+ end
+ last_noad, last_core = new_noad, new_core
+ elseif new_node[0] ~= 'mspace' or new_node.mathbackground then
+ last_core = nil
+ end
+ t[#t+1] = new_node
+ end
+ joining = new_joining
+ end
+ -- In TeX, groups are never space like, so we insert an artificial node instead.
+ -- This node should be ignored for most purposes
+ if core == space_like then
+ core = {[0] = 'mi', ['tex:ignore'] = 'true'}
+ result[#result+1] = core
+ end
+ if t[0] == 'mrow' and #t == 1 then
+ assert(t == result)
+ result = t[1]
+ end
+ local mathml_filter = props and props.mathml_filter
+ if mathml_filter then
+ return mathml_filter(result, core)
+ else
+ return result, core
+ end
+end
+
+local function register_remap(family, mapping)
+ family = family << 21
+ for from, to in next, mapping do
+ remap_lookup[family | from] = utf8.char(to)
+ end
+end
+
+local function to_math(root, style)
+ if root[0] == 'mrow' then
+ root[0] = 'math'
+ else
+ root = {[0] = 'math', root}
+ end
+ root.xmlns = 'http://www.w3.org/1998/Math/MathML'
+ root['xmlns:tex'] = 'http://typesetting.eu/2021/LuaMathML'
+ if style < 2 then
+ root.display = 'block'
+ end
+ return root
+end
+
+return {
+ register_family = register_remap,
+ process = function(head, style, families) return nodes_to_table(head, style or 2, families) end,
+ make_root = to_math,
+}
diff --git a/macros/luatex/latex/luamml/luamml-data-combining.lua b/macros/luatex/latex/luamml/luamml-data-combining.lua
new file mode 100644
index 0000000000..2083a3f654
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-data-combining.lua
@@ -0,0 +1,27 @@
+return {
+ ["\u{0332}"] = "\u{2212}",
+ ["\u{0330}"] = "\u{02DC}",
+ ["\u{0328}"] = "\u{02DB}",
+ ["\u{20EF}"] = "\u{2192}",
+ ["\u{032C}"] = "\u{02C7}",
+ ["\u{032E}"] = "\u{02D8}",
+ ["\u{0306}"] = "\u{02D8}",
+ ["\u{030B}"] = "\u{02DD}",
+ ["\u{0302}"] = "\u{02C6}",
+ ["\u{0324}"] = "\u{00A8}",
+ ["\u{0317}"] = "\u{00B4}",
+ ["\u{031F}"] = "\u{002B}",
+ ["\u{0307}"] = "\u{002E}",
+ ["\u{0305}"] = "\u{2212}",
+ ["\u{0303}"] = "\u{02DC}",
+ ["\u{0316}"] = "\u{0060}",
+ ["\u{0301}"] = "\u{00B4}",
+ ["\u{030C}"] = "\u{02C7}",
+ ["\u{0327}"] = "\u{00B8}",
+ ["\u{0308}"] = "\u{00A8}",
+ ["\u{0300}"] = "\u{0060}",
+ ["\u{0323}"] = "\u{002E}",
+ ["\u{0304}"] = "\u{00AF}",
+ ["\u{032D}"] = "\u{005E}",
+ ["\u{20D7}"] = "\u{2192}",
+}
diff --git a/macros/luatex/latex/luamml/luamml-data-stretchy.lua b/macros/luatex/latex/luamml/luamml-data-stretchy.lua
new file mode 100644
index 0000000000..72f84065c0
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-data-stretchy.lua
@@ -0,0 +1,500 @@
+return {
+ -- The following is
+ -- xq -r '.unicode.charlist.character[] | select(.["operator-dictionary"] | if type == "array" then .[] else . end | .["@stretchy"]) | .["@id"] | sub("U"; "") | "[\"\\u{\(.)}\"] = true," ' < unicode.xml
+["\u{00028}"] = true,
+["\u{00029}"] = true,
+["\u{0005B}"] = true,
+["\u{0005D}"] = true,
+["\u{0005E}"] = true,
+["\u{0005F}"] = true,
+["\u{0007B}"] = true,
+["\u{0007C}"] = true,
+["\u{0007C}"] = true,
+["\u{0007D}"] = true,
+["\u{0007E}"] = true,
+["\u{000AF}"] = true,
+["\u{002C6}"] = true,
+["\u{002C7}"] = true,
+["\u{002C9}"] = true,
+["\u{002CD}"] = true,
+["\u{002DC}"] = true,
+["\u{002F7}"] = true,
+["\u{00302}"] = true,
+["\u{02016}"] = true,
+["\u{02016}"] = true,
+["\u{0203E}"] = true,
+["\u{02190}"] = true,
+["\u{02191}"] = true,
+["\u{02192}"] = true,
+["\u{02193}"] = true,
+["\u{02194}"] = true,
+["\u{02195}"] = true,
+["\u{0219A}"] = true,
+["\u{0219B}"] = true,
+["\u{0219C}"] = true,
+["\u{0219D}"] = true,
+["\u{0219E}"] = true,
+["\u{0219F}"] = true,
+["\u{021A0}"] = true,
+["\u{021A1}"] = true,
+["\u{021A2}"] = true,
+["\u{021A3}"] = true,
+["\u{021A4}"] = true,
+["\u{021A5}"] = true,
+["\u{021A6}"] = true,
+["\u{021A7}"] = true,
+["\u{021A8}"] = true,
+["\u{021A9}"] = true,
+["\u{021AA}"] = true,
+["\u{021AB}"] = true,
+["\u{021AC}"] = true,
+["\u{021AD}"] = true,
+["\u{021AE}"] = true,
+["\u{021B0}"] = true,
+["\u{021B1}"] = true,
+["\u{021B2}"] = true,
+["\u{021B3}"] = true,
+["\u{021B4}"] = true,
+["\u{021B5}"] = true,
+["\u{021B9}"] = true,
+["\u{021BC}"] = true,
+["\u{021BD}"] = true,
+["\u{021BE}"] = true,
+["\u{021BF}"] = true,
+["\u{021C0}"] = true,
+["\u{021C1}"] = true,
+["\u{021C2}"] = true,
+["\u{021C3}"] = true,
+["\u{021C4}"] = true,
+["\u{021C5}"] = true,
+["\u{021C6}"] = true,
+["\u{021C7}"] = true,
+["\u{021C8}"] = true,
+["\u{021C9}"] = true,
+["\u{021CA}"] = true,
+["\u{021CB}"] = true,
+["\u{021CC}"] = true,
+["\u{021CD}"] = true,
+["\u{021CE}"] = true,
+["\u{021CF}"] = true,
+["\u{021D0}"] = true,
+["\u{021D1}"] = true,
+["\u{021D2}"] = true,
+["\u{021D3}"] = true,
+["\u{021D4}"] = true,
+["\u{021D5}"] = true,
+["\u{021DA}"] = true,
+["\u{021DB}"] = true,
+["\u{021DC}"] = true,
+["\u{021DD}"] = true,
+["\u{021DE}"] = true,
+["\u{021DF}"] = true,
+["\u{021E0}"] = true,
+["\u{021E1}"] = true,
+["\u{021E2}"] = true,
+["\u{021E3}"] = true,
+["\u{021E4}"] = true,
+["\u{021E5}"] = true,
+["\u{021E6}"] = true,
+["\u{021E7}"] = true,
+["\u{021E8}"] = true,
+["\u{021E9}"] = true,
+["\u{021EA}"] = true,
+["\u{021EB}"] = true,
+["\u{021EC}"] = true,
+["\u{021ED}"] = true,
+["\u{021EE}"] = true,
+["\u{021EF}"] = true,
+["\u{021F0}"] = true,
+["\u{021F3}"] = true,
+["\u{021F4}"] = true,
+["\u{021F5}"] = true,
+["\u{021F6}"] = true,
+["\u{021F7}"] = true,
+["\u{021F8}"] = true,
+["\u{021F9}"] = true,
+["\u{021FA}"] = true,
+["\u{021FB}"] = true,
+["\u{021FC}"] = true,
+["\u{021FD}"] = true,
+["\u{021FE}"] = true,
+["\u{021FF}"] = true,
+["\u{02308}"] = true,
+["\u{02309}"] = true,
+["\u{0230A}"] = true,
+["\u{0230B}"] = true,
+["\u{02322}"] = true,
+["\u{02323}"] = true,
+["\u{02329}"] = true,
+["\u{0232A}"] = true,
+["\u{023B4}"] = true,
+["\u{023B5}"] = true,
+["\u{023DC}"] = true,
+["\u{023DD}"] = true,
+["\u{023DE}"] = true,
+["\u{023DF}"] = true,
+["\u{023E0}"] = true,
+["\u{023E1}"] = true,
+["\u{02772}"] = true,
+["\u{02773}"] = true,
+["\u{02794}"] = true,
+["\u{02799}"] = true,
+["\u{0279B}"] = true,
+["\u{0279C}"] = true,
+["\u{0279D}"] = true,
+["\u{0279E}"] = true,
+["\u{0279F}"] = true,
+["\u{027A0}"] = true,
+["\u{027A1}"] = true,
+["\u{027A5}"] = true,
+["\u{027A6}"] = true,
+["\u{027A8}"] = true,
+["\u{027A9}"] = true,
+["\u{027AA}"] = true,
+["\u{027AB}"] = true,
+["\u{027AC}"] = true,
+["\u{027AD}"] = true,
+["\u{027AE}"] = true,
+["\u{027AF}"] = true,
+["\u{027B1}"] = true,
+["\u{027B3}"] = true,
+["\u{027B5}"] = true,
+["\u{027B8}"] = true,
+["\u{027BA}"] = true,
+["\u{027BB}"] = true,
+["\u{027BC}"] = true,
+["\u{027BD}"] = true,
+["\u{027BE}"] = true,
+["\u{027E6}"] = true,
+["\u{027E7}"] = true,
+["\u{027E8}"] = true,
+["\u{027E9}"] = true,
+["\u{027EA}"] = true,
+["\u{027EB}"] = true,
+["\u{027EC}"] = true,
+["\u{027ED}"] = true,
+["\u{027EE}"] = true,
+["\u{027EF}"] = true,
+["\u{027F0}"] = true,
+["\u{027F1}"] = true,
+["\u{027F4}"] = true,
+["\u{027F5}"] = true,
+["\u{027F6}"] = true,
+["\u{027F7}"] = true,
+["\u{027F8}"] = true,
+["\u{027F9}"] = true,
+["\u{027FA}"] = true,
+["\u{027FB}"] = true,
+["\u{027FC}"] = true,
+["\u{027FD}"] = true,
+["\u{027FE}"] = true,
+["\u{027FF}"] = true,
+["\u{02900}"] = true,
+["\u{02901}"] = true,
+["\u{02902}"] = true,
+["\u{02903}"] = true,
+["\u{02904}"] = true,
+["\u{02905}"] = true,
+["\u{02906}"] = true,
+["\u{02907}"] = true,
+["\u{02908}"] = true,
+["\u{02909}"] = true,
+["\u{0290A}"] = true,
+["\u{0290B}"] = true,
+["\u{0290C}"] = true,
+["\u{0290D}"] = true,
+["\u{0290E}"] = true,
+["\u{0290F}"] = true,
+["\u{02910}"] = true,
+["\u{02911}"] = true,
+["\u{02912}"] = true,
+["\u{02913}"] = true,
+["\u{02914}"] = true,
+["\u{02915}"] = true,
+["\u{02916}"] = true,
+["\u{02917}"] = true,
+["\u{02918}"] = true,
+["\u{02919}"] = true,
+["\u{0291A}"] = true,
+["\u{0291B}"] = true,
+["\u{0291C}"] = true,
+["\u{0291D}"] = true,
+["\u{0291E}"] = true,
+["\u{0291F}"] = true,
+["\u{02920}"] = true,
+["\u{02934}"] = true,
+["\u{02935}"] = true,
+["\u{02936}"] = true,
+["\u{02937}"] = true,
+["\u{02942}"] = true,
+["\u{02943}"] = true,
+["\u{02944}"] = true,
+["\u{02945}"] = true,
+["\u{02946}"] = true,
+["\u{02947}"] = true,
+["\u{02948}"] = true,
+["\u{02949}"] = true,
+["\u{0294A}"] = true,
+["\u{0294B}"] = true,
+["\u{0294C}"] = true,
+["\u{0294D}"] = true,
+["\u{0294E}"] = true,
+["\u{0294F}"] = true,
+["\u{02950}"] = true,
+["\u{02951}"] = true,
+["\u{02952}"] = true,
+["\u{02953}"] = true,
+["\u{02954}"] = true,
+["\u{02955}"] = true,
+["\u{02956}"] = true,
+["\u{02957}"] = true,
+["\u{02958}"] = true,
+["\u{02959}"] = true,
+["\u{0295A}"] = true,
+["\u{0295B}"] = true,
+["\u{0295C}"] = true,
+["\u{0295D}"] = true,
+["\u{0295E}"] = true,
+["\u{0295F}"] = true,
+["\u{02960}"] = true,
+["\u{02961}"] = true,
+["\u{02962}"] = true,
+["\u{02963}"] = true,
+["\u{02964}"] = true,
+["\u{02965}"] = true,
+["\u{02966}"] = true,
+["\u{02967}"] = true,
+["\u{02968}"] = true,
+["\u{02969}"] = true,
+["\u{0296A}"] = true,
+["\u{0296B}"] = true,
+["\u{0296C}"] = true,
+["\u{0296D}"] = true,
+["\u{0296E}"] = true,
+["\u{0296F}"] = true,
+["\u{02970}"] = true,
+["\u{02971}"] = true,
+["\u{02972}"] = true,
+["\u{02973}"] = true,
+["\u{02974}"] = true,
+["\u{02975}"] = true,
+["\u{0297C}"] = true,
+["\u{0297D}"] = true,
+["\u{0297E}"] = true,
+["\u{0297F}"] = true,
+["\u{02980}"] = true,
+["\u{02980}"] = true,
+["\u{02983}"] = true,
+["\u{02984}"] = true,
+["\u{02985}"] = true,
+["\u{02986}"] = true,
+["\u{02987}"] = true,
+["\u{02988}"] = true,
+["\u{02989}"] = true,
+["\u{0298A}"] = true,
+["\u{0298B}"] = true,
+["\u{0298C}"] = true,
+["\u{0298D}"] = true,
+["\u{0298E}"] = true,
+["\u{0298F}"] = true,
+["\u{02990}"] = true,
+["\u{02991}"] = true,
+["\u{02992}"] = true,
+["\u{02993}"] = true,
+["\u{02994}"] = true,
+["\u{02995}"] = true,
+["\u{02996}"] = true,
+["\u{02997}"] = true,
+["\u{02998}"] = true,
+["\u{02999}"] = true,
+["\u{02999}"] = true,
+["\u{029D8}"] = true,
+["\u{029D9}"] = true,
+["\u{029DA}"] = true,
+["\u{029DB}"] = true,
+["\u{029FC}"] = true,
+["\u{029FD}"] = true,
+["\u{02B04}"] = true,
+["\u{02B05}"] = true,
+["\u{02B06}"] = true,
+["\u{02B07}"] = true,
+["\u{02B0C}"] = true,
+["\u{02B0D}"] = true,
+["\u{02B0E}"] = true,
+["\u{02B0F}"] = true,
+["\u{02B10}"] = true,
+["\u{02B11}"] = true,
+["\u{02B30}"] = true,
+["\u{02B31}"] = true,
+["\u{02B32}"] = true,
+["\u{02B33}"] = true,
+["\u{02B34}"] = true,
+["\u{02B35}"] = true,
+["\u{02B36}"] = true,
+["\u{02B37}"] = true,
+["\u{02B38}"] = true,
+["\u{02B39}"] = true,
+["\u{02B3A}"] = true,
+["\u{02B3B}"] = true,
+["\u{02B3C}"] = true,
+["\u{02B3D}"] = true,
+["\u{02B3E}"] = true,
+["\u{02B40}"] = true,
+["\u{02B41}"] = true,
+["\u{02B42}"] = true,
+["\u{02B43}"] = true,
+["\u{02B44}"] = true,
+["\u{02B45}"] = true,
+["\u{02B46}"] = true,
+["\u{02B47}"] = true,
+["\u{02B48}"] = true,
+["\u{02B49}"] = true,
+["\u{02B4A}"] = true,
+["\u{02B4B}"] = true,
+["\u{02B4C}"] = true,
+["\u{02B60}"] = true,
+["\u{02B61}"] = true,
+["\u{02B62}"] = true,
+["\u{02B63}"] = true,
+["\u{02B64}"] = true,
+["\u{02B65}"] = true,
+["\u{02B6A}"] = true,
+["\u{02B6B}"] = true,
+["\u{02B6C}"] = true,
+["\u{02B6D}"] = true,
+["\u{02B70}"] = true,
+["\u{02B71}"] = true,
+["\u{02B72}"] = true,
+["\u{02B73}"] = true,
+["\u{02B7A}"] = true,
+["\u{02B7B}"] = true,
+["\u{02B7C}"] = true,
+["\u{02B7D}"] = true,
+["\u{02B80}"] = true,
+["\u{02B81}"] = true,
+["\u{02B82}"] = true,
+["\u{02B83}"] = true,
+["\u{02B84}"] = true,
+["\u{02B85}"] = true,
+["\u{02B86}"] = true,
+["\u{02B87}"] = true,
+["\u{02B95}"] = true,
+["\u{02BA0}"] = true,
+["\u{02BA1}"] = true,
+["\u{02BA2}"] = true,
+["\u{02BA3}"] = true,
+["\u{02BA4}"] = true,
+["\u{02BA5}"] = true,
+["\u{02BA6}"] = true,
+["\u{02BA7}"] = true,
+["\u{02BA8}"] = true,
+["\u{02BA9}"] = true,
+["\u{02BAA}"] = true,
+["\u{02BAB}"] = true,
+["\u{02BAC}"] = true,
+["\u{02BAD}"] = true,
+["\u{02BAE}"] = true,
+["\u{02BAF}"] = true,
+["\u{02BB8}"] = true,
+["\u{1EEF0}"] = true,
+["\u{1EEF1}"] = true,
+["\u{1F800}"] = true,
+["\u{1F801}"] = true,
+["\u{1F802}"] = true,
+["\u{1F803}"] = true,
+["\u{1F804}"] = true,
+["\u{1F805}"] = true,
+["\u{1F806}"] = true,
+["\u{1F807}"] = true,
+["\u{1F808}"] = true,
+["\u{1F809}"] = true,
+["\u{1F80A}"] = true,
+["\u{1F80B}"] = true,
+["\u{1F810}"] = true,
+["\u{1F811}"] = true,
+["\u{1F812}"] = true,
+["\u{1F813}"] = true,
+["\u{1F814}"] = true,
+["\u{1F815}"] = true,
+["\u{1F816}"] = true,
+["\u{1F817}"] = true,
+["\u{1F818}"] = true,
+["\u{1F819}"] = true,
+["\u{1F81A}"] = true,
+["\u{1F81B}"] = true,
+["\u{1F81C}"] = true,
+["\u{1F81D}"] = true,
+["\u{1F81E}"] = true,
+["\u{1F81F}"] = true,
+["\u{1F820}"] = true,
+["\u{1F821}"] = true,
+["\u{1F822}"] = true,
+["\u{1F823}"] = true,
+["\u{1F824}"] = true,
+["\u{1F825}"] = true,
+["\u{1F826}"] = true,
+["\u{1F827}"] = true,
+["\u{1F828}"] = true,
+["\u{1F829}"] = true,
+["\u{1F82A}"] = true,
+["\u{1F82B}"] = true,
+["\u{1F82C}"] = true,
+["\u{1F82D}"] = true,
+["\u{1F82E}"] = true,
+["\u{1F82F}"] = true,
+["\u{1F830}"] = true,
+["\u{1F831}"] = true,
+["\u{1F832}"] = true,
+["\u{1F833}"] = true,
+["\u{1F834}"] = true,
+["\u{1F835}"] = true,
+["\u{1F836}"] = true,
+["\u{1F837}"] = true,
+["\u{1F844}"] = true,
+["\u{1F845}"] = true,
+["\u{1F846}"] = true,
+["\u{1F847}"] = true,
+["\u{1F850}"] = true,
+["\u{1F851}"] = true,
+["\u{1F852}"] = true,
+["\u{1F853}"] = true,
+["\u{1F858}"] = true,
+["\u{1F859}"] = true,
+["\u{1F860}"] = true,
+["\u{1F861}"] = true,
+["\u{1F862}"] = true,
+["\u{1F863}"] = true,
+["\u{1F868}"] = true,
+["\u{1F869}"] = true,
+["\u{1F86A}"] = true,
+["\u{1F86B}"] = true,
+["\u{1F870}"] = true,
+["\u{1F871}"] = true,
+["\u{1F872}"] = true,
+["\u{1F873}"] = true,
+["\u{1F878}"] = true,
+["\u{1F879}"] = true,
+["\u{1F87A}"] = true,
+["\u{1F87B}"] = true,
+["\u{1F880}"] = true,
+["\u{1F881}"] = true,
+["\u{1F882}"] = true,
+["\u{1F883}"] = true,
+["\u{1F898}"] = true,
+["\u{1F899}"] = true,
+["\u{1F89A}"] = true,
+["\u{1F89B}"] = true,
+["\u{1F8A0}"] = true,
+["\u{1F8A1}"] = true,
+["\u{1F8A2}"] = true,
+["\u{1F8A3}"] = true,
+["\u{1F8A4}"] = true,
+["\u{1F8A5}"] = true,
+["\u{1F8A6}"] = true,
+["\u{1F8A7}"] = true,
+["\u{1F8A8}"] = true,
+["\u{1F8A9}"] = true,
+["\u{1F8AA}"] = true,
+["\u{1F8AB}"] = true,
+-- till here
+}
diff --git a/macros/luatex/latex/luamml/luamml-demo.sty b/macros/luatex/latex/luamml/luamml-demo.sty
new file mode 100644
index 0000000000..64e4e3ff7f
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-demo.sty
@@ -0,0 +1,82 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesExplPackage{luamml-demo}{2024-08-14}{v0.1.0}{Reasonable default definitions for luamml}
+
+\sys_if_engine_luatex:F {
+ \msg_new:nnn {luamml-demo} {pdftex-option-ignored} {Option~`#1'~is~being~ignored~in~pdfTeX~mode.}
+ \DeclareOption*{\msg_warning:nnx {luamml-demo} {pdftex-option-ignored} {\CurrentOption}}
+ \ProcessOptions\relax
+ \RequirePackage{luamml-pdf-demo}
+ \endinput
+}
+
+\RequirePackage{luamml}% Loading luamml is pretty much the point
+\RequirePackage{amsmath,array}% These are more or less expected in luamml especially for advanced constructs
+
+\AtBeginDocument{%
+ \@ifpackageloaded{unicode-math}{}{%
+ \RegisterFamilyMapping\symsymbols{oms}%
+ \RegisterFamilyMapping\symletters{oml}%
+ \RegisterFamilyMapping\symlargesymbols{omx}%
+ }
+}
+
+\bool_new:N \l__luamml_demo_structelem_bool
+
+\DeclareOption{tracing}{
+ \tracingmathml=2
+}
+\DeclareOption{structelem}{
+ \bool_set_true:N \l__luamml_demo_structelem_bool
+ \luamml_flag_structelem:
+}
+\DeclareOption{files}{
+ \int_new:N \g__luamml_demo_mathml_int
+ \luamml_set_filename:n {
+ \immediateassignment \int_gincr:N \g__luamml_demo_mathml_int
+ \jobname -formula- \int_use:N \g__luamml_demo_mathml_int .xml
+ }
+}
+\DeclareOption{l3build}{
+ \luamml_set_filename:n {
+ \jobname .mml
+ }
+ \luamml_begin_single_file:
+}
+\ProcessOptions\relax
+
+\cs_new_eq:NN \LuaMMLSetFilename \luamml_set_filename:n
+
+\cs_generate_variant:Nn \pdffile_filespec:nnn {ene}
+\int_new:N \g__luamml_demo_af_int
+\cs_new_protected:Npn \LuaMMLTagAF #1#2 {
+ \tag_mc_end_push:
+ \int_gincr:N \g__luamml_demo_af_int
+ \exp_args:Ne \pdf_object_new:nn{__luamml_demo_\int_use:N \g__luamml_demo_af_int}{dict}
+ \exp_args:Ne \tag_struct_begin:n{tag=Formula,AF=__luamml_demo_\int_use:N \g__luamml_demo_af_int,#1}
+ \bool_if:NF \l__luamml_demo_structelem_bool {
+ \tag_mc_begin:n{tag=Formula}
+ }
+ #2
+ \group_begin:
+ \pdfdict_put:nnn {l_pdffile/Filespec} {AFRelationship}{/Supplement}
+ \pdffile_filespec:ene
+ { __luamml_demo_ \int_use:N \g__luamml_demo_af_int }
+ { test.xml }
+ { \luamml_get_last_mathml_stream:e{}\c_space_tl 0~R}
+ \group_end:
+ \bool_if:NF \l__luamml_demo_structelem_bool {
+ \tag_mc_end:
+ }
+ \tag_struct_end:
+ \tag_mc_begin_pop:n{}
+}
+
+\NewDocumentCommand\AnnotateFormula{ o m m }{%
+ \IfValueTF{#1}{%
+ \luamml_annotate:nen{#1}%
+ }{
+ \luamml_annotate:en
+ }{#2}{#3}
+}
+
+\cs_set_eq:NN \WriteoutFormula \luamml_pdf_write:
diff --git a/macros/luatex/latex/luamml/luamml-legacy-mappings.lua b/macros/luatex/latex/luamml/luamml-legacy-mappings.lua
new file mode 100644
index 0000000000..6a56b70dbd
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-legacy-mappings.lua
@@ -0,0 +1,73 @@
+-- local remap_ot1 = {
+ -- 0x0393, 0x0394, 0x0398, 0x039B, 0x039E, 0x03A0, 0x03A3, 0x03A5,
+ -- 0x03A6, 0x03A8, 0x03A9, nil, nil, nil, nil, nil,
+-- }
+
+local remap_oml = { [0] =
+ -- Greek italic
+ 0x1D6E4, 0x1D6E5, 0x1D6E9, 0x1D6EC, 0x1D6EF, 0x1D6F1, 0x1D6F4, 0x1D6F6,
+ 0x1D6F7, 0x1D6F9, 0x1D6FA, 0x1D6FC, 0x1D6FD, 0x1D6FE, 0x1D6FF, 0x1D716,
+ 0x1D701, 0x1D702, 0x1D703, 0x1D704, 0x1D705, 0x1D706, 0x1D707, 0x1D708,
+ 0x1D709, 0x1D70B, 0x1D70C, 0x1D70E, 0x1D70F, 0x1D710, 0x1D719, 0x1D712,
+ 0x1D713, 0x1D714, 0x1D700, 0x1D717, 0x1D71B, 0x1D71A, 0x1D70D, 0x1D711,
+ -- Symbols. (The nils are hook parts)
+ 0x21BC, 0x21BD, 0x21C0, 0x21C1, nil, nil, 0x22BB, 0x22BC,
+ -- old style numerals (nobody should ever use these in math) and some punctuation
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, 0x2E, 0x2C, 0x3C, 0x2F, 0x3E, 0x226D,
+ -- letters filled up with symbols
+ 0x2202, 0x1D434, 0x1D435, 0x1D436, 0x1D437, 0x1D438, 0x1D439, 0x1D43A,
+ 0x1D43B, 0x1D43C, 0x1D43D, 0x1D43E, 0x1D43F, 0x1D440, 0x1D441, 0x1D442,
+ 0x1D443, 0x1D444, 0x1D445, 0x1D446, 0x1D447, 0x1D448, 0x1D449, 0x1D44A,
+ 0x1D44B, 0x1D44C, 0x1D44D, 0x266D, 0x266E, 0x266F, 0x2323, 0x2322,
+ 0x2113, 0x1D44E, 0x1D44F, 0x1D450, 0x1D451, 0x1D452, 0x1D453, 0x1D454,
+ 0x210E, 0x1D456, 0x1D457, 0x1D458, 0x1D459, 0x1D45A, 0x1D45B, 0x1D45C,
+ 0x1D45D, 0x1D45E, 0x1D45F, 0x1D460, 0x1D461, 0x1D462, 0x1D463, 0x1D464,
+ 0x1D465, 0x1D466, 0x1D467, 0x1D6A4, 0x1D6A5, 0x2118, 0x2192, nil,
+}
+
+-- Something fishy here. Starting with "3D the entries seem wrong
+local remap_oms = { [0] =
+ 0x2212, 0x22C5, 0xD7, 0x2A, 0xF7, 0x22C4, 0xB1, 0x2213,
+ 0x2295, 0x2296, 0x2297, 0x2298, 0x2299, 0x25CB, 0x2218, 0x2219,
+ 0x224D, 0x2261, 0x2286, 0x2287, 0x2264, 0x2265, 0x2AAF, 0x2AB0,
+ 0x223C, 0x2248, 0x2282, 0x2283, 0x226A, 0x226B, 0x227A, 0x227B,
+ 0x2190, 0x2192, 0x2191, 0x2193, 0x2194, 0x2197, 0x2198, 0x2243,
+ 0x21D0, 0x21D2, 0x21D1, 0x21D3, 0x21D4, 0x2196, 0x2199, 0x221D,
+ 0x2032, 0x221E, 0x2208, 0x220B, 0x25B3, 0x25BD, 0x0338, 0x21A6,
+ 0x2200, 0x2203, 0xAC, 0x2205, 0x211C, 0x2111, 0x22A4, 0x22A5,
+ 0x2135, 0x1D49C, 0x212C, 0x1D49E, 0x1D49F, 0x2130, 0x2131, 0x1D4A2,
+ 0x210B, 0x2110, 0x1D4A5, 0x1D4A6, 0x2112, 0x2133, 0x1D4A9, 0x1D4AA,
+ 0x1D4AB, 0x1D4AC, 0x211B, 0x1D4AE, 0x1D4AF, 0x1D4B0, 0x1D4B1, 0x1D4B2,
+ 0x1D4B3, 0x1D4B4, 0x1D4B5, 0x222A, 0x2229, 0x228E, 0x2227, 0x2228,
+ 0x22A2, 0x22A3, 0x230A, 0x230B, 0x2308, 0x2309, 0x7B, 0x7D,
+ 0x27E8, 0x27E9, 0x7C, 0x2016, 0x2195, 0x21D5, 0x5C, 0x2240,
+ 0x221A, 0x2A3F, 0x2207, 0x222B, 0x2294, 0x2293, 0x2291, 0x2292,
+ 0xA7, 0x2020, 0x2021, 0xB6, 0x2663, 0x2662, 0x2661, 0x2660,
+}
+
+-- We are not remapping symbols which are only used as large variants
+local remap_omx = { [0] =
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, 0x27EE, 0x27EF, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 0x2A06, nil,
+ 0x222E, nil, 0x2A00, nil, 0x2A01, nil, 0x2A02, nil,
+ 0x2211, 0x220F, 0x222B, 0x22C3, 0x22C2, 0x2A04, 0x22C0, 0x22C1,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ 0x2210, nil, 0x5E, 0x5E, 0x5E, 0x7E, 0x7E, 0x7E,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, 0x23B0, 0x23B1, nil, nil, nil, nil,
+}
+
+return {
+ oml = remap_oml,
+ oms = remap_oms,
+ omx = remap_omx,
+}
diff --git a/macros/luatex/latex/luamml/luamml-lr.lua b/macros/luatex/latex/luamml/luamml-lr.lua
new file mode 100644
index 0000000000..b78a7c3803
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-lr.lua
@@ -0,0 +1,71 @@
+local properties = node.get_properties_table()
+
+local function to_unicode(head, tail)
+ local result, subresult, i = {[0] = 'mtext'}, {}, 0
+ local characters, last_fid
+ local iter, state, n = node.traverse(head)
+ while true do
+ local id, sub n, id, sub = iter(state, n)
+ if not n or n == tail then break end
+ local props = properties[n]
+ if props and props.glyph_info then
+ i = i+1
+ result[i] = glyph_info
+ else
+ local char, fid = node.is_glyph(n)
+ if char then
+ if fid ~= last_fid then
+ local fontdir = font.getfont(fid)
+ characters, last_fid = fontdir.characters, fid
+ end
+ local uni = characters[char]
+ local uni = uni and uni.unicode
+ i = i+1
+ if uni then
+ if type(uni) == 'number' then
+ result[i] = utf.char(uni)
+ else
+ result[i] = utf.char(table.unpack(uni))
+ end
+ else
+ if char < 0x110000 then
+ result[i] = utf.char(char)
+ else
+ result[i] = '\u{FFFD}'
+ end
+ end
+ elseif node.id'math' == id then
+ if props then
+ local mml = props.saved_mathml_table or props.saved_mathml_core
+ if mml then
+ i = i+1
+ result[i] = mml
+ n = node.end_of_math(n)
+ end
+ end
+ -- elseif node.id'whatsit' == id then
+ -- TODO(?)
+ elseif node.id'glue' == id then
+ if n.width > 1000 then -- FIXME: Coordinate constant with tagpdf
+ i = i+1
+ result[i] = '\u{00A0}' -- non breaking space... There is no real reason why it has to be non breaking, except that MathML often ignore other spaces
+ end
+ elseif node.id'hlist' == id then
+ local nested = to_unicode(n.head)
+ table.move(nested, 1, #nested, i+1, result)
+ i = i+#nested
+ elseif node.id'vlist' == id then
+ i = i+1
+ result[i] = '\u{FFFD}'
+ elseif node.id'rule' == id then
+ if n.width ~= 0 then
+ i = i+1
+ result[i] = '\u{FFFD}'
+ end
+ end -- CHECK: Everything else can probably be ignored, otherwise shout at me
+ end
+ end
+ return result
+end
+
+return to_unicode
diff --git a/macros/luatex/latex/luamml/luamml-patches-amsmath.sty b/macros/luatex/latex/luamml/luamml-patches-amsmath.sty
new file mode 100644
index 0000000000..c0df5ed963
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-patches-amsmath.sty
@@ -0,0 +1,417 @@
+\ProvidesExplPackage {luamml-patches-amsmath} {2024-08-14} {0.1.0}
+ {Feel free to add a description here}
+
+\lua_now:n { require'luamml-amsmath' }
+
+% For all of these changes, the redefinitions appear huge.
+% But they are almost identical to the original and only
+% add luamml commands in appropriate places, so they would
+% mostly disappear if there were enough hooks in amsmath.
+
+% aligned and friends
+\cs_set:Npn \start@aligned #1#2 {
+ \RIfM@
+ \else
+ \nonmatherr@ { \begin { \@currenvir } }
+ \fi
+ \savecolumn@ % Assumption: called inside a group
+ \luamml_annotate:en {
+ core = false
+ } {
+ \alignedspace@left
+ }
+ \ams@start@box {#1} \bgroup
+ \maxfields@ #2 \relax
+ \ifnum \maxfields@ > \m@ne
+ \multiply \maxfields@ \tw@
+ \let \math@cr@@@ \math@cr@@@alignedat
+ \alignsep@ \z@skip
+ \else
+ \let \math@cr@@@ \math@cr@@@aligned
+ \alignsep@ \minalignsep
+ \fi
+ \Let@ \chardef \dspbrk@context \@ne
+ \default@tag
+ \spread@equation % no-op if already called
+ \global \column@ \z@
+ \ialign \bgroup
+ & \column@plus
+ \hfil
+ \strut@
+ $
+ \m@th
+ \displaystyle
+ {##}
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ $
+ \__luamml_amsmath_add_last_to_row:
+ \tabskip \z@skip
+ & \column@plus
+ $
+ \m@th
+ \displaystyle
+ {
+ {}
+ ##
+ }
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ $
+ \__luamml_amsmath_add_last_to_row:
+ \hfil
+ \tabskip\alignsep@
+ \crcr
+ \ams@return@opt@arg
+}
+
+\renewcommand \gathered [1] [c] {
+ \RIfM@
+ \else
+ \nonmatherr@ { \begin {gathered} }
+ \fi
+ \luamml_annotate:en {
+ core = false
+ } {
+ \alignedspace@left
+ }
+ \ams@start@box {#1} \bgroup
+ \Let@
+ \chardef \dspbrk@context \@ne
+ \restore@math@cr
+ \spread@equation
+ \ialign \bgroup
+ \hfil
+ \strut@
+ $
+ \m@th
+ \displaystyle
+ ##
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ $
+ \__luamml_amsmath_add_last_to_row:
+ \hfil
+ \crcr
+ \ams@return@opt@arg
+}
+
+\cs_set:Npn \endaligned {
+ \crcr
+ \__luamml_amsmath_save_inner_table:n \@currenvir
+ \egroup
+ \restorecolumn@
+ \egroup
+ \__luamml_amsmath_finalize_inner_table:
+}
+
+% gather
+\cs_set:Npn \gather@ #1 {
+ \ingather@true
+ \let \split \insplit@
+ \let \tag \tag@in@align
+ \let \label \label@in@display
+ \chardef \dspbrk@context \z@
+ \intertext@ \displ@y@ \Let@
+ \let \math@cr@@@ \math@cr@@@gather
+ \gmeasure@ {#1}
+ \global \shifttag@false
+ \tabskip \z@skip
+ \global \row@ \@ne
+ \halign to \displaywidth \bgroup
+ \strut@
+ \setboxz@h {
+ $
+ \m@th
+ \displaystyle
+ {##}
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ $
+ }
+ \__luamml_amsmath_add_box_to_row:
+ \calc@shift@gather
+ \set@gather@field
+ \tabskip\@centering
+ &
+ \setboxz@h {
+ \strut@
+ {##}
+ }
+ \dim_compare:nNnF {0pt} = {
+ \box_wd:N \c_zero_int
+ } {
+ \__luamml_amsmath_set_tag:
+ }
+ \place@tag@gather
+ \tabskip \iftagsleft@
+ \gdisplaywidth@
+ \else
+ \z@skip
+ \span \fi
+ \crcr
+ #1
+}
+
+\cs_new_eq:NN \__luamml_amsmath_original_gmeasure:n \gmeasure@
+\cs_set:Npn \gmeasure@ #1 {
+ \exp_last_unbraced:Nno
+ \use_ii_i:nn
+ { \luamml_flag_ignore: }
+ { \__luamml_amsmath_original_gmeasure:n {#1} }
+}
+
+\cs_set:Npn \endgather {
+ \math@cr
+ \black@ \totwidth@
+ \__luamml_amsmath_finalize_table:n {gather}
+ \egroup
+ $$
+ \ignorespacesafterend
+}
+
+% align and friends
+\cs_set:Npn \align@preamble {
+ &
+ \hfil
+ \strut@
+ \setboxz@h {
+ \@lign
+ $
+ \m@th
+ \displaystyle
+ {##}
+ \ifmeasuring@
+ \luamml_flag_ignore:
+ \else
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ \fi
+ $
+ }
+ \ifmeasuring@
+ \savefieldlength@
+ \else
+ \__luamml_amsmath_add_box_to_row:
+ \fi
+ \set@field
+ \tabskip\z@skip
+ &
+ \setboxz@h {
+ \@lign
+ $
+ \m@th
+ \displaystyle
+ {
+ {}
+ ##
+ }
+ \ifmeasuring@
+ \luamml_flag_ignore:
+ \else
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ \fi
+ $
+ }
+ \ifmeasuring@
+ \savefieldlength@
+ \else
+ \__luamml_amsmath_add_box_to_row:
+ \fi
+ \set@field
+ \hfil
+ \tabskip\alignsep@
+}
+
+\cs_set:Npn \math@cr@@@align {
+ \ifst@rred
+ \nonumber
+ \fi
+ \if@eqnsw
+ \global \tag@true
+ \fi
+ \global \advance \row@ \@ne
+ \add@amps \maxfields@
+ \omit
+ \kern -\alignsep@
+ \iftag@
+ \setboxz@h {
+ \@lign
+ \strut@
+ { \make@display@tag }
+ }
+ \place@tag
+ \__luamml_amsmath_set_tag:
+ \fi
+ \ifst@rred
+ \else
+ \global \@eqnswtrue
+ \fi
+ \global \lineht@ \z@
+ \cr
+}
+
+\cs_set:Npn \maketag@@@ #1 {
+ \hbox {
+ \m@th
+ \normalfont
+ #1
+ \__luamml_amsmath_save_tag:
+ }
+}
+
+\cs_set:Npn \endalign {
+ \math@cr
+ \black@ \totwidth@
+ \__luamml_amsmath_finalize_table:n {align}
+ \egroup
+ \ifingather@
+ \restorealignstate@
+ \egroup
+ \nonumber
+ \ifnum0=`{\fi\iffalse}\fi
+ \else
+ $$
+ \fi
+ \ignorespacesafterend
+}
+
+% For a more interesting one, let's consider multline:
+\cs_new_eq:NN \__luamml_amsmath_original_multline:n \multline@
+\cs_set:Npn \multline@ #1 {
+ \__luamml_amsmath_original_multline:n {
+ \ifmeasuring@ \else
+ \__luamml_amsmath_set_row_columnalign:n {left}
+ \fi
+ #1
+ \ifmeasuring@ \else
+ \__luamml_amsmath_set_row_columnalign:n {right}
+ \fi
+ }
+}
+
+\cs_new_eq:NN \__luamml_amsmath_original_mmeasure:n \mmeasure@
+\cs_set:Npn \mmeasure@ #1 {
+ \exp_last_unbraced:Nno
+ \use_ii_i:nn
+ { \luamml_flag_ignore: }
+ { \__luamml_amsmath_original_mmeasure:n {#1} }
+}
+
+% Luckily, {multline} uses \endmultline@math in exactly
+% the spot where we have to set the flag.
+% Less luckily, \endmultline@math sometimes get overwritten for the last line.
+% But that isn't a problem since we want special behavior there anyway.
+\cs_set:Npn \endmultline@math {
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ $
+ \__luamml_amsmath_add_last_to_row:
+}
+
+\cs_set:Npn \rendmultline@ {
+ \iftag@
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ $
+ \__luamml_amsmath_add_last_to_row:
+ \let \endmultline@math \relax
+ \ifshifttag@
+ \hskip \multlinegap
+ \llap {
+ \vtop {
+ \raise@tag
+ \normalbaselines
+ \setbox \@ne \null
+ \dp \@ne \lineht@
+ \box \@ne
+ \hbox {
+ \strut@
+ \make@display@tag
+ }
+ }
+ }
+ \else
+ \hskip \multlinetaggap
+ \make@display@tag
+ \fi
+ \__luamml_amsmath_set_tag:
+ \else
+ \hskip \multlinegap
+ \fi
+ \hfilneg
+ \math@cr
+ \__luamml_amsmath_finalize_table:n {multline}
+ \egroup
+ $$
+}
+
+\cs_set:Npn \lendmultline@ {
+ \hfilneg
+ \hskip\multlinegap
+ \math@cr
+ \__luamml_amsmath_finalize_table:n {multline}
+ \egroup
+ $$
+}
+
+% Finally some slightly different stuff.
+% While {matrix} is covered by {array}, we still have {smallmatrix}:
+\renewenvironment {smallmatrix} {
+ \luamml_annotate:en {
+ core = false
+ } {
+ \null
+ \,
+ }
+ \vcenter \bgroup
+ \Let@
+ \restore@math@cr
+ \default@tag
+ \baselineskip 6 \ex@
+ \lineskip 1.5 \ex@
+ \lineskiplimit \lineskip
+ \ialign \bgroup
+ \hfil
+ $
+ \m@th
+ \scriptstyle
+ ##
+ \luamml_flag_save:nn {} {mtd} % No \scriptsize here since we want to add the mstyle nodes
+ $
+ \__luamml_amsmath_add_last_to_row:
+ \hfil
+ &&
+ \thickspace
+ \hfil
+ $
+ \m@th
+ \scriptstyle
+ ##
+ \luamml_flag_save:nn {} {mtd} % No \scriptsize here since we want to add the mstyle nodes
+ $
+ \__luamml_amsmath_add_last_to_row:
+ \hfil
+ \crcr
+}{%
+ \crcr
+ \__luamml_amsmath_save_smallmatrix:
+ \egroup
+ \egroup
+ \__luamml_amsmath_finalize_inner_table:
+ \luamml_annotate:en {
+ core = false
+ } {
+ \,
+ }
+}
+
+% {cases} is defined by the kernel, but we patch the overwritten version by amsmath.
+\cs_set:Npn \env@cases {
+ \let \@ifnextchar \new@ifnextchar
+ \left \lbrace
+ \def \arraystretch {1.2}
+ \array {@{}l@{\quad \luamml_flag_ignore:}l@{}}
+}
+
+
+\cs_set:Npn \bBigg@ #1 #2 {
+ {
+ \ensuremath {
+ \Uvextensible height~#1 \big@size axis~exact~#2
+ }
+ }
+}
diff --git a/macros/luatex/latex/luamml/luamml-patches-amstext.sty b/macros/luatex/latex/luamml/luamml-patches-amstext.sty
new file mode 100644
index 0000000000..2217600716
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-patches-amstext.sty
@@ -0,0 +1,37 @@
+\ProvidesExplPackage {luamml-patches-amstext} {2024-08-14} {0.1.0}
+ {Feel free to add a description here}
+
+\int_new:N \g__luamml_amsmath_text_struct_int
+\cs_set:Npn \textdef@ #1 #2 #3 {
+ \int_if_odd:nTF { \int_div_truncate:nn { \l__luamml_flag_int } { 8 } } {
+ \int_gincr:N \g__luamml_amsmath_text_struct_int
+ \tag_struct_begin:n {
+ tag = mtext/mathml,
+ stash,
+ label = __luamml_amsmath_text_ \int_use:N \g__luamml_amsmath_text_struct_int
+ }
+ \tag_mc_begin:n {
+ tag = mtext
+ }
+ \AnnotateFormula {
+ nucleus = true,
+ struct = "__luamml_amsmath_text_ \int_use:N \g__luamml_amsmath_text_struct_int"
+ }
+ } {
+ \use:n
+ }
+ {
+ \hbox {
+ {
+ \everymath {#1}
+ \let \f@size #2
+ \selectfont
+ #3
+ }
+ }
+ }
+ \int_if_odd:nT { \int_div_truncate:nn { \l__luamml_flag_int } { 8 } } {
+ \tag_mc_end:
+ \tag_struct_end:
+ }
+}
diff --git a/macros/luatex/latex/luamml/luamml-patches-array.sty b/macros/luatex/latex/luamml/luamml-patches-array.sty
new file mode 100644
index 0000000000..ee40b2c489
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-patches-array.sty
@@ -0,0 +1,86 @@
+\ProvidesExplPackage {luamml-patches-array} {2024-08-14} {0.1.0}
+ {Feel free to add a description here}
+
+\lua_now:n { require'luamml-array' }
+
+\cs_set:Npn \@classz {
+ \@classx
+ \@tempcnta \count@
+ \prepnext@tok
+ \@addtopreamble {
+ \ifcase \@chnum
+ \hfil
+ \hskip 1sp
+ \d@llarbegin
+ \cs_if_eq:NNTF \d@llarbegin \begingroup {
+ \insert@column
+ \d@llarend
+ } {
+ \__luamml_array_init_col:
+ \insert@column
+ \luamml_flag_save:nn {} {mtd}
+ \d@llarend
+ \__luamml_array_finalize_col:w 0~
+ }
+ \do@row@strut
+ \hfil
+ \or
+ \hskip 1sp
+ \d@llarbegin
+ \cs_if_eq:NNTF \d@llarbegin \begingroup {
+ \insert@column
+ \d@llarend
+ } {
+ \__luamml_array_init_col:
+ \insert@column
+ \luamml_flag_save:nn {} {mtd}
+ \d@llarend
+ \__luamml_array_finalize_col:w 1~
+ }
+ \do@row@strut
+ \hfil
+ \or
+ \hfil
+ \hskip 1sp
+ \d@llarbegin
+ \cs_if_eq:NNTF \d@llarbegin \begingroup {
+ \insert@column
+ \d@llarend
+ } {
+ \__luamml_array_init_col:
+ \insert@column
+ \luamml_flag_save:nn {} {mtd}
+ \d@llarend
+ \__luamml_array_finalize_col:w 2~
+ }
+ \do@row@strut
+ \or
+ \setbox \ar@mcellbox \vbox \@startpbox { \@nextchar }
+ \insert@column
+ \@endpbox
+ \ar@align@mcell
+ \do@row@strut
+ \or
+ \vtop \@startpbox { \@nextchar }
+ \insert@column
+ \@endpbox
+ \do@row@strut
+ \or
+ \vbox \@startpbox { \@nextchar }
+ \insert@column
+ \@endpbox
+ \do@row@strut
+ \fi
+ }
+ \prepnext@tok
+}
+
+\cs_set:Npn \endarray {
+ \crcr
+ \__luamml_array_save_array:
+ \egroup
+ \egroup
+ \mode_if_math:T { \__luamml_array_finalize_array: }
+ \@arrayright
+ \gdef \@preamble {}
+}
diff --git a/macros/luatex/latex/luamml/luamml-patches-kernel.sty b/macros/luatex/latex/luamml/luamml-patches-kernel.sty
new file mode 100644
index 0000000000..fa3aaae0ec
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-patches-kernel.sty
@@ -0,0 +1,63 @@
+\ProvidesExplPackage {luamml-patches-kernel} {2024-08-14} {0.1.0}
+ {Feel free to add a description here}
+
+\cs_new:Npn \__luamml_kernel_phantom:nnn #1#2#3 {
+ \setbox \z@ = \hbox {
+ $
+ \m@th
+ #2
+ {#3}
+ \luamml_flag_save:nNn {mathphant_#1} #2 {mphantom}
+ \luamml_pdf_write:
+ $
+ }
+ \luamml_annotate:nen {1} {
+ nucleus = true,
+ core = {[0] = 'mpadded',
+ \ifh@\else
+ width = 0,
+ \fi
+ \ifv@\else
+ height = 0, depth = 0,
+ \fi
+ data.mathml.mathphant_#1,
+ }
+ } {
+ \finph@nt
+ }
+}
+\cs_generate_variant:Nn \__luamml_kernel_phantom:nnn {V}
+
+\int_new:N \g__luamml_kernel_phantom_int
+\cs_set:Npn \mathph@nt {
+ \int_gincr:N \g__luamml_kernel_phantom_int
+ \__luamml_kernel_phantom:Vnn \g__luamml_kernel_phantom_int
+}
+
+\@ifpackageloaded {unicode-math} {} {
+ \cs_new:Npn \__luamml_kernel_define_character:Nnn #1#2#3 {
+ \cs_set:cpx { \cs_to_str:N #1 ~ } {
+ \luamml_annotate:nen {#2} {
+ nucleus = true, core = {[0] = 'mi', '\string\u{#3}'},
+ } {
+ \exp_not:v { \cs_to_str:N #1 ~ }
+ }
+ }
+ }
+
+ \__luamml_kernel_define_character:Nnn \models {3} {22a7}
+ \__luamml_kernel_define_character:Nnn \hookrightarrow {3} {21aa}
+ \__luamml_kernel_define_character:Nnn \hookleftarrow {3} {21a9}
+ \__luamml_kernel_define_character:Nnn \bowtie {3} {22c8}
+ \__luamml_kernel_define_character:Nnn \Longrightarrow {3} {27f9}
+ \__luamml_kernel_define_character:Nnn \longrightarrow {3} {27f6}
+ \__luamml_kernel_define_character:Nnn \Longleftarrow {3} {27f8}
+ \__luamml_kernel_define_character:Nnn \longleftarrow {3} {27f5}
+ \__luamml_kernel_define_character:Nnn \Longleftrightarrow {3} {27fa}
+ \__luamml_kernel_define_character:Nnn \longleftrightarrow {3} {27f7}
+ \__luamml_kernel_define_character:Nnn \longmapsto {4} {27fc}
+}
+
+\IfFileLoadedT {latex-lab-math.ltx} {
+ \RequirePackage{luamml-patches-lab-math}
+}
diff --git a/macros/luatex/latex/luamml/luamml-patches-lab-math.sty b/macros/luatex/latex/luamml/luamml-patches-lab-math.sty
new file mode 100644
index 0000000000..e2d12c3c73
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-patches-lab-math.sty
@@ -0,0 +1,20 @@
+\ProvidesExplPackage {luamml-patches-lab-math} {2024-08-14} {0.1.0}
+ {Feel free to add a description here}
+
+\AddToHook{begindocument} {
+ \cs_set:Npn \common@align@ending {
+ \math@cr
+ \black@ \totwidth@
+ \__luamml_amsmath_finalize_table:n {align}
+ \egroup
+ \ifingather@
+ \restorealignstate@
+ \egroup
+ \nonumber
+ \ifnum0=`{\fi\iffalse}\fi
+ \else
+ $$
+ \fi
+ \ignorespacesafterend
+ }
+}
diff --git a/macros/luatex/latex/luamml/luamml-pdf-demo.sty b/macros/luatex/latex/luamml/luamml-pdf-demo.sty
new file mode 100644
index 0000000000..fe63814d05
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-pdf-demo.sty
@@ -0,0 +1,50 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesExplPackage{luamml-pdf-demo}{2024-08-14}{v0.1.0}{Reasonable default definitions for luamml-pdf}
+
+\RequirePackage{luamml-pdf}% Loading luamml-pdf is pretty much the point
+% \RequirePackage{amsmath,array}% May come back if the patches get ported
+
+% Delay family mappings to allow for replacements
+\AddToHook{begindocument/before}{%
+ \@ifpackageloaded{unicode-math}{}{%
+ \RegisterFamilyMapping\symsymbols{oms}%
+ \RegisterFamilyMapping\symletters{oml}%
+ \RegisterFamilyMapping\symlargesymbols{omx}%
+ }
+}
+
+\cs_new_protected:Npn \LuaMMLSetFilename #1 {}
+
+% TODO.
+% \cs_generate_variant:Nn \pdffile_filespec:nnn {ene}
+% \int_new:N \g__luamml_demo_af_int
+% \cs_new_protected:Npn \LuaMMLTagAF #1#2 {
+% \int_gincr:N \g__luamml_demo_af_int
+% \exp_args:Ne \pdf_object_new:nn{__luamml_demo_\int_use:N \g__luamml_demo_af_int}{dict}
+% \exp_args:Ne \tagstructbegin{tag=Formula,AF=__luamml_demo_\int_use:N \g__luamml_demo_af_int,#1}
+% \bool_if:NF \l__luamml_demo_structelem_bool {
+% \tagmcbegin{tag=Formula}
+% }
+% #2
+% \group_begin:
+% \pdfdict_put:nnn {l_pdffile/Filespec} {AFRelationship}{/Supplement}
+% \pdffile_filespec:ene
+% { __luamml_demo_ \int_use:N \g__luamml_demo_af_int }
+% { test.xml }
+% { \luamml_get_last_mathml_stream:e{}\c_space_tl 0~R}
+% \group_end:
+% \bool_if:NF \l__luamml_demo_structelem_bool {
+% \tagmcend
+% }
+% \tagstructend
+% }
+
+\NewDocumentCommand\AnnotateFormula{ o m m }{%
+ \IfValueTF{#1}{%
+ \luamml_annotate:nen{#1}%
+ }{
+ \luamml_annotate:en
+ }{#2}{#3}
+}
+
+\cs_set_eq:NN \WriteoutFormula \luamml_pdf_write:
diff --git a/macros/luatex/latex/luamml/luamml-structelemwriter.lua b/macros/luatex/latex/luamml/luamml-structelemwriter.lua
new file mode 100644
index 0000000000..eb266a1e9f
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-structelemwriter.lua
@@ -0,0 +1,105 @@
+local struct_begin = token.create'tag_struct_begin:n'
+local struct_use = token.create'tag_struct_use:n'
+local struct_end = token.create'tag_struct_end:'
+
+local mc_begin = token.create'tag_mc_begin:n'
+local mc_end = token.create'tag_mc_end:'
+
+local function escape_name(name)
+ return name
+end
+
+local function escape_string(str)
+ return str
+end
+
+local mathml_ns_obj
+local function get_mathml_ns_obj()
+ mathml_ns_obj = mathml_ns_obj or token.create'c__pdf_backend_object_tag/NS/mathml_int'.index
+ return mathml_ns_obj
+end
+
+local attribute_counter = 0
+local attributes = setmetatable({}, {__index = function(t, k)
+ attribute_counter = attribute_counter + 1
+ local attr_name = string.format('luamml_attr_%i', attribute_counter)
+ t[k] = attr_name
+ tex.runtoks(function()
+ tex.sprint(string.format('\\tagpdfsetup{newattribute={%s}{/O/NSO/NS %i 0 R',
+ attr_name, mathml_ns_obj or get_mathml_ns_obj()))
+ -- tex.sprint(string.format('\\tagpdfsetup{newattribute={%s}{/O/MathML-3',
+ -- attr_name))
+ tex.cprint(12, k)
+ tex.sprint'}}'
+ end)
+ return attr_name
+end})
+
+local mc_type = luatexbase.attributes.g__tag_mc_type_attr
+local mc_cnt = luatexbase.attributes.g__tag_mc_cnt_attr
+-- print('!!!', mc_type, mc_cnt)
+
+local stash_cnt = 0
+local attrs = {}
+local function write_elem(tree, stash)
+ if tree[':struct'] then
+ return tex.runtoks(function()
+ return tex.sprint(struct_use, '{', tree[':struct'], '}')
+ end)
+ end
+ if not tree[0] then print('ERR', require'inspect'(tree)) end
+ local i = 0
+ for attr, val in next, tree do if type(attr) == 'string' and not string.find(attr, ':') and attr ~= 'xmlns' then
+ -- for attr, val in next, tree do if type(attr) == 'string' and string.byte(attr) ~= 0x3A then
+ i = i + 1
+ attrs[i] = string.format('/%s(%s)', escape_name(attr), escape_string(val))
+ end end
+ table.sort(attrs)
+
+ if stash then
+ stash_cnt = stash_cnt + 1
+ stash = '__luamml_stashed_' .. stash_cnt
+ tree[':struct'] = stash
+ stash = ', stash, label = ' .. stash
+ end
+
+ local attr_flag = i ~= 0 and ', attribute=' .. attributes[table.concat(attrs)]
+ tex.sprint(struct_begin, '{tag=' .. tree[0] .. '/mathml')
+ if stash then tex.sprint(stash) end
+ if attr_flag then tex.sprint(attr_flag) end
+ if tree[':actual'] then
+ tex.sprint(', actualtext = {')
+ tex.cprint(12, tree[':actual'])
+ tex.sprint'}'
+ end
+ tex.sprint'}'
+ for j = 1, i do attrs[j] = nil end
+
+ if tree[':nodes'] then
+ local n = tree[':nodes']
+ tex.runtoks(function()
+ tex.sprint{mc_begin, string.format('{tag=%s}', tree[0])}
+ -- NOTE: This will also flush all previous sprint's... That's often annoying, but in this case actually intentional.
+ end)
+ local mct, mcc = tex.attribute[mc_type], tex.attribute[mc_cnt]
+ for i = 1, #n do
+ node.set_attribute(n[i], mc_type, mct)
+ node.set_attribute(n[i], mc_cnt, mcc)
+ end
+ tex.runtoks(function()
+ tex.sprint(mc_end)
+ end)
+ end
+ for _, elem in ipairs(tree) do
+ if type(elem) ~= 'string' then
+ write_elem(elem)
+ end
+ end
+ tex.runtoks(function()
+ tex.sprint(struct_end)
+ end)
+end
+
+return function(element, stash)
+ return write_elem(element, stash)
+end
diff --git a/macros/luatex/latex/luamml/luamml-table.lua b/macros/luatex/latex/luamml/luamml-table.lua
new file mode 100644
index 0000000000..8b703953f8
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-table.lua
@@ -0,0 +1,110 @@
+local write_xml = require'luamml-xmlwriter'
+local make_root = require'luamml-convert'.make_root
+local save_result = require'luamml-tex'.save_result
+
+local properties = node.get_properties_table()
+
+local glue_id = node.id'glue'
+local tabskip_sub = 12
+assert(node.subtypes'glue'[tabskip_sub] == 'tabskip')
+
+local function store_get_row()
+ local row_temp
+ for i=tex.nest.ptr-1, 0, -1 do
+ local head = tex.nest[i].head
+ local glue = head.next
+ if glue and glue.id == glue_id and glue.subtype == tabskip_sub then
+ row_temp = head
+ break
+ end
+ end
+ if not row_temp then
+ error[[luamml_table's store function called outside of table]]
+ end
+ local props = properties[row_temp]
+ if not props then
+ props = {}
+ properties[row_temp] = props
+ end
+ local mml_row = props.mathml_row
+ if not mml_row then
+ mml_row = {[0] = 'mtr'}
+ props.mathml_row = mml_row
+ end
+ return mml_row
+end
+
+local function store_column_xml(mml, display)
+ if mml[0] ~= 'mtd' then
+ if display and mml[0] == 'mstyle' and mml.displaystyle == true then
+ mml[0], mml.displaystyle, mml.scriptlevel = 'mtd', nil, nil
+ else
+ if display and mml[0] ~= 'mstyle' then
+ mml = {[0] = 'mstyle', displaystyle = false, mml}
+ end
+ mml = {[0] = 'mtd', mml}
+ end
+ end
+ table.insert(store_get_row(), mml)
+ return mml
+end
+
+local function store_column(startmath)
+ local props = properties[startmath]
+ if not props then return end
+ local mml = props.saved_mathml_table or props.saved_mathml_core
+ if mml then return store_column_xml(mml) end
+end
+
+local function store_tag(xml)
+ local mml_row = store_get_row()
+ mml_row[0] = 'mlabeledtr'
+ table.insert(mml_row, 1, xml)
+ last_tag = nil
+end
+
+local function set_row_attribute(name, value)
+ local mml_row = store_get_row()
+ mml_row[name] = value
+end
+
+luatexbase.add_to_callback('hpack_filter', function(_, group)
+ if group ~= 'fin_row' then return true end
+
+ local temp = tex.nest.top.head
+ local props = properties[temp]
+ if not props then return true end
+ local mml_row = props.mathml_row
+ if not mml_row then return true end
+ props.mathml_row = nil
+
+ props = properties[tex.lists.align_head]
+ if not props then
+ props = {}
+ properties[tex.lists.align_head] = props
+ end
+ local mml_table = props.mathml_table_node_table
+ if not mml_table then
+ mml_table = {[0] = 'mtable'}
+ props.mathml_table_node_table = mml_table
+ end
+ table.insert(mml_table, mml_row)
+ return true
+end, 'mathml amsmath processing')
+
+local function get_table()
+ -- TODO: Error handling etc
+ local props = properties[tex.lists.align_head]
+ if not props then return end
+ local mml_table = props.mathml_table_node_table
+ props.mathml_table_node_table = nil
+ return mml_table
+end
+
+return {
+ store_column = store_column,
+ store_column_xml = store_column_xml,
+ store_tag = store_tag,
+ set_row_attribute = set_row_attribute,
+ get_table = get_table,
+}
diff --git a/macros/luatex/latex/luamml/luamml-tex-annotate.lua b/macros/luatex/latex/luamml/luamml-tex-annotate.lua
new file mode 100644
index 0000000000..4b22374ec2
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-tex-annotate.lua
@@ -0,0 +1,119 @@
+local nest = tex.nest
+
+local properties = node.get_properties_table()
+
+local mark_environment = {
+ data = {
+ },
+}
+
+local function annotate()
+ local annotation, err = load( 'return {'
+ .. token.scan_argument()
+ .. '}', nil, 't', mark_environment)
+ if not annotation then
+ tex.error('Error while parsing LuaMML annotation', {err})
+ return 0
+ end
+ annotation = annotation()
+ local nesting = nest.top
+ local props = properties[nesting.head]
+ local current = props and props.luamml__annotate_context
+ if current then
+ current, props.luamml__annotate_context = current.head, current.prev
+ else
+ tex.error('Mismatched LuaMML annotation',
+ {'Something odd happened. Maybe you forgot braces around an annotated symbol in a subscript or superscript?'})
+ return 0
+ end
+ local after = nesting.tail
+ local count, offset = 0, annotation.offset
+ local marked
+ if current == after then
+ tex.error'Empty LuaMML annotation'
+ else
+ repeat
+ current = current.next
+ count = count + 1
+ if count == offset then
+ marked = current
+ elseif offset or current ~= after then
+ local props = properties[current]
+ if not props then
+ props = {}
+ properties[current] = props
+ end
+ props.mathml_table, props.mathml_core = nil, false
+ end
+ until current == after
+ if offset and not marked then
+ tex.error'Invalid offset in LuaMML annotation'
+ end
+ marked = marked or current
+ if annotation.nucleus then
+ marked = marked.nucleus
+ end
+ if marked then
+ local props = properties[marked]
+ if not props then
+ props = {}
+ properties[marked] = props
+ end
+ if annotation.core then
+ props.mathml_core = annotation.core
+ end
+ if annotation.struct then
+ local saved = props.mathml_filter
+ local struct = annotation.struct
+ function props.mathml_filter(mml, core)
+ mml[':struct'] = struct
+ if saved then
+ return saved(mml, core)
+ else
+ return mml, core
+ end
+ end
+ end
+ else
+ tex.error'Unable to annotate nucleus of node without nucleus'
+ end
+ end
+ return count
+end
+
+local funcid = luatexbase.new_luafunction'__luamml_annotate_begin:'
+token.set_lua('__luamml_annotate_begin:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ local top = nest.top
+ local temp = top.head
+ local props = properties[temp]
+ if not props then
+ props = {}
+ properties[temp] = props
+ end
+ props.luamml__annotate_context = {
+ prev = props.luamml__annotate_context,
+ head = top.tail,
+ }
+end
+
+funcid = luatexbase.new_luafunction'__luamml_annotate_end:we'
+token.set_lua('__luamml_annotate_end:we', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ local count = token.scan_int()
+ local real_count = annotate()
+ if count ~= real_count then
+ tex.error('Incorrect count in LuaMML annotation', {
+ 'A LuaMML annotation was discovered with an explicit count \z
+ which was not the same as the number of top-level nodes annotated.',
+ string.format('This can be fixed by changing the supplied count from %i to %i \z
+ or by omitting the count value entirely.', count, real_count)
+ })
+ end
+end
+
+funcid = luatexbase.new_luafunction'__luamml_annotate_end:e'
+token.set_lua('__luamml_annotate_end:e', funcid, 'protected')
+lua.get_functions_table()[funcid] = annotate
+
+return mark_environment
diff --git a/macros/luatex/latex/luamml/luamml-tex.lua b/macros/luatex/latex/luamml/luamml-tex.lua
new file mode 100644
index 0000000000..4182fbb801
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-tex.lua
@@ -0,0 +1,232 @@
+local mlist_to_mml = require'luamml-convert'
+local process_mlist = mlist_to_mml.process
+local make_root = mlist_to_mml.make_root
+local register_family = mlist_to_mml.register_family
+
+local mappings = require'luamml-legacy-mappings'
+local write_xml = require'luamml-xmlwriter'
+local write_struct = require'luamml-structelemwriter'
+
+local filename_token = token.create'l__luamml_filename_tl'
+local label_token = token.create'l__luamml_label_tl'
+local left_brace = token.new(string.byte'{', 1)
+local right_brace = token.new(string.byte'}', 2)
+
+local output_hook_token
+local global_text_families = {}
+local text_families_meta = {__index = function(t, fam)
+ if fam == nil then return nil end
+ local assignment = global_text_families[fam]
+ if assignment == nil then
+ local fid = node.family_font(fam)
+ local fontdir = font.getfont(fid)
+ if not fontdir then
+ -- FIXME(?): If there is no font...
+ error'Please load your fonts?!?'
+ end
+ assignment = not (fontdir.MathConstants and next(fontdir.MathConstants))
+ end
+ t[fam] = assignment
+ return assignment
+end}
+
+local properties = node.get_properties_table()
+local mmode, hmode, vmode do
+ local result, input = {}, tex.getmodevalues()
+ for k,v in next, tex.getmodevalues() do
+ if v == 'math' then mmode = k
+ elseif v == 'horizontal' then hmode = k
+ elseif v == 'vertical' then vmode = k
+ else assert(v == 'unset')
+ end
+ end
+ assert(mmode and hmode and vmode)
+end
+
+local funcid = luatexbase.new_luafunction'RegisterFamilyMapping'
+token.set_lua('RegisterFamilyMapping', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ local fam = token.scan_int()
+ local mapping = token.scan_string()
+ if mappings[mapping] then
+ register_family(fam, mappings[mapping])
+ if global_text_families[fam] == nil then
+ global_text_families[fam] = false
+ end
+ else
+ tex.error(string.format('Unknown font mapping %q', mapping))
+ end
+end
+
+local funcid = luatexbase.new_luafunction'RegisterFamilyMapping'
+token.set_lua('RegisterTextFamily', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ local fam = token.scan_int()
+ local _kind = token.scan_string()
+ global_text_families[fam] = true
+end
+
+local function shallow_copy(t)
+ local tt = {}
+ for k,v in next, t do
+ tt[k] = v
+ end
+ return tt
+end
+
+-- Possible flag values:
+-- 0: Skip
+-- 1: Generate MathML, but only save it for later usage in startmath node
+-- 3: Normal (This is the only supported one in display mode)
+-- 11: Generate MathML structure elements
+--
+-- More generally, flags is a bitfield with the defined bits:
+-- Bit 5-7: See Bit 4
+-- Bit 4: Overwrite mathstyle with bit 9-11
+-- Bit 3: Generate MathML structure elements
+-- Bit 2: Change root element name for saved element
+-- Bit 1: Save MathML as a fully converted formula
+-- Bit 0: Save MathML for later usage in startmath node. Ignored for display math.
+
+local out_file
+
+local mlist_result
+
+local undefined_cmd = token.command_id'undefined_cs'
+local call_cmd = token.command_id'call'
+
+local labelled_mathml = {}
+
+local function save_result(xml, display, structelem)
+ mlist_result = make_root(xml, display and 0 or 2)
+ if out_file then
+ out_file:write(write_xml(mlist_result, tex.count.l__luamml_pretty_int & 1 == 1):sub(2) .. '\n')
+ else
+ token.put_next(filename_token)
+ local filename = token.scan_argument()
+ if filename ~= '' then
+ assert(io.open(filename, 'w'))
+ :write(write_xml(mlist_result, tex.count.l__luamml_pretty_int & 1 == 1):sub(2) .. '\n')
+ :close()
+ end
+ end
+ local tracing = tex.count.tracingmathml > 1
+ if tracing then
+ texio.write_nl(write_xml(mlist_result, tex.count.l__luamml_pretty_int & 2 == 2) .. '\n')
+ end
+ if output_hook_token then
+ tex.runtoks(function()
+ tex.sprint(-2, output_hook_token, left_brace, write_xml(mlist_result, tex.count.l__luamml_pretty_int & 4 == 4), right_brace)
+ end)
+ end
+ if tex.count.l__luamml_flag_int & 8 == 8 then
+ write_struct(mlist_result)
+ end
+ return mlist_result
+end
+
+luatexbase.add_to_callback('pre_mlist_to_hlist_filter', function(mlist, style)
+ if tex.nest.top.mode == mmode then -- This is a equation label generated with \eqno
+ return true
+ end
+ local flag = tex.count.l__luamml_flag_int
+ if flag & 3 == 0 then
+ return true
+ end
+ local display = style == 'display'
+ local startmath = tex.nest.top.tail -- Must come before any write_struct calls which adds nodes
+ style = flag & 16 == 16 and flag>>5 & 0x7 or display and 0 or 2
+ local xml, core = process_mlist(mlist, style, setmetatable({}, text_families_meta))
+ if flag & 2 == 2 then
+ xml = save_result(shallow_copy(xml), display)
+ end
+ if flag & 4 == 4 then
+ local element_type = token.get_macro'l__luamml_root_tl'
+ if element_type ~= 'mrow' then
+ if xml[0] == 'mrow' then
+ xml[0] = element_type
+ else
+ xml = {[0] = element_type, xml}
+ end
+ end
+ end
+ if not display and flag & 1 == 1 then
+ local props = properties[startmath]
+ if not props then
+ props = {}
+ properties[startmath] = props
+ end
+ props.saved_mathml_table, props.saved_mathml_core = xml, core
+ token.put_next(label_token)
+ local label = token.scan_argument()
+ if label ~= '' then
+ if labelled_mathml[label] then
+ tex.error('MathML Label already in use', {
+ 'A MathML expression has a label which is already used by another \z
+ formula. If you do not want to label this formula with a unique \z
+ label, set a empty label instead.'})
+ else
+ labelled_mathml[label] = xml
+ end
+ end
+ if flag & 10 == 8 then
+ write_struct(xml, true) -- This modifies xml in-place to reference the struture element
+ end
+ end
+ return true
+end, 'dump_list')
+
+funcid = luatexbase.new_luafunction'luamml_get_last_mathml_stream:e'
+token.set_lua('luamml_get_last_mathml_stream:e', funcid)
+lua.get_functions_table()[funcid] = function()
+ if not mlist_result then
+ tex.error('No current MathML data', {
+ "I was asked to provide MathML code for the last formula, but there weren't any new formulas since you last asked."
+ })
+ end
+ local mml = write_xml(mlist_result, tex.count.l__luamml_pretty_int & 8 == 8)
+ if tex.count.tracingmathml == 1 then
+ texio.write_nl(mml .. '\n')
+ end
+ tex.sprint(-2, tostring(pdf.immediateobj('stream', mml, '/Subtype/application#2Fmathml+xml' .. token.scan_argument(true))))
+ mlist_result = nil
+end
+
+funcid = luatexbase.new_luafunction'luamml_begin_single_file:'
+token.set_lua('luamml_begin_single_file:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ token.put_next(filename_token)
+ local filename = token.scan_argument()
+ if filename ~= '' then
+ out_file = assert(io.open(filename, 'w'))
+ end
+end
+
+funcid = luatexbase.new_luafunction'luamml_end_single_file:'
+token.set_lua('luamml_end_single_file:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ if out_file then
+ out_file:close()
+ out_file = nil
+ end
+end
+
+funcid = luatexbase.new_luafunction'luamml_register_output_hook:N'
+token.set_lua('__luamml_register_output_hook:N', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ output_hook_token = token.get_next()
+end
+
+funcid = luatexbase.new_luafunction'luamml_disable_output_hook:'
+token.set_lua('__luamml_disable_output_hook:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ output_hook_token = nil
+end
+
+local annotate_context = require'luamml-tex-annotate'
+annotate_context.data.mathml = labelled_mathml
+
+return {
+ save_result = save_result,
+ labelled = labelled_mathml,
+}
diff --git a/macros/luatex/latex/luamml/luamml-xmlwriter.lua b/macros/luatex/latex/luamml/luamml-xmlwriter.lua
new file mode 100644
index 0000000000..a2b5abefbf
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-xmlwriter.lua
@@ -0,0 +1,58 @@
+-- FIXME: Not sure yet if this will be needed
+local function escape_name(name)
+ return name
+end
+
+local escapes = {
+ ['"'] = "&quot;",
+ ['<'] = "&lt;",
+ ['>'] = "&gt;",
+ ['&'] = "&amp;",
+}
+local function escape_text(text)
+ return string.gsub(string.gsub(tostring(text), '["<>&]', escapes), '[\x00-\x08\x0B\x0C\x0E-\x1F]', function(x)
+ return string.format('^^%02x', string.byte(x))
+ end)
+end
+
+local attrs = {}
+local function write_elem(tree, indent)
+ if not tree[0] then print('ERR', require'inspect'(tree)) end
+ local escaped_name = escape_name(assert(tree[0]))
+ local i = 0
+ for attr, val in next, tree do if type(attr) == 'string' then
+ if not string.find(attr, ':', 1, true) then
+ -- if string.byte(attr) ~= 0x3A then
+ i = i + 1
+ attrs[i] = string.format(' %s="%s"', escape_name(attr), escape_text(val))
+ end
+ end end
+ table.sort(attrs)
+ local out = string.format('%s<%s%s', indent or '', escaped_name, table.concat(attrs))
+ for j = 1, i do attrs[j] = nil end
+ if not tree[1] then
+ return out .. '/>'
+ end
+ out = out .. '>'
+ local inner_indent = indent and indent .. ' '
+ local is_string
+ for _, elem in ipairs(tree) do
+ if type(elem) == 'string' then
+ if inner_indent and not is_string then
+ out = out .. inner_indent
+ end
+ out = out .. escape_text(elem)
+ is_string = true
+ else
+ out = out .. write_elem(elem, inner_indent)
+ is_string = nil
+ end
+ end
+ if indent then out = out .. indent end
+ return out .. '</' .. escaped_name .. '>'
+end
+
+return function(element, indent, version)
+ return (version == '11' and '<?xml version="1.1"?>' or '') ..
+ write_elem(element, indent and '\n' or nil)
+end
diff --git a/macros/luatex/latex/luamml/luamml.dtx b/macros/luatex/latex/luamml/luamml.dtx
new file mode 100644
index 0000000000..7815ac58e0
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml.dtx
@@ -0,0 +1,531 @@
+% \iffalse meta-comment
+%
+%% Copyright (C) 2020-2024 by Marcel Krueger
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%
+%<*batch>
+%<*gobble>
+\ifx\jobname\relax\let\documentclass\undefined\fi
+\ifx\documentclass\undefined
+\csname fi\endcsname
+%</gobble>
+\input docstrip.tex
+\keepsilent
+\generate{
+ \file{luamml.sty}{\from{luamml.dtx}{package,luatex}}
+ \file{luamml-pdf.sty}{\from{luamml.dtx}{package,pdftex}}
+}
+\endbatchfile
+%</batch>
+%<*gobble>
+\fi
+\expandafter\ifx\csname @currname\endcsname\empty
+\csname fi\endcsname
+%</gobble>
+%<*driver>
+\documentclass{l3doc}
+\usepackage{luamml}
+\usepackage{csquotes,luacolor}
+\MakeShortVerb{\|}
+\RecordChanges
+\begin{document}
+\tracingmathml2
+\DocInput{luamml.dtx}
+\PrintIndex
+\PrintChanges
+\end{document}
+%</driver>
+%<*gobble>
+\fi
+%</gobble>
+% \fi
+%
+% \GetFileInfo{luamml.sty}
+% \title{The \pkg{luamml} package%
+% \thanks{This document corresponds to \pkg{luamml}~\fileversion, dated~\filedate.}%
+% }
+% \author{Marcel Krüger}
+%
+% \maketitle
+%
+% \begin{documentation}
+% \section{Use case}
+% When generating output for the web or tagged output, mathematical content should often be represented as MathML.
+% This uses Lua\TeX~callbacks to automatically attempt to convert Lua\TeX~math mode output into MathML.
+%
+% \section{Usage}
+% The \pkg{luamml} package is designed to be used in automated ways by other packages and usually should not be invoked directly by the end user.
+% For experiments, \texttt{luamml-demo} is included which provides easier to use interfaces.
+%
+% Add in your preamble
+% \begin{verbatim}
+% \usepackage[files]{luamml-demo}
+% \end{verbatim}
+% This will trigger the output of individual files for each block of math output containing corresponding MathML.
+%
+% Alternatively
+% \begin{verbatim}
+% \usepackage[l3build]{luamml-demo}
+% \end{verbatim}
+% will generate a single file with a concatenation of all MathML blocks.
+%
+% For automated use, the \pkg{luamml} package can be included directly, followed by enclosing blocks which should generate files with \cmd{luamml_begin_single_file:} and \cmd{luamml_end_single_file:}.
+% The filename can be set with \cmd{luamml_set_filename:n}.
+%
+% \section{Improving MathML conversion}
+% When using constructs which do not automatically get converted in acceptable form, conversion hints can be provided with \cmd{luamml_annotate:en}.
+% This allows to provide a replacement MathML structure in Lua table form, for example
+% \begin{verbatim}
+% \luamml_annotate:en {
+% nucleus = true,
+% core = {[0] = 'mi', 'TeX'},
+% }{
+% \hbox{\TeX}
+% }
+% \end{verbatim}
+% produces a |<mi>TeX</mi>| element in the output instead of trying to import \TeX~as a mathematical expression.
+% The table structure is explained in an appendix.
+%
+% \section{Features \& Limitations}
+% Currently all mathematical expressions which purely contain Unicode encoded math mode material without embedded non-math should get converted successfully.
+% Usage with non-Unicode math (\TeX's 8-bit math fonts) is highly experimental and undocumented.
+% Any attempt to build complicated structures by embedding arbitrary \TeX\ code in the middle of math mode needs to have a MathML replacement specified.
+% We try to automate more cases in the future.
+%
+% \appendix
+% \input{luamml-algorithm}
+% \end{documentation}
+%
+% \begin{implementation}
+% \section{Package Implementation}
+% \subsection{Initialization}
+% \iffalse
+%<*package>
+% \fi
+% \begin{macrocode}
+%<@@=luamml>
+%<*luatex>
+\ProvidesExplPackage {luamml} {2024-08-14} {0.1.0}
+ {Automatically generate presentational MathML from LuaTeX math expressions}
+%</luatex>
+%<*pdftex>
+\ProvidesExplPackage {luamml-pdf} {2024-08-14} {0.1.0}
+ {MathML generation for L̶u̶a̶pdfLaTeX}
+%</pdftex>
+% \end{macrocode}
+%
+% \subsection{Initialization}
+% These variable have to appear before the Lua module is loaded and will be used to
+% communicate information to the callback.
+%
+% Here \cs{tracingmathml} does not use a expl3 name since it is not intended for
+% programming use but only as a debugging helper for the user.
+% The other variables are internal, but we provide public interfaces for setting
+% them later.
+% \begin{macrocode}
+\int_new:N \l__luamml_flag_int
+\int_new:N \l__luamml_pretty_int
+%<luatex>\tl_new:N \l__luamml_filename_tl
+\tl_new:N \l__luamml_root_tl
+\tl_set:Nn \l__luamml_root_tl { mrow }
+\tl_new:N \l__luamml_label_tl
+%<pdftex>\int_new:N \g__luamml_formula_id_int
+%<luatex>\int_new:N \tracingmathml
+
+\int_set:Nn \l__luamml_pretty_int { 1 }
+% \end{macrocode}
+%
+% Now we can load the Lua module which defines the callback.
+% Of course until pdf\TeX starts implementing \cs{directlua} this is only
+% done in Lua\TeX.
+% \begin{macrocode}
+%<luatex>\lua_now:n { require'luamml-tex' }
+% \end{macrocode}
+%
+% \subsection{Hook}
+% We also call a hook with arguments at the end of every MathML conversion with the result.
+% Currently only implemented in Lua\TeX{} since it immediately provides the output.
+% \begin{macrocode}
+%<*luatex>
+\hook_new_with_args:nn { luamml / converted } { 1 }
+
+\cs_new_protected:Npn \__luamml_output_hook:n {
+ \hook_use:nnw { luamml / converted } { 1 }
+}
+\__luamml_register_output_hook:N \__luamml_output_hook:n
+%</luatex>
+% \end{macrocode}
+
+%
+% \subsection{Flags}
+% The most important interface is for setting the flag which controls how the
+% formulas should be converted.
+%
+% \begin{macro}{\luamml_flag_process:}
+% Consider the current formula to be a complete, free-standing mathematical
+% expression which should be converted to MathML. Additionally, the formula
+% is also saved in the \texttt{start\_math} node as with
+% \cs{luamml_flag_save:}.
+% \begin{macrocode}
+\cs_new_protected:Npn \luamml_flag_process: {
+ \tl_set:Nn \l__luamml_label_tl {}
+ \int_set:Nn \l__luamml_flag_int { 3 }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\__luamml_maybe_structelem:}
+% A internal helper which can be added to a tag to preserve the external state
+% of the structelem flag.
+% \begin{macrocode}
+\cs_new:Npn \__luamml_maybe_structelem: {
+ (
+ 8 * \int_mod:nn {
+ \int_div_truncate:nn { \l__luamml_flag_int } {8}
+ } {2}
+ ) +
+}
+% \end{macro}
+%
+% \begin{macro}{\__luamml_style_to_num:N}
+% \begin{macrocode}
+\cs_new:Npn \__luamml_style_to_num:N #1 {
+%<luatex> 32 * #1
+%<*pdftex>
+ \token_case_meaning:NnF #1 {
+ \displaystyle {0}
+ \textstyle {32}
+ \scriptstyle {64}
+ \scriptscriptstyle {96}
+ } {
+ \Invalid_mathstyle
+ }
+%</pdftex>
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\luamml_flag_save:n,
+% \luamml_flag_save:nN,
+% \luamml_flag_save:nn,
+% \luamml_flag_save:nNn}
+% Convert the current formula but only save it's representation in the math
+% node without emitting it as a complete formula. This is useful when the
+% expression forms part of a bigger formula and will be intergrated into it's
+% MathML tables later by special code.
+% It optinally accepts three parameters: A label, one math style command
+% (\cs{displaystyle}, \cs{textstyle}, etc.) which is the implicit math style
+% (so the style which the surrounding code expects this style to have) and a
+% name for the root element (defaults to \texttt{mrow}).
+% If the root element name is \texttt{mrow}, it will get suppressed in some
+% cases.
+% \begin{macrocode}
+\cs_new_protected:Npn \luamml_flag_save:n #1 {
+ \tl_set:Nn \l__luamml_label_tl {#1}
+ \int_set:Nn \l__luamml_flag_int { \__luamml_maybe_structelem: 1 }
+}
+\cs_new_protected:Npn \luamml_flag_save:nN #1#2 {
+ \tl_set:Nn \l__luamml_label_tl {#1}
+ \int_set:Nn \l__luamml_flag_int { \__luamml_maybe_structelem: 17 + \__luamml_style_to_num:N #2 }
+}
+\cs_new_protected:Npn \luamml_flag_save:nn #1 {
+ \tl_set:Nn \l__luamml_label_tl {#1}
+ \int_set:Nn \l__luamml_flag_int { \__luamml_maybe_structelem: 5 }
+ \tl_set:Nn \l__luamml_root_tl
+}
+\cs_new_protected:Npn \luamml_flag_save:nNn #1#2 {
+ \tl_set:Nn \l__luamml_label_tl {#1}
+ \int_set:Nn \l__luamml_flag_int { \__luamml_maybe_structelem: 21 + \__luamml_style_to_num:N #2 }
+ \tl_set:Nn \l__luamml_root_tl
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\luamml_flag_ignore:}
+% Completely ignore the math mode material.
+% \begin{macrocode}
+\cs_new_protected:Npn \luamml_flag_ignore: {
+ \int_set:Nn \l__luamml_flag_int { 0 }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\luamml_flag_structelem:}
+% Like \cs{luamml_flag_process:}, but additionally add PDF structure
+% elements. This only works in Lua\TeX\ and requires that the \pkg{tagpdf} package
+% has been loaded \emph{before} \texttt{luamml}.
+% \begin{macrocode}
+%<*luatex>
+\cs_new_protected:Npn \luamml_flag_structelem: {
+ \tl_set:Nn \l__luamml_label_tl {}
+ \int_set:Nn \l__luamml_flag_int { 11 }
+}
+%</luatex>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\luamml_set_filename:n}
+% Allows to set a filename to which the generated MathML gets written.
+% Previous content from the file will get overwritten. This includes results
+% written by a previous formula. Therefore this has to be called separately
+% for every formula or it must expand to different values to be useful.
+% The value is fully expanded when the file is written.
+%
+% Only complete formulas get written into files (so formulas where
+% \cs{luamml_flag_process:} or \cs{luamml_flag_structelem:} are in effect).
+%
+% Only implemented in Lua\TeX, in pdf\TeX\ the arguments for \texttt{pdfmml}
+% determine the output location.
+% \begin{macrocode}
+%<*luatex>
+\cs_new_protected:Npn \luamml_set_filename:n {
+ \tl_set:Nn \l__luamml_filename_tl
+}
+%</luatex>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\luamml_begin_single_file:, \luamml_end_single_file:}
+% Everything between these two commands gets written into the same XML file.
+% The filename is expanded when \cs{luamml_begin_single_file:} gets executed.
+%
+% (Implemented in Lua)
+% \end{macro}
+%
+% By default, the flag is set to assume complete formulas.
+% \begin{macrocode}
+\luamml_flag_process:
+% \end{macrocode}
+%
+% \subsection{Annotations}
+% These are implemented very differently depending on the engine, but the interface
+% should be the same.
+% \subsubsection{Lua\TeX}
+% \begin{macrocode}
+%<*luatex>
+% \end{macrocode}
+% \begin{macro}{\luamml_annotate:nen, \luamml_annotate:en}
+% A simple annotation scheme: The first argument is the number of top level
+% noads to be annotated, the second parameter the annotation and the third
+% parameter the actual list of math tokens. The first argument can be omitted to
+% let Lua\TeX determine the number itself.
+%
+% Passing the first parameter explicitly is useful for any annotations which
+% should be compatible with fututre pdf\TeX versions of this functionality.
+% \begin{macrocode}
+\cs_new_protected:Npn \luamml_annotate:nen #1#2#3 {
+ \__luamml_annotate_begin:
+ #3
+ \__luamml_annotate_end:we \tex_numexpr:D #1 \scan_stop: {#2}
+}
+
+\cs_new_protected:Npn \luamml_annotate:en #1#2 {
+ \__luamml_annotate_begin:
+ #2
+ \__luamml_annotate_end:e {#1}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</luatex>
+% \end{macrocode}
+
+% \subsubsection{pdf\TeX}
+% \begin{macrocode}
+%<*pdftex>
+% \end{macrocode}
+% \begin{macro}{\__luamml_pdf_showlists:}
+% Here and in many other locations the \pdfTeX{} implementation is based on \cs{showlists},
+% so we define a internal wrapper which sets all relevant parameters.
+% \begin{macrocode}
+\cs_if_exist:NTF \showstream {
+ \iow_new:N \l__luamml_pdf_stream
+ \iow_open:Nn \l__luamml_pdf_stream { \jobname .tml }
+ \cs_new_protected:Npn \__luamml_pdf_showlists: {
+ \group_begin:
+ \int_set:Nn \tex_showboxdepth:D { \c_max_int }
+ \int_set:Nn \tex_showboxbreadth:D { \c_max_int }
+ \showstream = \l__luamml_pdf_stream
+ \tex_showlists:D
+ \group_end:
+ }
+} {
+ \cs_set_eq:NN \l__luamml_pdf_stream \c_log_iow
+ \cs_set_eq:NN \__luamml_pdf_set_showstream: \scan_stop:
+ \cs_new_protected:Npn \__luamml_pdf_showlists: {
+ \group_begin:
+ \int_set:Nn \l_tmpa_int { \tex_interactionmode:D }
+ \int_set:Nn \tex_interactionmode:D { 0 }
+ \int_set:Nn \tex_showboxdepth:D { \c_max_int }
+ \int_set:Nn \tex_showboxbreadth:D { \c_max_int }
+ \tex_showlists:D
+ \int_set:Nn \tex_interactionmode:D { \l_tmpa_int }
+ \group_end:
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\luamml_annotate:nen, \luamml_annotate:en}
+% Now we can define the annotation commands for pdf\TeX.
+% \begin{macrocode}
+\cs_generate_variant:Nn \tl_to_str:n { e }
+\int_new:N \g__luamml_annotation_id_int
+\cs_new_protected:Npn \luamml_annotate:nen #1#2#3 {
+ \int_gincr:N \g__luamml_annotation_id_int
+ \iow_shipout_x:Nx \l__luamml_pdf_stream {
+ LUAMML_MARK_REF:
+ \int_use:N \g__luamml_annotation_id_int
+ :
+ }
+ \iow_now:Nx \l__luamml_pdf_stream {
+ LUAMML_MARK:
+ \int_use:N \g__luamml_annotation_id_int
+ :
+ count = \int_eval:n {#1},
+ #2
+ \iow_newline:
+ LUAMML_MARK_END
+ }
+ #3
+}
+\cs_new_protected:Npn \luamml_annotate:en #1#2 {
+ \int_gincr:N \g__luamml_annotation_id_int
+ \iow_shipout_x:Nx \l__luamml_pdf_stream {
+ LUAMML_MARK_REF:
+ \int_use:N \g__luamml_annotation_id_int
+ :
+ }
+ \iow_now:Nx \l__luamml_pdf_stream {
+ LUAMML_MARK:
+ \int_use:N \g__luamml_annotation_id_int
+ :
+ count = data.count[\int_use:N \g__luamml_annotation_id_int],
+ #1
+ \iow_newline:
+ LUAMML_MARK_END
+ }
+ \use:x {
+ \iow_now:Nn \l__luamml_pdf_stream {
+ LUAMML_COUNT:
+ \int_use:N \g__luamml_annotation_id_int
+ }
+ \__luamml_pdf_showlists:
+ \exp_not:n {#2}
+ \iow_now:Nn \l__luamml_pdf_stream {
+ LUAMML_COUNT_END:
+ \int_use:N \g__luamml_annotation_id_int
+ }
+ \__luamml_pdf_showlists:
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</pdftex>
+% \end{macrocode}
+%
+% \subsection{Trigger for specific formula}
+% This only applies for pdf\TeX\ since in Lua\TeX\ everything is controlled by the callback,
+% but for compatibility the function is defined anyway.
+%
+% \begin{macro}{\luamml_pdf_write:}
+% We could accept parameters for the flag and tag here, but for compatibility
+% with Lua\TeX they are passed in macros instead.
+% \begin{macrocode}
+%<*pdftex>
+\cs_new_protected:Npn \luamml_pdf_write: {
+ \int_gincr:N \g__luamml_formula_id_int
+ \iow_now:Nx \l__luamml_pdf_stream {
+ LUAMML_FORMULA_BEGIN:
+ \int_use:N \g__luamml_formula_id_int
+ :
+ \int_use:N \l__luamml_flag_int
+ :
+ \l__luamml_root_tl
+ :
+ \l__luamml_label_tl
+ }
+ \__luamml_pdf_showlists:
+ \iow_now:Nx \l__luamml_pdf_stream {
+ LUAMML_FORMULA_END
+ }
+}
+%</pdftex>
+%<luatex>\cs_new_eq:NN \luamml_pdf_write: \scan_stop:
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+% \end{macrocode}
+%
+% \subsection{Further helpers}
+%
+% \begin{macro}{\RegisterFamilyMapping}
+% The Lua version of this is defined in the Lua module.
+% \begin{macrocode}
+%<*pdftex>
+\NewDocumentCommand \RegisterFamilyMapping {m m} {
+ \iow_now:Nx \l__luamml_pdf_stream {
+ LUAMML_INSTRUCTION:REGISTER_MAPPING: \int_use:N #1 : #2
+ }
+}
+%</pdftex>
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Patching}
+% For some packages, we ship with patches to make them more compatible and to
+% demonstrate how other code can be patched to work with \texttt{luamml}.
+%
+% These are either loaded directly if the packages are loaded or delayed using
+% \LaTeX's hook system otherwise.
+% \begin{macro}{\__luamml_patch_package:nn, \__luamml_patch_package:n}
+% For this, we use two helpers: First a wrapper which runs arbitrary code either
+% now (if the package is already loaded) or as soon as the package loads, second
+% an application of the first one to load packages following \texttt{luamml}'s
+% naming scheme for these patch packages.
+% \begin{macrocode}
+\cs_new_protected:Npn \__luamml_patch_package:nn #1 #2 {
+ \@ifpackageloaded {#1} {#2} {
+ \hook_gput_code:nnn {package/#1/after} {luamml} {#2}
+ }
+}
+\cs_new_protected:Npn \__luamml_patch_package:n #1 {
+ \__luamml_patch_package:nn {#1} {
+ \RequirePackage { luamml-patches-#1 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% We currently provide minimal patching for the kernel, \pkg{amsmath} and \pkg{array}.
+% Currently only the kernel code supports pdf\TeX, but it's planned to extend this.
+% \begin{macrocode}
+\RequirePackage { luamml-patches-kernel }
+%<*luatex>
+\__luamml_patch_package:n {amstext}
+\__luamml_patch_package:n {amsmath}
+\__luamml_patch_package:n {array}
+%</luatex>
+% \end{macrocode}
+
+% \iffalse
+%</package>
+% \fi
+% \end{implementation}
+% \Finale
diff --git a/macros/luatex/latex/luamml/luamml.pdf b/macros/luatex/latex/luamml/luamml.pdf
new file mode 100644
index 0000000000..18061ce3c0
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml.pdf
Binary files differ
diff --git a/macros/luatex/latex/luamml/test-mathml-2.txt b/macros/luatex/latex/luamml/test-mathml-2.txt
new file mode 100644
index 0000000000..c8116c78c0
--- /dev/null
+++ b/macros/luatex/latex/luamml/test-mathml-2.txt
@@ -0,0 +1,8 @@
+<math xmlns:tex="http://typesetting.eu/2021/LuaMathML" xmlns="http://www.w3.org/1998/Math/MathML">
+ <mo lspace="0" rspace="0.167em" tex:class="opnolimits">
+ sin
+ </mo>
+ <mi>
+ 𝑥
+ </mi>
+</math>
diff --git a/macros/luatex/latex/piton/piton-french.pdf b/macros/luatex/latex/piton/piton-french.pdf
index 8ad40b754c..01ebbefd71 100644
--- a/macros/luatex/latex/piton/piton-french.pdf
+++ b/macros/luatex/latex/piton/piton-french.pdf
@@ -277,1223 +277,1206 @@ endobj
<< /S /GoTo /D (subsection.8.3) >>
endobj
163 0 obj
-(\376\377\000N\000o\000t\000e\000s\000\040\000d\000a\000n\000s\000\040\000l\000e\000s\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
+(\376\377\000U\000n\000\040\000e\000x\000e\000m\000p\000l\000e\000\040\000d\000e\000\040\000r\000\351\000g\000l\000a\000g\000e\000\040\000d\000e\000s\000\040\000s\000t\000y\000l\000e\000s)
endobj
164 0 obj
-<< /S /GoTo /D (subsection.8.4) >>
+<< /S /GoTo /D (section.9) >>
endobj
167 0 obj
-(\376\377\000U\000n\000\040\000e\000x\000e\000m\000p\000l\000e\000\040\000d\000e\000\040\000r\000\351\000g\000l\000a\000g\000e\000\040\000d\000e\000s\000\040\000s\000t\000y\000l\000e\000s)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000a\000v\000e\000c\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
endobj
168 0 obj
-<< /S /GoTo /D (section.9) >>
+<< /S /GoTo /D (subsection.9.1) >>
endobj
171 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000a\000v\000e\000c\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000s\000t\000a\000n\000d\000a\000r\000d\000\040\000d\000e\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
endobj
172 0 obj
-<< /S /GoTo /D (subsection.9.1) >>
+<< /S /GoTo /D (subsection.9.2) >>
endobj
175 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000s\000t\000a\000n\000d\000a\000r\000d\000\040\000d\000e\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000l\000'\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000\040\000\173\000p\000y\000t\000h\000o\000n\000r\000e\000p\000l\000\175\000\040\000d\000e\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
endobj
176 0 obj
-<< /S /GoTo /D (subsection.9.2) >>
+<< /S /GoTo /D (section.10) >>
endobj
179 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000l\000'\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000\040\000\173\000p\000y\000t\000h\000o\000n\000r\000e\000p\000l\000\175\000\040\000d\000e\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
+(\376\377\000L\000e\000s\000\040\000s\000t\000y\000l\000e\000s\000\040\000p\000o\000u\000r\000\040\000l\000e\000s\000\040\000d\000i\000f\000f\000\351\000r\000e\000n\000t\000s\000\040\000l\000a\000n\000g\000a\000g\000e\000s\000\040\000i\000n\000f\000o\000r\000m\000a\000t\000i\000q\000u\000e\000s)
endobj
180 0 obj
-<< /S /GoTo /D (section.10) >>
+<< /S /GoTo /D (subsection.10.1) >>
endobj
183 0 obj
-(\376\377\000L\000e\000s\000\040\000s\000t\000y\000l\000e\000s\000\040\000p\000o\000u\000r\000\040\000l\000e\000s\000\040\000d\000i\000f\000f\000\351\000r\000e\000n\000t\000s\000\040\000l\000a\000n\000g\000a\000g\000e\000s\000\040\000i\000n\000f\000o\000r\000m\000a\000t\000i\000q\000u\000e\000s)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
endobj
184 0 obj
-<< /S /GoTo /D (subsection.10.1) >>
+<< /S /GoTo /D (subsection.10.2) >>
endobj
187 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000O\000C\000a\000m\000l)
endobj
188 0 obj
-<< /S /GoTo /D (subsection.10.2) >>
+<< /S /GoTo /D (subsection.10.3) >>
endobj
191 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000O\000C\000a\000m\000l)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000C\000\040\000\050\000e\000t\000\040\000C\000+\000+\000\051)
endobj
192 0 obj
-<< /S /GoTo /D (subsection.10.3) >>
+<< /S /GoTo /D (subsection.10.4) >>
endobj
195 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000C\000\040\000\050\000e\000t\000\040\000C\000+\000+\000\051)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000S\000Q\000L)
endobj
196 0 obj
-<< /S /GoTo /D (subsection.10.4) >>
+<< /S /GoTo /D (subsection.10.5) >>
endobj
199 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000S\000Q\000L)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000\253\000m\000i\000n\000i\000m\000a\000l\000\273)
endobj
200 0 obj
-<< /S /GoTo /D (subsection.10.5) >>
+<< /S /GoTo /D (subsection.10.6) >>
endobj
203 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000\253\000m\000i\000n\000i\000m\000a\000l\000\273)
+(\376\377\000L\000e\000s\000\040\000l\000a\000n\000g\000a\000g\000e\000s\000\040\000d\000\351\000f\000i\000n\000i\000s\000\040\000p\000a\000r\000\040\000l\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000N\000e\000w\000P\000i\000t\000o\000n\000L\000a\000n\000g\000u\000a\000g\000e)
endobj
204 0 obj
-<< /S /GoTo /D (subsection.10.6) >>
+<< /S /GoTo /D (section*.1) >>
endobj
207 0 obj
-(\376\377\000L\000e\000s\000\040\000l\000a\000n\000g\000a\000g\000e\000s\000\040\000d\000\351\000f\000i\000n\000i\000s\000\040\000p\000a\000r\000\040\000l\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000N\000e\000w\000P\000i\000t\000o\000n\000L\000a\000n\000g\000u\000a\000g\000e)
+(\376\377\000I\000n\000d\000e\000x)
endobj
208 0 obj
-<< /S /GoTo /D (section*.1) >>
-endobj
-211 0 obj
-(\376\377\000I\000n\000d\000e\000x)
-
+<< /S /GoTo /D [ 209 0 R /Fit ] >>
endobj
212 0 obj
-<< /S /GoTo /D [ 213 0 R /Fit ] >>
-endobj
-216 0 obj
-<< /Filter /FlateDecode /Length 3586 >>
-stream
-xڽ\K[ WEIp/
-',եp)ku!MO>V.AD +(
-FhLG&4+)"zG
-+#,oˮLo%?p]V4jz4pApS}H/y$GhMJ:Qם *Gvhe?h=}?n3n<6kG0vN21-U~$!Pa}=
-lMcLs0ZYL꜆e DrhcɮzQ86AYeޭip1<'{YXÍ PYU
-iu+f fM1 ?mn
-d
-ӧd`^9@y*;9ۢئܺ s }PQq׺PW_BdlrU}L8SMQp{5 ! U4W0TF@L  _\:4
-ToJ4^'hP+=;g)06Hg{(u5 2Js$
-\٣5
-^l< %&ۈi-dǣ 76ZTd reAG1fOR)8uE
-Sq&t*ͶޞGVZ\+vp2LҊ&FL('9҈W LZu=t%]aZqp!z՜8
-]T>j⛠D)Y!{_s<ܩx0s{;Ggxn53ؓDži'`Ϛ{^|vk<諦붾|l 3=$ \_Acyh vt3t;zZ!Qh0O0ƅEXKqs_+t~<*p^U'L
-%;hdUA(OV/ޞe6?\F:Oxt})i7l0?V}</ lZ {Ckmr㬏Pc]t+opqP!35D 3RDxv`AbWr'Dmrvb!Hi;H9:T?%*eܴ~=[}5S={ռmSUFTɪƵz9]d^@y8M5ۼ#M4dN`}+8_̎)fe. -<d?c;xNMLYH暯e5v;j)śG:%;Y3L~7`NvH0T,&puTރHgN08ex ơYybfI<}''֣.8 dXhFge־6 rgmq yޱ)9?(z9DK{JR{ _:ܦW95zQ^;jqgKjy7'z:q.g$0Hz^J5;w`ϗf9z?asΡz^mN1&+v5ݏ{
-%!h >\Yʍ eٹ99?q*O~r㈞Nsw>_R)?ҥ0˱Mx&E`n,/֦y`#!
+<< /Filter /FlateDecode /Length 3593 >>
+stream
+xڽ\Ic xiDS@0d6S9$Z(QzK=W`,QL\~|E-Z)[eXrxNJRz#役_V/@2CmxRg˯~Jx!,T2qAvN&8KT<myQ-HTv4
+p6&K+Ë\5O\$nڟyW92z# Ny'/+g҉7u{D~BchgȂ":dz&HT=1COc .c0
+Xc^>x)QQ]=c0|;ek" ՛ukSUusWFp4T__tr}/_2N%9t.&oi~
+7t :K,370H?P_=TE&AcgȋI1NB*
+3 FKL8z9ou+f-|3ɡ LeOY.roHyN5M6v%㻂I"vq"zv0A6,h:B0I
+Ho}f:kFfζZ-lt:`-z;"tpk|;Up?U="ZѠИϼd:]GEn- l (FiA`mo"U-ǥZD ;d~cg-~RYwʅ,mL,G<Ϙܚ ;[2hm:i5h:Z>riw{?b<!i0-r矁H'.1vTˣ\S¼lh>~/GjS+1"9ˣ)į;*}|1
+I4"׃V]O6]\C'܈jlj3#Ws(Qm_W Fs&NbaOE!"8:= pVoD9 {=kyq}ڭ; sAxg">̴r}M1b5ӵSj^AiFfVY<ƇCaA/EK~-^2thw~OV0zC+Vß6U?UZz{ڌpV먏?ǥIo.`@Oޭ|_P jȆAܰ?x=v+>A/(7E 鷥Vֻvp0,mW[}9d:j P~<>;EWka[QUMnXN&`z :[O FJop'ᑊ^֯c벯&j3Rswʾ*٨Tk֚s&ɬ96{m[:^qȁ$p XqrN|("Z'GH#?6 |͔k2ZJ]i7;w힒R$ySVagpӎ&*r*W3:g쁎2fnA[K}I3ZVjZ<1u,g]W_I_7(u!QY"cfDP"n!;6:E=%yp> NJұ^ _:ܦZ975z˔W_;{>˗&*Я\4 f;֢uf,8 J]H`"V6k9v_6r*X
+ms%2hu?nT15QSF(VK "Vp9y3Ө!caAh∋|ZݯwY 5\4ѕiJi*K+>6
+URKf{.0jnas)9c5GVRe@yAu l`&W%|I7'Ւۇϛ!dRԏaoNyZ~rAsi[ KRx'K$ǜ
+Y]kΟLSew/妱|nzE6lm=Eǭ"t@tn+[SSMW>r
+~%!h
+>Zm8Bs7<w<ZKٗ.YNnc2,Cyx\t6ٳN uw
endstream
endobj
-213 0 obj
-<< /Type /Page /Contents 216 0 R /Resources 215 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 241 0 R >>
+209 0 obj
+<< /Type /Page /Contents 212 0 R /Resources 211 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 237 0 R >>
endobj
-241 0 obj
-[ 214 0 R ]
+237 0 obj
+[ 210 0 R ]
endobj
-214 0 obj
+210 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 222.163 76.495 393.939 87.952 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.inf.puc-rio.br/~roberto/lpeg/)>>
>>
endobj
-217 0 obj
-<< /D [ 213 0 R /XYZ 78.37 808.885 null ] >>
+213 0 obj
+<< /D [ 209 0 R /XYZ 78.37 808.885 null ] >>
endobj
-218 0 obj
-<< /D [ 213 0 R /XYZ 79.37 771.024 null ] >>
+214 0 obj
+<< /D [ 209 0 R /XYZ 79.37 771.024 null ] >>
endobj
5 0 obj
-<< /D [ 213 0 R /XYZ 79.37 545.899 null ] >>
+<< /D [ 209 0 R /XYZ 79.37 545.797 null ] >>
endobj
-215 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F17 219 0 R /F18 220 0 R /F19 221 0 R /F42 222 0 R /F50 223 0 R /F49 224 0 R /F51 225 0 R /F53 226 0 R /F15 227 0 R /F54 228 0 R /F55 229 0 R /F62 230 0 R /F63 231 0 R /F65 232 0 R /F31 233 0 R /F22 234 0 R /F33 235 0 R /F32 236 0 R /F48 237 0 R /F60 238 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+211 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F17 215 0 R /F18 216 0 R /F19 217 0 R /F42 218 0 R /F50 219 0 R /F49 220 0 R /F51 221 0 R /F53 222 0 R /F15 223 0 R /F54 224 0 R /F55 225 0 R /F62 226 0 R /F63 227 0 R /F65 228 0 R /F31 229 0 R /F22 230 0 R /F33 231 0 R /F32 232 0 R /F48 233 0 R /F60 234 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-248 0 obj
-<< /Filter /FlateDecode /Length 3540 >>
-stream
-xڵ\K# ϯXGTF+Wdo.8! d[A><dyE^~z~{ݙX/~QB^%$a%(lPo/Jo_>ZkoHÿ$;ǽgXJKkoKi/K Rݽh[gZsCme0ԝ- " k-<Ň
-bqTkSߵ*>13p|WZݾWyn
-TQ.0`O#_tc`#Hg47T#aakIU$IZT
-w32-aq%u*^v
-܈kCèjQuL3 i^e*Cص.yOc#1М%,ˠW|gsѨ(],Қ v#1U
-L+$akg\rLh1yxB~U5x{]&:{KƃI %RUMwOR6-Fˀ2!<^_%r`Ƣ{n+:YLF>}\p=>%!Fg
-v_! 3w)q5a:Gm&D8J*Gu9DH$FX f*\}eޱe(`LXU!|mwÑ.P#5?
-"Y5_cݳA,<Ξirf1#,ru&AeݸD=G)NuUs>:h+*n Vc]7  `+ayo9*d[OY?ȻkaE<+Rƥ^(H{0"sҟ_f5Jf/F>q@!jԔBFث1 VV08 1:[S806ie\>sU^U,̏{ʊa
-#)r&RKԼ6醛?WqOudϔVHJnʰ*MS=HND^+Y5PjCmְ>YK}fC?<W'AXj^mjwrJ6ml=>o/am3Qmֈx/L EtJWx~b> 9reGk],ʰqYF];2j(M7ܽU]ٹ>V&.2ONDאaΡ cboq,Z#N񝹷VR_KFS.-UAڀv‡xF%7*xV[GpS#9F-ӗӤ9oz_D_wdur/u r;w#+~l(~xhfVJ'wQx٣<;'OǀP9SJ>cZXy=[bҴ΂Yr)= F8?
-X뇎Dm be?o#[lo7kHBvjB}f%²nɺw,İ{ e*
+244 0 obj
+<< /Filter /FlateDecode /Length 3539 >>
+stream
+xڵ\ɲc W<TꪧK;WVIM7
+o_ޤ/>ZkoHÿ$;}۷a).I$,P.R6HuRliͅ;(a;[( '8TΊ*OZGxvp}n]znHؽGI nщhc4Sㄖj+tʏNA}Bsvʬ
+ӄu,RW48~n)-YE4 ZZ{T\Q|6U˛SNB[зE޾ʅf[_>ȧ7&Iᔚ|OFw$̏ 5:2OUddwj™PH8F-,{2⁉s3:Ai,MIUZxGAo"EF:өV3M!{=ͧ~+'^f;VR@e8ho,X .aAƚ΋knң$cB^L;x(>4^ٝ.KEB9+[t6oT2`~q@@Zd/ՠa
+7|6VK׮+$2Ae0 {PfSĐ杼*ƅ
+bqTkSߵ*>13p|WZݾWyn
+TQn0`/3_tc`#Hg2*K㑰GE$m-*^֒:/{l 
+*ESQ:ᴞ9ZTJxY,:΋lYCVV<//e
+=¨u^P8*t3ABeXa
+@eCT=Ecl$3$evlu35eV+EZSn6PbRJIw%@7l363Z {vt#rM ^7ɳ=S%q/YT}ݓ6v'k"o)2 oH&~ܵ=Ec#2ۊNj_a{/\OI1'k`׍mHpՅ 
+' EbhƃJ^+3Hxlڈ=+YvVwhOpnLuhxvI#GʧvH ]
+mQVS .X/<DՄh曜\(r!a!'0jޗEpyw1aU G\CB
+sZۃXY 3[$lM}GҒq ֫eV hzUIH 1?+e<rSbl\>䶥9sːQj3&8EB$Zj"[)𑽩DMZtz>l~`9Ϛ(?0 0Of~xSg7Qav G5{:,6;v}37vxbg[dp:Hg$Y+LΨDaC-PNU%d"1`JߣGDƫyGH3jg+t8!u^7˫JIU:Q\g"IV(Q?4EH?ilPϧ 4&&aÞ~`!e@Ha{v}'?HÍҠj^;5X)TZdxˋnGm;v"}T5Klo:j e6Cо &aaZElL<̲qO 8Oιw77ϥf$dlf8ƒʽ(4鋱BE{iGTAsH&${ݦ] GPF3
+{iDZ7זbRg{^p/VO@ /\f*զ*Sa0W~Ґbdo7 '70"l"žt4J͛-iLn|
+^Qھ|dԑ=S!)*ê4M("y&Rrڿ4Xesc@B؇ְ@_~fC?<W'AXj^mjwrJ76<z} O_}klF/
+zqߘ>;GvWAۉ2l9tL=Bk33ֻJbqhj>e5v*HNU(&P%jcj2Lj4ew6!-Vx_̾NvQ-0®hg*1BGG6-sW) ߕFmg으,|~p.OI*I<D zŤiϝ4Vzp ?
endstream
endobj
-247 0 obj
-<< /Type /Page /Contents 248 0 R /Resources 246 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 252 0 R >>
+243 0 obj
+<< /Type /Page /Contents 244 0 R /Resources 242 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 248 0 R >>
endobj
-252 0 obj
-[ 243 0 R 242 0 R ]
+248 0 obj
+[ 239 0 R 238 0 R ]
endobj
-243 0 obj
+239 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 490.557 488.192 497.531 500.147 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-242 0 obj
+238 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 358.563 75.592 369.02 87.049 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-249 0 obj
-<< /D [ 247 0 R /XYZ 78.37 808.885 null ] >>
+245 0 obj
+<< /D [ 243 0 R /XYZ 78.37 808.885 null ] >>
endobj
9 0 obj
-<< /D [ 247 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 243 0 R /XYZ 79.37 771.024 null ] >>
endobj
13 0 obj
-<< /D [ 247 0 R /XYZ 79.37 650.318 null ] >>
+<< /D [ 243 0 R /XYZ 79.37 650.318 null ] >>
endobj
17 0 obj
-<< /D [ 247 0 R /XYZ 79.37 566.415 null ] >>
+<< /D [ 243 0 R /XYZ 79.37 566.415 null ] >>
endobj
21 0 obj
-<< /D [ 247 0 R /XYZ 79.37 317.43 null ] >>
+<< /D [ 243 0 R /XYZ 79.37 317.43 null ] >>
endobj
25 0 obj
-<< /D [ 247 0 R /XYZ 79.37 214.75 null ] >>
+<< /D [ 243 0 R /XYZ 79.37 214.75 null ] >>
endobj
-246 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F54 228 0 R /F62 230 0 R /F67 250 0 R /F55 229 0 R /F16 251 0 R /F63 231 0 R /F32 236 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+242 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F54 224 0 R /F62 226 0 R /F67 246 0 R /F55 225 0 R /F16 247 0 R /F63 227 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-257 0 obj
-<< /Filter /FlateDecode /Length 4386 >>
-stream
-xn$0Cqj
-Na❺썮T٢R˷[y2xbѴ. CEN%.ZV}FPanε秲[EIOܳ_*ҐrVґV@*Ai)O`[=Q!$/ `R3u!Xsภ24m3*pv<`H!x3Dl+
-݋Z~m3
-=bRlRJU pq `_6:2'-sz<Eҁ0c8I1d!;JH;Tx݊^*4.ƿM:iɄfq4mEG-=t4*:(<[+hKyN8h@237pWWo\$GJb
-
-I
-Dz>Au[fPg<dF̄`
-Ɖ'79+@LaNN Xy.<(3ږq/2#%"VY i6
-F;|(j/W)'\JHr !)Ղj_.O
-b6q<ÔDWjv5#xQx;(`{Gwggqk%B[ b:PBجL
-Tҵ=bLr `~Ӂi3͒^:1h8KeslrTRreI.IsL?ش3~!Px@l8^<3[=bsNK-"˴Cl: tlHu+b3{=)KUߊUoS#ax?Bt++e
- ~u ii
--L+$82]~P_pL:QU [hb-Wi_(krWuj>OFș#y #)Ixwô%X9寄X`qqk! QP%
-?1ΠIGQMxj+|L0":Uvsю7v 4 k'F> YY^ѷ*YtS %({ۨ`l-3t
-3v{..|띋sZìzN 'Kޭxg|6ys8ĜG7N0L맅/VgvRT,
- r).?J)HwSH#y~:EYުHyFBbp#aG =H2<ԹHXtbS^3^= 3|T32{ ,z[$3Ow,fڙR9} `P˞7Vk7r֝9mNw8oN<|z=3ƓȷE\L6γ}0ӋVsqùP;XP|EŷuP
-[&.˄0=ʦ- )z^ |_022{_UJ5B_z|vlWiy$<ZjP5Gkznx/s"}*J=^/tJ8QZjpr6X:ۅѺ.bl>
+253 0 obj
+<< /Filter /FlateDecode /Length 4384 >>
+stream
+xIn$W}l
+ƭ|~  qq+ o5;܈x=Ҙ8ֆ_Y_޾=/
+La杶 آQ+[e:xbѼ.f\)4Ouʻg/ >|C˨'mTxsY$1ɛJU HX & TU< jO~ݮ
+}yۚ"ŹZ!g7n⭫[mQV /:&,% BV # <P."wSX"GV@m+jmC^Q`qB\4ŽrɅ,r<A9_z=RkY5J11S}+"ݥ*]aX;pE{)3aqu(vrt-EdgZO1sL5M1/a{A]i<׬oz~~Uҳ :jM<{O-(dzLkAA9l4d4zG/t[z_yvJ9E-aHreW5ȕT,dZ0
+xO;c\:3ynewmK1ٱS9P' /!U`_D?\+h}n&R4u4h]-fi),Uh 6,ل T;tQr6D-b^y: 6k悝f
+&渽
+Tpf0pNn {fʹG
+
+aIJRi *͞WOg>iNU!xq(d);+danR( )\mF5Zl/xD &~VOR}atMy1D^̾= dTh>`ĪjxyWtUS)-#DIjKTlEmp ŝ!!^u;+RqnEh}ǀ%]AeXCM"̘z֮V\WrFDe#!.fw:tlrJŠ:ecwNec<M_MJչJm4):
+*5YBf&0Jb
+@)^hiƜRi@9l<w2==sDD_KI V&yn ׌;y&2ro%\veir[᥹mJx"(Dǻ½b,)(uc!a_$_uo [H?n NʸvTBw-SшFVuuGM:+?.Lș-#yZG3)Ixw
+ܜ6c GJ+C5{d%47|ca߆:nHے=Vv\cv`ݭ90*nnG|ܱ޹:=ɉTXV ~RF:w裴#]8#(c2V}R݊mlNeRAy^bʶ󏥬R
+>=EH?ư+ρh U<J#
+Ԋ.\k&LG¡}Xq6OaP߮@Cb
+"> m|_?c 7~dEyL6yT7++D
+6K@CTY;ww}X6=,k/sF/B5,Lm%5LEg6|~;ڐ0b3shܩy1g,
+ҧbjDOW ޣNֹօ+tM]Syh[u`\4O+*;(Nߪ)W(Ji qЄcO(r
endstream
endobj
-256 0 obj
-<< /Type /Page /Contents 257 0 R /Resources 255 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 260 0 R >>
+252 0 obj
+<< /Type /Page /Contents 253 0 R /Resources 251 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 256 0 R >>
endobj
-260 0 obj
-[ 244 0 R 245 0 R 253 0 R 254 0 R ]
+256 0 obj
+[ 240 0 R 241 0 R 249 0 R 250 0 R ]
endobj
-244 0 obj
+240 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.657 708.966 276.381 722.147 ]/A << /S /GoTo /D (subsection.4.3) >> >>
endobj
-245 0 obj
+241 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 289.333 708.966 296.307 722.147 ]/A << /S /GoTo /D (subsection.4.3) >> >>
endobj
-253 0 obj
+249 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.516 681.248 399.241 692.197 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-254 0 obj
+250 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.962 681.248 426.917 692.197 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-258 0 obj
-<< /D [ 256 0 R /XYZ 78.37 808.885 null ] >>
+254 0 obj
+<< /D [ 252 0 R /XYZ 78.37 808.885 null ] >>
endobj
29 0 obj
-<< /D [ 256 0 R /XYZ 79.37 599.153 null ] >>
+<< /D [ 252 0 R /XYZ 79.37 599.153 null ] >>
endobj
-255 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R /F53 226 0 R /F55 229 0 R /F63 231 0 R /F65 232 0 R /F32 236 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+251 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F62 226 0 R /F68 255 0 R /F54 224 0 R /F53 222 0 R /F55 225 0 R /F63 227 0 R /F65 228 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-267 0 obj
-<< /Filter /FlateDecode /Length 5225 >>
-stream
-xڵ<ɮ丑<%s n^Vvm<ukd2m`2?=̬W TD7J\~_\]K؂U.Eq)`S]Mp7!UBUk޿jq"6ױj2pqFl麎2w7o\nxu7 ^o}OҨ<F#F-_<g|~ aADF84+3W.{7#4_ߜF7H<.pdZ^դFLq5L):QPMHFAT3} c8xm6qS2kէiûBW /oGGW]8][iJ,TI? ST;"mAo|zs@oiԀ ;zMhx3Y!&d ȼ8W9k7e3rr0͝ؼ܂˅XMSlBQ9^=}y{ǑY+T&NtkKe^znU*Ue- j6+2-ʢ"ͦsGhҜ7jÞgfS{/ |b}yLjfMvێ ctdmW=}>+hJ|\w+H[e g11GlDn`NT}^ &V=Uc33szj^ݧS鵮kW苄M364rH
- +|Ejw-ߊ؋w_@˯ÇF6@ ֻ+@exÊʽexqc;VǪ겋x'mtQWBKß~f*JGEu\]ӗ604o Fm^8cP.-$Ӭi l0`MHmVdgu*5yJM ]uyTf
-:d4Q-P+oF/WշTa8:9r~s <I-Qs<zLnŞbNp<У.Q&FwʺNx5גNaU9{⎿bl |FUd.@׎Ugi#G13fQPE'<UTܕl5D=i^$tTxӸ[#nʫqR=-ݍ`T=\%]E$mY2A6c7ǵs| H7O1=
-Mb"h%=.ė6Q-c@X,r 1`Qz^_d`\3N_9!] q"^Md&\@Ni!孇!OT(*pVUzO`J^0G{6FĚ_saf -3ýs3Р@P̠NKfMPvrlVL S]rm,4DF5 '@FoV6E֜E+ma?dMU ^5ѶgGN~ M4_$x}Ն4 FUQ#WÃ
-dH GT^vl+-9ݔ~yv`(ʩ>0rb6v,0t1ˤuP埲L
-
-d>fJv9y)ߔ}WbjVgJxx,7H _I#Cr:6UK ^R> MO*8,i*SŞ_Zً pI$7b{L<!Kq^XM b4RYF(<]+
-#H}v\p`do,=,3)ϓK&\Y58Ƣ^ xKg
-ip+${SCc=1qCoLς{n`Ҫ4ϠkGTkUKLL
-c;Q3/0CIQ(
-&Bp/HN1f 0q
-
-Nm _>V{]LvzU40iq/]cw,9AHћ6R5VD+CcNuI譠DzGZrm1Ee '2+"(0+F +Ji.6j"l>%Uf4 yV)'Q5j ߱ޏCtWI@Ӓ<mSQ)J-m:BW;zL(F:䧳7&R?j\+NBE"#.#?fivquRkv('!R8qubڹvp􈶐]Tf2Kj  "!t֔`mMR/Rqa9 ?sP!o2-I;=eW Mlj[me47)ΡVWy7PL_1jOlr~3SuOAⳐc{)JifUxMIo
-Sts?&I ݛ7p>KT=kZ\Ji!=r2j dN+h]Ze1LvǓC |ȿkE4S[5kX3 5
-Z]PSh1|VO(竝앧.zڀ$)iV!EL}˴N(3] jYWng|mgm۾I>8Hjje<*gײr[{Uor)6]~gד!-j,W ݎ}d֪MJ@B.4}
-+߉9ondx"=O c}+ )CYkAkoԝUO-M3wѺ@u)Z</>RT);Ӣ!0ʑh)oЖ~s+kp~>#V\V>9#T}`J2+1{<(3spFΒNl pvzH*qɚneq5zlMR
+263 0 obj
+<< /Filter /FlateDecode /Length 5020 >>
+stream
+xڵɮ>_02Y܁v- 88@r笠36<-"o".t釻4 V_Iq)]՛oB()/B}Y)/_Il&.ca}qFl2w7o\W/xGꞮ<F!LV_<g|~ aADF84+3Wy{S__ Zͩit#&daeJщ*lB3
+* 3ΔkikSַʨD-_[};) qq?.~J<V<ڸοOPbJ*Il$wDښӨ2 j&4idFSD I6a$c@Mǹ]lܙ-\x\mž`ZG)7iq}Uy8uҭ!/iz!i 2vӊO]URU_ qn="ӏMLmQgѥ%o6e;BQ <3s{iЯ8K{c2TW6ٱn;>6Q]\FN^AS;^
+=7GGڂ}38Gi0m9QaJoOۏjZlRi3P56>3wWf}:9Hu]Slw.RoJ9saC#DGgzW򭈽{
+_*:/ʣt?#kn߲`k o%^Ű"6 O4.ylvX.懶N>JWpwiڬQ^騨+v2}qȻ x, ܥQt!3}k&6TC<ٙk]J e@)]S_;@f5a%8d4Q-PW$",_&.Է\]RbRy'ɢ<jcV=i7`ܭ.=*5NjbaOPuj;{;ՇV
+;4mQuȖ瞉/+$T1Aؐt)2/i$!Wv3
+*%Z6'ޮ':ܺSDRBAєXݥ"Sy,^'HQ;.ꡡTn3&ٵjp6f90 Dp•G3+iBǡCy\ F#!4;\)A~HI!_?P עW ]8hye/Rlq_Z̝
+b;VEiCٴHnT;(!Ag3NFdF(~sBCU A@4#ZO bg*:2O< i*NSml5zEmb VkFhfL&)@I8p%#'YHtSju+y{݊&,h=4:̆rB*@v{v Oڴ\R$Z]Q]; 3qƠ<IEnڟSU,MTфjğݹӄvm̖|Ǚy$RJԚQ}l1w"ު7ۜρJ? 
+xs65'J_5j
+{SobT qQ=7$9Cmiw:;
+WpCR.:i ګ}C_GvlA< 7A"!13p_!+]5Ɠ(;'zw&gUdnxrqZY,Zgo;*7Ký솮YU]
+v}3/JA ʤ'#J)1{ LO1 kekfGw+;cF;^G?\V縀/)鴳4RSK[GpL,$&Z"_R6٫LPɋn\?f%JޱN*<$ip&Ӝ9KЮ.:M]DϥShJz`d/T,>[tʎ?h]9y`8o1n^` *-.YLw7+c[^s&6Cڽ qA17z}M*<c"J[e X'p 筓E='6CD`
+Ճ4 D `_M^|$7M'Iy,!,&fnuЄqCMk:OD"ӱQ^Jդ؊%
+! ~Zu}2uWIAYa&vU،jU_ۋI$7b W<%9bC;5 MCqlֳ
+(8"yzq5^~⏂a,襘IA^&y=X2Iz\~<&c|ENt-zglԞ2(_RhZ-LYyUMa<7Ä%BRvEG7:4y.X<?L;G_%#B2([@8Ӟ!."$˻x?JnoQμ^|IV`A]:^ӈ+Ӷ6
+Zn>ˉԩyU#߈(7xlOyӂ-N,
+$Bt܁u b4{jh'&nip C^Dv 4u*q7\N aH;}1ݦŴ#e}7
+`
+3I 'y, .Ap{P T5)V NS}-LPM282U[RxҏZͲ$v!%8z8
+jLL73 s'Jbf~%xW!dVط D)zv!.oas~(:Lo?ˍpHɑF}&P:x;﨡7~"84b$Nto~ ~n:5O>Q"%8@%% EZdyjԠ1@ZU㴱 9jT)͠d=%]Ϫ
+u5ɱg'Z\UߊG?/"V:}o<G5虰]l'z
endstream
endobj
+262 0 obj
+<< /Type /Page /Contents 263 0 R /Resources 261 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 266 0 R >>
+endobj
266 0 obj
-<< /Type /Page /Contents 267 0 R /Resources 265 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 270 0 R >>
+[ 257 0 R 258 0 R 259 0 R 260 0 R ]
endobj
-270 0 obj
-[ 261 0 R 262 0 R ]
+257 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 459.435 492.059 466.409 504.015 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-261 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.636 85.96 481.861 97.417 ]/A << /S /GoTo /D (section.7) >> >>
+258 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 482.13 492.059 489.104 504.015 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-262 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.916 85.96 505.373 97.417 ]/A << /S /GoTo /D (section.7) >> >>
+259 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.636 84.676 481.861 96.133 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-268 0 obj
-<< /D [ 266 0 R /XYZ 78.37 808.885 null ] >>
+260 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.916 84.676 505.373 96.133 ]/A << /S /GoTo /D (section.7) >> >>
+endobj
+264 0 obj
+<< /D [ 262 0 R /XYZ 78.37 808.885 null ] >>
endobj
33 0 obj
-<< /D [ 266 0 R /XYZ 79.37 684.154 null ] >>
+<< /D [ 262 0 R /XYZ 79.37 683.611 null ] >>
endobj
37 0 obj
-<< /D [ 266 0 R /XYZ 79.37 593.56 null ] >>
+<< /D [ 262 0 R /XYZ 79.37 592.475 null ] >>
endobj
-265 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F63 231 0 R /F65 232 0 R /F53 226 0 R /F54 228 0 R /F69 269 0 R /F55 229 0 R /F22 234 0 R /F68 259 0 R /F32 236 0 R /F61 239 0 R /F60 238 0 R >> /ProcSet [ /PDF /Text ] >>
+261 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F62 226 0 R /F63 227 0 R /F65 228 0 R /F53 222 0 R /F54 224 0 R /F69 265 0 R /F55 225 0 R /F22 230 0 R /F68 255 0 R /F32 232 0 R /F61 235 0 R /F60 234 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-283 0 obj
-<< /Filter /FlateDecode /Length 4917 >>
-stream
-xɲC{ԫR{4-n.ؗ_ 3$%9<FE^~}𧻲(g._~RJUN]~*>Z)R/#xO }{Oi|Wk0>~`AA
-?.~3~aX:Xbi0&,3&&NALA߻-}zH]Lm3UG ѷ=a@Fe<LjLe##rV_zoKMdއpBؚFŽ.luE$Vn%qU$C.Z{.r6MJ:je2&h51v) dV[1'y
-d}.К4A!RCkXח;N>)߄ݱO2@xޤP)t7jo#iƑ<vd`+̦a=S e|Jc<7eQ lT3p͚p_$. hEFF#
-Rso[fiðR_XΖ||j gS[݊>
-(s0T۾ "0~mW:/=~ȩi1W-^96ieRz:{Qr0hN@53C54i+Llot.l~/Q3/`Ko9
-e#$pVǍh7rGBl,=`TZL8c
-OLnK;K{I5hR
-W|RWr(Yj[\y#!~jC6aX%h6:Z+hW @(
-<D۪ nX% ʬ^:}r`w<vƢEsN#L h+a]ۜp]ﳤmVŵ>L>), >OZ\`^[ڽ[, HQ}>9Vx1w
-F<a^JX6\{֫'֦Q77
-Ž7R%{PG\Cai3}~'u)5@ߩ
-0zvRȲ=w^EM"Xݎu"D[YS_QʟY<yy[HGHqh1OZ8=gَ~ |\ӯk
-7^P**=s1p.&N_HUVgs: ?2}؇8(߉]VCkFX,
-؜nWV3<uʪ Z 3cG<[mJ
-K͞ߓ~T-z;XTẻdkw0o6s;<2:( m4 1LU6T09̬.b1gdqA, T%`Zݖ:.Ͻ^ފ*Zk@#g4^{j>T
-5Xlj-*)PPMp;B9T!dNUfwTq36@8k!dG(z-'PPJڷXvPhtC wJ& dA!.rCƸStWסH@/YkҔ\0>x%3Aow;yeQkko%c%ڪ) ~; JOXܷdl`Q}u-co9,Q; eη)Jj/OT9SD:}*W~޽HYҲΑ5rQ{Ԏ
-
-^T申! Oe6 QVu]
-;i]aVcU +';ɰ_ʰ:\jb+2 ХzO#83arVpneM -ÞT+tD_g l`5AAtN^[eY0kGFMwUM 0$^ԗ;}Nf"Fv䴨dU.\ݨiD|ʌf䊚|:9meT]`#sc,|A.8};HmnQS8.;?.h6z;dZ̈98bS/98Ksi/VU-
-<A_N+Bה픏efp=Lo,!kBCBfAbm.`{0c3]*^0!L Zs߼uۯ<>F.' C -%o`Aãyp.% +L?6ËW?,OU^;ϝ%1`&<[cxpc>P`P}M<;LvvTd)3e/ND2 tR/`t*U74@`fB7Ϟqy_"D&EzR0#qR.i31  s5N9\,j}(ێi|p+``Th׀(|Z`0XPMYe!5=J =>.3ιW GX5q~#^sVx`3l_| J>8ޅL
-NUVL庴]2 6mzz̝93}KXK}jP8Ms*T9X}䵛B0 {~YCtRҰ`C{}|}G%Sxsg:7ַq8x)2GWܰx?v,z =L1@lAQc
-94Qedqr26nx
-Ԝ!
- Q^wZ9-7z1
-lC;Bw:P$epYʤdw;sR!I
-g(hdif %h=d `؂kgW1ZƚS,kE?-MbZT{,yB1H ;YF+7D6qhDk
-)y(WA՝mc kn^8lj=T2L}2ONJG5v:VJXTl5 eٵIJ&]w,_]$AKhtԘެ$NX'zWG6t$kRH'ChO$|TíJ*j&oxLXa[pGukR+搆v;YV a*O<,mxY MDٳ8M.NT`~AWhP, wpOtIY^Vۺ=[yQE
+278 0 obj
+<< /Filter /FlateDecode /Length 4447 >>
+stream
+x<Ɏ,-K
+ld <ss7PW!++#IQy?ݔD8s77E]Rxt__Rן/R/'
+%][k٪2u/:Ƅ<Clu`pe>,0L#͕\}'Ca3to# aD4q$V(fa8C$
+T]Udvs cXnd"iT=j<8]~}P3.=f_,T<{ApɎeU8B"JX<ARd.j$j
+uǕDfѪIWlJ!!6fXMv5\kꮨyx h +f!R@^V3s|H k ?K8yG[ BH8"t|F;7!ܞ$#%lN359bk\G+xl#
+@ zB33d.Fqjb(tT(>k6t@K՞.A˻| Y
+h$X
+IB@jցl2n䡴c=Zǯzi:Գӌ4_\{=MxyOfʩosΏ}ĊUZwr8WhܿIƙ>ĩ@y'N<Pa]k4%b(asN:klՑ=Tn!L=MP3BQ %Ogq>pq6{-6+ ocOΖi[2'N*O\,xtȑaPRܒ c"wpW|8UsIZM2a1G<j cD10p`Q6AhrVkl͛R@4SzSb-SpЏHQǕJ^..(>pTT dh؁~1j "0c0"n<N<nxtU*nHA||c\}8&}l~@%V)T$5u C.oב6rg^ݮ Ϳe5No-94>8jh3Wv/;#g}$+t*avk1o/plT=Rl҉EtN/
+aSzqsĔ€]sb9Kv܇g8
+},@[șf`yQqgnj3nhɬ>$3OF#'Mp H_zŕk2cm}ˤ@ء4ঝ̚^q\2̏-&Yf>>q|82wV|D^(V ǓvCON¬@sO1RV:$|ŕ\KtHI;HuM2_uqJfŝediDix/UePfG9Oi֞G(Ȼ뼯VmK/ e)\}4q}"*PA |Z$uaGR#OyB>rя5Sн[2 e-@fgۻB|e>_M24*G0f̵MU
+-a
endstream
endobj
-282 0 obj
-<< /Type /Page /Contents 283 0 R /Resources 281 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 286 0 R >>
+277 0 obj
+<< /Type /Page /Contents 278 0 R /Resources 276 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 281 0 R >>
endobj
-286 0 obj
-[ 263 0 R 264 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 0 R 277 0 R 278 0 R ]
+281 0 obj
+[ 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R ]
endobj
-263 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 437.011 733.664 451.736 745.619 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+267 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 437.011 696.081 451.736 708.036 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-264 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.149 733.664 480.104 745.619 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+268 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.149 696.081 480.104 708.036 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+endobj
+269 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 262.513 320.003 277.238 330.882 ]/A << /S /GoTo /D (subsection.8.1) >> >>
+endobj
+270 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 290.19 320.003 302.145 330.882 ]/A << /S /GoTo /D (subsection.8.1) >> >>
endobj
271 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 262.513 427.854 277.238 438.734 ]/A << /S /GoTo /D (subsection.8.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 483.103 209.239 495.058 221.194 ]/A << /S /GoTo /D (subsubsection.6.1.1) >> >>
endobj
272 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 290.19 427.854 302.145 438.734 ]/A << /S /GoTo /D (subsection.8.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.51 146.028 489.234 157.983 ]/A << /S /GoTo /D (subsection.9.2) >> >>
endobj
273 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.51 297.516 489.234 309.471 ]/A << /S /GoTo /D (subsection.9.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 502.177 146.028 514.132 157.983 ]/A << /S /GoTo /D (subsection.9.2) >> >>
endobj
274 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 502.177 297.516 514.132 309.471 ]/A << /S /GoTo /D (subsection.9.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.781 106.727 424.257 118.682 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
endobj
275 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.781 259.072 424.257 271.027 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
-endobj
-276 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.978 259.072 451.933 271.027 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.978 106.727 451.933 118.682 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
endobj
-277 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 362.08 209.23 376.805 220.069 ]/A << /S /GoTo /D (subsection.8.2) >> >>
-endobj
-278 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.03 209.23 477.985 220.069 ]/A << /S /GoTo /D (subsection.8.2) >> >>
-endobj
-284 0 obj
-<< /D [ 282 0 R /XYZ 78.37 808.885 null ] >>
+279 0 obj
+<< /D [ 277 0 R /XYZ 78.37 808.885 null ] >>
endobj
-281 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R /F70 285 0 R /F55 229 0 R /F32 236 0 R /F61 239 0 R /F60 238 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+276 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F62 226 0 R /F55 225 0 R /F16 247 0 R /F68 255 0 R /F54 224 0 R /F70 280 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-290 0 obj
-<< /Filter /FlateDecode /Length 3196 >>
-stream
-xڽɮB?04
- v2S_).]{_K"kHow7ϼFm~{obsf`܈/>h?rO_K|;pȏt'_ӓ_™Ж +6￿3-&8$n_4<AhDŽ p\ +ihNnIH
-Ìw#ty#O8-j$'n I>I!7:@{Ms;6ȋY2:c$¸%᯺@ew#aR r-ZIZR nHZ}P +"Db菉U@y 4"aʢMV#eܧԐ\$P1BTkiyZ5U.SgIAk-8BGcxTɬ,ƯFo,qU2 :4֪Q#M][-=>'gFN~ãYeu٬t~<2BڻqqUTƓG_Ϧx.Q$'l*jp L*9":T }+  p'K KY㝫IJ4wA4?bJ/M@VFҧ!NK3tԴcOuɟ%9[wfh2Z Yfpd}J9jQ(K2~t]1ݲ^_+~)Q vƇ<6!dB?{C2̏QZDʯ<?NpY :VIwLn&%[^Õ2̑#̼n%#I)gpMmz!31
-cQ}
-mDB5k}D2Pd P׮(Ӯv&ۊv.}KR0%KA=ZI iU)AaRj lh,m*?ڷtʇTaj3gj$4:$1 %>P=21AyWxAh%H
-1PFMFXbvhʌFFGXk̅稒J0i`EU*fÏ3
-XKÛ5ɿv<am3:'+=ӹDI-X5ȯ 1&>0"q
-/7VJ䕸tMvI;$Z!b\|Qgpōg=&g2EmHEvrM#ETffb
-Efkwx ?rRNjXH>n"F}OJT
-)I
-n(5ޚ*- [&4 Ywݩ
-_ɬ3=3+LzAk!|W6K<u)Zyr'wQfյ*ԹuJ$šSq̇ŹPCɦ&/iO~{?Z<H P#:A;w&71Au4W2h79KB;"t:ȝ;Ӱ_R6W)V+j3`%RwntAk^
-+Cj\(\o4Y)ħ]ՈOUѭfe/O@IUI=a`_Y3*1Q!VOS64jPaM§j H 
-I|kSwZJ2z+ܵU=
-{IbI\]bߪ{"n~/Ϻ?u
- v*5_v/2v
-&iF36:.=Fw1yb`aJ4>qX})y;=dۈ6lM)}|B zfV'Jn Cĕ0EX<54Ңv۱BkClR-ZXe"v:hn8@'7
+289 0 obj
+<< /Filter /FlateDecode /Length 4154 >>
+stream
+xڽˎ 0v؜-SC%R*j鮒(I.?݅Ont`܊/{\q$6qxʹ߯x_?K'pBxᎼow5/i* 98.Bë4Gx:ZfdKlwrD2}trٰ~h)| gLz:83}˳7B188k!:0-W!DH_RxQxguQͯ;ׁfNƫ'u!)/as<Gu(jobhbh]B͋¹vb&yl!xo]d5e}"P+y*DŽ<*?L S
+ojH"L9T28&#d?h2Jƹ iX6,H#nYAϐf.ulRO w N+n*SaŲ@W:<M3gIv17[T,
+_%uBzZ"d?SUPeUky'sgE@Ȁ S#Tyk40h⯙Q
+w.v%3<ͯX lT}`px`#HM=LLхR"YO
+s%7Op/pɚ*"fNIQ_8J&Ѹ1 =b"o-Ê~l*ly=WiJqCP($@]D/мp_2!iܗKުܲ u3 M̀(0(3_)y헮f!@Z` &U ,Pd8>N֭#K.YG*&2&z_;bR \HM֐݂~K{~WsonW"sh74a0ow AuMrF^^_kRdbٜY`yvydH4>OuW
+PfbxjH@.r|. .?~nr+I#]&(ў9]0񰄄qmѮ.h;7H
+4od9$G92k<s|$/ZFӯ!Vm43^S7ҽ#Z"NDlOXfKTN4Xؙ ].;SDIc㎲G.U~DI{{k-wnk? M8Yt5'Auw*5clSy7Ő͌AūvƘVʯ ΌlEA)X47@zPh o Z*ɖ=ȾBnjV9C礓k%5w!nrArYҕ]/#RNܭU,@Xw+';\,7
+A~( :!,uP|w RjD [|047Ks%fc9j4kNWqT=}r6,s|YKϸ
+&fI/8L΋u+yH1Gb 2qtf'Iemۛ p1窤(H:oÁ"ށ#SbTSt-jE7Q.U6#t-T-UUܾϒ
+mJ;xԐb\g\([u͞K``4(29BCu[CDŽOB#Erɴm(Zǭ 3tCjaJ+[l9ZB{ +Li4(Eh5({DV@{QIpfZ[c9CR(\1/BgN|6i|d Ųo`tؐ@fv=&游;-LO<?IHez jٞ(: I@2=X<wk* Ga4!a2>ah4<:}7NJjU3R:g'~Dz6;,/.5֣}}&sF=G2 nݏp؀[u3Nxax 5
+Oq;3F^ɷcAHb9 wi p"B16?1H "01bDY+v%<.nAnWRϦ?F0!4SyܞHJ4?] y& j( =+# X;6[ '
+^†gɻo`ƵF:V9sHCn(ґBnWǃ(=){ς [(} qJs
+z7Toz(i? JLaD%_oQ?πM~&p3l0<~ƕ0B.#H
+qeś.n <XTq/{Fek|US:
+%xU* l<ފ>P.=y/r^2<Gw렀0.B/\4Pb.c7 G^V 4m2<(-"R,T!Fzi<C5*amzUۖ%u< m^{jI*V
+vmLl0D~pKE<ޅj"Z8q P5]C>^J}]tpHj_VVB07RI&f|.QrJ%\Z fa6̮4eVOj٭&ʷR}ˑA%'6Vk)ɴD6𵉆͛ө:N]xzj+ҨR_' K++]C'.FhR` *ՎRB/Fg Vu-toTcԭwZrSYt k
+,ǖ+VSəƁ $7ε62FnX /KtרE*Hv JOu-Œ&vx4veKS's9pG>L+:W-OZV [\[hmBeEkI5Fo>)5K&d5Cg x,kǦ.gEg8Xr'=5H Nt6耣fN[kfBN!)4 +34BfVRJZوԩbkuA066s/>07]ܮm;*ꎵ![/ϩ6z{ 4?jxmYH3HүLh:䱋3aa;;^a>\/+,B!:&6yڦ{N'z5;&xՕ8a*^RO@_i~V1FײSzao~Ao5FW#Tt&uK9AfWXX~=c,Z:&l8Si
endstream
endobj
-289 0 obj
-<< /Type /Page /Contents 290 0 R /Resources 288 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 293 0 R >>
+288 0 obj
+<< /Type /Page /Contents 289 0 R /Resources 287 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 292 0 R >>
endobj
-293 0 obj
-[ 287 0 R 279 0 R 280 0 R ]
+292 0 obj
+[ 282 0 R 283 0 R 286 0 R 284 0 R 285 0 R ]
endobj
-287 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.659 258.922 251.614 270.877 ]/A << /S /GoTo /D (subsection.6.1) >> >>
+282 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 362.08 721.007 376.805 731.846 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-279 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 111.179 92.406 130.57 103.863 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
+283 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.03 721.007 477.985 731.846 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-280 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 141.274 92.406 151.731 103.863 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
+286 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.659 166.657 251.614 178.612 ]/A << /S /GoTo /D (subsection.6.1) >> >>
endobj
-291 0 obj
-<< /D [ 289 0 R /XYZ 78.37 808.885 null ] >>
+284 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 111.179 67.03 130.57 78.488 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
endobj
-41 0 obj
-<< /D [ 289 0 R /XYZ 79.37 240.596 null ] >>
+285 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 141.274 67.03 151.731 78.488 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
endobj
-45 0 obj
-<< /D [ 289 0 R /XYZ 79.37 216.366 null ] >>
+290 0 obj
+<< /D [ 288 0 R /XYZ 78.37 808.885 null ] >>
endobj
-288 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F55 229 0 R /F54 228 0 R /F71 292 0 R /F61 239 0 R /F63 231 0 R /F53 226 0 R /F16 251 0 R /F69 269 0 R /F32 236 0 R >> /ProcSet [ /PDF /Text ] >>
+287 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F62 226 0 R /F55 225 0 R /F70 280 0 R /F54 224 0 R /F71 291 0 R /F61 235 0 R /F63 227 0 R /F32 232 0 R /F60 234 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-298 0 obj
-<< /Filter /FlateDecode /Length 3781 >>
-stream
-x[K$ ?R 8''{ |JK~)U3b=VDQI"/?|~rC^{{'/E]!L_^oR-ׯTBvzQAJר_
-`[f1|աW_S4!i|RB[&>iV\ [m^Aξ~&ۏp^ª(=ð3dYS_z'9/A }/+/1βխpe;ivZ2icpp#i'pV*\1=Թ2+^K\$1BZ{Vq+[Lk-iHy KlliݵBf,VaK\"D3ngބWC%e@_Rzy<ı͂[Z;v!UL3o2CYh`<足܀䖽6iFKrK7qd eb2iN%7|Gw}O<l4_f츌i3NBީЮ\3Uq-
-9S+kCqEӏ(ܮE;#իJ)WuAGD_yiꫳ"gY-\ ʥ>UQfmɩH$7T.e++Q.t(
-"9h] qP-tvGf؅i98
-,. Bc`7w:L'D^bG ;c)9Q\RfP<oFuBS%i" _9);GCq8x4vqFXX"\I4GrHEM7zRq0k<$uSzSi6W[J._+NnXU/ ['GR+K=J7 D}:alRRw&UWVJσf{ONBl88rL
-WPIInx=91LCҎh3ΎS
-YZf1g| iG4kv"=^ mLc+@< )A}c/Fj F-橻+֚ngI|rT[b:2(*f2fLz9w$AYH-kq
-#&sg^ :=b ɳE*wB;Eۅ&}s[NKqK4D!s!dF|fyO 7k8!hLɗ?)5DGK704o,t[q=Z_QH5g;s An=Ҫ}2Gwg
-c٧ic CTŸX]]ƒ'aΆ2y'vylސ{iR%leeu-~ݢO׍Ͽ. kpL 2vlCrI} knJSܺ"
-=VZYҫ9/',p&
-?Lqn)fRPiLẅ́/NnlW(\ݺ z{T1+}g~'h m
-5:hɥeG2l]O
-]" l{p̴:SRY 2ib9LӖ>rkpֻSsqv~
-4sh ձN)Zo5@7սfE*1smȫ j!tlEcyDtk,Cz`BѤ>6"c\*Ķ<nǴu  , Rwbz`: mczr_!߫Ҹ]rEax>:TJ)}^+}S%;U&+\&w^Zv8VU]g'9ze2}
+297 0 obj
+<< /Filter /FlateDecode /Length 3627 >>
+stream
+x\K$ ϯ?0D
+/i뽪jyeh^fUv&|M(͖phyw? ɰqPi>nYHoÐ*dp$i4"yL]^]骩$L,4ąl#Mkb^ pDDmӠ2J+m:hulvf»XJk3ϔL|o[ʻ(cig·iNqcыvqi~!Cf<4RJbfٍB[m4sYb:'sRx M޺vdCc$񠯫U1EÀI6߲PLZZڷ6 wn:Mo|; ִaa!4h6z1A@޸`t<۶J>nGOmG:$*yCuY5*cf3.uU3Fk[,=P};+Qxqke^%[|T#B<Ms_oc菜Di6qK\!l(c0[7GJTo/q6;UlpՂ-aH|гH=|i@X5kP
+晬-(+T7M jT V
+]{B<
+(Q<)ƒD! 9&
+f5L#sȇzVNO⬩F_:nTRG^-ؚ
+TfveX˓з 9Lo0S\TR+ҧ{Q,FG"q"D/myևGtB38g.08Zt<3Hw+ϭ!7J#j 4 -WK'^}+=X7,Q]?wraLtk\qmtf;-;4;Gsl٫С|i8ax&~cVۯs87l6T!
+ ΍NwLjq]H.]^:>iueMp[P G*Γ
+By݊zz*B.-\E/>[4n#Z9pF#X>YR5G'jqh<4nԐ]6vn6A;T8L`*2Vv3DɃ-Km}gckȄ x8oi<gPᤱKKzX|{eMPjzH/P6^wAmfVe2$q# h26
+ >=)4K#S=LM`{NlčNqˤ<,;Dɳpd+zj7x)3UE,I_5Zdr'lKͣh7^z׬e ;s4[jOPa^ xgѪ.mj݄m+٠\t0wr&1{Hx]rtW|>#*dRI/MծV'^nꢎ{
+8 P>UiSiEҔ[ Lv3LNsې ` \epTkfMv DŽI=@_6Cr1G5eDoٻgeOq,¬|:HZrX(m٨lM-թUKOuâ1k6ү;Gx=@os3ټ$cU{+SՄ\WC<Yts;z6PBjӤ%.Q914U!nл/-foAOzqLH4õ)dTO6:< e|\R
+#vXGmavvj;Zm3vm?*5 GPioEB
+voQr pF_I/[M"pgK}n3o(tkq=/QHgA
endstream
endobj
-297 0 obj
-<< /Type /Page /Contents 298 0 R /Resources 296 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 301 0 R >>
+296 0 obj
+<< /Type /Page /Contents 297 0 R /Resources 295 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 300 0 R >>
endobj
-301 0 obj
-[ 294 0 R 295 0 R ]
+300 0 obj
+[ 293 0 R 294 0 R ]
+endobj
+293 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 493.753 440.518 505.708 451.586 ]/A << /S /GoTo /D (section.10) >> >>
endobj
294 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 493.753 564.737 505.708 575.806 ]/A << /S /GoTo /D (section.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.259 428.563 166.214 439.522 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-295 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.259 552.782 166.214 563.741 ]/A << /S /GoTo /D (section.10) >> >>
+298 0 obj
+<< /D [ 296 0 R /XYZ 78.37 808.885 null ] >>
endobj
-299 0 obj
-<< /D [ 297 0 R /XYZ 78.37 808.885 null ] >>
+41 0 obj
+<< /D [ 296 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+45 0 obj
+<< /D [ 296 0 R /XYZ 79.37 748.289 null ] >>
endobj
49 0 obj
-<< /D [ 297 0 R /XYZ 79.37 449.94 null ] >>
+<< /D [ 296 0 R /XYZ 79.37 325.721 null ] >>
endobj
-296 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R /F72 300 0 R /F63 231 0 R /F16 251 0 R /F55 229 0 R /F32 236 0 R /F48 237 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+295 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F16 247 0 R /F15 223 0 R /F54 224 0 R /F62 226 0 R /F55 225 0 R /F69 265 0 R /F68 255 0 R /F72 299 0 R /F63 227 0 R /F32 232 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-305 0 obj
-<< /Filter /FlateDecode /Length 3986 >>
-stream
-xr$XU*Ui$k|rb=ė~HjW5=
-NP8\[~{O U{*& b e%oʌOmTp?}}k'HӾ] iZB Ik]+ V$
-]M MP$"4 r
-% fh#,Dk^UյI4,d euKeuZ9ޛk7~od%Z:v3y y>0.hL?mO{ΡzdjB )<I#\yAVWd, |@D6Z74RBQtF ,c#ۤkáH~Cp= *[PhIV'֜Wix\9t)ByqH*±XMVM̡jZ eu
-ah (;,$V͑*` Et<+rˏkꤻ˪()=,auW);|N)0@Y-b}TFr@~쩞Q $QA&dVKlّ撛a3|ȷ :^;C ?q;a(R) ̧U='لFy
-d:Y2mn84(2_) (s<A2$ |ہƽڑ'ê#;T[yaA*z{k.45W#Z!e0NXHe1Rq,nį,ET sݚ݌͆[5v!DEF6v76F)dPQG9? P(LS=puBjPv|?R ؆Wk$"ՆH9w[HPM(ԹsIDO#7 rN(؟܈y`TX?i"ܷyu=O6зwkU]oQsc/DbH#-E<b4f<ݟت[fu36}dBI\,BJկt 0hFFA <[r[|vjTyYi‡.~QovS<¼ƒ:'_+|53iPV ?:p3GVy´ag JnRguڷb;sҕvtѢߦ$w4EMpľitU]4c9~'!=9HR?r+A`?IZM;yjլ.WCU&"( ast-+z3オ$i6}B^'Drn):FǙǡutM
-P ̪vnvk6)sn:y=cXrxF I+;pnuN)D5RpM{JY5xu'Z{`Zʍ%zэWqJ]gPC˥ q:u Nqt_K.Ѧ$cZ5*Eњ/oxŬA9{F add[,Jx*)όJV ů<ydK@[OzOS+z]ȓi|f6]O&.a(ʟʐ{EE
-7{¦"c});h.X9G]+*Ն)ڡKi`Y-$E1(s_{0)'i( o[15TRAo#enhīVb=;;[AO"֑Db0qKs-Əbd6IT"^lj0FϳZ^X"*x1P}?ItLԏ3{e߫\bkQԫL4;&y! 9/Xrp'巯2kܔ}~n>BnDK2039e+W97d;13v큸lH뿎W{RKNU$ cd,+}x:UF<7Bo[PAס~YPw։=C.voyMF7[5_y"o\Se6&A\nKMkd^Iv+y$턪(^rR e֡՞IompGT!Ji5֫(,p%?`OU0KkoÜ_OP)D`hcv92n.K"pvۡ28P>5n 7 !%Gg[D,emcqxĈ0r9oʨyt]\Hw2/cr *;pICX0Mr['dHi:ۗx8hTϡ= }.Vs8wFLmW9yʛ=o>6a)칶)H ˅-⍸A[X>"\chѩR:ɢ(yźvhw
-aKN+5Q%o3$\c0ptzCq΋Be
-PQ
-AN_M-(:q@]-o|7(u;e[5#&fYyǣ2ٛH):5|c(ƇyF+Zzwt_y)t+~rXU!Z
-܎Ju91Y<,;&yON61ވ62=\_#E0,J 6ϧ
-L>`_>\J|.{Ratѻ QhǴsmN[YֳY\
-t=:)o-~*1܋DBju1$1MTE9S+P)5<:7YζT]b36Y{ҐCfåPkXXJOkSc`p9.Υ3y3iU-ǂ <8t)42{OQ/};2V(YS|<J9ruݜStU`v4_Ex*SUz}GI6M{r5Hx5J>MJÜo,}\
+304 0 obj
+<< /Filter /FlateDecode /Length 3962 >>
+stream
+xڽɎc>_Kq Y88s |JbK~?܊,nORO;iǥEo~釛ϼ.~$ ~뙲kF\~ 8Ws#_?+Ⓝs-sy䑷7ŗ͟W O@8Gu~ ol|_UBP`M0:/G`UtҗKG4}A\ /f
+W ?G%+Vmo? 7Z`?=R k\!äny̪8
+'+y` ɂU8W2iU
+Y{tALU5:f&ՅQW?"޳,L*dd`eU\\Mdnob):dvO&n!‘FrҴFiN&2M)ڭ*<3\!Q[3,KK1" I3M
+UzJ Xx͌]ѳ6CBͮoK߂dXjm u`꼪*^Rxƛ|ި3?ܴrF
+{Ԣ]ZjѸR}|ni*S:آ{
+A!Z0kpi\(t qs x}BʜxJ3^ ;-kgZM䏽)H
+ wxB
+mY(lH$Ek
+ S j'j5hQojSR-8eL.=&<PBEw\? 18ȩh#MY-ʘsQv
+yV@G$npĵkpjԭc<#ڑ8c}D"GA`w=GL:AiѾӊFbgB-ku]P "pG,HE]ݫW_tէ[<Rܭm~S&3Eʟ?74ri)
+`y Э9%I7^aFmhj q1^Ϩ@q3# $}T>?܍ǣ~3NyR8Ǥh(n?!ܗ#Q*0wE4PTkgS*mn1W6. KQ' 噐;1zaG>s
+45Ʈ몵:nvVx+mM B"FLo^aU>a>ȩ6-f\%F 4ekIr(խUxZߦ>2/]wpS;(o8hMn{KkJVˆ6dYH9-Vw[l汒KM 6x8s%A!3}ޞ7Wz|n=ym4iHT n"7NI k@O=eg_z[.1c EYk]k+v
+[[ׇv 5+i%'"5;9Z?L¾
+=@^32+!1lᒶwq$f*y=^C(
+[P%6h?_8R
+cpzoL41ݛ6bET%Eܓn=bR#5R1c);Bí,C3zarMeHgH1ne?SJí$\H6!֤iqSɿ[ȣSp
+G4ձw~LukXz6^剝p
endstream
endobj
-304 0 obj
-<< /Type /Page /Contents 305 0 R /Resources 303 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 309 0 R >>
+303 0 obj
+<< /Type /Page /Contents 304 0 R /Resources 302 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 308 0 R >>
endobj
-309 0 obj
-[ 302 0 R ]
+308 0 obj
+[ 301 0 R ]
endobj
-302 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 141.139 417.517 190.205 431.465 ]/A << /S /GoTo /D (piton:transpose) >> >>
+301 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 141.139 300.097 190.205 314.044 ]/A << /S /GoTo /D (piton:transpose) >> >>
endobj
-306 0 obj
-<< /D [ 304 0 R /XYZ 78.37 808.885 null ] >>
+305 0 obj
+<< /D [ 303 0 R /XYZ 78.37 808.885 null ] >>
endobj
53 0 obj
-<< /D [ 304 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 303 0 R /XYZ 79.37 651.117 null ] >>
endobj
-307 0 obj
-<< /D [ 304 0 R /XYZ 100.292 517.741 null ] >>
+306 0 obj
+<< /D [ 303 0 R /XYZ 100.292 400.321 null ] >>
endobj
-308 0 obj
-<< /D [ 304 0 R /XYZ 100.292 457.965 null ] >>
+307 0 obj
+<< /D [ 303 0 R /XYZ 100.292 340.545 null ] >>
endobj
57 0 obj
-<< /D [ 304 0 R /XYZ 79.37 298.517 null ] >>
+<< /D [ 303 0 R /XYZ 79.37 181.973 null ] >>
endobj
-303 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 251 0 R /F15 227 0 R /F62 230 0 R /F63 231 0 R /F54 228 0 R /F70 285 0 R /F49 224 0 R /F51 225 0 R /F71 292 0 R /F33 235 0 R /F53 226 0 R /F55 229 0 R /F32 236 0 R /F48 237 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+302 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F55 225 0 R /F54 224 0 R /F16 247 0 R /F62 226 0 R /F63 227 0 R /F70 280 0 R /F49 220 0 R /F51 221 0 R /F71 291 0 R /F33 231 0 R /F53 222 0 R /F32 232 0 R /F61 235 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-312 0 obj
-<< /Filter /FlateDecode /Length 3183 >>
-stream
-xڽˎ_?Y|E<$C @ V;~"lvHVlc4d^R&.lQDl>=MjQhytjeˋ`4o Ǐ.o~{Y\;WpxW_ރ?7BA#y&
-%]#@,UpCN7ub eռqoZD&5ܔ=р|U)
-gKY^=%2q 4P,vc.X3 GJL+Ƶ0ZUa'O{2ύ]^.ELEonGb^ӝ=-sdwd!NpQi߿>[\juMŠ
-91kc2,kDW7wõͮ,-ɫӰXa!iVhVk (J$:r6vaBmή㗧_7"y:w`?}zXn_/jf>;uaS"JkP1
-Yt%Dc(!
--OE aU
-Iew)GWZ"b;aAZ2'M qOkM
-EyqkX@ݵ xXS"mnn̾kM&}z_ysj ([þ8r]SrkIe-HRG{RGB@݌2 RjQHn2* P_AiXsOT3ux Pa^U`
-\׷;F¤x)wI-gcLXm9:4ZYO8owJ`%ISpey3vn~"V;^ElZ"
-e ϵwm̪Ƶ8͏{RP)۹U~3zt[srU3 g.:|އsF s''kj6LNz2X[46'7 Frs~a`
-`AX2N x k.hw$i9^Lk-e y1.
-;J/zOW^rz('*n Ar,*Uz.>}֬=NGylb<Q<fwk4h=|@WW"?@b* BS]O{""T}ENvב{+,kn ^nY0+`a_jԔ$*CHAUv)95W7
-7/3 .kރ 7n,%ZSނV!ܦO<xz5li6Bƒ{a&.ss) m ѡuA=e7 R>/jk=}5ah3-η!Z ;?+
+311 0 obj
+<< /Filter /FlateDecode /Length 3539 >>
+stream
+xَ}`iXDCD)~HYdszF1<i6/MnoN(%v{A -$aҫ')+.^JIϏ&)xE>wqήS6
+|.kU0¨.5Ag>OSeYW( zGADu`33 Bk;P&:!22OA[FWiBIEf'I( "dB𙷙1 l=͘.K}nfuUu!1 ՌT#^ `pU4yAٴaq sx\evִeJT-L[9U5Yi0O'$C#=[m%bBLTWLC]g۹'.`#$EnPagHz: &;4|(^i}$K?ICY qޱؽ3PU{9U>TeKaw4βjA#МA& c&4ژ`^8u^.=5*<R oq3Do~clE0q4U()krl|B&D ƛn.ʓ]l*4e֙F@ K3_a
+9D
+|MR|ßi*q{xWVSª
+l ެlsMstk
+Yʹ1%s6 X@oKDл\ˡ`G<Bœۤo5xۃw[08G%;EV 4`VC`3`+c)q_5N@P59_Q?U͉hdyK Ag{fwXqcD^h2>_'z8O?;s%\hz - s  t]{
+<(JmR_6piv]J ,7<-eR;>Ƕ2~ڎ=ǥ-:W.L͕(xebJ㢪e L]kZNyKXe\J0{O
+g)8K4*N+-%KZ7/D2xw4s
+~o"mc䐕!ɧl!|:h+ݴ{کѪ6[<6%W:,ViM~SyN8P{lqbB Zfw9}vᓟOqTBG7z=E7rTXW̎Dr"
+ ջ&Xs9?QQ~:kj;ik/ԍWJGZw]d`kRjRܱ--m=
+Qx^6-æŲ&%X՞̢^>f){%| |&av6ؖupvUzWu"x}o_ױS,vc+^K}^'B) RvS8a®U 0ƙŁ>%ϬO} cn8p
+s>弎YE?Z4Z;gnTtUtY=I7\<(b_18Q_Ato%aI㭻Tv3~su2GȐ~8wG{58T}rL!mDB9.Զn:;݃~RJ"Pۯ g;3h<hVg&Х8%$ᆙ+nxLF'fX[ʹ4ަNش8R;m< &?&HsO?{9a_ޕ& hM=W.^xFylOc&L%4 !ssC1&5VqM +3/j(^CA0_UL_9SZH_k
+WTjQ ;ƻ<ZCj] 5JvEFzzM;NurBYDWoIic|
endstream
endobj
-311 0 obj
-<< /Type /Page /Contents 312 0 R /Resources 310 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R >>
+310 0 obj
+<< /Type /Page /Contents 311 0 R /Resources 309 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R >>
endobj
-313 0 obj
-<< /D [ 311 0 R /XYZ 78.37 808.885 null ] >>
+312 0 obj
+<< /D [ 310 0 R /XYZ 78.37 808.885 null ] >>
endobj
61 0 obj
-<< /D [ 311 0 R /XYZ 79.37 535.196 null ] >>
+<< /D [ 310 0 R /XYZ 79.37 420.588 null ] >>
endobj
-310 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F15 227 0 R /F63 231 0 R /F65 232 0 R /F53 226 0 R /F16 251 0 R /F54 228 0 R /F68 259 0 R /F67 250 0 R /F71 292 0 R >> /ProcSet [ /PDF /Text ] >>
+309 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F54 224 0 R /F62 226 0 R /F55 225 0 R /F63 227 0 R /F65 228 0 R /F53 222 0 R /F16 247 0 R /F68 255 0 R /F67 246 0 R /F71 291 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-316 0 obj
-<< /Filter /FlateDecode /Length 3727 >>
-stream
-xˎ>_Q?Zz]]6lS!Cɢ$K\ AM۲ER$ŇL3/ _o_Yqq#߾H\g^q7Aq>8şxkWYz-|v]õ3}%OhDu $B@/vY5gæ󲒆le& !={~\ !_{C8t¥sMi,-;ͯVu|K[`a.Vz&̜Z
-'RFw RI:`78Ge
-V2#更A$Oj'=
-\m½
-ε'ʲT2)pIB}osqPViJQlD[/Zġ V8'I$6$*AWI/ێ<rڹ1^3-qiԻLVYv66hZY5\m2n#)Wh|k\W6Ko&ۢaxY_eDulsO ,Q;_2Aq'd PCȧ|ÀgZgK<9|1(p͜}u4I)ay[5Joʶ艹nfj-UIFo`=Rd6zkMwfj?U^W>=doj_{%pQ7@f8JIMp2r롸rQ-6[eu(]Ao]`ў*QUz[jDŶw Gbhmsbe%(ߖNR4yD'Qtwbx+ѯ
-[֑;3 c|k4MǣD,ŒTZ7D+et^HQ|&ǙŸ;XA1C#N^PGVy'4}>$@ ϽC_qV<k5r^9`^vSa/%ҪDY?O"_4 teͳ{P1h?|`R'Q0Q´2
-b62R^\(T.1ဢa[T60Hb\*ස?>p3q9d) |c*f]LzBk4*f1'E)WprVQKpRL% Ji]̡&ϴ`_7W̢z#)a`Ҝ5E"9&reQ*nx\q#]Xb2|Է֊"LtYiXQbٌ;\)8
-̀%Nqhd˳TQ9cjO U1!@sUITƃhs޹#I{;971WύJ srw-ѣD1t7rբ?ala.ާJd#glGsfz~I S@F#30)iϙL1r+LKf33`53[5333ỪN{8J0Gۻ'Zt&7j5i/V@V!CjlP&U9aIkDKyB nȑFF''mWYcs}-ʞb,|K28gw{} 4U_u "WԸ~jo=^"^WG=aw>))ocVog;Dzc\|Wbƹ3\Mx<UjVZZ9>kf^z(TأR7C{
->luBaߘl4[|]]jg"b&-|Io{:Ҡ\L6Dž\ޜ^GH&]7s|1au'fZ20k\wFcMC׾ƶZR<Rhf{TRͺ9vj@,T?K: eȶCz)u(HrcKC/o%\7-h{F 8 dYu g:j!ؓsO*Sg.N<_NN|XWt \HIZt(Z)dQ؎ڑƛzSl(,av
-zyGf/9q<I!ՉnXD#Ҝ@ϟI-wLgkPnEqbL.:_ˡ `pqu8"pI#%6.v|处(^bJuhۗ5 _”/?wg/ZOpߢ%$ڡ
-b{huMx+sjŸ
-Dݎvl̇e$hȂ5
-1#xL6ZF7uO.=YMEL13ʹ`OP?vxE=`Fgdm 3
+315 0 obj
+<< /Filter /FlateDecode /Length 3194 >>
+stream
+xɎ^_(6r) 9$}H.<.HJlL 4eQ"߾l'˗'Ǽ1ҝE8'N^2d`܈ӷ_87K]o3mӰLp_
+; ޘtm
+p-axEEU.OMu#!Ӗ9j`/nx[i`N#0dzkOtZF2F֩jߑ62U21Cvzb!
+E\MLPR˭8]RLrj}D@{z䘴",3#K7X@ȨCF>CO jоl]$6kYw oUژJ閆 Z0@%@Tmv5s%(D#HuWaľWE<*_a0%s4ӼKpg\QA_u!][bpd(O,fj ssRdw jP!9F.5s!K.b;r5ozQp "Ƥv)01\MLeY}pew͉7YaF^M.R`Gp$k1KyLL$Q;I0H"8nx&&c>&O7yR#OffB3clԹ
+K74ƯF{}}մm.Em:[DI)uY]OϷ7feMKOY)mSUNe*XJ 9Թ+јx[K֖jw ['rwV\Ql=UiL}Nn\Gkq -uCm&*ʋR|"^G$A qT(ѴqD<%p- `9FspM)gەK4mjo),׺ #DYCMsK.BoVgɬPM@KZ yo~l@ [憡thir)ٗԲĦ<jxY*8p[Tջ@~+&c) Gz:jMwIeocm6CE] 6Y>#?"N>CcЖ^bڱ^rq7D뻓o;'
+
+:(9ݬӐm'y=6QMJ
+-d %TQ#%L],[[uXI32Y D)(
+-NLIҶ&uǦD(U
+I/}pa搥pMW̺ݫ'Ƒkxՠf* 5
+7=mAmy0QjCB&$i꺊 C&܌k_PW̢z3) <7GdMHɉ\^--5ᤵkU9!&Gs[l)*}6H1ȞryMDӚp*vg9ڟ%Nqdϳ-8cHTI=
+܀;2,J< ?~Q}t=Ly}{H}nF@lߘ8;lj1eܨi(V˻#P%&B3.ir`-ҠAroӖ]Aw\%glOKyܔ#wPlxQc=&U{7ג`)4n厌C~wD]r8/7%.n5s%=EƹNC@}*
+ۘoKkPp MzTbmH=,5u[٩uvX<ufVh`PXHv;c1_8Jva̰gr/sFt3i_zRJt FR!?h'9Jk=Q19m*ldgY
+ b6 zN1՞zQ$췅}'B{Ҹp>]\ڷ5
+AlekkX˿:V_+0KTa(fDӟ_ X[ Z. O.lMq+RnIˮw Fs( IrfH
+Ҩ͵-sJCiyHE9oQцn ;9EGVqlaYi]'YJ}մ+ALD,-M癠U<<*$|ۥ3 WU{Hwǧ[.\*Σ:2ZaHr5T̆3` )_6XHギv1
endstream
endobj
-315 0 obj
-<< /Type /Page /Contents 316 0 R /Resources 314 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R >>
+314 0 obj
+<< /Type /Page /Contents 315 0 R /Resources 313 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R >>
endobj
-317 0 obj
-<< /D [ 315 0 R /XYZ 78.37 808.885 null ] >>
+316 0 obj
+<< /D [ 314 0 R /XYZ 78.37 808.885 null ] >>
endobj
-314 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 292 0 R /F15 227 0 R /F54 228 0 R /F62 230 0 R /F55 229 0 R /F63 231 0 R /F65 232 0 R /F32 236 0 R /F48 237 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+313 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 291 0 R /F15 223 0 R /F62 226 0 R /F54 224 0 R /F16 247 0 R /F55 225 0 R /F63 227 0 R /F65 228 0 R /F32 232 0 R /F48 233 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-320 0 obj
-<< /Filter /FlateDecode /Length 4358 >>
-stream
-xڽ\9dWthK V Pfx3Al9 ؉wzofw9b/O///kyIeE\g^vLYqW΍~$84o^_ՍscC.K߇>I_7)oFyRBl뗟3y]P
-9cHNR e*5<Q{1u|?}ϲ3[0ϼ Y9z,֓){LJUH \+qd\ql~rK "pR#8ᑁ&;WEFb6)N
-Vn6
-[{Qmm 81c Q?Y&QX[*4XyGyAstS5*bLi-jV(MtdCѲ*xT2n"䥁t$:̢=SPW~Hc֨22G[W{ %`f_3o@exH0KSVh= YآmlAj:n꽀Ǜ[/}f \҂q#G
-ʾpxӋ3PoAYX)>HƅԖYY:S^wb7Gə&S-퓎G٬w2|zHy1`/{nLq?.'
-Qޔ@D<V18E1yu`3`#*Z{WK|M{Pt'B:zq/^'5wc#d&(+onhEjӍF`g3JRIu߿pr$7UjK|>5g@ցnſ4~0NkV4ܭ UQ=-pyk^ks"a%kk)nv#[o#ffߢRnJSZ_ D6̸ũ_<&G,oڔ8KpjFhyka9͡6%`S(7ڦ3uglSܠ6!l| '=:te@HQ•
-t[z!
-S5RpEƑN3f4\(Bw𑝽_;FÌ;k -(O'!ֺS=@t-s xdC*W"a狊DftEZD;{%a Ǎ^"yO06s2|*Em}rCs vHF!9 ]lV luD-훲gKVGimB#
-p;$_a feW\PʐL=[UU QjG(/wk0K˃u*fӿ|xda;5r++h>" o7LBުiFf
-\wJWy5[*KG_J!Iserh(7 1'N1 rѵ^˂AXS;~-`ªa.YgC0MJY4Z2`Հu7TEs nw%}Tk11xD (kyưUl
-"c6,'C!JLH||[`8s0Nv Kj6%)24mյkO^TVn(9w2@-۵bf+SʑNGghk5c en+ R-so$_“-Y+e1/;6 ~T|gd=>7]
-O(,Nzhu{TQ\h
-g87. Dӣg
-DdbS 8*?dUq!X'(>b<friyu- XݠEԛvqf$G9* F n3?p2Lg~b素3'68+Ѻ`a Qf<Gn1A8mOɸRy7*g*&WW"թf{!"2Rk?J3Aߨ8z`WUA`j1+]?Ԓx̔ڼQׯ,3Lzs$]횔9&7q?)XǓ~oP 7',U xT,(U2 €X1K%Y*L)=}
-'̮~eR6',UC:j->xOh1K|U_<YwOG˜sӌቾ
-veXu}rueq zlݮD}{*]@ɉ֤rO[6Qվp\mܲaѨehB4
- Xaډq9[2 ׭RGW/{ a^/%W [;%YE[unAH`(f'p@f^ui_}I렿^S^<_ݽzSZ?ںbZwzMOSڏ;Ӂi
-9ؤ@)}
-
-a
-֖1*g@꠿R@`B鋰$44 Qc*"*hCiߓ5>fzsFќf8{'m'Y֤+9-=~P.:)z8XV5h„7TIbd
-\۝x 8RExm9a*Ӝ# J|Db])ϕ%Rk;>sUDX-kzPROG^Ǫyb5٥ +A>v,_)>Lk^TQJ)i1~?NJ8#YW;nXJX~FM][OBu*ZT0 
-U4shnYk5ÛZ fCzֻV}:@rTG[">y57:c/ΙjDVRÞH>:I tҟҍ$`$"t4SL20鵬 '׏$:|l T^?(^BfꀃIu}eMޭ1I5p}K8yʭ
-;e8U/yd|Z֙%ƵG 5LVsI0aM8QėIWn_.g z$dڜPoy[-ց~Kl[<Kց: %Id}|Kly/"ѽnqè̴}\+yqݻKh5`TNqb`\YY>ΠHW`? ʶئo#Ha qZD4=gl絻bWoJx
-ykĸ]43ٶkɓANyZlɜ1_ɀ~ֶmb@̄bh tm=
->?,`]
+319 0 obj
+<< /Filter /FlateDecode /Length 4440 >>
+stream
+x\9d WTh#>F]lɌl;7uPwTO8Aq?ݿ~C[`Jo_$ Lq+n_s9Ws+_?+P~xmן`t+W uj_kMϽ㹔eکx.-
+ٹcքW\2ueg=Lr|ebFy>-eǟLod5k81e8_^,&K% s^c) K%^j<L\3^*f.T&0x> ^*^>.(}a:X|R gp<F(ɹsс n/* s1v:(pf:Ùn\R5y#N`APc+Y i+͏O-tT̍ʸcyܝJ@O,8@)-.<;'He'F2y7' 6HHCgPSe$s֜є'Fl&Al?YThqK3}B |BmQyM7Cx˨mO:ZI:ǛiGJx%7^#b^lB0z-G񘺟z nQdQktYV%; ?1 :4r*w_ A[*ΒOu[]MZ®u;${`PK7F5@)"(Bm.rT3+WTGYP·}*/~Ba/g7WƢ*L% N r'0z͞GI|)[Ps@4nI1,(+lyfEI\hϊʼnNil=<Ve&< nEPߩ-my;bDz@!e -Rx0P* ɱ+y;M=NqTz5?4ݛRV~ ً5JoIL(u g˾Fٲun"Arh@ļyxi)έMp+U1=Imf X9؃\"9>\OѿhKpE2"ShO[&VWfзKP`cFq|E:'9Uًs4z7"[DC&wueκ*
+{&K|M"-xuKho/r עwPk[U/^[d@dK&
+ZV1zW;!YUp}%#а[o`D{ _%"γj60  P[m`LUP/}H&>풹&fHb+c=6Hqa>'m g@}rx Z!KZ
+= J10M_rfDԥ)
+$ˌBޙvǽQiI1tA9jrvx,sg`(G/;.0`4 .E`RĚa<I ɷR|H!3[jV%inIrK`0R
+˜9}lq=$3]YTШ5Z'w8_<<׿Dj(D6-m65&U豋QxHzI#GvF)Y%e&#ls,`W"23uz u gY.sj-H"|F=Wƌ_m+|"zCṯTD^x FK暈L8=ԁ//rf#jjs,!DC]WOe2݋p!YJ0s&+H"qƽIYmcfbޠw>R}Qrj}:[oxexIJ1rci55])ɍP]~fX5V XY-ŷ9C)==&TXNlg^h5IBk6%;2 pm4`{IDy#Ůu`9_VnaeKY3`Ԗ)G?
+Q0LoM 'Ȱj G
+FN<ơ˄pWhh}ie#扥aZ .G[4F
+nַ-^atci ׯbP'7a*zM;~.[׶]=b(R FNo`~Rm;EyC!LSD6w_0I?&bǁ,=}RN<}@kDZ-D|R(fo!̆"<3E'uHlRļ+t#¹I7L &03dFGLqV |wؿEkzIK.>ƕ}䮍"3 ĽLZqW:Km\ jF63)bţgXeS24 nU{Uc)-j뻳r1k'95 -m$ ( L524P; H"J
endstream
endobj
-319 0 obj
-<< /Type /Page /Contents 320 0 R /Resources 318 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+318 0 obj
+<< /Type /Page /Contents 319 0 R /Resources 317 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
-321 0 obj
-<< /D [ 319 0 R /XYZ 78.37 808.885 null ] >>
+320 0 obj
+<< /D [ 318 0 R /XYZ 78.37 808.885 null ] >>
endobj
65 0 obj
-<< /D [ 319 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 318 0 R /XYZ 79.37 607.562 null ] >>
endobj
69 0 obj
-<< /D [ 319 0 R /XYZ 79.37 734.627 null ] >>
+<< /D [ 318 0 R /XYZ 79.37 567.837 null ] >>
endobj
73 0 obj
-<< /D [ 319 0 R /XYZ 79.37 711.095 null ] >>
-endobj
-77 0 obj
-<< /D [ 319 0 R /XYZ 79.37 350.645 null ] >>
+<< /D [ 318 0 R /XYZ 79.37 544.306 null ] >>
endobj
-318 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F16 251 0 R /F15 227 0 R /F62 230 0 R /F55 229 0 R /F54 228 0 R /F22 234 0 R /F68 259 0 R /F32 236 0 R /F61 239 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+317 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F62 226 0 R /F54 224 0 R /F53 222 0 R /F16 247 0 R /F55 225 0 R /F68 255 0 R /F22 230 0 R /F32 232 0 R /F61 235 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-325 0 obj
-<< /Filter /FlateDecode /Length 3798 >>
-stream
-xˮ$;m?_yJGGFb+X/pNT<#鮪qiyE^˯we/QDE]B
-P.LXflBnR~%=c$k;P=i#nou'ݚׯ:eȗUGUp!A֔; @Z_| 7 8{-(P 2Vd+Z6џ
-?Szrظ&_BIGtKτz"R
-nBMTruf}_eI]"v型tGRIRϻ
-tp,S fm$,HƯrE2GU"0q;pVxpΑ~i%FWM +Kjƌ{W4Ҧ" к,\ȦܾMi(6@h6G{QB8F<JEklY)XhOl<kЕA,OA,ߎ bY~ .VV[ܱ:*rEVmVALr
-\uw+;-):YA!q uoj9͍NU&SA[3zOb4'Iw$?ϒ"m%Դ8 KhEF2j<!>@AFK8;>5؈a^}2h\1`tA
-ot
-]N51@Е͏Ύ{ea(<زC nOG^%z Grc,z=WjڀxB.V3;;v龮#+VOd<մ8~9ldZ+ÿvC,$8K-{=p!}xq-Ťc?atE,@0kҏ> א'o,0 Tq?
-WeFfBMP\LLql"L ;Q&_4Ch!wKo]<r/] 1(wdOՙhY$Y Z'i#NѦ:IDa@G,c@APZȒ:K '?R08w4X
-.&s1XqOšʎ\IaS(W!ʯѿݐvJ0{'P"@<Ф_vc0FF!H.g^n.l)sYZe63V9;nCgJ> ]<9a{LF@ʰɦ(I^huLc\6+hI?3z9C4^(P|^q
-asIB{}e* >ݱ nxv) %5B>J(7no땢$oGX V(Y045ƾ7b,wc'ԡy6`+s"Y<0=LyÙu=rM
-dKo*QB:Y5vܒxԅϱ
-Z{*
-ѧ ڨ7:W܌n]jJ*6XG
-OOB*yk;"
-MQO &qgy4"q`J
-`L9sw%OR0y_0Lk}'#>xfo̔V[)/ڷij.
- 6+[]5Ҁ.8r u8v&aDZ9,oȝ ʘRN:t7@}J- jcǠMJա>6D &eƙZGO ~ՐauZR#onzXN3n3M*;0mBC¼&{ۢQFgx77ɵ-+B]d6u>ְ^vp .˕nbVdvZB2±VGUV{ͨ8xZ)/=6#<[ mM4ZmWhgݶ%3ul'N/t6 ڠpR70}~`,F.,rN3֘vufcY6K}{Fa4̳>GFU)
-T/Nk6 <Ej]1ktX͖ʾғ4oYrE'{So0韱s'"{Ő^E3}Z.sY/nCnL`¶SLn?
-aOW(>F󦨟4İ1<nW`ád.4'BൟCe+{Ctrf+C|6jTsKr.mr&Aod=2:L([;5B|gλĤ7y+)5\9⪕q%7DzULh@-}Ln xq@B_O TƟHv(fkS{=n9<c,q ռM<\ 2yRO_xW
-|64d.> z} g$ٱbVb#FRޅPM~
- f"hYv< .&LaR 7BGnTJG<!_;\=0`$e}=N*9G!GWxKdiڂ7{zب%y &\k#4͛Q]#7~oDB& kFpѮ_PJ=ǓAkRwe7c,8`9`f`[d:<NO*zOS&l0u:09Ӝ5ȼ?|.id=cFCTe8Z71q.FFV T±I7`(#9rl4?[xÏ"g}<*:x.nZ'@̾uػTinqld(,d$TK1Rן/f~s #7Q^1%\F!7v&1QTzyH \<ohGHt0 0fR7~~~>c]H*1|x\dCSUbjwvַ5ܦýAD~+&+S\28R~=zuyYf;rgUE4}uF(j"5^ 9U)i.u*W]pT}~? t}G= aOIFtY7ly:yP}s8j`jTr\7)7uԂ~.&7q݆B0//RpN{[ԧ>nlZwLE-uCzn뿦
+324 0 obj
+<< /Filter /FlateDecode /Length 3877 >>
+stream
+xɮbr
+F0o2=#22B "bZƌbp+0؁eVc;`ep8 b0 cK[3iṯʳok}'o9SdYՠ\A=zvW/+3$IT/beB9NT_%
+TWL
+JD  !>''JtlFz,{eQa s!q.)6p, ?}c@-ԙ0f3i#iA*>P%S[K&ڢJ=˽Yzņ-bi̞_Wl$
+oTꜦ2@ĈNmm:!Ga+M=I*A_8Vpr5IQ߳<@F><WK>͆
+xL2 A]O+}i+Y+'gcSnKe;)lBcE\;WX V1ؚ"DfMl7[& -[FujVڵsX)Vڀ{cI
+1ҽB) ӍP~,3^W[bqt#UY_5=;%J3WoGZ "81mF]zhiKw!Tg$Z,am70/D|mղ粥D<~[9S/)ɼګ<veYi;Yw2mq iGzJ
+ᘐag:2R$V&x`lucԝ߯)Q0 lS=F{
+Qtb@6D2
+*au#̸zFQ$fx`ԥ5bbҪ4]!I@LrVN}U;uTLˉ9o}E
+sێ3ܶɇN|ɼnKJ]0
+o `\LAUqH AMR46Sw:m.9 ّ?)4\1ŸzcV\d2 nhCdFLyƁ WoiK%}?^I218ϾQ՗iEmJ5i6U5ޑR{]X1Tnx)%Zյj:zepS2`xv<SS#.̣ F+SlXsJ:&=微FS(We}h8IZ
+Z9FS#MtHǂ|` Ӿ(˜<dcPC?/X2[B&Sh+Lk2TH8AGE5%q[bFɵ [7}Az\G饮 3TW2Gjq"8ܹ鼒wmn PgYURHla Okd>^pQO~>r8Svia"noPx;A62$Þuam;pt)P=!y׸ڗ#+
+yPQ&DV}SZ%ҡxu,F7TdlA|nC%̂H,~o}]k R[og®Z޳]`aRu
+S`n\cnIpWz6 Q
+ZBUo* 4>eH8hZDq~Njw
+K Lg;WZlur.Fo\tKl7,FM>Gy}R+ QoTwR6gۃFҸn#@Qc|6UjmNUkb} q-~ϘLPgxvQK͗㙆ŏ|oP %7B gҋ#
endstream
endobj
-324 0 obj
-<< /Type /Page /Contents 325 0 R /Resources 323 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+323 0 obj
+<< /Type /Page /Contents 324 0 R /Resources 322 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
-326 0 obj
-<< /D [ 324 0 R /XYZ 78.37 808.885 null ] >>
+325 0 obj
+<< /D [ 323 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+77 0 obj
+<< /D [ 323 0 R /XYZ 79.37 771.024 null ] >>
endobj
81 0 obj
-<< /D [ 324 0 R /XYZ 79.37 435.417 null ] >>
+<< /D [ 323 0 R /XYZ 79.37 217.908 null ] >>
endobj
-85 0 obj
-<< /D [ 324 0 R /XYZ 79.37 319.251 null ] >>
+322 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 247 0 R /F15 223 0 R /F54 224 0 R /F62 226 0 R /F63 227 0 R /F65 228 0 R /F32 232 0 R /F22 230 0 R /F25 326 0 R /F53 222 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-89 0 obj
-<< /D [ 324 0 R /XYZ 79.37 225.461 null ] >>
+329 0 obj
+<< /Filter /FlateDecode /Length 3385 >>
+stream
+xڽn\Mw@vHN1| rdrC{qykI3d#l~υ_~y|r7`oO_XϤX#7?_87s5,8J\_8W [p}}N'-37 ,-*}B(7\/Ó%qſ~-P7*`B>`q'%VЅ B2Qc|8kqwҤu[Z|fO2oz}JNMdR!5(t4g>hOgKnpT"CSxo.3ǿ/=_\3Nr˄#)f}`RWU#ŖIhĤHFWnQyH4шgqZ>%%J@tW߸v@8cdK]ioFa}*i♦ym0$s+-A*6,*#9 N83 J{όhGŮS(=J-)=I~/7Q<o#k)r!ѦA/WJ nm|k.>8gIm4omy8
+8:oS*e^`*aDd7..KQA
+ZgnՐrK4\WԔbKe1zp_W[{RSJR}0O55 3#&ڨVn3U>)Kk
+(z50ȈPf?@½h^#x&xL&%ͺkbcn0~_wϰ;cI Qlgη4I{2%+d*h3omn: ̓.R5$V| vPVZ:BNzP`fo<Neͅxx" A_t<*!;eg=jenTnD`=3m!(,?^NE8eU|w%KkwDt
+4PiW1ao*<K++6U£+iU'[z5TpZu\/fL`^P#89ʛj2$rId׭A 4LmU$Ώ㣔P!%AAOM@aީrHL-J>jSԔ
+.?
+b$j0BDT~1@n*X8o%/o_#9CF`{Ԅ@18r[}d֫RRdj-7EK䬚yn' Kv v El=EzB꽄`5@Ӹ2C8i0Vniɤhnw
+$LLPc^Pj0߶Tge-&b/h 'YfWzɹ!WE3mGc1Q*~,&TL՚# tEu{I'n9Eל9qVEk;O;;ߚ̍{̃5f,kT@A0ƎJڹ 'E> ФyC\crzIx_nJkf~|ձ};bf<Y%Zq𻯹
+5D
+5ԓ)YNޖh \I]D'yP2.M%]J^E> ;9ק.FoU7x}03պu !4%=y۽ V0_}1nܫc$I,ה~XǙ0 N(=7#e1^E!iLOzٕP: ˤ/;%Ku2&KkVzz  m>xE<DŽR_%0Jt2
+(65ebγP`N[wՏzi] ʟtX5I6V÷8'#S<GWiB#I;ɏy1Ѽv 76$3Ү)Y|BП{.Do8KcُհpRЬWYR)eqLMލXpSe,d4Tҁ8n:SWLa:NbO6Z $O"03i ,ǬPOIZSdѥ>V2-kF"-SgT|VϦ-*g- |_>[~=Ib}3M
+oG}GAp,/0LCG6mO>W
+4)]aa׸u
+endstream
endobj
-323 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F63 231 0 R /F65 232 0 R /F32 236 0 R /F22 234 0 R /F25 327 0 R /F53 226 0 R /F16 251 0 R /F71 292 0 R >> /ProcSet [ /PDF /Text ] >>
+328 0 obj
+<< /Type /Page /Contents 329 0 R /Resources 327 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
330 0 obj
-<< /Filter /FlateDecode /Length 3065 >>
-stream
-x[KϯX,
-9{C[j.ڣ&bk3}ωy9t7F_ĉ$eʹp.ֿ_֚3Z[ZkX %Z O_x] ]%<^g!?|J͜v' TR>h
-hs25do%@>B<Nf4Ӿȫl9bٷjS[5I"wWl2s;.PHv[dtg $>RnΩFCS`OW+Il!zdr'q%V>CzǸ4#mʻdFF-G)Iʅj,c`H^MwV2ZvYwOl!bHArQ,&)VrzB*`p8:H$&3^jBy\.d%H
-ڶg&wZ|v $2d^\[9̸2J$> p)쥊*ʧH:9۾͚jQvh-QLe9 T,ͱtϡ$Hƽ4HK0L0{T3-:p1JՎ21i \)^@ˮ4qr;buvEJGRI~ݏZR1HLNPLy۹z-IDMMWꑦycj<GOtC+srڳx`d}KbkK
- F}X/Ez䓗d,rﶱ}g rj2$zJt87uosq;}HWISzJon!Mo+aV׈>8}/S+
-ycMJ.A4bMƒ$xYj+)+snlu:˙0'סLb6n*AaLO0vJ<q f~~ Hr~M EvY^4 t[yþ~_&R<&ɭV^T_P~{I⧎ K@'`#>p #<YUqPT`jdio4.`vt[ڰ) ʭ1XwC)̲8R WIw_JOWY25CR֗~UHC_dl^gx@7QWa1r,ֲy?%DL\l?Uӣx#ɸB 9υτYUcn>ʜhVP0/`%[Nho kG\HJA@~`á\<45|ys;Zh.X{$iy:T`1Ӧ/Y<C
-ڏx&9l4`}{%y떎tyӱaOGO:>W=fS]Ie8&ϵ :{'\JK&y!@^S,X`9N|bO
-lw!`Hcb' 8)s !a9iP=@2@c`=HP(6 p-$?Y'>>]Ʒy]
-fJ R 鞊H #RC)h#R R#{Li1~"5PZ!􆐮 Dj}{%<Dj}LǾ."b?rx=H-$>H  R1DjtDjDjmo
-#/H V?@K&h/H ܲ,Zp/H r~H 홵?&ޏH-B-aˡvP;tXS
-qR8C
-endstream
+<< /D [ 328 0 R /XYZ 78.37 808.885 null ] >>
endobj
-329 0 obj
-<< /Type /Page /Contents 330 0 R /Resources 328 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+85 0 obj
+<< /D [ 328 0 R /XYZ 79.37 771.024 null ] >>
endobj
-331 0 obj
-<< /D [ 329 0 R /XYZ 78.37 808.885 null ] >>
+89 0 obj
+<< /D [ 328 0 R /XYZ 79.37 678.837 null ] >>
endobj
-328 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 292 0 R /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R /F72 300 0 R /F63 231 0 R /F65 232 0 R >> /ProcSet [ /PDF /Text ] >>
+327 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 247 0 R /F15 223 0 R /F62 226 0 R /F71 291 0 R /F68 255 0 R /F54 224 0 R /F72 299 0 R /F63 227 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-336 0 obj
-<< /Filter /FlateDecode /Length 2971 >>
-stream
-xɎ6^_(x\@rJnANY0Ӈe~U,Nn$(kW-!Zo"뙴5q#/o͹vxtzs|>$^o/|zw3疧qpos;߈G}zni.= c >iH闏#ϼ& I8 )`!R%R X"3Pa//-JX8ˏB)GzA!F${Urt @9jFZ^eIH"+zJU\HQʵs ?:\幃>t*+Rw̸G )>U$Fi7"'I:ެ:DZYvF1 AsEC'hV@&FkZ8 >'u([)+Ӹ$
-q>ulY?AG#ua%)II-y~@b2PU= ]1+ Df3=bs,Ld]l;=b$d`bc^%{xV"=V,Z=p@UH@gjAe5bq#w2bos;1bGY7 |_.J\Y+r$ͥZޭnY3{ZC< .=J@^939JI_ϝ&h^$E4azbJ
-O[f46tfc1rԁr UOI%^F NV032$ (wP =
-M['BӓBӛVYyɐf
-q\eS<P~w̱-XӖj%5]eY*&Cڈ04mC.#S kTJ! XH1Ahht:S*41qyegJHD]Rʮ&
-{Q
-jԚOAx_iL[ތ7H;"ܨf=V]u<ˎrtpͣ!ʒ_Sf8G/;BM%a?,-O1tK<W3jSpI eV"dhai~s2I^dZQ-{[ZRD װAkaֵnFeC& 3F@̵V]& (c0
-.;j}廱Ȇ$+noF|Fq8~r4UumI/0f#ӂ}D@HVEAwXvgKLȂN!ldy V3+U
-ϐ sЖ4{ O7 p+fjIj3s"'~ay!
-FMXΜSSKhZP N۽fFv 0;ߴp@`siB#%s?$jilP#NOaRgH1Gȩ56zUȍGBb}ٌJn?bТyPaI\>h;9I]!t$V6ILx\>q`bq&lf_o>(ϻqL
-˝0?O/?oq1j9hb:"YM5k3կD)_(
+335 0 obj
+<< /Filter /FlateDecode /Length 2932 >>
+stream
+x[ɒ$ W }舮)"}Sd{|`_H[2IQSY <ؒ-;$_/?]>%A$N! N+!:|;(R:#R
+/o<3/>H̞4: ?RgW<=K> ׾ks\D9XY1MIϮ}P匜>9ੱ
+I%;8i`BN Bxy6Z,4zŭSB :%hr$_nBC [q]h}hVym7އLj*.GhP1V|H*3ⴇrr܉"f".4UNz[ uUf?瑓 mLLj1Cz ^GїZ#c&'PQǗxvzmIn`l0#g$mDB6navaH!މY4B},om(Hyqh{'%kM`/ܯijy^Hǹ_8#!)u|]Ms@GuGYHC䛥sZg%O2J6=hh?Q]mb
+k<DJ-i;RC\.Qjpfn$ ޡv-(j K?O-NF8r59m#9:(ޣ<Jo*Zr+}+-UxiwdlVzo(弄NWt)gf\.j|sa>)ksD#6IqNwbC㻹<\NnYz
+s8Hq@_3On"}r :@
+n0oFV
+ rynm ls=546XgtԬMP7kI,rޠ1P z>}ҪtL4ܲvO&Cd &z)'Hop3w-w.O;6G
+.lP= Hƣ3'a1.hx V-1IIp}R7 {KûPu3ՓQ]oFq{EGXVCZl}r"(#<T{/S%NAY ,/nZ{;vvR%f7;0
+hqvh㦤$#S/ZK(^ս2I- 8IsUƵ<Xej箊I|ET=ޭPDa:)Cq4j]=^̊fr ~둲B/܂a(Wõjۘ=Yw9W)xP|m՟>AQ(]:q-qCt%V NE;~k4%ΞgnSazh"M}U=ZJZBKGR 2K^fѠޮfePq%K|$@Tc?AJ(hEiRkQMRu\FQf0G'SWlhfg
+;z[פ:M `|^iS'*2#UJ5bő $ƫ!w@㫷;qBJ5d=*ߪ|㒶ZwXz:>&!NtVMAKT-^wNjA˓~*L@֒{`Flw_U&|7%$7avl*'!)D"99Zu{aKmUx9O.jh| #s!-gMj3*CתR8@7`K|۴RR14sƌWmsGí@ ۔/i֜er~ڶ?]n3% cO'X D:Na{oKc5l/?҂wZ#'¼^|c%
+}
+_յ3ٚtzS(8fY:&Jz)rcG1Ы
+ޖgG ϐRRӛZil g1 ރ݆9w|b
+؋r"FPRE^788LR5y3<<!UJ}7Hcl 5V/gQ }聮Y޼1qZcz ?<-|axWT+ϯ) rVx}oUA ~ߕtzN@,,G!jp]٥.}Z&[2
+R@~Ov$tv6dZ$;3i ݙrgjZ6'7%+ߔr44}dsOt:˥iSe uV{C;nQ=<
endstream
endobj
-335 0 obj
-<< /Type /Page /Contents 336 0 R /Resources 334 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R /Annots 338 0 R >>
+334 0 obj
+<< /Type /Page /Contents 335 0 R /Resources 333 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R /Annots 337 0 R >>
endobj
-338 0 obj
-[ 332 0 R 333 0 R ]
+337 0 obj
+[ 331 0 R 332 0 R ]
endobj
-332 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 324.092 644.205 338.817 656.16 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+331 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 324.092 367.853 338.817 379.808 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-333 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.538 644.205 361.512 656.16 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+332 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.538 367.853 361.512 379.808 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-337 0 obj
-<< /D [ 335 0 R /XYZ 78.37 808.885 null ] >>
+336 0 obj
+<< /D [ 334 0 R /XYZ 78.37 808.885 null ] >>
endobj
93 0 obj
-<< /D [ 335 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 334 0 R /XYZ 79.37 503.382 null ] >>
endobj
-334 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F55 229 0 R /F68 259 0 R /F63 231 0 R /F65 232 0 R /F54 228 0 R /F32 236 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+333 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 226 0 R /F72 299 0 R /F65 228 0 R /F63 227 0 R /F15 223 0 R /F53 222 0 R /F55 225 0 R /F68 255 0 R /F32 232 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-345 0 obj
-<< /Filter /FlateDecode /Length 3773 >>
-stream
-xɎc_ F
-'q$´{Nnjԛ6%@%y`$i֎4PzD=[SЏ|lyEd(n(0 t
-3`EǧӛQVTf$W|Whnuq(4LBqI.68漬J&b%{˚G9^2Ϛgy5>+q >Y2 t֬H0JqDb
-1tL8+YƄJO'/yK93
-l7#c*j@XKc"ME>-5,5
-EMȰiKLe5j<:O,!5 R R2ņ&OHǤӖK!a[mw^2Ognre5jnA8z*=9
-4'pkmȞC}TF3͈Kܣ6"'7v-
-Dҍ'3usL5bBBrk+ҍtdɞwfŲT ) k/U8=%cȭHT U˩j*SR&3QS2Y:M? ؟ZvRbS/\nZx)٣.^k5F!czeaI
+342 0 obj
+<< /Filter /FlateDecode /Length 3275 >>
+stream
+xڽn+<Ye4!p+te ynXJӿO3oo"'qI{F0n?ΜKcNF?#d,8ga-s\ !GHv(7kJ(d2;#G)j<_¶0
+pHYds
+<L f2)+epl
+hV+-U
+qwodFP\qVӑ1Z1EJotq57y2=a'r^ER'*]FzSYR "dU̪\ҵN{۰^RL4Sxf4 Y$T!)E"WBy4
+WWTTv/*o)/;1iJ
+A.tᶯVy0.uID.gs.t`n4J):Rc
+ǙBVwU=@kEGLc<[˄0k>agI)ne!z7m`_f5Ѭ3 c֨OnZk-qTH@5zҏ@ r*1H]
+<zKՍ BA⨮,epy޽ S(5= pʹ \rp2d F6BY
+ZcJ&*,%ZsZEg IV&3W<k K9it8dȈ@ ଇ"y/ZEcb *& s ICZy1mh'<)l<2]VVns9!5z똇=3ìOK)a;zl* BB{BIlW\1v#}i 9*LQ\I([dpîcCQEe锶p jRqh=Z0mݞIgqz۪\)}Խ{*ʫCѰF&ʌWQ f,s!,ӕT@F:qM5Qrw3wpRCh741/J%ɒӾ=J/PLpݎGй[G'^ޏibeѩK=ooʩ9_ch~,ob_ܫ8+W9caqIzڅ@6g<;쒗%s-ӟ4qZt?qt}4+EcRzZ'AL/!W#zfX@҇!nSЬPImsVjqJ^sP?a sn$!
+wzp\l?otfC.܅Y_z+;^*,c
+[\V0`)V|[MշNk݅G֬1CG(- 7E?š LeN
+6F|"R$7C[,ˇnєoB} ٚuD~\ހ:or@?Wp{W6R9GNXg'1-n nЅW-Y:$"wTllؙ?ҍj4V)n(1үB~5?֔' Nj
+m:;>:8;dwNnNifѱ$
+[2 _IШ$ bJt~!s yvn i
+,0׿5'_&e\0F}bM+v`]JׂduKWEx 0S@%C]2M8ŌijPJWD[I3bt:n<Usk%^V2g@ťzKN"K Oߋ/ gǝ񮧮b2cAUy,wkP765CfM~"WMtUȟ~_rQxCS xZCߩEwa ]]3'ՅGBk p0b5n0֘,S3q0Sf1RN?]64&m]zF/6b*k~(DH8nf1|v- F AFD<U0FPi^;!AYn&tdXx9mKk@-&])VP5݉.(?jւóv[>&NE=|/EաsHlu7n?磌z c38okHꖙ.-:sw3맖Kݶ9F*gVIt<ƒ#ۊ_^_iZa 6/ZOKzǫr3q$cvzm,&' 0F^yH\l<动_)6V" g9o-$ΣJxDW
endstream
endobj
+341 0 obj
+<< /Type /Page /Contents 342 0 R /Resources 340 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R /Annots 344 0 R >>
+endobj
344 0 obj
-<< /Type /Page /Contents 345 0 R /Resources 343 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R /Annots 347 0 R >>
+[ 338 0 R 339 0 R ]
endobj
-347 0 obj
-[ 339 0 R 340 0 R 341 0 R 342 0 R ]
+338 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.333 279.014 424.058 289.853 ]/A << /S /GoTo /D (subsection.6.5) >> >>
endobj
339 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.333 609.828 424.058 620.668 ]/A << /S /GoTo /D (subsection.6.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.779 279.014 451.734 289.853 ]/A << /S /GoTo /D (subsection.6.5) >> >>
endobj
-340 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.779 609.828 451.734 620.668 ]/A << /S /GoTo /D (subsection.6.5) >> >>
+343 0 obj
+<< /D [ 341 0 R /XYZ 78.37 808.885 null ] >>
endobj
-341 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 470.992 301.652 485.716 312.491 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+97 0 obj
+<< /D [ 341 0 R /XYZ 79.37 441.006 null ] >>
endobj
-342 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.668 301.652 510.623 312.491 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+101 0 obj
+<< /D [ 341 0 R /XYZ 79.37 266.055 null ] >>
endobj
-346 0 obj
-<< /D [ 344 0 R /XYZ 78.37 808.885 null ] >>
+340 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 226 0 R /F63 227 0 R /F15 223 0 R /F54 224 0 R /F53 222 0 R /F16 247 0 R /F68 255 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-97 0 obj
-<< /D [ 344 0 R /XYZ 79.37 771.024 null ] >>
+349 0 obj
+<< /Filter /FlateDecode /Length 3512 >>
+stream
+xˎ_1G d ,P5 8D|~{zW`&~yOO?܅y4'Mܜg
+|0Pfw@s7gGOW|WLZ{3M0-S3g %z"߯:ʽtZ7xʄ&@3[VAb]<.."S-Q,&,Y<2!nB"|#&<|n}M|eRwg4x%8k{".<gTx*8YZ,|̒,)
+4jni>`@ 1AޗMncsU<mB~3u!.(
+z(OxNGV,h{BMMu JtTLWS30fܥH*&~([/[x=QyOr 7;RcOƫ-1x(y:Sn4cDx=2,4Wn5*jQ>dJs!U.$Å$h8HJD^>mMJ(C!4c5k<F_Z~rC2x̑Zi?SP8rB2}"h*9 $ 9=3ڋEF_91YV:['iOˆLK*$1H;5egW:R6"H[ƻltvՄڼbq0SX6aQS9w<evF(5uYB\[NYXfP_Ni}-'7䗠J,gcox4<L1_N$%sX*1*n %q'd0/,&{G͌Db`H`)$\hT]kpeaFNHUhVT
+@Ռ
+fE(m\++D6Ep/6!o x)`X-mٖL~L2*u:r~#ENvRbsy7rF\"K XORPhLK{VeQZH=kD(e0hɲ.I;%=aD`~)9BykAZp$g"$զ֊Wƽ+'LTrA2'9KL㛒 gN
+_G|kH.L\k{/ &of..
+巈$I".0D\!Oz-# %#b]a
+e;CV ܠk =5\e#R2wlKۄ>c5G]V㏖.c?vܴfҼR5C簶RrHեHXL|D^M;!WSc ~cYHҕ56*s&'LtAK#[,0p6e]Jasb.bl}8j+ݸ^?O9t' XJǤ@*m~xtN@)CǠvݘDҦk3uG3kJMɖT]K1g=0&(6Z4QQ1K/i
+Kcƪ2\~nxJCqiWzpߡb;X+
+yQI._L,fI=Ҙ/gZnǿdu{<(&6,[8\<5:&DWU5B[zc+J+`/Oz7a3"oO?/Vy5ZK~ 0$:+AƔ_wP e1lPEАsY6* Ru^Qz1Zc#KdO)*F3'(G2F&G%a=if8kLc2@Z=!S܍sJpGqңZ)SH0"n!~ڭ$xC & Cғ%Iv(4B%a`z,\cF t؏_cQ-ޠYb^X0-r+8B9fdcQR]VKܴX&!%cv3d-d)sbk㔚e:J*9ОTRՓG,,z6C|y~#sr< < DxA
+endstream
endobj
-101 0 obj
-<< /D [ 344 0 R /XYZ 79.37 596.869 null ] >>
+348 0 obj
+<< /Type /Page /Contents 349 0 R /Resources 347 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R /Annots 352 0 R >>
endobj
-105 0 obj
-<< /D [ 344 0 R /XYZ 79.37 247.555 null ] >>
+352 0 obj
+[ 345 0 R 346 0 R ]
endobj
-343 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F54 228 0 R /F62 230 0 R /F16 251 0 R /F68 259 0 R /F70 285 0 R /F55 229 0 R /F32 236 0 R /F61 239 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+345 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 470.992 656.17 485.716 667.01 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-350 0 obj
-<< /Filter /FlateDecode /Length 3177 >>
-stream
-x$1߯P
-" xxΎ
-ȟQݯbݬIa.Hϟ?tp "Xx'uO]\]UBZu')飥@Hx{VJ [4 sϟ x I=B7R:o:@82׸R|-_!}/^)pP1~C A}zE'yP#/LF!@˿ Qr@rR p~IbزXRD$t6u@+q^} L Jhi);=HdV3lUZ p-)b歎]Bi35:gH2K EfUKD
-I}V 媄H'\C_?2b?^5Gz~-w&l0*N%\' { BYإ‘O#YB:Ol zT@@OIH=~ӟ+cN%p:̸gDڵ;gz׾D|/>/@ .Φ$lb$UZ
-ݢHnq_!SO&qe. ODzJxʅk^Q_],+sv\ w,4Fe?gJ4 #굌Y^unu~0NG\m7Xgc-?pևxH\,yC84RI tg ]뭃5hBn cfBqsd_&Y ;%!KzּU|ӆA&,FI +
-1Q]Sa!hah¶]m4pζZgY0Y*I>{Z`aD5JnRoGXGӯPtm>=PjgQ23&z0~=4^0)A
-xOȡd.5[k5Wb\\9Rز5wlF
-~6ku5kg|U
-*jiN*[u uk3 \9.6^xӱQaWhiOygvt(e,4f7q%;D2 m;:v5ql\0]\RZIvմ·i(U,0 W
-e)W[#]vo,IxMtth儓=F
-iw9.f(:Q3Tcq&,p "#(p$ROgGf{h Q}3+ ImZob2J AH_tS($
-)k\p~g[U7>N0y.@a7pb8;]ksc!L*F t%at{}=A
-ӎ-y`H
-^ ?
-淘?S֧1yM2d5#EwXhj-X+…~ \TFWF,ȖWb1ӱ h ??9{u%Ax?|dt l2kQ^m1{d(FKƮ ݟelʴ
-endstream
+346 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.668 656.17 510.623 667.01 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-349 0 obj
-<< /Type /Page /Contents 350 0 R /Resources 348 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+350 0 obj
+<< /D [ 348 0 R /XYZ 78.37 808.885 null ] >>
endobj
-351 0 obj
-<< /D [ 349 0 R /XYZ 78.37 808.885 null ] >>
+105 0 obj
+<< /D [ 348 0 R /XYZ 79.37 602.074 null ] >>
endobj
109 0 obj
-<< /D [ 349 0 R /XYZ 79.37 672.535 null ] >>
+<< /D [ 348 0 R /XYZ 79.37 379.645 null ] >>
endobj
-113 0 obj
-<< /D [ 349 0 R /XYZ 79.37 281.041 null ] >>
-endobj
-348 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F65 232 0 R /F22 234 0 R /F59 352 0 R /F16 251 0 R /F15 227 0 R /F54 228 0 R /F68 259 0 R >> /ProcSet [ /PDF /Text ] >>
+347 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F54 224 0 R /F62 226 0 R /F70 280 0 R /F55 225 0 R /F16 247 0 R /F68 255 0 R /F63 227 0 R /F65 228 0 R /F22 230 0 R /F59 351 0 R /F32 232 0 R /F61 235 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
355 0 obj
-<< /Filter /FlateDecode /Length 3179 >>
-stream
-xڽn$5Wt8
-&o@<Pf;2x#ǫXURw:}H <-Ox uyI\8/.3i/ƍv Or.+>3kkyĩ<Ͼ~ՠ_Y26iuq.VZ&tSuT5 XLxM8pHW\ӽN s:dE
-fԡ&)eR9V?R`4^
-fjaF4T4tioFʏH`za)Xk$A1cCl< @+ [COY#ØpoA6PKcߎN`Ik<d G^kfy5̧O+ _Zq9rvV2YKV9\prr+܌ G4_w/,7
-%GA Zׯa|!"@L&\YZF4@oT֨q+i5*W AB˘`.i
-Gti1bd BpH೰v;ldej`;\ w>}ɂ.OZOHK]n i2UEF4T2x% @~D]
-(|Zʦfd4,ҭʹ3J+ȑ|˄dK {zäl|6iWR0`g>־++bZ$"e%"=LN
-[BnFA"NG8)i?tK F6ʝ5i{2KS+ir|2E8/P]5>MFyVAwuu!'_w( ٍQNIIJSQi0MMCa).WMo vfd)4q-뒻t+jڤT %XRȶ/FJJ
-* e|KbGҾҾLQP>T~*rJ/ܓuϬ嵂ZX
-k^fʠ0#QjeI1 0־偺aAf
-:~i9V&zgb0c\#J(U)ߴ{".&-%&2ÆP&eИ4k
- >{,Iw:bߩU6SՍ>{3Xxw_*lT㼟󖒰LIx67LI4L+6{ q1Swi[Wi7d)GrXq~0~U)!Ӛ;u&0.ڌ~U(5Sra
-$ZGnfA$1R hޥflB? l
-]+*Zh1/R(/fjW]
-"LIkVmF)`[Ap{鰧}go<v1AX x*T*߷`7bOGv mOqDcU^Ir͠5)F|k}*̳ʮ5"G}F%L,K:NW43I )λ;:V AN(M3&k7.#)򡱀0(hPI߮xi}ڋM:w.e΢SOm( m U%6>1o@ 5b{@k%A+SA=]<hC~9X "-6mF`\+N~TπԱv7#'`Js=sX eQyGcrm1Bqf|y{rH0G+QH[v
+<< /Filter /FlateDecode /Length 3252 >>
+stream
+xˎ$>_?D
+b?HJU=
+O)!:g)R4i.Iiuyv+z_o3L¼<ł}NߤT_3AS
+Zz鍩ȶ4:u EĻ"PR5>0c$jв'UI<VF'4 ׼5ltӕĭ۴ɠC/R]Qpɕx%9eSN|YWR"dNo-ϛ9w\J^鄝QgCہjJ|nZ_6zf@o
+ >Yqߙ]\ *p5.oЇ(`PBrF2\!)bQBegŪBXe?Mliglf"ͬmșsc|WÖsYQ:̄(2)<?I.nobWIGYgRs_Ȁb7UZpF
+]Ph-mra)"hS`KBju.dMƅ[t|xɝH#ND7pmc[W.ss9'f)hOX1{И kk^L47\쓵fQ% .N,-WR  *xX)D
+fg ht.ڏ+%Oջ)?yĔOA͕Śl
+4cpp]XA/Rq<RW!?&=|F,{?SOc]CGXV~ݜer>9Apq}ae}zȅwDW`6)@k*]Ѧ>&krvԙjmY|/O-'>TK6AG5Tȃ\6Mn<5D2wXh} …~8%ceDp{eDB2bcUaNhJa|p}|ԬOgK;񔄵MZSCw:sZ+w'tM? FޱZ+?Sa<k'u
+mrf^xnAxңr \.-ĥZ,V39w
+ZȵG·`\ACCN(<B͇hmDl h
+D%>I ]*;&UoN
+CݞV-0(7)ZBp^;Z.
+t>$ry"k^ō~a*l0;)cr
+mnl_ n&<:^*Kx=ũ{\ C;‹f MuZfͫqs1{DÁۅ4}QpY <01w
+?~pՆ\2l3%}q)-<3 ULﷇKu†;\Ңu)OR5ptA-0d7 .!{yE=Ww\t¼=Otlm<oa_(]Qjsv 2鸳>Oreó/UcBlmxW3}n[@BaCsmHWHL-랧mK
+_trscb8/Z1.17S3~7O,HJMAlQR]f_G}uwXHe/%pSJBOsh
endstream
endobj
354 0 obj
-<< /Type /Page /Contents 355 0 R /Resources 353 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+<< /Type /Page /Contents 355 0 R /Resources 353 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
356 0 obj
<< /D [ 354 0 R /XYZ 78.37 808.885 null ] >>
endobj
+113 0 obj
+<< /D [ 354 0 R /XYZ 79.37 602.797 null ] >>
+endobj
117 0 obj
-<< /D [ 354 0 R /XYZ 79.37 545.032 null ] >>
+<< /D [ 354 0 R /XYZ 79.37 166.052 null ] >>
endobj
353 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F68 259 0 R /F15 227 0 R /F16 251 0 R /F61 239 0 R /F22 234 0 R /F31 233 0 R /F25 327 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 226 0 R /F63 227 0 R /F16 247 0 R /F15 223 0 R /F54 224 0 R /F68 255 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
359 0 obj
-<< /Filter /FlateDecode /Length 4080 >>
-stream
-x\\)jA`Y@Wkj&%Y%H`<PwrNUmF\B,"pݪI._A]$. eZ|7) ԟ:%`.֝}ʸR }qLz7%@e.I}o=E2 L+;r?J~{ieD>`}Ry&)K/婗yUf^߅OG4~H7gp ){@kRMfdH1%myEDk`;j,zߟ֪HWYP;¢{:;2-^+aBiﭭr];Uw 6C
-F`}1&9e)>7ì?p0:a.|Eevl|duh/cV++18e[ꎽ9gmрr)kATX&Ѩ| tj+a ]1o…Tio5!^K!uU8AvLn\ƓiRi}#^Ph5B{Z<Z<_~u)M?7"3D)R([ }Bz?!_0o9bpw4J 1BBd^ɂ?vyo2]~:*!$ЗW|qo
-I>5VoejL~輦H*O# S?6 [cQ<wW<-fug[ܔR?Y[[fPk,އ
-4F}\F3n*"퉋n,3';N3 |۩A AiM`3wp)¾#(yʉA]"SY1R[`珉pUyP] 
-޹&!%O*@;=`#` $Q,EʖԿB}OLkJSo"k&ObrfƗ0R`8_|E8 [ BOޯG?%q =1!vR:1bj ׬;S\e} lU
-' 98ֺE%=߲[B/
-7O
-T Ls ( I:Po++—!w}^QܫLNJn*kn.hLVM~AfCf7?anSӞ~L jULG`c:-L[,OO[G7Lt<0S8L=ێ.lKQ#oY)y[=i&|+DOcҹ_wsnCM5'%͊StIpXR#8VS}4S@l"80mNtCu`M61$z̬L> %czik=08I_I_? lYpq{< sKrffi/CAdü4C 3v+!T,Sdjjۯ5W^{[ (r=ېLSZ*\S9^b0BKZ*k?uc93Eʠ5Q Ypݍl`cE$!oiS~-{)nSa*/5s1fΙc v{pTM>f$KUO&/tk~T<2'F B/ң)8Raˎf| Y
-{y1E`u1%8uh(NqİQP7xuKZlt^[x8~ =m)z?P>lGxח { ζ[0
-xGgF ~٨e7,hM`7σVQ8Kg^_CȻn_czO]$ykySidI5UJOf,K66U&<1-2Y76;_s{NveW<^vg}u5A}!syw6mbET8}
-x ^XdLUdiƪڱ"8KġݠkIMTQ~R; yw4kZ5
-i)}+g*m|ܞ~b:ٱԁAaºV$%U']+H%ϓ+*z_liuURyiO[m% =i V<@zBO5VM&HJmώ 6]6U{h܌^zlMrW tղoD 8UrGn`{N:O
-W唙fBv6!h瑲Rt
-|~ζ/|*ԂD53k 4ǷXɶX?f
->̣ak5t:D3=&W/<e.O)L d'4XcbS82SGCF
-@a`uk9G6#q(72\@azo ^{3ӑ-6zZ5 OUbgKjc 5-c#g u/q$nk-`Uh<Zk~3qgJ(cP^vk7RwQ9eUT+pM4eg<A
+<< /Filter /FlateDecode /Length 3538 >>
+stream
+xڽ\K#qpb VS9>%H$(ݒGfȮ^yIpUSӷ}PtCY%Uo~zR/R Jy=4^>}bxw_9߳~u2lB}L1qx!.s=a<1^s^8Q_t#/
+Nǫᥧyd-plT2+)տٌHg:mDYZ(@]]&3-$9Ֆ<*Re}ȮI>lO<f)VB9]%:[',J(WzM4z:4]1٦]TʰW p0̾hQh3{^*pVyAE_B9Axv
+g,!(g??-L+dϲ2Gh[H)z@:D
+$*)L̓wͮci ubmFfUTƖ5%CuUe@`7\).٤>񞌱n3jSF
+4-K
+xl8a IDЦz^=
+DC_[[\:/ͬ;H> lDs8nGm&fw1 Nj<28Yx)*C=,z 3\5bШP =̀l1+Ы@ @&iW|e>IMxЬ=nak
+aO}z=U:H2ؙ;c`);X$S Y iDJo@h!WƥV&ޏ˨҈(j:6l<!&zp
+i[E^ %LHI?n| C6h(5,@Ȓ-MZN
+BV1gzCt3 (ht7>U.Ɲߊ gq~.FSGtOG:99rA1R~;g3tN$B;B{*0.(1l93fk͡qHL@;Rc; t1f~:~FL6 =;G.x6kg&f|EG-йMMVTp7RԺ=xR5U}RGWUL!u}|_ Q=?LwJ?'L?NQs<m|c$(#/75A$ߩBIrj DhbcS?Pś\?u=^3CHNHߔ0.ew0TlRn+3%\w(kx%c:j5M]s~jepfт:Z2[w_[Ys߷'8RFRC LiuZqdifI׺G… o!<ϋ~y<i1=%7 maAVL7w>Lygvm@餞ݳ}lM4q_Fysߟjfg &ݖ|c[cm|v_!*+ 0F9^ 7hb~e E*ѳ }RZuv 銅9WgK^խ=*w_+own%q0g1#LgV:
+Ը%.Wp䍱FvO$.L.ҕe A-
+=+BU%%V7˄fk/N0@,Rkh#=zX Mp[KbJ*}O>zϛ#6(fELXt{Izo`.z} DF;wD DhӢJۆ'(LY@Vߢ#ꭿs$k>.( %t.WW-&vڋb ׬ }9#kIY9#A4ڷ hqͺV <mg=߁[bֳ쳥[v-_k>4owX*ߑ'lcIöQHyb텁Kvn24+Z|VK_fO/6zk@FnvCG9]_ K`sk87<*]Y272w `a6.obl/;ϔ)`;S]oTlOH 4ntP%8hDI/8Ўx@<
+k iB}M
endstream
endobj
358 0 obj
-<< /Type /Page /Contents 359 0 R /Resources 357 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+<< /Type /Page /Contents 359 0 R /Resources 357 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
360 0 obj
<< /D [ 358 0 R /XYZ 78.37 808.885 null ] >>
endobj
121 0 obj
-<< /D [ 358 0 R /XYZ 79.37 689.086 null ] >>
-endobj
-125 0 obj
-<< /D [ 358 0 R /XYZ 79.37 576.152 null ] >>
-endobj
-129 0 obj
-<< /D [ 358 0 R /XYZ 79.37 417.923 null ] >>
+<< /D [ 358 0 R /XYZ 79.37 302.535 null ] >>
endobj
357 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F61 239 0 R /F62 230 0 R /F63 231 0 R /F22 234 0 R /F31 233 0 R /F25 327 0 R /F15 227 0 R /F59 352 0 R /F57 361 0 R /F44 362 0 R /F56 363 0 R /F53 226 0 R /F68 259 0 R /F55 229 0 R /F54 228 0 R /F16 251 0 R /F32 236 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F62 226 0 R /F68 255 0 R /F61 235 0 R /F63 227 0 R /F22 230 0 R /F31 229 0 R /F25 326 0 R /F59 351 0 R /F57 361 0 R /F44 362 0 R /F56 363 0 R /F53 222 0 R /F55 225 0 R /F54 224 0 R /F32 232 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
366 0 obj
-<< /Filter /FlateDecode /Length 2801 >>
-stream
-xڽɎ>_Y,.ڭk߂\CRDv?#[jgl)IŋZ/_.[vgV]UJ@lREכv骁.>z)KօݖBIh\Vx`q]gWx x"ꎿLgH= %yVy2ë
-`S5|g$>IukqKBHfPۢa1@KwdQ
-gh.]Qh\Zm2Ӂ Ga{l .k!ar2$X ֽd~>u=u:++Tb'P#>-d'=^.r>ƹn-zC2_Tݓb@Wd1%{KJE:>-lEg>nKyasA,Hp6e. 9sUi\pdj cn92pt'}Gi\ũ$'=TSWYӮwo sqN:%;#Jfu
-. m'ߌՑ/үMk, PZ6(gP.M}l
-$G؁TCS%";:e;*!ƈ-Q^5՛f^d
-Bby6ZvcǙrHUʉx_FEfHX PR{"䣮`+lA}NȚՔ}Pip>~w{J
-G7N&!`(C=£f09>,2 ™ b%#y++ɳl{R* a_Tb=_"բ'bEOL:~JR֥^qٽr=-ȽzDc3y:Bu\hA`A;g/k@
+<< /Filter /FlateDecode /Length 3269 >>
+stream
+x[͎$ S "Q0`z{ڀ}27ç$!ރs_ꚱ0UEb?/_^,^腼 BJH._]~z)R{4
+,}R"а@xY{M#tzSc4<P(X(^5t]7ILKw/<;(&s &a)b2o{dp4 h("(PY:(텶a%^TD1_x]4'iw&YDU-!%Zy%\XϚZXT6:#i Bk[vR$pԯwNٰp8k鰑ֺd=Wfd<#^h",t G܎Lc&
++Նo
+ we]M椼py4g#D63*O${%ݳyt*ؓpF~kV̺ VxNh^?v#!yZ.$ _hlP ֌lvt~P]OB5Q Owh_{kOWjAA~񤦌6M)Ep~ývD1eR^+
+\[1<PkY2">ۊrY{#3<~)
+f*sV(JH<=-&RNozaE@0q mr^7b1\M2МYH9E5楌.^&,
+ETxne'ĽSmVYFx ijzTXzT594|nZ_֔֗JQ2 T njxtZzLŮ1Dn \1[tfdª=y2-vvx)oSo)qhÑ$R
+1ΏP`)PT;듋u^ո9 mL?ȏH81c9^#m>4-(-
+CeɉaE+@ኗOiwэcb޿>2 `hp۷4zR_bM҇ӏ5<(+""gTK}-\MaRȜ(`Րb=FcG}R}eRn ><6 &XĚGb$ڙux#5J5>!))}i5
+5T*J.
+;2tB@EOu#R& 9hYw,8#.kߺس\[{0y<UU^a(u~)IC-󩗋@7S/"Tr}k-!Ue~EqU R,k^e'l,^B?'=AӭWO󣾋J; V,Uc=5W 'U 1Uh5#taFɅM͔q8׏/Nze5O\P
+`#GW\rc/IӺ`͵zxJg"w/Ru
+TL#}/K-FǰG>`ue+
+ء^EtQT?h6ђ8\h/h܂VDuީ#Z'f8b L1>
+|^-w ᝢpjJDŒt" RKv.nYKSJ S9iOOּq狭
+6,8c*|c/chy/ZI#egt03T6ƮscYf¡o _6}cekz[38wvZZdz.3<p~ִ} R+wc5w5}͑;D2jI#\_NDXJL!:$15VP=t'#w<9:kO3 YAl&ގW&jI wBYq +O 00te[QqoX|oi쏑/sdiû{y&/eZԝ7m-ӛ:&O[Q5=]齀v<V
endstream
endobj
365 0 obj
-<< /Type /Page /Contents 366 0 R /Resources 364 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+<< /Type /Page /Contents 366 0 R /Resources 364 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
367 0 obj
<< /D [ 365 0 R /XYZ 78.37 808.885 null ] >>
endobj
-133 0 obj
-<< /D [ 365 0 R /XYZ 79.37 564.05 null ] >>
+125 0 obj
+<< /D [ 365 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+129 0 obj
+<< /D [ 365 0 R /XYZ 79.37 612.864 null ] >>
endobj
364 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 292 0 R /F15 227 0 R /F62 230 0 R /F16 251 0 R /F54 228 0 R /F68 259 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 247 0 R /F15 223 0 R /F54 224 0 R /F62 226 0 R /F68 255 0 R /F55 225 0 R /F71 291 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-375 0 obj
-<< /Filter /FlateDecode /Length 3829 >>
-stream
-xn$1WLhK( 4ؑ͌~gţ=3ٍhfdWy_^^tUio(|!O7a;%So*~/ƻtҪ/:ć+d|ʣW/RB1YgA
-
-z!I>7۞!⪽<h9omd*S$L<04u;chM:=zS9NGGC~3qw 6MJXƠ /eFFK i6ހJɴ<;]"wYkN\=]T4) //_R
-uA:X6mxp}/Bե*Ah)kl<5ys&nc)Ao{5u,5x7}~6t(7,p]oHÏoHrs5RP̫ U`1X-S,@wOCR$g#f[J2lD,֚mx1X|5ӜJ
-XxL=wk+TRtGoYMPk{XfH)@~|œQ_N{ՄWJǺ\X9Jtq/I/
--bܚvfHVEpneZѕųqurK~Bx"C=8
-1TYqBcܣ?2
-jC8}6 H&J}3Z03Ґ^
-^zSکծӥM}41&S 6S etSd]ySe1莦TƷzjZڴRGKA~ SPwI%g*
->p IUMKv-;\% 8DTI=R\c_9v#ľ3M
-_ tYroS\YFFZ6ǜ nԒ+5hVuLofM!كo]!{i)㉓Ŀ<*ѣ4HzB-:ϳ" 7Cu#v2vm%地d
- aRgtw&ͭ!}pEЅF)`!)c9"wL65";
-hT/tU>:MZapݑ<Z^i/UT:=tzCj+ąWpo ;>4F=tGA-oj7P=[9Cc]WBէ1o%E֌ g+RV $7r&ƶ_ 1$=W rJ*R>7y]CC`(
-T'_ZP͎|lyVp&}t`믝+=۞ \Z\[)z{3r~M9wN]:| 5-x0HfXU]IT-=<0$a,2[ϐƺa nOf;`ژcUn">޺7̚]UEH1:|N 6\#~^ /ڴ7Hh=JRnx8]xw8c:Ad=+\}EPޫ6~dd,2%]O9%CxB!Y> L(p?uPɀ5+$C,neڤdWTt;ݰͱb`^P̍4M#׊m yz#ڠuYGHT;\oJNX#&k>*N* r89ܶIKek ܎қ4uAL
+370 0 obj
+<< /Filter /FlateDecode /Length 3310 >>
+stream
+xڽ[Ɏ3 SZ}dNdryP %jrvU(?'~MS`JOxOS`܊9s9W>W9G
+>MI>MӗY
+Ro+{q> "мsi ^#y9
+4Yyo5mUK;jrXN|;\1oJZk;$@հ5 =n4$2c @+pO<ȏ0#ABSnWu?lgi8yKmrGJ2!UZM靪yK^,łV>J81) Vy[@>V6A<x᫪PQTa k@L&L7K<69]>|h+W.˃G=g2JﮛPGee3Ώ@W#MfY__^5ت}H5
+)QVcn zδk!zZQR)'\Rhw*-(J:_(Gd-!:!Cw˓k$oAic幅Z)tr_(ƃbt,;h`gH!*X0j@ͬ
+ z
endstream
endobj
-374 0 obj
-<< /Type /Page /Contents 375 0 R /Resources 373 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R /Annots 377 0 R >>
+369 0 obj
+<< /Type /Page /Contents 370 0 R /Resources 368 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
-377 0 obj
-[ 368 0 R 369 0 R 370 0 R ]
+371 0 obj
+<< /D [ 369 0 R /XYZ 78.37 808.885 null ] >>
endobj
-368 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.041 145.137 174.015 157.092 ]/A << /S /GoTo /D (subsection.4.1) >> >>
+133 0 obj
+<< /D [ 369 0 R /XYZ 79.37 771.024 null ] >>
endobj
-369 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 255.622 105.836 278.098 117.791 ]/A << /S /GoTo /D (subsubsection.6.4.3) >> >>
+137 0 obj
+<< /D [ 369 0 R /XYZ 79.37 156.194 null ] >>
endobj
-370 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 149.527 93.881 172.003 105.836 ]/A << /S /GoTo /D (subsubsection.6.4.4) >> >>
+368 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 247 0 R /F15 223 0 R /F54 224 0 R /F62 226 0 R /F68 255 0 R /F71 291 0 R /F53 222 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
376 0 obj
-<< /D [ 374 0 R /XYZ 78.37 808.885 null ] >>
+<< /Filter /FlateDecode /Length 3579 >>
+stream
+x\K$ ϯ?D
+~j5s'jED9Y/.bJMK<}
+\ҝJi~;qOh(DOxm̓~(`Ne_> %"P .F#t}
+oIfՓP@[L"hʹbtL=u V6"^Grb TZE(q|-w_3
+8g>8~% 3V`[6/\1LCMB3eraĵqAeTk)̊{7!i.qbΪ N;N&$E6owp
+̹UeVoDUHzJ.'Ic'
+rO2HM/^ucc4+MY[H9v<0|
+<&ŷ+m rk-y,/TsA8EcM͸Q#f^2HZ= ~o[Iüw=⦊ATuT%3*i,^`eapt %sSzc*T`P*WbpRp-\1]#L;52ˆ 0'*p%noJnײ%{`9ÖJ, "10-R*:
+2ZKr uUCbd:Lw"!_,ݘ-ܤW֌ۮQ/$+㰭 BPɑH4ת#VӼkP*fÁoSaA F^NGR2|`(
+qЇĉ.V)Y;iH 8_۹
+׻Xc*>ΨA tteJB
+U~,p{'ғj]()~G a(!i}>`i)nmg Ƶd?nS#M0Et+Ճ UEnRtQpCb&Alu
+*zƉMep*<Qf3<2 >CP\ 땲C gىN6u ʰ9b^A<XL9cΡ)M c Wb
+_tjB0rCM+~ @F|6$܋-ī.hfy/y˛@|O_=0''y0'':F !ԟmQN06`p*aO2KԷ{,X&`#90؜^q
+1"@V L-e5IQE'lX>*O ̨iUgpb-sּ[0{~KƾzQeަ&6*@oQIԹ6*ͽC&%bb9>%hV^pLD-WYETXdU)MR o@h{~xOn
+}sSwV"#7ʡIM:v
+1(6)b断?6+vᗯn4ЁL N?νmb]Qڷʋc,`~qS8
+)nFc ՗v[dŶiJcgu-,W;2y|v7k[gU'tzt;}B'Rxצ1>V`:ĩ}K8iӷ$g)}Kt`?h\8>;xS;wй4pv. d/\(ΥH暎u. 0/H@ry8FpJy'*' P4ퟗ??%\,;ƒX_itLPs5@9퓼N[YƂ;P[޶84[_:n^$ •u
+3`}Z:K
+endstream
endobj
-137 0 obj
-<< /D [ 374 0 R /XYZ 79.37 703.382 null ] >>
+375 0 obj
+<< /Type /Page /Contents 376 0 R /Resources 374 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R /Annots 379 0 R >>
endobj
-141 0 obj
-<< /D [ 374 0 R /XYZ 79.37 454.69 null ] >>
+379 0 obj
+[ 372 0 R 373 0 R ]
endobj
-145 0 obj
-<< /D [ 374 0 R /XYZ 79.37 300.244 null ] >>
+372 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 491.656 591.723 514.132 603.678 ]/A << /S /GoTo /D (subsubsection.6.4.3) >> >>
endobj
373 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F53 226 0 R /F54 228 0 R /F22 234 0 R /F16 251 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 579.768 101.955 591.723 ]/A << /S /GoTo /D (subsubsection.6.4.3) >> >>
endobj
-380 0 obj
-<< /Filter /FlateDecode /Length 2985 >>
-stream
-x[Ɏ W( c T*Ƀ>9d[feI<+3# .d$_so/܅x4pyE~Rb`܈or!o|+N2r5Ip`a9H΍\]_o}'枼9Nck%Ly=V>)E^lVՉxF6_ʼB7<3hIK3aBvI&<M 㽸Rxq D%kF@r8 㢤'gVD~T\N i0g PiI4V eCk(k
-HK ov\d~kʯ^dY<[&<=\T} ]*˄.^iFhb dmq1eTk&&ub y<:\Yu\1[/_g@ mZ%f•S(΃+n.lw $[2(P k <
-yETըUT9qr͔*iG*)+U8i.Rתr/܅PՆ J6LLԨ;+bfBB*[Ť;廷ZQ@0[~5㢨݄p$|*K'^夦EXКoyWOStSKiWM
-!!l(
-IAH0͡"oN)l9ea,]eҰ"e SIIVIQNܥȲsņ֏̈%. JZ{$!y'\=Ҝl"*D^o-A@b/:Vp|}}} aֈ˿~{۔h<חw:,'NXws.*i Oop(FU#9+G 2_n
-BB־4$_RHW%I64Fit w焴ag;D viaݟ<zJ_jթS&(k
-oimF:!6OL"!6a`w٨Yڨ:M^'hn {r P84 A>RAW
-kJ3P_/:V4ƯP+{JZOi!C%<I9Z0>/x^
-endstream
+377 0 obj
+<< /D [ 375 0 R /XYZ 78.37 808.885 null ] >>
endobj
-379 0 obj
-<< /Type /Page /Contents 380 0 R /Resources 378 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 383 0 R >>
+374 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F54 224 0 R /F62 226 0 R /F16 247 0 R /F68 255 0 R /F71 291 0 R /F63 227 0 R /F55 225 0 R /F32 232 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-383 0 obj
-[ 371 0 R 372 0 R ]
+387 0 obj
+<< /Filter /FlateDecode /Length 3909 >>
+stream
+x\ˮ$ W2YX7p1gdvWIE
+i$"FiNWQj%㊟<0&
+̟y^<Ǎ0dѪ:_yW"ȹE^\;Bc]
+OfcpϙM182o,K3=k?6OXk]f~_
+3% R%p<!ŮKϳݐϏ\ B0^`$B=9Asͬ=xq"z,W2
+}w-||r|̾Lq f (1;XTkꕲ̌ de!*$=
+Y}zLͦ7"x m6#:6џԩF
+Y&j S@b2GkXuB:wwqkF@yG Ljc֗Fkn*UKD4X8XdNKE gL=)oV@0[!yf9a
+KᤛTʪꊎx
+ro)ɓU+Z`@<8ƭS?R _i@}ZUaTu<ԉ}w |9YYC4܎Q{Tl^षmm(faFkjTV4
+ӘъZesWTϟY]y-sMޑ=cdqA
+Xki9$;܈c6vkTV s1> L(i^eZ!GSnlU3MyಟL1t3,edG!Ռ46,[)u!+\#{Do؞L|0+E6')W[٤i>9X]<`Uth5:}E'St&]dLRyHdCcz.5B?o?U*ue@^y
+.sK<*0EnHvv PSGJFBgKjzJ:FotE[zCݍ-E*x5=y*pR4V|ۓ)8q 0g?z:GePX#c-
+ܩ'L]yq(vo Mk~KtӤ~9)NݯbtA@x@S <:/vftO6=(oȃ*x=27M~ bv#}ǕidySHrh9fC33pd stq~@QS(<ڤ{rX[!/J?47-v)_;8v $[*}?>NXcgMۻ~tBNR$Iǔj5qDg)f Cow|*@1򛇵ZkrtڹmqZ{T6Mxi{CHmrBKZy]]AJ q=hv'bȹ*ts9g5c7P`)Õ?i?n!ei;6iH
+DIW+2"= ݐ&8ڛċ8MN"cv{!+U::\=8ǩ0s1YߘT0bS+Nn8=W<cFg!1L
+-k7omܱVG$б*tC9g b]&;e`zR @k:ժVm'{olm2<Юap@Uйܤ?9k+ߠO%ys^!ѝwȐw;Y]9>Yjc~]ɞAU:an?
+endstream
endobj
-371 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 499.407 700.341 514.132 712.296 ]/A << /S /GoTo /D (subsection.9.1) >> >>
+386 0 obj
+<< /Type /Page /Contents 387 0 R /Resources 385 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R /Annots 390 0 R >>
endobj
-372 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 688.943 101.955 699.613 ]/A << /S /GoTo /D (subsection.9.1) >> >>
+390 0 obj
+[ 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R ]
endobj
-381 0 obj
-<< /D [ 379 0 R /XYZ 78.37 808.885 null ] >>
+380 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.041 316.142 174.015 328.097 ]/A << /S /GoTo /D (subsection.4.1) >> >>
endobj
-149 0 obj
-<< /D [ 379 0 R /XYZ 79.37 662.029 null ] >>
+381 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 255.622 276.845 278.098 288.8 ]/A << /S /GoTo /D (subsubsection.6.4.3) >> >>
endobj
-153 0 obj
-<< /D [ 379 0 R /XYZ 79.37 622.186 null ] >>
+382 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 149.527 264.889 172.003 276.845 ]/A << /S /GoTo /D (subsubsection.6.4.4) >> >>
endobj
-157 0 obj
-<< /D [ 379 0 R /XYZ 79.37 293.752 null ] >>
+383 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 499.407 192.277 514.132 204.232 ]/A << /S /GoTo /D (subsection.9.1) >> >>
endobj
-378 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F54 228 0 R /F53 226 0 R /F71 292 0 R /F61 239 0 R /F63 231 0 R >> /ProcSet [ /PDF /Text ] >>
+384 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 180.88 101.955 191.44 ]/A << /S /GoTo /D (subsection.9.1) >> >>
endobj
388 0 obj
-<< /Filter /FlateDecode /Length 3376 >>
-stream
-x[n++7ـa xddf"G"mQν0lb>l1]x^ąqq SeR.keQ"4^/o`>LL|r|feaV_>/x͔`܊r.o+ ?*+
-5R0sGTw#gZNc9ґHvne+B?nZA${6&m,p״ 9G|HJ0-Mo#vҹ[6}>dJ,C7FcH쇮S
-~$Zlz5~ݠׯik>֦+OG#ao8\dPStp(%4Q!ŒdBLXI5[lkR
-r:iL/2Ȧ7ͼAIcMGعǚjaE'z%,@AIHċx9:'9eerܻZ.ʛܨKcK)qxפe%r(;^H1
-At;):׉s7S<CF@T: L4LpKc1-AQ:ɬs;{CR}2ŌuO3cToϰLGT!gz2X"s[΋
-B˫IDHRiuem+<+K"\܃KHVҨAQUv%U)e> q,J.gBB#U!?MUrJuIJQrĊqd~./ @0BR2>)sByA_ӏJډKO#rJ"ʲҋr%W{P.:>|F2rWUiE zG1q*2pO]9sU+{˪N­JTђN`9q@6o
-g_ӓuehw zQyK_+1!XlG0G<(0PʕE Ҹܒ|.Xy!`u[6:qk.rꖑ BqlM6;Xn4*uL_>`B]lSr4=mJ'\fc<ly) C8G YzرU~R+yTː"b(踇9vdLg+dFJG0`!18U91_L΄C_VL`p$,Z9e
-
-au<0:ca
-29P@ xNzY~
-ᵷ; b9Te+]i
-/b;ngs ybH}戄<ds}"<3@Hޒ1_Q/Sl4Cc4abEt1E농δ]{T&N ÒQ!@FFy9R a~@Y_7fS|oOQi OWr\
-_!­;PDs
-MVIO>HR kGS 9[jƣ}8Fd_f
-W1*p+4fer5H%2_ <W  D%6፿XO7`8<T#26OP/*|
-]+ x/,Xq CAW`d`#+ #_ALG[mkD6cGzBeA>ט\(~CFN"}(=Q2\sjMCAžTĬn= L&*1쪾w?^H
-)J;ww3CoDR߉$.6[%؞><{a
-XZQg,S}4h)13+zsT©VN1L-<Vګ+,M:}B8 x7ݣ [""څ ߃h* LǯH
-IG\2
-]śU'(.<jȲyu" D\н6btB?;(sxەdJչfr53(`|3mp%½JE_ü۱Yc/_?_}E
-endstream
+<< /D [ 386 0 R /XYZ 78.37 808.885 null ] >>
endobj
-387 0 obj
-<< /Type /Page /Contents 388 0 R /Resources 386 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 390 0 R >>
+141 0 obj
+<< /D [ 386 0 R /XYZ 79.37 637.537 null ] >>
endobj
-390 0 obj
-[ 384 0 R 385 0 R ]
+145 0 obj
+<< /D [ 386 0 R /XYZ 79.37 471.443 null ] >>
endobj
-384 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.062 237.726 453.786 248.944 ]/A << /S /GoTo /D (subsection.6.6) >> >>
+149 0 obj
+<< /D [ 386 0 R /XYZ 79.37 153.967 null ] >>
+endobj
+153 0 obj
+<< /D [ 386 0 R /XYZ 79.37 114.124 null ] >>
endobj
385 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.514 237.726 478.469 248.944 ]/A << /S /GoTo /D (subsection.6.6) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F63 227 0 R /F62 226 0 R /F79 389 0 R /F60 234 0 R /F32 232 0 R /F53 222 0 R /F15 223 0 R /F54 224 0 R /F22 230 0 R /F16 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-389 0 obj
-<< /D [ 387 0 R /XYZ 78.37 808.885 null ] >>
+393 0 obj
+<< /Filter /FlateDecode /Length 3437 >>
+stream
+x\ˎ W\E *Y]fEz?zzԎ10*E!U:-~_\MgH￿/b=Sb`܈?.{\Oos?O+ʦ;7xF-
+o)UR;eT7ŒG7u1naB ׈aԐɞ#wc
+ݖA!I%% 4,ip
+MvŤ5? 2. GJ>0;x.Bi0 ȡB(QF*H0IzRL3.|WF}4}(j¿oRes:wes#jJ_hK-3Y  edZ! D͵^Ӿo&P߶ĀVL^S01StS&@X9` ~ ^/o?^2)Z
+2ynM.ƹYNr&]
+BR! ^v>\%F|/à-S:?g-@QԂV>(v$,{WlvUFwЕ\
+HJ*aXP*)`*ih7&.^1'hnvj$Jfig pI|(+e¢ߣt4[<fn2NaI/ ` eoKOt*C4*,~* =!S ķPYɦ*=BV |ҘeS]mKi)
+;"<
+z⭲}RuƾK`["ݽKjs eZ{Ԟ \w!"Z6Yb
+/&!r=JdV63&Wk@;rٓ[c
+ MU]S'Yӓ:02N$IFwd&W`@V<$m4􉰵aCifJ{<RBr<4~!L^B AG L6" %D0*KE%o`Y`F^T6A?,"
+c~辁T<
+_rxJzǬmJ/U@8~(FeS(f bC NtAY@d
+endstream
endobj
-161 0 obj
-<< /D [ 387 0 R /XYZ 79.37 284.251 null ] >>
+392 0 obj
+<< /Type /Page /Contents 393 0 R /Resources 391 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R >>
endobj
-386 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F63 231 0 R /F62 230 0 R /F15 227 0 R /F71 292 0 R /F68 259 0 R /F53 226 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
+394 0 obj
+<< /D [ 392 0 R /XYZ 78.37 808.885 null ] >>
endobj
-396 0 obj
-<< /Filter /FlateDecode /Length 3273 >>
-stream
-x\n++G,j*wY%,H6_MZNf`ؒb=ͣ˙קx˿^ĉd=SdaR_~A> `
-(DE<8*hD\ͤ8&gktL+Fk*Ak-KTDGj˴tQHʟ\#㳹}l*4n6"?5-tmIk75Oa KˆY#B' >y%H=үj' s]X&lf|(ɔC6Zq^akB0dE]M?7eiLJՍ
-J@mM
-v" S6d*ᙝed0
-Dr*ЈQڢF <fWNxqU\G
-m 4VYKU&WxԃBs F)pL`[ ȯbⳃ?}y+&w7iCy$/ya̹uav1;:KU^U]? iLڵVSk$%`TyzN 3^97Vˈ&gs.yzI@FO=JiE 9o#c|Mq$j\7nrPzj&ix|g(z2CR\8
-irVYw^f;R U.xcQjj,1q<TztPQ6%Aos:'ȱA.Sz͵TE{LAWu-4c
-RIٳ$I<WYv{!Ri0 .P\4L;-Tzx~OPS
-6d/
-pu9`xgy\7UH<Ӓ=19c'\Y>f5>>yf 2%!ߊyȕiW'rMƎslК)O`ϯI)hRd4)"i4).6MAp.)7FD4vӤ4F;hRd h0|
-M
-XPQxO̓]/@RTuL )2Cޜţ.j&Kfΐ"KaH )jʁ ^:CjCRCR
-"&zt^<
-L ;'`(a@A߾[8Np2{&"V7Fkoe[Akb4<P0£
-l#}ⵠċ3/G\刷h?V޽re7~_ksNT>)|ѓ<'
-sBݘimW0ngthdf3ST.*!KCŎ&`b=(ղܓF*.@R
-'ҹMʼn]Sk_-$t.G'ǃl)Эsy`N 7hӥhq$\nT9Ded)^)7鏁YBoh CLx5`OAIzS7Tj8& )ce$_)+oxҴ,`~ NۏE@0:K)gZIz1B o2-2TLC':N<Xg=+ЍxXlGm
-D{$_0<_z~ɥ'y 1MSKk),=aAZ9Zc4ηj!AJ@Y6/V4^|>orp1i=?>:Ͱ=9ut=~닉דVN;}onn[=Y1
-Y
-endstream
+157 0 obj
+<< /D [ 392 0 R /XYZ 79.37 477.489 null ] >>
endobj
-395 0 obj
-<< /Type /Page /Contents 396 0 R /Resources 394 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 399 0 R >>
+391 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F54 224 0 R /F62 226 0 R /F71 291 0 R /F61 235 0 R /F63 227 0 R /F53 222 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+400 0 obj
+<< /Filter /FlateDecode /Length 2922 >>
+stream
+xڽ[K4U[[TD7OvKtH.`YEq9/R˿.W s:\~{RR^HN]~,Rj[ln/,X'%?kE 6^>iӔ;h5E˘P!wdyaG#_ JB;Ù7ƂeABG> Vs]zQdy^]* 'DB3*5;jn3\]ϣج*hʀ^N6k.֜?Z56Y5_e3ڞ~,;Ո FhAi(8`' HY黌)b/_3R7N8s=Eꂴ+q7|qr{ Ѓ썜DFD;oDZMMݲMHܾWD iq"OmWsxMQS֎ 6Sh2'_Z/:f)h?DOޱ+]jFspK1tV-0V,,i7 QYᵙqGX|4ZeG%Bp-/Z~3Z
+ך;C`*~ YԴ.i0z;9C5AAFD9zhl4@@n XR1mC2x~zPRxoN諜tA$vZsy'-mFxR qJe/GՓZL'Fjܖa\\Ν1 k#A{#hᩆ9CP+[!Lbþ:
+\`a+n9s0l:/|p?% kuCX.Xsl{9!θnXqhfd:X57Tby< [Z-nKÁ'&RR
+|g9W( 3`w%=ޭiG`Pj$ĚcXt"%}Z"R':KI蓓՞9!N1!½`>`]~B; N_e߲[(%`N>1aTK#$-:cs#шsҺa/f4i|*7 5 ٵ4*חOxJO>tO|rxI5gvS:ԌQib|>9I7/Z
+*;:nX ^#|;Z7yWt~ɮ{9:fzH޹݁yg6zWѯS)-eu9l>:sl9qJXU-<kv}!$aғu)GH*xv؂~fAUZ'DXZ"ͷSR{n3ňU<4Yu:R}
+˵vdٹ^8ٮür,=yޮ7dCr9"N힣XfifEƉzc$˂ƔCa~6PKu I%O vfٳh(%Uq&;\쩐a害f
+p7OX HV dws p̙kc~LJ즡 ؜~Pbv%'][,2F8,膘*t{R
+pAO'IҒ
+!0ITi7'L1zڅѭ%5 i&%&3l5e.M* Ecr,Vl d<H5ūNjtEuɒx "v'a,rLr˳%']]IYn!='͗m@|$%EEjЇi7Ț7=n2w^f~?$Ѷ,&݊FcG7v|35#t/N|mi-
+p{ץ|LJIH( Rܽ6Zw$im?.^G9'\E>}0>7v'ɣJ!u5WڹuM3L.lyFm$+z[;K sǼ>Q NDVj Ζi VV5:vi&IFk]ahڔ
+o֟r)7-yWvdfS{;E&~Ra6B`QQrU*<2Es rl59{+e r6Y0#33^پq*hIqi4%dV@}߀ ~R'
+lhs3>Cuy&bRH$q8]BiSel1*;>Ib!b$Jک3{
+endstream
endobj
399 0 obj
-[ 391 0 R 392 0 R 393 0 R ]
+<< /Type /Page /Contents 400 0 R /Resources 398 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R /Annots 402 0 R >>
endobj
-391 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 298.339 289.954 313.064 300.953 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+402 0 obj
+[ 395 0 R 396 0 R 397 0 R ]
endobj
-392 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.785 289.954 335.759 300.953 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+395 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 298.339 473.415 313.064 484.413 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-393 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 123.166 69.122 252.62 80.579 ]
+396 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.785 473.415 335.759 484.413 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+endobj
+397 0 obj
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 123.166 94.346 252.62 105.803 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://dejavu-fonts.github.io)>>
>>
endobj
-397 0 obj
-<< /D [ 395 0 R /XYZ 78.37 808.885 null ] >>
+401 0 obj
+<< /D [ 399 0 R /XYZ 78.37 808.885 null ] >>
endobj
-165 0 obj
-<< /D [ 395 0 R /XYZ 79.37 324.305 null ] >>
+161 0 obj
+<< /D [ 399 0 R /XYZ 79.37 507.766 null ] >>
endobj
-394 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F63 231 0 R /F62 230 0 R /F55 229 0 R /F15 227 0 R /F71 292 0 R /F79 398 0 R /F60 238 0 R /F32 236 0 R /F53 226 0 R /F68 259 0 R /F54 228 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+398 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 291 0 R /F63 227 0 R /F62 226 0 R /F68 255 0 R /F53 222 0 R /F15 223 0 R /F55 225 0 R /F54 224 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-404 0 obj
-<< /Filter /FlateDecode /Length 2802 >>
+407 0 obj
+<< /Filter /FlateDecode /Length 2709 >>
stream
-xڵn$ % 8
-pN =Ii^Tg6)5HigP7>ǟ(tghGlmv2kA&~ћ9<',:_gͧ-.VYw~k&\<f|&:i`m:,n;%+ EEK=oqt̋L5K$" `k{foiko{֧~H2j`m OYIObMC@ELfdfn묃BO0huqV ""ǛQ
-JD_ &fI&Bm+ı~4IFð/S1ԄGSuhp6]Wʞ2E~hH+퉏͵L]xrUY:n?ĠE__v0 l`d7ҧfPUiAxj Z+STnS`Wv}ն5l-e6GLA,ՌԠ.$'f,LSvK3}lT&巭'snXb,zGӵ`_Iݔ8
- t$l7Vb_6K G&xAZ_LV32BT7%DV1(FrRDH'"'r0 XF1b-;dOwUz᯵%@<HY02A*NJ,@H,z
-œ@{wLuQ^oGr 'špjbd|$ȖȪ`ϊKQDz67ن'Lߋ A^^{[ ZV$W&I׺A),,%;seyg eF;FDd%dDU Ę g9
-PvвxR}3Q$ZPQ\,>O-_ӷB::]o3=dP|.Fx:9/ Ă
-5j]kLU7Pߒ|S~Yga־1>kUg%bݸ23xnV=}k'>;U&>nzK|o|~@G%Ґֈ(Wy򼛐vW0? / B 'ڪKr_CT=smګK*2Шl[k~;j]2͡Re]]V-BegPsLy}m Z2b&J/{`5EyhZWOAjՀv&ìAs 4ge ~ O X .eF#H7XO?CO`ڈc  &ݞ~jʍkn>[Oj,LYмt#D9ڷ鸹s\x*~H77nf7_U#ٟiƲ杆.}f8
-ϾmF,5yQh))b::h%@Yqz᰼h0EJ
-O(GC6dk nslu[$z)xJ2 Px۴vҽU c<mexK3fk^;=E
-( fM^"(;:fPOI\Nȣk<m^p MKF܎ cG
+xڵZKoݺWhC߀k }޵]]wѮ;Crć(Ā#37CJr"KTK\~N G)MZ<
+2ʩ!pΎEi?=gg>~tma㢔>,_{xқl5+ZZ]1>
+'xz(!CuO1?n?g_еXiTُe3ϝm[ (p'H;0*$b%;je{ԗeb;fE\AV[@ x:s9 )NK(͛" Ϫ9'0"ߢ0%־cr)y9j|
+{sؖV8s%` $
+6b;aZ*4ݙKg~~dTTJ11J/rA Ե^/Z} 2N=K>0T[9>_fFs~3x0׋Ջ2nM[>}!R~Wa*k2j?EO]Gɼh7JDkkB!>
+~Bnm}D/M(z۴#tQtK.+/dl$/2ӎKCXw8J<yލ\52֔peUܳvi"Wzҙep۹2_%+G d$ed-T)kei{`h]D4~߷GŎ΅R~Spupf4ޱ/4ҫl V~-ӅHD@1Μ| 5u^~7b&7|c˴4emy[$6WC゚c]SA"vaHE_JN}(#o.P0Lw&u ę.OA?V3֗T5g,!c0M;Ijqⷍc9a
+`O3xզvYS317L[L<Z2=!ik` lݤ3CRJ,#m:L7L׌[&Xk&F B0! 7";pNa5yr{ 9 ydPR^%Ry0YM糧s qFn^ݲ;}A
+w`bM{Ѿ0sқ3FD{Wp:6a tY#ҳ̣MS\qplt[KYkWme6V$Nǂm9C)>z^'*vn`ZnCcs40xяmvc;Y':$ν-:fi=BTzc+Z`gnw*Hp3NeA0p+l+;j-rVik!N2vv]iK;2[krձҭAĸm׵􁃎n7L0ZLti;h\ۭI^ŲBy< J:ʶi֢[fA t)4rn#LL9 lVGBxfW9, a6ٱP7t{p-k
+lL[z:0N=!m뎒S[\]^k[j|dДSSiBxO43^[מ; ^:%W\Ԗ)Հ/
endstream
endobj
-403 0 obj
-<< /Type /Page /Contents 404 0 R /Resources 402 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 409 0 R >>
+406 0 obj
+<< /Type /Page /Contents 407 0 R /Resources 405 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R /Annots 412 0 R >>
endobj
-409 0 obj
-[ 400 0 R 401 0 R ]
+412 0 obj
+[ 403 0 R 404 0 R ]
endobj
-400 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.827 124.341 481.801 135.748 ]/A << /S /GoTo /D (section.7) >> >>
+403 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.827 313.631 481.801 325.038 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-401 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.522 124.341 509.477 135.748 ]/A << /S /GoTo /D (section.7) >> >>
+404 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.522 313.631 509.477 325.038 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-405 0 obj
-<< /D [ 403 0 R /XYZ 78.37 808.885 null ] >>
+408 0 obj
+<< /D [ 406 0 R /XYZ 78.37 808.885 null ] >>
endobj
-169 0 obj
-<< /D [ 403 0 R /XYZ 79.37 347.746 null ] >>
+165 0 obj
+<< /D [ 406 0 R /XYZ 79.37 537.036 null ] >>
endobj
-173 0 obj
-<< /D [ 403 0 R /XYZ 79.37 310.353 null ] >>
+169 0 obj
+<< /D [ 406 0 R /XYZ 79.37 499.643 null ] >>
endobj
-402 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F15 227 0 R /F54 228 0 R /F68 259 0 R /F91 406 0 R /F90 407 0 R /F92 408 0 R /F31 233 0 R /F22 234 0 R /F53 226 0 R >> /ProcSet [ /PDF /Text ] >>
+405 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F91 409 0 R /F90 410 0 R /F92 411 0 R /F15 223 0 R /F31 229 0 R /F22 230 0 R /F53 222 0 R /F54 224 0 R /F62 226 0 R /F63 227 0 R /F65 228 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-412 0 obj
-<< /Filter /FlateDecode /Length 2816 >>
-stream
-xڵZɎ S X(j $s r
-j+UuضSDQq0_$t}Y,X. BJH.^,% w7zg_')!!exk뙶љ t2]MWy<-PkSԝ;̽zY%ltMėNcH(H?$&)bJV$^0yH-Rn^ċ
-D{߿.< O-ҏ>ḶdI%NG0VXO"Wa.J Io꽀Gm>&2@4_
->ID{  @:פ+O]!=eg vd@hts5Z8$5OB<^Xz&c}H4<Y&3_FL턗K7.No Yy^K2]9;'YNCº5A cMP Cm{"N3>u3Ucg*"A5Ʒ<8p5Y%_ (9"z]s~>*N /ZE))"m
-ݨX(kmcoܚFlqg)sD_~ej[7#$E3ӨY"KlV
-2d7{HQ¸s~b5$,xP{nW߸7w1 )bleD蹴ܙn3W~L w6qn6~,ʗ&
-ܙkzJJ
-:EnJ\޲ 27Uk7]X;rrFEğg7U"Xha^^ -~.kGRkقn|&^,21-n? [^krr e Z5F!W
-jZ;Fg $+9X}A $a-(nSP@ZT!bq2HW[pQy{m>ѐ }୽AԹ_Y&ձXq["[%2M2A/
-%@эܞPd~j+_]ZWҖ Ѣצժ\zmtU CKvW5̝aUY#;zOi:.Ĝ Kj)~Pu `)ѩ3qCDxޘo(3BVܮzԎ'k[ &Ƣ4)<*"WSL]> U+]ex&T2-ykt?ǯ}-NhDPv5׆<j9y1;Jg@o;m_<b6x @5q8TN1X;y`x戒&
-{8}(>i8>ֻè.Oz;s !XamwD^G U2AO'&JG$U(A<akΐU#ko,iw򇣡b
+415 0 obj
+<< /Filter /FlateDecode /Length 2716 >>
+stream
+xZˎ, W\E`[ $
+,/_DJUpzK%!?yi{{R"Z'wE]|_SB:uyg)ͫ6H鶗oJJC~"qsWMJ |kHyYH^?i6u
+.s׷FJk4hzo^WԜ(g3RXK2]fV<B=syXgI5WZ\а 1-„=B!*x {}#++e2EZMX8FϧtӚA6-+gd=b.IB骫) n
+pU^kK·eeowm8j90zWN0ÀMkJQ5јhM-L߷ybbc+a!yʟWWyu=礝e戕~IŦ%ʣtatSX@ޅH#ԫm8LQ?׭mBڢ4lPI[z{Jyqmq&)/}~G]ӡi1Ru=GAvz7S}_\1t!Uۘrv#kF*Y3 0R4
+c캙 g @j
+C/GK
+T
+~$탮"+0la7dsEjZwֵy]I[{GTurs}m <,e$|iOY3liGV*ڽzg n6Wq;
+:aNPf5q#b܍v^=VPZf:pG,<Nan=\z9H`IV}һ:#fjJ8{z+`bl:@nSత J计g<'G-\5!`\ifk9qT-qḎ"BAʶ=!3,vW, ?ndRIzBTsqv.IzoK'i~|
+kXg58
+\ISCw* lpp] 2^'1_Fg JQ
+5+ŊXyG7JhB =>傖xmJYV;,-
+'.Wp!0_E!{xGS#o˿~}AaE-c_~y{MIuu
+IOE [~å?E~C/>
endstream
endobj
-411 0 obj
-<< /Type /Page /Contents 412 0 R /Resources 410 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
-endobj
-413 0 obj
-<< /D [ 411 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-177 0 obj
-<< /D [ 411 0 R /XYZ 79.37 578.639 null ] >>
-endobj
-410 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F65 232 0 R /F53 226 0 R /F15 227 0 R /F54 228 0 R /F70 285 0 R /F68 259 0 R >> /ProcSet [ /PDF /Text ] >>
+414 0 obj
+<< /Type /Page /Contents 415 0 R /Resources 413 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R >>
endobj
416 0 obj
-<< /Filter /FlateDecode /Length 2183 >>
-stream
-xn6!gv
-g:)B'V}twz{,X=}SKu.tJHo烔R"$>S`Uj7rq;)LG?h
-nDQJ<TY$̧/IPrQۘƬ++eDLBҨ) cՅdɍ1OIMP WE{ǻ#-{d KEf:#\xe‚[R-
-a7R&fZmhZޠU~e+ <"Xe~Je#ceb[ qaC7Cҍ<uY&\|hؾDr;=8wL#z;eza/ẸXqKu@ҬOOuLQhԥ1)K1eJ*Jp/FXy)Mv
-8Lf!D63e/mQM&8JUY<e&
-cF!
-_|Kat,PsQ z׽)ѪyᨢNˮi0}u-F Uvw<f\q[(s5*DYɹe^t@dZ 3Tc,; 1>ͭ& </Jz+|ª%!2T ʼBS]OV{\Љ ú84x.ҍm4}h$H$HPCiԆZy.`\"ɱR܌=/oS 3/fMlK[SЖQGߏ﵂鑽BK@YRR"p~kX&=mCcwm.m5ܘΊO[rHT]nskέ?!37<*Z)iq/t?Js 'PWqZ!1# QYdu<{Gk1fA
-7^
-0#4O1#eGq7
-6)W 0ʎwG(I쌠K~:DIœч\oΥQzb T
-J" )M͘]
-fg
-endstream
-endobj
-415 0 obj
-<< /Type /Page /Contents 416 0 R /Resources 414 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
+<< /D [ 414 0 R /XYZ 78.37 808.885 null ] >>
endobj
-417 0 obj
-<< /D [ 415 0 R /XYZ 78.37 808.885 null ] >>
+173 0 obj
+<< /D [ 414 0 R /XYZ 79.37 771.024 null ] >>
endobj
-414 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F15 227 0 R /F54 228 0 R /F55 229 0 R /F32 236 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+413 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F62 226 0 R /F54 224 0 R /F70 280 0 R /F68 255 0 R /F63 227 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-420 0 obj
-<< /Filter /FlateDecode /Length 444 >>
+419 0 obj
+<< /Filter /FlateDecode /Length 2136 >>
stream
-xڽUN0 +ql' XN{?v/®=8*B\;w1C.Qv/lsP 30xuX%_٭ː]?% PkQuޗ* w:A{؁9.\"I #$nکVF7ӊ3xyЍf[̻u A8eύ+cAq 'ёW:rd*3` Ѿ!3_A23Lo>z
-A_L -z˥LޘV\X72
+xZɒ7 W MVrȲ\-SCCr\[$X%u)E0oO>Iҟ\MX<kVm&N2x|~~xw0,XyQjz2xn sHbL^c
+ExiL; H >ѝ>>/e(a dwQ $KsIx'OX
+n4J (;dso#z;ܩY BB؉HãЀSR?lO_ɗd{njvI9BEo=Ƭe̚iXO"\Oz͌ú2$١x9n஽`E*N=\l}J4U.oT뉗ޘ}:SuJ1JzPV5ac
+ʬP
+eg/*\V@^!Sz~I6vnlnA2)m
+y8},jKFmIkCZtuCڑG*abY>l+tpzU/ V}uYUF"Uy-X`R>ɯѻ+Z00J'P-$/peӸEv &:y˺1KD{
+dwujO{is?FpCnT+N `@ѐQ"Z6.6~ͥ|}cܬNgnvU/
+Axjqu!kq}_|B_zP 5P g|á~_(G1@# Izb0›Qq/cDs1F<CK9)-ܾZ;G- UIo(М 'JaNI7E@+Ed#WU(RyBsXVuX4)M`eZf"cCRj{֥F G)߹
endstream
endobj
-419 0 obj
-<< /Type /Page /Contents 420 0 R /Resources 418 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
+418 0 obj
+<< /Type /Page /Contents 419 0 R /Resources 417 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R >>
endobj
-421 0 obj
-<< /D [ 419 0 R /XYZ 78.37 808.885 null ] >>
+420 0 obj
+<< /D [ 418 0 R /XYZ 78.37 808.885 null ] >>
endobj
-418 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F15 227 0 R >> /ProcSet [ /PDF /Text ] >>
+417 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 226 0 R /F63 227 0 R /F15 223 0 R /F54 224 0 R /F55 225 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-425 0 obj
-<< /Filter /FlateDecode /Length 3644 >>
-stream
-x\$+"#x:'hZ$GcW>
-2U]3"d?o˟
-oB2n"q (ˤoo?\ƽ~sWΑ~ џ{EAߍvl$} 1<W?ͷ-=N]_SjSBjahLZsŵ|)I00 B2MO(@ba$_>ziq=Bs\,#Cy9y^ɼ<99#LOT(DN@ZF}ǽI^bqvkZ{Rv l3T35P\]HQ5Kᯐ+
-џ37.SCpZ>!b5ӯ&D{ŽjH<rBQe7O"c)q$+h-يC$58N68?22„~ ˌy=<Q`A;$ x ) 0YT
-F8ܯԜ7+>dq+36iυ+ǸB6cAҏeՌ¶ׯm jFSjyַ` i'h2G'E?QG3Nq뷗_+qF,o_~~qfH
-f,Ia:4^ymD$ʀa1|pzGJ[z10S'}M>h |HSnd!~κA0UG5̺H2S{;V’Ѝ񆦥SkUqeIW+*^U%?I*FCt!hSf)qA01c&]=R1Iz.~ treS饤BfQᄩ>Mkw5T O♵- ub%"S`>P2k??Sya($zKLWQ,aMFPG j4+^" @߸dysGۻ$42&єb) ͂(ذ粴hAR\3;<0k($yuGbv 9dq֣ I0;`¥ 5"^ 4NbV;yDh4Z;iY,)$g1xh$FkqL+vd|6>eG}KC`_㔣'8iNJQ; TK*BJ7]^iUL:
-61-p!bH'.%֌ !s:\dZ-mT_Bwb9@!8a7$,A
->Y<,g<MZoP)Sg3xOLK\
-$X_gFq$|վ=4:}cԴP8
- rTW>ζj~w:?9֕Ts>v]v
-lT%r>LGû2E֧RjAVpɾ.f
-BCX!֟3no_FYZLF:8^7L^Yk}؛])s%c= 4?X:Wc>0ܧbN'cξk>FF8UΔ1/:|ldb>ٟ=Y/C,!u(6FqE1.kN $ b}[v0ATW:6&+>^]<&͊$Ou_^.&z=d;GI=ǺҦu7w
-u"Wo*kF%ZӺT0(=42@Ta飩gRH~l7Tn^E{WUf{6h͆֘m{If"=[)rZ$b„ba!')8|ԍIs+d(QOJPNTBsM./a0N$ },7:a_װ)MT\ Va}O-7`iww']ͽ:TI\E6OL]~ltf7Yn'ry[|ձ] [#~ nM{QP{s%>)aX1`NtNɨM$^ 㵂ӟT|T@SD {݅vV+|-tOuMbl.zBsn9}‚U̪%˩2s<}€ kjP!zՓ=} <f*/g\n_
-"ml[o2ܰf>AekxG}
-w>k _i0 ycWEj_v|z)L5;dQ
- ˣ4ЙDЄF|ZK]TFYFC.~yz6>nh8='㛆BF-C X!^! v9[)&ڐcSQkYr
- OQ]dIQ I_3z5M)cN26yc&fu[\RSò،a'-MSYLz o
-Do.εrϖ o5HS{¬$
+424 0 obj
+<< /Filter /FlateDecode /Length 3642 >>
+stream
+x9$W"#x:'hZ$Gc+xyTOjb?o˟
+oB2n"q (ˤoo?\ƽ~sWΑ~ џ{EAߍv$}-y0<W͏#=n];_S_SBa Lz"li/~Jx)%Qj#>> ނ,hp#KgusirG 38y_ɾq <))#L'{ nO$ -Y<lca\%R=מyS~,&DLC&4<j? e:fn7rp@9Sm=z.N0$ g̮"}^ /l ;zdܫ"}H" l[ܧ"c.q$+^e݂lVXỴ0iIy=(0̠OD)҂$I*^d 0YTpDECHi .]M[/_kIeoV0QFmHj Q0fN*#gWj΀*tY/nzh\pr;,f]c{լ7"mo_[;J]shOuUK~[PFI+X Eҩת`‘4 x'nboYn}KT/
+V
+\p|%q0kdFg
+Wo0ժP&mۏzBٍ3 !Tftu«J-7mD2 [Ψoc9Ӭ
+MaݴIJS$eHckeE‚B}9_vbWEJ2;ȑ*@vb\=Et-N=֌L#)a^G4jd[٦ˊWdF2ӱrp*($zA!AE0&K481y`FED[sGQP
+:l^Z.'iݡ赮kб2`;$|.\Sdn{4K/sM]l}Y eh'k!4bki}_euZdԜcu啵Wە2w_aEζJEr_5從Ư9WId8SǺJ>^9&ٰD}U3W͊L}=r~_Gg Cp0M/qYsf0'A#7XYAˎuյ&wxv%&߹bǢRY!CݲPݐńgk7*_Աe>ǭ
+%ѓøe.zի-*,~%^ӾTZ0=4<ШGӱsΰo EWUfh֜m{IV">[^SI  '%8>%2*W'%s('}i O wdrX̮ a ͪ@57yzsaw=#OTWj\i XC]u{w.U=q{Sϼ~T&~խ^H+
+x ^s̉JS>6휭_ReX`ʃ\$KJmjJs*b㩛wobVU+BX,;pw0ldO&Ig]Q*$N|%~sq5{\x0MXz3fccʂ
endstream
endobj
-424 0 obj
-<< /Type /Page /Contents 425 0 R /Resources 423 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 427 0 R >>
+423 0 obj
+<< /Type /Page /Contents 424 0 R /Resources 422 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R /Annots 426 0 R >>
endobj
-427 0 obj
-[ 422 0 R ]
+426 0 obj
+[ 421 0 R ]
endobj
-422 0 obj
+421 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 118.663 86.982 239.156 98.036 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://pygments.org/styles/)>>
>>
endobj
-426 0 obj
-<< /D [ 424 0 R /XYZ 78.37 808.885 null ] >>
+425 0 obj
+<< /D [ 423 0 R /XYZ 78.37 808.885 null ] >>
endobj
-181 0 obj
-<< /D [ 424 0 R /XYZ 79.37 771.024 null ] >>
+177 0 obj
+<< /D [ 423 0 R /XYZ 79.37 771.024 null ] >>
endobj
-185 0 obj
-<< /D [ 424 0 R /XYZ 79.37 734.627 null ] >>
+181 0 obj
+<< /D [ 423 0 R /XYZ 79.37 734.627 null ] >>
endobj
-423 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F54 228 0 R /F62 230 0 R /F55 229 0 R /F68 259 0 R /F32 236 0 R /F61 239 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+422 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F54 224 0 R /F62 226 0 R /F55 225 0 R /F68 255 0 R /F32 232 0 R /F61 235 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-430 0 obj
+429 0 obj
<< /Filter /FlateDecode /Length 3014 >>
stream
xڽ[ͮ)p
@@ -1507,19 +1490,19 @@ vEw[7tY`2s_ŵqP809ro^]lxr,:x%˩
;k' lkhLPjT;L5w\+\{eW-v1g׿ jbP}ID
endstream
endobj
-429 0 obj
-<< /Type /Page /Contents 430 0 R /Resources 428 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
+428 0 obj
+<< /Type /Page /Contents 429 0 R /Resources 427 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R >>
endobj
-431 0 obj
-<< /D [ 429 0 R /XYZ 78.37 808.885 null ] >>
+430 0 obj
+<< /D [ 428 0 R /XYZ 78.37 808.885 null ] >>
endobj
-189 0 obj
-<< /D [ 429 0 R /XYZ 79.37 771.024 null ] >>
+185 0 obj
+<< /D [ 428 0 R /XYZ 79.37 771.024 null ] >>
endobj
-428 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F68 259 0 R >> /ProcSet [ /PDF /Text ] >>
+427 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F62 226 0 R /F68 255 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-434 0 obj
+433 0 obj
<< /Filter /FlateDecode /Length 3134 >>
stream
xڽɮ񮯘0Cw@x7)nOCCNu!4KwF_#VJo_zc7m 7ݾ~R jRBS'>{x^Ilu ^JqPD DOqŒȈ9l|E 47K%&|Hf3ԑ(s>|<"5@+pW4ݥ[yӕpog#`F Ȝx8 dGx{(s̕"|箥=Z$8="w;Bf(z.d/Y`Ș32XHO:=iY+)jD"*{I Pb\cZ/ħ}}V oEa;M"4;oNuЯiDKg5!2V
@@ -1533,19 +1516,19 @@ xڽɮ񮯘0Cw@x7)nOCCNu!4KwF_#VJo_
vD9ј힪F6kmJWm#A=i7vmՅo}WpR"Z)'kz1X \H-Bzj
endstream
endobj
-433 0 obj
-<< /Type /Page /Contents 434 0 R /Resources 432 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
+432 0 obj
+<< /Type /Page /Contents 433 0 R /Resources 431 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R >>
endobj
-435 0 obj
-<< /D [ 433 0 R /XYZ 78.37 808.885 null ] >>
+434 0 obj
+<< /D [ 432 0 R /XYZ 78.37 808.885 null ] >>
endobj
-193 0 obj
-<< /D [ 433 0 R /XYZ 79.37 771.024 null ] >>
+189 0 obj
+<< /D [ 432 0 R /XYZ 79.37 771.024 null ] >>
endobj
-432 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F67 250 0 R /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
+431 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F67 246 0 R /F15 223 0 R /F62 226 0 R /F68 255 0 R /F54 224 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-438 0 obj
+437 0 obj
<< /Filter /FlateDecode /Length 3058 >>
stream
xڵ\ˮ +H & f5AH*JKNK:$ER|Ho/?>Moff`\ۏ߾psr.g9h+}FoFzz??Ʃ~?~%94h<!9Sff÷`iZ. ܏_=iM2nS X
@@ -1563,19 +1546,19 @@ sNjwA?[WJUxYr")qppPLӚ b9oe[ha_p" aB
bmJ(|#J0wq8AwxCdR$ͰT}S6}Y!fY(2ъ)gGWhS >L&RGW}%Q-ӳjv 7ǖ ܶ@`(OU^#>eYVa5~52Fi8Goq6aJX)I6>Ju^0 3615R*;XxpW%a=g򹔽+f2+0g!yZkw;{/-tqHc5}~SS׎2*=cםMuvpr7mq6( án&" ?5&jWum;M*>qO ;BnR/hԳjʝܓΥ'u( =j~CW] 69%EWZcHWWWOP8%(gz@%m$;9uWul-BZvI]ɫ ˷S/̾sSf :wx,eKRj6UϮyy*/^[V@pda,38R3omӖ9K
endstream
endobj
-437 0 obj
-<< /Type /Page /Contents 438 0 R /Resources 436 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R >>
+436 0 obj
+<< /Type /Page /Contents 437 0 R /Resources 435 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 439 0 R >>
endobj
-439 0 obj
-<< /D [ 437 0 R /XYZ 78.37 808.885 null ] >>
+438 0 obj
+<< /D [ 436 0 R /XYZ 78.37 808.885 null ] >>
endobj
-197 0 obj
-<< /D [ 437 0 R /XYZ 79.37 771.024 null ] >>
+193 0 obj
+<< /D [ 436 0 R /XYZ 79.37 771.024 null ] >>
endobj
-436 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
+435 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F62 226 0 R /F68 255 0 R /F54 224 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-445 0 obj
+444 0 obj
<< /Filter /FlateDecode /Length 1380 >>
stream
xڭXɎ#7 +Zh& })ArHS~?$JUFZGty=tsfP9'=2a
@@ -1590,28 +1573,28 @@ _kn@peZI!ȫZ2Jҝ;pQo0$'P处dt1ߔ||gUja~[c_$&ڻw
xW*O)
endstream
endobj
-444 0 obj
-<< /Type /Page /Contents 445 0 R /Resources 443 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 447 0 R >>
+443 0 obj
+<< /Type /Page /Contents 444 0 R /Resources 442 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 439 0 R /Annots 446 0 R >>
endobj
-447 0 obj
-[ 441 0 R 442 0 R ]
+446 0 obj
+[ 440 0 R 441 0 R ]
endobj
-441 0 obj
+440 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 382.728 459.129 397.453 471.085 ]/A << /S /GoTo /D (subsection.6.3) >> >>
endobj
-442 0 obj
+441 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.735 459.129 423.691 471.085 ]/A << /S /GoTo /D (subsection.6.3) >> >>
endobj
-446 0 obj
-<< /D [ 444 0 R /XYZ 78.37 808.885 null ] >>
+445 0 obj
+<< /D [ 443 0 R /XYZ 78.37 808.885 null ] >>
endobj
-201 0 obj
-<< /D [ 444 0 R /XYZ 79.37 771.024 null ] >>
+197 0 obj
+<< /D [ 443 0 R /XYZ 79.37 771.024 null ] >>
endobj
-443 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
+442 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F62 226 0 R /F54 224 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-451 0 obj
+450 0 obj
<< /Filter /FlateDecode /Length 1346 >>
stream
xڵX#7C0LOOdOȿ}xXE:=qe|bX)>1%\OZ1B>>R*RmPQJqXhJ9N)p-.`o~v8R4R}Rn)1OYGKV-0NLNXJla:)Ȼ
@@ -1623,283 +1606,281 @@ xڵX#7C0LOOdOȿ}xXE:=qe|bX)>1
_!AX&PȘt&uge'9!ZA(PC@(GQ.vL"Fs.eBoTr1HP.Q+l~ "mL%a\ V`o޳KpWzSns6t/q.`v9W 4w[ F`yb[] },<W;;_D!Iݺ*7aI6Qdyt!z'gFۊk7Fmf?,gIEfÎ 
endstream
endobj
-450 0 obj
-<< /Type /Page /Contents 451 0 R /Resources 449 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 453 0 R >>
+449 0 obj
+<< /Type /Page /Contents 450 0 R /Resources 448 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 439 0 R /Annots 452 0 R >>
endobj
-453 0 obj
-[ 448 0 R ]
+452 0 obj
+[ 447 0 R ]
endobj
-448 0 obj
+447 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 255.32 697.168 262.294 708.167 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-452 0 obj
-<< /D [ 450 0 R /XYZ 78.37 808.885 null ] >>
+451 0 obj
+<< /D [ 449 0 R /XYZ 78.37 808.885 null ] >>
endobj
-205 0 obj
-<< /D [ 450 0 R /XYZ 79.37 771.024 null ] >>
+201 0 obj
+<< /D [ 449 0 R /XYZ 79.37 771.024 null ] >>
endobj
-449 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
+448 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F62 226 0 R /F54 224 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
524 0 obj
-<< /Filter /FlateDecode /Length 1963 >>
+<< /Filter /FlateDecode /Length 1965 >>
stream
-xڽZn$7 +FHmٷ RRn`G蠟?^n_/}Z )$#?Г\P&ZY]k2u>F_SPa)',CvЬ=)By]k-/QpSvI+Y 6| ?h{\ۣze_,[AnVm'F>틶%ZnSL::)0Mt^D1,s8RQeTg.#]*% ~nHF1)Ag*l0Ҟ-6My1Wmӕt +!(vQKxFzҦS@M8D͓%bTt<V{3BDOn:̏JjJQUܢ߿z\ֆøTMoڈNm<jzuq\6>ĚYиdܮn
-O#QӚ')PhfAg68xDŽ s֥;Vԇxa@j`ڟ< JKՀ`.
-# .<GgBPF/Bף"yl\-A
-Z=S\BdssP$
-6Irn72a`"KjX/< F`za}T +/_9ڌGG::84pa:/U
-sin{R?w| 5(60gl /֗Ij͒WMh02~
-b VçVPWW`|_l'av
-m,<@B4x7P?7ZoAwQzTJ6ۦ\|Ce-ޮȼ_<2Vơvs͇k 2
-[寏ĐGf,S6n2V"e;XN|Ȭ0fV:D ﵍'bC,ˆ{BX昕NˣV3+yAtGXH!͘2oM/~UZsl0վzgDt8J9!ԧ(Wsβ#f/2/ڄ5s+'4dVG=Yh7'.^6tzH&36ײ&D{OؕаE*ƤS8\6*h_8N'n4,1Ő`o2hܑiG/$C=[d5ww~"1匿M/=v*xwfGG{:-+]a|<MʟU6 T *{ꡗ!Y K%=ߖz)<#: ˕_/'+ʄm2xyeB
-ȏd&tce%!kݧ +ivv[g;v]ϱ߂?Eq?=.-Ko qi2 aB+?r{T
+xڽZn+7 +*%E8N
+t]moKiFѼd.$𐲞O!0}b =nrߵ&#?wSk0<Z~YB-?deOʅPyך`Zۨn߀Y)@Dy
+åzČJb$~(<p{ų~+uώâ{9WzEqڱFYZb$C/Y[;?QVO_tF8("`vG
+">|x}Y*)Y ?רPÜtۚmun^bڀJz
+l<%<#=gq}Pv~
+4)*h,Y P"
+L[I6KI `0zR"T2-WK:^=~ogk|6jWsSEb,h\j2CiNPp%^?9>!緍:Vc D0LiYGZ8\*f۷
+ XIʾ~wӒ(#{FjK(sߝ?_5.XX zr*U5MJ,|qeDXI'I$sGsy@}<!n`}NIgk{i=QkcD(6IMiFYůu,O],e_f6<ֵ_`-2BlG( oRȔ@u`5:I]if qlrѯ/8^lZ,QOy[ሗ~F{BōyErl0mxk%mяezJu6ϴm}s;FҡXqsWٛlEeǙ_c.{OG+ʼntT.N],-mTĕDٳ0&_WSRcUf?BúH0#mT9}o{i__#<;N$9
+w"+tf\K@ˬn{h2zT~-^:#Sl՝_a溜񷩥¾Fң|Y}}mzt& saax&5jT!C/]S AJs[)S?g't WAe?4@
+`*?J#72=+'31M <d ޓ}8YnA5^>5`oE 91oȲ80GFEbNƠ.sf̜x\ Y%2.,.*Oo_/ƨmB
endstream
endobj
523 0 obj
-<< /Type /Page /Contents 524 0 R /Resources 522 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 526 0 R >>
+<< /Type /Page /Contents 524 0 R /Resources 522 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 439 0 R /Annots 526 0 R >>
endobj
526 0 obj
-[ 454 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R 494 0 R 495 0 R 496 0 R 497 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R ]
+[ 453 0 R 454 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R 494 0 R 495 0 R 496 0 R 497 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R ]
endobj
-454 0 obj
+453 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.39 681.75 142.364 692.709 ]/A << /S /GoTo /D (page.4) >> >>
endobj
-455 0 obj
+454 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.251 648.073 166.224 659.032 ]/A << /S /GoTo /D (page.5) >> >>
endobj
-456 0 obj
+455 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 151.579 635.679 163.535 647.634 ]/A << /S /GoTo /D (page.18) >> >>
endobj
+456 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.305 624.162 151.261 635.121 ]/A << /S /GoTo /D (page.17) >> >>
+endobj
457 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.305 624.162 151.261 635.121 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.318 612.207 177.273 623.166 ]/A << /S /GoTo /D (page.17) >> >>
endobj
458 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.318 612.207 177.273 623.166 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.141 600.252 147.096 611.211 ]/A << /S /GoTo /D (page.14) >> >>
endobj
459 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.141 600.252 147.096 611.211 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.315 588.426 143.271 599.256 ]/A << /S /GoTo /D (page.12) >> >>
endobj
460 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.315 588.426 143.271 599.256 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 190.135 576.471 202.09 587.301 ]/A << /S /GoTo /D (page.12) >> >>
endobj
461 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 190.135 576.471 202.09 587.301 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 188.889 564.506 200.845 575.345 ]/A << /S /GoTo /D (page.12) >> >>
endobj
462 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 188.889 564.506 200.845 575.345 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 148.65 530.838 160.606 541.668 ]/A << /S /GoTo /D (page.15) >> >>
endobj
463 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 148.65 530.838 160.606 541.668 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.815 518.883 188.77 529.603 ]/A << /S /GoTo /D (page.15) >> >>
endobj
464 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.815 518.883 188.77 529.603 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.865 518.883 205.039 529.603 ]/A << /S /GoTo /D (page.23) >> >>
endobj
465 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.865 518.883 205.039 529.603 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 172.81 506.809 184.765 517.758 ]/A << /S /GoTo /D (page.12) >> >>
endobj
466 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 172.81 506.809 184.765 517.758 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.52 494.853 251.475 505.802 ]/A << /S /GoTo /D (page.12) >> >>
endobj
467 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.52 494.853 251.475 505.802 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 461.295 217.413 472.125 ]/A << /S /GoTo /D (page.19) >> >>
endobj
468 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 196.023 460.728 207.978 472.683 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.393 449.34 229.348 460.17 ]/A << /S /GoTo /D (page.20) >> >>
endobj
469 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 198.454 427.608 210.409 438.487 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 196.023 436.817 207.978 448.772 ]/A << /S /GoTo /D (page.16) >> >>
endobj
470 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.276 415.653 143.231 426.492 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 198.454 403.697 210.409 414.577 ]/A << /S /GoTo /D (page.15) >> >>
endobj
471 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.288 403.697 169.243 414.537 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.276 391.742 143.231 402.582 ]/A << /S /GoTo /D (page.17) >> >>
endobj
472 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.817 391.752 174.772 402.691 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.288 379.787 169.243 390.626 ]/A << /S /GoTo /D (page.17) >> >>
endobj
473 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.111 379.668 139.066 390.626 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.817 367.842 174.772 378.781 ]/A << /S /GoTo /D (page.12) >> >>
endobj
474 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 130.957 367.712 137.931 378.671 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.111 355.757 139.066 366.716 ]/A << /S /GoTo /D (page.14) >> >>
endobj
475 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.469 355.877 150.424 366.716 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 130.957 343.802 137.931 354.761 ]/A << /S /GoTo /D (page.4) >> >>
endobj
476 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 171.305 321.641 183.261 333.596 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.469 331.966 150.424 342.806 ]/A << /S /GoTo /D (page.17) >> >>
endobj
477 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.131 309.686 155.086 321.641 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 171.305 297.731 183.261 309.686 ]/A << /S /GoTo /D (page.20) >> >>
endobj
478 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.309 297.731 206.264 309.686 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.131 285.776 155.086 297.731 ]/A << /S /GoTo /D (page.20) >> >>
endobj
479 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.799 285.776 179.754 297.731 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.309 273.821 206.264 285.776 ]/A << /S /GoTo /D (page.20) >> >>
endobj
480 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 112.695 252.537 119.669 263.495 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.799 261.865 179.754 273.821 ]/A << /S /GoTo /D (page.20) >> >>
endobj
481 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.315 240.581 162.289 251.54 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 112.695 228.626 119.669 239.585 ]/A << /S /GoTo /D (page.4) >> >>
endobj
482 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 150.882 228.626 157.856 239.585 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.315 216.671 162.289 227.63 ]/A << /S /GoTo /D (page.4) >> >>
endobj
483 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.3 195.078 179.256 205.908 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 150.882 204.716 157.856 215.675 ]/A << /S /GoTo /D (page.4) >> >>
endobj
484 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.343 160.833 152.317 172.788 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.3 171.168 179.256 181.997 ]/A << /S /GoTo /D (page.12) >> >>
endobj
485 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 149.316 139.345 160.384 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.343 136.922 152.317 148.877 ]/A << /S /GoTo /D (page.2) >> >>
endobj
486 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 140.172 137.49 147.146 148.32 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 125.406 139.345 136.474 ]/A << /S /GoTo /D (page.5) >> >>
endobj
487 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.77 124.967 171.744 136.922 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 140.172 113.58 147.146 124.409 ]/A << /S /GoTo /D (page.4) >> >>
endobj
488 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.299 91.29 174.254 103.245 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.77 101.057 171.744 113.012 ]/A << /S /GoTo /D (page.9) >> >>
endobj
489 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.44 79.334 147.395 91.29 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.299 67.379 174.254 79.334 ]/A << /S /GoTo /D (page.13) >> >>
endobj
490 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.686 67.379 185.642 79.334 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 358.689 693.267 370.644 705.222 ]/A << /S /GoTo /D (page.13) >> >>
endobj
491 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 377.209 693.835 389.165 704.664 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.935 681.312 408.891 693.267 ]/A << /S /GoTo /D (page.13) >> >>
endobj
492 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.994 681.312 453.95 693.267 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 377.209 669.925 389.165 680.754 ]/A << /S /GoTo /D (page.16) >> >>
endobj
493 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.318 648.007 419.292 658.836 ]/A << /S /GoTo /D (page.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.994 657.402 453.95 669.357 ]/A << /S /GoTo /D (page.32) >> >>
endobj
494 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 635.693 403.6 646.881 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.318 624.097 419.292 634.926 ]/A << /S /GoTo /D (page.8) >> >>
endobj
495 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.695 635.693 419.65 646.881 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 611.783 403.6 622.971 ]/A << /S /GoTo /D (page.9) >> >>
endobj
496 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.066 623.967 414.241 634.926 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.695 611.783 419.65 622.971 ]/A << /S /GoTo /D (page.33) >> >>
endobj
497 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.317 612.012 459.491 623.011 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.317 600.057 459.491 611.055 ]/A << /S /GoTo /D (page.22) >> >>
endobj
498 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 327.645 578.258 334.619 589.098 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 327.645 566.303 334.619 577.143 ]/A << /S /GoTo /D (page.4) >> >>
endobj
499 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 353.13 566.303 360.104 577.143 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 353.13 554.348 360.104 565.187 ]/A << /S /GoTo /D (page.4) >> >>
endobj
500 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 344.323 554.358 351.297 565.187 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 344.323 542.403 351.297 553.232 ]/A << /S /GoTo /D (page.2) >> >>
endobj
501 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 542.114 346.066 553.232 ]/A << /S /GoTo /D (page.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 530.159 346.066 541.277 ]/A << /S /GoTo /D (page.3) >> >>
endobj
502 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 473.379 529.88 485.334 541.835 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 473.379 517.925 485.334 529.88 ]/A << /S /GoTo /D (page.22) >> >>
endobj
503 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.166 518.204 398.121 529.322 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.166 506.248 398.121 517.367 ]/A << /S /GoTo /D (page.12) >> >>
endobj
504 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 506.248 382.679 517.367 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 494.293 382.679 505.412 ]/A << /S /GoTo /D (page.4) >> >>
endobj
505 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.244 494.234 372.218 505.412 ]/A << /S /GoTo /D (page.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.244 482.278 372.218 493.456 ]/A << /S /GoTo /D (page.7) >> >>
endobj
506 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.957 482.498 424.93 493.456 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.957 470.542 424.93 481.501 ]/A << /S /GoTo /D (page.5) >> >>
endobj
507 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.917 470.104 405.872 482.059 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.917 458.149 405.872 470.104 ]/A << /S /GoTo /D (page.25) >> >>
endobj
508 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 496.502 458.149 508.457 470.104 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 496.502 446.194 508.457 458.149 ]/A << /S /GoTo /D (page.26) >> >>
endobj
509 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 424.844 419.043 435.673 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 412.889 419.043 423.718 ]/A << /S /GoTo /D (page.14) >> >>
endobj
510 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 412.54 387.909 423.718 ]/A << /S /GoTo /D (page.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 400.585 387.909 411.763 ]/A << /S /GoTo /D (page.7) >> >>
endobj
511 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 359.605 400.923 366.579 411.763 ]/A << /S /GoTo /D (page.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 359.605 388.968 366.579 399.808 ]/A << /S /GoTo /D (page.6) >> >>
endobj
512 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.471 388.849 410.445 399.808 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.471 376.894 410.445 387.852 ]/A << /S /GoTo /D (page.6) >> >>
endobj
513 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.608 376.904 405.563 387.852 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.608 364.948 405.563 375.897 ]/A << /S /GoTo /D (page.11) >> >>
endobj
514 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.828 365.058 386.783 375.897 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.828 353.103 386.783 363.942 ]/A << /S /GoTo /D (page.11) >> >>
endobj
515 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 348.178 353.103 360.133 363.942 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 348.178 341.148 360.133 351.987 ]/A << /S /GoTo /D (page.11) >> >>
endobj
516 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.742 340.59 420.716 352.545 ]/A << /S /GoTo /D (page.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.742 328.635 420.716 340.59 ]/A << /S /GoTo /D (page.7) >> >>
endobj
517 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 340.965 307.285 352.92 318.114 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 340.965 295.329 352.92 306.159 ]/A << /S /GoTo /D (page.22) >> >>
endobj
518 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.487 295.329 368.442 306.159 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.487 283.374 368.442 294.204 ]/A << /S /GoTo /D (page.22) >> >>
endobj
519 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.826 260.889 403.8 272.844 ]/A << /S /GoTo /D (page.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.826 248.933 403.8 260.889 ]/A << /S /GoTo /D (page.8) >> >>
endobj
520 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 332.627 227.583 339.6 238.413 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 332.627 215.628 339.6 226.458 ]/A << /S /GoTo /D (page.5) >> >>
endobj
521 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 329.877 215.628 336.851 226.288 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 329.877 203.673 336.851 214.333 ]/A << /S /GoTo /D (page.4) >> >>
endobj
525 0 obj
<< /D [ 523 0 R /XYZ 78.37 808.885 null ] >>
endobj
-209 0 obj
+205 0 obj
<< /D [ 523 0 R /XYZ 79.37 706.717 null ] >>
endobj
522 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F16 251 0 R /F15 227 0 R /F54 228 0 R /F68 259 0 R /F62 230 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F16 247 0 R /F15 223 0 R /F54 224 0 R /F68 255 0 R /F62 226 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
566 0 obj
-<< /Filter /FlateDecode /Length 2344 >>
-stream
-x\n6߯%
-?u_-~jyIpz7IcҜLqz3by99$WʹWK0^1>?KC@5Y
- ڕ(VL v>58ut2i뉴J N6]Jx8:<(䉲[iՆ]R*U^wVՁS̘;G)q9R
-Rd$M Z`paDDg"?Z?Q%S \zIsN<Š+
->TӛԿ!FQSwjCW<ʷx'OuWf%2^ъHY[_d.jQX_iI nqkwǟzh^8OiSW5wF]b8*3nVyVSv(k9u|$9QZZ^hKIPn̂\Da2 g\fAB(0t P?
-7-g
-NI/M2Y褜Fq~*xI}]foQ}'"Ƿ
-&!HʊoWO,ӓt\_ ? 6聠24<GE(e(ͳ5eiPxl}y/
-^6LApmzSA`1rE>˓!>`)r +9S4AůA{TQKKwiR np4
-&"f>9 xvݘ1
-K_,֮&p%>cS2J+50 s y(*Xa6~
-LG\̥B*W ~l5hf`Sc#k2%<+wGx9%38t-/2sWui% >C~ !`D%m !Bz쑮aH(f`S;Ѡbgn\rn׮TJ2%
-yg6KU.UYRTbKM1GBQ^@JN
-KC͏$7̙7Ӽp1MQ/ʼn,gPk͡?.<?aA<?xC/bK [R<P2JL&hH1fW]{V}jW|c7tG,TqG΄Ƒ.SҌzsmTx)l'og54&s7OLǂ=@YY\lLt '
-}iZ31 ]WzbpI]DjfR=ziCym%UoVYΐ Iι1R[b|Uv6
- 8Q2,Y֚D삭x|v` q!&,Q7
-v(Xm!:)in`_n_F7r[rt</5 ĥR<Gb#?ͪK;ȄvL"}{QzS=v&fٛ?
-0cOAjdÝbpft*%*QAf=^۳/WQH
+<< /Filter /FlateDecode /Length 2347 >>
+stream
+x\Ko6K! x]܊^S|s(R@D ߼g~O[޾v$
+7o8Ǥ9m2g"ċss.I•s-04L-aGc5}*{"1j@&+KQ&O|j0q<d!i?mfwq Tux2QeU$^Ӫ 
+;U+Fե09Zf1wywR rH$ɣ#v
+o8ÈrD~~NK<ҹ,~2nx<Wz*W.MMIJx%|u)iE&ϗ5+fY _ +s%,i^2RB4QЍkCX
+dj3[z]YѹZ*Lӱ/L'ݟ
+=^5;"Ua2Eёb$-~_ྐ7|?)iu9"ۺ#c
+S7N-kY8Y?J;Y(9M+pXT.p5. ޒ \;ޯm GxؔvQ*ϣΙ[ш4^>ibH|@$nӄQ5ڦ|阙l]Cׂk7jکrPeb B$!
+h#>brz-Ƣ4϶<馁By=U+n*xŋ 0%õ^tqLY]u,O:zކ|fU/^L9*RE--]HUK%ј+>$awc(<X/^| L[8#Ζ
+/L?tXȹ0,.@&:4nԮ+ed1xG.
+]"5
+3ٞW4οRZ7+~Tcgȅ$-A B*{]z;p׺׷pDh;8X]Yנqߐ<Iɵ5Bv <Al9gnAKLy*#дm3z6b8k1z
+)Л?q[B 9HxcP~ [L-hJ)+Gb)!;
+oLA,{mZ^E!0ðkޕs8딳j߾]a8
endstream
endobj
565 0 obj
-<< /Type /Page /Contents 566 0 R /Resources 564 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 568 0 R >>
+<< /Type /Page /Contents 566 0 R /Resources 564 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 439 0 R /Annots 568 0 R >>
endobj
568 0 obj
[ 527 0 R 528 0 R 529 0 R 530 0 R 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R 536 0 R 537 0 R 538 0 R 539 0 R 540 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R 546 0 R 547 0 R 548 0 R 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R 554 0 R 555 0 R 556 0 R 557 0 R 558 0 R 559 0 R 560 0 R 561 0 R 562 0 R ]
@@ -2016,21 +1997,22 @@ endobj
<< /D [ 565 0 R /XYZ 78.37 808.885 null ] >>
endobj
564 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F54 228 0 R /F70 285 0 R /F71 292 0 R /F16 251 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F62 226 0 R /F54 224 0 R /F70 280 0 R /F71 291 0 R /F16 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-586 0 obj
-<< /Filter /FlateDecode /Length 871 >>
+585 0 obj
+<< /Filter /FlateDecode /Length 838 >>
stream
-xXɎ0 +QEJ$`` N&zέ=Xfv:|0hG χvt9`PvB ') ?V;J')Mx.GEЏ o/P
-v֗"t+!LUR~lkm
-u#g:ƀpz>հ]LTa>(Рv>
+xXɎ0 WRHIL
+[k{_+jDf.SËh{#÷OYT`d;\>8
+Ps!ǜDӈb+ʸ2ȨC .HJ{Zz7[@(9"q=XBm>swx 5Ld(trTURI[@&.q4|pdhWĤ]#\2-zwX2)5Y\)nCw>@ca,ew J>V4*V%H"ŹyW*IFL)kCEaMZyHéI8ԡ[cABwS ɇ`Ь%nkXap*1tα752])Ғn[K{wEW_hzTe3M7gȄ$o>QũXO
+6Y P+| c,id/B98AVxq$=!(nÃs4{Q;T.#&vJ2qRRXl%(E$JG@]Y- sZ.}Th6[mټK:!%-ҫm ^s;:%bbzrh◆u xB(J@+
endstream
endobj
-585 0 obj
-<< /Type /Page /Contents 586 0 R /Resources 584 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 588 0 R >>
+584 0 obj
+<< /Type /Page /Contents 585 0 R /Resources 583 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 439 0 R /Annots 587 0 R >>
endobj
-588 0 obj
-[ 563 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R ]
+587 0 obj
+[ 563 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R ]
endobj
563 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 758.132 143.002 768.971 ]/A << /S /GoTo /D (section.8) >> >>
@@ -2042,49 +2024,46 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 734.102 277.208 745.061 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
571 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 722.147 214.513 733.106 ]/A << /S /GoTo /D (subsection.8.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 722.147 261.178 733.146 ]/A << /S /GoTo /D (subsection.8.3) >> >>
endobj
572 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 710.192 261.178 721.19 ]/A << /S /GoTo /D (subsection.8.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 700.289 219.843 711.188 ]/A << /S /GoTo /D (section.9) >> >>
endobj
573 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 688.334 219.843 699.233 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 688.284 259.525 699.233 ]/A << /S /GoTo /D (subsection.9.1) >> >>
endobj
574 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 676.329 259.525 687.278 ]/A << /S /GoTo /D (subsection.9.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 675.88 364.391 687.835 ]/A << /S /GoTo /D (subsection.9.2) >> >>
endobj
575 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 663.925 364.391 675.88 ]/A << /S /GoTo /D (subsection.9.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 654.451 355.794 665.459 ]/A << /S /GoTo /D (section.10) >> >>
endobj
576 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 642.496 355.794 653.504 ]/A << /S /GoTo /D (section.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 642.446 200.147 653.405 ]/A << /S /GoTo /D (subsection.10.1) >> >>
endobj
577 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 630.491 200.147 641.449 ]/A << /S /GoTo /D (subsection.10.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 630.491 199.161 641.559 ]/A << /S /GoTo /D (subsection.10.2) >> >>
endobj
578 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 618.535 199.161 629.604 ]/A << /S /GoTo /D (subsection.10.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 618.097 220.74 630.052 ]/A << /S /GoTo /D (subsection.10.3) >> >>
endobj
579 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 606.142 220.74 618.097 ]/A << /S /GoTo /D (subsection.10.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 606.58 187.684 617.649 ]/A << /S /GoTo /D (subsection.10.4) >> >>
endobj
580 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 594.625 187.684 605.694 ]/A << /S /GoTo /D (subsection.10.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 594.625 219.981 605.584 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
581 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 582.67 219.981 593.629 ]/A << /S /GoTo /D (subsection.10.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 582.232 375.36 594.187 ]/A << /S /GoTo /D (subsection.10.6) >> >>
endobj
582 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 570.276 375.36 582.232 ]/A << /S /GoTo /D (subsection.10.6) >> >>
-endobj
-583 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 550.74 108.74 559.756 ]/A << /S /GoTo /D (section*.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 562.695 108.74 571.711 ]/A << /S /GoTo /D (section*.1) >> >>
endobj
-587 0 obj
-<< /D [ 585 0 R /XYZ 78.37 808.885 null ] >>
+586 0 obj
+<< /D [ 584 0 R /XYZ 78.37 808.885 null ] >>
endobj
-584 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 251 0 R /F15 227 0 R >> /ProcSet [ /PDF /Text ] >>
+583 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 247 0 R /F15 223 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1 0 obj
<< /pgf@ca1.0 << /ca 1.0 >>>>
@@ -2095,16 +2074,16 @@ endobj
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
-589 0 obj
+588 0 obj
[ 3 [ 602.1 ] 5 [ 602.1 ] 11 [ 602.1 602.1 ] 38 [ 602.1 ] 68 [ 602.1 602.1 602.1 ] 72 [ 602.1 602.1 ] 75 [ 602.1 602.1 ] 79 [ 602.1 602.1 602.1 602.1 602.1 ] 85 [ 602.1 602.1 602.1 602.1 602.1 ] 91 [ 602.1 ] ]
endobj
-591 0 obj
+590 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xڛ"w
endstream
endobj
-592 0 obj
+591 0 obj
<< /Filter /FlateDecode /Length 11571 >>
stream
x| |UﭺU%tv& &Av"J  IL,cC@D ""(.({TԙqGapF'>PVu6P~Ҟ>n{sJxr%*oܱ?3oԵF{1B׭+8EH4̽Pr~cC;zEBү%$ƀϯvTM(OjĄeuG6Wƿ.ŵ7| T%2Za-mO2/VZ}-Zq}W}[{mJtZBbtMD&D/A& ^U1`T1D+ɪDPeRQ_'QQC*l3,#/h? ىDF1+yJ,|^2y Fˑ+ׄC'·?E bqG|EW35NgEG;e
@@ -2140,10 +2119,10 @@ R kBX_"PSU;~@1~1nc̍1c|$a=b[0\Hx $Nchbo
iLOׯ+WkuWJ^)_^[ ]IVU[شVW
endstream
endobj
-590 0 obj
-<< /Type /FontDescriptor /FontName /GMFTGJ+DejaVuSansMono-Oblique /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 592 0 R /CIDSet 591 0 R >>
+589 0 obj
+<< /Type /FontDescriptor /FontName /GMFTGJ+DejaVuSansMono-Oblique /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 591 0 R /CIDSet 590 0 R >>
endobj
-593 0 obj
+592 0 obj
<< /Filter /FlateDecode /Length 477 >>
stream
xڍOo0=8!h"TD
@@ -2154,22 +2133,22 @@ xڍOo0=8!h"TD
1|g:0[7K{>w_ZŻ+j7ZIjl{|6K/?'
endstream
endobj
-408 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /DescendantFonts [ 594 0 R ] /ToUnicode 593 0 R >>
+411 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /DescendantFonts [ 593 0 R ] /ToUnicode 592 0 R >>
endobj
-594 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /FontDescriptor 590 0 R /W 589 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+593 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /FontDescriptor 589 0 R /W 588 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-595 0 obj
+594 0 obj
[ 3 [ 602.1 ] 6 [ 602.1 ] 11 [ 602.1 602.1 602.1 602.1 602.1 602.1 ] 18 [ 602.1 602.1 602.1 602.1 ] 29 [ 602.1 ] 31 [ 602.1 602.1 602.1 ] 68 [ 602.1 ] 70 [ 602.1 ] 72 [ 602.1 602.1 602.1 602.1 602.1 ] 78 [ 602.1 602.1 602.1 602.1 ] 83 [ 602.1 ] 85 [ 602.1 602.1 602.1 602.1 ] 91 [ 602.1 ] 171 [ 602.1 ] ]
endobj
-597 0 obj
+596 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xڛ$
endstream
endobj
-598 0 obj
+597 0 obj
<< /Filter /FlateDecode /Length 12999 >>
stream
x| \TU9{ f.32Y"[ B
@@ -2231,10 +2210,10 @@ ffR'(y)9yĴ"%PəZis&*X_L)|4*'Hc650k.32
nϔn/blv-ˤ[Uv2nVR+IeUHeuaR}o$.k#YmXUV`U\Ϫ*JUEr [ULeUVZJUVBlRT6OesU6Z4fopq]€QlʦlZ>ҴTV"e@eQ,OeSPir)Xi()IJIٱ$MD? Yv,XV]ʊdYBzÏ2,Q HJ,UzZnet9LRZKk~j]SٕX+JQ*94JS)la*KT]We)}Y2zɱ,[Jφz{ICFAkK^̫^28A98 JT6Pe%FޙRB6*sEDH.+CeLʜS;;TmWa}UGe* wPw&ICY¼^Q,#UfLf6;鶋I,B5,YØU]8lnf݋bi%ZTf&fz3T&2)1(ǾgB
endstream
endobj
-596 0 obj
-<< /Type /FontDescriptor /FontName /TNBLMB+DejaVuSansMono /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 598 0 R /CIDSet 597 0 R >>
+595 0 obj
+<< /Type /FontDescriptor /FontName /TNBLMB+DejaVuSansMono /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 597 0 R /CIDSet 596 0 R >>
endobj
-599 0 obj
+598 0 obj
<< /Filter /FlateDecode /Length 512 >>
stream
x}[k0+|oJ0
@@ -2242,22 +2221,22 @@ x}[k0+|oJ0
3(M@)h@DIĘDI{ e)%PBYe)%{&ЙAgbTgP@Ye3j㭻l6Vfepgw}_S.p-/87D
endstream
endobj
-407 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TNBLMB+DejaVuSansMono /DescendantFonts [ 600 0 R ] /ToUnicode 599 0 R >>
+410 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TNBLMB+DejaVuSansMono /DescendantFonts [ 599 0 R ] /ToUnicode 598 0 R >>
endobj
-600 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /TNBLMB+DejaVuSansMono /FontDescriptor 596 0 R /W 595 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+599 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /TNBLMB+DejaVuSansMono /FontDescriptor 595 0 R /W 594 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-601 0 obj
+600 0 obj
[ 68 [ 602.1 ] 70 [ 602.1 602.1 602.1 602.1 ] 76 [ 602.1 ] 79 [ 602.1 602.1 602.1 602.1 602.1 ] 85 [ 602.1 602.1 602.1 602.1 ] ]
endobj
-603 0 obj
+602 0 obj
<< /Filter /FlateDecode /Length 15 >>
stream
xk`
endstream
endobj
-604 0 obj
+603 0 obj
<< /Filter /FlateDecode /Length 10706 >>
stream
x{ xTչ{=3I& .3gd ( $@$7pS&I2d̄-
@@ -2313,10 +2292,10 @@ L/"hB_l
_Q UzEێ4Cێ*mk]#m[`ܺK6xX㹴kZM6ARҨ_*mPo3]K3Tzi&6F^MWeӕdR+rY4Zgg˵{5iٴ&V/W~Ze*<Ch-ϠK%gʹ4C.LK3Zb VEo_ysй[c-z~4yz;/Ξ#^Fg̔gЙhF\3zF^S-O/9
endstream
endobj
-602 0 obj
-<< /Type /FontDescriptor /FontName /WYCBGG+DejaVuSansMono-Bold /Flags 4 /FontBBox [ 0 -207 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -207 /ItalicAngle 0 /StemV 150 /XHeight 547 /FontFile2 604 0 R /CIDSet 603 0 R >>
+601 0 obj
+<< /Type /FontDescriptor /FontName /WYCBGG+DejaVuSansMono-Bold /Flags 4 /FontBBox [ 0 -207 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -207 /ItalicAngle 0 /StemV 150 /XHeight 547 /FontFile2 603 0 R /CIDSet 602 0 R >>
endobj
-605 0 obj
+604 0 obj
<< /Filter /FlateDecode /Length 434 >>
stream
xڅMo@+K΁4T8+mxwnevD ü33;/UM=Fk/ؙ
@@ -2324,22 +2303,22 @@ xڅMo@+K΁4T8+mxwnevD ü33;/UM=Fk/ؙ
wXq==mRl
endstream
endobj
-406 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WYCBGG+DejaVuSansMono-Bold /DescendantFonts [ 606 0 R ] /ToUnicode 605 0 R >>
+409 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WYCBGG+DejaVuSansMono-Bold /DescendantFonts [ 605 0 R ] /ToUnicode 604 0 R >>
endobj
-606 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /WYCBGG+DejaVuSansMono-Bold /FontDescriptor 602 0 R /W 601 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+605 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /WYCBGG+DejaVuSansMono-Bold /FontDescriptor 601 0 R /W 600 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-607 0 obj
+606 0 obj
[ 28 [ 603 ] 35 [ 544 ] ]
endobj
-609 0 obj
+608 0 obj
<< /Filter /FlateDecode /Length 13 >>
stream
xc``
endstream
endobj
-610 0 obj
+609 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 748 >>
stream
xmRmHq^򚽰͌޶QQ1tQQ~vݭJIQ,S|XbȾEDз>xB݊D0l!GMM݁:m:$csZPY+R
@@ -2349,10 +2328,10 @@ xmRmHq^򚽰͌޶QQ1tQQ~vݭJIQ,S|XbȾEDз>
BEt|.:CࠜHQѠ19 '41rR դP p驑ahz*2Aܺ>01J]{xuEݎ̴jphx<tԫ{ty{w<eR&/<Y QeuynJ1ƓetlTA-;aiM|Sj%7ͯ4veR & j#ǃ<n>.QٛϞS# G)SK_!l͡ȰRq dd</c^&i|2O'RD/K~}.
endstream
endobj
-608 0 obj
-<< /Type /FontDescriptor /FontName /WIKKRQ+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 610 0 R /CIDSet 609 0 R >>
+607 0 obj
+<< /Type /FontDescriptor /FontName /WIKKRQ+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 609 0 R /CIDSet 608 0 R >>
endobj
-611 0 obj
+610 0 obj
<< /Filter /FlateDecode /Length 365 >>
stream
x}R]k0}ϯ{(haRͮ ]?f˶W\@M$Ƈ%0 sܣ.xdL!Fa s
@@ -2360,37 +2339,37 @@ x}R]k0}ϯ{(haRͮ ]?f˶W\@M$Ƈ%0 sܣ.xdL!Fa s
۸gwݜ(s(}I3ynZ*MEתv./2m!ߍ
endstream
endobj
-398 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WIKKRQ+LMRoman7-Italic /DescendantFonts [ 612 0 R ] /ToUnicode 611 0 R >>
+389 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WIKKRQ+LMRoman7-Italic /DescendantFonts [ 611 0 R ] /ToUnicode 610 0 R >>
endobj
-612 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WIKKRQ+LMRoman7-Italic /FontDescriptor 608 0 R /W 607 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+611 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WIKKRQ+LMRoman7-Italic /FontDescriptor 607 0 R /W 606 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-613 0 obj
+612 0 obj
[607.3 ]
endobj
-614 0 obj
+613 0 obj
[758.1 ]
endobj
-615 0 obj
+614 0 obj
[892.9 ]
endobj
-616 0 obj
+615 0 obj
[446.4 446.4 0 877 0 0 0 0 0 569.4 569.4 ]
endobj
-617 0 obj
+616 0 obj
[777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 ]
endobj
-618 0 obj
+617 0 obj
[ 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 63 [ 525 ] 66 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 109 [ 525 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-620 0 obj
+619 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`
endstream
endobj
-621 0 obj
+620 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2073 >>
stream
xڍV TẄQ2UfUʪgE]+ѵV I$d G#s0E[z\ֳǰQQizZY︷gy{}w{qL&pZ 9֯gMl1d}9.fVW`0K)/HN!LDŽ$#wd Te#yj$=?
@@ -2411,26 +2390,26 @@ _`4Ҁp A]||pdnZDr|xcnWs!EATuA{}d
R`#w_#sµ9YXbЪ!܁#j9&V_Agʺ5o%)lH ϓlyMAX
endstream
endobj
-619 0 obj
-<< /Type /FontDescriptor /FontName /HKOFRT+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 621 0 R /CIDSet 620 0 R >>
+618 0 obj
+<< /Type /FontDescriptor /FontName /HKOFRT+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 620 0 R /CIDSet 619 0 R >>
endobj
-622 0 obj
+621 0 obj
<< /Filter /FlateDecode /Length 449 >>
stream
xڍAk0C =nK0I͚me4Iddn,a<oF{>qupqKz5hz[wlQlhA7
[bh8J(yFSti -2iT{HHkq 2F*<S gɬ'LKɬ%Xa,Ezq~nd|g/?7}!>us]q8_"
endstream
endobj
-300 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HKOFRT+LMMonoSlant10-Regular /DescendantFonts [ 623 0 R ] /ToUnicode 622 0 R >>
+299 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HKOFRT+LMMonoSlant10-Regular /DescendantFonts [ 622 0 R ] /ToUnicode 621 0 R >>
endobj
-623 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HKOFRT+LMMonoSlant10-Regular /FontDescriptor 619 0 R /W 618 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+622 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HKOFRT+LMMonoSlant10-Regular /FontDescriptor 618 0 R /W 617 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-624 0 obj
+623 0 obj
[ 27 [ 525 525 ] 32 [ 525 ] 34 [ 525 525 525 ] 38 [ 525 525 525 525 525 525 525 525 525 525 ] 49 [ 525 525 ] 52 [ 525 525 525 525 525 525 ] 59 [ 525 ] 61 [ 525 ] 63 [ 525 525 ] 66 [ 525 525 525 ] 70 [ 525 525 525 525 525 525 525 525 ] 79 [ 525 525 525 525 525 525 525 525 525 525 525 ] 91 [ 525 ] 93 [ 525 525 ] 96 [ 525 525 525 525 ] 101 [ 525 525 525 525 525 525 525 525 525 525 525 525 ] 114 [ 525 525 525 ] 118 [ 525 ] 120 [ 525 525 ] 246 [ 525 ] 272 [ 525 ] 338 [ 525 ] ]
endobj
-626 0 obj
+625 0 obj
<< /Filter /FlateDecode /Length 34 >>
stream
xc``?}
@@ -2438,7 +2417,7 @@ xc``?}
endstream
endobj
-627 0 obj
+626 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6614 >>
stream
xڽztyF1Cѐ3
@@ -2476,10 +2455,10 @@ yDi::Ǥ4]RR B6
4sldh4<'ZSfv̘NCVG
endstream
endobj
-625 0 obj
-<< /Type /FontDescriptor /FontName /XMTOPM+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 627 0 R /CIDSet 626 0 R >>
+624 0 obj
+<< /Type /FontDescriptor /FontName /XMTOPM+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 626 0 R /CIDSet 625 0 R >>
endobj
-628 0 obj
+627 0 obj
<< /Filter /FlateDecode /Length 698 >>
stream
x}Ko0Ev/Z!$ABJUШ[H  ( >V1SU?|{α{}Ozob՗0lky]\oƔv콭l9_ڪrK[.U/ceK|5j~_?W/9^N6Nm՟\[dY8i,}N}rV.D6>TlI'{Q*z8͵yiu4\u}{ -M[#{/ѕl.Ms2^KNvΆ eVlaYr4]+LG\ɘk[`
@@ -2487,22 +2466,22 @@ x}Ko0Ev/Z!$ABJUШ[H  ( >V1SU?|{α{}Ozob՗0l
tj"$ϩTs҂%*xD AB&GDn5%t5%ODZC^h<T)ᔔn:ǘ.aA'+.mf^aVY5w-֋Y;
endstream
endobj
-292 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XMTOPM+LMMono9-Regular /DescendantFonts [ 629 0 R ] /ToUnicode 628 0 R >>
+291 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XMTOPM+LMMono9-Regular /DescendantFonts [ 628 0 R ] /ToUnicode 627 0 R >>
endobj
-629 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XMTOPM+LMMono9-Regular /FontDescriptor 625 0 R /W 624 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+628 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XMTOPM+LMMono9-Regular /FontDescriptor 624 0 R /W 623 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-630 0 obj
+629 0 obj
[ 35 [ 580 ] 47 [ 624 ] 50 [ 558 ] 55 [ 536 ] 72 [ 513 ] 77 [ 613 ] 81 [ 636 ] 84 [ 558 ] 96 [ 602 ] 98 [ 458 ] 112 [ 613 ] 116 [ 613 ] ]
endobj
-632 0 obj
+631 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc````Td`h`X
endstream
endobj
-633 0 obj
+632 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1806 >>
stream
x}U}P$g;]eb/D b4aR|qw;dOLViꘙiftZH%/h;I3ywٝw~Ǽ((W3שuyj;ٙ84VF)D Ox*D%"yq*c#v)'KG6nɾHcIEҐ'gPM&蜬fDdg1b7S;cFcm iYԾ,X(PuT]VRJ~j0Ҍb ,H5ZJ2Vi ՠ e=JJ|DuF̤(#MS&{**KT*Ju2"qK3
@@ -2517,33 +2496,33 @@ $`<H2MA9,1w1@l3 '@:)[wq!F _7 ^
d\vuy>c-
endstream
endobj
-631 0 obj
-<< /Type /FontDescriptor /FontName /OWSLYP+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 633 0 R /CIDSet 632 0 R >>
+630 0 obj
+<< /Type /FontDescriptor /FontName /OWSLYP+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 632 0 R /CIDSet 631 0 R >>
endobj
-634 0 obj
+633 0 obj
<< /Filter /FlateDecode /Length 422 >>
stream
xڍj@@&5 mbeifNҁ8#.PJysպa0Fua5u#=b0E.E{mĹdǎ[!$ދuQU)n"lKPѤC F$
nPJ͇'3UمCC8~r=H=Yeũi^BY4>I_hJ8M}kY!֍hOmIܞjqGgcS u)H|ig`x5!Uj[(B$t)4s4yZxzrtyZz:J|d(cCݥ~7]ڸ~s&$OBjnwmi$I
endstream
endobj
-285 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OWSLYP+LMRomanCaps10-Regular /DescendantFonts [ 635 0 R ] /ToUnicode 634 0 R >>
+280 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OWSLYP+LMRomanCaps10-Regular /DescendantFonts [ 634 0 R ] /ToUnicode 633 0 R >>
endobj
-635 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OWSLYP+LMRomanCaps10-Regular /FontDescriptor 631 0 R /W 630 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+634 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OWSLYP+LMRomanCaps10-Regular /FontDescriptor 630 0 R /W 629 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-636 0 obj
+635 0 obj
[ 28 [ 500 ] 43 [ 444 ] 50 [ 444 ] 52 [ 778 ] 72 [ 278 ] 96 [ 392 ] 109 [ 556 ] 112 [ 528 ] 251 [ 444 ] ]
endobj
-638 0 obj
+637 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc`````h

endstream
endobj
-639 0 obj
+638 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1371 >>
stream
xڵTmLSg-ZvһEޫC"J ȢAP"G+Rʕۖ
@@ -2555,10 +2534,10 @@ xڵTmLSg-ZvһEޫC"J ȢAP"G+Rʕۖ
1)D(.cF(]GH9){mł0~k:\TWTӰgz
endstream
endobj
-637 0 obj
-<< /Type /FontDescriptor /FontName /UHLNIO+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 639 0 R /CIDSet 638 0 R >>
+636 0 obj
+<< /Type /FontDescriptor /FontName /UHLNIO+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 638 0 R /CIDSet 637 0 R >>
endobj
-640 0 obj
+639 0 obj
<< /Filter /FlateDecode /Length 412 >>
stream
xڍ]K0+yQv:?tu]r6mRb|
@@ -2566,70 +2545,71 @@ xڍ]K0+yQv:?tu]r6mRb|
\0s$e5%`Sȝ"Ķ> I{*˾mkt]%YwnY536*3?CzNBLqڊB3-W. !>+Ir$s>x]z=]ބXiJ=]B16oЖM6km=-qfܪeߌ:Z-g
endstream
endobj
-269 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /UHLNIO+LMRomanSlant10-Regular /DescendantFonts [ 641 0 R ] /ToUnicode 640 0 R >>
+265 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /UHLNIO+LMRomanSlant10-Regular /DescendantFonts [ 640 0 R ] /ToUnicode 639 0 R >>
endobj
-641 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /UHLNIO+LMRomanSlant10-Regular /FontDescriptor 637 0 R /W 636 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+640 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /UHLNIO+LMRomanSlant10-Regular /FontDescriptor 636 0 R /W 635 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-642 0 obj
-[ 27 [ 743 511 ] 35 [ 460 ] 43 [ 460 ] 46 [ 755 511 ] 49 [ 678 460 ] 55 [ 307 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 68 [ 307 ] 72 [ 256 ] 74 [ 897 818 ] 77 [ 562 ] 81 [ 511 511 678 511 ] 91 [ 460 ] 95 [ 729 422 562 409 ] 105 [ 332 ] 107 [ 511 ] 109 [ 537 ] 111 [ 743 460 ] 116 [ 464 ] 118 [ 486 ] 125 [ 562 ] 168 [ 511 ] 251 [ 460 ] 257 [ 460 ] 277 [ 460 ] 502 [ 307 ] ]
+641 0 obj
+[ 27 [ 743 511 ] 35 [ 460 ] 43 [ 460 ] 46 [ 755 511 ] 49 [ 678 460 ] 55 [ 307 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 68 [ 307 ] 72 [ 256 ] 74 [ 897 818 ] 77 [ 562 ] 81 [ 511 ] 83 [ 678 511 ] 91 [ 460 ] 95 [ 729 422 562 409 ] 105 [ 332 511 511 ] 109 [ 537 ] 111 [ 743 460 ] 116 [ 464 ] 118 [ 486 ] 125 [ 562 ] 168 [ 511 ] 251 [ 460 ] 257 [ 460 ] 277 [ 460 ] 502 [ 307 ] ]
endobj
-644 0 obj
+643 0 obj
<< /Filter /FlateDecode /Length 38 >>
stream
-xc``N\BAh 40 n
+xc``N\%BAi 40 n
endstream
endobj
-645 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4771 >>
-stream
-xY XSg>OD؂izN\VV.T*U]d $$ bkTbg.3tipg i:s<<$$'[ <aX6LXk3olٞ*xnM{j.#'j6"&QdŝLn
-IK$zAXc?|c˼B|: a!o1ʚz/|ҥ EBKlen\jzN Mdpb[b[%Q>7:_Mefr3ܢ%/,&f |Qyry n 'fv$$r_r<\n.,\(+&_$L܉, ش.vkBlL/f
-S1oOm
-sÑ'y3H yyYB^E^C"둍HقlC# H"ه HGr<$"#mʹcS|Yldk`\!MOlvÔt /yb?zy3<YDۜ̚_O E pw+a7HZNȒf2FfM Zo}j!2fy6[s؎;*@W4RgɲrFP+QI2ER؈öޮn!$94 hO-B<GJHG$ȥo]e؄+Ձ589ZL Hssp:F?K/X~4Z`Éno ih
-T
-SoPp`655J3Z|=5{LiU.H+;=ҳ~sm愈 0
-F7~2ZMq༕9}-S1s@ (1ANai6ojem0aR/M|!}U|v.6IBF]N7L?A/54_l$<C~@–ԇF1'Wu}М_Kzd3 &^lv
-ؖG~wؗ]2\1bJpzmZ;M̧0uzh%}Nwh16D M
-ci֛˘{^k%X٦b|,]
-?4e
-pN:bs.<j^`#{lpф rgm{cwۗG\$%<巧Y<)MWl,~qD
-g'p8X];%/ (}: 4{,Y1f+u]dKPLL;t5۫n
-A8" f|~x\(DGFd2ykK5r.lM<Kert;Aޮ 6smuYP_
-,f<b*5+&fpF_U$#N2Sjs[K
-Y 6hz2[ea<@6PWQ`ti+ 1e6mBPڞm:rP~UIG?O~~뗭0k EYc,5vbiǀ٣֛ͪ2"9}?cE3`d1SoN_We8!5R6zޢ,lϿZ7-6/aq2SDPl4b:X=nkTXʠ>@ F0P߽c.3X9 # f8wVצ,
-qa~I3Y{aQƷ|ΨiT
-c|qr08e۫83e[[֥ TJL9gRht _Z"M"YZB~>1vURD7pQ˴j5hɹ!ԙ!GNÆy5U<@c"Cb`*SDKys7]& :lx %&ݷw˯x@-gbI–}P{{#v@W7cjf
+644 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4832 >>
+stream
+xY XSg>ODB99ZŶmZJUm-@B!'! I!dqEm-u]tFov2aw枀Nv33ɓ9~XŚ~IO~0?Mk%iyйD j: !4E0;qGR聟{4NCV`JOP b:[13t'q LCBFX(k2៼sq/X)9s?Ly18nBZFPV 2 qq Bsύ
+鼜,0[XpBQ8~W&rW1/V
+2yb$]5i @}sr<7G"-7OR'gbS0/oKB澒aW׮ߐ'KYB17'Iǿ~ fan83d4CEC!KK*d C#$d ٍ"iH:G H>"DD"J TrX c sBiTd {l;,~I;0 3¿$ߤLE̍xOGOLGC$Gs9?x_DpG%c5PZN(͞f :FVC+Lzo|<ՔcQ[E
+P4زA/!ޅQ(}TVJU\瀣ۼwA-IFc Ps/Q8j-4IJ||/htjw+y 6e\=h%չ8FOg-<P_ ih
+V3
+jr@gpQunxyJ8>03h ؔ@?ӑ~/"D' EgT^9ePt1
+JYj VK%ЊvzBA!ҔJd)5VUUj>6; @d5 ꇀN TBHGm*7 6DA24(z[>vێcpэ[71/
+='`!eqxD|u7(yuC% Gsӏ !Qd<~ydj& JqQ&۝Xȫe9)ҞoaVa+~Zp!= EoTȰZMuSS}D1 PCcP9UdQ hYD'0mJQk*N'б zb'T R!?fWF(KOD{ 5XnoQ23w~yPd&mXj;'6%_o:t?SHG}$u=KDs6RkUeH֟ㇰv#ރ6tGbUL]^RPQsp3jpbʻmڎWCdeY7kcsL/Ӭo(Z dJM`R%v!DQG߈~W:ӛp\YC^QoSkʚ˧5^ର+ˈχp()P r2XT3eXfc/:SeD44ssr mb C܄9gS
+p>&1,Ď$žF֏^ت]NM"YnROpP5~eX Ed F! 礜Pvx:#ϪÜ/΄;0Lh|<MUG3j5e%kYz[* ,Ǻ/b Fl)" N<P~QB3(R#璨!4`_SXbtjkev.spT6niUVMώ|ہ
+p}.8bOs{pwHgD9cb8:ĝ;77߾{w>qY\' >y\oOųe|)(
+z%5vEiݲ9BѦ۵oWOsK+)[fթV:kx)6wz@;S`}*
+:n?EvwN\UvrnV's\˛k}L) oen&]Pi AV3hWwc[_^ת7V%Ք'aj+0`jVZK$ogp,1!9ڐt*qԓ%sMQO+/K/u6e4f3fp\n!|oE֞ % ``
+u0 00j|ѲrB ` nh2}DI'`jWqcMHzZzbqQj ikb3 79O(Np`uR8eP;^y2-&e NݝnHG,xi3.McpŮ1$fcu)r&<]|W`0ܤPb;3N׉тZ11wg8rb5%9uwv }v p|=y9u#]u`46@
+2C]ϾXJH/&$!X ![uC%ED/8߾} 9`ªՒmĢo1IF0V^q?
+\fz';<Wk-V 9x`m8s ^_F.SdˆZmWi
+wx㒻In9w
+*w诨͜)?@QTH̑`cEA/ؽߩum#NK5֠NU!)Ʒ}&2;:7Zfh??s= yO ZǮm}y5Z1@kmUz+2'DD\4^;~CFK_^PZK됼Cp|8Fdheq!)I/E?F?yf7zWSˍ&WI5EZRWҺ L9+=e}{6cmDڹ1<ǩUxUJN%>hŌʵnQC9|5o*ݱi`<g.i.)^BTkJ'XR7Lϴ,HYa̸;`<!4Ԗ{:jR&лIi2HDz#fMC_<
+J,WD–yAӓF12WDDo m9먆(ϣr
endstream
endobj
-643 0 obj
-<< /Type /FontDescriptor /FontName /IXSCYM+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 645 0 R /CIDSet 644 0 R >>
+642 0 obj
+<< /Type /FontDescriptor /FontName /MCKRES+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 644 0 R /CIDSet 643 0 R >>
endobj
-646 0 obj
-<< /Filter /FlateDecode /Length 541 >>
+645 0 obj
+<< /Filter /FlateDecode /Length 542 >>
stream
-x}]0+s1im;Rpj T˚D` &9сa]Aurxɏ^#%9K?{:o2YH5I)Fgѷ|+G2uA'B^"J1st'?s~nڦRXjSSǓ"Qr'Jl_V=H)r%1'SIfW݇ZI%{#c5_hL2)աK20B::g{4zҔyЭGoU#_h=^UtVȡ+uR@S,'UP'\o!M#Q:gR
-BP
- eV'PZasA: !a^= \:q <1!q
+x}]0 炱qbH:3Q[lK"
+b(@QAgr]^,ͩ` r]9hze:7[3.@8mDA8BD:GG \3t1L]LYst3\Jio+8Tf6(S"
+7lb3wzElvV~3Uk/b
endstream
endobj
-259 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IXSCYM+LMRoman10-Italic /DescendantFonts [ 647 0 R ] /ToUnicode 646 0 R >>
+255 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MCKRES+LMRoman10-Italic /DescendantFonts [ 646 0 R ] /ToUnicode 645 0 R >>
endobj
-647 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IXSCYM+LMRoman10-Italic /FontDescriptor 643 0 R /W 642 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+646 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MCKRES+LMRoman10-Italic /FontDescriptor 642 0 R /W 641 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-648 0 obj
+647 0 obj
[ 27 [ 869 559 ] 34 [ 818 639 575 ] 38 [ 575 575 ] 42 [ 831 511 ] 45 [ 319 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 63 [ 639 383 436 319 ] 71 [ 692 319 ] 74 [ 1092 958 900 639 575 ] 81 [ 575 575 786 639 ] 88 [ 319 ] 91 [ 607 ] 95 [ 863 474 639 454 ] 100 [ 575 575 ] 104 [ 800 447 575 575 885 639 ] 112 [ 607 1189 831 869 607 ] 118 [ 607 ] 121 [ 575 671 ] 125 [ 639 ] 168 [ 559 ] 251 [ 527 ] 319 [ 639 639 ] 499 [ 571 571 ] 502 [ 319 ] 589 [ 639 ] ]
endobj
-650 0 obj
+649 0 obj
<< /Filter /FlateDecode /Length 41 >>
stream
xc``6/p_7~0@ @iF2B0Y
endstream
endobj
-651 0 obj
+650 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6693 >>
stream
xڵZ XǶfzTi7h4"qWQA@A}aXfaAAQZܷFMsԀAtWW
@@ -2657,32 +2637,32 @@ in]tP<O:!|qWL4sTn[=Y? g{D
ypxcXjE.Kkw,<Gn԰T&Ăsf&̐s4y\,';+;{k̬,%v?'n1+%8rMh mrIMFӕe,c1WY.Hݎ%b܃H%vBk2(9QxUu3oNU*w(4|ʨxy6C}RAe_hM1 Z|o6Kjq;<L,Od-F (]?x٨ eP-XѢ7+YFe=pB9TSh,4ZXO =
endstream
endobj
-649 0 obj
-<< /Type /FontDescriptor /FontName /MMPGKS+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 651 0 R /CIDSet 650 0 R >>
+648 0 obj
+<< /Type /FontDescriptor /FontName /MMPGKS+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 650 0 R /CIDSet 649 0 R >>
endobj
-652 0 obj
+651 0 obj
<< /Filter /FlateDecode /Length 652 >>
stream
x}]0+s1JAȮ36qii~GEVDU&mt[]BվzyU\tZ+ngҔ݋u^tQiJpquXms{pZT]̮NnS)~-+΢WιaaԬ:M4!$QTYtD8&yiU0ۮz/Q)?Uh=>i`<fJmbۛY;RYk]w֚Ş#-*z_fot0 c6ghsD@pWțo\hjqFcO3OǰŠ6S6 Or
9h, SLYLA9<AI[2AeZRAO IDZP!Pl"eD|) "GY.@ BTP] TO0 }8D#gp 8$B 'P!Apu " e&& $)CuIʈNE?% tINo?~A'[ "Eto&]Dtoiݓ Yb>-랽^S\.q4vQϯw
endstream
endobj
-251 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MMPGKS+LMRoman10-Bold /DescendantFonts [ 653 0 R ] /ToUnicode 652 0 R >>
+247 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MMPGKS+LMRoman10-Bold /DescendantFonts [ 652 0 R ] /ToUnicode 651 0 R >>
endobj
-653 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MMPGKS+LMRoman10-Bold /FontDescriptor 649 0 R /W 648 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+652 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MMPGKS+LMRoman10-Bold /FontDescriptor 648 0 R /W 647 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-654 0 obj
+653 0 obj
[ 89 [ 1161 ] ]
endobj
-656 0 obj
+655 0 obj
<< /Filter /FlateDecode /Length 12 >>
stream
xc`
endstream
endobj
-657 0 obj
+656 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 514 >>
stream
xmQkQ~/Yl݀&(Px1%- i4J=%Kvɺ/n nl%(("^=&GЃx7Ϧwso#A@cq1_9[8/ۊy1f721y I !M}"쎍>cg!|~r#A qT4XzUs`*: -AVY]A1UJ0/A5 KTS
@@ -2690,31 +2670,31 @@ xmQkQ~/Yl݀&(Px1%- i4J=%Kvɺ/n nl%(("^=&GЃx7Ϧ
"4ljPXn64U/ZԠMUh*(X( 3Դ)$
endstream
endobj
-655 0 obj
-<< /Type /FontDescriptor /FontName /XNTVGR+LMRoman5-Bold /Flags 4 /FontBBox [ -630 -325 2006 1163 ] /Ascent 1163 /CapHeight 686 /Descent -325 /ItalicAngle 0 /StemV 145 /XHeight 444 /FontFile3 657 0 R /CIDSet 656 0 R >>
+654 0 obj
+<< /Type /FontDescriptor /FontName /XNTVGR+LMRoman5-Bold /Flags 4 /FontBBox [ -630 -325 2006 1163 ] /Ascent 1163 /CapHeight 686 /Descent -325 /ItalicAngle 0 /StemV 145 /XHeight 444 /FontFile3 656 0 R /CIDSet 655 0 R >>
endobj
-658 0 obj
+657 0 obj
<< /Filter /FlateDecode /Length 358 >>
stream
x}Qk0)n;"ڮCXa&gD> /d}޹:`Z쳊L&[es@^V L76s,Yr\5ބ|Z`Żg}UfrU=jSR cgԵPrRj6>$ߨ6V  5ȽYi&dO]`\0?1bΈ7é- PE17u\YۮcnTt?ҮBX8QXWCдO#wJG}5Cc>Aa?uouܾhg!Z8!1JU6-w.հqG~:T
endstream
endobj
-250 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XNTVGR+LMRoman5-Bold /DescendantFonts [ 659 0 R ] /ToUnicode 658 0 R >>
+246 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XNTVGR+LMRoman5-Bold /DescendantFonts [ 658 0 R ] /ToUnicode 657 0 R >>
endobj
-659 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XNTVGR+LMRoman5-Bold /FontDescriptor 655 0 R /W 654 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+658 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XNTVGR+LMRoman5-Bold /FontDescriptor 654 0 R /W 653 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-660 0 obj
+659 0 obj
[ 28 [ 531 ] 31 [ 531 ] 35 [ 531 531 ] 38 [ 531 531 531 531 ] 43 [ 531 531 ] 47 [ 531 ] 50 [ 531 531 531 ] 54 [ 531 531 531 531 531 531 ] 61 [ 531 531 531 531 ] 66 [ 531 ] 68 [ 531 ] 70 [ 531 531 531 ] 74 [ 531 531 ] 77 [ 531 531 531 531 531 531 531 531 531 531 ] 88 [ 531 ] 93 [ 531 531 ] 96 [ 531 531 531 ] 100 [ 531 531 531 531 531 531 531 531 531 531 531 ] 112 [ 531 ] 114 [ 531 ] 116 [ 531 ] 118 [ 531 ] 121 [ 531 ] 338 [ 531 ] ]
endobj
-662 0 obj
+661 0 obj
<< /Filter /FlateDecode /Length 28 >>
stream
xc``i}mr` 
endstream
endobj
-663 0 obj
+662 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 5615 >>
stream
xڝY Xڞ2cT2LBV,.E\ZIH ; `QPܰ^k5hZxk{c!h譽O™9;9}@IVz(fo)TU T)#XF N${Qy B`}
@@ -2738,10 +2718,10 @@ AŀhY7l=
3K9V^G Uw/17o9WHmG|mŋ65$Ayar{Y
endstream
endobj
-661 0 obj
-<< /Type /FontDescriptor /FontName /ILTTFM+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 663 0 R /CIDSet 662 0 R >>
+660 0 obj
+<< /Type /FontDescriptor /FontName /ILTTFM+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 662 0 R /CIDSet 661 0 R >>
endobj
-664 0 obj
+663 0 obj
<< /Filter /FlateDecode /Length 643 >>
stream
x}n0 $zĉM+rJ[68.xuOZi.9}3vfcU}!اn-uM0-zѦ{Zi5Xgar;6^lSuycUӋ>Uۥ{+ܼm֦t=6}՝3FԶj(+o &&2';A0U)Y^ܜݭecu0\y`n9}D粻6Y8,
@@ -2754,22 +2734,22 @@ x}n0 $zĉM+rJ[68.xuOZi.9}3vfcU}!اn-u
$yryrbpCzCzz
endstream
endobj
-239 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ILTTFM+LMMono8-Regular /DescendantFonts [ 665 0 R ] /ToUnicode 664 0 R >>
+235 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ILTTFM+LMMono8-Regular /DescendantFonts [ 664 0 R ] /ToUnicode 663 0 R >>
endobj
-665 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ILTTFM+LMMono8-Regular /FontDescriptor 661 0 R /W 660 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+664 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ILTTFM+LMMono8-Regular /FontDescriptor 660 0 R /W 659 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-666 0 obj
+665 0 obj
[ 28 [ 549 ] 35 [ 494 ] 43 [ 494 ] 47 [ 549 ] 50 [ 494 ] 59 [ 494 ] 63 [ 549 384 ] 66 [ 329 ] 75 [ 878 ] 77 [ 603 ] 81 [ 549 ] 84 [ 549 ] 91 [ 494 ] 96 [ 453 ] 98 [ 439 ] 105 [ 357 ] 109 [ 576 ] 116 [ 495 ] ]
endobj
-668 0 obj
+667 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``T\ !
endstream
endobj
-669 0 obj
+668 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2457 >>
stream
xڭW PgԪCwm=ԶwZ@-t @BB $H@B?BLQJS=؛f:ε3zvڞsw|||1%K Ю3Sv/⊟ޔ)V
@@ -2781,10 +2761,10 @@ tqkj{lG`X6&,]JXA
m fր/*TV"ҶPhG=pslΎF{*v݄U:t* --j:&. 6%oNV
endstream
endobj
-667 0 obj
-<< /Type /FontDescriptor /FontName /GESSBI+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 669 0 R /CIDSet 668 0 R >>
+666 0 obj
+<< /Type /FontDescriptor /FontName /GESSBI+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 668 0 R /CIDSet 667 0 R >>
endobj
-670 0 obj
+669 0 obj
<< /Filter /FlateDecode /Length 449 >>
stream
x}j0~
@@ -2793,22 +2773,22 @@ uHe' 'b8ni#%#ˋ}%B9f~{
s~RH9ELqښ -bk")fV0C+l!Jgi( eHK ii!#esOS)[#bki4S$ ;zrtmyB3쐣<Ԝ8#?7Nw.7Z۝!|uYsCm/
endstream
endobj
-238 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GESSBI+LMRoman8-Italic /DescendantFonts [ 671 0 R ] /ToUnicode 670 0 R >>
+234 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GESSBI+LMRoman8-Italic /DescendantFonts [ 670 0 R ] /ToUnicode 669 0 R >>
endobj
-671 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GESSBI+LMRoman8-Italic /FontDescriptor 667 0 R /W 666 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+670 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GESSBI+LMRoman8-Italic /FontDescriptor 666 0 R /W 665 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-672 0 obj
+671 0 obj
[ 28 [ 510 ] 35 [ 549 ] 43 [ 472 ] 50 [ 472 ] 55 [ 325 ] 63 [ 549 ] 66 [ 253 ] 70 [ 519 ] 72 [ 253 ] 75 [ 844 ] 77 [ 549 ] 81 [ 531 ] 84 [ 549 ] 96 [ 363 ] 98 [ 407 ] 105 [ 384 ] 112 [ 490 ] 114 [ 726 ] 116 [ 490 ] ]
endobj
-674 0 obj
+673 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``PdTa
endstream
endobj
-675 0 obj
+674 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1660 >>
stream
xmUqPWKX HpUJK bT B"k $HPԀk)6<DE:C@cB&gozS[mw~}<ň %9yt9F+51+O^ ~3aJijb@":!1_cemBϋa$Vx%y20 YtS YWS9*j2]ِ]flcqY-nbluxU ﰳŜh+e{rqN[tTUVzN++<38[e7qNm lfuDuqkv+~*S;eI+ɕK5$6-TwR5qnR粒N-(68AˆA?G hҠQB&^D
@@ -2820,10 +2800,10 @@ Y%p9.!iǁIc6J-I
^V\kȿP,a֓ gZ%:";飘l-I+yX+MBCFDrCV?<
endstream
endobj
-673 0 obj
-<< /Type /FontDescriptor /FontName /MBEOCR+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 675 0 R /CIDSet 674 0 R >>
+672 0 obj
+<< /Type /FontDescriptor /FontName /MBEOCR+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 674 0 R /CIDSet 673 0 R >>
endobj
-676 0 obj
+675 0 obj
<< /Filter /FlateDecode /Length 448 >>
stream
x}n0~
@@ -2834,78 +2814,80 @@ QWbO k{H >柙c3V>A0{d
E-XeRByHOH)REZxgi@ʑk5SE{J!Ӷ4JipF~&n\|l;3Rjt8oP
endstream
endobj
-237 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MBEOCR+LMSans8-Regular /DescendantFonts [ 677 0 R ] /ToUnicode 676 0 R >>
+233 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MBEOCR+LMSans8-Regular /DescendantFonts [ 676 0 R ] /ToUnicode 675 0 R >>
endobj
-677 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MBEOCR+LMSans8-Regular /FontDescriptor 673 0 R /W 672 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+676 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MBEOCR+LMSans8-Regular /FontDescriptor 672 0 R /W 671 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-678 0 obj
-[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 811 590 ] 49 [ 723 472 531 ] 55 [ 325 531 531 834 531 ] 62 [ 796 590 354 383 295 ] 68 [ 325 ] 71 [ 664 295 ] 74 [ 973 885 796 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 826 826 561 ] 96 [ 414 ] 98 [ 419 ] 100 [ 531 531 531 ] 104 [ 767 413 531 531 796 590 ] 111 [ 796 561 ] 115 [ 796 561 ] 118 [ 561 ] 121 [ 531 620 885 ] 125 [ 590 ] 167 [ 796 531 ] 207 [ 472 ] 251 [ 472 ] 257 [ 472 ] 277 [ 472 ] 319 [ 590 590 ] 343 [ 295 ] 502 [ 295 ] 575 [ 590 ] 589 [ 590 ] ]
+677 0 obj
+[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 811 590 ] 49 [ 723 472 531 ] 55 [ 325 531 531 834 531 ] 62 [ 796 590 354 383 295 ] 68 [ 325 ] 71 [ 664 295 ] 74 [ 973 885 796 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 826 826 561 ] 96 [ 414 ] 98 [ 419 ] 100 [ 531 531 531 354 767 413 531 531 796 590 ] 111 [ 796 561 ] 115 [ 796 561 ] 118 [ 561 ] 121 [ 531 620 885 ] 125 [ 590 ] 167 [ 796 531 ] 207 [ 472 ] 251 [ 472 ] 257 [ 472 ] 277 [ 472 ] 319 [ 590 590 ] 343 [ 295 ] 502 [ 295 ] 575 [ 590 ] 589 [ 590 ] ]
endobj
-680 0 obj
+679 0 obj
<< /Filter /FlateDecode /Length 49 >>
stream
-xc``0/r߿*a
+xc``0/r߿*a
endstream
endobj
-681 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7215 >>
-stream
-xz \WL*0})ںU^.( @@vInaw!".ZV[Zkkg Xk[/Νs}9sGJ"_ru _Z
-_v0OVrT,rpP,rT,uT, $W}=A^UΊ00РюU>aȠP? U(=W\T,;VTx+SƍSou
-:΋ =(l\j쒅.[9QM
-
-Uxx*}/
- p#hB@2"/H Rc(j,H&PNk$j25JMfP37Yj>ZD-PKerjZEP:j=Dm<(Oʋ|(_ʏ *
-TEES1T,e&K/̐̔l1b%Y?ZL-6d*YBac8KzT:]zI6_Mյ=o5^a#\|a Wz{n3G/l}mv۟`3{]ud-,ΚdAyK0Y8xSq}pŐ!LJ>zw4#8DHIg$p_:'R'ǪySi2KwCz>,h7]Hy ! <JjG Xx_'J]W@#5ioјhT-5Fxq_EoA6~~ *jeK (;qcOP/P z3z/$L|reJyPy˽3c&lY0H!8mF}Ctrܟѱ
-U&@<]rRڸ$ a< O$0O70
-`9PTg"<X-q/<0 Њ<Rr,-M%o  76VyOȍXCn^=FKːytoxH`@EHSea^3jZ&
->6^GICt[tz|ݑ _a5CV `8^{iq'ݍ+Zvߺ3b=ۅ(hKc=`{Y(g'gh3[]r[r`갱$,Bi#yvKKFeKus[unު&xkm [[/J6Iԛa]j
-g3 |Q#7.r.vumns,A"+K "7M2hQ(`k^>Mbh>RT$i.GqZml"?"I
-&{1 x騂4V;MSCmo^b:m^[xjX,<yӥ>֕KKnZo7׻r'UAcI3sd>2/v :S_yj)f,%%qn]PܨY^X])&+y൱=\?`G[7,_Fs+eڷ̜>tnU5•];j|SaUZa
-J KrxB
-!i&(/%ctfCMQPUb̯F/ WOw3lG8xu[Y-
-ݴ Lsxײ#)!&yJ Tzo%ݕKp4oY#0
-( ^-J3Df<礒Rm`N5'PWR7 [)*00DXT+xQkڽbV;3 "]b ''44S6b C^Q`dkG;:3νO`u u8 ^9v%nB&uaB/ ̼L3b'\x`pǑz'ƌi]es
-90gԊxmBVX>ԃs'0Cgm[v+` Wl44+J_{T}O
+680 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7223 >>
+stream
+xz \WLcuFg7Z[պ/h(
+ȾM $!}߅
+_q0OQX/(2GX<VtbYP$R\ Sl
+5V'L ?C==<=
+bꕫ
+'-a1c0OOR<u8eֱA[y1a37fVqZ4g޲*)^A
+O?˂B3P飌ȋP!heʁCQ(G5j25JMfP3Ylj.ZH-PNRjZAEVQ5:j=Lm6Q)ʓRޔKQT
+
+nHmDcQԘUnBzM̽+y{L:˃Co-
+(6Tm/7;NLI)?BP=/,0QŶ}{+x OCA.VW^xTԌe[cg.xoӞLL--~`#[BX"tulW3{@Ry 70wVȮ%x %&a+:3|3 Y֐yAƜ}<cP?O]8o2Mf
+rLwÇ4 /d%; _o2{|{^ਓ+ܭy׭| [v Kt)J+,j7s ޳YSc1}-sPvLZ$l;g7 u }ZgU I:]rW2KPN\V_tEG^ 'wW'L 6oz}޾xqψR!uJ#:HzD[q(HUƳFW]^RwfA,'f{=hA` `)&7WԄ*j<nkFF!7BO^%߉<7<$0< OДsyZIawd?^ǐI#tGt||ݞ_a5CV ap|{#i4. Wys3™OI%14ӽM,5 24s9nek9l-Gc90?}hhfݢPHsR&Q9̾oj6ZZ 6[Ɇ:e:= ^0^SB6T_GD 9<) ^_jlH~4$<4e>Z&fKzY DJ;n? X᳀=1]R ;y?ꜸMru:su)? BX8,@wƒˁA ô\),
+2C6t7.sUn-?^fjMhxgwPw: Hz&m>k RsHA\Mvؐm5%|g <u u-Fi)^ݽ{̱[blk?7xNߛ+_&UJE;Tvr<!ѠFC Q>DG,}z/}we[P5ŃҮrm_-^R`'赙vcEI}S`~d_ -0
+
+rFqݫÅ}#n^z?1؁PJ]z ]s_W5y<5]0e0"kNwBxo_~kXp@쪃 "GAW>u/C?9UM
+ SJi =?e!lgʺcDXjx ^6zxd'
+a4q/kghf_Wzؐ.tx̲u&M]S]
+[NUClm:]=? K)pT/#%?yV e0}|R3c֯ۑc+Blb}g塼5 Āl)94K$r1iP<{΅#OŪ9EGx`Aa$b˚풇O;V̓#CyDdѬWXYP*Q8бH@-X^Y*
+xhtA$y{GE{O?)F8(̢wȳQA,Ϩڄd,9ԃs'0Cfk[v+a j0d K&}=>Syl{zlˌIOLg!} Deʷrk+kwںƻ]XKӌ'kA׫
+¬0~?9Js_:<
+cP~ך>4;$.}zӖs;o BbFgt[2>1mxTHr=PߦĖdb˪ʋ[_K4#vJO@ K%#ܳOKZgn,UILu&Wd;ٻJbbxf5(%ύ uMz72x;.`=B\ v<OMt JJKx!7`|XSMv:Mx&a`{?>,3P]Z6].zYZał,+Ce[6R}LX`v&"ÇQsB*q<Y*RO51@I*Jj&FÖs68+2~o;,WvHMR&' * X U`lNh9Yػamv-r+M&vA٬}xֺR 34?[~~ĜxL:'r 2MjC$mڳ4}3_\-H?xY$$qczAN1K&K(M%Ŵ7{J: &IAXLWtQeעRT 9T^&p"+gqſ+~;I|/υ"0Dx˴7;U[L]\-F"ý]dc׀%ÌΏu??flK4S٢+*nC (3ɯ \ǿcW_I:/=6FWjZm&ilT̷ʮ,0'HfլބTY~A[~X
+2U݄|g?d7nO7L WG&f2px 8)*o**wb爫؎gc$cQ<V#-_2{&{ 2 Hʊ0EBK;ɿhk|F]Q0MxVczX‹)x*`0O 3BxAP<#t(5i<|+H(4^'^7LM.סm6.V'iժ;wlÞAIOgk
+tC
+2HK?9+HύLQl~mvFOodGU00UҔ|؝ot6"6 !ŧPt{fFrWe#㪓 M]\(,sgbYlvM .s*9[闙=Dzdb-j:=5敖5<D-]+b!lF
+w̑۲%pQ> .;&+B6'7e:v$@oݹ9JZDd6)96LYbI)9umqIR~ask><VSdSɪx^U
-"1ƽPípٖ" ;'B* ,84/$ʷrkv޺ƻX6Hړ'kA+cYa8|rpO}<tx4ܖǠ!25}Kn Z"uʳ'$ MP}&?"+#xcӎ</>O?m
- y^޲a21aai\B-|+ ê9ziNJdJ 6~vw،JRq6T798.e<|[gjj]5i> l@Utui]ޮ\O?yfsBт-žݍncͧ n[yo6 ]/Շx^lؓpJo)u sbU<5U:M,( ,T!e"&_efv)/đ$h^/c9BYd eiPFCyORB],<顨IK*_3:TتPz9 e%?jzt#6feVA4~p;Q p{v
-2%]g?x7n7L WG&f:px 8]\T\8S|B,6;ߝRXPK`|C|{݇;s_N{m `{Od' M(+
-2B 'b)GtE\3G' _{7b^KuؓCVC} =`W)]peYĵKfNLO>NCFʽ?1)f>oetv茶q\?PUs Ҵ\MF[w M4Vޙ}y luW. Y*#)>/Bt0I&qYK"tڟߤ f5$/jijF쎷 :Mmޏ?mH)` ~ ݞRfe DcAn@7'r#ܖXS)mpFCuUيHɭNBef5yl:9XaZH4e{>UK!
-~()L؈4PtUpmH} 擭74+!8Rqbh͍zi`ٛDKwi
-G 5%8_]Bc򑐕^W##qnn97%'sMdI2vX%{oCs_M\a{AYQkمS7^vkYMhD/_&įD̋|?N{G 裼w*/D/WIL]y]K߿|1ɩצ@_~r}073T8CMJ4x&LT<břFyH:<MNJ(JX u9P (]]bʿ_p(1jvŲ _LJЪF;@ѠXgSͬ_MLeacck[_u䲌[ڶ5Cـxw=oX,wV[“N}U'"wOSOG~Ż509Ҟ^e
-&S*鋖X5ZMөܒ Ztːe Yoe?z^/<r +FWqiTUiuZljys}oj%״lJ*ϐ zCPgu  ={MZџ7+6{ĚbZEǧ=FK?
-;7<4TGouqsU*B]MW^m^¬aK/E~N;ķ_} g69(h*
-qvfWED6L֗zuK>icc3C .
+Ʌ(-UMt݄Ÿ-g
+h$'ǂ@4)́ڿE12R-yr=yG.ݰә*C2*S*?iNVjVfSuj?:~JgPtY)yY&J5iܲ2hTz*KIQ%kVJ5h:gƶiVZrM&g2t7 uZ~p*-MOg1?8gt soW~!fE~h gaG65ٹ.nJT^p:xWw0kt˄_3wb3FgkŦlEz@&>\SA9Y2~*qݑuOS+=:`Хe6 k4!úۉ
endstream
endobj
-679 0 obj
-<< /Type /FontDescriptor /FontName /HSGCYI+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 681 0 R /CIDSet 680 0 R >>
+678 0 obj
+<< /Type /FontDescriptor /FontName /EZOSYT+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 680 0 R /CIDSet 679 0 R >>
endobj
-682 0 obj
-<< /Filter /FlateDecode /Length 698 >>
+681 0 obj
+<< /Filter /FlateDecode /Length 702 >>
stream
-x}Mo0 ڡ@wp#Cj [M1lGV2l!~^&u)%E0W7ato:o8{cwjU\]xfzԺ:޳硫7zbz6:M?6o޵aׯGu%=t܆/zwWCݭv[;2keX]cۙ{&n80M\c0#lvֽmM3T"bM[OD>V˛8l`>g3UfOC{0,[:h6skmG}xz5< F}U2;mKY49nmJΦW5@biqܓEl((-!$B8<CO%@-!$B`[D1IN"B1I (P;)#J@6&P&H $-DYR3I1P (DPR^(E}6
+x}k0WhR[BIlMiJfHdc;'{IXhGw|y݄Yݾ0Mtx.fV6ֵ/ችm#]+ӌwyeé;1..as ><oz:}ݭm3Ȯis{z]C0!lrѽkLݓT"buSD:V˛0`:eUu_1{vF9uA;=Ά=z)M\ZY>lϝfgU[++ݗfmia?@/;ǭ:\UT*{Hm 1$AQ[a#`A"%@KOS{ =P,`KA.=~
+"Ea&$D');j`ZRE-1e)fB/""D3EQψSK :UFyJ5:-jq .'C9h9V b ^Y 9(Eܿ(\M>fD
+33ܺqݪS׫_ns5F_7pv3h];U&
endstream
endobj
-236 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HSGCYI+LMRoman8-Regular /DescendantFonts [ 683 0 R ] /ToUnicode 682 0 R >>
+232 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /EZOSYT+LMRoman8-Regular /DescendantFonts [ 682 0 R ] /ToUnicode 681 0 R >>
endobj
-683 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HSGCYI+LMRoman8-Regular /FontDescriptor 679 0 R /W 678 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+682 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /EZOSYT+LMRoman8-Regular /FontDescriptor 678 0 R /W 677 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-684 0 obj
+683 0 obj
[ 82 [ 611 ] 100 [ 611 ] 187 [ 611 ] ]
endobj
-686 0 obj
+685 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xc`8A
endstream
endobj
-687 0 obj
+686 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 801 >>
stream
xuRKlkG(`Ɗ`6-G6k8t~י^W3ӦE(5B]Wwtg2Nĸ1,;|0EQݵPdc{}(Q"fF@),#.]m^Ԟl/
@@ -2915,37 +2897,37 @@ xuRKlkG(`Ɗ`6-G6k8t~י^W3ӦE(5B]Ww
sR4s=NoFJRv4(8:s[ϐΒ Gr^Qo|ⶬȣ2!+ESc%OG1
endstream
endobj
-685 0 obj
-<< /Type /FontDescriptor /FontName /BTJJIE+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 687 0 R /CIDSet 686 0 R >>
+684 0 obj
+<< /Type /FontDescriptor /FontName /BTJJIE+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 686 0 R /CIDSet 685 0 R >>
endobj
-688 0 obj
+687 0 obj
<< /Filter /FlateDecode /Length 375 >>
stream
x}R]k0}ϯ{(hXZ{ɵ D>/NP<s=suBo4pJ57d%5zȑwl5V5"q"٥ة,Cb@?/oTɱwssɴG+Ũa 'J(9`H)5Ua'K ~;[T8$ Vߐ{¬ʚת""Q,Z_]w 'ؔm$cnJm'ܰ>Ó^K ǪLDf 4hexںNy {u δ:آk&fa0c݇cf2]PҺN,ڭc
endstream
endobj
-235 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTJJIE+LMRoman6-Regular /DescendantFonts [ 689 0 R ] /ToUnicode 688 0 R >>
+231 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTJJIE+LMRoman6-Regular /DescendantFonts [ 688 0 R ] /ToUnicode 687 0 R >>
endobj
-689 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTJJIE+LMRoman6-Regular /FontDescriptor 685 0 R /W 684 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+688 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTJJIE+LMRoman6-Regular /FontDescriptor 684 0 R /W 683 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-690 0 obj
+689 0 obj
[570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 277.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 777.8 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 520.6 0 0 600.2 0 0 0 0 0 0 0 0 0 571.5 ]
endobj
-691 0 obj
+690 0 obj
[388.9 388.9 0 777.8 0 0 0 500 500 500 500 0 0 0 0 0 0 0 0 0 0 777.8 ]
endobj
-692 0 obj
+691 0 obj
[ 28 [ 525 ] 35 [ 525 525 ] 40 [ 525 525 525 525 ] 47 [ 525 ] 49 [ 525 525 ] 55 [ 525 ] 59 [ 525 ] 61 [ 525 ] 63 [ 525 ] 66 [ 525 ] 72 [ 525 525 ] 75 [ 525 ] 77 [ 525 ] 79 [ 525 ] 81 [ 525 525 ] 84 [ 525 525 525 ] 91 [ 525 ] 93 [ 525 525 ] 96 [ 525 ] 98 [ 525 ] 102 [ 525 525 525 525 ] 109 [ 525 ] 111 [ 525 525 ] 116 [ 525 ] 118 [ 525 ] 246 [ 525 ] ]
endobj
-694 0 obj
+693 0 obj
<< /Filter /FlateDecode /Length 27 >>
stream
xc``(p5Ol.T
endstream
endobj
-695 0 obj
+694 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4172 >>
stream
xڽXyTWEE),UF4f,=٥WznhAF(юY$f>2Iη"ϜjPaI9S}N/{u,$) aXwܲgM˟۾_pՊ Q^EiAV=J!}&h2&YRXW3%>8tCG>͂އ ;l@|_R"  J`%f8V=_%Wzc my|WYݖݞKR~%7WWQqy{b!O  *tnvI+ ʹ̧W
@@ -2970,10 +2952,10 @@ HhFyu|˹)A<8,pq
.WFomj!vNz}DQt@߅ֻ 5Ww^)9?Tr#Q)pj|dK_`פm-?g Ɖd8 v>{}ڤU ȢŊ9K#C6X,N p꠰X'#<5y̬‹` 6 s&`iN`i(h뼵:٤%\20"YmXvmotXjxʢy<ߎ9Mt,lb[vʔT،љK[܎YBYt۝kt
endstream
endobj
-693 0 obj
-<< /Type /FontDescriptor /FontName /PFVAAD+LMMono10-Italic /Flags 4 /FontBBox [ -491 -316 834 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -15 /StemV 175 /XHeight 431 /FontFile3 695 0 R /CIDSet 694 0 R >>
+692 0 obj
+<< /Type /FontDescriptor /FontName /PFVAAD+LMMono10-Italic /Flags 4 /FontBBox [ -491 -316 834 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -15 /StemV 175 /XHeight 431 /FontFile3 694 0 R /CIDSet 693 0 R >>
endobj
-696 0 obj
+695 0 obj
<< /Filter /FlateDecode /Length 540 >>
stream
x}[@+z!c x vfda_ct I|owց]AO*3sɏ9t˷FUS]Τw"I_٦k- l,V'\ttzcSL6/+[PЮN:yL "_u^Y9?\6g^ME6>Jv'^2YW#Y\Cfl]'oIjuduҶ'2vI:he=Llbz/C>BV-+Ju$oG36+HɿN}w`8Af(@!(,A/h
@@ -2984,22 +2966,22 @@ ZY b)v*S|
`uRKCZO3ltWto{oa۴}{{Ƚ?gE
endstream
endobj
-232 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PFVAAD+LMMono10-Italic /DescendantFonts [ 697 0 R ] /ToUnicode 696 0 R >>
+228 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PFVAAD+LMMono10-Italic /DescendantFonts [ 696 0 R ] /ToUnicode 695 0 R >>
endobj
-697 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PFVAAD+LMMono10-Italic /FontDescriptor 693 0 R /W 692 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+696 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PFVAAD+LMMono10-Italic /FontDescriptor 692 0 R /W 691 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-698 0 obj
+697 0 obj
[ 28 [ 525 ] 35 [ 525 ] 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 63 [ 525 ] 66 [ 525 ] 70 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 84 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 114 [ 525 ] ]
endobj
-700 0 obj
+699 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``TdTe
endstream
endobj
-701 0 obj
+700 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2256 >>
stream
xڕVkTSWF4E깷Q<k)Z}ֺ @Hb QPK$<H[yuVՎPӱuN:Szc (d{wB!!fں+!a-[tZf"Y&DZK6 f8Ɵ %\?$>:NCekrdW2b&1E 2ҵ:ŠVLblIbDIi,ckٍ6^MTV&(vF* 14MPlΐoBl6Ya`M*mkӚ$֨`Y֨P*I22Ҕ)52F y3>!|㷮0Ml&+LrǷɺDņd֤6YfsD$XN&1DBM${DBMzKJHyTDP-gO2+Q>@fۓd0:0}O(=W%uimNqqr{~Z]git[kq>[
@@ -3014,10 +2996,10 @@ F=F"$
$I*BPNKC'^<:O-< 0L- D+(R5'OML8^dnH TyyGCde🲾ax홥V,4:j42b]*wNM_a# W+x!o)=c'[Y`uWn&g= &~|(sZO6}; Pܽ;`lD11;w{qesq
endstream
endobj
-699 0 obj
-<< /Type /FontDescriptor /FontName /GYSYTT+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 701 0 R /CIDSet 700 0 R >>
+698 0 obj
+<< /Type /FontDescriptor /FontName /GYSYTT+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 700 0 R /CIDSet 699 0 R >>
endobj
-702 0 obj
+701 0 obj
<< /Filter /FlateDecode /Length 453 >>
stream
x}n0~
@@ -3027,22 +3009,22 @@ ud v9{7$|5TG:nJʡmOPF
8ʶ?/u4t{/&|Th9B\ ښʶetWF@oqYL%r[$ i@"-=-b;)A)AZ##Hz ғi2O CB k't`]cNǼ4Î)%Gɟ;'2mn]N- y
endstream
endobj
-231 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GYSYTT+LMMonoLt10-Bold /DescendantFonts [ 703 0 R ] /ToUnicode 702 0 R >>
+227 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GYSYTT+LMMonoLt10-Bold /DescendantFonts [ 702 0 R ] /ToUnicode 701 0 R >>
endobj
-703 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GYSYTT+LMMonoLt10-Bold /FontDescriptor 699 0 R /W 698 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+702 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GYSYTT+LMMonoLt10-Bold /FontDescriptor 698 0 R /W 697 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-704 0 obj
+703 0 obj
[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 61 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 92 [ 525 525 525 525 525 525 525 525 ] 101 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 118 [ 525 ] 120 [ 525 525 ] 246 [ 525 ] 272 [ 525 ] 338 [ 525 ] 602 [ 525 ] ]
endobj
-706 0 obj
+705 0 obj
<< /Filter /FlateDecode /Length 36 >>
stream
xc``w ~ ( l@
endstream
endobj
-707 0 obj
+706 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8223 >>
stream
xڽz\Wqw=;PAQzYX3KwD +EM51h>g~@$`޹s?sfE1!,y;;3믭9Sď%7E<ijFTLw`?47 BT8Lx4e:^oӉA $'EƢ!ag[%{{(,̞=w=˕3-m)=-ii7rL)zZ%tqf)stpi*t˂ߞihɽ-O@׃A~]
@@ -3077,10 +3059,10 @@ qeУ*]'/ң*T=^J 8% 4L)]L%»Z;旁$ABG
`h-t- `{wSPsA]0HRE墅$j&qD|tB46˻6+#5Mc ?C#])rCqRJNfafqRfFrS՜ N7ϡ(N?YR>ΟZM*ƘaS'B?I)W̅!| ;$ D6fdVp1&A5WҼ<:2̙ =RdgVgi4[rM+G߉_m
endstream
endobj
-705 0 obj
-<< /Type /FontDescriptor /FontName /KXPZZP+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 707 0 R /CIDSet 706 0 R >>
+704 0 obj
+<< /Type /FontDescriptor /FontName /KXPZZP+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 706 0 R /CIDSet 705 0 R >>
endobj
-708 0 obj
+707 0 obj
<< /Filter /FlateDecode /Length 750 >>
stream
x}]O0+ $v+Jڀ qW&Q^i Sǵ/]QX]%u]<}4ŬΏW8vbr-U?{+ϐ!|q*PWunwo8fG?PQŨrmWխH$̫bZ.J1:׽-e}(<J(ʼ'o0y}zwXV:g.=GpmY5inG$d"
@@ -3088,23 +3070,23 @@ x}]O0+ $v+Jڀ qW&Q^i Sǵ/]QX]%u]<
]Q4b-4i2MH03 #KF4, FadI4"шЈiiY넟D gIS胁i5HO"D $*3 ?|<g#nYe$Ze$AdpP8Yn
endstream
endobj
-230 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /KXPZZP+LMMono10-Regular /DescendantFonts [ 709 0 R ] /ToUnicode 708 0 R >>
+226 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /KXPZZP+LMMono10-Regular /DescendantFonts [ 708 0 R ] /ToUnicode 707 0 R >>
endobj
-709 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /KXPZZP+LMMono10-Regular /FontDescriptor 705 0 R /W 704 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+708 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /KXPZZP+LMMono10-Regular /FontDescriptor 704 0 R /W 703 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-710 0 obj
+709 0 obj
[ 51 [ 569 ] 56 [ 569 569 ] 78 [ 569 ] 82 [ 569 ] 100 [ 569 569 ] 106 [ 569 569 ] 121 [ 569 ] ]
endobj
-712 0 obj
+711 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`
< 
endstream
endobj
-713 0 obj
+712 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1685 >>
stream
xuUkPTGÈ(uG^QWCZ` 00 j3GAG@^X"")E0kZ]CP*X,PѾncgVmwӧ;uXL cLqs`<&N~9*
@@ -3114,31 +3096,31 @@ GKtdžmBEx}gZ5g:\~Bc"ZOI
NbC^r`)|*+%M 1=U8⦈kQʁR y Ķ˚Jmѹpr~_9&꾩R58WCW%#B)_o-Zȫ=%-/7l|D%2]DCbTߙir8lkQ(\-:Kϗ:Y
endstream
endobj
-711 0 obj
-<< /Type /FontDescriptor /FontName /TFIASI+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 713 0 R /CIDSet 712 0 R >>
+710 0 obj
+<< /Type /FontDescriptor /FontName /TFIASI+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 712 0 R /CIDSet 711 0 R >>
endobj
-714 0 obj
+713 0 obj
<< /Filter /FlateDecode /Length 405 >>
stream
x}]K0+wQSetPpC풳X$Q xzޓy[ͥc4ڴV`XhKQ#Y#rlv=gZ5}gZZwyvn,z]mMYic{*l]N5'R/UüяqNj S,}PZڋU;,Trn bYՍ={}oDw۪:)H<ДѺ(bLRU5rٝ+$Fb]mfOa+e:]C@tɵ$> i zݧ,<=yz4J<MFƁ&恆 <M/34܂\@Fiqe*o8hd_K}O
endstream
endobj
-229 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TFIASI+LMRoman7-Regular /DescendantFonts [ 715 0 R ] /ToUnicode 714 0 R >>
+225 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TFIASI+LMRoman7-Regular /DescendantFonts [ 714 0 R ] /ToUnicode 713 0 R >>
endobj
-715 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TFIASI+LMRoman7-Regular /FontDescriptor 711 0 R /W 710 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+714 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TFIASI+LMRoman7-Regular /FontDescriptor 710 0 R /W 709 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-716 0 obj
+715 0 obj
[ 28 [ 481 ] 34 [ 667 517 ] 43 [ 444 ] 47 [ 517 ] 50 [ 444 ] 55 [ 306 ] 59 [ 500 ] 63 [ 517 333 ] 66 [ 239 ] 72 [ 239 ] 75 [ 794 ] 77 [ 517 ] 81 [ 500 ] 84 [ 517 ] 86 [ 389 ] 96 [ 342 556 383 ] 105 [ 361 ] 109 [ 517 ] 116 [ 461 ] 118 [ 461 ] ]
endobj
-718 0 obj
+717 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``0T\0ŋ 
endstream
endobj
-719 0 obj
+718 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2227 >>
stream
xuV PWf.v!xDPA\gaF`$@B&`4XPx#@$jToahR[}_=1aq13F+r3}3:/`=bqrbid1E.Nl`"գϞ10B} {9.'aNcLJqg[?_Y!&3xe}(2bjEa}0S9Re0 &A1#iЛs|, Z{:¨V1LDb|11 59F50F2rd29GoȔeps2IFcwxlLȐ0
@@ -3152,32 +3134,32 @@ D!m[OQ
͙V8
endstream
endobj
-717 0 obj
-<< /Type /FontDescriptor /FontName /FPEUQN+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 719 0 R /CIDSet 718 0 R >>
+716 0 obj
+<< /Type /FontDescriptor /FontName /FPEUQN+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 718 0 R /CIDSet 717 0 R >>
endobj
-720 0 obj
+719 0 obj
<< /Filter /FlateDecode /Length 472 >>
stream
x}Mo0
)=P !TҖ M%+'YK =f@<̼av=xvT lӲ9
endstream
endobj
-228 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FPEUQN+LMSans10-Regular /DescendantFonts [ 721 0 R ] /ToUnicode 720 0 R >>
+224 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FPEUQN+LMSans10-Regular /DescendantFonts [ 720 0 R ] /ToUnicode 719 0 R >>
endobj
-721 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /FPEUQN+LMSans10-Regular /FontDescriptor 717 0 R /W 716 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+720 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /FPEUQN+LMSans10-Regular /FontDescriptor 716 0 R /W 715 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-722 0 obj
+721 0 obj
[ 27 [ 750 500 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 42 [ 722 444 278 278 764 556 ] 49 [ 681 444 500 778 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 514 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 778 528 ] 95 [ 736 392 556 394 278 500 500 500 ] 104 [ 722 389 500 500 750 556 ] 111 [ 750 528 ] 114 [ 722 750 528 ] 118 [ 528 ] 120 [ 444 500 583 833 ] 125 [ 556 556 ] 144 [ 500 ] 167 [ 750 500 ] 207 [ 444 ] 251 [ 444 ] 257 [ 444 ] 277 [ 444 ] 283 [ 1000 500 ] 319 [ 556 556 ] 343 [ 278 ] 428 [ 500 ] 499 [ 472 472 ] 502 [ 278 ] 575 [ 556 ] 589 [ 556 ] 612 [ 500 ] ]
endobj
-724 0 obj
+723 0 obj
<< /Filter /FlateDecode /Length 59 >>
stream
xc``߿
endstream
endobj
-725 0 obj
+724 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8767 >>
stream
x{t׺Ȳ4D`̘z$L W܋\-YeʽȖ 7'@HB HBIH}HsBryܻ%φb<[<j5!AƏY+ t\d;Xچe-jcg1 PD0Wi՛5 ~nV1 c4zx_-;q煄ƆE:N?~h ǹc{DG;{9.|㊐h`Go?@u%!ЈcG8F8r{zGx{9J#:] $8qwp1ގ~);·&b\`E,`uc-t wt'% r;8?2^6
@@ -3218,10 +3200,10 @@ TJ%H§\٘YF{(e!Ҋg׵ΙsG,^mDߜJ`Pś6L)
NJHxHq7ŠwcK1B57hV9!6۶xEl">2R  D_w_!.u4;4G^,e7= æX8H b4%uv=Lݯ05di4vvm&Sfdz
endstream
endobj
-723 0 obj
-<< /Type /FontDescriptor /FontName /JXVJCI+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 725 0 R /CIDSet 724 0 R >>
+722 0 obj
+<< /Type /FontDescriptor /FontName /JXVJCI+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 724 0 R /CIDSet 723 0 R >>
endobj
-726 0 obj
+725 0 obj
<< /Filter /FlateDecode /Length 788 >>
stream
xڅ[k0+lRSBqlH^HJk+YCbyȿ_Yg,˖-eX2lmOֻY6`ŘҔuM1MVU] wv.ҜW{dnͧfwmհi4s>LWMȂ{ιH2iޛP69KVuّZ5jU1Vkܼ99mflb3WН;oڕN]9ތsVm XvNߖ: hJӷyaoflٟgy]_[]pwSů s%( 1戤()GzҠ%(FB>E|"-3> ʰ$E TD)@)ED
@@ -3230,22 +3212,22 @@ xڅ[k0+lRSBqlH^HJk+YCbyȿ_Yg,˖-eX2lmO
J2 S78ԩ ?}
endstream
endobj
-227 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JXVJCI+LMRoman10-Regular /DescendantFonts [ 727 0 R ] /ToUnicode 726 0 R >>
+223 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JXVJCI+LMRoman10-Regular /DescendantFonts [ 726 0 R ] /ToUnicode 725 0 R >>
endobj
-727 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JXVJCI+LMRoman10-Regular /FontDescriptor 723 0 R /W 722 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+726 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JXVJCI+LMRoman10-Regular /FontDescriptor 722 0 R /W 721 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-728 0 obj
+727 0 obj
[ 27 [ 850 547 ] 34 [ 800 625 575 ] 38 [ 575 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 54 [ 707 344 563 563 ] 59 [ 563 ] 63 [ 625 ] 65 [ 419 313 ] 71 [ 676 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 90 [ 845 594 ] 96 [ 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 112 [ 594 ] 114 [ 813 850 594 ] 118 [ 594 ] 121 [ 563 656 ] 125 [ 625 ] 168 [ 547 ] 251 [ 513 ] 277 [ 513 ] 319 [ 625 625 ] 502 [ 313 ] ]
endobj
-730 0 obj
+729 0 obj
<< /Filter /FlateDecode /Length 42 >>
stream
xc``6.߆7v0@ 00hF2`
endstream
endobj
-731 0 obj
+730 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6476 >>
stream
xy \SW܈xsVw*de BHrD@
@@ -3268,10 +3250,10 @@ qla1^5y{yR
H@ p/nװM^hrBz|;HAHk6rD ,ߡ?wh§[Tu\B<>oWY*igۭ);-bg2PY.X摅`Wt5pi;9uӁ#~>K c] _ |q?=8?=92_TÆE&f0j.j^O̹HLq`H\_[j4l9;&TPB1ww|cI չ\D!^Bj5Yr!ˠ宭83iTm䲅\=9~H@*E y,fetIZΗv;$Is\$7';7=:sE`ɖcOz"ʄ*X)&ـF\ >z[do@]@qOyAu ^z4}Uۥ{ Eʹ>cJYH%kB]#;0f볳}A~{{sɒ\Ca~0ǾpO>̃
endstream
endobj
-729 0 obj
-<< /Type /FontDescriptor /FontName /CXYYVI+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 731 0 R /CIDSet 730 0 R >>
+728 0 obj
+<< /Type /FontDescriptor /FontName /CXYYVI+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 730 0 R /CIDSet 729 0 R >>
endobj
-732 0 obj
+731 0 obj
<< /Filter /FlateDecode /Length 644 >>
stream
x}[0+r& 
@@ -3280,22 +3262,22 @@ g. 3DOdm8Vv=+?~
DnV1
endstream
endobj
-226 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CXYYVI+LMRoman12-Bold /DescendantFonts [ 733 0 R ] /ToUnicode 732 0 R >>
+222 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CXYYVI+LMRoman12-Bold /DescendantFonts [ 732 0 R ] /ToUnicode 731 0 R >>
endobj
-733 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CXYYVI+LMRoman12-Bold /FontDescriptor 729 0 R /W 728 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+732 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CXYYVI+LMRoman12-Bold /FontDescriptor 728 0 R /W 727 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-734 0 obj
+733 0 obj
[ 66 [ 245 ] 77 [ 531 ] 81 [ 514 ] 84 [ 531 ] 105 [ 371 ] ]
endobj
-736 0 obj
+735 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xc`
endstream
endobj
-737 0 obj
+736 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 764 >>
stream
xmRkHQNmZVf,ac6 !
@@ -3304,31 +3286,31 @@ JjB.Ԩ+S- %Eh/(~UvFȚLOlٹiI}̐UQu5;
KWVWv^w4ZybX4=MQ#ch3z6FE:
endstream
endobj
-735 0 obj
-<< /Type /FontDescriptor /FontName /BLRUUF+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 737 0 R /CIDSet 736 0 R >>
+734 0 obj
+<< /Type /FontDescriptor /FontName /BLRUUF+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 736 0 R /CIDSet 735 0 R >>
endobj
-738 0 obj
+737 0 obj
<< /Filter /FlateDecode /Length 382 >>
stream
x}R]k0}ϯ{6u_X{ڤ~Ij[!'ܓsOy%W'^XZ3f \:GYm9ZN`K,RT=C%j-9i!{tMWqI*˱Kڣ ̐)"8OԥPrARj6Tn+~k,$7pI0
endstream
endobj
-225 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BLRUUF+LMSans9-Regular /DescendantFonts [ 739 0 R ] /ToUnicode 738 0 R >>
+221 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BLRUUF+LMSans9-Regular /DescendantFonts [ 738 0 R ] /ToUnicode 737 0 R >>
endobj
-739 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BLRUUF+LMSans9-Regular /FontDescriptor 735 0 R /W 734 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+738 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BLRUUF+LMSans9-Regular /FontDescriptor 734 0 R /W 733 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-740 0 obj
+739 0 obj
[ 28 [ 514 ] 34 [ 728 571 ] 43 [ 457 286 286 ] 47 [ 571 ] 49 [ 699 457 ] 55 [ 314 ] 58 [ 807 514 ] 63 [ 571 343 ] 66 [ 286 ] 71 [ 642 286 ] 75 [ 856 ] 77 [ 571 ] 81 [ 514 ] 83 [ 699 571 400 400 ] 88 [ 286 ] 90 [ 799 542 ] 96 [ 402 ] 98 [ 405 ] 104 [ 742 400 ] 109 [ 571 ] 112 [ 542 ] 115 [ 771 542 ] 118 [ 542 ] 125 [ 571 ] 168 [ 514 ] 251 [ 457 ] 277 [ 457 ] 502 [ 286 ] 575 [ 571 ] ]
endobj
-742 0 obj
+741 0 obj
<< /Filter /FlateDecode /Length 41 >>
stream
xc``0M4\8%nÂ#X@Xp&
endstream
endobj
-743 0 obj
+742 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4412 >>
stream
xڽX X纞
@@ -3349,32 +3331,32 @@ VO| y=.jXwXlo{z:
;lEŞ7q
endstream
endobj
-741 0 obj
-<< /Type /FontDescriptor /FontName /IUSWHX+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 743 0 R /CIDSet 742 0 R >>
+740 0 obj
+<< /Type /FontDescriptor /FontName /IUSWHX+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 742 0 R /CIDSet 741 0 R >>
endobj
-744 0 obj
+743 0 obj
<< /Filter /FlateDecode /Length 558 >>
stream
x}[o0+H! IV"m/v!Hĉry߯PZ ė9sf}{ YȟsꛜKV{ѪTJ$I7UFݝNިKLB}>lse[ztYsS/"Qv#ʬ/jڢRO,k%Ui&ls&cd㬲1!E9yWewr7\]s[#)ԉox9d0LQKf%_h]nf+ImdDL/,կGJ~sT@0|!#,I074E3h
BtZY-Ȍ,Mh tH PZ S\?GNRor hF= i:N֖bLRf9($/qBBbl7FwJ0v *161Gp-ATA\ÙpOfO{[3𺶱 kF)䁍8idCi} `/=|jSe6R/P
endstream
endobj
-224 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IUSWHX+LMRoman9-Regular /DescendantFonts [ 745 0 R ] /ToUnicode 744 0 R >>
+220 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IUSWHX+LMRoman9-Regular /DescendantFonts [ 744 0 R ] /ToUnicode 743 0 R >>
endobj
-745 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IUSWHX+LMRoman9-Regular /FontDescriptor 741 0 R /W 740 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+744 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IUSWHX+LMRoman9-Regular /FontDescriptor 740 0 R /W 739 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-746 0 obj
+745 0 obj
[ 75 [ 986 ] 95 [ 887 ] 98 [ 467 ] 109 [ 657 ] 251 [ 543 ] ]
endobj
-748 0 obj
+747 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xc`Ft
endstream
endobj
-749 0 obj
+748 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1088 >>
stream
xڅTmLSWJ/wQ*ҋhA]@Eatc&vFRt{k%JAriP HcKh4MLlfes&\9ĬY%K&=<oL82yE_R5m{8)I@JIZJäDGIL,C)dMRAdZg_=dF$;H
@@ -3385,10 +3367,10 @@ W-`glZzPV':x`vpN;Y,<pqF5 8m&]Y
y{{`,$(׍u^FfHJU}lķZ9z__njM OH(rCm?'`UYdH&r$}._W_w.Izt#_aT
endstream
endobj
-747 0 obj
-<< /Type /FontDescriptor /FontName /TZPLIV+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 749 0 R /CIDSet 748 0 R >>
+746 0 obj
+<< /Type /FontDescriptor /FontName /TZPLIV+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 748 0 R /CIDSet 747 0 R >>
endobj
-750 0 obj
+749 0 obj
<< /Filter /FlateDecode /Length 381 >>
stream
x}R]@}_q!sa/*b7:#>wf̂EVP<s\N'WW}
@@ -3396,23 +3378,23 @@ G,TzmNgX,wyS8hNXBw-#)ʞGF.Mȗľg߇Mt6ۣb9*(S
܀ B(9ARj$_+~7GBڼd
endstream
endobj
-223 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZPLIV+LMRoman9-Bold /DescendantFonts [ 751 0 R ] /ToUnicode 750 0 R >>
+219 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZPLIV+LMRoman9-Bold /DescendantFonts [ 750 0 R ] /ToUnicode 749 0 R >>
endobj
-751 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZPLIV+LMRoman9-Bold /FontDescriptor 747 0 R /W 746 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+750 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZPLIV+LMRoman9-Bold /FontDescriptor 746 0 R /W 745 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-752 0 obj
+751 0 obj
[ 28 [ 515 ] 33 [ 515 ] 47 [ 515 ] 55 [ 515 ] 59 [ 515 ] 66 [ 515 ] 77 [ 515 ] 81 [ 515 ] 84 [ 515 ] 88 [ 515 ] 96 [ 515 ] 105 [ 515 ] 114 [ 515 ] 118 [ 515 ] ]
endobj
-754 0 obj
+753 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``p`dP`hhpP
D)
endstream
endobj
-755 0 obj
+754 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1845 >>
stream
xuV}TW!@5ʚiZ3K- _EAE%1LBD<u
@@ -3427,69 +3409,70 @@ oRWɧ<| ƠP"{nPq%e}Gܮ(WȗN)QuoYUO&Pn^
g48ԂE>*`zK@E%1άxh@,+&p_(N(/?=u0ݕLDB0O>`R Fon0km(V׮Җ ֐F"3DgϷ^?@%xSEV!6¶M:GӞ`x#qNf4e'_%#l|ZQuJeq?HR@8(fu\o!du8iw6s;YpoۚiPH&Ng y[j;rgRsJcOt~w@[fk9RM
endstream
endobj
-753 0 obj
-<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 755 0 R /CIDSet 754 0 R >>
+752 0 obj
+<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 754 0 R /CIDSet 753 0 R >>
endobj
-756 0 obj
+755 0 obj
<< /Filter /FlateDecode /Length 428 >>
stream
x}]O0+`Dpf!q%Df,[֞&%.m{&F%pk z:=A[2,5P3
endstream
endobj
-222 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 757 0 R ] /ToUnicode 756 0 R >>
+218 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 756 0 R ] /ToUnicode 755 0 R >>
endobj
-757 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 753 0 R /W 752 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+756 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 752 0 R /W 751 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-758 0 obj
-[ 28 [ 490 ] 54 [ 639 ] 57 [ 490 ] 59 [ 490 ] 66 [ 272 ] 75 [ 816 ] 77 [ 544 ] 83 [ 666 ] 88 [ 272 ] 105 [ 381 490 490 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] ]
+757 0 obj
+[ 28 [ 490 ] 54 [ 639 ] 57 [ 490 ] 59 [ 490 ] 66 [ 272 ] 77 [ 544 ] 81 [ 490 490 666 ] 88 [ 272 ] 105 [ 381 ] 107 [ 490 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 575 [ 544 ] ]
endobj
-760 0 obj
-<< /Filter /FlateDecode /Length 27 >>
+759 0 obj
+<< /Filter /FlateDecode /Length 31 >>
stream
xc`````
-Ph`(`r`
+P`)h``r`
endstream
endobj
-761 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2199 >>
+760 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2256 >>
stream
-xڭV{PSW+6״5Wv<|?WT*"*k/ py
-NH2!?DhH.R)ӢLFOM :
-bS7fiMLV&JSԲP*^kx-M46JR JPj֐L4 e(SeRU:eU:JQQ1ɉIb-27hFEPRQ>wNXޠaF  Y<>)$nIE|=Q*}jf6_|+rR#ӵi%*Z/@1
-F"QRdF2MHbD
-ӁB01> d;‹VD :.^'!ɒ-?e#n$?Lb8!M`lf8WKh t?JЬsg%nswL /O7t'/&Q~myJlt__㴛ZTW=ݮ{$?bBԦ )ipv!+,<38Ep0 zG<u<Ȉ};(F&Z=x[$Ni'4:duS1VK:v {8]ŏq2rIO_ \;u*k@-a]8aF.h[{#ɚt $&|ț;nکF,DEEYzVhU?ЖQ]Bbʕm:g)vZg ]8ŹM[/-OW[V=."TvNH)PWV{%M_`-+Z:gCVK9V#>ll
-d!72CuqSТ?@g.OL1'{Y&Y{uV-@%~EHrˮ_?)'x{Q4ɧp@rgx|[N-)/6a)#
-K2TKO¦7/3
+xuV TgmL5c53CV+
+V*Dk y 0< ) "h  "(h}T\kik[+[liӳ{g?sw$4ӓ7nH]7/)9MI/XҘ2pe %0!`T(/uO9 40_ޔMZ+9q/} d:B #@`FFG+(hFjatR*.Jܑ3rsL:J#?͡fh*KSS:5D *uÜH*]c:}.ſ<UAMl2jUT†jmrvh(JEiƂף&MNR6_ Q~NIHZf7#FJS*cfN!~AN2[Z9_aH Y!H*G6!9H.R }!B>LHl(Rpu!!M]Шfd#ďL*"vY~ 5<Ŏ#ez4`@Aл8pm×&mHJӾ^Urm]\xOksXpϐ.-s>\~AȪ/L<5L™iQ6CQ }D>k<a#Ёw=vdW퇺Ix6\BzaIĺ3Xĝg8U g2p)5!)Y{5Fp Q hdh|M FUa5;Y$2=på?x#݀7@_ӏM[عVK2 V JX֥nMb(/+]zgwG nU^}(.XTw im([4nm's=A=^Wu$xZ47;[ Q.ηVp%H2]xfI?X%j^\dpyP^%e(`X CBtLp,:Ƞ=$bW
+~|pfkC3*@"A>C~^Z0 "SApl6O's-01d[A^&ACoٟUf{_?sVgA8f$-gItG6\2Yjcvmp*<$t~8'eƾr"B puFs?M{$v,A.tIv<$^c^~B6E&]T˗@(0Ө\"[QMM""ap t{,aff9.y,d![ g55sO~=`?1E᤿|1pbn ת1!LW=m6ۊ}AqM|Ɣ L2˟ 0̋)+t4N
+HUץ.!"+:|z+Okݸ gN^~ך~Vw3~MM꒬{ {sp!~H{HRTs[\y||ã'4FRE^)brbSep∹nAbchru%MW[C]VAh st>ln)*XlJ+uRi$
+˂ﲕT7&
+}^6ݎl&B_@Y,kv\F+pg۳+p,Cnq]W貸fg!R6Jz+j%ÿہ~(dZ
endstream
endobj
-759 0 obj
-<< /Type /FontDescriptor /FontName /VDLIBI+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 761 0 R /CIDSet 760 0 R >>
+758 0 obj
+<< /Type /FontDescriptor /FontName /MVUQSB+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 760 0 R /CIDSet 759 0 R >>
endobj
-762 0 obj
-<< /Filter /FlateDecode /Length 440 >>
+761 0 obj
+<< /Filter /FlateDecode /Length 449 >>
stream
-xڅMk0@zp-ۉ--EJ4Iddnaٰ?wf^f}>}0eNcy`6+5T+@1E{x7ﰇ*+%+?'տEk<I#q}`|UM$i8&d.m/G 6 }V2G%6qh4
-d(0[88AN%.]M:X eכ}DoFk&h7!`AQmZ7@%lTI_ZsLص5GS+;V
+xڅn0<)=PI"%)Ҧ톴+'YKFy=V-g̾w&ףMf @Lk|]m*%;+?&տE>d_g]?;6*fN1!ui{9?JbVB`z)ókݺEAt5JQ*anybFÕvZ.:`",\ z5T'2eҊ 9p^H&P (e]4ʎdU+@GD+^t
+ߍq-Di玒"Ez,
+Tf ii#HL2H/~)K e/:*S2{g,)},r\_M1vGSw
+>ON;o?kA
endstream
endobj
-221 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VDLIBI+LMRoman12-Regular /DescendantFonts [ 763 0 R ] /ToUnicode 762 0 R >>
+217 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MVUQSB+LMRoman12-Regular /DescendantFonts [ 762 0 R ] /ToUnicode 761 0 R >>
endobj
-763 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VDLIBI+LMRoman12-Regular /FontDescriptor 759 0 R /W 758 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+762 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MVUQSB+LMRoman12-Regular /FontDescriptor 758 0 R /W 757 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-764 0 obj
+763 0 obj
[ 66 [ 223 ] 77 [ 484 ] 81 [ 470 ] 84 [ 484 ] 105 [ 340 ] ]
endobj
-766 0 obj
+765 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xc`
endstream
endobj
-767 0 obj
+766 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 759 >>
stream
xuR]HQםuM'״$u&JfZnc;N;23EPaPQ(*YFB>XD܉1h%{{A
@@ -3498,10 +3481,10 @@ xuR]HQםuM'״$u&JfZnc;N;23EPaPQ(*YFB>
'5;լ{k-MW<sϞ>ҍyPs-T2LDf_LeqgF, .r
endstream
endobj
-765 0 obj
-<< /Type /FontDescriptor /FontName /BTPEXR+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 767 0 R /CIDSet 766 0 R >>
+764 0 obj
+<< /Type /FontDescriptor /FontName /BTPEXR+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 766 0 R /CIDSet 765 0 R >>
endobj
-768 0 obj
+767 0 obj
<< /Filter /FlateDecode /Length 383 >>
stream
x}R]k0}ϯ{6u:kMn]&%mKR0
@@ -3509,22 +3492,22 @@ x}R]k0}ϯ{6u:kMn]&%mKR0
OdPWBCJXIP"%\HoVd`\ܛ&*ۜ\X抄!dQ\g?h8IS~(6mTE}}ã'#0S2c3yFh<Aiu[h礫L[P9lʡIТuMCq;=Ćz5Z]n4;xR-wfnM~
endstream
endobj
-220 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTPEXR+LMSans17-Regular /DescendantFonts [ 769 0 R ] /ToUnicode 768 0 R >>
+216 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTPEXR+LMSans17-Regular /DescendantFonts [ 768 0 R ] /ToUnicode 767 0 R >>
endobj
-769 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTPEXR+LMSans17-Regular /FontDescriptor 765 0 R /W 764 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+768 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTPEXR+LMSans17-Regular /FontDescriptor 764 0 R /W 763 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-770 0 obj
+769 0 obj
[ 28 [ 459 ] 50 [ 406 ] 66 [ 250 ] 71 [ 576 ] 77 [ 511 ] 81 [ 459 ] 98 [ 359 ] 104 [ 668 354 ] 115 [ 693 485 ] 502 [ 250 ] ]
endobj
-772 0 obj
+771 0 obj
<< /Filter /FlateDecode /Length 27 >>
stream
xc````P`Pdq`P8 @`
endstream
endobj
-773 0 obj
+772 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1830 >>
stream
xuUkPEUm8(wMNmvhvk<<ıc [%@Z]-Bc&P4&'㌧vǞ>NidIj4K*G;s{~("#(n{US#/`ݵ'c18YS@M [ITZ&0r1?L*c]$Gۏ
@@ -3541,23 +3524,23 @@ jqS”M<D'N yѻ?[y~-(15+Z-NaFG.E0N]
!UcN;q]]a-H]:
endstream
endobj
-771 0 obj
-<< /Type /FontDescriptor /FontName /LLXTJU+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 773 0 R /CIDSet 772 0 R >>
+770 0 obj
+<< /Type /FontDescriptor /FontName /LLXTJU+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 772 0 R /CIDSet 771 0 R >>
endobj
-774 0 obj
+773 0 obj
<< /Filter /FlateDecode /Length 425 >>
stream
xڅKk0@p-ٔ`qpI$[Gb"~$Ѐ?sc nv/il6gE +#u(Qj
ڣ)4 sq{OIEk&A34'vu_\ZKs)'2?:Iv
endstream
endobj
-219 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /LLXTJU+LMRoman17-Regular /DescendantFonts [ 775 0 R ] /ToUnicode 774 0 R >>
+215 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /LLXTJU+LMRoman17-Regular /DescendantFonts [ 774 0 R ] /ToUnicode 773 0 R >>
endobj
-775 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /LLXTJU+LMRoman17-Regular /FontDescriptor 771 0 R /W 770 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+774 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /LLXTJU+LMRoman17-Regular /FontDescriptor 770 0 R /W 769 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-777 0 obj
+776 0 obj
<< /Length1 1524 /Length2 7052 /Length3 0 /Filter /FlateDecode /Length 8075 >>
stream
xڍwT]6ҩR# ]CI0P3 #1tt
@@ -3589,10 +3572,10 @@ lNI2*ʪ)q2DnWtx8Ӹ©tT[m9=Y2ˆrvM_]
z ˨iB|)hCߤAfhbr@tq+P皓z}ثd[wD}Kρ]~* #
endstream
endobj
-776 0 obj
-<< /Type /FontDescriptor /FontName /FJNSRO+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /arrowhookleft /greater /k /less /n /pi /x) /FontFile 777 0 R >>
+775 0 obj
+<< /Type /FontDescriptor /FontName /FJNSRO+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /arrowhookleft /greater /k /less /n /pi /x) /FontFile 776 0 R >>
endobj
-779 0 obj
+778 0 obj
<< /Length1 1407 /Length2 6115 /Length3 0 /Filter /FlateDecode /Length 7068 >>
stream
xڍtTk.ݩlr
@@ -3621,10 +3604,10 @@ q=48EKhH:aa(?$Oԝ3`Zn[wѳ=ொˉeډ{ۅ٧
-<R׿̫Oi_\|e3*3I( k`yPƸWŢ>AҸx!F߭; ̓!uD#Bx\n=x2BGg_^n33x}`K/;"U 25P&B:s/r*,RO1<'ĀZ~"EiB)8z*0S'G%:N~<+h9FN-RYId h\IbfFF&1}dO5ߴSNiBoDeEqcZ*6Ed%=Ye)1ؾXVaa翚EE~8'B|p+D|*|x@S:~Mzv]ۻO`_x}>ЊQIx{sᦟ?xTQgKݼ6+qduU6QqBݝWSY* X)Z31=AYjBn?8/zڙV~8kќ7Qk:+ ۡ.a^7/;581/! =BpXTq7*KO_3*T[$bdF*z7F7_$+޻ah$ˊ"҇YxB)URT g'U6 IJiv6yl͐zWw]q<E'*xɩ )D:AhÛٗY|CHd.զh>YzaJDr*(NvbpnOpUfBbϊ#YFw8 1R>4Z'@lМ:/wM,VtYz _-H/=4cU}m`@B%nD8_3ʈdZ 䊃ak)!<4"~I ^]z{o}cצx16bvD!dwyIFV'}mzHgLҒZɴ7 WuկZy:r'S<]3i
endstream
endobj
-778 0 obj
-<< /Type /FontDescriptor /FontName /YJUITE+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /k) /FontFile 779 0 R >>
+777 0 obj
+<< /Type /FontDescriptor /FontName /YJUITE+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /k) /FontFile 778 0 R >>
endobj
-781 0 obj
+780 0 obj
<< /Length1 1407 /Length2 6093 /Length3 0 /Filter /FlateDecode /Length 7053 >>
stream
xڍtTk.)85C ]Ҡt"0  1C "H#-% t4"(R"?wZYzzzh
@@ -3657,10 +3640,10 @@ hU$}'P:o~]M*Qߤ;}Xٮ9ـQpX7N@{Ijp$O ypz
}I!Enb)8~j y@_/b܋
endstream
endobj
-780 0 obj
-<< /Type /FontDescriptor /FontName /NAZTKW+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /k) /FontFile 781 0 R >>
+779 0 obj
+<< /Type /FontDescriptor /FontName /NAZTKW+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /k) /FontFile 780 0 R >>
endobj
-783 0 obj
+782 0 obj
<< /Length1 1518 /Length2 7335 /Length3 0 /Filter /FlateDecode /Length 8348 >>
stream
xڍtTo7Hw kLFAIAAB@bHH
@@ -3690,10 +3673,10 @@ U U>} ,4"&و鸳VUY :5
4NC 4J!hKɲX-GL#y AvaS,`7NTk&2xݲR0]]S(EYg:9a[Шvl&ˎEvH
endstream
endobj
-782 0 obj
-<< /Type /FontDescriptor /FontName /NTKKEA+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /equal /one /parenleft /parenright /plus /slash /two /zero) /FontFile 783 0 R >>
+781 0 obj
+<< /Type /FontDescriptor /FontName /NTKKEA+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /equal /one /parenleft /parenright /plus /slash /two /zero) /FontFile 782 0 R >>
endobj
-785 0 obj
+784 0 obj
<< /Length1 1457 /Length2 6431 /Length3 0 /Filter /FlateDecode /Length 7408 >>
stream
xڍvTn6%1VF).1 c
@@ -3732,10 +3715,10 @@ P)m\Ǟ/kq'}D(h.91V@;sڮ.弄
O[D&$%iާ)w{Y6{K#%w'}cnM<I \1G Gur Rh;݊~dܓsIϻ*y'expv$ǖư1H%FUO&y[X]bK(ڕ:=xi|8GZ4#;`%.Y#afcB}3h,燕qU=@>֣'6͈J,ADotn3ӧhJ aHͬ:҅b &kߤ #a7P{O<^_lh!:$gah,tK3kNsK@e8*X@^x
endstream
endobj
-784 0 obj
-<< /Type /FontDescriptor /FontName /JLMYRF+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /one /parenleft /parenright /plus /two) /FontFile 785 0 R >>
+783 0 obj
+<< /Type /FontDescriptor /FontName /JLMYRF+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /one /parenleft /parenright /plus /two) /FontFile 784 0 R >>
endobj
-787 0 obj
+786 0 obj
<< /Length1 1424 /Length2 6044 /Length3 0 /Filter /FlateDecode /Length 7012 >>
stream
xڍxT6 MW5Aj {/#(HGt
@@ -3762,10 +3745,10 @@ R^D/z<s[Y+y33NVYU
}$Y}1x`6IQࡪ]\QѢb\^)#z!?*5U}v\t?"n-g!D8΁X;[rewɏ-rgc4X
endstream
endobj
-786 0 obj
-<< /Type /FontDescriptor /FontName /KAYNOZ+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /arrowright /minus) /FontFile 787 0 R >>
+785 0 obj
+<< /Type /FontDescriptor /FontName /KAYNOZ+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /arrowright /minus) /FontFile 786 0 R >>
endobj
-789 0 obj
+788 0 obj
<< /Length1 1393 /Length2 5904 /Length3 0 /Filter /FlateDecode /Length 6854 >>
stream
xڍtTk.] 
@@ -3794,86 +3777,83 @@ p\g4=}M%:{(V1p]J9»$ʃ|GBHCe|/#>I<
7fTcVkY\5Ã-{e-=?+
endstream
endobj
-788 0 obj
-<< /Type /FontDescriptor /FontName /PXBGHL+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /minus) /FontFile 789 0 R >>
+787 0 obj
+<< /Type /FontDescriptor /FontName /PXBGHL+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /minus) /FontFile 788 0 R >>
endobj
-234 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /FJNSRO+CMMI10 /FontDescriptor 776 0 R /FirstChar 25 /LastChar 120 /Widths 690 0 R >>
+230 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /FJNSRO+CMMI10 /FontDescriptor 775 0 R /FirstChar 25 /LastChar 120 /Widths 689 0 R >>
endobj
362 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /YJUITE+CMMI5 /FontDescriptor 778 0 R /FirstChar 107 /LastChar 107 /Widths 614 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /YJUITE+CMMI5 /FontDescriptor 777 0 R /FirstChar 107 /LastChar 107 /Widths 613 0 R >>
endobj
363 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NAZTKW+CMMI7 /FontDescriptor 780 0 R /FirstChar 107 /LastChar 107 /Widths 613 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /NAZTKW+CMMI7 /FontDescriptor 779 0 R /FirstChar 107 /LastChar 107 /Widths 612 0 R >>
endobj
-233 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NTKKEA+CMR10 /FontDescriptor 782 0 R /FirstChar 40 /LastChar 61 /Widths 691 0 R >>
+229 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /NTKKEA+CMR10 /FontDescriptor 781 0 R /FirstChar 40 /LastChar 61 /Widths 690 0 R >>
endobj
-352 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JLMYRF+CMR7 /FontDescriptor 784 0 R /FirstChar 40 /LastChar 50 /Widths 616 0 R >>
+351 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /JLMYRF+CMR7 /FontDescriptor 783 0 R /FirstChar 40 /LastChar 50 /Widths 615 0 R >>
endobj
-327 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /KAYNOZ+CMSY10 /FontDescriptor 786 0 R /FirstChar 0 /LastChar 33 /Widths 617 0 R >>
+326 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /KAYNOZ+CMSY10 /FontDescriptor 785 0 R /FirstChar 0 /LastChar 33 /Widths 616 0 R >>
endobj
361 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /PXBGHL+CMSY7 /FontDescriptor 788 0 R /FirstChar 0 /LastChar 0 /Widths 615 0 R >>
-endobj
-240 0 obj
-<< /Type /Pages /Parent 790 0 R /Count 10 /Kids [ 213 0 R 247 0 R 256 0 R 266 0 R 282 0 R 289 0 R 297 0 R 304 0 R 311 0 R 315 0 R ] >>
+<< /Type /Font /Subtype /Type1 /BaseFont /PXBGHL+CMSY7 /FontDescriptor 787 0 R /FirstChar 0 /LastChar 0 /Widths 614 0 R >>
endobj
-322 0 obj
-<< /Type /Pages /Parent 790 0 R /Count 10 /Kids [ 319 0 R 324 0 R 329 0 R 335 0 R 344 0 R 349 0 R 354 0 R 358 0 R 365 0 R 374 0 R ] >>
+236 0 obj
+<< /Type /Pages /Parent 789 0 R /Count 10 /Kids [ 209 0 R 243 0 R 252 0 R 262 0 R 277 0 R 288 0 R 296 0 R 303 0 R 310 0 R 314 0 R ] >>
endobj
-382 0 obj
-<< /Type /Pages /Parent 790 0 R /Count 10 /Kids [ 379 0 R 387 0 R 395 0 R 403 0 R 411 0 R 415 0 R 419 0 R 424 0 R 429 0 R 433 0 R ] >>
+321 0 obj
+<< /Type /Pages /Parent 789 0 R /Count 10 /Kids [ 318 0 R 323 0 R 328 0 R 334 0 R 341 0 R 348 0 R 354 0 R 358 0 R 365 0 R 369 0 R ] >>
endobj
-440 0 obj
-<< /Type /Pages /Parent 790 0 R /Count 6 /Kids [ 437 0 R 444 0 R 450 0 R 523 0 R 565 0 R 585 0 R ] >>
+378 0 obj
+<< /Type /Pages /Parent 789 0 R /Count 10 /Kids [ 375 0 R 386 0 R 392 0 R 399 0 R 406 0 R 414 0 R 418 0 R 423 0 R 428 0 R 432 0 R ] >>
endobj
-790 0 obj
-<< /Type /Pages /Count 36 /Kids [ 240 0 R 322 0 R 382 0 R 440 0 R ] >>
+439 0 obj
+<< /Type /Pages /Parent 789 0 R /Count 6 /Kids [ 436 0 R 443 0 R 449 0 R 523 0 R 565 0 R 584 0 R ] >>
endobj
-791 0 obj
-<< /Type /Outlines /First 6 0 R /Last 210 0 R /Count 11 >>
+789 0 obj
+<< /Type /Pages /Count 36 /Kids [ 236 0 R 321 0 R 378 0 R 439 0 R ] >>
endobj
-210 0 obj
-<< /Title 211 0 R /A 208 0 R /Parent 791 0 R /Prev 182 0 R >>
+790 0 obj
+<< /Type /Outlines /First 6 0 R /Last 206 0 R /Count 11 >>
endobj
206 0 obj
-<< /Title 207 0 R /A 204 0 R /Parent 182 0 R /Prev 202 0 R >>
+<< /Title 207 0 R /A 204 0 R /Parent 790 0 R /Prev 178 0 R >>
endobj
202 0 obj
-<< /Title 203 0 R /A 200 0 R /Parent 182 0 R /Prev 198 0 R /Next 206 0 R >>
+<< /Title 203 0 R /A 200 0 R /Parent 178 0 R /Prev 198 0 R >>
endobj
198 0 obj
-<< /Title 199 0 R /A 196 0 R /Parent 182 0 R /Prev 194 0 R /Next 202 0 R >>
+<< /Title 199 0 R /A 196 0 R /Parent 178 0 R /Prev 194 0 R /Next 202 0 R >>
endobj
194 0 obj
-<< /Title 195 0 R /A 192 0 R /Parent 182 0 R /Prev 190 0 R /Next 198 0 R >>
+<< /Title 195 0 R /A 192 0 R /Parent 178 0 R /Prev 190 0 R /Next 198 0 R >>
endobj
190 0 obj
-<< /Title 191 0 R /A 188 0 R /Parent 182 0 R /Prev 186 0 R /Next 194 0 R >>
+<< /Title 191 0 R /A 188 0 R /Parent 178 0 R /Prev 186 0 R /Next 194 0 R >>
endobj
186 0 obj
-<< /Title 187 0 R /A 184 0 R /Parent 182 0 R /Next 190 0 R >>
+<< /Title 187 0 R /A 184 0 R /Parent 178 0 R /Prev 182 0 R /Next 190 0 R >>
endobj
182 0 obj
-<< /Title 183 0 R /A 180 0 R /Parent 791 0 R /Prev 170 0 R /Next 210 0 R /First 186 0 R /Last 206 0 R /Count -6 >>
+<< /Title 183 0 R /A 180 0 R /Parent 178 0 R /Next 186 0 R >>
endobj
178 0 obj
-<< /Title 179 0 R /A 176 0 R /Parent 170 0 R /Prev 174 0 R >>
+<< /Title 179 0 R /A 176 0 R /Parent 790 0 R /Prev 166 0 R /Next 206 0 R /First 182 0 R /Last 202 0 R /Count -6 >>
endobj
174 0 obj
-<< /Title 175 0 R /A 172 0 R /Parent 170 0 R /Next 178 0 R >>
+<< /Title 175 0 R /A 172 0 R /Parent 166 0 R /Prev 170 0 R >>
endobj
170 0 obj
-<< /Title 171 0 R /A 168 0 R /Parent 791 0 R /Prev 150 0 R /Next 182 0 R /First 174 0 R /Last 178 0 R /Count -2 >>
+<< /Title 171 0 R /A 168 0 R /Parent 166 0 R /Next 174 0 R >>
endobj
166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 150 0 R /Prev 162 0 R >>
+<< /Title 167 0 R /A 164 0 R /Parent 790 0 R /Prev 150 0 R /Next 178 0 R /First 170 0 R /Last 174 0 R /Count -2 >>
endobj
162 0 obj
-<< /Title 163 0 R /A 160 0 R /Parent 150 0 R /Prev 158 0 R /Next 166 0 R >>
+<< /Title 163 0 R /A 160 0 R /Parent 150 0 R /Prev 158 0 R >>
endobj
158 0 obj
<< /Title 159 0 R /A 156 0 R /Parent 150 0 R /Prev 154 0 R /Next 162 0 R >>
@@ -3882,10 +3862,10 @@ endobj
<< /Title 155 0 R /A 152 0 R /Parent 150 0 R /Next 158 0 R >>
endobj
150 0 obj
-<< /Title 151 0 R /A 148 0 R /Parent 791 0 R /Prev 146 0 R /Next 170 0 R /First 154 0 R /Last 166 0 R /Count -4 >>
+<< /Title 151 0 R /A 148 0 R /Parent 790 0 R /Prev 146 0 R /Next 166 0 R /First 154 0 R /Last 162 0 R /Count -3 >>
endobj
146 0 obj
-<< /Title 147 0 R /A 144 0 R /Parent 791 0 R /Prev 66 0 R /Next 150 0 R >>
+<< /Title 147 0 R /A 144 0 R /Parent 790 0 R /Prev 66 0 R /Next 150 0 R >>
endobj
142 0 obj
<< /Title 143 0 R /A 140 0 R /Parent 66 0 R /Prev 138 0 R >>
@@ -3945,10 +3925,10 @@ endobj
<< /Title 71 0 R /A 68 0 R /Parent 66 0 R /Next 82 0 R /First 74 0 R /Last 78 0 R /Count -2 >>
endobj
66 0 obj
-<< /Title 67 0 R /A 64 0 R /Parent 791 0 R /Prev 62 0 R /Next 146 0 R /First 70 0 R /Last 142 0 R /Count -7 >>
+<< /Title 67 0 R /A 64 0 R /Parent 790 0 R /Prev 62 0 R /Next 146 0 R /First 70 0 R /Last 142 0 R /Count -7 >>
endobj
62 0 obj
-<< /Title 63 0 R /A 60 0 R /Parent 791 0 R /Prev 34 0 R /Next 66 0 R >>
+<< /Title 63 0 R /A 60 0 R /Parent 790 0 R /Prev 34 0 R /Next 66 0 R >>
endobj
58 0 obj
<< /Title 59 0 R /A 56 0 R /Parent 34 0 R /Prev 42 0 R >>
@@ -3969,7 +3949,7 @@ endobj
<< /Title 39 0 R /A 36 0 R /Parent 34 0 R /Next 42 0 R >>
endobj
34 0 obj
-<< /Title 35 0 R /A 32 0 R /Parent 791 0 R /Prev 14 0 R /Next 62 0 R /First 38 0 R /Last 58 0 R /Count -3 >>
+<< /Title 35 0 R /A 32 0 R /Parent 790 0 R /Prev 14 0 R /Next 62 0 R /First 38 0 R /Last 58 0 R /Count -3 >>
endobj
30 0 obj
<< /Title 31 0 R /A 28 0 R /Parent 14 0 R /Prev 26 0 R >>
@@ -3984,838 +3964,837 @@ endobj
<< /Title 19 0 R /A 16 0 R /Parent 14 0 R /Next 22 0 R >>
endobj
14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 791 0 R /Prev 10 0 R /Next 34 0 R /First 18 0 R /Last 30 0 R /Count -4 >>
+<< /Title 15 0 R /A 12 0 R /Parent 790 0 R /Prev 10 0 R /Next 34 0 R /First 18 0 R /Last 30 0 R /Count -4 >>
endobj
10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 791 0 R /Prev 6 0 R /Next 14 0 R >>
+<< /Title 11 0 R /A 8 0 R /Parent 790 0 R /Prev 6 0 R /Next 14 0 R >>
endobj
6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 791 0 R /Next 10 0 R >>
+<< /Title 7 0 R /A 4 0 R /Parent 790 0 R /Next 10 0 R >>
+endobj
+791 0 obj
+<< /Names [ (Doc-Start) 214 0 R (page.1) 213 0 R (page.10) 316 0 R (page.11) 320 0 R (page.12) 325 0 R (page.13) 330 0 R (page.14) 336 0 R (page.15) 343 0 R (page.16) 350 0 R (page.17) 356 0 R (page.18) 360 0 R (page.19) 367 0 R (page.2) 245 0 R (page.20) 371 0 R (page.21) 377 0 R (page.22) 388 0 R (page.23) 394 0 R (page.24) 401 0 R (page.25) 408 0 R (page.26) 416 0 R (page.27) 420 0 R (page.28) 425 0 R (page.29) 430 0 R (page.3) 254 0 R (page.30) 434 0 R (page.31) 438 0 R (page.32) 445 0 R (page.33) 451 0 R (page.34) 525 0 R (page.35) 567 0 R (page.36) 586 0 R (page.4) 264 0 R ] /Limits [ (Doc-Start) (page.4) ] >>
endobj
792 0 obj
-<< /Names [ (Doc-Start) 218 0 R (page.1) 217 0 R (page.10) 317 0 R (page.11) 321 0 R (page.12) 326 0 R (page.13) 331 0 R (page.14) 337 0 R (page.15) 346 0 R (page.16) 351 0 R (page.17) 356 0 R (page.18) 360 0 R (page.19) 367 0 R (page.2) 249 0 R (page.20) 376 0 R (page.21) 381 0 R (page.22) 389 0 R (page.23) 397 0 R (page.24) 405 0 R (page.25) 413 0 R (page.26) 417 0 R (page.27) 421 0 R (page.28) 426 0 R (page.29) 431 0 R (page.3) 258 0 R (page.30) 435 0 R (page.31) 439 0 R (page.32) 446 0 R (page.33) 452 0 R (page.34) 525 0 R (page.35) 567 0 R (page.36) 587 0 R (page.4) 268 0 R ] /Limits [ (Doc-Start) (page.4) ] >>
+<< /Names [ (page.5) 279 0 R (page.6) 290 0 R (page.7) 298 0 R (page.8) 305 0 R (page.9) 312 0 R (piton:passe) 307 0 R (piton:transpose) 306 0 R (section*.1) 205 0 R (section.1) 5 0 R (section.10) 177 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 33 0 R (section.5) 61 0 R (section.6) 65 0 R (section.7) 145 0 R (section.8) 149 0 R (section.9) 165 0 R (subsection.10.1) 181 0 R (subsection.10.2) 185 0 R (subsection.10.3) 189 0 R (subsection.10.4) 193 0 R (subsection.10.5) 197 0 R (subsection.10.6) 201 0 R (subsection.3.1) 17 0 R (subsection.3.2) 21 0 R (subsection.3.3) 25 0 R (subsection.3.4) 29 0 R (subsection.4.1) 37 0 R (subsection.4.2) 41 0 R (subsection.4.3) 57 0 R (subsection.6.1) 69 0 R ] /Limits [ (page.5) (subsection.6.1) ] >>
endobj
793 0 obj
-<< /Names [ (page.5) 284 0 R (page.6) 291 0 R (page.7) 299 0 R (page.8) 306 0 R (page.9) 313 0 R (piton:passe) 308 0 R (piton:transpose) 307 0 R (section*.1) 209 0 R (section.1) 5 0 R (section.10) 181 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 33 0 R (section.5) 61 0 R (section.6) 65 0 R (section.7) 145 0 R (section.8) 149 0 R (section.9) 169 0 R (subsection.10.1) 185 0 R (subsection.10.2) 189 0 R (subsection.10.3) 193 0 R (subsection.10.4) 197 0 R (subsection.10.5) 201 0 R (subsection.10.6) 205 0 R (subsection.3.1) 17 0 R (subsection.3.2) 21 0 R (subsection.3.3) 25 0 R (subsection.3.4) 29 0 R (subsection.4.1) 37 0 R (subsection.4.2) 41 0 R (subsection.4.3) 57 0 R (subsection.6.1) 69 0 R ] /Limits [ (page.5) (subsection.6.1) ] >>
+<< /Names [ (subsection.6.2) 81 0 R (subsection.6.3) 93 0 R (subsection.6.4) 97 0 R (subsection.6.5) 121 0 R (subsection.6.6) 137 0 R (subsection.6.7) 141 0 R (subsection.8.1) 153 0 R (subsection.8.2) 157 0 R (subsection.8.3) 161 0 R (subsection.9.1) 169 0 R (subsection.9.2) 173 0 R (subsubsection.4.2.1) 45 0 R (subsubsection.4.2.2) 49 0 R (subsubsection.4.2.3) 53 0 R (subsubsection.6.1.1) 73 0 R (subsubsection.6.1.2) 77 0 R (subsubsection.6.2.1) 85 0 R (subsubsection.6.2.2) 89 0 R (subsubsection.6.4.1) 101 0 R (subsubsection.6.4.2) 105 0 R (subsubsection.6.4.3) 109 0 R (subsubsection.6.4.4) 113 0 R (subsubsection.6.4.5) 117 0 R (subsubsection.6.5.1) 125 0 R (subsubsection.6.5.2) 129 0 R (subsubsection.6.5.3) 133 0 R ] /Limits [ (subsection.6.2) (subsubsection.6.5.3) ] >>
endobj
794 0 obj
-<< /Names [ (subsection.6.2) 81 0 R (subsection.6.3) 93 0 R (subsection.6.4) 97 0 R (subsection.6.5) 121 0 R (subsection.6.6) 137 0 R (subsection.6.7) 141 0 R (subsection.8.1) 153 0 R (subsection.8.2) 157 0 R (subsection.8.3) 161 0 R (subsection.8.4) 165 0 R (subsection.9.1) 173 0 R (subsection.9.2) 177 0 R (subsubsection.4.2.1) 45 0 R (subsubsection.4.2.2) 49 0 R (subsubsection.4.2.3) 53 0 R (subsubsection.6.1.1) 73 0 R (subsubsection.6.1.2) 77 0 R (subsubsection.6.2.1) 85 0 R (subsubsection.6.2.2) 89 0 R (subsubsection.6.4.1) 101 0 R (subsubsection.6.4.2) 105 0 R (subsubsection.6.4.3) 109 0 R (subsubsection.6.4.4) 113 0 R (subsubsection.6.4.5) 117 0 R (subsubsection.6.5.1) 125 0 R (subsubsection.6.5.2) 129 0 R (subsubsection.6.5.3) 133 0 R ] /Limits [ (subsection.6.2) (subsubsection.6.5.3) ] >>
+<< /Kids [ 791 0 R 792 0 R 793 0 R ] /Limits [ (Doc-Start) (subsubsection.6.5.3) ] >>
endobj
795 0 obj
-<< /Kids [ 792 0 R 793 0 R 794 0 R ] /Limits [ (Doc-Start) (subsubsection.6.5.3) ] >>
+<< /Dests 794 0 R >>
endobj
796 0 obj
-<< /Dests 795 0 R >>
+<< /Type /Catalog /Pages 789 0 R /Outlines 790 0 R /Names 795 0 R /PageMode/UseOutlines /OpenAction 208 0 R >>
endobj
797 0 obj
-<< /Type /Catalog /Pages 790 0 R /Outlines 791 0 R /Names 796 0 R /PageMode/UseOutlines /OpenAction 212 0 R >>
-endobj
-798 0 obj
-<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000L\040\031\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000p\000i\000t\000o\000n)/Subject(\376\377\000U\000n\000e\000\040\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000L\000a\000T\000e\000X)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240523184955+02'00') /ModDate (D:20240523184955+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
+<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y)/Title(\376\377\000L\040\031\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000p\000i\000t\000o\000n)/Subject(\376\377\000U\000n\000e\000\040\000e\000x\000t\000e\000n\000s\000i\000o\000n\000\040\000L\000a\000T\000e\000X)/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240812173749+02'00') /ModDate (D:20240812173749+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
endobj
xref
-0 799
+0 798
0000000000 65535 f
-0000174798 00000 n
-0000174843 00000 n
-0000174863 00000 n
+0000178379 00000 n
+0000178424 00000 n
+0000178444 00000 n
0000000020 00000 n
-0000016546 00000 n
-0000410266 00000 n
+0000016348 00000 n
+0000413906 00000 n
0000000065 00000 n
0000000155 00000 n
-0000021159 00000 n
-0000410180 00000 n
+0000020960 00000 n
+0000413820 00000 n
0000000200 00000 n
0000000288 00000 n
-0000021219 00000 n
-0000410055 00000 n
+0000021020 00000 n
+0000413695 00000 n
0000000334 00000 n
0000000498 00000 n
-0000021280 00000 n
-0000409981 00000 n
+0000021081 00000 n
+0000413621 00000 n
0000000549 00000 n
0000000663 00000 n
-0000021341 00000 n
-0000409894 00000 n
+0000021142 00000 n
+0000413534 00000 n
0000000714 00000 n
0000000873 00000 n
-0000021401 00000 n
-0000409807 00000 n
+0000021202 00000 n
+0000413447 00000 n
0000000924 00000 n
0000001304 00000 n
-0000027058 00000 n
-0000409733 00000 n
+0000026857 00000 n
+0000413373 00000 n
0000001355 00000 n
0000001561 00000 n
-0000033205 00000 n
-0000409608 00000 n
+0000033124 00000 n
+0000413248 00000 n
0000001607 00000 n
0000001715 00000 n
-0000033266 00000 n
-0000409534 00000 n
+0000033185 00000 n
+0000413174 00000 n
0000001766 00000 n
0000002000 00000 n
-0000044746 00000 n
-0000409410 00000 n
+0000049820 00000 n
+0000413050 00000 n
0000002051 00000 n
0000002132 00000 n
-0000044807 00000 n
-0000409336 00000 n
+0000049881 00000 n
+0000412976 00000 n
0000002188 00000 n
0000002297 00000 n
-0000049531 00000 n
-0000409249 00000 n
+0000049942 00000 n
+0000412889 00000 n
0000002353 00000 n
0000002510 00000 n
-0000054301 00000 n
-0000409175 00000 n
+0000054702 00000 n
+0000412815 00000 n
0000002566 00000 n
0000002705 00000 n
-0000054490 00000 n
-0000409101 00000 n
+0000054891 00000 n
+0000412741 00000 n
0000002756 00000 n
0000002981 00000 n
-0000058305 00000 n
-0000409013 00000 n
+0000059062 00000 n
+0000412653 00000 n
0000003027 00000 n
0000003377 00000 n
-0000067463 00000 n
-0000408886 00000 n
+0000067821 00000 n
+0000412526 00000 n
0000003423 00000 n
0000003580 00000 n
-0000067524 00000 n
-0000408775 00000 n
+0000067882 00000 n
+0000412415 00000 n
0000003631 00000 n
0000003829 00000 n
-0000067585 00000 n
-0000408701 00000 n
+0000067943 00000 n
+0000412341 00000 n
0000003885 00000 n
0000004004 00000 n
-0000067646 00000 n
-0000408627 00000 n
+0000072400 00000 n
+0000412267 00000 n
0000004060 00000 n
0000004184 00000 n
-0000072024 00000 n
-0000408503 00000 n
+0000072461 00000 n
+0000412143 00000 n
0000004235 00000 n
0000004450 00000 n
-0000072085 00000 n
-0000408429 00000 n
+0000076413 00000 n
+0000412069 00000 n
0000004506 00000 n
0000004722 00000 n
-0000072146 00000 n
-0000408355 00000 n
+0000076474 00000 n
+0000411995 00000 n
0000004778 00000 n
0000004950 00000 n
-0000079598 00000 n
-0000408268 00000 n
+0000080318 00000 n
+0000411908 00000 n
0000005001 00000 n
0000005211 00000 n
-0000084643 00000 n
-0000408141 00000 n
+0000084531 00000 n
+0000411781 00000 n
0000005262 00000 n
0000005437 00000 n
-0000084704 00000 n
-0000408063 00000 n
+0000084592 00000 n
+0000411703 00000 n
0000005494 00000 n
0000005655 00000 n
-0000084766 00000 n
-0000407971 00000 n
+0000089000 00000 n
+0000411611 00000 n
0000005712 00000 n
0000005866 00000 n
-0000088524 00000 n
-0000407879 00000 n
+0000089062 00000 n
+0000411519 00000 n
0000005923 00000 n
0000006097 00000 n
-0000088586 00000 n
-0000407787 00000 n
+0000092934 00000 n
+0000411427 00000 n
0000006154 00000 n
0000006303 00000 n
-0000092320 00000 n
-0000407709 00000 n
+0000092996 00000 n
+0000411349 00000 n
0000006360 00000 n
0000006534 00000 n
-0000096955 00000 n
-0000407579 00000 n
+0000097050 00000 n
+0000411219 00000 n
0000006586 00000 n
0000006797 00000 n
-0000097017 00000 n
-0000407500 00000 n
+0000100978 00000 n
+0000411140 00000 n
0000006854 00000 n
0000007149 00000 n
-0000097079 00000 n
-0000407407 00000 n
+0000101040 00000 n
+0000411047 00000 n
0000007206 00000 n
0000007570 00000 n
-0000100552 00000 n
-0000407328 00000 n
+0000104905 00000 n
+0000410968 00000 n
0000007627 00000 n
0000008011 00000 n
-0000105443 00000 n
-0000407236 00000 n
+0000104967 00000 n
+0000410876 00000 n
0000008063 00000 n
0000008389 00000 n
-0000105505 00000 n
-0000407158 00000 n
+0000114726 00000 n
+0000410798 00000 n
0000008441 00000 n
0000008525 00000 n
-0000105566 00000 n
-0000407066 00000 n
+0000114788 00000 n
+0000410706 00000 n
0000008572 00000 n
0000008738 00000 n
-0000109433 00000 n
-0000406934 00000 n
+0000114850 00000 n
+0000410574 00000 n
0000008785 00000 n
0000008854 00000 n
-0000109495 00000 n
-0000406855 00000 n
+0000114912 00000 n
+0000410495 00000 n
0000008906 00000 n
0000009059 00000 n
-0000109557 00000 n
-0000406762 00000 n
+0000118917 00000 n
+0000410402 00000 n
0000009111 00000 n
0000009309 00000 n
-0000113833 00000 n
-0000406669 00000 n
+0000122927 00000 n
+0000410323 00000 n
0000009361 00000 n
-0000009514 00000 n
-0000118193 00000 n
-0000406590 00000 n
-0000009566 00000 n
-0000009773 00000 n
-0000121950 00000 n
-0000406458 00000 n
-0000009820 00000 n
-0000009980 00000 n
-0000122012 00000 n
-0000406379 00000 n
-0000010032 00000 n
-0000010230 00000 n
-0000125396 00000 n
-0000406300 00000 n
-0000010282 00000 n
-0000010607 00000 n
-0000133314 00000 n
-0000406168 00000 n
-0000010655 00000 n
-0000010970 00000 n
-0000133376 00000 n
-0000406089 00000 n
-0000011023 00000 n
-0000011143 00000 n
-0000136945 00000 n
-0000405996 00000 n
-0000011196 00000 n
+0000009568 00000 n
+0000126565 00000 n
+0000410191 00000 n
+0000009615 00000 n
+0000009775 00000 n
+0000126627 00000 n
+0000410112 00000 n
+0000009827 00000 n
+0000010025 00000 n
+0000129924 00000 n
+0000410033 00000 n
+0000010077 00000 n
+0000010402 00000 n
+0000136921 00000 n
+0000409901 00000 n
+0000010450 00000 n
+0000010765 00000 n
+0000136983 00000 n
+0000409822 00000 n
+0000010818 00000 n
+0000010938 00000 n
+0000140552 00000 n
+0000409729 00000 n
+0000010991 00000 n
+0000011106 00000 n
+0000144176 00000 n
+0000409636 00000 n
+0000011159 00000 n
0000011311 00000 n
-0000140569 00000 n
-0000405903 00000 n
+0000147750 00000 n
+0000409543 00000 n
0000011364 00000 n
-0000011516 00000 n
-0000144143 00000 n
-0000405810 00000 n
-0000011569 00000 n
-0000011674 00000 n
-0000146397 00000 n
-0000405717 00000 n
-0000011727 00000 n
-0000011868 00000 n
-0000148431 00000 n
-0000405638 00000 n
-0000011921 00000 n
-0000012244 00000 n
-0000161740 00000 n
-0000405559 00000 n
-0000012292 00000 n
-0000012346 00000 n
-0000016066 00000 n
-0000016232 00000 n
-0000016606 00000 n
-0000012398 00000 n
-0000016422 00000 n
-0000016484 00000 n
-0000349089 00000 n
-0000345798 00000 n
-0000343694 00000 n
-0000339985 00000 n
-0000336651 00000 n
-0000334220 00000 n
-0000327942 00000 n
-0000325841 00000 n
-0000317326 00000 n
-0000306201 00000 n
-0000302352 00000 n
-0000299261 00000 n
-0000288914 00000 n
-0000285074 00000 n
-0000404254 00000 n
-0000403822 00000 n
-0000278773 00000 n
-0000276656 00000 n
-0000267286 00000 n
-0000264058 00000 n
-0000260037 00000 n
-0000404819 00000 n
-0000016203 00000 n
-0000020940 00000 n
-0000020786 00000 n
-0000026360 00000 n
-0000026519 00000 n
-0000021461 00000 n
-0000020612 00000 n
-0000016990 00000 n
-0000021097 00000 n
-0000252440 00000 n
-0000250663 00000 n
-0000020749 00000 n
-0000026678 00000 n
-0000026837 00000 n
-0000027119 00000 n
-0000026170 00000 n
-0000021702 00000 n
-0000026996 00000 n
-0000241927 00000 n
-0000026307 00000 n
-0000032841 00000 n
-0000032992 00000 n
-0000038843 00000 n
-0000039002 00000 n
-0000033326 00000 n
-0000032667 00000 n
-0000027360 00000 n
-0000033143 00000 n
-0000235307 00000 n
-0000032804 00000 n
-0000039161 00000 n
-0000039320 00000 n
-0000039478 00000 n
-0000039636 00000 n
-0000039795 00000 n
-0000039959 00000 n
-0000040123 00000 n
-0000040280 00000 n
-0000044359 00000 n
-0000044521 00000 n
-0000040499 00000 n
-0000038605 00000 n
-0000033606 00000 n
-0000040437 00000 n
-0000232493 00000 n
-0000038742 00000 n
-0000044200 00000 n
-0000044868 00000 n
-0000044018 00000 n
-0000040740 00000 n
-0000044684 00000 n
-0000229217 00000 n
-0000044155 00000 n
-0000049159 00000 n
-0000049314 00000 n
-0000049591 00000 n
-0000048985 00000 n
-0000045122 00000 n
-0000049469 00000 n
-0000220502 00000 n
-0000049122 00000 n
-0000054079 00000 n
-0000054551 00000 n
-0000053913 00000 n
-0000049845 00000 n
-0000054239 00000 n
-0000054362 00000 n
-0000054426 00000 n
-0000054050 00000 n
-0000058366 00000 n
-0000058122 00000 n
-0000054857 00000 n
-0000058243 00000 n
-0000062599 00000 n
-0000062416 00000 n
-0000058607 00000 n
-0000062537 00000 n
-0000067707 00000 n
-0000067280 00000 n
-0000062840 00000 n
-0000067401 00000 n
-0000404971 00000 n
-0000072207 00000 n
-0000071841 00000 n
-0000067961 00000 n
-0000071962 00000 n
-0000404537 00000 n
-0000075778 00000 n
-0000075595 00000 n
-0000072448 00000 n
-0000075716 00000 n
-0000079220 00000 n
-0000079378 00000 n
-0000079659 00000 n
-0000079046 00000 n
-0000075993 00000 n
-0000079536 00000 n
-0000079183 00000 n
-0000083945 00000 n
-0000084104 00000 n
-0000084263 00000 n
-0000084422 00000 n
-0000084828 00000 n
-0000083755 00000 n
-0000079900 00000 n
-0000084581 00000 n
-0000083892 00000 n
-0000088648 00000 n
-0000088341 00000 n
-0000085082 00000 n
-0000088462 00000 n
-0000404396 00000 n
-0000092382 00000 n
-0000092137 00000 n
-0000088876 00000 n
-0000092258 00000 n
-0000097141 00000 n
-0000096772 00000 n
-0000092610 00000 n
-0000096893 00000 n
-0000404679 00000 n
-0000403966 00000 n
-0000404110 00000 n
-0000100613 00000 n
-0000100369 00000 n
-0000097486 00000 n
-0000100490 00000 n
-0000104895 00000 n
-0000105054 00000 n
-0000105218 00000 n
-0000109058 00000 n
-0000109217 00000 n
-0000105628 00000 n
-0000104713 00000 n
-0000100802 00000 n
-0000105381 00000 n
-0000104850 00000 n
-0000109619 00000 n
-0000108884 00000 n
-0000105817 00000 n
-0000109371 00000 n
-0000405123 00000 n
-0000109021 00000 n
-0000113453 00000 n
-0000113612 00000 n
-0000113895 00000 n
-0000113279 00000 n
-0000109821 00000 n
-0000113771 00000 n
-0000113416 00000 n
-0000117634 00000 n
-0000117793 00000 n
-0000117952 00000 n
-0000118255 00000 n
-0000117452 00000 n
-0000114097 00000 n
-0000118131 00000 n
-0000216650 00000 n
-0000117589 00000 n
-0000121580 00000 n
-0000121734 00000 n
-0000122074 00000 n
-0000121406 00000 n
-0000118522 00000 n
-0000121888 00000 n
-0000214584 00000 n
-0000202423 00000 n
-0000187696 00000 n
-0000121543 00000 n
-0000125458 00000 n
-0000125213 00000 n
-0000122315 00000 n
-0000125334 00000 n
-0000128121 00000 n
-0000127938 00000 n
-0000125673 00000 n
-0000128059 00000 n
-0000129032 00000 n
-0000128849 00000 n
-0000128323 00000 n
-0000128970 00000 n
-0000133074 00000 n
-0000133438 00000 n
-0000132908 00000 n
-0000129182 00000 n
-0000133252 00000 n
-0000133045 00000 n
-0000137007 00000 n
-0000136762 00000 n
-0000133666 00000 n
-0000136883 00000 n
-0000140631 00000 n
-0000140386 00000 n
-0000137170 00000 n
-0000140507 00000 n
-0000144205 00000 n
-0000143960 00000 n
-0000140820 00000 n
-0000144081 00000 n
-0000405275 00000 n
-0000146017 00000 n
-0000146176 00000 n
-0000146459 00000 n
-0000145843 00000 n
-0000144381 00000 n
-0000146335 00000 n
-0000145980 00000 n
-0000148216 00000 n
-0000148493 00000 n
-0000148050 00000 n
-0000146622 00000 n
-0000148369 00000 n
-0000148187 00000 n
-0000151403 00000 n
-0000151552 00000 n
-0000151703 00000 n
-0000151855 00000 n
-0000152007 00000 n
-0000152159 00000 n
-0000152311 00000 n
-0000152463 00000 n
-0000152614 00000 n
-0000152766 00000 n
-0000152917 00000 n
-0000153068 00000 n
-0000153220 00000 n
-0000153371 00000 n
-0000153522 00000 n
-0000153674 00000 n
-0000153826 00000 n
-0000153978 00000 n
-0000154130 00000 n
-0000154282 00000 n
-0000154434 00000 n
-0000154585 00000 n
-0000154737 00000 n
-0000154889 00000 n
-0000155041 00000 n
-0000155193 00000 n
-0000155345 00000 n
-0000155496 00000 n
-0000155646 00000 n
-0000155797 00000 n
-0000155947 00000 n
-0000156098 00000 n
-0000156249 00000 n
-0000156398 00000 n
-0000156548 00000 n
-0000156698 00000 n
-0000156846 00000 n
-0000156996 00000 n
-0000157148 00000 n
-0000157299 00000 n
-0000157450 00000 n
-0000157599 00000 n
-0000157750 00000 n
-0000157902 00000 n
-0000158054 00000 n
-0000158205 00000 n
-0000158355 00000 n
-0000158506 00000 n
-0000158657 00000 n
+0000011469 00000 n
+0000150004 00000 n
+0000409450 00000 n
+0000011522 00000 n
+0000011663 00000 n
+0000152038 00000 n
+0000409371 00000 n
+0000011716 00000 n
+0000012039 00000 n
+0000165515 00000 n
+0000409292 00000 n
+0000012087 00000 n
+0000012141 00000 n
+0000015868 00000 n
+0000016034 00000 n
+0000016408 00000 n
+0000012193 00000 n
+0000016224 00000 n
+0000016286 00000 n
+0000352822 00000 n
+0000349531 00000 n
+0000347427 00000 n
+0000343635 00000 n
+0000340301 00000 n
+0000337870 00000 n
+0000331592 00000 n
+0000329491 00000 n
+0000320976 00000 n
+0000309851 00000 n
+0000306002 00000 n
+0000302911 00000 n
+0000292564 00000 n
+0000288724 00000 n
+0000407987 00000 n
+0000407555 00000 n
+0000282423 00000 n
+0000280306 00000 n
+0000270928 00000 n
+0000267700 00000 n
+0000263679 00000 n
+0000408552 00000 n
+0000016005 00000 n
+0000020741 00000 n
+0000020587 00000 n
+0000026159 00000 n
+0000026318 00000 n
+0000021262 00000 n
+0000020413 00000 n
+0000016792 00000 n
+0000020898 00000 n
+0000256082 00000 n
+0000254305 00000 n
+0000020550 00000 n
+0000026477 00000 n
+0000026636 00000 n
+0000026918 00000 n
+0000025969 00000 n
+0000021503 00000 n
+0000026795 00000 n
+0000245569 00000 n
+0000026106 00000 n
+0000032451 00000 n
+0000032605 00000 n
+0000032758 00000 n
+0000032910 00000 n
+0000033246 00000 n
+0000032261 00000 n
+0000027159 00000 n
+0000033062 00000 n
+0000238888 00000 n
+0000032398 00000 n
+0000038285 00000 n
+0000038444 00000 n
+0000038603 00000 n
+0000038762 00000 n
+0000038920 00000 n
+0000039084 00000 n
+0000039242 00000 n
+0000039401 00000 n
+0000039565 00000 n
+0000039791 00000 n
+0000038055 00000 n
+0000033526 00000 n
+0000039729 00000 n
+0000236074 00000 n
+0000038192 00000 n
+0000044453 00000 n
+0000044611 00000 n
+0000044928 00000 n
+0000045088 00000 n
+0000044769 00000 n
+0000045311 00000 n
+0000044255 00000 n
+0000040019 00000 n
+0000045249 00000 n
+0000232798 00000 n
+0000044392 00000 n
+0000049448 00000 n
+0000049603 00000 n
+0000050003 00000 n
+0000049274 00000 n
+0000045565 00000 n
+0000049758 00000 n
+0000224083 00000 n
+0000049411 00000 n
+0000054480 00000 n
+0000054952 00000 n
+0000054314 00000 n
+0000050270 00000 n
+0000054640 00000 n
+0000054763 00000 n
+0000054827 00000 n
+0000054451 00000 n
+0000059123 00000 n
+0000058879 00000 n
+0000055258 00000 n
+0000059000 00000 n
+0000062862 00000 n
+0000062679 00000 n
+0000059403 00000 n
+0000062800 00000 n
+0000068004 00000 n
+0000067638 00000 n
+0000063116 00000 n
+0000067759 00000 n
+0000408704 00000 n
+0000072522 00000 n
+0000072217 00000 n
+0000068258 00000 n
+0000072338 00000 n
+0000408270 00000 n
+0000076535 00000 n
+0000076230 00000 n
+0000072763 00000 n
+0000076351 00000 n
+0000079938 00000 n
+0000080097 00000 n
+0000080379 00000 n
+0000079764 00000 n
+0000076750 00000 n
+0000080256 00000 n
+0000079901 00000 n
+0000084151 00000 n
+0000084310 00000 n
+0000084654 00000 n
+0000083977 00000 n
+0000080620 00000 n
+0000084469 00000 n
+0000084114 00000 n
+0000088624 00000 n
+0000088781 00000 n
+0000089124 00000 n
+0000088450 00000 n
+0000084856 00000 n
+0000088938 00000 n
+0000408129 00000 n
+0000088587 00000 n
+0000093058 00000 n
+0000092751 00000 n
+0000089417 00000 n
+0000092872 00000 n
+0000097112 00000 n
+0000096867 00000 n
+0000093247 00000 n
+0000096988 00000 n
+0000408412 00000 n
+0000407699 00000 n
+0000407843 00000 n
+0000101102 00000 n
+0000100795 00000 n
+0000097444 00000 n
+0000100916 00000 n
+0000105029 00000 n
+0000104722 00000 n
+0000101330 00000 n
+0000104843 00000 n
+0000109066 00000 n
+0000109230 00000 n
+0000109451 00000 n
+0000108892 00000 n
+0000105231 00000 n
+0000109389 00000 n
+0000408856 00000 n
+0000109029 00000 n
+0000113868 00000 n
+0000114027 00000 n
+0000114189 00000 n
+0000114353 00000 n
+0000114512 00000 n
+0000114974 00000 n
+0000113670 00000 n
+0000109679 00000 n
+0000114664 00000 n
+0000220231 00000 n
+0000113807 00000 n
+0000118979 00000 n
+0000118734 00000 n
+0000115215 00000 n
+0000118855 00000 n
+0000122367 00000 n
+0000122526 00000 n
+0000122685 00000 n
+0000122989 00000 n
+0000122185 00000 n
+0000119181 00000 n
+0000122865 00000 n
+0000122322 00000 n
+0000126195 00000 n
+0000126349 00000 n
+0000126689 00000 n
+0000126021 00000 n
+0000123230 00000 n
+0000126503 00000 n
+0000218165 00000 n
+0000206004 00000 n
+0000191277 00000 n
+0000126158 00000 n
+0000129986 00000 n
+0000129741 00000 n
+0000126943 00000 n
+0000129862 00000 n
+0000132589 00000 n
+0000132406 00000 n
+0000130188 00000 n
+0000132527 00000 n
+0000136681 00000 n
+0000137045 00000 n
+0000136515 00000 n
+0000132791 00000 n
+0000136859 00000 n
+0000136652 00000 n
+0000140614 00000 n
+0000140369 00000 n
+0000137273 00000 n
+0000140490 00000 n
+0000144238 00000 n
+0000143993 00000 n
+0000140777 00000 n
+0000144114 00000 n
+0000147812 00000 n
+0000147567 00000 n
+0000144427 00000 n
+0000147688 00000 n
+0000409008 00000 n
+0000149624 00000 n
+0000149783 00000 n
+0000150066 00000 n
+0000149450 00000 n
+0000147988 00000 n
+0000149942 00000 n
+0000149587 00000 n
+0000151823 00000 n
+0000152100 00000 n
+0000151657 00000 n
+0000150229 00000 n
+0000151976 00000 n
+0000151794 00000 n
+0000155020 00000 n
+0000155169 00000 n
+0000155320 00000 n
+0000155472 00000 n
+0000155624 00000 n
+0000155776 00000 n
+0000155928 00000 n
+0000156080 00000 n
+0000156231 00000 n
+0000156383 00000 n
+0000156534 00000 n
+0000156685 00000 n
+0000156837 00000 n
+0000156988 00000 n
+0000157139 00000 n
+0000157291 00000 n
+0000157441 00000 n
+0000157593 00000 n
+0000157745 00000 n
+0000157897 00000 n
+0000158049 00000 n
+0000158201 00000 n
+0000158353 00000 n
+0000158504 00000 n
+0000158656 00000 n
0000158808 00000 n
0000158960 00000 n
-0000159111 00000 n
-0000159262 00000 n
-0000159412 00000 n
-0000159564 00000 n
+0000159112 00000 n
+0000159264 00000 n
+0000159415 00000 n
+0000159565 00000 n
0000159716 00000 n
-0000159868 00000 n
-0000160018 00000 n
-0000160169 00000 n
-0000160320 00000 n
-0000160472 00000 n
-0000160624 00000 n
-0000160776 00000 n
-0000160926 00000 n
-0000161077 00000 n
-0000161229 00000 n
-0000161378 00000 n
-0000161527 00000 n
-0000161802 00000 n
-0000150701 00000 n
-0000148656 00000 n
-0000161678 00000 n
-0000150838 00000 n
-0000164863 00000 n
-0000165016 00000 n
-0000165169 00000 n
-0000165320 00000 n
-0000165478 00000 n
-0000165635 00000 n
-0000165793 00000 n
-0000165950 00000 n
-0000166103 00000 n
-0000166261 00000 n
-0000166418 00000 n
-0000166582 00000 n
-0000166745 00000 n
-0000166909 00000 n
-0000167067 00000 n
-0000167219 00000 n
-0000167372 00000 n
-0000167530 00000 n
-0000167694 00000 n
-0000167858 00000 n
-0000168016 00000 n
-0000168180 00000 n
-0000168343 00000 n
-0000168501 00000 n
-0000168658 00000 n
-0000168821 00000 n
-0000168984 00000 n
-0000169147 00000 n
-0000169310 00000 n
-0000169474 00000 n
-0000169629 00000 n
-0000169793 00000 n
-0000169957 00000 n
-0000170121 00000 n
-0000170279 00000 n
-0000170436 00000 n
-0000172090 00000 n
-0000170649 00000 n
-0000164417 00000 n
-0000161991 00000 n
-0000170587 00000 n
-0000164554 00000 n
-0000172243 00000 n
-0000172401 00000 n
-0000172559 00000 n
-0000172717 00000 n
-0000172874 00000 n
-0000173027 00000 n
-0000173185 00000 n
-0000173342 00000 n
-0000173496 00000 n
-0000173655 00000 n
-0000173814 00000 n
-0000173972 00000 n
-0000174131 00000 n
-0000174289 00000 n
-0000174447 00000 n
-0000174661 00000 n
-0000171804 00000 n
-0000170851 00000 n
-0000174599 00000 n
-0000171941 00000 n
-0000174916 00000 n
-0000186898 00000 n
-0000175143 00000 n
-0000175245 00000 n
-0000187137 00000 n
-0000187858 00000 n
-0000188089 00000 n
-0000201598 00000 n
-0000188411 00000 n
-0000188517 00000 n
-0000201829 00000 n
-0000202577 00000 n
-0000202800 00000 n
-0000213831 00000 n
-0000202946 00000 n
-0000203043 00000 n
-0000214068 00000 n
-0000214743 00000 n
-0000214971 00000 n
-0000215963 00000 n
-0000215014 00000 n
-0000215109 00000 n
-0000216203 00000 n
-0000216805 00000 n
-0000217006 00000 n
-0000217032 00000 n
-0000217058 00000 n
-0000217084 00000 n
-0000217144 00000 n
-0000217239 00000 n
-0000219726 00000 n
-0000217444 00000 n
-0000217547 00000 n
-0000219971 00000 n
-0000220663 00000 n
-0000220870 00000 n
-0000228200 00000 n
-0000221364 00000 n
-0000221480 00000 n
-0000228437 00000 n
-0000229372 00000 n
-0000229573 00000 n
-0000231745 00000 n
-0000229728 00000 n
-0000229833 00000 n
-0000231989 00000 n
-0000232654 00000 n
-0000232861 00000 n
-0000234567 00000 n
-0000232984 00000 n
-0000233090 00000 n
-0000234813 00000 n
-0000235469 00000 n
-0000235677 00000 n
-0000241063 00000 n
-0000236066 00000 n
-0000236186 00000 n
-0000241304 00000 n
-0000242083 00000 n
-0000242285 00000 n
-0000249692 00000 n
-0000242770 00000 n
-0000242893 00000 n
-0000249929 00000 n
-0000250817 00000 n
-0000251017 00000 n
-0000251764 00000 n
-0000251050 00000 n
-0000251144 00000 n
-0000252000 00000 n
-0000252593 00000 n
-0000252792 00000 n
-0000259075 00000 n
-0000253244 00000 n
-0000253354 00000 n
-0000259312 00000 n
-0000260192 00000 n
-0000260393 00000 n
-0000263287 00000 n
-0000260619 00000 n
-0000260724 00000 n
-0000263527 00000 n
-0000264213 00000 n
-0000264414 00000 n
-0000266519 00000 n
-0000264648 00000 n
-0000264753 00000 n
-0000266756 00000 n
-0000267441 00000 n
-0000267642 00000 n
-0000275638 00000 n
-0000268186 00000 n
-0000268317 00000 n
-0000275876 00000 n
-0000276812 00000 n
-0000277014 00000 n
-0000278077 00000 n
-0000277070 00000 n
-0000277170 00000 n
-0000278316 00000 n
-0000278929 00000 n
-0000279131 00000 n
-0000279369 00000 n
-0000279457 00000 n
-0000284213 00000 n
-0000279826 00000 n
-0000279935 00000 n
-0000284452 00000 n
-0000285229 00000 n
-0000285430 00000 n
-0000288142 00000 n
-0000285675 00000 n
-0000285780 00000 n
-0000288379 00000 n
-0000289069 00000 n
-0000289270 00000 n
-0000298191 00000 n
-0000289744 00000 n
-0000289862 00000 n
-0000298429 00000 n
-0000299417 00000 n
-0000299619 00000 n
-0000301626 00000 n
-0000299732 00000 n
-0000299835 00000 n
-0000301865 00000 n
-0000302508 00000 n
-0000302710 00000 n
-0000305409 00000 n
-0000302971 00000 n
-0000303076 00000 n
-0000305647 00000 n
-0000306357 00000 n
-0000306559 00000 n
-0000316217 00000 n
-0000307203 00000 n
-0000307344 00000 n
-0000316456 00000 n
-0000317483 00000 n
-0000317686 00000 n
-0000324878 00000 n
-0000318172 00000 n
-0000318296 00000 n
-0000325115 00000 n
-0000325995 00000 n
-0000326195 00000 n
-0000327241 00000 n
-0000326272 00000 n
-0000326371 00000 n
-0000327478 00000 n
-0000328097 00000 n
-0000328298 00000 n
-0000333342 00000 n
-0000328701 00000 n
-0000328824 00000 n
-0000333580 00000 n
-0000334376 00000 n
-0000334578 00000 n
-0000335952 00000 n
-0000334656 00000 n
-0000334758 00000 n
-0000336188 00000 n
-0000336804 00000 n
-0000337003 00000 n
-0000339237 00000 n
-0000337181 00000 n
-0000337286 00000 n
-0000339475 00000 n
-0000340141 00000 n
-0000340343 00000 n
-0000342933 00000 n
-0000340519 00000 n
-0000340628 00000 n
-0000343172 00000 n
-0000343851 00000 n
-0000344054 00000 n
-0000345095 00000 n
-0000344131 00000 n
-0000344230 00000 n
-0000345333 00000 n
-0000345954 00000 n
-0000346156 00000 n
-0000348343 00000 n
-0000346298 00000 n
-0000346407 00000 n
-0000348582 00000 n
-0000349246 00000 n
-0000357645 00000 n
-0000349449 00000 n
-0000365098 00000 n
-0000357909 00000 n
-0000372494 00000 n
-0000365320 00000 n
-0000381185 00000 n
-0000372716 00000 n
-0000388991 00000 n
-0000381462 00000 n
-0000396380 00000 n
-0000389247 00000 n
-0000403595 00000 n
-0000396620 00000 n
-0000405394 00000 n
-0000405483 00000 n
-0000410338 00000 n
-0000410979 00000 n
-0000411746 00000 n
-0000412571 00000 n
-0000412674 00000 n
-0000412712 00000 n
-0000412840 00000 n
+0000159866 00000 n
+0000160017 00000 n
+0000160168 00000 n
+0000160318 00000 n
+0000160468 00000 n
+0000160618 00000 n
+0000160770 00000 n
+0000160922 00000 n
+0000161074 00000 n
+0000161225 00000 n
+0000161376 00000 n
+0000161525 00000 n
+0000161676 00000 n
+0000161828 00000 n
+0000161979 00000 n
+0000162129 00000 n
+0000162280 00000 n
+0000162431 00000 n
+0000162582 00000 n
+0000162734 00000 n
+0000162885 00000 n
+0000163036 00000 n
+0000163186 00000 n
+0000163338 00000 n
+0000163490 00000 n
+0000163642 00000 n
+0000163793 00000 n
+0000163944 00000 n
+0000164095 00000 n
+0000164247 00000 n
+0000164399 00000 n
+0000164551 00000 n
+0000164701 00000 n
+0000164852 00000 n
+0000165004 00000 n
+0000165153 00000 n
+0000165302 00000 n
+0000165577 00000 n
+0000154310 00000 n
+0000152263 00000 n
+0000165453 00000 n
+0000154447 00000 n
+0000168641 00000 n
+0000168794 00000 n
+0000168947 00000 n
+0000169098 00000 n
+0000169256 00000 n
+0000169413 00000 n
+0000169571 00000 n
+0000169728 00000 n
+0000169881 00000 n
+0000170039 00000 n
+0000170196 00000 n
+0000170360 00000 n
+0000170523 00000 n
+0000170687 00000 n
+0000170845 00000 n
+0000170997 00000 n
+0000171150 00000 n
+0000171308 00000 n
+0000171472 00000 n
+0000171636 00000 n
+0000171794 00000 n
+0000171958 00000 n
+0000172121 00000 n
+0000172279 00000 n
+0000172436 00000 n
+0000172599 00000 n
+0000172762 00000 n
+0000172925 00000 n
+0000173088 00000 n
+0000173252 00000 n
+0000173407 00000 n
+0000173571 00000 n
+0000173735 00000 n
+0000173899 00000 n
+0000174057 00000 n
+0000174214 00000 n
+0000175827 00000 n
+0000174427 00000 n
+0000168195 00000 n
+0000165766 00000 n
+0000174365 00000 n
+0000168332 00000 n
+0000175980 00000 n
+0000176138 00000 n
+0000176296 00000 n
+0000176454 00000 n
+0000176607 00000 n
+0000176765 00000 n
+0000176922 00000 n
+0000177076 00000 n
+0000177235 00000 n
+0000177394 00000 n
+0000177552 00000 n
+0000177710 00000 n
+0000177869 00000 n
+0000178027 00000 n
+0000178242 00000 n
+0000175549 00000 n
+0000174629 00000 n
+0000178180 00000 n
+0000175686 00000 n
+0000178497 00000 n
+0000190479 00000 n
+0000178724 00000 n
+0000178826 00000 n
+0000190718 00000 n
+0000191439 00000 n
+0000191670 00000 n
+0000205179 00000 n
+0000191992 00000 n
+0000192098 00000 n
+0000205410 00000 n
+0000206158 00000 n
+0000206381 00000 n
+0000217412 00000 n
+0000206527 00000 n
+0000206624 00000 n
+0000217649 00000 n
+0000218324 00000 n
+0000218552 00000 n
+0000219544 00000 n
+0000218595 00000 n
+0000218690 00000 n
+0000219784 00000 n
+0000220386 00000 n
+0000220587 00000 n
+0000220613 00000 n
+0000220639 00000 n
+0000220665 00000 n
+0000220725 00000 n
+0000220820 00000 n
+0000223307 00000 n
+0000221025 00000 n
+0000221128 00000 n
+0000223552 00000 n
+0000224244 00000 n
+0000224451 00000 n
+0000231781 00000 n
+0000224945 00000 n
+0000225061 00000 n
+0000232018 00000 n
+0000232953 00000 n
+0000233154 00000 n
+0000235326 00000 n
+0000233309 00000 n
+0000233414 00000 n
+0000235570 00000 n
+0000236235 00000 n
+0000236442 00000 n
+0000238148 00000 n
+0000236565 00000 n
+0000236671 00000 n
+0000238394 00000 n
+0000239050 00000 n
+0000239258 00000 n
+0000244704 00000 n
+0000239646 00000 n
+0000239766 00000 n
+0000244945 00000 n
+0000245725 00000 n
+0000245927 00000 n
+0000253334 00000 n
+0000246412 00000 n
+0000246535 00000 n
+0000253571 00000 n
+0000254459 00000 n
+0000254659 00000 n
+0000255406 00000 n
+0000254692 00000 n
+0000254786 00000 n
+0000255642 00000 n
+0000256235 00000 n
+0000256434 00000 n
+0000262717 00000 n
+0000256886 00000 n
+0000256996 00000 n
+0000262954 00000 n
+0000263834 00000 n
+0000264035 00000 n
+0000266929 00000 n
+0000264261 00000 n
+0000264366 00000 n
+0000267169 00000 n
+0000267855 00000 n
+0000268056 00000 n
+0000270161 00000 n
+0000268290 00000 n
+0000268395 00000 n
+0000270398 00000 n
+0000271083 00000 n
+0000271284 00000 n
+0000279284 00000 n
+0000271824 00000 n
+0000271955 00000 n
+0000279522 00000 n
+0000280462 00000 n
+0000280664 00000 n
+0000281727 00000 n
+0000280720 00000 n
+0000280820 00000 n
+0000281966 00000 n
+0000282579 00000 n
+0000282781 00000 n
+0000283019 00000 n
+0000283107 00000 n
+0000287863 00000 n
+0000283476 00000 n
+0000283585 00000 n
+0000288102 00000 n
+0000288879 00000 n
+0000289080 00000 n
+0000291792 00000 n
+0000289325 00000 n
+0000289430 00000 n
+0000292029 00000 n
+0000292719 00000 n
+0000292920 00000 n
+0000301841 00000 n
+0000293394 00000 n
+0000293512 00000 n
+0000302079 00000 n
+0000303067 00000 n
+0000303269 00000 n
+0000305276 00000 n
+0000303382 00000 n
+0000303485 00000 n
+0000305515 00000 n
+0000306158 00000 n
+0000306360 00000 n
+0000309059 00000 n
+0000306621 00000 n
+0000306726 00000 n
+0000309297 00000 n
+0000310007 00000 n
+0000310209 00000 n
+0000319867 00000 n
+0000310853 00000 n
+0000310994 00000 n
+0000320106 00000 n
+0000321133 00000 n
+0000321336 00000 n
+0000328528 00000 n
+0000321822 00000 n
+0000321946 00000 n
+0000328765 00000 n
+0000329645 00000 n
+0000329845 00000 n
+0000330891 00000 n
+0000329922 00000 n
+0000330021 00000 n
+0000331128 00000 n
+0000331747 00000 n
+0000331948 00000 n
+0000336992 00000 n
+0000332351 00000 n
+0000332474 00000 n
+0000337230 00000 n
+0000338026 00000 n
+0000338228 00000 n
+0000339602 00000 n
+0000338306 00000 n
+0000338408 00000 n
+0000339838 00000 n
+0000340454 00000 n
+0000340653 00000 n
+0000342887 00000 n
+0000340831 00000 n
+0000340936 00000 n
+0000343125 00000 n
+0000343791 00000 n
+0000343993 00000 n
+0000346657 00000 n
+0000344182 00000 n
+0000344295 00000 n
+0000346896 00000 n
+0000347584 00000 n
+0000347787 00000 n
+0000348828 00000 n
+0000347864 00000 n
+0000347963 00000 n
+0000349066 00000 n
+0000349687 00000 n
+0000349889 00000 n
+0000352076 00000 n
+0000350031 00000 n
+0000350140 00000 n
+0000352315 00000 n
+0000352979 00000 n
+0000361378 00000 n
+0000353182 00000 n
+0000368831 00000 n
+0000361642 00000 n
+0000376227 00000 n
+0000369053 00000 n
+0000384918 00000 n
+0000376449 00000 n
+0000392724 00000 n
+0000385195 00000 n
+0000400113 00000 n
+0000392980 00000 n
+0000407328 00000 n
+0000400353 00000 n
+0000409127 00000 n
+0000409216 00000 n
+0000413978 00000 n
+0000414619 00000 n
+0000415386 00000 n
+0000416186 00000 n
+0000416289 00000 n
+0000416327 00000 n
+0000416455 00000 n
trailer
-<< /Size 799 /Root 797 0 R /Info 798 0 R /ID [ <BAED7C336B1B3BB8FDEEEB3D3DB34A65> <BAED7C336B1B3BB8FDEEEB3D3DB34A65> ] >>
+<< /Size 798 /Root 796 0 R /Info 797 0 R /ID [ <4EF0D81DD2719819B024D64DF5F98F0C> <4EF0D81DD2719819B024D64DF5F98F0C> ] >>
startxref
-413388
+417003
%%EOF
diff --git a/macros/luatex/latex/piton/piton-french.tex b/macros/luatex/latex/piton/piton-french.tex
index 2794f5acda..24da345474 100644
--- a/macros/luatex/latex/piton/piton-french.tex
+++ b/macros/luatex/latex/piton/piton-french.tex
@@ -15,7 +15,7 @@
end-escape = ! ,
begin-escape-math = \( ,
end-escape-math = \) ,
- detected-commands = highLight
+ detected-commands = { highLight , footnote }
}
@@ -107,21 +107,25 @@ version~\PitonFileVersion\space de \pkg{piton}, à la date du~\PitonFileDate.}}
\maketitle
\begin{abstract}
-L'extension \pkg{piton} propose des outils pour composer des codes informatiques avec coloration syntaxique. Elle
-nécessite l'emploi de la LuaLaTeX car le travail principal est fait en utilisant la bibliothèque Lua LPEG.
+L'extension \pkg{piton} propose des outils pour composer des codes informatiques avec
+coloration syntaxique. Elle nécessite l'emploi de la LuaLaTeX car le travail principal est
+fait en utilisant la bibliothèque Lua LPEG.
\end{abstract}
\section{Présentation}
-L'extension \pkg{piton} utilise la librairie Lua nommée LPEG\footnote{LPEG est une librairie de capture de motifs
- (\emph{pattern-matching} en anglais) pour Lua, écrite en C, fondée sur les PEG (\emph{parsing expression
- grammars}): \url{http://www.inf.puc-rio.br/~roberto/lpeg/}} pour «parser» des listings informatiques avec
-coloriage syntaxique. Comme elle utilise le Lua de LuaLaTeX, elle fonctionne uniquement avec |lualatex|
-(et ne va pas fonctionner avec les autres moteurs de compilation LaTeX, que ce soit |latex|, |pdflatex| ou
-|xelatex|). Elle n'utilise aucun programme extérieur et la compilation ne requiert donc pas |--shell-escape|. La
-compilation est très rapide puisque tout le travail du parseur est fait par la librairie LPEG, écrite en C.
+L'extension \pkg{piton} utilise la librairie Lua nommée LPEG\footnote{LPEG est une
+ librairie de capture de motifs (\emph{pattern-matching} en anglais) pour Lua, écrite en
+ C, fondée sur les PEG (\emph{parsing expression grammars}):
+ \url{http://www.inf.puc-rio.br/~roberto/lpeg/}} pour «parser» des listings informatiques
+avec coloriage syntaxique. Comme elle utilise le Lua de LuaLaTeX, elle fonctionne
+uniquement avec |lualatex| (et ne va pas fonctionner avec les autres moteurs de
+compilation LaTeX, que ce soit |latex|, |pdflatex| ou |xelatex|). Elle n'utilise aucun
+programme extérieur et la compilation ne requiert donc pas |--shell-escape|. La
+compilation est très rapide puisque tout le travail du parseur est fait par la librairie
+LPEG, écrite en C.
\bigskip
Voici un exemple de code Python composé avec l'environnement |{Piton}| proposé par \pkg{piton}.
@@ -149,40 +153,42 @@ def arctan(x,n=10:int):
\end{Piton}
\bigskip
-Les principaux concurrents de l'extension \pkg{piton} sont certainement les extensions bien connues \pkg{listings}
-et \pkg{minted}.
+Les principaux concurrents de l'extension \pkg{piton} sont certainement les extensions
+bien connues \pkg{listings} et \pkg{minted}.
\bigskip
-Le nom de cette extension (\pkg{piton}) a été choisi un peu arbitrairement en référence aux pitons d'alpinisme qui
-servent à gravir les montagnes.
+Le nom de cette extension (\pkg{piton}) a été choisi un peu arbitrairement en référence
+aux pitons d'alpinisme qui servent à gravir les montagnes.
\section{Installation}
-L'extension \pkg{piton} est composée de deux fichiers : |piton.sty| et |piton.lua| (le fichier LaTeX |piton.sty|
-chargé par |\usepackage| va à son tour charger le fichier |piton.lua|). Les deux fichiers doivent être présents
-dans un répertoire où LaTeX pourra les trouver, de préférence dans une arborescence |texmf|. Le mieux reste néanmoins
+L'extension \pkg{piton} est composée de deux fichiers : |piton.sty| et |piton.lua| (le
+fichier LaTeX |piton.sty| chargé par |\usepackage| va à son tour charger le fichier
+|piton.lua|). Les deux fichiers doivent être présents dans un répertoire où LaTeX pourra
+les trouver, de préférence dans une arborescence |texmf|. Le mieux reste néanmoins
d'installer \pkg{piton} avec une distribution TeX comme MiKTeX, TeX~Live ou MacTeX.
\section{Utilisation de l'extension}
-L'extension \pkg{piton} n'est utilisable qu'avec LuaLaTeX : si un autre moteur de compilation (comme |latex|,
-|pdflatex| ou |xelatex|) est utilisé, une erreur fatale sera levée.
+L'extension \pkg{piton} n'est utilisable qu'avec LuaLaTeX : si un autre moteur de
+compilation (comme |latex|, |pdflatex| ou |xelatex|) est utilisé, une erreur fatale sera
+levée.
\subsection{Choix du langage}
Les langages informatiques pris en charge par \pkg{piton} se classent en deux catégories :
\begin{itemize}
-\item les langages reconnus nativement par \pkg{piton} qui sont au nombre de cinq : Python, OCaml, SQL, C (ou
-plutôt \CC) et un langage nommé |minimal|\footnote{Le langage |minimal| peut servir pour formater du pseudo-code
- : cf.~p.~\pageref{minimal}.} ;
+\item les langages reconnus nativement par \pkg{piton} qui sont au nombre de cinq :
+Python, OCaml, SQL, C (ou plutôt \CC) et un langage nommé |minimal|\footnote{Le langage
+ |minimal| peut servir pour formater du pseudo-code : cf.~p.~\pageref{minimal}.} ;
\item les langages définis par l'utilisateur avec la commande |\NewPitonLanguage| décrite
-p.~\pageref{NewPitonLanguage} (les parseurs de ces langages ne pourront jamais être aussi précis que ceux proposés
-nativement par \pkg{piton)}.
+p.~\pageref{NewPitonLanguage} (les parseurs de ces langages ne pourront jamais être aussi
+précis que ceux proposés nativement par \pkg{piton)}.
\end{itemize}
@@ -197,15 +203,16 @@ On peut changer de langage avec la clé |language| de |\PitonOptions| :
|\PitonOptions{language = OCaml}|
\smallskip
-En fait, le nom des langages, pour \pkg{piton}, est toujours \textbf{insensible à la casse}. Dans cet exemple, on
-aurait tout aussi bien pu écrire |Ocaml| ou |ocaml|.
+En fait, le nom des langages, pour \pkg{piton}, est toujours \textbf{insensible à la
+ casse}. Dans cet exemple, on aurait tout aussi bien pu écrire |Ocaml| ou |ocaml|.
\smallskip
-Pour les développeurs, précisons que le nom du langage courant est stocké (en minuscules) dans la variable publique
-L3 nommée |\l_piton_language_str|.
+Pour les développeurs, précisons que le nom du langage courant est stocké (en minuscules)
+dans la variable publique L3 nommée |\l_piton_language_str|.
\smallskip
-Dans la suite de ce document, on parlera de Python mais les fonctionnalités s'appliquent aussi aux autres langages.
+Dans la suite de ce document, on parlera de Python mais les fonctionnalités s'appliquent
+aussi aux autres langages.
@@ -215,21 +222,21 @@ Dans la suite de ce document, on parlera de Python mais les fonctionnalités s'a
L'extension \pkg{piton} se charge simplement avec |\usepackage{piton}|.
\smallskip
-Si, à la fin du prambule, l'extension \pkg{xcolor} n'a pas été chargée (par l'utilisateur ou par une extension
-chargée dans le préambule), \pkg{piton} charge l'extension \pkg{xcolor} avec |\usepackage{xcolor}|, c'est-à-dire
-sans aucune option. L'extension \pkg{piton} ne charge pas d'autre extension. Elle n'utilise pas de programme
-extérieur.
+Si, à la fin du prambule, l'extension \pkg{xcolor} n'a pas été chargée (par l'utilisateur
+ou par une extension chargée dans le préambule), \pkg{piton} charge l'extension
+\pkg{xcolor} avec |\usepackage{xcolor}|, c'est-à-dire sans aucune option. L'extension
+\pkg{piton} ne charge pas d'autre extension. Elle n'utilise pas de programme extérieur.
\subsection{Les commandes et environnements à la disposition de l'utilisateur}
\indexenv{Piton}
-L'extension \pkg{piton} fournit plusieurs outils pour composer du code Python: les commandes |\piton|,
-l'environnement |{Piton}| et la commande |\PitonInputFile|.
+L'extension \pkg{piton} fournit plusieurs outils pour composer du code Python: les
+commandes |\piton|, l'environnement |{Piton}| et la commande |\PitonInputFile|.
\begin{itemize} \setlength{\fboxsep}{1pt}
-\item La commande \colorbox{gray!20}{\ttfamily \textbackslash piton} doit être utilisée pour composer de petits éléments de code à l'intérieur d'un
-paragraphe. Par exemple :
+\item La commande \colorbox{gray!20}{\ttfamily \textbackslash piton} doit être utilisée
+pour composer de petits éléments de code à l'intérieur d'un paragraphe. Par exemple :
{\color{gray}\verb|\piton{def carré(x): return x*x}|}\qquad
\piton{def carré(x): return x*x}
@@ -237,26 +244,28 @@ paragraphe. Par exemple :
La syntaxe et les particularités de la commande sont détaillées ci-après.
-\item L'environnement \colorbox{gray!20}{\ttfamily \{Piton\}} doit être utilisé pour composer des codes de
-plusieurs lignes. Comme cet environnement prend son argument selon un mode verbatim, il ne peut pas être utilisé
-dans l'argument d'une commande LaTeX. Pour les besoins de personnalisation, il est possible de définir de nouveaux
-environnements similaires à |{Piton}| en utilisant la commande \DefinitionCommand{NewPitonEnvironment} : cf. partie
-\ref{NewPitonEnvironment} p.~\pageref{NewPitonEnvironment}.
+\item L'environnement \colorbox{gray!20}{\ttfamily \{Piton\}} doit être utilisé pour
+composer des codes de plusieurs lignes. Comme cet environnement prend son argument selon
+un mode verbatim, il ne peut pas être utilisé dans l'argument d'une commande LaTeX. Pour
+les besoins de personnalisation, il est possible de définir de nouveaux environnements
+similaires à |{Piton}| en utilisant la commande \DefinitionCommand{NewPitonEnvironment} :
+cf. partie \ref{NewPitonEnvironment} p.~\pageref{NewPitonEnvironment}.
-\item La commande \colorbox{gray!20}{\ttfamily \textbackslash PitonInputFile} doit être utilisée pour insérer et
-composer un fichier externe.
+\item La commande \colorbox{gray!20}{\ttfamily \textbackslash PitonInputFile} doit être
+utilisée pour insérer et composer un fichier externe.
Il est possible de n'insérer qu'une partie de ce fichier : cf. partie~\ref{part-of-a-file},
p.~\pageref{part-of-a-file}.
-La clé \Definition{path} de la commande |\PitonOptions| permet de spécifier une \emph{liste} de chemins où sera
-recherché le fichier à inclure (dans cette liste, les chemins sont séparés par des virgules).
+La clé \Definition{path} de la commande |\PitonOptions| permet de spécifier une
+\emph{liste} de chemins où sera recherché le fichier à inclure (dans cette liste, les
+chemins sont séparés par des virgules).
-L'extension \pkg{piton} propose aussi des commandes \colorbox{gray!20}{\ttfamily\textbackslash PitonInputFileT},
-\colorbox{gray!20}{\ttfamily \textbackslash PitonInputFileF} et
-\colorbox{gray!20}{\ttfamily \textbackslash PitonInputFileTF} avec des arguments correspondant aux lettres |T| et
-|F|, arguments qui seront executés dans le
-cas où le fichier a été trouvé (lettre |T|) ou pas (lettre |F|).
+L'extension \pkg{piton} propose aussi des commandes
+\colorbox{gray!20}{\ttfamily\textbackslash PitonInputFileT}, \colorbox{gray!20}{\ttfamily
+ \textbackslash PitonInputFileF} et \colorbox{gray!20}{\ttfamily \textbackslash
+ PitonInputFileTF} avec des arguments correspondant aux lettres |T| et |F|, arguments qui
+seront executés dans le cas où le fichier a été trouvé (lettre |T|) ou pas (lettre |F|).
\end{itemize}
@@ -265,19 +274,23 @@ cas où le fichier a été trouvé (lettre |T|) ou pas (lettre |F|).
\indexcommand{piton}
-La commande |\piton| possède en fait une syntaxe double. Elle est peut être utilisée comme une commande standard de
-LaTeX prenant son argument entre accolades (|\piton{...}|), ou bien selon la syntaxe de la commande |\verb| où l'argument est
-délimité entre deux caractères identiques (par ex. : \verb!\piton|...|!). On détaille maintenant ces deux syntaxes.
+La commande |\piton| possède en fait une syntaxe double. Elle est peut être utilisée comme
+une commande standard de LaTeX prenant son argument entre accolades (|\piton{...}|), ou
+bien selon la syntaxe de la commande
+|\verb| où l'argument est délimité entre deux caractères
+identiques (par ex. : \verb!\piton|...|!).
+On détaille maintenant ces deux syntaxes.
\bigskip
\begin{itemize}
\item {\color{blue} \textsf{Syntaxe} \verb|\piton{...}|}\par\nobreak
-Quand son argument est donné entre accolades, la commande |\piton| ne prend pas son argument en mode verbatim. Les
-points suivants doivent être remarqués :
+Quand son argument est donné entre accolades, la commande |\piton| ne prend pas son
+argument en mode verbatim. Les points suivants doivent être remarqués :
\begin{itemize}
-\item plusieurs espaces successives sont remplacées par une unique espace, ainsi que les retours à la ligne
+\item plusieurs espaces successives sont remplacées par une unique espace, ainsi que les
+retours à la ligne
{\color{cyan} mais la commande |\|␣ est fournie pour forcer l'insertion d'une espace} ;
@@ -287,7 +300,8 @@ points suivants doivent être remarqués :
\item les accolades doivent apparaître par paires correctement imbriquées,
-{\color{cyan} mais les commandes |\{| et |\}| sont aussi fournies pour insérer des accolades individuelles} ;
+{\color{cyan} mais les commandes |\{| et |\}| sont aussi fournies pour insérer des
+ accolades individuelles} ;
\item les commandes LaTeX\footnote{Cela s'applique aux commandes commençant par une contre-oblique |\| mais
également aux caractères actifs, c'est-à-dire ceux de catcode~13.} sont complètement développées sans être
@@ -316,16 +330,16 @@ et |@|) doivent être insérés sans contre-oblique.
\end{tabular}
\bigskip
-La commande |\piton| avec son argument entre accolades peut être utilisée dans les arguments des autres commandes LaTeX.\footnote{La commande
- |\piton| peut par exemple être
+La commande |\piton| avec son argument entre accolades peut être utilisée dans les
+arguments des autres commandes LaTeX.\footnote{La commande |\piton| peut par exemple être
utilisée dans une note de bas de page. Exemple : \piton{s = 'Une chaîne'}.}
\bigskip
\item {\color{blue} \textsf{Syntaxe} \verb!\piton|...|!}\par\nobreak
-Quand la commande |\piton| prend son argument entre deux caractères identiques, cet argument est pris \emph{en mode
- verbatim}. De ce fait, avec cette syntaxe, la commande |\piton| ne peut \emph{pas} être utilisée dans l'argument d'une
-autre fonction.
+Quand la commande |\piton| prend son argument entre deux caractères identiques, cet
+argument est pris \emph{en mode verbatim}. De ce fait, avec cette syntaxe, la commande
+|\piton| ne peut \emph{pas} être utilisée dans l'argument d'une autre fonction.
\medskip
\begin{tabular}{>{\color{gray}}w{l}{75mm}@{\hspace*{1cm}}l}
@@ -347,85 +361,108 @@ autre fonction.
\section{Personnalisation}
-Concernant la fonte de caractères utilisée dans les listings produits par l'extension \pkg{piton}, il s'agit
-simplement de la fonte mono-chasse courante (\pkg{piton} utilise simplement en interne la commande LaTeX standard
-|\ttfamily|). Pour la changer, le mieux est d'utiliser |\setmonofont| de \pkg{fontspec}.
+Concernant la fonte de caractères utilisée dans les listings produits par l'extension
+\pkg{piton}, il s'agit simplement de la fonte mono-chasse courante (\pkg{piton} utilise
+simplement en interne la commande LaTeX standard |\ttfamily|). Pour la changer, le mieux
+est d'utiliser |\setmonofont| de \pkg{fontspec}.
\subsection{Les clés de la commande \textbackslash PitonOptions}
\indexcommand{PitonOptions}
-La commande |\PitonOptions| prend en argument une liste de couples \textsl{clé=valeur}. La portée des réglages
-effectués par cette commande est le groupe TeX courant.\footnote{On rappelle que tout environnement LaTeX est, en
- particulier, un groupe.}
+La commande |\PitonOptions| prend en argument une liste de couples \textsl{clé=valeur}. La
+portée des réglages effectués par cette commande est le groupe TeX courant.\footnote{On
+ rappelle que tout environnement LaTeX est, en particulier, un groupe.}
-Ces clés peuvent aussi être appliquées à un environnement |{Piton}| individuel (entre crochets).
+Ces clés peuvent aussi être appliquées à un environnement |{Piton}| individuel (entre
+crochets).
\begin{itemize}
-\item La clé \Definition{language} spécifie le langage informatique considéré (la casse n'est pas prise en compte).
-Cinq valeurs sont possibles : |Python|, |OCaml|, |C|, |SQL| et |minimal|. La valeur initiale est |Python|.
+\item La clé \Definition{language} spécifie le langage informatique considéré (la casse
+n'est pas prise en compte). On peut choisir l'un des cinq langages prédéfinis (|Python|,
+|OCaml|, |C|, |SQL| et |minimal|) ou bien le nom d'un langage défini par l'utilisateur
+avec |\NewPitonLanguage| (voir partie~\ref{NewPitonLanguage}, p.~\pageref{NewPitonLanguage}).
+
+La valeur initiale est |Python|.
\item \index{path} La clé \Definition{path} indique un chemin où seront cherchés les fichiers inclus par
|\PitonInputFile|.
-\item \index{gobble}\label{gobble} La clé \Definition{gobble} prend comme valeur un entier positif $n$ : les $n$
-premiers caractères de chaque ligne sont alors retirés (avant formatage du code) dans les environnements |{Piton}|.
-Ces $n$ caractères ne sont pas nécessairement des espaces.
-
-\item \index{auto-gobble}\index{gobble!auto-gobble} Quand la clé \Definition{auto-gobble} est activée, l'extension \pkg{piton} détermine la valeur minimale $n$
-du nombre d'espaces successifs débutant chaque ligne (non vide) de l'environnement |{Piton}| et applique |gobble|
-avec cette valeur de~$n$.
-
-\item \index{env-gobble}\index{gobble!env-gobble} Quand la clé \Definition{env-gobble} est activée, \pkg{piton}
-analyse la dernière ligne de l'environnement, c'est-à-dire celle qui contient le |\end{Piton}| et détermine si
-cette ligne ne comporte que des espaces suivis par |\end{Piton}|. Si c'est le cas, \pkg{piton} calcule le nombre
-$n$ de ces espaces et applique |gobble| avec cette valeur de~$n$. Le nom de cette clé vient de \emph{environment
- gobble}: le nombre d'espaces à retirer ne dépend que de la position des délimiteurs |\begin{Piton}| et
-|\end{Piton}| de l'environnement.
-
-\item \index{write} La clé \Definition{write} prend en argument un nom de fichier (avec l'extension) et écrit le
-contenu\footnote{En fait, il ne s'agit pas exactement du contenu de l'environnement mais de la valeur renvoyée par
- l'instruction Lua
- |piton.get_last_code()| qui en est une version sans les surcharges de formatage LaTeX (voir la partie \ref{API}, p.~\pageref{API}).} de l'environnement courant dans ce fichier. À la première utilisation du fichier par \pkg{piton}, celui-ci
-est effacé.
-
-\item \index{path-write} La clé \Definition{path-write} indique un chemin où seront écrits les fichiers écrits par
-l'emploi de la clé |write| précédente.
-
-\item \index{line-numbers} La clé \Definition{line-numbers} active la numérotation des lignes (en débordement à
-gauche) dans les environnements |{Piton}| et dans les listings produits par la commande |\PitonInputFile|.
+\item \index{gobble}\label{gobble} La clé \Definition{gobble} prend comme valeur un entier
+positif $n$ : les $n$ premiers caractères de chaque ligne sont alors retirés (avant
+formatage du code) dans les environnements |{Piton}|. Ces $n$ caractères ne sont pas
+nécessairement des espaces.
+
+\item \index{auto-gobble}\index{gobble!auto-gobble} Quand la clé \Definition{auto-gobble}
+est activée, l'extension \pkg{piton} détermine la valeur minimale $n$ du nombre d'espaces
+successifs débutant chaque ligne (non vide) de l'environnement |{Piton}| et applique
+|gobble| avec cette valeur de~$n$.
+
+\item \index{env-gobble}\index{gobble!env-gobble} Quand la clé \Definition{env-gobble} est
+activée, \pkg{piton} analyse la dernière ligne de l'environnement, c'est-à-dire celle qui
+contient le |\end{Piton}| et détermine si cette ligne ne comporte que des espaces suivis
+par |\end{Piton}|. Si c'est le cas, \pkg{piton} calcule le nombre $n$ de ces espaces et
+applique |gobble| avec cette valeur de~$n$. Le nom de cette clé vient de \emph{environment
+ gobble}: le nombre d'espaces à retirer ne dépend que de la position des délimiteurs
+|\begin{Piton}| et |\end{Piton}| de l'environnement.
+
+\item \index{write} La clé \Definition{write} prend en argument un nom de fichier (avec
+l'extension) et écrit le contenu\footnote{En fait, il ne s'agit pas exactement du contenu
+ de l'environnement mais de la valeur renvoyée par l'instruction Lua
+ |piton.get_last_code()| qui en est une version sans les surcharges de formatage LaTeX
+ (voir la partie \ref{API}, p.~\pageref{API}).} de l'environnement courant dans ce
+fichier. À la première utilisation du fichier par \pkg{piton}, celui-ci est effacé.
+
+\item \index{path-write} La clé \Definition{path-write} indique un chemin où seront écrits
+les fichiers écrits par l'emploi de la clé |write| précédente.
+
+\item \index{line-numbers} La clé \Definition{line-numbers} active la numérotation des
+lignes (en débordement à gauche) dans les environnements |{Piton}| et dans les listings
+produits par la commande |\PitonInputFile|.
Cette clé propose en fait plusieurs sous-clés.
\begin{itemize}
-\item La clé \Definition{line-numbers/skip-empty-lines} demande que les lignes vides (qui ne contiennent que des
-espaces) soient considérées comme non existantes en ce qui concerne la numérotation des lignes (si la clé
-|/absolute|, décrite plus bas, est active, la clé |/skip-empty-lines| n'a pas d'effet dans |\PitonInputFile|). La
-valeur initiale de cette clé est |true| (et non |false|).\footnote{Avec le langage Python, les lignes vides des \emph{docstrings} sont
- prises en compte.}
-
-\item La clé \Definition{line-numbers/label-empty-lines} demande que les labels (c'est-à-dire les numéros) des
-lignes vides soient affichés. Si la clé |/skip-empty-lines| est active, la clé |/label-empty-lines| est sans effet.
-La valeur initiale de cette clé est |true|.\footnote{Quand la clé |split-on-empty-lines| est activée, les labels des
+\item La clé \Definition{line-numbers/skip-empty-lines} demande que les lignes vides (qui
+ne contiennent que des espaces) soient considérées comme non existantes en ce qui concerne
+la numérotation des lignes (si la clé |/absolute|, décrite plus bas, est active, la clé
+|/skip-empty-lines| n'a pas d'effet dans |\PitonInputFile|). La valeur initiale de cette
+clé est |true| (et non |false|).\footnote{Avec le langage Python, les lignes vides des
+ \emph{docstrings} sont prises en compte.}
+
+\item La clé \Definition{line-numbers/label-empty-lines} demande que les labels
+(c'est-à-dire les numéros) des lignes vides soient affichés. Si la clé |/skip-empty-lines|
+est active, la clé |/label-empty-lines| est sans effet. La valeur initiale de cette clé
+est |true|.\footnote{Quand la clé |split-on-empty-lines| est activée, les labels des
lignes vides ne sont jamais imprimés.}
-\item La clé \Definition{line-numbers/absolute} demande, pour les listings générés par |\PitonInputFile|, que les
-numéros de lignes affichés soient absolus (c'est-à-dire ceux du fichier d'origine). Elle n'a d'intérêt que si on
-n'insère qu'une partie du fichier (cf. partie~\ref{part-of-a-file}, p.~\pageref{part-of-a-file}). La clé
-|/absolute| est sans effet dans les environnements |{Piton}|.
+\item La clé \Definition{line-numbers/absolute} demande, pour les listings générés par
+|\PitonInputFile|, que les numéros de lignes affichés soient absolus (c'est-à-dire ceux du
+fichier d'origine). Elle n'a d'intérêt que si on n'insère qu'une partie du fichier (cf.
+partie~\ref{part-of-a-file}, p.~\pageref{part-of-a-file}). La clé |/absolute| est sans
+effet dans les environnements |{Piton}|.
-\item La clé \Definition{line-numbers/resume} reprend la numérotation là où elle avait été laissée au dernier
-listing. En fait, la clé |line-numbers/resume| a un alias, qui est |resume| tout court (car on peut être amené à
-l'utiliser souvent).
+\item La clé \Definition{line-numbers/resume} reprend la numérotation là où elle avait été
+laissée au dernier listing. En fait, la clé |line-numbers/resume| a un alias, qui est
+|resume| tout court (car on peut être amené à l'utiliser souvent).
-\item La clé \Definition{line-numbers/start} impose que la numérotation commence à ce numéro.
+\item La clé \Definition{line-numbers/start} impose que la numérotation commence à ce
+numéro.
-\item La clé \Definition{line-numbers/sep} est la distance horizontale entre les numéros de lignes (insérés par
-|line-numbers|) et les lignes du code informatique. La valeur initiale est 0.7~em.
+\item La clé \Definition{line-numbers/sep} est la distance horizontale entre les numéros
+de lignes (insérés par |line-numbers|) et les lignes du code informatique. La valeur
+initiale est 0.7~em.
+
+\item \colorbox{yellow!50}{\bfseries Nouveau 3.1}\enskip
+La clé \Definition{line-numbers/format} est une liste de tokens qui est insérée avant le
+numéro de ligne pour le formater. Il est possible de mettre \emph{en dernière position} de
+cette liste une commande LaTeX à un argument comme |\fbox|.
+
+La valeur initiale est |\footnotesize \color{gray}|.
\end{itemize}
-Pour la commodité, un dispositif de factorisation du préfixe |line-numbers| est disponible, c'est-à-dire que l'on
-peut écrire :
+Pour la commodité, un dispositif de factorisation du préfixe |line-numbers| est
+disponible, c'est-à-dire que l'on peut écrire :
\begin{Verbatim}
\PitonOptions
@@ -434,53 +471,71 @@ peut écrire :
{
skip-empty-lines = false ,
label-empty-lines = false ,
- sep = 1 em
+ sep = 1 em ,
+ line-format = \footnotesize \color{blue}
}
}
\end{Verbatim}
-\item \index{left-margin} La clé \Definition{left-margin} fixe une marge sur la gauche. Cette clé peut être utile, en particulier, en
-conjonction avec la clé |line-numbers| si on ne souhaite pas que les numéros de ligne soient dans une position en
-débordement sur la gauche.
+\item \index{left-margin} La clé \Definition{left-margin} fixe une marge sur la gauche.
+Cette clé peut être utile, en particulier, en conjonction avec la clé |line-numbers| si on
+ne souhaite pas que les numéros de ligne soient dans une position en débordement sur la
+gauche.
-Il est possible de donner à la clé |left-margin| la valeur spéciale~|auto|. Avec cette valeur, une marge est
-insérée automatiquement pour les numéros de ligne quand la clé |line-numbers| est utilisée. Voir un exemple à la
-partie \ref{example-numbering} p.~\pageref{example-numbering}.
+Il est possible de donner à la clé |left-margin| la valeur spéciale~|auto|. Avec cette
+valeur, une marge est insérée automatiquement pour les numéros de ligne quand la clé
+|line-numbers| est utilisée. Voir un exemple à la partie \ref{example-numbering}
+p.~\pageref{example-numbering}.
-\item \index{background-color} La clé \Definition{background-color} fixe la couleur de fond des environnements |{Piton}| et des listings
-produits par |\PitonInputFile| (ce fond a une largeur que l'on peut fixer avec la clé |width| décrite ci-dessous).
-La clé |background-color| accepte une couleur définie «à la volée», c'est-à-dire que l'on peut écrire par exemple
-|background-color = [cmyk]{0.1,0.05,0,0}|
+\item \index{background-color} La clé \Definition{background-color} fixe la couleur de
+fond des environnements |{Piton}| et des listings produits par |\PitonInputFile| (ce fond
+a une largeur que l'on peut fixer avec la clé |width| décrite ci-dessous). La clé
+|background-color| accepte une couleur définie «à la volée», c'est-à-dire que l'on peut
+écrire par exemple |background-color = [cmyk]{0.1,0.05,0,0}|
\smallskip
-La clé |background-color| accepte aussi en argument une \emph{liste} de couleurs. Les lignes sont alors coloriées
-de manière cyclique avec ces couleurs.
+La clé |background-color| accepte aussi en argument une \emph{liste} de couleurs. Les
+lignes sont alors coloriées de manière cyclique avec ces couleurs.
\emph{Exemple} : |\PitonOptions{background-color = {gray!5,white}}|
-\item \index{prompt-background-color} Avec la clé \Definition{prompt-background-color}, \pkg{piton} ajoute un fond coloré aux lignes débutant par
-le prompt «|>>>|» (et sa continuation «|...|») caractéristique des consoles Python avec boucle \textsc{repl}
-(\emph{read-eval-print loop}). Pour un exemple d'utilisation de cette clé, voir la partie \ref{pythonrepl}
-p.~\pageref{pythonrepl}.
-
-\item \index{width} La clé \Definition{width} fixe la largeur du listing produit. Cette largeur s'applique aux fonds colorés
-spécifiés par les clés |background-color| et |prompt-background-color| et également quand une coupure automatique
-des lignes est demandée par |break-lines| (cf.~\ref{line-breaks}, p.~\pageref{line-breaks}).
-
-Cette clé peut prendre comme valeur une longueur explicite mais aussi la valeur spéciale~|min|. Avec cette valeur,
-la largeur sera calculée à partir de la largeur maximale des lignes de code. Attention : l'usage de cette valeur
-spéciale~|min| requiert deux compilations LuaLaTeX\footnote{La largeur maximale est calculée lors de la première
-compilation, écrite sur le fichier~|aux|, puis réutilisée lors de la compilation suivante. Certains outils comme
-|latexmk| (utilisé par Overleaf) effectuent automatiquement un nombre suffisant de compilations.}.
-
-Pour un exemple d'utilisation de |width=min|, voir la partie~\ref{example-comments} sur les exemples, p.~\pageref{example-comments}.
-
-\item \index{show-spaces-in-strings} En activant la clé \Definition{show-spaces-in-strings}, les espaces dans les
-chaînes de caractères\footnote{Pour le language Python, cela ne s'applique que pour les chaînes courtes, c'est-à-dire
-celles délimitées par~\verb|'| ou~\verb|"|. En OCaml, cela ne s'applique pas pour les \emph{quoted strings}.} sont
-matérialisés par le caractère ␣ (U+2423 : \textsc{open box}). Bien sûr, le caractère U+2423 doit être présent dans la fonte mono-chasse utilisée.\footnote{L'extension \pkg{piton} utilise
- simplement la fonte mono-chasse courante. Pour la changer, le mieux est d'utiliser |\setmonofont| de
+\smallskip
+Si la clé |split-on-empty-lines| est utilisée (voir la partie «Coupure de pages»,
+p.~\pageref{coupure-de-pages}), les lignes de séparation entre morceaux de code générés
+par cette clé n'ont pas de fond coloré (au moins avec la valeur initiale du paramètre
+|split-separation|).
+
+\item \index{prompt-background-color} Avec la clé \Definition{prompt-background-color},
+\pkg{piton} ajoute un fond coloré aux lignes débutant par le prompt «|>>>|» (et sa
+continuation «|...|») caractéristique des consoles Python avec boucle \textsc{repl}
+(\emph{read-eval-print loop}). Pour un exemple d'utilisation de cette clé, voir la partie
+\ref{pythonrepl} p.~\pageref{pythonrepl}.
+
+\item \index{width} La clé \Definition{width} fixe la largeur du listing produit. Cette
+largeur s'applique aux fonds colorés spécifiés par les clés |background-color| et
+|prompt-background-color| et également quand une coupure automatique des lignes est
+demandée par |break-lines| (cf.~\ref{line-breaks}, p.~\pageref{line-breaks}).
+
+Cette clé peut prendre comme valeur une longueur explicite mais aussi la valeur
+spéciale~|min|. Avec cette valeur, la largeur sera calculée à partir de la largeur
+maximale des lignes de code. Attention : l'usage de cette valeur spéciale~|min| requiert
+deux compilations LuaLaTeX\footnote{La largeur maximale est calculée lors de la première
+ compilation, écrite sur le fichier~|aux|, puis réutilisée lors de la compilation
+ suivante. Certains outils comme |latexmk| (utilisé par Overleaf) effectuent
+ automatiquement un nombre suffisant de compilations.}.
+
+Pour un exemple d'utilisation de |width=min|, voir la partie~\ref{example-comments} sur
+les exemples, p.~\pageref{example-comments}.
+
+\item \index{show-spaces-in-strings} En activant la clé
+\Definition{show-spaces-in-strings}, les espaces dans les chaînes de
+caractères\footnote{Pour le language Python, cela ne s'applique que pour les chaînes
+ courtes, c'est-à-dire celles délimitées par~\verb|'| ou~\verb|"|. En OCaml, cela ne
+ s'applique pas pour les \emph{quoted strings}.} sont matérialisés par le caractère ␣
+(U+2423 : \textsc{open box}). Bien sûr, le caractère U+2423 doit être présent dans la
+fonte mono-chasse utilisée.\footnote{L'extension \pkg{piton} utilise simplement la fonte
+ mono-chasse courante. Pour la changer, le mieux est d'utiliser |\setmonofont| de
\pkg{fontspec}.}\par\nobreak
%
\begingroup
@@ -488,10 +543,12 @@ matérialisés par le caractère ␣ (U+2423 : \textsc{open box}). Bien sûr, le
Exemple : \piton{my_string = 'Très bonne réponse'}
\endgroup
-\item \index{show-spaces} Avec la clé \Definition{show-spaces}, tous les espaces sont matérialisés (et aucune
-coupure de ligne ne peut plus intervenir sur ces espaces matérialisés, même si la clé |break-lines|\footnote{cf.
- \ref{line-breaks} p.~\pageref{line-breaks}.} est active). Il faut néanmoins remarquer que les espaces en fin de
-ligne sont tous supprimés par \pkg{piton}. Les tabulations de début de ligne sont représentées par des flèches.
+\item \index{show-spaces} Avec la clé \Definition{show-spaces}, tous les espaces sont
+matérialisés (et aucune coupure de ligne ne peut plus intervenir sur ces espaces
+matérialisés, même si la clé |break-lines|\footnote{cf. \ref{line-breaks}
+ p.~\pageref{line-breaks}.} est active). Il faut néanmoins remarquer que les espaces en
+fin de ligne sont tous supprimés par \pkg{piton}. Les tabulations de début de ligne sont
+représentées par des flèches.
\end{itemize}
\bigskip
@@ -544,8 +601,8 @@ ligne sont tous supprimés par \pkg{piton}. Les tabulations de début de ligne s
\bigskip
-La commande |\PitonOptions| propose d'autres clés qui seront décrites plus loin (voir en particulier la coupure des
-pages et des lignes p.~\pageref{breakable}).
+La commande |\PitonOptions| propose d'autres clés qui seront décrites plus loin (voir en
+particulier la coupure des pages et des lignes p.~\pageref{breakable}).
\subsection{Les styles}
@@ -555,32 +612,35 @@ pages et des lignes p.~\pageref{breakable}).
\subsubsection{Notion de style}
-L'extension \pkg{piton} fournit la commande |\SetPitonStyle| pour personnaliser les différents styles utilisés pour
-formater les éléments syntaxiques des listings Python. Ces personnalisations ont une portée qui correspond au
-groupe TeX courant.\footnote{On rappelle que tout environnement LaTeX est, en particulier, un groupe.}
+L'extension \pkg{piton} fournit la commande |\SetPitonStyle| pour personnaliser les
+différents styles utilisés pour formater les éléments syntaxiques des listings Python. Ces
+personnalisations ont une portée qui correspond au groupe TeX courant.\footnote{On
+ rappelle que tout environnement LaTeX est, en particulier, un groupe.}
\bigskip
-\indexcommand{SetPitonStyle}
-La commande |\SetPitonStyle| prend en argument une liste de couples \textsl{clé=valeur}. Les clés sont les noms des
-styles et les valeurs sont les instructions LaTeX de formatage correspondantes.
+\indexcommand{SetPitonStyle} La commande |\SetPitonStyle| prend en argument une liste de
+couples \textsl{clé=valeur}. Les clés sont les noms des styles et les valeurs sont les
+instructions LaTeX de formatage correspondantes.
\bigskip
-Ces instructions LaTeX doivent être des instructions de formatage du type de |\bfseries|, |\slshape|,
-|\color{...}|, etc. (les commandes de ce type sont parfois qualifiées de \emph{semi-globales}). Il est aussi
-possible de mettre, \emph{à la fin de la liste d'instructions}, une commande LaTeX prenant exactement un argument.
+Ces instructions LaTeX doivent être des instructions de formatage du type de |\bfseries|,
+|\slshape|, |\color{...}|, etc. (les commandes de ce type sont parfois qualifiées de
+\emph{semi-globales}). Il est aussi possible de mettre, \emph{à la fin de la liste
+ d'instructions}, une commande LaTeX prenant exactement un argument.
\bigskip
-Voici un exemple qui change le style utilisé pour le nom d'une fonction Python, au moment de sa définition
-(c'est-à-dire après le mot-clé |def|). Elle utilise la commande |\highLight| de \pkg{lua-ul} (qui nécessite
-lui-même le chargement de \pkg{luacolor}).
+Voici un exemple qui change le style utilisé pour le nom d'une fonction Python, au moment
+de sa définition (c'est-à-dire après le mot-clé |def|). Elle utilise la commande
+|\highLight| de \pkg{lua-ul} (qui nécessite lui-même le chargement de \pkg{luacolor}).
\begin{Verbatim}
\SetPitonStyle
{ Name.Function = \bfseries \hightLight[red!50] }
\end{Verbatim}
-Ici, |\highLight[red!50]| doit être considéré comme le nom d'une fonction LaTeX qui prend exactement un argument,
-puisque, habituellement, elle est utilisée avec |\highLight[red!50]{|\texttt{\slshape text}|}|.
+Ici, |\highLight[red!50]| doit être considéré comme le nom d'une fonction LaTeX qui prend
+exactement un argument, puisque, habituellement, elle est utilisée avec
+|\highLight[red!50]{|\texttt{\slshape text}|}|.
\medskip
\begingroup
@@ -591,57 +651,62 @@ Avec ce réglage, on obtient : \piton{def cube(x) : return x * x * x }
\bigskip
-L'usage des différents styles suivant le langage informatique considéré est décrit dans la partie \ref{Semantic}, à
-partir de la page \pageref{Semantic}.
+L'usage des différents styles suivant le langage informatique considéré est décrit dans la
+partie \ref{Semantic}, à partir de la page \pageref{Semantic}.
\bigskip
-\indexcommand{PitonStyle}
-La commande \DefinitionCommand{PitonStyle} prend en argument le nom d'un style et permet de récupérer la valeur (en
-tant que liste d'instructions LaTeX) de ce style.
+\indexcommand{PitonStyle} La commande \DefinitionCommand{PitonStyle} prend en argument le
+nom d'un style et permet de récupérer la valeur (en tant que liste d'instructions LaTeX)
+de ce style.
\smallskip
-Par exemple, on peut écrire, dans le texte courant, |{\PitonStyle{Keyword}{function}}| et on aura
-le mot {\PitonStyle{Keyword}{function}} formaté comme un mot-clé.
+Par exemple, on peut écrire, dans le texte courant, |{\PitonStyle{Keyword}{function}}| et
+on aura le mot {\PitonStyle{Keyword}{function}} formaté comme un mot-clé.
\smallskip
-La syntaxe |{\PitonStyle{|\textsl{\texttt{style}}|}{...}}| est nécessaire pour pouvoir tenir compte à la fois des commandes
-semi-globales et des commandes à argument présentes dans la valeur courante du style \texttt{\textsl{style}}.
+La syntaxe |{\PitonStyle{|\textsl{\texttt{style}}|}{...}}| est nécessaire pour pouvoir
+tenir compte à la fois des commandes semi-globales et des commandes à argument présentes
+dans la valeur courante du style \texttt{\textsl{style}}.
\subsubsection{Styles locaux et globaux}
-Un style peut être défini de manière globale avec la commande |\SetPitonStyle|. Cela veut dire qu'il s'appliquera
-par défaut à tous les langages informatiques qui utilisent ce style.
+Un style peut être défini de manière globale avec la commande |\SetPitonStyle|. Cela veut
+dire qu'il s'appliquera par défaut à tous les langages informatiques qui utilisent ce
+style.
\medskip
Par exemple, avec la commande
\begin{Verbatim}
\SetPitonStyle{Comment = \color{gray}}
\end{Verbatim}
-tous les commentaires (que ce soit en Python, en C, en OCaml, etc. ou dans un langage défini avec
-|\NewPitonLanguage|) seront composés en gris.
+tous les commentaires (que ce soit en Python, en C, en OCaml, etc. ou dans un langage
+défini avec |\NewPitonLanguage|) seront composés en gris.
\bigskip
-Mais il est aussi possible de définir un style localement pour un certain langage informatique en passant le nom du
-langage en argument optionnel (entre crochets) de la commande |\SetPitonStyle|.\footnote{On rappelle que, dans
- \pkg{piton}, les noms des langages informatiques ne sont pas sensibles à la casse.}
+Mais il est aussi possible de définir un style localement pour un certain langage
+informatique en passant le nom du langage en argument optionnel (entre crochets) de la
+commande |\SetPitonStyle|.\footnote{On rappelle que, dans \pkg{piton}, les noms des
+ langages informatiques ne sont pas sensibles à la casse.}
\medskip
Par exemple, avec la commande
\begin{Verbatim}
\SetPitonStyle~emphase#[SQL]@{Keywords = \color[HTML]{006699} \bfseries \MakeUppercase}
\end{Verbatim}
-les mots-clés dans les listings SQL seront composés en lettres capitales, même s'ils s'apparaissent en minuscules
-dans le fichier source LaTeX (on rappelle que, en SQL, les mot-clés ne sont pas sensibles à la casse et donc forcer
-leur mise en capitales peut être envisagé).
+les mots-clés dans les listings SQL seront composés en lettres capitales, même s'ils
+s'apparaissent en minuscules dans le fichier source LaTeX (on rappelle que, en SQL, les
+mot-clés ne sont pas sensibles à la casse et donc forcer leur mise en capitales peut être
+envisagé).
\medskip
-Comme on s'en doute, si un langage informatique utilise un certain style et que ce style n'est pas défini
-localement pour ce langage, c'est la version globale qui est utilisée. Cette notion de globalité n'a pas de
-rapport avec la notion de liaison locale de TeX (notion de groupe TeX).\footnote{Du point de vue des groupes de
- TeX, les liaisons faites par |\SetPitonStyle| sont toujours locales.}
+Comme on s'en doute, si un langage informatique utilise un certain style et que ce style
+n'est pas défini localement pour ce langage, c'est la version globale qui est utilisée.
+Cette notion de globalité n'a pas de rapport avec la notion de liaison locale de TeX
+(notion de groupe TeX).\footnote{Du point de vue des groupes de TeX, les liaisons faites
+ par |\SetPitonStyle| sont toujours locales.}
\medskip
Les styles fournis par défaut par \pkg{piton} sont tous définis globalement.
@@ -652,16 +717,19 @@ Les styles fournis par défaut par \pkg{piton} sont tous définis globalement.
\index{UserFunction (style)}
\bigskip
-Il existe un style spécial nommé |UserFunction|. Ce style s'applique aux noms des fonctions précédemment définies
-par l'utilisateur (par exemple, avec le langage Python, ces noms de fonctions sont ceux qui apparaissent après le
-mot-clé \piton{def} dans un listing Python précédent). La valeur initiale de ce style est nulle (=vide), ce qui
-fait que ces noms de fonctions sont formatés comme du texte courant (en noir). Néanmoins, il est possible de
-changer la valeur de ce style, comme tous les autres styles, avec la commande |\SetPitonStyle|.
+Il existe un style spécial nommé |UserFunction|. Ce style s'applique aux noms des
+fonctions précédemment définies par l'utilisateur (par exemple, avec le langage Python,
+ces noms de fonctions sont ceux qui apparaissent après le mot-clé \piton{def} dans un
+listing Python précédent). La valeur initiale de ce style est nulle (=vide), ce qui fait
+que ces noms de fonctions sont formatés comme du texte courant (en noir). Néanmoins, il
+est possible de changer la valeur de ce style, comme tous les autres styles, avec la
+commande |\SetPitonStyle|.
\medskip
-Dans l'exemple suivant, on règle les styles |Name.Function| et |UserFunction| de manière à ce que, quand on clique
-sur le nom d'une fonction Python précédemment définie par l'utilisateur, on soit renvoyé vers la définition
-(informatique) de cette fonction. Cette programmation utilise les fonctions |\hypertarget| et |\hyperlink| de \pkg{hyperref}.
+Dans l'exemple suivant, on règle les styles |Name.Function| et |UserFunction| de manière à
+ce que, quand on clique sur le nom d'une fonction Python précédemment définie par
+l'utilisateur, on soit renvoyé vers la définition (informatique) de cette fonction. Cette
+programmation utilise les fonctions |\hypertarget| et |\hyperlink| de \pkg{hyperref}.
\begingroup
@@ -698,7 +766,8 @@ def passe(v):
\end{Piton}
\medskip
-(Certains lecteurs de \textsc{pdf} affichent un cadre autour du mot |transpose| cliquable et d'autres non.)
+(Certains lecteurs de \textsc{pdf} affichent un cadre autour du mot |transpose| cliquable
+et d'autres non.)
\endgroup
@@ -707,12 +776,14 @@ def passe(v):
\bigskip
\begin{small}
-Bien sûr, la liste des noms de fonctions Python précédemment définies est gardée en mémoire de LuaLaTeX (de manière
-globale, c'est-à-dire indépendamment des groupes TeX). L'extension \pkg{piton} fournit une commande qui permet de
-vider cette liste : c'est la commande \DefinitionCommand{PitonClearUserFunctions}. Quand elle est utilisée sans argument, cette
-commande s'applique à tous les langages informatiques utilisées par l'utilisateur mais on peut spécifier en
-argument optionnel (entre crochets) une liste de langages informatiques auxquels elle s'appliquera.\footnote{On
- rappelle que, dans \pkg{piton}, les noms des langages informatiques ne sont pas sensibles à la casse. }
+Bien sûr, la liste des noms de fonctions Python précédemment définies est gardée en
+mémoire de LuaLaTeX (de manière globale, c'est-à-dire indépendamment des groupes TeX).
+L'extension \pkg{piton} fournit une commande qui permet de vider cette liste : c'est la
+commande \DefinitionCommand{PitonClearUserFunctions}. Quand elle est utilisée sans
+argument, cette commande s'applique à tous les langages informatiques utilisées par
+l'utilisateur mais on peut spécifier en argument optionnel (entre crochets) une liste de
+langages informatiques auxquels elle s'appliquera.\footnote{On rappelle que, dans
+ \pkg{piton}, les noms des langages informatiques ne sont pas sensibles à la casse. }
\end{small}
@@ -722,24 +793,26 @@ argument optionnel (entre crochets) une liste de langages informatiques auxquels
\label{NewPitonEnvironment}
\indexcommand{NewPitonEnvironment}
-Comme l'environnement |{Piton}| a besoin d'absorber son contenu d'une manière spéciale (à peu près comme du texte
-verbatim), il n'est pas possible de définir de nouveaux environnements directement au-dessus de l'environnement
-|{Piton}| avec les commandes classiques |\newenvironment| (de LaTeX standard) et |\NewDocumentEnvironment| (de
-LaTeX3).
+Comme l'environnement |{Piton}| a besoin d'absorber son contenu d'une manière spéciale (à
+peu près comme du texte verbatim), il n'est pas possible de définir de nouveaux
+environnements directement au-dessus de l'environnement |{Piton}| avec les commandes
+classiques |\newenvironment| (de LaTeX standard) et |\NewDocumentEnvironment| (de LaTeX3).
-C'est pourquoi \pkg{piton} propose une commande |\NewPitonEnvironment|. Cette commande a la même syntaxe que la
-commande classique |\NewDocumentEnvironment|.\footnote{Néanmoins, le spécificateur d'argument~|b|, qui sert à
- capter le corps de l'environnement comme un argument LaTeX, n'est pas autorisé.}
+C'est pourquoi \pkg{piton} propose une commande |\NewPitonEnvironment|. Cette commande a
+la même syntaxe que la commande classique |\NewDocumentEnvironment|.\footnote{Néanmoins,
+ le spécificateur d'argument~|b|, qui sert à capter le corps de l'environnement comme un
+ argument LaTeX, n'est pas autorisé.}
\bigskip
-Par exemple, avec l'instruction suivante, un nouvel environnement |{Python}| sera défini avec le même comportement
-que l'environnement |{Piton}|:
+Par exemple, avec l'instruction suivante, un nouvel environnement |{Python}| sera défini
+avec le même comportement que l'environnement |{Piton}|:
{\color{gray}|\NewPitonEnvironment{Python}{O{}}{\PitonOptions{#1}}{}|}
\bigskip
-Si on souhaite un environnement |{Python}| qui compose le code inclus dans une boîte de \pkg{tcolorbox}, on peut
-écrire (à condition, bien entendu, d'avoir chargé l'extension \pkg{tcolorbox}):
+Si on souhaite un environnement |{Python}| qui compose le code inclus dans une boîte de
+\pkg{tcolorbox}, on peut écrire (à condition, bien entendu, d'avoir chargé l'extension
+\pkg{tcolorbox}):
\begin{Verbatim}
\NewPitonEnvironment{Python}{}
@@ -780,21 +853,25 @@ def carré(x):
L'extension \pkg{listings} est une célèbre extension LaTeX pour formater des codes informatiques.
\medskip
-Elle propose une commande |\lstdefinelanguage| pour définir de nouveaux langages. Cette commande est aussi
-utilisée en interne par \pkg{listings} pour sa définition des languages (en fait, pour cela, \pkg{listings} utilise
-une commande nommée |\lst@definelanguage| mais celle-ci a la même syntaxe que |\lstdefinelanguage|).
+Elle propose une commande |\lstdefinelanguage| pour définir de nouveaux langages. Cette
+commande est aussi utilisée en interne par \pkg{listings} pour sa définition des languages
+(en fait, pour cela, \pkg{listings} utilise une commande nommée |\lst@definelanguage| mais
+celle-ci a la même syntaxe que |\lstdefinelanguage|).
\medskip
-L'extension \pkg{piton} propose une commande \DefinitionCommand{NewPitonLanguage} pour définir de nouveaux
-langages (utilisables avec les outils de \pkg{piton}) avec quasiment la même syntaxe que |\lstdefinelanguage|.
+L'extension \pkg{piton} propose une commande \DefinitionCommand{NewPitonLanguage} pour
+définir de nouveaux langages (utilisables avec les outils de \pkg{piton}) avec quasiment
+la même syntaxe que |\lstdefinelanguage|.
\medskip
-Précisons tout de suite que l'extension \pkg{piton} n'utilise \emph{pas} cette commande pour définir les langages
-qu'elle propose nativement (Python, C, OCaml, \CC\ et |minimal|), ce qui permet de proposer des parseurs plus puissants.
+Précisons tout de suite que l'extension \pkg{piton} n'utilise \emph{pas} cette commande
+pour définir les langages qu'elle propose nativement (Python, C, OCaml, \CC\ et
+|minimal|), ce qui permet de proposer des parseurs plus puissants.
\medskip
-Par exemple, dans le fichier |lstlang1.sty|, qui est un des fichiers de definition des langages proposés par défaut
-par \pkg{listings}, on trouve les instructions suivantes (dans la version 1.10a).
+Par exemple, dans le fichier |lstlang1.sty|, qui est un des fichiers de definition des
+langages proposés par défaut par \pkg{listings}, on trouve les instructions suivantes
+(dans la version 1.10a).
\begin{Verbatim}[formatcom=\small\color{gray}]
\lst~@definelanguage{Java}%
@@ -813,9 +890,10 @@ par \pkg{listings}, on trouve les instructions suivantes (dans la version 1.10a)
\end{Verbatim}
\medskip
-Pour définir un language nommé |Java| pour \pkg{piton}, il suffit d'écrire le code suivant,
-{\bfseries où le dernier argument de |\lst@definelanguage|, qui est entre crochets, a été supprimé}
-(en fait, les symboles \verb+%+ pourraient être supprimés sans problème).
+Pour définir un language nommé |Java| pour \pkg{piton}, il suffit d'écrire le code
+suivant, {\bfseries où le dernier argument de |\lst@definelanguage|, qui est entre
+ crochets, a été supprimé} (en fait, les symboles \verb+%+ pourraient être supprimés sans
+problème).
\begin{Verbatim}[formatcom=\small\color{gray}]
~emphase#\NewPitonLanguage@{Java}%
@@ -850,11 +928,13 @@ Pour définir un language nommé |Java| pour \pkg{piton}, il suffit d'écrire le
\medskip
-On peut alors utiliser le language Java comme n'importe quel autre langage prédéfini de \pkg{piton}.
+On peut alors utiliser le language Java comme n'importe quel autre langage prédéfini de
+\pkg{piton}.
-Voici un exemple de code Java formaté dans un environnement~|{Piton}| avec la clé~|language=Java|.\footnote{On
- rappelle que, pour \pkg{piton}, les noms de langages informatiques ne sont pas sensibles à la casse, ce qui fait
- que l'on aurait pu aussi bien utiliser : |language=java|.}
+Voici un exemple de code Java formaté dans un environnement~|{Piton}| avec la
+clé~|language=Java|.\footnote{On rappelle que, pour \pkg{piton}, les noms de langages
+ informatiques ne sont pas sensibles à la casse, ce qui fait que l'on aurait pu aussi
+ bien utiliser : |language=java|.}
\bigskip
\begingroup
@@ -893,12 +973,14 @@ public class Cipher { // cryptage par le chiffre de César
\endgroup
\bigskip
-Les clés de la commande |\lstdefinelanguage| de \pkg{listings} prises en charge par |\NewPitonLanguage| sont :
-|morekeywords|, |otherkeywords|, |sensitive|, |keywordsprefix|, |moretexcs|, |morestring| (avec les lettres |b|,
-|d|, |s| et |m|), |morecomment| (avec les lettres |i|, |l|, |s| et |n|), |moredelim| (avec les lettres |i|,
-|l|, |s|, |*| et |**|), |moredirectives|, |tag|, |alsodigit|, |alsoletter| et |alsoother|.
+Les clés de la commande |\lstdefinelanguage| de \pkg{listings} prises en charge par
+|\NewPitonLanguage| sont : |morekeywords|, |otherkeywords|, |sensitive|, |keywordsprefix|,
+|moretexcs|, |morestring| (avec les lettres |b|, |d|, |s| et |m|), |morecomment| (avec les
+lettres |i|, |l|, |s| et |n|), |moredelim| (avec les lettres |i|, |l|, |s|, |*| et |**|),
+|moredirectives|, |tag|, |alsodigit|, |alsoletter| et |alsoother|.
-Pour la description de ces clés, on renvoie à la documentation de \pkg{listings} (taper |texdoc| |listings| dans un terminal).
+Pour la description de ces clés, on renvoie à la documentation de \pkg{listings} (taper
+|texdoc| |listings| dans un terminal).
\bigskip
Par exemple, pour formater du code LaTeX, on pourra créer le language suivant :
@@ -907,10 +989,9 @@ Par exemple, pour formater du code LaTeX, on pourra créer le language suivant :
\begin{verbatim}
\NewPitonLanguage{LaTeX}{keywordsprefix = \ , alsoletter = @_ }
\end{verbatim}
-}
-Initialement, les caractères |@| et |_| sont des considérés comme des lettres car de nombreux langages de
-programmation les autorisent dans les mots-clés et les identificateurs. Avec \verb|alsoletter = @_|, on les retire
-de la catégorie des lettres.
+} Initialement, les caractères |@| et |_| sont des considérés comme des lettres car de
+nombreux langages de programmation les autorisent dans les mots-clés et les
+identificateurs. Avec \verb|alsoletter = @_|, on les retire de la catégorie des lettres.
\section{Fonctionnalités avancées}
@@ -922,88 +1003,111 @@ de la catégorie des lettres.
\subsubsection{Coupure des pages}
+\label{coupure-de-pages}
+
\index{splittable}
\index{split-on-empty-lines}
\index{split-separation}
-Par défaut, les listings produits par l'environnement |{Piton}| et par la commande |\PitonInputFile| sont
-insécables.
+Par défaut, les listings produits par l'environnement |{Piton}| et par la commande
+|\PitonInputFile| sont insécables.
-Néanmoins, la commande |\PitonOptions| propose les clés |split-on-empty-lines| et |splittable| pour autoriser de
-telles coupures.
+Néanmoins, la commande |\PitonOptions| propose les clés |split-on-empty-lines| et
+|splittable| pour autoriser de telles coupures.
\begin{itemize}
-\item La clé \Definition{split-on-empty-lines} autorise les coupures sur les lignes vides\footnote{Les lignes considérées
- comme vides sont celles qui ne comportent que des espaces.} du listing. Dans les listings informatiques, les
-lignes vides séparent le plus souvent les définitions des fonctions informatiques et il est donc souvent judicieux
-de pouvoir couper au niveau de ces lignes.
-
-Quand la clé |split-on-empty-lines| est activée, le travail effectué va en fait un peu plus loin : les lignes vides
-successives sont supprimées et remplacées par le contenu du paramètre correspondant à la clé
-\Definition{split-separation}.
+\item La clé \Definition{split-on-empty-lines} autorise les coupures sur les lignes
+vides\footnote{Les lignes considérées comme vides sont celles qui ne comportent que des
+ espaces.} du listing. Dans les listings informatiques, les lignes vides séparent le plus
+souvent les définitions des fonctions informatiques et il est donc souvent judicieux de
+pouvoir couper au niveau de ces lignes.
+
+Quand la clé |split-on-empty-lines| est activée, le travail effectué va en fait un peu
+plus loin : les lignes vides successives sont supprimées et remplacées par le contenu du
+paramètre correspondant à la clé \Definition{split-separation}
+\begin{itemize}
+\item Ce paramètre doit contenir du matériel à insérer en \emph{mode vertical} de TeX. On
+peut, par exemple, mettre |\hrule|.
-La valeur initiale de ce paramètre est |\vspace{\baselineskip}\vspace{-1.25pt}|, ce qui, au final, correspond à une
-ligne vide dans le PDF produit (cet espace vertical est supprimé s'il tombe au niveau d'un saut de page).
+\item La valeur initiale de ce paramètre est |\vspace{\baselineskip}\vspace{-1.25pt}|, ce qui,
+au final, correspond à une ligne vide dans le PDF produit (cet espace vertical est
+supprimé s'il tombe au niveau d'un saut de page). Si la clé |background-color| est
+utilisée, aucun fond n'est affiché au niveau de cette ligne de séparation.
+\end{itemize}
\medskip
-\item La clé |split-on-empty-lines| peut bien sûr être insuffisante et c'est pourquoi \pkg{piton} propose la clé
-\Definition{splittable}.
+\item La clé |split-on-empty-lines| peut bien sûr être insuffisante et c'est pourquoi
+\pkg{piton} propose la clé \Definition{splittable}.
-Quand la clé |splittable| est utilisée avec la valeur numérique $n$ (qui doit être un entier naturel non nul) le
-listing, ou bien chaque partie de ce listing située entre des lignes vides (quand |split-on-empty-lines| est
-utilisée), pourra être coupé n'importe où avec cette exception qu'aucune coupure ne pourra avoir lieu entre les
-$n$~premières lignes, ni entre les $n$~dernières. Par exemple, |splittable = 4| pourrait être un réglage raisonnable.
+Quand la clé |splittable| est utilisée avec la valeur numérique $n$ (qui doit être un
+entier naturel non nul) le listing, ou bien chaque partie de ce listing située entre des
+lignes vides (quand |split-on-empty-lines| est utilisée), pourra être coupé n'importe où
+avec cette exception qu'aucune coupure ne pourra avoir lieu entre les $n$~premières
+lignes, ni entre les $n$~dernières. Par exemple, |splittable = 4| pourrait être un réglage
+raisonnable.
-Employée sans argument, la clé |splittable| est équivalente à |splittable = 1|, et les listings sont alors sécables
-n'importe où (ce n'est pas recommandable).
+Employée sans argument, la clé |splittable| est équivalente à |splittable = 1|, et les
+listings sont alors sécables n'importe où (ce n'est pas recommandable).
+La valeur initiale de la clé |splittable| vaut 100, ce qui fait que listings ne sont pas
+sécables.
\end{itemize}
\medskip
\emph{Remarque}\par\nobreak
-Même avec une couleur de fond (fixée avec |background-color|), les sauts de page sont possibles, à partir du moment
-où |split-on-empty-lines| ou |splittable| est utilisée.\footnote{Avec la clé |splittable|, un environnement
- |{Piton}| est sécable même dans un environnement de \pkg{tcolorbox} (à partir du moment où la clé |breakable| de
- \pkg{tcolorbox} est utilisée). On précise cela parce que, en revanche, un environnement de \pkg{tcolorbox} inclus
- dans un autre environnement de \pkg{tcolorbox} n'est pas sécable, même quand les deux utilisent la clé
- |breakable|.}
+Même avec une couleur de fond (fixée avec |background-color|), les sauts de page sont
+possibles, à partir du moment où |split-on-empty-lines| ou |splittable| est
+utilisée.\footnote{Avec la clé |splittable|, un environnement |{Piton}| est sécable même
+ dans un environnement de \pkg{tcolorbox} (à partir du moment où la clé |breakable| de
+ \pkg{tcolorbox} est utilisée). On précise cela parce que, en revanche, un environnement
+ de \pkg{tcolorbox} inclus dans un autre environnement de \pkg{tcolorbox} n'est pas
+ sécable, même quand les deux utilisent la clé |breakable|.}
\subsubsection{Coupure des lignes}
\label{line-breaks}
-Par défaut, les éléments produits par \pkg{piton} ne peuvent pas être coupés par une fin de ligne. Il existe
-néanmoins des clés pour autoriser de telles coupures (les points de coupure possibles sont les espaces, y compris
-les espaces dans les chaînes Python).
+Par défaut, les éléments produits par \pkg{piton} ne peuvent pas être coupés par une fin
+de ligne. Il existe néanmoins des clés pour autoriser de telles coupures (les points de
+coupure possibles sont les espaces, y compris les espaces dans les chaînes Python).
\begin{itemize}
-\item \index{break-lines!break-lines-in-piton} Avec la clé \Definition{break-lines-in-piton}, les coupures de ligne sont autorisées dans la commande
-|\piton{...}| (mais pas dans la commande \verb+\piton|...|+, c'est-à-dire avec la syntaxe verbatim).
-
-\item \index{break-lines!break-lines-in-Piton} Avec la clé \Definition{break-lines-in-Piton}, les coupures de ligne sont autorisées dans l'environnement
-|{Piton}| (d'où la lettre |P| capitale dans le nom) et les listings produits par |\PitonInputFile|.
-
-\item \index{break-lines} La clé \Definition{break-lines} est la conjonction des deux clés précédentes.
+\item \index{break-lines!break-lines-in-piton} Avec la clé
+\Definition{break-lines-in-piton}, les coupures de ligne sont autorisées dans la commande
+|\piton{...}| (mais pas dans la commande \verb+\piton|...|+, c'est-à-dire avec la syntaxe
+verbatim).
+
+\item \index{break-lines!break-lines-in-Piton} Avec la clé
+\Definition{break-lines-in-Piton}, les coupures de ligne sont autorisées dans
+l'environnement |{Piton}| (d'où la lettre |P| capitale dans le nom) et les listings
+produits par |\PitonInputFile|.
+
+\item \index{break-lines} La clé \Definition{break-lines} est la conjonction des deux clés
+précédentes.
\end{itemize}
\medskip
-L'extension \pkg{piton} fournit aussi plusieurs clés pour contrôler l'apparence des coupures de ligne autorisées par |break-lines-in-Piton|.
+L'extension \pkg{piton} fournit aussi plusieurs clés pour contrôler l'apparence des
+coupures de ligne autorisées par |break-lines-in-Piton|.
\begin{itemize}
-\item \index{indent-broken-lines} Avec la clé \Definition{indent-broken-lines}, l'indentation de la ligne coupée est respectée à chaque retour
-à la ligne.
+\item \index{indent-broken-lines} Avec la clé \Definition{indent-broken-lines},
+l'indentation de la ligne coupée est respectée à chaque retour à la ligne.
-\item \index{end-of-broken-line} La clé \Definition{end-of-broken-line} correspond au symbole placé à la fin d'une ligne coupée. Sa valeur initiale est :
+\item \index{end-of-broken-line} La clé \Definition{end-of-broken-line} correspond au
+symbole placé à la fin d'une ligne coupée. Sa valeur initiale est :
|\hspace*{0.5em}\textbackslash|.
-\item \index{continuation-symbol} La clé \Definition{continuation-symbol} correspond au symbole placé à chaque retour de ligne dans la marge
-gauche. Sa valeur initiale est : |+\;| (la commande |\;| insère un petit espace horizontal).
+\item \index{continuation-symbol} La clé \Definition{continuation-symbol} correspond au
+symbole placé à chaque retour de ligne dans la marge gauche. Sa valeur initiale est :
+|+\;| (la commande |\;| insère un petit espace horizontal).
-\item \index{continuation-symbol-on-indentation} La clé \Definition{continuation-symbol-on-indentation} correspond au symbole placé à chaque retour de ligne
-au niveau de l'indentation (uniquement dans le cas où la clé |indent-broken-lines| est active). Sa valeur initiale
-est : |$\hookrightarrow\;$|.
+\item \index{continuation-symbol-on-indentation} La clé
+\Definition{continuation-symbol-on-indentation} correspond au symbole placé à chaque
+retour de ligne au niveau de l'indentation (uniquement dans le cas où la clé
+|indent-broken-lines| est active). Sa valeur initiale est : |$\hookrightarrow\;$|.
\end{itemize}
\bigskip
@@ -1039,21 +1143,25 @@ def dict_of_liste(liste):
\indexcommand{PitonInputFile}
-La commande |\PitonInputFile| permet d'insérer (avec formatage) le contenu d'un fichier. En fait, il existe des
-mécanismes permettant de n'insérer qu'une partie du fichier en question.
+La commande |\PitonInputFile| permet d'insérer (avec formatage) le contenu d'un fichier.
+En fait, il existe des mécanismes permettant de n'insérer qu'une partie du fichier en
+question.
\begin{itemize}
-\item On peut spécifier la partie à insérer par les numéros de lignes (dans le fichier d'origine).
+\item On peut spécifier la partie à insérer par les numéros de lignes (dans le fichier
+d'origine).
\item On peut aussi spécifier la partie à insérer par des marqueurs textuels.
\end{itemize}
-Dans les deux cas, si on souhaite numéroter les lignes avec les numéros des lignes du fichier d'origine, il
-convient d'utiliser la clé |line-numbers/absolute|.
+Dans les deux cas, si on souhaite numéroter les lignes avec les numéros des lignes du
+fichier d'origine, il convient d'utiliser la clé |line-numbers/absolute|.
\subsubsection{Avec les numéros de lignes absolus}
-La commande |\PitonInputFile| propose les clés \Definition{first-line} et \Definition{last-line} pour n'insérer que
-la partie du fichier comprise entre les lignes correspondantes. Ne pas confondre avec la clé |line-numbers/start|
-qui demande un numérotage des lignes commençant à la valeur donnée à cette clé (en un sens |line-numbers/start|
-concerne la sortie alors que |first-line| et |last-line| concernent l'entrée).
+La commande |\PitonInputFile| propose les clés \Definition{first-line} et
+\Definition{last-line} pour n'insérer que la partie du fichier comprise entre les lignes
+correspondantes. Ne pas confondre avec la clé |line-numbers/start| qui demande un
+numérotage des lignes commençant à la valeur donnée à cette clé (en un sens
+|line-numbers/start| concerne la sortie alors que |first-line| et |last-line| concernent
+l'entrée).
\subsubsection{Avec des marqueurs textuels}
@@ -1062,15 +1170,17 @@ concerne la sortie alors que |first-line| et |last-line| concernent l'entrée).
\index{marker/end}
-Pour utiliser cette technique, il convient d'abord de spécifier le format des marqueurs marquant le début et la fin
-de la partie du fichier à inclure. Cela se fait avec les deux clés \Definition{marker/beginning} et
-\Definition{marker/end} (usuellement dans la commande |\PitonOptions|).
+Pour utiliser cette technique, il convient d'abord de spécifier le format des marqueurs
+marquant le début et la fin de la partie du fichier à inclure. Cela se fait avec les deux
+clés \Definition{marker/beginning} et \Definition{marker/end} (usuellement dans la
+commande |\PitonOptions|).
\medskip
Prenons d'abord un exemple.
\medskip
-Supposons que le fichier à inclure contienne des solutions à des exercices de programmation sur le modèle suivant :
+Supposons que le fichier à inclure contienne des solutions à des exercices de
+programmation sur le modèle suivant :
\begin{Verbatim}[formatcom=\small\color{gray}]
~#[Exercice 1] Version itérative
@@ -1087,25 +1197,27 @@ def fibo(n):
~#<Exercice 1>
\end{Verbatim}
-Les marqueurs de début de début et de fin sont les chaînes |#[Exercice 1]| et |#<Exercice 1>|. La chaîne
-«|Exercice 1|» sera appelée le \emph{label} de l'exercice (ou de la partie du fichier à inclure).
+Les marqueurs de début de début et de fin sont les chaînes |#[Exercice 1]| et
+|#<Exercice 1>|. La chaîne «|Exercice 1|» sera appelée le \emph{label} de l'exercice (ou
+de la partie du fichier à inclure).
-Pour spécifier des marqueurs de cette sorte dans \pkg{piton}, on utilisera les clés |marker/beginning| et |marker/end|
-de la manière suivante (le caractère |#| des commentaires de Python doit être inséré sous la forme échappée |\#|).
+Pour spécifier des marqueurs de cette sorte dans \pkg{piton}, on utilisera les clés
+|marker/beginning| et |marker/end| de la manière suivante (le caractère |#| des
+commentaires de Python doit être inséré sous la forme échappée |\#|).
\begin{Verbatim}
\PitonOptions{ ~emphase#marker/beginning@ = \~#[~#1] , ~emphase#marker/end@ = \~#<~#1> }
\end{Verbatim}
-Comme on le voit, |marker/beginning| est une expression correspondant à la fonction mathématique qui, au nom du
-label (par exemple |Exercice 1|), associe le marqueur de début (dans l'exemple |#[Exercice 1]|). La chaîne |#1|
-correspond aux occurrences de l'argument de cette fonction (c'est la syntaxe habituelle de TeX). De même pour
-|marker/end|.
+Comme on le voit, |marker/beginning| est une expression correspondant à la fonction
+mathématique qui, au nom du label (par exemple |Exercice 1|), associe le marqueur de début
+(dans l'exemple |#[Exercice 1]|). La chaîne |#1| correspond aux occurrences de l'argument
+de cette fonction (c'est la syntaxe habituelle de TeX). De même pour |marker/end|.
\bigskip
-Pour insérer une partie marquée d'un fichier, il suffit alors d'utiliser la clé \Definition{range} de
-|\PitonInputFile|.
+Pour insérer une partie marquée d'un fichier, il suffit alors d'utiliser la clé
+\Definition{range} de |\PitonInputFile|.
\smallskip
\begin{Verbatim}
@@ -1126,9 +1238,8 @@ def fibo(n):
return v
\end{Piton}
-\vspace{1cm}
-\index{marker/include-lines}
-La clé \Definition{marker/include-lines} demande que les lignes contenant les marqueurs soient également insérées.
+\vspace{1cm} \index{marker/include-lines} La clé \Definition{marker/include-lines} demande
+que les lignes contenant les marqueurs soient également insérées.
\begin{Verbatim}
\PitonInputFile[~emphase#marker/include-lines@,range = Exercice 1]{~textsl#nom_du_fichier@}
@@ -1151,13 +1262,12 @@ def fibo(n):
\bigskip
-\index{begin-range}
-\index{end-range}
-Il existe en fait aussi les clés \Definition{begin-range} et \Definition{end-range} pour insérer plusieurs
-contenus marqués simultanément.
+\index{begin-range} \index{end-range} Il existe en fait aussi les clés
+\Definition{begin-range} et \Definition{end-range} pour insérer plusieurs contenus marqués
+simultanément.
-Par exemple, pour insérer les solutions des exercices 3 à 5, on pourra écrire (à condition que le fichier soit
-structuré correctement!):
+Par exemple, pour insérer les solutions des exercices 3 à 5, on pourra écrire (à condition
+que le fichier soit structuré correctement!):
\begin{Verbatim}
\PitonInputFile[~emphase#begin-range = Exercice 3, end-range = Exercice 5@]{~textsl#nom_du_fichier@}
@@ -1171,27 +1281,31 @@ structuré correctement!):
\indexcommand{SetPitonIdentifier}
\label{SetPitonIdentifier}
-La commande \DefinitionCommand{SetPitonIdentifier} permet de changer le formatage de certains identificateurs.
+La commande \DefinitionCommand{SetPitonIdentifier} permet de changer le formatage de
+certains identificateurs.
\smallskip
Cette commande prend trois arguments : un optionnel et deux obligatoires.
\begin{itemize}
-\item L'argument optionnel (entre crochets) indique le langage (informatique) concerné ; si cet
-argument est absent, les réglages faits par |\SetPitonIdentifier| s'appliqueront à tous les langages.\footnote{On rappelle que, dans \pkg{piton}, les noms des langages informatiques ne sont pas
- sensibles à la casse.}
+\item L'argument optionnel (entre crochets) indique le langage (informatique) concerné ;
+si cet argument est absent, les réglages faits par |\SetPitonIdentifier| s'appliqueront à
+tous les langages.\footnote{On rappelle que, dans \pkg{piton}, les noms des langages
+ informatiques ne sont pas sensibles à la casse.}
-\item Le premier argument obligatoire est une liste de noms d'identificateurs séparés par des virgules.
+\item Le premier argument obligatoire est une liste de noms d'identificateurs séparés par
+des virgules.
-\item Le deuxième argument obligatoire est une liste d'instructions LaTeX de formatage du même type que pour les
-styles précédemment définis (cf. \ref{styles}, p.~\pageref{styles}).
+\item Le deuxième argument obligatoire est une liste d'instructions LaTeX de formatage du
+même type que pour les styles précédemment définis (cf. \ref{styles},
+p.~\pageref{styles}).
\end{itemize}
-\emph{Attention} : Seuls les identificateurs peuvent voir leur formatage affecté. Les mots-clés et les noms de
-fonctions prédéfinies ne seront pas affectés, même s'ils figurent dans le premier argument de
-|\SetPitonIdentifier|.
+\emph{Attention} : Seuls les identificateurs peuvent voir leur formatage affecté. Les
+mots-clés et les noms de fonctions prédéfinies ne seront pas affectés, même s'ils figurent
+dans le premier argument de |\SetPitonIdentifier|.
\begin{Verbatim}
~emphase#\SetPitonIdentifier{l1,l2}{\color{red}}@
@@ -1230,8 +1344,9 @@ def tri(l):
\endgroup
\bigskip
-Avec la commande |\SetPitonIdentifiers|, on peut ajouter à un langage informatique de nouvelles fonctions
-prédéfinies (ou de nouveaux mots-clés, etc.) qui seront détectées par \pkg{piton}.
+Avec la commande |\SetPitonIdentifiers|, on peut ajouter à un langage informatique de
+nouvelles fonctions prédéfinies (ou de nouveaux mots-clés, etc.) qui seront détectées par
+\pkg{piton}.
\begin{Verbatim}
@@ -1272,16 +1387,18 @@ floor(5.4)
L'extension \pkg{piton} propose plusieurs mécanismes d'échappement vers LaTeX :
\begin{itemize}
\item Il est possible d'avoir des commentaires entièrement composés en LaTeX.
-\item Il est possible d'avoir, dans les commentaires Python, les éléments entre \texttt{\$} composés en mode
-mathématique de LaTeX.
-\item Il est possible de demander à \pkg{piton} de détecter directement certaines commandes LaTeX avec leur argument.
+\item Il est possible d'avoir, dans les commentaires Python, les éléments entre
+\texttt{\$} composés en mode mathématique de LaTeX.
+\item Il est possible de demander à \pkg{piton} de détecter directement certaines
+commandes LaTeX avec leur argument.
\item Il est possible d'insérer du code LaTeX à n'importe quel endroit d'un listing Python.
\end{itemize}
Ces mécanismes vont être détaillés dans les sous-parties suivantes.
\smallskip
-À remarquer également que, dans le cas où \pkg{piton} est utilisée dans la classe \cls{beamer}, \pkg{piton} détecte
-la plupart des commandes et environnements de Beamer : voir la sous-section \ref{beamer}, p.~\pageref{beamer}.
+À remarquer également que, dans le cas où \pkg{piton} est utilisée dans la classe
+\cls{beamer}, \pkg{piton} détecte la plupart des commandes et environnements de Beamer :
+voir la sous-section \ref{beamer}, p.~\pageref{beamer}.
\subsubsection{Les «commentaires LaTeX»}
@@ -1289,14 +1406,16 @@ la plupart des commandes et environnements de Beamer : voir la sous-section \ref
\index{comment-latex}
\index{commentaires LaTeX}
-Dans ce document, on appelle «commentaire LaTeX» des commentaires qui débutent par |#>|. Tout ce qui suit ces deux
-caractères, et jusqu'à la fin de la ligne, sera composé comme du code LaTeX standard.
+Dans ce document, on appelle «commentaire LaTeX» des commentaires qui débutent par |#>|.
+Tout ce qui suit ces deux caractères, et jusqu'à la fin de la ligne, sera composé comme du
+code LaTeX standard.
Il y a deux outils pour personnaliser ces commentaires.
\begin{itemize}
-\item Il est possible de changer le marquage syntaxique utilisé (qui vaut initialement~|#>|). Pour ce faire, il
-existe une clé \Definition{comment-latex}, \emph{disponible uniquement dans le préambule du document}, qui permet de choisir les
+\item Il est possible de changer le marquage syntaxique utilisé (qui vaut
+initialement~|#>|). Pour ce faire, il existe une clé \Definition{comment-latex},
+\emph{disponible uniquement dans le préambule du document}, qui permet de choisir les
caractères qui (précédés par~|#|) serviront de marqueur syntaxique.
Par exemple, avec le réglage suivant (fait dans le préambule du document) :
@@ -1305,18 +1424,18 @@ Par exemple, avec le réglage suivant (fait dans le préambule du document) :
les commentaires LaTeX commenceront par~|#LaTeX|.
-Si on donne la valeur nulle à la clé |comment-latex|, tous les commentaires Python (débutant par~|#|) seront en
-fait des «commentaires LaTeX».
+Si on donne la valeur nulle à la clé |comment-latex|, tous les commentaires Python
+(débutant par~|#|) seront en fait des «commentaires LaTeX».
\smallskip
-\item Il est possible de changer le formatage du commentaire LaTeX lui-même en changeant le style \pkg{piton}
-|Comment.LaTeX|.
+\item Il est possible de changer le formatage du commentaire LaTeX lui-même en changeant
+le style \pkg{piton} |Comment.LaTeX|.
-Par exemple, avec |\SetPitonStyle{Comment.LaTeX = \normalfont\color{blue}}|, les commentaires LaTeX seront composés
-en bleu.
+Par exemple, avec |\SetPitonStyle{Comment.LaTeX = \normalfont\color{blue}}|, les
+commentaires LaTeX seront composés en bleu.
-Si on souhaite qu'un croisillon (|#|) soit affiché en début de commentaire dans le \textsc{pdf}, on peut régler
-|Comment.LaTeX| de la manière suivante :
+Si on souhaite qu'un croisillon (|#|) soit affiché en début de commentaire dans le
+\textsc{pdf}, on peut régler |Comment.LaTeX| de la manière suivante :
\begin{Verbatim}
\SetPitonStyle{Comment.LaTeX = \color{gray}\~#\normalfont\space }
@@ -1328,11 +1447,12 @@ p.~\pageref{example-comments}.
\bigskip
-Si l'utilisateur a demandé l'affichage des numéros de ligne avec |line-numbers|, il est possible de faire référence
-à ce numéro de ligne avec la commande |\label| placée dans un commentaire LaTeX.\footnote{Cette fonctionnalité est
- implémentée en redéfinissant, dans les environnements |{Piton}|, la commande |\label|. Il peut donc y avoir des
- incompatibilités avec les extensions qui redéfinissent (globalement) cette commande |\label| (comme
- \pkg{varioref}, \pkg{refcheck}, \pkg{showlabels}, etc.)}
+Si l'utilisateur a demandé l'affichage des numéros de ligne avec |line-numbers|, il est
+possible de faire référence à ce numéro de ligne avec la commande |\label| placée dans un
+commentaire LaTeX.\footnote{Cette fonctionnalité est implémentée en redéfinissant, dans
+ les environnements |{Piton}|, la commande |\label|. Il peut donc y avoir des
+ incompatibilités avec les extensions qui redéfinissent (globalement) cette commande
+ |\label| (comme \pkg{varioref}, \pkg{refcheck}, \pkg{showlabels}, etc.)}
@@ -1341,15 +1461,17 @@ Si l'utilisateur a demandé l'affichage des numéros de ligne avec |line-numbers
\index{math-comments}
-Il est possible de demander que, dans les commentaires Python normaux, c'est-à-dire débutant par~|#| (et non par
-|#>|), les éléments placés entre symboles \texttt{\$} soient composés en mode mathématique de LaTeX (le reste du
-commentaire restant composé en verbatim).
+Il est possible de demander que, dans les commentaires Python normaux, c'est-à-dire
+débutant par~|#| (et non par |#>|), les éléments placés entre symboles \texttt{\$} soient
+composés en mode mathématique de LaTeX (le reste du commentaire restant composé en
+verbatim).
-La clé \Definition{math-comments} (\emph{qui ne peut être activée que dans le préambule du document}) active ce
-comportement.
+La clé \Definition{math-comments} (\emph{qui ne peut être activée que dans le préambule du
+ document}) active ce comportement.
\bigskip
-Dans l'exemple suivant, on suppose que |\PitonOptions{math-comments}| a été utilisé dans le préambule du document.
+Dans l'exemple suivant, on suppose que |\PitonOptions{math-comments}| a été utilisé dans
+le préambule du document.
\begin{Verbatim}
\begin{Piton}
@@ -1369,23 +1491,25 @@ def carré(x):
\index{detected-commands (key)}
\label{detected-commands}
-La clé \Definition{detected-commands} de |\PitonOptions| permet de spécifier une liste de noms de commandes LaTeX
-qui seront directement détectées par \pkg{piton}.
+La clé \Definition{detected-commands} de |\PitonOptions| permet de spécifier une liste de
+noms de commandes LaTeX qui seront directement détectées par \pkg{piton}.
\begin{itemize}
-\item Cette clé |detected-commands| ne peut être utilisée que dans le préambule du document.
+\item Cette clé |detected-commands| ne peut être utilisée que dans le préambule du
+document.
-\item Les noms de commandes LaTeX doivent apparaître sans la contre-oblique
-(ex. : |detected-commands = { emph , textbf }|).
+\item Les noms de commandes LaTeX doivent apparaître sans la contre-oblique (ex. :
+|detected-commands = { emph , textbf }|).
-\item Ces commandes doivent être des commandes LaTeX à un seul argument obligatoire entre accolades (et ces
-accolades doivent apparaître explicitement dans le listing).
+\item Ces commandes doivent être des commandes LaTeX à un seul argument obligatoire entre
+accolades (et ces accolades doivent apparaître explicitement dans le listing).
\end{itemize}
\medskip
-Dans l'exemple suivant, qui est une programmation récursive de la factorielle, on décide de surligner en jaune
-l'appel récursif. La commande |\highLight| de \pkg{lua-ul} (cette extension requiert elle-même l'extension
-\pkg{luacolor}) permet de le faire avec la syntaxe |\hightLight{...}|.
+Dans l'exemple suivant, qui est une programmation récursive de la factorielle, on décide
+de surligner en jaune l'appel récursif. La commande |\highLight| de \pkg{lua-ul} (cette
+extension requiert elle-même l'extension \pkg{luacolor}) permet de le faire avec la
+syntaxe |\hightLight{...}|.
\smallskip
On suppose que l'on a mis dans le préambule du document LaTeX l'instruction suivante :
@@ -1419,16 +1543,19 @@ def fact(n):
\index{end-escape}
\label{escape}
-Il est aussi possible de surcharger les listings Python pour y insérer du code LaTeX à peu près n'importe où (mais
-entre deux lexèmes, bien entendu). Cette fonctionnalité n'est pas activée par défaut par \pkg{piton}. Pour
-l'utiliser, il faut spécifier les deux délimiteurs marquant l'échappement (le premier le commençant et le deuxième
-le terminant) en utilisant les clés \Definition{begin-escape} et \Definition{end-escape} (\emph{qui ne sont accessibles
-que dans le préambule du document}). Les deux délimiteurs peuvent être identiques.
+Il est aussi possible de surcharger les listings Python pour y insérer du code LaTeX à peu
+près n'importe où (mais entre deux lexèmes, bien entendu). Cette fonctionnalité n'est pas
+activée par défaut par \pkg{piton}. Pour l'utiliser, il faut spécifier les deux
+délimiteurs marquant l'échappement (le premier le commençant et le deuxième le terminant)
+en utilisant les clés \Definition{begin-escape} et \Definition{end-escape} (\emph{qui ne
+ sont accessibles que dans le préambule du document}). Les deux délimiteurs peuvent être
+identiques.
\medskip
-On reprend l'exemple précédent de la factorielle et on souhaite surligner en rose l'instruction qui contient l'appel
-récursif. La commande |\highLight| de \pkg{lua-ul} permet de le faire avec la syntaxe |\highLight[LightPink]{...}|.
-Du fait de la présence de l'argument optionnel entre crochets, on ne peut pas utiliser la clé |detected-commands|
+On reprend l'exemple précédent de la factorielle et on souhaite surligner en rose
+l'instruction qui contient l'appel récursif. La commande |\highLight| de \pkg{lua-ul}
+permet de le faire avec la syntaxe |\highLight[LightPink]{...}|. Du fait de la présence de
+l'argument optionnel entre crochets, on ne peut pas utiliser la clé |detected-commands|
comme précédemment mais on peut utiliser le mécanisme «escape».
\smallskip
@@ -1460,10 +1587,10 @@ def fact(n):
\bigskip
-\emph{Attention} : L'échappement vers LaTeX permis par les clés |begin-escape| et |end-escape| n'est pas actif dans
-les chaînes de caractères ni dans les commentaires (pour avoir un commentaire entièrement en échappement vers
-LaTeX, c'est-à-dire ce qui est appelé dans ce document «commentaire LaTeX», il suffit de le faire débuter par
-|#>|).
+\emph{Attention} : L'échappement vers LaTeX permis par les clés |begin-escape| et
+|end-escape| n'est pas actif dans les chaînes de caractères ni dans les commentaires (pour
+avoir un commentaire entièrement en échappement vers LaTeX, c'est-à-dire ce qui est appelé
+dans ce document «commentaire LaTeX», il suffit de le faire débuter par |#>|).
\subsubsection{Le mécanisme «escape-math»}
@@ -1472,24 +1599,27 @@ LaTeX, c'est-à-dire ce qui est appelé dans ce document «commentaire LaTeX»,
\index{begin-escape-math}
\index{end-escape-math}
-Le mécanisme «|escape-math|» est très similaire au mécanisme «|escape|» puisque la seule différence est que les
-éléments en échappement LaTeX y sont composés en mode mathématique.
+Le mécanisme «|escape-math|» est très similaire au mécanisme «|escape|» puisque la seule
+différence est que les éléments en échappement LaTeX y sont composés en mode mathématique.
-On active ce mécanisme avec les clés \Definition{begin-escape-math} et \Definition{end-escape-math} (\emph{qui ne sont
-accessibles que dans le préambule du document}).
+On active ce mécanisme avec les clés \Definition{begin-escape-math} et
+\Definition{end-escape-math} (\emph{qui ne sont accessibles que dans le préambule du
+ document}).
\medskip
-Malgré la proximité technique, les usages du mécanisme «|escape-math|» sont en fait assez différents de ceux du
-mécanisme «|escape|». En effet, comme le contenu en échappement est composé en mode mathématique, il est en
-particulier composé dans un groupe TeX et ne pourra donc pas servir à changer le formatage d'autres unités lexicales.
+Malgré la proximité technique, les usages du mécanisme «|escape-math|» sont en fait assez
+différents de ceux du mécanisme «|escape|». En effet, comme le contenu en échappement est
+composé en mode mathématique, il est en particulier composé dans un groupe TeX et ne
+pourra donc pas servir à changer le formatage d'autres unités lexicales.
\medskip
-Dans les langages où le caractère |$| ne joue pas un rôle syntaxique important, on peut assez naturellement
-vouloir activer le mécanisme «|escape-math|» avec le caractère |$|:
+Dans les langages où le caractère
+|$| ne joue pas un rôle syntaxique important, on peut assez naturellement vouloir activer
+le mécanisme «|escape-math|» avec le caractère |$|:
\begin{Verbatim}
\PitonOptions{~emphase#begin-escape-math=$,end-escape-math=$@}
\end{Verbatim}
-Remarquer que le caractère |$| ne doit \emph{pas} être protégé par une contre-oblique.
+Remarquer que le caractère |$| ne doit \emph{pas} être protégé par une contre-oblique. % $
\bigskip
Néanmoins, il est sans doute plus prudent d'utiliser |\(| et |\)|.
@@ -1538,25 +1668,29 @@ def arctan(x,n=10):
\index{Beamer@\cls{Beamer} (classe)}
-\emph{Première remarque}\par\nobreak
-Remarquons que, comme l'environnement |{Piton}| prend son argument selon un mode verbatim, il convient, ce qui
-n'est pas surprenant, de l'utiliser dans des environnements |{frame}| de Beamer protégés par la clé |fragile|,
-c'est-à-dire débutant par |\begin{frame}[fragile]|.\footnote{On rappelle que pour un environnement |{frame}| de Beamer qui
- utilise la clé |fragile|, l'instruction |\end{frame}| doit être seule sur une ligne (à l'exception d'éventuels
- espaces en début de ligne).}
+\emph{Première remarque}\par\nobreak
+
+Remarquons que, comme l'environnement |{Piton}| prend son argument selon un mode verbatim,
+il convient, ce qui n'est pas surprenant, de l'utiliser dans des environnements |{frame}|
+de Beamer protégés par la clé |fragile|, c'est-à-dire débutant par
+|\begin{frame}[fragile]|.\footnote{On rappelle que pour un environnement |{frame}| de
+ Beamer qui utilise la clé |fragile|, l'instruction |\end{frame}| doit être seule sur une
+ ligne (à l'exception d'éventuels espaces en début de ligne).}
\medskip
-Quand l'extension \pkg{piton} est utilisée dans la classe \cls{beamer}\footnote{L'extension \pkg{piton} détecte la
- classe \cls{beamer} et l'extension \pkg{beamerarticle} si elle est chargée précédemment, mais il est aussi
- possible, si le besoin s'en faisait sentir, d'activer ce comportement avec la clé |beamer| au chargement de
- \pkg{piton} : |\usepackage[beamer]{piton}|}, le comportement de \pkg{piton} est légèrement modifié, comme décrit
-maintenant.
+Quand l'extension \pkg{piton} est utilisée dans la classe
+\cls{beamer}\footnote{L'extension \pkg{piton} détecte la classe \cls{beamer} et
+ l'extension \pkg{beamerarticle} si elle est chargée précédemment, mais il est aussi
+ possible, si le besoin s'en faisait sentir, d'activer ce comportement avec la clé
+ |beamer| au chargement de \pkg{piton} : |\usepackage[beamer]{piton}|}, le comportement
+de \pkg{piton} est légèrement modifié, comme décrit maintenant.
\subsubsection{\{Piton\} et \textbackslash PitonInputFile sont ``overlay-aware''}
-Quand \pkg{piton} est utilisé avec Beamer, l'environnement |{Piton}| et la commande |\PitonInputFile| acceptent
-l'argument optionnel |<...>| de Beamer pour indiquer les «\emph{overlays}» concernés.
+Quand \pkg{piton} est utilisé avec Beamer, l'environnement |{Piton}| et la commande
+|\PitonInputFile| acceptent l'argument optionnel |<...>| de Beamer pour indiquer les
+«\emph{overlays}» concernés.
On peut par exemple écrire :
@@ -1575,27 +1709,37 @@ ou aussi
\subsubsection{Commandes de Beamer reconnues dans \{Piton\} et \textbackslash PitonInputFile}
-Quand \pkg{piton} est utilisé dans la classe \cls{beamer}, les commandes suivantes de \cls{beamer} (classées selon
-leur nombre d'arguments obligatoires) sont directement reconnues dans les environnements |{Piton}| (ainsi que dans
-les listings composés par la commande |\PitonInputFile|, même si c'est sans doute moins utile).
+\index{detected-beamer-commands}
+
+Quand \pkg{piton} est utilisé dans la classe \cls{beamer}, les commandes suivantes de
+\cls{beamer} (classées selon leur nombre d'arguments obligatoires) sont directement
+reconnues dans les environnements |{Piton}| (ainsi que dans les listings composés par la
+commande |\PitonInputFile|, même si c'est sans doute moins utile).
%
\begin{itemize}
-\item aucun argument obligatoire : |\pause|\footnote{On remarquera que, bien sûr, on peut aussi utiliser |\pause|
- dans un «commentaire LaTeX», c'est-à-dire en écrivant |#> \pause|. Ainsi, si le code Python est copié, il est
- interprétable par Python.} ;
-\item un argument obligatoire : |\action|, |\alert|, |\invisible|, |\only|, |\uncover| et |\visible| ;
-\item deux arguments obligatoires : |\alt| ;
+\item aucun argument obligatoire : |\pause|\footnote{On remarquera que, bien sûr, on peut
+aussi utiliser |\pause| dans un «commentaire LaTeX», c'est-à-dire en écrivant
+|#> \pause|. Ainsi, si le code Python est copié, il est interprétable par Python.} ;
+\item un argument obligatoire : |\action|, |\alert|, |\invisible|, |\only|, |\uncover| et
+|\visible| ; \newline
+\colorbox{yellow!50}{\bfseries Nouveau 3.1} on peut rajouter à cette liste de
+nouveaux noms de commandes avec la clé \Definition{detected-beamer-commands} (les noms de
+commandes ne doivent \emph{pas} être précédés de la contre-oblique) ;
+\item deux arguments obligatoires : |\alt| ;
\item trois arguments obligatoires : |\temporal|.
\end{itemize}
\medskip
-Les accolades dans les arguments obligatoires de ces commandes doivent être équilibrées (cependant, les accolades
-présentes dans des chaînes courtes\footnote{Les chaînes courtes de Python sont les chaînes (string) délimitées par
- les caractères \texttt{'} ou \texttt{"} non triplés. En Python, les chaînes de caractères courtes ne peuvent pas
- s'étendre sur plusieurs lignes de code.} de Python ne sont pas prises en compte).
+Ces commandes doivent être utilisées précédées et suivies d'un espace. Les accolades dans
+les arguments obligatoires de ces commandes doivent être équilibrées (cependant, les
+accolades présentes dans des chaînes courtes\footnote{Les chaînes courtes de Python sont
+ les chaînes (string) délimitées par les caractères \texttt{'} ou \texttt{"} non triplés.
+ En Python, les chaînes de caractères courtes ne peuvent pas s'étendre sur plusieurs
+ lignes de code.} de Python ne sont pas prises en compte).
\medskip
-Concernant les fonctions |\alt| et |\temporal|, aucun retour à la ligne ne doit se trouver dans les arguments de ces fonctions.
+Concernant les fonctions |\alt| et |\temporal|, aucun retour à la ligne ne doit se trouver
+dans les arguments de ces fonctions.
\medskip
@@ -1618,22 +1762,29 @@ def string_of_list(l):
\end{document}
\end{Verbatim}
-Dans l'exemple précédent, les accolades des deux chaînes de caractères Python |"{"| et |"}"| sont correctement
-interprétées (sans aucun caractère d'échappement).
+Dans l'exemple précédent, les accolades des deux chaînes de caractères Python |"{"| et
+ |"}"| sont correctement interprétées (sans aucun caractère d'échappement).
\bigskip
\subsubsection{Environnements de Beamer reconnus dans \{Piton\} et \textbackslash PitonInputFile}
-Quand \pkg{piton} est utilisé dans la classe \pkg{beamer}, les environnements suivants de Beamer sont directement
-reconnus dans les environnements |{Piton}| (ainsi que dans les listings composés par la commande |\PitonInputFile|
-même si c'est sans doute moins utile) : |{actionenv}|, |{alertenv}|, |{invisibleenv}|, |{onlyenv}|, |{uncoverenv}|
-et |{visibleenv}|.
+Quand \pkg{piton} est utilisé dans la classe \pkg{beamer}, les environnements suivants de
+Beamer sont directement reconnus dans les environnements |{Piton}| (ainsi que dans les
+listings composés par la commande |\PitonInputFile| même si c'est sans doute moins utile)
+: |{actionenv}|, |{alertenv}|, |{invisibleenv}|, |{onlyenv}|, |{uncoverenv}| et
+|{visibleenv}|.
+\smallskip
+\index{detected-beamer-environments} \colorbox{yellow!50}{\bfseries Nouveau 3.1}\enskip On
+peut ajouter de nouveaux environnements à cette liste d'environnements reconnus avec la
+clé \Definition{detected-beamer-environments}.
\medskip
-Il y a néanmoins une restriction : ces environnements doivent englober des \emph{lignes entières de code Python}.
+Il y a néanmoins une restriction : ces environnements doivent englober des \emph{lignes
+ entières de code Python}. Les instructions |\begin{...}| et |\end{...}| doivent être
+seules sur leurs lignes.
\medskip
@@ -1657,25 +1808,29 @@ def carré(x):
-\vspace{1cm}
-\textbf{Remarque à propos de la commande \textbackslash alert et de l'environnement \{alertenv\} de Beamer}\par\nobreak
+\vspace{1cm}
+\textbf{Remarque à propos de la commande \textbackslash alert et de
+ l'environnement \{alertenv\} de Beamer}\par\nobreak
\smallskip
-Beamer propose un moyen aisé de changer la couleur utilisée par l'environnement |{alertenv}| (et par la commande
-|\alert| qui s'appuie dessus). Par exemple, on peut écrire:
+Beamer propose un moyen aisé de changer la couleur utilisée par l'environnement
+|{alertenv}| (et par la commande |\alert| qui s'appuie dessus). Par exemple, on peut
+écrire:
\begin{Verbatim}
\setbeamercolor{~emphase#alerted text@}{fg=blue}
\end{Verbatim}
-Néanmoins, dans le cas d'une utilisation à l'intérieur d'un environnement |{Piton}| un tel réglage n'est sans doute
-pas pertinent, puisque, justement, \pkg{piton} va (le plus souvent) changer la couleur des élements selon leur
-valeur lexicale. On préfèrera sans doute un environnement |{alertenv}| qui change la couleur de fond des
-éléments à mettre en évidence.
+Néanmoins, dans le cas d'une utilisation à l'intérieur d'un environnement |{Piton}| un tel
+réglage n'est sans doute pas pertinent, puisque, justement, \pkg{piton} va (le plus
+souvent) changer la couleur des élements selon leur valeur lexicale. On préfèrera sans
+doute un environnement |{alertenv}| qui change la couleur de fond des éléments à mettre en
+évidence.
\smallskip
-Voici un code qui effectuera ce travail en mettant un fond jaune. Ce code utilise la commande |\@highLight| de
-l'extension \pkg{lua-ul} (cette extension nécessite elle-même l'extension \pkg{luacolor}).
+Voici un code qui effectuera ce travail en mettant un fond jaune. Ce code utilise la
+commande |\@highLight| de l'extension \pkg{lua-ul} (cette extension nécessite elle-même
+l'extension \pkg{luacolor}).
\begingroup
\fvset{commandchars=\~\#\+,formatcom=\color{gray}}
@@ -1688,8 +1843,9 @@ l'extension \pkg{lua-ul} (cette extension nécessite elle-même l'extension \pkg
\end{Verbatim}
\endgroup
-Ce code redéfinit localement l'environnement |{alertenv}| à l'intérieur de l'environnement |{Piton}| (on rappelle
-que la commande |\alert| s'appuie sur cet environnement |{alertenv}|).
+Ce code redéfinit localement l'environnement |{alertenv}| à l'intérieur de l'environnement
+|{Piton}| (on rappelle que la commande |\alert| s'appuie sur cet environnement
+|{alertenv}|).
@@ -1707,33 +1863,122 @@ que la commande |\alert| s'appuie sur cet environnement |{alertenv}|).
\label{footnote}
-Si vous voulez mettre des notes de pied de page dans un environnement de \pkg{piton} (ou bien dans un listing
-produit par |\PitonInputFile|, bien que cela paraisse moins pertinent dans ce cas-là) vous pouvez utiliser une
-paire |\footnotemark|--|\footnotetext|.
+\smallskip
+Si vous voulez mettre des notes de pied de page dans un environnement de \pkg{piton} (ou
+bien dans un listing produit par |\PitonInputFile|, bien que cela paraisse moins pertinent
+dans ce cas-là) vous pouvez utiliser une paire |\footnotemark|--|\footnotetext|.
\smallskip
-Néanmoins, il est également possible d'extraire les notes de pieds de page avec l'extension \pkg{footnote} ou bien
-l'extension \pkg{footnotehyper}.
+Néanmoins, il est également possible d'extraire les notes de pieds de page avec
+l'extension \pkg{footnote} ou bien l'extension \pkg{footnotehyper}.
\smallskip
-Si \pkg{piton} est chargée avec l'option \Definition{footnote} (avec |\usepackage[footnote]{piton}|) l'extension
-\pkg{footnote} est chargée (si elle ne l'est pas déjà) et elle est utilisée pour extraire les notes de pied de
-page.
+Si \pkg{piton} est chargée avec l'option \Definition{footnote} (avec
+|\usepackage[footnote]{piton}|) l'extension \pkg{footnote} est chargée (si elle ne l'est
+pas déjà) et elle est utilisée pour extraire les notes de pied de page.
\smallskip
-Si \pkg{piton} est chargée avec l'option \Definition{footnotehyper}, l'extension \pkg{footnotehyper} est chargée
-(si elle ne l'est pas déjà) et elle est utilisée pour extraire les notes de pied de page.
+Si \pkg{piton} est chargée avec l'option \Definition{footnotehyper}, l'extension
+\pkg{footnotehyper} est chargée (si elle ne l'est pas déjà) et elle est utilisée pour
+extraire les notes de pied de page.
\smallskip
Attention : Les extensions \pkg{footnote} et \pkg{footnotehyper} sont incompatibles.
-L'extension \pkg{footnotehyper} est le successeur de l'extension \pkg{footnote}
-et devrait être utilisée préférentiellement. L'extension \pkg{footnote} a quelques défauts ;
-en particulier, elle doit être chargée après l'extension \pkg{xcolor} et elle n'est pas parfaitement
-compatible avec \pkg{hyperref}.
+L'extension \pkg{footnotehyper} est le successeur de l'extension \pkg{footnote} et devrait
+être utilisée préférentiellement. L'extension \pkg{footnote} a quelques défauts ; en
+particulier, elle doit être chargée après l'extension \pkg{xcolor} et elle n'est pas
+parfaitement compatible avec \pkg{hyperref}.
+
+
+\medskip
+\textbf{Remarque importante} : Si vous utilisez Beamer, il faut savoir que Beamer a son
+propre système d'extraction des notes de pied de page et vous n'avez donc pas à charger
+\pkg{piton} avec la clé |footnote| ou bien la clé |footnotehyper|.
+
+\bigskip
+Par défaut, une commande |\footnote| ne peut apparaître que dans un «commentaire LaTeX».
+Mais on peut aussi ajouter la commande |\footnote| à la liste des
+``\emph{detected-commands}'' (cf.~partie~\ref{detected-commands},
+p.~\pageref{detected-commands}).
\medskip
-Dans ce document, l'extension \pkg{piton} a été chargée avec l'option |footnotehyper| et c'est pourquoi des notes
-peuvent être mises dans les environnements |{Piton}| : voir un exemple sur la première page de ce document.
+Dans ce document, l'extension \pkg{piton} a été chargée avec l'option |footnotehyper| et
+on rajouté la commande |\footnote| aux ``\emph{detected-commands}'' avec le code suivant
+dans la préambule du document LaTeX :
+
+\qquad \verb|\PitonOptions{detected-commands = footnote}|
+
+\begingroup
+\fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
+\begin{Verbatim}
+\PitonOptions{background-color=gray!10}
+\begin{Piton}
+def arctan(x,n=10):
+ if x < 0:
+ return -arctan(-x)~emphase&\footnote{Un premier appel récursif.}@
+ elif x > 1:
+ return pi/2 - arctan(1/x)~emphase&\footnote{Un deuxième appel récursif.}@
+ else:
+ return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+\end{Piton}
+\end{Verbatim}
+\endgroup
+
+\begingroup
+\PitonOptions{background-color=gray!10}
+\begin{Piton}
+def arctan(x,n=10):
+ if x < 0:
+ return -arctan(-x)\footnote{Un premier appel récursif.}
+ elif x > 1:
+ return pi/2 - arctan(1/x)\footnote{Un deuxième appel récursif.}
+ else:
+ return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+\end{Piton}
+\endgroup
+
+
+\vspace{1cm}
+
+Si on utilise l'environnement |{Piton}| dans un environnement |{minipage}| de LaTeX, les
+notes sont, bien entendu, composées au bas de l'environnement |{minipage}|. Rappelons
+qu'une telle |{minipage}| ne peut être coupée par un saut de page.
+
+
+\begingroup
+\fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
+\begin{Verbatim}
+\PitonOptions{background-color=gray!10}
+\emphase\begin{minipage}{\linewidth}
+\begin{Piton}
+def arctan(x,n=10):
+ if x < 0:
+ return -arctan(-x)~emphase&\footnote{Un premier appel récursif.}@
+ elif x > 1:
+ return pi/2 - arctan(1/x)~emphase&\footnote{Un deuxième appel récursif.}@
+ else:
+ return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+\end{Piton}
+\end{minipage}
+\end{Verbatim}
+\endgroup
+
+\begingroup
+\PitonOptions{background-color=gray!10}
+\begin{minipage}{\linewidth}
+\begin{Piton}
+def arctan(x,n=10):
+ if x < 0:
+ return -arctan(-x)\footnote{Un premier appel récursif.}
+ elif x > 1:
+ return pi/2 - arctan(1/x)\footnote{Un deuxième appel récursif.}
+ else:
+ return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+\end{Piton}
+\end{minipage}
+\endgroup
+
+
\subsection{Tabulations}
@@ -1741,15 +1986,20 @@ peuvent être mises dans les environnements |{Piton}| : voir un exemple sur la p
\index{tab-size}
\smallskip
-Même s'il est recommandé d'indenter les listings Python avec des espaces (cf. PEP~8), \pkg{piton} accepte les
-caractères de tabulations (U+0009) en début de ligne. Chaque caractère U+0009 est remplacé par $n$ espaces. La
-valeur initiale de~$n$ est~4 mais on peut la changer avec la clé \Definition{tab-size} de |\PitonOptions|.
+Même s'il est recommandé d'indenter les listings Python avec des espaces (cf. PEP~8),
+\pkg{piton} accepte les caractères de tabulations (U+0009) en début de ligne. Chaque
+caractère U+0009 est remplacé par $n$ espaces. La valeur initiale de~$n$ est~4 mais on
+peut la changer avec la clé \Definition{tab-size} de |\PitonOptions|.
\smallskip
-Il existe aussi une clé \Definition{tabs-auto-gobble} qui détermine le nombre minimal de caractères U+0009 débutant
-chaque ligne (non vide) de l'environnement |{Piton}| et applique |gobble| avec cette valeur (avant le remplacement
-des caractères U+0009 par des espaces, bien entendu). Cette clé est donc similaire à la clé |auto-gobble| mais agit
-sur des caractères U+0009 au lieu de caractères U+0020 (espaces).
+Il existe aussi une clé \Definition{tabs-auto-gobble} qui détermine le nombre minimal de
+caractères U+0009 débutant chaque ligne (non vide) de l'environnement |{Piton}| et
+applique |gobble| avec cette valeur (avant le remplacement des caractères U+0009 par des
+espaces, bien entendu). Cette clé est donc similaire à la clé |auto-gobble| mais agit sur
+des caractères U+0009 au lieu de caractères U+0020 (espaces).
+
+\smallskip
+La clé |env-gobble| n'est pas compatible avec les tabulations.
\section{API pour les développeurs}
@@ -1764,22 +2014,24 @@ La variable L3 |\l_piton_language_str| contient le nom du langage courant (en mi
\colorbox{yellow!50}{\textbf{Nouveau 2.6}}\par\nobreak
-L'extension \pkg{piton} fournit une fonction Lua |piton.get_last_code| sans argument permettant de récupérer le
-code contenu dans le dernier environnement de \pkg{piton}.
+L'extension \pkg{piton} fournit une fonction Lua |piton.get_last_code| sans argument
+permettant de récupérer le code contenu dans le dernier environnement de \pkg{piton}.
\begin{itemize}
-\item Les retours à la ligne (présents dans l'environnement de départ) apparaissent comme des caractères |\r|
-(c'est-à-dire des caractères U+000D).
+\item Les retours à la ligne (présents dans l'environnement de départ) apparaissent comme
+des caractères |\r| (c'est-à-dire des caractères U+000D).
-\item Le code fourni par |piton.get_last_code()| tient compte de l'éventuelle application d'une clé |gobble| (cf.
-p.~\pageref{gobble}).
+\item Le code fourni par |piton.get_last_code()| tient compte de l'éventuelle application
+d'une clé |gobble| (cf. p.~\pageref{gobble}).
-\item Les surcharges du code (qui entraînent des échappements vers LaTeX) ont été retirées du code fourni par
-|piton.get_last_code()|. Cela s'applique aux commandes LaTeX déclarées par la clé |detected-commands| (cf.
-partie~\ref{detected-commands}) et aux éléments insérés avec le mécanisme «|escape|» (cf. partie~\ref{escape}).
+\item Les surcharges du code (qui entraînent des échappements vers LaTeX) ont été retirées
+du code fourni par |piton.get_last_code()|. Cela s'applique aux commandes LaTeX déclarées
+par la clé |detected-commands| (cf. partie~\ref{detected-commands}) et aux éléments
+insérés avec le mécanisme «|escape|» (cf. partie~\ref{escape}).
-\item |piton.get_last_code| est une fonction Lua et non une chaîne de caractères : les traitements présentés
-précédemment sont exécutés lorsque la fonction est appelée. De ce fait, il peut être judicieux de stocker la valeur
-renvoyée par |piton.get_last_code()| dans une variable Lua si on doit l'utiliser plusieurs fois.
+\item |piton.get_last_code| est une fonction Lua et non une chaîne de caractères : les
+traitements présentés précédemment sont exécutés lorsque la fonction est appelée. De ce
+fait, il peut être judicieux de stocker la valeur renvoyée par |piton.get_last_code()|
+dans une variable Lua si on doit l'utiliser plusieurs fois.
\end{itemize}
\medskip
@@ -1794,12 +2046,15 @@ partie~\ref{pyluatex}, p.~\pageref{pyluatex}.
\label{example-numbering}
\index{numérotation des lignes de code|emph}
-On rappelle que l'on peut demander la numérotation des lignes des listings avec la clé |line-numbers|.
+On rappelle que l'on peut demander la numérotation des lignes des listings avec la clé
+|line-numbers| (utilisée sans valeur).
-Par défaut, les numéros de ligne sont composés par \pkg{piton} en débordement à gauche (en utilisant en interne la commande |\llap| de LaTeX).
+Par défaut, les numéros de ligne sont composés par \pkg{piton} en débordement à gauche (en
+utilisant en interne la commande |\llap| de LaTeX).
-Si on ne veut pas de débordement, on peut utiliser l'option |left-margin=auto| qui va insérer une marge adaptée aux
-numéros qui seront insérés (elle est plus large quand les numéros dépassent 10).
+Si on ne veut pas de débordement, on peut utiliser l'option |left-margin=auto| qui va
+insérer une marge adaptée aux numéros qui seront insérés (elle est plus large quand les
+numéros dépassent 10).
\begingroup
@@ -1841,8 +2096,8 @@ def arctan(x,n=10):
\label{example-comments}
\index{commentaires LaTeX|emph}
-On peut modifier le style |Comment.LaTeX| (avec |\SetPitonStyle|) pour faire afficher les commentaires
-LaTeX (qui débutent par |#>|) en butée à droite.
+On peut modifier le style |Comment.LaTeX| (avec |\SetPitonStyle|) pour faire afficher les
+commentaires LaTeX (qui débutent par |#>|) en butée à droite.
\begingroup
\fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
@@ -1876,10 +2131,10 @@ def arctan(x,n=10):
\endgroup
-\vspace{1cm}
-On peut aussi faire afficher les commentaires dans une deuxième colonne à droite si on limite la largeur du code
-proprement dit avec la clé |width|. Dans l'exemple qui suit, on utilise la clé |width| avec la valeur
-spéciale~|min|. Plusieurs compilations sont nécessaires.
+\vspace{1cm} On peut aussi faire afficher les commentaires dans une deuxième colonne à
+droite si on limite la largeur du code proprement dit avec la clé |width|. Dans l'exemple
+qui suit, on utilise la clé |width| avec la valeur spéciale~|min|. Plusieurs compilations
+sont nécessaires.
\begingroup
@@ -1925,100 +2180,18 @@ def arctan(x,n=10):
\bigskip
-\subsection{Notes dans les listings}
-
-\index{notes dans les listings|emph}
-
-Pour pouvoir extraire les notes (introduites par |\footnote|), l'extension |piton| doit être chargée, soit avec la
-clé |footnote|, soit avec la clé |footnotehyper|, comme expliqué à la section \ref{footnote} p.~\pageref{footnote}.
-Dans le présent document, l'extension \pkg{piton} a été chargée par la clé |footnotehyper|.
-
-Bien entendu, une commande |\footnote| ne peut apparaître que dans un commentaire LaTeX (qui débute par |#>|). Un
-tel commentaire peut se limiter à cette unique commande |\footnote|, comme dans l'exemple suivant.
-
-\begingroup
-\fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
-\begin{Verbatim}
-\PitonOptions{background-color=gray!10}
-\begin{Piton}
-def arctan(x,n=10):
- if x < 0:
- return -arctan(-x)~emphase&#>\footnote{Un premier appel récursif.}]@
- elif x > 1:
- return pi/2 - arctan(1/x)~emphase&#>\footnote{Un deuxième appel récursif.}@
- else:
- return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-\end{Piton}
-\end{Verbatim}
-\endgroup
-
-\begingroup
-\PitonOptions{background-color=gray!10}
-\begin{Piton}
-def arctan(x,n=10):
- if x < 0:
- return -arctan(-x)#>\footnote{Un premier appel récursif.}
- elif x > 1:
- return pi/2 - arctan(1/x)#>\footnote{Un deuxième appel récursif.}
- else:
- return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-\end{Piton}
-\endgroup
-
-
-\vspace{1cm}
-
-Si on utilise l'environnement |{Piton}| dans un environnement |{minipage}| de LaTeX, les notes sont, bien entendu,
-composées au bas de l'environnement |{minipage}|. Rappelons qu'une telle |{minipage}| ne peut être coupée par un
-saut de page.
-
-
-\begingroup
-\fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
-\begin{Verbatim}
-\PitonOptions{background-color=gray!10}
-\emphase\begin{minipage}{\linewidth}
-\begin{Piton}
-def arctan(x,n=10):
- if x < 0:
- return -arctan(-x)~emphase&#>\footnote{Un premier appel récursif.}@
- elif x > 1:
- return pi/2 - arctan(1/x)~emphase&#>\footnote{Un deuxième appel récursif.}@
- else:
- return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-\end{Piton}
-\end{minipage}
-\end{Verbatim}
-\endgroup
-
-\begingroup
-\PitonOptions{background-color=gray!10}
-\begin{minipage}{\linewidth}
-\begin{Piton}
-def arctan(x,n=10):
- if x < 0:
- return -arctan(-x)#>\footnote{Un premier appel récursif.}
- elif x > 1:
- return pi/2 - arctan(1/x)#>\footnote{Un deuxième appel récursif.}
- else:
- return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-\end{Piton}
-\end{minipage}
-\endgroup
-
-
-\bigskip
-
\subsection{Un exemple de réglage des styles}
Les styles graphiques ont été présentés à la partie \ref{styles}, p.~\pageref{styles}.
\smallskip
-On présente ici un réglage de ces styles adapté pour les documents en noir et blanc. On l'utilise avec la fonte
-\emph{DejaVu Sans Mono}\footnote{Voir: \url{https://dejavu-fonts.github.io}} spécifiée avec la commande
- |\setmonofont| de \pkg{fontspec}.
+On présente ici un réglage de ces styles adapté pour les documents en noir et blanc. On
+l'utilise avec la fonte \emph{DejaVu Sans Mono}\footnote{Voir:
+ \url{https://dejavu-fonts.github.io}} spécifiée avec la commande |\setmonofont| de
+\pkg{fontspec}.
-Ce réglage utilise la commande |\highLight| de \pkg{lua-ul} (cette extension nécessite elle-même l'extension \pkg{luacolor}).
+Ce réglage utilise la commande |\highLight| de \pkg{lua-ul} (cette extension nécessite
+elle-même l'extension \pkg{luacolor}).
\begin{Verbatim}
@@ -2044,10 +2217,11 @@ Ce réglage utilise la commande |\highLight| de \pkg{lua-ul} (cette extension n
\end{Verbatim}
-Dans ce réglage, de nombreuses valeurs fournies aux clés sont vides, ce qui signifie que le style correspondant
-n'insèrera aucune instruction de formatage (l'élément sera composé dans la couleur standard, le plus souvent, en noir,
-etc.). Ces entrées avec valeurs nulles sont néanmoins nécessaires car la valeur initiale de ces styles dans
-\pkg{piton} n'est \emph{pas} vide.
+Dans ce réglage, de nombreuses valeurs fournies aux clés sont vides, ce qui signifie que
+le style correspondant n'insèrera aucune instruction de formatage (l'élément sera composé
+dans la couleur standard, le plus souvent, en noir, etc.). Ces entrées avec valeurs nulles
+sont néanmoins nécessaires car la valeur initiale de ces styles dans \pkg{piton} n'est
+\emph{pas} vide.
\begingroup
@@ -2105,11 +2279,13 @@ def arctan(x,n=10):
\label{pyluatex}
\index{pyluatex@{\pkg{pyluatex}} (extension)}
-L'extension \pkg{pyluatex} est une extension qui permet l'exécution de code Python à partir de |lualatex| (pourvu
-que Python soit installé sur la machine et que la compilation soit effectuée avec |lualatex| et |--shell-escape|).
+L'extension \pkg{pyluatex} est une extension qui permet l'exécution de code Python à
+partir de |lualatex| (pourvu que Python soit installé sur la machine et que la compilation
+soit effectuée avec |lualatex| et |--shell-escape|).
-Voici, à titre d'exemple, un environnement |{PitonExecute}| qui formate un listing Python (avec \pkg{piton}) et qui
-affiche également dessous le résultat de l'exécution de ce code avec Python.
+Voici, à titre d'exemple, un environnement |{PitonExecute}| qui formate un listing Python
+(avec \pkg{piton}) et qui affiche également dessous le résultat de l'exécution de ce code
+avec Python.
\begin{Verbatim}
@@ -2129,12 +2305,12 @@ affiche également dessous le résultat de l'exécution de ce code avec Python.
\ignorespacesafterend}
-On a utilisé la fonction Lua |piton.get_last_code| fournie dans l'API de \pkg{piton} : cf.~partie~\ref{API},
-p.~\pageref{API}.
+ On a utilisé la fonction Lua |piton.get_last_code| fournie dans l'API de \pkg{piton} :
+ cf.~partie~\ref{API}, p.~\pageref{API}.
\bigskip
-Cet environnement |{PitonExecute}| prend en argument optionnel (entre crochets) les options proposées par la
-commande |\PitonOptions|.
+Cet environnement |{PitonExecute}| prend en argument optionnel (entre crochets) les
+options proposées par la commande |\PitonOptions|.
\begin{Verbatim}
\begin{~emphase#PitonExecute@}[background-color=gray!15]
@@ -2162,23 +2338,26 @@ print(f'Le carré de 12 est {carré(12)}.')
\index{pythonrepl@\texttt{\{pythonrepl\}} (environnement de \pkg{pyluatex})}
-L'environnement |{pythonrepl}| de \pkg{pyluatex} passe son contenu à Python et renvoie ce que l'on obtient quand on
-fournit ce code à une boucle \textsc{repl} (\emph{read-eval-print loop}) de Python. On obtient un entrelacement
-d'instructions précédées par le prompt |>>>| de Python et des valeurs renvoyées par Python (et de ce qui a été
-demandé d'être affiché avec des \piton{print} de Python).
+L'environnement |{pythonrepl}| de \pkg{pyluatex} passe son contenu à Python et renvoie ce
+que l'on obtient quand on fournit ce code à une boucle \textsc{repl}
+(\emph{read-eval-print loop}) de Python. On obtient un entrelacement d'instructions
+précédées par le prompt |>>>| de Python et des valeurs renvoyées par Python (et de ce qui
+a été demandé d'être affiché avec des \piton{print} de Python).
\medskip
-Il est ensuite possible de passer cela à un environnement |{Piton}| qui va faire un coloriage syntaxique
-et mettre sur fond grisé les lignes correspondant aux instructions fournies à l'interpréteur Python (grâce à la clé
-|prompt-background-color| de |\PitonOptions|).
+Il est ensuite possible de passer cela à un environnement |{Piton}| qui va faire un
+coloriage syntaxique et mettre sur fond grisé les lignes correspondant aux instructions
+fournies à l'interpréteur Python (grâce à la clé |prompt-background-color| de
+|\PitonOptions|).
\medskip
-Voici la programmation d'un environnement |{PitonREPL}| qui effectue ce travail (pour des raisons techniques, le
-|!| est ici obligatoire dans la signature de l'environnement). On ne peut pas procéder comme précédemment (dans
-l'utilisation «standard» de \pkg{pyluatex}) car, bien sûr, c'est le retour fait par |{pythonrepl}| qui doit être
-traité par \pkg{piton}. De ce fait, il ne sera pas possible de mettre des surcharges (avec |detected-commands| ou
-le mécanisme |escape|) dans le code.
+Voici la programmation d'un environnement |{PitonREPL}| qui effectue ce travail (pour des
+raisons techniques, le |!| est ici obligatoire dans la signature de l'environnement). On
+ne peut pas procéder comme précédemment (dans l'utilisation «standard» de \pkg{pyluatex})
+car, bien sûr, c'est le retour fait par |{pythonrepl}| qui doit être traité par
+\pkg{piton}. De ce fait, il ne sera pas possible de mettre des surcharges (avec
+|detected-commands| ou le mécanisme |escape|) dans le code.
\begin{Verbatim}
\ExplSyntaxOn
@@ -2263,11 +2442,12 @@ Voici un exemple d'utilisation de ce nouvel environnement |{PitonREPL}|.
\bigskip
-En fait, il est possible de ne pas faire afficher les prompts eux-mêmes (c'est-à-dire les chaînes de caractères
-|>>>| et |...|). En effet, \pkg{piton} propose un style pour ces éléments, qui est appelé |Prompt|. Par défaut, la
-valeur de ce style est vide, ce qui fait qu'aucune action n'est exécutée sur ces éléments qui sont donc affichés
-tels quels. En fournissant comme valeur une fonction qui se contente de gober son argument, on peut demander à ce
-qu'ils ne soient pas affichés.
+En fait, il est possible de ne pas faire afficher les prompts eux-mêmes (c'est-à-dire les
+chaînes de caractères |>>>| et |...|). En effet, \pkg{piton} propose un style pour ces
+éléments, qui est appelé |Prompt|. Par défaut, la valeur de ce style est vide, ce qui fait
+qu'aucune action n'est exécutée sur ces éléments qui sont donc affichés tels quels. En
+fournissant comme valeur une fonction qui se contente de gober son argument, on peut
+demander à ce qu'ils ne soient pas affichés.
\bigskip
\begin{savenotes}
@@ -2328,16 +2508,17 @@ L'exemple précédent donne alors :
\subsection{Le langage Python}
-Le langage par défaut de l'extension \pkg{piton} est Python. Si besoin est, on peut revenir au langage Python avec
-|\PitonOptions{language=Python}|.
+Le langage par défaut de l'extension \pkg{piton} est Python. Si besoin est, on peut
+revenir au langage Python avec |\PitonOptions{language=Python}|.
\bigskip
-Les réglages initiaux effectués par \pkg{piton} dans |piton.sty| sont inspirés par le style \pkg{manni} de Pygments
-tel qu'il est appliqué au langage Python par Pygments.\footnote{Voir \url{https://pygments.org/styles/}. À
- remarquer que, par défaut, Pygments propose pour le style \pkg{manni} un fond coloré dont la couleur est la
- couleur HTML |#F0F3F3|. Il est possible d'avoir la même couleur dans |{Piton}| avec l'instruction :
- |\PitonOptions{background-color = [HTML]{F0F3F3}}|}
+Les réglages initiaux effectués par \pkg{piton} dans |piton.sty| sont inspirés par le
+style \pkg{manni} de Pygments tel qu'il est appliqué au langage Python par
+Pygments.\footnote{Voir \url{https://pygments.org/styles/}. À remarquer que, par défaut,
+ Pygments propose pour le style \pkg{manni} un fond coloré dont la couleur est la couleur
+ HTML |#F0F3F3|. Il est possible d'avoir la même couleur dans |{Piton}| avec
+ l'instruction : |\PitonOptions{background-color = [HTML]{F0F3F3}}|}
\vspace{1cm}
@@ -2349,38 +2530,45 @@ tel qu'il est appliqué au langage Python par Pygments.\footnote{Voir \url{https
\midrule
Number & les nombres \\
String.Short & les chaînes de caractères courtes (entre \texttt{'} ou \texttt{"}) \\
- String.Long & les chaînes de caractères longues (entre \texttt{'''} ou \texttt{"""}) sauf les chaînes de
- documentation (qui sont gérées par |String.Doc|)\\
+ String.Long & les chaînes de caractères longues (entre \texttt{'''} ou \texttt{"""})
+ sauf les chaînes de documentation (qui sont gérées par |String.Doc|)\\
String & cette clé fixe à la fois |String.Short| et |String.Long| \\
String.Doc & les chaînes de documentation (seulement entre |"""| suivant PEP~257) \\
- String.Interpol & les éléments syntaxiques des champs des f-strings (c'est-à-dire les caractères \texttt{\{} et
- \texttt{\}}) ; ce style hérite des styles |String.Short| et |String.Long| (suivant la chaîne où
- apparaît l'interpolation)\\
- Interpol.Inside & le contenu des interpolations dans les f-strings (c'est-à-dire les éléments qui se trouvent entre
- \texttt{\{} et~\texttt{\}} ; si l'utilisateur n'a pas fixé ce style, ces éléments sont analysés et formatés par \pkg{piton}
- au même titre que le reste du code. \\
- Operator & les opérateurs suivants : \texttt{!= == << >> - \~{} + / * \% = < > \& .} \verb+|+ |@| \\
+ String.Interpol & les éléments syntaxiques des champs des f-strings (c'est-à-dire les
+ caractères \texttt{\{} et \texttt{\}}) ; ce style hérite des styles
+ |String.Short| et |String.Long| (suivant la chaîne où apparaît
+ l'interpolation)\\
+ Interpol.Inside & le contenu des interpolations dans les f-strings (c'est-à-dire les
+ éléments qui se trouvent entre \texttt{\{} et~\texttt{\}} ; si
+ l'utilisateur n'a pas fixé ce style, ces éléments sont analysés et
+ formatés par \pkg{piton} au même titre que le reste du code. \\
+ Operator & les opérateurs suivants : \texttt{!= == << >> - \~{} + / * \% = < > \& .}
+ \verb+|+ |@| \\
Operator.Word & les opérateurs suivants : |in|, |is|, |and|, |or| et |not| \\
Name.Builtin & la plupart des fonctions prédéfinies par Python \\
Name.Decorator & les décorateurs (instructions débutant par \verb|@|) \\
Name.Namespace & le nom des modules (= bibliothèques extérieures) \\
- Name.Class & le nom des classes au moment de leur définition, c'est-à-dire après le mot-clé \verb|class| \\
- Name.Function & le nom des fonctions définies par l'utilisateur \emph{au moment de leur définition} (après le
- mot-clé |def|) \\
- UserFunction & le nom des fonctions précédemment définies par l'utilisateur (la valeur initiale de ce paramètre est
- vide et ces éléments sont affichés en noir --- ou plutôt dans la couleur courante) \\
+ Name.Class & le nom des classes au moment de leur définition, c'est-à-dire après le
+ mot-clé \verb|class| \\
+ Name.Function & le nom des fonctions définies par l'utilisateur \emph{au moment de leur
+ définition} (après le mot-clé |def|) \\
+ UserFunction & le nom des fonctions précédemment définies par l'utilisateur (la valeur
+ initiale de ce paramètre est vide et ces éléments sont affichés en noir
+ --- ou plutôt dans la couleur courante) \\
Exception & les exceptions prédéfinies (ex.: \texttt{SyntaxError}) \\
- InitialValues & les valeurs initiales (et le symbole |=| qui précède) des arguments optionnels dans les définitions
- de fonctions ; si l'utilisateur n'a pas fixé ce style, ces éléments sont analysés et formatés par \pkg{piton}
+ InitialValues & les valeurs initiales (et le symbole |=| qui précède) des arguments
+ optionnels dans les définitions de fonctions ; si l'utilisateur n'a pas
+ fixé ce style, ces éléments sont analysés et formatés par \pkg{piton}
au même titre que le reste du code.\\
Comment & les commentaires commençant par \texttt{\#} \\
- Comment.LaTeX & les commentaires commençant par \texttt{\#>} qui sont composés par \pkg{piton} comme du code LaTeX (et
- appelés simplement «commentaires LaTeX» dans ce document) \\
+ Comment.LaTeX & les commentaires commençant par \texttt{\#>} qui sont composés par
+ \pkg{piton} comme du code LaTeX (et appelés simplement «commentaires
+ LaTeX» dans ce document) \\
Keyword.Constant & |True|, |False| et |None| \\
Keyword & les mots-clés suivants :
\ttfamily assert, break, case, continue, del,
elif, else, except, exec, finally, for, from,
- global, if, import, lambda, non local,
+ global, if, import, in, lambda, non local,
pass, raise, return, try, while,
with, yield et yield from.\\
\bottomrule
@@ -2421,17 +2609,18 @@ L'option est aussi disponible pour |\PitonInputFile| : |\PitonInputFile[language
String.Long & les chaînes de caractères, entre |"| mais aussi les \emph{quoted-strings} \\
String & cette clé fixe à la fois |String.Short| et |String.Long| \\
Operator & les opérateurs, en particulier |+|, |-|, |/|, |*|, |@|, |!=|, |==|, |&&| \\
- Operator.Word & les opérateurs suivants : |and|, |asr|, |land|, |lor|, |lsl|, |lxor|, |mod| et |or| \\
+ Operator.Word & les opérateurs suivants : |and|, |asr|, |land|, |lor|, |lsl|, |lxor|,
+ |mod| et |or| \\
Name.Builtin & les fonctions |not|, |incr|, |decr|, |fst| et |snd| \\
Name.Type & le nom des types OCaml \\
Name.Field & le nom d'un champ de module \\
Name.Constructor & le nom des constructeurs de types (qui débutent par une majuscule) \\
Name.Module & le nom des modules \\
- Name.Function & le nom des fonctions définies par l'utilisateur \emph{au moment de leur définition} (après le
- mot-clé |let|) \\
- UserFunction & le nom des fonctions précédemment définies par l'utilisateur
- (la valeur initiale de ce paramètre est
- vide et ces éléments sont affichés en noir --- ou plutôt dans la couleur courante) \\
+ Name.Function & le nom des fonctions définies par l'utilisateur \emph{au moment de leur
+ définition} (après le mot-clé |let|) \\
+ UserFunction & le nom des fonctions précédemment définies par l'utilisateur (la valeur
+ initiale de ce paramètre est vide et ces éléments sont affichés en noir
+ --- ou plutôt dans la couleur courante) \\
Exception & les exceptions prédéfinies (ex. : |End_of_File|) \\
TypeParameter & les paramétreurs de type \\
Comment & les commentaires, entre |(*| et |*)| ; ces commentaires peuvent être imbriqués \\
@@ -2477,28 +2666,33 @@ L'option est aussi disponible pour |\PitonInputFile| : |\PitonInputFile[language
\midrule
Number & les nombres \\
String.Long & les chaînes de caractères (entre \texttt{"}) \\
-String.Interpol & les éléments \texttt{\%d}, \texttt{\%i}, \texttt{\%f}, \texttt{\%c}, etc. dans les chaînes de
- caractères ; ce style hérite du style |String.Long| \\
+String.Interpol & les éléments \texttt{\%d}, \texttt{\%i}, \texttt{\%f}, \texttt{\%c},
+ etc. dans les chaînes de caractères ; ce style hérite du style
+ |String.Long| \\
Operator & les opérateurs suivants : \texttt{!= == << >> - \~{} + / * \% = < > \& .} \verb+|+ |@| \\
-Name.Type & les types prédéfinis suivants :
- |bool|, |char|, |char16_t|, |char32_t|, |double|, |float|, |int|, |int8_t|, |int16_t|, |int32_t|,
- |int64_t|, |long|, |short|, |signed|, |unsigned|, |void| et |wchar_t| \\
-Name.Builtin & les fonctions prédéfinies suivantes : |printf|, |scanf|, |malloc|, |sizeof| et |alignof| \\
- Name.Class & le nom des classes au moment de leur définition, c'est-à-dire après le mot-clé |class| \\
+Name.Type & les types prédéfinis suivants : |bool|, |char|, |char16_t|, |char32_t|,
+ |double|, |float|, |int|, |int8_t|, |int16_t|, |int32_t|, |int64_t|, |long|,
+ |short|, |signed|, |unsigned|, |void| et |wchar_t| \\
+Name.Builtin & les fonctions prédéfinies suivantes : |printf|, |scanf|, |malloc|, |sizeof|
+ et |alignof| \\
+ Name.Class & le nom des classes au moment de leur définition, c'est-à-dire après le
+ mot-clé |class| \\
Name.Function & le nom des fonctions définies par l'utilisateur \emph{au moment de leur définition} \\
-UserFunction & le nom des fonctions précédemment définies par l'utilisateur (la valeur initiale de ce paramètre est
- vide et ces éléments sont affichés en noir --- ou plutôt dans la couleur courante) \\
+UserFunction & le nom des fonctions précédemment définies par l'utilisateur (la valeur
+ initiale de ce paramètre est vide et ces éléments sont affichés en noir ---
+ ou plutôt dans la couleur courante) \\
Preproc & les instructions du préprocesseur (commençant par |#|) \\
Comment & les commentaires (commençant par \texttt{//} ou entre |/*| et |*/|) \\
-Comment.LaTeX & les commentaires commençant par \texttt{//>} qui sont composés par \pkg{piton} comme du code LaTeX (et
- appelés simplement «commentaires LaTeX» dans ce document) \\
+Comment.LaTeX & les commentaires commençant par \texttt{//>} qui sont composés par
+ \pkg{piton} comme du code LaTeX (et appelés simplement «commentaires
+ LaTeX» dans ce document) \\
Keyword.Constant & |default|, |false|, |NULL|, |nullptr| et |true| \\
-Keyword & les mots-clés suivants :
-|alignas|, |asm|, |auto|, |break|, |case|, |catch|, |class|,
-|constexpr|, |const|, |continue|, |decltype|, |do|, |else|, |enum|,
-|extern|, |for|, |goto|, |if|, |nexcept|, |private|, |public|, |register|, |restricted|, |try|,
-|return|, |static|, |static_assert|, |struct|, |switch|, |thread_local|, |throw|,
-|typedef|, |union|, |using|, |virtual|, |volatile| et |while|
+Keyword & les mots-clés suivants : |alignas|, |asm|, |auto|, |break|, |case|, |catch|,
+ |class|, |constexpr|, |const|, |continue|, |decltype|, |do|, |else|, |enum|,
+ |extern|, |for|, |goto|, |if|, |nexcept|, |private|, |public|, |register|,
+ |restricted|, |try|, |return|, |static|, |static_assert|, |struct|, |switch|,
+ |thread_local|, |throw|, |typedef|, |union|, |using|, |virtual|, |volatile| et
+ |while|
\\
\bottomrule
\end{tabularx}
@@ -2534,31 +2728,32 @@ L'option est aussi disponible pour |\PitonInputFile| : |\PitonInputFile[language
Number & les nombres \\
String.Long & les chaînes de caractères (entre \texttt{'} et non entre \texttt{"} car les éléments entre \texttt{"}
sont des noms de champs et formatés avec |Name.Field|) \\
-Operator & les opérateurs suivants :
-\texttt{= != <> >= > < <= * + / } \\
+Operator & les opérateurs suivants : \texttt{= != <> >= > < <= * + / } \\
Name.Table & les noms des tables \\
Name.Field & les noms des champs des tables \\
-Name.Builtin & les fonctions prédéfinies suivantes (leur nom n'est \emph{pas} sensible à la casse) :
- |avg|, |count|, |char_lenght|, |concat|, |curdate|, |current_date|,
- |date_format|, |day|, |lower|, |ltrim|, |max|, |min|, |month|, |now|,
- |rank|, |round|, |rtrim|, |substring|, |sum|, |upper| et |year|. \\
+Name.Builtin & les fonctions prédéfinies suivantes (leur nom n'est \emph{pas} sensible à
+ la casse) : |avg|, |count|, |char_lenght|, |concat|, |curdate|,
+ |current_date|, |date_format|, |day|, |lower|, |ltrim|, |max|, |min|,
+ |month|, |now|, |rank|, |round|, |rtrim|, |substring|, |sum|, |upper| et
+ |year|. \\
Comment & les commentaires (débutant par |--| ou bien entre |/*| et |*/|) \\
-Comment.LaTeX & les commentaires commençant par \texttt{-->} qui sont composés par \pkg{piton} comme du code LaTeX (et
- appelés simplement «commentaires LaTeX» dans ce document) \\
-Keyword & les mots-clés suivants (leur nom n'est \emph{pas} sensible à la casse) :
- |add|, |after|, |all|, |alter|, |and|, |as|, |asc|, |between|, |by|,
- |change|, |column|, |create|, |cross join|, |delete|, |desc|, |distinct|,
- |drop|, |from|, |group|, |having|, |in|, |inner|, |insert|, |into|, |is|,
- |join|, |left|, |like|, |limit|, |merge|, |not|, |null|, |on|, |or|,
- |order|, |over|, |right|, |select|, |set|, |table|, |then|, |truncate|,
- |union|, |update|, |values|, |when|, |where| et |with|. \\
+Comment.LaTeX & les commentaires commençant par \texttt{-->} qui sont composés par
+ \pkg{piton} comme du code LaTeX (et appelés simplement «commentaires
+ LaTeX» dans ce document) \\
+Keyword & les mots-clés suivants (leur nom n'est \emph{pas} sensible à la casse) : |add|,
+ |after|, |all|, |alter|, |and|, |as|, |asc|, |between|, |by|, |change|,
+ |column|, |create|, |cross join|, |delete|, |desc|, |distinct|, |drop|, |from|,
+ |group|, |having|, |in|, |inner|, |insert|, |into|, |is|, |join|, |left|,
+ |like|, |limit|, |merge|, |not|, |null|, |on|, |or|, |order|, |over|, |right|,
+ |select|, |set|, |table|, |then|, |truncate|, |union|, |update|, |values|,
+ |when|, |where| et |with|. \\
\bottomrule
\end{tabularx}
\end{center}
\bigskip
-Si on souhaite que les mots-clés soient capitalisés automatiquement, on peut modifier le style |Keywords|
-localement pour le langage SQL avec l'instruction :
+Si on souhaite que les mots-clés soient capitalisés automatiquement, on peut modifier le
+style |Keywords| localement pour le langage SQL avec l'instruction :
\begin{Verbatim}
\SetPitonStyle~emphase#[SQL]@{Keywords = \bfseries \MakeUppercase}
\end{Verbatim}
@@ -2598,16 +2793,18 @@ L'option est aussi disponible pour |\PitonInputFile| : |\PitonInputFile[language
Number & les nombres \\
String & les chaînes de caractères (qui sont entre \texttt{"}) \\
Comment & les commentaires (qui débutent par |#|) \\
-Comment.LaTeX & les commentaires commençant par \texttt{\#>} qui sont composés par \pkg{piton} comme du code LaTeX (et
- appelés simplement «commentaires LaTeX» dans ce document) \\
+Comment.LaTeX & les commentaires commençant par \texttt{\#>} qui sont composés par
+ \pkg{piton} comme du code LaTeX (et appelés simplement «commentaires
+ LaTeX» dans ce document) \\
\bottomrule
\end{tabularx}
\end{center}
\bigskip
-Ce langage «|minimal|» est proposé par \pkg{piton} à l'utilisateur final pour qu'il puisse y ajouter des
-formatages de mots-clés avec la commande |\SetPitonIdentifier| (cf. \ref{SetPitonIdentifier},
-p.~\pageref{SetPitonIdentifier}) et créer par exemple un langage pour pseudo-code.
+Ce langage «|minimal|» est proposé par \pkg{piton} à l'utilisateur final pour qu'il puisse
+y ajouter des formatages de mots-clés avec la commande |\SetPitonIdentifier| (cf.
+\ref{SetPitonIdentifier}, p.~\pageref{SetPitonIdentifier}) et créer par exemple un langage
+pour pseudo-code.
\newpage
@@ -2617,8 +2814,8 @@ p.~\pageref{SetPitonIdentifier}) et créer par exemple un langage pour pseudo-co
\indexcommand{NewPitonLanguage}
\vspace{1cm}
-La commande |\NewPitonLanguage|, qui permet de définir de nouveaux langages en utilisant la syntaxe de l'extension
-\pkg{listings}, a été présentée p.~\pageref{NewPitonLanguage}.
+La commande |\NewPitonLanguage|, qui permet de définir de nouveaux langages en utilisant
+la syntaxe de l'extension \pkg{listings}, a été présentée p.~\pageref{NewPitonLanguage}.
Tous les langages définis avec la commande |\NewPitonLanguage| partagent les mêmes styles.
@@ -2630,15 +2827,17 @@ Tous les langages définis avec la commande |\NewPitonLanguage| partagent les m
\normalfont Style & Usage \\
\midrule
Number & les nombres \\
-String.Long & les chaînes de caractères définies dans |\NewPitonLanguage| par la clé |morestring| \\
+String.Long & les chaînes de caractères définies dans |\NewPitonLanguage| par la clé
+ |morestring| \\
Comment & les commentaires définis dans |\NewPitonLanguage| par la clé |morecomment| \\
Comment.LaTeX & les commentaires qui sont composés par \pkg{piton} comme du code LaTeX (et
appelés simplement «commentaires LaTeX» dans ce document) \\
-Keyword & les mots-clés, définis dans |\NewPitonLanguage| par les clés |morekeywords| et |moretexcs| (et également
- la clé |sensitive| qui indique si les mots-clés sont sensibles à la casse) \\
+Keyword & les mots-clés, définis dans |\NewPitonLanguage| par les clés |morekeywords| et
+ |moretexcs| (et également la clé |sensitive| qui indique si les mots-clés sont
+ sensibles à la casse) \\
Directive & les directives définies dans |\NewPitonLanguage| par la clé |moredirectives| \\
-Tag & les «tags» définis par la clé |tag| (les lexèmes détectés à l'intérieur d'un tag seront
- aussi composés avec leur propre style) \\
+Tag & les «tags» définis par la clé |tag| (les lexèmes détectés à l'intérieur d'un tag
+ seront aussi composés avec leur propre style) \\
\bottomrule
\end{tabularx}
\end{center}
diff --git a/macros/luatex/latex/piton/piton.dtx b/macros/luatex/latex/piton/piton.dtx
index ec18e80eaa..38ef21b9b8 100644
--- a/macros/luatex/latex/piton/piton.dtx
+++ b/macros/luatex/latex/piton/piton.dtx
@@ -44,7 +44,7 @@
end-escape = ! ,
begin-escape-math = \( ,
end-escape-math = \) ,
- detected-commands = highLight
+ detected-commands = { highLight, footnote }
}
\parindent 0pt
@@ -79,12 +79,12 @@
% \iffalse
%<*STY>
% \fi
-\def\PitonFileVersion{3.0b}
-\def\PitonFileDate{2024/05/23}
+\def\PitonFileVersion{3.1a}
+\def\PitonFileDate{2024/08/12}
% \iffalse
%</STY>
%<*LUA>
-piton_version = "3.0b" -- 2024/05/23
+piton_version = "3.1a" -- 2024/08/12
%</LUA>
%\fi
%
@@ -361,8 +361,12 @@ piton_version = "3.0b" -- 2024/05/23
%
% \begin{itemize}
% \item The key \Definition{language} specifies which computer language is
-% considered (that key is case-insensitive). Five values are allowed :
-% |Python|, |OCaml|, |C|, |SQL| and |minimal|. The initial value is |Python|.
+% considered (that key is case-insensitive). It's possible to use the name of
+% the five built-in languages (|Python|, |OCaml|, |C|, |SQL| and |minimal|) or
+% the name of the language defined by the user with |\NewPitonLanguage|
+% (cf.~part~\ref{NewPitonLanguage}, p.~\pageref{NewPitonLanguage}.
+%
+% The initial value is |Python|.
%
% \item \index{path} The key \Definition{path} specifies a path where the files
% included by |\PitonInputFile| will be searched.
@@ -431,6 +435,13 @@ piton_version = "3.0b" -- 2024/05/23
% \item The key \Definition{line-numbers/sep} is the horizontal distance between
% the numbers of lines (inserted by |line-numbers|) and the beginning of the
% lines of code. The initial value is 0.7~em.
+% \item \colorbox{yellow!50}{\bfseries New 3.1}\enskip The key
+% \Definition{line-numbers/format} is a list of tokens which are inserted before
+% the number of line in order to format it. It's possible to put, \emph{at the
+% end} of the list, a LaTeX command with one argument, such as, for example,
+% |\fbox|.
+%
+% The initial value is |\footnotesize\color{gray}|.
% \end{itemize}
%
% For convenience, a mechanism of factorisation of the prefix |line-numbers| is
@@ -442,7 +453,8 @@ piton_version = "3.0b" -- 2024/05/23
% {
% skip-empty-lines = false ,
% label-empty-lines = false ,
-% sep = 1 em
+% sep = 1 em ,
+% line-format = \footnotesize \color{blue}
% }
% }
% \end{Verbatim}
@@ -473,6 +485,12 @@ piton_version = "3.0b" -- 2024/05/23
% The key |background-color| accepts a color defined «on the fly». For example,
% it's possible to write |background-color = [cmyk]{0.1,0.05,0,0}|.
%
+% \smallskip
+% When the key |split-on-empty-lines| is in force (see the part ``Page breaks'',
+% p.~\pageref{page breaks}), the empty lines generated by that key don't have
+% any background color (at least with the initial value of the parameter
+% |split-separation|).
+%
% \item \index{prompt-background-color} With the key
% \Definition{prompt-background-color}, \pkg{piton} adds a
% color background to the lines beginning with the prompt ``|>>>|'' (and its
@@ -976,6 +994,7 @@ piton_version = "3.0b" -- 2024/05/23
% \label{breakable}
%
% \subsubsection{Page breaks}
+% \label{page breaks}
% \index{splittable}
%
% By default, the listings produced by the environment |{Piton}| and the command
@@ -994,10 +1013,17 @@ piton_version = "3.0b" -- 2024/05/23
% In fact, when the key |split-on-empty-lines| is in force, the work goes a
% little further than merely allowing page breaks: several successive empty lines
% are deleted and replaced by the content of the parameter corresponding to the
-% key \Definition{split-separation}. The initial value of this parameter is
-% |\vspace{\baselineskip}\vspace{-1.25pt}| which corresponds eventually to an
+% key \Definition{split-separation}.
+% \begin{itemize}
+% \item That parameter must contain elements allowed to be inserted in
+% \emph{vertical mode} of TeX. For example, it's possible to put |\hrule|.
+%
+% \item The initial value of this parameter is
+% |\vspace{\baselineskip}\vspace{-1.25pt}| which corresponds eventually to an
% empty line in the final PDF (this vertical space is deleted if it occurs on a
-% page break).
+% page break). If the key |background-color| is in force, no background color is
+% added to that empty line.
+% \end{itemize}
%
% \item Of course, the key |split-on-empty-lines| may not be sufficient and
% that's why \pkg{piton} provides the key \Definition{splittable}.
@@ -1012,6 +1038,9 @@ piton_version = "3.0b" -- 2024/05/23
% When used without value, the key |splittable| is equivalent to
% |splittable = 1| and the listings may be broken anywhere (it's probably
% not recommandable).
+%
+% The initial value of the key |splittable| is equal to 100 (by default, the
+% listings are not breakable at all).
% \end{itemize}
%
%
@@ -1654,6 +1683,8 @@ piton_version = "3.0b" -- 2024/05/23
%
% \subsubsection{Commands of Beamer allowed in \{Piton\} and \textbackslash PitonInputFile}
%
+% \index{detected-beamer-commands}
+%
% When \pkg{piton} is used in the class \cls{beamer} , the following commands of
% \cls{beamer} (classified upon their number of arguments) are automatically
% detected in the environments |{Piton}| (and in the listings processed by
@@ -1663,17 +1694,23 @@ piton_version = "3.0b" -- 2024/05/23
% also possible to use the command \texttt{\textbackslash pause} in a ``LaTeX
% comment'', that is to say by writing \texttt{\#> \textbackslash pause}. By
% this way, if the Python code is copied, it's still executable by Python}. ;
-% \item one mandatory argument : |\action|, |\alert|, |\invisible|, |\only|, |\uncover| and |\visible| ;
+% \item one mandatory argument : |\action|, |\alert|, |\invisible|, |\only|,
+% |\uncover| and |\visible| ; \newline
+% \colorbox{yellow!50}{\bfseries New 3.1}\newline
+% It's possible to add new commands to that list with the key
+% \Definition{detected-beamer-commands} (the names of the commands must
+% \emph{not} be preceded by a backslash).
% \item two mandatory arguments : |\alt| ;
% \item three mandatory arguments : |\temporal|.
% \end{itemize}
-% \medskip
-% In the mandatory arguments of these commands, the braces must be balanced.
-% However, the braces included in short strings\footnote{The short strings of
-% Python are the strings delimited by characters \texttt{'} or the characters
-% \texttt{"} and not \texttt{'''} nor \texttt{"""}. In Python, the short strings
-% can't extend on several lines.} of Python are not considered.
+% \medskip
+% These commands must be used preceded and following by a space. In the
+% mandatory arguments of these commands, the braces must be balanced. However,
+% the braces included in short strings\footnote{The short strings of Python are
+% the strings delimited by characters \texttt{'} or the characters \texttt{"}
+% and not \texttt{'''} nor \texttt{"""}. In Python, the short strings can't
+% extend on several lines.} of Python are not considered.
%
% \medskip
% Regarding the functions |\alt| and |\temporal| there should be no carriage
@@ -1713,8 +1750,18 @@ piton_version = "3.0b" -- 2024/05/23
% listings processed by |\PitonInputFile|): |{actionenv}|, |{alertenv}|,
% |{invisibleenv}|, |{onlyenv}|, |{uncoverenv}| and |{visibleenv}|.
%
+% \smallskip
+% \index{detected-beamer-environments}
+% \colorbox{yellow!50}{\bfseries New 3.1}
+%
+% It's possible to add new environments to that list with the key
+% \Definition{detected-beamer-environments}.
+%
+% \smallskip
+%
% However, there is a restriction: these environments must contain only \emph{whole
-% lines of Python code} in their body.
+% lines of Python code} in their body. The instructions |\begin{...}| and
+% |\end{...}| must be alone on their lines.
%
%\medskip
% Here is an example:
@@ -1810,10 +1857,98 @@ piton_version = "3.0b" -- 2024/05/23
% in particular: it must be loaded after the package \pkg{xcolor} and it is not
% perfectly compatible with \pkg{hyperref}.
%
+%
+% \medskip
+% \textbf{Important remark} : If you use Beamer, you should know taht Beamer has
+% its own system to extract the footnotes. Therefore, \pkg{piton} must be loaded
+% in that class without the option |footnote| nor the option |footnotehyper|.
+%
+%
+% \bigskip
+% By default, in an environment |{Piton}|, a command |\footnote| may appear only
+% within a ``LaTeX comment''. But it's also possible to add the command
+% |\footnote| to the list of the ``\emph{detected-commands}''
+% (cf.~part~\ref{detected-commands}, p.~\pageref{detected-commands}).
+
% \medskip
% In this document, the package \pkg{piton} has been loaded with the
-% option |footnotehyper|. For examples of notes, cf. \ref{notes-examples},
-% p.~\pageref{notes-examples}.
+% option |footnotehyper| dans we added the command |\footnote| to the list of
+% the ``\emph{detected-commands}'' with the following instruction in the
+% preamble of the LaTeX document.
+%
+% \qquad \verb|\PitonOptions{detected-commands = footnote}|
+%
+%
+% \begingroup
+% \fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
+% \begin{Verbatim}
+% \PitonOptions{background-color=gray!10}
+% \begin{Piton}
+% def arctan(x,n=10):
+% if x < 0:
+% return -arctan(-x)~emphase&\footnote{First recursive call.}]@
+% elif x > 1:
+% return pi/2 - arctan(1/x)~emphase&\footnote{Second recursive call.}@
+% else:
+% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+% \end{Piton}
+% \end{Verbatim}
+% \endgroup
+%
+% \begingroup
+% \PitonOptions{background-color=gray!10}
+% \begin{Piton}
+% def arctan(x,n=10):
+% if x < 0:
+% return -arctan(-x)\footnote{First recursive call.}
+% elif x > 1:
+% return pi/2 - arctan(1/x)\footnote{Second recursive call.}
+% else:
+% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+% \end{Piton}
+% \endgroup
+%
+%
+% \vspace{1cm}
+%
+% If an environment |{Piton}| is used in an environment |{minipage}| of LaTeX,
+% the notes are composed, of course, at the foot of the environment
+% |{minipage}|. Recall that such |{minipage}| can't be broken by a page break.
+%
+%
+% \begingroup
+% \fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
+% \begin{Verbatim}
+% \PitonOptions{background-color=gray!10}
+% \emphase\begin{minipage}{\linewidth}
+% \begin{Piton}
+% def arctan(x,n=10):
+% if x < 0:
+% return -arctan(-x)~emphase&\footnote{First recursive call.}@
+% elif x > 1:
+% return pi/2 - arctan(1/x)~emphase&\footnote{Second recursive call.}@
+% else:
+% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+% \end{Piton}
+% \end{minipage}
+% \end{Verbatim}
+% \endgroup
+%
+% \begingroup
+% \PitonOptions{background-color=gray!10}
+% \begin{minipage}{\linewidth}
+% \begin{Piton}
+% def arctan(x,n=10):
+% if x < 0:
+% return -arctan(-x)\footnote{First recursive call.}
+% elif x > 1:
+% return pi/2 - arctan(1/x)\footnote{Second recursive call.}
+% else:
+% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+% \end{Piton}
+% \end{minipage}
+% \endgroup
+%
%
% \subsection{Tabulations}
%
@@ -1835,6 +1970,8 @@ piton_version = "3.0b" -- 2024/05/23
% course). Hence, that key is similar to the key |auto-gobble| but acts on
% U+0009 instead of U+0020 (spaces).
%
+% The key |env-gobble| is not compatible with the tabulations.
+%
%
% \bigskip
% \section{API for the developpers}
@@ -1882,7 +2019,7 @@ piton_version = "3.0b" -- 2024/05/23
% \index{numbers of the lines de code|emph}
%
% We remind that it's possible to have an automatic numbering of the lines in
-% the Python listings by using the key |line-numbers|.
+% the Python listings by using the key |line-numbers| (used without value).
%
% By default, the numbers of the lines are composed by \pkg{piton} in an
% overlapping position on the left (by using internally the command |\llap| of LaTeX).
@@ -2015,94 +2152,7 @@ piton_version = "3.0b" -- 2024/05/23
% \endgroup
%
%
-% \bigskip
-% \subsection{Notes in the listings}
-%
-% \label{notes-examples}
-% \index{notes in the listings}
%
-% In order to be able to extract the notes (which are typeset with the command
-% |\footnote|), the extension \pkg{piton} must be loaded with the key |footnote|
-% or the key |footenotehyper| as explained in the section \ref{footnote}
-% p.~\pageref{footnote}. In this document, the extension \pkg{piton} has been
-% loaded with the key |footnotehyper|.
-%
-% Of course, in an environment |{Piton}|, a command |\footnote| may appear only
-% within a LaTeX comment (which begins with |#>|). It's possible to have comments
-% which contain only that command |\footnote|. That's the case in the following example.
-%
-%
-%
-% \begingroup
-% \fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
-% \begin{Verbatim}
-% \PitonOptions{background-color=gray!10}
-% \begin{Piton}
-% def arctan(x,n=10):
-% if x < 0:
-% return -arctan(-x)~emphase&#>\footnote{First recursive call.}]@
-% elif x > 1:
-% return pi/2 - arctan(1/x)~emphase&#>\footnote{Second recursive call.}@
-% else:
-% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-% \end{Piton}
-% \end{Verbatim}
-% \endgroup
-%
-% \begingroup
-% \PitonOptions{background-color=gray!10}
-% \begin{Piton}
-% def arctan(x,n=10):
-% if x < 0:
-% return -arctan(-x)#>\footnote{First recursive call.}
-% elif x > 1:
-% return pi/2 - arctan(1/x)#>\footnote{Second recursive call.}
-% else:
-% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-% \end{Piton}
-% \endgroup
-%
-%
-% \vspace{1cm}
-%
-% If an environment |{Piton}| is used in an environment |{minipage}| of LaTeX,
-% the notes are composed, of course, at the foot of the environment
-% |{minipage}|. Recall that such |{minipage}| can't be broken by a page break.
-%
-%
-% \begingroup
-% \fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
-% \begin{Verbatim}
-% \PitonOptions{background-color=gray!10}
-% \emphase\begin{minipage}{\linewidth}
-% \begin{Piton}
-% def arctan(x,n=10):
-% if x < 0:
-% return -arctan(-x)~emphase&#>\footnote{First recursive call.}@
-% elif x > 1:
-% return pi/2 - arctan(1/x)~emphase&#>\footnote{Second recursive call.}@
-% else:
-% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-% \end{Piton}
-% \end{minipage}
-% \end{Verbatim}
-% \endgroup
-%
-% \begingroup
-% \PitonOptions{background-color=gray!10}
-% \begin{minipage}{\linewidth}
-% \begin{Piton}
-% def arctan(x,n=10):
-% if x < 0:
-% return -arctan(-x)#>\footnote{First recursive call.}
-% elif x > 1:
-% return pi/2 - arctan(1/x)#>\footnote{Second recursive call.}
-% else:
-% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-% \end{Piton}
-% \end{minipage}
-% \endgroup
-%
%
%
% \bigskip
@@ -2297,7 +2347,7 @@ piton_version = "3.0b" -- 2024/05/23
% Keyword & the following keywords:
% \ttfamily assert, break, case, continue, del,
% elif, else, except, exec, finally, for, from,
-% global, if, import, lambda, non local,
+% global, if, import, in, lambda, non local,
% pass, raise, return, try, while,
% with, yield et yield from.\\
% \bottomrule
@@ -2705,6 +2755,14 @@ piton_version = "3.0b" -- 2024/05/23
% \end{macrocode}
%
% \bigskip
+% The command |\text| provided by the package \pkg{amstext} will be used to
+% allow the use of the command |\pion{...}| (with the standard syntax) in
+% mathematical mode.
+% \begin{macrocode}
+\RequirePackage { amstext }
+% \end{macrocode}
+%
+% \bigskip
% \begin{macrocode}
\cs_new_protected:Npn \@@_error:n { \msg_error:nn { piton } }
\cs_new_protected:Npn \@@_warning:n { \msg_warning:nn { piton } }
@@ -2835,25 +2893,12 @@ piton_version = "3.0b" -- 2024/05/23
beamer .bool_gset:N = \g_@@_beamer_bool ,
beamer .default:n = true ,
-
- math-comments .code:n = \@@_error:n { moved~to~preamble } ,
- comment-latex .code:n = \@@_error:n { moved~to~preamble } ,
unknown .code:n = \@@_error:n { Unknown~key~for~package }
}
% \end{macrocode}
%
%
-% \bigskip
-% \begin{macrocode}
-\@@_msg_new:nn { moved~to~preamble }
- {
- The~key~'\l_keys_key_str'~*must*~now~be~used~with~
- \token_to_str:N \PitonOptions`in~the~preamble~of~your~
- document.\\
- That~key~will~be~ignored.
- }
-% \end{macrocode}
%
% \begin{macrocode}
\@@_msg_new:nn { Unknown~key~for~package }
@@ -2957,7 +3002,11 @@ piton_version = "3.0b" -- 2024/05/23
% \begin{macrocode}
\lua_now:n
{
- piton.ListCommands = lpeg.P ( false )
+ piton.BeamerCommands = lpeg.P ( "\\uncover" )
+ + "\\only" + "\\visible" + "\\invisible" + "\\alert" + "\\action"
+ piton.beamer_environments = { "uncoverenv" , "onlyenv" , "visibleenv" ,
+ "invisibleenv" , "alertenv" , "actionenv" }
+ piton.DetectedCommands = lpeg.P ( false )
piton.last_code = ''
piton.last_language = ''
}
@@ -3006,27 +3055,31 @@ piton_version = "3.0b" -- 2024/05/23
%
%
% \medskip
-% We will compute (with Lua) the numbers of lines of the Python code and store
+% We will compute (with Lua) the numbers of lines of the listings (or
+% \emph{chunks} of listings when |split-on-empty-lines| is in force) and store
% it in the following counter.
% \begin{macrocode}
\int_new:N \l_@@_nb_lines_int
% \end{macrocode}
%
-% The same for the number of non-empty lines of the Python codes.
+% The same for the number of non-empty lines of the listings.
% \begin{macrocode}
\int_new:N \l_@@_nb_non_empty_lines_int
% \end{macrocode}
%
% The following counter will be used to count the lines during the composition.
-% It will count all the lines, empty or not empty. It won't be used to print the
-% numbers of the lines.
+% It will take into account all the lines, empty or not empty. It won't be used
+% to print the numbers of the lines but will be used to allow or disallow line
+% breaks (when |splittable| is in force) and for the color of the background
+% (when |background-color| is used with a \emph{list} of colors).
% \begin{macrocode}
\int_new:N \g_@@_line_int
% \end{macrocode}
%
% \medskip
% The following token list will contain the (potential) information to write
-% on the |aux| (to be used in the next compilation).
+% on the |aux| (to be used in the next compilation). The technic of the
+% auxiliary file will be used when the key |width| is used with the value~|min|.
% \begin{macrocode}
\tl_new:N \g_@@_aux_tl
% \end{macrocode}
@@ -3034,26 +3087,31 @@ piton_version = "3.0b" -- 2024/05/23
% \medskip
% The following counter corresponds to the key |splittable| of |\PitonOptions|.
% If the value of |\l_@@_splittable_int| is equal to $n$, then no line break can
-% occur within the first $n$~lines or the last $n$~lines of the listings.
+% occur within the first $n$~lines or the last $n$~lines of a listing (or a
+% \emph{chunk} of listings when the key |split-on-empty-lines| is in force).
% \begin{macrocode}
\int_new:N \l_@@_splittable_int
% \end{macrocode}
%
% \medskip
+% An initial value of |splittable| equal to 100 is equivalent to say that the
+% environments |{Piton}| are unbreakable.
+% \begin{macrocode}
+\int_set:Nn \l_@@_splittable_int { 100 }
+% \end{macrocode}
+%
+% \medskip
% When the key |split-on-empty-lines| will be in force, then the following token
% list will be inserted between the chunks of code (the informatic code provided
-% by the final user is split in chunks on the empty lines in the code).
+% by the final user is split in chunks on the empty lines in the code).
% \begin{macrocode}
\tl_new:N \l_@@_split_separation_tl
-\tl_set:Nn \l_@@_split_separation_tl { \vspace{\baselineskip} \vspace{-1.25pt} }
+\tl_set:Nn \l_@@_split_separation_tl
+ { \vspace { \baselineskip } \vspace { -1.25pt } }
% \end{macrocode}
+% That parameter must contain elements to be inserted in \emph{vertical} mode by
+% TeX.
%
-% \medskip
-% An initial value of |splittable| equal to 100 is equivalent to say that the
-% environments |{Piton}| are unbreakable.
-% \begin{macrocode}
-\int_set:Nn \l_@@_splittable_int { 100 }
-% \end{macrocode}
%
%
% \medskip
@@ -3213,11 +3271,6 @@ piton_version = "3.0b" -- 2024/05/23
\dim_set:Nn \l_@@_numbers_sep_dim { 0.7 em }
% \end{macrocode}
%
-% \medskip
-% The tabulators will be replaced by the content of the following token list.
-% \begin{macrocode}
-\tl_new:N \l_@@_tab_tl
-% \end{macrocode}
%
% \medskip
% Be careful. The following sequence |\g_@@_languages_seq| is not the list of
@@ -3233,30 +3286,26 @@ piton_version = "3.0b" -- 2024/05/23
%
% \medskip
% \begin{macrocode}
-\cs_new_protected:Npn \@@_set_tab_tl:n #1
- {
- \tl_clear:N \l_@@_tab_tl
- \prg_replicate:nn { #1 }
- { \tl_put_right:Nn \l_@@_tab_tl { ~ } }
- }
-\@@_set_tab_tl:n { 4 }
+\int_new:N \l_@@_tab_size_int
+\int_set:Nn \l_@@_tab_size_int { 4 }
% \end{macrocode}
%
-% \medskip
-% When the key |show-spaces| is in force, |\l_@@_tab_tl| will be replaced by an
-% arrow by using the following command.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_convert_tab_tl:
- {
- \hbox_set:Nn \l_tmpa_box { \l_@@_tab_tl }
- \dim_set:Nn \l_tmpa_dim { \box_wd:N \l_tmpa_box }
- \tl_set:Nn \l_@@_tab_tl
+\cs_new_protected:Npn \@@_tab:
+ {
+ \bool_if:NTF \l_@@_show_spaces_bool
{
+ \hbox_set:Nn \l_tmpa_box
+ { \prg_replicate:nn \l_@@_tab_size_int { ~ } }
+ \dim_set:Nn \l_tmpa_dim { \box_wd:N \l_tmpa_box }
\( \mathcolor { gray }
- { \hbox_to_wd:nn \l_tmpa_dim { \rightarrowfill } \) }
+ { \hbox_to_wd:nn \l_tmpa_dim { \rightarrowfill } } \)
}
+ { \hbox:n { \prg_replicate:nn \l_@@_tab_size_int { ~ } } }
+ \int_gadd:Nn \g_@@_indentation_int \l_@@_tab_size_int
}
% \end{macrocode}
+%
%
% \medskip
% The following integer corresponds to the key |gobble|.
@@ -3373,7 +3422,8 @@ piton_version = "3.0b" -- 2024/05/23
% \bigskip
% \subsubsection{Treatment of a line of code}
%
-% The following command is only used once.
+% The following command is only used once. We have written an autonomous function
+% only for legibility.
% \begin{macrocode}
\cs_new_protected:Npn \@@_replace_spaces:n #1
{
@@ -3444,14 +3494,14 @@ piton_version = "3.0b" -- 2024/05/23
{
\bool_if:nF
{
- \str_if_eq_p:nn { #1 } { \PitonStyle {Prompt}{} }
+ \str_if_eq_p:nn { #1 } { \PitonStyle { Prompt } { } }
&&
\l_@@_skip_empty_lines_bool
}
{ \int_gincr:N \g_@@_visual_line_int }
\bool_if:nT
{
- ! \str_if_eq_p:nn { #1 } { \PitonStyle {Prompt}{} }
+ ! \str_if_eq_p:nn { #1 } { \PitonStyle { Prompt } { } }
||
( ! \l_@@_skip_empty_lines_bool && \l_@@_label_empty_lines_bool )
}
@@ -3579,24 +3629,63 @@ piton_version = "3.0b" -- 2024/05/23
% \end{macrocode}
%
% \bigskip
+% The command |\@@_newline:| will be inserted by Lua between two lines of the
+% informatic listing.
+% \begin{itemize}
+% \item In fact, it will be inserted between two commands
+% |\@@_begin_line:|...|\@@_end_of_line:|.
+% \item When the key |break-lines-in-Piton| is in force, a line of the
+% informatic code (the \emph{input}) may result in several lines in the PDF (the
+% \emph{output}).
+% \item |\@@_newline:| has a rather complex behaviour because it may close and
+% open |\vtop|s and finish and start paragraphs.
+% \end{itemize}
% \begin{macrocode}
\cs_new_protected:Npn \@@_newline:
{
+% \end{macrocode}
+% We recall that |\g_@@_line_int| is \emph{not} used for the number of line
+% printed in the PDF (when |line-numbers| is in force)...
+% \begin{macrocode}
\int_gincr:N \g_@@_line_int
+% \end{macrocode}
+% ... it will be used to allow or disallow page breaks (the final user controls
+% that behaviour with the key |splittable|).
+% \begin{macrocode}
\int_compare:nNnT \g_@@_line_int > { \l_@@_splittable_int - 1 }
{
\int_compare:nNnT
- { \l_@@_nb_lines_int - \g_@@_line_int } > \l_@@_splittable_int
+ { \l_@@_nb_lines_int - \g_@@_line_int + 1 } > \l_@@_splittable_int
+% \end{macrocode}
+% Now, we allow a page break after the current line of code.
+% \begin{macrocode}
{
\egroup
\bool_if:NT \g_@@_footnote_bool \endsavenotes
- \par \mode_leave_vertical:
+ \par
+% \end{macrocode}
+% Each non-splittable block of lines is composed in a |\vtop| of
+% TeX inserted in a paragraph of TeX.
+% \begin{itemize}
+% \item In the previous lines, we have closed a |\vtop| (with |\egroup|) and a
+% paragraph (with |\par|).
+% \item Now, we start a new paragraph (with |\mode_leave_vertical:|) and open a
+% |\vtop| (with |\vtop \bgroup|).
+% \end{itemize}
+% \begin{macrocode}
+ \mode_leave_vertical:
\bool_if:NT \g_@@_footnote_bool \savenotes
\vtop \bgroup
+% \end{macrocode}
+% And, in that |\vtop|, of course, we will put a box for each line of the
+% informatic listing (but a line of the informatic listing may be formatted as a
+% box of several lines when |break-lines-in-Piton| is in force).
+% \begin{macrocode}
}
}
}
% \end{macrocode}
+% After the command |\@@_newline:|, we will have a command |\@@_begin_line:|.
%
% \bigskip
% \begin{macrocode}
@@ -3637,6 +3726,8 @@ piton_version = "3.0b" -- 2024/05/23
\bool_new:N \l_@@_skip_empty_lines_bool
\bool_set_true:N \l_@@_skip_empty_lines_bool
\bool_new:N \l_@@_line_numbers_absolute_bool
+\tl_new:N \l_@@_line_numbers_format_bool
+\tl_set:Nn \l_@@_line_numbers_format_tl { \footnotesize \color { gray } }
\bool_new:N \l_@@_label_empty_lines_bool
\bool_set_true:N \l_@@_label_empty_lines_bool
\int_new:N \l_@@_number_lines_start_int
@@ -3667,12 +3758,8 @@ piton_version = "3.0b" -- 2024/05/23
false .code:n = \bool_set_false:N \l_@@_line_numbers_bool ,
start .code:n =
- \bool_if:NTF \l_@@_in_PitonOptions_bool
- { Invalid~key }
- {
- \bool_set_true:N \l_@@_line_numbers_bool
- \int_set:Nn \l_@@_number_lines_start_int { #1 }
- } ,
+ \bool_set_true:N \l_@@_line_numbers_bool
+ \int_set:Nn \l_@@_number_lines_start_int { #1 } ,
start .value_required:n = true ,
skip-empty-lines .code:n =
@@ -3699,11 +3786,7 @@ piton_version = "3.0b" -- 2024/05/23
{
\bool_set_true:N \l_@@_line_numbers_absolute_bool
\bool_set_false:N \l_@@_skip_empty_lines_bool
- }
- \bool_lazy_or:nnF
- \l_@@_in_PitonInputFile_bool
- \l_@@_in_PitonOptions_bool
- { \@@_error:n { Invalid~key } } ,
+ } ,
absolute .value_forbidden:n = true ,
resume .code:n =
@@ -3715,6 +3798,9 @@ piton_version = "3.0b" -- 2024/05/23
sep .dim_set:N = \l_@@_numbers_sep_dim ,
sep .value_required:n = true ,
+ format .tl_set:N = \l_@@_line_numbers_format_tl ,
+ format .value_required:n = true ,
+
unknown .code:n = \@@_error:n { Unknown~key~for~line-numbers }
}
% \end{macrocode}
@@ -3730,9 +3816,17 @@ piton_version = "3.0b" -- 2024/05/23
% First, we put keys that should be available only in the preamble.
% \begin{macrocode}
detected-commands .code:n =
- \lua_now:n { piton.addListCommands('#1') } ,
+ \lua_now:n { piton.addDetectedCommands('#1') } ,
detected-commands .value_required:n = true ,
detected-commands .usage:n = preamble ,
+ detected-beamer-commands .code:n =
+ \lua_now:n { piton.addBeamerCommands('#1') } ,
+ detected-beamer-commands .value_required:n = true ,
+ detected-beamer-commands .usage:n = preamble ,
+ detected-beamer-environments .code:n =
+ \lua_now:n { piton.addBeamerEnvironments('#1') } ,
+ detected-beamer-environments .value_required:n = true ,
+ detected-beamer-environments .usage:n = preamble ,
% \end{macrocode}
%
% Remark that the command |\lua_escape:n| is fully expandable. That's why we use
@@ -3849,11 +3943,9 @@ piton_version = "3.0b" -- 2024/05/23
} ,
left-margin .value_required:n = true ,
- tab-size .code:n = \@@_set_tab_tl:n { #1 } ,
+ tab-size .int_set:N = \l_@@_tab_size_int ,
tab-size .value_required:n = true ,
- show-spaces .code:n =
- \bool_set_true:N \l_@@_show_spaces_bool
- \@@_convert_tab_tl: ,
+ show-spaces .bool_set:N = \l_@@_show_spaces_bool ,
show-spaces .value_forbidden:n = true ,
show-spaces-in-strings .code:n = \tl_set:Nn \l_@@_space_tl { ␣ } , % U+2423
show-spaces-in-strings .value_forbidden:n = true ,
@@ -3939,7 +4031,7 @@ piton_version = "3.0b" -- 2024/05/23
% When using |\NewPitonEnvironment| a user may use |\PitonOptions| inside.
% However, the set of keys available should be different that in standard
% |\PitonOptions|. That's why we define a version of |\PitonOptions| with no
-% restrection on the set of available keys and we will link that version to
+% restriction on the set of available keys and we will link that version to
% |\PitonOptions| in such environment.
% \begin{macrocode}
\NewDocumentCommand \@@_fake_PitonOptions { }
@@ -3954,7 +4046,9 @@ piton_version = "3.0b" -- 2024/05/23
%
% \medskip
% The following counter will be used to count the lines in the code when the
-% user requires the numbers of the lines to be printed (with |line-numbers|).
+% user requires the numbers of the lines to be printed (with |line-numbers|)
+% whereas the counter |\g_@@_line_int| previously defined is \emph{not} used for
+% that functionality.
%
% \begin{macrocode}
\int_new:N \g_@@_visual_line_int
@@ -3974,9 +4068,12 @@ piton_version = "3.0b" -- 2024/05/23
\hbox_overlap_left:n
{
{
- \color { gray }
- \footnotesize
- \int_to_arabic:n \g_@@_visual_line_int
+ \l_@@_line_numbers_format_tl
+% \end{macrocode}
+% We put braces. Thus, the user may use the key |line-numbers/format| with a
+% value such as |\fbox|.
+% \begin{macrocode}
+ { \int_to_arabic:n \g_@@_visual_line_int }
}
\skip_horizontal:N \l_@@_numbers_sep_dim
}
@@ -4164,18 +4261,29 @@ piton_version = "3.0b" -- 2024/05/23
\NewDocumentCommand { \@@_piton_standard } { m }
{
\group_begin:
- \ttfamily
% \end{macrocode}
% The following tuning of LuaTeX in order to avoid all break of lines on the
% hyphens.
% \begin{macrocode}
\automatichyphenmode = 1
+% \end{macrocode}
+% Remark that the argument of |\piton| (with the normal syntax) is expanded in
+% the TeX sens, (see the |\tl_set:Nx| below) and that's why we can provide the
+% following escapes to the final user:
+% \begin{macrocode}
\cs_set_eq:NN \\ \c_backslash_str
\cs_set_eq:NN \% \c_percent_str
\cs_set_eq:NN \{ \c_left_brace_str
\cs_set_eq:NN \} \c_right_brace_str
\cs_set_eq:NN \$ \c_dollar_str
+% \end{macrocode}
+% The standard command |\␣| is \emph{not} expandable and we need here expandable
+% commands. With the following code, we define an expandable command.
+% \begin{macrocode}
\cs_set_eq:cN { ~ } \space
+% \end{macrocode}
+%
+% \begin{macrocode}
\cs_set_protected:Npn \@@_begin_line: { }
\cs_set_protected:Npn \@@_end_line: { }
\tl_set:Nx \l_tmpa_tl
@@ -4196,7 +4304,14 @@ piton_version = "3.0b" -- 2024/05/23
\bool_if:NT \l_@@_break_lines_in_piton_bool
{ \regex_replace_all:nnN { \x20 } { \x20 } \l_tmpa_tl }
}
- \l_tmpa_tl
+% \end{macrocode}
+% The command |\text| is provided by the package \pkg{amstext} (loaded by \pkg{piton}).
+% \begin{macrocode}
+ \if_mode_math:
+ \text { \ttfamily \l_tmpa_tl }
+ \else:
+ \ttfamily \l_tmpa_tl
+ \fi:
\group_end:
}
% \end{macrocode}
@@ -4273,34 +4388,9 @@ piton_version = "3.0b" -- 2024/05/23
\cs_new_protected:Npn \@@_piton_no_cr:n #1
{
\group_begin:
- \cs_set_protected:Npn \@@_begin_line: { }
- \cs_set_protected:Npn \@@_end_line: { }
- \cs_set:cpn { pitonStyle _ \l_piton_language_str _ Prompt } { }
- \cs_set:cpn { pitonStyle _ Prompt } { }
\cs_set_protected:Npn \@@_newline:
{ \msg_fatal:nn { piton } { cr~not~allowed } }
- \bool_lazy_or:nnTF
- \l_@@_break_lines_in_piton_bool
- \l_@@_break_lines_in_Piton_bool
- {
- \tl_set:Nx \l_tmpa_tl
- {
- \lua_now:e
- { piton.ParseTer('\l_piton_language_str',token.scan_string()) }
- { #1 }
- }
- }
- {
- \tl_set:Nx \l_tmpa_tl
- {
- \lua_now:e
- { piton.Parse('\l_piton_language_str',token.scan_string()) }
- { #1 }
- }
- }
- \bool_if:NT \l_@@_show_spaces_bool
- { \regex_replace_all:nnN { \x20 } { ␣ } \l_tmpa_tl } % U+2423
- \l_tmpa_tl
+ \@@_piton:n { #1 }
\group_end:
}
% \end{macrocode}
@@ -4347,7 +4437,7 @@ piton_version = "3.0b" -- 2024/05/23
{
\hbox_set:Nn \l_tmpa_box
{
- \footnotesize
+ \l_@@_line_numbers_format_tl
\bool_if:NTF \l_@@_skip_empty_lines_bool
{
\lua_now:n
@@ -4448,14 +4538,7 @@ piton_version = "3.0b" -- 2024/05/23
}
{
\group_end:
- \mode_if_vertical:TF \mode_leave_vertical: \newline
-% \end{macrocode}
-% We count with Lua the number of lines of the argument. The result will be
-% stored by Lua in |\l_@@_nb_lines_int|. That information will be used to allow
-% or disallow page breaks. The use of |token.scan_argument| avoids problems with
-% the delimiters of the Lua string.
-% \begin{macrocode}
- \lua_now:n { piton.CountLines(token.scan_argument()) } { ##1 }
+ \mode_if_vertical:TF { \noindent \mode_leave_vertical: } \newline
% \end{macrocode}
% The first argument of the following function is the name of the Lua function
% that will be applied to the second argument in order to count the number of lines.
@@ -4463,7 +4546,8 @@ piton_version = "3.0b" -- 2024/05/23
\@@_compute_left_margin:nn { CountNonEmptyLines } { ##1 }
\@@_compute_width:
\ttfamily
- \dim_zero:N \parskip
+ \dim_zero:N \parskip
+ \noindent % added 2024/08/07
% \end{macrocode}
%
% Now, the key |write|.
@@ -4545,7 +4629,7 @@ piton_version = "3.0b" -- 2024/05/23
% \bigskip
% The following function will be used when the key |split-on-empty-lines| is not
% in force. It will gobble the spaces at the beginning of the lines and parse
-% the code. The argument is provided by curryfication.
+% the code. The argument is provided by curryfication.
% \begin{macrocode}
\cs_new_protected:Npn \@@_gobble_parse:n
{
@@ -4726,7 +4810,6 @@ piton_version = "3.0b" -- 2024/05/23
\@@_compute_left_margin:no { CountNonEmptyLinesFile } \l_@@_file_name_str
\@@_compute_width:
\ttfamily
- % \leavevmode
\lua_now:e
{
piton.ParseFile(
@@ -4881,8 +4964,6 @@ piton_version = "3.0b" -- 2024/05/23
{
String .meta:n = { String.Long = #1 , String.Short = #1 } ,
Comment.Math .tl_set:c = pitonStyle _ Comment.Math ,
- ParseAgain .tl_set:c = pitonStyle _ ParseAgain ,
- ParseAgain .value_required:n = true ,
ParseAgain.noCR .tl_set:c = pitonStyle _ ParseAgain.noCR ,
ParseAgain.noCR .value_required:n = true ,
unknown .code:n =
@@ -4950,13 +5031,12 @@ piton_version = "3.0b" -- 2024/05/23
UserFunction = ,
Prompt = ,
ParseAgain.noCR = \@@_piton_no_cr:n ,
- ParseAgain = \@@_piton:n ,
Discard = \use_none:n
}
% \end{macrocode}
-% The last styles |ParseAgain.noCR| and |ParseAgain| should be considered as
+% The styles |ParseAgain.noCR| should be considered as
% ``internal style'' (not available for the final user). However, maybe we will
-% change that and document these styles for the final user (why not?).
+% change that and document that style for the final user.
%
% \medskip
% If the key |math-comments| has been used at load-time, we change the style
@@ -5215,8 +5295,11 @@ piton_version = "3.0b" -- 2024/05/23
}
% \end{macrocode}
%
+% We don't give the name |syntax error| for the following error because you
+% should not give a name with a space because such space could be replaced by
+% U+2423 when the key |show-spaces| is in force in the command |\piton|.
% \begin{macrocode}
-\@@_msg_new:nn { syntax~error }
+\@@_msg_new:nn { SyntaxError }
{
Your~code~of~the~language~"\l_piton_language_str"~is~not~
syntactically~correct.\\
@@ -5274,6 +5357,8 @@ piton_version = "3.0b" -- 2024/05/23
break-lines-in-Piton,~
continuation-symbol,~
continuation-symbol-on-indentation,~
+ detected-beamer-commands,~
+ detected-beamer-environments,~
detected-commands,~
end-of-broken-line,~
end-range,~
@@ -5386,8 +5471,28 @@ piton_version = "3.0b" -- 2024/05/23
% \begin{macrocode}
F = space ^ 0 * ( ( alpha ^ 1 ) / "\\%0" ) * space ^ 0
}
- function piton.addListCommands( key_value )
- piton.ListCommands = piton.ListCommands + my_lpeg : match ( key_value )
+ function piton.addDetectedCommands( key_value )
+ piton.DetectedCommands = piton.DetectedCommands + my_lpeg : match ( key_value )
+ end
+ function piton.addBeamerCommands( key_value )
+ piton.BeamerCommands
+ = piton.BeamerCommands + my_lpeg : match ( key_value )
+ end
+% \end{macrocode}
+%
+% \begin{macrocode}
+ local function insert(...)
+ local s = piton.beamer_environments
+ for _ , x in ipairs({...}) do table.insert(s,x) end
+ return s
+ end
+ local my_lpeg_bis =
+ P { "E" ,
+ E = ( V "F" * ( "," * V "F" ) ^ 0 ) / insert ,
+ F = space ^ 0 * ( alpha ^ 1 ) * space ^ 0
+ }
+ function piton.addBeamerEnvironments( key_value )
+ piton.beamer_environments = my_lpeg_bis : match ( key_value )
end
\end{luacode*}
%</STY>
@@ -5411,23 +5516,11 @@ piton.comment_latex = "#" .. piton.comment_latex
% \end{macrocode}
%
%
-% \bigskip
-% The following functions are an easy way to safely insert braces (|{| and |}|)
-% in the TeX flow.
-% \begin{macrocode}
-function piton.open_brace ()
- tex.sprint("{")
-end
-function piton.close_brace ()
- tex.sprint("}")
-end
-% \end{macrocode}
-%
% \begin{macrocode}
local function sprintL3 ( s )
tex.sprint ( luatexbase.catcodetables.expl , s )
end
-% \end{uncoverenv}
+% \end{macrocode}
%
% \bigskip
% \subsubsection{Special functions dealing with LPEG}
@@ -5648,7 +5741,7 @@ local SkipSpace = Q " " ^ 0
local Punct = Q ( S ".,:;!" )
-local Tab = "\t" * Lc "\\l_@@_tab_tl"
+local Tab = "\t" * Lc "\\@@_tab:"
% \end{macrocode}
%
% \bigskip
@@ -5687,7 +5780,8 @@ local LPEG_cleaner = { }
% present in strings of the language. However, the syntax for the strings is
% language-dependent. That's why we write a Lua function |Compute_braces| which
% will compute the pattern by taking in as argument a pattern for the strings of
-% the language (at least the shorts strings).
+% the language (at least the shorts strings). The argument of |Compute_braces|
+% must be a pattern \emph{which does no catching}.
% \begin{macrocode}
local function Compute_braces ( lpeg_string ) return
P { "E" ,
@@ -5703,16 +5797,19 @@ local function Compute_braces ( lpeg_string ) return
end
% \end{macrocode}
%
+%
+%
% \bigskip
% The following Lua function will compute the \text{lpeg} |DetectedCommands|
% which is a \textsc{lpeg} with captures).
% \begin{macrocode}
local function Compute_DetectedCommands ( lang , braces ) return
Ct ( Cc "Open"
- * C ( piton.ListCommands * P "{" )
+ * C ( piton.DetectedCommands * P "{" )
* Cc "}"
)
- * ( braces / (function ( s ) return LPEG1[lang] : match ( s ) end ) )
+ * ( braces
+ / ( function ( s ) if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* P "}"
* Ct ( Cc "Close" )
end
@@ -5721,9 +5818,10 @@ end
% \bigskip
% \begin{macrocode}
local function Compute_LPEG_cleaner ( lang , braces ) return
- Ct ( ( piton.ListCommands * "{"
- * ( braces
- / ( function ( s ) return LPEG_cleaner[lang] : match ( s ) end ) )
+ Ct ( ( piton.DetectedCommands * "{"
+ * ( braces
+ / ( function ( s )
+ if s ~= '' then return LPEG_cleaner[lang] : match ( s ) end end ) )
* "}"
+ EscapeClean
+ C ( P ( 1 ) )
@@ -5744,28 +5842,20 @@ local BeamerBeginEnvironments = P ( true )
local BeamerEndEnvironments = P ( true )
% \end{macrocode}
%
-% \bigskip
-% \begin{macrocode}
-local list_beamer_env =
- { "uncoverenv" , "onlyenv" , "visibleenv" ,
- "invisibleenv" , "alertenv" , "actionenv" }
-% \end{macrocode}
-%
-% \bigskip
% \begin{macrocode}
-local BeamerNamesEnvironments = P ( false )
-for _ , x in ipairs ( list_beamer_env ) do
- BeamerNamesEnvironments = BeamerNamesEnvironments + x
+piton.BeamerEnvironments = P ( false )
+for _ , x in ipairs ( piton.beamer_environments ) do
+ piton.BeamerEnvironments = piton.BeamerEnvironments + x
end
% \end{macrocode}
-%
+%
% \bigskip
% \begin{macrocode}
BeamerBeginEnvironments =
( space ^ 0 *
L
(
- P "\\begin{" * BeamerNamesEnvironments * "}"
+ P "\\begin{" * piton.BeamerEnvironments * "}"
* ( "<" * ( 1 - P ">" ) ^ 0 * ">" ) ^ -1
)
* "\r"
@@ -5776,11 +5866,12 @@ BeamerBeginEnvironments =
% \begin{macrocode}
BeamerEndEnvironments =
( space ^ 0 *
- L ( P "\\end{" * BeamerNamesEnvironments * "}" )
+ L ( P "\\end{" * piton.BeamerEnvironments * "}" )
* "\r"
) ^ 0
% \end{macrocode}
%
+%
%
% \bigskip
% The following Lua function will be used to compute the \textsc{lpeg} |Beamer|
@@ -5795,14 +5886,14 @@ local function Compute_Beamer ( lang , braces )
local lpeg = L ( P "\\pause" * ( "[" * ( 1 - P "]" ) ^ 0 * "]" ) ^ -1 )
lpeg = lpeg +
Ct ( Cc "Open"
- * C ( ( P "\\uncover" + "\\only" + "\\alert" + "\\visible"
- + "\\invisible" + "\\action" )
+ * C ( piton.BeamerCommands
* ( "<" * ( 1 - P ">" ) ^ 0 * ">" ) ^ -1
* P "{"
)
* Cc "}"
)
- * ( braces / ( function ( s ) return LPEG1[lang] : match ( s ) end ) )
+ * ( braces /
+ ( function ( s ) if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* "}"
* Ct ( Cc "Close" )
% \end{macrocode}
@@ -5814,29 +5905,38 @@ local function Compute_Beamer ( lang , braces )
% \begin{macrocode}
lpeg = lpeg +
L ( P "\\alt" * "<" * ( 1 - P ">" ) ^ 0 * ">" * "{" )
- * K ( 'ParseAgain.noCR' , braces )
+ * ( braces /
+ ( function ( s ) if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* L ( P "}{" )
- * K ( 'ParseAgain.noCR' , braces )
+ * ( braces /
+ ( function ( s ) if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* L ( P "}" )
% \end{macrocode}
%
% \bigskip
-% For |\\temporal|, the specification of the overlays (between angular brackets) is mandatory.
+% For |\\temporal|, the specification of the overlays (between angular brackets)
+% is mandatory.
% \begin{macrocode}
lpeg = lpeg +
L ( ( P "\\temporal" ) * "<" * ( 1 - P ">" ) ^ 0 * ">" * "{" )
- * K ( 'ParseAgain.noCR' , braces )
+ * ( braces
+ / ( function ( s )
+ if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* L ( P "}{" )
- * K ( 'ParseAgain.noCR' , braces )
+ * ( braces
+ / ( function ( s )
+ if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* L ( P "}{" )
- * K ( 'ParseAgain.noCR' , braces )
+ * ( braces
+ / ( function ( s )
+ if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* L ( P "}" )
% \end{macrocode}
%
% \bigskip
% Now, the environments of Beamer.
% \begin{macrocode}
- for _ , x in ipairs ( list_beamer_env ) do
+ for _ , x in ipairs ( piton.beamer_environments ) do
lpeg = lpeg +
Ct ( Cc "Open"
* C (
@@ -5847,7 +5947,11 @@ local function Compute_Beamer ( lang , braces )
)
* (
( ( 1 - P ( "\\end{" .. x .. "}" ) ) ^ 0 )
- / ( function ( s ) return LPEG1[lang] : match ( s ) end )
+ / ( function ( s )
+ if s ~= ''
+ then return LPEG1[lang] : match ( s )
+ end
+ end )
)
* P ( "\\end{" .. x .. "}" )
* Ct ( Cc "Close" )
@@ -5959,6 +6063,17 @@ local Operator =
local OperatorWord =
K ( 'Operator.Word' , P "in" + "is" + "and" + "or" + "not" )
+% \end{macrocode}
+%
+% \smallskip
+% The keyword |in| in a construction such as ``|for i in range(n)|'' must be
+% formatted as a keyword and not as an |Operator.Word|.
+% \begin{macrocode}
+local For = K ( 'Keyword' , P "for" )
+ * Space
+ * Identifier
+ * Space
+ * K ( 'Keyword' , P "in" )
local Keyword =
K ( 'Keyword' ,
@@ -6195,15 +6310,18 @@ local ShortString = SingleShortString + DoubleShortString
% \bigskip
% \paragraph{Beamer}
%
+% The argument of |Compute_braces| must be a pattern \emph{which does no
+% catching} corresponding to the strings of the language.
+%
% \begin{macrocode}
local braces =
Compute_braces
(
- Q ( P "\"" + "r\"" + "R\"" + "f\"" + "F\"" )
- * ( "\"" * ( P "\\\"" + 1 - S "\"" ) ^ 0 * "\"" )
+ ( P "\"" + "r\"" + "R\"" + "f\"" + "F\"" )
+ * ( P "\\\"" + 1 - S "\"" ) ^ 0 * "\""
+
- Q ( P '\'' + 'r\'' + 'R\'' + 'f\'' + 'F\'' )
- * ( '\'' * ( P '\\\'' + 1 - S '\'' ) ^ 0 * '\'' )
+ ( P '\'' + 'r\'' + 'R\'' + 'f\'' + 'F\'' )
+ * ( P '\\\'' + 1 - S '\'' ) ^ 0 * '\''
)
if piton.beamer then Beamer = Compute_Beamer ( 'python' , braces ) end
% \end{macrocode}
@@ -6379,8 +6497,8 @@ local DefFunction =
* SkipSpace
* ( Q "->" * SkipSpace * K ( 'Name.Type' , identifier ) ) ^ -1
% \end{macrocode}
-% Here, we need a \pkg{piton} style |ParseAgain| which will be linked to
-% |\@@_piton:n| (that means that the capture will be parsed once again by
+% Here, we need a \pkg{piton} style |ParseAgain.noCR| which will be linked to
+% |\@@_piton_no_cr:n| (that means that the capture will be parsed once again by
% \pkg{piton}). We could avoid that kind of trick by using a non-terminal of a
% grammar but we have probably here a better legibility.
% \begin{macrocode}
@@ -6413,12 +6531,16 @@ local ExceptionInConsole = Exception * Q ( ( 1 - P "\r" ) ^ 0 ) * EOL
% \bigskip
% \paragraph{The main LPEG for the language Python}
%
+% \begin{macrocode}
+local EndKeyword = Space + Punct + Delim + EOL + Beamer + DetectedCommands + -1
+% \end{macrocode}
+%
% First, the main loop :
% \begin{macrocode}
local Main =
- space ^ 1 * -1
- + space ^ 0 * EOL
- + Space
+ -- space ^ 1 * -1
+ -- + space ^ 0 * EOL
+ Space
+ Tab
+ Escape + EscapeMath
+ CommentLaTeX
@@ -6429,16 +6551,17 @@ local Main =
+ ExceptionInConsole
+ Delim
+ Operator
- + OperatorWord * ( Space + Punct + Delim + EOL + -1 )
+ + OperatorWord * EndKeyword
+ ShortString
+ Punct
+ FromImport
+ RaiseException
+ DefFunction
+ DefClass
- + Keyword * ( Space + Punct + Delim + EOL + -1 )
+ + For
+ + Keyword * EndKeyword
+ Decorator
- + Builtin * ( Space + Punct + Delim + EOL + -1 )
+ + Builtin * EndKeyword
+ Identifier
+ Number
+ Word
@@ -6464,7 +6587,7 @@ LPEG2['python'] =
* Lc '\\@@_begin_line:'
* Prompt
* SpaceIndentation ^ 0
- * LPEG1['python']
+ * ( space ^ 1 * -1 + space ^ 0 * EOL + Main ) ^ 0
* -1
* Lc '\\@@_end_line:'
)
@@ -6555,7 +6678,7 @@ local DotNotation =
(
K ( 'Name.Module' , cap_identifier )
* Q "."
- * ( Identifier + Constructor + Q "(" + Q "[" + Q "{" )
+ * ( Identifier + Constructor + Q "(" + Q "[" + Q "{" ) ^ ( -1 )
+
Identifier
* Q "."
@@ -6613,10 +6736,13 @@ local Char =
% \paragraph{Beamer}
%
% \bigskip
+% The argument of |Compute_braces| must be a pattern \emph{which does no
+% catching} corresponding to the strings of the language.
+%
% \begin{macrocode}
-braces = Compute_braces ( "\"" * ( 1 - S "\"" ) ^ 0 * "\"" )
+local braces = Compute_braces ( "\"" * ( 1 - S "\"" ) ^ 0 * "\"" )
if piton.beamer then
- Beamer = Compute_Beamer ( 'ocaml' , "\"" * ( 1 - S "\"" ) ^ 0 * "\"" )
+ Beamer = Compute_Beamer ( 'ocaml' , braces ) -- modified 2024/07/24
end
% \end{macrocode}
%
@@ -6826,12 +6952,14 @@ local TypeParameter = K ( 'TypeParameter' , "'" * alpha * # ( 1 - P "'" ) )
% \bigskip
% \paragraph{The main LPEG for the language OCaml}
%
+% \begin{macrocode}
+local EndKeyword = Space + Punct + Delim + EOL + Beamer + DetectedCommands + -1
+% \end{macrocode}
+%
% First, the main loop :
% \begin{macrocode}
local Main =
- space ^ 1 * -1
- + space ^ 0 * EOL
- + Space
+ Space
+ Tab
+ Escape + EscapeMath
+ Beamer
@@ -6847,9 +6975,9 @@ local Main =
+ DefFunction
+ DefModule
+ Record
- + Keyword * ( Space + Punct + Delim + EOL + -1 )
- + OperatorWord * ( Space + Punct + Delim + EOL + -1 )
- + Builtin * ( Space + Punct + Delim + EOL + -1 )
+ + Keyword * EndKeyword
+ + OperatorWord * EndKeyword
+ + Builtin * EndKeyword
+ DotNotation
+ Constructor
+ Identifier
@@ -6872,7 +7000,7 @@ LPEG2['ocaml'] =
* BeamerBeginEnvironments
* Lc '\\@@_begin_line:'
* SpaceIndentation ^ 0
- * LPEG1['ocaml']
+ * ( space ^ 1 * -1 + space ^ 0 * EOL + Main ) ^ 0
* -1
* Lc '\\@@_end_line:'
)
@@ -6970,8 +7098,10 @@ String =
% \paragraph{Beamer}
%
% \bigskip
+% The argument of |Compute_braces| must be a pattern \emph{which does no
+% catching} corresponding to the strings of the language.
% \begin{macrocode}
-braces = Compute_braces ( "\"" * ( 1 - S "\"" ) ^ 0 * "\"" )
+local braces = Compute_braces ( "\"" * ( 1 - S "\"" ) ^ 0 * "\"" )
if piton.beamer then Beamer = Compute_Beamer ( 'c' , braces ) end
% \end{macrocode}
%
@@ -7015,12 +7145,14 @@ local LongComment =
% \bigskip
% \paragraph{The main LPEG for the language C}
%
+% \begin{macrocode}
+local EndKeyword = Space + Punct + Delim + EOL + Beamer + DetectedCommands + -1
+% \end{macrocode}
+%
% First, the main loop :
% \begin{macrocode}
local Main =
- space ^ 1 * -1
- + space ^ 0 * EOL
- + Space
+ Space
+ Tab
+ Escape + EscapeMath
+ CommentLaTeX
@@ -7034,9 +7166,9 @@ local Main =
+ Punct
+ DefFunction
+ DefClass
- + Type * ( Q "*" ^ -1 + Space + Punct + Delim + EOL + -1 )
- + Keyword * ( Space + Punct + Delim + EOL + -1 )
- + Builtin * ( Space + Punct + Delim + EOL + -1 )
+ + Type * ( Q "*" ^ -1 + EndKeyword )
+ + Keyword * EndKeyword
+ + Builtin * EndKeyword
+ Identifier
+ Number
+ Word
@@ -7060,7 +7192,7 @@ LPEG2['c'] =
* BeamerBeginEnvironments
* Lc '\\@@_begin_line:'
* SpaceIndentation ^ 0
- * LPEG1['c']
+ * ( space ^ 1 * -1 + space ^ 0 * EOL + Main ) ^ 0
* -1
* Lc '\\@@_end_line:'
)
@@ -7164,8 +7296,11 @@ local String = K ( 'String.Long' , "'" * ( 1 - P "'" ) ^ 1 * "'" )
% \paragraph{Beamer}
%
% \bigskip
+% The argument of |Compute_braces| must be a pattern \emph{which does no
+% catching} corresponding to the strings of the language.
+%
% \begin{macrocode}
-braces = Compute_braces ( String )
+local braces = Compute_braces ( "'" * ( 1 - P "'" ) ^ 1 * "'" )
if piton.beamer then Beamer = Compute_Beamer ( 'sql' , braces ) end
% \end{macrocode}
%
@@ -7203,6 +7338,9 @@ local LongComment =
% \bigskip
% \paragraph{The main LPEG for the language SQL}
%
+% \begin{macrocode}
+local EndKeyword = Space + Punct + Delim + EOL + Beamer + DetectedCommands + -1
+% \end{macrocode}
%
% \begin{macrocode}
local TableField =
@@ -7245,13 +7383,15 @@ local WeCatchTableNames =
* ( Space + EOL ) * OneTable
% \end{macrocode}
%
+% \begin{macrocode}
+local EndKeyword = Space + Punct + Delim + EOL + Beamer + DetectedCommands + -1
+% \end{macrocode}
+%
%
% First, the main loop :
% \begin{macrocode}
local Main =
- space ^ 1 * -1
- + space ^ 0 * EOL
- + Space
+ Space
+ Tab
+ Escape + EscapeMath
+ CommentLaTeX
@@ -7286,7 +7426,7 @@ LPEG2['sql'] =
* BeamerBeginEnvironments
* Lc [[ \@@_begin_line: ]]
* SpaceIndentation ^ 0
- * LPEG1['sql']
+ * ( space ^ 1 * -1 + space ^ 0 * EOL + Main ) ^ 0
* -1
* Lc [[ \@@_end_line: ]]
)
@@ -7314,7 +7454,12 @@ local String =
* Q "\""
)
-braces = Compute_braces ( String )
+% \end{macrocode}
+% The argument of |Compute_braces| must be a pattern \emph{which does no
+% catching} corresponding to the strings of the language.
+% \begin{macrocode}
+local braces = Compute_braces ( P "\"" * ( P "\\\"" + 1 - P "\"" ) ^ 1 * "\"" )
+
if piton.beamer then Beamer = Compute_Beamer ( 'minimal' , braces ) end
DetectedCommands = Compute_DetectedCommands ( 'minimal' , braces )
@@ -7328,9 +7473,7 @@ local Identifier = K ( 'Identifier' , identifier )
local Delim = Q ( S "{[()]}" )
local Main =
- space ^ 1 * -1
- + space ^ 0 * EOL
- + Space
+ Space
+ Tab
+ Escape + EscapeMath
+ CommentLaTeX
@@ -7352,7 +7495,7 @@ LPEG2['minimal'] =
* BeamerBeginEnvironments
* Lc [[ \@@_begin_line: ]]
* SpaceIndentation ^ 0
- * LPEG1['minimal']
+ * ( space ^ 1 * -1 + space ^ 0 * EOL + Main ) ^ 0
* -1
* Lc [[ \@@_end_line: ]]
)
@@ -7373,7 +7516,7 @@ function piton.Parse ( language , code )
local t = LPEG2[language] : match ( code )
if t == nil
then
- sprintL3 [[ \@@_error_or_warning:n { syntax~error } ]]
+ sprintL3 [[ \@@_error_or_warning:n { SyntaxError } ]]
return -- to exit in force the function
end
local left_stack = {}
@@ -7394,14 +7537,14 @@ function piton.Parse ( language , code )
%
% Here is an example of an item beginning with |"Open"|.
%
-% |{ "Open" , "\begin{uncover}<2>" , "\end{cover}" }|
+% |{ "Open" , "\begin{uncover}<2>" , "\end{uncover}" }|
%
% In order to deal with the ends of lines, we have to close the environment
-% (|{cover}| in this example) at the end of each line and reopen it at the
+% (|{uncover}| in this example) at the end of each line and reopen it at the
% beginning of the new line. That's why we use two Lua stacks, called
% |left_stack| and |right_stack|. |left_stack| will be for the elements like
% |\begin{uncover}<2>| and |right_stack| will be for the elements like
-% |\end{cover}|.
+% |\end{uncover}|.
% \begin{macrocode}
if one_item[1] == "Open" then
tex.sprint( one_item[2] )
@@ -7606,11 +7749,30 @@ function piton.GobbleParse ( lang , n , code )
piton.last_code = gobble ( n , code )
piton.last_language = lang
% \end{macrocode}
+% We count the number of lines of the informatic code. The result will be stored
+% by Lua in |\l_@@_nb_lines_int|. That information will be used to allow or
+% disallow page breaks (when |splittable| is in force).
+% \begin{macrocode}
+ piton.CountLines ( piton.last_code )
+ sprintL3 [[ \bool_if:NT \g_@@_footnote_bool \savenotes ]]
+% \end{macrocode}
+% We begin a |\vtop| for an non-splittable block of lines.
% \begin{macrocode}
- sprintL3 [[ \bool_if:NT \g_@@_footnote_bool \savenotes \vtop \bgroup ]]
+ sprintL3 [[ \vtop \bgroup ]]
piton.Parse ( lang , piton.last_code )
- sprintL3
- [[\vspace{2.5pt}\egroup\bool_if:NT\g_@@_footnote_bool\endsavenotes\par]]
+% \end{macrocode}
+% We close the latest opened |\vtop| with the following |\egroup|. Be careful:
+% that |\vtop| is \emph{not} necessarily the |\vtop| opened two lines above
+% because the commands |\@@_newline:| inserted by Lua may open and close
+% |\vtop|s and start and finish paragraphs (when |splittable| is in force).
+% \begin{macrocode}
+ sprintL3 [[ \vspace{2.5pt} \egroup ]]
+ sprintL3 [[ \bool_if:NT \g_@@_footnote_bool \endsavenotes ]]
+% \end{macrocode}
+% We finish the paragraph (each block of non-splittable lines of code is
+% composed in a |\vtop| inserted in a paragraph).
+% \begin{macrocode}
+ sprintL3 [[ \par ]]
% \end{macrocode}
%
% Now, if the final user has used the key |write| to write the code of the
@@ -7628,7 +7790,9 @@ end
% The following function will be used when the key |split-on-empty-lines| is in
% force. With that key, the informatic code is split in chunks at the empty
% lines (usually between the informatic functions defined in the informatic
-% code). LaTeX will be able to change the page between the chunks.
+% code). LaTeX will be able to change the page between the chunks. The second
+% argument |n| corresponds to the value of the key |gobble| (number of spaces to
+% gobble).
% \begin{macrocode}
function piton.GobbleSplitParse ( lang , n , code )
P { "E" ,
@@ -7637,7 +7801,7 @@ function piton.GobbleSplitParse ( lang , n , code )
/ ( function ( x ) sprintL3 [[ \@@_incr_visual_line: ]] end )
) ^ 1
/ ( function ( x )
- sprintL3 [[ \l_@@_split_separation_tl \int_gzero:N \g_@@_line_int ]]
+ sprintL3 ( piton.string_between_chunks )
end )
) ^ 0 * V "F" ,
% \end{macrocode}
@@ -7645,7 +7809,7 @@ function piton.GobbleSplitParse ( lang , n , code )
% \begin{macrocode}
F = C ( V "G" ^ 0 )
% \end{macrocode}
-% The second argument of |.pitonGobbleParse| is the argument |gobble|: we put
+% The second argument of |piton.GobbleSplitParse| is the argument |gobble|: we put
% that argument to~$0$ because we will have gobbled previously the whole argument
% |code| (see below).
% \begin{macrocode}
@@ -7654,10 +7818,24 @@ function piton.GobbleSplitParse ( lang , n , code )
% The non-terminal |G| corresponds to a non-empty line of code.
% \begin{macrocode}
G = ( 1 - P "\r" ) ^ 0 * "\r" - ( P " " ^ 0 * "\r" )
+ + ( ( 1 - P "\r" ) ^ 1 * -1 - ( P " " ^ 0 * -1 ) )
} : match ( gobble ( n , code ) )
end
% \end{macrocode}
%
+% \bigskip
+% The following Lua string will be inserted between the chunks of code created
+% when the key |split-on-empty-lines| is in force. It's used only once: you have
+% given a name to that Lua string only for legibily. The token list
+% |\l_@@_split_separation_tl| corresponds to the key |split-separation|. That
+% token list must contain elements inserted in \emph{vertical mode} of TeX.
+% \begin{macrocode}
+piton.string_between_chunks =
+ [[ \par \l_@@_split_separation_tl \mode_leave_vertical: ]]
+ .. [[ \int_gzero:N \g_@@_line_int ]]
+% \end{macrocode}
+% The counter |\g_@@_line_int| will be used to control the points where the code
+% may be broken by a change of page (see the key |splittable|).
%
% \bigskip
% The following public Lua function is provided to the developer.
@@ -7672,14 +7850,23 @@ end
% \subsubsection{To count the number of lines}
%
% \medskip
+% The following function is only used once (in |piton.GobbleParse|). We have
+% written an autonomous function only for legibility. The number of lines of the
+% code will be stored in |\l_@@_nb_lines_int| and will be used to allow or
+% disallow line breaks (when |splittable| is in force).
% \begin{macrocode}
function piton.CountLines ( code )
local count = 0
for i in code : gmatch ( "\r" ) do count = count + 1 end
- sprintL3 ( [[ \int_set:Nn \l_@@_nb_lines_int { ]] .. count .. '}' )
+ sprintL3 ( string.format ( [[ \int_set:Nn \l_@@_nb_lines_int { % i } ]] , count ) )
end
% \end{macrocode}
%
+% \bigskip
+% The following function is only used once (in |piton.GobbleParse|). We have
+% written an autonomous function only for legibility. The number of lines of the
+% code will be stored in |\l_@@_nb_non_empty_lines_int|. It will be used to
+% compute the largest number of lines to write (when |line-numbers| is in force).
% \begin{macrocode}
function piton.CountNonEmptyLines ( code )
local count = 0
@@ -7690,7 +7877,8 @@ function piton.CountNonEmptyLines ( code )
* -1
) / table.getn
) : match ( code )
- sprintL3 ( [[ \int_set:Nn \l_@@_nb_non_empty_lines_int { ]] .. count .. '}' )
+ sprintL3
+ ( string.format ( [[ \int_set:Nn \l_@@_nb_non_empty_lines_int { % i } ]] , count ) )
end
% \end{macrocode}
%
@@ -7699,7 +7887,8 @@ end
function piton.CountLinesFile ( name )
local count = 0
for line in io.lines ( name ) do count = count + 1 end
- sprintL3 ( [[ \int_set:Nn \l_@@_nb_lines_int { ]] .. count .. '}' )
+ sprintL3
+ ( string.format ( [[ \int_set:Nn \l_@@_nb_lines_int { %i } ]], count))
end
% \end{macrocode}
%
@@ -7713,7 +7902,8 @@ function piton.CountNonEmptyLinesFile ( name )
count = count + 1
end
end
- sprintL3 ( [[ \int_set:Nn \l_@@_nb_non_empty_lines_int { ]] .. count .. '}' )
+ sprintL3
+ ( string.format ( [[ \int_set:Nn \l_@@_nb_non_empty_lines_int { % i } ]] , count ) )
end
% \end{macrocode}
%
@@ -7813,7 +8003,7 @@ function piton.new_language ( lang , definition )
% |tag| (mainly for the language \textsc{html}) for the character |/| in the
% closing tags |</....>|).
% \begin{macrocode}
- other = other + P "c"
+ other = other + P ( c )
end
end
% \end{macrocode}
@@ -8046,6 +8236,7 @@ function piton.new_language ( lang , definition )
% the strings.
% \begin{macrocode}
local long_string = P ( false )
+ local Long_string = P ( false )
local LongString = P (false )
local central_pattern = P ( false )
for _ , x in ipairs ( def_table ) do
@@ -8072,7 +8263,15 @@ function piton.new_language ( lang , definition )
else prefix = P ( true )
end
% \end{macrocode}
-% We can write the pattern which matches the string.
+% First, a pattern \emph{without captures} (needed to compute |braces|).
+% \begin{macrocode}
+ long_string = long_string +
+ prefix
+ * arg3
+ * ( space + central_pattern ) ^ 0
+ * arg4
+% \end{macrocode}
+% Now a pattern \emph{with captures}.
% \begin{macrocode}
local pattern =
prefix
@@ -8080,18 +8279,20 @@ function piton.new_language ( lang , definition )
* ( VisualSpace + Q ( central_pattern ^ 1 ) + EOL ) ^ 0
* Q ( arg4 )
% \end{macrocode}
-% First, we create |long_string| because we need that \textsc{lpeg} in the
-% nested comments.
+% We will need |Long_string| in the nested comments.
% \begin{macrocode}
- long_string = long_string + pattern
+ Long_string = Long_string + pattern
LongString = LongString +
Ct ( Cc "Open" * Cc ( "{" .. arg2 .. "{" ) * Cc "}}" )
* pattern
* Ct ( Cc "Close" )
end
end
-
- local braces = Compute_braces ( String )
+% \end{macrocode}
+% The argument of |Compute_braces| must be a pattern \emph{which does no
+% catching} corresponding to the strings of the language.
+% \begin{macrocode}
+ local braces = Compute_braces ( long_string )
if piton.beamer then Beamer = Compute_Beamer ( lang , braces ) end
DetectedCommands = Compute_DetectedCommands ( lang , braces )
@@ -8208,12 +8409,7 @@ function piton.new_language ( lang , definition )
%
% \begin{macrocode}
local Main =
- space ^ 1 * -1
-% \end{macrocode}
-% The spaces at the end of the lines are discarded.
-% \begin{macrocode}
- + space ^ 0 * EOL
- + Space
+ Space
+ Tab
+ Escape + EscapeMath
+ CommentLaTeX
@@ -8249,7 +8445,7 @@ function piton.new_language ( lang , definition )
* BeamerBeginEnvironments
* Lc [[\@@_begin_line:]]
* SpaceIndentation ^ 0
- * LPEG1[lang]
+ * ( space ^ 1 * -1 + space ^ 0 * EOL + Main ) ^ 0
* -1
* Lc [[\@@_end_line:]]
)
@@ -8327,6 +8523,12 @@ end
%
% \verb|https://github.com/fpantigny/piton|
%
+% \subsection*{Changes between versions 3.0 and 3.1}
+%
+% Keys |line-numbers/format|, |detected-beamer-commands| and
+% |detected-beamer-environments|.
+%
+%
% \subsection*{Changes between versions 2.8 and 3.0}
%
% New command |\NewPitonLanguage|. Thanks to that command, it's now possible to
@@ -8396,61 +8598,6 @@ end
% The key |escape-inside| is deprecated: use |begin-escape| and |end-escape|.
%
%
-% \subsection*{Changes between versions 1.6 and 2.0}
-%
-% The extension \pkg{piton} now supports the computer languages OCaml and C
-% (and, of course, Python).
-%
-% \subsection*{Changes between versions 1.5 and 1.6}
-%
-% New key |width| (for the total width of the listing).
-%
-% New style |UserFunction| to format the names of the Python functions
-% previously defined by the user. Command |\PitonClearUserFunctions| to clear
-% the list of such functions names.
-%
-% \subsection*{Changes between versions 1.4 and 1.5}
-%
-% New key |numbers-sep|.
-%
-%
-% \subsection*{Changes between versions 1.3 and 1.4}
-%
-% New key |identifiers| in |\PitonOptions|.
-%
-% New command |\PitonStyle|.
-%
-% |background-color| now accepts as value a \emph{list} of colors.
-%
-% \subsection*{Changes between versions 1.2 and 1.3}
-%
-% When the class Beamer is used, the environment |{Piton}| and the command
-% |\PitonInputFile| are ``overlay-aware'' (that is to say, they accept a
-% specification of overlays between angular brackets).
-%
-% New key |prompt-background-color|
-%
-% It's now possible to use the command |\label| to reference a line of code in
-% an environment |{Piton}|.
-%
-% A new command |\|␣ is available in the argument of the command |\piton{...}| to
-% insert a space (otherwise, several spaces are replaced by a single space).
-%
-% \subsection*{Changes between versions 1.1 and 1.2}
-%
-% New keys |break-lines-in-piton| and |break-lines-in-Piton|.
-%
-% New key |show-spaces-in-string| and modification of the key |show-spaces|.
-%
-% When the class \cls{beamer} is used, the environments |{uncoverenv}|,
-% |{onlyenv}|, |{visibleenv}| and |{invisibleenv}|
-%
-%
-% \subsection*{Changes between versions 1.0 and 1.1}
-%
-% The extension \pkg{piton} detects the class \cls{beamer} and activates the
-% commands |\action|, |\alert|, |\invisible|, |\only|, |\uncover| and |\visible|
-% in the environments |{Piton}| when the class \cls{beamer} is used.
%
% \tableofcontents
%
diff --git a/macros/luatex/latex/piton/piton.pdf b/macros/luatex/latex/piton/piton.pdf
index 537202a41c..af2544f85d 100644
--- a/macros/luatex/latex/piton/piton.pdf
+++ b/macros/luatex/latex/piton/piton.pdf
@@ -277,259 +277,259 @@ endobj
<< /S /GoTo /D (subsection.0.8.3) >>
endobj
163 0 obj
-(\376\377\0008\000.\0003\000\040\000N\000o\000t\000e\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
+(\376\377\0008\000.\0003\000\040\000A\000n\000\040\000e\000x\000a\000m\000p\000l\000e\000\040\000o\000f\000\040\000t\000u\000n\000i\000n\000g\000\040\000o\000f\000\040\000t\000h\000e\000\040\000s\000t\000y\000l\000e\000s)
endobj
164 0 obj
<< /S /GoTo /D (subsection.0.8.4) >>
endobj
167 0 obj
-(\376\377\0008\000.\0004\000\040\000A\000n\000\040\000e\000x\000a\000m\000p\000l\000e\000\040\000o\000f\000\040\000t\000u\000n\000i\000n\000g\000\040\000o\000f\000\040\000t\000h\000e\000\040\000s\000t\000y\000l\000e\000s)
+(\376\377\0008\000.\0004\000\040\000U\000s\000e\000\040\000w\000i\000t\000h\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
endobj
168 0 obj
-<< /S /GoTo /D (subsection.0.8.5) >>
+<< /S /GoTo /D (section.0.9) >>
endobj
171 0 obj
-(\376\377\0008\000.\0005\000\040\000U\000s\000e\000\040\000w\000i\000t\000h\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
+(\376\377\0009\000\040\000T\000h\000e\000\040\000s\000t\000y\000l\000e\000s\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000d\000i\000f\000f\000e\000r\000e\000n\000t\000\040\000c\000o\000m\000p\000u\000t\000e\000r\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s)
endobj
172 0 obj
-<< /S /GoTo /D (section.0.9) >>
+<< /S /GoTo /D (subsection.0.9.1) >>
endobj
175 0 obj
-(\376\377\0009\000\040\000T\000h\000e\000\040\000s\000t\000y\000l\000e\000s\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000d\000i\000f\000f\000e\000r\000e\000n\000t\000\040\000c\000o\000m\000p\000u\000t\000e\000r\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s)
+(\376\377\0009\000.\0001\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
endobj
176 0 obj
-<< /S /GoTo /D (subsection.0.9.1) >>
+<< /S /GoTo /D (subsection.0.9.2) >>
endobj
179 0 obj
-(\376\377\0009\000.\0001\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
+(\376\377\0009\000.\0002\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000O\000C\000a\000m\000l)
endobj
180 0 obj
-<< /S /GoTo /D (subsection.0.9.2) >>
+<< /S /GoTo /D (subsection.0.9.3) >>
endobj
183 0 obj
-(\376\377\0009\000.\0002\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000O\000C\000a\000m\000l)
+(\376\377\0009\000.\0003\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000C\000\040\000\050\000a\000n\000d\000\040\000C\000+\000+\000\051)
endobj
184 0 obj
-<< /S /GoTo /D (subsection.0.9.3) >>
+<< /S /GoTo /D (subsection.0.9.4) >>
endobj
187 0 obj
-(\376\377\0009\000.\0003\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000C\000\040\000\050\000a\000n\000d\000\040\000C\000+\000+\000\051)
+(\376\377\0009\000.\0004\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000S\000Q\000L)
endobj
188 0 obj
-<< /S /GoTo /D (subsection.0.9.4) >>
+<< /S /GoTo /D (subsection.0.9.5) >>
endobj
191 0 obj
-(\376\377\0009\000.\0004\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000S\000Q\000L)
+(\376\377\0009\000.\0005\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000`\000`\000m\000i\000n\000i\000m\000a\000l\000'\000')
endobj
192 0 obj
-<< /S /GoTo /D (subsection.0.9.5) >>
+<< /S /GoTo /D (subsection.0.9.6) >>
endobj
195 0 obj
-(\376\377\0009\000.\0005\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000`\000`\000m\000i\000n\000i\000m\000a\000l\000'\000')
+(\376\377\0009\000.\0006\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s\000\040\000d\000e\000f\000i\000n\000e\000d\000\040\000b\000y\000\040\000\134\000N\000e\000w\000P\000i\000t\000o\000n\000L\000a\000n\000g\000u\000a\000g\000e)
endobj
196 0 obj
-<< /S /GoTo /D (subsection.0.9.6) >>
+<< /S /GoTo /D (section.0.10) >>
endobj
199 0 obj
-(\376\377\0009\000.\0006\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s\000\040\000d\000e\000f\000i\000n\000e\000d\000\040\000b\000y\000\040\000\134\000N\000e\000w\000P\000i\000t\000o\000n\000L\000a\000n\000g\000u\000a\000g\000e)
+(\376\377\0001\0000\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
endobj
200 0 obj
-<< /S /GoTo /D (section.0.10) >>
+<< /S /GoTo /D (subsection.0.10.1) >>
endobj
203 0 obj
-(\376\377\0001\0000\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+(\376\377\0001\0000\000.\0001\000\040\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n)
endobj
204 0 obj
-<< /S /GoTo /D (subsection.0.10.1) >>
+<< /S /GoTo /D (subsection.0.10.2) >>
endobj
207 0 obj
-(\376\377\0001\0000\000.\0001\000\040\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n)
+(\376\377\0001\0000\000.\0002\000\040\000T\000h\000e\000\040\000L\0003\000\040\000p\000a\000r\000t\000\040\000o\000f\000\040\000t\000h\000e\000\040\000i\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
endobj
208 0 obj
-<< /S /GoTo /D (subsection.0.10.2) >>
+<< /S /GoTo /D (subsubsection.0.10.2.1) >>
endobj
211 0 obj
-(\376\377\0001\0000\000.\0002\000\040\000T\000h\000e\000\040\000L\0003\000\040\000p\000a\000r\000t\000\040\000o\000f\000\040\000t\000h\000e\000\040\000i\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+(\376\377\0001\0000\000.\0002\000.\0001\000\040\000D\000e\000c\000l\000a\000r\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e)
endobj
212 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.1) >>
+<< /S /GoTo /D (subsubsection.0.10.2.2) >>
endobj
215 0 obj
-(\376\377\0001\0000\000.\0002\000.\0001\000\040\000D\000e\000c\000l\000a\000r\000a\000t\000i\000o\000n\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e)
+(\376\377\0001\0000\000.\0002\000.\0002\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s\000\040\000a\000n\000d\000\040\000t\000e\000c\000h\000n\000i\000c\000a\000l\000\040\000d\000e\000f\000i\000n\000i\000t\000i\000o\000n\000s)
endobj
216 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.2) >>
+<< /S /GoTo /D (subsubsection.0.10.2.3) >>
endobj
219 0 obj
-(\376\377\0001\0000\000.\0002\000.\0002\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s\000\040\000a\000n\000d\000\040\000t\000e\000c\000h\000n\000i\000c\000a\000l\000\040\000d\000e\000f\000i\000n\000i\000t\000i\000o\000n\000s)
+(\376\377\0001\0000\000.\0002\000.\0003\000\040\000T\000r\000e\000a\000t\000m\000e\000n\000t\000\040\000o\000f\000\040\000a\000\040\000l\000i\000n\000e\000\040\000o\000f\000\040\000c\000o\000d\000e)
endobj
220 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.3) >>
+<< /S /GoTo /D (subsubsection.0.10.2.4) >>
endobj
223 0 obj
-(\376\377\0001\0000\000.\0002\000.\0003\000\040\000T\000r\000e\000a\000t\000m\000e\000n\000t\000\040\000o\000f\000\040\000a\000\040\000l\000i\000n\000e\000\040\000o\000f\000\040\000c\000o\000d\000e)
+(\376\377\0001\0000\000.\0002\000.\0004\000\040\000P\000i\000t\000o\000n\000O\000p\000t\000i\000o\000n\000s)
endobj
224 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.4) >>
+<< /S /GoTo /D (subsubsection.0.10.2.5) >>
endobj
227 0 obj
-(\376\377\0001\0000\000.\0002\000.\0004\000\040\000P\000i\000t\000o\000n\000O\000p\000t\000i\000o\000n\000s)
+(\376\377\0001\0000\000.\0002\000.\0005\000\040\000T\000h\000e\000\040\000n\000u\000m\000b\000e\000r\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000l\000i\000n\000e\000s)
endobj
228 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.5) >>
+<< /S /GoTo /D (subsubsection.0.10.2.6) >>
endobj
231 0 obj
-(\376\377\0001\0000\000.\0002\000.\0005\000\040\000T\000h\000e\000\040\000n\000u\000m\000b\000e\000r\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000l\000i\000n\000e\000s)
+(\376\377\0001\0000\000.\0002\000.\0006\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000t\000o\000\040\000w\000r\000i\000t\000e\000\040\000o\000n\000\040\000t\000h\000e\000\040\000a\000u\000x\000\040\000f\000i\000l\000e)
endobj
232 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.6) >>
+<< /S /GoTo /D (subsubsection.0.10.2.7) >>
endobj
235 0 obj
-(\376\377\0001\0000\000.\0002\000.\0006\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000t\000o\000\040\000w\000r\000i\000t\000e\000\040\000o\000n\000\040\000t\000h\000e\000\040\000a\000u\000x\000\040\000f\000i\000l\000e)
+(\376\377\0001\0000\000.\0002\000.\0007\000\040\000T\000h\000e\000\040\000m\000a\000i\000n\000\040\000c\000o\000m\000m\000a\000n\000d\000s\000\040\000a\000n\000d\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000f\000i\000n\000a\000l\000\040\000u\000s\000e\000r)
endobj
236 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.7) >>
+<< /S /GoTo /D (subsubsection.0.10.2.8) >>
endobj
239 0 obj
-(\376\377\0001\0000\000.\0002\000.\0007\000\040\000T\000h\000e\000\040\000m\000a\000i\000n\000\040\000c\000o\000m\000m\000a\000n\000d\000s\000\040\000a\000n\000d\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000f\000i\000n\000a\000l\000\040\000u\000s\000e\000r)
+(\376\377\0001\0000\000.\0002\000.\0008\000\040\000T\000h\000e\000\040\000s\000t\000y\000l\000e\000s)
endobj
240 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.8) >>
+<< /S /GoTo /D (subsubsection.0.10.2.9) >>
endobj
243 0 obj
-(\376\377\0001\0000\000.\0002\000.\0008\000\040\000T\000h\000e\000\040\000s\000t\000y\000l\000e\000s)
+(\376\377\0001\0000\000.\0002\000.\0009\000\040\000T\000h\000e\000\040\000i\000n\000i\000t\000i\000a\000l\000\040\000s\000t\000y\000l\000e\000s)
endobj
244 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.9) >>
+<< /S /GoTo /D (subsubsection.0.10.2.10) >>
endobj
247 0 obj
-(\376\377\0001\0000\000.\0002\000.\0009\000\040\000T\000h\000e\000\040\000i\000n\000i\000t\000i\000a\000l\000\040\000s\000t\000y\000l\000e\000s)
+(\376\377\0001\0000\000.\0002\000.\0001\0000\000\040\000H\000i\000g\000h\000l\000i\000g\000h\000t\000i\000n\000g\000\040\000s\000o\000m\000e\000\040\000i\000d\000e\000n\000t\000i\000f\000i\000e\000r\000s)
endobj
248 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.10) >>
+<< /S /GoTo /D (subsubsection.0.10.2.11) >>
endobj
251 0 obj
-(\376\377\0001\0000\000.\0002\000.\0001\0000\000\040\000H\000i\000g\000h\000l\000i\000g\000h\000t\000i\000n\000g\000\040\000s\000o\000m\000e\000\040\000i\000d\000e\000n\000t\000i\000f\000i\000e\000r\000s)
+(\376\377\0001\0000\000.\0002\000.\0001\0001\000\040\000S\000e\000c\000u\000r\000i\000t\000y)
endobj
252 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.11) >>
+<< /S /GoTo /D (subsubsection.0.10.2.12) >>
endobj
255 0 obj
-(\376\377\0001\0000\000.\0002\000.\0001\0001\000\040\000S\000e\000c\000u\000r\000i\000t\000y)
+(\376\377\0001\0000\000.\0002\000.\0001\0002\000\040\000T\000h\000e\000\040\000e\000r\000r\000o\000r\000\040\000m\000e\000s\000s\000a\000g\000e\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e)
endobj
256 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.12) >>
+<< /S /GoTo /D (subsubsection.0.10.2.13) >>
endobj
259 0 obj
-(\376\377\0001\0000\000.\0002\000.\0001\0002\000\040\000T\000h\000e\000\040\000e\000r\000r\000o\000r\000\040\000m\000e\000s\000s\000a\000g\000e\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e)
+(\376\377\0001\0000\000.\0002\000.\0001\0003\000\040\000W\000e\000\040\000l\000o\000a\000d\000\040\000p\000i\000t\000o\000n\000.\000l\000u\000a)
endobj
260 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.13) >>
+<< /S /GoTo /D (subsubsection.0.10.2.14) >>
endobj
263 0 obj
-(\376\377\0001\0000\000.\0002\000.\0001\0003\000\040\000W\000e\000\040\000l\000o\000a\000d\000\040\000p\000i\000t\000o\000n\000.\000l\000u\000a)
+(\376\377\0001\0000\000.\0002\000.\0001\0004\000\040\000D\000e\000t\000e\000c\000t\000e\000d\000\040\000c\000o\000m\000m\000a\000n\000d\000s)
endobj
264 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.14) >>
+<< /S /GoTo /D (subsection.0.10.3) >>
endobj
267 0 obj
-(\376\377\0001\0000\000.\0002\000.\0001\0004\000\040\000D\000e\000t\000e\000c\000t\000e\000d\000\040\000c\000o\000m\000m\000a\000n\000d\000s)
+(\376\377\0001\0000\000.\0003\000\040\000T\000h\000e\000\040\000L\000u\000a\000\040\000p\000a\000r\000t\000\040\000o\000f\000\040\000t\000h\000e\000\040\000i\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
endobj
268 0 obj
-<< /S /GoTo /D (subsection.0.10.3) >>
+<< /S /GoTo /D (subsubsection.0.10.3.1) >>
endobj
271 0 obj
-(\376\377\0001\0000\000.\0003\000\040\000T\000h\000e\000\040\000L\000u\000a\000\040\000p\000a\000r\000t\000\040\000o\000f\000\040\000t\000h\000e\000\040\000i\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+(\376\377\0001\0000\000.\0003\000.\0001\000\040\000S\000p\000e\000c\000i\000a\000l\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000s\000\040\000d\000e\000a\000l\000i\000n\000g\000\040\000w\000i\000t\000h\000\040\000L\000P\000E\000G)
endobj
272 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.1) >>
+<< /S /GoTo /D (subsubsection.0.10.3.2) >>
endobj
275 0 obj
-(\376\377\0001\0000\000.\0003\000.\0001\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
+(\376\377\0001\0000\000.\0003\000.\0002\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
endobj
276 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.2) >>
+<< /S /GoTo /D (subsubsection.0.10.3.3) >>
endobj
279 0 obj
-(\376\377\0001\0000\000.\0003\000.\0002\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000O\000c\000a\000m\000l)
+(\376\377\0001\0000\000.\0003\000.\0003\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000O\000c\000a\000m\000l)
endobj
280 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.3) >>
+<< /S /GoTo /D (subsubsection.0.10.3.4) >>
endobj
283 0 obj
-(\376\377\0001\0000\000.\0003\000.\0003\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000C)
+(\376\377\0001\0000\000.\0003\000.\0004\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000C)
endobj
284 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.4) >>
+<< /S /GoTo /D (subsubsection.0.10.3.5) >>
endobj
287 0 obj
-(\376\377\0001\0000\000.\0003\000.\0004\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000S\000Q\000L)
+(\376\377\0001\0000\000.\0003\000.\0005\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000S\000Q\000L)
endobj
288 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.5) >>
+<< /S /GoTo /D (subsubsection.0.10.3.6) >>
endobj
291 0 obj
-(\376\377\0001\0000\000.\0003\000.\0005\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000`\000`\000M\000i\000n\000i\000m\000a\000l\000'\000')
+(\376\377\0001\0000\000.\0003\000.\0006\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000`\000`\000M\000i\000n\000i\000m\000a\000l\000'\000')
endobj
292 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.6) >>
+<< /S /GoTo /D (subsubsection.0.10.3.7) >>
endobj
295 0 obj
-(\376\377\0001\0000\000.\0003\000.\0006\000\040\000T\000w\000o\000\040\000v\000a\000r\000i\000a\000n\000t\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000\040\000P\000a\000r\000s\000e\000\040\000w\000i\000t\000h\000\040\000i\000n\000t\000e\000g\000r\000a\000t\000e\000d\000\040\000p\000r\000e\000p\000r\000o\000c\000e\000s\000s\000o\000r\000s)
+(\376\377\0001\0000\000.\0003\000.\0007\000\040\000T\000w\000o\000\040\000v\000a\000r\000i\000a\000n\000t\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000\040\000P\000a\000r\000s\000e\000\040\000w\000i\000t\000h\000\040\000i\000n\000t\000e\000g\000r\000a\000t\000e\000d\000\040\000p\000r\000e\000p\000r\000o\000c\000e\000s\000s\000o\000r\000s)
endobj
296 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.7) >>
+<< /S /GoTo /D (subsubsection.0.10.3.8) >>
endobj
299 0 obj
-(\376\377\0001\0000\000.\0003\000.\0007\000\040\000P\000r\000e\000p\000r\000o\000c\000e\000s\000s\000o\000r\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000\040\000P\000a\000r\000s\000e\000\040\000f\000o\000r\000\040\000g\000o\000b\000b\000l\000e)
+(\376\377\0001\0000\000.\0003\000.\0008\000\040\000P\000r\000e\000p\000r\000o\000c\000e\000s\000s\000o\000r\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000\040\000P\000a\000r\000s\000e\000\040\000f\000o\000r\000\040\000g\000o\000b\000b\000l\000e)
endobj
300 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.8) >>
+<< /S /GoTo /D (subsubsection.0.10.3.9) >>
endobj
303 0 obj
-(\376\377\0001\0000\000.\0003\000.\0008\000\040\000T\000o\000\040\000c\000o\000u\000n\000t\000\040\000t\000h\000e\000\040\000n\000u\000m\000b\000e\000r\000\040\000o\000f\000\040\000l\000i\000n\000e\000s)
+(\376\377\0001\0000\000.\0003\000.\0009\000\040\000T\000o\000\040\000c\000o\000u\000n\000t\000\040\000t\000h\000e\000\040\000n\000u\000m\000b\000e\000r\000\040\000o\000f\000\040\000l\000i\000n\000e\000s)
endobj
304 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.9) >>
+<< /S /GoTo /D (subsubsection.0.10.3.10) >>
endobj
307 0 obj
-(\376\377\0001\0000\000.\0003\000.\0009\000\040\000T\000o\000\040\000c\000r\000e\000a\000t\000e\000\040\000n\000e\000w\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s\000\040\000w\000i\000t\000h\000\040\000t\000h\000e\000\040\000s\000y\000n\000t\000a\000x\000\040\000o\000f\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
+(\376\377\0001\0000\000.\0003\000.\0001\0000\000\040\000T\000o\000\040\000c\000r\000e\000a\000t\000e\000\040\000n\000e\000w\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s\000\040\000w\000i\000t\000h\000\040\000t\000h\000e\000\040\000s\000y\000n\000t\000a\000x\000\040\000o\000f\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
endobj
308 0 obj
@@ -550,23 +550,17 @@ endobj
<< /S /GoTo /D [ 317 0 R /FitBH 771.02165 ] >>
endobj
322 0 obj
-<< /Filter /FlateDecode /Length 3357 >>
+<< /Filter /FlateDecode /Length 3349 >>
stream
-xڽ[K$ ﯨ.% vpNqf`8 !%J%T5ИzH$'JEE.߾W7Ћ5f7
-E-a*⻰|$ ROR}.޸|/O#fClI,+Ѱ(%wd!ŃD]fԴ8/tT (IԤ 84?!"hw, 8uگ4ב4E͢
-<moY52'_q.j!}| u <jk_GfDtQ/N N
-{F
-lY;rFQxEKΨaLyx)aw䌨afThV=C$=L중">5K u˃$;MciJ:N., Zj%K+bf`]ÑY<V[0]-cpruhW
-YGe"( {5KB:F?' Kx},E=H#QlMfKt(/$׉_xuЊHmЫOkԂq"E4Vي;Wv̄/2'; )iqx\N3&hk'k@2Ǒk}Vh_|$[^;B2(s1$)h!aG I> <}3~Q+s )4| D”6npUQ'Eh`B
--KAT$.wCOW;H $L5f#<jnWdW7ofnh
- zOS[-2al :@1@99]m;:|nf!kCBlN#'giMot3㡎AamS{51k."^))0WfH-q 7|,ڀj#EsnޡWyEۮk~&T/9%*O>ŠޫMBTIh5A16qة~"tkEP̿jk˚ӎF/PS*z^dH*FO؉Jh(f2I
-&w95?qC@i]fOPbbgu_Bfowj<ҲMZ1o] ~lr
-t
-9{7qwp9*5onqP\q_Kߦn `eGqZ!pQmt8ۖQޤ Daj:ːG-D)9_
-؊Kikqݴ)jϴ9gާ p~C/E)GMI/šJXFų$r'Ql.Ŧn{X,+ъ@u'4-$U+ahS4tH:@|<.1(|7ZXc[GȿUlMv`Ɓ4m!cܕ븎^gpes]iY%_]d5uՈhؓMݾ(!y~+_Vz%NmAU5Q]V/Al9JI-̤KK0yj2F3ढ़rwp݇sZx{5A PzK6[kײ<g]6?d@ȝi"gC}T| y!nZgl\`=
-aX.l#];QmرBlZ7YrH1~>>dNX Ku%J)N-n9߶`W6g>HT,ow\]SB8%u#wA>{
--ɬ5h1p ^ʉK:Gf]%\Ng4ՙA*)3V#Q2/2<5i-0J'+Yjђ BӜei?c#JĨ`QuDL"J[zZ%sWq%ZKPSVZۙnE%h]]5@B(2$y?^X֯\02Bǡy\Zx]\#w[,5D-pJ[x۝B_јJӷY /ƮCX԰rh 5iٺ\7IyM)%rQ{'4.C&C>GȔ/#+$A#<W+D\+3R*o2Q>WOHcc(=r:rV
-P!-%tttyod["D-ۄ hڳqIGme3hOޞ
+xڽ[K$ ﯨ.%z)l !q-T5^ИzH'REMn߼/^@o Pq7MmQh9>}$R{-R}.`mחǏ1p9+wD4XkEBFæ(7R`7F5hwe7N6F'ut& )OHב_b}lѬymuܬB6UIG$Y&I%&|c|f BeA]ʬy&7;z$޹Pj"XKV3HHJ+S}THjFiBQ(*2%G27ziJ2Gia9"ϠvE%֨grd
+(}j.O2ZAo2?ԦQƉܥpS /U k(^c(֠C~i Af&z/v 9_"EUO~F.2A'4 HdqAf);-ΠPz.WړYb?=1 WMUGYx]qxۢ_ h zD&)FACIǁRVڪ'Wf d`q1^as9"4%|C]hݰ:8Mv4d4 H83ާ`ノ͊7JO@EhQ1|iRgDιY'oN¥JnR݀hkEfSM#:3UV[Q 
+Q̙i|qSq{=G-؃F]_`s5Pރ1z
+hݥ5S
+[>Wkm : _c?
+̭2%|^oQn?eǸ?&ac}FЊ{d$qy ~ѩ}[h/y=+KGZAmJ=@ǧto4D|Zq.5Ai9jOpJiه*TiH;fެpA)5bYa}:? i+AJG/^ZYCMԿ%J){MfG6~^Vf\WJZsP<4rdޙn'
+d1َD Qp_d{oW?.L).{ *"kwI4[6
+It L9Vyr Cq3,21,~01:9$%^hN<C,\ڍP7Dէ4hw<ғI/O|V@9",( +
+Z=\#\%'Ե^OW[9kS k.G6νSyyZsxĝx6B@IS,KFC1,!C|O۶vL$(~'N>p̥<BMu(~LbQ]L{3Rx|(h
endstream
endobj
317 0 obj
@@ -576,18 +570,18 @@ endobj
[ 318 0 R 320 0 R 319 0 R 351 0 R ]
endobj
318 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 276.15 522.003 282.609 534.294 ]/A << /S /GoTo /D (Hfootnote.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 276.15 521.633 282.609 533.924 ]/A << /S /GoTo /D (Hfootnote.1) >> >>
endobj
320 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 377.606 293.321 384.065 307.269 ]/A << /S /GoTo /D (Hfootnote.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 377.606 292.95 384.065 306.898 ]/A << /S /GoTo /D (Hfootnote.2) >> >>
endobj
319 0 obj
-<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 468.356 132.704 516.902 143.254 ]
+<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 468.356 132.333 516.902 142.883 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.inf.puc-rio.br/~roberto/lpeg/)>>
>>
endobj
351 0 obj
-<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 79.37 123.166 202.6 131.536 ]
+<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 79.37 122.795 202.6 131.166 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.inf.puc-rio.br/~roberto/lpeg/)>>
>>
endobj
@@ -598,19 +592,19 @@ endobj
<< /D [ 317 0 R /XYZ 79.37 771.024 null ] >>
endobj
5 0 obj
-<< /D [ 317 0 R /XYZ 79.37 562.969 null ] >>
+<< /D [ 317 0 R /XYZ 79.37 562.598 null ] >>
endobj
348 0 obj
-<< /D [ 317 0 R /XYZ 93.716 144.934 null ] >>
+<< /D [ 317 0 R /XYZ 93.716 144.563 null ] >>
endobj
352 0 obj
-<< /D [ 317 0 R /XYZ 93.716 125.842 null ] >>
+<< /D [ 317 0 R /XYZ 93.716 125.472 null ] >>
endobj
321 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F23 325 0 R /F24 326 0 R /F32 327 0 R /F41 328 0 R /F52 329 0 R /F61 330 0 R /F60 331 0 R /F62 332 0 R /F64 333 0 R /F15 334 0 R /F65 335 0 R /F16 336 0 R /F74 337 0 R /F75 338 0 R /F77 339 0 R /F27 340 0 R /F30 341 0 R /F67 342 0 R /F66 343 0 R /F47 344 0 R /F53 345 0 R /F59 346 0 R /F71 347 0 R /F72 349 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
364 0 obj
-<< /Filter /FlateDecode /Length 3884 >>
+<< /Filter /FlateDecode /Length 3885 >>
stream
xڵ\K$ ϯ?D
b U K)83Dv!e$E n UN;ҿ";K:)>1Gluz [_+'4fVBRD(?bЙtG* K1vQ  8XrzdUbm.NEţvjAnت 2{b Dr>ˠv$lQQM]5|1MZm0eTb[}w`S#EHNrщbi\zwELG8oQ&+c=c 0@Sc]p] `
@@ -620,7 +614,7 @@ cP(tzOzTNXݎКFͬ5SU !s/sa=r۵dcH]P
nTZ2z8rͩ" lX`Hv:YAIX4R3z>
940ؽV
dgVd>Gi)5ѧ͵R ZC\`[k<SΝua)KDuSH qя,xr;6v%Mh¼4Zͬ7gk?%;Cn
-֒-ZpȧYs$ _|1¹6M;3 N(\6Q.oVBF{F*Da2=ME| #F(5sٔ;2_(Xӄ[fTSwu,֡ˌ
+֒-ZpȧYs$ _|1¹6M;3 N(\6Q.oVBF{F*Da2=ME| #F(5sٔ;2_(Xӄ[fTSwu,֡ˌ
endstream
endobj
363 0 obj
@@ -718,1053 +712,1066 @@ endobj
373 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F64 333 0 R /F22 367 0 R /F16 336 0 R /F75 338 0 R /F77 339 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-390 0 obj
-<< /Filter /FlateDecode /Length 5025 >>
+392 0 obj
+<< /Filter /FlateDecode /Length 5081 >>
stream
-xڽ$1"o`ͭ
-hżJ#3F4)Bz$gjƊ7ӏO%8H'>%*>LjͽA  Z#8i
-J0m'Tr,sYJI.Hzζ񁧁#ny|x><Oݫ LV_{+sª'E~0rTgJHżޮ)/&34X]b^l<NI^H[ <OvU@r$oΌsM$yЅȞ":
-V@3 4(k>(;$QTt"x%o<GہOP2f!f.nmEe-\fI;X7
-%b`6/M>wq3)Bʊ%*iWU51o*AVHuB(av
-FU[66fRiPbmX<nB#%<G|V]vKǰ憺J,' LEtó7w$EWNJB,EQWazա^䫶[jo B61 C2y7|7.VwKT,ˠN˸k4gtD0kMvwObBi
-MmD
-E:!2)n}Ԍ&H*6I0×ά^0'?(ɜ474?o~Kl)&lk]vL< _.T`re<:a!'J=s&؊I%E>ƿ;x ٯ,;@͊cQ<s%˛Œ]ZuxVJBW Џ6 q4ʹѣ^Y[^q[QL۬$"g3џ2h%50|B)Ddޣbܝ:f=)4TA3yÄDSb-.pCG?Htݴ,% t>HɄK`-4 pnhTF2"bmmٷ-+ȶ
-1rkaOnƪ9m(jPHϔֳ„[?O
-'EV^0#8JḄ~ɢ`4̄zކoZCƽh@:xfCc& Oi&AQ(i
-2/PReN&$GŠ3z#rBPQzdX y¿63$ cG^a?(B CV6dPJkz>"I!O%.(`RA5J(JCj4P{ th\푐=6nEq"`GT.(G[kZ*7p}:( 16`_j z.zQi׋\^6 Xzcʭ*!_kALE*zCBcȮv%Qc@>Q*Qs}Ϋb&98IF4,ү+@EBY;'qHO1~5|A]RH4j&R1$lԑyHR%o3INBdVlww|Wafuk!+婼V
-9@=p$"U`k}vnLJ|O.K^R*.#ܡu+) }BAXFe=j$V5bv ?`e~,+c{WАg)NP(&g0m=4޻|@X$DeJ(:
--t4%b+fhp678t?ZuLE^B&~ `2V
-YD[IO6J8fn[Q!E5_9n=Ψ$VsPkfȃZ$*ᙖ-SOuRVE7rrϛOGuum"ScWNֽgauFfnR 0lMn
-.Ue rBޥ].=JQMgB-PR9kVPHr@(<e}^%g8sRYɬRT v *s[YR:єP\X|'4˨7==}SVd糱݂WJR\mSx\]RQX&w@hoH6 cx}eHcJJwjjf@gɖ0^􎇴ހ6g8SUP=PW75!t;>BU`,E
-!>Z 5DBV( B+Y 1sgx$+OfEN i",7;0FtbW%S%Z̟ǕhlUI D"Iæ.";t.ۢ)Dvꩲın|;FXEʞ^+I]6v,yֳ6PNoLxAD]N%g.hŢVL8h7(J
-5c7dR T3#C!&2V$ƲV쐶9^cw`jʣ4?(JwVBLJXh=tmϜ])e ߫X#C\q*\Ǣj/~e{sPk8G?uf
-!9֙_2aD`=,i~\9,=Ia׊$Y}ǓqWSBvx4G7EN~&_qxJN-xO'EhI8[1"WNjZkiZMkce١Y*(4Pr7~靨?_Q*-5b9iޙf#
-Gqvׇk
-,8ڑ
-j%Ms!)t-QJI{1@U8esdQz
+xڽ]9dWthK f"Rb}ow:hGX,V}u_oOz3&/of=f`\ܾvs_? 9 _87
+ZFg+7Wi|#iD2黼['aUVO(RyΕcRJ"uaES5p< s+>ӭV~)?G{u{+ܻ}ʜj ia7
+Yu%-"N+L,0ѱ܁DY "xYܣ\ zա^Wm=XߺH 5$ eon]lYAqעi 訑`֚D+ĄҴ7EH&?ASX u IqeR3vWz UVI|M~?a 愿O%&8F~O}-;%ZfDBE;LP[ (ϣO3gTR煷1ud\YvH@͊mQ<c%˛Œ]ZutVJBW GK*tSb]KըQW.aU;nMjM<{23xd҈K^&
+1)&&euz[#giOk&)tP>xTC V_ǒcIǸlܫ1I
+ͨihH ^WhEEpWk?fgDo
+`%eD1P4c
+s~cæ٘{L9k(gZ6c=zadf{VH/wc"X6r( \Sh($D3(ƼZޗ
+d;y&>|VAY G{ TIp%aXmлg .*m3uD-}g|H#I8؏`9FXtg s$&Q
+CPt ntO -piM
+ݧ$&ue{POo@R)t|o+E~mVy0bb(jY%zC|Fvg5,Z{nb\w__wT,pʼnk-*er(1ityXhX♟t!\'5rPjian5Hg1l_4yHR%DZU@
+tBd1nԉӭJ
+˩V?r
+wΟw~8fYҒT\JvY,-+cdА5KyX(`"L[D." s29ik—S#5[Sӕ&١Rvv#3QW/;xEvV[ U6?fy:ZcƏ0pw
+kla,Z^}o8–)s? i8LI:&ԓ ^B &~ `y9˳.eVcBq 5;L;[wUSMƬWwc9UgT95Wsσ |rW*o2ydhFT.* A `yӑ81.0*}_V tʩ(i].i[lD߽aVN̾jTO;l{dK/"."9Ru Ug `3AՍԎE%)vQ[ \ ąo&IQNr4Ip˾BPP\R>R-z[ioʲDVK}]%܅RB(_ϢlІgR
+
+
+*C:
+ D}:֝ XֱЍp@|:
+O[w
+2w6h$j}:
+Z珶c/cfN_9bd~z09/hA,a&g_aJK2Dy'AQJU;
+/=JO%M32ѕY3<-b$x7(3qv+r9r~u1[ˎ
+=vp0->ВԂ[C  it妹/o}iH\qh}D Sdl|@LJ6gXEzm" $.M+;d3P,΀v6GzTa (7p ׉;eOŜU.D= ?gDһ㛿\ݿnCL(V~(oކ7Z2-o-`+Lpyb.RYV+gH_ƮSu`Xྴ3<He?i5˒[jzcyCօxCXw. qzl7k5
+"dD%+A@Og%WX/5
+:!ʔFo"ғ]~@yBhZ t^Dʭ3 nGi-o1(SuVv[
+:cXkv"毾Yʗ)CwcMD( Ǚv$x 2kTtliXq9Nh%M3yDՁGP;28#Ui>B7Y>*^i5i/}*2>~cUh'b
endstream
endobj
-389 0 obj
-<< /Type /Page /Contents 390 0 R /Resources 388 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 397 0 R >>
+391 0 obj
+<< /Type /Page /Contents 392 0 R /Resources 390 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 399 0 R >>
endobj
-397 0 obj
-[ 372 0 R 381 0 R 384 0 R 385 0 R 386 0 R 387 0 R 382 0 R 383 0 R ]
+399 0 obj
+[ 372 0 R 381 0 R 382 0 R 383 0 R 386 0 R 387 0 R 388 0 R 389 0 R 384 0 R 385 0 R ]
endobj
372 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 386.12 665.921 392.579 678.212 ]/A << /S /GoTo /D (Hfootnote.6) >> >>
endobj
381 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 510.443 411.645 516.902 425.244 ]/A << /S /GoTo /D (Hfootnote.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 469.627 607.699 476.601 619.654 ]/A << /S /GoTo /D (section.0.5) >> >>
endobj
-384 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 338.658 276.94 345.117 289.669 ]/A << /S /GoTo /D (Hfootnote.8) >> >>
+382 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 492.322 607.699 499.295 619.654 ]/A << /S /GoTo /D (section.0.5) >> >>
endobj
-385 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 387.236 237.308 393.694 249.818 ]/A << /S /GoTo /D (Hfootnote.9) >> >>
+383 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 510.443 383.749 516.902 397.349 ]/A << /S /GoTo /D (Hfootnote.7) >> >>
endobj
386 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 244.218 185.283 258.942 197.239 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 338.658 249.044 345.117 261.773 ]/A << /S /GoTo /D (Hfootnote.8) >> >>
endobj
387 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 275.761 185.283 287.716 197.239 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 387.236 209.413 393.694 221.923 ]/A << /S /GoTo /D (Hfootnote.9) >> >>
endobj
-382 0 obj
+388 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 244.218 157.388 258.942 169.343 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
+endobj
+389 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 275.761 157.388 287.716 169.343 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
+endobj
+384 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 334.199 93.186 340.423 103.996 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
-383 0 obj
+385 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 353.478 93.186 363.935 103.996 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
-391 0 obj
-<< /D [ 389 0 R /XYZ 78.37 808.885 null ] >>
+393 0 obj
+<< /D [ 391 0 R /XYZ 78.37 808.885 null ] >>
endobj
33 0 obj
-<< /D [ 389 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 391 0 R /XYZ 79.37 771.024 null ] >>
endobj
37 0 obj
-<< /D [ 389 0 R /XYZ 79.37 711.216 null ] >>
-endobj
-393 0 obj
-<< /D [ 389 0 R /XYZ 93.716 125.644 null ] >>
-endobj
-394 0 obj
-<< /D [ 389 0 R /XYZ 93.716 115.951 null ] >>
+<< /D [ 391 0 R /XYZ 79.37 711.216 null ] >>
endobj
395 0 obj
-<< /D [ 389 0 R /XYZ 93.716 96.859 null ] >>
+<< /D [ 391 0 R /XYZ 93.716 125.644 null ] >>
endobj
396 0 obj
-<< /D [ 389 0 R /XYZ 93.716 87.232 null ] >>
+<< /D [ 391 0 R /XYZ 93.716 115.951 null ] >>
endobj
-388 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F82 392 0 R /F16 336 0 R /F30 341 0 R /F81 377 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+397 0 obj
+<< /D [ 391 0 R /XYZ 93.716 96.859 null ] >>
endobj
-412 0 obj
-<< /Filter /FlateDecode /Length 4588 >>
-stream
-x\Ɏ$W Eh@5-@7s|-]u;̪jtW& ˋ%/]Oׯ~x,X|.J\UBZu_L+T{ID)g?+4!KOjSy~^H%#?.~pK7)G)[
-e^[znoNϠ5<;hg*ШFnU[y5<neZRПQijކ15h\_q [X PVBe89\D.'erl E&j41= zxymq3:A-tN, r&.;kBgKPNݧaE] 9V񯟍Ƹ#>dvl}bt.ϲ'2JDsBVZULz/nd1ɌoyNrc<2mj>;V
-Czl]Qo$,G]Vhf"C:
-kmldr[P `m&7-XwP$4+R] b^=M_#aLg^reCe++H+$S}wy!ݨeJ9UMyȀR  ;]ό=r204KΌ鴶qפbw68ხP3ZUxXG
-A.m_mnpjȡ Z#xCٖqX6\ΙeܺHHs4Q X`?Z c(qx%TsP6P[MXf`0Pm{ȓV#l9lmhϊϧ3az3z3 `f Uf²c:ގxߗqy:|R[&YVCP ֠x6Ye`Ut
-GՒ
-*4< 8)@@ m?h "BT+DZu(<
-IHtZF92%I mV޲jcL?-5jtj\z+ z)o(HL~>CբG H\EutC7콥,K8k"(P 0:ikHFZG[^ Ưg7q͟$YٴoԲqs6=.ecA<0nT z<9΢mC+ܔO\K `!i?xGhar
--ٞ0OȾխW3J#DGYSW[鄷Ipt^)J SE
-ϡY`6
-96cAMC>E3lVaq[({vLU\':o$gZǒS:h}rǭBN3[
-xBW[ Q cpceM Ts&DZ}Eu-}X)#:mlK%gޡY" y$[[lL
-`ϦoH\1PD3,oI*ɹ"qu] s\!:ډ0W`vAQK#@jY>3`z]Rݢm5nlԨ`1FUD4#ƢeS?¤اnݭrIlK ,!}IPVQΉTt7xRKY=8d
-F~~ފ`H|2:.pqE\ȮH}\p-XԢT8dVYOv[~LzJozSMJs[ax$woZZ5&;ht Eͺ\Ͼ zuV@| tUju Sd"l MSQ5`9%Uo]}M.GuXJ..-LԨtpvr^.+TN*O;aNNG)|
-w} ʩ}6
-i4JM6ָR Oz$c,<SvW}2+VkԷ9 =%?-6Lk}RO3>Q1.a ,V
-GV f{$*<cgFNNIs1 K
-2[6sM:3'צKH4)U_y7MMLǐOC(̣>;'(A/)z(-wPm-,}j{*ihlu5z %l'KX.4%se%qcU(\<ζ7v漤c@܋9pKC~tm*]HR)O <H*1Z]O_v{<)v?f&efvit{`S)KByyWJS3sz;otͿRl}L&9^,f4S ;աW.<TQc];RS>VA3">~>)(AD*|10?@=]mvhEI5Wv=Zldw, A yLcX,~a h{Yo:}v
-]A ;7tzha^m-¿yEUX-/_C))ʧ|6
-0OiwxW
-endstream
+398 0 obj
+<< /D [ 391 0 R /XYZ 93.716 87.232 null ] >>
endobj
-411 0 obj
-<< /Type /Page /Contents 412 0 R /Resources 410 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 418 0 R >>
+390 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F82 394 0 R /F16 336 0 R /F30 341 0 R /F81 377 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-418 0 obj
-[ 398 0 R 399 0 R 400 0 R 401 0 R 402 0 R 403 0 R 404 0 R 405 0 R 406 0 R ]
+410 0 obj
+<< /Filter /FlateDecode /Length 4007 >>
+stream
+x\Ko$ W"%
+P{uȅ;pG"zVUy"׼P(W>uݡN_±Zg]WR ugnS^5t<;=Ϯo2kWO_NMU&}[w˴}dO~6ֵuWr3UCmU\+e skwjY,Hx^1iF+3)h*_k{ J3IFJKf8\K̟ta(PNEM<c֤ OӔ;VQWj ; ~XN4Vژ+Ӂ #_
+5~$Ke5+H? L*|M+^eyqɄ9ct3aX
+Ӣn*&8hm;ۭ'/Pc `5í1RK/=*,;J ! *F$~1$9W8eԆJX++|dQ2
+scUc`OL"'>(4i6kpU^~v;}9 K;v7keثyԃ7LQ0f{A+Jf.ݻ+Y ['c1)ahؘ9{%;\{Fڇ#N 7,Ltx[O9ئ@o==>y0)eN$^TZ֜}t΀ټ gi\챍xyx)rK-R
+60a~=|'黎2
+
+1J84-E6:Oj٫!VY4CV8dfI̙!dUdу|mBOv7'ҝsfnxG2(dck!p\)6[6tt '~#Orx)sҬeHk|RF@Rz}|ԶN= hS'5A▐0>IZ=UC{-/lPܘ~3e8ϡ@P59Vai <xWToX[n1-$j P@mmBf.Ы ta_&> `!s-{hC|I/ CO5Qe 9 d)+r>sgeaɕ=Q-OR9_a,M׈έ/c'g Gy㷪
+f
+&Zg7-#R6֜q¬oa cc 1%Zf(6B-N)!,y4ȃEaR\|K4ntJsGLjElX3͇>"-u[tETLSl9. Pi?qNQ3
+MH+M)P[vv8gҒb-9 *ҧ0"b;@m0Si ӗ+`TJ)(xPkf7!vMjU;]V.]s^ɺDj{kد峍k݊aX2'U!W)L잚'QoMsS`-O=]h?`Bքlg@ Z?zE-uި>LUL3i/EU莐)-hxrU%YY9BYO+&T;o`{6Tc4gTu0 =>~
+𓚩|#2lMQ)zF㑿zd|y%4KtPB%)<5&-|O1"a9Tf"ݔQ B9boA}|R~-+īfBSn#]U![- uZ.%ʔe)C;k,sбL ?sr{4ki6e vHÜRy1:>Q w~LDԐ-$pM/*A+2ߚӞ<r5ŚegC㸯? U^:!>><6Y7"EMv?U-m귴E9+Zs,>#&;5>$g]tPR #>JD],zҘgLBSjj{c~|~B#@-`QC w-d;yn`>љs73%4뚣0w7e{m]ݓ$ <ўBͣFYeLoKhJdV^_i9eHȫi+ TGmr`Y
+{wޱi5S0<gLycJף&eKv>D-Ōk|c2(by).ReïTz*Sʑv$/5rlZײwDp5Ԣ(p4OU<R{=.I|_Y4aϴvʁ5WǜH^X;?rb%$?($G.ݘԆ ]#N=W9>8y@%Cߧl1QI|qPaia{v/3
+7듇oc,Fї-3r+=*CS&Cm4[
+endstream
endobj
-398 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 195.455 465.788 210.18 476.857 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
+409 0 obj
+<< /Type /Page /Contents 410 0 R /Resources 408 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 413 0 R >>
endobj
-399 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 248.586 465.788 260.541 476.857 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
+413 0 obj
+[ 400 0 R 401 0 R 402 0 R 403 0 R 404 0 R ]
endobj
400 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 356.342 262.09 378.817 274.045 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 195.455 369.469 210.18 380.538 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
endobj
401 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 394.538 262.09 406.493 274.045 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 248.586 369.469 260.541 380.538 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
endobj
402 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 331.385 223.094 341.812 235.265 ]/A << /S /GoTo /D (Hfootnote.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 451.762 231.547 463.717 243.502 ]/A << /S /GoTo /D (subsubsection.0.6.1.1) >> >>
endobj
403 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 333.577 207.451 348.302 218.4 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 356.342 119.965 378.817 131.92 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
endobj
404 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 364.023 207.451 375.978 218.4 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
-endobj
-405 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 506.475 186.774 516.902 200.29 ]/A << /S /GoTo /D (Hfootnote.11) >> >>
-endobj
-406 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 317.437 164.208 327.864 176.38 ]/A << /S /GoTo /D (Hfootnote.12) >> >>
-endobj
-413 0 obj
-<< /D [ 411 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-415 0 obj
-<< /D [ 411 0 R /XYZ 93.716 127.979 null ] >>
-endobj
-416 0 obj
-<< /D [ 411 0 R /XYZ 93.716 108.887 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 394.538 119.965 406.493 131.92 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
endobj
-417 0 obj
-<< /D [ 411 0 R /XYZ 93.716 89.795 null ] >>
+411 0 obj
+<< /D [ 409 0 R /XYZ 78.37 808.885 null ] >>
endobj
-410 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F83 414 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R /F72 349 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
+408 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
423 0 obj
-<< /Filter /FlateDecode /Length 3283 >>
+<< /Filter /FlateDecode /Length 4034 >>
stream
-xڽɎܸ_0M>@kǷK~? iD}#gW&7K%o<1|A71*hiUl}R(@חs' =9o>QbZ_=R5h÷r/%4B8폧⋊r-+܊rFh4<x>S
-@OJ.
-V.E(`2h?/xզ< lYx'2e )ɀ quF%  h' A$]kMl)܃ȧV5a(yq+ :ƦӷE剃B[ mrقyátŜ
-鮷'j~R
-O Y4~~ͫ mn0,!
-DL"CӤAtV#ݭ  h6jAJbN24#\E2DT|@gF=Y~] xB\oPj} cBؔD8)٥)͛9,%݁[ab䑐@@$`Ԭ0B4rv4:-E%1l
-4
-*x)TC)Hl$HI
- RTbRh\xAL!ܡ#mM'R9L
-QSNk$4:L "P5 m͡x +OטWGjWkxAՠa#rx=-1I^izX2 .`AO!P&CB&A"L^н  /2 rc@
-twf:VcԌsN!yA5F ):bWԕsC&_EQEtSHjky"`MU֚6r!\3Ngkn5۵ٚ{v7YStR3;W9N[(-fgD^kbhq>C{
-xT7+N>7##b?"{=g|Ώ&WtϧO'|=sDyXd+ui.Sk'WyӑPb
-?zp>?'Oi?tOZBrr9=L! Qwӧ6?v{z9;b;-vu-rJ 6 KDZ;>=ҽbw=5H&pǛ>ϚOegĵ~={ BfY8W}%̐r2;?uEufrRRNh;ʆq ܂r^mƎ7] I[10Ւ~<JQ&wREj\] "J
-Zhaa-Ud;bAy([0!1LWHfJWZ`ƙx,6=/:\Tw@S,«huBA6t~9WѦ]@S詓)uemKMh/CԁB=AMu#cntЈGS+#SZgMpznĭ1rGffi篪a{7.J/Z =z\E6jƧUroh̸!Up]*C-)ܪ~X0_zzδLhU5OOj\~ "ۖRq7N i{*KM@OA
-m'˖t+}I#h7u$Y\7z{LR|Akceu(]zGT g00:Om#S fAsy9BZkV:u7tf16~fԺ
-ׯnĚ~w "({`tgt|ưfW9]=[N4F2${QJ6#.X-6
+xڽ\)L!@pNIt3|JbK^?ť5eK_]n?y u7MW Y#7o[Q+~\9̓s dt$@#w^<vcoô{"!D |NJZѐjAw~%*ʔĖwhdzgIWM4D<½@җx67üN<K L 1Ō5ijc8[IM*>HMFJ34eA"_*_%h
+E-mDP #-4uآ
+<6{9h& %됶Da1+{d+}hD܉!\E ZIBH^qIU,ū50 ㆱ,|A0C n?~n58r4BW֏ %Mhf\>+"?%.ϋx-wI*j1*^(͘8d<LJ,~{"?RHȿ6'r$^:|'R]J#
+Tq.PyVpG $5H4B|" G0ν,,"kwSd6Cmӈ4ca!a"(@)+V4O<ju~zՎʍ&\yäV#[dS;R+%s.xZXF?[#: Q` K&SOlڼܷ1?/h֬avGp1"Խb0p\Mtu] p
+e7=QTiJ]r:v եs/J3m'mZ~ w&$0EdfjA
+WtCi&,Wvcf`S.?JUVXlMDJV~5Yee%>][oq丬Ygcԗk9f v޲ӭ!=߷_¢EPOH*zL0cy*)fiupU%v2NGO*2pX1`ܼf[} 3}M`;z$WRٳtuoNNY%}Wy ewt̫tzF9[ #3FTԎ*`wk"IJn”MiaMǬ6B8ȝqrjn.Vc*Ü)xSc9jlZNZPb|TCR?KYJ͜v7}9^70 PK)7>V:"%|H Ym-%qe0:
+c[:a*F @rmtYVs:̣+qslz`qK+ -gB{ h.P/v*J!Kd߃Ƙ&)0 b QB
+.@0C~oByAB8m @
+`5&664P1eg iw@,.x0{ &04ĺV?q?[4g\]WsŠ8vgEkԾ{E؊kS$7}95CdE35{i`2фN2v*hdt*
+O8> OZ 'r$zU#[eo
+%1U2BurT0 ^-R+%#Z"JW x[8)>'}N;Xise[9f=pe]@*\b)Zwgl_F3ײ4P J皁{mMDϟh+ZQBֹBld2Ik%l;2 o ^'~~
+
+nGI#n8+paG[ŷDSOKf1 j5 )[
+KGܫä9v,T4QLUQwE0bS˔foct^ҁ JWx{иTok:O‘Rh?W桷}4Ž㵌/~CP3`-Z6(-c.1?VDK!zσ<N|_uC<2#;-t.NfW41hGhTqoAoF$CllTtLJ^ <7NYS{"^W1`ز\T{f:ioiMp_0LY=W0)$3V5dwIWkϨUȣb>є/Grt5~yGS%7)yHu`.+YҴw>*u
+m(5\PGlَ:ʧ$gn{Y)؄~ϧmz2g㢽t@9Urk!;k:+8'T?ĸőּ*N<j#a&9֏Dao%)tQHbT|`[&l@TK9u'yly?Z(ϰ,)ŕ0О"RF-S0P&)y$.#~8w44K{<Y;Jo>S- /R ZRuzKjay#8zn݅ 3K (DZTeSe Ƭ`zCl dJ aJ5LSL3hD
endstream
endobj
422 0 obj
-<< /Type /Page /Contents 423 0 R /Resources 421 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 428 0 R >>
+<< /Type /Page /Contents 423 0 R /Resources 421 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 430 0 R >>
endobj
-428 0 obj
-[ 407 0 R 419 0 R 420 0 R 408 0 R 409 0 R ]
+430 0 obj
+[ 405 0 R 406 0 R 407 0 R 414 0 R 415 0 R 416 0 R 419 0 R 417 0 R 418 0 R ]
+endobj
+405 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 331.385 758.132 341.812 770.303 ]/A << /S /GoTo /D (Hfootnote.10) >> >>
+endobj
+406 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 333.577 742.192 348.302 753.141 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
407 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 352.892 745.619 363.319 758.348 ]/A << /S /GoTo /D (Hfootnote.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 364.023 742.192 375.978 753.141 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
-419 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 303.231 254.112 315.186 266.067 ]/A << /S /GoTo /D (subsection.0.6.1) >> >>
+414 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 506.475 720.921 516.902 734.438 ]/A << /S /GoTo /D (Hfootnote.11) >> >>
endobj
-420 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 225.413 165.945 235.839 178.306 ]/A << /S /GoTo /D (Hfootnote.14) >> >>
+415 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 317.437 698.356 327.864 710.527 ]/A << /S /GoTo /D (Hfootnote.12) >> >>
endobj
-408 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 105.185 96.542 124.577 108.162 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+416 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 352.892 653.963 363.319 666.692 ]/A << /S /GoTo /D (Hfootnote.13) >> >>
endobj
-409 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 135.281 96.542 145.737 108.162 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+419 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 303.231 162.456 315.186 174.411 ]/A << /S /GoTo /D (subsection.0.6.1) >> >>
endobj
-424 0 obj
-<< /D [ 422 0 R /XYZ 78.37 808.885 null ] >>
+417 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 105.185 71.643 124.577 83.263 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
endobj
-41 0 obj
-<< /D [ 422 0 R /XYZ 79.37 241.153 null ] >>
+418 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 135.281 71.643 145.737 83.263 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
endobj
-45 0 obj
-<< /D [ 422 0 R /XYZ 79.37 220.864 null ] >>
+424 0 obj
+<< /D [ 422 0 R /XYZ 78.37 808.885 null ] >>
endobj
426 0 obj
-<< /D [ 422 0 R /XYZ 93.716 109.842 null ] >>
+<< /D [ 422 0 R /XYZ 93.716 142.218 null ] >>
endobj
427 0 obj
-<< /D [ 422 0 R /XYZ 93.716 100.155 null ] >>
+<< /D [ 422 0 R /XYZ 93.716 123.126 null ] >>
+endobj
+428 0 obj
+<< /D [ 422 0 R /XYZ 93.716 104.035 null ] >>
+endobj
+429 0 obj
+<< /D [ 422 0 R /XYZ 93.716 84.943 null ] >>
endobj
421 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F65 335 0 R /F84 425 0 R /F73 350 0 R /F75 338 0 R /F64 333 0 R /F22 367 0 R /F82 392 0 R /F71 347 0 R /F53 345 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F83 412 0 R /F65 335 0 R /F84 425 0 R /F73 350 0 R /F75 338 0 R /F71 347 0 R /F53 345 0 R /F72 349 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-435 0 obj
-<< /Filter /FlateDecode /Length 3737 >>
+437 0 obj
+<< /Filter /FlateDecode /Length 4153 >>
stream
-x\ɒ +!ApɈPT1>ĜltKs$
-$ gnen3uOGv+[Tdfj
-'X:,vܘ^O>z4THW%J+|ÿEp
-
-{EbHLeݦ
-3JyM5uh% lECAؓ}ʎBBs1
-disrs`s$<N40/@ܢgor!ʢс>}av|
-܈l>l€)%يO_+s 8Z@{𘄱`XM&I<U
-9^yBjesYi~;‘&^@ԽtϜcڜcPw]
-~8 iJb)Pac^u[?e[_>bsh*\dhTKNJqR;2z yz40'4GYR}.9MtHPRbHdcN4<zͺ8b}d\A]'+)1(\M#ܘӴ˯Iq@[q'SS
-Tl[no^
-OsҀ"S2#n 9=`@
-8:yyBF UӼv?5G*u1i\\LbҬ1Qy{4۠ʌ]Ō4aZ5d-57)s׻
-OkÛ`
-=.b8;R8Vμ׏$JiGA}û) #:"T’EHGS=_/RU.Ň/r_1KzgXK#%*ޡ50<(ѮE>Z9b 59_5h$dרP u l@,t4ٸ0hoĶo R{zYZJU)kIf1ԝwHuEEh;t^]J~gv*a:*s44
-_}\ޗ8cل]+-ؙruq4Ɩ&;q^fs3c-"Nπyg}Y pCI 6;7Diƽ{T|r:VΜ&thYnR}P9.hs0Ӟ7,)ZOXd$em([^bEyk1_;g}#<12$
-@Q3C 9KE)FWW[ߚ6&={ǭ`nmX:]h{ )/u Q +5#0aA@/1[R8Fa޺jZ@Nm|"gO2͵>KX(J}JcM!HTwȉg(-ȁWbLD[3$qځ|
-8^Rl ،WJ./?^ 7N 5}]1۫;Lݰ/kq+t36TMmp~3qAg/*nwpP5F },+u-TENnEhD\:boiryMߔsOQ꬙ޮ
-VxUmI8Ű&b]H'-UM=; 4q"e^ss /0Q_֭ \E4soWއW= D`<LX`&񶰡W@=m%[ԤNoT4"؄|:éW/ !"4
-sTkZ &y԰w?2;*7%*'&Z)GUW7:)o{<?ViϹBY:սF dx],FM`31HgKQtkNA]P]=`g=fN׶w01*4ӵ'O}*^ݛyZ28B[m9)C#)'jYjMNVlS4)T5vV:w-%KWuc1fn}å^ߔJ[ ]Q޴1RB2A[F69I'fP&
-XdC?WT
+xɎ>_~@4Y,n0O#9ɉ}Ht/H:dU*6yOO/~xx9}I~747Z>s8WsNp閦KJ?x~'w~Y
+hя?ъ
+#]
+ oVW t %p:
+e3~_wn3P@KP(Љ_LX{럷?~ \aF4L$,<H__kILNftTK ؖ~=Eûi܇7!̻95'H0Ȱ.ˁ0)IRކչ!w Q ^%xF 18&,".Ot~PSJ5JlXl#EZ6i'
+-ȼc w=4S {9gB>YBv,h{'{9hQ|7К'nGCtP-'/y3ҪNA3䤽8STyvQ$EqiD(\t@
+'=屎3,īϛ$s\<o]$,omٳ CRYI1͞%Okˤk?@.I#y=kd Eld|C=t&]K~ZYQ<ZcwGY`/@rh OOj1Җ[ ^NKΤ̐HY}[q
+tEװtv@e/.(\s|c4quۡcv"!ݗH=ru|f!Oqs'lg8a"?gC,_>NH$v Z;6jcɁIX9V{+Kg7?Ô@X%ӗ*R @#M O'YT8}<1[ǰQ۽,8ROQm^evu7i!O9؛L݉S!dh=Ԇ 7^b!s6;<Â(QsYE\jY Gd#8`G,Zk]cCi2!ǩBYTZxfnCxK},M s3\Bh$xOz矹2y gCJk0+!W3!Mܩk/28?6%0ᛤ,#]dnruIΈ.UJ3X8UM-āoVS+N},|3z%SbrFmD/DhS43Jz JTbaZ1Ua#:RBٙnb@*S]^N
+gH?"$Ɛ)f2,GŹ)f&S {e,ӑ2E(2/j][cV1KRqV
+QҞk{eڛem< o?EdF'wR!$\BJZVy/"R&_aQY2 2@ wtˢNSʪ}Y5e8( .O5}Хm)F,Z;R
+BSxDr,@lmF
+W3:
+z;1%NE [wPŵߘ)y\ X
+8Lm (,hrԬ 
+%7\4$`]b|4dR/}(gƸe}\J޻)|E({@T>9 IaàGzǜ6_K”*2nTΗKsŢ CrKansK! WL、rW
+tԫzz!vѼ՜aj oεئld$A5D(aY0 hrq,\0kc7WDȼ~uQ:&Zrv4.|kb爪q!LH`<RNVy)+:W֤iΎ Z9 nS-%v<k{iΟ!t^rc-"NB?<1u6&f0a BD@( ;7jg$+pZsl̥4(޽G'rBmr_ VαTu̧9M|@
+IOd_+ieY]m|kRnLx^9Hpv܊*
+5q*˥ s;`h+N8v ~ݢW_oM{0mխţ@-38C~eH;}Q??oj,@xMl?+zṶ1q㩍xJ-q7<j3Nx+X3+mlks Mk<7&pōj} v_k;챰BS`lՇ|X+1Ag=C3W^M쎡 !Ե@t৆޶1hlDГ% ŗ!|(1=g+ G1ߙ`}(Ƥdb7ytsVBp}
+ W;p)Sb%y͹ 2SatNNDz(2m@?XϟKO䄧ī<x=X0n7Vwt;VZ.fKQKeZJ]iNzÜt#1O֏rW%e&PW|z4f<̪֥ڪ΅Oy7S)o)dZ}ϩB Ŀ@b r^z|{ 8 ju٤*lLjZU
endstream
endobj
-434 0 obj
-<< /Type /Page /Contents 435 0 R /Resources 433 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 440 0 R >>
-endobj
-440 0 obj
-[ 429 0 R 430 0 R 431 0 R 432 0 R ]
+436 0 obj
+<< /Type /Page /Contents 437 0 R /Resources 435 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 443 0 R >>
endobj
-429 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 338.04 576.254 345.014 588.209 ]/A << /S /GoTo /D (section.0.9) >> >>
+443 0 obj
+[ 420 0 R 431 0 R 432 0 R 433 0 R 434 0 R ]
endobj
-430 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 438.852 576.254 450.807 588.209 ]/A << /S /GoTo /D (section.0.9) >> >>
+420 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 225.413 697.31 235.839 709.671 ]/A << /S /GoTo /D (Hfootnote.14) >> >>
endobj
431 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 504.396 294.837 514.823 307.566 ]/A << /S /GoTo /D (Hfootnote.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 338.04 483.064 345.014 495.019 ]/A << /S /GoTo /D (section.0.9) >> >>
endobj
432 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 323.794 171.3 334.22 184.029 ]/A << /S /GoTo /D (Hfootnote.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 438.852 483.064 450.807 495.019 ]/A << /S /GoTo /D (section.0.9) >> >>
endobj
-436 0 obj
-<< /D [ 434 0 R /XYZ 78.37 808.885 null ] >>
+433 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 504.396 227.826 514.823 240.555 ]/A << /S /GoTo /D (Hfootnote.15) >> >>
endobj
-49 0 obj
-<< /D [ 434 0 R /XYZ 79.37 449.94 null ] >>
+434 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 323.794 119.882 334.22 132.612 ]/A << /S /GoTo /D (Hfootnote.16) >> >>
endobj
438 0 obj
-<< /D [ 434 0 R /XYZ 93.716 115.197 null ] >>
+<< /D [ 436 0 R /XYZ 78.37 808.885 null ] >>
endobj
-439 0 obj
-<< /D [ 434 0 R /XYZ 93.716 105.57 null ] >>
+41 0 obj
+<< /D [ 436 0 R /XYZ 79.37 771.024 null ] >>
endobj
-433 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F75 338 0 R /F22 367 0 R /F85 437 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+45 0 obj
+<< /D [ 436 0 R /XYZ 79.37 752.229 null ] >>
endobj
-446 0 obj
-<< /Filter /FlateDecode /Length 3914 >>
+49 0 obj
+<< /D [ 436 0 R /XYZ 79.37 367.336 null ] >>
+endobj
+440 0 obj
+<< /D [ 436 0 R /XYZ 93.716 99.585 null ] >>
+endobj
+441 0 obj
+<< /D [ 436 0 R /XYZ 93.716 89.958 null ] >>
+endobj
+442 0 obj
+<< /D [ 436 0 R /XYZ 93.716 80.331 null ] >>
+endobj
+435 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F22 367 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F16 336 0 R /F82 394 0 R /F81 377 0 R /F75 338 0 R /F85 439 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+449 0 obj
+<< /Filter /FlateDecode /Length 3946 >>
stream
-xˎ_1? d ,hS ؇DO==m`3|ԛ巋|y}}UKig._}RB^Gҩo( R[AI)ß}
-
-_U_RGGD[h: IR,(Ri^Ɨ [ZHDo 3m
-0eŢhIv}!"&ϱ;3m|!+Fd@~l~[<7<XIU4Êcn+:l\$:]:S*) ~dO_Hz#"X]dAhجRhJ^'esx/tEv[ƚn.<˫u͐E9XMGyc:
-?ui:;9t̛ti\kQ4f!s ZS6
-r֮:a77j;cLAO%^=I*Ԯ^VcgceKk=6QzV8z&t
--Օ8'N5g$j<6R4F'h5%OPP"Э9QtUi_2=>:6eȪl[hsZx Hr {@1c-d{¹
-.ȣsB\}hL;oF)8,tN<!Q۝W5=/bNɣ`욠suynG۬b䏫 Slհ-Esӱ5Zr}H5>UJR0m~"!X*~m$'}7C*|ҙ0Jrc_uЯ}&1X)TQspa!j -$%7dWH3ϭJv6KY^.v1sW9l3(^o6
-zNӯ8U!H-xVQѾO .}PQP0Uj}
-ve{6U۞;^":3pÆ'YHhD9u%30@J1L)
-<\](dާBM t"c,.hoiW͔
-k8E׹[[pzUTpR-f} `ptx(>)18O2&98 q<$,! !D8uHzsԘ+0aN''ŕF~>KGx9&w@rC vW۩nC)0V$sg:U!bt~tqx`y͛6{˫ͫ}z^Ksޓ^^m?m;=n{lO*Rٓ@;<EjN +T敲nt}rJdaz<je70#'![i\{2wͅ"i[ gqj \^nVz=l&U<{g&k׎ƫAKfNbcM)*h`1^8|]KBK7܌RƢLK=vA,0+7WH%z2nŤ[\(}j枕= CșNt2ś?U,o,v7 @s|(]ũexp8Oz}9Emh5ԚDM%B̽ 52M0q -aa7FCQD΋48c?ףq,G)Kh+9:sO5L;2@(P_c9oC.6zxIǬju
-KK$p}J4]"u6Lc*P;j$bxA nQ~b6q(>V/vǚ=53;v)}p*vra7c#}]t7o26sf>md
+xn%>_~`h
+_ț(ytOOR ~x'HH gݸ]Ө;J{a<{Њp~~)T"m[Buߤy B4:]?f$)1
+ V[$+BމXv9!YcVV!Jgʼ* XXhlg`l0?BKHZ\wbŅ SP* 'mj?`vB6't/'LL -4
+ 1Fݚ3*= ND6ʱg., DO`<u3?+6ÜvZLqž#3xgƸo01$<wlj _ُo>)_
+0dMw\ R\]:Sj) ۿ)$/?~OwQ#P&Ee0JgC>>:jO~Ǟїcmp.sXeGxl]AKύe{zL(RdJ !2,/7 Ӓ$hF\@$:lo3/٠ gsvsg6'lgz4Xz*iNڏWnc{YO9!q0K0$7QzV8zeQG\J
+PՉ։FB_l(L&S2
+X__MmX&q71bsh[i $N@~8I5S '(P<eCiլMMvP4%`LRr4R.%'pA]J.?0%)-;@PVwY9G`o\lF" [ t7V(}ܸk^4tLI>
+KeliCZqo"+}u@\ziMShSUR
+wًE{aMa-}
+AkW:dN"ih|YhC?>™~*n~[ŸYG<5m鴣U>Zz'lsXgӻe."EL(6|S`QoÌ;Do+ꑊnz^}fHߞ~ƅqeiT>؈h̍}V\2VB;;FƧ,8mr._vJJ7LƟ0v {E ~([1tτ]a$1LaGaG\0f;fi`g"J3
+-p:P`k8;L>;H-``
+fLx;5hoQLoZ*LְrO)~*DQ+GZW)eM_v:k{s˙yv(c[3=?AНF5Ty[`7&3Zm4p
+TţI3N
+졳EXŐd2$z\KC T55O8F2^nSz <qo|s
+/_sw?CJ~0F6?c8 P{-3âH:
+YtH&F.𱧈(⾭*WU3eej-Ea|J*\eUJI1is\M!).>jUng>Hȴsv!)V&Yr \UA==]k+
+;
+A-}un]O\yCKٷ399E4?SPE9ɐ
+z@KX+0a.'ﺕBys8wA 0r`{SwJ3~5Mi~1U&\ٱN
+17ssEwyxa`:-8 efY PxGTҀf4vWspИA$WrH̡,_oAoʫÛ~2-W5S% [ Q:''z2DX9mj00rtk79zJFn/z
+~-bN(?*0j5xջp}5]N4^9m8?5C81^ҸֳWkkW nqlm)g|70O[
endstream
endobj
-445 0 obj
-<< /Type /Page /Contents 446 0 R /Resources 444 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 452 0 R >>
+448 0 obj
+<< /Type /Page /Contents 449 0 R /Resources 447 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 455 0 R >>
endobj
-452 0 obj
-[ 441 0 R 442 0 R 443 0 R ]
+455 0 obj
+[ 444 0 R 445 0 R 446 0 R ]
endobj
-441 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 141.139 465.557 190.205 479.505 ]/A << /S /GoTo /D (piton:transpose) >> >>
+444 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 141.139 426.244 190.205 440.192 ]/A << /S /GoTo /D (piton:transpose) >> >>
endobj
-442 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 140.107 365.019 149.903 376.601 ]/A << /S /GoTo /D (Hfootnote.17) >> >>
+445 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 140.107 325.127 149.903 336.709 ]/A << /S /GoTo /D (Hfootnote.17) >> >>
endobj
-443 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 488.456 246.77 498.883 259.051 ]/A << /S /GoTo /D (Hfootnote.18) >> >>
+446 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 488.456 206.794 498.883 219.075 ]/A << /S /GoTo /D (Hfootnote.18) >> >>
endobj
-447 0 obj
-<< /D [ 445 0 R /XYZ 78.37 808.885 null ] >>
+450 0 obj
+<< /D [ 448 0 R /XYZ 78.37 808.885 null ] >>
endobj
53 0 obj
-<< /D [ 445 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 448 0 R /XYZ 79.37 732.66 null ] >>
endobj
-448 0 obj
-<< /D [ 445 0 R /XYZ 100.292 565.781 null ] >>
+451 0 obj
+<< /D [ 448 0 R /XYZ 100.292 526.468 null ] >>
endobj
-449 0 obj
-<< /D [ 445 0 R /XYZ 100.292 506.005 null ] >>
+452 0 obj
+<< /D [ 448 0 R /XYZ 100.292 466.692 null ] >>
endobj
57 0 obj
-<< /D [ 445 0 R /XYZ 79.37 352.144 null ] >>
+<< /D [ 448 0 R /XYZ 79.37 312.168 null ] >>
endobj
-450 0 obj
-<< /D [ 445 0 R /XYZ 93.716 99.422 null ] >>
+453 0 obj
+<< /D [ 448 0 R /XYZ 93.716 102.357 null ] >>
endobj
-451 0 obj
-<< /D [ 445 0 R /XYZ 93.716 89.795 null ] >>
+454 0 obj
+<< /D [ 448 0 R /XYZ 93.716 92.729 null ] >>
endobj
-444 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F75 338 0 R /F83 414 0 R /F60 331 0 R /F62 332 0 R /F84 425 0 R /F71 347 0 R /F64 333 0 R /F16 336 0 R /F53 345 0 R /F59 346 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+447 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F65 335 0 R /F74 337 0 R /F22 367 0 R /F75 338 0 R /F83 412 0 R /F60 331 0 R /F62 332 0 R /F84 425 0 R /F71 347 0 R /F64 333 0 R /F16 336 0 R /F53 345 0 R /F59 346 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-456 0 obj
-<< /Filter /FlateDecode /Length 3233 >>
+458 0 obj
+<< /Filter /FlateDecode /Length 3268 >>
stream
-xˎ>_Q?0ZzAn ߂=F
-4yIM)6<+4#o
-% >ղ0 J
-,;AXS-؇"9Ħ^>kqEȺ+aƵDr:GJ)`/kVNdI M:5}KRp(IzX5kڥN5!UVͻ/wX^nmoϨA ko{Hn2X@2> ,7T ۗhk}e]ؔR T8&6hB B\6cd? !AiHD%2KDEzHHiRzL⬿owwU~q%?%Zq˱
-"z.3:1ȎY0EX6W[@ 4 4Ȓ, HD%{D L sx-BnE+C5×-|Hti/+G?C@%9ei;t+DX8!Jׯ^"rWrj8;c8Ĵyb#u$">?Eע쌸o u8N
-<4jȍȜP }9Yf @$6ND
->޽kv,,=-jf 97OHa}`EAJ1cWF]7ü ݣYI8l)ZukUzaGN/<*뼾eK;TG^te>juj4<ĤM6#a/8JQ[FQK呪D3zh"J&\
-9>J0%y192{nAg#W
-E*) ZPw]XJZ㫽4Sf^ԑO֚=E~cLc/|rñM^S,Ev8xFko#b5L˅7V#n15:+C4<FCYMs`nx=5 _^֜NĒO8sGDA9=ʩ]f&j3=8"n5FO{-\\!!vR@b!\OiR[Snn3XiGđb
-a
->l-/QJ=,%yoyVYKP-&L>Pcu[0KN%2-C::Y0c2ZJmmtRN(u[1 < Cla̢p7ʈ9GItbgK1l_{َg4Si( C\YwVnCW1h3Wtݎ9K<DS<
-~`Z;Y0XxRl AOM႘$lb@5+=O%}^f_8$Grż̀.ljXՑWNHnti&^NӁR J-F nkdITڠiꙚC쫴UxJvCsB-R3fgK]KYjӺ~`tC`::^ӤǾd=8gXzۻt;[ڕU`&{ V뜡-ܢ(eܗB'vTTBd/R!Rh
-
-˴j_ZPR oXHoӝN"l;~_@
+xˎ_?Y|E4$C@ R;~"vϬ$xbX/rۧMz8xuf":pf{AmUB;%S/_#y#)=~gv+}wNwTiû/},
+Q(t0W]ЧxFTé";Ƨ׋i/Ub \jԀJxuQ@R +^u.fmdMP ~3{68xՊq3#+S]]ԚLp9ODT*zU
+Yt%Dc(!
+`@f$Ook|pG.F4dA7xuͮ]a@UDiЪHQkF yʜ?'56Lz .7%P
+SW;api7vǚv<9I<DS<t
+̼Kw`xRkANኘ$lbǽ@5+=O}^f_8$GUrżˀ.ljXՑ#:1V5m߄>ki:RAè i!N!ITڠeꙘCSxBvGkB-R3fwKo] YhӺ|`tC`͇8:^Ӥd= 8gXz{'rK=WjT>0/gXe_{(s귄s "NqW>7 %X֝Q)VJ3U4@r`Gw&+vPv)ïv"88'G,O)|T4oNܧ%β͟{wvBûe#qѝvRU{K߾,Wo tNjQ;wOKrjtMdM<^i4=lGTA]s5ץSQ06y0R{Z7]v-+X͢Ht*'A),Jc
+X%uF8pܙQTW[Avg^Awd\IRt=kG,<ffH;:O.y
+C^/6L'+@\L々n+(Kkкh&XqI06
+nM~/Ǯ'ǤNr9=Y5Un yz'r,` ݆ 6wг\S~:UH5w<hzF^̀7"rr5c&'Kl`p|c(Ux~a` N` ad`e;0 4avG+Ōܷ,UW$-+X|ZbBgxD@m
+Beݿ%-Mke5ɭk{0(ק;B#Cx\4ó7/lCA"+, wfŊ-s=oqƗ)MԲ.^2 ymr[Z*a#.7]9<k#=,yGoVa-`r-=F8 g
endstream
endobj
-455 0 obj
-<< /Type /Page /Contents 456 0 R /Resources 454 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R >>
-endobj
457 0 obj
-<< /D [ 455 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 458 0 R /Resources 456 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R >>
+endobj
+459 0 obj
+<< /D [ 457 0 R /XYZ 78.37 808.885 null ] >>
endobj
61 0 obj
-<< /D [ 455 0 R /XYZ 79.37 608.758 null ] >>
+<< /D [ 457 0 R /XYZ 79.37 548.57 null ] >>
endobj
-454 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F75 338 0 R /F77 339 0 R /F64 333 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R /F80 366 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
+456 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 337 0 R /F15 334 0 R /F75 338 0 R /F77 339 0 R /F64 333 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R /F80 366 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-461 0 obj
-<< /Filter /FlateDecode /Length 3584 >>
+463 0 obj
+<< /Filter /FlateDecode /Length 3289 >>
stream
-xɎ,Im`
- Ô㲬veye&^%3gfZ. 0_n7h*$PEQM`o 3(V+Ԧyb,cYڿ~/)1#Ep0p4 Ud_#,?/?&?"l/i4&V [
-s/*
-fdZD!GO) RV+cԡN:cg{5sIY)NA?4qG9ˮ"Ϊ:4ۼlR;ypUа:RPGPZ ) y|ϳ(4&{xdQ@x27C|={r#`ހW |W/ zELGJ\&;=`n cB2sxeӣCD媫РlܓDב-fGl\ ܪg/n8Pi=Kn+Cf̺qe:sl`VP!8Y%Q03dM]J\BnٱjFrmWJQb+Tm,;.\da;TSβ)e9[8yU,@Ğg[x # 'tq6YmQ{
-ϥ
-'y`Aj968W%[9XG)#)1= !HESvwB]  6@W!թX5KɷkmNkS8W-;ahOGì%$Tlc[ZpgV1.>q Wso2GjRTJI1ָKph9-KsAK|#أu?,
-+Rhpcg8Zxfk}bH(""[]{"8INw8*ՕH8m9
-l^M:TՓ
-m's(.1njr(JwY.B+-aoٛ-;+1A{ʀ\h -gyg#Mw|Wܦ 0O.$qy w·I#ڔo4?FavXa&ot'FHsZ9T፳bnBE G^mRtۨ~xSGNU"ûE`ӡmZ,ĭ8mc[V&͞^R| _a_Iz!YZH>-04XrXdΏ+7+-,@̢p
-R;*?r7hnߥu^ k6oyJ3i' GoNya^܀+oKA?62 Xʖ
->{G ]!bT1IǂKՑ˓ќO_E!-2O
-ƑӚnZS\c mYi<<
-e1%~_[ȡ<d."|KFE,{9!u N'tmld [A*s
+x\K# D 4X
+^WZI~,YJc4$8`v4|W
+gt -MN{#>]C
+TVO_]2g@jՏaZR?3d\+癤C~IۨQlL.kcpܠ8
+NzX3O`%k+>P1lS{tOǿ(4!MKAL8vBEU}kIHk9Ԋ ڎ1rGeQA] D2tP,}yZRm&Cq]Y`a&r]
+r2jTb$RkpܡUٝ?p%,"`">sl馶%T(Pjwg
+鎷M
+NF+>K9 '>_W박zI0fl̸ה/+K(d
+pқ
+q'0CZs f&/Mǯga03Ncaf0ӏ1݅=P?nVs=r{G"%#ȐE@)d`.Kۂ#gm;<l
+U{NVS.%kw{Ktf-~h%G;|F 5227H#EJU%>&W 21MXrDi
+#"՟1yHLpaxilzN1yf걄goTj
+fG:iӕzB0m)z5s^2OP/qIB;øftm(<4^&,#LB+{Kh.F99B
+pr%T\ִꗔ>Pzg]@j{iaA^,r\&e@FΝ)!
+50.`˾eؒ;Q^m^x:e5]hl"Mosg~)v6nsZލ:J g۶!΄뤱3dV3sR]
+eN A 05V2v4wdY܈f8j(\xyӜHPQZì1DT621byd6I۶[ xn
+<JR0C%2W9k;j?z+lycFH݃_2쐛BS&4_MTS?%oSa-w:0/}=rŲ-s?Kw]ح.M=W«z|89Jw.+6/+wRH(|Arh I2͙rD&=9*9ݭjd4fS ^q^L);ex%0%]_ش<>u۳6sB1x7,KFHxCxհMOyK{A]뼵5gzwUvo=~?v|ʐ-j_P~-vƱ/}]:M*dfe=UI̛འ֪ |rb*VЩmiaZY2+xn+z٤'/˾C2^e;Ij=iMtb`kW,iyN3'.ʆIXy; ba7JW^r}^EeZ%u~Yh**9>< 6Dj4mArAJW)# ˓U/* :-_28J
+dbōXZ1Mݏz$,2^
+7+ =٬<9ʠo=ӛ號\!Vz3{Ko_/$ڗ/DYo}fTH<ÙˋȹA3zp *pך!$XP9=$hxN>IN=ځ@%
endstream
endobj
-460 0 obj
-<< /Type /Page /Contents 461 0 R /Resources 459 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 464 0 R >>
-endobj
-464 0 obj
-[ 453 0 R ]
-endobj
-453 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 496.645 745.828 507.072 758.348 ]/A << /S /GoTo /D (Hfootnote.19) >> >>
-endobj
462 0 obj
-<< /D [ 460 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 463 0 R /Resources 461 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 466 0 R >>
endobj
-65 0 obj
-<< /D [ 460 0 R /XYZ 79.37 235.148 null ] >>
+466 0 obj
+[ 460 0 R ]
endobj
-69 0 obj
-<< /D [ 460 0 R /XYZ 79.37 209.22 null ] >>
+460 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 496.645 663.138 507.072 675.658 ]/A << /S /GoTo /D (Hfootnote.19) >> >>
endobj
-73 0 obj
-<< /D [ 460 0 R /XYZ 79.37 186.6 null ] >>
+464 0 obj
+<< /D [ 462 0 R /XYZ 78.37 808.885 null ] >>
endobj
-463 0 obj
-<< /D [ 460 0 R /XYZ 93.716 101.443 null ] >>
+465 0 obj
+<< /D [ 462 0 R /XYZ 93.716 145.655 null ] >>
endobj
-459 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F65 335 0 R /F74 337 0 R /F16 336 0 R /F75 338 0 R /F84 425 0 R /F77 339 0 R /F64 333 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+461 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 425 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F16 336 0 R /F75 338 0 R /F77 339 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-468 0 obj
-<< /Filter /FlateDecode /Length 4258 >>
+471 0 obj
+<< /Filter /FlateDecode /Length 4056 >>
stream
-x\9d WthC]55AժRf{3"Ru<uϮv@A r]gހQO/J_qW9~2sy?xUVe+[˧^8a&Ǘ>.fʻՖY'/op $N?/7ZU(Xh!
-?s&[U\oMN3"CGm H.4ZHO oD)} UH}?%:!o?0o-WkG3֧΋s$%BrIT fʊѪWLH:K X{3T|&)5 k@3U*wBOH#/ݣ5ʮ(gny[G][ftJHo6*ኴǣ='u9reBvFR=O+"ºKJ-z%< /m'r-L,Yι̢U,A5l0RiȠJ QDJzޏK,Kf-0%B&]KV$2־5F G\NUm(/0D9vpR)6= jQ]BmV}IVG^3Ɓבc ar4:a`XZT6|x+ĭ' * w)+35X}/Cƒ"eeV%6 zo(:~'iΨCX2 VIy&z
-[(R1%QYgHhZ7Fkn;T֠(*@Hߺ1u 3U٘t?@JY`F1Mt){b$ŔO;I)3~"6dkFxcO
-f
-9@2֓}uu^.L1mB)ytL?SB>ǥ<'b-
-
-9fg{}+HFΑuu?R-So/HAJAMtkCqؼQ,e>!B QX4$eNB=[Q@}jgN(7) Ϧt_T
-PzlAqܣ% #YƩj@ E dw2`v 26)+TJL(ԓ&g,+r+p
-4rD;OA⌮.$G L]35\wot@}xTkeOrFE?u.@ϵiL\2hDZPK#U椘U Y)F2$ȜGY0Aٮhd&z*{
-5ljf[r3%7;|6؝!" VI5=]d&]Ebq^e[L../h3 rp9~ c$o\Qo];(aRtzf
-yfyI+mE ;2誽0U{n ;q0v"K8 s&XN2:ƊV5&/5&Q<`[Q{j!T`*w\ )OW6T2eCOPKwGhWQ-KˊJZ[;50QW$+ #OHFfGTLԦv|I0;kROUiL`M˲k[dJ˧`m!_鶾#G{]u*hM
-r)}Nn߉,Ol43t
-XB:
-]&L]JFisT"erYIaxSk)slbB[[bmkЁLɓ=dԗHVXT.ۥBro6r* eFLq:Iq1Е@-bvaj4؏4p`nq+e<bjEݩ͵vmW5rl H SQ62yW -!
-+42}`LS<@('H$O^I$0hSz)ei5:f[(]}SSe"(/DɩƳ̬[Bo'n` uQTWN[\1 z"Hau"*Lez# ;#^]jZ̢)Ri[Sc[ O+jMHRoMkH"t3ieHo|Z[ gʘlӮY[ Sx>S<bo_e}V-*|YL[ݢ
-z
-q3';Xen񱣃=nѧI*n!OmH/5T9VN.zɮ햛L| ᱼ)>WdAg;Ȣ-6\ ]?`g u<0^N7^L>sLrNtHmY&٧d I.>aNR,/?^ӕ3Np[o[JMWA$WZÌC?T-0ㇹ'O;)ӆ4N 3<@XõLKo@Ck^Ȳ*X7<;+a
-ʉ'`bs`x8+`΍ahPmrG2%` C*}7~BG*=vx8%JS.zW"bV{G(]P nmo˾هڂ<e?t
-ykCd]ppUq\m]ˋ92V8h↞h.H\;w;ZT VS:{JN-4'&q-YtVouRJ'^#0=,f 58N=yD5y5c)yq{#gk
+xڽ\;$ WLhK `ZU)}Km)\e%{zN.@<>ۯ7yO߽[)->In.nJ}g)yyRRJQhEûNXǾhUJ ' }]O@z<f?B(D;Hi<}Qdt(uu}DMoՍZY2
+O%@y*I訤i$_Fvjyhii)g;S?$5J %~$5vYy#Lё,B.fQ++̋0 ʬvlͨ-h$1qoq`v ZxY|d](v\-nQHg
+JBJxE->k^-+ySmU}?3DP[a|"߻'}ѩedçOꍤށM)}!/u__>j80$Z E~F
+{-( $֔)qk##=χ<d돑+2AfniqBhE\ݜC DY.*HOzmH:\D,IKad HCE5
+G
+68"[y|ytN4;v1Zh
+Wz_d'.J%kI{6E.Gv`N~:ʷt12/EG7!`0Bi
+QUzbm+*d@:}E v  i4 e\WDa"[\&&r݉5b8 RjFcb3O'fH(=#GsyzLv*t89_dvf;:3p >)hll
+*KN-4~"rE6D'†T<SKTY'J_S
+IvGY
+m2S  %CHMGZdH-g^&([C-0jqGglQhOl+jyoaT<rj@
+EOq{۠lp@; GFB겪#fD`B'5ذ؝N? /1U#[m*`SB˛zöFj/Z4[BO\ 㧭IG%Gr )qor4ּ
+gS(pH֧'^tFj{CjT8R.SG)<jiJa3Ey"6h}&hvh}-
+J)tLt ^ewĿq~]C| 6Q#C L^wuj.ͺipP ]34:eM=m(,^aOrΠ6|ڑLOoKOFª޿o;n&6Ry^l+THi{pݻ7G/J(vn ah^PSu'cg4=j7i"5 6z3;3u:AOLxSy+%kgyep> ~Qz:vhyJ{,q9t[gkpp_lt@\<!yZc"%K)5{dyE?jֽ?b̏˺Y<dS);/9<sa>yi=H ~u Tk\ d}^Y1pV/!>"BzP> sD~Z
endstream
endobj
+470 0 obj
+<< /Type /Page /Contents 471 0 R /Resources 469 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 476 0 R >>
+endobj
+476 0 obj
+[ 467 0 R 468 0 R ]
+endobj
467 0 obj
-<< /Type /Page /Contents 468 0 R /Resources 466 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R /Annots 473 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 404.583 638.308 415.01 651.824 ]/A << /S /GoTo /D (Hfootnote.20) >> >>
endobj
-473 0 obj
-[ 458 0 R 465 0 R ]
+468 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 404.84 300.585 415.267 313.095 ]/A << /S /GoTo /D (Hfootnote.21) >> >>
endobj
-458 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 404.583 756.787 415.01 770.303 ]/A << /S /GoTo /D (Hfootnote.20) >> >>
+472 0 obj
+<< /D [ 470 0 R /XYZ 78.37 808.885 null ] >>
endobj
-465 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 404.84 506.735 415.267 519.245 ]/A << /S /GoTo /D (Hfootnote.21) >> >>
+65 0 obj
+<< /D [ 470 0 R /XYZ 79.37 771.024 null ] >>
endobj
-469 0 obj
-<< /D [ 467 0 R /XYZ 78.37 808.885 null ] >>
+69 0 obj
+<< /D [ 470 0 R /XYZ 79.37 750.933 null ] >>
+endobj
+73 0 obj
+<< /D [ 470 0 R /XYZ 79.37 728.314 null ] >>
endobj
77 0 obj
-<< /D [ 467 0 R /XYZ 79.37 493.776 null ] >>
+<< /D [ 470 0 R /XYZ 79.37 287.626 null ] >>
endobj
-470 0 obj
-<< /D [ 467 0 R /XYZ 93.716 115.635 null ] >>
+473 0 obj
+<< /D [ 470 0 R /XYZ 93.716 127.438 null ] >>
endobj
-471 0 obj
-<< /D [ 467 0 R /XYZ 93.716 106.008 null ] >>
+474 0 obj
+<< /D [ 470 0 R /XYZ 93.716 117.811 null ] >>
endobj
-466 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F65 335 0 R /F30 341 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R /F72 349 0 R >> /ProcSet [ /PDF /Text ] >>
+469 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F16 336 0 R /F81 377 0 R /F65 335 0 R /F30 341 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R /F72 349 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-476 0 obj
-<< /Filter /FlateDecode /Length 3279 >>
+479 0 obj
+<< /Filter /FlateDecode /Length 3517 >>
stream
-xˎ#>_b K701[9qN>$H⻥X,E_$קׯO?ys":p'u(xtߟ#RE?%<FxwpRzh85qL}qS g l]'<dq-xM8њ]^ ks5 i8?IYӗOWZ?xZ(/c7|P Xv'fAXEr.ԌkH nP4GY-̤Y>K;%2('
-y$K3wp~TUk_:Eɂ}&Eohf$J:Sڱhd19#u'Hiw摱NXTΉG`Ҋ߬xD39p0*(+@7Ue7ѭ_~*K`O?Uتġ>8/ &HzH:UC9.>N92Sj)wI$5eLl?Hy_m|2#y6EG< tą.**U#@ݡL<g(hVȎGh&,ЛDq#!y$(f ?$r0'(DRĀl i7&ko
-6^V z:- kٽ|@[fY)0uw
-Q +]i"W-<KyFWYԡxF2-u([VwNRj:jn @z4Ec[[`y}22&E(Z%Ww)A* PQ
-',X}F
-Z:4k'KܲX qRO ݹfy) 1ss=%V*q]hcН|: 08J8{H{ \ybш_W[ȇ{'2 ϵ-#ٖrQ~սKV
-PVBv>u(erp*Ś3zvR1)S@g= F Zx^$ xj2">Ϯ_!(dʯgVklCD|B"IݱqNA^>i߇2n9 ۳ Gl| ; .gQۭθ2V`=B?:gg%_ι+>!YM`=}̤QD#rjLzM% gssW;cOrLI^>UzLX?eD˖I77l^>/x=))e-I!iqmuF ¼[b-[<-P}ڊ}ewǹo]You^
-+8 {OFs
-A je]`)MՆA*1{1u=9L{uW⠇?88wQ~AX"6<2;q+D3vHB3tDH\RmqFTj
-iEH_/ԕY YaXL
-Q]zR SˣJVA†a9s#]1ܶwh6bK4 e0~~8duČ^5ϟX qBNARTI MwҮӮ6&Bwr]mTg^6#fgj;\zvg2plQS_մ\U)u#Vڃތň݅?#M8w3IGLqw& ItbNѩCtFӫ;h4NX(tPoeJ}MĂnkCv8fZnaySV6veܒ(.-li[`2*v4yr7'輩`49ܦ͜Bq>7MUdJ)o6 /;CQv> i󚻠Q ,y)Oz7:MA.̀/[CBBtnل(U;1]l>RJ.Zr" "k=ְg$pi"ן eP2aS.Ơ
-'AziCxcxŗMhew6Vc)誴ʧ&h}@X.'2@OY[|> syʚ_!lxfz{
-<6Af8 ߺUy9Bv6RW8@iשּׂ^TA.x-a9tiY6Y4GMK"Ϧo
-V8WO|LBz.yٯ^I+; n"{qYtHsgG'AEdVww.CWZz
->jyA.
-!3.
-ٻ22 
-~vk|UNvij֯ݍڻ-`t+wگ3uXL)2"V\WG+NC{na|wtP,G,K_0-aēnLUf!^P
+x\K$ ϯb HX 1[{ r
+|H!$YU]=cw=$"?>V^s_^~<MKс3>)|!/ҩˏ.* R7/Zy|bUJxy7.?#B-CA8TkBdMmܤ gxe
+y|W'@̚@ORk|JyHn}kofԹ
+к\|ƵPE++Xme8 KHԌґPi.T#s3ӽ{QyHYh;-
+Ft_EuY
+xhig&JCkjhY1;G}sjaպ>^$<x="*jпLd Nr%,<E|&5ɍi҄C̡07rc
+77%"""ۖ4l$ Ʊ;vo66 q-l8ewPƜ3s#X0Kj˦Z%9lk \>N>\\{%j%DAA(5q9JovKXHb4tc51m)̨{zM7<1n^/4!p`X#s9-yNBưiu5䖿U~*+ƻū qȗFa= ˊ!6 U)1 ߳Tm,#Oo՞3I؏Y(: 3 cukrR;G'Z̒gq2:&vB#D[RywN,~&`VaX8ݭuփjXg]d}׭~Dؙ0V۪w)lY#ŀN{
+M+~l\޺-R{o i`*:4[yqCH<WZlw kł8w@BY\\û9w|󝳊h;hTEy 1-,.Kl4ݞ68ef/)\gL'iu?#]\`gF.Y
+Ekx'IL)|ui{%IPTS9oGpρ?o}fSu"8')Q y{RP-|[L^ZTvڪc?Tbxp^@3M瘚\4)؛y>S#E&ڮP-%gTP{$Gy\mv\=Ԛ=xTY궄k8LoLetօGdSFٛ@2MXL`A8ǧg'%򖎢O8J&7M/{cǚ;iL ١R.ΎҺHW
+W&~?g,Bux=
+s|4{['3‘]yL
+9`b˔w”L)v[nG3d^=UG=n TOqBkvv ZZ?$ȃS)
+3>pywv5h?%Fw
+ { d0g3ʅi$[XNVK-KޫjZȟ+_皧砻U89EP8Q}[Ӎ3q.gc1)n:@EKK ^=l 6Cs0's9YN'۵*H>_~ .Ypn۝zVwVmj{S8=m{(S^d0H:@P(g \57qWD .0;?Jf!Ў
+_~Vul5dtTv1Lo>|*twԠ iv,LRޣpr!ݝ4IS UL۽AT"M024giS0O_<U ֬V&N#TV.xgy4pkhJׄtѡvM}e?GRm\<gtPl+\zti.Wh=KTۂR/Ojhu7O)n.a<)v<O4QJGGW37iw ;aA_QP :%&bg䆷jGeG\ jVi7%wNwB<o-pްw+kspZyD;xgEǛRF(nqVSHG 0|xXRvr5wAOF`mOeMiy]HC{i?Leh2LLT¯^5eZ
+?|? V
+<
+\<L(So=+yG)* Of: _vR;ͽzgZrA3LMZO
endstream
endobj
-475 0 obj
-<< /Type /Page /Contents 476 0 R /Resources 474 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R >>
+478 0 obj
+<< /Type /Page /Contents 479 0 R /Resources 477 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R >>
endobj
-477 0 obj
-<< /D [ 475 0 R /XYZ 78.37 808.885 null ] >>
+480 0 obj
+<< /D [ 478 0 R /XYZ 78.37 808.885 null ] >>
endobj
81 0 obj
-<< /D [ 475 0 R /XYZ 79.37 543.021 null ] >>
+<< /D [ 478 0 R /XYZ 79.37 333.806 null ] >>
endobj
85 0 obj
-<< /D [ 475 0 R /XYZ 79.37 403.621 null ] >>
+<< /D [ 478 0 R /XYZ 79.37 194.406 null ] >>
endobj
-89 0 obj
-<< /D [ 475 0 R /XYZ 79.37 323.559 null ] >>
-endobj
-474 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 337 0 R /F75 338 0 R /F77 339 0 R /F53 345 0 R /F30 341 0 R /F32 327 0 R /F64 333 0 R /F15 334 0 R /F81 377 0 R /F22 367 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
+477 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F65 335 0 R /F74 337 0 R /F75 338 0 R /F77 339 0 R /F53 345 0 R /F30 341 0 R /F32 327 0 R /F64 333 0 R /F81 377 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-481 0 obj
-<< /Filter /FlateDecode /Length 2821 >>
+483 0 obj
+<< /Filter /FlateDecode /Length 2934 >>
stream
-x[K6ϯ?`*
-hӼU]-!1VoE.|*6җKy IhƩ4b7hV/AOhYQfD1=QZ'JF.W
-]Sօk쵘U[Qpjz*&F$^
-դjsQv7( fT%b?Y&A5gڷBöiTT2^"vEe#ZSOad34V1LU{;8Yk#4gBnM P835kFqoO-nHf f_<rt%Oju~H?kU2 V`Vm78cYqn VT5}c
- P殔#9SlMCf1h4#e0=](@u~ckkX!Vu&E`:V@RڦݰqMRPnrOj.ffB+ `NfyZ,}$Ku> ;:eTdTƆH-w'4PZ{F.4@.2ćhlkJc ~OWcBuaw-c"+.>8BUU_Y+>mJOsK6V§0TKiUm"f^#kE)w1^D/P_2mJ-{ԒSxT:+UֆAD>lFW>ZX
-i9!C&iikSdn \Ԫ^3nca(ke6{E;4s҂<}6G7OVBPjn(4:
-
-0Bq0t3O%^Ѓ+^ǵ|my5P-7BnR?~Y.e99jQxK&s BJFX*#ʚ݋òR0E^֮^F=
-/<sr\@lfcmsRWA,[xi%JecWo6LL\Uauϧp/R(D]叧.Q<:+ջVr#C29-c
-t*:eKr83m{r^mNIq4ՆYr{.Tu8ch~#acۆLdPNV/rT13m~i~zs]'_fW[4(UA5/ƅ
-⏹._wZ v36m\6#1ypqP($C?+2j!(gƂ
- <Iؐv &[2F\hi&T*IGv2VK).lhW9o7hӍq.t{ ѯ^ؑͭ&q=hykicN49d!-N`{yL(}.z۹-^JsV>Rǖ9۹vt$oyяFhWFg(㶾@0p#as foC6%?k'֞C.$[nvs Ca1'yCZk7B> ڧqUo^zKZ%vZyqɂ%ZzcHa3{FԽ{CsdQF Q%e+ϑvP o[VƊE٭5IG=v(-Q8
-Baw Q15E܃̏ l Y-
-,G A.sp;<
-UD
-ɀFPM
-Z+^w+$,A\1_S;ÞÓ'AS+%ϵ2\,(j%PDS(Q7J<Dҫw@&=%F(Q7!(QoDOD#G؈|H䵴߁uk>rDs 黠Ds:swQ"&DNh" }%ށ4ΡD쇣DmNDh(Q?xku3uPn?IaPN#{ϵZX? Js(%
-'=v&wޏM/}Z8${nmz0Hޥ
-iwUxH@:Ux,$R+/EC Rm;}
-\Dc D}Gvc9#=MM)z]s3k3C 5(0KrXVՙ0Z%[hY#KPPxjMZl/[;HΜ ]&^\H${7(r 6_#S{vpxՊo ޺Ai̚y.;d{T+GSD,6 2qRLfM<nV<N jeyI7u(
-jn(r<{'k~N1;İIP<{ݏ k;X =$Qx>ᥥ6-oE[b
+xI#^MFp
+X
+R='u:7)wyK`}Gx+ⳅ3Q+OOFeHpgM(<nqNe8yy hW61ݘZ:[3`H+'_#L|lXx~|n:SZl6>-=4
+Q\Zdj2PKb.j$?.$
+Tl7b )MܼXIչ%12&sylWKbl>Ǡd`oFx/ơX$=P/BJ@-5Ϻ!l4Jʟ ^i)4,X_N4@ֶtxĶ0%N]7$Cg-0=u.,Ξ&oe<GNWYlmF… 9K<QLHS,?BXEWWkr>&TJrMvy2hu\-ח dеO!A(R>f
+K8 5ک0iϊޝcCY$9\OIu'R+f&=
+[2wiк. ڮN{ eQIZ<u3,Xow;?:*:q$+]D c%5HBkg)nWUӜ^æ6V\QU[
+hV̪^qΤcSKdː2X4@Y K`(_˓/:(fGmp9oa}ڶ[3=b@`ʸ,F9;߿PJ.KeOgR/{KT>A4
+qܭ29}(Ø:e/QV OY!1e
+p)=PiE%R\~4s ˱ʮ-BÖ_IhZ+5juy-{Än3{I|1[jcHތ36ohB t,h$xg5-3=h氰>5v&aD>OS
+'( HNo ̡-ћY-POڕJKS$RlDj*Z͞7(;EkTJJǵJ>#*ػّ)?^
+O&;y[xpw𭿷vF"˕!6آP?EQʧ[{{*d:.[p =nwN}nGoAZt4?'ww-~[1- KJc~ͩ :' 0.#hV;0;"ݎ \scQv{̑^!jzg{Iܢ\'P[@[wCFxoA ~A7Fv?;: ;PKQf@xaZ&>,E!mi^
endstream
endobj
-480 0 obj
-<< /Type /Page /Contents 481 0 R /Resources 479 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R >>
-endobj
482 0 obj
-<< /D [ 480 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 483 0 R /Resources 481 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R >>
endobj
-479 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F85 437 0 R /F75 338 0 R /F77 339 0 R >> /ProcSet [ /PDF /Text ] >>
+484 0 obj
+<< /D [ 482 0 R /XYZ 78.37 808.885 null ] >>
endobj
-487 0 obj
-<< /Filter /FlateDecode /Length 2765 >>
+89 0 obj
+<< /D [ 482 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+481 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F74 337 0 R /F84 425 0 R /F81 377 0 R /F65 335 0 R /F85 439 0 R /F75 338 0 R /F77 339 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+490 0 obj
+<< /Filter /FlateDecode /Length 3052 >>
stream
-x[I\ϯx@Y܁
-J<BOȱ
-VV82cÅHH:X?&f&6½/KW lK`.,GJ~qC60Қŕ_x85+{VF* <Д9p
-JqYm.MC7fk8זO$$\ |p{c59Ei)dxS]-
- ;-'D_a(dkiI5Kd,^=ܟuK\
-zݜ^\[5=}DQ\0[dfǽd){moq&x}pN0 jgī"tZEINK}Ԧ!e⢇BA1˖7D{UٵaStNZhvCcUF{n\ݶ3ZVAnҺRRw>(Loz?m97K1h{3,k#n4
-Pv\SqN~QgaOu-!j &Iy uiUV>ܛq؇x-zﵱ]ي+` GOJY 7HQ8jH/i5kl&[%q=NѦ $|zd
-ݲWVʊ֕YԤ隄I+ w _#oEI^ rM7;LwmwtP0ן0IQoJ6LY,ZEo)
-Y· .ݗS:|wdw/p+[=̵$D|^xܪs$A ږ̣C.0B6G1m\ ]Vrҁ]r~BK"}g9ӥIւHx<98*/h !AކJ+K%S1/-^?,sW8ٶ#9,xs$"&|-Bqh5-L.SN1rgU.e҈, Xbx SyYP/9k }Is<<;
-4eA}x;<s-9z6qXzV}7K`H{ΖUnpN)_mo-h7@HQ?fi&~o{Q Qޥ KhzY'eup?Ar}v#e8zi{Ы<6bFl)qĺ+G0baer˴D[#zj?Ӧ,?8" v{XsT1Bд {?(t%~˯8H}&_<F8E{OO(fq115v-œ<X]xzDz!-*TT!r}keÈT
-is)ҋ.
+x[K? ,VsrS`_S|ӳ;Vf,֋_kƷ/OO?Zy }Iz&f`܈g΍w}Oo?m{/ee)ƵqS8ivi, LpsVF)c}2s5(-303Qr| גHS ;NH<W+; L{3 4gF2Ylq lι8A}]omKSҏ2++D_^ ;N B39iRz/h&>Bm}|'Z2fCp|X'dZL-_[H6Gc疶'"r+v⏖疐3R >?Y#3y#K8 _v?1GQz?dMb\*,%GB
+Gօ>X+]YKD?Hs4 HV
+ʁD?+ZyOs$Ό'j1ftW _)8e^%gA"O j0
+gZVRf~#or^ҪڭhCw7/.(rfEkhQJlGԊ%ծ%"kn*e3dݧDRYd>y)XCJ\?L*Y6<L{\W}5,f-,.`T[QJhzWT4NXL*’Q p%n4cnZVݐUU GVj7rve~ߺ˿Mq0AN};4|L>ƺ7#d ] ({&c[b
+NZ$h0)Q]{9'~E,!!/[.m]W%>uI#r"EQn15UP qviAxW)U7b|%y΄l4rĸ,S8wG`G~þ5&{{ꊼ'GS /ĸ:u9VK^ba_Vu&HƞĻ`حd397i;/(
+z MYGL /z)O:7mϪa`%9;)+t $^:t
+]B eUf!!Erv1zեv4=Vg"UY*/Ry 9&O@==wh S=%ڔDFeyd+}kc8 c^3>IjAdYVBtUQa*W8ˌ.[gVXaUBkh5jP0Si7UsS-9 !CmH L R^NUF2**c1!r7P1*^k~5.Yni`0q帜(h}ZpWRc+ MXʞ5By&h450%1f܋:T թo<kVhq#*46D:>7Í`fcݻ fN~(29
+ c@[MH-7d+fךD]`m<zە(ۃ")'dUh fǶEzNᔧp<H$b%T{'CEY=eǵ v+[='ޣp\Cas~,cV3_!N(F,]r e,U,ᚽhkowYm@5rJJ&+bWdgw,ueI dmع?ҹ~]KC@)uz}O׵TY("KyۂXrGs=pYs'x3$a M m.4*`8j5 LƱ3%p2vmtHz4MeDK6nGVL"kz5Ϟ1rBWseVtbi@LEOP.yE^Wt9) -. ,k۰Bt[Tn\y'Yבּmh+Ƌ`v8-dy1;GߡCyw"0swOcv~{]Y< kbk͝{Tpع7^P5jHh<.i9iH?=0NGyӾܓ6g|ļFa4Î}
+PY%W8pyH[0 X:wKqi =M_.
endstream
endobj
-486 0 obj
-<< /Type /Page /Contents 487 0 R /Resources 485 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R /Annots 490 0 R >>
+489 0 obj
+<< /Type /Page /Contents 490 0 R /Resources 488 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 493 0 R >>
endobj
-490 0 obj
-[ 478 0 R 483 0 R 484 0 R ]
+493 0 obj
+[ 485 0 R 486 0 R 487 0 R ]
endobj
-478 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 184.097 678.844 194.524 691.135 ]/A << /S /GoTo /D (Hfootnote.22) >> >>
+485 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 184.097 484.605 194.524 496.896 ]/A << /S /GoTo /D (Hfootnote.22) >> >>
endobj
-483 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 246.892 626.6 261.617 638.555 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+486 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 246.892 432.361 261.617 444.316 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
endobj
-484 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 274.568 626.6 281.542 638.555 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+487 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 274.568 432.361 281.542 444.316 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
endobj
-488 0 obj
-<< /D [ 486 0 R /XYZ 78.37 808.885 null ] >>
+491 0 obj
+<< /D [ 489 0 R /XYZ 78.37 808.885 null ] >>
endobj
93 0 obj
-<< /D [ 486 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 489 0 R /XYZ 79.37 578.488 null ] >>
endobj
-489 0 obj
-<< /D [ 486 0 R /XYZ 93.716 100.579 null ] >>
+492 0 obj
+<< /D [ 489 0 R /XYZ 93.716 81.015 null ] >>
endobj
-485 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F16 336 0 R /F81 377 0 R /F75 338 0 R /F77 339 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
+488 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 337 0 R /F75 338 0 R /F77 339 0 R /F15 334 0 R /F85 439 0 R /F64 333 0 R /F65 335 0 R /F16 336 0 R /F81 377 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-498 0 obj
-<< /Filter /FlateDecode /Length 3467 >>
+501 0 obj
+<< /Filter /FlateDecode /Length 3115 >>
stream
-x[ˎ% WhYh=k;'3rl2xUzf$3%CJ%oOO&g|O?ܝ,X}I7nҪ/__NJ+4JJ|{4y^<
-p
- }6GJf"| \5T}(ߒ2]{PҺYb-(Bl—i&tv p[pCZh#@e?(cbr#
-lDmm ghTJd}{+ʖq2ƳYqOsEPP䱜lI{͘=m^9!Ce!w"
-S)Ri6v>Ka4W9-vcR ;36Uals2Տ!<j5SBc׆AByX(\z6U8q)zI[CJ~To=-LA폧_*-G3h)>%⁛WbR?{]C$KUɽl?.oCQJ@M3=00nߧh $u6bmN:ɓ ZAi_W{g~RTj2.)eR3p¨Pt:b̾=+^y=vqjTivNV]v_vݬA=Xe7{e޾tޕTdQF ྶ6XdZ%1GUl m֟ꎽ/48J73ywxapGJKԬLiިth3tThcEX~7:a{W-Jm/?~GTDMyH/wk.r~ұZfGJo[ĩUYmF?HN
-42}xBnljli| @&EALp_ת*@A\j5KuM|n<+;+ǷruYO]ձ5zp~CNt.Ѯy<E$$Q+ZZa?cilz~0o(:r7 H$1p!l_N-=wڑX"v8,^mP~ISedI)%>$ιeOq_Q9exɨf~5Z_-/2dMiiD`
-qQ=N.n=H%R绊~!&j'Wsv
-z18϶ի@
-YՈ Qg,k;,zy5KyqJ$Z/KW~t]Iu|@;\h_Y_񓵠癒nc}3>3aNqd+\*KJHާ{vS'a?KF*Qۧގ-r蘉G@U]u=iQVŗ.""س6jV(K@XJ(i-?ܟ͞FYJ
+xڵ[ˎc WZ7`nO2]UE0/B׽; ˾(DR2~_ބy uE&n3ioƍ}qǝs
+~ZKE|/e%4&|߅1a<ϫu
+J ,R
+)A.
+
+z2д\y
+2AVV7D2߿qy kx7*@=;LYY}u30`p`bB|\WgN"{B32fZp(~ABz<ȢKTgo}I=Ҿ lWdmOM<hj6yF 'SEE\2SZMlBKEa#=`;1Ȅ?R?
+'Д2߬[4)f R䇪GSHDjU2Z3b+;6x# %g ѓiD4 hϴqT>wnZD3@L ʇ_C:@if]a8h #%SUx;i: t!+m|^dhnm|Ef7Y/ *m V2kS:aR?CDr.k$Vy;9}l\I0Y?Dص{jZ_f%iJ!9(:.aA)a%~mf4ߡIinV6LxX&c+tWH H-"pT.eV_K*Ž*(s-HB# a"f5ի5adQ^0GXՄ@nIe$@* tD+")+GZUL.@,odcX6biԑRiIjC#S msi|`Q okr81\ѦDCo&!X U Fe#Ȍ[co()!ՓQ=Zqz09^ީ[oi+VcQ=Y44"TKK@<
+Ө yұBPgk$%.)h[ 2;=n-ًwgF
+ݣl| (/֫W}M ӧ( va%lWI`Ė~8m7IV,7MPyv[SH
+*{j?8Kz5]",RùdDC'37M8TKȮ
+9
+ 4+i5Xrز#sdK[5|;kH>
+tN//Vin2*ۑ
+
+ - KS{`GQxEN=mVUˍ˾&NyRv tG]-Д+70ݴ9[.xy,t u<\1r, 5к+a'(>^ή
+2o)R=9)6Զ$F#iĶغ<
+j03@o
endstream
endobj
-497 0 obj
-<< /Type /Page /Contents 498 0 R /Resources 496 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R /Annots 501 0 R >>
-endobj
-501 0 obj
-[ 491 0 R 492 0 R 493 0 R 494 0 R 495 0 R ]
-endobj
-491 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 353.263 528.233 367.988 539.292 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
-endobj
-492 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 380.939 528.233 392.894 539.292 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
+500 0 obj
+<< /Type /Page /Contents 501 0 R /Resources 499 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 503 0 R >>
endobj
-493 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 430.922 204.087 445.647 215.035 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+503 0 obj
+[ 494 0 R 495 0 R ]
endobj
494 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 458.598 204.087 470.553 215.035 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 353.263 352.891 367.988 363.95 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
endobj
495 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 346.259 159.364 356.686 170.43 ]/A << /S /GoTo /D (Hfootnote.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 380.939 352.891 392.894 363.95 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
endobj
-499 0 obj
-<< /D [ 497 0 R /XYZ 78.37 808.885 null ] >>
+502 0 obj
+<< /D [ 500 0 R /XYZ 78.37 808.885 null ] >>
endobj
97 0 obj
-<< /D [ 497 0 R /XYZ 79.37 694.453 null ] >>
+<< /D [ 500 0 R /XYZ 79.37 519.111 null ] >>
endobj
101 0 obj
-<< /D [ 497 0 R /XYZ 79.37 515.275 null ] >>
+<< /D [ 500 0 R /XYZ 79.37 339.932 null ] >>
endobj
-500 0 obj
-<< /D [ 497 0 R /XYZ 93.716 139.127 null ] >>
-endobj
-496 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F75 338 0 R /F74 337 0 R /F64 333 0 R /F15 334 0 R /F65 335 0 R /F22 367 0 R /F83 414 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
+499 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F65 335 0 R /F75 338 0 R /F64 333 0 R /F22 367 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-504 0 obj
-<< /Filter /FlateDecode /Length 3211 >>
+506 0 obj
+<< /Filter /FlateDecode /Length 3153 >>
stream
-xˎ#>_}6Y,
-͵[. =8Ml6_%њPЙK7G<EAk &N6tFXR4β| *Kz[Bzv90z aQT(7mБ2SĄ] Q˳P-VEH%ϲzo 浈wF=N=DIuؼ"O ?9\V20h1Rd;dFf.yݔ|{ 5YbeeEGWZ. ־v
-?hZ໲Ubr_|}w'zCMBfsח‘>p!d[//=P42`L YGi4!lx
-zoAp8:D`{>d~kfd6+<-U?eمYlѼ7Ś_3׫^j]- V*eV{w=* R_٧.jrc }%wjv4`2EWY<|J$^8GpY3{.J
-nbccV3\UHWq 򨶆UPzİ<-3ٍZEK %5/8{l?w$6vDl"-Y;Cbw9"L7Xݚ`d\ ˁD52AqCے%TsN0s,zI Em;)*+bbMwU~h{ ӽMAܐ>[z ?~;m‚=# 6Ǜ%+3c޻dL@B ‰ق5 '=Kz Z!m[L_3ׯzSlZ=)nusG3毅^~y;K^J UûQKFQ\=}QoS0 DiRDW;~dYqt]O"Xk_[xb! c:<Ak
-+5Fj)AGZIqvڜF՞2
-CJ[>&ey '3#ÿ%gKX4KuIUrKn9[UD5:ʖk7C~L_PXړ|L9zjK -ņ9/N_E2%eR=s %t wS04Qo","3fmF՞'5A =)aəŭ+1\ Ag#)Gw*Hwd n9K&^~S܅9*;ʀZ[XVڃ+OEUj&@ hT
-)-Z-L$2(őPȲ3sʔK\ϠoVPs*³beh)[(RRzj=@.]VI1:l6 [(GB:pK<Zy.$j-:K*'[aka'\lJʹ:N-v)gЎ(KD]w51cܨ76'z$zJ5sK+~q'{kGSV"An33@ܷU Los2KaXw)B5͋H\w͖!ev2^yG ~z.C+ >2A|-[x\5~e's;--'`zMu|kaDGtwkb XC(h8Ss'Ҋ@'&-IN÷' O#Qq:UQoeZ`$:9Z#BtO/Oo )ڭ^
-(U|#B׮[.L%7?HjGأY~BҚ*e9~'2&_~
-roZ7M$͢dTJ3KdaǛ3bܜy>r=@IUíyBZLڧ"L<k1ƕ[M-R4}I2iKt)iG2hL (w'1ûC@0 W5Axz|mYxVv$r@< VG#TCMsoRY1,KQ ,%.ТG='5
-M Dxl/絒wͧRWqK0)53>먀e
+x$5
+K>`mRdy2Am)6x<U]3&}ř~8f7`85q#/ۏxǹkɹk|po ޻4>1 0)˹x<ʧ4*]#|yIFXlnZLJømpF\_4"w<0Y&!$'͓),oȇG9D<5Ηh(r$9Yy}{ bDO$,'pVZNB }^$$f|{lo Ǖ 7q\&2Nne(iVXY{+jϴW\iLNp4W4^׹Ƒ,fqaLM2? ڣ5¼KlPZ*
+kF36Y5,ThVZ!}а|ɖ Zf?Se8ϭ4JHQMR+ :cN21Ѵ;F:Y3aىEeܡ
+>#
+#Nv3OH_կXϲ E9VNNey\+賮a<*Ӕ(-,mO'{ⱖBk|6LZOm;CUP^ì6<jw(Yw"g\m9DARe)~H`4< EBJ^ v,$Qe$&bR.z%6RuL6AVk]S}ifX~Eʪ(1n#  ^L=gYywXɎ:*ڌ0P:c9Di]k̥Virtʡcޮ|1!AAf)N?7=$u]ͳ}Г<TUm0}k S1|7ٲȵ ɓBip4ƹK.^Xx 4 LlO^, ׺u[2eߑZ 4>5gdi/Ncfʫ@e>$_:50jߤfK
+c#9}v'g9P~SmCJN= @(q|;o"|LNNj
+:=␸r/9bx뒫J_\4Q4ZSݼ#pӖ~UKvЏ@/%mN^ѡ J1^"I:3;a!l QM arǼ.C~6:)ndCjgTЎ&I<M^X @z]sӞ%H]7 Nez/ʍ4sƜu%=KU] ҮB"k\A}5ȵ2yOJ;tZ2t-;ez0
+羭 Q:R r
+SATT́/v8߃L EtVc""Th(NМFQU1&ɞN S䱵JTP6g:6tQDzĤowmȚ:e: 6{S?AN?;CM8Os)1nSg:V="ЅMP|h}y}$&ƍ=DEn=oI07$m¼&V_}\qEhA^潣rࠍ^[Cd>sOL/uBe3)W`HfAk`&v]2+HϜ ^4>0@0l˜x|=E[%w~ ^\2\ɽʻf"dZ Gq'ߗN0] YJ+ ̝QG:-y[Gz
+VQmgV?>q)O0Fh<b^!ꇵްS#^>0Wc!-}UtZ 46)aǓnth
+ KZ{LJcp噹>Ǝy :6jMYG{f0֫͑,aNޖLS>A~  ?
+~hao?Pވ kCJ3L<0ǛyJa6zyyW0ciǡUΩ o;])֜y
+lΧNo8 y(/W/.f'Zl?<پ_d@
+*#ySJi!Z_SG=Xز/ jItL^tהFPLd]9(M%*N'{9460Q@eB }oQZ!1Lu_oaYQ_cƠP6u]{ejz{H8 7eE0P~
endstream
endobj
-503 0 obj
-<< /Type /Page /Contents 504 0 R /Resources 502 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R >>
-endobj
505 0 obj
-<< /D [ 503 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 506 0 R /Resources 504 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 509 0 R >>
+endobj
+509 0 obj
+[ 496 0 R 497 0 R 498 0 R ]
+endobj
+496 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 430.922 737.023 445.647 747.972 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+endobj
+497 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 458.598 737.023 470.553 747.972 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+endobj
+498 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 346.259 694.726 356.686 705.791 ]/A << /S /GoTo /D (Hfootnote.23) >> >>
+endobj
+507 0 obj
+<< /D [ 505 0 R /XYZ 78.37 808.885 null ] >>
endobj
105 0 obj
-<< /D [ 503 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 505 0 R /XYZ 79.37 681.999 null ] >>
endobj
109 0 obj
-<< /D [ 503 0 R /XYZ 79.37 555.106 null ] >>
+<< /D [ 505 0 R /XYZ 79.37 467.789 null ] >>
endobj
-113 0 obj
-<< /D [ 503 0 R /XYZ 79.37 186.744 null ] >>
+508 0 obj
+<< /D [ 505 0 R /XYZ 93.716 99.26 null ] >>
endobj
-502 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F75 338 0 R /F77 339 0 R /F30 341 0 R /F66 343 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
+504 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 337 0 R /F15 334 0 R /F16 336 0 R /F22 367 0 R /F81 377 0 R /F75 338 0 R /F77 339 0 R /F30 341 0 R /F66 343 0 R /F65 335 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-508 0 obj
-<< /Filter /FlateDecode /Length 3039 >>
+512 0 obj
+<< /Filter /FlateDecode /Length 3505 >>
stream
-xڽɎ+7_hE4 LNy[` DUzmDqI_>^~xs ,XiE\\`][qRqn9 |]1mӻ, çiT<,>Q97HL酋qK<-MՃFBFe/ *L|g1^ s =f29<Fry5IdJ3#dDӈF2}$oq{]_R҈pQ(!C xٹYDqTh-daFx *Td6%4qE m 8+lhbC&%֊5) uŞZC lEryr{+Z^mA{>Oؗ( /uӌdRbNN\3nؼ3e{TvF2o5aWynЋV''fOqkA1/f\ZzǤwz|ʴuRTU*es׭=
-ƍiUa%i*54M'Z&Brf Eq8g2ȋՆ ]h8:\aHU&my'F@P%m&-@{
-HdP[qS4'iH3 Q?'ZAqS aKA<SR:'ZL[G`ޙ1 @l^|߾N9%!1jr$3L\UW, =l}BZv
-.{ѷzPGJ0 ݆leO0 \C{!y`/rZ=%7=A;#od!D9Zi
-?^7##=?7v38巗w'4P 4sR`#|k}
-3 A07[\3$A 9!g”s]sdVMBpHʝxMiq
-o+
-bkW(#Q\qT$!W['K$5UHڍ t0cDR'YfFFD$հª^&DhEԚRFTMOb1vXk&ufD$Jv݀*q0RJeއ*O,Vⷡ_L ?ҩQt97HTo4W럅J1:eVՐbmާv"5'xY,\.ITd}9U2LS.rT10@6ꮒ{]WURtT`De\C v."~ԸVpjDb4!mQ<r'(3JEOEOX!V MM[Zz Gr|:8
-qa22\ ڬr랠/ԶK^tw:N`Ҩ*\cdݏ,Bk1"(XxƼ5k^Ej Z$6{P+R
-h1nΜ<=0uy&+,y&|lJ& u&yQ'd{mc+:5~wގ%qc/4Xb%i3bE­\s;D{z}OӸul:T<b6FX$SL.Y;R5+'r_t^qJ-;8QZGߩٻg{rz>2&M͉GUe7HN!*{Nmh̤v)k+e=-(NrwF1.[xzڲsoڐUrewi'U^\"X^Un #MDQ9UA? $*ѴL~Gİ'E,P]=3ԉ͑c,
-9QD}dZuLqɌTxc_N~sS?, gFzRI9*'"( %F"…qӺmC T93m@0tva/ mzr>[{9^j`i!vJYOerZk$Yrwig~WL{Ǽ=~ +UHT'$/D)+ x Ju?SeuZF1 vxYҦEgUIδ߰}xG0@q"><Vmz<Iy^۷W؅6paA3Y"F8N@bCRu݆.fw;hrK4`}I3J`nW=›%X^:lSnHDqf nq)Z}+Z3Ԅgֻ'_-sG3\Y@7B+>`g ,]6w^GUl
+xˎ#_Eh`= 9e0 CB=wI\@mD-b"/___%`__=uqA8^FJ㥄o2>?O}4KJ}}4~?:);63 ӴT|?ʜZXk_$l6~_ >oeT5y3%"66BLߴO'D1ŕDkX3洇Io<?3E2Y#Vωk#*D`/ i=;v
+i#3;*lfE&85xd[%<IpU5 ;:3NbXDye
+xFܷ*d(Vp<W3ͷβ"fl]Sf^Hd[&l%9
+03oʰ[!1ElE#4*GzfÈH{*мCmbΣHvE2™CD}g2Zb~U~UG3v.0cuY
+=z2zc8&(x%H&`\T}wyTy67Rǧ<EpՉwV1 i%1b:Gm۲p鐩ևvʸb9gU,2N#ח/_S9 G$Cq?~{ɄEI˯/]Lp" ʝJC'Srx!:EtBqd
+1dއ=`|q494Ϳͫ0QNgzGtGٕD~xZb+t N<؞9!RXqAw
+m
+g+Uu$\SKu :pL + M((oNX 4zP 9o5̢WR?(;3lιt@K4I'Bbއ-_) Y)$йswt
+?{=oɢN%n({$n# [
+Dto_WrPXpXxbL i8egXiaS*aW:) w?Wm5· k\%ԧ@4`E<MGq|xqxHZ%.q i|,RVHi{<3wDTxBؑ'kmTy>.
+GL%sU(
+`Sp=e)~6w[sڝJӇZ_KfFYq/9]巧-ڈ3ɘ;
+M̯^ ;ӞȤO *G e1Nֱ&Bq+Lo]C0,hx3UުܾYlV4 65КcӬ͗o_4
endstream
endobj
-507 0 obj
-<< /Type /Page /Contents 508 0 R /Resources 506 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R >>
+511 0 obj
+<< /Type /Page /Contents 512 0 R /Resources 510 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R >>
endobj
-509 0 obj
-<< /D [ 507 0 R /XYZ 78.37 808.885 null ] >>
+513 0 obj
+<< /D [ 511 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+113 0 obj
+<< /D [ 511 0 R /XYZ 79.37 771.024 null ] >>
endobj
117 0 obj
-<< /D [ 507 0 R /XYZ 79.37 456.212 null ] >>
+<< /D [ 511 0 R /XYZ 79.37 327.442 null ] >>
endobj
-506 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F75 338 0 R /F81 377 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+510 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F81 377 0 R /F75 338 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-516 0 obj
-<< /Filter /FlateDecode /Length 4261 >>
+519 0 obj
+<< /Filter /FlateDecode /Length 3512 >>
stream
-x\K[Whi#0M 8r
-a}Ï'cg/ JKɌOcW #9›7sȃ6&qk&jF:7.NTBah𥳐7S'SU,mÄDk }xdO~-Bv+/B}+asX& †H-mQH'ta ?%K aH&+>XA2 }M
-iVlM8*MQ
-0 j~R"k2JFIkDkD=9^0^{}'&dKwW{
-Qм.9,sJ
-;j}Ž
-ktꉇ=Yڗ&\ nQp[R^FT8. &xOWmkP 3{Z(ziIrt.\b7?D)${E_z$^@Mn]K@f=sVB监uR6
-* t%՟h $to m2`MLoAO ,;i Up |RZ
-P φzI
-[|ïMb}='j,=@5tW]y5fɶ%(*O6e3WMYl ,mt K^#5BQc*XBy&&5|BϿ\ $pI߮f;Ab%bͤ^-қmgyFY
-Pc-
-ŋHcä8ƱLXx5k6&wÕGI V1+ p%Â637R-UjUwGn+5qIz${BVd 6Bgڻ
-Z@m0`l)fk!cͽt+y^&V[5If%CLrˈ9K:љ(p,D+i =LH%YUNdIRRn,
-~i{]f"
-
-`<p 0y.v7QxC΍Wh
-$ 2=;Z;u546kwY'_-]3'Ps")z9tWW2oa) .Q5YkEHį[TeŲ#CHO)N"Ӑi1ڏ*Ǔ/#VJyrywaV魵}f' 5ӖH-%C̊Q4iLȮEyϛx= ITT
-^M`vLˍ@+P!֪MoM6~ >vE5톾Th]M 3 ܸt89J4nYeegC<A5[:Sn5Lx40ZX{9Z"}PYZ~bR8nwdq
-_¦JH!-}x1#=?Xf Y$V;ҲbMw1/jo7bUKuAKHべ[e7NrMq>QM!bjT2&|Y1rJL0
-Ujv{+IkŐ-Q{ed?f4ڎ`Bۡ1
-;i!
-zj.i-tnR/-U67XQ\42mxBbҵ
-@ZEkO|AK
+xڵˎ_]%o6p T,(՞jIU)_~Ǜ7(g.N]$.>
+/)!|×RR~R6/xIiu"^r'uX%XD~uho?~nD
+ɂ;ꛌ
+MX+'_
+xm
+r kµ
+540
+ ZxX<3
+`Q9SJ)xۊzV0̡P+yXtP?ÓGx BЛ΍Cφ]BAkp֞W=&Mőݰ%T҄PmPzH,JDLDEPK6
+g4þmdz0Ra V}A|@6~HN[PRP} R1
+3.KeAx 6?-DlBЧ3}T0
+z`'6zjihb`;H !O$U;egh*sO,Qmq<P0 IY'+o?֜A_\+ղu"`CU\^Aqe3%5Vi ֜bvN
+C޸Ѓ6bfCT>2b\ieq+lDQ\lDj$X%E1w0TnWrֆH$a"V7+HU\%=3g%6N҇ObuvSh927|e[\DfXt()ē{nW65Z pqنL^w6ˮpL. 1 &XûhoQ̓J@B /MnbJ)t4'n|w+l:)--숽@YgܓZ~k>6tw^c9D΅f.ٺݖlX-qOVFzI[0،Qo "p8`3ݫ@<'[:kGț
+nKY|Z'H*y} o
+KE0RqTre- 6gA# M8 b9mķ4VxbJ h~U>sXVITX|9\LL`D,+ 59O^TĪ͊Qm7x֕9| '5Aaw1~]9bj `uҧS eY IESS0̛ey.u,CTuN,7b3n%lt2!Y\t88yYڪM3Mx\
endstream
endobj
-515 0 obj
-<< /Type /Page /Contents 516 0 R /Resources 514 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R /Annots 524 0 R >>
-endobj
-524 0 obj
-[ 510 0 R 511 0 R 512 0 R 513 0 R ]
-endobj
-510 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 264.586 580.299 275.012 592.889 ]/A << /S /GoTo /D (Hfootnote.24) >> >>
+518 0 obj
+<< /Type /Page /Contents 519 0 R /Resources 517 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 525 0 R >>
endobj
-511 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 318.325 558.936 328.752 571.226 ]/A << /S /GoTo /D (Hfootnote.25) >> >>
+525 0 obj
+[ 514 0 R 515 0 R ]
endobj
-512 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 250.957 312.804 261.384 325.255 ]/A << /S /GoTo /D (Hfootnote.26) >> >>
+514 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 264.586 426.375 275.012 438.965 ]/A << /S /GoTo /D (Hfootnote.24) >> >>
endobj
-513 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 184.327 222.282 194.753 234.656 ]/A << /S /GoTo /D (Hfootnote.27) >> >>
+515 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 318.325 402.694 328.752 414.985 ]/A << /S /GoTo /D (Hfootnote.25) >> >>
endobj
-517 0 obj
-<< /D [ 515 0 R /XYZ 78.37 808.885 null ] >>
+520 0 obj
+<< /D [ 518 0 R /XYZ 78.37 808.885 null ] >>
endobj
121 0 obj
-<< /D [ 515 0 R /XYZ 79.37 647.132 null ] >>
+<< /D [ 518 0 R /XYZ 79.37 493.208 null ] >>
endobj
125 0 obj
-<< /D [ 515 0 R /XYZ 79.37 536.464 null ] >>
+<< /D [ 518 0 R /XYZ 79.37 379.723 null ] >>
endobj
129 0 obj
-<< /D [ 515 0 R /XYZ 79.37 385.61 null ] >>
-endobj
-520 0 obj
-<< /D [ 515 0 R /XYZ 93.716 156.601 null ] >>
-endobj
-521 0 obj
-<< /D [ 515 0 R /XYZ 93.716 137.509 null ] >>
-endobj
-522 0 obj
-<< /D [ 515 0 R /XYZ 93.716 108.953 null ] >>
+<< /D [ 518 0 R /XYZ 79.37 219.681 null ] >>
endobj
523 0 obj
-<< /D [ 515 0 R /XYZ 93.716 89.795 null ] >>
+<< /D [ 518 0 R /XYZ 93.716 143.906 null ] >>
endobj
-514 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 350 0 R /F75 338 0 R /F74 337 0 R /F30 341 0 R /F27 340 0 R /F32 327 0 R /F66 343 0 R /F68 518 0 R /F55 519 0 R /F67 342 0 R /F64 333 0 R /F81 377 0 R /F15 334 0 R /F16 336 0 R /F65 335 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
+524 0 obj
+<< /D [ 518 0 R /XYZ 93.716 124.815 null ] >>
endobj
-527 0 obj
-<< /Filter /FlateDecode /Length 2593 >>
+517 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 337 0 R /F73 350 0 R /F75 338 0 R /F30 341 0 R /F27 340 0 R /F32 327 0 R /F66 343 0 R /F68 521 0 R /F55 522 0 R /F67 342 0 R /F64 333 0 R /F81 377 0 R /F15 334 0 R /F16 336 0 R /F65 335 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+529 0 obj
+<< /Filter /FlateDecode /Length 3233 >>
stream
-xڽ[K8hDBJeks= _E,;NMucPĖvKa/H]?s ":?Eҩ.H RZW)MJHMRo?pi]{ǿgV
-%x%Zi5D'r]WoI&|tA"gg^YGz/C
- |d> P_=곶Ns-ؗH2ͽ;Ind巁s ..ZggנrRomdWI֜Ȋ=RɘՑ[<r1keǤl0B{L
-xdŤpbP{kJp4"9_/t?G:'7k6EoMꭖZ.k~;7:FGbz,Ҳ(U{,Qa8 Y5:_,? Da9g+Z*W&ӡ~ܕDi̶Yg;`F/DLWR)acrs(ȧ*5M\8A'aM=6pQwhʦ)uK?ެλL].k kDjڜy9xa]q9s j+gUd|lR
-E)΂V׸ιb@”zBU8J+,$)FKJYVj?91S`Fc>|ĒNK;"zZiM$x>\
-%|5
-G⇲NzʷBN=|ZƤɸdqZA.6W|Դ-+ nER(ę)GJ=v,C}@EL7vtM0)a%9pV>|X)o]Zx`v2^}"ީ 2U*TSr>JT6 \ENI e~gId7ΙkpIGTI*.
-;gctqAtFڍY~Mf2&9!nֺ=9h 'a徾1tִ=p'bV(o2l14V)iV̆4J{SZc:h3AC @acB.rۆY0~yZ/,[' 6r)R/8s(mpP
-N,2%=Orۊܘأ U;5szwz>.&2ׂomCw8Jz}&sNmBmB#'xީ@F"2y㜉ݐ0 _NQ
-3y
-R/
-<əSPVɍۭ/I/ 0i]|<vtJ,G=֨fQi}˖=e,?Ilaq  g:LepMK
- h4GGs
-2 ?恑=tRG[~H.]~}x~,'MMJYgUtFiBށ2 9 24CsX, %CL=Nd Aơ9$ BS >Mr͗U
-2e|eo/!k5,gn}9Åig,V}fF~y5}##uʶe(]=Z܉Nc&+fjY6߷⩢yt
-8qB'Q[VLmL֌I_<l"j7i63+Uº8d8uXt" (OU\~!̀C3i+6g6>46"Cc $&r݈ͥRu5D2ǨqȨU~o^8׍Sb'eZЌXZ+'(JԔwQ\iyzv`s;CQ=DA`1j64uDSjc\n^iK!jU{.ͭQJۙnL8>c w9Ν Ej̧a4డT}=xW
+x[͒ S ,M_Ti5ZW٧$|JbK^?
+z8FIر<Ц3Ɋ\@* T/"g٭a =YV!S鏌>b`z*LWvfX'a_Ipۻ5{ڒ,BTh* [ˆ
+QiU]h֧;WݤvjV{#Uv}eS4~>jf: 53a\֏*ߪcV5Dj,>"pzRx5x*M5&=@mې260`3m4G؜gsluXi|Ac:mMvތSS1P=+OIz$l~
+){+S=lTe ʨb$9uOw)ҍ\_gjmVsos2E<.E>4+h+@Ac7b> 6bw# GRs: SP?>L[EI9<čE
+7QU+~Xy?(AJŞs/d
+` K^<6|laCT{0ϐa۩/ɯJG1a̚=gԊnkG]jۣ[AuڏD|#0iLG`v\ ٤G CW" Tg%}]Rb뙡~cFʼ&)
+cv߿ϧ~>\i|0c|
+)
+}>S3eS ^5<i K_p@hi Ѵm+D7J*~ߗJΙa?zKR-~^%gB vP6G Oe;RD>
endstream
endobj
+528 0 obj
+<< /Type /Page /Contents 529 0 R /Resources 527 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 533 0 R >>
+endobj
+533 0 obj
+[ 516 0 R 526 0 R ]
+endobj
+516 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 250.957 757.853 261.384 770.303 ]/A << /S /GoTo /D (Hfootnote.26) >> >>
+endobj
526 0 obj
-<< /Type /Page /Contents 527 0 R /Resources 525 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 494.44 624.146 504.867 636.521 ]/A << /S /GoTo /D (Hfootnote.27) >> >>
endobj
-528 0 obj
-<< /D [ 526 0 R /XYZ 78.37 808.885 null ] >>
+530 0 obj
+<< /D [ 528 0 R /XYZ 78.37 808.885 null ] >>
endobj
133 0 obj
-<< /D [ 526 0 R /XYZ 79.37 559.897 null ] >>
+<< /D [ 528 0 R /XYZ 79.37 342.967 null ] >>
endobj
-525 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+531 0 obj
+<< /D [ 528 0 R /XYZ 93.716 108.953 null ] >>
+endobj
+532 0 obj
+<< /D [ 528 0 R /XYZ 93.716 89.795 null ] >>
+endobj
+527 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F22 367 0 R /F81 377 0 R /F84 425 0 R /F65 335 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
538 0 obj
-<< /Filter /FlateDecode /Length 4295 >>
+<< /Filter /FlateDecode /Length 3778 >>
stream
-x\9d WT Yu# A{Uq0UDx׋|}~{4,\"ȋ vg&|W!B !ˏ*B|_B|AotUwnUD
-pe+=M0'dqH6oT.a4n;? kC+CBcDl-Hj__SzdI餓zg! ͲOĵ{Z(l>k6'3SN-`EYYkP]3-)iֳD8hisAMwa~m'.gTzz*;&Pj[y`/k#?)( ѹ; "S8+8fbbv෠:XGߌ3,i[Bs
-CRx9۩bЉ9q=?& l/>LHޗi\ Ċ߫!~jJhB =/o^ uRy07E //]ȥs{ S7[3ػy)mU\?v Wp^LjJ8G3% !YƂF/zIr9}3΂|
-#c
-x )n-1mѲϣP** 0(ϗ}}k~̛ƤX0}y,ѱ$75G `x
-S1
-&݋ tPDL W<cݴB6CA7cr f4 }SSJ}U.0!Pk"[0Ҩa]=ov016+] )ױ=%(e([V!Q!]|1?')K1R$EЪϮWNa6kQQ#4î&#e|4W?%[vR/wt*%#Nm @XZrO9l-g} ,nim6k9wu=sWA|LjAjA\OjmwT$\+9y29:i5|;7`x~|su̘Robin=9']"yP"q6:%:JRۜ<КZ <1·‸ [nq0P@f*ugV͹>Iάq&ߩ)J5ӈqerbxx*]y;cVڔ2:nIbd.ͺ' KĻC>)Ң) -{Pމm okb!ڑ?COu$zS5
-:`%na՘}>żOc %y?& $oMjVh['
-(gaW+TOZa2Kk
-puqfQݬDB
->5|
-Ѡ⠐;Eb'5}q5M9/`]ޛBWc@`cnA }Uuc紷*@Ny_9R%T 0d8z9ŗPz(}dG Zn58$>:)Tok (BIݽvf2=/øMױtG%c80ۅ>n>Eڥ0t뜺D:2</NWCT_HOFUF+;-ѓ!d;RcuQ9tЩ=X[%B1 !N 8UnȟT8]fXN"U#7g~ԺΦst7>98aTamY_㹦fL+Y$0]1#vη.'|s]3wheYӜO2bSZ&xn`'Fb+v9Sk9N-\%4?.$6)FnJdkMYOf.sz;_ADQ yL]ۈP`RLRYXVXo҈=>l-U4o>xAMYX{[Ξ4Xy,NQW=OPRqJ:oUgFJ41lZLN4<왊骋ueuZ~-r|Klץ}zd7
-<?jxUF_& 5W~L..r|)a`m;زS0[y/Ē]Q)GvzQr"ǔI@r+t}KϹ+RA"`bkasf3^&w$1]MK Ks/
-{K`Q4֛5$ņk͆s`b4u,OPSJ@XU:jZ8vK[f8Gi3GSX[M~K Udimm;Iq素Rrs?uA:r[2 %蝘%ӵa޸hV-/Pf,/e;qJ*}ږé'
-cxijqMnuw֦X[zL☬FN+JH .R{"}&GJd@Џ G:v>2.>']UÁQݏ<;`7' ?il}qaًqpYb' X>mZt#贛ntfՆN)S|N2^|z'U;  '8 moYDӧ` ;ΰ~ͫtnJ %@
-Qnә;+Ait<[f.fV\N5T
-co'
-F b)g87k$
-::ǼCR2tpؽT$6x{.?_i# :arLgUb+\]kD4 &ͩ8k?F#%4OXx^|Vsv^]c,3Vww(65oyds$Ys$pFuc_`j< Vo|ܪfǦym呧7=r=Q
-u ;%?U9opU%eWJ5KqTJkj btP:{ G{'^ 0=Ӳk1+L JEn ݥ|:Y EB˲5/5vGΙf û]nZl^/~?ߴSٸq6:vD'wlX 1] msyFpl۲kc6ʖ?~|Nj u8h7Ʌшmg*(ycIQGeo^ ~9k
+xڽ\Iϯ?04Y܁
+%~0$f+?#-==Q}z%
+
+2LAVԬzh>.PyNZa݃㨂 o3%T^[xD $t{!'~ iz QXCL57Ndg NPl#I M+>H&W2l۳[S]kg:-ƠRZv_Î)悦6΅)!Q}CWh/RY2{8z4k-dDMc';fJya%mn( tGiiXxG8f
+FdMOE
++bk
+'s )k
+qZ k,}X6˱4OhFd7 <i5uln.ҷ}-;ehEEyM]W:7UAJ=z 3dU lMi}ՑlRhZp<7dc0+ޖ˪BDT;2sIjB=rAv3ne3E}K"e-5Mj^f%Ѡ<ъIӮ'L<`"(4>1p7`[伻 ʜum,3+$Da ~hKH}8ązz#qW­D3s+>n<n|.!M}Nb/$ӴI)LR'%
+آuV>;1m;λv*Drw8%a֦UHݙ1]U;6˪901&yyɨ ~CA@#;)}֑= lݡ29<[aP5Acj6y ɵ rDBfŁS]ܬwNV<}HǙ_>؊\M(|:(f3Skh@XyɘрTwd6&Ž~/&[VWM0>h>^s: x|(%D+?Dv\;Ncih-TrܘOӎ6`j`#W%:rabߍ[h e-ASԖkaչg_UJukwզG#bd܋aKM1]Q_R:=tu?ݯ-
+;_ ݢ*O_h5*#HEVkλ!%3B]Fh-|@
+/F`\@_h6=:S?'rx>,}t^!*)m<P\9kRi}vSÖ( ړ+}3@}C_3ހ|MVɍ4
endstream
endobj
537 0 obj
-<< /Type /Page /Contents 538 0 R /Resources 536 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R /Annots 540 0 R >>
+<< /Type /Page /Contents 538 0 R /Resources 536 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 540 0 R >>
endobj
540 0 obj
-[ 529 0 R 530 0 R 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R ]
-endobj
-529 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 133.218 514.573 147.943 525.522 ]/A << /S /GoTo /D (subsection.0.8.3) >> >>
-endobj
-530 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 163.664 514.573 175.619 525.522 ]/A << /S /GoTo /D (subsection.0.8.3) >> >>
-endobj
-531 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 324.77 186.413 331.744 198.368 ]/A << /S /GoTo /D (subsection.0.4.1) >> >>
-endobj
-532 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 186.766 142.577 209.241 154.532 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
-endobj
-533 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 487.781 142.577 510.257 154.532 ]/A << /S /GoTo /D (subsubsection.0.6.4.4) >> >>
+[ 534 0 R 535 0 R ]
endobj
534 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 354.688 73.058 369.413 84.346 ]/A << /S /GoTo /D (subsection.0.8.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 171.066 124.025 193.542 135.98 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
endobj
535 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 385.134 73.058 397.089 84.346 ]/A << /S /GoTo /D (subsection.0.8.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 209.263 124.025 221.218 135.98 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
endobj
539 0 obj
<< /D [ 537 0 R /XYZ 78.37 808.885 null ] >>
endobj
137 0 obj
-<< /D [ 537 0 R /XYZ 79.37 732.66 null ] >>
-endobj
-141 0 obj
-<< /D [ 537 0 R /XYZ 79.37 501.614 null ] >>
-endobj
-145 0 obj
-<< /D [ 537 0 R /XYZ 79.37 352.065 null ] >>
+<< /D [ 537 0 R /XYZ 79.37 402.445 null ] >>
endobj
536 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F64 333 0 R /F65 335 0 R /F30 341 0 R /F27 340 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F64 333 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-543 0 obj
-<< /Filter /FlateDecode /Length 3534 >>
+547 0 obj
+<< /Filter /FlateDecode /Length 3346 >>
stream
-x\ˎcW&`4$
-,/_~TEдtE&yD~׍߾}y77L_8&h#R|s\9r=Zzkx?'҂9YЖ-PP@C/wO4?HAݏ1ބy5"1X9Y,4Ӑ)z~2ѷڳ}E]~7M
-_o_),Sg{ng
-\0y,U/p!< "*MNeO*|:JT$7HWCL&Ť]sͬYAL0Qʑu{Û] LY16y| K8rKY5b!s7DJǔLGd§ɄoSm ծ'or;4Ls;J*5h~II=R)6MI,K' sQ3Й&S)ֲ&Xq%m9JI
-Fy|s<KaA
-7R)&'A9My
-J`V*ީy&iL ADEv EnK4wrjr@<C^*;kOA3M8fSCATL88zLv`if GLʊ
-MO eY c/QEV:Т.Sq\mfмY@ OGƧaRB}@\r.1&^h gGQy\ÓPKz7[N@%;;Όq´}><Tki皜\ ڈk>_
- o@,kEمu)$bl>
-E~>]$
->w0 c1P+鰬J& +p,J'R:JjG*2K}'Ot5BbacX,̲8,n+Dqj' $X=/ݼgm>m܊ȫC^.Z T%`NtO߿g$9fLV CԷ뗿v!0sy>lc9ZItRq>5eH/"|dL6% *:ɆVoC7]{dMÐ̚Y4]NH6 j9Ȍ8ayi{ZmprC;HHuأw5%^i~HYM7R[llW"fh w~Wy)F)ӡqS814c##SHN hf#40+OWל>jnR2le})_at)-PMo|\]Af.cuk-]3F srFnN>ʾࢴ+]_#Cq(/51!g;_–[e?.P;p{?#G;A]9w(ҷ6+lY
-Ku}.q!zpBXÜژ\q&WQ4$}'CK*{
-
-cWyOl u
-&ρN0:lT A9jdYV
-o^‹9 HK6!'>q^Ld8DQq;!et4ȴԛpmj
->(pgR#)9ggXÅaRh}2%f۳L 9 Q9yɆ|U&!ڒy1/bf=
-٤H-EP݁"Pe`g?$|lO{10ΰȤ<Jī]ir %!-'QKV^M_'j]CRR@\6𣬈<.-[R
-_?E6ل88"a)O۱-줾Vil+#Bh|ˢ*xbYe9J"0%*&&W|5A+ blч !.LáK A2
-s2JO#pdzJQUTK1pSTƺ ?ʵ@DP}K!A9ClABa
-qR#c1<<C $-hpDI}jΦ< 0SkAƄ=-T,Ii>fN6<FeƙMJ
-@ OlTljJHtOᄸ$ yY- Q9;H!;Β\\ ;X!.rKyl
-`_j#v ,!%6^)\p,ܯL:)OQ诉yq$V+: !(SME6E iϗեJ2wv@5q=DVAEwQţJ{~t%ZhJ ̙eZ:- a
+x\K#ϯ19,d 0goOCK~&V5bC+MbiOK0 sN_~{R';%S/_O??K4ZJg|2vQ;໓;2ICym`1D "}sj˗9V
+%u;:">ӼnYe20Ѽz9sD' !8(ҒD{K'Ph2&~2qj!:<km+"0DQ BI\RxӔ?u_4qN2 dX)b"MRWYYI=W 3+9B:,dHhH ^g3m:[7pN̩,Ӛeu` FI<,\2Ig';A:OZ<=ws}!ʘ}'?5BN1=ѭv }$W+G<0
+_ـIa;oO'Hca~ld72L+XurD-Eg%"(W qU>C3
+퇱kfZqr
+R8gˏZN{>pU?cO=nY*\nڅaļ k{5 0[}y56;|OY,qG֟|M% nʜ˸-~b|x{(9:?-a?By\˻&sUdњ. zr
+1Νwv$9d23%R.k1$:ƨ]zd:]Ч6 ]c"UA>0nէ 9)w{V 5
+GAExMW|wo1H 4w[vI0jq7ob)t1T7b޴.ma)
+Y\
+}B"j-,JO5,p:p!)mڙzJo )24uꇆ=@ۘGx
+9|P`H:<:9d %}4#A#G
+8yvA8!N|h&~HѾ
+t/B<̅%!&cB\O .7qnMG;Ml p50-n7Qx>nM|=&>v4Hs ^7-p{(iLJެ}q5mu澸 :S1&F &Fis,q޽Scs8w
+IVZpݸ
+G=,! 8)eZ3B7=V.nVZS= qxBV@YTwz Y ȼ*3kVպЁOH 4g_$M)]JeZ8F˼614iJ ]ѨF4~yi_cf깠1UOI;d,-OѶݝl|uuo
+re.6'P(Rӈ32t4\"1Oi\y4Q/(`3$C /.- qiA?[8c÷Gmn̩ќkL[HLwnC񻹷TteX
endstream
endobj
+546 0 obj
+<< /Type /Page /Contents 547 0 R /Resources 545 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R /Annots 555 0 R >>
+endobj
+555 0 obj
+[ 541 0 R 542 0 R 543 0 R 544 0 R ]
+endobj
+541 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.345 612.02 229.772 625.967 ]/A << /S /GoTo /D (Hfootnote.28) >> >>
+endobj
542 0 obj
-<< /Type /Page /Contents 543 0 R /Resources 541 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 255.958 588.109 266.385 602.057 ]/A << /S /GoTo /D (Hfootnote.29) >> >>
+endobj
+543 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.345 311.093 226.041 325.041 ]/A << /S /GoTo /D (Hfootnote.30) >> >>
endobj
544 0 obj
-<< /D [ 542 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 255.958 287.09 262.242 301.131 ]/A << /S /GoTo /D (Hfootnote.31) >> >>
endobj
-149 0 obj
-<< /D [ 542 0 R /XYZ 79.37 771.024 null ] >>
+548 0 obj
+<< /D [ 546 0 R /XYZ 78.37 808.885 null ] >>
endobj
-153 0 obj
-<< /D [ 542 0 R /XYZ 79.37 748.402 null ] >>
+550 0 obj
+<< /D [ 546 0 R /XYZ 93.716 256.803 null ] >>
endobj
-157 0 obj
-<< /D [ 542 0 R /XYZ 79.37 403.167 null ] >>
+551 0 obj
+<< /D [ 546 0 R /XYZ 93.716 246.997 null ] >>
endobj
-541 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F84 425 0 R /F73 350 0 R /F75 338 0 R >> /ProcSet [ /PDF /Text ] >>
+141 0 obj
+<< /D [ 546 0 R /XYZ 79.37 220.737 null ] >>
endobj
552 0 obj
-<< /Filter /FlateDecode /Length 3275 >>
+<< /D [ 546 0 R /XYZ 93.716 103.571 null ] >>
+endobj
+553 0 obj
+<< /D [ 546 0 R /XYZ 93.716 93.943 null ] >>
+endobj
+545 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 425 0 R /F75 338 0 R /F74 337 0 R /F16 336 0 R /F15 334 0 R /F93 549 0 R /F53 345 0 R /F64 333 0 R /F65 335 0 R /F30 341 0 R /F27 340 0 R /F71 347 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+563 0 obj
+<< /Filter /FlateDecode /Length 3922 >>
stream
-x˒>_,ƳjJU+U)\>9K~? 6@I5"Ft3}?\>^\:9wE8+N3'kF>~y\*5p$~ow?oo8+~4&w=>5 pljoqM~~R#V&  \luIJO/Y|?B9\|Pȴp Gz.]Ak>BsO5ѥlzo\7#</xrvSxW{;Ati$=fiialv.0`37euuMr&I^gBAk#jQ:އߑo ·Z&x]ݲɚ6U:&
-V.M#yz@61(⨀UI f~>c_՘j˴tVx37ŝ>Uq͌&%/4Fmi g ̲?5}\SIM-P=.L
-mދ=@ PD`osy]*
-;=2l
-XZؔ ?kfDC8Ƭ%yful**lOW+ -E䂻-Wf#VJy|ij
-d#pp:zI̼p˾zTBp&]6.qor$T_ZQLeC [^g+ RTx܅H5J[ B! 3̗c"2@Ɓ,:31*H%(Λ@Ւ`":P*
-ևC!D\Ńu
-둓|UΥ0zQZ&J5M! o(H:c+HuÅW#j`%Te
-@cUqLA&`݉&*MUB7d Cvr/#
-j
-r"(|9{:NCKΝJ>.(]co " ^&7<͝DѠ5vR!ceHa˩P"fnS?y՟5*Te FvsX2{o $c[ Oj9
+x\K W19X+Qo`0c {· C`=퍁LWKIRz/_?%_>(@^G;%S_"$5e@J/7͊RZ8k95}EJJJ(jJĖ<^\D
+o/p"=*KZy)h_yrh#z6+ζI׏^/8I<e9d8kyf 9HtQ$SED9=OL-m55\j(=pjO%\olZgk륵֋.O{mMקjift!GV4r `ly7y
+0x<HJ5yoà&Ù6'ώAНt0LQezJN^mgu
+yq""+pߗ_>?=|86"5'jOs| 3>Fx,PAqp"uk弰έ$sm[a5)ԧ&Q֣F<teGBIpGx+,Xel.vmT7NPD+ZOsjz3>*@-\ >H,m5Ն9E)٦vCim4b6Q2<e`0J=hNo UT{͍ `>z~09I2`{`m1eX@ymm$r (2IhH& ņF }올oҞ5|Xi1m6AI#Š`/MI?cvLʜPLg]znQie!JL r֞E.qѲqMf2Zwd7c=1p()eʪ7bzHY%ֽ6zNcڄ 3h[ $,Ofx$\-/s!b('[y_0F?ð_/嗟to
+oD Ff߃-ܸ^405)v%YvX}||Se-WwJHc-\",HJa(#=,$ۖM~_M&arMZ-μMȴQB;SN 2r
+pދT&nTg: P>[j =b=:jtJi]wQ8p vvʌYT4YA`j8rR%*V,Ev㐲4^nrCnܔĦQm3Yq>3vJbCz/Ž|u|߆USD^62NETU3 VrS[6[jʕ‰\akɒWȹnKsLJ.sɷ[Ko|jQn.8DȾ{gtr-1W`Z]נ_3vTF~M'1Tpg' Xra P2zuM}(kk> ^c׼Y7H:w[na3g&!Wvv՞ Yv"DKi`gD:EKǻs:9v^~«d%{+\+q-E*]8~5X#;u]Y`+ M 0'&)))~V1] 6r`(dY&orf\|<?㉮?`r2(6GUո^ [ pN-e`:<מܮF#;DtJ׾d+).*NkÛ)ʰ&2~"DZMryhvZ8<vJ%G"r`|<jt߭uO&PuCxZ eNakc1Z[tRY<]>l
+C(}axgE0^ǔʊ((-oz[]q(HND h#o^V&„_/O7U"uɇ* $}$yE5f&6D+[nD-YJ\KYz;+ʅ@Y.۟Љ2C(ls}.:#b+!WP;ͮ@ץtd10L褜W.mD !Xomg3Q|m./\W1_JWj0PA>hGin0.U_7؞ tE\BN7c;w<#}dɷI@GI_ݰHmBe7þJV`_%
+&s:iq]Sgy:wvseȄʧUQ~GJTu>VWΉZ;
+dy%J
+vs qlv:gl3~UyWOz*zUe^Mݾv\0D w, mꎥtYz|a:}UGD/YpaZ
+DX:tK/2L}G٥DđBXȧqًL7ߨeʇN.gkȧ3H>e!J8|+o\*R$i"У}K7xa
+w=ed]l_ YL<`Ӯ3F#ꚍL<6f3_|a"fi(0<y?z}騅- #ęH׻NKXCOB3W_7%;ט '\vO}!
+#ύ_٩NJB]_K \|.c:nl9clN:A-v 3nn3e}HGufsA]^l}A}^ 0>%k
+ژb.3$N(=
+wH-z'Bk"fF>cޟxVo΃{p{N
+g-g:_
endstream
endobj
-551 0 obj
-<< /Type /Page /Contents 552 0 R /Resources 550 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R /Annots 556 0 R >>
+562 0 obj
+<< /Type /Page /Contents 563 0 R /Resources 561 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R /Annots 565 0 R >>
+endobj
+565 0 obj
+[ 556 0 R 557 0 R 558 0 R 559 0 R 560 0 R ]
endobj
556 0 obj
-[ 546 0 R 547 0 R 548 0 R 549 0 R ]
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 324.77 547.946 331.744 559.901 ]/A << /S /GoTo /D (subsection.0.4.1) >> >>
endobj
-546 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 111.011 392.512 125.735 403.691 ]/A << /S /GoTo /D (subsection.0.6.6) >> >>
+557 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 186.766 504.908 209.241 516.863 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
endobj
-547 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 137.449 392.512 149.405 403.691 ]/A << /S /GoTo /D (subsection.0.6.6) >> >>
+558 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 487.781 504.908 510.257 516.863 ]/A << /S /GoTo /D (subsubsection.0.6.4.4) >> >>
endobj
-548 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.345 189.952 229.772 203.9 ]/A << /S /GoTo /D (Hfootnote.28) >> >>
+559 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 354.688 438.576 369.413 449.864 ]/A << /S /GoTo /D (subsection.0.8.4) >> >>
endobj
-549 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 255.958 166.042 266.385 179.989 ]/A << /S /GoTo /D (Hfootnote.29) >> >>
+560 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 385.134 438.576 397.089 449.864 ]/A << /S /GoTo /D (subsection.0.8.4) >> >>
endobj
-553 0 obj
-<< /D [ 551 0 R /XYZ 78.37 808.885 null ] >>
+564 0 obj
+<< /D [ 562 0 R /XYZ 78.37 808.885 null ] >>
endobj
-161 0 obj
-<< /D [ 551 0 R /XYZ 79.37 447.38 null ] >>
+145 0 obj
+<< /D [ 562 0 R /XYZ 79.37 709.823 null ] >>
endobj
-554 0 obj
-<< /D [ 551 0 R /XYZ 93.716 120.649 null ] >>
+149 0 obj
+<< /D [ 562 0 R /XYZ 79.37 424.887 null ] >>
endobj
-555 0 obj
-<< /D [ 551 0 R /XYZ 93.716 111.021 null ] >>
+153 0 obj
+<< /D [ 562 0 R /XYZ 79.37 396.567 null ] >>
endobj
-550 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 425 0 R /F75 338 0 R /F74 337 0 R /F81 377 0 R /F64 333 0 R /F15 334 0 R /F65 335 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R >> /ProcSet [ /PDF /Text ] >>
+561 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F30 341 0 R /F64 333 0 R /F65 335 0 R /F22 367 0 R /F84 425 0 R /F73 350 0 R /F75 338 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-565 0 obj
-<< /Filter /FlateDecode /Length 3202 >>
+572 0 obj
+<< /Filter /FlateDecode /Length 2914 >>
stream
-xڽ[K?`,
-wFEd-HϴnjBs$N^ZMuy:{ѤbVȑӷ͈j2?pn4\qSO1E5B] f
-)?Lq_1轹gmH} 4ʻWugpdxL 3jMT{͌{FhzO?Pq a=V#kRf??ob~-?|A_SeÕC m%j:>+9R1YJZW_4}BMZ1Zu+q"2~ZN5N,q!k9ѹT[+chؐCQ{OXldB{ Y\'ܑ ~+.>GD naDab VCaNCZq^0cCɳz YgjMt3vttb =se&4-##?1 0[t
-m4
-@pr'0#Z{e$cy{D=3Zkt6oz{yͧ>m޾t)#qyX'CHl8Y7(;'}bO
-޲HꁻQ5pq_ 3=y4g&ԧpN-(9c7aN~龗}jZiP^2A'pQc>-0V:k-)0%~ F=ԩD}F%z ]:wRxfv޽dJAb@~dJ#km`di8U0Y
-ɧ;b'NGǵNc9:̉z 89Z=<Ժ*P[`+1)7 f`HI`͆܉Rԙp8F(!/i Np'Q']9:;#\@~BR
-~7'ETo-eCϱZ"ʧ\hDP%m-F.P]iOnH+V(H-̤*RFSe&XUbkV-X6@sAiG<lfH1Q{A']Z'>LԎ9 cn u@\R="MX˕[TQjx41Bv-&F[yo20 o(XWw*ԩ/Ql1SR}R[ $
-^z>Y|YDeVeR_];8I)eWqL< 1ѩ굮lֶRh9>hj̨/ZQSp)Canhs2m0mm/ӞsKge&ܭ`t̝>F5ŊFjdGe%f'ϓ,AAr#TtǂKVBN }Vzf7
-{5݌2EΐlN1v5QɆ LǶ,r8JT9 /نh
+x\n$+&#5j>yr!Y*HIcy򟋼xE)Vۋ7. kF]㫔Rj'~QRȼz⟚~DW)wݧn܎չ%-7@yB6KpI2-\0N`*2]J_ؾ,a.f}՛
+1UCLCT4%ma2"|[%DνيvJJr0R?G&t!-ۃ,$$ &2H'L)xKm#
+nF+' SyPcvYfh/,3 ;hƏ9Z[~N.4mχ`Z]nD)gKGp'WsZ_Fx5BLCh-AM
+[@c5$5i5U<t$:+}Wj%S]D
+Jb#sz`J֫G x05ń i=wN6&t'q%%J>8WR֒UUn$ןUC Hف41篽Zt.r)A ΒV#x'{ϛZ7Xe`kt*WXJ7 х ֢-xXLXsY3*w'RsxGet<-{2U>J P=lg1'f/퇐QhcL; d"'#P3;LTˮo@]DN9~q,"iFSCi2.H>R'
+h,֗pDARwJu%`ՐѼR-V hq<=ĵIM /#}@ L π%H .iĩFNJm2PE0ovExrU<`^$[܆uъ5yqbP'<T!(OW~ae'*ܫ7])es
+!c( 'uFxD B2J?s[ӣ#91o
+,!e3b)D\36 t˰SebCS{;(%l3Ev󂒄
+m hI2H|JA8x
+bh3y!r hP@#D J!/ᙡ¡D3F?h]Ljfȅ;h#OH!p !ppgΟYl}'x:͇h`ijߘ 8/V@I$[#cDuO8[^?)G$=Nv
+$URNݪ UFv9EvuOv{,nG~:HiK JoSj-oF'oU;Էi(#`@԰rXc@"\%jDc
+Ku]]U:?^5,~=OM<?)r-[GᔷZ}[ [j}6m*cQ域6O1ƚJ>!JP\?L[l"R%Ţ*3nNN )3hpөCFN|;f7yWٖTDm&RIVQЬYC:I˜j ck'hehv*Yk%#ΝsX#V`ſ2gS@ V:ҽcXeٳZ55!ڄĵ=]Va#*ŝ%n9,z!$Lm|Akg-9sCey
+ Aflz K5eO̖kF9(iL=̘}
+F3e#- c-  J|uX1:Cwͼɵk|sagXf~8/
endstream
endobj
-564 0 obj
-<< /Type /Page /Contents 565 0 R /Resources 563 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R /Annots 571 0 R >>
-endobj
571 0 obj
-[ 557 0 R 558 0 R 559 0 R 560 0 R 561 0 R 562 0 R ]
+<< /Type /Page /Contents 572 0 R /Resources 570 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R >>
endobj
-557 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.345 544.571 226.041 558.518 ]/A << /S /GoTo /D (Hfootnote.30) >> >>
+573 0 obj
+<< /D [ 571 0 R /XYZ 78.37 808.885 null ] >>
endobj
-558 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 255.958 520.567 262.242 534.608 ]/A << /S /GoTo /D (Hfootnote.31) >> >>
+157 0 obj
+<< /D [ 571 0 R /XYZ 79.37 771.024 null ] >>
endobj
-559 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 322.429 411.45 337.153 422.409 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+570 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F84 425 0 R /F75 338 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-560 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 352.875 411.45 359.848 422.409 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+576 0 obj
+<< /Filter /FlateDecode /Length 3062 >>
+stream
+xڵˎ_G ~
+p&7y<^k.=.Q9x ?M-5gjc|
+#NҶy*^:;UٷF
+ e@J[/xNOڵKOFqKk}c#[dau_?,X)9/}+z>
+E
+#&L%]35栁ϼ0Ho2^òvڗƵ(JJ.2}!.z_\^1ݷ^̴TA\6H+fh-˯W5I"]~ѻΩLdl
+NzlsvZ+ G3o4!;@Η'(![P\zQu"do;Pds90vt D
+E`nOL@۸ ֽkьRzlB s cc,fUL~LA)kKK:]?gMf2;< RE^K#2"RE2l$'7M)ȆЫѿD&Z +dBV%I% A<)jg21xWj9NĀ1 %]UOK(JvףZK ڔ<ٵ- v`/4[f}le,RN 1! .eO.~IAi$@F2b#JQغf8-40]|1S/"dĎTr5kn%Tg갼ÞUt-o~w_ *F.MޘoO}H۸7o# ꜈IZ1~N^lOj6
++e=9RO{?]H\K1n[KHeCSRKis~d4%=Cp<ix-6f\Q+(W4{ڊ_UR(&fM5:jVn7[7L*n~UG}˥n=L¾n)Qijyƅ+yna꼲dQ_ޏ63uy*/.aJK6 -ͳ#+0蝀~Y+ѽ
+endstream
endobj
-561 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 235.007 384.561 245.433 396.842 ]/A << /S /GoTo /D (Hfootnote.32) >> >>
+575 0 obj
+<< /Type /Page /Contents 576 0 R /Resources 574 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R /Annots 582 0 R >>
endobj
-562 0 obj
-<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 111.059 67.636 240.514 79.256 ]
- /Subtype/Link/A<</Type/Action/S/URI/URI(https://dejavu-fonts.github.io)>>
- >>
+582 0 obj
+[ 566 0 R 567 0 R 568 0 R 569 0 R ]
endobj
566 0 obj
-<< /D [ 564 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 322.429 739.616 337.153 750.575 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+endobj
+567 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 352.875 739.616 359.848 750.575 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
endobj
568 0 obj
-<< /D [ 564 0 R /XYZ 93.716 490.28 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 235.007 713.286 245.433 725.567 ]/A << /S /GoTo /D (Hfootnote.32) >> >>
endobj
569 0 obj
-<< /D [ 564 0 R /XYZ 93.716 480.474 null ] >>
+<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 111.059 67.03 240.514 78.65 ]
+ /Subtype/Link/A<</Type/Action/S/URI/URI(https://dejavu-fonts.github.io)>>
+ >>
+endobj
+577 0 obj
+<< /D [ 575 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+161 0 obj
+<< /D [ 575 0 R /XYZ 79.37 771.024 null ] >>
endobj
165 0 obj
-<< /D [ 564 0 R /XYZ 79.37 442.26 null ] >>
+<< /D [ 575 0 R /XYZ 79.37 183.799 null ] >>
endobj
-570 0 obj
-<< /D [ 564 0 R /XYZ 93.716 80.936 null ] >>
+581 0 obj
+<< /D [ 575 0 R /XYZ 93.716 80.331 null ] >>
endobj
-563 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F84 425 0 R /F75 338 0 R /F93 567 0 R /F53 345 0 R /F64 333 0 R /F81 377 0 R /F16 336 0 R /F65 335 0 R /F71 347 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+574 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F81 377 0 R /F16 336 0 R /F74 337 0 R /F65 335 0 R /F106 578 0 R /F105 579 0 R /F107 580 0 R /F27 340 0 R /F30 341 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-576 0 obj
-<< /Filter /FlateDecode /Length 2303 >>
+587 0 obj
+<< /Filter /FlateDecode /Length 777 >>
stream
-xڵn,񮯘܊ 4S ݜ p<O=05/*<v.w\N;{zN yR''N^8(y>?I|
-R'r>p">bz+%Np
-k*L׿ݑmJ:6=uWqGI# 3[LP ZB*tg35J`f"bȦCk0 C24r
-JR+[o(3os5, %`ʢR]Uu.QioFK=XrtCc?f #~Y؆V]$U=)F}8 ]*#nb wNgF8=cl|q
-5:0HXυvz?Dqp-CI? hi*Dey-L@Ipؗd`hk~pQd-qlN5}I*['vʙY}H L,F;ݤ{NNx֍ _#Iv=qy Wߔ_[2)4PV7-/rX+a}`Nb ,Z(=X̲<Stsm-7~$60 AcZW*74}O=4.f3e/d/{X (ԥ 3Y_PY(/hV}܅rbsx+oɡlb h4\fhϿ??m=ۄ XEp7C黢 l74QtA!qU4q3a40 aܟsTQGyǎ:NO,&t1th ?J)sƚ O..ݙGPyU9ϔ:1#ap_߭{҄1_W՘tywB*號۫cwz 5>ţ)~zHG
+xڭV=o1 +DI
+#?Rq<p5|;{=I>Yd*{;痽0Y]w)
+RC6_fDCaHb[(1+n2NRNFm]mzZ&!-lATg1M΅Il0%,oͱ:{;fĚ~uqZ
+: /HJZmd?Ʋ%Eo_ԟQ?%1J6TE ż[xôعؤ r((ySUj)t%l\l)m@Y`#<A?98$d:|T4 y7:S?SM=KH]cf}<b ~vs:nCk{Z)tA`yY2i>P
+@Ujk6SY`\sa#evAҖE#FOETQ:Y̛6n] 4[+Rʐĭԭuݲ&= rbQu
endstream
endobj
-575 0 obj
-<< /Type /Page /Contents 576 0 R /Resources 574 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R /Annots 581 0 R >>
-endobj
-581 0 obj
-[ 572 0 R 573 0 R ]
+586 0 obj
+<< /Type /Page /Contents 587 0 R /Resources 585 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R /Annots 589 0 R >>
endobj
-572 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 480.517 320.949 487.491 332.356 ]/A << /S /GoTo /D (section.0.7) >> >>
+589 0 obj
+[ 583 0 R 584 0 R ]
endobj
-573 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 502.177 320.949 514.132 332.356 ]/A << /S /GoTo /D (section.0.7) >> >>
+583 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 480.517 670.112 487.491 681.519 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
-577 0 obj
-<< /D [ 575 0 R /XYZ 78.37 808.885 null ] >>
+584 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 502.177 670.112 514.132 681.519 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
-169 0 obj
-<< /D [ 575 0 R /XYZ 79.37 515.126 null ] >>
+588 0 obj
+<< /D [ 586 0 R /XYZ 78.37 808.885 null ] >>
endobj
-574 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F65 335 0 R /F81 377 0 R /F106 578 0 R /F105 579 0 R /F107 580 0 R /F27 340 0 R /F30 341 0 R /F64 333 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+585 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 337 0 R /F15 334 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-586 0 obj
-<< /Filter /FlateDecode /Length 3557 >>
+594 0 obj
+<< /Filter /FlateDecode /Length 3561 >>
stream
xɮ$>_?0Di) ć}*x8~DQIQo?wyuIe7qI{3Ϸ\}z{/88?^ZMW
㸢'ZyBZ57#_
@@ -1779,42 +1786,41 @@ Vļ'f
F0%8\̆.qԆ'v0wQJqH1Ҕɑ=r=&9I (h])@d\\3Jc̓Qgȹ0\;>@~/RI&(롓NeQuL)WxxM}Ra02Fyɸ)x H8Ad0]վ6GL VM4{(Dyz' GV lRS0L2^eq]K+HjxGq3+D#l;mYnb1+F6 7i/ LzzԒ{zє݋o(oL9J5]Ij{F+iЖt.5-'%@uc-Hmv]얘rEрA3ìx
)}rHC#S2rSg@34V~lUe/mDjy}*kAUhH0ã56M
j zN0*mJjG?sCEyF30`L[~qnQSl |9MHhvsagF4c7Mckqp/}`EQlj'b.L <L|l/-euAr'M+
-b4蛆_5lR4/n6) O0#wVSY;m6'ehJ+m`_þ.
- ; b}+o<7p8BQy/AeOB6gXzn#pU4sj*v98E│<͹oZ,}_ 29?o۟%Lz}J SP
-ý5e/),>T1㸃s7t 4rLmnl{
-AZIjh"u7r_ ?5l{=JXǦ(q>Pud}WK}H Jd-Gk4>_mO1\SF`O% CCaOISBSq}L e3wp0d(= kjZЄ`AF-@j#qShuG+oa/}MՕ3='VlUY5|7J>^q/Na]e"ޖAlcv9
+b4蛆_5lR4/n6) O0#wVSY;m6'ehJ+m`_þ.
+8
+VŃn(WץoϚT
endstream
endobj
-585 0 obj
-<< /Type /Page /Contents 586 0 R /Resources 584 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R /Annots 589 0 R >>
+593 0 obj
+<< /Type /Page /Contents 594 0 R /Resources 592 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R /Annots 597 0 R >>
endobj
-589 0 obj
-[ 582 0 R 583 0 R ]
+597 0 obj
+[ 590 0 R 591 0 R ]
endobj
-582 0 obj
+590 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 278.812 667.892 289.239 680.183 ]/A << /S /GoTo /D (Hfootnote.33) >> >>
endobj
-583 0 obj
+591 0 obj
<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 112.169 86.983 232.661 97.581 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://pygments.org/styles/)>>
>>
endobj
-587 0 obj
-<< /D [ 585 0 R /XYZ 78.37 808.885 null ] >>
+595 0 obj
+<< /D [ 593 0 R /XYZ 78.37 808.885 null ] >>
endobj
-173 0 obj
-<< /D [ 585 0 R /XYZ 79.37 771.024 null ] >>
+169 0 obj
+<< /D [ 593 0 R /XYZ 79.37 771.024 null ] >>
endobj
-177 0 obj
-<< /D [ 585 0 R /XYZ 79.37 748.222 null ] >>
+173 0 obj
+<< /D [ 593 0 R /XYZ 79.37 748.222 null ] >>
endobj
-588 0 obj
-<< /D [ 585 0 R /XYZ 93.716 99.261 null ] >>
+596 0 obj
+<< /D [ 593 0 R /XYZ 93.716 99.261 null ] >>
endobj
-584 0 obj
+592 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F16 336 0 R /F81 377 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-592 0 obj
+600 0 obj
<< /Filter /FlateDecode /Length 2900 >>
stream
xڵ\K ?0%؜maw9-[d=;=rᦔ*w{׋_M\*!Q~IJ.RRWH͓^q/o}зw~Un?oW%zP]%9!0HD++7 K8_J7U'm/cׇ+j jBɂI1iu*)WMN+h Ẕ
@@ -1837,22 +1843,22 @@ W!a+p]IL_ZDάB2#mN$>}
|yRMXxdVUsUĥ(c;4>5x i(4 ѻxJh$ʨw)Wjcp*: i+>WKR, :lh
(),ӳN`Ԓ%MdIN-ȓ,O᱌;
<Veqp$)X5(,':ܮyrP:5v Д6?hC
- xjXd V>9 z؊h7:#,*V}$l8>⩩T _(K'xO~dڗ
+ xjXd V>9 z؊h7:#,*V}$l8>⩩T _(K'xOD~[ږ
endstream
endobj
-591 0 obj
-<< /Type /Page /Contents 592 0 R /Resources 590 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R >>
+599 0 obj
+<< /Type /Page /Contents 600 0 R /Resources 598 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R >>
endobj
-593 0 obj
-<< /D [ 591 0 R /XYZ 78.37 808.885 null ] >>
+601 0 obj
+<< /D [ 599 0 R /XYZ 78.37 808.885 null ] >>
endobj
-181 0 obj
-<< /D [ 591 0 R /XYZ 79.37 771.024 null ] >>
+177 0 obj
+<< /D [ 599 0 R /XYZ 79.37 771.024 null ] >>
endobj
-590 0 obj
+598 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-596 0 obj
+604 0 obj
<< /Filter /FlateDecode /Length 3101 >>
stream
x[K$ ϯ?$R/`1dnO6CC*J*yA[%Goۏ/oB00?^7q3-g r^? 9}OxG~ FN#oI2^>~DY~C
@@ -1864,109 +1870,110 @@ Q+&L7SN& É)VY,GLnpDJsl\ (SzӫNzKEBs[|
ȶsvaѮzʴ2iYWWPd1iHGY/uG'$\yquiײaUq10gZ=.}VgNIn+]̣{5S`{\T9+]T }Kʸ'-W"a:FD!,mb1Էn*k<R)l|hWR , C=fVW`aAUHPbPVOFxr
 mHUҏ㥯&WLA6hTuQ8RW<x<\2'` I:TN
pL{2\SIڟm*h2U
-sܯt56c[9!KRkq!7Wuy0M \ 5$tH9*_&ĻD9#ޞ6}iSVKg?Oޡq[dd
+sܯt56c[9!KRkq!7Wuy0M \ 5$tH9*_&ĻD9#ޞ6}iSVKg?Oޡq[dd
endstream
endobj
-595 0 obj
-<< /Type /Page /Contents 596 0 R /Resources 594 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R >>
+603 0 obj
+<< /Type /Page /Contents 604 0 R /Resources 602 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R >>
endobj
-597 0 obj
-<< /D [ 595 0 R /XYZ 78.37 808.885 null ] >>
+605 0 obj
+<< /D [ 603 0 R /XYZ 78.37 808.885 null ] >>
endobj
-185 0 obj
-<< /D [ 595 0 R /XYZ 79.37 771.024 null ] >>
+181 0 obj
+<< /D [ 603 0 R /XYZ 79.37 771.024 null ] >>
endobj
-594 0 obj
+602 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F80 366 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-600 0 obj
-<< /Filter /FlateDecode /Length 2875 >>
+608 0 obj
+<< /Filter /FlateDecode /Length 2876 >>
stream
-xڵ[$7+
-n+%ӷ0|Co-#T?R
-_(Ra_?1J)>R?5' ?[<oR_~V&oXő D)RTߍ(>Ž"%rS쌭/lc[_8yVSO&Sp4A0:Lqqy҄1g78 (5u-txޥn onoez
-\t.9)Dڒ U`j=(4u!iq:Ć1^NK\Hִ[Z,
-M g|\QT=.SrqMl! S1EhyhH@RdQɘHLԵ]xLpyCSK!߼K6>ƺ !_⋰?dğl,. B@6c?WnC?[3$&^ \12؄TG]^Wh!'0>Xa7`r5`p hfv1%JG 6X` cS#B~D(zBnbErHuɹ719d E>G&9R=Õqnm&)Jʿސ#N53 f3"G/wI5=GKcǴfo8NaCsu:̘-d3Mv*p4ι.54Zُ+ӨмRC5˽N'Mev1Ȏ}uYI&_/9)XLw^m۳}Dyj*v|:Im[sqWai֒SR@͹d @5lQ 5w_mL™@
-ھgF@Dv"s 
-uZdq@k&u*b@ibU9qV9Y ![IGXQYmTZ<_${SHI,EXs>SLTci]Hcs'Mq |9ggǘՁYՅ Hjɸ
-s*l{iZI#\{WϗNHW"6s&}oqtec4uA*!/ @]^
-\-SjԂD@u!$D|)!㛺[bZ**OJķ}_6kAu>Vg\8-zmq}ն_F% ƒ+jE3w{Y#ͦZzT#nߘ hnII
-Y7[^nkoĢ#Ft={~nAZ[zOe[΂)wNLiEi
+xڵ[Ɏ$W %BS]] :ٰ|;oIRsL/H$Fo?^~z*1FL> DVPnnL)S* ¾~aR|'~kO;x{i"L,#=#R2}Q|* 7{E J[_FǶ q󤽭L&h atp c]gqo,1#p@|QFqkf'[̽Kr5| H<\{J:ah9aO .6~2~e#=!aL ߱yY0|䩥e3޶]hޯ#GLt rJN
+"/;
+4$ a)'XK"@hoˉh\O%0knjt ^~ ?:?jNv/a$&5OR^l[Rt"Z:]yQiXe[Xa6ɼy2c#0ҁH*؏s-z[]l]0BRA.L'kSFŻë<8O.m?Ϣa*zDW#,{,L T<.\{, #!*0z?cAQoP
+PJ
+ʯTҬ%
+dp'8fO%
+QG @&/SU?pDFoj1m׍I(t^ !}SLh`XЊh{D4ۣ$sⓎE1nlڵ5xm-ZǘUfvF  7TFa krⳅ'ywm4CUx-
+ܖMl?5aXՌ&v8kL%v-},)\D*n봐‶תM4@TĀ6R +0s
+
+(@rΎ1- %r)Tq$u ގ/Q,V4"X|;#l
+T6ѓ'Ҵ=G/󝐮DlvqQs'hMFH7j9 iT@?B,n^
+j =O"?Z \-_-Dʗ=l%BH*SC7u--tŀT<U,o]Rlяת|,*MϪqZU0mJK1WԮfG:/MGܾ1A
endstream
endobj
-599 0 obj
-<< /Type /Page /Contents 600 0 R /Resources 598 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R >>
+607 0 obj
+<< /Type /Page /Contents 608 0 R /Resources 606 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R >>
endobj
-601 0 obj
-<< /D [ 599 0 R /XYZ 78.37 808.885 null ] >>
+609 0 obj
+<< /D [ 607 0 R /XYZ 78.37 808.885 null ] >>
endobj
-189 0 obj
-<< /D [ 599 0 R /XYZ 79.37 771.024 null ] >>
+185 0 obj
+<< /D [ 607 0 R /XYZ 79.37 771.024 null ] >>
endobj
-598 0 obj
+606 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-606 0 obj
+614 0 obj
<< /Filter /FlateDecode /Length 1294 >>
stream
-xڵX7+&  G7ٰ{;x6ɾƫu;}x|upmӧФZ+;~RENj^QB5N_>HIRj'%R+| BF]o/,qKJ;!HW:N/?'/s0FW'y` j:? 73+Lb,UXf."9"H19TKk"Mvq 6`t1)r؃ZH·> , ]Hn=.
-ApL:A7PL9aŊY-xEZs -45BqhOt /ڢtJ"i)2(
- qaC^J{ZTdr*6BF_=H8Nũ\+h,a~W1k)6[UُRdOG-nU\*Ү*bϖ酵~Mq 4X+ TBy7ioyqӯ/_o|}O}ۈ!~9u,Z$137Uxm^ۅv`ZQkjg&UnDX-4tRt[(o`?A9i(cnntw)[.w̲ahtI %by H"a|̙{i{l_-˚GPìy^Xs|Ӡ˵
-1bLt6:П~
-Ë]د?LaR:6&=xR|T yljp  k'ښ؝@mעj%P Ե)Y٥QrrĜ1Or,56 7S9t಑USV
-+bqFv C</2c
+xڵX7+& #ۛ lX]<d_:>u<:r:|nhRJx<)"'5Y/N(!_襤Rj'%R+| BF]o/,qKJ;!HW:N/ϟ?'/s0FW'y` j:? 73+Lb,UXf."9"H19TKk"Mvq 6`t1)r؃ZH·> , ]Hn=.
+ApL:A7PL9aŊY-~xEZs _-45BqhOt /ڢtJ"i)2(
+ qaC^J=\-*9Fi!#r/t$sTt4b sȍo]K*YMKهQhcʣF*.Kib1yRgՁu8V,pY TBy7ioyq/_|}
+O}ۈ!O~I:UByn˘KŪuM<i]_on05Nhr3\R*g7"wV:ZQ-s7 mm41M kwT-s}nfٰ}4oY섒z<$0Xw ̽=`ږ`eM#aV</,ajZjtA#
+v_Iz"sUS$a9-G+t =;$Zf.DEq0`)wB{<)>FQE6gNȊnNmͼmLcy^j sضkQ老_Wڔݬv``͌(W9]9Pjgbb'qM9eשk:pH])+ ~8GDRx;<X_*2
endstream
endobj
-605 0 obj
-<< /Type /Page /Contents 606 0 R /Resources 604 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R /Annots 608 0 R >>
+613 0 obj
+<< /Type /Page /Contents 614 0 R /Resources 612 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R /Annots 616 0 R >>
endobj
-608 0 obj
-[ 602 0 R 603 0 R ]
+616 0 obj
+[ 610 0 R 611 0 R ]
endobj
-602 0 obj
+610 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 263.782 468.798 278.507 480.753 ]/A << /S /GoTo /D (subsection.0.6.3) >> >>
endobj
-603 0 obj
+611 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 294.754 468.798 306.709 480.753 ]/A << /S /GoTo /D (subsection.0.6.3) >> >>
endobj
-607 0 obj
-<< /D [ 605 0 R /XYZ 78.37 808.885 null ] >>
+615 0 obj
+<< /D [ 613 0 R /XYZ 78.37 808.885 null ] >>
endobj
-193 0 obj
-<< /D [ 605 0 R /XYZ 79.37 771.024 null ] >>
+189 0 obj
+<< /D [ 613 0 R /XYZ 79.37 771.024 null ] >>
endobj
-604 0 obj
+612 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-612 0 obj
-<< /Filter /FlateDecode /Length 1309 >>
+620 0 obj
+<< /Filter /FlateDecode /Length 1308 >>
stream
xڵXɎ7+&; 4F|s 9ؗ~{m MV{H:4OnJ +%lj:A[#T6|9S*^)R%F)!?_n _qt9{ 0q6VyDK\?Î _3%Vb!3A83 rOqgMᗴAKҙph?pA0֫Գ  VX237NzE GQԒ?YX 9m-S$$nEB:/M$P (q摊&TѮ TǁGǶoļJy!`N`H!]~Xs~,'% :̯~eF+-7H43"&Wņ9m]]Jz>|]Zk(C-'EZU{S;lb)0B+z~U2¬0"|v|ߧm6p h>=l%?XLؒu4 Kn(gXM3TMCW$GZ)%$IZHk UglqD,Ai/lV[4Dj=P'q64Ѵ&sXc)'{ka;!7kmBxƁvXpS0@@VKdggv`vk?Jy K04?""m;lR;zd)bF߰'ra6:cFcC,t3 *>,<phGrL]MÌ"vnj$JMJ7!fʖۊn(% 2B!&SwBV6S1yc,1H<m>X RPc_Luu^=4wvbSZ-y]aGN ]ֶWa$ t+ե̮Yty͇%`x_ANgdMD%
6RKG%G)*$(~zx KՄm^.3I_^S9#đw?EBxg;.-=GEe٭ %FtJ
fNj+xsn;]`X¡YbmD 'ySzyv=Q"4_
-ܽu!CɈ3M
+ܽu!q|y/3<M
endstream
endobj
-611 0 obj
-<< /Type /Page /Contents 612 0 R /Resources 610 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R /Annots 614 0 R >>
+619 0 obj
+<< /Type /Page /Contents 620 0 R /Resources 618 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R /Annots 623 0 R >>
endobj
-614 0 obj
-[ 609 0 R ]
+623 0 obj
+[ 617 0 R ]
endobj
-609 0 obj
+617 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 254.015 699.315 260.989 710.274 ]/A << /S /GoTo /D (section.0.5) >> >>
endobj
-613 0 obj
-<< /D [ 611 0 R /XYZ 78.37 808.885 null ] >>
+621 0 obj
+<< /D [ 619 0 R /XYZ 78.37 808.885 null ] >>
endobj
-197 0 obj
-<< /D [ 611 0 R /XYZ 79.37 771.024 null ] >>
+193 0 obj
+<< /D [ 619 0 R /XYZ 79.37 771.024 null ] >>
endobj
-610 0 obj
+618 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-621 0 obj
-<< /Filter /FlateDecode /Length 3327 >>
+630 0 obj
+<< /Filter /FlateDecode /Length 3324 >>
stream
xˎ#>_X,
/)!|哒RO抏 ~)5qQJC6ܪ?^Z @K5~'ZVs]52FEFhOf# 7 R63'(PX#J0W:&
@@ -1979,12042 +1986,11998 @@ AbټVhs!?quyPBd m"s2 OVE4c`%ƜexFf6j&`pku[
0822Gt(X*ߖ^}p'D=C_ʆAM ?2򆓵(p[BJhTIVO̵S%f1D+WEf!|u}\`]{|D6
'݇sΪIQ[Iӿg t_|c7w*OkrfՒOR߲ $mBϷ$'AZxP^j'ZGLz
성su@<)/D"`:aQJ;u*N%?5*qf(Z籼PCOWTT}+<9wtfURG3a:>ʓý@l<Z wD w*7qQ0}yhMișayágm֖<5Q T=̳y} ]w7oh:fx!r~o ;P.N);r: Ւ
->/7pZ%ynZf\ Y>L婗/={fbM}fϣ"UAp͌Q/69C5 -=. !XN<')U@M\v3ý9&rLɏc0}lB*C//'V(kz9\Y偔vƒMOqG@Mkg4n#7I.WF(vDkj{Tz+m„)[ 01a,}PaôU,jfz*L${Y3:s]UkvlFuJc5)ʶj FyVDZ}~q>)9̫0@S)e]_i/]Oןh8.ttȅNŜҎnI)l3F(w&A^vu=D DІ7Azvk5oPnZv2<wľ<P*ɗ3-rNQ2F6iFdg'U_AZ͌}! J@@5MMPd ^sNkj[[J X(Z!vHomٽSޕ9-T\Yf`lc`Jzu桌m  CrmsRaYt/L^ǜXVhyv+Ճ-`ݼJJ"]mN$(ޞ;'Л2
+>/7pZ%ynZf\ Y>L婗/={fbM}fϣ"UAp͌Q/69C5 -=. !XN<')U@M\v3ý9&rLɏc0}lB*C//'V(kz9\Y偔vƒMOqG@Mkg4n#7I.WF(vDkj{Tz+m„)[ 01a,}PaôU,jfz*L${Y3:s]UkvlFuJc5)ʶj FyVDZ}~q>)9̫0@S)e]_i/]Oןh8.ttȅNŜҎnI)l3F(w&A^vu=D DІ7Azvk5oPnZv2<wľ<P*ɗ3-rNQ2F6iFdg'U_AZ͌}! J@@5MMPd ^sNkj[[J X(Z!vHomٽSޕ9-T\Yf`lc`Jzu桌m  CrmsRaYt/L^ǜXVhyv+Ճ-`ݼJJ"]mN$(ޞ;'Л2
endstream
endobj
-620 0 obj
-<< /Type /Page /Contents 621 0 R /Resources 619 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R /Annots 628 0 R >>
+629 0 obj
+<< /Type /Page /Contents 630 0 R /Resources 628 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R /Annots 636 0 R >>
endobj
-628 0 obj
-[ 615 0 R 616 0 R 617 0 R 618 0 R ]
+636 0 obj
+[ 624 0 R 625 0 R 626 0 R 627 0 R ]
endobj
-615 0 obj
+624 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 384.187 623.97 394.614 636.42 ]/A << /S /GoTo /D (Hfootnote.34) >> >>
endobj
-616 0 obj
+625 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.594 531.297 226.29 542.485 ]/A << /S /GoTo /D (Hfootnote.35) >> >>
endobj
-617 0 obj
+626 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 224.825 519.352 231.109 532.078 ]/A << /S /GoTo /D (Hfootnote.36) >> >>
endobj
-618 0 obj
+627 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 308.511 508.283 314.795 518.575 ]/A << /S /GoTo /D (Hfootnote.37) >> >>
endobj
-622 0 obj
-<< /D [ 620 0 R /XYZ 78.37 808.885 null ] >>
+631 0 obj
+<< /D [ 629 0 R /XYZ 78.37 808.885 null ] >>
endobj
-201 0 obj
-<< /D [ 620 0 R /XYZ 79.37 771.024 null ] >>
+197 0 obj
+<< /D [ 629 0 R /XYZ 79.37 771.024 null ] >>
endobj
-205 0 obj
-<< /D [ 620 0 R /XYZ 79.37 705.06 null ] >>
+201 0 obj
+<< /D [ 629 0 R /XYZ 79.37 705.06 null ] >>
endobj
-623 0 obj
-<< /D [ 620 0 R /XYZ 93.716 227.357 null ] >>
+632 0 obj
+<< /D [ 629 0 R /XYZ 93.716 227.357 null ] >>
endobj
-624 0 obj
-<< /D [ 620 0 R /XYZ 93.716 189.157 null ] >>
+633 0 obj
+<< /D [ 629 0 R /XYZ 93.716 189.157 null ] >>
endobj
-625 0 obj
-<< /D [ 620 0 R /XYZ 93.716 151.299 null ] >>
+634 0 obj
+<< /D [ 629 0 R /XYZ 93.716 151.299 null ] >>
endobj
-626 0 obj
-<< /D [ 620 0 R /XYZ 93.716 108.297 null ] >>
+635 0 obj
+<< /D [ 629 0 R /XYZ 93.716 108.297 null ] >>
endobj
-619 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F81 377 0 R /F83 414 0 R /F16 336 0 R /F75 338 0 R /F93 567 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R /F85 437 0 R /F71 347 0 R >> /ProcSet [ /PDF /Text ] >>
+628 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F81 377 0 R /F83 412 0 R /F16 336 0 R /F75 338 0 R /F93 549 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R /F85 439 0 R /F71 347 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-631 0 obj
-<< /Filter /FlateDecode /Length 3060 >>
+639 0 obj
+<< /Filter /FlateDecode /Length 3152 >>
stream
-xn$1WLx,,aFs3J;Gvp7V fMͪb_y_ׇ7/yF]^_z&?.>rn'/
- kxsa\<A2|n"<,i[YߚX]82.!(S|UmyP50IĀ=sWoO
-Oki>e@r!ȟiLpE.m\JE8HP]w[V9K/27bʩ{PmEp814H,iV֍;k5Hh1Ûƾ]Fo ɬO6d_~
-F+z,ULJьT6G!
-b\\s˩M+=Z.n4^#;fz"B6 ӧM'0et&7O>sQ@%b``U &z@@sbЎ9b>-Ku~%30{^Vz?zujd"L-7`%$/> *PQ`3ׇTvxpAv`A,$]M
-&j :DnϋdSOCcn,NnDo{mJQyDl%sF L=*eGv>
-^ÃPGB< `dΛ{^"~$S7jgɔ33B4ˊ)®-#9MdqLh1 Qݽ((osPKO]a:v*c =;QHnj(Bb(M=?IER?Ǚ,"I4*NHh]G^1R$|sٺ1u-fӿ~BlMt׿Yk @cby8X@:(ɸZeazMLy&g8Sf9{edr)KrnP7<-k],S7q_E-ژ"I3s}zиR![&i`/B^/mZ-4C.&Txf2/QsgP7]}iLqYjRΑdȗn9l6ym+νJ<:W~K Qc!,͵S~:&=<k5jW/3c|X'9ʞtSZ9dn,/_ZV$0֎!Ea$\#Mq?Zr|Foù00 iiCi
-/KDm"VQbH3kr:(\Y]n?eFtn#cFʖ'‘
-Z,3V {1J[{1X&\)ra8uilj+{+<ɥb1ͳl#>K={"z+3M^,U)KEG 4ʦxwZ9[mHԿBeUcxγNQ8&9YW*)cm$-&)tB5ΥMC_QM`\:_8=/+֎U-RD0
-^-ir&tiVwiL,m~sb冴CB2#vci%#9w#eZ| NIkZL;49\fI|qB?nuv7d ^1g!nLjjl׈m&ۍ
-'J҉1;.FkEZ=[YZ:sF[s[쾝ۥ!t%.
-MN%p'ˆ6.?retdrM4jZU1 qT*&ДwS$lՠ__A[S^~~΂gBκΚR(@l<l!
-\ Q:`VL.NȠRrEr(#cpqzeqmnxrJ0UWurԽQ˻q6m6:̃ 5 -g Q&I>z)xUYZF=pVH'??JTD4H4
+xrd1WL(>Xp8r2eI@zfU]D?o'~*)`է_ 8;9+'Νx
+WQ;s%g}܈֕6k9F+/Qpm7p2sZlbe/i e'֑gՕ7U{ ܐO$ 18ii<S2y/#'!i_ bJ_F$r^Pj} Bȷ8#r="d^>
+dR)#_NW)4^Kݬ\?Rz0
+#8H=Y;Yt6Ys
+M
+f3eNI?={LPݢ93q&ב Ѳ:$?zUO* F&KF@(̻0)% c&pvf
+w@MUVxP7
+%%;a5:}kHYl5shh*YxqِɚAX=zzuUo jj~u$C%^D,N֜{K+4Ͳs!Yc),uQ %Wj}̬ݿ@bPt ./N5:. #xv.i8s~b4% U߱ D胃|0[ 3:GAb dhB?̪dˁȏO%KUT[js)9 = !
+!0sZK/k;+i)RPWd1T_撬ZT5Z\bL0,="[_mG{hq](-ګ~LJBqQHASqͽ f^S@绘t,5ySxVv-1]ua쇴Vhײ3p?G|=>sOqKR LN
+Sh{g
+PTD+y
+ږ~\nVў=)jM)+{MڀsIkeQ|ը;-NR;K'ʎǜ<Ŗ[a҈EǾ ;K:EjXSJߵS GNj'['=WQ
+53x
+kF8ɩ(զ}?4&]}eY)7PkiXRV˟WVGȞ+4 */#6btudD+\ ҵ\.v]ilSˊI@ca&G T:nXkl/ha5 {V`17Q},qUIrEiki&?% vtκF/5sCM>ʤqmF̵뷘#>'ߘi%59~d
endstream
endobj
-630 0 obj
-<< /Type /Page /Contents 631 0 R /Resources 629 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
-endobj
-632 0 obj
-<< /D [ 630 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-209 0 obj
-<< /D [ 630 0 R /XYZ 79.37 639.908 null ] >>
-endobj
-213 0 obj
-<< /D [ 630 0 R /XYZ 79.37 621.783 null ] >>
-endobj
-634 0 obj
-<< /D [ 630 0 R /XYZ 77.176 602.516 null ] >>
-endobj
-637 0 obj
-<< /D [ 630 0 R /XYZ 77.176 591.557 null ] >>
-endobj
638 0 obj
-<< /D [ 630 0 R /XYZ 77.176 580.598 null ] >>
-endobj
-639 0 obj
-<< /D [ 630 0 R /XYZ 77.176 569.639 null ] >>
+<< /Type /Page /Contents 639 0 R /Resources 637 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
640 0 obj
-<< /D [ 630 0 R /XYZ 77.176 558.68 null ] >>
+<< /D [ 638 0 R /XYZ 78.37 808.885 null ] >>
endobj
-641 0 obj
-<< /D [ 630 0 R /XYZ 77.176 547.721 null ] >>
-endobj
-642 0 obj
-<< /D [ 630 0 R /XYZ 77.176 536.762 null ] >>
+205 0 obj
+<< /D [ 638 0 R /XYZ 79.37 640.179 null ] >>
endobj
-643 0 obj
-<< /D [ 630 0 R /XYZ 77.176 525.803 null ] >>
+209 0 obj
+<< /D [ 638 0 R /XYZ 79.37 622.054 null ] >>
endobj
-644 0 obj
-<< /D [ 630 0 R /XYZ 77.176 497.908 null ] >>
+642 0 obj
+<< /D [ 638 0 R /XYZ 77.176 602.787 null ] >>
endobj
645 0 obj
-<< /D [ 630 0 R /XYZ 78.499 486.949 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 591.828 null ] >>
endobj
646 0 obj
-<< /D [ 630 0 R /XYZ 78.499 475.99 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 580.869 null ] >>
endobj
647 0 obj
-<< /D [ 630 0 R /XYZ 78.499 465.031 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 569.91 null ] >>
endobj
648 0 obj
-<< /D [ 630 0 R /XYZ 78.499 454.072 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 558.951 null ] >>
endobj
649 0 obj
-<< /D [ 630 0 R /XYZ 78.499 443.113 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 547.992 null ] >>
endobj
650 0 obj
-<< /D [ 630 0 R /XYZ 78.499 432.154 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 537.033 null ] >>
endobj
651 0 obj
-<< /D [ 630 0 R /XYZ 78.499 421.195 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 526.074 null ] >>
endobj
652 0 obj
-<< /D [ 630 0 R /XYZ 78.499 410.237 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 474.546 null ] >>
endobj
653 0 obj
-<< /D [ 630 0 R /XYZ 78.499 399.278 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 448.875 null ] >>
endobj
654 0 obj
-<< /D [ 630 0 R /XYZ 78.499 388.319 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 437.916 null ] >>
endobj
655 0 obj
-<< /D [ 630 0 R /XYZ 78.499 377.36 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 426.957 null ] >>
endobj
656 0 obj
-<< /D [ 630 0 R /XYZ 78.499 366.401 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 415.998 null ] >>
endobj
657 0 obj
-<< /D [ 630 0 R /XYZ 78.499 355.442 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 405.039 null ] >>
endobj
658 0 obj
-<< /D [ 630 0 R /XYZ 78.499 291.681 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 394.08 null ] >>
endobj
659 0 obj
-<< /D [ 630 0 R /XYZ 78.499 280.722 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 383.121 null ] >>
endobj
660 0 obj
-<< /D [ 630 0 R /XYZ 78.499 269.763 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 372.162 null ] >>
endobj
661 0 obj
-<< /D [ 630 0 R /XYZ 78.499 258.804 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 361.203 null ] >>
endobj
662 0 obj
-<< /D [ 630 0 R /XYZ 78.499 247.846 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 350.245 null ] >>
endobj
663 0 obj
-<< /D [ 630 0 R /XYZ 78.499 236.887 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 339.286 null ] >>
endobj
664 0 obj
-<< /D [ 630 0 R /XYZ 78.499 187.073 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 328.327 null ] >>
endobj
665 0 obj
-<< /D [ 630 0 R /XYZ 78.499 176.115 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 317.368 null ] >>
endobj
666 0 obj
-<< /D [ 630 0 R /XYZ 78.499 138.257 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 306.409 null ] >>
endobj
667 0 obj
-<< /D [ 630 0 R /XYZ 78.499 127.298 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 242.741 null ] >>
endobj
668 0 obj
-<< /D [ 630 0 R /XYZ 78.499 116.339 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 231.782 null ] >>
endobj
669 0 obj
-<< /D [ 630 0 R /XYZ 78.499 105.38 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 220.823 null ] >>
endobj
670 0 obj
-<< /D [ 630 0 R /XYZ 78.499 94.421 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 209.864 null ] >>
endobj
671 0 obj
-<< /D [ 630 0 R /XYZ 78.499 83.462 null ] >>
-endobj
-629 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F109 633 0 R /F64 333 0 R /F22 367 0 R /F59 346 0 R /F88 635 0 R /F111 636 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 638 0 R /XYZ 78.499 198.905 null ] >>
endobj
-674 0 obj
-<< /Filter /FlateDecode /Length 2245 >>
-stream
-x[ɒ6 WCV6U9-kr_ Hɶqrp,
-]|>:VU3AJIC ,F
-%â&XtB#f#A(|x6e3 Q(چn8xt˜vɭhFohuky&k\Jaz֜
-jzJxSy|=H*'
-[QIM5P~4,'%YZ*cQmBϗ^|Rmt?`-G͞V(\`c<{̥!ya#Gdo?e]r+7ߓg[8`yI1{z"6k,1ǝGvHJ=I]Lfx΅k?:8CV'a܎N m{"F:2Z=5B\.)&է+l
->8Y:OxRE# 4S5Cl$XljZI­U(mұdUCBՍS m!u[rSr$CKuʪK5q5T
-^O++sNB#'2i Y=n<7-m 滝B}(K"~}C4ʂVs棤U+Q`٫WӺ(̓es9bdz271tc%ȮQ"Hl1F qNB)Z>0JOVi|Ui<Ϟs;MϢQ>9Gjh֖ONcF?H ǦHkxZH!̽ԌYyHb֕{6enYk_U/w&9I#uZ #9x3=դ eV0ߡ a܍IXMQ;ir^ʚ<J5ں9SP4^lO VZJ-ob"GăvNR\m.ڢ\԰~l*
-lD\ԣ cSrM?KnDT,Č?O QßҎ$KwpTx2!h>D cv(
-ؑ f,7.w ^Eڦx N|w,ϑ$l@svj:׼uڽڪt\ϙFۏ><
-TcG#: ;V<}2k ڶO6`xgN+dks*YT͇m⪞pxcj>݂X1[c(a؆c/muDf~mH,6;IYdP
-'vlôy^FH-\zx0좇3V@w|R:}eaܻo|Lgdmvf~}YΜM'yJx΍ZTȓeϕpY8Ŗ_0gɾBj^/]h_һ7@Xc騚ͻetϷ
-endstream
+672 0 obj
+<< /D [ 638 0 R /XYZ 78.499 187.946 null ] >>
endobj
673 0 obj
-<< /Type /Page /Contents 674 0 R /Resources 672 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 638 0 R /XYZ 78.499 138.364 null ] >>
+endobj
+674 0 obj
+<< /D [ 638 0 R /XYZ 78.499 127.405 null ] >>
endobj
675 0 obj
-<< /D [ 673 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 89.593 null ] >>
endobj
676 0 obj
-<< /D [ 673 0 R /XYZ 78.499 768.829 null ] >>
-endobj
-677 0 obj
-<< /D [ 673 0 R /XYZ 78.499 757.87 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 78.635 null ] >>
endobj
-678 0 obj
-<< /D [ 673 0 R /XYZ 78.499 746.912 null ] >>
+637 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F109 641 0 R /F64 333 0 R /F22 367 0 R /F59 346 0 R /F88 643 0 R /F111 644 0 R /F84 425 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
679 0 obj
-<< /D [ 673 0 R /XYZ 78.499 735.953 null ] >>
+<< /Filter /FlateDecode /Length 2231 >>
+stream
+x[n#7+! 0X4@ξ&5ܪIZRǞAVK~Xៃ<x¤Մ/*$Ҫǿ?_oRpY_=j?#-OwB<H$ mh) 0@|ugʵTM㻊
+BE[,`Z j7d$Aσ
+WYatgf
+4#m{^u,m!JkzCQI`"Ov,}%/n::håC[$x%}&&I,
+h(&hh>'ߌW٤J7Iu}ThʟB3
+ -C6 qI,)O 8_k0=^fϤ4Nq,
+!زʠ B ;FH<qMb좝VYr/Z
+hJ.c ! KgөRAt <=I\'Âsv CCYИe
+}_g2}S/(<k1Nd;jl͍Kv kMbϦ̈́۵ a}jLӻZf,1txjz޷bsB}SqUisbtm|7s7-¬&W$mk١;.X=7*UaK3572y +XgYSO1#tbwqRЪF
+endstream
+endobj
+678 0 obj
+<< /Type /Page /Contents 679 0 R /Resources 677 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
680 0 obj
-<< /D [ 673 0 R /XYZ 78.499 724.994 null ] >>
+<< /D [ 678 0 R /XYZ 78.37 808.885 null ] >>
endobj
681 0 obj
-<< /D [ 673 0 R /XYZ 78.499 714.035 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 768.829 null ] >>
endobj
682 0 obj
-<< /D [ 673 0 R /XYZ 78.499 703.076 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 757.87 null ] >>
endobj
683 0 obj
-<< /D [ 673 0 R /XYZ 78.499 692.117 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 746.912 null ] >>
endobj
684 0 obj
-<< /D [ 673 0 R /XYZ 78.499 681.158 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 735.953 null ] >>
endobj
685 0 obj
-<< /D [ 673 0 R /XYZ 78.499 653.292 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 710.406 null ] >>
endobj
686 0 obj
-<< /D [ 673 0 R /XYZ 78.499 642.333 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 699.447 null ] >>
endobj
687 0 obj
-<< /D [ 673 0 R /XYZ 78.499 614.467 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 688.488 null ] >>
endobj
688 0 obj
-<< /D [ 673 0 R /XYZ 78.499 603.508 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 677.529 null ] >>
endobj
689 0 obj
-<< /D [ 673 0 R /XYZ 78.499 592.55 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 666.57 null ] >>
endobj
690 0 obj
-<< /D [ 673 0 R /XYZ 78.499 581.591 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 655.611 null ] >>
endobj
691 0 obj
-<< /D [ 673 0 R /XYZ 78.499 570.632 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 644.652 null ] >>
endobj
692 0 obj
-<< /D [ 673 0 R /XYZ 78.499 559.673 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 633.694 null ] >>
endobj
693 0 obj
-<< /D [ 673 0 R /XYZ 78.499 548.714 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 622.735 null ] >>
endobj
694 0 obj
-<< /D [ 673 0 R /XYZ 78.499 537.755 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 595.267 null ] >>
endobj
695 0 obj
-<< /D [ 673 0 R /XYZ 78.499 526.796 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 584.308 null ] >>
endobj
696 0 obj
-<< /D [ 673 0 R /XYZ 78.499 515.837 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 556.84 null ] >>
endobj
697 0 obj
-<< /D [ 673 0 R /XYZ 78.499 504.878 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 545.881 null ] >>
endobj
698 0 obj
-<< /D [ 673 0 R /XYZ 78.499 477.012 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 534.922 null ] >>
endobj
699 0 obj
-<< /D [ 673 0 R /XYZ 78.499 466.054 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 523.963 null ] >>
endobj
700 0 obj
-<< /D [ 673 0 R /XYZ 78.499 426.232 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 513.004 null ] >>
endobj
701 0 obj
-<< /D [ 673 0 R /XYZ 78.499 382.412 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 502.045 null ] >>
endobj
702 0 obj
-<< /D [ 673 0 R /XYZ 78.499 350.546 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 491.086 null ] >>
endobj
703 0 obj
-<< /D [ 673 0 R /XYZ 78.499 330.635 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 480.127 null ] >>
endobj
704 0 obj
-<< /D [ 673 0 R /XYZ 78.499 319.676 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 469.168 null ] >>
endobj
705 0 obj
-<< /D [ 673 0 R /XYZ 78.499 279.855 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 458.209 null ] >>
endobj
706 0 obj
-<< /D [ 673 0 R /XYZ 78.499 268.896 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 447.251 null ] >>
endobj
707 0 obj
-<< /D [ 673 0 R /XYZ 78.499 257.938 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 419.783 null ] >>
endobj
708 0 obj
-<< /D [ 673 0 R /XYZ 78.499 246.979 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 408.824 null ] >>
endobj
709 0 obj
-<< /D [ 673 0 R /XYZ 78.499 236.02 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 369.4 null ] >>
endobj
710 0 obj
-<< /D [ 673 0 R /XYZ 78.499 225.061 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 325.778 null ] >>
endobj
711 0 obj
-<< /D [ 673 0 R /XYZ 78.499 214.102 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 294.112 null ] >>
endobj
712 0 obj
-<< /D [ 673 0 R /XYZ 78.499 203.143 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 274.4 null ] >>
endobj
713 0 obj
-<< /D [ 673 0 R /XYZ 78.499 192.184 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 263.441 null ] >>
endobj
714 0 obj
-<< /D [ 673 0 R /XYZ 78.499 181.225 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 224.018 null ] >>
endobj
715 0 obj
-<< /D [ 673 0 R /XYZ 78.499 170.266 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 213.059 null ] >>
endobj
716 0 obj
-<< /D [ 673 0 R /XYZ 78.499 159.307 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 202.1 null ] >>
endobj
717 0 obj
-<< /D [ 673 0 R /XYZ 78.499 148.348 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 191.141 null ] >>
endobj
718 0 obj
-<< /D [ 673 0 R /XYZ 78.499 122.47 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 180.182 null ] >>
endobj
719 0 obj
-<< /D [ 673 0 R /XYZ 78.499 111.511 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 169.223 null ] >>
endobj
720 0 obj
-<< /D [ 673 0 R /XYZ 78.499 100.552 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 158.264 null ] >>
endobj
721 0 obj
-<< /D [ 673 0 R /XYZ 78.499 89.593 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 147.306 null ] >>
endobj
722 0 obj
-<< /D [ 673 0 R /XYZ 78.499 78.635 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 136.347 null ] >>
endobj
-672 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-725 0 obj
-<< /Filter /FlateDecode /Length 2002 >>
-stream
-xZr6+hU.WY4U959
-}98];j' . jSiPkj!5G23eo-iGi ̒/دS~f@АeYk|Dڝ9qM
-B(U,SҨ"=szV<;xʵ %KFo=2#}m-pŚ\N1TQ_VcSBì'zl/1#f4 o󫩈n87FnZxqUc>Z%:;%9>QT
-pзti
-]J{V&6yM$si Tѫ/{ֽL*s4C?2! T$kϤX}Q{ITlPn~u:|'[#z1MaiWSb3 0(lu瓪ϝL T4-cHq}a(QB]U
-_Z
-nj5NOZ;ӑE=^zq*QWr|O7 ;ԫ`ll Z[RZ']֯)k~
-eL#jx!um)FBkjΙ؟bZ{,q>u k]X-]j(KM}_qs\)K@E"=l}IPcyݤ[J܃7 me.rz\jY5Z2mc2+gDLT5theĨ=3<ums6q}J04fyBr./ugͣug`1:.M,C{/8)t忝޼D ϬQX|+(r-I@ayUUO{<k֫yNCA*NςƚG"ku( N2 H
-4LZ4#.8C[@
-sFC>M Z W1tq6B'^̩ET-0%^bR(R9iOEn{_@EP! @!X e˅W[צ(cHXJdͼyʛ[l1xV=e݄xP[uEz[[6C酲)I1L;d Y>\<OWd^ 9VZRJn `ANRz֓
-1>.ƤR@(;- uc*PL3&*QG G/{8Pz!sduB3{;޿{<0YbKfF$#W.pH"Ө_f6p]޽r##OFIqZJn~
-endstream
+723 0 obj
+<< /D [ 678 0 R /XYZ 78.499 125.388 null ] >>
endobj
724 0 obj
-<< /Type /Page /Contents 725 0 R /Resources 723 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 678 0 R /XYZ 78.499 111.511 null ] >>
+endobj
+725 0 obj
+<< /D [ 678 0 R /XYZ 78.499 100.552 null ] >>
endobj
726 0 obj
-<< /D [ 724 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 89.593 null ] >>
endobj
727 0 obj
-<< /D [ 724 0 R /XYZ 78.499 768.829 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 78.635 null ] >>
endobj
-728 0 obj
-<< /D [ 724 0 R /XYZ 78.499 757.87 null ] >>
-endobj
-729 0 obj
-<< /D [ 724 0 R /XYZ 78.499 742.255 null ] >>
+677 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
730 0 obj
-<< /D [ 724 0 R /XYZ 78.499 731.296 null ] >>
+<< /Filter /FlateDecode /Length 1945 >>
+stream
+x[Ms(W  4PJUSܶ{>,[(vٝ'@O>3g:<sVH~d sr2(G1;ȹkxᾟ,sҶ hC =G{d>!6ޱη=h{"wj1xn{u<<jW87<)ḴbsxFs&8ØgzPP0 _x <X otF24#:{z@
+\@/Jv?#MtKOs՛*GٛDZdG-˄7Pmrä
+L^(^}~;J ԐzU!խ\Vr ]ȝʷrjrȝ=@tMG_k3HڑjMeJݤc(;)^H֢'S"$۸&Ip9(oqC"٧<;c!]Ē{jPY@é]ȋ%-aZy) h\8
+endstream
+endobj
+729 0 obj
+<< /Type /Page /Contents 730 0 R /Resources 728 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
731 0 obj
-<< /D [ 724 0 R /XYZ 78.499 720.337 null ] >>
+<< /D [ 729 0 R /XYZ 78.37 808.885 null ] >>
endobj
732 0 obj
-<< /D [ 724 0 R /XYZ 78.499 709.378 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 768.829 null ] >>
endobj
733 0 obj
-<< /D [ 724 0 R /XYZ 78.499 698.419 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 757.87 null ] >>
endobj
734 0 obj
-<< /D [ 724 0 R /XYZ 78.499 687.461 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 746.912 null ] >>
endobj
735 0 obj
-<< /D [ 724 0 R /XYZ 78.499 676.502 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 735.953 null ] >>
endobj
736 0 obj
-<< /D [ 724 0 R /XYZ 78.499 665.543 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 696.145 null ] >>
endobj
737 0 obj
-<< /D [ 724 0 R /XYZ 78.499 626.667 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 670.278 null ] >>
endobj
738 0 obj
-<< /D [ 724 0 R /XYZ 78.499 601.576 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 659.32 null ] >>
endobj
739 0 obj
-<< /D [ 724 0 R /XYZ 78.499 590.617 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 648.361 null ] >>
endobj
740 0 obj
-<< /D [ 724 0 R /XYZ 78.499 579.658 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 637.402 null ] >>
endobj
741 0 obj
-<< /D [ 724 0 R /XYZ 78.499 568.699 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 609.55 null ] >>
endobj
742 0 obj
-<< /D [ 724 0 R /XYZ 78.499 541.778 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 598.591 null ] >>
endobj
743 0 obj
-<< /D [ 724 0 R /XYZ 79.822 530.819 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 582.665 null ] >>
endobj
744 0 obj
-<< /D [ 724 0 R /XYZ 79.822 515.204 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 571.706 null ] >>
endobj
745 0 obj
-<< /D [ 724 0 R /XYZ 79.822 504.245 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 560.747 null ] >>
endobj
746 0 obj
-<< /D [ 724 0 R /XYZ 79.822 493.286 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 549.788 null ] >>
endobj
747 0 obj
-<< /D [ 724 0 R /XYZ 79.822 482.327 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 538.829 null ] >>
endobj
748 0 obj
-<< /D [ 724 0 R /XYZ 79.822 471.368 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 527.87 null ] >>
endobj
749 0 obj
-<< /D [ 724 0 R /XYZ 79.822 460.41 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 516.911 null ] >>
endobj
750 0 obj
-<< /D [ 724 0 R /XYZ 79.822 449.451 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 505.953 null ] >>
endobj
751 0 obj
-<< /D [ 724 0 R /XYZ 79.822 438.492 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 494.994 null ] >>
endobj
752 0 obj
-<< /D [ 724 0 R /XYZ 79.822 427.533 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 484.035 null ] >>
endobj
753 0 obj
-<< /D [ 724 0 R /XYZ 79.822 416.574 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 468.109 null ] >>
endobj
754 0 obj
-<< /D [ 724 0 R /XYZ 79.822 400.959 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 457.15 null ] >>
endobj
755 0 obj
-<< /D [ 724 0 R /XYZ 79.822 390 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 446.191 null ] >>
endobj
756 0 obj
-<< /D [ 724 0 R /XYZ 79.822 379.041 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 435.232 null ] >>
endobj
757 0 obj
-<< /D [ 724 0 R /XYZ 79.822 368.082 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 424.273 null ] >>
endobj
758 0 obj
-<< /D [ 724 0 R /XYZ 79.822 357.123 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 413.314 null ] >>
endobj
759 0 obj
-<< /D [ 724 0 R /XYZ 79.822 346.164 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 402.356 null ] >>
endobj
760 0 obj
-<< /D [ 724 0 R /XYZ 79.822 335.205 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 391.397 null ] >>
endobj
761 0 obj
-<< /D [ 724 0 R /XYZ 79.822 324.246 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 380.438 null ] >>
endobj
762 0 obj
-<< /D [ 724 0 R /XYZ 79.822 313.287 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 358.549 null ] >>
endobj
763 0 obj
-<< /D [ 724 0 R /XYZ 79.822 292.019 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 347.59 null ] >>
endobj
764 0 obj
-<< /D [ 724 0 R /XYZ 79.822 281.06 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 307.754 null ] >>
endobj
765 0 obj
-<< /D [ 724 0 R /XYZ 79.822 241.535 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 296.795 null ] >>
endobj
766 0 obj
-<< /D [ 724 0 R /XYZ 79.822 230.576 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 285.836 null ] >>
endobj
767 0 obj
-<< /D [ 724 0 R /XYZ 79.822 219.617 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 274.877 null ] >>
endobj
768 0 obj
-<< /D [ 724 0 R /XYZ 79.822 208.658 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 263.918 null ] >>
endobj
769 0 obj
-<< /D [ 724 0 R /XYZ 79.822 197.699 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 252.959 null ] >>
endobj
770 0 obj
-<< /D [ 724 0 R /XYZ 79.822 186.74 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 242 null ] >>
endobj
771 0 obj
-<< /D [ 724 0 R /XYZ 79.822 175.781 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 231.041 null ] >>
endobj
772 0 obj
-<< /D [ 724 0 R /XYZ 79.822 164.822 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 217.101 null ] >>
endobj
773 0 obj
-<< /D [ 724 0 R /XYZ 79.822 151.037 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 206.142 null ] >>
endobj
774 0 obj
-<< /D [ 724 0 R /XYZ 79.822 140.078 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 166.306 null ] >>
endobj
775 0 obj
-<< /D [ 724 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 155.347 null ] >>
endobj
776 0 obj
-<< /D [ 724 0 R /XYZ 79.822 89.593 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 144.388 null ] >>
endobj
777 0 obj
-<< /D [ 724 0 R /XYZ 79.822 78.635 null ] >>
-endobj
-723 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 729 0 R /XYZ 79.822 133.429 null ] >>
endobj
-780 0 obj
-<< /Filter /FlateDecode /Length 2716 >>
-stream
-x[Ko7 W=D(, d
-bmG3-շ?͙jX e ==89}hnC>
-z)OFeΩA;cGz24pl)\s77=9tp&1M3O=[
-^%9N85t<R$>Q3mq#;s?ʞҽh5hpSTvxP[2{Q~|brQn*Zy0Z> 6-&3:Ɔ4_K)$A{p"t/ħq:gdjj85vRl_U#\ j|;D 5Hu%:$Yê->§p\Ř`f!%;LS!$i>
-q֠Ռϳ8YCfnK43q9Q0H|aw982t<1|bôqce 359_ 2à7 z0(v-=3hx*m1 e%~(iax붗I N+a1[DZW.a09>vR8b{aoP' %
-s-lBQ7Hv$y|NS"1-Y{ϫw"E{K9DŽ }oa6)d*2P#)r̿wSR |PS3j^JYރD"~&S<FLfmTJ a(a<G [Es0tyEEFF^߭ umA#[:efUȜsg3=ʾEoU~#lÐ27?J=^m,X[sj>W(+q UK
-{4r(~bM+q|Lj6,׷wgh˕4R&BT")@յ;e/L*~9WjûJNsi$qG氽čc)LWsq@Sbs~U|X􊺅Ր
-*3tΜX) ?o#
-fWvz7Ӄ>6cu5x$/
-KuO
-0~%݅S}FF:cͮ'֭2ӆ(/\xo O2Au[^P|q.'mik]*~&E
-ΫIaTE%_)X-$L?:ZZᴄGTRD&K:56|/p?[Ja͇JUNsǀ-xaT%' s2%+UjeZb0?)I&SH%q'N\h%75Н ۨ ~x {8g9\s 8%p> \EխV|2@ٵ=˷ (/ ot]0o?^]A>8H^x!?FwqySd~UW}Kَm[832C[JYc
-endstream
+778 0 obj
+<< /D [ 729 0 R /XYZ 79.822 122.47 null ] >>
endobj
779 0 obj
-<< /Type /Page /Contents 780 0 R /Resources 778 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 729 0 R /XYZ 79.822 111.511 null ] >>
+endobj
+780 0 obj
+<< /D [ 729 0 R /XYZ 79.822 100.552 null ] >>
endobj
781 0 obj
-<< /D [ 779 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 89.593 null ] >>
endobj
782 0 obj
-<< /D [ 779 0 R /XYZ 79.822 768.829 null ] >>
-endobj
-783 0 obj
-<< /D [ 779 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 78.635 null ] >>
endobj
-784 0 obj
-<< /D [ 779 0 R /XYZ 79.822 746.912 null ] >>
+728 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
785 0 obj
-<< /D [ 779 0 R /XYZ 79.822 735.953 null ] >>
+<< /Filter /FlateDecode /Length 3184 >>
+stream
+x[n$ W2Y\]ziY{d_F/AKv2@*(RۿnǏǏ߅y u^YϤY#7_87s>:<o_ ҬZI1+<* rs-xգ.re\
+*J31<$?{|k^ʛG$c#>
+edy%KϤ#?F_$q*)\:6!~W̅WknveyH=)7.̣<Z@)fYoJZk\!YMV_yY~y=3,rWnc'(y`3L&GXt,4ז3"GM1^ Y0Lx?'/S70Be=5s ~U_TRNn-#Rlv'%'jHM avo:X&O7=e|H*-F#eko=O\$^V6Ԁ/&)~5/A f/B͟PuO\й3f`z˳#ϖkNrYæ uHS' .L@MK][.5O>6A+wq g*ڃ@t"ӋGqb~G^+ϟ@3`m`Dʁ‰6w DQ[lOKM0pƳ{٘>K}o|I޿tfa7);f>[g<{*ǭ@$R}'iKŲ*h[akLQ죵cy:ޓ!R4U!&=O6`"|vJPS19j:hS[-z.y%M}тP5~YfAqPV:L~%gW_:`| րni]Y=,RԨęz$|&:p.K∐tI\11S5>ܦm .fhAy}fJ =+"ȸJ1%2!Dʣޏ(y1p1#MSNKr0 9VDGG+X{uOCɩ%!]*KŶR꯿E~sC`-^wr:Rց7LIlwU* U8ͭ*05 d`V"PA "$AorX~=ĺZ%΋BhA)A|E,V5ժ N JM8rQ:LlN g s8
+^"^٨rgnY}=L NOc/k)u
+aok*ySmr̎mdLmF!;<W0IڭXt0om4m'r;Gڠ3h#H
+>uz}Cj!S3D⽝y+# sZfٍ ^#9(kg#狕; 5Bґ֥R(GYϪ*X/_[1zga /#B+5t5?H &ÁPkAai#U @QS〵L~.e|<"
+^ν 0eʽjnM}'U ,-q4  Y%x:;J56(fg`}хk{Z@)ی25aTgCDĴ)~~@"TI2>9蝈\2^ٮ>mY|;1ʩSL_IN-}bPZO 'Eq֖vx;2C8>F.e#!n~h/[}0
+\ 0ygHKvϜe )Cխ-o/W}/'@a
+endstream
+endobj
+784 0 obj
+<< /Type /Page /Contents 785 0 R /Resources 783 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
786 0 obj
-<< /D [ 779 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 784 0 R /XYZ 78.37 808.885 null ] >>
endobj
787 0 obj
-<< /D [ 779 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 733.96 null ] >>
endobj
788 0 obj
-<< /D [ 779 0 R /XYZ 79.822 664.222 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 723.001 null ] >>
endobj
789 0 obj
-<< /D [ 779 0 R /XYZ 79.822 653.263 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 712.042 null ] >>
endobj
790 0 obj
-<< /D [ 779 0 R /XYZ 79.822 642.304 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 701.083 null ] >>
endobj
791 0 obj
-<< /D [ 779 0 R /XYZ 79.822 631.345 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 690.124 null ] >>
endobj
792 0 obj
-<< /D [ 779 0 R /XYZ 79.822 620.386 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 679.166 null ] >>
endobj
793 0 obj
-<< /D [ 779 0 R /XYZ 79.822 609.427 null ] >>
-endobj
-217 0 obj
-<< /D [ 779 0 R /XYZ 79.37 583.978 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 668.207 null ] >>
endobj
794 0 obj
-<< /D [ 779 0 R /XYZ 79.822 534.244 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 657.248 null ] >>
endobj
795 0 obj
-<< /D [ 779 0 R /XYZ 79.822 523.285 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 646.289 null ] >>
endobj
796 0 obj
-<< /D [ 779 0 R /XYZ 79.822 474.468 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 635.33 null ] >>
+endobj
+213 0 obj
+<< /D [ 784 0 R /XYZ 79.37 609.881 null ] >>
endobj
797 0 obj
-<< /D [ 779 0 R /XYZ 79.822 427.644 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 560.147 null ] >>
endobj
798 0 obj
-<< /D [ 779 0 R /XYZ 79.822 380.819 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 549.188 null ] >>
endobj
799 0 obj
-<< /D [ 779 0 R /XYZ 79.822 345.95 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 500.371 null ] >>
endobj
800 0 obj
-<< /D [ 779 0 R /XYZ 79.822 334.991 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 453.547 null ] >>
endobj
801 0 obj
-<< /D [ 779 0 R /XYZ 79.822 288.167 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 406.722 null ] >>
endobj
802 0 obj
-<< /D [ 779 0 R /XYZ 79.822 259.275 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 371.853 null ] >>
endobj
803 0 obj
-<< /D [ 779 0 R /XYZ 79.822 218.428 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 360.894 null ] >>
endobj
804 0 obj
-<< /D [ 779 0 R /XYZ 79.822 171.604 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 314.07 null ] >>
endobj
805 0 obj
-<< /D [ 779 0 R /XYZ 79.822 112.824 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 285.178 null ] >>
endobj
-778 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R /F65 335 0 R /F30 341 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-808 0 obj
-<< /Filter /FlateDecode /Length 2898 >>
-stream
-x\ˎc7WZ7P( ndݻ`3mEז40^]Ço~
-}0DxOd=d`܈z
-5
-\<G'"ΜO\ޚ~1
-땂
-JZAV*ti3
-Xb=Y6@i8WO .&ֻ# tCnq')˽E2?w<%Ο3}-9ƺ(_"'2 PIGaү0Iژ_Y'Mw܃089S.Pt vCZuN˾u;yc9hzp}7%KR6Tsc4Sr/ ;E$D9ykgڼJ1 m]QǺ
-=2o5,6;3Z}3?ƹlpC0-yd0*<wCPI,qYj@
-:$tH(jmw18c Jff&ð`CyF"ɞilw9js!=`D3d2"ް`^M3DtR>]=TWQPݒsu^nr^V,ܐSŘHd[51)o7sW4얙GAR ^uϝ|[[:ڡQst{+mv Ue"|PJEB\iW Cj~H>YY~S,ϵܳ<p~2<j`%0 L^_']m,ȑcxvcwkEHWSelȦ0]-( &?^+JޚzZm9~#>@TLK16#\okj(P)/CH}B1U<P:M X`qMMn$GW^GU3Crj:UR Z+I1FiO:P1җ3s N G|u pP8!Z8F>姚*hp&ҜdD |C1u-BNxPJQ9JЯ%ƳSpLHM`˥\k(Jy7Sqʄ́= B($ȭ/! U
->L>@eqo&-D^#k?AN߮ ^΋jևu+2H
-t >A繅?@c4ɇU.WʑW316/NYJ%V oT* KW$+2nh",  n\ OgeRK5m ;*ș]Tjܟ{Oo\Oj@0ԤCjiX@~PXk:hصg8h30;
-X I;"! ^
-j%[d'̓|(M\QpdzI"^xYĔQ8Y1"  D݉s!"3?aJ2=g[:#[=&N"G )+"A/aխ@Ϭr,]L;+Дy+_9!3^oOK79d#r@]Yji{E/RQW \?>zo-!L,
-pK3ݩ&=C~44Wگt*]_MiVROFa=)9*޻o4HB
-״vH¤RXZ5+μ4oo@5
-endstream
+806 0 obj
+<< /D [ 784 0 R /XYZ 79.822 220.421 null ] >>
endobj
807 0 obj
-<< /Type /Page /Contents 808 0 R /Resources 806 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 784 0 R /XYZ 79.822 161.641 null ] >>
endobj
-809 0 obj
-<< /D [ 807 0 R /XYZ 78.37 808.885 null ] >>
+808 0 obj
+<< /D [ 784 0 R /XYZ 79.822 102.862 null ] >>
endobj
-810 0 obj
-<< /D [ 807 0 R /XYZ 79.822 730.975 null ] >>
+783 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R /F30 341 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
811 0 obj
-<< /D [ 807 0 R /XYZ 79.822 720.016 null ] >>
+<< /Filter /FlateDecode /Length 2873 >>
+stream
+x\Ɏ#9WJ} \\gNצvÖ(`r:BAQ\)Q?oWaN+>77I\`ʝ[q_o3]i [oGX#U~ \8BXɸW 3i'#UdIWRV9s+30΅Wt* d.}&y11)6{ .dzԓΔ64hV!Q]u5`8P fϢ?b:0mK?=?Wl=
+#0kTY0yWf\YkTH/cvqXPꭺBG&Sp۝:ޖZ4$,T
+U8\73vnu[mXTVhC5.*d{[TT幖* d4V!y9C%a"ԥ~dZp2Kb< p̱xfMw.&ZՋ)a[D9I1" ?^) ƨӊP6PnR&8>d\-%2"yjsݑyy|B56ew @DN)10 X2yF\ZSI;I о8֕qWڌj8K'@1>'}[h\](
+endstream
+endobj
+810 0 obj
+<< /Type /Page /Contents 811 0 R /Resources 809 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
812 0 obj
-<< /D [ 807 0 R /XYZ 79.822 673.207 null ] >>
+<< /D [ 810 0 R /XYZ 78.37 808.885 null ] >>
endobj
813 0 obj
-<< /D [ 807 0 R /XYZ 79.822 638.352 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 742.926 null ] >>
endobj
814 0 obj
-<< /D [ 807 0 R /XYZ 79.822 567.632 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 684.147 null ] >>
endobj
815 0 obj
-<< /D [ 807 0 R /XYZ 79.822 520.823 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 673.188 null ] >>
endobj
816 0 obj
-<< /D [ 807 0 R /XYZ 79.822 509.864 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 662.229 null ] >>
endobj
817 0 obj
-<< /D [ 807 0 R /XYZ 79.822 475.01 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 615.405 null ] >>
endobj
818 0 obj
-<< /D [ 807 0 R /XYZ 79.822 428.2 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 544.67 null ] >>
endobj
819 0 obj
-<< /D [ 807 0 R /XYZ 79.822 381.391 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 497.846 null ] >>
endobj
820 0 obj
-<< /D [ 807 0 R /XYZ 79.822 370.432 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 486.887 null ] >>
endobj
821 0 obj
-<< /D [ 807 0 R /XYZ 79.822 335.578 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 452.017 null ] >>
endobj
822 0 obj
-<< /D [ 807 0 R /XYZ 79.822 300.723 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 405.193 null ] >>
endobj
823 0 obj
-<< /D [ 807 0 R /XYZ 79.822 289.764 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 358.369 null ] >>
endobj
824 0 obj
-<< /D [ 807 0 R /XYZ 79.822 254.91 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 347.41 null ] >>
endobj
825 0 obj
-<< /D [ 807 0 R /XYZ 79.822 243.951 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 312.54 null ] >>
endobj
826 0 obj
-<< /D [ 807 0 R /XYZ 79.822 197.142 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 277.671 null ] >>
endobj
827 0 obj
-<< /D [ 807 0 R /XYZ 79.822 186.183 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 266.712 null ] >>
endobj
828 0 obj
-<< /D [ 807 0 R /XYZ 79.822 151.328 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 231.843 null ] >>
endobj
829 0 obj
-<< /D [ 807 0 R /XYZ 79.822 140.369 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 220.884 null ] >>
endobj
830 0 obj
-<< /D [ 807 0 R /XYZ 79.822 105.515 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 174.06 null ] >>
endobj
-806 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-833 0 obj
-<< /Filter /FlateDecode /Length 3199 >>
-stream
-x9$џW" h40Jn&YȨ*&"s7y|*s "Xxț% JHnw׋oR/T~@>qƑw@rs]V}9$Dn!
-J ch%>+e\@Rs &y= }D<1OcY'f D0[c{fcd;ޫ0
-cq&}u&yU\4C3llkP I+|p"$
-p0%m%l$`K~(&Fx8(}WS|(4,T?ZM h߷0HaAnX+&P1D6d'jHU]Z`SqaL&δj,g,[$+P/8ĖG@~cpFϺ)lω īMë
-w)8c<Tj(*ۗeԵf+RejC7t7L؆x sgd so]޴Q =ϯ&TmvMk# z9ŪNiu՟< x* 6fBz\Q
- 
-@eeG^Xa2*jy-2tءG3mෲad<.JOq3)-N 1ZAWfT%bdsU=96}\,eP>48V%7 m\)J
-ډ3j|-Not^(
-bQ!j1*k. I@)j܌Wx%@xA6oCl7DZLwWNrQ9Ӏ/UB+V; ݊?ku>݁tͿ6\Y*^"3ˑqRZ5n%9nRP9cQq([jq!. ;sSCV\֨APSKV--}u2-co|M#â]:f̉hsKJNo(`Ix~f~T wPXB-gwK}BYidFz4sZq&{1;mZt um xo.ryzfՎRw zнw'T
-m6:dL/JODZYfx#|6^ZQڑGN^ @}£HlFh`ċ/>1P㘡:C #TNm׻`!5-l o5$땼JMw.dGW%=p\Ԕ.¿QE,塋ȳFh뎋IW" ˤJ&ŀLjt%_91OB{|Ar?rޱ_vRT)֒)l͡> ?R5ۑS'*&1(`/)h.8zBHX3+qk9Mhk]TijA!,l+ st\KH|,oϫ͊Y/LR*Ȃ*f(_@/yƀ<ǭu@
-endstream
+831 0 obj
+<< /D [ 810 0 R /XYZ 79.822 163.101 null ] >>
endobj
832 0 obj
-<< /Type /Page /Contents 833 0 R /Resources 831 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 810 0 R /XYZ 79.822 128.232 null ] >>
endobj
-834 0 obj
-<< /D [ 832 0 R /XYZ 78.37 808.885 null ] >>
+833 0 obj
+<< /D [ 810 0 R /XYZ 79.822 117.273 null ] >>
endobj
-835 0 obj
-<< /D [ 832 0 R /XYZ 79.822 650.274 null ] >>
+834 0 obj
+<< /D [ 810 0 R /XYZ 79.822 82.403 null ] >>
endobj
-836 0 obj
-<< /D [ 832 0 R /XYZ 79.822 577.547 null ] >>
+809 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
837 0 obj
-<< /D [ 832 0 R /XYZ 79.822 542.677 null ] >>
+<< /Filter /FlateDecode /Length 3468 >>
+stream
+x\n% WZ(]moz?nA$㈤X__voB84h|o^bh/Wε\~}4+9zn?4G[z
+ӈouge~<ʀv K7Sbm뗐f93< Adɿ7eF(= 4 Q ퟿N6ȸN;J&\]LVd Hȴ50 l_W͑hTB2!Ħ ('BbP0+l7&PVQDWOi6??c$.L(d r$Ltyi#ݑ\AgIL&EeEQ^qo*Ώvg"|@*ʏ.W紘ҚGcVK)_3bIbֈWS`~>[OSܚ
+HL`YiV.ȧ q_d _j!dX_kȠxDw) $!
+xS9?˨ є0)F$)q =ny R<晈#NN %8vHDpZaBgh@twV$S3LR8{h?ϣNQlHyZͤ翺oɥGMVUC>6XA$C`
+GJ=mjiOgA<6d#GZ4Hj5 E"PWّ.j )ivs0FM1
+F59SpE(6 sVHh)X
+--=LЫSEBE1"XbCn"h:#`M'xyRƫ@}Ǻ$هś%Z\Ϝk5юӚuS Z\#.U\.ucS.Rjʹ#!vTB HS~XtN3fr
+5Z\(U4gWȈ',]fm ^K(FT1H%WhJnOj8Gj *fߝAbꊔ*z5lgn:8z\0Rd
+PwBsB/\ÐCKյm׶vqm
+ Z'*ŴqyXv$AFvŔd\0j]PvƸtq%DѧrqX-]QIO+r(IMSդ3v-x.T@8;)f!fPK
+
+. KX=U0=~ @INc S2Rq0wEF9r_/߇^IZ&8|u@?zd)^S[vMa9Caؗf|JO"{I-,-.kOvI]'A^U#.Fn m6di5*||oPLJ'W;?#Wl<
+A"o5F?/gTxo/:+FJJJ߶'D!*\;2
+[*y8tȶ@0~V>qvurZ9Lp)U]\Sʉ~vp2S|բƸ!cWb1hj/+&چ jRܲ:Np
+endstream
+endobj
+836 0 obj
+<< /Type /Page /Contents 837 0 R /Resources 835 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
838 0 obj
-<< /D [ 832 0 R /XYZ 79.822 459.987 null ] >>
+<< /D [ 836 0 R /XYZ 78.37 808.885 null ] >>
endobj
839 0 obj
-<< /D [ 832 0 R /XYZ 79.822 425.118 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 632.395 null ] >>
endobj
840 0 obj
-<< /D [ 832 0 R /XYZ 79.822 390.249 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 560.521 null ] >>
endobj
841 0 obj
-<< /D [ 832 0 R /XYZ 79.822 355.38 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 526.334 null ] >>
endobj
842 0 obj
-<< /D [ 832 0 R /XYZ 79.822 344.421 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 444.326 null ] >>
endobj
843 0 obj
-<< /D [ 832 0 R /XYZ 79.822 309.552 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 410.139 null ] >>
endobj
844 0 obj
-<< /D [ 832 0 R /XYZ 79.822 238.817 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 375.952 null ] >>
endobj
845 0 obj
-<< /D [ 832 0 R /XYZ 79.822 213.91 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 341.765 null ] >>
endobj
846 0 obj
-<< /D [ 832 0 R /XYZ 79.822 202.951 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 330.806 null ] >>
endobj
847 0 obj
-<< /D [ 832 0 R /XYZ 79.822 191.992 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 260.753 null ] >>
endobj
848 0 obj
-<< /D [ 832 0 R /XYZ 79.822 181.034 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 236.699 null ] >>
endobj
849 0 obj
-<< /D [ 832 0 R /XYZ 79.822 170.075 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 225.741 null ] >>
endobj
850 0 obj
-<< /D [ 832 0 R /XYZ 79.822 159.116 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 210.141 null ] >>
endobj
851 0 obj
-<< /D [ 832 0 R /XYZ 79.822 148.157 null ] >>
-endobj
-831 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 836 0 R /XYZ 79.822 199.183 null ] >>
endobj
-854 0 obj
-<< /Filter /FlateDecode /Length 2254 >>
-stream
-xZr#W!wUhKe _lIٙ,dKM<x
-=|su{$WǫxEW/9k^z#c<B@Ä6N55 7P/c *]周i󬆷Yv"I?w?{+AʝCe\PwIBY^z{_|)&}W_s +J-ʳMKF[6Z8vř:&><" yyf/HRUWWg9_NHw+5ڡ*:N-Eݝ`5#]/[Q!-h?F{X U( ѠQrh0-1J S\Ipˤ*̶B2PT sM aՖFOd
-VP%0זe:]H8n!o7h}5JI.x/yca"06 &(
-kETUkFUc*ic"~zyu!Cu}i`Fh& _O5qJV/YJU7{PxIrVKj}6VG*esvs7c؜N=E궫ih\mW#B(GwC)Zkl
- uvW
-
-+xR^!!3Å!\^fay9S\P=gMN(l
-iW%p`
-*8|%/#LL^?(:S9ŸdṔ[jKGmg2nR/Kka<+c|=/ul֨Nʎo[/Hzx,g*z-$ ՛tjf0L
-gϝ/)L7mo[Tg ϗ>O޸r\05)rA~'Zƌg-VǟHIfB15qŞnMzQJMrǴj%+`Fփ%F=%Scܫ!9e'ƄGQ- Բq/f
-TP)Lx`Wrd\A:J
-endstream
+852 0 obj
+<< /D [ 836 0 R /XYZ 79.822 188.224 null ] >>
endobj
853 0 obj
-<< /Type /Page /Contents 854 0 R /Resources 852 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 836 0 R /XYZ 79.822 177.265 null ] >>
+endobj
+854 0 obj
+<< /D [ 836 0 R /XYZ 79.822 166.306 null ] >>
endobj
855 0 obj
-<< /D [ 853 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 155.347 null ] >>
endobj
856 0 obj
-<< /D [ 853 0 R /XYZ 79.822 742.926 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 144.388 null ] >>
endobj
857 0 obj
-<< /D [ 853 0 R /XYZ 79.822 731.968 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 133.429 null ] >>
endobj
858 0 obj
-<< /D [ 853 0 R /XYZ 79.822 721.009 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 122.47 null ] >>
endobj
859 0 obj
-<< /D [ 853 0 R /XYZ 79.822 710.05 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 111.511 null ] >>
endobj
860 0 obj
-<< /D [ 853 0 R /XYZ 79.822 699.091 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 100.552 null ] >>
endobj
861 0 obj
-<< /D [ 853 0 R /XYZ 79.822 688.132 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 89.593 null ] >>
endobj
862 0 obj
-<< /D [ 853 0 R /XYZ 79.822 677.173 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 78.635 null ] >>
endobj
-863 0 obj
-<< /D [ 853 0 R /XYZ 79.822 666.214 null ] >>
-endobj
-864 0 obj
-<< /D [ 853 0 R /XYZ 79.822 655.255 null ] >>
+835 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
865 0 obj
-<< /D [ 853 0 R /XYZ 79.822 644.296 null ] >>
+<< /Filter /FlateDecode /Length 2836 >>
+stream
+x[Ɏ#9WJ-Qk
+~_q㏛Зmo؍I{F0n.z8_s-8W.}x[g\t%=a@'M ǧh>h3zp 7pX o~*&y⭚-anX|L^O>KQr@]řvQlsBBKiN_ ,-|?nN]gH,Q"W$SƧ]z
+Dsdj|%sm1<wjg((UV̞pëha0v56ys.>''ns8:*TMMH`jL''pnfS }!5r`/\kD@
+52(efTN8q6qŠ]bvu-1XKa]wx:Y WF7!#".&~]wOc,sz4ݏ%Dw^"aMԒ} aEJ2 \ *A?\+Q6<~U**VN1d63K\f=s'eBL9Nƿ=)ܝXegjMQA{p<(M&|@{wg=P'&u0^JY{e6`!)۵2bwۀӺXt,xwC#= Jw43;3~xJ0$Ly6IO%EFa&ak'"$
+U
+;ӕ"
+0Qvge7e^/
+dI@ P*OFJ7JoYKFfu6-=)'IuTRoS2J&{@L*<w}?BpR+T(l7w/EI1e]YJ9d?kL vGWe'Y#hA ,tRiObV~,;%/<oP\Fo!TN4 oY*Љ{ k5Jڡ1Ri^I@T+ۓ;Rju#8A%t'biY(ZӖ:<ʻ@J5O$wW3Z<-SY%YP[LCU O"ȞJ/|{߃Y 1e,ŘSy 'XK{"O05\P.΂ g"u'L(< APY8Ʉ=#EC~ennupD yV$TN@ii3 -MSh.gF"mJrz/<l>z7M5 'Prr_ /P1]B1YXtܛe4 OF҇QV(u[l0Q7hǿ<9k(ū}-^HU [+j4mQh(- o?P%Zw|:tM^9E@ 늣^anWIظ+2ڃ
+*?rldcN/J*ת9`9<rh:0t8JtS8N7ŬÓ>7yD61 GRH5dz؊mu]Ewl wT\䎛kt Ud.ncRoZ
+4
+^Pu{"-Kd {;ƻBo>E}nsģ0!i Ҭ9`_)f@#=&>_Aʧ8攦`|~Üz>+=ݡ,m㉈43$X}_>ߍM5[|Ky3EYI"?nAy {6H؅hV6!GSo:|cL>vxwxm3
+s}$킘s6AM~7k͸TsJ %
+)=Fl]xU{xj 9`1n-˾ϛs52}L%-媣heFN%O)h cbť(6
+K-ՕY1-=bQQS:zfڙ9,,Ӵ-|o^f5jۘO
+W7I^蝴eځN=I˙3n`4^35FRn#3z6atď}7
+endstream
+endobj
+864 0 obj
+<< /Type /Page /Contents 865 0 R /Resources 863 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
866 0 obj
-<< /D [ 853 0 R /XYZ 79.822 609.427 null ] >>
+<< /D [ 864 0 R /XYZ 78.37 808.885 null ] >>
endobj
867 0 obj
-<< /D [ 853 0 R /XYZ 79.822 574.558 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 755.041 null ] >>
endobj
868 0 obj
-<< /D [ 853 0 R /XYZ 79.822 563.599 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 720.811 null ] >>
endobj
869 0 obj
-<< /D [ 853 0 R /XYZ 79.822 528.73 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 709.852 null ] >>
endobj
870 0 obj
-<< /D [ 853 0 R /XYZ 79.822 503.823 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 675.622 null ] >>
endobj
871 0 obj
-<< /D [ 853 0 R /XYZ 79.822 492.864 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 651.515 null ] >>
endobj
872 0 obj
-<< /D [ 853 0 R /XYZ 79.822 420.137 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 640.556 null ] >>
endobj
873 0 obj
-<< /D [ 853 0 R /XYZ 79.822 409.178 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 568.627 null ] >>
endobj
874 0 obj
-<< /D [ 853 0 R /XYZ 79.822 398.219 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 557.668 null ] >>
endobj
875 0 obj
-<< /D [ 853 0 R /XYZ 79.822 387.26 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 546.709 null ] >>
endobj
876 0 obj
-<< /D [ 853 0 R /XYZ 79.822 376.301 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 535.751 null ] >>
endobj
877 0 obj
-<< /D [ 853 0 R /XYZ 79.822 335.454 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 524.792 null ] >>
endobj
878 0 obj
-<< /D [ 853 0 R /XYZ 79.822 324.496 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 484.904 null ] >>
endobj
879 0 obj
-<< /D [ 853 0 R /XYZ 79.822 313.537 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 473.945 null ] >>
endobj
880 0 obj
-<< /D [ 853 0 R /XYZ 79.822 302.578 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 462.986 null ] >>
endobj
881 0 obj
-<< /D [ 853 0 R /XYZ 79.822 291.619 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 452.027 null ] >>
endobj
882 0 obj
-<< /D [ 853 0 R /XYZ 79.822 280.66 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 441.068 null ] >>
endobj
883 0 obj
-<< /D [ 853 0 R /XYZ 79.822 269.701 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 430.109 null ] >>
endobj
884 0 obj
-<< /D [ 853 0 R /XYZ 79.822 258.742 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 419.15 null ] >>
endobj
885 0 obj
-<< /D [ 853 0 R /XYZ 79.822 247.783 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 408.191 null ] >>
endobj
886 0 obj
-<< /D [ 853 0 R /XYZ 79.822 206.936 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 397.232 null ] >>
endobj
887 0 obj
-<< /D [ 853 0 R /XYZ 79.822 195.978 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 356.705 null ] >>
endobj
888 0 obj
-<< /D [ 853 0 R /XYZ 79.822 185.019 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 345.746 null ] >>
endobj
889 0 obj
-<< /D [ 853 0 R /XYZ 79.822 174.06 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 334.787 null ] >>
endobj
890 0 obj
-<< /D [ 853 0 R /XYZ 79.822 163.101 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 323.828 null ] >>
endobj
891 0 obj
-<< /D [ 853 0 R /XYZ 79.822 152.142 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 312.869 null ] >>
endobj
892 0 obj
-<< /D [ 853 0 R /XYZ 79.822 141.183 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 301.91 null ] >>
endobj
893 0 obj
-<< /D [ 853 0 R /XYZ 79.822 130.224 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 290.952 null ] >>
endobj
-852 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-896 0 obj
-<< /Filter /FlateDecode /Length 2975 >>
-stream
-xrܺ04PRIzU959Xg;9`FyMvoނhn?Mn.nn?sNjԟ1NJ4\Vzkiw^W˥(+ V,43iK1Đ@үUa~? ̎
-\lgZ%+rr~w6]uyeIf3l<o*N]8
-a7IMO2i|67P6GEr q@zrVI\EA9<r(pUn ]mIOMM4lb覐L@5BN%o9C2:Y1)Ј c͈0ފnN)[KJ4#uQENH$6B!fZn@AIvm֔ Y+C~d?u$*B eJ)ќh/QuAU=xK;wiYxoݪ~Oݲj
-Yꝶ!9(udf']^v4Xa3iu5e}}8FQ
- =:
-S\WLL\{KNt?Kyv_h '9cL_ " ,Wy'@@_vlIS[.k0./̬dpS7|Q Ckl9MYDGY^oªw}1Q3Tǐ (VS1]mVH؛㗝KhBk/eƳhˌbբ –uƕ Z'xTrE"nU^?Bf..[
-ufpJ%reC
-A?d6xS1=c5ߔ6q&亹wf'z(;D+ %YoDT~iOˀ@Ad<m񠣧KTȖ V-*~S{e"
-0Xb"V듙Yùc:}dAw(cuIh(^Gp@ZbƐTZPMl+S&fpff֟Jü,Cl5…`g{h[ r\XJJ᫡!ۓ5oXd8$aE;CzZ
-s]>Dc}]-9^õ` V,-}h\CS{c_iGy\dg 15;B+tPрtpJ: p(r {94
-g:g:bz(&(fa!9
-C8(mȀ,N-d:)4qk [rFH"(SV8AYO+gd:CuD/ aQ{Maf(_@ÂA/hK6Ai> ˍRf
-B-z7qg5}h2B1 )0E4$xٌxf ^+2 /(!14oj|P$;hW)^hʓ8rUjA?TR3y
-$B"
-/JeE1/ư
-n
-~^Kk`@I
-R
-jgQS!]F_:?i1MOs:0H
-2chl i [eՋ4ZKZ*C/}"q݄ 屳Jmg`nJ юyE%){!ғkD_AH셀a(1QȐy?{Ҕ>$GjgdL>\T{-ۡIi-ID-6+K҉e #\CLcfՖ)ۋK{>bIyo7cpkbkMԧ2DItrmJsgQ)= ᪑›g4z ]gg.; XLz[K[w=V=BY7f #uVl4F!BԋGSݧ^=>A)QiwPJsT汄 eF5#!s?a0ƺBYÉp6w%"PN!WQE5}@]] RF As RAE/
- 쥂rjRI%01#˃Uz~uGbeu*Xe(Q6LX7 #/W hmsp46O^7=ap8*03MuAA8}c`^#
-cdTy'$
-S"^ {mk uIY+JƱN@rng$a__fxh0OvgN*1fi`|~<3>= =g|rlw47x@18sZŻ&-bv\ȍ m&?
-endstream
+894 0 obj
+<< /D [ 864 0 R /XYZ 79.822 279.993 null ] >>
endobj
895 0 obj
-<< /Type /Page /Contents 896 0 R /Resources 894 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 864 0 R /XYZ 79.822 204.239 null ] >>
+endobj
+896 0 obj
+<< /D [ 864 0 R /XYZ 79.822 193.28 null ] >>
endobj
897 0 obj
-<< /D [ 895 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 153.392 null ] >>
endobj
898 0 obj
-<< /D [ 895 0 R /XYZ 79.822 719.071 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 142.433 null ] >>
endobj
899 0 obj
-<< /D [ 895 0 R /XYZ 79.822 708.112 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 78.635 null ] >>
endobj
-900 0 obj
-<< /D [ 895 0 R /XYZ 79.822 667.591 null ] >>
-endobj
-901 0 obj
-<< /D [ 895 0 R /XYZ 79.822 656.632 null ] >>
+863 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
902 0 obj
-<< /D [ 895 0 R /XYZ 79.822 592.201 null ] >>
+<< /Filter /FlateDecode /Length 2620 >>
+stream
+x[Ɏ# SZ#Q;`4 &5ZH-]ӶJEQ\ďGs~\~){":p*='uQhN 뿧=*)|VQ)/)%=MMpͳLbQz4WDMoQ`vC+
+%IJq\%yA@#2ڵD
+)un~ֶ!C0."\f nX>2;
+Gϑ]{p* <倔F9>S)&@TC`rAb(ͨ`*!6&i@-Ir}ldD~y&:nİ0ԣX9 K\H7:@."zD=O8$;.x] Dֵo_p@R8L8q*,Ut鰾 G<, 1=b+Qn̍q,#y,جOCc >^{G>gEekhS"SҲ.Z]]ڝ*fm{+" 8 .?Wi)7:UP#cH:_=K*k뎅Xk9ֈdGDy̸&IՆ&e&>We
+weJO+UqY#NFGg) CepTdt4"{i$;7S=悪nxRc7ƲQkݔE5賓GR[3mQ7=d<]u3l6P
+
+ndaԎV)Tk["REps.d0*Ǒzn
+T@F#JZ.i74ucnghԜ91*n-ov0/vZ8zMo꼃WY^Hգy,:SYM$r3M
+ư2*/$<caÆY/Z(V? Ǔ-0*Hq
+W1_~SNY@+ZP G1BxWr?F#]z9U
+J-=U{2qvW#*L7ocT#A._鵶H!{n<'B.be<:#BX2E^P1frʺZo@ o΀_ri_
+^ֆ ڂ`F{%h(
+5;~t:6u2* C=y9iuk8XbTsk/nkŋ:xQY8Z3‹ Fwd45WoѦlJZtBFLK1ukxeG L0:c5_p9s#c3?.2 [w2RDfh?E
+endstream
+endobj
+901 0 obj
+<< /Type /Page /Contents 902 0 R /Resources 900 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
903 0 obj
-<< /D [ 895 0 R /XYZ 79.822 536.574 null ] >>
+<< /D [ 901 0 R /XYZ 78.37 808.885 null ] >>
endobj
904 0 obj
-<< /D [ 895 0 R /XYZ 79.822 525.615 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 730.971 null ] >>
endobj
905 0 obj
-<< /D [ 895 0 R /XYZ 79.822 514.656 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 720.012 null ] >>
endobj
906 0 obj
-<< /D [ 895 0 R /XYZ 79.822 503.697 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 709.053 null ] >>
endobj
907 0 obj
-<< /D [ 895 0 R /XYZ 79.822 492.738 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 698.095 null ] >>
endobj
908 0 obj
-<< /D [ 895 0 R /XYZ 79.822 481.779 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 687.136 null ] >>
endobj
909 0 obj
-<< /D [ 895 0 R /XYZ 79.822 470.82 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 676.177 null ] >>
endobj
910 0 obj
-<< /D [ 895 0 R /XYZ 79.822 459.861 null ] >>
-endobj
-221 0 obj
-<< /D [ 895 0 R /XYZ 79.37 422.769 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 665.218 null ] >>
endobj
911 0 obj
-<< /D [ 895 0 R /XYZ 79.822 387.037 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 654.259 null ] >>
+endobj
+217 0 obj
+<< /D [ 901 0 R /XYZ 79.37 616.847 null ] >>
endobj
912 0 obj
-<< /D [ 895 0 R /XYZ 79.822 376.078 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 581.061 null ] >>
endobj
913 0 obj
-<< /D [ 895 0 R /XYZ 79.822 365.119 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 570.102 null ] >>
endobj
914 0 obj
-<< /D [ 895 0 R /XYZ 79.822 354.16 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 559.143 null ] >>
endobj
915 0 obj
-<< /D [ 895 0 R /XYZ 79.822 343.201 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 548.184 null ] >>
endobj
916 0 obj
-<< /D [ 895 0 R /XYZ 79.822 332.242 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 537.225 null ] >>
endobj
917 0 obj
-<< /D [ 895 0 R /XYZ 79.822 321.283 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 526.266 null ] >>
endobj
918 0 obj
-<< /D [ 895 0 R /XYZ 79.822 310.324 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 515.308 null ] >>
endobj
919 0 obj
-<< /D [ 895 0 R /XYZ 79.822 299.365 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 504.349 null ] >>
endobj
920 0 obj
-<< /D [ 895 0 R /XYZ 79.822 234.717 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 493.39 null ] >>
endobj
921 0 obj
-<< /D [ 895 0 R /XYZ 79.822 223.758 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 428.633 null ] >>
endobj
922 0 obj
-<< /D [ 895 0 R /XYZ 79.822 212.799 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 417.674 null ] >>
endobj
923 0 obj
-<< /D [ 895 0 R /XYZ 79.822 201.84 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 406.715 null ] >>
endobj
924 0 obj
-<< /D [ 895 0 R /XYZ 79.822 190.881 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 395.756 null ] >>
endobj
925 0 obj
-<< /D [ 895 0 R /XYZ 79.822 179.923 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 384.797 null ] >>
endobj
926 0 obj
-<< /D [ 895 0 R /XYZ 79.822 168.964 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 373.838 null ] >>
endobj
927 0 obj
-<< /D [ 895 0 R /XYZ 79.822 158.005 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 362.879 null ] >>
endobj
928 0 obj
-<< /D [ 895 0 R /XYZ 79.822 147.046 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 351.92 null ] >>
endobj
929 0 obj
-<< /D [ 895 0 R /XYZ 79.822 136.087 null ] >>
-endobj
-894 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 901 0 R /XYZ 79.822 340.961 null ] >>
endobj
-932 0 obj
-<< /Filter /FlateDecode /Length 2177 >>
-stream
-x[n#;+Hq|Ynp3]eJNUVQIR<$OHϗWO$SzQ<>Y4?Jiᢷ?EWG''1zoA \wu[j__.%tyAWd6Al;{EwwpZ:~J/~ 8
-m1 EŠ51V[5R<=pBzC=4?3d(<x)fc!*+
-<GdnAQe{hHBڈC{rXB[3 kD٧{F0M@-3B
-BbcHn˃l/0QdMmT_re+RiqK#[&V]:dIqVylDnV0l`Bb5Ԛ;9qº!B\G;SkIcV8@.jP"C){5pIʺe=۽ h֯)krSiΜSh*"SnPלm1{T7C>R9<TYXyV5A)Ll+VkiTh5hE%egϺ.unn<{CyZϻJ"oDH'%-%1`ED}
-Vtj@Sz3" )A&odI(LM e8Ҽ\R+n2Ev!1'A\UVfQ
-zG^_kD
-rR83y*-P
-y`6O7e :*m7>R
-:27xSd1 }8\m##66
-vPgeH\IE` v _OXF1F񤃽dV:ťf(Q{\^z{_0hCyB; Ho}r\s!M
-] e_K>n\aGn3'9`sxiN$cݑ)_u0.do!AAu_J!<͉d㛀x?~_^
-endstream
+930 0 obj
+<< /D [ 901 0 R /XYZ 79.822 330.002 null ] >>
endobj
931 0 obj
-<< /Type /Page /Contents 932 0 R /Resources 930 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 901 0 R /XYZ 79.822 263.253 null ] >>
+endobj
+932 0 obj
+<< /D [ 901 0 R /XYZ 79.822 252.294 null ] >>
endobj
933 0 obj
-<< /D [ 931 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 241.335 null ] >>
endobj
934 0 obj
-<< /D [ 931 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 230.376 null ] >>
endobj
935 0 obj
-<< /D [ 931 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 219.417 null ] >>
endobj
936 0 obj
-<< /D [ 931 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 158.645 null ] >>
endobj
937 0 obj
-<< /D [ 931 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 147.686 null ] >>
endobj
938 0 obj
-<< /D [ 931 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 136.727 null ] >>
endobj
939 0 obj
-<< /D [ 931 0 R /XYZ 79.822 664.222 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 125.768 null ] >>
endobj
940 0 obj
-<< /D [ 931 0 R /XYZ 79.822 653.263 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 114.809 null ] >>
endobj
941 0 obj
-<< /D [ 931 0 R /XYZ 79.822 642.304 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 103.851 null ] >>
endobj
942 0 obj
-<< /D [ 931 0 R /XYZ 79.822 631.345 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 92.892 null ] >>
endobj
943 0 obj
-<< /D [ 931 0 R /XYZ 79.822 620.386 null ] >>
-endobj
-944 0 obj
-<< /D [ 931 0 R /XYZ 79.822 609.427 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 81.933 null ] >>
endobj
-945 0 obj
-<< /D [ 931 0 R /XYZ 79.822 598.468 null ] >>
+900 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
946 0 obj
-<< /D [ 931 0 R /XYZ 79.822 587.509 null ] >>
+<< /Filter /FlateDecode /Length 2441 >>
+stream
+x[r6 +C{U=U9596ٶ'9 [Vuᗟx|^_(材pyAE\f׿/?rnpp<?/4_8捑%"fJ"ϟi宼rScZs&8Pc (W/>FoYϤ0aa ~ppnT`&LU xEgI@gz^Ӣ܎Tfz7`|^z}SQQꖟZ!7d(,xɃG& וeets( R*h#ȢJ˂Y#~eEӓ>UA<I; fq=0lZV
+zQyt:ԃjf%C9
+x,(ee6@Vz*j@ ɗKH|"$MR{JSfVz*w(p l<SI>a[{?!$ ӘW"PH)7sO"Qr<
+/JnUJЖ2OZqO]Jʕue<vjǪ)Ry*[Z*Ɇz[r4ydumGus P bymNBdAXvmū7T,}h!&
+))$FB6`slڏ#jcdӼۏvCtQJnZoƤ*Fc ,f=qBktf%XؘKPig *D.mV.Hr\C\q,G:f0yM=QD(â0f \D1jCQT>#q6<KmiV[`mi?4mtǟawhJͶYߣѮ :Y3D7te$s*"Bt07XlU>X2sKSMJPY<g^ecKzۙ3%k\ŹU&T o}
+YۑH8JsdI g{dR/r_JhJA~@L5E?/%JOy.$d- B@ ^:oyp1<Vmt_u{
+GwN-Ixs 48Is q ̻w-<ǮΩ6U+Ƶu6uh ͑hpf/`R
+endstream
+endobj
+945 0 obj
+<< /Type /Page /Contents 946 0 R /Resources 944 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
947 0 obj
-<< /D [ 931 0 R /XYZ 79.822 576.55 null ] >>
+<< /D [ 945 0 R /XYZ 78.37 808.885 null ] >>
endobj
948 0 obj
-<< /D [ 931 0 R /XYZ 79.822 565.591 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 768.829 null ] >>
endobj
949 0 obj
-<< /D [ 931 0 R /XYZ 79.822 536.7 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 757.87 null ] >>
endobj
950 0 obj
-<< /D [ 931 0 R /XYZ 79.822 525.741 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 729.015 null ] >>
endobj
951 0 obj
-<< /D [ 931 0 R /XYZ 79.822 514.782 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 718.056 null ] >>
endobj
952 0 obj
-<< /D [ 931 0 R /XYZ 79.822 503.823 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 707.097 null ] >>
endobj
953 0 obj
-<< /D [ 931 0 R /XYZ 79.822 492.864 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 696.138 null ] >>
endobj
954 0 obj
-<< /D [ 931 0 R /XYZ 79.822 481.905 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 685.179 null ] >>
endobj
955 0 obj
-<< /D [ 931 0 R /XYZ 79.822 470.946 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 674.22 null ] >>
endobj
956 0 obj
-<< /D [ 931 0 R /XYZ 79.822 459.987 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 663.261 null ] >>
endobj
957 0 obj
-<< /D [ 931 0 R /XYZ 79.822 449.029 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 652.302 null ] >>
endobj
958 0 obj
-<< /D [ 931 0 R /XYZ 79.822 438.07 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 641.344 null ] >>
endobj
959 0 obj
-<< /D [ 931 0 R /XYZ 79.822 427.111 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 630.385 null ] >>
endobj
960 0 obj
-<< /D [ 931 0 R /XYZ 79.822 416.152 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 619.426 null ] >>
endobj
961 0 obj
-<< /D [ 931 0 R /XYZ 79.822 405.193 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 608.467 null ] >>
endobj
962 0 obj
-<< /D [ 931 0 R /XYZ 79.822 394.234 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 597.508 null ] >>
endobj
963 0 obj
-<< /D [ 931 0 R /XYZ 79.822 383.275 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 586.549 null ] >>
endobj
964 0 obj
-<< /D [ 931 0 R /XYZ 79.822 372.316 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 575.59 null ] >>
endobj
965 0 obj
-<< /D [ 931 0 R /XYZ 79.822 361.357 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 564.631 null ] >>
endobj
966 0 obj
-<< /D [ 931 0 R /XYZ 79.822 350.398 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 553.672 null ] >>
endobj
967 0 obj
-<< /D [ 931 0 R /XYZ 79.822 339.44 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 542.713 null ] >>
endobj
968 0 obj
-<< /D [ 931 0 R /XYZ 79.822 328.481 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 531.755 null ] >>
endobj
969 0 obj
-<< /D [ 931 0 R /XYZ 79.822 299.589 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 520.796 null ] >>
endobj
970 0 obj
-<< /D [ 931 0 R /XYZ 79.822 288.63 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 491.94 null ] >>
endobj
971 0 obj
-<< /D [ 931 0 R /XYZ 79.822 259.738 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 480.981 null ] >>
endobj
972 0 obj
-<< /D [ 931 0 R /XYZ 79.822 248.78 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 452.125 null ] >>
endobj
973 0 obj
-<< /D [ 931 0 R /XYZ 79.822 237.821 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 441.167 null ] >>
endobj
974 0 obj
-<< /D [ 931 0 R /XYZ 79.822 226.862 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 430.208 null ] >>
endobj
975 0 obj
-<< /D [ 931 0 R /XYZ 79.822 215.903 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 419.249 null ] >>
endobj
976 0 obj
-<< /D [ 931 0 R /XYZ 79.822 204.944 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 408.29 null ] >>
endobj
977 0 obj
-<< /D [ 931 0 R /XYZ 79.822 193.985 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 397.331 null ] >>
endobj
978 0 obj
-<< /D [ 931 0 R /XYZ 79.822 183.026 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 386.372 null ] >>
endobj
979 0 obj
-<< /D [ 931 0 R /XYZ 79.822 172.067 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 375.413 null ] >>
endobj
980 0 obj
-<< /D [ 931 0 R /XYZ 79.822 161.108 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 364.454 null ] >>
endobj
981 0 obj
-<< /D [ 931 0 R /XYZ 79.822 150.149 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 353.495 null ] >>
endobj
982 0 obj
-<< /D [ 931 0 R /XYZ 79.822 139.19 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 342.536 null ] >>
endobj
983 0 obj
-<< /D [ 931 0 R /XYZ 79.822 128.232 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 331.578 null ] >>
endobj
984 0 obj
-<< /D [ 931 0 R /XYZ 79.822 117.273 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 320.619 null ] >>
endobj
985 0 obj
-<< /D [ 931 0 R /XYZ 79.822 106.314 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 309.66 null ] >>
endobj
986 0 obj
-<< /D [ 931 0 R /XYZ 79.822 95.355 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 298.701 null ] >>
endobj
987 0 obj
-<< /D [ 931 0 R /XYZ 79.822 84.396 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 287.742 null ] >>
endobj
-930 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-992 0 obj
-<< /Filter /FlateDecode /Length 2848 >>
-stream
-x[n\;IW@v pl0hq+.Ee~ ZjݥOUQ_~p]b L:}F0n?rnϕs- /4ޝ80-b%*|=P틖:ܑ*q]O>Qc3%e\O1& 0Rv{P0m۹mhŔ0JR1Y:Z) w$V߳e}0M^?Š[BIQQ_i:嚟{IoU• 9"\{DBrr|S2,,RO s +.('^3> 6 mCfTٔ}ߤ&ʕy6N1P~R517Rnk Ѷ-۶] ݪ{(+ōGMĿf;%INߊTa5^otkc#m5|mОT1} }-iT ,A3 5s)C0זbQY,Ћc'08Wnޤ})?a*J%ʼ#1񷤃ᇌh|W5EVVdR2-IdIQ|**O98Mm*ﲬ0>`GbEA]ՀW o_+jI,Ӻ7d|
-0o=ݘ^}(%3W:lH){IrՙfDfM*Ɠ~_;R^mOU封j
-=O~b=BMds[c&>dvۊz#E>l4[ߐ{*Ak>*Ҝ OmJ_-E[],AbbT4A'|EZtXSi"lֲ+
-fXo S7 ȅQ; qal)OD8
-fHfJ R`V-K*y"` H
-L-tAwUġ#\p$(`S:6cS|x&* ޮ9ELE],Z$ 6[:3>Qx|Z: c r=ScF* DC(s~UemEVl;@OM7}4{;wT"B̤5&T rz&"qT?V<|RPwɎ&J,e$X!Rm8Δgq dس "4rJU%![#"eѯ >Zoz"sfXCO!Զޖ7 n5a:\3cz(=BJ(%<Acx_ɕXa8ũ @={s|TZˡh0 a"}αQ?;LCWgH%[ȘeI,|{x2S 23ja(*cF\<Yrr&o&ɜZ`< +]|j*JWs0VptWJk+uElDE(>\%6>:|&kxV"SyĶ{=wZsy z})\kWk7I=մXZÜHĦsK*β4wsi.fyF\i4CMwqg!6h*G%
-WU?8ЦEWJ6P&֫&͢MZhC&@ Uq1^;\C;e39VhyrRFT7:y;Ŷz!~$gAS**R>+#u^{m
-lS0R!M!A8njقerLp/.
-endstream
+988 0 obj
+<< /D [ 945 0 R /XYZ 79.822 276.783 null ] >>
endobj
-991 0 obj
-<< /Type /Page /Contents 992 0 R /Resources 990 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R /Annots 1027 0 R >>
+989 0 obj
+<< /D [ 945 0 R /XYZ 79.822 265.824 null ] >>
endobj
-1027 0 obj
-[ 988 0 R 989 0 R ]
+990 0 obj
+<< /D [ 945 0 R /XYZ 79.822 254.865 null ] >>
endobj
-988 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 130.17 348.109 144.894 360.065 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+991 0 obj
+<< /D [ 945 0 R /XYZ 79.822 243.906 null ] >>
endobj
-989 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 160.615 348.109 172.571 360.065 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+992 0 obj
+<< /D [ 945 0 R /XYZ 79.822 232.947 null ] >>
endobj
993 0 obj
-<< /D [ 991 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 221.988 null ] >>
endobj
994 0 obj
-<< /D [ 991 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 211.03 null ] >>
endobj
995 0 obj
-<< /D [ 991 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 200.071 null ] >>
endobj
996 0 obj
-<< /D [ 991 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 189.112 null ] >>
endobj
997 0 obj
-<< /D [ 991 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 178.153 null ] >>
endobj
998 0 obj
-<< /D [ 991 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 167.194 null ] >>
endobj
999 0 obj
-<< /D [ 991 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 78.635 null ] >>
endobj
-1000 0 obj
-<< /D [ 991 0 R /XYZ 79.822 703.076 null ] >>
+944 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1001 0 obj
-<< /D [ 991 0 R /XYZ 79.822 692.117 null ] >>
+1005 0 obj
+<< /Filter /FlateDecode /Length 3019 >>
+stream
+x[Ɏ9WX(PY4ǁoN2hQPVvT,D/^ g¿?_^ߵ(材p^qqkF\~W{]9?xYSǼ1BL*R}ӠJqny?"ȵ ne?3u(o)to[ ^Gl?ܳ=${~Zڨw/>h5c=bb@ծK%}R`_^8F~&S_{I7{_+5gMU[cLiEG9PS 2[{?&1Z}Cᇨ&8k BT
+:G̋3zѧ0
+AA=F4<mTyk7wwG1J5=8*KW] 䞁֓Rb4٦yV= mGl}:*2?;>ϛ+76|8?Iq {@R?}$nykhVGnp,<~v6ճ^vp1Z:p) /)FiI_!-^BI
+_C9 !{tpH2V:i%6)든#%^F!cL#'Ha԰6ഛL<9qLq7?yXm8
+Շfa;!͌Lb 7ps*1݊!"_@sk4soz2J:
+;Ul~`RH@o8)Ļ#$QW0ބԾXD}dk:XdJuE@ 73xy#% A߉ c |eQ?0fIdΑ,2o܌"Q&,;P/`-Wr@'zʔ.) ?M `@Eɑ3I6-9._,^;ldDJNVa}SznHʹ3T.IPƚlH_epV9Y[-V
+|yGJdsdP).ݮ .CI`|%y2F+\S)cD_%'gy<jjϔT(n)p襢!r*yU2 W
+AG@'
+&/|Z]>KFjt>%qhUצ$=qY:JْP"F[N&C}Q(U$lj7듑6ynV:6`Y٠kY!H`YйM)d39wsror> lqH.rS5֔KR?*Tqw"b{IMdl1ʗqL׊)hKA+(QV4j~j,׎9HM) UqEb<AixBP쫕5Q߷Du
+dr)) HLYbH{3ljZ?(0 @@SG)S 3
+$(}xuT"SXq!Rp0qnF*|4$i[<ɛ,Zz l}'HV#븍(rcUnjHe텅&S"dJqUFOϊ#pl*#IK\-dP|w+V%\E^ZݑFg^ZP>KM.QJKfép;Z_yIZ?M*/[ fv2)oQ)d Nޗ~"xb2"Ȣ=
+TrmfBjBjAeeȨa԰D+K
+fFzH9nh n5QQ9=bh9aPޜn/C8 )NAZD$ӊb5UGV,m_;jBe[w
+^=w%B6"?Vƀ`L9Y"e&HSH97:e<soH!9;˪9[ɼHy`"Νv"L00*4l#?[v(# <ݭC/V%좄UAĹUQŮ3Ud"ј -5ߪX*ZˌL@"e.hs\WӀ"T LAWt[Z rAR0\΅Oy`kEXK=-ۮ7\P̘ozp֢&mīVpLǴJl4uu(5Ɛvܝ<Xa:=G=II^}k QďeЕ0[3} @26Ko?Kll|(So7,Q)5Rt9?i8>=V* ֶ%mDʧMc1;gᵖ;d;fW]N ҃El*NHz{t]jHopb:,X;|5BNhSv
+f0=d}
+T3thFNzeiPgЮGZv>,TG[=e Y$칳Lޛ10>EJZōհ+c _#xrҁĝ:j}Pqb݅U:|ݯ;ptBR96&,~W"tZ#N0;+M5ne젋Z睥{ PoM̷L"_/.
+endstream
endobj
-1002 0 obj
-<< /D [ 991 0 R /XYZ 79.822 681.158 null ] >>
+1004 0 obj
+<< /Type /Page /Contents 1005 0 R /Resources 1003 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R /Annots 1038 0 R >>
endobj
-1003 0 obj
-<< /D [ 991 0 R /XYZ 79.822 670.199 null ] >>
+1038 0 obj
+[ 1001 0 R 1002 0 R ]
endobj
-1004 0 obj
-<< /D [ 991 0 R /XYZ 79.822 581.532 null ] >>
+1001 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 130.17 546.366 144.894 558.321 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
-1005 0 obj
-<< /D [ 991 0 R /XYZ 79.822 570.573 null ] >>
+1002 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 160.615 546.366 172.571 558.321 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
1006 0 obj
-<< /D [ 991 0 R /XYZ 79.822 529.726 null ] >>
+<< /D [ 1004 0 R /XYZ 78.37 808.885 null ] >>
endobj
1007 0 obj
-<< /D [ 991 0 R /XYZ 79.822 518.767 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 768.829 null ] >>
endobj
1008 0 obj
-<< /D [ 991 0 R /XYZ 79.822 477.92 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 727.983 null ] >>
endobj
1009 0 obj
-<< /D [ 991 0 R /XYZ 79.822 437.073 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 717.024 null ] >>
endobj
1010 0 obj
-<< /D [ 991 0 R /XYZ 79.822 426.115 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 676.177 null ] >>
endobj
1011 0 obj
-<< /D [ 991 0 R /XYZ 79.822 410.174 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 635.33 null ] >>
endobj
1012 0 obj
-<< /D [ 991 0 R /XYZ 79.822 399.215 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 624.371 null ] >>
endobj
1013 0 obj
-<< /D [ 991 0 R /XYZ 79.822 388.256 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 608.431 null ] >>
endobj
1014 0 obj
-<< /D [ 991 0 R /XYZ 79.822 345.417 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 597.472 null ] >>
endobj
1015 0 obj
-<< /D [ 991 0 R /XYZ 79.822 334.458 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 586.513 null ] >>
endobj
1016 0 obj
-<< /D [ 991 0 R /XYZ 79.822 323.499 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 543.674 null ] >>
endobj
1017 0 obj
-<< /D [ 991 0 R /XYZ 79.822 258.742 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 532.715 null ] >>
endobj
1018 0 obj
-<< /D [ 991 0 R /XYZ 79.822 247.783 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 521.756 null ] >>
endobj
1019 0 obj
-<< /D [ 991 0 R /XYZ 79.822 236.824 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 456.999 null ] >>
endobj
1020 0 obj
-<< /D [ 991 0 R /XYZ 79.822 225.865 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 446.04 null ] >>
endobj
1021 0 obj
-<< /D [ 991 0 R /XYZ 79.822 214.907 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 435.081 null ] >>
endobj
1022 0 obj
-<< /D [ 991 0 R /XYZ 79.822 203.948 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 424.122 null ] >>
endobj
1023 0 obj
-<< /D [ 991 0 R /XYZ 79.822 163.101 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 413.163 null ] >>
endobj
1024 0 obj
-<< /D [ 991 0 R /XYZ 79.822 152.142 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 402.204 null ] >>
endobj
1025 0 obj
-<< /D [ 991 0 R /XYZ 79.822 141.183 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 361.357 null ] >>
endobj
-990 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+1026 0 obj
+<< /D [ 1004 0 R /XYZ 79.822 350.398 null ] >>
endobj
-1030 0 obj
-<< /Filter /FlateDecode /Length 1816 >>
-stream
-xZn8 +WW"Phn0ۙv$Y%*i/f&c"i?yr|yQ7`
-Ah(!:|{UJK8hΠR+)-Vo`y w<Na1,re\#b-irk¡Ü+t|Υ;d3
-8:42hqO<0\UͽHV*E
-=\sZx=Mtt
-O2\,2 }fD*7Cd(dԌr>B#48>!sk eR Cԙ1%>)1޿V|ȩ&|r= 4bRj0T
- ݎ %"s
- e&2Ts|ONCbT_&T ⚓s%E<}.r)Q K
--V![ZfJM(ElʩQ{Ӵy!IEܼQARkQRŬZѶ45hX
-M4͝Ē.Er; M(!{
-"]z*j2y=B(ߙ1G CeNSA :V ʉ\1)MYc'"
-~t0]I?COLp@Ma(KLoeݶ'/ 妏
-\ 0V6w Ʊ]v`{DtQ˃_Zmӽ6"f'ZDhHhr-@Å5bs3F~.ʵ/ך4NF*%y<3%aJm-^Q cUzJ0fVAg` ݅vڞR%9ڲ[~o,a҇{֢܊LN[hOKhg$Pkj L1;a=)12y]{;Wz0"cl'"MNfWbrA]Z>C)gmTگy" [,^Vt>lI%ɝ7z+ 2Zx8A%L(C~lt޲o{;ZާCaF)0!l,]VysxF]o.̒($9iPE
-3oN0,I)zP 6PR~mW^xk!^Vܨvo-eqۿM]*
-endstream
+1027 0 obj
+<< /D [ 1004 0 R /XYZ 79.822 339.44 null ] >>
+endobj
+1028 0 obj
+<< /D [ 1004 0 R /XYZ 79.822 298.593 null ] >>
endobj
1029 0 obj
-<< /Type /Page /Contents 1030 0 R /Resources 1028 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
+<< /D [ 1004 0 R /XYZ 79.822 287.634 null ] >>
+endobj
+1030 0 obj
+<< /D [ 1004 0 R /XYZ 79.822 276.675 null ] >>
endobj
1031 0 obj
-<< /D [ 1029 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 265.716 null ] >>
endobj
1032 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 742.926 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 254.757 null ] >>
endobj
1033 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 731.968 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 243.798 null ] >>
endobj
1034 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 721.009 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 232.839 null ] >>
endobj
1035 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 710.05 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 221.88 null ] >>
endobj
1036 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 699.091 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 210.921 null ] >>
endobj
1037 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 688.132 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 199.963 null ] >>
endobj
-1038 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 677.173 null ] >>
+1003 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1039 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 666.214 null ] >>
+1041 0 obj
+<< /Filter /FlateDecode /Length 2498 >>
+stream
+xZnk9+ѓHj
+/OC[ '$@U4_[RWQɺp޲xSF sRjAZ?3
+@=C 8)yXpe0W
+~;Fsْłfodz
+< :eHh"*Ә]8dN}Ӛs9r<
+G)453EN68 s>6 ҂%QQLHxHf8:5F/)a$j^WJw˷)~kq*\1 đbU)T[H]4U8,֬3djDfuYw)tHrv
+x0`ifRʌ( y\Ӳx
+!l44sr< (6U7IJFT3k9b۽)/x*y'ԯ$ ,;;\00 \<WNTȀ7ʴOצգӟ'dQz#GUE]=ʏ}f\z$ d 儖QÉ29M(|uE7Lv ]ٞo3#R$Zk;Gν\*;KiW g"=Mֶ"t.KR\UPƷ'Bd+܉&.]guÒPwnZۮXqA6R;` WK
+֕Uu&9F}E_=ʭTXUuLNӇm)G)45CQ<:.pcqz@)ͮXB4!:m曍]7Y֧cb>ox`$ikJ񞱝
+ÇjF瞯
+b伞TyfV6KyZݴFjLjlף<߳n251<.=p@pBPuj,
+Y}._΀PR- i%Td>qr&)˺8K]QELa|jNhH
+pRǚJ{,,\U x@Jrb=b('I z'90-&u1Hvb@A5H8Ӷ?Ze=ȃ8ģ$s~?5i
+endstream
endobj
1040 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 655.255 null ] >>
-endobj
-1041 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 644.296 null ] >>
+<< /Type /Page /Contents 1041 0 R /Resources 1039 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1042 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 613.412 null ] >>
+<< /D [ 1040 0 R /XYZ 78.37 808.885 null ] >>
endobj
1043 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 602.453 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 768.829 null ] >>
endobj
1044 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 591.494 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 757.87 null ] >>
endobj
1045 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 580.535 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 716.61 null ] >>
endobj
1046 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 569.577 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 676.816 null ] >>
endobj
1047 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 558.618 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 665.857 null ] >>
endobj
1048 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 547.659 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 654.898 null ] >>
endobj
1049 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 536.7 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 643.939 null ] >>
endobj
1050 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 525.741 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 616.101 null ] >>
endobj
1051 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 514.782 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 605.142 null ] >>
endobj
1052 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 503.823 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 594.183 null ] >>
endobj
1053 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 492.864 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 583.224 null ] >>
endobj
1054 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 481.905 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 503.335 null ] >>
endobj
1055 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 470.946 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 492.376 null ] >>
endobj
1056 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 459.987 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 481.417 null ] >>
endobj
1057 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 449.029 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 428.202 null ] >>
endobj
1058 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 416.152 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 417.243 null ] >>
endobj
1059 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 405.193 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 406.284 null ] >>
endobj
1060 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 394.234 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 367.13 null ] >>
endobj
1061 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 383.275 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 356.171 null ] >>
endobj
1062 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 372.316 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 345.212 null ] >>
endobj
1063 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 361.357 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 334.253 null ] >>
endobj
1064 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 350.398 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 323.294 null ] >>
endobj
1065 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 339.44 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 312.335 null ] >>
endobj
1066 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 328.481 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 301.376 null ] >>
endobj
1067 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 317.522 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 290.417 null ] >>
endobj
1068 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 306.563 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 279.458 null ] >>
endobj
1069 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 295.604 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 268.499 null ] >>
endobj
1070 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 284.645 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 257.541 null ] >>
endobj
1071 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 273.686 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 246.582 null ] >>
endobj
1072 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 262.727 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 235.623 null ] >>
endobj
1073 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 251.768 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 224.664 null ] >>
endobj
1074 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 240.809 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 213.705 null ] >>
endobj
1075 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 229.851 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 202.746 null ] >>
endobj
1076 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 218.892 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 191.787 null ] >>
endobj
1077 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 207.933 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 180.828 null ] >>
endobj
1078 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 196.974 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 169.869 null ] >>
endobj
1079 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 186.015 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 158.91 null ] >>
endobj
1080 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 175.056 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 147.952 null ] >>
endobj
1081 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 164.097 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 136.993 null ] >>
endobj
1082 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 153.138 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 126.034 null ] >>
endobj
1083 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 142.179 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 115.075 null ] >>
endobj
-1028 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1086 0 obj
-<< /Filter /FlateDecode /Length 1621 >>
-stream
-x[r8+#uZRTBnլj;m%q }::3;q8D?6`;/?qh=#k?1N|J:Ư=x:+~˶?). 1X¥)7x
-Wl8Ba <4"eHUey`o^<p+YhxEW,(^27y՝|kCr|1>XF\xrc,VS'[LsyD߆38A6t\pq׉KgZMCYqY
-c$* 풢(Aw›G -oU gK Ggձ;^ɼ疻Q 9j,?su PnϪq qPS~#$"]A̍,,N#QO'nɒU&1x5_AZ@-J ctaNڤܼ-JVg|_mv^Iɋ e.st)k*sSMomofU
- x+XE犔O#IERZʬeDzێ&͔ ]e
-ZB
-ԷT Fq:*xm%f;vc- 7h"ѵVb Y۠9b;Vy\ץyfhm~%n)AU䁖\UVZf9U$+Ļ3oΠ7C}?cAgрR"AUR^ȳ[&m^נ\}3J
-endstream
+1084 0 obj
+<< /D [ 1040 0 R /XYZ 79.822 104.116 null ] >>
endobj
1085 0 obj
-<< /Type /Page /Contents 1086 0 R /Resources 1084 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
-endobj
-1087 0 obj
-<< /D [ 1085 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 93.157 null ] >>
endobj
-225 0 obj
-<< /D [ 1085 0 R /XYZ 79.37 771.024 null ] >>
+1039 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1088 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 745.834 null ] >>
+<< /Filter /FlateDecode /Length 1664 >>
+stream
+x[r7+Ud*gR&5$ IQ9$<,4ÿ~<ޞɣ'?0B
+C_Иh)}b1d +#㷿|2F[?). )Zڔ
+l{;_U(
+tofFZ;/;(
+dh$NS#dC)L[{*]N'2`:>[{M>}Z"*ʕgTf꯲^P6YZ Wol4jAV9ܞPL GV~&y. ][ - ,pմq-iۢO,*+k]!ݶ9Z+_Kp5 hҊ]^[KT -!Νkb!EyZ A`)B{$jB;{tg-zuKɚՅh!fm D|-x׽u~[ٍ $1!l
+endstream
+endobj
+1087 0 obj
+<< /Type /Page /Contents 1088 0 R /Resources 1086 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1089 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 734.875 null ] >>
+<< /D [ 1087 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+221 0 obj
+<< /D [ 1087 0 R /XYZ 79.37 771.024 null ] >>
endobj
1090 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 723.916 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 745.834 null ] >>
endobj
1091 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 712.957 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 734.875 null ] >>
endobj
1092 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 701.998 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 723.916 null ] >>
endobj
1093 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 691.039 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 712.957 null ] >>
endobj
1094 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 680.08 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 701.998 null ] >>
endobj
1095 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 669.121 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 691.039 null ] >>
endobj
1096 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 658.162 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 680.08 null ] >>
endobj
1097 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 631.412 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 669.121 null ] >>
endobj
1098 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 620.453 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 658.162 null ] >>
endobj
1099 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 609.494 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 647.204 null ] >>
endobj
1100 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 598.536 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 636.245 null ] >>
endobj
1101 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 587.577 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 609.494 null ] >>
endobj
1102 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 576.618 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 598.536 null ] >>
endobj
1103 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 565.659 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 587.577 null ] >>
endobj
1104 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 554.7 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 576.618 null ] >>
endobj
1105 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 543.741 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 565.659 null ] >>
endobj
1106 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 532.782 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 554.7 null ] >>
endobj
1107 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 506.032 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 543.741 null ] >>
endobj
1108 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 495.073 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 532.782 null ] >>
endobj
1109 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 484.114 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 521.823 null ] >>
endobj
1110 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 473.155 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 510.864 null ] >>
endobj
1111 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 462.196 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 484.114 null ] >>
endobj
1112 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 451.237 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 473.155 null ] >>
endobj
1113 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 440.278 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 462.196 null ] >>
endobj
1114 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 429.32 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 451.237 null ] >>
endobj
1115 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 418.361 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 440.278 null ] >>
endobj
1116 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 407.402 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 429.32 null ] >>
endobj
1117 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 396.443 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 418.361 null ] >>
endobj
1118 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 385.484 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 407.402 null ] >>
endobj
1119 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 374.525 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 396.443 null ] >>
endobj
1120 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 363.566 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 385.484 null ] >>
endobj
1121 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 352.607 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 374.525 null ] >>
endobj
1122 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 341.648 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 363.566 null ] >>
endobj
1123 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 330.689 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 352.607 null ] >>
endobj
1124 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 319.73 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 341.648 null ] >>
endobj
1125 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 308.772 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 330.689 null ] >>
endobj
1126 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 297.813 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 319.73 null ] >>
endobj
1127 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 286.854 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 308.772 null ] >>
endobj
1128 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 275.895 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 297.813 null ] >>
endobj
1129 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 264.936 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 286.854 null ] >>
endobj
1130 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 253.977 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 275.895 null ] >>
endobj
1131 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 243.018 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 264.936 null ] >>
endobj
1132 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 232.059 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 253.977 null ] >>
endobj
1133 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 221.1 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 243.018 null ] >>
endobj
1134 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 210.141 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 232.059 null ] >>
endobj
1135 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 199.183 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 221.1 null ] >>
endobj
1136 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 188.224 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 210.141 null ] >>
endobj
1137 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 177.265 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 199.183 null ] >>
endobj
1138 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 166.306 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 188.224 null ] >>
endobj
1139 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 155.347 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 177.265 null ] >>
endobj
1140 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 144.388 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 166.306 null ] >>
endobj
1141 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 133.429 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 155.347 null ] >>
endobj
1142 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 122.47 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 144.388 null ] >>
endobj
1143 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 111.511 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 133.429 null ] >>
endobj
1144 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 122.47 null ] >>
endobj
1145 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 89.593 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 111.511 null ] >>
endobj
1146 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 78.635 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 100.552 null ] >>
endobj
-1084 0 obj
+1147 0 obj
+<< /D [ 1087 0 R /XYZ 79.822 89.593 null ] >>
+endobj
+1148 0 obj
+<< /D [ 1087 0 R /XYZ 79.822 78.635 null ] >>
+endobj
+1086 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1149 0 obj
-<< /Filter /FlateDecode /Length 2057 >>
+1151 0 obj
+<< /Filter /FlateDecode /Length 1989 >>
stream
-x[r#)+@pȶ&bϾmu]PFv4٭GgSIд<sORx|:~<}?;pIɃ:8#%%$ǿ?D/%寏?d~r'Bׂ(48(. c_XCxc=+? [
-&sy.J G6p6J#\=
-7GWlp16Ff"p
-KSƳ4%
-rJ>J k,GĞڃI`574چ2\/,9Sū$ګ]A ;jZ@ I
-]jiF]!NMGIc̹cXXD!:ڎ-&BN Ԟa`1HAG,_dQ azzJĔW^|1j`ǔb0U9 *~-qڣԤ3SSI㘚}<MOomA9w/C9zmΥ\MVs,YJ{rx3Pwt9{[vICXhUoS\KO[ I3 MꍦN$e
-Rt{ Fg 9wQLґzΙoZHr|wjKڍ
-Q4],!<kD*d:_;֤Znlrf-L/2hS+5Η֚9X=r\y CL<C3:#9-] Z+C} ]Ն
-_|r?WW̭v5w~.n]+]h 9ɹZ7<"HԐs|GPM\0xA Tkbv9e(zn_>6w"76-/N~ZHm8͓n|f;LB)7zC+i]"crCvB
-Zm֫nXVݕsIe'lQ<mRCܗP&nAXa7{a+ N Cu\sAj2/R*vmQ{=p~
-GCEK=H~\7Sn&T|Xa&:h)76d|x^oZ
+x[˒(Wk"ܷlǚfd$ɪ7t< |;|}\)材M?;s;kFɹpz1ot%
+5Pf(Cǃȸ8fb
+b"d=e8d&+{B4oP",Дs())
+qT. ?Q{lO5 <b@ؘ'HrS=5cճ Z2ފfUg5c,%UHi{IRe"(hug0zs)L7\4αII); SVLڪF\_G"5u^C$ sŝ|BPSczO:z)μ% z_
+ҧz!2̻ҾܟNqF#͝{u4?+/ (ʥ$J27J^EV͵`\(ڦ97N\ь]7X`{P iC O,#_& ޕRzj7jĦa`PrTH:<ϛ.̔F0K#K yWqટK:yf@Xbzui5c@{elp!npL&K,g j3Lxm4(Ӵ@]~zS 4SXƥi.z2kmՄ.V<J`
+""k 0TP /͚LWLQlˬ+TYH
+q`"\ <Vy[5@<uNھ<M&[8( ߝQU淛9ܮyMjGZ!7̃w{!:۪
+rTCY_HQBOg}^(b\//$(t \NӴz4]k'?ߺWݣx0qgBP7 LLTe{Tm `4}.& |9-F~Ff~CZڢ'T]3٬AIrtBɛ_#AĂk/(hX'+8j}mY4^~A:˙3LgZ
+0te
+}^ʼh8d
endstream
endobj
-1148 0 obj
-<< /Type /Page /Contents 1149 0 R /Resources 1147 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
-endobj
1150 0 obj
-<< /D [ 1148 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1151 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 768.829 null ] >>
+<< /Type /Page /Contents 1151 0 R /Resources 1149 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1152 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1150 0 R /XYZ 78.37 808.885 null ] >>
endobj
1153 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 768.829 null ] >>
endobj
1154 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 757.87 null ] >>
endobj
1155 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 746.912 null ] >>
endobj
1156 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 735.953 null ] >>
endobj
1157 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 724.994 null ] >>
endobj
1158 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 714.035 null ] >>
endobj
1159 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 681.158 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 703.076 null ] >>
endobj
1160 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 692.117 null ] >>
endobj
1161 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 659.24 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 681.158 null ] >>
endobj
1162 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 648.281 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 670.199 null ] >>
endobj
1163 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 637.322 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 659.24 null ] >>
endobj
1164 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 626.364 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 648.281 null ] >>
endobj
1165 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 615.405 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 637.322 null ] >>
endobj
1166 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 604.446 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 586.036 null ] >>
endobj
1167 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 553.16 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 575.077 null ] >>
endobj
1168 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 542.201 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 547.355 null ] >>
endobj
1169 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 514.479 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 536.396 null ] >>
endobj
1170 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 503.52 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 525.437 null ] >>
endobj
1171 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 492.561 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 514.479 null ] >>
endobj
1172 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 481.602 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 503.52 null ] >>
endobj
1173 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 455.786 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 492.561 null ] >>
endobj
1174 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 444.827 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 481.602 null ] >>
endobj
1175 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 433.868 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 470.643 null ] >>
endobj
1176 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 422.909 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 459.684 null ] >>
endobj
1177 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 411.95 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 448.725 null ] >>
endobj
1178 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 400.991 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 437.766 null ] >>
endobj
1179 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 390.032 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 426.807 null ] >>
endobj
1180 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 379.073 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 400.991 null ] >>
endobj
1181 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 368.114 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 390.032 null ] >>
endobj
1182 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 357.155 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 379.073 null ] >>
endobj
1183 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 346.197 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 368.114 null ] >>
endobj
1184 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 335.238 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 357.155 null ] >>
endobj
1185 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 324.279 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 346.197 null ] >>
endobj
1186 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 313.32 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 335.238 null ] >>
endobj
1187 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 302.361 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 324.279 null ] >>
endobj
1188 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 291.402 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 313.32 null ] >>
endobj
1189 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 280.443 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 302.361 null ] >>
endobj
1190 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 269.484 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 291.402 null ] >>
endobj
1191 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 258.525 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 280.443 null ] >>
endobj
1192 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 247.566 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 269.484 null ] >>
endobj
1193 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 236.608 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 258.525 null ] >>
endobj
1194 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 225.649 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 247.566 null ] >>
endobj
1195 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 214.69 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 236.608 null ] >>
endobj
1196 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 203.731 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 225.649 null ] >>
endobj
1197 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 192.772 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 214.69 null ] >>
endobj
1198 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 181.813 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 203.731 null ] >>
endobj
1199 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 170.854 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 192.772 null ] >>
endobj
1200 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 133.429 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 181.813 null ] >>
endobj
1201 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 122.47 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 170.854 null ] >>
endobj
1202 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 111.511 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 159.895 null ] >>
endobj
1203 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 148.936 null ] >>
endobj
1204 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 89.593 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 137.977 null ] >>
endobj
1205 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 78.635 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 127.018 null ] >>
endobj
-1147 0 obj
+1206 0 obj
+<< /D [ 1150 0 R /XYZ 79.822 116.06 null ] >>
+endobj
+1207 0 obj
+<< /D [ 1150 0 R /XYZ 79.822 78.635 null ] >>
+endobj
+1149 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F81 377 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1208 0 obj
-<< /Filter /FlateDecode /Length 2073 >>
+1210 0 obj
+<< /Filter /FlateDecode /Length 2119 >>
stream
-x[r6+ӃnUSFVr-kr_
-$,P@B*e>eF?syI7O'TAk=oNM=;LJr -J!ϓ"Q)sʼOL/-=!>-Qo<@(m
-H[aI ^'&,>C_ZǢM<5zgyXd"ÒOK՚ui'lA'KIokK%Q+QH[$R4IgC*5pˉ>,TJ˙qYD >teQ\}u7#M\cy~(F2y;8lz$`%\SEVJ\&EKGR}7q|I-m!HP;A %>'j\AcU7ݫ_tIē]{!I sjH]+(ɥ.5?DEĤY$dYf&<[ϧfwj'Xw|PeyhQ.-+jkbi3P9O{;CG79f#xWg98lA>v %
-JEQb̹5_!vk<X  qk8umӲ
-kQS\t@;3c(NJgVå
-`:?sc`YeU q?n<errc()eY:yJw;". NʯYg)pe]Jpq}dRҵ8* 'U[*W9n5.tnO~4La.-,B\
-9 p K^ŷnZr}6#qcĴ(|Um]mKEBEV=/;{1^!TcS,2m3[~9 e_@z|.t-
-9-ʚo;7>mRbOe2͖3bA 
- ePxfRTWpl]`lCY;h"vv{+ϵDPDC٦Yk{$ȎGPxТӱy C)ӲT>k!G~@+ݩj䞒h{~="w<Q8"=79'ZlPw Җ[l_z]-yogI0U6˿Fȯ
+x[ɒ8 W^U9mj3pDP۝xز<,@Z9&|9~|?pTxEƛAaßB(/A!_CV%D !EAJ"}^B7~CrIFקr=}.:#,:!3T 3=5u<&q4sjV^
+ \3 Rs҂3lM,9Qo嶉WQ^u5<IaD{2D<fbT
+flќ"FmR#^}ZZrgDsI>-E1Ű? D*)ޜuhdɮd{aÒEpGCsN+&zz18˥)PkAYEJRy쑕
+MYCrK]
+TAf[DPBE|ֳ)~
+'h gL&Ƃ<&OB:Ҳ, *wW[GSJ|AG*eIC/fg&i;k]^ҊxmG=Q (_h),ZeׇvUzwX҇! x5A,Wl6з]}"-6k
+fP坵FP.T%xE-*B1UVAVwZU&(lļu91zڹAUSGˮV xLl7# 9ĥ!1<j{ڮAyϥ%-e4cOt)+0P›YWKeYF]+
+`2KB\Q*?ǒn&Wï\Cz/]]C oOH7JT|7\_cR<?Qء J6b/
endstream
endobj
-1207 0 obj
-<< /Type /Page /Contents 1208 0 R /Resources 1206 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
-endobj
1209 0 obj
-<< /D [ 1207 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1210 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 768.829 null ] >>
+<< /Type /Page /Contents 1210 0 R /Resources 1208 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1211 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1209 0 R /XYZ 78.37 808.885 null ] >>
endobj
1212 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 768.829 null ] >>
endobj
1213 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 757.87 null ] >>
endobj
1214 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 746.912 null ] >>
endobj
1215 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 687.136 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 735.953 null ] >>
endobj
1216 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 676.177 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 724.994 null ] >>
endobj
1217 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 665.218 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 714.035 null ] >>
endobj
1218 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 654.259 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 703.076 null ] >>
endobj
1219 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 643.3 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 692.117 null ] >>
endobj
1220 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 632.341 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 681.158 null ] >>
endobj
1221 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 621.382 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 670.199 null ] >>
endobj
1222 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 610.423 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 632.341 null ] >>
endobj
1223 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 599.464 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 621.382 null ] >>
endobj
1224 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 588.506 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 610.423 null ] >>
endobj
1225 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 577.547 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 599.464 null ] >>
endobj
1226 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 566.588 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 588.506 null ] >>
endobj
1227 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 555.629 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 577.547 null ] >>
endobj
1228 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 544.67 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 566.588 null ] >>
endobj
1229 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 533.711 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 555.629 null ] >>
endobj
1230 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 522.752 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 544.67 null ] >>
endobj
1231 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 511.793 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 533.711 null ] >>
endobj
1232 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 500.834 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 522.752 null ] >>
endobj
1233 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 489.875 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 511.793 null ] >>
endobj
1234 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 478.917 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 500.834 null ] >>
endobj
1235 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 467.958 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 489.875 null ] >>
endobj
1236 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 456.999 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 478.917 null ] >>
endobj
1237 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 446.04 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 467.958 null ] >>
endobj
1238 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 435.081 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 456.999 null ] >>
endobj
1239 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 424.122 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 446.04 null ] >>
endobj
1240 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 413.163 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 435.081 null ] >>
endobj
1241 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 402.204 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 424.122 null ] >>
endobj
1242 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 391.245 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 413.163 null ] >>
endobj
1243 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 380.286 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 402.204 null ] >>
endobj
1244 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 369.327 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 391.245 null ] >>
endobj
1245 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 358.369 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 380.286 null ] >>
endobj
1246 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 347.41 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 369.327 null ] >>
endobj
1247 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 336.451 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 358.369 null ] >>
endobj
1248 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 325.492 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 347.41 null ] >>
endobj
1249 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 314.533 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 336.451 null ] >>
endobj
1250 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 303.574 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 325.492 null ] >>
endobj
1251 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 292.615 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 314.533 null ] >>
endobj
1252 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 281.656 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 303.574 null ] >>
endobj
1253 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 270.697 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 292.615 null ] >>
endobj
1254 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 259.738 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 281.656 null ] >>
endobj
1255 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 248.78 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 270.697 null ] >>
endobj
1256 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 237.821 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 259.738 null ] >>
endobj
1257 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 226.862 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 248.78 null ] >>
endobj
1258 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 215.903 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 237.821 null ] >>
endobj
1259 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 204.944 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 226.862 null ] >>
endobj
1260 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 193.985 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 215.903 null ] >>
endobj
1261 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 183.026 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 204.944 null ] >>
endobj
1262 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 172.067 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 193.985 null ] >>
endobj
1263 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 161.108 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 183.026 null ] >>
endobj
1264 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 150.149 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 172.067 null ] >>
endobj
1265 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 139.19 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 161.108 null ] >>
endobj
1266 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 128.232 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 150.149 null ] >>
endobj
1267 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 117.273 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 139.19 null ] >>
endobj
1268 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 106.314 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 128.232 null ] >>
endobj
1269 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 95.355 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 117.273 null ] >>
endobj
1270 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 84.396 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 106.314 null ] >>
endobj
-1206 0 obj
+1271 0 obj
+<< /D [ 1209 0 R /XYZ 79.822 95.355 null ] >>
+endobj
+1272 0 obj
+<< /D [ 1209 0 R /XYZ 79.822 84.396 null ] >>
+endobj
+1208 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1273 0 obj
+1275 0 obj
<< /Filter /FlateDecode /Length 1834 >>
stream
-x[&W 4PڪxU9-kr_,cmm<{Ќ-KOu H٩ݏ.J?^]YA}EjwA}wLHQ}*c
-zq3Lm oeQ
-?g F
-A;)Z-5Q(y5xkKukú8P)\f jhmnـgJ|Q[ 9Mѵ `P [p0lPFu(k;|@O ۥ$漴/whWM yH`/rit`$![c(f@%yg-^k 6 p慡֩d+ʀn2Q<WP|,PDp8GݲfEZ,h 9DyKw3uT(ٹ$BvVA\μ[?H ^)
+x[r6 +%A$g:w&N:uvnU[R%cֹ DZ" @2~{1@˷wJ)Z^l!`C` 1{/fSk k+e$(+d?:cwgP
+du1BH4?%r\Ӿ! (Q 82~2m4Ņ7J8_cidWwj6SRQ(DfjͰSg'ȔH"AQ aR` 3~h(t;\j" 2K"e .:"WːfVqvwrZNxuZ88֤ JEK=89Uf(XuVQd+NYRK#xg;^uL({cP=XP֢f o3HW+|)0K P{\עƚ*W5mV$L@;ޒmJx-J](0\bP3N
+Y\o_;EVK6>M
+dGJ~vIolA܊%?1RƦci^xp'׵mCu`L\QO=y@{e'P@ nw:tݝ@KshW{jx)jZqWjͫͻ&/}c|2F QG(pI#s83  \pLl g$N< 5\J"DSBHרa֜K[3-io^Ⱥx^le>𩫒v.ӹ1j==K[8Wmlr^>vC영)Pi z=mlS9a%;,F'U@), gk瀹Ҹu򈸖xF`HkNuOBQwG1bĩJEĬ,N_=1&;*Ju*!SƧ7!BXW3
+T uS(? t$D @9\+5[G\J}v9%ʂQTLmd$,(?[K#)"EׄMlIu]|@KU4.uTgL<yR jit rKaWZ(%ʗLp ]IR'{ŬO5'pr5ԚH2+8F、Hql=nRLt;91Μ6_%ٷns(v sSݖ&ޣJa 8vڵ ˉa51h-Iu.-HMuJ*#|6˲bf" ,Ho/F
endstream
endobj
-1272 0 obj
-<< /Type /Page /Contents 1273 0 R /Resources 1271 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
-endobj
1274 0 obj
-<< /D [ 1272 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1275 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 768.829 null ] >>
+<< /Type /Page /Contents 1275 0 R /Resources 1273 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1276 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1274 0 R /XYZ 78.37 808.885 null ] >>
endobj
1277 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 768.829 null ] >>
endobj
1278 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 757.87 null ] >>
endobj
1279 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 746.912 null ] >>
endobj
1280 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 735.953 null ] >>
endobj
1281 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 724.994 null ] >>
endobj
1282 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 714.035 null ] >>
endobj
1283 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 681.158 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 703.076 null ] >>
endobj
1284 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 692.117 null ] >>
endobj
1285 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 659.24 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 681.158 null ] >>
endobj
1286 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 648.281 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 670.199 null ] >>
endobj
1287 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 637.322 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 659.24 null ] >>
endobj
1288 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 626.364 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 648.281 null ] >>
endobj
1289 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 615.405 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 637.322 null ] >>
endobj
1290 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 604.446 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 626.364 null ] >>
endobj
1291 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 593.487 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 615.405 null ] >>
endobj
1292 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 582.528 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 604.446 null ] >>
endobj
1293 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 571.569 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 593.487 null ] >>
endobj
1294 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 560.61 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 582.528 null ] >>
endobj
1295 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 549.651 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 571.569 null ] >>
endobj
1296 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 538.692 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 560.61 null ] >>
endobj
1297 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 527.733 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 549.651 null ] >>
endobj
1298 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 516.775 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 538.692 null ] >>
endobj
1299 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 505.816 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 527.733 null ] >>
endobj
1300 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 494.857 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 516.775 null ] >>
endobj
1301 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 483.898 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 505.816 null ] >>
endobj
1302 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 472.939 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 494.857 null ] >>
endobj
1303 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 461.98 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 483.898 null ] >>
endobj
1304 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 451.021 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 472.939 null ] >>
endobj
1305 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 440.062 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 461.98 null ] >>
endobj
1306 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 429.103 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 451.021 null ] >>
endobj
1307 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 418.144 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 440.062 null ] >>
endobj
1308 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 407.186 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 429.103 null ] >>
endobj
1309 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 396.227 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 418.144 null ] >>
endobj
1310 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 385.268 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 407.186 null ] >>
endobj
1311 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 374.309 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 396.227 null ] >>
endobj
1312 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 363.35 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 385.268 null ] >>
endobj
1313 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 352.391 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 374.309 null ] >>
endobj
1314 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 341.432 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 363.35 null ] >>
endobj
1315 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 330.473 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 352.391 null ] >>
endobj
1316 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 319.514 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 341.432 null ] >>
endobj
1317 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 308.555 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 330.473 null ] >>
endobj
1318 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 297.596 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 319.514 null ] >>
endobj
1319 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 286.638 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 308.555 null ] >>
endobj
1320 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 275.679 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 297.596 null ] >>
endobj
1321 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 264.72 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 286.638 null ] >>
endobj
1322 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 253.761 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 275.679 null ] >>
endobj
1323 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 242.802 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 264.72 null ] >>
endobj
1324 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 231.843 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 253.761 null ] >>
endobj
1325 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 220.884 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 242.802 null ] >>
endobj
1326 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 209.925 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 231.843 null ] >>
endobj
1327 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 198.966 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 220.884 null ] >>
endobj
1328 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 188.007 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 209.925 null ] >>
endobj
1329 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 177.049 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 198.966 null ] >>
endobj
1330 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 166.09 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 188.007 null ] >>
endobj
1331 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 155.131 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 177.049 null ] >>
endobj
1332 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 144.172 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 166.09 null ] >>
endobj
1333 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 133.213 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 155.131 null ] >>
endobj
1334 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 122.254 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 144.172 null ] >>
endobj
1335 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 111.295 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 133.213 null ] >>
endobj
1336 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 100.336 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 122.254 null ] >>
endobj
1337 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 89.377 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 111.295 null ] >>
endobj
-1271 0 obj
+1338 0 obj
+<< /D [ 1274 0 R /XYZ 79.822 100.336 null ] >>
+endobj
+1339 0 obj
+<< /D [ 1274 0 R /XYZ 79.822 89.377 null ] >>
+endobj
+1273 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1340 0 obj
-<< /Filter /FlateDecode /Length 2119 >>
+1342 0 obj
+<< /Filter /FlateDecode /Length 2209 >>
stream
-xZn#7+U\ÀeYr-59)M[3A[c<}ߞ0t|v5E
-דANҪ??^FJ Or)a
-d֨QɬKycs.ҵ|i[fMX('
-)/lE*O. uc,ZօD3$JYϘ^)REWnF=}Kؗb%wѬr[HR\KuƠNYo_TQ)۶̢i긜]{!}]a>2^M(l4Vh>ImHuݲ'.:j{wjjъ%[]-dOk -[i-JŌ*N<6F tZ.u<U;n0#,O:# K =ƙ9o,qIֱ}ejҽKSDtBe]H.4X}D\غoInnc/?T~?ꚹ٭iz-EqT1f՛1 }m!79RL.$?"T1,<:
-\J+=j
-]Znղzz&Vm,/ȣ0^-3xu , /rİij#h8J5HA\bqT`pE u#JRšT^FQ=? ~Me/:Ւ;^~o~'
-f"/4%V-)|IR67%Mƞaӿ+d
+xZn+7 +ѕ7`]gWtۮA({<r{xf2#:g:ޅ?NO?.NH8|$G N3p``܈ǿ?p>x(ũcz! Pᒜk/p2\s:}{y֠QJi "_>SkһsNSAl[=4gI5F){AsdBiAJϡknzyBPBA( R)tوgcth0n w~u|I) ƹH܍ 1p頓q
+h*@mEEr)zxF ejnC65G)[iB_Z T74BHl3yITMl[~܁Lr;A%>T|;VqI)0jhǔ\]]jx<8*$.W%%Z|.oAv$i0I#%J |V{PPT)7{^Q
+e5a:UC(W)x9 FʀfF0ĉ
+A)yqn/_) B܊<yG7 Si%_t8 \2GD>F(e] mu CIa0E!)<ZZ >V8^_OJZ@iw"qnxO6Yo)J{9I77o)#P+`z
+^R
+GKӲTj7Qi]L
+ZI soݍp˗g쪾zܾ63ѹS&e^a wJ.tHBpCNtZTG,8Hڄ.)FG~s)T-xiխ3TCyqL:vu R/O~1H4^,dϊ+\d O׊jn-R4>k
+Bъ>S T9tû %M.ec|'tKO}CqFR2^IIxEvdY.~ݼ2J-$CВr1"r'J]zW`B%;aS* Jj§=Use"8PpF.ܵ:Aߑ[a,LC^xG!u!(lMa(0@_%,}FbW?e҄=@3x':6Itu8Iyy`_IBMj,@˔\l1˶3Ji=A#5\hmx.;>ۼ$likg-XhS3hXǵЪ9/K:\GBc%t_m^t!Kr; {`0
+5_ޖ񰀢x='lHY_>xHٻxN->n ץ9"j1C~{?\v@r
+KL<LYs Dȯ?#%35o ʹɏ鉔|rOjX RR8\Z[7JR$|Ab |]6)TzvpɌTGd3Dj`FW0a<۟Tݹv.|ܴ}LSݟg;RD] SRmuϐ™[[D-oخjp[qw#[7YV5t7,+vR'V[x0y)F)->-mڥgFM޵^'5^jAHlS˞R]Y1Qa9sS`LDj
+I5-!҅] x-3^H94%8) |QI D;'IgְN1<z=}
endstream
endobj
-1339 0 obj
-<< /Type /Page /Contents 1340 0 R /Resources 1338 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
-endobj
1341 0 obj
-<< /D [ 1339 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1342 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 768.829 null ] >>
+<< /Type /Page /Contents 1342 0 R /Resources 1340 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1343 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1341 0 R /XYZ 78.37 808.885 null ] >>
endobj
1344 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 768.829 null ] >>
endobj
1345 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 757.87 null ] >>
endobj
1346 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 746.912 null ] >>
endobj
1347 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 699.787 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 735.953 null ] >>
endobj
1348 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 688.828 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 724.994 null ] >>
endobj
1349 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 677.87 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 714.035 null ] >>
endobj
1350 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 666.911 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 703.076 null ] >>
endobj
1351 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 655.952 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 692.117 null ] >>
endobj
1352 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 644.993 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 666.214 null ] >>
endobj
1353 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 617.933 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 655.255 null ] >>
endobj
1354 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 606.974 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 644.296 null ] >>
endobj
1355 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 596.016 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 633.337 null ] >>
endobj
1356 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 585.057 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 622.379 null ] >>
endobj
1357 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 574.098 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 611.42 null ] >>
endobj
1358 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 563.139 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 583.524 null ] >>
endobj
1359 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 488.259 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 572.565 null ] >>
endobj
1360 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 477.3 null ] >>
-endobj
-229 0 obj
-<< /D [ 1339 0 R /XYZ 79.37 453.248 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 561.606 null ] >>
endobj
1361 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 399.385 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 550.648 null ] >>
endobj
1362 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 383.724 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 539.689 null ] >>
endobj
1363 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 372.765 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 528.73 null ] >>
endobj
1364 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 361.806 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 453.014 null ] >>
endobj
1365 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 350.847 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 442.055 null ] >>
+endobj
+225 0 obj
+<< /D [ 1341 0 R /XYZ 79.37 417.307 null ] >>
endobj
1366 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 339.888 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 350.931 null ] >>
endobj
1367 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 324.227 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 334.991 null ] >>
endobj
1368 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 313.268 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 324.032 null ] >>
endobj
1369 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 302.309 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 313.073 null ] >>
endobj
1370 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 291.35 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 302.115 null ] >>
endobj
1371 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 280.391 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 291.156 null ] >>
endobj
1372 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 269.432 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 275.215 null ] >>
endobj
1373 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 258.473 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 264.256 null ] >>
endobj
1374 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 247.514 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 253.298 null ] >>
endobj
1375 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 236.555 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 242.339 null ] >>
endobj
1376 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 225.596 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 231.38 null ] >>
endobj
1377 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 214.638 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 220.421 null ] >>
endobj
1378 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 203.679 null ] >>
-endobj
-233 0 obj
-<< /D [ 1339 0 R /XYZ 79.37 165.23 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 189.537 null ] >>
endobj
1379 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 144.388 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 178.578 null ] >>
endobj
1380 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 133.429 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 167.619 null ] >>
endobj
1381 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 122.47 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 156.66 null ] >>
endobj
1382 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 111.511 null ] >>
-endobj
-1383 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 145.701 null ] >>
endobj
-1384 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 89.593 null ] >>
+1340 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1385 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 78.635 null ] >>
-endobj
-1338 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1388 0 obj
-<< /Filter /FlateDecode /Length 2422 >>
+<< /Filter /FlateDecode /Length 2108 >>
stream
-x[n3 )/Qw0p:vݨ 5c7npl5߈d_'~3?]~ݵ?)材pIf~hΥ 򏯿1ot=Њ)a(
-9W.kx:+\Sw :akD~K@U(qhUr+#{C;3 ft}\͙@+1ɜ%J!py *$rhS-&\z&c+ž(7n*PgmHʹ30rq[pn9(rjOJsM
-sdO|EW^q5
-u< w
-#^-|-XӃf +̥<%ݝb[vV >+ +drI?!tO3IN* ֺ6g*!UiW<+癵z]%fOZ2$[4I$2ys z2ÓQG0K3ztm?Jx`2ҭ6dP;hd ʖNgz<s8&-Q`^f[-I3y&QK AI}/:_8H9y<4m{Ly)L2F`tf[ᶓak0Etߎ7b|<
-.2;|c!N] 0"(5xLsLPZރGi<GaȑF/KP_W|x.Y]s$W063 qBb?ZzGcpAnw0./$qk>3m(=o+`e*mÐ{/x]'uMiwP_A']Lʺ\0%4 >A~?wKjNY4E[|4q^bE)\,W1wSx7O0!a+j
-XJE)C z(dFtneZx4IC~mK~I^юYE'Aɠ{ˑ+T(/¥,n2$GU#Bo44́A9 3*[67;%Q_c>T?rzBGVhC|pke>סaի+2hܑ\C *\jXZsYL1 +s<w t5Si|&e:^
-PK{qV2>֭5D\!K0@+=Q(N-y&R ƝDT9LDD}&Nq&`rG[PH܈Ev t/IL{]c""DHYD,5Vm
-^o!Mi[ eFJM%[
-[ _
-%p+ q.s@[_(
-&fSl[^"JXNWv>FZ)Vц[:ArvlB)hJ5ѐi ?܋yD3LT5 ty!,k=eza b GhsqXv*yiR֚-Se{C)r8eZfL8~T.hzǘFD+u$~TL\bL\^k)0b8!ԬI˻2ܒ5/]4Lq~J<dKGl\X.w=м /?DcCY[0 TJx0@F,ൎ5 -EZdl#m!% ~?(+Or]"2\z@'
-m&*I6L[2_͢7GU''3O,F6+Pno[ծ 1b3Ridzf9غH~_
+xZn#7+U\e[[kr_RlIMXdُ(~ߟNO
+#Yq_<qw/rɜV1`$2ݤd4e};[y^sm s`)Ȥ $HZ@k%A$y_B[t@d>ia4u I'rN7 %P
+O)n5sMxݷ %P
+L՘I47q͹mPP"7d[$3RXl3fybn- q̢ IQwlql;rQtΉbۮr2P2Γk5Q~O + 'Uɥ=ܱ S8kA"H>6AK&\0to?,D`ț"C\)6}<}Dq]<ũ#k\| vSqQ<G6@u`PArsS_,#ԂӬT1eR"\S.'( A4Tj/p(},wӤfi<ib輸K1j9$/Q!!?vùL$ -Gwiį( ٛg (B$ikhE6} -mIm'_Ir a; \+ JsAωMXs@kf\VLMtc cE7f .wjy|N:om'&UK.KPXL#NXkx\kJeil6]啦똶nQmN\ə$(;qLdWr3/ncK ,=۫f⽝yyޛ HdG-&2^n~o`XUӦa`3\6B+1cU}CD
+KiD-J|'BCQh~ eJ+j콙f2
+[tCla.7\G# .w\@V"T+R\{\#ʣK2oݽgpi} $%pB{lX͏.RyJSVh2tfp TK
+\W¨YţUp'4fՈ5kMASm{k7J]EG %d i`~bn̶s)r=#i<+knǒ#dS75S]8^QKVr9g˺}1j{lVrF ]~,:u lbpY׺]؍ڗ3 i#[xl3P/JojkNu|h x:R,\jv/343O8(8NN ?]molǿ\ՋDͼy͛|2RGPdGa1le=+m\>;uo˂`B ʼ/&
+΄3Tؽ",AU#G
+'¥vߒp #X`k{+"Bcz g2-4 hYrT5ñ{]oD65N?vb!bOFňQ&!,=8bdR$]nDӍ[LZ9Z6=H
+p*2kuCi>m An:尛􅀔W?Sl ^Iο-݈]8oV px_2=`W6ƍ)8`3NG%O?
endstream
endobj
+1384 0 obj
+<< /Type /Page /Contents 1385 0 R /Resources 1383 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
+endobj
+1386 0 obj
+<< /D [ 1384 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+229 0 obj
+<< /D [ 1384 0 R /XYZ 79.37 771.024 null ] >>
+endobj
1387 0 obj
-<< /Type /Page /Contents 1388 0 R /Resources 1386 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
+<< /D [ 1384 0 R /XYZ 79.822 751.43 null ] >>
+endobj
+1388 0 obj
+<< /D [ 1384 0 R /XYZ 79.822 740.471 null ] >>
endobj
1389 0 obj
-<< /D [ 1387 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 729.512 null ] >>
endobj
1390 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 718.553 null ] >>
endobj
1391 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 707.594 null ] >>
endobj
1392 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 696.635 null ] >>
endobj
1393 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 685.676 null ] >>
endobj
1394 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 674.717 null ] >>
endobj
1395 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 663.758 null ] >>
endobj
1396 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 652.799 null ] >>
endobj
1397 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 663.562 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 641.841 null ] >>
endobj
1398 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 652.603 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 630.882 null ] >>
endobj
1399 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 641.644 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 619.923 null ] >>
endobj
1400 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 630.685 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 608.964 null ] >>
endobj
1401 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 619.727 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 569.113 null ] >>
endobj
1402 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 608.768 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 558.154 null ] >>
endobj
1403 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 597.809 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 547.195 null ] >>
endobj
1404 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 586.85 null ] >>
-endobj
-237 0 obj
-<< /D [ 1387 0 R /XYZ 79.37 563.674 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 536.237 null ] >>
endobj
1405 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 531.101 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 525.278 null ] >>
endobj
1406 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 520.142 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 514.319 null ] >>
endobj
1407 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 509.183 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 503.36 null ] >>
endobj
1408 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 481.4 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 492.401 null ] >>
+endobj
+233 0 obj
+<< /D [ 1384 0 R /XYZ 79.37 468.944 null ] >>
endobj
1409 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 455.553 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 436.147 null ] >>
endobj
1410 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 444.594 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 425.188 null ] >>
endobj
1411 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 383.107 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 414.229 null ] >>
endobj
1412 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 357.484 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 386.334 null ] >>
endobj
1413 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 346.526 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 360.431 null ] >>
endobj
1414 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 335.567 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 349.472 null ] >>
endobj
1415 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 324.608 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 287.704 null ] >>
endobj
1416 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 313.649 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 261.801 null ] >>
endobj
1417 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 302.69 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 250.842 null ] >>
endobj
1418 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 291.731 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 239.883 null ] >>
endobj
1419 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 280.772 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 228.924 null ] >>
endobj
1420 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 269.813 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 217.965 null ] >>
endobj
1421 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 258.854 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 207.006 null ] >>
endobj
1422 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 247.895 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 196.047 null ] >>
endobj
1423 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 236.937 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 185.088 null ] >>
endobj
1424 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 225.978 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 174.129 null ] >>
endobj
1425 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 215.019 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 163.171 null ] >>
endobj
1426 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 204.06 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 152.212 null ] >>
endobj
1427 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 193.101 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 141.253 null ] >>
endobj
1428 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 182.142 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 130.294 null ] >>
endobj
1429 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 130.673 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 119.335 null ] >>
endobj
1430 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 119.714 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 108.376 null ] >>
endobj
-1386 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1433 0 obj
-<< /Filter /FlateDecode /Length 2893 >>
-stream
-xr ثT,sr-kr_XH엙l7. g:|ÿ>_~-_NH|E"~8}F0n^97
-?7Υ|?^xkq7FYm{(xΕuXW+Sk⽺>Ls&8S =0hHτ oxz vWd1]7 anjNGƽ:2޾6KppL 5;6SoC
-
-<^6;.t|zr7b[Cʬ*^Hpz
-nI҃9+aj61qp [Cxx^R@PVM M<RihR|Pj |3(]ܲeC>Jywx-⁕ dVԀMЕ*TG w~,~*&qnVݵXDY\爑 p4S5*Hq6XC
-*
-7ODC
-z(_@"th=HdڭՁBw(J<QY?+m9"45H={ӈ-ֆy?dg_Y;(Ql1eK rAPNe5?_˵JuP9bgRƟDޛT[|ZPNž=|j
-T%;f9󌐚a"3l%Tr*!P/Kd2R[jsk[ͤעRH"kU~Wҫ<j#7O,͖t<F%}kN1FoSzA.XUqSVTҝ*KDe]D{i7]zCu8cN%tR"eS
-uAzckU~U7P LXUL\ 
--|zl"|.0˓ٺhT[M977~Ф:9P~C≘bn9%Sٍr9ȫJeR3lוdTshW],FQYh r鷦!9`ra$Z\]XI-9Nی<ߊړ \'F1^*DP
-+=bzoU%1߶嘵J[m:^p%vt6VG\1)|ώӳ-}vCֈv7]U yA^2izZu0`c,fs]5
-tp-3,ea0{ك}ZudS\u?\ 8A_*STQu}ABBvzV9lE5docHnɷa[ }WHPqKWT7Fub(eICIQLNjm,!`29,ynj9XΜ1^pi<) f
-endstream
+1431 0 obj
+<< /D [ 1384 0 R /XYZ 79.822 97.417 null ] >>
endobj
1432 0 obj
-<< /Type /Page /Contents 1433 0 R /Resources 1431 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
+<< /D [ 1384 0 R /XYZ 79.822 86.458 null ] >>
endobj
-1434 0 obj
-<< /D [ 1432 0 R /XYZ 78.37 808.885 null ] >>
+1383 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1435 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 768.829 null ] >>
+<< /Filter /FlateDecode /Length 2970 >>
+stream
+xr#7>_C|V\eYVrm+i$A˲f3ʹZl
+ʽfؗy{YOL2_'<ɗ 'fd(%ǒ)=υ!Zʀ ҲʽPbWDHLp 
+EM)$ +#^!eC(y0K8 ሢ]M(e,k{7Pvq|jGIӪbNдZIbd,lxhDIT"|{0FkHj&v'L=c30xERZL
+%;3hh4ch
+xAw%ݽTHZ[  Ac3_C)ӴYκJ& ^8.⋍`ֵƥs9$,RY$ૅw-9/[[HUv% V\?tOJݍRw'PΣE=ۙ& +6Y6,gyS$z;^JGK8) L]-|e5&Ps|'R3.cx͖jK0qpMjuTF2m͠TY@i-6VLi,̨&˭$}OKJߊkyOp+~IH*h393ΩRPdpիWveh|XWV襞
+j()%*hMq{ "ӽhpa; !1tU4Jo92恘/%Re;)w#ً KA8rDzZ2lgkQQ6 uF)&[Z9Ŕ?K
+uPŸ$fHӬRjfz<Mo(h|[8kzj9
+ʈ=GD)KX)g0kZzu#P^f>̈́Ѧ":o| w^qԖy;ó|El /2=ͿjqߒE5tNu%ZYEyԱΕ)ꮅW[`}/1H&&T Ƣ5B,Wr~vGnh9*hD߿ǡGe8Ɓʍ{hĽu{ѻ d7x`E jy4S,:+׿\Xw RIP‡x4/ouB!x!&/0O"op1t!PE(5LaZqyW.DXw'x3.)Ogֹx>R$5{-jՠe7GwbU6ՙ]N1w28b|#fz뎗n!P~VاVnVS,+i攱IkJX6x,n[WM{ 8&38?BsT*o;,.<4iR3* ReXr}H
+endstream
+endobj
+1434 0 obj
+<< /Type /Page /Contents 1435 0 R /Resources 1433 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1436 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1434 0 R /XYZ 78.37 808.885 null ] >>
endobj
1437 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 745.915 null ] >>
endobj
1438 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 734.956 null ] >>
endobj
1439 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 685.222 null ] >>
endobj
1440 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 699.133 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 674.263 null ] >>
endobj
1441 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 661.316 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 663.304 null ] >>
endobj
1442 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 611.545 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 652.345 null ] >>
endobj
1443 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 600.586 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 641.386 null ] >>
endobj
1444 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 586.68 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 615.562 null ] >>
endobj
1445 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 575.721 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 577.783 null ] >>
endobj
1446 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 564.762 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 528.049 null ] >>
endobj
1447 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 553.804 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 517.09 null ] >>
endobj
1448 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 542.845 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 503.221 null ] >>
endobj
1449 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 503.245 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 492.262 null ] >>
endobj
1450 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 492.286 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 481.303 null ] >>
endobj
1451 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 442.515 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 470.345 null ] >>
endobj
1452 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 431.556 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 459.386 null ] >>
endobj
1453 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 420.597 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 420.008 null ] >>
endobj
1454 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 409.638 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 409.049 null ] >>
endobj
1455 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 398.679 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 359.315 null ] >>
endobj
1456 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 348.908 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 348.356 null ] >>
endobj
1457 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 323.047 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 337.397 null ] >>
endobj
1458 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 312.088 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 326.438 null ] >>
endobj
1459 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 301.129 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 315.48 null ] >>
endobj
1460 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 275.435 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 265.745 null ] >>
endobj
1461 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 235.668 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 239.921 null ] >>
endobj
1462 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 224.709 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 228.962 null ] >>
endobj
1463 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 199.015 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 218.003 null ] >>
endobj
1464 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 188.056 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 192.495 null ] >>
endobj
1465 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 172.2 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 152.802 null ] >>
endobj
1466 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 161.241 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 141.843 null ] >>
endobj
1467 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 150.282 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 116.335 null ] >>
endobj
1468 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 139.323 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 105.376 null ] >>
endobj
1469 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 111.511 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 89.593 null ] >>
endobj
1470 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 100.552 null ] >>
-endobj
-1471 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 89.593 null ] >>
-endobj
-1472 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 78.635 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 78.635 null ] >>
endobj
-1431 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+1433 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1475 0 obj
-<< /Filter /FlateDecode /Length 2185 >>
+1473 0 obj
+<< /Filter /FlateDecode /Length 2621 >>
stream
-xZr6+U-MUξrMNk%k2@"Gz#?uoOI~{Zޞ^=F |n? <h%W#!q'0^  JAPLKݣCš;?ss  2?_KnqR
-<)>Z&{oQf*U>Zc!KRm"aӉL9[DS0>_5؀G^_"HYf
-t+w 5-B<VX!K7m}pTYu~n*݌?%S0B1hiE)*KXOO
-FSs+Ec 1t(ah9R &MR]K먶vz|)1_kq"훧 ˤlpN/-
-4BzkώTb]LWǶa夠*
-ǖ=FPy$jc!qjeLIu/ѯ'he s#9F_n]F~y$+FB#${5s_z+&1Umf<'RDzS :" j;Ur`J1Py
-(ޙ6$lB"(v|mc) +D%0Y8D#+$81t+={)XzIGŤJ -NYQ %%]Ey6 :Kbm"ʻJ _nKnZ-ୈ!͍xj߿'&nuQ󥬮<Y@ :}"KI$ݚ8foR2zKe6M?Kw?Px/H2</ u|-@BJ `O\0şOH?r6%3z'si8S\x;d=RTqӡRm^0)d@wOݙq~QP0猏f/qY0FKZQ#unZ
-u! {.U)5\WeQ^4/q`urkk~%c7b Tڡ;7҆ dCj fB .fݡrctfvR1hW K
-ݯ.9u2=9KQk`\rGe^oY .vUO^gjQ>[;
-hKkeeܡg(՗}ݡ<\2ACp5PY]f& g+w `*'INuȬdY[FN_yĢ y`5Hoh䇐+_f&j$6)8صMHPL6;·]iayN!C6ߡGEBhFi;!bw(ZG,vFo Ձ<a$}Bf~ڂ]Vq_Cį q,))J(}~,j,qfu1 F%緧
+x[n$9+J%QNGsm0י1f8.=s33Bz")k/<q7M 2gǿ/b.F Ƶ|g5r.T/Ϙ?7˜ BhfQ \=
+\ y~>O-s*^8&RO)"MZ mSn$4ZDW: 8/4ix ظc>""Գﰥq׫z/)3Ra^AЕ p]}f[hz\5PqTk2sT6Fg)D&%5%kQ X=|eA^3V02
+T`雂3J)-&EDONUNۀ4f#)MTylyNi7P$Kv1 2?oY#xM^pjvF@.Eʜ~cyhr`]PCuaV|3ݭP
+юdq̨٘6IB p?Ÿ`@\on,ͭ=rڊR/y^6իMҒ}O6A5EqjL?SޛD)Lb(H(յ(3u-:0~NAQ+ ֊eQẌ́(}M-DLуЎ_+,PX@DТ|QLa3" _F&ő=iq(_T#t6]2(%H݋D_DҢ|M$OZi
+f&Vf4GvZbPh9ia@qĥ'3sؒf˳X~4u%{QTLI$Z
+Ur)Tz
+4͸uMShoZ_lSzgQjf$
+'Q-Jb8y<БjQ K$p9PI (*SEZ13Un*+Љk/N]yY >^w y]ۗ͞^O'`IefN_.!+f 35AȐLNdW
+%:xd֗SgZ 4K%In&:cu:wz*$cdaGRx
+T.yv{i4JXEtl/WÕ6ɘlD^_~ DC4B
+:P}gr,m԰ᑚy*ʥ>i$:n]TL0uI\9낱E{k jdvwuYw sg|y|PbOnU뮕{W<4Bc9*$~lR#dإC9/|+fQP(׫!PKQh &>Y8.GLCs&p?h
+r؊x&%,UO\ύF"'y3]@f:<Vzrv>Q#BҺ~rXLr4#3+r{.m l5GXCʛ#&M5NjC,-[(\L)$<-@Z(m纔1X,1P֌Pì !=gcSn|q$\l s`{pop|6ox/ʯw
+Z0kCP^P ŧZ[Oe1t(>/, u?:0 g@g\eP >]öIKNRwWiTԵZ뺻§mFPdP̨kQH몵+|ҩq6֡=iQ٭:+e
+J_wf«ls< 
endstream
endobj
+1472 0 obj
+<< /Type /Page /Contents 1473 0 R /Resources 1471 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
+endobj
1474 0 obj
-<< /Type /Page /Contents 1475 0 R /Resources 1473 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
+<< /D [ 1472 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1475 0 obj
+<< /D [ 1472 0 R /XYZ 79.822 768.829 null ] >>
endobj
1476 0 obj
-<< /D [ 1474 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 742.11 null ] >>
endobj
1477 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 704.84 null ] >>
endobj
1478 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 693.881 null ] >>
endobj
1479 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 682.923 null ] >>
endobj
1480 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 671.964 null ] >>
endobj
1481 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 661.005 null ] >>
endobj
1482 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 623.735 null ] >>
endobj
1483 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 610.375 null ] >>
endobj
1484 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 599.416 null ] >>
endobj
1485 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 681.158 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 588.458 null ] >>
endobj
1486 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 577.499 null ] >>
endobj
1487 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 659.24 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 566.54 null ] >>
endobj
1488 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 648.281 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 555.581 null ] >>
endobj
1489 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 637.322 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 544.622 null ] >>
endobj
1490 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 587.509 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 533.663 null ] >>
endobj
1491 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 576.55 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 522.704 null ] >>
endobj
1492 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 565.591 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 511.745 null ] >>
endobj
1493 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 554.633 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 461.116 null ] >>
endobj
1494 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 543.674 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 450.157 null ] >>
endobj
1495 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 532.715 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 439.198 null ] >>
endobj
1496 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 521.756 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 428.239 null ] >>
endobj
1497 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 507.808 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 402.924 null ] >>
endobj
1498 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 496.849 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 391.966 null ] >>
endobj
1499 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 485.89 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 381.007 null ] >>
endobj
1500 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 474.931 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 370.048 null ] >>
endobj
1501 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 463.973 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 359.089 null ] >>
endobj
1502 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 453.014 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 348.13 null ] >>
endobj
1503 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 442.055 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 337.171 null ] >>
endobj
1504 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 431.096 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 323.811 null ] >>
endobj
1505 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 420.137 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 312.853 null ] >>
endobj
1506 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 409.178 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 301.894 null ] >>
endobj
1507 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 398.219 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 290.935 null ] >>
endobj
1508 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 387.26 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 279.976 null ] >>
endobj
1509 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 376.301 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 269.017 null ] >>
endobj
1510 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 365.342 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 258.058 null ] >>
endobj
1511 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 354.384 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 247.099 null ] >>
endobj
1512 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 343.425 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 236.14 null ] >>
endobj
1513 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 332.466 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 225.181 null ] >>
endobj
1514 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 321.507 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 214.222 null ] >>
endobj
1515 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 245.791 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 203.264 null ] >>
endobj
1516 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 234.832 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 192.305 null ] >>
endobj
1517 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 223.873 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 181.346 null ] >>
endobj
1518 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 212.914 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 170.387 null ] >>
endobj
1519 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 201.955 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 159.428 null ] >>
endobj
1520 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 190.996 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 148.469 null ] >>
endobj
1521 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 180.037 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 137.51 null ] >>
endobj
-1522 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 169.078 null ] >>
+1471 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1523 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 158.119 null ] >>
+1525 0 obj
+<< /Filter /FlateDecode /Length 2467 >>
+stream
+x[Ɏ#9WJ% \\gNH;䪬`񂤸<RJyIxBw?^.?^ߴ?N!~EI%Q=uQJ4o,oNNxc
+
+-}\&oae(=\d/o*%bXvUs9NJA"[*.bg(9FkqPr&%I5_Q/JၸGkd krV>H'QZQWy[nSJ:ZG_;!NR,1'pVH&ťP \Ŏ|Dh-m6v%ϭ%]MpەkE`o˵t|jW e[&{M- .n`Tp3 |
+E=:#ʽyz?]
+(ujޮH4ʧriϩo'[yrz5|&NܜClT^ANY/MbW=
+j3 *5AiUնIk2U'GN~ Hn@8UK?|IJhQ\RCYo/Є̜HvoL"yaPkxgm!=e(#b{y'IGtQ.|ӲPw9nEjP:4SIH0H7% t=JAkVQ%N8ک '
+=S\K{Uoيtg`+7
+o^ZzbS Ѳ9XZ({mZNPH;s 
+8i{hTta /+@('Z# DکV&iOp@*~\C3A[?gsZ<1R'5SgG>̃]`.QVԟԟwEiziyx3aEnƎ<ezux :'uXT m',OV'cXhd=rE^ϼGbTf-JsDlk;gE /mjauPWBON[Pp'H23Cpfǹg2(<!GiMama 7lkK
+εyІ0QWϭ)6ׇޢM=JgIX)~wڽ BJ暤n]I.}#]{l<eL?<-QE :qLy0j}im&dcNUef*c3J4iq?
+ic~KA13iStrܱj`rPņ`B>v3ReOU~w
+ܾowzC>$7ʙH
+tS;8c(SZ+C6*s*>2
+"?C`m ezj~bK(t4>lC79{`ؒlS&h? r^'F9AVY<
+endstream
endobj
1524 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 147.161 null ] >>
-endobj
-1525 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 136.202 null ] >>
+<< /Type /Page /Contents 1525 0 R /Resources 1523 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
1526 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 125.243 null ] >>
+<< /D [ 1524 0 R /XYZ 78.37 808.885 null ] >>
endobj
1527 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 114.284 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 768.829 null ] >>
endobj
1528 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 103.325 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 757.87 null ] >>
endobj
1529 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 92.366 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 746.912 null ] >>
endobj
1530 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 81.407 null ] >>
-endobj
-1473 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1524 0 R /XYZ 79.822 735.953 null ] >>
endobj
-1533 0 obj
-<< /Filter /FlateDecode /Length 1964 >>
-stream
-xZKo6W,
-i
-4@-3( x)ɅpA@|pYzA8+F{nZ0eᤵ(+
-Tsʚ ;.)Wqº%$YkQYGn22U1FXRVxp$˚mZGZKۚRinެ KYr] 9TRjpf z*$00/@JSH_t\z>Tx*Q5-%mt>l֘8Ci~\Y{ ߪ)MwTD!ۣJj,g() JɄ_D HEd5 ,unrK-v]Zљ
-+BDd֠,HoQSB)u5Y3mVYeX)AOS{J%ull{l]{(Tݚr.nٳ7J{<rU\Pd(oUd]vdcEG.t
-/JܧYDH3͒TqV aoTG 0@iʯ䅑iJd(h@c.3Q0 8C8Ƃ Y[r@R kܰ8{Dq$޼WCޥz\j œF iL#PRxKnC !`jykyxаn2{$gPNHo'sT{AZ tiPvu6ƳZ0lĀO%V-\ Oh1.FV.
-~K2
-` \poN}Q7mP]61ʿ_oi {xy i;}xuݹ5 *3DpAacG^\ZUGO|"mM~
-h7Nc™>yQHF)2剛Bbt@9m~Y;T* =j6;
-q.9.dO
-?&"Dɭֱ*%Ah䜫{ݱMD]ޫZ:[%K1SG_5wl
-cprOЃ:W&ome|+Bg7+!„Zfp$Vҥ
-endstream
+1531 0 obj
+<< /D [ 1524 0 R /XYZ 79.822 724.994 null ] >>
endobj
1532 0 obj
-<< /Type /Page /Contents 1533 0 R /Resources 1531 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1524 0 R /XYZ 79.822 714.035 null ] >>
+endobj
+1533 0 obj
+<< /D [ 1524 0 R /XYZ 79.822 703.076 null ] >>
endobj
1534 0 obj
-<< /D [ 1532 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 692.117 null ] >>
endobj
1535 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 681.158 null ] >>
endobj
1536 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 670.199 null ] >>
endobj
1537 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 659.24 null ] >>
endobj
1538 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 648.281 null ] >>
endobj
1539 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 637.322 null ] >>
endobj
1540 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 626.364 null ] >>
endobj
1541 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 615.405 null ] >>
endobj
1542 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 604.446 null ] >>
endobj
1543 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 681.158 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 593.487 null ] >>
endobj
1544 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 582.528 null ] >>
endobj
1545 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 659.24 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 571.569 null ] >>
endobj
1546 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 648.281 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 560.61 null ] >>
endobj
1547 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 637.322 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 549.651 null ] >>
endobj
1548 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 626.364 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 538.692 null ] >>
endobj
1549 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 615.405 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 527.733 null ] >>
endobj
1550 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 565.591 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 516.775 null ] >>
endobj
1551 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 554.633 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 505.816 null ] >>
endobj
1552 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 543.674 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 494.857 null ] >>
endobj
1553 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 532.715 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 483.898 null ] >>
endobj
1554 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 521.756 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 472.939 null ] >>
endobj
1555 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 510.797 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 461.98 null ] >>
endobj
1556 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 499.838 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 451.021 null ] >>
endobj
1557 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 488.879 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 440.062 null ] >>
endobj
1558 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 477.92 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 390.249 null ] >>
endobj
1559 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 466.961 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 379.29 null ] >>
endobj
1560 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 456.002 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 368.331 null ] >>
endobj
1561 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 445.044 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 357.372 null ] >>
endobj
1562 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 434.085 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 346.413 null ] >>
endobj
1563 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 423.126 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 335.454 null ] >>
endobj
1564 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 412.167 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 324.496 null ] >>
endobj
1565 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 401.208 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 313.537 null ] >>
endobj
1566 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 390.249 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 263.723 null ] >>
endobj
1567 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 379.29 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 252.765 null ] >>
endobj
1568 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 368.331 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 241.806 null ] >>
endobj
1569 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 357.372 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 230.847 null ] >>
endobj
1570 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 346.413 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 219.888 null ] >>
endobj
1571 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 335.454 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 208.929 null ] >>
endobj
1572 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 324.496 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 197.97 null ] >>
endobj
1573 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 313.537 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 148.157 null ] >>
endobj
1574 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 302.578 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 137.198 null ] >>
endobj
1575 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 291.619 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 126.239 null ] >>
endobj
1576 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 280.66 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 115.28 null ] >>
endobj
1577 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 269.701 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 104.321 null ] >>
endobj
1578 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 258.742 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 93.362 null ] >>
endobj
1579 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 247.783 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 82.403 null ] >>
endobj
-1580 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 236.824 null ] >>
+1523 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1581 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 225.865 null ] >>
+1583 0 obj
+<< /Filter /FlateDecode /Length 2821 >>
+stream
+x[Kϯ0M`
+۠Sf|
+lL77 )"hũ7OO湳5'*Mő#%ìz/ 
+DYKJ'@
+!
+08-?>UW*&#_}Yeܸ5P!|goݾU8^iy?h\ Re^5:0W\r  8xRe@L4*#eU>Cs@S6mcd)tm/.ma\R^B.2\mB5~pJk151^z`a^祾znyl^W.Lۥ4{#cn5my鎇|AQz03Gld r|5򊢛Ȋal ZWo?k;=N=q@_@y|>,mЧCQ9^ [/KFe|ǥڒt `fB3rÒoZwQ+/<LpByTNXL;2*TѴHH!Z!2*d$׉m[c}| lk89A|r&n h@v(e1+I6erTY]%VpFmO7 e,СVrZ^ű
+ܷwXu\;ojm:*Of~OtpT%T[#S7hB`̼/իOcgu[}3*[gC] ΰ<5gq'S0.Oߝ]^Z»?;P"юINMb|<M!R#":D߿X+
+ϟtUz$c'C2<Ͳ՟AE#TD&ciBr]Qʖ݁gr
+Z
+endstream
endobj
1582 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 214.907 null ] >>
+<< /Type /Page /Contents 1583 0 R /Resources 1581 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R /Annots 1626 0 R >>
endobj
-1583 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 165.093 null ] >>
+1626 0 obj
+[ 1580 0 R ]
+endobj
+1580 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 435.916 202.655 446.343 215.384 ]/A << /S /GoTo /D (Hfootnote.38) >> >>
endobj
1584 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 154.134 null ] >>
+<< /D [ 1582 0 R /XYZ 78.37 808.885 null ] >>
endobj
1585 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 143.176 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 768.829 null ] >>
endobj
1586 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 132.217 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 695.106 null ] >>
endobj
1587 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 121.258 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 684.147 null ] >>
endobj
1588 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 110.299 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 673.188 null ] >>
endobj
1589 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 99.34 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 662.229 null ] >>
endobj
-1531 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+1590 0 obj
+<< /D [ 1582 0 R /XYZ 79.822 651.27 null ] >>
endobj
-1594 0 obj
-<< /Filter /FlateDecode /Length 2841 >>
-stream
-xˎ(_?Ќ
-4f: A_kv폧47/<*~&o moXP~eVߵ mYeQO΄'#<bd/ VU*H0U7@-1B%<~m( b6k٢Ot:5PfJz<;' &3%CzY Og!C@04zC
-){l#eHى }z02Q3CI٪59ԤGV[АV J<i l+=ܘRj+t G5ѬI1
-
-YlF-:ǾMA ʸ.?.ǝs9a:ih J*ŊYp502GJOG%)uPm;sN:hq&f
-]: HtpsԎk5CZyEs#MIlx&m߿SXj5{pGZGB ބ}8[!i֜hCI-%wz1d61n Q)Nֆ0"+0P("LVcq.g2A80'Jγϱ%߽$ckBO1AZx!Y '>lI5Q)- qV
-jC\9z(׈?cI:a0\Dl{Œ#őUe#PGSݬ\+W~efCHzcbš({fR+-揚IuMƅֶ߸.uyݚ8MRP2̋|%z׶&ZZjy{+&$>Vun`QQ5iTj7|;Qb5SρĐS:! WJCH8)PzPx$;Tkd1x8DVEI)(}OJ%sba*5\f&`0di݈^};!;hiZƽ؊-쳋ĖgUPf2N;EqAC6R qPJ;kTCԃ`
-!ehX[Bz$7$j$ErqXwڟSh ki;tgNRZ1e) ?M "?]sNe)yYZ7&["|M@}n282Wt ڢhqMF7p'A,ƍkk` iƟҌr4(m{4M(AXR^j:ֺl'P%zN]A1M~*cPNapcR=bPv% ܨtͯ:32jwhb'̊p^n傖h)bObaB H?l-[i#I-iP!l Cq4ζ&L&A%V=L{~KU,XkrCAA9LiFg|h"|uJ[! ΉΤ >Vr(*o&Bա\Tc$jD;z. NrkA(75\\%5 1
-7c)9r6m(TT:v
-8m/b L/A5}SJ9굕o1wx{ֳ3WJzFZ_PwH7Sʅ@{6^LP0([CޥKvBVb꬧7Ӝl])N#U
-endstream
+1591 0 obj
+<< /D [ 1582 0 R /XYZ 79.822 640.311 null ] >>
+endobj
+1592 0 obj
+<< /D [ 1582 0 R /XYZ 79.822 629.352 null ] >>
endobj
1593 0 obj
-<< /Type /Page /Contents 1594 0 R /Resources 1592 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1582 0 R /XYZ 79.822 618.393 null ] >>
+endobj
+1594 0 obj
+<< /D [ 1582 0 R /XYZ 79.822 607.435 null ] >>
endobj
1595 0 obj
-<< /D [ 1593 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 596.476 null ] >>
endobj
1596 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 733.96 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 585.517 null ] >>
endobj
1597 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 723.001 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 574.558 null ] >>
endobj
1598 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 712.042 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 563.599 null ] >>
endobj
1599 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 701.083 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 552.64 null ] >>
endobj
1600 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 690.124 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 541.681 null ] >>
endobj
1601 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 679.166 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 530.722 null ] >>
endobj
1602 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 668.207 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 519.763 null ] >>
endobj
1603 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 657.248 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 508.804 null ] >>
endobj
1604 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 583.524 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 497.846 null ] >>
endobj
1605 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 572.565 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 486.887 null ] >>
endobj
1606 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 561.606 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 475.928 null ] >>
endobj
1607 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 550.648 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 464.969 null ] >>
endobj
1608 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 539.689 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 454.01 null ] >>
endobj
1609 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 528.73 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 443.051 null ] >>
endobj
1610 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 517.771 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 432.092 null ] >>
endobj
1611 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 506.812 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 358.369 null ] >>
endobj
1612 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 495.853 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 347.41 null ] >>
endobj
1613 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 484.894 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 336.451 null ] >>
endobj
1614 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 473.935 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 325.492 null ] >>
endobj
1615 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 462.976 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 314.533 null ] >>
endobj
1616 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 452.017 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 303.574 null ] >>
endobj
1617 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 441.058 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 277.671 null ] >>
endobj
1618 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 430.1 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 251.768 null ] >>
endobj
1619 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 419.141 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 240.809 null ] >>
endobj
1620 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 408.182 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 190.996 null ] >>
endobj
1621 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 397.223 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 180.037 null ] >>
endobj
1622 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 386.264 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 169.078 null ] >>
endobj
1623 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 375.305 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 158.119 null ] >>
endobj
1624 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 364.346 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 147.161 null ] >>
endobj
1625 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 353.387 null ] >>
+<< /D [ 1582 0 R /XYZ 93.716 117.414 null ] >>
endobj
-1626 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 342.428 null ] >>
+1581 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1627 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 331.469 null ] >>
+1629 0 obj
+<< /Filter /FlateDecode /Length 2689 >>
+stream
+x[n#9WMFpNj`ξ :svpR욮9Ne&X)~υ_}.1Aǿz/bCs1Z0㿗^9s4/3rouLsN"~'>7x@w=wD>if5xFH_\Ӽ߅'?4).
+Q
+Jy avWз^wkz>
+)
+UܹΣ1X(Nn!Z p-ŗMsSXa\'4CMW줠fqs&
+Kyf%6v ^kgO4)<#"ST#dmz'}ɑI^NIr#Oga|·. H^&=zfJ&}6S`yj^)^# 6WZV+40B<o:p!c!j^Cn?mz0:ȳH9S[ OfSrJ|Rod6ª zY4n;f}RݷB:4xXO!²_7|i:|PY̸fIM5i٬
+wJ*my'Hٌ&5ɭm>sXcIcWs7׬=dHzHb07zC 2|q6Q֍^Z-V@F!ĠSjU
+8 /(
+
+endstream
endobj
1628 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 320.511 null ] >>
-endobj
-1629 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 246.787 null ] >>
+<< /Type /Page /Contents 1629 0 R /Resources 1627 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
1630 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 235.828 null ] >>
+<< /D [ 1628 0 R /XYZ 78.37 808.885 null ] >>
endobj
1631 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 224.869 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 733.96 null ] >>
endobj
1632 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 213.91 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 723.001 null ] >>
endobj
1633 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 202.951 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 712.042 null ] >>
endobj
1634 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 191.992 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 701.083 null ] >>
endobj
1635 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 166.09 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 690.124 null ] >>
endobj
1636 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 140.187 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 679.166 null ] >>
endobj
1637 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 129.228 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 668.207 null ] >>
endobj
-1592 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1640 0 obj
-<< /Filter /FlateDecode /Length 3243 >>
-stream
-x\ˎc WZD=Br
-3M ,'v".ß~
-ܙaނ=w
-QHN1cM| Hg>~Z_UڗrqPN }'߭ P_Ra6$yWeԣ
- 0RQ8x,萄,(3"-""xoF?8eݲ^CǞ+Pa
-T t
-ib> s }NJ3dgx@ʅ縐 +)Ʊd›iOepx1.a
-O7G\(6¤-_E}i<2v=ud{Frg=NPY0[L+£akѿ+E> .w5׽+w"6
-x T?N>c]O|9OT~
-&Qgj~ ;˸Y0<" RY΄nFPKKo1}Ly%s%GZK8|PRf+-zݮ
-YA fH\nk\!m1P6/bugKް.+0-ݏ܅~ʞ;N̴ap\صE~I\X0Q#UDcHuB$6)1&y
-'i$*jGEɸIKt>r^>t%\Z?;H#r qFì 粒9T:؜IOGu7!fs[{Q1v
-^̉_3c.gnޅ&lkoP JLcQJ4{S Vc_
-yG~Ko P*l97lmFJ SfervaH5utW~+q=do;%mآ+zXD*O(&ޣz˳QLzE[=P%pq6TB%zβݲ{'^6`rb;RH@L%I"Znr3!ɢU>*S3 o 3t'wYV;`/2\(`IeZXjb0Rٱ Vҵ`8MBʹ<:'Glw]3E&$QcHsv%L,GwWޒd<JSbw aW\x0b9UVڵZtƊ\uUPFLNqS1J0TaKG|Z~lhr(^cr2SK PD@Hi(Erp.N* eU84_ke,<V'FtvT\ZKMja*#ٍfUž-ʳ:a}:D<Ig[7R|Fy 5u91 xPx7N; %z[0WV02T:W@&EVKV۠VR{1!SqC!x29GrΨ
-ofx@Ő
-p]P5.^N΅Mov\t,0[{ }2ga"ܑ>'e 5e,T3al#BL\HS"_<%bmiA3zOOG*O!*7J*P,)SSlBe(
-޹`/Wl+~FwŎyR1/ӿ⢙`h(2+p8tEW̢b9䇵Z%?KK3 HLyT=/0D/0aApK/P~<XO?
-tg )n&e- 4(PKlU"@yJqx,qIkkZZ8<Wg4f񕉯Jw<z O7
-endstream
+1638 0 obj
+<< /D [ 1628 0 R /XYZ 79.822 657.248 null ] >>
endobj
1639 0 obj
-<< /Type /Page /Contents 1640 0 R /Resources 1638 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R /Annots 1685 0 R >>
-endobj
-1685 0 obj
-[ 1591 0 R ]
+<< /D [ 1628 0 R /XYZ 79.822 646.289 null ] >>
endobj
-1591 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 435.916 757.574 446.343 770.303 ]/A << /S /GoTo /D (Hfootnote.38) >> >>
+1640 0 obj
+<< /D [ 1628 0 R /XYZ 79.822 635.33 null ] >>
endobj
1641 0 obj
-<< /D [ 1639 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 624.371 null ] >>
endobj
1642 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 745.915 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 613.412 null ] >>
endobj
1643 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 734.956 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 587.509 null ] >>
endobj
1644 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 723.997 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 576.55 null ] >>
endobj
1645 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 713.039 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 524.745 null ] >>
endobj
1646 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 702.08 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 513.786 null ] >>
endobj
1647 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 652.266 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 502.827 null ] >>
endobj
1648 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 641.308 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 491.868 null ] >>
endobj
1649 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 630.349 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 480.909 null ] >>
endobj
1650 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 619.39 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 469.95 null ] >>
endobj
1651 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 608.431 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 458.991 null ] >>
endobj
1652 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 597.472 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 448.032 null ] >>
endobj
1653 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 586.513 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 437.073 null ] >>
endobj
1654 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 575.554 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 426.115 null ] >>
endobj
1655 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 564.595 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 388.256 null ] >>
endobj
1656 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 553.636 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 377.298 null ] >>
endobj
1657 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 542.677 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 366.339 null ] >>
endobj
1658 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 531.719 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 355.38 null ] >>
endobj
1659 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 505.816 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 344.421 null ] >>
endobj
1660 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 494.857 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 318.518 null ] >>
endobj
1661 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 443.051 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 307.559 null ] >>
endobj
1662 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 432.092 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 296.6 null ] >>
endobj
1663 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 421.133 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 285.641 null ] >>
endobj
1664 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 410.174 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 274.682 null ] >>
endobj
1665 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 399.215 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 263.723 null ] >>
endobj
1666 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 388.256 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 252.765 null ] >>
endobj
1667 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 377.298 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 241.806 null ] >>
endobj
1668 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 366.339 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 230.847 null ] >>
endobj
1669 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 355.38 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 219.888 null ] >>
endobj
1670 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 344.421 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 208.929 null ] >>
endobj
1671 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 294.608 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 197.97 null ] >>
endobj
1672 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 256.75 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 187.011 null ] >>
endobj
1673 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 245.791 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 176.052 null ] >>
endobj
1674 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 234.832 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 165.093 null ] >>
endobj
1675 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 223.873 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 154.134 null ] >>
endobj
1676 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 197.97 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 116.276 null ] >>
endobj
1677 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 187.011 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 105.318 null ] >>
endobj
1678 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 176.052 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 94.359 null ] >>
endobj
1679 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 165.093 null ] >>
-endobj
-1680 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 154.134 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 83.4 null ] >>
endobj
-1681 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 143.176 null ] >>
+1627 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F85 439 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1682 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 132.217 null ] >>
+<< /Filter /FlateDecode /Length 2756 >>
+stream
+x[r#W%E(!6Y75v REd|E~ύvLJ7ϼn&?Mܬgެq/\#dGxx%z5?ah'z`^}y?VJ6tJPYK-fܩ#*±a=o⃫,^DS
+~2HSn#0dy9(ĆR7Hmv>H,
+YWesx_y`QOe25@|`'u/wL
+)]#YMLZWPoN[]W˾=tX]Rg:fϠ<oJsIt`[N!Tn.X(,0J2QU\F a>#]TPK+kzE>OTLrUe7n2Zٰri G={ETe (2v¹A)P2I8c<;p`SrcԦgyg?9łUV=B22 Sknjlvn3EzLӘ*w9JLI3%"uu A8b [򲢺Θ!hnø(!Rs9?5G V)\S:r|QY*3 Z9teIM)NN *t:O~TªVSpZ@:Hg@ڎ˄
+pڭm
+GYV~eL%!%:{HQ~||\ӪPbJY!je-pBRR~Z;WS)Z0%WPwZ@ªJL.?
+/@{M#/?Š3/BjXtٚ|]T\P9*0u~ն"ި2zW]SIW1%;jD>)d2TW+R*lfKٸZ6 'Z:`-7;wu։5&XR[!٨u\Q-gd+]Vn0( hT}f?s9Ð):* ~m:
+>:\RC͟teuSwT;j5&Mull`Nj2 G)jkf~ZRJv*q AǪYW= sahzPT Z]k_+\b?rU-ƹ{ۢ#i[}d*ȒVK=VQ<tc7KSƨcd[]+SʼnL/<@|Qi([C[o TNlKm%z谉˅1{LBUw~D.|&W0+L~R* @܋?r<}}VmvzXk)7UWgqwqLRd
+RZZJ w,<Cmk{?]{M0\Y1jG1:H>"z3RK2vk]{TָɨQF FD^l =3 0#{JJ->F(_Dʌ6Cy(:CO;ZX& )¥`7}mI,W;&Tu2`#T,jU[4ᄝkթ#T5&gN:ti*wok_jJWbXǜH .mvBEm6LvA.Owa"OVӻX=\;LRfchXzjʉjy}уx/'DT-M/c3[`uGQmzbm%HBe{JX8&l%)\燞89rgrVjkEaM^85u;?.j`C) k(FFs5`3 ?+=b0 ,wo`@fMnawo`a
+Hsi@SJ4+!ɭ#Su^+yMc$S}ތ<lYM^c<`x3}
+ž7
+endstream
+endobj
+1681 0 obj
+<< /Type /Page /Contents 1682 0 R /Resources 1680 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
1683 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 121.258 null ] >>
+<< /D [ 1681 0 R /XYZ 78.37 808.885 null ] >>
endobj
1684 0 obj
-<< /D [ 1639 0 R /XYZ 93.716 90.265 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 745.915 null ] >>
endobj
-1638 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F59 346 0 R /F84 425 0 R /F85 437 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+1685 0 obj
+<< /D [ 1681 0 R /XYZ 79.822 720.012 null ] >>
endobj
-1688 0 obj
-<< /Filter /FlateDecode /Length 2713 >>
-stream
-x[n#9+" 0 XU}4KJ'5CVIieD0H˿.3>\^~ޕ sVH|""~Xu1Z0ߗrK/<c[X洖Z2+Evw|GLpЊsΑa$P
-xGݴx>wy~@ewHWlNv ~{Zv!||[1P9Z`ZS^^#V"ex>ǰ6kZpHx=tve /"3}ݒ
-R,N`I)lԻ_;jNLsPPh)# 1U bJ~qn ;L7NQwm M*,H=#JZǶs Wq"ky3gwYdL|3-#(;,ɴc,O
-+#JWz!^c3Ƙc_eBÛj::[nXugu kZgt&\
-JpW)&C;Hx}TSF֮ic,3MIGOZS3Gᑻ"@x]EBzg:"}g Q!Bރ#ZƑrnn1*i
-#'T?pvP|9N-9H׉;
-zzgsb6H~ѯ[6&yƻDK-
-/n[G"9^4%o8t@L J )R8Cq07=|S ҅y^))'=(]ֶ4_g".^hNNVl*ÔI՞ʏ(Ϟz.@ۦ$$#zO3j[ /Ay /I=v =2F,nk"2
-foygkE߆&XSZ!(q 4O9ǒ6PjwaDGN@EuDQtj/
-{MO# UX1PG zFHOlru&hҍ1}SR!`6t\SC'Yui6mCi𲴒e>QЯsQ||[3SMtTV4 b+Y r' >ﱀ놷֪W}+a%Lݵ.SZ Vd|qa ;dIH^& l,\k4J&FZm}4Jн ƛ&[y_F(<yՖ#)6e7މxδ>qv-@F%pXg@nԙPaɅh\{Ad>gǬsjrO"O9vu9m>ݶsz Īz>sCf4n Z>`d9`c=zawߎ[8
-B爭'P5vm;B4ioyXh
-p]"4Aٟ
-*2frLܞ
-i}|rܭ#(OH Ci&2V<|_뢒e;j^Md؃qnĢgEm{qUͺ+0VT Հ-l[4ﳅb{[jlE[2ly-60˙oKC@rڲ$ 3׬/H9{ϯ
-endstream
+1686 0 obj
+<< /D [ 1681 0 R /XYZ 79.822 709.053 null ] >>
endobj
1687 0 obj
-<< /Type /Page /Contents 1688 0 R /Resources 1686 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1681 0 R /XYZ 79.822 698.095 null ] >>
+endobj
+1688 0 obj
+<< /D [ 1681 0 R /XYZ 79.822 648.281 null ] >>
endobj
1689 0 obj
-<< /D [ 1687 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 637.322 null ] >>
endobj
1690 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 626.364 null ] >>
endobj
1691 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 615.405 null ] >>
endobj
1692 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 604.446 null ] >>
endobj
1693 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 593.487 null ] >>
endobj
1694 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 582.528 null ] >>
endobj
1695 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 571.569 null ] >>
endobj
1696 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 560.61 null ] >>
endobj
1697 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 549.651 null ] >>
endobj
1698 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 654.259 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 538.692 null ] >>
endobj
1699 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 643.3 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 527.733 null ] >>
endobj
1700 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 632.341 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 516.775 null ] >>
endobj
1701 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 621.382 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 505.816 null ] >>
endobj
1702 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 583.524 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 426.115 null ] >>
endobj
1703 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 557.621 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 415.156 null ] >>
endobj
1704 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 546.662 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 341.432 null ] >>
endobj
1705 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 535.704 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 330.473 null ] >>
endobj
1706 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 485.89 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 319.514 null ] >>
endobj
1707 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 474.931 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 308.555 null ] >>
endobj
1708 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 463.973 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 297.596 null ] >>
endobj
1709 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 453.014 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 286.638 null ] >>
endobj
1710 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 442.055 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 275.679 null ] >>
endobj
1711 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 431.096 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 264.72 null ] >>
endobj
1712 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 420.137 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 253.761 null ] >>
endobj
1713 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 409.178 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 242.802 null ] >>
endobj
1714 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 398.219 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 231.843 null ] >>
endobj
1715 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 387.26 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 220.884 null ] >>
endobj
1716 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 376.301 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 159.116 null ] >>
endobj
1717 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 365.342 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 148.157 null ] >>
endobj
1718 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 354.384 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 137.198 null ] >>
endobj
1719 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 343.425 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 126.239 null ] >>
endobj
1720 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 263.723 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 115.28 null ] >>
endobj
1721 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 252.765 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 104.321 null ] >>
endobj
1722 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 179.041 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 93.362 null ] >>
endobj
1723 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 168.082 null ] >>
-endobj
-1724 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 157.123 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 82.403 null ] >>
endobj
-1725 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 146.164 null ] >>
+1680 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1726 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 135.205 null ] >>
+<< /Filter /FlateDecode /Length 2496 >>
+stream
+x[n+7)ё($.uvEW}mHd"\?o"5׉~{L#M2g=OdNF Ƶ8}}s|\J??~ 25PPE;Ε 4MH@otn:ÕsxLqI5]vg*G:RVq3gQc,bDer1rE#4z0de'\#&zDƏP'Go-4'E W&J+O:ܢRI&o~ )BTűI"G=@J&t" C­*#?L%FqEswH$0?پnyd m3 Sxe?MhStõ==1AH%z)=\2+ix Lħ<T쌕J8~%:b
+)<(&Mץqb= "c" ({?4Pk3nʓv(0W Pp QGy*9*+Ϙ#,X S
+">:SCc^%2%Պ12b%kʌ[Bo~> eg՜[!Px/_j{NDz,d^<͉EFr[dͫ{p&6rBۺY?
+'h d55htxRn<xVK!aU#[ȊzҼ:T
+jaZ"{:tZ.oV-2r1$@H&P_tE
+d-"/}dmF1QK A-GKx9q$KWtTk͑;?2TV5⪚Psw6fnNbky"Me".\N}
+ñOŶn;Sa;В|b3R_\a8e^h^^Ye֖1WR
+0njLU3 xO?;˦c\wՒMAD`TlQI.T>!*"_aG F[\2-_1\,˷zLHK)#k㚣90%D?E gaQ3Q|7YʳPJ鄄3te#MXiA@
+bp4ES4v Sei 7 ֥^|ѻANP*t<ga.0Bh k*?<+h+ mf!ՙJO
+"e;\>-)d[PL<`9aR- +-VkZ , =EqZuHAD*ǔ#J5RCʳo,Im,:tzG/ŹninG<ZlB^%ԥmIڃe<-/i ulwHO6g?-PǕlJT,(1R 1 C:xđCTsHG"<P
+j9V>{$g5~`uoNя>zu9^5ֶO;87Yg@0rL ĈlR;,&t `ilkCWh
+endstream
+endobj
+1725 0 obj
+<< /Type /Page /Contents 1726 0 R /Resources 1724 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
1727 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 124.247 null ] >>
+<< /D [ 1725 0 R /XYZ 78.37 808.885 null ] >>
endobj
1728 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 113.288 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 768.829 null ] >>
endobj
1729 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 102.329 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 757.87 null ] >>
endobj
1730 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 91.37 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 746.912 null ] >>
endobj
1731 0 obj
-<< /D [ 1687 0 R /XYZ 81.145 80.411 null ] >>
-endobj
-1686 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1725 0 R /XYZ 79.822 735.953 null ] >>
endobj
-1734 0 obj
-<< /Filter /FlateDecode /Length 2425 >>
-stream
-x[n#7+0 X g߂\SRܚnjI(#Xk9ӗ/]b ϿąuF0n/kO<!ԏSǼ1ҵ8 F$톘/(ќ 3J%2`Dʔ }b[3i/$P1sy>K xEZIp\h
-[S O[
-WSFOw#f*Kx2{z"@ate9k0 <u+@tB7{$⚞ I(.jC PEZ!bp(갈Faj,pyM 'ܕH`"FJFPbݰNhnn"Occ@pӛ:9|Hĭ8@{ڗJ3:1SOH־,⎌d@']nxό(6o׈~R(/ +FrOLQM2oeׅVyl61y#R,`'^G Q0<y(5#c⃼Vd'od/N*kq-ZrNE+o7Q|T
-%jY8tuAH4ߞ꽝nⳖf~)H`V)1YsDvD,?} sZ3kR6 M)愝RQ"5lT=QVo;*Ɵ-r'%sMBCAҫ
-kN}G%Xĺ=Y
-b~;4+>OlUMg\8g m]7(cꈿ8IPj9 <b.%֞ӭzu@[Gڛ#Oۦ嬞vJ
-+MS3󪼯Mߕ{8@F4k$(FMo>@UI0n}eG3qjl`tǣd(6I?Uْ&ʉ4K HgS_EA92{t&2ʩw)חfڮ$S(Y H딈)%kƀ o
-endstream
+1732 0 obj
+<< /D [ 1725 0 R /XYZ 79.822 686.139 null ] >>
endobj
1733 0 obj
-<< /Type /Page /Contents 1734 0 R /Resources 1732 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1725 0 R /XYZ 79.822 675.181 null ] >>
+endobj
+1734 0 obj
+<< /D [ 1725 0 R /XYZ 79.822 664.222 null ] >>
endobj
1735 0 obj
-<< /D [ 1733 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 653.263 null ] >>
endobj
1736 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 642.304 null ] >>
endobj
1737 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 631.345 null ] >>
endobj
1738 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 696.421 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 620.386 null ] >>
endobj
1739 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 685.462 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 609.427 null ] >>
endobj
1740 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 674.503 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 598.468 null ] >>
endobj
1741 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 663.544 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 587.509 null ] >>
endobj
1742 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 652.586 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 576.55 null ] >>
endobj
1743 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 641.627 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 565.591 null ] >>
endobj
1744 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 630.668 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 554.633 null ] >>
endobj
1745 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 619.709 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 543.674 null ] >>
endobj
1746 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 608.75 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 532.715 null ] >>
endobj
1747 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 597.791 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 521.756 null ] >>
endobj
1748 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 586.832 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 459.987 null ] >>
endobj
1749 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 575.873 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 449.029 null ] >>
endobj
1750 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 526.379 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 438.07 null ] >>
endobj
1751 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 515.42 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 400.212 null ] >>
endobj
1752 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 504.461 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 389.253 null ] >>
endobj
1753 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 493.502 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 378.294 null ] >>
endobj
1754 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 482.543 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 367.335 null ] >>
endobj
1755 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 471.585 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 356.376 null ] >>
endobj
1756 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 460.626 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 345.417 null ] >>
endobj
1757 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 449.667 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 334.458 null ] >>
endobj
1758 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 438.708 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 323.499 null ] >>
endobj
1759 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 427.749 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 312.54 null ] >>
endobj
1760 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 416.79 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 301.582 null ] >>
endobj
1761 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 405.831 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 290.623 null ] >>
endobj
1762 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 394.872 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 279.664 null ] >>
endobj
1763 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 383.913 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 268.705 null ] >>
endobj
1764 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 372.954 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 257.746 null ] >>
endobj
1765 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 361.995 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 237.821 null ] >>
endobj
1766 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 300.546 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 226.862 null ] >>
endobj
1767 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 289.587 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 210.921 null ] >>
endobj
1768 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 278.628 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 199.963 null ] >>
endobj
1769 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 240.834 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 189.004 null ] >>
endobj
1770 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 229.875 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 178.045 null ] >>
endobj
1771 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 218.916 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 167.086 null ] >>
endobj
1772 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 207.957 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 156.127 null ] >>
endobj
1773 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 196.999 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 128.232 null ] >>
endobj
1774 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 186.04 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 117.273 null ] >>
endobj
1775 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 175.081 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 79.415 null ] >>
endobj
-1776 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 164.122 null ] >>
-endobj
-1777 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 153.163 null ] >>
+1724 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1778 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 142.204 null ] >>
+<< /Filter /FlateDecode /Length 2320 >>
+stream
+x[n+9+ѕDqn0ۙ.IEts1 8EQœ}_./?n&P@>N2S'œJHN9,R >oE&EIr`KJj,#+}D}scqoFz\ʕZO ީ]n!@k? [Ԧfj[b
+O2)v6U/?Y3?RWnlDn^b!QTbAb+^%J+9mm"_CsC h(Li.9džIi+eo (K$%
+C3<Wy=Dw6ۓLVkOF [;i煷WY~:}TC== ;ɍ"f%iA)sJehv qvҨ(Wx{E%\>Fiw%9Pڟ1lW&$5EюJvo:?* tH5P[Mpu}?e9ΆxY11Syp>k.p[d
+ N?mߚkи&' <=}<37Oade7m3ej]'vaZ3'zkg*=9ъ8ZV[fO*Y.wt5]̈́[* E_m`5bPm w .=h9R7ݲ2EyI EK05&#8cn6o}Q¼?./p>/jlT h"?@qc#OEkd/_ |U gl-sZ3"0=ݠT'w4E
+8Kե!C7>Hמv+[>4 `gܔk{YWpcO(Ep=2?^ϭօ
+endstream
+endobj
+1777 0 obj
+<< /Type /Page /Contents 1778 0 R /Resources 1776 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
1779 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 131.245 null ] >>
+<< /D [ 1777 0 R /XYZ 78.37 808.885 null ] >>
endobj
1780 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 120.286 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 768.829 null ] >>
endobj
1781 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 109.327 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 757.87 null ] >>
endobj
1782 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 98.368 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 746.912 null ] >>
endobj
1783 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 78.635 null ] >>
-endobj
-1732 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1777 0 R /XYZ 81.145 735.953 null ] >>
endobj
-1786 0 obj
-<< /Filter /FlateDecode /Length 2343 >>
-stream
-x[n6+ı]nU[>%٤).ty83#3u=ߟ~^;H@8$ L˃тq-x\q~?CXyi0#~@Oc9iS"w*rN8ϥsch]tڇ3 G`a4א%Ba?7 rm~kgEapNӅ@)y<x&2UpN>`+[އE(땤+pYNʼn3yP2Z
-khS } ߵ4WX{.Oj`ILbȵUi 舥r93ϗ)޲O1ڵN:vI`Ґ]˹"0ᨙsxѱefEW_~n-) :Ŋ^\j]%9 4+4.kN\3a\kL&K 3L4pfx
-Yp m._X| $Sf)⥌a]BaJ/5rqdmJkAXNkSr0]:| DŽ#u(R׍M 'TF\l@ug&}{6n*ܴ9K{rXǂ(#A1Kˆ_C>һMɹrSd0vG}|$yu6jYᦜ@Ŕ=RL]Wl/i$o@B}m-g/b=1Xԕyx\ئeKܒ dpjRCiJ;fXl&-H>54 k\+{&Ki14KRS^Nw>meV8ש!͏Df0ؿ(Z|$~!츽<cE}cWRb[nxRET.9sIRsHeQTD$ɉE8Ynm漇Q՜AKcGqP{-ҞJLNfjݯ.'u46Aj*3(NZ-b}V[ &5haEנ#Zf|s1\6>nYF0!-ۨvڽCj[\'p>WVph*,m3a-v" i&G-$:g t%)20Ȩ5CfG
-ƅbT%hrOdP %z)1aTrdZ ix}) $v&[i0ais]i~$V3dUYuH#1zUQT->qzZ2pdΝ!})B!k]P7 iWAGݦsI=lCrבhOyTH`h@Ru4in;CgWTg\d/P0 @q?sHI
-endstream
+1784 0 obj
+<< /D [ 1777 0 R /XYZ 81.145 724.994 null ] >>
endobj
1785 0 obj
-<< /Type /Page /Contents 1786 0 R /Resources 1784 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1777 0 R /XYZ 81.145 714.035 null ] >>
+endobj
+1786 0 obj
+<< /D [ 1777 0 R /XYZ 81.145 703.076 null ] >>
endobj
1787 0 obj
-<< /D [ 1785 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 692.117 null ] >>
endobj
1788 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 681.158 null ] >>
endobj
1789 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 752.889 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 670.199 null ] >>
endobj
1790 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 741.93 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 659.24 null ] >>
endobj
1791 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 730.971 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 648.281 null ] >>
endobj
1792 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 720.012 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 637.322 null ] >>
endobj
1793 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 709.053 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 626.364 null ] >>
endobj
1794 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 698.095 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 615.405 null ] >>
endobj
1795 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 604.446 null ] >>
endobj
1796 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 593.487 null ] >>
endobj
1797 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 621.382 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 582.528 null ] >>
endobj
1798 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 610.423 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 571.569 null ] >>
endobj
1799 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 599.464 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 560.61 null ] >>
endobj
1800 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 588.506 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 549.651 null ] >>
endobj
1801 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 577.547 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 538.692 null ] >>
endobj
1802 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 566.588 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 527.733 null ] >>
endobj
1803 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 555.629 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 516.775 null ] >>
endobj
1804 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 544.67 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 505.816 null ] >>
endobj
1805 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 533.711 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 494.857 null ] >>
endobj
1806 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 522.752 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 483.898 null ] >>
endobj
1807 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 511.793 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 472.939 null ] >>
endobj
1808 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 500.834 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 461.98 null ] >>
endobj
1809 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 489.875 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 451.021 null ] >>
endobj
1810 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 478.917 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 440.062 null ] >>
endobj
1811 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 467.958 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 429.103 null ] >>
endobj
1812 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 456.999 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 418.144 null ] >>
endobj
1813 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 446.04 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 407.186 null ] >>
endobj
1814 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 435.081 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 396.227 null ] >>
endobj
1815 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 424.122 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 385.268 null ] >>
endobj
1816 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 413.163 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 374.309 null ] >>
endobj
1817 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 402.204 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 363.35 null ] >>
endobj
1818 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 391.245 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 352.391 null ] >>
endobj
1819 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 380.286 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 341.432 null ] >>
endobj
1820 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 369.327 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 330.473 null ] >>
endobj
1821 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 358.369 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 319.514 null ] >>
endobj
1822 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 347.41 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 308.555 null ] >>
endobj
1823 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 336.451 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 297.596 null ] >>
endobj
1824 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 325.492 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 286.638 null ] >>
endobj
1825 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 314.533 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 275.679 null ] >>
endobj
1826 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 303.574 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 264.72 null ] >>
endobj
1827 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 292.615 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 226.862 null ] >>
endobj
1828 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 281.656 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 215.903 null ] >>
endobj
1829 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 270.697 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 204.944 null ] >>
endobj
1830 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 259.738 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 167.086 null ] >>
endobj
1831 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 248.78 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 129.228 null ] >>
endobj
1832 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 237.821 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 118.269 null ] >>
endobj
1833 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 226.862 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 107.31 null ] >>
endobj
1834 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 215.903 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 96.351 null ] >>
endobj
1835 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 204.944 null ] >>
-endobj
-1836 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 193.985 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 85.392 null ] >>
endobj
-1837 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 183.026 null ] >>
+1776 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1838 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 172.067 null ] >>
+<< /Filter /FlateDecode /Length 2587 >>
+stream
+x[n#;+gA8v 0Yo(zRr] Ue:CJL_{\?_~z(8!q8`F]q_k.Kɹ/yQW.-HWJ3F4i__^׹_&>\uМ ,,wI^g>
+?˫v=1{8s}A6;W0hI
+"𽴭œ^un$H v[η≀z0IgIzF)82
+k"F{ajFGHd7) 0?5Oћ %fslg0D;dY^5RTݳ-X`K2ͮ^ikdku"ҽ\k
+벊E"w7Kf%197 $Hl;ķ̭bjwj\A1m
+rm+ 5uC^.JE3 *Ȅu݀DZAٺ4A{?Z?[rl1k߬9+00gŸO/8_'lDoSO)EOm^kdMSl;n <+CR@I^jpg<1F2+@
+YH{}=d/Xp Q72)kWǯt|;za~6yMهW%!Fjw6j )ņn :L+(k),^.FR.kI7dG[1M¤<wrT$9 |^J1W\q*ǦrrBTXO6̳Unon ?n^E1aָLmmƺ&<kl|ICئB9(QOTS8\K3+P|~u>ACTO\"5Z(r)!{2]Xaը!|6iY3[:{\QYUj$i/`j0Cs9sg/Dj]gR!{GwpƭӬ9$Y*=$R^'uۉ8 U"qyzMYg%mr_m$@ۃ28*b`mH`mg"tMi6A>MNENpZX̼ĕ{<> kT%>u
+^]% ʱp&C^d '%|Ey \W!fLNT$Q'v r8{
+kJiQ=C#~Zx}~ӶCeȽBo iäa=ɭNtH&45Mv;IY[INJ mbHɞp' fH&Dm{I;}kOfg#IF9}'%5)2+ᜌ6>נ`J@?{؈4]I$z\Ovi$z>oDxNw;&z]jGѬ6s6sƌI:Z釔>(HҷWA8ΞR,o' >?#;?IVNX 򰀜}ÍnD9Q'&>wz=ĠJ΂R0r1NҦ^GkS'{KG9q1i MsX|jh5S:Io~ _r2Sˤ4/`ҫ5NOG9450i}4,=rq2t+i:ē&#E[A2S'tx<wzT1"n:aߩG*F%a+{ ?x%vyA թkIM<?
+<C[٪4q
+6+Wx*4Y$QVұGk;ġdqZ
+7CKmFvS=vm!dVN%q\!?ح5h|'i^<ci$Nt홥m:CE
+M6i%%I
+Ņ$UYfl)Morؽor
+endstream
+endobj
+1837 0 obj
+<< /Type /Page /Contents 1838 0 R /Resources 1836 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
1839 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 161.108 null ] >>
+<< /D [ 1837 0 R /XYZ 78.37 808.885 null ] >>
endobj
1840 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 150.149 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 768.829 null ] >>
endobj
1841 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 139.19 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 757.87 null ] >>
endobj
1842 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 128.232 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 746.912 null ] >>
endobj
1843 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 117.273 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 735.953 null ] >>
endobj
1844 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 106.314 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 724.994 null ] >>
endobj
-1784 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1847 0 obj
-<< /Filter /FlateDecode /Length 2747 >>
-stream
-x[n$+MwPJ4n_jn-Yd`i)G#yυ{"5oBb(qъ뿗J?R__|Aތba#T8$pH];t}SJ{>"=!4# u u&Ccow'O0
-C~\iT{ϴG`Y >9"fҜ3eȒg3YSɖjۿQZhz7&/1
-bu8.B4W?;ULs"ٮeO5<jQ^Cx=jCw@`
-tZ:Ç͞RHYb 3W#*\eҌdbFkڳ6|>@kN౾%_i4[gl
-PNn 0:+{6ZQh
-ߐU|-*Մ 葦G;,_O{B_hO)yO5rOo; Z~\
-V``2nJ0朘1 -tQI=eeh¤[{g';Qj*l4yڥ^ړn
-9
-nM(D*<^.Fl)[ 7e϶m%Wi҆\h'R¨*)=)4ޏ }kZ;s' anݸmÄًgTom?K@wмl:
-bfx}x)܋5#?.%yMp)­_Ďe"HG+eVLRRj5ZDFmaf grȇ`5^j"ګE>{iW+xإ~%{<0ScթOԺVbՔLʺʮk~('~L)WSٰX#I f Dw`*(x@MSQ>hW+Lk2dlW<ꖏLZpب(1R&bNy;>tzP-C^\r;&'%.]&#埌c=[qZsm-
-1Z͂D/l~WG-<}̢Wf").#Pm|ΰf%@ #+-ntH[4SXaH3Қ!%Дk+M/tqD}=9D>fctG:<~i#<u0YwqX_CZ
-endstream
+1845 0 obj
+<< /D [ 1837 0 R /XYZ 81.145 714.035 null ] >>
endobj
1846 0 obj
-<< /Type /Page /Contents 1847 0 R /Resources 1845 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1837 0 R /XYZ 81.145 703.076 null ] >>
+endobj
+1847 0 obj
+<< /D [ 1837 0 R /XYZ 81.145 692.117 null ] >>
endobj
1848 0 obj
-<< /D [ 1846 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 681.158 null ] >>
endobj
1849 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 643.3 null ] >>
endobj
1850 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 632.341 null ] >>
endobj
1851 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 621.382 null ] >>
endobj
1852 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 709.053 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 610.423 null ] >>
endobj
1853 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 671.195 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 560.61 null ] >>
endobj
1854 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 660.237 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 549.651 null ] >>
endobj
1855 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 649.278 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 523.748 null ] >>
endobj
1856 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 638.319 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 512.789 null ] >>
endobj
1857 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 627.36 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 474.931 null ] >>
endobj
1858 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 616.401 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 463.973 null ] >>
endobj
1859 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 605.442 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 453.014 null ] >>
endobj
1860 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 594.483 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 442.055 null ] >>
endobj
1861 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 583.524 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 431.096 null ] >>
endobj
1862 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 572.565 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 420.137 null ] >>
endobj
1863 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 561.606 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 409.178 null ] >>
endobj
1864 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 550.648 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 398.219 null ] >>
+endobj
+237 0 obj
+<< /D [ 1837 0 R /XYZ 79.37 374.763 null ] >>
endobj
1865 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 539.689 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 332.999 null ] >>
endobj
1866 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 528.73 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 322.04 null ] >>
endobj
1867 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 517.771 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 311.081 null ] >>
endobj
1868 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 479.913 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 300.122 null ] >>
endobj
1869 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 468.954 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 289.163 null ] >>
endobj
1870 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 457.995 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 264.256 null ] >>
endobj
1871 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 447.036 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 253.298 null ] >>
endobj
1872 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 397.223 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 242.339 null ] >>
endobj
1873 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 386.264 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 231.38 null ] >>
endobj
1874 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 360.361 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 220.421 null ] >>
endobj
1875 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 349.402 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 209.462 null ] >>
endobj
1876 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 311.544 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 198.503 null ] >>
endobj
1877 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 300.585 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 187.544 null ] >>
endobj
1878 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 289.626 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 160.645 null ] >>
endobj
1879 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 278.667 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 149.686 null ] >>
endobj
1880 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 267.709 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 122.787 null ] >>
endobj
1881 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 256.75 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 111.828 null ] >>
endobj
1882 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 245.791 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 100.869 null ] >>
endobj
1883 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 234.832 null ] >>
-endobj
-241 0 obj
-<< /D [ 1846 0 R /XYZ 79.37 211.375 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 89.91 null ] >>
endobj
1884 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 169.611 null ] >>
-endobj
-1885 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 158.653 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 78.951 null ] >>
endobj
-1886 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 147.694 null ] >>
+1836 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1887 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 136.735 null ] >>
+<< /Filter /FlateDecode /Length 1779 >>
+stream
+xZMo6 WV"/ 9dIcKxM;@Q,&(o)}o/_/?6^H`._N%rt(oZ[(/5?~,Að1)o7)#|jm~kl^q- j2XAƵGB3jv3QB2=-̛iMz߅d+6!2 g(~Ϝw}
+12=w9%Zm8{8@7 =R!/~.q2|nb ^EPL , Hd 9=Ɖ|)q #=Z|-iګxTȚ>et@[$l(B6~k"_H[|D4PZe+Sio8x)逴8_+Si/竽rx)倴xN9*P- 0`7a7o@UZJ1UaYIyaIJ(\d G[(z3ޣn;{MkL$֞[]vQ! gP-$Ύ+^"ՉТV-S.^7D˲1$S=1ӵD`uT .S>l Wf&ƑLm$Ws)iSJVń; = NX5>Ίw@ʜ,=9 gM@y[38YR`+Tio o'BYdj:"a&Ä U#r$q`eyr@rfV
+ 2UxoOۂ1*SP%M[\}ƏL-39D"6Bsj=Bq$QyOW?* gP$$W{vjwc/Dq]>DpA zW%[+"u5^KyY
+ZIW,ob p|i kD̯bxbwo+<!x.Ĺ5(588fj-F`,[O}8(m6Vd+r|;:|P:۶j"M\M%,!cL *e`>EHLR{9&C4*
+͵ItidiJsn/?|WO۩w3ng\ʻڧ{i5(K`{k3HIC`9&{,F$ODq(ju[wm>NfSS @V_5HkoҕeB)5驃=lN3;XetG'IaGg2+$Z[ߛ K{^'\=ŒtJS:3WN!Ϗr/@`]s₲ k?1uT7
+<wWT󠐍
+ lH-$_Nq٘Ai^-,S낑U:^+IR{+U~=$gjGcRqX@NyN
+ ?ݝQ<p݃|ןx9v#w@g>>g~;~ YWmkW˴*!ŔgҍJ8'A_
+endstream
endobj
-1888 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 125.776 null ] >>
+1886 0 obj
+<< /Type /Page /Contents 1887 0 R /Resources 1885 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
-1845 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+1888 0 obj
+<< /D [ 1886 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1891 0 obj
-<< /Filter /FlateDecode /Length 1860 >>
-stream
-xZˎWRC/`0@{lȺwA)TY%Ͻθ-ԃu.*ۗo]Ӡ|W,֏J9?TKP_.s&lqaBR' X ]5J]z5||͈͢n{Icw0uۻwc*)8n~+.x
-Bֽ)jHpL[?#h4'g+wQ^,#}|G[O.s/_T{-[1Na|HwG$·nyUesqbq[jFLhn{<zd2sU<DU,V#kqF{^/Vj <`u¨(OEh3qFn#|)E)4R.Z0srWk\zw+/[ư8
-;#ßZz*PYgC57)k|$.Tb5ϯ8P* Ȭr&׽,BGS(R\;7Oyջ@kdyTqB:}we@[6U*9!ڲyjAG.S {9X+ 4#BNH]_WޱdJ8!J]kJ3tPe6ўJNHnsTnI%gayVjҊQ Cl7 _۫f;oK}oRVN:dG{Yed1_mN.Nh.ĹĨ4-&gs`ssG0:~+6R|>3ZGd7吷 0^[ehhtRa
-endstream
+1889 0 obj
+<< /D [ 1886 0 R /XYZ 81.145 768.829 null ] >>
endobj
1890 0 obj
-<< /Type /Page /Contents 1891 0 R /Resources 1889 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1886 0 R /XYZ 81.145 757.87 null ] >>
+endobj
+1891 0 obj
+<< /D [ 1886 0 R /XYZ 81.145 746.912 null ] >>
endobj
1892 0 obj
-<< /D [ 1890 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 735.953 null ] >>
endobj
1893 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 724.994 null ] >>
endobj
1894 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 714.035 null ] >>
endobj
1895 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 703.076 null ] >>
endobj
1896 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 692.117 null ] >>
endobj
1897 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 681.158 null ] >>
endobj
1898 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 670.199 null ] >>
endobj
1899 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 659.24 null ] >>
endobj
1900 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 648.281 null ] >>
endobj
1901 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 665.218 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 637.322 null ] >>
endobj
1902 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 654.259 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 626.364 null ] >>
endobj
1903 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 627.36 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 615.405 null ] >>
endobj
1904 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 616.401 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 604.446 null ] >>
endobj
1905 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 605.442 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 593.487 null ] >>
endobj
1906 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 594.483 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 582.528 null ] >>
endobj
1907 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 583.524 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 571.569 null ] >>
endobj
1908 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 572.565 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 560.61 null ] >>
endobj
1909 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 561.606 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 549.651 null ] >>
endobj
1910 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 550.648 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 538.692 null ] >>
endobj
1911 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 539.689 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 527.733 null ] >>
endobj
1912 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 528.73 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 516.775 null ] >>
endobj
1913 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 517.771 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 505.816 null ] >>
endobj
1914 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 506.812 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 494.857 null ] >>
endobj
1915 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 495.853 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 483.898 null ] >>
endobj
1916 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 484.894 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 472.939 null ] >>
endobj
1917 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 473.935 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 461.98 null ] >>
endobj
1918 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 462.976 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 451.021 null ] >>
endobj
1919 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 452.017 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 440.062 null ] >>
endobj
1920 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 441.058 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 429.103 null ] >>
endobj
1921 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 430.1 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 418.144 null ] >>
endobj
1922 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 419.141 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 407.186 null ] >>
endobj
1923 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 408.182 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 396.227 null ] >>
endobj
1924 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 397.223 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 385.268 null ] >>
endobj
1925 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 386.264 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 374.309 null ] >>
endobj
1926 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 375.305 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 363.35 null ] >>
endobj
1927 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 364.346 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 332.466 null ] >>
endobj
1928 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 353.387 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 321.507 null ] >>
endobj
1929 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 342.428 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 310.548 null ] >>
endobj
1930 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 331.469 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 299.589 null ] >>
endobj
1931 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 320.511 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 288.63 null ] >>
endobj
1932 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 309.552 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 277.671 null ] >>
endobj
1933 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 298.593 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 266.712 null ] >>
endobj
1934 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 287.634 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 255.753 null ] >>
endobj
1935 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 276.675 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 244.794 null ] >>
endobj
1936 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 265.716 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 233.836 null ] >>
endobj
1937 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 254.757 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 222.877 null ] >>
endobj
1938 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 243.798 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 211.918 null ] >>
endobj
1939 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 232.839 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 200.959 null ] >>
endobj
1940 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 221.88 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 190 null ] >>
endobj
1941 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 210.921 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 179.041 null ] >>
endobj
1942 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 199.963 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 168.082 null ] >>
endobj
1943 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 189.004 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 157.123 null ] >>
endobj
1944 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 178.045 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 146.164 null ] >>
endobj
1945 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 167.086 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 135.205 null ] >>
endobj
1946 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 136.202 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 124.247 null ] >>
endobj
1947 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 125.243 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 113.288 null ] >>
endobj
1948 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 114.284 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 102.329 null ] >>
endobj
1949 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 103.325 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 91.37 null ] >>
endobj
1950 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 92.366 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 80.411 null ] >>
endobj
-1951 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 81.407 null ] >>
-endobj
-1889 0 obj
+1885 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1954 0 obj
-<< /Filter /FlateDecode /Length 2090 >>
+1953 0 obj
+<< /Filter /FlateDecode /Length 2141 >>
stream
-x[n6)%g! .snE-EnRÏX
-s$\_??iB8N2S'ɒRRZ/%￿?>9qPz$LO$1R( #I0z$hoLuSJogƹa\} *|~.cջp2^(C4%ҚFU+cJN HpZ
-+$ЙݴSq2uh6
-
-ewZ(kŏֶݫڧJgU7W-BUZ97ćpԒY8)Mvit&e9f%eIZ7,@0v;U 8)r?pydW&% vH oBitzQZw^+?-N1^gtڂyq0-i_Tk<kOŘg
-)\+_',jxҳeEQh we
-kP ϚHkvu
-іվ=6RO,uMR\ -\Ѯ>Q\ :+<rBClY
-9BVX Cb"$@${:aQ*7"lA  >DHyZW}h7?-0
-kŝK#/
-EVzDCtoͫւjl
-P+my! )U&Z1f:aSP"L{!(CQ76#K},gFA&ĿCx'7҈^-[M=2)(AT(uCDQK-cd=U}r#/$h0ˀ%ЖV#71;UW#htdC楝&?VHڥ?Sv݊H#>F4Rq-G]Zř|]$
-:v!rDI
-S;44®xl}Qi;J9_)=N;(ޢe8k1~J_G|: <j~SkMc< *KNZ
-RtS轿 =
+x[ˎ#+W. <RI*{Yo
+a%Q?NF.v#'`56rGj,K8rgy T& .Sf3v?8tH/,TJ쐢D^ӣ`jRIєj8(+*xvuI_S^|[G되enu{^9qqysώƙ8Ovhsfn4-wGʈȬ.7uHkp LٮvRviװZ̚eI&lb~0!5ǻu*t0t]s 2j\{U]1G_UoB>RL =*|#iB
+nn.~ mqh:ibIOSCJuugc1ye-H͊dPG $(,d"@i+`SJZCmbJYTM(L`` RSmC4)b )J͕)rT4ŀcȚ؞Z;,K\ 5"6£vEM[֝7GsrQ9 ̈I!VjD'ԚmS@=fJ+CA-ҐK-_T'mlA#Cꐆ(-K}7݁7D
+aHfN4&KR=Q@ir&nZE5^*|㈫(tAE!P>;ض8r-otSBNE--7>;t8; lQ+,T9u5ű&/NB)`rEhKa_\לl} @!1s+IMB"&M*XeDp0?Ѥ툈I#ZN B 8KB!.gbE;6 ]bNuwH6q 9R;%Ր9i봔BL ٛWizDiQOwt@T2p!̕Sv7ވ5|*x|2 WiM"%)2Im dKd4{AyV-%D%/Zf!NoT;~-~r­\90:K&
endstream
endobj
-1953 0 obj
-<< /Type /Page /Contents 1954 0 R /Resources 1952 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+1952 0 obj
+<< /Type /Page /Contents 1953 0 R /Resources 1951 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
+endobj
+1954 0 obj
+<< /D [ 1952 0 R /XYZ 78.37 808.885 null ] >>
endobj
1955 0 obj
-<< /D [ 1953 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 768.829 null ] >>
endobj
1956 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 757.87 null ] >>
endobj
1957 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 746.912 null ] >>
endobj
1958 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 735.953 null ] >>
endobj
1959 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 724.994 null ] >>
endobj
1960 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 670.199 null ] >>
endobj
1961 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 627.36 null ] >>
endobj
1962 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 616.401 null ] >>
endobj
1963 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 605.442 null ] >>
endobj
1964 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 594.483 null ] >>
endobj
1965 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 583.524 null ] >>
endobj
1966 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 572.565 null ] >>
+endobj
+241 0 obj
+<< /D [ 1952 0 R /XYZ 79.37 535.154 null ] >>
endobj
1967 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 491.397 null ] >>
endobj
1968 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 480.438 null ] >>
endobj
1969 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 469.479 null ] >>
endobj
1970 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 458.521 null ] >>
endobj
1971 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 447.562 null ] >>
endobj
1972 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 436.603 null ] >>
endobj
1973 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 425.644 null ] >>
endobj
1974 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 414.685 null ] >>
endobj
1975 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 403.726 null ] >>
endobj
1976 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 392.767 null ] >>
endobj
1977 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 381.808 null ] >>
endobj
1978 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 370.849 null ] >>
endobj
1979 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 516.775 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 359.89 null ] >>
endobj
1980 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 505.816 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 348.931 null ] >>
endobj
1981 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 452.099 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 337.973 null ] >>
endobj
1982 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 410.338 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 327.014 null ] >>
endobj
1983 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 399.379 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 316.055 null ] >>
endobj
1984 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 388.421 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 305.096 null ] >>
endobj
1985 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 377.462 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 294.137 null ] >>
endobj
1986 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 366.503 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 283.178 null ] >>
endobj
1987 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 355.544 null ] >>
-endobj
-245 0 obj
-<< /D [ 1953 0 R /XYZ 79.37 319.035 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 272.219 null ] >>
endobj
1988 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 275.895 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 261.26 null ] >>
endobj
1989 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 264.936 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 250.301 null ] >>
endobj
1990 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 253.977 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 239.342 null ] >>
endobj
1991 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 243.018 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 228.384 null ] >>
endobj
1992 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 232.059 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 217.425 null ] >>
endobj
1993 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 221.1 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 206.466 null ] >>
endobj
1994 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 210.141 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 195.507 null ] >>
endobj
1995 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 199.183 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 184.548 null ] >>
endobj
1996 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 188.224 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 173.589 null ] >>
endobj
1997 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 177.265 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 162.63 null ] >>
endobj
1998 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 166.306 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 151.671 null ] >>
endobj
1999 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 155.347 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 140.712 null ] >>
endobj
2000 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 129.753 null ] >>
endobj
2001 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 133.429 null ] >>
-endobj
-2002 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 122.47 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 118.794 null ] >>
endobj
-2003 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 111.511 null ] >>
+1951 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2004 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 100.552 null ] >>
+<< /Filter /FlateDecode /Length 3058 >>
+stream
+xɎ,@= g߂\S.Uܚjjp^rK&/d /yF]~/E\g^q87sp'\n * ЭAf%G3I-?W᷺q?>ڜ-6@&B1;<eڇ ÷HV%nyp\:N 3H!4W<$u^s8lE#,#˚8_ykwH0xlyܽ
+)RMLĠD3lqET"{w)exn2RN4yHTT#)pɹg$>OOil/BJDH*tG)|m+JC 7f*)bJAҎZ #~dJ2O[lϰolr/)Ndn Ha2) M-妧$#e \qUђאUs Gv$F[[θE7a1BNQxM+~JGb~WT봋h!axx<z<[Em<^wO% Ȁ }! 2
+RBaYeM&7\6Dv޳
+'sƉi!-s er"#>I}+j{ȸ"? [*q%dpc3 %x'$8`3%sA$Ȫ?*{ig`@m`n*'9@_D |`"!*jᬛ!)"DT0B M)&&0
+YP6CŔj>zHrT
+
+IO{H(dJgAҶ_^r&ŬuLy5} -c"fO-d
+b -'^҆H/܆Iy~S8Vt*wO( <詌Ԓ פ˴/IƍZ\җmH%v&
+-vyeyC 9v[unA6i_ҷm]ǵ>UG=OlHG!=͈'ƇAJM`
+&`-):
+ɥki:ܼwǝ q%MҰ;=.;fObs'Zku㕭)v!Or"v\)f?q5 0 dKl4&='$kYh˄3y$NB(`
+QJ!U4jp;oeŘ'Lң`{MD=m,nRu IAZP\2ʌ9 8~ə2rddk00Rp\>dt]0''7ͥ/f?(gZlgS
+r dOo8*YWG#P[ԣ% QN쉣-cK#e*ݯG`l[DezgA-Jh&ykc%þ^fsxѮ,NRȇQ&£On{fB߽ =C{=#q{;+FE4f!-voKAHfT1sf׭x&$VHocK
+endstream
+endobj
+2003 0 obj
+<< /Type /Page /Contents 2004 0 R /Resources 2002 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2005 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2003 0 R /XYZ 78.37 808.885 null ] >>
endobj
2006 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 701.605 null ] >>
endobj
-1952 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2009 0 obj
-<< /Filter /FlateDecode /Length 2727 >>
-stream
-x[Ɏ8WEFp =i:܂(J)]=( X sN>q?ޮ_oʝ$sV &N' L˓тq-N_9q\9ZV?1OʓeNk-!43\zzS?pKʿ m:"Y~{~
-P$ayg/(`h
- x)܌):JKgފ/M=75 B1eG cÜhh|aT$ƉFTqZ 2"skI(e2jA!sַq\=B&Q qs8,)AiOP /k4h%МrΞXy|0]& re͡J,Idҿ%p8ݹ?ɒch!bz*RrsqO #:Cj ϲ,,SnDMf=& ٳ\"1lmQ"~i\'Yr:)耯 ɑricF,;J/gL
-`W1hڭUlNs͈5$+N_`J[ViL#Gc̒O %\E(=^A)ƭ|.[4bwEL B(rirɉVU4CJ5/NєaBc%:Z!c>PhA;>}0bsn ynpGu
-!*p'Uo2M22ݝ:Ě"=^╾$}0QHaSlI $/$]q%#D I5,2>ЉvM>4Fj[lח`^?
-ءm.RsU3&^)<^{B1JJ9 ;Qs}Slnua#1<Yqua C8>[_uh <4
-?vdV,ì%rQ"Ϥ]ƜfodK‹F᥹Ӂ&Pq<Kֳ$XUEȫN:Ȉ޺OdYS0-1:_^ht@rEJ[G)FsjGTA hq]*ҽ9vqq<}#s)Zv؆YzJ^B2VԢA"U+کn其H3e<XLs5q7_YȒRYl/cz?λ݃@qWf3}A87y-Zђ'E. ͭ~Z74xq _]F4Xif%Dt%i F:|xIh9nBeGvJ~D;f誧o )׹%(cc|Pdvuk<kz<_?/ނ=Z̈́Ҽ>
-; ¨aɽazwQ6~VW'FBh.(ϼDOi?uBS3Jǖk)(sb%By5ɒҴA 9SQf܊FJm##Fҙiuwi`èrtm gĕsM++CubPECߨ`VFQ sS} j5F'0mܦEs435IKO#0cp\mI2H*kGiS\9Zu9{P\89+{GWO2FaQmUPJn/i j7 f9tsGӿ,t%_8ۡ(%Fe:-8ym['Be<ȡ䔻(mI/^ iC9QzYIDab8uu{ 
-endstream
+2007 0 obj
+<< /D [ 2003 0 R /XYZ 81.145 690.646 null ] >>
endobj
2008 0 obj
-<< /Type /Page /Contents 2009 0 R /Resources 2007 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 2003 0 R /XYZ 81.145 679.687 null ] >>
+endobj
+2009 0 obj
+<< /D [ 2003 0 R /XYZ 81.145 668.728 null ] >>
endobj
2010 0 obj
-<< /D [ 2008 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 657.77 null ] >>
+endobj
+245 0 obj
+<< /D [ 2003 0 R /XYZ 79.37 610.118 null ] >>
endobj
2011 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 583.646 null ] >>
endobj
2012 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 572.687 null ] >>
endobj
2013 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 561.728 null ] >>
endobj
2014 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 550.769 null ] >>
endobj
2015 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 539.81 null ] >>
endobj
2016 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 528.851 null ] >>
endobj
2017 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 517.892 null ] >>
endobj
2018 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 506.934 null ] >>
endobj
2019 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 495.975 null ] >>
endobj
2020 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 485.016 null ] >>
endobj
2021 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 474.057 null ] >>
endobj
2022 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 463.098 null ] >>
endobj
2023 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 452.139 null ] >>
endobj
2024 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 441.18 null ] >>
endobj
2025 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 430.221 null ] >>
endobj
2026 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 419.262 null ] >>
endobj
2027 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 403.67 null ] >>
endobj
2028 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 497.689 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 392.711 null ] >>
endobj
2029 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 486.73 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 381.752 null ] >>
endobj
2030 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 475.771 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 370.793 null ] >>
endobj
2031 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 464.812 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 359.834 null ] >>
endobj
2032 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 453.853 null ] >>
-endobj
-249 0 obj
-<< /D [ 2008 0 R /XYZ 79.37 406.142 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 348.875 null ] >>
endobj
2033 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 379.658 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 274.203 null ] >>
endobj
2034 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 368.699 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 263.244 null ] >>
endobj
2035 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 357.74 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 225.56 null ] >>
endobj
2036 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 346.781 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 175.921 null ] >>
endobj
2037 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 335.822 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 164.962 null ] >>
endobj
2038 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 324.863 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 127.278 null ] >>
endobj
2039 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 313.904 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 116.319 null ] >>
endobj
2040 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 302.945 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 105.36 null ] >>
endobj
-2041 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 291.986 null ] >>
+2002 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2042 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 281.028 null ] >>
+2044 0 obj
+<< /Filter /FlateDecode /Length 1951 >>
+stream
+xZn#9 +HV 
+ q9N=Qf ΉfȔL!o *..F`
+4u)[x2Í3vID;`j)Hq{Jɣ6!I^b?_:8o)5[f$CeRK^/F _"z̥11ֶcQU ]b2ĔʸkB/%q8*J4nͼ3SE;_,^QQvw33<$Χ 9ƕH65w ^I"[WeX(K]KJ0ik H}m^];\RknegS`JLZ{$㬡)˳+v#pLiEՊ$%%Rc[7Y˱M5ߋ}8?Fr?; K.n>wV_IEGߝg̘κ#}J)@1bqc-QN+Ǭ3|DaZ9K8oiVO8 Vձ=-.*m +aTa)o|#-Idt
+*g_ɗ,:m&rE@H=,EGK&pa5*eTpE{DҞ#\7tܔnl aBQYFUGU SS*.<o+GMX^NW՞99.ubqj/#ؗSղR.ZM['Fimދ/~8hX;pܱrW~T"W^["ZF FMK h@uTDWfd[x34Z空}WQISU[aZ SVHS@\].ptUeIO1" [pM.fgv{FlΎk¦}lR2VZT:d݌U #u@fU *ѿᠫF9#%H;Yu4eNnUѪ<=ALiL6{ rC@f<%9^?l 0#ˊ֠ HokgX3W[=ҒV'6v뫞z~]18;yN!h:[mU+ϠsnHЯ/,wgS(ӷAE8 qfv9H+3?[]8ƕzxԀDm"2̌ b= mE7Wp^Fmk.Fx+'-Tt9 #K.m/#}
+ǜ'/
+l^g#M{J\Z3o.VKw"zc'bHh扶'@Bj6W}@"wBJw}JȂ'YWX,{Sj/,p_C@|d@Za{X
+endstream
endobj
2043 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 270.069 null ] >>
-endobj
-2044 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 259.11 null ] >>
+<< /Type /Page /Contents 2044 0 R /Resources 2042 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2045 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 248.151 null ] >>
+<< /D [ 2043 0 R /XYZ 78.37 808.885 null ] >>
endobj
2046 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 237.192 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 768.829 null ] >>
endobj
2047 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 226.233 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 757.87 null ] >>
endobj
2048 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 215.274 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 746.912 null ] >>
endobj
2049 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 199.67 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 721.009 null ] >>
endobj
2050 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 188.711 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 710.05 null ] >>
endobj
2051 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 177.752 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 699.091 null ] >>
endobj
2052 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 166.793 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 659.24 null ] >>
endobj
2053 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 155.834 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 648.281 null ] >>
endobj
2054 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 144.875 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 637.322 null ] >>
endobj
-2007 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2057 0 obj
-<< /Filter /FlateDecode /Length 2498 >>
-stream
-x[n#9+" .a[cӧks nIIIYB5jRK9ß3b
- hr~ܸy_x
-I,f'e$= {&U3>3A3"U\S!hВ#َ0;LZ{ o``D-Mu$ydo,~eXzpr@=BWHOu6uiF}4&%OcmX53j64G|:0hz퍣|:_T'Dz
-LK ~'L"'-zt^hV7x1]m$0b|"?
-<)UuxY.#f]P)
-ɥU4xۈ&0d`gIԼO&,AVMci>F2m&6SJOsr
-0-d'LʼӜ ݟ{{efI髹\MR7+)VJKpnC* Y3oԐU -7ۻ]=*p$M=;
-cvwSҫY *Iz[i#ܥ繷EdS-~bȲ,\+ߊC((si( H+ 88]c|.;
-Vi*Յ:)]ΙnKWЀk|am}KZ[U+f-ᲦH*YxE'j)shìȵi}%
-SNv99U~T鉐5b}@Zd8]ڍÚ\;ozk)ڀ5b8GfF,t7Oѳ>9ԤsˈYYVwZ+%{í{V'_!ř3^5UZ
-endstream
+2055 0 obj
+<< /D [ 2043 0 R /XYZ 81.145 611.42 null ] >>
endobj
2056 0 obj
-<< /Type /Page /Contents 2057 0 R /Resources 2055 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2043 0 R /XYZ 81.145 600.461 null ] >>
+endobj
+2057 0 obj
+<< /D [ 2043 0 R /XYZ 81.145 589.502 null ] >>
endobj
2058 0 obj
-<< /D [ 2056 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 578.543 null ] >>
endobj
2059 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 567.584 null ] >>
endobj
2060 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 556.625 null ] >>
endobj
2061 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 720.161 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 545.666 null ] >>
endobj
2062 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 670.496 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 517.771 null ] >>
endobj
2063 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 659.537 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 506.812 null ] >>
endobj
2064 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 621.828 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 466.961 null ] >>
endobj
2065 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 610.869 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 456.002 null ] >>
endobj
2066 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 599.91 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 445.044 null ] >>
endobj
2067 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 562.2 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 434.085 null ] >>
endobj
2068 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 551.242 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 423.126 null ] >>
endobj
2069 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 540.283 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 412.167 null ] >>
endobj
2070 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 515.122 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 401.208 null ] >>
endobj
2071 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 504.163 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 390.249 null ] >>
endobj
2072 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 493.204 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 379.29 null ] >>
endobj
2073 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 453.651 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 353.387 null ] >>
endobj
2074 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 442.692 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 342.428 null ] >>
endobj
2075 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 431.733 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 331.469 null ] >>
endobj
2076 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 406.573 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 320.511 null ] >>
endobj
2077 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 395.614 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 309.552 null ] >>
endobj
2078 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 384.655 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 269.701 null ] >>
endobj
2079 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 373.696 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 258.742 null ] >>
endobj
2080 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 362.737 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 247.783 null ] >>
endobj
2081 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 351.778 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 236.824 null ] >>
endobj
2082 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 340.819 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 225.865 null ] >>
+endobj
+249 0 obj
+<< /D [ 2043 0 R /XYZ 79.37 202.409 null ] >>
endobj
2083 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 313.815 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 181.567 null ] >>
endobj
2084 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 302.856 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 170.608 null ] >>
endobj
2085 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 263.302 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 159.649 null ] >>
endobj
2086 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 252.344 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 148.69 null ] >>
endobj
2087 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 241.385 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 137.731 null ] >>
endobj
2088 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 230.426 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 126.772 null ] >>
endobj
2089 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 219.467 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 115.813 null ] >>
endobj
2090 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 208.508 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 104.854 null ] >>
endobj
2091 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 197.549 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 93.895 null ] >>
endobj
2092 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 186.59 null ] >>
-endobj
-2093 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 175.631 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 82.936 null ] >>
endobj
-2094 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 150.471 null ] >>
+2042 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2095 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 139.512 null ] >>
+<< /Filter /FlateDecode /Length 1981 >>
+stream
+x[n6 +Hg.uvEDkIz.&mͱxDPO
+p0IgҞqz5pn}87;3G9ML%Ϗpw}ipޫwWc|7,!?8g0Xb X`*hyJ
+wOWN.gqeIc.hrd^6|5_Q6/eq}2&Y"kg2|WA{\W|KIf4&-
+0R,p=a#}F 98"Zq۬/ي6zn=zs=wgx\~RҬM\{1{XWIlU":1uBe6ZX*OR<ژp%]Q
+>{zmI|<W;ǜ_иxGgz(o^
+HQ!uP
+U˶וmӚ+g&BiŬ&m\XCHiL'V5bQs>9ۼqWײh'X)%uf6""!B
+
+--q&;7m܃IH|؈IB"'y
+=Oڜq@ZIxZ
+endstream
+endobj
+2094 0 obj
+<< /Type /Page /Contents 2095 0 R /Resources 2093 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2096 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 128.553 null ] >>
+<< /D [ 2094 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+253 0 obj
+<< /D [ 2094 0 R /XYZ 79.37 771.024 null ] >>
endobj
2097 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 117.594 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 751.43 null ] >>
endobj
2098 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 106.635 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 740.471 null ] >>
endobj
-2055 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+2099 0 obj
+<< /D [ 2094 0 R /XYZ 81.145 729.512 null ] >>
endobj
-2102 0 obj
-<< /Filter /FlateDecode /Length 1996 >>
-stream
-xZMo#7 WVE.snEZI#$ g43~#=R|$%)L>}x1"דO]g.)!s㇔t?QJ|If%#N"B@`kI`&&6]w2Uo\{z߽7 !LX^V}~ϯY=:])S|>+@g}Jz `$pܑ(Hrl$ o=F|gn2v\V~p,i^F+6Z3[XZ_}A>"_2r-AD1e<KH%2/Lfr
-ס-r&am WfESĎ9]CQr5Á2e+);;-j.?vx :#1aOٳpVȡi}t(Uf/!jN#/p1]<C @2I"$߈YJe45cf/!cD-BGj!*6R'S=YsaB57Zy=jK $rƬg$tˆR$fl!$Y<sRDzK4pʇƍq6#Z\{YR;0l:YFvU:
-d!v Sn _=y<֟߷Eַx DUD"&!B9^}Ηաy)Jӛ
-endstream
+2100 0 obj
+<< /D [ 2094 0 R /XYZ 81.145 718.553 null ] >>
endobj
2101 0 obj
-<< /Type /Page /Contents 2102 0 R /Resources 2100 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2094 0 R /XYZ 81.145 707.594 null ] >>
+endobj
+2102 0 obj
+<< /D [ 2094 0 R /XYZ 81.145 696.635 null ] >>
endobj
2103 0 obj
-<< /D [ 2101 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 685.676 null ] >>
endobj
2104 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 669.736 null ] >>
endobj
2105 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 658.777 null ] >>
endobj
2106 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 647.818 null ] >>
endobj
2107 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 636.859 null ] >>
endobj
2108 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 724.994 null ] >>
-endobj
-253 0 obj
-<< /D [ 2101 0 R /XYZ 79.37 701.537 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 625.9 null ] >>
endobj
2109 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 680.695 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 614.941 null ] >>
endobj
2110 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 669.736 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 603.983 null ] >>
endobj
2111 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 658.777 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 588.042 null ] >>
endobj
2112 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 647.818 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 577.083 null ] >>
endobj
2113 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 636.859 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 566.124 null ] >>
endobj
2114 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 625.9 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 555.166 null ] >>
endobj
2115 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 614.941 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 544.207 null ] >>
endobj
2116 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 603.983 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 533.248 null ] >>
endobj
2117 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 593.024 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 517.308 null ] >>
endobj
2118 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 582.065 null ] >>
-endobj
-257 0 obj
-<< /D [ 2101 0 R /XYZ 79.37 556.616 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 506.349 null ] >>
endobj
2119 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 535.773 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 495.39 null ] >>
endobj
2120 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 524.814 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 484.431 null ] >>
endobj
2121 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 513.855 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 473.472 null ] >>
endobj
2122 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 502.897 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 462.513 null ] >>
endobj
2123 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 491.938 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 451.554 null ] >>
endobj
2124 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 480.979 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 435.614 null ] >>
endobj
2125 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 470.02 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 424.655 null ] >>
endobj
2126 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 454.08 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 413.696 null ] >>
endobj
2127 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 443.121 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 402.737 null ] >>
endobj
2128 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 432.162 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 391.778 null ] >>
endobj
2129 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 421.203 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 380.819 null ] >>
endobj
2130 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 410.244 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 364.879 null ] >>
endobj
2131 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 399.285 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 353.92 null ] >>
endobj
2132 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 388.326 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 342.961 null ] >>
endobj
2133 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 372.386 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 332.002 null ] >>
endobj
2134 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 361.427 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 321.044 null ] >>
endobj
2135 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 350.468 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 310.085 null ] >>
endobj
2136 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 339.509 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 299.126 null ] >>
endobj
2137 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 328.55 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 288.167 null ] >>
endobj
2138 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 317.591 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 277.208 null ] >>
endobj
2139 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 301.651 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 266.249 null ] >>
endobj
2140 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 290.692 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 250.309 null ] >>
endobj
2141 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 279.733 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 239.35 null ] >>
endobj
2142 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 268.775 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 228.391 null ] >>
endobj
2143 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 257.816 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 217.432 null ] >>
endobj
2144 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 246.857 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 206.473 null ] >>
endobj
2145 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 235.898 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 195.514 null ] >>
endobj
2146 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 219.958 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 184.555 null ] >>
endobj
2147 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 208.999 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 173.596 null ] >>
endobj
2148 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 198.04 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 157.656 null ] >>
endobj
2149 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 187.081 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 146.697 null ] >>
endobj
2150 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 176.122 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 135.738 null ] >>
endobj
2151 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 165.163 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 124.78 null ] >>
endobj
2152 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 149.223 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 113.821 null ] >>
endobj
2153 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 138.264 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 102.862 null ] >>
endobj
2154 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 127.305 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 91.903 null ] >>
endobj
-2155 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 116.346 null ] >>
-endobj
-2156 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 105.387 null ] >>
+2093 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2157 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 94.428 null ] >>
+<< /Filter /FlateDecode /Length 2140 >>
+stream
+x[Ɏ8WMH ]N0 :}6W 3Jj%[by|XI~~;j)LA)$e)x7OS`^G /m\vFkhsZT~s> aǧ:Δks=ervU?|yoH|g糺k}Ӗ>Æk0?gZ4}<g8`_C9/q7ze3 Yl3s/`RF*bpOF ]7p~iW_>3A \Ñ[}9S׹/)1ݞ5^~b4$XeYPДs VE):;7 - _lPƙ"XKQόa'Edćrr
+N "˦XX$Hl:C<z<Z|ĝyF9ьH)e%XYkԺ.QVBz]`aA.F =JlʦpQ6IRi@>pqs))UTkah֒-l>8 ;a "YFQ&:%7$d%$bD@`-G%CE!\,79hY6Ѳ yLy BTV'.c4Hr]1-'1u:&$v'x}噒N^I_hm.`# XS:aB$y8ېNڼLÊt3#ܡܝ^Q1>.\Ktli.)_8|.(L R4g^vfxѬAv6صՠ \8*ibeX/U/
+Eqxv"q$Hb).6nV\Oe#HT2e;PWxeuޕ_;}f|.eA M] F%T7_%\#HŲO<bPOyrHFE07•'Ľ,DͯT<j=p $T,̏^-I5%Pd$n1\6vm|y"};,0ϗnOw m#2^=Y7.sPc٠rdY)["H zN^XT+2AڪhZwη~ޫRd2:4ގ܎wE~yq5*le$!E>M*oz*+nbȺLw_N`sJر$:`9
+AZFų\㵲Ye]
+AzuRm{EcFeg=u]Ǭ- v}wacb
+O(P}k7zr 6A尥 c- fe_aSh7Se+ Cpm m¢H6Eu1wdކZ}x 
+endstream
endobj
-2158 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 83.469 null ] >>
+2156 0 obj
+<< /Type /Page /Contents 2157 0 R /Resources 2155 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
-2100 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
+2158 0 obj
+<< /D [ 2156 0 R /XYZ 78.37 808.885 null ] >>
endobj
-2161 0 obj
-<< /Filter /FlateDecode /Length 1945 >>
-stream
-x[ˎ6 W+Q%@׳+mWm%Y%1t2DsHZW+x_\trjs?sНќ;WYk` %ST=1 M/ﴆEksY޿t\}S|1}qܺOZ ue֍HVdʛ\˯5=yܛYRKn:("A&ewd
-jHJ
-Xoʼ9" *Mdüy+[Z\2YԢ7{˫כ[
-yNWiGT@ tbUZEA(YY`U'@%%Ze Xm{VKٮХۖNy `%JX$ࣞ KJ;+kŒHli_5?Ee5K{ jAJ-Z\>op/UPqDٰ}m'vOQ,t>ؼSXD{rKO%D^ۍ+/x;<>*!aJlVd~՚>r iϿj׸Ru4ދC+ҵ2,AswSWˮU"ip%ܒu0tbJPmT9 {+!#X<gW"w$.$Q:FXleLBo AX7ɺZu:"O4'$.fnm&ym7ZL7y.;LڧTdVHl2`۾I4AF<'Y.|LȋeVI<.LI"YY V&@Oh}ȥe7\ZtƤw7m܈$&jZpȭDX%$g
-ZmgpF@n?A}a^(+uWFzz]d)gum_=x[F`xޮSxǿrlQ8T\RuG;VrS~/@4=l5w/XְΕ X ,g'> L-Ҏ'v@ ET:(&65Xbh}_&Rzmоt"_U` faK+c%Ve
-<p^I"-ip\zK-`r2䪧B[q0}c>cBk#X!B6$x
-ʲAKpR|6FEkm飑~uA3Еn=7U ,
-$9XnpvIʭ#1j6(p"8=K*g8OږHrN͸DXx4(,klF&vx?d3'| ѧRO@reF[m6G=Ӭ=+REyDX38)7!^ĎIGm`W"$1O0Y9FyO=,E u#PwXSRNWgp|܄ Q<#Hsɹ;QaE<vrzI 5©Abφk~Jyl:5r+VI)1oU@?)u e$YpgS_ɴ#Q\N@fd[H9b?@\^ಝâɦy;}biJ(E@xrZMk_
-endstream
+2159 0 obj
+<< /D [ 2156 0 R /XYZ 81.145 733.96 null ] >>
endobj
2160 0 obj
-<< /Type /Page /Contents 2161 0 R /Resources 2159 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2156 0 R /XYZ 81.145 723.001 null ] >>
+endobj
+2161 0 obj
+<< /D [ 2156 0 R /XYZ 81.145 712.042 null ] >>
endobj
2162 0 obj
-<< /D [ 2160 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 701.083 null ] >>
endobj
2163 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 690.124 null ] >>
endobj
2164 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 679.166 null ] >>
endobj
2165 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 665.218 null ] >>
endobj
2166 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 731.287 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 654.259 null ] >>
endobj
2167 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 720.328 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 643.3 null ] >>
endobj
2168 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 709.369 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 632.341 null ] >>
endobj
2169 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 698.41 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 621.382 null ] >>
endobj
2170 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 687.451 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 610.423 null ] >>
endobj
2171 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 676.492 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 599.464 null ] >>
endobj
2172 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 665.533 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 583.524 null ] >>
endobj
2173 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 654.575 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 572.565 null ] >>
endobj
2174 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 638.95 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 561.606 null ] >>
endobj
2175 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 627.991 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 550.648 null ] >>
endobj
2176 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 617.032 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 539.689 null ] >>
endobj
2177 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 606.073 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 528.73 null ] >>
endobj
2178 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 595.114 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 517.771 null ] >>
endobj
2179 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 584.155 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 506.812 null ] >>
endobj
2180 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 573.196 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 490.872 null ] >>
endobj
2181 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 557.572 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 479.913 null ] >>
endobj
2182 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 546.613 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 468.954 null ] >>
endobj
2183 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 535.654 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 457.995 null ] >>
endobj
2184 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 524.695 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 447.036 null ] >>
endobj
2185 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 513.736 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 436.077 null ] >>
endobj
2186 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 502.777 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 420.137 null ] >>
endobj
2187 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 487.152 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 409.178 null ] >>
endobj
2188 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 476.194 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 398.219 null ] >>
endobj
2189 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 465.235 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 387.26 null ] >>
endobj
2190 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 454.276 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 376.301 null ] >>
endobj
2191 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 443.317 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 365.342 null ] >>
endobj
2192 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 432.358 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 354.384 null ] >>
endobj
2193 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 421.399 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 343.425 null ] >>
endobj
2194 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 405.774 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 332.466 null ] >>
endobj
2195 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 394.815 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 321.507 null ] >>
endobj
2196 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 383.857 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 310.548 null ] >>
endobj
2197 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 372.898 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 299.589 null ] >>
endobj
2198 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 361.939 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 288.63 null ] >>
endobj
2199 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 350.98 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 277.671 null ] >>
endobj
2200 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 340.021 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 266.712 null ] >>
endobj
2201 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 329.062 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 255.753 null ] >>
endobj
2202 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 313.437 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 244.794 null ] >>
endobj
2203 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 302.478 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 233.836 null ] >>
endobj
2204 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 291.52 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 222.877 null ] >>
endobj
2205 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 280.561 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 211.918 null ] >>
endobj
2206 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 269.602 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 200.959 null ] >>
endobj
2207 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 258.643 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 190 null ] >>
endobj
2208 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 243.018 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 179.041 null ] >>
endobj
2209 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 232.059 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 168.082 null ] >>
endobj
2210 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 221.1 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 157.123 null ] >>
endobj
2211 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 210.141 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 146.164 null ] >>
endobj
2212 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 199.183 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 135.205 null ] >>
endobj
2213 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 188.224 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 124.247 null ] >>
endobj
2214 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 177.265 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 113.288 null ] >>
endobj
2215 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 166.306 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 102.329 null ] >>
endobj
2216 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 155.347 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 91.37 null ] >>
endobj
2217 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 144.388 null ] >>
-endobj
-2218 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 80.411 null ] >>
endobj
-2219 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 122.47 null ] >>
+2155 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2220 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 111.511 null ] >>
+<< /Filter /FlateDecode /Length 1872 >>
+stream
+xڭZn8+!dFs[u]bщZ [THaodÆ+ ^MA9TBw뗔a{/2Eon^D[P8H&"4K9MRxċR5/xk\^=6g?J$L=GJ鈆P_kV 3+uY#%c-\ 傼f9xI3=cyVAt]:ljrNȣT熬C^U N6<{ՆV}Ae
+'F
+(iSPR3#|~Mp0{착,lg%
+LCmXnUBF&y۳guKpӥ YD,^ԂqXٹ5?힌5P-D I"zsA83fLZJj1ުןU#JQLGD*æ~^8?B0ǀ氨z?)b
+@EP&gK)cKeJ7C8ОAMV%0quZ)i2YP:KCk4qU(YGZIp)jL
+hoWgf8o/e@vh954Ǒ94wCkxymG!ܽJM}⾂S,4bJKwXK^)b`3PNZW$7
+4<9: G9$S8zect〄(au%kDFOrZS #Hl
+=_Tz*YȚqj#т58/ 8%S-dѰwimgF\H^z˫]zTB>H
+t]\\
+@ߏLT^fuC{μyzx٩z,{JY5\=>$MKE9<vscg{ߥIU֢Ge! ל$vXnO:/s/n@9Ew-XxYgb x-SWYF#ʜ {i'?P9%Ԩ]uz'SmH|K ?> ѧfa(d;ɤƥ7>ulx^M @Ӗ9IYD4*/PbwV_R; >qEtjfS HZDɽ
+:1U!Y1 㦼^OxVhG$[^uv>!-/g f#<p/V[z 3 B}Z?rfk;%UJ#wJ4|*}QJ2}-4G=Q"LjA=HfIltEZ94|l+8h%DHiZ /7F ܹD`υ#/I?sTlx:,\jz,쬼!D-ތ?<򸿿1R
+endstream
+endobj
+2219 0 obj
+<< /Type /Page /Contents 2220 0 R /Resources 2218 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2221 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 2219 0 R /XYZ 78.37 808.885 null ] >>
endobj
2222 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 768.829 null ] >>
endobj
2223 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 757.87 null ] >>
endobj
-2159 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2226 0 obj
-<< /Filter /FlateDecode /Length 1846 >>
-stream
-xڭZ͎6 SV#QbfynE]I-f6'Xx'v/HZ']|r*'c9ϜN19}I?MW$wJ*`ӌcLPGfvT0~rP^{ ")prd2x*Nf-J\MrQBmid2rY+hd'_l]m>LÏV)2ZL-ժj~HlTKg[$8ĶGQA=K8=Ȥ"Tʐ:rRHJtHcpuf[*X!ZeYa,ķ@>@9kXL-&yBC87E`Di3Fy|XVRUwu9 Yyh1*Er[ Ig!3R$o:`<HT|U%--C/Lo>b42*Ajs ֗ɫh'Q RFOactS $!an$rϓ
-~Uz:6B%HVWҼRX qRɱU)۴N;Rl ӮE8dV Fi&̕&ug&orг'clɍj-iuVV)v>Y{zαOB-\NJY<&% D$( 'ɓc D8[yiIy罤TsB7|Q v wͮU~wXOl
-l)lJ6|d3C%z^-wɄf<.[[iXz-%g-(kc ԖaHf>Շϡ,*2F\O欗U-ٔqyU>s ]t7.6^\l'BE݆cEgz.ڗQ`|a74oH[qWa.|7ϒ%AO*ޟP(U;y@w,L>ΫT}
-ABmZL$Դ>Ot}p,9 T<. Aoi6jYǶyiH5O dn>'~Fk֕ 5ªM~J^W>րj-l RHf+=,BWcoL)mU6*jdEsiUڏ\-W!@jVZk#eB)vl<@*[]Ru$q3T, L:hfe{ 6'<߷RK:Pڰ%l kfpoĦ҆1_}%Gs2VԺ(<Q&eôS
-cw5&{,(ZGa96?,xAoO eJ|R<u%@{ {*PW2Wkny5?g4<zh(礕 {*q.4cH׾E<߬ze[Pf=?1w
-n:/U`]J2{qɵ؛P&~wc0lvz:5$HbIJiMIR x+W[<lڱIjN<o[yρ;yR8l!V<Mlw}E})&CˏprQ\аI
-endstream
+2224 0 obj
+<< /D [ 2219 0 R /XYZ 81.145 746.912 null ] >>
endobj
2225 0 obj
-<< /Type /Page /Contents 2226 0 R /Resources 2224 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2219 0 R /XYZ 81.145 735.953 null ] >>
+endobj
+2226 0 obj
+<< /D [ 2219 0 R /XYZ 81.145 724.994 null ] >>
endobj
2227 0 obj
-<< /D [ 2225 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 714.035 null ] >>
endobj
2228 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 703.076 null ] >>
endobj
2229 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 692.117 null ] >>
endobj
2230 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 681.158 null ] >>
endobj
2231 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 670.199 null ] >>
endobj
2232 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 659.24 null ] >>
endobj
2233 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 631.345 null ] >>
endobj
2234 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 620.386 null ] >>
endobj
2235 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 609.427 null ] >>
endobj
2236 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 598.468 null ] >>
endobj
2237 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 587.509 null ] >>
endobj
2238 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 576.55 null ] >>
endobj
2239 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 548.655 null ] >>
endobj
2240 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 537.696 null ] >>
endobj
2241 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 526.737 null ] >>
endobj
2242 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 515.778 null ] >>
endobj
2243 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 504.819 null ] >>
endobj
2244 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 493.86 null ] >>
endobj
2245 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 482.902 null ] >>
endobj
2246 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 471.943 null ] >>
endobj
2247 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 460.984 null ] >>
endobj
2248 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 433.088 null ] >>
endobj
2249 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 422.129 null ] >>
endobj
2250 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 411.171 null ] >>
endobj
2251 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 516.775 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 400.212 null ] >>
endobj
2252 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 505.816 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 389.253 null ] >>
endobj
2253 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 478.919 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 378.294 null ] >>
endobj
2254 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 467.96 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 367.335 null ] >>
+endobj
+257 0 obj
+<< /D [ 2219 0 R /XYZ 79.37 341.886 null ] >>
endobj
2255 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 457.001 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 309.088 null ] >>
endobj
2256 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 446.042 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 298.129 null ] >>
endobj
2257 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 435.084 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 287.171 null ] >>
endobj
2258 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 424.125 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 276.212 null ] >>
endobj
2259 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 397.228 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 265.253 null ] >>
endobj
2260 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 386.269 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 237.357 null ] >>
endobj
2261 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 375.31 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 226.398 null ] >>
endobj
2262 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 364.352 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 215.44 null ] >>
endobj
2263 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 353.393 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 204.481 null ] >>
endobj
2264 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 342.434 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 193.522 null ] >>
endobj
2265 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 331.475 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 182.563 null ] >>
endobj
2266 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 320.516 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 171.604 null ] >>
endobj
2267 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 309.557 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 160.645 null ] >>
endobj
2268 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 282.661 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 149.686 null ] >>
+endobj
+261 0 obj
+<< /D [ 2219 0 R /XYZ 79.37 124.237 null ] >>
endobj
2269 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 271.702 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 103.395 null ] >>
endobj
2270 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 260.743 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 92.436 null ] >>
endobj
2271 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 249.784 null ] >>
-endobj
-2272 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 238.825 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 81.477 null ] >>
endobj
-2273 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 227.866 null ] >>
+2218 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2274 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 216.907 null ] >>
+<< /Filter /FlateDecode /Length 2437 >>
+stream
+xˎ6_a9d@o"tAk6{_çDR% <mSdO3urx|S$8qO,0-OF Ƶ8}ys\s/o}`盕'˜hk8Bhf!I ¹~S
+ [I[횆t&wB bhXuO3yO0CBYpZ=-Ҽ:G7g7-tLHnNo[Hzy+tUA-M[(X>zJLx)*R1TiJHvU Q.hǪT
+
+
+_jᶇpb
+e-РvWz!6xt<|<VoCr[;dw ڽWLx cm4A
+QtF=srqoa83bs*.=ɘ+MxcϮٽ ?V|8a@y3
+z2:RFAPZL6MzV
+f!g77IfJeWX0 zݭa Su_XTd}I&!Z[eag73L^@k%<sG'$
+Ff
+^OʶOs샜>* ٤tA2el Y|lG_=ܜQRp YS*gQHnIH*}[=<ҤSAH٤עuo<!Ѵ-NAz}FTltL57g$32Hfe
+3[@_;!)Z!M/<q[򝧟 Bi_hi"*a <<f6:[lDw(R-a|!B#`
++[Vh{cExDr&9SYDPEalv|#[aQytxKzL$*"_|nYR/y%SjIyrK<G=;\Sg~r\7_!/C
+IDį+Cer$I՛-ja0'vZd{J5A)bb0ճ+J`s5&Dy9>?::V,n8xFQy3S!0>YJxi8w7wڷ_U/D|{cnȎ]8YQr p/H PM6O4ҍja0}GHaw]ᤀK-K 8x8'ə3KZR7=
+endstream
endobj
-261 0 obj
-<< /D [ 2225 0 R /XYZ 79.37 192.457 null ] >>
+2273 0 obj
+<< /Type /Page /Contents 2274 0 R /Resources 2272 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2275 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 160.326 null ] >>
+<< /D [ 2273 0 R /XYZ 78.37 808.885 null ] >>
endobj
2276 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 149.367 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 768.829 null ] >>
endobj
2277 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 138.408 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 757.87 null ] >>
endobj
2278 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 127.449 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 746.912 null ] >>
endobj
2279 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 116.49 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 735.953 null ] >>
endobj
2280 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 724.994 null ] >>
endobj
2281 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 78.635 null ] >>
-endobj
-2224 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2273 0 R /XYZ 81.145 714.035 null ] >>
endobj
-2284 0 obj
-<< /Filter /FlateDecode /Length 2605 >>
-stream
-x[Ic9Cw@i@}\m q+.zzT{ִD~U8ӧN<۷'żNfy\ſֿoRNHGaնs({>Zʁ:| 'jq =%0Hτ3N'R3LO@ sS֠YCy4Gn2D`xھZJ~5Dqo?mƆ i <y=wincyegIxYXg}s0PE^"LdoG]d;J>gBNgVO#u5憁1S RȉInΤq-
-zJow <I{22}IԂ9
->_t\=D]K|OrGHyfZ&!y<~릁 ~69DƷH-VYSKK̷ ŷ-\k|DU,SUK
-D`ML$ x~:B5 @XkRN ,v(
-rSb4I  a
-$[M([w8B\X2`'~P/іH#m6$"[̇q1͐VޓX ꕰ$nRnU9ϴh*P/Kyny9nob~(82{ GPGSk'2
-?ә\kgu^.,Hfa`E-PT:P= ~SL["C.sZ"5͂5G~dw'- P\mKGO.T
-.y O Kq z>G{x\]H~^JH7t0"D[K duG.B5U9)䳓mn Z~7 ^9r=$fVs&I=j*<E^p{u-"͂,c=ˬk$KbH=9;)gzB78ژ`$tTc %uk&=;,p֑G^tجj jRڹFliqEJۯӻh3gbI0+2S6ʨd9*Y֙QJ?Zzxb?yTJ@o$8c@e "|%horJKͺry4Cc斎hHFws*ooٰKZ\H>f| trtWK</>9<  Yjrq "nyd:Rz̒^:pA/8^疋n@E+ kU R{|/Vo^KX~8t6=<swJ4fDkܻˊ(5-FczK^mڙx
-iQROf|=DU_m?Jg$mJ@N>'Sc3W~2ܤsc{:иAVa@qiv^S\>*xfbx
-endstream
+2282 0 obj
+<< /D [ 2273 0 R /XYZ 81.145 703.076 null ] >>
endobj
2283 0 obj
-<< /Type /Page /Contents 2284 0 R /Resources 2282 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2273 0 R /XYZ 81.145 692.117 null ] >>
+endobj
+2284 0 obj
+<< /D [ 2273 0 R /XYZ 81.145 681.158 null ] >>
endobj
2285 0 obj
-<< /D [ 2283 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 670.199 null ] >>
endobj
2286 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 630.349 null ] >>
endobj
2287 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 619.39 null ] >>
endobj
2288 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 608.431 null ] >>
endobj
2289 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 597.472 null ] >>
endobj
2290 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 586.513 null ] >>
endobj
2291 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 575.554 null ] >>
endobj
2292 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 703.076 null ] >>
-endobj
-265 0 obj
-<< /D [ 2283 0 R /XYZ 79.37 678.299 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 564.595 null ] >>
endobj
2293 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 657.456 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 553.636 null ] >>
endobj
2294 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 646.497 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 542.677 null ] >>
endobj
2295 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 635.539 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 528.73 null ] >>
endobj
2296 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 624.58 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 517.771 null ] >>
endobj
2297 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 613.621 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 506.812 null ] >>
endobj
2298 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 602.662 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 495.853 null ] >>
endobj
2299 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 591.703 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 484.894 null ] >>
endobj
2300 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 580.744 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 473.935 null ] >>
endobj
2301 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 569.785 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 462.976 null ] >>
endobj
2302 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 558.826 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 452.017 null ] >>
endobj
2303 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 547.867 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 441.058 null ] >>
endobj
2304 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 536.908 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 430.1 null ] >>
endobj
2305 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 525.95 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 419.141 null ] >>
endobj
2306 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 486.323 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 408.182 null ] >>
endobj
2307 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 475.364 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 397.223 null ] >>
endobj
2308 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 464.405 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 386.264 null ] >>
endobj
2309 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 453.446 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 375.305 null ] >>
endobj
-2310 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 442.487 null ] >>
+265 0 obj
+<< /D [ 2273 0 R /XYZ 79.37 348.359 null ] >>
endobj
2311 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 431.528 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 274.219 null ] >>
endobj
2312 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 420.569 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 263.26 null ] >>
endobj
-269 0 obj
-<< /D [ 2283 0 R /XYZ 79.37 396.175 null ] >>
+2313 0 obj
+<< /D [ 2273 0 R /XYZ 81.145 252.301 null ] >>
endobj
2314 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 322.708 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 236.361 null ] >>
endobj
2315 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 311.749 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 225.402 null ] >>
endobj
2316 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 300.79 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 214.443 null ] >>
+endobj
+269 0 obj
+<< /D [ 2273 0 R /XYZ 79.37 175.679 null ] >>
endobj
2317 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 258.734 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 121.32 null ] >>
endobj
2318 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 247.776 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 110.361 null ] >>
endobj
2319 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 236.817 null ] >>
-endobj
-2320 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 225.858 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 99.402 null ] >>
endobj
-2321 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 214.899 null ] >>
+2272 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F88 643 0 R /F87 2310 0 R /F111 644 0 R /F64 333 0 R /F22 367 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2322 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 203.94 null ] >>
+<< /Filter /FlateDecode /Length 3359 >>
+stream
+x\I W"Z
+6 <3X]^]pJdMtʑ=BԆ?h\w'lxtLpM=9xҼ%ryQڬM6|U~Ia<N̄}l0tIv#|#COLm|) ^DOOzKBVDb# US'jڪL<4;>'EKquY܈ץ_v'G|7j DYR͞ֆ @/,|_,q\RKR͝ǡw'Ukj:Dj$v~a؁{Tx)wYkj4X[5?D+>ʛh{:$叄bM`
+ߚ}qMf8`{f\l*غ:N]ɇ67 &a|8BD%d
+yx_x)1?Ș
+O{ր >ERؖ|Nd6+ۧL# P 8vLb8j5yetK{
+sߓѦͲtBw> 5.K7
+̤?dMykI U"&X<AA>m=ڣdeTm5.GM,G I%SSK0!@nI&y($RFAq =*XB#'c="x.`K9_ߗB<yI+[
+͸R}qM`^׺5̀jcEjNF|9:9L[8wvtD{ȬH<E;i@Jaq&6vF반hZlgNow@_FA +Uճ<Dž%.eR!뀈J+˷R:/#O[UNMJ t l=0^
+2}fGZPKcfO,;s eTeϪB: C44(f\= +$ M"2#/֮[BKI d>fΒ@yѴ{oѕf_aksP4o&S\S9VdF;@$q`14N a@V~d1P1WpwG>#]q* RPS4buwöex6$&g]>`R },ۑVۦiWr
+iC9XNURք*C^-! .}>|eJھo"J8w cO '}E5d0m}X&@'}`4k\AWs!#ykcMf>rxE{0F>'5*de𸴏EP\\7QXoVS@u'2#hů; } [<:'G-p ʧzFB>\pJuWf8TxI(&RNv'3AtmGzgc7cP1GٯOYbJylLykF_prhj;]Aj%DBKUanݾ] қ@):Bi_.n8w |1ŏN?9ukTyݚ!CW&o^,b(r4քɫ-4!4ɾmҷ OC;(}̈Gd!Bqha i2e*0!bLA7*4)4EףsܶHg.\ 5)|<3/ڋ#Xe3HElۥCg (vUt!=.[պ=!Կȿ凣tmc L]
+%N+62~,+<rRSI?$ GQ۷ʹG1aOK뉗&~nyyῐ Mϴxug-ktrX ebo>tm?_ [^
+endstream
+endobj
+2321 0 obj
+<< /Type /Page /Contents 2322 0 R /Resources 2320 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2323 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 188.224 null ] >>
+<< /D [ 2321 0 R /XYZ 78.37 808.885 null ] >>
endobj
2324 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 177.265 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 731.557 null ] >>
endobj
2325 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 166.306 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 720.598 null ] >>
endobj
2326 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 155.347 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 709.639 null ] >>
endobj
2327 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 624.484 null ] >>
endobj
2328 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 613.525 null ] >>
endobj
2329 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 122.47 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 602.566 null ] >>
endobj
2330 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 111.511 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 517.412 null ] >>
endobj
2331 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 506.453 null ] >>
endobj
2332 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 495.494 null ] >>
endobj
2333 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 78.635 null ] >>
-endobj
-2282 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F88 635 0 R /F87 2313 0 R /F111 636 0 R /F64 333 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2321 0 R /XYZ 81.145 422.294 null ] >>
endobj
-2336 0 obj
-<< /Filter /FlateDecode /Length 3184 >>
-stream
-x\Ɏ$ WZ"*;' \7Wڗbia j2#BAqH13uSd
-翾f`\nx\h㟖7O+o9Ѷta손ys
-hzw%}I'}OJh:Iq&8dB$SOHʠgZ
-ăGҢzW1^iy~W(0JTvu6d:y4x5bI~Ք蘐83){BkSa\ub
-\2crz \RM$V2e]͔8:(cGYz
-w!ܪ
-#Il5{ue٘(xw!OX/AzL[ ^R"ٕ7Mi43ORz`x稳L!vPf^RhTtQbۨ îjYӻgƴ'0'6rdetV얼:]6x,_U˟;;@\/%%2tr2LBD21\WKFkIk&Ïϒ=j jD`&^~? "plKSO7
-H"C]2~OR80019%ċ>}W(0oʡOy7S)p9p͸̕u9#+EUI3z_.6g2 G6:Ȁ<3E*>OH۲[K1G4~'_<K"ր%)Az-E$6{3nSG#Hz%ddS&z)zsۥc%.Iԗi; K2Ug`,.
-:
-y:fpB['[?Y"{&`\i
-](ܔLT=>qVq#q"HGe֨uk%9;oT 2߰L|rMʶI2즞ѿ,u ` zx5z0?X!2W/a&yؒij9օ%MS .,*!XsHup,B[=M^t
-Rکz/(Ŕ/B^9iG*IA EEOAVS~V)YC9 vj>͡i}Dycݨ -i`z wcԬrq/sMP*$]`9F։5r:֩@FF'6PVȌ3](-EeF)w:RZ%d*&FZ-el:?l?.m6Zg3<>:(γI飛JbIS ~-`.rkS_;\JsC=Kk=N=5xCk+*y7zjﲑR1jcD">c,mcC0{ՆfT &NHu=M9WQ2j
-FLD7-9ij"19ihdh5ve@ڦ=rFAJ\I.T+v#
-G 歰m{eݦ%
-f_ L2bys$|z C_p")̓N$B_-AJBhk_Rz浮9zB'?Tq}Uт0Pj$pW
-endstream
+2334 0 obj
+<< /D [ 2321 0 R /XYZ 81.145 411.335 null ] >>
endobj
2335 0 obj
-<< /Type /Page /Contents 2336 0 R /Resources 2334 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2321 0 R /XYZ 81.145 400.376 null ] >>
+endobj
+2336 0 obj
+<< /D [ 2321 0 R /XYZ 81.145 389.417 null ] >>
endobj
2337 0 obj
-<< /D [ 2335 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 378.458 null ] >>
endobj
2338 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 367.5 null ] >>
endobj
2339 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 356.541 null ] >>
endobj
2340 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 259.431 null ] >>
endobj
2341 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 248.472 null ] >>
endobj
2342 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 669.203 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 237.513 null ] >>
endobj
2343 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 658.244 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 226.554 null ] >>
endobj
2344 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 647.285 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 215.595 null ] >>
endobj
2345 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 558.618 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 204.636 null ] >>
endobj
2346 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 547.659 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 155.347 null ] >>
endobj
2347 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 536.7 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 144.388 null ] >>
endobj
2348 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 448.032 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 133.429 null ] >>
endobj
2349 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 437.073 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 122.47 null ] >>
endobj
2350 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 111.511 null ] >>
endobj
2351 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 349.402 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 100.552 null ] >>
endobj
2352 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 338.443 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 89.593 null ] >>
endobj
2353 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 327.484 null ] >>
-endobj
-2354 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 316.525 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 78.635 null ] >>
endobj
-2355 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 305.567 null ] >>
+2320 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F83 412 0 R /F81 377 0 R /F65 335 0 R /F59 346 0 R /F84 425 0 R /F85 439 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2356 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 294.608 null ] >>
+<< /Filter /FlateDecode /Length 2682 >>
+stream
+xڽ[Ɏ#9WJ-ZDv:9mמu *[!1G㏃!F䷯0M$#To~TjJx)(hG"C Lʞ[)RxP>,5wK]n?#9 Q {ʮ(q| - Ng`ÿH~3-GD4RuOYv kGOm9㼞rw& aT&@%G D Q%ӈ<,
+Oi>{a,Nn67U"R"i-J'F[-J&P&t_8{pZq3qh~2%2"ȡa?0cfKqw&j'!79"Ȃ7F35++C|**!t"i撗 $pxĉͦ{@Ş0
+5?+fu\L-0w`L
+q7yy"CQ#t· eT0Oeك"t#Tx/7 05L[IO:\kf^̎[Kz8+Uv]>)
+ٺ6a(9ԽL#tb%V N$@ttGpU_tk`X5MȄisPjh5M{zA= X~T
+']3j*i7=8bUV'a/n4 w\<O_[eJFkw k>wI$@͹Z1f^h15*U0D%h
+|n3eWFUցMD+xL8ѕ~П, BΙg\D1G(|MyBc6[Ut 3n{ycf/j|!Z3S}-s!uy]Z~?C>cVuXϩk.Ec Vʯv @.N\=3 }.r>4˱XX3E[E饣B^cϞBgg,1dD1|z:︱N[IONsW ;ɹ׉KlWN[5VcwMϓsڀ8P*=K)x搑Z
+L:ʚRx~7h/#OKhE]4nUW$X V4X{&:4뎶3*Kg9Lm83[og ~ݗIA,Qu.?OM"e_Ej.xx&W,)6v|[_ [YQs48R'hP4kBw;Cg'9W鹹ޖ}^A}c
+ّRrx
+Ae¶x[4Rҟ8s9PNlRK:n9*z7Zy.Q5΃Azg3rEOI0y?gZISGR?WcRGYʿ+#}@ť?GM4^.Κ8"Ue]τJo~Oєe,, [< n=`0:7ə)2i]}9h<,-M:.Telױs]* *ű.vG~ˇPr.>
+1ک0;$m|hRk$Jg+ZU%{nZ0O!.h~cVU}7
+&~hnҪowC"ShjMNM>5Pg3'#\}
+$T X됊ɽGpLj W wꀣ^Wã#<?ݲ=k)lB`hŤD f&0+29.<$V91Wj#mc: DCdAp.<E>uLN&VEW]KþuhyN&?'xt̸C#詜ś㜓װm^ztyg@{#H՛LՌWd҅ۖi;徫w7%ٻ9.^Oa1%靾xsTe 6Ez/FA%h_&*
+endstream
+endobj
+2355 0 obj
+<< /Type /Page /Contents 2356 0 R /Resources 2354 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2357 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 283.649 null ] >>
+<< /D [ 2355 0 R /XYZ 78.37 808.885 null ] >>
endobj
2358 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 183.026 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 742.926 null ] >>
endobj
2359 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 172.067 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 731.968 null ] >>
endobj
2360 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 161.108 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 721.009 null ] >>
endobj
2361 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 150.149 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 710.05 null ] >>
endobj
2362 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 139.19 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 699.091 null ] >>
endobj
2363 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 128.232 null ] >>
-endobj
-2334 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 414 0 R /F81 377 0 R /F65 335 0 R /F85 437 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2355 0 R /XYZ 81.145 683.151 null ] >>
endobj
-2366 0 obj
-<< /Filter /FlateDecode /Length 2583 >>
-stream
-x[n#=SZ#896i:ڨTt7CIQGR^xuqiw\kq_/k9<| 0+9ī4H=?da&R"5 j(y0HA8ok_}!}[ -
-<D(H)Q$%j? :hfoߙtU<ƾZ86Pt)|#*uc7)f_h\2*  5IL2DК =I愹af#:{ h /(eL-P 2g
-d, hY^ oSh^f sҎ@GIz'Uz )+ѨO"%^Oh.~Mld^dLTb%qG'`dʆES>sѪ'kwI+$ Us))LSL n)}6 <ǧ(s4_k>;Dkǐ'kOIbf"u}*#_y3=cI}=*GǞ3ZYa4S\$rOnkhp@2Hs$YbJ{-MT:xIҴz^:;SψzV1c<su2M< )ȷc;>uShz@' ' M-1MJ4hdc E*-z(惬J}ja:Ǖ;zJ_BPs͎GZ`]SOw)>B(uKԁRצ,2scASwf !񧂆[@ː2)C{} tMZ=ggXLfᖸ=
-ExGs-u)ٻ9}6'@i&7񹳦[H鷝o+[n&Ȅ)Q\L5a#ssU؀v-d|'4c)ZSEҩVL\/so8JθD*߉T~G嘏kB/S
-cؽJL絡jrr
-))5LHےGp+X6'N4xN1|bI#Q |#׫@UQ2{w8IY5nVVC>b`αyX(^}뢤8T rjR+`\K~g+=
-endstream
+2364 0 obj
+<< /D [ 2355 0 R /XYZ 81.145 672.192 null ] >>
endobj
2365 0 obj
-<< /Type /Page /Contents 2366 0 R /Resources 2364 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2355 0 R /XYZ 81.145 661.233 null ] >>
+endobj
+2366 0 obj
+<< /D [ 2355 0 R /XYZ 81.145 650.274 null ] >>
endobj
2367 0 obj
-<< /D [ 2365 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 639.315 null ] >>
endobj
2368 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 742.926 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 628.356 null ] >>
endobj
2369 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 731.968 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 617.397 null ] >>
endobj
2370 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 721.009 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 606.438 null ] >>
endobj
2371 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 710.05 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 595.479 null ] >>
endobj
2372 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 699.091 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 584.52 null ] >>
endobj
2373 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 688.132 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 525.29 null ] >>
endobj
2374 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 677.173 null ] >>
+<< /D [ 2355 0 R /XYZ 79.37 488.622 null ] >>
endobj
2375 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 666.214 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 470.488 null ] >>
endobj
2376 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 625.367 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 459.529 null ] >>
endobj
2377 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 614.408 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 418.682 null ] >>
endobj
2378 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 603.45 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 407.723 null ] >>
endobj
2379 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 592.491 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 396.764 null ] >>
endobj
2380 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 581.532 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 385.805 null ] >>
endobj
2381 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 565.591 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 374.847 null ] >>
endobj
2382 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 554.633 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 322.045 null ] >>
endobj
2383 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 543.674 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 287.175 null ] >>
endobj
2384 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 532.715 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 174.597 null ] >>
endobj
2385 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 521.756 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 163.639 null ] >>
endobj
2386 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 510.797 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 152.68 null ] >>
endobj
2387 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 499.838 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 141.721 null ] >>
endobj
2388 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 488.879 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 130.762 null ] >>
endobj
2389 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 477.92 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 119.803 null ] >>
endobj
2390 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 466.961 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 108.844 null ] >>
endobj
2391 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 407.731 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 97.885 null ] >>
endobj
-2392 0 obj
-<< /D [ 2365 0 R /XYZ 79.37 371.063 null ] >>
-endobj
-2393 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 352.929 null ] >>
+2354 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F83 412 0 R /F65 335 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2394 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 341.97 null ] >>
+<< /Filter /FlateDecode /Length 2478 >>
+stream
+x[ˎ# WZ#Q h4ЎzvA*^%oO]%Q$ERF^}?~\yWD`_?uqAhwqV i.xҩ7S @߬_RUJ7)_}=퟿N9Њ͸AQF贮~gi幤FQ  ۅDivB)i3ѓۑ9qEi@[0/([˳ ݄a64]"Y0%ma[ :Y:8?RYʧԬڎ
+pz^O:jl|%aϦ
+&\|Jih)xDi2z|V.ۤNryxĉ%:
+8U#wN1V Fn{sBݖoc,vQ36z
+iйjZ #6ª+M~.>^
+u@uh1GhW4ΒУ =Ew
+0z-BׯP}UZz5Z#T)Ы
+{餪W7>lx(b;[R1Ez; M㩛24Bnel ސ
+ͭD
+߁|xϳPoM xhڇiQPlڪ:,)ZcGцⓣXFp̗S]f;i|+҆2'l}xx~yWy+ʷccGbF)hPE5R 6Nzj,Ka͖ U4hO|#u} KxrX 5l+nѫh萦Y=qdwbFNJQ́ߤ1(ver:5\tP|-o vT{:'iץ[aI+"|JKVFJzp3=/_?S{8{ Ue-ķQOy:y@(ENq>JG[ڪ~+'|' T"$@(,7᭝nY' "/k,"Zfs׏?
+
+endstream
+endobj
+2393 0 obj
+<< /Type /Page /Contents 2394 0 R /Resources 2392 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2395 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 301.123 null ] >>
+<< /D [ 2393 0 R /XYZ 78.37 808.885 null ] >>
endobj
2396 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 290.164 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 743.045 null ] >>
endobj
2397 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 279.205 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 732.086 null ] >>
endobj
2398 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 268.246 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 721.127 null ] >>
endobj
2399 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 257.287 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 710.168 null ] >>
endobj
2400 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 204.485 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 699.21 null ] >>
endobj
2401 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 169.616 null ] >>
-endobj
-2364 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F83 414 0 R /F59 346 0 R /F84 425 0 R /F74 337 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2393 0 R /XYZ 81.145 688.251 null ] >>
endobj
-2404 0 obj
-<< /Filter /FlateDecode /Length 2021 >>
-stream
-xZn6 S V"? d2 [k{_+ǖeّ&zdƖ?)2)/]o?nJ_ ] yQڋ5JH.o_~Ҁ>,VR5|=~/]F0"5=t}O2E˿T~xl6#\\<oAnK=ЄS}myJ"1٭)'ͬ|jZ3W~hHO%}uM.@zd>uf#{O;res9/2YA꥖DZk9sE䅒j!S\"Dşr'QZV#Aƫ^AXHXSP1[ؗaڌn9cvʷݠj}5BsN!Z;Z(XJ]'N~]\`Ϡq\ Ċ`H4oXl4yY).Ҭ@ByUP
-$hBP2|
-PO1BSZEnKh(w"eb 7v0u?n4Bf;"\KTlz#;xvf'従A[αbвbWYi}>aR'iP\D ReŻ-
-颶;$sDd 'vIԣÜ 0%?|71M򧩰"('ESy- *?pNډ2p6[;"v/-.jJu-h"΃9<i<riP8)Pm4(/_<fM995p-R EyɻhV&dQ`+ KwֿS,@/$y:O6RL
-m Wm_$ BY׵Mˇ@ @u|-")݀3󕥶oVW .C?_6HoGDe@w ڗSY*
-c,)U[H-Lc,mDESah`T9U.+Ep
-Z; PR
-Żvv$[.q4l7A(_q{B7(LiOX#_i kw2_V4}LW<hBY'`߲y):IFo}G·/xO]rI$xpͅ{`:^}M5
-endstream
+2402 0 obj
+<< /D [ 2393 0 R /XYZ 81.145 677.292 null ] >>
endobj
2403 0 obj
-<< /Type /Page /Contents 2404 0 R /Resources 2402 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2393 0 R /XYZ 81.145 666.333 null ] >>
+endobj
+2404 0 obj
+<< /D [ 2393 0 R /XYZ 81.145 655.374 null ] >>
endobj
2405 0 obj
-<< /D [ 2403 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 644.415 null ] >>
endobj
2406 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 742.926 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 633.456 null ] >>
endobj
2407 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 731.968 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 622.497 null ] >>
endobj
2408 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 721.009 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 611.538 null ] >>
endobj
2409 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 710.05 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 600.579 null ] >>
endobj
2410 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 699.091 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 589.62 null ] >>
endobj
2411 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 688.132 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 578.662 null ] >>
endobj
2412 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 677.173 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 567.703 null ] >>
endobj
2413 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 666.214 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 556.744 null ] >>
endobj
2414 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 613.412 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 526.69 null ] >>
endobj
2415 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 602.453 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 515.731 null ] >>
endobj
2416 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 591.494 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 504.772 null ] >>
endobj
2417 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 580.535 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 493.814 null ] >>
endobj
2418 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 569.577 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 482.855 null ] >>
endobj
2419 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 558.618 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 471.896 null ] >>
endobj
2420 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 547.659 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 460.937 null ] >>
endobj
2421 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 536.7 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 429.009 null ] >>
endobj
2422 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 525.741 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 397.082 null ] >>
endobj
2423 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 514.782 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 319.208 null ] >>
endobj
2424 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 503.823 null ] >>
+<< /D [ 2393 0 R /XYZ 79.37 283.236 null ] >>
endobj
2425 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 492.864 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 265.22 null ] >>
endobj
2426 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 481.905 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 254.261 null ] >>
endobj
2427 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 470.946 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 243.302 null ] >>
endobj
2428 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 459.987 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 232.343 null ] >>
endobj
2429 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 449.029 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 144.388 null ] >>
endobj
2430 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 438.07 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 133.429 null ] >>
endobj
2431 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 427.111 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 122.47 null ] >>
endobj
2432 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 396.227 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 111.511 null ] >>
endobj
2433 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 385.268 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 100.552 null ] >>
endobj
2434 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 374.309 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 89.593 null ] >>
endobj
2435 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 363.35 null ] >>
-endobj
-2436 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 78.635 null ] >>
endobj
-2437 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 341.432 null ] >>
+2392 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F83 412 0 R /F22 367 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2438 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 330.473 null ] >>
+<< /Filter /FlateDecode /Length 1907 >>
+stream
+xZn6 )VH@ )snE-eI,s)d43^ERGZZӿ'xӉ s9PN9wIk Z;˟o>P@&08eQ4ٕ0Hb2$I$i v,Ho,58}yF2>ҷ;$Wd2k2l#N+{ҁSC~T$a;H2y5Ah(:<^=M<xj\x5b<
+]0j ŞeW0_ݴ@@i
+!6$US^޾Y~?D@K,Ps#$u~e×m@gK؂|P#lk*v:z5ag$S[#'NZA̙yچdL'©eMEg'I1
+@Ǐ-ܨ'PW9j9yݧ5LS&icī5Zn7Z 3t٘+K)PUC62{|.xl"B2٦n'%lfȬRXeh3ֽ|zSP`:U7e8&djT3E1I2ۤŭ%1+۽sIJzJO'A͚ǻ2GܬӯچCǺfIsnU>#3n8jG'e'+b]2|NCt!.FNGQ4:t_6<zU(Q?K0@+Jo0RSY5@jwuO@\zi T'l˾yi!)f6AyYk+@j|"{,*X2-trEnӨ5)tgV\z %
+
+PYeoIm[ۇ;!U]54~RztlAAgU4H4z
+endstream
+endobj
+2437 0 obj
+<< /Type /Page /Contents 2438 0 R /Resources 2436 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2439 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 297.596 null ] >>
+<< /D [ 2437 0 R /XYZ 78.37 808.885 null ] >>
endobj
2440 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 264.72 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 768.829 null ] >>
endobj
2441 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 186.015 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 757.87 null ] >>
endobj
-2402 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F65 335 0 R /F59 346 0 R /F84 425 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2444 0 obj
-<< /Filter /FlateDecode /Length 2171 >>
-stream
-xZr,' +A)WgnUޥMVmxCL|}XMG
-WxH+nb̂ yyq`ڕ 캵 R~U@4uI=y$|@ r$%r bj(YhOhA[Gzp0!]AGO|z):/l/1Ic~8χ@Q kL?fh?WO3gQְcLCbGCHS үƼQ#uxyUR^9~&'\G!i=tZ24Wv<\-Eͨ18~SܞZ9G{T]!ÜVirמ.;p$TszG<x :T
-P<{><Zg4%FU胆c˙>Bғ4A>\;#!UN€vbΑ2oI:aj)Й܂:LE74r4^FoPߚ@x{hgI3 DQ1]9MpLqm\G[y`0 X{
-}<!V 1;Z4Ҥ K_8#TUׁnzG{jZGSlo@duOQh̀)o=8
-ރ{o B)fO*ЪQN[vFymI ov;BJ
-V##M-Ya{B'HonU9&͗9H(ō]HUMk3cIi==L7[x4=S>%Gxq#``ut\)gV<ٜޟ r
-endstream
+2442 0 obj
+<< /D [ 2437 0 R /XYZ 81.145 746.912 null ] >>
endobj
2443 0 obj
-<< /Type /Page /Contents 2444 0 R /Resources 2442 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2437 0 R /XYZ 81.145 735.953 null ] >>
+endobj
+2444 0 obj
+<< /D [ 2437 0 R /XYZ 81.145 724.994 null ] >>
endobj
2445 0 obj
-<< /D [ 2443 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 685.852 null ] >>
endobj
2446 0 obj
-<< /D [ 2443 0 R /XYZ 79.37 773.016 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 674.893 null ] >>
endobj
2447 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 663.934 null ] >>
endobj
2448 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 652.975 null ] >>
endobj
2449 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 732.964 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 642.017 null ] >>
endobj
2450 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 631.058 null ] >>
endobj
2451 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 633.337 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 620.099 null ] >>
endobj
2452 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 622.379 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 609.14 null ] >>
endobj
2453 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 611.42 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 598.181 null ] >>
endobj
2454 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 600.461 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 587.222 null ] >>
endobj
2455 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 589.502 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 558.327 null ] >>
endobj
2456 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 578.543 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 547.368 null ] >>
endobj
2457 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 567.584 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 536.41 null ] >>
endobj
2458 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 556.625 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 525.451 null ] >>
endobj
2459 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 545.666 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 514.492 null ] >>
endobj
2460 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 534.707 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 503.533 null ] >>
endobj
2461 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 523.748 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 492.574 null ] >>
endobj
2462 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 512.789 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 481.615 null ] >>
endobj
2463 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 471.943 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 470.656 null ] >>
endobj
2464 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 460.984 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 459.697 null ] >>
endobj
2465 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 450.025 null ] >>
+<< /D [ 2437 0 R /XYZ 79.37 412.169 null ] >>
endobj
2466 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 439.066 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 382.364 null ] >>
endobj
2467 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 428.107 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 371.405 null ] >>
endobj
2468 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 417.148 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 360.446 null ] >>
endobj
2469 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 406.189 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 345.074 null ] >>
endobj
2470 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 395.23 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 334.115 null ] >>
endobj
2471 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 384.271 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 323.156 null ] >>
endobj
2472 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 353.387 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 312.197 null ] >>
endobj
2473 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 342.428 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 281.594 null ] >>
endobj
2474 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 331.469 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 270.635 null ] >>
endobj
2475 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 320.511 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 259.677 null ] >>
endobj
2476 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 309.552 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 248.718 null ] >>
endobj
2477 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 298.593 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 237.759 null ] >>
endobj
2478 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 287.634 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 226.8 null ] >>
endobj
2479 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 276.675 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 215.841 null ] >>
endobj
2480 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 265.716 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 204.882 null ] >>
endobj
2481 0 obj
-<< /D [ 2443 0 R /XYZ 79.37 215.101 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 193.923 null ] >>
endobj
2482 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 185.011 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 163.32 null ] >>
endobj
2483 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 174.052 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 152.361 null ] >>
endobj
2484 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 163.093 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 141.402 null ] >>
endobj
2485 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 132.209 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 130.443 null ] >>
endobj
2486 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 121.25 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 119.484 null ] >>
endobj
2487 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 110.291 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 78.635 null ] >>
endobj
-2442 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R /F81 377 0 R /F74 337 0 R /F83 414 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
+2436 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 412 0 R /F22 367 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2490 0 obj
-<< /Filter /FlateDecode /Length 1813 >>
+<< /Filter /FlateDecode /Length 1776 >>
stream
-xZM6 ϯV")JLVڞ+ْ-D;آ&gCO:ӗWN7IɃb:96J9ww-hVkz| ,B}yt*0qS| D>ᢵ~͂g >!Y_c麈@W]:X.}琮/O@*,.r3, Ah;J&e.Bߵ|s2iR^d&m%g%"@h6ttEX5Y<Je%0tgSH"=2~l<>0xe"u~(@@Px4U1vĠ 8^J|Kc3K6u;%tԥ,-zt @[
-34bv{-fc= ZiQBhԿT&HAp
-,6/</1q軂ҋ a녟R/D𹿏zAz^0z}k$)I#06FMf:X?4H=6ѹ("}~)׹)la|#Վc=AYq|3m Ô#hiN{UӍ/oO
+x[n6+ey]gWtۮے"5rȤq4 pD'}pyy)`'srA;9kߴvc b:r5Oz.Zg_^'Mc-p$Y`LH7JR
+wH:lT %54k<kkČr>g)ia43zhɹʻ"I̕&UgrKj~4[.^r-M55ӽE ]ny^t.]GVyNJ|WD>õ%)y>~c/Uyy󭮈||fz<;13Dzsh7qذbʒjh[kI:S^n8-݄.c鑄nn7qj޵L<@fr=7E#JSHuץ5iI%Aɭӏ3DЉ~;iTFp*+c2X jC<R2GqȮL
+%
+vt/Fʯ$gBrdhgν"! ҝWZkQ5vZ!vŁbBVJ@a0!A0NPbF.zEV*_C0N=jvn,Vx1Q{3Z015H0@i{ (59R@[)`lN)U7sl|w}K/)?AtE?$۬Db#ۢy" ,;+=64@}?UlLoc1ߴHB->D$>rctg!%<J~t7*ُ8&,~YI }2ѡҞEC,oY9b~Ksc,or6X/"}ScY!p[4F 7>#+Fqc @漦neK]Vl ۀ5ӕC]-Dֿ^[),Y6s
+jQ4&yU:h!8q
+A{A4*G(懞ʹHؓ8m<lsX Q^Pe` aG~4b/6@ 's²=Va)4_7
endstream
endobj
2489 0 obj
-<< /Type /Page /Contents 2490 0 R /Resources 2488 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /Type /Page /Contents 2490 0 R /Resources 2488 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2491 0 obj
<< /D [ 2489 0 R /XYZ 78.37 808.885 null ] >>
endobj
2492 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 755.155 null ] >>
endobj
2493 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 744.196 null ] >>
endobj
2494 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 733.237 null ] >>
endobj
2495 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 722.278 null ] >>
endobj
2496 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 711.32 null ] >>
endobj
2497 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 700.361 null ] >>
endobj
2498 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 689.402 null ] >>
endobj
2499 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 678.443 null ] >>
endobj
2500 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 667.484 null ] >>
endobj
2501 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 656.525 null ] >>
endobj
2502 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 645.566 null ] >>
endobj
2503 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 634.607 null ] >>
endobj
2504 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 623.648 null ] >>
endobj
2505 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 584.443 null ] >>
endobj
2506 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 573.484 null ] >>
endobj
2507 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 562.525 null ] >>
endobj
2508 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 551.566 null ] >>
endobj
2509 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 540.607 null ] >>
endobj
2510 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 495.853 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 529.648 null ] >>
endobj
2511 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 455.006 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 518.689 null ] >>
endobj
2512 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 444.047 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 507.731 null ] >>
endobj
2513 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 433.088 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 468.525 null ] >>
endobj
2514 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 422.129 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 457.566 null ] >>
endobj
2515 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 411.171 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 446.607 null ] >>
endobj
2516 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 400.212 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 435.648 null ] >>
endobj
2517 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 389.253 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 424.689 null ] >>
endobj
2518 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 378.294 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 413.73 null ] >>
endobj
2519 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 367.335 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 402.772 null ] >>
endobj
2520 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 356.376 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 391.813 null ] >>
endobj
2521 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 345.417 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 380.854 null ] >>
endobj
2522 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 334.458 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 369.895 null ] >>
endobj
2523 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 323.499 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 358.936 null ] >>
endobj
2524 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 282.653 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 347.977 null ] >>
endobj
2525 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 271.694 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 337.018 null ] >>
endobj
2526 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 260.735 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 326.059 null ] >>
endobj
2527 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 249.776 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 286.854 null ] >>
endobj
2528 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 238.817 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 275.895 null ] >>
endobj
2529 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 227.858 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 264.936 null ] >>
endobj
2530 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 187.011 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 253.977 null ] >>
endobj
2531 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 176.052 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 243.018 null ] >>
endobj
2532 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 165.093 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 232.059 null ] >>
endobj
2533 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 154.134 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 221.1 null ] >>
endobj
2534 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 143.176 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 210.141 null ] >>
endobj
2535 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 132.217 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 199.183 null ] >>
endobj
2536 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 121.258 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 188.224 null ] >>
endobj
2537 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 110.299 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 177.265 null ] >>
endobj
-2488 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 414 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+2538 0 obj
+<< /D [ 2489 0 R /XYZ 81.145 166.306 null ] >>
endobj
-2541 0 obj
-<< /Filter /FlateDecode /Length 2864 >>
-stream
-x[r, +LT\i\]syT]؛~7VSM#Mh
-:
-W;Z_T0f 8N-9->Pf'e(jO;%m:'VJôYFb
-">}ַɳ/ ߼En$pق# /)+F"mv% r
-'F* Ы$34-m2mD$EkVK0
-)"
-
-%T+іP!x&/KRW*NԴNV
-mb!TUVdqhRF򒕍9;7
-&fvL*x+^m^2[HKZmIĻ%F.%siL
-wn0ήN9NAhX!/>P7dPi'VrovGJ˿ν:5|gvH$Hc
-;:B Mz>Kr̨jVi1xCvqi  ρ"%Lb2:
-1>{Tl/hErqz
-)H~> hy*`e
-*T'a{7}$=ަ{P0@G;M&OL/
-endstream
+2539 0 obj
+<< /D [ 2489 0 R /XYZ 81.145 155.347 null ] >>
endobj
2540 0 obj
-<< /Type /Page /Contents 2541 0 R /Resources 2539 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R /Annots 2579 0 R >>
-endobj
-2579 0 obj
-[ 2538 0 R ]
+<< /D [ 2489 0 R /XYZ 81.145 144.388 null ] >>
endobj
-2538 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 256.954 157.029 267.381 169.618 ]/A << /S /GoTo /D (Hfootnote.39) >> >>
+2541 0 obj
+<< /D [ 2489 0 R /XYZ 81.145 133.429 null ] >>
endobj
2542 0 obj
-<< /D [ 2540 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 122.47 null ] >>
endobj
2543 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 111.511 null ] >>
endobj
2544 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 100.552 null ] >>
endobj
2545 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 732.964 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 89.593 null ] >>
endobj
2546 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 78.635 null ] >>
endobj
-2547 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 711.046 null ] >>
-endobj
-2548 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 700.087 null ] >>
+2488 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F83 412 0 R /F59 346 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2549 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 689.128 null ] >>
+2551 0 obj
+<< /Filter /FlateDecode /Length 3187 >>
+stream
+xڽ[ɒ$ W }舮.Ef{n
+.t
+.Y񡺫2
+O*ԧڷ}ɍ1mAQVImM|RZn퉍1x>bMCfe>T2HO!$S֎;33 {04_Aw ]gɂC5d[PQ
+<X^VSZ8b{,zSQx%p_q|QOBtÒ+8,Z +&Af\D͘hZ6---BU~jeyl6溺aʨQZi"?%+5r
+t7P9n<D^J/ d  lXa/9Q؞?g`yN*#&"t<0!g0<E(A7
+ {|a*Txy8] 5"U@d<"H1]$SCE.fR'$X)8^1dFi9+9LCqGUvznFKF|p TL-5]öHF9n:ch P}S"x [a}'F{J
+ T dRd  ,]DE%)Fy㈂PO_7ԥ.D
+qH~a Fjy*ɈeD Hq7}I"@ qOu XQmy}xg;,
+1\u,'4g2+sQ+FoŊͣYfO+_*`S9)}:bO/AHeu1:>R[>\=>Edеwh2uI:m46S(r_sr)~\2nJޣSj=U(g
+\gr~3#հn{iuZ ,l-vyD~-6-JX0,X7YsCpDZǰ
+cIT{sGfR%''ͯHec =Hra]@猁vtgAnh2 ;iDxloԽ<܉\B]~xe%h/,\8^>E^E@K)sS67Z^vH;g
+endstream
endobj
2550 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 678.169 null ] >>
+<< /Type /Page /Contents 2551 0 R /Resources 2549 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R /Annots 2588 0 R >>
endobj
-2551 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 667.21 null ] >>
+2588 0 obj
+[ 2548 0 R ]
+endobj
+2548 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 256.954 388.538 267.381 401.128 ]/A << /S /GoTo /D (Hfootnote.39) >> >>
endobj
2552 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 2550 0 R /XYZ 78.37 808.885 null ] >>
endobj
2553 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 755.792 null ] >>
endobj
2554 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 744.833 null ] >>
endobj
2555 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 709.449 null ] >>
endobj
2556 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 698.491 null ] >>
endobj
2557 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 2550 0 R /XYZ 79.37 658.847 null ] >>
endobj
2558 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 593.803 null ] >>
endobj
2559 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 582.844 null ] >>
endobj
2560 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 515.751 null ] >>
endobj
2561 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 497.846 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 480.367 null ] >>
endobj
2562 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 486.887 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 469.408 null ] >>
endobj
2563 0 obj
-<< /D [ 2540 0 R /XYZ 79.37 438.264 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 458.45 null ] >>
endobj
2564 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 372.309 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 447.491 null ] >>
endobj
2565 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 361.35 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 436.532 null ] >>
endobj
2566 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 290.615 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 425.573 null ] >>
endobj
2567 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 249.768 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 386.547 null ] >>
endobj
2568 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 238.809 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 375.588 null ] >>
endobj
2569 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 227.851 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 364.629 null ] >>
endobj
2570 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 216.892 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 353.67 null ] >>
endobj
2571 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 205.933 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 342.711 null ] >>
endobj
2572 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 194.974 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 331.753 null ] >>
endobj
2573 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 154.127 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 320.794 null ] >>
endobj
2574 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 143.168 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 309.835 null ] >>
endobj
2575 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 132.209 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 298.876 null ] >>
endobj
2576 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 121.25 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 287.917 null ] >>
endobj
2577 0 obj
-<< /D [ 2540 0 R /XYZ 93.716 91.444 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 276.958 null ] >>
endobj
-2539 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F59 346 0 R /F84 425 0 R /F74 337 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R /F83 414 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+2578 0 obj
+<< /D [ 2550 0 R /XYZ 81.145 265.999 null ] >>
endobj
-2582 0 obj
-<< /Filter /FlateDecode /Length 2791 >>
-stream
-xڵ\ɎW4dp
-Z|}_[pEc 4)!"lJSڇ 0uDVP{R)U"^os~?xbSa
-SR}\x/r./E)w}¸+0?b/I |ėj)q<qbnbUe'esgeWK!k|kt#~R*Jku5K _Q1Ǔ ^^i¹hxl)wcD|~<iG|*•ڼ\OK ,UYIZŽJASJju%FvhUpo%@@iy% "-j
-^)-kOڋCw<ɇuNt%
-$r
-Z )hJ{
-| 2)JT1!'R6wYޞBfN Y,u-7juTH.+"Y @> BIs<գ(rH)>Xoq1uāH(Q~[^Hfr? g[ vw-,AXyB1.@lΎ0 )~TA1j̾>Gjm0
-4Z]
-FJ!Ϳ^`q!!9v
-g(jV
-=>ObсkKu7GXp%h7[rNeH;JDy%4 ^_*U3YAKijU:^<T#km)*kѡ*V꿟*rB΋Nޠ>_Oѽv x/AD$糬[=;wF RB::VN:쨰gXHL6а)IQ00
-նX񚘇}t'%}ncĠ6ȪܮpO% g
-PW,PT@^`،|q֥즹@BN>N ™ ^7*l~H8S ݈vˌt AOKS^n'lC`JKsTGL?O1,֎%+> Wӄpż0n+RAz97υ#s?jNsboϞ+4^i^0B_)c:g>[QXܣ}dQF,q<XJV7 d:B? 2N |0P4!JDŽꈥB>dgc
-ށcK 'FLS†͒adRȄ U&(4abbIQ:3s^y
-}qrzu@>H=hݘEqI8:J֟`j`ܕn vϯcw:NQZ\ЅF dESJsPd0K93}
-^v}qC*cT$;q{s\ӇDE
-h2)w2z'em2.|ilέ羲
-3.g LYTZt?ɿj]m!p?] AOO #`HkJ7+ #4/Jm't 󸴡5`bQ:5?`Z|0D!kf)buZJ{Y'πa
-2K#`OVR~U;1@^1/'mia2Tm`wz[>|1&ޮUS® ^ú MeDԼ;&1 kVO+6vޓCWdpͭ|njݜQ1 _xO5
-۾,ʨ:x5F_/[}dEGK=2 Q:f\f;c?QSM!NXtmz7ORwmHcw:J{AW)iZɁ9zNNuSXԝĀsMw A;/?^ox>241eUm}N?a,^5zi.YcV[DlȊ׎Zg/aѾgP˭%FBvrtZv!r[Dvq+CIZrH]Z.l{1B/|ږQsGhz5R0Elߕ.f%̉=czJQЎW(O2#-^!P~OԱh dڦxN=R=?T/)
-endstream
+2579 0 obj
+<< /D [ 2550 0 R /XYZ 81.145 255.04 null ] >>
+endobj
+2580 0 obj
+<< /D [ 2550 0 R /XYZ 81.145 244.081 null ] >>
endobj
2581 0 obj
-<< /Type /Page /Contents 2582 0 R /Resources 2580 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2550 0 R /XYZ 81.145 184.787 null ] >>
+endobj
+2582 0 obj
+<< /D [ 2550 0 R /XYZ 81.145 173.828 null ] >>
endobj
2583 0 obj
-<< /D [ 2581 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 162.869 null ] >>
endobj
2584 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 151.91 null ] >>
endobj
2585 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 140.952 null ] >>
endobj
2586 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 129.993 null ] >>
endobj
2587 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2550 0 R /XYZ 93.716 89.795 null ] >>
endobj
-2588 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 724.994 null ] >>
+2549 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F59 346 0 R /F84 425 0 R /F74 337 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R /F83 412 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2589 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 714.035 null ] >>
+2591 0 obj
+<< /Filter /FlateDecode /Length 2903 >>
+stream
+xڵ\Ɏ#9WJ#Q;PH ]nuku4[(AypeCz$Eo_?~p*P??{@o-#T۟EJu? 3dRX?}'7}#7onQ;=qd~ǿcrgD
+S,U
+"e
++B54^z0.01lq|0ʦf渐Sz:Q! eZ]6Xyua1ã5;q5S
+N>t1MS~m=~_(Χ¥Y#++;Io'vMSl0OA?=uě'Oy>%J!CHKFJqJ⡛-%q^mҷ9b4svi/frf/dB5Rr_jC^|$Q)]QIQϺ{$'K!%RD
+::)mUUZq؎iRGic56PӚ~>NM%
+8,%oN'l3"Le1GSם]BK[hu6Kx,-9U@騸t.K%P8WɃ#xf'mx)A* 4'V3hzO!FO!/5ajw
+W<p(mvP/yQ!dȆO7F
+ &5o۞=X;FvWwWM05 #f_m W> IfZ"_8R/Y?Z"FEpPʿܾA,>l9._gj{~^o.(n[Ӌ濅
+endstream
endobj
2590 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 703.076 null ] >>
-endobj
-2591 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 692.117 null ] >>
+<< /Type /Page /Contents 2591 0 R /Resources 2589 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2592 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2590 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+273 0 obj
+<< /D [ 2590 0 R /XYZ 79.37 771.024 null ] >>
endobj
2593 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 713.623 null ] >>
endobj
2594 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 605.442 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 702.664 null ] >>
endobj
2595 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 594.483 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 691.705 null ] >>
endobj
2596 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 583.524 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 680.746 null ] >>
endobj
2597 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 572.565 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 669.787 null ] >>
endobj
2598 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 561.606 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 658.828 null ] >>
endobj
2599 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 550.648 null ] >>
-endobj
-273 0 obj
-<< /D [ 2581 0 R /XYZ 79.37 513.236 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 647.869 null ] >>
endobj
2600 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 453.539 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 604.662 null ] >>
endobj
2601 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 442.58 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 593.703 null ] >>
endobj
2602 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 431.621 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 582.744 null ] >>
endobj
2603 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 420.662 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 571.785 null ] >>
endobj
2604 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 409.704 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 560.826 null ] >>
endobj
2605 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 398.745 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 549.867 null ] >>
endobj
2606 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 387.786 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 538.909 null ] >>
endobj
2607 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 376.827 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 527.95 null ] >>
endobj
2608 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 365.868 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 516.991 null ] >>
endobj
2609 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 354.909 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 506.032 null ] >>
endobj
2610 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 343.95 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 495.073 null ] >>
endobj
2611 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 332.991 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 484.114 null ] >>
endobj
2612 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 322.032 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 473.155 null ] >>
endobj
2613 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 311.073 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 462.196 null ] >>
endobj
2614 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 300.115 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 451.237 null ] >>
endobj
2615 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 289.156 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 440.278 null ] >>
endobj
2616 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 278.197 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 429.32 null ] >>
endobj
2617 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 267.238 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 418.361 null ] >>
endobj
2618 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 256.279 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 407.402 null ] >>
endobj
2619 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 245.32 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 396.443 null ] >>
endobj
2620 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 234.361 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 385.484 null ] >>
endobj
2621 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 223.402 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 374.525 null ] >>
endobj
2622 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 212.443 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 363.566 null ] >>
endobj
2623 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 201.484 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 352.607 null ] >>
endobj
2624 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 190.525 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 341.648 null ] >>
endobj
2625 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 179.567 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 330.689 null ] >>
endobj
2626 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 168.608 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 319.73 null ] >>
endobj
2627 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 157.649 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 308.772 null ] >>
endobj
2628 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 146.69 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 297.813 null ] >>
endobj
2629 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 135.731 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 286.854 null ] >>
endobj
2630 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 124.772 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 275.895 null ] >>
endobj
2631 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 113.813 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 264.936 null ] >>
endobj
2632 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 102.854 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 253.977 null ] >>
endobj
2633 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 91.895 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 243.018 null ] >>
endobj
2634 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 80.936 null ] >>
-endobj
-2580 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 414 0 R /F74 337 0 R /F22 367 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2590 0 R /XYZ 81.145 232.059 null ] >>
endobj
-2637 0 obj
-<< /Filter /FlateDecode /Length 3232 >>
-stream
-x\Io#h6˶1[kr%0WTX ܖJǷm̙ÿE1̨5q#.s 8ss?<_7.ycq&,l> (7
-Vp.{+ȿ5{AG__4܄(U/=8]y1Hjc1 ;<ЇLpmMi3HX7ܚ^"$b2fYn|]Fz&F5$B7L/$l_q_E}ڻxIY+k{H={)bDgA35B{яH&~Ɇ}s,o6!m)γ ca'&cyM;?d_DZ0!a cQk!HڸLdshy@ړb3Ê~gbКLr;UrIOiXLq$_3.Һ.b}]ԜSL*?Ӝ\Ai/G6QbR Z{?xYYR4%+*)$1v-U#@{Jѓ=soD
-b@
-o(gD~RC(̠<wupNq%_ifzYP~|4ZuW_[GjWc ǴS]u(҄K?ۙN^猾SueW}Gh[fE"]W"V0g}^<9ݹ[Ӊk:YPR~*~ J_[ˋӞ}֞^ԅ
-7WkJGjv*?V1;\&ÍdokFk`Nl2[Q>UB
-_)]۫$BA=?q$4a-up>WF\9э9oO^99S6⃲!Lpg^KԬK/nϹ? H#KL+nt'#dRg໊T3og
-`GKڲ5{)fym%$8U3QIN(@YsKi$7^37-?/y+fv緷^mlFjp8^,9z-2_3 #ueurq7uk
-1TB, ݪGI&Zլ$ofp,$]Kd;n?{5AcLƹ
-?ۥYFEW*Sr"CZ
-lDw 냪R24]JWT] 8nc<iGRgl+ӡ&Hv~ZL]:xAf N޶Fb1ϝBi#ȉ1utRyLSr怿/MCa$%㕠3[wA?rz]D:18{YIi|>cg*na3j%}tlnl=,jq(BW*dFQ(XFFYG$z,lm4<
- Ԏ
-endstream
+2635 0 obj
+<< /D [ 2590 0 R /XYZ 81.145 221.1 null ] >>
endobj
2636 0 obj
-<< /Type /Page /Contents 2637 0 R /Resources 2635 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2590 0 R /XYZ 81.145 210.141 null ] >>
+endobj
+2637 0 obj
+<< /D [ 2590 0 R /XYZ 81.145 199.183 null ] >>
endobj
2638 0 obj
-<< /D [ 2636 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 188.224 null ] >>
endobj
2639 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 177.265 null ] >>
endobj
2640 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 166.306 null ] >>
endobj
2641 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 155.347 null ] >>
endobj
2642 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 144.388 null ] >>
endobj
2643 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 133.429 null ] >>
endobj
2644 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 122.47 null ] >>
endobj
2645 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 111.511 null ] >>
endobj
2646 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 100.552 null ] >>
endobj
2647 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 89.593 null ] >>
endobj
2648 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 78.635 null ] >>
endobj
-2649 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 659.24 null ] >>
+2589 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2650 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 648.281 null ] >>
+2652 0 obj
+<< /Filter /FlateDecode /Length 2640 >>
+stream
+xZɎ)bqXV&\fl$-XkH_NǷ7.Ȝ.&. Lh_¹Υ\|ĈԏŋeNki[:4&JWDMӳGHJ'"]~W<yhDz LpXɃatLƿqnj<X&H
+NFO\TpKo *++`}׮Ul-1CU(oHÐ T#GB5,ߒIG:<Ӟ?x?=(<缼uzkT*L0
+SiOj4ԊOzz<+z*bJb+yUe2 [
+V+ʾ$#%1MFf4wMkҍTbtMWM~w'u&~ioGHJ=IKt,8ӵɵU"h(-":gH|7K"ZO1Lʑ69MEdfyYIqb,N
+&JO'\4Ƭt; w 8Dl7as&7L"}yԿl#o ܆+pBTM g`ۧzL{ PQTޯ`
+ո:ThA x(prq5Zڗye7*H{{szƠZ%)QF&rrΊR`m06:2hy0xzT!*I ( B$O''
+[*ˬOU^iJUI-3^% [4KmjT
+
+QC% tqL6]0m@#P8~92eH|qū,} B׭?s(M\x*
+"8]3hIo 8(EcW'q4=),bƵ(Fd*a ZX]@JE&Æ]'6VTm;l'< 0 VNTP }1'WGZa;q6VH7r:a&"<#NfR+
+oU_c2kPM 5O6ƺ/1f(~iR],n:׼jJPA6/Zʶ0(I,U[,( ys֕xbWu_dV~blK:Zt۵cwU#LS>P=/%04bMH흢LTS ɒ޺p=v "gBX҃Y, ,'% KZ;ǧ7 mBؗ(5Y,z%^n`e'
+tu[Pp {ڇ$'+]r@N ,YE5[tVY&JK`'63MjJq šb@yU=L)XmJnL9Nd>sѪ4U:AySVRvύ{J7~
+:$F-}[)(vΔI5~@ 0|ȿci5,_u
+-ڠ%_~
+G3$g21ʨë8\
+endstream
endobj
2651 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 637.322 null ] >>
-endobj
-2652 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 626.364 null ] >>
+<< /Type /Page /Contents 2652 0 R /Resources 2650 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2653 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 2651 0 R /XYZ 78.37 808.885 null ] >>
endobj
2654 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 768.829 null ] >>
endobj
2655 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 757.87 null ] >>
endobj
2656 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 746.912 null ] >>
endobj
2657 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 735.953 null ] >>
endobj
2658 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 724.994 null ] >>
endobj
2659 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 672.192 null ] >>
endobj
2660 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 496.849 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 604.446 null ] >>
endobj
2661 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 593.487 null ] >>
endobj
2662 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 418.144 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 448.032 null ] >>
endobj
2663 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 272.69 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 437.073 null ] >>
endobj
2664 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 261.731 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 426.115 null ] >>
endobj
2665 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 250.772 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 415.156 null ] >>
endobj
2666 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 239.813 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 404.197 null ] >>
endobj
2667 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 228.854 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 393.238 null ] >>
endobj
2668 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 217.895 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 382.279 null ] >>
endobj
2669 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 206.936 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 371.32 null ] >>
endobj
2670 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 195.978 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 360.361 null ] >>
endobj
2671 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 185.019 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 349.402 null ] >>
endobj
2672 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 174.06 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 338.443 null ] >>
endobj
2673 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 163.101 null ] >>
-endobj
-2635 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 414 0 R /F65 335 0 R /F75 338 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2651 0 R /XYZ 81.145 229.851 null ] >>
endobj
-2678 0 obj
-<< /Filter /FlateDecode /Length 3158 >>
-stream
-xڵ[Ɏ7W&;h@ef2:/}Y-@Yՙd0vF<Ʒ^<tz0j'/&6뙴5q#/_ߞ9s8oW5~W_p6S1_a ןq%\Ifºi-˹ḆkeډmabclU<Z0)ǩA νcL@a-Sn*<($(SJ3z0wBBKCV/Itrdkx<P d+I`ZOX*FI'WIyJ -
-FJJO~{SXdB=[s!<+oUy3j%z?'0j;RN<)HUj无%gFkͅ Z -rx 5=5iо_dO;i~N4 oc$KĽT9Y0 U| VkH8-swx?"͋$' 8L#S0Wrӭֵ&SEoeRB4(8p
-*h:W')# ?ɷkŔ.^x&Q+Z:Z^6[8H4hӜ_Ź1in+^>S80"]xqa,sIsQ׮sKcB^nhlM%E@1/h*øR0d(;o
-PfkR6jN[! c a ZN1-&
-e]1FStӳ(H7
-eJyj^\yqG5S(vV^l[W"Z׺
-|d\!h2gtE}[uKkj 7%~le;b>eZ>8Ͼv5zQ#5&=!KJ<fiëo)CӒ6ҧ3qj1tCKV1D% usjM;Q)}SY+_\V9Ύՙyw'Mk*?V˚{$L+`L8ZUҗ9ܵ1H4sƠA]:D@[fVf>
-91 IǯH6 ]o2AR"h{mk{1l3bB\?;2f\[2a9NY/q ofaMҰ.~7ů\\x`:ߣ>ٓ@(8_ԙCM;)d@T"RP!8R#WV`9 eqНbEPDWJ o诪A5űfACfX>tf^Us!nu1w4) 1
-i0;A>r]D^}@rYBK@@i 3b]DP@(1Rð(Ӷx3IR+RfbEslnkUpkif(S9kw*詧ғD!fzHpy$&wo>SZG0,}o<-W)Ɓ[ӗp lzJ!4b?pOMi jxZi Ytk|neSd/sy;e}E3AHVN{+lE JO
-f(}y?tɝ:އOBaӵą,&ARPr7gKG1LH>]UߵVuy60(Z}r Aן .]GW+t0]/WU{o$uK_jT50TL+1У
- 6\= s"\t>J3au
-x|݈LJxl_(wVO#G<-=)a^QЋ)'msϱ0>YA
-$|Pl]tdR
-oOz#QOwrvO[ Tg+"}ȩ)~`윰9gƕ~IR.?y[5p-?K8Kd:lv*m"\J}O먓\QQN$5SqGc,X
-endstream
+2674 0 obj
+<< /D [ 2651 0 R /XYZ 81.145 218.892 null ] >>
endobj
-2677 0 obj
-<< /Type /Page /Contents 2678 0 R /Resources 2676 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R /Annots 2712 0 R >>
+2675 0 obj
+<< /D [ 2651 0 R /XYZ 81.145 207.933 null ] >>
endobj
-2712 0 obj
-[ 2674 0 R 2675 0 R ]
+2676 0 obj
+<< /D [ 2651 0 R /XYZ 81.145 196.974 null ] >>
endobj
-2674 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 244.87 541.675 255.296 553.846 ]/A << /S /GoTo /D (Hfootnote.40) >> >>
+2650 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 412 0 R /F65 335 0 R /F75 338 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2675 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 106.14 342.303 116.567 354.594 ]/A << /S /GoTo /D (Hfootnote.41) >> >>
+2680 0 obj
+<< /Filter /FlateDecode /Length 3123 >>
+stream
+xڵIn$W&# hTvsxwp_VU&E^~yz oǿu^X4oR'%/ߐ0<xH)ӕ߾a-5JiM t}ǯ+Lwx?ao7 0L#a#Pa'ڌ`kO#a!W "e_+j>IP.k<IƉpqౖeiN,s* raz{hOaW6?囎rŅXE^5DнFX7:sZ.%YÕUFQ
+j*ZkWdd64}-Py
+(aHfd0RMv' 6EIߕ}j;Ywyz FY*A$W45X}n8DΜ&+r#_ `k~m-
+o5c&7^tO?Лޭ=#2;=VU?XB֨`"Z-̓Ÿf":#@.=Ѻ?[H0"JmЇ 9K h
+V.
+u#!9!-q:X%^(җW\4
+ԺBL0AJr C{
+pcNhC , m
+qqdyJ?l.7yT0{znNG+/tHQnhCAeH_by0\B)H@n׭ix2*T;r|~UZ8sjk ۹ST7zQ?
+xN]RC2H5LdTHy_ 8U:߈uֆ7r)}^ z<5VU71
+endstream
endobj
2679 0 obj
-<< /D [ 2677 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 2680 0 R /Resources 2678 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R /Annots 2719 0 R >>
endobj
-2680 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 749.9 null ] >>
+2719 0 obj
+[ 2649 0 R 2677 0 R ]
+endobj
+2649 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 244.87 636.328 255.296 648.499 ]/A << /S /GoTo /D (Hfootnote.40) >> >>
+endobj
+2677 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 106.14 436.955 116.567 449.246 ]/A << /S /GoTo /D (Hfootnote.41) >> >>
endobj
2681 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 738.941 null ] >>
+<< /D [ 2679 0 R /XYZ 78.37 808.885 null ] >>
endobj
2682 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 727.983 null ] >>
+<< /D [ 2679 0 R /XYZ 79.37 773.016 null ] >>
endobj
2683 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 717.024 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 597.212 null ] >>
endobj
2684 0 obj
-<< /D [ 2677 0 R /XYZ 79.37 678.364 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 586.253 null ] >>
endobj
2685 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 502.559 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 575.294 null ] >>
endobj
2686 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 491.601 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 564.335 null ] >>
endobj
2687 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 480.642 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 553.376 null ] >>
endobj
2688 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 469.683 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 542.417 null ] >>
endobj
2689 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 458.724 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 531.459 null ] >>
endobj
2690 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 447.765 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 520.5 null ] >>
endobj
2691 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 436.806 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 509.541 null ] >>
endobj
2692 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 425.847 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 498.582 null ] >>
endobj
2693 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 414.888 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 433.825 null ] >>
endobj
2694 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 403.929 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 422.866 null ] >>
endobj
2695 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 339.172 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 393.974 null ] >>
endobj
2696 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 328.213 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 383.015 null ] >>
endobj
2697 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 299.322 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 372.056 null ] >>
endobj
2698 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 288.363 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 361.097 null ] >>
endobj
2699 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 277.404 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 350.138 null ] >>
endobj
2700 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 266.445 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 339.18 null ] >>
endobj
2701 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 255.486 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 328.221 null ] >>
endobj
2702 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 244.527 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 317.262 null ] >>
endobj
2703 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 233.568 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 306.303 null ] >>
endobj
2704 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 222.609 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 295.344 null ] >>
endobj
2705 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 211.65 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 284.385 null ] >>
endobj
2706 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 200.691 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 273.426 null ] >>
endobj
2707 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 189.733 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 262.467 null ] >>
endobj
2708 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 178.774 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 233.576 null ] >>
endobj
2709 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 167.815 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 222.617 null ] >>
endobj
2710 0 obj
-<< /D [ 2677 0 R /XYZ 93.716 138.708 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 211.658 null ] >>
endobj
2711 0 obj
-<< /D [ 2677 0 R /XYZ 93.716 119.616 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 200.699 null ] >>
endobj
-2676 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F75 338 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F83 414 0 R /F16 336 0 R /F65 335 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+2712 0 obj
+<< /D [ 2679 0 R /XYZ 81.145 189.74 null ] >>
endobj
-2715 0 obj
-<< /Filter /FlateDecode /Length 1531 >>
-stream
-xZɎ6Wp<@} rMNkHkJ2qMIZXǒߓ9x|}=E>yt#?y`>;1aw
-icQi<C|d {$r(Ƴn7hyLRlF͒|G 錟8iwJ%3{{=cc-]j? G
-'i@b" sR%[7K64i]lu{\wZ.m(k Ik?#pFF]s/|5ۢ{,`'<i# i݆>tJg?=uGb.]/Kؽ\\dǣL^Rs0-恏mHQiVi"cԴTw $eVvk!+.MEa ؚy;V!+B<GM^H`U>hԭ&CPT)gd˨䢐W,yO$TtDbiu>9ΪV. pHf;s>e ˤ@҄-8Im@zHuSeH񚕵hiEtU |s/ĶϪ嫘aK~*.6x\P
-endstream
+2713 0 obj
+<< /D [ 2679 0 R /XYZ 81.145 178.781 null ] >>
endobj
2714 0 obj
-<< /Type /Page /Contents 2715 0 R /Resources 2713 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2679 0 R /XYZ 81.145 167.822 null ] >>
+endobj
+2715 0 obj
+<< /D [ 2679 0 R /XYZ 81.145 156.863 null ] >>
endobj
2716 0 obj
-<< /D [ 2714 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 145.904 null ] >>
endobj
2717 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 2679 0 R /XYZ 93.716 116.798 null ] >>
endobj
2718 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 2679 0 R /XYZ 93.716 97.706 null ] >>
endobj
-2719 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 732.964 null ] >>
+2678 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F16 336 0 R /F59 346 0 R /F84 425 0 R /F65 335 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2720 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 722.005 null ] >>
+2722 0 obj
+<< /Filter /FlateDecode /Length 1716 >>
+stream
+xZɎ6WM0v䚜א"eݙ -*Zvz{pؑ
+ z3;eiQښ??Z3hX>ϯ <i8Ϋ`-
+e b-\De)JFQ'^J
+\OU'jaG8
+y9]~÷ӈ[7R =5}-ܻQ \ճoce=&5}@1~ͨ@kA^^!THOkinBڀ\c(ǡ^&79 qZB=!Bgz{- kykDz+WQ}QP!Iv;ۅ΋(3EƘ)
+XqLw=R_D[nGmQ~/EY jnFIu6PwReSXmb?Zjt
+ߤJ2չݥ 8*ocoXm6D_27G3 *mʕ\2Kġhhbn;nHfoG=oW`~lƽF7ƒ$hbKT@ۛa҆`<P B[jZ BnmlJ^#mY7'kEjrU>s
+endstream
endobj
2721 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 711.046 null ] >>
-endobj
-2722 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 700.087 null ] >>
+<< /Type /Page /Contents 2722 0 R /Resources 2720 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2723 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 689.128 null ] >>
+<< /D [ 2721 0 R /XYZ 78.37 808.885 null ] >>
endobj
2724 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 678.169 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 768.829 null ] >>
endobj
2725 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 757.87 null ] >>
endobj
2726 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 746.912 null ] >>
endobj
2727 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 735.953 null ] >>
endobj
2728 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 724.994 null ] >>
endobj
2729 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 714.035 null ] >>
endobj
2730 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 703.076 null ] >>
endobj
2731 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 692.117 null ] >>
endobj
2732 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 681.158 null ] >>
endobj
2733 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 670.199 null ] >>
endobj
2734 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 659.24 null ] >>
endobj
2735 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 648.281 null ] >>
endobj
2736 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 637.322 null ] >>
endobj
2737 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 626.364 null ] >>
endobj
2738 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 615.405 null ] >>
endobj
2739 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 513.786 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 604.446 null ] >>
endobj
2740 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 502.827 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 593.487 null ] >>
endobj
2741 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 491.868 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 582.528 null ] >>
endobj
2742 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 480.909 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 571.569 null ] >>
endobj
2743 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 469.95 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 560.61 null ] >>
endobj
2744 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 458.991 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 549.651 null ] >>
endobj
2745 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 448.032 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 538.692 null ] >>
endobj
2746 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 437.073 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 527.733 null ] >>
endobj
2747 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 516.775 null ] >>
endobj
2748 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 415.156 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 505.816 null ] >>
endobj
2749 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 404.197 null ] >>
+<< /D [ 2721 0 R /XYZ 79.37 469.148 null ] >>
endobj
2750 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 393.238 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 437.066 null ] >>
endobj
2751 0 obj
-<< /D [ 2714 0 R /XYZ 79.37 356.57 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 426.107 null ] >>
endobj
2752 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 338.436 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 415.148 null ] >>
endobj
2753 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 327.477 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 404.189 null ] >>
endobj
2754 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 316.518 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 393.23 null ] >>
endobj
2755 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 305.559 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 382.271 null ] >>
endobj
2756 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 294.6 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 371.313 null ] >>
endobj
2757 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 283.641 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 360.354 null ] >>
endobj
2758 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 272.682 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 349.395 null ] >>
endobj
2759 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 261.723 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 338.436 null ] >>
endobj
2760 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 250.765 null ] >>
+<< /D [ 2721 0 R /XYZ 79.37 299.776 null ] >>
endobj
2761 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 239.806 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 281.641 null ] >>
endobj
2762 0 obj
-<< /D [ 2714 0 R /XYZ 79.37 203.138 null ] >>
+<< /D [ 2721 0 R /XYZ 79.37 244.974 null ] >>
endobj
2763 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 185.004 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 226.839 null ] >>
endobj
2764 0 obj
-<< /D [ 2714 0 R /XYZ 79.37 148.336 null ] >>
+<< /D [ 2721 0 R /XYZ 79.37 190.172 null ] >>
endobj
2765 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 130.202 null ] >>
-endobj
-2713 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2721 0 R /XYZ 81.145 172.037 null ] >>
endobj
-2768 0 obj
-<< /Filter /FlateDecode /Length 1719 >>
-stream
-x[r6+AoXTeSo\S%lɀ$;ADBFvvn.Aen.xq9r>"b~.G=W/rۓ-_v)"#A&$
-bwl g%Յ_QIZrsꓛ@:IX!þ|>|eu\~Tj ԱOjq@it[G99
-@ EêwM^Ku3.>0&SҧAdKPsЬ1zך8#\r$Uﯟ#3:u7!"\ 
-,4 3迧gMCKrScWov$WF&d)2bId,S.F9X`8X:l:kGԫes
-_4%aǭn.rwk2C%EzD (R2-Yr6HYK
-Ld݃xdx.MzE 2bMRKv:IAcP:g|XecP71h
-[rf:mF,)dҙYA 7~GɃPU>fK&SgPA"}<\A@j"c4Dj lW\Z#+SLsȘ9H'{̉Ǘ a dY 4<5Ǟ_Ȳ x6[l͂ hmO";ʤA;#s}1`̻wUs Ұ ]bҽsLH7 )w!EQg%y/p=!ESIuߖwb-0M5uχzv`?M[}CYtL k;TRΗa Tt8c_J^ ӣyLo ph1A ,&%E,Mۡ#iX
-dMǘ. fA"}LRu" "L:~6@góڇ>A䢚ooRYIOOO!O)#~cOul>3_"ut}I2G(*w e4}bVhP/gfe-gi:ġkO]Y؟=]|ŧS-E[݅:<+@[8\E9뤍Irt5Q!J ]l}:.'sk5=Ir,5ɦ9kڷݡcZRIι`z>l9r㺣3Z#~uJ,JY(Zduz /(j:UMgK7zI1W f:p̘^sHuEp[[N=K:k;N"S
-endstream
+2766 0 obj
+<< /D [ 2721 0 R /XYZ 81.145 161.078 null ] >>
endobj
2767 0 obj
-<< /Type /Page /Contents 2768 0 R /Resources 2766 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2721 0 R /XYZ 81.145 150.12 null ] >>
+endobj
+2768 0 obj
+<< /D [ 2721 0 R /XYZ 81.145 139.161 null ] >>
endobj
2769 0 obj
-<< /D [ 2767 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 128.202 null ] >>
endobj
2770 0 obj
-<< /D [ 2767 0 R /XYZ 79.37 773.016 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 117.243 null ] >>
endobj
2771 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 106.284 null ] >>
endobj
2772 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 95.325 null ] >>
endobj
2773 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 732.964 null ] >>
-endobj
-2774 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 84.366 null ] >>
endobj
-2775 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 711.046 null ] >>
+2720 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2776 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 700.087 null ] >>
+<< /Filter /FlateDecode /Length 1785 >>
+stream
+xYn6+@ t]mo;)ɢƲv79K||)<d~!9ßoƐ3Ɵ r/19CKK7rTHr7=>s|W{ĺy~j.xeOktBkYi!e-d" ->jJ`y#!B0#] WHj&& A9کHnyjSruRŲG>#2(UrtHlI)y@EgA~640~cH EI'H{Bpq0b/ U%G1Xu*࣓,P&I%((1Qi/\"/r%IM@$&%)8(RpL9@Qܹ=6fQ"6L"vKzCny@HF-8wAv!TCb 8TllAGIl5Ȗ
+uuH='&6e~j2:5Hj-hHbLu=Y7e*1EQdtwv)CrIbhM=3Ұ R" HڨBlō#еF W
+z ƊLv6퀮pճ)).f4K.Ҽ-8ѕ=K3<zՙ.G:]*OM9?';Ja]ݷ j vḼ2TƧn`PqN'v i4eb>|
+Rqf6cfB0lVݶƳ.cЀI++>u`EaKrevnK*9JiGs-Q;\Ì,Uuӥ'Ԫ Y"ՆLmhCl+Ge&xEkƲ0dKZEǸӖ) TXl
+XT,[b逮'k1л_
+endstream
+endobj
+2775 0 obj
+<< /Type /Page /Contents 2776 0 R /Resources 2774 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2777 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 689.128 null ] >>
+<< /D [ 2775 0 R /XYZ 78.37 808.885 null ] >>
endobj
2778 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 678.169 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 768.829 null ] >>
endobj
2779 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 757.87 null ] >>
endobj
2780 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 746.912 null ] >>
endobj
2781 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 735.953 null ] >>
endobj
2782 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 724.994 null ] >>
endobj
2783 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 714.035 null ] >>
endobj
2784 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 703.076 null ] >>
endobj
2785 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 692.117 null ] >>
endobj
2786 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 681.158 null ] >>
endobj
2787 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 670.199 null ] >>
endobj
2788 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 659.24 null ] >>
endobj
2789 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 648.281 null ] >>
endobj
2790 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 637.322 null ] >>
endobj
2791 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 626.364 null ] >>
endobj
2792 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 615.405 null ] >>
endobj
2793 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 513.786 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 604.446 null ] >>
endobj
2794 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 502.827 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 593.487 null ] >>
endobj
2795 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 491.868 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 582.528 null ] >>
endobj
2796 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 480.909 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 571.569 null ] >>
endobj
2797 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 469.95 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 560.61 null ] >>
endobj
2798 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 458.991 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 549.651 null ] >>
endobj
2799 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 448.032 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 538.692 null ] >>
endobj
2800 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 437.073 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 527.733 null ] >>
endobj
2801 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 516.775 null ] >>
endobj
2802 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 415.156 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 505.816 null ] >>
endobj
2803 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 404.197 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 494.857 null ] >>
endobj
2804 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 393.238 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 483.898 null ] >>
endobj
2805 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 382.279 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 472.939 null ] >>
endobj
2806 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 371.32 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 461.98 null ] >>
endobj
2807 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 360.361 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 451.021 null ] >>
endobj
2808 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 349.402 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 440.062 null ] >>
endobj
2809 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 338.443 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 429.103 null ] >>
endobj
2810 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 327.484 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 418.144 null ] >>
endobj
2811 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 316.525 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 407.186 null ] >>
endobj
2812 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 305.567 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 396.227 null ] >>
endobj
2813 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 294.608 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 385.268 null ] >>
endobj
2814 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 283.649 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 374.309 null ] >>
endobj
2815 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 272.69 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 363.35 null ] >>
endobj
2816 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 261.731 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 352.391 null ] >>
endobj
2817 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 250.772 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 341.432 null ] >>
endobj
2818 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 239.813 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 330.473 null ] >>
endobj
2819 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 228.854 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 319.514 null ] >>
endobj
2820 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 217.895 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 308.555 null ] >>
endobj
2821 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 206.936 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 297.596 null ] >>
endobj
2822 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 195.978 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 286.638 null ] >>
endobj
2823 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 185.019 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 275.679 null ] >>
endobj
2824 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 174.06 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 264.72 null ] >>
endobj
2825 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 163.101 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 248.78 null ] >>
endobj
2826 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 152.142 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 193.985 null ] >>
endobj
2827 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 136.202 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 183.026 null ] >>
endobj
2828 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 81.407 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 172.067 null ] >>
endobj
-2766 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 414 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2831 0 obj
-<< /Filter /FlateDecode /Length 2983 >>
-stream
-x[n#9+"#۲\gN}?Lp_JeTcIFG&g xz|yS"'qX`Z^kqgp.?Ǹ}=1"f25ږeFJRP<jAGNcӮݳWty\|,*D/u(y;Q:J(gL) fHh[Z}I>}ɍ{ f7"!*8ʋdV 3sF#ʛ&ՊwS12zCI
-a
--r٘%|
-6YIapW4S!,) #S]et]}"hT%R'Z|K4kP2 +t䓃Ƽh}RT WT%Ǥ}EV!b7Ǧ'm"h?R&e?yՠJeOɠQ٤l]VQ!{
-6k3f|8,k!3{~F,:2QYpf^yOM1kc974.>g7!f&oMІXlU5ri[JWu6^.ꕪT546I\3_nlI2π6'rPN{i%C9%V҈sYAUX,Uvr)'TfyBN)+R3e /_X(Df筵XY 'kcIuV(Utׯ^,YFJ(nk\PM
-J{;i(48R,w2ϩ
-LL7sKtnyw3)'j:N3zRd@q~HiScN0aٮvUz&:&|xYFm@ԆƯwm`VF.
-:œWBwB<5iRN]s{B߄債g(c'`jrB:vgOY ^֬1pYٞ ®]
-Q|]\v [𝝄zV5J|=3<)L{j)=_tJf}'%y? 7P;H+v&[٣2յ=@햞0g4mK]?~ID]e?جVjfv[{Y׈L[3"7P:ʋRoh`?%it
-~z̾;_&~2!U_7>kֆъtП{pyܜ"#"
-9pyD^3jJ>׳IW8ϖe*gl Z>+vNxD'p.]txFQ\lMH'W
-xnkoIX[Ӫ"y
-Jr=Ik|ŐUV7t)LShλwͤ#U IKf3mN7&i t>QdL4d:{$,!K=Նj_NKI uSQ@R.R uvjs:☼>7Gf$Nh״SFʩsj!{3%ȉ*9Td$rOd8ZO
-8 =@#0>D~CiŨY|qk
-endstream
+2829 0 obj
+<< /D [ 2775 0 R /XYZ 81.145 161.108 null ] >>
endobj
2830 0 obj
-<< /Type /Page /Contents 2831 0 R /Resources 2829 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2775 0 R /XYZ 81.145 150.149 null ] >>
endobj
-2832 0 obj
-<< /D [ 2830 0 R /XYZ 78.37 808.885 null ] >>
+2831 0 obj
+<< /D [ 2775 0 R /XYZ 81.145 139.19 null ] >>
endobj
-2833 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 768.829 null ] >>
+2832 0 obj
+<< /D [ 2775 0 R /XYZ 79.37 102.523 null ] >>
endobj
-2834 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 757.87 null ] >>
+2774 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2835 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 746.912 null ] >>
+<< /Filter /FlateDecode /Length 3278 >>
+stream
+x\͎# SZ# -59%/Tg.<%Hj?7Ƿ_N7q9ɌY#7?_9גs9
+P` 5sZ 4(_(%W1֫gfjy_YO)tʷTלWMpk3XI][x^1J;ӱ_ӱ*:~"Ot?vEeaM+f}IҨ_3׭H>#渟I~M:Bi. ?'6Hg%spy-ƕs?rٌ`΋]5% 7ZNk*^+>e`ANvB |.0rX3B/c79\PK8p R{0ZnX͒μP{;դE-$i%0 QsP8%g*(Jq][jղ/߰)(,0af 3c!$
+2<ЮH>P0#סW
+*͢Z%\0Gr^Ape"a 3Utqe~d.Gɉ! wjւ
+[yJL܋kf4*bz_PȓV)O/1QkL}bfsw>=t>枺v)`J.Bg1C;8HOx|Evg),i8/d<z#Nb"k^x<J'Ţw_e&<k%66futǝÝ.ip׹!DA"DuLdz+Ә9a(c~cFpx7ϘcBbf%;-@.]N0Ъ*u=fK.jVe+2~'WV Z*`?i\j)ܾe5h*n
+kiP8tĀpJުЂ&vޒ KW<@x BVϼkfQEYL6kPX+'}O/C4W.!,>֢`Z]?ﯫ͖s# ͖t`$h RC W%DIxAi<qj0qGm;A js,ܬh1tiL5u0V݊YPMC]KB58hz-&|v,xҘQ$BiyҳȒ`L`X Vϳk%,Jc]SHa4:6 sK~oyޟP;hԨdE#߈ *VOJF>k[x)t}HnaLVkB~BaI+<Rz P#H1LZ2k0a>5=
+Slc¡"w_
+&?\ s0 8΋K/)H!| HB<'КΖG;yLpȩ%=*GTc;cgH/99y<YnLnDT(ip^ 'Si[WJ&AwX9Ν㥾wj8N4Qfg81݉D1>;g^LB˞ 4iko
+endstream
+endobj
+2834 0 obj
+<< /Type /Page /Contents 2835 0 R /Resources 2833 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2836 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2834 0 R /XYZ 78.37 808.885 null ] >>
endobj
2837 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 768.829 null ] >>
endobj
2838 0 obj
-<< /D [ 2830 0 R /XYZ 79.37 691.303 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 757.87 null ] >>
endobj
2839 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 661.722 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 746.912 null ] >>
endobj
2840 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 650.763 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 735.953 null ] >>
endobj
2841 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 639.804 null ] >>
+<< /D [ 2834 0 R /XYZ 79.37 700.214 null ] >>
endobj
2842 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 628.845 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 646.372 null ] >>
endobj
2843 0 obj
-<< /D [ 2830 0 R /XYZ 79.37 595.155 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 635.413 null ] >>
endobj
2844 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 541.663 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 624.454 null ] >>
endobj
2845 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 530.704 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 613.495 null ] >>
endobj
2846 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 519.745 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 602.536 null ] >>
endobj
2847 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 508.786 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 591.577 null ] >>
endobj
2848 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 497.827 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 580.619 null ] >>
endobj
2849 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 486.868 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 569.66 null ] >>
endobj
2850 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 475.909 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 558.701 null ] >>
endobj
2851 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 464.95 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 547.742 null ] >>
endobj
2852 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 453.992 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 536.783 null ] >>
endobj
2853 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 443.033 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 525.824 null ] >>
endobj
2854 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 432.074 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 514.865 null ] >>
endobj
2855 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 421.115 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 416.935 null ] >>
endobj
2856 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 410.156 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 405.976 null ] >>
endobj
2857 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 318.168 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 395.017 null ] >>
endobj
2858 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 307.209 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 384.058 null ] >>
endobj
2859 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 296.25 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 373.099 null ] >>
endobj
2860 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 285.291 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 362.141 null ] >>
endobj
2861 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 274.332 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 351.182 null ] >>
endobj
2862 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 263.373 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 340.223 null ] >>
endobj
2863 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 252.414 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 329.264 null ] >>
endobj
2864 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 241.455 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 251.668 null ] >>
endobj
2865 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 230.496 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 240.709 null ] >>
endobj
2866 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 155.347 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 229.75 null ] >>
endobj
2867 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 218.791 null ] >>
endobj
2868 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 207.832 null ] >>
endobj
2869 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 122.47 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 196.873 null ] >>
endobj
2870 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 111.511 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 185.914 null ] >>
endobj
2871 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 174.955 null ] >>
endobj
2872 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 122.47 null ] >>
endobj
2873 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 111.511 null ] >>
endobj
-2829 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F83 414 0 R /F74 337 0 R /F81 377 0 R /F75 338 0 R >> /ProcSet [ /PDF /Text ] >>
+2874 0 obj
+<< /D [ 2834 0 R /XYZ 81.145 100.552 null ] >>
endobj
-2877 0 obj
-<< /Filter /FlateDecode /Length 2875 >>
-stream
-x[I\ ?0DQ`4`nI|i%>d.j{zեsCo>Œ?.ӧ2 zRtC^Y%U.~R2矴t3gs7<Z.WUF 5H⺁HPYcW mL&
-ϐ LHGGNlQ]5_X 1Sv-SkƪDO6{A˪EyymA
-qZDž2><^<~H 0S@Ro}{{4G RLP׮(wK Vb`]nVQG<%QݒHּ\]R fʑR4-
-`B#\W#Yj!G>Xzfw?Zg Ͳ9hk$`°B::ݺ_t8Rj:Azx(
-{xGJ' İ0F} z:t/[,kvbNԃM-<KRTCyoa
- ji1Y+K%)Sg.V` Sʣ\ET(\h'=.RMw]|)~Q̌l޼WMWTµᮨ;@?`b^Yh]By\*l mլ1uMCM`h~"hη*ӹOhfQu/WÎ`0Ry j_Pg=3zҸQB%i:wΓToTk{өAN)Z[^GKںk@"愬\<(k(2ptj^Cv` #Y63adYrEB='2g.NN$w>N͔Fuq`JI~jc /DKb7^iV61u*>gyj46eV_IyLza'fF>PKmVG3&(WN"|k>є©<ik賓~ ȉp@@r%^er4ZHJ"Ъdjp"ާ|39Hޭjkn5~ŇD
-T).#4> Ov_RРP0>c-GJ֟F_b{6Rjآn9F{5k? \X7m~&~Z1| ԡrւtB["s|k|XI~;j>Pʥ䘟R]+R1,Ks{GJlbuN_fGs*c)Ǜ|Ѯ?巳D ufNxb1nf͉R9Gp'QmxbnfЉңxh8+v]u
-N)iy3NTKwOX|2(oqli1qb`}3鏄o!m՜VK{}نmC6)Zָj-pV'JlomV[v7$
-lF ][%B+{8;=lȟ[:=>ػYu3q 'ގ>$]%+5>Qby)/{7OBu]CaU|ߗ<-ЩK*
-endstream
+2875 0 obj
+<< /D [ 2834 0 R /XYZ 81.145 89.593 null ] >>
endobj
2876 0 obj
-<< /Type /Page /Contents 2877 0 R /Resources 2875 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R /Annots 2921 0 R >>
+<< /D [ 2834 0 R /XYZ 81.145 78.635 null ] >>
endobj
-2921 0 obj
-[ 2874 0 R ]
-endobj
-2874 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 142.077 246.868 154.681 ]/A << /S /GoTo /D (Hfootnote.42) >> >>
+2833 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F81 377 0 R /F75 338 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2878 0 obj
-<< /D [ 2876 0 R /XYZ 78.37 808.885 null ] >>
+2880 0 obj
+<< /Filter /FlateDecode /Length 2533 >>
+stream
+xڵ[n$7+M2 PT|a|;/L%0ʪE0ٜz=|+!sV 6NJq3Z0us}ܸo??pFP7˜`[!5FH?}RRyL9jHBOqdgřrٮqzc_+qw~RooߪXw/g#ys {x)hQDF>=s'圿^58&fꚮfFITd.M8%
+VngC勿cf`<b^u_&S^J<}6Mb!4(|N{HS&$l"i+f#!zFT$3r9x(L"{2QE#R?
+XPZ9ğC ,(@XlKv3`H^=Pd,W"I#
+<`KR)]LfQis>0!Nor! 
+CSFߴ7a*OW.Ox і{/))SzS3 5|ɔlCD$eW~@bGo+g^f
++8
+F̈́XWS5+U}$DZ虄&}B%Ȑ2{^c#5ND*7M,{Իٜḙϟ::EiƧkr65`Ur]nr@ RNyEy40aj6&OzSM;drncn#]U(]Dfޣ|hQ.LZ=k1H"GA943r@jt^=SUȗ[ME*_O
+>oP {&o NftZ.r
+ZZtS#{LQۅU竼520mFZJFmE90epj#kQv@{Jߏ s˷pG#k1Hs>:~QZ iJv9HȻL;31&z=9ẁɸqoYfr^R_}5&i Rd\ Rc{Y2u4Y-N>^@s6csoJřS=zѶMNrmmzt%i~o29$0AY(Z/0zX۵mI4/kT~#ޓnG0vm F 8Oqㆦ!Ƽ8לvH<|lJv,AYl]=?B[ 2Aڝ6Hr<֐%󮡕o8;~laYӡ!9ԜNU(Vt EB3J?z:ߓXCh0_}v Q1G:Qk_Лf/
+.(Nר2T̚3LiαS9
+Ժ4Σ[=qUi=UZR
+<UT8Q;&>:*9e4=J'C3m%y!/IL
+endstream
endobj
2879 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 730.971 null ] >>
+<< /Type /Page /Contents 2880 0 R /Resources 2878 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R /Annots 2926 0 R >>
endobj
-2880 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 720.012 null ] >>
+2926 0 obj
+[ 2877 0 R ]
+endobj
+2877 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 194.879 246.868 207.483 ]/A << /S /GoTo /D (Hfootnote.42) >> >>
endobj
2881 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 709.053 null ] >>
+<< /D [ 2879 0 R /XYZ 78.37 808.885 null ] >>
endobj
2882 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 698.095 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 768.829 null ] >>
endobj
2883 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 687.136 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 757.87 null ] >>
endobj
2884 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 676.177 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 746.912 null ] >>
endobj
2885 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 665.218 null ] >>
+<< /D [ 2879 0 R /XYZ 79.37 671.39 null ] >>
endobj
2886 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 654.259 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 653.255 null ] >>
endobj
2887 0 obj
-<< /D [ 2876 0 R /XYZ 79.37 578.737 null ] >>
+<< /D [ 2879 0 R /XYZ 79.37 616.588 null ] >>
endobj
2888 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 560.603 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 598.453 null ] >>
endobj
2889 0 obj
-<< /D [ 2876 0 R /XYZ 79.37 523.935 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 569.562 null ] >>
endobj
2890 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 505.801 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 558.603 null ] >>
endobj
2891 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 494.842 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 547.644 null ] >>
endobj
2892 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 483.883 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 536.685 null ] >>
endobj
2893 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 472.924 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 525.726 null ] >>
endobj
2894 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 461.965 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 514.767 null ] >>
endobj
2895 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 451.006 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 503.808 null ] >>
endobj
2896 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 440.047 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 492.849 null ] >>
endobj
2897 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 429.088 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 481.89 null ] >>
endobj
2898 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 418.129 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 470.931 null ] >>
endobj
2899 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 407.171 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 459.973 null ] >>
endobj
2900 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 396.212 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 449.014 null ] >>
endobj
2901 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 385.253 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 438.055 null ] >>
endobj
2902 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 374.294 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 427.096 null ] >>
endobj
2903 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 363.335 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 416.137 null ] >>
endobj
2904 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 352.376 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 405.178 null ] >>
endobj
2905 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 341.417 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 394.219 null ] >>
endobj
2906 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 330.458 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 383.26 null ] >>
endobj
2907 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 319.499 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 372.301 null ] >>
endobj
2908 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 308.54 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 361.342 null ] >>
endobj
2909 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 297.582 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 350.384 null ] >>
endobj
2910 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 286.623 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 339.425 null ] >>
endobj
2911 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 275.664 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 328.466 null ] >>
endobj
2912 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 264.705 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 317.507 null ] >>
endobj
2913 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 253.746 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 306.548 null ] >>
endobj
2914 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 242.787 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 295.589 null ] >>
endobj
2915 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 231.828 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 284.63 null ] >>
endobj
2916 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 220.869 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 273.671 null ] >>
endobj
2917 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 191.978 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 244.78 null ] >>
endobj
2918 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 139.176 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 191.978 null ] >>
endobj
2919 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 128.217 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 181.019 null ] >>
endobj
2920 0 obj
-<< /D [ 2876 0 R /XYZ 93.716 98.405 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 170.06 null ] >>
endobj
-2875 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F65 335 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F81 377 0 R /F83 414 0 R /F75 338 0 R /F22 367 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+2921 0 obj
+<< /D [ 2879 0 R /XYZ 81.145 159.101 null ] >>
endobj
-2924 0 obj
-<< /Filter /FlateDecode /Length 2165 >>
-stream
-x[n6+!Y 0
-%9x{61ǷtOls0^12Ng {K2B
-aͳH-Yd[O^@e]t%{8si/T|¯Q~=Yޒo.?*Xz[s􍥉;apY*'63DzG̊\9ک<9{UNƜѢ},{,8`H7z#{PfWOG)bK60Lxr&C[bYt%/ek@PSrxVH>w/!f Ʊո"Ϣo7"4_^$ 瓓QIKQTgwxk22g)J(ٱ$8H|*ػظz`zgּu-q6] EsF$CHv32iY`9
-|6;#KuY.EvgrrNH8tɲj);m-3L)pM#س"ڏan;*2n^sGVkLgrڄ].,.iۦjZm&=ܭ(<{UdHQWj|f;o-1)+~f+ P_ύ܌=MjD.e!# +_[.`A6{x;/ H;x
-ow@@/e`&(:
-fNzF[{ rH%@Mގ
-J8 Si K%8nŞ_9An<6k?tRȍl><"ӗxpm#ҭGcOe&&2Ӏėx$a69wF/:Ὗɜۗ}}AAvN2SW7ΖRS:GGҒ+Dwa@2)I
-endstream
+2922 0 obj
+<< /D [ 2879 0 R /XYZ 81.145 148.142 null ] >>
endobj
2923 0 obj
-<< /Type /Page /Contents 2924 0 R /Resources 2922 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2879 0 R /XYZ 81.145 137.183 null ] >>
+endobj
+2924 0 obj
+<< /D [ 2879 0 R /XYZ 81.145 126.224 null ] >>
endobj
2925 0 obj
-<< /D [ 2923 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2879 0 R /XYZ 93.716 95.166 null ] >>
endobj
-2926 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 768.829 null ] >>
+2878 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F83 412 0 R /F75 338 0 R /F22 367 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2927 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 757.87 null ] >>
+2929 0 obj
+<< /Filter /FlateDecode /Length 2088 >>
+stream
+xZKo#)W !E^iϹ{] t8HQm _׻xzxz;)
+H&盔'WI?YesFG|9|q+ܒ!$hAt}I᭝98@VM
+I۬CZ!9Ü#P ?ĪJX]t\T: ORjړ7ߵ0
+=+LJ7w
+&B<J>a"$ MSq8Zcʗ%J$4]K߇pí3 BQ:fƂH 8rvޕ,^8)%qad <|jDuyV`pnc@ШKE7]F\uK
+5`g2ϵ,a.Tt<Z` E(&({}<(-ύiJ 4Ғ]`pGT$;4sIJQ<۔w8w1]["mZa؍ VꀚT,A!!HMg49
+[]ۀ\"hSYOJR@
+<' .(o%$;&\aG:f!{d92}*\07)=;' 5s+T)c׆C7!95
+endstream
endobj
2928 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 746.912 null ] >>
-endobj
-2929 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 735.953 null ] >>
+<< /Type /Page /Contents 2929 0 R /Resources 2927 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2930 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2928 0 R /XYZ 78.37 808.885 null ] >>
endobj
2931 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 768.829 null ] >>
endobj
2932 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 757.87 null ] >>
endobj
2933 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 746.912 null ] >>
endobj
2934 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 735.953 null ] >>
endobj
2935 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 724.994 null ] >>
endobj
277 0 obj
-<< /D [ 2923 0 R /XYZ 79.37 632.787 null ] >>
+<< /D [ 2928 0 R /XYZ 79.37 687.582 null ] >>
endobj
2936 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 611.945 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 666.74 null ] >>
endobj
2937 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 596.005 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 650.799 null ] >>
endobj
2938 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 556.154 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 610.949 null ] >>
endobj
2939 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 542.207 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 597.001 null ] >>
endobj
2940 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 531.248 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 586.042 null ] >>
endobj
2941 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 503.352 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 558.147 null ] >>
endobj
2942 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 492.393 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 547.188 null ] >>
endobj
2943 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 454.535 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 509.33 null ] >>
endobj
2944 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 443.577 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 498.371 null ] >>
endobj
2945 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 432.618 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 487.412 null ] >>
endobj
2946 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 421.659 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 476.453 null ] >>
endobj
2947 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 410.7 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 465.494 null ] >>
endobj
2948 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 399.741 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 454.535 null ] >>
endobj
2949 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 388.782 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 443.577 null ] >>
endobj
2950 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 377.823 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 432.618 null ] >>
endobj
2951 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 366.864 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 421.659 null ] >>
endobj
2952 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 355.905 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 410.7 null ] >>
endobj
2953 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 344.946 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 399.741 null ] >>
endobj
2954 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 333.988 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 388.782 null ] >>
endobj
2955 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 323.029 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 377.823 null ] >>
endobj
2956 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 309.081 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 363.875 null ] >>
endobj
2957 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 298.122 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 352.917 null ] >>
endobj
2958 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 287.163 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 341.958 null ] >>
endobj
2959 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 276.204 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 330.999 null ] >>
endobj
2960 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 265.245 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 320.04 null ] >>
endobj
2961 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 254.286 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 309.081 null ] >>
endobj
2962 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 243.327 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 298.122 null ] >>
endobj
2963 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 232.369 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 287.163 null ] >>
endobj
2964 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 221.41 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 276.204 null ] >>
endobj
2965 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 210.451 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 265.245 null ] >>
endobj
2966 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 199.492 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 254.286 null ] >>
endobj
2967 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 188.533 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 243.327 null ] >>
endobj
2968 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 177.574 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 232.369 null ] >>
endobj
2969 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 166.615 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 221.41 null ] >>
endobj
2970 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 155.656 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 210.451 null ] >>
endobj
2971 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 144.697 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 199.492 null ] >>
endobj
2972 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 133.738 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 188.533 null ] >>
endobj
2973 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 122.78 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 177.574 null ] >>
endobj
2974 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 111.821 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 166.615 null ] >>
endobj
2975 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 100.862 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 155.656 null ] >>
endobj
2976 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 89.903 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 144.697 null ] >>
endobj
2977 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 78.944 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 133.738 null ] >>
endobj
-2922 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2980 0 obj
-<< /Filter /FlateDecode /Length 2294 >>
-stream
-x[ˮ#'ޟ U\ёi;Rge6@Csq5)FU3u߅}}|(wYpC\'.Z\ƹݸ?~C}XyiB3L"ř@Q%0#)JmI]?)P2=}uq+z
-@m?: 6.X>'1.q.iVU2p#|8O.IH@a].ikiD%?E20eY bV" ~&I 9xժ'D5i#qrLѕ^uVgE7ڹ|[*$zohƢfASP^VetMz7fIRm$D e䖟#D,dKWŜ?kы)v9=P *p$luouY*S覂T,%Z1Im̈́H-XOU_&:sQM#s.rA-SLf7
-fӚVI:juN<==sTH4wSO"<G2:,̚bq}Z$f)5()J}餾'9Zzzp"RRWZST-jRr&N.pLT2 %Cf%)Q"Qq,>> Y.(TR_(}e]mr.fJz"|GI^`"ij*wH
-k#ǰ;i4j_ڣᵻ~˃qy0޸Hf|RȽwHRrN-RO__{H~ᵫ>֟r} }^?K_YLuROSX%:KdI;B
-vtqѝ.R^M
-i v[{fdl7䓟Y^;:[07ͶmDs*J-r+73N>3;>#
-4g5}rfڨR
-ja!M^q+s>??*4¼J\^Fܺ[TH۪ɾդƤ~4"E[(K󂌪#/^,2{ `^,ޗ1.7ZO(~SVl$oVwNrk PoW~m+AE JuE`1D~}5Gݳۊ-O۝9g!',.+ehP_kv_΀IR^ 7wSP
- ێ;xIGĕ,E=}m*]4PQF=J&&WW"/d
-L*Mi}<\h|KRRlRZ0R3 ZŒ'z%.8m9*M2CBK]v 6.uԱ8Ea YZrf9?E ΐ:tKmEg۪~^΃:nҀZ!_a%_} +j6
-endstream
+2978 0 obj
+<< /D [ 2928 0 R /XYZ 81.145 122.78 null ] >>
endobj
2979 0 obj
-<< /Type /Page /Contents 2980 0 R /Resources 2978 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2928 0 R /XYZ 81.145 111.821 null ] >>
endobj
-2981 0 obj
-<< /D [ 2979 0 R /XYZ 78.37 808.885 null ] >>
+2980 0 obj
+<< /D [ 2928 0 R /XYZ 81.145 100.862 null ] >>
endobj
-2982 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 768.829 null ] >>
+2927 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2983 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 757.87 null ] >>
+<< /Filter /FlateDecode /Length 2495 >>
+stream
+xI#ޯCFp
+H-i
+E2gB-P KؠeBb@z0ʦʋpal(   Sڏ"dN+P kGDiu( C =$V1!&&0CʧG(BkE0d5KI?A2,!^%*0ЫX{P1{:@P0n꾈v#$c R&C)6]Г'=x"f=5K74}<mM*di$V11|a[¤tR7\aokB68FaB*XxTԅ=}>Ɣ0#[suL2I i#De"JdVS~$JLsd lRDBNk(PqwJ ;!7tTGó>'`\go\_LJJy6#A6vZg:qq/<s)׻q8LK꭯I]EOx&#e&&X3/2Lhіnt 8LԲ
+Ái^
+ov|BJyAMk&}WStv)Z0';Y傴3Б/QN hY-jKjAZ9ڧ댲ԗd씲ȣy1=H"_
+Jx7DE."ޖ޶'ʞT'ܽyڳѢ;d:[0FͰpۈ
+眓>[Nݢɠf Md!Mfڷ{GxA11+r]Aj_(Co5PH&e=_V!gGRtQ2an{x$ 12|nJYCЏtv~ey[[)gp]:ȼo|{
+"=l[-J#Add"]׊4Ҽ%ǭ'K5ueuuW8c D=w%li}CF :HDO(vS;@VHv6O okVM3@8*MS] J
+MdD8z[$̄y.cO-=:mK鑆)u` t*p0P>ɏ#`-u_$E^t{љ<Jm-wUX#=Z!dPYrܮyK(GnN3`–GuOou ︕ҋOhډzh^w~R^]_vQ~.N
+g([7\(.Zj7paۆŨXsĨJ^=!xA 6x>O+(
+Ygmr)%A] խRBd\k]P9_EHzE\B- xTЦЁﵶyV~~f$r% *LfJ)ĜvsBZ |ЗZ̙#n"x| \M
+endstream
+endobj
+2982 0 obj
+<< /Type /Page /Contents 2983 0 R /Resources 2981 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
endobj
2984 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2982 0 R /XYZ 78.37 808.885 null ] >>
endobj
2985 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 695.106 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 745.915 null ] >>
endobj
2986 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 684.147 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 734.956 null ] >>
endobj
2987 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 673.188 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 723.997 null ] >>
endobj
2988 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 662.229 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 713.039 null ] >>
endobj
2989 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 651.27 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 702.08 null ] >>
endobj
2990 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 640.311 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 691.121 null ] >>
endobj
2991 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 629.352 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 680.162 null ] >>
endobj
2992 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 618.393 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 669.203 null ] >>
endobj
2993 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 607.435 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 658.244 null ] >>
endobj
2994 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 596.476 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 647.285 null ] >>
endobj
2995 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 585.517 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 636.326 null ] >>
endobj
2996 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 622.725 null ] >>
endobj
2997 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 611.766 null ] >>
endobj
2998 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 600.807 null ] >>
endobj
2999 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 589.849 null ] >>
endobj
3000 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 578.89 null ] >>
endobj
3001 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 516.775 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 567.931 null ] >>
endobj
3002 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 505.816 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 556.972 null ] >>
endobj
3003 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 494.857 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 546.013 null ] >>
endobj
3004 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 483.898 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 535.054 null ] >>
endobj
3005 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 472.939 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 524.095 null ] >>
endobj
3006 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 461.98 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 513.136 null ] >>
endobj
3007 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 451.021 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 502.177 null ] >>
endobj
3008 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 440.062 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 491.218 null ] >>
endobj
3009 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 480.26 null ] >>
endobj
3010 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 418.144 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 469.301 null ] >>
endobj
3011 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 407.186 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 458.342 null ] >>
endobj
3012 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 396.227 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 447.383 null ] >>
endobj
3013 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 385.268 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 436.424 null ] >>
endobj
3014 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 374.309 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 425.465 null ] >>
endobj
3015 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 363.35 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 414.506 null ] >>
endobj
3016 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 403.547 null ] >>
endobj
3017 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 341.432 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 392.588 null ] >>
endobj
3018 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 330.473 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 381.629 null ] >>
endobj
3019 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 290.623 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 343.859 null ] >>
endobj
3020 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 279.664 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 332.901 null ] >>
endobj
3021 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 268.705 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 321.942 null ] >>
endobj
3022 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 257.746 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 310.983 null ] >>
endobj
3023 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 246.787 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 300.024 null ] >>
endobj
3024 0 obj
-<< /D [ 2979 0 R /XYZ 79.37 224.075 null ] >>
+<< /D [ 2982 0 R /XYZ 79.37 279.045 null ] >>
endobj
3025 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 205.94 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 261.258 null ] >>
endobj
3026 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 194.981 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 250.299 null ] >>
endobj
3027 0 obj
-<< /D [ 2979 0 R /XYZ 79.37 146.359 null ] >>
+<< /D [ 2982 0 R /XYZ 79.37 205.096 null ] >>
endobj
3028 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 128.224 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 173.707 null ] >>
endobj
3029 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 117.265 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 162.748 null ] >>
endobj
3030 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 106.306 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 151.789 null ] >>
endobj
3031 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 95.347 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 140.83 null ] >>
endobj
3032 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 79.407 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 125.584 null ] >>
endobj
-2978 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+3033 0 obj
+<< /D [ 2982 0 R /XYZ 81.145 95.481 null ] >>
endobj
-3035 0 obj
-<< /Filter /FlateDecode /Length 2599 >>
+2981 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3037 0 obj
+<< /Filter /FlateDecode /Length 2628 >>
stream
-xڽ[Ko#7 WD+zFx9-~f<r"{F("?
-gܾ^~ܕH@|".h.\97oŹ|w+/9ѶtaHH"w"9qi;- ~YszGQ" x۫EQOqJ]CTO|¸?Ώ4PA?
-Sz{'בxu O7ţ* f\
-{\1R[^?XKoyro`0xRyR^o4ŽK!7RQ8ٕL槞3O[
-\=~mce,Zo<ѱjqC$oV@(0-GrͬYܘLr;ۘSș5nNCXp&okK Zȓrls,ImC4>겢^W[A1c=%V9AÔ)'vRcmj:YE$eV
-RMsA85!&ҺFbZ)'r5JL;=\H=ͪ#@pf4Pjѯf#~04e>yFg;Ǻs>',-g \H-x"Q˯c19kĝn+QiEJf˳Q~\Z~E#xp.01NpF])zAESx @zގ3Xč.n
- "\\B9XuPu;܃Fk70vSkU,?^7綨VGOvMyb ,iBNOyޡ 1Vzw0dUFz0JZCA&5Yy Lo˛ӹٜmdJݦ.+Ma!en{&:'ү0?xobmc4@{Rbf6JݧqTnxͫc2+1γO^v%nsݤH$/2D'KF+5X|>Q'Los$ٮ5tZ'A)(]u2jeԑcs|zPq:$ `Fo% fw]'̊s/xeoȿ9M{UhtqL4
-`` K$,ّGlc -P6׾H8[N b,Nd􄎫BYc"֪}a7ZsZW!6Gu
-vjc'*Y=}aZ{U{=#]!g΄KI@hEH9>]s)iMqPH[~ce'GYy,I6)H%LTCk+}9yնDi>4JNfap)Dhlqg#8 ;CbgY~*=ԸؘtIJ:P}N0 LK@HGOjcr_uozpɽ ⾍_fӥQ̈́rBvԒK٭ۊÀqvݖ8)-ɾg9Wˌt~]#?m 埓x{Jz
-!e5OMWch?新jW4]Z+Mnk?DLj>{Hrːt2~!380K5d2ь8V7 Ӷ[MRyɬY=G5K-rX5ٹW+k x 0h-yP8~"?Ng$l5*䷧dӉJzڷ!=AztB7u6߁C܁#wݸT)`"Y8i=:vJK}*ڹzpFWڞb+.~\x2x&=Z:U̢jzٴ֍V#(ʊ@?RE1N -;ë5Hz76Bm[PnBY7c*¤GPĝ6~{J݅F@rר]0?:/ O[@#fR5R{@Ӫ*.Ƴ
-n앗Pөb# {Ԑ So q@`uxĊi =2Dn ;nwsM8:yQ;ƍY]p{#Ui{8,*wU!(._vIO6'a2%u[~tݢ 3-mUE4Wң a<L!gww<iaojz:=@1]1|/AՁҳE=~*dlg @I^ !Ogk@)o]!pU^r\cFDK
-fA8>[S ,'άSnO Ʒ
-ȵt;5l>B2tz 0M`,ϙR~h.|~ y!
+xڽ[K# ϯXD 4h < ]YU.79xV(_?~܂EM\n*!RZ/%>?ORw8^4Zz>T(q H&>[ZuT鸮k&^C~/(;ͮ0U.ב4Nw #n)$^yEqgiG^7o*TEꤺx)ӑJ;,EmҖ@DfWF~ZG#[y$2wd|oH{noƷе_;+liRhnZzx E^"&~ϴ1͓n-Np" %fz" 0fUf^hڲ1RxfJ87U
+5@ gVy t񤥀TAZ}Wӂ{;t9亐5K LXKbk:k37tӺU}oJ|mOמ*=] B`-0RZ]9: ljZd*^V9N;H'.,yC,/8qg`M:xNr"A8]&BWVtSWSo:L9_Gmͬ:T ]paxL
+=K  
+X#^桐BҴGD"ЊvQ{
+x-{j&a-<^zke'$\y,a%DA# G%,.;?j$$jr a(5P\7 Annk',
+LL'/`/:f^l5KĚghƕ >>o%y_L2V5:0 vz޲=]o0RZnߗ3V(3庌&@8lnu JX>8(-)
+9F*#? ])v~m#u=X-(e-¬q2Rz4³r'Joz#D11 6ҷa2OɴAO)vU\S76Iw/Xu!o%Ws>V`r=G(@$L_HBh9prɹ.,{3qy"2¨͍U<i)9.j4s^_ *Ǻ<\^ { PcjZi"ą|eh!9^/\$lފ൰4ZF.?v`z5>exHqx5VB2Z]w.U+99L+ 'w%S',{q}*9hK7 +4})Uˈ}iѶ:\a(^i 4YJJgFx #<{z3܃gvuеlJyZ<1U o֣@H=\R ?nzWL^nT•GRƃ}{IݍFBznm-C0*Xi~.mm]o#SА"U[A(J@*FZ"5S-zRMuh y3 ӻc|bu͋>U/0勦n)$ių6N Y"a&]U(1J!k';]1橂 >͢|9
+͆+@7:ѳ>0X#9Ƈ8OŞYc8w1SWBI铓T]Dlx $_wӬ{VZUſl}~.5NLjbCOWYx!,/XzGB_t3{G*VS&|ęڱeJ 'Y_M:gJ]Ʒ[85}R2izA4kr)ur^kyHhlA7gh󆗎g1,Zb9mJe]^ {p=S3ڴvI8ZGÄY5 (vIuuį_?+y
endstream
endobj
-3034 0 obj
-<< /Type /Page /Contents 3035 0 R /Resources 3033 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
-endobj
3036 0 obj
-<< /D [ 3034 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3037 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 768.829 null ] >>
+<< /Type /Page /Contents 3037 0 R /Resources 3035 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
endobj
3038 0 obj
-<< /D [ 3034 0 R /XYZ 79.37 730.218 null ] >>
+<< /D [ 3036 0 R /XYZ 78.37 808.885 null ] >>
endobj
3039 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 700.135 null ] >>
+<< /D [ 3036 0 R /XYZ 79.37 773.016 null ] >>
endobj
3040 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 689.176 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 742.974 null ] >>
endobj
3041 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 678.217 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 732.015 null ] >>
endobj
3042 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 667.258 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 721.056 null ] >>
endobj
3043 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 656.3 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 710.097 null ] >>
endobj
3044 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 645.341 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 699.138 null ] >>
endobj
3045 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 634.382 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 688.179 null ] >>
endobj
3046 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 623.423 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 677.22 null ] >>
endobj
3047 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 612.464 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 666.261 null ] >>
endobj
3048 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 601.505 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 655.302 null ] >>
endobj
3049 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 585.579 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 644.344 null ] >>
endobj
3050 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 494.968 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 628.498 null ] >>
endobj
3051 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 484.009 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 538.168 null ] >>
endobj
3052 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 473.051 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 527.209 null ] >>
endobj
3053 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 462.092 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 516.25 null ] >>
endobj
3054 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 451.133 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 505.291 null ] >>
endobj
3055 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 440.174 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 494.332 null ] >>
endobj
3056 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 405.333 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 483.373 null ] >>
endobj
3057 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 394.374 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 448.693 null ] >>
endobj
3058 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 383.415 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 437.734 null ] >>
endobj
3059 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 372.456 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 426.775 null ] >>
endobj
3060 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 361.497 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 415.816 null ] >>
endobj
3061 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 350.538 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 404.857 null ] >>
endobj
3062 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 339.579 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 393.898 null ] >>
endobj
3063 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 328.621 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 382.939 null ] >>
endobj
3064 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 317.662 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 371.98 null ] >>
endobj
3065 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 270.865 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 361.021 null ] >>
endobj
3066 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 259.907 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 314.386 null ] >>
endobj
3067 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 248.948 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 303.427 null ] >>
endobj
3068 0 obj
-<< /D [ 3034 0 R /XYZ 79.37 212.322 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 292.468 null ] >>
endobj
3069 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 3036 0 R /XYZ 79.37 256.077 null ] >>
endobj
3070 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 188.224 null ] >>
endobj
3071 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 122.47 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 177.265 null ] >>
endobj
3072 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 111.511 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 166.306 null ] >>
endobj
3073 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 155.347 null ] >>
endobj
3074 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 144.388 null ] >>
endobj
3075 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 133.429 null ] >>
endobj
-3033 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
+3076 0 obj
+<< /D [ 3036 0 R /XYZ 81.145 122.47 null ] >>
endobj
-3079 0 obj
-<< /Filter /FlateDecode /Length 1826 >>
-stream
-x[n6+3@ݶHJ"Eۤ(.|ey8T;vVn$}"w;ygBc|j/"y554IBI!c!_zOB
-?I:9W*ܐ_ %J <"c5ߵ!=_ *?=g:ا"3kYˇmȩt~'?X˷>[]Yg%1r Z!OUҌʆ!ɦ-(?T!nܨt
-
-:(ˢ9m)kR#XdB#VEh.ģJxIM%};BR4kb${Z~ö`§v+E!LɐG\9ַJqtiDPrCV]6yLAtL9Sj%7cU"]ZYXȜjtŴ6Vdƞ߮\>h !@fb%*t])N\HbLY5W^&5ejL~%㗺VИ%KY1 c[Y#$40:Mcx|~N( VڲYD3+v2aS[;>9ޗJo*Z=I'kH#ky0?LΆ[+Fqd:j]*HϣW6=_ՇHy^Z<TnhAV B7MG> D8ʟ}^HK|cqsy?YjeV'Ѱ
-
-{)+[Jund2 ._u
-$CK@i]D*kC5 lKDr#"V@-]j-)I5lil{QfpSAj_!}[N%x'.~u&PϏ@ZlslCQ!}gDjUEc`M1Gl8-sSlia`WH+Feĺ%SwSS@k߽=>LiYe˖Hë
-9F۔0$It7(%`ZRRnTdqC2J6MaLQ
-1jncw9jJcH7Z_Rݭ&nƤ,~ude~1\Y -h\G{zϔ5RKpcP0r_Q4X#uo`u@ܓ_ 7]pԵ{cZM܆Aj29xF0㈣Hs'\b/+vVqi@DrkM<G!3c_ke
-J¹<iE/\QyYnTbNtn;ObP!pL5l7}O }vʵpVuڽmȢ`m]ㅾC+=Lv{ʠBǗPZ>Cvv0O݄I^;FxYjSD:n{4bTH?xd
-pۙ#_0 7S//ξ*}? /Z۲i/_6-T%T*:)Y HoK1'%/zp&<Re޳de92>&Ƭ["-֍q0x+ Yt_<eeymڶv&!@jP6=
-h "
-jJO8?
--xpˣbDs]zw
-endstream
+3077 0 obj
+<< /D [ 3036 0 R /XYZ 81.145 111.511 null ] >>
endobj
3078 0 obj
-<< /Type /Page /Contents 3079 0 R /Resources 3077 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
+<< /D [ 3036 0 R /XYZ 81.145 100.552 null ] >>
endobj
-3080 0 obj
-<< /D [ 3078 0 R /XYZ 78.37 808.885 null ] >>
+3079 0 obj
+<< /D [ 3036 0 R /XYZ 81.145 89.593 null ] >>
endobj
-3081 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 768.829 null ] >>
+3080 0 obj
+<< /D [ 3036 0 R /XYZ 81.145 78.635 null ] >>
endobj
-3082 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 757.87 null ] >>
+3035 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F81 377 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3083 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 746.912 null ] >>
+<< /Filter /FlateDecode /Length 1746 >>
+stream
+xZn6+ayv:vߖ"Eۤ8(G6% q8V{ߞO/';R_Ofß9PB;+Fi1vj->~#Xz999EЭq {e
+>
+ST?DpM4xTm J rI(yYFFTeJ Wp@U%]\IBqJ^f Jz^ɜ9{. Afтj627;#OEUc-:l8:qʡŬPB}#W")cN䏭ܻN[)Քgi庇O\HHR Q1VK}ifDY%"/1$b%te,-x{PM3>ryݘ%`%4U1>/ZYJN͑̊F glPY3Wɨy@!.#sg'waM2Jyj8?GK5hsN8s ՚q>j7be$OV6=]Cv5 3T
+O+ Pqd{܃{EN4q]o8cḾ4Έ3XT#C
+ ݡndN952 )Φ_N:tkGcSK~ iqȶr (%P㿔E9_ IbI_ˀѧ:ܦ<֋_@b+ THw+a3X]gwfJE&ٳsQQ 1Lc:=-~d,nce8I1ٰsasmT`H+ͽ2VAU֮lNJ#ݼ<sO~=ߞwe[d:5p$OJSJUKs
+i~EyiHR"GJЬ٪aNStFzRjZGI +ͯN)dҖC{̑͟Bm05s+ZPljk-!Z
+v(f ZAP"5mpSmm@Z6]#Aj,t1TS7aL1{q՘Gy}K=4
+8{=Rgu0=ffڑL5q}Q$#pO#[q*YNYwU_vjvZω)Oټz^vTD y&tBSvV
+*O#}6hV<4GΏ/v"m1+H8V6`ۈֆFJzuXR`k94%RcEۀsU>Huȣ_1
+W4ˑnXL\ՌJ}F̀-ꐣLoY J\"[q2$%Pш{T؄,mIu4ŃҖK[7fV27w(\ӫz@2mjYM].s09²^sG%|w
+endstream
+endobj
+3082 0 obj
+<< /Type /Page /Contents 3083 0 R /Resources 3081 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
endobj
3084 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3082 0 R /XYZ 78.37 808.885 null ] >>
endobj
3085 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 768.829 null ] >>
endobj
3086 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 757.87 null ] >>
endobj
3087 0 obj
-<< /D [ 3078 0 R /XYZ 79.37 675.375 null ] >>
+<< /D [ 3082 0 R /XYZ 79.37 719.21 null ] >>
endobj
3088 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 657.24 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 701.076 null ] >>
endobj
3089 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 646.281 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 690.117 null ] >>
endobj
3090 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 630.341 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 674.177 null ] >>
endobj
3091 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 619.382 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 663.218 null ] >>
endobj
3092 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 608.423 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 652.259 null ] >>
endobj
3093 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 597.464 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 641.3 null ] >>
endobj
3094 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 586.506 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 630.341 null ] >>
endobj
3095 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 575.547 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 619.382 null ] >>
endobj
3096 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 564.588 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 608.423 null ] >>
endobj
3097 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 533.704 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 577.539 null ] >>
endobj
3098 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 522.745 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 566.58 null ] >>
endobj
3099 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 511.786 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 555.621 null ] >>
endobj
3100 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 500.827 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 544.662 null ] >>
endobj
3101 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 489.868 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 533.704 null ] >>
endobj
3102 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 478.909 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 522.745 null ] >>
endobj
3103 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 467.95 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 511.786 null ] >>
endobj
3104 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 456.991 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 500.827 null ] >>
endobj
3105 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 446.032 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 489.868 null ] >>
endobj
3106 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 435.073 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 478.909 null ] >>
endobj
3107 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 424.115 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 467.95 null ] >>
endobj
3108 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 413.156 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 456.991 null ] >>
endobj
3109 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 402.197 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 446.032 null ] >>
endobj
3110 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 391.238 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 435.073 null ] >>
endobj
3111 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 380.279 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 424.115 null ] >>
endobj
3112 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 369.32 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 413.156 null ] >>
endobj
3113 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 358.361 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 402.197 null ] >>
endobj
3114 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 347.402 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 391.238 null ] >>
endobj
3115 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 336.443 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 380.279 null ] >>
endobj
3116 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 325.484 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 369.32 null ] >>
endobj
3117 0 obj
-<< /D [ 3078 0 R /XYZ 79.37 288.817 null ] >>
+<< /D [ 3082 0 R /XYZ 79.37 332.652 null ] >>
endobj
3118 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 258.727 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 302.563 null ] >>
endobj
3119 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 247.768 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 291.604 null ] >>
endobj
3120 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 236.809 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 280.645 null ] >>
endobj
3121 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 225.851 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 269.686 null ] >>
endobj
3122 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 214.892 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 258.727 null ] >>
endobj
3123 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 203.933 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 247.768 null ] >>
endobj
3124 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 192.974 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 236.809 null ] >>
endobj
3125 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 182.015 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 225.851 null ] >>
endobj
3126 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 171.056 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 214.892 null ] >>
endobj
3127 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 160.097 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 203.933 null ] >>
endobj
3128 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 149.138 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 192.974 null ] >>
endobj
3129 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 138.179 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 182.015 null ] >>
endobj
3130 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 127.22 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 171.056 null ] >>
endobj
3131 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 116.261 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 160.097 null ] >>
endobj
3132 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 105.303 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 149.138 null ] >>
endobj
3133 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 94.344 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 138.179 null ] >>
endobj
3134 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 83.385 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 127.22 null ] >>
endobj
-3077 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F83 414 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+3135 0 obj
+<< /D [ 3082 0 R /XYZ 81.145 116.261 null ] >>
endobj
-3138 0 obj
-<< /Filter /FlateDecode /Length 1659 >>
-stream
-xZM6 ϯX$
-}4뺭ksxTjGޚ[-R[ٺJv~:<|3BD,wНm=*V+K=ޖyU։M\Ӡ楌Va%(-4 .fz,}O~~$y܉YȱdumJWk3n o~VqhX\긿He!κI\ΦDX L.X&a&S <WϦhbY9IkxCS|bK)+& h0?iќ5tnm2BH{x8q).̽^ j#â5+k:";c G{R"''Z`3T,j"l2[7H2-Ҏc.+܈*? qk*).zg^+>Fjb_Ty}N)ţo>/ hmm7.RԢ5839-RB=$A)pǩlavTlhʒ%e/
-ޟv\
-eTyޟu~pCu`.]ޱ=:k^fſ.!v,04<\&:v`$FןVR+SBRkaQi^Kl?K4ɽLuHU|EezCN~]:]d
-  [P,@;o9g.i(KM@n2C<J,XM8|RmNW<0??& ~xzrmd{"UǻWkz
-endstream
+3136 0 obj
+<< /D [ 3082 0 R /XYZ 81.145 105.303 null ] >>
endobj
3137 0 obj
-<< /Type /Page /Contents 3138 0 R /Resources 3136 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
-endobj
-3139 0 obj
-<< /D [ 3137 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 94.344 null ] >>
endobj
-3140 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 768.829 null ] >>
+3138 0 obj
+<< /D [ 3082 0 R /XYZ 81.145 83.385 null ] >>
endobj
-3141 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 757.87 null ] >>
+3081 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3142 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 746.912 null ] >>
+<< /Filter /FlateDecode /Length 1545 >>
+stream
+xYM6 ϯX$
+ |5"ih'q`B.H5EQJ;> e6w]C6duH+geٹ\q];Xl£S~ʩ>\}X ^؎8K%s2qvo kcVwBZ9C0K,he9"১X`@tn8Ap"Ȉ@`#Hc.Gr]DnImDүφ".$u90"Uxm5
+&@cO\LHw#+`Bkޖ5ck\).0U)HIDDdoa- ' FqZ'[:鮖PX",!tI;qM18YqXymq66tܧ^5&uykDmR4{!}q q8wfsVBv-Yv̦[B~R\/ V:0'cQZI&4j,<n? Y{œjM{Dž q|Ue ߸ֆ]˘OJ,1دrTSA!Y1iKGbeٝ(۠/pن&VMCǟ0X{#|!d|.ۻ,i]Ep67B'U*U
+endstream
+endobj
+3141 0 obj
+<< /Type /Page /Contents 3142 0 R /Resources 3140 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
endobj
3143 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3141 0 R /XYZ 78.37 808.885 null ] >>
endobj
3144 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 768.829 null ] >>
endobj
3145 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 757.87 null ] >>
endobj
3146 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 746.912 null ] >>
endobj
3147 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 735.953 null ] >>
endobj
3148 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 724.994 null ] >>
endobj
3149 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 714.035 null ] >>
endobj
3150 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 703.076 null ] >>
endobj
3151 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 692.117 null ] >>
endobj
3152 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 681.158 null ] >>
endobj
3153 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 670.199 null ] >>
endobj
3154 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 659.24 null ] >>
endobj
3155 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 648.281 null ] >>
endobj
3156 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 637.322 null ] >>
endobj
3157 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 626.364 null ] >>
endobj
3158 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 615.405 null ] >>
endobj
3159 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 604.446 null ] >>
endobj
3160 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 593.487 null ] >>
endobj
3161 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 582.528 null ] >>
endobj
3162 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 571.569 null ] >>
endobj
3163 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 516.775 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 560.61 null ] >>
endobj
3164 0 obj
-<< /D [ 3137 0 R /XYZ 79.37 480.107 null ] >>
+<< /D [ 3141 0 R /XYZ 79.37 523.943 null ] >>
endobj
3165 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 461.973 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 505.808 null ] >>
endobj
3166 0 obj
-<< /D [ 3137 0 R /XYZ 79.37 425.305 null ] >>
+<< /D [ 3141 0 R /XYZ 79.37 469.141 null ] >>
endobj
3167 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 407.171 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 451.006 null ] >>
endobj
3168 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 396.212 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 422.115 null ] >>
endobj
3169 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 385.253 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 411.156 null ] >>
endobj
3170 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 374.294 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 400.197 null ] >>
endobj
3171 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 363.335 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 389.238 null ] >>
endobj
3172 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 352.376 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 378.279 null ] >>
endobj
3173 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 341.417 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 367.32 null ] >>
endobj
3174 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 330.458 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 356.361 null ] >>
endobj
3175 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 319.499 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 345.402 null ] >>
endobj
3176 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 308.54 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 334.443 null ] >>
endobj
3177 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 297.582 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 323.484 null ] >>
endobj
3178 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 286.623 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 312.525 null ] >>
endobj
3179 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 275.664 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 301.567 null ] >>
endobj
3180 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 264.705 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 290.608 null ] >>
endobj
3181 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 253.746 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 279.649 null ] >>
endobj
3182 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 242.787 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 268.69 null ] >>
endobj
3183 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 231.828 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 257.731 null ] >>
endobj
3184 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 220.869 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 246.772 null ] >>
endobj
3185 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 209.91 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 235.813 null ] >>
endobj
3186 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 198.951 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 224.854 null ] >>
endobj
3187 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 187.992 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 213.895 null ] >>
endobj
3188 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 177.034 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 202.936 null ] >>
endobj
3189 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 166.075 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 191.978 null ] >>
endobj
3190 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 155.116 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 181.019 null ] >>
endobj
3191 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 144.157 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 170.06 null ] >>
endobj
3192 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 133.198 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 159.101 null ] >>
endobj
3193 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 122.239 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 148.142 null ] >>
endobj
3194 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 111.28 null ] >>
-endobj
-3195 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 100.321 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 137.183 null ] >>
endobj
-3136 0 obj
+3140 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3198 0 obj
-<< /Filter /FlateDecode /Length 2718 >>
+3197 0 obj
+<< /Filter /FlateDecode /Length 2737 >>
stream
-xڵn+<
-ܖ5ܒ6K!í(vSF&Y}! }&1A?_q1-+FYo?4q.>86|¨ Ώ҈v&O`{F#qW#@IO32VPR%3*i <y} H`K5 i2Be2 f•h Thׯ^FND+\h>3ۊHVD~GkF+M)B;&% n KV_4s4L(`vFX<[#zA*fʦLoE2gB  *l uXy5g
-ڧh= =6t-3<
-TP@JH0 Bd{ /VP^ <&)(WI#3;wZIуR_- XbH]#T(^nّv(A ÷W츒g6:HvI5$U%R;H`Mߓ>zڕTZΤ!rRR^=΢ZJ)'$ZH
-PiqR+/'"2eԈFG aZmּaiR3ieFoONI 4K9͔V Ͳo?<x@ΖcX߸ճ})c'1e-
-&f\ǥKg~u>*}QW>A1eu`&0GB$#3x YP]N7dFO&Z@OrӉ1ܞw 18"d#
-9}=Z_1qʕ2!M\|hXr'|rϥPÀEq`VZH+eTGAwxخ|2"4 VAtn#Tγ%GtYrKr A%Lx?T ǣ9T^+hRɹ>RLVq͵TcT~Gf3f1՚ZH3ȹ\R|\ݙ>1laa;=XeC5jZ"tO}&VСF69'10=SYwv(+n
-Ӻr1/˪>/{4"9K2Ac7w !5!B3Li\@4LK9w
-מʡ-k~<{?&hJnJ9,2H2 tFD6~ײEJX$Dr4V4dT%}$D.3Azm}Tt}L ѶXpttQ1QLI=.ܘ}Ք!7CΏaCvKǦ>K^ "vAZ1tlӚPo0ab{PIwŦ{u&kim&tn0_99 [H=jh:)zY4kT£5dOxP ⭺uAU.J SB!ymp4v/=hO|o߸#d䈯LbʩLtܿ\Gn8FoˡK84!Qk_ XYdژVVhuf8`F!v Ҫ?}3VZþT-$/sNsdu^
-wa9,} VGeneuQgq R%xA=͛(KEUo3Ħ!>x'<i:|Uz,=3@»U-78p%
+xڵn,xDj .{%m0 2CrGKKU6rh$QER,~/l_/ uqiE\ch.F Ƶ|ʹo7y9lΥ 0jè4  H\GPғ} xG3&TɌGZC=@ަA0腄64R%uqAB}a@ٷ!a?Æp%J$ZAL"
+$vcЎI G8b#|[?/響͜A} 7
+]ϖ^Ysi5Sa (wYPC<H5;[¸abzLpal(h
+,<gʎ+PA* z,d;EaP'Kx)@ BzHSdI;-פIT߯aR΁I1+FxP<ܲ#yPoq%- hmt<UJL1rR5X$좞v*3`ɸFe PEgQ\o-t'$ZH?sReuKvn5 ]?lC00{9GZYy:iGxxV8xƊQ3̈:u"Z
+ze0DݤQ{JlN4|4ߵ^c l
+uJYrͥz -Z@E.ew![vr4Si)X>I#Qv伨/
+C|2,
endstream
endobj
-3197 0 obj
-<< /Type /Page /Contents 3198 0 R /Resources 3196 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R /Annots 3248 0 R >>
+3196 0 obj
+<< /Type /Page /Contents 3197 0 R /Resources 3195 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R /Annots 3247 0 R >>
endobj
-3248 0 obj
-[ 3135 0 R ]
+3247 0 obj
+[ 3139 0 R ]
endobj
-3135 0 obj
+3139 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 745.828 246.868 758.348 ]/A << /S /GoTo /D (Hfootnote.43) >> >>
endobj
+3198 0 obj
+<< /D [ 3196 0 R /XYZ 78.37 808.885 null ] >>
+endobj
3199 0 obj
-<< /D [ 3197 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 743.055 null ] >>
endobj
3200 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 743.055 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 732.097 null ] >>
endobj
3201 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 732.097 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 721.138 null ] >>
endobj
3202 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 721.138 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 710.179 null ] >>
endobj
3203 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 710.179 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 699.22 null ] >>
endobj
3204 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 699.22 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 688.261 null ] >>
endobj
3205 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 688.261 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 677.302 null ] >>
endobj
3206 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 677.302 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 666.343 null ] >>
endobj
3207 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 666.343 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 655.384 null ] >>
endobj
3208 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 655.384 null ] >>
-endobj
-3209 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 644.425 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 644.425 null ] >>
endobj
281 0 obj
-<< /D [ 3197 0 R /XYZ 79.37 607.769 null ] >>
+<< /D [ 3196 0 R /XYZ 79.37 607.769 null ] >>
+endobj
+3209 0 obj
+<< /D [ 3196 0 R /XYZ 81.145 586.927 null ] >>
endobj
3210 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 586.927 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 571.245 null ] >>
endobj
3211 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 571.245 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 520.213 null ] >>
endobj
3212 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 520.213 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 509.254 null ] >>
endobj
3213 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 509.254 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 498.295 null ] >>
endobj
3214 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 498.295 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 487.336 null ] >>
endobj
3215 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 487.336 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 476.377 null ] >>
endobj
3216 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 476.377 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 465.418 null ] >>
endobj
3217 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 465.418 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 454.459 null ] >>
endobj
3218 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 454.459 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 443.5 null ] >>
endobj
3219 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 443.5 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 432.541 null ] >>
endobj
3220 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 432.541 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 421.582 null ] >>
endobj
3221 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 421.582 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 410.624 null ] >>
endobj
3222 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 410.624 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 399.665 null ] >>
endobj
3223 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 399.665 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 388.706 null ] >>
endobj
3224 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 388.706 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 377.747 null ] >>
endobj
3225 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 377.747 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 366.788 null ] >>
endobj
3226 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 366.788 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 355.829 null ] >>
endobj
3227 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 355.829 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 344.87 null ] >>
endobj
3228 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 344.87 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 333.911 null ] >>
endobj
3229 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 333.911 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 322.952 null ] >>
endobj
3230 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 322.952 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 311.993 null ] >>
endobj
3231 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 311.993 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 301.034 null ] >>
endobj
3232 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 301.034 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 290.076 null ] >>
endobj
3233 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 290.076 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 279.117 null ] >>
endobj
3234 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 279.117 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 268.158 null ] >>
endobj
3235 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 268.158 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 257.199 null ] >>
endobj
3236 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 257.199 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 246.24 null ] >>
endobj
3237 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 246.24 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 235.281 null ] >>
endobj
3238 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 235.281 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 224.322 null ] >>
endobj
3239 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 224.322 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 213.363 null ] >>
endobj
3240 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 213.363 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 202.404 null ] >>
endobj
3241 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 202.404 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 191.445 null ] >>
endobj
3242 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 191.445 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 180.487 null ] >>
endobj
3243 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 180.487 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 169.528 null ] >>
endobj
3244 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 169.528 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 158.569 null ] >>
endobj
3245 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 158.569 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 147.61 null ] >>
endobj
3246 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 147.61 null ] >>
+<< /D [ 3196 0 R /XYZ 93.716 89.795 null ] >>
endobj
-3247 0 obj
-<< /D [ 3197 0 R /XYZ 93.716 89.795 null ] >>
-endobj
-3196 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F81 377 0 R /F83 414 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+3195 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F81 377 0 R /F83 412 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3251 0 obj
-<< /Filter /FlateDecode /Length 1917 >>
+3250 0 obj
+<< /Filter /FlateDecode /Length 2097 >>
stream
-xZɎ6W!Y h
-"Xm盢N.p'gV>>.Rƒ.} 8)}:kGNsn4zWB-Jhj D#{YM4KFTąWA
-GJVh8{+{c I@u#i5޷s-Tp3>]RFD1+T \ꪄ; [`f
-61u.HP*Vp&)g} η '}Ix
-CM&6?>ͬZ \#- LkxxW Z 5ȣn0~=4|
+xZɎ#7W& (Z%>u3:sppg2#SjxP+$ccl,yE^~vSKj~SB^Ҫǟ?ޤ^JxG_'QRѸ;~4~on'Z
+#*D "&# +kAN
+' r
+-e7zF2E0mNӧP H?G.uh<O AX2a1&"`F2UZkE 5`E>kVe}r8veȧOHɆܘT {t(:KŹ>]GYDq=קּj=+o2
+O4zԏq(9 jhEz_ +;ΚH8u7hV\4௉sL9R+R.lTF,t,-n44&o$lK8S$n-%cY+o%"#{#2 =:n:'TXi?z\Fo=4j?+Wf 8u.kJk~#M4ۼ{Si(LE
+H*Zr|P"bT ,fPVZ'7wSްvv`baYnTU:\`vZ}R]cÀQj[N@/dj֚fޚYf7^LSem ڳYg T{˫e[
+T%}RN @V Ī%P@؁[ӽ_4\ە~dy5'}?;~vCd֮? [Ŀ;Z}NWlxZzx~1<c?v@4񔒟l&1/e ^/)zMLܺD/ Tya h5dՏm35=fAw*M
+%Wt;uMwCO#uW41{ZƵ̙
+;%MAAyݨ"gt[uȮud8L& ,lkah'϶yGVM:-#kg^ǣj7^V9 :v$Qy
endstream
endobj
-3250 0 obj
-<< /Type /Page /Contents 3251 0 R /Resources 3249 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
+3249 0 obj
+<< /Type /Page /Contents 3250 0 R /Resources 3248 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
+endobj
+3251 0 obj
+<< /D [ 3249 0 R /XYZ 78.37 808.885 null ] >>
endobj
3252 0 obj
-<< /D [ 3250 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 730.971 null ] >>
endobj
3253 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 730.971 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 720.012 null ] >>
endobj
3254 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 720.012 null ] >>
+<< /D [ 3249 0 R /XYZ 79.37 673.39 null ] >>
endobj
3255 0 obj
-<< /D [ 3250 0 R /XYZ 79.37 673.39 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 655.255 null ] >>
endobj
3256 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 655.255 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 644.296 null ] >>
endobj
3257 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 644.296 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 633.337 null ] >>
endobj
3258 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 633.337 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 622.379 null ] >>
endobj
3259 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 622.379 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 611.42 null ] >>
endobj
3260 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 611.42 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 600.461 null ] >>
endobj
3261 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 600.461 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 589.502 null ] >>
endobj
3262 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 589.502 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 578.543 null ] >>
endobj
3263 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 578.543 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 567.584 null ] >>
endobj
3264 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 567.584 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 556.625 null ] >>
endobj
3265 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 556.625 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 545.666 null ] >>
endobj
3266 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 545.666 null ] >>
+<< /D [ 3249 0 R /XYZ 79.37 497.043 null ] >>
endobj
3267 0 obj
-<< /D [ 3250 0 R /XYZ 79.37 497.043 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 466.954 null ] >>
endobj
3268 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 478.909 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 455.995 null ] >>
endobj
3269 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 467.95 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 440.055 null ] >>
endobj
3270 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 452.01 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 424.115 null ] >>
endobj
3271 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 436.07 null ] >>
+<< /D [ 3249 0 R /XYZ 79.37 385.454 null ] >>
endobj
3272 0 obj
-<< /D [ 3250 0 R /XYZ 79.37 397.41 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 367.32 null ] >>
endobj
3273 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 379.275 null ] >>
+<< /D [ 3249 0 R /XYZ 79.37 330.652 null ] >>
endobj
3274 0 obj
-<< /D [ 3250 0 R /XYZ 79.37 342.608 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 300.563 null ] >>
endobj
3275 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 312.518 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 289.604 null ] >>
endobj
3276 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 301.559 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 278.645 null ] >>
endobj
3277 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 290.6 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 267.686 null ] >>
endobj
3278 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 279.641 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 256.727 null ] >>
endobj
3279 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 268.682 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 245.768 null ] >>
endobj
3280 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 257.724 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 234.809 null ] >>
endobj
3281 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 246.765 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 223.851 null ] >>
endobj
3282 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 235.806 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 212.892 null ] >>
endobj
3283 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 224.847 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 201.933 null ] >>
endobj
3284 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 213.888 null ] >>
-endobj
-3285 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 202.929 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 190.974 null ] >>
endobj
-3249 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F83 414 0 R /F74 337 0 R /F65 335 0 R /F75 338 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+3248 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F83 412 0 R /F74 337 0 R /F65 335 0 R /F75 338 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3289 0 obj
-<< /Filter /FlateDecode /Length 2228 >>
+3288 0 obj
+<< /Filter /FlateDecode /Length 2243 >>
stream
-x[Ɏ6WL4=1[>%/!".bŇ4TzU,Z(—OO
-\&WCYhЄ'Z6|ӋqzB]9 KҾ:{}ph+P TsT^RD%fͅ`<x`R)3 bùE(mYNE 6wIs^PE =Ȟ -ƅܥqK˙b
-EC"Ԟ)S/45c^DUf+(ǔS}M^R23&F*-Ӡ>"iX{IG||UzJFsY`6u4={I{|"f эv ̈>S1gD\%FAR=bUPS{Ɍ3:H9pr
-H{A{ĺsmnZyTV0k :1HؑJ*;kriS8H)k\Zog WyscIng♻{&5ͯrgΈ AsfB;fgty5/-$y`Bֲ0Jfe^)rARP\2#*x00o1'$5_a.' bgh EӊROyxZsXSl0 j;ei:kە5Fbn_ݏV0 Ǚ~D5lr˄;4q r`^uQxM*ƣotwx]Kk
-M)/-}zUYh#
-1%-~~2sqr;-WF%u]m/ϷQ7UY
-ʓ  \+aeZ&Z۷JRۄxMmDع-IےN~ŵ(̂4.X!
-msy%nrIP3^9X^
-L=} ,q{IX
-590ŧ4}p&{eWڤh$ duJMS` 2oLdn}Y^7J;ll _5M^Rd#חYfzzFQU@TKEӲTܗ-)A/Ri5[AG혞; @ED,3B`AI?)aFBx4$Q
+xڵZn,+./Y|d$^97xOGsF]JhMO"&O(g=)!7(߼SB:}~y);MWUJmꥴSx\UMWPnx-O)?6nFĠ4r(7^.^0T=-6=J"Ba*U&
+RgVdu 厗ǧBXɬ(&G`(ELZ70̀ EW/Haùnwe&J[ZE9WkYET>ܥfڵ`x(g9S h1e)|4|qk  E'xHWu4soA}Ppo̓QT7r
+9"Jc-ONsQo&
+,b_Qw\UF+#W_aFlA
endstream
endobj
-3288 0 obj
-<< /Type /Page /Contents 3289 0 R /Resources 3287 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R /Annots 3339 0 R >>
+3287 0 obj
+<< /Type /Page /Contents 3288 0 R /Resources 3286 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R /Annots 3337 0 R >>
endobj
-3339 0 obj
-[ 3286 0 R ]
+3337 0 obj
+[ 3285 0 R ]
endobj
-3286 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 434.994 246.868 447.514 ]/A << /S /GoTo /D (Hfootnote.44) >> >>
+3285 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 428.892 246.868 441.412 ]/A << /S /GoTo /D (Hfootnote.44) >> >>
+endobj
+3289 0 obj
+<< /D [ 3287 0 R /XYZ 78.37 808.885 null ] >>
endobj
3290 0 obj
-<< /D [ 3288 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3287 0 R /XYZ 79.37 773.016 null ] >>
endobj
3291 0 obj
-<< /D [ 3288 0 R /XYZ 79.37 773.016 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 754.969 null ] >>
endobj
3292 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 726.252 null ] >>
endobj
3293 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 715.293 null ] >>
endobj
3294 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 732.964 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 704.334 null ] >>
endobj
3295 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 693.375 null ] >>
endobj
3296 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 711.046 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 682.416 null ] >>
endobj
3297 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 700.087 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 671.457 null ] >>
endobj
3298 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 689.128 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 660.498 null ] >>
endobj
3299 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 678.169 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 649.539 null ] >>
endobj
3300 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 638.58 null ] >>
endobj
3301 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 627.621 null ] >>
endobj
3302 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 616.663 null ] >>
endobj
3303 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 605.704 null ] >>
endobj
3304 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 594.745 null ] >>
endobj
3305 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 583.786 null ] >>
endobj
3306 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 572.827 null ] >>
endobj
3307 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 561.868 null ] >>
endobj
3308 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 550.909 null ] >>
endobj
3309 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 539.95 null ] >>
endobj
3310 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 528.991 null ] >>
endobj
3311 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 518.032 null ] >>
endobj
3312 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 507.073 null ] >>
endobj
3313 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 478.356 null ] >>
endobj
3314 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 513.786 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 426.077 null ] >>
endobj
3315 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 484.894 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 415.118 null ] >>
endobj
3316 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 432.092 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 404.16 null ] >>
endobj
3317 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 421.133 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 393.201 null ] >>
endobj
3318 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 410.174 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 382.242 null ] >>
endobj
3319 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 399.215 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 371.283 null ] >>
endobj
3320 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 388.256 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 360.324 null ] >>
endobj
3321 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 377.298 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 349.365 null ] >>
endobj
3322 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 366.339 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 338.406 null ] >>
endobj
3323 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 355.38 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 327.447 null ] >>
+endobj
+285 0 obj
+<< /D [ 3287 0 R /XYZ 79.37 290.547 null ] >>
endobj
3324 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 344.421 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 269.704 null ] >>
endobj
3325 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 333.462 null ] >>
-endobj
-285 0 obj
-<< /D [ 3288 0 R /XYZ 79.37 296.05 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 258.745 null ] >>
endobj
3326 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 275.208 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 247.786 null ] >>
endobj
3327 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 264.249 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 236.828 null ] >>
endobj
3328 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 253.29 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 225.869 null ] >>
endobj
3329 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 242.331 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 214.91 null ] >>
endobj
3330 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 231.372 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 203.951 null ] >>
endobj
3331 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 220.413 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 192.992 null ] >>
endobj
3332 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 209.455 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 182.033 null ] >>
endobj
3333 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 198.496 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 171.074 null ] >>
endobj
3334 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 187.537 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 131.747 null ] >>
endobj
3335 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 176.578 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 120.788 null ] >>
endobj
3336 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 136.727 null ] >>
+<< /D [ 3287 0 R /XYZ 93.716 89.795 null ] >>
endobj
-3337 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 125.768 null ] >>
-endobj
-3338 0 obj
-<< /D [ 3288 0 R /XYZ 93.716 94.776 null ] >>
-endobj
-3287 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F59 346 0 R /F84 425 0 R /F74 337 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+3286 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3342 0 obj
-<< /Filter /FlateDecode /Length 2522 >>
+3340 0 obj
+<< /Filter /FlateDecode /Length 2518 >>
stream
-x[n$-)`MɲTiξ:s[%I/j˕A`J7j. an_yc7jM+FbNzP7ywu`n͐M)nJF5Z$} o/th''v?@8"9R38B˥%%BWc5|#L=z0YŔ7M60-W B JIQ=VQjŪ&
-%p}s^KW(VBƧ[xP߃A ؝#W-0DOY=wOMҙ=?#d*WorO{8 !]@pjԎMeڝ9)G0aN;;4O܅pk՚:c6{^şiK@8䶥hhMA*AagvꌌVB~yN
-pQr{ O<現ޅp<J={:~:+\"&CG'S[Z8@A
-XC@D)1֚^hʻfe ЌW̋ǜx7M]I]]IӲ@\H Dd/e -kLWɍIѥEb>u/
-.h>b4
-9E:1/y KY\|}Z81i˴5MՀG={flꮁ<{^ށ!{D؋=hy*7~3Ƣ9?ԢjM4;[GV8%sFOE1 ~ {!d-][ "ij\mc=Q5g;qev5S)r3g3z_L?ŸC(|['S]*iW#T'vȶ-1ѥ_jvȽcWnVzG!6¤*ij!! ar5@Uǥ ף0X>tr8L5FF>q{S E M,< V%u_ +f1]S9L&U3Qɯ4%`a2EXaݭ|b=g^aB-/ rC|l9i;H(l\xxs,
-~$b1Kkxo-a0;mq)""'9y7-Yrȇ`%OhuɬX=DBg{9 ?pFy9}2Duv5A
+x[n$-)`MɲTiξ:s[%I/j˕A`J7j. an_yc7jM+FbNzP7?ߨPw#nlJqS0 "~{ٟ'@Ә<>)>=~DZGoAy*qz^./d,)a26aу!*G/tiiXjPJ걢W4-P$0.V4]A5cD̼:L}ҏ+`bm7Ƭ job%8!8
+JyeޙmV `uW(Ao뛦@x _\*E':6>݂;O
+ {Am(c9m=V.9lݪ@ 1emeKcN8'o:yi'5U](WY`坡[oX"Ok%WlgGL I,LcJJȮǚpk w?["}ɡkRmkM/F4]zh+} UcN<ZȮiY .[$XRir2ח25&̂+Ƥ" WlwypӺ4x|1sIX̰hj"tןjk =Ԫ(B~>=4^5ۿ9L/b35:r,x\J௨5\1_*Vps?QĨn,P5u"
+,.>R-{eڃz&j@w#v=3[Fu@I/A=XrEE4¼g\zcEJrLjQ&{-f+9 W#'_FBF?B醽2_oiYTͶvgȳu긲S ˩R9/m&D]ab\L[)kvܫyn;d˜/C |;1+T7|PaRu5H퐐Mw9Yj*RdQ,kp^9uq y#zG8RAǽ΢&MgZ+MǺ~c3ή)fժΙ ˨Qc0",0j劀VkN vB3G/ R0~b{D9!>6[ڜw[THIfzP̵l+0I,aόvtťGDТ
+N.s "VrFHA;$ xGB4A".w ʃ]iyA$Oוb g^[(pK("D{d>vS`~9ҵ3޼"}}gףLæQК"Y B6{񍷈"TODC?5jl|w D:'Uhas ̤n.Mokpu%f5-[,/:ߗ[ 8uUxq_u`5~@^Ibh?%y5HSxS#l#A¾/{Ư'$-JGsb<Vηr#Ɗ鯋u qB|s&bEݵdU|PƺFGOalzBOKRxw̚jj!rCjo_d&L.Gb)7H(WɗiI@vlu_i4Ho
endstream
endobj
+3339 0 obj
+<< /Type /Page /Contents 3340 0 R /Resources 3338 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
+endobj
3341 0 obj
-<< /Type /Page /Contents 3342 0 R /Resources 3340 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
+<< /D [ 3339 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3342 0 obj
+<< /D [ 3339 0 R /XYZ 81.145 768.829 null ] >>
endobj
3343 0 obj
-<< /D [ 3341 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 757.87 null ] >>
endobj
3344 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 746.912 null ] >>
endobj
3345 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 735.953 null ] >>
endobj
3346 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 724.994 null ] >>
endobj
3347 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 663.225 null ] >>
endobj
3348 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 652.266 null ] >>
endobj
3349 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 663.225 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 641.308 null ] >>
endobj
3350 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 652.266 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 630.349 null ] >>
endobj
3351 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 641.308 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 619.39 null ] >>
endobj
3352 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 630.349 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 608.431 null ] >>
endobj
3353 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 619.39 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 597.472 null ] >>
endobj
3354 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 608.431 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 586.513 null ] >>
endobj
3355 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 597.472 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 575.554 null ] >>
endobj
3356 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 586.513 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 564.595 null ] >>
endobj
3357 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 575.554 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 553.636 null ] >>
endobj
3358 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 564.595 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 542.677 null ] >>
endobj
3359 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 553.636 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 531.719 null ] >>
endobj
3360 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 542.677 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 520.76 null ] >>
endobj
3361 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 531.719 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 509.801 null ] >>
endobj
3362 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 520.76 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 498.842 null ] >>
endobj
3363 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 509.801 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 487.883 null ] >>
endobj
3364 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 498.842 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 476.924 null ] >>
endobj
3365 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 487.883 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 465.965 null ] >>
endobj
3366 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 476.924 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 455.006 null ] >>
endobj
3367 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 465.965 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 444.047 null ] >>
endobj
3368 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 455.006 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 433.088 null ] >>
endobj
3369 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 444.047 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 395.23 null ] >>
endobj
3370 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 433.088 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 384.271 null ] >>
endobj
3371 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 395.23 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 373.313 null ] >>
endobj
3372 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 384.271 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 362.354 null ] >>
endobj
3373 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 373.313 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 351.395 null ] >>
endobj
3374 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 362.354 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 325.492 null ] >>
endobj
3375 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 351.395 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 314.533 null ] >>
endobj
3376 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 325.492 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 303.574 null ] >>
endobj
3377 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 314.533 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 292.615 null ] >>
endobj
3378 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 303.574 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 281.656 null ] >>
endobj
3379 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 292.615 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 270.697 null ] >>
endobj
3380 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 281.656 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 259.738 null ] >>
endobj
3381 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 270.697 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 248.78 null ] >>
endobj
3382 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 259.738 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 237.821 null ] >>
endobj
3383 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 248.78 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 226.862 null ] >>
endobj
3384 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 237.821 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 215.903 null ] >>
endobj
3385 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 226.862 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 204.944 null ] >>
endobj
3386 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 215.903 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 193.985 null ] >>
endobj
3387 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 204.944 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 183.026 null ] >>
endobj
3388 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 193.985 null ] >>
+<< /D [ 3339 0 R /XYZ 79.37 160.314 null ] >>
endobj
3389 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 183.026 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 142.179 null ] >>
endobj
-3390 0 obj
-<< /D [ 3341 0 R /XYZ 79.37 160.314 null ] >>
-endobj
-3391 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 142.179 null ] >>
-endobj
-3340 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 414 0 R /F74 337 0 R /F81 377 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+3338 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F81 377 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3394 0 obj
-<< /Filter /FlateDecode /Length 1761 >>
+3392 0 obj
+<< /Filter /FlateDecode /Length 1940 >>
stream
-xZn9+aXE0 ER96i^.,EAC[2ZH}rzzE<D:{x }w_Fڤ imOoe{¤x*0 K
-̘.t V!$n΄-N*bd2 !^E
-EhƲȵH@wqV%"}967-*5j(2S J*&__[%kRֹ{˟'Gh
-mz&LYd$9VuU?=~N4f~^p)/X޾w>5r-3m)biBǬy$5Űkp { =Wm[0kqٟg}o7U:A0cAAip-HtW"af<yHhSRaq[R,m,UZ
-}h-wc޶aI` )B>I0&@QSQ-WM.{hiM.4$hkZPr[.vvLNLοG>/\].JN pZ*"e%Vgit]֢l\h?<F&tLg8{,q>F|[\eGتhKdkqv!A9k؋huH5r6']rXA/Rct͗5_09U4F_6
-Pb @{pAQڰ\i
-3D,~-pdZZ/NbH*b-dk6;М)[ޱ?XU\AFYo }Q,Ѧ˛GM+#M7T T9mgu
-< :UrS:7m+,cx}85v >Xt=%>oFV\dsk2,1cKKkBbhS bϲzjiа 9menv1Jۺa(Lnqn/)7|ML1(:$")`S!dI&{$ɋW}\X;'HV[AqZփ놼!\ 4+m:HOM
-+D$pkʹGjem` m$s EQYJ6" 5T`k1pmη["1O9،TrgxIPۆgs,-RW#4Z ^`kĨ4"3Z*go49SꂕFF+d EF?^Irc)
+xZKo8 WV"E= LgR`Ϲ-{]ђ4!c˟>{ҧ_._x8E8{zIɜ|TO9wEk
+#h礐@8KZK^ײ AR?ݏn'>cs6(AYh¦S2MܲҖ&0I(tfwX/ kmj]E^Q޼ɒ:{w5YH$e΂lFsNY\+FS$g6e}dO]
+inSC=r؇0^D9dPa8gp/~P cTLT\K B -7[gWwsjSɱMj35N:E{$:oY!iߖqM&(*g^.ѝ~n+)VRIUPRA=jq(.a1"QhgfG6g^*>Z{7RZKް IjN:װS>NepG'mpY*55qYOȚd0N7˚g_aRP Y9VFIN>W#W:l5T$9Mz`{+z,yFx|`AI5( $~'3"q-~d(M 9MN[5y]rS5C^MlSK$C'/+ա:.R\U-IEace5d.]/ลe EP$N:{9v+y$+0R8*"YV;ڢ/u
+ QhMZw܀(YcTnߤsAZ>0]l{{<e0O<yI^X{D4* 1t!%hDLJ}D*׾T~SU"z*`ƬU#(EDDΑR'D5@
+<׮HbS=>^W?_Saib`DԻJXшB <Cckh
+u1#dLDCnVhK|);' |2>ӑ;YZ?6n_'
endstream
endobj
+3391 0 obj
+<< /Type /Page /Contents 3392 0 R /Resources 3390 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
+endobj
3393 0 obj
-<< /Type /Page /Contents 3394 0 R /Resources 3392 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
+<< /D [ 3391 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3394 0 obj
+<< /D [ 3391 0 R /XYZ 79.37 773.016 null ] >>
endobj
3395 0 obj
-<< /D [ 3393 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 741.13 null ] >>
endobj
3396 0 obj
-<< /D [ 3393 0 R /XYZ 79.37 773.016 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 730.171 null ] >>
endobj
3397 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 714.426 null ] >>
endobj
3398 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 698.682 null ] >>
endobj
3399 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 727.983 null ] >>
+<< /D [ 3391 0 R /XYZ 79.37 660.693 null ] >>
endobj
3400 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 712.042 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 630.701 null ] >>
endobj
3401 0 obj
-<< /D [ 3393 0 R /XYZ 79.37 673.382 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 619.742 null ] >>
endobj
3402 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 643.293 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 608.784 null ] >>
endobj
3403 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 632.334 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 597.825 null ] >>
endobj
3404 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 621.375 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 586.866 null ] >>
endobj
3405 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 610.416 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 575.907 null ] >>
endobj
3406 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 599.457 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 564.948 null ] >>
endobj
3407 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 588.498 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 553.989 null ] >>
endobj
3408 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 577.539 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 543.03 null ] >>
endobj
3409 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 566.58 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 532.071 null ] >>
endobj
3410 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 555.621 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 521.112 null ] >>
endobj
3411 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 544.662 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 510.153 null ] >>
endobj
3412 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 533.704 null ] >>
+<< /D [ 3391 0 R /XYZ 79.37 474.059 null ] >>
endobj
3413 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 522.745 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 456.023 null ] >>
endobj
3414 0 obj
-<< /D [ 3393 0 R /XYZ 79.37 486.077 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 440.278 null ] >>
endobj
3415 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 467.943 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 429.32 null ] >>
endobj
3416 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 456.984 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 418.361 null ] >>
endobj
3417 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 446.025 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 407.402 null ] >>
endobj
3418 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 435.066 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 396.443 null ] >>
endobj
3419 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 424.107 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 385.484 null ] >>
endobj
3420 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 413.148 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 374.525 null ] >>
endobj
3421 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 402.189 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 363.566 null ] >>
endobj
3422 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 391.23 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 352.607 null ] >>
endobj
3423 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 380.271 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 341.648 null ] >>
endobj
3424 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 369.313 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 330.689 null ] >>
endobj
3425 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 358.354 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 319.73 null ] >>
endobj
3426 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 347.395 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 308.772 null ] >>
endobj
3427 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 336.436 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 297.813 null ] >>
endobj
3428 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 325.477 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 286.854 null ] >>
endobj
3429 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 314.518 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 275.895 null ] >>
endobj
3430 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 303.559 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 264.936 null ] >>
endobj
3431 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 292.6 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 253.977 null ] >>
endobj
3432 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 281.641 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 243.018 null ] >>
endobj
3433 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 270.682 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 232.059 null ] >>
endobj
3434 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 259.724 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 221.1 null ] >>
endobj
3435 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 248.765 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 210.141 null ] >>
endobj
3436 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 237.806 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 199.183 null ] >>
endobj
3437 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 226.847 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 188.224 null ] >>
endobj
3438 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 215.888 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 177.265 null ] >>
endobj
3439 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 204.929 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 166.306 null ] >>
endobj
3440 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 193.97 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 155.347 null ] >>
endobj
3441 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 183.011 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 144.388 null ] >>
endobj
3442 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 172.052 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 133.429 null ] >>
endobj
3443 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 161.093 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 122.47 null ] >>
endobj
3444 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 150.134 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 111.511 null ] >>
endobj
3445 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 139.176 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 100.552 null ] >>
endobj
3446 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 128.217 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 89.593 null ] >>
endobj
3447 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 117.258 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 78.635 null ] >>
endobj
-3448 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 106.299 null ] >>
+3390 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3449 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 95.34 null ] >>
+3451 0 obj
+<< /Filter /FlateDecode /Length 2212 >>
+stream
+xZn7+L4&oIt3rJ_Cr笠/5G6cܭ^_9S׍?ݝmȜ?,0тq-oۗsiQ{|=Aݟ-n9mqh& HhsLPsGG%Ώ(zZѓ(HW⳿V|vjB6T_xN]tL;W S?Gt6J߾M2@9Lc ͌2#ҫL2AC̘5&=5ϴFm-ݔ{:58_aF<"ڀ p@7"/j00
+I\Q_zޤKӏ?MD}AS~y1I$;<Ey=f-%lTP
+Z{1S9шA(yǢ󔫞EIˬE$#]*A8loD],nUʠT)2.3P,l3ap3|SVT$;g<3_cM~80.G2Z-uPQr%(W5g97T4$nPb'Z/q;Vbȸ$dHI4/kT:%op܁G-x2M/ RDl>;929)%QiĦإ؆VYrm_>Uo9ѳ~ܫT~RnWyPʐR `UUO5ˆ\Z?ij)C @?ZݗOn n%+~xu3̡0En ޼gް@%z(`ۜ&\
+*fH\U"}9Xd(iBu!,H>%mRKH&Q[$%ƍHMjRhߺYS
+\G̛zGrKjذYN祣g('d~AI^
+<.E)%a&,K#UeC|ٗ&\@3{1X‚]kjYiZ$Xɵil/RG=ՂhͼƺeT}VʪvzZdi!fFVt>|hMKʹk-)g!3ֆR}6DO
+e_/oS8hYm/PJ q^M>ɐ:L; @.>j-fm.>^dk8daޖ˪{㾜|T\J>$3Ag)nC"}e7J
+endstream
endobj
3450 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 84.381 null ] >>
+<< /Type /Page /Contents 3451 0 R /Resources 3449 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R /Annots 3503 0 R >>
endobj
-3392 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
+3503 0 obj
+[ 3448 0 R ]
endobj
-3454 0 obj
-<< /Filter /FlateDecode /Length 2169 >>
-stream
-xڵZn#7+IW`YV%m0K\aqiza~Ekmz8?<]?(
-h2HL&r6lNh{f-܌aJN$n=RoP/Ĺf#qu'{EOk_W^z[$S2sluK^nߜh{Lܢ ` g||E=َ/:Dy!Y)^N;EGk杁ZblpYB03(#ͫ>:z#,M#UyXXcN3aɗe#!?d *OUz49 5bWsλt~jcuKDRdA/eRR-ֆ99{$GR3z %+(R^G$2|g 0!G7v<~֬icW4sƭ֙y H < wyn +c@XZɨmX-fQjFܫ[nj1m༤ws,+qͧU+NqY-Ώ$܆\LizqøXڏVΡd@N4ӺS9Kߤ]w{UbSu+ύ
-l bSH<S[T#_ʝ4;HؔI}|VݭdʣKge~MG?do:C}NܫT[iW59:!.]p-js퟼ E32</E3o~a|[K0 7)%oq,0f׹%Կ/Cbltg2՞3kkn}_*\;UQzeUv&<٪ @UA]VH_I&Yߙ = @0A
-IP>}W1 +MJ.\)>[^K%6^`ᖋ7*v@MF;_Ơ}+qMfEOͲRzNRbRLpf%a@ Ӻ^@2`҃S"cԯ,!" FʹR+^{S«Gop)Z1RZZit@)EaHL2܀C>^]J*̗N(q
-5/FQmiuM 8<E5g/]XMSn
-Sa -)iCn~+O_C,k~<|yƸ8GPpŌ<sيCX'ku7.\aLH(C.^;lX{ߖ TJ@z:ϝxPzE J7rbI@Xن&
-endstream
+3448 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 445.953 246.868 458.542 ]/A << /S /GoTo /D (Hfootnote.45) >> >>
endobj
-3453 0 obj
-<< /Type /Page /Contents 3454 0 R /Resources 3452 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R /Annots 3507 0 R >>
+3452 0 obj
+<< /D [ 3450 0 R /XYZ 78.37 808.885 null ] >>
endobj
-3507 0 obj
-[ 3451 0 R ]
+3453 0 obj
+<< /D [ 3450 0 R /XYZ 81.145 768.829 null ] >>
endobj
-3451 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 463.885 246.868 476.475 ]/A << /S /GoTo /D (Hfootnote.45) >> >>
+3454 0 obj
+<< /D [ 3450 0 R /XYZ 81.145 757.87 null ] >>
endobj
3455 0 obj
-<< /D [ 3453 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 746.912 null ] >>
endobj
3456 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 735.953 null ] >>
endobj
3457 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 720.012 null ] >>
endobj
3458 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 728.979 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 689.128 null ] >>
endobj
3459 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 718.02 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 678.169 null ] >>
endobj
3460 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 707.061 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 667.21 null ] >>
endobj
3461 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 696.102 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 656.252 null ] >>
endobj
3462 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 685.143 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 645.293 null ] >>
endobj
3463 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 674.184 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 634.334 null ] >>
endobj
3464 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 663.225 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 623.375 null ] >>
endobj
3465 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 652.266 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 612.416 null ] >>
endobj
3466 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 641.308 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 601.457 null ] >>
endobj
3467 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 630.349 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 590.498 null ] >>
endobj
3468 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 619.39 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 579.539 null ] >>
endobj
3469 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 608.431 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 568.58 null ] >>
endobj
3470 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 597.472 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 557.621 null ] >>
endobj
3471 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 586.513 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 546.662 null ] >>
endobj
3472 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 575.554 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 535.704 null ] >>
endobj
3473 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 564.595 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 524.745 null ] >>
endobj
3474 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 553.636 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 495.853 null ] >>
endobj
3475 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 542.677 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 443.051 null ] >>
endobj
3476 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 513.786 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 432.092 null ] >>
endobj
3477 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 460.984 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 421.133 null ] >>
endobj
3478 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 450.025 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 410.174 null ] >>
endobj
3479 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 439.066 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 399.215 null ] >>
endobj
3480 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 428.107 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 388.256 null ] >>
endobj
3481 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 417.148 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 377.298 null ] >>
endobj
3482 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 406.189 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 366.339 null ] >>
endobj
3483 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 395.23 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 355.38 null ] >>
endobj
3484 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 384.271 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 344.421 null ] >>
+endobj
+289 0 obj
+<< /D [ 3450 0 R /XYZ 79.37 321.953 null ] >>
endobj
3485 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 373.313 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 301.111 null ] >>
endobj
3486 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 362.354 null ] >>
-endobj
-289 0 obj
-<< /D [ 3453 0 R /XYZ 79.37 339.886 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 290.152 null ] >>
endobj
3487 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 319.044 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 279.193 null ] >>
endobj
3488 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 308.085 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 268.234 null ] >>
endobj
3489 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 297.126 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 257.275 null ] >>
endobj
3490 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 286.167 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 246.316 null ] >>
endobj
3491 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 275.208 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 235.357 null ] >>
endobj
3492 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 264.249 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 224.398 null ] >>
endobj
3493 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 253.29 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 213.44 null ] >>
endobj
3494 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 242.331 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 202.481 null ] >>
endobj
3495 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 231.372 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 191.522 null ] >>
endobj
3496 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 220.413 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 180.563 null ] >>
endobj
3497 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 209.455 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 169.604 null ] >>
endobj
3498 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 198.496 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 158.645 null ] >>
endobj
3499 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 187.537 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 147.686 null ] >>
endobj
3500 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 176.578 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 136.727 null ] >>
endobj
3501 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 165.619 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 125.768 null ] >>
endobj
3502 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 154.66 null ] >>
+<< /D [ 3450 0 R /XYZ 93.716 95.962 null ] >>
endobj
-3503 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 143.701 null ] >>
+3449 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F16 336 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3504 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 132.742 null ] >>
+3506 0 obj
+<< /Filter /FlateDecode /Length 2221 >>
+stream
+x[n$+LC@Z\fhsW $*nirg: N
+'pZHm,#4E2e7S`‘fmRʆLFAʞn^kL.Oϲؿu1%:½@ ^&l=D'L$Iop+k6<|.)+^y7g~lh8ph% `y A@x81Jv,aS}VoRf<UH_l }0t:3'o}7P#S{!)5;f,50WovT<%f2Ui0ʒ1*AG^T92.H$s%ak/ |57<&AUk:uDxx$t?G35%]wkUX<3.lxUZY.b
+G[5hD>LBJ-olpIQP[RԬ\>z`d(Ĵ2Vxp$p\!(̠͡ %9uG6Rjk[t?H21Dm԰4ki~p\}䂝ho>@k!4֎V_)u
+!5P8ߎs^m%H~,~&J+vPPX5'JGwɍВ=Hjqq*8R9R<Ԩj\ ОsqdV D޺ (PL#ҩ9ff2B;S24^ja$P3H)&B{kvMh񒒦>jr#СpyRPL]HL)- ֒3G(uK*89ok܇v#snғ<GJkugo4]ɗ\Dz']WuxM~";yxiQo@#Bؼ5XaIW\ez x>DsunbJeP8MfXY)Q;h+~Lu</ S0y;Ҥ3F8w)Ѯ.]GJIpA"pI s6~OCx4̕DH"z`Ry=ЉA, .-![ "8G,#vxZcТfn'}JTp:g9W4:yVKv"l $-j1WQC}rBIEk's">kw 픶;؟)/d|$UvHOIdP̅oPg0a
+})|<[yX%5}*߷35}|PXrHVrZEJ#Bmi\C_7oE{YH"f= B*4Y2X1RfԫSʂrj:!vYP mR2RhID(M4֥jnӄ]+Wt ;g%G!cpdm| )/nORԦ\ҷ?P8JWI/
+H<鍔cٽ
+DIVDh<Q`8VQ&¡ jͮ'Jy3V+4Sfaj.t*c;oݷzpjñx"D0}oH:׊@o;DcUE~[!)T|=
+endstream
endobj
3505 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 121.783 null ] >>
+<< /Type /Page /Contents 3506 0 R /Resources 3504 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
-3506 0 obj
-<< /D [ 3453 0 R /XYZ 93.716 90.677 null ] >>
-endobj
-3452 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F16 336 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+3507 0 obj
+<< /D [ 3505 0 R /XYZ 78.37 808.885 null ] >>
endobj
-3510 0 obj
-<< /Filter /FlateDecode /Length 2056 >>
-stream
-x[K6r
-(a{~XMi:ܮ6aƫҲe[G]`lEfoִ0rBO0=Cxu˔-vќl݅Sicz9^Norqk,'i6(T0e׋R;CfQ":Ck CdZ}yq.gű1<yl2eO!O8Y2"&'IHc :p4̏#RGcX3Rڼ?ӎ6
-B0,g#RGk퓐#Z#tHi1XZi/
-շ,MHƃտn@cf hm>' 3Ԩx2f4KP#GޚѦ
-$N@#\/Ru߹T˔orX!#\dE#ښHLK8l=9+Ψl"Xje;P#Y@z`o+Mv`cn3I!cI< ?_TjZKv(ʲ3lۉ
-h bܵ|8W%@gv{E4Wڝv xztؤ-'PU7!giZP)VOa{lJ@ Wq9
-뛚VO((y:GӔQֺQڱ*O@M9hTK]A g;r]= YL7
-9X>8E/QxE4 [#
-endstream
+3508 0 obj
+<< /D [ 3505 0 R /XYZ 81.145 768.829 null ] >>
endobj
3509 0 obj
-<< /Type /Page /Contents 3510 0 R /Resources 3508 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
+<< /D [ 3505 0 R /XYZ 81.145 728.979 null ] >>
+endobj
+3510 0 obj
+<< /D [ 3505 0 R /XYZ 81.145 718.02 null ] >>
endobj
3511 0 obj
-<< /D [ 3509 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 707.061 null ] >>
endobj
3512 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 696.102 null ] >>
endobj
3513 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 685.143 null ] >>
endobj
3514 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 674.184 null ] >>
endobj
3515 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 663.225 null ] >>
endobj
3516 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 652.266 null ] >>
endobj
3517 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 641.308 null ] >>
endobj
3518 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 630.349 null ] >>
endobj
3519 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 619.39 null ] >>
endobj
3520 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 608.431 null ] >>
endobj
3521 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 597.472 null ] >>
endobj
3522 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 586.513 null ] >>
endobj
3523 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 575.554 null ] >>
endobj
3524 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 564.595 null ] >>
endobj
3525 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 553.636 null ] >>
endobj
3526 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 542.677 null ] >>
endobj
3527 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 531.719 null ] >>
endobj
3528 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 520.76 null ] >>
endobj
3529 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 509.801 null ] >>
endobj
3530 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 498.842 null ] >>
endobj
3531 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 487.883 null ] >>
endobj
3532 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 476.924 null ] >>
endobj
3533 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 465.965 null ] >>
endobj
3534 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 455.006 null ] >>
endobj
3535 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 516.775 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 444.047 null ] >>
endobj
3536 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 505.816 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 433.088 null ] >>
endobj
3537 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 494.857 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 422.129 null ] >>
endobj
3538 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 483.898 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 411.171 null ] >>
endobj
3539 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 472.939 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 400.212 null ] >>
endobj
3540 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 461.98 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 389.253 null ] >>
endobj
3541 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 451.021 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 378.294 null ] >>
endobj
3542 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 440.062 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 367.335 null ] >>
endobj
3543 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 356.376 null ] >>
endobj
3544 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 418.144 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 345.417 null ] >>
endobj
3545 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 407.186 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 334.458 null ] >>
endobj
3546 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 396.227 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 323.499 null ] >>
endobj
3547 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 385.268 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 312.54 null ] >>
endobj
3548 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 374.309 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 301.582 null ] >>
endobj
3549 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 363.35 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 290.623 null ] >>
endobj
3550 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 279.664 null ] >>
endobj
3551 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 341.432 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 268.705 null ] >>
endobj
3552 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 330.473 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 257.746 null ] >>
endobj
3553 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 319.514 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 246.787 null ] >>
endobj
3554 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 308.555 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 235.828 null ] >>
endobj
3555 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 297.596 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 224.869 null ] >>
endobj
3556 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 286.638 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 213.91 null ] >>
endobj
3557 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 275.679 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 202.951 null ] >>
endobj
3558 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 264.72 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 191.992 null ] >>
endobj
3559 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 253.761 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 181.034 null ] >>
endobj
3560 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 242.802 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 170.075 null ] >>
endobj
3561 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 231.843 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 159.116 null ] >>
endobj
3562 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 220.884 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 148.157 null ] >>
endobj
3563 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 209.925 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 137.198 null ] >>
endobj
3564 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 198.966 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 126.239 null ] >>
endobj
3565 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 188.007 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 115.28 null ] >>
endobj
3566 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 177.049 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 104.321 null ] >>
endobj
3567 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 166.09 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 93.362 null ] >>
endobj
3568 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 155.131 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 82.403 null ] >>
endobj
-3569 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 144.172 null ] >>
+3504 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3570 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 133.213 null ] >>
+3572 0 obj
+<< /Filter /FlateDecode /Length 2384 >>
+stream
+x[n:)GG@s 0Yo/iI$gpı?#ERߋĿx~x1"uO]g.)!|W)__ߟ|P\P(6#i|H R DV
+%}N)BQE~YW{G _әtqlm;p(ќ~:"}) P(<cӱE"NVI?;:G>%=Msu5rl`Ezl鞳6R^
+/6@q[vr:3ԭ~Oŗkebj9"&~LGA(X^^OPݳpJNkĨ
+#ًOǡHC
+6Rx ꊐc_ io"*\6eW?8=[a |غH_K>MN(,k*/KG;JTWVCy%"[ ˝ޖ{MwP^|!u.s̲UւJ+O%=dND{|CMCyj/-K4sJZYKkQ+D/q^7>5sqDžruiOp٢rQg >)V鳇+\PYJ.N/H$4Ob+vjb92<*H|]"Y٧1M3nEƈՌfc/4'QHi
+; 9#W,:+(믞蛏dm Ͳ
+L nlIɝzc<rL"ƈ[}d
+krDTn_ӵ]$z)@=z]V?ӑڟ[E3Tg?!h텟).Mr|\17쐞?}h`Gja$MjR(U V
+iICbt)3!
+ö0>&|n
+)| :=39m7?*}+oZtU, ><bo
+-
+hKvnq3uR){zNU:edUڇtT| BszdBKBwjfwNwj PpEiaR_,"QY(E&$!M5
+_-Uhj p(ɪ:ۃ۹eFU~KwS^ \!YCju]=Z0kS
+~zg ~b`i >_?N
+endstream
endobj
3571 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 122.254 null ] >>
-endobj
-3572 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 111.295 null ] >>
+<< /Type /Page /Contents 3572 0 R /Resources 3570 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3573 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 100.336 null ] >>
+<< /D [ 3571 0 R /XYZ 78.37 808.885 null ] >>
endobj
3574 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 89.377 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 768.829 null ] >>
endobj
-3508 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3577 0 obj
-<< /Filter /FlateDecode /Length 2474 >>
-stream
-xڽ[n8+& x96i:,.URv ul|Zh)ߓr|y5"xϋ:O<'gV>;*=H}I`ɋ`-NhFEÀ! .K <~!sEw~3(Uxh]|wf1}!##ЕHYHDvc8&~/t-inĈI$_VI'ׂt^Pz{B9Hcj"sɂkti>ghe- ?䥍0-ȵ@ly`lœH Y`m"sm~5q l0BKד=OY#GǸӄ./SgH:-t =<@gmZuE!~hkfN[vq]"(*Rٿ*s
-A jG_'ZbvRU]lu zy~S P #]^;hi=!?sk(
-#ګN!/2WJX`ۈC>
-'C^DUg#\
- ls վ3- ؜ AU6X쵾>IdNet2f}7jFF%E"bk~:V>eԟ3~ZnZq-&_ҨNc㶞j5
-5 f+gՙG(zjL;l.UzNn]th٩Ն\Il*3q%Ӥl-D${?{jni@H:ՎڢD+'[rڬ4bN( hZ Y.+r i<؀3/l7;Ր@z 4n[*>`<nL.U^ e,<ߣ 60/6/@7>_LqrN/ϊ%a> 5M\T֩&eqŬ A89VjLVnLK >ѹ:wP6wZuAgOQg 0u~ˆz ^4eݍ@U&K| CENJ-L8Pzph[-EpsKhYrːMDy/%hIbRF Uf A'd6Ze)LӄqRRuz%Czw=auBO
-E!- [r^'btj4V~76xךhM 9o3`zJy-c u,S!lWLFh pѝR5N7GqN=4.0=:Nt"QХhlNt?6)5E%emzZ>uiݯC9\kAQSQymXt"<0_(o*NISMy^3rce$걖x_&G~^%Q`·]JgYa.ŹmeJIq)5U[EyVGwY[pQ۳2/j7#o8ڷ^7xV@[t=
-[i+.!O[v3{[)NvE4(`H)Z}.(k_<OPS!LQVEJos-,>\rޯ=WIzsU-C_4y tZ*.Q
-endstream
+3575 0 obj
+<< /D [ 3571 0 R /XYZ 81.145 757.87 null ] >>
endobj
3576 0 obj
-<< /Type /Page /Contents 3577 0 R /Resources 3575 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3571 0 R /XYZ 81.145 746.912 null ] >>
+endobj
+3577 0 obj
+<< /D [ 3571 0 R /XYZ 81.145 735.953 null ] >>
endobj
3578 0 obj
-<< /D [ 3576 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 724.994 null ] >>
endobj
3579 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 714.035 null ] >>
endobj
3580 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 703.076 null ] >>
endobj
3581 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 692.117 null ] >>
endobj
3582 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 681.158 null ] >>
endobj
3583 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 670.199 null ] >>
endobj
3584 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 659.24 null ] >>
endobj
3585 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 648.281 null ] >>
endobj
3586 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 637.322 null ] >>
endobj
3587 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 626.364 null ] >>
endobj
3588 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 615.405 null ] >>
endobj
3589 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 529.726 null ] >>
endobj
3590 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 518.767 null ] >>
endobj
3591 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 560.664 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 507.808 null ] >>
endobj
3592 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 549.705 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 496.849 null ] >>
endobj
3593 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 538.746 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 485.89 null ] >>
endobj
3594 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 527.788 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 474.931 null ] >>
endobj
3595 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 516.829 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 463.973 null ] >>
endobj
3596 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 505.87 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 453.014 null ] >>
endobj
3597 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 494.911 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 442.055 null ] >>
endobj
3598 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 483.952 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 431.096 null ] >>
endobj
3599 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 472.993 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 420.137 null ] >>
endobj
3600 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 462.034 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 409.178 null ] >>
endobj
3601 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 451.075 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 398.219 null ] >>
endobj
3602 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 440.116 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 387.26 null ] >>
endobj
3603 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 429.157 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 376.301 null ] >>
endobj
3604 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 418.198 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 365.342 null ] >>
endobj
3605 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 407.24 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 303.574 null ] >>
endobj
3606 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 396.281 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 292.615 null ] >>
endobj
3607 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 334.647 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 281.656 null ] >>
endobj
3608 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 323.688 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 270.697 null ] >>
endobj
3609 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 312.73 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 259.738 null ] >>
endobj
3610 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 301.771 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 248.78 null ] >>
endobj
3611 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 290.812 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 237.821 null ] >>
endobj
3612 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 279.853 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 226.862 null ] >>
endobj
3613 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 268.894 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 215.903 null ] >>
endobj
3614 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 257.935 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 204.944 null ] >>
endobj
3615 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 246.976 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 179.041 null ] >>
endobj
3616 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 236.017 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 168.082 null ] >>
endobj
3617 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 210.141 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 157.123 null ] >>
endobj
3618 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 199.183 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 146.164 null ] >>
endobj
3619 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 188.224 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 135.205 null ] >>
endobj
3620 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 177.265 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 124.247 null ] >>
endobj
3621 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 166.306 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 113.288 null ] >>
endobj
3622 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 155.347 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 102.329 null ] >>
endobj
3623 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 91.37 null ] >>
endobj
3624 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 80.411 null ] >>
endobj
-3625 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 122.47 null ] >>
-endobj
-3626 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 111.511 null ] >>
+3570 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3627 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 100.552 null ] >>
+<< /Filter /FlateDecode /Length 2514 >>
+stream
+xZn#;+H8`]j;zJ.ҞۃەD%gw&퉘5q8`NZ ƕ8}+>sDv/s~ Jiz$sGźgឯ8oo!ΏiiŻ{~1>zo\5?i}*]enT@3a?5C׉-ɽZ&\5 Z[[k[tY?/Vo=onF"~U9ǸRK=gC;ڏʾ+i%pk7Ϫ0 1ۅr^={~e
+yTy$1x(q7
+oBl.ɻݦCћU+/sMIkMg6ƹۮ$̒f5
+[ K'(T%so9*9p=^[}nv[]"a,uY˕=Ū'V$^E os}4OX<ŏ({MO:KOc[#_+5,dDXJZdhqj%KR y݇^f%D5 .S(iZz%ѻiYZfëMZ/#)]le~M+nzeqTqΠs%
+I,&w4Quj R;|! r!Lr@}:Y:rKSR$,(%RP6",SǞmwX= &#kTjrʸ1SGYYJ_3oxV
+!PbǢ~'_sJ+e 9.|Ǯ\ "  5:odVU;m N`Tc ndlǟJT|C8K0w
+ R΃A2}OsPj !y+yQr"ݲLA|/=W(ʾ+CPK@ȹȨ6$MD"I`dSJ[#>1l7* | (Mzڮ[$}`6&tZ@͚Õ-##\5S/6rCb7FjZʥplI{`k EI=ࡗ$ʉ_Ҡ uM]V5(
+BbFO|B?Z:A ٙ3M>o<𫼹n]+}-Α\(yy&ԘCqoj{< }9SL<.^q>*Q:]pN"S ɈJFQ(6 . zB^'ej(PRFJ:Eﵕ=P e̬U(Va4)!CZ
+]
+NpA>wP=Ps]tsnjjFSJp2U:v<+(.6AR a/[.C7K
+9tPv=/En֮$ E9Q߻+
+eY5(JMh M4Lqr1PZ4L9YIд*`&"6 -d)%Á@pT ',]FOҸ?
+endstream
+endobj
+3626 0 obj
+<< /Type /Page /Contents 3627 0 R /Resources 3625 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3628 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 3626 0 R /XYZ 78.37 808.885 null ] >>
endobj
3629 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 768.829 null ] >>
endobj
-3575 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+3630 0 obj
+<< /D [ 3626 0 R /XYZ 81.145 757.87 null ] >>
endobj
-3633 0 obj
-<< /Filter /FlateDecode /Length 2430 >>
-stream
-x[ˎWXH=A3
-%a&?%`D9,Q*8RPFJE:ٸچmb,I1J-w,y
-Oq,\Y(O<
-QI$"q-F\jqғYsOxf/fGޠly^Sܵ%YMHG@E[ V[A)qjJ=SF[DDkouVQECXO)JÚ'4bD{e]0W[o YSu ~T+u,DOhBaf)\4#R־^៨(oT~io Խn1'uVz}7K7KzzKu:3A_v_~_m_yv+&q8N+XbMJ<y4u,4hn*4gBEНVA^r&HDٍ0̂ʜ?)SgJйFrlc^n$ֹgn|†K3f&,UV&h?Hdw!P-40ChVgQ ~<ĎuӲsZAS2#E4Enw4?-dn@wIAwxr]cPh]|#m,[V*!E m;YoD!~[P^Q6.kٖr[*EFF jjsiG1Tll'=EPC#β̍*Cs]B(L1J*D:~d^UZ_ \B{ 3BVjA
-%#yۇ
-g/GOȊ~>&@܇^Vr@h܇R}t=1#/<i>)}T8
-_Y
--S>,zaP[gJ(4O/2k)ӓ
-WG Q -s]PCSe.rI8*e*ŮQrRTІMg(PM];jJ]m`P´D6j(CӞ2{lS4K¡Z:2Ǡwmh&ži:Hܗʜ&&@9 A
-jU^rqjdQ7^=g W4xE)ݺ) t{axPv\k{we4\>hKvg8wb,WgwR `'Kt t;qq(LgKh*/J5ee) 9!5',Bʁ$d/x2Ӂ2LV O_8R:
-j`gueml)D`YFсҧe0ϸ;
- w[J}!QO/a B~}i98AxS'eč=cJ'1?29
-endstream
+3631 0 obj
+<< /D [ 3626 0 R /XYZ 81.145 746.912 null ] >>
endobj
3632 0 obj
-<< /Type /Page /Contents 3633 0 R /Resources 3631 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3626 0 R /XYZ 81.145 735.953 null ] >>
+endobj
+3633 0 obj
+<< /D [ 3626 0 R /XYZ 81.145 724.994 null ] >>
endobj
3634 0 obj
-<< /D [ 3632 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 714.035 null ] >>
endobj
3635 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 703.076 null ] >>
endobj
3636 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 692.117 null ] >>
+endobj
+293 0 obj
+<< /D [ 3626 0 R /XYZ 79.37 671.1 null ] >>
endobj
3637 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 623.079 null ] >>
endobj
3638 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 612.121 null ] >>
endobj
3639 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 724.994 null ] >>
-endobj
-293 0 obj
-<< /D [ 3632 0 R /XYZ 79.37 702.177 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 601.162 null ] >>
endobj
3640 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 653.796 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 590.203 null ] >>
endobj
3641 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 642.837 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 515.651 null ] >>
endobj
3642 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 631.878 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 475.524 null ] >>
endobj
3643 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 620.919 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 464.565 null ] >>
endobj
3644 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 544.207 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 453.606 null ] >>
endobj
3645 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 503.36 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 442.648 null ] >>
+endobj
+297 0 obj
+<< /D [ 3626 0 R /XYZ 79.37 407.986 null ] >>
endobj
3646 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 492.401 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 325.54 null ] >>
endobj
3647 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 481.442 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 314.581 null ] >>
endobj
3648 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 470.483 null ] >>
-endobj
-297 0 obj
-<< /D [ 3632 0 R /XYZ 79.37 433.711 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 303.622 null ] >>
endobj
3649 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 349.464 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 292.663 null ] >>
endobj
3650 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 338.506 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 281.704 null ] >>
endobj
3651 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 327.547 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 270.746 null ] >>
endobj
3652 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 316.588 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 259.787 null ] >>
endobj
3653 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 305.629 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 248.828 null ] >>
endobj
3654 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 294.67 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 237.869 null ] >>
endobj
3655 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 283.711 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 226.91 null ] >>
endobj
3656 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 272.752 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 188.224 null ] >>
endobj
3657 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 261.793 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 177.265 null ] >>
endobj
3658 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 250.834 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 166.306 null ] >>
endobj
3659 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 209.988 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 155.347 null ] >>
endobj
3660 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 199.029 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 144.388 null ] >>
endobj
3661 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 188.07 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 133.429 null ] >>
endobj
3662 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 177.111 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 122.47 null ] >>
endobj
3663 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 166.152 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 111.511 null ] >>
endobj
3664 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 155.193 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 100.552 null ] >>
endobj
3665 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 144.234 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 89.593 null ] >>
endobj
3666 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 133.275 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 78.635 null ] >>
endobj
-3667 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 122.316 null ] >>
-endobj
-3668 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 111.357 null ] >>
+3625 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3669 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 100.398 null ] >>
-endobj
-3631 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3672 0 obj
-<< /Filter /FlateDecode /Length 2406 >>
+<< /Filter /FlateDecode /Length 2561 >>
stream
-x[;#7 WLS$zui*ec뼀|Iq?凫P'ǜ_zOdd`\履_8זsy~i8Ws+o 9dl&!8W@C?W0UhÄjy|[;]ߞ]ڿYwjݲ~=W/q,5ׯ"L˞M( alOۙfqA?\xlz\cH|i,%aj?f,<23_:K 0Li]ȀN:$xIO&E;|)N
-w HQZQŷ/ 1EC"- c%pCL$|D4̉$Af`J4i$;Wž;d rF`gNPɍobb/lT;yrQ2jjeZ!)Dƙ BB< i@28G_G+Ɠ%!h #AׯlQ<Yk[%ϿX`>򭼉
-JL[bh h?WiA(jp<NsL)
-VǐB$EJ?#
-vKV '9qNtMwldDڍ& ,,8W4{OEe( 89 Ӈ8)@kiCG`H-qdجckYa 
-ajM=y;P)Ef=I*Z\0 -AV h'*ݤnOi/57_ ;(W3f 5@q>o,w\׷ihdhO(Ow%-N+* ȧ *
-I᷒Ю͵y|6 l}Dݑi
-Lj=Ӿn={닰$x[6u~A>u.G\[|?ũG{G.oa@ZS'ymЫs
-X|k #R̀L{D>P)/ϡųv ~ӏё;u.Rgju7%Ge*K7‡9955)7kvL3i)N`vk'A=PF/'tj̖~ ~k|]nop4QmQ#(}BΜ"/B
+x[9+9߯p<D@=ĝ 6ݍv8}].=.WIHO9.y7`>'qI{F0n_87syi9ׂsGwx+Ij$S
+"5(м
+cn-O5ʽKFنu.R[uI ߿Nj88/LVR
+cۑ13+
+ ^uFj3Ae# ӄ6(̪R n ;L
+-WDhgؼI\f)ŌtwKifk~ųNS ᴚiCto$tMu?ힷ<nۋh^el ?!o3\^A?RRvg#ə%?S"3)dr,AJpǑ~k2R2v;[J
+fǚ'J^✀3kF6HZqKq#N&|$9FЀǐ;ݏ1a1J1H$zZ?~i
+5sV ZۘHJ$-dgT-ϡrahG)IB;(rU[~V0ɛK%U0&gb}͘\w
+M <jmѐHjŸ}۽0{u_d܆>Vhc|<lI3%恾R3GÁQc4MT}A1gɽw1 ) yyAG=HK<n]Wj ɑ1}_ ޓ:!|̉R{Mz\GZ`\
+>xDK
+bDϷ%Bf<}V-u]i-=QScM0"L鏋5Lns%z`N%LR*f.ͲLbpWM!nq X)NCō)l*\Z3q|ow)oxu'mAjXrʱa ja,/rSr}rZc 2[~ ɫy( !7Z7]\2Z@G'J_<[FB}T ȟCa*WB+KR
+K&Jϖ
+(iȕ6ԟ5wzt
endstream
endobj
+3668 0 obj
+<< /Type /Page /Contents 3669 0 R /Resources 3667 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
+endobj
+3670 0 obj
+<< /D [ 3668 0 R /XYZ 78.37 808.885 null ] >>
+endobj
3671 0 obj
-<< /Type /Page /Contents 3672 0 R /Resources 3670 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3668 0 R /XYZ 81.145 731.363 null ] >>
+endobj
+3672 0 obj
+<< /D [ 3668 0 R /XYZ 81.145 720.404 null ] >>
endobj
3673 0 obj
-<< /D [ 3671 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 709.445 null ] >>
endobj
3674 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 730.971 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 694.288 null ] >>
endobj
3675 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 720.012 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 683.329 null ] >>
endobj
3676 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 709.053 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 672.37 null ] >>
endobj
3677 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 693.113 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 661.411 null ] >>
endobj
3678 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 682.154 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 650.452 null ] >>
endobj
3679 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 671.195 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 639.493 null ] >>
endobj
3680 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 660.237 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 628.534 null ] >>
endobj
3681 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 649.278 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 617.575 null ] >>
endobj
3682 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 638.319 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 565.521 null ] >>
endobj
3683 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 627.36 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 554.562 null ] >>
endobj
3684 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 616.401 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 543.604 null ] >>
endobj
3685 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 561.606 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 532.645 null ] >>
endobj
3686 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 550.648 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 521.686 null ] >>
endobj
3687 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 539.689 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 510.727 null ] >>
endobj
3688 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 528.73 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 499.768 null ] >>
endobj
3689 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 517.771 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 488.809 null ] >>
endobj
3690 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 506.812 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 477.85 null ] >>
endobj
3691 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 495.853 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 466.891 null ] >>
endobj
3692 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 484.894 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 455.932 null ] >>
endobj
3693 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 473.935 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 444.973 null ] >>
endobj
3694 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 462.976 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 434.015 null ] >>
endobj
3695 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 452.017 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 423.056 null ] >>
endobj
3696 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 441.058 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 412.097 null ] >>
endobj
3697 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 430.1 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 401.138 null ] >>
endobj
3698 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 419.141 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 361.074 null ] >>
endobj
3699 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 408.182 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 350.115 null ] >>
endobj
3700 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 397.223 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 339.156 null ] >>
endobj
3701 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 356.376 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 311.047 null ] >>
endobj
3702 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 345.417 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 300.089 null ] >>
endobj
3703 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 334.458 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 289.13 null ] >>
endobj
3704 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 305.567 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 278.171 null ] >>
endobj
3705 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 294.608 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 267.212 null ] >>
endobj
3706 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 283.649 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 256.253 null ] >>
endobj
3707 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 272.69 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 245.294 null ] >>
endobj
3708 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 261.731 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 234.335 null ] >>
endobj
3709 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 250.772 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 223.376 null ] >>
endobj
3710 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 239.813 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 212.417 null ] >>
endobj
3711 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 228.854 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 163.53 null ] >>
endobj
3712 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 217.895 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 152.571 null ] >>
endobj
3713 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 206.936 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 141.612 null ] >>
endobj
3714 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 154.134 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 89.593 null ] >>
endobj
3715 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 143.176 null ] >>
-endobj
-3716 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 132.217 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 78.635 null ] >>
endobj
-3717 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 116.276 null ] >>
+3667 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F83 412 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F30 341 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3718 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 105.318 null ] >>
+<< /Filter /FlateDecode /Length 3160 >>
+stream
+xڽ\;o$9W8 F+zœ.GU]lŗk_/o1A˗&/14/F ƵxrněEFx}.ƹoyϷŏMbji5LkǹʚUA5ܴ{¥ LF)G
+Ok6Ss+;pp+=j&\J/)C$7.F/oX^"߽<y@;>g೛KZ ,*``RXsUwk5uY٣|;d[ts
+ha2'
+3:T)FAD̨` HXTq)&&Վ)m*-ezw *:ϙ
+f8xw:
+فS~3w&߉Y"[V
+;GUϖ 'D/,=1Zlq;QP rC
+OkR L-̰BE[h+t#wM=4}Wp6dDcOC'5}*,FBTK[:⽿4Aql7>ƙF=׸-exQVI閙rG_qO WGGq8UvL옴J=#Mx%nNA.SZ`{K%v4.).G*6>(N㛊6\@EC)\xmp1Pz2\TIL!Ϧǧk?Ya#욯Vj9 ød#E`QBUI+qz=>kcAPZʢ?Ki:[}ƾ&tOd:UrrUPsX{b))r!)ZH>M[?jقF74FF0RtotFl)!r xs*aT
+=rx()v|
+TYѥFG;A54<x0f`*`mo.:27e _2nw#MKZjAоpt[Jayz=J$-p4?dO
+.>]2sқemTqXW1VdwcMd@ʠQ|J!_Jj&{Oz#H@ƅZijA,F nR>j󑘦/65Nic4jTmu9
+6仈H}r /q%3vP.CľWh֨FJ^C7x::rFRvO=o"ll5' K}7^GPZ }Z.*>~~?~l
+endstream
+endobj
+3717 0 obj
+<< /Type /Page /Contents 3718 0 R /Resources 3716 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3719 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 94.359 null ] >>
+<< /D [ 3717 0 R /XYZ 78.37 808.885 null ] >>
endobj
3720 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 83.4 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 754.882 null ] >>
endobj
-3670 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F83 414 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F30 341 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3723 0 obj
-<< /Filter /FlateDecode /Length 2452 >>
-stream
-x[9+7߯P LƓNty_]i5@3R,ͯ?O}!1AOdd`\O97Ε p˯҅O?I?Y
-~ Omyfii>ݬ}^>|Yf M$CBk ,2L%z hJ
-Z:،]8)v䏞ݻE
-rO~Jʲ&vI
-$Î mfBfEG(ycl{p0hF0cp͒JV&k3+̻mZ)]NO}8^!Ny5l9"mJwrq{2'*(fܧ@.}pWiBN[Ea2cRnGSVSa}$x[Y/}]Y<~b\̂<2ʾPND{#hﺮ5lTsY]YzfD>K}V:.7gu<$_Nvǔ^9JPQ^)7q}8kctW'䪑5Ylf(
-9)DBFŅ
-KU2n8 (IWpi]?C.JI4 O:<w[omɃ1OM#8l&}.Sb^A$!Uk mJLV43n#Q2=_zoB:iTsY7ΦhM0^*_n/_<T /_/G(a@wԹ} jh'vhҎ =!WSF)> )r@
-2Hӊd`R }Cj~Rpig(-ަ(-af쯥O#.h|MlQ0 "Ȝ(u^qAI\Kf);9i
-Em"i uS@gJ=ikQJqIIy8)GJMxGz!|٥nD?}BpVrHK+!B\'JHxx/Pa_qmP[Bm/Hg;}Ƴ]`F#gδ_KJ?[J
-endstream
+3721 0 obj
+<< /D [ 3717 0 R /XYZ 81.145 743.923 null ] >>
endobj
3722 0 obj
-<< /Type /Page /Contents 3723 0 R /Resources 3721 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3717 0 R /XYZ 81.145 691.121 null ] >>
+endobj
+3723 0 obj
+<< /D [ 3717 0 R /XYZ 81.145 680.162 null ] >>
endobj
3724 0 obj
-<< /D [ 3722 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 639.315 null ] >>
endobj
3725 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 742.926 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 598.468 null ] >>
endobj
3726 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 731.968 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 587.509 null ] >>
endobj
3727 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 721.009 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 576.55 null ] >>
endobj
3728 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 710.05 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 565.591 null ] >>
endobj
3729 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 699.091 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 554.633 null ] >>
endobj
3730 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 688.132 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 543.674 null ] >>
endobj
3731 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 466.961 null ] >>
endobj
3732 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 456.002 null ] >>
endobj
3733 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 445.044 null ] >>
endobj
3734 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 434.085 null ] >>
endobj
3735 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 423.126 null ] >>
endobj
3736 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 412.167 null ] >>
endobj
3737 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 401.208 null ] >>
endobj
3738 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 390.249 null ] >>
endobj
3739 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 379.29 null ] >>
endobj
3740 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 368.331 null ] >>
endobj
3741 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 495.853 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 339.44 null ] >>
endobj
3742 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 455.006 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 298.593 null ] >>
endobj
3743 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 269.701 null ] >>
endobj
3744 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 415.156 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 258.742 null ] >>
endobj
3745 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 404.197 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 247.783 null ] >>
endobj
3746 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 363.35 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 236.824 null ] >>
endobj
3747 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 160.112 null ] >>
endobj
3748 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 341.432 null ] >>
-endobj
-301 0 obj
-<< /D [ 3722 0 R /XYZ 79.37 304.66 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 149.153 null ] >>
endobj
3749 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 277.2 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 138.194 null ] >>
endobj
-3750 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 266.242 null ] >>
-endobj
-3751 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 255.283 null ] >>
+3716 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F81 377 0 R /F27 340 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3752 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 244.324 null ] >>
+<< /Filter /FlateDecode /Length 2400 >>
+stream
+x[n6S%g@zέ=%ERF,:N5ᯃ<qz o*ܐu^=X4g)/<!RZ;g)6qF+_x-`B-4| tjµJ5 *[m|^/ (ʬ)Dn_=!s@Z.󨏢_Ec3I54WzنJ& [nġ5"6
+epShP=^ zE`3C[+0%_B[U]{DHvoGzF#M;Ƽ4UJl$ }irM8S$mffo 5y@FӸ6n0Jјݔ8JX õUAP'§֥T/p k4_!4OfQe[*XM2=ohO/ۑfB
+4gs_>wǵgd/[ЗaRN5:c,-Wdɖ3QRմl~m׎EtA HCuIhltZGZf)XGi#ѝ-'ႬLn 
+ zj L-@dU^i
+ݭ )4dZкXi7n}4rO{ d>*W.8t0֬A5I^ Pwp'O:yH94ZEUʭ${IKC<WK7;5LCn4FM#^l,eq%bŃ*ii6v{;?BvEI/ t
+d9)1NٴEZ-m -"[#EA/lkH؅膠(m Q(KJ ]w
+͈9A^?_<׳˯n}u-YyX9tty6[}O_NP߆M^؂;Cw4Fqo$%P(zz]yL >~!͇>dX Z%ͽpsz hKb0?i'
+endstream
+endobj
+3751 0 obj
+<< /Type /Page /Contents 3752 0 R /Resources 3750 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3753 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 233.365 null ] >>
+<< /D [ 3751 0 R /XYZ 78.37 808.885 null ] >>
endobj
3754 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 217.425 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 719.016 null ] >>
endobj
3755 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 206.466 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 708.057 null ] >>
endobj
3756 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 195.507 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 697.098 null ] >>
+endobj
+301 0 obj
+<< /D [ 3751 0 R /XYZ 79.37 660.326 null ] >>
endobj
3757 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 184.548 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 594.012 null ] >>
endobj
3758 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 173.589 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 583.054 null ] >>
endobj
3759 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 162.63 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 572.095 null ] >>
endobj
3760 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 151.671 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 561.136 null ] >>
endobj
3761 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 140.712 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 550.177 null ] >>
endobj
3762 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 129.753 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 473.464 null ] >>
endobj
3763 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 118.794 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 462.506 null ] >>
endobj
3764 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 107.836 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 451.547 null ] >>
endobj
3765 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 79.94 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 440.588 null ] >>
endobj
-3721 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F27 340 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3768 0 obj
-<< /Filter /FlateDecode /Length 2348 >>
-stream
-xI8EFpt}`3o
-9EEQ{r.p//.9+.yh]ʹqyP_V^,sZnJ!I˹$
-kZ wݯv򫼻#:gE5:FHh2(pGq
-O);3J̥[SʳG=oŒ<V mA޸o[ z%ǧ{!k/M;AOFyfC\x[x8N¸Ow('LxPrz;$'g;:83BB#p^ ?ؤ~N9IzRHg4jgtY+P5;uM2. OxԄ!S1B{ k$FHԠqr[_Xݷ{''4OZwd-9P xLʭAk|Ӵ*Ej!1EP^Dj%cԀ`r רm9֜ $FQ w^͏ȵɗã- -)yFsP1CC6(+"a9`;$mqW0xB[Y@•`&(]qUlH
-w
-i_BsH̿o1Aɕ,<hF
-*Uw'A*"i&IB&usjv"׳gUZń9-9&HxO4"EI/͐I^6{JUm-MzIhL*vYkNXE:0m骟>}yFGܢ#$>e"g,?& }Oze}?݄c-mKX5k L?(N&9Aj. yfJw1Ae4iv9 籖KR-vN&H8AL[Eѵ82C"m۱>Ѷ;4UJk}mNIj/QL7ޫtoLE9I`4)59U].DGܥ!4> ܑk!ܱV:e Z h}_kC %z4L!RW3ϝmLo229CFHc,44?hch͸NbknM6JI @Zv ;goR)lqNk[LS,wXL[csPrbi꺳Lz$[VN-8bz"eGmW $45" "BP"<;>tL G@MJr\@
-128"N}J39#:@ã:̀#ICiH.\ΉcA=}Fd }֬7<-HOAU'n}S, ;
-/Lx^o٭hBӅ8ECfNX_[⨤ͯ+&*hAϰ4 oJ2gd?G;BBz }.bXf'APjr⁛O<dr,%y
-PRÕ5=O k>I*a{/fTk?!D,If&Ha;Mu>s:SKX-mź|D;5Ȝ
-endstream
+3766 0 obj
+<< /D [ 3751 0 R /XYZ 81.145 429.629 null ] >>
endobj
3767 0 obj
-<< /Type /Page /Contents 3768 0 R /Resources 3766 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3751 0 R /XYZ 81.145 418.67 null ] >>
+endobj
+3768 0 obj
+<< /D [ 3751 0 R /XYZ 81.145 407.711 null ] >>
endobj
3769 0 obj
-<< /D [ 3767 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 396.752 null ] >>
endobj
3770 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 385.793 null ] >>
endobj
3771 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 374.834 null ] >>
endobj
3772 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 363.875 null ] >>
endobj
3773 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 352.917 null ] >>
endobj
3774 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 708.604 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 322.032 null ] >>
endobj
3775 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 697.645 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 311.073 null ] >>
endobj
3776 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 686.686 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 300.115 null ] >>
endobj
3777 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 675.727 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 289.156 null ] >>
endobj
3778 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 664.768 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 278.197 null ] >>
endobj
3779 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 653.809 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 267.238 null ] >>
endobj
3780 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 642.85 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 234.361 null ] >>
endobj
3781 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 631.891 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 223.402 null ] >>
endobj
3782 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 620.932 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 212.443 null ] >>
endobj
3783 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 569.673 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 201.484 null ] >>
endobj
3784 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 558.714 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 190.525 null ] >>
endobj
3785 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 547.755 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 179.567 null ] >>
endobj
3786 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 536.796 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 168.608 null ] >>
endobj
3787 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 525.837 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 157.649 null ] >>
endobj
3788 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 514.878 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 146.69 null ] >>
endobj
3789 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 503.92 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 135.731 null ] >>
endobj
3790 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 492.961 null ] >>
-endobj
-3791 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 482.002 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 80.936 null ] >>
endobj
-3792 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 471.043 null ] >>
+3750 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3793 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 460.084 null ] >>
+<< /Filter /FlateDecode /Length 2739 >>
+stream
+xn#CVq #K
+oA)},d[MA^`QMkHs.p_߮_o]$sV \&. Lˋтq-._s}? a25+9x~E= ?OJ'Ψu/S<=|Q}[3?DvR|l-s!gϑ['==H*dѭIt Yfb <^ :&$N%h$Cڗ {
+5~%|_,Qkz4ָU:a
+qsqE}Mokϲjr3㌼/qfDK1W68JtnQ $G>69BF('~z m#F'^ASeQ<cThʽWK.RI32uRU1R^ L1=$Λ9=eJ?Kg,_oBlRrJ|K[
+7Ɍhp:
+> 0A8G?TƧz6zsi7<5IhcHC^(Aܨ&{= K32/Lx]o5kBӤ8G x4w8lw\j&aQ)R!#ߋˎ]#߳qיnsqg2
+>
+b6>RCn2>\_m'RnJ6͔TЧ돲cIb_k#DeW#)Qv,^ s_KUcstiqELH}bZpbmӎL`jR|U^,:9R}VMNXhS%e?`|]_(Ee.mcwCj`9'0%\}2U͙'kwz@߷:gY:fW.5~ښ[r[L^Cl/XHk(#fuu6C|mGr.)7+K6bpY=j R17\Tv K̓ON޴IǴW諅GqI<w/gCG9cDΘA-3S>(Gv~TWudo9gxF2*sA3qU&mLd4;NH2+=p~D: /ġơ-W,b2=3)츊
+k*7=wmS2W<].s7RgRKp u:M.-vi,"Jȶl:u0\ wl]J 4H9h$Eie6&=jE%CI4Њ3G
+=lsAEC6fW5Y. Qp1}5Xd^`ZwJ_$g{+Ҕni
+endstream
+endobj
+3792 0 obj
+<< /Type /Page /Contents 3793 0 R /Resources 3791 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3794 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 449.125 null ] >>
+<< /D [ 3792 0 R /XYZ 78.37 808.885 null ] >>
endobj
3795 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 438.166 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 768.829 null ] >>
endobj
3796 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 427.207 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 757.87 null ] >>
endobj
3797 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 416.248 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 746.912 null ] >>
endobj
3798 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 405.289 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 735.953 null ] >>
endobj
3799 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 394.331 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 724.994 null ] >>
endobj
3800 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 383.372 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 714.035 null ] >>
endobj
3801 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 372.413 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 703.076 null ] >>
endobj
3802 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 361.454 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 692.117 null ] >>
endobj
3803 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 350.495 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 681.158 null ] >>
endobj
3804 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 339.536 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 670.199 null ] >>
endobj
3805 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 328.577 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 659.24 null ] >>
endobj
3806 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 317.618 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 648.281 null ] >>
endobj
3807 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 306.659 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 637.322 null ] >>
endobj
3808 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 295.7 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 626.364 null ] >>
endobj
3809 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 284.741 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 615.405 null ] >>
endobj
3810 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 273.783 null ] >>
-endobj
-305 0 obj
-<< /D [ 3767 0 R /XYZ 79.37 251.421 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 604.446 null ] >>
endobj
3811 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 229.939 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 593.487 null ] >>
endobj
3812 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 218.98 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 582.528 null ] >>
endobj
3813 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 191.631 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 571.569 null ] >>
endobj
3814 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 180.672 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 560.61 null ] >>
endobj
3815 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 117.458 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 549.651 null ] >>
endobj
3816 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 106.499 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 538.692 null ] >>
endobj
3817 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 95.54 null ] >>
-endobj
-3766 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3792 0 R /XYZ 81.145 527.733 null ] >>
endobj
-3820 0 obj
-<< /Filter /FlateDecode /Length 2916 >>
-stream
-x[n$+W
-<CAHU=?yP͜D~֮ΤcBIgs4p]蛣@6c܌
-\~1^8I'.>w8r{ 9벾I6OJK.yN^<v: oN5|ŷŭʘ"WZҪ0ύF
-r'$e;Y;$8t.ĩI.8~SsvL ;ҺZZ1 <2yfAM=9ڍQR^!?@⠍'dOfDk5S&_~]bJOR \X l)rt\52iŻl]YmW(5QҦL g#V.ӫꁚJzY TsfSʲCMͪYܧ8bLH3ѻp}c^3c# 9
-x{Huqx'T@0i״|2Eq jǔ ѰHJOc<P
-,C)Zp:.CmB]Ef\j `>#`^#]2 X:Xq#=WH$]p}'>U6;
-¶w P/JD`Dmo,^8'F*c}x*Ct~rVp8}yf3QuDګL(=+[퓨2N~^á罆3Td>e'f|giATNb32c-Y\t-7>s̀
-:CuYaB-7\͜l<I&\6y^JF5RF@knz/hVٔodʨ @`%\<=(m5wGpjoM.X(<]k[3bZyD8I1>Dg'fPJ/Ư]eUZ]s]uQ㼦OVPU:ѬfRi*n|iQ3PS'XJ*{R*'ϵ? tQ,;Zi #|GA9QvDFUZ4Eue q0𖻾M8jPٟfϔML äwZ͸Qܜnmc4^b4t4q/Iץ0vn
-dFR5Qmv@WTuő ;{'@tMپ<h&NZ8?DpEYW
-I{_՛%.X*bFJN$R咩ǯ*g &˄b.Cf77r=D)fr\L=(XQ *y?')G7 5ͬrj˸saQJG[eړDͧ_N'$sZT35q'v5-:PN;z™fN%nUBާ}ԫ9:A7y3eW]+(|`kyzSB$²T_m:'h1P&h!5XLzV^W.6=:y_uH+jSZC-BmVL+B#^hUhorg 5,cbHJL/̾
-&:m4CV|i6"I^m_E(ԌF`rg_3P"Ŋ-/`bp'VWmEGf՝7P(;w7#L ᬏ$%gFm$JrIc{IrRyguێ o*DB}0v!:O$' -KMAU(`۸&Gt}uֻ7@PZkt\./#ܺ4."&ǵvAhqrƖB^.]rGm2=,k˼8P|c-GyD9z8w3yiNAJ; µaد
-l^l(]K03_Lh]4,WP9OmVM{r2-؞ukikkB&ۛ Oy˴Z t_MgQ79N|hn26ooSf ԯl;-Li{CΙyzrƍ>{Vx@7XFiɷ㻧}E7yEG+v,rמwX#W6wXu9-'XY0/堞Ѐ ٦m{dv$>yuO黣S XwO88dZ/*HbYV3 {Lhþ]d>_GjQuS:>~j
-endstream
+3818 0 obj
+<< /D [ 3792 0 R /XYZ 81.145 516.775 null ] >>
endobj
3819 0 obj
-<< /Type /Page /Contents 3820 0 R /Resources 3818 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3792 0 R /XYZ 81.145 505.816 null ] >>
+endobj
+3820 0 obj
+<< /D [ 3792 0 R /XYZ 81.145 494.857 null ] >>
endobj
3821 0 obj
-<< /D [ 3819 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 483.898 null ] >>
+endobj
+305 0 obj
+<< /D [ 3792 0 R /XYZ 79.37 448.434 null ] >>
endobj
3822 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 426.952 null ] >>
endobj
3823 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 415.993 null ] >>
endobj
3824 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 389.437 null ] >>
endobj
3825 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 378.478 null ] >>
endobj
3826 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 316.056 null ] >>
endobj
3827 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 642.304 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 305.097 null ] >>
endobj
3828 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 631.345 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 294.138 null ] >>
endobj
3829 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 603.45 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 268.459 null ] >>
endobj
3830 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 565.591 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 257.5 null ] >>
endobj
3831 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 554.633 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 246.541 null ] >>
endobj
3832 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 543.674 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 168.402 null ] >>
endobj
3833 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 481.905 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 157.443 null ] >>
endobj
3834 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 470.946 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 143.718 null ] >>
endobj
3835 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 459.987 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 132.76 null ] >>
endobj
3836 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 449.029 null ] >>
-endobj
-3837 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 438.07 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 105.311 null ] >>
endobj
-3838 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 388.256 null ] >>
+3791 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3839 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 377.298 null ] >>
+<< /Filter /FlateDecode /Length 2597 >>
+stream
+x[n$+MF7@52n3&dfjl2c#1əq\?^~ޥF \>~袕`\ǟr#Wr|AfBSh#IPC?p _#w22V*?Wr&8UrN_H^~9ep(I5C]ȋuw[[0 ڼ
+Ny?psWHZ{1ep4 #)B5hhdv^ /
+>CI5w&NFGx}뭌P]5'Jgy id6cT]5-^1tOѭz`5//^iNr]pNk|gvaZ 3&Hw4NBuQ$d;zd~(^vOXMW.:
+͌ kS6JL=r,o-*Z4_#-ܿi1-^ U2f`79eόI0)(j|oXfqe eRGPaeNkpqW-Z..-RXEE4z0'O?:ҪzJ1jϩ'RHڲp_nJ\?m'dҨ ŀZrPQF8S;*HtXjNw29@ NȚ%EBbuc/ZI# $UL8! +/D^~[H:1F4Q~ K*/gi0 L3<?G'!#S4ߒnJ!E^%6{ҭ$t]E:% 4ڧPi)/z567t@أfws,WA;S,g`w玺x2 1}}@Nnlw#i/ 2 j8-X5D&<XE 50萞-aT!f&9j< V3fiDq-(4Lb1۫P{B#*Ei팖'P쀎b ƾҟP2❇- z(.)IfVHZ-IΨrGƻY<b}P[^–jKCZ6j+3 jb|wyg㝍g$tK$-XHBx-J.&*@0sC;l.&)XM̎3@&Pf`\o-r9,rڏӺd*3dž#r+~y-3F6p)KL砪mPGJ]2 '~ahWR'JԜW}͙T!8u ncWm2(I`{j Eb= Us<z!RTz{7?E4F۩\)$eK[q⁇
+' zik-<iGz0I%s+@ 47ܩ FovFz/&z!m5hfzF *'=@VMqmT ]Kig6J5xoȑ|vdznZ4o5AТ=B<)7}:eIy1պ;1ܟ \uHlRwX5i{A5iX됪0d<)E֎BuHO.ܠ J"Urjwȡ&klK!Uj&w 2CY:Oѽ^Z:鱗E`mQdMwS\HϞM{e2mP_KjtHO> Hٔnn$ʺ;gXaleiԐm,zl\ T\k@q1\fyGk0yym_ `mdYƔrRΐ$NG ˵gy}sA_LH=w" kFv[Vғ0A{q{KuH1'2Z@϶4
+endstream
+endobj
+3838 0 obj
+<< /Type /Page /Contents 3839 0 R /Resources 3837 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3840 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 366.339 null ] >>
+<< /D [ 3838 0 R /XYZ 78.37 808.885 null ] >>
endobj
3841 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 355.38 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 768.829 null ] >>
endobj
3842 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 344.421 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 757.87 null ] >>
endobj
3843 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 333.462 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 746.912 null ] >>
endobj
3844 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 322.503 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 685.143 null ] >>
endobj
3845 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 254.757 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 674.184 null ] >>
endobj
3846 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 243.798 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 663.225 null ] >>
endobj
3847 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 232.839 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 652.266 null ] >>
endobj
3848 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 218.892 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 641.308 null ] >>
endobj
3849 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 207.933 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 591.494 null ] >>
endobj
3850 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 196.974 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 580.535 null ] >>
endobj
3851 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 186.015 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 569.577 null ] >>
endobj
3852 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 175.056 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 558.618 null ] >>
endobj
3853 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 164.097 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 547.659 null ] >>
endobj
3854 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 148.157 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 536.7 null ] >>
endobj
3855 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 137.198 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 525.741 null ] >>
endobj
3856 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 126.239 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 457.995 null ] >>
endobj
3857 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 115.28 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 447.036 null ] >>
endobj
3858 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 104.321 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 436.077 null ] >>
endobj
3859 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 93.362 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 422.129 null ] >>
endobj
3860 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 82.403 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 411.171 null ] >>
endobj
-3818 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 414 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3863 0 obj
-<< /Filter /FlateDecode /Length 2562 >>
-stream
-x[ˎ8WFWP( $ vά0XEv9}LIINۯr'd
- d`\O~\_8ko<y_w'˜Ҷ8BrfKWJ+Q%xt+ _ιח6yYp\sx~Wc]ts{ӐTL
-a+2ExGsA{"E|~>.`P]%.uDyg,;1Cy"L+5(+O/E{}TsQQ]_J
-C9ǴǜJ40MF}Qiԥ\tw680GP>vvuߛ{V`.9h¹Rpٸw%?=mS
-']y40Nw2zXVxVQ|l~&plzǧ~e-I9Tj1 mFd p\MΦOf o&~Uúu-̒(T?(xg'&(,
-O=R;&eoE%(JmzUy{H'yRY*bGK9=6M#afw'4?h "Ǔ=Ga>P=?ZŖy9Q|,l ֏$tW((E@#>-mER2'$RTLxD0
-ɞlG*ԣY||휢:\zHEoYc@dHoo^.-JzqI9kꑞgҾԬ0 =/<D8'Q<8ߙvmRs}T<iʾ׶3{r#<'mPe95z?WW #ce5Zj1djE8z8HF",I|ML4@&)ڋnúiT!6stY*k\A[mLZʄ%)IHs#=?p`5%L!WGA+i ú?c"fC9VǪoBN3Ů`m*D/D
-41sH/[,H,Ҽ,k#X(Z<(`K#alZB,X(q9Wf ˅E@c/v O3]F3əh-y@ڮ;MjN~8sn׹\k@BjmKm}PȔG8< H}EZz]:71xfKLFmz9"y$-`fyFfs18>I.X8.z9.V[5&z*W cz$r[*nWVryKVKߦyBSp?RtM
-д=I 1%dl= M#X,JR<: =^W,Ӳlosuv=]Csm`Y{ 눠%s@:8,G1R_6j-NՑ8sWs=җFt~LG=gcd` dԆds? ==#9wO8hrC֥:ג{&P?lӳ"wLwGH{<J @zZ %SvmlP;SĔ,!69;z9Î>w0jG/.;=sBCX`CkK4Nn;3\\̅~hͥT\ I.4gR d= LG9knicQTl9 p&lxo(3>Cbd9-HFЉI]~bщBK k3R3k=1c%#9-SMͶ SHb ״Jxg\0rܬ,T\drTp^&ݣJw-v9߲2xgrL">խQ_B+V͕MJdcL;Z+cr*2YWGDr'Va
-9㫩گeAxrU&עf\tW>Ƀi:5;H
-cacQZg:E߾#
-{
-endstream
+3861 0 obj
+<< /D [ 3838 0 R /XYZ 81.145 400.212 null ] >>
endobj
3862 0 obj
-<< /Type /Page /Contents 3863 0 R /Resources 3861 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3838 0 R /XYZ 81.145 389.253 null ] >>
+endobj
+3863 0 obj
+<< /D [ 3838 0 R /XYZ 81.145 378.294 null ] >>
endobj
3864 0 obj
-<< /D [ 3862 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 367.335 null ] >>
endobj
3865 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 351.395 null ] >>
endobj
3866 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 752.889 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 340.436 null ] >>
endobj
3867 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 741.93 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 329.477 null ] >>
endobj
3868 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 730.971 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 318.518 null ] >>
endobj
3869 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 715.031 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 307.559 null ] >>
endobj
3870 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 704.072 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 296.6 null ] >>
endobj
3871 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 693.113 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 285.641 null ] >>
endobj
3872 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 682.154 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 274.682 null ] >>
endobj
3873 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 671.195 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 258.742 null ] >>
endobj
3874 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 660.237 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 247.783 null ] >>
endobj
3875 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 596.476 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 236.824 null ] >>
endobj
3876 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 585.517 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 220.884 null ] >>
endobj
3877 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 574.558 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 209.925 null ] >>
endobj
3878 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 563.599 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 198.966 null ] >>
endobj
3879 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 552.64 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 188.007 null ] >>
endobj
3880 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 541.681 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 177.049 null ] >>
endobj
3881 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 530.722 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 166.09 null ] >>
endobj
3882 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 519.763 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 102.329 null ] >>
endobj
3883 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 508.804 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 91.37 null ] >>
endobj
3884 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 497.846 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 80.411 null ] >>
endobj
-3885 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 486.887 null ] >>
-endobj
-3886 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 475.928 null ] >>
+3837 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3887 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 464.969 null ] >>
+<< /Filter /FlateDecode /Length 2444 >>
+stream
+x\ˎ6W,AvuMVaQPI&w?$Ջ*r/^xo_O/y'$\̨5q#.ߜ|ԯSǼ18BfT@_td\[/|N嚾xE>EJk^s|~Ls0LXhwOsG)B|wǻ߽6|O er[|Zڂ,.=JR0fqvf2jkMf5DbEZѬT2
+}{C<<byu;_J&i7975@;'TO[r]-{Py쫭LYN$K-ЖobFĖ^x5|z:lý>νc\-?12^#q!x)I߀gZ+7=CMۇǴ9!)d.-[\+m9iAhot~EiHs HDB_| h뙴0F_Op0)e$T')T"(%M)};K(|X<:21 7aɋƢn{`⛼{ŝ-dJ)P
+f)~N<Jt&maB&i9
+!lG|8ם&%_(HB)M1;6++ueSKqsA&cz\ki*{kYb{/Kc)߉JSK۩܅+aNQ[Z [-$Z0B;-'1 ꫘ϵ͹(xX] l:
+]Je)`SډwGY<♼f.WK%&|+\I۱tYƨm>XS H 6|a\>UEp[֣2Vw?٪yUIh_&v,,?/-q IsMNw 戊ζ;iѢ;m3)29p~$QQl Nc%y&,:4-%h ^gJymt{֦EWiMtecfxbKDOZomSUV&"- Ic4K$ ]Хm0٦ͻ{~^ƍ|7; @By@φQsۤD-D'Xu|<enNIM9,aF`1LE\eCڧlܖ&mٓ8^gNLi4pr#HHZ_n (rY<4!ib)-^ݺm~R^c8GF 69)zeWL5(a<ӪE:5K%$ViRRW \:^ws,֬t?ӷP
+endstream
+endobj
+3886 0 obj
+<< /Type /Page /Contents 3887 0 R /Resources 3885 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3888 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 454.01 null ] >>
+<< /D [ 3886 0 R /XYZ 78.37 808.885 null ] >>
endobj
3889 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 443.051 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 768.829 null ] >>
endobj
3890 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 432.092 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 757.87 null ] >>
endobj
3891 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 421.133 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 746.912 null ] >>
endobj
3892 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 410.174 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 735.953 null ] >>
endobj
3893 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 384.271 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 724.994 null ] >>
endobj
3894 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 373.313 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 714.035 null ] >>
endobj
3895 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 362.354 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 703.076 null ] >>
endobj
3896 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 351.395 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 692.117 null ] >>
endobj
3897 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 340.436 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 681.158 null ] >>
endobj
3898 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 329.477 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 670.199 null ] >>
endobj
3899 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 318.518 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 659.24 null ] >>
endobj
3900 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 307.559 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 648.281 null ] >>
endobj
3901 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 293.611 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 637.322 null ] >>
endobj
3902 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 282.653 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 626.364 null ] >>
endobj
3903 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 271.694 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 615.405 null ] >>
endobj
3904 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 260.735 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 589.502 null ] >>
endobj
3905 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 249.776 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 578.543 null ] >>
endobj
3906 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 238.817 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 567.584 null ] >>
endobj
3907 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 227.858 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 556.625 null ] >>
endobj
3908 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 216.899 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 545.666 null ] >>
endobj
3909 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 205.94 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 534.707 null ] >>
endobj
3910 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 194.981 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 523.748 null ] >>
endobj
3911 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 179.041 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 512.789 null ] >>
endobj
3912 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 168.082 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 498.842 null ] >>
endobj
3913 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 157.123 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 487.883 null ] >>
endobj
3914 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 105.318 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 476.924 null ] >>
endobj
3915 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 94.359 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 465.965 null ] >>
endobj
3916 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 83.4 null ] >>
-endobj
-3861 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 414 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3886 0 R /XYZ 81.145 455.006 null ] >>
endobj
-3919 0 obj
-<< /Filter /FlateDecode /Length 2993 >>
-stream
-x\n$ S F" 0
-OT~%g9hz LpQsmפ)Uiѳ[Խ ;٦WњIEp)>an}Nnէqp NЉ>>3JXCzR%k˯{zﬡ]}>3U.[qvB3
-;mQ(BbQz"f<DvGFJOw[8d)='sY4t\s(\}VF!r&Y фR˵q^n9E{J0j8r4p' 5+"~R{? ?QZ*OF#D|QG`g::˳zJ{R@3v)_9d[Zcx=Cm .[:=<
-jlZJK4$
-~&>^B
->F|멓ĩ̚zJ}Z]!̚fqpPd$#=n K0!'OlRtD
-<E MܒY|m#W%+?,́YwS""oAFz4bz g&+e'7aO03ݝkzJ]ȕLJ;,)|<*.|`)餞i&ep[8gVb| a>6Ǎv .Lۅ3(lHx@ʕ^{"M"/Y2L߯:g;1*bw YSD=xY^Y;,˜^Ǿ9q?SdAeNqdjPт󰖮)nuEqٸX,7|B ~Y Ns1<~+DU_$ëoĦ$@I`{gLwra80JTШmqҽL4)+z *oSbKB#)3Fޒ8F4'8ǹwX Lo}fi
-2Ԭpaz[ JyRU<i|`432^pObf9R9(^,Jstnx(_xV́~`u鐛
-u|fz \^i\Qj-jq3_知)@iaܖH<b Q v+ªqAxmkqD<jF
-jA %;S
-ȮL *,NX;O 464m8m8U,dG] i4 ЁBI[\
-fBmUVwOힿ͡+Oi#t+,o/{|`#kO(uyJ]$ (Un
-)%.7Bjl=
-endstream
+3917 0 obj
+<< /D [ 3886 0 R /XYZ 81.145 444.047 null ] >>
endobj
3918 0 obj
-<< /Type /Page /Contents 3919 0 R /Resources 3917 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3886 0 R /XYZ 81.145 433.088 null ] >>
+endobj
+3919 0 obj
+<< /D [ 3886 0 R /XYZ 81.145 422.129 null ] >>
endobj
3920 0 obj
-<< /D [ 3918 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 411.171 null ] >>
endobj
3921 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 400.212 null ] >>
endobj
3922 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 384.271 null ] >>
endobj
3923 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 373.313 null ] >>
endobj
3924 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 362.354 null ] >>
endobj
3925 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 310.548 null ] >>
endobj
3926 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 699.091 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 299.589 null ] >>
endobj
3927 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 688.132 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 288.63 null ] >>
endobj
3928 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 677.173 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 277.671 null ] >>
endobj
3929 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 666.214 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 266.712 null ] >>
endobj
3930 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 655.255 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 255.753 null ] >>
endobj
3931 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 644.296 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 244.794 null ] >>
endobj
3932 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 633.337 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 233.836 null ] >>
endobj
3933 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 622.379 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 207.933 null ] >>
endobj
3934 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 611.42 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 196.974 null ] >>
endobj
3935 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 600.461 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 186.015 null ] >>
endobj
3936 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 574.558 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 175.056 null ] >>
endobj
3937 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 563.599 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 164.097 null ] >>
endobj
3938 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 552.64 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 153.138 null ] >>
endobj
3939 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 541.681 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 142.179 null ] >>
endobj
3940 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 530.722 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 131.22 null ] >>
endobj
3941 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 519.763 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 120.261 null ] >>
endobj
3942 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 508.804 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 109.303 null ] >>
endobj
3943 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 494.857 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 83.4 null ] >>
endobj
-3944 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 483.898 null ] >>
-endobj
-3945 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 472.939 null ] >>
+3885 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3946 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 461.98 null ] >>
+<< /Filter /FlateDecode /Length 2935 >>
+stream
+x\ˎ;+QD 4hwYoޯbKAiJb9S^oן~ܕH,7p.q s}\oɹp7yR?V^,sZ n8S;
+޿+TDOϔoSGU)7g] wXol³t8
+Q:iw.QF54Y&}E,05FJY{R3zǜb#6Wg8sP5M<-AdBvKnV>kn}p>$Or@rKH x~mMr0(JEi_mS:Q9RsEni0ɌR*52UO
+_x^ F;HB@ K *4>Qҟ߉2HrNB3E[tErW_5ۉ1T8F^] 17Ęz-^M~&804t^#פ ;%+r Գ)L)-'[Q(ЖY;Y,bgj}Rd+>Җ g(ΦE#іoyu-ٌquFZ (LuK~.Ih߲gƎ&;@ -+$7vbF̀F ;EJ d5=QWF2h%]}P<F("86a('gVX~='7@,Ĝ7 I"YY>\Ȋ]>ź K060>8Ss
+:OIS\fY&5ݬH<_m}d^üR T&RiA^J}TQC#=;y V#u_"ÛorJGQ7Zx8":>WQxoFj
+J-^ r+2GSU"Bb%{2$i͌[`L?`?|~]]0Zζj6Q"kWd-s6[?^\P}A5Rґ':kf"E !C tI&|g%Iֺ92Y$2{<GՖh̞(7?8Vͥ#uhuLIN>u:#Vҍ΍<ZD֧}t5qL M|\ILɶsZlKrt$ys¢]s@%)e\h¤#%VPy%X bnR $mFUXR=lD.Kwqj4צ0+"72o3HHL. HPCap|Tb[ea)}lL YZ&qӝ\q]uSpusUɍR*خTl1K_?)(x;T}D5 ;"Cb*
+2#og13Ǟ00*ߊXj֤I{+batm ~m6(w $l|Tfa+e'JpMP/o4?TfbJ =0`\yVfS[NmfBS^3j$|q'>T}p{
+*ץ&]';p.JHIUCOۇں>aW+}du9M($
+Xr3VSMyctP6 P7]E )~VCĆRv =gmrV$|JF;KZf'Ξcg 48wd*=@cV!6 )qݰp&zKzEnāEhYBԞ)|$Cߟ,.w^܋K󧤓0Oܪf]8% I\4&%Cg}J00J2{kiWlMjGkDZwͿ<𺚻~WJ,wBT6
+h_޴FG؇/?K}ғ8jrd(4N7S??Ӷ(NIN">F"ܶT61F^tiM$#mqۤՁN8Gb=
+)G__8/ֻlockHÔ>4R~$j{Ep+ @hn>{ _TLk [%XOIuMj:FJO3R5FJ/]Vx<s
+r\rȌ%FBgTJË|.
+endstream
+endobj
+3945 0 obj
+<< /Type /Page /Contents 3946 0 R /Resources 3944 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3947 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 451.021 null ] >>
+<< /D [ 3945 0 R /XYZ 78.37 808.885 null ] >>
endobj
3948 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 440.062 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 768.829 null ] >>
endobj
3949 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 757.87 null ] >>
endobj
3950 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 413.163 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 746.912 null ] >>
endobj
3951 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 402.204 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 735.953 null ] >>
endobj
3952 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 391.245 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 724.994 null ] >>
endobj
3953 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 380.286 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 714.035 null ] >>
endobj
3954 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 369.327 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 700.623 null ] >>
endobj
3955 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 317.522 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 689.664 null ] >>
endobj
3956 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 306.563 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 678.705 null ] >>
endobj
3957 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 295.604 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 667.746 null ] >>
endobj
3958 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 284.645 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 656.787 null ] >>
endobj
3959 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 273.686 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 645.828 null ] >>
endobj
3960 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 262.727 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 634.869 null ] >>
endobj
3961 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 251.768 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 620.001 null ] >>
endobj
3962 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 240.809 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 609.042 null ] >>
endobj
3963 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 112.291 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 598.083 null ] >>
endobj
3964 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 101.332 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 587.124 null ] >>
endobj
3965 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 90.374 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 576.165 null ] >>
endobj
3966 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 79.415 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 525.431 null ] >>
endobj
-3917 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F81 377 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3969 0 obj
-<< /Filter /FlateDecode /Length 2428 >>
-stream
-x[n#+!/ 0` ܵwA* g&7[bY͙]?~>F \>&.LE+_74{0abU
-M#@08(QO( 3<G z!/֭j E2-e^K8[;@)~Qs?oKQHE]Z >4{r J
-xFюլCEs^֤R2by*:
-6]k1qwu}ݚyOk"aG=ᇼW+IT9BxRJ|@EQ_p95ɵH}]<zIϋl)g'L#-*B0#vd-җ
-CSh¦STM-o|Jc왤 L qIx-:o1gxImiVu6L6!̲ɏ>ՊwK% rE+Hz̓wHK)1G9@۽L+r(ý!JR"
-3Փy801mDtx*x#MSٔfp햲[Jt˿ C<T̀7V_E솵L.'HH\XRn޲*[!:U{۩U[ꬡZ]kYUikN]mw`^@8ximyJ&weیP$3\(yC=XFbޥKGܠ&7ǽ-ܴٸPwጘ>"\IB[tꑍ'/759ۂɢwـ9%xv-KGJ5yQ"")=='"-NDv$KLVwH_.[yKvFba!]^s -PkYJ*ҧ!QkC}$RFĤA{ͧ蕷Y-H8M)6]sdg [}MS"CZ*Pw͹x&DӨ1'iG5!S-l#\HOT/Ow Iwds*^-rim< 쀴cGԹĖ*רkxq}ՎZΨ? &;{,-7pm=s'q,AO_ǻ
-^m1L*5٬2KE:;C+FxkU+V͘9P7';dBHgDcԶGo*ҽ@ RXةS“kp$=]骆#jZ6+e없KPZf,&4]Z[9W?Hٱ/WIeGYm5G"GY #duyni9;dSBOP9m zJ-o/qa("Uqe!Ik6@ϩ&.pS#ј='&&f-{uH_ fnWwhv6s" aDs`t^{J{:2pj!zIlN%"}:?XÜhToNњԓۼ׭8:G3+@ݏkÉK䱕8]z^}0}-dcUIM$b4q=7q}+`ėw YtC8.OތxZ`k<}Ϣ>R&f@sO6!Ϗ$Ro_J10zj8a!%CC? D >j~; 3/9cl|
-endstream
+3967 0 obj
+<< /D [ 3945 0 R /XYZ 81.145 514.472 null ] >>
endobj
3968 0 obj
-<< /Type /Page /Contents 3969 0 R /Resources 3967 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3945 0 R /XYZ 81.145 503.513 null ] >>
+endobj
+3969 0 obj
+<< /D [ 3945 0 R /XYZ 81.145 492.554 null ] >>
endobj
3970 0 obj
-<< /D [ 3968 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 481.595 null ] >>
endobj
3971 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 470.636 null ] >>
endobj
3972 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 459.677 null ] >>
endobj
3973 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 717.686 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 448.718 null ] >>
endobj
3974 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 706.727 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 324.486 null ] >>
endobj
3975 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 695.768 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 313.527 null ] >>
endobj
3976 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 684.81 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 302.568 null ] >>
endobj
3977 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 673.851 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 291.609 null ] >>
endobj
3978 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 662.892 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 280.651 null ] >>
endobj
3979 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 651.933 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 269.692 null ] >>
endobj
3980 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 640.974 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 232.059 null ] >>
endobj
3981 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 630.015 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 221.1 null ] >>
endobj
3982 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 619.056 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 210.141 null ] >>
endobj
3983 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 608.097 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 199.183 null ] >>
endobj
3984 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 597.138 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 188.224 null ] >>
endobj
3985 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 586.179 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 177.265 null ] >>
endobj
3986 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 575.22 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 166.306 null ] >>
endobj
3987 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 534.595 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 155.347 null ] >>
endobj
3988 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 523.636 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 144.388 null ] >>
endobj
3989 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 512.677 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 133.429 null ] >>
endobj
3990 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 501.718 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 122.47 null ] >>
endobj
3991 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 490.759 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 111.511 null ] >>
endobj
3992 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 479.8 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 100.552 null ] >>
endobj
3993 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 468.841 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 89.593 null ] >>
endobj
3994 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 440.17 null ] >>
-endobj
-3995 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 429.211 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 78.635 null ] >>
endobj
-3996 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 418.253 null ] >>
+3944 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F81 377 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3997 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 407.294 null ] >>
+<< /Filter /FlateDecode /Length 2574 >>
+stream
+x[Ɏ#9WJ#Ztnyku4r>8vHIQI/Ǐ=84hy\kq_K_OBù98OJ_Pj\O!MϚ_gHa8#;shD$DXmclcJ& `~OiaHY
+yW{Z'=/{<)(*jjShȼBUB6".*-,6f۽LK:&.b1,~wAE5Ul(2Ƽ~rlx"]D)4و4iD]%+*#SPr1R)o6=S5B7>g7ALs
+ F1YBr0ͥż)Y썡{2rxc3TUyݮ8:`+™
+E2gB˗5Pv%쥽vz4οfH)b?_8x'b@.<Q 7"#(ë7~Qff :Ʉsμ#rΖS֏t@WKdzȽɌ;EJlϓ;.[ IcD;B
+!tk Μ]^A;.0ROVSxE\r`;a,fOl`۹ΔnA \mf-gisUk)l#֢f)PNw%֎IH=_LV|: ^#g5}0P{n5&lW%{68O JeLP@سo[$*|6h1 @//@ (ţ
+c O\LC zg4WU1Hg#(Eyv w=%;pe?nFMwzJBu6鄼RM@M<;jUirf }ˠؽ++z.GWn>}b\mJ ͕{
+.8 3{=* Y\:o9rxSWr5W:T:n41a*Ta_7Y㊞[,7ٻ[4 v*tw(-(ruXXԌ;aE3=I:V[4ȄJ@ >sr´Y^/HhY˜tYWnt d!1JwRv4T.RsF)(9}e;dfF^ (΢R;D #a͒h/7{R%;Y8SF)HPŃi%yˁ^BO)Dw/^P]12QJjUʿjز?mZV: c$xi"tP+enYq鯧/ȡlj3fcYOh-3~.΁w'a\ iU09ct՚{J}Ek.
+&飞oc冮(Y؅C:.TݨYE1/!Ԛ):.*I8ybQZf/*3z阼e7n߈}טa<"ezJ)ÁYZ6tC&][߿u:V=bԊ-eC
+=RRHaHF6ïS
+5}jDKI p0 e(J4=FΕKg(Q4_=`̰ۍko8D@o1E=ڛ|&j삦ljP8N5WiÜϭnAJٝZ^OF&o`d#;lMd mxD*` gvZdJ2Gz 8?OsN+NR -Awle|n{gD~G7!2_2p5ۡ6-
+Tjqcnx%fZm$3BN+gDf_鍏’2(qVHS+z|nmQw*CP[a;&RlӣrBV`6އF0 ./\W=}RIL4hTV(hW)wnz gPY(3[A(<tZZowj4^ ޺m[w($=[ws84XEH|// !r9u68~E %'FJki K_s(!4uVk_{^H>Gq³Qv{OlPc/M*SY֯ooUJ߽6.P0IAdGJߪ/
+|羆gY"mW-q: {?ѢhNz{|q=zB> K \'DSvaLh}z i=St?^"
+endstream
+endobj
+3996 0 obj
+<< /Type /Page /Contents 3997 0 R /Resources 3995 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R >>
endobj
3998 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 396.335 null ] >>
+<< /D [ 3996 0 R /XYZ 78.37 808.885 null ] >>
endobj
3999 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 367.664 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 742.926 null ] >>
endobj
4000 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 356.705 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 731.968 null ] >>
endobj
4001 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 345.746 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 721.009 null ] >>
endobj
4002 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 334.787 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 710.05 null ] >>
endobj
4003 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 323.828 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 699.091 null ] >>
endobj
4004 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 312.869 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 688.132 null ] >>
endobj
4005 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 301.91 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 677.173 null ] >>
endobj
4006 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 290.952 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 648.281 null ] >>
endobj
4007 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 279.993 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 637.322 null ] >>
endobj
4008 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 269.034 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 626.364 null ] >>
endobj
4009 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 258.075 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 615.405 null ] >>
endobj
4010 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 247.116 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 604.446 null ] >>
endobj
4011 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 236.157 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 575.554 null ] >>
endobj
4012 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 225.198 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 564.595 null ] >>
endobj
4013 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 185.014 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 553.636 null ] >>
endobj
4014 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 174.055 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 542.677 null ] >>
endobj
4015 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 163.096 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 531.719 null ] >>
endobj
4016 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 152.137 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 502.827 null ] >>
endobj
4017 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 141.178 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 491.868 null ] >>
endobj
4018 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 130.219 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 480.909 null ] >>
endobj
4019 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 469.95 null ] >>
endobj
4020 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 78.635 null ] >>
-endobj
-3967 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F81 377 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3996 0 R /XYZ 81.145 458.991 null ] >>
endobj
-4023 0 obj
-<< /Filter /FlateDecode /Length 1999 >>
-stream
-x[n#7 )e$`=VڞJ3#kvlD*
-xN}99w蝊#X9AY{{7^)2>ۋJ`i!XkGEZ)<(o0Uʯ+$(קe;BMy^pB~-6^^ً<_EĻv+W|VJ~`ylEɪ΂bldں7ޯ ɈZXHe5[G'^-&*б;r3_OQROL~tF:NZf5gt(MtZt_;@dI:mabu<#SNaA򔃺tpFj^ˏv򸜻w ͜[,gQN\#k:z6 %91 Ih!kb:p-HڗT*%*ђ^:)&IaRz8 ֨Q8Fv~(@u%t%(YT3aLI.DHn=4k - 4zT*F * (F*Ƀa
-dഗK!kYn' 2 _dQҢH*h
-P&-@gY%WN>{?Ȯ4xoD!@Ÿ+9(Q@$p#qte2(,JGc+FOKU JB,b^0YH_*
-bIҕ5HDށfL?H$5x09 %{! OBrJe__=EC{E!ƜiP(hCeUCZ$9 'L ` Q>FJ"I]-{0(/j0ŀ
--g?AkvC3Y ;ηHqfƙ%_`&ŌIr4HBR<|P*MI٨H>:E)ɮ٭119atfL8ͣ}:) -m\Ml?n2 [ r2p'EZ%'%;i%k'U X4l}c: j1&ٝ"iN(6H8eCľAȸTy'6vA{׌>G/ %rRogA[pZF׳]j
-aZjn"cڡ59c߼CGqV|YNYgicc<-U|*kvͷ4~7pB:B+f:5_ut>M|\6V}\Yi1.\-"q5ݖW%-.;y\)vCtcuD]K|b<gCjv"x=c`o-t:1ȧسQKdK iQ˹F;̰&oa+G
-z\@Qyf\'>,w!Ǩ=ctvaPU?cpb{jPgYY֣Fo3{2c8et=Xh
-aC"JѽU45D[gS,YrjC Q:
-endstream
+4021 0 obj
+<< /D [ 3996 0 R /XYZ 81.145 448.032 null ] >>
endobj
4022 0 obj
-<< /Type /Page /Contents 4023 0 R /Resources 4021 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3996 0 R /XYZ 81.145 437.073 null ] >>
+endobj
+4023 0 obj
+<< /D [ 3996 0 R /XYZ 81.145 396.227 null ] >>
endobj
4024 0 obj
-<< /D [ 4022 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 385.268 null ] >>
endobj
4025 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 374.309 null ] >>
endobj
4026 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 363.35 null ] >>
endobj
4027 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 352.391 null ] >>
endobj
4028 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 341.432 null ] >>
endobj
4029 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 300.585 null ] >>
endobj
4030 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 289.626 null ] >>
endobj
4031 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 278.667 null ] >>
endobj
4032 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 267.709 null ] >>
endobj
4033 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 256.75 null ] >>
endobj
4034 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 245.791 null ] >>
endobj
4035 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 204.944 null ] >>
endobj
4036 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 193.985 null ] >>
endobj
4037 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 183.026 null ] >>
endobj
4038 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 172.067 null ] >>
endobj
4039 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 161.108 null ] >>
endobj
4040 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 150.149 null ] >>
endobj
4041 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 139.19 null ] >>
endobj
4042 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 128.232 null ] >>
endobj
4043 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 117.273 null ] >>
endobj
4044 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 106.314 null ] >>
endobj
4045 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 95.355 null ] >>
endobj
4046 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 84.396 null ] >>
endobj
-4047 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 527.733 null ] >>
+3995 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F65 335 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4048 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 516.775 null ] >>
+4050 0 obj
+<< /Filter /FlateDecode /Length 1924 >>
+stream
+x[͎8SV-R~FI2붘i:mŖ̤$Qı>XÇ6ۅӁLl!x0~ )㏏lP.$]
+V^j:}rt_d]ak#.AJFQF uV %np[UfEAK`87eEIm0DhV EwK)h8Dh
+SoVr Tϩsy;ҳz4z0N$^0iS #G6oT%?$a@&
+8 VO,_.rKDf7bt=
+z85V[ ըC2eL`b`F61HX
+-(oE3QE{aM<~a߫5ŅDOͪh!>L0l.Q>hrZO[-U}˂"b5@O%88ܳ؞RrlB;#ڇӱ"tZnz9bɄvW%4EWhFγ؅_f E#ڈ(ҭ645D໮Uͳ[%^&tU/k<QK=Obr&r&󹨴Cz۩fh
+HwAt$~FV#*1ćvnM -$E~u3itZH9 A)Ezq DZO:2XYXw
+"oGo- 61~g @ָ%>yQp\LHi2*g
+endstream
endobj
4049 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 505.816 null ] >>
-endobj
-4050 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 494.857 null ] >>
+<< /Type /Page /Contents 4050 0 R /Resources 4048 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R >>
endobj
4051 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 483.898 null ] >>
+<< /D [ 4049 0 R /XYZ 78.37 808.885 null ] >>
endobj
4052 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 472.939 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 768.829 null ] >>
endobj
4053 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 461.98 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 757.87 null ] >>
endobj
4054 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 451.021 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 746.912 null ] >>
endobj
4055 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 440.062 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 735.953 null ] >>
endobj
4056 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 724.994 null ] >>
endobj
4057 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 418.144 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 714.035 null ] >>
endobj
4058 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 407.186 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 703.076 null ] >>
endobj
4059 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 396.227 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 692.117 null ] >>
endobj
4060 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 385.268 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 681.158 null ] >>
endobj
4061 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 374.309 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 670.199 null ] >>
endobj
4062 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 363.35 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 659.24 null ] >>
endobj
4063 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 648.281 null ] >>
endobj
4064 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 341.432 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 637.322 null ] >>
endobj
4065 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 330.473 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 626.364 null ] >>
endobj
4066 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 319.514 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 615.405 null ] >>
endobj
4067 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 308.555 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 604.446 null ] >>
endobj
4068 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 297.596 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 593.487 null ] >>
endobj
4069 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 286.638 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 582.528 null ] >>
endobj
4070 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 257.746 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 571.569 null ] >>
endobj
4071 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 246.787 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 560.61 null ] >>
endobj
4072 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 235.828 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 549.651 null ] >>
endobj
4073 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 224.869 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 538.692 null ] >>
endobj
4074 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 213.91 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 527.733 null ] >>
endobj
4075 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 202.951 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 516.775 null ] >>
endobj
4076 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 191.992 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 505.816 null ] >>
endobj
4077 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 181.034 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 494.857 null ] >>
endobj
4078 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 170.075 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 483.898 null ] >>
endobj
4079 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 159.116 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 472.939 null ] >>
endobj
4080 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 148.157 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 461.98 null ] >>
endobj
4081 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 137.198 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 451.021 null ] >>
endobj
4082 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 126.239 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 440.062 null ] >>
endobj
4083 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 115.28 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 429.103 null ] >>
endobj
4084 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 104.321 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 418.144 null ] >>
endobj
4085 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 93.362 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 407.186 null ] >>
endobj
4086 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 82.403 null ] >>
-endobj
-4021 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 4049 0 R /XYZ 81.145 396.227 null ] >>
endobj
-4089 0 obj
-<< /Filter /FlateDecode /Length 2095 >>
-stream
-xZˎWH@v`ֽvv[EEwNtꐔCIRN2Մ+?/$u >9_Rw) o"XyEZ &~3~Y)1~%o3|֯ca82}oOm>8W }|gP(!|7#uAĴaΓ/w{$i4Rm35.0r61ڵBA;`r"%+rP,F3NQoTsnW빴 i$vq4i6x6sV!{TG;Ko|e9NGUi Ft-,[Y@ًg6"!P]#4 1O֡@\ T-2Qcb }%/F 퀴W0#=b[[)$H)g, y8
-7\c!c quԁ¾Zie&ud'52'Ww a2H}\|AY {~\THw#e̕ }TT3o,h_F% VXX`% Ro\'H*8-9EW@Og:cQxHB"=ȀT?q =H+=>Yڣ4SY0#ݮhJY;H0id˹̨#sQ%Q}1#EtZ>9CBH!"}kZ
-?1?.Gǭ΅{t3US*otA;iOD$g\a=1ICoh3BKmSfՐ9ئ52ֈû5RxVqDՅ}TmĴ)ց
-T3~6tx[pf;\x߮dyFqujr:1}3R}R׮p/Uc'ޑ54/ZwuLk G <Ԍ5=Y稚H gX ӵSo>gz[~5 .](¨ݛ(,UjD9d2"׾g-·1-7;8[A{aKeK!-0WZan>*jD1F%qZɿYQOzQm76)+N*#DGOU,һ*ޫK/ՆwF k(]a2[wq2ظ lZ Kh#k،4 ވz9*iK޹B
- nIȂ4K={Xq_zf἞܍<Ttܬ.5`Ys*HY y}٣ʟ-Ot~r+1&GYz&htFnYV=A{j4L|(4q3Mdp% H4<3yR+q~*S @c2֟*5R;)~/
-endstream
+4087 0 obj
+<< /D [ 4049 0 R /XYZ 81.145 367.335 null ] >>
endobj
4088 0 obj
-<< /Type /Page /Contents 4089 0 R /Resources 4087 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4143 0 R >>
+<< /D [ 4049 0 R /XYZ 81.145 356.376 null ] >>
+endobj
+4089 0 obj
+<< /D [ 4049 0 R /XYZ 81.145 345.417 null ] >>
endobj
4090 0 obj
-<< /D [ 4088 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 334.458 null ] >>
endobj
4091 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 323.499 null ] >>
endobj
4092 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 312.54 null ] >>
endobj
4093 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 301.582 null ] >>
endobj
4094 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 290.623 null ] >>
endobj
4095 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 279.664 null ] >>
endobj
4096 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 268.705 null ] >>
endobj
4097 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 257.746 null ] >>
endobj
4098 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 246.787 null ] >>
endobj
4099 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 235.828 null ] >>
endobj
4100 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 224.869 null ] >>
endobj
4101 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 213.91 null ] >>
endobj
4102 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 202.951 null ] >>
endobj
4103 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 191.992 null ] >>
endobj
4104 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 181.034 null ] >>
endobj
4105 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 170.075 null ] >>
endobj
4106 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 159.116 null ] >>
endobj
4107 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 148.157 null ] >>
endobj
4108 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 137.198 null ] >>
endobj
4109 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 126.239 null ] >>
endobj
4110 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 115.28 null ] >>
endobj
4111 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 104.321 null ] >>
endobj
4112 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 93.362 null ] >>
endobj
4113 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 82.403 null ] >>
endobj
-4114 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 511.793 null ] >>
-endobj
-4115 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 500.834 null ] >>
+4048 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4116 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 469.95 null ] >>
+<< /Filter /FlateDecode /Length 2284 >>
+stream
+x[n;+H" }n0ۙYzŶ JեS)>$Ka._߮x7"x?E⵰xqV i.z ,Bxx"X ~Q`vE7){AH}H+ьj m߽}&ɁƛP?oP+Roˌr7JddKhndz(3vc|oWd!!0 WiS JhO3Rl$i\d&oֆygλ1FTeoF;?c\ǂ23?NsiF9|
+@M[^uց
+†J֗82 7b m}\n^
+<n3ҜM(fdtֱ?#rஓ'xH]^s[ǞW663f++< ?  h`YIV> Y[β=RQ✮839!"gzwe.!KGû\J_S^iKCV!=<- =(QۛgInzU5mMOJ⺦ q5K/ s+%hBzԪ cCRmj:b &EXe=FĦ<a(8IGx=xt#b(ߙNo=eJ/ t|0˙ u婌w+B wfT5à|džg0qA%]
+qUAgaPDPk~aY1<ۃPH?yg=< PGsK_;45Ȯ$ƵR^޼ vrֽirSusRe</<yI/nZ;RyyX\729Bz#/_%#z!|xgg+༚#'ݬO=˧g[{2~«$AqQtgf0uNmc=hXa|L;aU*7j'5wIL)k .h^3=GU&:~{~
+P>Gܥ=O-% 5/i|4NU{mhzPT
+X9Q߁
+3yX50ĭWH̶~ 1^~GX솰^K+T!~{XJZ[bq#+j6ŢV)bv/H)z h٪n,HW4Zu* i Ԟߚ[3uP=H:8[4H(ً:TtR{kG yd<Ygἃu+rk%Oڵ.@iO(q+ʑmX.HîRǙj~m6JxI'Dխg׫=ܩw]Sq%<C
+tj}C[+>YXupk<lj^A%<b=yy?`ÜDżn{_5=w 5 mPXI,ל>9 +;82hf;ԣSm5xpCF}
+L*O?[ԃ R,@h%bphH_Z
+endstream
+endobj
+4115 0 obj
+<< /Type /Page /Contents 4116 0 R /Resources 4114 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R >>
endobj
4117 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 458.991 null ] >>
+<< /D [ 4115 0 R /XYZ 78.37 808.885 null ] >>
endobj
4118 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 448.032 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 768.829 null ] >>
endobj
4119 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 437.073 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 757.87 null ] >>
endobj
4120 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 746.912 null ] >>
endobj
4121 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 415.156 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 735.953 null ] >>
endobj
4122 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 404.197 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 724.994 null ] >>
endobj
4123 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 393.238 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 714.035 null ] >>
endobj
4124 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 703.076 null ] >>
endobj
4125 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 341.432 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 692.117 null ] >>
endobj
4126 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 330.473 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 681.158 null ] >>
endobj
4127 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 319.514 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 670.199 null ] >>
endobj
4128 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 308.555 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 659.24 null ] >>
endobj
4129 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 297.596 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 648.281 null ] >>
endobj
4130 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 286.638 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 637.322 null ] >>
endobj
4131 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 275.679 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 621.382 null ] >>
endobj
4132 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 234.832 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 610.423 null ] >>
endobj
4133 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 205.94 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 599.464 null ] >>
endobj
4134 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 194.981 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 588.506 null ] >>
endobj
4135 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 184.022 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 577.547 null ] >>
endobj
4136 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 173.063 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 566.588 null ] >>
endobj
4137 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 162.105 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 555.629 null ] >>
endobj
4138 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 151.146 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 544.67 null ] >>
endobj
4139 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 140.187 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 501.831 null ] >>
endobj
4140 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 129.228 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 490.872 null ] >>
endobj
4141 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 118.269 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 479.913 null ] >>
endobj
4142 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 107.31 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 468.954 null ] >>
endobj
-4087 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
+4143 0 obj
+<< /D [ 4115 0 R /XYZ 81.145 457.995 null ] >>
endobj
-4146 0 obj
-<< /Filter /FlateDecode /Length 2218 >>
-stream
-x[;#7 WLS$z
-QG|\1wȏ-O맟^9,X<I/I\ڝUBZuz:eC%^P}Dwt_"C_
-tj|a/G)8v]"K]#[-l\G; .= Z'|F_H"_I#YH󚳘(dMFHowm*e`() 9UkD0"xE "C'#͎3'%w/#f8o l[]j756Z'M0z87"4{$o"5X>)އysMnhMgL;l;zl8׾+q-#ytZ
-ЖYGj43w?Ad(YgOopV2j<k1[6״)Plau~tJH}cOP?a|r-,]a7|^jmBITB66*pӡÒH#.jעk
-u@}=DNIT}CN
-]:f)Hxޚ=˩Lr(]&Io"!VvDlLIV̡:K;H5hzMɄ}j(P4"nU'%EIM:-V;QS"cȘ}lrIEʦs,)7ݻyWDBwz*7-?_Uݖ]=B:?&ha}`?/? 5C-jvPӜz{F[e5*;*8 wvusUǯ#+e-íf.c
-X1kH|<.# 2u@2+96U> kYt@r?/,*au4e;.^P66~ 84۲Ű͔#X)6Xry`.PK&ޖs4xAW (q2.]f>niS^\xs1q e[a9-
-`DOB%F֩ I?"5SFȕXzou=:
- ngT7DDN0wG9Hq@7ܝ(~{oIҐ"V>j_X
-ʑd[iuM }iߴ+] wiuSO[@nݰMiwVSFaw-;w[*1ևɻXá&: i)o$V5z3C|O6JN?Fߒd4lSSnjMn
-Ȋ^70GR]|[[? ;5ŹZE:䲂lʸI&U0|=c>y Kssr=N,- %P5 
-eiRefs?
-endstream
+4144 0 obj
+<< /D [ 4115 0 R /XYZ 81.145 447.036 null ] >>
endobj
4145 0 obj
-<< /Type /Page /Contents 4146 0 R /Resources 4144 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4143 0 R >>
+<< /D [ 4115 0 R /XYZ 81.145 436.077 null ] >>
+endobj
+4146 0 obj
+<< /D [ 4115 0 R /XYZ 81.145 425.118 null ] >>
endobj
4147 0 obj
-<< /D [ 4145 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 384.271 null ] >>
endobj
4148 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 355.38 null ] >>
endobj
4149 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 344.421 null ] >>
endobj
4150 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 732.964 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 333.462 null ] >>
endobj
4151 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 322.503 null ] >>
endobj
4152 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 711.046 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 311.544 null ] >>
endobj
4153 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 700.087 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 300.585 null ] >>
endobj
4154 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 689.128 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 289.626 null ] >>
endobj
4155 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 678.169 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 278.667 null ] >>
endobj
4156 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 267.709 null ] >>
endobj
4157 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 256.75 null ] >>
endobj
4158 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 227.858 null ] >>
endobj
4159 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 216.899 null ] >>
endobj
4160 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 205.94 null ] >>
endobj
4161 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 194.981 null ] >>
endobj
4162 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 184.022 null ] >>
endobj
4163 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 173.063 null ] >>
endobj
4164 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 162.105 null ] >>
endobj
4165 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 151.146 null ] >>
endobj
4166 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 140.187 null ] >>
endobj
4167 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 129.228 null ] >>
endobj
4168 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 118.269 null ] >>
endobj
4169 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 107.31 null ] >>
endobj
4170 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 513.786 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 96.351 null ] >>
endobj
4171 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 502.827 null ] >>
-endobj
-4172 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 491.868 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 85.392 null ] >>
endobj
-4173 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 480.909 null ] >>
+4114 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4174 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 469.95 null ] >>
+<< /Filter /FlateDecode /Length 2414 >>
+stream
+xZ9#W(bd#kdp#O]Zl,mu|,6glj?\?^~+wB欐pE8' LhO9o+\Jo{~[<Y洖
+
+=")wyUx<8kynD}"Lpɩ՚=R#{|ǯ)4#(>=R uʺ*?X&H5{~|^FaɈk2HUF4dWEDjdW暁֣H0nMʭdW(wC Dx/ꢝb.
+t=x,k$^Ve[aA
+O5[<S7-gIt3z n)l*LE|[jv"iӰXcik]aQV0{3CʵK%''Vkla@r-iS<fF)yo5L&l>CCb[|kgܓɇu“sZ8NkBT3btH^gpk+m5B qy{<a݅eʩiF7jDzʩz~]ۄm7hSnSNte_E%VN3m:棯1s, FHʖϢ>V1#LE&7 5q@Ze>> (ϸͪN3)Vh$6-J%\LE\XpEY00u H c}]ժYD-<Y+KYl@5ɗr9?1iG}jEم#qT|
+4z$_UkyQ.L @ #RffUgNeTuBgGATus{WI}uz6!ZøTbGEֵG.3BwGC["~{=G^B-jj(^4=9=Rt[cw!v!dDԊrLţ$*S%j #}#SE %GZ;4q!éy0 -3TS8X<& Hv UigXIN#|[@-w~g 37`J~ʏis(E
+/oy!;g42I)gY82뉶ՈO{[hhn螤:yYPZ4lO)_O0<(GK.4e%׮I3M
+fzb0 j'Yr(Q N2 'y1О[' _>7g,jkƸCLkT2+ )z5K ;}[px;Os5u}
+NUpnKaS:}\ _0uk:^;\L?,x&aZak`^ݍ 0N6./jJ÷3 GB)\[L3Bn(8# V}ciT@g /4Ze?mo 9P~_Xb)9AwG5-eAO@KlĜ6^i;$Ϣ-JGw8_rG=5<l^ӉR?rK-9|5BjSjH3Ꜭ(rzs<Kя
+e:6v z0Qp$
+=
+hZ~r.qa"G/$9M~Iyv7'* 5>_ǧ-WHOR,ʜk_ OnCAj3\X:o=Cy䆜l>:"ٿWX:DO|)QC>w$Df9vLiO_5 <ai#Ci{kfacIWoX֣ByexXP$\
+endstream
+endobj
+4173 0 obj
+<< /Type /Page /Contents 4174 0 R /Resources 4172 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R >>
endobj
4175 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 458.991 null ] >>
+<< /D [ 4173 0 R /XYZ 78.37 808.885 null ] >>
endobj
4176 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 448.032 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 768.829 null ] >>
endobj
4177 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 437.073 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 757.87 null ] >>
endobj
4178 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 746.912 null ] >>
endobj
4179 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 415.156 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 735.953 null ] >>
endobj
4180 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 404.197 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 724.994 null ] >>
endobj
4181 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 393.238 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 714.035 null ] >>
endobj
4182 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 382.279 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 703.076 null ] >>
endobj
4183 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 371.32 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 692.117 null ] >>
endobj
4184 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 360.361 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 681.158 null ] >>
endobj
4185 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 349.402 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 670.199 null ] >>
endobj
4186 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 338.443 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 659.24 null ] >>
endobj
4187 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 327.484 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 648.281 null ] >>
endobj
4188 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 316.525 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 637.322 null ] >>
endobj
4189 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 305.567 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 626.364 null ] >>
endobj
4190 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 294.608 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 615.405 null ] >>
endobj
4191 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 283.649 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 604.446 null ] >>
endobj
4192 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 272.69 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 593.487 null ] >>
endobj
4193 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 261.731 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 582.528 null ] >>
endobj
4194 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 250.772 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 571.569 null ] >>
endobj
4195 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 239.813 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 560.61 null ] >>
endobj
-309 0 obj
-<< /D [ 4145 0 R /XYZ 79.37 183.439 null ] >>
+4196 0 obj
+<< /D [ 4173 0 R /XYZ 81.145 549.651 null ] >>
endobj
-4144 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F83 414 0 R /F59 346 0 R /F84 425 0 R /F88 635 0 R /F87 2313 0 R /F111 636 0 R /F64 333 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
+4197 0 obj
+<< /D [ 4173 0 R /XYZ 81.145 538.692 null ] >>
endobj
4198 0 obj
-<< /Filter /FlateDecode /Length 2168 >>
-stream
-xn+'t?
-(RǕή]=< u9a~<s~v%<)%1ʞ<Bۓ%%$׿?_w)UJ!%^3? %ۋ&z-m᭮/eǨ`L8ީJ!u{c__0oʜ5Ad
-k`Z_9qNO/A])
-}tx_vf/0k)zCK W.iWX#emNv8X,훘Ml 54V\9:{#Dp|e&)H(R}T4{Z;L;&h\eL kZa_y}{aw(GfƋY܄Y9$}8;%/@{/)1 <QR"IJK:NJdAjTneTc'"eaM]'f0@6
-XҌ8Èu2$kƻg
-8$s؞
-HA}H>Ђp)B -*h z7^A ~`:,%rհ+
-+vm8\=S/&lLؘ!.8gOgoMR F
-!:17# ޔ8:ift^m)D+Z:s,̶SٳWg$% qX4aJ#&C'vb2af
-0[dV0Ǒk^ N8;pЕ걋7}h0N8I|Ǎ9(
-#H*#xu~aȭh,OUG_i^jW͒X؇*0<OG;="޹QJ bwfE pb*;om#a1s.pDM?qzOkI\*z%7Y
-[)J'=WҪYZX,0rE0}xᩪ4M,(i0ʇnq%̓ϯH LvMWe Yߠ#IN<sbQ<in
-"tݴ"|Wr6b.We !ˁsݮWC+?I5;Vì-tBv-e4 c ߏG4
-pۃԣ{o-9F<w^8UZ|, l]]^s{).~_ YT6u:gi*$⯭,z&?xU
-endstream
-endobj
-4197 0 obj
-<< /Type /Page /Contents 4198 0 R /Resources 4196 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4143 0 R >>
+<< /D [ 4173 0 R /XYZ 81.145 527.733 null ] >>
endobj
4199 0 obj
-<< /D [ 4197 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 516.775 null ] >>
endobj
4200 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 775.009 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 505.816 null ] >>
endobj
4201 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 704.799 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 494.857 null ] >>
endobj
4202 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 646.545 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 483.898 null ] >>
endobj
4203 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 600.246 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 472.939 null ] >>
endobj
4204 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 553.948 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 461.98 null ] >>
endobj
4205 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 507.649 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 451.021 null ] >>
endobj
4206 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 425.484 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 440.062 null ] >>
endobj
4207 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 355.275 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 429.103 null ] >>
endobj
4208 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 273.111 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 418.144 null ] >>
endobj
4209 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 167.036 null ] >>
-endobj
-4196 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4228 0 obj
-<< /Filter /FlateDecode /Length 3835 >>
-stream
-x͝ˎ#E~
-]RػL36Y !*lLj[;еwbmWLg7M]2 /Z\!&|_s<B1S+:7RRtpW!_h;0A kGp*ӮNsi [}=ZEcJubWzfIxҳEMعCWV^wZ9څ'-^2ޗбI`MC 6iqE ?]{ppD2eqXӦbi7-efX, ٝe[{8
-+@**>H(9Zs @hpa]Ch﬙b:Rc:-jq$ǣ:ZWea@[3Ɠ 0=K46c'_pjd
-~7~gN͋BN.
-%<xJh>k*KF$~/6k]T!mXTr*h;m(X[^<>n#8xl
-~ \
-F~0>G;kmd:+Z:E}sbQ)ji{+g }*<H烳T䩲zU|ʰw˫},WyI2'o;T_ܬTdrH(S %M-Lڮyڞey1} ̺/V
-:5 )\YWX;U !ubkfIA>Ͷ_T~g,Dd5}GVL^7G[[9[$'?s{ݍ,Wf8 uɎͲ,
-Z˗M}jv"݄۲Ff;[g}ݕr)!3hE6kC)㯓M dw@/*'}pST2+qI38f܊ú&y} 3'TPV%/=e Uw=xbFkSzS4lVWr6/FR~b3[ᕈ`04@/wci!OKI^tg[>$1-v@2M3!<xE3`$lR4x͜Nڰktx އ}H/}~\D%I_?a^ӑ)}vysfr~7Q@+xE|*LPS`PŤQPVұɼݩ|<'忞8"7bnOϻzpb|{'1lKF[{;ѻgd
-9ߕv~ŝ +&$a~^h#<a,U9|qFHewlu"wygJf\+/D4w^`yqH,ߙ7Kݾc^ܨ(w3-`}OI(4cE7 J<pީT`}/71ڃn~vѤy-?&k͙݊*$Ԍk72jˠ#JG;GyyzEq(O2͓}>ԋ&lzfpyݭlOfO+^Z#m}_Q|_q1so&Ca0fO"JHP{iJ^]*(]c9Ӕ†ΠtveP`:(t$=JWi]"/|0ӤGtF4q42g=:M\t)SiTӄiu"i)4&&U.04ٝ`:4>{T0)I)~0]OshtbntT1-vG_F]<ILrx.JO٦Y;eC{ccǫ8Vbۀ+h
-f-ZѢ ZѢ-ZѢZ¬-ZѢ-ZҬݵE+0ZE+@E+0iƊV4kFV`hFV@t׊Z'%lZ1{o*a˝M6|ztq-ȶWF` H@t}hf}h}hf}a}h}iѢ/-Ѣ/ Ѣ/cE_@E_0ZE_ ˤ\~\_xBP3_PˏBӓ3>5³cxvfQyvfA=;H7ώͳ4{vfQyvA=;HgGA=;H/dٳt ͞ٳ4{vϾ/
-iK)oOu)Gc/W/ؾN꡿+k1.\ Z=z[ͧ
-iݕ@`0<@8@0kƲ4@(0@, pWQ`I`VA*r,b
-0Z
-F`H
-H@tIhfIhIhfIaIhIi")-") ͒")$cER@%ER0Z$ER K$ P
-endstream
-endobj
-4227 0 obj
-<< /Type /Page /Contents 4228 0 R /Resources 4226 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4143 0 R /Annots 4237 0 R >>
+<< /D [ 4173 0 R /XYZ 81.145 407.186 null ] >>
endobj
-4237 0 obj
-[ 4210 0 R 4211 0 R 4212 0 R 4213 0 R 4214 0 R 4215 0 R 4216 0 R 4217 0 R 4218 0 R 4219 0 R 4220 0 R 4221 0 R 4222 0 R 4223 0 R 4224 0 R ]
+309 0 obj
+<< /D [ 4173 0 R /XYZ 79.37 350.812 null ] >>
endobj
4210 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 287.863 168.645 296.75 ]/A << /S /GoTo /D (section.0.1) >> >>
+<< /D [ 4173 0 R /XYZ 79.37 242.547 null ] >>
endobj
4211 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 265.945 162.18 274.912 ]/A << /S /GoTo /D (section.0.2) >> >>
+<< /D [ 4173 0 R /XYZ 79.37 196.248 null ] >>
endobj
4212 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 242.085 199.908 253.053 ]/A << /S /GoTo /D (section.0.3) >> >>
+<< /D [ 4173 0 R /XYZ 79.37 126.039 null ] >>
+endobj
+4172 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F88 643 0 R /F87 2310 0 R /F111 644 0 R /F64 333 0 R /F15 334 0 R /F74 337 0 R /F83 412 0 R /F65 335 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4230 0 obj
+<< /Filter /FlateDecode /Length 3450 >>
+stream
+x͝n$9~
+@sy @%sbk}cd3y/u4U_%T~I??>2FLzoO)SFh~ZW݇MkN:ڗ.J8<x'uK,TT3+R c˿~Am3ᩨ-q4oUAz-R-ѹJ|bKjGW5֩|ڢj,[:W߯3Ψ\U?]JNh#e}PG,_h L
+ŏutE*پ]O&38HkeشoT36&i]]cWrTzڜʗmp&hQb[ak믯{ݤ3ddƘU1-'ĥXCcT6EPkQz՘2WƼkUWr+08 CB!+|o!TwW}Vƺ>/گ]ͻ19Fŭ]Tޗe2x$=hJJi嶚D,igļs4{%wHU_ c=jӍ,|In)§f
+A.>}p=y>\Z'y|0oM|݃P2]=Fk>8wHX˕ݪ#lڔ8+䱐Ct!t z?|_U3p[*qZbq+䟯>1ؑ^<Cvمn4A}*ݓj,붹ss9/
+~}~#`{=%*ؑ^s%G<_Ř'凢l0YK+]+/:r{Mq9Ί4ؑ֔e>wAr|^% 2Vq,}'%wz,qIGVUJ9s&_hSy8dhٌI]LE_-BFX7SB?xH&㜚Q3[X2*t7^$.q.)D44i_(4&" )E|XٝqR19eE\&ﵞwնhE;!lm/FaГk_S]Z˶ul~DkQF?N~*Wc3'Q4sbD)RDs&\{਍?>rvs;Ri'߽o]nS\/3~W߾Dt'K's'*c]KxHfcmy̵?<~}')c\ͳKțVw>`W ~Wڨ(XSuҙ$^a\ysݞϯl xUu[mW@~JHRrS0, Yˊ+$B?%ǒrXO:VM?MenD3
+X0 ?]׺wT$"[X5ny*9۶-w&qQƕˇNEH;IttvGc\ލf7$6en0?*@;o˟SITRM^Ws[B\vkr'gh~H&t\ݩzSOa6Wϛe%HuOTmWT5cͽQ6we}V޿5[d\V~tʖmKkGmɭn_v]-(P>j06L"Zzj#m18QIh-RPΎ ŐB
+g2;M A N*s pi71%38(P8j yaS%pj(L(tjBu׉ N o>TPQ
+SPiGn<8ܞFb0(\S?2Q\=Y uh䬼 ["ҽ(-Ѱd0Đٛ
+vS
+w34 r@n=4Y ͆@fGtȲ%Pk ͢
+ƲQ X`0L X\`0#5b f@8E!,A!`D5 gd6@G^GmSo%cDp1Z8FKh q%cDrP!zsh1Z9Hs@hC:JLi-Q%cu}_F3_寋Z|wYR\qF{CMhw|y>"ͻfE`(E-hV"0ZѢE4+"0ZѢE4+EfE`(E-衈9VɿcW7yGU4ɫ+=&SAl2ցՁQ8w@i~
+ ͙FK=SX@3L%Sh zd
+[g"S0Ij
+]}ڕn}>ݖxvK\Ks[{h&F41Z"M`&F41Z ,Mh&F4A"MibHY h&F41Z ,Mh&F41Z ,Mibt&Ɗ4A"MibH44,UJ̙mݝ^[ _lbǽiw |q/66 @
+`6
+endstream
+endobj
+4229 0 obj
+<< /Type /Page /Contents 4230 0 R /Resources 4228 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R /Annots 4240 0 R >>
+endobj
+4240 0 obj
+[ 4213 0 R 4214 0 R 4215 0 R 4216 0 R 4217 0 R 4218 0 R 4219 0 R 4220 0 R 4221 0 R 4222 0 R 4223 0 R 4224 0 R 4225 0 R 4226 0 R ]
endobj
4213 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 230.08 217.99 241.039 ]/A << /S /GoTo /D (subsection.0.3.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 255.115 168.645 264.002 ]/A << /S /GoTo /D (section.0.1) >> >>
endobj
4214 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 218.124 271.838 229.193 ]/A << /S /GoTo /D (subsection.0.3.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 233.197 162.18 242.164 ]/A << /S /GoTo /D (section.0.2) >> >>
endobj
4215 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 206.289 260.909 217.128 ]/A << /S /GoTo /D (subsection.0.3.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 209.337 199.908 220.306 ]/A << /S /GoTo /D (section.0.3) >> >>
endobj
4216 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 193.776 282.11 205.731 ]/A << /S /GoTo /D (subsection.0.3.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 197.332 217.99 208.291 ]/A << /S /GoTo /D (subsection.0.3.1) >> >>
endobj
4217 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 174.239 177.731 183.285 ]/A << /S /GoTo /D (section.0.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 185.377 271.838 196.445 ]/A << /S /GoTo /D (subsection.0.3.2) >> >>
endobj
4218 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 159.903 307.764 171.858 ]/A << /S /GoTo /D (subsection.0.4.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 173.541 260.909 184.38 ]/A << /S /GoTo /D (subsection.0.3.3) >> >>
endobj
4219 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 148.396 172.561 159.345 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 161.028 282.11 172.983 ]/A << /S /GoTo /D (subsection.0.3.4) >> >>
endobj
4220 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 136.441 214.364 147.499 ]/A << /S /GoTo /D (subsubsection.0.4.2.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 141.491 177.731 150.537 ]/A << /S /GoTo /D (section.0.4) >> >>
endobj
4221 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 124.486 276.302 135.544 ]/A << /S /GoTo /D (subsubsection.0.4.2.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 127.155 307.764 139.11 ]/A << /S /GoTo /D (subsection.0.4.1) >> >>
endobj
4222 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 112.53 251.943 123.479 ]/A << /S /GoTo /D (subsubsection.0.4.2.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 115.648 172.561 126.597 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
endobj
4223 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 102.398 258.917 111.634 ]/A << /S /GoTo /D (subsection.0.4.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 103.693 214.364 114.752 ]/A << /S /GoTo /D (subsubsection.0.4.2.1) >> >>
endobj
4224 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 78.697 378.259 89.666 ]/A << /S /GoTo /D (section.0.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 91.738 276.302 102.796 ]/A << /S /GoTo /D (subsubsection.0.4.2.2) >> >>
endobj
-4229 0 obj
-<< /D [ 4227 0 R /XYZ 78.37 808.885 null ] >>
+4225 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 79.783 251.943 90.732 ]/A << /S /GoTo /D (subsubsection.0.4.2.3) >> >>
endobj
-4230 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 775.009 null ] >>
+4226 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 69.651 258.917 78.886 ]/A << /S /GoTo /D (subsection.0.4.3) >> >>
endobj
4231 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 704.799 null ] >>
+<< /D [ 4229 0 R /XYZ 78.37 808.885 null ] >>
endobj
4232 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 658.501 null ] >>
+<< /D [ 4229 0 R /XYZ 79.37 775.009 null ] >>
endobj
4233 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 588.291 null ] >>
+<< /D [ 4229 0 R /XYZ 79.37 728.938 null ] >>
endobj
4234 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 482.217 null ] >>
+<< /D [ 4229 0 R /XYZ 79.37 682.867 null ] >>
endobj
4235 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 400.052 null ] >>
-endobj
-313 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 343.689 null ] >>
+<< /D [ 4229 0 R /XYZ 79.37 636.796 null ] >>
endobj
4236 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 328.77 null ] >>
+<< /D [ 4229 0 R /XYZ 79.37 554.86 null ] >>
endobj
-4226 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+4237 0 obj
+<< /D [ 4229 0 R /XYZ 79.37 484.878 null ] >>
endobj
-4295 0 obj
-<< /Filter /FlateDecode /Length 7667 >>
-stream
-xώV~G񽟢_$`@{,l3ls%R%T ;R|;O~koնn؎?o۩|<6oya{Nmϗ1ܵ{w]ʏbMx.?6o
-(I) Ia0ur8q2IaҤ0eR09.)L.UR(9&)LH
-$kָ]z"w^=4AsOF-oDmojm&fNS3KgN4)IҵiN5ɚti4es:i8ms9Mݜ&oRoJ9M&qN89%s9:)ӤiZtFvv&=8v?Z?!k }ՏUҤc;HKMNN$.5R99I\JpBp:p2p%BA'A@
-Ӝ Vqz&T~Қ,_-Uln۬# Ώrk>l/?{Db1dFtF)ӤFib4q8H8Mq&9Nku&;N )Ӥgԩi4Rh>l47~z-mȡBҘW Ŵ }=O,YIW~KߌՓ8J ɅBaZ0PR(P8N(L&
- k"
-ɃAEiI”Aa 0]0fa*\鏳,<}3^K4o~u/g8g ߷&fdE߀ab45qH(]4EqH8MT*N)Ӥi"uti4:q8],:q8Mg&4JlR7|{]R2~rײC Nk NiӴit q4mp68MNmp68M R NK R NiӴAچnj6LCc^nCI>> _~N0h+]grRg;,wY4r3˝f;,wY.ufu;,wY4\rNY,\rN3˝f+]gFjOn/'/g q|sl-Z?УEN#pH(]+4qH8ME"NSSSTi*"u*tTi*4:q8]*,:q8ME"J׊l*2UEkY Lۂ?Jׁ4iN3Нf;@w:] tN3НfKtN3Нf;@:ie;@:i tJׁGí;me\}9߿^.x[B{9viK>K9voy;S:ai"u"ubu %,HHHX]4a:a:a:aEE%,&,VHHH8MXzН) ty>_w}:+޿7"+eukXJ8|%Js|$!>ijh%WwcxnWBͅ^mBF?i4iL#3iL#FRg94rL#gFRg94ri4H:6Shz4z8˥} 6X>^Z_gL{1_-M
-NSSk
-NSԩTRgԩTi4UPVa**L}op
-|7fn?Я7 ߛls9Jlf4/|9Kr͗di2+u2tͬdi2+u24u:MfNf%Nf&NYɬɬ5NYɬdVdi2tɬdVdi24u*]3sfӟ~z*P沺pac}6koM+/_0n?Z}}8+MwwJ`~6z|:%烫1>9;_1ay0+ Ґ:+ ҰzYiHYiHe4+ Ґ:+ JC4JC4.+ JC4JC4.+ YiHYiHe!uVR/+ iҰ4JC4JiVǧNt>8 o7(NBIӤPBIӤiR(uRtMӤiR(uR4)t:M
-N
-%N
-&NBII5NBIӤPiRtIPiR4)t*]S˱ҞigpWSؾ(^Zc-~Gqa4qr8I8)]4qr8I89M&NN'''i$uti4q:qr89],q:qr89M&NJ8'{7Oqq=\7Ws&NWK^&NWɫɫ5NWɫɫi4yu:y8yu:M^&R'J׼:M^&NWWɫ%ΒWWɫitZ/A;~z?~5}-^mXib4ab4sI)]c4sI9M&vN;;;ib'ubtib4:s9]b,:s9M&vJح;}!nj8O:/nuo.ڬuvx]i_\cY~Gifәug9ͬsY4N:sY4ifԙuN3.YfԙuN3f9ͬSκ߾|)y)v__#hp{dX59rGI={qr ơ|\CpI ?w?x\u_iP&5"@94{3ٛ9ifR͜fo4{37S͜fo4{37sӬWft+g4Y8zEWY8zi+Rg4zY+Rg4Y8zE^YoNG^m.D.^p*kw?u9!?$a`uI$A$A$K,.I:I:I:I$i u u u`uIIKM.I:I:I:Ip$l+cev$~c%q{wá-@L\w>ԄBB
- ӄBiB4pP8PHP8M(&N
-
-k(&N
- ӄ
-g ӄiB4Pb?q<ݚ~/bwc^`y[BHqh9>[}:j7`JQ4iFӌZ3j%ΨuQ4iFJQ4iFӌZ3jf:]FZ3jf:ͨuQtk=2j kpL\hԵcӞE,ҝf.uJEӔi!u4pr8M9N9$N9NS))ҵNS)ӔCit)Ci4pr(]˱s9O}w^9/H>jr%tccs\|l.u>6z\b4UuJ*]4UuJ:MUNSUSUSUTi*utTi4U:Uu:],U:Uu:MUJתuw3%]svGUcO}m$}M{e4aqH(]4aqH8MX&,N ӄi"u¢t ӄi4a:aq8],a:aq8MX&,Jװކηn@:,;~|~|\>]ylޭɖ?kw`gx0<fx:ttN3<fx::S:<fx:t)u Ot)u ON3<s?7<WZʧ_+둺a'-F;}x#{/WDow߿?Ӽ4_u,_uӼt}=*F޿mz\w?ӯɛ1s\:GQps\z9X!qVHR``:+zޖ:mޖ:mzޖ:mޖ:mKRRRV^K^KZkkkkFwOu̓^37kOv2nANSF)ԥSF)ӔQQZF)ӔQi4et2:2J2:MNSFSFkNSF))ӔRFg))Ӕi4eTq'κj.ͩtߡ`:v?Ko[~c{?>n+_x< 2`<B uBt ӄiB uB4!p8MN$N&N 5N ӄ@iBt @iB4!p(]Cs= S\BlCz!ýfmf9]}:͡O9)u6xNs lf'u9i4]:]Wvi4]:]w;MםNNut]t]uti.u4]wtY.u4]w;Mו]_M?}M_[ \Hͳ;N3Pv4Cig(;Pv4CY ePv4CiN3.CYN3f(;PVPn;l.CҔoʯJ1epzOߋ] ]<lWf4va+N]qٮ(]4et2J2:MNSFSFSF)Ӕi(uʨt-Ӕi4e:et2:],e:et2:MJ2\NlS?nWyu_rswyDrnI]0rn9MNrn9MN[N-ti4ݒ:Rvi4rnIn9M.rnIn9M[N-kzU^iSxGvpyW2qzY zwA4^ zN3f;A/q zN3ΠWzN3fKA42eKA4i z_k7A^Cm{/y|9s~oRg߱yX]t8=)%D
-!!S!KNNN.GI) %;:/q4͑$Farcpjspks~(rwa8dI%K&K'K'K,)LNN$.Yr8Yr8Yr8YrdIڒ%%%%K&K'K'K'K,9,9ddI%%%%Y\_R{!쟆pNkp85t85t85xQ*L N N %.5t85t85t85tPRCSCSCSCK ::PRCSCSCSCw朅rfvyDU"uJ
-endstream
+4238 0 obj
+<< /D [ 4229 0 R /XYZ 79.37 402.942 null ] >>
endobj
-4294 0 obj
-<< /Type /Page /Contents 4295 0 R /Resources 4293 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4143 0 R /Annots 4297 0 R >>
+313 0 obj
+<< /D [ 4229 0 R /XYZ 79.37 308.541 null ] >>
endobj
-4297 0 obj
-[ 4225 0 R 4238 0 R 4239 0 R 4240 0 R 4241 0 R 4242 0 R 4243 0 R 4244 0 R 4245 0 R 4246 0 R 4247 0 R 4248 0 R 4249 0 R 4250 0 R 4251 0 R 4252 0 R 4253 0 R 4254 0 R 4255 0 R 4256 0 R 4257 0 R 4258 0 R 4259 0 R 4260 0 R 4261 0 R 4262 0 R 4263 0 R 4264 0 R 4265 0 R 4266 0 R 4267 0 R 4268 0 R 4269 0 R 4270 0 R 4271 0 R 4272 0 R 4273 0 R 4274 0 R 4275 0 R 4276 0 R 4277 0 R 4278 0 R 4279 0 R 4280 0 R 4281 0 R 4282 0 R 4283 0 R 4284 0 R 4285 0 R 4286 0 R 4287 0 R 4288 0 R 4289 0 R 4290 0 R 4291 0 R ]
+4239 0 obj
+<< /D [ 4229 0 R /XYZ 79.37 296.022 null ] >>
endobj
-4225 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 759.955 197.477 769.031 ]/A << /S /GoTo /D (section.0.6) >> >>
+4228 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4238 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 746.057 249.98 757.016 ]/A << /S /GoTo /D (subsection.0.6.1) >> >>
+4297 0 obj
+<< /Filter /FlateDecode /Length 7466 >>
+stream
+xͮXzFy]o$`@A͂LӣLr)\v!AQh<>om|9O~i?~h/ml˟[v._.cs:͗?˿~>wׯkn0>=/~ox+?4}[w~/?.l˟k\U?X好=~lW?.еWo隯ִ_ӷ3}Ssy<}7vj?5|Mnt9ߜ6ߐ>R~eߺqm{& ?[f^=Gk7pu]ߚs;?^wB7?o@/[~<:*NFz[/ I|NcX}Nݵ֜:myniGov_.vzOnzR]=>Mxni]ih==74ݦO|>Mf>MIuiݝh}>M~ӓJ۩Ch};g/쳤S}vn,?xX5SNRsX=D_:mowNc;X6SʼߎVw~$i,uI$i4 : V&i4 : v;M&N''N`I$X$X`I$i,u4 v$Y,u4 v;M J<~G~Q~&R'N_ɯi+uɯi4:Ui4:u:M~&N''N_ɯWW_ɯi+u4uY+u4u:M~hg4f][MI|@|9|~qp[H}J/H/'K`YKKK, %XR'XR'XR'XR`Y\%u%u%ueu KKK,,`I`Y]%u%u%u4v _糦9XOl/ 9)biY~v_V=lij'uij4:Sij4:s9M휦vNvvNS;NNZ;ij'uj4sYj'uj4s9M픮蟪4}Wkl~TSrZy9ǯ*xDiqGQDa4Qr(I()]4Qr(I(9M&JN%%%Di$utDi4Q:Qr(9],Q:Qr(9M&JJ(m<?1a8.G=f}/1Z)U~]՛kk8zMߖwvîZqHz0 r9MN r9MN&AN III$i4 : R&i4 rI9M. rI9M&AN k6z&NihG> ys??_0ehYfh`~{ʲ#uz \hQ4&R'Jh8M4&R'N DDCDi4phHh(]4ph8M4N4&Nh8K4N4&N 5.DӺ4h<:#{{;y#}ϥ|WbOx0q8MjNjq8MjNj&5NIIIӤiR4:QiR4qH8Mj.qH8Mj&5Nkj6RNíy6OY
+m?Sp= 5,N ӄi4aq:a8aq8MX&,R',Jװ8MX&,N %, ӄi¢t F{
+44=[qh3C.^Vpciמ˿qY4gLS7M q[*7~\Nh}9FN3f94:H:f94ri$uL#4ri$uL#FN3hjӊ0zxKwެ\op-GMVk|0w_ыBa^
+" Ba^
+rPWŰ?Z/q޾g-vէwq{y=.|gyK<4O[qẓOv6P58-Ov=_&4?AO{t@a8
+s@a(̡Vw6KuY+B]agnp]+"]a
+q8CYafe$+Dv8YaŒca(؏Ms}|ir oGWWw}{U:=eoUs;KԴ\]\]\raws@s@s& 4˙9S4g
+L9St ӔiR/uZ4w;MN%NN|iԉҵN}ӄ_iti_i4wu}9O=_}n2F]U\nQڵe(;R{o\;nS\#1lpw#\enstC~Oo Q_F]Z{ 6,0: #0: #0zYIYIea4 #0: #H,H,. #H,H,. #YIYIea$uFR/ #i0,H,iF S-oهCjHqz~@G3^:f;͌:3ifxNgK43ifx3㕮3ifxRg;͌wxgRg;͌w43^:z
+}מ>E.~/e~cyo;u~PG+Sk
+NSSTit q4Up*8MNUp*8M
+R
+NSK
+R
+NSTAZ/<MS=.<}.(WU*ۭ`[o6si9694ؤ.
+tPa20tDPY0 T:
+S>>g=ɞTOapgpMOa0s8S)\b(s8S)Ls̭R9{1nlO0<e/g^~w-YoQ|.q8M&@R@J9M&BRBN!ӄHiZ41rI)]{4Ar"9MN&JN*9KN&LNS&IҵMklw3q 3<٣3:cٟ3KP-95KJ%&ֈKB%&OcIdSDXi,4\*X
+[Si,4LK$M"%Ɩ<IM%ƒEc5v NͯKb
+3훫^vK;Vh)̠S8sٌ9r
+3f9gpp
+3f)xs8Mae)hs8Ma5kשP+tӨ\Kb^[ﹺ" _]Vm=t_H;}e
+i(Rg"u)RgbuYHuBEڬT.KV:ZqF)7?rx#v)!_ۭo
+sx]vwSrSyDI:IP&i4I:Ip$8M& N' ' NI$A$AI$i u4Ip$Y u4Ip$8MIX% f$zI<߹%/1xx;l`iB!uBt ӄiB!uB4pP8M(N($N(&N
+ 5N
+ ӄBiBt BiB4pP(]C?a<݆f/>D Эo˸mu緷=ޮ73 Nq:Gܝ#<Rg:ͨuQ4Z3jf:ͨuQ+uFu:ͨuQ4VZNQ,VZN3jf*]GZ/vﶻ&ǔQ˅bvE]?\y&ox<|q]?7g{雇rHwEY+]NS))Ӕi4p:8pr8M9RJr8M9NSS)ӥRS)Ӕiʡt-Zw7.+usH?q"]O s=m{NKNsiN;is9m.u9m0Uu:MUNUUu:MUNUNSUөĩTi4U:UUVi4UuJ:MU.UuJ:MUNSUkUzj:u|?өos{gWiӜl ,N 5,N ӄi4aq:a8aq8MX&,R',Jװ8MX&,N %, ӄi¢t Z/alX.NNexݠ^CݯPϭ ٕO?7g9mZ=_[<ƒ4i O3<%t4iJ4i O3<fx:] O3<fx:ttk=gx6\{?ROV?i0b&|}>ߌ`NlO{/!ou^W~W~._zyJׯ+u^R+u^N{^ww/ߟ3s8ppsv8GoC9@pOH\O( sp,%.kv8kkv- kv8j8Q66Ya0EV ;+L.5V;+L
+bkW1ҝqw=߉2}~f0z:Ȟti4哺a4sI)]4tJ:M&NSAAA ӔiR(uZtir4=:At":],M:Qt*:MJ08ě;p^ecoڏqۀ:|Q9<:adTi$@a0_aƿ™f+Wѯ0 ~W0S_aÙ
+3._QÙ
+3f+̰7G y=vh/w,;B1zZ^kpWۿoWNףNsi[J]8مs]8مs]8.9MR'Jz;MR'NSpI4D\Ti24wK+]S4-w;MͥNΝN;KѥNҝNu5k=wWt}Q՗9Y3RG dcf(6Al,c aE3e
+[]ƫ&H? KS>4<$!q,>}4Ztfv<fiv<fC0;N4;RgCZ9ӔNij4s9I9M|N>S?kN@ӔBgi4UTvq2vW[Ʀ;QzK+ޯzɻlA[Rn9L[N--k[N--tit%q4rn9MNrn9M[R[N-K[R[N-tKڭvss{tWx1WgoWzN3ΠwA4ig;͠wA4^ zwA4iN3.YN3f;͠W^kL^ozc{CpDyWk_#nzW-|۟1pg:\Fe:p0V3Zd V3W^ƪpfg*@]㟚~oޯu_F {+la8 9pV¬NmNm$.q8q8q8qFRSSSKm666688FRSSS<<St\mI(>f|
+endstream
endobj
-4239 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 734.102 202.349 745.061 ]/A << /S /GoTo /D (subsubsection.0.6.1.1) >> >>
+4296 0 obj
+<< /Type /Page /Contents 4297 0 R /Resources 4295 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R /Annots 4299 0 R >>
endobj
-4240 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 723.98 200.416 733.106 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+4299 0 obj
+[ 4227 0 R 4241 0 R 4242 0 R 4243 0 R 4244 0 R 4245 0 R 4246 0 R 4247 0 R 4248 0 R 4249 0 R 4250 0 R 4251 0 R 4252 0 R 4253 0 R 4254 0 R 4255 0 R 4256 0 R 4257 0 R 4258 0 R 4259 0 R 4260 0 R 4261 0 R 4262 0 R 4263 0 R 4264 0 R 4265 0 R 4266 0 R 4267 0 R 4268 0 R 4269 0 R 4270 0 R 4271 0 R 4272 0 R 4273 0 R 4274 0 R 4275 0 R 4276 0 R 4277 0 R 4278 0 R 4279 0 R 4280 0 R 4281 0 R 4282 0 R 4283 0 R 4284 0 R 4285 0 R 4286 0 R 4287 0 R 4288 0 R 4289 0 R 4290 0 R 4291 0 R 4292 0 R 4293 0 R ]
+endobj
+4227 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 758.062 378.259 769.031 ]/A << /S /GoTo /D (section.0.5) >> >>
endobj
4241 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 710.311 243.704 721.26 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 738.037 197.477 747.113 ]/A << /S /GoTo /D (section.0.6) >> >>
endobj
4242 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 700.07 231.559 709.195 ]/A << /S /GoTo /D (subsubsection.0.6.2.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 724.139 249.98 735.098 ]/A << /S /GoTo /D (subsection.0.6.1) >> >>
endobj
4243 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 688.114 244.312 697.24 ]/A << /S /GoTo /D (subsubsection.0.6.2.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 712.184 202.349 723.143 ]/A << /S /GoTo /D (subsubsection.0.6.1.1) >> >>
endobj
4244 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 674.326 252.591 685.395 ]/A << /S /GoTo /D (subsection.0.6.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 702.062 200.416 711.188 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
endobj
4245 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 662.491 269.318 673.33 ]/A << /S /GoTo /D (subsection.0.6.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 688.393 243.704 699.342 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
endobj
4246 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 652.249 256.257 661.375 ]/A << /S /GoTo /D (subsubsection.0.6.4.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 678.152 231.559 687.278 ]/A << /S /GoTo /D (subsubsection.0.6.2.1) >> >>
endobj
4247 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 638.471 267.465 649.42 ]/A << /S /GoTo /D (subsubsection.0.6.4.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 666.197 244.312 675.322 ]/A << /S /GoTo /D (subsubsection.0.6.2.2) >> >>
endobj
4248 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 626.515 283.794 637.464 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 652.408 252.591 663.477 ]/A << /S /GoTo /D (subsection.0.6.3) >> >>
endobj
4249 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 614.67 259.216 625.509 ]/A << /S /GoTo /D (subsubsection.0.6.4.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 640.573 269.318 651.412 ]/A << /S /GoTo /D (subsection.0.6.4) >> >>
endobj
4250 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 602.715 285.228 613.554 ]/A << /S /GoTo /D (subsubsection.0.6.4.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 630.331 256.257 639.457 ]/A << /S /GoTo /D (subsubsection.0.6.4.1) >> >>
endobj
4251 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 592.473 260.89 601.599 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 616.553 267.465 627.502 ]/A << /S /GoTo /D (subsubsection.0.6.4.2) >> >>
endobj
4252 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 578.246 356.78 590.202 ]/A << /S /GoTo /D (subsubsection.0.6.5.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 604.598 283.794 615.547 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
endobj
4253 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 566.291 423.071 578.246 ]/A << /S /GoTo /D (subsubsection.0.6.5.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 592.752 259.216 603.591 ]/A << /S /GoTo /D (subsubsection.0.6.4.4) >> >>
endobj
4254 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 554.336 434.598 566.291 ]/A << /S /GoTo /D (subsubsection.0.6.5.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 580.797 285.228 591.636 ]/A << /S /GoTo /D (subsubsection.0.6.4.5) >> >>
endobj
4255 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 542.939 298.12 553.888 ]/A << /S /GoTo /D (subsection.0.6.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 570.555 260.89 579.681 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
endobj
4256 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 532.697 179.455 541.823 ]/A << /S /GoTo /D (subsection.0.6.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 556.329 356.78 568.284 ]/A << /S /GoTo /D (subsubsection.0.6.5.1) >> >>
endobj
4257 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 509.066 226.618 519.965 ]/A << /S /GoTo /D (section.0.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 544.373 423.071 556.329 ]/A << /S /GoTo /D (subsubsection.0.6.5.2) >> >>
endobj
4258 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 487.148 153.283 497.987 ]/A << /S /GoTo /D (section.0.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 532.418 434.598 544.373 ]/A << /S /GoTo /D (subsubsection.0.6.5.3) >> >>
endobj
4259 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 475.073 196.72 486.032 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 521.021 298.12 531.97 ]/A << /S /GoTo /D (subsection.0.6.6) >> >>
endobj
4260 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 463.118 285.168 474.187 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 510.779 179.455 519.905 ]/A << /S /GoTo /D (subsection.0.6.7) >> >>
endobj
4261 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 451.163 215.52 462.122 ]/A << /S /GoTo /D (subsection.0.8.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 487.148 226.618 498.047 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
4262 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 439.208 278.842 450.386 ]/A << /S /GoTo /D (subsection.0.8.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 465.23 153.283 476.07 ]/A << /S /GoTo /D (section.0.8) >> >>
endobj
4263 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 427.263 207.39 438.212 ]/A << /S /GoTo /D (subsection.0.8.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 453.156 196.72 464.114 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
endobj
4264 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 405.385 343.181 416.354 ]/A << /S /GoTo /D (section.0.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 441.2 285.168 452.269 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
4265 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 393.38 222.155 404.339 ]/A << /S /GoTo /D (subsection.0.9.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 429.245 278.842 440.423 ]/A << /S /GoTo /D (subsection.0.8.3) >> >>
endobj
4266 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 381.425 221.168 392.493 ]/A << /S /GoTo /D (subsection.0.9.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 417.3 207.39 428.249 ]/A << /S /GoTo /D (subsection.0.8.4) >> >>
endobj
4267 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 369.031 250.508 380.986 ]/A << /S /GoTo /D (subsection.0.9.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 395.422 343.181 406.391 ]/A << /S /GoTo /D (section.0.9) >> >>
endobj
4268 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 357.514 209.691 368.583 ]/A << /S /GoTo /D (subsection.0.9.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 383.417 222.155 394.376 ]/A << /S /GoTo /D (subsection.0.9.1) >> >>
endobj
4269 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 345.559 235.007 356.518 ]/A << /S /GoTo /D (subsection.0.9.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 371.462 221.168 382.53 ]/A << /S /GoTo /D (subsection.0.9.2) >> >>
endobj
4270 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 333.166 331.933 345.121 ]/A << /S /GoTo /D (subsection.0.9.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 359.068 250.508 371.024 ]/A << /S /GoTo /D (subsection.0.9.3) >> >>
endobj
4271 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 311.806 184.546 322.645 ]/A << /S /GoTo /D (section.0.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 347.552 209.691 358.62 ]/A << /S /GoTo /D (subsection.0.9.4) >> >>
endobj
4272 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 301.564 182.752 310.69 ]/A << /S /GoTo /D (subsection.0.10.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 335.596 235.007 346.555 ]/A << /S /GoTo /D (subsection.0.9.5) >> >>
endobj
4273 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 287.895 281.114 298.844 ]/A << /S /GoTo /D (subsection.0.10.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 323.203 331.933 335.158 ]/A << /S /GoTo /D (subsection.0.9.6) >> >>
endobj
4274 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 275.821 266.498 286.889 ]/A << /S /GoTo /D (subsubsection.0.10.2.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 301.843 184.546 312.682 ]/A << /S /GoTo /D (section.0.10) >> >>
endobj
4275 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 265.699 308.71 274.934 ]/A << /S /GoTo /D (subsubsection.0.10.2.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 291.601 182.752 300.727 ]/A << /S /GoTo /D (subsection.0.10.1) >> >>
endobj
4276 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 253.743 268.292 262.979 ]/A << /S /GoTo /D (subsubsection.0.10.2.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 277.933 281.114 288.882 ]/A << /S /GoTo /D (subsection.0.10.2) >> >>
endobj
4277 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 240.075 208.436 251.024 ]/A << /S /GoTo /D (subsubsection.0.10.2.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 265.858 266.498 276.926 ]/A << /S /GoTo /D (subsubsection.0.10.2.1) >> >>
endobj
4278 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 229.833 258.718 239.068 ]/A << /S /GoTo /D (subsubsection.0.10.2.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 255.736 308.71 264.971 ]/A << /S /GoTo /D (subsubsection.0.10.2.2) >> >>
endobj
4279 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 217.878 316.441 227.113 ]/A << /S /GoTo /D (subsubsection.0.10.2.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 243.781 268.292 253.016 ]/A << /S /GoTo /D (subsubsection.0.10.2.3) >> >>
endobj
4280 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 205.923 397.756 215.158 ]/A << /S /GoTo /D (subsubsection.0.10.2.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 230.112 208.436 241.061 ]/A << /S /GoTo /D (subsubsection.0.10.2.4) >> >>
endobj
4281 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 192.144 194.479 203.093 ]/A << /S /GoTo /D (subsubsection.0.10.2.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 219.87 258.718 229.106 ]/A << /S /GoTo /D (subsubsection.0.10.2.5) >> >>
endobj
4282 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 180.189 223.271 191.138 ]/A << /S /GoTo /D (subsubsection.0.10.2.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 207.915 316.441 217.151 ]/A << /S /GoTo /D (subsubsection.0.10.2.6) >> >>
endobj
4283 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 168.224 274.508 179.293 ]/A << /S /GoTo /D (subsubsection.0.10.2.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 195.96 397.756 205.195 ]/A << /S /GoTo /D (subsubsection.0.10.2.7) >> >>
endobj
4284 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 156.279 185.562 167.337 ]/A << /S /GoTo /D (subsubsection.0.10.2.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 182.182 194.479 193.131 ]/A << /S /GoTo /D (subsubsection.0.10.2.8) >> >>
endobj
4285 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 144.314 300.033 155.382 ]/A << /S /GoTo /D (subsubsection.0.10.2.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 170.227 223.271 181.175 ]/A << /S /GoTo /D (subsubsection.0.10.2.9) >> >>
endobj
4286 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 132.478 227.614 143.317 ]/A << /S /GoTo /D (subsubsection.0.10.2.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 158.261 274.508 169.33 ]/A << /S /GoTo /D (subsubsection.0.10.2.10) >> >>
endobj
4287 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 122.236 238.005 131.362 ]/A << /S /GoTo /D (subsubsection.0.10.2.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 146.316 185.562 157.375 ]/A << /S /GoTo /D (subsubsection.0.10.2.11) >> >>
endobj
4288 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 108.568 286.653 119.517 ]/A << /S /GoTo /D (subsection.0.10.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 134.351 300.033 145.42 ]/A << /S /GoTo /D (subsubsection.0.10.2.12) >> >>
endobj
4289 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 96.493 244.073 107.452 ]/A << /S /GoTo /D (subsubsection.0.10.3.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 122.515 227.614 133.355 ]/A << /S /GoTo /D (subsubsection.0.10.2.13) >> >>
endobj
4290 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 84.538 240.317 95.606 ]/A << /S /GoTo /D (subsubsection.0.10.3.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 112.274 238.005 121.4 ]/A << /S /GoTo /D (subsubsection.0.10.2.14) >> >>
endobj
4291 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 72.583 219.285 83.651 ]/A << /S /GoTo /D (subsubsection.0.10.3.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 98.605 286.653 109.554 ]/A << /S /GoTo /D (subsection.0.10.3) >> >>
endobj
-4296 0 obj
-<< /D [ 4294 0 R /XYZ 78.37 808.885 null ] >>
+4292 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 86.53 311.739 97.599 ]/A << /S /GoTo /D (subsubsection.0.10.3.1) >> >>
endobj
4293 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 74.575 244.073 85.534 ]/A << /S /GoTo /D (subsubsection.0.10.3.2) >> >>
+endobj
+4298 0 obj
+<< /D [ 4296 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4295 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4306 0 obj
-<< /Filter /FlateDecode /Length 1098 >>
+4310 0 obj
+<< /Filter /FlateDecode /Length 1389 >>
stream
-xڽn#7EU|ь=,l3lE^zo 0nwJyOy;~9^>5ײ丝xBq"u+98vsI/Ͷj;|1{>v$|7;z4_l$-/~i5|_fWK>ctAO$NKc].҅
-K*MW+g;tVwbi;tiZnјnNjuDmRU.GvhN;MF"Mۤ&Y4X4!Y46jiVwju$lu|IEFhi;KͩYX,I>V5Nyw~wV›Udq^Y|ܷM`؆amHzچm8h؆m8h؆a!im8h؆m(zنam8!im8z؆cah؆am(zmn̵ls1ER;`)~dXhQɺ+-j2$Au6"F1631kˎr]ʴcHqG_y9y>zq<8z, <8˃<8˃}>GvyEXITWEc<:rGDǣ?kM: Os4:GC$=NK s4:IhGXIhG#8E+[ARo~Li[>Ot8EgC?6hAG8w{ׯfgգ`tzFgGh(]<e P0L@O0
-Frp4$=Ã=c$= hdE)R7G_lory)k Dg[S]Gcw @w!g[ zw7;?
+xڽn6Fy
+@4)q'"j6}E/ɱ(g ;}e_~Gq|;=}ya֚j9<}7CmJi9Pϯ!)B}b{얎9gRlK֓Cupa|jJLޡ4R)&Niy9RzS^8Ŝ1XٔΡZ݅ұX3S+WQ:7;V7lu6T &)MRX0mMMmRBi8[ݴM5ղb:aziRnk*Uu*ӭMq]R@]2yZ˫s9_앹:P̕Ϛ+=){W5o1UJ:-QZdh9Ù 3-g2Z΄;ћ3-g2Z΄;r&LF˙vgB؝h9r&LH39r&LF˙vg2Zdp&cLH3-g2Zd͙twf^3s?՞Igh#hh,1Z~ci71Z~ci7Fo~7Fov!z7Fo ~c7ov1Z~ch ћ߮Zߒuާ'yק/q6 m-0Zћm-0ZۆѲ eF6v@mhنѲ eHmنѲ eF6v0Za ceHm-0Zal6tyO cRٕMtŴtLKq_>j:d14[\-[6ԿrDg#j<sr1cM麦\mi;b.coߪCQ ώɁ17`@5-͊+O@'ESZv/r֬q213o[NcK֯sڗ͋/s-3Z2gdi973Z2gdhWV^1zcXb2
+-F+5KUueNl[_$<FH't4wvsx+<k`_1ؗw;cۀC.`n <<`inP
endstream
endobj
-4305 0 obj
-<< /Type /Page /Contents 4306 0 R /Resources 4304 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4143 0 R /Annots 4308 0 R >>
-endobj
-4308 0 obj
-[ 4292 0 R 4298 0 R 4299 0 R 4300 0 R 4301 0 R 4302 0 R 4303 0 R ]
-endobj
-4292 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 758.012 231.609 769.081 ]/A << /S /GoTo /D (subsubsection.0.10.3.4) >> >>
+4309 0 obj
+<< /Type /Page /Contents 4310 0 R /Resources 4308 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R /Annots 4312 0 R >>
endobj
-4298 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 746.057 257.761 757.016 ]/A << /S /GoTo /D (subsubsection.0.10.3.5) >> >>
+4312 0 obj
+[ 4294 0 R 4300 0 R 4301 0 R 4302 0 R 4303 0 R 4304 0 R 4305 0 R 4306 0 R 4307 0 R ]
endobj
-4299 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 734.102 432.127 745.17 ]/A << /S /GoTo /D (subsubsection.0.10.3.6) >> >>
+4294 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 758.012 240.317 769.081 ]/A << /S /GoTo /D (subsubsection.0.10.3.3) >> >>
endobj
4300 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 722.147 350.832 733.215 ]/A << /S /GoTo /D (subsubsection.0.10.3.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 746.057 219.285 757.126 ]/A << /S /GoTo /D (subsubsection.0.10.3.4) >> >>
endobj
4301 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 712.025 276.381 721.26 ]/A << /S /GoTo /D (subsubsection.0.10.3.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 734.102 231.609 745.17 ]/A << /S /GoTo /D (subsubsection.0.10.3.5) >> >>
endobj
4302 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 698.236 373.667 709.305 ]/A << /S /GoTo /D (subsubsection.0.10.3.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 722.147 257.761 733.106 ]/A << /S /GoTo /D (subsubsection.0.10.3.6) >> >>
endobj
4303 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 676.378 142.892 687.198 ]/A << /S /GoTo /D (section.0.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 710.192 432.127 721.26 ]/A << /S /GoTo /D (subsubsection.0.10.3.7) >> >>
+endobj
+4304 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 698.236 350.832 709.305 ]/A << /S /GoTo /D (subsubsection.0.10.3.8) >> >>
+endobj
+4305 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 688.114 276.381 697.35 ]/A << /S /GoTo /D (subsubsection.0.10.3.9) >> >>
+endobj
+4306 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 674.326 373.667 685.395 ]/A << /S /GoTo /D (subsubsection.0.10.3.10) >> >>
endobj
4307 0 obj
-<< /D [ 4305 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 652.468 142.892 663.288 ]/A << /S /GoTo /D (section.0.11) >> >>
endobj
-4304 0 obj
+4311 0 obj
+<< /D [ 4309 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4308 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1 0 obj
@@ -14026,28 +13989,28 @@ endobj
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
-4310 0 obj
+4314 0 obj
[513.9 ]
endobj
-4312 0 obj
+4316 0 obj
[686.7 0 0 0 0 0 0 0 0 0 0 560.2 0 0 0 0 0 0 571 702.2 706.8 0 0 0 686.7 ]
endobj
-4314 0 obj
+4318 0 obj
[513.9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 399.7 399.7 ]
endobj
-4315 0 obj
+4319 0 obj
[525 ]
endobj
-4316 0 obj
+4320 0 obj
[ 3 [ 602.1 ] 5 [ 602.1 ] 11 [ 602.1 602.1 ] 38 [ 602.1 ] 68 [ 602.1 602.1 602.1 ] 72 [ 602.1 602.1 ] 75 [ 602.1 602.1 ] 79 [ 602.1 602.1 602.1 602.1 602.1 ] 85 [ 602.1 602.1 602.1 602.1 602.1 ] 91 [ 602.1 ] ]
endobj
-4318 0 obj
+4322 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xڛ"w
endstream
endobj
-4319 0 obj
+4323 0 obj
<< /Filter /FlateDecode /Length 11571 >>
stream
x| |UﭺU%tv& &Av"J  IL,cC@D ""(.({TԙqGapF'>PVu6P~Ҟ>n{sJxr%*oܱ?3oԵF{1B׭+8EH4̽Pr~cC;zEBү%$ƀϯvTM(OjĄeuG6Wƿ.ŵ7| T%2Za-mO2/VZ}-Zq}W}[{mJtZBbtMD&D/A& ^U1`T1D+ɪDPeRQ_'QQC*l3,#/h? ىDF1+yJ,|^2y Fˑ+ׄC'·?E bqG|EW35NgEG;e
@@ -14083,10 +14046,10 @@ R kBX_"PSU;~@1~1nc̍1c|$a=b[0\Hx $Nchbo
iLOׯ+WkuWJ^)_^[ ]IVU[شVW
endstream
endobj
-4317 0 obj
-<< /Type /FontDescriptor /FontName /GMFTGJ+DejaVuSansMono-Oblique /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 4319 0 R /CIDSet 4318 0 R >>
+4321 0 obj
+<< /Type /FontDescriptor /FontName /GMFTGJ+DejaVuSansMono-Oblique /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 4323 0 R /CIDSet 4322 0 R >>
endobj
-4320 0 obj
+4324 0 obj
<< /Filter /FlateDecode /Length 477 >>
stream
xڍOo0=8!h"TD
@@ -14098,21 +14061,21 @@ xڍOo0=8!h"TD
endstream
endobj
580 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /DescendantFonts [ 4321 0 R ] /ToUnicode 4320 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /DescendantFonts [ 4325 0 R ] /ToUnicode 4324 0 R >>
endobj
-4321 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /FontDescriptor 4317 0 R /W 4316 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4325 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /FontDescriptor 4321 0 R /W 4320 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4322 0 obj
+4326 0 obj
[ 3 [ 602.1 ] 6 [ 602.1 ] 11 [ 602.1 602.1 602.1 602.1 602.1 602.1 ] 18 [ 602.1 602.1 602.1 602.1 ] 29 [ 602.1 ] 31 [ 602.1 602.1 602.1 ] 68 [ 602.1 ] 70 [ 602.1 ] 72 [ 602.1 ] 74 [ 602.1 602.1 602.1 ] 78 [ 602.1 602.1 602.1 602.1 ] 83 [ 602.1 ] 85 [ 602.1 602.1 602.1 602.1 602.1 ] 91 [ 602.1 ] ]
endobj
-4324 0 obj
+4328 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xڛ$
endstream
endobj
-4325 0 obj
+4329 0 obj
<< /Filter /FlateDecode /Length 12930 >>
stream
x |E7^3I&3!!Lgd8$KE@Hb.cLH
@@ -14163,10 +14126,10 @@ WT.Ϭ/kKK+k0O/w)XUI܃,K+,m V<e aぜXW/
Mguv#Kݢe׳oZܬNvΖ :[E:kW"YC%~\2Z]UW+YU@Ud u ]4V#,J9R#veu6Wgst6*2f5oqqu4ʀlΦlj>4VbʥPg,_gSPe٤8e(Ʊ9qDMՄ
endstream
endobj
-4323 0 obj
-<< /Type /FontDescriptor /FontName /FGWDXK+DejaVuSansMono /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 4325 0 R /CIDSet 4324 0 R >>
+4327 0 obj
+<< /Type /FontDescriptor /FontName /FGWDXK+DejaVuSansMono /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 4329 0 R /CIDSet 4328 0 R >>
endobj
-4326 0 obj
+4330 0 obj
<< /Filter /FlateDecode /Length 507 >>
stream
x}Ko0]8oZH@`F}N!09ɂ?i
@@ -14179,21 +14142,21 @@ PZ0= 0/¼
endstream
endobj
579 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FGWDXK+DejaVuSansMono /DescendantFonts [ 4327 0 R ] /ToUnicode 4326 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FGWDXK+DejaVuSansMono /DescendantFonts [ 4331 0 R ] /ToUnicode 4330 0 R >>
endobj
-4327 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /FGWDXK+DejaVuSansMono /FontDescriptor 4323 0 R /W 4322 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4331 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /FGWDXK+DejaVuSansMono /FontDescriptor 4327 0 R /W 4326 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4328 0 obj
+4332 0 obj
[ 68 [ 602.1 ] 70 [ 602.1 602.1 602.1 602.1 ] 76 [ 602.1 ] 79 [ 602.1 602.1 602.1 602.1 602.1 ] 85 [ 602.1 602.1 602.1 602.1 ] ]
endobj
-4330 0 obj
+4334 0 obj
<< /Filter /FlateDecode /Length 15 >>
stream
xk`
endstream
endobj
-4331 0 obj
+4335 0 obj
<< /Filter /FlateDecode /Length 10706 >>
stream
x{ xTչ{=3I& .3gd ( $@$7pS&I2d̄-
@@ -14249,10 +14212,10 @@ L/"hB_l
_Q UzEێ4Cێ*mk]#m[`ܺK6xX㹴kZM6ARҨ_*mPo3]K3Tzi&6F^MWeӕdR+rY4Zgg˵{5iٴ&V/W~Ze*<Ch-ϠK%gʹ4C.LK3Zb VEo_ysй[c-z~4yz;/Ξ#^Fg̔gЙhF\3zF^S-O/9
endstream
endobj
-4329 0 obj
-<< /Type /FontDescriptor /FontName /WYCBGG+DejaVuSansMono-Bold /Flags 4 /FontBBox [ 0 -207 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -207 /ItalicAngle 0 /StemV 150 /XHeight 547 /FontFile2 4331 0 R /CIDSet 4330 0 R >>
+4333 0 obj
+<< /Type /FontDescriptor /FontName /WYCBGG+DejaVuSansMono-Bold /Flags 4 /FontBBox [ 0 -207 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -207 /ItalicAngle 0 /StemV 150 /XHeight 547 /FontFile2 4335 0 R /CIDSet 4334 0 R >>
endobj
-4332 0 obj
+4336 0 obj
<< /Filter /FlateDecode /Length 434 >>
stream
xڅMo@+K΁4T8+mxwnevD ü33;/UM=Fk/ؙ
@@ -14261,21 +14224,21 @@ wXq==mRl
endstream
endobj
578 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WYCBGG+DejaVuSansMono-Bold /DescendantFonts [ 4333 0 R ] /ToUnicode 4332 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WYCBGG+DejaVuSansMono-Bold /DescendantFonts [ 4337 0 R ] /ToUnicode 4336 0 R >>
endobj
-4333 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /WYCBGG+DejaVuSansMono-Bold /FontDescriptor 4329 0 R /W 4328 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4337 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /WYCBGG+DejaVuSansMono-Bold /FontDescriptor 4333 0 R /W 4332 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4334 0 obj
+4338 0 obj
[ 28 [ 603 ] 35 [ 544 ] 43 [ 544 ] ]
endobj
-4336 0 obj
+4340 0 obj
<< /Filter /FlateDecode /Length 14 >>
stream
xc``
endstream
endobj
-4337 0 obj
+4341 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 852 >>
stream
xmS]LYʈʦ;0sŰb[!Y0vd
@@ -14284,39 +14247,39 @@ xmS]LYʈʦ;0sŰb[!Y0vd
|M -#=ڴJj 6eF>'0TCbddt Yl2ZoV*99Ց!93Dc)|'a
endstream
endobj
-4335 0 obj
-<< /Type /FontDescriptor /FontName /HSGBBJ+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 4337 0 R /CIDSet 4336 0 R >>
+4339 0 obj
+<< /Type /FontDescriptor /FontName /HSGBBJ+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 4341 0 R /CIDSet 4340 0 R >>
endobj
-4338 0 obj
+4342 0 obj
<< /Filter /FlateDecode /Length 370 >>
stream
x}R]k0}ϯ{(E]7A-c6vM$Ƈ%0 sܣ]<su`:FaX5 JA{N+"]R-^u_4Ǔ7{ e{ޫ*OAjR:AҊՁ%> ~'F(9hL)^$_ʭא>t!$חptI4. eəscJeHCdcgp9j!O0JKtq$lBvOe9Qr8..S:gsyB
h AsZA;k7'Z9>FCi&wht#ǽvݍZ|> .$^U\߭ڮP|
endstream
endobj
-567 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HSGBBJ+LMRoman7-Italic /DescendantFonts [ 4339 0 R ] /ToUnicode 4338 0 R >>
+549 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HSGBBJ+LMRoman7-Italic /DescendantFonts [ 4343 0 R ] /ToUnicode 4342 0 R >>
endobj
-4339 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HSGBBJ+LMRoman7-Italic /FontDescriptor 4335 0 R /W 4334 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4343 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HSGBBJ+LMRoman7-Italic /FontDescriptor 4339 0 R /W 4338 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4340 0 obj
+4344 0 obj
[758.1 ]
endobj
-4341 0 obj
+4345 0 obj
[892.9 ]
endobj
-4342 0 obj
+4346 0 obj
[ 28 [ 525 ] 50 [ 525 ] 55 [ 525 ] 66 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 110 [ 525 ] 112 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-4344 0 obj
+4348 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc````PdP

endstream
endobj
-4345 0 obj
+4349 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1970 >>
stream
xڍV PTroWYQ-UB<JL|:ʣa>.+^]
@@ -14334,10 +14297,10 @@ n(Ի!ss.w #ro>^Gr!^D|㳅)@/#" Ts`
P
endstream
endobj
-4343 0 obj
-<< /Type /FontDescriptor /FontName /OMFOSG+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 4345 0 R /CIDSet 4344 0 R >>
+4347 0 obj
+<< /Type /FontDescriptor /FontName /OMFOSG+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 4349 0 R /CIDSet 4348 0 R >>
endobj
-4346 0 obj
+4350 0 obj
<< /Filter /FlateDecode /Length 437 >>
stream
xڍj0z
@@ -14346,112 +14309,83 @@ u¢k
|Q4N.[Y4r^x4@',kmSr0:YqJ (+u<!:̆,Od.c$4 ͐H@}l!=#H@ih-&Hs1EZ"#mз}Xz@#-S5{+xgۇp œ3ƻxo,x
endstream
endobj
-437 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OMFOSG+LMMonoSlant10-Regular /DescendantFonts [ 4347 0 R ] /ToUnicode 4346 0 R >>
+439 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OMFOSG+LMMonoSlant10-Regular /DescendantFonts [ 4351 0 R ] /ToUnicode 4350 0 R >>
endobj
-4347 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OMFOSG+LMMonoSlant10-Regular /FontDescriptor 4343 0 R /W 4342 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4351 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OMFOSG+LMMonoSlant10-Regular /FontDescriptor 4347 0 R /W 4346 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4348 0 obj
-[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 138 [ 525 525 ] 162 [ 525 525 ] 201 [ 525 525 ] 245 [ 525 525 ] 251 [ 525 525 ] 265 [ 525 525 ] 271 [ 525 525 ] 337 [ 525 525 ] 341 [ 525 525 ] 420 [ 525 525 ] 564 [ 525 525 ] 568 [ 525 525 ] 602 [ 525 ] ]
+4352 0 obj
+[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 61 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 138 [ 525 525 ] 162 [ 525 525 ] 201 [ 525 525 ] 245 [ 525 525 ] 251 [ 525 525 ] 265 [ 525 525 ] 271 [ 525 525 ] 337 [ 525 525 ] 341 [ 525 525 ] 420 [ 525 525 ] 564 [ 525 525 ] 568 [ 525 525 ] 602 [ 525 ] ]
endobj
-4350 0 obj
-<< /Filter /FlateDecode /Length 44 >>
+4354 0 obj
+<< /Filter /FlateDecode /Length 48 >>
stream
-xc``
+xc``p@Cb1
endstream
endobj
-4351 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 9128 >>
+4355 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 9105 >>
stream
x{`
-[+ƀHɬIK-^ @Sݻdݲ>ܛ+`SMǡB 0nB,wJ2ع!ad3gN7&X,֐%.ֻ,I$1n<`tk=~
-߁3sA)qx:,]:% J_w øqROOL<s{H=yF:!tqKWrū>Z<^*sI<<e;}n]D=Dn=<d0#d6p ÉH/(=b41K#$b21JO|@L#3,b6!1K# "b1XJ,#
-b%D"b-XO&b3Jl!ۈb'F'Ex>/GD D1LH)!#D B0"D9QA\ >!~&~!0ZZZraUzM~fl8'35CǬ'ed
-cIXu@tH1bհQ}(6ODZ}ϿKyh$OՐZY&k`p6Q#y[F~FDP9:*
-3Ԛb~vog%c- xʹWý7Ϸ6
-k*`ij/!
-k { PJ2NfEG0L3RWLI~ Uզ8½^wRͥk6[`b=|.uzߞjko`J]r"T㻷(j<[ښym_Gט"7:pq} Sq㾬CT ->KUxl
-14qwdI#/(
-S@Td4T^N(B8&DDmJeft DQD䖆VTk#Ml-
-*XwڃkV/ʊOu3\X!(,T
--%V `j e_alX2w1?!`cW>gp3ڏsͻQ^=^~X={rFRݶšhBbh{`D2Bs^W'UsUw!d j&:W(ymj,/ 6"[wN
-(kj ~o!!zQOv\`'5ιs_=t*u
-yQ`Z^YY)x*
-B#e4&B*S]o"-+tʗb'6{yB,z65æ\`f@!_I{&~HX{h*nGKL т\S"
-ae5ps
-TJ>m[eV jR!4d(|:|]sK' b,鲸8u3]Z]l^yn7`_hS
-m4]SؑS}_sT
-sXn1+#ѿ
-׎d.k)`ψ7ӡC.1M
-`?=FP%mիx0BoexFS{^6Qcyɣ\"w.~ATQ~J4YQq}Sc եշF-x*,m:
-G[@BC\
-}F[^↦X;['QFYgnyU235-Hyn 窒ȂN!kSrs#f,Zhh4
-{w;=bhhʄ6`-D"$`+R ϙn)yt^m5B%K.Bl5f HprhLEf[7ێoXo + |W
-W~4pwc}@[8ݸ ju 2B+'lv?(
-L `ig,l]w nཎ)u<xf:[nD3dʏfڙ+O_:קWQhݭ۷XMA7{232zz9ɜ=c`TzC/Ͻ0B  3{+t?#Mڙ2qv;P 'ܧ)ڥ\dZIAgu\$DrYMMyyz~Y`L^@FYÄCCܿ
-M"k F̭`Հl|Dr 9g `yxS=í#ɨ +̓vO63.{&oq>B/,o0[wit
-ͦkSTu6N(
- (d!R7C44=ъAujȟ (SDy8
-KaHʢ ӵ LOfd
-^[]#`̙-Jiyd(lKFwJވ=}eNG;iX,.eKUD
--3l hk|{y_w;/] ԟڣ-^m^,
-o:6͒M#=4D6z dzA]ow{$S48 F E=b$eo-ZZG;=bb"od >/eVTk60ig#fyT
-ICM?^3m=r+ڦ9]Kƒ_пq}K!4Z nBٙYzA</h@vQ+E*+<؟KRSiJ/m=g2BIkrN]I֐>Xj5^04W6:"WX[b
-XGu9.pblfDpҥ ]a\'˪M>Aٰfztzn#8N!;-1s~CAd=9nriɡ e~ Em ,:,)yE=f"E9Qu<yGmHh1f=o
-0(.ìMڴ< zX!.hMG81j7ͻZRfn^?J#57A")1qk$f
-`4SCBjv
-^ʲjt
-oǬϣrE΂cF&Zjo1Ǎ5~
-xWT&0醅D L4QO %z9a&dFUf|!P*>Io)-jj
-/x'? vCQdT( Iɇ'QrL3**3(8[Qr_<dms7
-^:EوJ%-"
-HfR@֯N1kzeP
-&e_Hj/*J6
-6hP $O)LAa>'tyuAyB7~henPۑX@
-I![Y&A@ϘUs
-P#6,YA~fM9~
-̊K
-%mw:7|ǓW*
-%Eƅg lCV(޲3|, *06.WF^:g&wU>[лifW!HCrBK~|-)NLTPh#"F:#zPo7<PW #
-$JkjKKO슕jޏ b}%T+.3gNnUn.%RUhl)qYIdqTJ>eJIV!d
-l r 4N' 8j.m؊v7yzL?'Ř`/+옴F3z=wCe"?&}akBє</nbnF.$߽smFЃ?~1|y~f-zpdj/.)'!T7`Z(CBlIz$+le'g<@phƕkW<7MA6<V*RY'k@4fdBV^m:
-PQ{ϚL)uzufB:uP ƭ/^GX&?"MBu>a4mW|}7_\WnpqYy|0@?[7&wx ~ƍ;6mNX[P*F|{7/0 rl[, B4H+:n7(%C]bA>1iCwwuX
-I43]
-kUepB|t¶0X؊N`tڧ"cpd`W}zk^P/,{B_ki"r$+ZKQf*ȝzܺIM˸rc0V|Rmx}򊤽-w˻, Uu֙V4 ue"J<di܎cY+.gysjYF粳Y_H+t]ӱ&S^qr+>N!#N븧" މk"(WD 7܄N?K-5Y3Sۊ/4|L9eȹEe9:bt%.3f2o|D 1pR
-,X.oX|bbF=^wP?dAXMs'q4)z`}_.Z6~cvEEWek
-a)@_1\ẍFӱ< ;?2=e\gb&R؀J5 qzuԈUMӪhXdϑ
+[+ƀł&&.ЫT.ْ,WYG˽6tIaR%pB,wJ2ع!Bm̩vzӲ +F-stY)d¾cA`-<<₵e:|Eߴ ݗ~o˭OX#z<b-7n\Ϛ7N;~ybIh~FkWzopwk8~X!wqa/_^.u{{cW{yK _{ w?Rw7{y{~њW/yHnj{dcA<{7Ii1˖[ce!2{qlt-p877
+2GTÆF9bth,CjX*gOV!A#JK&˲1V6qz'==l@rp[H5H`xD0S~p8;,>0H)Y}3xF"Huin;
++Za#]SS *1s W49lelTz#[=Y6ԯ͂UPV)͏)JdK?o,hS^w|E+7:oY6 Dy><<=-+-;!'JbHE彻H4.mM8޶#kp +A'`DEmN8^T"@I>iܓYrɓR`e.aPx1)j0O+bݎhrQqܫh REEaʘDFHC0&7J󦥒`1#1:ZVV j+JԸ"&*4x]Qa5%gglE0;OCu]`7!_4236`ޙOsaa$PKHXOEpHA`Y~21YM+"CҢ?/aqҬ4sĠ$Hv;3j~DE2% Vhae_Su0:4*#LJ3'dwo g2YAuiZo
+۸/ АN1NHJMߺe_h{pϊـ&$ѣz{$35[`!u҄J^UwȰ&
+KrVMUJ<mY̭4$erC&BOq?:xP"2 UGuI
+x
+M~ăvc][#W  AV+=<E؂1W3
+=W:ZvyMT)4i-`6bkbz֬_{7tD$'6b#JP"XMc롘K> VU숦
+tCΡg;|=g78~h bT~lkl({xc̝[,eс:qr"X=!B4g' z/`>)<Q sU:+!/O
+sӲ@Du~lM&)-HZ4tyIqW1ZmmkϘ\lܽKm}ăSklwoz3Ҥ|9䯅PELΎaN+ QP --99 ݹ9W0wˀ8ät}RV^an#ېၝ._c7W_ٰC.t% HF8xU퐂nc˴M|Z* ?ríhGKW
+Zk9LNKrDt:-rLt;o1gYYv[`撎u |ʩkiQpVG>?rN]xprJFإ?UDo 5=%@TZ&(K.lyvα'W+(0i+lQÏ6?l
++pعnV1 ;0
+S$5
+XtDF׫]m:˓^i6@c:igi667"zjiҬ.*53ˬMe>CkZZvxl#8m!)?!GG  7Đkh&0~UYep'[(]|/ҼHGΘ-/ qZ7FɶDD:#{L! ?DzkQ
+XandB+,듷RMRoۖ${hVo{ԀJnq3sRap6{eˉ}G
+&9\Ve^\4װP`p[-yBCu4@lgD<tLWW
+Ԣ~1`Ϛ)A45Qޭu1ì/sޢu>U(k&X&%zP`0% {P:F#7vW([eȖ:W/-
+/iU5<x-qr5̤&AW&"".*&oa41^v4W{nUr/krW(Eo ?&x= Ki4n%ȶ"; ?J{J^|@-GX$DĄ(겧lV=ሩ(^73|, j0!UJX<k:l6гivG!HErC |fUR\ 2:篢T9B!.
+[ ,XlՊgbSҳ`rrCTIWhOL(NŅͦ7X}Tm',1r]W/|'BG|=9ckC47#4qíU/ _Շ\~D,蛮7V*=ս;캘Z|lڵˎ?~mN7w=&q{=
+L=T{
+c.ع'n?O-tK<:@Cb6‚Ma۩
+D>Bs䪳kL?򵉩J(@
+J(ۙJCC$ێ_nN-cWj`rQ&MUqRQv glQ *
+p{G?:F<a)@^1\xĀT_>l 8K??r=y{f&RX#P)w؀UHahX dϐ999{~#ꅆazH<f[z eCTF^cc`l`kxͮ׈x>Tŭ^yw s
+[ӣ:rOp?}ب?R &=BTid2 A')ZTɋcz~Bzfb:+(+etz$Y[{ZBWo&* ^7w7?vͼ 5R
+卉@hלX)\
+ Ώ*}Җ9 U UGbC Ÿ:@)oeBW
+@K3@yi%W;Dni&"|o'" E\3B[rYof j, {JM6{hOٚgE/&PRA ]0*rs4v!3څ6OE'_#Gxbʟ*$ A B"٠iŠ `Go[|Xh(z(|/J8Ǿ!bZm|x#dbuo*oz7&.f+u:}2OmjdlM̠'ao
+K WzL_8Ў_D߸P8uc)< B?WU(q-- V6B'EX&!Сn'~iq%z a.v^(?EK~{B^ͅZmrr(9ں<9%-5PՊ}زP h
endstream
endobj
-4349 0 obj
-<< /Type /FontDescriptor /FontName /FVYUVB+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4351 0 R /CIDSet 4350 0 R >>
+4353 0 obj
+<< /Type /FontDescriptor /FontName /TLOLYP+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4355 0 R /CIDSet 4354 0 R >>
endobj
-4352 0 obj
-<< /Filter /FlateDecode /Length 855 >>
+4356 0 obj
+<< /Filter /FlateDecode /Length 852 >>
stream
-x}N8F $$JmH˒6M7
-,;H NؽlYw~f>GN}gv\\ϭ/17M? 7mrǝVi߻Yχۮg?eϢ2tmph ?n A|hKhhۍz`i^91u'aTG u{=n>uM8fnu)k7sxqġic0
-OC}nw>zhmSG_>L&[u?췕nD~o_#z|譭gۏ#ūa(JDDN(qP1-r J"z.1#(0(e)r
-ʠ5tsjԶd>D唟/M!d's"!/?13]~$?֏ kddR35$?~)Ls"RV%ωKuO$?e?'('~ n>?'ϰ*?K-~HG,~ YV◐P |e"O%]%DY~H,N1~=G'?*#~?3JJLEɏ,D#u&?֏5ʴ~",+|g~H+r+%Yrz.R@9ق#y:9D Y1uNȒő&[ASDi(qLi HF^@"e)!ezB,'JtWDzC.EI~/xݍZ~Y}?ǛiS foe/ߓ-
+x}j8FދE&eP@if/S[;8E~m/- -D_{S-~Cw+?-nŪN;x_z]їbڴyVڟ{}i_8O>}?jӿ^4zlC QM~oqm]tQ0)b4;~nںWiL=IҨn(vCƇG۴: 37c2M2.Տqx2GFcltCks|"|<Q8!nV߶/~r= Gg>mG{SOoUlqd9Y2TrUAe [B@9\@ cP
+aQƘdS%C+vm|ω3)?͇_A9O$? DK?C2_Ju ~59~Fcg4rH~" bd,22,$#F50r"2!ȉ0ʨnH$#e0s"r◲@9~uYv/iŨ/e>_YRYR*a\dڑY~?/iGiG2ϰG%8/g4~FTᗋth>%H~'FOer(",;9/i~_%~% KAYJ`#9՟!D.EL]rMi@Iɖ&Q"%I(m (JR,kHY^e=ׁR{%6^PxQl|?J4^pM~Vps+ֿn?>~Ww֓++
endstream
endobj
425 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FVYUVB+LMMono9-Regular /DescendantFonts [ 4353 0 R ] /ToUnicode 4352 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TLOLYP+LMMono9-Regular /DescendantFonts [ 4357 0 R ] /ToUnicode 4356 0 R >>
endobj
-4353 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /FVYUVB+LMMono9-Regular /FontDescriptor 4349 0 R /W 4348 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4357 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TLOLYP+LMMono9-Regular /FontDescriptor 4353 0 R /W 4352 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4354 0 obj
+4358 0 obj
[ 35 [ 580 ] 47 [ 624 ] 50 [ 558 ] 55 [ 536 ] 59 [ 641 ] 63 [ 613 ] 72 [ 513 ] 75 [ 747 ] 77 [ 613 ] 81 [ 636 ] 84 [ 558 ] 96 [ 602 ] 98 [ 458 ] 105 [ 591 ] 112 [ 613 ] 116 [ 613 ] ]
endobj
-4356 0 obj
+4360 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc````Td
B
endstream
endobj
-4357 0 obj
+4361 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2190 >>
stream
x}V TS!܈k\+^"jX]H@_$
@@ -14470,31 +14404,31 @@ $᷹?͢LtWS09t`&iJBo=ݖNFh2+-Ri?rtzx,-W<
sY%r,F2 ;lv>k#C^t:O
endstream
endobj
-4355 0 obj
-<< /Type /FontDescriptor /FontName /SJLYVB+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 4357 0 R /CIDSet 4356 0 R >>
+4359 0 obj
+<< /Type /FontDescriptor /FontName /SJLYVB+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 4361 0 R /CIDSet 4360 0 R >>
endobj
-4358 0 obj
+4362 0 obj
<< /Filter /FlateDecode /Length 441 >>
stream
xڍ_k0)BwጶӾ]2]o&Mrt1ş9'92z-7jdּAu/
endstream
endobj
-414 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SJLYVB+LMRomanCaps10-Regular /DescendantFonts [ 4359 0 R ] /ToUnicode 4358 0 R >>
+412 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SJLYVB+LMRomanCaps10-Regular /DescendantFonts [ 4363 0 R ] /ToUnicode 4362 0 R >>
endobj
-4359 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SJLYVB+LMRomanCaps10-Regular /FontDescriptor 4355 0 R /W 4354 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4363 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SJLYVB+LMRomanCaps10-Regular /FontDescriptor 4359 0 R /W 4358 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4360 0 obj
+4364 0 obj
[ 28 [ 500 ] 50 [ 444 ] 52 [ 778 ] 70 [ 528 ] 72 [ 278 ] 109 [ 556 ] 112 [ 528 ] 118 [ 528 ] ]
endobj
-4362 0 obj
+4366 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``````j````i
endstream
endobj
-4363 0 obj
+4367 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1359 >>
stream
x}Lg
@@ -14505,10 +14439,10 @@ KRm),4Yf:6ͿljYQ[u65 d#&9%uSZEF#gx*{Q
UBuxBS/sEBT!oS_<ߝrl=X^_V1 t@Xx$jZBl!<wIP ,/`<</¤ixa y050m x8`Wc>gL (/zruKձMbF14b_6m =؁6p(#Q CLi(P;:TgyIKa9 hS 7a?ñ x04^k!a1oY6m!^]8p$|澛U\mjKkk>u0|BPP-E=!9Nbh&29qJ3jW#t`|Z:Y|?ž!(cJkC 95`FX$:m~
endstream
endobj
-4361 0 obj
-<< /Type /FontDescriptor /FontName /ZUCODC+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 4363 0 R /CIDSet 4362 0 R >>
+4365 0 obj
+<< /Type /FontDescriptor /FontName /ZUCODC+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 4367 0 R /CIDSet 4366 0 R >>
endobj
-4364 0 obj
+4368 0 obj
<< /Filter /FlateDecode /Length 406 >>
stream
xڍ_K0)Pn
@@ -14517,22 +14451,22 @@ xڍ_K0)Pn
nN'Z$4ǮJ,l 4ţRZz=Tg:Ifסt@W.=MsOPt(4=̓oN& ](b6%^>7}j_TGGH
endstream
endobj
-392 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZUCODC+LMRomanSlant10-Regular /DescendantFonts [ 4365 0 R ] /ToUnicode 4364 0 R >>
+394 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZUCODC+LMRomanSlant10-Regular /DescendantFonts [ 4369 0 R ] /ToUnicode 4368 0 R >>
endobj
-4365 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZUCODC+LMRomanSlant10-Regular /FontDescriptor 4361 0 R /W 4360 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4369 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZUCODC+LMRomanSlant10-Regular /FontDescriptor 4365 0 R /W 4364 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4366 0 obj
+4370 0 obj
[ 28 [ 511 ] 35 [ 460 ] 42 [ 716 460 ] 46 [ 755 511 ] 49 [ 678 460 ] 54 [ 653 307 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 68 [ 307 ] 70 [ 460 627 256 ] 74 [ 897 818 ] 77 [ 562 ] 81 [ 511 ] 83 [ 678 511 ] 91 [ 460 ] 96 [ 422 562 409 ] 104 [ 716 332 ] 109 [ 537 ] 111 [ 743 460 ] 114 [ 664 743 464 ] 118 [ 486 ] 125 [ 562 ] 502 [ 307 ] ]
endobj
-4368 0 obj
+4372 0 obj
<< /Filter /FlateDecode /Length 28 >>
stream
xc``0N\%B], $&
endstream
endobj
-4369 0 obj
+4373 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4953 >>
stream
xڭY \w'j-3:mףVS[뮷Dk+@8 !!$$ >"w@nQzEۭ֭G}۽wm޾7v%\A&ND8 {nڲo᎝{$Km͊M gs@0ADY@\Z0x `noh&w?: A8g4a߅ ~)p/?B& ddrr_ [d4W&JJdɲWϯ և ƧJr2SEXq`[`g`$=*̗qشD$Q)< 2I2I4sA 2Y)ȑRL&& B +Y(زoo`D%!3ELP%}}0,iq"i?\8o]vlݰiMaY,AD&HfŊ2þןwIdi$q­ Bq(+ao3HY@V" kFd3yنlGv"^$9 HtDHd!r ={$a"bTp>A]0qD}3iڤ:0ǧ̞OK?Avzv泎i].ŌgP!j/n-zbob
@@ -14562,31 +14496,31 @@ mf^FHaVb]|[՗kuG buZHSzrި>_j
o3Oa:$d
endstream
endobj
-4367 0 obj
-<< /Type /FontDescriptor /FontName /OSSEGU+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 4369 0 R /CIDSet 4368 0 R >>
+4371 0 obj
+<< /Type /FontDescriptor /FontName /OSSEGU+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 4373 0 R /CIDSet 4372 0 R >>
endobj
-4370 0 obj
+4374 0 obj
<< /Filter /FlateDecode /Length 535 >>
stream
x}Ko0]8ĥBx"MK0ن0%a禕arѷ_#g磌mKxѦ.RRA[[xnR]&8*:3al彮rp?KYܞ:D?QKK]Yg<r͋뺲vބdSeKm B&ˢ'rEe[׫*է[,݈]\dJՖwz41ٵi.ø$LIm<z+&vTo|<s54\RuM^6g- <a$qxt>HşIy$)(-ͦ4-h 4 EQ - hDTA(瓣wn@s TW TAOЈh>IՉ6;\8k?cd`:iDEDLP"  I4m<x``ܾUckۚvWRԍ=wmKFa
endstream
endobj
377 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OSSEGU+LMRoman10-Italic /DescendantFonts [ 4371 0 R ] /ToUnicode 4370 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OSSEGU+LMRoman10-Italic /DescendantFonts [ 4375 0 R ] /ToUnicode 4374 0 R >>
endobj
-4371 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OSSEGU+LMRoman10-Italic /FontDescriptor 4367 0 R /W 4366 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4375 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OSSEGU+LMRoman10-Italic /FontDescriptor 4371 0 R /W 4370 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4372 0 obj
+4376 0 obj
[ 27 [ 869 559 ] 34 [ 818 639 575 ] 38 [ 575 575 ] 42 [ 831 511 ] 45 [ 319 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 62 [ 900 639 383 436 319 ] 70 [ 607 692 319 ] 74 [ 1092 958 900 639 575 ] 80 [ 864 575 575 786 639 ] 88 [ 319 ] 90 [ 864 607 ] 95 [ 863 474 639 454 ] 100 [ 575 575 ] 104 [ 800 447 575 575 885 639 869 ] 112 [ 607 1189 831 869 607 ] 118 [ 607 ] 120 [ 511 575 671 ] 125 [ 639 ] 284 [ 575 ] 499 [ 571 571 ] ]
endobj
-4374 0 obj
+4378 0 obj
<< /Filter /FlateDecode /Length 32 >>
stream
xc``6/xߏoz€ 8p
endstream
endobj
-4375 0 obj
+4379 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6950 >>
stream
xڕzXW;4ײ3Q 5 EwgYz"(RDQ#%?&Ƙb, 1 ς1ɛ|}\8ٙ繟vgPD" [&X.dwSCv,Hdɉ8B"rDLlZ]4ǧeKwKGPِc?ArMr`1ݏPC(zB2?>rSg,
@@ -14621,10 +14555,10 @@ wU:-kX Ѭ.<Fpy<A߀ƀ7]M^9osȮq>Jꭇ
5y"@-۰ked9P
endstream
endobj
-4373 0 obj
-<< /Type /FontDescriptor /FontName /XTBITZ+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 4375 0 R /CIDSet 4374 0 R >>
+4377 0 obj
+<< /Type /FontDescriptor /FontName /XTBITZ+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 4379 0 R /CIDSet 4378 0 R >>
endobj
-4376 0 obj
+4380 0 obj
<< /Filter /FlateDecode /Length 651 >>
stream
x}]0+s1JA?Fv>PYMt ^7{
@@ -14634,21 +14568,21 @@ x}]0+s1JA?Fv>PYMt ^7{
endstream
endobj
367 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XTBITZ+LMRoman10-Bold /DescendantFonts [ 4377 0 R ] /ToUnicode 4376 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XTBITZ+LMRoman10-Bold /DescendantFonts [ 4381 0 R ] /ToUnicode 4380 0 R >>
endobj
-4377 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XTBITZ+LMRoman10-Bold /FontDescriptor 4373 0 R /W 4372 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4381 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XTBITZ+LMRoman10-Bold /FontDescriptor 4377 0 R /W 4376 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4378 0 obj
+4382 0 obj
[ 89 [ 1161 ] ]
endobj
-4380 0 obj
+4384 0 obj
<< /Filter /FlateDecode /Length 12 >>
stream
xc`
endstream
endobj
-4381 0 obj
+4385 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 514 >>
stream
xmQkQ~/Yl݀&(Px1%- i4J=%Kvɺ/n nl%(("^=&GЃx7Ϧwso#A@cq1_9[8/ۊy1f721y I !M}"쎍>cg!|~r#A qT4XzUs`*: -AVY]A1UJ0/A5 KTS
@@ -14656,31 +14590,31 @@ xmQkQ~/Yl݀&(Px1%- i4J=%Kvɺ/n nl%(("^=&GЃx7Ϧ
"4ljPXn64U/ZԠMUh*(X( 3Դ)$
endstream
endobj
-4379 0 obj
-<< /Type /FontDescriptor /FontName /XNTVGR+LMRoman5-Bold /Flags 4 /FontBBox [ -630 -325 2006 1163 ] /Ascent 1163 /CapHeight 686 /Descent -325 /ItalicAngle 0 /StemV 145 /XHeight 444 /FontFile3 4381 0 R /CIDSet 4380 0 R >>
+4383 0 obj
+<< /Type /FontDescriptor /FontName /XNTVGR+LMRoman5-Bold /Flags 4 /FontBBox [ -630 -325 2006 1163 ] /Ascent 1163 /CapHeight 686 /Descent -325 /ItalicAngle 0 /StemV 145 /XHeight 444 /FontFile3 4385 0 R /CIDSet 4384 0 R >>
endobj
-4382 0 obj
+4386 0 obj
<< /Filter /FlateDecode /Length 358 >>
stream
x}Qk0)n;"ڮCXa&gD> /d}޹:`Z쳊L&[es@^V L76s,Yr\5ބ|Z`Żg}UfrU=jSR cgԵPrRj6>$ߨ6V  5ȽYi&dO]`\0?1bΈ7é- PE17u\YۮcnTt?ҮBX8QXWCдO#wJG}5Cc>Aa?uouܾhg!Z8!1JU6-w.հqG~:T
endstream
endobj
366 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XNTVGR+LMRoman5-Bold /DescendantFonts [ 4383 0 R ] /ToUnicode 4382 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XNTVGR+LMRoman5-Bold /DescendantFonts [ 4387 0 R ] /ToUnicode 4386 0 R >>
endobj
-4383 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XNTVGR+LMRoman5-Bold /FontDescriptor 4379 0 R /W 4378 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4387 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XNTVGR+LMRoman5-Bold /FontDescriptor 4383 0 R /W 4382 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4384 0 obj
+4388 0 obj
[ 27 [ 531 531 ] 31 [ 531 ] 33 [ 531 ] 35 [ 531 531 ] 38 [ 531 531 531 531 531 531 531 ] 47 [ 531 ] 50 [ 531 531 531 ] 54 [ 531 531 531 531 ] 59 [ 531 ] 61 [ 531 531 531 531 531 531 ] 68 [ 531 ] 70 [ 531 531 531 ] 74 [ 531 531 ] 77 [ 531 531 531 531 531 531 531 531 531 531 ] 88 [ 531 ] 93 [ 531 531 ] 96 [ 531 531 531 ] 100 [ 531 531 531 531 531 531 531 531 ] 109 [ 531 531 ] 112 [ 531 ] 114 [ 531 ] 116 [ 531 ] 118 [ 531 ] 121 [ 531 ] ]
endobj
-4386 0 obj
+4390 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
xc``i}m■r
endstream
endobj
-4387 0 obj
+4391 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 5721 >>
stream
xڍY \֟2J]㒩wRVۺ ԥ*Tqi]XNIH  "ִ֢Vmj_{gMj%ܙ{9s@Dў6z^SRϝV棱>Z?ϏNljx4ļ$"c;9<z>-[2DÄA0i׸&ZoqzrDs]7AT$t3PGht3X?_SOS, U
@@ -14713,10 +14647,10 @@ dWg`+ErK6(aeZZX/ =ݴ^Wٚ.=-=1Qtjtյ{
n`*3%M+aLJq 앥K*h/BC&$`
endstream
endobj
-4385 0 obj
-<< /Type /FontDescriptor /FontName /MOXNPT+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 4387 0 R /CIDSet 4386 0 R >>
+4389 0 obj
+<< /Type /FontDescriptor /FontName /MOXNPT+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 4391 0 R /CIDSet 4390 0 R >>
endobj
-4388 0 obj
+4392 0 obj
<< /Filter /FlateDecode /Length 645 >>
stream
x}Mo0=8ih%Czİp߯wJ+v+aƞgz?xGg>LSաzEݮƶkcrwm2ۙK^rM8if΅NuXo>s?WҖÜoCsh_<qM~)JʆϜsśyM譣a"kMkK{* \i{p~:7uaϬXѥnUu1^h2a9]ևaeE{GaI!t27MuL}g] $26+αx_%PP3phHo!29H 3nҠhL(6E"`@"I3
@@ -14728,21 +14662,21 @@ r Q5yLSMo ^WϦM0ŒӡkUeW0)i)v
endstream
endobj
350 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MOXNPT+LMMono8-Regular /DescendantFonts [ 4389 0 R ] /ToUnicode 4388 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MOXNPT+LMMono8-Regular /DescendantFonts [ 4393 0 R ] /ToUnicode 4392 0 R >>
endobj
-4389 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MOXNPT+LMMono8-Regular /FontDescriptor 4385 0 R /W 4384 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4393 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MOXNPT+LMMono8-Regular /FontDescriptor 4389 0 R /W 4388 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4390 0 obj
+4394 0 obj
[ 28 [ 549 ] 47 [ 549 ] 50 [ 494 ] 59 [ 494 ] 66 [ 329 ] 75 [ 878 ] 77 [ 603 ] 81 [ 549 ] 84 [ 549 ] 91 [ 494 ] 96 [ 453 ] 98 [ 439 ] 105 [ 357 ] 109 [ 576 ] 116 [ 495 ] ]
endobj
-4392 0 obj
+4396 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc````TPX
endstream
endobj
-4393 0 obj
+4397 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2201 >>
stream
xڭV PQ#E Y]ȏS[[C
@@ -14755,10 +14689,10 @@ bEeli2vRӣ%IH=Ҫp P"S|TRQ$OI\%Q b-N(JC
`F7fgid]{7?uꨤʱA# vvPvW2ILh> oұ1ѷS؇A 6kZ mn
endstream
endobj
-4391 0 obj
-<< /Type /FontDescriptor /FontName /GAKDMK+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 4393 0 R /CIDSet 4392 0 R >>
+4395 0 obj
+<< /Type /FontDescriptor /FontName /GAKDMK+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 4397 0 R /CIDSet 4396 0 R >>
endobj
-4394 0 obj
+4398 0 obj
<< /Filter /FlateDecode /Length 432 >>
stream
x}j0z
@@ -14767,22 +14701,22 @@ uHeC7Ӧ-I(:$GKFyJshFWA=DF7p!QyW
endstream
endobj
349 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GAKDMK+LMRoman8-Italic /DescendantFonts [ 4395 0 R ] /ToUnicode 4394 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GAKDMK+LMRoman8-Italic /DescendantFonts [ 4399 0 R ] /ToUnicode 4398 0 R >>
endobj
-4395 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GAKDMK+LMRoman8-Italic /FontDescriptor 4391 0 R /W 4390 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4399 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GAKDMK+LMRoman8-Italic /FontDescriptor 4395 0 R /W 4394 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4396 0 obj
+4400 0 obj
[ 51 [ 611 ] 56 [ 611 611 ] 78 [ 611 ] 82 [ 611 ] 100 [ 611 611 ] 106 [ 611 611 ] 121 [ 611 ] ]
endobj
-4398 0 obj
+4402 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`
< 
endstream
endobj
-4399 0 obj
+4403 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1695 >>
stream
xuU}PSW%+4-}O{BkQP`@E ZyI
@@ -14797,10 +14731,10 @@ E0Hw/l:NhW$
{>4`YQ$4d쭗6}hб{F}p$pxse\ɦ|D;2ukwW j@FQCCsA*<O0'Niu
endstream
endobj
-4397 0 obj
-<< /Type /FontDescriptor /FontName /XENFPT+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 4399 0 R /CIDSet 4398 0 R >>
+4401 0 obj
+<< /Type /FontDescriptor /FontName /XENFPT+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 4403 0 R /CIDSet 4402 0 R >>
endobj
-4400 0 obj
+4404 0 obj
<< /Filter /FlateDecode /Length 404 >>
stream
x}K0w.jSH'fTT5:]'0S=799Im\0)Pf?Ӝ4 Ū eFj1Vl%4"lq"ٵX"Sbq^mNe;TTvDy5`
@@ -14808,22 +14742,22 @@ n/ԅPr QRj~,%̮ %ﳐ\߭'Q`ܓe&*ۼ%f<+2@hfEouQ y F
endstream
endobj
347 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XENFPT+LMRoman6-Regular /DescendantFonts [ 4401 0 R ] /ToUnicode 4400 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XENFPT+LMRoman6-Regular /DescendantFonts [ 4405 0 R ] /ToUnicode 4404 0 R >>
endobj
-4401 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XENFPT+LMRoman6-Regular /FontDescriptor 4397 0 R /W 4396 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4405 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XENFPT+LMRoman6-Regular /FontDescriptor 4401 0 R /W 4400 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4402 0 obj
+4406 0 obj
[ 28 [ 510 ] 35 [ 549 ] 43 [ 472 ] 50 [ 472 531 ] 55 [ 325 531 531 ] 63 [ 549 ] 66 [ 253 ] 70 [ 519 ] 72 [ 253 ] 75 [ 844 ] 77 [ 549 531 ] 81 [ 531 531 ] 84 [ 549 ] 96 [ 363 ] 98 [ 407 ] 100 [ 531 531 ] 105 [ 384 531 531 ] 112 [ 490 ] 114 [ 726 ] 116 [ 490 ] 121 [ 531 ] ]
endobj
-4404 0 obj
+4408 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xc``0<4-aM

endstream
endobj
-4405 0 obj
+4409 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2548 >>
stream
xmV TW!L&jL+1Z-*`h "Q0$PѢ
@@ -14844,10 +14778,10 @@ b`BSK)i$mE CbcTEYz,ڿѿ+8+rZnc[GL@
+_\DeշS?|f5t) MXm-92TNf#2˄~ȹS}&6߹|VT&c5|:&)O8$`?0ݼrW wk7 '&c
endstream
endobj
-4403 0 obj
-<< /Type /FontDescriptor /FontName /PTIWQK+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 4405 0 R /CIDSet 4404 0 R >>
+4407 0 obj
+<< /Type /FontDescriptor /FontName /PTIWQK+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 4409 0 R /CIDSet 4408 0 R >>
endobj
-4406 0 obj
+4410 0 obj
<< /Filter /FlateDecode /Length 496 >>
stream
x}O0=dqH`"-]Am!h$p"'9k9REʏy3ƞsYGGީ{U~)o4e%ٽ C}b{U9ul6-dy +)1}@!%/d;_
@@ -14858,96 +14792,93 @@ A3 94D\b
endstream
endobj
346 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PTIWQK+LMSans8-Regular /DescendantFonts [ 4407 0 R ] /ToUnicode 4406 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PTIWQK+LMSans8-Regular /DescendantFonts [ 4411 0 R ] /ToUnicode 4410 0 R >>
endobj
-4407 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PTIWQK+LMSans8-Regular /FontDescriptor 4403 0 R /W 4402 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4411 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PTIWQK+LMSans8-Regular /FontDescriptor 4407 0 R /W 4406 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4408 0 obj
-[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 ] 47 [ 590 ] 49 [ 723 472 ] 54 [ 693 325 531 531 834 531 ] 62 [ 796 590 354 383 295 ] 70 [ 561 664 295 ] 74 [ 973 885 ] 77 [ 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 826 ] 91 [ 561 ] 95 [ 782 414 590 419 ] 100 [ 531 531 531 ] 104 [ 767 413 531 531 ] 109 [ 590 ] 112 [ 561 1091 767 796 561 ] 118 [ 561 ] 121 [ 531 ] 123 [ 885 ] 125 [ 590 ] 284 [ 531 ] 499 [ 502 502 ] 502 [ 295 ] ]
+4412 0 obj
+[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 ] 47 [ 590 ] 49 [ 723 472 531 ] 54 [ 693 325 ] 57 [ 531 834 531 ] 62 [ 796 590 354 383 295 ] 70 [ 561 664 295 ] 74 [ 973 885 ] 77 [ 590 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 826 ] 91 [ 561 ] 95 [ 782 414 590 419 ] 100 [ 531 531 531 354 767 413 531 531 ] 109 [ 590 ] 112 [ 561 1091 767 796 561 ] 118 [ 561 ] 121 [ 531 ] 123 [ 885 ] 125 [ 590 ] 284 [ 531 ] 499 [ 502 502 ] 502 [ 295 ] ]
endobj
-4410 0 obj
+4414 0 obj
<< /Filter /FlateDecode /Length 32 >>
stream
-xc``0Mxۿ
-a 8
+xc``0-.~_~0`@
+
endstream
endobj
-4411 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6724 >>
+4415 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6576 >>
stream
-xڝZ\׺eTd-3:-b"e KY@@X:eYzeaY `oQވDch<; x_r}-v9+ !,ڰ6)\gmy]̟-G'9!/Z [vDE_wF w
-mqpw66Qz,9C"1,C_b ~y7#֍hM]Ma.0AͪWq(/Q^:+ WG%q(( 6tlƇ՟L}PL6
-ևt@}Ce@wEּ!֠<
-IJ8ka-ʎ@al'\m<Gv `$#!f&亿5/ޕm 3>7M+QnOhf[@NU%4FԂb9yPW{-2CM]M /a6-Y1ǣKF23ѦO-W\VBn_$: rB | ΃pvcMc'uJ I)j64A1o<nZ;
-7rd( 3K+g?^L6pd#Yv
-`Gɭ) 8t>uml5`ۃq]8ϙ`} =ި1RqIb4)0t>Zɠo)<CK&`̛$%9e 3aZ(x[ ?)ވUYA]'̸*g:;:Fa'yP3ʎq~Ggu4lΝh1h @b<!uU.ҬM 웆F*ؾUؾ#&bs6qFap~GO unLo`w\^g|'0𣒵hHN L00~Q#^ťaᴭRsuU` ng@%s!p0r&g?V&4
-w~~utϪ rD]po=pS7d3e.)BZz(MWsK-\y-tMtaÝwJ4\>+)npؕ92/رګ, ]K,E(Ww'z/P8Zsڷ٧5n &2r]P~2=+# j>T<v@D}p5k*;LV'%EyEY,D*H
-ĭCP2{Cy(20߁B8(KwR_ptY{8z4܍®r/&Rsn&1Fu"rP#էOR1q"#́7PλbzZiM' QVN7MO|wd-Ж#mKW/x`Z5|\F!lH
-j\MZn0LSg0;.[ͶU#[lv%yG+3-ScayHF
-6AbfaV'r<ARhَϲ(U19&X7VV$=]wH *z<FA?ɡp9٬\QTg·,IINC"Y4Y
-{;@kmnA8^Rn$NOgzfv )K
-̿)7Z)X
-v%*X,5>gWy u$07Ǡ~#'!Hhi=QɆH,]6nXё4)SVu} Gp8a?x,vYSKY*@ |4fW՗1׮Jqe;a9FfBؕKځx)pip7;S 4f($@#i0 $ਏ<bi8h $P4t "0j"|J~}Ӳ$N-
--`w3ե1 :>v>
-}/L!IRy,%p=Lð?dNeZ=OΈܱ=.E4*JdE#=/AH(^wN*d*hrUah !Lowb14Kt مOdeR\ ^8#o<+~s~&lI*B@`8+ kGdTP*A>U8
-TT|62T`+ƈno:9H~ڧLJS>֚y' e<p衺J-`S =y3svWsബ5$ Fm=i :[I:ȋ1 )$5(¹sאE=#ܴ&;K߶:8Іaj}Zك=Z&2_ޫ3/L \Q, jmNfՃR
-xi=m4v.yP6奘@=@~i%&+iyeTieY?< 5>upfe첐$7ud[/ZSx"
-4SgcR yLa5k̎5[Ա Z\Jr=MzV6yYfTy珞;,,>D0dD1 ~/ 6/Se-7_)f?<Q_%h< N y
-J$EɌ<ñ]W=죟He^M(l&.N
-1Ե#dr% QYPM
-[RԬZP@ qa a)7~z_p|+\![ 
-.`x(67~b e/,|rջ4esw9xTEVKk|C[b9U}3~2HOԬOܛMGe"84K=,,=aJ,WV("l^pw4 pu;j@suX^ AŐօͦa]8- d5oʴˌ8b;j?:|>ы~=٠"*C4A4ωh-#б8,$-&gl[pFrq~擛@=C%~d,=o{>'5 F~y-KN#1idDб8'=+Ey U G tX>ѻsѾ|&?# G/*65iY Btz9#V|$InW4%Tm< j\n7=UᲢ?t
-M^#i6~?_dy~%ҧ2Yyi\g¥4U!Svo7T]
-we:+A> 5&'0V5 -J
-zm= q:?{RJL4
-@j]iԖUܽ-Yע-c"sZSKB B”rӝXQu)ۄcApV`K^\r+lQb̈́m*ݸ좣7b<?5]u^J6Q>—\9$} 5 s*ZĔR.w XeSӼtuaף
- I2,EQ  5]K[xWڷ:<!m39gkW1DbYW$~#I`!ٜrPɟu/ƍ&ܨ7( t.>%d,gkD4xyscݿU'
+xڝy \׾ *2ꌝRZ^W*,a %[ !
+^ qk)ԔD`LjcJ8](>5 KBG.4g8ec~;H=k-,9&˯N60a' ϲ6ROFL1uD鈟%#t{IG=EK&e1sԼoFhiFo(>!gbrHURL*B{wgHӠ_T'8# .A.mEF|M@
+GqZR:ϡ
+X$A@ D!<=j{0VW=o!F{y,$Yw̘M@EPV^[$L4wlYܤZ$|,jM9ZWÕ,Tˎ1f~ǡ'%T\v*c-{q .`Ѫg-9銟=:׋,u
+.*=+D*ŷ3⽸RK Ŕ/d7U.Bb̈́ƌ,筋6rzt_`'Y$;9X]IJv%0
+߁l_>#0M1sn].j r\}!cy}ʷ1h8NC4 C'% FT9ԉqnhjb[ 'me7.sFXoCh۠n^/hZp"ASTcSya\,? Nox:T|RA#DB^YLgC0/xur=Gɸ8Wi&U;CcѰi0$dBU
+%Ҝo80Ujp{魎 MAvtPf|\m.a5s:ͩgkvܡi;v2ߚ@$<S}ӜAö-sCoBd΍,~SD, k/_;?az$Rf-x s'*N<)n58njQ`
+k 'ZQ[PrF6q0{Y|N:OemaƛtÏ{%
+[c=)}!tghz4A\bk4JQ:Wo'N}m7 mSNqY7fSL5텰'>@g4##ځfwÏ ,ŽDz$M= `&LpG(΄ >ms8|$(4j"0Ij*%=Y9glu7q!GT':ೆl9u4ħulF)9qwHiuwUkXwPk,j;Ay78kO=
+9,V1
+T
+{q?GMk򧐣wT^Nj7i3d8ZWBSa$ f7x9ew ಬ
+7$a%ꋟꩲ$Y :'>a
+fkqHEr!F;?{@?G%;KbD-NhE0z%esu`*nbvgSM9fHp8S,^We59A9h2׬>{3>˺()?4\׺tg_.4믘f$~`)󔴄$%-)(6 Fޯέ\ ]p,b9HqC
+͕ MrSl1$*>qٱh Ϟ9qQ=oc$BD>5;镎lp;OC.-N1L4Hámd4H(اf32s -o~<Q\#hɝBI{J6#!7g;U+[~tl&[o>CSU :MW'&)l^t` Żv4jUဪ/oǬ=O
+s:-HKŽsXYMY)tmj=Ɗc]3Buo$ 2&#ۖ*6}AQwp.&&WG<""T.Ͳs[hgI8:qNQNȨ(6|0֡OlBOPW |oc$\yu"Qe
+uo<PU]Zw33($GjSro?Up;|!mlެs0~͆U} `2 l7.3 !76:-..ER&gb*BzH
+/-KOjuf~e"P G>!}?#j`
+aUDҎ=I)A4V!-ZŅ/p;| gnƬ +rߩ }G-FY"*;.ChOs k}d|I"?m9g9iG;Xx7jˁ-Ɂ9:V
+!V% ^{XĖ~
+84w^mZ ?֟/z2¬L٢̸b83.l 
+9فp^C9Pt
endstream
endobj
-4409 0 obj
-<< /Type /FontDescriptor /FontName /SEKAPH+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 4411 0 R /CIDSet 4410 0 R >>
+4413 0 obj
+<< /Type /FontDescriptor /FontName /SVSURZ+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 4415 0 R /CIDSet 4414 0 R >>
endobj
-4412 0 obj
-<< /Filter /FlateDecode /Length 638 >>
+4416 0 obj
+<< /Filter /FlateDecode /Length 640 >>
stream
-x}M0=dɧ + 
-9d;i)/J1}(LMݽܮYzfձ:LGك(e~ʶ+kg*Vuev9d\%Uv2{"?ýeUڙDw.['g-Յ8íi0IVȳ.gUMdey]Ȯrf"F%T_qNgNh忳򗺐E~bie
-'BpJ-釖6Ȍ,> D1Mс2g IfDfDkĦ rE<S@dF3,"q"rB5f!:p6 p"8X, ;bXǘ`Sqff1ΝL%9\B'%q"L00 ;&(+d] s43" LI/ t~>~=O|oMZ"P
-YԾ6wV_7J%?︦n*pQ8
+x}]0+sѱ8HAòwnM򞎰쀃O9ONl&O =]=t/YL&iT,h:?ȞM׻tA'T~
+9f;i%/>lz?e_Wzr2\̪c_u/̖mWUsfdfTEKd?`ED^QŇ[jεX\v}{-d[ ~sC\a$g]Z5$
+-Ws9>]E: =/aKV@0~g)t!ϋb(DhXBN*Z-mY
+}TAlj/|qdr@&T̈6QMrE<SAdF%ti#"I.D X=ڂН{S1RdIv3u afLP%Is "8i3Ap qF\#0q~f <Cr~/<O'\y1%A$)8}('?O|omZ"P
+yԾ6wm/{ w\S7fq m?4n
endstream
endobj
345 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SEKAPH+LMRoman8-Regular /DescendantFonts [ 4413 0 R ] /ToUnicode 4412 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SVSURZ+LMRoman8-Regular /DescendantFonts [ 4417 0 R ] /ToUnicode 4416 0 R >>
endobj
-4413 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SEKAPH+LMRoman8-Regular /FontDescriptor 4409 0 R /W 4408 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4417 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SVSURZ+LMRoman8-Regular /FontDescriptor 4413 0 R /W 4412 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4414 0 obj
+4418 0 obj
[638.9 ]
endobj
-4415 0 obj
+4419 0 obj
[446.4 446.4 0 877 0 0 0 0 0 569.4 569.4 ]
endobj
-4416 0 obj
+4420 0 obj
[668 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 607.3 ]
endobj
-4417 0 obj
+4421 0 obj
[570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 277.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 777.8 500 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 520.6 0 0 600.2 0 0 0 0 0 0 0 0 0 571.5 ]
endobj
-4418 0 obj
+4422 0 obj
[388.9 388.9 0 777.8 0 0 0 0 500 500 500 0 500 0 0 0 0 0 0 0 0 777.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 444.5 0 0 0 0 0 0 0 0 0 0 555.5 0 0 0 391.7 0 388.9 ]
endobj
-4419 0 obj
+4423 0 obj
[ 28 [ 525 ] 35 [ 525 525 ] 40 [ 525 525 525 525 ] 47 [ 525 ] 49 [ 525 525 ] 55 [ 525 ] 59 [ 525 ] 61 [ 525 ] 63 [ 525 ] 65 [ 525 525 ] 72 [ 525 525 ] 75 [ 525 ] 77 [ 525 ] 79 [ 525 ] 81 [ 525 525 ] 84 [ 525 525 525 ] 91 [ 525 ] 93 [ 525 525 ] 96 [ 525 525 525 ] 102 [ 525 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-4421 0 obj
+4425 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``(p5OK
endstream
endobj
-4422 0 obj
+4426 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4150 >>
stream
xڭXyT[UnJ[Z8ܫvZZ:tigKG(!%B Co2a
@@ -14969,10 +14900,10 @@ FR+擛T4Yhڔ5LV\nĉ |5*I1?bT`km^~R.w:}]!s
k:vYP+`/@pKYvm
endstream
endobj
-4420 0 obj
-<< /Type /FontDescriptor /FontName /YWBYKK+LMMono10-Italic /Flags 4 /FontBBox [ -491 -316 834 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -15 /StemV 175 /XHeight 431 /FontFile3 4422 0 R /CIDSet 4421 0 R >>
+4424 0 obj
+<< /Type /FontDescriptor /FontName /YWBYKK+LMMono10-Italic /Flags 4 /FontBBox [ -491 -316 834 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -15 /StemV 175 /XHeight 431 /FontFile3 4426 0 R /CIDSet 4425 0 R >>
endobj
-4423 0 obj
+4427 0 obj
<< /Filter /FlateDecode /Length 538 >>
stream
x}[o@+Ha}[Y
@@ -14983,21 +14914,21 @@ ZZV RzNA#!ȑS 1b(!Xag rP:8K^襮z!v@Vpd"&z
endstream
endobj
339 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YWBYKK+LMMono10-Italic /DescendantFonts [ 4424 0 R ] /ToUnicode 4423 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YWBYKK+LMMono10-Italic /DescendantFonts [ 4428 0 R ] /ToUnicode 4427 0 R >>
endobj
-4424 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YWBYKK+LMMono10-Italic /FontDescriptor 4420 0 R /W 4419 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4428 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YWBYKK+LMMono10-Italic /FontDescriptor 4424 0 R /W 4423 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4425 0 obj
+4429 0 obj
[ 28 [ 525 ] 35 [ 525 ] 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 63 [ 525 ] 66 [ 525 ] 70 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 84 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 114 [ 525 ] 118 [ 525 ] ]
endobj
-4427 0 obj
+4431 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``TdTe
endstream
endobj
-4428 0 obj
+4432 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2337 >>
stream
xڕV{TW
@@ -15016,10 +14947,10 @@ fTKw0V&Q+<NnV-LWN]uIMa&#?/
aA\PQRA HC qp*)9 q\_~R$r
endstream
endobj
-4426 0 obj
-<< /Type /FontDescriptor /FontName /ESZHGF+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4428 0 R /CIDSet 4427 0 R >>
+4430 0 obj
+<< /Type /FontDescriptor /FontName /ESZHGF+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4432 0 R /CIDSet 4431 0 R >>
endobj
-4429 0 obj
+4433 0 obj
<< /Filter /FlateDecode /Length 459 >>
stream
x}n0~
@@ -15032,21 +14963,21 @@ x}n0~
endstream
endobj
338 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ESZHGF+LMMonoLt10-Bold /DescendantFonts [ 4430 0 R ] /ToUnicode 4429 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ESZHGF+LMMonoLt10-Bold /DescendantFonts [ 4434 0 R ] /ToUnicode 4433 0 R >>
endobj
-4430 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ESZHGF+LMMonoLt10-Bold /FontDescriptor 4426 0 R /W 4425 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4434 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ESZHGF+LMMonoLt10-Bold /FontDescriptor 4430 0 R /W 4429 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4431 0 obj
+4435 0 obj
[ 27 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 61 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 101 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 118 [ 525 ] 120 [ 525 525 ] 139 [ 525 ] 163 [ 525 ] 202 [ 525 ] 294 [ 525 ] 602 [ 525 ] ]
endobj
-4433 0 obj
+4437 0 obj
<< /Filter /FlateDecode /Length 36 >>
stream
xc```b`P`&
endstream
endobj
-4434 0 obj
+4438 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8560 >>
stream
xzy\D$*EeLŌu[wQPu ;B , Kؙ}DVmmX]3=?Bpܙ{=|aiI[w\?e<@ie!~n
@@ -15077,10 +15008,10 @@ e"c|*dV
b54IRgo&}}E.d4i1t/,3ߊ晓Hm\RB"%,VN;]0J-nؓŦ0IBMRn&Scؘ) ?}q-r: rnj)a9ItF ,vQ) e#">"F 33y6;&AB{SmbU$?#D[fX dgL?YVViٺ2]<׸%;TG
endstream
endobj
-4432 0 obj
-<< /Type /FontDescriptor /FontName /VSFYBK+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4434 0 R /CIDSet 4433 0 R >>
+4436 0 obj
+<< /Type /FontDescriptor /FontName /VSFYBK+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4438 0 R /CIDSet 4437 0 R >>
endobj
-4435 0 obj
+4439 0 obj
<< /Filter /FlateDecode /Length 757 >>
stream
x}]K@+f/MS e*Vd&nMJ^d޷
@@ -15088,22 +15019,22 @@ x}]K@+f/MS e*Vd&nMJ^d޷
endstream
endobj
337 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VSFYBK+LMMono10-Regular /DescendantFonts [ 4436 0 R ] /ToUnicode 4435 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VSFYBK+LMMono10-Regular /DescendantFonts [ 4440 0 R ] /ToUnicode 4439 0 R >>
endobj
-4436 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VSFYBK+LMMono10-Regular /FontDescriptor 4432 0 R /W 4431 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4440 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VSFYBK+LMMono10-Regular /FontDescriptor 4436 0 R /W 4435 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4437 0 obj
+4441 0 obj
[ 51 [ 569 ] 56 [ 569 569 ] 78 [ 569 ] 82 [ 569 ] 100 [ 569 569 ] 106 [ 569 569 ] 121 [ 569 ] ]
endobj
-4439 0 obj
+4443 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xc`
< 
endstream
endobj
-4440 0 obj
+4444 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1685 >>
stream
xuUkPTGÈ(uG^QWCZ` 00 j3GAG@^X"")E0kZ]CP*X,PѾncgVmwӧ;uXL cLqs`<&N~9*
@@ -15113,31 +15044,31 @@ GKtdžmBEx}gZ5g:\~Bc"ZOI
NbC^r`)|*+%M 1=U8⦈kQʁR y Ķ˚Jmѹpr~_9&꾩R58WCW%#B)_o-Zȫ=%-/7l|D%2]DCbTߙir8lkQ(\-:Kϗ:Y
endstream
endobj
-4438 0 obj
-<< /Type /FontDescriptor /FontName /TFIASI+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 4440 0 R /CIDSet 4439 0 R >>
+4442 0 obj
+<< /Type /FontDescriptor /FontName /TFIASI+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 4444 0 R /CIDSet 4443 0 R >>
endobj
-4441 0 obj
+4445 0 obj
<< /Filter /FlateDecode /Length 405 >>
stream
x}]K0+wQSetPpC풳X$Q xzޓy[ͥc4ڴV`XhKQ#Y#rlv=gZ5}gZZwyvn,z]mMYic{*l]N5'R/UüяqNj S,}PZڋU;,Trn bYՍ={}oDw۪:)H<ДѺ(bLRU5rٝ+$Fb]mfOa+e:]C@tɵ$> i zݧ,<=yz4J<MFƁ&恆 <M/34܂\@Fiqe*o8hd_K}O
endstream
endobj
336 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TFIASI+LMRoman7-Regular /DescendantFonts [ 4442 0 R ] /ToUnicode 4441 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TFIASI+LMRoman7-Regular /DescendantFonts [ 4446 0 R ] /ToUnicode 4445 0 R >>
endobj
-4442 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TFIASI+LMRoman7-Regular /FontDescriptor 4438 0 R /W 4437 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4446 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TFIASI+LMRoman7-Regular /FontDescriptor 4442 0 R /W 4441 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4443 0 obj
+4447 0 obj
[ 28 [ 481 ] 35 [ 517 ] 43 [ 444 ] 47 [ 517 ] 50 [ 444 ] 55 [ 306 ] 59 [ 500 ] 63 [ 517 333 ] 66 [ 239 ] 72 [ 239 ] 75 [ 794 ] 77 [ 517 ] 81 [ 500 ] 84 [ 517 ] 96 [ 342 556 383 ] 105 [ 361 ] 109 [ 517 ] 116 [ 461 ] 118 [ 461 ] ]
endobj
-4445 0 obj
+4449 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``T\0Ń 
endstream
endobj
-4446 0 obj
+4450 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2056 >>
stream
xuV Pgf.qj[m`
@@ -15152,92 +15083,101 @@ xuV Pgf.qj[m`
L8.;1m(`.)p
endstream
endobj
-4444 0 obj
-<< /Type /FontDescriptor /FontName /YSFAMU+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 4446 0 R /CIDSet 4445 0 R >>
+4448 0 obj
+<< /Type /FontDescriptor /FontName /YSFAMU+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 4450 0 R /CIDSet 4449 0 R >>
endobj
-4447 0 obj
+4451 0 obj
<< /Filter /FlateDecode /Length 464 >>
stream
x}n0<)=P I" iV%jĞd-8V6(?cg:@ z5jak`6*6 g
endstream
endobj
335 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YSFAMU+LMSans10-Regular /DescendantFonts [ 4448 0 R ] /ToUnicode 4447 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YSFAMU+LMSans10-Regular /DescendantFonts [ 4452 0 R ] /ToUnicode 4451 0 R >>
endobj
-4448 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YSFAMU+LMSans10-Regular /FontDescriptor 4444 0 R /W 4443 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4452 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YSFAMU+LMSans10-Regular /FontDescriptor 4448 0 R /W 4447 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4449 0 obj
-[ 27 [ 750 500 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 41 [ 278 722 444 278 278 764 556 ] 49 [ 681 444 500 778 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 514 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 778 528 472 ] 95 [ 736 392 556 394 278 500 500 ] 104 [ 722 389 500 500 750 556 ] 112 [ 528 1028 722 750 528 ] 118 [ 528 ] 120 [ 444 500 583 833 ] 125 [ 556 556 ] 168 [ 500 ] 199 [ 778 ] 251 [ 444 ] 277 [ 444 ] 280 [ 670 ] 284 [ 500 ] 319 [ 556 556 ] 499 [ 472 472 ] 502 [ 278 ] 612 [ 500 ] ]
+4453 0 obj
+[ 27 [ 750 500 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 41 [ 278 722 444 278 278 764 556 ] 49 [ 681 444 500 778 278 653 306 500 500 785 500 ] 62 [ 750 556 333 361 278 514 306 778 528 625 278 ] 74 [ 917 833 750 556 500 ] 80 [ 778 500 500 681 556 389 389 ] 88 [ 278 778 778 528 ] 95 [ 736 392 556 394 278 500 500 ] 104 [ 722 389 500 500 750 556 ] 112 [ 528 1028 722 750 528 ] 118 [ 528 ] 120 [ 444 500 583 833 ] 125 [ 556 556 ] 168 [ 500 ] 199 [ 778 ] 251 [ 444 ] 277 [ 444 ] 280 [ 670 ] 284 [ 500 ] 319 [ 556 556 ] 499 [ 472 472 ] 502 [ 278 ] 612 [ 500 ] ]
endobj
-4451 0 obj
+4455 0 obj
<< /Filter /FlateDecode /Length 49 >>
stream
-xc``߿
+xc``߿
endstream
endobj
-4452 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8702 >>
+4456 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8580 >>
stream
-xڽzx׶Yƀ!{ J лŽ&WlEV*ɖ 7'@HB )'$$d}wG6 '{?ٞͬ5# @-F-_69`1k=e~! h ]8VY=V"X!A
-z]6ڬYlXm=t!Dψ HAg8vB=&?isݼvK]}#B}얎[1ne`nx`]:MvPP;ϐ@YP舱v뼼C"C|!~Ρnv
-66z6F[ -/**Iݮe*g0OMd=MT%sC6:Ҕ|Ӑ-,<WCA|޷,䨔ҎťhziCbDf[Eg{Aoc2_caxZ|Wqwp_ů\|C'dIOS Saֿ']e*<iĵ
-E4r!6
-Z$'k`ݫ.|k1rɀomJ2؄mr\F[3pP,ӗIHΓJipPE㑤?ܤK
-ƠXiLCEcoڅchH:-acuP@})B.W*a|<WT(S$]xZ>C, P`]񱐛K*QT؀̆I{4N̋:E"*J
-w~1S{&p/p$At 
-|%Jq6ЀjoZi9h+Zb"GRhWTPppaP}~^ZV6 \MPh4J:9Us"tN6Y/P aF*Ek1&O.b44fU[@P5Cy&;RقՙSf+72|Κmy[(w,)0BR+#*3۠XgÑ]5&v IAR(Gq̉q7N7 stw y͎(ڦm_ΙTh 2M6;- !a]uJO}?fM(D<E7L@ɯTTlk"[JsyFA]z$RՊ$55&0]w6`K=jF=,})%#l#a11vϴy7KʪzGJ !͔7Ҙe{$_6>B?xzsFSdMD? ,@?K׺m]pۢ;
-󗛯]q>(mJ8} w\,QUA<Ũ4vTa;z!-Gql$(,7q~1,a+~7}y,8ϲ#h]imPQppPhl*ڡ&0YB-ۈ9Il!>hF&5յVk }d߸Ҏ8sĔV_w62M50EYoVQ`
-JS#:׀4cP[|9Ma vgo09A:b#^ Ta\uv=Fb3$|
-"*KAGQgFϞVG~I[>hu[b<HRREImr z^}JMfTHKIz%4{xLaa2
-&iPp[i{T[sL{U-#x;3o,5gFd3hOWv*7HH~Q?0fNwׄ/.5㶒%0-&Qe)\Oi.뛎f8T5,*1Rq]E6m235sC:ǭ¶P"5F%r=Y^.#-u bsMJ_'3x%OMƓ+be{\LϢyd!MR֞_VP`Y|-5}rsQpia|[PX^쬗1c.n
-gvDx~*ɕ|A~9z.*Pa \Ʉ8Am2k7XVXT̓+Wn44S9Lz +Sttn|AVqz 0! IadR[obK򜌲=8,E]ڻK/<b£nاgvr fwk%?+'u7@Y 9P1чxkc\
-<K
--it)izp\VxYWf@sN˛]ɒbFRu_=v=$/lEGF+#- Z\'yD7uE&2w? \e3]L賈;]0PkSU 65TdEȒY;I]yB>~:vU(
-%|+]҃g&*Ł?wZdMg*2nl9oW=jd0<XrZ)(.551gdxvCm&~/x9T5H}Gu >" ť
-X(^.ŋ<c,h<).N7
-ߣ<~qhδp!>v޵0-)3{>_B]QlZ9cfɱ@}@=̾2
- q;`SԾf_r*ΐP}?,8ƶ=Z?Z󠣏uٶ%_RYq
-~gEf߾`y͇T֩Zh 3mcMT׃ϱ,gGYh!Ѐk
-GB#m&IƤ6|/Թ%MA jKhJR}V>\?? x%=?#DpTuх
-g'f[ȮK,BnǿC}(OF}.->֣@^ΊdGV3\r#jv} i} P)0gx0nFz*e̦ե'k,#55c^TpEȕ 7 t/s %F⾸ӡHrioŋYd -
-8ߠm̼Dݯv ૟G[}a=ՖWk{ݥ$sx&V,Z
-sb,|\73H
-3(򀛶4ăφhYPoB(g@\n42CCH,ESk(R%|zA2`ظ`. /yEˮ Yڕ܄>@If<+!&Dwt:rb 3Ȍ?!btJj1$ZյKk\t$@cC݇-GN噫;N:{lcdX}d[r뙦 5VoUFI
-U'3IdM-O`Nâx
-ry|Ѡe`Di\&א+̲½-6b7Jm]Ot'V
-G\HcP;
-*E<r45t)aa}.E&]cmHaѶ6Q^syshF{g{tެFOf'9,(j+lDJ1c-hTā8s82GK+a oG*@'N ,6U9JD)|29GrT7Ql>T "cۢ#:7Bmͧ9jg'}kvմZ&4Xnz׎QF'rx">%@ j-Hzͳ ٗ<Yw،QDL d k+L!=AMI"RTh'MǴiM]%hᴔ7z}:4sM-Su&ߠSvꌸ:&!.EV̚(1 -ry_ (|V~UYu}VAl]U1B͑sicu/7D#H(U4QQEs4ߣ9̚:ANCOF2Km0 P1vAj:Ye u#% EfC,;4{tt9@ ٢G<kUVYuK ww#3g-̶,$uOi b\C׾:6[Qxe ]Nqgfռ.”Ys f{GfN|S>J[H ޱ߁q[m1җ` Q3MLmKb6^η۝sT
-hO bFcFLX?o H<#Ҍ! z<UD\ ІT&UL1|zHތ(xՂ<-?}l I7ՠ$F|\H ;JZCT<y;@]sff o"y =΅e6FN e91E)S>W/4-K |;eBTk!|<7xmE1Fscqw!zoMRe&yPO1蠟BhuJ6ʙAX`ȇ#`!z=WrˬUl2&!Q
-+ <] sPbHO*w[WTYІ,
-\!0RY10{~L* J ^c=C XZo+3r Q@vQ gZw7wݨYH筭MM4]^OM3Xo?
+xڽzxWYƀ!gLキPCコ+"WrA616,Pښ&1w;p7lvK~d{f4}~3ʊ}[lކ+V s?n:70_`E\n
+/77ѣB<CCg1& c;LXߎBZ7zUFXU?jl2N߰* wkRW7P(1D?b
+vk
+h
+) / *+Y 6F!rH4xFevV*\Vɩ;wɧs*4
+}^
+[7)Z4xwYah ;7F#֭ Sn/ٞ/ŗ-<_9y6ݞ23:ٷɖǯrzϓҏ/$Ab_߱|# z> Smb\$*Y4ه92{CؠFF^{ 0967hmZgMׂH$lCi 2۪S|fšPaxw+؀|$@a +yW⎠+A{(m$iSU$9&0[]vׇ~G`sF,y%c#l"a1vߴyWKUv7 CcBn'%tk%1YI?z~2측3捉7
+ pa&<K]egVc,UqC?yho8/~d#_2=cose2Nkb<Ƹͅ:OַlEO?=>$~_Ce-(y=?|r}{Pku`[͢Chk=bX5IL=BO^YY<Ȣ/7\lظ٠h9
+QZ-= ג6v~-B9|p[ܟŻ:rJ,d[ÝvRi)<MHo3)gK ,'$L9V֪{X'iEh/Kv)4k3BdYpm#Z~zHmZ,Y%U&B>qlr
+zd&$u <{3UJ#AuT2.`?7P~ d 1r:ق x4$W'Q\jjbce<;h&Ҵ_$ }eƷՏ:zOʎ[4(vqe
+x(DUk&,Ue {r >AM{MMK'y1 E;gP4bcӹRC⸁;Fo 2
+!ya1~KN9?@REC>'i^#&섗}٨zx(}
+.*2j XJBdW0i& qxeO2Ɠ3;qhZF ʕBԱ#1Wѐ{.ę"3q{-EpX3sMːza>+Pr( >
+>ԽB_QZqraş6&5"}b_o Pivk6 /hk5پQ=FV"@3H;mJD,2ImRo\܊Al (z:Zuyq"6};KzqNdj
+,DRmmV,f#+̃]!e\Oio|%
+KsO&_QKv2 (> @<x ?bb-#@G}eMr/#}vwg6\p82 \$ i$o;^#F{~;SB~lax]q!
+m|waU8dԙPF 0:"L8ɹy5h$SXUYlBi>c`
+DC©4mh A]AmvcyTg
+jsgLg3ڰ [$AU͑bj>ϩ%aWw}ϫK1sńkn$$?)"?E+hte~Č0XN'~<}'
+W2,>ի tJ8[j<!]
+thxzY/a Diڔ&GO҂͚6orn6יm ߄P[ATP{GreJ6g<Tz9X_T鱘X-٬s̶Ó9HS>zɯ),*Jr\mzot.hK⼞/:[?ᓙI`3
+[ [w cX]6FrJp0(EZJW4bގJN,6UnKSBŢt˃~cJZ[(6UMMeBu?zL߾I׎qgm1sN-;WֺNInO5}>E;{[,s,T\CKTJ'T2x6".%COg k,Hzη ٛ<]w،QD!L|?N-ȝB:SO7
+S1~8xʮDC$ĥٳ%fAmYT+hïkԫ/tjڱkTr"a<XUsKPQ,'FN'&
+TJ1ChPv3C'c}h̶EL#:?:NPRQRty=,4:R=y=MF!,`r
+ #Y>ØOGF7yxl@ 95<k+DV[uI ww#3g-4X-' F|S,Ó.sZQ= Wu%/MCĖ>`lc4CtD7wSz~~9=߉Y=?h3(eLz~|0c͈̩oJ~8V_K}- ˖Q3kL?F y
+l9ZuiVfsVn,(@fȿ*i.ܳ~"O dFafLX?ouH-Ҍ r޲UeD\
+P0MT$Q
+|5 >C|\?>DÓ>5@RlF2.&g2Y4
+ۈx]5
+
+5
+(FzgY-5;w^>Zo>Jn00jL&W
+
+Jf&o|DR+URԪeGf"QhJ=i,l֢V+o=
+Q-)B.Qف }fG͐oVv#\h4Z3{/͆k1B5ZDziytGDl\zPӿ| dwR)ispek +?^ Њ+;sB:SŹYii@j *h+V7x)Mxh/hz 9R̊ 4 RW7_gm,O!10 3r
+!(6 \jh-Fk֦F]6Mӥ魻7):
endstream
endobj
-4450 0 obj
-<< /Type /FontDescriptor /FontName /GHZSST+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 4452 0 R /CIDSet 4451 0 R >>
+4454 0 obj
+<< /Type /FontDescriptor /FontName /PAJJAT+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 4456 0 R /CIDSet 4455 0 R >>
endobj
-4453 0 obj
-<< /Filter /FlateDecode /Length 759 >>
+4457 0 obj
+<< /Filter /FlateDecode /Length 756 >>
stream
-xڅ_o0)J%V lH4M{a A!<94ZV׾\7^qټٞū=6q}nnMqۺ{y ^ڦXN颮.xQSiQmU_C|q?z_\.Wo~]'qnOuۋU\"Mw~]n`Vy&QBE,}SeKkTUёb/ߏ/M 2WǮ}?G綴mUoG"]t8$h4ݸ]{+V.ZH'\4=օmFCWx$s3l]5c__oLFqQ<)RIrd& IcO BvMBv9M0:cH&@PIP- "3d[ JAX=H2;٩bdE z B]<h<(T^&B<hU3;Upj9hI(AAI Q ܂@`H<%:E O/KԂg] ՆzPC!{O{p%:DCgiH)'tJf Qk2ԉ :P'E Kⷉz4N91{fȥ:ʑu5Fv}'B4Ǯ6IP
+xڅAo0C%zHIbdž
+!$m
+Z5M  ( ~V[mV~I|j?C͹+lIÛ֥.3tM庮Gר-!6O$;Gs0?|;?vp4df}5F?tWM§ @Vis&{oLB*}_eGj٧+b r]>}fll2W]Goޕ}%mm{V zo6uzOm֥˗/]Z"!$M6/tL9u|U{ ;^_yg7
+f QHscH8St Z$J'!$Bv"ʐa
+:EQ*.uZ1r@HvAG%ȓa^dK+욹a:f:
+]Bbw!}1 Њ#2 $A._N1]>{m7vM3w{(=loַmZG&Zz_y*@}
endstream
endobj
334 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GHZSST+LMRoman10-Regular /DescendantFonts [ 4454 0 R ] /ToUnicode 4453 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PAJJAT+LMRoman10-Regular /DescendantFonts [ 4458 0 R ] /ToUnicode 4457 0 R >>
endobj
-4454 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GHZSST+LMRoman10-Regular /FontDescriptor 4450 0 R /W 4449 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4458 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PAJJAT+LMRoman10-Regular /FontDescriptor 4454 0 R /W 4453 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4455 0 obj
+4459 0 obj
[ 27 [ 850 547 ] 34 [ 800 625 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 54 [ 707 344 563 563 ] 59 [ 563 ] 62 [ 880 625 ] 65 [ 419 313 ] 70 [ 594 676 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 90 [ 845 ] 96 [ 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 112 [ 594 ] 114 [ 813 850 594 ] 118 [ 594 ] 120 [ 500 563 656 ] 125 [ 625 ] 499 [ 551 551 ] ]
endobj
-4457 0 obj
+4461 0 obj
<< /Filter /FlateDecode /Length 29 >>
stream
xc``0.߂7v=a H
endstream
endobj
-4458 0 obj
+4462 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6187 >>
stream
xڝY XSWھr Bw:u+u [NINadY%(jjZZgZ֎u*aOn3I|y=Q֔H$r^x5=V E~+8a%
@@ -15262,10 +15202,10 @@ Iqr0ӫ^h4mtMfw7+'o~,xa4 챎F
 4mcG
endstream
endobj
-4456 0 obj
-<< /Type /FontDescriptor /FontName /XVCDCQ+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 4458 0 R /CIDSet 4457 0 R >>
+4460 0 obj
+<< /Type /FontDescriptor /FontName /XVCDCQ+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 4462 0 R /CIDSet 4461 0 R >>
endobj
-4459 0 obj
+4463 0 obj
<< /Filter /FlateDecode /Length 619 >>
stream
x}]0+sѱ mGv>VeDii~GAVP|zN&_k&ǀTߜJ[zQTûRRKa]SXzx0K]NR]'վַEj#5z81cwc̕R]_7AZ{&ǻZˎLu5hdKkMV&9~&T]l|סXxYƤڙf6Qm|)M'p[9ECTWf
@@ -15273,21 +15213,21 @@ x}]0+sѱ mGv>VeDii~GAVP|zN&_k&ǀTߜJ[
endstream
endobj
333 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XVCDCQ+LMRoman12-Bold /DescendantFonts [ 4460 0 R ] /ToUnicode 4459 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XVCDCQ+LMRoman12-Bold /DescendantFonts [ 4464 0 R ] /ToUnicode 4463 0 R >>
endobj
-4460 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XVCDCQ+LMRoman12-Bold /FontDescriptor 4456 0 R /W 4455 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4464 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XVCDCQ+LMRoman12-Bold /FontDescriptor 4460 0 R /W 4459 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4461 0 obj
+4465 0 obj
[ 66 [ 245 ] 77 [ 531 ] 81 [ 514 ] 84 [ 531 ] 105 [ 371 ] ]
endobj
-4463 0 obj
+4467 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xc`
endstream
endobj
-4464 0 obj
+4468 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 764 >>
stream
xmRkHQNmZVf,ac6 !
@@ -15296,31 +15236,31 @@ JjB.Ԩ+S- %Eh/(~UvFȚLOlٹiI}̐UQu5;
KWVWv^w4ZybX4=MQ#ch3z6FE:
endstream
endobj
-4462 0 obj
-<< /Type /FontDescriptor /FontName /BLRUUF+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 4464 0 R /CIDSet 4463 0 R >>
+4466 0 obj
+<< /Type /FontDescriptor /FontName /BLRUUF+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 4468 0 R /CIDSet 4467 0 R >>
endobj
-4465 0 obj
+4469 0 obj
<< /Filter /FlateDecode /Length 382 >>
stream
x}R]k0}ϯ{6u_X{ڤ~Ij[!'ܓsOy%W'^XZ3f \:GYm9ZN`K,RT=C%j-9i!{tMWqI*˱Kڣ ̐)"8OԥPrARj6Tn+~k,$7pI0
endstream
endobj
332 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BLRUUF+LMSans9-Regular /DescendantFonts [ 4466 0 R ] /ToUnicode 4465 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BLRUUF+LMSans9-Regular /DescendantFonts [ 4470 0 R ] /ToUnicode 4469 0 R >>
endobj
-4466 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BLRUUF+LMSans9-Regular /FontDescriptor 4462 0 R /W 4461 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4470 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BLRUUF+LMSans9-Regular /FontDescriptor 4466 0 R /W 4465 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4467 0 obj
+4471 0 obj
[ 28 [ 514 ] 35 [ 571 ] 43 [ 457 286 286 ] 47 [ 571 ] 49 [ 699 457 ] 55 [ 314 ] 58 [ 807 514 ] 63 [ 571 ] 65 [ 371 286 ] 70 [ 542 642 286 ] 75 [ 856 ] 77 [ 571 ] 80 [ 799 514 ] 83 [ 699 571 400 400 ] 88 [ 286 ] 91 [ 542 ] 96 [ 402 ] 98 [ 405 ] 104 [ 742 400 ] 109 [ 571 ] 112 [ 542 1056 742 771 542 ] 118 [ 542 ] 125 [ 571 ] 251 [ 457 ] 502 [ 286 ] ]
endobj
-4469 0 obj
+4473 0 obj
<< /Filter /FlateDecode /Length 32 >>
stream
xc``M4Lro‚#XP
endstream
endobj
-4470 0 obj
+4474 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4535 >>
stream
xڵXy\׾PQ;Τ.Tq^.*miqU
@@ -15337,31 +15277,31 @@ qn0[CAF"xG+ 3 ,YUL݇{,U,x wZ~/$]T
3B9$.sN8S1zgj^.GIptWW9h]j3I%ttf97~'v͖`[z} knMqz w} WV a>n
endstream
endobj
-4468 0 obj
-<< /Type /FontDescriptor /FontName /KLWBRP+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 4470 0 R /CIDSet 4469 0 R >>
+4472 0 obj
+<< /Type /FontDescriptor /FontName /KLWBRP+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 4474 0 R /CIDSet 4473 0 R >>
endobj
-4471 0 obj
+4475 0 obj
<< /Filter /FlateDecode /Length 548 >>
stream
x}[0 炱 qbH<QHK"o۷8f]޴'O)ًU!{xѺ.JC.m_NAtdڮtVמ!IKq)WCGsoߋK͕OMձ:DGɃ(m~Ֆ|%3T?H+aMJ2tKɕJNFEnm'<|N&zrvfU?yOŅ*兌h9i!KSY} hUs5.j.&/ExsmM<ӟ::aC+(XF&Aj(B4!s
endstream
endobj
331 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /KLWBRP+LMRoman9-Regular /DescendantFonts [ 4472 0 R ] /ToUnicode 4471 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /KLWBRP+LMRoman9-Regular /DescendantFonts [ 4476 0 R ] /ToUnicode 4475 0 R >>
endobj
-4472 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /KLWBRP+LMRoman9-Regular /FontDescriptor 4468 0 R /W 4467 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4476 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /KLWBRP+LMRoman9-Regular /FontDescriptor 4472 0 R /W 4471 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4473 0 obj
+4477 0 obj
[ 27 [ 893 575 ] 35 [ 657 ] 43 [ 526 ] 96 [ 488 ] 98 [ 467 ] 105 [ 460 ] ]
endobj
-4475 0 obj
+4479 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xc```
endstream
endobj
-4476 0 obj
+4480 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1258 >>
stream
xmTmLSW~"]^Gd-DeNNM)R*]mXAQc`lR>TmM [21 ?̖,f{em̖,9=9xiJ*hen(Hγdmo[M ˰)q)-rQ"/J"dZ)}qLKeK)nSO 21w+(&) POh  kګ=҅Vy-4W* 2L(Ӏ (ZJ FkW8jTPiq"Q«C
@@ -15369,32 +15309,32 @@ F`B56@Jm{7
jг{qU 9L*6bӈ<|Hn;`}]{Xn_M3&b-|,#c|)̺nЬ!0d*veX?`=D~M_Ͻ}Z[b# eɶ
endstream
endobj
-4474 0 obj
-<< /Type /FontDescriptor /FontName /RMWBFT+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 4476 0 R /CIDSet 4475 0 R >>
+4478 0 obj
+<< /Type /FontDescriptor /FontName /RMWBFT+LMRoman9-Bold /Flags 4 /FontBBox [ -501 -299 1649 1136 ] /Ascent 1136 /CapHeight 686 /Descent -299 /ItalicAngle 0 /StemV 110 /XHeight 444 /FontFile3 4480 0 R /CIDSet 4479 0 R >>
endobj
-4477 0 obj
+4481 0 obj
<< /Filter /FlateDecode /Length 388 >>
stream
x}RMk@ﯘ=lTEVT+^.ݰIQ(@B^ޛf{WNXV3 Vۼ"ZD9׊*]R4#N%;sQg!;~WɂAڒL4#Ggk!|x|J&BHodh\ܓfCx,SY(\Bx0d; 樅<CA#8UuAk(cXf/DmV4קٵB9yLqħ1,7 JTxhcOm(1}(DC+<ء)uh9#q=~e]U7Z:y6x?JU͢ 
endstream
endobj
330 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMWBFT+LMRoman9-Bold /DescendantFonts [ 4478 0 R ] /ToUnicode 4477 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMWBFT+LMRoman9-Bold /DescendantFonts [ 4482 0 R ] /ToUnicode 4481 0 R >>
endobj
-4478 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMWBFT+LMRoman9-Bold /FontDescriptor 4474 0 R /W 4473 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4482 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMWBFT+LMRoman9-Bold /FontDescriptor 4478 0 R /W 4477 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4479 0 obj
+4483 0 obj
[ 28 [ 515 ] 33 [ 515 ] 47 [ 515 ] 55 [ 515 ] 59 [ 515 ] 66 [ 515 ] 77 [ 515 ] 81 [ 515 ] 84 [ 515 ] 88 [ 515 ] 96 [ 515 ] 105 [ 515 ] 114 [ 515 ] 118 [ 515 ] ]
endobj
-4481 0 obj
+4485 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xc``p`dP`hhpP
D)
endstream
endobj
-4482 0 obj
+4486 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1845 >>
stream
xuV}TW!@5ʚiZ3K- _EAE%1LBD<u
@@ -15409,77 +15349,72 @@ oRWɧ<| ƠP"{nPq%e}Gܮ(WȗN)QuoYUO&Pn^
g48ԂE>*`zK@E%1άxh@,+&p_(N(/?=u0ݕLDB0O>`R Fon0km(V׮Җ ֐F"3DgϷ^?@%xSEV!6¶M:GӞ`x#qNf4e'_%#l|ZQuJeq?HR@8(fu\o!du8iw6s;YpoۚiPH&Ng y[j;rgRsJcOt~w@[fk9RM
endstream
endobj
-4480 0 obj
-<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 4482 0 R /CIDSet 4481 0 R >>
+4484 0 obj
+<< /Type /FontDescriptor /FontName /CKBVSC+LMMono12-Regular /Flags 4 /FontBBox [ -444 -311 715 1019 ] /Ascent 1019 /CapHeight 611 /Descent -311 /ItalicAngle 0 /StemV 172 /XHeight 431 /FontFile3 4486 0 R /CIDSet 4485 0 R >>
endobj
-4483 0 obj
+4487 0 obj
<< /Filter /FlateDecode /Length 428 >>
stream
x}]O0+`Dpf!q%Df,[֞&%.m{&F%pk z:=A[2,5P3
endstream
endobj
329 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 4484 0 R ] /ToUnicode 4483 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 4488 0 R ] /ToUnicode 4487 0 R >>
endobj
-4484 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 4480 0 R /W 4479 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4488 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 4484 0 R /W 4483 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4485 0 obj
-[ 28 [ 490 ] 45 [ 272 ] 54 [ 639 ] 57 [ 490 ] 59 [ 490 ] 66 [ 272 ] 74 [ 897 ] 77 [ 544 ] 83 [ 666 ] 88 [ 272 ] 105 [ 381 490 490 ] 118 [ 517 ] 121 [ 490 ] ]
+4489 0 obj
+[ 27 [ 734 490 ] 45 [ 272 ] 54 [ 639 ] 57 [ 490 ] 59 [ 490 ] 66 [ 272 ] 77 [ 544 ] 82 [ 490 666 ] 88 [ 272 ] 98 [ 386 ] 105 [ 381 ] 107 [ 490 ] 109 [ 544 ] 118 [ 517 ] 121 [ 490 ] ]
endobj
-4487 0 obj
+4491 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
-xc````a
-PPh`(`r
+xc````a
+P`1hPar
+
endstream
endobj
-4488 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2153 >>
+4492 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2279 >>
stream
-xuV Pgai81ӎݦ('XQPrD%^!sDp`.aFQhPITp5R-TjfFkT_3"D<<|!Hz2E6)R5y~ \ a
-X‰%,
-ϻ:OZD7h.N?y~~p?) 9D)@3R]_JP˼/<WS~T`dt2M@E1T'ݓ
-VjI2
-S즴jJMũ"O*,>AM)UU)jE c*JCè-JZC%D+h(BAk4)k48O*+Q{%SR{MylspfOMU&2!I_IN Ȥ1(Id rC<Ujd-"ۑPd7B!Ld$H!';8
-uqxg}+p/uRqaT ekP4D
-MVH].lVɺj2w$$O*i&e=Aw ľ/o 鯺so8M4VA+-VyuIuE%ts#=xIl}A%Ϭ8zl#,DN!d_^Հ4UXqVX!!21M߽^:J[9"օ;!:&c40A(vs"Hݟ 55^ ~"Bײ&EiSRmچ&NH`)`E<H;A`6g* %=q;"Kn[
-wɤ׆ucɠKEɞ+DLeT&sU %‰~2o.Y󦅹,H/5|{TAh4ޒ]iZY{ݲ\ WBv|C`׾k7oV&KQRLJ}taYdcCNp?OFy§S̅{GIّs>Gw2*
-0ԟ
-| YJ$$`}|Ⴜl j sG|6Mbl`jXwUS3˞A!Q>4<~oFv>уX.ɴ9a?d熀d.v}}{@ڕWrz?\8+wEֆt2]ЖzW6ys:Nmӵ;hFjvAt&Hטx1k2FC3֋UR ZA-F
-l7}|x;㉁5PNf Aܩsx{f<%SLw]"ɹꬬTVYD`X{u:3wd.,,).4uVsT\R:r`
+xu PSW%$7IӭxcjX)"V@B@ Ayp$ +1yAmU:֮:{^f7sΝ93?c8Ox+wbǯLe03f%5&m>pĽC
+RĕL:It,H3:NUghi]:NM@k:Sp:)#@u,Z8j:ŠNMLZO3t5Irc3 iZMg9 ""&MNHt 'J]U Iao%y+ܘouz:MmLO :}vvi.UfLX$asB,
+[%bkd,IJl,+ RR<?| [׋;$$fBN~,rfaK,W
+CNW8&Kr!vA] !7a%t4S<D J~Iѷbݕ*6|R}i h(-T
+_pUCgCtc
endstream
endobj
-4486 0 obj
-<< /Type /FontDescriptor /FontName /ZYVUUY+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 4488 0 R /CIDSet 4487 0 R >>
+4490 0 obj
+<< /Type /FontDescriptor /FontName /EIVVGN+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 4492 0 R /CIDSet 4491 0 R >>
endobj
-4489 0 obj
-<< /Filter /FlateDecode /Length 443 >>
+4493 0 obj
+<< /Filter /FlateDecode /Length 449 >>
stream
-xڅMk0C =ޖ`h "Ivo4Idd_Il؀;3F3x]Bo1LӃOuL&K͇U(P^kaZVJҊ+Qo>0GM$\~8&d.m#G 6 V7_1{%JݸCvAt2
-h}'0'uރ8!y";->v=6`v]oeF=LϙжtEws DnQώ'isl1YZ`M,X+T8
-x>gm\Q,#Έ(/4Kn)oID5{OӜ~˨CN2D/M<,~+ln,;&,~J[d;zy
+xڅAo0=qH
+E k#'9מ!T-Z$fL~oß L9@g+ ,_6LF ~ A[#гiY-+;'8FտEpRK}t߯:N smCv?;̕٭2A{2sJ4! e״q¤S4n[y{zh*}4b"笺^0]Y V
+Dۡm1ptݞu,rs_MK ,A)0`k}` xq"
endstream
endobj
328 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZYVUUY+LMRoman12-Regular /DescendantFonts [ 4490 0 R ] /ToUnicode 4489 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /EIVVGN+LMRoman12-Regular /DescendantFonts [ 4494 0 R ] /ToUnicode 4493 0 R >>
endobj
-4490 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZYVUUY+LMRoman12-Regular /FontDescriptor 4486 0 R /W 4485 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4494 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /EIVVGN+LMRoman12-Regular /FontDescriptor 4490 0 R /W 4489 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4491 0 obj
+4495 0 obj
[777.8 0 0 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 ]
endobj
-4492 0 obj
+4496 0 obj
[ 66 [ 223 ] 77 [ 484 ] 81 [ 470 ] 84 [ 484 ] 105 [ 340 ] ]
endobj
-4494 0 obj
+4498 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xc`
endstream
endobj
-4495 0 obj
+4499 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 759 >>
stream
xuR]HQםuM'״$u&JfZnc;N;23EPaPQ(*YFB>XD܉1h%{{A
@@ -15488,10 +15423,10 @@ xuR]HQםuM'״$u&JfZnc;N;23EPaPQ(*YFB>
'5;լ{k-MW<sϞ>ҍyPs-T2LDf_LeqgF, .r
endstream
endobj
-4493 0 obj
-<< /Type /FontDescriptor /FontName /BTPEXR+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 4495 0 R /CIDSet 4494 0 R >>
+4497 0 obj
+<< /Type /FontDescriptor /FontName /BTPEXR+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 4499 0 R /CIDSet 4498 0 R >>
endobj
-4496 0 obj
+4500 0 obj
<< /Filter /FlateDecode /Length 383 >>
stream
x}R]k0}ϯ{6u:kMn]&%mKR0
@@ -15500,21 +15435,21 @@ OdPWBCJXIP"%\HoVd`\ܛ&*ۜ\X抄!dQ\g?h
endstream
endobj
326 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTPEXR+LMSans17-Regular /DescendantFonts [ 4497 0 R ] /ToUnicode 4496 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTPEXR+LMSans17-Regular /DescendantFonts [ 4501 0 R ] /ToUnicode 4500 0 R >>
endobj
-4497 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTPEXR+LMSans17-Regular /FontDescriptor 4493 0 R /W 4492 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4501 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTPEXR+LMSans17-Regular /FontDescriptor 4497 0 R /W 4496 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4498 0 obj
+4502 0 obj
[ 28 [ 459 ] 43 [ 406 ] 50 [ 406 ] 59 [ 459 ] 63 [ 511 ] 70 [ 485 ] 84 [ 511 ] 104 [ 668 ] ]
endobj
-4500 0 obj
+4504 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xc```PdR
endstream
endobj
-4501 0 obj
+4505 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1482 >>
stream
x}UkPW@Eh{uHרԱTBЊm!%$,y`
@@ -15526,10 +15461,10 @@ x}UkPW@Eh{uHרԱTBЊm!%$,y`
6aV<4QB;@U]axs.H~,.?2-®it]SXGH&1))UUU5UGmznv8Ngd{0
endstream
endobj
-4499 0 obj
-<< /Type /FontDescriptor /FontName /RKQUSG+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 4501 0 R /CIDSet 4500 0 R >>
+4503 0 obj
+<< /Type /FontDescriptor /FontName /RKQUSG+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 4505 0 R /CIDSet 4504 0 R >>
endobj
-4502 0 obj
+4506 0 obj
<< /Filter /FlateDecode /Length 401 >>
stream
xڅ_O0)$0ց
@@ -15538,12 +15473,12 @@ ag=[[$9Ҥec`\ B}tI/4ZC@ImrzJ&pS
endstream
endobj
325 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RKQUSG+LMRoman17-Regular /DescendantFonts [ 4503 0 R ] /ToUnicode 4502 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RKQUSG+LMRoman17-Regular /DescendantFonts [ 4507 0 R ] /ToUnicode 4506 0 R >>
endobj
-4503 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RKQUSG+LMRoman17-Regular /FontDescriptor 4499 0 R /W 4498 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4507 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RKQUSG+LMRoman17-Regular /FontDescriptor 4503 0 R /W 4502 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4505 0 obj
+4509 0 obj
<< /Length1 1401 /Length2 5895 /Length3 0 /Filter /FlateDecode /Length 6849 >>
stream
xڍtTS6EABtHMzB^ҀPH""UDti M:~~Zߙgfgfcf!:4N ,RjC `$ AaЊ"8M #
@@ -15569,10 +15504,10 @@ l/:diAxmiQgwm*ΓC7ˋH<K !O ^v1|k?Ncpvt.:>jsMg}fh
A>Egi(  oJ*h!cVBԔL4i3$?hA2
endstream
endobj
-4504 0 obj
-<< /Type /FontDescriptor /FontName /DGBCZV+CMTT10 /Flags 4 /FontBBox [ -4 -233 537 696 ] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /visiblespace) /FontFile 4505 0 R >>
+4508 0 obj
+<< /Type /FontDescriptor /FontName /DGBCZV+CMTT10 /Flags 4 /FontBBox [ -4 -233 537 696 ] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /visiblespace) /FontFile 4509 0 R >>
endobj
-4507 0 obj
+4511 0 obj
<< /Length1 1808 /Length2 2831 /Length3 0 /Filter /FlateDecode /Length 3963 >>
stream
xڵUy<T-\65kdoHZ)c挙f3f2JQJQ,7eRٿ(Dpz}׼Μy>܉(
@@ -15588,10 +15523,10 @@ Z,?cj^Ϝ8Sc)5FQަ)u FUg%wR(^Mc[7WΜ
]|pVq{9/>X]#Xa> k28PCཙ+# ޹~90/t*̩CUGo IX^
endstream
endobj
-4506 0 obj
-<< /Type /FontDescriptor /FontName /MOFIWY+LMMathItalic10-Regular /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 60 /XHeight 431 /CharSet( /arrowhookleft /greater /k /less /n /pi /slash /x) /FontFile 4507 0 R >>
+4510 0 obj
+<< /Type /FontDescriptor /FontName /MOFIWY+LMMathItalic10-Regular /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 60 /XHeight 431 /CharSet( /arrowhookleft /greater /k /less /n /pi /slash /x) /FontFile 4511 0 R >>
endobj
-4509 0 obj
+4513 0 obj
<< /Length1 1670 /Length2 1620 /Length3 0 /Filter /FlateDecode /Length 2652 >>
stream
xڵT{<Ti_6ɴ#lۓVL;a afD1aiLHzf+E.>[(]-V[Q[P*zw?9|
@@ -15615,10 +15550,10 @@ qov&a!)P~(p$/t
ϸ>=ޢۗ<c2zRb)mЭ;$.h]xs𹴲;
endstream
endobj
-4508 0 obj
-<< /Type /FontDescriptor /FontName /KDGSHG+LMMathItalic5-Regular /Flags 4 /FontBBox [ 0 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 84 /XHeight 431 /CharSet( /k) /FontFile 4509 0 R >>
+4512 0 obj
+<< /Type /FontDescriptor /FontName /KDGSHG+LMMathItalic5-Regular /Flags 4 /FontBBox [ 0 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 84 /XHeight 431 /CharSet( /k) /FontFile 4513 0 R >>
endobj
-4511 0 obj
+4515 0 obj
<< /Length1 1689 /Length2 1813 /Length3 0 /Filter /FlateDecode /Length 2856 >>
stream
xڵTy\Lk-uK%(0[ӢBiZGTʵit4s-HD I(Z墕("D{fs|̈́ 2SE^pI y.,RH Sh4= pC3.A#a B\l
@@ -15634,10 +15569,10 @@ ywm>9.!"U3CP-
[]/ &@2qf9>sj۔+W58P2^7*|K֟^LMICi[ΡmaW%JֺvK= ,\&X9kHT5.~qϲnZJ|5'҇iѭ{?SWt pl_4W/{fSY9 3s3͜HTHsl_7zHUN%5 vHL_edS(O$#u 4"햯RKu^4yoWws{$n - *ܽ>ao|pWAգk{+|YvcG\cP*׺oXZAXòu;҈f=3un`̂w†u[:
endstream
endobj
-4510 0 obj
-<< /Type /FontDescriptor /FontName /GFWWXD+LMMathItalic7-Regular /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /k /pi) /FontFile 4511 0 R >>
+4514 0 obj
+<< /Type /FontDescriptor /FontName /GFWWXD+LMMathItalic7-Regular /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /k /pi) /FontFile 4515 0 R >>
endobj
-4513 0 obj
+4517 0 obj
<< /Length1 1677 /Length2 1235 /Length3 0 /Filter /FlateDecode /Length 2254 >>
stream
xڵTy\WW`"^x!'-9PH$U!y!C830֊*UEQUz (^x`ԅoVa?3NR$2 "2cta f0l( ⋅Bk01' )
@@ -15653,10 +15588,10 @@ VLfh3Uuvz˩.LElL%yaʗz, u߯!6^sn]q\=S[Xlʲ]XIC
/>(m-d|!q^kAʫu^IO__~g඄e#9\gݒ@H2·rM8eCFybmɖns0Rg7HaSOge6x;͖
endstream
endobj
-4512 0 obj
-<< /Type /FontDescriptor /FontName /GLFSGS+LMMathItalic9-Regular /Flags 4 /FontBBox [ -29 -250 1075 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 28 /XHeight 431 /CharSet( /slash) /FontFile 4513 0 R >>
+4516 0 obj
+<< /Type /FontDescriptor /FontName /GLFSGS+LMMathItalic9-Regular /Flags 4 /FontBBox [ -29 -250 1075 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 28 /XHeight 431 /CharSet( /slash) /FontFile 4517 0 R >>
endobj
-4515 0 obj
+4519 0 obj
<< /Length1 1846 /Length2 22110 /Length3 0 /Filter /FlateDecode /Length 23294 >>
stream
xڴsx>7j۶m8ƶƶ7Nac7~=X9:g%'VR67J؃\x
@@ -15752,10 +15687,10 @@ cdw$w(<c|‹Z_rRIo}[GeAXPzѠμ~m,E&kd&W
VhԸh7Sg5T%dԁxtP2{zv5%| wԵn.;Z] Yߓ%gw;d6BtK4B7n3۳Ao-N3K=Q7OJt& @G,m܂7i'5)>`ט]îqp# Ezh!EKmI%Z9~`G5[VҎI蹖u}Ibl/YAdK>@uT%s +ߐR+u 5kEM
endstream
endobj
-4514 0 obj
-<< /Type /FontDescriptor /FontName /DDAMXW+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /a /c /equal /four /n /one /parenleft /parenright /plus /r /t /two /zero) /FontFile 4515 0 R >>
+4518 0 obj
+<< /Type /FontDescriptor /FontName /DDAMXW+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /a /c /equal /four /n /one /parenleft /parenright /plus /r /t /two /zero) /FontFile 4519 0 R >>
endobj
-4517 0 obj
+4521 0 obj
<< /Length1 1715 /Length2 17571 /Length3 0 /Filter /FlateDecode /Length 18712 >>
stream
xڴst=Ƕ۶vNlI5vhN۶G~qKs=CA b`twe`adɫ8s1
@@ -15823,10 +15758,10 @@ L
^EuG|Dg#-pAꩇs&eyRq}CI@ͧGG@>;B/ͯtj
endstream
endobj
-4516 0 obj
-<< /Type /FontDescriptor /FontName /LNPUMK+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /one /parenleft /parenright /plus /two) /FontFile 4517 0 R >>
+4520 0 obj
+<< /Type /FontDescriptor /FontName /LNPUMK+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /one /parenleft /parenright /plus /two) /FontFile 4521 0 R >>
endobj
-4519 0 obj
+4523 0 obj
<< /Length1 1699 /Length2 10474 /Length3 0 /Filter /FlateDecode /Length 11567 >>
stream
xڵxeTڶ5Nqw VݵH)N$/)V)^=s;FFd^s=NFh)5Y% YC tp`
@@ -15868,10 +15803,10 @@ lP9'󔦃&hfL[mԓ莉y9a\>9Iե_EK1E9
j3zݳQ&-?>kn~Yswź$mt KFP)*5^*=֢eD><WNR]I:T˩W$2x |̷ecb‹ϑՑp$HLឩD`0àtp 1J^"F)áwөЩ)rF
endstream
endobj
-4518 0 obj
-<< /Type /FontDescriptor /FontName /QNRZJS+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 96 /XHeight 444 /CharSet( /A /L /S /T /U /Y) /FontFile 4519 0 R >>
+4522 0 obj
+<< /Type /FontDescriptor /FontName /QNRZJS+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 96 /XHeight 444 /CharSet( /A /L /S /T /U /Y) /FontFile 4523 0 R >>
endobj
-4521 0 obj
+4525 0 obj
<< /Length1 1740 /Length2 1925 /Length3 0 /Filter /FlateDecode /Length 2996 >>
stream
xڵTy<TkJefuk'3Vsp9g">nQ V*Y)"K劫ŽJugFݖ۟g>gy~}~hk0Yd 0'(CXQ
@@ -15886,10 +15821,10 @@ Z8i+w7ċzquߺgw9j.Tq
NQPv-.;e>V8Z&/2і?h fx6"PKKku9]_X|wZ_$Ey7$'8X'}b}m"cZrӟڰȺlQy0.jFCGhq6仦{Z{RW!4YT ggf GzCB[oQOoXyV~,"(Y|%-يsg[:
endstream
endobj
-4520 0 obj
-<< /Type /FontDescriptor /FontName /TNOUBP+LMMathSymbols10-Regular /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /arrowright /asteriskmath /minus) /FontFile 4521 0 R >>
+4524 0 obj
+<< /Type /FontDescriptor /FontName /TNOUBP+LMMathSymbols10-Regular /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /arrowright /asteriskmath /minus) /FontFile 4525 0 R >>
endobj
-4523 0 obj
+4527 0 obj
<< /Length1 1689 /Length2 1347 /Length3 0 /Filter /FlateDecode /Length 2378 >>
stream
xڵTyTv5R
@@ -15906,10 +15841,10 @@ ckG<<[$[nt`1@Y(u/=_z;+ªqPî.ͼ
zFyrݮ,Б9vBG/Nr
endstream
endobj
-4522 0 obj
-<< /Type /FontDescriptor /FontName /DTFCKV+LMMathSymbols6-Regular /Flags 4 /FontBBox [ -4 -948 1329 786 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 52 /XHeight 431 /CharSet( /asteriskmath) /FontFile 4523 0 R >>
+4526 0 obj
+<< /Type /FontDescriptor /FontName /DTFCKV+LMMathSymbols6-Regular /Flags 4 /FontBBox [ -4 -948 1329 786 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 52 /XHeight 431 /CharSet( /asteriskmath) /FontFile 4527 0 R >>
endobj
-4525 0 obj
+4529 0 obj
<< /Length1 1684 /Length2 1529 /Length3 0 /Filter /FlateDecode /Length 2571 >>
stream
xڵTiX.\
@@ -15927,10 +15862,10 @@ f|ewkǥǫKggYf(lW$n:4׌/T~V6y(m]
2]lQ1z]dVfg?ù:=\d{76mjfioL䆬 8m_ڵ)'7|޷ndyk%\v9/y`O~}kyW+D(ӂS^rΠрjý3vN<
endstream
endobj
-4524 0 obj
-<< /Type /FontDescriptor /FontName /CIXFWA+LMMathSymbols7-Regular /Flags 4 /FontBBox [ -15 -951 1252 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /minus) /FontFile 4525 0 R >>
+4528 0 obj
+<< /Type /FontDescriptor /FontName /CIXFWA+LMMathSymbols7-Regular /Flags 4 /FontBBox [ -15 -951 1252 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /minus) /FontFile 4529 0 R >>
endobj
-4527 0 obj
+4531 0 obj
<< /Length1 1748 /Length2 1585 /Length3 0 /Filter /FlateDecode /Length 2661 >>
stream
xڵTiXWp *\@dѬ
@@ -15950,212 +15885,212 @@ g]qb)@Xű,wlu.9ѲgvuQk|Lb(J+&Ļ!gnbWUVI!%
{'eF1؊m\Ȫm 3Z6\m<Iu3.QW}M1)ZfVٹ6{j~YF]w͆=,v,D8U8714"Pbhni|"MQ"&T{E>~lfÌ[N7 ?>-`;WG!Q}V9669ğ4*V3m~PTQa7U,/jJݾ}u5[3 %}o)CƢ2N'ٷ*75TNCIڃ` Nsoܻ -(44zűS<*Xx3SVhzD2!-7g+^oR/66u4sSVAM ۲Z8
endstream
endobj
-4526 0 obj
-<< /Type /FontDescriptor /FontName /SRVGJC+LMMathSymbols9-Regular /Flags 4 /FontBBox [ -30 -958 1146 777 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 43 /XHeight 431 /CharSet( /angbracketleft /angbracketright /asteriskmath) /FontFile 4527 0 R >>
+4530 0 obj
+<< /Type /FontDescriptor /FontName /SRVGJC+LMMathSymbols9-Regular /Flags 4 /FontBBox [ -30 -958 1146 777 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 43 /XHeight 431 /CharSet( /angbracketleft /angbracketright /asteriskmath) /FontFile 4531 0 R >>
endobj
-4309 0 obj
+4313 0 obj
<< /Type /Encoding /Differences [ 25 /pi 44 /arrowhookleft 60 /less /slash /greater 107 /k 110 /n 120 /x ] >>
endobj
-4313 0 obj
+4317 0 obj
<< /Type /Encoding /Differences [ 0 /minus 3 /asteriskmath 33 /arrowright 104 /angbracketleft /angbracketright ] >>
endobj
-4311 0 obj
+4315 0 obj
<< /Type /Encoding /Differences [ 40 /parenleft /parenright 43 /plus 48 /zero /one /two 52 /four 61 /equal 65 /A 76 /L 83 /S /T /U 89 /Y 97 /a 99 /c 110 /n 114 /r 116 /t ] >>
endobj
-633 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /DGBCZV+CMTT10 /FontDescriptor 4504 0 R /FirstChar 32 /LastChar 32 /Widths 4315 0 R >>
+641 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /DGBCZV+CMTT10 /FontDescriptor 4508 0 R /FirstChar 32 /LastChar 32 /Widths 4319 0 R >>
endobj
341 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /MOFIWY+LMMathItalic10-Regular /FontDescriptor 4506 0 R /FirstChar 25 /LastChar 120 /Widths 4417 0 R /Encoding 4309 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /MOFIWY+LMMathItalic10-Regular /FontDescriptor 4510 0 R /FirstChar 25 /LastChar 120 /Widths 4421 0 R /Encoding 4313 0 R >>
endobj
-519 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /KDGSHG+LMMathItalic5-Regular /FontDescriptor 4508 0 R /FirstChar 107 /LastChar 107 /Widths 4340 0 R /Encoding 4309 0 R >>
+522 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /KDGSHG+LMMathItalic5-Regular /FontDescriptor 4512 0 R /FirstChar 107 /LastChar 107 /Widths 4344 0 R /Encoding 4313 0 R >>
endobj
342 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /GFWWXD+LMMathItalic7-Regular /FontDescriptor 4510 0 R /FirstChar 25 /LastChar 107 /Widths 4416 0 R /Encoding 4309 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /GFWWXD+LMMathItalic7-Regular /FontDescriptor 4514 0 R /FirstChar 25 /LastChar 107 /Widths 4420 0 R /Encoding 4313 0 R >>
endobj
-2313 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /GLFSGS+LMMathItalic9-Regular /FontDescriptor 4512 0 R /FirstChar 61 /LastChar 61 /Widths 4310 0 R /Encoding 4309 0 R >>
+2310 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /GLFSGS+LMMathItalic9-Regular /FontDescriptor 4516 0 R /FirstChar 61 /LastChar 61 /Widths 4314 0 R /Encoding 4313 0 R >>
endobj
327 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /TNOUBP+LMMathSymbols10-Regular /FontDescriptor 4520 0 R /FirstChar 0 /LastChar 33 /Widths 4491 0 R /Encoding 4313 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /TNOUBP+LMMathSymbols10-Regular /FontDescriptor 4524 0 R /FirstChar 0 /LastChar 33 /Widths 4495 0 R /Encoding 4317 0 R >>
endobj
344 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /DTFCKV+LMMathSymbols6-Regular /FontDescriptor 4522 0 R /FirstChar 3 /LastChar 3 /Widths 4414 0 R /Encoding 4313 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /DTFCKV+LMMathSymbols6-Regular /FontDescriptor 4526 0 R /FirstChar 3 /LastChar 3 /Widths 4418 0 R /Encoding 4317 0 R >>
endobj
-518 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CIXFWA+LMMathSymbols7-Regular /FontDescriptor 4524 0 R /FirstChar 0 /LastChar 0 /Widths 4341 0 R /Encoding 4313 0 R >>
+521 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /CIXFWA+LMMathSymbols7-Regular /FontDescriptor 4528 0 R /FirstChar 0 /LastChar 0 /Widths 4345 0 R /Encoding 4317 0 R >>
endobj
-635 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /SRVGJC+LMMathSymbols9-Regular /FontDescriptor 4526 0 R /FirstChar 3 /LastChar 105 /Widths 4314 0 R /Encoding 4313 0 R >>
+643 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /SRVGJC+LMMathSymbols9-Regular /FontDescriptor 4530 0 R /FirstChar 3 /LastChar 105 /Widths 4318 0 R /Encoding 4317 0 R >>
endobj
340 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /DDAMXW+LMRoman10-Regular /FontDescriptor 4514 0 R /FirstChar 40 /LastChar 116 /Widths 4418 0 R /Encoding 4311 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /DDAMXW+LMRoman10-Regular /FontDescriptor 4518 0 R /FirstChar 40 /LastChar 116 /Widths 4422 0 R /Encoding 4315 0 R >>
endobj
343 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /LNPUMK+LMRoman7-Regular /FontDescriptor 4516 0 R /FirstChar 40 /LastChar 50 /Widths 4415 0 R /Encoding 4311 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /LNPUMK+LMRoman7-Regular /FontDescriptor 4520 0 R /FirstChar 40 /LastChar 50 /Widths 4419 0 R /Encoding 4315 0 R >>
endobj
-636 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /QNRZJS+LMSans9-Regular /FontDescriptor 4518 0 R /FirstChar 65 /LastChar 89 /Widths 4312 0 R /Encoding 4311 0 R >>
+644 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /QNRZJS+LMSans9-Regular /FontDescriptor 4522 0 R /FirstChar 65 /LastChar 89 /Widths 4316 0 R /Encoding 4315 0 R >>
endobj
353 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 317 0 R 363 0 R 374 0 R 389 0 R 411 0 R 422 0 R 434 0 R 445 0 R 455 0 R 460 0 R ] >>
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 317 0 R 363 0 R 374 0 R 391 0 R 409 0 R 422 0 R 436 0 R 448 0 R 457 0 R 462 0 R ] >>
endobj
-472 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 467 0 R 475 0 R 480 0 R 486 0 R 497 0 R 503 0 R 507 0 R 515 0 R 526 0 R 537 0 R ] >>
+475 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 470 0 R 478 0 R 482 0 R 489 0 R 500 0 R 505 0 R 511 0 R 518 0 R 528 0 R 537 0 R ] >>
endobj
-545 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 542 0 R 551 0 R 564 0 R 575 0 R 585 0 R 591 0 R 595 0 R 599 0 R 605 0 R 611 0 R ] >>
+554 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 546 0 R 562 0 R 571 0 R 575 0 R 586 0 R 593 0 R 599 0 R 603 0 R 607 0 R 613 0 R ] >>
endobj
-627 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 620 0 R 630 0 R 673 0 R 724 0 R 779 0 R 807 0 R 832 0 R 853 0 R 895 0 R 931 0 R ] >>
+622 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 619 0 R 629 0 R 638 0 R 678 0 R 729 0 R 784 0 R 810 0 R 836 0 R 864 0 R 901 0 R ] >>
endobj
-1026 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 991 0 R 1029 0 R 1085 0 R 1148 0 R 1207 0 R 1272 0 R 1339 0 R 1387 0 R 1432 0 R 1474 0 R ] >>
+1000 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 945 0 R 1004 0 R 1040 0 R 1087 0 R 1150 0 R 1209 0 R 1274 0 R 1341 0 R 1384 0 R 1434 0 R ] >>
endobj
-1590 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 1532 0 R 1593 0 R 1639 0 R 1687 0 R 1733 0 R 1785 0 R 1846 0 R 1890 0 R 1953 0 R 2008 0 R ] >>
+1522 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 1472 0 R 1524 0 R 1582 0 R 1628 0 R 1681 0 R 1725 0 R 1777 0 R 1837 0 R 1886 0 R 1952 0 R ] >>
endobj
-2099 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 2056 0 R 2101 0 R 2160 0 R 2225 0 R 2283 0 R 2335 0 R 2365 0 R 2403 0 R 2443 0 R 2489 0 R ] >>
+2041 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 2003 0 R 2043 0 R 2094 0 R 2156 0 R 2219 0 R 2273 0 R 2321 0 R 2355 0 R 2393 0 R 2437 0 R ] >>
endobj
-2578 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 2540 0 R 2581 0 R 2636 0 R 2677 0 R 2714 0 R 2767 0 R 2830 0 R 2876 0 R 2923 0 R 2979 0 R ] >>
+2547 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 2489 0 R 2550 0 R 2590 0 R 2651 0 R 2679 0 R 2721 0 R 2775 0 R 2834 0 R 2879 0 R 2928 0 R ] >>
endobj
-3076 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 3034 0 R 3078 0 R 3137 0 R 3197 0 R 3250 0 R 3288 0 R 3341 0 R 3393 0 R 3453 0 R 3509 0 R ] >>
+3034 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 2982 0 R 3036 0 R 3082 0 R 3141 0 R 3196 0 R 3249 0 R 3287 0 R 3339 0 R 3391 0 R 3450 0 R ] >>
endobj
-3630 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 3576 0 R 3632 0 R 3671 0 R 3722 0 R 3767 0 R 3819 0 R 3862 0 R 3918 0 R 3968 0 R 4022 0 R ] >>
+3569 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 3505 0 R 3571 0 R 3626 0 R 3668 0 R 3717 0 R 3751 0 R 3792 0 R 3838 0 R 3886 0 R 3945 0 R ] >>
endobj
-4143 0 obj
-<< /Type /Pages /Parent 4529 0 R /Count 6 /Kids [ 4088 0 R 4145 0 R 4197 0 R 4227 0 R 4294 0 R 4305 0 R ] >>
+4047 0 obj
+<< /Type /Pages /Parent 4533 0 R /Count 7 /Kids [ 3996 0 R 4049 0 R 4115 0 R 4173 0 R 4229 0 R 4296 0 R 4309 0 R ] >>
endobj
-4528 0 obj
-<< /Type /Pages /Parent 4530 0 R /Count 100 /Kids [ 353 0 R 472 0 R 545 0 R 627 0 R 1026 0 R 1590 0 R 2099 0 R 2578 0 R 3076 0 R 3630 0 R ] >>
+4532 0 obj
+<< /Type /Pages /Parent 4534 0 R /Count 100 /Kids [ 353 0 R 475 0 R 554 0 R 622 0 R 1000 0 R 1522 0 R 2041 0 R 2547 0 R 3034 0 R 3569 0 R ] >>
endobj
-4529 0 obj
-<< /Type /Pages /Parent 4530 0 R /Count 6 /Kids [ 4143 0 R ] >>
+4533 0 obj
+<< /Type /Pages /Parent 4534 0 R /Count 7 /Kids [ 4047 0 R ] >>
endobj
-4530 0 obj
-<< /Type /Pages /Count 106 /Kids [ 4528 0 R 4529 0 R ] >>
+4534 0 obj
+<< /Type /Pages /Count 107 /Kids [ 4532 0 R 4533 0 R ] >>
endobj
-4531 0 obj
+4535 0 obj
<< /Type /Outlines /First 6 0 R /Last 314 0 R /Count 12 >>
endobj
314 0 obj
-<< /Title 315 0 R /A 312 0 R /Parent 4531 0 R /Prev 310 0 R >>
+<< /Title 315 0 R /A 312 0 R /Parent 4535 0 R /Prev 310 0 R >>
endobj
310 0 obj
-<< /Title 311 0 R /A 308 0 R /Parent 4531 0 R /Prev 202 0 R /Next 314 0 R >>
+<< /Title 311 0 R /A 308 0 R /Parent 4535 0 R /Prev 198 0 R /Next 314 0 R >>
endobj
306 0 obj
-<< /Title 307 0 R /A 304 0 R /Parent 270 0 R /Prev 302 0 R >>
+<< /Title 307 0 R /A 304 0 R /Parent 266 0 R /Prev 302 0 R >>
endobj
302 0 obj
-<< /Title 303 0 R /A 300 0 R /Parent 270 0 R /Prev 298 0 R /Next 306 0 R >>
+<< /Title 303 0 R /A 300 0 R /Parent 266 0 R /Prev 298 0 R /Next 306 0 R >>
endobj
298 0 obj
-<< /Title 299 0 R /A 296 0 R /Parent 270 0 R /Prev 294 0 R /Next 302 0 R >>
+<< /Title 299 0 R /A 296 0 R /Parent 266 0 R /Prev 294 0 R /Next 302 0 R >>
endobj
294 0 obj
-<< /Title 295 0 R /A 292 0 R /Parent 270 0 R /Prev 290 0 R /Next 298 0 R >>
+<< /Title 295 0 R /A 292 0 R /Parent 266 0 R /Prev 290 0 R /Next 298 0 R >>
endobj
290 0 obj
-<< /Title 291 0 R /A 288 0 R /Parent 270 0 R /Prev 286 0 R /Next 294 0 R >>
+<< /Title 291 0 R /A 288 0 R /Parent 266 0 R /Prev 286 0 R /Next 294 0 R >>
endobj
286 0 obj
-<< /Title 287 0 R /A 284 0 R /Parent 270 0 R /Prev 282 0 R /Next 290 0 R >>
+<< /Title 287 0 R /A 284 0 R /Parent 266 0 R /Prev 282 0 R /Next 290 0 R >>
endobj
282 0 obj
-<< /Title 283 0 R /A 280 0 R /Parent 270 0 R /Prev 278 0 R /Next 286 0 R >>
+<< /Title 283 0 R /A 280 0 R /Parent 266 0 R /Prev 278 0 R /Next 286 0 R >>
endobj
278 0 obj
-<< /Title 279 0 R /A 276 0 R /Parent 270 0 R /Prev 274 0 R /Next 282 0 R >>
+<< /Title 279 0 R /A 276 0 R /Parent 266 0 R /Prev 274 0 R /Next 282 0 R >>
endobj
274 0 obj
-<< /Title 275 0 R /A 272 0 R /Parent 270 0 R /Next 278 0 R >>
+<< /Title 275 0 R /A 272 0 R /Parent 266 0 R /Prev 270 0 R /Next 278 0 R >>
endobj
270 0 obj
-<< /Title 271 0 R /A 268 0 R /Parent 202 0 R /Prev 210 0 R /First 274 0 R /Last 306 0 R /Count -9 >>
+<< /Title 271 0 R /A 268 0 R /Parent 266 0 R /Next 274 0 R >>
endobj
266 0 obj
-<< /Title 267 0 R /A 264 0 R /Parent 210 0 R /Prev 262 0 R >>
+<< /Title 267 0 R /A 264 0 R /Parent 198 0 R /Prev 206 0 R /First 270 0 R /Last 306 0 R /Count -10 >>
endobj
262 0 obj
-<< /Title 263 0 R /A 260 0 R /Parent 210 0 R /Prev 258 0 R /Next 266 0 R >>
+<< /Title 263 0 R /A 260 0 R /Parent 206 0 R /Prev 258 0 R >>
endobj
258 0 obj
-<< /Title 259 0 R /A 256 0 R /Parent 210 0 R /Prev 254 0 R /Next 262 0 R >>
+<< /Title 259 0 R /A 256 0 R /Parent 206 0 R /Prev 254 0 R /Next 262 0 R >>
endobj
254 0 obj
-<< /Title 255 0 R /A 252 0 R /Parent 210 0 R /Prev 250 0 R /Next 258 0 R >>
+<< /Title 255 0 R /A 252 0 R /Parent 206 0 R /Prev 250 0 R /Next 258 0 R >>
endobj
250 0 obj
-<< /Title 251 0 R /A 248 0 R /Parent 210 0 R /Prev 246 0 R /Next 254 0 R >>
+<< /Title 251 0 R /A 248 0 R /Parent 206 0 R /Prev 246 0 R /Next 254 0 R >>
endobj
246 0 obj
-<< /Title 247 0 R /A 244 0 R /Parent 210 0 R /Prev 242 0 R /Next 250 0 R >>
+<< /Title 247 0 R /A 244 0 R /Parent 206 0 R /Prev 242 0 R /Next 250 0 R >>
endobj
242 0 obj
-<< /Title 243 0 R /A 240 0 R /Parent 210 0 R /Prev 238 0 R /Next 246 0 R >>
+<< /Title 243 0 R /A 240 0 R /Parent 206 0 R /Prev 238 0 R /Next 246 0 R >>
endobj
238 0 obj
-<< /Title 239 0 R /A 236 0 R /Parent 210 0 R /Prev 234 0 R /Next 242 0 R >>
+<< /Title 239 0 R /A 236 0 R /Parent 206 0 R /Prev 234 0 R /Next 242 0 R >>
endobj
234 0 obj
-<< /Title 235 0 R /A 232 0 R /Parent 210 0 R /Prev 230 0 R /Next 238 0 R >>
+<< /Title 235 0 R /A 232 0 R /Parent 206 0 R /Prev 230 0 R /Next 238 0 R >>
endobj
230 0 obj
-<< /Title 231 0 R /A 228 0 R /Parent 210 0 R /Prev 226 0 R /Next 234 0 R >>
+<< /Title 231 0 R /A 228 0 R /Parent 206 0 R /Prev 226 0 R /Next 234 0 R >>
endobj
226 0 obj
-<< /Title 227 0 R /A 224 0 R /Parent 210 0 R /Prev 222 0 R /Next 230 0 R >>
+<< /Title 227 0 R /A 224 0 R /Parent 206 0 R /Prev 222 0 R /Next 230 0 R >>
endobj
222 0 obj
-<< /Title 223 0 R /A 220 0 R /Parent 210 0 R /Prev 218 0 R /Next 226 0 R >>
+<< /Title 223 0 R /A 220 0 R /Parent 206 0 R /Prev 218 0 R /Next 226 0 R >>
endobj
218 0 obj
-<< /Title 219 0 R /A 216 0 R /Parent 210 0 R /Prev 214 0 R /Next 222 0 R >>
+<< /Title 219 0 R /A 216 0 R /Parent 206 0 R /Prev 214 0 R /Next 222 0 R >>
endobj
214 0 obj
-<< /Title 215 0 R /A 212 0 R /Parent 210 0 R /Next 218 0 R >>
+<< /Title 215 0 R /A 212 0 R /Parent 206 0 R /Prev 210 0 R /Next 218 0 R >>
endobj
210 0 obj
-<< /Title 211 0 R /A 208 0 R /Parent 202 0 R /Prev 206 0 R /Next 270 0 R /First 214 0 R /Last 266 0 R /Count -14 >>
+<< /Title 211 0 R /A 208 0 R /Parent 206 0 R /Next 214 0 R >>
endobj
206 0 obj
-<< /Title 207 0 R /A 204 0 R /Parent 202 0 R /Next 210 0 R >>
+<< /Title 207 0 R /A 204 0 R /Parent 198 0 R /Prev 202 0 R /Next 266 0 R /First 210 0 R /Last 262 0 R /Count -14 >>
endobj
202 0 obj
-<< /Title 203 0 R /A 200 0 R /Parent 4531 0 R /Prev 174 0 R /Next 310 0 R /First 206 0 R /Last 270 0 R /Count -3 >>
+<< /Title 203 0 R /A 200 0 R /Parent 198 0 R /Next 206 0 R >>
endobj
198 0 obj
-<< /Title 199 0 R /A 196 0 R /Parent 174 0 R /Prev 194 0 R >>
+<< /Title 199 0 R /A 196 0 R /Parent 4535 0 R /Prev 170 0 R /Next 310 0 R /First 202 0 R /Last 266 0 R /Count -3 >>
endobj
194 0 obj
-<< /Title 195 0 R /A 192 0 R /Parent 174 0 R /Prev 190 0 R /Next 198 0 R >>
+<< /Title 195 0 R /A 192 0 R /Parent 170 0 R /Prev 190 0 R >>
endobj
190 0 obj
-<< /Title 191 0 R /A 188 0 R /Parent 174 0 R /Prev 186 0 R /Next 194 0 R >>
+<< /Title 191 0 R /A 188 0 R /Parent 170 0 R /Prev 186 0 R /Next 194 0 R >>
endobj
186 0 obj
-<< /Title 187 0 R /A 184 0 R /Parent 174 0 R /Prev 182 0 R /Next 190 0 R >>
+<< /Title 187 0 R /A 184 0 R /Parent 170 0 R /Prev 182 0 R /Next 190 0 R >>
endobj
182 0 obj
-<< /Title 183 0 R /A 180 0 R /Parent 174 0 R /Prev 178 0 R /Next 186 0 R >>
+<< /Title 183 0 R /A 180 0 R /Parent 170 0 R /Prev 178 0 R /Next 186 0 R >>
endobj
178 0 obj
-<< /Title 179 0 R /A 176 0 R /Parent 174 0 R /Next 182 0 R >>
+<< /Title 179 0 R /A 176 0 R /Parent 170 0 R /Prev 174 0 R /Next 182 0 R >>
endobj
174 0 obj
-<< /Title 175 0 R /A 172 0 R /Parent 4531 0 R /Prev 150 0 R /Next 202 0 R /First 178 0 R /Last 198 0 R /Count -6 >>
+<< /Title 175 0 R /A 172 0 R /Parent 170 0 R /Next 178 0 R >>
endobj
170 0 obj
-<< /Title 171 0 R /A 168 0 R /Parent 150 0 R /Prev 166 0 R >>
+<< /Title 171 0 R /A 168 0 R /Parent 4535 0 R /Prev 150 0 R /Next 198 0 R /First 174 0 R /Last 194 0 R /Count -6 >>
endobj
166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 150 0 R /Prev 162 0 R /Next 170 0 R >>
+<< /Title 167 0 R /A 164 0 R /Parent 150 0 R /Prev 162 0 R >>
endobj
162 0 obj
<< /Title 163 0 R /A 160 0 R /Parent 150 0 R /Prev 158 0 R /Next 166 0 R >>
@@ -16167,10 +16102,10 @@ endobj
<< /Title 155 0 R /A 152 0 R /Parent 150 0 R /Next 158 0 R >>
endobj
150 0 obj
-<< /Title 151 0 R /A 148 0 R /Parent 4531 0 R /Prev 146 0 R /Next 174 0 R /First 154 0 R /Last 170 0 R /Count -5 >>
+<< /Title 151 0 R /A 148 0 R /Parent 4535 0 R /Prev 146 0 R /Next 170 0 R /First 154 0 R /Last 166 0 R /Count -4 >>
endobj
146 0 obj
-<< /Title 147 0 R /A 144 0 R /Parent 4531 0 R /Prev 66 0 R /Next 150 0 R >>
+<< /Title 147 0 R /A 144 0 R /Parent 4535 0 R /Prev 66 0 R /Next 150 0 R >>
endobj
142 0 obj
<< /Title 143 0 R /A 140 0 R /Parent 66 0 R /Prev 138 0 R >>
@@ -16230,10 +16165,10 @@ endobj
<< /Title 71 0 R /A 68 0 R /Parent 66 0 R /Next 82 0 R /First 74 0 R /Last 78 0 R /Count -2 >>
endobj
66 0 obj
-<< /Title 67 0 R /A 64 0 R /Parent 4531 0 R /Prev 62 0 R /Next 146 0 R /First 70 0 R /Last 142 0 R /Count -7 >>
+<< /Title 67 0 R /A 64 0 R /Parent 4535 0 R /Prev 62 0 R /Next 146 0 R /First 70 0 R /Last 142 0 R /Count -7 >>
endobj
62 0 obj
-<< /Title 63 0 R /A 60 0 R /Parent 4531 0 R /Prev 34 0 R /Next 66 0 R >>
+<< /Title 63 0 R /A 60 0 R /Parent 4535 0 R /Prev 34 0 R /Next 66 0 R >>
endobj
58 0 obj
<< /Title 59 0 R /A 56 0 R /Parent 34 0 R /Prev 42 0 R >>
@@ -16254,7 +16189,7 @@ endobj
<< /Title 39 0 R /A 36 0 R /Parent 34 0 R /Next 42 0 R >>
endobj
34 0 obj
-<< /Title 35 0 R /A 32 0 R /Parent 4531 0 R /Prev 14 0 R /Next 62 0 R /First 38 0 R /Last 58 0 R /Count -3 >>
+<< /Title 35 0 R /A 32 0 R /Parent 4535 0 R /Prev 14 0 R /Next 62 0 R /First 38 0 R /Last 58 0 R /Count -3 >>
endobj
30 0 obj
<< /Title 31 0 R /A 28 0 R /Parent 14 0 R /Prev 26 0 R >>
@@ -16269,1907 +16204,1866 @@ endobj
<< /Title 19 0 R /A 16 0 R /Parent 14 0 R /Next 22 0 R >>
endobj
14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 4531 0 R /Prev 10 0 R /Next 34 0 R /First 18 0 R /Last 30 0 R /Count -4 >>
+<< /Title 15 0 R /A 12 0 R /Parent 4535 0 R /Prev 10 0 R /Next 34 0 R /First 18 0 R /Last 30 0 R /Count -4 >>
endobj
10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 4531 0 R /Prev 6 0 R /Next 14 0 R >>
+<< /Title 11 0 R /A 8 0 R /Parent 4535 0 R /Prev 6 0 R /Next 14 0 R >>
endobj
6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 4531 0 R /Next 10 0 R >>
-endobj
-4532 0 obj
-<< /Names [ (Doc-Start) 324 0 R (HD.1) 634 0 R (HD.10) 645 0 R (HD.100) 743 0 R (HD.1000) 1731 0 R (HD.1001) 1736 0 R (HD.1002) 1737 0 R (HD.1003) 1738 0 R (HD.1004) 1739 0 R (HD.1005) 1740 0 R (HD.1006) 1741 0 R (HD.1007) 1742 0 R (HD.1008) 1743 0 R (HD.1009) 1744 0 R (HD.101) 744 0 R (HD.1010) 1745 0 R (HD.1011) 1746 0 R (HD.1012) 1747 0 R (HD.1013) 1748 0 R (HD.1014) 1749 0 R (HD.1015) 1750 0 R (HD.1016) 1751 0 R (HD.1017) 1752 0 R (HD.1018) 1753 0 R (HD.1019) 1754 0 R (HD.102) 745 0 R (HD.1020) 1755 0 R (HD.1021) 1756 0 R (HD.1022) 1757 0 R (HD.1023) 1758 0 R (HD.1024) 1759 0 R (HD.1025) 1760 0 R ] /Limits [ (Doc-Start) (HD.1025) ] >>
-endobj
-4533 0 obj
-<< /Names [ (HD.1026) 1761 0 R (HD.1027) 1762 0 R (HD.1028) 1763 0 R (HD.1029) 1764 0 R (HD.103) 746 0 R (HD.1030) 1765 0 R (HD.1031) 1766 0 R (HD.1032) 1767 0 R (HD.1033) 1768 0 R (HD.1034) 1769 0 R (HD.1035) 1770 0 R (HD.1036) 1771 0 R (HD.1037) 1772 0 R (HD.1038) 1773 0 R (HD.1039) 1774 0 R (HD.104) 747 0 R (HD.1040) 1775 0 R (HD.1041) 1776 0 R (HD.1042) 1777 0 R (HD.1043) 1778 0 R (HD.1044) 1779 0 R (HD.1045) 1780 0 R (HD.1046) 1781 0 R (HD.1047) 1782 0 R (HD.1048) 1783 0 R (HD.1049) 1788 0 R (HD.105) 748 0 R (HD.1050) 1789 0 R (HD.1051) 1790 0 R (HD.1052) 1791 0 R (HD.1053) 1792 0 R (HD.1054) 1793 0 R ] /Limits [ (HD.1026) (HD.1054) ] >>
-endobj
-4534 0 obj
-<< /Names [ (HD.1055) 1794 0 R (HD.1056) 1795 0 R (HD.1057) 1796 0 R (HD.1058) 1797 0 R (HD.1059) 1798 0 R (HD.106) 749 0 R (HD.1060) 1799 0 R (HD.1061) 1800 0 R (HD.1062) 1801 0 R (HD.1063) 1802 0 R (HD.1064) 1803 0 R (HD.1065) 1804 0 R (HD.1066) 1805 0 R (HD.1067) 1806 0 R (HD.1068) 1807 0 R (HD.1069) 1808 0 R (HD.107) 750 0 R (HD.1070) 1809 0 R (HD.1071) 1810 0 R (HD.1072) 1811 0 R (HD.1073) 1812 0 R (HD.1074) 1813 0 R (HD.1075) 1814 0 R (HD.1076) 1815 0 R (HD.1077) 1816 0 R (HD.1078) 1817 0 R (HD.1079) 1818 0 R (HD.108) 751 0 R (HD.1080) 1819 0 R (HD.1081) 1820 0 R (HD.1082) 1821 0 R (HD.1083) 1822 0 R ] /Limits [ (HD.1055) (HD.1083) ] >>
-endobj
-4535 0 obj
-<< /Names [ (HD.1084) 1823 0 R (HD.1085) 1824 0 R (HD.1086) 1825 0 R (HD.1087) 1826 0 R (HD.1088) 1827 0 R (HD.1089) 1828 0 R (HD.109) 752 0 R (HD.1090) 1829 0 R (HD.1091) 1830 0 R (HD.1092) 1831 0 R (HD.1093) 1832 0 R (HD.1094) 1833 0 R (HD.1095) 1834 0 R (HD.1096) 1835 0 R (HD.1097) 1836 0 R (HD.1098) 1837 0 R (HD.1099) 1838 0 R (HD.11) 646 0 R (HD.110) 753 0 R (HD.1100) 1839 0 R (HD.1101) 1840 0 R (HD.1102) 1841 0 R (HD.1103) 1842 0 R (HD.1104) 1843 0 R (HD.1105) 1844 0 R (HD.1106) 1849 0 R (HD.1107) 1850 0 R (HD.1108) 1851 0 R (HD.1109) 1852 0 R (HD.111) 754 0 R (HD.1110) 1853 0 R (HD.1111) 1854 0 R ] /Limits [ (HD.1084) (HD.1111) ] >>
+<< /Title 7 0 R /A 4 0 R /Parent 4535 0 R /Next 10 0 R >>
endobj
4536 0 obj
-<< /Names [ (HD.1112) 1855 0 R (HD.1113) 1856 0 R (HD.1114) 1857 0 R (HD.1115) 1858 0 R (HD.1116) 1859 0 R (HD.1117) 1860 0 R (HD.1118) 1861 0 R (HD.1119) 1862 0 R (HD.112) 755 0 R (HD.1120) 1863 0 R (HD.1121) 1864 0 R (HD.1122) 1865 0 R (HD.1123) 1866 0 R (HD.1124) 1867 0 R (HD.1125) 1868 0 R (HD.1126) 1869 0 R (HD.1127) 1870 0 R (HD.1128) 1871 0 R (HD.1129) 1872 0 R (HD.113) 756 0 R (HD.1130) 1873 0 R (HD.1131) 1874 0 R (HD.1132) 1875 0 R (HD.1133) 1876 0 R (HD.1134) 1877 0 R (HD.1135) 1878 0 R (HD.1136) 1879 0 R (HD.1137) 1880 0 R (HD.1138) 1881 0 R (HD.1139) 1882 0 R (HD.114) 757 0 R (HD.1140) 1883 0 R ] /Limits [ (HD.1112) (HD.1140) ] >>
+<< /Names [ (Doc-Start) 324 0 R (HD.1) 642 0 R (HD.10) 653 0 R (HD.100) 751 0 R (HD.1000) 1743 0 R (HD.1001) 1744 0 R (HD.1002) 1745 0 R (HD.1003) 1746 0 R (HD.1004) 1747 0 R (HD.1005) 1748 0 R (HD.1006) 1749 0 R (HD.1007) 1750 0 R (HD.1008) 1751 0 R (HD.1009) 1752 0 R (HD.101) 752 0 R (HD.1010) 1753 0 R (HD.1011) 1754 0 R (HD.1012) 1755 0 R (HD.1013) 1756 0 R (HD.1014) 1757 0 R (HD.1015) 1758 0 R (HD.1016) 1759 0 R (HD.1017) 1760 0 R (HD.1018) 1761 0 R (HD.1019) 1762 0 R (HD.102) 753 0 R (HD.1020) 1763 0 R (HD.1021) 1764 0 R (HD.1022) 1765 0 R (HD.1023) 1766 0 R (HD.1024) 1767 0 R (HD.1025) 1768 0 R ] /Limits [ (Doc-Start) (HD.1025) ] >>
endobj
4537 0 obj
-<< /Names [ (HD.1141) 1884 0 R (HD.1142) 1885 0 R (HD.1143) 1886 0 R (HD.1144) 1887 0 R (HD.1145) 1888 0 R (HD.1146) 1893 0 R (HD.1147) 1894 0 R (HD.1148) 1895 0 R (HD.1149) 1896 0 R (HD.115) 758 0 R (HD.1150) 1897 0 R (HD.1151) 1898 0 R (HD.1152) 1899 0 R (HD.1153) 1900 0 R (HD.1154) 1901 0 R (HD.1155) 1902 0 R (HD.1156) 1903 0 R (HD.1157) 1904 0 R (HD.1158) 1905 0 R (HD.1159) 1906 0 R (HD.116) 759 0 R (HD.1160) 1907 0 R (HD.1161) 1908 0 R (HD.1162) 1909 0 R (HD.1163) 1910 0 R (HD.1164) 1911 0 R (HD.1165) 1912 0 R (HD.1166) 1913 0 R (HD.1167) 1914 0 R (HD.1168) 1915 0 R (HD.1169) 1916 0 R (HD.117) 760 0 R ] /Limits [ (HD.1141) (HD.117) ] >>
+<< /Names [ (HD.1026) 1769 0 R (HD.1027) 1770 0 R (HD.1028) 1771 0 R (HD.1029) 1772 0 R (HD.103) 754 0 R (HD.1030) 1773 0 R (HD.1031) 1774 0 R (HD.1032) 1775 0 R (HD.1033) 1780 0 R (HD.1034) 1781 0 R (HD.1035) 1782 0 R (HD.1036) 1783 0 R (HD.1037) 1784 0 R (HD.1038) 1785 0 R (HD.1039) 1786 0 R (HD.104) 755 0 R (HD.1040) 1787 0 R (HD.1041) 1788 0 R (HD.1042) 1789 0 R (HD.1043) 1790 0 R (HD.1044) 1791 0 R (HD.1045) 1792 0 R (HD.1046) 1793 0 R (HD.1047) 1794 0 R (HD.1048) 1795 0 R (HD.1049) 1796 0 R (HD.105) 756 0 R (HD.1050) 1797 0 R (HD.1051) 1798 0 R (HD.1052) 1799 0 R (HD.1053) 1800 0 R (HD.1054) 1801 0 R ] /Limits [ (HD.1026) (HD.1054) ] >>
endobj
4538 0 obj
-<< /Names [ (HD.1170) 1917 0 R (HD.1171) 1918 0 R (HD.1172) 1919 0 R (HD.1173) 1920 0 R (HD.1174) 1921 0 R (HD.1175) 1922 0 R (HD.1176) 1923 0 R (HD.1177) 1924 0 R (HD.1178) 1925 0 R (HD.1179) 1926 0 R (HD.118) 761 0 R (HD.1180) 1927 0 R (HD.1181) 1928 0 R (HD.1182) 1929 0 R (HD.1183) 1930 0 R (HD.1184) 1931 0 R (HD.1185) 1932 0 R (HD.1186) 1933 0 R (HD.1187) 1934 0 R (HD.1188) 1935 0 R (HD.1189) 1936 0 R (HD.119) 762 0 R (HD.1190) 1937 0 R (HD.1191) 1938 0 R (HD.1192) 1939 0 R (HD.1193) 1940 0 R (HD.1194) 1941 0 R (HD.1195) 1942 0 R (HD.1196) 1943 0 R (HD.1197) 1944 0 R (HD.1198) 1945 0 R (HD.1199) 1946 0 R ] /Limits [ (HD.1170) (HD.1199) ] >>
+<< /Names [ (HD.1055) 1802 0 R (HD.1056) 1803 0 R (HD.1057) 1804 0 R (HD.1058) 1805 0 R (HD.1059) 1806 0 R (HD.106) 757 0 R (HD.1060) 1807 0 R (HD.1061) 1808 0 R (HD.1062) 1809 0 R (HD.1063) 1810 0 R (HD.1064) 1811 0 R (HD.1065) 1812 0 R (HD.1066) 1813 0 R (HD.1067) 1814 0 R (HD.1068) 1815 0 R (HD.1069) 1816 0 R (HD.107) 758 0 R (HD.1070) 1817 0 R (HD.1071) 1818 0 R (HD.1072) 1819 0 R (HD.1073) 1820 0 R (HD.1074) 1821 0 R (HD.1075) 1822 0 R (HD.1076) 1823 0 R (HD.1077) 1824 0 R (HD.1078) 1825 0 R (HD.1079) 1826 0 R (HD.108) 759 0 R (HD.1080) 1827 0 R (HD.1081) 1828 0 R (HD.1082) 1829 0 R (HD.1083) 1830 0 R ] /Limits [ (HD.1055) (HD.1083) ] >>
endobj
4539 0 obj
-<< /Names [ (HD.12) 647 0 R (HD.120) 763 0 R (HD.1200) 1947 0 R (HD.1201) 1948 0 R (HD.1202) 1949 0 R (HD.1203) 1950 0 R (HD.1204) 1951 0 R (HD.1205) 1956 0 R (HD.1206) 1957 0 R (HD.1207) 1958 0 R (HD.1208) 1959 0 R (HD.1209) 1960 0 R (HD.121) 764 0 R (HD.1210) 1961 0 R (HD.1211) 1962 0 R (HD.1212) 1963 0 R (HD.1213) 1964 0 R (HD.1214) 1965 0 R (HD.1215) 1966 0 R (HD.1216) 1967 0 R (HD.1217) 1968 0 R (HD.1218) 1969 0 R (HD.1219) 1970 0 R (HD.122) 765 0 R (HD.1220) 1971 0 R (HD.1221) 1972 0 R (HD.1222) 1973 0 R (HD.1223) 1974 0 R (HD.1224) 1975 0 R (HD.1225) 1976 0 R (HD.1226) 1977 0 R (HD.1227) 1978 0 R ] /Limits [ (HD.12) (HD.1227) ] >>
+<< /Names [ (HD.1084) 1831 0 R (HD.1085) 1832 0 R (HD.1086) 1833 0 R (HD.1087) 1834 0 R (HD.1088) 1835 0 R (HD.1089) 1840 0 R (HD.109) 760 0 R (HD.1090) 1841 0 R (HD.1091) 1842 0 R (HD.1092) 1843 0 R (HD.1093) 1844 0 R (HD.1094) 1845 0 R (HD.1095) 1846 0 R (HD.1096) 1847 0 R (HD.1097) 1848 0 R (HD.1098) 1849 0 R (HD.1099) 1850 0 R (HD.11) 654 0 R (HD.110) 761 0 R (HD.1100) 1851 0 R (HD.1101) 1852 0 R (HD.1102) 1853 0 R (HD.1103) 1854 0 R (HD.1104) 1855 0 R (HD.1105) 1856 0 R (HD.1106) 1857 0 R (HD.1107) 1858 0 R (HD.1108) 1859 0 R (HD.1109) 1860 0 R (HD.111) 762 0 R (HD.1110) 1861 0 R (HD.1111) 1862 0 R ] /Limits [ (HD.1084) (HD.1111) ] >>
endobj
4540 0 obj
-<< /Names [ (HD.1228) 1979 0 R (HD.1229) 1980 0 R (HD.123) 766 0 R (HD.1230) 1981 0 R (HD.1231) 1982 0 R (HD.1232) 1983 0 R (HD.1233) 1984 0 R (HD.1234) 1985 0 R (HD.1235) 1986 0 R (HD.1236) 1987 0 R (HD.1237) 1988 0 R (HD.1238) 1989 0 R (HD.1239) 1990 0 R (HD.124) 767 0 R (HD.1240) 1991 0 R (HD.1241) 1992 0 R (HD.1242) 1993 0 R (HD.1243) 1994 0 R (HD.1244) 1995 0 R (HD.1245) 1996 0 R (HD.1246) 1997 0 R (HD.1247) 1998 0 R (HD.1248) 1999 0 R (HD.1249) 2000 0 R (HD.125) 768 0 R (HD.1250) 2001 0 R (HD.1251) 2002 0 R (HD.1252) 2003 0 R (HD.1253) 2004 0 R (HD.1254) 2005 0 R (HD.1255) 2006 0 R (HD.1256) 2011 0 R ] /Limits [ (HD.1228) (HD.1256) ] >>
+<< /Names [ (HD.1112) 1863 0 R (HD.1113) 1864 0 R (HD.1114) 1865 0 R (HD.1115) 1866 0 R (HD.1116) 1867 0 R (HD.1117) 1868 0 R (HD.1118) 1869 0 R (HD.1119) 1870 0 R (HD.112) 763 0 R (HD.1120) 1871 0 R (HD.1121) 1872 0 R (HD.1122) 1873 0 R (HD.1123) 1874 0 R (HD.1124) 1875 0 R (HD.1125) 1876 0 R (HD.1126) 1877 0 R (HD.1127) 1878 0 R (HD.1128) 1879 0 R (HD.1129) 1880 0 R (HD.113) 764 0 R (HD.1130) 1881 0 R (HD.1131) 1882 0 R (HD.1132) 1883 0 R (HD.1133) 1884 0 R (HD.1134) 1889 0 R (HD.1135) 1890 0 R (HD.1136) 1891 0 R (HD.1137) 1892 0 R (HD.1138) 1893 0 R (HD.1139) 1894 0 R (HD.114) 765 0 R (HD.1140) 1895 0 R ] /Limits [ (HD.1112) (HD.1140) ] >>
endobj
4541 0 obj
-<< /Names [ (HD.1257) 2012 0 R (HD.1258) 2013 0 R (HD.1259) 2014 0 R (HD.126) 769 0 R (HD.1260) 2015 0 R (HD.1261) 2016 0 R (HD.1262) 2017 0 R (HD.1263) 2018 0 R (HD.1264) 2019 0 R (HD.1265) 2020 0 R (HD.1266) 2021 0 R (HD.1267) 2022 0 R (HD.1268) 2023 0 R (HD.1269) 2024 0 R (HD.127) 770 0 R (HD.1270) 2025 0 R (HD.1271) 2026 0 R (HD.1272) 2027 0 R (HD.1273) 2028 0 R (HD.1274) 2029 0 R (HD.1275) 2030 0 R (HD.1276) 2031 0 R (HD.1277) 2032 0 R (HD.1278) 2033 0 R (HD.1279) 2034 0 R (HD.128) 771 0 R (HD.1280) 2035 0 R (HD.1281) 2036 0 R (HD.1282) 2037 0 R (HD.1283) 2038 0 R (HD.1284) 2039 0 R (HD.1285) 2040 0 R ] /Limits [ (HD.1257) (HD.1285) ] >>
+<< /Names [ (HD.1141) 1896 0 R (HD.1142) 1897 0 R (HD.1143) 1898 0 R (HD.1144) 1899 0 R (HD.1145) 1900 0 R (HD.1146) 1901 0 R (HD.1147) 1902 0 R (HD.1148) 1903 0 R (HD.1149) 1904 0 R (HD.115) 766 0 R (HD.1150) 1905 0 R (HD.1151) 1906 0 R (HD.1152) 1907 0 R (HD.1153) 1908 0 R (HD.1154) 1909 0 R (HD.1155) 1910 0 R (HD.1156) 1911 0 R (HD.1157) 1912 0 R (HD.1158) 1913 0 R (HD.1159) 1914 0 R (HD.116) 767 0 R (HD.1160) 1915 0 R (HD.1161) 1916 0 R (HD.1162) 1917 0 R (HD.1163) 1918 0 R (HD.1164) 1919 0 R (HD.1165) 1920 0 R (HD.1166) 1921 0 R (HD.1167) 1922 0 R (HD.1168) 1923 0 R (HD.1169) 1924 0 R (HD.117) 768 0 R ] /Limits [ (HD.1141) (HD.117) ] >>
endobj
4542 0 obj
-<< /Names [ (HD.1286) 2041 0 R (HD.1287) 2042 0 R (HD.1288) 2043 0 R (HD.1289) 2044 0 R (HD.129) 772 0 R (HD.1290) 2045 0 R (HD.1291) 2046 0 R (HD.1292) 2047 0 R (HD.1293) 2048 0 R (HD.1294) 2049 0 R (HD.1295) 2050 0 R (HD.1296) 2051 0 R (HD.1297) 2052 0 R (HD.1298) 2053 0 R (HD.1299) 2054 0 R (HD.13) 648 0 R (HD.130) 773 0 R (HD.1300) 2059 0 R (HD.1301) 2060 0 R (HD.1302) 2061 0 R (HD.1303) 2062 0 R (HD.1304) 2063 0 R (HD.1305) 2064 0 R (HD.1306) 2065 0 R (HD.1307) 2066 0 R (HD.1308) 2067 0 R (HD.1309) 2068 0 R (HD.131) 774 0 R (HD.1310) 2069 0 R (HD.1311) 2070 0 R (HD.1312) 2071 0 R (HD.1313) 2072 0 R ] /Limits [ (HD.1286) (HD.1313) ] >>
+<< /Names [ (HD.1170) 1925 0 R (HD.1171) 1926 0 R (HD.1172) 1927 0 R (HD.1173) 1928 0 R (HD.1174) 1929 0 R (HD.1175) 1930 0 R (HD.1176) 1931 0 R (HD.1177) 1932 0 R (HD.1178) 1933 0 R (HD.1179) 1934 0 R (HD.118) 769 0 R (HD.1180) 1935 0 R (HD.1181) 1936 0 R (HD.1182) 1937 0 R (HD.1183) 1938 0 R (HD.1184) 1939 0 R (HD.1185) 1940 0 R (HD.1186) 1941 0 R (HD.1187) 1942 0 R (HD.1188) 1943 0 R (HD.1189) 1944 0 R (HD.119) 770 0 R (HD.1190) 1945 0 R (HD.1191) 1946 0 R (HD.1192) 1947 0 R (HD.1193) 1948 0 R (HD.1194) 1949 0 R (HD.1195) 1950 0 R (HD.1196) 1955 0 R (HD.1197) 1956 0 R (HD.1198) 1957 0 R (HD.1199) 1958 0 R ] /Limits [ (HD.1170) (HD.1199) ] >>
endobj
4543 0 obj
-<< /Names [ (HD.1314) 2073 0 R (HD.1315) 2074 0 R (HD.1316) 2075 0 R (HD.1317) 2076 0 R (HD.1318) 2077 0 R (HD.1319) 2078 0 R (HD.132) 775 0 R (HD.1320) 2079 0 R (HD.1321) 2080 0 R (HD.1322) 2081 0 R (HD.1323) 2082 0 R (HD.1324) 2083 0 R (HD.1325) 2084 0 R (HD.1326) 2085 0 R (HD.1327) 2086 0 R (HD.1328) 2087 0 R (HD.1329) 2088 0 R (HD.133) 776 0 R (HD.1330) 2089 0 R (HD.1331) 2090 0 R (HD.1332) 2091 0 R (HD.1333) 2092 0 R (HD.1334) 2093 0 R (HD.1335) 2094 0 R (HD.1336) 2095 0 R (HD.1337) 2096 0 R (HD.1338) 2097 0 R (HD.1339) 2098 0 R (HD.134) 777 0 R (HD.1340) 2104 0 R (HD.1341) 2105 0 R (HD.1342) 2106 0 R ] /Limits [ (HD.1314) (HD.1342) ] >>
+<< /Names [ (HD.12) 655 0 R (HD.120) 771 0 R (HD.1200) 1959 0 R (HD.1201) 1960 0 R (HD.1202) 1961 0 R (HD.1203) 1962 0 R (HD.1204) 1963 0 R (HD.1205) 1964 0 R (HD.1206) 1965 0 R (HD.1207) 1966 0 R (HD.1208) 1967 0 R (HD.1209) 1968 0 R (HD.121) 772 0 R (HD.1210) 1969 0 R (HD.1211) 1970 0 R (HD.1212) 1971 0 R (HD.1213) 1972 0 R (HD.1214) 1973 0 R (HD.1215) 1974 0 R (HD.1216) 1975 0 R (HD.1217) 1976 0 R (HD.1218) 1977 0 R (HD.1219) 1978 0 R (HD.122) 773 0 R (HD.1220) 1979 0 R (HD.1221) 1980 0 R (HD.1222) 1981 0 R (HD.1223) 1982 0 R (HD.1224) 1983 0 R (HD.1225) 1984 0 R (HD.1226) 1985 0 R (HD.1227) 1986 0 R ] /Limits [ (HD.12) (HD.1227) ] >>
endobj
4544 0 obj
-<< /Names [ (HD.1343) 2107 0 R (HD.1344) 2108 0 R (HD.1345) 2109 0 R (HD.1346) 2110 0 R (HD.1347) 2111 0 R (HD.1348) 2112 0 R (HD.1349) 2113 0 R (HD.135) 782 0 R (HD.1350) 2114 0 R (HD.1351) 2115 0 R (HD.1352) 2116 0 R (HD.1353) 2117 0 R (HD.1354) 2118 0 R (HD.1355) 2119 0 R (HD.1356) 2120 0 R (HD.1357) 2121 0 R (HD.1358) 2122 0 R (HD.1359) 2123 0 R (HD.136) 783 0 R (HD.1360) 2124 0 R (HD.1361) 2125 0 R (HD.1362) 2126 0 R (HD.1363) 2127 0 R (HD.1364) 2128 0 R (HD.1365) 2129 0 R (HD.1366) 2130 0 R (HD.1367) 2131 0 R (HD.1368) 2132 0 R (HD.1369) 2133 0 R (HD.137) 784 0 R (HD.1370) 2134 0 R (HD.1371) 2135 0 R ] /Limits [ (HD.1343) (HD.1371) ] >>
+<< /Names [ (HD.1228) 1987 0 R (HD.1229) 1988 0 R (HD.123) 774 0 R (HD.1230) 1989 0 R (HD.1231) 1990 0 R (HD.1232) 1991 0 R (HD.1233) 1992 0 R (HD.1234) 1993 0 R (HD.1235) 1994 0 R (HD.1236) 1995 0 R (HD.1237) 1996 0 R (HD.1238) 1997 0 R (HD.1239) 1998 0 R (HD.124) 775 0 R (HD.1240) 1999 0 R (HD.1241) 2000 0 R (HD.1242) 2001 0 R (HD.1243) 2006 0 R (HD.1244) 2007 0 R (HD.1245) 2008 0 R (HD.1246) 2009 0 R (HD.1247) 2010 0 R (HD.1248) 2011 0 R (HD.1249) 2012 0 R (HD.125) 776 0 R (HD.1250) 2013 0 R (HD.1251) 2014 0 R (HD.1252) 2015 0 R (HD.1253) 2016 0 R (HD.1254) 2017 0 R (HD.1255) 2018 0 R (HD.1256) 2019 0 R ] /Limits [ (HD.1228) (HD.1256) ] >>
endobj
4545 0 obj
-<< /Names [ (HD.1372) 2136 0 R (HD.1373) 2137 0 R (HD.1374) 2138 0 R (HD.1375) 2139 0 R (HD.1376) 2140 0 R (HD.1377) 2141 0 R (HD.1378) 2142 0 R (HD.1379) 2143 0 R (HD.138) 785 0 R (HD.1380) 2144 0 R (HD.1381) 2145 0 R (HD.1382) 2146 0 R (HD.1383) 2147 0 R (HD.1384) 2148 0 R (HD.1385) 2149 0 R (HD.1386) 2150 0 R (HD.1387) 2151 0 R (HD.1388) 2152 0 R (HD.1389) 2153 0 R (HD.139) 786 0 R (HD.1390) 2154 0 R (HD.1391) 2155 0 R (HD.1392) 2156 0 R (HD.1393) 2157 0 R (HD.1394) 2158 0 R (HD.1395) 2163 0 R (HD.1396) 2164 0 R (HD.1397) 2165 0 R (HD.1398) 2166 0 R (HD.1399) 2167 0 R (HD.14) 649 0 R (HD.140) 787 0 R ] /Limits [ (HD.1372) (HD.140) ] >>
+<< /Names [ (HD.1257) 2020 0 R (HD.1258) 2021 0 R (HD.1259) 2022 0 R (HD.126) 777 0 R (HD.1260) 2023 0 R (HD.1261) 2024 0 R (HD.1262) 2025 0 R (HD.1263) 2026 0 R (HD.1264) 2027 0 R (HD.1265) 2028 0 R (HD.1266) 2029 0 R (HD.1267) 2030 0 R (HD.1268) 2031 0 R (HD.1269) 2032 0 R (HD.127) 778 0 R (HD.1270) 2033 0 R (HD.1271) 2034 0 R (HD.1272) 2035 0 R (HD.1273) 2036 0 R (HD.1274) 2037 0 R (HD.1275) 2038 0 R (HD.1276) 2039 0 R (HD.1277) 2040 0 R (HD.1278) 2046 0 R (HD.1279) 2047 0 R (HD.128) 779 0 R (HD.1280) 2048 0 R (HD.1281) 2049 0 R (HD.1282) 2050 0 R (HD.1283) 2051 0 R (HD.1284) 2052 0 R (HD.1285) 2053 0 R ] /Limits [ (HD.1257) (HD.1285) ] >>
endobj
4546 0 obj
-<< /Names [ (HD.1400) 2168 0 R (HD.1401) 2169 0 R (HD.1402) 2170 0 R (HD.1403) 2171 0 R (HD.1404) 2172 0 R (HD.1405) 2173 0 R (HD.1406) 2174 0 R (HD.1407) 2175 0 R (HD.1408) 2176 0 R (HD.1409) 2177 0 R (HD.141) 788 0 R (HD.1410) 2178 0 R (HD.1411) 2179 0 R (HD.1412) 2180 0 R (HD.1413) 2181 0 R (HD.1414) 2182 0 R (HD.1415) 2183 0 R (HD.1416) 2184 0 R (HD.1417) 2185 0 R (HD.1418) 2186 0 R (HD.1419) 2187 0 R (HD.142) 789 0 R (HD.1420) 2188 0 R (HD.1421) 2189 0 R (HD.1422) 2190 0 R (HD.1423) 2191 0 R (HD.1424) 2192 0 R (HD.1425) 2193 0 R (HD.1426) 2194 0 R (HD.1427) 2195 0 R (HD.1428) 2196 0 R (HD.1429) 2197 0 R ] /Limits [ (HD.1400) (HD.1429) ] >>
+<< /Names [ (HD.1286) 2054 0 R (HD.1287) 2055 0 R (HD.1288) 2056 0 R (HD.1289) 2057 0 R (HD.129) 780 0 R (HD.1290) 2058 0 R (HD.1291) 2059 0 R (HD.1292) 2060 0 R (HD.1293) 2061 0 R (HD.1294) 2062 0 R (HD.1295) 2063 0 R (HD.1296) 2064 0 R (HD.1297) 2065 0 R (HD.1298) 2066 0 R (HD.1299) 2067 0 R (HD.13) 656 0 R (HD.130) 781 0 R (HD.1300) 2068 0 R (HD.1301) 2069 0 R (HD.1302) 2070 0 R (HD.1303) 2071 0 R (HD.1304) 2072 0 R (HD.1305) 2073 0 R (HD.1306) 2074 0 R (HD.1307) 2075 0 R (HD.1308) 2076 0 R (HD.1309) 2077 0 R (HD.131) 782 0 R (HD.1310) 2078 0 R (HD.1311) 2079 0 R (HD.1312) 2080 0 R (HD.1313) 2081 0 R ] /Limits [ (HD.1286) (HD.1313) ] >>
endobj
4547 0 obj
-<< /Names [ (HD.143) 790 0 R (HD.1430) 2198 0 R (HD.1431) 2199 0 R (HD.1432) 2200 0 R (HD.1433) 2201 0 R (HD.1434) 2202 0 R (HD.1435) 2203 0 R (HD.1436) 2204 0 R (HD.1437) 2205 0 R (HD.1438) 2206 0 R (HD.1439) 2207 0 R (HD.144) 791 0 R (HD.1440) 2208 0 R (HD.1441) 2209 0 R (HD.1442) 2210 0 R (HD.1443) 2211 0 R (HD.1444) 2212 0 R (HD.1445) 2213 0 R (HD.1446) 2214 0 R (HD.1447) 2215 0 R (HD.1448) 2216 0 R (HD.1449) 2217 0 R (HD.145) 792 0 R (HD.1450) 2218 0 R (HD.1451) 2219 0 R (HD.1452) 2220 0 R (HD.1453) 2221 0 R (HD.1454) 2222 0 R (HD.1455) 2223 0 R (HD.1456) 2228 0 R (HD.1457) 2229 0 R (HD.1458) 2230 0 R ] /Limits [ (HD.143) (HD.1458) ] >>
+<< /Names [ (HD.1314) 2082 0 R (HD.1315) 2083 0 R (HD.1316) 2084 0 R (HD.1317) 2085 0 R (HD.1318) 2086 0 R (HD.1319) 2087 0 R (HD.132) 787 0 R (HD.1320) 2088 0 R (HD.1321) 2089 0 R (HD.1322) 2090 0 R (HD.1323) 2091 0 R (HD.1324) 2092 0 R (HD.1325) 2097 0 R (HD.1326) 2098 0 R (HD.1327) 2099 0 R (HD.1328) 2100 0 R (HD.1329) 2101 0 R (HD.133) 788 0 R (HD.1330) 2102 0 R (HD.1331) 2103 0 R (HD.1332) 2104 0 R (HD.1333) 2105 0 R (HD.1334) 2106 0 R (HD.1335) 2107 0 R (HD.1336) 2108 0 R (HD.1337) 2109 0 R (HD.1338) 2110 0 R (HD.1339) 2111 0 R (HD.134) 789 0 R (HD.1340) 2112 0 R (HD.1341) 2113 0 R (HD.1342) 2114 0 R ] /Limits [ (HD.1314) (HD.1342) ] >>
endobj
4548 0 obj
-<< /Names [ (HD.1459) 2231 0 R (HD.146) 793 0 R (HD.1460) 2232 0 R (HD.1461) 2233 0 R (HD.1462) 2234 0 R (HD.1463) 2235 0 R (HD.1464) 2236 0 R (HD.1465) 2237 0 R (HD.1466) 2238 0 R (HD.1467) 2239 0 R (HD.1468) 2240 0 R (HD.1469) 2241 0 R (HD.147) 794 0 R (HD.1470) 2242 0 R (HD.1471) 2243 0 R (HD.1472) 2244 0 R (HD.1473) 2245 0 R (HD.1474) 2246 0 R (HD.1475) 2247 0 R (HD.1476) 2248 0 R (HD.1477) 2249 0 R (HD.1478) 2250 0 R (HD.1479) 2251 0 R (HD.148) 795 0 R (HD.1480) 2252 0 R (HD.1481) 2253 0 R (HD.1482) 2254 0 R (HD.1483) 2255 0 R (HD.1484) 2256 0 R (HD.1485) 2257 0 R (HD.1486) 2258 0 R (HD.1487) 2259 0 R ] /Limits [ (HD.1459) (HD.1487) ] >>
+<< /Names [ (HD.1343) 2115 0 R (HD.1344) 2116 0 R (HD.1345) 2117 0 R (HD.1346) 2118 0 R (HD.1347) 2119 0 R (HD.1348) 2120 0 R (HD.1349) 2121 0 R (HD.135) 790 0 R (HD.1350) 2122 0 R (HD.1351) 2123 0 R (HD.1352) 2124 0 R (HD.1353) 2125 0 R (HD.1354) 2126 0 R (HD.1355) 2127 0 R (HD.1356) 2128 0 R (HD.1357) 2129 0 R (HD.1358) 2130 0 R (HD.1359) 2131 0 R (HD.136) 791 0 R (HD.1360) 2132 0 R (HD.1361) 2133 0 R (HD.1362) 2134 0 R (HD.1363) 2135 0 R (HD.1364) 2136 0 R (HD.1365) 2137 0 R (HD.1366) 2138 0 R (HD.1367) 2139 0 R (HD.1368) 2140 0 R (HD.1369) 2141 0 R (HD.137) 792 0 R (HD.1370) 2142 0 R (HD.1371) 2143 0 R ] /Limits [ (HD.1343) (HD.1371) ] >>
endobj
4549 0 obj
-<< /Names [ (HD.1488) 2260 0 R (HD.1489) 2261 0 R (HD.149) 796 0 R (HD.1490) 2262 0 R (HD.1491) 2263 0 R (HD.1492) 2264 0 R (HD.1493) 2265 0 R (HD.1494) 2266 0 R (HD.1495) 2267 0 R (HD.1496) 2268 0 R (HD.1497) 2269 0 R (HD.1498) 2270 0 R (HD.1499) 2271 0 R (HD.15) 650 0 R (HD.150) 797 0 R (HD.1500) 2272 0 R (HD.1501) 2273 0 R (HD.1502) 2274 0 R (HD.1503) 2275 0 R (HD.1504) 2276 0 R (HD.1505) 2277 0 R (HD.1506) 2278 0 R (HD.1507) 2279 0 R (HD.1508) 2280 0 R (HD.1509) 2281 0 R (HD.151) 798 0 R (HD.1510) 2286 0 R (HD.1511) 2287 0 R (HD.1512) 2288 0 R (HD.1513) 2289 0 R (HD.1514) 2290 0 R (HD.1515) 2291 0 R ] /Limits [ (HD.1488) (HD.1515) ] >>
+<< /Names [ (HD.1372) 2144 0 R (HD.1373) 2145 0 R (HD.1374) 2146 0 R (HD.1375) 2147 0 R (HD.1376) 2148 0 R (HD.1377) 2149 0 R (HD.1378) 2150 0 R (HD.1379) 2151 0 R (HD.138) 793 0 R (HD.1380) 2152 0 R (HD.1381) 2153 0 R (HD.1382) 2154 0 R (HD.1383) 2159 0 R (HD.1384) 2160 0 R (HD.1385) 2161 0 R (HD.1386) 2162 0 R (HD.1387) 2163 0 R (HD.1388) 2164 0 R (HD.1389) 2165 0 R (HD.139) 794 0 R (HD.1390) 2166 0 R (HD.1391) 2167 0 R (HD.1392) 2168 0 R (HD.1393) 2169 0 R (HD.1394) 2170 0 R (HD.1395) 2171 0 R (HD.1396) 2172 0 R (HD.1397) 2173 0 R (HD.1398) 2174 0 R (HD.1399) 2175 0 R (HD.14) 657 0 R (HD.140) 795 0 R ] /Limits [ (HD.1372) (HD.140) ] >>
endobj
4550 0 obj
-<< /Names [ (HD.1516) 2292 0 R (HD.1517) 2293 0 R (HD.1518) 2294 0 R (HD.1519) 2295 0 R (HD.152) 799 0 R (HD.1520) 2296 0 R (HD.1521) 2297 0 R (HD.1522) 2298 0 R (HD.1523) 2299 0 R (HD.1524) 2300 0 R (HD.1525) 2301 0 R (HD.1526) 2302 0 R (HD.1527) 2303 0 R (HD.1528) 2304 0 R (HD.1529) 2305 0 R (HD.153) 800 0 R (HD.1530) 2306 0 R (HD.1531) 2307 0 R (HD.1532) 2308 0 R (HD.1533) 2309 0 R (HD.1534) 2310 0 R (HD.1535) 2311 0 R (HD.1536) 2312 0 R (HD.1537) 2314 0 R (HD.1538) 2315 0 R (HD.1539) 2316 0 R (HD.154) 801 0 R (HD.1540) 2317 0 R (HD.1541) 2318 0 R (HD.1542) 2319 0 R (HD.1543) 2320 0 R (HD.1544) 2321 0 R ] /Limits [ (HD.1516) (HD.1544) ] >>
+<< /Names [ (HD.1400) 2176 0 R (HD.1401) 2177 0 R (HD.1402) 2178 0 R (HD.1403) 2179 0 R (HD.1404) 2180 0 R (HD.1405) 2181 0 R (HD.1406) 2182 0 R (HD.1407) 2183 0 R (HD.1408) 2184 0 R (HD.1409) 2185 0 R (HD.141) 796 0 R (HD.1410) 2186 0 R (HD.1411) 2187 0 R (HD.1412) 2188 0 R (HD.1413) 2189 0 R (HD.1414) 2190 0 R (HD.1415) 2191 0 R (HD.1416) 2192 0 R (HD.1417) 2193 0 R (HD.1418) 2194 0 R (HD.1419) 2195 0 R (HD.142) 797 0 R (HD.1420) 2196 0 R (HD.1421) 2197 0 R (HD.1422) 2198 0 R (HD.1423) 2199 0 R (HD.1424) 2200 0 R (HD.1425) 2201 0 R (HD.1426) 2202 0 R (HD.1427) 2203 0 R (HD.1428) 2204 0 R (HD.1429) 2205 0 R ] /Limits [ (HD.1400) (HD.1429) ] >>
endobj
4551 0 obj
-<< /Names [ (HD.1545) 2322 0 R (HD.1546) 2323 0 R (HD.1547) 2324 0 R (HD.1548) 2325 0 R (HD.1549) 2326 0 R (HD.155) 802 0 R (HD.1550) 2327 0 R (HD.1551) 2328 0 R (HD.1552) 2329 0 R (HD.1553) 2330 0 R (HD.1554) 2331 0 R (HD.1555) 2332 0 R (HD.1556) 2333 0 R (HD.1557) 2338 0 R (HD.1558) 2339 0 R (HD.1559) 2340 0 R (HD.156) 803 0 R (HD.1560) 2341 0 R (HD.1561) 2342 0 R (HD.1562) 2343 0 R (HD.1563) 2344 0 R (HD.1564) 2345 0 R (HD.1565) 2346 0 R (HD.1566) 2347 0 R (HD.1567) 2348 0 R (HD.1568) 2349 0 R (HD.1569) 2350 0 R (HD.157) 804 0 R (HD.1570) 2351 0 R (HD.1571) 2352 0 R (HD.1572) 2353 0 R (HD.1573) 2354 0 R ] /Limits [ (HD.1545) (HD.1573) ] >>
+<< /Names [ (HD.143) 798 0 R (HD.1430) 2206 0 R (HD.1431) 2207 0 R (HD.1432) 2208 0 R (HD.1433) 2209 0 R (HD.1434) 2210 0 R (HD.1435) 2211 0 R (HD.1436) 2212 0 R (HD.1437) 2213 0 R (HD.1438) 2214 0 R (HD.1439) 2215 0 R (HD.144) 799 0 R (HD.1440) 2216 0 R (HD.1441) 2217 0 R (HD.1442) 2222 0 R (HD.1443) 2223 0 R (HD.1444) 2224 0 R (HD.1445) 2225 0 R (HD.1446) 2226 0 R (HD.1447) 2227 0 R (HD.1448) 2228 0 R (HD.1449) 2229 0 R (HD.145) 800 0 R (HD.1450) 2230 0 R (HD.1451) 2231 0 R (HD.1452) 2232 0 R (HD.1453) 2233 0 R (HD.1454) 2234 0 R (HD.1455) 2235 0 R (HD.1456) 2236 0 R (HD.1457) 2237 0 R (HD.1458) 2238 0 R ] /Limits [ (HD.143) (HD.1458) ] >>
endobj
4552 0 obj
-<< /Names [ (HD.1574) 2355 0 R (HD.1575) 2356 0 R (HD.1576) 2357 0 R (HD.1577) 2358 0 R (HD.1578) 2359 0 R (HD.1579) 2360 0 R (HD.158) 805 0 R (HD.1580) 2361 0 R (HD.1581) 2362 0 R (HD.1582) 2363 0 R (HD.1583) 2368 0 R (HD.1584) 2369 0 R (HD.1585) 2370 0 R (HD.1586) 2371 0 R (HD.1587) 2372 0 R (HD.1588) 2373 0 R (HD.1589) 2374 0 R (HD.159) 810 0 R (HD.1590) 2375 0 R (HD.1591) 2376 0 R (HD.1592) 2377 0 R (HD.1593) 2378 0 R (HD.1594) 2379 0 R (HD.1595) 2380 0 R (HD.1596) 2381 0 R (HD.1597) 2382 0 R (HD.1598) 2383 0 R (HD.1599) 2384 0 R (HD.16) 651 0 R (HD.160) 811 0 R (HD.1600) 2385 0 R (HD.1601) 2386 0 R ] /Limits [ (HD.1574) (HD.1601) ] >>
+<< /Names [ (HD.1459) 2239 0 R (HD.146) 801 0 R (HD.1460) 2240 0 R (HD.1461) 2241 0 R (HD.1462) 2242 0 R (HD.1463) 2243 0 R (HD.1464) 2244 0 R (HD.1465) 2245 0 R (HD.1466) 2246 0 R (HD.1467) 2247 0 R (HD.1468) 2248 0 R (HD.1469) 2249 0 R (HD.147) 802 0 R (HD.1470) 2250 0 R (HD.1471) 2251 0 R (HD.1472) 2252 0 R (HD.1473) 2253 0 R (HD.1474) 2254 0 R (HD.1475) 2255 0 R (HD.1476) 2256 0 R (HD.1477) 2257 0 R (HD.1478) 2258 0 R (HD.1479) 2259 0 R (HD.148) 803 0 R (HD.1480) 2260 0 R (HD.1481) 2261 0 R (HD.1482) 2262 0 R (HD.1483) 2263 0 R (HD.1484) 2264 0 R (HD.1485) 2265 0 R (HD.1486) 2266 0 R (HD.1487) 2267 0 R ] /Limits [ (HD.1459) (HD.1487) ] >>
endobj
4553 0 obj
-<< /Names [ (HD.1602) 2387 0 R (HD.1603) 2388 0 R (HD.1604) 2389 0 R (HD.1605) 2390 0 R (HD.1606) 2391 0 R (HD.1607) 2393 0 R (HD.1608) 2394 0 R (HD.1609) 2395 0 R (HD.161) 812 0 R (HD.1610) 2396 0 R (HD.1611) 2397 0 R (HD.1612) 2398 0 R (HD.1613) 2399 0 R (HD.1614) 2400 0 R (HD.1615) 2401 0 R (HD.1616) 2406 0 R (HD.1617) 2407 0 R (HD.1618) 2408 0 R (HD.1619) 2409 0 R (HD.162) 813 0 R (HD.1620) 2410 0 R (HD.1621) 2411 0 R (HD.1622) 2412 0 R (HD.1623) 2413 0 R (HD.1624) 2414 0 R (HD.1625) 2415 0 R (HD.1626) 2416 0 R (HD.1627) 2417 0 R (HD.1628) 2418 0 R (HD.1629) 2419 0 R (HD.163) 814 0 R (HD.1630) 2420 0 R ] /Limits [ (HD.1602) (HD.1630) ] >>
+<< /Names [ (HD.1488) 2268 0 R (HD.1489) 2269 0 R (HD.149) 804 0 R (HD.1490) 2270 0 R (HD.1491) 2271 0 R (HD.1492) 2276 0 R (HD.1493) 2277 0 R (HD.1494) 2278 0 R (HD.1495) 2279 0 R (HD.1496) 2280 0 R (HD.1497) 2281 0 R (HD.1498) 2282 0 R (HD.1499) 2283 0 R (HD.15) 658 0 R (HD.150) 805 0 R (HD.1500) 2284 0 R (HD.1501) 2285 0 R (HD.1502) 2286 0 R (HD.1503) 2287 0 R (HD.1504) 2288 0 R (HD.1505) 2289 0 R (HD.1506) 2290 0 R (HD.1507) 2291 0 R (HD.1508) 2292 0 R (HD.1509) 2293 0 R (HD.151) 806 0 R (HD.1510) 2294 0 R (HD.1511) 2295 0 R (HD.1512) 2296 0 R (HD.1513) 2297 0 R (HD.1514) 2298 0 R (HD.1515) 2299 0 R ] /Limits [ (HD.1488) (HD.1515) ] >>
endobj
4554 0 obj
-<< /Names [ (HD.1631) 2421 0 R (HD.1632) 2422 0 R (HD.1633) 2423 0 R (HD.1634) 2424 0 R (HD.1635) 2425 0 R (HD.1636) 2426 0 R (HD.1637) 2427 0 R (HD.1638) 2428 0 R (HD.1639) 2429 0 R (HD.164) 815 0 R (HD.1640) 2430 0 R (HD.1641) 2431 0 R (HD.1642) 2432 0 R (HD.1643) 2433 0 R (HD.1644) 2434 0 R (HD.1645) 2435 0 R (HD.1646) 2436 0 R (HD.1647) 2437 0 R (HD.1648) 2438 0 R (HD.1649) 2439 0 R (HD.165) 816 0 R (HD.1650) 2440 0 R (HD.1651) 2441 0 R (HD.1652) 2447 0 R (HD.1653) 2448 0 R (HD.1654) 2449 0 R (HD.1655) 2450 0 R (HD.1656) 2451 0 R (HD.1657) 2452 0 R (HD.1658) 2453 0 R (HD.1659) 2454 0 R (HD.166) 817 0 R ] /Limits [ (HD.1631) (HD.166) ] >>
+<< /Names [ (HD.1516) 2300 0 R (HD.1517) 2301 0 R (HD.1518) 2302 0 R (HD.1519) 2303 0 R (HD.152) 807 0 R (HD.1520) 2304 0 R (HD.1521) 2305 0 R (HD.1522) 2306 0 R (HD.1523) 2307 0 R (HD.1524) 2308 0 R (HD.1525) 2309 0 R (HD.1526) 2311 0 R (HD.1527) 2312 0 R (HD.1528) 2313 0 R (HD.1529) 2314 0 R (HD.153) 808 0 R (HD.1530) 2315 0 R (HD.1531) 2316 0 R (HD.1532) 2317 0 R (HD.1533) 2318 0 R (HD.1534) 2319 0 R (HD.1535) 2324 0 R (HD.1536) 2325 0 R (HD.1537) 2326 0 R (HD.1538) 2327 0 R (HD.1539) 2328 0 R (HD.154) 813 0 R (HD.1540) 2329 0 R (HD.1541) 2330 0 R (HD.1542) 2331 0 R (HD.1543) 2332 0 R (HD.1544) 2333 0 R ] /Limits [ (HD.1516) (HD.1544) ] >>
endobj
4555 0 obj
-<< /Names [ (HD.1660) 2455 0 R (HD.1661) 2456 0 R (HD.1662) 2457 0 R (HD.1663) 2458 0 R (HD.1664) 2459 0 R (HD.1665) 2460 0 R (HD.1666) 2461 0 R (HD.1667) 2462 0 R (HD.1668) 2463 0 R (HD.1669) 2464 0 R (HD.167) 818 0 R (HD.1670) 2465 0 R (HD.1671) 2466 0 R (HD.1672) 2467 0 R (HD.1673) 2468 0 R (HD.1674) 2469 0 R (HD.1675) 2470 0 R (HD.1676) 2471 0 R (HD.1677) 2472 0 R (HD.1678) 2473 0 R (HD.1679) 2474 0 R (HD.168) 819 0 R (HD.1680) 2475 0 R (HD.1681) 2476 0 R (HD.1682) 2477 0 R (HD.1683) 2478 0 R (HD.1684) 2479 0 R (HD.1685) 2480 0 R (HD.1686) 2482 0 R (HD.1687) 2483 0 R (HD.1688) 2484 0 R (HD.1689) 2485 0 R ] /Limits [ (HD.1660) (HD.1689) ] >>
+<< /Names [ (HD.1545) 2334 0 R (HD.1546) 2335 0 R (HD.1547) 2336 0 R (HD.1548) 2337 0 R (HD.1549) 2338 0 R (HD.155) 814 0 R (HD.1550) 2339 0 R (HD.1551) 2340 0 R (HD.1552) 2341 0 R (HD.1553) 2342 0 R (HD.1554) 2343 0 R (HD.1555) 2344 0 R (HD.1556) 2345 0 R (HD.1557) 2346 0 R (HD.1558) 2347 0 R (HD.1559) 2348 0 R (HD.156) 815 0 R (HD.1560) 2349 0 R (HD.1561) 2350 0 R (HD.1562) 2351 0 R (HD.1563) 2352 0 R (HD.1564) 2353 0 R (HD.1565) 2358 0 R (HD.1566) 2359 0 R (HD.1567) 2360 0 R (HD.1568) 2361 0 R (HD.1569) 2362 0 R (HD.157) 816 0 R (HD.1570) 2363 0 R (HD.1571) 2364 0 R (HD.1572) 2365 0 R (HD.1573) 2366 0 R ] /Limits [ (HD.1545) (HD.1573) ] >>
endobj
4556 0 obj
-<< /Names [ (HD.169) 820 0 R (HD.1690) 2486 0 R (HD.1691) 2487 0 R (HD.1692) 2492 0 R (HD.1693) 2493 0 R (HD.1694) 2494 0 R (HD.1695) 2495 0 R (HD.1696) 2496 0 R (HD.1697) 2497 0 R (HD.1698) 2498 0 R (HD.1699) 2499 0 R (HD.17) 652 0 R (HD.170) 821 0 R (HD.1700) 2500 0 R (HD.1701) 2501 0 R (HD.1702) 2502 0 R (HD.1703) 2503 0 R (HD.1704) 2504 0 R (HD.1705) 2505 0 R (HD.1706) 2506 0 R (HD.1707) 2507 0 R (HD.1708) 2508 0 R (HD.1709) 2509 0 R (HD.171) 822 0 R (HD.1710) 2510 0 R (HD.1711) 2511 0 R (HD.1712) 2512 0 R (HD.1713) 2513 0 R (HD.1714) 2514 0 R (HD.1715) 2515 0 R (HD.1716) 2516 0 R (HD.1717) 2517 0 R ] /Limits [ (HD.169) (HD.1717) ] >>
+<< /Names [ (HD.1574) 2367 0 R (HD.1575) 2368 0 R (HD.1576) 2369 0 R (HD.1577) 2370 0 R (HD.1578) 2371 0 R (HD.1579) 2372 0 R (HD.158) 817 0 R (HD.1580) 2373 0 R (HD.1581) 2375 0 R (HD.1582) 2376 0 R (HD.1583) 2377 0 R (HD.1584) 2378 0 R (HD.1585) 2379 0 R (HD.1586) 2380 0 R (HD.1587) 2381 0 R (HD.1588) 2382 0 R (HD.1589) 2383 0 R (HD.159) 818 0 R (HD.1590) 2384 0 R (HD.1591) 2385 0 R (HD.1592) 2386 0 R (HD.1593) 2387 0 R (HD.1594) 2388 0 R (HD.1595) 2389 0 R (HD.1596) 2390 0 R (HD.1597) 2391 0 R (HD.1598) 2396 0 R (HD.1599) 2397 0 R (HD.16) 659 0 R (HD.160) 819 0 R (HD.1600) 2398 0 R (HD.1601) 2399 0 R ] /Limits [ (HD.1574) (HD.1601) ] >>
endobj
4557 0 obj
-<< /Names [ (HD.1718) 2518 0 R (HD.1719) 2519 0 R (HD.172) 823 0 R (HD.1720) 2520 0 R (HD.1721) 2521 0 R (HD.1722) 2522 0 R (HD.1723) 2523 0 R (HD.1724) 2524 0 R (HD.1725) 2525 0 R (HD.1726) 2526 0 R (HD.1727) 2527 0 R (HD.1728) 2528 0 R (HD.1729) 2529 0 R (HD.173) 824 0 R (HD.1730) 2530 0 R (HD.1731) 2531 0 R (HD.1732) 2532 0 R (HD.1733) 2533 0 R (HD.1734) 2534 0 R (HD.1735) 2535 0 R (HD.1736) 2536 0 R (HD.1737) 2537 0 R (HD.1738) 2543 0 R (HD.1739) 2544 0 R (HD.174) 825 0 R (HD.1740) 2545 0 R (HD.1741) 2546 0 R (HD.1742) 2547 0 R (HD.1743) 2548 0 R (HD.1744) 2549 0 R (HD.1745) 2550 0 R (HD.1746) 2551 0 R ] /Limits [ (HD.1718) (HD.1746) ] >>
+<< /Names [ (HD.1602) 2400 0 R (HD.1603) 2401 0 R (HD.1604) 2402 0 R (HD.1605) 2403 0 R (HD.1606) 2404 0 R (HD.1607) 2405 0 R (HD.1608) 2406 0 R (HD.1609) 2407 0 R (HD.161) 820 0 R (HD.1610) 2408 0 R (HD.1611) 2409 0 R (HD.1612) 2410 0 R (HD.1613) 2411 0 R (HD.1614) 2412 0 R (HD.1615) 2413 0 R (HD.1616) 2414 0 R (HD.1617) 2415 0 R (HD.1618) 2416 0 R (HD.1619) 2417 0 R (HD.162) 821 0 R (HD.1620) 2418 0 R (HD.1621) 2419 0 R (HD.1622) 2420 0 R (HD.1623) 2421 0 R (HD.1624) 2422 0 R (HD.1625) 2423 0 R (HD.1626) 2425 0 R (HD.1627) 2426 0 R (HD.1628) 2427 0 R (HD.1629) 2428 0 R (HD.163) 822 0 R (HD.1630) 2429 0 R ] /Limits [ (HD.1602) (HD.1630) ] >>
endobj
4558 0 obj
-<< /Names [ (HD.1747) 2552 0 R (HD.1748) 2553 0 R (HD.1749) 2554 0 R (HD.175) 826 0 R (HD.1750) 2555 0 R (HD.1751) 2556 0 R (HD.1752) 2557 0 R (HD.1753) 2558 0 R (HD.1754) 2559 0 R (HD.1755) 2560 0 R (HD.1756) 2561 0 R (HD.1757) 2562 0 R (HD.1758) 2564 0 R (HD.1759) 2565 0 R (HD.176) 827 0 R (HD.1760) 2566 0 R (HD.1761) 2567 0 R (HD.1762) 2568 0 R (HD.1763) 2569 0 R (HD.1764) 2570 0 R (HD.1765) 2571 0 R (HD.1766) 2572 0 R (HD.1767) 2573 0 R (HD.1768) 2574 0 R (HD.1769) 2575 0 R (HD.177) 828 0 R (HD.1770) 2576 0 R (HD.1771) 2584 0 R (HD.1772) 2585 0 R (HD.1773) 2586 0 R (HD.1774) 2587 0 R (HD.1775) 2588 0 R ] /Limits [ (HD.1747) (HD.1775) ] >>
+<< /Names [ (HD.1631) 2430 0 R (HD.1632) 2431 0 R (HD.1633) 2432 0 R (HD.1634) 2433 0 R (HD.1635) 2434 0 R (HD.1636) 2435 0 R (HD.1637) 2440 0 R (HD.1638) 2441 0 R (HD.1639) 2442 0 R (HD.164) 823 0 R (HD.1640) 2443 0 R (HD.1641) 2444 0 R (HD.1642) 2445 0 R (HD.1643) 2446 0 R (HD.1644) 2447 0 R (HD.1645) 2448 0 R (HD.1646) 2449 0 R (HD.1647) 2450 0 R (HD.1648) 2451 0 R (HD.1649) 2452 0 R (HD.165) 824 0 R (HD.1650) 2453 0 R (HD.1651) 2454 0 R (HD.1652) 2455 0 R (HD.1653) 2456 0 R (HD.1654) 2457 0 R (HD.1655) 2458 0 R (HD.1656) 2459 0 R (HD.1657) 2460 0 R (HD.1658) 2461 0 R (HD.1659) 2462 0 R (HD.166) 825 0 R ] /Limits [ (HD.1631) (HD.166) ] >>
endobj
4559 0 obj
-<< /Names [ (HD.1776) 2589 0 R (HD.1777) 2590 0 R (HD.1778) 2591 0 R (HD.1779) 2592 0 R (HD.178) 829 0 R (HD.1780) 2593 0 R (HD.1781) 2594 0 R (HD.1782) 2595 0 R (HD.1783) 2596 0 R (HD.1784) 2597 0 R (HD.1785) 2598 0 R (HD.1786) 2599 0 R (HD.1787) 2600 0 R (HD.1788) 2601 0 R (HD.1789) 2602 0 R (HD.179) 830 0 R (HD.1790) 2603 0 R (HD.1791) 2604 0 R (HD.1792) 2605 0 R (HD.1793) 2606 0 R (HD.1794) 2607 0 R (HD.1795) 2608 0 R (HD.1796) 2609 0 R (HD.1797) 2610 0 R (HD.1798) 2611 0 R (HD.1799) 2612 0 R (HD.18) 653 0 R (HD.180) 835 0 R (HD.1800) 2613 0 R (HD.1801) 2614 0 R (HD.1802) 2615 0 R (HD.1803) 2616 0 R ] /Limits [ (HD.1776) (HD.1803) ] >>
+<< /Names [ (HD.1660) 2463 0 R (HD.1661) 2464 0 R (HD.1662) 2466 0 R (HD.1663) 2467 0 R (HD.1664) 2468 0 R (HD.1665) 2469 0 R (HD.1666) 2470 0 R (HD.1667) 2471 0 R (HD.1668) 2472 0 R (HD.1669) 2473 0 R (HD.167) 826 0 R (HD.1670) 2474 0 R (HD.1671) 2475 0 R (HD.1672) 2476 0 R (HD.1673) 2477 0 R (HD.1674) 2478 0 R (HD.1675) 2479 0 R (HD.1676) 2480 0 R (HD.1677) 2481 0 R (HD.1678) 2482 0 R (HD.1679) 2483 0 R (HD.168) 827 0 R (HD.1680) 2484 0 R (HD.1681) 2485 0 R (HD.1682) 2486 0 R (HD.1683) 2487 0 R (HD.1684) 2492 0 R (HD.1685) 2493 0 R (HD.1686) 2494 0 R (HD.1687) 2495 0 R (HD.1688) 2496 0 R (HD.1689) 2497 0 R ] /Limits [ (HD.1660) (HD.1689) ] >>
endobj
4560 0 obj
-<< /Names [ (HD.1804) 2617 0 R (HD.1805) 2618 0 R (HD.1806) 2619 0 R (HD.1807) 2620 0 R (HD.1808) 2621 0 R (HD.1809) 2622 0 R (HD.181) 836 0 R (HD.1810) 2623 0 R (HD.1811) 2624 0 R (HD.1812) 2625 0 R (HD.1813) 2626 0 R (HD.1814) 2627 0 R (HD.1815) 2628 0 R (HD.1816) 2629 0 R (HD.1817) 2630 0 R (HD.1818) 2631 0 R (HD.1819) 2632 0 R (HD.182) 837 0 R (HD.1820) 2633 0 R (HD.1821) 2634 0 R (HD.1822) 2639 0 R (HD.1823) 2640 0 R (HD.1824) 2641 0 R (HD.1825) 2642 0 R (HD.1826) 2643 0 R (HD.1827) 2644 0 R (HD.1828) 2645 0 R (HD.1829) 2646 0 R (HD.183) 838 0 R (HD.1830) 2647 0 R (HD.1831) 2648 0 R (HD.1832) 2649 0 R ] /Limits [ (HD.1804) (HD.1832) ] >>
+<< /Names [ (HD.169) 828 0 R (HD.1690) 2498 0 R (HD.1691) 2499 0 R (HD.1692) 2500 0 R (HD.1693) 2501 0 R (HD.1694) 2502 0 R (HD.1695) 2503 0 R (HD.1696) 2504 0 R (HD.1697) 2505 0 R (HD.1698) 2506 0 R (HD.1699) 2507 0 R (HD.17) 660 0 R (HD.170) 829 0 R (HD.1700) 2508 0 R (HD.1701) 2509 0 R (HD.1702) 2510 0 R (HD.1703) 2511 0 R (HD.1704) 2512 0 R (HD.1705) 2513 0 R (HD.1706) 2514 0 R (HD.1707) 2515 0 R (HD.1708) 2516 0 R (HD.1709) 2517 0 R (HD.171) 830 0 R (HD.1710) 2518 0 R (HD.1711) 2519 0 R (HD.1712) 2520 0 R (HD.1713) 2521 0 R (HD.1714) 2522 0 R (HD.1715) 2523 0 R (HD.1716) 2524 0 R (HD.1717) 2525 0 R ] /Limits [ (HD.169) (HD.1717) ] >>
endobj
4561 0 obj
-<< /Names [ (HD.1833) 2650 0 R (HD.1834) 2651 0 R (HD.1835) 2652 0 R (HD.1836) 2653 0 R (HD.1837) 2654 0 R (HD.1838) 2655 0 R (HD.1839) 2656 0 R (HD.184) 839 0 R (HD.1840) 2657 0 R (HD.1841) 2658 0 R (HD.1842) 2659 0 R (HD.1843) 2660 0 R (HD.1844) 2661 0 R (HD.1845) 2662 0 R (HD.1846) 2663 0 R (HD.1847) 2664 0 R (HD.1848) 2665 0 R (HD.1849) 2666 0 R (HD.185) 840 0 R (HD.1850) 2667 0 R (HD.1851) 2668 0 R (HD.1852) 2669 0 R (HD.1853) 2670 0 R (HD.1854) 2671 0 R (HD.1855) 2672 0 R (HD.1856) 2673 0 R (HD.1857) 2680 0 R (HD.1858) 2681 0 R (HD.1859) 2682 0 R (HD.186) 841 0 R (HD.1860) 2683 0 R (HD.1861) 2685 0 R ] /Limits [ (HD.1833) (HD.1861) ] >>
+<< /Names [ (HD.1718) 2526 0 R (HD.1719) 2527 0 R (HD.172) 831 0 R (HD.1720) 2528 0 R (HD.1721) 2529 0 R (HD.1722) 2530 0 R (HD.1723) 2531 0 R (HD.1724) 2532 0 R (HD.1725) 2533 0 R (HD.1726) 2534 0 R (HD.1727) 2535 0 R (HD.1728) 2536 0 R (HD.1729) 2537 0 R (HD.173) 832 0 R (HD.1730) 2538 0 R (HD.1731) 2539 0 R (HD.1732) 2540 0 R (HD.1733) 2541 0 R (HD.1734) 2542 0 R (HD.1735) 2543 0 R (HD.1736) 2544 0 R (HD.1737) 2545 0 R (HD.1738) 2546 0 R (HD.1739) 2553 0 R (HD.174) 833 0 R (HD.1740) 2554 0 R (HD.1741) 2555 0 R (HD.1742) 2556 0 R (HD.1743) 2558 0 R (HD.1744) 2559 0 R (HD.1745) 2560 0 R (HD.1746) 2561 0 R ] /Limits [ (HD.1718) (HD.1746) ] >>
endobj
4562 0 obj
-<< /Names [ (HD.1862) 2686 0 R (HD.1863) 2687 0 R (HD.1864) 2688 0 R (HD.1865) 2689 0 R (HD.1866) 2690 0 R (HD.1867) 2691 0 R (HD.1868) 2692 0 R (HD.1869) 2693 0 R (HD.187) 842 0 R (HD.1870) 2694 0 R (HD.1871) 2695 0 R (HD.1872) 2696 0 R (HD.1873) 2697 0 R (HD.1874) 2698 0 R (HD.1875) 2699 0 R (HD.1876) 2700 0 R (HD.1877) 2701 0 R (HD.1878) 2702 0 R (HD.1879) 2703 0 R (HD.188) 843 0 R (HD.1880) 2704 0 R (HD.1881) 2705 0 R (HD.1882) 2706 0 R (HD.1883) 2707 0 R (HD.1884) 2708 0 R (HD.1885) 2709 0 R (HD.1886) 2717 0 R (HD.1887) 2718 0 R (HD.1888) 2719 0 R (HD.1889) 2720 0 R (HD.189) 844 0 R (HD.1890) 2721 0 R ] /Limits [ (HD.1862) (HD.1890) ] >>
+<< /Names [ (HD.1747) 2562 0 R (HD.1748) 2563 0 R (HD.1749) 2564 0 R (HD.175) 834 0 R (HD.1750) 2565 0 R (HD.1751) 2566 0 R (HD.1752) 2567 0 R (HD.1753) 2568 0 R (HD.1754) 2569 0 R (HD.1755) 2570 0 R (HD.1756) 2571 0 R (HD.1757) 2572 0 R (HD.1758) 2573 0 R (HD.1759) 2574 0 R (HD.176) 839 0 R (HD.1760) 2575 0 R (HD.1761) 2576 0 R (HD.1762) 2577 0 R (HD.1763) 2578 0 R (HD.1764) 2579 0 R (HD.1765) 2580 0 R (HD.1766) 2581 0 R (HD.1767) 2582 0 R (HD.1768) 2583 0 R (HD.1769) 2584 0 R (HD.177) 840 0 R (HD.1770) 2585 0 R (HD.1771) 2586 0 R (HD.1772) 2593 0 R (HD.1773) 2594 0 R (HD.1774) 2595 0 R (HD.1775) 2596 0 R ] /Limits [ (HD.1747) (HD.1775) ] >>
endobj
4563 0 obj
-<< /Names [ (HD.1891) 2722 0 R (HD.1892) 2723 0 R (HD.1893) 2724 0 R (HD.1894) 2725 0 R (HD.1895) 2726 0 R (HD.1896) 2727 0 R (HD.1897) 2728 0 R (HD.1898) 2729 0 R (HD.1899) 2730 0 R (HD.19) 654 0 R (HD.190) 845 0 R (HD.1900) 2731 0 R (HD.1901) 2732 0 R (HD.1902) 2733 0 R (HD.1903) 2734 0 R (HD.1904) 2735 0 R (HD.1905) 2736 0 R (HD.1906) 2737 0 R (HD.1907) 2738 0 R (HD.1908) 2739 0 R (HD.1909) 2740 0 R (HD.191) 846 0 R (HD.1910) 2741 0 R (HD.1911) 2742 0 R (HD.1912) 2743 0 R (HD.1913) 2744 0 R (HD.1914) 2745 0 R (HD.1915) 2746 0 R (HD.1916) 2747 0 R (HD.1917) 2748 0 R (HD.1918) 2749 0 R (HD.1919) 2750 0 R ] /Limits [ (HD.1891) (HD.1919) ] >>
+<< /Names [ (HD.1776) 2597 0 R (HD.1777) 2598 0 R (HD.1778) 2599 0 R (HD.1779) 2600 0 R (HD.178) 841 0 R (HD.1780) 2601 0 R (HD.1781) 2602 0 R (HD.1782) 2603 0 R (HD.1783) 2604 0 R (HD.1784) 2605 0 R (HD.1785) 2606 0 R (HD.1786) 2607 0 R (HD.1787) 2608 0 R (HD.1788) 2609 0 R (HD.1789) 2610 0 R (HD.179) 842 0 R (HD.1790) 2611 0 R (HD.1791) 2612 0 R (HD.1792) 2613 0 R (HD.1793) 2614 0 R (HD.1794) 2615 0 R (HD.1795) 2616 0 R (HD.1796) 2617 0 R (HD.1797) 2618 0 R (HD.1798) 2619 0 R (HD.1799) 2620 0 R (HD.18) 661 0 R (HD.180) 843 0 R (HD.1800) 2621 0 R (HD.1801) 2622 0 R (HD.1802) 2623 0 R (HD.1803) 2624 0 R ] /Limits [ (HD.1776) (HD.1803) ] >>
endobj
4564 0 obj
-<< /Names [ (HD.192) 847 0 R (HD.1920) 2752 0 R (HD.1921) 2753 0 R (HD.1922) 2754 0 R (HD.1923) 2755 0 R (HD.1924) 2756 0 R (HD.1925) 2757 0 R (HD.1926) 2758 0 R (HD.1927) 2759 0 R (HD.1928) 2760 0 R (HD.1929) 2761 0 R (HD.193) 848 0 R (HD.1930) 2763 0 R (HD.1931) 2765 0 R (HD.1932) 2771 0 R (HD.1933) 2772 0 R (HD.1934) 2773 0 R (HD.1935) 2774 0 R (HD.1936) 2775 0 R (HD.1937) 2776 0 R (HD.1938) 2777 0 R (HD.1939) 2778 0 R (HD.194) 849 0 R (HD.1940) 2779 0 R (HD.1941) 2780 0 R (HD.1942) 2781 0 R (HD.1943) 2782 0 R (HD.1944) 2783 0 R (HD.1945) 2784 0 R (HD.1946) 2785 0 R (HD.1947) 2786 0 R (HD.1948) 2787 0 R ] /Limits [ (HD.192) (HD.1948) ] >>
+<< /Names [ (HD.1804) 2625 0 R (HD.1805) 2626 0 R (HD.1806) 2627 0 R (HD.1807) 2628 0 R (HD.1808) 2629 0 R (HD.1809) 2630 0 R (HD.181) 844 0 R (HD.1810) 2631 0 R (HD.1811) 2632 0 R (HD.1812) 2633 0 R (HD.1813) 2634 0 R (HD.1814) 2635 0 R (HD.1815) 2636 0 R (HD.1816) 2637 0 R (HD.1817) 2638 0 R (HD.1818) 2639 0 R (HD.1819) 2640 0 R (HD.182) 845 0 R (HD.1820) 2641 0 R (HD.1821) 2642 0 R (HD.1822) 2643 0 R (HD.1823) 2644 0 R (HD.1824) 2645 0 R (HD.1825) 2646 0 R (HD.1826) 2647 0 R (HD.1827) 2648 0 R (HD.1828) 2654 0 R (HD.1829) 2655 0 R (HD.183) 846 0 R (HD.1830) 2656 0 R (HD.1831) 2657 0 R (HD.1832) 2658 0 R ] /Limits [ (HD.1804) (HD.1832) ] >>
endobj
4565 0 obj
-<< /Names [ (HD.1949) 2788 0 R (HD.195) 850 0 R (HD.1950) 2789 0 R (HD.1951) 2790 0 R (HD.1952) 2791 0 R (HD.1953) 2792 0 R (HD.1954) 2793 0 R (HD.1955) 2794 0 R (HD.1956) 2795 0 R (HD.1957) 2796 0 R (HD.1958) 2797 0 R (HD.1959) 2798 0 R (HD.196) 851 0 R (HD.1960) 2799 0 R (HD.1961) 2800 0 R (HD.1962) 2801 0 R (HD.1963) 2802 0 R (HD.1964) 2803 0 R (HD.1965) 2804 0 R (HD.1966) 2805 0 R (HD.1967) 2806 0 R (HD.1968) 2807 0 R (HD.1969) 2808 0 R (HD.197) 856 0 R (HD.1970) 2809 0 R (HD.1971) 2810 0 R (HD.1972) 2811 0 R (HD.1973) 2812 0 R (HD.1974) 2813 0 R (HD.1975) 2814 0 R (HD.1976) 2815 0 R (HD.1977) 2816 0 R ] /Limits [ (HD.1949) (HD.1977) ] >>
+<< /Names [ (HD.1833) 2659 0 R (HD.1834) 2660 0 R (HD.1835) 2661 0 R (HD.1836) 2662 0 R (HD.1837) 2663 0 R (HD.1838) 2664 0 R (HD.1839) 2665 0 R (HD.184) 847 0 R (HD.1840) 2666 0 R (HD.1841) 2667 0 R (HD.1842) 2668 0 R (HD.1843) 2669 0 R (HD.1844) 2670 0 R (HD.1845) 2671 0 R (HD.1846) 2672 0 R (HD.1847) 2673 0 R (HD.1848) 2674 0 R (HD.1849) 2675 0 R (HD.185) 848 0 R (HD.1850) 2676 0 R (HD.1851) 2683 0 R (HD.1852) 2684 0 R (HD.1853) 2685 0 R (HD.1854) 2686 0 R (HD.1855) 2687 0 R (HD.1856) 2688 0 R (HD.1857) 2689 0 R (HD.1858) 2690 0 R (HD.1859) 2691 0 R (HD.186) 849 0 R (HD.1860) 2692 0 R (HD.1861) 2693 0 R ] /Limits [ (HD.1833) (HD.1861) ] >>
endobj
4566 0 obj
-<< /Names [ (HD.1978) 2817 0 R (HD.1979) 2818 0 R (HD.198) 857 0 R (HD.1980) 2819 0 R (HD.1981) 2820 0 R (HD.1982) 2821 0 R (HD.1983) 2822 0 R (HD.1984) 2823 0 R (HD.1985) 2824 0 R (HD.1986) 2825 0 R (HD.1987) 2826 0 R (HD.1988) 2827 0 R (HD.1989) 2828 0 R (HD.199) 858 0 R (HD.1990) 2833 0 R (HD.1991) 2834 0 R (HD.1992) 2835 0 R (HD.1993) 2836 0 R (HD.1994) 2837 0 R (HD.1995) 2839 0 R (HD.1996) 2840 0 R (HD.1997) 2841 0 R (HD.1998) 2842 0 R (HD.1999) 2844 0 R (HD.2) 637 0 R (HD.20) 655 0 R (HD.200) 859 0 R (HD.2000) 2845 0 R (HD.2001) 2846 0 R (HD.2002) 2847 0 R (HD.2003) 2848 0 R (HD.2004) 2849 0 R ] /Limits [ (HD.1978) (HD.2004) ] >>
+<< /Names [ (HD.1862) 2694 0 R (HD.1863) 2695 0 R (HD.1864) 2696 0 R (HD.1865) 2697 0 R (HD.1866) 2698 0 R (HD.1867) 2699 0 R (HD.1868) 2700 0 R (HD.1869) 2701 0 R (HD.187) 850 0 R (HD.1870) 2702 0 R (HD.1871) 2703 0 R (HD.1872) 2704 0 R (HD.1873) 2705 0 R (HD.1874) 2706 0 R (HD.1875) 2707 0 R (HD.1876) 2708 0 R (HD.1877) 2709 0 R (HD.1878) 2710 0 R (HD.1879) 2711 0 R (HD.188) 851 0 R (HD.1880) 2712 0 R (HD.1881) 2713 0 R (HD.1882) 2714 0 R (HD.1883) 2715 0 R (HD.1884) 2716 0 R (HD.1885) 2724 0 R (HD.1886) 2725 0 R (HD.1887) 2726 0 R (HD.1888) 2727 0 R (HD.1889) 2728 0 R (HD.189) 852 0 R (HD.1890) 2729 0 R ] /Limits [ (HD.1862) (HD.1890) ] >>
endobj
4567 0 obj
-<< /Names [ (HD.2005) 2850 0 R (HD.2006) 2851 0 R (HD.2007) 2852 0 R (HD.2008) 2853 0 R (HD.2009) 2854 0 R (HD.201) 860 0 R (HD.2010) 2855 0 R (HD.2011) 2856 0 R (HD.2012) 2857 0 R (HD.2013) 2858 0 R (HD.2014) 2859 0 R (HD.2015) 2860 0 R (HD.2016) 2861 0 R (HD.2017) 2862 0 R (HD.2018) 2863 0 R (HD.2019) 2864 0 R (HD.202) 861 0 R (HD.2020) 2865 0 R (HD.2021) 2866 0 R (HD.2022) 2867 0 R (HD.2023) 2868 0 R (HD.2024) 2869 0 R (HD.2025) 2870 0 R (HD.2026) 2871 0 R (HD.2027) 2872 0 R (HD.2028) 2873 0 R (HD.2029) 2879 0 R (HD.203) 862 0 R (HD.2030) 2880 0 R (HD.2031) 2881 0 R (HD.2032) 2882 0 R (HD.2033) 2883 0 R ] /Limits [ (HD.2005) (HD.2033) ] >>
+<< /Names [ (HD.1891) 2730 0 R (HD.1892) 2731 0 R (HD.1893) 2732 0 R (HD.1894) 2733 0 R (HD.1895) 2734 0 R (HD.1896) 2735 0 R (HD.1897) 2736 0 R (HD.1898) 2737 0 R (HD.1899) 2738 0 R (HD.19) 662 0 R (HD.190) 853 0 R (HD.1900) 2739 0 R (HD.1901) 2740 0 R (HD.1902) 2741 0 R (HD.1903) 2742 0 R (HD.1904) 2743 0 R (HD.1905) 2744 0 R (HD.1906) 2745 0 R (HD.1907) 2746 0 R (HD.1908) 2747 0 R (HD.1909) 2748 0 R (HD.191) 854 0 R (HD.1910) 2750 0 R (HD.1911) 2751 0 R (HD.1912) 2752 0 R (HD.1913) 2753 0 R (HD.1914) 2754 0 R (HD.1915) 2755 0 R (HD.1916) 2756 0 R (HD.1917) 2757 0 R (HD.1918) 2758 0 R (HD.1919) 2759 0 R ] /Limits [ (HD.1891) (HD.1919) ] >>
endobj
4568 0 obj
-<< /Names [ (HD.2034) 2884 0 R (HD.2035) 2885 0 R (HD.2036) 2886 0 R (HD.2037) 2888 0 R (HD.2038) 2890 0 R (HD.2039) 2891 0 R (HD.204) 863 0 R (HD.2040) 2892 0 R (HD.2041) 2893 0 R (HD.2042) 2894 0 R (HD.2043) 2895 0 R (HD.2044) 2896 0 R (HD.2045) 2897 0 R (HD.2046) 2898 0 R (HD.2047) 2899 0 R (HD.2048) 2900 0 R (HD.2049) 2901 0 R (HD.205) 864 0 R (HD.2050) 2902 0 R (HD.2051) 2903 0 R (HD.2052) 2904 0 R (HD.2053) 2905 0 R (HD.2054) 2906 0 R (HD.2055) 2907 0 R (HD.2056) 2908 0 R (HD.2057) 2909 0 R (HD.2058) 2910 0 R (HD.2059) 2911 0 R (HD.206) 865 0 R (HD.2060) 2912 0 R (HD.2061) 2913 0 R (HD.2062) 2914 0 R ] /Limits [ (HD.2034) (HD.2062) ] >>
+<< /Names [ (HD.192) 855 0 R (HD.1920) 2761 0 R (HD.1921) 2763 0 R (HD.1922) 2765 0 R (HD.1923) 2766 0 R (HD.1924) 2767 0 R (HD.1925) 2768 0 R (HD.1926) 2769 0 R (HD.1927) 2770 0 R (HD.1928) 2771 0 R (HD.1929) 2772 0 R (HD.193) 856 0 R (HD.1930) 2773 0 R (HD.1931) 2778 0 R (HD.1932) 2779 0 R (HD.1933) 2780 0 R (HD.1934) 2781 0 R (HD.1935) 2782 0 R (HD.1936) 2783 0 R (HD.1937) 2784 0 R (HD.1938) 2785 0 R (HD.1939) 2786 0 R (HD.194) 857 0 R (HD.1940) 2787 0 R (HD.1941) 2788 0 R (HD.1942) 2789 0 R (HD.1943) 2790 0 R (HD.1944) 2791 0 R (HD.1945) 2792 0 R (HD.1946) 2793 0 R (HD.1947) 2794 0 R (HD.1948) 2795 0 R ] /Limits [ (HD.192) (HD.1948) ] >>
endobj
4569 0 obj
-<< /Names [ (HD.2063) 2915 0 R (HD.2064) 2916 0 R (HD.2065) 2917 0 R (HD.2066) 2918 0 R (HD.2067) 2919 0 R (HD.2068) 2926 0 R (HD.2069) 2927 0 R (HD.207) 866 0 R (HD.2070) 2928 0 R (HD.2071) 2929 0 R (HD.2072) 2930 0 R (HD.2073) 2931 0 R (HD.2074) 2932 0 R (HD.2075) 2933 0 R (HD.2076) 2934 0 R (HD.2077) 2935 0 R (HD.2078) 2936 0 R (HD.2079) 2937 0 R (HD.208) 867 0 R (HD.2080) 2938 0 R (HD.2081) 2939 0 R (HD.2082) 2940 0 R (HD.2083) 2941 0 R (HD.2084) 2942 0 R (HD.2085) 2943 0 R (HD.2086) 2944 0 R (HD.2087) 2945 0 R (HD.2088) 2946 0 R (HD.2089) 2947 0 R (HD.209) 868 0 R (HD.2090) 2948 0 R (HD.2091) 2949 0 R ] /Limits [ (HD.2063) (HD.2091) ] >>
+<< /Names [ (HD.1949) 2796 0 R (HD.195) 858 0 R (HD.1950) 2797 0 R (HD.1951) 2798 0 R (HD.1952) 2799 0 R (HD.1953) 2800 0 R (HD.1954) 2801 0 R (HD.1955) 2802 0 R (HD.1956) 2803 0 R (HD.1957) 2804 0 R (HD.1958) 2805 0 R (HD.1959) 2806 0 R (HD.196) 859 0 R (HD.1960) 2807 0 R (HD.1961) 2808 0 R (HD.1962) 2809 0 R (HD.1963) 2810 0 R (HD.1964) 2811 0 R (HD.1965) 2812 0 R (HD.1966) 2813 0 R (HD.1967) 2814 0 R (HD.1968) 2815 0 R (HD.1969) 2816 0 R (HD.197) 860 0 R (HD.1970) 2817 0 R (HD.1971) 2818 0 R (HD.1972) 2819 0 R (HD.1973) 2820 0 R (HD.1974) 2821 0 R (HD.1975) 2822 0 R (HD.1976) 2823 0 R (HD.1977) 2824 0 R ] /Limits [ (HD.1949) (HD.1977) ] >>
endobj
4570 0 obj
-<< /Names [ (HD.2092) 2950 0 R (HD.2093) 2951 0 R (HD.2094) 2952 0 R (HD.2095) 2953 0 R (HD.2096) 2954 0 R (HD.2097) 2955 0 R (HD.2098) 2956 0 R (HD.2099) 2957 0 R (HD.21) 656 0 R (HD.210) 869 0 R (HD.2100) 2958 0 R (HD.2101) 2959 0 R (HD.2102) 2960 0 R (HD.2103) 2961 0 R (HD.2104) 2962 0 R (HD.2105) 2963 0 R (HD.2106) 2964 0 R (HD.2107) 2965 0 R (HD.2108) 2966 0 R (HD.2109) 2967 0 R (HD.211) 870 0 R (HD.2110) 2968 0 R (HD.2111) 2969 0 R (HD.2112) 2970 0 R (HD.2113) 2971 0 R (HD.2114) 2972 0 R (HD.2115) 2973 0 R (HD.2116) 2974 0 R (HD.2117) 2975 0 R (HD.2118) 2976 0 R (HD.2119) 2977 0 R (HD.212) 871 0 R ] /Limits [ (HD.2092) (HD.212) ] >>
+<< /Names [ (HD.1978) 2825 0 R (HD.1979) 2826 0 R (HD.198) 861 0 R (HD.1980) 2827 0 R (HD.1981) 2828 0 R (HD.1982) 2829 0 R (HD.1983) 2830 0 R (HD.1984) 2831 0 R (HD.1985) 2837 0 R (HD.1986) 2838 0 R (HD.1987) 2839 0 R (HD.1988) 2840 0 R (HD.1989) 2842 0 R (HD.199) 862 0 R (HD.1990) 2843 0 R (HD.1991) 2844 0 R (HD.1992) 2845 0 R (HD.1993) 2846 0 R (HD.1994) 2847 0 R (HD.1995) 2848 0 R (HD.1996) 2849 0 R (HD.1997) 2850 0 R (HD.1998) 2851 0 R (HD.1999) 2852 0 R (HD.2) 645 0 R (HD.20) 663 0 R (HD.200) 867 0 R (HD.2000) 2853 0 R (HD.2001) 2854 0 R (HD.2002) 2855 0 R (HD.2003) 2856 0 R (HD.2004) 2857 0 R ] /Limits [ (HD.1978) (HD.2004) ] >>
endobj
4571 0 obj
-<< /Names [ (HD.2120) 2982 0 R (HD.2121) 2983 0 R (HD.2122) 2984 0 R (HD.2123) 2985 0 R (HD.2124) 2986 0 R (HD.2125) 2987 0 R (HD.2126) 2988 0 R (HD.2127) 2989 0 R (HD.2128) 2990 0 R (HD.2129) 2991 0 R (HD.213) 872 0 R (HD.2130) 2992 0 R (HD.2131) 2993 0 R (HD.2132) 2994 0 R (HD.2133) 2995 0 R (HD.2134) 2996 0 R (HD.2135) 2997 0 R (HD.2136) 2998 0 R (HD.2137) 2999 0 R (HD.2138) 3000 0 R (HD.2139) 3001 0 R (HD.214) 873 0 R (HD.2140) 3002 0 R (HD.2141) 3003 0 R (HD.2142) 3004 0 R (HD.2143) 3005 0 R (HD.2144) 3006 0 R (HD.2145) 3007 0 R (HD.2146) 3008 0 R (HD.2147) 3009 0 R (HD.2148) 3010 0 R (HD.2149) 3011 0 R ] /Limits [ (HD.2120) (HD.2149) ] >>
+<< /Names [ (HD.2005) 2858 0 R (HD.2006) 2859 0 R (HD.2007) 2860 0 R (HD.2008) 2861 0 R (HD.2009) 2862 0 R (HD.201) 868 0 R (HD.2010) 2863 0 R (HD.2011) 2864 0 R (HD.2012) 2865 0 R (HD.2013) 2866 0 R (HD.2014) 2867 0 R (HD.2015) 2868 0 R (HD.2016) 2869 0 R (HD.2017) 2870 0 R (HD.2018) 2871 0 R (HD.2019) 2872 0 R (HD.202) 869 0 R (HD.2020) 2873 0 R (HD.2021) 2874 0 R (HD.2022) 2875 0 R (HD.2023) 2876 0 R (HD.2024) 2882 0 R (HD.2025) 2883 0 R (HD.2026) 2884 0 R (HD.2027) 2886 0 R (HD.2028) 2888 0 R (HD.2029) 2889 0 R (HD.203) 870 0 R (HD.2030) 2890 0 R (HD.2031) 2891 0 R (HD.2032) 2892 0 R (HD.2033) 2893 0 R ] /Limits [ (HD.2005) (HD.2033) ] >>
endobj
4572 0 obj
-<< /Names [ (HD.215) 874 0 R (HD.2150) 3012 0 R (HD.2151) 3013 0 R (HD.2152) 3014 0 R (HD.2153) 3015 0 R (HD.2154) 3016 0 R (HD.2155) 3017 0 R (HD.2156) 3018 0 R (HD.2157) 3019 0 R (HD.2158) 3020 0 R (HD.2159) 3021 0 R (HD.216) 875 0 R (HD.2160) 3022 0 R (HD.2161) 3023 0 R (HD.2162) 3025 0 R (HD.2163) 3026 0 R (HD.2164) 3028 0 R (HD.2165) 3029 0 R (HD.2166) 3030 0 R (HD.2167) 3031 0 R (HD.2168) 3032 0 R (HD.2169) 3037 0 R (HD.217) 876 0 R (HD.2170) 3039 0 R (HD.2171) 3040 0 R (HD.2172) 3041 0 R (HD.2173) 3042 0 R (HD.2174) 3043 0 R (HD.2175) 3044 0 R (HD.2176) 3045 0 R (HD.2177) 3046 0 R (HD.2178) 3047 0 R ] /Limits [ (HD.215) (HD.2178) ] >>
+<< /Names [ (HD.2034) 2894 0 R (HD.2035) 2895 0 R (HD.2036) 2896 0 R (HD.2037) 2897 0 R (HD.2038) 2898 0 R (HD.2039) 2899 0 R (HD.204) 871 0 R (HD.2040) 2900 0 R (HD.2041) 2901 0 R (HD.2042) 2902 0 R (HD.2043) 2903 0 R (HD.2044) 2904 0 R (HD.2045) 2905 0 R (HD.2046) 2906 0 R (HD.2047) 2907 0 R (HD.2048) 2908 0 R (HD.2049) 2909 0 R (HD.205) 872 0 R (HD.2050) 2910 0 R (HD.2051) 2911 0 R (HD.2052) 2912 0 R (HD.2053) 2913 0 R (HD.2054) 2914 0 R (HD.2055) 2915 0 R (HD.2056) 2916 0 R (HD.2057) 2917 0 R (HD.2058) 2918 0 R (HD.2059) 2919 0 R (HD.206) 873 0 R (HD.2060) 2920 0 R (HD.2061) 2921 0 R (HD.2062) 2922 0 R ] /Limits [ (HD.2034) (HD.2062) ] >>
endobj
4573 0 obj
-<< /Names [ (HD.2179) 3048 0 R (HD.218) 877 0 R (HD.2180) 3049 0 R (HD.2181) 3050 0 R (HD.2182) 3051 0 R (HD.2183) 3052 0 R (HD.2184) 3053 0 R (HD.2185) 3054 0 R (HD.2186) 3055 0 R (HD.2187) 3056 0 R (HD.2188) 3057 0 R (HD.2189) 3058 0 R (HD.219) 878 0 R (HD.2190) 3059 0 R (HD.2191) 3060 0 R (HD.2192) 3061 0 R (HD.2193) 3062 0 R (HD.2194) 3063 0 R (HD.2195) 3064 0 R (HD.2196) 3065 0 R (HD.2197) 3066 0 R (HD.2198) 3067 0 R (HD.2199) 3069 0 R (HD.22) 657 0 R (HD.220) 879 0 R (HD.2200) 3070 0 R (HD.2201) 3071 0 R (HD.2202) 3072 0 R (HD.2203) 3073 0 R (HD.2204) 3074 0 R (HD.2205) 3075 0 R (HD.2206) 3081 0 R ] /Limits [ (HD.2179) (HD.2206) ] >>
+<< /Names [ (HD.2063) 2923 0 R (HD.2064) 2924 0 R (HD.2065) 2931 0 R (HD.2066) 2932 0 R (HD.2067) 2933 0 R (HD.2068) 2934 0 R (HD.2069) 2935 0 R (HD.207) 874 0 R (HD.2070) 2936 0 R (HD.2071) 2937 0 R (HD.2072) 2938 0 R (HD.2073) 2939 0 R (HD.2074) 2940 0 R (HD.2075) 2941 0 R (HD.2076) 2942 0 R (HD.2077) 2943 0 R (HD.2078) 2944 0 R (HD.2079) 2945 0 R (HD.208) 875 0 R (HD.2080) 2946 0 R (HD.2081) 2947 0 R (HD.2082) 2948 0 R (HD.2083) 2949 0 R (HD.2084) 2950 0 R (HD.2085) 2951 0 R (HD.2086) 2952 0 R (HD.2087) 2953 0 R (HD.2088) 2954 0 R (HD.2089) 2955 0 R (HD.209) 876 0 R (HD.2090) 2956 0 R (HD.2091) 2957 0 R ] /Limits [ (HD.2063) (HD.2091) ] >>
endobj
4574 0 obj
-<< /Names [ (HD.2207) 3082 0 R (HD.2208) 3083 0 R (HD.2209) 3084 0 R (HD.221) 880 0 R (HD.2210) 3085 0 R (HD.2211) 3086 0 R (HD.2212) 3088 0 R (HD.2213) 3089 0 R (HD.2214) 3090 0 R (HD.2215) 3091 0 R (HD.2216) 3092 0 R (HD.2217) 3093 0 R (HD.2218) 3094 0 R (HD.2219) 3095 0 R (HD.222) 881 0 R (HD.2220) 3096 0 R (HD.2221) 3097 0 R (HD.2222) 3098 0 R (HD.2223) 3099 0 R (HD.2224) 3100 0 R (HD.2225) 3101 0 R (HD.2226) 3102 0 R (HD.2227) 3103 0 R (HD.2228) 3104 0 R (HD.2229) 3105 0 R (HD.223) 882 0 R (HD.2230) 3106 0 R (HD.2231) 3107 0 R (HD.2232) 3108 0 R (HD.2233) 3109 0 R (HD.2234) 3110 0 R (HD.2235) 3111 0 R ] /Limits [ (HD.2207) (HD.2235) ] >>
+<< /Names [ (HD.2092) 2958 0 R (HD.2093) 2959 0 R (HD.2094) 2960 0 R (HD.2095) 2961 0 R (HD.2096) 2962 0 R (HD.2097) 2963 0 R (HD.2098) 2964 0 R (HD.2099) 2965 0 R (HD.21) 664 0 R (HD.210) 877 0 R (HD.2100) 2966 0 R (HD.2101) 2967 0 R (HD.2102) 2968 0 R (HD.2103) 2969 0 R (HD.2104) 2970 0 R (HD.2105) 2971 0 R (HD.2106) 2972 0 R (HD.2107) 2973 0 R (HD.2108) 2974 0 R (HD.2109) 2975 0 R (HD.211) 878 0 R (HD.2110) 2976 0 R (HD.2111) 2977 0 R (HD.2112) 2978 0 R (HD.2113) 2979 0 R (HD.2114) 2980 0 R (HD.2115) 2985 0 R (HD.2116) 2986 0 R (HD.2117) 2987 0 R (HD.2118) 2988 0 R (HD.2119) 2989 0 R (HD.212) 879 0 R ] /Limits [ (HD.2092) (HD.212) ] >>
endobj
4575 0 obj
-<< /Names [ (HD.2236) 3112 0 R (HD.2237) 3113 0 R (HD.2238) 3114 0 R (HD.2239) 3115 0 R (HD.224) 883 0 R (HD.2240) 3116 0 R (HD.2241) 3118 0 R (HD.2242) 3119 0 R (HD.2243) 3120 0 R (HD.2244) 3121 0 R (HD.2245) 3122 0 R (HD.2246) 3123 0 R (HD.2247) 3124 0 R (HD.2248) 3125 0 R (HD.2249) 3126 0 R (HD.225) 884 0 R (HD.2250) 3127 0 R (HD.2251) 3128 0 R (HD.2252) 3129 0 R (HD.2253) 3130 0 R (HD.2254) 3131 0 R (HD.2255) 3132 0 R (HD.2256) 3133 0 R (HD.2257) 3134 0 R (HD.2258) 3140 0 R (HD.2259) 3141 0 R (HD.226) 885 0 R (HD.2260) 3142 0 R (HD.2261) 3143 0 R (HD.2262) 3144 0 R (HD.2263) 3145 0 R (HD.2264) 3146 0 R ] /Limits [ (HD.2236) (HD.2264) ] >>
+<< /Names [ (HD.2120) 2990 0 R (HD.2121) 2991 0 R (HD.2122) 2992 0 R (HD.2123) 2993 0 R (HD.2124) 2994 0 R (HD.2125) 2995 0 R (HD.2126) 2996 0 R (HD.2127) 2997 0 R (HD.2128) 2998 0 R (HD.2129) 2999 0 R (HD.213) 880 0 R (HD.2130) 3000 0 R (HD.2131) 3001 0 R (HD.2132) 3002 0 R (HD.2133) 3003 0 R (HD.2134) 3004 0 R (HD.2135) 3005 0 R (HD.2136) 3006 0 R (HD.2137) 3007 0 R (HD.2138) 3008 0 R (HD.2139) 3009 0 R (HD.214) 881 0 R (HD.2140) 3010 0 R (HD.2141) 3011 0 R (HD.2142) 3012 0 R (HD.2143) 3013 0 R (HD.2144) 3014 0 R (HD.2145) 3015 0 R (HD.2146) 3016 0 R (HD.2147) 3017 0 R (HD.2148) 3018 0 R (HD.2149) 3019 0 R ] /Limits [ (HD.2120) (HD.2149) ] >>
endobj
4576 0 obj
-<< /Names [ (HD.2265) 3147 0 R (HD.2266) 3148 0 R (HD.2267) 3149 0 R (HD.2268) 3150 0 R (HD.2269) 3151 0 R (HD.227) 886 0 R (HD.2270) 3152 0 R (HD.2271) 3153 0 R (HD.2272) 3154 0 R (HD.2273) 3155 0 R (HD.2274) 3156 0 R (HD.2275) 3157 0 R (HD.2276) 3158 0 R (HD.2277) 3159 0 R (HD.2278) 3160 0 R (HD.2279) 3161 0 R (HD.228) 887 0 R (HD.2280) 3162 0 R (HD.2281) 3163 0 R (HD.2282) 3165 0 R (HD.2283) 3167 0 R (HD.2284) 3168 0 R (HD.2285) 3169 0 R (HD.2286) 3170 0 R (HD.2287) 3171 0 R (HD.2288) 3172 0 R (HD.2289) 3173 0 R (HD.229) 888 0 R (HD.2290) 3174 0 R (HD.2291) 3175 0 R (HD.2292) 3176 0 R (HD.2293) 3177 0 R ] /Limits [ (HD.2265) (HD.2293) ] >>
+<< /Names [ (HD.215) 882 0 R (HD.2150) 3020 0 R (HD.2151) 3021 0 R (HD.2152) 3022 0 R (HD.2153) 3023 0 R (HD.2154) 3025 0 R (HD.2155) 3026 0 R (HD.2156) 3028 0 R (HD.2157) 3029 0 R (HD.2158) 3030 0 R (HD.2159) 3031 0 R (HD.216) 883 0 R (HD.2160) 3032 0 R (HD.2161) 3033 0 R (HD.2162) 3040 0 R (HD.2163) 3041 0 R (HD.2164) 3042 0 R (HD.2165) 3043 0 R (HD.2166) 3044 0 R (HD.2167) 3045 0 R (HD.2168) 3046 0 R (HD.2169) 3047 0 R (HD.217) 884 0 R (HD.2170) 3048 0 R (HD.2171) 3049 0 R (HD.2172) 3050 0 R (HD.2173) 3051 0 R (HD.2174) 3052 0 R (HD.2175) 3053 0 R (HD.2176) 3054 0 R (HD.2177) 3055 0 R (HD.2178) 3056 0 R ] /Limits [ (HD.215) (HD.2178) ] >>
endobj
4577 0 obj
-<< /Names [ (HD.2294) 3178 0 R (HD.2295) 3179 0 R (HD.2296) 3180 0 R (HD.2297) 3181 0 R (HD.2298) 3182 0 R (HD.2299) 3183 0 R (HD.23) 658 0 R (HD.230) 889 0 R (HD.2300) 3184 0 R (HD.2301) 3185 0 R (HD.2302) 3186 0 R (HD.2303) 3187 0 R (HD.2304) 3188 0 R (HD.2305) 3189 0 R (HD.2306) 3190 0 R (HD.2307) 3191 0 R (HD.2308) 3192 0 R (HD.2309) 3193 0 R (HD.231) 890 0 R (HD.2310) 3194 0 R (HD.2311) 3195 0 R (HD.2312) 3200 0 R (HD.2313) 3201 0 R (HD.2314) 3202 0 R (HD.2315) 3203 0 R (HD.2316) 3204 0 R (HD.2317) 3205 0 R (HD.2318) 3206 0 R (HD.2319) 3207 0 R (HD.232) 891 0 R (HD.2320) 3208 0 R (HD.2321) 3209 0 R ] /Limits [ (HD.2294) (HD.2321) ] >>
+<< /Names [ (HD.2179) 3057 0 R (HD.218) 885 0 R (HD.2180) 3058 0 R (HD.2181) 3059 0 R (HD.2182) 3060 0 R (HD.2183) 3061 0 R (HD.2184) 3062 0 R (HD.2185) 3063 0 R (HD.2186) 3064 0 R (HD.2187) 3065 0 R (HD.2188) 3066 0 R (HD.2189) 3067 0 R (HD.219) 886 0 R (HD.2190) 3068 0 R (HD.2191) 3070 0 R (HD.2192) 3071 0 R (HD.2193) 3072 0 R (HD.2194) 3073 0 R (HD.2195) 3074 0 R (HD.2196) 3075 0 R (HD.2197) 3076 0 R (HD.2198) 3077 0 R (HD.2199) 3078 0 R (HD.22) 665 0 R (HD.220) 887 0 R (HD.2200) 3079 0 R (HD.2201) 3080 0 R (HD.2202) 3085 0 R (HD.2203) 3086 0 R (HD.2204) 3088 0 R (HD.2205) 3089 0 R (HD.2206) 3090 0 R ] /Limits [ (HD.2179) (HD.2206) ] >>
endobj
4578 0 obj
-<< /Names [ (HD.2322) 3210 0 R (HD.2323) 3211 0 R (HD.2324) 3212 0 R (HD.2325) 3213 0 R (HD.2326) 3214 0 R (HD.2327) 3215 0 R (HD.2328) 3216 0 R (HD.2329) 3217 0 R (HD.233) 892 0 R (HD.2330) 3218 0 R (HD.2331) 3219 0 R (HD.2332) 3220 0 R (HD.2333) 3221 0 R (HD.2334) 3222 0 R (HD.2335) 3223 0 R (HD.2336) 3224 0 R (HD.2337) 3225 0 R (HD.2338) 3226 0 R (HD.2339) 3227 0 R (HD.234) 893 0 R (HD.2340) 3228 0 R (HD.2341) 3229 0 R (HD.2342) 3230 0 R (HD.2343) 3231 0 R (HD.2344) 3232 0 R (HD.2345) 3233 0 R (HD.2346) 3234 0 R (HD.2347) 3235 0 R (HD.2348) 3236 0 R (HD.2349) 3237 0 R (HD.235) 898 0 R (HD.2350) 3238 0 R ] /Limits [ (HD.2322) (HD.2350) ] >>
+<< /Names [ (HD.2207) 3091 0 R (HD.2208) 3092 0 R (HD.2209) 3093 0 R (HD.221) 888 0 R (HD.2210) 3094 0 R (HD.2211) 3095 0 R (HD.2212) 3096 0 R (HD.2213) 3097 0 R (HD.2214) 3098 0 R (HD.2215) 3099 0 R (HD.2216) 3100 0 R (HD.2217) 3101 0 R (HD.2218) 3102 0 R (HD.2219) 3103 0 R (HD.222) 889 0 R (HD.2220) 3104 0 R (HD.2221) 3105 0 R (HD.2222) 3106 0 R (HD.2223) 3107 0 R (HD.2224) 3108 0 R (HD.2225) 3109 0 R (HD.2226) 3110 0 R (HD.2227) 3111 0 R (HD.2228) 3112 0 R (HD.2229) 3113 0 R (HD.223) 890 0 R (HD.2230) 3114 0 R (HD.2231) 3115 0 R (HD.2232) 3116 0 R (HD.2233) 3118 0 R (HD.2234) 3119 0 R (HD.2235) 3120 0 R ] /Limits [ (HD.2207) (HD.2235) ] >>
endobj
4579 0 obj
-<< /Names [ (HD.2351) 3239 0 R (HD.2352) 3240 0 R (HD.2353) 3241 0 R (HD.2354) 3242 0 R (HD.2355) 3243 0 R (HD.2356) 3244 0 R (HD.2357) 3245 0 R (HD.2358) 3246 0 R (HD.2359) 3253 0 R (HD.236) 899 0 R (HD.2360) 3254 0 R (HD.2361) 3256 0 R (HD.2362) 3257 0 R (HD.2363) 3258 0 R (HD.2364) 3259 0 R (HD.2365) 3260 0 R (HD.2366) 3261 0 R (HD.2367) 3262 0 R (HD.2368) 3263 0 R (HD.2369) 3264 0 R (HD.237) 900 0 R (HD.2370) 3265 0 R (HD.2371) 3266 0 R (HD.2372) 3268 0 R (HD.2373) 3269 0 R (HD.2374) 3270 0 R (HD.2375) 3271 0 R (HD.2376) 3273 0 R (HD.2377) 3275 0 R (HD.2378) 3276 0 R (HD.2379) 3277 0 R (HD.238) 901 0 R ] /Limits [ (HD.2351) (HD.238) ] >>
+<< /Names [ (HD.2236) 3121 0 R (HD.2237) 3122 0 R (HD.2238) 3123 0 R (HD.2239) 3124 0 R (HD.224) 891 0 R (HD.2240) 3125 0 R (HD.2241) 3126 0 R (HD.2242) 3127 0 R (HD.2243) 3128 0 R (HD.2244) 3129 0 R (HD.2245) 3130 0 R (HD.2246) 3131 0 R (HD.2247) 3132 0 R (HD.2248) 3133 0 R (HD.2249) 3134 0 R (HD.225) 892 0 R (HD.2250) 3135 0 R (HD.2251) 3136 0 R (HD.2252) 3137 0 R (HD.2253) 3138 0 R (HD.2254) 3144 0 R (HD.2255) 3145 0 R (HD.2256) 3146 0 R (HD.2257) 3147 0 R (HD.2258) 3148 0 R (HD.2259) 3149 0 R (HD.226) 893 0 R (HD.2260) 3150 0 R (HD.2261) 3151 0 R (HD.2262) 3152 0 R (HD.2263) 3153 0 R (HD.2264) 3154 0 R ] /Limits [ (HD.2236) (HD.2264) ] >>
endobj
4580 0 obj
-<< /Names [ (HD.2380) 3278 0 R (HD.2381) 3279 0 R (HD.2382) 3280 0 R (HD.2383) 3281 0 R (HD.2384) 3282 0 R (HD.2385) 3283 0 R (HD.2386) 3284 0 R (HD.2387) 3285 0 R (HD.2388) 3292 0 R (HD.2389) 3293 0 R (HD.239) 902 0 R (HD.2390) 3294 0 R (HD.2391) 3295 0 R (HD.2392) 3296 0 R (HD.2393) 3297 0 R (HD.2394) 3298 0 R (HD.2395) 3299 0 R (HD.2396) 3300 0 R (HD.2397) 3301 0 R (HD.2398) 3302 0 R (HD.2399) 3303 0 R (HD.24) 659 0 R (HD.240) 903 0 R (HD.2400) 3304 0 R (HD.2401) 3305 0 R (HD.2402) 3306 0 R (HD.2403) 3307 0 R (HD.2404) 3308 0 R (HD.2405) 3309 0 R (HD.2406) 3310 0 R (HD.2407) 3311 0 R (HD.2408) 3312 0 R ] /Limits [ (HD.2380) (HD.2408) ] >>
+<< /Names [ (HD.2265) 3155 0 R (HD.2266) 3156 0 R (HD.2267) 3157 0 R (HD.2268) 3158 0 R (HD.2269) 3159 0 R (HD.227) 894 0 R (HD.2270) 3160 0 R (HD.2271) 3161 0 R (HD.2272) 3162 0 R (HD.2273) 3163 0 R (HD.2274) 3165 0 R (HD.2275) 3167 0 R (HD.2276) 3168 0 R (HD.2277) 3169 0 R (HD.2278) 3170 0 R (HD.2279) 3171 0 R (HD.228) 895 0 R (HD.2280) 3172 0 R (HD.2281) 3173 0 R (HD.2282) 3174 0 R (HD.2283) 3175 0 R (HD.2284) 3176 0 R (HD.2285) 3177 0 R (HD.2286) 3178 0 R (HD.2287) 3179 0 R (HD.2288) 3180 0 R (HD.2289) 3181 0 R (HD.229) 896 0 R (HD.2290) 3182 0 R (HD.2291) 3183 0 R (HD.2292) 3184 0 R (HD.2293) 3185 0 R ] /Limits [ (HD.2265) (HD.2293) ] >>
endobj
4581 0 obj
-<< /Names [ (HD.2409) 3313 0 R (HD.241) 904 0 R (HD.2410) 3314 0 R (HD.2411) 3315 0 R (HD.2412) 3316 0 R (HD.2413) 3317 0 R (HD.2414) 3318 0 R (HD.2415) 3319 0 R (HD.2416) 3320 0 R (HD.2417) 3321 0 R (HD.2418) 3322 0 R (HD.2419) 3323 0 R (HD.242) 905 0 R (HD.2420) 3324 0 R (HD.2421) 3325 0 R (HD.2422) 3326 0 R (HD.2423) 3327 0 R (HD.2424) 3328 0 R (HD.2425) 3329 0 R (HD.2426) 3330 0 R (HD.2427) 3331 0 R (HD.2428) 3332 0 R (HD.2429) 3333 0 R (HD.243) 906 0 R (HD.2430) 3334 0 R (HD.2431) 3335 0 R (HD.2432) 3336 0 R (HD.2433) 3337 0 R (HD.2434) 3344 0 R (HD.2435) 3345 0 R (HD.2436) 3346 0 R (HD.2437) 3347 0 R ] /Limits [ (HD.2409) (HD.2437) ] >>
+<< /Names [ (HD.2294) 3186 0 R (HD.2295) 3187 0 R (HD.2296) 3188 0 R (HD.2297) 3189 0 R (HD.2298) 3190 0 R (HD.2299) 3191 0 R (HD.23) 666 0 R (HD.230) 897 0 R (HD.2300) 3192 0 R (HD.2301) 3193 0 R (HD.2302) 3194 0 R (HD.2303) 3199 0 R (HD.2304) 3200 0 R (HD.2305) 3201 0 R (HD.2306) 3202 0 R (HD.2307) 3203 0 R (HD.2308) 3204 0 R (HD.2309) 3205 0 R (HD.231) 898 0 R (HD.2310) 3206 0 R (HD.2311) 3207 0 R (HD.2312) 3208 0 R (HD.2313) 3209 0 R (HD.2314) 3210 0 R (HD.2315) 3211 0 R (HD.2316) 3212 0 R (HD.2317) 3213 0 R (HD.2318) 3214 0 R (HD.2319) 3215 0 R (HD.232) 899 0 R (HD.2320) 3216 0 R (HD.2321) 3217 0 R ] /Limits [ (HD.2294) (HD.2321) ] >>
endobj
4582 0 obj
-<< /Names [ (HD.2438) 3348 0 R (HD.2439) 3349 0 R (HD.244) 907 0 R (HD.2440) 3350 0 R (HD.2441) 3351 0 R (HD.2442) 3352 0 R (HD.2443) 3353 0 R (HD.2444) 3354 0 R (HD.2445) 3355 0 R (HD.2446) 3356 0 R (HD.2447) 3357 0 R (HD.2448) 3358 0 R (HD.2449) 3359 0 R (HD.245) 908 0 R (HD.2450) 3360 0 R (HD.2451) 3361 0 R (HD.2452) 3362 0 R (HD.2453) 3363 0 R (HD.2454) 3364 0 R (HD.2455) 3365 0 R (HD.2456) 3366 0 R (HD.2457) 3367 0 R (HD.2458) 3368 0 R (HD.2459) 3369 0 R (HD.246) 909 0 R (HD.2460) 3370 0 R (HD.2461) 3371 0 R (HD.2462) 3372 0 R (HD.2463) 3373 0 R (HD.2464) 3374 0 R (HD.2465) 3375 0 R (HD.2466) 3376 0 R ] /Limits [ (HD.2438) (HD.2466) ] >>
+<< /Names [ (HD.2322) 3218 0 R (HD.2323) 3219 0 R (HD.2324) 3220 0 R (HD.2325) 3221 0 R (HD.2326) 3222 0 R (HD.2327) 3223 0 R (HD.2328) 3224 0 R (HD.2329) 3225 0 R (HD.233) 904 0 R (HD.2330) 3226 0 R (HD.2331) 3227 0 R (HD.2332) 3228 0 R (HD.2333) 3229 0 R (HD.2334) 3230 0 R (HD.2335) 3231 0 R (HD.2336) 3232 0 R (HD.2337) 3233 0 R (HD.2338) 3234 0 R (HD.2339) 3235 0 R (HD.234) 905 0 R (HD.2340) 3236 0 R (HD.2341) 3237 0 R (HD.2342) 3238 0 R (HD.2343) 3239 0 R (HD.2344) 3240 0 R (HD.2345) 3241 0 R (HD.2346) 3242 0 R (HD.2347) 3243 0 R (HD.2348) 3244 0 R (HD.2349) 3245 0 R (HD.235) 906 0 R (HD.2350) 3252 0 R ] /Limits [ (HD.2322) (HD.2350) ] >>
endobj
4583 0 obj
-<< /Names [ (HD.2467) 3377 0 R (HD.2468) 3378 0 R (HD.2469) 3379 0 R (HD.247) 910 0 R (HD.2470) 3380 0 R (HD.2471) 3381 0 R (HD.2472) 3382 0 R (HD.2473) 3383 0 R (HD.2474) 3384 0 R (HD.2475) 3385 0 R (HD.2476) 3386 0 R (HD.2477) 3387 0 R (HD.2478) 3388 0 R (HD.2479) 3389 0 R (HD.248) 911 0 R (HD.2480) 3391 0 R (HD.2481) 3397 0 R (HD.2482) 3398 0 R (HD.2483) 3399 0 R (HD.2484) 3400 0 R (HD.2485) 3402 0 R (HD.2486) 3403 0 R (HD.2487) 3404 0 R (HD.2488) 3405 0 R (HD.2489) 3406 0 R (HD.249) 912 0 R (HD.2490) 3407 0 R (HD.2491) 3408 0 R (HD.2492) 3409 0 R (HD.2493) 3410 0 R (HD.2494) 3411 0 R (HD.2495) 3412 0 R ] /Limits [ (HD.2467) (HD.2495) ] >>
+<< /Names [ (HD.2351) 3253 0 R (HD.2352) 3255 0 R (HD.2353) 3256 0 R (HD.2354) 3257 0 R (HD.2355) 3258 0 R (HD.2356) 3259 0 R (HD.2357) 3260 0 R (HD.2358) 3261 0 R (HD.2359) 3262 0 R (HD.236) 907 0 R (HD.2360) 3263 0 R (HD.2361) 3264 0 R (HD.2362) 3265 0 R (HD.2363) 3267 0 R (HD.2364) 3268 0 R (HD.2365) 3269 0 R (HD.2366) 3270 0 R (HD.2367) 3272 0 R (HD.2368) 3274 0 R (HD.2369) 3275 0 R (HD.237) 908 0 R (HD.2370) 3276 0 R (HD.2371) 3277 0 R (HD.2372) 3278 0 R (HD.2373) 3279 0 R (HD.2374) 3280 0 R (HD.2375) 3281 0 R (HD.2376) 3282 0 R (HD.2377) 3283 0 R (HD.2378) 3284 0 R (HD.2379) 3291 0 R (HD.238) 909 0 R ] /Limits [ (HD.2351) (HD.238) ] >>
endobj
4584 0 obj
-<< /Names [ (HD.2496) 3413 0 R (HD.2497) 3415 0 R (HD.2498) 3416 0 R (HD.2499) 3417 0 R (HD.25) 660 0 R (HD.250) 913 0 R (HD.2500) 3418 0 R (HD.2501) 3419 0 R (HD.2502) 3420 0 R (HD.2503) 3421 0 R (HD.2504) 3422 0 R (HD.2505) 3423 0 R (HD.2506) 3424 0 R (HD.2507) 3425 0 R (HD.2508) 3426 0 R (HD.2509) 3427 0 R (HD.251) 914 0 R (HD.2510) 3428 0 R (HD.2511) 3429 0 R (HD.2512) 3430 0 R (HD.2513) 3431 0 R (HD.2514) 3432 0 R (HD.2515) 3433 0 R (HD.2516) 3434 0 R (HD.2517) 3435 0 R (HD.2518) 3436 0 R (HD.2519) 3437 0 R (HD.252) 915 0 R (HD.2520) 3438 0 R (HD.2521) 3439 0 R (HD.2522) 3440 0 R (HD.2523) 3441 0 R ] /Limits [ (HD.2496) (HD.2523) ] >>
+<< /Names [ (HD.2380) 3292 0 R (HD.2381) 3293 0 R (HD.2382) 3294 0 R (HD.2383) 3295 0 R (HD.2384) 3296 0 R (HD.2385) 3297 0 R (HD.2386) 3298 0 R (HD.2387) 3299 0 R (HD.2388) 3300 0 R (HD.2389) 3301 0 R (HD.239) 910 0 R (HD.2390) 3302 0 R (HD.2391) 3303 0 R (HD.2392) 3304 0 R (HD.2393) 3305 0 R (HD.2394) 3306 0 R (HD.2395) 3307 0 R (HD.2396) 3308 0 R (HD.2397) 3309 0 R (HD.2398) 3310 0 R (HD.2399) 3311 0 R (HD.24) 667 0 R (HD.240) 911 0 R (HD.2400) 3312 0 R (HD.2401) 3313 0 R (HD.2402) 3314 0 R (HD.2403) 3315 0 R (HD.2404) 3316 0 R (HD.2405) 3317 0 R (HD.2406) 3318 0 R (HD.2407) 3319 0 R (HD.2408) 3320 0 R ] /Limits [ (HD.2380) (HD.2408) ] >>
endobj
4585 0 obj
-<< /Names [ (HD.2524) 3442 0 R (HD.2525) 3443 0 R (HD.2526) 3444 0 R (HD.2527) 3445 0 R (HD.2528) 3446 0 R (HD.2529) 3447 0 R (HD.253) 916 0 R (HD.2530) 3448 0 R (HD.2531) 3449 0 R (HD.2532) 3450 0 R (HD.2533) 3456 0 R (HD.2534) 3457 0 R (HD.2535) 3458 0 R (HD.2536) 3459 0 R (HD.2537) 3460 0 R (HD.2538) 3461 0 R (HD.2539) 3462 0 R (HD.254) 917 0 R (HD.2540) 3463 0 R (HD.2541) 3464 0 R (HD.2542) 3465 0 R (HD.2543) 3466 0 R (HD.2544) 3467 0 R (HD.2545) 3468 0 R (HD.2546) 3469 0 R (HD.2547) 3470 0 R (HD.2548) 3471 0 R (HD.2549) 3472 0 R (HD.255) 918 0 R (HD.2550) 3473 0 R (HD.2551) 3474 0 R (HD.2552) 3475 0 R ] /Limits [ (HD.2524) (HD.2552) ] >>
+<< /Names [ (HD.2409) 3321 0 R (HD.241) 912 0 R (HD.2410) 3322 0 R (HD.2411) 3323 0 R (HD.2412) 3324 0 R (HD.2413) 3325 0 R (HD.2414) 3326 0 R (HD.2415) 3327 0 R (HD.2416) 3328 0 R (HD.2417) 3329 0 R (HD.2418) 3330 0 R (HD.2419) 3331 0 R (HD.242) 913 0 R (HD.2420) 3332 0 R (HD.2421) 3333 0 R (HD.2422) 3334 0 R (HD.2423) 3335 0 R (HD.2424) 3342 0 R (HD.2425) 3343 0 R (HD.2426) 3344 0 R (HD.2427) 3345 0 R (HD.2428) 3346 0 R (HD.2429) 3347 0 R (HD.243) 914 0 R (HD.2430) 3348 0 R (HD.2431) 3349 0 R (HD.2432) 3350 0 R (HD.2433) 3351 0 R (HD.2434) 3352 0 R (HD.2435) 3353 0 R (HD.2436) 3354 0 R (HD.2437) 3355 0 R ] /Limits [ (HD.2409) (HD.2437) ] >>
endobj
4586 0 obj
-<< /Names [ (HD.2553) 3476 0 R (HD.2554) 3477 0 R (HD.2555) 3478 0 R (HD.2556) 3479 0 R (HD.2557) 3480 0 R (HD.2558) 3481 0 R (HD.2559) 3482 0 R (HD.256) 919 0 R (HD.2560) 3483 0 R (HD.2561) 3484 0 R (HD.2562) 3485 0 R (HD.2563) 3486 0 R (HD.2564) 3487 0 R (HD.2565) 3488 0 R (HD.2566) 3489 0 R (HD.2567) 3490 0 R (HD.2568) 3491 0 R (HD.2569) 3492 0 R (HD.257) 920 0 R (HD.2570) 3493 0 R (HD.2571) 3494 0 R (HD.2572) 3495 0 R (HD.2573) 3496 0 R (HD.2574) 3497 0 R (HD.2575) 3498 0 R (HD.2576) 3499 0 R (HD.2577) 3500 0 R (HD.2578) 3501 0 R (HD.2579) 3502 0 R (HD.258) 921 0 R (HD.2580) 3503 0 R (HD.2581) 3504 0 R ] /Limits [ (HD.2553) (HD.2581) ] >>
+<< /Names [ (HD.2438) 3356 0 R (HD.2439) 3357 0 R (HD.244) 915 0 R (HD.2440) 3358 0 R (HD.2441) 3359 0 R (HD.2442) 3360 0 R (HD.2443) 3361 0 R (HD.2444) 3362 0 R (HD.2445) 3363 0 R (HD.2446) 3364 0 R (HD.2447) 3365 0 R (HD.2448) 3366 0 R (HD.2449) 3367 0 R (HD.245) 916 0 R (HD.2450) 3368 0 R (HD.2451) 3369 0 R (HD.2452) 3370 0 R (HD.2453) 3371 0 R (HD.2454) 3372 0 R (HD.2455) 3373 0 R (HD.2456) 3374 0 R (HD.2457) 3375 0 R (HD.2458) 3376 0 R (HD.2459) 3377 0 R (HD.246) 917 0 R (HD.2460) 3378 0 R (HD.2461) 3379 0 R (HD.2462) 3380 0 R (HD.2463) 3381 0 R (HD.2464) 3382 0 R (HD.2465) 3383 0 R (HD.2466) 3384 0 R ] /Limits [ (HD.2438) (HD.2466) ] >>
endobj
4587 0 obj
-<< /Names [ (HD.2582) 3505 0 R (HD.2583) 3512 0 R (HD.2584) 3513 0 R (HD.2585) 3514 0 R (HD.2586) 3515 0 R (HD.2587) 3516 0 R (HD.2588) 3517 0 R (HD.2589) 3518 0 R (HD.259) 922 0 R (HD.2590) 3519 0 R (HD.2591) 3520 0 R (HD.2592) 3521 0 R (HD.2593) 3522 0 R (HD.2594) 3523 0 R (HD.2595) 3524 0 R (HD.2596) 3525 0 R (HD.2597) 3526 0 R (HD.2598) 3527 0 R (HD.2599) 3528 0 R (HD.26) 661 0 R (HD.260) 923 0 R (HD.2600) 3529 0 R (HD.2601) 3530 0 R (HD.2602) 3531 0 R (HD.2603) 3532 0 R (HD.2604) 3533 0 R (HD.2605) 3534 0 R (HD.2606) 3535 0 R (HD.2607) 3536 0 R (HD.2608) 3537 0 R (HD.2609) 3538 0 R (HD.261) 924 0 R ] /Limits [ (HD.2582) (HD.261) ] >>
+<< /Names [ (HD.2467) 3385 0 R (HD.2468) 3386 0 R (HD.2469) 3387 0 R (HD.247) 918 0 R (HD.2470) 3389 0 R (HD.2471) 3395 0 R (HD.2472) 3396 0 R (HD.2473) 3397 0 R (HD.2474) 3398 0 R (HD.2475) 3400 0 R (HD.2476) 3401 0 R (HD.2477) 3402 0 R (HD.2478) 3403 0 R (HD.2479) 3404 0 R (HD.248) 919 0 R (HD.2480) 3405 0 R (HD.2481) 3406 0 R (HD.2482) 3407 0 R (HD.2483) 3408 0 R (HD.2484) 3409 0 R (HD.2485) 3410 0 R (HD.2486) 3411 0 R (HD.2487) 3413 0 R (HD.2488) 3414 0 R (HD.2489) 3415 0 R (HD.249) 920 0 R (HD.2490) 3416 0 R (HD.2491) 3417 0 R (HD.2492) 3418 0 R (HD.2493) 3419 0 R (HD.2494) 3420 0 R (HD.2495) 3421 0 R ] /Limits [ (HD.2467) (HD.2495) ] >>
endobj
4588 0 obj
-<< /Names [ (HD.2610) 3539 0 R (HD.2611) 3540 0 R (HD.2612) 3541 0 R (HD.2613) 3542 0 R (HD.2614) 3543 0 R (HD.2615) 3544 0 R (HD.2616) 3545 0 R (HD.2617) 3546 0 R (HD.2618) 3547 0 R (HD.2619) 3548 0 R (HD.262) 925 0 R (HD.2620) 3549 0 R (HD.2621) 3550 0 R (HD.2622) 3551 0 R (HD.2623) 3552 0 R (HD.2624) 3553 0 R (HD.2625) 3554 0 R (HD.2626) 3555 0 R (HD.2627) 3556 0 R (HD.2628) 3557 0 R (HD.2629) 3558 0 R (HD.263) 926 0 R (HD.2630) 3559 0 R (HD.2631) 3560 0 R (HD.2632) 3561 0 R (HD.2633) 3562 0 R (HD.2634) 3563 0 R (HD.2635) 3564 0 R (HD.2636) 3565 0 R (HD.2637) 3566 0 R (HD.2638) 3567 0 R (HD.2639) 3568 0 R ] /Limits [ (HD.2610) (HD.2639) ] >>
+<< /Names [ (HD.2496) 3422 0 R (HD.2497) 3423 0 R (HD.2498) 3424 0 R (HD.2499) 3425 0 R (HD.25) 668 0 R (HD.250) 921 0 R (HD.2500) 3426 0 R (HD.2501) 3427 0 R (HD.2502) 3428 0 R (HD.2503) 3429 0 R (HD.2504) 3430 0 R (HD.2505) 3431 0 R (HD.2506) 3432 0 R (HD.2507) 3433 0 R (HD.2508) 3434 0 R (HD.2509) 3435 0 R (HD.251) 922 0 R (HD.2510) 3436 0 R (HD.2511) 3437 0 R (HD.2512) 3438 0 R (HD.2513) 3439 0 R (HD.2514) 3440 0 R (HD.2515) 3441 0 R (HD.2516) 3442 0 R (HD.2517) 3443 0 R (HD.2518) 3444 0 R (HD.2519) 3445 0 R (HD.252) 923 0 R (HD.2520) 3446 0 R (HD.2521) 3447 0 R (HD.2522) 3453 0 R (HD.2523) 3454 0 R ] /Limits [ (HD.2496) (HD.2523) ] >>
endobj
4589 0 obj
-<< /Names [ (HD.264) 927 0 R (HD.2640) 3569 0 R (HD.2641) 3570 0 R (HD.2642) 3571 0 R (HD.2643) 3572 0 R (HD.2644) 3573 0 R (HD.2645) 3574 0 R (HD.2646) 3579 0 R (HD.2647) 3580 0 R (HD.2648) 3581 0 R (HD.2649) 3582 0 R (HD.265) 928 0 R (HD.2650) 3583 0 R (HD.2651) 3584 0 R (HD.2652) 3585 0 R (HD.2653) 3586 0 R (HD.2654) 3587 0 R (HD.2655) 3588 0 R (HD.2656) 3589 0 R (HD.2657) 3590 0 R (HD.2658) 3591 0 R (HD.2659) 3592 0 R (HD.266) 929 0 R (HD.2660) 3593 0 R (HD.2661) 3594 0 R (HD.2662) 3595 0 R (HD.2663) 3596 0 R (HD.2664) 3597 0 R (HD.2665) 3598 0 R (HD.2666) 3599 0 R (HD.2667) 3600 0 R (HD.2668) 3601 0 R ] /Limits [ (HD.264) (HD.2668) ] >>
+<< /Names [ (HD.2524) 3455 0 R (HD.2525) 3456 0 R (HD.2526) 3457 0 R (HD.2527) 3458 0 R (HD.2528) 3459 0 R (HD.2529) 3460 0 R (HD.253) 924 0 R (HD.2530) 3461 0 R (HD.2531) 3462 0 R (HD.2532) 3463 0 R (HD.2533) 3464 0 R (HD.2534) 3465 0 R (HD.2535) 3466 0 R (HD.2536) 3467 0 R (HD.2537) 3468 0 R (HD.2538) 3469 0 R (HD.2539) 3470 0 R (HD.254) 925 0 R (HD.2540) 3471 0 R (HD.2541) 3472 0 R (HD.2542) 3473 0 R (HD.2543) 3474 0 R (HD.2544) 3475 0 R (HD.2545) 3476 0 R (HD.2546) 3477 0 R (HD.2547) 3478 0 R (HD.2548) 3479 0 R (HD.2549) 3480 0 R (HD.255) 926 0 R (HD.2550) 3481 0 R (HD.2551) 3482 0 R (HD.2552) 3483 0 R ] /Limits [ (HD.2524) (HD.2552) ] >>
endobj
4590 0 obj
-<< /Names [ (HD.2669) 3602 0 R (HD.267) 934 0 R (HD.2670) 3603 0 R (HD.2671) 3604 0 R (HD.2672) 3605 0 R (HD.2673) 3606 0 R (HD.2674) 3607 0 R (HD.2675) 3608 0 R (HD.2676) 3609 0 R (HD.2677) 3610 0 R (HD.2678) 3611 0 R (HD.2679) 3612 0 R (HD.268) 935 0 R (HD.2680) 3613 0 R (HD.2681) 3614 0 R (HD.2682) 3615 0 R (HD.2683) 3616 0 R (HD.2684) 3617 0 R (HD.2685) 3618 0 R (HD.2686) 3619 0 R (HD.2687) 3620 0 R (HD.2688) 3621 0 R (HD.2689) 3622 0 R (HD.269) 936 0 R (HD.2690) 3623 0 R (HD.2691) 3624 0 R (HD.2692) 3625 0 R (HD.2693) 3626 0 R (HD.2694) 3627 0 R (HD.2695) 3628 0 R (HD.2696) 3629 0 R (HD.2697) 3635 0 R ] /Limits [ (HD.2669) (HD.2697) ] >>
+<< /Names [ (HD.2553) 3484 0 R (HD.2554) 3485 0 R (HD.2555) 3486 0 R (HD.2556) 3487 0 R (HD.2557) 3488 0 R (HD.2558) 3489 0 R (HD.2559) 3490 0 R (HD.256) 927 0 R (HD.2560) 3491 0 R (HD.2561) 3492 0 R (HD.2562) 3493 0 R (HD.2563) 3494 0 R (HD.2564) 3495 0 R (HD.2565) 3496 0 R (HD.2566) 3497 0 R (HD.2567) 3498 0 R (HD.2568) 3499 0 R (HD.2569) 3500 0 R (HD.257) 928 0 R (HD.2570) 3501 0 R (HD.2571) 3508 0 R (HD.2572) 3509 0 R (HD.2573) 3510 0 R (HD.2574) 3511 0 R (HD.2575) 3512 0 R (HD.2576) 3513 0 R (HD.2577) 3514 0 R (HD.2578) 3515 0 R (HD.2579) 3516 0 R (HD.258) 929 0 R (HD.2580) 3517 0 R (HD.2581) 3518 0 R ] /Limits [ (HD.2553) (HD.2581) ] >>
endobj
4591 0 obj
-<< /Names [ (HD.2698) 3636 0 R (HD.2699) 3637 0 R (HD.27) 662 0 R (HD.270) 937 0 R (HD.2700) 3638 0 R (HD.2701) 3639 0 R (HD.2702) 3640 0 R (HD.2703) 3641 0 R (HD.2704) 3642 0 R (HD.2705) 3643 0 R (HD.2706) 3644 0 R (HD.2707) 3645 0 R (HD.2708) 3646 0 R (HD.2709) 3647 0 R (HD.271) 938 0 R (HD.2710) 3648 0 R (HD.2711) 3649 0 R (HD.2712) 3650 0 R (HD.2713) 3651 0 R (HD.2714) 3652 0 R (HD.2715) 3653 0 R (HD.2716) 3654 0 R (HD.2717) 3655 0 R (HD.2718) 3656 0 R (HD.2719) 3657 0 R (HD.272) 939 0 R (HD.2720) 3658 0 R (HD.2721) 3659 0 R (HD.2722) 3660 0 R (HD.2723) 3661 0 R (HD.2724) 3662 0 R (HD.2725) 3663 0 R ] /Limits [ (HD.2698) (HD.2725) ] >>
+<< /Names [ (HD.2582) 3519 0 R (HD.2583) 3520 0 R (HD.2584) 3521 0 R (HD.2585) 3522 0 R (HD.2586) 3523 0 R (HD.2587) 3524 0 R (HD.2588) 3525 0 R (HD.2589) 3526 0 R (HD.259) 930 0 R (HD.2590) 3527 0 R (HD.2591) 3528 0 R (HD.2592) 3529 0 R (HD.2593) 3530 0 R (HD.2594) 3531 0 R (HD.2595) 3532 0 R (HD.2596) 3533 0 R (HD.2597) 3534 0 R (HD.2598) 3535 0 R (HD.2599) 3536 0 R (HD.26) 669 0 R (HD.260) 931 0 R (HD.2600) 3537 0 R (HD.2601) 3538 0 R (HD.2602) 3539 0 R (HD.2603) 3540 0 R (HD.2604) 3541 0 R (HD.2605) 3542 0 R (HD.2606) 3543 0 R (HD.2607) 3544 0 R (HD.2608) 3545 0 R (HD.2609) 3546 0 R (HD.261) 932 0 R ] /Limits [ (HD.2582) (HD.261) ] >>
endobj
4592 0 obj
-<< /Names [ (HD.2726) 3664 0 R (HD.2727) 3665 0 R (HD.2728) 3666 0 R (HD.2729) 3667 0 R (HD.273) 940 0 R (HD.2730) 3668 0 R (HD.2731) 3669 0 R (HD.2732) 3674 0 R (HD.2733) 3675 0 R (HD.2734) 3676 0 R (HD.2735) 3677 0 R (HD.2736) 3678 0 R (HD.2737) 3679 0 R (HD.2738) 3680 0 R (HD.2739) 3681 0 R (HD.274) 941 0 R (HD.2740) 3682 0 R (HD.2741) 3683 0 R (HD.2742) 3684 0 R (HD.2743) 3685 0 R (HD.2744) 3686 0 R (HD.2745) 3687 0 R (HD.2746) 3688 0 R (HD.2747) 3689 0 R (HD.2748) 3690 0 R (HD.2749) 3691 0 R (HD.275) 942 0 R (HD.2750) 3692 0 R (HD.2751) 3693 0 R (HD.2752) 3694 0 R (HD.2753) 3695 0 R (HD.2754) 3696 0 R ] /Limits [ (HD.2726) (HD.2754) ] >>
+<< /Names [ (HD.2610) 3547 0 R (HD.2611) 3548 0 R (HD.2612) 3549 0 R (HD.2613) 3550 0 R (HD.2614) 3551 0 R (HD.2615) 3552 0 R (HD.2616) 3553 0 R (HD.2617) 3554 0 R (HD.2618) 3555 0 R (HD.2619) 3556 0 R (HD.262) 933 0 R (HD.2620) 3557 0 R (HD.2621) 3558 0 R (HD.2622) 3559 0 R (HD.2623) 3560 0 R (HD.2624) 3561 0 R (HD.2625) 3562 0 R (HD.2626) 3563 0 R (HD.2627) 3564 0 R (HD.2628) 3565 0 R (HD.2629) 3566 0 R (HD.263) 934 0 R (HD.2630) 3567 0 R (HD.2631) 3568 0 R (HD.2632) 3574 0 R (HD.2633) 3575 0 R (HD.2634) 3576 0 R (HD.2635) 3577 0 R (HD.2636) 3578 0 R (HD.2637) 3579 0 R (HD.2638) 3580 0 R (HD.2639) 3581 0 R ] /Limits [ (HD.2610) (HD.2639) ] >>
endobj
4593 0 obj
-<< /Names [ (HD.2755) 3697 0 R (HD.2756) 3698 0 R (HD.2757) 3699 0 R (HD.2758) 3700 0 R (HD.2759) 3701 0 R (HD.276) 943 0 R (HD.2760) 3702 0 R (HD.2761) 3703 0 R (HD.2762) 3704 0 R (HD.2763) 3705 0 R (HD.2764) 3706 0 R (HD.2765) 3707 0 R (HD.2766) 3708 0 R (HD.2767) 3709 0 R (HD.2768) 3710 0 R (HD.2769) 3711 0 R (HD.277) 944 0 R (HD.2770) 3712 0 R (HD.2771) 3713 0 R (HD.2772) 3714 0 R (HD.2773) 3715 0 R (HD.2774) 3716 0 R (HD.2775) 3717 0 R (HD.2776) 3718 0 R (HD.2777) 3719 0 R (HD.2778) 3720 0 R (HD.2779) 3725 0 R (HD.278) 945 0 R (HD.2780) 3726 0 R (HD.2781) 3727 0 R (HD.2782) 3728 0 R (HD.2783) 3729 0 R ] /Limits [ (HD.2755) (HD.2783) ] >>
+<< /Names [ (HD.264) 935 0 R (HD.2640) 3582 0 R (HD.2641) 3583 0 R (HD.2642) 3584 0 R (HD.2643) 3585 0 R (HD.2644) 3586 0 R (HD.2645) 3587 0 R (HD.2646) 3588 0 R (HD.2647) 3589 0 R (HD.2648) 3590 0 R (HD.2649) 3591 0 R (HD.265) 936 0 R (HD.2650) 3592 0 R (HD.2651) 3593 0 R (HD.2652) 3594 0 R (HD.2653) 3595 0 R (HD.2654) 3596 0 R (HD.2655) 3597 0 R (HD.2656) 3598 0 R (HD.2657) 3599 0 R (HD.2658) 3600 0 R (HD.2659) 3601 0 R (HD.266) 937 0 R (HD.2660) 3602 0 R (HD.2661) 3603 0 R (HD.2662) 3604 0 R (HD.2663) 3605 0 R (HD.2664) 3606 0 R (HD.2665) 3607 0 R (HD.2666) 3608 0 R (HD.2667) 3609 0 R (HD.2668) 3610 0 R ] /Limits [ (HD.264) (HD.2668) ] >>
endobj
4594 0 obj
-<< /Names [ (HD.2784) 3730 0 R (HD.2785) 3731 0 R (HD.2786) 3732 0 R (HD.2787) 3733 0 R (HD.2788) 3734 0 R (HD.2789) 3735 0 R (HD.279) 946 0 R (HD.2790) 3736 0 R (HD.2791) 3737 0 R (HD.2792) 3738 0 R (HD.2793) 3739 0 R (HD.2794) 3740 0 R (HD.2795) 3741 0 R (HD.2796) 3742 0 R (HD.2797) 3743 0 R (HD.2798) 3744 0 R (HD.2799) 3745 0 R (HD.28) 663 0 R (HD.280) 947 0 R (HD.2800) 3746 0 R (HD.2801) 3747 0 R (HD.2802) 3748 0 R (HD.2803) 3749 0 R (HD.2804) 3750 0 R (HD.2805) 3751 0 R (HD.2806) 3752 0 R (HD.2807) 3753 0 R (HD.2808) 3754 0 R (HD.2809) 3755 0 R (HD.281) 948 0 R (HD.2810) 3756 0 R (HD.2811) 3757 0 R ] /Limits [ (HD.2784) (HD.2811) ] >>
+<< /Names [ (HD.2669) 3611 0 R (HD.267) 938 0 R (HD.2670) 3612 0 R (HD.2671) 3613 0 R (HD.2672) 3614 0 R (HD.2673) 3615 0 R (HD.2674) 3616 0 R (HD.2675) 3617 0 R (HD.2676) 3618 0 R (HD.2677) 3619 0 R (HD.2678) 3620 0 R (HD.2679) 3621 0 R (HD.268) 939 0 R (HD.2680) 3622 0 R (HD.2681) 3623 0 R (HD.2682) 3624 0 R (HD.2683) 3629 0 R (HD.2684) 3630 0 R (HD.2685) 3631 0 R (HD.2686) 3632 0 R (HD.2687) 3633 0 R (HD.2688) 3634 0 R (HD.2689) 3635 0 R (HD.269) 940 0 R (HD.2690) 3636 0 R (HD.2691) 3637 0 R (HD.2692) 3638 0 R (HD.2693) 3639 0 R (HD.2694) 3640 0 R (HD.2695) 3641 0 R (HD.2696) 3642 0 R (HD.2697) 3643 0 R ] /Limits [ (HD.2669) (HD.2697) ] >>
endobj
4595 0 obj
-<< /Names [ (HD.2812) 3758 0 R (HD.2813) 3759 0 R (HD.2814) 3760 0 R (HD.2815) 3761 0 R (HD.2816) 3762 0 R (HD.2817) 3763 0 R (HD.2818) 3764 0 R (HD.2819) 3765 0 R (HD.282) 949 0 R (HD.2820) 3770 0 R (HD.2821) 3771 0 R (HD.2822) 3772 0 R (HD.2823) 3773 0 R (HD.2824) 3774 0 R (HD.2825) 3775 0 R (HD.2826) 3776 0 R (HD.2827) 3777 0 R (HD.2828) 3778 0 R (HD.2829) 3779 0 R (HD.283) 950 0 R (HD.2830) 3780 0 R (HD.2831) 3781 0 R (HD.2832) 3782 0 R (HD.2833) 3783 0 R (HD.2834) 3784 0 R (HD.2835) 3785 0 R (HD.2836) 3786 0 R (HD.2837) 3787 0 R (HD.2838) 3788 0 R (HD.2839) 3789 0 R (HD.284) 951 0 R (HD.2840) 3790 0 R ] /Limits [ (HD.2812) (HD.2840) ] >>
+<< /Names [ (HD.2698) 3644 0 R (HD.2699) 3645 0 R (HD.27) 670 0 R (HD.270) 941 0 R (HD.2700) 3646 0 R (HD.2701) 3647 0 R (HD.2702) 3648 0 R (HD.2703) 3649 0 R (HD.2704) 3650 0 R (HD.2705) 3651 0 R (HD.2706) 3652 0 R (HD.2707) 3653 0 R (HD.2708) 3654 0 R (HD.2709) 3655 0 R (HD.271) 942 0 R (HD.2710) 3656 0 R (HD.2711) 3657 0 R (HD.2712) 3658 0 R (HD.2713) 3659 0 R (HD.2714) 3660 0 R (HD.2715) 3661 0 R (HD.2716) 3662 0 R (HD.2717) 3663 0 R (HD.2718) 3664 0 R (HD.2719) 3665 0 R (HD.272) 943 0 R (HD.2720) 3666 0 R (HD.2721) 3671 0 R (HD.2722) 3672 0 R (HD.2723) 3673 0 R (HD.2724) 3674 0 R (HD.2725) 3675 0 R ] /Limits [ (HD.2698) (HD.2725) ] >>
endobj
4596 0 obj
-<< /Names [ (HD.2841) 3791 0 R (HD.2842) 3792 0 R (HD.2843) 3793 0 R (HD.2844) 3794 0 R (HD.2845) 3795 0 R (HD.2846) 3796 0 R (HD.2847) 3797 0 R (HD.2848) 3798 0 R (HD.2849) 3799 0 R (HD.285) 952 0 R (HD.2850) 3800 0 R (HD.2851) 3801 0 R (HD.2852) 3802 0 R (HD.2853) 3803 0 R (HD.2854) 3804 0 R (HD.2855) 3805 0 R (HD.2856) 3806 0 R (HD.2857) 3807 0 R (HD.2858) 3808 0 R (HD.2859) 3809 0 R (HD.286) 953 0 R (HD.2860) 3810 0 R (HD.2861) 3811 0 R (HD.2862) 3812 0 R (HD.2863) 3813 0 R (HD.2864) 3814 0 R (HD.2865) 3815 0 R (HD.2866) 3816 0 R (HD.2867) 3817 0 R (HD.2868) 3822 0 R (HD.2869) 3823 0 R (HD.287) 954 0 R ] /Limits [ (HD.2841) (HD.287) ] >>
+<< /Names [ (HD.2726) 3676 0 R (HD.2727) 3677 0 R (HD.2728) 3678 0 R (HD.2729) 3679 0 R (HD.273) 948 0 R (HD.2730) 3680 0 R (HD.2731) 3681 0 R (HD.2732) 3682 0 R (HD.2733) 3683 0 R (HD.2734) 3684 0 R (HD.2735) 3685 0 R (HD.2736) 3686 0 R (HD.2737) 3687 0 R (HD.2738) 3688 0 R (HD.2739) 3689 0 R (HD.274) 949 0 R (HD.2740) 3690 0 R (HD.2741) 3691 0 R (HD.2742) 3692 0 R (HD.2743) 3693 0 R (HD.2744) 3694 0 R (HD.2745) 3695 0 R (HD.2746) 3696 0 R (HD.2747) 3697 0 R (HD.2748) 3698 0 R (HD.2749) 3699 0 R (HD.275) 950 0 R (HD.2750) 3700 0 R (HD.2751) 3701 0 R (HD.2752) 3702 0 R (HD.2753) 3703 0 R (HD.2754) 3704 0 R ] /Limits [ (HD.2726) (HD.2754) ] >>
endobj
4597 0 obj
-<< /Names [ (HD.2870) 3824 0 R (HD.2871) 3825 0 R (HD.2872) 3826 0 R (HD.2873) 3827 0 R (HD.2874) 3828 0 R (HD.2875) 3829 0 R (HD.2876) 3830 0 R (HD.2877) 3831 0 R (HD.2878) 3832 0 R (HD.2879) 3833 0 R (HD.288) 955 0 R (HD.2880) 3834 0 R (HD.2881) 3835 0 R (HD.2882) 3836 0 R (HD.2883) 3837 0 R (HD.2884) 3838 0 R (HD.2885) 3839 0 R (HD.2886) 3840 0 R (HD.2887) 3841 0 R (HD.2888) 3842 0 R (HD.2889) 3843 0 R (HD.289) 956 0 R (HD.2890) 3844 0 R (HD.2891) 3845 0 R (HD.2892) 3846 0 R (HD.2893) 3847 0 R (HD.2894) 3848 0 R (HD.2895) 3849 0 R (HD.2896) 3850 0 R (HD.2897) 3851 0 R (HD.2898) 3852 0 R (HD.2899) 3853 0 R ] /Limits [ (HD.2870) (HD.2899) ] >>
+<< /Names [ (HD.2755) 3705 0 R (HD.2756) 3706 0 R (HD.2757) 3707 0 R (HD.2758) 3708 0 R (HD.2759) 3709 0 R (HD.276) 951 0 R (HD.2760) 3710 0 R (HD.2761) 3711 0 R (HD.2762) 3712 0 R (HD.2763) 3713 0 R (HD.2764) 3714 0 R (HD.2765) 3715 0 R (HD.2766) 3720 0 R (HD.2767) 3721 0 R (HD.2768) 3722 0 R (HD.2769) 3723 0 R (HD.277) 952 0 R (HD.2770) 3724 0 R (HD.2771) 3725 0 R (HD.2772) 3726 0 R (HD.2773) 3727 0 R (HD.2774) 3728 0 R (HD.2775) 3729 0 R (HD.2776) 3730 0 R (HD.2777) 3731 0 R (HD.2778) 3732 0 R (HD.2779) 3733 0 R (HD.278) 953 0 R (HD.2780) 3734 0 R (HD.2781) 3735 0 R (HD.2782) 3736 0 R (HD.2783) 3737 0 R ] /Limits [ (HD.2755) (HD.2783) ] >>
endobj
4598 0 obj
-<< /Names [ (HD.29) 664 0 R (HD.290) 957 0 R (HD.2900) 3854 0 R (HD.2901) 3855 0 R (HD.2902) 3856 0 R (HD.2903) 3857 0 R (HD.2904) 3858 0 R (HD.2905) 3859 0 R (HD.2906) 3860 0 R (HD.2907) 3865 0 R (HD.2908) 3866 0 R (HD.2909) 3867 0 R (HD.291) 958 0 R (HD.2910) 3868 0 R (HD.2911) 3869 0 R (HD.2912) 3870 0 R (HD.2913) 3871 0 R (HD.2914) 3872 0 R (HD.2915) 3873 0 R (HD.2916) 3874 0 R (HD.2917) 3875 0 R (HD.2918) 3876 0 R (HD.2919) 3877 0 R (HD.292) 959 0 R (HD.2920) 3878 0 R (HD.2921) 3879 0 R (HD.2922) 3880 0 R (HD.2923) 3881 0 R (HD.2924) 3882 0 R (HD.2925) 3883 0 R (HD.2926) 3884 0 R (HD.2927) 3885 0 R ] /Limits [ (HD.29) (HD.2927) ] >>
+<< /Names [ (HD.2784) 3738 0 R (HD.2785) 3739 0 R (HD.2786) 3740 0 R (HD.2787) 3741 0 R (HD.2788) 3742 0 R (HD.2789) 3743 0 R (HD.279) 954 0 R (HD.2790) 3744 0 R (HD.2791) 3745 0 R (HD.2792) 3746 0 R (HD.2793) 3747 0 R (HD.2794) 3748 0 R (HD.2795) 3749 0 R (HD.2796) 3754 0 R (HD.2797) 3755 0 R (HD.2798) 3756 0 R (HD.2799) 3757 0 R (HD.28) 671 0 R (HD.280) 955 0 R (HD.2800) 3758 0 R (HD.2801) 3759 0 R (HD.2802) 3760 0 R (HD.2803) 3761 0 R (HD.2804) 3762 0 R (HD.2805) 3763 0 R (HD.2806) 3764 0 R (HD.2807) 3765 0 R (HD.2808) 3766 0 R (HD.2809) 3767 0 R (HD.281) 956 0 R (HD.2810) 3768 0 R (HD.2811) 3769 0 R ] /Limits [ (HD.2784) (HD.2811) ] >>
endobj
4599 0 obj
-<< /Names [ (HD.2928) 3886 0 R (HD.2929) 3887 0 R (HD.293) 960 0 R (HD.2930) 3888 0 R (HD.2931) 3889 0 R (HD.2932) 3890 0 R (HD.2933) 3891 0 R (HD.2934) 3892 0 R (HD.2935) 3893 0 R (HD.2936) 3894 0 R (HD.2937) 3895 0 R (HD.2938) 3896 0 R (HD.2939) 3897 0 R (HD.294) 961 0 R (HD.2940) 3898 0 R (HD.2941) 3899 0 R (HD.2942) 3900 0 R (HD.2943) 3901 0 R (HD.2944) 3902 0 R (HD.2945) 3903 0 R (HD.2946) 3904 0 R (HD.2947) 3905 0 R (HD.2948) 3906 0 R (HD.2949) 3907 0 R (HD.295) 962 0 R (HD.2950) 3908 0 R (HD.2951) 3909 0 R (HD.2952) 3910 0 R (HD.2953) 3911 0 R (HD.2954) 3912 0 R (HD.2955) 3913 0 R (HD.2956) 3914 0 R ] /Limits [ (HD.2928) (HD.2956) ] >>
+<< /Names [ (HD.2812) 3770 0 R (HD.2813) 3771 0 R (HD.2814) 3772 0 R (HD.2815) 3773 0 R (HD.2816) 3774 0 R (HD.2817) 3775 0 R (HD.2818) 3776 0 R (HD.2819) 3777 0 R (HD.282) 957 0 R (HD.2820) 3778 0 R (HD.2821) 3779 0 R (HD.2822) 3780 0 R (HD.2823) 3781 0 R (HD.2824) 3782 0 R (HD.2825) 3783 0 R (HD.2826) 3784 0 R (HD.2827) 3785 0 R (HD.2828) 3786 0 R (HD.2829) 3787 0 R (HD.283) 958 0 R (HD.2830) 3788 0 R (HD.2831) 3789 0 R (HD.2832) 3790 0 R (HD.2833) 3795 0 R (HD.2834) 3796 0 R (HD.2835) 3797 0 R (HD.2836) 3798 0 R (HD.2837) 3799 0 R (HD.2838) 3800 0 R (HD.2839) 3801 0 R (HD.284) 959 0 R (HD.2840) 3802 0 R ] /Limits [ (HD.2812) (HD.2840) ] >>
endobj
4600 0 obj
-<< /Names [ (HD.2957) 3915 0 R (HD.2958) 3916 0 R (HD.2959) 3921 0 R (HD.296) 963 0 R (HD.2960) 3922 0 R (HD.2961) 3923 0 R (HD.2962) 3924 0 R (HD.2963) 3925 0 R (HD.2964) 3926 0 R (HD.2965) 3927 0 R (HD.2966) 3928 0 R (HD.2967) 3929 0 R (HD.2968) 3930 0 R (HD.2969) 3931 0 R (HD.297) 964 0 R (HD.2970) 3932 0 R (HD.2971) 3933 0 R (HD.2972) 3934 0 R (HD.2973) 3935 0 R (HD.2974) 3936 0 R (HD.2975) 3937 0 R (HD.2976) 3938 0 R (HD.2977) 3939 0 R (HD.2978) 3940 0 R (HD.2979) 3941 0 R (HD.298) 965 0 R (HD.2980) 3942 0 R (HD.2981) 3943 0 R (HD.2982) 3944 0 R (HD.2983) 3945 0 R (HD.2984) 3946 0 R (HD.2985) 3947 0 R ] /Limits [ (HD.2957) (HD.2985) ] >>
+<< /Names [ (HD.2841) 3803 0 R (HD.2842) 3804 0 R (HD.2843) 3805 0 R (HD.2844) 3806 0 R (HD.2845) 3807 0 R (HD.2846) 3808 0 R (HD.2847) 3809 0 R (HD.2848) 3810 0 R (HD.2849) 3811 0 R (HD.285) 960 0 R (HD.2850) 3812 0 R (HD.2851) 3813 0 R (HD.2852) 3814 0 R (HD.2853) 3815 0 R (HD.2854) 3816 0 R (HD.2855) 3817 0 R (HD.2856) 3818 0 R (HD.2857) 3819 0 R (HD.2858) 3820 0 R (HD.2859) 3821 0 R (HD.286) 961 0 R (HD.2860) 3822 0 R (HD.2861) 3823 0 R (HD.2862) 3824 0 R (HD.2863) 3825 0 R (HD.2864) 3826 0 R (HD.2865) 3827 0 R (HD.2866) 3828 0 R (HD.2867) 3829 0 R (HD.2868) 3830 0 R (HD.2869) 3831 0 R (HD.287) 962 0 R ] /Limits [ (HD.2841) (HD.287) ] >>
endobj
4601 0 obj
-<< /Names [ (HD.2986) 3948 0 R (HD.2987) 3949 0 R (HD.2988) 3950 0 R (HD.2989) 3951 0 R (HD.299) 966 0 R (HD.2990) 3952 0 R (HD.2991) 3953 0 R (HD.2992) 3954 0 R (HD.2993) 3955 0 R (HD.2994) 3956 0 R (HD.2995) 3957 0 R (HD.2996) 3958 0 R (HD.2997) 3959 0 R (HD.2998) 3960 0 R (HD.2999) 3961 0 R (HD.3) 638 0 R (HD.30) 665 0 R (HD.300) 967 0 R (HD.3000) 3962 0 R (HD.3001) 3963 0 R (HD.3002) 3964 0 R (HD.3003) 3965 0 R (HD.3004) 3966 0 R (HD.3005) 3971 0 R (HD.3006) 3972 0 R (HD.3007) 3973 0 R (HD.3008) 3974 0 R (HD.3009) 3975 0 R (HD.301) 968 0 R (HD.3010) 3976 0 R (HD.3011) 3977 0 R (HD.3012) 3978 0 R ] /Limits [ (HD.2986) (HD.3012) ] >>
+<< /Names [ (HD.2870) 3832 0 R (HD.2871) 3833 0 R (HD.2872) 3834 0 R (HD.2873) 3835 0 R (HD.2874) 3836 0 R (HD.2875) 3841 0 R (HD.2876) 3842 0 R (HD.2877) 3843 0 R (HD.2878) 3844 0 R (HD.2879) 3845 0 R (HD.288) 963 0 R (HD.2880) 3846 0 R (HD.2881) 3847 0 R (HD.2882) 3848 0 R (HD.2883) 3849 0 R (HD.2884) 3850 0 R (HD.2885) 3851 0 R (HD.2886) 3852 0 R (HD.2887) 3853 0 R (HD.2888) 3854 0 R (HD.2889) 3855 0 R (HD.289) 964 0 R (HD.2890) 3856 0 R (HD.2891) 3857 0 R (HD.2892) 3858 0 R (HD.2893) 3859 0 R (HD.2894) 3860 0 R (HD.2895) 3861 0 R (HD.2896) 3862 0 R (HD.2897) 3863 0 R (HD.2898) 3864 0 R (HD.2899) 3865 0 R ] /Limits [ (HD.2870) (HD.2899) ] >>
endobj
4602 0 obj
-<< /Names [ (HD.3013) 3979 0 R (HD.3014) 3980 0 R (HD.3015) 3981 0 R (HD.3016) 3982 0 R (HD.3017) 3983 0 R (HD.3018) 3984 0 R (HD.3019) 3985 0 R (HD.302) 969 0 R (HD.3020) 3986 0 R (HD.3021) 3987 0 R (HD.3022) 3988 0 R (HD.3023) 3989 0 R (HD.3024) 3990 0 R (HD.3025) 3991 0 R (HD.3026) 3992 0 R (HD.3027) 3993 0 R (HD.3028) 3994 0 R (HD.3029) 3995 0 R (HD.303) 970 0 R (HD.3030) 3996 0 R (HD.3031) 3997 0 R (HD.3032) 3998 0 R (HD.3033) 3999 0 R (HD.3034) 4000 0 R (HD.3035) 4001 0 R (HD.3036) 4002 0 R (HD.3037) 4003 0 R (HD.3038) 4004 0 R (HD.3039) 4005 0 R (HD.304) 971 0 R (HD.3040) 4006 0 R (HD.3041) 4007 0 R ] /Limits [ (HD.3013) (HD.3041) ] >>
+<< /Names [ (HD.29) 672 0 R (HD.290) 965 0 R (HD.2900) 3866 0 R (HD.2901) 3867 0 R (HD.2902) 3868 0 R (HD.2903) 3869 0 R (HD.2904) 3870 0 R (HD.2905) 3871 0 R (HD.2906) 3872 0 R (HD.2907) 3873 0 R (HD.2908) 3874 0 R (HD.2909) 3875 0 R (HD.291) 966 0 R (HD.2910) 3876 0 R (HD.2911) 3877 0 R (HD.2912) 3878 0 R (HD.2913) 3879 0 R (HD.2914) 3880 0 R (HD.2915) 3881 0 R (HD.2916) 3882 0 R (HD.2917) 3883 0 R (HD.2918) 3884 0 R (HD.2919) 3889 0 R (HD.292) 967 0 R (HD.2920) 3890 0 R (HD.2921) 3891 0 R (HD.2922) 3892 0 R (HD.2923) 3893 0 R (HD.2924) 3894 0 R (HD.2925) 3895 0 R (HD.2926) 3896 0 R (HD.2927) 3897 0 R ] /Limits [ (HD.29) (HD.2927) ] >>
endobj
4603 0 obj
-<< /Names [ (HD.3042) 4008 0 R (HD.3043) 4009 0 R (HD.3044) 4010 0 R (HD.3045) 4011 0 R (HD.3046) 4012 0 R (HD.3047) 4013 0 R (HD.3048) 4014 0 R (HD.3049) 4015 0 R (HD.305) 972 0 R (HD.3050) 4016 0 R (HD.3051) 4017 0 R (HD.3052) 4018 0 R (HD.3053) 4019 0 R (HD.3054) 4020 0 R (HD.3055) 4025 0 R (HD.3056) 4026 0 R (HD.3057) 4027 0 R (HD.3058) 4028 0 R (HD.3059) 4029 0 R (HD.306) 973 0 R (HD.3060) 4030 0 R (HD.3061) 4031 0 R (HD.3062) 4032 0 R (HD.3063) 4033 0 R (HD.3064) 4034 0 R (HD.3065) 4035 0 R (HD.3066) 4036 0 R (HD.3067) 4037 0 R (HD.3068) 4038 0 R (HD.3069) 4039 0 R (HD.307) 974 0 R (HD.3070) 4040 0 R ] /Limits [ (HD.3042) (HD.3070) ] >>
+<< /Names [ (HD.2928) 3898 0 R (HD.2929) 3899 0 R (HD.293) 968 0 R (HD.2930) 3900 0 R (HD.2931) 3901 0 R (HD.2932) 3902 0 R (HD.2933) 3903 0 R (HD.2934) 3904 0 R (HD.2935) 3905 0 R (HD.2936) 3906 0 R (HD.2937) 3907 0 R (HD.2938) 3908 0 R (HD.2939) 3909 0 R (HD.294) 969 0 R (HD.2940) 3910 0 R (HD.2941) 3911 0 R (HD.2942) 3912 0 R (HD.2943) 3913 0 R (HD.2944) 3914 0 R (HD.2945) 3915 0 R (HD.2946) 3916 0 R (HD.2947) 3917 0 R (HD.2948) 3918 0 R (HD.2949) 3919 0 R (HD.295) 970 0 R (HD.2950) 3920 0 R (HD.2951) 3921 0 R (HD.2952) 3922 0 R (HD.2953) 3923 0 R (HD.2954) 3924 0 R (HD.2955) 3925 0 R (HD.2956) 3926 0 R ] /Limits [ (HD.2928) (HD.2956) ] >>
endobj
4604 0 obj
-<< /Names [ (HD.3071) 4041 0 R (HD.3072) 4042 0 R (HD.3073) 4043 0 R (HD.3074) 4044 0 R (HD.3075) 4045 0 R (HD.3076) 4046 0 R (HD.3077) 4047 0 R (HD.3078) 4048 0 R (HD.3079) 4049 0 R (HD.308) 975 0 R (HD.3080) 4050 0 R (HD.3081) 4051 0 R (HD.3082) 4052 0 R (HD.3083) 4053 0 R (HD.3084) 4054 0 R (HD.3085) 4055 0 R (HD.3086) 4056 0 R (HD.3087) 4057 0 R (HD.3088) 4058 0 R (HD.3089) 4059 0 R (HD.309) 976 0 R (HD.3090) 4060 0 R (HD.3091) 4061 0 R (HD.3092) 4062 0 R (HD.3093) 4063 0 R (HD.3094) 4064 0 R (HD.3095) 4065 0 R (HD.3096) 4066 0 R (HD.3097) 4067 0 R (HD.3098) 4068 0 R (HD.3099) 4069 0 R (HD.31) 666 0 R ] /Limits [ (HD.3071) (HD.31) ] >>
+<< /Names [ (HD.2957) 3927 0 R (HD.2958) 3928 0 R (HD.2959) 3929 0 R (HD.296) 971 0 R (HD.2960) 3930 0 R (HD.2961) 3931 0 R (HD.2962) 3932 0 R (HD.2963) 3933 0 R (HD.2964) 3934 0 R (HD.2965) 3935 0 R (HD.2966) 3936 0 R (HD.2967) 3937 0 R (HD.2968) 3938 0 R (HD.2969) 3939 0 R (HD.297) 972 0 R (HD.2970) 3940 0 R (HD.2971) 3941 0 R (HD.2972) 3942 0 R (HD.2973) 3943 0 R (HD.2974) 3948 0 R (HD.2975) 3949 0 R (HD.2976) 3950 0 R (HD.2977) 3951 0 R (HD.2978) 3952 0 R (HD.2979) 3953 0 R (HD.298) 973 0 R (HD.2980) 3954 0 R (HD.2981) 3955 0 R (HD.2982) 3956 0 R (HD.2983) 3957 0 R (HD.2984) 3958 0 R (HD.2985) 3959 0 R ] /Limits [ (HD.2957) (HD.2985) ] >>
endobj
4605 0 obj
-<< /Names [ (HD.310) 977 0 R (HD.3100) 4070 0 R (HD.3101) 4071 0 R (HD.3102) 4072 0 R (HD.3103) 4073 0 R (HD.3104) 4074 0 R (HD.3105) 4075 0 R (HD.3106) 4076 0 R (HD.3107) 4077 0 R (HD.3108) 4078 0 R (HD.3109) 4079 0 R (HD.311) 978 0 R (HD.3110) 4080 0 R (HD.3111) 4081 0 R (HD.3112) 4082 0 R (HD.3113) 4083 0 R (HD.3114) 4084 0 R (HD.3115) 4085 0 R (HD.3116) 4086 0 R (HD.3117) 4091 0 R (HD.3118) 4092 0 R (HD.3119) 4093 0 R (HD.312) 979 0 R (HD.3120) 4094 0 R (HD.3121) 4095 0 R (HD.3122) 4096 0 R (HD.3123) 4097 0 R (HD.3124) 4098 0 R (HD.3125) 4099 0 R (HD.3126) 4100 0 R (HD.3127) 4101 0 R (HD.3128) 4102 0 R ] /Limits [ (HD.310) (HD.3128) ] >>
+<< /Names [ (HD.2986) 3960 0 R (HD.2987) 3961 0 R (HD.2988) 3962 0 R (HD.2989) 3963 0 R (HD.299) 974 0 R (HD.2990) 3964 0 R (HD.2991) 3965 0 R (HD.2992) 3966 0 R (HD.2993) 3967 0 R (HD.2994) 3968 0 R (HD.2995) 3969 0 R (HD.2996) 3970 0 R (HD.2997) 3971 0 R (HD.2998) 3972 0 R (HD.2999) 3973 0 R (HD.3) 646 0 R (HD.30) 673 0 R (HD.300) 975 0 R (HD.3000) 3974 0 R (HD.3001) 3975 0 R (HD.3002) 3976 0 R (HD.3003) 3977 0 R (HD.3004) 3978 0 R (HD.3005) 3979 0 R (HD.3006) 3980 0 R (HD.3007) 3981 0 R (HD.3008) 3982 0 R (HD.3009) 3983 0 R (HD.301) 976 0 R (HD.3010) 3984 0 R (HD.3011) 3985 0 R (HD.3012) 3986 0 R ] /Limits [ (HD.2986) (HD.3012) ] >>
endobj
4606 0 obj
-<< /Names [ (HD.3129) 4103 0 R (HD.313) 980 0 R (HD.3130) 4104 0 R (HD.3131) 4105 0 R (HD.3132) 4106 0 R (HD.3133) 4107 0 R (HD.3134) 4108 0 R (HD.3135) 4109 0 R (HD.3136) 4110 0 R (HD.3137) 4111 0 R (HD.3138) 4112 0 R (HD.3139) 4113 0 R (HD.314) 981 0 R (HD.3140) 4114 0 R (HD.3141) 4115 0 R (HD.3142) 4116 0 R (HD.3143) 4117 0 R (HD.3144) 4118 0 R (HD.3145) 4119 0 R (HD.3146) 4120 0 R (HD.3147) 4121 0 R (HD.3148) 4122 0 R (HD.3149) 4123 0 R (HD.315) 982 0 R (HD.3150) 4124 0 R (HD.3151) 4125 0 R (HD.3152) 4126 0 R (HD.3153) 4127 0 R (HD.3154) 4128 0 R (HD.3155) 4129 0 R (HD.3156) 4130 0 R (HD.3157) 4131 0 R ] /Limits [ (HD.3129) (HD.3157) ] >>
+<< /Names [ (HD.3013) 3987 0 R (HD.3014) 3988 0 R (HD.3015) 3989 0 R (HD.3016) 3990 0 R (HD.3017) 3991 0 R (HD.3018) 3992 0 R (HD.3019) 3993 0 R (HD.302) 977 0 R (HD.3020) 3994 0 R (HD.3021) 3999 0 R (HD.3022) 4000 0 R (HD.3023) 4001 0 R (HD.3024) 4002 0 R (HD.3025) 4003 0 R (HD.3026) 4004 0 R (HD.3027) 4005 0 R (HD.3028) 4006 0 R (HD.3029) 4007 0 R (HD.303) 978 0 R (HD.3030) 4008 0 R (HD.3031) 4009 0 R (HD.3032) 4010 0 R (HD.3033) 4011 0 R (HD.3034) 4012 0 R (HD.3035) 4013 0 R (HD.3036) 4014 0 R (HD.3037) 4015 0 R (HD.3038) 4016 0 R (HD.3039) 4017 0 R (HD.304) 979 0 R (HD.3040) 4018 0 R (HD.3041) 4019 0 R ] /Limits [ (HD.3013) (HD.3041) ] >>
endobj
4607 0 obj
-<< /Names [ (HD.3158) 4132 0 R (HD.3159) 4133 0 R (HD.316) 983 0 R (HD.3160) 4134 0 R (HD.3161) 4135 0 R (HD.3162) 4136 0 R (HD.3163) 4137 0 R (HD.3164) 4138 0 R (HD.3165) 4139 0 R (HD.3166) 4140 0 R (HD.3167) 4141 0 R (HD.3168) 4142 0 R (HD.3169) 4148 0 R (HD.317) 984 0 R (HD.3170) 4149 0 R (HD.3171) 4150 0 R (HD.3172) 4151 0 R (HD.3173) 4152 0 R (HD.3174) 4153 0 R (HD.3175) 4154 0 R (HD.3176) 4155 0 R (HD.3177) 4156 0 R (HD.3178) 4157 0 R (HD.3179) 4158 0 R (HD.318) 985 0 R (HD.3180) 4159 0 R (HD.3181) 4160 0 R (HD.3182) 4161 0 R (HD.3183) 4162 0 R (HD.3184) 4163 0 R (HD.3185) 4164 0 R (HD.3186) 4165 0 R ] /Limits [ (HD.3158) (HD.3186) ] >>
+<< /Names [ (HD.3042) 4020 0 R (HD.3043) 4021 0 R (HD.3044) 4022 0 R (HD.3045) 4023 0 R (HD.3046) 4024 0 R (HD.3047) 4025 0 R (HD.3048) 4026 0 R (HD.3049) 4027 0 R (HD.305) 980 0 R (HD.3050) 4028 0 R (HD.3051) 4029 0 R (HD.3052) 4030 0 R (HD.3053) 4031 0 R (HD.3054) 4032 0 R (HD.3055) 4033 0 R (HD.3056) 4034 0 R (HD.3057) 4035 0 R (HD.3058) 4036 0 R (HD.3059) 4037 0 R (HD.306) 981 0 R (HD.3060) 4038 0 R (HD.3061) 4039 0 R (HD.3062) 4040 0 R (HD.3063) 4041 0 R (HD.3064) 4042 0 R (HD.3065) 4043 0 R (HD.3066) 4044 0 R (HD.3067) 4045 0 R (HD.3068) 4046 0 R (HD.3069) 4052 0 R (HD.307) 982 0 R (HD.3070) 4053 0 R ] /Limits [ (HD.3042) (HD.3070) ] >>
endobj
4608 0 obj
-<< /Names [ (HD.3187) 4166 0 R (HD.3188) 4167 0 R (HD.3189) 4168 0 R (HD.319) 986 0 R (HD.3190) 4169 0 R (HD.3191) 4170 0 R (HD.3192) 4171 0 R (HD.3193) 4172 0 R (HD.3194) 4173 0 R (HD.3195) 4174 0 R (HD.3196) 4175 0 R (HD.3197) 4176 0 R (HD.3198) 4177 0 R (HD.3199) 4178 0 R (HD.32) 667 0 R (HD.320) 987 0 R (HD.3200) 4179 0 R (HD.3201) 4180 0 R (HD.3202) 4181 0 R (HD.3203) 4182 0 R (HD.3204) 4183 0 R (HD.3205) 4184 0 R (HD.3206) 4185 0 R (HD.3207) 4186 0 R (HD.3208) 4187 0 R (HD.3209) 4188 0 R (HD.321) 994 0 R (HD.3210) 4189 0 R (HD.3211) 4190 0 R (HD.3212) 4191 0 R (HD.3213) 4192 0 R (HD.3214) 4193 0 R ] /Limits [ (HD.3187) (HD.3214) ] >>
+<< /Names [ (HD.3071) 4054 0 R (HD.3072) 4055 0 R (HD.3073) 4056 0 R (HD.3074) 4057 0 R (HD.3075) 4058 0 R (HD.3076) 4059 0 R (HD.3077) 4060 0 R (HD.3078) 4061 0 R (HD.3079) 4062 0 R (HD.308) 983 0 R (HD.3080) 4063 0 R (HD.3081) 4064 0 R (HD.3082) 4065 0 R (HD.3083) 4066 0 R (HD.3084) 4067 0 R (HD.3085) 4068 0 R (HD.3086) 4069 0 R (HD.3087) 4070 0 R (HD.3088) 4071 0 R (HD.3089) 4072 0 R (HD.309) 984 0 R (HD.3090) 4073 0 R (HD.3091) 4074 0 R (HD.3092) 4075 0 R (HD.3093) 4076 0 R (HD.3094) 4077 0 R (HD.3095) 4078 0 R (HD.3096) 4079 0 R (HD.3097) 4080 0 R (HD.3098) 4081 0 R (HD.3099) 4082 0 R (HD.31) 674 0 R ] /Limits [ (HD.3071) (HD.31) ] >>
endobj
4609 0 obj
-<< /Names [ (HD.3215) 4194 0 R (HD.3216) 4195 0 R (HD.322) 995 0 R (HD.323) 996 0 R (HD.324) 997 0 R (HD.325) 998 0 R (HD.326) 999 0 R (HD.327) 1000 0 R (HD.328) 1001 0 R (HD.329) 1002 0 R (HD.33) 668 0 R (HD.330) 1003 0 R (HD.331) 1004 0 R (HD.332) 1005 0 R (HD.333) 1006 0 R (HD.334) 1007 0 R (HD.335) 1008 0 R (HD.336) 1009 0 R (HD.337) 1010 0 R (HD.338) 1011 0 R (HD.339) 1012 0 R (HD.34) 669 0 R (HD.340) 1013 0 R (HD.341) 1014 0 R (HD.342) 1015 0 R (HD.343) 1016 0 R (HD.344) 1017 0 R (HD.345) 1018 0 R (HD.346) 1019 0 R (HD.347) 1020 0 R (HD.348) 1021 0 R (HD.349) 1022 0 R ] /Limits [ (HD.3215) (HD.349) ] >>
+<< /Names [ (HD.310) 985 0 R (HD.3100) 4083 0 R (HD.3101) 4084 0 R (HD.3102) 4085 0 R (HD.3103) 4086 0 R (HD.3104) 4087 0 R (HD.3105) 4088 0 R (HD.3106) 4089 0 R (HD.3107) 4090 0 R (HD.3108) 4091 0 R (HD.3109) 4092 0 R (HD.311) 986 0 R (HD.3110) 4093 0 R (HD.3111) 4094 0 R (HD.3112) 4095 0 R (HD.3113) 4096 0 R (HD.3114) 4097 0 R (HD.3115) 4098 0 R (HD.3116) 4099 0 R (HD.3117) 4100 0 R (HD.3118) 4101 0 R (HD.3119) 4102 0 R (HD.312) 987 0 R (HD.3120) 4103 0 R (HD.3121) 4104 0 R (HD.3122) 4105 0 R (HD.3123) 4106 0 R (HD.3124) 4107 0 R (HD.3125) 4108 0 R (HD.3126) 4109 0 R (HD.3127) 4110 0 R (HD.3128) 4111 0 R ] /Limits [ (HD.310) (HD.3128) ] >>
endobj
4610 0 obj
-<< /Names [ (HD.35) 670 0 R (HD.350) 1023 0 R (HD.351) 1024 0 R (HD.352) 1025 0 R (HD.353) 1032 0 R (HD.354) 1033 0 R (HD.355) 1034 0 R (HD.356) 1035 0 R (HD.357) 1036 0 R (HD.358) 1037 0 R (HD.359) 1038 0 R (HD.36) 671 0 R (HD.360) 1039 0 R (HD.361) 1040 0 R (HD.362) 1041 0 R (HD.363) 1042 0 R (HD.364) 1043 0 R (HD.365) 1044 0 R (HD.366) 1045 0 R (HD.367) 1046 0 R (HD.368) 1047 0 R (HD.369) 1048 0 R (HD.37) 676 0 R (HD.370) 1049 0 R (HD.371) 1050 0 R (HD.372) 1051 0 R (HD.373) 1052 0 R (HD.374) 1053 0 R (HD.375) 1054 0 R (HD.376) 1055 0 R (HD.377) 1056 0 R (HD.378) 1057 0 R ] /Limits [ (HD.35) (HD.378) ] >>
+<< /Names [ (HD.3129) 4112 0 R (HD.313) 988 0 R (HD.3130) 4113 0 R (HD.3131) 4118 0 R (HD.3132) 4119 0 R (HD.3133) 4120 0 R (HD.3134) 4121 0 R (HD.3135) 4122 0 R (HD.3136) 4123 0 R (HD.3137) 4124 0 R (HD.3138) 4125 0 R (HD.3139) 4126 0 R (HD.314) 989 0 R (HD.3140) 4127 0 R (HD.3141) 4128 0 R (HD.3142) 4129 0 R (HD.3143) 4130 0 R (HD.3144) 4131 0 R (HD.3145) 4132 0 R (HD.3146) 4133 0 R (HD.3147) 4134 0 R (HD.3148) 4135 0 R (HD.3149) 4136 0 R (HD.315) 990 0 R (HD.3150) 4137 0 R (HD.3151) 4138 0 R (HD.3152) 4139 0 R (HD.3153) 4140 0 R (HD.3154) 4141 0 R (HD.3155) 4142 0 R (HD.3156) 4143 0 R (HD.3157) 4144 0 R ] /Limits [ (HD.3129) (HD.3157) ] >>
endobj
4611 0 obj
-<< /Names [ (HD.379) 1058 0 R (HD.38) 677 0 R (HD.380) 1059 0 R (HD.381) 1060 0 R (HD.382) 1061 0 R (HD.383) 1062 0 R (HD.384) 1063 0 R (HD.385) 1064 0 R (HD.386) 1065 0 R (HD.387) 1066 0 R (HD.388) 1067 0 R (HD.389) 1068 0 R (HD.39) 678 0 R (HD.390) 1069 0 R (HD.391) 1070 0 R (HD.392) 1071 0 R (HD.393) 1072 0 R (HD.394) 1073 0 R (HD.395) 1074 0 R (HD.396) 1075 0 R (HD.397) 1076 0 R (HD.398) 1077 0 R (HD.399) 1078 0 R (HD.4) 639 0 R (HD.40) 679 0 R (HD.400) 1079 0 R (HD.401) 1080 0 R (HD.402) 1081 0 R (HD.403) 1082 0 R (HD.404) 1083 0 R (HD.405) 1088 0 R (HD.406) 1089 0 R ] /Limits [ (HD.379) (HD.406) ] >>
+<< /Names [ (HD.3158) 4145 0 R (HD.3159) 4146 0 R (HD.316) 991 0 R (HD.3160) 4147 0 R (HD.3161) 4148 0 R (HD.3162) 4149 0 R (HD.3163) 4150 0 R (HD.3164) 4151 0 R (HD.3165) 4152 0 R (HD.3166) 4153 0 R (HD.3167) 4154 0 R (HD.3168) 4155 0 R (HD.3169) 4156 0 R (HD.317) 992 0 R (HD.3170) 4157 0 R (HD.3171) 4158 0 R (HD.3172) 4159 0 R (HD.3173) 4160 0 R (HD.3174) 4161 0 R (HD.3175) 4162 0 R (HD.3176) 4163 0 R (HD.3177) 4164 0 R (HD.3178) 4165 0 R (HD.3179) 4166 0 R (HD.318) 993 0 R (HD.3180) 4167 0 R (HD.3181) 4168 0 R (HD.3182) 4169 0 R (HD.3183) 4170 0 R (HD.3184) 4171 0 R (HD.3185) 4176 0 R (HD.3186) 4177 0 R ] /Limits [ (HD.3158) (HD.3186) ] >>
endobj
4612 0 obj
-<< /Names [ (HD.407) 1090 0 R (HD.408) 1091 0 R (HD.409) 1092 0 R (HD.41) 680 0 R (HD.410) 1093 0 R (HD.411) 1094 0 R (HD.412) 1095 0 R (HD.413) 1096 0 R (HD.414) 1097 0 R (HD.415) 1098 0 R (HD.416) 1099 0 R (HD.417) 1100 0 R (HD.418) 1101 0 R (HD.419) 1102 0 R (HD.42) 681 0 R (HD.420) 1103 0 R (HD.421) 1104 0 R (HD.422) 1105 0 R (HD.423) 1106 0 R (HD.424) 1107 0 R (HD.425) 1108 0 R (HD.426) 1109 0 R (HD.427) 1110 0 R (HD.428) 1111 0 R (HD.429) 1112 0 R (HD.43) 682 0 R (HD.430) 1113 0 R (HD.431) 1114 0 R (HD.432) 1115 0 R (HD.433) 1116 0 R (HD.434) 1117 0 R (HD.435) 1118 0 R ] /Limits [ (HD.407) (HD.435) ] >>
+<< /Names [ (HD.3187) 4178 0 R (HD.3188) 4179 0 R (HD.3189) 4180 0 R (HD.319) 994 0 R (HD.3190) 4181 0 R (HD.3191) 4182 0 R (HD.3192) 4183 0 R (HD.3193) 4184 0 R (HD.3194) 4185 0 R (HD.3195) 4186 0 R (HD.3196) 4187 0 R (HD.3197) 4188 0 R (HD.3198) 4189 0 R (HD.3199) 4190 0 R (HD.32) 675 0 R (HD.320) 995 0 R (HD.3200) 4191 0 R (HD.3201) 4192 0 R (HD.3202) 4193 0 R (HD.3203) 4194 0 R (HD.3204) 4195 0 R (HD.3205) 4196 0 R (HD.3206) 4197 0 R (HD.3207) 4198 0 R (HD.3208) 4199 0 R (HD.3209) 4200 0 R (HD.321) 996 0 R (HD.3210) 4201 0 R (HD.3211) 4202 0 R (HD.3212) 4203 0 R (HD.3213) 4204 0 R (HD.3214) 4205 0 R ] /Limits [ (HD.3187) (HD.3214) ] >>
endobj
4613 0 obj
-<< /Names [ (HD.436) 1119 0 R (HD.437) 1120 0 R (HD.438) 1121 0 R (HD.439) 1122 0 R (HD.44) 683 0 R (HD.440) 1123 0 R (HD.441) 1124 0 R (HD.442) 1125 0 R (HD.443) 1126 0 R (HD.444) 1127 0 R (HD.445) 1128 0 R (HD.446) 1129 0 R (HD.447) 1130 0 R (HD.448) 1131 0 R (HD.449) 1132 0 R (HD.45) 684 0 R (HD.450) 1133 0 R (HD.451) 1134 0 R (HD.452) 1135 0 R (HD.453) 1136 0 R (HD.454) 1137 0 R (HD.455) 1138 0 R (HD.456) 1139 0 R (HD.457) 1140 0 R (HD.458) 1141 0 R (HD.459) 1142 0 R (HD.46) 685 0 R (HD.460) 1143 0 R (HD.461) 1144 0 R (HD.462) 1145 0 R (HD.463) 1146 0 R (HD.464) 1151 0 R ] /Limits [ (HD.436) (HD.464) ] >>
+<< /Names [ (HD.3215) 4206 0 R (HD.3216) 4207 0 R (HD.3217) 4208 0 R (HD.3218) 4209 0 R (HD.322) 997 0 R (HD.323) 998 0 R (HD.324) 999 0 R (HD.325) 1007 0 R (HD.326) 1008 0 R (HD.327) 1009 0 R (HD.328) 1010 0 R (HD.329) 1011 0 R (HD.33) 676 0 R (HD.330) 1012 0 R (HD.331) 1013 0 R (HD.332) 1014 0 R (HD.333) 1015 0 R (HD.334) 1016 0 R (HD.335) 1017 0 R (HD.336) 1018 0 R (HD.337) 1019 0 R (HD.338) 1020 0 R (HD.339) 1021 0 R (HD.34) 681 0 R (HD.340) 1022 0 R (HD.341) 1023 0 R (HD.342) 1024 0 R (HD.343) 1025 0 R (HD.344) 1026 0 R (HD.345) 1027 0 R (HD.346) 1028 0 R (HD.347) 1029 0 R ] /Limits [ (HD.3215) (HD.347) ] >>
endobj
4614 0 obj
-<< /Names [ (HD.465) 1152 0 R (HD.466) 1153 0 R (HD.467) 1154 0 R (HD.468) 1155 0 R (HD.469) 1156 0 R (HD.47) 686 0 R (HD.470) 1157 0 R (HD.471) 1158 0 R (HD.472) 1159 0 R (HD.473) 1160 0 R (HD.474) 1161 0 R (HD.475) 1162 0 R (HD.476) 1163 0 R (HD.477) 1164 0 R (HD.478) 1165 0 R (HD.479) 1166 0 R (HD.48) 687 0 R (HD.480) 1167 0 R (HD.481) 1168 0 R (HD.482) 1169 0 R (HD.483) 1170 0 R (HD.484) 1171 0 R (HD.485) 1172 0 R (HD.486) 1173 0 R (HD.487) 1174 0 R (HD.488) 1175 0 R (HD.489) 1176 0 R (HD.49) 688 0 R (HD.490) 1177 0 R (HD.491) 1178 0 R (HD.492) 1179 0 R (HD.493) 1180 0 R ] /Limits [ (HD.465) (HD.493) ] >>
+<< /Names [ (HD.348) 1030 0 R (HD.349) 1031 0 R (HD.35) 682 0 R (HD.350) 1032 0 R (HD.351) 1033 0 R (HD.352) 1034 0 R (HD.353) 1035 0 R (HD.354) 1036 0 R (HD.355) 1037 0 R (HD.356) 1043 0 R (HD.357) 1044 0 R (HD.358) 1045 0 R (HD.359) 1046 0 R (HD.36) 683 0 R (HD.360) 1047 0 R (HD.361) 1048 0 R (HD.362) 1049 0 R (HD.363) 1050 0 R (HD.364) 1051 0 R (HD.365) 1052 0 R (HD.366) 1053 0 R (HD.367) 1054 0 R (HD.368) 1055 0 R (HD.369) 1056 0 R (HD.37) 684 0 R (HD.370) 1057 0 R (HD.371) 1058 0 R (HD.372) 1059 0 R (HD.373) 1060 0 R (HD.374) 1061 0 R (HD.375) 1062 0 R (HD.376) 1063 0 R ] /Limits [ (HD.348) (HD.376) ] >>
endobj
4615 0 obj
-<< /Names [ (HD.494) 1181 0 R (HD.495) 1182 0 R (HD.496) 1183 0 R (HD.497) 1184 0 R (HD.498) 1185 0 R (HD.499) 1186 0 R (HD.5) 640 0 R (HD.50) 689 0 R (HD.500) 1187 0 R (HD.501) 1188 0 R (HD.502) 1189 0 R (HD.503) 1190 0 R (HD.504) 1191 0 R (HD.505) 1192 0 R (HD.506) 1193 0 R (HD.507) 1194 0 R (HD.508) 1195 0 R (HD.509) 1196 0 R (HD.51) 690 0 R (HD.510) 1197 0 R (HD.511) 1198 0 R (HD.512) 1199 0 R (HD.513) 1200 0 R (HD.514) 1201 0 R (HD.515) 1202 0 R (HD.516) 1203 0 R (HD.517) 1204 0 R (HD.518) 1205 0 R (HD.519) 1210 0 R (HD.52) 691 0 R (HD.520) 1211 0 R (HD.521) 1212 0 R ] /Limits [ (HD.494) (HD.521) ] >>
+<< /Names [ (HD.377) 1064 0 R (HD.378) 1065 0 R (HD.379) 1066 0 R (HD.38) 685 0 R (HD.380) 1067 0 R (HD.381) 1068 0 R (HD.382) 1069 0 R (HD.383) 1070 0 R (HD.384) 1071 0 R (HD.385) 1072 0 R (HD.386) 1073 0 R (HD.387) 1074 0 R (HD.388) 1075 0 R (HD.389) 1076 0 R (HD.39) 686 0 R (HD.390) 1077 0 R (HD.391) 1078 0 R (HD.392) 1079 0 R (HD.393) 1080 0 R (HD.394) 1081 0 R (HD.395) 1082 0 R (HD.396) 1083 0 R (HD.397) 1084 0 R (HD.398) 1085 0 R (HD.399) 1090 0 R (HD.4) 647 0 R (HD.40) 687 0 R (HD.400) 1091 0 R (HD.401) 1092 0 R (HD.402) 1093 0 R (HD.403) 1094 0 R (HD.404) 1095 0 R ] /Limits [ (HD.377) (HD.404) ] >>
endobj
4616 0 obj
-<< /Names [ (HD.522) 1213 0 R (HD.523) 1214 0 R (HD.524) 1215 0 R (HD.525) 1216 0 R (HD.526) 1217 0 R (HD.527) 1218 0 R (HD.528) 1219 0 R (HD.529) 1220 0 R (HD.53) 692 0 R (HD.530) 1221 0 R (HD.531) 1222 0 R (HD.532) 1223 0 R (HD.533) 1224 0 R (HD.534) 1225 0 R (HD.535) 1226 0 R (HD.536) 1227 0 R (HD.537) 1228 0 R (HD.538) 1229 0 R (HD.539) 1230 0 R (HD.54) 693 0 R (HD.540) 1231 0 R (HD.541) 1232 0 R (HD.542) 1233 0 R (HD.543) 1234 0 R (HD.544) 1235 0 R (HD.545) 1236 0 R (HD.546) 1237 0 R (HD.547) 1238 0 R (HD.548) 1239 0 R (HD.549) 1240 0 R (HD.55) 694 0 R (HD.550) 1241 0 R ] /Limits [ (HD.522) (HD.550) ] >>
+<< /Names [ (HD.405) 1096 0 R (HD.406) 1097 0 R (HD.407) 1098 0 R (HD.408) 1099 0 R (HD.409) 1100 0 R (HD.41) 688 0 R (HD.410) 1101 0 R (HD.411) 1102 0 R (HD.412) 1103 0 R (HD.413) 1104 0 R (HD.414) 1105 0 R (HD.415) 1106 0 R (HD.416) 1107 0 R (HD.417) 1108 0 R (HD.418) 1109 0 R (HD.419) 1110 0 R (HD.42) 689 0 R (HD.420) 1111 0 R (HD.421) 1112 0 R (HD.422) 1113 0 R (HD.423) 1114 0 R (HD.424) 1115 0 R (HD.425) 1116 0 R (HD.426) 1117 0 R (HD.427) 1118 0 R (HD.428) 1119 0 R (HD.429) 1120 0 R (HD.43) 690 0 R (HD.430) 1121 0 R (HD.431) 1122 0 R (HD.432) 1123 0 R (HD.433) 1124 0 R ] /Limits [ (HD.405) (HD.433) ] >>
endobj
4617 0 obj
-<< /Names [ (HD.551) 1242 0 R (HD.552) 1243 0 R (HD.553) 1244 0 R (HD.554) 1245 0 R (HD.555) 1246 0 R (HD.556) 1247 0 R (HD.557) 1248 0 R (HD.558) 1249 0 R (HD.559) 1250 0 R (HD.56) 695 0 R (HD.560) 1251 0 R (HD.561) 1252 0 R (HD.562) 1253 0 R (HD.563) 1254 0 R (HD.564) 1255 0 R (HD.565) 1256 0 R (HD.566) 1257 0 R (HD.567) 1258 0 R (HD.568) 1259 0 R (HD.569) 1260 0 R (HD.57) 696 0 R (HD.570) 1261 0 R (HD.571) 1262 0 R (HD.572) 1263 0 R (HD.573) 1264 0 R (HD.574) 1265 0 R (HD.575) 1266 0 R (HD.576) 1267 0 R (HD.577) 1268 0 R (HD.578) 1269 0 R (HD.579) 1270 0 R (HD.58) 697 0 R ] /Limits [ (HD.551) (HD.58) ] >>
+<< /Names [ (HD.434) 1125 0 R (HD.435) 1126 0 R (HD.436) 1127 0 R (HD.437) 1128 0 R (HD.438) 1129 0 R (HD.439) 1130 0 R (HD.44) 691 0 R (HD.440) 1131 0 R (HD.441) 1132 0 R (HD.442) 1133 0 R (HD.443) 1134 0 R (HD.444) 1135 0 R (HD.445) 1136 0 R (HD.446) 1137 0 R (HD.447) 1138 0 R (HD.448) 1139 0 R (HD.449) 1140 0 R (HD.45) 692 0 R (HD.450) 1141 0 R (HD.451) 1142 0 R (HD.452) 1143 0 R (HD.453) 1144 0 R (HD.454) 1145 0 R (HD.455) 1146 0 R (HD.456) 1147 0 R (HD.457) 1148 0 R (HD.458) 1153 0 R (HD.459) 1154 0 R (HD.46) 693 0 R (HD.460) 1155 0 R (HD.461) 1156 0 R (HD.462) 1157 0 R ] /Limits [ (HD.434) (HD.462) ] >>
endobj
4618 0 obj
-<< /Names [ (HD.580) 1275 0 R (HD.581) 1276 0 R (HD.582) 1277 0 R (HD.583) 1278 0 R (HD.584) 1279 0 R (HD.585) 1280 0 R (HD.586) 1281 0 R (HD.587) 1282 0 R (HD.588) 1283 0 R (HD.589) 1284 0 R (HD.59) 698 0 R (HD.590) 1285 0 R (HD.591) 1286 0 R (HD.592) 1287 0 R (HD.593) 1288 0 R (HD.594) 1289 0 R (HD.595) 1290 0 R (HD.596) 1291 0 R (HD.597) 1292 0 R (HD.598) 1293 0 R (HD.599) 1294 0 R (HD.6) 641 0 R (HD.60) 699 0 R (HD.600) 1295 0 R (HD.601) 1296 0 R (HD.602) 1297 0 R (HD.603) 1298 0 R (HD.604) 1299 0 R (HD.605) 1300 0 R (HD.606) 1301 0 R (HD.607) 1302 0 R (HD.608) 1303 0 R ] /Limits [ (HD.580) (HD.608) ] >>
+<< /Names [ (HD.463) 1158 0 R (HD.464) 1159 0 R (HD.465) 1160 0 R (HD.466) 1161 0 R (HD.467) 1162 0 R (HD.468) 1163 0 R (HD.469) 1164 0 R (HD.47) 694 0 R (HD.470) 1165 0 R (HD.471) 1166 0 R (HD.472) 1167 0 R (HD.473) 1168 0 R (HD.474) 1169 0 R (HD.475) 1170 0 R (HD.476) 1171 0 R (HD.477) 1172 0 R (HD.478) 1173 0 R (HD.479) 1174 0 R (HD.48) 695 0 R (HD.480) 1175 0 R (HD.481) 1176 0 R (HD.482) 1177 0 R (HD.483) 1178 0 R (HD.484) 1179 0 R (HD.485) 1180 0 R (HD.486) 1181 0 R (HD.487) 1182 0 R (HD.488) 1183 0 R (HD.489) 1184 0 R (HD.49) 696 0 R (HD.490) 1185 0 R (HD.491) 1186 0 R ] /Limits [ (HD.463) (HD.491) ] >>
endobj
4619 0 obj
-<< /Names [ (HD.609) 1304 0 R (HD.61) 700 0 R (HD.610) 1305 0 R (HD.611) 1306 0 R (HD.612) 1307 0 R (HD.613) 1308 0 R (HD.614) 1309 0 R (HD.615) 1310 0 R (HD.616) 1311 0 R (HD.617) 1312 0 R (HD.618) 1313 0 R (HD.619) 1314 0 R (HD.62) 701 0 R (HD.620) 1315 0 R (HD.621) 1316 0 R (HD.622) 1317 0 R (HD.623) 1318 0 R (HD.624) 1319 0 R (HD.625) 1320 0 R (HD.626) 1321 0 R (HD.627) 1322 0 R (HD.628) 1323 0 R (HD.629) 1324 0 R (HD.63) 702 0 R (HD.630) 1325 0 R (HD.631) 1326 0 R (HD.632) 1327 0 R (HD.633) 1328 0 R (HD.634) 1329 0 R (HD.635) 1330 0 R (HD.636) 1331 0 R (HD.637) 1332 0 R ] /Limits [ (HD.609) (HD.637) ] >>
+<< /Names [ (HD.492) 1187 0 R (HD.493) 1188 0 R (HD.494) 1189 0 R (HD.495) 1190 0 R (HD.496) 1191 0 R (HD.497) 1192 0 R (HD.498) 1193 0 R (HD.499) 1194 0 R (HD.5) 648 0 R (HD.50) 697 0 R (HD.500) 1195 0 R (HD.501) 1196 0 R (HD.502) 1197 0 R (HD.503) 1198 0 R (HD.504) 1199 0 R (HD.505) 1200 0 R (HD.506) 1201 0 R (HD.507) 1202 0 R (HD.508) 1203 0 R (HD.509) 1204 0 R (HD.51) 698 0 R (HD.510) 1205 0 R (HD.511) 1206 0 R (HD.512) 1207 0 R (HD.513) 1212 0 R (HD.514) 1213 0 R (HD.515) 1214 0 R (HD.516) 1215 0 R (HD.517) 1216 0 R (HD.518) 1217 0 R (HD.519) 1218 0 R (HD.52) 699 0 R ] /Limits [ (HD.492) (HD.52) ] >>
endobj
4620 0 obj
-<< /Names [ (HD.638) 1333 0 R (HD.639) 1334 0 R (HD.64) 703 0 R (HD.640) 1335 0 R (HD.641) 1336 0 R (HD.642) 1337 0 R (HD.643) 1342 0 R (HD.644) 1343 0 R (HD.645) 1344 0 R (HD.646) 1345 0 R (HD.647) 1346 0 R (HD.648) 1347 0 R (HD.649) 1348 0 R (HD.65) 704 0 R (HD.650) 1349 0 R (HD.651) 1350 0 R (HD.652) 1351 0 R (HD.653) 1352 0 R (HD.654) 1353 0 R (HD.655) 1354 0 R (HD.656) 1355 0 R (HD.657) 1356 0 R (HD.658) 1357 0 R (HD.659) 1358 0 R (HD.66) 705 0 R (HD.660) 1359 0 R (HD.661) 1360 0 R (HD.662) 1361 0 R (HD.663) 1362 0 R (HD.664) 1363 0 R (HD.665) 1364 0 R (HD.666) 1365 0 R ] /Limits [ (HD.638) (HD.666) ] >>
+<< /Names [ (HD.520) 1219 0 R (HD.521) 1220 0 R (HD.522) 1221 0 R (HD.523) 1222 0 R (HD.524) 1223 0 R (HD.525) 1224 0 R (HD.526) 1225 0 R (HD.527) 1226 0 R (HD.528) 1227 0 R (HD.529) 1228 0 R (HD.53) 700 0 R (HD.530) 1229 0 R (HD.531) 1230 0 R (HD.532) 1231 0 R (HD.533) 1232 0 R (HD.534) 1233 0 R (HD.535) 1234 0 R (HD.536) 1235 0 R (HD.537) 1236 0 R (HD.538) 1237 0 R (HD.539) 1238 0 R (HD.54) 701 0 R (HD.540) 1239 0 R (HD.541) 1240 0 R (HD.542) 1241 0 R (HD.543) 1242 0 R (HD.544) 1243 0 R (HD.545) 1244 0 R (HD.546) 1245 0 R (HD.547) 1246 0 R (HD.548) 1247 0 R (HD.549) 1248 0 R ] /Limits [ (HD.520) (HD.549) ] >>
endobj
4621 0 obj
-<< /Names [ (HD.667) 1366 0 R (HD.668) 1367 0 R (HD.669) 1368 0 R (HD.67) 706 0 R (HD.670) 1369 0 R (HD.671) 1370 0 R (HD.672) 1371 0 R (HD.673) 1372 0 R (HD.674) 1373 0 R (HD.675) 1374 0 R (HD.676) 1375 0 R (HD.677) 1376 0 R (HD.678) 1377 0 R (HD.679) 1378 0 R (HD.68) 707 0 R (HD.680) 1379 0 R (HD.681) 1380 0 R (HD.682) 1381 0 R (HD.683) 1382 0 R (HD.684) 1383 0 R (HD.685) 1384 0 R (HD.686) 1385 0 R (HD.687) 1390 0 R (HD.688) 1391 0 R (HD.689) 1392 0 R (HD.69) 708 0 R (HD.690) 1393 0 R (HD.691) 1394 0 R (HD.692) 1395 0 R (HD.693) 1396 0 R (HD.694) 1397 0 R (HD.695) 1398 0 R ] /Limits [ (HD.667) (HD.695) ] >>
+<< /Names [ (HD.55) 702 0 R (HD.550) 1249 0 R (HD.551) 1250 0 R (HD.552) 1251 0 R (HD.553) 1252 0 R (HD.554) 1253 0 R (HD.555) 1254 0 R (HD.556) 1255 0 R (HD.557) 1256 0 R (HD.558) 1257 0 R (HD.559) 1258 0 R (HD.56) 703 0 R (HD.560) 1259 0 R (HD.561) 1260 0 R (HD.562) 1261 0 R (HD.563) 1262 0 R (HD.564) 1263 0 R (HD.565) 1264 0 R (HD.566) 1265 0 R (HD.567) 1266 0 R (HD.568) 1267 0 R (HD.569) 1268 0 R (HD.57) 704 0 R (HD.570) 1269 0 R (HD.571) 1270 0 R (HD.572) 1271 0 R (HD.573) 1272 0 R (HD.574) 1277 0 R (HD.575) 1278 0 R (HD.576) 1279 0 R (HD.577) 1280 0 R (HD.578) 1281 0 R ] /Limits [ (HD.55) (HD.578) ] >>
endobj
4622 0 obj
-<< /Names [ (HD.696) 1399 0 R (HD.697) 1400 0 R (HD.698) 1401 0 R (HD.699) 1402 0 R (HD.7) 642 0 R (HD.70) 709 0 R (HD.700) 1403 0 R (HD.701) 1404 0 R (HD.702) 1405 0 R (HD.703) 1406 0 R (HD.704) 1407 0 R (HD.705) 1408 0 R (HD.706) 1409 0 R (HD.707) 1410 0 R (HD.708) 1411 0 R (HD.709) 1412 0 R (HD.71) 710 0 R (HD.710) 1413 0 R (HD.711) 1414 0 R (HD.712) 1415 0 R (HD.713) 1416 0 R (HD.714) 1417 0 R (HD.715) 1418 0 R (HD.716) 1419 0 R (HD.717) 1420 0 R (HD.718) 1421 0 R (HD.719) 1422 0 R (HD.72) 711 0 R (HD.720) 1423 0 R (HD.721) 1424 0 R (HD.722) 1425 0 R (HD.723) 1426 0 R ] /Limits [ (HD.696) (HD.723) ] >>
+<< /Names [ (HD.579) 1282 0 R (HD.58) 705 0 R (HD.580) 1283 0 R (HD.581) 1284 0 R (HD.582) 1285 0 R (HD.583) 1286 0 R (HD.584) 1287 0 R (HD.585) 1288 0 R (HD.586) 1289 0 R (HD.587) 1290 0 R (HD.588) 1291 0 R (HD.589) 1292 0 R (HD.59) 706 0 R (HD.590) 1293 0 R (HD.591) 1294 0 R (HD.592) 1295 0 R (HD.593) 1296 0 R (HD.594) 1297 0 R (HD.595) 1298 0 R (HD.596) 1299 0 R (HD.597) 1300 0 R (HD.598) 1301 0 R (HD.599) 1302 0 R (HD.6) 649 0 R (HD.60) 707 0 R (HD.600) 1303 0 R (HD.601) 1304 0 R (HD.602) 1305 0 R (HD.603) 1306 0 R (HD.604) 1307 0 R (HD.605) 1308 0 R (HD.606) 1309 0 R ] /Limits [ (HD.579) (HD.606) ] >>
endobj
4623 0 obj
-<< /Names [ (HD.724) 1427 0 R (HD.725) 1428 0 R (HD.726) 1429 0 R (HD.727) 1430 0 R (HD.728) 1435 0 R (HD.729) 1436 0 R (HD.73) 712 0 R (HD.730) 1437 0 R (HD.731) 1438 0 R (HD.732) 1439 0 R (HD.733) 1440 0 R (HD.734) 1441 0 R (HD.735) 1442 0 R (HD.736) 1443 0 R (HD.737) 1444 0 R (HD.738) 1445 0 R (HD.739) 1446 0 R (HD.74) 713 0 R (HD.740) 1447 0 R (HD.741) 1448 0 R (HD.742) 1449 0 R (HD.743) 1450 0 R (HD.744) 1451 0 R (HD.745) 1452 0 R (HD.746) 1453 0 R (HD.747) 1454 0 R (HD.748) 1455 0 R (HD.749) 1456 0 R (HD.75) 714 0 R (HD.750) 1457 0 R (HD.751) 1458 0 R (HD.752) 1459 0 R ] /Limits [ (HD.724) (HD.752) ] >>
+<< /Names [ (HD.607) 1310 0 R (HD.608) 1311 0 R (HD.609) 1312 0 R (HD.61) 708 0 R (HD.610) 1313 0 R (HD.611) 1314 0 R (HD.612) 1315 0 R (HD.613) 1316 0 R (HD.614) 1317 0 R (HD.615) 1318 0 R (HD.616) 1319 0 R (HD.617) 1320 0 R (HD.618) 1321 0 R (HD.619) 1322 0 R (HD.62) 709 0 R (HD.620) 1323 0 R (HD.621) 1324 0 R (HD.622) 1325 0 R (HD.623) 1326 0 R (HD.624) 1327 0 R (HD.625) 1328 0 R (HD.626) 1329 0 R (HD.627) 1330 0 R (HD.628) 1331 0 R (HD.629) 1332 0 R (HD.63) 710 0 R (HD.630) 1333 0 R (HD.631) 1334 0 R (HD.632) 1335 0 R (HD.633) 1336 0 R (HD.634) 1337 0 R (HD.635) 1338 0 R ] /Limits [ (HD.607) (HD.635) ] >>
endobj
4624 0 obj
-<< /Names [ (HD.753) 1460 0 R (HD.754) 1461 0 R (HD.755) 1462 0 R (HD.756) 1463 0 R (HD.757) 1464 0 R (HD.758) 1465 0 R (HD.759) 1466 0 R (HD.76) 715 0 R (HD.760) 1467 0 R (HD.761) 1468 0 R (HD.762) 1469 0 R (HD.763) 1470 0 R (HD.764) 1471 0 R (HD.765) 1472 0 R (HD.766) 1477 0 R (HD.767) 1478 0 R (HD.768) 1479 0 R (HD.769) 1480 0 R (HD.77) 716 0 R (HD.770) 1481 0 R (HD.771) 1482 0 R (HD.772) 1483 0 R (HD.773) 1484 0 R (HD.774) 1485 0 R (HD.775) 1486 0 R (HD.776) 1487 0 R (HD.777) 1488 0 R (HD.778) 1489 0 R (HD.779) 1490 0 R (HD.78) 717 0 R (HD.780) 1491 0 R (HD.781) 1492 0 R ] /Limits [ (HD.753) (HD.781) ] >>
+<< /Names [ (HD.636) 1339 0 R (HD.637) 1344 0 R (HD.638) 1345 0 R (HD.639) 1346 0 R (HD.64) 711 0 R (HD.640) 1347 0 R (HD.641) 1348 0 R (HD.642) 1349 0 R (HD.643) 1350 0 R (HD.644) 1351 0 R (HD.645) 1352 0 R (HD.646) 1353 0 R (HD.647) 1354 0 R (HD.648) 1355 0 R (HD.649) 1356 0 R (HD.65) 712 0 R (HD.650) 1357 0 R (HD.651) 1358 0 R (HD.652) 1359 0 R (HD.653) 1360 0 R (HD.654) 1361 0 R (HD.655) 1362 0 R (HD.656) 1363 0 R (HD.657) 1364 0 R (HD.658) 1365 0 R (HD.659) 1366 0 R (HD.66) 713 0 R (HD.660) 1367 0 R (HD.661) 1368 0 R (HD.662) 1369 0 R (HD.663) 1370 0 R (HD.664) 1371 0 R ] /Limits [ (HD.636) (HD.664) ] >>
endobj
4625 0 obj
-<< /Names [ (HD.782) 1493 0 R (HD.783) 1494 0 R (HD.784) 1495 0 R (HD.785) 1496 0 R (HD.786) 1497 0 R (HD.787) 1498 0 R (HD.788) 1499 0 R (HD.789) 1500 0 R (HD.79) 718 0 R (HD.790) 1501 0 R (HD.791) 1502 0 R (HD.792) 1503 0 R (HD.793) 1504 0 R (HD.794) 1505 0 R (HD.795) 1506 0 R (HD.796) 1507 0 R (HD.797) 1508 0 R (HD.798) 1509 0 R (HD.799) 1510 0 R (HD.8) 643 0 R (HD.80) 719 0 R (HD.800) 1511 0 R (HD.801) 1512 0 R (HD.802) 1513 0 R (HD.803) 1514 0 R (HD.804) 1515 0 R (HD.805) 1516 0 R (HD.806) 1517 0 R (HD.807) 1518 0 R (HD.808) 1519 0 R (HD.809) 1520 0 R (HD.81) 720 0 R ] /Limits [ (HD.782) (HD.81) ] >>
+<< /Names [ (HD.665) 1372 0 R (HD.666) 1373 0 R (HD.667) 1374 0 R (HD.668) 1375 0 R (HD.669) 1376 0 R (HD.67) 714 0 R (HD.670) 1377 0 R (HD.671) 1378 0 R (HD.672) 1379 0 R (HD.673) 1380 0 R (HD.674) 1381 0 R (HD.675) 1382 0 R (HD.676) 1387 0 R (HD.677) 1388 0 R (HD.678) 1389 0 R (HD.679) 1390 0 R (HD.68) 715 0 R (HD.680) 1391 0 R (HD.681) 1392 0 R (HD.682) 1393 0 R (HD.683) 1394 0 R (HD.684) 1395 0 R (HD.685) 1396 0 R (HD.686) 1397 0 R (HD.687) 1398 0 R (HD.688) 1399 0 R (HD.689) 1400 0 R (HD.69) 716 0 R (HD.690) 1401 0 R (HD.691) 1402 0 R (HD.692) 1403 0 R (HD.693) 1404 0 R ] /Limits [ (HD.665) (HD.693) ] >>
endobj
4626 0 obj
-<< /Names [ (HD.810) 1521 0 R (HD.811) 1522 0 R (HD.812) 1523 0 R (HD.813) 1524 0 R (HD.814) 1525 0 R (HD.815) 1526 0 R (HD.816) 1527 0 R (HD.817) 1528 0 R (HD.818) 1529 0 R (HD.819) 1530 0 R (HD.82) 721 0 R (HD.820) 1535 0 R (HD.821) 1536 0 R (HD.822) 1537 0 R (HD.823) 1538 0 R (HD.824) 1539 0 R (HD.825) 1540 0 R (HD.826) 1541 0 R (HD.827) 1542 0 R (HD.828) 1543 0 R (HD.829) 1544 0 R (HD.83) 722 0 R (HD.830) 1545 0 R (HD.831) 1546 0 R (HD.832) 1547 0 R (HD.833) 1548 0 R (HD.834) 1549 0 R (HD.835) 1550 0 R (HD.836) 1551 0 R (HD.837) 1552 0 R (HD.838) 1553 0 R (HD.839) 1554 0 R ] /Limits [ (HD.810) (HD.839) ] >>
+<< /Names [ (HD.694) 1405 0 R (HD.695) 1406 0 R (HD.696) 1407 0 R (HD.697) 1408 0 R (HD.698) 1409 0 R (HD.699) 1410 0 R (HD.7) 650 0 R (HD.70) 717 0 R (HD.700) 1411 0 R (HD.701) 1412 0 R (HD.702) 1413 0 R (HD.703) 1414 0 R (HD.704) 1415 0 R (HD.705) 1416 0 R (HD.706) 1417 0 R (HD.707) 1418 0 R (HD.708) 1419 0 R (HD.709) 1420 0 R (HD.71) 718 0 R (HD.710) 1421 0 R (HD.711) 1422 0 R (HD.712) 1423 0 R (HD.713) 1424 0 R (HD.714) 1425 0 R (HD.715) 1426 0 R (HD.716) 1427 0 R (HD.717) 1428 0 R (HD.718) 1429 0 R (HD.719) 1430 0 R (HD.72) 719 0 R (HD.720) 1431 0 R (HD.721) 1432 0 R ] /Limits [ (HD.694) (HD.721) ] >>
endobj
4627 0 obj
-<< /Names [ (HD.84) 727 0 R (HD.840) 1555 0 R (HD.841) 1556 0 R (HD.842) 1557 0 R (HD.843) 1558 0 R (HD.844) 1559 0 R (HD.845) 1560 0 R (HD.846) 1561 0 R (HD.847) 1562 0 R (HD.848) 1563 0 R (HD.849) 1564 0 R (HD.85) 728 0 R (HD.850) 1565 0 R (HD.851) 1566 0 R (HD.852) 1567 0 R (HD.853) 1568 0 R (HD.854) 1569 0 R (HD.855) 1570 0 R (HD.856) 1571 0 R (HD.857) 1572 0 R (HD.858) 1573 0 R (HD.859) 1574 0 R (HD.86) 729 0 R (HD.860) 1575 0 R (HD.861) 1576 0 R (HD.862) 1577 0 R (HD.863) 1578 0 R (HD.864) 1579 0 R (HD.865) 1580 0 R (HD.866) 1581 0 R (HD.867) 1582 0 R (HD.868) 1583 0 R ] /Limits [ (HD.84) (HD.868) ] >>
+<< /Names [ (HD.722) 1437 0 R (HD.723) 1438 0 R (HD.724) 1439 0 R (HD.725) 1440 0 R (HD.726) 1441 0 R (HD.727) 1442 0 R (HD.728) 1443 0 R (HD.729) 1444 0 R (HD.73) 720 0 R (HD.730) 1445 0 R (HD.731) 1446 0 R (HD.732) 1447 0 R (HD.733) 1448 0 R (HD.734) 1449 0 R (HD.735) 1450 0 R (HD.736) 1451 0 R (HD.737) 1452 0 R (HD.738) 1453 0 R (HD.739) 1454 0 R (HD.74) 721 0 R (HD.740) 1455 0 R (HD.741) 1456 0 R (HD.742) 1457 0 R (HD.743) 1458 0 R (HD.744) 1459 0 R (HD.745) 1460 0 R (HD.746) 1461 0 R (HD.747) 1462 0 R (HD.748) 1463 0 R (HD.749) 1464 0 R (HD.75) 722 0 R (HD.750) 1465 0 R ] /Limits [ (HD.722) (HD.750) ] >>
endobj
4628 0 obj
-<< /Names [ (HD.869) 1584 0 R (HD.87) 730 0 R (HD.870) 1585 0 R (HD.871) 1586 0 R (HD.872) 1587 0 R (HD.873) 1588 0 R (HD.874) 1589 0 R (HD.875) 1596 0 R (HD.876) 1597 0 R (HD.877) 1598 0 R (HD.878) 1599 0 R (HD.879) 1600 0 R (HD.88) 731 0 R (HD.880) 1601 0 R (HD.881) 1602 0 R (HD.882) 1603 0 R (HD.883) 1604 0 R (HD.884) 1605 0 R (HD.885) 1606 0 R (HD.886) 1607 0 R (HD.887) 1608 0 R (HD.888) 1609 0 R (HD.889) 1610 0 R (HD.89) 732 0 R (HD.890) 1611 0 R (HD.891) 1612 0 R (HD.892) 1613 0 R (HD.893) 1614 0 R (HD.894) 1615 0 R (HD.895) 1616 0 R (HD.896) 1617 0 R (HD.897) 1618 0 R ] /Limits [ (HD.869) (HD.897) ] >>
+<< /Names [ (HD.751) 1466 0 R (HD.752) 1467 0 R (HD.753) 1468 0 R (HD.754) 1469 0 R (HD.755) 1470 0 R (HD.756) 1475 0 R (HD.757) 1476 0 R (HD.758) 1477 0 R (HD.759) 1478 0 R (HD.76) 723 0 R (HD.760) 1479 0 R (HD.761) 1480 0 R (HD.762) 1481 0 R (HD.763) 1482 0 R (HD.764) 1483 0 R (HD.765) 1484 0 R (HD.766) 1485 0 R (HD.767) 1486 0 R (HD.768) 1487 0 R (HD.769) 1488 0 R (HD.77) 724 0 R (HD.770) 1489 0 R (HD.771) 1490 0 R (HD.772) 1491 0 R (HD.773) 1492 0 R (HD.774) 1493 0 R (HD.775) 1494 0 R (HD.776) 1495 0 R (HD.777) 1496 0 R (HD.778) 1497 0 R (HD.779) 1498 0 R (HD.78) 725 0 R ] /Limits [ (HD.751) (HD.78) ] >>
endobj
4629 0 obj
-<< /Names [ (HD.898) 1619 0 R (HD.899) 1620 0 R (HD.9) 644 0 R (HD.90) 733 0 R (HD.900) 1621 0 R (HD.901) 1622 0 R (HD.902) 1623 0 R (HD.903) 1624 0 R (HD.904) 1625 0 R (HD.905) 1626 0 R (HD.906) 1627 0 R (HD.907) 1628 0 R (HD.908) 1629 0 R (HD.909) 1630 0 R (HD.91) 734 0 R (HD.910) 1631 0 R (HD.911) 1632 0 R (HD.912) 1633 0 R (HD.913) 1634 0 R (HD.914) 1635 0 R (HD.915) 1636 0 R (HD.916) 1637 0 R (HD.917) 1642 0 R (HD.918) 1643 0 R (HD.919) 1644 0 R (HD.92) 735 0 R (HD.920) 1645 0 R (HD.921) 1646 0 R (HD.922) 1647 0 R (HD.923) 1648 0 R (HD.924) 1649 0 R (HD.925) 1650 0 R ] /Limits [ (HD.898) (HD.925) ] >>
+<< /Names [ (HD.780) 1499 0 R (HD.781) 1500 0 R (HD.782) 1501 0 R (HD.783) 1502 0 R (HD.784) 1503 0 R (HD.785) 1504 0 R (HD.786) 1505 0 R (HD.787) 1506 0 R (HD.788) 1507 0 R (HD.789) 1508 0 R (HD.79) 726 0 R (HD.790) 1509 0 R (HD.791) 1510 0 R (HD.792) 1511 0 R (HD.793) 1512 0 R (HD.794) 1513 0 R (HD.795) 1514 0 R (HD.796) 1515 0 R (HD.797) 1516 0 R (HD.798) 1517 0 R (HD.799) 1518 0 R (HD.8) 651 0 R (HD.80) 727 0 R (HD.800) 1519 0 R (HD.801) 1520 0 R (HD.802) 1521 0 R (HD.803) 1527 0 R (HD.804) 1528 0 R (HD.805) 1529 0 R (HD.806) 1530 0 R (HD.807) 1531 0 R (HD.808) 1532 0 R ] /Limits [ (HD.780) (HD.808) ] >>
endobj
4630 0 obj
-<< /Names [ (HD.926) 1651 0 R (HD.927) 1652 0 R (HD.928) 1653 0 R (HD.929) 1654 0 R (HD.93) 736 0 R (HD.930) 1655 0 R (HD.931) 1656 0 R (HD.932) 1657 0 R (HD.933) 1658 0 R (HD.934) 1659 0 R (HD.935) 1660 0 R (HD.936) 1661 0 R (HD.937) 1662 0 R (HD.938) 1663 0 R (HD.939) 1664 0 R (HD.94) 737 0 R (HD.940) 1665 0 R (HD.941) 1666 0 R (HD.942) 1667 0 R (HD.943) 1668 0 R (HD.944) 1669 0 R (HD.945) 1670 0 R (HD.946) 1671 0 R (HD.947) 1672 0 R (HD.948) 1673 0 R (HD.949) 1674 0 R (HD.95) 738 0 R (HD.950) 1675 0 R (HD.951) 1676 0 R (HD.952) 1677 0 R (HD.953) 1678 0 R (HD.954) 1679 0 R ] /Limits [ (HD.926) (HD.954) ] >>
+<< /Names [ (HD.809) 1533 0 R (HD.81) 732 0 R (HD.810) 1534 0 R (HD.811) 1535 0 R (HD.812) 1536 0 R (HD.813) 1537 0 R (HD.814) 1538 0 R (HD.815) 1539 0 R (HD.816) 1540 0 R (HD.817) 1541 0 R (HD.818) 1542 0 R (HD.819) 1543 0 R (HD.82) 733 0 R (HD.820) 1544 0 R (HD.821) 1545 0 R (HD.822) 1546 0 R (HD.823) 1547 0 R (HD.824) 1548 0 R (HD.825) 1549 0 R (HD.826) 1550 0 R (HD.827) 1551 0 R (HD.828) 1552 0 R (HD.829) 1553 0 R (HD.83) 734 0 R (HD.830) 1554 0 R (HD.831) 1555 0 R (HD.832) 1556 0 R (HD.833) 1557 0 R (HD.834) 1558 0 R (HD.835) 1559 0 R (HD.836) 1560 0 R (HD.837) 1561 0 R ] /Limits [ (HD.809) (HD.837) ] >>
endobj
4631 0 obj
-<< /Names [ (HD.955) 1680 0 R (HD.956) 1681 0 R (HD.957) 1682 0 R (HD.958) 1683 0 R (HD.959) 1690 0 R (HD.96) 739 0 R (HD.960) 1691 0 R (HD.961) 1692 0 R (HD.962) 1693 0 R (HD.963) 1694 0 R (HD.964) 1695 0 R (HD.965) 1696 0 R (HD.966) 1697 0 R (HD.967) 1698 0 R (HD.968) 1699 0 R (HD.969) 1700 0 R (HD.97) 740 0 R (HD.970) 1701 0 R (HD.971) 1702 0 R (HD.972) 1703 0 R (HD.973) 1704 0 R (HD.974) 1705 0 R (HD.975) 1706 0 R (HD.976) 1707 0 R (HD.977) 1708 0 R (HD.978) 1709 0 R (HD.979) 1710 0 R (HD.98) 741 0 R (HD.980) 1711 0 R (HD.981) 1712 0 R (HD.982) 1713 0 R (HD.983) 1714 0 R ] /Limits [ (HD.955) (HD.983) ] >>
+<< /Names [ (HD.838) 1562 0 R (HD.839) 1563 0 R (HD.84) 735 0 R (HD.840) 1564 0 R (HD.841) 1565 0 R (HD.842) 1566 0 R (HD.843) 1567 0 R (HD.844) 1568 0 R (HD.845) 1569 0 R (HD.846) 1570 0 R (HD.847) 1571 0 R (HD.848) 1572 0 R (HD.849) 1573 0 R (HD.85) 736 0 R (HD.850) 1574 0 R (HD.851) 1575 0 R (HD.852) 1576 0 R (HD.853) 1577 0 R (HD.854) 1578 0 R (HD.855) 1579 0 R (HD.856) 1585 0 R (HD.857) 1586 0 R (HD.858) 1587 0 R (HD.859) 1588 0 R (HD.86) 737 0 R (HD.860) 1589 0 R (HD.861) 1590 0 R (HD.862) 1591 0 R (HD.863) 1592 0 R (HD.864) 1593 0 R (HD.865) 1594 0 R (HD.866) 1595 0 R ] /Limits [ (HD.838) (HD.866) ] >>
endobj
4632 0 obj
-<< /Names [ (HD.984) 1715 0 R (HD.985) 1716 0 R (HD.986) 1717 0 R (HD.987) 1718 0 R (HD.988) 1719 0 R (HD.989) 1720 0 R (HD.99) 742 0 R (HD.990) 1721 0 R (HD.991) 1722 0 R (HD.992) 1723 0 R (HD.993) 1724 0 R (HD.994) 1725 0 R (HD.995) 1726 0 R (HD.996) 1727 0 R (HD.997) 1728 0 R (HD.998) 1729 0 R (HD.999) 1730 0 R (Hfootnote.1) 348 0 R (Hfootnote.10) 415 0 R (Hfootnote.11) 416 0 R (Hfootnote.12) 417 0 R (Hfootnote.13) 426 0 R (Hfootnote.14) 427 0 R (Hfootnote.15) 438 0 R (Hfootnote.16) 439 0 R (Hfootnote.17) 450 0 R (Hfootnote.18) 451 0 R (Hfootnote.19) 463 0 R (Hfootnote.2) 352 0 R (Hfootnote.20) 470 0 R (Hfootnote.21) 471 0 R (Hfootnote.22) 489 0 R ] /Limits [ (HD.984) (Hfootnote.22) ] >>
+<< /Names [ (HD.867) 1596 0 R (HD.868) 1597 0 R (HD.869) 1598 0 R (HD.87) 738 0 R (HD.870) 1599 0 R (HD.871) 1600 0 R (HD.872) 1601 0 R (HD.873) 1602 0 R (HD.874) 1603 0 R (HD.875) 1604 0 R (HD.876) 1605 0 R (HD.877) 1606 0 R (HD.878) 1607 0 R (HD.879) 1608 0 R (HD.88) 739 0 R (HD.880) 1609 0 R (HD.881) 1610 0 R (HD.882) 1611 0 R (HD.883) 1612 0 R (HD.884) 1613 0 R (HD.885) 1614 0 R (HD.886) 1615 0 R (HD.887) 1616 0 R (HD.888) 1617 0 R (HD.889) 1618 0 R (HD.89) 740 0 R (HD.890) 1619 0 R (HD.891) 1620 0 R (HD.892) 1621 0 R (HD.893) 1622 0 R (HD.894) 1623 0 R (HD.895) 1624 0 R ] /Limits [ (HD.867) (HD.895) ] >>
endobj
4633 0 obj
-<< /Names [ (Hfootnote.23) 500 0 R (Hfootnote.24) 520 0 R (Hfootnote.25) 521 0 R (Hfootnote.26) 522 0 R (Hfootnote.27) 523 0 R (Hfootnote.28) 554 0 R (Hfootnote.29) 555 0 R (Hfootnote.3) 368 0 R (Hfootnote.30) 568 0 R (Hfootnote.31) 569 0 R (Hfootnote.32) 570 0 R (Hfootnote.33) 588 0 R (Hfootnote.34) 626 0 R (Hfootnote.35) 623 0 R (Hfootnote.36) 624 0 R (Hfootnote.37) 625 0 R (Hfootnote.38) 1684 0 R (Hfootnote.39) 2577 0 R (Hfootnote.4) 378 0 R (Hfootnote.40) 2710 0 R (Hfootnote.41) 2711 0 R (Hfootnote.42) 2920 0 R (Hfootnote.43) 3247 0 R (Hfootnote.44) 3338 0 R (Hfootnote.45) 3506 0 R (Hfootnote.5) 379 0 R (Hfootnote.6) 393 0 R (Hfootnote.7) 394 0 R (Hfootnote.8) 395 0 R (Hfootnote.9) 396 0 R (page.1) 323 0 R (page.10) 462 0 R ] /Limits [ (Hfootnote.23) (page.10) ] >>
+<< /Names [ (HD.896) 1631 0 R (HD.897) 1632 0 R (HD.898) 1633 0 R (HD.899) 1634 0 R (HD.9) 652 0 R (HD.90) 741 0 R (HD.900) 1635 0 R (HD.901) 1636 0 R (HD.902) 1637 0 R (HD.903) 1638 0 R (HD.904) 1639 0 R (HD.905) 1640 0 R (HD.906) 1641 0 R (HD.907) 1642 0 R (HD.908) 1643 0 R (HD.909) 1644 0 R (HD.91) 742 0 R (HD.910) 1645 0 R (HD.911) 1646 0 R (HD.912) 1647 0 R (HD.913) 1648 0 R (HD.914) 1649 0 R (HD.915) 1650 0 R (HD.916) 1651 0 R (HD.917) 1652 0 R (HD.918) 1653 0 R (HD.919) 1654 0 R (HD.92) 743 0 R (HD.920) 1655 0 R (HD.921) 1656 0 R (HD.922) 1657 0 R (HD.923) 1658 0 R ] /Limits [ (HD.896) (HD.923) ] >>
endobj
4634 0 obj
-<< /Names [ (page.100) 4024 0 R (page.101) 4090 0 R (page.102) 4147 0 R (page.103) 4199 0 R (page.104) 4229 0 R (page.105) 4296 0 R (page.106) 4307 0 R (page.11) 469 0 R (page.12) 477 0 R (page.13) 482 0 R (page.14) 488 0 R (page.15) 499 0 R (page.16) 505 0 R (page.17) 509 0 R (page.18) 517 0 R (page.19) 528 0 R (page.2) 365 0 R (page.20) 539 0 R (page.21) 544 0 R (page.22) 553 0 R (page.23) 566 0 R (page.24) 577 0 R (page.25) 587 0 R (page.26) 593 0 R (page.27) 597 0 R (page.28) 601 0 R (page.29) 607 0 R (page.3) 376 0 R (page.30) 613 0 R (page.31) 622 0 R (page.32) 632 0 R (page.33) 675 0 R ] /Limits [ (page.100) (page.33) ] >>
+<< /Names [ (HD.924) 1659 0 R (HD.925) 1660 0 R (HD.926) 1661 0 R (HD.927) 1662 0 R (HD.928) 1663 0 R (HD.929) 1664 0 R (HD.93) 744 0 R (HD.930) 1665 0 R (HD.931) 1666 0 R (HD.932) 1667 0 R (HD.933) 1668 0 R (HD.934) 1669 0 R (HD.935) 1670 0 R (HD.936) 1671 0 R (HD.937) 1672 0 R (HD.938) 1673 0 R (HD.939) 1674 0 R (HD.94) 745 0 R (HD.940) 1675 0 R (HD.941) 1676 0 R (HD.942) 1677 0 R (HD.943) 1678 0 R (HD.944) 1679 0 R (HD.945) 1684 0 R (HD.946) 1685 0 R (HD.947) 1686 0 R (HD.948) 1687 0 R (HD.949) 1688 0 R (HD.95) 746 0 R (HD.950) 1689 0 R (HD.951) 1690 0 R (HD.952) 1691 0 R ] /Limits [ (HD.924) (HD.952) ] >>
endobj
4635 0 obj
-<< /Names [ (page.34) 726 0 R (page.35) 781 0 R (page.36) 809 0 R (page.37) 834 0 R (page.38) 855 0 R (page.39) 897 0 R (page.4) 391 0 R (page.40) 933 0 R (page.41) 993 0 R (page.42) 1031 0 R (page.43) 1087 0 R (page.44) 1150 0 R (page.45) 1209 0 R (page.46) 1274 0 R (page.47) 1341 0 R (page.48) 1389 0 R (page.49) 1434 0 R (page.5) 413 0 R (page.50) 1476 0 R (page.51) 1534 0 R (page.52) 1595 0 R (page.53) 1641 0 R (page.54) 1689 0 R (page.55) 1735 0 R (page.56) 1787 0 R (page.57) 1848 0 R (page.58) 1892 0 R (page.59) 1955 0 R (page.6) 424 0 R (page.60) 2010 0 R (page.61) 2058 0 R (page.62) 2103 0 R ] /Limits [ (page.34) (page.62) ] >>
+<< /Names [ (HD.953) 1692 0 R (HD.954) 1693 0 R (HD.955) 1694 0 R (HD.956) 1695 0 R (HD.957) 1696 0 R (HD.958) 1697 0 R (HD.959) 1698 0 R (HD.96) 747 0 R (HD.960) 1699 0 R (HD.961) 1700 0 R (HD.962) 1701 0 R (HD.963) 1702 0 R (HD.964) 1703 0 R (HD.965) 1704 0 R (HD.966) 1705 0 R (HD.967) 1706 0 R (HD.968) 1707 0 R (HD.969) 1708 0 R (HD.97) 748 0 R (HD.970) 1709 0 R (HD.971) 1710 0 R (HD.972) 1711 0 R (HD.973) 1712 0 R (HD.974) 1713 0 R (HD.975) 1714 0 R (HD.976) 1715 0 R (HD.977) 1716 0 R (HD.978) 1717 0 R (HD.979) 1718 0 R (HD.98) 749 0 R (HD.980) 1719 0 R (HD.981) 1720 0 R ] /Limits [ (HD.953) (HD.981) ] >>
endobj
4636 0 obj
-<< /Names [ (page.63) 2162 0 R (page.64) 2227 0 R (page.65) 2285 0 R (page.66) 2337 0 R (page.67) 2367 0 R (page.68) 2405 0 R (page.69) 2445 0 R (page.7) 436 0 R (page.70) 2491 0 R (page.71) 2542 0 R (page.72) 2583 0 R (page.73) 2638 0 R (page.74) 2679 0 R (page.75) 2716 0 R (page.76) 2769 0 R (page.77) 2832 0 R (page.78) 2878 0 R (page.79) 2925 0 R (page.8) 447 0 R (page.80) 2981 0 R (page.81) 3036 0 R (page.82) 3080 0 R (page.83) 3139 0 R (page.84) 3199 0 R (page.85) 3252 0 R (page.86) 3290 0 R (page.87) 3343 0 R (page.88) 3395 0 R (page.89) 3455 0 R (page.9) 457 0 R (page.90) 3511 0 R (page.91) 3578 0 R ] /Limits [ (page.63) (page.91) ] >>
+<< /Names [ (HD.982) 1721 0 R (HD.983) 1722 0 R (HD.984) 1723 0 R (HD.985) 1728 0 R (HD.986) 1729 0 R (HD.987) 1730 0 R (HD.988) 1731 0 R (HD.989) 1732 0 R (HD.99) 750 0 R (HD.990) 1733 0 R (HD.991) 1734 0 R (HD.992) 1735 0 R (HD.993) 1736 0 R (HD.994) 1737 0 R (HD.995) 1738 0 R (HD.996) 1739 0 R (HD.997) 1740 0 R (HD.998) 1741 0 R (HD.999) 1742 0 R (Hfootnote.1) 348 0 R (Hfootnote.10) 426 0 R (Hfootnote.11) 427 0 R (Hfootnote.12) 428 0 R (Hfootnote.13) 429 0 R (Hfootnote.14) 440 0 R (Hfootnote.15) 441 0 R (Hfootnote.16) 442 0 R (Hfootnote.17) 453 0 R (Hfootnote.18) 454 0 R (Hfootnote.19) 465 0 R (Hfootnote.2) 352 0 R (Hfootnote.20) 473 0 R ] /Limits [ (HD.982) (Hfootnote.20) ] >>
endobj
4637 0 obj
-<< /Names [ (page.92) 3634 0 R (page.93) 3673 0 R (page.94) 3724 0 R (page.95) 3769 0 R (page.96) 3821 0 R (page.97) 3864 0 R (page.98) 3920 0 R (page.99) 3970 0 R (piton:passe) 449 0 R (piton:transpose) 448 0 R (section*.1) 2392 0 R (section*.10) 2838 0 R (section*.11) 2843 0 R (section*.12) 2887 0 R (section*.13) 2889 0 R (section*.14) 3024 0 R (section*.15) 3027 0 R (section*.16) 3038 0 R (section*.17) 3068 0 R (section*.18) 3087 0 R (section*.19) 3117 0 R (section*.2) 2446 0 R (section*.20) 3164 0 R (section*.21) 3166 0 R (section*.22) 3255 0 R (section*.23) 3267 0 R (section*.24) 3272 0 R (section*.25) 3274 0 R (section*.26) 3291 0 R (section*.27) 3390 0 R (section*.28) 3396 0 R (section*.29) 3401 0 R ] /Limits [ (page.92) (section*.29) ] >>
+<< /Names [ (Hfootnote.21) 474 0 R (Hfootnote.22) 492 0 R (Hfootnote.23) 508 0 R (Hfootnote.24) 523 0 R (Hfootnote.25) 524 0 R (Hfootnote.26) 531 0 R (Hfootnote.27) 532 0 R (Hfootnote.28) 552 0 R (Hfootnote.29) 553 0 R (Hfootnote.3) 368 0 R (Hfootnote.30) 550 0 R (Hfootnote.31) 551 0 R (Hfootnote.32) 581 0 R (Hfootnote.33) 596 0 R (Hfootnote.34) 635 0 R (Hfootnote.35) 632 0 R (Hfootnote.36) 633 0 R (Hfootnote.37) 634 0 R (Hfootnote.38) 1625 0 R (Hfootnote.39) 2587 0 R (Hfootnote.4) 378 0 R (Hfootnote.40) 2717 0 R (Hfootnote.41) 2718 0 R (Hfootnote.42) 2925 0 R (Hfootnote.43) 3246 0 R (Hfootnote.44) 3336 0 R (Hfootnote.45) 3502 0 R (Hfootnote.5) 379 0 R (Hfootnote.6) 395 0 R (Hfootnote.7) 396 0 R (Hfootnote.8) 397 0 R (Hfootnote.9) 398 0 R ] /Limits [ (Hfootnote.21) (Hfootnote.9) ] >>
endobj
4638 0 obj
-<< /Names [ (section*.3) 2481 0 R (section*.30) 3414 0 R (section*.31) 4200 0 R (section*.32) 4201 0 R (section*.33) 4202 0 R (section*.34) 4203 0 R (section*.35) 4204 0 R (section*.36) 4205 0 R (section*.37) 4206 0 R (section*.38) 4207 0 R (section*.39) 4208 0 R (section*.4) 2563 0 R (section*.40) 4209 0 R (section*.41) 4230 0 R (section*.42) 4231 0 R (section*.43) 4232 0 R (section*.44) 4233 0 R (section*.45) 4234 0 R (section*.46) 4235 0 R (section*.47) 4236 0 R (section*.5) 2684 0 R (section*.6) 2751 0 R (section*.7) 2762 0 R (section*.8) 2764 0 R (section*.9) 2770 0 R (section.0.1) 5 0 R (section.0.10) 201 0 R (section.0.11) 309 0 R (section.0.2) 9 0 R (section.0.3) 13 0 R (section.0.4) 33 0 R (section.0.5) 61 0 R ] /Limits [ (section*.3) (section.0.5) ] >>
+<< /Names [ (page.1) 323 0 R (page.10) 464 0 R (page.100) 3947 0 R (page.101) 3998 0 R (page.102) 4051 0 R (page.103) 4117 0 R (page.104) 4175 0 R (page.105) 4231 0 R (page.106) 4298 0 R (page.107) 4311 0 R (page.11) 472 0 R (page.12) 480 0 R (page.13) 484 0 R (page.14) 491 0 R (page.15) 502 0 R (page.16) 507 0 R (page.17) 513 0 R (page.18) 520 0 R (page.19) 530 0 R (page.2) 365 0 R (page.20) 539 0 R (page.21) 548 0 R (page.22) 564 0 R (page.23) 573 0 R (page.24) 577 0 R (page.25) 588 0 R (page.26) 595 0 R (page.27) 601 0 R (page.28) 605 0 R (page.29) 609 0 R (page.3) 376 0 R (page.30) 615 0 R ] /Limits [ (page.1) (page.30) ] >>
endobj
4639 0 obj
-<< /Names [ (section.0.6) 65 0 R (section.0.7) 145 0 R (section.0.8) 149 0 R (section.0.9) 173 0 R (subsection.0.10.1) 205 0 R (subsection.0.10.2) 209 0 R (subsection.0.10.3) 269 0 R (subsection.0.3.1) 17 0 R (subsection.0.3.2) 21 0 R (subsection.0.3.3) 25 0 R (subsection.0.3.4) 29 0 R (subsection.0.4.1) 37 0 R (subsection.0.4.2) 41 0 R (subsection.0.4.3) 57 0 R (subsection.0.6.1) 69 0 R (subsection.0.6.2) 81 0 R (subsection.0.6.3) 93 0 R (subsection.0.6.4) 97 0 R (subsection.0.6.5) 121 0 R (subsection.0.6.6) 137 0 R (subsection.0.6.7) 141 0 R (subsection.0.8.1) 153 0 R (subsection.0.8.2) 157 0 R (subsection.0.8.3) 161 0 R (subsection.0.8.4) 165 0 R (subsection.0.8.5) 169 0 R (subsection.0.9.1) 177 0 R (subsection.0.9.2) 181 0 R (subsection.0.9.3) 185 0 R (subsection.0.9.4) 189 0 R (subsection.0.9.5) 193 0 R (subsection.0.9.6) 197 0 R ] /Limits [ (section.0.6) (subsection.0.9.6) ] >>
+<< /Names [ (page.31) 621 0 R (page.32) 631 0 R (page.33) 640 0 R (page.34) 680 0 R (page.35) 731 0 R (page.36) 786 0 R (page.37) 812 0 R (page.38) 838 0 R (page.39) 866 0 R (page.4) 393 0 R (page.40) 903 0 R (page.41) 947 0 R (page.42) 1006 0 R (page.43) 1042 0 R (page.44) 1089 0 R (page.45) 1152 0 R (page.46) 1211 0 R (page.47) 1276 0 R (page.48) 1343 0 R (page.49) 1386 0 R (page.5) 411 0 R (page.50) 1436 0 R (page.51) 1474 0 R (page.52) 1526 0 R (page.53) 1584 0 R (page.54) 1630 0 R (page.55) 1683 0 R (page.56) 1727 0 R (page.57) 1779 0 R (page.58) 1839 0 R (page.59) 1888 0 R (page.6) 424 0 R ] /Limits [ (page.31) (page.6) ] >>
endobj
4640 0 obj
-<< /Names [ (subsubsection.0.10.2.1) 213 0 R (subsubsection.0.10.2.10) 249 0 R (subsubsection.0.10.2.11) 253 0 R (subsubsection.0.10.2.12) 257 0 R (subsubsection.0.10.2.13) 261 0 R (subsubsection.0.10.2.14) 265 0 R (subsubsection.0.10.2.2) 217 0 R (subsubsection.0.10.2.3) 221 0 R (subsubsection.0.10.2.4) 225 0 R (subsubsection.0.10.2.5) 229 0 R (subsubsection.0.10.2.6) 233 0 R (subsubsection.0.10.2.7) 237 0 R (subsubsection.0.10.2.8) 241 0 R (subsubsection.0.10.2.9) 245 0 R (subsubsection.0.10.3.1) 273 0 R (subsubsection.0.10.3.2) 277 0 R (subsubsection.0.10.3.3) 281 0 R (subsubsection.0.10.3.4) 285 0 R (subsubsection.0.10.3.5) 289 0 R (subsubsection.0.10.3.6) 293 0 R (subsubsection.0.10.3.7) 297 0 R (subsubsection.0.10.3.8) 301 0 R (subsubsection.0.10.3.9) 305 0 R (subsubsection.0.4.2.1) 45 0 R (subsubsection.0.4.2.2) 49 0 R (subsubsection.0.4.2.3) 53 0 R (subsubsection.0.6.1.1) 73 0 R (subsubsection.0.6.1.2) 77 0 R (subsubsection.0.6.2.1) 85 0 R (subsubsection.0.6.2.2) 89 0 R (subsubsection.0.6.4.1) 101 0 R (subsubsection.0.6.4.2) 105 0 R ] /Limits [ (subsubsection.0.10.2.1) (subsubsection.0.6.4.2) ] >>
+<< /Names [ (page.60) 1954 0 R (page.61) 2005 0 R (page.62) 2045 0 R (page.63) 2096 0 R (page.64) 2158 0 R (page.65) 2221 0 R (page.66) 2275 0 R (page.67) 2323 0 R (page.68) 2357 0 R (page.69) 2395 0 R (page.7) 438 0 R (page.70) 2439 0 R (page.71) 2491 0 R (page.72) 2552 0 R (page.73) 2592 0 R (page.74) 2653 0 R (page.75) 2681 0 R (page.76) 2723 0 R (page.77) 2777 0 R (page.78) 2836 0 R (page.79) 2881 0 R (page.8) 450 0 R (page.80) 2930 0 R (page.81) 2984 0 R (page.82) 3038 0 R (page.83) 3084 0 R (page.84) 3143 0 R (page.85) 3198 0 R (page.86) 3251 0 R (page.87) 3289 0 R (page.88) 3341 0 R (page.89) 3393 0 R ] /Limits [ (page.60) (page.89) ] >>
endobj
4641 0 obj
-<< /Names [ (subsubsection.0.6.4.3) 109 0 R (subsubsection.0.6.4.4) 113 0 R (subsubsection.0.6.4.5) 117 0 R (subsubsection.0.6.5.1) 125 0 R (subsubsection.0.6.5.2) 129 0 R (subsubsection.0.6.5.3) 133 0 R (toc1.1) 313 0 R ] /Limits [ (subsubsection.0.6.4.3) (toc1.1) ] >>
+<< /Names [ (page.9) 459 0 R (page.90) 3452 0 R (page.91) 3507 0 R (page.92) 3573 0 R (page.93) 3628 0 R (page.94) 3670 0 R (page.95) 3719 0 R (page.96) 3753 0 R (page.97) 3794 0 R (page.98) 3840 0 R (page.99) 3888 0 R (piton:passe) 452 0 R (piton:transpose) 451 0 R (section*.1) 2374 0 R (section*.10) 2832 0 R (section*.11) 2841 0 R (section*.12) 2885 0 R (section*.13) 2887 0 R (section*.14) 3024 0 R (section*.15) 3027 0 R (section*.16) 3039 0 R (section*.17) 3069 0 R (section*.18) 3087 0 R (section*.19) 3117 0 R (section*.2) 2424 0 R (section*.20) 3164 0 R (section*.21) 3166 0 R (section*.22) 3254 0 R (section*.23) 3266 0 R (section*.24) 3271 0 R (section*.25) 3273 0 R (section*.26) 3290 0 R ] /Limits [ (page.9) (section*.26) ] >>
endobj
4642 0 obj
-<< /Kids [ 4532 0 R 4533 0 R 4534 0 R 4535 0 R 4536 0 R 4537 0 R 4538 0 R 4539 0 R 4540 0 R 4541 0 R 4542 0 R 4543 0 R 4544 0 R 4545 0 R 4546 0 R 4547 0 R 4548 0 R 4549 0 R 4550 0 R 4551 0 R 4552 0 R 4553 0 R 4554 0 R 4555 0 R 4556 0 R 4557 0 R 4558 0 R 4559 0 R 4560 0 R 4561 0 R 4562 0 R 4563 0 R ] /Limits [ (Doc-Start) (HD.1919) ] >>
+<< /Names [ (section*.27) 3388 0 R (section*.28) 3394 0 R (section*.29) 3399 0 R (section*.3) 2465 0 R (section*.30) 3412 0 R (section*.31) 4210 0 R (section*.32) 4211 0 R (section*.33) 4212 0 R (section*.34) 4232 0 R (section*.35) 4233 0 R (section*.36) 4234 0 R (section*.37) 4235 0 R (section*.38) 4236 0 R (section*.39) 4237 0 R (section*.4) 2557 0 R (section*.40) 4238 0 R (section*.41) 4239 0 R (section*.5) 2682 0 R (section*.6) 2749 0 R (section*.7) 2760 0 R (section*.8) 2762 0 R (section*.9) 2764 0 R (section.0.1) 5 0 R (section.0.10) 197 0 R (section.0.11) 309 0 R (section.0.2) 9 0 R (section.0.3) 13 0 R (section.0.4) 33 0 R (section.0.5) 61 0 R (section.0.6) 65 0 R (section.0.7) 145 0 R (section.0.8) 149 0 R ] /Limits [ (section*.27) (section.0.8) ] >>
endobj
4643 0 obj
-<< /Kids [ 4564 0 R 4565 0 R 4566 0 R 4567 0 R 4568 0 R 4569 0 R 4570 0 R 4571 0 R 4572 0 R 4573 0 R 4574 0 R 4575 0 R 4576 0 R 4577 0 R 4578 0 R 4579 0 R 4580 0 R 4581 0 R 4582 0 R 4583 0 R 4584 0 R 4585 0 R 4586 0 R 4587 0 R 4588 0 R 4589 0 R 4590 0 R 4591 0 R 4592 0 R 4593 0 R 4594 0 R 4595 0 R ] /Limits [ (HD.192) (HD.2840) ] >>
+<< /Names [ (section.0.9) 169 0 R (subsection.0.10.1) 201 0 R (subsection.0.10.2) 205 0 R (subsection.0.10.3) 265 0 R (subsection.0.3.1) 17 0 R (subsection.0.3.2) 21 0 R (subsection.0.3.3) 25 0 R (subsection.0.3.4) 29 0 R (subsection.0.4.1) 37 0 R (subsection.0.4.2) 41 0 R (subsection.0.4.3) 57 0 R (subsection.0.6.1) 69 0 R (subsection.0.6.2) 81 0 R (subsection.0.6.3) 93 0 R (subsection.0.6.4) 97 0 R (subsection.0.6.5) 121 0 R (subsection.0.6.6) 137 0 R (subsection.0.6.7) 141 0 R (subsection.0.8.1) 153 0 R (subsection.0.8.2) 157 0 R (subsection.0.8.3) 161 0 R (subsection.0.8.4) 165 0 R (subsection.0.9.1) 173 0 R (subsection.0.9.2) 177 0 R (subsection.0.9.3) 181 0 R (subsection.0.9.4) 185 0 R (subsection.0.9.5) 189 0 R (subsection.0.9.6) 193 0 R (subsubsection.0.10.2.1) 209 0 R (subsubsection.0.10.2.10) 245 0 R (subsubsection.0.10.2.11) 249 0 R (subsubsection.0.10.2.12) 253 0 R ] /Limits [ (section.0.9) (subsubsection.0.10.2.12) ] >>
endobj
4644 0 obj
-<< /Kids [ 4596 0 R 4597 0 R 4598 0 R 4599 0 R 4600 0 R 4601 0 R 4602 0 R 4603 0 R 4604 0 R 4605 0 R 4606 0 R 4607 0 R 4608 0 R 4609 0 R 4610 0 R 4611 0 R 4612 0 R 4613 0 R 4614 0 R 4615 0 R 4616 0 R 4617 0 R 4618 0 R 4619 0 R 4620 0 R 4621 0 R 4622 0 R 4623 0 R 4624 0 R 4625 0 R 4626 0 R 4627 0 R ] /Limits [ (HD.2841) (HD.868) ] >>
+<< /Names [ (subsubsection.0.10.2.13) 257 0 R (subsubsection.0.10.2.14) 261 0 R (subsubsection.0.10.2.2) 213 0 R (subsubsection.0.10.2.3) 217 0 R (subsubsection.0.10.2.4) 221 0 R (subsubsection.0.10.2.5) 225 0 R (subsubsection.0.10.2.6) 229 0 R (subsubsection.0.10.2.7) 233 0 R (subsubsection.0.10.2.8) 237 0 R (subsubsection.0.10.2.9) 241 0 R (subsubsection.0.10.3.1) 269 0 R (subsubsection.0.10.3.10) 305 0 R (subsubsection.0.10.3.2) 273 0 R (subsubsection.0.10.3.3) 277 0 R (subsubsection.0.10.3.4) 281 0 R (subsubsection.0.10.3.5) 285 0 R (subsubsection.0.10.3.6) 289 0 R (subsubsection.0.10.3.7) 293 0 R (subsubsection.0.10.3.8) 297 0 R (subsubsection.0.10.3.9) 301 0 R (subsubsection.0.4.2.1) 45 0 R (subsubsection.0.4.2.2) 49 0 R (subsubsection.0.4.2.3) 53 0 R (subsubsection.0.6.1.1) 73 0 R (subsubsection.0.6.1.2) 77 0 R (subsubsection.0.6.2.1) 85 0 R (subsubsection.0.6.2.2) 89 0 R (subsubsection.0.6.4.1) 101 0 R (subsubsection.0.6.4.2) 105 0 R (subsubsection.0.6.4.3) 109 0 R (subsubsection.0.6.4.4) 113 0 R (subsubsection.0.6.4.5) 117 0 R ] /Limits [ (subsubsection.0.10.2.13) (subsubsection.0.6.4.5) ] >>
endobj
4645 0 obj
-<< /Kids [ 4628 0 R 4629 0 R 4630 0 R 4631 0 R 4632 0 R 4633 0 R 4634 0 R 4635 0 R 4636 0 R 4637 0 R 4638 0 R 4639 0 R 4640 0 R 4641 0 R ] /Limits [ (HD.869) (toc1.1) ] >>
+<< /Names [ (subsubsection.0.6.5.1) 125 0 R (subsubsection.0.6.5.2) 129 0 R (subsubsection.0.6.5.3) 133 0 R (toc1.1) 313 0 R ] /Limits [ (subsubsection.0.6.5.1) (toc1.1) ] >>
endobj
4646 0 obj
-<< /Kids [ 4642 0 R 4643 0 R 4644 0 R 4645 0 R ] /Limits [ (Doc-Start) (toc1.1) ] >>
+<< /Kids [ 4536 0 R 4537 0 R 4538 0 R 4539 0 R 4540 0 R 4541 0 R 4542 0 R 4543 0 R 4544 0 R 4545 0 R 4546 0 R 4547 0 R 4548 0 R 4549 0 R 4550 0 R 4551 0 R 4552 0 R 4553 0 R 4554 0 R 4555 0 R 4556 0 R 4557 0 R 4558 0 R 4559 0 R 4560 0 R 4561 0 R 4562 0 R 4563 0 R 4564 0 R 4565 0 R 4566 0 R 4567 0 R ] /Limits [ (Doc-Start) (HD.1919) ] >>
endobj
4647 0 obj
-<< /Dests 4646 0 R >>
+<< /Kids [ 4568 0 R 4569 0 R 4570 0 R 4571 0 R 4572 0 R 4573 0 R 4574 0 R 4575 0 R 4576 0 R 4577 0 R 4578 0 R 4579 0 R 4580 0 R 4581 0 R 4582 0 R 4583 0 R 4584 0 R 4585 0 R 4586 0 R 4587 0 R 4588 0 R 4589 0 R 4590 0 R 4591 0 R 4592 0 R 4593 0 R 4594 0 R 4595 0 R 4596 0 R 4597 0 R 4598 0 R 4599 0 R ] /Limits [ (HD.192) (HD.2840) ] >>
endobj
4648 0 obj
-<< /Type /Catalog /Pages 4530 0 R /Outlines 4531 0 R /Names 4647 0 R /PageMode/UseOutlines /OpenAction 316 0 R >>
+<< /Kids [ 4600 0 R 4601 0 R 4602 0 R 4603 0 R 4604 0 R 4605 0 R 4606 0 R 4607 0 R 4608 0 R 4609 0 R 4610 0 R 4611 0 R 4612 0 R 4613 0 R 4614 0 R 4615 0 R 4616 0 R 4617 0 R 4618 0 R 4619 0 R 4620 0 R 4621 0 R 4622 0 R 4623 0 R 4624 0 R 4625 0 R 4626 0 R 4627 0 R 4628 0 R 4629 0 R 4630 0 R 4631 0 R ] /Limits [ (HD.2841) (HD.866) ] >>
endobj
4649 0 obj
-<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y\000\040\000,\000\040\000f\000p\000a\000n\000t\000i\000g\000n\000y\000@\000w\000a\000n\000a\000d\000o\000o\000.\000f\000r)/Title(\376\377\000T\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000p\000i\000t\000o\000n)/Subject()/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240523185009+02'00') /ModDate (D:20240523185009+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
+<< /Kids [ 4632 0 R 4633 0 R 4634 0 R 4635 0 R 4636 0 R 4637 0 R 4638 0 R 4639 0 R 4640 0 R 4641 0 R 4642 0 R 4643 0 R 4644 0 R 4645 0 R ] /Limits [ (HD.867) (toc1.1) ] >>
+endobj
+4650 0 obj
+<< /Kids [ 4646 0 R 4647 0 R 4648 0 R 4649 0 R ] /Limits [ (Doc-Start) (toc1.1) ] >>
+endobj
+4651 0 obj
+<< /Dests 4650 0 R >>
+endobj
+4652 0 obj
+<< /Type /Catalog /Pages 4534 0 R /Outlines 4535 0 R /Names 4651 0 R /PageMode/UseOutlines /OpenAction 316 0 R >>
+endobj
+4653 0 obj
+<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y\000\040\000,\000\040\000f\000p\000a\000n\000t\000i\000g\000n\000y\000@\000w\000a\000n\000a\000d\000o\000o\000.\000f\000r)/Title(\376\377\000T\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000p\000i\000t\000o\000n)/Subject()/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240812173627+02'00') /ModDate (D:20240812173627+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
endobj
xref
-0 4650
+0 4654
0000000000 65535 f
-0000606561 00000 n
-0000606606 00000 n
-0000606626 00000 n
+0000613551 00000 n
+0000613596 00000 n
+0000613616 00000 n
0000000020 00000 n
-0000024062 00000 n
-0000885545 00000 n
+0000024153 00000 n
+0000892406 00000 n
0000000067 00000 n
0000000167 00000 n
-0000029704 00000 n
-0000885458 00000 n
+0000029796 00000 n
+0000892319 00000 n
0000000214 00000 n
0000000315 00000 n
-0000029764 00000 n
-0000885332 00000 n
+0000029856 00000 n
+0000892193 00000 n
0000000363 00000 n
0000000503 00000 n
-0000029825 00000 n
-0000885258 00000 n
+0000029917 00000 n
+0000892119 00000 n
0000000556 00000 n
0000000708 00000 n
-0000029886 00000 n
-0000885171 00000 n
+0000029978 00000 n
+0000892032 00000 n
0000000761 00000 n
0000000979 00000 n
-0000029947 00000 n
-0000885084 00000 n
+0000030039 00000 n
+0000891945 00000 n
0000001032 00000 n
0000001248 00000 n
-0000035326 00000 n
-0000885010 00000 n
+0000035418 00000 n
+0000891871 00000 n
0000001301 00000 n
0000001530 00000 n
-0000042425 00000 n
-0000884884 00000 n
+0000042902 00000 n
+0000891745 00000 n
0000001578 00000 n
0000001684 00000 n
-0000042486 00000 n
-0000884810 00000 n
+0000042963 00000 n
+0000891671 00000 n
0000001737 00000 n
0000001991 00000 n
-0000054349 00000 n
-0000884686 00000 n
+0000060536 00000 n
+0000891547 00000 n
0000002044 00000 n
0000002148 00000 n
-0000054410 00000 n
-0000884612 00000 n
+0000060597 00000 n
+0000891473 00000 n
0000002206 00000 n
0000002348 00000 n
-0000059557 00000 n
-0000884525 00000 n
+0000060658 00000 n
+0000891386 00000 n
0000002406 00000 n
0000002629 00000 n
-0000064722 00000 n
-0000884451 00000 n
+0000065944 00000 n
+0000891312 00000 n
0000002687 00000 n
0000002864 00000 n
-0000064911 00000 n
-0000884377 00000 n
+0000066132 00000 n
+0000891238 00000 n
0000002917 00000 n
0000003117 00000 n
-0000068900 00000 n
-0000884288 00000 n
+0000070157 00000 n
+0000891149 00000 n
0000003165 00000 n
0000003505 00000 n
-0000073253 00000 n
-0000884160 00000 n
+0000079217 00000 n
+0000891021 00000 n
0000003553 00000 n
0000003682 00000 n
-0000073314 00000 n
-0000884049 00000 n
+0000079278 00000 n
+0000890910 00000 n
0000003735 00000 n
0000003933 00000 n
-0000073374 00000 n
-0000883975 00000 n
+0000079339 00000 n
+0000890836 00000 n
0000003991 00000 n
0000004110 00000 n
-0000078664 00000 n
-0000883901 00000 n
+0000079400 00000 n
+0000890762 00000 n
0000004168 00000 n
0000004287 00000 n
-0000082649 00000 n
-0000883777 00000 n
+0000083649 00000 n
+0000890638 00000 n
0000004340 00000 n
0000004554 00000 n
-0000082710 00000 n
-0000883703 00000 n
+0000083710 00000 n
+0000890564 00000 n
0000004612 00000 n
0000004764 00000 n
-0000082771 00000 n
-0000883629 00000 n
+0000087224 00000 n
+0000890490 00000 n
0000004822 00000 n
0000004989 00000 n
-0000089940 00000 n
-0000883542 00000 n
+0000091370 00000 n
+0000890403 00000 n
0000005042 00000 n
0000005244 00000 n
-0000094927 00000 n
-0000883415 00000 n
+0000095513 00000 n
+0000890276 00000 n
0000005297 00000 n
0000005505 00000 n
-0000094988 00000 n
-0000883337 00000 n
+0000095574 00000 n
+0000890198 00000 n
0000005564 00000 n
0000005742 00000 n
-0000098856 00000 n
-0000883245 00000 n
+0000099796 00000 n
+0000890106 00000 n
0000005801 00000 n
0000005994 00000 n
-0000098918 00000 n
-0000883153 00000 n
+0000099858 00000 n
+0000890014 00000 n
0000006053 00000 n
0000006266 00000 n
-0000098980 00000 n
-0000883061 00000 n
+0000104044 00000 n
+0000889922 00000 n
0000006325 00000 n
0000006513 00000 n
-0000102574 00000 n
-0000882983 00000 n
+0000104106 00000 n
+0000889844 00000 n
0000006572 00000 n
0000006785 00000 n
-0000108035 00000 n
-0000882853 00000 n
+0000108501 00000 n
+0000889714 00000 n
0000006839 00000 n
0000007048 00000 n
-0000108097 00000 n
-0000882774 00000 n
+0000108563 00000 n
+0000889635 00000 n
0000007107 00000 n
0000007430 00000 n
-0000108159 00000 n
-0000882681 00000 n
+0000108625 00000 n
+0000889542 00000 n
0000007489 00000 n
0000007866 00000 n
-0000111687 00000 n
-0000882602 00000 n
+0000113035 00000 n
+0000889463 00000 n
0000007925 00000 n
0000008322 00000 n
-0000117723 00000 n
-0000882510 00000 n
+0000117889 00000 n
+0000889371 00000 n
0000008376 00000 n
0000008633 00000 n
-0000117784 00000 n
-0000882432 00000 n
+0000122585 00000 n
+0000889293 00000 n
0000008687 00000 n
0000008794 00000 n
-0000117846 00000 n
-0000882339 00000 n
+0000128117 00000 n
+0000889200 00000 n
0000008843 00000 n
0000009009 00000 n
-0000121909 00000 n
-0000882206 00000 n
+0000128179 00000 n
+0000889067 00000 n
0000009058 00000 n
0000009140 00000 n
-0000121971 00000 n
-0000882127 00000 n
+0000128241 00000 n
+0000888988 00000 n
0000009194 00000 n
0000009319 00000 n
-0000122033 00000 n
-0000882034 00000 n
+0000131710 00000 n
+0000888895 00000 n
0000009373 00000 n
0000009597 00000 n
-0000126540 00000 n
-0000881941 00000 n
+0000136014 00000 n
+0000888802 00000 n
0000009651 00000 n
-0000009817 00000 n
-0000131616 00000 n
-0000881848 00000 n
-0000009871 00000 n
-0000010111 00000 n
-0000134939 00000 n
-0000881769 00000 n
-0000010165 00000 n
-0000010308 00000 n
-0000139455 00000 n
-0000881636 00000 n
-0000010357 00000 n
-0000010652 00000 n
-0000139517 00000 n
-0000881557 00000 n
-0000010706 00000 n
-0000010859 00000 n
-0000143047 00000 n
-0000881464 00000 n
-0000010913 00000 n
-0000011061 00000 n
-0000146638 00000 n
-0000881371 00000 n
-0000011115 00000 n
-0000011305 00000 n
-0000150029 00000 n
-0000881278 00000 n
-0000011359 00000 n
-0000011497 00000 n
-0000152201 00000 n
-0000881185 00000 n
-0000011551 00000 n
-0000011729 00000 n
-0000154201 00000 n
-0000881106 00000 n
-0000011783 00000 n
-0000012060 00000 n
-0000158712 00000 n
-0000880973 00000 n
-0000012110 00000 n
-0000012227 00000 n
-0000158774 00000 n
-0000880894 00000 n
-0000012282 00000 n
-0000012399 00000 n
-0000162705 00000 n
-0000880761 00000 n
-0000012454 00000 n
-0000012691 00000 n
-0000162767 00000 n
-0000880682 00000 n
-0000012751 00000 n
-0000012957 00000 n
-0000180318 00000 n
-0000880589 00000 n
-0000013017 00000 n
-0000013273 00000 n
-0000199859 00000 n
-0000880496 00000 n
-0000013333 00000 n
-0000013550 00000 n
-0000220528 00000 n
-0000880403 00000 n
-0000013610 00000 n
-0000013737 00000 n
-0000247081 00000 n
-0000880310 00000 n
-0000013797 00000 n
-0000013996 00000 n
-0000248313 00000 n
-0000880217 00000 n
-0000014056 00000 n
-0000014324 00000 n
-0000252671 00000 n
-0000880124 00000 n
-0000014384 00000 n
-0000014740 00000 n
-0000308873 00000 n
-0000880031 00000 n
-0000014800 00000 n
-0000014920 00000 n
-0000320013 00000 n
-0000879938 00000 n
-0000014980 00000 n
-0000015143 00000 n
-0000325909 00000 n
-0000879845 00000 n
-0000015204 00000 n
-0000015427 00000 n
-0000335723 00000 n
-0000879752 00000 n
-0000015488 00000 n
-0000015600 00000 n
-0000336434 00000 n
-0000879659 00000 n
-0000015661 00000 n
-0000015913 00000 n
-0000350746 00000 n
-0000879566 00000 n
-0000015974 00000 n
-0000016137 00000 n
-0000354756 00000 n
-0000879487 00000 n
-0000016198 00000 n
-0000016358 00000 n
-0000356117 00000 n
-0000879369 00000 n
-0000016413 00000 n
-0000016655 00000 n
-0000393772 00000 n
-0000879290 00000 n
-0000016715 00000 n
-0000016883 00000 n
-0000435167 00000 n
-0000879197 00000 n
-0000016943 00000 n
-0000017106 00000 n
-0000465155 00000 n
-0000879104 00000 n
-0000017166 00000 n
-0000017309 00000 n
-0000477452 00000 n
-0000879011 00000 n
-0000017369 00000 n
-0000017522 00000 n
-0000495129 00000 n
-0000878918 00000 n
-0000017582 00000 n
-0000017775 00000 n
-0000512527 00000 n
-0000878825 00000 n
-0000017835 00000 n
-0000018246 00000 n
-0000513174 00000 n
-0000878732 00000 n
-0000018306 00000 n
-0000018621 00000 n
-0000524998 00000 n
-0000878639 00000 n
-0000018681 00000 n
-0000018903 00000 n
-0000531630 00000 n
-0000878560 00000 n
-0000018963 00000 n
-0000019309 00000 n
-0000575224 00000 n
-0000878466 00000 n
-0000019359 00000 n
-0000019441 00000 n
-0000585853 00000 n
-0000878386 00000 n
-0000019485 00000 n
-0000019554 00000 n
-0000023057 00000 n
-0000023247 00000 n
-0000023558 00000 n
-0000023402 00000 n
-0000024248 00000 n
-0000019618 00000 n
-0000023938 00000 n
-0000024000 00000 n
-0000785985 00000 n
-0000783093 00000 n
-0000875028 00000 n
-0000780879 00000 n
-0000777205 00000 n
-0000773859 00000 n
-0000771227 00000 n
-0000764868 00000 n
-0000762755 00000 n
-0000754610 00000 n
-0000743649 00000 n
-0000739982 00000 n
-0000736879 00000 n
-0000726167 00000 n
-0000722216 00000 n
-0000875744 00000 n
-0000874306 00000 n
-0000874668 00000 n
-0000875920 00000 n
-0000875208 00000 n
-0000715529 00000 n
-0000706795 00000 n
-0000702560 00000 n
-0000024122 00000 n
-0000699450 00000 n
-0000695727 00000 n
-0000023750 00000 n
-0000024185 00000 n
-0000876267 00000 n
-0000023194 00000 n
-0000028848 00000 n
-0000029482 00000 n
-0000029004 00000 n
-0000029160 00000 n
-0000029321 00000 n
-0000034630 00000 n
-0000034791 00000 n
-0000030071 00000 n
-0000028650 00000 n
-0000024684 00000 n
-0000029642 00000 n
-0000688009 00000 n
-0000686220 00000 n
-0000030008 00000 n
-0000028787 00000 n
-0000034952 00000 n
-0000035108 00000 n
-0000041109 00000 n
-0000035513 00000 n
-0000034440 00000 n
-0000030325 00000 n
-0000035264 00000 n
-0000677253 00000 n
-0000035387 00000 n
-0000035450 00000 n
-0000034577 00000 n
-0000041264 00000 n
-0000042053 00000 n
+0000009891 00000 n
+0000136076 00000 n
+0000888723 00000 n
+0000009945 00000 n
+0000010088 00000 n
+0000142267 00000 n
+0000888590 00000 n
+0000010137 00000 n
+0000010432 00000 n
+0000142329 00000 n
+0000888511 00000 n
+0000010486 00000 n
+0000010639 00000 n
+0000145859 00000 n
+0000888418 00000 n
+0000010693 00000 n
+0000010841 00000 n
+0000149450 00000 n
+0000888325 00000 n
+0000010895 00000 n
+0000011085 00000 n
+0000152842 00000 n
+0000888232 00000 n
+0000011139 00000 n
+0000011277 00000 n
+0000155014 00000 n
+0000888139 00000 n
+0000011331 00000 n
+0000011509 00000 n
+0000157013 00000 n
+0000888060 00000 n
+0000011563 00000 n
+0000011840 00000 n
+0000161521 00000 n
+0000887927 00000 n
+0000011890 00000 n
+0000012007 00000 n
+0000161583 00000 n
+0000887848 00000 n
+0000012062 00000 n
+0000012179 00000 n
+0000165606 00000 n
+0000887715 00000 n
+0000012234 00000 n
+0000012471 00000 n
+0000165668 00000 n
+0000887636 00000 n
+0000012531 00000 n
+0000012737 00000 n
+0000183307 00000 n
+0000887543 00000 n
+0000012797 00000 n
+0000013053 00000 n
+0000203232 00000 n
+0000887450 00000 n
+0000013113 00000 n
+0000013330 00000 n
+0000225152 00000 n
+0000887357 00000 n
+0000013390 00000 n
+0000013517 00000 n
+0000251974 00000 n
+0000887264 00000 n
+0000013577 00000 n
+0000013776 00000 n
+0000255710 00000 n
+0000887171 00000 n
+0000013836 00000 n
+0000014104 00000 n
+0000257201 00000 n
+0000887078 00000 n
+0000014164 00000 n
+0000014520 00000 n
+0000312322 00000 n
+0000886985 00000 n
+0000014580 00000 n
+0000014700 00000 n
+0000323293 00000 n
+0000886892 00000 n
+0000014760 00000 n
+0000014923 00000 n
+0000329459 00000 n
+0000886799 00000 n
+0000014984 00000 n
+0000015207 00000 n
+0000336280 00000 n
+0000886706 00000 n
+0000015268 00000 n
+0000015380 00000 n
+0000339407 00000 n
+0000886613 00000 n
+0000015441 00000 n
+0000015693 00000 n
+0000354079 00000 n
+0000886520 00000 n
+0000015754 00000 n
+0000015917 00000 n
+0000355051 00000 n
+0000886441 00000 n
+0000015978 00000 n
+0000016138 00000 n
+0000360385 00000 n
+0000886322 00000 n
+0000016193 00000 n
+0000016435 00000 n
+0000360837 00000 n
+0000886243 00000 n
+0000016495 00000 n
+0000016749 00000 n
+0000398712 00000 n
+0000886150 00000 n
+0000016809 00000 n
+0000016977 00000 n
+0000440053 00000 n
+0000886057 00000 n
+0000017037 00000 n
+0000017200 00000 n
+0000470042 00000 n
+0000885964 00000 n
+0000017260 00000 n
+0000017403 00000 n
+0000482487 00000 n
+0000885871 00000 n
+0000017463 00000 n
+0000017616 00000 n
+0000500408 00000 n
+0000885778 00000 n
+0000017676 00000 n
+0000017869 00000 n
+0000517927 00000 n
+0000885685 00000 n
+0000017929 00000 n
+0000018340 00000 n
+0000518573 00000 n
+0000885592 00000 n
+0000018400 00000 n
+0000018715 00000 n
+0000534577 00000 n
+0000885499 00000 n
+0000018775 00000 n
+0000018997 00000 n
+0000541787 00000 n
+0000885420 00000 n
+0000019058 00000 n
+0000019409 00000 n
+0000585524 00000 n
+0000885326 00000 n
+0000019459 00000 n
+0000019541 00000 n
+0000592612 00000 n
+0000885246 00000 n
+0000019585 00000 n
+0000019654 00000 n
+0000023149 00000 n
+0000023339 00000 n
+0000023649 00000 n
+0000023494 00000 n
+0000024339 00000 n
+0000019718 00000 n
+0000024029 00000 n
+0000024091 00000 n
+0000792836 00000 n
+0000789944 00000 n
+0000881879 00000 n
+0000787730 00000 n
+0000783900 00000 n
+0000780554 00000 n
+0000777922 00000 n
+0000771563 00000 n
+0000769450 00000 n
+0000761305 00000 n
+0000750473 00000 n
+0000746806 00000 n
+0000743703 00000 n
+0000732991 00000 n
+0000729040 00000 n
+0000882595 00000 n
+0000881157 00000 n
+0000881519 00000 n
+0000882771 00000 n
+0000882059 00000 n
+0000722353 00000 n
+0000713766 00000 n
+0000709531 00000 n
+0000024213 00000 n
+0000706421 00000 n
+0000702698 00000 n
+0000023841 00000 n
+0000024276 00000 n
+0000883118 00000 n
+0000023286 00000 n
+0000028940 00000 n
+0000029574 00000 n
+0000029096 00000 n
+0000029252 00000 n
+0000029413 00000 n
+0000034722 00000 n
+0000034883 00000 n
+0000030163 00000 n
+0000028742 00000 n
+0000024775 00000 n
+0000029734 00000 n
+0000694980 00000 n
+0000693191 00000 n
+0000030100 00000 n
+0000028879 00000 n
+0000035044 00000 n
+0000035200 00000 n
+0000041273 00000 n
+0000035605 00000 n
+0000034532 00000 n
+0000030417 00000 n
+0000035356 00000 n
+0000684224 00000 n
+0000035479 00000 n
+0000035542 00000 n
+0000034669 00000 n
+0000041428 00000 n
+0000041584 00000 n
+0000041740 00000 n
+0000042530 00000 n
+0000042685 00000 n
+0000041896 00000 n
+0000042052 00000 n
0000042208 00000 n
-0000041420 00000 n
-0000041575 00000 n
-0000041731 00000 n
-0000041892 00000 n
-0000042797 00000 n
-0000040887 00000 n
-0000035780 00000 n
-0000042363 00000 n
-0000670492 00000 n
-0000042547 00000 n
-0000042610 00000 n
-0000042673 00000 n
-0000042735 00000 n
-0000041024 00000 n
-0000047964 00000 n
-0000048124 00000 n
-0000048285 00000 n
-0000048450 00000 n
-0000048615 00000 n
-0000048772 00000 n
-0000048931 00000 n
-0000049090 00000 n
-0000049246 00000 n
-0000053482 00000 n
-0000053957 00000 n
-0000054122 00000 n
-0000049652 00000 n
-0000047734 00000 n
-0000043064 00000 n
-0000049402 00000 n
-0000667696 00000 n
-0000049464 00000 n
-0000049527 00000 n
-0000049590 00000 n
-0000047871 00000 n
-0000053639 00000 n
-0000053800 00000 n
-0000054597 00000 n
-0000053284 00000 n
-0000049919 00000 n
-0000054287 00000 n
-0000663960 00000 n
-0000054471 00000 n
-0000054534 00000 n
-0000053421 00000 n
-0000058873 00000 n
-0000059028 00000 n
-0000059184 00000 n
-0000059341 00000 n
-0000059742 00000 n
-0000058683 00000 n
-0000054864 00000 n
-0000059495 00000 n
-0000652434 00000 n
-0000059617 00000 n
-0000059680 00000 n
-0000058820 00000 n
-0000064187 00000 n
-0000064347 00000 n
-0000064504 00000 n
-0000065096 00000 n
-0000064005 00000 n
-0000060009 00000 n
-0000064660 00000 n
-0000064783 00000 n
-0000064847 00000 n
-0000064972 00000 n
-0000065034 00000 n
-0000064142 00000 n
-0000073034 00000 n
-0000068961 00000 n
-0000068717 00000 n
-0000065402 00000 n
-0000068838 00000 n
-0000078290 00000 n
-0000073496 00000 n
-0000072868 00000 n
-0000069202 00000 n
-0000073191 00000 n
-0000073433 00000 n
-0000073005 00000 n
-0000078446 00000 n
-0000078851 00000 n
-0000078116 00000 n
-0000073776 00000 n
-0000078602 00000 n
-0000078725 00000 n
-0000078788 00000 n
-0000876420 00000 n
-0000078253 00000 n
-0000082832 00000 n
-0000082466 00000 n
-0000079105 00000 n
-0000082587 00000 n
-0000089403 00000 n
-0000086172 00000 n
-0000085989 00000 n
-0000083086 00000 n
-0000086110 00000 n
-0000089560 00000 n
-0000089719 00000 n
-0000090064 00000 n
-0000089221 00000 n
-0000086374 00000 n
-0000089878 00000 n
-0000090001 00000 n
-0000089358 00000 n
-0000094065 00000 n
-0000094226 00000 n
-0000094387 00000 n
-0000094548 00000 n
-0000094709 00000 n
-0000095113 00000 n
-0000093867 00000 n
-0000090318 00000 n
-0000094865 00000 n
-0000095050 00000 n
-0000094004 00000 n
-0000099042 00000 n
-0000098673 00000 n
-0000095380 00000 n
-0000098794 00000 n
-0000102636 00000 n
-0000102391 00000 n
-0000099270 00000 n
-0000102512 00000 n
-0000107345 00000 n
-0000107502 00000 n
-0000107659 00000 n
-0000107816 00000 n
-0000108471 00000 n
-0000107155 00000 n
-0000102812 00000 n
-0000107973 00000 n
-0000875386 00000 n
-0000874487 00000 n
-0000108220 00000 n
-0000108283 00000 n
-0000108346 00000 n
-0000108409 00000 n
-0000107292 00000 n
-0000111749 00000 n
-0000111504 00000 n
-0000108829 00000 n
-0000111625 00000 n
-0000116529 00000 n
-0000116690 00000 n
-0000116851 00000 n
-0000117011 00000 n
-0000117177 00000 n
-0000117343 00000 n
-0000117502 00000 n
-0000117908 00000 n
-0000116315 00000 n
-0000111938 00000 n
-0000117661 00000 n
-0000116452 00000 n
-0000122095 00000 n
-0000121726 00000 n
-0000118110 00000 n
-0000121847 00000 n
-0000876573 00000 n
-0000125844 00000 n
-0000126005 00000 n
-0000126166 00000 n
-0000126321 00000 n
-0000126727 00000 n
-0000125654 00000 n
-0000122297 00000 n
-0000126478 00000 n
-0000126601 00000 n
-0000126664 00000 n
-0000125791 00000 n
-0000130458 00000 n
-0000130615 00000 n
-0000130772 00000 n
-0000130932 00000 n
-0000131092 00000 n
-0000131249 00000 n
-0000131739 00000 n
-0000130252 00000 n
-0000126968 00000 n
-0000131429 00000 n
-0000648876 00000 n
-0000131491 00000 n
-0000131553 00000 n
-0000131677 00000 n
-0000130389 00000 n
-0000134565 00000 n
-0000134721 00000 n
-0000135001 00000 n
-0000134391 00000 n
-0000132006 00000 n
-0000134877 00000 n
-0000646677 00000 n
-0000634504 00000 n
-0000619850 00000 n
-0000134528 00000 n
-0000139058 00000 n
-0000139215 00000 n
-0000139641 00000 n
-0000138884 00000 n
-0000135245 00000 n
-0000139393 00000 n
-0000139579 00000 n
-0000139021 00000 n
-0000143109 00000 n
-0000142864 00000 n
-0000139882 00000 n
-0000142985 00000 n
-0000146700 00000 n
-0000146455 00000 n
-0000143272 00000 n
-0000146576 00000 n
-0000150091 00000 n
-0000149846 00000 n
-0000146889 00000 n
-0000149967 00000 n
-0000151817 00000 n
-0000151978 00000 n
-0000152263 00000 n
-0000151643 00000 n
-0000150267 00000 n
-0000152139 00000 n
-0000151780 00000 n
-0000153983 00000 n
-0000154263 00000 n
-0000153817 00000 n
-0000152426 00000 n
-0000154139 00000 n
-0000153954 00000 n
-0000158025 00000 n
-0000158180 00000 n
-0000158336 00000 n
-0000158493 00000 n
-0000159087 00000 n
-0000157835 00000 n
-0000154426 00000 n
-0000158650 00000 n
-0000158835 00000 n
-0000158898 00000 n
-0000158961 00000 n
-0000159024 00000 n
-0000876726 00000 n
-0000157972 00000 n
-0000165091 00000 n
-0000162522 00000 n
-0000159380 00000 n
-0000162643 00000 n
-0000874161 00000 n
-0000162829 00000 n
-0000875564 00000 n
-0000876094 00000 n
-0000162892 00000 n
-0000162955 00000 n
-0000163018 00000 n
-0000163081 00000 n
-0000163143 00000 n
-0000163206 00000 n
-0000163269 00000 n
-0000163332 00000 n
-0000163395 00000 n
-0000163458 00000 n
-0000163520 00000 n
-0000163583 00000 n
-0000163646 00000 n
-0000163709 00000 n
-0000163772 00000 n
-0000163835 00000 n
-0000163898 00000 n
-0000163961 00000 n
-0000164024 00000 n
-0000164086 00000 n
-0000164149 00000 n
-0000164212 00000 n
-0000164275 00000 n
-0000164338 00000 n
-0000164401 00000 n
-0000164464 00000 n
-0000164527 00000 n
-0000164590 00000 n
-0000164653 00000 n
-0000164716 00000 n
-0000164779 00000 n
-0000164842 00000 n
-0000164905 00000 n
-0000164967 00000 n
-0000165029 00000 n
-0000170786 00000 n
-0000167648 00000 n
-0000165321 00000 n
-0000167769 00000 n
-0000167831 00000 n
-0000167894 00000 n
-0000167956 00000 n
-0000168019 00000 n
-0000168082 00000 n
-0000168145 00000 n
-0000168208 00000 n
-0000168271 00000 n
-0000168334 00000 n
-0000168397 00000 n
-0000168460 00000 n
-0000168523 00000 n
-0000168586 00000 n
-0000168649 00000 n
-0000168711 00000 n
-0000168774 00000 n
-0000168837 00000 n
-0000168900 00000 n
-0000168963 00000 n
-0000169026 00000 n
-0000169089 00000 n
-0000169152 00000 n
-0000169215 00000 n
-0000169278 00000 n
-0000169341 00000 n
-0000169404 00000 n
-0000169467 00000 n
-0000169530 00000 n
-0000169593 00000 n
-0000169656 00000 n
-0000169719 00000 n
-0000169782 00000 n
-0000169845 00000 n
-0000169908 00000 n
-0000169970 00000 n
-0000170033 00000 n
-0000170096 00000 n
-0000170159 00000 n
-0000170222 00000 n
-0000170285 00000 n
-0000170348 00000 n
-0000170411 00000 n
-0000170474 00000 n
-0000170536 00000 n
-0000170599 00000 n
-0000170662 00000 n
-0000170724 00000 n
-0000176419 00000 n
-0000173033 00000 n
-0000170949 00000 n
-0000173154 00000 n
-0000173216 00000 n
-0000173279 00000 n
-0000173341 00000 n
-0000173404 00000 n
-0000173467 00000 n
-0000173530 00000 n
-0000173593 00000 n
-0000173656 00000 n
-0000173719 00000 n
-0000173782 00000 n
-0000173845 00000 n
-0000173908 00000 n
-0000173971 00000 n
-0000174034 00000 n
-0000174097 00000 n
-0000174160 00000 n
-0000174223 00000 n
-0000174286 00000 n
-0000174349 00000 n
-0000174412 00000 n
-0000174475 00000 n
-0000174538 00000 n
-0000174601 00000 n
-0000174663 00000 n
-0000174726 00000 n
-0000174789 00000 n
-0000174852 00000 n
-0000174915 00000 n
-0000174978 00000 n
-0000175037 00000 n
-0000175100 00000 n
-0000175163 00000 n
-0000175226 00000 n
-0000175289 00000 n
-0000175352 00000 n
-0000175415 00000 n
-0000175478 00000 n
-0000175541 00000 n
-0000175603 00000 n
-0000175666 00000 n
-0000175729 00000 n
-0000175792 00000 n
-0000175855 00000 n
-0000175918 00000 n
-0000175980 00000 n
-0000176043 00000 n
-0000176106 00000 n
-0000176169 00000 n
-0000176232 00000 n
-0000176295 00000 n
-0000176357 00000 n
-0000181135 00000 n
-0000179380 00000 n
-0000176582 00000 n
-0000179501 00000 n
-0000179563 00000 n
-0000179626 00000 n
-0000179688 00000 n
-0000179751 00000 n
-0000179814 00000 n
-0000179877 00000 n
-0000179940 00000 n
-0000180003 00000 n
-0000180066 00000 n
-0000180129 00000 n
-0000180192 00000 n
-0000180255 00000 n
-0000180380 00000 n
-0000180443 00000 n
-0000180506 00000 n
-0000180569 00000 n
-0000180632 00000 n
-0000180695 00000 n
-0000180757 00000 n
-0000180820 00000 n
-0000180883 00000 n
-0000180946 00000 n
-0000181009 00000 n
-0000181072 00000 n
-0000185819 00000 n
-0000184317 00000 n
-0000181337 00000 n
-0000184438 00000 n
-0000184500 00000 n
-0000184563 00000 n
-0000184626 00000 n
-0000184689 00000 n
-0000184752 00000 n
-0000184815 00000 n
-0000184878 00000 n
-0000184941 00000 n
-0000185003 00000 n
-0000185064 00000 n
-0000185127 00000 n
-0000185190 00000 n
-0000185253 00000 n
-0000185316 00000 n
-0000185379 00000 n
-0000185441 00000 n
-0000185504 00000 n
-0000185567 00000 n
-0000185630 00000 n
-0000185693 00000 n
-0000185756 00000 n
-0000190528 00000 n
-0000189276 00000 n
-0000185995 00000 n
-0000189397 00000 n
-0000189459 00000 n
-0000189522 00000 n
-0000189585 00000 n
-0000189648 00000 n
-0000189711 00000 n
-0000189774 00000 n
-0000189837 00000 n
-0000189899 00000 n
-0000189962 00000 n
-0000190025 00000 n
-0000190088 00000 n
-0000190150 00000 n
-0000190213 00000 n
-0000190276 00000 n
-0000190339 00000 n
-0000190402 00000 n
-0000190465 00000 n
-0000195625 00000 n
-0000193053 00000 n
-0000190717 00000 n
-0000193174 00000 n
-0000193236 00000 n
-0000193299 00000 n
-0000193362 00000 n
-0000193425 00000 n
-0000193487 00000 n
-0000193550 00000 n
-0000193613 00000 n
-0000193676 00000 n
-0000193739 00000 n
-0000193802 00000 n
-0000193865 00000 n
-0000193928 00000 n
-0000193991 00000 n
-0000194054 00000 n
-0000194116 00000 n
-0000194179 00000 n
-0000194242 00000 n
-0000194305 00000 n
-0000194368 00000 n
-0000194431 00000 n
-0000194493 00000 n
-0000194556 00000 n
-0000194619 00000 n
-0000194682 00000 n
-0000194745 00000 n
-0000194808 00000 n
-0000194871 00000 n
-0000194933 00000 n
-0000194996 00000 n
-0000195059 00000 n
-0000195122 00000 n
-0000195185 00000 n
-0000195248 00000 n
-0000195311 00000 n
-0000195373 00000 n
-0000195436 00000 n
-0000195499 00000 n
-0000195562 00000 n
-0000201116 00000 n
-0000198858 00000 n
-0000195801 00000 n
-0000198979 00000 n
-0000199041 00000 n
-0000199104 00000 n
-0000199167 00000 n
-0000199230 00000 n
-0000199293 00000 n
-0000199356 00000 n
-0000199419 00000 n
-0000199482 00000 n
-0000199545 00000 n
-0000199608 00000 n
-0000199671 00000 n
-0000199734 00000 n
-0000199796 00000 n
-0000199921 00000 n
-0000199984 00000 n
-0000200047 00000 n
-0000200110 00000 n
-0000200172 00000 n
-0000200235 00000 n
-0000200298 00000 n
-0000200361 00000 n
-0000200424 00000 n
-0000200487 00000 n
-0000200550 00000 n
-0000200613 00000 n
-0000200676 00000 n
-0000200738 00000 n
-0000200801 00000 n
-0000200864 00000 n
-0000200927 00000 n
-0000200990 00000 n
-0000201053 00000 n
-0000207151 00000 n
-0000203577 00000 n
-0000201318 00000 n
-0000203698 00000 n
-0000203760 00000 n
-0000203823 00000 n
-0000203885 00000 n
-0000203948 00000 n
-0000204011 00000 n
-0000204074 00000 n
-0000204137 00000 n
-0000204200 00000 n
-0000204263 00000 n
-0000204326 00000 n
-0000204389 00000 n
-0000204452 00000 n
-0000204515 00000 n
-0000204578 00000 n
-0000204640 00000 n
-0000204703 00000 n
-0000204764 00000 n
-0000204827 00000 n
-0000204890 00000 n
-0000204953 00000 n
-0000205016 00000 n
-0000205079 00000 n
-0000205142 00000 n
-0000205205 00000 n
-0000205268 00000 n
-0000205330 00000 n
-0000205393 00000 n
-0000205456 00000 n
-0000205519 00000 n
-0000205582 00000 n
-0000205645 00000 n
-0000205708 00000 n
-0000205771 00000 n
-0000205834 00000 n
-0000205896 00000 n
-0000205959 00000 n
-0000206022 00000 n
-0000206084 00000 n
-0000206147 00000 n
-0000206209 00000 n
-0000206272 00000 n
-0000206335 00000 n
-0000206398 00000 n
-0000206461 00000 n
-0000206524 00000 n
-0000206587 00000 n
-0000206650 00000 n
-0000206713 00000 n
-0000206776 00000 n
-0000206838 00000 n
-0000206901 00000 n
-0000206964 00000 n
-0000207027 00000 n
-0000207089 00000 n
-0000210421 00000 n
-0000210581 00000 n
-0000212844 00000 n
-0000210244 00000 n
-0000207314 00000 n
-0000210742 00000 n
-0000210804 00000 n
-0000210867 00000 n
-0000210929 00000 n
-0000210992 00000 n
-0000211055 00000 n
-0000211118 00000 n
-0000211181 00000 n
-0000211245 00000 n
-0000211309 00000 n
-0000211373 00000 n
-0000211437 00000 n
-0000211501 00000 n
-0000211565 00000 n
-0000211629 00000 n
-0000211693 00000 n
-0000211756 00000 n
-0000211820 00000 n
-0000211884 00000 n
-0000211948 00000 n
-0000212012 00000 n
-0000212076 00000 n
-0000212140 00000 n
-0000212204 00000 n
-0000212268 00000 n
-0000212332 00000 n
-0000212396 00000 n
-0000212460 00000 n
-0000212524 00000 n
-0000212588 00000 n
-0000212652 00000 n
-0000212716 00000 n
-0000212780 00000 n
-0000876879 00000 n
-0000210383 00000 n
-0000218471 00000 n
-0000214906 00000 n
-0000213007 00000 n
-0000215031 00000 n
-0000215095 00000 n
-0000215160 00000 n
-0000215225 00000 n
-0000215290 00000 n
-0000215354 00000 n
-0000215419 00000 n
-0000215484 00000 n
-0000215549 00000 n
-0000215614 00000 n
-0000215679 00000 n
-0000215744 00000 n
-0000215809 00000 n
-0000215874 00000 n
-0000215939 00000 n
-0000216004 00000 n
-0000216069 00000 n
-0000216134 00000 n
+0000042369 00000 n
+0000043274 00000 n
+0000041035 00000 n
+0000035872 00000 n
+0000042840 00000 n
+0000677463 00000 n
+0000043024 00000 n
+0000043087 00000 n
+0000043150 00000 n
+0000043212 00000 n
+0000041172 00000 n
+0000047828 00000 n
+0000047988 00000 n
+0000048149 00000 n
+0000048315 00000 n
+0000048480 00000 n
+0000053242 00000 n
+0000053399 00000 n
+0000053560 00000 n
+0000048707 00000 n
+0000047630 00000 n
+0000043541 00000 n
+0000048645 00000 n
+0000674667 00000 n
+0000047767 00000 n
+0000053721 00000 n
+0000053878 00000 n
+0000054035 00000 n
+0000054353 00000 n
+0000054517 00000 n
+0000054192 00000 n
+0000059694 00000 n
+0000054994 00000 n
+0000053012 00000 n
+0000048896 00000 n
+0000054681 00000 n
+0000670931 00000 n
+0000054743 00000 n
+0000054806 00000 n
+0000054869 00000 n
+0000054932 00000 n
+0000053149 00000 n
+0000059850 00000 n
+0000060005 00000 n
+0000060161 00000 n
+0000060318 00000 n
+0000060905 00000 n
+0000059496 00000 n
+0000055261 00000 n
+0000060474 00000 n
+0000659424 00000 n
+0000060719 00000 n
+0000060781 00000 n
+0000060843 00000 n
+0000059633 00000 n
+0000065408 00000 n
+0000065568 00000 n
+0000065725 00000 n
+0000066318 00000 n
+0000065226 00000 n
+0000061198 00000 n
+0000065882 00000 n
+0000066004 00000 n
+0000066068 00000 n
+0000066193 00000 n
+0000066256 00000 n
+0000065363 00000 n
+0000070217 00000 n
+0000069974 00000 n
+0000066624 00000 n
+0000070095 00000 n
+0000073995 00000 n
+0000074277 00000 n
+0000073829 00000 n
+0000070458 00000 n
+0000074152 00000 n
+0000074214 00000 n
+0000073966 00000 n
+0000078843 00000 n
+0000078999 00000 n
+0000079587 00000 n
+0000078669 00000 n
+0000074531 00000 n
+0000079155 00000 n
+0000079461 00000 n
+0000079524 00000 n
+0000883271 00000 n
+0000078806 00000 n
+0000083771 00000 n
+0000083466 00000 n
+0000079867 00000 n
+0000083587 00000 n
+0000087285 00000 n
+0000087041 00000 n
+0000084025 00000 n
+0000087162 00000 n
+0000090829 00000 n
+0000090986 00000 n
+0000091147 00000 n
+0000091493 00000 n
+0000090647 00000 n
+0000087513 00000 n
+0000091308 00000 n
+0000091431 00000 n
+0000090784 00000 n
+0000095131 00000 n
+0000095291 00000 n
+0000099255 00000 n
+0000099416 00000 n
+0000099577 00000 n
+0000095636 00000 n
+0000094957 00000 n
+0000091760 00000 n
+0000095451 00000 n
+0000095094 00000 n
+0000099981 00000 n
+0000099073 00000 n
+0000095838 00000 n
+0000099734 00000 n
+0000099920 00000 n
+0000099210 00000 n
+0000104168 00000 n
+0000103861 00000 n
+0000100274 00000 n
+0000103982 00000 n
+0000108125 00000 n
+0000108282 00000 n
+0000112660 00000 n
+0000108813 00000 n
+0000107951 00000 n
+0000104357 00000 n
+0000108439 00000 n
+0000882237 00000 n
+0000881338 00000 n
+0000108687 00000 n
+0000108750 00000 n
+0000108088 00000 n
+0000112817 00000 n
+0000113222 00000 n
+0000112486 00000 n
+0000109171 00000 n
+0000112973 00000 n
+0000113097 00000 n
+0000113160 00000 n
+0000112623 00000 n
+0000117497 00000 n
+0000117662 00000 n
+0000117951 00000 n
+0000117323 00000 n
+0000113463 00000 n
+0000117827 00000 n
+0000117460 00000 n
+0000121771 00000 n
+0000121927 00000 n
+0000122084 00000 n
+0000122241 00000 n
+0000122772 00000 n
+0000121581 00000 n
+0000118153 00000 n
+0000122397 00000 n
+0000655866 00000 n
+0000122459 00000 n
+0000122522 00000 n
+0000122647 00000 n
+0000122710 00000 n
+0000883424 00000 n
+0000121718 00000 n
+0000127241 00000 n
+0000127401 00000 n
+0000127567 00000 n
+0000127733 00000 n
+0000127894 00000 n
+0000128303 00000 n
+0000127043 00000 n
+0000123039 00000 n
+0000128055 00000 n
+0000127180 00000 n
+0000135295 00000 n
+0000135456 00000 n
+0000135617 00000 n
+0000135774 00000 n
+0000131772 00000 n
+0000131527 00000 n
+0000128531 00000 n
+0000131648 00000 n
+0000136200 00000 n
+0000135105 00000 n
+0000131961 00000 n
+0000135952 00000 n
+0000653667 00000 n
+0000641494 00000 n
+0000626840 00000 n
+0000136138 00000 n
+0000135242 00000 n
+0000137529 00000 n
+0000137685 00000 n
+0000137903 00000 n
+0000137355 00000 n
+0000136496 00000 n
+0000137841 00000 n
+0000137492 00000 n
+0000141870 00000 n
+0000142027 00000 n
+0000142453 00000 n
+0000141696 00000 n
+0000138053 00000 n
+0000142205 00000 n
+0000142391 00000 n
+0000141833 00000 n
+0000145921 00000 n
+0000145676 00000 n
+0000142694 00000 n
+0000145797 00000 n
+0000149512 00000 n
+0000149267 00000 n
+0000146084 00000 n
+0000149388 00000 n
+0000152904 00000 n
+0000152659 00000 n
+0000149701 00000 n
+0000152780 00000 n
+0000154630 00000 n
+0000154791 00000 n
+0000155076 00000 n
+0000154456 00000 n
+0000153080 00000 n
+0000154952 00000 n
+0000154593 00000 n
+0000156795 00000 n
+0000157075 00000 n
+0000156629 00000 n
+0000155239 00000 n
+0000156951 00000 n
+0000883577 00000 n
+0000156766 00000 n
+0000160834 00000 n
+0000160989 00000 n
+0000161145 00000 n
+0000161302 00000 n
+0000161896 00000 n
+0000160644 00000 n
+0000157238 00000 n
+0000161459 00000 n
+0000161644 00000 n
+0000161707 00000 n
+0000161770 00000 n
+0000161833 00000 n
+0000160781 00000 n
+0000167805 00000 n
+0000165423 00000 n
+0000162189 00000 n
+0000165544 00000 n
+0000881012 00000 n
+0000165730 00000 n
+0000882415 00000 n
+0000882945 00000 n
+0000165793 00000 n
+0000165856 00000 n
+0000165919 00000 n
+0000165981 00000 n
+0000166044 00000 n
+0000166107 00000 n
+0000166170 00000 n
+0000166233 00000 n
+0000166296 00000 n
+0000166359 00000 n
+0000166422 00000 n
+0000166485 00000 n
+0000166548 00000 n
+0000166611 00000 n
+0000166673 00000 n
+0000166736 00000 n
+0000166799 00000 n
+0000166862 00000 n
+0000166925 00000 n
+0000166988 00000 n
+0000167051 00000 n
+0000167114 00000 n
+0000167177 00000 n
+0000167240 00000 n
+0000167303 00000 n
+0000167366 00000 n
+0000167429 00000 n
+0000167492 00000 n
+0000167555 00000 n
+0000167618 00000 n
+0000167681 00000 n
+0000167743 00000 n
+0000173494 00000 n
+0000170361 00000 n
+0000168048 00000 n
+0000170482 00000 n
+0000170544 00000 n
+0000170607 00000 n
+0000170669 00000 n
+0000170732 00000 n
+0000170795 00000 n
+0000170858 00000 n
+0000170921 00000 n
+0000170984 00000 n
+0000171047 00000 n
+0000171109 00000 n
+0000171172 00000 n
+0000171235 00000 n
+0000171298 00000 n
+0000171361 00000 n
+0000171424 00000 n
+0000171487 00000 n
+0000171549 00000 n
+0000171612 00000 n
+0000171675 00000 n
+0000171738 00000 n
+0000171801 00000 n
+0000171864 00000 n
+0000171927 00000 n
+0000171990 00000 n
+0000172053 00000 n
+0000172116 00000 n
+0000172179 00000 n
+0000172242 00000 n
+0000172305 00000 n
+0000172366 00000 n
+0000172429 00000 n
+0000172492 00000 n
+0000172553 00000 n
+0000172616 00000 n
+0000172679 00000 n
+0000172742 00000 n
+0000172803 00000 n
+0000172866 00000 n
+0000172929 00000 n
+0000172992 00000 n
+0000173055 00000 n
+0000173118 00000 n
+0000173181 00000 n
+0000173244 00000 n
+0000173307 00000 n
+0000173370 00000 n
+0000173432 00000 n
+0000179067 00000 n
+0000175684 00000 n
+0000173657 00000 n
+0000175805 00000 n
+0000175867 00000 n
+0000175930 00000 n
+0000175992 00000 n
+0000176055 00000 n
+0000176118 00000 n
+0000176181 00000 n
+0000176244 00000 n
+0000176306 00000 n
+0000176369 00000 n
+0000176432 00000 n
+0000176494 00000 n
+0000176557 00000 n
+0000176620 00000 n
+0000176683 00000 n
+0000176746 00000 n
+0000176809 00000 n
+0000176872 00000 n
+0000176934 00000 n
+0000176997 00000 n
+0000177060 00000 n
+0000177123 00000 n
+0000177186 00000 n
+0000177249 00000 n
+0000177311 00000 n
+0000177374 00000 n
+0000177437 00000 n
+0000177500 00000 n
+0000177563 00000 n
+0000177626 00000 n
+0000177689 00000 n
+0000177752 00000 n
+0000177815 00000 n
+0000177877 00000 n
+0000177940 00000 n
+0000178003 00000 n
+0000178066 00000 n
+0000178129 00000 n
+0000178192 00000 n
+0000178255 00000 n
+0000178314 00000 n
+0000178377 00000 n
+0000178440 00000 n
+0000178503 00000 n
+0000178566 00000 n
+0000178629 00000 n
+0000178692 00000 n
+0000178755 00000 n
+0000178817 00000 n
+0000178880 00000 n
+0000178943 00000 n
+0000179005 00000 n
+0000184124 00000 n
+0000182496 00000 n
+0000179230 00000 n
+0000182617 00000 n
+0000182679 00000 n
+0000182741 00000 n
+0000182804 00000 n
+0000182867 00000 n
+0000182930 00000 n
+0000182993 00000 n
+0000183056 00000 n
+0000183119 00000 n
+0000183182 00000 n
+0000183245 00000 n
+0000183369 00000 n
+0000183432 00000 n
+0000183495 00000 n
+0000183558 00000 n
+0000183621 00000 n
+0000183684 00000 n
+0000183747 00000 n
+0000183810 00000 n
+0000183872 00000 n
+0000183935 00000 n
+0000183998 00000 n
+0000184061 00000 n
+0000188858 00000 n
+0000187294 00000 n
+0000184339 00000 n
+0000187415 00000 n
+0000187477 00000 n
+0000187540 00000 n
+0000187603 00000 n
+0000187666 00000 n
+0000187729 00000 n
+0000187792 00000 n
+0000187854 00000 n
+0000187917 00000 n
+0000187980 00000 n
+0000188043 00000 n
+0000188106 00000 n
+0000188169 00000 n
+0000188231 00000 n
+0000188293 00000 n
+0000188356 00000 n
+0000188419 00000 n
+0000188482 00000 n
+0000188545 00000 n
+0000188607 00000 n
+0000188670 00000 n
+0000188733 00000 n
+0000188796 00000 n
+0000194289 00000 n
+0000192597 00000 n
+0000189047 00000 n
+0000192718 00000 n
+0000192780 00000 n
+0000192843 00000 n
+0000192906 00000 n
+0000192969 00000 n
+0000193032 00000 n
+0000193095 00000 n
+0000193158 00000 n
+0000193221 00000 n
+0000193284 00000 n
+0000193347 00000 n
+0000193410 00000 n
+0000193473 00000 n
+0000193536 00000 n
+0000193599 00000 n
+0000193662 00000 n
+0000193725 00000 n
+0000193788 00000 n
+0000193851 00000 n
+0000193914 00000 n
+0000193977 00000 n
+0000194039 00000 n
+0000194102 00000 n
+0000194165 00000 n
+0000194227 00000 n
+0000199654 00000 n
+0000197396 00000 n
+0000194478 00000 n
+0000197517 00000 n
+0000197579 00000 n
+0000197642 00000 n
+0000197705 00000 n
+0000197768 00000 n
+0000197831 00000 n
+0000197894 00000 n
+0000197957 00000 n
+0000198020 00000 n
+0000198083 00000 n
+0000198146 00000 n
+0000198209 00000 n
+0000198272 00000 n
+0000198335 00000 n
+0000198398 00000 n
+0000198461 00000 n
+0000198524 00000 n
+0000198587 00000 n
+0000198650 00000 n
+0000198712 00000 n
+0000198775 00000 n
+0000198838 00000 n
+0000198901 00000 n
+0000198964 00000 n
+0000199027 00000 n
+0000199090 00000 n
+0000199153 00000 n
+0000199215 00000 n
+0000199278 00000 n
+0000199341 00000 n
+0000199404 00000 n
+0000199466 00000 n
+0000199529 00000 n
+0000199592 00000 n
+0000205306 00000 n
+0000202545 00000 n
+0000199843 00000 n
+0000202666 00000 n
+0000202728 00000 n
+0000202791 00000 n
+0000202854 00000 n
+0000202917 00000 n
+0000202980 00000 n
+0000203043 00000 n
+0000203106 00000 n
+0000203169 00000 n
+0000203294 00000 n
+0000203357 00000 n
+0000203420 00000 n
+0000203483 00000 n
+0000203546 00000 n
+0000203609 00000 n
+0000203672 00000 n
+0000203735 00000 n
+0000203798 00000 n
+0000203860 00000 n
+0000203923 00000 n
+0000203986 00000 n
+0000204049 00000 n
+0000204112 00000 n
+0000204175 00000 n
+0000204238 00000 n
+0000204301 00000 n
+0000204363 00000 n
+0000204426 00000 n
+0000204489 00000 n
+0000204552 00000 n
+0000204615 00000 n
+0000204678 00000 n
+0000204741 00000 n
+0000204804 00000 n
+0000204867 00000 n
+0000204930 00000 n
+0000204993 00000 n
+0000205056 00000 n
+0000205119 00000 n
+0000205182 00000 n
+0000205244 00000 n
+0000211457 00000 n
+0000208005 00000 n
+0000205482 00000 n
+0000208127 00000 n
+0000208189 00000 n
+0000208252 00000 n
+0000208314 00000 n
+0000208377 00000 n
+0000208440 00000 n
+0000208503 00000 n
+0000208566 00000 n
+0000208629 00000 n
+0000208691 00000 n
+0000208754 00000 n
+0000208817 00000 n
+0000208880 00000 n
+0000208943 00000 n
+0000209006 00000 n
+0000209069 00000 n
+0000209132 00000 n
+0000209195 00000 n
+0000209257 00000 n
+0000209320 00000 n
+0000209383 00000 n
+0000209446 00000 n
+0000209509 00000 n
+0000209572 00000 n
+0000209634 00000 n
+0000209697 00000 n
+0000209760 00000 n
+0000209823 00000 n
+0000209886 00000 n
+0000209949 00000 n
+0000210011 00000 n
+0000210074 00000 n
+0000210137 00000 n
+0000210200 00000 n
+0000210263 00000 n
+0000210326 00000 n
+0000210389 00000 n
+0000210452 00000 n
+0000210515 00000 n
+0000210577 00000 n
+0000210640 00000 n
+0000210703 00000 n
+0000210766 00000 n
+0000210829 00000 n
+0000210892 00000 n
+0000210955 00000 n
+0000211018 00000 n
+0000211081 00000 n
+0000211143 00000 n
+0000211206 00000 n
+0000211269 00000 n
+0000211332 00000 n
+0000211395 00000 n
+0000883730 00000 n
+0000214904 00000 n
+0000215065 00000 n
+0000217302 00000 n
+0000214722 00000 n
+0000211620 00000 n
+0000215227 00000 n
+0000215291 00000 n
+0000215356 00000 n
+0000215421 00000 n
+0000215486 00000 n
+0000215551 00000 n
+0000215615 00000 n
+0000215680 00000 n
+0000215745 00000 n
+0000215810 00000 n
+0000215875 00000 n
+0000215940 00000 n
+0000216005 00000 n
+0000216070 00000 n
+0000216135 00000 n
0000216199 00000 n
-0000216262 00000 n
-0000216327 00000 n
-0000216392 00000 n
-0000216457 00000 n
-0000216522 00000 n
-0000216587 00000 n
-0000216652 00000 n
-0000216717 00000 n
-0000216782 00000 n
-0000216847 00000 n
-0000216912 00000 n
-0000216977 00000 n
-0000217042 00000 n
-0000217107 00000 n
+0000216264 00000 n
+0000216329 00000 n
+0000216394 00000 n
+0000216459 00000 n
+0000216524 00000 n
+0000216589 00000 n
+0000216653 00000 n
+0000216718 00000 n
+0000216783 00000 n
+0000216848 00000 n
+0000216913 00000 n
+0000216978 00000 n
+0000217043 00000 n
+0000217108 00000 n
0000217172 00000 n
0000217237 00000 n
-0000217301 00000 n
-0000217366 00000 n
-0000217431 00000 n
-0000217496 00000 n
-0000217561 00000 n
-0000217626 00000 n
-0000217691 00000 n
-0000217756 00000 n
-0000217821 00000 n
-0000217886 00000 n
-0000217951 00000 n
-0000218016 00000 n
-0000218081 00000 n
-0000218146 00000 n
-0000218211 00000 n
-0000218276 00000 n
-0000218341 00000 n
-0000218406 00000 n
-0000224416 00000 n
-0000220339 00000 n
-0000218635 00000 n
-0000220464 00000 n
-0000220591 00000 n
-0000220656 00000 n
-0000220721 00000 n
-0000220786 00000 n
-0000220851 00000 n
-0000220916 00000 n
-0000220981 00000 n
-0000221045 00000 n
-0000221110 00000 n
-0000221175 00000 n
-0000221240 00000 n
-0000221305 00000 n
-0000221370 00000 n
-0000221435 00000 n
-0000221500 00000 n
-0000221565 00000 n
-0000221630 00000 n
-0000221693 00000 n
-0000221758 00000 n
-0000221823 00000 n
-0000221888 00000 n
-0000221953 00000 n
-0000222018 00000 n
-0000222083 00000 n
-0000222148 00000 n
-0000222213 00000 n
-0000222278 00000 n
-0000222342 00000 n
-0000222407 00000 n
-0000222472 00000 n
-0000222537 00000 n
-0000222602 00000 n
-0000222667 00000 n
-0000222732 00000 n
-0000222797 00000 n
-0000222862 00000 n
-0000222927 00000 n
-0000222991 00000 n
-0000223056 00000 n
-0000223121 00000 n
-0000223186 00000 n
-0000223251 00000 n
-0000223316 00000 n
-0000223381 00000 n
-0000223446 00000 n
-0000223511 00000 n
-0000223574 00000 n
-0000223639 00000 n
-0000223704 00000 n
-0000223769 00000 n
-0000223834 00000 n
-0000223899 00000 n
-0000223964 00000 n
-0000224029 00000 n
-0000224094 00000 n
-0000224158 00000 n
-0000224223 00000 n
-0000224288 00000 n
-0000224352 00000 n
-0000230474 00000 n
-0000226720 00000 n
-0000224580 00000 n
-0000226845 00000 n
-0000226909 00000 n
-0000226974 00000 n
-0000227038 00000 n
-0000227103 00000 n
-0000227168 00000 n
-0000227233 00000 n
-0000227298 00000 n
-0000227363 00000 n
-0000227428 00000 n
-0000227493 00000 n
-0000227558 00000 n
-0000227622 00000 n
-0000227687 00000 n
-0000227752 00000 n
-0000227817 00000 n
-0000227882 00000 n
-0000227947 00000 n
-0000228011 00000 n
-0000228076 00000 n
-0000228141 00000 n
-0000228205 00000 n
-0000228270 00000 n
-0000228335 00000 n
-0000228400 00000 n
-0000228465 00000 n
-0000228530 00000 n
-0000228595 00000 n
-0000228659 00000 n
-0000228724 00000 n
-0000228789 00000 n
-0000228854 00000 n
-0000228919 00000 n
-0000228984 00000 n
-0000229049 00000 n
-0000229114 00000 n
-0000229179 00000 n
-0000229243 00000 n
-0000229308 00000 n
-0000229373 00000 n
-0000229438 00000 n
-0000229503 00000 n
-0000229568 00000 n
-0000229633 00000 n
-0000229698 00000 n
-0000229763 00000 n
-0000229827 00000 n
-0000229892 00000 n
-0000229957 00000 n
-0000230022 00000 n
-0000230087 00000 n
-0000230152 00000 n
-0000230216 00000 n
-0000230281 00000 n
-0000230346 00000 n
-0000230410 00000 n
-0000236951 00000 n
-0000232807 00000 n
-0000230651 00000 n
-0000232932 00000 n
-0000232996 00000 n
-0000233061 00000 n
-0000233125 00000 n
-0000233190 00000 n
-0000233255 00000 n
-0000233320 00000 n
-0000233385 00000 n
-0000233450 00000 n
-0000233515 00000 n
-0000233580 00000 n
-0000233643 00000 n
-0000233708 00000 n
-0000233773 00000 n
-0000233838 00000 n
-0000233903 00000 n
-0000233968 00000 n
-0000234033 00000 n
-0000234098 00000 n
-0000234163 00000 n
-0000234227 00000 n
-0000234292 00000 n
-0000234357 00000 n
-0000234422 00000 n
-0000234487 00000 n
-0000234552 00000 n
-0000234617 00000 n
-0000234682 00000 n
-0000234747 00000 n
-0000234811 00000 n
-0000234876 00000 n
-0000234941 00000 n
-0000235006 00000 n
-0000235071 00000 n
-0000235136 00000 n
-0000235201 00000 n
-0000235266 00000 n
-0000235331 00000 n
-0000235395 00000 n
-0000235460 00000 n
-0000235525 00000 n
-0000235590 00000 n
-0000235655 00000 n
-0000235720 00000 n
-0000235785 00000 n
-0000235850 00000 n
-0000235915 00000 n
-0000235979 00000 n
-0000236044 00000 n
-0000236109 00000 n
-0000236174 00000 n
-0000236239 00000 n
-0000236304 00000 n
-0000236369 00000 n
-0000236434 00000 n
-0000236499 00000 n
-0000236564 00000 n
-0000236628 00000 n
-0000236693 00000 n
-0000236758 00000 n
-0000236823 00000 n
-0000236887 00000 n
-0000243308 00000 n
-0000239032 00000 n
-0000237115 00000 n
-0000239157 00000 n
-0000239221 00000 n
-0000239286 00000 n
-0000239350 00000 n
-0000239415 00000 n
-0000239480 00000 n
-0000239545 00000 n
-0000239610 00000 n
-0000239675 00000 n
-0000239740 00000 n
-0000239805 00000 n
-0000239870 00000 n
-0000239934 00000 n
-0000239999 00000 n
-0000240064 00000 n
-0000240129 00000 n
-0000240194 00000 n
-0000240259 00000 n
-0000240324 00000 n
-0000240389 00000 n
-0000240454 00000 n
-0000240518 00000 n
-0000240583 00000 n
-0000240648 00000 n
-0000240713 00000 n
-0000240778 00000 n
-0000240843 00000 n
-0000240908 00000 n
-0000240973 00000 n
-0000241038 00000 n
-0000241102 00000 n
-0000241167 00000 n
-0000241232 00000 n
-0000241297 00000 n
-0000241362 00000 n
-0000241427 00000 n
-0000241492 00000 n
-0000241557 00000 n
-0000241622 00000 n
-0000241686 00000 n
-0000241751 00000 n
-0000241816 00000 n
-0000241881 00000 n
-0000241946 00000 n
-0000242011 00000 n
-0000242076 00000 n
-0000242141 00000 n
-0000242206 00000 n
-0000242270 00000 n
-0000242335 00000 n
-0000242400 00000 n
-0000242465 00000 n
-0000242530 00000 n
-0000242595 00000 n
-0000242660 00000 n
-0000242725 00000 n
-0000242790 00000 n
-0000242854 00000 n
-0000242919 00000 n
-0000242984 00000 n
-0000243049 00000 n
-0000243114 00000 n
-0000243179 00000 n
-0000243244 00000 n
-0000248827 00000 n
-0000245661 00000 n
-0000243459 00000 n
-0000245786 00000 n
-0000245850 00000 n
-0000245915 00000 n
-0000245979 00000 n
-0000246044 00000 n
-0000246109 00000 n
-0000246174 00000 n
-0000246239 00000 n
-0000246304 00000 n
-0000246368 00000 n
-0000246433 00000 n
-0000246498 00000 n
-0000246563 00000 n
-0000246628 00000 n
-0000246693 00000 n
-0000246758 00000 n
-0000246823 00000 n
-0000246888 00000 n
-0000246953 00000 n
-0000247018 00000 n
-0000247144 00000 n
-0000247209 00000 n
-0000247274 00000 n
-0000247339 00000 n
-0000247404 00000 n
-0000247469 00000 n
-0000247534 00000 n
-0000247599 00000 n
-0000247664 00000 n
-0000247729 00000 n
-0000247793 00000 n
-0000247858 00000 n
-0000247923 00000 n
-0000247988 00000 n
-0000248053 00000 n
-0000248118 00000 n
-0000248183 00000 n
-0000248248 00000 n
-0000248375 00000 n
-0000248440 00000 n
-0000248505 00000 n
-0000248569 00000 n
-0000248634 00000 n
-0000248699 00000 n
-0000248763 00000 n
-0000254420 00000 n
-0000251509 00000 n
-0000249004 00000 n
-0000251634 00000 n
-0000251698 00000 n
-0000251763 00000 n
-0000251827 00000 n
-0000251892 00000 n
-0000251957 00000 n
-0000252022 00000 n
-0000252087 00000 n
-0000252152 00000 n
-0000252217 00000 n
-0000252282 00000 n
-0000252347 00000 n
-0000252412 00000 n
-0000252477 00000 n
-0000252542 00000 n
-0000252607 00000 n
-0000252734 00000 n
-0000252799 00000 n
-0000252864 00000 n
-0000252929 00000 n
-0000252992 00000 n
-0000253057 00000 n
-0000253122 00000 n
-0000253187 00000 n
-0000253252 00000 n
-0000253317 00000 n
-0000253382 00000 n
-0000253447 00000 n
-0000253512 00000 n
-0000253576 00000 n
-0000253641 00000 n
-0000253706 00000 n
-0000253771 00000 n
-0000253836 00000 n
-0000253901 00000 n
-0000253966 00000 n
-0000254031 00000 n
-0000254096 00000 n
-0000254160 00000 n
-0000254225 00000 n
-0000254290 00000 n
-0000254355 00000 n
-0000260239 00000 n
-0000257586 00000 n
-0000254610 00000 n
-0000257711 00000 n
-0000257775 00000 n
-0000257840 00000 n
-0000257904 00000 n
-0000257969 00000 n
-0000258034 00000 n
-0000258099 00000 n
-0000258164 00000 n
-0000258229 00000 n
-0000258294 00000 n
-0000258359 00000 n
-0000258423 00000 n
-0000258488 00000 n
-0000258553 00000 n
-0000258618 00000 n
-0000258683 00000 n
-0000258748 00000 n
-0000258813 00000 n
-0000258878 00000 n
-0000258943 00000 n
-0000259008 00000 n
-0000259073 00000 n
-0000259138 00000 n
-0000259203 00000 n
-0000259268 00000 n
-0000259333 00000 n
-0000259398 00000 n
-0000259463 00000 n
-0000259528 00000 n
-0000259593 00000 n
-0000259658 00000 n
-0000259723 00000 n
-0000259786 00000 n
-0000259851 00000 n
-0000259916 00000 n
-0000259981 00000 n
-0000260046 00000 n
-0000260111 00000 n
-0000260175 00000 n
-0000266376 00000 n
-0000262684 00000 n
-0000260416 00000 n
-0000262809 00000 n
-0000262873 00000 n
-0000262938 00000 n
-0000263002 00000 n
-0000263067 00000 n
-0000263132 00000 n
-0000263197 00000 n
-0000263262 00000 n
-0000263327 00000 n
-0000263392 00000 n
-0000263457 00000 n
-0000263522 00000 n
-0000263586 00000 n
-0000263651 00000 n
-0000263716 00000 n
-0000263781 00000 n
-0000263845 00000 n
-0000263910 00000 n
-0000263975 00000 n
-0000264040 00000 n
-0000264105 00000 n
-0000264170 00000 n
-0000264235 00000 n
-0000264300 00000 n
-0000264364 00000 n
-0000264429 00000 n
-0000264494 00000 n
-0000264559 00000 n
-0000264624 00000 n
-0000264689 00000 n
-0000264754 00000 n
-0000264819 00000 n
-0000264884 00000 n
-0000264948 00000 n
-0000265013 00000 n
-0000265078 00000 n
-0000265143 00000 n
-0000265208 00000 n
-0000265273 00000 n
-0000265338 00000 n
-0000265403 00000 n
-0000265468 00000 n
-0000265533 00000 n
-0000265598 00000 n
-0000265663 00000 n
-0000265728 00000 n
-0000265793 00000 n
-0000265858 00000 n
-0000265923 00000 n
-0000265988 00000 n
-0000266053 00000 n
-0000266118 00000 n
-0000266183 00000 n
-0000266248 00000 n
-0000266312 00000 n
-0000272344 00000 n
-0000268587 00000 n
-0000266540 00000 n
-0000268712 00000 n
-0000268776 00000 n
-0000268841 00000 n
+0000214864 00000 n
+0000223039 00000 n
+0000220060 00000 n
+0000217479 00000 n
+0000220185 00000 n
+0000220249 00000 n
+0000220314 00000 n
+0000220378 00000 n
+0000220442 00000 n
+0000220507 00000 n
+0000220572 00000 n
+0000220637 00000 n
+0000220702 00000 n
+0000220767 00000 n
+0000220832 00000 n
+0000220897 00000 n
+0000220962 00000 n
+0000221027 00000 n
+0000221092 00000 n
+0000221157 00000 n
+0000221222 00000 n
+0000221287 00000 n
+0000221352 00000 n
+0000221416 00000 n
+0000221481 00000 n
+0000221546 00000 n
+0000221611 00000 n
+0000221676 00000 n
+0000221741 00000 n
+0000221806 00000 n
+0000221871 00000 n
+0000221936 00000 n
+0000222001 00000 n
+0000222066 00000 n
+0000222131 00000 n
+0000222196 00000 n
+0000222261 00000 n
+0000222326 00000 n
+0000222391 00000 n
+0000222456 00000 n
+0000222521 00000 n
+0000222586 00000 n
+0000222650 00000 n
+0000222715 00000 n
+0000222780 00000 n
+0000222845 00000 n
+0000222910 00000 n
+0000222975 00000 n
+0000229040 00000 n
+0000224963 00000 n
+0000223216 00000 n
+0000225088 00000 n
+0000225215 00000 n
+0000225280 00000 n
+0000225345 00000 n
+0000225410 00000 n
+0000225475 00000 n
+0000225540 00000 n
+0000225605 00000 n
+0000225669 00000 n
+0000225734 00000 n
+0000225799 00000 n
+0000225864 00000 n
+0000225929 00000 n
+0000225994 00000 n
+0000226059 00000 n
+0000226124 00000 n
+0000226189 00000 n
+0000226254 00000 n
+0000226317 00000 n
+0000226382 00000 n
+0000226447 00000 n
+0000226512 00000 n
+0000226577 00000 n
+0000226642 00000 n
+0000226707 00000 n
+0000226772 00000 n
+0000226837 00000 n
+0000226902 00000 n
+0000226966 00000 n
+0000227031 00000 n
+0000227096 00000 n
+0000227161 00000 n
+0000227226 00000 n
+0000227291 00000 n
+0000227356 00000 n
+0000227421 00000 n
+0000227486 00000 n
+0000227551 00000 n
+0000227615 00000 n
+0000227680 00000 n
+0000227745 00000 n
+0000227810 00000 n
+0000227875 00000 n
+0000227940 00000 n
+0000228005 00000 n
+0000228070 00000 n
+0000228135 00000 n
+0000228198 00000 n
+0000228263 00000 n
+0000228328 00000 n
+0000228393 00000 n
+0000228458 00000 n
+0000228523 00000 n
+0000228588 00000 n
+0000228653 00000 n
+0000228718 00000 n
+0000228782 00000 n
+0000228847 00000 n
+0000228912 00000 n
+0000228976 00000 n
+0000235033 00000 n
+0000231276 00000 n
+0000229204 00000 n
+0000231401 00000 n
+0000231465 00000 n
+0000231530 00000 n
+0000231594 00000 n
+0000231659 00000 n
+0000231724 00000 n
+0000231789 00000 n
+0000231854 00000 n
+0000231919 00000 n
+0000231984 00000 n
+0000232049 00000 n
+0000232114 00000 n
+0000232178 00000 n
+0000232243 00000 n
+0000232308 00000 n
+0000232373 00000 n
+0000232438 00000 n
+0000232503 00000 n
+0000232568 00000 n
+0000232633 00000 n
+0000232698 00000 n
+0000232762 00000 n
+0000232827 00000 n
+0000232892 00000 n
+0000232957 00000 n
+0000233022 00000 n
+0000233087 00000 n
+0000233152 00000 n
+0000233217 00000 n
+0000233282 00000 n
+0000233347 00000 n
+0000233412 00000 n
+0000233477 00000 n
+0000233542 00000 n
+0000233607 00000 n
+0000233672 00000 n
+0000233737 00000 n
+0000233801 00000 n
+0000233866 00000 n
+0000233931 00000 n
+0000233996 00000 n
+0000234061 00000 n
+0000234126 00000 n
+0000234191 00000 n
+0000234256 00000 n
+0000234321 00000 n
+0000234385 00000 n
+0000234450 00000 n
+0000234515 00000 n
+0000234580 00000 n
+0000234645 00000 n
+0000234710 00000 n
+0000234775 00000 n
+0000234840 00000 n
+0000234905 00000 n
+0000234969 00000 n
+0000241558 00000 n
+0000237412 00000 n
+0000235210 00000 n
+0000237537 00000 n
+0000237601 00000 n
+0000237666 00000 n
+0000237730 00000 n
+0000237795 00000 n
+0000237860 00000 n
+0000237925 00000 n
+0000237990 00000 n
+0000238055 00000 n
+0000238120 00000 n
+0000238185 00000 n
+0000238250 00000 n
+0000238315 00000 n
+0000238380 00000 n
+0000238445 00000 n
+0000238510 00000 n
+0000238575 00000 n
+0000238640 00000 n
+0000238705 00000 n
+0000238770 00000 n
+0000238834 00000 n
+0000238899 00000 n
+0000238964 00000 n
+0000239029 00000 n
+0000239094 00000 n
+0000239159 00000 n
+0000239224 00000 n
+0000239289 00000 n
+0000239354 00000 n
+0000239418 00000 n
+0000239483 00000 n
+0000239548 00000 n
+0000239613 00000 n
+0000239678 00000 n
+0000239743 00000 n
+0000239808 00000 n
+0000239873 00000 n
+0000239938 00000 n
+0000240002 00000 n
+0000240067 00000 n
+0000240132 00000 n
+0000240197 00000 n
+0000240262 00000 n
+0000240327 00000 n
+0000240392 00000 n
+0000240457 00000 n
+0000240522 00000 n
+0000240586 00000 n
+0000240651 00000 n
+0000240716 00000 n
+0000240781 00000 n
+0000240846 00000 n
+0000240911 00000 n
+0000240976 00000 n
+0000241041 00000 n
+0000241106 00000 n
+0000241171 00000 n
+0000241235 00000 n
+0000241300 00000 n
+0000241365 00000 n
+0000241430 00000 n
+0000241494 00000 n
+0000247915 00000 n
+0000243639 00000 n
+0000241722 00000 n
+0000243764 00000 n
+0000243828 00000 n
+0000243893 00000 n
+0000243957 00000 n
+0000244022 00000 n
+0000244087 00000 n
+0000244152 00000 n
+0000244217 00000 n
+0000244282 00000 n
+0000244347 00000 n
+0000244412 00000 n
+0000244477 00000 n
+0000244541 00000 n
+0000244606 00000 n
+0000244671 00000 n
+0000244736 00000 n
+0000244801 00000 n
+0000244866 00000 n
+0000244931 00000 n
+0000244996 00000 n
+0000245061 00000 n
+0000245125 00000 n
+0000245190 00000 n
+0000245255 00000 n
+0000245320 00000 n
+0000245385 00000 n
+0000245450 00000 n
+0000245515 00000 n
+0000245580 00000 n
+0000245645 00000 n
+0000245709 00000 n
+0000245774 00000 n
+0000245839 00000 n
+0000245904 00000 n
+0000245969 00000 n
+0000246034 00000 n
+0000246099 00000 n
+0000246164 00000 n
+0000246229 00000 n
+0000246293 00000 n
+0000246358 00000 n
+0000246423 00000 n
+0000246488 00000 n
+0000246553 00000 n
+0000246618 00000 n
+0000246683 00000 n
+0000246748 00000 n
+0000246813 00000 n
+0000246877 00000 n
+0000246942 00000 n
+0000247007 00000 n
+0000247072 00000 n
+0000247137 00000 n
+0000247202 00000 n
+0000247267 00000 n
+0000247332 00000 n
+0000247397 00000 n
+0000247461 00000 n
+0000247526 00000 n
+0000247591 00000 n
+0000247656 00000 n
+0000247721 00000 n
+0000247786 00000 n
+0000247851 00000 n
+0000253140 00000 n
+0000250358 00000 n
+0000248066 00000 n
+0000250483 00000 n
+0000250547 00000 n
+0000250612 00000 n
+0000250676 00000 n
+0000250741 00000 n
+0000250806 00000 n
+0000250871 00000 n
+0000250936 00000 n
+0000251001 00000 n
+0000251066 00000 n
+0000251131 00000 n
+0000251196 00000 n
+0000251261 00000 n
+0000251326 00000 n
+0000251391 00000 n
+0000251455 00000 n
+0000251520 00000 n
+0000251585 00000 n
+0000251650 00000 n
+0000251715 00000 n
+0000251780 00000 n
+0000251844 00000 n
+0000251909 00000 n
+0000252037 00000 n
+0000252102 00000 n
+0000252167 00000 n
+0000252232 00000 n
+0000252297 00000 n
+0000252362 00000 n
+0000252427 00000 n
+0000252492 00000 n
+0000252557 00000 n
+0000252622 00000 n
+0000252687 00000 n
+0000252751 00000 n
+0000252816 00000 n
+0000252881 00000 n
+0000252946 00000 n
+0000253011 00000 n
+0000253075 00000 n
+0000258822 00000 n
+0000255521 00000 n
+0000253330 00000 n
+0000255646 00000 n
+0000255773 00000 n
+0000255837 00000 n
+0000255902 00000 n
+0000255967 00000 n
+0000256032 00000 n
+0000256097 00000 n
+0000256162 00000 n
+0000256227 00000 n
+0000256292 00000 n
+0000256357 00000 n
+0000256422 00000 n
+0000256487 00000 n
+0000256552 00000 n
+0000256617 00000 n
+0000256682 00000 n
+0000256747 00000 n
+0000256812 00000 n
+0000256877 00000 n
+0000256942 00000 n
+0000257007 00000 n
+0000257072 00000 n
+0000257136 00000 n
+0000257264 00000 n
+0000257329 00000 n
+0000257394 00000 n
+0000257459 00000 n
+0000257524 00000 n
+0000257589 00000 n
+0000257654 00000 n
+0000257719 00000 n
+0000257784 00000 n
+0000257849 00000 n
+0000257914 00000 n
+0000257979 00000 n
+0000258044 00000 n
+0000258109 00000 n
+0000258174 00000 n
+0000258239 00000 n
+0000258304 00000 n
+0000258369 00000 n
+0000258434 00000 n
+0000258499 00000 n
+0000258564 00000 n
+0000258629 00000 n
+0000258694 00000 n
+0000258758 00000 n
+0000264460 00000 n
+0000262065 00000 n
+0000259012 00000 n
+0000262190 00000 n
+0000262254 00000 n
+0000262319 00000 n
+0000262384 00000 n
+0000262449 00000 n
+0000262514 00000 n
+0000262579 00000 n
+0000262644 00000 n
+0000262709 00000 n
+0000262774 00000 n
+0000262839 00000 n
+0000262904 00000 n
+0000262968 00000 n
+0000263033 00000 n
+0000263098 00000 n
+0000263163 00000 n
+0000263228 00000 n
+0000263293 00000 n
+0000263358 00000 n
+0000263423 00000 n
+0000263488 00000 n
+0000263553 00000 n
+0000263618 00000 n
+0000263683 00000 n
+0000263747 00000 n
+0000263812 00000 n
+0000263877 00000 n
+0000263942 00000 n
+0000264007 00000 n
+0000264072 00000 n
+0000264137 00000 n
+0000264202 00000 n
+0000264267 00000 n
+0000264332 00000 n
+0000264396 00000 n
+0000270592 00000 n
+0000267354 00000 n
+0000264650 00000 n
+0000267479 00000 n
+0000267543 00000 n
+0000267608 00000 n
+0000267672 00000 n
+0000267736 00000 n
+0000267801 00000 n
+0000267866 00000 n
+0000267931 00000 n
+0000267996 00000 n
+0000268061 00000 n
+0000268126 00000 n
+0000268191 00000 n
+0000268256 00000 n
+0000268321 00000 n
+0000268385 00000 n
+0000268450 00000 n
+0000268515 00000 n
+0000268580 00000 n
+0000268645 00000 n
+0000268710 00000 n
+0000268775 00000 n
+0000268840 00000 n
0000268905 00000 n
0000268970 00000 n
0000269035 00000 n
@@ -18177,8 +18071,8 @@ xref
0000269165 00000 n
0000269230 00000 n
0000269295 00000 n
-0000269360 00000 n
-0000269425 00000 n
+0000269359 00000 n
+0000269424 00000 n
0000269489 00000 n
0000269554 00000 n
0000269619 00000 n
@@ -18187,249 +18081,254 @@ xref
0000269814 00000 n
0000269879 00000 n
0000269944 00000 n
-0000270009 00000 n
-0000270074 00000 n
-0000270139 00000 n
-0000270204 00000 n
-0000270269 00000 n
+0000270008 00000 n
+0000270073 00000 n
+0000270138 00000 n
+0000270203 00000 n
+0000270268 00000 n
0000270333 00000 n
0000270398 00000 n
0000270463 00000 n
0000270528 00000 n
-0000270593 00000 n
-0000270658 00000 n
-0000270723 00000 n
-0000270788 00000 n
-0000270853 00000 n
-0000270917 00000 n
-0000270982 00000 n
-0000271047 00000 n
-0000271112 00000 n
-0000271177 00000 n
-0000271242 00000 n
-0000271307 00000 n
-0000271372 00000 n
-0000271437 00000 n
-0000271501 00000 n
-0000271566 00000 n
-0000271631 00000 n
-0000271696 00000 n
-0000271761 00000 n
-0000271826 00000 n
-0000271891 00000 n
-0000271956 00000 n
-0000272021 00000 n
-0000272086 00000 n
-0000272151 00000 n
-0000272216 00000 n
-0000272281 00000 n
-0000877042 00000 n
-0000282008 00000 n
-0000278345 00000 n
-0000275432 00000 n
-0000272508 00000 n
-0000275557 00000 n
-0000275621 00000 n
-0000275685 00000 n
-0000275750 00000 n
-0000275815 00000 n
-0000275880 00000 n
-0000275945 00000 n
-0000276010 00000 n
-0000276075 00000 n
-0000276140 00000 n
-0000276205 00000 n
-0000276270 00000 n
-0000276335 00000 n
-0000276400 00000 n
-0000276465 00000 n
-0000276529 00000 n
-0000276594 00000 n
-0000276659 00000 n
-0000276724 00000 n
-0000276789 00000 n
-0000276854 00000 n
-0000276919 00000 n
-0000276984 00000 n
-0000277049 00000 n
-0000277112 00000 n
-0000277177 00000 n
-0000277242 00000 n
-0000277307 00000 n
-0000277372 00000 n
-0000277437 00000 n
-0000277502 00000 n
-0000277567 00000 n
-0000277632 00000 n
-0000277697 00000 n
-0000277762 00000 n
-0000277827 00000 n
-0000277892 00000 n
-0000277957 00000 n
-0000278021 00000 n
-0000278086 00000 n
-0000278151 00000 n
-0000278215 00000 n
-0000278280 00000 n
-0000285019 00000 n
-0000281835 00000 n
-0000278509 00000 n
-0000282166 00000 n
-0000282230 00000 n
-0000282295 00000 n
-0000282360 00000 n
-0000282425 00000 n
-0000282490 00000 n
-0000282554 00000 n
-0000282619 00000 n
-0000282684 00000 n
-0000282749 00000 n
-0000282813 00000 n
-0000282878 00000 n
-0000282943 00000 n
-0000283008 00000 n
-0000283073 00000 n
-0000283138 00000 n
-0000283203 00000 n
-0000283268 00000 n
-0000283333 00000 n
-0000283398 00000 n
-0000283463 00000 n
-0000283528 00000 n
-0000283593 00000 n
-0000283658 00000 n
-0000283723 00000 n
-0000283788 00000 n
-0000283853 00000 n
-0000283918 00000 n
-0000283983 00000 n
-0000284047 00000 n
-0000284112 00000 n
-0000284177 00000 n
-0000284241 00000 n
-0000284306 00000 n
-0000284371 00000 n
-0000284436 00000 n
-0000284500 00000 n
-0000284565 00000 n
-0000284630 00000 n
-0000284695 00000 n
-0000284760 00000 n
-0000284825 00000 n
-0000284890 00000 n
-0000284955 00000 n
+0000883893 00000 n
+0000276957 00000 n
+0000273332 00000 n
+0000270782 00000 n
+0000273457 00000 n
+0000273521 00000 n
+0000273586 00000 n
+0000273650 00000 n
+0000273715 00000 n
+0000273780 00000 n
+0000273845 00000 n
+0000273910 00000 n
+0000273975 00000 n
+0000274040 00000 n
+0000274105 00000 n
+0000274170 00000 n
+0000274234 00000 n
+0000274299 00000 n
+0000274364 00000 n
+0000274429 00000 n
+0000274494 00000 n
+0000274559 00000 n
+0000274624 00000 n
+0000274689 00000 n
+0000274754 00000 n
+0000274818 00000 n
+0000274883 00000 n
+0000274948 00000 n
+0000275013 00000 n
+0000275078 00000 n
+0000275143 00000 n
+0000275208 00000 n
+0000275273 00000 n
+0000275338 00000 n
+0000275402 00000 n
+0000275467 00000 n
+0000275532 00000 n
+0000275597 00000 n
+0000275661 00000 n
+0000275726 00000 n
+0000275791 00000 n
+0000275856 00000 n
+0000275921 00000 n
+0000275986 00000 n
+0000276051 00000 n
+0000276116 00000 n
+0000276181 00000 n
+0000276246 00000 n
+0000276311 00000 n
+0000276376 00000 n
+0000276441 00000 n
+0000276505 00000 n
+0000276570 00000 n
+0000276635 00000 n
+0000276700 00000 n
+0000276764 00000 n
+0000276829 00000 n
+0000276893 00000 n
+0000280198 00000 n
+0000283081 00000 n
+0000280025 00000 n
+0000277121 00000 n
+0000280356 00000 n
+0000280420 00000 n
+0000280485 00000 n
+0000280550 00000 n
+0000280615 00000 n
+0000280680 00000 n
+0000280745 00000 n
+0000280809 00000 n
+0000280874 00000 n
+0000280939 00000 n
+0000281004 00000 n
+0000281069 00000 n
+0000281134 00000 n
+0000281199 00000 n
+0000281264 00000 n
+0000281329 00000 n
+0000281393 00000 n
+0000281458 00000 n
+0000281523 00000 n
+0000281588 00000 n
+0000281653 00000 n
+0000281718 00000 n
+0000281783 00000 n
+0000281848 00000 n
+0000281913 00000 n
0000281977 00000 n
-0000290955 00000 n
-0000288044 00000 n
-0000285248 00000 n
-0000288169 00000 n
-0000288233 00000 n
-0000288298 00000 n
-0000288362 00000 n
-0000288427 00000 n
-0000288492 00000 n
-0000288557 00000 n
-0000288622 00000 n
-0000288687 00000 n
-0000288752 00000 n
-0000288817 00000 n
-0000288880 00000 n
-0000288945 00000 n
-0000289010 00000 n
-0000289075 00000 n
-0000289140 00000 n
-0000289205 00000 n
-0000289270 00000 n
-0000289334 00000 n
-0000289399 00000 n
-0000289464 00000 n
-0000289529 00000 n
-0000289594 00000 n
-0000289659 00000 n
-0000289724 00000 n
-0000289789 00000 n
-0000289854 00000 n
-0000289918 00000 n
-0000289983 00000 n
-0000290048 00000 n
-0000290113 00000 n
-0000290178 00000 n
-0000290243 00000 n
-0000290308 00000 n
-0000290373 00000 n
-0000290438 00000 n
-0000290503 00000 n
-0000290568 00000 n
-0000290633 00000 n
-0000290698 00000 n
-0000290763 00000 n
-0000290828 00000 n
-0000290891 00000 n
-0000296929 00000 n
-0000293627 00000 n
-0000291119 00000 n
-0000293752 00000 n
-0000293816 00000 n
-0000293881 00000 n
-0000293945 00000 n
-0000294010 00000 n
-0000294075 00000 n
-0000294140 00000 n
-0000294205 00000 n
-0000294270 00000 n
-0000294335 00000 n
-0000294400 00000 n
-0000294465 00000 n
-0000294529 00000 n
-0000294594 00000 n
-0000294659 00000 n
-0000294724 00000 n
-0000294789 00000 n
-0000294853 00000 n
-0000294918 00000 n
-0000294983 00000 n
-0000295048 00000 n
-0000295113 00000 n
-0000295178 00000 n
-0000295243 00000 n
-0000295308 00000 n
-0000295373 00000 n
-0000295437 00000 n
-0000295502 00000 n
-0000295567 00000 n
-0000295632 00000 n
-0000295697 00000 n
-0000295762 00000 n
-0000295827 00000 n
-0000295892 00000 n
-0000295957 00000 n
-0000296022 00000 n
-0000296087 00000 n
-0000296152 00000 n
-0000296217 00000 n
-0000296282 00000 n
-0000296346 00000 n
-0000296411 00000 n
-0000296476 00000 n
-0000296541 00000 n
-0000296606 00000 n
-0000296671 00000 n
-0000296736 00000 n
-0000296801 00000 n
-0000296865 00000 n
-0000303419 00000 n
-0000299532 00000 n
-0000297106 00000 n
-0000299657 00000 n
-0000299721 00000 n
-0000299786 00000 n
-0000299851 00000 n
+0000282042 00000 n
+0000282107 00000 n
+0000282172 00000 n
+0000282236 00000 n
+0000282301 00000 n
+0000282366 00000 n
+0000282431 00000 n
+0000282496 00000 n
+0000282561 00000 n
+0000282626 00000 n
+0000282691 00000 n
+0000282756 00000 n
+0000282821 00000 n
+0000282886 00000 n
+0000282951 00000 n
+0000283016 00000 n
+0000280167 00000 n
+0000289431 00000 n
+0000286069 00000 n
+0000283297 00000 n
+0000286194 00000 n
+0000286258 00000 n
+0000286322 00000 n
+0000286387 00000 n
+0000286452 00000 n
+0000286517 00000 n
+0000286582 00000 n
+0000286647 00000 n
+0000286712 00000 n
+0000286777 00000 n
+0000286842 00000 n
+0000286906 00000 n
+0000286971 00000 n
+0000287036 00000 n
+0000287101 00000 n
+0000287165 00000 n
+0000287230 00000 n
+0000287295 00000 n
+0000287360 00000 n
+0000287425 00000 n
+0000287490 00000 n
+0000287554 00000 n
+0000287619 00000 n
+0000287684 00000 n
+0000287749 00000 n
+0000287814 00000 n
+0000287879 00000 n
+0000287944 00000 n
+0000288009 00000 n
+0000288073 00000 n
+0000288138 00000 n
+0000288203 00000 n
+0000288268 00000 n
+0000288331 00000 n
+0000288396 00000 n
+0000288461 00000 n
+0000288526 00000 n
+0000288591 00000 n
+0000288656 00000 n
+0000288721 00000 n
+0000288786 00000 n
+0000288851 00000 n
+0000288915 00000 n
+0000288980 00000 n
+0000289045 00000 n
+0000289110 00000 n
+0000289175 00000 n
+0000289240 00000 n
+0000289305 00000 n
+0000289369 00000 n
+0000295231 00000 n
+0000292447 00000 n
+0000289608 00000 n
+0000292572 00000 n
+0000292636 00000 n
+0000292701 00000 n
+0000292766 00000 n
+0000292831 00000 n
+0000292896 00000 n
+0000292961 00000 n
+0000293026 00000 n
+0000293091 00000 n
+0000293156 00000 n
+0000293221 00000 n
+0000293286 00000 n
+0000293351 00000 n
+0000293416 00000 n
+0000293480 00000 n
+0000293545 00000 n
+0000293610 00000 n
+0000293675 00000 n
+0000293740 00000 n
+0000293805 00000 n
+0000293870 00000 n
+0000293935 00000 n
+0000294000 00000 n
+0000294065 00000 n
+0000294130 00000 n
+0000294195 00000 n
+0000294260 00000 n
+0000294325 00000 n
+0000294390 00000 n
+0000294454 00000 n
+0000294519 00000 n
+0000294584 00000 n
+0000294649 00000 n
+0000294714 00000 n
+0000294779 00000 n
+0000294844 00000 n
+0000294909 00000 n
+0000294974 00000 n
+0000295038 00000 n
+0000295103 00000 n
+0000295167 00000 n
+0000301278 00000 n
+0000297974 00000 n
+0000295395 00000 n
+0000298099 00000 n
+0000298163 00000 n
+0000298228 00000 n
+0000298292 00000 n
+0000298357 00000 n
+0000298422 00000 n
+0000298487 00000 n
+0000298552 00000 n
+0000298617 00000 n
+0000298682 00000 n
+0000298747 00000 n
+0000298812 00000 n
+0000298877 00000 n
+0000298942 00000 n
+0000299007 00000 n
+0000299072 00000 n
+0000299136 00000 n
+0000299201 00000 n
+0000299266 00000 n
+0000299331 00000 n
+0000299396 00000 n
+0000299461 00000 n
+0000299526 00000 n
+0000299591 00000 n
+0000299655 00000 n
+0000299720 00000 n
+0000299785 00000 n
+0000299850 00000 n
0000299915 00000 n
0000299980 00000 n
0000300045 00000 n
0000300110 00000 n
0000300175 00000 n
-0000300240 00000 n
+0000300239 00000 n
0000300304 00000 n
0000300369 00000 n
0000300434 00000 n
@@ -18438,1724 +18337,1712 @@ xref
0000300629 00000 n
0000300694 00000 n
0000300759 00000 n
-0000300823 00000 n
-0000300888 00000 n
-0000300953 00000 n
-0000301018 00000 n
-0000301083 00000 n
-0000301148 00000 n
-0000301213 00000 n
-0000301278 00000 n
-0000301343 00000 n
-0000301407 00000 n
-0000301472 00000 n
-0000301537 00000 n
-0000301602 00000 n
-0000301667 00000 n
-0000301732 00000 n
-0000301797 00000 n
-0000301862 00000 n
-0000301927 00000 n
-0000301991 00000 n
-0000302056 00000 n
-0000302121 00000 n
-0000302186 00000 n
-0000302251 00000 n
-0000302316 00000 n
-0000302381 00000 n
-0000302446 00000 n
-0000302511 00000 n
-0000302575 00000 n
-0000302640 00000 n
-0000302705 00000 n
-0000302770 00000 n
-0000302835 00000 n
-0000302900 00000 n
-0000302965 00000 n
-0000303030 00000 n
-0000303095 00000 n
-0000303160 00000 n
-0000303224 00000 n
-0000303289 00000 n
-0000303354 00000 n
-0000309261 00000 n
-0000306413 00000 n
-0000303583 00000 n
-0000306538 00000 n
-0000306602 00000 n
-0000306667 00000 n
-0000306731 00000 n
-0000306796 00000 n
-0000306861 00000 n
-0000306926 00000 n
-0000306991 00000 n
-0000307056 00000 n
-0000307121 00000 n
-0000307185 00000 n
-0000307250 00000 n
-0000307315 00000 n
-0000307380 00000 n
-0000307445 00000 n
-0000307510 00000 n
-0000307575 00000 n
-0000307640 00000 n
-0000307705 00000 n
-0000307769 00000 n
-0000307834 00000 n
-0000307899 00000 n
-0000307964 00000 n
-0000308029 00000 n
-0000308094 00000 n
-0000308159 00000 n
-0000308224 00000 n
-0000308289 00000 n
-0000308354 00000 n
-0000308419 00000 n
-0000308484 00000 n
-0000308549 00000 n
-0000308614 00000 n
-0000308679 00000 n
-0000308743 00000 n
-0000308808 00000 n
-0000308936 00000 n
-0000309001 00000 n
-0000309066 00000 n
-0000309131 00000 n
-0000309196 00000 n
-0000315397 00000 n
-0000311381 00000 n
-0000309438 00000 n
-0000311506 00000 n
-0000311570 00000 n
-0000311635 00000 n
-0000311699 00000 n
-0000311764 00000 n
-0000311829 00000 n
-0000311894 00000 n
-0000311959 00000 n
-0000312024 00000 n
-0000312089 00000 n
-0000312154 00000 n
-0000312219 00000 n
-0000312283 00000 n
-0000312348 00000 n
-0000312413 00000 n
-0000312478 00000 n
-0000312543 00000 n
-0000312608 00000 n
-0000312673 00000 n
-0000312738 00000 n
-0000312803 00000 n
-0000312867 00000 n
-0000312932 00000 n
-0000312997 00000 n
-0000313062 00000 n
-0000313127 00000 n
-0000313192 00000 n
-0000313257 00000 n
-0000313322 00000 n
-0000313387 00000 n
-0000313450 00000 n
-0000313515 00000 n
-0000313580 00000 n
-0000313645 00000 n
-0000313710 00000 n
-0000313775 00000 n
-0000313840 00000 n
-0000313905 00000 n
-0000313970 00000 n
-0000314035 00000 n
-0000314100 00000 n
-0000314165 00000 n
-0000314230 00000 n
-0000314295 00000 n
-0000314360 00000 n
-0000314425 00000 n
-0000314490 00000 n
-0000314555 00000 n
-0000314620 00000 n
-0000314684 00000 n
-0000314749 00000 n
-0000314814 00000 n
-0000314879 00000 n
-0000314944 00000 n
-0000315009 00000 n
-0000315074 00000 n
-0000315139 00000 n
-0000315204 00000 n
-0000315269 00000 n
-0000315333 00000 n
-0000321306 00000 n
-0000317747 00000 n
-0000315574 00000 n
-0000317872 00000 n
-0000317936 00000 n
-0000318001 00000 n
-0000318065 00000 n
-0000318130 00000 n
-0000318195 00000 n
-0000318260 00000 n
-0000318325 00000 n
-0000318390 00000 n
-0000318455 00000 n
-0000318520 00000 n
-0000318585 00000 n
-0000318649 00000 n
-0000318714 00000 n
-0000318779 00000 n
-0000318844 00000 n
-0000318909 00000 n
-0000318974 00000 n
-0000319039 00000 n
-0000319104 00000 n
-0000319169 00000 n
-0000319233 00000 n
-0000319298 00000 n
-0000319363 00000 n
-0000319428 00000 n
-0000319493 00000 n
-0000319558 00000 n
-0000319623 00000 n
-0000319688 00000 n
-0000319753 00000 n
-0000319818 00000 n
-0000319883 00000 n
-0000319948 00000 n
-0000320076 00000 n
-0000320141 00000 n
-0000320206 00000 n
-0000320271 00000 n
-0000320336 00000 n
-0000320401 00000 n
-0000320464 00000 n
-0000320529 00000 n
-0000320594 00000 n
-0000320659 00000 n
-0000320724 00000 n
-0000320789 00000 n
-0000320854 00000 n
-0000320919 00000 n
-0000320984 00000 n
-0000321048 00000 n
-0000321113 00000 n
-0000321178 00000 n
-0000321242 00000 n
-0000327399 00000 n
-0000324293 00000 n
-0000321483 00000 n
-0000324418 00000 n
-0000324482 00000 n
-0000324547 00000 n
-0000324611 00000 n
-0000324676 00000 n
-0000324741 00000 n
-0000324806 00000 n
-0000324871 00000 n
-0000324936 00000 n
-0000325001 00000 n
-0000325066 00000 n
-0000325131 00000 n
-0000325195 00000 n
-0000325260 00000 n
-0000325325 00000 n
-0000325390 00000 n
-0000325455 00000 n
-0000325520 00000 n
-0000325585 00000 n
-0000325650 00000 n
-0000325714 00000 n
-0000325779 00000 n
-0000325844 00000 n
-0000325972 00000 n
-0000326037 00000 n
-0000326102 00000 n
-0000326166 00000 n
-0000326231 00000 n
-0000326296 00000 n
-0000326361 00000 n
-0000326426 00000 n
-0000326491 00000 n
-0000326556 00000 n
-0000326621 00000 n
-0000326686 00000 n
-0000326750 00000 n
-0000326815 00000 n
-0000326880 00000 n
-0000326945 00000 n
-0000327010 00000 n
-0000327074 00000 n
-0000327139 00000 n
-0000327204 00000 n
-0000327269 00000 n
-0000327334 00000 n
-0000332954 00000 n
-0000330170 00000 n
-0000327589 00000 n
-0000330295 00000 n
-0000330359 00000 n
-0000330424 00000 n
-0000330488 00000 n
-0000330553 00000 n
-0000330618 00000 n
-0000330683 00000 n
-0000330748 00000 n
-0000330813 00000 n
-0000330877 00000 n
-0000330940 00000 n
-0000331005 00000 n
-0000331070 00000 n
-0000331135 00000 n
-0000331200 00000 n
-0000331265 00000 n
-0000331330 00000 n
-0000331395 00000 n
-0000331460 00000 n
-0000331525 00000 n
-0000331590 00000 n
-0000331655 00000 n
-0000331720 00000 n
-0000331785 00000 n
-0000331850 00000 n
-0000331915 00000 n
-0000331980 00000 n
-0000332045 00000 n
-0000332110 00000 n
-0000332175 00000 n
-0000332240 00000 n
-0000332305 00000 n
-0000332370 00000 n
-0000332435 00000 n
-0000332500 00000 n
-0000332564 00000 n
-0000332629 00000 n
-0000332694 00000 n
-0000332759 00000 n
-0000332824 00000 n
-0000332889 00000 n
-0000877206 00000 n
-0000339091 00000 n
-0000335210 00000 n
-0000333131 00000 n
-0000335335 00000 n
-0000335399 00000 n
-0000335464 00000 n
-0000335528 00000 n
-0000335593 00000 n
-0000335658 00000 n
-0000335786 00000 n
-0000335851 00000 n
-0000335916 00000 n
-0000335981 00000 n
-0000336046 00000 n
-0000336111 00000 n
-0000336174 00000 n
-0000336239 00000 n
-0000336304 00000 n
-0000336369 00000 n
-0000336497 00000 n
-0000336562 00000 n
-0000336627 00000 n
-0000336692 00000 n
-0000336757 00000 n
-0000336822 00000 n
-0000336887 00000 n
-0000336951 00000 n
-0000337015 00000 n
-0000337080 00000 n
-0000337145 00000 n
-0000337210 00000 n
-0000337275 00000 n
-0000337340 00000 n
-0000337405 00000 n
-0000337470 00000 n
-0000337535 00000 n
-0000337600 00000 n
-0000337665 00000 n
-0000337729 00000 n
-0000337794 00000 n
-0000337859 00000 n
-0000337924 00000 n
-0000337989 00000 n
-0000338054 00000 n
-0000338119 00000 n
-0000338184 00000 n
-0000338249 00000 n
-0000338314 00000 n
-0000338379 00000 n
-0000338443 00000 n
-0000338508 00000 n
-0000338573 00000 n
-0000338638 00000 n
-0000338703 00000 n
-0000338768 00000 n
-0000338833 00000 n
-0000338898 00000 n
-0000338963 00000 n
-0000339027 00000 n
-0000345427 00000 n
-0000341283 00000 n
-0000339255 00000 n
-0000341408 00000 n
-0000341472 00000 n
-0000341537 00000 n
-0000341601 00000 n
-0000341666 00000 n
-0000341731 00000 n
-0000341796 00000 n
-0000341861 00000 n
-0000341925 00000 n
-0000341990 00000 n
-0000342055 00000 n
-0000342120 00000 n
-0000342185 00000 n
-0000342249 00000 n
-0000342314 00000 n
-0000342379 00000 n
-0000342444 00000 n
-0000342509 00000 n
-0000342574 00000 n
-0000342639 00000 n
-0000342704 00000 n
-0000342769 00000 n
-0000342834 00000 n
-0000342899 00000 n
-0000342964 00000 n
-0000343029 00000 n
-0000343094 00000 n
-0000343159 00000 n
-0000343224 00000 n
-0000343289 00000 n
-0000343354 00000 n
-0000343419 00000 n
-0000343484 00000 n
-0000343549 00000 n
-0000343614 00000 n
-0000343679 00000 n
-0000343744 00000 n
-0000343809 00000 n
-0000343873 00000 n
-0000343938 00000 n
-0000344003 00000 n
-0000344068 00000 n
-0000344133 00000 n
-0000344197 00000 n
-0000344262 00000 n
-0000344327 00000 n
-0000344392 00000 n
-0000344457 00000 n
-0000344522 00000 n
-0000344585 00000 n
-0000344650 00000 n
-0000344715 00000 n
-0000344780 00000 n
-0000344845 00000 n
-0000344910 00000 n
-0000344975 00000 n
-0000345040 00000 n
-0000345105 00000 n
-0000345169 00000 n
-0000345234 00000 n
-0000345299 00000 n
-0000345363 00000 n
-0000351261 00000 n
-0000347507 00000 n
-0000345578 00000 n
-0000347632 00000 n
-0000347696 00000 n
-0000347761 00000 n
-0000347825 00000 n
-0000347890 00000 n
-0000347955 00000 n
-0000348020 00000 n
-0000348085 00000 n
-0000348150 00000 n
-0000348215 00000 n
-0000348280 00000 n
-0000348345 00000 n
-0000348409 00000 n
-0000348474 00000 n
-0000348539 00000 n
-0000348604 00000 n
-0000348669 00000 n
-0000348734 00000 n
-0000348799 00000 n
-0000348864 00000 n
-0000348929 00000 n
-0000348993 00000 n
-0000349058 00000 n
-0000349123 00000 n
-0000349188 00000 n
-0000349253 00000 n
-0000349318 00000 n
-0000349383 00000 n
-0000349447 00000 n
-0000349512 00000 n
-0000349577 00000 n
-0000349642 00000 n
-0000349707 00000 n
-0000349772 00000 n
-0000349837 00000 n
-0000349901 00000 n
-0000349966 00000 n
-0000350031 00000 n
-0000350096 00000 n
-0000350161 00000 n
-0000350226 00000 n
-0000350291 00000 n
-0000350356 00000 n
-0000350421 00000 n
-0000350486 00000 n
-0000350551 00000 n
-0000350616 00000 n
-0000350681 00000 n
-0000350809 00000 n
-0000350874 00000 n
-0000350939 00000 n
-0000351004 00000 n
-0000351069 00000 n
-0000351133 00000 n
-0000351197 00000 n
-0000357475 00000 n
-0000354113 00000 n
-0000351425 00000 n
-0000354238 00000 n
-0000354302 00000 n
-0000354367 00000 n
-0000354431 00000 n
-0000354496 00000 n
-0000354561 00000 n
-0000354626 00000 n
-0000354691 00000 n
-0000354819 00000 n
-0000354884 00000 n
-0000354949 00000 n
-0000355014 00000 n
-0000355078 00000 n
-0000355143 00000 n
-0000355208 00000 n
-0000355273 00000 n
-0000355338 00000 n
-0000355403 00000 n
-0000355468 00000 n
-0000355533 00000 n
-0000355598 00000 n
-0000355662 00000 n
-0000355727 00000 n
-0000355792 00000 n
-0000355857 00000 n
-0000355922 00000 n
-0000355987 00000 n
-0000356052 00000 n
-0000874848 00000 n
-0000356180 00000 n
-0000356245 00000 n
-0000356310 00000 n
-0000356374 00000 n
-0000356439 00000 n
-0000356504 00000 n
-0000356569 00000 n
-0000356634 00000 n
-0000356699 00000 n
-0000356763 00000 n
-0000356828 00000 n
-0000356893 00000 n
-0000356958 00000 n
-0000357023 00000 n
-0000357088 00000 n
-0000357153 00000 n
-0000357217 00000 n
-0000357282 00000 n
-0000357347 00000 n
-0000357411 00000 n
-0000362848 00000 n
-0000360973 00000 n
-0000357706 00000 n
-0000361098 00000 n
-0000361162 00000 n
-0000361227 00000 n
-0000361291 00000 n
-0000361356 00000 n
-0000361421 00000 n
-0000361486 00000 n
-0000361551 00000 n
-0000361616 00000 n
-0000361681 00000 n
-0000361746 00000 n
-0000361809 00000 n
-0000361874 00000 n
-0000361939 00000 n
-0000362004 00000 n
-0000362069 00000 n
-0000362134 00000 n
-0000362199 00000 n
-0000362264 00000 n
-0000362329 00000 n
-0000362394 00000 n
-0000362459 00000 n
-0000362524 00000 n
-0000362589 00000 n
-0000362654 00000 n
-0000362719 00000 n
-0000362783 00000 n
-0000368124 00000 n
-0000365730 00000 n
-0000363064 00000 n
-0000365855 00000 n
-0000365919 00000 n
-0000365984 00000 n
-0000366049 00000 n
-0000366114 00000 n
-0000366178 00000 n
-0000366243 00000 n
-0000366308 00000 n
-0000366373 00000 n
-0000366438 00000 n
-0000366503 00000 n
-0000366568 00000 n
-0000366632 00000 n
-0000366697 00000 n
-0000366762 00000 n
-0000366827 00000 n
-0000366892 00000 n
-0000366957 00000 n
-0000367022 00000 n
-0000367087 00000 n
-0000367152 00000 n
-0000367217 00000 n
-0000367282 00000 n
-0000367346 00000 n
-0000367411 00000 n
-0000367476 00000 n
-0000367540 00000 n
-0000367605 00000 n
-0000367669 00000 n
-0000367734 00000 n
-0000367799 00000 n
-0000367864 00000 n
-0000367929 00000 n
-0000367994 00000 n
-0000368059 00000 n
-0000372967 00000 n
-0000370444 00000 n
-0000368340 00000 n
-0000370569 00000 n
-0000370633 00000 n
-0000370698 00000 n
-0000370763 00000 n
-0000370828 00000 n
-0000370892 00000 n
-0000370957 00000 n
-0000371022 00000 n
-0000371087 00000 n
-0000371152 00000 n
-0000371217 00000 n
-0000371282 00000 n
-0000371347 00000 n
-0000371412 00000 n
-0000371477 00000 n
-0000371542 00000 n
-0000371607 00000 n
-0000371670 00000 n
-0000371735 00000 n
-0000371800 00000 n
-0000371865 00000 n
-0000371930 00000 n
-0000371995 00000 n
-0000372060 00000 n
-0000372125 00000 n
-0000372190 00000 n
-0000372254 00000 n
-0000372319 00000 n
-0000372384 00000 n
-0000372449 00000 n
-0000372514 00000 n
-0000372578 00000 n
-0000372643 00000 n
-0000372708 00000 n
-0000372773 00000 n
-0000372838 00000 n
-0000372902 00000 n
-0000378325 00000 n
-0000375411 00000 n
-0000373157 00000 n
-0000375536 00000 n
-0000375600 00000 n
-0000375664 00000 n
-0000375729 00000 n
-0000375794 00000 n
-0000375859 00000 n
-0000375924 00000 n
-0000375989 00000 n
-0000376054 00000 n
-0000376118 00000 n
-0000376183 00000 n
-0000376248 00000 n
-0000376313 00000 n
-0000376378 00000 n
-0000376443 00000 n
-0000376508 00000 n
-0000376573 00000 n
-0000376638 00000 n
-0000376703 00000 n
-0000376768 00000 n
-0000376833 00000 n
-0000376898 00000 n
-0000376963 00000 n
-0000377028 00000 n
-0000377093 00000 n
-0000377158 00000 n
-0000377222 00000 n
-0000377287 00000 n
-0000377352 00000 n
-0000377417 00000 n
-0000377482 00000 n
-0000377547 00000 n
-0000377612 00000 n
-0000377677 00000 n
-0000377742 00000 n
-0000377807 00000 n
-0000377872 00000 n
-0000377936 00000 n
-0000378001 00000 n
-0000378066 00000 n
-0000378131 00000 n
-0000378196 00000 n
-0000378260 00000 n
-0000383613 00000 n
-0000380437 00000 n
-0000378541 00000 n
-0000380562 00000 n
-0000380626 00000 n
-0000380691 00000 n
-0000380755 00000 n
-0000380820 00000 n
-0000380885 00000 n
-0000380950 00000 n
-0000381015 00000 n
-0000381080 00000 n
-0000381145 00000 n
-0000381209 00000 n
-0000381274 00000 n
-0000381339 00000 n
-0000381404 00000 n
-0000381469 00000 n
-0000381534 00000 n
-0000381599 00000 n
-0000381663 00000 n
-0000381728 00000 n
-0000381793 00000 n
-0000381858 00000 n
-0000381923 00000 n
-0000381988 00000 n
-0000382053 00000 n
-0000382118 00000 n
-0000382183 00000 n
-0000382248 00000 n
-0000382313 00000 n
-0000382378 00000 n
-0000382443 00000 n
-0000382508 00000 n
-0000382573 00000 n
-0000382638 00000 n
-0000382703 00000 n
-0000382768 00000 n
-0000382833 00000 n
-0000382898 00000 n
-0000382963 00000 n
-0000383028 00000 n
-0000383093 00000 n
-0000383158 00000 n
-0000383223 00000 n
-0000383288 00000 n
-0000383353 00000 n
-0000383418 00000 n
-0000383483 00000 n
-0000383548 00000 n
-0000386910 00000 n
-0000389402 00000 n
-0000386737 00000 n
-0000383790 00000 n
-0000387068 00000 n
-0000387132 00000 n
-0000387197 00000 n
-0000387262 00000 n
-0000387327 00000 n
-0000387392 00000 n
-0000387457 00000 n
-0000387522 00000 n
-0000387587 00000 n
-0000387652 00000 n
-0000387716 00000 n
-0000387781 00000 n
-0000387846 00000 n
-0000387911 00000 n
-0000387976 00000 n
-0000388041 00000 n
-0000388106 00000 n
-0000388171 00000 n
-0000388236 00000 n
-0000388301 00000 n
-0000388366 00000 n
-0000388431 00000 n
-0000388495 00000 n
-0000388560 00000 n
-0000388624 00000 n
-0000388689 00000 n
-0000388754 00000 n
-0000388819 00000 n
-0000388884 00000 n
-0000388949 00000 n
-0000389014 00000 n
-0000389079 00000 n
-0000389144 00000 n
-0000389209 00000 n
-0000389274 00000 n
-0000389338 00000 n
-0000877370 00000 n
-0000386879 00000 n
-0000396104 00000 n
-0000392544 00000 n
-0000389670 00000 n
-0000392669 00000 n
-0000392733 00000 n
-0000392798 00000 n
-0000392862 00000 n
-0000392927 00000 n
-0000392992 00000 n
-0000393057 00000 n
-0000393122 00000 n
-0000393187 00000 n
-0000393252 00000 n
-0000393317 00000 n
-0000393382 00000 n
-0000393447 00000 n
-0000393512 00000 n
-0000393577 00000 n
-0000393642 00000 n
-0000393707 00000 n
-0000393835 00000 n
-0000393900 00000 n
-0000393964 00000 n
-0000394029 00000 n
-0000394094 00000 n
-0000394159 00000 n
-0000394224 00000 n
-0000394289 00000 n
-0000394354 00000 n
-0000394419 00000 n
-0000394484 00000 n
-0000394548 00000 n
-0000394613 00000 n
-0000394678 00000 n
-0000394743 00000 n
-0000394808 00000 n
-0000394873 00000 n
-0000394938 00000 n
-0000395003 00000 n
-0000395068 00000 n
-0000395132 00000 n
-0000395197 00000 n
-0000395262 00000 n
-0000395327 00000 n
-0000395392 00000 n
-0000395457 00000 n
-0000395522 00000 n
-0000395587 00000 n
-0000395652 00000 n
-0000395716 00000 n
-0000395781 00000 n
-0000395846 00000 n
-0000395911 00000 n
-0000395976 00000 n
-0000396040 00000 n
-0000402081 00000 n
-0000399622 00000 n
-0000396307 00000 n
-0000399747 00000 n
-0000399811 00000 n
-0000399876 00000 n
-0000399940 00000 n
-0000400005 00000 n
-0000400070 00000 n
-0000400135 00000 n
-0000400200 00000 n
-0000400265 00000 n
-0000400330 00000 n
-0000400395 00000 n
-0000400460 00000 n
-0000400524 00000 n
-0000400589 00000 n
-0000400654 00000 n
-0000400719 00000 n
-0000400784 00000 n
-0000400849 00000 n
-0000400914 00000 n
-0000400979 00000 n
-0000401044 00000 n
-0000401108 00000 n
-0000401173 00000 n
-0000401238 00000 n
-0000401303 00000 n
-0000401368 00000 n
-0000401432 00000 n
-0000401497 00000 n
-0000401562 00000 n
-0000401627 00000 n
-0000401692 00000 n
-0000401757 00000 n
-0000401822 00000 n
-0000401887 00000 n
-0000401952 00000 n
-0000402016 00000 n
-0000405720 00000 n
-0000405877 00000 n
-0000408174 00000 n
-0000405538 00000 n
-0000402297 00000 n
-0000406034 00000 n
-0000406098 00000 n
-0000406161 00000 n
-0000406226 00000 n
-0000406291 00000 n
-0000406356 00000 n
-0000406420 00000 n
-0000406485 00000 n
-0000406550 00000 n
-0000406615 00000 n
-0000406680 00000 n
-0000406745 00000 n
-0000406810 00000 n
-0000406875 00000 n
-0000406940 00000 n
-0000407005 00000 n
-0000407070 00000 n
-0000407135 00000 n
-0000407200 00000 n
-0000407265 00000 n
-0000407330 00000 n
-0000407395 00000 n
-0000407460 00000 n
-0000407525 00000 n
-0000407590 00000 n
-0000407655 00000 n
-0000407720 00000 n
-0000407784 00000 n
-0000407849 00000 n
-0000407914 00000 n
-0000407979 00000 n
-0000408044 00000 n
-0000408109 00000 n
-0000405680 00000 n
-0000413421 00000 n
-0000410056 00000 n
-0000408442 00000 n
-0000410181 00000 n
-0000410245 00000 n
-0000410310 00000 n
-0000410375 00000 n
-0000410440 00000 n
-0000410505 00000 n
-0000410570 00000 n
-0000410635 00000 n
-0000410700 00000 n
-0000410765 00000 n
-0000410829 00000 n
-0000410894 00000 n
-0000410959 00000 n
-0000411024 00000 n
-0000411089 00000 n
-0000411154 00000 n
-0000411219 00000 n
-0000411284 00000 n
-0000411349 00000 n
-0000411413 00000 n
-0000411478 00000 n
-0000411543 00000 n
-0000411608 00000 n
-0000411673 00000 n
-0000411738 00000 n
-0000411803 00000 n
-0000411868 00000 n
-0000411933 00000 n
-0000411997 00000 n
-0000412062 00000 n
-0000412127 00000 n
-0000412192 00000 n
-0000412257 00000 n
-0000412322 00000 n
-0000412387 00000 n
-0000412452 00000 n
-0000412515 00000 n
-0000412580 00000 n
-0000412645 00000 n
-0000412710 00000 n
-0000412775 00000 n
-0000412838 00000 n
-0000412903 00000 n
-0000412968 00000 n
-0000413033 00000 n
-0000413098 00000 n
-0000413163 00000 n
-0000413227 00000 n
-0000413292 00000 n
-0000413356 00000 n
-0000419403 00000 n
-0000415387 00000 n
-0000413585 00000 n
-0000415512 00000 n
-0000415576 00000 n
-0000415640 00000 n
-0000415705 00000 n
-0000415770 00000 n
-0000415835 00000 n
-0000415900 00000 n
-0000415965 00000 n
-0000416030 00000 n
-0000416095 00000 n
-0000416160 00000 n
-0000416224 00000 n
-0000416289 00000 n
-0000416354 00000 n
-0000416419 00000 n
-0000416484 00000 n
-0000416549 00000 n
-0000416614 00000 n
-0000416679 00000 n
-0000416744 00000 n
-0000416808 00000 n
-0000416873 00000 n
-0000416938 00000 n
-0000417003 00000 n
-0000417068 00000 n
-0000417133 00000 n
-0000417198 00000 n
-0000417263 00000 n
-0000417328 00000 n
-0000417392 00000 n
-0000417457 00000 n
-0000417522 00000 n
-0000417587 00000 n
-0000417652 00000 n
-0000417717 00000 n
-0000417782 00000 n
-0000417847 00000 n
-0000417912 00000 n
-0000417976 00000 n
-0000418041 00000 n
-0000418106 00000 n
-0000418171 00000 n
-0000418236 00000 n
-0000418301 00000 n
-0000418366 00000 n
-0000418431 00000 n
-0000418496 00000 n
-0000418560 00000 n
-0000418625 00000 n
-0000418690 00000 n
-0000418755 00000 n
-0000418820 00000 n
-0000418885 00000 n
-0000418950 00000 n
-0000419015 00000 n
-0000419080 00000 n
-0000419144 00000 n
-0000419209 00000 n
-0000419274 00000 n
-0000419339 00000 n
-0000425505 00000 n
-0000422659 00000 n
-0000419593 00000 n
-0000422784 00000 n
-0000422848 00000 n
-0000422913 00000 n
-0000422977 00000 n
-0000423042 00000 n
-0000423107 00000 n
-0000423172 00000 n
-0000423236 00000 n
-0000423301 00000 n
-0000423366 00000 n
-0000423431 00000 n
-0000423496 00000 n
-0000423560 00000 n
-0000423625 00000 n
-0000423690 00000 n
-0000423755 00000 n
-0000423820 00000 n
-0000423885 00000 n
-0000423950 00000 n
-0000424015 00000 n
-0000424079 00000 n
-0000424144 00000 n
-0000424209 00000 n
-0000424274 00000 n
-0000424339 00000 n
-0000424404 00000 n
-0000424469 00000 n
-0000424534 00000 n
-0000424598 00000 n
-0000424663 00000 n
-0000424728 00000 n
-0000424793 00000 n
-0000424858 00000 n
-0000424923 00000 n
-0000424988 00000 n
-0000425053 00000 n
-0000425118 00000 n
-0000425183 00000 n
-0000425247 00000 n
-0000425312 00000 n
-0000425377 00000 n
-0000425441 00000 n
-0000428852 00000 n
-0000431800 00000 n
-0000428679 00000 n
-0000425721 00000 n
-0000429010 00000 n
-0000429074 00000 n
-0000429139 00000 n
-0000429204 00000 n
-0000429269 00000 n
-0000429334 00000 n
-0000429399 00000 n
-0000429464 00000 n
-0000429529 00000 n
-0000429594 00000 n
-0000429658 00000 n
-0000429723 00000 n
-0000429787 00000 n
-0000429852 00000 n
-0000429917 00000 n
-0000429982 00000 n
-0000430047 00000 n
-0000430112 00000 n
-0000430177 00000 n
-0000430242 00000 n
-0000430307 00000 n
-0000430372 00000 n
-0000430437 00000 n
-0000430502 00000 n
-0000430567 00000 n
-0000430632 00000 n
-0000430697 00000 n
-0000430762 00000 n
-0000430827 00000 n
-0000430892 00000 n
-0000430957 00000 n
-0000431021 00000 n
-0000431086 00000 n
-0000431151 00000 n
-0000431216 00000 n
-0000431281 00000 n
-0000431346 00000 n
-0000431411 00000 n
-0000431476 00000 n
-0000431541 00000 n
-0000431606 00000 n
-0000431671 00000 n
-0000431736 00000 n
-0000428821 00000 n
-0000437954 00000 n
-0000434329 00000 n
-0000432081 00000 n
-0000434454 00000 n
-0000434518 00000 n
-0000434583 00000 n
-0000434647 00000 n
-0000434712 00000 n
-0000434777 00000 n
-0000434842 00000 n
-0000434907 00000 n
-0000434972 00000 n
-0000435037 00000 n
-0000435102 00000 n
-0000435230 00000 n
-0000435295 00000 n
-0000435360 00000 n
-0000435425 00000 n
-0000435490 00000 n
-0000435555 00000 n
-0000435620 00000 n
-0000435685 00000 n
-0000435750 00000 n
-0000435815 00000 n
-0000435880 00000 n
-0000435945 00000 n
-0000436008 00000 n
-0000436073 00000 n
-0000436138 00000 n
-0000436203 00000 n
-0000436268 00000 n
-0000436333 00000 n
-0000436398 00000 n
-0000436463 00000 n
-0000436528 00000 n
-0000436593 00000 n
-0000436658 00000 n
-0000436723 00000 n
-0000436788 00000 n
-0000436853 00000 n
-0000436918 00000 n
-0000436983 00000 n
-0000437048 00000 n
-0000437112 00000 n
-0000437177 00000 n
-0000437242 00000 n
-0000437307 00000 n
-0000437372 00000 n
-0000437437 00000 n
-0000437502 00000 n
-0000437567 00000 n
-0000437632 00000 n
-0000437696 00000 n
-0000437761 00000 n
-0000437826 00000 n
-0000437890 00000 n
-0000444002 00000 n
-0000440508 00000 n
-0000438131 00000 n
-0000440633 00000 n
-0000440697 00000 n
-0000440762 00000 n
-0000440826 00000 n
-0000440891 00000 n
-0000440956 00000 n
-0000441021 00000 n
-0000441086 00000 n
-0000441151 00000 n
-0000441215 00000 n
-0000441280 00000 n
-0000441345 00000 n
-0000441410 00000 n
-0000441475 00000 n
-0000441540 00000 n
-0000441605 00000 n
-0000441670 00000 n
-0000441734 00000 n
-0000441799 00000 n
-0000441864 00000 n
-0000441929 00000 n
-0000441994 00000 n
-0000442059 00000 n
-0000442124 00000 n
-0000442189 00000 n
-0000442254 00000 n
-0000442318 00000 n
-0000442383 00000 n
-0000442448 00000 n
-0000442513 00000 n
-0000442578 00000 n
-0000442643 00000 n
-0000442708 00000 n
-0000442773 00000 n
-0000442838 00000 n
-0000442902 00000 n
-0000442967 00000 n
-0000443032 00000 n
-0000443097 00000 n
-0000443162 00000 n
-0000443227 00000 n
-0000443292 00000 n
-0000443357 00000 n
-0000443422 00000 n
-0000443486 00000 n
-0000443550 00000 n
-0000443615 00000 n
-0000443679 00000 n
-0000443744 00000 n
-0000443809 00000 n
-0000443874 00000 n
-0000443938 00000 n
-0000449578 00000 n
-0000446861 00000 n
-0000444179 00000 n
-0000446986 00000 n
-0000447050 00000 n
-0000447115 00000 n
-0000447179 00000 n
-0000447244 00000 n
-0000447309 00000 n
-0000447374 00000 n
-0000447439 00000 n
-0000447502 00000 n
-0000447567 00000 n
-0000447632 00000 n
-0000447697 00000 n
-0000447762 00000 n
-0000447827 00000 n
-0000447892 00000 n
-0000447957 00000 n
-0000448022 00000 n
-0000448087 00000 n
-0000448152 00000 n
-0000448217 00000 n
-0000448282 00000 n
-0000448347 00000 n
-0000448412 00000 n
-0000448477 00000 n
-0000448542 00000 n
-0000448607 00000 n
-0000448672 00000 n
-0000448737 00000 n
-0000448802 00000 n
-0000448867 00000 n
-0000448932 00000 n
-0000448997 00000 n
-0000449062 00000 n
-0000449126 00000 n
-0000449191 00000 n
-0000449256 00000 n
-0000449320 00000 n
-0000449385 00000 n
-0000449450 00000 n
-0000449514 00000 n
-0000877534 00000 n
-0000455380 00000 n
-0000451690 00000 n
-0000449781 00000 n
-0000451815 00000 n
-0000451879 00000 n
-0000451944 00000 n
-0000452008 00000 n
-0000452073 00000 n
-0000452138 00000 n
-0000452203 00000 n
-0000452268 00000 n
-0000452332 00000 n
-0000452396 00000 n
-0000452461 00000 n
-0000452526 00000 n
-0000452591 00000 n
-0000452656 00000 n
-0000452721 00000 n
-0000452786 00000 n
-0000452851 00000 n
-0000452916 00000 n
-0000452981 00000 n
-0000453046 00000 n
-0000453111 00000 n
-0000453176 00000 n
-0000453241 00000 n
-0000453306 00000 n
-0000453370 00000 n
-0000453435 00000 n
-0000453500 00000 n
-0000453565 00000 n
-0000453630 00000 n
-0000453695 00000 n
-0000453760 00000 n
-0000453825 00000 n
-0000453890 00000 n
-0000453954 00000 n
-0000454019 00000 n
-0000454084 00000 n
-0000454149 00000 n
-0000454214 00000 n
-0000454278 00000 n
-0000454343 00000 n
-0000454408 00000 n
-0000454473 00000 n
-0000454538 00000 n
-0000454603 00000 n
-0000454668 00000 n
-0000454733 00000 n
-0000454798 00000 n
-0000454863 00000 n
-0000454928 00000 n
-0000454993 00000 n
-0000455058 00000 n
-0000455122 00000 n
-0000455187 00000 n
-0000455252 00000 n
-0000455316 00000 n
-0000464284 00000 n
-0000461146 00000 n
-0000457325 00000 n
-0000455583 00000 n
-0000457450 00000 n
-0000457514 00000 n
-0000457579 00000 n
-0000457643 00000 n
-0000457708 00000 n
-0000457773 00000 n
-0000457838 00000 n
-0000457903 00000 n
-0000457968 00000 n
-0000458033 00000 n
-0000458098 00000 n
-0000458163 00000 n
-0000458227 00000 n
-0000458292 00000 n
-0000458357 00000 n
-0000458422 00000 n
-0000458487 00000 n
-0000458552 00000 n
-0000458617 00000 n
-0000458682 00000 n
-0000458747 00000 n
-0000458811 00000 n
-0000458876 00000 n
-0000458941 00000 n
-0000459006 00000 n
-0000459071 00000 n
-0000459135 00000 n
-0000459200 00000 n
-0000459264 00000 n
-0000459329 00000 n
-0000459394 00000 n
-0000459459 00000 n
-0000459524 00000 n
-0000459589 00000 n
-0000459654 00000 n
-0000459719 00000 n
-0000459784 00000 n
-0000459849 00000 n
-0000459913 00000 n
-0000459978 00000 n
-0000460043 00000 n
-0000460108 00000 n
-0000460173 00000 n
-0000460238 00000 n
-0000460303 00000 n
-0000460368 00000 n
-0000460433 00000 n
-0000460497 00000 n
-0000460562 00000 n
-0000460627 00000 n
-0000460692 00000 n
-0000460757 00000 n
-0000460822 00000 n
-0000460887 00000 n
-0000460952 00000 n
-0000461017 00000 n
-0000461081 00000 n
-0000467682 00000 n
-0000464111 00000 n
-0000461310 00000 n
-0000464442 00000 n
-0000464506 00000 n
-0000464571 00000 n
-0000464636 00000 n
-0000464701 00000 n
-0000464766 00000 n
-0000464830 00000 n
-0000464895 00000 n
-0000464960 00000 n
-0000465025 00000 n
-0000465090 00000 n
-0000465218 00000 n
-0000465283 00000 n
-0000465348 00000 n
-0000465413 00000 n
-0000465478 00000 n
-0000465543 00000 n
-0000465608 00000 n
-0000465673 00000 n
-0000465738 00000 n
-0000465803 00000 n
-0000465866 00000 n
-0000465931 00000 n
-0000465996 00000 n
-0000466061 00000 n
-0000466126 00000 n
-0000466191 00000 n
-0000466256 00000 n
-0000466321 00000 n
-0000466386 00000 n
-0000466450 00000 n
-0000466515 00000 n
-0000466580 00000 n
-0000466645 00000 n
-0000466710 00000 n
-0000466775 00000 n
-0000466840 00000 n
-0000466905 00000 n
-0000466970 00000 n
-0000467034 00000 n
-0000467099 00000 n
-0000467164 00000 n
-0000467229 00000 n
-0000467294 00000 n
-0000467359 00000 n
-0000467424 00000 n
-0000467489 00000 n
-0000467554 00000 n
-0000467618 00000 n
-0000464253 00000 n
-0000472259 00000 n
-0000469937 00000 n
-0000467937 00000 n
-0000470062 00000 n
-0000470126 00000 n
-0000470191 00000 n
-0000470256 00000 n
-0000470319 00000 n
-0000470384 00000 n
-0000470449 00000 n
-0000470514 00000 n
-0000470579 00000 n
-0000470643 00000 n
-0000470708 00000 n
-0000470773 00000 n
-0000470838 00000 n
-0000470903 00000 n
-0000470968 00000 n
-0000471033 00000 n
-0000471097 00000 n
-0000471162 00000 n
-0000471226 00000 n
-0000471290 00000 n
-0000471354 00000 n
-0000471417 00000 n
-0000471482 00000 n
-0000471546 00000 n
-0000471611 00000 n
-0000471676 00000 n
-0000471739 00000 n
-0000471804 00000 n
-0000471869 00000 n
-0000471934 00000 n
-0000471999 00000 n
-0000472064 00000 n
-0000472129 00000 n
-0000472194 00000 n
-0000474959 00000 n
-0000478357 00000 n
-0000474786 00000 n
-0000472475 00000 n
-0000475117 00000 n
-0000475181 00000 n
-0000475245 00000 n
-0000475310 00000 n
-0000475375 00000 n
-0000475440 00000 n
-0000475505 00000 n
-0000475570 00000 n
-0000475635 00000 n
-0000475700 00000 n
-0000475765 00000 n
-0000475829 00000 n
-0000475894 00000 n
-0000475959 00000 n
-0000476024 00000 n
-0000476089 00000 n
-0000476154 00000 n
-0000476219 00000 n
-0000476284 00000 n
-0000476349 00000 n
-0000476413 00000 n
-0000476478 00000 n
-0000476543 00000 n
-0000476608 00000 n
-0000476673 00000 n
-0000476738 00000 n
-0000476803 00000 n
-0000476868 00000 n
-0000476933 00000 n
-0000476998 00000 n
-0000477063 00000 n
-0000477128 00000 n
-0000477193 00000 n
-0000477258 00000 n
-0000477322 00000 n
-0000477387 00000 n
-0000477514 00000 n
-0000477579 00000 n
-0000477644 00000 n
-0000477708 00000 n
-0000477773 00000 n
-0000477838 00000 n
-0000477903 00000 n
-0000477968 00000 n
-0000478033 00000 n
-0000478098 00000 n
-0000478163 00000 n
-0000478228 00000 n
-0000478293 00000 n
-0000474928 00000 n
-0000484494 00000 n
-0000481191 00000 n
-0000478586 00000 n
-0000481316 00000 n
-0000481380 00000 n
-0000481445 00000 n
-0000481509 00000 n
-0000481574 00000 n
-0000481639 00000 n
-0000481704 00000 n
-0000481769 00000 n
-0000481834 00000 n
-0000481899 00000 n
-0000481964 00000 n
-0000482028 00000 n
-0000482093 00000 n
-0000482158 00000 n
-0000482223 00000 n
-0000482288 00000 n
-0000482353 00000 n
-0000482418 00000 n
-0000482483 00000 n
-0000482548 00000 n
-0000482612 00000 n
-0000482677 00000 n
-0000482742 00000 n
-0000482807 00000 n
-0000482872 00000 n
-0000482937 00000 n
-0000483002 00000 n
-0000483067 00000 n
-0000483132 00000 n
-0000483196 00000 n
-0000483261 00000 n
-0000483326 00000 n
-0000483391 00000 n
-0000483456 00000 n
-0000483521 00000 n
-0000483586 00000 n
-0000483651 00000 n
-0000483716 00000 n
-0000483781 00000 n
-0000483846 00000 n
-0000483911 00000 n
-0000483975 00000 n
-0000484040 00000 n
-0000484105 00000 n
-0000484170 00000 n
-0000484235 00000 n
-0000484300 00000 n
-0000484365 00000 n
-0000484429 00000 n
-0000490294 00000 n
+0000300824 00000 n
+0000300889 00000 n
+0000300954 00000 n
+0000301019 00000 n
+0000301084 00000 n
+0000301149 00000 n
+0000301214 00000 n
+0000307678 00000 n
+0000303858 00000 n
+0000301455 00000 n
+0000303983 00000 n
+0000304047 00000 n
+0000304112 00000 n
+0000304176 00000 n
+0000304241 00000 n
+0000304306 00000 n
+0000304371 00000 n
+0000304436 00000 n
+0000304501 00000 n
+0000304566 00000 n
+0000304631 00000 n
+0000304696 00000 n
+0000304760 00000 n
+0000304825 00000 n
+0000304890 00000 n
+0000304955 00000 n
+0000305020 00000 n
+0000305085 00000 n
+0000305150 00000 n
+0000305215 00000 n
+0000305280 00000 n
+0000305344 00000 n
+0000305409 00000 n
+0000305474 00000 n
+0000305539 00000 n
+0000305604 00000 n
+0000305669 00000 n
+0000305734 00000 n
+0000305799 00000 n
+0000305864 00000 n
+0000305928 00000 n
+0000305993 00000 n
+0000306058 00000 n
+0000306123 00000 n
+0000306188 00000 n
+0000306253 00000 n
+0000306318 00000 n
+0000306383 00000 n
+0000306448 00000 n
+0000306512 00000 n
+0000306577 00000 n
+0000306642 00000 n
+0000306707 00000 n
+0000306772 00000 n
+0000306837 00000 n
+0000306902 00000 n
+0000306967 00000 n
+0000307032 00000 n
+0000307096 00000 n
+0000307161 00000 n
+0000307226 00000 n
+0000307291 00000 n
+0000307356 00000 n
+0000307421 00000 n
+0000307486 00000 n
+0000307550 00000 n
+0000307614 00000 n
+0000313680 00000 n
+0000310512 00000 n
+0000307842 00000 n
+0000310637 00000 n
+0000310701 00000 n
+0000310766 00000 n
+0000310830 00000 n
+0000310895 00000 n
+0000310960 00000 n
+0000311025 00000 n
+0000311090 00000 n
+0000311155 00000 n
+0000311220 00000 n
+0000311285 00000 n
+0000311348 00000 n
+0000311413 00000 n
+0000311478 00000 n
+0000311543 00000 n
+0000311607 00000 n
+0000311672 00000 n
+0000311737 00000 n
+0000311802 00000 n
+0000311867 00000 n
+0000311932 00000 n
+0000311997 00000 n
+0000312062 00000 n
+0000312127 00000 n
+0000312192 00000 n
+0000312257 00000 n
+0000312385 00000 n
+0000312450 00000 n
+0000312514 00000 n
+0000312579 00000 n
+0000312644 00000 n
+0000312709 00000 n
+0000312774 00000 n
+0000312839 00000 n
+0000312904 00000 n
+0000312968 00000 n
+0000313033 00000 n
+0000313098 00000 n
+0000313163 00000 n
+0000313228 00000 n
+0000313293 00000 n
+0000313358 00000 n
+0000313423 00000 n
+0000313488 00000 n
+0000313553 00000 n
+0000313616 00000 n
+0000319925 00000 n
+0000315719 00000 n
+0000313857 00000 n
+0000315844 00000 n
+0000315908 00000 n
+0000315973 00000 n
+0000316037 00000 n
+0000316102 00000 n
+0000316167 00000 n
+0000316232 00000 n
+0000316297 00000 n
+0000316362 00000 n
+0000316427 00000 n
+0000316492 00000 n
+0000316557 00000 n
+0000316621 00000 n
+0000316686 00000 n
+0000316751 00000 n
+0000316816 00000 n
+0000316881 00000 n
+0000316946 00000 n
+0000317011 00000 n
+0000317076 00000 n
+0000317141 00000 n
+0000317205 00000 n
+0000317270 00000 n
+0000317335 00000 n
+0000317400 00000 n
+0000317465 00000 n
+0000317530 00000 n
+0000317595 00000 n
+0000317660 00000 n
+0000317725 00000 n
+0000317789 00000 n
+0000317854 00000 n
+0000317919 00000 n
+0000317984 00000 n
+0000318049 00000 n
+0000318114 00000 n
+0000318179 00000 n
+0000318244 00000 n
+0000318309 00000 n
+0000318373 00000 n
+0000318438 00000 n
+0000318503 00000 n
+0000318568 00000 n
+0000318633 00000 n
+0000318697 00000 n
+0000318762 00000 n
+0000318827 00000 n
+0000318892 00000 n
+0000318957 00000 n
+0000319022 00000 n
+0000319087 00000 n
+0000319152 00000 n
+0000319217 00000 n
+0000319278 00000 n
+0000319343 00000 n
+0000319408 00000 n
+0000319473 00000 n
+0000319538 00000 n
+0000319603 00000 n
+0000319668 00000 n
+0000319733 00000 n
+0000319798 00000 n
+0000319861 00000 n
+0000325628 00000 n
+0000322326 00000 n
+0000320102 00000 n
+0000322451 00000 n
+0000322515 00000 n
+0000322580 00000 n
+0000322644 00000 n
+0000322709 00000 n
+0000322774 00000 n
+0000322839 00000 n
+0000322904 00000 n
+0000322968 00000 n
+0000323033 00000 n
+0000323098 00000 n
+0000323163 00000 n
+0000323228 00000 n
+0000323356 00000 n
+0000323421 00000 n
+0000323486 00000 n
+0000323551 00000 n
+0000323616 00000 n
+0000323681 00000 n
+0000323746 00000 n
+0000323811 00000 n
+0000323876 00000 n
+0000323941 00000 n
+0000324006 00000 n
+0000324071 00000 n
+0000324136 00000 n
+0000324200 00000 n
+0000324265 00000 n
+0000324330 00000 n
+0000324395 00000 n
+0000324460 00000 n
+0000324525 00000 n
+0000324590 00000 n
+0000324655 00000 n
+0000324720 00000 n
+0000324784 00000 n
+0000324849 00000 n
+0000324914 00000 n
+0000324979 00000 n
+0000325044 00000 n
+0000325109 00000 n
+0000325174 00000 n
+0000325239 00000 n
+0000325304 00000 n
+0000325368 00000 n
+0000325433 00000 n
+0000325498 00000 n
+0000325563 00000 n
+0000331467 00000 n
+0000328946 00000 n
+0000325805 00000 n
+0000329071 00000 n
+0000329135 00000 n
+0000329200 00000 n
+0000329265 00000 n
+0000329330 00000 n
+0000329395 00000 n
+0000329522 00000 n
+0000329587 00000 n
+0000329652 00000 n
+0000329717 00000 n
+0000329782 00000 n
+0000329846 00000 n
+0000329911 00000 n
+0000329976 00000 n
+0000330041 00000 n
+0000330106 00000 n
+0000330171 00000 n
+0000330236 00000 n
+0000330301 00000 n
+0000330366 00000 n
+0000330430 00000 n
+0000330495 00000 n
+0000330560 00000 n
+0000330624 00000 n
+0000330689 00000 n
+0000330754 00000 n
+0000330819 00000 n
+0000330884 00000 n
+0000330949 00000 n
+0000331014 00000 n
+0000331079 00000 n
+0000331143 00000 n
+0000331208 00000 n
+0000331273 00000 n
+0000331338 00000 n
+0000331403 00000 n
+0000884057 00000 n
+0000336990 00000 n
+0000333691 00000 n
+0000331657 00000 n
+0000333816 00000 n
+0000333880 00000 n
+0000333945 00000 n
+0000334009 00000 n
+0000334074 00000 n
+0000334139 00000 n
+0000334203 00000 n
+0000334268 00000 n
+0000334332 00000 n
+0000334397 00000 n
+0000334462 00000 n
+0000334526 00000 n
+0000334591 00000 n
+0000334656 00000 n
+0000334721 00000 n
+0000334786 00000 n
+0000334851 00000 n
+0000334916 00000 n
+0000334981 00000 n
+0000335046 00000 n
+0000335111 00000 n
+0000335176 00000 n
+0000335241 00000 n
+0000335306 00000 n
+0000335371 00000 n
+0000335436 00000 n
+0000335501 00000 n
+0000335566 00000 n
+0000335630 00000 n
+0000335695 00000 n
+0000335760 00000 n
+0000335825 00000 n
+0000335890 00000 n
+0000335955 00000 n
+0000336020 00000 n
+0000336085 00000 n
+0000336150 00000 n
+0000336215 00000 n
+0000336343 00000 n
+0000336408 00000 n
+0000336473 00000 n
+0000336538 00000 n
+0000336602 00000 n
+0000336667 00000 n
+0000336732 00000 n
+0000336797 00000 n
+0000336862 00000 n
+0000336926 00000 n
+0000343232 00000 n
+0000339218 00000 n
+0000337154 00000 n
+0000339343 00000 n
+0000339470 00000 n
+0000339534 00000 n
+0000339599 00000 n
+0000339664 00000 n
+0000339729 00000 n
+0000339794 00000 n
+0000339859 00000 n
+0000339924 00000 n
+0000339989 00000 n
+0000340054 00000 n
+0000340119 00000 n
+0000340184 00000 n
+0000340247 00000 n
+0000340312 00000 n
+0000340377 00000 n
+0000340442 00000 n
+0000340507 00000 n
+0000340572 00000 n
+0000340637 00000 n
+0000340702 00000 n
+0000340767 00000 n
+0000340832 00000 n
+0000340897 00000 n
+0000340961 00000 n
+0000341026 00000 n
+0000341091 00000 n
+0000341156 00000 n
+0000341221 00000 n
+0000341286 00000 n
+0000341351 00000 n
+0000341416 00000 n
+0000341481 00000 n
+0000341546 00000 n
+0000341611 00000 n
+0000341676 00000 n
+0000341740 00000 n
+0000341805 00000 n
+0000341870 00000 n
+0000341935 00000 n
+0000342000 00000 n
+0000342065 00000 n
+0000342130 00000 n
+0000342195 00000 n
+0000342260 00000 n
+0000342325 00000 n
+0000342389 00000 n
+0000342454 00000 n
+0000342519 00000 n
+0000342584 00000 n
+0000342649 00000 n
+0000342714 00000 n
+0000342779 00000 n
+0000342844 00000 n
+0000342909 00000 n
+0000342974 00000 n
+0000343038 00000 n
+0000343103 00000 n
+0000343168 00000 n
+0000349630 00000 n
+0000345619 00000 n
+0000343396 00000 n
+0000345744 00000 n
+0000345808 00000 n
+0000345872 00000 n
+0000345937 00000 n
+0000346002 00000 n
+0000346067 00000 n
+0000346132 00000 n
+0000346197 00000 n
+0000346262 00000 n
+0000346327 00000 n
+0000346390 00000 n
+0000346455 00000 n
+0000346520 00000 n
+0000346585 00000 n
+0000346650 00000 n
+0000346715 00000 n
+0000346780 00000 n
+0000346845 00000 n
+0000346910 00000 n
+0000346975 00000 n
+0000347039 00000 n
+0000347104 00000 n
+0000347169 00000 n
+0000347234 00000 n
+0000347299 00000 n
+0000347364 00000 n
+0000347429 00000 n
+0000347494 00000 n
+0000347559 00000 n
+0000347624 00000 n
+0000347689 00000 n
+0000347754 00000 n
+0000347818 00000 n
+0000347883 00000 n
+0000347948 00000 n
+0000348013 00000 n
+0000348078 00000 n
+0000348143 00000 n
+0000348208 00000 n
+0000348273 00000 n
+0000348338 00000 n
+0000348402 00000 n
+0000348467 00000 n
+0000348532 00000 n
+0000348597 00000 n
+0000348662 00000 n
+0000348727 00000 n
+0000348792 00000 n
+0000348857 00000 n
+0000348922 00000 n
+0000348983 00000 n
+0000349048 00000 n
+0000349113 00000 n
+0000349178 00000 n
+0000349243 00000 n
+0000349308 00000 n
+0000349373 00000 n
+0000349438 00000 n
+0000349503 00000 n
+0000349566 00000 n
+0000355307 00000 n
+0000351749 00000 n
+0000349794 00000 n
+0000351874 00000 n
+0000351938 00000 n
+0000352003 00000 n
+0000352067 00000 n
+0000352132 00000 n
+0000352197 00000 n
+0000352262 00000 n
+0000352327 00000 n
+0000352392 00000 n
+0000352457 00000 n
+0000352522 00000 n
+0000352587 00000 n
+0000352651 00000 n
+0000352716 00000 n
+0000352781 00000 n
+0000352846 00000 n
+0000352911 00000 n
+0000352976 00000 n
+0000353040 00000 n
+0000353105 00000 n
+0000353170 00000 n
+0000353235 00000 n
+0000353300 00000 n
+0000353365 00000 n
+0000353429 00000 n
+0000353494 00000 n
+0000353559 00000 n
+0000353624 00000 n
+0000353689 00000 n
+0000353754 00000 n
+0000353819 00000 n
+0000353884 00000 n
+0000353949 00000 n
+0000354014 00000 n
+0000354142 00000 n
+0000354207 00000 n
+0000354272 00000 n
+0000354337 00000 n
+0000354402 00000 n
+0000354467 00000 n
+0000354532 00000 n
+0000354597 00000 n
+0000354661 00000 n
+0000354726 00000 n
+0000354791 00000 n
+0000354856 00000 n
+0000354921 00000 n
+0000354986 00000 n
+0000355114 00000 n
+0000355179 00000 n
+0000355243 00000 n
+0000361093 00000 n
+0000357991 00000 n
+0000355471 00000 n
+0000358116 00000 n
+0000358180 00000 n
+0000358245 00000 n
+0000358309 00000 n
+0000358374 00000 n
+0000358439 00000 n
+0000358504 00000 n
+0000358569 00000 n
+0000358634 00000 n
+0000358699 00000 n
+0000358764 00000 n
+0000358829 00000 n
+0000358894 00000 n
+0000358958 00000 n
+0000359023 00000 n
+0000359088 00000 n
+0000359153 00000 n
+0000359218 00000 n
+0000359283 00000 n
+0000359348 00000 n
+0000359413 00000 n
+0000359477 00000 n
+0000359542 00000 n
+0000359607 00000 n
+0000359672 00000 n
+0000359737 00000 n
+0000359802 00000 n
+0000359867 00000 n
+0000359932 00000 n
+0000359997 00000 n
+0000360060 00000 n
+0000360125 00000 n
+0000360190 00000 n
+0000360255 00000 n
+0000360320 00000 n
+0000881699 00000 n
+0000360448 00000 n
+0000360513 00000 n
+0000360577 00000 n
+0000360642 00000 n
+0000360707 00000 n
+0000360772 00000 n
+0000360900 00000 n
+0000360964 00000 n
+0000361029 00000 n
+0000366913 00000 n
+0000364779 00000 n
+0000361337 00000 n
+0000364904 00000 n
+0000364968 00000 n
+0000365033 00000 n
+0000365098 00000 n
+0000365163 00000 n
+0000365228 00000 n
+0000365293 00000 n
+0000365358 00000 n
+0000365423 00000 n
+0000365488 00000 n
+0000365553 00000 n
+0000365618 00000 n
+0000365683 00000 n
+0000365748 00000 n
+0000365813 00000 n
+0000365878 00000 n
+0000365941 00000 n
+0000366006 00000 n
+0000366071 00000 n
+0000366136 00000 n
+0000366201 00000 n
+0000366266 00000 n
+0000366331 00000 n
+0000366396 00000 n
+0000366461 00000 n
+0000366526 00000 n
+0000366591 00000 n
+0000366655 00000 n
+0000366720 00000 n
+0000366785 00000 n
+0000366849 00000 n
+0000372287 00000 n
+0000369894 00000 n
+0000367129 00000 n
+0000370019 00000 n
+0000370083 00000 n
+0000370148 00000 n
+0000370213 00000 n
+0000370278 00000 n
+0000370342 00000 n
+0000370407 00000 n
+0000370472 00000 n
+0000370537 00000 n
+0000370602 00000 n
+0000370667 00000 n
+0000370732 00000 n
+0000370797 00000 n
+0000370862 00000 n
+0000370927 00000 n
+0000370992 00000 n
+0000371056 00000 n
+0000371120 00000 n
+0000371184 00000 n
+0000371249 00000 n
+0000371314 00000 n
+0000371379 00000 n
+0000371444 00000 n
+0000371509 00000 n
+0000371574 00000 n
+0000371639 00000 n
+0000371704 00000 n
+0000371769 00000 n
+0000371834 00000 n
+0000371899 00000 n
+0000371963 00000 n
+0000372028 00000 n
+0000372093 00000 n
+0000372158 00000 n
+0000372223 00000 n
+0000377845 00000 n
+0000375064 00000 n
+0000372503 00000 n
+0000375189 00000 n
+0000375253 00000 n
+0000375318 00000 n
+0000375383 00000 n
+0000375448 00000 n
+0000375513 00000 n
+0000375577 00000 n
+0000375642 00000 n
+0000375707 00000 n
+0000375772 00000 n
+0000375837 00000 n
+0000375902 00000 n
+0000375967 00000 n
+0000376032 00000 n
+0000376097 00000 n
+0000376162 00000 n
+0000376226 00000 n
+0000376291 00000 n
+0000376356 00000 n
+0000376421 00000 n
+0000376485 00000 n
+0000376550 00000 n
+0000376615 00000 n
+0000376680 00000 n
+0000376745 00000 n
+0000376810 00000 n
+0000376875 00000 n
+0000376940 00000 n
+0000377005 00000 n
+0000377070 00000 n
+0000377134 00000 n
+0000377198 00000 n
+0000377263 00000 n
+0000377328 00000 n
+0000377393 00000 n
+0000377458 00000 n
+0000377523 00000 n
+0000377587 00000 n
+0000377652 00000 n
+0000377717 00000 n
+0000377781 00000 n
+0000383339 00000 n
+0000380038 00000 n
+0000378048 00000 n
+0000380163 00000 n
+0000380227 00000 n
+0000380292 00000 n
+0000380356 00000 n
+0000380421 00000 n
+0000380486 00000 n
+0000380551 00000 n
+0000380616 00000 n
+0000380681 00000 n
+0000380746 00000 n
+0000380811 00000 n
+0000380876 00000 n
+0000380941 00000 n
+0000381006 00000 n
+0000381070 00000 n
+0000381135 00000 n
+0000381200 00000 n
+0000381265 00000 n
+0000381330 00000 n
+0000381394 00000 n
+0000381459 00000 n
+0000381524 00000 n
+0000381589 00000 n
+0000381654 00000 n
+0000381719 00000 n
+0000381784 00000 n
+0000381849 00000 n
+0000381913 00000 n
+0000381978 00000 n
+0000382043 00000 n
+0000382108 00000 n
+0000382173 00000 n
+0000382238 00000 n
+0000382303 00000 n
+0000382368 00000 n
+0000382433 00000 n
+0000382498 00000 n
+0000382563 00000 n
+0000382628 00000 n
+0000382693 00000 n
+0000382756 00000 n
+0000382821 00000 n
+0000382886 00000 n
+0000382951 00000 n
+0000383015 00000 n
+0000383080 00000 n
+0000383145 00000 n
+0000383210 00000 n
+0000383275 00000 n
+0000389158 00000 n
+0000385401 00000 n
+0000383542 00000 n
+0000385526 00000 n
+0000385590 00000 n
+0000385655 00000 n
+0000385720 00000 n
+0000385785 00000 n
+0000385850 00000 n
+0000385914 00000 n
+0000385979 00000 n
+0000386044 00000 n
+0000386109 00000 n
+0000386174 00000 n
+0000386239 00000 n
+0000386304 00000 n
+0000386369 00000 n
+0000386434 00000 n
+0000386499 00000 n
+0000386564 00000 n
+0000386629 00000 n
+0000386694 00000 n
+0000386759 00000 n
+0000386824 00000 n
+0000386889 00000 n
+0000386954 00000 n
+0000387019 00000 n
+0000387084 00000 n
+0000387149 00000 n
+0000387214 00000 n
+0000387279 00000 n
+0000387343 00000 n
+0000387408 00000 n
+0000387473 00000 n
+0000387538 00000 n
+0000387603 00000 n
+0000387668 00000 n
+0000387733 00000 n
+0000387798 00000 n
+0000387863 00000 n
+0000387928 00000 n
+0000387993 00000 n
+0000388058 00000 n
+0000388123 00000 n
+0000388188 00000 n
+0000388253 00000 n
+0000388316 00000 n
+0000388381 00000 n
+0000388446 00000 n
+0000388511 00000 n
+0000388576 00000 n
+0000388641 00000 n
+0000388706 00000 n
+0000388771 00000 n
+0000388836 00000 n
+0000388900 00000 n
+0000388965 00000 n
+0000389030 00000 n
+0000389094 00000 n
+0000884221 00000 n
+0000392778 00000 n
+0000395269 00000 n
+0000392605 00000 n
+0000389335 00000 n
+0000392936 00000 n
+0000393000 00000 n
+0000393065 00000 n
+0000393130 00000 n
+0000393195 00000 n
+0000393260 00000 n
+0000393324 00000 n
+0000393389 00000 n
+0000393454 00000 n
+0000393519 00000 n
+0000393584 00000 n
+0000393649 00000 n
+0000393713 00000 n
+0000393778 00000 n
+0000393843 00000 n
+0000393908 00000 n
+0000393973 00000 n
+0000394038 00000 n
+0000394103 00000 n
+0000394167 00000 n
+0000394232 00000 n
+0000394297 00000 n
+0000394362 00000 n
+0000394427 00000 n
+0000394492 00000 n
+0000394557 00000 n
+0000394622 00000 n
+0000394687 00000 n
+0000394751 00000 n
+0000394816 00000 n
+0000394881 00000 n
+0000394946 00000 n
+0000395011 00000 n
+0000395075 00000 n
+0000395140 00000 n
+0000395205 00000 n
+0000392747 00000 n
+0000402407 00000 n
+0000398523 00000 n
+0000395537 00000 n
+0000398648 00000 n
+0000398775 00000 n
+0000398840 00000 n
+0000398905 00000 n
+0000398970 00000 n
+0000399035 00000 n
+0000399100 00000 n
+0000399165 00000 n
+0000399230 00000 n
+0000399295 00000 n
+0000399360 00000 n
+0000399425 00000 n
+0000399490 00000 n
+0000399555 00000 n
+0000399620 00000 n
+0000399685 00000 n
+0000399749 00000 n
+0000399814 00000 n
+0000399879 00000 n
+0000399944 00000 n
+0000400009 00000 n
+0000400074 00000 n
+0000400139 00000 n
+0000400204 00000 n
+0000400269 00000 n
+0000400333 00000 n
+0000400398 00000 n
+0000400463 00000 n
+0000400528 00000 n
+0000400593 00000 n
+0000400658 00000 n
+0000400723 00000 n
+0000400788 00000 n
+0000400853 00000 n
+0000400918 00000 n
+0000400982 00000 n
+0000401047 00000 n
+0000401112 00000 n
+0000401177 00000 n
+0000401242 00000 n
+0000401307 00000 n
+0000401372 00000 n
+0000401437 00000 n
+0000401502 00000 n
+0000401565 00000 n
+0000401630 00000 n
+0000401695 00000 n
+0000401760 00000 n
+0000401825 00000 n
+0000401890 00000 n
+0000401955 00000 n
+0000402020 00000 n
+0000402085 00000 n
+0000402149 00000 n
+0000402214 00000 n
+0000402279 00000 n
+0000402343 00000 n
+0000410606 00000 n
+0000407002 00000 n
+0000405320 00000 n
+0000402597 00000 n
+0000405445 00000 n
+0000405509 00000 n
+0000405574 00000 n
+0000405638 00000 n
+0000405703 00000 n
+0000405768 00000 n
+0000405833 00000 n
+0000405898 00000 n
+0000405963 00000 n
+0000406028 00000 n
+0000406093 00000 n
+0000406158 00000 n
+0000406223 00000 n
+0000406288 00000 n
+0000406353 00000 n
+0000406418 00000 n
+0000406483 00000 n
+0000406547 00000 n
+0000406612 00000 n
+0000406677 00000 n
+0000406742 00000 n
+0000406807 00000 n
+0000406872 00000 n
+0000406937 00000 n
+0000410763 00000 n
+0000413383 00000 n
+0000410424 00000 n
+0000407218 00000 n
+0000410920 00000 n
+0000410984 00000 n
+0000411048 00000 n
+0000411113 00000 n
+0000411178 00000 n
+0000411243 00000 n
+0000411308 00000 n
+0000411373 00000 n
+0000411438 00000 n
+0000411503 00000 n
+0000411566 00000 n
+0000411631 00000 n
+0000411696 00000 n
+0000411761 00000 n
+0000411826 00000 n
+0000411891 00000 n
+0000411956 00000 n
+0000412021 00000 n
+0000412086 00000 n
+0000412151 00000 n
+0000412215 00000 n
+0000412280 00000 n
+0000412345 00000 n
+0000412410 00000 n
+0000412475 00000 n
+0000412540 00000 n
+0000412605 00000 n
+0000412670 00000 n
+0000412735 00000 n
+0000412800 00000 n
+0000412865 00000 n
+0000412930 00000 n
+0000412994 00000 n
+0000413059 00000 n
+0000413124 00000 n
+0000413189 00000 n
+0000413254 00000 n
+0000413319 00000 n
+0000410566 00000 n
+0000418865 00000 n
+0000415437 00000 n
+0000413638 00000 n
+0000415562 00000 n
+0000415626 00000 n
+0000415691 00000 n
+0000415755 00000 n
+0000415820 00000 n
+0000415885 00000 n
+0000415950 00000 n
+0000416015 00000 n
+0000416080 00000 n
+0000416145 00000 n
+0000416210 00000 n
+0000416275 00000 n
+0000416339 00000 n
+0000416404 00000 n
+0000416469 00000 n
+0000416534 00000 n
+0000416599 00000 n
+0000416664 00000 n
+0000416729 00000 n
+0000416794 00000 n
+0000416859 00000 n
+0000416923 00000 n
+0000416988 00000 n
+0000417053 00000 n
+0000417118 00000 n
+0000417183 00000 n
+0000417248 00000 n
+0000417312 00000 n
+0000417377 00000 n
+0000417442 00000 n
+0000417507 00000 n
+0000417572 00000 n
+0000417636 00000 n
+0000417701 00000 n
+0000417766 00000 n
+0000417831 00000 n
+0000417896 00000 n
+0000417961 00000 n
+0000418025 00000 n
+0000418090 00000 n
+0000418154 00000 n
+0000418219 00000 n
+0000418283 00000 n
+0000418348 00000 n
+0000418413 00000 n
+0000418477 00000 n
+0000418542 00000 n
+0000418607 00000 n
+0000418672 00000 n
+0000418737 00000 n
+0000418801 00000 n
+0000424678 00000 n
+0000420923 00000 n
+0000419055 00000 n
+0000421048 00000 n
+0000421112 00000 n
+0000421177 00000 n
+0000421241 00000 n
+0000421306 00000 n
+0000421371 00000 n
+0000421436 00000 n
+0000421501 00000 n
+0000421566 00000 n
+0000421631 00000 n
+0000421696 00000 n
+0000421761 00000 n
+0000421825 00000 n
+0000421890 00000 n
+0000421955 00000 n
+0000422020 00000 n
+0000422085 00000 n
+0000422150 00000 n
+0000422215 00000 n
+0000422280 00000 n
+0000422345 00000 n
+0000422409 00000 n
+0000422474 00000 n
+0000422539 00000 n
+0000422604 00000 n
+0000422669 00000 n
+0000422734 00000 n
+0000422799 00000 n
+0000422864 00000 n
+0000422929 00000 n
+0000422993 00000 n
+0000423058 00000 n
+0000423123 00000 n
+0000423188 00000 n
+0000423253 00000 n
+0000423318 00000 n
+0000423383 00000 n
+0000423448 00000 n
+0000423513 00000 n
+0000423577 00000 n
+0000423642 00000 n
+0000423707 00000 n
+0000423772 00000 n
+0000423837 00000 n
+0000423902 00000 n
+0000423967 00000 n
+0000424032 00000 n
+0000424097 00000 n
+0000424161 00000 n
+0000424225 00000 n
+0000424290 00000 n
+0000424355 00000 n
+0000424420 00000 n
+0000424485 00000 n
+0000424550 00000 n
+0000424614 00000 n
+0000431011 00000 n
+0000428229 00000 n
+0000424868 00000 n
+0000428354 00000 n
+0000428418 00000 n
+0000428483 00000 n
+0000428547 00000 n
+0000428612 00000 n
+0000428677 00000 n
+0000428741 00000 n
+0000428806 00000 n
+0000428871 00000 n
+0000428936 00000 n
+0000429001 00000 n
+0000429066 00000 n
+0000429131 00000 n
+0000429196 00000 n
+0000429260 00000 n
+0000429325 00000 n
+0000429390 00000 n
+0000429455 00000 n
+0000429520 00000 n
+0000429585 00000 n
+0000429650 00000 n
+0000429715 00000 n
+0000429780 00000 n
+0000429845 00000 n
+0000429910 00000 n
+0000429975 00000 n
+0000430040 00000 n
+0000430105 00000 n
+0000430170 00000 n
+0000430235 00000 n
+0000430300 00000 n
+0000430364 00000 n
+0000430429 00000 n
+0000430494 00000 n
+0000430559 00000 n
+0000430624 00000 n
+0000430689 00000 n
+0000430753 00000 n
+0000430818 00000 n
+0000430883 00000 n
+0000430947 00000 n
+0000434029 00000 n
+0000437101 00000 n
+0000433856 00000 n
+0000431240 00000 n
+0000434187 00000 n
+0000434251 00000 n
+0000434316 00000 n
+0000434380 00000 n
+0000434445 00000 n
+0000434508 00000 n
+0000434573 00000 n
+0000434637 00000 n
+0000434702 00000 n
+0000434767 00000 n
+0000434832 00000 n
+0000434897 00000 n
+0000434962 00000 n
+0000435027 00000 n
+0000435092 00000 n
+0000435157 00000 n
+0000435222 00000 n
+0000435286 00000 n
+0000435351 00000 n
+0000435416 00000 n
+0000435481 00000 n
+0000435546 00000 n
+0000435611 00000 n
+0000435676 00000 n
+0000435741 00000 n
+0000435806 00000 n
+0000435870 00000 n
+0000435935 00000 n
+0000436000 00000 n
+0000436065 00000 n
+0000436130 00000 n
+0000436195 00000 n
+0000436260 00000 n
+0000436325 00000 n
+0000436390 00000 n
+0000436454 00000 n
+0000436519 00000 n
+0000436583 00000 n
+0000436648 00000 n
+0000436713 00000 n
+0000436777 00000 n
+0000436842 00000 n
+0000436907 00000 n
+0000436972 00000 n
+0000437037 00000 n
+0000433998 00000 n
+0000443034 00000 n
+0000439540 00000 n
+0000437369 00000 n
+0000439665 00000 n
+0000439729 00000 n
+0000439794 00000 n
+0000439858 00000 n
+0000439923 00000 n
+0000439988 00000 n
+0000440116 00000 n
+0000440180 00000 n
+0000440245 00000 n
+0000440310 00000 n
+0000440375 00000 n
+0000440440 00000 n
+0000440505 00000 n
+0000440570 00000 n
+0000440634 00000 n
+0000440699 00000 n
+0000440764 00000 n
+0000440829 00000 n
+0000440894 00000 n
+0000440959 00000 n
+0000441024 00000 n
+0000441089 00000 n
+0000441154 00000 n
+0000441217 00000 n
+0000441282 00000 n
+0000441347 00000 n
+0000441412 00000 n
+0000441477 00000 n
+0000441542 00000 n
+0000441607 00000 n
+0000441672 00000 n
+0000441736 00000 n
+0000441801 00000 n
+0000441866 00000 n
+0000441931 00000 n
+0000441996 00000 n
+0000442061 00000 n
+0000442126 00000 n
+0000442191 00000 n
+0000442256 00000 n
+0000442320 00000 n
+0000442385 00000 n
+0000442450 00000 n
+0000442515 00000 n
+0000442580 00000 n
+0000442645 00000 n
+0000442710 00000 n
+0000442775 00000 n
+0000442840 00000 n
+0000442904 00000 n
+0000442969 00000 n
+0000449156 00000 n
+0000445789 00000 n
+0000443211 00000 n
+0000445914 00000 n
+0000445978 00000 n
+0000446043 00000 n
+0000446108 00000 n
+0000446173 00000 n
+0000446238 00000 n
+0000446302 00000 n
+0000446367 00000 n
+0000446432 00000 n
+0000446497 00000 n
+0000446562 00000 n
+0000446627 00000 n
+0000446692 00000 n
+0000446757 00000 n
+0000446822 00000 n
+0000446887 00000 n
+0000446952 00000 n
+0000447016 00000 n
+0000447081 00000 n
+0000447146 00000 n
+0000447211 00000 n
+0000447276 00000 n
+0000447341 00000 n
+0000447406 00000 n
+0000447471 00000 n
+0000447536 00000 n
+0000447600 00000 n
+0000447665 00000 n
+0000447730 00000 n
+0000447795 00000 n
+0000447860 00000 n
+0000447925 00000 n
+0000447990 00000 n
+0000448055 00000 n
+0000448120 00000 n
+0000448185 00000 n
+0000448250 00000 n
+0000448315 00000 n
+0000448380 00000 n
+0000448445 00000 n
+0000448510 00000 n
+0000448574 00000 n
+0000448639 00000 n
+0000448704 00000 n
+0000448768 00000 n
+0000448833 00000 n
+0000448898 00000 n
+0000448963 00000 n
+0000449027 00000 n
+0000449092 00000 n
+0000884385 00000 n
+0000454968 00000 n
+0000452057 00000 n
+0000449346 00000 n
+0000452182 00000 n
+0000452246 00000 n
+0000452310 00000 n
+0000452375 00000 n
+0000452440 00000 n
+0000452505 00000 n
+0000452570 00000 n
+0000452635 00000 n
+0000452700 00000 n
+0000452764 00000 n
+0000452829 00000 n
+0000452894 00000 n
+0000452959 00000 n
+0000453024 00000 n
+0000453089 00000 n
+0000453154 00000 n
+0000453218 00000 n
+0000453283 00000 n
+0000453348 00000 n
+0000453413 00000 n
+0000453478 00000 n
+0000453543 00000 n
+0000453608 00000 n
+0000453673 00000 n
+0000453738 00000 n
+0000453803 00000 n
+0000453868 00000 n
+0000453932 00000 n
+0000453997 00000 n
+0000454062 00000 n
+0000454127 00000 n
+0000454192 00000 n
+0000454256 00000 n
+0000454321 00000 n
+0000454386 00000 n
+0000454451 00000 n
+0000454516 00000 n
+0000454581 00000 n
+0000454646 00000 n
+0000454710 00000 n
+0000454775 00000 n
+0000454840 00000 n
+0000454904 00000 n
+0000460687 00000 n
+0000457000 00000 n
+0000455171 00000 n
+0000457125 00000 n
+0000457189 00000 n
+0000457254 00000 n
+0000457318 00000 n
+0000457381 00000 n
+0000457446 00000 n
+0000457511 00000 n
+0000457576 00000 n
+0000457641 00000 n
+0000457706 00000 n
+0000457769 00000 n
+0000457834 00000 n
+0000457899 00000 n
+0000457964 00000 n
+0000458029 00000 n
+0000458093 00000 n
+0000458158 00000 n
+0000458223 00000 n
+0000458288 00000 n
+0000458353 00000 n
+0000458418 00000 n
+0000458483 00000 n
+0000458548 00000 n
+0000458613 00000 n
+0000458677 00000 n
+0000458742 00000 n
+0000458807 00000 n
+0000458872 00000 n
+0000458937 00000 n
+0000459002 00000 n
+0000459067 00000 n
+0000459132 00000 n
+0000459197 00000 n
+0000459261 00000 n
+0000459325 00000 n
+0000459390 00000 n
+0000459455 00000 n
+0000459520 00000 n
+0000459585 00000 n
+0000459650 00000 n
+0000459715 00000 n
+0000459780 00000 n
+0000459845 00000 n
+0000459910 00000 n
+0000459975 00000 n
+0000460040 00000 n
+0000460105 00000 n
+0000460170 00000 n
+0000460235 00000 n
+0000460300 00000 n
+0000460365 00000 n
+0000460429 00000 n
+0000460494 00000 n
+0000460559 00000 n
+0000460623 00000 n
+0000469171 00000 n
+0000466014 00000 n
+0000462518 00000 n
+0000460890 00000 n
+0000462643 00000 n
+0000462707 00000 n
+0000462772 00000 n
+0000462836 00000 n
+0000462901 00000 n
+0000462966 00000 n
+0000463031 00000 n
+0000463096 00000 n
+0000463161 00000 n
+0000463226 00000 n
+0000463291 00000 n
+0000463356 00000 n
+0000463420 00000 n
+0000463485 00000 n
+0000463550 00000 n
+0000463615 00000 n
+0000463680 00000 n
+0000463745 00000 n
+0000463810 00000 n
+0000463875 00000 n
+0000463940 00000 n
+0000464004 00000 n
+0000464068 00000 n
+0000464133 00000 n
+0000464197 00000 n
+0000464262 00000 n
+0000464327 00000 n
+0000464392 00000 n
+0000464457 00000 n
+0000464522 00000 n
+0000464587 00000 n
+0000464651 00000 n
+0000464716 00000 n
+0000464781 00000 n
+0000464846 00000 n
+0000464911 00000 n
+0000464976 00000 n
+0000465041 00000 n
+0000465106 00000 n
+0000465171 00000 n
+0000465235 00000 n
+0000465300 00000 n
+0000465365 00000 n
+0000465430 00000 n
+0000465495 00000 n
+0000465560 00000 n
+0000465625 00000 n
+0000465690 00000 n
+0000465755 00000 n
+0000465819 00000 n
+0000465884 00000 n
+0000465949 00000 n
+0000472569 00000 n
+0000468998 00000 n
+0000466178 00000 n
+0000469329 00000 n
+0000469393 00000 n
+0000469458 00000 n
+0000469523 00000 n
+0000469588 00000 n
+0000469653 00000 n
+0000469717 00000 n
+0000469782 00000 n
+0000469847 00000 n
+0000469912 00000 n
+0000469977 00000 n
+0000470105 00000 n
+0000470170 00000 n
+0000470235 00000 n
+0000470300 00000 n
+0000470365 00000 n
+0000470430 00000 n
+0000470495 00000 n
+0000470560 00000 n
+0000470625 00000 n
+0000470690 00000 n
+0000470753 00000 n
+0000470818 00000 n
+0000470883 00000 n
+0000470948 00000 n
+0000471013 00000 n
+0000471078 00000 n
+0000471143 00000 n
+0000471208 00000 n
+0000471273 00000 n
+0000471337 00000 n
+0000471402 00000 n
+0000471467 00000 n
+0000471532 00000 n
+0000471597 00000 n
+0000471662 00000 n
+0000471727 00000 n
+0000471792 00000 n
+0000471857 00000 n
+0000471921 00000 n
+0000471986 00000 n
+0000472051 00000 n
+0000472116 00000 n
+0000472181 00000 n
+0000472246 00000 n
+0000472311 00000 n
+0000472376 00000 n
+0000472441 00000 n
+0000472505 00000 n
+0000469140 00000 n
+0000477331 00000 n
+0000475004 00000 n
+0000472824 00000 n
+0000475129 00000 n
+0000475193 00000 n
+0000475258 00000 n
+0000475323 00000 n
+0000475386 00000 n
+0000475451 00000 n
+0000475516 00000 n
+0000475581 00000 n
+0000475646 00000 n
+0000475710 00000 n
+0000475775 00000 n
+0000475840 00000 n
+0000475905 00000 n
+0000475970 00000 n
+0000476035 00000 n
+0000476100 00000 n
+0000476164 00000 n
+0000476229 00000 n
+0000476294 00000 n
+0000476359 00000 n
+0000476424 00000 n
+0000476488 00000 n
+0000476552 00000 n
+0000476616 00000 n
+0000476681 00000 n
+0000476746 00000 n
+0000476811 00000 n
+0000476876 00000 n
+0000476941 00000 n
+0000477006 00000 n
+0000477071 00000 n
+0000477136 00000 n
+0000477201 00000 n
+0000477266 00000 n
+0000480059 00000 n
+0000483393 00000 n
+0000479886 00000 n
+0000477560 00000 n
+0000480217 00000 n
+0000480281 00000 n
+0000480345 00000 n
+0000480410 00000 n
+0000480475 00000 n
+0000480540 00000 n
+0000480605 00000 n
+0000480670 00000 n
+0000480735 00000 n
+0000480800 00000 n
+0000480865 00000 n
+0000480930 00000 n
+0000480994 00000 n
+0000481059 00000 n
+0000481124 00000 n
+0000481189 00000 n
+0000481254 00000 n
+0000481319 00000 n
+0000481384 00000 n
+0000481449 00000 n
+0000481514 00000 n
+0000481578 00000 n
+0000481643 00000 n
+0000481708 00000 n
+0000481773 00000 n
+0000481838 00000 n
+0000481903 00000 n
+0000481968 00000 n
+0000482032 00000 n
+0000482097 00000 n
+0000482162 00000 n
+0000482227 00000 n
+0000482292 00000 n
+0000482357 00000 n
+0000482422 00000 n
+0000482550 00000 n
+0000482615 00000 n
+0000482680 00000 n
+0000482745 00000 n
+0000482810 00000 n
+0000482875 00000 n
+0000482939 00000 n
+0000483004 00000 n
+0000483069 00000 n
+0000483134 00000 n
+0000483199 00000 n
+0000483264 00000 n
+0000483329 00000 n
+0000480028 00000 n
+0000489526 00000 n
+0000486223 00000 n
+0000483622 00000 n
+0000486348 00000 n
+0000486412 00000 n
+0000486477 00000 n
0000486541 00000 n
-0000484697 00000 n
-0000486666 00000 n
-0000486730 00000 n
-0000486794 00000 n
-0000486859 00000 n
-0000486924 00000 n
-0000486989 00000 n
-0000487054 00000 n
-0000487118 00000 n
-0000487183 00000 n
-0000487248 00000 n
-0000487313 00000 n
-0000487378 00000 n
-0000487443 00000 n
-0000487508 00000 n
-0000487573 00000 n
-0000487637 00000 n
-0000487702 00000 n
-0000487767 00000 n
-0000487832 00000 n
-0000487897 00000 n
-0000487961 00000 n
-0000488026 00000 n
-0000488091 00000 n
-0000488156 00000 n
-0000488221 00000 n
-0000488286 00000 n
-0000488351 00000 n
-0000488416 00000 n
-0000488480 00000 n
-0000488545 00000 n
-0000488610 00000 n
-0000488675 00000 n
-0000488740 00000 n
-0000488805 00000 n
-0000488870 00000 n
-0000488935 00000 n
-0000489000 00000 n
-0000489063 00000 n
-0000489128 00000 n
-0000489193 00000 n
-0000489258 00000 n
-0000489323 00000 n
-0000489388 00000 n
-0000489453 00000 n
-0000489518 00000 n
-0000489583 00000 n
-0000489647 00000 n
-0000489712 00000 n
-0000489777 00000 n
-0000489842 00000 n
-0000489907 00000 n
-0000489972 00000 n
-0000490037 00000 n
-0000490102 00000 n
-0000490167 00000 n
-0000490230 00000 n
-0000492896 00000 n
-0000496489 00000 n
-0000492723 00000 n
-0000490471 00000 n
-0000493054 00000 n
-0000493118 00000 n
-0000493183 00000 n
-0000493247 00000 n
-0000493312 00000 n
-0000493376 00000 n
-0000493441 00000 n
-0000493506 00000 n
-0000493571 00000 n
-0000493636 00000 n
-0000493701 00000 n
-0000493766 00000 n
-0000493831 00000 n
-0000493896 00000 n
-0000493960 00000 n
-0000494025 00000 n
-0000494090 00000 n
-0000494155 00000 n
-0000494220 00000 n
-0000494285 00000 n
-0000494350 00000 n
-0000494415 00000 n
-0000494480 00000 n
-0000494545 00000 n
-0000494610 00000 n
-0000494675 00000 n
-0000494740 00000 n
-0000494805 00000 n
-0000494870 00000 n
-0000494934 00000 n
-0000494999 00000 n
-0000495064 00000 n
-0000495192 00000 n
-0000495257 00000 n
-0000495322 00000 n
-0000495387 00000 n
-0000495452 00000 n
-0000495517 00000 n
-0000495582 00000 n
-0000495646 00000 n
-0000495711 00000 n
-0000495776 00000 n
-0000495841 00000 n
-0000495906 00000 n
-0000495971 00000 n
-0000496036 00000 n
-0000496101 00000 n
-0000496166 00000 n
-0000496230 00000 n
-0000496295 00000 n
-0000496360 00000 n
-0000496425 00000 n
-0000492865 00000 n
-0000503133 00000 n
-0000498857 00000 n
-0000496718 00000 n
-0000498982 00000 n
-0000499046 00000 n
-0000499111 00000 n
+0000486606 00000 n
+0000486671 00000 n
+0000486736 00000 n
+0000486801 00000 n
+0000486866 00000 n
+0000486931 00000 n
+0000486996 00000 n
+0000487060 00000 n
+0000487125 00000 n
+0000487190 00000 n
+0000487255 00000 n
+0000487320 00000 n
+0000487385 00000 n
+0000487450 00000 n
+0000487515 00000 n
+0000487580 00000 n
+0000487644 00000 n
+0000487709 00000 n
+0000487774 00000 n
+0000487839 00000 n
+0000487904 00000 n
+0000487969 00000 n
+0000488034 00000 n
+0000488099 00000 n
+0000488164 00000 n
+0000488228 00000 n
+0000488293 00000 n
+0000488358 00000 n
+0000488423 00000 n
+0000488488 00000 n
+0000488553 00000 n
+0000488618 00000 n
+0000488683 00000 n
+0000488748 00000 n
+0000488813 00000 n
+0000488878 00000 n
+0000488943 00000 n
+0000489007 00000 n
+0000489072 00000 n
+0000489137 00000 n
+0000489202 00000 n
+0000489267 00000 n
+0000489332 00000 n
+0000489397 00000 n
+0000489461 00000 n
+0000495439 00000 n
+0000491752 00000 n
+0000489729 00000 n
+0000491877 00000 n
+0000491941 00000 n
+0000492005 00000 n
+0000492069 00000 n
+0000492134 00000 n
+0000492199 00000 n
+0000492264 00000 n
+0000492328 00000 n
+0000492393 00000 n
+0000492458 00000 n
+0000492523 00000 n
+0000492588 00000 n
+0000492653 00000 n
+0000492718 00000 n
+0000492783 00000 n
+0000492848 00000 n
+0000492912 00000 n
+0000492977 00000 n
+0000493042 00000 n
+0000493107 00000 n
+0000493171 00000 n
+0000493236 00000 n
+0000493301 00000 n
+0000493365 00000 n
+0000493430 00000 n
+0000493495 00000 n
+0000493560 00000 n
+0000493625 00000 n
+0000493690 00000 n
+0000493755 00000 n
+0000493820 00000 n
+0000493885 00000 n
+0000493950 00000 n
+0000494014 00000 n
+0000494079 00000 n
+0000494144 00000 n
+0000494209 00000 n
+0000494274 00000 n
+0000494339 00000 n
+0000494404 00000 n
+0000494469 00000 n
+0000494534 00000 n
+0000494597 00000 n
+0000494662 00000 n
+0000494727 00000 n
+0000494792 00000 n
+0000494857 00000 n
+0000494922 00000 n
+0000494987 00000 n
+0000495052 00000 n
+0000495117 00000 n
+0000495181 00000 n
+0000495246 00000 n
+0000495311 00000 n
+0000495375 00000 n
+0000498110 00000 n
+0000501639 00000 n
+0000497937 00000 n
+0000495642 00000 n
+0000498268 00000 n
+0000498332 00000 n
+0000498397 00000 n
+0000498461 00000 n
+0000498526 00000 n
+0000498591 00000 n
+0000498656 00000 n
+0000498721 00000 n
+0000498786 00000 n
+0000498850 00000 n
+0000498915 00000 n
+0000498980 00000 n
+0000499045 00000 n
+0000499110 00000 n
0000499175 00000 n
0000499240 00000 n
0000499305 00000 n
0000499370 00000 n
-0000499435 00000 n
-0000499500 00000 n
-0000499565 00000 n
-0000499630 00000 n
-0000499695 00000 n
+0000499434 00000 n
+0000499499 00000 n
+0000499564 00000 n
+0000499629 00000 n
+0000499694 00000 n
0000499759 00000 n
0000499824 00000 n
0000499889 00000 n
@@ -20166,1125 +20053,1177 @@ xref
0000500214 00000 n
0000500279 00000 n
0000500343 00000 n
-0000500408 00000 n
-0000500473 00000 n
-0000500538 00000 n
-0000500603 00000 n
-0000500668 00000 n
-0000500733 00000 n
-0000500798 00000 n
-0000500863 00000 n
-0000500927 00000 n
-0000500992 00000 n
-0000501057 00000 n
-0000501122 00000 n
-0000501187 00000 n
-0000501252 00000 n
-0000501317 00000 n
-0000501382 00000 n
-0000501447 00000 n
-0000501511 00000 n
-0000501576 00000 n
-0000501641 00000 n
-0000501706 00000 n
-0000501771 00000 n
-0000501836 00000 n
-0000501901 00000 n
-0000501966 00000 n
-0000502031 00000 n
-0000502095 00000 n
-0000502160 00000 n
-0000502225 00000 n
-0000502290 00000 n
-0000502355 00000 n
-0000502420 00000 n
-0000502485 00000 n
-0000502550 00000 n
-0000502615 00000 n
-0000502679 00000 n
-0000502744 00000 n
-0000502809 00000 n
-0000502874 00000 n
-0000502939 00000 n
-0000503004 00000 n
-0000503069 00000 n
-0000509337 00000 n
-0000505841 00000 n
-0000503284 00000 n
-0000505966 00000 n
-0000506030 00000 n
-0000506095 00000 n
-0000506159 00000 n
-0000506224 00000 n
-0000506289 00000 n
-0000506354 00000 n
-0000506419 00000 n
-0000506484 00000 n
-0000506549 00000 n
-0000506614 00000 n
-0000506679 00000 n
-0000506743 00000 n
-0000506808 00000 n
-0000506873 00000 n
-0000506938 00000 n
-0000507003 00000 n
-0000507068 00000 n
-0000507133 00000 n
-0000507197 00000 n
-0000507262 00000 n
-0000507327 00000 n
-0000507392 00000 n
-0000507457 00000 n
-0000507522 00000 n
-0000507587 00000 n
-0000507652 00000 n
-0000507717 00000 n
-0000507781 00000 n
-0000507846 00000 n
-0000507911 00000 n
-0000507976 00000 n
-0000508040 00000 n
-0000508105 00000 n
-0000508170 00000 n
-0000508235 00000 n
-0000508300 00000 n
-0000508365 00000 n
-0000508430 00000 n
+0000500471 00000 n
+0000500536 00000 n
+0000500601 00000 n
+0000500666 00000 n
+0000500731 00000 n
+0000500796 00000 n
+0000500861 00000 n
+0000500926 00000 n
+0000500991 00000 n
+0000501055 00000 n
+0000501120 00000 n
+0000501185 00000 n
+0000501250 00000 n
+0000501315 00000 n
+0000501380 00000 n
+0000501445 00000 n
+0000501510 00000 n
+0000501575 00000 n
+0000498079 00000 n
+0000508318 00000 n
+0000504172 00000 n
+0000501868 00000 n
+0000504297 00000 n
+0000504361 00000 n
+0000504426 00000 n
+0000504491 00000 n
+0000504555 00000 n
+0000504620 00000 n
+0000504685 00000 n
+0000504750 00000 n
+0000504815 00000 n
+0000504880 00000 n
+0000504945 00000 n
+0000505010 00000 n
+0000505075 00000 n
+0000505139 00000 n
+0000505204 00000 n
+0000505269 00000 n
+0000505334 00000 n
+0000505399 00000 n
+0000505464 00000 n
+0000505529 00000 n
+0000505594 00000 n
+0000505659 00000 n
+0000505723 00000 n
+0000505788 00000 n
+0000505853 00000 n
+0000505918 00000 n
+0000505983 00000 n
+0000506048 00000 n
+0000506113 00000 n
+0000506178 00000 n
+0000506243 00000 n
+0000506308 00000 n
+0000506373 00000 n
+0000506438 00000 n
+0000506503 00000 n
+0000506568 00000 n
+0000506633 00000 n
+0000506698 00000 n
+0000506763 00000 n
+0000506828 00000 n
+0000506893 00000 n
+0000506957 00000 n
+0000507022 00000 n
+0000507087 00000 n
+0000507152 00000 n
+0000507217 00000 n
+0000507282 00000 n
+0000507347 00000 n
+0000507412 00000 n
+0000507477 00000 n
+0000507541 00000 n
+0000507606 00000 n
+0000507671 00000 n
+0000507736 00000 n
+0000507801 00000 n
+0000507866 00000 n
+0000507931 00000 n
+0000507996 00000 n
+0000508061 00000 n
+0000508125 00000 n
+0000508190 00000 n
+0000508254 00000 n
+0000884549 00000 n
+0000514458 00000 n
+0000510962 00000 n
0000508495 00000 n
-0000508560 00000 n
-0000508625 00000 n
-0000508690 00000 n
-0000508755 00000 n
-0000508820 00000 n
-0000508885 00000 n
-0000508950 00000 n
-0000509015 00000 n
-0000509079 00000 n
-0000509144 00000 n
-0000509209 00000 n
-0000509273 00000 n
-0000877698 00000 n
-0000514600 00000 n
-0000512014 00000 n
-0000509501 00000 n
-0000512139 00000 n
-0000512203 00000 n
-0000512268 00000 n
-0000512332 00000 n
-0000512397 00000 n
-0000512462 00000 n
-0000512590 00000 n
-0000512655 00000 n
-0000512720 00000 n
-0000512785 00000 n
-0000512850 00000 n
-0000512915 00000 n
-0000512979 00000 n
-0000513044 00000 n
-0000513109 00000 n
-0000513237 00000 n
-0000513302 00000 n
-0000513367 00000 n
-0000513432 00000 n
-0000513497 00000 n
-0000513562 00000 n
-0000513626 00000 n
-0000513691 00000 n
-0000513756 00000 n
-0000513821 00000 n
-0000513886 00000 n
-0000513951 00000 n
-0000514016 00000 n
-0000514080 00000 n
-0000514145 00000 n
-0000514210 00000 n
-0000514275 00000 n
-0000514340 00000 n
-0000514405 00000 n
-0000514470 00000 n
-0000514535 00000 n
-0000520527 00000 n
-0000517292 00000 n
-0000514803 00000 n
-0000517417 00000 n
-0000517481 00000 n
-0000517546 00000 n
-0000517611 00000 n
-0000517676 00000 n
-0000517741 00000 n
-0000517806 00000 n
-0000517871 00000 n
-0000517936 00000 n
-0000518001 00000 n
-0000518066 00000 n
-0000518130 00000 n
-0000518195 00000 n
-0000518260 00000 n
-0000518325 00000 n
-0000518390 00000 n
-0000518454 00000 n
-0000518519 00000 n
-0000518584 00000 n
-0000518649 00000 n
-0000518714 00000 n
-0000518779 00000 n
-0000518844 00000 n
-0000518909 00000 n
-0000518974 00000 n
-0000519037 00000 n
-0000519102 00000 n
-0000519167 00000 n
-0000519232 00000 n
-0000519297 00000 n
-0000519362 00000 n
-0000519427 00000 n
-0000519492 00000 n
-0000519557 00000 n
-0000519622 00000 n
-0000519686 00000 n
-0000519751 00000 n
-0000519816 00000 n
-0000519881 00000 n
-0000519946 00000 n
-0000520011 00000 n
-0000520076 00000 n
-0000520141 00000 n
-0000520206 00000 n
-0000520271 00000 n
-0000520336 00000 n
-0000520401 00000 n
-0000520465 00000 n
-0000526160 00000 n
-0000523252 00000 n
-0000520717 00000 n
-0000523377 00000 n
-0000523441 00000 n
-0000523506 00000 n
-0000523571 00000 n
-0000523636 00000 n
-0000523700 00000 n
-0000523765 00000 n
-0000523830 00000 n
-0000523895 00000 n
-0000523960 00000 n
-0000524025 00000 n
-0000524090 00000 n
-0000524155 00000 n
-0000524219 00000 n
-0000524284 00000 n
-0000524349 00000 n
-0000524414 00000 n
-0000524479 00000 n
-0000524544 00000 n
-0000524609 00000 n
-0000524674 00000 n
-0000524739 00000 n
-0000524804 00000 n
-0000524868 00000 n
-0000524933 00000 n
-0000525060 00000 n
-0000525123 00000 n
-0000525188 00000 n
-0000525253 00000 n
-0000525318 00000 n
-0000525383 00000 n
-0000525448 00000 n
-0000525513 00000 n
-0000525578 00000 n
-0000525643 00000 n
-0000525708 00000 n
-0000525772 00000 n
-0000525837 00000 n
-0000525902 00000 n
-0000525967 00000 n
-0000526032 00000 n
-0000526097 00000 n
-0000532145 00000 n
-0000528781 00000 n
-0000526350 00000 n
-0000528906 00000 n
-0000528970 00000 n
-0000529035 00000 n
-0000529099 00000 n
-0000529164 00000 n
-0000529229 00000 n
-0000529294 00000 n
-0000529359 00000 n
-0000529424 00000 n
-0000529489 00000 n
-0000529554 00000 n
-0000529619 00000 n
-0000529683 00000 n
-0000529748 00000 n
-0000529813 00000 n
-0000529878 00000 n
-0000529943 00000 n
-0000530008 00000 n
-0000530073 00000 n
-0000530138 00000 n
-0000530203 00000 n
-0000530267 00000 n
-0000530332 00000 n
-0000530397 00000 n
-0000530462 00000 n
-0000530527 00000 n
-0000530592 00000 n
-0000530657 00000 n
-0000530722 00000 n
-0000530787 00000 n
-0000530852 00000 n
-0000530917 00000 n
-0000530982 00000 n
-0000531047 00000 n
-0000531112 00000 n
-0000531177 00000 n
-0000531242 00000 n
-0000531307 00000 n
-0000531372 00000 n
-0000531437 00000 n
-0000531500 00000 n
-0000531565 00000 n
-0000531693 00000 n
-0000531758 00000 n
-0000531822 00000 n
-0000531887 00000 n
-0000531952 00000 n
-0000532017 00000 n
-0000532082 00000 n
-0000538050 00000 n
-0000535334 00000 n
-0000532335 00000 n
-0000535459 00000 n
-0000535523 00000 n
-0000535588 00000 n
-0000535652 00000 n
-0000535717 00000 n
-0000535781 00000 n
-0000535846 00000 n
-0000535911 00000 n
-0000535976 00000 n
-0000536040 00000 n
-0000536105 00000 n
-0000536170 00000 n
-0000536235 00000 n
-0000536300 00000 n
-0000536365 00000 n
-0000536430 00000 n
-0000536495 00000 n
-0000536559 00000 n
-0000536624 00000 n
-0000536689 00000 n
-0000536754 00000 n
-0000536818 00000 n
-0000536883 00000 n
-0000536948 00000 n
-0000537013 00000 n
-0000537078 00000 n
-0000537143 00000 n
-0000537208 00000 n
-0000537273 00000 n
-0000537338 00000 n
-0000537403 00000 n
-0000537468 00000 n
-0000537533 00000 n
-0000537598 00000 n
-0000537663 00000 n
-0000537728 00000 n
-0000537793 00000 n
-0000537857 00000 n
-0000537922 00000 n
-0000537986 00000 n
-0000544459 00000 n
-0000540898 00000 n
-0000538253 00000 n
-0000541023 00000 n
-0000541087 00000 n
-0000541152 00000 n
-0000541217 00000 n
-0000541281 00000 n
-0000541346 00000 n
-0000541411 00000 n
-0000541476 00000 n
-0000541541 00000 n
-0000541606 00000 n
-0000541671 00000 n
-0000541736 00000 n
-0000541801 00000 n
-0000541866 00000 n
-0000541931 00000 n
-0000541996 00000 n
-0000542060 00000 n
-0000542125 00000 n
-0000542190 00000 n
-0000542255 00000 n
-0000542320 00000 n
-0000542385 00000 n
-0000542450 00000 n
-0000542515 00000 n
-0000542580 00000 n
-0000542644 00000 n
-0000542709 00000 n
-0000542774 00000 n
-0000542839 00000 n
-0000542904 00000 n
-0000542969 00000 n
-0000543034 00000 n
-0000543099 00000 n
-0000543164 00000 n
-0000543229 00000 n
-0000543294 00000 n
-0000543359 00000 n
-0000543424 00000 n
-0000543489 00000 n
-0000543554 00000 n
-0000543619 00000 n
-0000543684 00000 n
-0000543749 00000 n
-0000543814 00000 n
-0000543879 00000 n
-0000543944 00000 n
-0000544008 00000 n
-0000544073 00000 n
-0000544138 00000 n
-0000544203 00000 n
-0000544268 00000 n
-0000544333 00000 n
-0000544397 00000 n
-0000550898 00000 n
-0000547725 00000 n
-0000544649 00000 n
-0000547850 00000 n
-0000547914 00000 n
-0000547979 00000 n
-0000548043 00000 n
-0000548108 00000 n
-0000548173 00000 n
-0000548238 00000 n
-0000548303 00000 n
-0000548368 00000 n
-0000548433 00000 n
-0000548498 00000 n
-0000548563 00000 n
-0000548628 00000 n
-0000548693 00000 n
-0000548758 00000 n
-0000548822 00000 n
-0000548887 00000 n
-0000548952 00000 n
-0000549017 00000 n
-0000549081 00000 n
-0000549146 00000 n
-0000549211 00000 n
-0000549276 00000 n
-0000549341 00000 n
-0000549406 00000 n
-0000549471 00000 n
-0000549536 00000 n
-0000549600 00000 n
-0000549665 00000 n
-0000549730 00000 n
-0000549795 00000 n
-0000549860 00000 n
-0000549925 00000 n
-0000549990 00000 n
-0000550055 00000 n
-0000550120 00000 n
-0000550185 00000 n
-0000550250 00000 n
-0000550315 00000 n
-0000550380 00000 n
-0000550445 00000 n
-0000550510 00000 n
-0000550575 00000 n
-0000550640 00000 n
-0000550705 00000 n
-0000550770 00000 n
-0000550834 00000 n
-0000557042 00000 n
-0000553612 00000 n
-0000551101 00000 n
-0000553737 00000 n
-0000553801 00000 n
-0000553866 00000 n
-0000553930 00000 n
-0000553995 00000 n
-0000554060 00000 n
-0000554125 00000 n
-0000554189 00000 n
-0000554254 00000 n
-0000554319 00000 n
-0000554384 00000 n
-0000554449 00000 n
-0000554514 00000 n
-0000554579 00000 n
-0000554644 00000 n
-0000554709 00000 n
-0000554774 00000 n
-0000554838 00000 n
-0000554903 00000 n
-0000554968 00000 n
-0000555033 00000 n
-0000555098 00000 n
-0000555163 00000 n
-0000555226 00000 n
-0000555291 00000 n
-0000555355 00000 n
-0000555420 00000 n
-0000555485 00000 n
-0000555550 00000 n
-0000555615 00000 n
-0000555680 00000 n
-0000555745 00000 n
-0000555810 00000 n
-0000555875 00000 n
-0000555940 00000 n
-0000556005 00000 n
-0000556069 00000 n
-0000556134 00000 n
-0000556199 00000 n
-0000556264 00000 n
-0000556329 00000 n
-0000556394 00000 n
-0000556459 00000 n
-0000556524 00000 n
-0000556589 00000 n
-0000556654 00000 n
-0000556719 00000 n
-0000556784 00000 n
-0000556849 00000 n
-0000556914 00000 n
-0000556978 00000 n
-0000563537 00000 n
-0000559327 00000 n
-0000557245 00000 n
-0000559452 00000 n
-0000559516 00000 n
-0000559581 00000 n
-0000559645 00000 n
-0000559710 00000 n
-0000559775 00000 n
-0000559840 00000 n
-0000559905 00000 n
-0000559970 00000 n
-0000560035 00000 n
-0000560100 00000 n
-0000560165 00000 n
-0000560229 00000 n
-0000560294 00000 n
-0000560359 00000 n
-0000560424 00000 n
-0000560489 00000 n
-0000560554 00000 n
-0000560619 00000 n
-0000560684 00000 n
-0000560749 00000 n
-0000560813 00000 n
-0000560878 00000 n
-0000560943 00000 n
-0000561008 00000 n
-0000561073 00000 n
-0000561138 00000 n
-0000561203 00000 n
-0000561268 00000 n
-0000561333 00000 n
-0000561397 00000 n
-0000561462 00000 n
-0000561527 00000 n
-0000561592 00000 n
-0000561657 00000 n
-0000561722 00000 n
-0000561787 00000 n
-0000561852 00000 n
-0000561917 00000 n
-0000561981 00000 n
-0000562046 00000 n
-0000562111 00000 n
-0000562176 00000 n
-0000562241 00000 n
-0000562306 00000 n
-0000562371 00000 n
-0000562436 00000 n
-0000562501 00000 n
-0000562566 00000 n
-0000562631 00000 n
-0000562696 00000 n
-0000562760 00000 n
-0000562825 00000 n
-0000562890 00000 n
-0000562955 00000 n
-0000563020 00000 n
-0000563085 00000 n
-0000563150 00000 n
-0000563215 00000 n
-0000563280 00000 n
-0000563344 00000 n
-0000563409 00000 n
-0000563473 00000 n
-0000569442 00000 n
-0000565879 00000 n
-0000563701 00000 n
-0000566004 00000 n
-0000566068 00000 n
-0000566133 00000 n
-0000566197 00000 n
-0000566262 00000 n
-0000566327 00000 n
-0000566392 00000 n
-0000566457 00000 n
-0000566522 00000 n
-0000566587 00000 n
-0000566652 00000 n
-0000566717 00000 n
-0000566781 00000 n
-0000566846 00000 n
-0000566911 00000 n
-0000566976 00000 n
-0000567041 00000 n
-0000567106 00000 n
-0000567171 00000 n
-0000567236 00000 n
-0000567301 00000 n
-0000567365 00000 n
-0000567430 00000 n
-0000567495 00000 n
-0000567560 00000 n
-0000567625 00000 n
-0000567690 00000 n
-0000567754 00000 n
-0000567819 00000 n
-0000567884 00000 n
-0000567949 00000 n
-0000568014 00000 n
-0000568079 00000 n
-0000568144 00000 n
-0000568209 00000 n
-0000568274 00000 n
-0000568339 00000 n
-0000568404 00000 n
-0000568469 00000 n
-0000568534 00000 n
-0000568599 00000 n
-0000568664 00000 n
-0000568729 00000 n
-0000568794 00000 n
-0000568858 00000 n
-0000568923 00000 n
-0000568988 00000 n
-0000569053 00000 n
-0000569118 00000 n
-0000569183 00000 n
-0000569248 00000 n
-0000569313 00000 n
-0000569378 00000 n
-0000877862 00000 n
-0000575287 00000 n
-0000571920 00000 n
-0000569619 00000 n
-0000572045 00000 n
-0000572109 00000 n
-0000572174 00000 n
-0000572239 00000 n
-0000572304 00000 n
-0000572369 00000 n
-0000572434 00000 n
-0000572499 00000 n
-0000572564 00000 n
-0000572629 00000 n
-0000572693 00000 n
-0000572758 00000 n
-0000572823 00000 n
-0000572888 00000 n
-0000572953 00000 n
-0000573018 00000 n
-0000573083 00000 n
-0000573148 00000 n
-0000573213 00000 n
-0000573277 00000 n
-0000573342 00000 n
-0000573407 00000 n
-0000573472 00000 n
-0000573537 00000 n
-0000573602 00000 n
-0000573667 00000 n
-0000573732 00000 n
-0000573797 00000 n
-0000573861 00000 n
-0000573926 00000 n
-0000573991 00000 n
-0000574056 00000 n
-0000574121 00000 n
-0000574186 00000 n
-0000574251 00000 n
-0000574316 00000 n
-0000574381 00000 n
-0000574445 00000 n
-0000574510 00000 n
-0000574575 00000 n
-0000574640 00000 n
-0000574705 00000 n
-0000574770 00000 n
-0000574835 00000 n
-0000574900 00000 n
-0000574965 00000 n
-0000575029 00000 n
-0000575094 00000 n
-0000575159 00000 n
-0000578611 00000 n
-0000577782 00000 n
-0000575531 00000 n
-0000577907 00000 n
-0000577971 00000 n
-0000578035 00000 n
-0000578099 00000 n
-0000578163 00000 n
-0000578227 00000 n
-0000578291 00000 n
-0000578355 00000 n
-0000578419 00000 n
-0000578483 00000 n
-0000578547 00000 n
-0000583005 00000 n
-0000583160 00000 n
-0000583315 00000 n
-0000583471 00000 n
-0000583630 00000 n
-0000583791 00000 n
-0000583952 00000 n
-0000584112 00000 n
-0000584268 00000 n
-0000584429 00000 n
-0000584590 00000 n
-0000584757 00000 n
-0000584924 00000 n
-0000585090 00000 n
-0000585251 00000 n
-0000594578 00000 n
-0000585979 00000 n
-0000582706 00000 n
-0000578788 00000 n
-0000585405 00000 n
-0000585469 00000 n
-0000585533 00000 n
-0000585597 00000 n
-0000585661 00000 n
-0000585725 00000 n
-0000585789 00000 n
-0000585916 00000 n
-0000582848 00000 n
-0000594734 00000 n
-0000594894 00000 n
-0000595061 00000 n
-0000595227 00000 n
-0000595387 00000 n
-0000595553 00000 n
-0000595719 00000 n
-0000595880 00000 n
-0000596040 00000 n
-0000596207 00000 n
-0000596373 00000 n
-0000596540 00000 n
-0000596706 00000 n
-0000596873 00000 n
-0000597033 00000 n
-0000597199 00000 n
-0000597366 00000 n
-0000597533 00000 n
-0000597693 00000 n
-0000597854 00000 n
-0000598010 00000 n
-0000598166 00000 n
-0000598326 00000 n
-0000598487 00000 n
-0000598647 00000 n
-0000598808 00000 n
-0000598968 00000 n
-0000599124 00000 n
-0000599284 00000 n
-0000599445 00000 n
-0000599606 00000 n
-0000599767 00000 n
-0000599928 00000 n
-0000600089 00000 n
-0000600246 00000 n
-0000600407 00000 n
-0000600569 00000 n
-0000600737 00000 n
-0000600904 00000 n
-0000601072 00000 n
-0000601240 00000 n
-0000601408 00000 n
-0000601576 00000 n
-0000601744 00000 n
-0000601912 00000 n
-0000602080 00000 n
-0000602249 00000 n
-0000602418 00000 n
-0000602587 00000 n
-0000602756 00000 n
-0000602925 00000 n
-0000603087 00000 n
-0000603254 00000 n
-0000603420 00000 n
-0000605196 00000 n
-0000603650 00000 n
-0000593919 00000 n
-0000586169 00000 n
-0000603586 00000 n
-0000594061 00000 n
-0000605364 00000 n
-0000605532 00000 n
-0000605699 00000 n
-0000605867 00000 n
-0000606034 00000 n
-0000606202 00000 n
-0000606423 00000 n
-0000604969 00000 n
-0000603788 00000 n
-0000606359 00000 n
-0000605111 00000 n
-0000873706 00000 n
-0000606679 00000 n
-0000873968 00000 n
-0000606706 00000 n
-0000873834 00000 n
-0000606799 00000 n
-0000607038 00000 n
-0000607063 00000 n
-0000619048 00000 n
-0000607291 00000 n
-0000607394 00000 n
-0000619290 00000 n
-0000620014 00000 n
-0000620248 00000 n
-0000633680 00000 n
-0000620564 00000 n
-0000620667 00000 n
-0000633914 00000 n
-0000634660 00000 n
-0000634886 00000 n
-0000645920 00000 n
-0000635033 00000 n
-0000635131 00000 n
-0000646160 00000 n
-0000646838 00000 n
-0000647069 00000 n
-0000648180 00000 n
-0000647124 00000 n
-0000647221 00000 n
-0000648423 00000 n
-0000649033 00000 n
-0000649237 00000 n
-0000649264 00000 n
-0000649291 00000 n
-0000651666 00000 n
-0000649483 00000 n
-0000649589 00000 n
-0000651914 00000 n
-0000652597 00000 n
-0000652807 00000 n
-0000662782 00000 n
-0000653420 00000 n
-0000653547 00000 n
-0000663022 00000 n
-0000664117 00000 n
-0000664321 00000 n
-0000666925 00000 n
-0000664522 00000 n
-0000664628 00000 n
-0000667172 00000 n
-0000667859 00000 n
-0000668069 00000 n
-0000669754 00000 n
-0000668182 00000 n
-0000668288 00000 n
-0000670003 00000 n
-0000670656 00000 n
-0000670867 00000 n
-0000676391 00000 n
-0000671220 00000 n
-0000671331 00000 n
-0000676635 00000 n
-0000677411 00000 n
-0000677616 00000 n
-0000685246 00000 n
-0000678074 00000 n
-0000678189 00000 n
-0000685486 00000 n
-0000686376 00000 n
-0000686579 00000 n
-0000687329 00000 n
-0000686613 00000 n
-0000686708 00000 n
-0000687568 00000 n
-0000688164 00000 n
-0000688366 00000 n
-0000694759 00000 n
-0000688823 00000 n
-0000688931 00000 n
-0000694999 00000 n
-0000695884 00000 n
-0000696088 00000 n
-0000698692 00000 n
-0000696278 00000 n
-0000696384 00000 n
-0000698935 00000 n
-0000699607 00000 n
-0000699811 00000 n
-0000701831 00000 n
-0000699925 00000 n
-0000700029 00000 n
-0000702073 00000 n
-0000702718 00000 n
-0000702923 00000 n
-0000705976 00000 n
-0000703214 00000 n
-0000703321 00000 n
-0000706216 00000 n
-0000706952 00000 n
-0000707156 00000 n
-0000714567 00000 n
-0000707621 00000 n
-0000707736 00000 n
-0000714808 00000 n
-0000715687 00000 n
-0000715892 00000 n
-0000715919 00000 n
-0000715980 00000 n
-0000716173 00000 n
-0000716414 00000 n
-0000716631 00000 n
-0000721353 00000 n
-0000716990 00000 n
-0000717096 00000 n
-0000721595 00000 n
-0000722373 00000 n
-0000722577 00000 n
-0000725385 00000 n
-0000722835 00000 n
-0000722941 00000 n
-0000725625 00000 n
-0000726324 00000 n
-0000726528 00000 n
-0000735798 00000 n
-0000727012 00000 n
-0000727131 00000 n
-0000736039 00000 n
-0000737037 00000 n
-0000737242 00000 n
-0000739252 00000 n
-0000737356 00000 n
-0000737460 00000 n
-0000739494 00000 n
-0000740140 00000 n
-0000740345 00000 n
-0000742861 00000 n
-0000740592 00000 n
-0000740698 00000 n
-0000743102 00000 n
-0000743807 00000 n
-0000744012 00000 n
-0000753526 00000 n
-0000744585 00000 n
-0000744717 00000 n
-0000753768 00000 n
-0000754769 00000 n
-0000754975 00000 n
-0000761813 00000 n
-0000755407 00000 n
-0000755519 00000 n
-0000762053 00000 n
-0000762911 00000 n
-0000763114 00000 n
-0000764163 00000 n
-0000763192 00000 n
-0000763292 00000 n
-0000764403 00000 n
-0000765025 00000 n
-0000765229 00000 n
-0000770355 00000 n
-0000765598 00000 n
-0000765713 00000 n
-0000770596 00000 n
-0000771385 00000 n
-0000771590 00000 n
-0000773149 00000 n
-0000771683 00000 n
-0000771784 00000 n
-0000773388 00000 n
-0000774014 00000 n
-0000774216 00000 n
-0000776453 00000 n
-0000774395 00000 n
-0000774501 00000 n
-0000776694 00000 n
-0000777363 00000 n
-0000777568 00000 n
-0000780111 00000 n
-0000777744 00000 n
-0000777851 00000 n
-0000780353 00000 n
-0000781038 00000 n
-0000781244 00000 n
-0000781342 00000 n
-0000782386 00000 n
-0000781420 00000 n
-0000781520 00000 n
-0000782627 00000 n
-0000783251 00000 n
-0000783456 00000 n
-0000785259 00000 n
-0000783567 00000 n
-0000783670 00000 n
-0000785501 00000 n
-0000786144 00000 n
-0000793321 00000 n
-0000786350 00000 n
-0000797639 00000 n
-0000793554 00000 n
-0000800702 00000 n
-0000797928 00000 n
-0000803919 00000 n
-0000800941 00000 n
-0000806539 00000 n
-0000804163 00000 n
-0000830201 00000 n
-0000806784 00000 n
-0000849343 00000 n
-0000830508 00000 n
-0000861305 00000 n
-0000849615 00000 n
-0000864673 00000 n
-0000861555 00000 n
-0000867446 00000 n
-0000864946 00000 n
-0000870391 00000 n
-0000867698 00000 n
-0000873420 00000 n
-0000870637 00000 n
-0000877989 00000 n
-0000878150 00000 n
-0000878232 00000 n
-0000878309 00000 n
-0000885618 00000 n
-0000886283 00000 n
-0000886952 00000 n
-0000887621 00000 n
-0000888287 00000 n
-0000888956 00000 n
-0000889624 00000 n
-0000890295 00000 n
-0000890959 00000 n
-0000891628 00000 n
-0000892297 00000 n
-0000892963 00000 n
-0000893632 00000 n
-0000894301 00000 n
-0000894966 00000 n
-0000895637 00000 n
-0000896305 00000 n
-0000896974 00000 n
-0000897640 00000 n
-0000898309 00000 n
-0000898978 00000 n
-0000899644 00000 n
-0000900313 00000 n
-0000900981 00000 n
-0000901652 00000 n
-0000902317 00000 n
-0000902986 00000 n
-0000903655 00000 n
-0000904321 00000 n
-0000904990 00000 n
-0000905659 00000 n
-0000906328 00000 n
-0000906996 00000 n
-0000907664 00000 n
-0000908333 00000 n
-0000908995 00000 n
-0000909664 00000 n
-0000910333 00000 n
-0000911002 00000 n
-0000911667 00000 n
-0000912338 00000 n
-0000913006 00000 n
-0000913672 00000 n
-0000914341 00000 n
-0000915010 00000 n
-0000915679 00000 n
-0000916345 00000 n
-0000917014 00000 n
-0000917682 00000 n
-0000918350 00000 n
-0000919019 00000 n
-0000919688 00000 n
-0000920357 00000 n
-0000921023 00000 n
-0000921692 00000 n
-0000922361 00000 n
-0000923026 00000 n
-0000923697 00000 n
-0000924365 00000 n
-0000925034 00000 n
-0000925700 00000 n
-0000926369 00000 n
-0000927038 00000 n
-0000927704 00000 n
-0000928373 00000 n
-0000929041 00000 n
-0000929712 00000 n
-0000930376 00000 n
-0000931045 00000 n
-0000931714 00000 n
-0000932376 00000 n
-0000933045 00000 n
-0000933714 00000 n
-0000934380 00000 n
-0000935048 00000 n
-0000935717 00000 n
-0000936386 00000 n
-0000937052 00000 n
-0000937687 00000 n
-0000938321 00000 n
-0000938953 00000 n
-0000939588 00000 n
-0000940223 00000 n
-0000940858 00000 n
-0000941490 00000 n
-0000942125 00000 n
-0000942759 00000 n
-0000943393 00000 n
-0000944028 00000 n
-0000944663 00000 n
-0000945298 00000 n
-0000945930 00000 n
-0000946565 00000 n
-0000947200 00000 n
-0000947831 00000 n
-0000948468 00000 n
-0000949102 00000 n
-0000949737 00000 n
-0000950369 00000 n
-0000951004 00000 n
-0000951639 00000 n
-0000952357 00000 n
-0000953155 00000 n
-0000953811 00000 n
-0000954472 00000 n
-0000955141 00000 n
-0000955916 00000 n
-0000956707 00000 n
-0000957622 00000 n
-0000958763 00000 n
-0000959052 00000 n
-0000959408 00000 n
-0000959761 00000 n
-0000960114 00000 n
-0000960304 00000 n
-0000960407 00000 n
-0000960447 00000 n
-0000960579 00000 n
+0000511087 00000 n
+0000511151 00000 n
+0000511216 00000 n
+0000511280 00000 n
+0000511345 00000 n
+0000511410 00000 n
+0000511475 00000 n
+0000511540 00000 n
+0000511605 00000 n
+0000511670 00000 n
+0000511735 00000 n
+0000511800 00000 n
+0000511864 00000 n
+0000511929 00000 n
+0000511994 00000 n
+0000512059 00000 n
+0000512124 00000 n
+0000512189 00000 n
+0000512254 00000 n
+0000512319 00000 n
+0000512384 00000 n
+0000512448 00000 n
+0000512513 00000 n
+0000512578 00000 n
+0000512643 00000 n
+0000512708 00000 n
+0000512773 00000 n
+0000512838 00000 n
+0000512903 00000 n
+0000512968 00000 n
+0000513032 00000 n
+0000513097 00000 n
+0000513162 00000 n
+0000513227 00000 n
+0000513292 00000 n
+0000513357 00000 n
+0000513422 00000 n
+0000513487 00000 n
+0000513551 00000 n
+0000513616 00000 n
+0000513681 00000 n
+0000513746 00000 n
+0000513811 00000 n
+0000513876 00000 n
+0000513941 00000 n
+0000514006 00000 n
+0000514071 00000 n
+0000514136 00000 n
+0000514201 00000 n
+0000514266 00000 n
+0000514331 00000 n
+0000514394 00000 n
+0000519996 00000 n
+0000517219 00000 n
+0000514622 00000 n
+0000517344 00000 n
+0000517408 00000 n
+0000517473 00000 n
+0000517537 00000 n
+0000517602 00000 n
+0000517667 00000 n
+0000517732 00000 n
+0000517797 00000 n
+0000517862 00000 n
+0000517988 00000 n
+0000518053 00000 n
+0000518118 00000 n
+0000518183 00000 n
+0000518248 00000 n
+0000518313 00000 n
+0000518378 00000 n
+0000518443 00000 n
+0000518508 00000 n
+0000518636 00000 n
+0000518700 00000 n
+0000518765 00000 n
+0000518830 00000 n
+0000518895 00000 n
+0000518960 00000 n
+0000519025 00000 n
+0000519090 00000 n
+0000519155 00000 n
+0000519220 00000 n
+0000519284 00000 n
+0000519349 00000 n
+0000519414 00000 n
+0000519479 00000 n
+0000519544 00000 n
+0000519609 00000 n
+0000519674 00000 n
+0000519738 00000 n
+0000519803 00000 n
+0000519868 00000 n
+0000519932 00000 n
+0000525951 00000 n
+0000522843 00000 n
+0000520199 00000 n
+0000522968 00000 n
+0000523032 00000 n
+0000523097 00000 n
+0000523162 00000 n
+0000523227 00000 n
+0000523292 00000 n
+0000523357 00000 n
+0000523421 00000 n
+0000523486 00000 n
+0000523551 00000 n
+0000523616 00000 n
+0000523681 00000 n
+0000523746 00000 n
+0000523811 00000 n
+0000523876 00000 n
+0000523941 00000 n
+0000524006 00000 n
+0000524071 00000 n
+0000524136 00000 n
+0000524201 00000 n
+0000524266 00000 n
+0000524330 00000 n
+0000524395 00000 n
+0000524460 00000 n
+0000524525 00000 n
+0000524590 00000 n
+0000524655 00000 n
+0000524720 00000 n
+0000524785 00000 n
+0000524850 00000 n
+0000524915 00000 n
+0000524980 00000 n
+0000525045 00000 n
+0000525110 00000 n
+0000525174 00000 n
+0000525239 00000 n
+0000525304 00000 n
+0000525369 00000 n
+0000525434 00000 n
+0000525499 00000 n
+0000525564 00000 n
+0000525629 00000 n
+0000525693 00000 n
+0000525758 00000 n
+0000525823 00000 n
+0000525887 00000 n
+0000531520 00000 n
+0000529384 00000 n
+0000526141 00000 n
+0000529509 00000 n
+0000529573 00000 n
+0000529638 00000 n
+0000529703 00000 n
+0000529768 00000 n
+0000529833 00000 n
+0000529898 00000 n
+0000529963 00000 n
+0000530028 00000 n
+0000530092 00000 n
+0000530157 00000 n
+0000530222 00000 n
+0000530287 00000 n
+0000530352 00000 n
+0000530417 00000 n
+0000530482 00000 n
+0000530547 00000 n
+0000530612 00000 n
+0000530677 00000 n
+0000530742 00000 n
+0000530807 00000 n
+0000530871 00000 n
+0000530936 00000 n
+0000531000 00000 n
+0000531065 00000 n
+0000531130 00000 n
+0000531195 00000 n
+0000531260 00000 n
+0000531325 00000 n
+0000531390 00000 n
+0000531455 00000 n
+0000536847 00000 n
+0000534193 00000 n
+0000531710 00000 n
+0000534318 00000 n
+0000534382 00000 n
+0000534447 00000 n
+0000534512 00000 n
+0000534640 00000 n
+0000534705 00000 n
+0000534770 00000 n
+0000534835 00000 n
+0000534900 00000 n
+0000534965 00000 n
+0000535030 00000 n
+0000535095 00000 n
+0000535160 00000 n
+0000535225 00000 n
+0000535290 00000 n
+0000535354 00000 n
+0000535419 00000 n
+0000535484 00000 n
+0000535549 00000 n
+0000535614 00000 n
+0000535679 00000 n
+0000535744 00000 n
+0000535809 00000 n
+0000535874 00000 n
+0000535939 00000 n
+0000536004 00000 n
+0000536069 00000 n
+0000536134 00000 n
+0000536199 00000 n
+0000536264 00000 n
+0000536329 00000 n
+0000536394 00000 n
+0000536459 00000 n
+0000536524 00000 n
+0000536589 00000 n
+0000536654 00000 n
+0000536718 00000 n
+0000536783 00000 n
+0000542822 00000 n
+0000539846 00000 n
+0000537024 00000 n
+0000539971 00000 n
+0000540035 00000 n
+0000540100 00000 n
+0000540164 00000 n
+0000540229 00000 n
+0000540294 00000 n
+0000540359 00000 n
+0000540424 00000 n
+0000540489 00000 n
+0000540554 00000 n
+0000540619 00000 n
+0000540684 00000 n
+0000540748 00000 n
+0000540813 00000 n
+0000540878 00000 n
+0000540943 00000 n
+0000541008 00000 n
+0000541073 00000 n
+0000541138 00000 n
+0000541203 00000 n
+0000541268 00000 n
+0000541332 00000 n
+0000541397 00000 n
+0000541462 00000 n
+0000541527 00000 n
+0000541592 00000 n
+0000541657 00000 n
+0000541722 00000 n
+0000541850 00000 n
+0000541915 00000 n
+0000541980 00000 n
+0000542045 00000 n
+0000542110 00000 n
+0000542175 00000 n
+0000542240 00000 n
+0000542305 00000 n
+0000542370 00000 n
+0000542433 00000 n
+0000542498 00000 n
+0000542563 00000 n
+0000542628 00000 n
+0000542693 00000 n
+0000542757 00000 n
+0000548732 00000 n
+0000545692 00000 n
+0000543012 00000 n
+0000545817 00000 n
+0000545881 00000 n
+0000545946 00000 n
+0000546010 00000 n
+0000546075 00000 n
+0000546140 00000 n
+0000546205 00000 n
+0000546270 00000 n
+0000546335 00000 n
+0000546400 00000 n
+0000546465 00000 n
+0000546530 00000 n
+0000546595 00000 n
+0000546660 00000 n
+0000546725 00000 n
+0000546788 00000 n
+0000546853 00000 n
+0000546918 00000 n
+0000546983 00000 n
+0000547048 00000 n
+0000547113 00000 n
+0000547178 00000 n
+0000547243 00000 n
+0000547308 00000 n
+0000547373 00000 n
+0000547438 00000 n
+0000547503 00000 n
+0000547568 00000 n
+0000547633 00000 n
+0000547698 00000 n
+0000547763 00000 n
+0000547826 00000 n
+0000547891 00000 n
+0000547956 00000 n
+0000548021 00000 n
+0000548086 00000 n
+0000548151 00000 n
+0000548216 00000 n
+0000548281 00000 n
+0000548346 00000 n
+0000548411 00000 n
+0000548476 00000 n
+0000548540 00000 n
+0000548605 00000 n
+0000548668 00000 n
+0000555219 00000 n
+0000551462 00000 n
+0000548935 00000 n
+0000551587 00000 n
+0000551651 00000 n
+0000551716 00000 n
+0000551780 00000 n
+0000551845 00000 n
+0000551910 00000 n
+0000551975 00000 n
+0000552040 00000 n
+0000552105 00000 n
+0000552170 00000 n
+0000552235 00000 n
+0000552300 00000 n
+0000552364 00000 n
+0000552429 00000 n
+0000552494 00000 n
+0000552559 00000 n
+0000552624 00000 n
+0000552689 00000 n
+0000552754 00000 n
+0000552819 00000 n
+0000552884 00000 n
+0000552949 00000 n
+0000553014 00000 n
+0000553079 00000 n
+0000553144 00000 n
+0000553209 00000 n
+0000553274 00000 n
+0000553339 00000 n
+0000553404 00000 n
+0000553469 00000 n
+0000553534 00000 n
+0000553599 00000 n
+0000553664 00000 n
+0000553729 00000 n
+0000553794 00000 n
+0000553859 00000 n
+0000553924 00000 n
+0000553989 00000 n
+0000554054 00000 n
+0000554119 00000 n
+0000554183 00000 n
+0000554248 00000 n
+0000554313 00000 n
+0000554378 00000 n
+0000554443 00000 n
+0000554508 00000 n
+0000554573 00000 n
+0000554638 00000 n
+0000554703 00000 n
+0000554768 00000 n
+0000554833 00000 n
+0000554898 00000 n
+0000554963 00000 n
+0000555027 00000 n
+0000555092 00000 n
+0000555157 00000 n
+0000561665 00000 n
+0000558427 00000 n
+0000555409 00000 n
+0000558552 00000 n
+0000558616 00000 n
+0000558681 00000 n
+0000558745 00000 n
+0000558810 00000 n
+0000558875 00000 n
+0000558940 00000 n
+0000559005 00000 n
+0000559070 00000 n
+0000559135 00000 n
+0000559200 00000 n
+0000559265 00000 n
+0000559330 00000 n
+0000559395 00000 n
+0000559460 00000 n
+0000559525 00000 n
+0000559590 00000 n
+0000559655 00000 n
+0000559720 00000 n
+0000559785 00000 n
+0000559850 00000 n
+0000559915 00000 n
+0000559980 00000 n
+0000560045 00000 n
+0000560110 00000 n
+0000560175 00000 n
+0000560240 00000 n
+0000560305 00000 n
+0000560370 00000 n
+0000560435 00000 n
+0000560500 00000 n
+0000560565 00000 n
+0000560630 00000 n
+0000560695 00000 n
+0000560760 00000 n
+0000560823 00000 n
+0000560888 00000 n
+0000560953 00000 n
+0000561018 00000 n
+0000561083 00000 n
+0000561148 00000 n
+0000561213 00000 n
+0000561278 00000 n
+0000561343 00000 n
+0000561407 00000 n
+0000561472 00000 n
+0000561537 00000 n
+0000561601 00000 n
+0000567827 00000 n
+0000564525 00000 n
+0000561868 00000 n
+0000564650 00000 n
+0000564714 00000 n
+0000564779 00000 n
+0000564844 00000 n
+0000564909 00000 n
+0000564973 00000 n
+0000565038 00000 n
+0000565103 00000 n
+0000565168 00000 n
+0000565233 00000 n
+0000565298 00000 n
+0000565363 00000 n
+0000565428 00000 n
+0000565493 00000 n
+0000565558 00000 n
+0000565623 00000 n
+0000565688 00000 n
+0000565753 00000 n
+0000565818 00000 n
+0000565883 00000 n
+0000565948 00000 n
+0000566013 00000 n
+0000566077 00000 n
+0000566142 00000 n
+0000566207 00000 n
+0000566272 00000 n
+0000566337 00000 n
+0000566402 00000 n
+0000566467 00000 n
+0000566531 00000 n
+0000566596 00000 n
+0000566661 00000 n
+0000566726 00000 n
+0000566791 00000 n
+0000566856 00000 n
+0000566921 00000 n
+0000566985 00000 n
+0000567050 00000 n
+0000567115 00000 n
+0000567180 00000 n
+0000567245 00000 n
+0000567310 00000 n
+0000567375 00000 n
+0000567440 00000 n
+0000567504 00000 n
+0000567569 00000 n
+0000567634 00000 n
+0000567699 00000 n
+0000567763 00000 n
+0000884713 00000 n
+0000574234 00000 n
+0000570024 00000 n
+0000568017 00000 n
+0000570149 00000 n
+0000570213 00000 n
+0000570278 00000 n
+0000570342 00000 n
+0000570407 00000 n
+0000570472 00000 n
+0000570537 00000 n
+0000570602 00000 n
+0000570667 00000 n
+0000570732 00000 n
+0000570797 00000 n
+0000570862 00000 n
+0000570926 00000 n
+0000570991 00000 n
+0000571056 00000 n
+0000571121 00000 n
+0000571186 00000 n
+0000571251 00000 n
+0000571316 00000 n
+0000571381 00000 n
+0000571446 00000 n
+0000571510 00000 n
+0000571575 00000 n
+0000571640 00000 n
+0000571705 00000 n
+0000571770 00000 n
+0000571835 00000 n
+0000571900 00000 n
+0000571965 00000 n
+0000572030 00000 n
+0000572094 00000 n
+0000572159 00000 n
+0000572224 00000 n
+0000572289 00000 n
+0000572354 00000 n
+0000572419 00000 n
+0000572484 00000 n
+0000572549 00000 n
+0000572614 00000 n
+0000572679 00000 n
+0000572744 00000 n
+0000572809 00000 n
+0000572873 00000 n
+0000572938 00000 n
+0000573003 00000 n
+0000573068 00000 n
+0000573133 00000 n
+0000573198 00000 n
+0000573263 00000 n
+0000573328 00000 n
+0000573393 00000 n
+0000573457 00000 n
+0000573522 00000 n
+0000573587 00000 n
+0000573652 00000 n
+0000573717 00000 n
+0000573782 00000 n
+0000573847 00000 n
+0000573912 00000 n
+0000573977 00000 n
+0000574041 00000 n
+0000574106 00000 n
+0000574170 00000 n
+0000580455 00000 n
+0000576765 00000 n
+0000574398 00000 n
+0000576890 00000 n
+0000576954 00000 n
+0000577019 00000 n
+0000577083 00000 n
+0000577148 00000 n
+0000577213 00000 n
+0000577278 00000 n
+0000577343 00000 n
+0000577408 00000 n
+0000577473 00000 n
+0000577538 00000 n
+0000577603 00000 n
+0000577667 00000 n
+0000577732 00000 n
+0000577797 00000 n
+0000577862 00000 n
+0000577927 00000 n
+0000577992 00000 n
+0000578057 00000 n
+0000578122 00000 n
+0000578187 00000 n
+0000578252 00000 n
+0000578316 00000 n
+0000578381 00000 n
+0000578446 00000 n
+0000578511 00000 n
+0000578576 00000 n
+0000578641 00000 n
+0000578706 00000 n
+0000578771 00000 n
+0000578836 00000 n
+0000578901 00000 n
+0000578965 00000 n
+0000579030 00000 n
+0000579095 00000 n
+0000579160 00000 n
+0000579225 00000 n
+0000579290 00000 n
+0000579355 00000 n
+0000579420 00000 n
+0000579485 00000 n
+0000579549 00000 n
+0000579614 00000 n
+0000579679 00000 n
+0000579743 00000 n
+0000579808 00000 n
+0000579873 00000 n
+0000579938 00000 n
+0000580003 00000 n
+0000580068 00000 n
+0000580133 00000 n
+0000580198 00000 n
+0000580263 00000 n
+0000580327 00000 n
+0000580391 00000 n
+0000585779 00000 n
+0000583129 00000 n
+0000580632 00000 n
+0000583254 00000 n
+0000583318 00000 n
+0000583383 00000 n
+0000583447 00000 n
+0000583512 00000 n
+0000583577 00000 n
+0000583642 00000 n
+0000583707 00000 n
+0000583772 00000 n
+0000583837 00000 n
+0000583902 00000 n
+0000583967 00000 n
+0000584031 00000 n
+0000584096 00000 n
+0000584161 00000 n
+0000584226 00000 n
+0000584291 00000 n
+0000584356 00000 n
+0000584421 00000 n
+0000584486 00000 n
+0000584551 00000 n
+0000584615 00000 n
+0000584680 00000 n
+0000584745 00000 n
+0000584810 00000 n
+0000584875 00000 n
+0000584940 00000 n
+0000585005 00000 n
+0000585070 00000 n
+0000585135 00000 n
+0000585199 00000 n
+0000585264 00000 n
+0000585329 00000 n
+0000585394 00000 n
+0000585459 00000 n
+0000585587 00000 n
+0000585651 00000 n
+0000585715 00000 n
+0000589859 00000 n
+0000590015 00000 n
+0000590170 00000 n
+0000590326 00000 n
+0000590486 00000 n
+0000590647 00000 n
+0000590807 00000 n
+0000590967 00000 n
+0000591123 00000 n
+0000591283 00000 n
+0000591444 00000 n
+0000591611 00000 n
+0000591777 00000 n
+0000591942 00000 n
+0000601102 00000 n
+0000592739 00000 n
+0000589569 00000 n
+0000586036 00000 n
+0000592101 00000 n
+0000592165 00000 n
+0000592229 00000 n
+0000592293 00000 n
+0000592357 00000 n
+0000592421 00000 n
+0000592484 00000 n
+0000592548 00000 n
+0000592675 00000 n
+0000589711 00000 n
+0000601258 00000 n
+0000601414 00000 n
+0000601574 00000 n
+0000601741 00000 n
+0000601908 00000 n
+0000602069 00000 n
+0000602236 00000 n
+0000602403 00000 n
+0000602564 00000 n
+0000602725 00000 n
+0000602892 00000 n
+0000603059 00000 n
+0000603226 00000 n
+0000603393 00000 n
+0000603560 00000 n
+0000603720 00000 n
+0000603886 00000 n
+0000604053 00000 n
+0000604220 00000 n
+0000604379 00000 n
+0000604540 00000 n
+0000604696 00000 n
+0000604850 00000 n
+0000605010 00000 n
+0000605169 00000 n
+0000605330 00000 n
+0000605488 00000 n
+0000605644 00000 n
+0000605805 00000 n
+0000605965 00000 n
+0000606126 00000 n
+0000606286 00000 n
+0000606447 00000 n
+0000606608 00000 n
+0000606765 00000 n
+0000606927 00000 n
+0000607089 00000 n
+0000607257 00000 n
+0000607424 00000 n
+0000607592 00000 n
+0000607760 00000 n
+0000607927 00000 n
+0000608095 00000 n
+0000608262 00000 n
+0000608430 00000 n
+0000608598 00000 n
+0000608766 00000 n
+0000608935 00000 n
+0000609103 00000 n
+0000609272 00000 n
+0000609439 00000 n
+0000609600 00000 n
+0000609765 00000 n
+0000611850 00000 n
+0000609995 00000 n
+0000600452 00000 n
+0000592903 00000 n
+0000609931 00000 n
+0000600594 00000 n
+0000612018 00000 n
+0000612186 00000 n
+0000612353 00000 n
+0000612521 00000 n
+0000612688 00000 n
+0000612856 00000 n
+0000613023 00000 n
+0000613192 00000 n
+0000613413 00000 n
+0000611605 00000 n
+0000610133 00000 n
+0000613349 00000 n
+0000611747 00000 n
+0000880557 00000 n
+0000613669 00000 n
+0000880819 00000 n
+0000613696 00000 n
+0000880685 00000 n
+0000613789 00000 n
+0000614028 00000 n
+0000614053 00000 n
+0000626038 00000 n
+0000614281 00000 n
+0000614384 00000 n
+0000626280 00000 n
+0000627004 00000 n
+0000627238 00000 n
+0000640670 00000 n
+0000627554 00000 n
+0000627657 00000 n
+0000640904 00000 n
+0000641650 00000 n
+0000641876 00000 n
+0000652910 00000 n
+0000642023 00000 n
+0000642121 00000 n
+0000653150 00000 n
+0000653828 00000 n
+0000654059 00000 n
+0000655170 00000 n
+0000654114 00000 n
+0000654211 00000 n
+0000655413 00000 n
+0000656023 00000 n
+0000656227 00000 n
+0000656254 00000 n
+0000656281 00000 n
+0000658656 00000 n
+0000656473 00000 n
+0000656579 00000 n
+0000658904 00000 n
+0000659587 00000 n
+0000659797 00000 n
+0000669756 00000 n
+0000660413 00000 n
+0000660544 00000 n
+0000669996 00000 n
+0000671088 00000 n
+0000671292 00000 n
+0000673896 00000 n
+0000671493 00000 n
+0000671599 00000 n
+0000674143 00000 n
+0000674830 00000 n
+0000675040 00000 n
+0000676725 00000 n
+0000675153 00000 n
+0000675259 00000 n
+0000676974 00000 n
+0000677627 00000 n
+0000677838 00000 n
+0000683362 00000 n
+0000678191 00000 n
+0000678302 00000 n
+0000683606 00000 n
+0000684382 00000 n
+0000684587 00000 n
+0000692217 00000 n
+0000685045 00000 n
+0000685160 00000 n
+0000692457 00000 n
+0000693347 00000 n
+0000693550 00000 n
+0000694300 00000 n
+0000693584 00000 n
+0000693679 00000 n
+0000694539 00000 n
+0000695135 00000 n
+0000695337 00000 n
+0000701730 00000 n
+0000695794 00000 n
+0000695902 00000 n
+0000701970 00000 n
+0000702855 00000 n
+0000703059 00000 n
+0000705663 00000 n
+0000703249 00000 n
+0000703355 00000 n
+0000705906 00000 n
+0000706578 00000 n
+0000706782 00000 n
+0000708802 00000 n
+0000706896 00000 n
+0000707000 00000 n
+0000709044 00000 n
+0000709689 00000 n
+0000709894 00000 n
+0000712947 00000 n
+0000710185 00000 n
+0000710292 00000 n
+0000713187 00000 n
+0000713923 00000 n
+0000714127 00000 n
+0000721389 00000 n
+0000714591 00000 n
+0000714706 00000 n
+0000721630 00000 n
+0000722511 00000 n
+0000722716 00000 n
+0000722743 00000 n
+0000722804 00000 n
+0000722997 00000 n
+0000723238 00000 n
+0000723455 00000 n
+0000728177 00000 n
+0000723814 00000 n
+0000723920 00000 n
+0000728419 00000 n
+0000729197 00000 n
+0000729401 00000 n
+0000732209 00000 n
+0000729659 00000 n
+0000729765 00000 n
+0000732449 00000 n
+0000733148 00000 n
+0000733352 00000 n
+0000742622 00000 n
+0000733836 00000 n
+0000733955 00000 n
+0000742863 00000 n
+0000743861 00000 n
+0000744066 00000 n
+0000746076 00000 n
+0000744180 00000 n
+0000744284 00000 n
+0000746318 00000 n
+0000746964 00000 n
+0000747169 00000 n
+0000749685 00000 n
+0000747416 00000 n
+0000747522 00000 n
+0000749926 00000 n
+0000750631 00000 n
+0000750836 00000 n
+0000760224 00000 n
+0000751405 00000 n
+0000751537 00000 n
+0000760466 00000 n
+0000761464 00000 n
+0000761670 00000 n
+0000768508 00000 n
+0000762102 00000 n
+0000762214 00000 n
+0000768748 00000 n
+0000769606 00000 n
+0000769809 00000 n
+0000770858 00000 n
+0000769887 00000 n
+0000769987 00000 n
+0000771098 00000 n
+0000771720 00000 n
+0000771924 00000 n
+0000777050 00000 n
+0000772293 00000 n
+0000772408 00000 n
+0000777291 00000 n
+0000778080 00000 n
+0000778285 00000 n
+0000779844 00000 n
+0000778378 00000 n
+0000778479 00000 n
+0000780083 00000 n
+0000780709 00000 n
+0000780911 00000 n
+0000783148 00000 n
+0000781090 00000 n
+0000781196 00000 n
+0000783389 00000 n
+0000784058 00000 n
+0000784263 00000 n
+0000786956 00000 n
+0000784463 00000 n
+0000784570 00000 n
+0000787198 00000 n
+0000787889 00000 n
+0000788095 00000 n
+0000788193 00000 n
+0000789237 00000 n
+0000788271 00000 n
+0000788371 00000 n
+0000789478 00000 n
+0000790102 00000 n
+0000790307 00000 n
+0000792110 00000 n
+0000790418 00000 n
+0000790521 00000 n
+0000792352 00000 n
+0000792995 00000 n
+0000800172 00000 n
+0000793201 00000 n
+0000804490 00000 n
+0000800405 00000 n
+0000807553 00000 n
+0000804779 00000 n
+0000810770 00000 n
+0000807792 00000 n
+0000813390 00000 n
+0000811014 00000 n
+0000837052 00000 n
+0000813635 00000 n
+0000856194 00000 n
+0000837359 00000 n
+0000868156 00000 n
+0000856466 00000 n
+0000871524 00000 n
+0000868406 00000 n
+0000874297 00000 n
+0000871797 00000 n
+0000877242 00000 n
+0000874549 00000 n
+0000880271 00000 n
+0000877488 00000 n
+0000884849 00000 n
+0000885010 00000 n
+0000885092 00000 n
+0000885169 00000 n
+0000892479 00000 n
+0000893144 00000 n
+0000893813 00000 n
+0000894482 00000 n
+0000895148 00000 n
+0000895817 00000 n
+0000896485 00000 n
+0000897156 00000 n
+0000897820 00000 n
+0000898489 00000 n
+0000899158 00000 n
+0000899824 00000 n
+0000900493 00000 n
+0000901162 00000 n
+0000901827 00000 n
+0000902498 00000 n
+0000903166 00000 n
+0000903835 00000 n
+0000904501 00000 n
+0000905170 00000 n
+0000905839 00000 n
+0000906505 00000 n
+0000907174 00000 n
+0000907842 00000 n
+0000908513 00000 n
+0000909178 00000 n
+0000909847 00000 n
+0000910516 00000 n
+0000911182 00000 n
+0000911851 00000 n
+0000912520 00000 n
+0000913189 00000 n
+0000913857 00000 n
+0000914525 00000 n
+0000915194 00000 n
+0000915856 00000 n
+0000916525 00000 n
+0000917194 00000 n
+0000917863 00000 n
+0000918528 00000 n
+0000919199 00000 n
+0000919867 00000 n
+0000920533 00000 n
+0000921202 00000 n
+0000921871 00000 n
+0000922540 00000 n
+0000923206 00000 n
+0000923875 00000 n
+0000924543 00000 n
+0000925211 00000 n
+0000925880 00000 n
+0000926549 00000 n
+0000927218 00000 n
+0000927884 00000 n
+0000928553 00000 n
+0000929222 00000 n
+0000929887 00000 n
+0000930558 00000 n
+0000931226 00000 n
+0000931895 00000 n
+0000932561 00000 n
+0000933230 00000 n
+0000933899 00000 n
+0000934565 00000 n
+0000935234 00000 n
+0000935902 00000 n
+0000936573 00000 n
+0000937237 00000 n
+0000937906 00000 n
+0000938575 00000 n
+0000939237 00000 n
+0000939906 00000 n
+0000940575 00000 n
+0000941241 00000 n
+0000941909 00000 n
+0000942578 00000 n
+0000943247 00000 n
+0000943913 00000 n
+0000944552 00000 n
+0000945187 00000 n
+0000945819 00000 n
+0000946454 00000 n
+0000947089 00000 n
+0000947724 00000 n
+0000948355 00000 n
+0000948992 00000 n
+0000949626 00000 n
+0000950258 00000 n
+0000950893 00000 n
+0000951528 00000 n
+0000952163 00000 n
+0000952795 00000 n
+0000953430 00000 n
+0000954064 00000 n
+0000954698 00000 n
+0000955333 00000 n
+0000955968 00000 n
+0000956603 00000 n
+0000957235 00000 n
+0000957870 00000 n
+0000958505 00000 n
+0000959213 00000 n
+0000960026 00000 n
+0000960681 00000 n
+0000961338 00000 n
+0000962009 00000 n
+0000962769 00000 n
+0000963557 00000 n
+0000964522 00000 n
+0000965659 00000 n
+0000965852 00000 n
+0000966208 00000 n
+0000966561 00000 n
+0000966914 00000 n
+0000967104 00000 n
+0000967207 00000 n
+0000967247 00000 n
+0000967379 00000 n
trailer
-<< /Size 4650 /Root 4648 0 R /Info 4649 0 R /ID [ <D64F3A26FAAB7864F77EB030AC63CA56> <D64F3A26FAAB7864F77EB030AC63CA56> ] >>
+<< /Size 4654 /Root 4652 0 R /Info 4653 0 R /ID [ <C8B3E43F752B280EC22277DF5BEE0C11> <C8B3E43F752B280EC22277DF5BEE0C11> ] >>
startxref
-961140
+967940
%%EOF
diff --git a/macros/luatex/latex/tango/README b/macros/luatex/latex/tango/README
new file mode 100644
index 0000000000..014ae456a2
--- /dev/null
+++ b/macros/luatex/latex/tango/README
@@ -0,0 +1,42 @@
+Tango is a LaTeX document class for use by mathematics teachers. It requires lualatex, some LaTeX packages (see the complete documentation for details), and a recent version of LaTeX (see paragraph 4 below).
+
+Author: Michel Bovani <Michel.Bovani@icloud.com>
+Tango Web Page: https://tango.mathriochka.net
+
+1 Versions history
+0.8.0 (2024-07-17) This version
+New: Language complete support for
+french, english, british, american, canadian, australian, newzealand, german, ngerman, naustrian, nswissgerman, italian, spanish.
+
+0.7.2 (2024-07-12)
+New in this version
+• correction of the countername in subparagraph definition for titlesec.
+• fix incorrect vertical space in the \exo command.
+
+0.7.1 First release (2024-07-08)
+
+2 License
+Tango is released under Latex public project licence (LPPL), version 1.3c
+See https://www.latex-project.org/lppl/lppl-1-3c/
+
+3 Installation
+Just put the tango.cls file in a latex directory of a texmf tree, for example:
+TEXMF/tex/lualatex/tango/tango.cls
+
+4 Usage
+\documentclass[<options>]{tango}
+The tango document class requires recent versions of LaTeX and lualatex. At my home it runs on TeXLive 2024, TeXLive 2023 and on the last update of TeXlive 2022.
+
+5 About examples
+Example files are provided for testing the tango document class and for learning how to adapt margins, headings &Co.
+
+The files to typeset are:
+
+book-mathematics.tex
+handout-euler.tex
+handout-polynomes-deg2.tex
+schoolwork.tex
+candide.tex (the result is best in the two-pages mode of your pdf viewer).
+
+6 Internet website (new french only for now)
+https://tango.mathriochka.net \ No newline at end of file
diff --git a/macros/luatex/latex/tango/doc/tango-en.pdf b/macros/luatex/latex/tango/doc/tango-en.pdf
new file mode 100644
index 0000000000..d7969f1cb5
--- /dev/null
+++ b/macros/luatex/latex/tango/doc/tango-en.pdf
Binary files differ
diff --git a/macros/luatex/latex/tango/doc/tango-en.tex b/macros/luatex/latex/tango/doc/tango-en.tex
new file mode 100644
index 0000000000..bf7995ef17
--- /dev/null
+++ b/macros/luatex/latex/tango/doc/tango-en.tex
@@ -0,0 +1,753 @@
+% !TEX TS-program = LuaLaTeX
+\documentclass[english,ColorTheme=Red,FontSize=10pt]{tango}
+%\setmonofont{Latin Modern Mono}[Scale=MatchUppercase]
+\usepackage{longtable,csquotes,lipsum,tcolorbox}
+\usepackage[dvipsnames]{xcolor}
+\newcommand\DO[1]{\textcolor{ColorOne}{\bfseries #1}}
+\newcommand\TO[1]{\textsf{#1}}
+%%
+\NewDocumentCommand\showtheme{m}
+{{\tgosetup{ColorTheme=#1}
+\parbox{2.1cm}{\centering
+\textsf{#1\rule[-3pt]{0pt}{10pt}}\\
+\colorbox{ColorOne}{\parbox{1.5cm}{\rule[-5pt]{0pt}{15pt}}}
+\par
+\colorbox{ColorTwo}{\parbox{1.5cm}{\rule[-5pt]{0pt}{15pt}}}
+\par
+}}}
+%
+%\tgosmartlists
+\renewtgolabels1{\lefthand}
+\definecolor{ColorThree}{rgb}{0.93,0.95,0.97}
+\tcbset{colback=ColorTwo,colframe=ColorTwo,sharp corners}
+\frenchspacing
+%\setcounter{section}{88}
+\begin{document}
+
+\renewcommand{\arraystretch}{1.1}
+\title{\textcolor{ColorOne}{\floweroneleft}\,The tango document class\,\textcolor{ColorOne}{\floweroneright}}
+\author{\href{mailto:michel.bovani@icloud.com}{Michel \textsc{Bovani}}\\
+Tango web page: \href{https://tango.mathriochka.net}{https://tango.mathriochka.net}}
+\date{\today\\v. 0.8.0}
+{\sffamily
+\maketitle
+
+}
+\thispagestyle{empty}
+
+\tgoshorttoc
+\section{What the tango document class is}
+
+
+Tango is a Latex document class (\verb=\documentclass[<options>]{tango}=) for use by mathematics teachers (roughly speaking, from high school to undergraduate level). It makes it possible to typeset several types of documents, from the short handout to the complete textbook. The \enquote{maths dedicated aspect} essentially consists in:
+\begin{itemize}
+\item loading maths packages;
+\item offering dedicated commands and environments for statements (definitions, propositions, theorems…), exercises, numbering.
+\end{itemize}
+
+Tango is reasonably configurable, even if certain choices are imposed: mandatory use of lualatex, opentype fonts and recent installation, in particular. The tango class defines eight output formats, five of which are suitable for tablets, e-readers and smartphones; a system currently under development can be used to introduce a particular input for a given output format (for example, forcing a page break for the A5 format only). Finally, the tango class can be used for projects of a more general nature than maths lessons: science courses, but even more general usage with some extra configuration effort (see the Candide directory in the examples).
+
+Another class of documents for presenting school work (training exercises, test or exam subjects) will soon be available, called \enquote{bravo}.
+
+
+
+
+\section{Options overview}
+Please note that the table below only lists the options actually managed by the tango class. Other options, if used when calling the class, can simply be passed to certain packages. This is the case, for example, with the babel language options, or the \TO{math-style} option, which is systematically passed to the \TO{unicode-math} package.
+
+Default values are in bold red. Bold options marked with a \TO{\textbf{star*}} can be used in the preamble and in the body of the document with the \verb=\tgosetup{}= command: for example, in order to change the colors inside the document, you can use \verb+\tgosetup{ColorTheme=Navy}+. Other options can only be mentioned when the tango class is called.
+
+
+\begin{longtable}{p{0.23\linewidth}p{0.7\linewidth}}
+\caption[]{The tango class options}\\
+\textbf{Option}&\textbf{Usage}\\
+\hline\endhead
+\hline\multicolumn{2}{r}{\emph{Continued next page}}\endfoot
+\hline\endlastfoot
+
+\hline
+\TO{%
+french, english, british, american, canadian, australian, newzealand, german, ngerman, naustrian, nswissgerman, italian, spanish}.& Tango will transmit all language options to the \TO{babel} package. However, the translation of specific names used by tango (such as theorem, exercise, etc.) is only guaranteed for the languages listed opposite. Please note that even English speakers must \emph{imperatively} pass a language option to tango.
+
+See section~\ref{lang} below.\\
+\hline
+\TO{no-statement}&\TO{no-statement=true/\DO{false}}. The \TO{thm}, \TO{defin}, \TO{lem}, \TO{coro}, \TO{propo} environments (for theorems, definitions, lemmas, corollaries, propositions) are defined by default. The no-statement option allows you to define them later, on request (see \verb=\newstatement= and \verb=\renewstatement= commands in section~\ref{st-section} page~\pageref{st-section}).\\
+\hline
+\TO{no-hyperref}&\TO{no-hyperref=true/\DO{false}}. If you're only planning a single paper output….\\
+\hline
+\TO{no-indent/indent}&\TO{no-indent=true/\DO{false}}. Indents are present by default. The option \TO{noindent} (meaning \TO{no-indent = true}) returns us to the left margin. The \TO{indent} option also exists, but is not very useful!\\
+\hline
+\TO{no-titleindent}/\TO{titleindent}&Title indents are present by default only in French (because in French typography, the first paragraph after a title must be indented: so I prefer in this case the titles to be indented too). You can use no-tiltleindent in French and titleindent in English to change the default behavior. These options must be called after the language options.\\
+\hline
+\TO{\textbf{ThmNamePos*}}&\TO{ThmNamePos=<value>} where \TO{<value>} can be \TO{\DO{left}} or \TO{right}. The name of the statement (Theorem, Definition, etc.) is displayed to the left or right of the box.\\
+\hline
+\TO{PubliClass}&\TO{PubliClass=<value>} where \TO{<value>} can be \TO{\DO{article}} or \TO{book}. Indicates the base document class used (Latex standard \TO{article} document class or Latex standard \TO{book} document class.) The tango class is designed so that short handouts or monographs composed with the \TO{article} version can then be grouped together as chapters in the same volume with the \TO{book} version. See the \texttt{mathematics} directory in the \texttt{examples} documentation. With the \TO{article} version, the \verb=\part= and \verb=\tableofontents= commands are disabled. The \verb=\tgoshorttoc= command can be used to obtain a summary at the beginning of a monograph.\\
+\hline
+\TO{oneside/twoside}& The option \TO{twoside} makes recto/verso, \TO{oneside} simply makes recto. The default is \TO{\DO{oneside}}. For now, there's no adjustment of inner and outer margins with twoside but it's easy to adapt it to your needs with the \verb=\geometry= command in the preamble. Note that one may prefer \TO{twoside=false} to \TO{oneside} (why not?).\\
+\hline
+\TO{FontSize}&\TO{FontSize=<value>} where \TO{<value>} can be \TO{9pt}, \TO{\DO{10pt}}, \TO{11pt} ou \TO{12pt}.\\
+\hline
+\TO{\textbf{ColorTheme*}}&\TO{ColorTheme=<value>} where \TO{<value>} can be \TO{Blue, Navy, USAF, Azur, Red, Framboise, Brique, Sienne, Caramel, Olive, Tannen, \DO{GrayGray}, BlackAndWhite, Ink} or \TO{Steel}. These values are worth trying out: each defines a set of two colors, one solid (ColorOne) for titles and one very light (ColorTwo) for box backgrounds.\\
+\hline
+\TO{\textbf{ColorOne*}/\textbf{ColorTwo*}}& These options allow the user to define the colors of a personal theme separately; the argument must be a suitable argument for \verb=\definecolor=. See xcolor package (loaded without options by the tango class) documentation.
+\begin{example}[Examples]
+ \begin{itemize}
+ \item\TO{ColorOne=}\verb={rgb}{0.75,0.1,0.05}=
+ \item\TO{ColorOne=}\verb={cmyk}{0,0.8,0.8,0.2}=
+ \item\TO{ColorTwo=}\verb={{rgb}{0.75,0.96,0.75}}= (note that external braces may be used, but are not mandatory).
+\end{itemize}
+\end{example}
+\\
+\hline
+\TO{\textbf{ColorOneNamed*}} / \\
+\TO{\textbf{ColorTwoNamed*}}&
+These options allow the user to define the colors of a personal theme separately; the argument must be a suitable argument for \verb=\colorlet=. See xcolor package (loaded without options by the tango class) documentation.
+\begin{example}[Examples]
+ \begin{itemize}
+ \item\TO{ColorOneNamed=}\verb={red!70!blue}=
+\item\TO{ColorTwoNamed=}\verb={yellow!12}=
+ \end{itemize}
+\end{example}
+If you want to use a predefined set of colors, say \TO{dvipsnames}, you may reload the \TO{xcolor} package with the \TO{dvipsnames} option in your preamble, and then use the \verb=\tgosetup= command:
+\begin{itemize}
+\item \verb+\tgosetup{ColorOneNamed={RedOrange!80!BrickRed}}+
+ \end{itemize}
+\\
+\hline
+\TO{Output}&\TO{Output=<value>} where \TO{<value>} can be \TO{\DO{A4paper}, Letter, A5paper, BigTablet, Tablet, SmallTablet, eReader} or \TO{Smartphone}. \TO{BigTablet}, \TO{Tablet} and \TO{SmallTablet} correspond to 13-, 11- and 8.5-inch screens respectively. \TO{eReader} is for a 6-inch e-reader. It should be noted that in the case of \TO{eReader} and \TO{Smartphone}, the requested format is larger than the actual format, so that the font sizes are much smaller than required. So the \TO{FontSize=9pt} option produces a result on their screens that may be difficult to read.\\
+\hline
+ \TO{Numbers}& \TO{Numbers=<value>} where \TO{<value>} can be \TO{TextOldStyle, OldStyle, MathOldStyle, FullOldstyle}. If you don't ask for anything, you get the \enquote{lining} numbers.
+\begin{itemize}
+\item \TO{Numbers=TextOldStyle} activates oldstyle (or lower-case) digits (like these {\olddigits 0123456789}) of the erewhon font (basic text font) for the entire document.
+\item \TO{Numbers=OldStyle} activates oldsyle (or lower-case) digits for all text fonts used in the document.
+\item \TO{Numbers=MathOldStyle} activates lower-case digits only in mathematics (I can't think of any good reason to do this!).
+\item \TO{Numbers=FullOldStyle} activates lower-case digits for all text fonts as well as for mathematics.
+\end{itemize}
+It should be noted that it is always possible to switch locally from the digits selected with this option to one of their variants (for example, section titles are systematically numbered using \enquote{lining} digits, since these titles are themselves capitalized).\\
+\hline
+\TO{StylisticSet}&\TO{StylisticSet=\{<value1>, <value2>,…\}} where \TO{<value1>, <value2>,} etc. are to be taken from \TO{upint, leqslant, smaller, subsetneq} and \TO{parallelslant}. These options concern the Erewhon-Math font, which is a (very) extended opentype version by Daniel \textsc{Flipo} of the math fonts of the Fourier-Gutenberg system. For more information, see the Erewhon-Math documentation (\verb=texdoc erewhon-math= in any good terminal).\\
+\hline
+\TO{CharacterVariant}&\TO{CharacterVariant=\{<value1>, <value2>,…\}} where \TO{<value1>, <value2>,} etc. can be chosen from \TO{zero, hslash, emptyset, epsilon, kappa, pi, phi, rho, sigma, theta, partial, Ecal, Qcal} and \TO{Tcal}. These options concern the Erewhon-Math font, which is a (very) extended opentype version by Daniel \textsc{Flipo} of the math fonts of the Fourier-Gutenberg system. For more information, see the Erewhon-Math documentation (\verb=texdoc erewhon-math= in any good terminal).\end{longtable}
+
+%\medskip
+
+\section{Packages loaded by the tango document class}
+I only mention here the packages directly loaded by the tango class. Each of these packages can in turn load others...
+\begin{itemize}
+\item \verb=\RequirePackage{xcolor}=. The \TO{xcolor} package is used by the tango class to define the colors of the various themes. It is called without any options, but you can reload it in the preamble of your document with options such as \TO{dvipsnames}, \TO{svgnames} or \TO{x11names}.
+\item\verb=\RequirePackage{mathtools}=. The \TO{mathtools} package loads the \TO{amsmath} package, to which it adds a complement.
+\item\verb=\RequirePackage{geometry}=. Used by the tango class in order to define the page design of the various outputs formats. You can use the \verb=\geometry=. command in the document preamble to modify this layout.
+\item\verb=\RequirePackage{enumitem}=. Used by the tango class to configure the various \TO{list}-based environments in its own way (see section~\ref{lists}). These settings can be modified by the user in the preamble.
+\item\verb=\RequirePackage{titletoc}=. Used by the tango class to fix the table of contents appearance which can be modified by the user in the preamble.
+\item\verb=\RequirePackage[pagestyles,toctitles,newlinetospace,clearempty]{titlesec}=. Used by the tango class to configure the appearance of titles at different levels. This can be modified by the user in the preamble. The default English version adds the \TO{noindentafter} option.
+\item\verb=\RequirePackage{ccaption,caption}=. Used by the tango class to configure the captions appearance for figures and tables. (See section~\ref{figtable}).
+\item\verb=\RequirePackage{fontspec}\RequirePackage{unicode-math}=. The tango class requires \TO{lualatex}, opentype fonts, and Unicode settings.
+\item\verb=\RequirePackage{fourier-orns}=. See the section~\ref{fnts} below.
+\item\verb=\RequirePackage{iflang}=. Used by tango to send a class error message if no language option is given.
+\item\verb=\RequirePackage{babel}=. The babel package is called without options. It is up to you to pass babel options to the tango class. See section~\ref{lang} below.
+\item\verb+\RequirePackage[colorlinks,linkcolor=ColorOne,urlcolor=ColorOne]{hyperref}+. This \TO{hyperref} configuration can be modified using the \verb=\hypersetup= command in your preamble. You can also use the \TO{no-hyperref} option.
+\item\verb=\RequirePackage{array,graphicx,microtype,numprint,float,afterpage}=. These packages are provided but not explicitly used by tango.
+\end{itemize}
+
+
+\section{Fonts}\label{fnts}
+
+\subsection{The tango font system}
+Tango's main font is Erewhon, an opentype version of Utopia (a PostScript type~1 font which was designed in 1989 by Robert \textsc{Slimbach} and once donated by Adobe to the X-consortium and featured on TeXlive). Unlike Utopia, Erewhon, designed by Michael \textsc{Sharpe}, covers a large number of languages and offers a wide range of functions, available through opentype features. It should be noted that Adobe distributes a commercial opentype version of Utopia, which is less rich in glyphs than Erewhon, but has an intermediate font-weight and optical character sizes.
+
+The tango mathematical font is Erewhon~Math, a scientific complement to Erewhon designed by Daniel \textsc{Flipo}. Erewhon Math is in a way the opentype counterpart of Fourier-GUTenberg, the scientific complement to Utopia type~1 designed by me in 2002. Erewhon~Math offers a large number of functions made accessible by Daniel through the \TO{fourier-otf} package. The tango class does not load \TO{fourier-otf}, but uses all its functions through a system of options.
+
+The sans-serif font of the tango system is Noto Sans, scaled. Noto Sans is a sans-serif font for text in Latin, Cyrillic and Greek characters, with multiple weights and widths.
+
+The main (chapter) title font is Roboto Condensed Bold (as a condensed version of Noto Sans is not available on TeXlive).
+
+The monospaced font is Inconsolatazi4, scaled.
+
+Finally, tango calls the \TO{fourier-orns} package, a symbols and logos complement to the fourier system which has now an opentype version.
+
+\subsection{Replacing the tango font system}
+It is, of course, possible to use the \TO{fontspec} \verb=\setmainfont=, \verb=\setsansfont= and \verb=\setmonofont= commands and the \TO{unicode-math} \verb=\setmathfont= command in the preamble in order to modify the parameters of the tango class: this is not advisable, in my humble opinion. But one day there will probably be another class in the tango distribution which will use another font system. Such a document class could be called charlie, or foxtrot or zulu….
+
+\subsection{Font commands and text font commands}
+Here, I call \enquote{Font commands} commands whose scope can only be limited by a group or an environment. I call \enquote{Text font commands}, on the other hand, commands whose scope is limited to their argument, which must not contain a paragraph break. For example, \verb=\bfseries= is a \enquote{font command} and \verb=\textbf= is a \enquote{text font command}. Here is what is provided by tango (see table~\ref{otfcmd}, \pageref{otfcmd}). All these commands should work with Erewhon and with Noto Sans as well.
+\begin{table}[ht]
+\XTabletCommand{\centering\setlength\tabcolsep{9pt}}
+\TabletCommand{\centering}
+\caption{Tango opentype commands}\label{otfcmd}
+\ifTgoTabletOutput\begin{tabular}{l | l | l | l}%
+\else
+\begin{tabular}{llll}%
+\fi
+\hline
+\multicolumn{1}{c}{\textsf{\bfseries Command}}&
+\multicolumn{1}{c}{\textsf{\bfseries Nature}}&
+\multicolumn{1}{c}{\textsf{\bfseries Example}}&
+\multicolumn{1}{c}{\textsf{\bfseries Result}}\\
+\hline
+\verb=\superiors=&\textsf{font command} & \verb=M{\superiors rs}=&M{\superiors rs}\\
+\hline
+\verb=\scinferiors=&\textsf{font command} &\verb={\scinferiors C6H12O3}= &{\scinferiors C6H12O3}\\
+\hline
+\verb=\smartfracs=&\textsf{font command} &\verb=2{\smartfracs1/3}= &2{\smartfracs1/3} \\
+\hline
+\verb=\fullsc=&\textsf{text font command} &\verb=\fullsc{Chapter}= &\fullsc{Chapter} \\
+\hline
+\verb=\textsup=&\textsf{text font command} &\verb=M\textsup{rs}=&M\textsup{rs} \\
+\hline
+\verb=\textscinf=&\textsf{text font command} &\verb=\textscinf{C6H12O3}= &\textscinf{C6H12O3} \\
+\hline
+\verb=\smartfrac=&\textsf{text font command} &\verb=2\smartfrac{3/4}= &2\smartfrac{3/4} \\
+\hline
+\verb=\olddigits=&\textsf{font command} &\verb={\olddigits01234}= &{\olddigits01234} \\
+\hline
+\verb=\liningdigits=&\textsf{font command} &\verb={\olddigits01\liningdigits01}= &{\olddigits01\liningdigits01} \\
+\hline
+\verb=\propdigits=&\textsf{font command} &\verb={\propdigits011\olddigits011}= &{\propdigits011\olddigits011} \\
+\hline
+\verb=\tabulardigits=&\textsf{font command} &\verb={\tabulardigits011\olddigits011}= &{\tabulardigits011\olddigits011} \\
+\hline
+\end{tabular}
+
+
+\end{table}
+
+
+\section{Using tango}
+
+\subsection{Generalities}
+The tango interface is not so different from that of the standard \TO{article} and \TO{book} document classes. Configuration is essentially a matter of choosing options.
+
+For advanced use, it is useful to refer to the documentation for the various packages: first, of course, \TO{unicode-math}, \TO{fontspec}, \TO{mathtools} and \TO{amsmath}. But if you want to change the style of titles, for example, you could take a look at the \TO{titlesec} documentation, and to change the style of lists (enumerate, itemize, etc.), take a look at \TO{enumitem}. The \TO{geometry} package is essential for anyone wanting to obtain a particular layout. And so on.
+\subsection{Modified standard commands}
+Since documents designed with the \TO{article} option can become chapters in a book composed later with the \TO{book} option, the \verb+\part+ command inherited from the \TO{article} class has been deactivated (only for article-typeset documents)
+
+Similarly, the \TO{article} version benefits from a \verb+\tgotitle+ command that lets you define the main title of the document. The \verb+\tgotitle*+ version exists but does nothing more or less than the unstarred command. However, in the \TO{book} version, \verb+\tgotitle+ is an alias for \verb+\chapter+ (and \verb+\tgotitle*+ is an alias for \verb+\chapter*+), so the unnumbered title of a handout very easily becomes the numbered title of a chapter in a book. This, of course, assumes that the \verb+\includeonly+/\verb+\include+ mechanism is used... A model (currently written in French) is provided in the \TO{examples} directory.
+
+The command \verb+\tableofcontents+ can only be used with the \TO{book} option; it is deactivated with the \TO{article} option: in this case, you have to use \verb+\tgoshorttoc+ instead (of course \verb+\tgoshorttoc+ is in turn deactivated in the \TO{book} version). Note that, if you need multiple or partial tocs, you have to use a dedicated package.
+
+\subsection{Using two or more output formats}
+What I'm describing here is still rudimentary and experimental. It will be developed further if it proves successful.
+
+For each output format, two particular commands are provided. For example, in case of the \TO{Smartphone} output option, you have \verb+\SmartphoneCommand+ and \verb+\XSmartphoneCommand+. The \verb+\SmartphoneCommand+ argument is only taken into account if \TO{Output=Smartphone} have been used. Conversely, the \verb+\XSmartphoneCommand+ argument is only taken into account if this option has not been used.
+\begin{example}[Examples]
+\begin{itemize}
+\item \verb+\SmartphoneCommand{\pagebreak}+ asks for a page break only for the smartphone output.
+\item \verb+\XSmartphoneCommand{\[< long math formula >\]}+
+\par \verb+\SmartphoneCommand{\begin{multline*}<split formula>\end{multine*}}+
+\par asks for a multline version of a formula only for the smartphone output
+\end{itemize}
+\end{example}
+
+Provided commands are:
+\begin{itemize}
+\item\verb+\AfourCommand+ and \verb+\XAfourCommand+ for the A4 format;
+\item\verb+\LetterCommand+ and \verb+\XLetterCommand+ for the letter format;
+\item\verb+\AfiveCommand+ and \verb+\XAfiveCommand+ for the A5 format;
+\item\verb+\BigTabletCommand+ and \verb+\XBigTabletCommand+ for the big tablet format;
+\item\verb+\TabletCommand+ and \verb+\XTabletCommand+ for the tablet format;
+\item\verb+\SmallTabletCommand+ and \verb+\XSmallTabletCommand+ for the small tablet format;
+\item\verb+\eReaderCommand+ and \verb+\XeReaderCommand+ for the e-reader format;
+\item\verb+\SmartphoneCommand+ and \verb+\XSmartphoneCommand+ for the smartphone format.
+\end{itemize}
+\subsection{All the color themes}
+\indent\par
+\hspace*{0pt}\hfil\showtheme{Blue}\hfil\showtheme{Azur}\hfil\showtheme{Navy}\hfil\showtheme{USAF}\hfil%
+\showtheme{Framboise}\hfil\null
+\par\bigskip\par
+\hspace*{0pt}\hfil\showtheme{Red}\hfil\showtheme{Brique}\hfil\showtheme{Caramel}\hfil\showtheme{Sienne}\hfil\showtheme{Olive}\hfil\null
+\par\bigskip\par
+\hspace*{0pt}\hfil\showtheme{Tannen}\hfil\showtheme{GrayGray}\hfil\showtheme{Steel}\hfil\showtheme{Ink}\hfil\showtheme{BlackAndWhite}\hfil\null
+
+\section{Language settings}\label{lang}
+A language option \emph{must} be passed to the \TO{babel} package via the tango class: this is true \emph{even} for English-speaking people. A class error message will be generated otherwise. If you ignore this message you will get no hyphenation patterns at all!
+
+Tango also has some reserved words, which are (when an english language option is passed to tango):\begin{verbatim}
+\newcommand\TgoTheoremName{Theorem}
+\newcommand\TgoDefinitionName{Definition}
+\newcommand\TgoPropositionName{Proposition}
+\newcommand\TgoLemmaName{Lemma}
+\newcommand\TgoCorollaryName{Corollary}
+\newcommand\TgoRemarkName{Remark}
+\newcommand\TgoExampleName{Example}
+\newcommand\TgoContentsName{Contents}
+\newcommand\TgoExerciseName{Exercise}
+\newcommand\TgoExercisesSubsectionName{Exercises}
+\newcommand\TgoExercisesSectionName{Exercises}
+\end{verbatim}
+
+Although any language option recognized by babel will (in principle) be taken into account as soon as it is passed to tango, the translation of these reserved words only happens for the following languages:
+\begin{itemize}
+\item\TO{french};
+\item\TO{english, british, american, canadian, australian, newzealand};
+\item\TO{german, ngerman, naustrian, nswissgerman};
+\item\TO{italian};
+\item\TO{spanish}.
+\end{itemize}
+
+Other languages benefit from babel's facilities, but tango's reserved words are not translated.
+So here's what concerned users can do.
+
+\begin{enumerate}
+\item Translate these names in your language (for now it is done only for the french language), using \verb+\renewcommand+.
+\item (Better) Mail me all the necessary information (at least babel language option used and your translation of the tango names) and I will adapt the tango class to your language.
+\end{enumerate}
+\section{Statements}\label{st-section}
+
+\subsection{Predefined statements}
+The environments offered by the tango document class for the statements were defined using the \verb+\newstatement+ command, whose syntax is:
+\begin{tcolorbox}
+\begin{verbatim}
+\newstatement{<environment>}{<counter>}{<statement-name>}[<optionnal-font-command>]
+\end{verbatim}
+\end{tcolorbox}
+For example, the \TO{thm}, \TO{defin}, \TO{propo}, \TO{coro} and \TO{lem} environments have been defined using something like:
+\begin{tcolorbox}
+\begin{verbatim}
+\newcounter{thm} \newstatement{thm}{thm}{Theorem}[\itshape]
+\newcounter{defin} \newstatement{defin}{defin}{Definition}
+\newcounter{propo} \newstatement{propo}{propo}{Proposition}[\itshape]
+\newcounter{coro} \newstatement{coro}{coro}{Corollary}
+\newcounter{lem} \newstatement{lem}{lem}{Lemma}
+\end{verbatim}
+\end{tcolorbox}
+
+
+If you type:
+
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}[pons asinorum]
+The angles at the base of an isosceles triangle are equal.
+\end{thm}
+\end{verbatim}
+\end{tcolorbox}
+
+you will obtain:
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}[pons asinorum]
+The angles at the base of an isosceles triangle are equal.
+\end{thm}
+
+As you can see, each statement defined with \verb+\newstatement+ has an optional bracketed argument (which is displayed within parentheses after the statement name and number). Please, note that these environments should not be used inside a \TO{list}-based environment (like center, quote, enumerate, itemize…).
+
+For each statement defined with \verb+\newstatement+ there is also
+\begin{itemize}
+\item a starred form with no statement number:
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{coro*}
+The angles at the base of an isosceles triangle are equal.
+\end{coro*}
+\end{verbatim}
+\end{tcolorbox}
+\end{itemize}
+\begin{coro*}
+The angles at the base of an isosceles triangle are equal.
+\end{coro*}
+\begin{itemize}
+\item and an optional first argument delimited with \verb+< >+ to replace locally the full theorem name.
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{thm*}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with
+complex coefficients has at least one complex root.
+\end{thm*}
+\end{verbatim}
+\end{tcolorbox}
+\end{itemize}
+\begin{thm*}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with complex coefficients has at least one complex root.
+\end{thm*}
+
+\subsection{Defining your own statements}
+If you need a new statement type, say an axm environment for axioms, it's easy:
+\begin{tcolorbox}
+\begin{verbatim}
+\newcounter{axio} \newstatement{axm}{axio}{Axiom}
+\end{verbatim}
+\end{tcolorbox}
+Note that it is up to you to define the counter for this new environment: if this counter does not still exist, it has to be created with \verb+\newcounter+. Of course, the counter name may be different from the environment name. If you have used the \TO{no-statement} option, you will have to define all the statements you need, with the environment names you prefer.
+
+\subsection{Redefining existing statements}
+The \verb+\newstatement+ command has a \verb+\renewstatement+ companion to redefine existing statement environment. Precisely, you need to use \verb+\renewstatement{foo}…+ instead of \verb+\newstatement{foo}…+ if and only if the \verb+foo+ environment has already been defined.
+
+\begin{example}[Examples]
+\begin{enumerate}
+\item You can redefine the \TO{propo} environment in such a way that it uses the same counter as the \TO{thm} environment and is displayed in the upright font:
+\begin{tcolorbox}
+\begin{verbatim}
+\renewstatement{propo}{thm}{Proposition}
+\setcounter{thm}{0}
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}
+The angles at the base of an isosceles triangle are equal.
+\end{thm}
+\end{verbatim}
+\end{tcolorbox}
+\end{enumerate}
+\renewstatement{propo}{thm}{Proposition}
+\setcounter{thm}{0}
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}
+The angles at the base of an isosceles triangle are equal.
+\end{thm}
+
+\begin{enumerate}[resume]
+\item If you have already written \emph{all} your algebra book in Latex, with propositions, theorems and corollaries and you realize that, \emph{now}, you want there is no more difference between propositions, theorems and corollaries: the three types of statements should be typeset in italic, named \enquote{Proposition} and numbered with the same counter, you can just use in your preamble:
+
+\begin{tcolorbox}
+\begin{verbatim}
+\renewstatement{coro}{thm}{Proposition}[\itshape]
+\renewstatement{propo}{thm}{Proposition}[\itshape]
+\renewstatement{thm}{thm}{Proposition}[\itshape]
+\setcounter{thm}{0}
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}
+The sum of two even integers is an even integer.
+\end{thm}
+\begin{coro}
+If two integers have the same parity, their sum is even.
+\end{coro}
+\end{verbatim}
+\end{tcolorbox}
+and you will get
+
+\end{enumerate}
+\renewstatement{coro}{thm}{Proposition}[\itshape]
+\renewstatement{propo}{thm}{Proposition}[\itshape]
+\renewstatement{thm}{thm}{Proposition}[\itshape]
+\setcounter{thm}{0}
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}
+The sum of two even integers is an even integer.
+\end{thm}
+\begin{coro}
+If two integers have the same parity, their sum is even.
+\end{coro}
+
+
+instead of
+
+\setcounter{thm}{0}\setcounter{propo}{0}
+\renewstatement{thm}{thm}{Theorem}[\itshape]
+\renewstatement{propo}{propo}{Proposition}[\itshape]
+\renewstatement{coro}{coro}{Corollary}
+\begin{propo}
+The sum of two odd integers is an even integer.
+\end{propo}
+\begin{thm}
+The sum of two even integers is an even integer.
+\end{thm}
+\begin{coro}
+If two integers have the same parity, their sum is even.
+\end{coro}
+\begin{enumerate}[resume]
+\item And finally \verb+\renewstatement+ and \verb+\newstatement+ have a starred form with which statement numbers are displayed \emph{before} the statement name. More, if the statement counter is the subsection or subsubsection counter, the concerned statement titles are displayed in the same form and placement as subsection or subsubsection titles; of course the placement depends on the value of \TO{notitleindent}.
+\begin{tcolorbox}
+\begin{verbatim}
+\renewstatement*{thm}{thm}{Theorem}
+\begin{thm}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with
+complex coefficients has at least one complex root.
+\end{thm}
+\renewstatement*{thm}{subsection}{Theorem}[\itshape]
+\begin{thm}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with
+complex coefficients has at least one complex root.
+\end{thm}
+\renewstatement*{thm}{subsubsection}{Theorem}
+\begin{thm}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with
+complex coefficients has at least one complex root.
+\end{thm}
+\end{verbatim}
+\end{tcolorbox}
+\end{enumerate}
+\end{example}
+\renewstatement*{thm}{thm}{Theorem}
+\begin{thm}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with complex coefficients has
+at least one complex root.
+\end{thm}
+\renewstatement*{thm}{subsection}{Theorem}[\itshape]
+\begin{thm}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with complex coefficients has
+at least one complex root.
+\end{thm}
+\renewstatement*{thm}{subsubsection}{Theorem}
+\begin{thm}<D'Alembert-Gauss theorem>[fundamental theorem of algebra]
+Every non-constant single-variable polynomial with complex coefficients has
+at least one complex root.
+\end{thm}
+
+
+
+\section{Exercises}
+\subsection{Typesetting exercises}
+Tango provides the \verb+\exo+ command which lets you typeset a numbered exercise (the counter is \TO{tgoexo}). There is a starred version, which is not numbered. As for the statements, the bracketed option provides a complementary title between parenthesis and the \enquote{\TO{< >}} marked first option provides a substitution title.
+\begin{tcolorbox}
+\begin{verbatim}
+\exo
+Prove that if $G$ is a finite group and $H$ a subgroup of $G$,
+then the order of $H$ divides the order of $G$.
+\exo[Lagrange theorem]
+Prove that if $G$ is a finite group and $H$ a subgroup of $G$,
+then the order of $H$ divides the order of $G$.
+\end{verbatim}
+\end{tcolorbox}
+\exo
+Prove that if $G$ is a finite group and $H$ a subgroup of $G$, then the order of $H$ divides the order of $G$.
+\exo[Lagrange theorem]
+Prove that if $G$ is a finite group and $H$ a subgroup of $G$,
+then the order of $H$ divides the order of $G$.
+\begin{tcolorbox}
+\begin{verbatim}
+\newcommand\tgostar{\raisebox{-0.5ex}{\large\textborn}}
+\exo*<Chinese remainder problem>[\tgostar\tgostar\tgostar]
+Let $n_1,\ldots, n_k$ be integers greater than $1$ and let us denote by $N$
+the product of the $n_i$. Prove that if the $n_i are pairwise coprime, and if
+$a_1,\ldots, a_k$ are any integers, then the system
+\begin{align*}
+x&\equiv a_1 \pmod{n_1}\\
+&\!\vdots\\
+x&\equiv a_k \pmod{n_k}
+\end{align*}
+has a solution, and any two solutions are congruent modulo $N$.
+\end{verbatim}
+\end{tcolorbox}
+\newcommand\tgostar{\raisebox{-0.5ex}{\large\textborn}}
+\exo*<Chinese remainder problem>[\tgostar\tgostar\tgostar]
+Let $n_1,\ldots, n_k$ be integers greater than $1$ and let us denote by $N$ the product of the $n_i$.
+Prove that if the $n_i$ are pairwise coprime, and if $a_1,\ldots, a_k$ are any integers, then the system
+\begin{align*}
+x&\equiv a_1 \pmod{n_1}\\
+&\!\vdots\\
+x&\equiv a_k \pmod{n_k}
+\end{align*}
+has a solution, and any two solutions are congruent modulo $N$.
+\subsection{The secexo and chapexo environments}
+These environments are designed to present a part devoted to exercises at the end of a section (in the case of \TO{secexo}) or a chapter (in the case of \TO{chapexo}). Within these environments, you can use the command \verb+\exo+
+
+The title, in capitals and centred, is \enquote{EXERCISES} by default. The optional argument in square brackets allows you to choose another. This title is added to the table of contents.
+
+Finally, there is a starred form (\verb+\begin{secexo*)+…\verb+\end{secexo*}+ which allows you to compose the exercises within these sections in a smaller font size (exept if the main font size is nine points).
+
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{secexo*}[Example of an exercises subsection]
+\exo Prove that the sum of two even integers is an even integer.
+\exo Prove that the sum of two odd integers is an even integer.
+\end{secexo*}
+\end{verbatim}
+\end{tcolorbox}
+\begin{secexo*}[Example of an exercises subsection]
+\exo Prove that the sum of two even integers is an even integer.
+\exo Prove that the sum of two odd integers is an even integer.
+\end{secexo*}
+
+\section{Lists}\label{lists}
+\subsection{General principles}
+All the horizontal motion in tango is performed in steps equal to an integer multiple of the \verb+\TgoStandardMargin+ length parameter. When the tango class is loaded, the value of this parameter is set to 1.5em, as are paragraph indentation and title indentation (unless these two values are fixed to zero). Successive labels in the enumerate and itemize environments are therefore successively positioned at 1.5em, 3em, 4.5em, etc. from the main margin. It could be unadvised to change these settings (or this should be done using the enumitem package).
+\subsection{List based environments}
+There are two main lists configurations. The first, active by default, is set with \verb+\tgostandardlists+; the second is set with \verb+\tgosmartlists+.
+%
+With \verb+\tgostandardlists+ the text corresponding to a given level is shifted to the right (by a value equal to \verb+\TgoStandardMargin+...) with respect to the corresponding label.
+%
+With \verb+\tgosmartlists+, conversely, the text corresponding to a given level is shifted to the left (by a value equal to \verb+\TgoStandardMargin+...) in relation to the corresponding label.
+\renewtgolabels*\tgostandardlists
+
+Here is the default behaviour of the \TO{itemize} environment (\TO{enumerate} is not different).
+\begin{itemize}
+\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\begin{itemize}
+\item Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\begin{itemize}
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+\begin{itemize}
+\item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\end{itemize}
+\item Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam.
+\end{itemize}\end{itemize}
+\item Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\end{itemize}
+
+\bigskip
+
+And now with \verb+\tgosmartlists+ \tgosmartlists
+\begin{itemize}
+\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\begin{itemize}
+\item Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\begin{itemize}
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+\begin{itemize}
+\item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\end{itemize}
+\item Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam.
+\end{itemize}\end{itemize}
+\item Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\end{itemize}
+
+Note that \verb+\tgosmartlists+ seems most interesting when you use mainly the first level of these environments.
+Since the \verb+\tgosmartlists+ doesn't support very well a construction like
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{enumerate}
+\item\begin{enumerate}\item
+…
+\end{verbatim}
+\end{tcolorbox}
+that is frequent in exercises questions,
+the \TO{secexo} and \TO{chapexo} environments set locally the lists to \verb+\tgostandardlists+. It is not the case with the \verb+\exo+ command which has no local context. \tgostandardlists
+
+\subsection{Redefining labels of itemize lists}
+Tango provides a \verb+\renewtgolabels+ command which permits to modify the labels of the \TO{itemize} environment. Arguments are numbered from 1 to 4 (there is four levels of itemize lists in Latex) and must be used like in the examples below.
+\begin{example}[Examples]
+\begin{itemize}
+\item\verb=\renewtgolabels1{\lefthand}= will replace the first label by the \verb=\lefthand= symbol.
+\renewtgolabels1{\lefthand}
+\item\verb=\renewtgolabels4{\textbullet}1{\openbullet}3{\textemdash}= changes the label for the first (again), the third and the fourth levels. Level 2 remains unchanged. As you can see, the order of the arguments is unimportant. \renewtgolabels4{\textbullet}1{\openbullet}3{\textemdash}
+\end{itemize}
+\end{example}
+
+There is also a starred form that restore the initial label (as at the load of the class) which are \verb=\textbullet=, \textbullet, for the level 1, \verb=\textopenbullet=, \textopenbullet, for the level 2, \verb=\starredbullet=, \starredbullet, for the level 3 and \verb=\textperiodcentered=, \textperiodcentered{} for the level 4 (note that this is the tango default, but \emph{not} the Latex default).
+
+\renewtgolabels*
+\begin{example}[Examples]
+\begin{itemize}
+\item\verb=\renewtgolabels*= restore all the initial values.
+\item\verb=\renewtgolabels*2{\textendash}= restore initial values except for the second level which is changed to \textendash.
+\end{itemize}
+\end{example}
+
+
+\section{Other environments}
+In addition to the statements environments, the tango class offers the following environments:
+\subsection{The remark and example environments}
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{remark}
+This is a very good remark.
+\end{remark}
+\begin{example}
+This is a very short example.
+\end{example}
+\end{verbatim}
+\end{tcolorbox}
+\begin{remark}
+This is a very good remark.
+\end{remark}
+\begin{example}
+This is a very short example.
+\end{example}
+
+These two environments have a bracketed optional argument which displays a replacement title. For example:
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{example}[Remarks]
+\begin{enumerate}
+\item A first (very good) remark.
+\item A second remark (which is best, if possible).
+\end{enumerate}
+\end{example}
+\end{verbatim}
+\end{tcolorbox}
+\begin{example}[Remarks]
+\begin{enumerate}
+\item A first (very good) remark.
+\item A second remark (which is best, if possible).
+\end{enumerate}
+\end{example}
+
+\subsection{The alert environment}
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{alert}
+You should not even try to use \verb+\expandafter\expandafter\expandafter+
+unless you are actually a very experimented \TeX{} user, because you could get
+a terrible headhache.
+\end{alert}
+\end{verbatim}
+\end{tcolorbox}
+\begin{alert}
+ You should not even try to use \verb+\expandafter\expandafter\expandafter+
+unless you are actually a very experimented \TeX{} user, because you could get
+a terrible headhache.
+\end{alert}
+
+The \TO{alert} environment also support an optional bracketed argument.
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{alert}[\bomb]
+You should not even try to use \verb+\expandafter\expandafter\expandafter+
+unless you are actually a very experimented \TeX{} user, because you could get
+a terrible headhache.
+\end{alert}
+\end{verbatim}
+\end{tcolorbox}
+\begin{alert}[\bomb]
+ You should not even try to use \verb+\expandafter\expandafter\expandafter+
+unless you are actually a very experimented \TeX{} user, because you could get
+a terrible headhache.
+\end{alert}
+
+\subsection{The proof environment}
+The \TO{proof} environment is adapted from the \TO{amsthm} package. It also support a bracketed optional argument for a replacement title. The \verb+\qedhere+ command is also usable.
+\renewstatement{thm}{thm}{Theorem}[\itshape]
+\setcounter{thm}{0}
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{thm}
+The sum of two odd integers is an even integer.
+\end{thm}
+\begin{proof}
+Let $p$ and $q$ be two odd integers. We have to prove that there
+exists an integer $n$ such that $p+q=2n$.
+We know that there is an integer $p_1$ and an integer $q_1$ such that
+\[p=2p_1+1\text{ and } q=2q_1+1,\]
+hence
+\begin{align*}p+q&=(2p_1+1)+(2q_1+1)\\
+&=2\underbrace{(p_1+q_1+1)}_{n}\qedhere
+\end{align*}
+\end{proof}
+\end{verbatim}
+\end{tcolorbox}
+\begin{thm}
+The sum of two odd integers is an even integer.
+\end{thm}
+\begin{proof}
+Let $p$ and $q$ be two odd integers. We have to prove that there exists an integer $n$ such that $p+q=2n$.
+We know that there is an integer $p_1$ and an integer $q_1$ such that
+\[p=2p_1+1\text{ and } q=2q_1+1,\]
+hence
+\begin{align*}p+q&=(2p_1+1)+(2q_1+1)\\
+&=2\underbrace{(p_1+q_1+1)}_{n}\qedhere
+\end{align*}
+\end{proof}
+
+\section{Figures, tables, floats and captions}\label{figtable}
+Thanks to the \TO{caption} package, the following have been defined:
+\begin{itemize}
+\item\verb+\tgofigcaption+ (for figures);
+\item and \verb+\tgotabcaption+ (for tables).
+\end{itemize}
+These two commands provide captions similar in appearance to what could be obtained with \verb+\caption+, but also work in the case of non-floating objects.
+
+In this way it is possible to include small tables and figures in a fixed position, with nothing in their appearance to distinguish them from floating objects (whose use is still recommended in most cases).
+
+\end{document}
diff --git a/macros/luatex/latex/tango/doc/tango-fr.pdf b/macros/luatex/latex/tango/doc/tango-fr.pdf
new file mode 100644
index 0000000000..a4438d58de
--- /dev/null
+++ b/macros/luatex/latex/tango/doc/tango-fr.pdf
Binary files differ
diff --git a/macros/luatex/latex/tango/doc/tango-fr.tex b/macros/luatex/latex/tango/doc/tango-fr.tex
new file mode 100644
index 0000000000..1ed1a70abf
--- /dev/null
+++ b/macros/luatex/latex/tango/doc/tango-fr.tex
@@ -0,0 +1,786 @@
+% !TEX TS-program = LuaLaTeX
+\documentclass[french,ColorTheme=USAF,FontSize=10pt]{tango}
+%\setmonofont{Latin Modern Mono}[Scale=MatchUppercase]
+\usepackage{longtable,csquotes,lipsum,tcolorbox}
+\usepackage[dvipsnames]{xcolor}
+\newcommand\DO[1]{\textcolor{ColorOne}{\bfseries #1}}
+\newcommand\TO[1]{\textsf{#1}}
+%%
+\NewDocumentCommand\showtheme{m}
+{{\tgosetup{ColorTheme=#1}
+\parbox{2.1cm}{\centering
+\textsf{#1\rule[-3pt]{0pt}{10pt}}\\
+\colorbox{ColorOne}{\parbox{1.5cm}{\rule[-5pt]{0pt}{15pt}}}
+\par
+\colorbox{ColorTwo}{\parbox{1.5cm}{\rule[-5pt]{0pt}{15pt}}}
+\par
+}}}
+%
+%\tgosmartlists
+\renewtgolabels1{\lefthand}
+\definecolor{ColorThree}{rgb}{0.93,0.95,0.97}
+\tcbset{colback=ColorTwo,colframe=ColorTwo,sharp corners}
+\frenchspacing
+%\setcounter{section}{88}
+\begin{document}
+
+\renewcommand{\arraystretch}{1.1}
+\title{\textcolor{ColorOne}{\floweroneleft}\,La classe de documents tango\,\textcolor{ColorOne}{\floweroneright}}
+\author{\href{mailto:michel.bovani@icloud.com}{Michel \textsc{Bovani}}\\
+Page internet de tango: \href{https://tango.mathriochka.net}{https://tango.mathriochka.net}}
+\date{\today\\v. 0.8.0}
+{\sffamily
+\maketitle
+
+}
+\thispagestyle{empty}
+
+\tgoshorttoc
+\section{Qu'est-ce que la classe tango ?}
+
+
+Tango est une classe de documents pour le système de composition Latex (au début du document source, il convient donc de saisir \verb=\documentclass[<options>]{tango}=) à l'usage des professeurs de mathématiques (\emph{grosso modo}, sur le segment bac$-3$-bac$+3$). Elle est conçue pour la composition de divers types de documents, du petit polycopié au livre complet. Pour l'essentiel, le côté \frquote{dédié aux maths} consiste à :
+\begin{itemize}
+\item Charger des packages dédiés (amsmath, unicode-math \&Co).
+\item Proposer des commandes et des environnements pour les théorèmes, propositions, définitions, exercices, etc.
+\end{itemize}
+
+Tango est raisonnablement configurable, même si j'ai dû imposer certains choix : utilisation obligatoire de lualatex, des fontes opentype, et d'une installation récente, notamment. La classe propose huit formats de sortie, dont cinq sont adaptés aux tablettes, liseuses ou smartphones. Un procédé encore imparfait permet d'introduire une saisie particulière pour un format de sortie donné (par exemple de forcer un saut de page pour le format A5 seulement). La classe tango peut aussi être utilisée pour des projets de portée plus générale que des cours de mathématiques : des cours de sciences, bien sûr, mais aussi des choses très différentes, si l'on est prêt à un effort de configuration supplémentaire (voir le répertoire \TO{candide} dans les exemples).
+
+Une autre classe Latex, conçue pour réaliser des documents support au travail scolaire (énoncés d'exercices, sujets de devoirs ou d'examens) devrait être disponible sous peu. Il est prévu qu'elle se nomme \frquote{\TO{bravo}}.
+
+\section{Panorama des options}
+Veuillez noter que le tableau ci-dessous mentionne pour l’essentiel les options effectivement traitées par tango. D'autres options peuvent être, lorsqu’elles sont utilisées à l'appel de la classe, simplement transmises à certains packages. C'est le cas par exemple des options de langues de babel, ou de l'option \TO{math-style} passée au package unicode-math.
+
+Les valeurs par défaut sont présentées en bleu gras. Les options en gras, marquées d'un astérisque, peuvent être activées dans le préambule ou le corps du document à l'aide de la commande \verb+\tgosetup+ : par exemple, vous pouvez utiliser \verb+\tgosetup{ColorTheme=Navy}+ pour changer les couleurs à l'intérieur de votre document. Les autres options ne peuvent être utilisées qu'à l'appel de la classe.
+
+\begin{longtable}{p{0.23\linewidth}p{0.7\linewidth}}
+\caption[]{Les options de la classe tango}\\
+\textbf{Option}&\textbf{Utilisation}\\
+\hline\endhead
+\hline\multicolumn{2}{r}{\emph{Voir page suivante}}\endfoot
+\hline\endlastfoot
+\TO{%
+french, english, british, american, canadian, australian, newzealand, german, ngerman, naustrian, nswissgerman, italian, spanish}.& Tango transmettra au package \TO{babel} toutes les options de langue. En revanche, la traduction des noms spécifiques employés par tango (comme théorème, exercice, etc.) n'est assurée que pour les langues listées ci-contre. Notez bien que même les locuteurs anglais doivent \emph{impérativement} passer une option de langue à tango.
+
+Voir la section~\ref{lang} plus loin.\\
+\hline
+\TO{no-statement}&\TO{no-statement=true/\DO{false}}. Des environnements \TO{thm}, \TO{defin}, \TO{lem}, \TO{coro}, \TO{propo} (pour présenter les théorèmes, définitions, lemmes, corollaires et propositions) sont définis par défaut. L'option \DO{no-statement} vous permet de définir ces environnements vous-même avec une configuration plus personnelle (voir les commandes \verb=\newstatement= and \verb=\renewstatement= dans la section~\ref{st-section} page~\pageref{st-section}).\\
+\hline
+\TO{no-hyperref}&\TO{no-hyperref=true/\DO{false}}. Si vous souhaitez vous contenter d'une sortie papier…\\
+\hline
+\TO{no-indent/indent}&\TO{no-indent=true/\DO{false}}. Les retraits d'alinéa sont présents par défaut. L'option \TO{no-indent} (alias court de \TO{no-indent = true}) les supprime. Une option \TO{indent} existe également, quoiqu'elle ne soit pas très utile.\\
+\hline
+\TO{no-titleindent}/\TO{titleindent}&Les retraits d'alinéa pour les titres sont présents par défaut en français uniquement. (La raison en est qu'en typographie française le premier paragraphe après un titre subit ce retrait comme les autres paragraphes, ce qui n'est pas le cas en typo anglaise : je préfère donc dans ce cas, mais cela peut être débattu, que le titre subisse lui aussi ce retrait.) Vous pouvez utiliser \TO{no-tiltleindent} en français ou \TO{titleindent} en anglais pour changer le comportement pas défaut. Ces deux options doivent être appelées \emph{après} l'option de langue.\\
+\hline
+\TO{\textbf{ThmNamePos*}}&\TO{ThmNamePos=<valeur>} ou \TO{<valeur>} peut être \TO{\DO{left}} ou \TO{right}. Le nom de l'énoncé (Théorème, Définition, etc.) est affiché à gauche ou à droite de l'encadré.\\
+\hline
+\TO{PubliClass}&\TO{PubliClass=<valeur>} où \TO{<valeur>} peut être \TO{\DO{article}} ou \TO{book}. Indique la classe de base souhaitée (la classe standard \TO{article} ou la classe standard \TO{book}). La classe tango est conçue de telle sorte que des petits polycopiés fabriqués au jour le jour et composés avec l'option \TO{article} puissent être regroupés et devenir les chapitres d'un même volume avec l'option \TO{book}. Voyez le répertoire \texttt{mathematics} dans la partie exemples de la documentation. Avec l'option \TO{article}, les commandes \verb=\part= et \verb=\tableofontents= sont désactivées. La commande \verb=\tgoshorttoc= peut être utilisée pour obtenir un sommaire au début d'une monographie ou d'un polycopié.\\
+\hline
+\TO{oneside/twoside}& L'option \TO{twoside} est pour une sortie en recto verso, alors que \TO{oneside} est adaptée au recto simple. La valeur par défaut est \TO{\DO{oneside}}. Pour l'instant, il n'y a pas d'ajustement des marges intérieures et extérieures avec \TO{twoside} mais il est techniquement facile de réaliser des blancs tournants à votre convenance grâce à la commande \verb=\geometry= employée dans le préambule. Notez que les gens compliqués ou amateurs de détours pourront préférer \TO{twoside=false} à \TO{oneside}.\\
+\hline
+\TO{FontSize}&\TO{FontSize=<valeur>} où \TO{<valeur>} peut être \TO{9pt}, \TO{\DO{10pt}}, \TO{11pt} ou \TO{12pt}.\\
+\hline
+\TO{\textbf{ColorTheme*}}&\TO{ColorTheme=<valeur>} où \TO{<valeur>} peut être \TO{Blue, Navy, USAF, Azur, Red, Framboise, Brique, Sienne, Caramel, Olive, Tannen, \DO{GrayGray}, BlackAndWhite, Ink} or \TO{Steel}. Chaque choix définit un ensemble de deux couleurs, une soutenue (ColorOne) pour les titres et une très claire (ColorTwo) pour le fond des encadrés.\\
+\hline
+\TO{\textbf{ColorOne*}/\textbf{ColorTwo*}}& Ces options permettent à l'utilisateur de définir les couleurs d'un thème personnel; dans les deux cas la valeur doit être un argument acceptable pour la commande \verb=\definecolor=. Voir la documentation du package xcolor, chargé sans option par tango.
+\begin{example}[Exemples]
+ \begin{itemize}
+ \item\TO{ColorOne=}\verb={rgb}{0.75,0.1,0.05}=
+ \item\TO{ColorOne=}\verb={cmyk}{0,0.8,0.8,0.2}=
+ \item\TO{ColorTwo=}\verb={{rgb}{0.75,0.96,0.75}}= (notez que les accolades extérieures sont acceptées sans être obligatoires).
+\end{itemize}
+\end{example}
+\\
+\hline
+\TO{\textbf{ColorOneNamed*}} / \\
+\TO{\textbf{ColorTwoNamed*}}&
+ Ces options permettent à l'utilisateur de définir les couleurs d'un thème personnel; dans les deux cas la valeur doit être un argument acceptable pour la commande \verb=\colorlet=. Voir la documentation du package xcolor, chargé sans options par tango.
+\begin{example}[Exemples]
+ \begin{itemize}
+ \item\TO{ColorOneNamed=}\verb={red!70!blue}=
+\item\TO{ColorTwoNamed=}\verb={yellow!12}=
+ \end{itemize}
+\end{example}
+Si vous souhaitez utiliser un ensemble de couleurs prédéfinies, disons par exemple \TO{dvipsnames}, il vous suffit de recharger le package \TO{xcolor} avec l'option \TO{dvipsnames} dans le préambule, puis d'utiliser la commande \verb=\tgosetup= :
+\begin{itemize}
+\item \verb+\tgosetup{ColorOneNamed={RedOrange!80!BrickRed}}+
+ \end{itemize}
+\\
+\hline
+\TO{Output}&\TO{Output=<valeur>} où \TO{<valeur>} peut être \TO{\DO{A4paper}, Letter, A5paper, BigTablet, Tablet, SmallTablet, eReader} ou \TO{Smartphone}. \TO{BigTablet}, \TO{Tablet} et \TO{SmallTablet} correspondent à des écrans de 13, 11 et 8.5 pouces respectivement; \TO{eReader} configurée pour une liseuse 6 pouces. Veuillez noter qu'en ce qui concerne les formats \TO{eReader} et \TO{Smartphone}, tango demande à Latex un format supérieur au format réel, si bien que les tailles des polices sont inférieures à ce que l'on pourrait attendre. Ainsi, l'option \TO{FontSize=9pt} peut fournir des résultats qui sembleront difficilement lisibles.\\
+\hline
+ \TO{Numbers}& \TO{Numbers=<valeur>} où \TO{<valeur>} peut être \TO{TextOldStyle, OldStyle, MathOldStyle, FullOldstyle}. Si vous ne demandez rien, vous obtenez les chiffres habituels, à hauteur d'une lettre capitale, parfois nommés \frquote{lining}.
+\begin{itemize}
+\item \TO{Numbers=TextOldStyle} sélectionne les chiffres bas de casse ({\olddigits 0123456789}) of de la police erewhon (fonte texte de base) pour tout.
+\item \TO{Numbers=OldStyle} sélectionne les chiffres bas de casse pour toutes les fontes de texte du document.
+\item \TO{Numbers=MathOldStyle} sélectionne les chiffres bas de casse uniquement pour les mathématiques (je ne vois aucune bonne raison de procéder ainsi).
+\item \TO{Numbers=FullOldStyle} sélectionne les chiffres bas de casse aussi bien pour les fontes de texte que pour les mathématiques.
+\end{itemize}
+Remarquons qu'il est toujours possible de basculer localement des chiffres sélectionnés par cette option à une de leurs variantes (par exemple les titres de section sont numérotés à l'aide de \frquote{grands} chiffres, dans la mesure où ces titres sont eux-mêmes en capitales).\\
+\hline
+\TO{StylisticSet}&\TO{StylisticSet=\{<valeur1>, <valeur2>,…\}} où \TO{<valeur1>, <valeur2>,} etc. sont à prendre parmi \TO{upint, leqslant, smaller, subsetneq} et \TO{parallelslant}. Ces options concernent la fonte Erewhon-Math, qui est une version opentype du système scientifique Fourier-Gutenberg, (très) étendue par Daniel \textsc{Flipo}. Pour plus d'informations, voir la documentation d'Erewhon-Math (\verb=texdoc erewhon-math= dans un terminal).\\
+\hline
+\TO{CharacterVariant}&\TO{CharacterVariant=\{<valeur1>, <valeur2>,…\}} \TO{<valeur1>, <valeur2>,} etc. sont à prendre parmi \TO{zero, hslash, emptyset, epsilon, kappa, pi, phi, rho, sigma, theta, partial, Ecal, Qcal} et \TO{Tcal}. Ces options concernent la fonte Erewhon-Math, qui est une version opentype du système scientifique Fourier-Gutenberg, (très) étendue par Daniel \textsc{Flipo}. Pour plus d'informations, voir la documentation d'Erewhon-Math (\verb=texdoc erewhon-math= dans un terminal).\\
+\end{longtable}
+
+\section{Liste des packages chargés par la classe tango}
+Je ne mentionne ici que les packages directement chargés par tango. Chacun d'eux peut à son tour charger d'autres packages.
+
+\begin{itemize}
+\item \verb=\RequirePackage{xcolor}=. Le package \TO{xcolor} est utilisé par la classe tango pour définir les couleurs des différents thèmes. Il est appelé sans option, mais vous pouvez le recharger dans le préambule avec des options comme \TO{dvipsnames}, \TO{svgnames} ou \TO{x11names}.
+\item\verb=\RequirePackage{mathtools}=. Le package \TO{mathtools} charge le package \TO{amsmath}.
+\item\verb=\RequirePackage{geometry}=. Utilisé par tango pour définir l'empagement des différents formats de sortie. Vous pouvez utiliser la commande \verb=\geometry= dans votre préambule pour modifier ce empagement, et même la maquette entière.
+\item\verb=\RequirePackage{enumitem}=. Utilisé par la classe tango pour configurer les différents environnements basés sur \TO{list} (voir la section~\ref{lists}). Ces configurations peuvent être modifiées par l'utilisateur dans le préambule.
+\item\verb=\RequirePackage{titletoc}=. Utilisé par la classe tango pour fixer l'apparence de la table des matières, que l'utilisateur peut modifier dans le préambule.
+\item\verb=\RequirePackage[pagestyles,toctitles,newlinetospace,clearempty,noindentafter]{titlesec}=. Utilisé par la classe tango pour modifier l'apparence des titres de différents niveaux. Ces configurations peuvent être modifiées par l'utilisateur dans le préambule.
+\item\verb=\RequirePackage{ccaption,caption}=. Utilisé par la classe tango pour configurer l'apparence des légendes des figures et des tables. (voir la section~\ref{figtable}).
+\item\verb=\RequirePackage{fontspec}\RequirePackage{unicode-math}=. La classe tango requiert \TO{lualatex} et les fontes opentype, y compris pour la composition des mathématiques. Voir la section~\ref{fnts} ci-dessous.
+\item\verb=\RequirePackage{iflang}=. La classe tango utilise ce package pour envoyer un message d'erreur dans le cas où elle n'a reçu aucune option de langue pour \TO{babel}.
+\item\verb=\RequirePackage{babel}=. Le package babel est appelé sans option. Les options de babel lui seront transmises par la classe tango. %See section~\ref{lang} below.
+\item\verb+\RequirePackage[colorlinks,linkcolor=ColorOne,urlcolor=ColorOne]{hyperref}+.\par Cette configuration d'\TO{hyperref} peut être modifiée en utilisant la commande \verb=\hypersetup= dans le préambule. Vous pouvez aussi utiliser l'option \TO{no-hyperref}.
+\item\verb=\RequirePackage{array,graphicx,microtype,numprint,float,afterpage}=. Ces packages sont chargés mais non explicitement utilisés par tango.
+\end{itemize}
+
+\section{Fontes}\label{fnts}
+
+\subsection{Le système de fontes de tango}
+La fonte principale est Erewhon, une version opentype d'Utopia (une fonte PosScript de type~1 qui fut conçue par Robert \textsc{Slimbach} en 1989, puis donnée au X-consortium par Adobe et figurant finalement sur TeXlive. Contrairement à Utopia, Erewhon, dessinée par Michael \textsc{Sharpe}, couvre un assez grand nombre de langues et offre de nombreuses possibilités accessibles à travers les fonctionnalités du format opentype. Il faut savoir également qu'Adobe commercialise une version opentype d'Utopia, moins riche en glyphes qu'Erewhon, mais pourvue d'une graisse intermédiaire et de corps optiques.
+
+La fonte scientifique est Erewhon~Math, un complément scientifique à Erewhon, conçu par Daniel \textsc{Flipo}. D'un certain point de vue, Erewhon est le pendant opentype de Fourier-Gutenberg, le complément scientifique d'Utopia type~1 conçu par mes soins en 2002. Erewhon~Math offre un grand nombre de fonctionnalités, rendues accessibles par Daniel à travers le package \TO{fourier-otf}. La classe tango ne charge pas le package \TO{fourier-otf} mais propose toutes ses fonctionnalités à travers son système d'options.
+
+La fonte sans sérif de tango est Noto Sans, mise à l'échelle. Il s'agit d'une fonte de texte, supportant les alphabets latin, grec et cyrillique, et pourvue de graisses multiples.
+
+La fonte utilisée pour les Titres de premier niveau (commande \verb=\tgotitle=) est Roboto Condensed Bold (puisque les graisses condensées de Noto Sans ne figurent pas sur TeXlive).
+
+La fonte à chasse fixe est Inconsolatazi4, mise à l'échelle.
+
+Enfin, tango appelle le package fourier-orns: il s'agit d'une fonte de logos et de symboles conçue par mes soins comme complément au système fourier et récemment pourvue d'une version opentype.
+
+\subsection{Utiliser tango avec un autre système de fontes}
+Il est évidemment possible d'utiliser les commandes \verb=\setmainfont=, \verb=\setsansfont= et \verb=\setmonofont= du package \TO{fontspec}, ainsi que la commande \verb=\setmathfont= du package \TO{unicode-math} dans le préambule de votre document afin de modifier les paramètres de la classe tango. Ce ne sont pas des modifications que je recommande. En revanche, la distribution tango pourrait à l'avenir proposer une autre classe pourvue d'un autre système de fontes. Une telle classe Latex pourrait se nommer charlie, ou foxtrot ou zulu…
+
+
+\subsection{“Font commands” et “text font commands”}
+Je nomme ici “Font commands” des commandes dont la portée n'est limitée que par un groupe ou un environnement. Je nomme “Text font commands”, à l'opposé, des commandes dont la portée est limitée à leur argument, lequel ne doit contenir aucun saut de paragraphe. Par exemple, \verb=\bfseries= est une “font command” et \verb=\textbf= est une “text font command”. La raison de ces dénominations, dont j'admets qu'elles sont fort critiquables, est que \verb+\textbf+ est défini de façon interne par :
+\begin{tcolorbox}
+\begin{verbatim}
+\DeclareTextFontCommand{\textbf}{\bfseries}
+\end{verbatim}
+\end{tcolorbox}
+
+Voici ce qui est proposé par la classe tango (voir le tableau~\ref{otfcmd}, \pageref{otfcmd}). Toutes ces commandes devraient fonctionner aussi bien avec Erewhon qu'avec Noto Sans.
+
+\begin{table}[ht]
+\XTabletCommand{\centering\setlength\tabcolsep{9pt}}
+\TabletCommand{\centering}
+\caption{Les commandes opentype de la classe tango}\label{otfcmd}
+\ifTgoTabletOutput\begin{tabular}{l | l | l | l}%
+\else
+\begin{tabular}{llll}%
+\fi
+\hline
+\multicolumn{1}{c}{\textsf{\bfseries Commande}}&
+\multicolumn{1}{c}{\textsf{\bfseries Nature}}&
+\multicolumn{1}{c}{\textsf{\bfseries Exemple}}&
+\multicolumn{1}{c}{\textsf{\bfseries Resultat}}\\
+\hline
+\verb=\superiors=&\textsf{font command} & \verb=1{\superiors re}=&1{\superiors re}\\
+\hline
+\verb=\scinferiors=&\textsf{font command} &\verb={\scinferiors C6H12O3}= &{\scinferiors C6H12O3}\\
+\hline
+\verb=\smartfracs=&\textsf{font command} &\verb=2{\smartfracs1/3}= &2{\smartfracs1/3} \\
+\hline
+\verb=\fullsc=&\textsf{text font command} &\verb=\fullsc{Chapitre}= &\fullsc{Chapitre} \\
+\hline
+\verb=\textsup=&\textsf{text font command} &\verb=1\textsup{re}=&1\textsup{re} \\
+\hline
+\verb=\textscinf=&\textsf{text font command} &\verb=\textscinf{C6H12O3}= &\textscinf{C6H12O3} \\
+\hline
+\verb=\smartfrac=&\textsf{text font command} &\verb=2\smartfrac{3/4}= &2\smartfrac{3/4} \\
+\hline
+\verb=\olddigits=&\textsf{font command} &\verb={\olddigits01234}= &{\olddigits01234} \\
+\hline
+\verb=\liningdigits=&\textsf{font command} &\verb={\olddigits01\liningdigits01}= &{\olddigits01\liningdigits01} \\
+\hline
+\verb=\propdigits=&\textsf{font command} &\verb={\propdigits011\olddigits011}= &{\propdigits011\olddigits011} \\
+\hline
+\verb=\tabulardigits=&\textsf{font command} &\verb={\tabulardigits011\olddigits011}= &{\tabulardigits011\olddigits011} \\
+\hline
+\end{tabular}
+
+
+\end{table}
+
+
+
+%\medskip
+
+
+\section{Utilisation de la classe tango}
+
+\subsection{Généralités}
+Concernant l'interface utilisateur, tango n'est pas très différente des classes \TO{article} ou \TO{book}. La configuration se fait essentiellement à travers le choix des options.
+
+Les utilisateurs avancés devraient se référer à la documentation des différents packages : tout d'abord \TO{unicode-math}, \TO{fontspec}, \TO{mathtools} et \TO{amsmath}. Mais si vous souhaitez, par exemple, changer le style des titres, vous pourrez consulter la documentation \TO{titlesec} ; afin de changer le style d'une liste (enumerate, itemize, etc.), voyez plutôt \TO{enumitem}. Le package \TO{geometry} est essentiel pour quiconque souhaiterait obtenir une mise en page particulière. Et ainsi de suite.
+
+
+
+\subsection{Modification de commandes standard par la classe tango}
+
+Afin que des documents composés avec l'option \TO{article} puissent devenir les chapitres d'un livre composé de façon ultérieure avec l'option \TO{book}, la commande \verb+\part+, héritée de la classe \TO{article}, a été désactivée (seulement pour les documents composés avec l'option \TO{article}).
+
+
+De même, la version \TO{article} bénéficie de la commande \verb+\tgotitle+ qui permet de définir le titre principal du document. La version étoilée \verb+\tgotitle*+ existe, mais fait exactement la même chose que la commande non étoilée. Cependant, dans la version \TO{book}, \verb+\tgotitle+ est un alias pour \verb+\chapter+ (et \verb+\tgotitle*+ est de même un alias de \verb+\chapter*+), ainsi, un titre non numéroté dans un polycopié peut facilement devenir le titre numéroté d'un chapitre de livre. Sous réserve évidemment qu'un mécanisme comme \verb+\includeonly+/\verb+\include+ ait été utilisé. Un modèle (pour l'instant en français) est fourni dans le répertoire \TO{examples}.
+
+La commande \verb+\tableofcontents+ ne peut être utilisée qu'avec l'option \TO{book}; elle est désactivée avec l'option \TO{article}: elle est alors remplacée par la commande \verb+\tgoshortoc+ (qui est elle-même désactivée avec l'option \TO{book}). Si vous avez besoin de tables des matières multiples et/ou partielles, il faudra vous tourner vers un package spécialisé.
+
+\subsection{Utiliser deux ou plusieurs formats de sortie}
+Les fonctionnalités décrites ici ont un caractère rudimentaire et sont de nature expérimentale. Elles pourront, selon leur succès, être développées dans les versions ultérieures de la classe tango.
+
+Pour chaque format de sortie, deux commandes particulières sont fournies. Par exemple, dans le cas de l'option \TO{Output=Smartphone}, vous disposez de \verb+\SmartphoneCommand+ et \verb+\XSmartphoneCommand+. L'argument de la commande \verb+\SmartphoneCommand+ n'est pris en compte que si le format de sortie \TO{Smartphone} a été sélectionné. Inversement, l'argument de \verb+\XSmartphoneCommand+ n'est pris en compte que si ce format \emph{n'a pas été} utilisé.
+\begin{example}[Exemples]
+\begin{itemize}
+\item \verb+\SmartphoneCommand{\pagebreak}+ crée un saut de page uniquement pour la sortie smartphone.
+\item \verb+\XSmartphoneCommand{\[<longue formule de maths>\]}+
+\par \verb+\SmartphoneCommand{\begin{multline*}<formule sur plusieurs lignes>\end{multine*}}+
+\par crée une version \TO{multline} (cf. \TO{amsmath}) d'une formule pour la sortie smartphone uniquement.
+\end{itemize}
+\end{example}
+
+Les commandes proposées par tango sont :
+\begin{itemize}
+\item\verb+\AfourCommand+ and \verb+\XAfourCommand+ pour la sortie A4paper;
+\item\verb+\LetterCommand+ and \verb+\XLetterCommand+pour la sortie letter;
+\item\verb+\AfiveCommand+ and \verb+\XAfiveCommand+ pour la sortie A5paper;
+\item\verb+\BigTabletCommand+ and \verb+\XBigTabletCommand+ pour la sortie BigTablet;
+\item\verb+\TabletCommand+ and \verb+\XTabletCommand+ pour la sortie Tablet;
+\item\verb+\SmallTabletCommand+ and \verb+\XSmallTabletCommand+ pour la sortie SmallTablet;
+\item\verb+\eReaderCommand+ and \verb+\XeReaderCommand+ pour la sortie eReader;
+\item\verb+\SmartphoneCommand+ and \verb+\XSmartphoneCommand+ pour la sortie Smartphone.
+\end{itemize}
+\subsection{Tous les thèmes de couleur}
+\indent\par
+\hspace*{0pt}\hfil\showtheme{Blue}\hfil\showtheme{Azur}\hfil\showtheme{Navy}\hfil\showtheme{USAF}\hfil%
+\showtheme{Framboise}\hfil\null
+\par\bigskip\par
+\hspace*{0pt}\hfil\showtheme{Red}\hfil\showtheme{Brique}\hfil\showtheme{Caramel}\hfil\showtheme{Sienne}\hfil\showtheme{Olive}\hfil\null
+\par\bigskip\par
+\hspace*{0pt}\hfil\showtheme{Tannen}\hfil\showtheme{GrayGray}\hfil\showtheme{Steel}\hfil\showtheme{Ink}\hfil\showtheme{BlackAndWhite}\hfil\null
+
+\section{Sélection de la langue}\label{lang}
+Il est impératif de passer une option de langue à babel par l'intermédiaire de la classe tango : cela est vrai même pour les personnes de langue anglaise. Un message d'erreur sera généré par la classe tango si celle-ci n'a reçu aucune option de langue à transmettre à \TO{babel} ; si vous ignorez ce message, vous devrez travailler sans aucun motif de césure.
+
+Tango possède également certains mots réservés qui sont (lorsque l'option french est passée à tango) :
+
+\begin{tcolorbox}
+\begin{verbatim}
+\renewcommand\TgoTheoremName{Théorème}
+\renewcommand\TgoDefinitionName{Définition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemme}
+\renewcommand\TgoCorollaryName{Corollaire}
+\renewcommand\TgoRemarkName{Remarque}
+\renewcommand\TgoExampleName{Exemple}
+\renewcommand\TgoContentsName{Sommaire}
+\renewcommand\TgoExerciseName{Exercice}
+\renewcommand\TgoExercisesSubsectionName{Exercices}
+\renewcommand\TgoExercisesSectionName{Exercices}
+\end{verbatim}
+\end{tcolorbox}
+
+Même si toute option de langue reconnue par babel sera (en principe) prise en compte dès lors qu'elle est passée à tango, la traduction de ces mots réservés n'a lieu que pour les langues suivantes :
+\begin{itemize}
+\item\TO{french};
+\item\TO{english, british, american, canadian, australian, newzealand};
+\item\TO{german, ngerman, naustrian, nswissgerman};
+\item\TO{italian};
+\item\TO{spanish}.
+\end{itemize}
+
+Les autres langues bénéficient des facilités offertes par babel, mais les mots réservés de tango ne sont pas traduits.
+Voici donc ce que peuvent faire les utilisateurs concernés.
+\begin{enumerate}
+\item Utiliser \verb+\renewcommand+ pour faire ces traductions eux-mêmes.
+\item (Mieux) me communiquer par mail toute l'information nécessaire (au moins l'option de langue utilisée pour babel et une traduction des mots réservés) de façon à ce que je puisse procéder aux adaptations nécessaires.
+\end{enumerate}
+
+\section{Théorèmes et énoncés divers}\label{st-section}
+
+\subsection{Éléments prédéfinis}
+Les environnements permettant de saisir les divers énoncés indispensables aux enseignants de mathématiques (définitions, théorèmes, propositions, etc.) sont définis grâce à la commande \verb+\newstatement+ dont la syntaxe est :
+\begin{tcolorbox}
+\begin{verbatim}
+\newstatement{<environnement>}{<compteur>}{<nom-générique-de-l'énoncé>}[<font-command-optionnelle>]
+\end{verbatim}
+\end{tcolorbox}
+Par exemple, les environnements, \TO{thm}, \TO{defin}, \TO{propo}, \TO{coro} et \TO{lem} ont été définis par quelque chose comme :
+\begin{tcolorbox}
+\begin{verbatim}
+\newcounter{thm} \newstatement{thm}{thm}{Théorème}[\itshape]
+\newcounter{defin} \newstatement{defin}{defin}{Définition}
+\newcounter{propo} \newstatement{propo}{propo}{Proposition}[\itshape]
+\newcounter{coro} \newstatement{coro}{coro}{Corollaire}
+\newcounter{lem} \newstatement{lem}{lem}{Lemme}
+\end{verbatim}
+\end{tcolorbox}
+
+Si vous saisissez
+%
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}[pons asinorum]
+Les angles à la base d'un triangle isocèle sont égaux.
+\end{thm}
+\end{verbatim}
+\end{tcolorbox}
+%
+vous obtenez
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}[pons asinorum]
+Les angles à la base d'un triangle isocèle sont égaux.
+\end{thm}
+
+Comme vous pouvez le voir, chaque énoncé défini à l'aide de \verb+\newstatement+ dispose d'un argument optionnel délimité par des crochets (dont le contenu s'affiche entre parenthèses après le nom et le numéro de l'énoncé). Notez également que ces environnements ne devraient pas être utilisés à l'intérieur d'un autre environnement basé sur \TO{list} (comme \TO{center, quote, enumerate, itemize}…).
+
+Pour chaque type d'énoncé défini à l'aide de \verb+\newstatement+ existe également
+\begin{itemize}
+\item une forme étoilée non numérotée:
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{coro*}
+Les angles à la base d'un triangle isocèle sont égaux.
+\end{coro*}
+\end{verbatim}
+\end{tcolorbox}
+\end{itemize}
+\begin{coro*}
+Les angles à la base d'un triangle isocèle sont égaux.
+\end{coro*}
+\begin{itemize}
+\item un premier argument optionnel délimité par \verb+< >+ qui permet de remplacer localement le nom générique de l'énoncé.
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{thm*}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+possède au moins une racine complexe.
+\end{thm*}
+\end{verbatim}
+\end{tcolorbox}
+\end{itemize}
+\begin{thm*}<Théorème de d'Alembert-Gauss>[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes possède au moins une racine complexe.
+\end{thm*}
+
+
+\subsection{Configurer vos propres types énoncés}
+Si vous avez besoin d'un nouveau type d'énoncé, disons un environnement \TO{axm} pour les axiomes, c'est tout simple:
+\begin{tcolorbox}
+\begin{verbatim}
+\newcounter{axio} \newstatement{axm}{axio}{Axiom}
+\end{verbatim}
+\end{tcolorbox}
+Remarquez bien qu'il vous revient alors de définir le compteur utilisé par cet environnement : si ce compteur n'existe pas déjà, il vous faut le créer à l'aide de la commande \verb+\newcounter+. Bien sûr, le nom du compteur peut être différent de celui de l'environnement. Si vous avez utilisé l'option \TO{no-statement}, vous aurez d'ailleurs à définir tous les types d'énoncé dont vous avez besoin, avec des noms et des compteurs de votre choix.
+
+\subsection{Redéfinir des types d'énoncés}
+La commande \verb+\newstatement+ a pour compagnon \verb+\renewstatement+ qui permet de redéfinir l'environnement associé à un type d'énoncé préexistant. Précisément, vous devez employer \verb+\renewstatement{foo}…+ plutôt que \verb+\newstatement{foo}…+ si et seulement si l'environnement \verb+foo+ a déjà été défini.
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Vous pouvez redéfinir l'environnement \TO{propo} de telle façon qu'il utilise le même compteur que l'environnement \TO{thm} avec un contenu affiché en caractères romains:
+\begin{tcolorbox}
+\begin{verbatim}
+\renewstatement{propo}{thm}{Proposition}
+\setcounter{thm}{0}
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}
+Les angles à la base d'un triangle isocèle sont égaux.
+\end{thm}
+\end{verbatim}
+\end{tcolorbox}
+\end{enumerate}
+\renewstatement{propo}{thm}{Proposition}
+\setcounter{thm}{0}
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}
+Les angles à la base d'un triangle isocèle sont égaux.
+\end{thm}
+
+\begin{enumerate}[resume]
+\item Si vous venez de terminer la saisie en Latex de \emph{l'intégralité} de votre traité d'algèbre, lequel contient propositions, théorèmes et corollaires, et que vous réalisez maintenant que ce que vous voulez c'est qu'il n'y ait plus de différence entre propositions, théorèmes et corollaires, les trois types d'énoncés devant être composés en italique, se nommer \frquote{proposition} et être numérotés avec le même compteur, vous pouvez simplement saisir dans le préambule:
+
+\begin{tcolorbox}
+\begin{verbatim}
+\renewstatement{coro}{thm}{Proposition}[\itshape]
+\renewstatement{propo}{thm}{Proposition}[\itshape]
+\renewstatement{thm}{thm}{Proposition}[\itshape]
+\end{verbatim}
+\end{tcolorbox}
+Alors avec
+\begin{tcolorbox}
+\begin{verbatim}
+\setcounter{thm}{0}
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}
+La somme de deux entiers pairs est un entier pair.\end{thm}
+\begin{coro}
+Si deux entiers ont la même parité, leur somme est un entier pair.
+\end{coro}
+\end{verbatim}
+\end{tcolorbox}
+vous obtiendrez:
+\end{enumerate}
+\renewstatement{coro}{thm}{Proposition}[\itshape]
+\renewstatement{propo}{thm}{Proposition}[\itshape]
+\renewstatement{thm}{thm}{Proposition}[\itshape]
+\setcounter{thm}{0}
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}
+La somme de deux entiers pairs est un entier pair.
+\end{thm}
+\begin{coro}
+Si deux entiers ont la même parité, leur somme est un entier pair.
+\end{coro}
+%
+au lieu de
+%
+\setcounter{thm}{0}\setcounter{propo}{0}
+\renewstatement{thm}{thm}{Théorème}[\itshape]
+\renewstatement{propo}{propo}{Proposition}[\itshape]
+\renewstatement{coro}{coro}{Corollaire}
+\begin{propo}
+La somme de deux entiers impairs est un entier pair.
+\end{propo}
+\begin{thm}
+La somme de deux entiers pairs est un entier pair.
+\end{thm}
+\begin{coro}
+Si deux entiers ont la même parité, leur somme est un entier pair.
+\end{coro}
+\begin{enumerate}[resume]
+\item Pour finir, \verb+\renewstatement+ et \verb+\newstatement+ ont une forme étoilée qui permet d'obtenir un type d'énoncé dont le numéro est affiché avant le nom. Mieux, si le compteur utilisé pour ce type d'énoncé est \TO{subsection} ou \TO{subsubsection}, les titres de ces énoncés sont affichés avec la même apparence et le même placement que les titres de subsection ou de subsubsection; bien sûr ce placement dépend de la valeur de \TO{notitleindent}.
+\begin{tcolorbox}
+\begin{verbatim}
+\renewstatement*{thm}{thm}{Theorème}
+\begin{thm}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+ possède au moins une racine complexe.
+\end{thm}
+\renewstatement*{thm}{subsection}{Theorème}[\itshape]
+\begin{thm}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+ possède au moins une racine complexe.
+\end{thm}
+\renewstatement*{thm}{subsubsection}{Theorème}
+\begin{thm}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+ possède au moins une racine complexe.
+\end{thm}
+\end{verbatim}
+\end{tcolorbox}
+\end{enumerate}
+\end{example}
+\renewstatement*{thm}{thm}{Theorème}
+\begin{thm}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+ possède au moins une racine complexe.
+\end{thm}
+\renewstatement*{thm}{subsection}{Theorème}[\itshape]
+\begin{thm}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+ possède au moins une racine complexe.
+\end{thm}
+\renewstatement*{thm}{subsubsection}{Theorème}
+\begin{thm}<Théorème de d'Alembert-Gauss>
+[théorème fondamental de l'algèbre]
+Tout polynôme non constant à coefficients complexes
+ possède au moins une racine complexe.
+\end{thm}
+
+
+
+\section{Exercices}
+\subsection{Commandes permettant la mise en forme d'exercices}
+La classe tango fournit la commande \verb+\exo+ qui permet de présenter des énoncés d'exercices numérotés (le compteur est \TO{tgoexo}). Il existe une version étoilée, sans numéro. Comme pour les types d'énoncés, l'argument optionnel entre crochets permet d'obtenir un complément au titre, composé entre parenthèses et la première option, balisée par \frquote{\TO{< >}} permet d'obtenir un titre de substitution.
+\begin{tcolorbox}
+\begin{verbatim}
+\exo
+Démontrer que si $G$ est un groupe fini et $H$ un
+sous-groupe de $G$, l'ordre de $H$ divise l'ordre de $G$.
+\exo[théorème de Lagrange]
+Démontrer que si $G$ est un groupe fini et $H$ un
+sous-groupe de $G$, l'ordre de $H$ divise l'ordre de $G$.
+\end{verbatim}
+\end{tcolorbox}
+\exo
+Démontrer que si $G$ est un groupe fini et $H$ un
+sous-groupe de $G$, l'ordre de $H$ divise l'ordre de $G$.
+\exo[théorème de Lagrange]
+Démontrer que si $G$ est un groupe fini et $H$ un
+sous-groupe de $G$, l'ordre de $H$ divise l'ordre de $G$.
+\begin{tcolorbox}
+\begin{verbatim}
+\newcommand\tgostar{\raisebox{-0.5ex}{\large\textborn}}
+\exo*<Problème des restes chinois>[\tgostar\tgostar\tgostar]
+Soit $n_1,\ldots, n_k$ $k$ entiers strictement supérieurs à $1$. Notons $N$
+le produit des $n_i$. Démontrer que si les $n_i$ sont premiers entre eux deux
+à deux et si $a_1,\ldots, a_k$ sont des entiers quelconques, le système
+\begin{align*}
+x&\equiv a_1 \pmod{n_1}\\
+&\!\vdots\\
+x&\equiv a_k \pmod{n_k}
+\end{align*}
+possède une solution, unique modulo $N$.
+\end{verbatim}
+\end{tcolorbox}
+\newcommand\tgostar{\raisebox{-0.5ex}{\large\textborn}}
+\exo*<Problème des restes chinois>[\tgostar\tgostar\tgostar]
+Soit $n_1,\ldots, n_k$ $k$ entiers strictement supérieurs à $1$. Notons $N$
+le produit des $n_i$. Démontrer que si les $n_i$ sont premiers entre eux deux à deux et si
+$a_1,\ldots, a_k$ sont des entiers quelconques, le système
+\begin{align*}
+x&\equiv a_1 \pmod{n_1}\\
+&\!\vdots\\
+x&\equiv a_k \pmod{n_k}
+\end{align*}
+possède une solution, unique modulo $N$.
+\subsection{Environnements secexo et chapexo}
+Ces deux environnements conçus pour présenter une partie consacrée aux exercices à la fin d'une section (dans le cas de \TO{secexo}) ou d'un chapitre (dans le cas de \TO{chapexo}). À l'intérieur de ces environnements, on utilise en principe la commande \verb+\exo+.
+
+Le titre, en capitales et centré, est \frquote{EXERCICES} par défaut; l'argument optionnel entre crochets vous permet d'en choisir un autre. Ce titre est ajouté à la table des matières ou au sommaire.
+
+Enfin, ces commandes possèdent des formes étoilées (\verb+\begin{secexo*)+…\verb+\end{secexo*}+) qui vous permettront de composer ces parties consacrées aux exercices dans un corps plus petit (excepté si la taille de la fonte principale du document est 9pt).
+
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{secexo*}[Exemple d'une partie consacrée aux exercices]
+\exo Démontrer que la somme de deux entiers pairs est un entier pair.
+\exo Démontrer que la somme de deux entiers impairs est un entier pair.
+\end{secexo*}
+\end{verbatim}
+\end{tcolorbox}
+\begin{secexo*}[Exemple d'une partie consacrée aux exercices]
+\exo Démontrer que la somme de deux entiers pairs est un entier pair.
+\exo Démontrer que la somme de deux entiers impairs est un entier pair.
+\end{secexo*}
+
+\section{Listes}\label{lists}
+\subsection{Principes généraux}
+En ce qui concerne les marges, les déplacements horizontaux dans tango se font par pas multiples entiers de \verb+\TgoStandardMargin+. Au chargement de la classe, la valeur de ce paramètre est fixée à 1.5em, ainsi que les retraits d'alinéas et les retraits subis par les titres (à moins que ces valeurs ne soient fixées à zéro). les marqueurs successifs des environnements itemize et enumerate sont donc positionnés à 1.5em, 3em, 4.5em, etc. de la marge principale. Il n'est pas forcément recommandé de changer cette configuration (si vous souhaitez le faire, il convient d'utiliser le package \TO{enumitem}).
+
+\subsection{Environnements basés sur l'environnement list}
+Il existe deux façons de configurer les listes dans tango. La première, active par défaut, est obtenue grâce à la commande \verb+\tgostandardlists+; la seconde grâce à la commande \verb+\tgosmartlists+.
+%
+Avec \verb+\tgostandardlists+, le texte correspondant à un niveau donné est décalé vers la droite (d'une quantité égale à \verb+\TgoStandardMargin+...) par rapport au marqueur correspondant.
+%
+Avec \verb+\tgosmartlists+, à l'inverse, le texte correspondant à un niveau donné est décalé vers la gauche (d'une quantité égale à \verb+\TgoStandardMargin+...) par rapport au marqueur correspondant.
+\renewtgolabels*\tgostandardlists
+
+Voici le comportement par défaut de l'environnement \TO{itemize} (de ce point de vue \TO{enumerate} n'est pas différent).
+\begin{itemize}
+\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\begin{itemize}
+\item Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\begin{itemize}
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+\begin{itemize}
+\item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\end{itemize}
+\item Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam.
+\end{itemize}\end{itemize}
+\item Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\end{itemize}
+
+\bigskip
+
+Et maintenant, avec \verb+\tgosmartlists+ \tgosmartlists
+\begin{itemize}
+\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\begin{itemize}
+\item Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\begin{itemize}
+\item Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+\begin{itemize}
+\item Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla.
+\end{itemize}
+\item Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam.
+\end{itemize}\end{itemize}
+\item Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
+\end{itemize}
+
+Notez que \verb+\tgosmartlists+ peut sembler intéressant lorsque l'on utilise essentiellement le premier niveau de ces environnements.
+Dans la mesure où \verb+\tgosmartlists+ supporte assez mal une construction comme
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{enumerate}
+\item\begin{enumerate}\item
+…
+\end{verbatim}
+\end{tcolorbox}
+fréquente dans la numérotation des questions d'exercices,
+les environnements \TO{secexo} et \TO{chapexo} basculent localement vers \verb+\tgostandardlists+. Cela n'est pas le cas de \verb+\exo+ qui, en en tant que commande, n'a pas de contexte propre, contrairement aux environnements. \tgostandardlists
+
+\subsection{Redéfinition de certains marqueurs de liste pour itemize}
+La classe tango fournit la commande \verb+\renewtgolabels+ qui permet de modifier les marqueurs de l'environnement \TO{itemize}. Les arguments des quatre niveaux sont numérotés de 1 à 4 et doivent être utilisés comme ci-dessous.
+
+\begin{example}[Exemples]
+\begin{itemize}
+\item\verb=\renewtgolabels1{\lefthand}= remplace le marqueur du niveau 1 par le symbole \lefthand.
+\renewtgolabels1{\lefthand}
+\item\verb=\renewtgolabels4{\textbullet}1{\openbullet}3{\textemdash}= change les marqueurs des premier, troisième et quatrième niveaux. Le marquer du niveau 2 est inchangé. Comme vous le voyez, l'ordre des arguments est sans importance. \renewtgolabels4{\textbullet}1{\openbullet}3{\textemdash}
+\end{itemize}
+\end{example}
+
+Il existe également une version étoilée, qui restaure l'état initial des marqueurs (tel qu'au chargement de la classe), soit \verb=\textbullet=, \textbullet, pour le niveaul~1, \verb=\textopenbullet=, \textopenbullet, pour le niveau~2, \verb=\starredbullet=, \starredbullet, pour le niveau~3 et \verb=\textperiodcentered=, \textperiodcentered{} pour le niveau~4 (remarquez que ce sont les valeurs par défaut pour tango, mais \emph{non} pour Latex).
+
+\renewtgolabels*
+\begin{example}[Exemples]
+\begin{itemize}
+\item\verb=\renewtgolabels*= restaure toutes les valeurs initiales.
+\item\verb=\renewtgolabels*2{\textendash}= restaure les valeurs initiales, sauf pour le deuxième niveau qui utilisera désormais \textendash.
+\end{itemize}
+\end{example}
+
+
+\section{Autres environnements}
+En plus des environnements définis pour les types d'énoncés, la classe tango offre les quatre environnements suivants.
+
+\subsection{Environnements remark et example}
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{remark}
+Voici une excellente remarque.
+\end{remark}
+\begin{example}
+Voici un très court exemple.
+\end{example}
+\end{verbatim}
+\end{tcolorbox}
+\begin{remark}
+Voici une excellente remarque.
+\end{remark}
+\begin{example}
+Voici un très court exemple.
+\end{example}
+
+Ces deux environnements ont un argument optionnel entre crochets qui permet de définir un titre alternatif. Par exemple:
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{example}[Remarques]
+\begin{enumerate}
+\item Une première (et excellente) remarque.
+\item Une seconde remarque (encore meilleure, si cela est possible).
+\end{enumerate}
+\end{example}
+\end{verbatim}
+\end{tcolorbox}
+\begin{example}[Remarques]
+\begin{enumerate}
+\item Une première (et excellente) remarque.
+\item Une seconde remarque (encore meilleure, si cela est possible).
+\end{enumerate}
+\end{example}
+
+\subsection{Environnement alert}
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{alert}
+Vous ne devriez pas envisager d'utiliser
+\verb+\expandafter\expandafter\expandafter+
+à moins que vous ne soyez un utilisateur expérimenté de
+\TeX{}, car vous pourriez attraper une terrible migraine.
+\end{alert}
+\end{verbatim}
+\end{tcolorbox}
+\begin{alert}
+Vous ne devriez pas envisager d'utiliser \verb+\expandafter\expandafter\expandafter+
+à moins que vous ne soyez un utilisateur expérimenté de \TeX{}, car vous pourriez attraper une terrible migraine.
+\end{alert}
+
+L'environnement \TO{alert} propose lui aussi un argument optionnel entre crochets.
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{alert}[\bomb]
+Vous ne devriez pas envisager d'utiliser
+\verb+\expandafter\expandafter\expandafter+
+à moins que vous ne soyez un utilisateur expérimenté de
+\TeX{}, car vous pourriez attraper une terrible migraine.
+\end{alert}
+\end{verbatim}
+\end{tcolorbox}
+\begin{alert}[\bomb]
+Vous ne devriez pas envisager d'utiliser
+\verb+\expandafter\expandafter\expandafter+
+à moins que vous ne soyez un utilisateur expérimenté de
+\TeX{}, car vous pourriez attraper une terrible migraine.
+\end{alert}
+
+\subsection{Environnement proof}
+L'environnement \TO{proof} est une adaptation de ce que fournit le package \TO{amsthm}. Un titre alternatif est rendu possible grâce à l'argument optionnel entre crochets. La commande \verb+\qedhere+ est également utilisable.
+\renewstatement{thm}{thm}{Théorème}[\itshape]
+\setcounter{thm}{0}
+\begin{tcolorbox}
+\begin{verbatim}
+\begin{thm}
+La somme de deux entiers impairs est un entier pair.
+\end{thm}
+\begin{proof}
+Soit $p$ et $q$ deux entiers impairs. Nous devons
+établir qu'il existe un entier $n$ tel que $p+q=2n$.
+Nous connaissons l'existence d'un entier $p_1$
+et d'un entier $q_1$ tels que
+\[p=2p_1+1\text{ et } q=2q_1+1,\]
+par conséquent
+\begin{align*}p+q&=(2p_1+1)+(2q_1+1)\\
+&=2\underbrace{(p_1+q_1+1)}_{n}\qedhere
+\end{align*}
+\end{proof}
+\end{verbatim}
+\end{tcolorbox}
+\begin{thm}
+La somme de deux entiers impairs est un entier pair.
+\end{thm}
+\begin{proof}
+Soit $p$ et $q$ deux entiers impairs. Nous devons
+établir qu'il existe un entier $n$ tel que $p+q=2n$.
+Nous connaissons l'existence d'un entier $p_1$
+et d'un entier $q_1$ tels que
+\[p=2p_1+1\text{ et } q=2q_1+1,\]
+par conséquent
+\begin{align*}p+q&=(2p_1+1)+(2q_1+1)\\
+&=2\underbrace{(p_1+q_1+1)}_{n}\qedhere
+\end{align*}
+\end{proof}
+
+\section{Figures, tableaux, flottants et légendes}\label{figtable}
+Grâce au package \TO{caption}, les commandes suivantes ont été définies:
+\begin{itemize}
+\item\verb+\tgofigcaption+ (pour les figures);
+\item and \verb+\tgotabcaption+ (pour les tableaux).
+\end{itemize}
+Ces deux commandes permettent d'obtenir des légendes de même apparence que ce que ferait la commande \verb+\caption+, mais fonctionnent également dans le cas d'objets non flottants.
+
+Ainsi il devient possible d'inclure des tableaux et des figures en position fixe, sans que rien ne permette de les distinguer des objets flottants (dont l'usage reste recommandé dans la plupart des cas).
+
+\end{document}
diff --git a/macros/luatex/latex/tango/examples/Ch-1-15.tex b/macros/luatex/latex/tango/examples/Ch-1-15.tex
new file mode 100644
index 0000000000..4f3d7984d1
--- /dev/null
+++ b/macros/luatex/latex/tango/examples/Ch-1-15.tex
@@ -0,0 +1,1312 @@
+\chapter[Comment \bname{Candide} fut élevé…]
+{Comment \bname{Candide} fut élevé dans un\\ beau château,\\ et comment il fut
+chassé d’icelui}
+
+
+\lettrine{I}{l y avait} en \bname{Westphalie}, dans le château de M.~le baron de
+Thunder-ten-tronckh, un jeune garçon à qui la nature avait donné les
+mœurs les plus douces. Sa physionomie annonçait son âme. Il avait le
+jugement assez droit, avec l’esprit le plus simple; c’est, je crois,
+pour cette raison qu’on le nommait \bname{Candide}. Les anciens domestiques de
+la maison soupçonnaient qu’il était fils de la sœur de M.~le
+baron et d’un bon et honnête gentilhomme du voisinage, que cette
+demoiselle ne voulut jamais épouser parce qu’il n’avait pu prouver que
+soixante et onze quartiers, et que le reste de son arbre généalogique
+avait été perdu par l’injure du temps.
+
+M. le baron était un des plus puissants seigneurs de la
+\bname{Westphalie}, car son château avait une porte et des fenêtres. Sa grande
+salle même était ornée d’une tapisserie. Tous les chiens de ses
+basses-cours composaient une meute dans le besoin; ses palefreniers
+étaient ses piqueurs; le vicaire du village était son grand-aumônier.
+Ils l’appelaient tous \bname{Monseigneur}, et ils riaient quand il faisait des
+contes.
+
+M\up{me} la baronne, qui pesait environ trois cent cinquante livres,
+s’attirait par là une très grande considération, et faisait les honneurs
+de la maison avec une dignité qui la rendait encore plus respectable.
+Sa fille \bname{Cunégonde}, âgée de dix-sept ans, était haute en couleur,
+fraîche, grasse, appétissante. Le fils du baron paraissait en tout
+digne de son père. Le précepteur \bname{Pangloss} était l’oracle de la
+maison, et le petit \bname{Candide} écoutait ses leçons avec toute la bonne foi
+de son âge et de son caractère.
+
+
+
+
+\bname{Pangloss} enseignait la métaphysico-théologo-cosmo\-lo\-ni\-go\-logie. Il
+prouvait admirablement qu’il n’y a point d’effet sans cause, et que,
+dans ce meilleur des mondes possibles, le château de monseigneur le
+baron était le plus beau des châteaux, et madame la meilleure des
+baronnes possibles.
+
+
+
+\frquote{Il est démontré, disait-il, que les choses ne peuvent être autrement;
+car tout étant fait pour une fin, tout est nécessairement pour la
+meilleure fin. Remarquez bien que les nez ont été faits pour porter des
+lunettes; aussi avons-nous des lunettes. Les jambes sont visiblement
+instituées pour être chaussées, et nous avons des chausses. Les pierres
+ont été formées pour être taillées et pour en faire des châteaux; aussi
+monseigneur a un très beau château: le plus grand baron de la province
+doit être le mieux logé; et les cochons étant faits pour être mangés,
+nous mangeons du porc toute l’année: par conséquent, ceux qui ont
+avancé que tout est bien ont dit une sottise; il fallait dire que tout
+est au mieux.}
+
+
+
+\bname{Candide} écoutait attentivement, et croyait innocemment; car il trouvait
+M\up{lle}~\bname{Cunégonde} extrêmement belle, quoiqu’il ne prît jamais la
+hardiesse de le lui dire. Il concluait qu’après le bonheur d’être né
+baron de Thunder-ten-tronckh, le second degré de bonheur était d’être
+M\up{lle}~\bname{Cunégonde}; le troisième, de la voir tous les jours; et le
+quatrième, d’entendre maître \bname{Pangloss}, le plus grand philosophe de la
+province, et par conséquent de toute la terre.
+
+
+Un jour \bname{Cunégonde}, en se promenant auprès du château, dans le petit
+bois qu’on appelait \emph{parc}, vit entre des broussailes le docteur
+\bname{Pangloss} qui donnait une leçon de physique expérimentale à la femme de
+chambre de sa mère, petite brune très jolie et très docile. Comme
+M\up{lle}~\bname{Cunégonde} avait beaucoup de dispositions pour les sciences,
+elle observa, sans souffler, les expériences réitérées dont elle fut
+témoin; elle vit clairement la raison suffisante du docteur, les effets
+et les causes, et s’en retourna tout agitée, toute pensive, toute
+remplie du désir d’être savante, songeant qu’elle pourrait bien être la
+raison suffisante du jeune \bname{Candide},\linebreak qui pouvait aussi être la sienne.
+
+Elle rencontra \bname{Candide} en revenant au château, et rougit: \bname{Candide}
+rougit aussi. Elle lui dit bonjour d’une voix entrecoupée; et \bname{Candide}
+lui parla sans savoir ce qu’il disait. Le lendemain, après le dîner,
+comme on sortait de table, \bname{Cunégonde} et \bname{Candide} se trouvèrent derrière
+un paravent; \bname{Cunégonde} laissa tomber son mouchoir, \bname{Candide} le ramassa;
+elle lui prit innocemment la main; le jeune homme baisa innocemment la
+main de la jeune demoiselle avec une vivacité, une sensibilité, une
+grâce toute particulière; leurs bouches se rencontrèrent, leurs yeux
+s’enflammèrent, leurs genoux tremblèrent, leurs mains s’égarèrent.
+M.~le baron de Thunder-ten-tronckh passa auprès du paravent, et voyant
+cette cause et cet effet, chassa \bname{Candide} du château à grands coups de
+pied dans le derrière. \bname{Cunégonde} s’évanouit: elle fut souffletée par
+M\up{me}~la baronne dès qu’elle fut revenue à elle-même; et tout fut
+consterné dans le plus beau et le plus agréable des châteaux possibles.
+
+
+
+
+\chapter{Ce que devint \bname{Candide} parmi les Bulgares}
+
+
+\lettrine{C}{andide}, chassé du paradis terrestre, marcha longtemps sans savoir où,
+pleurant, levant les yeux au ciel, les tournant souvent vers le plus
+beau des châteaux qui renfermait la plus belle des baronnettes; il se
+coucha sans souper au milieu des champs entre deux sillons; la neige
+tombait à gros flocons. \bname{Candide}, tout transi, se traîna le lendemain
+vers la ville voisine, qui s’appelle Valdberghoff-trarbk-dikdorff,
+n’ayant point d’argent, mourant de faim et de lassitude. Il s’arrêta
+tristement à la porte d’un cabaret. Deux hommes habillés de bleu le
+remarquèrent: «Camarade, dit l’un, voilà un jeune homme très bien fait,
+et qui a la taille requise.» Ils s’avancèrent vers \bname{Candide} et le
+prièrent à dîner très civilement. «Messieurs, leur dit \bname{Candide} avec une
+modestie charmante, vous me faites beaucoup d’honneur, mais je n’ai pas
+de quoi payer mon écot. — Ah! monsieur, lui dit un des bleus, les
+personnes de votre figure et de votre mérite ne paient jamais rien:
+n’avez-vous pas cinq pieds cinq pouces de haut? — Oui, messieurs, c’est
+ma taille, dit-il en faisant la révérence. — Ah! monsieur, mettez-vous à
+table; non seulement nous vous défraierons, mais nous ne souffrirons
+jamais qu’un homme comme vous manque d’argent; les hommes ne sont faits
+que pour se secourir les uns les autres. — Vous avez raison, dit \bname{Candide};
+c’est ce que M. \bname{Pangloss} m’a toujours dit, et je vois bien que tout est
+au mieux.» On le prie d’accepter quelques écus, il les prend et veut
+faire son billet; on n’en veut point, on se met à table. «N’aimez-vous
+pas tendrement?… — Oh! oui, répond-il, j’aime tendrement M\up{lle}~\bname{Cunégonde}. — Non, dit l’un de ces messieurs, nous vous demandons si vous
+n’aimez pas tendrement le roi des Bulgares? — Point du tout, dit-il, car
+je ne l’ai jamais vu. — Comment! c’est le plus charmant des rois, et il
+faut boire à sa santé. — Oh! très volontiers, messieurs.» Et il boit. «C’en
+est assez, lui dit-on, vous voilà l’appui, le soutien, le défenseur, le
+héros des Bulgares; votre fortune est faite, et votre gloire est
+assurée.» On lui met sur-le-champ les fers aux pieds, et on le mène au
+régiment. On le fait tourner à droite, à gauche, hausser la baguette,
+remettre la baguette, coucher en joue, tirer, doubler le pas, et on lui
+donne trente coups de bâton; le lendemain, il fait l’exercice un peu
+moins mal, et il ne reçoit que vingt coups; le surlendemain, on ne lui
+en donne que dix, et il est regardé par ses camarades comme un prodige.
+
+
+\bname{Candide}, tout stupéfait, ne démêlait pas encore trop bien comment il
+était un héros. Il s’avisa un beau jour de printemps de s’aller
+promener, marchant tout droit devant lui, croyant que c’était un
+privilège de l’espèce humaine, comme de l’espèce animale, de se servir
+de ses jambes à son plaisir. Il n’eut pas fait deux lieues que voilà
+quatre autres héros de six pieds qui l’atteignent, qui le lient, qui le
+mènent dans un cachot. On lui demanda juridiquement ce qu’il aimait le
+mieux d’être fustigé trente-six fois par tout le régiment, ou de
+recevoir à-la-fois douze balles de plomb dans la cervelle. Il eut beau
+dire que les volontés sont libres, et qu’il ne voulait ni l’un ni
+l’autre, il fallut faire un choix; il se détermina, en vertu du don de
+Dieu qu’on nomme \textit{liberté}, à passer trente-six fois par les baguettes;
+il essuya deux promenades. Le régiment était composé de deux mille
+hommes; cela lui composa quatre mille coups de baguette, qui, depuis la
+nuque du cou jusqu’au cul, lui découvrirent les muscles et les nerfs.
+Comme on allait procéder à la troisième course, \bname{Candide}, n’en pouvant
+plus, demanda en grâce qu’on voulût bien avoir la bonté de lui casser
+la tête; il obtint cette faveur; on lui bande les yeux; on le fait
+mettre à genoux. Le roi des Bulgares passe dans ce moment, s’informe du
+crime du patient; et comme ce roi avait un grand génie, il comprit, par
+tout ce qu’il apprit de \bname{Candide}, que c’était un jeune métaphysicien
+fort ignorant des choses de ce monde, et il lui accorda sa grâce avec
+une clémence qui sera louée dans tous les journaux et dans tous les
+siècles. Un brave chirurgien guérit \bname{Candide} en trois semaines avec les
+émollients enseignés par \bname{Dioscoride}. Il avait déjà un peu de peau et
+pouvait marcher, quand le roi des Bulgares livra bataille au roi des
+Abares.
+
+
+
+\chapter[Comment \bname{Candide} se sauva…]{Comment \bname{Candide} se sauva d’entre\\ les Bulgares, et ce qu’il devint}
+
+
+\lettrine{R}{ien} n’était si beau, si leste, si brillant, si bien ordonné que les
+deux armées. Les trompettes, les fifres, les hautbois, les tambours,
+les canons, formaient une harmonie telle qu’il n’y en eut jamais en
+enfer. Les canons renversèrent d’abord à peu près six mille hommes de
+chaque côté; ensuite la mousqueterie ôta du meilleur des mondes environ
+neuf à dix mille coquins qui en infectaient la surface. La baïonnette
+fut aussi la raison suffisante de la mort de quelques milliers
+d’hommes. Le tout pouvait bien se monter à une trentaine de mille âmes.
+\bname{Candide}, qui tremblait comme un philosophe, se cacha du mieux qu’il put
+pendant cette boucherie héroïque.
+
+Enfin, tandis que les deux rois faisaient chanter des \textit{Te Deum}, chacun
+dans son camp, il prit le parti d’aller raisonner ailleurs des effets
+et des causes. Il passa par-dessus des tas de morts et de mourants, et
+gagna d’abord un village voisin; il était en cendres: c’était un
+village abare que les Bulgares avaient brûlé, selon les lois du droit
+public. Ici des vieillards criblés de coups regardaient mourir leurs
+femmes égorgées, qui tenaient leurs enfants à leurs mamelles
+sanglantes; là des filles éventrées après avoir assouvi les besoins
+naturels de quelques héros, rendaient les derniers soupirs; d’autres à
+demi brûlées criaient qu’on achevât de leur donner la mort. Des
+cervelles étaient répandues sur la terre à côté de bras et de jambes
+\bname{coupés}.
+
+\bname{Candide} s’enfuit au plus vite dans un autre village: il appartenait à
+des Bulgares, et les héros abares l’avaient traité de même. \bname{Candide},
+toujours marchant sur des membres palpitants ou à travers des ruines,
+arriva enfin hors du théâtre de la guerre, portant quelques petites
+provisions dans son bissac, et n’oubliant jamais M\up{lle}~\bname{Cunégonde}. Ses provisions lui manquèrent quand il fut en \bname{Hollande}; mais
+ayant entendu dire que tout le monde était riche dans ce pays-là, et
+qu’on y était chrétien, il ne douta pas qu’on ne le traitât aussi bien
+qu’il l’avait été dans le château de M.~le baron, avant qu’il en eût
+été chassé pour les beaux yeux de M\up{lle}~\bname{Cunégonde}.
+
+Il demanda l’aumône à plusieurs graves personnages, qui lui répondirent
+tous que, s’il continuait à faire ce métier, on l’enfermerait dans une
+maison de correction pour lui apprendre à vivre.
+
+Il s’adressa ensuite à un homme qui venait de parler tout seul une
+heure de suite sur la charité dans une grande assemblée. Cet orateur le
+regardant de travers lui dit: «Que venez-vous faire ici? y êtes-vous
+pour la bonne cause? — Il n’y a point d’effet sans cause, répondit
+modestement \bname{Candide}; tout est enchaîné nécessairement et arrangé pour
+le mieux. Il a fallu que je fusse chassé d’auprès de M\up{lle}~\bname{Cunégonde}, que j’aie passé par les baguettes, et il faut que je demande
+mon pain, jusqu’à ce que je puisse en gagner; tout cela ne pouvait être
+autrement. — Mon ami, lui dit l’orateur, croyez-vous que le pape soit
+l’antechrist? — Je ne l’avais pas encore entendu dire, répondit \bname{Candide}:
+mais qu’il le soit, ou qu’il ne le soit pas, je manque de pain. — Tu ne
+mérites pas d’en manger, dit l’autre: va, coquin, va, misérable, ne
+m’approche de ta vie.» La femme de l’orateur ayant mis la tête à la
+fenêtre, et avisant un homme qui doutait que le pape fût antechrist,
+lui répandit sur le chef un plein… Ô ciel! à quel excès se porte le
+zèle de la religion dans les dames!
+
+Un homme qui n’avait point été baptisé, un bon anabaptiste, nommé
+Jacques, vit la manière cruelle et
+ignominieuse dont on traitait ainsi
+un de ses frères, un être à deux pieds sans plumes, qui avait une âme;
+il l’amena chez lui, le nettoya, lui donna du pain et de la bière, lui
+fit présent de deux florins, et voulut même lui apprendre à travailler
+dans ses manufactures aux étoffes de Perse qu’on fabrique en \bname{Hollande}.
+\bname{Candide} se prosternant presque devant lui, s’écriait: «Maître \bname{Pangloss}
+me l’avait bien dit que tout est au mieux dans ce monde, car je suis
+infiniment plus touché de votre extrême générosité que de la dureté de
+ce monsieur à manteau noir, et de madame son épouse.»
+
+Le lendemain, en se promenant, il rencontra un gueux tout couvert de
+pustules, les yeux morts, le bout du nez rongé, la bouche de travers,
+les dents noires, et parlant de la gorge, tourmenté d’une toux
+violente, et crachant une dent à chaque effort.
+
+
+
+
+
+\chapter[Comment \bname{Candide} rencontra…]{Comment \bname{Candide} rencontra son ancien maître de\\ philosophie, le docteur
+\bname{Pangloss}, et ce qui en advint}
+
+
+\lettrine{C}{andide}, plus ému encore de compassion que d’horreur, donna à cet
+épouvantable gueux les deux florins qu’il avait reçus de son honnête
+anabaptiste Jacques. \textls[-10]{Le fantôme le regarda fixement, versa des larmes,
+et sauta à son cou. \bname{Candide} effrayé recule. «Hélas! dit le misérable à
+l’autre misérable, ne reconnaissez-vous plus votre cher \bname{Pangloss}?
+— Qu’entends-je? vous, mon cher maître! vous, dans cet état horrible!
+Quel malheur vous est-il donc arrivé? Pourquoi n’êtes-vous plus dans le
+plus beau des châteaux? qu’est devenue M\up{lle}~\bname{Cunégonde}, la perle
+des filles, le chef-d’œuvre de la nature? — Je n’en peux plus, dit
+\bname{Pangloss}.» Aussitôt \bname{Candide} le mena dans l’étable de l’anabaptiste, où
+il lui fit manger un peu de pain; et quand \bname{Pangloss} fut refait: «Eh
+bien! lui dit-il, \bname{Cunégonde}? — Elle est morte, reprit l’autre.»} \bname{Candide}
+s’évanouit à ce mot: son ami rappela ses sens avec un peu de mauvais
+vinaigre qui se trouva par hasard dans l’étable. \bname{Candide} rouvre les
+yeux. «\bname{Cunégonde} est morte! Ah! meilleur des mondes, où êtes-vous? Mais
+de quelle maladie est-elle morte? ne serait-ce point de m’avoir vu
+chasser du beau château de monsieur son père à grands coups de pied?
+— Non, dit \bname{Pangloss}, elle a été éventrée par des soldats bulgares, après
+avoir été violée autant qu’on peut l’être; ils ont cassé la tête à
+M. le baron qui voulait la défendre; M\up{me}~la baronne a été
+coupée en morceaux; mon pauvre pupille traité précisément comme sa
+sœur; et quant au château, il n’est pas resté pierre sur pierre, pas
+une grange, pas un mouton, pas un canard, pas un arbre; mais nous avons
+été bien vengés, car les Abares en ont fait autant dans une baronnie
+voisine qui appartenait à un seigneur bulgare.»
+
+À ce discours, \bname{Candide} s’évanouit encore; mais revenu à soi, et ayant
+dit tout ce qu’il devait dire, il s’enquit de la cause et de l’effet,
+et de la raison suffisante qui avait mis \bname{Pangloss} dans un si piteux
+état. «Hélas! dit l’autre, c’est l’amour: l’amour, le consolateur du
+genre humain, le conservateur de l’univers, l’âme de tous les êtres
+sensibles, le tendre amour. — Hélas! dit \bname{Candide}, je l’ai connu cet
+amour, ce souverain des cœurs, cette âme de notre âme; il ne m’a
+jamais valu qu’un baiser et vingt coups de pied au cul. Comment cette
+belle cause a-t-elle pu produire en vous un effet si abominable?»
+
+\bname{Pangloss} répondit en ces termes: «Ô mon cher \bname{Candide}! vous avez connu
+\bname{Paquette}, cette jolie suivante de notre auguste baronne: j’ai goûté
+dans ses bras les délices du paradis, qui ont produit ces tourments
+d’enfer dont vous me voyez dévoré; elle en était infectée, elle en est
+peut-être morte. \bname{Paquette} tenait ce présent d’un cordelier très savant
+qui avait remonté à la source, car il l’avait eu d’une vieille
+comtesse, qui l’avait reçu d’un capitaine de cavalerie, qui le devait à
+une marquise, qui le tenait d’un page, qui l’avait reçu d’un jésuite,
+qui, étant novice, l’avait eu en droite ligne d’un des compagnons de
+Christophe Colomb. Pour moi, je ne le donnerai à personne, car je me
+meurs.
+
+
+— Ô \bname{Pangloss}! s’écria \bname{Candide}, voilà une étrange généalogie! n’est-ce pas
+le diable qui en fut la souche? — Point du tout, répliqua ce grand homme;
+c’était une chose indispensable dans le meilleur des mondes, un
+ingrédient nécessaire; car si \bname{Colomb} n’avait pas attrapé dans une île
+de \mbox{l’Amérique} cette maladie qui empoisonne la source de la
+génération,
+ qui souvent même empêche la génération, et qui est
+évidemment l’opposé du grand but de la nature, nous n’aurions ni le
+chocolat ni la cochenille; il faut encore observer que
+jusqu’aujourd’hui, dans notre continent, cette maladie nous est
+particulière, comme la controverse. Les \bname{Turcs}, les \bname{Indiens}, les
+\bname{Persans}, les \bname{Chinois}, les \bname{Siamois}, les \bname{Japonais}, ne la connaissent pas
+encore; mais il y a une raison suffisante pour qu’ils la connaissent à
+leur tour dans quelques siècles. En attendant elle a fait un
+merveilleux progrès parmi nous, et surtout dans ces grandes armées
+composées d’honnêtes stipendiaires bien élevés, qui décident du destin
+des états; on peut assurer que, quand trente mille hommes combattent en
+bataille rangée contre des troupes égales en nombre, il y a environ
+vingt mille vérolés de chaque côté.
+
+— Voilà qui est admirable, dit \bname{Candide}; mais il faut vous faire guérir.
+— Et comment le puis-je? dit \bname{Pangloss}; je n’ai pas le sou, mon ami, et
+dans toute l’étendue de ce globe on ne peut ni se faire saigner, ni
+prendre un lavement sans payer, ou sans qu’il y ait quelqu’un qui paie
+pour nous.»
+
+\looseness=-1
+Ce dernier discours détermina \bname{Candide}; il alla se jeter aux pieds de
+son charitable anabaptiste Jacques, et lui fit une peinture si
+touchante de l’état où son ami était réduit, que le bonhomme n’hésita
+pas à recueillir le docteur \bname{Pangloss}; il le fit guérir à ses dépens.
+\bname{Pangloss}, dans la cure, ne perdit qu’un œil et une oreille. Il
+écrivait bien, et savait parfaitement l’arithmétique. L’anabaptiste
+Jacques en fit son teneur de livres. Au bout de deux mois, étant obligé
+d’aller à \bname{Lisbonne} pour les affaires de son commerce, il mena dans son
+vaisseau ses deux philosophes. \bname{Pangloss} lui expliqua comment tout était
+on ne peut mieux. Jacques n’était pas de cet avis. «Il faut bien,
+disait-il, que les hommes aient un peu corrompu la nature, car ils ne
+sont point nés loups, et ils sont devenus loups. Dieu ne leur a donné
+ni canons de vingt-quatre, ni baïonnettes, et ils se sont fait des
+baïonnettes et des canons pour se détruire. Je pourrais mettre en ligne
+de compte les banqueroutes, et la justice qui s’empare des biens des
+banqueroutiers pour en frustrer les créanciers. — Tout cela était
+indispensable, répliquait le docteur borgne, et les malheurs
+particuliers font le bien général; de sorte que plus il y a de malheurs
+particuliers, et plus tout est bien.» Tandis qu’il raisonnait, l’air
+s’obscurcit, les vents soufflèrent des quatre coins du monde, et le
+vaisseau fut assailli de la plus horrible tempête, à la vue du port de
+\bname{Lisbonne}.
+
+
+
+
+
+\chapter[Tempête, naufrage, tremblement de terre…]{Tempête, naufrage, tremblement de terre,\\et ce qui advint du docteur
+\bname{Pangloss}, de \bname{Candide},\\et de l’anabaptiste Jacques}
+
+
+\lettrine[findent=-3pt,nindent=0.6em]{L}{a moitié}
+des passagers affaiblis, expirants de ces angoisses
+inconcevables que le roulis d’un vaisseau porte dans les nerfs et dans
+toutes les humeurs du corps agitées en sens contraires, n’avait pas
+même la force de s’inquiéter du danger. L’autre moitié jetait des cris
+et faisait des prières; les voiles étaient déchirées, les mâts brisés,
+le vaisseau entr’ouvert. Travaillait qui pouvait, personne ne
+s’entendait, personne ne commandait. L’anabaptiste aidait un peu à la
+manœuvre; il était sur le tillac; un matelot furieux le frappe
+rudement et l’étend sur les planches; mais du coup qu’il lui donna, il
+eut lui-même une si violente secousse, qu’il tomba hors du vaisseau, la
+tête la première. Il restait suspendu et accroché à une partie de mât
+rompu. Le bon Jacques court à son secours, l’aide à remonter, et de
+l’effort qu’il fait, il est précipité dans la mer à la vue du matelot,
+qui le laissa périr sans daigner seulement le regarder. \bname{Candide}
+approche, voit son bienfaiteur qui reparaît un moment, et qui est
+englouti pour jamais. Il veut se jeter après lui dans la mer: le
+philosophe \bname{Pangloss} l’en empêche, en lui prouvant que la rade de
+\bname{\bname{Lisbonne}} avait été formée exprès pour que cet anabaptiste s’y noyât.
+Tandis qu’il le prouvait \textit{a priori}, le vaisseau s’entr’ouvre, tout
+périt à la réserve de \bname{Pangloss}, de \bname{Candide}, et de ce brutal de
+matelot
+qui avait noyé le vertueux anabaptiste; le coquin nagea heureusement
+jusqu’au rivage, où \bname{Pangloss} et \bname{Candide} furent portés sur une planche.
+
+Quand ils furent revenus un peu à eux, ils marchèrent vers \bname{Lisbonne}; il
+leur restait quelque argent, avec lequel ils espéraient se sauver de la
+faim après avoir échappé à la \bname{tempête}.
+
+
+À peine ont-ils mis le pied dans la ville, en pleurant la mort de leur
+bienfaiteur, qu’ils sentent la terre trembler sous leurs pas; la mer
+s’élève en bouillonnant dans le port, et brise les vaisseaux qui sont à
+l’ancre. Des tourbillons de flammes et de cendres couvrent les rues et
+les places publiques; les maisons s’écroulent, les toits sont renversés
+sur les fondements, et les fondements se dispersent; trente mille
+habitants de tout âge et de tout sexe sont écrasés sous des ruines. Le
+matelot disait en sifflant et en jurant: «Il y aura quelque chose à
+gagner ici. — Quelle peut être la raison suffisante de ce phénomène?
+disait \bname{Pangloss}. — Voici le dernier jour du monde!» s’écriait \bname{Candide}. Le matelot court incontinent au milieu des débris, affronte la mort pour
+trouver de l’argent, en trouve, s’en empare, s’enivre, et ayant cuvé
+son vin, achète les faveurs de la première fille de bonne volonté qu’il
+rencontre sur les ruines des maisons détruites, et au milieu des
+mourants et des morts. \bname{Pangloss} le tirait cependant par la manche: «Mon
+ami, lui disait-il, cela n’est pas bien, vous manquez à la raison
+universelle, vous prenez mal votre temps. — Tête et sang, répondit
+l’autre, je suis matelot et né à Batavia; j’ai marché quatre fois sur
+le crucifix dans quatre voyages au Japon; tu as bien trouvé ton
+homme avec ta \linebreak raison universelle!»
+
+
+Quelques éclats de pierre avaient blessé \bname{Candide}; il était étendu dans
+la rue et couvert de débris. Il disait à \bname{Pangloss}: «Hélas! procure-moi
+un peu de vin et d’huile; je me meurs. — Ce tremblement de terre n’est
+pas une chose nouvelle, répondit \bname{Pangloss}; la ville de Lima éprouva les
+mêmes secousses en Amérique l’année passée; mêmes causes, mêmes effets;
+il y a certainement une traînée de soufre sous terre depuis Lima
+jusqu’à \bname{Lisbonne}. — Rien n’est plus probable, dit \bname{Candide}; mais, pour
+Dieu, un peu d’huile et de vin. — Comment probable? répliqua le
+philosophe, je soutiens que la chose est démontrée.» \bname{Candide} perdit
+connaissance, et \bname{Pangloss} lui apporta un peu d’eau d’une fontaine
+voisine.
+
+\textls[-10]{Le lendemain, ayant trouvé quelques provisions de bouche en se glissant
+à travers des décombres,} ils réparèrent un peu leurs forces. Ensuite
+ils travaillèrent comme les autres à soulager les habitants échappés à
+la mort. Quelques citoyens, secourus par eux, leur donnèrent un aussi
+bon dîner qu’on le pouvait dans un tel désastre: il est vrai que le
+repas était triste; les convives arrosaient leur pain de leurs larmes;
+mais \bname{Pangloss} les consola, en les assurant que les choses ne pouvaient
+être autrement: «Car, dit-il, tout ceci est ce qu’il y a de mieux; car
+s’il y a un volcan à \bname{Lisbonne}, il ne pouvait être ailleurs; car il est
+impossible que les choses ne soient pas où elles sont, car tout est
+bien.»
+
+
+Un petit homme noir, familier de l’inquisition, lequel était à côté de
+lui, prit poliment la parole et dit: «Apparemment que monsieur ne croit
+pas au péché originel; car si tout est au mieux, il n’y a donc eu ni
+chute ni punition.
+
+— Je demande très humblement pardon à votre excellence, répondit \bname{Pangloss}
+encore plus poliment, car la chute de l’homme et la malédiction
+entraient nécessairement dans le meilleur des mondes possibles.
+— \bname{Monsieur} ne croit donc pas à la liberté? dit le familier. — Votre
+excellence m’excusera, dit \bname{Pangloss}; la liberté peut subsister avec la
+nécessité absolue; car il était nécessaire que nous fussions libres;
+car enfin la volonté déterminée…» \bname{Pangloss} était au milieu de sa
+phrase, quand le familier fit un signe de tête à son estafier qui lui
+servait à boire du vin de Porto ou d’Oporto.
+
+
+
+
+
+\chapter[Comment on fit un bel auto-da-fé…]{Comment on fit un bel auto-da-fé pour empêcher les\\tremblements de
+terre, et comment \bname{Candide} fut fessé}
+
+
+\lettrine{A}{près} le tremblement de terre qui avait détruit les trois quarts de
+\bname{Lisbonne}, les sages du pays n’avaient pas trouvé un moyen plus efficace
+pour prévenir une ruine totale que de donner au peuple un bel
+auto-da-fé; il était décidé par l’université de Coïmbre que le
+spectacle de quelques personnes brûlées à petit feu, en grande
+cérémonie, est un secret infaillible pour empêcher la terre de
+trembler.
+
+On avait en conséquence saisi un Biscayen convaincu d’avoir épousé sa
+commère, et deux Portugais qui en mangeant un poulet en avaient arraché
+le lard: on vint lier après le dîner le docteur \bname{Pangloss} et son
+disciple \bname{Candide}, l’un pour avoir parlé, et l’autre pour l’avoir écouté
+avec un air d’approbation: tous deux furent menés séparément dans des
+appartements d’une extrême fraîcheur, dans lesquels on n’était jamais
+incommodé du soleil: huit jours après ils furent tous deux
+revêtus d’un
+\emph{san-benito}, et on orna leurs têtes de mitres de papier: la mitre et le
+san-benito de \bname{Candide} étaient peints de flammes renversées, et de
+diables qui n’avaient ni queues ni griffes; mais les diables de
+\bname{Pangloss} portaient griffes et queues, et les flammes étaient droites.
+Ils marchèrent en procession ainsi vêtus, et entendirent un sermon très
+pathétique, suivi d’une belle musique en faux-bourdon. \bname{Candide} fut
+fessé en cadence, pendant qu’on chantait; le Biscayen et les deux
+hommes qui n’avaient point voulu manger de lard furent
+brûlés, et
+\bname{Pangloss} fut pendu, quoique ce ne soit pas la coutume. Le même jour la
+terre trembla de nouveau avec un fracas épouvantable.
+
+\bname{Candide} épouvanté, interdit, éperdu, tout sanglant, tout palpitant, se
+disait à lui-même: «Si c’est ici le meilleur des mondes possibles, que
+sont donc les autres? passe encore si je n’étais que fessé, je l’ai été
+chez les Bulgares; mais, ô mon cher \bname{Pangloss}! le plus grand des
+philosophes, faut-il vous avoir vu pendre, sans que je sache pourquoi!
+ô mon cher anabaptiste! le meilleur des hommes, faut-il que vous ayez
+été noyé dans le port! Ô mademoiselle~\bname{Cunégonde}! la perle des filles,
+faut-il qu’on vous ait fendu le ventre!»
+
+Il s’en retournait, se soutenant à peine, prêché, fessé, absous, et
+béni, lorsqu’une vieille l’aborda, et lui dit: «Mon fils, prenez
+courage, suivez-moi.»
+
+
+
+
+
+
+\chapter[Comment une vieille prit soin de \bname{Candide}…]{Comment une vieille prit soin de \bname{Candide},\\et comment il retrouva ce
+qu’il aimait}
+
+\lettrine{C}{andide} ne prit point courage, mais il suivit la vieille dans une
+masure: elle lui donna un pot de pommade pour se frotter, lui laissa à
+manger et à boire; elle lui montra un petit lit assez propre; il y
+avait auprès du lit un habit complet. «Mangez, buvez, dormez, lui
+dit-elle, et que Notre-Dame d’Atocha, M\up{gr} saint Antoine de
+Padoue, et M\up{gr} saint Jacques de Compostelle prennent soin de
+vous! je reviendrai demain.» \bname{Candide}, toujours étonné de tout ce qu’il
+avait vu, de tout ce qu’il avait souffert, et encore plus de la charité
+de la vieille, voulut lui baiser la main. «Ce n’est pas ma main qu’il
+faut baiser, dit la vieille; je reviendrai demain. Frottez-vous de
+pommade, mangez et dormez.»
+
+
+
+\bname{Candide}, malgré tant de malheurs, mangea et dormit. Le lendemain la
+vieille lui apporte à déjeuner, visite son dos, le frotte elle-même
+d’une autre pommade: elle lui apporte ensuite à dîner: elle revient sur
+le soir et apporte à souper. Le surlendemain elle fit encore les mêmes
+cérémonies. «Qui êtes-vous? lui disait toujours \bname{Candide}; qui vous a
+inspiré tant de bonté? quelles grâces puis-je vous rendre?» La bonne
+femme ne répondait jamais rien. Elle revint sur le soir, et n’apporta
+point à souper: «Venez avec moi, dit-elle, et ne dites mot.» Elle le
+prend sous le bras, et marche avec lui dans la campagne environ un
+quart de mille: ils arrivent à une maison isolée, entourée de jardins
+et de canaux. La vieille frappe à une petite porte. On ouvre; elle mène
+\bname{Candide}, par un escalier dérobé, dans un cabinet doré, le laisse sur un
+canapé de brocart, referme la porte, et s’en va. \bname{Candide} croyait rêver,
+et regardait toute sa vie comme un songe funeste, et le moment présent
+comme un songe agréable.
+
+\textls[-5]
+{La vieille reparut bientôt; elle soutenait avec peine une femme
+tremblante, d’une taille majestueuse, brillante de pierreries, et
+couverte d’un voile. «Ôtez ce voile», dit la vieille à \bname{Candide}. Le jeune
+homme approche; il lève le voile d’une main timide. Quel moment! quelle
+surprise! il croit voir M\up{lle}~\bname{Cunégonde}; il la voyait en effet,
+c’était elle-même. La force lui manque, il ne peut proférer une parole,
+il tombe à ses pieds. \bname{Cunégonde} tombe sur le canapé. La vieille les
+accable d’eaux spiritueuses, ils reprennent leurs sens, ils se parlent:
+ce sont d’abord des mots entrecoupés, des demandes et des réponses qui
+se croisent, des soupirs, des larmes, des cris. La vieille leur
+recommande de faire moins de bruit, et les laisse en liberté. «Quoi!
+c’est vous, lui dit \bname{Candide}, vous vivez! Je vous retrouve en Portugal!
+On ne vous a donc pas violée? on ne vous a point fendu le ventre, comme
+le philosophe \bname{Pangloss} me l’avait assuré?» — Si fait, dit la belle
+\bname{Cunégonde}; mais on ne meurt pas toujours de ces deux accidents. — Mais
+votre père et votre mère ont-ils été tués? — Il n’est que trop vrai, dit
+\bname{Cunégonde} en pleurant. — Et votre frère? — Mon frère a été tué aussi. — Et
+pourquoi êtes-vous en Portugal? et comment avez-vous su que j’y étais?
+et par quelle étrange aventure m’avez-vous fait conduire dans cette
+maison? — Je vous dirai tout cela, répliqua la dame; mais il faut
+auparavant que vous m’appreniez tout ce qui vous est arrivé depuis le
+baiser innocent que vous me donnâtes, et les coups de pied que vous
+reçûtes.»}
+
+
+
+\bname{Candide} lui obéit avec un profond respect; et quoiqu’il fût interdit,
+quoique sa voix fût faible et tremblante, quoique l’échine lui fît
+encore un peu mal, il lui raconta de la manière la plus naïve tout ce
+qu’il avait éprouvé depuis le moment de leur séparation. \bname{Cunégonde}
+levait les yeux au ciel: elle donna des larmes à la mort du bon
+anabaptiste et de \bname{\bname{Pangloss}}; après quoi elle parla en ces termes à
+\bname{Candide}, qui ne perdait pas une parole, et qui la dévorait des yeux.
+
+
+
+
+
+
+\chapter{Histoire de Cunégonde}
+
+
+\lettrine[ante={«}]{J'}{étais} dans mon lit et je dormais profondément, quand il plut au ciel
+d’envoyer les Bulgares dans notre beau château de Thunder-ten-tronckh;
+ils égorgèrent mon père et mon frère, et coupèrent ma mère par
+morceaux. Un grand Bulgare, haut de six pieds, voyant qu’à ce spectacle
+j’avais perdu connaissance, se mit à me violer; cela me fit revenir, je
+repris mes sens, je criai, je me débattis, je mordis, j’égratignai, je
+voulais arracher les yeux à ce grand Bulgare, ne sachant pas que tout
+ce qui arrivait dans le château de mon père était une chose d’usage: le
+brutal me donna un coup de couteau dans le flanc gauche dont je porte
+encore la marque. — Hélas! j’espère bien la voir, dit le naïf \bname{Candide}.
+— Vous la verrez, dit \bname{Cunégonde}; mais continuons. — Continuez», dit \bname{Candide}.
+
+{\parfillskip=1em
+Elle reprit ainsi le fil de son histoire: «Un capitaine bulgare entra,
+il me vit toute sanglante, et le soldat ne se dérangeait pas. Le
+capitaine se mit en colère du peu de respect que lui témoignait, ce
+brutal, et le tua sur mon corps. Ensuite il me fit panser, et m’emmena
+prisonnière de guerre dans son quartier. Je blanchissais le peu de
+chemises qu’il avait, je faisais sa cuisine; il me trouvait fort jolie,
+il faut l’avouer; et je ne nierai pas qu’il ne fût très bien fait, et
+qu’il n’eût la peau blanche et douce; d’ailleurs peu d’esprit, peu de
+philosophie: on voyait bien qu’il n’avait pas été élevé par le docteur
+\bname{Pangloss}. Au bout de trois mois, ayant perdu tout son argent, et
+s’étant dégoûté de moi, il me vendit à un Juif nommé don Issachar, qui
+trafiquait en \bname{Hollande} et en Portugal, et qui aimait passionnément les
+femmes. Ce Juif s’attacha beaucoup à ma personne, mais il ne pouvait en
+triompher; je lui ai mieux résisté qu’au soldat bulgare. Une personne
+d’honneur peut être violée une fois, mais sa vertu s’en affermit. Le
+Juif, pour m’apprivoiser, me mena dans cette maison de campagne que
+vous voyez. J’avais cru jusque-là qu’il n’y avait rien sur la terre de
+si beau que le château de Thunder-ten-tronckh; j’ai été détrompée.
+
+}
+
+«Le grand inquisiteur m’aperçut un jour à la messe; il me lorgna
+beaucoup, et me fit dire qu’il avait à me parler pour des affaires
+secrètes. Je fus conduite à son palais; je lui appris ma naissance; il
+me représenta combien il était au-dessous de mon rang d’appartenir à un
+Israélite. On proposa de sa part à don Issachar de me céder à
+monseigneur. Don Issachar, qui est le banquier de la cour, et homme de
+crédit, n’en voulut rien faire. L’inquisiteur le menaça d’un
+auto-da-fé. Enfin mon Juif intimidé conclut un marché par lequel la
+maison et moi leur appartiendraient à tous deux en commun; que le Juif
+aurait pour lui les lundis, mercredis, et le jour du sabbat, et que
+l’inquisiteur aurait les autres jours de la semaine. Il y a six mois
+que cette convention subsiste. Ce n’a pas été sans querelles; car
+souvent il a été indécis si la nuit du samedi au dimanche appartenait à
+l’ancienne loi ou à la nouvelle. Pour moi, j’ai résisté jusqu’à présent
+à toutes les deux; et je crois que c’est pour cette raison que j’ai
+toujours été aimée.
+
+«Enfin, pour détourner le fléau des tremblements de terre, et pour
+intimider don Issachar, il plut à \bname{monseigneur} l’inquisiteur de célébrer
+un auto-da-fé. Il me fit l’honneur de m’y inviter. Je fus très bien
+placée; on servit aux dames des rafraîchissements entre la messe et
+l’exécution. Je fus, à la vérité, saisie d’horreur en voyant brûler ces
+deux Juifs et cet honnête Biscayen qui avait épousé sa commère: mais
+quelle fut ma surprise, mon effroi, mon trouble, quand je vis dans un
+san-benito,
+ et sous une mitre, une figure qui ressemblait à celle de
+\bname{Pangloss}! Je me
+frottai les yeux, je regardai attentivement, je le vis
+pendre; je tombai en faiblesse. À peine reprenais-je mes sens, que je
+vous vis dépouillé tout nu; ce fut là le comble de l’horreur, de la
+consternation, de la douleur, du désespoir. Je vous dirai, avec vérité,
+que votre peau est encore plus blanche, et d’un incarnat plus parfait
+que celle de mon capitaine des Bulgares. Cette vue redoubla tous les
+sentiments qui m’accablaient, qui me dévoraient. Je m’écriai, je voulus
+dire, «Arrêtez, barbares!» mais la voix me manqua, et mes cris auraient
+été inutiles. Quand vous eûtes été bien fessé: \frquote{\localleftbox{« }Comment se peut-il
+faire, disais-je, que l’aimable \bname{Candide} et le sage \bname{Pangloss} se trouvent
+à \bname{Lisbonne}, l’un pour recevoir cent coups de fouet, et l’autre pour
+être pendu par l’ordre de \bname{Monseigneur} l’inquisiteur, dont je suis la
+bien-aimée? \bname{Pangloss} m’a donc bien cruellement trompée, quand il me
+disait que tout va le mieux du monde!}\localleftbox{}
+
+«Agitée, éperdue, tantôt hors de moi-même, et tantôt prête de mourir de
+faiblesse, j’avais la tête remplie du massacre de mon père, de ma mère,
+de mon frère, de l’insolence de mon vilain soldat bulgare, du coup de
+couteau qu’il me donna, de ma servitude, de mon métier de cuisinière,
+de mon capitaine bulgare, de mon vilain don~\bname{Issachar}, de mon abominable
+inquisiteur, de la pendaison du docteur \bname{Pangloss}, de ce grand \emph{Miserere}
+en faux-bourdon pendant lequel on vous fessait, et surtout du baiser
+que je vous avais donné derrière un paravent, le jour que je vous avais
+vu pour la dernière fois. Je louai Dieu, qui vous ramenait à moi par
+tant d’épreuves. Je recommandai à ma vieille d’avoir soin de vous, et
+de vous amener ici dès qu’elle le pourrait. Elle a très bien exécuté ma
+commission; j’ai goûté le plaisir inexprimable de vous revoir, de vous
+entendre, de vous parler. Vous devez avoir une faim dévorante; j’ai
+grand appétit; commençons par souper.»
+
+Les voilà qui se mettent tous deux à table; et, après le souper, ils se
+replacent sur ce beau canapé dont on a déjà parlé; ils y étaient quand
+le signor don Issachar, l’un des maîtres de la maison, arriva. C’était
+le jour du sabbat. Il venait jouir de ses droits, et expliquer son
+tendre amour.
+
+
+
+
+
+\chapter[Ce qui advint de Cunégonde, de Candide…]{Ce qui advint de \bname{Cunégonde}, de \bname{Candide},\\du grand inquisiteur, et d’un
+Juif}
+
+
+\lettrine{C}{et} Issachar était le plus colérique Hébreu qu’on eût vu dans Israël,
+depuis la captivité en Babylone. «Quoi! dit-il, chienne de galiléenne,
+ce n’est pas assez de M. l’inquisiteur? il faut que ce coquin
+partage aussi avec moi?» En disant cela il tire un long poignard dont il
+était toujours pourvu, et, ne croyant pas que son adverse partie eût
+des armes, il se jette sur \bname{Candide}; mais notre bon Westphalien avait
+reçu une belle épée de la vieille avec l’habit complet. Il tire son
+épée, quoiqu’il eût les mœurs fort douces, et vous étend l’Israélite
+roide mort sur le carreau, aux pieds de la belle \bname{Cunégonde}.
+
+«Sainte Vierge! s’écria-t-elle, qu’allons-nous devenir? un homme tué
+chez moi! si la justice vient, nous sommes perdus. — Si \bname{Pangloss} n’avait
+pas été pendu, dit \bname{Candide}, il nous donnerait un bon conseil dans cette
+extrémité, car c’était un grand philosophe. À son défaut, consultons la
+vieille.» Elle était fort prudente, et commençait à dire son avis quand
+une autre petite porte s’ouvrit. Il était une heure après minuit,
+c’était le commencement du dimanche. Ce jour appartenait à monseigneur
+l’inquisiteur. Il entre et voit le fessé \bname{Candide}, l’épée à la main, un
+mort étendu par terre, \bname{Cunégonde} effarée, et la vieille donnant des
+conseils.
+
+Voici dans ce moment ce qui se passa dans l’âme de \bname{Candide}, et comment
+il raisonna: «Si ce saint homme appelle du secours, il me fera
+infailliblement brûler, il pourra en faire autant de \bname{Cunégonde}; il m’a
+fait fouetter impitoyablement; il est mon rival; je suis en train de
+tuer; il n’y a pas à balancer.» Ce raisonnement fut net et rapide; et,
+sans donner le temps à l’inquisiteur de revenir de sa surprise, il le
+perce d’outre en outre, et le jette à côté du Juif. «En voici bien d’une
+autre, dit \bname{Cunégonde}; il n’y a plus de rémission; nous sommes
+excommuniés, notre dernière heure est venue! Comment avez-vous fait,
+vous qui êtes né si doux, pour tuer en deux minutes un Juif et un
+prélat? — Ma belle demoiselle, répondit\bname{Candide}, quand on est amoureux,
+jaloux, et fouetté par l’inquisition, on ne se connaît plus.»
+
+La vieille prit alors la parole, et dit: «Il y a trois chevaux andalous
+dans l’écurie, avec leurs selles et leurs brides, que le brave \bname{Candide}
+les prépare; madame a des moyadors et des diamants, montons vite à
+cheval, quoique je ne puisse me tenir que sur une fesse, et allons à
+Cadix; il fait le plus beau temps du monde, et c’est un grand plaisir
+de voyager pendant la fraîcheur de la nuit.»
+
+Aussitôt \bname{Candide} selle les trois chevaux; \bname{Cunégonde}, la vieille, et
+lui, font trente milles d’une traite. Pendant qu’ils s’éloignaient, la
+Sainte-Hermandad arrive dans la maison, on enterre monseigneur dans une
+belle église, on jette Issachar à la voirie.
+
+\bname{Candide}, \bname{Cunégonde}, et la vieille, étaient déjà dans la petite ville
+\bname{d’Avacéna}, au milieu des montagnes de la Sierra Morena; et ils
+parlaient ainsi dans un cabaret.
+
+
+
+
+\chapter[Dans quelle détresse Candide…]{Dans quelle détresse \bname{Candide}, \bname{Cunégonde},\\et la vieille, arrivent à
+Cadix, et leur embarquement}
+
+
+\lettrine[ante={«}]{Q}{ui a donc} pu me voler mes pistoles et mes diamants? disait en pleurant
+\bname{Cunégonde}; de quoi vivrons-nous? comment ferons-nous? où trouver des
+inquisiteurs et des Juifs qui m’en donnent d’autres? — Hélas! dit la
+vieille, je soupçonne fort un révérend père cordelier, qui coucha hier
+dans la même auberge que nous à \bname{Badajos}; Dieu me garde de faire un
+jugement téméraire! mais il entra deux fois dans notre chambre, et il
+partit longtemps avant nous. — Hélas! dit \bname{Candide}, le bon \bname{Pangloss}
+m’avait souvent prouvé que les biens de la terre sont communs à tous
+les hommes, que chacun y a un droit égal. Ce cordelier devait bien,
+suivant ces principes, nous laisser de quoi achever notre voyage. Il ne
+vous reste donc rien du tout, ma belle \bname{Cunégonde}? — Pas un maravédis,
+dit-elle. — Quel parti prendre? dit \bname{Candide}. — Vendons un des chevaux, dit
+la vieille; je monterai en croupe derrière mademoiselle, quoique je ne
+puisse me tenir que sur une fesse, et nous arriverons à Cadix.»
+
+Il y avait dans la même hôtellerie un prieur de bénédictins; il acheta
+le cheval bon marché. \bname{Candide}, \bname{Cunégonde}, et la vieille, passèrent par
+Lucena, par Chillas, par Lebrixa, et arrivèrent enfin à Cadix. On y
+équipait une flotte, et on y assemblait des troupes pour mettre à la
+raison les révérends pères jésuites du Paraguay, qu’on accusait d’avoir
+fait révolter une de leurs hordes contre les rois d’Espagne et de
+Portugal, auprès de la ville du Saint-Sacrement. \bname{Candide}, ayant
+servi chez les Bulgares, fit l’exercice bulgarien devant le général de
+la petite armée avec tant de grâce, de célérité, d’adresse, de fierté,
+d’agilité, qu’on lui donna une compagnie d’infanterie à commander. Le
+voilà capitaine; il s’embarque avec M\up{lle}~\bname{Cunégonde}, la vieille,
+deux valets, et les deux chevaux andalous qui avaient appartenu à M. le
+grand inquisiteur de Portugal.
+
+\looseness=-1
+Pendant toute la traversée ils raisonnèrent beaucoup sur la philosophie
+du pauvre \bname{Pangloss}. «Nous allons dans un autre univers, disait \bname{Candide};
+c’est dans celui-là, sans doute, que tout est bien: car il faut avouer
+qu’on pourrait gémir un peu de ce qui se passe dans le nôtre en
+physique et en morale. — Je vous aime de tout mon cœur, disait
+\bname{Cunégonde}; mais j’ai encore l’âme tout effarouchée de ce que j’ai vu,
+de ce que j’ai éprouvé. — Tout ira bien, répliquait \bname{Candide}; la mer de ce
+nouveau monde vaut déjà mieux que les mers de notre Europe; elle est
+plus calme, les vents plus constants. C’est certainement le
+nouveau monde qui est le meilleur des univers possibles. — Dieu le
+veuille! disait \bname{Cunégonde}: mais j’ai été si horriblement malheureuse
+dans le mien, que mon cœur est presque fermé à l’espérance. — Vous vous
+plaignez, leur dit la vieille; hélas! vous n’avez pas éprouvé des
+infortunes telles que les miennes.» \bname{Cunégonde} se mit presque à rire, et
+trouva cette bonne femme fort plaisante de prétendre être plus
+malheureuse qu’elle. «Hélas! lui dit-elle, ma bonne, à moins que vous
+n’ayez été violée par deux Bulgares, que vous n’ayez reçu deux coups de
+couteau dans le ventre, qu’on n’ait démoli deux de vos châteaux, qu’on
+n’ait égorgé à vos yeux deux mères et deux pères, et que vous n’ayez vu
+deux de vos amants fouettés dans un auto-da-fé, je ne vois pas que vous
+puissiez l’emporter sur moi; ajoutez que je suis née baronne avec
+soixante et douze quartiers, et que j’ai été cuisinière. — Mademoiselle,
+répondit la vieille, vous ne savez pas quelle est ma naissance; et si
+je vous montrais mon derrière, vous ne parleriez pas comme vous faites,
+et vous suspendriez votre jugement.» Ce discours fit naître une extrême
+curiosité dans l’esprit de \bname{Cunégonde} et de \bname{Candide}. La vieille leur
+parla en ces termes.\quad\null
+
+
+\chapter{Histoire de la vieille}
+
+
+\lettrine[ante=«]{J}{e n’ai} pas eu toujours les yeux éraillés et bordés d’écarlate; mon nez
+n’a pas toujours touché à mon menton, et je n’ai pas toujours été
+servante. Je suis la fille du pape \bname{Urbain}~X et de la princesse de
+\bname{Palestrine}.
+On m’éleva jusqu’à quatorze ans dans un palais auquel
+tous les châteaux de vos barons allemands n’auraient pas servi
+d’écurie; et une de mes robes valait mieux que toutes les magnificences
+de la \bname{Westphalie}. Je croissais en beauté, en grâces, en talents, au
+milieu des plaisirs, des respects, et des espérances: j’inspirais déjà
+de l’amour; ma gorge se formait; et quelle gorge! blanche, ferme,
+taillée comme celle de la Vénus de \bname{Médicis}; et quels yeux! quelles
+paupières! quels sourcils noirs! quelles flammes brillaient dans mes
+deux prunelles, et effaçaient la scintillation des étoiles! comme me
+disaient les poètes du quartier. Les femmes qui m’habillaient et qui me
+déshabillaient tombaient en extase en me regardant par-devant et
+par-derrière; et tous les hommes auraient voulu être à leur place.
+
+
+«Je fus fiancée à un prince souverain de Massa-Carrara: quel prince!
+aussi beau que moi, pétri de douceur et d’agréments, brillant d’esprit
+et brûlant d’amour; je l’aimais comme on aime pour la première fois,
+avec idolâtrie, avec emportement. Les noces furent préparées: c’était
+une pompe, une magnificence inouïe; c’étaient des fêtes, des
+carrousels, des opéra-buffa continuels; et toute l’Italie fit pour moi
+des sonnets dont il n’y eut pas un seul de passable. Je touchais au
+moment
+de mon bonheur, quand une vieille marquise, qui avait été
+maîtresse de mon prince, l’invita à prendre du chocolat chez elle; il
+mourut en moins de deux heures avec des convulsions épouvantables; mais
+ce n’est qu’une bagatelle. Ma mère au désespoir, et bien moins affligée
+que moi, voulut s’arracher pour quelque temps à un séjour si funeste.
+Elle avait une très belle terre auprès de Gaète: nous nous embarquâmes
+sur une galère du pays, dorée comme l’autel de Saint-Pierre de Rome.
+Voilà qu’un corsaire de Salé fond sur nous et nous aborde: nos soldats
+se défendirent comme des soldats du pape; ils se mirent tous à genoux
+en jetant leurs armes, et en demandant au corsaire une absolution \emph{in
+articulo mortis}.
+
+«Aussitôt on les dépouilla nus comme des singes, et ma mère aussi, nos
+filles d’honneur aussi, et moi aussi. C’est une chose admirable que la
+diligence avec laquelle ces messieurs déshabillent le monde; mais ce
+qui me surprit davantage, c’est qu’ils nous mirent à tous le doigt dans
+un endroit où nous autres femmes nous ne nous laissons mettre
+d’ordinaire que des canules. Cette cérémonie me paraissait bien
+étrange: voilà comme on juge de tout quand on n’est pas sorti de son
+pays. J’appris bientôt que c’était pour voir si nous n’avions pas caché
+là quelques diamants; c’est un usage établi de temps immémorial parmi
+les nations policées qui courent sur mer. J’ai su que messieurs les
+religieux chevaliers de Malte n’y manquent jamais quand ils prennent
+des Turcs et des Turques; c’est une loi du droit des gens à laquelle on
+n’a jamais dérogé.
+
+«Je ne vous dirai point combien il est dur pour une jeune princesse
+d’être menée esclave à Maroc avec sa mère: vous concevez assez tout ce
+que nous eûmes à souffrir dans le vaisseau corsaire. Ma mère était
+encore très belle: nos filles d’honneur, nos simples femmes de chambre
+avaient plus de charmes qu’on n’en peut trouver dans toute l’Afrique.
+Pour moi, j’étais ravissante, j’étais la beauté, la grâce même, et
+j’étais pucelle: je ne le fus pas longtemps; cette fleur, qui avait
+été réservée pour le beau prince de Massa-Carrara, me fut ravie par le
+capitaine corsaire; c’était un nègre abominable, qui croyait encore me
+faire beaucoup d’honneur. Certes il fallait que M\up{me} la princesse de
+\bname{Palestrine} et moi fussions bien fortes pour résister à tout ce que nous
+éprouvâmes jusqu’à notre arrivée à Maroc! Mais passons; ce sont des
+choses si communes, qu’elles ne valent pas la peine qu’on en parle.
+
+«Maroc nageait dans le sang quand nous arrivâmes. Cinquante fils de
+l’empereur Muley-Ismaël avaient chacun leur parti; ce qui produisait
+en effet cinquante guerres civiles, de noirs contre noirs, de noirs
+contre basanés, de basanés contre basanés, de mulâtres contre mulâtres:
+c’était un carnage continuel dans toute l’étendue de l’empire.
+
+
+
+«À peine fûmes-nous débarquées, que des noirs d’une faction ennemie de
+celle de mon corsaire se présentèrent pour lui enlever son butin. Nous
+étions, après les diamants et l’or, ce qu’il avait de plus précieux. Je
+fus témoin d’un combat tel que vous n’en voyez jamais dans vos climats
+d’Europe. Les peuples septentrionaux n’ont pas le sang assez ardent;
+ils n’ont pas la rage des femmes au point où elle est commune en
+Afrique. Il semble que vos Européens aient du lait dans les veines;
+c’est du vitriol, c’est du feu qui coule dans celles des habitants du
+mont Atlas et des pays voisins. On combattit avec la fureur des lions,
+des tigres, et des serpents de la contrée, pour savoir qui nous aurait.
+Un Maure saisit ma mère par le bras droit, le lieutenant de mon
+capitaine la retint par le bras gauche; un soldat maure la prit par une
+jambe, un de nos pirates la tenait par l’autre. Nos filles se
+trouvèrent presque toutes en un moment tirées ainsi à quatre soldats.
+Mon capitaine me tenait cachée derrière lui; il avait le cimeterre au
+poing, et tuait tout ce qui s’opposait à sa rage. Enfin je vis toutes
+nos Italiennes et ma mère déchirées, coupées, massacrées par les
+monstres qui se les disputaient. Les captifs, mes compagnons, ceux qui
+les avaient pris, soldats, matelots, noirs, basanés, blancs, mulâtres,
+et enfin mon capitaine, tout fut tué, et je demeurai mourante sur un
+tas de morts. Des scènes pareilles se passaient, comme on sait, dans
+l’étendue de plus de trois cents lieues, sans qu’on manquât aux cinq
+prières par jour ordonnées par Mahomet.
+
+«Je me débarrassai avec beaucoup de peine de la foule de tant de
+cadavres sanglants entassés, et je me traînai sous un grand oranger au
+bord d’un ruisseau voisin; j’y tombai d’effroi, de lassitude,
+d’horreur, de désespoir, et de faim. Bientôt après, mes sens accablés se
+livrèrent à un sommeil qui tenait plus de l’évanouissement que du
+repos. J’étais dans cet état de faiblesse et d’insensibilité, entre la
+mort et la vie, quand je me sentis pressée de quelque chose qui
+s’agitait sur mon corps; j’ouvris les yeux, je vis un homme blanc et de
+bonne mine qui soupirait, et qui disait entre ses dents: \emph{O che
+sciagura d’essere senza coglioni!}
+
+
+
+
+\chapter{Suite des malheurs de la vieille}
+
+
+\lettrine[ante=«]{É}{tonnée} et ravie d’entendre la langue de ma patrie, et non moins
+surprise des paroles que proférait cet homme, je lui répondis qu’il y
+avait de plus grands malheurs que celui dont il se plaignait; je
+l’instruisis en peu de mots des horreurs que j’avais essuyées, et je
+retombai en faiblesse. Il m’emporta dans une maison voisine, me fit
+mettre au lit, me fit donner à manger, me servit, me consola, me
+flatta, me dit qu’il n’avait rien vu de si beau que moi, et que jamais
+il n’avait tant regretté ce que personne ne pouvait lui rendre. \frquote{\localleftbox{« }Je suis
+né à Naples, me dit-il; on y chaponne deux ou trois mille enfants tous
+les ans; les uns en meurent, les autres acquièrent une voix plus belle
+que celle des femmes, les autres vont gouverner des états. On me fit
+cette opération avec un très grand succès, et j’ai été musicien de la
+chapelle de M\up{me} la princesse de \bname{Palestrine}. — De ma mère! m’écriai-je.
+— De votre mère! s’écria-t-il en pleurant. Quoi! vous seriez cette jeune
+princesse que j’ai élevée jusqu’à l’âge de six ans, et qui promettait
+déjà d’être aussi belle que vous êtes? — C’est moi-même; ma mère est à
+quatre cents pas d’ici coupée en quartiers sous un tas de morts…}\localleftbox{}
+
+
+
+
+«Je lui contai tout ce qui m’était arrivé; il me conta aussi ses
+aventures, et m’apprit comment il avait été envoyé chez le roi de Maroc
+par une puissance chrétienne, pour conclure avec ce monarque un traité
+par lequel on lui fournirait de la poudre, des canons, et des
+vaisseaux, pour l’aider à exterminer le commerce des autres chrétiens.
+\frquote{\localleftbox{« }Ma mission est faite, dit cet honnête eunuque; je vais m’embarquer à
+Ceuta, et je vous ramènerai en Italie. \emph{Ma che sciagura d’essere senza
+coglioni!}}\localleftbox{}
+
+
+«Je le remerciai avec des larmes d’attendrissement; et au lieu de me
+mener en Italie, il me conduisit à Alger, et me vendit au dey de cette
+province. À peine fus-je vendue, que cette peste qui a fait le tour de
+l’Afrique, de l’Asie, de l’Europe, se déclara dans Alger avec fureur.
+«Vous avez vu des tremblements de terre; mais, mademoiselle, avez-vous
+jamais eu la peste? — Jamais, répondit la baronne.
+
+%\looseness=1
+— Si vous l’aviez eue, reprit la vieille, vous avoueriez qu’elle est bien
+au-dessus d’un tremblement de terre. Elle est fort commune en Afrique;
+j’en fus attaquée. Figurez-vous quelle situation pour la fille d’un
+pape, âgée de quinze ans, qui en trois mois de temps avait éprouvé la
+pauvreté, l’esclavage, avait été violée presque tous les jours, avait
+vu couper sa mère en quatre, avait essuyé la faim et la guerre, et
+mourait pestiférée dans Alger! Je n’en mourus pourtant pas; mais mon
+eunuque et le dey, et presque tout le sérail \linebreak d’Alger périrent.
+
+
+
+«Quand les premiers ravages de cette épouvantable peste furent passés,
+on vendit les esclaves du dey. Un marchand m’acheta, et me mena à
+Tunis; il me vendit à un autre marchand qui me revendit à Tripoli; de
+Tripoli je fus revendue à Alexandrie, d’Alexandrie revendue à Smyrne;
+de Smyrne à Constantinople. J’appartins enfin à un aga des janissaires,
+qui fut bientôt commandé pour aller défendre Azof contre les Russes qui
+l’assiégeaient.
+
+«L’aga, qui était un très galant homme, mena avec lui tout son sérail,
+et nous logea dans un petit fort sur les Palus-Méotides, gardé par deux
+eunuques noirs et vingt soldats. On tua prodigieusement de Russes, mais
+ils nous le rendirent bien: Azof fut mis à feu et à sang, et on ne
+pardonna ni au sexe, ni à l’âge; il ne resta que notre petit fort; les
+ennemis voulurent nous prendre par famine. Les vingt janissaires
+avaient juré de ne se jamais rendre. Les extrémités de la faim où ils
+furent réduits les contraignirent à manger nos deux eunuques, de peur
+de violer leur serment. Au bout de quelques jours ils résolurent de
+manger les femmes.
+
+
+«Nous avions un iman très pieux et très compatissant, qui leur fit un
+beau sermon par lequel il leur persuada de ne nous pas tuer
+tout-à-fait. \frquote{\localleftbox{« }Coupez, dit-il, seulement une fesse à chacune de ces
+dames, vous ferez très bonne chère; s’il faut y revenir, vous en aurez
+encore autant dans quelques jours; le ciel vous saura gré d’une action
+si charitable, et vous serez secourus.}\localleftbox{}
+
+«Il avait beaucoup d’éloquence; il les persuada: on nous fit cette
+horrible opération; l’iman nous appliqua le même baume qu’on met aux
+enfants qu’on vient de circoncire: nous étions toutes à la mort.
+
+
+«À peine les janissaires eurent-ils fait le repas que nous leur avions
+fourni, que les Russes arrivent sur des bateaux plats; pas un
+janissaire ne réchappa. Les Russes ne firent aucune attention à l’état
+où nous étions. Il y a partout des chirurgiens français: un d’eux qui
+était fort adroit prit soin de nous, il nous guérit; et je me
+souviendrai toute ma vie, que quand mes plaies furent bien fermées, il
+me fit des propositions. Au reste, il nous dit à toutes de nous
+consoler; il nous assura que dans plusieurs sièges pareille chose était
+arrivée, et que c’était la loi de la guerre.
+
+
+«Dès que mes compagnes purent marcher, on les fit aller à Moscou;
+j’échus en partage à un boyard qui me fit sa jardinière, et qui me
+donnait vingt coups de fouet par jour; mais ce seigneur ayant été roué
+au bout de deux ans avec une trentaine de boyards pour quelque
+tracasserie de cour, je profitai de cette aventure; je m’enfuis; je
+traversai toute la Russie; je fus longtemps servante de cabaret à
+Riga, puis à Rostock, à Vismar, à Leipsick, à Cassel, à Utrecht, à
+Leyde, à La Haye, à Rotterdam: j’ai vieilli dans la misère et dans
+l’opprobre, n’ayant que la moitié d’un derrière, me souvenant toujours
+que j’étais fille d’un pape; je voulus cent fois me tuer, mais j’aimais
+encore la vie. Cette faiblesse ridicule est peut-être un de nos
+penchants les plus funestes; car y a-t-il rien de plus sot que de
+vouloir porter continuellement un fardeau qu’on veut toujours jeter par
+terre; d’avoir son être en horreur, et de tenir à son être; enfin de
+\bname{caresser} le serpent qui nous dévore, jusqu’à ce qu’il nous ait \linebreak mangé le
+cœur?
+
+
+
+«J’ai vu dans les pays que le sort m’a fait parcourir, et dans les
+cabarets où j’ai servi, un nombre prodigieux de personnes qui avaient
+leur existence en exécration; mais je n’en ai vu que douze qui aient
+mis volontairement fin à leur misère, trois nègres, quatre Anglais,
+quatre Genevois, et un professeur allemand nommé Robeck. J’ai fini
+par être servante chez le Juif don Issachar; il me mit auprès de vous,
+ma belle demoiselle; je me suis attachée à votre destinée, et j’ai été
+plus occupée de vos aventures que des miennes. Je ne vous aurais même
+jamais parlé de mes malheurs, si vous ne m’aviez pas un peu piquée, et
+s’il n’était d’usage, dans un vaisseau, de conter des histoires pour se
+désennuyer. Enfin, mademoiselle, j’ai de l’expérience, je connais le
+monde; donnez-vous un plaisir, engagez chaque passager à vous conter
+son histoire, et s’il s’en trouve un seul qui n’ait souvent maudit sa
+vie, qui ne se soit souvent dit à lui-même qu’il était le plus
+malheureux des hommes, jetez-moi dans la mer la tête la première.»
+
+
+
+
+\chapter[Comment Candide fut obligé de se séparer…]{Comment \bname{Candide} fut obligé de se séparer\\de la belle \bname{Cunégonde} et de la
+vieille}
+
+
+\lettrine{L}{a belle} \bname{Cunégonde}, ayant entendu l’histoire de la vieille, lui fit
+toutes les politesses qu’on devait à une personne de son rang et de son
+mérite. Elle accepta la proposition; elle engagea tous les passagers,
+l’un après l’autre, à lui conter leurs aventures. \bname{Candide} et elle
+avouèrent que la vieille avait raison. C’est bien dommage, disait
+\bname{Candide}, que le sage \bname{Pangloss} ait été pendu contre la coutume dans un
+auto-da-fé; il nous dirait des choses admirables sur le mal physique et
+sur le mal moral qui couvrent la terre et la mer, et je me sentirais
+assez de force pour oser lui faire respectueusement quelques
+objections.
+
+À mesure que chacun racontait son histoire, le vaisseau avançait. On
+aborda dans \bname{Buenos} Aires. \bname{Cunégonde}, le capitaine \bname{Candide}, et la
+vieille, allèrent chez le gouverneur don \bname{Fernando} \bname{d’Ibaraa}, y Figueora,
+y \bname{Mascarenes}, y \bname{Lampourdos}, y Souza. Ce seigneur avait une fierté
+convenable à un homme qui portait tant de noms. Il parlait aux hommes
+avec le dédain le plus noble, portant le nez si haut, élevant si
+impitoyablement la voix, prenant un ton si imposant, affectant une
+démarche si altière, que tous ceux qui le saluaient étaient tentés de
+le battre. Il aimait les femmes à la fureur. \bname{Cunégonde} lui parut ce
+qu’il avait jamais vu de plus beau. La première chose qu’il fit fut de
+demander si elle n’était point la femme du capitaine. L’air dont il fit
+cette question alarma \bname{Candide}: il n’osa pas dire qu’elle était sa
+femme, parce qu’en effet elle ne l’était point; il n’osait pas dire que
+c’était sa sœur, parce qu’elle ne l’était pas non plus; et quoique ce
+mensonge officieux eût été autrefois très à la mode chez les
+anciens, et qu’il pût être utile aux modernes, son âme était trop
+pure pour trahir la vérité. «M\up{lle}~\bname{Cunégonde}, dit-il, doit me
+faire l’honneur de m’épouser, et nous supplions Votre Excellence de
+daigner faire notre noce.»
+
+Don Fernando d’Ibaraa, y Figueora, y Mascarenes, y \bname{Lampourdos}, y Souza,
+relevant sa moustache, sourit amèrement, et ordonna au \mbox{capitaine}
+\bname{Candide} d’aller faire la revue de sa compagnie. \bname{Candide} obéit; le
+gouverneur demeura avec M\up{lle}~\bname{Cunégonde}. Il lui déclara sa
+passion, lui protesta que le lendemain il l’épouserait à la face de
+l’Église, ou autrement, ainsi qu’il plairait à ses charmes. \bname{Cunégonde}
+lui demanda un quart d’heure pour se recueillir, pour consulter la
+vieille, et pour se déterminer.
+
+La vieille dit à \bname{Cunégonde}: «Mademoiselle, vous avez soixante et douze
+quartiers et pas une obole; il ne tient qu’à vous d’être la femme du
+plus grand seigneur de l’Amérique méridionale, qui a une très belle
+moustache; est-ce à vous de vous piquer d’une fidélité à toute épreuve?
+Vous avez été violée par les Bulgares; un Juif et un inquisiteur ont eu
+vos bonnes grâces: les malheurs donnent des droits. J’avoue que si
+j’étais à votre place, je ne ferais aucun scrupule d’épouser M.~le gouverneur, et de faire la fortune de M.~le capitaine \bname{Candide}.»
+Tandis que la vieille parlait avec toute la prudence que l’âge et
+l’expérience donnent, on vit entrer dans le port un petit vaisseau; il
+portait un alcade et des alguazils, et voici ce qui était arrivé.
+
+La vieille avait très bien deviné que ce fut un cordelier à la grande
+manche qui vola l’argent et les bijoux de \bname{Cunégonde} dans la ville de
+\bname{Badajos}, lorsqu’elle fuyait en hâte avec \bname{Candide}. Ce moine voulut
+vendre quelques unes des
+pierreries
+à un joaillier. Le marchand les
+reconnut pour celles du grand-inquisiteur. Le cordelier, avant d’être
+pendu, avoua qu’il les avait volées: il indiqua les personnes, et la
+route qu’elles prenaient. La fuite de \bname{Cunégonde} et de \bname{Candide} était
+déjà connue. On les suivit à Cadix: on envoya, sans perdre de temps, un
+vaisseau à leur poursuite. Le vaisseau était déjà dans le port de
+\bname{Buenos} Aires. Le bruit se répandit qu’un alcade allait débarquer, et
+qu’on poursuivait les meurtriers de monseigneur le grand inquisiteur.
+La prudente vieille vit dans l’instant tout ce qui était à faire. «Vous
+ne pouvez fuir, dit-elle à \bname{Cunégonde}, et vous n’avez rien à craindre;
+ce n’est pas vous qui avez tué monseigneur, et d’ailleurs le
+gouverneur, qui vous aime, ne souffrira pas qu’on vous maltraite;
+demeurez.» Elle court sur-le-champ à \bname{Candide}: «Fuyez, dit-elle, ou dans
+une heure vous allez être brûlé. Il n’y avait pas un moment à perdre»;
+mais comment se séparer de \bname{Cunégonde}, et où se réfugier?
+
+
+
+
+\chapter[Comment Candide et \bname{Cacambo} furent reçus…]{Comment \bname{Candide} et \bname{Cacambo} furent reçus\\chez les jésuites du Paraguay}
+
+
+\lettrine{C}{andide} avait amené de Cadix un valet tel qu’on en trouve beaucoup sur
+les côtes d’Espagne et dans les colonies. C’était un quart \bname{d’Espagnol},
+né d’un métis dans le Tucuman; il avait été enfant de chœur,
+sacristain, matelot, moine, facteur, soldat, laquais. Il s’appelait
+\bname{Cacambo}, et aimait fort son maître, parce que son maître était un fort
+bon homme. Il sella au plus vite les deux chevaux andalous. «Allons, mon
+maître, suivons le conseil de la vieille, partons, et courons sans
+regarder derrière nous.» \bname{Candide} versa des larmes: «Ô ma chère \bname{Cunégonde}!
+faut-il vous abandonner dans le temps que M. le gouverneur va
+faire nos noces! \bname{Cunégonde} amenée de si loin, que deviendrez-vous? — Elle
+deviendra ce qu’elle pourra, dit \bname{Cacambo}; les femmes ne sont jamais
+embarrassées d’elles; Dieu y pourvoit; courons. — Où me mènes-tu? où
+allons-nous? que ferons-nous sans \bname{Cunégonde}? disait \bname{Candide}. — Par saint
+Jacques de Compostelle, dit \bname{Cacambo}, vous alliez faire la guerre aux
+jésuites, allons la faire pour eux; je sais assez les chemins, je vous
+mènerai dans leur royaume, ils seront charmés d’avoir un capitaine qui
+fasse l’exercice à la bulgare; vous ferez une fortune prodigieuse;
+quand on n’a pas son compte dans un monde, on le trouve dans un autre.
+C’est un très grand plaisir de voir et de faire des choses nouvelles.
+
+
+— Tu as donc été déjà dans le Paraguay? dit \bname{Candide}. — Eh vraiment oui! dit
+\bname{Cacambo}; j’ai été cuistre dans le collège de l’Assomption, et je
+connais le gouvernement de Los Padres comme je connais les rues de
+Cadix. C’est une chose admirable que ce gouvernement. Le royaume a déjà
+plus de trois cents lieues de diamètre; il est divisé en trente
+provinces. Los Padres y ont tout, et les peuples rien; c’est le
+chef-d’œuvre de la raison et de la justice. Pour moi, je ne vois rien
+de si divin que Los Padres, qui font ici la guerre au roi d’Espagne et
+au roi de Portugal, et qui en Europe confessent ces rois; qui tuent ici
+des Espagnols, et qui à Madrid les envoient au ciel; cela me ravit;
+avançons: vous allez être le plus heureux de tous les hommes. Quel
+plaisir auront Los Padres, quand ils sauront qu’il leur vient un
+capitaine qui sait l’exercice bulgare!»
+
+
+
+Dès qu’ils furent arrivés à la première barrière, \bname{Cacambo} dit à la
+garde avancée qu’un capitaine demandait à parler à monseigneur le
+commandant. On alla avertir la grande garde. Un officier paraguain
+courut aux pieds du commandant lui donner part de la nouvelle. \bname{Candide}
+et \bname{Cacambo} furent d’abord désarmés; on se saisit de leurs deux chevaux
+andalous. Les deux étrangers sont introduits au milieu de deux files de
+soldats; le commandant était au bout, le bonnet à trois cornes en tête,
+la robe retroussée, l’épée au côté, l’esponton à la main. Il fit un
+signe; aussitôt vingt-quatre soldats entourent les deux nouveaux venus.
+Un sergent leur dit qu’il faut attendre, que le commandant ne peut leur
+parler, que le révérend père provincial ne permet pas qu’aucun Espagnol
+ouvre la bouche qu’en sa présence, et demeure plus de trois heures dans
+le pays. «Et où est le révérend père provincial? dit \bname{Cacambo}. — Il est à
+la parade après avoir dit sa messe, répondit le sergent, et vous ne
+pourrez baiser ses éperons que dans trois heures. — Mais, dit \bname{Cacambo},
+M. le capitaine, qui meurt de faim comme moi, n’est point
+espagnol, il est allemand; ne pourrions-nous point déjeuner en
+attendant Sa Révérence?»
+
+Le sergent alla sur-le-champ rendre compte de ce discours au
+commandant. «Dieu soit béni! dit ce seigneur, puisqu’il est allemand, je
+peux lui parler; qu’on le mène dans ma feuillée.» Aussitôt on conduit
+\bname{Candide} dans un cabinet de verdure, orné d’une très jolie colonnade de
+marbre vert et or, et de treillages qui renfermaient des perroquets,
+des colibris, des oiseaux-mouches, des pintades, et tous les oiseaux
+les plus rares. Un excellent déjeuner était préparé dans des vases
+d’or; et tandis que les Paraguains mangèrent du maïs dans des écuelles
+de bois, en plein champ, à l’ardeur du soleil, le révérend père
+commandant entra dans la feuillée.
+
+C’était un très beau jeune homme, le visage plein, assez blanc, haut en
+couleur, le sourcil relevé, l’œil vif, l’oreille rouge, les lèvres
+vermeilles, l’air fier, mais d’une fierté qui n’était ni celle d’un
+Espagnol ni celle d’un jésuite. On rendit à \bname{Candide} et à \bname{Cacambo} leurs
+armes, qu’on leur avait saisies, ainsi que les deux
+chevaux
+ andalous;
+\bname{Cacambo} leur fit manger l’avoine auprès de la feuillée, ayant toujours
+l’œil sur eux, crainte de surprise.
+
+
+\bname{Candide} baisa d’abord le bas de la robe du commandant, ensuite ils se
+mirent à table. «Vous êtes donc allemand? lui dit le jésuite en cette
+langue. — Oui, mon
+Révérend
+Père», dit \bname{Candide}. L’un et l’autre, en
+prononçant ces paroles, se regardaient avec une extrême surprise, et
+une émotion dont ils n’étaient pas les maîtres. «Et de quel pays
+d’Allemagne êtes-vous? dit le jésuite. — De la sale province de
+\bname{Westphalie}, dit \bname{Candide}: je suis né dans le château de
+Thunder-ten-tronckh. — Ô ciel! est-il possible! s’écria le commandant.
+— Quel miracle! s’écria \bname{Candide}. — Serait-ce vous? dit le commandant. — Cela
+n’est pas possible», dit \bname{Candide}. Ils se laissent tomber tous deux à la
+renverse, ils s’embrassent, ils versent des ruisseaux de larmes. «Quoi!
+serait-ce vous, mon Révérend Père? vous, le frère de la belle
+\bname{Cunégonde}! vous qui fûtes tué par les Bulgares! vous le fils de
+M. le baron! vous jésuite au Paraguay! Il faut avouer que ce
+monde est une étrange chose. Ô \bname{Pangloss}! \bname{Pangloss}! que vous seriez aise
+si vous n’aviez pas été pendu!»
+
+
+Le commandant fit retirer les esclaves nègres et les \bname{Paraguains} qui
+servaient à boire dans des gobelets de cristal de roche. Il remercia
+Dieu et saint Ignace mille fois; il serrait \bname{Candide} entre ses bras,
+leurs visages étaient baignés de pleurs. «Vous seriez bien plus étonné,
+plus attendri, plus hors de vous-même, dit \bname{Candide}, si je vous disais
+que M\up{lle}~\bname{Cunégonde}, votre sœur, que vous avez crue éventrée,
+est pleine de santé. — Où? — Dans votre voisinage, chez M.~le gouverneur de
+\bname{Buenos} \bname{Aires}; et je venais pour vous faire la guerre.» Chaque mot qu’ils
+prononcèrent dans cette longue conversation accumulait prodige sur
+prodige. Leur âme tout entière volait sur leur langue, était attentive
+dans leurs oreilles, et étincelante dans leurs yeux. Comme ils étaient
+Allemands, ils tinrent table longtemps, en attendant le révérend père
+provincial; et le commandant parla ainsi à son cher \bname{Candide}.
+
+
+
+
+\chapter[Comment \bname{Candide} tua le frère…]{Comment \bname{Candide} tua le frère de sa chère \bname{Cunégonde}}
+
+
+\lettrine[ante=«]{J’}{aurai} toute ma vie présent à la mémoire le jour horrible où je vis
+tuer mon père et ma mère, et violer ma sœur. \textls[-5]{Quand les Bulgares furent
+retirés, on ne trouva point cette sœur adorable, et on mit dans une
+charrette ma mère, mon père, et moi, deux servantes et trois petits
+garçons égorgés, pour nous aller enterrer dans une chapelle de
+jésuites, à deux lieues du château de mes pères. Un jésuite nous jeta
+de l’eau bénite; elle était horriblement salée; il en entra quelques
+gouttes dans mes yeux; le père s’aperçut que ma paupière faisait un
+petit mouvement: il mit la main sur mon cœur, et le sentit palpiter;
+je fus secouru, et au bout de trois semaines il n’y paraissait pas.
+Vous savez, mon cher \bname{Candide}, que j’étais fort joli; je le devins
+encore davantage; aussi le révérend père Croust, supérieur de la
+maison, prit pour moi la plus tendre amitié; il me donna l’habit de
+novice; quelque temps après je fus envoyé à Rome. Le père général avait
+besoin d’une recrue de jeunes jésuites allemands. Les
+souverains
+du
+Paraguay reçoivent le moins qu’ils peuvent de jésuites espagnols; ils
+aiment mieux les étrangers, dont ils se croient plus maîtres. Je fus
+jugé propre par le révérend père général pour aller travailler dans
+cette vigne.
+Nous partîmes, un Polonais, un Tyrolien, et moi. Je fus
+honoré, en arrivant, du sous-diaconat et d’une lieutenance: je suis
+aujourd’hui colonel et prêtre. Nous recevrons vigoureusement les
+troupes du roi d’Espagne; je vous réponds qu’elles seront excommuniées
+et battues. La Providence vous envoie ici pour nous seconder. Mais
+est-il bien vrai que ma chère sœur \bname{Cunégonde} soit dans le voisinage,
+chez le gouverneur de \bname{Buenos} Aires?» \bname{Candide} l’assura par serment que
+rien n’était plus vrai. Leurs larmes recommencèrent à couler.}
+
+
+Le baron ne pouvait se lasser d’embrasser \bname{Candide}; il l’appelait son
+frère, son sauveur. «Ah! peut-être, lui dit-il, nous pourrons ensemble,
+mon cher \bname{Candide}, entrer en vainqueurs dans la ville, et reprendre ma
+sœur \bname{Cunégonde}. — C’est tout ce que je souhaite, dit \bname{Candide}; car je
+comptais l’épouser, et je l’espère encore. — Vous, insolent! répondit le
+baron, vous auriez l’impudence d’épouser ma sœur qui a soixante et
+douze quartiers! Je vous trouve bien effronté d’oser me parler d’un
+dessein si téméraire!» \bname{Candide}, pétrifié d’un tel discours, lui
+répondit: «Mon Révérend Père, tous les quartiers du monde n’y font rien;
+j’ai tiré votre sœur des bras d’un Juif et d’un inquisiteur; elle m’a
+assez d’obligations, elle veut m’épouser. Maître \bname{Pangloss} m’a toujours
+dit que les hommes sont égaux; et assurément je l’épouserai. — C’est ce
+que nous verrons, coquin!» dit le jésuite baron de Thunder-ten-tronckh;
+et en même temps il lui donna un grand coup du plat de son épée sur le
+visage. \bname{Candide} dans l’instant tire la sienne, et l’enfonce jusqu’à la
+garde dans le ventre du baron jésuite; mais en la retirant toute
+fumante, il se mit à pleurer: «Hélas! mon Dieu! dit-il, j’ai tué mon
+ancien maître, mon ami, mon beau-frère; je suis le meilleur homme du
+monde, et voilà déjà trois hommes que je tue; et dans ces trois il y a
+deux prêtres.»
+
+\bname{Cacambo}, qui faisait sentinelle à la porte de la feuillée, accourut. «Il
+ne nous reste qu’à vendre cher notre vie, lui dit son maître; on va,
+sans doute, entrer dans la feuillée; il faut mourir les armes à la
+main.» \bname{Cacambo}, qui en avait bien vu d’autres, ne perdit point la tête;
+il prit la robe de jésuite que portait le baron, la mit sur le corps de
+\bname{Candide}, lui donna le bonnet carré du mort, et le fit monter à cheval.
+Tout cela se fit en un clin d’œil. «Galopons, mon maître; tout le monde
+vous prendra pour un jésuite qui va donner des ordres; et nous aurons
+passé les frontières avant qu’on puisse courir après nous.» Il volait
+déjà en prononçant ces paroles, et en criant en espagnol: «Place, place
+pour le révérend père colonel!»
+
+\endinput
+
+
diff --git a/macros/luatex/latex/tango/examples/Ch-16-30.tex b/macros/luatex/latex/tango/examples/Ch-16-30.tex
new file mode 100644
index 0000000000..ca52af53a8
--- /dev/null
+++ b/macros/luatex/latex/tango/examples/Ch-16-30.tex
@@ -0,0 +1,2061 @@
+
+
+\chapter[Ce qui advint aux deux voyageurs…]{Ce qui advint aux deux voyageurs avec deux filles,\\ deux singes, et les
+sauvages nommés Oreillons}
+
+
+\lettrine{C}{andide} et son valet furent au-delà des barrières, et personne ne
+savait encore dans le camp la mort du jésuite allemand. Le vigilant
+\bname{Cacambo} avait eu soin de remplir sa valise de pain, de chocolat, de
+jambon, de fruits, et de quelques mesures de vin. Ils s’enfoncèrent
+avec leurs chevaux andalous dans un pays inconnu où ils ne découvrirent
+aucune route. Enfin une belle prairie entrecoupée de ruisseaux se
+présenta devant eux. Nos deux voyageurs font repaître leurs montures.
+\bname{Cacambo} propose à son maître de manger, et lui en donne l’exemple.
+«Comment veux-tu, disait \bname{Candide}, que je mange du jambon, quand j’ai tué
+le fils de M.~le baron, et que je me vois condamné à ne revoir la
+belle \bname{Cunégonde} de ma vie? à quoi me servira de prolonger mes
+misérables jours, puisque je dois les traîner loin d’elle dans les
+remords et dans le désespoir? et que dira le Journal de Trévoux?»
+
+
+En parlant ainsi, il ne laissa pas de manger. Le soleil se couchait.
+Les deux égarés entendirent quelques petits cris qui paraissaient
+poussés par des femmes. Ils ne savaient si ces cris étaient de douleur
+ou de joie; mais ils se levèrent précipitamment avec cette inquiétude
+et cette alarme que tout inspire dans un pays inconnu. Ces clameurs
+partaient de deux filles toutes nues qui couraient légèrement au bord
+de la prairie, tandis que deux singes les suivaient en leur mordant les
+fesses. \bname{Candide} fut touché de pitié; il avait appris à tirer chez les
+Bulgares, et il aurait abattu une noisette dans un buisson sans toucher
+aux feuilles. Il prend son fusil espagnol à deux coups, tire, et tue
+les deux singes. «Dieu soit loué, mon cher \bname{Cacambo}! j’ai délivré d’un
+grand péril ces deux pauvres créatures: si j’ai commis un péché en
+tuant un inquisiteur et un jésuite, je l’ai bien réparé en sauvant la
+vie à deux filles. Ce sont peut-être deux demoiselles de condition, et
+cette aventure nous peut procurer de très grands avantages dans le
+pays.»
+
+
+Il allait continuer, mais sa langue devint percluse quand il vit ces
+deux filles embrasser tendrement les deux singes, fondre en larmes sur
+leurs corps, et remplir l’air des cris les plus douloureux. «Je ne
+m’attendais pas à tant de bonté d’âme», dit-il enfin à \bname{Cacambo}; lequel
+lui répliqua: «Vous avez fait là un beau chef d’œuvre, mon maître; vous
+avez tué les deux amants de ces demoiselles. — Leurs amants! serait-il
+possible? vous vous moquez de moi, \bname{Cacambo}; le moyen de vous croire?
+— Mon cher maître, repartit \bname{Cacambo}, vous êtes toujours étonné de tout;
+pourquoi trouvez-vous si étrange que dans quelques pays il y ait des
+singes qui obtiennent les bonnes grâces des dames? Ils sont des quarts
+d’homme, comme je suis un quart d’Espagnol. — Hélas! reprit \bname{Candide}, je
+me souviens d’avoir entendu dire à maître \bname{Pangloss} qu’autrefois pareils
+accidents étaient arrivés, et que ces mélanges avaient produit des
+égypans, des faunes, des satyres; que plusieurs grands personnages de
+l’antiquité en avaient vu; mais je prenais cela pour des fables. — Vous
+devez être convaincu à présent, dit \bname{Cacambo}, que c’est une vérité, et
+vous voyez comment en usent les personnes qui n’ont pas reçu une
+certaine éducation; tout ce que je crains, c’est que ces dames ne nous
+fassent quelque méchante affaire.»
+
+Ces réflexions solides engagèrent \bname{Candide} à quitter la prairie, et à
+s’enfoncer dans un bois. Il y soupa avec \bname{Cacambo}; et tous deux, après
+avoir maudit l’inquisiteur de Portugal, le gouverneur de \bname{Buenos} Aires,
+et le baron, s’endormirent sur de la mousse. À leur réveil, ils
+sentirent qu’ils ne pouvaient remuer; la raison en était que pendant la
+nuit les Oreillons, habitants du pays, à qui les deux dames les avaient
+dénoncés, les avaient garrottés avec des cordes d’écorces d’arbre.
+Ils étaient entourés d’une cinquantaine d’Oreillons tout nus, armés de
+flèches, de massues, et de haches de caillou: les uns faisaient bouillir
+une grande chaudière; les autres préparaient des broches, et tous
+criaient: «C’est un jésuite, c’est un jésuite! nous serons vengés, et
+nous ferons bonne chère; mangeons du jésuite, mangeons du jésuite!»
+
+«Je vous l’avais bien dit, mon cher maître, s’écria tristement \bname{Cacambo},
+que ces deux filles nous joueraient d’un mauvais tour.» \bname{Candide}
+apercevant la chaudière et les broches s’écria: «Nous allons
+certainement être rôtis ou bouillis. Ah! que dirait maître \bname{Pangloss},
+s’il voyait comme la pure nature est faite? Tout est bien; soit, mais
+j’avoue qu’il est bien cruel, d’avoir perdu M\up{lle}~\bname{Cunégonde}, et
+d’être mis à la broche par des Oreillons.» \bname{Cacambo} ne perdait jamais la
+tête. «Ne désespérez de rien, dit-il au désolé \bname{Candide}; j’entends un peu
+le jargon de ces peuples, je vais leur parler. — Ne manquez pas, dit
+\bname{Candide}, de leur représenter quelle est l’inhumanité affreuse de faire
+cuire des hommes, et combien cela est peu chrétien.»
+
+«Messieurs, dit \bname{Cacambo}, vous comptez donc manger aujourd’hui un
+jésuite : c’est très bien fait; rien n’est plus juste que de traiter
+ainsi ses ennemis. En effet le droit naturel nous enseigne à tuer notre
+prochain, et c’est ainsi qu’on en agit dans toute la terre. Si nous
+n’usons pas du droit de le manger, c’est que nous avons d’ailleurs de
+quoi faire bonne chère; mais vous n’avez pas les mêmes ressources que
+nous: certainement il vaut mieux manger ses ennemis que
+d’abandonner
+ aux corbeaux et aux corneilles le fruit de sa victoire. Mais,
+messieurs, vous ne voudriez pas manger vos amis. Vous croyez aller
+mettre un jésuite en broche, et c’est votre défenseur, c’est l’ennemi
+de vos ennemis que vous allez rôtir. Pour moi, je suis né dans votre
+pays; monsieur que vous voyez est mon maître, et bien loin d’être
+jésuite, il vient de tuer un jésuite, il en porte les dépouilles; voilà
+le sujet de votre méprise. Pour vérifier ce que je vous dis, prenez sa
+robe, portez-la à la première barrière du royaume de Los Padres;
+informez-vous si mon maître n’a pas tué un officier jésuite. Il vous
+faudra peu de temps; vous pourrez toujours nous manger, si vous trouvez
+que je vous ai menti. Mais, si je vous ai dit la vérité, vous
+connaissez trop les principes du droit public, les mœurs, et les lois,
+pour ne nous pas faire grâce.»
+
+Les Oreillons trouvèrent ce discours très raisonnable; ils députèrent
+deux notables pour aller en diligence s’informer de la vérité; les deux
+députés s’acquittèrent de leur commission en gens d’esprit, et
+revinrent bientôt apporter de bonnes nouvelles. Les Oreillons délièrent
+leurs deux prisonniers, leur firent toutes sortes de civilités, leur
+offrirent des filles, leur donnèrent des rafraîchissements, et les
+reconduisirent jusqu’aux confins de leurs états, en criant avec
+allégresse: «Il n’est point jésuite, il n’est point jésuite!»
+
+\bname{Candide} ne se lassait point d’admirer le sujet de sa délivrance. «Quel
+peuple! disait-il, quels hommes! quelles mœurs! si je n’avais pas eu
+le bonheur de donner un grand coup d’épée au travers du corps du frère
+de M\up{lle}~\bname{Cunégonde}, j’étais mangé sans rémission. Mais, après
+tout, la pure nature est bonne, puisque ces gens-ci, au lieu de me
+manger, m’ont fait mille honnêtetés, dès qu’ils ont su que je n’étais
+pas jésuite.»
+
+
+
+\chapter[Arrivée de \bname{Candide} et de son valet…]{Arrivée de \bname{Candide} et de son valet\\au pays d’Eldorado, et ce qu’ils y
+virent}
+
+
+\lettrine{Q}{uand} ils furent aux frontières des Oreillons: «Vous voyez, dit \bname{Cacambo}
+à \bname{Candide}, que cet hémisphère-ci ne vaut pas mieux que l’autre;
+croyez-moi, retournons en Europe par le plus court chemin. — Comment y
+retourner, dit \bname{Candide}; et où aller? Si je vais dans mon pays, les
+Bulgares et les Abares y égorgent tout; si je retourne en Portugal, j’y
+suis brûlé; si nous restons dans ce pays-ci, nous risquons à tout
+moment d’être mis en broche. Mais comment se résoudre à quitter la
+partie du monde que M\up{lle}~\bname{Cunégonde} habite?
+
+ — Tournons vers la Cayenne, dit \bname{Cacambo}, nous y trouverons des Français
+qui vont par tout le monde; ils pourront nous aider. Dieu aura
+peut-être pitié de nous.»
+
+Il n’était pas facile d’aller à la Cayenne: ils savaient bien à peu
+près de quel côté il fallait marcher; mais des montagnes, des fleuves,
+des précipices, des brigands, des sauvages, étaient partout de
+terribles obstacles. Leurs
+chevaux
+ moururent de fatigue; leurs
+provisions furent consumées; ils se nourrirent un mois entier de fruits
+sauvages, et se trouvèrent enfin auprès d’une petite rivière bordée de
+cocotiers qui soutinrent leur vie et leurs espérances.
+
+\bname{Cacambo}, qui donnait toujours d’aussi bons conseils que la vieille, dit
+à \bname{Candide}: «Nous n’en pouvons plus, nous avons assez marché; j’aperçois
+un canot vide sur le rivage, emplissons-le de cocos, jetons-nous dans
+cette petite barque, laissons-nous aller au courant; une rivière mène
+toujours à quelque endroit habité. Si nous ne trouvons pas des choses
+agréables, nous trouverons du moins des choses nouvelles. — Allons, dit
+\bname{Candide}, recommandons-nous à la \bname{Providence}.»
+
+
+Ils voguèrent quelques lieues entre des bords, tantôt fleuris, tantôt
+arides, tantôt unis, tantôt escarpés. La rivière s’élargissait
+toujours; enfin elle se perdait sous une voûte de rochers épouvantables
+qui s’élevaient jusqu’au ciel. Les deux voyageurs eurent la hardiesse
+de s’abandonner aux flots sous cette voûte. Le fleuve resserré en cet
+endroit les porta avec une rapidité et un bruit horrible. Au bout de
+vingt-quatre heures ils revirent le jour; mais leur canot se fracassa
+contre les écueils; il fallut se traîner de rocher en rocher pendant
+une lieue entière; enfin ils découvrirent un horizon immense, bordé de
+montagnes inaccessibles. Le pays était cultivé pour le plaisir comme
+pour le besoin; partout l’utile était agréable: les chemins étaient
+couverts ou plutôt ornés de voitures d’une forme et d’une matière
+brillante, portant des hommes et des femmes d’une beauté singulière,
+traînés rapidement par de gros moutons rouges qui surpassaient en
+vitesse les plus beaux chevaux d’\bname{Andalousie}, de \bname{Tétuan}, et de \bname{Méquinez}.
+
+
+
+
+«Voilà pourtant, dit \bname{Candide}, un pays qui vaut mieux que la \bname{Westphalie}.»
+Il mit pied à terre avec \bname{Cacambo} auprès du premier village qu’il
+rencontra. Quelques enfants du village, couverts de brocarts d’or tout
+déchirés, jouaient au palet à l’entrée du bourg; nos deux hommes de
+l’autre monde s’amusèrent à les regarder: leurs palets étaient d’assez
+larges pièces rondes, jaunes, rouges, vertes, qui jetaient un éclat
+singulier. Il prit envie aux voyageurs d’en ramasser quelques uns;
+c’était de l’or, c’était des émeraudes, des rubis, dont le moindre
+aurait été le plus grand ornement du trône du Mogol. «Sans doute, dit
+\bname{Cacambo}, ces enfants sont les fils du roi du pays qui jouent au petit
+palet.» Le magister du village parut dans ce moment pour les faire
+rentrer à l’école. «Voilà, dit \bname{Candide}, le précepteur de la famille
+royale.»
+
+Les petits gueux quittèrent aussitôt le jeu, en laissant à terre leurs
+palets, et tout ce qui avait servi à leurs divertissements.\bname{Candide} les
+ramasse, court au précepteur et les lui présente humblement, lui faisant
+entendre par signes que leurs altesses royales avaient oublié leur or
+et leurs pierreries. Le magister du village, en souriant, les jeta par
+terre, regarda un moment la figure de \bname{Candide} avec beaucoup de
+surprise, et continua son chemin.
+
+
+Les voyageurs ne manquèrent pas de ramasser l’or, les rubis, et les
+émeraudes. «Où sommes-nous? s’écria \bname{Candide}. Il faut que les enfants des
+rois de ce pays soient bien élevés, puisqu’on leur apprend à mépriser
+l’or et les pierreries.» \bname{Cacambo} était aussi surpris que \bname{Candide}. Ils
+approchèrent enfin de la première maison du village; elle était bâtie
+comme un palais d’Europe. Une foule de monde s’empressait à la porte,
+et encore plus dans le logis; une musique très agréable se faisait
+entendre, et une odeur délicieuse de cuisine se faisait sentir. \bname{Cacambo}
+s’approcha de la porte, et entendit qu’on parlait péruvien; c’était sa
+langue maternelle; car tout le monde sait que \bname{Cacambo} était né au
+Tucuman, dans un village où l’on ne connaissait que cette langue. «Je
+vous servirai d’interprète, dit-il à \bname{Candide}; entrons, c’est ici un
+cabaret.»
+
+Aussitôt deux garçons et deux filles de l’hôtellerie, vêtus de drap
+d’or, et les cheveux renoués avec des rubans, les invitent à se mettre
+à la table de l’hôte. On servit quatre potages garnis chacun de deux
+perroquets, un contour bouilli qui pesait deux cents livres, deux
+singes rôtis d’un goût excellent, trois cents colibris dans un plat, et
+six cents oiseaux-mouches dans un autre; des ragoûts exquis, des
+pâtisseries délicieuses; le tout dans des plats d’une espèce de cristal
+de roche. Les garçons et les filles de l’hôtellerie versaient plusieurs
+liqueurs faites de cannes de sucre.
+
+Les convives étaient pour la plupart des marchands et des voituriers,
+tous d’une politesse extrême, qui firent quelques questions à \bname{Cacambo}
+avec la discrétion la plus circonspecte, et qui répondirent aux siennes
+d’une manière à le satisfaire.
+
+Quand le repas fut fini, \bname{Cacambo} crut, ainsi que \bname{Candide}, bien payer
+son écot, en jetant sur la table de l’hôte deux de ces larges pièces
+d’or qu’il avait ramassées; l’hôte et l’hôtesse éclatèrent de rire, et
+se tinrent longtemps les côtés. Enfin ils se remirent. «Messieurs, dit
+l’hôte, nous voyons bien que vous êtes des étrangers; nous ne sommes
+pas accoutumés à en voir. Pardonnez-nous si nous nous sommes mis à rire
+quand vous nous avez offert en paiement les cailloux de nos grands
+chemins. Vous n’avez pas sans doute de la monnaie du pays, mais il
+n’est pas nécessaire d’en avoir pour dîner ici. Toutes les hôtelleries
+établies pour la commodité du commerce sont payées par le gouvernement.
+Vous avez fait mauvaise chère ici, parce que c’est un pauvre village,
+mais partout ailleurs vous serez reçus comme vous méritez de l’être.»
+\bname{Cacambo} expliquait à \bname{Candide} tous les discours de l’hôte, et \bname{Candide}
+les écoutait avec la même admiration et le même égarement que son ami
+\bname{Cacambo} les rendait. «Quel est donc ce pays, disaient-ils l’un et
+l’autre, inconnu à tout le reste de la terre, et où toute la nature est
+d’une espèce si différente de la nôtre? C’est probablement le pays où
+tout va bien; car il faut absolument qu’il y en ait un de cette espèce.
+Et, quoi qu’en dît maître \bname{Pangloss}, je me suis souvent aperçu que tout
+allait assez mal en \bname{Westphalie}.»
+
+
+\chapter{Ce qu’ils virent dans le pays d’Eldorado}
+
+
+
+\lettrine{C}{acambo} témoigna à son hôte toute sa curiosité; l’hôte lui dit: «Je suis
+fort ignorant, et je m’en trouve bien; mais nous avons ici un vieillard
+retiré de la cour qui est le plus savant homme du royaume, et le plus
+communicatif.» \textls[5]{Aussitôt il mène \bname{Cacambo} chez le vieillard. \bname{Candide} ne
+jouait plus que le second personnage, et accompagnait son valet. Ils
+entrèrent dans une maison fort simple, car la porte n’était que
+d’argent, et les lambris des appartements n’étaient que d’or, mais
+travaillés avec tant de goût, que les plus riches lambris ne
+l’effaçaient pas. L’antichambre n’était à la vérité incrustée que de
+rubis et d’émeraudes; mais l’ordre dans lequel tout était arrangé
+réparait bien cette extrême simplicité.
+
+Le vieillard reçut les deux étrangers sur un sofa matelassé de plumes
+de colibri, et leur fit présenter des liqueurs dans des vases de
+diamant; après quoi il satisfit à leur curiosité en ces termes:
+
+
+«Je suis âgé de cent soixante et douze ans, et j’ai appris de feu mon
+père, écuyer du roi, les étonnantes révolutions du Pérou dont il avait
+été témoin. Le royaume où nous sommes est l’ancienne patrie des Incas,
+qui en sortirent très imprudemment pour aller subjuguer une partie du
+monde, et qui furent enfin détruits par les Espagnols.
+
+«Les princes de leur famille qui restèrent dans leur pays natal furent
+plus sages; ils ordonnèrent, du consentement de la nation, qu’aucun
+habitant ne sortirait jamais de notre petit royaume; et c’est ce qui
+nous a conservé notre innocence et notre félicité. Les Espagnols ont eu
+une connaissance confuse de ce pays, ils l’ont appelé El Dorado; et un
+\bname{Anglais}, nommé le chevalier Raleigh, en a même approché il y a environ
+cent années; mais, comme nous sommes entourés de rochers inabordables
+et de précipices, nous avons toujours été jusqu’à présent à l’abri de
+la rapacité des nations de l’Europe, qui ont une fureur inconcevable
+pour les cailloux et pour la fange de notre terre, et qui, pour en
+avoir, nous tueraient tous jusqu’au dernier.»
+
+La conversation fut longue; elle roula sur la forme du gouvernement,
+sur les mœurs, sur les femmes, sur les spectacles publics, sur les
+arts. Enfin \bname{Candide}, qui avait
+toujours
+ du goût pour la métaphysique,
+fit demander par \bname{Cacambo} si dans le pays il y avait une religion.
+
+%\looseness=1
+Le vieillard rougit un peu. «Comment donc! dit-il, en pouvez-vous
+douter? Est-ce que vous nous prenez pour des ingrats?» \bname{Cacambo} demanda
+humblement quelle était la religion d’Eldorado. Le vieillard rougit
+encore: «Est-ce qu’il peut y avoir deux religions? dit-il. Nous avons,
+je crois, la religion de tout le monde; nous adorons Dieu du soir
+jusqu’au matin. — N’adorez vous qu’un seul Dieu? dit \bname{Cacambo}, qui servait
+toujours d’interprète aux doutes de \bname{Candide}. — Apparemment, dit le
+vieillard, qu’il n’y en a ni deux, ni trois, ni quatre. Je vous avoue
+que les gens de votre monde font des questions bien singulières.»
+\bname{Candide} ne se lassait pas de faire interroger ce bon vieillard; il
+voulut savoir comment on priait Dieu dans Eldorado. «Nous ne le prions
+point, dit le bon et respectable sage; nous n’avons rien à lui
+demander, il nous a donné tout ce qu’il nous faut; nous le remercions
+sans cesse.» \bname{Candide} eut la curiosité de voir des prêtres; il fit
+demander où ils étaient. Le bon vieillard sourit. «Mes amis, dit-il,
+nous sommes tous prêtres; le roi et tous les chefs de famille chantent
+des
+cantiques d’actions de grâces solennellement tous les matins, et
+cinq ou six mille musiciens les accompagnent.
+
+— Quoi! vous n’avez point
+de moines qui enseignent, qui disputent, qui gouvernent, qui cabalent,
+et qui font brûler les gens qui ne sont pas de leur avis? — Il faudrait
+que nous fussions fous, dit le vieillard; nous sommes tous ici du même
+avis, et nous n’entendons pas ce que vous voulez dire avec vos moines.»
+\bname{Candide} à tous ces discours demeurait en extase, et disait en lui-même:
+«Ceci est bien différent de la \bname{Westphalie} et du château de monsieur le
+baron: si notre ami \bname{Pangloss} avait vu Eldorado, il n’aurait plus dit
+que le château de Thunder-ten-tronckh était ce qu’il y avait de mieux
+sur la terre; il est certain qu’il faut voyager.»
+
+
+Après cette longue conversation, le bon vieillard fit atteler un
+carrosse à six moutons, et donna douze de ses domestiques aux deux
+voyageurs pour les conduire à la cour. «Excusez-moi, leur dit-il, si mon
+âge me prive de l’honneur de vous accompagner. Le roi vous recevra
+d’une manière dont vous ne serez pas mécontents, et vous pardonnerez
+sans doute aux usages du pays, s’il y en a quelques uns qui vous
+déplaisent.»
+
+
+\bname{Candide} et \bname{Cacambo} montent en carrosse; les six moutons volaient, et en
+moins de quatre heures on arriva au palais du roi, situé à un bout de
+la capitale. Le portail était de deux cent vingt pieds de haut, et de
+cent de large; il est impossible d’exprimer quelle en était la matière.
+On voit assez quelle supériorité prodigieuse elle devait avoir sur ces
+cailloux et sur ce sable que nous nommons \emph{or} et {pierreries}.
+
+
+Vingt belles filles de la garde reçurent \bname{Candide} et \bname{Cacambo} à la
+descente du carrosse, les conduisirent aux bains, les vêtirent de robes
+d’un tissu de duvet de colibri; après quoi les grands officiers et les
+grandes officières de la couronne les
+menèrent à l’appartement de Sa
+Majesté au milieu de deux files, chacune de mille musiciens, selon
+l’usage ordinaire. Quand ils approchèrent de la salle du trône, \bname{Cacambo}
+demanda à un grand officier comment il fallait s’y prendre pour saluer
+Sa Majesté: si on se jetait à genoux ou ventre à terre; si on mettait
+les mains sur la tête ou sur le derrière; si on léchait la poussière de
+la salle: en un mot, quelle était la cérémonie. «L’usage, dit le
+grand-officier, est d’embrasser le roi et de le baiser des deux côtés.»
+\bname{Candide} et \bname{Cacambo} sautèrent au cou de Sa Majesté, qui les reçut avec
+toute la grâce imaginable, et qui les pria poliment à souper.
+
+
+En attendant, on leur fit voir la ville, les édifices publics élevés
+jusqu’aux nues, les marchés ornés de mille colonnes, les fontaines
+d’eau pure, les fontaines d’eau rose, celles de liqueurs de canne de
+sucre qui coulaient continuellement dans de grandes places pavées d’une
+espèce de pierreries qui répandaient une odeur semblable à celle du
+girofle et de la cannelle. \bname{Candide} demanda à voir la cour de justice,
+le parlement; on lui dit qu’il n’y en avait point, et qu’on ne plaidait
+jamais. Il s’informa s’il y avait des prisons, et on lui dit que non.
+Ce qui le surprit davantage, et qui lui fit le plus de plaisir, ce fut
+le palais des sciences, dans lequel il vit une galerie de deux mille
+pas, toute pleine d’instruments de mathématiques et de physique.}
+
+
+Après avoir parcouru toute l’après-dinée à peu près la millième partie
+de la ville, on les ramena chez le roi. \bname{Candide} se mit à table entre Sa
+\bname{Majesté}, son valet \bname{Cacambo}, et plusieurs dames. Jamais on ne fit
+meilleure chère, et jamais on n’eut plus d’esprit à souper qu’en eut Sa
+\bname{Majesté}. \bname{Cacambo} expliquait les bons mots du roi à \bname{Candide}, et quoique
+traduits, ils paraissaient toujours des bons mots. De tout ce qui
+étonnait \bname{Candide}, ce n’était pas ce qui l’étonna le moins.
+
+Ils passèrent un mois dans cet hospice. \bname{Candide} ne cessait de dire à
+\bname{Cacambo}: «Il est vrai, mon ami, encore une fois, que le château où je
+suis né ne vaut pas le pays où nous sommes; mais enfin M\up{lle}~\bname{Cunégonde} n’y est pas, et vous avez sans doute quelque maîtresse en
+Europe. Si nous restons ici, nous n’y serons que comme les autres; au
+lieu que si nous retournons dans notre monde, seulement avec douze
+moutons chargés de cailloux d’Eldorado, nous serons plus riches que
+tous les rois ensemble, nous n’aurons plus d’inquisiteurs à craindre,
+et nous pourrons aisément reprendre M\up{lle}~\bname{Cunégonde}.»
+
+Ce discours plut à \bname{Cacambo}; on aime tant à courir, à se faire valoir
+chez les siens, à faire parade de ce qu’on a vu dans ses voyages, que
+les deux heureux résolurent de ne plus l’être, et de demander leur
+congé à Sa Majesté.
+
+«Vous faites une sottise, leur dit le roi: je sais bien que mon pays est
+peu de chose; mais, quand on est passablement quelque part, il faut y
+rester. Je n’ai pas assurément le droit de retenir des étrangers; c’est
+une tyrannie qui n’est ni dans nos mœurs ni dans nos lois; tous les
+hommes sont libres; partez quand vous voudrez, mais la sortie est bien
+difficile. Il est impossible de remonter la rivière rapide sur laquelle
+vous êtes arrivés par miracle, et qui court sous des voûtes de rochers.
+Les montagnes qui entourent tout mon royaume ont dix mille pieds de
+hauteur, et sont droites comme des murailles: elles occupent chacune en
+largeur un espace de plus de dix lieues; on ne peut en descendre que
+par des précipices. Cependant, puisque vous voulez absolument partir,
+je vais donner ordre aux intendants des machines d’en faire une qui
+puisse vous transporter commodément. Quand on vous aura conduits au
+revers des montagnes, personne ne pourra vous accompagner; car mes
+sujets ont fait vœu de ne jamais sortir de leur enceinte, et ils sont
+trop sages pour rompre leur vœu. Demandez-moi d’ailleurs tout ce qu’il
+vous plaira. — Nous ne demandons à Votre Majesté, dit \bname{Cacambo}, que
+quelques moutons chargés de vivres, de cailloux, et de la boue du pays.»
+Le roi rit: «Je ne conçois pas, dit-il, quel goût vos gens d’Europe ont
+pour notre boue jaune: mais emportez-en tant que vous voudrez, et grand
+bien vous fasse.»
+
+Il donna l’ordre sur-le-champ à ses ingénieurs de faire une machine
+pour guinder ces deux hommes extraordinaires hors du royaume. Trois
+mille bons physiciens y travaillèrent; elle fut prête au bout de quinze
+jours, et ne coûta pas plus de vingt millions de livres sterling,
+monnaie du pays. On mit sur la machine \bname{Candide} et \bname{Cacambo}; il y avait
+deux grands moutons rouges sellés et bridés pour leur servir de monture
+quand ils auraient franchi les montagnes, vingt moutons de bât chargés
+de vivres, trente qui portaient des présents de ce que le pays a de
+plus curieux, et cinquante chargés d’or, de pierreries, et de diamants.
+Le roi embrassa tendrement les deux vagabonds.
+
+Ce fut un beau spectacle que leur départ, et la manière ingénieuse dont
+ils furent hissés eux et leurs moutons au haut des montagnes. Les
+physiciens prirent congé d’eux après les avoir mis en sûreté, et
+\bname{Candide} n’eut plus d’autre désir et d’autre objet que d’aller présenter
+ses moutons à M\up{lle}~\bname{Cunégonde}. «Nous avons, dit-il, de quoi payer
+le gouverneur de \bname{Buenos} Aires, si M\up{lle}~\bname{Cunégonde} peut être mise
+à prix. Marchons vers la Cayenne, embarquons-nous, et nous verrons
+ensuite quel royaume nous pourrons acheter.»
+
+
+
+
+\chapter[Ce qui leur arriva à Surinam…]{Ce qui leur arriva à Surinam, et comment \bname{Candide} fit connaissance avec
+\bname{Martin}}
+
+
+\lettrine{L}{a première} journée de nos deux voyageurs fut assez agréable. Ils
+étaient encouragés par l’idée de se voir possesseurs de plus de trésors
+que l’Asie, \bname{l’Europe}, et l’Afrique, n’en pouvaient rassembler. \bname{Candide}
+transporté écrivit le nom de \bname{Cunégonde} sur les arbres. À la seconde
+journée deux de leurs moutons s’enfoncèrent dans des marais, et y
+furent abîmés avec leurs charges; deux autres moutons moururent de
+fatigue quelques jours après; sept ou huit périrent ensuite de faim
+dans un désert; d’autres tombèrent au bout de quelques jours dans des
+précipices. Enfin, après cent jours de marche, il ne leur resta que
+deux moutons. \bname{Candide} dit à \bname{Cacambo}: «Mon ami, vous voyez comme les
+richesses de ce monde sont périssables; il n’y a rien de solide que la
+vertu et le bonheur de revoir M\up{lle}~\bname{Cunégonde}. — Je l’avoue, dit
+\bname{Cacambo}; mais il nous reste encore deux moutons avec plus de trésors
+que n’en aura jamais le roi d’Espagne; et je vois bien de loin une
+ville que je soupçonne être Surinam, appartenante aux Hollandais. Nous
+sommes au bout de nos peines et au commencement de notre félicité.»
+
+%\looseness=1
+En approchant de la ville, ils rencontrèrent un nègre étendu par terre,
+n’ayant plus que la moitié de son habit, c’est-à-dire d’un caleçon de
+toile bleue; il manquait à ce pauvre homme la jambe gauche et la main
+droite. «Eh! mon Dieu! lui dit \bname{Candide} en hollandais, que fais-tu là,
+mon ami, dans l’état horrible où je te vois? — J’attends mon maître, M.~\bname{Vanderdendur}, le fameux négociant, répondit le nègre. — Est-ce M.~\bname{Vanderdendur}, dit \bname{Candide}, qui t’a traité ainsi? — Oui, monsieur, dit le
+nègre, c’est l’usage. On nous donne un caleçon de toile pour tout
+vêtement deux fois l’année. Quand nous travaillons aux sucreries, et
+que la meule nous attrape le doigt, on nous coupe la main: quand nous
+voulons nous enfuir, on nous coupe la jambe: je me suis trouvé dans les
+deux cas. C’est à ce prix que vous mangez du sucre en Europe.
+Cependant, lorsque ma mère me vendit dix écus patagons sur la côte de
+Guinée, elle me disait: \frquote{\localleftbox{« }Mon cher enfant, bénis nos fétiches, adore-les
+toujours, ils te feront vivre heureux; tu as l’honneur d’être esclave
+de nos seigneurs les blancs, et tu fais par là la fortune de ton père
+et de ta mère.}\localleftbox{} Hélas! je ne sais pas si j’ai fait leur fortune, mais
+ils n’ont pas fait la mienne. Les chiens, les singes, et les
+perroquets, sont mille fois moins malheureux que nous: les fétiches
+hollandais qui m’ont converti me disent tous les dimanches que nous
+sommes tous enfants d’Adam, blancs et noirs. Je ne suis pas
+généalogiste; mais si ces prêcheurs disent vrai, nous sommes tous
+cousins issus de germain. Or vous m’avouerez qu’on ne peut pas en user
+avec ses parents d’une manière \linebreak plus horrible.
+
+
+— Ô \bname{Pangloss}! s’écria \bname{Candide}, tu n’avais pas deviné cette abomination;
+c’en est fait, il faudra qu’à la fin je renonce à ton optimisme.
+— Qu’est-ce qu’optimisme? disait \bname{Cacambo}. — Hélas! dit \bname{Candide}, c’est la
+rage de soutenir que tout est bien quand on est mal»; et il versait des
+larmes en regardant son nègre; et en pleurant, il entra dans \bname{Surinam}.
+
+La première chose dont ils s’informent, c’est s’il n’y a point au port
+quelque vaisseau qu’on pût envoyer à \bname{Buenos} Aires. Celui à qui ils
+s’adressèrent était justement un patron espagnol qui s’offrit à faire
+avec eux un marché honnête. Il leur donna rendez-vous dans un cabaret.
+\bname{Candide} et le fidèle \bname{Cacambo} allèrent l’y attendre avec leurs deux
+moutons.
+
+
+\bname{Candide}, qui avait le cœur sur les lèvres, conta à \bname{l’Espagnol} toutes
+ses aventures, et lui avoua qu’il voulait enlever mademoiselle
+\bname{Cunégonde}. «Je me garderai bien de vous passer à \bname{Buenos} Aires, dit le
+patron: je serais pendu, et vous aussi; la belle \bname{Cunégonde} est la
+maîtresse favorite de monseigneur.» Ce fut un coup de foudre pour
+\bname{Candide}, il pleura longtemps; enfin il tira à part \bname{Cacambo}. «Voici, mon
+cher ami, lui dit-il, ce qu’il faut que tu fasses. Nous avons chacun
+dans nos poches pour cinq ou six millions de diamants, tu es plus
+habile que moi; va prendre M\up{lle}~\bname{Cunégonde} à \bname{Buenos} Aires. Si le
+gouverneur fait quelque difficulté, donne-lui un million: s’il ne se
+rend pas, donne-lui-en deux; tu n’as point tué d’inquisiteur, on ne se
+défiera point de toi. J’équiperai un autre vaisseau, j’irai t’attendre
+à \bname{Venise}: c’est un pays libre où l’on n’a rien à craindre ni des
+Bulgares, ni des Abares, ni des Juifs, ni des inquisiteurs.» \bname{Cacambo}
+applaudit, à cette sage résolution. Il était au désespoir de se séparer
+d’un bon maître devenu son ami intime; mais le plaisir de lui être
+utile l’emporta sur la douleur de le quitter. Ils s’embrassèrent en
+versant des larmes: \bname{Candide} lui recommanda de ne point oublier la bonne
+vieille. \bname{Cacambo} partit dès le jour même: c’était un très bon homme que
+ce \bname{Cacambo}.
+
+\bname{Candide} resta encore quelque temps à Surinam, et attendit qu’un autre
+patron voulût le mener en Italie lui et les deux moutons qui lui
+restaient. Il prit des domestiques, et acheta tout ce qui lui était
+nécessaire pour un long voyage; enfin M.~\bname{Vanderdendur}, maître d’un gros
+vaisseau, vint se présenter à lui. «Combien voulez-vous, demanda-t-il à
+cet homme, pour me mener en droiture à \bname{Venise}, moi, mes gens, mon
+bagage, et les deux moutons que voilà?» Le patron s’accorda à dix mille
+piastres: \bname{Candide} n’hésita pas.
+
+
+«Oh! oh! dit à part soi le prudent Vanderdendur, cet étranger donne dix
+mille piastres tout d’un coup! il faut qu’il soit bien riche.» Puis
+revenant un moment après, il signifia qu’il ne pouvait partir à moins
+de vingt mille. «Eh bien! vous les aurez, dit \bname{Candide}.
+
+«Ouais, se dit tout bas le marchand, cet homme donne vingt mille
+piastres aussi aisément que dix mille.» Il revint encore, et dit qu’il
+ne pouvait le conduire à \bname{Venise} à moins de trente mille piastres. «Vous
+en aurez donc trente mille», répondit \bname{Candide}.
+
+«Oh! oh! se dit encore le marchand hollandais, trente mille piastres ne
+coûtent rien à cet homme-ci; sans doute les deux moutons portent des
+trésors immenses; n’insistons pas davantage: faisons-nous d’abord payer
+les trente mille piastres, et puis nous verrons.» \bname{Candide}, vendit deux
+petits diamants, dont le moindre valait plus que tout l’argent que
+demandait le patron. Il le paya d’avance. Les deux moutons furent
+embarqués. \bname{Candide} suivait dans un petit bateau pour joindre le
+vaisseau à la rade; le patron prend son temps, met à la voile, démarre;
+le vent le favorise. \bname{Candide} éperdu et stupéfait le perd bientôt de
+vue. «Hélas! cria-t-il, voilà un tour digne de l’Ancien Monde.» Il
+retourne au rivage, abîmé dans la douleur; car enfin il avait perdu de
+quoi faire la fortune de vingt monarques.
+
+Il se transporte chez le juge hollandais; et, comme il était un peu
+troublé, il frappe rudement à la porte; il entre, expose son aventure,
+et crie un peu plus haut qu’il ne convenait. Le juge commença par lui
+faire payer dix mille piastres pour le bruit qu’il avait fait: ensuite
+il l’écouta patiemment, lui promit d’examiner son affaire sitôt que le
+marchand serait revenu, et se fit payer dix mille autres piastres pour
+les frais de l’audience.
+
+Ce procédé acheva de désespérer \bname{Candide}; il avait à la vérité essuyé
+des malheurs mille fois plus douloureux; mais le sang froid du juge, et
+celui du patron dont il était volé, alluma sa bile, et le plongea dans
+une noire
+mélancolie. La méchanceté des hommes se présentait à son
+esprit dans toute sa laideur, il ne se nourrissait que d’idées tristes.
+Enfin un vaisseau français étant sur le point de partir pour Bordeaux,
+comme il n’avait plus de moutons chargés de diamants à embarquer, il
+loua une chambre du vaisseau à juste prix, et fit signifier dans la
+ville qu’il paierait le passage, la nourriture, et donnerait deux mille
+piastres à un honnête homme qui voudrait faire le voyage avec lui, à
+condition que cet homme serait le plus dégoûté de son état, et le plus
+malheureux de la province.
+
+
+Il se présenta une foule de prétendants qu’une flotte n’aurait pu
+contenir. \bname{Candide}, voulant choisir entre les plus apparents, il
+distingua une vingtaine de personnes qui lui paraissaient sociables, et
+qui toutes prétendaient mériter la préférence. Il les assembla dans son
+cabaret, et leur donna à souper, à condition que chacun ferait serment
+de raconter fidèlement son histoire, promettant de choisir celui qui
+lui paraîtrait le plus à plaindre et le plus mécontent de son état, à
+plus juste titre, et de donner aux autres quelques gratifications.
+
+La séance dura jusqu’à quatre heures du matin. \bname{Candide}, en écoutant
+toutes leurs aventures, se ressouvenait de ce que lui avait dit la
+vieille en allant à \bname{Buenos} Aires, et de la gageure qu’elle avait faite,
+qu’il n’y avait personne sur le vaisseau à qui il ne fût arrivé de très
+grands malheurs. Il songeait à \bname{Pangloss} à chaque aventure qu’on lui
+contait. Ce \bname{Pangloss}, disait-il, serait bien embarrassé à démontrer son
+système. Je voudrais qu’il fût ici. Certainement si tout va bien, c’est
+dans Eldorado, et non pas dans le reste de la terre. Enfin il se
+détermina en faveur d’un pauvre savant qui avait travaillé dix ans pour
+les libraires à Amsterdam. Il jugea qu’il n’y avait point de métier au
+monde dont on dût être plus dégoûté.
+
+Ce savant, qui était d’ailleurs un bon homme, avait été volé par sa
+femme, battu par son fils, et abandonné de sa fille, qui s’était fait
+enlever par un Portugais. Il venait d’être privé d’un petit emploi
+duquel il subsistait; et les prédicants de Surinam le persécutaient,
+parce qu’ils le prenaient pour un socinien. Il faut avouer que les
+autres étaient pour le moins aussi malheureux que lui; mais \bname{Candide}
+espérait que le \bname{savant} le désennuierait dans le voyage. Tous ses autres
+rivaux trouvèrent que \bname{Candide} leur faisait une grande injustice; mais il
+les apaisa en leur donnant à chacun cent piastres.
+
+
+
+\chapter{Ce qui arriva sur mer à \bname{Candide} et à \bname{Martin}}
+
+
+\lettrine{L}{e vieux} savant, qui s’appelait \bname{Martin}, s’embarqua donc pour Bordeaux
+avec \bname{Candide}. L’un et l’autre avaient beaucoup vu et beaucoup souffert;
+et quand le vaisseau aurait dû faire voile de Surinam au Japon par le
+cap de Bonne-Espérance, ils auraient eu de quoi s’entretenir du mal
+moral et du mal physique pendant tout le voyage.
+
+
+Cependant \bname{Candide} avait un grand avantage sur \bname{Martin}, c’est qu’il
+espérait toujours revoir M\up{lle}~\bname{Cunégonde}, et que \bname{Martin} n’avait
+rien à espérer; de plus il avait de l’or et des diamants; et, quoiqu’il
+eût perdu cent gros moutons rouges chargés des plus grands trésors de
+la terre, quoiqu’il eût toujours sur le cœur la friponnerie du patron
+hollandais, cependant quand il songeait à ce qui lui restait dans ses
+poches, et quand il parlait de \bname{Cunégonde}, surtout à la fin du repas, il
+penchait alors pour le système de \bname{Pangloss}.
+
+
+«Mais vous, monsieur \bname{Martin}, dit-il au savant, que pensez-vous de tout
+cela? quelle est votre idée sur le mal moral et le mal physique?
+— Monsieur, répondit \bname{Martin}, mes prêtres m’ont accusé d’être socinien;
+mais la vérité du fait est que je suis manichéen. — Vous vous moquez
+de moi, dit \bname{Candide}; il n’y a plus de manichéens dans le monde. — Il y a
+moi, dit \bname{Martin}: je ne sais qu’y faire; mais je ne peux penser
+autrement. — Il faut que vous ayez le diable au corps, dit \bname{Candide}. — Il se
+mêle si fort des affaires de ce monde, dit \bname{Martin}, qu’il pourrait bien
+être dans mon corps, comme partout ailleurs; mais je vous avoue qu’en
+jetant la vue sur ce globe, ou plutôt sur ce globule, je pense que Dieu
+l’a abandonné à quelque être malfaisant; j’en excepte toujours
+Eldorado. Je n’ai guère vu de ville qui ne désirât la ruine de la ville
+voisine, point de famille qui ne voulût exterminer quelque autre
+famille. Partout les faibles ont en exécration les puissants devant
+lesquels ils rampent, et les puissants les traitent comme des troupeaux
+dont on vend la laine et la chair. Un million d’assassins enrégimentés,
+courant d’un bout de \bname{l’Europe} à
+ l’autre, exerce le meurtre et le
+brigandage avec discipline pour gagner son pain, parce qu’il n’a pas de
+métier plus honnête; et dans les villes qui paraissent jouir de la
+paix, et où les arts fleurissent, les hommes sont dévorés de plus
+d’envie, de soins, et d’inquiétudes, qu’une ville assiégée n’éprouve de
+fléaux. Les chagrins secrets sont encore plus cruels que les misères
+publiques. En un mot j’en ai tant vu et tant éprouvé, que \linebreak je suis
+manichéen.
+
+
+
+— Il y a pourtant du bon, répliquait \bname{Candide}. — Cela peut être, disait
+\bname{Martin}; mais je ne le connais pas.»
+
+
+
+Au milieu de cette dispute, on entendit un bruit de canon. Le bruit
+redouble de moment en moment. Chacun prend sa lunette. On aperçoit deux
+vaisseaux qui combattaient à la distance d’environ trois milles: le
+vent les amena l’un et l’autre si près du vaisseau français, qu’on eut
+le plaisir de voir le combat tout à son aise. Enfin l’un des deux
+vaisseaux lâcha à l’autre une bordée si bas et si juste, qu’il le coula
+à fond. \bname{Candide} et \bname{Martin} aperçurent distinctement une centaine
+d’hommes sur le tillac du vaisseau qui s’enfonçait; ils levaient tous
+les mains au ciel, et jetaient des clameurs effroyables; en un moment
+tout fut englouti.
+
+Eh bien! dit \bname{Martin}, voilà comme les hommes se traitent les uns les
+autres. Il est vrai, dit \bname{Candide}, qu’il y a quelque chose de diabolique
+dans cette affaire. En parlant ainsi, il aperçut je ne sais quoi d’un
+rouge éclatant, qui nageait auprès de son vaisseau. On détacha la
+chaloupe pour voir ce que ce pouvait être; c’était un de ses moutons.
+\bname{Candide} eut plus de joie de retrouver ce mouton, qu’il n’avait été
+affligé d’en perdre cent tous chargés de gros diamants d’Eldorado.
+
+Le capitaine français aperçut bientôt que le capitaine du vaisseau
+submergeant était espagnol, et que celui du vaisseau submergé était un
+pirate hollandais; c’était celui-là même qui avait volé \bname{Candide}. Les
+richesses immenses dont ce scélérat s’était emparé furent ensevelies
+avec lui dans la mer, et il n’y eut qu’un mouton de sauvé. «Vous voyez,
+dit \bname{Candide} à \bname{Martin}, que le crime est puni quelquefois; ce coquin de
+patron hollandais a eu le sort qu’il méritait. — Oui, dit \bname{Martin}; mais
+fallait-il que les passagers qui étaient sur son vaisseau périssent
+aussi? Dieu a puni ce fripon, le diable a noyé \linebreak les autres.»
+
+Cependant le vaisseau français et l’espagnol continuèrent leur route,
+et \bname{Candide} continua ses conversations avec \bname{Martin}. Ils disputèrent
+quinze jours de suite, et au bout de quinze jours ils étaient aussi
+avancés que le premier. Mais enfin ils parlaient, ils se communiquaient
+des idées, ils se consolaient. \bname{Candide} caressait son mouton. «Puisque je
+t’ai retrouvé, dit-il, je pourrai bien retrouver \bname{Cunégonde}.»
+
+
+
+\chapter[Candide et \bname{Martin} approchent des côtes…]{Candide et \bname{Martin} approchent des côtes\\ de France, et raisonnent.}
+
+
+\lettrine{O}{n aperçut} enfin les côtes de France. «Avez-vous jamais été en France,
+monsieur \bname{Martin}? dit \bname{Candide}. — Oui, dit \bname{Martin}, j’ai parcouru plusieurs
+provinces. Il y en a où la moitié des habitants est folle, quelques
+unes où l’on est trop rusé, d’autres où l’on est communément assez doux
+et assez bête, d’autres où l’on fait le bel esprit; et, dans toutes, la
+principale occupation est l’amour, la seconde, de médire; et la
+troisième, de dire des sottises. — Mais, monsieur \bname{Martin}, avez-vous vu
+Paris? — Oui, j’ai vu Paris; il tient de toutes ces espèces-là; c’est un
+chaos, c’est une presse dans laquelle tout le monde cherche le plaisir,
+et où presque personne ne le trouve, du moins à ce qu’il m’a paru. J’y
+ai séjourné peu; j’y fus volé, en arrivant, de tout ce que j’avais, par
+des filous, à la foire Saint-Germain; on me prit moi-même pour un
+voleur, et je fus huit jours en prison; après quoi je me fis correcteur
+d’imprimerie pour gagner de quoi retourner à pied en \bname{Hollande}. Je
+connus la canaille écrivante, la canaille cabalante, et la canaille
+convulsionnaire. On dit qu’il y a des gens fort polis dans cette
+ville-là: je le veux croire.
+
+— Pour moi, je n’ai nulle curiosité de voir la France, dit \bname{Candide}; vous
+devinez aisément que quand on a passé un mois dans Eldorado, on ne se
+soucie plus de rien voir sur la terre que M\up{lle}~\bname{Cunégonde}; je
+vais l’attendre à \bname{Venise}; nous
+traverserons
+ la France pour aller en
+Italie; ne m’accompagnerez-vous pas? — Très volontiers, dit \bname{Martin}: on
+dit que \bname{Venise} n’est bonne que pour les nobles Vénitiens, mais que
+cependant on y reçoit très bien les étrangers quand ils ont beaucoup
+d’argent; je n’en ai point; vous en avez, je vous suivrai partout. — À
+propos, dit \bname{Candide}, pensez-vous que la terre ait été originairement
+une mer, comme on l’assure dans ce gros livre qui appartient au
+capitaine du vaisseau? — Je n’en crois rien du tout, dit \bname{Martin}, non
+plus que de toutes les rêveries qu’on nous débite depuis quelque temps.
+— Mais à quelle fin ce monde a-t-il donc été formé? dit \bname{Candide}. — Pour
+nous faire enrager, répondit \bname{Martin}. — N’êtes-vous pas bien étonné,
+continua \bname{Candide}, de l’amour que ces deux filles du pays des Oreillons
+avaient pour ces deux singes, et dont je vous ai conté l’aventure?
+— Point du tout, dit \bname{Martin}, je ne vois pas ce que cette passion a
+d’étrange; j’ai tant vu de choses extraordinaires, qu’il n’y a plus
+rien d’extraordinaire pour moi. — Croyez-vous, dit \bname{Candide}, que les
+hommes se soient toujours mutuellement massacrés comme ils font
+aujourd’hui? qu’ils aient toujours été menteurs, fourbes, perfides,
+ingrats, brigands, faibles, volages, lâches, envieux, gourmands,
+ivrognes, avares, ambitieux, sanguinaires, calomniateurs, débauchés,
+fanatiques, hypocrites, et sots? — Croyez-vous, dit \bname{Martin}, que les
+éperviers aient toujours mangé des pigeons quand ils en ont trouvé?
+— Oui, sans doute, dit \bname{Candide}. — Eh bien! dit \bname{Martin}, si les éperviers ont
+toujours eu le même caractère, pourquoi voulez-vous que les hommes
+aient changé le leur? — Oh! dit \bname{Candide}, il y a bien de la différence,
+car le libre arbitre…» En raisonnant ainsi, ils arrivèrent à Bordeaux.
+
+
+
+\chapter[Ce qui arriva en France…]{Ce qui arriva en France à Candide et à \bname{Martin}}
+
+
+
+\lettrine{C}{andide} ne s’arrêta dans Bordeaux qu’autant de temps qu’il en fallait
+pour vendre quelques cailloux du \bname{Dorado}, et pour s’accommoder d’une
+bonne chaise à deux places; car il ne pouvait plus se passer de son
+philosophe \bname{Martin}; il fut seulement très fâché de se séparer de son
+mouton, qu’il laissa à l’académie des sciences de Bordeaux, laquelle
+proposa pour le sujet du prix de cette année de trouver pourquoi la
+laine de ce mouton était rouge; et le prix fut adjugé à un savant du
+Nord, qui démontra par A, plus B, moins C divisé par Z, que le mouton
+devait être rouge, et mourir de la clavelée.
+
+
+
+Cependant tous les voyageurs que \bname{Candide} rencontra dans les cabarets de
+la route lui disaient: «Nous allons à Paris.» Cet empressement général
+lui donna enfin l’envie de voir cette capitale; ce n’était pas beaucoup
+se détourner du chemin de \bname{Venise}.
+
+Il entra par le faubourg Saint-Marceau, et crut être dans le plus
+vilain village de la \bname{Westphalie}.
+
+
+À peine \bname{Candide} fut-il dans son auberge, qu’il fut attaqué d’une
+maladie légère, causée par ses fatigues. Comme il avait au doigt un
+diamant énorme, et qu’on avait aperçu dans son équipage une cassette
+prodigieusement pesante, il eut aussitôt auprès de lui deux médecins
+qu’il n’avait pas mandés, quelques amis intimes qui ne le quittèrent
+pas, et deux dévotes qui faisaient chauffer ses bouillons. \bname{Martin}
+disait: «Je me souviens d’avoir été malade aussi à Paris dans mon
+premier voyage; j’étais fort pauvre: aussi n’eus-je ni amis, ni
+dévotes, ni médecins, et je guéris.»
+
+Cependant, à force de médecines et de saignées, la maladie de \bname{Candide}
+devint sérieuse. Un habitué du quartier vint avec douceur lui demander
+un billet payable au porteur pour l’autre monde: \bname{Candide} n’en voulut
+rien faire; les dévotes l’assurèrent que c’était une nouvelle mode:
+\bname{Candide} répondit qu’il n’était point homme à la mode. \bname{Martin} voulut
+jeter l’habitué par les fenêtres. Le clerc jura qu’on n’enterrerait
+point \bname{Candide}. \bname{Martin} jura qu’il enterrerait le clerc, s’il continuait
+à les importuner. La querelle s’échauffa: \bname{Martin} le prit par les
+épaules, et le chassa rudement; ce qui causa un grand scandale, dont on
+fit un procès-verbal.
+
+\bname{Candide} guérit; et pendant sa convalescence il eut très bonne compagnie
+à souper chez lui. On jouait gros jeu. \bname{Candide} était tout étonné que
+jamais les as ne lui vinssent; et \bname{Martin} ne s’en étonnait pas.
+
+Parmi ceux qui lui faisaient les honneurs de la ville, il y avait un
+petit abbé périgourdin, l’un de ces gens empressés, toujours alertes,
+toujours serviables, effrontés, caressants, accommodants, qui guettent
+les étrangers à leur passage, leur content l’histoire scandaleuse de la
+ville, et leur offrent des plaisirs à tout prix. Celui-ci mena d’abord
+\bname{Candide} et \bname{Martin} à la comédie. On y jouait une tragédie nouvelle.
+\bname{Candide} se trouva placé auprès de quelques beaux esprits. Cela ne
+l’empêcha pas de pleurer à des scènes jouées parfaitement. Un des
+raisonneurs qui étaient à ses côtés lui dit dans un entr’acte: «Vous
+avez grand tort de pleurer, cette actrice est fort mauvaise; l’acteur
+qui joue avec elle est plus mauvais acteur encore; la pièce est encore
+plus mauvaise que les acteurs; l’auteur ne sait pas un mot d’arabe, et
+cependant la scène est en \bname{Arabie}; et, de plus, c’est un homme qui ne
+croit pas aux idées innées; je vous apporterai demain vingt
+brochures
+contre lui. — Monsieur, combien avez-vous de pièces de théâtre en
+France?» dit \bname{Candide} à l’abbé; lequel répondit: «Cinq ou six mille. — C’est
+beaucoup, dit \bname{Candide}: combien y en a-t-il de bonnes? —Quinze ou seize,
+répliqua l’autre. — C’est beaucoup», dit \bname{Martin}.
+
+
+
+\bname{Candide} fut très content d’une actrice qui faisait la reine Élisabeth,
+dans une assez plate tragédie, que l’on joue quelquefois. «Cette
+actrice, dit-il à \bname{Martin}, me plaît beaucoup; elle a un faux air de
+M\up{lle}~\bname{Cunégonde}; je serais bien aise de la saluer.» L’abbé
+périgourdin s’offrit à l’introduire chez elle. \bname{Candide}, élevé en
+\bname{Allemagne}, demanda quelle était l’étiquette, et comment on traitait en
+France les reines d’Angleterre. «Il faut distinguer, dit l’abbé: en
+province, on les mène au cabaret; à Paris, on les respecte quand elles
+sont belles, et on les jette à la voirie quand elles sont mortes. — Des
+reines à la voirie! dit \bname{Candide}. — Oui vraiment, dit \bname{Martin}; monsieur
+l’abbé a raison; j’étais à Paris quand M\up{lle}~Monime passa,
+comme on dit, de cette vie à l’autre; on lui refusa, ce que ces gens-ci
+appellent les \emph{honneurs de la sépulture}, c’est-à-dire de pourrir avec
+tous les gueux du quartier dans un vilain cimetière; elle fut enterrée
+toute seule de sa bande au coin de la rue de Bourgogne; ce qui dut lui
+faire une peine extrême, car elle pensait très noblement. — Cela est bien
+impoli, dit \bname{Candide}. — Que voulez-vous? dit \bname{Martin}; ces gens-ci sont
+ainsi faits. Imaginez toutes les contradictions, toutes les
+incompatibilités possibles, vous les verrez dans le gouvernement, dans
+les tribunaux, dans les églises, dans les spectacles de cette drôle de
+nation. — Est-il vrai qu’on rit toujours à Paris? dit \bname{Candide}. — Oui, dit
+l’abbé, mais c’est en enrageant; car on s’y plaint de tout avec de
+grands éclats de rire; même on y fait en riant les actions les plus
+\linebreak détestables.
+
+
+
+— Quel est, dit \bname{Candide}, ce gros cochon qui me disait tant de mal de la
+pièce où j’ai tant pleuré, et des acteurs qui m’ont fait tant de
+plaisir? — C’est un mal-vivant, répondit l’abbé, qui gagne sa vie à dire
+du mal de toutes les pièces et de tous les livres; il hait quiconque
+réussit, comme les eunuques haïssent les jouissants; c’est un de ces
+serpents de la littérature qui se nourrissent de fange et de venin;
+c’est un folliculaire. — Qu’appelez-vous folliculaire? dit \bname{Candide}.
+— C’est, dit l’abbé, un faiseur de feuilles, un \emph{Fréron}.»
+
+C’est ainsi que \bname{Candide}, \bname{Martin}, et le Périgourdin, raisonnaient sur
+l’escalier, en voyant défiler le monde au sortir de la pièce. «Quoique
+je sois très empressé de revoir M\up{lle}~\bname{Cunégonde}, dit \bname{Candide}, je
+voudrais pourtant souper avec M\up{lle}~Clairon, car elle m’a paru
+admirable.»
+
+L’abbé n’était pas homme à approcher de M\up{lle}~\bname{Clairon}, qui ne
+voyait que bonne compagnie. «Elle est engagée pour ce soir, dit-il; mais
+j’aurai l’honneur de vous mener chez une dame de qualité, et là vous
+connaîtrez Paris comme si vous y aviez été quatre ans.»
+
+\bname{Candide}, qui était naturellement curieux, se laissa mener chez la dame,
+au fond du faubourg Saint-Honoré; on y était occupé d’un pharaon; douze
+tristes pontes tenaient chacun en main un petit livre de cartes,
+registre cornu de leurs infortunes. Un profond silence régnait, la
+pâleur était sur le front des pontes, l’inquiétude sur celui du
+banquier; et la dame du logis, assise auprès de ce banquier
+impitoyable, remarquait avec des yeux de lynx tous les parolis, tous
+les sept et le va de campagne, dont chaque joueur cornait ses cartes;
+elle les faisait décorner avec une attention sévère, mais polie, et ne
+se fâchait point, de peur de perdre ses pratiques. La dame se faisait
+appeler la marquise de Parolignac. Sa fille, âgée de quinze ans, était
+au nombre des pontes, et avertissait d’un clin d’œil des friponneries
+de ces pauvres gens qui tâchaient de réparer les cruautés du sort.
+L’abbé périgourdin, \bname{Candide}, et \bname{Martin}, entrèrent; personne ne se leva,
+ni les salua, ni les regarda; tous étaient profondément occupés de
+leurs cartes. «M\up{me} la baronne de Thunder-ten-tronckh était plus
+civile», dit \bname{Candide}.
+
+Cependant l’abbé s’approcha de l’oreille de la marquise, qui se leva à
+moitié, honora \bname{Candide} d’un sourire gracieux, et \bname{Martin} d’un air de
+tête tout-à-fait noble; elle fit donner un siège et un jeu de cartes à
+\bname{Candide}, qui perdit cinquante mille francs en deux tailles: après quoi
+on soupa très gaiement; et tout le monde était étonné que \bname{Candide} ne
+fût pas ému de sa perte; les laquais disaient entre eux, dans leur
+langage de laquais: «Il faut que ce soit quelque milord anglais.» Le
+souper fut comme la plupart des soupers de Paris, d’abord du silence,
+ensuite un bruit de paroles qu’on ne distingue point, puis des
+plaisanteries dont la plupart sont insipides, de fausses nouvelles, de
+mauvais raisonnements, un peu de politique, et beaucoup de médisance;
+on parla même de livres nouveaux. «Avez-vous vu, dit l’abbé périgourdin,
+le roman du sieur Gauchat, docteur en théologie? — Oui, répondit un des
+convives, mais je n’ai pu l’achever. Nous avons une foule d’écrits
+impertinents; mais tous ensemble n’approchent pas de l’impertinence de
+\bname{Gauchat}, docteur en théologie; je suis si rassasié de cette
+immensité de détestables livres qui nous inondent, que je me suis mis à
+ponter au pharaon. — Et les \emph{\bname{Mélanges}} de l’archidiacre Trublet, qu’en
+dites-vous? dit l’abbé. — Ah! dit M\up{me} de Parolignac, l’ennuyeux
+mortel! comme il vous dit curieusement ce que tout le monde sait! comme
+il discute pesamment ce qui ne vaut pas la peine d’être remarqué
+légèrement! comme il s’approprie, sans esprit, l’esprit des autres!
+comme il gâte ce qu’il pille! comme il me dégoûte! mais il ne me
+dégoûtera plus; c’est assez d’avoir lu quelques pages de l’archidiacre.»
+
+
+Il y avait à table un homme savant et de goût qui appuya ce que disait
+la marquise. On parla ensuite de
+tragédies;
+ la dame demanda pourquoi il
+y avait des tragédies qu’on jouait quelquefois, et qu’on ne pouvait
+lire. L’homme de goût expliqua très bien comment une pièce pouvait
+avoir quelque intérêt, et n’avoir presque aucun mérite; il prouva en
+peu de mots que ce n’était pas assez d’amener une ou deux de ces
+situations qu’on trouve dans tous les romans, et qui séduisent toujours
+les spectateurs; mais qu’il faut être neuf sans être bizarre, souvent
+sublime et toujours naturel, connaître le cœur humain et le faire
+parler; être grand poète, sans que jamais aucun personnage de la pièce
+paraisse poète; savoir parfaitement sa langue, la parler avec pureté,
+avec une harmonie continue, sans que jamais la rime coûte rien au sens.
+«\bname{Quiconque}, ajouta-t-il,
+n’observe
+ pas toutes ces règles, peut faire une
+ou deux tragédies applaudies au théâtre, mais il ne sera jamais compté
+au rang des bons écrivains; il y a très peu de bonnes tragédies: les
+unes sont des idylles en dialogues bien écrits et bien rimés; les
+autres, des raisonnements politiques qui endorment, ou des
+amplifications qui rebutent; les autres, des rêves d’énergumène, en
+style barbare, des propos interrompus, de longues apostrophes aux
+dieux, parce qu’on ne sait point parler aux hommes, des maximes fausses,
+des lieux communs ampoulés.»
+
+
+\bname{Candide} écouta ce propos avec attention, et conçut une grande idée du
+discoureur; et, comme la marquise avait eu soin de le placer à côté
+d’elle, il s’approcha de son oreille, et prit la liberté de lui
+demander qui était cet homme qui parlait si bien. «C’est un savant, dit
+la dame, qui ne ponte point, et que l’abbé m’amène quelquefois à
+souper; il se connaît parfaitement en tragédies et en livres, et il a
+fait une tragédie sifflée, et un livre dont on n’a jamais vu hors de la
+boutique de son libraire qu’un exemplaire qu’il m’a dédié. — Le grand
+homme! dit \bname{Candide}, c’est un autre \bname{Pangloss}.»
+
+Alors se tournant vers lui, il lui dit: «Monsieur, vous pensez, sans
+doute, que tout est au mieux dans le monde physique et dans le moral,
+et que rien ne pouvait être autrement? — Moi, monsieur, lui répondit le
+savant, je ne pense rien de tout cela; je trouve que tout va de travers
+chez nous; que personne ne sait ni quel est son rang, ni quelle est sa
+charge, ni ce qu’il fait, ni ce qu’il doit faire, et qu’excepté le
+souper, qui est assez gai, et où il paraît assez d’union, tout le reste
+du temps se passe en querelles impertinentes; jansénistes contre
+molinistes, gens du parlement contre gens d’église, gens de lettres
+contre gens de lettres, courtisans contre courtisans, financiers contre
+le peuple, femmes contre maris, parents contre parents; c’est une
+guerre éternelle.»
+
+
+\bname{Candide} lui répliqua: «J’ai vu pis; mais un sage, qui depuis a eu le
+malheur d’être pendu, m’apprit que tout cela est à merveille; ce sont
+des ombres à un beau tableau. — Votre pendu se moquait du monde, dit
+\bname{Martin}; vos ombres sont des taches horribles. — Ce sont les hommes qui
+font les taches, dit \bname{Candide}, et ils ne peuvent pas s’en dispenser. — Ce
+n’est donc pas leur faute», dit \bname{Martin}. La plupart des pontes, qui
+n’entendaient rien à ce langage, buvaient; et \bname{Martin} raisonna avec le
+savant, et \bname{Candide} raconta une partie de ses aventures à la dame du
+logis.
+
+Après souper, la marquise mena \bname{Candide} dans son cabinet, et le fit
+asseoir sur un canapé. «Eh bien! lui dit-elle, vous aimez donc toujours
+éperdument M\up{lle}~\bname{Cunégonde} de Thunder-ten-tronckh? — Oui, madame,
+répondit \bname{Candide}.» La marquise lui répliqua avec un souris tendre: «Vous
+me répondez comme un jeune homme de \bname{Westphalie}; un Français m’aurait
+dit: Il est vrai que j’ai aimé M\up{lle}~\bname{Cunégonde}; mais en vous
+voyant, madame, je crains de ne la plus aimer. — Hélas! madame, dit
+\bname{Candide}, je répondrai comme vous voudrez. — Votre passion pour elle, dit
+la marquise, a commencé en ramassant son mouchoir; je veux que vous
+ramassiez ma jarretière. — De tout mon cœur, dit \bname{Candide}; et il la
+ramassa. — Mais je veux que vous me la remettiez», dit la dame; et \bname{Candide}
+la lui remit. «Voyez-vous, dit la dame, vous êtes étranger; je fais
+quelquefois languir mes amants de Paris quinze jours, mais je me rends
+à vous dès la première nuit, parce qu’il faut faire les honneurs de son
+pays à un jeune homme de \bname{Westphalie}.» La belle ayant aperçu deux énormes
+diamants aux deux mains de son jeune étranger, les loua de si bonne
+foi, que des doigts de \bname{Candide} ils passèrent aux doigts de la marquise.
+
+\looseness=1
+\bname{Candide}, en s’en retournant avec son abbé périgourdin, sentit quelques
+remords d’avoir fait une infidélité à M\up{lle}~\bname{Cunégonde}. M. l’abbé
+entra dans sa peine; il n’avait qu’une légère part aux cinquante mille
+livres perdues au jeu par \bname{Candide}, et à la valeur des deux brillants
+moitié donnés, moitié extorqués. Son dessein était de profiter, autant
+qu’il le pourrait, des avantages que la connaissance de \bname{Candide} pouvait
+lui procurer. Il lui parla beaucoup de \bname{Cunégonde}; et \bname{Candide} lui dit
+qu’il demanderait bien pardon à cette belle de son infidélité, quand il
+la verrait à \bname{ \bname{Venise}}.
+
+Le Périgourdin redoublait de politesses et d’attentions, et prenait un
+intérêt tendre à tout ce que \bname{Candide} disait, à tout ce qu’il faisait, à
+tout ce qu’il voulait faire.
+
+«Vous avez donc, monsieur, lui dit-il, un rendez-vous à \bname{Venise}? — Oui,
+monsieur l’abbé, dit \bname{Candide}; il faut absolument que j’aille trouver
+M\up{lle}~\bname{Cunégonde}.» Alors, engagé par le plaisir de parler de ce
+qu’il aimait, il conta, selon son usage, une partie de ses aventures
+avec cette illustre \bname{Westphalienne}.
+
+
+«Je crois, dit l’abbé, que M\up{lle}~\bname{Cunégonde} a bien de l’esprit, et
+qu’elle écrit des lettres charmantes. — Je n’en ai jamais reçu, dit
+\bname{Candide}; car, figurez-vous qu’ayant été chassé du château pour l’amour
+d’elle, je ne pus lui écrire; que bientôt après j’appris qu’elle était
+morte, qu’ensuite je la retrouvai, et que je la perdis, et que je lui
+ai envoyé à deux mille cinq cents lieues d’ici un exprès dont j’attends
+la réponse.»
+
+L’abbé écoutait attentivement, et paraissait un peu rêveur. Il prit
+bientôt congé des deux étrangers, après les avoir tendrement embrassés.
+Le lendemain \bname{Candide} reçut à son réveil une lettre conçue en ces
+termes:
+\par\vspace{\baselineskip}\par
+{\itshape Monsieur mon très cher amant, il y a huit jours que je suis malade en
+cette ville; j’apprends que vous y êtes. Je volerais dans vos bras si
+je pouvais remuer. J’ai su votre passage à Bordeaux; j’y ai laissé le
+fidèle \bname{Cacambo} et la vieille, qui doivent bientôt me suivre. Le
+gouverneur de \bname{Buenos} Aires a tout pris, mais il me reste votre cœur.
+Venez; votre présence me rendra la vie ou me fera mourir de plaisir.
+
+}
+\par\vspace{\baselineskip}\par
+Cette lettre charmante, cette lettre inespérée, transporta \bname{Candide}
+d’une joie inexprimable; et la maladie de sa chère \bname{Cunégonde} l’accabla
+de douleur. Partagé entre ces deux sentiments, il prend son or et ses
+diamants, et se fait conduire avec \bname{Martin} à l’hôtel où
+mademoiselle
+\bname{Cunégonde} demeurait. Il entre en tremblant d’émotion, son cœur
+palpite, sa voix sanglote; il veut ouvrir les rideaux du lit; il veut
+faire apporter de la lumière. «Gardez-vous-en bien, lui dit la suivante;
+la lumière la tue»; et soudain elle referme le rideau. «Ma chère
+\bname{Cunégonde}, dit \bname{Candide} en pleurant, comment vous portez-vous? si vous
+ne pouvez me voir, parlez-moi du moins. — Elle ne peut parler», dit la
+suivante, la dame alors tire du lit une main potelée que \bname{Candide} arrose
+longtemps de ses larmes, et qu’il remplit ensuite de diamants, en
+laissant un sac plein d’or sur le fauteuil.
+
+
+Au milieu de ses transports arrive un exempt suivi de l’abbé
+périgourdin et d’une escouade. «Voilà donc, dit-il, ces deux étrangers
+suspects?» Il les fait incontinent saisir, et ordonne à ses braves de
+les traîner en prison. «Ce n’est pas ainsi qu’on traite les voyageurs
+dans Eldorado, dit \bname{Candide}. — Je suis plus manichéen que jamais, dit
+\bname{Martin}. — Mais, monsieur, où nous menez-vous? dit \bname{Candide}. — Dans un cul de
+basse-fosse», dit l’exempt.
+
+\bname{Martin}, ayant repris son sang froid, jugea que la dame qui se
+prétendait \bname{Cunégonde} était une friponne, M. l’abbé périgourdin un
+fripon, qui avait abusé au plus vite de
+l'innocence
+ de \bname{Candide}, et
+l’exempt un autre fripon dont on pouvait aisément se débarrasser.
+
+
+Plutôt que de s’exposer aux procédures de la justice, \bname{Candide}, éclairé
+par son conseil, et d’ailleurs toujours impatient de revoir la
+véritable \bname{Cunégonde}, propose à l’exempt trois petits diamants d’environ
+trois mille pistoles chacun. — Ah! monsieur, lui dit l’homme au bâton
+d’ivoire, eussiez-vous commis tous les crimes imaginables, vous êtes le
+plus honnête homme du monde; trois diamants! chacun de trois mille
+pistoles! Monsieur! je me ferais tuer pour vous, au lieu de vous mener
+dans un cachot. On arrête tous les étrangers, mais laissez-moi faire;
+j’ai un frère à Dieppe en Normandie; je vais vous y mener; et si vous
+avez quelque diamant à lui donner, il aura soin de vous comme moi-même.
+
+— Et pourquoi arrête-t-on tous les étrangers? dit \bname{Candide}. L’abbé
+périgourdin prit alors la parole, et dit: «C’est parce qu’un gueux du
+pays d’Atrébatie a entendu dire des sottises; cela seul lui a fait
+commettre un parricide, non pas tel que celui de 1610 au mois de
+mai, mais tel que celui de 1594 au mois de décembre, et tel que
+plusieurs autres commis dans d’autres années et dans d’autres mois par
+d’autres gueux qui avaient entendu dire des sottises.»
+
+
+
+L’exempt alors expliqua de quoi il s’agissait. «Ah! les monstres!
+s’écria \bname{Candide}; quoi! de telles horreurs chez un peuple qui danse et
+qui chante! Ne pourrai-je sortir au plus vite de ce pays où des singes
+agacent des tigres? J’ai vu des ours dans mon pays; je n’ai vu des
+hommes que dans le Dorado. Au nom de Dieu, monsieur l’exempt, menez-moi
+à \bname{Venise}, où je dois attendre M\up{lle}~\bname{Cunégonde}. — Je ne peux vous
+mener qu’en Basse-Normandie, dit le barigel.» Aussitôt il lui fait
+ôter ses fers, dit qu’il s’est mépris, renvoie ses gens, emmène à
+Dieppe \bname{Candide} et \bname{Martin}, et les laisse entre les mains de son frère.
+Il y avait un petit vaisseau hollandais à la rade. Le Normand, à l’aide
+de trois autres diamants, devenu le plus serviable des hommes, embarque
+\bname{Candide} et ses gens dans le vaisseau qui allait faire voile pour
+Portsmouth en Angleterre. Ce n’était pas le chemin de \bname{Venise}; mais
+\bname{Candide} croyait être délivré de l’enfer; et il comptait bien reprendre
+la route de \bname{Venise} à la première occasion.
+
+
+
+
+
+\chapter[Candide et \bname{Martin} vont sur les côtes…]{Candide et \bname{Martin} vont sur les côtes d’Angleterre;\\ ce qu’ils y voient}
+
+
+\lettrine[ante=«]{A}{h! \bname{Pangloss}!} \bname{Pangloss}! Ah! \bname{Martin}! \bname{Martin}! Ah! ma chère \bname{Cunégonde}!
+qu’est-ce que ce monde-ci?» disait \bname{Candide} sur le vaisseau hollandais.
+— Quelque chose de bien fou et de bien abominable, répondait \bname{Martin}. — Vous
+connaissez l’Angleterre; y est-on aussi fou qu’en France? — C’est une
+autre espèce de folie, dit \bname{Martin}. Vous savez que ces deux nations sont
+en guerre pour quelques arpents de neige vers le Canada, et qu’elles
+dépensent pour cette belle guerre beaucoup plus que tout le Canada ne
+vaut.
+De vous dire précisément s’il y a plus de gens à lier dans un
+pays que dans un autre, c’est ce que mes faibles lumières ne me
+permettent pas; je sais seulement qu’en général les gens que nous
+allons voir sont fort atrabilaires.»
+
+
+En causant ainsi ils abordèrent à Portsmouth; une multitude de peuple
+couvrait le rivage, et regardait attentivement un assez gros homme qui
+était à genoux, les yeux bandés, sur le tillac d’un des vaisseaux de la
+flotte; quatre soldats, postés vis-à-vis de cet homme, lui tirèrent
+chacun trois balles dans le crâne, le plus paisiblement du monde; et
+toute l’assemblée s’en retourna extrêmement satisfaite. «Qu’est-ce
+donc que tout ceci? dit \bname{Candide}; et quel démon exerce partout son
+empire?» Il demanda qui était ce gros homme qu’on venait de tuer en
+cérémonie.
+«C’est un amiral, lui répondit-on. — Et pourquoi tuer cet
+amiral? — C’est, lui dit-on, parce qu’il n’a pas fait tuer assez de monde;
+il a livré un combat à un amiral français, et on a trouvé qu’il n’était
+pas assez près de lui. — Mais, dit \bname{Candide}, l’amiral français était aussi
+loin de l’amiral anglais que celui-ci l’était de l’autre! — Cela est
+incontestable, lui répliqua-t-on; mais dans ce pays-ci il est bon de
+tuer de temps en temps un amiral pour encourager les autres.»
+
+
+\bname{Candide} fut si étourdi et si choqué de ce qu’il voyait et de ce qu’il
+entendait, qu’il ne voulut pas seulement mettre pied à terre, et qu’il
+fit son marché avec le patron hollandais (dût-il le voler comme celui
+de Surinam), pour le conduire sans délai à \bname{Venise}.
+
+Le patron fut prêt au bout de deux jours. On côtoya la France; on passa
+à la vue de Lisbonne, et \bname{Candide} frémit. On entra dans le détroit et
+dans la \bname{Méditerranée}, enfin on aborda à \bname{Venise}. «Dieu soit loué! dit
+\bname{Candide}, en embrassant \bname{Martin}; c’est ici que je reverrai la belle
+\bname{Cunégonde}. Je compte sur \bname{Cacambo} comme sur moi-même. Tout est bien,
+tout va bien, tout va le mieux qu’il soit possible.»
+
+
+\chapter{De \bname{Paquette}, et de frère Giroflée}
+
+
+\lettrine{D}{ès} qu’il fut à \bname{Venise}, il fit chercher \bname{Cacambo} dans tous les cabarets,
+dans tous les cafés, chez toutes les filles de joie, et ne le trouva
+point. Il envoyait tous les jours à la découverte de tous les vaisseaux
+et de toutes les barques: nulles nouvelles de \bname{Cacambo}. «Quoi! disait-il
+à \bname{Martin}, j’ai eu le temps de passer de Surinam à Bordeaux, d’aller de
+Bordeaux à Paris, de Paris à Dieppe, de Dieppe à Portsmouth, de côtoyer
+le Portugal et l’Espagne, de traverser toute la Méditerranée, de passer
+quelques mois à \bname{Venise}; et la belle \bname{Cunégonde} n’est point venue! Je
+n’ai rencontré au lieu d’elle qu’une drôlesse et un abbé périgourdin!
+\bname{Cunégonde} est morte, sans doute; je n’ai plus qu’à mourir. Ah! il
+valait mieux rester dans le paradis du Dorado que de revenir dans cette
+maudite Europe. Que vous avez raison, mon cher \bname{Martin}! tout n’est
+qu’illusion et calamité.»
+
+Il tomba dans une mélancolie noire, et ne prit aucune part à l’opéra
+\emph{alla moda}, ni aux autres divertissements du carnaval; pas une dame ne
+lui donna la moindre
+tentation. \bname{Martin} lui dit: «Vous êtes bien simple,
+en vérité, de vous figurer qu’un valet métis, qui a cinq ou six
+millions dans ses poches, ira chercher votre maîtresse au bout du
+monde, et vous l’amènera à \bname{Venise}. Il la prendra pour lui, s’il la
+trouve; s’il ne la trouve pas, il en prendra une autre: je vous
+conseille d’oublier votre valet \bname{Cacambo} et votre maîtresse \bname{Cunégonde}.»
+\bname{Martin} n’était pas consolant. La mélancolie de \bname{Candide} augmenta, et
+\bname{Martin} ne cessait de lui prouver qu’il y avait peu de vertu et peu de
+bonheur sur la terre; excepté peut-être dans Eldorado, où personne
+ne pouvait aller.
+
+
+
+En disputant sur cette matière importante, et en attendant \bname{Cunégonde},
+\bname{Candide} aperçut un jeune théatin dans la place Saint-Marc, qui tenait
+sous le bras une fille. Le théatin paraissait frais, potelé, vigoureux;
+ses yeux étaient brillants, son air assuré, sa mine haute, sa démarche
+fière. La fille était très jolie, et chantait; elle regardait
+amoureusement son théatin, et de temps en temps lui pinçait ses grosses
+joues. «Vous m’avouerez du moins, dit \bname{Candide} à \bname{Martin}, que ces gens-ci
+sont heureux. Je n’ai trouvé jusqu’à présent dans toute la terre
+habitable, excepté dans Eldorado, que des infortunés; mais pour cette
+fille et ce théatin, je gage que ce sont des créatures très heureuses.
+«Je gage que non, dit \bname{Martin}. — Il n’y a qu’à les prier à dîner, dit
+\bname{Candide}, et vous verrez si je me trompe.»
+
+Aussitôt il les aborde, il leur fait son compliment, et les invite à
+venir à son hôtellerie manger des macaronis, des perdrix de Lombardie,
+des œufs d’esturgeon, et à boire du vin de Montepulciano, du
+lacryma-christi, du chypre, et du samos. La demoiselle rougit, le
+théatin accepta la partie, et la fille le suivit en regardant \bname{Candide}
+avec des yeux de surprise et de confusion, qui furent obscurcis de
+quelques larmes. À peine fut-elle entrée dans la chambre de \bname{Candide},
+qu’elle lui dit: «Eh quoi! monsieur \bname{Candide} ne reconnaît plus \bname{Paquette}!»
+À ces mots \bname{Candide}, qui ne l’avait pas considérée jusque-là avec
+attention, parce qu’il n’était occupé que de \bname{Cunégonde}, lui dit: «Hélas!
+ma pauvre enfant, c’est donc vous qui avez mis le docteur \bname{Pangloss} dans
+le bel état où je l’ai vu?
+
+
+— Hélas! monsieur, c’est moi-même, dit \bname{Paquette}; je vois que vous êtes
+instruit de tout. J’ai su les malheurs
+épouvantables
+ arrivés à toute la
+maison de M\up{me} la baronne et à la belle \bname{Cunégonde}. Je vous jure que
+ma destinée n’a guère été moins triste. J’étais fort innocente quand
+vous m’avez vue. Un cordelier, qui était mon confesseur, me séduisit
+aisément. Les suites en furent affreuses; je fus obligée de sortir du
+château quelque temps après que M.~le baron vous eut renvoyé à grands
+coups de pied dans le derrière. Si un fameux médecin n’avait pas pris
+pitié de moi, j’étais morte. Je fus quelque temps par reconnaissance la
+maîtresse de ce médecin. Sa femme, qui était jalouse à la rage, me
+battait tous les jours impitoyablement; c’était une furie. Ce médecin
+était le plus laid de tous les hommes, et moi la plus malheureuse de
+toutes les créatures d’être battue continuellement pour un homme que je
+n’aimais pas. Vous savez, monsieur, combien il est dangereux pour une
+femme acariâtre d’être l’épouse d’un médecin. Celui-ci, outré des
+procédés de sa femme, lui donna un jour, pour la guérir d’un petit
+rhume, une médecine si efficace, qu’elle en mourut en deux heures de
+temps dans des convulsions horribles. Les parents de madame intentèrent
+à monsieur un procès criminel; il prit la fuite, et moi je fus mise en
+prison. Mon innocence ne m’aurait pas sauvée, si je n’avais été un peu
+jolie. Le juge m’élargit à condition qu’il succéderait au médecin. Je
+fus bientôt supplantée par une rivale, chassée sans récompense, et
+obligée de continuer ce métier abominable qui vous paraît si plaisant à
+vous autres hommes, et qui n’est pour nous qu’un abîme de misère.
+J’allai exercer la profession à \bname{Venise}. Ah! monsieur, si vous pouviez
+vous imaginer ce que c’est que d’être obligée de caresser
+indifféremment un vieux marchand, un avocat, un moine, un gondolier, un
+abbé; d’être exposée à toutes les insultes, à toutes les avanies;
+d’être souvent réduite à emprunter une jupe pour aller se la faire
+lever par un homme dégoûtant; d’être volée par l’un de ce qu’on a gagné
+avec l’autre; d’être rançonnée par les officiers de justice, et de
+n’avoir en perspective qu’une vieillesse affreuse, un hôpital, et un
+fumier, vous concluriez que je suis une des plus malheureuses créatures
+du monde.»
+
+\bname{Paquette} ouvrait ainsi son cœur au bon \bname{Candide}, dans un cabinet, en
+présence de \bname{Martin}, qui disait à \bname{Candide}: «Vous voyez que j’ai déjà
+gagné la moitié de la gageure.»
+
+
+Frère Giroflée était resté dans la salle à manger, et buvait un coup en
+attendant le dîner. «Mais, dit \bname{Candide} à \bname{Paquette}, vous aviez l’air si
+gai, si content, quand je vous ai rencontrée; vous chantiez, vous
+caressiez le théatin avec une complaisance naturelle; vous m’avez paru
+aussi heureuse que vous prétendez être infortunée. — Ah! monsieur,
+répondit \bname{Paquette}, c’est encore là une des misères du métier. J’ai été
+hier volée et battue par un officier, et il faut aujourd’hui que je
+paraisse de bonne humeur pour plaire à un moine.»
+
+\bname{Candide} n’en voulut pas davantage; il avoua que \bname{Martin} avait raison. On
+se mit à table avec \bname{Paquette} et le théatin; le repas fut assez amusant,
+et sur la fin on se parla avec quelque confiance. «Mon père, dit \bname{Candide}
+au moine, vous me paraissez jouir d’une destinée que tout le monde doit
+envier; la fleur de la santé brille sur votre visage, votre physionomie
+annonce le bonheur; vous avez une très jolie fille pour votre
+récréation, et vous paraissez très content de votre état de théatin.
+
+
+— Ma foi, monsieur, dit frère Giroflée, je voudrais que tous les théatins
+fussent au fond de la mer. J’ai été tenté cent fois de mettre le feu au
+couvent, et d’aller me faire turc. Mes parents me forcèrent, à l’âge de
+quinze ans, d’endosser cette détestable robe, pour laisser plus de
+fortune à un maudit frère aîné, que Dieu confonde! La jalousie, la
+discorde, la rage, habitent dans le couvent. Il est vrai que j’ai
+prêché quelques mauvais sermons qui m’ont valu un peu d’argent dont le
+prieur me vole la moitié; le reste me sert à entretenir des filles:
+mais quand je rentre le soir dans le monastère, je suis prêt à me
+casser la tête contre les murs du dortoir; et tous mes confrères sont
+dans le même cas.»
+
+\bname{Martin} se tournant vers \bname{Candide} avec son sang froid ordinaire: «Eh bien!
+lui dit-il, n’ai-je pas gagné la gageure tout entière?» \bname{Candide} donna
+deux mille piastres à \bname{Paquette}, et mille piastres à frère Giroflée. «Je
+vous réponds, dit-il, qu’avec cela ils seront heureux. — Je n’en crois
+rien du tout, dit \bname{Martin}; vous les rendrez peut-être avec ces piastres
+beaucoup plus malheureux encore. — Il en sera ce qui pourra, dit \bname{Candide}:
+mais une chose me console, je vois qu’on retrouve souvent les gens
+qu’on ne croyait jamais retrouver; il se pourra bien faire qu’ayant
+rencontré mon mouton rouge et \bname{Paquette}, je rencontre aussi \bname{Cunégonde}.
+— Je souhaite, dit \bname{Martin}, qu’elle fasse un jour votre bonheur; mais
+c’est de quoi je doute fort. — Vous êtes bien dur, dit \bname{Candide}. — C’est que
+j’ai vécu, dit \bname{Martin}.
+
+— Mais regardez ces gondoliers, dit \bname{Candide}: ne
+chantent-ils pas sans cesse? — Vous ne les voyez pas dans leur ménage,
+avec leurs femmes et leurs marmots d’enfants, dit \bname{Martin}. Le doge a ses
+chagrins, les gondoliers ont les leurs. Il est vrai qu’à tout prendre
+le sort d’un gondolier est préférable à celui d’un doge; mais je crois
+la différence si médiocre, que cela ne vaut pas la peine d’être
+examiné.
+
+— On parle, dit \bname{Candide}, du sénateur \bname{Pococurante}, qui demeure dans ce
+beau palais sur la Brenta, et qui reçoit assez bien les étrangers. On
+prétend que c’est un homme qui n’a jamais eu de chagrin. — Je voudrais
+voir une espèce si rare, dit \bname{Martin}.» \bname{Candide} aussitôt fit demander au
+seigneur \bname{Pococurante} la permission de venir le voir le lendemain.
+
+
+
+\chapter[Visite chez le seigneur \bname{Pococurante}…]{Visite chez le seigneur \bname{Pococurante}, noble vénitien}
+
+
+\lettrine{C}{andide} et \bname{Martin} allèrent en gondole sur la Brenta, et arrivèrent au
+palais du noble \bname{Pococurante}. Les jardins étaient bien entendus, et
+ornés de belles statues de marbre; le palais d’une belle architecture.
+Le maître du logis, homme de soixante ans, fort riche, reçut très
+poliment les deux curieux, mais avec très peu d’empressement, ce qui
+déconcerta \bname{Candide}, et ne déplut point à \bname{Martin}.
+
+
+ D’abord deux filles jolies et proprement mises servirent du chocolat,
+qu’elles firent très bien mousser. \bname{Candide} ne put s’empêcher de les
+louer sur leur beauté, sur leur bonne grâce, et sur leur adresse. «Ce
+sont d’assez bonnes créatures, dit le sénateur \bname{Pococurante}; je les fais
+quelquefois coucher dans mon lit; car je suis bien las des dames de la
+ville, de leurs coquetteries, de leurs jalousies, de leurs querelles,
+de leurs humeurs, de leurs petitesses, de leur orgueil, de leurs
+sottises, et des sonnets qu’il faut faire ou commander pour elles;
+mais, après tout, ces deux filles commencent fort à m’ennuyer.»
+
+
+\bname{Candide}, après le déjeuner, se promenant dans une longue galerie, fut
+surpris de la beauté des tableaux. Il demanda de quel maître étaient
+les deux premiers. «Ils sont de \bname{Raphaël}, dit le sénateur; je les achetai
+fort cher par vanité, il y a quelques années; on dit que c’est ce qu’il
+y a de plus beau en Italie, mais ils ne me plaisent point du tout: la
+couleur en est très rembrunie, les figures ne sont pas assez arrondies,
+et ne sortent point assez; les draperies ne ressemblent en rien à une
+étoffe: en un mot, quoi qu’on en dise, je ne trouve point là une
+imitation vraie de la nature. Je n’aimerai un tableau que quand je
+croirai voir la nature elle-même: il n’y en a point de cette espèce.
+J’ai beaucoup de tableaux, mais je ne les regarde plus.»
+
+\bname{Pococurante}, en attendant le dîner, se fit donner un concerto. \bname{Candide}
+trouva la musique délicieuse. «Ce bruit, dit \bname{Pococurante}, peut amuser
+une demi-heure; mais s’il dure plus long-temps, il fatigue tout le
+monde, quoique personne n’ose l’avouer. La musique aujourd’hui n’est
+plus que l’art d’exécuter des choses difficiles, et ce qui n’est que
+difficile ne plaît point à la longue.
+
+«J’aimerais peut être mieux l’opéra, si on n’avait pas trouvé le secret
+d’en faire un monstre qui me révolte. Ira voir qui voudra de mauvaises
+tragédies en musique, où les scènes ne sont faites que pour amener très
+mal à propos deux ou trois chansons ridicules qui font valoir le gosier
+d’une actrice; se pâmera de plaisir qui voudra ou qui pourra, en voyant
+un châtré fredonner le rôle de \bname{César} et de \bname{Caton}, et se promener d’un
+air gauche sur des planches: pour moi, il y a long-temps que j’ai
+renoncé à ces pauvretés qui font aujourd’hui la gloire de l’Italie, et
+que des souverains paient si chèrement.» \bname{Candide} disputa un peu, mais
+avec discrétion. \bname{Martin} fut entièrement de l’avis du sénateur.
+
+
+On se mit à table; et, après un excellent dîner, on entra dans la
+bibliothèque. \bname{Candide}, en voyant un Homère magnifiquement relié, loua
+l’illustrissime sur son bon goût. «Voilà, dit-il, un livre qui faisait
+les délices du grand \bname{Pangloss}, le meilleur philosophe de l’Allemagne.
+— Il ne fait pas les miennes, dit froidement \bname{Pococurante}: on me fit
+accroire autrefois que j’avais du plaisir en le lisant; mais cette
+répétition continuelle de combats qui se ressemblent tous, ces dieux
+qui agissent toujours pour ne rien faire de décisif, cette Hélène qui
+est le sujet de la guerre, et qui à peine est une actrice de la pièce;
+cette Troie qu’on assiège et qu’on ne prend point; tout cela me causait
+le plus mortel ennui. J’ai demandé quelquefois à des savants s’ils
+s’ennuyaient autant que moi à cette lecture: tous les gens sincères
+m’ont avoué que le livre leur tombait des mains, mais qu’il fallait
+toujours l’avoir dans sa bibliothèque, comme un monument de
+l’antiquité, et comme ces médailles rouillées qui ne peuvent être de
+commerce.
+
+— Votre excellence ne pense pas ainsi de Virgile? dit \bname{Candide}. — Je
+conviens, dit \bname{Pococurante}, que le second, le quatrième, et le sixième
+livre de son Énéide, sont excellents; mais pour son pieux Énée, et le
+fort Cloanthe, et l’ami Achates, et le petit Ascanius, et l’imbécile
+roi \bname{Latinus}, et la bourgeoise Amata, et l’insipide Lavinia, je ne crois
+pas qu’il y ait rien de si froid et de plus désagréable. J’aime mieux
+le Tasse et les contes à dormir debout de l’Arioste.
+
+
+— Oserais-je vous demander, monsieur, dit \bname{Candide}, si vous n’avez pas un
+grand plaisir à lire Horace? — Il y a des maximes, dit \bname{Pococurante}, dont
+un homme du monde peut faire son profit, et qui, étant resserrées dans
+des vers énergiques, se gravent plus aisément dans la mémoire: mais je
+me soucie fort peu de son voyage à Brindes, et de sa description d’un
+mauvais dîner, et de la querelle de crocheteurs entre je ne sais quel
+Pupilus dont les paroles, dit-il, \emph{étaient pleines de pus}, et un
+autre dont les paroles \emph{étaient du vinaigre}. Je n’ai lu qu’avec un
+extrême dégoût ses vers grossiers contre des vieilles et contre des
+sorcières; et je ne vois pas quel mérite il peut y avoir à dire à son
+ami Mæcenas que, s’il est mis par lui au rang des poètes lyriques, il
+frappera les astres de son front sublime. Les sots admirent tout
+dans un auteur estimé. Je ne lis que pour moi; je n’aime que ce qui est
+à mon usage.» \bname{Candide}, qui avait été élevé à ne jamais juger de rien par
+lui-même, était fort étonné de ce qu’il entendait; et \bname{Martin} trouvait
+la façon de penser de \bname{Pococurante} assez raisonnable.
+
+
+\looseness=1
+«Oh! voici un Cicéron, dit \bname{Candide}: pour ce grand homme-là, je pense que
+vous ne vous lassez point de le lire.
+%
+— Je ne le lis jamais, répondit le
+Vénitien. Que m’importe qu’il ait plaidé pour Rabirius ou pour
+Cluentius? J’ai bien assez des procès que je juge; je me serais mieux
+accommodé de ses œuvres philosophiques; mais quand j’ai vu qu’il
+doutait de tout, j’ai conclu que j’en savais autant que lui, et que je
+n’avais besoin de personne pour être ignorant.
+
+
+
+— Ah! voilà quatre-vingts volumes de recueils d’une académie des
+sciences, s’écria \bname{Martin}; il se peut qu’il y ait là du bon. — Il y en
+aurait, dit \bname{Pococurante}, si un seul des auteurs de ces fatras avait
+inventé seulement l’art de faire des épingles; mais il n’y a dans tous
+ces livres que de vains systèmes, et pas une seule chose utile.
+
+— Que de pièces de théâtre je vois là, dit \bname{Candide}, en italien, en
+espagnol, en français! — Oui, dit le sénateur, il y en a trois mille, et
+pas trois douzaines de bonnes. Pour ces recueils de sermons, qui tous
+ensemble ne valent pas une page de Sénèque, et tous ces gros volumes de
+théologie, vous pensez bien que je ne les ouvre jamais, ni moi ni
+personne.»
+
+
+
+\bname{Martin} aperçut des rayons chargés de livres anglais. «Je crois, dit-il,
+qu’un républicain doit se plaire à la plupart de ces ouvrages écrits si
+librement. — Oui, répondit \bname{Pococurante}, il est beau d’écrire ce qu’on
+pense; c’est le privilège de l’homme. Dans toute notre Italie, on
+n’écrit que ce qu’on ne pense pas; ceux qui habitent la patrie des
+Césars et des \bname{Antonins} n’osent avoir une idée sans la permission d’un
+jacobin. Je serais content de la liberté qui inspire les génies
+anglais, si la passion et l’esprit de parti ne corrompaient pas tout ce
+que cette précieuse liberté a d’estimable.»
+
+\looseness=1
+\bname{Candide} apercevant un Milton, lui demanda s’il ne regardait pas cet
+auteur comme un grand homme. «Qui? dit \bname{Pococurante}, ce barbare, qui fait
+un long commentaire du premier chapitre de la Genèse, en dix livres de
+vers durs? ce grossier imitateur des Grecs, qui défigure la création,
+et qui, tandis que Moïse représente l’Être éternel produisant le monde
+par la parole, fait prendre un grand compas par le Messiah dans une
+armoire du ciel pour tracer son ouvrage? Moi, j’estimerais celui qui a
+gâté l’enfer et le diable du Tasse; qui déguise Lucifer tantôt en
+crapaud, tantôt en pygmée; qui lui fait rebattre cent fois les mêmes
+discours; qui le fait disputer sur la théologie; qui, en imitant
+sérieusement l’invention comique des armes à feu de l’Arioste, fait
+tirer le canon dans le ciel par les diables? Ni moi, ni personne en
+Italie n’a pu se plaire à toutes ces tristes extravagances. Le mariage
+du péché et de la mort et les couleuvres dont le péché accouche, font
+vomir tout homme qui a le goût un peu délicat; et sa longue description
+d’un hôpital n’est bonne que pour un fossoyeur. Ce poème obscur,
+bizarre, et dégoûtant, fut méprisé à sa naissance; je le traite
+aujourd’hui comme il fut traité dans sa patrie par les
+contemporains. Au reste je dis ce que je pense, et je me soucie fort
+peu que les autres pensent comme moi.» \bname{Candide} était affligé de ces
+discours; il respectait Homère, il aimait un peu Milton. «Hélas! dit-il
+tout bas à \bname{Martin}, j’ai bien peur que cet homme-ci n’ait un souverain
+mépris pour nos poètes allemands. — Il n’y aurait pas grand mal à cela,
+dit \bname{Martin}. — Oh! quel homme supérieur! disait encore \bname{Candide} entre ses
+dents, quel grand génie que ce \bname{Pococurante}! rien ne peut lui plaire.
+
+
+
+Après avoir fait ainsi la revue de tous les livres, ils descendirent
+dans le jardin. \bname{Candide} en loua toutes les beautés. «Je ne sais rien de
+si mauvais goût, dit le maître; nous n’avons ici que des colifichets:
+mais je vais dès demain en faire planter un d’un dessin plus noble.»
+
+
+Quand les deux curieux eurent pris congé de son excellence: «Or çà, dit
+\bname{Candide} à \bname{Martin}, vous conviendrez que voilà le plus heureux de tous
+les hommes, car il est au-dessus de tout ce qu’il possède. — Ne
+voyez-vous pas, dit \bname{Martin}, qu’il est dégoûté de tout ce qu’il possède?
+Platon a dit, il y a long-temps, que les meilleurs estomacs ne sont pas
+ceux qui rebutent tous les aliments. — Mais, dit \bname{Candide}, n’y a-t-il pas
+du plaisir à tout critiquer, à sentir des défauts où les autres hommes
+croient voir des
+beautés? — C’est-à-dire, reprit \bname{Martin}, qu’il y a du
+plaisir à n’avoir pas de plaisir? — Oh bien! dit \bname{Candide}, il n’y a donc
+d’heureux que moi, quand je reverrai M\up{lle}~\bname{Cunégonde}. — C’est
+toujours bien fait d’espérer, dit \bname{Martin}.
+
+Cependant les jours, les semaines, s’écoulaient; \bname{Cacambo} ne revenait
+point, et \bname{Candide} était si abîmé dans sa douleur, qu’il ne fit pas même
+réflexion que \bname{Paquette} et frère Giroflée n’étaient pas venus seulement
+le remercier.
+
+
+\chapter[D’un souper que Candide et Martin firent…]{D’un souper que \bname{Candide} et \bname{Martin} firent\\avec six étrangers, et qui ils
+étaient}
+
+
+\lettrine{U}{n soir} que \bname{Candide}, suivi de \bname{Martin}, allait se mettre à table avec les
+étrangers qui logeaient dans la même hôtellerie, un homme à visage
+couleur de suie l’aborda par derrière, et, le prenant par le bras, lui
+dit: «Soyez prêt à partir avec nous, n’y manquez pas.» Il se retourne, et
+voit \bname{Cacambo}. Il n’y avait que la vue de \bname{Cunégonde} qui pût l’étonner et
+lui plaire davantage. Il fut sur le point de devenir fou de joie. Il
+embrasse son cher ami. «\bname{Cunégonde} est ici, sans doute? où est-elle?
+Mène-moi vers elle, que je meure de joie avec elle. — \bname{Cunégonde} n’est
+point ici, dit \bname{Cacambo}, elle est à Constantinople. — Ah ciel! à
+Constantinople! mais fût-elle à la Chine, j’y vole, partons. — Nous
+partirons après souper, reprit \bname{Cacambo}; je ne peux vous en dire
+davantage; je suis esclave, mon maître m’attend; il faut que j’aille le
+servir à table: ne dites mot, soupez, et tenez-vous prêt.»
+
+\bname{Candide}, partagé entre la joie et la douleur, charmé d’avoir revu son
+agent fidèle, étonné de le voir esclave, plein de l’idée de retrouver
+sa maîtresse, le cœur agité, l’esprit bouleversé, se mit à table avec
+\bname{Martin}, qui voyait de sang froid toutes ces aventures, et avec six
+étrangers, qui étaient venus passer le carnaval à \bname{Venise}.
+
+
+\bname{Cacambo}, qui versait à boire à l’un de ces six étrangers, s’approcha de
+l’oreille de son maître, sur la fin du repas, et lui dit: «Sire, Votre
+Majesté partira quand elle voudra, le vaisseau est prêt.» Ayant dit ces
+mots, il sortit. Les convives étonnés se regardaient sans proférer une
+seule parole, lorsqu’un autre domestique s’approchant de son maître,
+lui dit: «Sire, la chaise de Votre Majesté est à Padoue, et la barque
+est prête.» Le maître fit un signe, et le domestique partit. Tous les
+convives se regardèrent encore, et la surprise commune redoubla. Un
+troisième valet s’approchant aussi d’un troisième étranger, lui dit:
+«Sire, croyez-moi, Votre Majesté ne doit pas rester ici plus longtemps,
+je vais tout préparer»; et aussitôt il disparut.
+
+\bname{Candide} et \bname{Martin} ne doutèrent pas alors que ce ne fût une mascarade du
+carnaval. Un quatrième domestique dit au quatrième maître: «Votre
+Majesté partira quand elle voudra», et sortit comme les autres. Le
+cinquième valet en dit autant au cinquième maître. Mais le sixième
+valet parla différemment au sixième étranger qui était auprès de
+\bname{Candide}; il lui dit: «Ma foi, sire, on ne veut plus faire crédit à Votre
+Majesté ni à moi non plus, et nous pourrions bien être coffrés cette
+nuit vous et moi; je vais pourvoir à mes affaires: adieu.»
+
+Tous les domestiques ayant disparu, les six étrangers, \bname{Candide}, et
+\bname{Martin}, demeurèrent dans un profond silence. Enfin \bname{Candide} le rompit:
+«Messieurs, dit-il, voilà une singulière plaisanterie. Pourquoi
+êtes-vous tous rois? pour moi, je vous avoue que ni moi ni \bname{Martin} nous
+ne le sommes.»
+
+Le maître de \bname{Cacambo} prit alors gravement la parole, et dit en italien:
+«Je ne suis point plaisant, je m’appelle Achmet III; j’ai été
+grand-sultan plusieurs années; je détrônai mon frère; mon neveu m’a
+détrôné; on a coupé le cou à mes vizirs; j’achève ma vie dans le vieux
+sérail; mon neveu le grand-sultan Mahmoud me permet de voyager
+quelquefois pour ma santé; et je suis venu passer le carnaval à \bname{Venise}.»
+
+Un jeune homme qui était auprès d’Achmet parla après lui, et dit: «Je
+m’appelle Ivan; j’ai été empereur de toutes les Russies; j’ai été
+détrôné au berceau; mon père et ma mère ont été enfermés; on m’a élevé
+en prison; j’ai quelquefois la permission de voyager, accompagné de
+ceux qui me gardent; et je suis venu passer le carnaval à \bname{Venise}.»
+
+
+
+Le troisième dit: «Je suis Charles-Édouard, roi \bname{d’Angleterre};
+ mon
+père m’a cédé ses droits au royaume; j’ai combattu pour les soutenir;
+on a arraché le cœur à huit cents de mes partisans, et on leur en a
+battu les joues; j’ai été mis en prison; je vais à Rome faire une
+visite au roi mon père, détrôné ainsi que moi et mon grand-père; et je
+suis venu passer le carnaval à \bname{Venise}.»
+
+
+
+Le quatrième prit alors la parole et dit: «Je suis roi des Polaques; le
+sort de la guerre m’a privé de mes états héréditaires; mon père a
+éprouvé les mêmes revers; je me résigne à la Providence comme le sultan
+Achmet, l’empereur Ivan, et le roi Charles-Édouard, à qui Dieu donne
+une longue vie; et je suis venu passer le carnaval à \bname{Venise}.»
+
+
+
+Le cinquième dit: «Je suis aussi roi des Polaques; j’ai perdu mon
+royaume deux fois; mais la Providence m’a donné un autre état dans
+lequel j’ai fait plus de bien que tous les rois des Sarmates ensemble
+n’en ont jamais pu faire sur les bords de la Vistule. Je me résigne
+aussi à la Providence; et je suis venu passer le carnaval à \bname{Venise}.»
+
+
+
+Il restait au sixième monarque à parler. «Messieurs, dit-il, je ne suis
+pas si grand seigneur que vous; mais enfin j’ai été roi tout comme un
+autre; je suis Théodore; on m’a élu roi en Corse; on m’a appelé
+\textit{Votre Majesté}, et à présent à peine m’appelle-t-on \textit{monsieur}; j’ai
+fait frapper de la monnaie, et je ne possède pas un denier; j’ai eu
+deux secrétaires d’état, et j’ai à peine un valet; je me suis vu sur un
+trône, et j’ai longtemps été à Londres en prison sur la paille; j’ai
+bien peur d’être traité de même ici, quoique je sois venu, comme Vos
+Majestés, passer le carnaval à \bname{Venise}.»
+
+
+Les cinq autres rois écoutèrent ce discours avec une noble compassion.
+Chacun d’eux donna vingt sequins au roi \bname{Théodore} pour avoir des habits
+et des chemises; \bname{Candide} lui fit présent d’un diamant de deux mille
+sequins. «Quel est donc, disaient les cinq rois, cet homme qui est en
+état de donner cent fois autant que chacun de nous, et qui le donne?
+Êtes-vous roi aussi, monsieur? — Non, messieurs, et n’en ai nulle envie.»
+
+Dans l’instant qu’on sortait de table, il arriva dans la même
+hôtellerie quatre altesses sérénissimes qui avaient aussi perdu leurs
+états par le sort de la guerre, et qui venaient passer le reste du
+carnaval à \bname{Venise}; mais \bname{Candide} ne prit pas seulement garde à ces
+nouveaux venus. Il n’était occupé que d’aller trouver sa chère
+\bname{Cunégonde} à \bname{Constantinople}.
+
+
+
+\chapter{Voyage de \bname{Candide} à Constantinople}
+
+
+\lettrine{L}{e fidèle} \bname{Cacambo} avait déjà obtenu du patron turc qui allait
+reconduire le sultan Achmet à Constantinople qu’il recevrait \bname{Candide} et
+\bname{Martin} sur son bord. L’un et l’autre s’y rendirent après s’être
+prosternés devant Sa misérable Hautesse. \bname{Candide}, chemin faisant, disait
+à \bname{Martin}: «Voilà pourtant six rois détrônés avec qui nous avons soupé!
+et encore dans ces six rois il y en a un à qui j’ai fait l’aumône.
+Peut-être y a-t-il beaucoup d’autres princes plus infortunés. Pour moi,
+je n’ai perdu que cent moutons, et je vole dans les bras de \bname{Cunégonde}.
+Mon cher \bname{Martin}, encore une fois, \bname{Pangloss} avait raison, tout est bien.
+— Je le souhaite, dit \bname{Martin}. — Mais, dit \bname{Candide}, voilà une aventure bien
+peu vraisemblable que nous avons eue à \bname{Venise}. On n’avait jamais vu ni
+ouï conter que six rois détrônés soupassent ensemble au cabaret. — Cela
+n’est pas plus extraordinaire, dit \bname{Martin}, que la plupart des choses
+qui nous sont arrivées. Il est très commun que des rois soient
+détrônés; et à l’égard de l’honneur que nous avons eu de souper avec
+eux, c’est une bagatelle qui ne mérite pas notre attention.»
+% Qu’importe avec qui l’on soupe, pourvu qu’on fasse bonne chère?»
+
+À peine \bname{Candide} fut-il dans le vaisseau, qu’il sauta au cou de son
+ancien valet, de son ami \bname{Cacambo}. «Eh bien! lui dit-il, que fait
+\bname{Cunégonde}? est-elle toujours un prodige de beauté? m’aime-t-elle
+toujours? comment se porte-t-elle? Tu lui as, sans doute, acheté un
+palais à Constantinople?
+
+
+
+— Mon cher maître, répondit \bname{Cacambo}, \bname{Cunégonde} lave les écuelles sur le
+bord de la Propontide, chez un prince qui a très peu d’écuelles; elle
+est esclave dans la maison d’un ancien souverain, nommé \bname{Ragotski}, à
+qui le Grand-Turc donne trois écus par jour dans son asile; mais, ce
+qui est bien plus triste, c’est qu’elle a perdu sa beauté, et qu’elle
+est devenue horriblement laide. — Ah! belle ou laide, dit \bname{Candide}, je
+suis honnête homme, et mon devoir est de l’aimer toujours. Mais comment
+peut-elle être réduite à un état si abject avec les cinq ou six
+millions que tu avais emportés? — Bon, dit \bname{Cacambo}, ne m’en a-t-il pas
+fallu donner deux au senor don \bname{Fernando} d’Ibaraa, y Figueora, y
+Mascarenès, y \bname{Lampourdos}, y Souza, gouverneur de \bname{Buenos} Aires, pour
+avoir la permission de reprendre M\up{lle}~\bname{Cunégonde}? et un pirate
+ne nous a-t-il pas bravement dépouillés de tout le reste? Ce pirate ne
+nous a-t-il pas menés au cap de Matapan, à Milo, à Nicarie, à Samos, à
+Petra, aux \bname{Dardanelles}, à Marmara, à \bname{Scutari}? \bname{Cunégonde} et la vieille
+servent chez ce prince dont je vous ai parlé, et moi je suis esclave du
+sultan détrôné. — Que d’épouvantables calamités enchaînées les unes aux
+autres! dit \bname{Candide}. Mais, après tout, j’ai encore quelques diamants;
+je délivrerai aisément \bname{Cunégonde}. C’est bien dommage qu’elle soit
+devenue si laide.»
+
+
+
+Ensuite, se tournant vers \bname{Martin}: «Que pensez-vous, dit-il, qui soit le
+plus à plaindre, de l’empereur Achmet, de l’empereur Ivan, du roi
+Charles-Édouard, ou de moi? — Je n’en sais rien, dit \bname{Martin}; il faudrait
+que je fusse dans vos cœurs pour le savoir. — Ah! dit \bname{Candide}, si
+\bname{Pangloss} était ici, il le saurait, et nous l’apprendrait. — Je ne sais,
+dit \bname{Martin}, avec quelles balances votre \bname{Pangloss} aurait pu peser les
+infortunes des hommes, et apprécier leurs douleurs. Tout ce que je
+présume c’est qu’il y a des millions d’hommes sur la terre cent fois
+plus à plaindre que le roi Charles-Édouard, l’empereur Ivan, et le
+sultan Achmet. — Cela pourrait bien être», dit \bname{Candide}.
+
+On arriva en peu de jours sur le canal de la mer Noire. \bname{Candide}
+commença par racheter \bname{Cacambo} fort cher; et, sans perdre de temps, il
+se jeta dans une galère, avec ses compagnons, pour aller sur le rivage
+de la Propontide chercher \bname{Cunégonde}, quelque laide qu’elle pût être.
+
+
+Il y avait dans la chiourme deux forçats qui ramaient fort mal, et à
+qui le levanti patron appliquait de temps en temps quelques coups de
+nerf de bœuf sur leurs épaules nues; \bname{Candide}, par un mouvement
+naturel, les regarda plus attentivement que les autres galériens, et
+s’approcha d’eux avec pitié. Quelques traits de leurs visages défigurés
+lui parurent avoir un peu de ressemblance avec \bname{Pangloss} et avec ce
+malheureux jésuite, ce baron, ce frère de M\up{lle}~\bname{Cunégonde}. Cette
+idée l’émut et l’attrista. Il les considéra encore plus attentivement.
+«En vérité, dit-il à \bname{Cacambo}, si je n’avais pas vu pendre maître
+\bname{Pangloss}, et si je n’avais pas eu le malheur de tuer le baron, je
+croirais que ce sont eux qui rament dans cette galère.»
+
+
+Au nom du baron et de \bname{Pangloss} les deux forçats poussèrent un grand
+cri, s’arrêtèrent sur leur banc, et laissèrent tomber leurs rames. Le
+levanti patron accourait sur eux, et les coups de nerf de bœuf
+\bname{redoublaient}. «Arrêtez! arrêtez! seigneur, s’écria \bname{Candide}; je vous
+donnerai tant d’argent que vous voudrez. — Quoi! c’est \bname{Candide}! disait
+l’un des forçats; — quoi! c’est \bname{Candide}! disait l’autre. — Est-ce un songe?
+dit \bname{Candide}; veillé-je? suis-je dans cette galère? Est-ce là M.
+le baron, que j’ai tué? est-ce là maître \bname{Pangloss}, que j’ai vu pendre?
+
+
+— C’est nous-mêmes, c’est nous-mêmes, répondaient-ils. — Quoi! c’est là ce
+grand philosophe? disait \bname{Martin}. — Eh! monsieur le levanti patron, dit
+\bname{Candide}, combien voulez-vous d’argent pour la rançon de M. de
+Thunder-ten-tronckh, un des premiers barons de l’empire, et de M.~\bname{Pangloss}, le plus profond métaphysicien d’Allemagne? — Chien de chrétien,
+répondit le levanti patron, puisque ces deux chiens de forçats
+chrétiens sont des barons et des métaphysiciens, ce qui est sans doute
+une grande dignité dans leur pays, tu m’en donneras cinquante mille
+sequins. — Vous les aurez, monsieur; ramenez-moi comme un éclair à
+Constantinople, et vous serez payé sur-le-champ. Mais non, menez-moi
+chez M\up{lle}~\bname{Cunégonde}.» Le levanti patron, sur la première offre
+de \bname{Candide}, avait déjà tourné la proue vers la ville, et il faisait
+ramer plus vite qu’un oiseau ne fend les airs.
+
+\bname{Candide} embrassa cent fois le baron et \bname{Pangloss}. «Et comment ne vous
+ai-je pas tué, mon cher baron? et mon cher \bname{Pangloss}, comment êtes-vous
+en vie, après avoir été pendu? et pourquoi êtes-vous tous deux aux
+galères en Turquie? — Est-il bien vrai que ma chère sœur soit dans ce
+pays? disait le baron. — Oui, répondait \bname{Cacambo}. — Je revois donc mon cher
+\bname{Candide}! s’écriait \bname{Pangloss}.» \bname{Candide} leur présentait \bname{Martin} et \bname{Cacambo}.
+Ils s’embrassaient tous; ils parlaient tous à-la-fois. La galère
+volait, ils étaient déjà dans le port. On fit venir un Juif, à qui
+\bname{Candide} vendit pour cinquante mille sequins un diamant de la valeur de
+cent mille, et qui lui jura par Abraham qu’il n’en pouvait donner
+davantage. Il paya incontinent la rançon du baron et de \bname{Pangloss}.
+Celui-ci se jeta aux pieds de son libérateur, et les baigna de larmes;
+l’autre le remercia par un signe de tête, et lui promit de lui rendre
+cet argent à la première occasion. «Mais est-il bien possible que ma
+sœur soit en Turquie? disait-il. — Rien n’est si possible, reprit
+\bname{Cacambo}, puisqu’elle écure la vaisselle chez un prince de \bname{Transylvanie}.»
+On fit aussitôt venir deux Juifs; \bname{Candide} vendit encore des diamants;
+et ils repartirent tous dans une autre galère pour aller délivrer
+\bname{Cunégonde}.
+
+
+\chapter[Ce qui arriva à Candide, à Cunégonde…]{Ce qui arriva à \bname{Candide}, à \bname{Cunégonde},\\à \bname{Pangloss}, à \bname{Martin}, etc.}
+
+
+\lettrine[findent=1pt,ante=«]{P}{ardon}, encore une fois, dit \bname{Candide} au baron; pardon, mon Révérend
+Père, de vous avoir donné un grand coup d’épée au travers du corps.
+— N’en parlons plus, dit le baron; je fus un peu trop vif, je l’avoue;
+mais puisque vous voulez savoir par quel hasard vous m’avez vu aux
+galères, je vous dirai qu’après avoir été guéri de ma blessure par le
+frère apothicaire du collège, je fus attaqué et enlevé par un parti
+espagnol; on me mit en prison à \bname{Buenos} Aires dans le temps que ma sœur
+venait d’en partir. Je demandai à retourner à Rome auprès du père
+général. Je fus nommé pour aller servir d’aumônier à Constantinople
+auprès de M. l’ambassadeur de France. Il n’y avait pas huit jours
+que j’étais entré en fonction, quand je trouvai sur le soir un jeune
+icoglan très bien fait. Il faisait fort chaud: le jeune homme voulut se
+baigner; je pris cette occasion de me baigner aussi. Je ne savais pas
+que ce fût un crime capital pour un chrétien d’être trouvé tout nu avec
+un jeune musulman. Un cadi me fit donner cent coups de bâton sous la
+plante des pieds, et me condamna aux galères. Je ne crois pas qu’on ait
+fait une plus horrible injustice. Mais je voudrais bien savoir pourquoi
+ma sœur est dans la cuisine d’un souverain de \bname{Transylvanie} réfugié
+chez les Turcs.
+
+
+— Mais vous, mon cher \bname{Pangloss}, dit \bname{Candide}, comment se peut-il que je
+vous revoie? — Il est vrai, dit \bname{Pangloss}, que vous m’avez vu pendre; je
+devais naturellement être brûlé mais vous vous souvenez qu’il plut à
+verse lorsqu’on allait me cuire: l’orage fut si violent qu’on désespéra
+d’allumer le feu; je fus pendu, parce qu’on ne put mieux faire: un
+chirurgien acheta mon corps, m’emporta chez lui, et me disséqua. Il me
+fit d’abord une incision cruciale depuis le nombril jusqu’à la
+clavicule. On ne pouvait pas avoir été plus mal pendu que je l’avais
+été. L’exécuteur des hautes œuvres de la sainte inquisition, lequel
+était sous-diacre, brûlait à la vérité les gens à merveille, mais il
+n’était pas accoutumé à pendre: la corde était mouillée et glissa mal,
+elle fut mal nouée; enfin je respirais encore: l’incision cruciale me
+fit jeter un si grand cri, que mon chirurgien tomba à la renverse; et
+croyant qu’il disséquait le diable, il s’enfuit en mourant de peur, et
+tomba encore sur l’escalier en fuyant. Sa femme accourut au bruit d’un
+cabinet voisin: elle me vit sur la table étendu avec mon incision
+cruciale; elle eut encore plus de peur que son mari, s’enfuit, et tomba
+sur lui. Quand ils furent un peu revenus à eux, j’entendis la
+chirurgienne qui disait au chirurgien: \frquote{\localleftbox{« }Mon bon, de quoi vous
+avisez-vous aussi de disséquer un hérétique? ne savez-vous pas que le diable est toujours dans le corps de ces gens-là? je vais vite chercher un prêtre pour l’exorciser.}\localleftbox{}
+Je frémis à ce propos, et je ramassai le
+peu de forces qui me restaient pour crier: «Ayez pitié de moi!» Enfin le
+barbier portugais s’enhardit: il recousit ma peau; sa femme même eut
+soin de moi; je fus sur pied au bout de quinze jours. Le barbier me
+trouva une condition, et me fit laquais d’un chevalier de Malte qui
+allait à \bname{Venise}: mais mon maître n’ayant pas de quoi me payer, je me
+mis au service d’un marchand vénitien, et je le suivis à
+Constantinople.
+
+
+«Un jour il me prit fantaisie d’entrer dans une mosquée; il n’y avait
+qu’un vieil iman et une jeune dévote très jolie qui disait ses
+patenôtres; sa gorge était toute découverte: elle avait entre ses deux
+tétons un beau bouquet de tulipes, de roses, d’anémones, de renoncules,
+d’hyacinthes, et d’oreilles d’ours: elle laissa tomber son
+bouquet; je
+le ramassai, et je le lui remis avec un empressement très respectueux.
+Je fus si longtemps à le lui remettre, que l’iman se mit en colère, et
+voyant que j’étais chrétien, il cria à l’aide. On me mena chez le cadi,
+qui me fit donner cent coups de latte sous la plante des pieds, et
+m’envoya aux galères. Je fus enchaîné précisément dans la même galère
+et au même banc que M.~le baron. Il y avait dans cette galère
+quatre jeunes gens de Marseille, cinq prêtres napolitains, et deux
+moines de Corfou, qui nous dirent que de pareilles aventures arrivaient
+tous les jours. M.~le baron prétendait qu’il avait essuyé une
+plus grande injustice que moi: je prétendais, moi, qu’il était beaucoup
+plus permis de remettre un bouquet sur la gorge d’une femme que d’être
+tout nu avec un icoglan. Nous disputions sans cesse, et nous recevions
+vingt coups de nerf de bœuf par jour, lorsque l’enchaînement des
+événements de cet univers vous a conduit dans notre galère, et que vous
+nous avez rachetés.
+
+— Eh bien! mon cher \bname{Pangloss}, lui dit \bname{Candide}, quand vous avez été pendu,
+disséqué, roué de coups, et que vous avez ramé aux galères, avez-vous
+toujours pensé que tout allait le mieux du monde? — Je suis toujours de
+mon premier sentiment, répondit \bname{Pangloss}; car enfin je suis philosophe;
+il ne me convient pas de me dédire, Leibnitz ne pouvant pas avoir tort,
+et l’harmonie préétablie étant d’ailleurs la plus belle chose du monde,
+aussi bien que le plein et la matière subtile.»
+
+
+
+\chapter{Comment \bname{Candide} retrouva \bname{Cunégonde} et la vieille}
+
+
+\lettrine{P}{endant} que \bname{Candide}, le baron, \bname{Pangloss}, \bname{Martin}, et \bname{Cacambo}, contaient
+leurs aventures, qu’ils raisonnaient sur les événements contingents ou
+non contingents de cet univers, qu’ils disputaient sur les effets et
+les causes, sur le mal moral et sur le mal physique, sur la liberté et
+la nécessité, sur les consolations que l’on peut éprouver lorsqu’on est
+aux galères en Turquie, ils abordèrent sur le rivage de la Propontide,
+à la maison du prince de \bname{Transylvanie}. Les premiers objets qui se
+présentèrent furent \bname{Cunégonde} et la vieille, qui étendaient des
+serviettes sur des ficelles pour les faire sécher.
+
+Le baron pâlit à cette vue. Le tendre amant \bname{Candide} en voyant sa belle
+\bname{Cunégonde} rembrunie, les yeux éraillés, la gorge sèche, les joues
+ridées, les bras rouges et écaillés, recula trois pas, saisi d’horreur,
+et avança ensuite par bon procédé. Elle embrassa \bname{Candide} et son frère:
+on embrassa la vieille: \bname{Candide} les racheta toutes deux.
+
+Il y avait une petite métairie dans le voisinage; la vieille proposa à
+\bname{Candide} de s’en accommoder, en attendant que toute la troupe eût une
+meilleure destinée. \bname{Cunégonde} ne savait pas qu’elle était enlaidie,
+personne ne l’en avait avertie: elle fit souvenir \bname{Candide} de ses
+promesses avec un ton si absolu, que le bon \bname{Candide} n’osa pas la
+refuser. Il signifia donc au baron qu’il allait se marier avec sa
+sœur. «Je ne souffrirai jamais, dit le baron, une telle bassesse de sa
+part, et une telle insolence de la vôtre; cette infamie ne me sera
+jamais reprochée: les enfants de ma sœur ne pourraient entrer dans les
+chapitres d’Allemagne. Non, jamais ma sœur n’épousera qu’un baron de
+l’empire.» \bname{Cunégonde} se jeta à ses pieds, et les baigna de larmes; il
+fut inflexible. «Maître fou, lui dit \bname{Candide}, je t’ai réchappé des
+galères, j’ai payé ta rançon, j’ai payé celle de ta sœur; elle lavait
+ici des écuelles, elle est laide, j’ai la bonté d’en faire ma femme; et
+tu prétends encore t’y opposer! je te retuerais si j’en croyais ma
+colère. — Tu peux me tuer encore, dit le baron, mais tu n’épouseras pas
+ma sœur de mon vivant.»
+
+
+
+
+\chapter{Conclusion}
+
+
+\lettrine{C}{andide}, dans le fond de son cœur, n’avait aucune envie d’épouser
+\bname{Cunégonde}; mais l’impertinence extrême du baron le déterminait à
+conclure le mariage; et \bname{Cunégonde} le pressait si vivement qu’il ne
+pouvait s’en dédire. Il consulta \bname{Pangloss}, \bname{Martin}, et le fidèle
+\bname{Cacambo}. \bname{Pangloss} fit un beau mémoire par lequel il prouvait que le
+baron n’avait nul droit sur sa sœur, et qu’elle pouvait, selon toutes
+les lois de l’empire, épouser \bname{Candide} de la main gauche. \bname{Martin} conclut
+à jeter le baron dans la mer; \bname{Cacambo} décida qu’il fallait le rendre au
+levanti patron, et le remettre aux galères, après quoi on l’enverrait à
+Rome au père général par le premier vaisseau. L’avis fut trouvé fort
+bon; la vieille l’approuva; on n’en dit rien à sa sœur; la chose fut
+exécutée pour quelque argent, et on eut le plaisir d’attraper un
+jésuite, et de punir l’orgueil d’un baron allemand.
+
+
+Il était tout naturel d’imaginer qu’après tant de désastres, \bname{Candide}
+marié avec sa maîtresse, et vivant avec le philosophe \bname{Pangloss}, le
+philosophe \bname{Martin}, le prudent \bname{Cacambo}, et la vieille, ayant d’ailleurs
+rapporté tant de diamants de la patrie des anciens Incas, mènerait la
+vie du monde la plus agréable; mais il fut tant friponné par les Juifs,
+qu’il ne lui resta plus rien que sa petite métairie; sa femme devenant
+tous les jours plus laide devint acariâtre et insupportable: la vieille
+était infirme, et fut encore de plus mauvaise humeur que \bname{Cunégonde}.
+\bname{Cacambo}, qui travaillait au jardin, et qui allait vendre des \bname{légumes} à
+Constantinople, était excédé de travail, et maudissait sa destinée.
+\bname{Pangloss} était au désespoir de ne pas briller dans quelque université
+d’Allemagne. Pour \bname{Martin}, il était fermement persuadé qu’on est
+également mal partout; il prenait les choses en patience. \bname{Candide},
+\bname{Martin}, et \bname{Pangloss}, disputaient quelquefois de métaphysique et de
+morale. On voyait souvent passer sous les fenêtres de la métairie des
+bateaux chargés d’effendis, de bachas, de cadis, qu’on envoyait en exil
+à Lemnos, à Mytilène, à Erzeroum: on voyait venir d’autres cadis,
+d’autres bachas, d’autres effendis, qui prenaient la place des
+expulsés, et qui étaient expulsés à leur tour: on voyait des têtes
+proprement empaillées qu’on allait présenter à la sublime Porte. Ces
+spectacles faisaient redoubler les dissertations; et quand on ne
+disputait pas, l’ennui était si excessif, que la vieille osa un jour
+leur dire: «Je voudrais savoir lequel est le pire, ou d’être violée cent
+fois par des pirates nègres, d’avoir une fesse coupée, de passer par
+les baguettes chez les \bname{Bulgares}, d’être fouetté et pendu dans un
+auto-da-fé, d’être disséqué, de ramer en galère, d’éprouver enfin
+toutes les misères par lesquelles nous avons tous passé, ou bien de
+rester ici à ne rien faire? — C’est une grande question», dit \bname{Candide}.
+
+
+
+
+
+
+Ce discours fit naître de nouvelles réflexions, et \bname{Martin} surtout
+conclut que l’homme était né pour vivre dans les convulsions de
+l’inquiétude, ou dans la léthargie de l’ennui. \bname{Candide} n’en convenait
+pas, mais il n’assurait rien. \bname{Pangloss} avouait qu’il avait toujours
+horriblement souffert; mais ayant soutenu une fois que tout allait à
+merveille, il le soutenait toujours, et n’en croyait rien.
+
+Une chose acheva de confirmer \bname{Martin} dans ses détestables principes, de
+faire hésiter plus que jamais \bname{Candide} et d’embarrasser \bname{Pangloss}. C’est
+qu’ils virent un jour aborder dans leur métairie \bname{Paquette} et le frère
+Giroflée, qui étaient dans la plus extrême misère; ils avaient bien
+vite mangé leurs trois mille piastres, s’étaient quittés, s’étaient
+raccommodés, s’étaient brouillés, avaient été mis en
+prison; s’étaient
+enfuis, et enfin frère Giroflée s’était fait turc. \bname{Paquette} continuait
+son métier partout, et n’y gagnait plus rien. «Je l’avais bien prévu,
+dit \bname{Martin} à \bname{Candide}, que vos présents seraient bientôt dissipés, et ne
+les rendraient que plus misérables. Vous avez regorgé de millions de
+piastres, vous et \bname{Cacambo}, et vous n’êtes pas plus heureux que frère
+Giroflée et \bname{Paquette}. — Ah! ah! dit \bname{Pangloss} à \bname{Paquette}, le ciel vous
+ramène donc ici parmi nous. Ma pauvre enfant! savez-vous bien que vous
+m’avez coûté le bout du nez, un œil, et une oreille? Comme vous voilà
+faite! Eh! qu’est-ce que ce monde!» Cette nouvelle aventure les engagea
+à philosopher plus que jamais.
+
+Il y avait dans le voisinage un derviche très fameux qui passait pour
+le meilleur philosophe de la Turquie; ils allèrent le consulter;
+\bname{Pangloss} porta la parole, et lui dit: «Maître, nous venons vous prier de
+nous dire pourquoi un aussi étrange animal que l’homme a été formé.
+
+
+
+
+
+
+— De quoi te mêles-tu? lui dit le derviche; est-ce là ton affaire? — Mais,
+mon Révérend Père, dit \bname{Candide}, il y a horriblement de mal sur la
+terre. — Qu’importe, dit le derviche, qu’il y ait du mal ou du bien?
+quand Sa Hautesse envoie un vaisseau en Égypte, s’embarrasse-t-elle si
+les souris qui sont dans le vaisseau sont à leur aise ou non? — Que
+faut-il donc faire? dit \bname{Pangloss}. — Te taire, dit le derviche. — Je me
+flattais, dit \bname{Pangloss}, de raisonner un peu avec vous des effets et des
+causes, du meilleur des mondes possibles, de l’origine du mal, de la
+nature de l’âme, et de l’harmonie préétablie.» Le derviche, à ces mots,
+leur ferma la porte au nez.
+
+
+
+Pendant cette conversation, la nouvelle s’était répandue qu’on venait
+d’étrangler à Constantinople deux vizirs du banc et le muphti, et qu’on
+avait empalé plusieurs de leurs amis. Cette catastrophe faisait partout
+un grand bruit pendant quelques heures. \bname{Pangloss}, \bname{Candide}, et \bname{Martin},
+en retournant à la petite métairie, rencontrèrent un bon vieillard qui
+prenait le frais à sa porte sous un berceau d’orangers. \bname{Pangloss}, qui
+était aussi curieux que raisonneur, lui demanda comment se nommait le
+muphti qu’on venait d’étrangler. «Je n’en sais rien, répondit le
+bonhomme, et je n’ai jamais su le nom d’aucun muphti ni d’aucun vizir.
+J’ignore absolument l’aventure dont vous me parlez; je présume qu’en
+général ceux qui se mêlent des affaires publiques périssent quelquefois
+misérablement, et qu’ils le méritent; mais je ne m’informe jamais de ce
+qu’on fait à Constantinople; je me contente d’y envoyer vendre les
+fruits du jardin que je cultive.» Ayant dit ces mots, il fit entrer les
+étrangers dans sa maison; ses deux filles et ses deux fils leur
+présentèrent plusieurs sortes de sorbets qu’ils faisaient eux-mêmes, du
+kaïmak piqué d’écorces de cédrat confit, des oranges, des citrons, des
+limons, des ananas, des dattes, des pistaches, du café de Moka qui
+n’était point mêlé avec le mauvais café de Batavia et des îles. Après
+quoi les deux filles de ce bon musulman parfumèrent les barbes de
+\bname{Candide}, de \bname{Pangloss}, et de \bname{Martin}.
+
+
+
+«Vous devez avoir, dit \bname{Candide} au Turc, une vaste et magnifique terre?
+— Je n’ai que vingt arpents, répondit le Turc; je les cultive avec mes
+enfants; le travail éloigne de nous trois grands maux, l’ennui, le
+vice, et le besoin.»
+
+
+\bname{Candide} en retournant dans sa métairie fit de profondes réflexions sur
+le discours du Turc. Il dit à \bname{Pangloss} et à \bname{Martin}: «Ce bon vieillard me
+paraît s’être fait un sort bien préférable à celui des six rois avec
+qui nous avons eu l’honneur de souper. — Les grandeurs, dit \bname{Pangloss},
+sont fort dangereuses, selon le rapport de tous les philosophes; car
+enfin Églon, roi des Moabites, fut assassiné par Aod; \bname{Absalon} fut pendu
+par les cheveux et percé de trois dards; le roi \bname{Nadab}, fils de
+\bname{Jéroboam}, fut tué par \bname{Baasa}; le roi Éla, par \bname{Zambri}; \bname{Ochosias}, par
+\bname{Jéhu}; \bname{Athalie}, par \bname{Joïada}; les rois \bname{Joachim}, \bname{Jéchonias}, \bname{Sédécias},
+furent esclaves. Vous savez comment périrent \bname{Crésus}, \bname{Astyage}, \bname{Darius},
+\bname{Denys} de \bname{Syracuse}, \bname{Pyrrhus}, \bname{Persée}, \bname{Annibal}, \bname{Jugurtha}, \bname{Arioviste},
+\bname{César}, \bname{Pompée}, \bname{Néron}, \bname{Othon}, \bname{Vitellius}, \bname{Domitien}, \bname{Richard}~II
+\bname{d’Angleterre}, \bname{Édouard}~II, \bname{Henri}~VI, \bname{Richard}~III, \mbox{Marie Stuart}, Charles~I\up{er}, les trois \bname{Henri} de France, l’empereur \bname{Henri}~IV? Vous savez… — Je
+sais aussi, dit \bname{Candide}, qu’il faut cultiver notre jardin. — Vous avez
+raison, dit \bname{Pangloss}; car, quand l’homme fut mis dans le jardin d’Éden,
+il y fut mis \emph{ut operaretur eum}, pour qu’il travaillât; ce qui prouve
+que l’homme n’est pas né pour le repos. — Travaillons sans raisonner, dit
+\bname{Martin}, c’est le seul moyen de rendre la vie supportable.
+
+Toute la petite société entra dans ce louable dessein; chacun se mit à
+exercer ses talents. La petite terre rapporta beaucoup. \bname{Cunégonde}
+était, à la vérité, bien laide; mais elle devint une excellente
+pâtissière; \bname{Paquette} broda; la vieille eut soin du linge. Il n’y eut
+pas jusqu’à frère Giroflée qui ne rendît service; il fut un très bon
+menuisier, et même devint honnête homme: et \bname{Pangloss} disait quelquefois
+à \bname{Candide}: «Tous les événements sont enchaînés dans le meilleur des
+mondes possibles; car enfin si vous n’aviez pas été chassé d’un beau
+château à grands coups de pied dans le derrière pour l’amour de
+M\up{lle}~\bname{Cunégonde}, si vous n’aviez pas été mis à l’inquisition, si
+vous n’aviez pas couru l’Amérique à pied, si vous n’aviez pas donné un
+bon coup d’épée au baron, si vous n’aviez pas perdu tous vos moutons du
+bon pays d’Eldorado, vous ne mangeriez pas ici des cédrats confits et
+des pistaches. — Cela est bien dit, répondit \bname{Candide}, mais il faut
+cultiver notre jardin.»
+
+
+\endinput
+
+
+
diff --git a/macros/luatex/latex/tango/examples/book-mathematics.tex b/macros/luatex/latex/tango/examples/book-mathematics.tex
new file mode 100644
index 0000000000..cbcebe1ae4
--- /dev/null
+++ b/macros/luatex/latex/tango/examples/book-mathematics.tex
@@ -0,0 +1,44 @@
+% !TEX TS-program = LuaLaTeX
+\documentclass[french,PubliClass=book,ColorTheme=Steel,FontSize=11pt,
+StylisticSet={parallelslant,leqslant}]{tango}
+\renewcommand{\arraystretch}{1.3}
+\usepackage{tikz}
+\usetikzlibrary{calc,through,arrows}
+\tgosmartlists
+\AtBeginDocument{%
+\RenewCommandCopy{\setminus}{\smallsetminus}
+}
+\NewDocumentCommand\N{}{\ensuremath{\symbb{N}}}
+\NewDocumentCommand\Z{}{\ensuremath{\symbb{Z}}}
+\NewDocumentCommand\Q{}{\ensuremath{\symbb{Q}}}
+\NewDocumentCommand\R{}{\ensuremath{\symbb{R}}}
+\NewDocumentCommand\C{}{\ensuremath{\symbb{C}}}
+\NewDocumentCommand\Pt{m}{\ensuremath{\symfrak{P}(#1)}}
+\NewDocumentCommand\rond{}{\mathrel{\circ}}
+\NewDocumentCommand\mesalg{m}{\overline{#1}}
+\NewDocumentCommand\Vector{m}{\overrightarrow{#1}}
+\DeclareMathOperator{\cl}{cl}
+\DeclareMathOperator{\sgn}{sgn}
+\newcounter{prop}
+\newstatement{prop}{prop}{Propriété}
+\newfixedcaption{\figcaption}{figure}
+%%
+\includeonly{rel-bin,recurrence,polynome-deg2,euler,puissance-cercle}
+%\includeonly{polynome-deg2}
+%%
+%\tangoSmartLists
+\begin{document}
+\frontmatter
+\tableofcontents
+\mainmatter
+%\tgosetup{ColorTheme=Framboise}
+\part{Algèbre}
+\include{rel-bin}
+\include{recurrence}
+\include{polynome-deg2}
+%\tgosetup{ColorTheme=Sapin}
+\part{Géométrie}
+\include{euler}
+\include{puissance-cercle}
+\backmatter
+\end{document} \ No newline at end of file
diff --git a/macros/luatex/latex/tango/examples/candide.tex b/macros/luatex/latex/tango/examples/candide.tex
new file mode 100644
index 0000000000..bd3432e7bf
--- /dev/null
+++ b/macros/luatex/latex/tango/examples/candide.tex
@@ -0,0 +1,61 @@
+% !TEX TS-program = LuaLaTeX
+%
+\documentclass[french,Output=SmallTablet,PubliClass=book,twoside,Numbers=OldStyle,FontSize=9pt]{tango}
+
+\geometry{paperheight=18.5cm,paperwidth=11.2cm,heightrounded,top=1.2cm,bottom=2.8cm,headheight=14pt,headsep=12pt,footskip=13pt,inner=1.2cm,outer=2cm,}
+%
+\titleformat{\chapter}[display]{\filcenter\large\itshape\addfontfeature{RawFeature={-onum}}}
+{\normalfont\Large\scshape\addfontfeature{RawFeature={+c2sc}} \chaptername\space\thechapter}{1em}{}
+\titleformat{name=\chapter,numberless}[display]{\filcenter\large\itshape\addfontfeature{RawFeature={-onum}}}
+{}{0em}{}%
+\titlespacing{\chapter}{0pt}{20pt plus 8pt}{20pt plus 8pt}%
+%
+\newpagestyle{candide}{%
+ \sethead
+ [\addfontfeature{RawFeature=+onum}\thepage]
+[\addfontfeature{RawFeature=+c2sc}\MakeUppercase\chaptertitlename\space\thechapter][] % even
+ {}{\addfontfeature{RawFeature=+c2sc}\MakeUppercase\chaptertitle}
+ {\addfontfeature{RawFeature=+onum}\thepage} % odd
+ }
+ \newpagestyle{candidetoc}{%
+ \sethead
+ [\addfontfeature{RawFeature=+onum}\thepage]
+[\addfontfeature{RawFeature=+c2sc}\MakeUppercase\frenchcontentsname][] % even
+ {}{\addfontfeature{RawFeature=+c2sc}\MakeUppercase\frenchcontentsname}
+ {\addfontfeature{RawFeature=+onum}\thepage} % odd
+ }
+
+ \renewcommand\thechapter{\Roman{chapter}}
+ \titlecontents{chapter}
+ [3.5em] % ie, 1.5em (chapter) + 2.3em
+ {\normalfont}
+ {\contentslabel{3.5em}}
+ {\hspace*{-1.5em}}
+ {\titlerule*[1pc]{.}\contentspage}
+
+ %%%%%%%%%%%%
+\pagestyle{candide}
+%
+
+\usepackage{lettrine}
+
+
+\includeonly{Ch-1-15, Ch-16-30}
+
+\hypersetup{pdfpagelayout=TwoPageRight}
+
+\begin{document}
+
+
+
+\include{Ch-1-15}
+\include{Ch-16-30}
+\backmatter
+\pagestyle{candidetoc}
+\tableofcontents
+
+\end{document}
+
+
+
+
diff --git a/macros/luatex/latex/tango/examples/euler.tex b/macros/luatex/latex/tango/examples/euler.tex
new file mode 100644
index 0000000000..4d3ea54571
--- /dev/null
+++ b/macros/luatex/latex/tango/examples/euler.tex
@@ -0,0 +1,512 @@
+
+\tgotitle{Droite et cercle d'Euler}
+\tgoshorttoc
+\section{Cercle circonscrit à un triangle}
+\subsection{Un résultat préliminaire}
+On sait depuis le collège que la droite qui joint les milieux de deux côtés d'un triangle est parallèle au troisième côté. Nous précisons ce résultat à l'aide d'un théorème qui nous sera utile par la suite (voir figure \ref{figmilieux}).
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=left:$B$](B) at (0,0);
+\coordinate[label=right:$C$](C) at (4,0);
+\coordinate (T) at ($(B)!1!38:(C)$);
+\coordinate (S) at ($(C)!1!105:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B);
+\draw (A)--(C);
+\coordinate [label=right:$B'$] (B') at ($(A)!0.5!(C)$);
+\coordinate [label=left:$C'$] (C') at ($(A)!0.5!(B)$);
+\draw[>=stealth,->,semithick](B)--(C);
+\draw[>=stealth,->,semithick](C')--(B');
+\foreach \point in {A,B,C,C',B'}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figmilieux}
+\end{figure}
+
+\begin{thm}
+Soit un triangle $ABC$ et soit $B'$ et $C'$ les milieux respectifs de $[AC]$ et $[AB]$. Alors
+les droites $(BC)$ et $(C'B')$ sont parallèles et $\overrightarrow{BC}=2\overrightarrow{C'B'}$.
+\label{thmilieux}
+\end{thm}
+
+\begin{proof}
+La relation de Chasles permet d'écrire
+\begin{align*}
+\overrightarrow{BC}&=\overrightarrow{BA}+\overrightarrow{AC},\\
+\intertext{puis, en utilisant une caractérisation vectorielle du milieu,}
+\overrightarrow{BC}&=2\overrightarrow{C'A}+2\overrightarrow{AB'},\\
+\overrightarrow{BC}&=2\left(\overrightarrow{C'A}+\overrightarrow{AB'}\right),\\
+\overrightarrow{BC}&=2\overrightarrow{C'B'}.\qedhere
+\end{align*}
+\end{proof}
+
+\subsection{Médiatrices des côtés d'un triangle}
+%%%%% Version 1
+ La médiatrice d'un segment est par définition la droite perpendiculaire à ce segment en son milieu. Nous admettrons que la médiatrice d'un segment est aussi l'ensemble des points qui sont équidistants des extrémités de ce segment (voir figure \ref{figcerccir}). Nous formulons alors le théorème suivant :
+%%%%%%
+%%%%%%
+%%%%%%
+%%%%% Version 2
+%La médiatrice d'un segment est par définition l'ensemble des points équidistants des extrémités de ce segment. Il est clair que le milieu du segment appartient à la médiatrice. On a même :
+% %
+%\begin{thm}
+%La médiatrice d'un segment est la droite perpendiculaire à ce segment en son milieu.
+%\end{thm}\label{caracmed}
+%
+%\begin{proof}
+%Soit un segment $[AB]$ et $I$ son milieu. Notons $\symcal{E}$ la médiatrice de $[AB]$ et $\symcal{D}$ la droite perpendiculaire à $[AB]$ en $I$. Montrons que $\symcal{E}=\symcal{D}$ par double inclusion.
+%Soit un point $M$ appartenant à la médiatrice $\symcal{E}$ de $[AB]$. On a $IA=IB$ et $MA=MB$ par définition de la médiatrice. Les triangles $MIA$ et $MIB$ sont donc superposables. Si $\alpha$ et $\beta$ sont les mesures respectives de $\widehat{MIA}$ et $\widehat{MIB}$, on en déduit que $\alpha=\beta$. L'angle $\widehat{AIB}$ et plat de mesure $\alpha+\beta$ :
+%\[\left.\begin{aligned} \alpha=\beta&\\\alpha+\beta=180\degre\end{aligned}\right\}\implies \alpha=\beta=90\degre.\]
+%Le point $M$ appartient donc à la droite $\symcal{D}$ : $\symcal{E}\subset\symcal{D}$.
+%
+%Réciproquement, supposons que $M\in\symcal{D}$. Considérons la réflexion $s$ d'axe $\symcal{D}$ : on a $s(A)=B$ et $s(M)=M$ (car l'ensemble des points invariants de $s$ est la droite $\symcal{D}$). Par conservation des distances, on a $MA=s(M)s(A)=MB$. Donc $M$ appartient à $\symcal{E}$ : $\symcal{E}\subset\symcal{D}$.
+%
+%On a donc bien $\symcal{E}=\symcal{D}$.
+%\end{proof}
+%
+%
+
+\begin{thm}
+Les médiatrices des trois côtés d'un triangle sont concourantes en un point équidistant des trois sommets et centre de l'unique cercle passant par ces derniers.
+\end{thm}
+
+\vspace{1ex}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=left:$B$](B) at (0,0);
+\coordinate[label=right:$C$](C) at (4,0);
+\coordinate (T) at ($(B)!1!38:(C)$);
+\coordinate (S) at ($(C)!1!105:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=below:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate [label=right:$B'$] (B') at ($(A)!0.5!(C)$);
+\coordinate [label=left:$C'$] (C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate [label=above:$O${\rule[-1mm]{0mm}{1mm}}](O) at (intersection of C'--X and B'--Y);
+\draw(C')--(O);
+\draw (B')--(O);
+\draw[dotted,semithick](A')--(O);
+\node [draw] at (O) [circle through={(C)}] {};
+\draw[gray](O)--(A);
+\draw[gray](O)--(B);
+\draw[gray](O)--(C);
+\foreach \point in {A,B,C,C',A',B',O}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figcerccir}
+\end{figure}
+
+
+
+\begin{proof}
+Reprenons la figure \ref{figmilieux} et nommons $A'$ le milieu de $[BC]$. Les médatrices des côtés $[AB]$ et $[AC]$ sont sécantes en un point $O$. (On rappelle qu'un triangle est la donnée de trois points non alignés, autrement dit, un triangle aplati ne peut être considéré comme un triangle : cela assure que les deux médiatrices sont bien sécantes.) Le point $O$ se trouve à la fois sur la médiatrice de $[AB]$ et sur la médiatrice de $[AC]$ : il est donc à la fois équidistant de $A$ et $B$ ($OA=OB$) et équidistant de $A$ et $C$ ($OA=OC$). On a donc finalement $OB=OC$, ce qui assure que la médiatrice de $[BC]$ passe par $O$. Les trois médiatrices sont donc concourantes en $O$, point équidistant des trois sommets du triangle et par conséquent centre d'un cercle passant par ces sommets. Pour établir l'unicité d'un tel cercle, il suffit de remarquer que le centre d'un cercle passant par les sommets est nécessairement équidistant des sommets donc point de concours des médiatrices.
+\end{proof}
+
+Le cercle en question est le \emph{cercle circonscrit} au triangle.
+
+\subsection{Un cas particulier}
+Le cas du cercle circonscrit au triangle rectangle est bien connu (voir figure \ref{figtrec}).
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=left:$B$](B) at (0,0);
+\coordinate[label=right:$C$](C) at (4,0);
+\coordinate (T) at ($(B)!1!30:(C)$);
+\coordinate (S) at ($(C)!1!120:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=below:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate [label=left:$B'${\rule{1.3mm}{0mm}}] (B') at ($(A)!0.5!(C)$);
+\coordinate [label=right:{\rule{1.3mm}{0mm}}$C'$] (C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate(O) at (intersection of C'--X and B'--Y);
+\draw(C')--(O);
+\draw (B')--(O);
+\draw[dotted,semithick](A')--(O);
+\node [draw] at (O) [circle through={(C)}] {};
+\draw[gray](O)--(A);
+\draw[gray](O)--(B);
+\draw[gray](O)--(C);
+\foreach \point in {A,B,C,C',A',B',O}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figtrec}
+\end{figure}
+
+
+\begin{thm}
+Si un triangle est rectangle, alors le centre de son cercle circonscrit est le milieu de l'hypoténuse qui est donc un diamètre du cercle. Réciproquement si le cercle circonscrit à un triangle admet l'un des côtés comme diamètre, alors ce triangle est rectangle et admet le côté en question pour hypoténuse.
+\label{diamtrrec}
+\end{thm}
+
+\begin{proof}
+Supposons le triangle $ABC$ rectangle en $A$. La droite $(AB)$ est alors perpendiculaire à la droite $(AC)$.
+D'après le théorème \ref{thmilieux} on sait que $\overrightarrow{AB}=2\overrightarrow{B'A'}$ et en particulier que les droites $(AB)$ et $(B'A')$ sont parallèles. On en déduit que les droites $(B'A')$ et $(AC)$ sont perpendiculaires:
+\[\left.\begin{aligned} &(AB)\parallel(A'B')\\
+\text{et}&\\
+&(AB)\perp(AC)\end{aligned}\right\}\implies (A'B')\perp(AC).
+\]
+
+La droite $(B'A')$, perpendiculaire au segment $[AC]$ en son milieu, en est la médiatrice. De même, $(C'A')$ est la médiatrice du segment $[AB]$. Le point $A'$, milieu de $[BC]$, est commun à ces deux médiatrices : il est donc le centre du cercle circonscrit au triangle.
+
+
+
+Réciproquement, supposons que le milieu $A'$ de $[BC]$ soit le centre du cercle circonscrit. Ce point est alors équidistant de $A$ et $C$, donc est un point de la médiatrice du segment $[AC]$; il en est de même pour $B'$, milieu de ce segment. La droite $(A'B')$ est donc la médiatrice du segment $[AC]$ et lui est perpendiculaire. Cette droite est aussi parallèle à $(AB)$, en vertu du théorème \ref{thmilieux}. De la même façon que précédemment, on en déduit que les droites $(AB)$ et $(AC)$ sont perpendiculaires. Le triangle $ABC$ est donc rectangle en $A$.
+\end{proof}
+
+\begin{remark} La situation représentée sur la figure \ref{figcerccir} est celle d'un triangle acutangle. On comprend assez rapidement (mais ceci ne constitue pas une démonstration) que le centre du cercle circonscrit est intérieur au triangle si les trois angles sont aigus et extérieur dans le cas où l'un des angles est obtus (voir figure \ref{figtrobtu}). Le cas du triangle rectangle constitue en quelque sorte une situation limite…
+\end{remark}
+
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=left:$B$](B) at (0,0);
+\coordinate[label=right:$C$](C) at (4,0);
+\coordinate (T) at ($(B)!1!25:(C)$);
+\coordinate (S) at ($(C)!1!140:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=above:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate [label=left:$B'${\rule{1.3mm}{0mm}}] (B') at ($(A)!0.5!(C)$);
+\coordinate [label=right:{\rule{1.3mm}{0mm}}$C'$] (C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate [label=below:$O${\rule[-1mm]{0mm}{1mm}}](O) at (intersection of C'--X and B'--Y);
+\draw(C')--(O);
+\draw (B')--(O);
+\draw[dotted,semithick](A')--(O);
+\node [draw] at (O) [circle through={(C)}] {};
+\draw[gray](O)--(A);
+\draw[gray](O)--(B);
+\draw[gray](O)--(C);
+\foreach \point in {A,B,C,C',A',B',O}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figtrobtu}
+\end{figure}
+
+
+
+\section{Centre de gravité d'un triangle}
+Il est connu que les médianes d'un triangle sont concourantes en un point situé aux deux tiers de chacune d'elles à partir du sommet. C'est à cette propriété que nous allons maintenant nous intéresser, sous un angle vectoriel (voir figure \ref{figmedianes}).
+
+
+\begin{thm}\label{thgravit}%
+Soit un triangle $ABC$ et soit $A'$, $B'$ et $C'$ les milieux respectifs des côtés $[BC]$, $[AC]$ et $[AB]$.
+Les médianes de ce triangle sont concourantes en un point $G$, nommé centre de gravité du triangle et qui est l'unique point du plan à vérifier les relations vectorielles suivantes :
+\begin{gather}
+\overrightarrow{GA}+\overrightarrow{GB}+\overrightarrow{GC}=\vec{0}\,,\label{eqisobar}\\
+\overrightarrow{AG}=\frac23\overrightarrow{AA'}\,,\quad\overrightarrow{BG}=\frac23\overrightarrow{BB'}\quad\text{et}\quad\overrightarrow{CG}=\frac23\overrightarrow{CC'}\,.\label{eqGmediane}
+\end{gather}%
+\end{thm}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$B$](B) at (0,0);
+\coordinate[label=below:$C$](C) at (4,0);
+\coordinate (T) at ($(B)!1!36:(C)$);
+\coordinate (S) at ($(C)!1!107:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=below:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate [label=right:$B'$](B') at ($(A)!0.5!(C)$);
+\coordinate[label=left:$C'$](C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate (O) at (intersection of C'--X and B'--Y);
+\coordinate[label=above:$G${\rule[-1mm]{0mm}{1mm}}] (G) at ($(A')!0.333!(A)$);
+\coordinate (H) at ($(O)!3!(G)$);
+\draw (A)--(A');
+\draw[dotted,semithick] (B)--(B');
+\draw[dotted,semithick] (C)--(C');
+\foreach \point in {A,B,C,A',G,C',B'}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figmedianes}
+\end{figure}
+
+
+
+\begin{proof}
+Pour tout point $M$ du plan, on considère le vecteur
+\[
+\overrightarrow{v(M)}=\overrightarrow{MA}+\overrightarrow{MB}+\overrightarrow{MC}.
+\]
+
+ Nous nous proposons de prouver qu'il existe un point $M$ et un seul pour lequel ce vecteur est nul : cet unique point $M$ sera le point $G$ que nous cherchons. À cet effet nous allons transformer le vecteur $\overrightarrow{v(M)}$, en faisant notamment intervenir un des milieux, ici $A'$, grâce à la relation de Chasles. Nous rappelons que ce milieu est caractérisé par $\overrightarrow{A'B}+\overrightarrow{A'C}=\vec{0}$.
+%\DinoXiPhoneCommand{%
+\begin{align*}
+\overrightarrow{v(M)}&=
+(\overrightarrow{MA'}+\overrightarrow{A'A})+
+(\overrightarrow{MA'}+\overrightarrow{A'B})+
+(\overrightarrow{MA'}+\overrightarrow{A'C}),\\
+&=
+3\overrightarrow{MA'}+\overrightarrow{A'A}+\underbrace{\overrightarrow{A'B}+\overrightarrow{A'C}}_{\vec{0}}.
+\end{align*}
+
+Nous transformons alors le vecteur $\overrightarrow{MA'}$ en faisant intervenir le point $A$ grâce à la relation de Chasles :
+\begin{align*}
+\overrightarrow{v(M)}&=3(\overrightarrow{MA}+\overrightarrow{AA'})+\overrightarrow{A'A},\\
+\intertext{puis, en développant et en remarquant que $\overrightarrow{A'A}=-\overrightarrow{AA'}$,}
+\overrightarrow{v(M)}&=3\overrightarrow{MA}+2\overrightarrow{AA'}.
+\end{align*}%}
+%\DinoiPhoneCommand{%
+%\begin{multline*}
+%\overrightarrow{MA}+\overrightarrow{MB}+\overrightarrow{MC}=
+%(\overrightarrow{MA'}+\overrightarrow{A'A})\\
+%+(\overrightarrow{MA'}+\overrightarrow{A'B})+
+%(\overrightarrow{MA'}+\overrightarrow{A'C}),\end{multline*}
+%soit
+%\begin{align*}
+%\overrightarrow{MA}+\overrightarrow{MB}+\overrightarrow{MC}&=
+%3\overrightarrow{MA'}+\overrightarrow{A'A}+\underbrace{\overrightarrow{A'B}+\overrightarrow{A'C}}_{\vec{0}},\\
+%&=3\overrightarrow{MA}+3\overrightarrow{AA'}+\overrightarrow{A'A},\\
+%&=3\overrightarrow{MA}+2\overrightarrow{AA'}.
+%\end{align*}}
+En tenant compte de $\overrightarrow{v(M)}=\overrightarrow{MA}+\overrightarrow{MB}+\overrightarrow{MC}$,
+ \begin{align}\overrightarrow{MA}+\overrightarrow{MB}+\overrightarrow{MC}=\vec{0}
+ &\iff 3\overrightarrow{MA}+2\overrightarrow{AA'}=\vec{0},\notag\\
+ &\iff 3\overrightarrow{AM}=2\overrightarrow{AA'},\notag\\
+ &\iff\overrightarrow{AM}=\dfrac23\overrightarrow{AA'}.\label{caraccg}\end{align}
+
+La relation \eqref{caraccg} définit l'unique point $M$ vérifiant $\overrightarrow{MA}+\overrightarrow{MB}+\overrightarrow{MC}=\vec{0}$. Ce point est par définition le centre de gravité du triangle $ABC$ et on le note traditionnellement $G$. Le calcul vectoriel ci-dessus aurait tout aussi bien pu être mené en utilisant $B'$ ou $C'$ plutôt que $A'$. On en déduit les trois relations annoncées en \eqref{eqGmediane}.
+\end{proof}
+
+\section{Orthocentre et droite d'Euler}
+\subsection{Orthocentre d'un triangle}
+\begin{thm}
+Les hauteurs issues des trois sommets de tout triangle sont concourantes en un point $H$ nommé orthocentre de ce triangle.
+\end{thm}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$B$](B) at (0,0);
+\coordinate[label=below:$C$](C) at (5,0);
+\coordinate (T) at ($(B)!1!36:(C)$);
+\coordinate (S) at ($(C)!1!107:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=below:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate (B') at ($(A)!0.5!(C)$);
+\coordinate (C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate [label=above:$O$](O) at (intersection of C'--X and B'--Y);
+\coordinate[label=above:$G${\rule[-1mm]{0mm}{1mm}}] (G) at ($(A')!0.333!(A)$);
+\coordinate[label=below:$H$] (H) at ($(O)!3!(G)$);
+\draw (A')--(O)--(H)--(A);
+\draw (A)--(A');
+\foreach \point in {A,B,C,A',O,G,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figeuler}
+\end{figure}
+
+
+\begin{proof}
+Nous en restons aux notations utilisées précédemment.
+Si le triangle $ABC$ est équilatéral, la hauteur, la médiane et la médiatrice relatives à chaque côté sont confondues, les points $O$, centre du cercle circonscrit, et $G$, centre de gravité de $ABC$ le sont également. Ce point unique est évidemment aussi point de concours des hauteurs. Nous supposerons désormais que le triangle $ABC$ n'est pas équilatéral.
+
+La démonstration repose alors sur la remarque qui suit.
+\begin{remark}[Remarque préliminaire]
+La hauteur issue de $A$ et la médiatrice de $[BC]$ sont deux droites parallèles, car perpendiculaires à une même troisième.
+L'observation de la figure \ref{figeuler} nous incite alors à prolonger la droite $(OG)$ et à fabriquer ainsi une configuration de Thales. Comme nous savons, de par la position de $G$ aux deux tiers de la médiane $[AA']$, que $\overrightarrow{GA}=-2\overrightarrow{GA'}$ nous allons introduire un point $H$ défini par $\overrightarrow{GH}=-2\overrightarrow{GO}$ pour ensuite ensuite établir (en exploitant de façon vectorielle notre configuration de Thales) que les vecteurs $ \overrightarrow{AH}$ et $\overrightarrow{OA'}$ sont colinéaires, ce qui établira, sauf cas particulier, que la médiatrice $(OA')$ et la droite $(AH)$ sont parallèles donc que $(AH)$ est la hauteur issue de $A$.
+\end{remark}
+
+Soit donc le point $H$ défini par $\overrightarrow{GH}=-2\overrightarrow{GO}$.
+De l'égalité \eqref{eqGmediane}, nous déduisons que $3\overrightarrow{AG}=2\overrightarrow{AA'}$, puis que $\overrightarrow{AG}=2\overrightarrow{GA'}$. Par conséquent :
+\[\begin{split} \overrightarrow{AH}&=\overrightarrow{AG}+\overrightarrow{GH},\\
+&=2\overrightarrow{GA'}+2\overrightarrow{OG},\\
+&=2(\overrightarrow{OG}+\overrightarrow{GA'}),\\
+&=2\overrightarrow{OA'}.
+\end{split}
+\]
+Les vecteurs $\overrightarrow{OA'}$ et $\overrightarrow{AH}$ sont donc colinéaires.
+
+\begin{alert}
+Si le triangle $ABC$ est rectangle, les points $O$ et $A'$ (et par conséquent les points $A$ et $H$) sont confondus. On ne peut parler des droites $(OA')$ et $(AH)$ : ce cas sera examiné plus tard.
+\end{alert}
+Supposons provisoirement que le triangle $ABC$ \emph{n'est pas} rectangle : le point $O$, centre du cercle circonscrit n'est pas confondu avec $A'$ (cf. théorème \ref{diamtrrec}) ou encore $\overrightarrow{OA'}\neq\vec{0}$. On peut dire alors que la droite $(AH)$ est parallèle à la droite $(OA')$, elle même perpendiculaire au côté $[BC]$, en tant que médiatrice. La droite $(AH)$ est donc perpendiculaire à $[BC]$ : c'est la hauteur issue de $A$.
+
+
+Le raisonnement qui vient d'être fait tient toujours si l'on remplace les points $A$ et $A'$ par $B$ et $B'$ ou par $C$ et $C'$. Le point $H$ quant à lui est fixe (il ne dépend que de $O$ et $G$) : il appartient donc à chacune des trois hauteurs. On a donc démontré que les trois hauteurs sont concourantes en $H$ : ce point $H$ est \emph{l'orthocentre} du triangle $ABC$.
+\begin{alert}
+Si maintenant le triangle est rectangle, par exemple en $A$ : les hauteurs issues de $B$ et $C$ sont respectivement $(BA)$ et $(CA)$ : les hauteurs sont concourantes en $A$. L'orthocentre $H$ est alors confondu avec $A$ de même que le centre du cercle circonscrit $O$ est confondu avec $A'$. La relation $\overrightarrow{GH} = -2\overrightarrow{GO}$ est toujours vérifiée.\qedhere
+\end{alert}
+\end{proof}
+\subsection{Droite d'Euler}
+
+
+
+Nous avons en fait montré un peu plus que ce que nous avions annoncé.
+La relation vectorielle liant $O$, $G$ et $H$ montre que si le triangle $ABC$ n'est pas équilatéral ces trois points sont alignés. La droite support est la \emph{droite d'Euler}. Résumons-nous maintenant :
+\begin{thm}
+Le centre $O$ du cercle circonscrit, le centre de gravité $G$ et l'orthocentre $H$ d'un triangle $ABC$ vérifient la relation vectorielle
+\begin{equation}\overrightarrow{GH}=-2\overrightarrow{GO}\,.\label{eulerposition}\end{equation}
+Ces trois points sont confondus si $ABC$ est équilatéral. Dans le cas contraire, ils sont alignés sur une droite nommée droite d'Euler.
+\label{eulerprecis}
+\end{thm}
+
+\section{Cercle d'Euler}
+\subsection{Neuf points remarquables}
+Le cercle d'Euler est également connu comme cercle des neuf points ou encore cercle de Feuerbach (voir figure \ref{figcercleuler}).
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$B$](B) at (0,0);
+\coordinate[label=below:$C$](C) at (5,0);
+\coordinate (T) at ($(B)!1!61:(C)$);
+\coordinate (S) at ($(C)!1!130:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=below:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate [label=right:$B'${\rule[-1mm]{0mm}{1mm}}] (B') at ($(A)!0.5!(C)$);
+\coordinate [label=left:$C'$] (C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate(O) at (intersection of C'--X and B'--Y);
+\coordinate (G) at ($(A')!0.333!(A)$);
+\coordinate[label=below:$H$] (H) at ($(O)!3!(G)$);
+\draw[dashed] (A)--(H);
+\draw[dashed] (B)--(H);
+\draw[dashed] (C)--(H);
+\coordinate[label=below:$D$](D) at at (intersection of A--H and B--C);
+\coordinate[label=right:$E${\rule[-1mm]{0mm}{1mm}}](E) at at (intersection of B--H and A--C);
+\coordinate[label=left:$F$](F) at at (intersection of C--H and B--A);
+\coordinate [label=left:$A''$] (A'') at ($(A)!0.5!(H)$);
+\coordinate [label=below:$B''$] (B'') at ($(B)!0.5!(H)$);
+\coordinate [label=below:$C''$] (C'') at ($(C)!0.5!(H)$);
+\draw (A')--(C')--(A'')--(C'')--cycle ;
+\draw (B')--(C')--(B'')--(C'')--cycle ;
+\coordinate (O') at ($(O)!1.5!(G)$);
+\node [draw,dotted,semithick] at (O') [circle through={(A')}] {\rule{2.2cm}{0mm}$\symcal{C}$};
+\foreach \point in {A,B,C,B',C',A',H,D,E,F,A'',B'',C''}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figcercleuler}
+\end{figure}
+
+
+\begin{thm}
+Pour tout triangle, les pieds des hauteurs, les milieux des côtés et les milieux des segments joignant l'orthocentre aux sommets sont situés sur un même cercle.
+\end{thm}
+\begin{remark}
+Suivant les configurations, certains de ces points peuvent être confondus.
+\end{remark}
+\begin{proof} Soit un triangle $ABC$ d'orthocentre $H$, $A'$, $B'$ et $C'$ les milieux respectifs des côtés $[BC]$, $[CA]$ et $[AB]$, $D$, $E$ et $F$ les pieds des hauteurs issues respectivement de $A$, $B$ et $C$ et $A''$, $B''$ et $C''$ les milieux respectifs des segments $[AH]$, $[BH]$ et $[CH]$.
+
+En vertu du théorème \ref{thmilieux}, appliqué successivement aux triangles $ABC$ et $HBC$
+\XSmartphoneCommand{%
+\begin{equation}
+\left.\begin{aligned}
+\overrightarrow{C'B'}=\frac12\overrightarrow{BC}&\\
+\overrightarrow{B''C''}=\frac12\overrightarrow{BC}&
+\end{aligned}\right\}\implies \overrightarrow{C'B'}=\overrightarrow{B''C''}\text{ et }(C'B')\parallel(B''C'')\parallel(BC).\label{parallelBC}
+\end{equation}}
+\SmartphoneCommand{
+\begin{equation}
+\left.\begin{aligned}
+\overrightarrow{C'B'}=\frac12\overrightarrow{BC}&\\
+\overrightarrow{B''C''}=\frac12\overrightarrow{BC}&
+\end{aligned}\right\}\implies \left\{\begin{aligned}&\overrightarrow{C'B'}=\overrightarrow{B''C''}\\ \text{et}&\\(&C'B')\parallel(B''C'')\parallel(BC).\end{aligned}\right.\label{parallelBC}
+\end{equation}}
+
+De même, en appliquant ce même théorème aux triangles $BAH$ et $CAH$
+\XSmartphoneCommand{%
+\begin{equation}
+\left.\begin{aligned}
+\overrightarrow{C'B''}=\frac12\overrightarrow{AH}&\\
+\overrightarrow{B'C''}=\frac12\overrightarrow{AH}&
+\end{aligned}\right\}\implies \overrightarrow{C'B''}=\overrightarrow{B'C''}\text{ et }(C'B'')\parallel(B'C'')\parallel(AH).\label{parallelAH}
+\end{equation}}
+\SmartphoneCommand{%
+\begin{equation}
+\left.\begin{aligned}
+\overrightarrow{C'B''}=\frac12\overrightarrow{AH}&\\
+\overrightarrow{B'C''}=\frac12\overrightarrow{AH}&
+\end{aligned}\right\}\implies\left\{\begin{aligned}&\overrightarrow{C'B''}=\overrightarrow{B'C''}\\ \text{et}&\\(&C'B'')\parallel(B'C'')\parallel(AH).\end{aligned}\right.\label{parallelAH}
+\end{equation}}
+
+À ce stade nous avons établi que $B'C'B''C''$ est un parallélogramme. Nous savons également que $(AH)$, en tant que hauteur du triangle, est perpendiculaire à $(BC)$. Grâce à cette remarque et aux relations de parallélisme avec $(BC)$ et $(AH)$ établies ci-dessus dans les implications \eqref{parallelBC} et \eqref{parallelAH}, nous pouvons affirmer que $B'C'B''C''$ est un rectangle. Ce rectangle est inscriptible dans le cercle admettant $[B'B'']$ et $[C'C'']$ pour diamètres.
+
+On montre de la même façon que $A'C'A''C''$ est un rectangle inscriptible dans le même cercle de diamètres $[C'C'']$ et $[A'A'']$. Les six points $A'$, $A''$, $B'$, $B''$, $C'$ et $C''$ appartiennent donc au cercle $\symcal{C}$ de diamètre, par exemple, $[A'A'']$.
+
+Considérons alors le point $D$ : si le triangle $ABC$ est isocèle en $A$, il est confondu avec $A'$ et appartient donc au cercle $\symcal{C}$. Sinon $D$ et $A'$ sont distincts et le triangle $ADA'$ est rectangle en $D$ : d'après le théorème \ref{diamtrrec}, $D$ appartient au cercle $\symcal{C}$ de diamètre $[AA']$. On montre de la même façon que les points $E$ et $F$ appartiennent à $\symcal{C}$.
+\end{proof}
+\begin{remark} Le cercle d'Euler est le cercle circonscrit au triangle des milieux $A'B'C'$.
+\end{remark}
+%
+\subsection{Centre du cercle d'Euler}
+Nous allons préciser la remarque précédente (voir figure \ref{centreeuler}).
+\begin{thm}
+Soit un triangle $ABC$ et soit $A'$, $B'$ et $C'$ les milieux respectifs de $[BC]$, $[CA]$ et $[AB]$.
+Soit $O$ le centre du cercle circonscrit à $ABC$, $G$ son centre de gravité et $H$ son orthocentre :
+\begin{itemize}
+\item le point $O$ est l'orthocentre du triangle $A'B'C'$ ;
+\item le point $G$ est le centre de gravité du triangle $A'B'C'$ ;
+\item le centre $O'$ du cercle circonscrit au triangle $A'B'C'$ appartient à la droite d'Euler et vérifie la relation vectorielle
+\[\overrightarrow{GO'}=-\frac12\overrightarrow{GO}.\]
+\end{itemize}
+\end{thm}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$B$](B) at (0,0);
+\coordinate[label=below:$C$](C) at (5,0);
+\coordinate (T) at ($(B)!1!32:(C)$);
+\coordinate (S) at ($(C)!1!100:(B)$);
+\coordinate[label=above:$A$](A) at at (intersection of C--S and B--T);
+\draw (A)--(B)--(C)--cycle;
+\coordinate [label=below:$A'$] (A') at ($(B)!0.5!(C)$);
+\coordinate [label=right:$B'${\rule[-1mm]{0mm}{1mm}}] (B') at ($(A)!0.5!(C)$);
+\coordinate [label=left:$C'${\rule[-1mm]{0mm}{1mm}}] (C') at ($(A)!0.5!(B)$);
+\coordinate (X) at ($(C')!1!90:(B)$);
+\coordinate (Y) at ($(B')!1!90:(C)$);
+\coordinate[label=above:$O$] (O) at (intersection of C'--X and B'--Y);
+\coordinate [label=above:$G$] (G) at ($(A')!0.333!(A)$);
+\coordinate[label=below:$H$] (H) at ($(O)!3!(G)$);
+\draw (A)--(B)--(C)--cycle ;
+\coordinate[label=above:$O'$] (O') at ($(O)!1.5!(G)$);
+\draw [dotted,semithick](A')--(B')--(C')--cycle;
+\draw (O)--(H);
+\foreach \point in {A,B,C,B',C',A',O,O',G,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{centreeuler}
+\end{figure}
+
+
+%%\DinoiPadAirCommand{\pagebreak}
+
+\begin{proof}
+\begin{itemize}
+\item La droite $(A'O)$, médiatrice de $[BC]$, est perpendiculaire à la droite $(BC)$, donc également à la droite $(C'B')$ parallèle à $(BC)$ d'après le théorème \ref{thmilieux}. Dans le triangle $A'B'C'$, le point $O$ appartient donc à la hauteur issue de $A'$. On montre de la même façon que $O$ appartient à la hauteur issue de $B'$. Le point $O$ est donc l'orthocentre de $A'B'C'$.
+\item Grâce à la relation \eqref{eqGmediane} du théorème \ref{thgravit}, on obtient
+\[\overrightarrow{GA'}=-\frac12\overrightarrow{GA},\quad \overrightarrow{GB'}=-\frac12\overrightarrow{GC}\quad\text{et}\quad\overrightarrow{GC'}=-\frac12\overrightarrow{GC}.\]
+On en déduit
+\begin{align*}
+\overrightarrow{GA'}+\overrightarrow{GB'}+\overrightarrow{GC'}&=-\frac12\Bigl(\,\underbrace{\overrightarrow{GA}+\overrightarrow{GB}+\overrightarrow{GC}}_{\vec{0}}\,\Bigr),\\
+\overrightarrow{GA'}+\overrightarrow{GB'}+\overrightarrow{GC'}&=\vec{0},
+\end{align*}
+qui prouve que $G$ est le centre de gravité de $A'B'C'$.
+\item Si l'on applique la relation \eqref{eulerposition} du théorème \ref{eulerprecis} au triangle $A'B'C'$, on obtient $\overrightarrow{GO}=-2\overrightarrow{GO'}$. On en déduit la relation
+\[\overrightarrow{GO'}=-\frac12\overrightarrow{GO}.\qedhere\]\end{itemize}
+\end{proof}
+
+\begin{remark}
+La configuration des points $(O, O', G, H)$ est remarquable. On dit qu'ils sont en \emph{division harmonique} ; cette notion fera l'objet d'une prochaine parution de la \emph{Mathematica dinosaurorum}.
+\end{remark}
+\endinput
diff --git a/macros/luatex/latex/tango/examples/handout-euler.tex b/macros/luatex/latex/tango/examples/handout-euler.tex
new file mode 100644
index 0000000000..533d96b904
--- /dev/null
+++ b/macros/luatex/latex/tango/examples/handout-euler.tex
@@ -0,0 +1,29 @@
+% !TEX TS-program = LuaLaTeX
+\documentclass[french,ColorTheme=Tannen,FontSize=11pt,
+StylisticSet={parallelslant,leqslant},Numbers=OldStyle]{tango}
+\renewcommand{\arraystretch}{1.3}
+\usepackage{tikz}
+\usetikzlibrary{calc,through,arrows}
+\tgosmartlists
+\AtBeginDocument{%
+\RenewCommandCopy{\setminus}{\smallsetminus}
+}
+\NewDocumentCommand\N{}{\ensuremath{\symbb{N}}}
+\NewDocumentCommand\Z{}{\ensuremath{\symbb{Z}}}
+\NewDocumentCommand\Q{}{\ensuremath{\symbb{Q}}}
+\NewDocumentCommand\R{}{\ensuremath{\symbb{R}}}
+\NewDocumentCommand\C{}{\ensuremath{\symbb{C}}}
+\NewDocumentCommand\Pt{m}{\ensuremath{\symfrak{P}(#1)}}
+\NewDocumentCommand\rond{}{\mathrel{\circ}}
+\NewDocumentCommand\mesalg{m}{\overline{#1}}
+\NewDocumentCommand\Vector{m}{\overrightarrow{#1}}
+\DeclareMathOperator{\cl}{cl}
+\DeclareMathOperator{\sgn}{sgn}
+\newcounter{prop}
+\newstatement{prop}{prop}{Propriété}
+\newfixedcaption{\figcaption}{figure}
+%%
+%\tangoSmartLists
+\begin{document}
+\include{euler}
+\end{document} \ No newline at end of file
diff --git a/macros/luatex/latex/tango/examples/handout-polynomes-deg2.tex b/macros/luatex/latex/tango/examples/handout-polynomes-deg2.tex
new file mode 100644
index 0000000000..3e260be4a9
--- /dev/null
+++ b/macros/luatex/latex/tango/examples/handout-polynomes-deg2.tex
@@ -0,0 +1,27 @@
+% !TEX TS-program = LuaLaTeX
+\documentclass[french,ColorTheme=BlackAndWhite,FontSize=11pt]{tango}
+\renewcommand{\arraystretch}{1.3}
+\usepackage{tikz}
+\usetikzlibrary{calc,through,arrows}
+\tgosmartlists
+\AtBeginDocument{%
+\RenewCommandCopy{\setminus}{\smallsetminus}
+}
+\NewDocumentCommand\N{}{\ensuremath{\symbb{N}}}
+\NewDocumentCommand\Z{}{\ensuremath{\symbb{Z}}}
+\NewDocumentCommand\Q{}{\ensuremath{\symbb{Q}}}
+\NewDocumentCommand\R{}{\ensuremath{\symbb{R}}}
+\NewDocumentCommand\C{}{\ensuremath{\symbb{C}}}
+\NewDocumentCommand\Pt{m}{\ensuremath{\symfrak{P}(#1)}}
+\NewDocumentCommand\rond{}{\mathrel{\circ}}
+\NewDocumentCommand\mesalg{m}{\overline{#1}}
+\NewDocumentCommand\Vector{m}{\overrightarrow{#1}}
+\DeclareMathOperator{\cl}{cl}
+\DeclareMathOperator{\sgn}{sgn}
+\newcounter{prop}
+\newstatement{prop}{prop}{Propriété}
+\newfixedcaption{\figcaption}{figure}
+%%
+\begin{document}
+\input{polynome-deg2}
+\end{document} \ No newline at end of file
diff --git a/macros/luatex/latex/tango/examples/polynome-deg2.tex b/macros/luatex/latex/tango/examples/polynome-deg2.tex
new file mode 100644
index 0000000000..bf91400a55
--- /dev/null
+++ b/macros/luatex/latex/tango/examples/polynome-deg2.tex
@@ -0,0 +1,557 @@
+\renewcommand{\arraystretch}{1.3}
+%\renewcommand*{\DinoThmLogo}{\textcolor{ColorOne}{\oldpilcrowfour}\ignorespaces}
+%\renewcommand*{\DinoThmLogo}{\hspace*{\DinoTitleIndent-3pt}\ignorespaces}
+
+%\textcolor{ColorOne}{\oldpilcrowfour}\ignorespaces
+
+%%%%%% quelques figures, le début arrive ensuite
+\newcommand{\paraone}{
+\begin{tikzpicture}[domain=-5:5,samples=100,x=6mm,y=6mm]
+ \clip (-2,-3.5) rectangle (3.5,3);
+ \draw[very thin,color=gray,xstep=0.5,ystep=0.5] (-2,-2.5) grid (3.5,3);
+ \draw [->](-2,0) -- (3.5,0) node[above=15mm,left=4mm] {$\symcal{C}_P$};
+ \draw[->] (-1.9,-2.5) -- (-1.9,3) node[above] {};
+ \draw[semithick,domain=-2:3.5,label=left:$\symcal{C}_P$] plot (\x,{0.5(\x+1)*(\x-2)});
+ \draw [fill=white] (-1,0) circle (1.2pt) node[below=2mm,left] {$\beta$};
+\draw [fill=white] (2,0) circle (1.2pt) node[below=2mm,right] {$\alpha$};
+\node[below] at (.75,-2.5){$\Delta>0\;\text{ et }\; a>0$};
+ \end{tikzpicture}
+}
+\newcommand{\paratwo}{
+ \begin{tikzpicture}[domain=-5:5,samples=100,x=6mm,y=6mm]
+ \clip (-2,-4) rectangle (3.5,2.5);
+ \draw[very thin,color=gray,xstep=0.5,ystep=0.5] (-2,-3) grid (3.5,2.5);
+ \draw [->](-2,0) -- (3.5,0) node[above=12mm,left=8mm] {$\symcal{C}_P$};
+ \draw[->] (-1.9,-3) -- (-1.9,2.5) node[above] {};
+ \draw[semithick,domain=-2:3.5,label=left:$\symcal{C}_P$] plot (\x,{-(\x+1)*(\x-2)});
+ \draw [fill=white] (-1,0) circle (1.2pt) node[above=2mm,left] {$\alpha$};
+\draw [fill=white] (2,0) circle (1.2pt) node[above=2mm,right] {$\beta$};
+\draw[fill=white,white] (-2,-4) rectangle (3.5,-3);
+\node[below] at (.75,-3){$\Delta>0\;\text{ et }\; a<0$};
+ \end{tikzpicture}
+}
+
+\newcommand{\parathree}{
+\begin{tikzpicture}[domain=-5:5,samples=100,x=6mm,y=6mm]
+ \clip (-2,-1.5) rectangle (3.5,5);
+ \draw[very thin,color=gray,xstep=0.5,ystep=0.5] (-2,-.5) grid (3.5,5);
+ \draw [->](-2,0) -- (3.5,0) node[above=25mm,left=6mm] {$\symcal{C}_P$};
+ \draw[->] (-1.9,-.5) -- (-1.9,5) node[above] {};
+ \draw[semithick,domain=-2:3.5] plot (\x,{(\x+1)*(\x-2)+2.25});
+ \draw [fill=white] (0.5,0) circle (1.2pt) node[above=1mm] {$\frac{-b}{2a}$};
+\node[below] at (.75,-0.5){$\Delta=0\;\text{ et }\; a>0$};
+ \end{tikzpicture}
+}
+
+\newcommand{\parafour}{
+\begin{tikzpicture}[domain=-5:5,samples=100,x=6mm,y=6mm]
+ \clip (-2,-6) rectangle (3.5,0.5);
+ \draw[very thin,color=gray,xstep=0.5,ystep=0.5] (-2,-5) grid (3.5,.5);
+ \draw [->](-2,0) -- (3.5,0) node[below=25mm,left=6mm] {$\symcal{C}_P$};
+ \draw[->] (-1.9,-5) -- (-1.9,.5) node[above] {};
+ \draw[semithick,domain=-2:3.5] plot (\x,{-(\x+1)*(\x-2)-2.25});
+ \draw [fill=white] (0.5,0) circle (1.2pt) node[below=1mm] {$\frac{-b}{2a}$};
+\draw[fill=white,white] (-2,-6) rectangle (3.5,-5);
+\node[below] at (.75,-5){$\Delta=0\;\text{ et }\; a<0$};
+ \end{tikzpicture}
+}
+
+\newcommand{\parafive}{
+\begin{tikzpicture}[domain=-5:5,samples=100,x=6mm,y=6mm]
+ \clip (-2,-1.5) rectangle (3.5,5);
+ \draw[very thin,color=gray,xstep=0.5,ystep=0.5] (-2,-.5) grid (3.5,5);
+ \draw [->](-2,0) -- (3.5,0) node[above=25mm,left=6mm] {$\symcal{C}_P$};
+ \draw[->] (-1.9,-.5) -- (-1.9,5) node[above] {};
+ \draw[semithick,domain=-2:3.5] plot (\x,{(\x+1)*(\x-2)+2.75});
+\node[below] at (.75,-.5){$\Delta<0\;\text{ et }\; a>0$};
+ \end{tikzpicture}
+}
+
+\newcommand{\parasix}{
+ \begin{tikzpicture}[domain=-5:5,samples=100,x=6mm,y=6mm]
+ \clip (-2,-6) rectangle (3.5,0.5);
+ \draw[very thin,color=gray,xstep=0.5,ystep=0.5] (-2,-5) grid (3.5,.5);
+ \draw [->](-2,0) -- (3.5,0) node[below=25mm,left=6mm] {$\symcal{C}_P$};
+ \draw[->] (-1.9,-5) -- (-1.9,.5) node[above] {};
+ \draw[semithick,domain=-2:3.5] plot (\x,{-(\x+1)*(\x-2)-2.75});
+\draw[fill=white,white] (-2,-6) rectangle (3.5,-5);
+\node[below] at (.75,-5){$\Delta<0\;\text{ et }\; a<0$};
+ \end{tikzpicture}
+}
+%%%%
+\tgotitle{Polynômes du second degré}
+\tgoshorttoc
+\section{Généralités}
+\subsection{Fonction polynôme du second degré}
+On dit qu'une fonction $P$, définie sur l'ensemble $\R$ des nombres réels et à valeurs dans $\R$, est une fonction polynôme du second degré s'il existe un réel $a$ non nul ainsi que deux réels $b$ et $c$ tels que
+\[\forall x\in\R,\; P(x)=ax^2+bx+c.\]
+On convient alors de dire que $ax^2+bx+c$ est un polynôme du second degré.
+
+\begin{remark}
+Cette définition n'entraîne évidemment pas qu'une fonction polynôme de degré 2 donnée ne puisse pas s'écrire sous une forme différente. Par exemple :
+\begin{itemize}
+\item Cas de $P : \R\rightarrow\R,\; x\mapsto x^2-3x+2$ : $\forall\,x\in\R$, $P(x)=(x-1)(x-2)$.
+\item Cas de $Q : \R\rightarrow\R,\; x\mapsto x^2-1$ : $\forall\,x\in\R$,
+ \[Q(x)=\frac{x^4-1}{x^2+1}.\]
+ \item Cas de $R : \R\rightarrow\R,\; x\mapsto x^2-2x+5$ : $\forall\,x\in\R$, $R(x)=\left(\left({x-1}\right)^2\right)+4$.
+\end{itemize}
+\end{remark}
+\subsection{Écriture unique}
+Il existe cependant un certaine unicité de l'écriture d'un polynôme de degré~2, qui concerne plus précisément ses \emph{coefficients} $a$, $b$ et $c$.
+\begin{thm}
+Soit $(a,a')\in\R^*\times\R^*$, $(b,b')\in\R\times\R$ et $(c,c')\in\R\times\R$ tels que
+\[\forall x\in\R,\; ax^2+bx+c=a'x^2+b'x+c',\]
+alors $a=a'$, $b=b'$ et $c=c'$.
+\label{thunicite}
+\end{thm}
+\begin{proof}
+L'égalité entre les deux expressions étant vraie pour tout $x\in\R$, elle l'est en particulier pour $x=0$. On en déduit que $c=c'$ et par conséquent
+\begin{align*}
+\forall x\in\R,\; ax^2+bx&=a'x^2+b'x,\\
+\forall x\in\R,\; x(ax+b)&=x(a'x+b'),\\
+\intertext{Soit, en simplifiant par $x\neq0$}
+\forall x\in\R^*,\;ax+b&=a'x+b'.
+\end{align*}
+
+En donnant alors successivement à $x$ les valeurs $1$ et $2$, on obtient :
+\[\left\{\begin{aligned}
+(a-a')+(b-b')&=0\\
+2(a-a')+(b-b')&=0
+\end{aligned}\right.\;,\]
+dont la résolution amène à $a-a'=0$ et $b-b'=0$, c.-à-d. : $a=a'$ et $b=b'$.
+\end{proof}
+
+\section{Forme canonique}
+\subsection{Méthode de complétion au carré}\label{sec2-1}
+Fixons nous un réel $m$. On rappelle que, pour tout $x\in\R$, $(x+m)^2=x^2+2mx+m^2$. Ou encore :
+\begin{equation}
+\forall x\in\R, \; x^2+2mx=\left(x+m\right)^2-m^2.
+\end{equation}
+
+Dans le cas de $P : \R\rightarrow\R, x\mapsto x^2+2mx+p$, on remarque que l'on peut alors écrire
+\begin{equation}
+x^2+2mx+p=\left(x+m\right)^2-m^2+p.\label{eqfcreduite}
+\end{equation}
+
+Cette remarque fonde la \emph{méthode de complétion au carré}.
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item \label{explefactor}
+On souhaite résoudre l'équation $x^2-6x+7=0$. On remarque que \[x^2-6x+7=(x-3)^2-9+7\] et on se ramène ainsi à
+\begin{align*}
+(x-3)^2-2&=0,\\
+(x-3)^2-\bigl(\sqrt{2}\bigr)^2&=0,\\
+\intertext{puis en employant une identité remarquable}
+\bigl(x-3+\sqrt{2}\bigr)\bigl(x-3-\sqrt{2}\bigr)&=0.
+\end{align*}
+D'où l'on déduit que l'ensemble des solutions de $x^2-6x+7=0$ est
+\[
+\symcal{S}=\bigl\{3-\sqrt{2}, 3+\sqrt{2}\bigr\}.
+\]
+\item Démontrer que $x^2+x+1$ est strictement positif pour tout $x\in\R$.
+On écrit
+\begin{align*}
+x^2+x+1&=x^2+2\times\frac12x+1,\\
+&=\left(x+\frac12\right)^2-\frac14+1,\\
+&=\left(x+\frac12\right)^2+\frac34\,.
+\end{align*}
+
+On en déduit que, pour tout $x\in\R$,
+\[x^2+x+1≥\frac34\:.\]
+On a donc finalement : $\forall x\in\R,\; x^2+x+1>0$.
+\end{enumerate}
+\end{example}
+\subsection{Cas général}
+En factorisant $a$ dans $P(x)$, on obtient le théorème suivant :
+\begin{thm}
+Soit $P$, la fonction polynôme de degré 2 définie sur $\R$ par $P(x)=ax^2+bx+c$. On a
+\begin{equation}
+\forall x\in\R,\;P(x)=a\left(\left(x+\frac{b}{2a}\right)^2-\frac{\Delta}{4a^2}\vphantom{\frac{b^2}{4a^2}}\right),\label{eqformcan}
+\end{equation}
+où $\Delta$, que l'on nomme \emph{discriminant} du polynôme $P(x)$, vaut $\Delta=b^2-4ac$.
+\label{thformcan}
+\end{thm}
+\begin{proof}
+On commence par factoriser $a$ dans $P(x)$ :
+\[P(x)=a\left(x^2+\frac{b}{a}x+\frac{c}{a}\right),\]
+puis on utilise l'égalité \eqref{eqfcreduite} avec $m=b/(2a)$ et $p=c/a$. On obtient
+\[P(x)=a\left(\left(x+\frac{b}{2a}\right)^2-\frac{b^2}{4a^2}+\frac{c}{a}\right).
+\]
+%D'où le résultat annoncé.
+Une réduction au même dénominateur amène alors au résultat annoncé.
+\end{proof}
+
+\subsubsection{Discriminant réduit}
+Dans le cas où $b$ se met agréablement sous la forme $2b'$ (par exemple, lorsque $b$ est un entier pair) on peut remarquer que $b/2a=b'/a$ et que $\Delta=4b'^2-4ac$.
+ On est alors amené à poser $\Delta'=b'^2-ac$ et l'on obtient
+\begin{equation}
+\forall x\in\R,\;P(x)=a\left(\left(x+\frac{b'}{a}\right)^2-\frac{\Delta'}{a^2}\vphantom{\frac{b^2}{4a^2}}\right).
+\end{equation}
+Le nombre $\Delta'$ est souvent nommé \emph{discriminant réduit}
+
+\subsubsection{Extrémums}
+La forme canonique de la fonction $P$ met en évidence l'existence d'un extrémum dont la nature dépend du signe de $a$.
+\begin{thm}
+Soit $P$, la fonction polynôme de degré 2 définie sur $\R$ par $P(x)=ax^2+bx+c$.
+\XSmartphoneCommand{\vspace{\baselineskip}}
+
+La fonction $P$ admet en\SmartphoneCommand{\\} $-\dfrac{b}{2a}\left\{\begin{aligned}
+\text{un \emph{minimum} égal à $\smash{-\dfrac{\Delta}{4a}}$}\; &\text{si $a>0$,}\\[2.5ex]
+\text{un \emph{maximum} égal à $\smash{-\dfrac{\Delta}{4a}}$}\; &\text{si $a<0$.}
+\end{aligned}\right.$
+\vspace{1ex}\par
+\label{thextrem}
+\end{thm}
+
+\begin{proof}
+On voit tout d'abord que
+\[\forall x\in\R,\;\left(x+\frac{b}{2a}\right)^2≥0,
+\]
+donc que
+\[
+\forall x\in\R,\;\left(x+\frac{b}{2a}\right)^2-\frac{\Delta}{4a^2}≥-\frac{\Delta}{4a^2},
+\]
+l'égalité n'étant atteinte que si le carré est nul, donc si $x=-b/(2a)$. On fait alors apparaître $P(x)$ (compte tenu de l'égalité \eqref{eqformcan} du théorème \ref{thformcan}) en multipliant chaque membre de cette inégalité par $a\neq0$, ce qui change ou non son sens, selon que a est positif ou négatif. Il vient alors :
+\begin{itemize}
+\item si $a>0$,
+\[
+\forall x\in\R,\; P(x)≥-\frac{\Delta}{4a}\;;
+\]
+\item et si $a<0$,
+\[
+\forall x\in\R,\; P(x)≤-\frac{\Delta}{4a}\,.
+\]
+\end{itemize}
+On sait de plus que dans les deux cas, l'égalité est atteinte si et seulement si $x=-b/(2a)$.
+\end{proof}
+
+\section{Factorisation}
+\subsection{Théorème de factorisation}
+La méthode vue dans l'exemple \ref{explefactor} de la section \ref{sec2-1} se généralise, pourvu que $\Delta$ soit positif. Précisément, on a le théorème
+\begin{thm}\label{thfactor}%
+Soit $P$, la fonction polynôme de degré 2 définie sur $\R$ par $P(x)=ax^2+bx+c$. Si le discriminant $\Delta$ de $P$ est positif ($\Delta≥0$), alors
+\begin{align*}
+\forall x \in\R,\;P(x)&=a(x-\alpha)(x-\beta)\\
+\text{où}\quad\alpha=\frac{-b+\sqrt{\Delta}}{2a}&\text{ et }\beta=\frac{-b-\sqrt{\Delta}}{2a}.
+\end{align*}
+\end{thm}
+\begin{remark}
+Le cas où $\Delta=0$ est particulier, puisque l'on a alors
+\[
+\alpha=\beta=\frac{-b}{2a}\quad\text{soit :}\quad\forall x\in\R,\;P(x)=a\left(x-\frac{-b}{2a}\right)^2.
+\]
+\end{remark}
+
+\begin{proof}
+On remarque que si $\Delta≥0$, on peut écrire
+\[
+\frac{\Delta}{4a^2}=\left(\frac{\sqrt{\Delta}}{2a}\right)^2.
+\]
+
+En reportant dans l'égalité \eqref{eqformcan} du théorème \ref{thformcan}, on obtient
+\[
+\forall x\in\R,\;P(x)=a\left(\left(x+\frac{b}{2a}\right)^2-\left(\frac{\sqrt{\Delta}}{2a}\right)^2\right).
+\]
+
+On obtient alors le résultat annoncé en factorisant la différence de deux carrés grâce à l'identité remarquable $A^2-B^2=(A+B)(A-B)$.
+\end{proof}
+
+\subsection{Racines}
+Soit $P$ une fonction polynôme du second degré.
+On dit que $P$ est factorisable par $(x-x_0)$ s'il existe $m\in\R^*$ et $p\in\R$ tels que
+\begin{equation}\forall x\in\R,\;P(x)=(x-x_0)(mx+p).\label{eqfactorx0}\end{equation}
+On dit qu'un réel $x_0$ est une racine de $P$ si $P(x_0)=0$ : une racine de $P$ n'est donc rien d'autre qu'une solution de l'équation $P(x)=0$.
+
+Nous pouvons maintenant formuler le théorème qui suit :
+\begin{thm}
+Soit $P$ une fonction polynôme du second degré et $x_0\in\R$. Le réel $x_0$ est une racine de $P$ si et seulement si $P$ est factorisable par $(x-x_0)$.
+\end{thm}
+
+\begin{proof}
+Tout d'abord, si $P$ est factorisable par $x_0$, il suffit de calculer $P(x_0)$ en utilisant l'égalité \eqref{eqfactorx0} pour constater que $P(x_0)=0$, donc que $x_0$ est une racine de $P$.
+
+Réciproquement supposons que $x_0$ est une racine de $P$, donc que $P(x_0)=0$. Soit alors $a$, $b$ et $c$ les coefficients de $P(x)$ : on a
+\[ax_0^2+bx_0+c=P(x_0)=0,\]
+ d'où $c=-ax_0^2-bx_0$. Et en substituant cette écriture de $c$ dans l'expression de $P(x)$ :
+\begin{align*}
+P(x)&=ax^2+bx+c\\
+&= ax^2+bx-ax_0^2-bx_0,\\
+&= a(x^2-x_0^2)+b(x-x_0),\\
+&= a(x-x_0)(x+x_0)+b(x-x_0),\\
+&=(x-x_0)(ax+ax_0+b).
+\end{align*}
+
+On en arrive à $P(x)=(x-x_0)(mx+p)$, en prenant $m=a$ et $p=ax_0+b$.
+\end{proof}
+
+\subsubsection{Racines et équation du second degré}
+Nous faisons ici le point sur les racines de $P$, autrement dit sur la résolution de l'équation
+$P(x)=0$.
+
+
+\begin{itemize}
+\item \textit{Si $\Delta<0$,} nous reprenons le théorème \ref{thextrem} : dans ce cas, la fonction $P$ possède un minimum strictement positif si $a>0$ ou un maximum strictement négatif si $a<0$. Dans chaque cas, si $\Delta<0$, l'équation $P(x)=0$ ne possède pas de solution, autrement dit $P$ n'admet aucune racine.
+
+\item \textit{Si maintenant $\Delta=0$,} la remarque qui suit le théorème \ref{thfactor} prouve que l'équation $P(x)=0$ équivaut à
+\[
+\left(x-\frac{-b}{2a}\right)^2=0
+\]
+ et admet $-b/(2a)$ pour seule solution, ou encore que ce nombre est la seule racine de $P$. Dans la mesure où le facteur $x-(-b/(2a))$ intervient par son carré, on parle alors de \emph{racine double}.
+
+ \item \textit{Enfin si $\Delta>0$,} d'après le théorème \ref{thfactor}, $P(x)=0$ équivaut à $(x-\alpha)(x-\beta)=0$.
+%\DinoXiPadminiCommand{$(x-\alpha)(x-\beta)=0$.}
+%\DinoiPadminiCommand{\[(x-\alpha)(x-\beta)=0.\]}
+ Cette équation admet donc deux solutions, ou encore $P$ admet deux racines qui sont
+ \[
+ \alpha=\frac{-b+\sqrt{\Delta}}{2a}\quad\text{et}\quad\beta=\frac{-b-\sqrt{\Delta}}{2a}.
+ \]
+\end{itemize}
+
+
+\begin{remark}
+Dons le cas où l'on a posé $b=2b'$ et utilisé le discriminant réduit $\Delta'$, il est facile de vérifier que les racines s'expriment comme suit :
+\[
+\alpha=\frac{-b'+\sqrt{\Delta'}}{a}\quad\text{et}\quad\beta=\frac{-b'-\sqrt{\Delta'}}{a}.
+\]
+\end{remark}
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Résoudre l'équation $3x^2-5x+1=0$ : calculons $\Delta=25-12=13$. L'équation a deux solutions qui sont les racines de $3x^2-5x+1$ :
+\[
+\alpha=\frac{5+\sqrt{13}}{6}\quad\text{et}\quad\beta=\frac{5-\sqrt{13}}{6}.
+\]
+L'ensemble des solutions est $\symcal{S}=\{\alpha,\beta\}$.
+\item Factoriser si possible $-2x^2+3x+2$ : on calcule $\Delta=9+16=5^2$. Il existe deux racines qui sont $2$ et $-1/2$ ; d'où
+\[
+\forall x\in\R,\;-2x^2+3x+2=-2(x-2)\left(x+\frac12\right).
+\]
+\item Factoriser si possible $A(x)=2x^2-8$ : utilisons l'identité remarquable
+\[
+a^2-b^2=(a+b)(a-b).
+\]
+\[\forall x\in\R,\;2x^2-8=2(x^2-4)=2(x-2)(x+2).\]
+Dans un cas de ce genre, il est bien sûr inutile de calculer $\Delta$. En revanche, l'existence de deux racines distinctes nous prouve que $\Delta>0$.
+\item Résoudre l'équation $3x^2+2=0$. La fonction polynôme $x\mapsto3x^2+2$ admet un minimum strictement positif égal à $2$. Il n'y a aucune solution, l'ensemble des solutions est $\symcal{S}=\emptyset$.
+\item Factoriser $9x^2-6x+1=0$. On pourrait envisager de calculer $\Delta$, mais en observant l'expression, on reconnait un membre d'identité remarquable :
+\[\forall x\in\R,\;9x^2-6x+1=(3x-1)^2.\]
+\item Résoudre $x^2+2x=0$. La factorisation est immédiate :
+\[x^2+2x=0\iff x(x+2)=0\iff x=0\text{ ou }x+2=0.\]
+L'ensemble des solutions de cette équation est donc $\symcal{S}=\{0,-2\}$.
+\end{enumerate}
+\end{example}
+%
+%
+
+\subsection{Problème de signe}
+Nous rappelons ici que la fonction \emph{signe} est définie sur $\R$ comme suit :
+\[\forall x \in \R,\; \sgn(x)=\begin{cases}
+-1 &\text{si $x<0$,}\\
+0 &\text{si $x=0$,}\\
+1 &\text{si $x>0$.}
+\end{cases}
+\]
+Cette définition est beaucoup plus pertinente que l'usage des symboles ${+}$ et ${-}$, ne serait-ce que parce qu'elle rend exacte et claire une formulation comme \emph{le signe du produit est le produit des signes}.
+\begin{thm}
+Soit $P$, la fonction polynôme de degré 2 définie sur $\R$ par $P(x)=ax^2+bx+c$.
+\begin{itemize}
+\item Si $\Delta<0$, le signe de $P(x)$ est égal à celui de $a$ en tout $x$ réel.
+\item Si $\Delta=0$, le signe de $P(x)$ est égal au signe de $a$ en tout $x$ réel différent de $-b/(2a)$ et s'annule en $-b/(2a)$.
+\item Si $\Delta>0$, le signe de $P(x)$ est égal au signe de $-a$ en tout $x$ intérieur à l'intervalle des racines, au signe de $a$ en tout $x$ extérieur à l'intervalle des racines et s'annule aux racines.
+\end{itemize}
+\label{thsgn}
+\end{thm}
+
+Ces résultats s'interprètent sur la représentation graphique $\symcal{C}_P$ de $P$, selon les signes de $\Delta$ et $a$ (voir figure \ref{figracines}).
+\afterpage{\clearpage\begin{figure}[H]\centering
+\AfourCommand{%
+\noindent\hfill\paraone\hfill\parathree\hfill\parafive\hfill\null
+\par
+\noindent\hfill\paratwo\hfill\parafour\hfill\parasix\hfill\null
+}
+\BigTabletCommand{%
+\noindent\hfill\paraone\hfill\parathree\hfill\parafive\hfill\null
+\par
+\noindent\hfill\paratwo\hfill\parafour\hfill\parasix\hfill\null
+}
+\TabletCommand{%
+\noindent\hfill\paraone\hfill\parathree\hfill\parafive\hfill\null
+\par
+\noindent\hfill\paratwo\hfill\parafour\hfill\parasix\hfill\null
+}
+\SmartphoneCommand{%
+\noindent\hfill\paraone\hfill\paratwo\hfill\null
+\par
+\noindent\hfill\parathree\hfill\parafour\hfill\null
+\par
+\noindent\hfill\parafive\hfill\parasix\hfill\null
+}
+\SmallTabletCommand{%
+\vspace*{1.5cm}\par
+\noindent\hfill\paraone\hfill\paratwo\hfill\null
+\par
+\noindent\hfill\parathree\hfill\parafour\hfill\null
+\par
+\noindent\hfill\parafive\hfill\parasix\hfill\null
+}
+\figcaption{}\label{figracines}
+\end{figure}
+}
+
+\begin{proof}
+Examinons successivement les trois cas du théorème.
+\begin{itemize}
+\item Si $\Delta<0$, le résultat provient d'une remarque déjà faite : dans ce cas, la fonction $P$ possède un minimum strictement positif si $a>0$ ou un maximum strictement négatif si $a<0$.
+\item Si $\Delta=0$, on a
+\[
+P(x)=a\left(x+\frac{b}{2a}\right)^2.
+\]
+% La fonction $P$ admet donc $0$ pour minimum lorsque $a>0$ ou pour maximum lorsque $a>0$. Dans les deux cas cet extrémum n'est atteint qu'une fois en $-b/(2a)$.
+Le résultat annoncé se déduit du tableau de signes
+\[\begin{array}{c|ccccc}
+\hline
+x&-\infty&&-b/(2a)&&\infty\\
+\hline
+\sgn\bigl(\bigl(x+\frac{b}{2a}\bigr)^2\bigr)&&1&0&1&\\
+\hline
+\sgn(P(x))&&\sgn(a)&0&\sgn(a)&\\
+\hline
+\end{array}\]
+\item Si $\Delta>0$, on constate, en se référant à l'expression des racines $\alpha$ et $\beta$ dans théorème \ref{thfactor}, que $\alpha$ est la plus grande des deux racines si $a>0$ et la plus petite si $a<0$. En posant
+\begin{align*}\alpha'=\min(\alpha,\beta)&\text{ et }\beta'=\max(\alpha,\beta),\\
+\intertext{on obtient}
+P(x)=a(x-\alpha')(x-\beta'),\quad&\text{ avec $\alpha'<\beta'$}.
+\end{align*}
+On établit alors le tableau de signes
+{\SmartphoneCommand{\small}
+\[\begin{array}{c|ccccccc}
+\hline
+x&-\infty&&\alpha'&&\beta'&&\infty\\
+\hline
+\sgn(x-\alpha')&&-1&0&1&1&1&\\
+\hline
+\sgn(x-\beta')&&-1&-1&-1&0&1&\\
+\hline
+\sgn(P(x))&&\sgn(a)&0&\sgn(-a)&0&\sgn(a)&\\
+\hline
+\end{array}
+\]}
+Le résultat annoncé s'en déduit.\qedhere
+\end{itemize}
+\end{proof}
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Résoudre $x^2-x-6≤0$ : le discriminant vaut $\Delta=1+24=25$. Il existe deux racines qui sont $-2$ et $3$. On veut que $x^2-x-6$ soit négatif donc nul ou du signe de~$-a$ : cela se produit aux racines ou à l'intérieur de l'intervalle des racines. L'ensemble des solutions est $\symcal{S}=[-2,3]$.
+
+On aurait pu également, une fois les racines calculées, utiliser la forme factorisée du polynôme $P(x)=x^2-x-6$. Ainsi $P(x)=(x+2)(x-3)$, d'où le tableau de signes :
+\[\begin{array}{c|ccccccc}
+\hline
+x&-\infty&&\quad-2\quad&&\quad3\quad&&\infty\\
+\hline
+\sgn(x+2)&&-1&0&1&1&1&\\
+\hline
+\sgn(x-3)&&-1&-1&-1&0&1&\\
+\hline
+\sgn(P(x))&&1&0&-1&0&1&\\
+\hline
+\end{array}
+\]
+On retrouve la solution donnée par la première méthode.
+
+\item Résoudre $(2x-6)^2>0$ : ce carré est positif pour tout $x\in\R$ et s'annule si et seulement si $x=3$. Par conséquent, l'ensemble des solutions de cette inéquation est $\symcal{S}=\R\smallsetminus\{3\}$. Si l'on avait eu la très mauvaise idée de développer pour calculer le discriminant, on aurait trouvé $\Delta=0$ et une racine double égale à $3$.
+\item Résoudre $3x^2-4x-1≥0$ : c'est l'occasion d'utiliser le discriminant réduit.
+
+On trouve $\Delta'=4+3=7$.
+Il existe deux racines :
+\[
+\alpha=\frac{2+\sqrt{7}}{3}\quad\text{et}\quad\beta=\frac{2-\sqrt{7}}{3}.
+\]
+On veut que $3x^2-4x-1$ soit positif, donc nul ou du signe de $a$ : cela se produit aux racines ou à l'extérieur de l'intervalle des racines. L'ensemble des solutions est donc
+\[
+\symcal{S}=\left]-\infty, \beta\right] \cup \left[\alpha, \infty\right[.
+\]
+\item Résoudre $5x-2x^2>0$. La factorisation se fait à vue :
+\[
+5x-2x^2=-2x\left(x-\frac52\right),
+\]
+ il y a donc deux racines : $\alpha=0$ et $\beta=5/2$.
+
+On peut ensuite soit faire un tableau de signes, soit utiliser le théorème \ref{thsgn}, ce que nous ferons ici.
+On veut que $5x-2x^2$ soit strictement positif, donc du signe de $-a$ : cela se produit si et seulement si $x$ est à l'intérieur de l'intervalle des racines. L'ensemble des solutions est donc
+$\symcal{S}=\left]0,\, 5/2\right[$.
+\item Résoudre $x^2-x+1>0$ : on trouve $\Delta=-3$. Il n'y a pas de racines, donc $x^2-x+1$ admet pour signe $1$ pour tout $x\in\R$. Tout $x$ réel est donc solution : l'ensemble des solutions est $\symcal{S}=\R$.
+\end{enumerate}
+\end{example}
+\section{Somme et produit des racines}
+\subsection{Expression de la somme et du produit des racines}
+On suppose ici que $\Delta≥0$, c'est-à-dire que le polynôme $P$ deux racines $\alpha$ et $\beta$, confondues en une racine double au cas où $\Delta=0$. On a le théorème suivant:
+\begin{thm}\label{thsomprod}%
+Soit $P$, la fonction polynôme de degré 2 définie sur $\R$ par $P(x)=ax^2+bx+c$. Si le discriminant $\Delta$ de $P$ est positif, la somme et le produit des racines de $P$ sont données par
+\[
+\alpha+\beta=-\frac{b}{a} \quad\text{et}\quad \alpha\beta=\frac{c}{a}\:.
+\]
+\end{thm}
+
+\begin{remark}
+On sait que si $\Delta=0$, on a $\alpha=\beta=-b/(2a)$. On retrouve bien
+\[\alpha+\beta=2\times\left(-\frac{b}{2a}\right)=-\frac{b}{a}\;;\]
+on remarque également que, puisque $\Delta=0$, on a $b^2=4ac$ et par conséquent
+\[
+\alpha\beta=\left(-\frac{b}{2a}\right)^2=\frac{b^2}{4a^2}=\frac{4ac}{4a^2}=\frac{c}{a}\:.
+\]
+\end{remark}
+
+\begin{proof}On utilise la forme factorisée de $P(x)$ :
+\begin{align*}
+\forall x\in\R,\;P(x)&=a(x-\alpha)(x-\beta),\\
+&=a(x^2-\alpha x-\beta x +\alpha\beta),\\
+&=a\left(x^2-(\alpha+\beta)x+\alpha\beta\right),\\
+&=ax^2-a(\alpha+\beta)x +a\alpha\beta.
+\end{align*}
+
+D'après le théorème \ref{thunicite}, on peut identifier les coefficients : $-a(\alpha+\beta)=b$ et $a\alpha\beta=c$. Le résultat annoncé en découle immédiatement.
+\end{proof}
+\subsubsection{Racine apparente ou connue}
+On dit que $\alpha$ est une \frquote{racine apparente} (on dit également \frquote{évidente}) du polynôme $P$ lorsqu'un simple calcul à vue permet de montrer que $P(\alpha)=0$. On parle de racine connue lorsqu'un calcul antérieur a permis d'établir cette égalité. Dans une telle situation, il est facile de déterminer $\beta$, l'autre racine de $P$, grâce à la somme ou au produit :
+\[
+ \beta=-\frac{b}{a}-\alpha \quad \text{ou (dans le cas où $\alpha\neq0$)}\quad\beta=\frac{c}{a\alpha}.
+\]
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Factoriser le polynôme $P$, défini sur $\R$ par $P(x)=3x^2+9x+6$. Un calcul immédiat montre que $P(-1)=0$ : le réel $-1$ est donc racine de $P$, tandis que l'autre racine $\beta$ vérifie~\mbox{$-1\times\beta=6/3=2$}. D'où $\beta=-2$ et la factorisation : \[P(x)=3(x+1)(x+2).\]
+\item On pose $Q(x)=2x^2-13x+15$. Calculer $Q(5)$ et résoudre l'équation $Q(x)=0$. On trouve $Q(5)=0$ : le réel $5$ est donc racine de $Q$. L'autre racine vérifie $5+\beta=6{,}5$, d'où $\beta=1{,}5$ : l'ensemble des solutions de l'équation proposée est \[\symcal{S}=\left\{5, \frac32\right\}\,.\]
+
+\end{enumerate}
+\end{example}
+
+\subsection{Trouver deux nombres connaissant leur somme et leur produit}
+
+\begin{thm}
+Deux réels $s$ et $p$ étant donnés, il existe deux nombres réels $\alpha$ et $\beta$ dont la somme vaut $s$ et le produit $p$ si et seulement si le nombre $\Delta=s^2-4p$ est positif. Dans ce cas, les nombres $\alpha$ et $\beta$ sont les racines de la fonction polynôme de degré $2$ définie par $P(x)=x^2-sx+p$, de discriminant $\Delta$.
+\end{thm}
+\begin{proof}
+\begin{itemize}
+\item Tout d'abord, si $s^2-4p≥0$, la fonction polynôme $P$, de discriminant $\Delta=s^2-4p$ admet deux racines dont la somme est $s$ et le produit $p$ d'après le théorème \ref{thsomprod}.
+
+\item Réciproquement, s'il existe deux nombres $\alpha$ et $\beta$ tels que
+\[
+\alpha+\beta=s \quad\text{et}\quad \alpha\beta=p,
+\]
+on a, d'après la première équation, $\beta=s-\alpha$, puis en substituant dans la seconde
+\[\alpha(s-\alpha)=p\quad\text{soit}\quad\alpha^2-s\alpha+p=0,\]
+c'est-à-dire $P(\alpha)=0$.
+
+Il est donc nécessaire que $\alpha$ soit une racine de $P$, ce qui entraîne que le discriminant $s^2-4p$ soit positif. Enfin, la relation $\beta=s-\alpha$ entraîne que $\beta$ est alors la seconde racine de $P$.\qedhere
+\end{itemize}
+\end{proof}
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Trouver deux nombres dont la somme vaut $1$ et le produit $-12$. Ces deux nombres doivent être racines de $x^2+x-12$ dont le discriminant est $49$ et qui admet $-3$ et $4$ pour racines. Les deux nombres cherchés sont donc $-3$ et $4$.
+\item Trouver deux nombres dont la somme vaut $6$ et le produit $9$. On forme le polynôme $x^2-6x+9$, égal à $(x-3)^2$, dont le discriminant est nul et qui admet $3$ pour racine double : les nombres $\alpha$ et $\beta$ dont le produit vaut $9$ et la somme $6$ sont tous deux égaux à $3$.
+\item Trouver deux nombres dont la somme vaut $s=5$ et le produit $p=8$. On calcule $s^2-4p=-7$ : le problème n'a pas de solution (tout comme le polynôme $x^2-5x+8$ n'admet pas de racines).
+\end{enumerate}
+\end{example}
+\endinput
+
diff --git a/macros/luatex/latex/tango/examples/puissance-cercle.tex b/macros/luatex/latex/tango/examples/puissance-cercle.tex
new file mode 100644
index 0000000000..0263bcb20f
--- /dev/null
+++ b/macros/luatex/latex/tango/examples/puissance-cercle.tex
@@ -0,0 +1,713 @@
+\tgotitle{Puissance d'un point par rapport à un cercle}
+
+\section{Mesure algébrique}
+On définit la mesure algébrique d'un bipoint~$(A,B)$ dans un repère de la droite~$(AB)$ comme la différence des abscisses $x_B-x_A$ (voir figure~\ref{figmesalg}). Dans le contexte euclidien qui nous intéresse ici, les repères des droites sont normés : la mesure algébrique ne dépend que de l'orientation de la droite (elle est définie \frquote{au signe près}). On notera cependant que le produit ou le quotient de deux mesures algébriques sont quant à eux indépendants du choix du repère, puisqu'en cas de changement d'orientation les signes des deux quantités considérées changent simultanément.
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=above:$A$] (A) at (-1.3,0);
+\coordinate [label=below:$x_A$] (xA) at (-1.3,0);
+\coordinate[label=above:$B$] (B) at (1.7,0);
+\coordinate [label=below:$x_B$] (xB) at (1.7,0);
+\coordinate (Z) at ($(A)!1.1!(B)$);
+\coordinate (T) at ($(B)!1.1!(A)$);
+\draw (Z)--(T);
+\node[below] at ($(A)!0.5!(B)$){$\mesalg{AB}=x_B-x_A$};
+\foreach \point in {A,B}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figmesalg}
+\end{figure}
+
+De la définition qui vient d'être donnée, on déduit immédiatement que :
+\begin{itemize}
+\item Pour tout point $A$, $\mesalg{AA}=0$.
+\item Pour tout couple de points $A$ et $B$, $\mesalg{BA}$ et $\mesalg{AB}$ sont deux nombres opposés.
+\end{itemize}
+Plus généralement, on peut énoncer le
+\begin{thm}\label{thchasles}%
+Soit $A$, $B$ et $C$ trois points donnés sur une droite dans un ordre quelconque. On a l'égalité suivante (relation de Chasles pour les mesures algébriques)
+\[\mesalg{AC}=\mesalg{AB}+\mesalg{BC}.\]
+\end{thm}
+
+\begin{proof} La vérification est immédiate.
+\begin{align*}\mesalg{AB}+\mesalg{BC}&=(x_B-x_A)+(x_C-x_B),\\
+&=x_C-x_A,\\
+&=\mesalg{AC}.\qedhere
+\end{align*}
+\end{proof}
+
+Nous donnons maintenant deux compléments sur la notion de mesure algébrique, qui faciliteront la compréhension de la suite.
+
+\begin{remark}[Lien avec le produit d'un vecteur par un réel]
+La notion de mesure algébrique est fortement liée à celle de produit d'un vecteur par un réel. Si $O$ et $A$ sont deux points distincts, $\lambda$ un réel et $M$ un point quelconque du plan, on a l'équivalence
+\[
+(\Vector{OM}=\lambda\Vector{OA})\iff(M\in (OA) \text{ et }\mesalg{OM}=\lambda\mesalg{OA}).
+\]
+Il s'en déduit que le milieu $I$ d'un segment $[AB]$ peut être caractérisé par des relations entre mesures algébriques, qu'il est parfois intéressant de substituer aux égalités vectorielles correspondantes :
+\begin{align}
+I \text{ est le milieu de }[AB]&\iff \mesalg{AI}=\mesalg{IB}=\frac12\mesalg{AB},\\
+&\iff\mesalg{IA}+\mesalg{IB}=0.\label{eqcaracmilieu}
+\end{align}
+\end{remark}
+
+\begin{remark}[Lien avec le produit scalaire]
+La mesure algébrique peut également intervenir dans l'expression du cosinus d'un angle et du produit scalaire. Précisément, si $A$ et $B$ sont deux points tous deux distincts du point $O$, le produit scalaire $\Vector{OA}\cdot\Vector{OB}$ peut être défini par
+\begin{equation}\Vector{OA}\cdot\Vector{OB}=OA\times OB\times \cos(\widehat{AOB}).\label{pscal1}
+\end{equation}
+%\[
+%\Vector{OA}\cdot\Vector{OB}=OA\times OB\times \rho([OA),[OB)),
+%\]
+%où $\rho([OA),[OB))$ désigne le rapport de projection orthogonale de la demi-droite $[OB)$ sur la demi-droite $[OA)$.
+
+On désigne par $H$ le projeté orthogonal de $B$ sur la \emph{droite} $(OA)$.
+La définition~\eqref{pscal1} permet d'affirmer que le produit scalaire $\Vector{OA}\cdot\Vector{OB}$ est de même signe que $\cos(\widehat{AOB})$, soit positif, si l'angle $\widehat{AOB}$ est aigu et négatif si cet angle est obtus. Le point $H$ appartient dans ce dernier cas à la demi-droite opposée à $[OA)$ (voir figure~\ref{figpscal0}). On a donc :
+\begin{equation*}
+\cos(\widehat{AOB})=
+\begin{cases}
+\hphantom{-}OH/OB&\text{si $\widehat{AOB}$ est aigu},\\
+-OH/OB&\text{si $\widehat{AOB}$ est obtus}.\\
+\end{cases}
+\end{equation*}
+
+%\[\cos(\widehat{AOB})=\frac{\mesalg{OH}}{\mesalg{OB}}.\]
+En reportant dans~\eqref{pscal1} et en simplifiant par $OB$, on obtient une autre expression du produit scalaire :
+\begin{equation*}
+\Vector{OA}\cdot\Vector{OB}=
+\begin{cases}
+\hphantom{-}OA\times OH&\text{si $\widehat{AOB}$ est aigu},\\
+-OA\times OH&\text{si $\widehat{AOB}$ est obtus}.
+\end{cases}%\label{pscal0}
+\end{equation*}
+
+
+
+On remarque alors que les demi-droites $[OA)$ et $[OH)$ sont de même sens si $\widehat{AOB}$ est aigu, et de sens contraire si $\widehat{AOB}$ est obtus. D'où une expression du produit scalaire utilisant les mesures algébriques :
+\begin{equation}
+\Vector{OA}\cdot\Vector{OB}=\mesalg{OA}\times\mesalg{OH}.\label{pscal0}
+\end{equation}
+
+%\dinofig{\figcaption{}\label{figpscal0}}
+\XSmartphoneCommand{
+\begin{figure}[ht]
+\hfill
+\begin{tikzpicture}
+\coordinate[label=left:$O$] (O) at (0,0);
+\coordinate(X) at (1,0);
+\coordinate[label=below:$B$](B) at ($(O)!3!350:(X)$);
+\coordinate(Y) at ($(O)!0.5!(B)$);
+\coordinate[label=above:$H$](H) at ($(Y)!1!50:(B)$);
+\coordinate[label=right:$A$](A) at ($(O)!1.3!(H)$);
+\draw[semithick,->] (O)--(B);
+\draw[semithick,->] (O)--(A);
+\draw[dashed](B)--(H);
+\foreach \point in {O,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\hfill\hfill
+\begin{tikzpicture}
+\coordinate[label=below:$O$] (O) at (0,0);
+\coordinate(X) at (1,0);
+\coordinate[label=above:$B$](B) at ($(O)!2.9!160:(X)$);
+\coordinate(Y) at ($(O)!0.5!(B)$);
+\coordinate[label=below:$H$](H) at ($(Y)!1!50:(B)$);
+\coordinate(Z) at ($(O)!1.2!(H)$);
+\coordinate[label=above:$A$](A) at ($(O)!-0.6!(H)$);
+\draw[semithick,->] (O)--(B);
+\draw[semithick,->] (O)--(A);
+\draw(O)--(Z);
+\draw[dashed](B)--(H);
+\foreach \point in {O,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\hfill\null
+\figcaption{}\label{figpscal0}
+\end{figure}
+}
+\SmartphoneCommand{
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=left:$O$] (O) at (0,0);
+\coordinate(X) at (1,0);
+\coordinate[label=below:$B$](B) at ($(O)!3!350:(X)$);
+\coordinate(Y) at ($(O)!0.5!(B)$);
+\coordinate[label=above:$H$](H) at ($(Y)!1!50:(B)$);
+\coordinate[label=right:$A$](A) at ($(O)!1.3!(H)$);
+\draw[semithick,->] (O)--(B);
+\draw[semithick,->] (O)--(A);
+\draw[dashed](B)--(H);
+\foreach \point in {O,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\\[1ex]
+\begin{tikzpicture}
+\coordinate[label=below:$O$] (O) at (0,0);
+\coordinate(X) at (1,0);
+\coordinate[label=above:$B$](B) at ($(O)!2.9!160:(X)$);
+\coordinate(Y) at ($(O)!0.5!(B)$);
+\coordinate[label=below:$H$](H) at ($(Y)!1!50:(B)$);
+\coordinate(Z) at ($(O)!1.2!(H)$);
+\coordinate[label=above:$A$](A) at ($(O)!-0.6!(H)$);
+\draw[semithick,->] (O)--(B);
+\draw[semithick,->] (O)--(A);
+\draw(O)--(Z);
+\draw[dashed](B)--(H);
+\foreach \point in {O,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figpscal0}
+\end{figure}
+}
+\begin{example}[Remarques]
+\begin{enumerate}
+\item L'angle noté $\widehat{AOB}$ est un angle \emph{non orienté} de demi-droites ; autrement dit, il n'y a pas lieu de distinguer $\widehat{AOB}$ et $\widehat{BOA}$. Il en découle que le produit scalaire est commutatif (le terme \frquote{symétrique} serait sans doute plus adapté).
+
+On aurait donc pu tout aussi bien utiliser le projeté de $A$ sur $(OB)$.
+\item L'indépendance du cosinus par rapport à l'ordre des deux demi droites $[OA)$ et $[OB)$ provient de ce que $\cos(\widehat{AOB})$ est égal au rapport de projection orthogonale, noté $\rho([OA),[OB))$, de la demi-droite $[OB)$ sur la demi-droite $[OA)$. On sait en effet (c'est en général considéré comme un des axiomes de la géométrie plane) que
+\[\rho([OA),[OB))=\rho([OB),[OA)).\]
+
+ \item Lorsque les points $A$ et $B$ sont confondus, on a
+ \begin{align*}
+ \Vector{OA}\cdot\Vector{OB}&=\Vector{OA}\cdot\Vector{OA},\\
+ &=OA^2\times \cos(\widehat{AOA}).
+ \end{align*}
+ L'angle $\widehat{AOA}$ est nul : on a donc $\cos(\widehat{AOA})=1$ d'où finalement
+ \begin{equation}
+\Vector{OA}\cdot\Vector{OA}=\bigl({\Vector{OA}}\bigr)^2=OA^2.\label{eqcarres}
+\end{equation}
+\end{enumerate}
+\end{example}
+\end{remark}
+
+\section{Point et cercle}
+\subsection{Une définition}
+Étant donné un cercle $\symcal{C}$, de centre $O$ et de rayon $r$, et un point $P$ quelconque, la puissance du point $P$ par rapport au cercle $\symcal{C}$ est par définition le nombre
+\[\symcal{C}(P)=OP^2-r^2 \text{ (voir figure~\ref{figdefppc})}.\]
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O$] (O) at (2,0);
+\coordinate(X) at (3,0);
+\node[draw,label=above:$\symcal{C}$] (c) at (O) [circle through={(X)}]{};
+\coordinate[label=right:$P$] (P) at ($(O)!3.2!15:(X)$);
+\coordinate[label=right:$A$](A) at ($(O)!1!312:(X)$);
+\draw[semithick](P)--(O)--(A);
+\node[right] at (X){$\symcal{C}(P)=OP^2-OA^2$};
+\node[right=1.3cm,below=1mm] at (X){$\text{pour tout }A\in\symcal{C}$};
+\foreach \point in {P,O,A}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figdefppc}
+\end{figure}
+
+Par conséquent, la puissance d'un point $P$ par rapport à un cercle est :
+\begin{itemize}
+\item strictement positive si le point $P$ est extérieur au cercle;
+\item nulle si le point $P$ appartient au cercle;
+\item strictement négative et au minimum égale à $-r^2$ si le point $P$ est intérieur au cercle.
+\end{itemize}
+
+\subsection{Avec une tangente}\label{subsectangente}
+On se place ici dans le cas où le point $P$ est extérieur au cercle. Il est alors possible de s'intéresser aux tangentes issues de $P$.
+\begin{thm}
+Soit un cercle $\symcal{C}$ de centre $O$, un point $P$ extérieur au cercle et $T$ le point de contact de l'une des tangentes à $\symcal{C}$ issues de $P$. La puissance de $P$ par rapport à $\symcal{C}$ vaut
+\[\symcal{C}(P)=PT^2.\]
+\end{thm}
+
+
+\begin{proof}
+On pourra se référer à la figure \ref{figtangente}. La droite $(PT)$ étant tangente à $\symcal{C}$, le triangle $OTP$ est rectangle en $T$. D'après le théorème de Pythagore, on a
+\[\symcal{C}(P)=OP^2-OT^2=PT^2.\qedhere\]
+\end{proof}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=left:$O$] (O) at (2,0);
+\coordinate(X) at (3.5,0);
+\node[draw,label=above:$\symcal{C}$] (c) at (O) [circle through={(X)}]{};
+\coordinate[label=right:$P$] (P) at ($(O)!1.7!345:(X)$);
+\coordinate(Y) at ($(O)!0.5!(P)$);
+\node[draw,dashed] (x) at (Y) [circle through={(P)}]{};
+\coordinate[label=above:$T$](T) at (intersection 2 of c and x);
+\draw (P)--(T)--(O)--cycle;
+\foreach \point in {P,T,O}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figtangente}
+\end{figure}
+
+\subsection{Avec une sécante}\label{subsecsecante}
+Le point $P$ est cette fois-ci quelconque. On considère alors une droite sécante au cercle et passant par $P$ (voir la figure \ref{figsecante}).
+\begin{thm}
+Soit un cercle $\symcal{C}$ de centre $O$, un point $P$ quelconque et une droite passant par $P$ sécante au cercle en $A$ et $B$. La puissance de $P$ par rapport à $\symcal{C}$ vaut alors
+\[\symcal{C}(P)=\mesalg{PA}\times\mesalg{PB}.\]
+\end{thm}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O$] (O) at (2,0);
+\coordinate(X) at (3.5,0);
+\node[draw,label=above:$\symcal{C}$] (c) at (O) [circle through={(X)}]{};
+\coordinate[label=left:$A$] (A) at ($(O)!1!155:(X)$);
+\coordinate(A') at ($(A)!2!(O)$);
+\coordinate[label=right:$P$] (P) at ($(O)!1.8!35:(X)$);
+\coordinate(Z) at ($(A')!0.5!(P)$);
+\node (x) at (Z) [circle through={(P)}]{};
+\coordinate[label=above:$B$](B) at (intersection 2 of c and x);
+\coordinate[label=above:$I$](I) at ($(A)!0.5!(B)$);
+\draw (P)--(B)--(I)--(A);
+\draw(A)--(O)--(B);
+\draw(P)--(O)--(I);
+\foreach \point in {A,P,B,O,I}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figsecante}
+\end{figure}
+
+\begin{proof}
+Soit $I$ le milieu de $[AB]$ : $AOB$ étant isocèle en $O$, la droite $(OI)$ est la médiatrice de $[AB]$. Les triangles $OIP$ et $OIA$ sont rectangles en $I$. On a donc $OP^2=OI^2+IP^2$ et $OA^2=OI^2+IA^2$.
+
+ Par conséquent,
+\begin{align*}
+\symcal{C}(P)&=PO^2-OA^2,\\
+&=(OI^2+IP^2)-(OI^2+IA^2),\\
+\intertext{soit en réduisant,}
+\symcal{C}(P)&=IP^2-IA^2,\\
+\intertext{puis en utilisant une identité remarquable et les égalités~\eqref{eqcarres} et~\eqref{eqcaracmilieu}}
+\symcal{C}(P)&=\mesalg{PI}^2-\mesalg{IA}^2,\\
+&=(\mesalg{PI}+\mesalg{IA})(\mesalg{PI}-\mesalg{IA}),\\
+&=(\mesalg{PI}+\mesalg{IA})(\mesalg{PI}+\mesalg{IB}),\\
+\intertext{et enfin, grâce au théorème~\ref{thchasles}}
+\symcal{C}(P)&=\mesalg{PA}\times\mesalg{PB}.\qedhere
+\end{align*}
+
+\end{proof}
+
+\begin{example}[Remarques]
+\begin{enumerate}
+\item Il est remarquable que la quantité $\mesalg{PA}\times\mesalg{PB}$ ne dépende pas de la sécante choisie : autrement dit, si deux sécantes passant par $P$ coupent le cercle respectivement en $A$ et $B$ et en $C$ et $D$, alors
+\[\mesalg{PA}\times\mesalg{PB}=\mesalg{PC}\times\mesalg{PD}.\]
+\item Si $P$ est intérieur au cercle, les demi-droites $[PA)$ et $[PB)$ sont de sens contraires : on retrouve le fait que $\symcal{C}(P)$ est dans ce cas négatif.
+\item Une tangente issue de $P$, comme on l'a évoqué en \ref{subsectangente}, peut être considérée comme une position limite d'une sécante pivotant autour de $P$, les points $A$ et $B$ étant alors confondus en $T$ : on aura bien de ce point de vue $\mesalg{PA}\times\mesalg{PB}=PT^2$.
+\end{enumerate}
+\end{example}
+
+\subsection{Utilisation du produit scalaire}
+On utilise ici la relation~\eqref{pscal0} pour donner une autre expression de la puissance d'un point par rapport à un cercle (voir figure~\ref{figpscal2}).
+\begin{thm}
+Soit un cercle $\symcal{C}$ de centre $O$, un point $P$ quelconque, et deux points de $\symcal{C}$ diamétralement opposés $A_1$ et $A_2$. La puissance de $P$ par rapport à $\symcal{C}$ vaut alors
+\[\symcal{C}(P)=\Vector{PA_1}\cdot\Vector{PA_2}.\]
+\end{thm}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O$] (O) at (2,0);
+\coordinate(X) at (3.5,0);
+\node[draw,label=above:$\symcal{C}$] (c) at (O) [circle through={(X)}]{};
+\coordinate[label=left:$A_1$] (A) at ($(O)!1!160:(X)$);
+\coordinate[label=right:$A_2$] (A') at ($(A)!2!(O)$);
+\coordinate[label=right:$P$] (P) at ($(O)!2.2!32:(X)$);
+\coordinate(Z) at ($(A')!0.5!(P)$);
+\node (x) at (Z) [circle through={(P)}]{};
+\coordinate[label=above:$B$](B) at (intersection 2 of c and x);
+\draw [semithick,->](P)--(A);
+\draw[semithick,->](P)--(A');
+\draw(A')--(B);
+\foreach \point in {P,B,O}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figpscal2}
+\end{figure}
+
+\begin{proof}%\sloppy
+Tout d'abord, les droites $(PA_1)$ et $(PA_2)$ ne peuvent être toutes les deux tangentes à $\symcal{C}$ : en effet, deux tangentes en des points diamétralement opposés sont parallèles disjointes et ne peuvent avoir le point $P$ en commun. Quitte à permuter $A_1$ et $A_2$, il n'est donc pas restrictif de supposer que la droite $(PA_1)$ est sécante (et non tangente) à $\symcal{C}$.
+
+Soit alors $B$ la seconde intersection de la droite $(PA_1)$ avec le cercle. Le segment $[A_1A_2]$ étant un diamètre du cercle, le point $B$ est le projeté orthogonal de $A_2$ sur $(PA_1)$. On a donc d'après \ref{subsectangente}
+\begin{align*}
+\symcal{C}(P)&=\mesalg{PA_1}\times\mesalg{PB},\\
+&=\Vector{PA_1}\cdot\Vector{PA_2}.\qedhere
+\end{align*}
+\end{proof}
+
+
+\begin{remark}
+On se persuadera facilement, en observant la figure \ref{figpscal3}, que le raisonnement précédent est indépendant de la position de $P$ par rapport au cercle.
+\end{remark}
+%\dinofig[-0.5]{\figcaption{}\label{figpscal3}}
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O$] (O) at (2,0);
+\coordinate(X) at (3.5,0);
+\node[draw,label=above:$\symcal{C}$] (c) at (O) [circle through={(X)}]{};
+\coordinate[label=left:$A_1$] (A) at ($(O)!1!160:(X)$);
+\coordinate[label=right:$A_2$] (A') at ($(A)!2!(O)$);
+\coordinate[label=above:$P$] (P) at ($(O)!0.6!70:(X)$);
+\coordinate(Z) at ($(A')!0.5!(P)$);
+\node (x) at (Z) [circle through={(P)}]{};
+\coordinate[label=above:$B$](B) at (intersection 2 of c and x);
+\draw [semithick,->](P)--(A);
+\draw[semithick,->](P)--(A');
+\draw(P)--(B);
+\draw(A')--(B);
+\foreach \point in {P,B,O}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figpscal3}
+\end{figure}
+
+\subsection{Dans un repère orthonormal}
+On se place ici dans un repère orthonormal et l'on considère un cercle $\symcal{C}$ de centre $\Omega(a,b)$ et de rayon $r$. On s'intéresse alors à l'expression de la puissance d'un point $M(x,y)$ quelconque par rapport au cercle $\symcal{C}$.
+\begin{thm}\label{threp}
+Soit dans le plan rapporté à un repère orthonormal un cercle $\symcal{C}$ de centre $\Omega(a,b)$ et de rayon $r$. Soit un point $M(x,y)$. La puissance de $M$ par rapport à $\symcal{C}$ est
+\[\symcal{C}(M) = x^2+y^2-2ax-2by+a^2+b^2-r^2.\]
+\end{thm}
+
+\begin{proof}
+On a
+\begin{align*}\symcal{C}(M)&=\Omega M^2-r^2\\
+&={(x-a)}^2+{(y-b)}^2-r^2,\\
+&=x^2-2ax+a^2+y^2-2by+b^2-r^2.\qedhere
+\end{align*}
+\end{proof}
+
+De plus, en remarquant que $M\in\symcal{C}$ si et seulement si la puissance de $M$ par rapport à $\symcal{C}$ est nulle, on établit le corollaire suivant :
+%\DinoAfourNBCommand{\par\pagebreak}
+\begin{coro*}
+Dans le plan rapporté à un repère orthonormal, le cercle $\symcal{C}$ de centre $\Omega(a,b)$ et de rayon $r$ admet pour équation
+\[x^2+y^2-2ax-2by+c=0,\]
+où $c=a^2+b^2-r^2$.
+\end{coro*}
+
+\section{Cocyclicité}
+On dit que quatre points distincts sont cocycliques s'ils appartiennent à un même cercle (un tel cercle est évidemment unique : ce que l'on affirme en disant que les points sont cocycliques est que cercle circonscrit au triangle formé par trois quelconques de ces points passe par le quatrième). On se propose d'établir le théorème suivant (voir figure~\ref{figcocy}).
+
+\begin{thm} Soit quatre points distincts $A$, $B$, $C$ et $D$ tels que les droites $(AB)$ et $(CD)$ soient sécantes en $P$. Les points $A$, $B$, $C$, $D$ sont cocycliques si et seulement si
+\[\mesalg{PA}\times\mesalg{PB}=\mesalg{PC}\times\mesalg{PD}.\]
+\end{thm}
+
+%\dinofig{\figcaption{}\label{figcocy}}
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate (O) at (2,0);
+\coordinate(X) at (4,0);
+\node[draw,label=above:$\symcal{C}$] (c) at (O) [circle through={(X)}]{};
+\coordinate[label=left:$A$] (A) at ($(O)!1!140:(X)$);
+\coordinate[label=below:$B$] (B) at ($(O)!1!310:(X)$);
+\coordinate[label=left:$C$] (C) at ($(O)!1!210:(X)$);
+\coordinate[label=above:$D$] (D) at ($(O)!1!65:(X)$);
+\coordinate[label=right:$\kern3pt P$](P) at (intersection of A--B and C--D);
+\draw(A)--(B);
+\draw(C)--(D);
+\foreach \point in {A,B,C,D,P}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figcocy}
+\end{figure}
+
+\begin{proof}
+Il s'agit de démontrer une équivalence. Nous procéderons donc classiquement en deux temps : d'abord le sens direct, puis la réciproque.
+
+Supposons pour commencer que les points $A$, $B$, $C$, $D$ soient sur un même cercle $\symcal{C}$. Alors les droites $(AB)$ et $(CD)$ étant des sécantes au cercle contenant chacune le point $P$, on a
+\[\symcal{C}(P)=\mesalg{PA}\times\mesalg{PB}=\mesalg{PC}\times\mesalg{PD}.\]
+
+Réciproquement, supposons que $\mesalg{PA}\times\mesalg{PB}=\mesalg{PC}\times\mesalg{PD}$. Soit alors $\symcal{C}\;$ le cercle circonscrit au triangle $ABC$ : il nous suffit de prouver que $D\in\symcal{C}$. La droite $(CD)$ coupe le cercle en $C$ et en un second point $M$ tel que
+\begin{align*}\mesalg{PC}\times\mesalg{PM}&=\symcal{C}(P)\\
+&=\mesalg{PA}\times\mesalg{PB}\\
+&=\mesalg{PC}\times\mesalg{PD}, \text{ par hypothèse.}
+\end{align*}
+On en déduit que $\mesalg{PD}=\mesalg{PM}$, donc que $D=M$ ($P$ ne peut être confondu avec $C$, car alors il serait lui même confondu avec $A$ ou $B$).
+\end{proof}
+
+
+\section{Axe radical de deux cercles}
+
+\subsection{Définition}
+On s'intéresse ici à l'ensemble des points qui ont même puissance par rapport à deux cercles non concentriques donnés.
+
+\begin{thm}
+Étant donné deux cercles non concentriques $\symcal{C}_1$ et $\symcal{C}_2$ de centres et de rayons respectifs $(O_1,r_1)$ et $(O_2,r_2)$, l'ensemble des points qui ont la même puissance par rapport à chacun des cercles est une droite $\Delta$ perpendiculaire à $(O_1O_2)$, nommée \emph{axe radical} des deux cercles.
+\end{thm}
+
+%\dinofig{\figcaption{}\label{figaxerad0}}
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\clip (0.3,-1.3) rectangle (5.1,1.9);
+\coordinate[label=below:$O_1$] (O1) at (1,0);
+\coordinate(X1) at (1.6,0);
+\node[draw,label=above:$\symcal{C_1}$] (c1) at (O1) [circle through={(X1)}]{};
+\coordinate[label=below:$O_2$] (O2) at (3.8,0);
+\coordinate[label=below:$I$] (I) at ($(O1)!0.5!(O2)$);
+\coordinate(X2) at (5,0);
+\node[draw,label=above:$\symcal{C_2}$] (c2) at (O2) [circle through={(X2)}]{};
+\coordinate(Y1) at ($(O1)!-1.2!(X1)$);
+\coordinate(Y2) at ($(O2)!1.1!(X2)$);
+\draw (Y1)--(Y2);
+\coordinate(Y) at (2,-1);
+\coordinate(U) at (2,0.5);
+\node (x) at (Y) [circle through={(U)}]{};
+\coordinate(Z1) at (intersection 1 of c1 and x);
+\coordinate(T1) at (intersection 2 of c1 and x);
+\coordinate(Z2) at (intersection 1 of c2 and x);
+\coordinate(T2) at (intersection 2 of c2 and x);
+\coordinate[label=left:$M$](M) at (intersection of Z1--T1 and Z2--T2);
+\coordinate(W1) at ($(O1)!0.5!(M)$);
+\coordinate(W2) at ($(O2)!0.5!(M)$);
+\node (w1) at (W1) [circle through={(M)}]{};
+\node(w2) at (W2) [circle through={(M)}]{};
+\coordinate[label=below:$H\kern13pt$](H) at (intersection 1 of w1 and w2);
+\coordinate[label=left:$\Delta$](V1) at ($(H)!1.5!(M)$);
+\coordinate(V2) at ($(H)!-1.1!(M)$);
+\draw[semithick](V1)--(V2);
+\foreach \point in {O1,O2,I,M,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figaxerad0}
+\end{figure}
+
+\begin{remark}
+Si les deux cercles sont concentriques et distincts, aucun point $M$ du plan n'est tel que $\symcal{C}_1(M)=\symcal{C}_2(M)$, c'est une conséquence immédiate de la définition de la puissance d'un point par rapport à un cercle.
+\end{remark}
+
+\begin{proof}
+Soit un point $M$ du plan et $H$ son projeté orthogonal sur la droite $(O_1O_2)$. Nous supposons que $\symcal{C}_1(M)=\symcal{C}_2(M)$ ; nous allons prouver que le point $H$ occupe une position fixe (indépendante de $M$) sur $(O_1O_2)$, ce qui prouvera que $M$ appartient à la perpendiculaire en $H$ à cette droite. Pour nous éviter une réciproque fastidieuse, nous procéderons par équivalence. Désignons par $I$ le milieu de $[O_1O_2]$ et exprimons l'égalité des puissances (voir la figure~\ref{figaxerad0}).
+\begin{align*}
+\symcal{C}_1(M)=\symcal{C}_2(M) &\iff O_1M^2-r_1^2=O_2M^2-r_2^2,\\
+\intertext{soit, en posant $k=r_1^2-r_2^2$,}
+\symcal{C}_1(M)=\symcal{C}_2(M) &\iff O_1M_1^2-O_2M2^2=k,\\
+&\iff (\Vector{O_1M}+\Vector{O_2M})\cdot(\Vector{O_1M}-\Vector{O_2M})=k.
+\end{align*}
+
+On remarque alors que
+\begin{equation*}
+\Vector{O_1M}+\Vector{O_2M}=\hspace{-0.5em}\underbrace{\Vector{O_1I}+\Vector{O_2I}}_{\substack{\vec{0}\text{, car } I\\\text{milieu de }[O_1O_2]}}\hspace{-0.5em}+\,2\Vector{IM}=2\Vector{IM}
+\end{equation*}
+et que
+\begin{equation*}
+\Vector{O_1M}-\Vector{O_2M}=\Vector{O_1M}+\Vector{MO_2}=\Vector{O_1O_2}.
+\end{equation*}
+
+On en déduit
+\begin{align*}
+\symcal{C}_1(M)=\symcal{C}_2(M) &\iff 2\Vector{IM}\cdot\Vector{O_1O2}=k,\\
+&\iff 2(\underbrace{\Vector{IH}+\Vector{HM}}_{\Vector{IM}})\cdot\Vector{O_1O_2}=k,\\
+&\iff 2\Vector{IH}\cdot\Vector{O_1O_2}+2\underbrace{\Vector{HM}\cdot\Vector{O_1O_2}}_{\substack{0 \text{, car}\\(HM)\perp(O_1O_2)}}=k.
+\end{align*}
+
+Puisque les points $I$, $H$, $O_1$ et $O_2$ sont sur la même droite, on peut passer aux mesures algébriques, et on obtient finalement :
+\begin{align}
+\symcal{C}_1(M)=\symcal{C}_2(M)&\iff 2\mesalg{IH}\cdot\mesalg{O_1O_2}=k,\notag\\
+&\iff\mesalg{IH}=\frac{r_1^2-r_2^2}{2\mesalg{O_1O_2}}.\label{eqposH}
+\end{align}
+
+
+On en déduit que $\symcal{C}_1(M)=\symcal{C}_2(M)$ si et seulement si le projeté orthogonal $H$ de $M$ sur $(O_1O_2)$ occupe la position (fixe) définie par la relation~\eqref{eqposH}. L'ensemble des points $M$ est donc la droite $\Delta$ perpendiculaire à $(O_1O_2)$ passant par $H$.
+\end{proof}
+
+\subsection{Détermination pratique}\label{subsecdetprat}
+On s'intéresse ici à la position relative des cercles $\symcal{C_1}$ et $\symcal{C_2}$.
+\subsubsection{Cercles sécants}
+Supposons que les cercles $\symcal{C_1}$ et $\symcal{C_2}$ soient sécants en deux points $A$ et $B$ (voir la figure~\ref{figaxerad1}). On a
+\[\symcal{C}_1(A)=\symcal{C}_2(A)=0 \text{ et }\symcal{C}_1(B)=\symcal{C}_2(B)=0 .
+\]
+Les points $A$ et $B$ ont tous deux la même puissance par rapport à chacun des deux cercles : l'axe radical $\Delta$ de $\symcal{C}_1$ et $\symcal{C}_2$ est donc la droite $(AB)$.
+
+
+%\dinofig{\figcaption{}\label{figaxerad1}}
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O_1$] (O1) at (0.8,0);
+\coordinate(X1) at (2,0);
+\node[draw,label=above:$\symcal{C_1}$] (c1) at (O1) [circle through={(X1)}]{};
+\coordinate[label=below:$O_2$] (O2) at (3,0);
+\coordinate(X2) at (4.8,0);
+\node[draw,label=above:$\symcal{C_2}$] (c2) at (O2) [circle through={(X2)}]{};
+\coordinate(Y1) at ($(O1)!-1.2!(X1)$);
+\coordinate(Y2) at ($(O2)!1.1!(X2)$);
+\draw (Y1)--(Y2);
+\coordinate[label=right:$\kern2pt A$](A) at (intersection 2 of c1 and c2);
+\coordinate[label=right:$\kern2pt B$](B) at (intersection 1 of c1 and c2);
+\coordinate[label=below:$H\kern-13pt$](H) at (intersection of O1--O2 and A--B);
+\coordinate[label=left:$\Delta$](V1) at ($(H)!1.7!(A)$);
+\coordinate(V2) at ($(H)!1.3!(B)$);
+\draw[semithick](V1)--(V2);
+\foreach \point in {O1,O2,A,B,H}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figaxerad1}
+\end{figure}
+
+\subsubsection{Cercles tangents}
+Supposons que les cercles $\symcal{C_1}$ et $\symcal{C_2}$ soient tangents (intérieurement ou extérieurement) en un point $T$ (voir la figure~\ref{figaxerad2}). On a
+$\symcal{C}_1(T)=\symcal{C}_2(T)=0$.
+Le point $T$ a la même puissance par rapport à chacun des deux cercles : l'axe radical $\Delta$ de $\symcal{C}_1$ et $\symcal{C}_2$ est donc la droite perpendiculaire en $T$ à $(O_1O_2)$.
+
+%\dinofig{\figcaption{}\label{figaxerad2}}
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O_1$] (O1) at (1.2,0);
+\coordinate[label=below:$\kern10pt T$](T) at (3,0);
+\node[draw,label=above:$\symcal{C_1}$] (c1) at (O1) [circle through={(T)}]{};
+\coordinate[label=below:$O_2$] (O2) at (1.8,0);
+%\coordinate(X2) at (4.8,0);
+\node[draw,label=above:$\symcal{C_2}$] (c2) at (O2) [circle through={(T)}]{};
+\coordinate(Y1) at ($(O1)!-1.3!(T)$);
+\coordinate(Y2) at ($(O2)!1.3!(T)$);
+\draw (Y1)--(Y2);
+\coordinate[label=left:$\Delta$](V1) at ($(T)!1!270:(O1)$);
+\coordinate(V2) at ($(T)!1!90:(O1)$);
+\draw[semithick](V1)--(V2);
+\foreach \point in {O1,O2,T}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figaxerad2}
+\end{figure}
+
+
+\subsubsection{Cas général}
+Il est toujours possible de tracer un cercle auxiliaire $\Gamma$ sécant à $\symcal{C}_1$ en $A_1$ et $B_1$, à $\symcal{C}_2$ en $A_2$ et $B_2$, et de telle sorte que les droites $(A_1B_1)$ et $(A_2B_2)$ soient elles-mêmes sécantes en un point $P$ (voir la figure~\ref{figaxerad3}). On est ainsi ramené à des constructions ans le cas de cercles sécants.
+
+Le point $P$ appartient à l'axe radical de $(A_1B_1)$ de $\symcal{C}_1$ et $\Gamma$, donc $\symcal{C}_1(P)=\Gamma(P)$. De même, $\symcal{C}_2(P)=\Gamma(P)$ et par conséquent $\symcal{C}_1(P)=\symcal{C}_2(P)$. Le point $P$ appartient donc à l'axe radical $\Delta$ de $\symcal{C}_1$ et $\symcal{C}_2$ : $\Delta$ est la perpendiculaire à $(O_1O_2)$ passant par $P$.
+
+\begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate[label=below:$O_1$] (O1) at (0.4,0);
+\coordinate(X1) at (1.5,0);
+\node[draw,label=above:$\symcal{C_1}$] (c1) at (O1) [circle through={(X1)}]{};
+\coordinate[label=below:$O_2$] (O2) at (3.6,0);
+\coordinate(X2) at (5,0);
+\node[draw,label=above:$\symcal{C_2}$] (c2) at (O2) [circle through={(X2)}]{};
+\coordinate(Y1) at ($(O1)!-1.2!(X1)$);
+\coordinate(Y2) at ($(O2)!1.1!(X2)$);
+\draw (Y1)--(Y2);
+\coordinate(Y) at (2,-1);
+\coordinate(U) at (2,0.5);
+\node[draw,label=below:$\kern10pt\Gamma$] (g) at (Y) [circle through={(U)}]{};
+\coordinate[label=left:$A_1${\rule[-8pt]{0pt}{10pt}}](A1) at (intersection 2 of c1 and g);
+\coordinate[label=below:$B_1\kern10pt$](B1) at (intersection 1 of c1 and g);
+\coordinate[label=right: $A_2${\rule[-8pt]{0pt}{10pt}}](A2) at (intersection 1 of c2 and g);
+\coordinate[label=below:$\kern10pt B_2$](B2) at (intersection 2 of c2 and g);
+\coordinate[label=left:$P$](P) at (intersection of A1--B1 and A2--B2);
+\draw (P)--(B1);
+\draw (P)--(B2);
+\coordinate(W1) at ($(O1)!0.5!(P)$);
+\coordinate(W2) at ($(O2)!0.5!(P)$);
+\node (w1) at (W1) [circle through={(P)}]{};
+\node(w2) at (W2) [circle through={(P)}]{};
+\coordinate[label=below:$H\kern13pt$](H) at (intersection 1 of w1 and w2);
+\coordinate[label=left:$\Delta$](V1) at ($(H)!1.5!(P)$);
+\coordinate(V2) at ($(H)!-2.4!(P)$);
+\draw[semithick](V1)--(V2);
+\foreach \point in {O1,O2,P,H,A1,B1,A2,B2}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figaxerad3}
+\end{figure}
+
+\subsubsection{Dans un repère orthonormal}
+Soit un cercle $\symcal{C}_1$ de centre $\Omega_1(a_1,b_1)$ et de rayon $r_2$, un cercle $\symcal{C}_2$ de centre $\Omega_2(a_2,b_2)$ et de rayon $r_2$. On suppose $\Omega_1\neq\Omega_2$ et on nomme $\Delta$ l'axe radical de ces deux cercles. D'après le théorème~\ref{threp} page \pageref{threp}, l'appartenance de $M(x,y)$ à $\Delta$ se traduit par
+\begin{equation*}
+x^2+y^2-2a_1x-2b_1y+c_1=x^2+y^2-2a_2x-2b_2y+c_2,
+\end{equation*}
+où $c_1=a_1^2+b_1^2-r_1^2$ et $c_2=a_2^2+b_2^2-r_2^2$.
+
+\vspace\baselineskip\par Donc, après simplification :
+\[P\in \Delta \iff (a_2-a_1)x+(b_2-b_1)y+(c_1-c_2)/2=0.\]
+L'axe radical $\Delta$ admet pour équation
+\[(a_2-a_1)x+(b_2-b_1)y+(c_1-c_2)/2=0,\]
+ où l'on constate bien que $\Delta$ admet $\Vector{\Omega_1\Omega_2}$ pour vecteur normal.
+
+ \subsection{Centre radical}
+ Lorsqu'au~\ref{subsecdetprat} nous avons, pour traiter le cas général, exploité l'idée d'un cercle auxiliaire, nous avons implicitement démontré le théorème suivant (voir la figure~\ref{figcentrerad}).
+ \begin{thm}
+ Soient trois cercles $\symcal{C}_1$, $\symcal{C}_2$ et $\Gamma$ dont les centres sont distincts et non alignés. Les axes radicaux $\Delta$ de $\symcal{C}_1$ et $\symcal{C}_2$, $\symcal{D}_1$ de $\symcal{C}_1$ et $\Gamma$ et finalement $\symcal{D}_2$ de $\symcal{C}_2$ et $\Gamma$ sont concourants en un point $P$ nommé \emph{centre radical} des trois cercles.
+ \end{thm}
+
+\newcommand{\figurecentrerad}{%
+ \begin{figure}[ht]
+\centering
+\begin{tikzpicture}
+\coordinate (O1) at (0.4,0);
+\coordinate(X1) at (1.5,0);
+\node[draw,label=above:$\symcal{C_1}$] (c1) at (O1) [circle through={(X1)}]{};
+\coordinate (O2) at (3.6,0);
+\coordinate(X2) at (5,0);
+\node[draw,label=above:$\symcal{C_2}$] (c2) at (O2) [circle through={(X2)}]{};
+\coordinate(Y) at (2,-1);
+\coordinate(U) at (2,0.5);
+\node[draw,label=below:$\kern10pt\Gamma$] (g) at (Y) [circle through={(U)}]{};
+\coordinate(A1) at (intersection 2 of c1 and g);
+\coordinate(B1) at (intersection 1 of c1 and g);
+\coordinate(A2) at (intersection 1 of c2 and g);
+\coordinate(B2) at (intersection 2 of c2 and g);
+\coordinate[label=right:$\symcal{D}_1$](Y1) at ($(A1)!1.8!(B1)$);
+\coordinate[label=left:$\symcal{D}_2$](Y2) at ($(A2)!1.5!(B2)$);
+\coordinate[label=left:$P$](P) at (intersection of A1--B1 and A2--B2);
+\draw (P)--(Y1);
+\draw (P)--(Y2);
+\coordinate(W1) at ($(O1)!0.5!(P)$);
+\coordinate(W2) at ($(O2)!0.5!(P)$);
+\node (w1) at (W1) [circle through={(P)}]{};
+\node(w2) at (W2) [circle through={(P)}]{};
+\coordinate(H) at (intersection 1 of w1 and w2);
+\coordinate[label=left:$\Delta$](V1) at ($(H)!1.5!(P)$);
+\coordinate(V2) at ($(H)!-2.4!(P)$);
+\draw(V1)--(V2);
+\foreach \point in {P,A1,B1,A2,B2}
+\draw[black,fill=white](\point) circle (1.2pt);
+\end{tikzpicture}
+\figcaption{}\label{figcentrerad}
+\end{figure}
+}
+
+%\DinoiPhoneCommand{%
+%\afterpage{\clearpage
+%\figurecentrerad
+%\par
+%\vspace{0.7cm}
+%{
+%\centering\LARGE\textcolor{ColorOne}\decoone
+
+%}
+%}}
+
+%\DinoiPadStdCommand{\figurecentrerad}
+%\DinoiPadAirCommand{\figurecentrerad}
+%\DinoiPadProCommand{\figurecentrerad}
+%%\DinoAfourNBCommand{\figurecentrerad}
+%\DinoAfourColorCommand{\figurecentrerad}
+%\DinoiPadminiCommand{\figurecentrerad}
+%%\DinoSaisieCommand{\figurecentrerad}
+%\DinoiPhoneCommand{\figurecentrerad}
+\figurecentrerad
+
+\begin{proof}
+On définit $P$ comme intersection de $\symcal{D}_1$ et $\symcal{D}_2$ (le fait que les centres ne soient pas alignés garantit l'existence de $P$) :
+\begin{align*}
+P\in \symcal{D}_1&\implies \symcal{C}_1(P)=\Gamma(P)\text{ et }\\
+P\in \symcal{D}_2&\implies \symcal{C}_2(P)=\Gamma(P),
+\end{align*}
+dont on déduit que $\symcal{C}_1(P)=\symcal{C}_2(P)$. Autrement dit $P\in \Delta$.
+\end{proof}
+%\DinoAfourColorCommand{%
+%\par
+%\vspace{1.5cm}
+%{
+%\centering\LARGE\textcolor{ColorOne}\decoone
+%
+%}
+%}
+
+\endinput \ No newline at end of file
diff --git a/macros/luatex/latex/tango/examples/recurrence.tex b/macros/luatex/latex/tango/examples/recurrence.tex
new file mode 100644
index 0000000000..ee823068c4
--- /dev/null
+++ b/macros/luatex/latex/tango/examples/recurrence.tex
@@ -0,0 +1,189 @@
+% !TEX TS-program = LuaLaTeX
+
+\renewcommand{\theprop}{(\ensuremath{\fnsymbol{prop}})}
+
+\tgotitle{Raisonnement par récurrence}
+%
+\section{Une propriété des entiers naturels}
+La propriété énoncée dans cette section est parfois présentée comme un axiome. Il n'entre toutefois pas dans nos intentions de construire une ou des axiomatiques, ne serait-ce que parce que cette notion est délicate. On se contentera donc d'un point de vue naïf, selon lequel un axiome est un énoncé dont on admet qu'il est vrai. Le lecteur doit toutefois savoir que les énoncés de la propriété~\ref{propppe} et du théorème~\ref{threc} ont des rôles en quelque sorte interchangeables : dans les axiomatiques classiques permettant de fonder l'arithmétique, prendre l'un comme axiome permet de démontrer l'autre comme théorème. Pour cette raison, le lecteur pourra trouver ailleurs des présentations proposant un axiome (ou parfois un principe) de \emph{récurrence}, la propriété~\ref{propppe} devenant alors un théorème.
+\par
+\vspace{0.5\baselineskip}\par
+Nous supposons donc connu l'ensemble $\N$ des entiers naturels, muni notamment d'une relation d'ordre notée ${≤}$ et nous admettons que cet ensemble possède la propriété suivante:
+%
+\begin{prop}
+Toute partie non vide de $\N$ possède un plus petit élément.\label{propppe}
+\end{prop}
+
+On traduit souvent cette propriété en disant que \N{} est \emph{bien ordonné}.
+%x
+%\par\noindent{\color{gray}\rule{\linewidth}{5pt}}\par\addvspace{-3pt}\par\nobreak
+
+%Cette propriété peut être considérée comme un des axiomes qui permettent de décrire l'ensemble \N{} des entiers naturels. Elle peut également se démontrer à partir d'un autre système d'axiomes, de portée équivalente (axiomes de Peano, notamment) ou de portée plus générale (Zermelo-Fraenkel, par exemple).
+
+%\par\noindent\hrulefill
+\section{Récurrence}
+\subsection{Introduction}
+\label{secexplerec}
+La propriété \ref{propppe} permet de formaliser une méthode consistant à établir la validité d'une assertion \frquote{de proche en proche}. Fixons-nous par exemple un réel $a$ strictement positif et, pour tout entier naturel $n$, considérons la propriété $P(n)$
+\[(1+a)^n\geq 1+na.\]
+
+Nous nous proposons de démontrer que cette propriété est vraie pour tout entier naturel~$n$.
+
+Prouvons dans un premier temps que $P(0)$ est vraie (\mbox{c.-à-d.} que si $n=0$ alors $P(n)$ est vraie) : puisqu'il est vrai que $(1+a)^0=1$ et $1+0\times a=1$, il est établi que $(1+a)^0\geq1+0\times a$, donc que $P(0)$ est vraie.
+
+Donnons-nous alors un entier naturel $n$ et supposons que $P(n)$ est vraie. Prouvons alors que nécessairement $P(n+1)$ est vraie :
+\begin{align*}
+(1+a)^n&\geq1+na,\\
+\intertext{soit, en multipliant les deux membres par $1+a$, qui est strictement positif,}
+(1+a)^{n+1}&\geq(1+a)(1+na),\\
+\intertext{d'où}
+(1+a)^{n+1}&\geq 1+(n+1)a+na^2,\\
+\intertext{et enfin}
+(1+a)^{n+1}&\geq 1+(n+1)a,\quad \text{car $na^2\geq0$.}
+\end{align*}
+
+Nous venons d'établir que, pour tout entier naturel $n$, si $P(n)$ est vraie alors $P(n+1)$ est vraie. En termes plus formels :
+\begin{equation}
+\forall n\in\N,\; P(n)\implies P(n+1).
+\label{eqhered}
+\end{equation}
+
+Nous notons maintenant $\symcal{A}$ l'ensemble des valeurs de l'entier naturel $n$ pour lesquelles $P(n)$ \emph{est fausse}. Nous allons prouver \emph{par l'absurde} que $\symcal{A}$ est vide, autrement dit que $P(n)$ est vraie pour tout entier naturel $n$.
+
+Supposons donc que $\symcal{A}$ est non vide. En vertu de la propriété \ref{propppe}, $\symcal{A}$ possède un plus petit élément que nous notons $m$. Puisque $P(0)$ est vraie, on peut affirmer que $0\notin\symcal{A}$ donc que $m>0$, ce qui nous assure que $m-1\in\N$. Le fait que $m-1<m$ nous prouve maintenant que $m-1\notin\symcal{A}$, puisque $m$ est le plus petit élément de $\symcal{A}$. Alors $P(m-1)$ est vraie, ce qui entraîne, d'après la proposition \eqref{eqhered}, que $P(m)$ est vraie également. L'entier $m$ étant élément de $\symcal{A}$ on aboutit à une contradiction. Finalement $\symcal{A}$ est vide et la propriété $P(n)$ est vraie pour tout entier $n$.
+
+\begin{remark}
+On traduit la proposition \eqref{eqhered} en disant que la propriété $P$ est \emph{héréditaire} à partir du rang $0$.
+\end{remark}
+
+\subsection{Un théorème}
+Nous souhaitons maintenant nous éviter le recours direct à la propriété \ref{propppe}, et en particulier un raisonnement par l'absurde nécessitant l'introduction un peu lourde d'une partie telle que $\symcal{A}$. Nous souhaitons également pouvoir facilement établir qu'une propriété est vraie non pas sur \N{} tout entier, mais plutôt pour tout entier supérieur à un entier $n_0$ donné. À cet effet nous formulons maintenant le \emph{théorème de récurrence}, dont la démonstration ne sera pas très différente de celle qui a été faite sur l'exemple de la section \ref{secexplerec}.
+\begin{thm}
+Soit un entier $n_0$ fixé et une propriété $P(n)$ dont l'énoncé dépend d'un entier $n$. Si $P(n_0)$ est vraie et si pour tout entier $n$ supérieur à $n_0$ l'implication
+\[P(n)\implies P(n+1)\]
+est vraie, alors la propriété $P(n)$ est vraie pour tout entier $n$ supérieur à $n_0$.
+\label{threc}
+\end{thm}
+\begin{proof}Considérons une propriété $P(n)$ vérifiant les hypothèses de notre théorème et montrons alors que $P(n)$ est vraie pour tout entier $n\geq n_0$.
+Nous noterons $\symcal{A}$ l'ensemble des entiers naturels $k$ pour lesquels que $P(n_0+k)$ est fausse. Le fait que $P(n_0)$ est vrai se traduit par
+\[
+0\notin\symcal{A}
+\]
+ et plus généralement, pour $n≥n_0$, en remarquant que $n$ peut s'écrire $n_0+(n-n_0)$,
+ \frquote{$P(n)$ est vrai} se traduit par $(n-n_0)\notin\symcal{A}$.
+ En posant $k=n-n_0$, l'hypothèse
+ \begin{align}
+ \forall n≥n_0,\; P(n)&\implies P(n+1)\notag\\
+ \intertext{nous assure donc que}
+ \forall k\in\N,\;k\notin\symcal{A}&\implies(k+1)\notin\symcal{A}. \label{eqheredA}
+ \end{align}
+
+Prouver que la propriété $P(n)$ est vraie pour tout entier $n$ supérieur à $n_0$ revient à prouver que $\symcal{A}$ est vide. Raisonnons par l'absurde et supposons que $\symcal{A}$ est non vide : en vertu de la propriété \ref{propppe}, $\symcal{A}$ possède alors un plus petit élément que nous notons~$m$. Nous savons que $m>0$, puisque $0\notin\symcal{A}$, et cela nous assure que $m-1\in\N$. Le fait que $m-1<m$ nous prouve maintenant que $m-1\notin\symcal{A}$, puisque $m$ est le plus petit élément de $\symcal{A}$. Alors d'après la proposition \eqref{eqheredA}, $m\notin\symcal{A}$, ce qui est en contradiction avec le fait que $m$ est le plus petit élément de $\symcal{A}$. Il est alors établi que la propriété $P(n)$ est vraie pour tout $n≥n_0$.
+ \end{proof}
+%
+\begin{remark}
+Un raisonnement par récurrence consiste donc à appliquer le théorème \ref{threc} pour démontrer qu'une propriété $P(n)$ est vraie pour tout entier $n$ supérieur à un certain entier $n_0$. Il se fait en trois étapes qui doivent, pour la clarté du propos, être suffisamment mises en évidence.
+\begin{enumerate}
+\item \textit{Initialisation :} on établit que $P(n_0)$ est vraie.
+\item \textit{Preuve du caractère héréditaire de la propriété :} on démontre que
+\[
+\forall n≥n_0,\; P(n)\implies P(n+1).
+\]
+\item \textit{Conclusion :} on a ainsi établi par récurrence que $P(n)$ est vraie pour tout $n≥n_0$.
+\end{enumerate}
+\end{remark}
+
+\subsection{Applications et exemples}
+
+\subsubsection{Une somme}
+On se propose de démontrer par récurrence que la somme $S_n$ des $n$ premiers entiers non nuls est égale à $n(n+1)/2$. Par définition on a donc
+\[
+S_n=\sum_{k=1}^n k\;\text{ ou si l'on préfère }\; S_n=1+2+\cdots+n-1+n.
+\]
+On veut démontrer par récurrence que la propriété $P(n)$, définie par
+\[
+S_n=\frac{n(n+1)}{2}\;,
+\]
+est vraie pour tout $n≥1$.
+\begin{enumerate}
+\item \textit{Initialisation :} on a $S_1=1$ et pour $n=1$, $n(n+1)/2=2/2=1$. Donc $P(1)$ est vraie.
+\item \textit{Hérédité :} donnons nous un entier $n≥1$ et supposons que $P(n)$ est vraie.
+Montrons alors que $P(n+1)$ est vraie c'est à dire que $S_{n+1}=((n+1)(n+2))/2$.
+On sait que $S_{n+1}=S_{n}+n+1$, donc
+\begin{align*}
+S_{n+1}&=\frac{n(n+1)}{2}+n+1,\\
+&=\frac{n(n+1)+2(n+1)}{2}\;,\\
+&=\frac{(n+1)(n+2)}{2}\:.
+\end{align*}
+On vient d'établir que $\forall n≥1,\;P(n)\implies P(n+1)$. La propriété $P(n)$ est donc héréditaire à partir du rang $1$.
+\item \textit{Conclusion :} la propriété $P(n)$ est vraie pour tout $n≥1$.
+\[
+\forall n≥1,\;S_n=\frac{n(n+1)}{2}\:.
+\]
+\end{enumerate}
+
+\subsubsection{Une autre somme}
+On se propose cette fois de démontrer par récurrence que la somme $T_n$ des carrés des $n$ premiers entiers non nuls est égale à $\bigl(n(n+1)(2n+1)\bigr)/6$. Par définition on a donc
+\[
+T_n=\sum_{k=1}^n k^2\;\text{ ou si l'on préfère }\; T_n=1^2+2^2+\cdots+(n-1)^2+n^2.
+\]
+On veut démontrer par récurrence que la propriété $P(n)$, définie par
+\[
+T_n=\frac{n(n+1)(2n+1)}{6}\;,
+\]
+est vraie pour tout $n≥1$.
+\begin{enumerate}
+\item \textit{Initialisation :} on a $T_1=1$ et pour $n=1$,
+\[\frac{n(n+1)(2n+1)}{6}=\frac{2\times3}{6}=1.\]
+ Donc $P(1)$ est vraie.
+\item \textit{Hérédité :} donnons nous un entier $n≥1$ et supposons que $P(n)$ est vraie.
+Montrons alors que $P(n+1)$ est vraie c'est à dire que
+\begin{align*}
+T_{n+1}&=\frac{(n+1)\bigl((n+1)+1)(2(n+1)+1\bigr)}{6}\;,\\
+&=\frac{(n+1)(n+2)(2n+3)}{6}\:.
+\end{align*}
+On sait que $T_{n+1}=T_{n}+(n+1)^2$, donc
+\begin{align*}
+T_{n+1}&=\frac{n(n+1)(2n+1)}{6}+(n+1)^2,\\
+&=\frac{n(n+1)(2n+1)+6(n+1)(n+1)}{6}\;,\\
+\intertext{soit, en factorisant $n+1$}
+T_{n+1}&=\frac{(n+1)\bigl(n(2n+1)+6(n+1)\bigr)}{6}\;,\\
+&=\frac{(n+1)(2n^2+n+6n+6)}{6}\;.\\
+\intertext{On remarque alors que $n+6n=7n$, que l'on peut aussi écrire $3n+4n$ d'où}
+T_{n+1}&=\frac{(n+1)(2n^2+3n+4n+6)}{6}\;,\\
+&=\frac{(n+1)\bigl(n(2n+3)+2(2n+3)\bigr)}{6}\;,\\
+&=\frac{(n+1)(n+2)(2n+3)}{6}\:.
+\end{align*}
+On vient d'établir que $\forall n≥1,\;P(n)\implies P(n+1)$. La propriété $P(n)$ est donc héréditaire à partir du rang $1$.
+\item \textit{Conclusion :} la propriété $P(n)$ est vraie pour tout $n≥1$.
+\[
+\forall n≥1,\;T_n=\frac{n(n+1)(2n+1)}{6}\:.
+\]
+\end{enumerate}
+
+\subsubsection{Divisibilité}
+Démontrer par récurrence que, pour tout entier naturel $n$, $n^3+2n$ est un multiple de $3$.
+On veut démontrer par récurrence que la propriété $P(n)$, définie par
+\[
+\exists\, k\in\N \text{ tel que }n^3+2n=3k,
+\]
+est vraie pour tout $n≥0$.
+\begin{enumerate}
+\item \textit{Initialisation :} Si $n=0$, $n^3+2n=0$ qui s'écrit aussi $3\times0$. Donc $P(0)$ est vraie.
+\item \textit{Hérédité :} Donnons nous un entier naturel $n$ et supposons que $P(n)$ est vraie. Montrons alors que $P(n+1)$ est vraie, c.-à-d. que $(n+1)^3+2(n+1)$ est divisible par~$3$.
+\begin{align*}
+(n+1)^3+2(n+1)&=n^3+3n^2+3n+1+2n+2,\\
+&=(n^3+2n)+3(n^2+n+1).
+\end{align*}
+L'hypothèse de récurrence nous dit que $P(n)$ est vraie, donc qu'il existe un entier $k$ tel que \mbox{$n^3+2n=3k$}. Alors
+\[(n+1)^3+2(n+1)=3(k+n^2+n+1),\]
+Ce qui prouve que $(n+1)^3+2(n+1)$ est un multiple de 3.
+
+On vient d'établir que $\forall n\in\N,\;P(n)\implies P(n+1)$. La propriété $P(n)$ est donc héréditaire à partir du rang $0$.
+\item \textit{Conclusion :} la propriété $P(n)$ est vraie pour tout $n\in\N$.
+\[
+\forall n\in\N,\; n^3+2n \text{ est divisible par $3$.}
+\]
+\end{enumerate}
+
+\endinput
diff --git a/macros/luatex/latex/tango/examples/rel-bin.tex b/macros/luatex/latex/tango/examples/rel-bin.tex
new file mode 100644
index 0000000000..ae2633e9d5
--- /dev/null
+++ b/macros/luatex/latex/tango/examples/rel-bin.tex
@@ -0,0 +1,443 @@
+% !TEX TS-program = LuaLaTeX
+%\documentclass[ColorTheme=Red]{dino-iPhone}
+
+\tgotitle{Relations binaires}
+\tgoshorttoc
+\section*{Avertissement}
+{\itshape
+Ce chapitre de la \emph{Mathematica dinosaurorum} a un statut un peu particulier, dans la mesure où il regroupe des notions somme toute assez basiques et que je ne tiens pas à présenter en introduction à d'autres chapitres. Il s'agit donc d'un texte destiné à servir de référence, et pas nécessairement à être lu d'une traite. Les exemples y sont donc peu nombreux, de même que les théorèmes, car tout ceci figure ou figurera dans les chapitres qui font référence à celui-ci.
+
+}
+
+\section{Généralités}
+\subsection{Produit cartésien}
+Deux ensembles $E$ et $F$ étant donnés, on appelle produit cartésien de $E$ et $F$ l'ensemble noté~$E\times F$ des couples $(x,y)$ où $x\in E$ et $y\in F$ :
+\[z\in E\times F \iff \exists\, x \in E, \exists\, y\in F,\;\text{tels que}\; z=(x,y).\]
+
+Dans le cas où $E=F$, on peut noter $E^2$ au lieu de $E\times E$. Ce cas particulier est important : par exemple, l'ensemble des couples des coordonnées des points du plan rapporté à un repère donné est~$\mathbb{R}^2$. On comprend alors que l'ordre de chaque couple est important et qu'il faut distinguer $(x,y)$ et~$(y,x)$, dans le cas de l'exemple qui vient d'être donné, mais aussi d'une façon générale.
+
+Cette notion se généralise à plus de deux ensembles : par exemple~$\R^3$ est l'ensemble~\mbox{$\R\times\R\times\R$} des triplets ordonnés de réels.
+
+\subsection{Parties d'un ensemble}
+On dit qu'un ensemble $X$ est une partie d'un ensemble $E$ si tout élément de $X$ est un élément de $E$. On dit aussi que~$X$ est un sous-ensemble de $E$ ou que $X$ est inclus dans $E$, ce que l'on note $X \subset E$ :
+\[X\subset E \iff \forall x,\; (x\in X\implies x\in E).\]
+
+L'ensemble vide $\emptyset$ et l'ensemble $E$ lui-même sont des parties de $E$, et l'on note~$\Pt{E}$ l'ensemble de toutes les parties de $E$.
+\[X\in \Pt{E}\iff X\subset E.\]
+
+\begin{alert}
+La propriété ci-dessus exprime le fait qu'une inclusion dans $E$ se traduit par une appartenance à $\Pt{E}$. Si $A$ et $B$ sont des parties de $E$, ce sont des \emph{éléments} de $\Pt{E}$, de même que~$\emptyset$ et~$E$. En revanche $\{A\}$, qui est un ensemble admettant pour seul élément la partie $A$ de $E$, est une partie de~$\Pt{E}$ de même que $\{\emptyset\}$ et $\{\emptyset, A, B,E\}$. En tant que parties de $\Pt{E}$, ce sont aussi des éléments de $\Pt{\Pt{E}}$! On notera aussi que l'ensemble vide~$\emptyset$, qui ne contient aucun élément, ne doit pas être confondu avec $\{\emptyset\}$, qui est un ensemble qui contient l'ensemble vide pour seul élément : ces deux ensembles sont des parties de $\Pt{E}$, distinctes l'une de l'autre. Enfin, il apparaît que $\emptyset$ est à la fois un élément et une partie de $\Pt{E}$…
+\end{alert}
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Si $E=\{a,b\}$, $\Pt{E}=\{\emptyset,\{a\},\{b\},E\}$.
+\item Si $E=\emptyset$, $\Pt{E}=\{\emptyset\}$, $\Pt{\Pt{E}}=\{\emptyset,\{\emptyset\}\}$ et \[\Pt{\Pt{\Pt{E}}}=\{\emptyset,\{\emptyset\},\{\{\emptyset\}\},\{\emptyset,\{\emptyset\}\}\}.\]
+\end{enumerate}
+\end{example}
+
+\subsubsection{Opérations dans l'ensemble des parties}
+On définit l'union (notée $\cup$) et l'intersection (notée $\cap$) de deux parties de $E$ de la façon suivante :
+
+\smallskip\par
+\begin{itemize}
+\item\textit{Union :} $x\in A\cup B \iff ((x\in A)\;\text{ou}\;(x\in B))$.
+\item\textit{Intersection :} $x\in A\cap B \iff ((x\in A)\;\text{et}\;(x\in B))$.
+\end{itemize}
+\smallskip\par
+
+À propos de l'union, on notera qu'en mathématique le mot \frquote{ou} a \emph{toujours} un sens inclusif, c'est-à-dire \frquote{l'un ou l'autre ou les deux}. L'union et l'intersection de deux parties de $E$ sont elles-mêmes des parties de $E$.
+
+De même on définit le complémentaire d'une partie $A$ de $E$ comme étant la partie de $E$ constituée des éléments de $E$ qui n'appartiennent pas à~$A$. Ce complémentaire est noté $E\smallsetminus A$ ou~$\complement_{E} A$. Lorsque qu'il n'y a aucune ambiguïté concernant l'ensemble $E$, on peut même le noter~$\bar{A}$.
+\smallskip\par
+\begin{itemize}
+\item\textit{Complémentaire :} $x\in \complement_E A \iff ((x\in E)\;\text{et}\;(x\notin A))$.
+\end{itemize}
+
+\smallskip
+Enfin on définit également la \emph{différence ensembliste} de deux parties $A$ et $B$ de $E$, notée~$A\smallsetminus B$ comme étant l'ensemble des éléments de $A$ qui ne sont pas éléments de $B$.
+\smallskip\par
+\begin{itemize}
+\item\textit{Différence ensembliste :} $x\in A\smallsetminus B \iff ((x\in A)\;\text{et}\;(x\notin B))$.
+\end{itemize}
+
+\subsubsection{Partition d'un ensemble}
+Soit un ensemble $E$ et $\symcal{C}$ une ensemble de parties de $E$ (c'est-à-dire un sous-ensemble ou encore une partie de $\Pt{E}$), on dit que $\symcal{C}$ est une partition de $E$ si les deux conditions suivantes sont vérifiées :
+\begin{enumerate}
+\item Tout élément de $\symcal{C}$ est non vide.
+\item Tout élément de $E$ appartient à un élément de $\symcal{C}$ et un seul.\label{cond2}
+\end{enumerate}
+
+\begin{remark}On notera que la condition~\ref{cond2} ci-dessus peut s'expliciter en disant que les parties qui constituent $\symcal{C}$ sont deux à deux disjointes (c'est-à-dire d'intersection vide) et que leur réunion est égale à$E$.
+\end{remark}
+
+\subsection{Relation binaire entre deux ensembles}\label{relbin}
+Une \emph{relation binaire} $\symcal{R}$ entre deux ensembles $E$ et $F$ est définie par la donnée d'une partie~$\symcal{G}$ du produit cartésien~$E\times F$ (on a donc $\symcal{G}\in\Pt{E\times F}$). Cette partie, qui est donc un ensemble de couples, est le \emph{graphe} de la relation : par définition, un couple~$(x,y)$ de~$E\times F$ est lié par la relation~$\symcal{R}$ si~$(x,y)\in \symcal{G}$. Donner une relation binaire revient donc à donner son graphe. Si la relation est notée $\symcal{R}$, on écrit $x\mathrel{\symcal{R}}y$ ou $\symcal{R}(x,y)$ pour exprimer que~$x$ et~$y$, dans cet ordre, sont liés par la relation $\symcal{R}$. On a donc pour une relation~$\symcal{R}$ dont le graphe est $\symcal{G}$:
+\[\forall (x,y)\in E\times F, \; x\mathrel{\symcal{R}}y\iff(x,y)\in \symcal{G}.\]
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item L'égalité est une relation binaire qui peut être définie sur tout ensemble $E$. Son graphe est ce que l'on nomme la \emph{diagonale} de $E$, c'est à dire l'ensemble des couples $(x,y)$ de~$E^2$ tels que~$x=y$.
+
+%\item L'ordre strict dans l'ensemble des réels est une relation binaire notée~$<$ (on aurait également pu considérer un ordre large ou l'ordre inverse). Par définition, $x<y$ traduit le fait que $y-x$ est un réel strictement positif :
+%\[\forall (x,y) \in \R^2, \; x<y \iff (y-x)\in \R^{*}_+.\]
+%Le graphe de cette relation peut être représenté par l'ensemble des points du plan repéré dont l'ordonnée est strictement supérieure à l'abscisse, c'est à dire les points situés strictement au dessus de la droite d'équation $y=x$ (première bissectrice du repère).
+%\label{ord-strict}
+%On notera que la \emph{règle des signes}, reposant sur la \emph{partition} de $\R$ en trois ensembles qui sont $\R^*_-$, le singleton $\{0\}$ et $\R^*_+$, préexiste à la définition d'un ordre dans $\R$.
+
+\item Le relation $p$ définie entre $\R$ et $\R_+$ par
+\[\forall (x,y)\in \R\times \R_+,\; p(x,y)\iff y=x^2.\]
+Le graphe de $p$ peut être représenté, dans le demi-plan repéré des points d'ordonnée positive, par la parabole d'équation~$y=x^2$. On notera que cette relation est en réalité une fonction et que la notation $y=p(x)$ aurait été plus habituelle; nous y reviendrons.
+\end{enumerate}
+\end{example}
+
+% Dans le cas d'une
+%relation fonctionnelle (voir \S~\ref{Rfonc} ci-dessous), pour laquelle un seul élément y de $F$ est en relation avec un élément $x$ donné dans $E$, on écrit en général $y=\symcal{R}(x)$.
+%
+
+\section{Relations d'équivalence}
+\subsection{Définition}
+On dit qu'une relation $\symcal{R}$, définie sur $E$ (on se place donc dans le cas où $E=F$) est une relation d'équivalence si elle possède les trois propriétés suivantes :
+\begin{enumerate}
+\item Elle est \emph{réflexive}, c'est-à-dire que tout élément de $E$ est en relation avec lui même :
+\[\forall x \in E,\; x\mathrel{\symcal{R}}x.\]
+\item Elle est \emph{symétrique}:
+\[\forall (x,y)\in E\times E,\; (x\mathrel{\symcal{R}}y \implies y\mathrel{\symcal{R}}x).\]
+\item Elle est \emph{transitive} :
+%\[
+%\forall (x,y,z)\in E^3,\quad \left.\begin{aligned}
+%x&\mathrel{\symcal{R}}y\\
+%&\text{et}\\
+%y&\mathrel{\symcal{R}}z
+%\end{aligned}\right\}
+%\implies x\mathrel{\symcal{R}}z
+%\]
+\[
+\forall (x,y,z)\in E^3,\; \bigl((x\mathrel{\symcal{R}}y\;\text{ et }\;y\mathrel{\symcal{R}}z)\implies x\mathrel{\symcal{R}}z\bigr).
+\]
+\end{enumerate}
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item L'égalité est une relation d'équivalence sur tout ensemble, c'est une conséquence directe de la définition.
+\item Si l'on désigne par $\symfrak{D}$ l'ensemble des droites du plan, le parallélisme est une relation d'équivalence sur $\symfrak{D}$ : c'est immédiat également, on peut noter au passage que la transitivité traduit le fait que \frquote{deux droites parallèles à une même troisième sont parallèles entre elles}.
+\item Pour un ensemble $E$ donné, la relation dont le graphe est $E\times E$ est une relation d'équivalence. Tous les couples d'éléments de $E$ sont donc liés par cette relation.
+\item La relation $\equiv$ définie dans l'ensemble $\Z$ des entiers par
+\[\forall (m,n)\in\Z\times\Z,\; m\equiv n \iff (m-n) \text{ est un entier pair.}\]
+est une relation d'équivalence.
+
+Rappelons qu'un élément $p$ de $\Z$ est un entier pair s'il est divisible par~$2$, c'est-à-dire s'il existe $k$ appartenant à $\Z$ tel que~$p=2k$ et montrons que la relation~$\equiv$ remplit bien les conditions requises :
+\begin{enumerate}
+\item \emph{Réflexivité. — }Soit $m\in\Z$ un entier quelconque : $m-m=0=2\times0$. Donc~$m-m$ est pair. La relation $\equiv$ est réflexive.
+\item \emph{Symétrie. — }Soit $m$ et $n$ deux entiers tels que $m\equiv n$. Alors il existe un entier~$k$ tel que~$m-n=2k$. Il suffit alors d'écrire $n-m=2\times(-k)$ pour constater que $n\equiv m$. La relation~$\equiv$ est symétrique.
+\item\emph{Transitivité. — }Soit $(m,n,p)$ dans $\Z^3$ tels que $m\equiv n$ et $n\equiv p$. Il existe alors deux entiers~$k$ et~$k'$ tels que \mbox{$m-n=2k$} et $n-p=2k'$. Il suffit de remarquer que
+\[m-p=(m-n)+(n-p)=2(k+k'), \text{ où $(k+k')\in\Z$}\]
+pour établir que $m\equiv p$. La relation $\equiv$ est donc transitive.
+\end{enumerate}
+\end{enumerate}
+\end{example}
+%\subsection{Exemples}
+
+\subsection{Classes d'équivalence}
+Soit un ensemble $E$ et une relation d'équivalence $\symcal{R}$ sur$E$. On dit qu'une partie~$A$ de~$E$ est une classe d'équivalence modulo la relation~$\symcal{R}$ s'il existe un élément $x$ de~$E$ tel que~$A$ soit l'ensemble des éléments~$y$ de~$E$ pour lesquels la relation~$x\mathrel{\symcal{R}}y$ est vérifiée. On note alors~$A=\cl_{\symcal{R}} (x)$ ou~$A=\cl (x)$ s'il n'y a pas d'ambiguité.
+\[y\in\cl_{\symcal{R}} (x)\iff x\mathrel{\symcal{R}}y.\]
+
+\begin{thm}
+Soit un ensemble $E$ et une relation d'équivalence $\symcal{R}$ sur $E$. L'ensemble des classes d'équivalence modulo $\symcal{R}$ constitue une partition de $E$.
+\end{thm}
+
+\begin{proof}
+Tout d'abord la réflexivité de la relation $\symcal{R}$ entraîne que pour tout~$x$ appartenant à~$E$,~$x$ appartient à~$\cl(x)$. Par conséquent, tout $x\in E$ appartient à une classe et toute classe est non vide. Il nous reste à prouver que tout élément $x$ de $E$ appartient à une seule classe, c'est à dire que s'il existe un élément $y$ de $E$ tel que $x\in \cl(y)$, alors $\cl(x)=\cl(y)$.
+
+Nous allons procéder par double inclusion.
+\begin{itemize}
+\item Soit donc $y\in E$ tel que $x\in\cl(y)$. On sait que $y\mathrel{\symcal{R}}x$, donc,
+pour tout~$z\in \cl(x)$, on a à la fois $y\mathrel{\symcal{R}}x$ et $x\mathrel{\symcal{R}}z$ : par transitivité on obtient~$y\mathrel{\symcal{R}}z$, soit~$z\in\cl(y)$ :
+\[\forall z\in E, (z\in\cl(x)\implies z\in\cl(y), \text{ donc }\cl (x)\subset\cl (y).\]
+ \item Par symétrie de la relation d'équivalence $\symcal{R}$, on a aussi~$x\mathrel{\symcal{R}}y$. On peut alors refaire le même raisonnement que ci-dessus :
+ pour tout $z$ appartenant à $\cl(y)$ on a à la fois~$x\mathrel{\symcal{R}}y$ et~$y\mathrel{\symcal{R}}z$,
+ donc par transitivité $x\mathrel{\symcal{R}}z$, soit~\mbox{$z\in\cl(x)$} :
+\[\forall z\in E, (z\in\cl(y))\implies z\in\cl(x), \text{ donc }\cl (y)\subset\cl (x).\]
+\item Finalement $\cl(x)=\cl(y)$.\qedhere
+\end{itemize}
+\end{proof}
+
+\begin{remark}
+Réciproquement, toute partition $\symcal{C}$ d'un ensemble $E$ est l'ensemble des classes d'une relation d'équivalence. Il suffit en effet de considérer la relation $\sim$ telle que pour tout~$(x,y)$ dans $E^2$, on ait \textit{$x\sim y$ si $x$ appartient au même élément de $\symcal{C}$ que~$y$}, laquelle répond à la question.
+\end{remark}
+%\end{document}
+%\subsubsection{Notion de structure quotient}
+
+\section{Relations d'ordre}
+\subsection{Définition}
+On dit qu'une relation $\preccurlyeq$, définie sur $E$ (on se place donc ici encore dans le cas où~$E=F$) est une relation d'ordre si elle possède les trois propriétés suivantes :
+\begin{enumerate}
+\item Elle est \emph{réflexive}, c'est-à-dire que tout élément de $E$ est en relation avec lui même :
+\[\forall x \in E,\; x\preccurlyeq x.\]
+\item Elle est \emph{antisymétrique}:
+\[\forall (x,y)\in E\times E,\; \bigl((x\preccurlyeq y)\text{ et }(y\preccurlyeq x)\implies x=y\bigr).\]
+\item Elle est \emph{transitive} :
+%\[
+%\forall (x,y,z)\in E^3,\quad \left.\begin{aligned}
+%x&\mathrel{\symcal{R}}y\\
+%&\text{et}\\
+%y&\mathrel{\symcal{R}}z
+%\end{aligned}\right\}
+%\implies x\mathrel{\symcal{R}}z
+%\]
+\[
+\forall (x,y,z)\in E^3,\; \bigl((x\preccurlyeq y\;\text{ et }\;y\preccurlyeq z)\implies x\preccurlyeq z\bigr).
+\]
+\end{enumerate}
+
+\begin{remark}
+La démonstration du résultat suivant est immédiate.
+
+Une relation d'ordre $\preccurlyeq$ sur un ensemble $E$ étant donnée, la relation~$\succcurlyeq$, définie par
+\[\forall (x,y) \in E^2, x\succcurlyeq y \iff y\preccurlyeq x\,,\]
+est une relation d'ordre sur $\R$ nommée \emph{ordre inverse} de $\preccurlyeq$.
+\end{remark}
+
+%\begin{exemple}[Exemples]
+%\begin{enumerate}
+%\item La relation d'ordre strict sur l'ensemble $\R$ des réels, telle que nous l'avons rencontrée dans l'exemple~\ref{ord-strict} du paragraphe~\ref{relbin} n'est pas une relation d'ordre, car elle n'est pas réflexive. En revanche l'ordre large correspondant, défini par
+%\[\forall (x,y) \in \R^2, \; x\leq y \iff (y-x)\in \R_+\,,\]
+%est bien une relation d'ordre. En effet :
+%\begin{itemize}
+%\item Pour tout $x$ réel, $x-x=0$ et $0\in \R_+$, ce qui assure que la relation~$\leq$ est \emph{réflexive}.
+%\item Pour tout couple de réels $(x,y)$, si $x\leq y$ et $y\leq x$ alors $x=y$. En effet, en effet, $y\leq x$ signifie que $(x-y)\in \R_+$. Le réel $(y-x)$ se retrouve donc appartenir à la fois à $\R_+$ (car $x\leq y$) et à $\R_-$ (en tant qu'opposé de $(x-y)$) ; on en déduit que $y-x=0$ donc que $x=y$. La relation~$\leq$ est donc \emph{antisymétrique}.
+%\item Soit $(x,y,z)\in\R^3$, on a $z-x=(z-y)+(y-x)$. On en déduit que si $x\leq y$ et $y\leq z$, $z-x$ est élément de $\R_+$ et tant que somme de deux éléments de $\R_+$, ce qui revient à dire que $x\leq z$. Le relation~$\leq$ est donc \emph{transitive}.
+%\end{itemize}
+%\end{enumerate}
+%\end{exemple}
+
+\subsection{Ordre dans les ensembles de nombres}
+Les relations usuelles $<$ et $>$, définies sur les ensembles de nombres, \emph{ne sont pas} des relations d'ordre, il est facile de l'établir : ces relations \emph{ne sont pas} réflexives. Il est en revanche plus délicat de démontrer que les relations~$\leq$ et~$\geq$ sont des relations d'ordre, et même de tout simplement définir ces relations.
+ On pourrait songer à définir l'ordre dans $\R$ en disant que~$x\leq y$ si $(y-x)\in \R_{+}$… Mais alors il resterait à définir $\R_{+}$ sans utiliser l'ordre, ce qui ne semble nullement évident. C'est pour cette raison que nous nous contenterons d'affirmer que la relation $\leq$, telle que chacun la connaît, est bien une relation d'ordre sur $\R$ (ainsi d'ailleurs que sur $\N$, $\Z$, $\symbb{D}$ et $\Q$).
+
+%
+\subsection{Un peu de vocabulaire}
+On se donne dans ce paragraphe un ensemble $\symcal{E}$ sur lequel est définie une relation d'ordre~$\preccurlyeq$.
+\subsubsection{Ordre total}
+ On dit que la relation $\preccurlyeq$ définit un ordre total sur $\symcal{E}$ si pour tout couple~$(x,y)$ d'éléments de~$\symcal{E}$, la proposition
+ \XSmartphoneCommand{$\bigl((x\preccurlyeq y)\text{ ou }(y\preccurlyeq x)\bigr)$}
+ \SmartphoneCommand{%
+ \[
+ \bigl((x\preccurlyeq y)\text{ ou }(y\preccurlyeq x)\bigr)
+ \]%
+ }
+ est vraie.
+
+\subsubsection{Majorants, minorants \& C\up{ie}}
+Soit maintenant $\symcal{A}$ une partie de $\symcal{E}$.
+
+\begin{itemize}
+\item On dit qu'un élément $M$ de $\symcal{E}$ est un majorant de $\symcal{A}$, si $\forall x\in \symcal{A},\, x\preccurlyeq M$.
+\item On dit qu'un élément $m$ de $\symcal{E}$ est un minorant de $\symcal{A}$, si $\forall x\in \symcal{A},\, m\preccurlyeq x$.
+\item On dit que $\symcal{A}$ admet $A$ pour plus grand élément si $A\in \symcal{A}$ et si $A$ est un majorant de $\symcal{A}$.
+\item On dit que $\symcal{A}$ admet $a$ pour plus petit élément si $a\in \symcal{A}$ et si $a$ est un minorant de~$\symcal{A}$.
+\end{itemize}
+
+
+
+\begin{remark}
+Dans un ensemble muni d'une relation d'ordre, l'existence d'un majorant, d'un minorant, d'un plus petit ou d'un plus grand élément n'est nullement assurée. On a en revanche le résutat suivant.
+\end{remark}
+
+\begin{thm}
+Soit un ensemble $\symcal{E}$ sur lequel est définie une relation d'ordre $\preccurlyeq$ et soit $\symcal{A}$ une partie de~$\symcal{E}$. Si~$\symcal{A}$ admet une plus grand élément (respectivement un plus petit élément) pour la relation $\preccurlyeq$, ce plus grand élément (respectivement ce plus petit élément) est unique.
+\end{thm}
+\begin{proof}
+Nous proposons la démonstration dans le cas du plus petit élément, celle de l'autre cas est identique. Supposons que~$a$ et~$a'$ soient des plus petits éléments de $\symcal{A}$. D'après la définition d'un plus petit élément, on sait que pour tout~$x$ de~$\symcal{A}$, $a\preccurlyeq x$ et en particulier~\mbox{$a\preccurlyeq a'$}. Et de la même façon, on sait que pour tout $x$ de $\symcal{A}$, $a'\preccurlyeq x$ et en particulier~\mbox{$a'\preccurlyeq a$}. L'antisymétrie de la relation $\preccurlyeq$ nous assure alors que $a=a'$, d'où l'unicité du plus petit élément.
+\end{proof}
+
+Supposons maintenant que $\symcal{A}$ admette $A$ pour plus grand élément et soit $\symcal{M}$ l'ensemble de tous les majorants de $\symcal{A}$. Il va de soi que $\symcal{A}\cap\symcal{M}=\{A\}$. L'élément $A$ apparaît ainsi également comme le plus petit élément de $\symcal{M}$. De la même façon, si $\symcal{A}$ admet un plus petit élément, ce dernier est le plus grand des minorants de $\symcal{A}$.
+
+\begin{alert}
+Dans le cas où $\symcal{A}$ ne possède pas de plus grand élément, il n'est nullement assuré que~$\symcal{M}$ possède un plus petit élément, ni même d'ailleurs que $\symcal{M}$ soit non vide. Néanmoins il est possible que $\symcal{M}$ possède un plus petit élément, et ceci que $\symcal{A}$ possède ou non un plus grand élément. Ce plus petit élément de $\symcal{M}$ est alors par définition la \emph{borne supérieure} de~$\symcal{A}$ dans l'ensemble $\symcal{E}$ ordonné par $\preccurlyeq$.
+\end{alert}
+
+ \section{Applications, fonctions}\label{Rfonc}
+%%%Fonction caractéristique, cardinal de $\symcal{P}(E)$ ou $\symfrak{P}(E)$
+\subsection{Définition}
+On dit qu'une relation binaire $f$ entre deux ensembles $E$ et~$F$ est fonctionnelle ou qu'elle est une \emph{fonction} définie sur~$E$ et à valeurs dans $F$ ou encore une \emph{application} de~$E$ dans $F$ si tout élément $x$ de $E$ est en relation avec un élément~$y$ de~$F$ et un seul. Cet élément $y$ est appelé \emph{image} de~$x$ par~$f$ et noté $f(x)$ (autrement dit on écrit plus volontiers~$y=f(x)$ que~$x \mathrel{f}y$). L'ensemble $E$ est l'ensemble de départ de la fonction et l'ensemble $F$ son ensemble d'arrivée.
+
+Une application est donc déterminée par la donnée de son ensemble de départ, de son ensemble d'arrivée et d'un procédé décrivant une correspondance fonctionnelle entre ces deux ensembles. On note souvent :
+
+\begin{align*}&f\::\;E\to F\;,\quad x\longmapsto f(x)\,.\\
+\intertext{Par exemple :}
+&f\::\;\left]-1,1\right[\to\R\;,\quad x \longmapsto \frac{1}{x^2-1}\;,\\
+\intertext{ou}
+&g\::\;\Z\to\{0,1\}\;,\quad p\longmapsto
+\begin{cases} 0&\text{ si $p$ est pair,}\\
+1&\text{ sinon.}
+\end{cases}
+\end{align*}
+
+Il n'y a pas de distinction entre fonction et application, mais le contexte peut introduire certaines nuances. En effet, lorsque $E$ est une partie de l'ensemble $\R$ des nombres réels, $f(x)$ est souvent donné par une expression, sa valeur étant le résultat d'un calcul. On emploie alors plus volontiers le vocable \emph{fonction} et dans ce cas l'ensemble de départ peut ne pas être précisé et correspond alors à l'ensemble des valeurs de $x$ pour lesquelles le calcul de $f(x)$ est possible. On parle alors plutôt d'ensemble de définition que d'ensemble de départ.
+
+\begin{example}[Exemples]
+\begin{enumerate}
+\item Soit la fonction $f$ de la variable réelle $x$, telle que
+\[f(x)=\frac{x}{x^2-4}\;.
+\]
+Déterminons l'ensemble de définition $\symcal{D}_f$ de la fonction $f$. On a
+\begin{align*}
+x\in \symcal{D}_f &\iff x^2-4\neq 0\\
+&\iff x\neq -2 \text{ et } x\neq 2.
+\end{align*}
+
+Donc $\symcal{D}_f= \R\smallsetminus\{-2,2\}$.
+\item Soit la fonction $g$ telle que $g(x)=\sqrt{1-x^2}$. Déterminons l'ensemble de définition de $g$. On a
+\[
+x\in \symcal{D}_g \iff 1-x^2\geq 0.
+\]
+
+Il nous faut donc résoudre l'inéquation $1-x^2\geq0$. Le polynôme $1-x^2$ admet les nombres~$-1$ et~$1$ pour racines et le coefficient de $x^2$ est négatif :~\mbox{$1-x^2$} est donc positif dans l'intervalle des racines (on pourra consulter le volet consacré aux polynômes du second degré).
+
+Donc $\symcal{D}_g= \left[-1,1\right]$.
+\end{enumerate}
+\end{example}
+
+\subsection{Antécédents, surjections, injections \& bijections}
+\subsubsection{Notion d'antécédent}
+Soit une application $f$ de $E$ dans $F$ et soit~$b$ élément de~$F$. On dit qu'un élément~$a$ de~$E$ est un \emph{antécédent} de $b$ si $f(a)=b$, autrement dit si~$b$ est l'image de~$a$ par $f$.
+Alors que la définition d'une fonction entraîne que l'image d'un quelconque élément de $E$ existe et est unique, dans le cas d'une recherche d'antécédent, rien de ce genre n'est assuré.
+
+Considérons par exemple la fonction \emph{carré} définie par
+\[f\::\;\R\to\R\;,\quad x\longmapsto f(x)=x^2 \]
+et recherchons les antécédents par $f$ d'un élément~$y$ de~$\R$, c.-à-d. les solutions de l'équation d'inconnue~$x$ :~\mbox{$x^2=y$}.
+\begin{itemize}
+\item \textit{Si $y>0$} : $y$ admet deux antécédents qui sont $\sqrt{y}$ et $-\sqrt{y}$.
+\item \textit{Si $y=0$} : le seul antécédent de $0$ est $0$.
+\item \textit{Si $y<0$} : $y$ ne possède aucun antécédent.
+\end{itemize}
+\begin{remark}
+Il faut remarquer ici que la connaissance précise des ensembles de départ et d'arrivée est indispensable à la recherche des antécédents. Considérons la fonction
+\[g\::\;\R_+\to\R_+\;,\quad x\longmapsto g(x)=x^2. \]
+Les expressions de $g(x)$ et de $f(x)$ sont parfaitement identiques, mais, contrairement à ce que nous venons d'étudier pour la fonction $f$, dans le cas de la fonction $g$ tout élément~$y$ de l'ensemble d'arrivée possède un antécédent unique qui est $\sqrt{y}$.
+\end{remark}
+\subsubsection{Surjections, injections et bijections}
+\begin{remark}[Surjections]
+On dit qu'une application $f$ de $E$ dans $F$ est \emph{surjective} (ou encore que~$f$ est une \emph{surjection}) si tout élément de $F$ possède au moins un antécédent dans~$E$.
+\end{remark}
+\begin{remark}[Injections]
+On dit qu'une application $f$ de $E$ dans $F$ est \emph{injective} (ou encore que $f$ est une \emph{injection}) ou encore si deux éléments distincts quelconques de $E$, ont des images distinctes. De façon plus formelle,~\mbox{$f\::\;E\to F$} est injective si
+\begin{gather}\forall(x,y)\in E\times E, \;\bigl(x\neq y\implies f(x)\neq f(y)\bigr).\label{condinj1}\\
+\intertext{Ou, par contraposition, $f\::\;E\to F$ est injective si}
+\forall(x,y)\in E\times E, \;\bigl(f(x)= f(y)\implies x=y\bigr).\label{condinj2}
+\end{gather}
+
+On peut dire également que $f$ est injective si et seulement si tout élément de $F$ possède au plus un antécédent dans~$E$.
+\end{remark}
+
+\begin{remark}[Bijections]
+On dit qu'une application $f$ de $E$ dans $F$ est \emph{bijective} (ou encore que $f$ est une \emph{bijection}) si tout élément de $F$ possède un antécédent dans $E$ et un seul, autrement dit si $f$ est à la fois surjective et injective.
+
+Si l'application $f\::\;E\to F$ est bijective, l'application qui à tout élément de $F$ associe son unique antécédent dans $E$ est évidemment bijective : c'est la \emph{bijection réciproque} de~$f$, notée~$f^{-1}$.
+\end{remark}
+\begin{example}[Exemples]
+\begin{enumerate}
+\item \label{phi} Soit l'application
+\[
+\phi\::\;\R\smallsetminus\{1\}\to\R\,,\quad x\longmapsto \frac{2x}{x-1}\;.
+\]
+
+Donnons-nous un réel $y$ quelconque et recherchons ses antécédents, qui sont les solutions dans $\R\smallsetminus\{1\}$ de l'équation $\phi(x)=y$, que nous résolvons ici :
+\begin{align*}
+\frac{2x}{x-1}=y &\iff 2x=y(x-1)\text{ et } x\neq 1\,,\\
+&\iff x(2-y)=-y\text{ et } x\neq 1\,,\\
+&\iff x(y-2)=y\text{ et } x\neq 1\,.
+\end{align*}
+\begin{itemize}
+\item\textit{Si $y=2$}, l'équation est équivalente à $0=2$ et n'a donc pas de solution. Le réel $2$ n'a pas d'antécédent par $\phi$.
+\item\textit{Si $y\neq 2$}, l'équation admet \[x=\frac{y}{y-2}\] pour unique solution (il est clair en effet que $y/(y-2)$ ne peut être égal à $1$).
+\end{itemize}
+
+
+En résumé, le réel $2$ ne possède aucun antécédent et les réels différents de $2$ possèdent un antécédent et un seul. L'application $\phi$ est donc injective, mais n'est pas surjective.
+\item Soit maintenant l'application
+\[
+\psi\::\;\R\smallsetminus\{1\}\to\R\smallsetminus\{2\}\,,\quad x\longmapsto \frac{2x}{x-1}\;.
+\]
+
+On notera que les applications $\phi$ et $\psi$ ne diffèrent que par leur ensemble d'arrivée. Cependant, l'étude faite ci-dessus en \ref{phi} prouve que $\psi$ est bijective et que sa bijection réciproque est
+\[
+\psi^{-1}\::\;\R\smallsetminus\{2\}\to\R\smallsetminus\{1\}\,,\quad x\longmapsto \frac{x}{x-2}\;.
+\]
+\item L'application $\theta$ définie par
+\[
+\theta\::\;\R\to\R\,,\quad x\longmapsto x^2-1
+\]
+n'est ni injective ni surjective. En effet $\theta(x)$ est nul si et seulement si $x^2=1$, c.-à-d si et seulement si $x=-1$ ou $x=1$ : le réel $0$ possède donc deux antécedents pour $\theta$. Par ailleurs, pour tout réel~$x$,~$x^2\geq0$, donc $\theta(x)\geq-1$ : le réel $-2$, par exemple, ne possède aucun antécédent par $\theta$.
+\end{enumerate}
+\end{example}
+\subsection{Composée de deux applications}
+
+Soit deux applications $f\::\;E\to F$ et $g\::\;F\to G$, on appelle \emph{application composée de~$f$ par~$g$} et on note $g\rond f$ l'application de $E$ dans $G$ définie par :
+\[g\rond f\::\; E\to G\,,\quad x\longmapsto g\rond f(x) = g\bigl(f(x)\bigr).\]
+
+Notons qu'il est important pour définir $g\rond f$ que l'ensemble d'arrivée de $f$ coïncide avec l'ensemble de départ de~$g$.
+
+\begin{example}
+Soit
+\[
+f\::\;\R^*\to\R\,,\; x\mapsto \frac1x\;\text{ et }\;g\::\:\R\to\R\,,\; x\mapsto x^2+1\,.
+\]
+Déterminons $g\rond f$ qui est une application de $\R^*$ dans $\R$.
+
+On a pour tout $x\in\R^*$,
+\begin{align*}
+g\rond f(x) &= g\bigl(f(x)\bigr),\\
+&={\bigl(f(x)\bigr)}^2+1,\\
+&={\left(\frac1x\right)}^2+1,\\
+\intertext{ou, en réduisant au même dénominateur,}
+g\rond f(x)&= \frac{1+x^2}{x^2}\;.
+\end{align*}
+\begin{remark}
+On notera que la même lettre $x$ intervient dans les définitions de~$f$ et~$g$. Il s'agit bien sûr d'une lettre muette, qui pourrait dans chaque cas être remplacée par n'importe quelle autre lettre (en évitant tout de même les lettres $f$ et $g$!).
+\end{remark}
+\end{example}
+
+\begin{thm}Soit deux applications $f\::\;E\to F$ et $g\::\;F\to G$. Si $f$ et $g$ sont des bijections, alors l'application composée $g\rond f$ est une bijection dont la bijection réciproque est $f^{-1}\rond g^{-1}$.
+\end{thm}
+
+\begin{proof}
+Soit deux bijections $f\::\;E\to F$ et $g\::\;F\to G$. % et un élément $a$ de $E$.
+%Si $a$ est un antécédent de $b$ par $g\rond f$, on a $g\rond f(a)=c$, soit $g\bigl(f(a)\bigr)=c$.
+\begin{enumerate}
+\item\label{gofsurj} Donnons nous un élément $c$ quelconque de $G$. Les applications~$g$ et~$f$ étant surjectives, $c$ possède un antécédent~$b$ par $g$ et $b$ possède lui-même un antécédent $a$ par $f$. On a alors
+\[g\rond f(a) =g\bigl(f(a)\bigr)=g(b)=c.\]
+L'élément $c$ admet $a$ pour antécédent par $g\rond f$ qui est donc est donc application surjective.
+\item Supposons maintenant qu'il existe un élément $c$ de $G$ et $a$ et $a'$ éléments de $E$ tels que~$g\rond f(a)=g\rond f(a')$. Alors $g\bigl(f(a)\bigr)=g\bigl(f(a')\bigr)$ et puisque $g$ est injective on a, d'après la proposition \eqref{condinj2} p.~\pageref{condinj2}, $f(a) = f(a')$; l'application $f$ étant elle-même injective, on obtient finalement~$a=a'$. On a donc prouvé que
+\[\forall(a,a')\in E\times E, \;\bigl(g\rond f(a)= g\rond f(a')\implies a=a'\bigr),\]
+autrement dit que $g\rond f$ est injective.
+\item L'application $g\rond f$ est donc surjective et injective : elle est bijective. On remarque alors en employant les notations du point \ref{gofsurj} ci-dessus \mbox{que $a=f^{-1}(b)$} et $b=g^{-1}(c)$, \mbox{d'où $a=f^{-1}\bigl(g^{-1}(c)\bigr)$}, ce qui achève la démonstration en prouvant que
+\[{\bigl(g\rond f\bigr)}^{-1}=f^{-1}\rond g^{-1}.\qedhere\]
+\end{enumerate}
+\end{proof}
+
+\begin{remark}
+La réciproque de ce théorème est fausse. Considérons par exemple les applications suivantes :
+\[
+f\::\;\R_+\to\R\,,\; x\mapsto \sqrt{x}\;\text{ et }\;g\::\;\R\to\R_+\,,\; x\mapsto x^2.
+\]
+Pour tout réel $x$ positif, on a $g\bigl(f(x)\bigr)=\bigl(\sqrt{x}\bigr)^2=x$, par définition de la racine carrée. Par conséquent, on a
+\[g\rond f \::\;\R_+\to\R_+\,,\quad x\longmapsto x,\]
+qui est à l'évidence une bijection. Cependant, $f$ n'est pas surjective (les nombres strictement négatifs n'ont pas d'antécédent) et $g$ n'est pas injective (deux nombres opposés non nuls ont la même image).
+\end{remark}
+
+On a néanmoins le théorème suivant:
+\begin{thm}
+Soit deux applications $f\::\;E\to F$ et $g\::\;F\to G$. Si $g\rond f$ est injective, $f$ est injective. Si $g\rond f$ est surjective, $g$ est surjective.
+\end{thm}
+
+\begin{proof}
+\begin{itemize}
+\item Supposons $g\rond f$ injective et soit $x$ et $y$ éléments de $E$ tels que~\mbox{$f(x)=f(y)$}. Montrons que nécessairement $x=y$, ce qui établira que~$f$ est injective.
+
+Puisque $f(x)=f(y)$, $g\bigl(f(x)\bigr)=g\bigl(f(y)\bigr)$, soit $g\rond f(x)=g\rond f(y)$ : on en déduit que~$x=y$, car $g\rond f$ est injective par hypothèse. Par conséquent~$f$ est injective.
+\item Supposons $g\rond f$ surjective et soit $z$ un élément de $G$. L'application~$g\rond f$ étant surjective, il existe un élément $x$ de $E$ tel que $g\rond f(x)=z$, soit~$g\bigl(f(x)\bigr)=z$. L'élément~$z$ admet donc $f(x)$ pour antécédent par $g$, ce qui prouve que~$g$ est surjective. \qedhere
+\end{itemize}
+\end{proof}
+\endinput \ No newline at end of file
diff --git a/macros/luatex/latex/tango/examples/schoolwork.tex b/macros/luatex/latex/tango/examples/schoolwork.tex
new file mode 100644
index 0000000000..9ea9f9a2f0
--- /dev/null
+++ b/macros/luatex/latex/tango/examples/schoolwork.tex
@@ -0,0 +1,238 @@
+% !TEX TS-program = LuaLaTeX
+\documentclass[french,no-indent,FontSize=11pt]{tango}
+\usepackage{numprint}
+%
+\NewCommandCopy{\np}{\numprint}
+%
+\newcommand\headcontentL{}
+\newcommand\headcontentC{}
+\newcommand\headcontentR{}
+\newcommand\footcontentL{}
+\newcommand\footcontentC{}
+\newcommand\footcontentR{}
+\newlength\SWruleheight
+\setlength\SWruleheight{0.4pt}
+\NewDocumentCommand\headL{m}{\renewcommand\headcontentL%
+{\sffamily\fontseries{l}\selectfont#1}}
+%
+\NewDocumentCommand\headC{m}{\renewcommand\headcontentC%
+{\sffamily\fontseries{l}\selectfont#1}}
+%
+\NewDocumentCommand\headR{m}{\renewcommand\headcontentR%
+{\sffamily\fontseries{l}\selectfont#1}}
+%
+\NewDocumentCommand\footL{m}{\renewcommand\footcontentL%
+{\sffamily\fontseries{l}\selectfont#1}}
+%
+\NewDocumentCommand\footC{m}{\renewcommand\footcontentC%
+{\sffamily\fontseries{l}\selectfont#1}}
+%
+%
+\NewDocumentCommand\footR{m}{\renewcommand\footcontentR%
+{\sffamily\fontseries{l}\selectfont#1}}
+%
+\newpagestyle{schoolwork}{%
+\setheadrule{\SWruleheight}%
+\setfootrule{\SWruleheight}%
+\sethead{\headcontentL}%
+{\headcontentC}%
+{\headcontentR}%
+\setfoot{\footcontentL}%
+{\footcontentC}%
+{\footcontentR}
+}
+
+
+\headL{Le 13 novembre 2024}
+\headC{Entraînement au Devoir Commun \no 1}
+\headR{Durée : 2 heures}
+\footL{Lycée Jean-Baptiste \textsc{Colbert}}
+\footC{Classe de 1\iere~3}
+\footR{page~\thepage}
+%
+%
+\pagestyle{schoolwork}
+\geometry{top=2cm,outer=2cm,bottom=2cm,inner=2cm,headheight=18pt,headsep=25pt,footskip=34pt}
+
+\begin{document}
+
+
+\exo[Thème : suites — 4 points]
+
+
+On considère la suite $\left(u_n\right)$ définie par $u_0 = \numprint{10000}$ et pour tout entier naturel $n$
+\[u_{n+1} = 0{,}95u_n + 200.\]
+
+\begin{enumerate}
+\item Calculer $u_1$ et vérifier que $u_2 = \np{9415}$.
+\item
+ \begin{enumerate}
+ \item Démontrer, à l'aide d'un raisonnement par récurrence, que pour tout entier naturel $n$
+\[u_n >\np{4000}.\]
+\item Démontrer que la suite $\left(u_n\right)$ est décroissante. \end{enumerate}
+\item Pour tout entier naturel $n$, on considère la suite $\left(v_n\right)$ définie par $v_n = u_n - \np{4000}$.
+ \begin{enumerate}
+ \item Calculer $v_0$.
+ \item Démontrer que la suite $\left(v_n\right)$ est géométrique de raison égale à $0{,}95$.
+ \item En déduire que pour tout entier naturel $n$ :
+\[u_n = \np{4000} + \np{6000} \times 0{,}95^n.\]
+ \item Émettre une conjecture quant à la limite de la suite $\left(u_n\right)$ ?
+ \end{enumerate}
+\item En 2020, une espèce animale comptait \np{10000} individus. L'évolution observée les années précédentes conduit à estimer qu'à partir de l'année 2021, cette population baissera de 5~\% chaque début d'année.
+
+Pour ralentir cette baisse, il a été décidé de réintroduire $200$ individus à la fin de chaque année, à partir de 2021.
+
+Une responsable d'une association soutenant cette stratégie affirme que : \og l'espèce ne devrait pas s'éteindre, mais malheureusement, nous n'empêcherons pas une disparition de plus de la moitié de la population \fg.
+
+Que pensez-vous de cette affirmation ? Justifier la réponse.
+\end{enumerate}
+
+
+
+\exo[Thème : probablités — 4 points]
+
+Selon les autorités sanitaires d'un pays, 7~\% des habitants sont affectés par une certaine maladie.
+
+Dans ce pays, un test est mis au point pour détecter cette maladie. Ce test a les caractéristiques suivantes :
+\begin{itemize}
+\item Pour les individus malades, le test donne un résultat négatif dans $20 \,\%$ des cas ;
+\item Pour les individus sains, le test donne un résultat positif dans $1\,\%$ des cas.
+\end{itemize}
+
+Une personne est choisie au hasard dans la population et testée.
+
+On considère les événements suivants :
+\begin{itemize}
+\item $M$ : \og la personne est malade \fg{} ;
+\item $T$ : \og le test est positif \fg{}.
+\end{itemize}
+
+\begin{enumerate}
+\item Calculer la probabilité de l'événement $M \cap T$. On pourra s'appuyer sur un arbre pondéré.
+\item Démontrer que la probabilité que le test de la personne choisie au hasard soit positif, est de $\np{0,0653}$.
+\item On considère dans cette question que la personne choisie au hasard a eu un test positif.
+Quelle est la probabilité qu'elle soit malade ? On arrondira le résultat à $10^{-2}$.
+\item On choisit des personnes au hasard dans la population. La taille de la population de ce pays permet d'assimiler ce prélèvement à un tirage avec remise.
+
+On note $X$ la variable aléatoire qui donne le nombre d'individus ayant un test positif parmi les 10 personnes.
+ \begin{enumerate}
+ \item Préciser la nature et les paramètres de la loi de probabilité suivie par $X$.
+ \item Déterminer la probabilité pour qu'exactement deux personnes aient un test positif. On arrondira le résultat à $10^{-2}$ près.
+ \end{enumerate}
+\end{enumerate}
+
+\exo[Thème : géométrie dans l'espace — 2 points]
+
+
+
+Dans l'espace rapporté à un repère orthonormé $(O,\vec\imath,\vec\jmath,\vec k)$ , on considère les points
+\[A(-1,-1,3),\qquad B(1,1,2),\qquad C(1,-1,7).\]
+
+On considère également la droite $\Delta$ passant par les points $D(-1,6,8)$ et $E(11,- 9,2)$.
+
+Pour chacune des questions posées, quatre affirmations \textbf{dont une seule est correcte} sont proposées.
+Entourer la bonne réponse directement sur l'énoncé.
+
+Aucune justification n'est attendue.
+
+Une réponse correcte apporte 0,5 point. Une réponse incorrecte ou une absence de réponse n'enlève pas de point.
+
+
+ \begin{enumerate}
+ \item Une représentation paramétrique de la droite $\Delta$ est
+\medskip
+
+\textbf{a.} $\left\{
+ \begin{aligned}
+ x&= -1 + 11t\\
+ y&= 6 - 9t\\
+ z&= 8 +2t\\
+ \end{aligned} \right.~(t \in \symbb{R})$
+ \hfill
+\textbf{b.} $\left\{
+ \begin{aligned}
+ x&= -1 + 4t\\
+ y&= 6 - 5t\\
+ z&= 8 -2t\\
+ \end{aligned} \right.~(t \in \symbb{R})$
+ \hfill
+\textbf{c.} $\left\{
+ \begin{aligned}
+ x&= 11 -t\\
+ y&= - 9+6t\\
+ z&= 2 +8t\\
+ \end{aligned} \right.~(t \in \symbb{R})$
+ \hfill
+ \textbf{d.}
+ $\left\{
+ \begin{aligned}
+ x&= 4 -t\\
+ y&= -5 +6t\\
+ z&= -2 + 8 t\\
+ \end{aligned} \right.~(t \in \symbb{R})$\hfill\null
+
+\bigskip
+
+ \item Lequel de ces points appartient-il à la droite $\Delta$ ?
+
+\medskip
+
+ \textbf{a.} Le point $F(-3,1,6)$
+ \hfill \textbf{b.} Le point $G (5,\:-1{,}5,\:5)$
+ \hfill \textbf{c.} Le point $H (10,-3,10)$
+ \hfill \textbf{d.} Le point $K (12,-15,-6)$
+
+\bigskip
+
+ \item Pour savoir si les points $A$, $B$ et $C$ définissent un plan, il faut vérifier que $\overrightarrow{AB}$ et $\overrightarrow{AC}$ :
+
+\medskip
+
+ \textbf{a.} sont colinéaires.
+ \hfill \textbf{b.} sont coplanaires.
+ \hfill \textbf{c.} ne sont pas colinéaires.
+ \hfill \textbf{d.} ne sont pas coplanaires.
+
+\bigskip
+
+ \item La droite $\Delta$ et le plan (ABC) :
+
+\medskip
+
+ \begin{tabular}{ll}
+ \textbf{a.} sont strictement parallèles.
+ &\textbf{b.} ont une infinité de points communs.\\[12pt]
+ \textbf{c.} sont sécants en $I(-13,21,14)$
+ &\textbf{d.} sont sécants en $J(3,1,6)$
+ \end{tabular}
+
+ \bigskip
+
+\item Les droites $\delta$ et $\delta'$ de représentations paramétriques respectives :
+
+ $ \delta : \left\{
+ \begin{aligned}
+ x&= -1 + 11k\\
+ y&= 6 - 9k\\
+ z&= 8 +2k\\
+ \end{aligned} \right.~(k \in \symbb{R})$
+ \quad et\quad $\delta' : \left\{
+ \begin{aligned}
+ x&= 11 -\ell\\
+ y&= - 9+6\ell\\
+ z&= 2 +8\ell\\
+ \end{aligned} \right.~(\ell \in \symbb{R})$\quad sont :
+
+ \medskip
+
+ \begin{tabular}{ll}
+ \textbf{a.} sécantes au point de coordonnées $(1,1,1)$.
+ & \textbf{b.} sécantes au point de coordonnées $(-12,15,6)$.\\[12pt]
+ \textbf{c.} sécantes en un autre point
+ &\textbf{d.} non sécantes.
+ \end{tabular}
+
+
+\end{enumerate}
+
+\end{document} \ No newline at end of file
diff --git a/macros/luatex/latex/tango/lualatex/tango.cls b/macros/luatex/latex/tango/lualatex/tango.cls
new file mode 100644
index 0000000000..f188200b4c
--- /dev/null
+++ b/macros/luatex/latex/tango/lualatex/tango.cls
@@ -0,0 +1,2182 @@
+\NeedsTeXFormat{LaTeX2e}%
+\ProvidesClass{tango}%
+[2024/07/15 v0.8.0 tango document class. Michel Bovani]% %
+%
+% Ensure luatex engine
+\RequirePackage{iftex}[2019/10/24]
+\RequireLuaTeX
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand\TgoTempa{}
+\newcommand\TgoTempb{}
+\newcommand\TgoTempc{}
+\newcommand\TgoSmallerSize{}
+\newcommand\TgoStatementNumberSuffix{}
+\newcommand\TgoStatementNumberPrefix{}
+\newcommand\TgoStatementSuffix{}
+\newcommand\TgoStatementName{}
+\newcommand\TgoTheoremName{Theorem}
+\newcommand\TgoDefinitionName{Definition}
+\newcommand\TgoPropositionName{Proposition}
+\newcommand\TgoLemmaName{Lemma}
+\newcommand\TgoCorollaryName{Corollary}
+\newcommand\TgoRemarkName{Remark}
+\newcommand\TgoExampleName{Example}
+\newcommand\TgoContentsName{Contents}
+\newcommand\TgoExerciseName{Exercise}
+\newcommand\TgoExercisesSubsectionName{Exercises}
+\newcommand\TgoExercisesSectionName{Exercises}
+\newcommand\TgoPublicationClass{article}
+\newcommand\TgoStatementIndent{\indent}
+\newif\ifTgoFrenchLanguage
+\newif\ifTgoNGermanLanguage
+\newif\ifTgoGermanLanguage
+\newif\ifTgoNAustrianLanguage
+\newif\ifTgoNSwissGermanLanguage
+\newif\ifTgoItalianLanguage
+\newif\ifTgoSpanishLanguage
+\newif\ifTgoEnglishLanguage
+\newif\ifTgoBritishLanguage
+\newif\ifTgoAmericanLanguage
+\newif\ifTgoCanadianLanguage
+\newif\ifTgoAustralianLanguage
+\newif\ifTgoNewZealandLanguage
+\newif\ifTgoNoStatement
+\newif\ifTgoBook
+\newif\ifTgoOneSide\TgoOneSidetrue
+\newif\ifTgoAfourPaperOutput\TgoAfourPaperOutputtrue
+\newif\ifTgoLetterOutput
+\newif\ifTgoBigTabletOutput
+\newif\ifTgoAfivePaperOutput
+\newif\ifTgoTabletOutput
+\newif\ifTgoSmallTabletOutput
+\newif\ifTgoeReaderOutput
+\newif\ifTgoSmartphoneOutput
+\newif\ifTgoSmallerSizeCommand
+\newif\ifTgoTitleIndentZero\TgoTitleIndentZerotrue
+\newcommand\TgoChapterTitleFont{RobotoCondensedBold}
+\NewDocumentCommand\TgoStatementNameOffset{}{}
+\NewDocumentCommand\SetTgoBaseFonts{}{%
+ \setmainfont{erewhon}%
+ \setmathfont{Erewhon Math}%
+ }%
+ \newlength\TgoAfterChapterSkip
+ \newlength\TgoStandardMargin
+ \newlength\TgoStatementParindent
+ \newlength\TgoTitleIndent
+ %%%
+\AddToHook{package/xcolor/after}
+{%
+\definecolor{ColorOne}{rgb}{0.15,0.15,0.15}
+\definecolor{ColorTwo}{rgb}{0.93,0.93,0.93}
+}
+\AddToHook{class/article/after}{%
+\TgoTenPointsFonts}
+\AddToHook{class/book/after}{%
+\TgoTenPointsFonts}
+%%
+%
+ %%
+ \DeclareKeys[tango]{
+ %%%%%% languages,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ french.code= {%
+ \TgoFrenchLanguagetrue
+ \TgoTitleIndentZerofalse
+ },
+ ngerman.code= {%
+ \TgoNGermanLanguagetrue
+ },
+ german.code= {%
+ \TgoGermanLanguagetrue
+ },
+naustrian.code= {%
+ \TgoNAustrianLanguagetrue
+ },
+nswissgerman.code= {%
+ \TgoNSwissGermanLanguagetrue
+ },
+ italian.code= {%
+ \TgoItalianLanguagetrue
+ },
+ spanish.code= {%
+ \TgoSpanishLanguagetrue
+ },
+english.code= {%
+ \TgoEnglishLanguagetrue
+ },
+british.code= {%
+ \TgoBritishLanguagetrue
+ },
+american.code= {%
+ \TgoAmericanLanguagetrue
+ },
+canadian.code= {%
+ \TgoCanadianLanguagetrue
+ },
+australian.code= {%
+ \TgoAustralianLanguagetrue
+ },
+newzealand.code= {%
+ \TgoNewZealandLanguagetrue
+ },
+ %%%%%% Default Statements %%%%%%%%%%%%%%%%%%%%%%%%
+ no-statement.if = TgoNoStatement,
+ %%%%%% No Hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%
+ no-hyperref.if = TgoNoHyperref,
+ %%%%%% Parindentzero %%%%%%%%%%%%%%%%%%%%%%%%%%%
+ no-indent.if = TgoParindentZero,
+ indent.ifnot = TgoParindentZero,
+%%%%%% Parindentzero %%%%%%%%%%%%%%%%%%%%%%%%%%%
+ no-titleindent.if = TgoTitleIndentZero,
+ titleindent.ifnot = TgoTitleIndentZero,
+ %%%%%% ThmNamePos left/right %%%%%%%%%%%%%%%%%%%%%%%
+ ThmNamePos.choice:,
+ ThmNamePos / left.code:n =
+ {
+ \RenewDocumentCommand\TgoStatementNameOffset{}{}
+ },
+ ThmNamePos / right.code:n =
+ {
+ \RenewDocumentCommand\TgoStatementNameOffset{}{\hspace*{\fill}}
+ },
+%%%% book or article %%%%%%%%%%%%%%%%%%%%%%%%%%%
+PubliClass.choice:,
+PubliClass / article.code:n =
+{%
+\renewcommand\TgoPublicationClass{article}
+\TgoBookfalse
+},
+PubliClass / book.code:n =
+{%
+\renewcommand\TgoPublicationClass{book}
+\TgoBooktrue
+},
+%%%% oneside or two sides %%%%%%%%%%%%%%%%%%%%%%%%
+oneside.if = TgoOneSide ,
+twoside.ifnot = TgoOneSide ,
+%%%% Font Size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+FontSize.choice:,
+FontSize / 9pt.code:n =
+{
+\RemoveFromHook{class/article/after}
+\AddToHook{class/article/after}{%
+\TgoNinePointsFonts}
+\RemoveFromHook{class/book/after}
+\AddToHook{class/book/after}{%
+\TgoNinePointsFonts}
+},
+FontSize / 10pt.code:n =
+{
+\RemoveFromHook{class/article/after}
+\AddToHook{class/article/after}{%
+\TgoTenPointsFonts}
+\RemoveFromHook{class/book/after}
+\AddToHook{class/book/after}{%
+\TgoTenPointsFonts}
+},
+FontSize / 11pt.code:n =
+{
+\RemoveFromHook{class/article/after}
+\AddToHook{class/article/after}{%
+\TgoElevenPointsFonts}
+\RemoveFromHook{class/book/after}
+\AddToHook{class/book/after}{%
+\TgoElevenPointsFonts}
+},
+FontSize / 12pt.code:n =
+{
+\RemoveFromHook{class/article/after}
+\AddToHook{class/article/after}{%
+\TgoTwelvePointsFonts}
+\RemoveFromHook{class/book/after}
+\AddToHook{class/book/after}{%
+\TgoTwelvePointsFonts}
+},
+FontSize / unknown.code:n =
+{
+ \ClassWarning{tango}{\MessageBreak Value #1 is unknown \MessageBreak
+ Possible choices are 9pt, 10pt, 11pt and 12pt.
+ \MessageBreak Selecting 10pt.}
+},
+%%%% ColorTheme %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ColorTheme.choice:,
+ColorTheme / Blue.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+ \definecolor{ColorOne}{rgb}{0.08, 0.05, 0.55}
+ \definecolor{ColorTwo}{rgb}{0.87, 0.94, 0.97}
+ }
+},
+ ColorTheme / Navy.code:n =
+ {%
+ \RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+ \definecolor{ColorOne}{rgb}{0.07, 0.37, 0.65}
+ \definecolor{ColorTwo}{rgb}{0.87, 0.95, 0.97}
+ }
+ },
+ColorTheme / USAF.code:n =
+ {%
+ \RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+ \definecolor{ColorOne}{rgb}{0.24, 0.41, 0.54}
+ \definecolor{ColorTwo}{rgb}{0.92, 0.94, 0.96}
+ }
+ },
+ ColorTheme / Azur.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.15, 0.32, 0.75}
+\definecolor{ColorTwo}{rgb}{0.88, 0.94, 0.97}
+}
+},
+ ColorTheme / Red.code:n =
+ {%
+ \RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.75,0.05,0.1}
+\definecolor{ColorTwo}{rgb}{1,0.94,0.9}
+}
+ },
+ ColorTheme / Framboise.code:n =
+ {%
+ \RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.64, 0.25, 0.45}
+\definecolor{ColorTwo}{rgb}{1, 0.95, 0.94}
+}
+ },
+ ColorTheme / Brique.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.68, 0.1, 0.0}
+\definecolor{ColorTwo}{rgb}{1, 0.95, 0.89}
+}
+},
+ ColorTheme / Sienne.code:n =
+ {%
+ \RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.55, 0.27, 0.1}
+\definecolor{ColorTwo}{rgb}{1, 0.95, 0.87}
+ }
+ },
+ ColorTheme / Caramel.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.66, 0.26, 0.0}
+\definecolor{ColorTwo}{rgb}{1, 0.96, 0.86}
+}
+},
+ ColorTheme / Olive.code:n =
+ {%
+ \RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.28, 0.43, 0.03}
+\definecolor{ColorTwo}{rgb}{0.95, 0.98, 0.9}
+}
+ },
+ ColorTheme / Tannen.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.09, 0.44, 0.28}
+\definecolor{ColorTwo}{rgb}{0.92, 0.97, 0.94}
+}
+},
+ ColorTheme / GrayGray.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.25,0.25,0.25}
+\definecolor{ColorTwo}{rgb}{0.95,0.95,0.95}
+}
+},
+ ColorTheme / BlackAndWhite.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0,0,0}
+\definecolor{ColorTwo}{rgb}{1,1,1}
+}
+},
+ ColorTheme / Ink.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.25, 0.25, 0.33}
+\definecolor{ColorTwo}{rgb}{0.94, 0.95, 0.97}
+}
+},
+ ColorTheme / Steel.code:n =
+{%
+\RemoveFromHook{package/xcolor/after}
+ \AddToHook{package/xcolor/after}%
+{ %
+\definecolor{ColorOne}{rgb}{0.27, 0.25, 0.2}
+\definecolor{ColorTwo}{rgb}{0.96, 0.96, 0.93}
+}
+},
+ ColorTheme / unknown.code:n =
+ {
+ \ClassWarning{tango}{\MessageBreak “ColorTheme” #1 is unknown!\MessageBreak
+Possible choices are: \MessageBreak
+Blue, Navy, USAF, Azur, Red, Framboise, Brique,
+ \MessageBreak Sienne, Caramel, Olive, Tannen, GrayGray, BlackAndWhite, Ink and Steel.
+\MessageBreak Stay in GrayGray}
+},
+%%%% User defined colors %%%%%%%%%%%%%%%%%%%%%%%%
+ColorOne.code = \AddToHook{package/xcolor/after}{\definecolor{ColorOne}#1},
+ColorTwo.code = \AddToHook{package/xcolor/after}{\definecolor{ColorTwo}#1},
+ColorOneNamed.code = \AddToHook{package/xcolor/after}{\colorlet{ColorOne}{#1}},
+ColorTwoNamed.code = \AddToHook{package/xcolor/after}{\colorlet{ColorTwo}{#1}},
+%%%% Output %%%%%%%%%%%%%%%%%%%%%%%%%%
+ Output.choice:,
+ Output / A4paper.code:n =
+ {
+\TgoAfourPaperOutputtrue
+ },
+Output / Letter.code:n =
+{
+\TgoLetterOutputtrue
+\TgoBigTabletOutputtrue
+\TgoAfourPaperOutputfalse
+},
+Output / BigTablet.code:n =
+ {
+\TgoBigTabletOutputtrue
+\TgoAfourPaperOutputfalse
+ },
+Output / A5paper.code:n =
+ {
+\TgoAfivePaperOutputtrue
+\TgoTabletOutputtrue
+\TgoAfourPaperOutputfalse
+ },
+Output / Tablet.code:n =
+ {
+\TgoTabletOutputtrue
+\TgoAfourPaperOutputfalse
+ },
+Output / SmallTablet.code:n =
+ {
+\TgoSmallTabletOutputtrue
+\TgoAfourPaperOutputfalse
+ },
+Output / eReader.code:n =
+ {
+\TgoeReaderOutputtrue
+\TgoAfourPaperOutputfalse
+ },
+Output / Smartphone.code:n =
+ {
+\TgoSmartphoneOutputtrue
+\TgoAfourPaperOutputfalse
+ },
+ Output / unknown.code:n =
+ {
+ \ClassWarning{tango}{\MessageBreak Value #1 is unknown \MessageBreak
+ Possible choices are A4paper, A5paper, Letter, BigTablet,\MessageBreak
+ Tablet, SmallTablet, eReader and Smartphone.
+ \MessageBreak Selecting A4paper.}
+\TgoAfourPaperOutputtrue
+ },
+ %%%%% Stylistic Set %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ StylisticSet.multichoice:,
+ StylisticSet / upint.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{RawFeature=+ss03}}
+ },
+ StylisticSet / leqslant.code:n =
+ {
+\AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{RawFeature=+ss04}}
+ },
+StylisticSet / smaller.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{RawFeature=+ss05}}
+ },
+StylisticSet / subsetneq.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{RawFeature=+ss06}}
+ },
+StylisticSet / parallelslant.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{RawFeature=+ss07}}
+ },
+ %%%%%%% Character Variants %%%%%%%%%%%%%%%%%%%%%%%%%%
+ CharacterVariant.multichoice:,
+ CharacterVariant / zero.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=0}}
+ },
+ CharacterVariant / hslash.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{CharacterVariant=1}}
+ },
+ CharacterVariant / emptyset.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{CharacterVariant=2}}
+ },
+ CharacterVariant / epsilon.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=3}}
+ },
+ CharacterVariant / kappa.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=4}}
+ },
+ CharacterVariant / pi.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=5}}
+ },
+ CharacterVariant / phi.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=6}}
+ },
+ CharacterVariant / rho.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=7}}
+ },
+ CharacterVariant / sigma.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=8}}
+ },
+ CharacterVariant / theta.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+{ \defaultfontfeatures+[Erewhon Math]{CharacterVariant=9}}
+ },
+CharacterVariant / Theta.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{CharacterVariant=10}}
+ },
+CharacterVariant / partial.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ {\defaultfontfeatures+[Erewhon Math]{CharacterVariant=11}}
+ },
+CharacterVariant / Ecal.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=20}}
+ },
+CharacterVariant / Qcal.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=21}}
+ },
+CharacterVariant / Tcal.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+ { \defaultfontfeatures+[Erewhon Math]{CharacterVariant=22}}
+ },
+ %%%%%%% Numbers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ Numbers.choice:,
+ Numbers / MathOldStyle.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+{\defaultfontfeatures+[Erewhon Math]{Numbers=OldStyle}}
+ },
+ Numbers / TextOldStyle.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+{ \defaultfontfeatures+[erewhon]{Numbers=OldStyle}}
+ },
+Numbers / OldStyle.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+{ \defaultfontfeatures+{Numbers=OldStyle}
+ \defaultfontfeatures+[Erewhon Math]{RawFeature=-onum}}
+ },
+ Numbers / FullOldStyle.code:n =
+ {
+ \AddToHook{package/fontspec/after}%
+{ \defaultfontfeatures+{Numbers=OldStyle}}
+ },
+ %%%% usage
+ french.usage=load,
+ no-statement.usage=load,
+ no-hyperref.usage=load,
+ indent.usage=load,
+no-indent.usage=load,
+ThmNamePos.usage=general,
+oneside.usage=load,
+twoside.usage=load,
+PubliClass.usage=load,
+FontSize.usage=general,
+ColorTheme.usage=general,
+ColorOne.usage=general,
+ColorTwo.usage=general,
+Output.usage=load,
+StylisticSet.usage=load,
+CharacterVariant.usage=load,
+Numbers.usage=load
+}
+%%%%%
+\ProcessKeyOptions[tango]
+%%%%%
+\NewDocumentCommand\tgosetup{}{\SetKeys[tango]}
+%%%%%%%%
+%%%%%%% 10pt %%%%%%%%%%%%%
+\NewDocumentCommand\TgoTenPointsFonts{}{%
+\renewcommand\TgoSmallerSize{%
+\TgoSmallerSizeCommandtrue%
+\tgosetup{FontSize=9pt}%
+\TgoSmallerSizeCommandfalse%
+}%
+\renewcommand\normalsize{%
+ \fontsize{10}{12.7}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip{4.5pt plus 2.5pt minus 1.5pt}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI%
+ }%
+\normalsize%
+\ifTgoSmallerSizeCommand%
+\else%
+\setlength\TgoStandardMargin{1.5em}%
+\fi%
+\ifx\MakeRobust\@undefined \else%
+ \MakeRobust\normalsize%
+\fi%
+\DeclareRobustCommand\small{%
+ \fontsize{9}{11.45}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip {0pt plus 3pt}%
+ \setlength\belowdisplayshortskip {4pt plus 2pt minus 2pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus2\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength \belowdisplayskip {\abovedisplayskip}%
+ \let\@listi\@listI%
+ }%
+\DeclareRobustCommand\footnotesize{%
+ \fontsize{8}{10.2}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 2pt minus 4pt}%
+ \setlength\abovedisplayshortskip{0pt plus 1 pt}%
+ \setlength\belowdisplayshortskip{3pt plus 2pt minus 1 pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength \belowdisplayskip {\abovedisplayskip}%
+ }%
+\DeclareRobustCommand\scriptsize{\fontsize{7}{8.9}\selectfont}%
+\DeclareRobustCommand\tiny{\fontsize{5}{6.4}\selectfont}%
+\DeclareRobustCommand\large{\fontsize{11.5}{14.6}\selectfont}%
+\DeclareRobustCommand\Large{\fontsize{14}{17}\selectfont}%
+\DeclareRobustCommand\LARGE{\fontsize{17}{20}\selectfont}%
+\DeclareRobustCommand\huge{\fontsize{20}{23}\selectfont}%
+\DeclareRobustCommand\Huge{\fontsize{24}{27}\selectfont}%
+\DeclareRobustCommand\HUGE{\fontsize{58}{58}\selectfont}%
+}%
+%%%%%%%%%%%%%% 11pt %%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand\TgoElevenPointsFonts{}{%
+\renewcommand\TgoSmallerSize{%
+\TgoSmallerSizeCommandtrue%
+\tgosetup{FontSize=10pt}%
+\TgoSmallerSizeCommandfalse%
+}%
+\renewcommand\normalsize{%
+ \fontsize{11}{13.9}\selectfont%
+ \setlength\abovedisplayskip {6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip {4.5pt plus 2.5pt minus 2 pt}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI}%
+\normalsize%
+\ifTgoSmallerSizeCommand%
+\else%
+\setlength\TgoStandardMargin{1.5em}%
+\fi%
+\ifx\MakeRobust\@undefined \else%
+ \MakeRobust\normalsize%
+\fi%
+\DeclareRobustCommand\small{%
+ \fontsize{10}{12.7}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip {4pt plus 2 pt minus 2pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus2\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI%
+ }%
+\DeclareRobustCommand\footnotesize{%
+ \fontsize{9}{11.35}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 2pt minus 4pt}%
+ \setlength\abovedisplayshortskip{0pt plus 1pt}%
+ \setlength\belowdisplayshortskip{3pt plus 2pt minus 1pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+}%
+\DeclareRobustCommand\scriptsize{\fontsize{8}{10.2}\selectfont}%
+\DeclareRobustCommand\tiny{\fontsize{6}{7.6}\selectfont}%
+\DeclareRobustCommand\large{\fontsize{13}{15.85}\selectfont}%
+\DeclareRobustCommand\Large{\fontsize{15}{18}\selectfont}%
+\DeclareRobustCommand\LARGE{\fontsize{18}{21}\selectfont}%
+\DeclareRobustCommand\huge{\fontsize{21}{24}\selectfont}%
+\DeclareRobustCommand\Huge{\fontsize{24}{27}\selectfont}%
+\DeclareRobustCommand\HUGE{\fontsize{60}{60}\selectfont}%
+}%
+%%%%%%% 12pt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand\TgoTwelvePointsFonts{}{%
+\renewcommand\TgoSmallerSize{%
+\TgoSmallerSizeCommandtrue%
+\tgosetup{FontSize=11pt}%
+\TgoSmallerSizeCommandfalse%
+}%
+\renewcommand\normalsize{%
+ \fontsize{12}{15.1}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip {4.5pt plus 2.5pt minus2pt}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI}%
+\normalsize%
+\ifTgoSmallerSizeCommand%
+\else%
+\setlength\TgoStandardMargin{1.5em}%
+\fi%
+\ifx\MakeRobust\@undefined \else%
+ \MakeRobust\normalsize%
+\fi%
+\DeclareRobustCommand\small{%
+ \fontsize{11}{13.9}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip{4pt plus 2pt minus 2pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus2\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI%
+ }%
+\DeclareRobustCommand\footnotesize{%
+ \fontsize{10}{12.7}\selectfont%
+ \setlength\abovedisplayskip {6pt plus 2pt minus 4pt}%
+ \setlength\abovedisplayshortskip{0pt plus 1pt}%
+ \setlength\belowdisplayshortskip{3pt plus 2pt minus 1pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+}%
+\DeclareRobustCommand\scriptsize{\fontsize{9}{11.45}\selectfont}%
+\DeclareRobustCommand\tiny{\fontsize{7}{8.9}\selectfont}%
+\DeclareRobustCommand\large{\fontsize{14.2}{16.85}\selectfont}%
+\DeclareRobustCommand\Large{\fontsize{16.5}{19.2}\selectfont}%
+\DeclareRobustCommand\LARGE{\fontsize{19.2}{22}\selectfont}%
+\DeclareRobustCommand\huge{\fontsize{22}{25}\selectfont}%
+\DeclareRobustCommand\Huge{\fontsize{25}{28}\selectfont}%
+\DeclareRobustCommand\HUGE{\fontsize{63}{63}\selectfont}%
+}%
+%%
+%%%%%%% 9pt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NewDocumentCommand\TgoNinePointsFonts{}{%
+\renewcommand\TgoSmallerSize{}
+\renewcommand\normalsize{%
+ \fontsize{9}{11.45}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip{4.5pt plus 2.5pt minus 2pt}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI}%
+\normalsize%
+\setlength\TgoStandardMargin{1.5em}%
+\ifx\MakeRobust\@undefined\else%
+ \MakeRobust\normalsize%
+\fi%
+\DeclareRobustCommand\small{%
+ \fontsize{8}{10.25}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 3pt minus 2pt}%
+ \setlength\abovedisplayshortskip{0pt plus 3pt}%
+ \setlength\belowdisplayshortskip{4pt plus 2pt minus 2pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 6\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus2\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+ \let\@listi\@listI%
+ }%
+\DeclareRobustCommand\footnotesize{%
+ \fontsize{7}{9}\selectfont%
+ \setlength\abovedisplayskip{6pt plus 2pt minus 4pt}%
+ \setlength\abovedisplayshortskip{0pt plus 1pt}%
+ \setlength\belowdisplayshortskip{3pt plus 2pt minus 1pt}%
+ \def\@listi{\leftmargin\leftmargini%
+ \topsep 4\p@ \@plus2\p@ \@minus2\p@%
+ \parsep 2\p@ \@plus\p@ \@minus\p@%
+ \itemsep \parsep}%
+ \setlength\belowdisplayskip{\abovedisplayskip}%
+}%
+\DeclareRobustCommand\scriptsize{\fontsize{6}{7.7}\selectfont}%
+\DeclareRobustCommand\tiny{\fontsize{5}{6.4}\selectfont}%
+\DeclareRobustCommand\large{\fontsize{10.3}{13}\selectfont}%
+\DeclareRobustCommand\Large{\fontsize{12.7}{15.4}\selectfont}%
+\DeclareRobustCommand\LARGE{\fontsize{15.2}{17.3}\selectfont}%
+\DeclareRobustCommand\huge{\fontsize{18}{20}\selectfont}%
+\DeclareRobustCommand\Huge{\fontsize{20}{24}\selectfont}%
+\DeclareRobustCommand\HUGE{\fontsize{52}{52}\selectfont}%
+}%
+%%
+%%
+\ifTgoOneSide%
+ \LoadClass[oneside]{\TgoPublicationClass}%
+ \else%
+ \LoadClass[twoside]{\TgoPublicationClass}%
+\fi%
+%%%%%%%%%%%
+\RequirePackage{xcolor}
+%%%%
+\RequirePackage{mathtools}
+\RequirePackage{amsthm}
+%%%%
+\RequirePackage{graphicx,microtype,geometry,enumitem,float,afterpage}
+%
+\RequirePackage{titletoc}
+%
+\RequirePackage[pagestyles,toctitles,newlinetospace,clearempty,noindentafter]{titlesec}
+%
+%
+\assignpagestyle{\chapter}{empty}
+\assignpagestyle{\part}{empty}
+\RequirePackage{ccaption,caption}
+\DeclareCaptionLabelFormat{tango}{\sffamily\fontseries{sb}\selectfont#1\nobreakspace#2}
+\captionsetup{font={sf,small},labelformat=tango,labelfont={color=ColorOne}}
+\newfixedcaption{\tgofigcaption}{figure}
+\newfixedcaption{\tgotabcaption}{table}
+ %%% Fontes
+ %%
+ \RequirePackage{fontspec}
+\RequirePackage{unicode-math}[2020/01/31]
+ \defaultfontfeatures+{Ligatures=TeX,RawFeature={+pnum}}
+%
+ \SetTgoBaseFonts
+ %%
+ \thinmuskip=2.5mu
+ \medmuskip=3mu plus 1mu minus 3mu
+ \thickmuskip=4mu plus 3mu minus 0.5mu
+ %%
+\setmonofont{Inconsolatazi4}[Scale=MatchLowercase]
+%
+ \setsansfont{NotoSans}[%
+ Scale=0.9,
+ Ligatures=TeX,
+ UprightFeatures={
+Font=NotoSansMedium
+},
+ItalicFeatures={
+Font=NotoSansMediumItalic
+},
+BoldFeatures={
+Font=NotoSansBold
+},
+BoldItalicFeatures={
+Font=NotoSansBoldItalic
+},
+FontFace={ul}{n}{Font=NotoSansThin},
+FontFace={ul}{it}{Font=NotoSansThinItalic},
+FontFace={el}{n}{Font=NotoSansExtraLight},
+FontFace={el}{it}{Font=NotoSansExtraLightItalic},
+FontFace={l}{n}{Font=NotoSansLight},
+FontFace={l}{it}{Font=NotoSansLightItalic},
+FontFace={sl}{n}{Font=NotoSansRegular},
+FontFace={sl}{it}{Font=NotoSansItalic},
+FontFace={sb}{n}{Font=NotoSansSemiBold},
+FontFace={sb}{it}{Font=NotoSansSemiBoldItalic},
+FontFace={eb}{n}{Font=NotoSansExtraBold},
+FontFace={eb}{it}{Font=NotoSansExtraBoldItalic},
+FontFace={ub}{n}{Font=NotoSansBlack},
+FontFace={ub}{it}{Font=NotoSansBlackItalic},
+]
+%%
+\DeclareFontSeriesDefault[sf]{md}{sl}
+%
+%
+\RequirePackage{fourier-orns}%
+%
+%% OTF Fonts Commands
+%%
+\NewDocumentCommand{\superiors}{}{\addfontfeature{RawFeature=+sups}}
+\NewDocumentCommand{\scinferiors}{}{\addfontfeature{RawFeature=+sinf}}
+\NewDocumentCommand{\smartfracs}{}{\addfontfeature{RawFeature=+frac}}
+\NewDocumentCommand{\fullsc}{m}{{\addfontfeature{RawFeature=+c2sc}\MakeUppercase{#1}}}
+\DeclareTextFontCommand{\textsup}{\superiors}
+\DeclareTextFontCommand{\textscinf}{\scinferiors}
+\DeclareTextFontCommand{\smartfrac}{\smartfracs}
+\NewDocumentCommand{\olddigits}{}{\addfontfeature{RawFeature={-lnum,+onum}}}
+\NewDocumentCommand{\propdigits}{}{\addfontfeature{RawFeature={-tnum,+pnum}}}
+\NewDocumentCommand{\liningdigits}{}{\addfontfeature{RawFeature={-onum,+lnum}}}
+\NewDocumentCommand{\tabulardigits}{}{\addfontfeature{RawFeature={-pnum,+tnum}}}
+%
+ %
+ %%%%%%%% My taylor is rich %%%%%%%%%%%
+%
+\RequirePackage{iflang}
+\RequirePackage{babel}
+\IfLanguageName{nil}{%
+\ClassError{tango}{No language option is given}
+{%
+You *must* pass at least one language\MessageBreak
+option for babel to the tango class.}
+}{}
+%
+%
+\ifTgoFrenchLanguage
+\frenchsetup{StandardLists,og=«, fg=»,PartNameFull=false,
+SmallCapsFigTabCaptions=false,
+CustomiseFigTabCaptions=false}
+\addto\captionsfrench{% DF
+\renewcommand\TgoTheoremName{Théorème}
+\renewcommand\TgoDefinitionName{Définition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemme}
+\renewcommand\TgoCorollaryName{Corollaire}
+\renewcommand\TgoRemarkName{Remarque}
+\renewcommand\TgoExampleName{Exemple}
+\renewcommand\TgoContentsName{Sommaire}
+\renewcommand\TgoExerciseName{Exercice}
+\renewcommand\TgoExercisesSubsectionName{Exercices}
+\renewcommand\TgoExercisesSectionName{Exercices}
+}
+\fi
+%%%
+\ifTgoNGermanLanguage
+\addto\captionsngerman{%
+\renewcommand\TgoTheoremName{Satz}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Korollar}%% ????
+\renewcommand\TgoRemarkName{Bemerkung}
+\renewcommand\TgoExampleName{Beispiel}
+\renewcommand\TgoContentsName{Inhaltsverzeichnis}
+\renewcommand\TgoExerciseName{Übung}
+\renewcommand\TgoExercisesSubsectionName{Übungen}
+\renewcommand\TgoExercisesSectionName{Übungen}
+}
+\fi
+%
+%%%
+\ifTgoGermanLanguage
+\addto\captionsgerman{%
+\renewcommand\TgoTheoremName{Satz}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Korollar}%% ????
+\renewcommand\TgoRemarkName{Bemerkung}
+\renewcommand\TgoExampleName{Beispiel}
+\renewcommand\TgoContentsName{Inhaltsverzeichnis}
+\renewcommand\TgoExerciseName{Übung}
+\renewcommand\TgoExercisesSubsectionName{Übungen}
+\renewcommand\TgoExercisesSectionName{Übungen}
+}
+\fi
+%
+%%%
+\ifTgoNAustrianLanguage
+\addto\captionsnaustrian{%
+\renewcommand\TgoTheoremName{Satz}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Korollar}%% ????
+\renewcommand\TgoRemarkName{Bemerkung}
+\renewcommand\TgoExampleName{Beispiel}
+\renewcommand\TgoContentsName{Inhaltsverzeichnis}
+\renewcommand\TgoExerciseName{Übung}
+\renewcommand\TgoExercisesSubsectionName{Übungen}
+\renewcommand\TgoExercisesSectionName{Übungen}
+}
+\fi
+%
+%%%
+\ifTgoNSwissGermanLanguage
+\addto\captionsnswissgerman{%
+\renewcommand\TgoTheoremName{Satz}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Korollar}%% ????
+\renewcommand\TgoRemarkName{Bemerkung}
+\renewcommand\TgoExampleName{Beispiel}
+\renewcommand\TgoContentsName{Inhaltsverzeichnis}
+\renewcommand\TgoExerciseName{Übung}
+\renewcommand\TgoExercisesSubsectionName{Übungen}
+\renewcommand\TgoExercisesSectionName{Übungen}
+}
+\fi
+%
+%%%
+\ifTgoItalianLanguage
+\addto\captionsitalian{%
+\renewcommand\TgoTheoremName{Teorema}
+\renewcommand\TgoDefinitionName{Definizione}
+\renewcommand\TgoPropositionName{Proposizione}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollario}
+\renewcommand\TgoRemarkName{Nota}%%????
+\renewcommand\TgoExampleName{Esempio}
+\renewcommand\TgoContentsName{Sommario}%%Contenuti????
+\renewcommand\TgoExerciseName{Esercizio}
+\renewcommand\TgoExercisesSubsectionName{Esercizi}
+\renewcommand\TgoExercisesSectionName{Esercizi}
+}
+\fi
+%
+%%%
+\ifTgoSpanishLanguage
+\addto\captionsspanish{%
+\renewcommand\TgoTheoremName{Teorema}
+\renewcommand\TgoDefinitionName{Definición}
+\renewcommand\TgoPropositionName{Proposición}
+\renewcommand\TgoLemmaName{Lema}
+\renewcommand\TgoCorollaryName{Corolario}
+\renewcommand\TgoRemarkName{Osservación}%%????
+\renewcommand\TgoExampleName{Ejemplo}
+\renewcommand\TgoContentsName{Sumario}%%????
+\renewcommand\TgoExerciseName{Ejercicio}
+\renewcommand\TgoExercisesSubsectionName{Ejercicios}
+\renewcommand\TgoExercisesSectionName{Ejercicios}
+}
+\fi
+%
+%%%
+\ifTgoEnglishLanguage
+\addto\captionsenglish{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoBritishLanguage
+\addto\captionsbritish{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoAmericanLanguage
+\addto\captionsamerican{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoCanadianLanguage
+\addto\captionscanadian{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoAustralianLanguage
+\addto\captionsaustralian{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%%
+\ifTgoNewZealandLanguage
+\addto\captionsnewzealand{%
+\renewcommand\TgoTheoremName{Theorem}
+\renewcommand\TgoDefinitionName{Definition}
+\renewcommand\TgoPropositionName{Proposition}
+\renewcommand\TgoLemmaName{Lemma}
+\renewcommand\TgoCorollaryName{Corollary}
+\renewcommand\TgoRemarkName{Remark}
+\renewcommand\TgoExampleName{Example}
+\renewcommand\TgoContentsName{Contents}
+\renewcommand\TgoExerciseName{Exercise}
+\renewcommand\TgoExercisesSubsectionName{Exercises}
+\renewcommand\TgoExercisesSectionName{Exercises}
+}
+\fi
+%
+%%% Last package
+\ifTgoNoHyperref
+\else
+\RequirePackage[colorlinks,linkcolor=ColorOne,urlcolor=ColorOne]{hyperref}
+\fi
+%%
+ %%%
+%%%%%%% parindent %%%%%%%%%%%%%%%%%%%%%%%%
+\setlength\parindent{\TgoStandardMargin}
+\setlength{\parskip}{0pt plus 1pt}
+\ifTgoSmartphoneOutput
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{3pt plus 2pt minus1pt}
+\else
+\ifTgoParindentZero
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{3pt plus 1pt}
+\fi\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand\TgoCurrentLists{}
+%\ifTgoFrenchLanguage
+%\setlength{\TgoTitleIndent}{\parindent}
+%\else
+%\setlength{\TgoTitleIndent}{0em}
+%\fi
+\ifTgoTitleIndentZero
+\setlength{\TgoTitleIndent}{0em}
+\else
+\setlength{\TgoTitleIndent}{\parindent}
+\fi
+%
+%
+\renewcommand\labelitemi{\textbullet}
+\renewcommand\labelitemii{\textopenbullet}
+\renewcommand\labelitemiii{\starredbullet}
+\renewcommand\labelitemiv{\textperiodcentered}
+%%%%%
+\NewDocumentCommand\renewtgolabels{%
+s E{1234}{ {} {} {} {} }%
+}
+{%
+\IfBooleanTF{#1}%
+{%
+\IfBlankTF{#2}%
+{\renewcommand\labelitemi{\textbullet}}%
+{\renewcommand\labelitemi{#2}}%
+\IfBlankTF{#3}%
+{\renewcommand\labelitemii{\textopenbullet}}%
+{\renewcommand\labelitemii{#3}}%
+\IfBlankTF{#4}%
+{\renewcommand\labelitemiii{\starredbullet}}%
+{\renewcommand\labelitemiii{#4}}%
+\IfBlankTF{#5}%
+{\renewcommand\labelitemiv{\textperiodcentered}}%
+{\renewcommand\labelitemiv{#5}}%
+}%
+{%
+\IfBlankF{#2}{\renewcommand\labelitemi{#2}}%
+\IfBlankF{#3}{\renewcommand\labelitemii{#3}}%
+\IfBlankF{#4}{\renewcommand\labelitemiii{#4}}%
+\IfBlankF{#5}{\renewcommand\labelitemiv{#5}}%
+}%
+\TgoCurrentLists%
+}%
+\NewDocumentCommand\tgosmartlists{}
+{%
+\RenewDocumentCommand\TgoCurrentLists{}{\tgosmartlists}
+\setlength{\leftmargini}{\TgoStandardMargin}
+\setlength{\leftmarginii}{\TgoStandardMargin}
+\setlength{\leftmarginiii}{\TgoStandardMargin}
+\setlength{\leftmarginiv}{\TgoStandardMargin}
+\setlist{
+ itemsep=0.3ex plus 0.1ex minus 0.1ex,
+ parsep=0.3ex plus 0.1ex minus 0.1ex,
+ topsep=0.3ex plus 0.2ex minus 0.1ex,
+ partopsep=0.3ex plus 0.1ex minus 0.1ex
+}
+\setlist[itemize]{nosep, leftmargin=\TgoStandardMargin, align=left, labelsep=0.5em, labelindent=\TgoStandardMargin+\parindent,
+itemindent=*}
+%
+\setlist[itemize,1]{leftmargin=0em, align=left, labelsep=0.5em, labelindent=\parindent, itemindent=* }
+%
+\setlist[enumerate]{nosep, leftmargin=\TgoStandardMargin, align=left, labelsep=0.5em,
+labelindent=\TgoStandardMargin+\parindent,widest=0, itemindent=*}
+%
+\setlist[enumerate,1]{leftmargin=0em, align=left, labelsep=0.5em, labelindent=\parindent, itemindent=* }
+%
+}
+%%%
+\NewDocumentCommand\tgostandardlists{}
+{%
+\RenewDocumentCommand\TgoCurrentLists{}{\tgostandardlists}
+\setlength{\leftmargini}{\TgoStandardMargin}
+\setlength{\leftmarginii}{\TgoStandardMargin}
+\setlength{\leftmarginiii}{\TgoStandardMargin}
+\setlength{\leftmarginiv}{\TgoStandardMargin}
+\setlist{
+ itemsep=0.4ex plus 0.2ex minus 0.2ex,
+ parsep=0.4ex plus 0.2ex minus 0.2ex,
+ topsep=0.8ex plus 0.4ex minus 0.4ex,
+ partopsep=0.4ex plus 0.2ex minus 0.2ex
+}
+\setlist[itemize]{leftmargin=\TgoStandardMargin, align=left, labelindent=0em,
+labelwidth=0.75\TgoStandardMargin, labelsep=0.25\TgoStandardMargin, itemindent=!}
+%%
+\setlist[itemize,1]{leftmargin=2\TgoStandardMargin, align=left, labelindent=\TgoStandardMargin, labelwidth=0.75\TgoStandardMargin, labelsep=0.25\TgoStandardMargin, itemindent=!}
+%
+\setlist[enumerate]{leftmargin=\TgoStandardMargin, align=left, labelindent=0em,
+labelwidth=0.75\TgoStandardMargin, labelsep=0.25\TgoStandardMargin, itemindent=!}
+%
+\setlist[enumerate,1]{leftmargin=2\TgoStandardMargin, align=left, labelindent=\TgoStandardMargin, labelwidth=0.75\TgoStandardMargin, labelsep=0.25\TgoStandardMargin, itemindent=!}
+}
+\renewcommand{\labelenumii}{\alph{enumii}.}
+
+\tgostandardlists
+%
+%
+%\NewDocumentCommand\testlists{}{
+%\setlength{\leftmargini}{\TgoStandardMargin}
+%\setlength{\leftmarginii}{\TgoStandardMargin}
+%\setlength{\leftmarginiii}{\TgoStandardMargin}
+%\setlength{\leftmarginiv}{\TgoStandardMargin}
+%\setlist{
+% itemsep=0.4ex plus 0.2ex minus 0.2ex,
+% parsep=0.4ex plus 0.2ex minus 0.2ex,
+% topsep=0.8ex plus 0.4ex minus 0.4ex,
+% partopsep=0.4ex plus 0.2ex minus 0.2ex
+%}
+%\setlist[itemize]{nosep, leftmargin=\TgoStandardMargin, align=left, labelsep=0.5em, labelindent=\TgoStandardMargin+\parindent,
+%itemindent=*}
+%%
+%\setlist[itemize,1]{leftmargin=0em, align=left, labelsep=0.5em, labelindent=\parindent, itemindent=* }
+%%
+%\setlist[enumerate]{nosep, leftmargin=\TgoStandardMargin, align=left, labelsep=0.5em,
+%labelindent=\TgoStandardMargin+\parindent,widest=0, itemindent=*}
+%%
+%\setlist[enumerate,1]{leftmargin=0em, align=left, labelsep=0.5em, labelindent=\parindent, itemindent=* }
+%%
+%}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newpagestyle{tango}{
+ \ifTgoOneSide
+\ifTgoBook
+ \sethead {\sffamily\addfontfeature{RawFeature=+c2sc}\MakeUppercase\chaptertitle}{}
+ {\sffamily\thepage} % all
+ \else
+ \sethead{\sffamily\addfontfeature{RawFeature=+c2sc}\MakeUppercase\sectiontitle}{}
+ {\sffamily\thepage}% all
+ \fi
+\else
+\ifTgoBook
+\sethead[\sffamily\thepage]
+[\sffamily\addfontfeature{RawFeature=+c2sc}\MakeUppercase\chaptertitle][] % even
+ {}{\sffamily\addfontfeature{RawFeature=+c2sc}\MakeUppercase\sectiontitle}
+ {\sffamily\thepage} % odd
+\else
+ \sethead[\sffamily\thepage][\sffamily\addfontfeature{RawFeature=+c2sc}\MakeUppercase\sectiontitle][] % even
+ {}{\sffamily\addfontfeature{RawFeature=+c2sc}\MakeUppercase\sectiontitle}
+ {\sffamily\thepage}% odd
+\fi
+\fi}
+ %%%%%%%%%%%%
+\pagestyle{tango}
+%%%%%%%%%%%%%%
+%%% Mise en forme des titres %%%%%%%%%%%%%%%
+\setcounter{secnumdepth}{2}
+%%%
+\ifTgoBook
+\newcommand\TgoChapterBox[1]{%
+{\filright\sffamily\addfontfeature{RawFeature=-onum}\fontseries{eb}\selectfont\HUGE\hspace*{-0.06em}\thechapter}%
+\quad\parbox{0.75\textwidth}{\filright#1}
+}
+\titleformat{\part}[display]{\centering\color{ColorOne}\sffamily
+\addfontfeature{RawFeature=-onum}\fontseries{eb}\selectfont\Huge}
+{\LARGE\partname~\thepart}{\baselineskip}{}
+%%
+\titleformat{name=\chapter}[block]{\filright\color{ColorOne}\fontspec{\TgoChapterTitleFont}\addfontfeature{RawFeature=-onum}\huge}
+{}{0em}{\TgoChapterBox}
+%%%
+\titleformat{name=\chapter,numberless}[block]{\filright\color{ColorOne}\fontspec{\TgoChapterTitleFont}\addfontfeature{RawFeature=-onum}\huge}
+{}{0em}{}
+\fi%
+\titleformat{\section}{\color{ColorOne}\sffamily\addfontfeature{RawFeature=-onum}%
+\fontseries{b}\selectfont\large}{\thesection}{1em}{\uppercase}%
+\titleformat{\subsection}{\color{ColorOne}\sffamily\fontseries{sb}\selectfont\large}{\thesubsection}{1em}{}%
+\titleformat{\subsubsection}{\color{ColorOne}\sffamily\fontseries{sb}\selectfont}{\thesubsubsection}{0.7em}{}%
+\titleformat{\paragraph}[runin]{\itshape}{\theparagraph.}{0.5em}{}[. — ]%
+\titleformat{\subparagraph}[runin]{}{\thesubparagraph.}{0.5em}{}[. — ]%
+\titlespacing{\chapter}{\TgoTitleIndent}{0pt}{6ex}%
+\titlespacing{\section}{\TgoTitleIndent}{12pt plus 5pt minus 4pt}{6pt plus 3pt minus 2pt}%
+\titlespacing{\subsection}{\TgoTitleIndent}{12pt plus 5pt minus 4pt}{6pt plus 3pt minus 2pt}%
+\titlespacing{\subsubsection}{\TgoTitleIndent}{7pt plus 3pt minus 2pt}{3pt plus 2pt minus 1pt}%
+\titlespacing{\paragraph}{\TgoTitleIndent}{7pt plus 3pt minus 2pt}{3pt plus 1pt minus 1pt}%
+\titlespacing{\subparagraph}{\TgoTitleIndent}{4pt plus 2pt minus 2pt}{3pt plus 1pt minus 1pt}%
+%
+\ifTgoBook
+\NewCommandCopy{\tgotitle}{\chapter}
+\else%%article
+\NewDocumentCommand\tgotitle{s m}{%
+\IfBooleanTF{#1}{%
+\clearpage\thispagestyle{empty}
+% \vspace*{5\p@}%
+ {\parindent=0pt \raggedright
+ \normalfont
+ \interlinepenalty\@M
+\advance\leftskip by \TgoTitleIndent
+\fontspec{\TgoChapterTitleFont}\huge\color{ColorOne}#2
+\par} \vspace {\TgoAfterChapterSkip}\par}
+ {%
+\clearpage\thispagestyle{empty}
+% \vspace*{5\p@}%
+ {\parindent=0pt \raggedright
+ \normalfont
+ \interlinepenalty\@M
+\advance\leftskip by \TgoTitleIndent
+\fontspec{\TgoChapterTitleFont}\huge\color{ColorOne}#2
+\par} \vspace {\TgoAfterChapterSkip}\par}
+ }
+ \fi
+%%%%%%%
+%%%%%%%Table des matières
+%%%%%%%
+\ifTgoBook\else
+\RenewDocumentCommand\tableofcontents{}{%
+{\color{ColorOne}\parskip=0pt%
+\noindent\titlerule[1.3pt]%
+\vspace{-1\baselineskip}\vspace{1.6pt} \par %
+\noindent\titlerule[.5pt]%
+}%
+ \vspace{-10pt}\par%
+ \section*{\contentsname}
+ \@starttoc{toc}%
+{\color{ColorOne}\parskip=0pt%
+\noindent\titlerule[0.5pt]%
+\vspace{-1\baselineskip}\vspace{2.4pt} \par %
+\noindent\titlerule[1.3pt]%
+}%
+\par %
+\vspace{2\baselineskip}%
+\par %
+ }%
+ \fi
+ \IfPackageLoadedTF{hyperref}%
+{%
+\NewCommandCopy{\TgoOriginalToc}{\tableofcontents}%
+\RenewDocumentCommand\tableofcontents{}{{\hypersetup{hidelinks}\TgoOriginalToc}}%
+}%
+{}
+%%
+%%
+\ifTgoBook
+\NewDocumentCommand\tgoshorttoc{}{}
+\titlecontents{part}
+ [50pt] % ie, 1.5em (chapter) + 2.3em
+ {\large\sffamily\fontseries{sb}\selectfont\color{ColorOne}}
+ {\contentslabel{50pt}}
+ {\hspace*{-50pt}}
+ {\titlerule*[1pc]{}\contentspage}
+\titlecontents{chapter}
+ [16pt] % ie, 1.5em (chapter) + 2.3em
+ {\sffamily\fontseries{b}\selectfont\color{ColorOne}}
+ {\contentslabel{16pt}}
+ {\hspace*{-6pt}}
+ {\titlerule*[1pc]{}\contentspage}
+\titlecontents{section}
+ [3.6em] % ie, 1.5em (chapter) + 2.3em
+ {\sffamily\fontseries{m}\selectfont}
+ {\contentslabel{2.5em}}
+ {\hspace*{-2.5em}}
+ {\titlerule*[1pc]{.}\contentspage}
+\titlecontents{subsection}
+ [6.4em] % ie, 1.5em (chapter) + 2.3em
+ {\sffamily\fontseries{l}\selectfont}
+ {\contentslabel{3.2em}}
+ {\hspace*{-3.2em}}
+ {\titlerule*[1pc]{.}\contentspage}
+ \else
+ \NewCommandCopy{\tgoshorttoc}{\tableofcontents}
+ \RenewDocumentCommand\tableofcontents{}{}
+ \ifTgoFrenchLanguage
+ \renewcommand{\frenchcontentsname}{\TgoContentsName}
+\fi
+ \setcounter{tocdepth}{2}
+ \titlecontents{section}
+ [1.7em] % ie, 1.5em (chapter) + 2.3em
+ {\sffamily\fontseries{sb}\selectfont}
+ {\contentslabel{2.em}}
+ {\hspace*{-2.em}}
+ {\titlerule*[1pc]{}\contentspage}
+\titlecontents{subsection}
+ [4em] % ie, 1.5em (chapter) + 2.3em
+ {\sffamily}
+ {\contentslabel{2.7em}}
+ {\hspace*{-2.7em}}
+ {\titlerule*[1pc]{.}\contentspage}
+\titlecontents{subsubsection}
+ [6em] % ie, 1.5em (chapter) + 2.3em
+ {\sffamily\fontseries{l}\selectfont}
+ {\contentslabel{3.5em}}
+ {\hspace*{-3.5em}}
+ {\titlerule*[1pc]{.}\contentspage}
+ \fi
+%
+%%Init
+\NewDocumentCommand\AfourCommand{+m}{}
+%
+\NewDocumentCommand\LetterCommand{+m}{}
+%
+\NewDocumentCommand\BigTabletCommand{+m}{}
+%
+\NewDocumentCommand\TabletCommand{+m}{}
+%
+\NewDocumentCommand\AfiveCommand{+m}{}
+%
+\NewDocumentCommand\SmallTabletCommand{+m}{}
+%
+\NewDocumentCommand\eReaderCommand{+m}{}
+%
+\NewDocumentCommand\SmartphoneCommand{+m}{}
+%
+\NewDocumentCommand\XAfourCommand{+m}{}
+%
+\NewDocumentCommand\XLetterCommand{+m}{}
+%
+\NewDocumentCommand\XBigTabletCommand{+m}{}
+%
+\NewDocumentCommand\XTabletCommand{+m}{}
+%
+\NewDocumentCommand\XAfiveCommand{+m}{}
+%
+\NewDocumentCommand\XSmallTabletCommand{+m}{}
+%
+\NewDocumentCommand\XeReaderCommand{+m}{}
+%
+\NewDocumentCommand\XSmartphoneCommand{+m}{}
+ %
+%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%Output Format %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%%%%% Afour %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+\ifTgoAfourPaperOutput
+%
+\RenewDocumentCommand\AfourCommand{+m}{#1}
+%
+\RenewDocumentCommand\XLetterCommand{+m}{#1}
+%
+\RenewDocumentCommand\XBigTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfiveCommand{+m}{#1}
+%
+\RenewDocumentCommand\XTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmallTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XeReaderCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmartphoneCommand{+m}{#1}
+ %
+ %%
+%\ifTgoOneSide
+\geometry{paperwidth=21cm,paperheight=29.7cm,
+heightrounded,top=2cm,inner=2.75cm,outer=2.75cm,bottom=3.6cm,
+headheight=16pt,headsep=21pt,footskip=50pt}
+%\else
+%\geometry{paperwidth=21cm,paperheight=29.7cm,
+%heightrounded,top=2cm,inner=2.3cm,outer=3.2cm,bottom=3.6cm,
+%headheight=16pt,headsep=21pt,footskip=50pt}
+%\fi
+%
+\setlength{\TgoAfterChapterSkip}{21pt}
+%
+\NewDocumentCommand\tgocover{O{A4Cover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\emergencystretch=2.5em
+\tolerance800
+\clubpenalty1000
+\widowpenalty1000%
+%
+\fi
+%%%%%%%
+%%%%%% Big Tablet or Letter %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifTgoBigTabletOutput
+%
+\ifTgoLetterOutput
+%
+\RenewDocumentCommand\LetterCommand{+m}{#1}
+%
+\RenewDocumentCommand\XBigTabletCommand{+m}{#1}
+%
+\else
+%
+\RenewDocumentCommand\BigTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XLetterCommand{+m}{#1}
+%
+\fi
+%
+\RenewDocumentCommand\XAfourCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfiveCommand{+m}{#1}
+%
+\RenewDocumentCommand\XTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmallTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XeReaderCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmartphoneCommand{+m}{#1}
+ %
+%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%
+%
+%%
+\ifTgoLetterOutput
+%\ifTgoOneSide
+\geometry{paperwidth=8.5in,paperheight=11in,
+heightrounded,top=1.9cm,inner=2.8cm,outer=2.8cm,bottom=3cm,
+headheight=16pt,headsep=20pt,footskip=14pt}
+%\else
+%\geometry{paperwidth=8.5in,paperheight=11in,
+%heightrounded,top=1.9cm,inner=2.4cm,outer=3.2cm,bottom=3.6cm,
+%headheight=16pt,headsep=20pt,footskip=14pt}
+%\fi
+%
+\setlength{\TgoAfterChapterSkip}{22pt}
+%
+\NewDocumentCommand\tgocover{O{LetterCover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\emergencystretch=2.5em
+\tolerance800
+\clubpenalty1000
+\widowpenalty1000%
+%
+\else
+%
+\setlength{\TgoAfterChapterSkip}{21pt}
+%
+\geometry{paperwidth=19.8cm,paperheight=26.4cm,
+heightrounded,top=1.8cm,inner=2.4cm,outer=2.4cm,bottom=2.7cm,
+headheight=16pt,headsep=14pt,footskip=14pt}
+%
+\NewDocumentCommand\tgocover{O{BigTabletCover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\emergencystretch=2.5em
+\tolerance800
+\clubpenalty1000
+\widowpenalty1000%
+\fi
+\fi
+%%%%%%%
+%%%%%% Tablet or A5%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifTgoTabletOutput
+%
+\ifTgoAfivePaperOutput
+\RenewDocumentCommand\AfiveCommand{+m}{#1}
+%
+\RenewDocumentCommand\XTabletCommand{+m}{#1}
+%
+\else
+%
+\RenewDocumentCommand\TabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfiveCommand{+m}{#1}
+%
+\fi
+%
+\RenewDocumentCommand\XLetterCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfourCommand{+m}{#1}
+%
+\RenewDocumentCommand\XBigTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmallTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XeReaderCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmartphoneCommand{+m}{#1}
+ %
+%
+%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%
+%
+%%
+\ifTgoAfivePaperOutput
+%\ifTgoOneSide
+\geometry{paperwidth=14.85cm,paperheight=21cm,
+heightrounded,top=1.2cm,inner=1.8cm,outer=1.8cm,bottom=2.4cm,
+headheight=16pt,headsep=11pt,footskip=14pt}
+%\else
+%\geometry{paperwidth=14.85cm,paperheight=21cm,
+%heightrounded,top=1.3cm,inner=1.5cm,outer=2.1cm,bottom=2.4cm,
+%headheight=16pt,headsep=11pt,footskip=14pt}
+%\fi
+%
+\setlength{\TgoAfterChapterSkip}{15pt}
+%
+\NewDocumentCommand\tgocover{O{A5Cover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\emergencystretch=2.5em
+\tolerance800
+\clubpenalty1000
+\widowpenalty1000%
+%%
+\else
+%%%
+\geometry{paperwidth=16cm,paperheight=22.88cm,
+heightrounded,top=1.2cm,inner=1.4cm,outer=1.4cm,bottom=1.8cm,
+headheight=16pt,headsep=11pt,footskip=14pt}
+%
+\setlength{\TgoAfterChapterSkip}{18pt}
+%
+\NewDocumentCommand\tgocover{O{TabletCover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\emergencystretch=2.5em
+\tolerance800
+\clubpenalty1000
+\widowpenalty1000%
+\fi
+\fi
+%%%%%% Small Tablet%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifTgoSmallTabletOutput
+%
+\RenewDocumentCommand\SmallTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfourCommand{+m}{#1}
+%
+\RenewDocumentCommand\XLetterCommand{+m}{#1}
+%
+\RenewDocumentCommand\XBigTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfiveCommand{+m}{#1}
+%
+\RenewDocumentCommand\XTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XeReaderCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmartphoneCommand{+m}{#1}
+ %
+%%%%%%%%%%%%%%%%%%%%%
+\setlength{\TgoAfterChapterSkip}{11pt}
+%%
+ \geometry{paperwidth=12cm,paperheight=18.24cm,
+heightrounded,top=1.1cm,inner=0.75cm,outer=0.75cm,bottom=1.3cm,
+headheight=14pt,headsep=6pt,footskip=13pt}
+%
+\NewDocumentCommand\tgocover{O{SmallTabletCover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\emergencystretch=2.5em
+\tolerance800
+\clubpenalty1000
+\widowpenalty1000%
+\fi
+%%%%%% eReader %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifTgoeReaderOutput
+%
+\RenewDocumentCommand\eReaderCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfourCommand{+m}{#1}
+%
+\RenewDocumentCommand\XLetterCommand{+m}{#1}
+%
+\RenewDocumentCommand\XBigTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfiveCommand{+m}{#1}
+%
+\RenewDocumentCommand\XTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmallTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmartphoneCommand{+m}{#1}
+ %
+%%%%%%%%%%%%%%%%%%%%%
+\setlength{\TgoAfterChapterSkip}{3pt}
+%%%%%%%%%%%
+%
+%
+\geometry{paperwidth=10.7cm,paperheight=14.4cm,
+heightrounded,top=0.82cm,left=0.5cm,right=0.5cm,bottom=0.8cm,
+headheight=18pt,headsep=5pt,footskip=10pt}
+%%
+%
+\NewDocumentCommand\tgocover{O{eReaderCover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\sloppy
+\fi
+%%%%%%%% Smartphone %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifTgoSmartphoneOutput
+%
+\RenewDocumentCommand\SmartphoneCommand{+m}{#1}
+%
+\RenewDocumentCommand\XLetterCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfourCommand{+m}{#1}
+%
+\RenewDocumentCommand\XBigTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XAfiveCommand{+m}{#1}
+%
+\RenewDocumentCommand\XTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XSmallTabletCommand{+m}{#1}
+%
+\RenewDocumentCommand\XeReaderCommand{+m}{#1}
+ %
+%%%%%%%%%%%%%%%%%%%%%
+\setlength{\TgoAfterChapterSkip}{7pt}%
+%%%%%%%%%%%
+%
+%%
+\geometry{paperwidth=10cm,paperheight=18cm,
+heightrounded,top=1.1cm,inner=0.32cm,outer=0.32cm,bottom=1cm,
+headheight=14pt,headsep=10pt,footskip=17pt}
+%
+\NewDocumentCommand\tgocover{O{SmartphoneCover}}{\InputIfFileExists{#1}{}{%
+\ClassWarning{tango}{Fichier #1.tex absent}}}
+\flushbottom\sloppy
+\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\setlength{\abovecaptionskip}{4pt plus 1pt minus 1pt}
+\setlength{\belowcaptionskip}{4pt plus 1 pt minus 1pt}
+%
+%
+\setlength{\textfloatsep}{10pt plus 4 pt minus 3pt}
+\setlength{\intextsep}{4pt plus 2pt minus 1 pt}
+%
+%%%Environnements %%%%%%%%%%%%%%%%%%%
+%
+%%%%%% Stolen to amsthm %%%%%%%%%%%%%%%
+%
+\RenewDocumentCommand\qedsymbol{}{{\ensuremath{\color{ColorOne}\rule{7pt}{7pt}}}}%
+\RenewDocumentEnvironment{proof}{o}{%
+\IfValueTF{#1}%
+{\renewcommand\TgoTempa{#1}}
+{\renewcommand\TgoTempa{\proofname}}
+\pushQED{\qed}%
+\par\nobreak\addvspace{6pt plus 3pt minus 2pt}%
+{\color{ColorOne}\sffamily\fontseries{m}\selectfont\itshape%
+ \TgoTempa}\par\nobreak
+ }%
+{\popQED\par\addvspace{6pt plus 3pt minus 2pt}}
+%%%%
+%%%%
+\newcounter{tgoexo}%
+%%
+\NewDocumentCommand\exo{s d<> o}{%
+\IfValueTF{#2}%
+{%
+\renewcommand\TgoTempa{#2}%
+}%
+{%
+\renewcommand\TgoTempa{\TgoExerciseName}%
+}%
+\IfBooleanTF{#1}%
+{%
+\renewcommand\TgoTempb{\TgoTempa}%
+}%
+{%
+\refstepcounter{tgoexo}%
+\renewcommand\TgoTempb{\TgoTempa~\thetgoexo}%
+}%
+\IfValueTF{#3}%
+{%
+\renewcommand\TgoTempc{\TgoTempb\space(#3)}%
+}%
+{%
+\renewcommand\TgoTempc{\TgoTempb}%
+}%
+\@afterindenttrue
+\vspace{5pt plus 2pt minus 2pt}
+\par%
+\textsf{\fontseries{sb}\selectfont\TgoTempc}%
+\par\nobreak\vspace{0pt plus 1pt}\par%
+}%
+%
+\newsavebox{\TgoBox}
+%%%%
+%
+\NewDocumentCommand\sec@exo{m}{%
+\titleformat{\subsection}[block]{\filcenter\color{ColorOne}\sffamily\addfontfeature{RawFeature=-onum}%
+\fontseries{b}\selectfont}{\thesubsection}{1em}{\MakeUppercase}%
+\titlespacing{\subsection}{0em}{10pt plus 10pt minus 4pt}{8pt plus 5pt minus 3pt}%
+\subsection*{#1}
+\addcontentsline{toc}{subsection}{\protect\numberline{}#1}
+}
+%
+\NewDocumentCommand\secexo{O{\TgoExercisesSubsectionName}}{%
+\sec@exo{#1}
+\tgostandardlists
+}%
+\ExpandArgs{c}\NewDocumentCommand{secexo*}{O{\TgoExercisesSubsectionName}}{%
+\sec@exo{#1}
+\TgoSmallerSize
+\tgostandardlists
+}%
+\NewDocumentCommand\endsecexo{}
+{\renewtgolabels\par\addvspace{10pt plus 3pt minus 2pt}\par}%
+%
+\ExpandArgs{c}\NewDocumentCommand{endsecexo*}{}
+{\renewtgolabels\par\addvspace{10pt plus 3pt minus 2pt}\par}%
+%
+\NewDocumentCommand\chap@exo{m}{%
+\titleformat{\section}[block]{\filcenter\color{ColorOne}\sffamily\addfontfeature{RawFeature=-onum}%
+\fontseries{b}\selectfont\large}{\thesection}{1em}{\MakeUppercase}%
+\tgostandardlists
+\titlespacing{\section}{0em}{18pt plus 10pt minus 4pt}{8pt plus 5pt minus 3pt}%
+\section*{#1}
+\addcontentsline{toc}{section}{\protect\numberline{}#1}
+}
+%
+\NewDocumentCommand\chapexo{O{\TgoExercisesSectionName}}{%
+\chap@exo{#1}
+}%
+\ExpandArgs{c}\NewDocumentCommand{chapexo*}{O{\TgoExercisesSectionName}}{%
+\chap@exo{#1}
+\TgoSmallerSize
+}%
+\NewDocumentCommand\endchapexo{}
+{\renewlabelitems\par\addvspace{18pt plus 3pt minus 2pt}\par}%
+%
+\ExpandArgs{c}\NewDocumentCommand{endchapexo*}{}
+{\renewlabelitems\par\addvspace{18pt plus 3pt minus 2pt}\par}%
+%%%%
+%%
+\NewDocumentEnvironment{example}{O{\TgoExampleName}}{%
+\par\addvspace{6pt plus 3pt minus 2pt}%
+{\sffamily\itshape #1}\par\nobreak%
+\@afterheading}%
+{\par\addvspace{6pt plus 3pt minus 2pt}\par}
+%%%
+\NewDocumentEnvironment{remark}{O{\TgoRemarkName}}{%
+\par\addvspace{6pt plus 3pt minus 2pt}%
+{\sffamily\itshape #1. \textemdash~}\ignorespaces}%
+{\par\addvspace{6pt plus 3pt minus 2pt}}
+%%%
+%%%
+\NewDocumentEnvironment{alert}{O{\caution}}{%
+\par\addvspace{6pt plus 3pt minus 2pt}\noindent%
+{\color{ColorOne}\Large #1}\hspace{1ex}\ignorespaces}%
+{\par\addvspace{6pt plus 3pt minus 2pt}}
+%
+%%
+\NewDocumentCommand\newstatement{s m m m o}{%
+\setlength\TgoStatementParindent{\parindent}
+\ExpandArgs{c}\NewDocumentCommand{#2}{d<> o}%
+{% beginning env commands
+\refstepcounter{#3}
+\IfBooleanTF{#1}
+{%
+\renewcommand\TgoTempa{#3}
+\renewcommand\TgoTempb{subsection}
+\ifx\TgoTempa\TgoTempb
+\ifTgoTitleIndentZero
+\renewcommand\TgoStatementIndent{\noindent}
+\setlength\TgoStatementParindent{0em}
+\fi
+\renewcommand\TgoStatementNumberPrefix{\large\fontseries{sb}\selectfont%
+\UseName{the#3}\hspace{1em}}%
+\else
+\renewcommand\TgoTempb{subsubsection}
+\ifx\TgoTempa\TgoTempb
+\ifTgoTitleIndentZero
+\renewcommand\TgoStatementIndent{\noindent}
+\setlength\TgoStatementParindent{0em}
+\fi
+\fi
+\renewcommand\TgoStatementNumberPrefix{\fontseries{sb}\selectfont%
+\UseName{the#3}\hspace{1em}}%
+\fi
+\renewcommand\TgoStatementNumberSuffix{}%
+}
+{
+\renewcommand\TgoStatementNumberSuffix{~\UseName{the#3}}%
+\renewcommand\TgoStatementNumberPrefix{}%
+}
+\IfValueTF{##2}%
+{%
+\renewcommand\TgoStatementSuffix{~{\normalshape(##2)}}%
+}%
+{%
+\renewcommand\TgoStatementSuffix{}%
+}%
+\renewcommand\TgoStatementName{#4}
+\IfValueT{##1}{%
+\renewcommand\TgoStatementName{##1}
+}
+\par%
+\addvspace{8pt plus 3pt minus 2pt}%
+\begin{lrbox}{\TgoBox}%
+\par%
+%\begin{minipage}{\linewidth-\fboxsep-\TgoStatementParindent}\IfValueT{#5}{#5}%
+\begin{minipage}{\linewidth-\TgoStatementParindent}\IfValueT{#5}{#5}%
+}%
+\ExpandArgs{c}\NewDocumentCommand{end#2}{}
+{% end env commands
+\end{minipage}\end{lrbox}
+\TgoStatementIndent\parbox{\linewidth-\TgoStatementParindent}{
+{\color{ColorOne}\sffamily\fontseries{m}\selectfont\scshape\TgoStatementNameOffset%
+\TgoStatementNumberPrefix\fontseries{sb}\selectfont\TgoStatementName%
+\TgoStatementNumberSuffix\TgoStatementSuffix\par\nobreak}%
+\vspace{2pt}\par%
+\addtolength\leftskip{-\fboxsep}
+\addtolength\rightskip{-\fboxsep}
+\colorbox{ColorTwo}{%
+\usebox{\TgoBox}}}%
+\par\addvspace{6pt plus 3pt minus 2pt}\par%
+}%
+\ExpandArgs{c}\NewDocumentCommand{#2*}{d<> o}%
+{% beginning env commands
+\IfValueTF{##2}%
+{%
+\renewcommand\TgoStatementSuffix{~{\normalshape(##2)}}%
+}%
+{%
+\renewcommand\TgoStatementSuffix{}%
+}%
+\renewcommand\TgoStatementName{#4}
+\IfValueT{##1}{%
+\renewcommand\TgoStatementName{##1}
+}
+\par%
+\addvspace{8pt plus 3pt minus 2pt}%
+\begin{lrbox}{\TgoBox}%
+\par%
+%\begin{minipage}{\linewidth-\fboxsep-\TgoStatementParindent}\IfValueT{#5}{#5}%
+\begin{minipage}{\linewidth-\TgoStatementParindent}\IfValueT{#5}{#5}
+}%
+\ExpandArgs{c}\NewDocumentCommand{end#2*}{}
+{% end env commands
+\end{minipage}\end{lrbox}
+\TgoStatementIndent\parbox{\linewidth-\TgoStatementParindent}{
+{\color{ColorOne}\sffamily\fontseries{m}\selectfont\scshape\TgoStatementNameOffset%
+\fontseries{sb}\selectfont\TgoStatementName\TgoStatementSuffix\par\nobreak}%
+\vspace{2pt}\par%
+\addtolength\leftskip{-\fboxsep}
+\addtolength\rightskip{-\fboxsep}
+\colorbox{ColorTwo}{%
+\usebox{\TgoBox}}}%
+\par\addvspace{6pt plus 3pt minus 2pt}\par%
+}%
+}%%%%
+%%%%%%%%%%%%
+%%%%%%%%%%%%%
+%%%%%%%%%%%%
+\NewDocumentCommand\renewstatement{s m m m o}{%
+\setlength\TgoStatementParindent{\parindent}
+\ExpandArgs{c}\RenewDocumentCommand{#2}{d<> o}%
+{% beginning env commands
+\refstepcounter{#3}
+\IfBooleanTF{#1}
+{%
+\renewcommand\TgoTempa{#3}
+\renewcommand\TgoTempb{subsection}
+\ifx\TgoTempa\TgoTempb
+\ifTgoTitleIndentZero
+\renewcommand\TgoStatementIndent{\noindent}
+\setlength\TgoStatementParindent{0em}
+\fi
+\renewcommand\TgoStatementNumberPrefix{\large\fontseries{sb}\selectfont%
+\UseName{the#3}\hspace{1em}}%
+\else
+\renewcommand\TgoTempb{subsubsection}
+\ifx\TgoTempa\TgoTempb
+\ifTgoTitleIndentZero
+\renewcommand\TgoStatementIndent{\noindent}
+\setlength\TgoStatementParindent{0em}
+\fi
+\fi
+\renewcommand\TgoStatementNumberPrefix{\fontseries{sb}\selectfont%
+\UseName{the#3}\hspace{1em}}%
+\fi
+\renewcommand\TgoStatementNumberSuffix{}%
+}
+{
+\renewcommand\TgoStatementNumberSuffix{~\UseName{the#3}}%
+\renewcommand\TgoStatementNumberPrefix{}%
+}
+\IfValueTF{##2}%
+{%
+\renewcommand\TgoStatementSuffix{~{\normalshape(##2)}}%
+}%
+{%
+\renewcommand\TgoStatementSuffix{}%
+}%
+\renewcommand\TgoStatementName{#4}
+\IfValueT{##1}{%
+\renewcommand\TgoStatementName{##1}
+}
+\par%
+\addvspace{8pt plus 3pt minus 2pt}%
+\begin{lrbox}{\TgoBox}%
+\par%
+%\begin{minipage}{\linewidth-\fboxsep-\TgoStatementParindent}\IfValueT{#5}{#5}%
+\begin{minipage}{\linewidth-\TgoStatementParindent}\IfValueT{#5}{#5}
+}%
+\ExpandArgs{c}\RenewDocumentCommand{end#2}{}
+{% end env commands
+\end{minipage}\end{lrbox}
+\TgoStatementIndent\parbox{\linewidth-\TgoStatementParindent}{
+{\color{ColorOne}\sffamily\fontseries{m}\selectfont\scshape\TgoStatementNameOffset%
+\TgoStatementNumberPrefix\fontseries{sb}\selectfont\TgoStatementName%
+\TgoStatementNumberSuffix\TgoStatementSuffix\par\nobreak}%
+\vspace{2pt}\par%
+\addtolength\leftskip{-\fboxsep}
+\addtolength\rightskip{-\fboxsep}
+\colorbox{ColorTwo}{%
+\usebox{\TgoBox}}}%
+\par\addvspace{6pt plus 3pt minus 2pt}\par%
+}%
+\ExpandArgs{c}\RenewDocumentCommand{#2*}{d<> o}%
+{% beginning env commands
+\IfValueTF{##2}%
+{%
+\renewcommand\TgoStatementSuffix{~{\normalshape(##2)}}%
+}%
+{%
+\renewcommand\TgoStatementSuffix{}%
+}%
+\renewcommand\TgoStatementName{#4}
+\IfValueT{##1}{%
+\renewcommand\TgoStatementName{##1}
+}
+\par%
+\addvspace{8pt plus 3pt minus 2pt}%
+\begin{lrbox}{\TgoBox}%
+\par%
+%\begin{minipage}{\linewidth-\fboxsep-\TgoStatementParindent}\IfValueT{#5}{#5}%
+\begin{minipage}{\linewidth-\TgoStatementParindent}\IfValueT{#5}{#5}
+}%
+\ExpandArgs{c}\RenewDocumentCommand{end#2*}{}
+{% end env commands
+\end{minipage}\end{lrbox}
+\TgoStatementIndent\parbox{\linewidth-\TgoStatementParindent}{
+{\color{ColorOne}\sffamily\fontseries{m}\selectfont\scshape\TgoStatementNameOffset%
+\fontseries{sb}\selectfont\TgoStatementName\TgoStatementSuffix\par\nobreak}%
+\vspace{2pt}\par%
+\addtolength\leftskip{-\fboxsep}
+\addtolength\rightskip{-\fboxsep}
+\colorbox{ColorTwo}{%
+\usebox{\TgoBox}}}%
+\par\addvspace{6pt plus 3pt minus 2pt}\par%
+}%
+}%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifTgoNoStatement
+\else
+\newcounter{thm}
+\newstatement{thm}{thm}{\TgoTheoremName}[\itshape]
+\newcounter{defin}
+\newstatement{defin}{defin}{\TgoDefinitionName}
+\newcounter{coro}
+\newstatement{coro}{coro}{\TgoCorollaryName}
+\newcounter{propo}
+\newstatement{propo}{propo}{\TgoPropositionName}[\itshape]
+\newcounter{lem}
+\newstatement{lem}{lem}{\TgoLemmaName}
+\fi
+%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%
+\AtBeginDocument{%
+ \Umathchardef\Bbbbackslash = 0 0 "E020 \relax
+ \Umathchardef\varemptyset = 0 0 "E021 \relax
+ \Umathchardef\mupvarzero = 0 0 "E022 \relax
+ \Umathchardef\mbfvarzero = 0 0 "E023 \relax
+ \Umathchardef\mupvarpartial = 0 0 "E030 \relax
+ \Umathchardef\mupvarvarpi = 0 0 "E032 \relax
+ \Umathchardef\mbfvarpartial = 0 0 "E040 \relax
+ \Umathchardef\mbfvarvarrho = 0 0 "E041 \relax
+ \Umathchardef\mbfvarvarpi = 0 0 "E042 \relax
+ \Umathchardef\mbfvec = 0 0 "E044 \relax
+ \Umathchardef\mbfwp = 0 0 "E045 \relax
+ \Umathchardef\mbfdotlessi = 0 0 "E046 \relax
+ \Umathchardef\mbfdotlessj = 0 0 "E047 \relax
+ \Umathchardef\mbfhbar = 0 0 "E048 \relax
+ \Umathchardef\mbfell = 0 0 "E049 \relax
+ \Umathchardef\mbftriangleleft = 0 0 "E04E \relax
+ \Umathchardef\mbftriangleright = 0 0 "E04F \relax
+ \Umathchardef\mbfitvarpartial = 0 0 "E060 \relax
+ \Umathchardef\mbfitvarvarrho = 0 0 "E061 \relax
+ \Umathchardef\mbfitvarvarpi = 0 0 "E062 \relax
+ \Umathchardef\mbfitwp = 0 0 "E065 \relax
+ \Umathchardef\mbfimath = 0 0 "E066 \relax
+ \Umathchardef\mbfjmath = 0 0 "E067 \relax
+ \Umathchardef\mbfithbar = 0 0 "E068 \relax
+ \Umathchardef\mbfitell = 0 0 "E069 \relax
+ \Umathchardef\mitvarpartial = 0 0 "E070 \relax
+ \Umathchardef\mitvarvarrho = 0 0 "E071 \relax
+ \Umathchardef\mitvarvarpi = 0 0 "E072 \relax
+ \Umathchardef\mithbar = 0 0 "E078 \relax
+ \Umathchardef\mapstochar = 3 0 "E08D \relax
+ \Umathchardef\lhook = 3 0 "E08E \relax
+ \Umathchardef\rhook = 3 0 "E08F \relax
+ \Umathchardef\parallelslant = 3 0 "E090 \relax
+ \Umathchardef\nparallelslant = 3 0 "E091 \relax
+ \Umathchardef\shortparallelslant = 3 0 "E092 \relax
+ \Umathchardef\nshortparallelslant = 3 0 "E093 \relax
+ \Umathchardef\lesseqslantgtr = 3 0 "E094 \relax
+ \Umathchardef\gtreqslantless = 3 0 "E095 \relax
+ \Umathchardef\lesseqqslantgtr = 3 0 "E096 \relax
+ \Umathchardef\gtreqqslantless = 3 0 "E097 \relax
+ \Umathchardef\nleqqslant = 3 0 "E098 \relax
+ \Umathchardef\ngeqqslant = 3 0 "E099 \relax
+ \Umathchardef\varsymscrE = 0 0 "E07D \relax
+ \Umathchardef\varsymscrQ = 0 0 "E07E \relax
+ \Umathchardef\varsymscrT = 0 0 "E07F \relax
+ \Umathchardef\varsymbfscrE = 0 0 "E06D \relax
+ \Umathchardef\varsymbfscrQ = 0 0 "E06E \relax
+ \Umathchardef\varsymbfscrT = 0 0 "E06F \relax
+ % \widearc and\overrightarc
+ \newcommand*{\widearc}{\Umathaccent 0 0 "E540 }%
+ \newcommand*{\overrightarc}{\Umathaccent 0 0 "20D5 }%
+ % From FourierOrns
+ \Umathchardef\forbidden = 0 0 "E0B0 \relax
+ \Umathchardef\beware = 0 0 "E0B1 \relax
+ \Umathchardef\boom = 0 0 "E0B2 \relax
+ \Umathchardef\thething = 0 0 "E0B4 \relax
+ \Umathchardef\xswordsup = 0 0 "E0B5 \relax
+ \Umathchardef\xswordsdown = 0 0 "E0B6 \relax
+ % amssymb
+ \IfPackageLoadedTF{amssymb}%
+ {\ClassWarning{tango}{%
+ Tango provides all AMS symbols.\MessageBreak
+ Loading amssymb.sty is not advisable.\MessageBreak
+ Reported}%
+ }%
+ {% AMS Symbols not referenced in unicode-math-table.tex
+ % \Umathchardef\<cmd> = <math type> <family> <slot>
+ % <math type> : \mathord=0 \mathrel=3 ; <family>=0
+ \Umathchardef\circledR = 0 0 "24C7 \relax
+ \Umathchardef\circledS = 0 0 "24C8 \relax
+ \Umathchardef\diagup = 0 0 "27CB \relax
+ \Umathchardef\diagdown = 0 0 "27CD \relax
+ \Umathchardef\shortmid = 3 0 "E0A2 \relax
+ \Umathchardef\shortparallel = 3 0 "E0A3 \relax
+ \Umathchardef\nshortmid = 3 0 "E0A4 \relax
+ \Umathchardef\nshortparallel = 3 0 "E0A5 \relax
+ \Umathchardef\lvertneqq = 3 0 "E0A6 \relax
+ \Umathchardef\gvertneqq = 3 0 "E0A7 \relax
+ \Umathchardef\nleqslant = 3 0 "E0A8 \relax
+ \Umathchardef\ngeqslant = 3 0 "E0A9 \relax
+ \Umathchardef\nleqq = 3 0 "E0AA \relax
+ \Umathchardef\ngeqq = 3 0 "E0AB \relax
+ \Umathchardef\varsubsetneq = 3 0 "E0AC \relax
+ \Umathchardef\varsupsetneq = 3 0 "E0AD \relax
+ \Umathchardef\nsubseteqq = 3 0 "E0AE \relax
+ \Umathchardef\nsupseteqq = 3 0 "E0AF \relax
+ \Umathchardef\varsubsetneqq = 3 0 "E09C \relax
+ \Umathchardef\varsupsetneqq = 3 0 "E09D \relax
+ \Umathchardef\npreceq = 3 0 "E09E \relax
+ \Umathchardef\nsucceq = 3 0 "E09F \relax
+ \let\centerdot\cdotp
+ \let\restriction\upharpoonright
+ \let\doteqdot\Doteq
+ \let\doublecup\Cup
+ \let\doublecap\Cap
+ \let\llless\lll
+ \let\gggtr\ggg
+ \let\circlearrowleft\acwopencirclearrow
+ \let\circlearrowright\cwopencirclearrow
+ \let\lozenge\mdlgwhtlozenge
+ \let\blacklozenge\mdlgblklozenge
+ \let\square\mdlgwhtsquare
+ \let\blacksquare\mdlgblksquare
+ \let\dashleftarrow\leftdasharrow
+ \let\dashrightarrow\rightdasharrow
+ \let\ntriangleleft\nvartriangleleft
+ \let\ntriangleright\nvartriangleright
+ \let\varpropto\propto
+ \let\thicksim\sim
+ \let\thickapprox\approx
+ \let\smallsmile\smile
+ \let\smallfrown\frown
+ }%
+ % latexsym
+ \IfPackageLoadedTF{latexsym}%
+ {\ClassWarning{tango}{%
+ Tango provides all LaTeX symbols.\MessageBreak
+ Loading latexsym.sty is not advisable.\MessageBreak
+ Reported}%
+ }%
+ {\let\lhd\vartriangleleft
+ \let\rhd\vartriangleright
+ \let\unlhd\trianglelefteq
+ \let\unrhd\trianglerighteq
+ \let\leadsto\rightcurvedarrow
+ \let\Box\lgwhtsquare
+ \let\Diamond\mdlgwhtdiamond
+ }%
+}
+\endinput \ No newline at end of file
diff --git a/macros/luatex/latex/yamlvars/yamlvars.lua b/macros/luatex/latex/yamlvars/yamlvars.lua
index 29393bd5a1..b63dabeccb 100644
--- a/macros/luatex/latex/yamlvars/yamlvars.lua
+++ b/macros/luatex/latex/yamlvars/yamlvars.lua
@@ -1,5 +1,5 @@
--% Kale Ewasiuk (kalekje@gmail.com)
---% 2023-12-08
+--% 2024-08-17
--% Copyright (C) 2021-2023 Kale Ewasiuk
--%
--% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -55,6 +55,7 @@ YAMLvars.setts.decstr = 'xfm' -- if in declaration key the value is a string (in
YAMLvars.setts.undeclared = false
YAMLvars.setts.overwrite = false
YAMLvars.setts.lowercase = false
+YAMLvars.setts.stripvars = true -- todo add this as an option accessible in latex
YAMLvars.setts.tabmidrule = 'midrule'
YAMLvars.setts.prcstring = true
YAMLvars.setts.xfm = {}
@@ -86,7 +87,7 @@ end
function YAMLvars.debugtalk(s, ss)
if YAMLvars.debug then
- pl.tex.help_wrt(s, ss)
+ pl.tex.wrth(s, ss)
end
end
@@ -100,7 +101,7 @@ end
function YAMLvars.xfm.markdown(var, val)
--return '\\begin{markdown} '..val..'\n \\end{markdown}'
- pl.tex.help_wrt(val, md)
+ pl.tex.wrth(val, md)
return [[begin markdown ..val..
par end markdown]]
@@ -206,6 +207,7 @@ function YAMLvars.dec.toggle(var, dft)
end
function YAMLvars.dec.length(var, dft)
+ dft = dft or '0pt'
tex.print('\\global\\newlength{\\'..var..'}')
YAMLvars.prc.length(var, dft)
end
@@ -337,7 +339,10 @@ function YAMLvars.declareYAMLvarsStr(y)
var = var:lower()
YAMLvars.varslowcase:append(var)
end
- YAMLvars.varspecs[var] = default_stuff()
+ if YAMLvars.setts.stripvars then -- todo move to a func for easier use
+ var = var:gsub("%s+", "")
+ end
+ YAMLvars.varspecs[var] = default_stuff() -- assign default specs of a variable to the current var
if type(specs) == 'string' then
if YAMLvars.setts.decstr == 'xfm' then specs = {xfm={specs}} end
if YAMLvars.setts.decstr == 'dft' then specs = {dft=specs} end
@@ -437,6 +442,9 @@ function YAMLvars.parseYAMLvarsStr(y)
if YAMLvars.varslowcase:contains(var:lower()) then
var = var:lower()
end
+ if YAMLvars.setts.stripvars then -- todo move to a func for easier use
+ var = var:gsub("%s+", "")
+ end
if YAMLvars.varspecs[var] == nil and YAMLvars.setts.undeclared then
YAMLvars.debugtalk(YAMLvars.setts, 'XYZ')
YAMLvars.varspecs[var] = default_stuff() -- if undeclared and allowing, add to varspec set to default xfm, prc, dft
diff --git a/macros/luatex/latex/yamlvars/yamlvars.pdf b/macros/luatex/latex/yamlvars/yamlvars.pdf
index 3a820bb148..ae8bb01507 100644
--- a/macros/luatex/latex/yamlvars/yamlvars.pdf
+++ b/macros/luatex/latex/yamlvars/yamlvars.pdf
Binary files differ
diff --git a/macros/luatex/latex/yamlvars/yamlvars.sty b/macros/luatex/latex/yamlvars/yamlvars.sty
index 524b290f34..8bc387a0f5 100644
--- a/macros/luatex/latex/yamlvars/yamlvars.sty
+++ b/macros/luatex/latex/yamlvars/yamlvars.sty
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2023-12-08
+% 2024-08-17
% Copyright (C) 2021-2023 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -25,7 +25,7 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{yamlvars}[2023-12-08]
+\ProvidesPackage{yamlvars}[2024-08-17]
\RequirePackage{luacode}
\RequirePackage{etoolbox}
diff --git a/macros/luatex/latex/yamlvars/yamlvars.tex b/macros/luatex/latex/yamlvars/yamlvars.tex
index 3b00000feb..3e08dc883d 100644
--- a/macros/luatex/latex/yamlvars/yamlvars.tex
+++ b/macros/luatex/latex/yamlvars/yamlvars.tex
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2023-12-08
+% 2024-08-17
% Copyright (C) 2021-2023 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -229,6 +229,7 @@ Rhead: \today
\end{parseYAMLvars}
\end{verbatim}
+Note: all whitespace is stripped from the variable name when parsing.
\section{xfm -- Transform Functions}
These functions accept two arguments: \texttt{(var, val)} where \texttt{var} is the variable (or key) and val is the value.
diff --git a/macros/texinfo/latest/htmlxref.cnf b/macros/texinfo/latest/htmlxref.cnf
index 3ef8642eab..15cd3c8716 100644
--- a/macros/texinfo/latest/htmlxref.cnf
+++ b/macros/texinfo/latest/htmlxref.cnf
@@ -1,6 +1,6 @@
# htmlxref.cnf - reference file for free Texinfo manuals on the web.
-htmlxrefversion=2024-06-28.08; # UTC
+htmlxrefversion=2024-08-22.20; # UTC
# Copyright 2010-2024 Free Software Foundation, Inc.
#
@@ -174,6 +174,9 @@ emacs node ${EMACS}/html_node/emacs/
ediff mono ${EMACS}/html_mono/ediff.html
ediff node ${EMACS}/html_node/ediff/
#
+ eglot mono ${EMACS}/html_mono/eglot.html
+ eglot node ${EMACS}/html_node/eglot/
+ #
eieio mono ${EMACS}/html_mono/eieio.html
eieio node ${EMACS}/html_node/eieio/
#
@@ -300,6 +303,9 @@ emacs node ${EMACS}/html_node/emacs/
url mono ${EMACS}/html_mono/url.html
url node ${EMACS}/html_node/url/
#
+ use-package mono ${EMACS}/html_mono/use-package.html
+ use-package node ${EMACS}/html_node/use-package/
+ #
vhdl-mode mono ${EMACS}/html_mono/vhdl-mode.html
vhdl-mode node ${EMACS}/html_node/vhdl-mode/
#
@@ -656,7 +662,7 @@ pspp node ${GS}/pspp/manual/html_node/
pyconfigure mono ${GS}/pyconfigure/manual/pyconfigure.html
pyconfigure node ${GS}/pyconfigure/manual/html_node/
-R = https://cran.r-project.org/doc/manuals
+R = https://CRAN.R-project.org/doc/manuals
R-intro mono ${R}/R-intro.html
R-lang mono ${R}/R-lang.html
R-exts mono ${R}/R-exts.html
diff --git a/macros/unicodetex/latex/polyglossia/README.md b/macros/unicodetex/latex/polyglossia/README.md
index d0ba2a157a..a3f65bbb9d 100644
--- a/macros/unicodetex/latex/polyglossia/README.md
+++ b/macros/unicodetex/latex/polyglossia/README.md
@@ -1,4 +1,4 @@
-# THE POLYGLOSSIA PACKAGE v2.1
+# THE POLYGLOSSIA PACKAGE v2.2
## Multilingual typesetting with XeLaTeX and LuaLaTeX
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.dtx b/macros/unicodetex/latex/polyglossia/polyglossia.dtx
index 09cac66703..9e018afc66 100644
--- a/macros/unicodetex/latex/polyglossia/polyglossia.dtx
+++ b/macros/unicodetex/latex/polyglossia/polyglossia.dtx
@@ -8,7 +8,7 @@
\iffalse
%</internal>
%<*README>
-# THE POLYGLOSSIA PACKAGE v2.1
+# THE POLYGLOSSIA PACKAGE v2.2
## Multilingual typesetting with XeLaTeX and LuaLaTeX
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
@@ -65,7 +65,8 @@ to track the issues and follow progress.
____________________________
The polyglossia package
- (C) 2008–2010 François Charette
+ (C) 2008–2010 François Charette
+ (C) 2023-2024 Udi Fogiel
(C) 2011–2024 Arthur Reutenauer
(C) 2013 Elie Roux
(C) 2019 Bastien Roucariès
@@ -76,19 +77,29 @@ to track the issues and follow progress.
\endpreamble
\postamble
- Copyright (C) 2024 by Arthur Reutenauer <arthur 'dot' reutenauer 'at' normalesup 'dot' org>
+ Copyright (C) 2024 by The Polyglossia Team http://github.com/reutenauer/polyglossia/
- This work may be distributed and/or modified under the
- conditions of the LaTeX Project Public License, either version 1.3
- of this license of (at your option) any later version.
- The latest version of this license is in
- http://www.latex-project.org/lppl.txt
- and version 1.3 or later is part of all distributions of LaTeX
- version 2005/12/01 or later.
-
- This work has the LPPL maintenance status `maintained'.
+ Except where otherwise noted, Polyglossia is placed under the terms of the
+ MIT licence (https://opensource.org/licenses/MIT).
+
+ 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.
- The Current Maintainer of this work is Arthur Reutenauer.
+ Please report issues to http://github.com/reutenauer/polyglossia/issues
\endpostamble
@@ -98,8 +109,8 @@ to track the issues and follow progress.
\generate{\file{farsical.sty}{\from{polyglossia.dtx}{farsical.sty}}}
\generate{\file{hebrewcal.sty}{\from{polyglossia.dtx}{hebrewcal.sty}}}
\generate{\file{hijrical.sty}{\from{polyglossia.dtx}{hijrical.sty}}}
+\generate{\file{polyglossia-cjk-spacing.lua}{\from{polyglossia.dtx}{polyglossia-cjk-spacing.lua}}}
\generate{\file{polyglossia-french.lua}{\from{polyglossia.dtx}{polyglossia-french.lua}}}
-\generate{\file{polyglossia-korean.lua}{\from{polyglossia.dtx}{polyglossia-korean.lua}}}
\generate{\file{polyglossia-latin.lua}{\from{polyglossia.dtx}{polyglossia-latin.lua}}}
\generate{\file{polyglossia-punct.lua}{\from{polyglossia.dtx}{polyglossia-punct.lua}}}
\generate{\file{polyglossia-sanskrit.lua}{\from{polyglossia.dtx}{polyglossia-sanskrit.lua}}}
@@ -109,7 +120,7 @@ to track the issues and follow progress.
\generate{\file{babelsh.def}{\from{polyglossia.dtx}{babelsh.def}}}
\generate{\file{cal-util.def}{\from{polyglossia.dtx}{cal-util.def}}}
\generate{\file{xgreek-fixes.def}{\from{polyglossia.dtx}{xgreek-fixes.def}}}
-\generate{\file{gloss-acadien.ldf}{\from{polyglossia.dtx}{gloss-acadien.ldf}}}
+\generate{\file{gloss-acadian.ldf}{\from{polyglossia.dtx}{gloss-acadian.ldf}}}
\generate{\file{gloss-aeb.ldf}{\from{polyglossia.dtx}{gloss-aeb.ldf}}}
\generate{\file{gloss-af.ldf}{\from{polyglossia.dtx}{gloss-af.ldf}}}
\generate{\file{gloss-afb.ldf}{\from{polyglossia.dtx}{gloss-afb.ldf}}}
@@ -163,6 +174,7 @@ to track the issues and follow progress.
\generate{\file{gloss-ckb-Arab.ldf}{\from{polyglossia.dtx}{gloss-ckb-Arab.ldf}}}
\generate{\file{gloss-ckb-Latn.ldf}{\from{polyglossia.dtx}{gloss-ckb-Latn.ldf}}}
\generate{\file{gloss-ckb.ldf}{\from{polyglossia.dtx}{gloss-ckb.ldf}}}
+\generate{\file{gloss-classiclatin.ldf}{\from{polyglossia.dtx}{gloss-classiclatin.ldf}}}
\generate{\file{gloss-cop.ldf}{\from{polyglossia.dtx}{gloss-cop.ldf}}}
\generate{\file{gloss-coptic.ldf}{\from{polyglossia.dtx}{gloss-coptic.ldf}}}
\generate{\file{gloss-croatian.ldf}{\from{polyglossia.dtx}{gloss-croatian.ldf}}}
@@ -195,6 +207,7 @@ to track the issues and follow progress.
\generate{\file{gloss-dsb.ldf}{\from{polyglossia.dtx}{gloss-dsb.ldf}}}
\generate{\file{gloss-dutch.ldf}{\from{polyglossia.dtx}{gloss-dutch.ldf}}}
\generate{\file{gloss-dv.ldf}{\from{polyglossia.dtx}{gloss-dv.ldf}}}
+\generate{\file{gloss-ecclesiasticlatin.ldf}{\from{polyglossia.dtx}{gloss-ecclesiasticlatin.ldf}}}
\generate{\file{gloss-el-monoton.ldf}{\from{polyglossia.dtx}{gloss-el-monoton.ldf}}}
\generate{\file{gloss-el-polyton.ldf}{\from{polyglossia.dtx}{gloss-el-polyton.ldf}}}
\generate{\file{gloss-el.ldf}{\from{polyglossia.dtx}{gloss-el.ldf}}}
@@ -277,9 +290,6 @@ to track the issues and follow progress.
\generate{\file{gloss-lao.ldf}{\from{polyglossia.dtx}{gloss-lao.ldf}}}
\generate{\file{gloss-latex.ldf}{\from{polyglossia.dtx}{gloss-latex.ldf}}}
\generate{\file{gloss-latin.ldf}{\from{polyglossia.dtx}{gloss-latin.ldf}}}
-\generate{\file{gloss-latinclassic.ldf}{\from{polyglossia.dtx}{gloss-latinclassic.ldf}}}
-\generate{\file{gloss-latinecclesiastic.ldf}{\from{polyglossia.dtx}{gloss-latinecclesiastic.ldf}}}
-\generate{\file{gloss-latinmedieval.ldf}{\from{polyglossia.dtx}{gloss-latinmedieval.ldf}}}
\generate{\file{gloss-latvian.ldf}{\from{polyglossia.dtx}{gloss-latvian.ldf}}}
\generate{\file{gloss-lithuanian.ldf}{\from{polyglossia.dtx}{gloss-lithuanian.ldf}}}
\generate{\file{gloss-lo.ldf}{\from{polyglossia.dtx}{gloss-lo.ldf}}}
@@ -292,6 +302,7 @@ to track the issues and follow progress.
\generate{\file{gloss-malay.ldf}{\from{polyglossia.dtx}{gloss-malay.ldf}}}
\generate{\file{gloss-malayalam.ldf}{\from{polyglossia.dtx}{gloss-malayalam.ldf}}}
\generate{\file{gloss-marathi.ldf}{\from{polyglossia.dtx}{gloss-marathi.ldf}}}
+\generate{\file{gloss-medievallatin.ldf}{\from{polyglossia.dtx}{gloss-medievallatin.ldf}}}
\generate{\file{gloss-mk.ldf}{\from{polyglossia.dtx}{gloss-mk.ldf}}}
\generate{\file{gloss-ml.ldf}{\from{polyglossia.dtx}{gloss-ml.ldf}}}
\generate{\file{gloss-mn.ldf}{\from{polyglossia.dtx}{gloss-mn.ldf}}}
@@ -351,16 +362,9 @@ to track the issues and follow progress.
\generate{\file{gloss-welsh.ldf}{\from{polyglossia.dtx}{gloss-welsh.ldf}}}
\generate{\file{gloss-zh-CN.ldf}{\from{polyglossia.dtx}{gloss-zh-CN.ldf}}}
\generate{\file{gloss-zh-TW.ldf}{\from{polyglossia.dtx}{gloss-zh-TW.ldf}}}
-\generate{\file{arabicdigits.map}{\from{polyglossia.dtx}{arabicdigits.map}}}
-\generate{\file{bengalidigits.map}{\from{polyglossia.dtx}{bengalidigits.map}}}
-\generate{\file{devanagaridigits.map}{\from{polyglossia.dtx}{devanagaridigits.map}}}
-\generate{\file{farsidigits.map}{\from{polyglossia.dtx}{farsidigits.map}}}
-\generate{\file{gurmukhidigits.map}{\from{polyglossia.dtx}{gurmukhidigits.map}}}
-\generate{\file{odiadigits.map}{\from{polyglossia.dtx}{odiadigits.map}}}
-\generate{\file{thaidigits.map}{\from{polyglossia.dtx}{thaidigits.map}}}
\def\MetaPrefix{-- }
+\generate{\file{polyglossia-cjk-spacing.lua}{\from{polyglossia.dtx}{polyglossia-cjk-spacing.lua}}}
\generate{\file{polyglossia-french.lua}{\from{polyglossia.dtx}{polyglossia-french.lua}}}
-\generate{\file{polyglossia-korean.lua}{\from{polyglossia.dtx}{polyglossia-korean.lua}}}
\generate{\file{polyglossia-latin.lua}{\from{polyglossia.dtx}{polyglossia-latin.lua}}}
\generate{\file{polyglossia-punct.lua}{\from{polyglossia.dtx}{polyglossia-punct.lua}}}
\generate{\file{polyglossia-sanskrit.lua}{\from{polyglossia.dtx}{polyglossia-sanskrit.lua}}}
@@ -405,8 +409,10 @@ to track the issues and follow progress.
]{hyperref}
\usepackage{array}
\usepackage{metalogo}
-\let\XeTeX\undefined
-\let\XeLaTeX\undefined
+\ifxetex
+ \let\XeTeX\undefined
+ \let\XeLaTeX\undefined
+\fi
\usepackage[babelshorthands]{polyglossia}
\usepackage{farsical}
%
@@ -506,15 +512,23 @@ to track the issues and follow progress.
\usepackage[osf]{libertine}
% Monospace: Package dejavu-otf
\setmonofont[Scale=MatchLowercase]{DejaVuSansMono}
-% Libertine includes Hebrew, but we load it separately since
-% osf is not supported with this script and we want to avoid the
-% respective warnings
-\newfontfamily\hebrewfont[Script=Hebrew]{Linux Libertine O}
+% Package culmus
+\newfontfamily\hebrewfont[Script=Hebrew]{DavidCLM}[
+ UprightFont = *-Medium,
+ BoldFont = *-Bold,
+ Extension = .otf,
+ ItalicFont = *-MediumItalic,
+ BoldItalicFont = *-BoldItalic]
% Package dejavu-otf
\newfontfamily\armenianfont[Script=Armenian,Scale=MatchLowercase]{DejaVuSans}
\newfontfamily\georgianfont[Scale=MatchLowercase]{DejaVuSerif}
% Package amiri
-\newfontfamily\arabicfont[Script=Arabic]{Amiri-Regular}
+\newfontfamily\arabicfont[Script=Arabic]{Amiri}[%
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ Extension = .ttf,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic]
% No Syriac otf/ttf font seems available on CTAN
% This one, from the Syriac Institute, is included on Linux
% in the x11-fonts set and can be downloaded from
@@ -850,7 +864,7 @@ to track the issues and follow progress.
% dv & divehi & \tabularnewline
% el & greek & \tabularnewline
% el-monoton & greek & variant=monotonic [\emph{default}] \tabularnewline
-% el-polyton & greek & varant=polytonic \tabularnewline
+% el-polyton & greek & variant=polytonic \tabularnewline
% en & english & \tabularnewline
% en-AU & english & variant=australian \tabularnewline
% en-CA & english & variant=canadian \tabularnewline
@@ -1164,13 +1178,25 @@ to track the issues and follow progress.
%
% \section{Font setup}
%
-% With polyglossia it is possible to associate a specific font with any script or language
+% With \pkg{polyglossia} it is possible to associate a specific font with any script or language
% that occurs in the document. That font should always be defined as
-% \cmd{\⟨script⟩font}\ or \cmd{\⟨language⟩font}.
+% \cmd{\⟨script⟩font}\ or \cmd{\⟨language⟩font}. Note that ¦⟨language⟩¦ points to the \pkg{polyglossia}
+% language name, ¦⟨script⟩¦ might point either to an OpenType script name as defined by \pkg{fontspec}
+% (\eg ¦Latin¦) \new{2.2}or a BCP-47 script tag (\eg ¦Latn¦), though the script is fully lower-cased
+% in the \cmd{\⟨script⟩font}\ command.
+%
% For instance, if the default font defined by \cmd\setmainfont\
% does not support Greek, then one can define the font used to display Greek with:\\
-% \centerline{ \cmd\newfontfamily\cmd{\greekfont[Script=Greek,\meta{…}]\marg{font}}. }
-% Note that polyglossia will use the font defined as is, so assure to do all necessary settings
+% \centerline{\cmd\newfontfamily\cmd{\greekfont[Script=Greek,\meta{…}]\marg{font}}}
+% ^^A
+% If you want to setup a blackletter font specifically for the German blackletter script variant,
+% you might do so by:\\
+% \centerline{\cmd\newfontfamily\cmd{\latffont[\meta{…}]\marg{font}}}
+% ^^A
+% Setting up a font specifically for traditional Chinese is possible via:\\
+% \centerline{\cmd\newfontfamily\cmd{\hantfont[Script=CJK,\meta{…}]\marg{font}}}
+% ^^A
+% Note that \pkg{polyglossia} will use the font defined as is, so assure to do all necessary settings
% (please refer to the \pkg{fontspec} documentation for details).
% For instance, if \cmd\arabicfont\ is explicitly defined, then the option ¦Script=Arabic¦ should
% be included in that definition.
@@ -1180,10 +1206,12 @@ to track the issues and follow progress.
% \cmd{\⟨script⟩fontsf} or \cmd{\⟨language⟩fontsf} and \cmd{\⟨script⟩fonttt} or \cmd{\⟨language⟩fonttt}, respectively.
%
% Whenever a new language is activated, \pkg{polyglossia} will first check whether
-% a font has been defined for that language or – for languages in non-Latin scripts –
-% for the script it uses. If it is not defined, it will use the currently active font
-% and – in the case of OpenType fonts – will attempt to turn on the appropriate
-% OpenType tags for the script and language used, in case these are available in
+% a font has been defined for that language. If this is not the case, it will check whether a font associated
+% with the BCP-47 script tag of the current language is defined. If this also isn't the case, \pkg{polyglossia}
+% will finally check (but this only for languages in non-Latin scripts) whether there is a font associated
+% with the OpenType script tag. If none of these fonts is defined, \pkg{polyglossia} will use the currently
+% active font as defined by ¦\setmainfont¦, ¦\setsansfont¦ or ¦\setmonofont¦ and – in the case of OpenType fonts –
+% will attempt to turn on the appropriate OpenType tags for the script and language used, in case these are available in
% the font, by means of \pkg{fontspec}’s \cmd\addfontfeature. If the current font
% does not appear to support the script of that language, an error message is
% displayed.
@@ -1978,7 +2006,7 @@ to track the issues and follow progress.
% \end{table}
% \item \xpgchoicekey[1.46]{hyphenation}{\xpgvalue{classic}, \xpgvalue{modern}, or \xpgvalue{liturgical}}
% There are three different sets of hyphenation patterns for Latin. Separate
-% documention for them is available on the
+% documentation for them is available on the
% Internet.\footnote{Refer to \url{https://github.com/gregorio-project/hyphen-la/blob/master/doc/README.md\#hyphenation-styles}}
% Each of the four variants mentioned above has its default set of hyphenation
% patterns as indicated by table \ref{tab:latin-hyphenation}. Use the
@@ -2050,7 +2078,7 @@ to track the issues and follow progress.
% \item[¦'AE¦] for Ǽ (AE ligature with acute), also available for \'Œ
% \end{shorthands}
% \item \xpgboolkeyfalse[1.46]{prosodicshorthands}
-% Enable shorthands for prosodic marks (macrons and breves) very similiar to
+% Enable shorthands for prosodic marks (macrons and breves) very similar to
% those provided by \pkg{babel-latin} using the ¦withprosodicmarks¦
% modifier.
% Note that the active ¦=¦ character used for macrons will cause problems with
@@ -2956,7 +2984,7 @@ to track the issues and follow progress.
% \subsection{Islamic calendar (hijrical.sty)}\label{sec:hijrical}
% This package computes dates in the lunar Islamic (Hijra) calendar.\footnote{ %
% It makes use of the arithmetical algorithm in chapter 6 of
-% Reingold \& Gershowitz, \textit{Calendrical calculation: the Millenium edition}
+% Reingold \& Gershowitz, \textit{Calendrical calculation: the Millennium edition}
% (Cambridge University Press, 2001).\label{reingold}}
% It provides two macros for the end-user.
% The command
@@ -3091,6 +3119,31 @@ to track the issues and follow progress.
%
% \bgroup\footnotesize
%
+% \subsection*{2.2 (2024/07/15)}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Fix \texttt{lang} environment (\TXI{633}).
+% \item Fix first number of Maghrib abjad numbering for Algeria, Morocco and
+% Tunisia (\TXI{640}).
+% \item Fix some captions strings in Bulgarian, Chinese, Esperanto, Estonian, Hindi,
+% Latvian, and Slovak (\TXP{651})
+% \item Improve performance with multilingual documents that have a TOC (\TXI{641}).
+% \end{itemize}
+%
+% \subsubsection*{New Features}
+% \begin{itemize}
+% \item Add possibility to associate a font to a language/variant with reference to
+% a BCP-47 script tag (\TXI{636}).
+% \end{itemize}
+%
+% \subsubsection*{Internal work}
+% \begin{itemize}
+% \item The major rewrite of the package code has been finished. More code has been cleaned up,
+% and \pkg{polyglossia} employs modern concepts (\pkg{latex3} and modern \LaTeXe).
+% All key-val handling uses \pkg{l3keys} now rather than \pkg{xkeyval}.
+% \end{itemize}
+%
% \subsection*{2.1 (2024/03/07)}
%
% \subsubsection*{Bug fixes}
@@ -4149,7 +4202,7 @@ to track the issues and follow progress.
% \section{Acknowledgements (by François Charette)}
% \pkg{Polyglossia} is notable for being a recycle box of previous contributions
% by other people. I take this opportunity to thank the following individuals,
-% whose splendid work has made my task almost trivial in comparision: \TA{Johannes
+% whose splendid work has made my task almost trivial in comparison: \TA{Johannes
% Braams} and the numerous contributors to the \pkg{babel} package (in particular
% \TA{Boris Lavva} and others for its Hebrew support), \TA{Alexej Kryukov} (\pkg{antomega}),
% \TA{Will Robertson} (\pkg{fontspec}), \TA{Apostolos Syropoulos} (\pkg{xgreek}), \TA{Youssef Jabri}
@@ -4176,7 +4229,7 @@ to track the issues and follow progress.
% since we took over.
% In alphabetical order: \TA{Ignas Anikevicius}, \TA{Sina Ahmadi}, \TA{Matthew Bertucci}, \TA{Wouter Bolsterlee}, \TA{Christian Buhtz},
% \TA{Ashok Das}, \TA{Oleg Domanov}, user \TA{fakhriaunur}, \TA{Philipp Gesang}, \TA{Kevin Godby},
-% \TA{Enrico Gregorio}, \TA{Khaled Hosny}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime},
+% \TA{Enrico Gregorio}, \TA{Khaled Hosny}, \TA{Stephen Huan}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime},
% \TA{Mike Kroutikov}, \TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{Gyula Magyarkuti}, \TA{José Mancera}, \TA{Miquel Ortega},
% \TA{Yevgen Pogribnyi}, \TA{Will Robertson}, \TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy}, \TA{Guy Rutenberg},
% \TA{Marcin Serwin}, \TA{Arvinder Singh}, \TA{Avisek Jena}, \TA{Philipp Stephani}, \TA{Niranjan Tambe}, \TA{Takuji Tanaka},
@@ -4208,33 +4261,28 @@ to track the issues and follow progress.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage
- {polyglossia} {2024/03/07} {v2.1}
+ {polyglossia} {2024/07/15} {v2.2}
{Modern multilingual typesetting with XeLaTeX and LuaLaTeX}
+% TODO Handle remaining uses in the gloss files (\patchcmd)
+% and remove package call afterwards
\RequirePackage{etoolbox}
-\RequirePackage{xkeyval}[2008/08/13]
% Will raise error if used with anything else than XeTeX or LuaTeX
\RequirePackage{fontspec}[2010/06/08]% v2.0
\RequirePackage{iftex}
\prg_generate_conditional_variant:Nnn \clist_if_in:Nn {Ne} {TF, T, F} % check if needed
-% correct a bug in tracklang
-\AddToHook{package/tracklang/after}{%
- \IfPackageAtLeastTF{tracklang}{2019/08/30}
- {}
- {\cs_gset_eq:NN \AddTrackedLangage \AddTrackedLanguage}
-}
-
%% The following is for compatibility with Babel-aware package:
% \languageshorthands is provided by babelsh.def, which is
% only loaded by some glosses, but some classes presuppose
% it is there generally. So let's provide a stub:
\ProvideDocumentCommand \languageshorthands { m } {}
% These have to be provided at the end of the preamble
-\AddToHook{begindocument/before}{
- \cs_gset_eq:NN \bbl@set@language \xpg@set@language@aux % for biblatex
- \cs_gset_eq:NN \bbl@main@language \xpg@main@language % for biblatex
+\hook_gput_code:nnn {begindocument/before} {.}
+{
+ \cs_gset_eq:NN \bbl@set@language \xpg_set_language_aux:nn % for biblatex
+ \cs_gset_eq:NN \bbl@main@language \xpg_main_language_tl % for biblatex
\ProvideDocumentCommand \texorpdfstring { m m } { #1 } % dummy command if hyperref is not loaded
}
@@ -4243,16 +4291,15 @@ to track the issues and follow progress.
%% \l@nohyphenation is defined in polyglossia.lua
\sys_if_engine_luatex:TF
{
- \RequirePackage{luatexbase} % already included by fontspec, but needed here
- \RequireLuaModule{polyglossia}
+ \lua_load_module:n{polyglossia}
}{
\cs_if_free:cT { l@nohyphenation }
{ \chardef\l@nohyphenation=255 }
}
-% Which version of XeTeX do we use? What is the boudary class? 4095 or 255
+% Which version of XeTeX do we use? What is the boundary class? 4095 or 255
\cs_if_exist:cTF { e@alloc@intercharclass@top }
- { \let\xpg@boundaryclass=\e@alloc@intercharclass@top }
+ { \cs_gset_eq:NN \xpg@boundaryclass \e@alloc@intercharclass@top }
{ \chardef\xpg@boundaryclass=\@cclv }
% Useful for getting list of loaded languages and variants. Like babel's bbl@loaded
@@ -4288,18 +4335,18 @@ to track the issues and follow progress.
\cs_new_nopar:Nn \__xpg_at_begin_document:
{
% save various command
- \let\latin@alph\@alph % TODO rename when we have the C locale
- \let\latin@Alph\@Alph % TODO rename when we have the C locale
+ \cs_gset_eq:cc{latin@alph}{@alph}% TODO rename when we have the C locale
+ \cs_gset_eq:cc{latin@Alph}{@Alph}% TODO rename when we have the C locale
% push to C language gloss
- \let\polyglossia@Clang@@arabic\@arabic
- \let\polyglossia@Clang@arabic\arabic
+ \cs_gset_eq:cc{xpg_Clang_arabic}{@arabic}
\xpg_initial_setup:
% apply \familydefault changes
- \xpg@set@familydefault
+ \xpg_set_familydefault:
}
-\AddToHook{begindocument}{
+\hook_gput_code:nnn {begindocument} {.}
+{
\__xpg_at_begin_document:
}
@@ -4307,7 +4354,8 @@ to track the issues and follow progress.
% loaded after \set[main|other]language
% Track whether the main language has been set
\bool_new:N \g_xpg_main_lang_set_bool
-\AddToHook{begindocument/end}{
+\hook_gput_code:nnn {begindocument/end} {.}
+{
% now we have the C locale definition: select the language
\__xpg_at_begin_document_selectlanguage:
\bool_gset_true:N \g_xpg_main_lang_set_bool
@@ -4315,99 +4363,177 @@ to track the issues and follow progress.
\__xpg_at_begin_document_hyphenation:
}
-%% custom message macros
-\providecommand*{\xpg@error}[1]{
- \PackageError{polyglossia}{#1}{}
+%
+% MESSAGES
+%
+
+% message templates
+\msg_new:nnn { polyglossia } { general } { #1 }
+
+\msg_new:nnn { polyglossia } { languagenotloaded }
+{
+ The~ language~ #1~ is~ not~ loaded.~ You~ must~ load~ it~ in~ order~ to~ use~ it.
}
+\msg_redirect_name:nnn { polyglossia } { languagenotloaded } { critical }
-\providecommand*{\xpg@warning}[1]{
- \PackageWarning{polyglossia}{#1}
+\msg_new:nnn { polyglossia } { languagenolongerloaded }
+{
+ The~ language~ #1~ is~ no~ longer~ loaded.~ Please~ rerun~ LaTeX.
}
+\msg_redirect_name:nnn { polyglossia } { languagenolongerloaded } { warning }
-\providecommand*{\xpg@info}[1]{
- \PackageInfo{polyglossia}
- {#1\@gobble}
-} %% the \@gobble is to prevent displaying the line nr
+\msg_new:nnn { polyglossia } { unknownlocalnumeral }
+{
+ Unknown~ key~ "#1"~ in~ \string\localnumeral.
+}
-%TODO change all instances of \xpg@nopatterns in gloss-*.ldf files
-\providecommand*{\xpg@nopatterns@fallback}[2][nohyphenation]{
- \xpg@warning{No~ hyphenation~ patterns~ were~ loaded~ for~ `#2'\MessageBreak
- I~ will~ use~ \string\language=\string\l@ #1\space instead}
- \expandafter\adddialect\csname l@#2\expandafter\endcsname\csname l@#1\endcsname\relax}
+\msg_new:nnn { polyglossia } { localnumeralemptyvalue }
+{
+ Keys~ of~ \string\localnumeral~ must~ have~ a~ value.
+}
-\providecommand*{\xpg@nopatterns}[1]{
- \xpg@warning{No~ hyphenation~ patterns~ were~ loaded~ for~ `#1'\MessageBreak
- I~ will~ use~ \string\language=\string\l@nohyphenation\space instead}
- %%TODO? \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax
- }
+\msg_new:nnn { polyglossia } { illvalue }
+{
+ Illegal~ value~ (#1)~ for~ #2!
+}
-\def\xpg@ill@value#1#2{
- \xpg@warning{Illegal~ value~ (#1)~ for~ #2}}
+\msg_new:nnn { polyglossia } { illarg }
+{
+ Invalid~ argument~ (#1)~ for~ #2!
+}
-% error out if lang is not loaded
-\cs_new_nopar:Nn \xpg_error_if_lang_not_loaded:n
+\msg_new:nnn { polyglossia } { nopatterns }
{
- \seq_if_in:NeF \__xpg_langs_loaded {#1}
- {
- \xpg@error{language~ #1~ is~ not~ loaded.~ Please~ load~ it~ before~ using~ it.}
- }
+ No~ hyphenation~ patterns~ were~ loaded~ for~ `#2' \iow_newline:
+ I~ will~ use~ \string\language=\string\l@ #1\space instead.
}
-\msg_new:nnn { polyglossia } { languagenotloaded }
+\msg_new:nnn { polyglossia } { undefcmd }
{
- The~ language~ #1~ is~ not~ loaded.~ You~ should~ load~ it.
+ \tl_to_str:N {#1} ~ is~ not~ defined!
}
-\msg_redirect_name:nnn { polyglossia } { languagenotloaded } { critical }
-\msg_new:nnn { polyglossia } { languagenolongerloaded }
+%% custom message macros
+\cs_new_nopar:Nn \xpg_error_msg:n
{
- The~ language~ #1~ is~ no~ longer~ loaded.~ Please~ rerun~ LaTeX.
+ \exp_args:Nnne \msg_error:nnn { polyglossia } { general } { #1 }
}
-\msg_redirect_name:nnn { polyglossia } { languagenolongerloaded } { warning }
-\msg_new:nnn { polyglossia } { unknownlocalnumeral }
+\cs_new_nopar:Nn \xpg_warning_msg:n
{
- Unknown~ key~ "#1"~ in~ \string\localnumeral.
+ \exp_args:Nnne \msg_warning:nnn { polyglossia } { general } { #1 }
}
-\msg_new:nnn { polyglossia } { localnumeralemptyvalue }
+\cs_new_nopar:Nn \xpg_info_msg:n
+{
+ \exp_args:Nnne \msg_info:nnn { polyglossia } { general } { #1 }
+}
+
+\cs_new_nopar:Nn \xpg_no_patterns_msg:n
{
- Keys~ of~ \string\localnumeral~ must~ have~ value.
+ \msg_warning:nnnn { polyglossia } { nopatterns } { nohyphenation } { #1 }
}
+\cs_new_nopar:Nn \xpg_ill_value_msg:nn
+{
+ \msg_warning:nnnn { polyglossia } { illvalue } { #1 } { #2 }
+}
+
+\cs_new_nopar:Nn \xpg_ill_arg_msg:nn
+{
+ \msg_error:nnnn { polyglossia } { illarg } { #1 } { #2 }
+}
+
+% error out if lang is not loaded
+\cs_new_nopar:Nn \xpg_error_if_lang_not_loaded:n
+{
+ \seq_if_in:NeF \__xpg_langs_loaded {#1}
+ {
+ \msg_error:nnn { polyglossia } { languagenotloaded } { #1 }
+ }
+}
%% use macro if defined, else warn that it is not
\cs_new_nopar:Nn \__xpg_use_or_warn:N
{
\cs_if_exist_use:NF {#1}
{
- \xpg@warning { \tl_to_str:N {#1} ~ is~ not~ defined }
+ \msg_error:nnn { polyglossia } { undefcmd } { #1 }
}
}
\cs_generate_variant:Nn \__xpg_use_or_warn:N {c}
+% gloss message interface
+\cs_set_eq:cc { xpg@error } { xpg_error_msg:n }
+\cs_set_eq:cc { xpg@warning } { xpg_warning_msg:n }
+\cs_set_eq:cc { xpg@info } { xpg_info_msg:n }
+\cs_set_eq:cc { xpg@ill@value } { xpg_ill_value_msg:nn }
+
+
+\NewDocumentCommand \XPGNoPatternsFallback { O{ nohyphenation } m }
+{
+ \msg_warning:nnnn { polyglossia } { nopatterns } { #1 } { #2 }
+ \exp_args:Ncc \adddialect {l@#2} {l@#1}
+}
+
+\NewDocumentCommand \CheckHyphenationPatterns { m }
+{
+ \xpg_if_language_defined:nF {#1}
+ {
+ \XPGNoPatternsFallback{#1}
+ }
+}
+
+%
+% END MESSAGES
+
%% ensure directionality if bidi is loaded, else ignore
-\def\@@ensure@dir#1{\ifcsundef{@ensure@dir}{#1}{\@ensure@dir{#1}}}
-\def\@@ensure@maindir#1{\ifcsundef{@ensure@maindir}{#1}{\@ensure@maindir{#1}}}
+%%% FIXME still used?
+\cs_new_nopar:Npn \@@ensure@dir #1
+{
+ \cs_if_exist_use:c{@ensure@dir}{#1}
+}
-%% Used by the language definitions files for right-to-left languages
-\NewDocumentCommand \RequireBidi {}
+\cs_new_nopar:Npn \@@ensure@maindir #1
{
- \sys_if_engine_luatex:TF
- {\ifx\@onlypreamble\@notprerr\else\RequirePackage{luabidi}\fi}
- {\ifx\@onlypreamble\@notprerr\else\RequirePackage{bidi}\fi}
+ \cs_if_exist_use:c{@ensure@maindir}{#1}
}
-% if #1 is LR run #2 else #3
+% if we are in the document preamble run T else F
+\prg_set_conditional:Nnn \xpg_if_in_preamble: {T, F, TF}
+{
+ \cs_if_eq:NNTF { \@onlypreamble } { \@notprerr }
+ {
+ \prg_return_false:
+ }
+ {
+ \prg_return_true:
+ }
+}
+
+%% Used by the language definitions files for right-to-left languages
+\DeclareDocumentCommand \RequireBidi {}
+ {
+ \xpg_if_in_preamble:T
+ {
+ \sys_if_engine_luatex:TF
+ { \RequirePackage{luabidi} }
+ { \RequirePackage{bidi} }
+ }
+ \DeclareDocumentCommand \RequireBidi {} {}
+ }
+
+% if #1 is LR run T else F
\prg_set_conditional:Nnn \__xpg_if_LR_str:n {p, T, F, TF}
{
- \str_case_e:nnF{#1}{
+ \str_case_e:nnF{#1}
+ {
{LR}{\prg_return_true:}
{RL}{\prg_return_false:}
}
{
- \xpg@error{Unknown~ direction~#1}
+ \xpg_error_msg:n {Unknown~ direction~#1}
\prg_return_false:
}
}
@@ -4420,17 +4546,18 @@ to track the issues and follow progress.
{
\__xpg_if_LR_str:nF {#1}
{
- \xpg@error{right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!}
+ \xpg_error_msg:n {right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!}
}
}
\cs_new_nopar:Nn \__xpg_set_text_direction:n
{
\__xpg_if_LR_str:nF {#1}
{
- \xpg@error{right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!}
+ \xpg_error_msg:n {right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!}
}
}
-\AddToHook{package/bidi/after}{
+\hook_gput_code:nnn {package/bidi/after} {.}
+{
\cs_gset_nopar:Nn \__xpg_set_par_direction:n
{
\__xpg_if_LR_str:nTF{#1}
@@ -4452,7 +4579,8 @@ to track the issues and follow progress.
}
}
}
-\AddToHook{package/luabidi/after}{
+\hook_gput_code:nnn {package/luabidi/after} {.}
+{
\cs_gset_nopar:Nn \__xpg_set_par_direction:n
{
\__xpg_if_LR_str:nTF{#1}
@@ -4481,13 +4609,21 @@ to track the issues and follow progress.
{ \cs_new_nopar:Nn \__xpg_setRTLmain: { \@RTLmaintrue\setnonlatin } }
%% compatibility with babel
-\let\addto\gappto % gappto is defined in etoolbox
+\cs_set:Npn \addto #1 #2
+{
+ \cs_if_exist:NF { #1 }
+ { \cs_new:Npn { #1 } {} }
+ \tl_gput_right:Nn { #1 } { #2 }
+}
-%% NEW EXPERIMENTAL SETUP INTERFACE FOR GLOSS FILES
+%% SETUP INTERFACE FOR GLOSS FILES
%% options currently available:
%% language : the name of the language (as understood by fontspec)
%% hyphennames : the different hyphenation patterns to try (comma separated list)
-%%% TODO: if pattern is prefixed by !, then it should be loaded as a fallback, with \xpg@nopatterns@fallback - i.e. with a warning: e.g. sanskrit for hindi, or catalan for asturian. – Also for languages with variants! (English and German, etc.)
+%%% TODO: if pattern is prefixed by !, then it should be loaded as a fallback,
+%%%% with \CheckHyphenationPatterns - i.e. with a warning: e.g. sanskrit for hindi,
+%%%% or catalan for asturian. – Also for languages with variants!
+%%%% (English and German, etc.)
%% script : the name of the script (as understood by fontspec) – default is Latin
%% scripttag : the OpenType tag for the script
%% langtag : the OpenType tag for the language
@@ -4495,19 +4631,20 @@ to track the issues and follow progress.
%% frenchspacing : boolean
%% indentfirst : boolean
%% fontsetup : boolean
-%% TODO: nouppercase : boolean (for scripts like Arabic, Devanagari, etc which have no concept of uppercase/lowercase)
+%% TODO: nouppercase : boolean (for scripts like Arabic, Devanagari, etc which have
+%% no concept of uppercase/lowercase)
%% TODO: localalph = {<alph_csname>,<Alph_csname>}
%% TODO: localnumeral = <csname>
%% or even better localdigits = {0123456789} for fully automatic setup
-\newcommand*\PolyglossiaSetup[2]{
+\NewDocumentCommand \PolyglossiaSetup { m m }
+{
\__xpg_keys_define_lang:n{#1}
\keys_set:nn { polyglossia / #1 } { #2 }
\__xpg_setup_hyphen:n {#1}
%define booleans etoolbox style and set defaults
%% TODO ? \providetoggle{#1@setup@done}%
- % we initialize these so that we can use \gappto below
- \csgdef{init@extras@#1}{}
- \csgdef{init@noextras@#1}{} % we don't use this yet: remove?
+ % we initialize this so that we can append below
+ \cs_gset:cpn {init@extras@#1} {}
% here we do the fontsetup:
\__xpg_auto_setupfont:n { #1 }
%% TODO? \toggletrue{#1@setup@done}
@@ -4526,35 +4663,41 @@ to track the issues and follow progress.
\clist_map_inline:nn { #1 } { \keys_set:nn { polyglossia / ##1 } { #2 } }
}
-
+\bool_new:N \l__xpg_have_hyphen_bool
% setup hyphennames from a str list of hyphen
\cs_new:Nn \__xpg_setup_hyphen:n
{
- \clist_set:Ne{\l_tmpa_clist}{\prop_item:Nn \g_xpg_langsetup_prop {#1 / hyphennames}}
- \providebool{havehyphen}
- \boolfalse{havehyphen}
+ \clist_set:Ne{\l_tmpa_clist}{\prop_item:Nn \l_xpg_langsetup_prop {#1 / hyphennames}}
+ \bool_set_false:N \l__xpg_have_hyphen_bool
% for each hyphen in the set until we find one that works
- \clist_map_inline:Nn \l_tmpa_clist {
- \ifbool{havehyphen}{}{
+ \clist_map_inline:Nn \l_tmpa_clist
+ {
+ \bool_if:NF \l__xpg_have_hyphen_bool
+ {
% check if language hyphenname is defined
- \__xpg_check_if_exist_l@:nF{#1}{
+ \__xpg_pattern_check_if_exists:nF{#1}
+ {
% if not, first consider nohyphenation
\str_if_eq:nnTF{##1}{nohyphenation}
{
\cs_gset_eq:cc{l@#1}{l@##1}
- \global\booltrue{havehyphen}
- }{
+ \bool_gset_true:N \l__xpg_have_hyphen_bool
+ }
+ {
% then test if hyphenation is defined
- \xpg@ifdefined{##1}{
+ \xpg_if_language_defined:nT {##1}
+ {
% test if language hyphenation is nohyphenation
- \cs_if_eq:cNF{l@#1}{\l@nohyphenation}{\global\booltrue{havehyphen}}{%
+ \cs_if_eq:cNTF{l@#1}{\l@nohyphenation}
+ { \bool_gset_true:N \l__xpg_have_hyphen_bool }
+ {
% if false define language to hyphenation if it is not equal...
\str_if_eq:nnF{#1}{##1}{\cs_gset_eq:cc{l@#1}{l@##1}}
% ...and load
- \xpg@set@hyphenation@patterns{##1}
- \global\booltrue{havehyphen}
- }
- }{}
+ \xpg_set_hyphenation_patterns:n {##1}
+ \bool_gset_true:N \l__xpg_have_hyphen_bool
+ }
+ }
}
}
}
@@ -4562,19 +4705,17 @@ to track the issues and follow progress.
% if l@#1 does not yet exist,
% we assign it to nohyphenation
% we do this here in case and if the hyphennames key was omitted
- \ifbool{havehyphen}{}{
- \xpg@ifdefined{#1}{}
- {
- \xpg@nopatterns{#1}
- \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax
- }
+ \bool_if:NF \l__xpg_have_hyphen_bool
+ {
+ \CheckHyphenationPatterns{#1}
}
- \csdef{#1@language}{
- \polyglossia@setup@language@patterns{#1}
+ \cs_gset:cpn {#1@language}
+ {
+ \SetupPolyglossiaLangPatterns{#1}
}
% setup hyphenmins
\clist_set:Ne \l_tmpa_clist
- { \prop_item:Nn \g_xpg_langsetup_prop {#1 / hyphenmins} }
+ { \prop_item:Nn \l_xpg_langsetup_prop {#1 / hyphenmins} }
\cs_if_eq:cNF {l@#1} \l@nohyphenation
{
\use:x
@@ -4586,7 +4727,8 @@ to track the issues and follow progress.
}
}
-\newcommand*\polyglossia@setup@language@patterns[1]{
+\NewDocumentCommand \SetupPolyglossiaLangPatterns { m }
+{
\bool_if:NTF \g__xpg_hyphenation_disabled_bool
{
\tl_gset:Ne \g__xpg_lastlanguage_tl {\the\csname l@#1\endcsname}
@@ -4600,32 +4742,29 @@ to track the issues and follow progress.
\language=\l@nohyphenation
}
{
- \xpg@set@hyphenation@patterns{#1}
+ \xpg_set_hyphenation_patterns:n {#1}
}
}
{
% Since this function is sometimes called from the gloss files
% directly, we need to check whether the requested hyphenname exists.
- \xpg@ifdefined{#1}{}
- {
- \xpg@nopatterns{#1}
- \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax%
- }
- \xpg@set@hyphenation@patterns{#1}
+ \CheckHyphenationPatterns{#1}
+ \xpg_set_hyphenation_patterns:n {#1}
}
}
}
-\prop_new:N \g_xpg_langsetup_prop
+\prop_new_linked:N \l_xpg_langsetup_prop
\cs_new_protected:Npn \__xpg_keys_define_lang:n #1
{
- \keys_define:nn {polyglossia}{
+ \keys_define:nn {polyglossia}
+ {
% the script font
#1 / script
.code:n = {
- \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/script}{##1}
- \prop_gput:Nne{\g_xpg_langsetup_prop}{#1/lcscript}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/script}{##1}
+ \prop_put:Nne \l_xpg_langsetup_prop {#1/lcscript}
{\tl_if_empty:nF{##1}{\str_lowercase:n{##1}}}
},
#1 / script
@@ -4634,84 +4773,89 @@ to track the issues and follow progress.
.initial:n = latin,
% the opentype script tag
#1 / scripttag
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/scripttag}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/scripttag}{##1}},
#1 / scripttag
.default:n = {},
#1 / scripttag
.initial:n = {},
% the language full name
#1 / language
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/language}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/language}{##1}},
#1 / language
.value_required:n = true,
#1 / language
.initial:x = {\str_uppercase:n#1},
% the language tag
#1 / langtag
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/langtag}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/langtag}{##1}},
#1 / langtag
.value_required:n = true,
#1 / langtag
.initial:n = {},
% the BCP-47 tag
#1 / bcp47
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47}{##1}},
#1 / bcp47
.value_required:n = true,
#1 / bcp47
.initial:n = {},
% the BCP-47 language tag
#1 / bcp47-language
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-language}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-language}{##1}},
#1 / bcp47-language
.value_required:n = true,
#1 / bcp47-language
.initial:n = {},
% the BCP-47 region tag
#1 / bcp47-region
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-region}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-region}{##1}},
#1 / bcp47-region
.value_required:n = false,
#1 / bcp47-region
.initial:n = {},
% the BCP-47 script tag
#1 / bcp47-script
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-script}{##1}},
+ .code:n =
+ {
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-script}{##1}
+ \prop_put:Nne \l_xpg_langsetup_prop {#1/lc-bcp47-script}
+ {\tl_if_empty:nF{##1}{\str_lowercase:n{##1}}}
+ },
#1 / bcp47-script
.value_required:n = true,
#1 / bcp47-script
- .initial:n = {},
+ .initial:n = {Latn},
% the BCP-47 variant tag
#1 / bcp47-variant
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-variant}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-variant}{##1}},
#1 / bcp47-variant
.value_required:n = false,
#1 / bcp47-variant
.initial:n = {},
% the BCP-47 extension-t tag
#1 / bcp47-extension-t
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-extension-t}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-extension-t}{##1}},
#1 / bcp47-extension-t
.value_required:n = false,
#1 / bcp47-extension-t
.initial:n = {},
% the BCP-47 extension-u tag
#1 / bcp47-extension-u
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-extension-u}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-extension-u}{##1}},
#1 / bcp47-extension-u
.value_required:n = false,
#1 / bcp47-extension-u
.initial:n = {},
% the BCP-47 extension-x tag
#1 / bcp47-extension-x
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-extension-x}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-extension-x}{##1}},
#1 / bcp47-extension-x
.value_required:n = false,
#1 / bcp47-extension-x
.initial:n = {},
% the BCP-47 casing alias
#1 / bcp47-casing
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/bcp47-casing}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/bcp47-casing}{##1}},
#1 / bcp47-casing
.value_required:n = false,
#1 / bcp47-casing
@@ -4720,7 +4864,7 @@ to track the issues and follow progress.
#1 / hyphennames
.code:n = {
\clist_set:Nn{\l_tmpa_clist}{##1}
- \prop_gput:Nne{\g_xpg_langsetup_prop}{#1/hyphennames}{\clist_use:Nn \l_tmpa_clist {,}}
+ \prop_put:Nne \l_xpg_langsetup_prop {#1/hyphennames}{\clist_use:Nn \l_tmpa_clist {,}}
},
#1 / hyphennames
.value_required:n = true,
@@ -4733,8 +4877,8 @@ to track the issues and follow progress.
{LR}{}
{RL}{\RequireBidi}
}
- {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/direction}{##1}}
- {\xpg@error{Unknown~ direction~ "##1"~ for~ language~ "#1"}}
+ { \prop_put:Nnn \l_xpg_langsetup_prop {#1/direction}{##1} }
+ { \xpg_error_msg:n {Unknown~ direction~ "##1"~ for~ language~ "#1"} }
},
#1 / direction
.value_required:n = true,
@@ -4745,9 +4889,9 @@ to track the issues and follow progress.
.code:n = {
% check syntax
\int_compare:nNnF { \clist_count:n {##1} } = {2}
- {\xpg@error{hypenmins~should~be~a~list~of~two~entries,~got~"##1"}}
+ { \xpg_error_msg:n {hypenmins~should~be~a~list~of~two~entries,~got~"##1"} }
% set prop
- \prop_gput:Nnn \g_xpg_langsetup_prop {#1/hyphenmins} {##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/hyphenmins} {##1}
},
#1 / hyphenmins
.value_required:n = true,
@@ -4758,9 +4902,9 @@ to track the issues and follow progress.
.code:n = {
% check syntax
\int_compare:nNnF { \clist_count:n {##1} } = {1}
- {\xpg@error{totalhyphenhypenmin~should~be~a~single~entry,~got~"##1"}}
+ { \xpg_error_msg:n {totalhyphenhypenmin~should~be~a~single~entry,~got~"##1"} }
% set prop
- \prop_gput:Nnn \g_xpg_langsetup_prop {#1/totalhyphenmin} {##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/totalhyphenmin} {##1}
},
#1 / totalhyphenmin
.value_required:n = false,
@@ -4779,35 +4923,35 @@ to track the issues and follow progress.
% environment name
#1 / envname
.code:n = {
- \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/envname}{##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/envname}{##1}
},
#1/ envname.value_required:n = true,
#1/ envname.initial:n = {#1},
% babel name
#1 / babelname
.code:n = {
- \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/babelname}{##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/babelname}{##1}
},
#1/ babelname.value_required:n = true,
#1/ babelname.initial:n = {#1},
% default numerals
#1 / localnumeral
. code:n = {
- \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/localnumeral}{##1}
- \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/Localnumeral}{##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/localnumeral}{##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/Localnumeral}{##1}
},
#1 / localnumeral.value_required:n = true,
- #1 / localnumeral.initial:n = {polyglossia@C@localnumeral},
+ #1 / localnumeral.initial:n = {xpg_C_localnumeral:nn},
% uppercased
#1 / Localnumeral
. code:n = {
- \prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/Localnumeral}{##1}
+ \prop_put:Nnn \l_xpg_langsetup_prop {#1/Localnumeral}{##1}
},
#1 / Localnumeral.value_required:n = true,
- #1 / Localnumeral.initial:n = {polyglossia@C@localnumeral},
+ #1 / Localnumeral.initial:n = {xpg_C_localnumeral:nn},
% environment define command (by default create the environment)
#1 / DefineCommandsCmd
- .code:n = {\prop_gput:Nnn{\g_xpg_langsetup_prop}{#1/DefineCommandsCmd}{##1}},
+ .code:n = {\prop_put:Nnn \l_xpg_langsetup_prop {#1/DefineCommandsCmd}{##1}},
#1 / DefineCommandsCmd
.value_required:n = true,
#1 / DefineCommandsCmd
@@ -4815,9 +4959,20 @@ to track the issues and follow progress.
}
}
+\DeclareExpandableDocumentCommand \babelname { }
+ {
+ \prop_item:Ne \l_xpg_langsetup_prop { \languagename / babelname }
+ }
+
+\DeclareExpandableDocumentCommand \mainbabelname { }
+ {
+ \prop_item:Ne \l_xpg_langsetup_prop { \mainlanguagename / babelname }
+ }
+
% TODO move to C module
-\newcommand*{\polyglossia@C@localnumeral}[2]{
- \polyglossia@Clang@@arabic{#2}
+\cs_new:Nn \xpg_C_localnumeral:nn
+{
+ \xpg_Clang_arabic{#2}
}
\cs_new:Npn \__xpg_localnumeral_parse:nn #1 #2
@@ -4841,7 +4996,7 @@ to track the issues and follow progress.
\__xpg_localnumeral_parse:nn
} { #2 }
}
- { \use:c { \prop_item:Ne \g_xpg_langsetup_prop
+ { \use:c { \prop_item:Ne \l_xpg_langsetup_prop
{ \languagename / #3 } } { } { #1 } }
}
@@ -4876,31 +5031,31 @@ to track the issues and follow progress.
\cs_new_nopar:Npn \__xpg_indent_first:n #1
{
\bool_if:cTF { g__xpg_#1_if_bool }
- { \french@indent } { \nofrench@indent }
+ { \__xpg_french_indent: } { \__xpg_no_french_indent: }
}
\cs_new:Nn \__xpg_lang_set_par_direction:n
{
- \prop_get:NeNTF \g_xpg_langsetup_prop {#1/direction} \l_tmpa_tl
+ \prop_get:NeNTF \l_xpg_langsetup_prop {#1/direction} \l_tmpa_tl
{
\__xpg_set_par_direction:n{\l_tmpa_tl}
}
{
- \xpg@error{Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"}
- \prop_show:N{\g_xpg_langsetup_prop}
+ \xpg_error_msg:n {Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"}
+ \prop_show:N{\l_xpg_langsetup_prop}
}
}
\cs_new:Nn \__xpg_lang_set_text_direction:nn
{
- \prop_get:NeNTF \g_xpg_langsetup_prop {#1/direction} \l_tmpa_tl
+ \prop_get:NeNTF \l_xpg_langsetup_prop {#1/direction} \l_tmpa_tl
{
\__xpg_set_text_direction:n{\l_tmpa_tl}{#2}
}
{
- \xpg@error{Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"}
- \prop_show:N{\g_xpg_langsetup_prop}
+ \xpg_error_msg:n {Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"}
+ \prop_show:N{\l_xpg_langsetup_prop}
}
}
@@ -4931,7 +5086,7 @@ to track the issues and follow progress.
{
\bool_gset_true:N \g__xpg_hyphenation_disabled_bool
\tl_gset:Ne \g__xpg_lastlanguage_tl { \the\language }
- % We do not call \xpg@set@hyphenation@patterns here to avoid a warning message.
+ % We do not call \xpg_set_hyphenation_patterns:n here to avoid a warning message.
% "nohyphenation" is not listed in language.dat.lua.
\language=\l@nohyphenation
}
@@ -4943,19 +5098,19 @@ to track the issues and follow progress.
{
\bool_gset_false:N \g__xpg_hyphenation_disabled_bool
\language=\tl_use:N{\g__xpg_lastlanguage_tl}
- }%
+ }
}
\cs_new:Npn \__xpg_auto_setupfont:n #1
{
\bool_if:cTF { g__xpg_#1_fontsetup_bool }
{
- \str_if_eq:eeTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript}}{latin}
- {\xpg@fontsetup@latin{#1}}
- {\xpg@fontsetup@nonlatin{#1}}
+ \str_if_eq:eeTF{\prop_item:Nn{\l_xpg_langsetup_prop}{#1/lcscript}}{latin}
+ {\SetupLatinPolyglossiaFont{#1}}
+ {\SetupNonLatinPolyglossiaFont{#1}}
}
{
- \xpg@info{Skipping~ automatic~ font~ setup~ for~ language~ #1}
+ \xpg_info_msg:n{Skipping~ automatic~ font~ setup~ for~ language~ #1}
}
}
@@ -4967,40 +5122,40 @@ to track the issues and follow progress.
\bool_if:nTF{\tl_if_empty_p:n{#1} || \tl_if_empty_p:n{#2}}
{
% maybe an error ?
- \xpg@warning{Asking~ to~ add~ empty~ feature~to~ main~ font~
+ \xpg_warning_msg:n{Asking~ to~ add~ empty~ feature~to~ main~ font~
(Language="#2"~ to~ langtag~ "#1")}
}
{
- \str_if_eq:nnTF{#2}{Turkish}{
+ \str_if_eq:nnTF{#2}{Turkish}
+ {
\fontspec_if_language:nTF {TRK}
{
\addfontfeature{Language=Turkish}
}
{
- \fontspec_if_language:nTF {TUR}
+ \fontspec_if_language:nT {TUR}
{
\addfontfeature{Language=Turkish}
- }{}
+ }
}
}{
- \fontspec_if_language:nTF{#1}
+ \fontspec_if_language:nT{#1}
{
\addfontfeature{Language=#2}
}
- {}
}
}
}
-\cs_generate_variant:Nn \__xpg_add_font_feature_language:nn { on , no, oo , Vn, nV, VV , xn, nx, xx}
+\cs_generate_variant:Nn \__xpg_add_font_feature_language:nn { ee }
-% add fontfeature Script=#2 to scripttag #1
-% do nothing if #1 or #2 is empty
+% add fontfeature Script=#3 to scripttag #2 for family #1
+% do nothing if #2 or #3 is empty
\cs_new:Nn \__xpg_add_font_feature_script:nnn
{
\bool_if:nTF{\tl_if_empty_p:n{#2} || \tl_if_empty_p:n{#3}}
{
% maybe an error ?
- \xpg@warning{Asking~ to~ add~ empty~ feature~to~ main~ font
+ \xpg_warning_msg:n{Asking~ to~ add~ empty~ feature~to~ main~ font
(Script="#3"~ to~ scripttag~ "#2")}
}
{
@@ -5036,118 +5191,58 @@ to track the issues and follow progress.
\regex_replace_once:nnN { \.[^\.]* \Z } { } \xpg_fname_str
% ... and, finally, quotation marks
\regex_replace_once:nnN { " } { } \xpg_fname_str
- \xpg@error{
- The~ current~ main ~ \xpg_ffamily_tl\space font,~ \xpg_fname_str,~ does~ not~ contain~ the~"#3"~ script!\MessageBreak
- Please~ define~\csname\tl_if_empty:nF{#3}{\str_lowercase:n{#3}}font\xpg_ffamilysh_tl\endcsname~
- with~ \string\newfontfamily\space command
+ \xpg_error_msg:n
+ {
+ The~ current~ main ~ \xpg_ffamily_tl\space font,~ \xpg_fname_str,~ does~ not~ contain~ the~"#3"~ script! \iow_newline:
+ Please~ define~\csname\tl_if_empty:nF{#3}{\str_lowercase:n{#3}}font\xpg_ffamilysh_tl\endcsname~
+ with~ \string\newfontfamily\space command
}
}
}
}
-\cs_generate_variant:Nn \__xpg_add_font_feature_script:nnn { non , nno, noo , nVn, nnV, nVV , nxn, nnx, nxx}
-
-\def\xpg@fontsetup@latin#1{
- \begingroup
- \csgdef{#1@font@rm}{
- \cs_if_exist_use:cF{#1font}{
- \rmfamilylatin
- \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- }
- }
- \csgdef{#1@font@sf}{
- \cs_if_exist_use:cF{#1fontsf}{
- \sffamilylatin
- \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- }
- }
- \csgdef{#1@font@tt}{
- \cs_if_exist_use:cF{#1fonttt}{
- \ttfamilylatin
- \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- }
- }
- \endgroup
-}
+\cs_generate_variant:Nn \__xpg_add_font_feature_script:nnn { nee }
-\def\xpg@fontsetup@nonlatin#1{
- \begingroup
- \csgdef{#1@font@rm}{
- \cs_if_exist_use:cF{#1font}
- {
- \providetoggle{#1@use@script@font}
- \str_if_eq:nnTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- {\rmfamilylatin}
- {\cs_if_exist_use:cTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript} font}
- {
- \toggletrue{#1@use@script@font}
- }
- {
- \rmfamilylatin
- }
- }
- \iftoggle{#1@use@script@font}{}{
- \__xpg_add_font_feature_script:nxx{rm}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/scripttag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}
- }%
- \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- }%
- \def\familytype{rm}
- }%
- \csgdef{#1@font@sf}{
- \cs_if_exist_use:cF{#1fontsf}
+%% TODO: probably can be cleaned a little more
+\cs_new_protected:Npn \__xpg_setup_font:nnnnn #1 #2 #3 #4 #5 % #1 = lang, #2 = family, #3 = family, #4 = gobble, #5 gobble
+ {
+ \cs_set_protected_nopar:cpn { #1@font@#2 }
{
- \providetoggle{#1@use@script@fontsf}
- \str_if_eq:nnTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- {\sffamilylatin}
- {\cs_if_exist_use:cTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript} fontsf}
+ \cs_if_exist_use:cF{ #1font#3 }
{
- \toggletrue{#1@use@script@fontsf}
- }
- {
- \sffamilylatin
- }
- }
- \iftoggle{#1@use@script@fontsf}{}{
- \__xpg_add_font_feature_script:nxx{sf}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/scripttag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}
- }%
- \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- }%
- \def\familytype{sf}
- }%
- \csgdef{#1@font@tt}{
- \cs_if_exist_use:cF{#1fonttt}
- {
- \providetoggle{#1@use@script@fonttt}
- \str_if_eq:nnTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
- {\ttfamilylatin}
- {\cs_if_exist_use:cTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript} fonttt}
- {
- \toggletrue{#1@use@script@fonttt}
- }
- {
- \ttfamilylatin
- }
- }
- \iftoggle{#1@use@script@fonttt}{}{
- \__xpg_add_font_feature_script:nxx{tt}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/scripttag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/script}}
- }
- \__xpg_add_font_feature_language:xx{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/langtag}}
- {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/language}}
+ \cs_if_exist_use:cF { \prop_item:Nn \l_xpg_langsetup_prop { #1 / lc-bcp47-script } font#3 }
+ {
+ #4 { \prop_item:Nn \l_xpg_langsetup_prop { #1 / lcscript } font#3 }
+ {
+ \use:c { #2familylatin }
+ #5
+ {
+ \__xpg_add_font_feature_script:nee { #2 }
+ { \prop_item:Nn \l_xpg_langsetup_prop { #1 / scripttag } }
+ { \prop_item:Nn \l_xpg_langsetup_prop { #1 / script } }
+ }
+ }
+ }
+ \__xpg_add_font_feature_language:ee
+ { \prop_item:Nn \l_xpg_langsetup_prop { #1 / langtag } }
+ { \prop_item:Nn \l_xpg_langsetup_prop { #1 / language } }
+ }
+ \tl_set:Nn \familytype { #2 }
}
- \def\familytype{tt}
}
- \endgroup
-}
+
+\NewDocumentCommand \SetupLatinPolyglossiaFont { m }
+ {
+ \__xpg_setup_font:nnnnn { #1 } { rm } { } { \use_ii:nn } { \use_none:n }
+ \__xpg_setup_font:nnnnn { #1 } { sf } { sf } { \use_ii:nn } { \use_none:n }
+ \__xpg_setup_font:nnnnn { #1 } { tt } { tt } { \use_ii:nn } { \use_none:n }
+ }
+
+\NewDocumentCommand \SetupNonLatinPolyglossiaFont { m }
+ {
+ \__xpg_setup_font:nnnnn { #1 } { rm } { } { \cs_if_exist_use:cF } { \use:n }
+ \__xpg_setup_font:nnnnn { #1 } { sf } { sf } { \cs_if_exist_use:cF } { \use:n }
+ \__xpg_setup_font:nnnnn { #1 } { tt } { tt } { \cs_if_exist_use:cF } { \use:n }
+ }
%%% END OF PolyglossiaSetup
@@ -5156,40 +5251,53 @@ to track the issues and follow progress.
\cs_new_nopar:Nn \__xpg_local_marks:n { }
\cs_new_nopar:Nn \__xpg_enable_local_marks:
{
- \xpg@info{Option:~ localmarks}
+ \xpg_info_msg:n{Option:~ localmarks}
\cs_gset_nopar:Nn \__xpg_local_marks:n
{
- \def\xpg@tmp@lang{##1}
- \DeclareRobustCommand\markboth[2]{
- \begingroup
- \let\label\relax \let\index\relax \let\glossary\relax
- \unrestored@protected@xdef\@themark
- {
- {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}}
- {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####2}}}
- }
- \@temptokena \expandafter{\@themark}
- \mark{\the\@temptokena}
- \endgroup
- \if@nobreak\ifvmode\nobreak\fi\fi
- }
- \DeclareRobustCommand\markright[1]{
- \begingroup
- \let\label\relax \let\index\relax \let\glossary\relax
- \expandafter\@markright\@themark
- {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}}
- \@temptokena \expandafter{\@themark}
- \mark{\the\@temptokena}
- \endgroup
- \if@nobreak\ifvmode\nobreak\fi\fi
- }
+ \DeclareDocumentCommand \markboth { m m }
+ {
+ \group_begin:
+ \cs_set_eq:cc { label } { relax }
+ \cs_set_eq:cc { index } { relax }
+ \cs_set_eq:cc { glossary } { relax }
+ \unrestored@protected@xdef\@themark
+ {
+ {\foreignlanguage{##1}{\protect\@@ensure@maindir{####1}}}
+ {\foreignlanguage{##1}{\protect\@@ensure@maindir{####2}}}
+ }
+ \@temptokena \expandafter{\@themark}
+ \mark_insert:nn{2e-left}{####1}
+ \mark_insert:nn{2e-right}{####2}
+ \tl_if_empty:nF{####2}{ \mark_insert:nn{2e-right-nonempty}{####2} }
+ \mark{\the\@temptokena}
+ \group_end:
+ \if@nobreak\ifvmode\nobreak\fi\fi
+ }
+ \DeclareDocumentCommand \markright { m }
+ {
+ \group_begin:
+ \cs_set_eq:cc { label } { relax }
+ \cs_set_eq:cc { index } { relax }
+ \cs_set_eq:cc { glossary } { relax }
+ \expandafter\@markright\@themark
+ {\foreignlanguage{##1}{\protect\@@ensure@maindir{####1}}}
+ \@temptokena \expandafter{\@themark}
+ \mark_insert:nn{2e-right}{####1}
+ \tl_if_empty:nF{####1}{ \mark_insert:nn{2e-right-nonempty}{####1} }
+ \mark{\the\@temptokena}
+ \group_end:
+ \if@nobreak\ifvmode\nobreak\fi\fi
+ }
}
}
%we call this macro when a gloss file is not found for a given language
-\def\xpg@nogloss#1{
- \xpg@warning{File~ gloss-#1.ldf~ do~ not~ exists!\MessageBreak
- I~ will~ nevertheless~ try~ to~ use~ hyphenation~ patterns~ for~ #1.}
+\cs_new_nopar:Nn \__xpg_no_gloss:n
+{
+ \xpg_warning_msg:n
+ {File~ gloss-#1.ldf~ do~ not~ exists! \iow_newline:
+ I~ will~ nevertheless~ try~ to~ use~ hyphenation~ patterns~ for~ #1.}
+
\PolyglossiaSetup{#1}{hyphenmins={2,3},hyphennames={#1},fontsetup=true}
% the above amounts to:
%\ifcsundef{l@#1}%
@@ -5198,59 +5306,64 @@ to track the issues and follow progress.
%\csdef{#1@language}{\language=\csname l@#1\endcsname}%
}
-\newcommand{\xpg@input}[1]{
+\cs_new_nopar:Nn \xpg_input:n
+{
% Store catcode of @ before making at letter
- \chardef\xpg@saved@at@catcode\catcode`\@
- \makeatletter
- \input{#1}
+ \cs_set_protected_nopar:Npx \__xpg_restore_at_catcode:
+ { \char_set_catcode:nn { `@ } { \char_value_catcode:n {`\@ } } }
+ \char_set_catcode_letter:N @
+ \file_input:n { #1 }
% restore former @ catcode
- \catcode`\@=\xpg@saved@at@catcode
+ \__xpg_restore_at_catcode:
}
% try to load a language file
-\cs_new:Nn \__xpg_load_lang_definition:nn {
- \file_if_exist:nTF{gloss-#2.ldf}
+\cs_new:Nn \__xpg_load_lang_definition:nn
+{
+ \file_if_exist:nTF{gloss-#2.ldf}
{
- % Temporarily force catcode of ~ to 13 since babelsh.def
+ \tl_set:Nn \xpg__tmp_default_options_tl { #1 }
+ % Temporarily force catcode of ~ to 13 (active) since babelsh.def
% requires it. This is needed particularly with LaTeX3
% packages which force \ExplSyntaxOn (#425)
- \protected\edef\xpg@restore@tilde@catcode{\catcode 126 = \the\catcode 126\relax}
- \catcode 126 = 13
- \xpg@input{gloss-#2.ldf}
- \setkeys{#2}{#1}
+ \cs_gset_protected:Npx \__xpg_restore_tilde_catcode:
+ { \char_set_catcode:nn { 126 } { \char_value_catcode:n { 126 } } }
+ \char_set_catcode_active:n { 126 }
+ \xpg_input:n {gloss-#2.ldf}
% restore former ~ catcode
- \xpg@restore@tilde@catcode
+ \__xpg_restore_tilde_catcode:
}
{
- \xpg@nogloss{#2}
+ \__xpg_no_gloss:n {#2}
}
}
\cs_generate_variant:Nn \__xpg_load_lang_definition:nn { ee }
% load a master language from an alias file
-\newcommand*\xpg@load@master@language[1] {
- \xpg@input{gloss-#1.ldf}
+\NewDocumentCommand \InheritGlossFile { m }
+{
\seq_if_in:NeF \__xpg_langs_loaded {#1}
{
+ \xpg_input:n {gloss-#1.ldf}
% define environment and command if not alias
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#1/target}} {#1} {
- \use:c{\prop_item:Nn{\g_xpg_langsetup_prop}
+ \use:c{\prop_item:Nn{\l_xpg_langsetup_prop}
{#1/DefineCommandsCmd}}
{#1}
}
+ \seq_gput_right:Nn \__xpg_langs_loaded {#1}
}
\__xpg_register_language:nn{}{#1}
- \seq_gput_right:Nn \__xpg_langs_loaded {#1}
}
-\prop_new:N \__xpg_alias
+\prop_new_linked:N \__xpg_alias
% define environment and command if not alias
\cs_new:Nn \xpg_define_language_commands:n {
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#1/target}} {#1}
{
\exp_args:Ne
- \NewDocumentEnvironment {\prop_item:Nn{\g_xpg_langsetup_prop}{#1/envname}} { O{} }
+ \NewDocumentEnvironment {\prop_item:Nn{\l_xpg_langsetup_prop}{#1/envname}} { O{} }
{
\otherlanguage [ ##1 ] { #1 }
}
@@ -5278,7 +5391,7 @@ to track the issues and follow progress.
% target to self fall back to language table
\str_if_eq:eeTF { \prop_item:Ne \__xpg_alias {#1/target} } { #1 }
{
- \prop_item:Nn{\g_xpg_langsetup_prop} {#1/#2}
+ \prop_item:Nn{\l_xpg_langsetup_prop} {#1/#2}
}
% load alias by recursion
{
@@ -5401,20 +5514,29 @@ to track the issues and follow progress.
\clist_if_in:NeF \xpg@loaded {#2}{
\clist_gput_right:Ne \xpg@loaded {#2}
}
- % Register the language options
- \__xpg_set_language_options:nnn {#2} {#1} {@xpg@set@langvariant}
+ \group_begin:
+ % set language options
+ \__xpg_set_language_options:nn {#2} {#1}
% register babelname
- \prop_get:NeN \g_xpg_langsetup_prop {#2/babelname} \l_tmpa_tl
+ \prop_get:NeN \l_xpg_langsetup_prop {#2/babelname} \l_tmpa_tl
\clist_if_in:NeF \xpg@bloaded {\l_tmpa_tl}{
\clist_gput_right:Ne \xpg@bloaded {\l_tmpa_tl}
}
% register BCP-47 ID
- \prop_get:NeN \g_xpg_langsetup_prop {#2/bcp47} \l_tmpa_tl
+ \prop_get:NeN \l_xpg_langsetup_prop {#2/bcp47} \l_tmpa_tl
\clist_if_in:NeF \xpg@bcp@loaded {\l_tmpa_tl}{
\clist_gput_right:Ne \xpg@bcp@loaded {\l_tmpa_tl}
}
+ % register variant
+ \prop_get:NnNT \l_xpg_curropt_prop {#2/variant} \l_tmpa_tl {
+ \clist_if_in:NeF \xpg@vloaded {\l_tmpa_tl}{
+ \clist_gput_right:Ne \xpg@vloaded {\l_tmpa_tl}
+ }}
+ \group_end:
}
+\prop_new_linked:N \l_xpg_curropt_prop
+
\DeclareDocumentCommand \setdefaultlanguage { O{} m }
{
% latex is an internal language, so do not record
@@ -5429,12 +5551,13 @@ to track the issues and follow progress.
\__xpg_load_lang_definition:nn{#1}{#2}
% define environment and command if not alias
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#2/target}} {#2} {
- \use:c{\prop_item:Ne{\g_xpg_langsetup_prop}
+ \use:c{\prop_item:Ne{\l_xpg_langsetup_prop}
{#2/DefineCommandsCmd}}
{#2}
}
\seq_gput_right:Ne \__xpg_langs_loaded {#2}
}
+ \cs_set_nopar:Npe \mainlanguagevariant { \prop_item:Ne \l_xpg_curropt_prop { \xpg_alias_base_lang:n{#2} / variant } }
\exp_args:Nee \__xpg_set_default_language:nn {\xpg_alias_add_to_option_i:nn{#2}{#1}}
{\xpg_alias_base_lang:n{#2}}
}
@@ -5442,70 +5565,22 @@ to track the issues and follow progress.
\cs_new:Nn \__xpg_set_default_language:nn
{
- \gdef\xpg@main@language{#2}
- \tl_if_blank:nTF {#1}
- {
- \cs_gset_nopar:Npn \mainlanguagevariant {}
- }
- {
- % Register the language options
- \__xpg_set_language_options:nnn {#2} {#1} {@xpg@main@langvariant}
- }
- \csgdef{#2@gvar}{\mainlanguagevariant}
+ \tl_gset:Nn \xpg_main_language_tl {#2}
%% The following settings are for the default language and script
% this tells bidi.sty or luabidi.sty that the document is RTL
- \__xpg_if_LR_str:eF{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/direction}}
+ \__xpg_if_LR_str:eF{\prop_item:Nn{\l_xpg_langsetup_prop}{#2/direction}}
{
\__xpg_setRTLmain:
}
\cs_gset_nopar:Nn \__xpg_at_begin_document_selectlanguage: {
\selectbackgroundlanguage{#2}
- \selectlanguage[#1]{#2}%
+ \selectlanguage[#1]{#2}
}
- \xpg@info{Default~ language~ is~ #2}
- \polyglossia@set@language@name[#1]{#2}
+ \str_if_eq:eeF { #2 } { latex }
+ { \xpg_info_msg:n{Default~ language~ is~ #2} }
+ \xpg_set_language_name:n { #2 }
\cs_gset_nopar:Npn \mainlanguagename {#2}
- % Store babelname of main language (for external packages such as biblatex)
- \cs_gset_nopar:Npe \mainbabelname { \prop_item:Nn \g_xpg_langsetup_prop {#2/babelname} }
- % Store babelname of current language (for external packages such as biblatex)
- \cs_gset_eq:NN \babelname \mainbabelname
- \cs_gset_eq:cc{#2@gbabelname}{babelname}%
- % Store BCP-47 ID and subtags of main language:
- % 1. store main.* (sub)tags
- \cs_gset_nopar:cpe {bcp47.main.tag} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47 } }
- \cs_gset_nopar:cpe {bcp47.main.language} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-language } }
- \cs_gset_nopar:cpe {bcp47.main.region} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-region } }
- \cs_gset_nopar:cpe {bcp47.main.script} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-script } }
- \cs_gset_nopar:cpe {bcp47.main.variant} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-variant } }
- \cs_gset_nopar:cpe {bcp47.main.extension.t} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47extension-t } }
- \cs_gset_nopar:cpe {bcp47.main.extension.u} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-extension-u } }
- \cs_gset_nopar:cpe {bcp47.main.extension.x} { \prop_item:Nn \g_xpg_langsetup_prop { #2 / bcp47-extension-x } }
- % For casing, we fall back to language if bcp47-casing is not explicitly set
- \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \g_xpg_langsetup_prop { #2 / bcp47-casing } }
- \str_if_empty:NTF \tmpcasing
- { \cs_gset_nopar:cpe {bcp47.main.casing} { \prop_item:Nn \g_xpg_langsetup_prop {#2 / bcp47-language} } }
- { \cs_gset_nopar:cpe {bcp47.main.casing} { \tmpcasing } }
- % 2. Store lang (sub)tags
- \cs_gset_eq:cc {bcp47.tag} {bcp47.main.tag}
- \cs_gset_eq:cc {bcp47.language} {bcp47.main.language}
- \cs_gset_eq:cc {bcp47.region} {bcp47.main.region}
- \cs_gset_eq:cc {bcp47.script} {bcp47.main.script}
- \cs_gset_eq:cc {bcp47.variant} {bcp47.main.variant}
- \cs_gset_eq:cc {bcp47.extension.t} {bcp47.main.extension.t}
- \cs_gset_eq:cc {bcp47.extension.u} {bcp47.main.extension.u}
- \cs_gset_eq:cc {bcp47.extension.x} {bcp47.main.extension.x}
- \cs_gset_eq:cc {bcp47.casing} {bcp47.main.casing}
- % 3. Store global language BCP47 settings (with default subtags as set by main language options)
- \cs_gset_eq:cc{#2@g.bcp47.tag}{bcp47.tag}
- \cs_gset_eq:cc{#2@g.bcp47.language}{bcp47.language}
- \cs_gset_eq:cc{#2@g.bcp47.region}{bcp47.region}
- \cs_gset_eq:cc{#2@g.bcp47.script}{bcp47.script}
- \cs_gset_eq:cc{#2@g.bcp47.variant}{bcp47.variant}
- \cs_gset_eq:cc{#2@g.bcp47.extension.t}{bcp47.extension.t}
- \cs_gset_eq:cc{#2@g.bcp47.extension.u}{bcp47.extension.u}
- \cs_gset_eq:cc{#2@g.bcp47.extension.x}{bcp47.extension.x}
- \cs_gset_eq:cc{#2@g.bcp47.casing}{bcp47.casing}
}
\DeclareCommandCopy \setmainlanguage \setdefaultlanguage
@@ -5516,11 +5591,11 @@ to track the issues and follow progress.
{
\str_case:nnF {#1}
{
- {bcp-47} { \csuse{bcp47.tag} }
- {bcp47} { \csuse{bcp47.tag} }
+ {bcp-47} { \use:c{bcp47.tag} }
+ {bcp47} { \use:c{bcp47.tag} }
}
{
- \xpg@error{Invalid~ \string\languageid\space argument:~ #1}
+ \xpg_ill_arg_msg:nn { #1 } { \languageid }
}
}
@@ -5530,11 +5605,11 @@ to track the issues and follow progress.
{
\str_case:nnF {#1}
{
- {bcp-47} { \csuse{bcp47.main.tag} }
- {bcp47} { \csuse{bcp47.main.tag} }
+ {bcp-47} { \use:c{bcp47.main.tag} }
+ {bcp47} { \use:c{bcp47.main.tag} }
}
{
- \xpg@error{Invalid~ \string\mainlanguageid\space argument:~ #1}
+ \xpg_ill_arg_msg:nn { #1 } { \mainlanguageid }
}
}
% Kernel command to access to BCP-47 data.
@@ -5554,281 +5629,205 @@ to track the issues and follow progress.
% and main.* variants thereof
% See https://github.com/latex3/latex2e/issues/1035
\DeclareExpandableDocumentCommand \BCPdata {m}
+ {
+ \cs_if_exist_use:cF{bcp47.#1}
+ { \xpg_ill_arg_msg:nn { #1 } { \BCPdata } }
+ }
+
+\clist_map_inline:nn
+ {
+ language, region, script, variant,
+ extension.t, extension.u, extension.x
+ }{
+ \tl_set:Nn \l_tmpa_tl { #1 }
+ \tl_replace_once:Nnn \l_tmpa_tl { . } { - }
+ \cs_gset_nopar:cpe { bcp47.#1 }
+ {
+ \exp_not:n { \prop_item:Ne \l_xpg_langsetup_prop } { \exp_not:N \languagename / bcp47-\l_tmpa_tl }
+ }
+ \cs_gset_nopar:cpe { bcp47.main.#1 }
+ {
+ \exp_not:n { \prop_item:Ne \l_xpg_langsetup_prop } { \exp_not:N \mainlanguagename / bcp47-\l_tmpa_tl }
+ }
+ }
+\cs_gset_nopar:cpn { bcp47.casing }
+ {
+ \tl_if_empty:eTF { \prop_item:Ne \l_xpg_langsetup_prop { \languagename / bcp47-casing } }
+ {
+ \prop_item:Ne \l_xpg_langsetup_prop { \languagename / bcp47-language }
+ }{
+ \prop_item:Ne \l_xpg_langsetup_prop { \languagename / bcp47-casing }
+ }
+ }
+\cs_gset_nopar:cpn { bcp47.main.casing }
+ {
+ \tl_if_empty:eTF { \prop_item:Ne \l_xpg_langsetup_prop { \mainlanguagename / bcp47-casing } }
+ {
+ \prop_item:Ne \l_xpg_langsetup_prop { \mainlanguagename / bcp47-language }
+ }{
+ \prop_item:Ne \l_xpg_langsetup_prop { \mainlanguagename / bcp47-casing }
+ }
+ }
+\cs_gset_nopar:cpn { bcp47.tag }
+ {
+ \prop_item:Ne \l_xpg_langsetup_prop { \languagename / bcp47 }
+ }
+\cs_gset_nopar:cpn { bcp47.main.tag }
+ {
+ \prop_item:Ne \l_xpg_langsetup_prop { \mainlanguagename / bcp47 }
+ }
+
+\cs_new_nopar:Npn \languagevariant
+ {
+ \prop_item:Ne \l_xpg_curropt_prop { \languagename / variant }
+ }
+
+\cs_new:Nn \xpg_set_language_name:n
{
- \cs_if_exist_use:cF{bcp47.#1}
- { \xpg@error{Invalid~ \string\BCPdata\space argument:~ #1} }
-}
-
-% main babel name
-\cs_new_nopar:Npn \mainlanguagename {}
-\cs_new_nopar:Npn \mainbabelname {}
-\cs_new_nopar:cpn {bcp47.main.tag} {}
-\cs_new_nopar:cpn {bcp47.main.language} {}
-\cs_new_nopar:cpn {bcp47.main.region} {}
-\cs_new_nopar:cpn {bcp47.main.script} {}
-\cs_new_nopar:cpn {bcp47.main.variant} {}
-\cs_new_nopar:cpn {bcp47.main.extension.t} {}
-\cs_new_nopar:cpn {bcp47.main.extension.u} {}
-\cs_new_nopar:cpn {bcp47.main.extension.x} {}
-\cs_new_nopar:cpn {bcp47.main.casing} {}
-\cs_new_nopar:Npn \mainlanguagevariant {}%
-% Store main language variant for external packages
-\define@key{xpg@main@langvariant}{variant}{
- \cs_gset_nopar:Npn \mainlanguagevariant {#1}
-}
-
-\cs_new_nopar:Npn \babelname {}
-\def\languagevariant{}
-% Store current language variant for external packages
-\define@key{xpg@set@langvariant}{variant}{
- \def\languagevariant{#1}
-}
-
-\newcommand*\polyglossia@set@language@name[2][]{
- \def\languagename{#2}
- \tl_if_blank:nTF {#1}{
- \ifcsundef{#2@gvar}{\def\languagevariant{}}{\def\languagevariant{\csuse{#2@gvar}}}
- }{
- % Register the language options
- \__xpg_set_language_options:nnn {#2} {#1} {@xpg@set@langvariant}
- \cs_set_eq:cc{#2@var}{languagevariant}
- }%
+ \cs_set:Npn \languagename { #1 }
}
-
-\newcommand*{\resetdefaultlanguage}[2][]{
+\NewDocumentCommand \resetdefaultlanguage { O{} m }
+{
\__xpg_reset_default_language:nn
{\xpg_alias_add_to_option_i:nn{#2}{#1}}
{\xpg_alias_base_lang:n{#2}}
}
-\cs_new:Nn \__xpg_store_bcp_info:nn
-{
- % Store BCP-47 ID and subtags of current language
- \tl_if_blank:nTF {#1}{
- % tag (e.g., en-US)
- \ifcsundef{#2@g.bcp47.tag}{
- \csedef{bcp47.tag}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47 } }
- }{
- \csedef{bcp47.tag}{\csuse{#2@g.bcp47.tag}}
- }
- % language (e.g., en)
- \ifcsundef{#2@g.bcp47.language}{
- \csedef{bcp47.language}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-language } }
- }{
- \csedef{bcp47.language}{\csuse{#2@g.bcp47.language}}
- }
- % region (e.g., US)
- \ifcsundef{#2@g.bcp47.region}{%
- \csedef{bcp47.region}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-region } }
- }{
- \csedef{bcp47.region}{\csuse{#2@g.bcp47.region}}%
- }
- % script (e.g., Latn)
- \ifcsundef{#2@g.bcp47.script}{
- \csedef{bcp47.script}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-script } }
- }{
- \csedef{bcp47.script}{\csuse{#2@g.bcp47.script}}
- }
- % variant (e.g., 1996)
- \ifcsundef{#2@g.bcp47.variant}{
- \csedef{bcp47.variant}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-variant } }
- }{
- \csedef{bcp47.variant}{\csuse{#2@g.bcp47.variant}}
- }
- % extension.t (tranformation)
- \ifcsundef{#2@g.bcp47.extension.t}{%
- \csedef{bcp47.extension.t}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-t } }
- }{
- \csedef{bcp47.extension.t}{\csuse{#2@g.bcp47.extension.t}}
- }
- % extension.u (additional locale information)
- \ifcsundef{#2@g.bcp47.extension.u}{%
- \csedef{bcp47.extension.u}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-u } }
- }{
- \csedef{bcp47.extension.u}{\csuse{#2@g.bcp47.extension.u}}
- }
- % extension.x (private use area)
- \ifcsundef{#2@g.bcp47.extension.x}{
- \csedef{bcp47.extension.x}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-x } }
- }{
- \csedef{bcp47.extension.x}{\csuse{#2@g.bcp47.extension.x}}
- }
- % casing
- \ifcsundef{#2@g.bcp47.casing}{
- % For casing, we fall back to language if bcp47-casing is not explicitly set
- \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \g_xpg_langsetup_prop { #2 / bcp47-casing } }
- \str_if_empty:NTF \tmpcasing
- { \cs_gset_eq:cc {bcp47.casing} {bcp47.language} }
- { \csedef{bcp47.casing}{ \tmpcasing } }
- }{
- \csedef{bcp47.casing}{\csuse{#2@g.bcp47.casing}}
- }
- }{
- \csedef{bcp47.tag}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47 } }
- \csedef{bcp47.language}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-language } }
- \csedef{bcp47.region}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-region } }
- \csedef{bcp47.script}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-script } }
- \csedef{bcp47.variant}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-variant } }
- \csedef{bcp47.extension.t}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-t } }
- \csedef{bcp47.extension.u}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-u } }
- \csedef{bcp47.extension.x}{ \prop_item:Nn{ \g_xpg_langsetup_prop}{ #2 / bcp47-extension-x } }
- % For casing, we fall back to language if bcp47-casing is not explicitly set
- \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \g_xpg_langsetup_prop { #2 / bcp47-casing } }
- \str_if_empty:NTF \tmpcasing
- { \cs_gset_eq:cc {bcp47.casing} {bcp47.language} }
- { \csedef{bcp47.casing}{ \tmpcasing } }
- }
-}
-
\cs_new:Nn \__xpg_reset_default_language:nn
{
\xpg_error_if_lang_not_loaded:n{#2}
% disable globalnumbers of previously defined default language
- \csuse{no\xpg@main@language @globalnumbers}
- \csuse{noextras@\xpg@main@language}%
+ \use:c{no\xpg_main_language_tl @globalnumbers}
+ \use:c{noextras@\xpg_main_language_tl}
% This is a hook for external packages which want to access variants
% via babelname (such as biblatex)
- \cs_if_exist_use:c{noextras@bbl@\mainbabelname}%
- \csuse{init@noextras@\xpg@main@language}%
- \polyglossia@set@language@name[#1]{#2}%
- \__xpg_if_LR_str:eF{\prop_item:Ne{\g_xpg_langsetup_prop}{#2/direction}}
+ \cs_if_exist_use:c{noextras@bbl@\mainbabelname}
+ \use:c{init@noextras@\xpg_main_language_tl}
+ \xpg_set_language_name:n { #2 }
+ \__xpg_if_LR_str:eF{\prop_item:Ne{\l_xpg_langsetup_prop}{#2/direction}}
{
\@rlmaintrue\@rl@footnotetrue
}
- \selectlanguage[#1]{#2}%
- \selectbackgroundlanguage{#2}%
- % Store babelname of current language (for external packages such as biblatex)
- \tl_if_blank:nTF {#1}{%
- \ifcsundef{#2@gbabelname}{
- \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}}
- }{
- \edef\babelname{\csuse{#2@gbabelname}}
- }
- }{
- \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}}
- }
- % Store variant
- \tl_if_blank:nTF {#1}
- {
- \cs_gset_nopar:Npn \mainlanguagevariant {}
- }
- {
- % Register the language options
- \__xpg_set_language_options:nnn {#2} {#1} {@xpg@main@langvariant}
- }
- \csgdef{#2@gvar}{\mainlanguagevariant}
- % Store BCP-47 id of current language
- \__xpg_store_bcp_info:nn {#1}{#2}
+ \selectlanguage[#1]{#2}
+ \selectbackgroundlanguage{#2}
+ \cs_set_nopar:Npe \mainlanguagevariant { \prop_item:Ne \l_xpg_curropt_prop { \xpg_alias_base_lang:n{#2} / variant } }
}
% This saves the normalfont for the latin script since we may change normalfont in other scripts
-\let\normalfontlatin=\normalfont
+\cs_set_eq:cc { normalfontlatin } { normalfont }
% Provide default fonts (as set with \setmainfont, \setsansfont and \setmonofont)
% for Latin scripts and as a fallback for non-Latin scripts.
-\DeclareRobustCommand\xpg@defaultfont@rm{
+\cs_set_protected:Nn \xpg_defaultfont_rm:
+{
\tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}
\fontfamily\rmdefault
- \ifdefined\UseHook\UseHook{rmfamily}\fi
+ \hook_use:n { rmfamily }
\selectfont
}
-\DeclareRobustCommand\xpg@defaultfont@sf{
+
+\cs_set_protected:Nn \xpg_defaultfont_sf:
+{
\tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}
\fontfamily\sfdefault
- \ifdefined\UseHook\UseHook{sffamily}\fi
+ \hook_use:n { sffamily }
\selectfont
}
-\DeclareRobustCommand\xpg@defaultfont@tt{
+
+\cs_set_protected:Nn \xpg_defaultfont_tt:
+{
\tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}
\fontfamily\ttdefault
- \ifdefined\UseHook\UseHook{ttfamily}\fi
+ \hook_use:n { ttfamily }
\selectfont
}
-\def\xpg@patch@fontfamilies{
+\cs_new:Nn \__xpg_patch_fontfamilies:
+{
% This robustifies the redefinitions of \<xx>family (suggestion by Enrico Gregorio)
% e.g. to prevent expansion of the \familytype redefinition in auxiliary files
- \csgappto{rmfamily~}{\def\familytype{rm}}
- \csgappto{sffamily~}{\def\familytype{sf}}
- \csgappto{ttfamily~}{\def\familytype{tt}}
+ \tl_put_right:cn {rmfamily~} {\tl_set:Nn \familytype {rm}}
+ \tl_put_right:cn {sffamily~} {\tl_set:Nn \familytype {sf}}
+ \tl_put_right:cn {ttfamily~} {\tl_set:Nn \familytype {tt}}
}
% These switches activate the default fonts
% Note that a simple \let\rmfamilylatin=\rmfamily
% does not work reliably (see #24)
-\cs_gset_eq:cc{rmfamilylatin}{xpg@defaultfont@rm}
-\cs_gset_eq:cc{sffamilylatin}{xpg@defaultfont@sf}
-\cs_gset_eq:cc{ttfamilylatin}{xpg@defaultfont@tt}
-
-\def\xpg@set@familydefault{
- % We need the \edef route here in order
- % to detect both \renewcommand and \let
- % changes.
- \edef\tempa{\familydefault}
- \edef\tempb{\sfdefault}
- \ifcsequal{tempa}{tempb}
- {\def\familytype{sf}}
- {\edef\tempb{\ttdefault}
- \ifcsequal{tempa}{tempb}
- {\def\familytype{tt}}
- {\def\familytype{rm}}}
- \xpg@patch@fontfamilies
+\cs_set_eq:cc{rmfamilylatin}{xpg_defaultfont_rm:}
+\cs_set_eq:cc{sffamilylatin}{xpg_defaultfont_sf:}
+\cs_set_eq:cc{ttfamilylatin}{xpg_defaultfont_tt:}
+
+\cs_new:Nn \xpg_set_familydefault:
+{
+ \tl_set:Ne \l_tmpa_tl { \familydefault }
+ \tl_set:Ne \l_tmpb_tl { \sfdefault }
+ \tl_if_eq:NNTF \l_tmpa_tl \l_tmpb_tl
+ { \tl_set:Nn \familytype {sf} }
+ { \tl_set_eq:NN \l_tmpb_tl \ttdefault
+ \tl_if_eq:NNTF \l_tmpa_tl \l_tmpb_tl
+ { \tl_set:Nn \familytype {tt} }
+ { \tl_set:Nn \familytype {rm} }
+ }
+ \__xpg_patch_fontfamilies:
% This (re-)saves the normalfont for the latin script since we may
% change normalfont in other scripts
- \let\normalfontlatin=\normalfont
+ \cs_set_eq:cc{ normalfontlatin }{ normalfont }
% And for all cases, we also reset \<xx>familylatin
- \cs_gset_eq:cc{rmfamilylatin}{xpg@defaultfont@rm}
- \cs_gset_eq:cc{sffamilylatin}{xpg@defaultfont@sf}
- \cs_gset_eq:cc{ttfamilylatin}{xpg@defaultfont@tt}
-}
-
-\def\resetfontlatin{
- \DeclareRobustCommand\rmfamily{\xpg@defaultfont@rm}
- \DeclareRobustCommand\sffamily{\xpg@defaultfont@sf}
- \DeclareRobustCommand\ttfamily{\xpg@defaultfont@tt}
- \xpg@patch@fontfamilies
- \global\let\normalfont=\normalfontlatin
-}
-
-\def\selectfontfamilylatin{
- \def\tmp@tt{tt}\def\tmp@sf{sf}
- \ifx\familytype\tmp@tt
- \ttfamilylatin
- \else\ifx\familytype\tmp@sf
- \sffamilylatin
- \else\rmfamilylatin\fi\fi}
-
-\def\xpg@select@fontfamily#1{
- \def\tmp@tt{tt}\def\tmp@sf{sf}
- \ifx\familytype\tmp@tt
- \__xpg_use_or_warn:c{#1@font@tt}
- \else\ifx\familytype\tmp@sf
- \__xpg_use_or_warn:c{#1@font@sf}
- \else\__xpg_use_or_warn:c{#1@font@rm}\fi\fi}
-
-\def\xpg@set@normalfont#1{
- \letcs{\rmfamily}{#1@font@rm}
- \letcs{\sffamily}{#1@font@sf}
- \letcs{\ttfamily}{#1@font@tt}
- \robustify\rmfamily
- \robustify\sffamily
- \robustify\ttfamily
- \gdef\normalfont{\protect\xpg@select@fontfamily{#1}
- \fontseries{\seriesdefault}\selectfont
- \fontshape{\shapedefault}
- \ifdefined\UseHook\UseHook{normalfont}\fi
- \selectfont}
- \gdef\reset@font{\protect\normalfont}
-}
-
-\let\@@fterindentfalse\@afterindentfalse
-\def\french@indent{
- \let\@afterindentfalse\@afterindenttrue
+ \cs_set_eq:cc{ rmfamilylatin }{ xpg_defaultfont_rm: }
+ \cs_set_eq:cc{ sffamilylatin }{ xpg_defaultfont_sf: }
+ \cs_set_eq:cc{ ttfamilylatin }{ xpg_defaultfont_tt: }
+}
+
+\cs_set_nopar:Nn \xpg_select_fontfamily:n
+{
+ \str_if_eq:VnTF \familytype { tt }
+ { \__xpg_use_or_warn:c { #1@font@tt } }
+ { \str_if_eq:VnTF \familytype { sf }
+ { \__xpg_use_or_warn:c { #1@font@sf } }
+ { \__xpg_use_or_warn:c { #1@font@rm } }
+ }
+}
+
+\cs_set_protected:Npn \xpg_select_default_fontfamily:n #1
+ {
+ \tl_set:Ne \l_tmpa_tl { \familydefault }
+ \tl_set:Ne \l_tmpb_tl { \sfdefault }
+ \tl_if_eq:NNTF \l_tmpa_tl \l_tmpb_tl
+ { \tl_set:Nn \familytype {sf} }
+ { \tl_set_eq:NN \l_tmpb_tl \ttdefault
+ \tl_if_eq:NNTF \l_tmpa_tl \l_tmpb_tl
+ { \tl_set:Nn \familytype {tt} }
+ { \tl_set:Nn \familytype {rm} }
+ }
+ \xpg_select_fontfamily:n{#1}
+ }
+
+\cs_new_nopar:Nn \xpg_set_normalfont:n
+{
+ \cs_set_eq:cc { rmfamily } { #1@font@rm }
+ \cs_set_eq:cc { sffamily } { #1@font@sf }
+ \cs_set_eq:cc { ttfamily } { #1@font@tt }
+ \cs_set_nopar:Npn \normalfont
+ { \xpg_select_default_fontfamily:n {#1}
+ \fontseries{\seriesdefault}\selectfont
+ \fontshape{\shapedefault}
+ \hook_use:n { normalfont }
+ \selectfont
+ }
+ \cs_set_nopar:Npn \reset@font {\protect\normalfont}
+}
+
+\cs_gset_eq:cc { @@fterindentfalse } { @afterindentfalse }
+\cs_new_nopar:Nn \__xpg_french_indent:
+{
+ \cs_set_eq:cc { @afterindentfalse } { @afterindenttrue }
\@afterindenttrue
}
-\def\nofrench@indent{
- \let\@afterindentfalse\@@fterindentfalse
+\cs_new_nopar:Nn \__xpg_no_french_indent:
+{
+ \cs_set_eq:cc { @afterindentfalse } { @@fterindentfalse }
\@afterindentfalse
}
@@ -5839,10 +5838,10 @@ to track the issues and follow progress.
\cs_new:Nn \__xpg_select_background_language:n
{
- \str_if_eq:eeTF{\prop_item:Nn{\g_xpg_langsetup_prop}{#1/lcscript}}{latin}
+ \str_if_eq:eeTF { \prop_item:Nn{\l_xpg_langsetup_prop}{#1/lcscript} } { latin }
{}
- {\xpg@set@normalfont{#1}}
- \csuse{#1@globalnumbers}
+ { \xpg_set_normalfont:n{#1} }
+ \use:c{#1@globalnumbers}
}
\cs_generate_variant:Nn \__xpg_select_background_language:n {e}
% Declare secondary language #2 with language options #1
@@ -5853,7 +5852,7 @@ to track the issues and follow progress.
\__xpg_load_lang_definition:ee {#1} {#2}
% define environment and command if not alias
\str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#2/target}} {#2} {
- \use:c{\prop_item:Ne{\g_xpg_langsetup_prop}
+ \use:c{\prop_item:Ne{\l_xpg_langsetup_prop}
{#2/DefineCommandsCmd}}
{#2}
}
@@ -5866,28 +5865,13 @@ to track the issues and follow progress.
\cs_new:Nn \__xpg_set_otherlanguage:nn
{
\__xpg_register_language:nn{#1}{#2}
- % If a variant is set, store it.
- \gdef\otherlanguagevariant{}
- % Register the language options
- \__xpg_set_language_options:nnn {#2} {#1} {@xpg@other@langvariant}
-
- \csgdef{#2@gvar}{\otherlanguagevariant}
- \prop_get:NeNT \g_xpg_langsetup_prop {#2/babelname} \l_tmpa_tl
- { \xdef\otherlanguagebabelname{\l_tmpa_tl} }
- \cs_gset_eq:cc{#2@gbabelname}{otherlanguagebabelname}
}
\cs_generate_variant:Nn \__xpg_set_otherlanguage:nn { ee }
-
-% Store main language variant for external packages
-\define@key{xpg@other@langvariant}{variant}{
- \gdef\otherlanguagevariant{#1}
-}
-
\NewDocumentCommand \setotherlanguages { m }
- {
+{
\clist_map_function:eN { #1 } \setotherlanguage
- }
+}
\cs_set:Nn \xpg_common_language:
{% FIXME is this really needed???
@@ -5910,7 +5894,8 @@ to track the issues and follow progress.
% for specific (esp. tag-based) aliases
% where \text<alias> would cause clashes
% (e.g., \textit)
-\newcommand\textlang[3][]{
+\NewDocumentCommand \textlang { O{} m +m }
+{
\__xpg_textlanguage:een {#1} {#2} {#3}
}
@@ -5919,45 +5904,20 @@ to track the issues and follow progress.
% inside case changing commands (e.g. \MakeUppercase)
\tl_put_right:Nn \l_text_case_exclude_arg_tl { \textlang }
-% Alias to {<lang>}, but more suitable
-% for specific (esp. tag-based) aliases
-% where {<alias>} would cause clashes
-% (e.g., \fi)
-\DeclareEnvironmentCopy { lang } { otherlanguage }
-
% wrapper for foreignlanguage and otherlanguage*
-\newcommand*\polyglossia@setforeignlanguage[2][]{
- \select@@language[#1]{#2}
+\cs_new_nopar:Nn \xpg_set_foreign_language:nn
+{
+ \xpg_select_language:nn { #1 } { #2 }
\__xpg_register_language:nn{#1}{#2}
- % Store babelname of current language (for external packages such as biblatex)
- \tl_if_blank:nTF {#1}{
- \ifcsundef{#2@gbabelname}{
- \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}}
- }{
- \edef\babelname{\csuse{#2@gbabelname}}
- }
- }{
- \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}}
- }
- % Store BCP-47 id of current language
- \__xpg_store_bcp_info:nn {#1}{#2}
-}
-
-% Expandable lowercasing. We use this to assure keyval
-% options are lowercased (also when used in \MakeUppercase
-% contexts e.g. in headings)
-% Macro adapted from tudscr.sty
-\newcommand*\xpg@str@lowercase[2]{
- \protected@edef#1{
- \lowercase{\def\noexpand#1{#2}}
- }#1
}
% lowercase options before passing to setkeys
-\cs_new:Nn \__xpg_set_keys:nn
+\NewDocumentCommand \SetGlossOptions { m m }
{
- \xpg@str@lowercase{\xpg@tmp@opts}{#2}
- \exp_args:Nne \setkeys{#1}{\xpg@tmp@opts}
+ % \text_lowercase:n fully expands
+ % (as opposed to \str_lowercase:n)
+ \use:c { xpg_#1_default_options_tl }
+ \exp_args:Ne \keys_set:ne{ polyglossia / gloss / #1 }{ \text_lowercase:n {#2} }
}
% joint code of \foreignlanguage, otherlanguage*
@@ -5967,54 +5927,30 @@ to track the issues and follow progress.
\cs_new:Nn \xpg_otherlanguage:nn
{
\xpg_error_if_lang_not_loaded:n{#2}
- \__xpg_set_keys:nn{#2}{#1}
- \polyglossia@setforeignlanguage[#1]{#2}
+ \SetGlossOptions{#2}{#1}
+ \xpg_set_foreign_language:nn { #1 } { #2 }
% Hook for external packages such as biblatex
\polyglossia@language@switched
% buggy restoration heure
- \csuse{inlineextras@#2}
+ \use:c{inlineextras@#2}
% This is a hook for external packages which want to access variants
% via babelname (such as biblatex)
\cs_if_exist_use:c{inlineextras@bbl@\babelname}
}
\DeclareDocumentCommand { \foreignlanguage } { O{} m +m }
- {
+{
\__xpg_foreignlanguage:eeen {#1} {#2} {\xpg_alias_base_lang:n{#2}} {#3}
- }
+}
% prevent case changing of language name in \foreignlanguage
\tl_put_right:Nn \l_text_case_exclude_arg_tl { \foreignlanguage }
-% Direct access to polyglossia@setforeignlanguage
+% Direct access to \xpg_set_foreign_language:nn
% used in captions
-\newcommand{\setforeignlanguage}[2][]
+\NewDocumentCommand \setforeignlanguage { O{} m }
{
- \polyglossia@setforeignlanguage[#1]{#2}
-}
-
-% Stack to store matrix languages
-\seq_new:N \__xpg_current_matrixlang_stack
-
-% Store embedding language when an embedded language is switched to
-\cs_new_nopar:Nn \__xpg_store_matrixlang:
-{
- \seq_gput_left:Nn \__xpg_current_matrixlang_stack \languagename
-}
-
-% When an embedded language is closed, reset to the embedding language
-% and remove stored matrix language from stack
-\cs_new_nopar:Nn \__xpg_reset_to_matrixlang:
-{
- % if stack is empty, use main language
- \seq_gpop_left:NNTF \__xpg_current_matrixlang_stack \l_tmpa_tl
- { \cs_set_eq:NN \__xpg_current_matrixlang \l_tmpa_tl }
- { \cs_set_eq:NN \__xpg_current_matrixlang \mainlanguagename }
- % Reset the language's/script's font families if the embedding script is latin
- \str_if_eq:eeT{\prop_item:Ne{\g_xpg_langsetup_prop}{\__xpg_current_matrixlang/lcscript}}{latin}
- {\resetfontlatin}
- % In case a \<lang>font is defined, re-activate that
- \exp_args:Ne \xpg@set@normalfont{\__xpg_current_matrixlang}
+ \xpg_set_foreign_language:nn { #1 } { #2 }
}
% internal wrapper for foreign language
@@ -6028,12 +5964,10 @@ to track the issues and follow progress.
{
\msg_show:nnn { polyglossia } { languagenotloaded } {#2}
}{
- \__xpg_store_matrixlang:
\group_begin:
\xpg_otherlanguage:nn{ \xpg_alias_add_to_option_i:nn{#2}{#1} }{ #3 }
\__xpg_lang_set_text_direction:nn{#3}{#4}
\group_end:
- \__xpg_reset_to_matrixlang:
}
}
\cs_generate_variant:Nn \__xpg_foreignlanguage:nnnn {eeen}
@@ -6042,11 +5976,9 @@ to track the issues and follow progress.
% otherlanguage* is the environment equivalent of \foreignlanguage
\DeclareDocumentEnvironment { otherlanguage* } { O{} m }
{
- \__xpg_store_matrixlang:
\__xpg_otherlanguage:eee { #1 } { #2 } { \xpg_alias_base_lang:n { #2 } }
}{
- \egroup% \group_end: does not work here!
- \__xpg_reset_to_matrixlang:
+ \c_group_end_token% \group_end: does not work here!
}
% internal wrapper
@@ -6061,7 +5993,7 @@ to track the issues and follow progress.
}{
\xpg_otherlanguage:nn{ \xpg_alias_add_to_option_i:nn{#2}{#1} }{ #3 }
\__xpg_lang_set_text_direction:nn{#3}%
- \bgroup% \group_begin: does not work here!
+ \c_group_begin_token% \group_begin: does not work here!
}
}
\cs_generate_variant:Nn \__xpg_otherlanguage:nnn { eee }
@@ -6077,9 +6009,6 @@ to track the issues and follow progress.
}
\cs_generate_variant:Nn \__xpg_textlanguage:nnn {een}
-% Track whether we are in an inline lang (\text...) switch
-\bool_new:N \l__xpg_inline_lang_bool
-
% use by \text<lang> and \textlang. Equivalent to \foreignlanguage,
% except that dates are localized.
% #1: option
@@ -6093,41 +6022,43 @@ to track the issues and follow progress.
\msg_show:nnn { polyglossia } { languagenotloaded } {#2}
}
{
- \__xpg_store_matrixlang:
\group_begin:
- \bool_set_true:N \l__xpg_inline_lang_bool
\xpg_otherlanguage:nn{#1}{#3}
- \csuse{date#3}
+ \use:c{date#3}
% This is a hook for external packages which want to access variants
% via babelname (such as biblatex)
\cs_if_exist_use:c{date@bbl@\babelname}
\__xpg_lang_set_text_direction:nn{#3}{#4}
\group_end:
- \__xpg_reset_to_matrixlang:
}
}
\cs_generate_variant:Nn \__xpg_textlanguage:nnnn {nnen}
% Define language-specific hyphenation exceptions
-\newcommand\pghyphenation[3][]{
- \bgroup
- \xpg_error_if_lang_not_loaded:n{#2}
- \setkeys{#2}{#1}
- \select@@language[#1]{#2}
+\NewDocumentCommand \pghyphenation {O{} m m}
+{
+ \c_group_begin_token
+ \xpg_error_if_lang_not_loaded:n { #2 }
+ \SetGlossOptions{#2}{#1}
+ \xpg_select_language:nn { #1 } { #2 }
\hyphenation{#3}
- \egroup
+ \c_group_end_token
}
% Hook that other package authors can use
% (for instance biblatex):
% Do not rename!
-\newcommand*{\xpg@hook@setlanguage}{}
+\cs_set_nopar:Npn \xpg@hook@setlanguage {}
-\def\xpg@pop@language@i#1#2{
- \xpg@set@language@aux[#1]{#2}
+\cs_set_nopar:Nn \__xpg_pop_language:nn
+{
+ \xpg_set_language_aux:nn { #1 } { #2 }
\xpg@hook@setlanguage
- \let\emp@langname\@undefined}
+% FIXME This seems to be a very old relict.
+% The macro is nowhere used. Probably remove.
+% \let\emp@langname\@undefined
+}
\DeclareDocumentCommand \selectlanguage {s O{} m}
{
@@ -6146,131 +6077,124 @@ to track the issues and follow progress.
\cs_new:Nn \__xpg_select_language:nnn
{
% Register the language options
- \__xpg_set_language_options:nnn {#3} {#2} {@xpg@set@langvariant}
+ \__xpg_set_language_options:nn {#3} {#2}
\IfBooleanTF { #1 } % The starred variant does not write to the aux
{
- \xpg@set@language@nonaux[#2]{#3}
+ \xpg_set_language_nonaux:nn { #2 } { #3 }
}{
- \cs_set_nopar:Npe \xpg@pop@language { \exp_not:N \xpg@pop@language@i {#2} {#3} }
- \group_insert_after:N \xpg@pop@language
- \xpg@set@language@aux[#2]{#3}
+ \cs_set_nopar:Ne \xpg_pop_language: { \exp_not:N \__xpg_pop_language:nn { #2 } { #3 } }
+ \group_insert_after:N \xpg_pop_language:
+ \xpg_set_language_aux:nn { #2 } { #3 }
}
- \__xpg_register_language:nn{#2}{#3}
+ \__xpg_register_language:nn { #2 } { #3 }
}
\cs_generate_variant:Nn \__xpg_select_language:nnn { nee, nne }
-
% set lang option #2 for lang #1
-\cs_new:Nn \__xpg_set_language_options:nnn
+\cs_new:Nn \__xpg_set_language_options:nn
{
- \tl_if_blank:nF {#2}
+ \cs_if_exist:cT { xpg_#1_default_options_prop }
{
- % If the optional argument sets a value for the key “variant”, copy it to xpg@langvariant
- \clist_map_inline:nn { #2 } {
- \xpg@parsevariantkeyvalue##1=#3:#1\relax
- }%
- \__xpg_set_keys:nn{#1}{#2}
+ \prop_concat:ccc { l_xpg_curropt_prop } { l_xpg_curropt_prop }
+ { xpg_#1_default_options_prop }
}
+ \xpg__keyval_parser:eeN { #2 } { #1 } \l_xpg_curropt_prop
+ \SetGlossOptions{#1}{#2}
}
% Initialize default language options, so that
% \iflanguageoption has the info it needs also
% for default settings
-\newcommand*\xpg@initialize@gloss@options[2]{
- \__xpg_set_language_options:nnn {#1} {#2} {@xpg@set@langvariant}
-}
+\NewDocumentCommand \InitializeGlossOptions { m m }
+{
+ \tl_new:c { xpg_#1_default_options_tl }
+ \prop_new:c { xpg_#1_default_options_prop }
+ \keys_precompile:nec { polyglossia / gloss / #1 }
+ { \text_lowercase:n { #2, \xpg__tmp_default_options_tl } }
+ { xpg_#1_default_options_tl }
+ \xpg__keyval_parser:enc { #2, \xpg__tmp_default_options_tl } { #1 }
+ { xpg_#1_default_options_prop }
+ \prop_concat:ccc { l_xpg_curropt_prop } { l_xpg_curropt_prop }
+ { xpg_#1_default_options_prop }
+ \use:c { xpg_#1_default_options_tl }
+ \__xpg_set_language_options:nn {#1} {#2}
+}
+\tl_new:N \xpg__tmp_default_options_tl
+\cs_generate_variant:Nn \keys_precompile:nnN { nec }
% Record synonymous keyvals such as variant=us and variant=american
-% Syntax: \xpg@set@alias@values{<lang>}{<key>}{<val>}{<alias vals, comma-separated>}
-\newcommand*\xpg@set@alias@values[4]{%
- \prop_if_exist:cF { xpg@alias@keyvals@#1@#3 }
- { \prop_new:c {xpg@alias@keyvals@#1@#3} }
- \prop_put:cnn { xpg@alias@keyvals@#1@#3 }
- {#2}{#4}
- \prop_if_exist:cF { xpg@alias@keyvals@#1@#4 }
- { \prop_new:c {xpg@alias@keyvals@#1@#4} }
- \prop_put:cnn { xpg@alias@keyvals@#1@#4 }
- {#2}{#3}
-}
-
-% Patch xkeyval to record default values of keys
-\pretocmd{\XKV@define@default}{%
- \csgdef{xpg@default@opt@\XKV@header #1}{#2}
-}{}{\xpg@warning{Patching xkeyval failed!}}
-
-% Helper to get and register option keyvals
-\def\xpg@parsevariantkeyvalue#1=#2@#3:#4\relax{
- \def\@tmpa{#1}
- \def\@tmpb{variant}
- % variant values are stored in specific macros
- % (\xpg@main@langvariant, \xpg@other@langvariant
- % and \xpg@set@langvariant)
- \ifx\@tmpa\@tmpb\setkeys{#3}{#1=#2}\fi
- \tl_if_empty:nTF{#2}
- {
- \ifcsdef{xpg@default@opt@KV@#4@#1}
- {\xpg@store@opt@keyval#1:\csuse{xpg@default@opt@KV@#4@#1}=:#4\relax}
- {}%
- }
- { \xpg@store@opt@keyval#1:#2:#4\relax }
-}%
-
-% Store option keys and values
-% This strips trailing '=' from values.
-\def\xpg@store@opt@keyval#1:#2=:#3\relax{
- \prop_if_exist:cF { xpg@current@options@#3 }
- { \prop_new:c {xpg@current@options@#3} }
- \prop_put:cnn { xpg@current@options@#3 }
- {#1}{#2}
+% Syntax: \SetLanguageAliasValues{<lang>}{<key>}{<alias vals, comma-separated>}
+\int_new:N \l_xpg_alias_keyvals_int
+\int_set:Nn \l_xpg_alias_keyvals_int { 2 }
+\NewDocumentCommand \SetLanguageAliasValues { m m m }
+{
+ \clist_map_inline:nn { #3 }
+ {
+ \int_const:cn { c_xpg_alias_keyvals_#1_#2_##1_int } { \l_xpg_alias_keyvals_int }
+ }
+ \int_incr:N \l_xpg_alias_keyvals_int
}
+\cs_new:Npn \xpg__keyval_parser:nnN #1 #2 #3 % #1 = key-vals, #2 = language, #3 = prop
+ {
+ \keyval_parse:nnn
+ { \xpg__keyval_parser_default:nnn { #2 } { #3 } }
+ { \xpg__keyval_parser_nondefault:nnnn { #2 } { #3 } }
+ { #1 }
+ }
+\cs_generate_variant:Nn \xpg__keyval_parser:nnN { eeN, enc }
+
+\cs_new:Npn \xpg__keyval_parser_default:nnn #1 #2 #3 % #1 = lang, #2 = prop, #3 = key
+ {
+ \str_set:Nn \l_tempa_str { #1 / #3 }
+ \str_concat:NNN \l_tempa_str \c__keys_default_root_str \l_tempa_str
+ \prop_put:Nne #2 { #1 / #3 } { \use:c { \l_tempa_str } }
+ }
+
+\cs_new:Npn \xpg__keyval_parser_nondefault:nnnn #1 #2 #3 #4 % #1 = lang, #2 = prop, #3 = key, #4 = value
+ {
+ \prop_put:Nnn #2 { #1 / #3 } { #4 }
+ }
\prg_set_conditional:Npnn \__xpg_check_option_value:NNN #1#2#3 { p , T , F , TF }
-{
- \prop_get:cnNTF {xpg@current@options@#1} {#2} \l_tmpa_tl
- {
- \str_if_eq:eeTF{\l_tmpa_tl}{#3}
- {\prg_return_true:}
+ {
+ \bool_lazy_or:nnTF
+ {
+ \str_if_eq_p:ee { \prop_item:Nn \l_xpg_curropt_prop { #1 / #2 } } { #3 }
+ } {
+ \int_compare_p:nNn
{
- \prop_get:cnNTF {xpg@alias@keyvals@#1@#3} {#2} \l_tmpb_tl
- {
- \clist_set:Ne{\l_tmpa_clist}{\l_tmpb_tl}
- \providetoggle{xpgvalfound}
- \togglefalse{xpgvalfound}
- \clist_map_inline:Nn \l_tmpa_clist {
- \str_if_eq:eeT{##1}{\l_tmpa_tl}
- { \toggletrue{xpgvalfound} }
- }
- \iftoggle{xpgvalfound}{\prg_return_true:}{\prg_return_false:}
- }
- {
- \prg_return_false:
- }
- }
- }
- {
- \prg_return_false:
- }
+ \cs_if_exist_use:cF { c_xpg_alias_keyvals_#1_#2_#3_int } { 0 }
+ } = {
+ \cs_if_exist_use:cF { c_xpg_alias_keyvals_#1_#2_\prop_item:Nn \l_xpg_curropt_prop { #1 / #2 }_int } { 1 }
+ }
+ } { \prg_return_true: } { \prg_return_false: }
+ }
+
+\prg_set_conditional:Npnn \xpg_if_main_language:n #1 { T, F, TF }
+{
+ \str_if_eq:VnTF \xpg_main_language_tl { #1 }
+ { \prg_return_true: }
+ { \prg_return_false: }
}
+\cs_set_eq:NN \IfMainLanguageTF \xpg_if_main_language:nTF
+
+\cs_set_eq:NN \IfMainLanguageT \xpg_if_main_language:nT
+
+\cs_set_eq:NN \IfMainLanguageF \xpg_if_main_language:nF
+
% Test if option value is set
\DeclareDocumentCommand \iflanguageoption { m m m m m }
{
\__xpg_check_option_value:NNNTF{#1}{#2}{#3}{#4}{#5}
}
-
-% Append any variant to csv list of variants
-\define@key{xpg@langvariant}{variant}{
- \clist_if_in:NeF \xpg@vloaded {#1}{
- \clist_gput_right:Ne \xpg@vloaded {#1}
- }
-}
-
% Test if language is loaded
\DeclareDocumentCommand \iflanguageloaded { m m m }
{
- \AddToHook{begindocument/end}{
+ \hook_gput_code:nnn {begindocument/end} {.}
+ {
\clist_if_in:NeTF \xpg@loaded{#1}{#2}{#3}
}
}
@@ -6278,7 +6202,8 @@ to track the issues and follow progress.
% Same for babellanguage is loaded
\DeclareDocumentCommand \ifbabellanguageloaded { m m m }
{
- \AddToHook{begindocument/end}{
+ \hook_gput_code:nnn {begindocument/end} {.}
+ {
\clist_if_in:NeTF \xpg@bloaded{#1}{#2}{#3}
}
}
@@ -6286,7 +6211,8 @@ to track the issues and follow progress.
% Same for languageid
\DeclareDocumentCommand \iflanguageidloaded { m m m m }
{
- \AddToHook{begindocument/end}{
+ \hook_gput_code:nnn {begindocument/end} {.}
+ {
\str_case:nnTF {#1}
{
{bcp-47} { \clist_if_in:NeTF \xpg@bcp@loaded{#2}{#3}{#4} }
@@ -6294,7 +6220,7 @@ to track the issues and follow progress.
}
{}
{
- \xpg@error{Invalid~ \string\iflanguageidloaded\space argument:~ #1}
+ \xpg_ill_arg_msg:nn { #1 } { \iflanguageidloaded }
}
}%
}
@@ -6324,53 +6250,46 @@ to track the issues and follow progress.
}
-\newcommand*{\xpg@set@language@nonaux}[2][]{
- \@select@language[#1]{#2}
+\cs_new_nopar:Nn \xpg_set_language_nonaux:nn
+{
+ \__xpg_start_language:nn { #1 } { #2 }
}
-\newcommand*{\xpg@set@language@aux}[2][]{
- % Store babelname of current language (for external packages such as biblatex)
- \tl_if_blank:nTF {#1}{
- \ifcsundef{#2@gbabelname}{
- \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}}
- }{
- \edef\babelname{\csuse{#2@gbabelname}}
- }
- }{
- \edef\babelname{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/babelname}}
- }
- % Store BCP-47 id of current language
- \__xpg_store_bcp_info:nn {#1}{#2}
- \@select@language[#1]{#2}
+\cs_new_nopar:Nn \xpg_set_language_aux:nn
+{
+ \__xpg_start_language:nn { #1 } { #2 }
% Write to the aux
- \xpg@set@language@only@aux[#1]{#2}
+ \xpg_set_language_only_aux:nn { #1 } { #2 }
}
-\newcommand*{\xpg@set@language@only@aux}[2][]{
+\cs_new_nopar:Nn \xpg_set_language_only_aux:nn
+{
% Write to the aux (toc files)
\if@filesw
\addtocontents{toc}{\selectlanguage*[#1]{#2}}
\fi
}
-\AtBeginDocument{
+\hook_gput_code:nnn {begindocument} {.}
+{
\if@filesw
- \immediate\write\@mainaux
- {\ProvideDocumentCommand\selectlanguage{sO{}m}{}}
+ \immediate\write\@mainaux
+ {\ProvideDocumentCommand\selectlanguage{sO{}m}{}}
\fi
}
% Since captions might float to other language regions,
% we need to change the language here (#542)
-\AddToHook{cmd/caption/before}{
+\hook_gput_code:nnn {cmd/caption/before} {.}
+{
\ifhmode\unskip\fi
\addtocontents{lof}{\protect\setforeignlanguage{\languagename}}
\addtocontents{lot}{\protect\setforeignlanguage{\languagename}}
}
% check if language is defined
-\prg_set_conditional:Npnn \__xpg_check_if_exist_l@:n #1 { F, TF }
+\prg_set_conditional:Npnn \__xpg_pattern_check_if_exists:n #1 { F, TF }
{
\bool_lazy_and:nnTF
{ \cs_if_exist_p:c { l@#1 } }
@@ -6379,82 +6298,125 @@ to track the issues and follow progress.
{ \prg_return_false: }
}
-\def\polyglossia@luatex@load@lang#1{
+\cs_new_nopar:Nn \__xpg_luatex_load_lang:n
+{
% if \l@#1 is not properly defined, call lua function newloader(#1),
% and assign the returned number to \l@#1
- \__xpg_check_if_exist_l@:nF {#1}
+ \__xpg_pattern_check_if_exists:nF {#1}
{
\directlua { token.set_char('l@#1', polyglossia.newloader'#1') }
}
}
-% This check is also used by biblatex, so don't
-% rename silently.
-\newcommand\xpg@ifdefined[3]{
+% check if language is defined
+\prg_set_conditional:Npnn \xpg_if_language_defined:n #1 { T, F, TF }
+{
% With luatex, we first need to define \l@#1.
\sys_if_engine_luatex:T
{
- \polyglossia@luatex@load@lang{#1}
+ \__xpg_luatex_load_lang:n {#1}
}
- \__xpg_check_if_exist_l@:nTF{#1}{#2}{#3}
+ \__xpg_pattern_check_if_exists:nTF{#1}
+ { \prg_return_true: }
+ { \prg_return_false: }
}
+% Aliases for gloss files
+\cs_gset_eq:cc { IfLanguageDefinedTF } { xpg_if_language_defined:nTF }
+\cs_gset_eq:cc { IfLanguageDefinedT } { xpg_if_language_defined:nT }
+\cs_gset_eq:cc { IfLanguageDefinedF } { xpg_if_language_defined:nF }
+
+% Check if patterns for language #1 is defined. If not, try
+% the comma-separated list of fallbacks in #2
+\NewDocumentCommand \TryPatternWithFallback { m m }
+{
+ \xpg_if_language_defined:nF { #1 }
+ {
+ \clist_clear_new:N \l_xpg_lang_patterns
+ \clist_set:Ne \l_xpg_lang_patterns { #2 }
+ \bool_set_false:N \l_tmpa_bool
+ \clist_map_inline:Nn \l_xpg_lang_patterns
+ {
+ \xpg_if_language_defined:nT { ##1 }
+ {
+ \cs_gset_eq:cc { l@#1 } { l@##1 }
+ \bool_set_true:N \l_tmpa_bool
+ \clist_map_break:
+ }
+ }
+ \bool_if:NF \l_tmpa_bool
+ {
+ \xpg_warning_msg:n
+ {No~ hyphenation~ patterns~ for~ #1~ found \iow_newline:
+ Falling~ back~ to~ the~ default~ patterns~ (=~English)!}
+ \exp_args:Nc \adddialect {l@#1} 0
+ }
+ }
+}
+
+% This old term is used by biblatex, so don't drop!
+\cs_gset_eq:cc { xpg@ifdefined } { xpg_if_language_defined:nTF }
+
% Set \bbl@hyphendata@\the\language, which is (lua)babel's
% hyphenation pattern hook
% FIXME Clarifiy why/when this is needed.
-\newcommand*\xpg@set@bbl@hyphendata[1]{
+\cs_new:Nn \xpg_set_bbl_hyphendata:n
+{
\sys_if_engine_luatex:T
{
- \ifcsdef{bbl@hyphendata@#1}{}{
- \global\@namedef{bbl@hyphendata@\the\language}{}
+ \cs_if_exist:cF {bbl@hyphendata@#1}
+ {
+ \cs_gset:cpn {bbl@hyphendata@\the\language} {}
}
}
}
% Set hyphenation patterns for a given language. This does the right
% thing both for XeTeX and LuaTeX
-\newcommand*\xpg@set@hyphenation@patterns[1]{
- \sys_if_engine_luatex:T { \polyglossia@luatex@load@lang{#1} }
+\cs_new:Nn \xpg_set_hyphenation_patterns:n
+{
+ \sys_if_engine_luatex:T { \__xpg_luatex_load_lang:n {#1} }
\language=\csname l@#1\endcsname
}
-\newcommand*\@select@language[2][]{
+\cs_new:Nn \__xpg_start_language:nn
+{
% hook for compatibility with biblatex
- \select@language{#2}
- \xpg@set@bbl@hyphendata{\the\language}
+ \select@language { #2 }
+ \xpg_set_bbl_hyphendata:n {\the\language}
\xpg_initial_setup:
- \select@@language[#1]{#2}%
+ \xpg_select_language:nn { #1 } { #2 }
% Hook for external packages such as biblatex
- \polyglossia@language@switched%
- \__xpg_lang_set_par_direction:n{#2}
- \csuse{captions#2}%
- \csuse{date#2}%
+ \polyglossia@language@switched
+ \__xpg_lang_set_par_direction:n {#2}
+ \use:c {captions#2}
+ \use:c {date#2}
% These are hooks for external packages which want to access variants
% via babelname (such as biblatex)
- \cs_if_exist_use:c{captions@bbl@\babelname}
- \cs_if_exist_use:c{date@bbl@\babelname}
- \__xpg_local_marks:n{#2}
- \csuse{init@extras@#2}%
+ \cs_if_exist_use:c {captions@bbl@\babelname}
+ \cs_if_exist_use:c {date@bbl@\babelname}
+ \__xpg_local_marks:n {#2}
+ \use:c {init@extras@#2}
\__xpg_indent_first:n { #2 }
- \csuse{blockextras@#2}%
+ \cs_if_exist_use:c {blockextras@#2}
% This is a hook for external packages which want to access variants
% via babelname (such as biblatex)
- \cs_if_exist_use:c{blockextras@bbl@\babelname}
- }
+ \cs_if_exist_use:c {blockextras@bbl@\babelname}
+}
% hook for compatibility with biblatex
% (probably no longer used due to the
% more general hook that follows, but
% we keep it for backwards comp.)
-\def\select@language#1{}
+\cs_set:Npn \select@language #1 {}
% Hook for external packages such as biblatex
% do not rename!
-\def\polyglossia@language@switched{}
+\cs_new:Npn \polyglossia@language@switched {}
-% remove all custumization for language #1
+% remove all customization for language #1
\cs_new:Npn \noextrascurrent #1
-{%
+{
\cs_if_exist_use:c{noextras@#1}%
% This is a hook for external packages which want to access variants
% via babelname (such as biblatex)
@@ -6462,160 +6424,105 @@ to track the issues and follow progress.
}
% Common code for `\select@language' and `\foreignlanguage'.
-\newcommand{\select@@language}[2][]{%
+\cs_new:Nn \xpg_select_language:nn
+{
% disable the extras and number settings of the previous language
\cs_if_exist:cT{languagename}
{
\noextrascurrent{\languagename}
\cs_if_exist_use:c{no\languagename @numbers}
\sys_if_engine_xetex:T{
- \__xpg_if_LR_str:eTF{\prop_item:Ne{\g_xpg_langsetup_prop}{\languagename/direction}}
+ \__xpg_if_LR_str:eTF{\prop_item:Ne{\l_xpg_langsetup_prop}{\languagename/direction}}
{
- \__xpg_if_LR_str:eF{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/direction}}
+ \__xpg_if_LR_str:eF{\prop_item:Nn{\l_xpg_langsetup_prop}{#2/direction}}
{\setnonlatin} % LTR -> RTL
}
{
- \__xpg_if_LR_str:eT{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/direction}}
+ \__xpg_if_LR_str:eT{\prop_item:Nn{\l_xpg_langsetup_prop}{#2/direction}}
{\setlatin} % RTL -> LTR
}
}
}
- \polyglossia@set@language@name[#1]{#2}
- % Set the language's/script's font families
- \str_if_eq:eeT{\prop_item:Nn{\g_xpg_langsetup_prop}{#2/lcscript}} {latin}
- {
- \resetfontlatin
- }
- \bool_if:NF \l__xpg_inline_lang_bool
- { % This for non-inline font switches
- % in case a \<lang>font is defined
- \xpg@set@normalfont{#2}
- }
- \xpg@select@fontfamily{#2}
+ \xpg_set_language_name:n { #2 }
+ \xpg_set_normalfont:n { #2 }
+ \xpg_select_fontfamily:n { #2 }
\__xpg_use_or_warn:c{#2@language}
\cs_if_exist_use:c{#2@numbers}
- \use@localhyphenmins[#1]{#2}
+ \__xpg_use_localhyphenmins:nn { #1 } { #2 }
\__xpg_french_spacing:n { #2 }
}
-\let\xpg@pop@language\relax
+\cs_undefine:N \xpg_pop_language:
-%
-% Keep track of the active (nested) languages and options
-%
-\clist_new:N \l_xpg_lang_stack
-
-\cs_new:Nn \__xpg_stack_language:nn
-{
- \clist_gpush:Nn \l_xpg_lang_stack {#1:#2}
-}
+\DeclareDocumentEnvironment { otherlanguage } { O{} m }
+ {
+ \selectlanguage[#1]{#2}
+ } { }
-\cs_generate_variant:Nn \__xpg_stack_language:nn {nx}
+% Alias to {<lang>}, but more suitable
+% for specific (esp. tag-based) aliases
+% where {<alias>} would cause clashes
+% (e.g., \fi)
+\DeclareEnvironmentCopy { lang } { otherlanguage }
-\cs_new:Nn \__xpg_unstack_language:n
+\NewDocumentCommand \setlocalhyphenmins { m m m }
{
- \clist_gpop:NNTF \l_xpg_lang_stack \l_tmpa_tl {
- % Stored format = options:language => split:
- \seq_set_split:Nne \l_tmpa_seq {:} \l_tmpa_tl
- \seq_get_left:NN \l_tmpa_seq \l_tmpb_tl
- \seq_get_right:NN \l_tmpa_seq \l_tmpc_tl
- % Execute passed command with language and maybe options
- % and re-set stored language's keys
- \tl_if_empty:NTF \l_tmpb_tl {\cs_if_exist_use:c{#1}{\l_tmpc_tl}}
- {\__xpg_set_keys:nn{\l_tmpc_tl}{\l_tmpb_tl}
- \cs_if_exist_use:c{#1}[\l_tmpb_tl]{\l_tmpc_tl}
- }
- }
- {}
-}
-
-\DeclareDocumentEnvironment { otherlanguage } { O{} m }
- {
- % Get real current (pre-switch) options (incl. defaults)
- \clist_clear_new:N \l_xpg_current_options
- \prop_if_exist:cF { xpg@current@options@\languagename }
- { \prop_new:c {xpg@current@options@\languagename} }
- \prop_map_inline:cn {xpg@current@options@\languagename}
+ \xpg_if_language_defined:nTF{#1}
+ {
+ \cs_if_eq:ccTF { l@#1 } { l@nohyphenation }
{
- \clist_put_right:Nn \l_xpg_current_options {##1=##2}
+ \xpg_warning_msg:n {\string\setlocalhyphenmin\space~ useless~ for~ unhyphenated~ language~ #1}
+ }{
+ \providehyphenmins{#1}{#2#3}
}
- % Store current (pre-switch) options and language on stack
- \__xpg_stack_language:nx{\clist_use:Nn \l_xpg_current_options {,}}{\languagename}
- \selectlanguage[#1]{#2}
- }
- {
- % restore previous language in aux file and remove closed one from stack
- \__xpg_unstack_language:n{xpg@set@language@only@aux}
- }
-
-\newcommand{\setlocalhyphenmins}[3]{
- \xpg@ifdefined{#1}{
- \expandafter\ifx\csname l@#1\endcsname\l@nohyphenation
- \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unhyphenated~ language~ #1}
- \else
- \providehyphenmins{#1}{#2#3}
- \fi
}{
- \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unknown~ language~ #1}
+ \xpg_warning_msg:n {\string\setlocalhyphenmin\space~ useless~ for~ unknown~ language~ #1}
}
}
% \setlanghyphenmins[options]{lang}{l}{r}
-\newcommand*\setlanghyphenmins[4][]{%
+\NewDocumentCommand \setlanghyphenmins { O{} m m m }
+{
% Check for real language name and options
- \edef\xpg@tmp@opts{\xpg_alias_add_to_option_i:nn{#2}{#1}}
- \edef\xpg@tmp@lang{\xpg_alias_base_lang:n{#2}}
- \bgroup
- \xpg_error_if_lang_not_loaded:n{\xpg@tmp@lang}
- \__xpg_set_keys:nn{\xpg@tmp@lang}{\xpg@tmp@opts}
+ \tl_set:Nx \l_tmp_opts_tl { \xpg_alias_add_to_option_i:nn{#2}{#1} }
+ \tl_set:Nx \l_tmp_lang_tl { \xpg_alias_base_lang:n{#2} }
+ \c_group_begin_token
+ \xpg_error_if_lang_not_loaded:n{\l_tmp_lang_tl}
+ \SetGlossOptions{\l_tmp_lang_tl}{ \l_tmp_opts_tl }
% Store bcp47.tag@hypenmins
- \tl_if_blank:nTF {\xpg@tmp@opts}{%
- \ifcsundef{\csname xpg@tmp@lang\endcsname @g.bcp47.tag}{
- \csedef{tmp@bcp47.tag}{\prop_item:Ne{\g_xpg_langsetup_prop}{ \xpg@tmp@lang / bcp47 }}
- }{
- \csedef{tmp@bcp47.tag}{\csuse{#2@g.bcp47.tag}}
- }
- }{
- \csedef{tmp@bcp47.tag}{\prop_item:Ne{\g_xpg_langsetup_prop}{ \xpg@tmp@lang / bcp47 }}
- }
- \csgdef{\csname tmp@bcp47.tag\endcsname @hyphenmins}{{#3}{#4}}
- \egroup
+ \cs_set_nopar:cpe {tmp@bcp47.tag} { \prop_item:Ne{\l_xpg_langsetup_prop}{ \l_tmp_lang_tl / bcp47 } }
+ \cs_gset:cpn {\csname tmp@bcp47.tag\endcsname @hyphenmins} {{#3}{#4}}
+ \c_group_end_token
}
-% \use@localhypenmins[options]{lang}
-\newcommand*\use@localhyphenmins[2][]{
- \bgroup
- \xpg_error_if_lang_not_loaded:n{#2}
- \__xpg_set_keys:nn{#2}{#1}
+% \__xpg_use_localhyphenmins:nn {options}{lang}
+\cs_new_nopar:Nn \__xpg_use_localhyphenmins:nn
+{
+ \c_group_begin_token
+ \xpg_error_if_lang_not_loaded:n {#2}
+ \SetGlossOptions {#2} {#1}
% Use bcp47.tag@hypenmins
- \tl_if_blank:nTF {#1}{
- \ifcsundef{#2@g.bcp47.tag}{
- \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\g_xpg_langsetup_prop}{ #2 / bcp47 }}
- }{
- \csxdef{tmp@bcp47.tag}{\csuse{#2@g.bcp47.tag}}
- }
- }{
- \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\g_xpg_langsetup_prop}{ #2 / bcp47 }}
- }
- \egroup
- \ifcsundef{\csname tmp@bcp47.tag\endcsname @hyphenmins}{
- \ifcsundef{#2hyphenmins}{}
+ \cs_gset_nopar:cpe {tmp@bcp47.tag} { \prop_item:Nn{\l_xpg_langsetup_prop}{ #2 / bcp47 } }
+ \c_group_end_token
+ \cs_if_exist:cTF {\csname tmp@bcp47.tag\endcsname @hyphenmins}
+ {
+ \tl_set:Ne \l_tmpa_tl { \use:c{\csname tmp@bcp47.tag\endcsname @hyphenmins} }
+ \expandafter \set@hyphenmins \l_tmpa_tl
+ }{
+ \cs_if_exist:cT{#2hyphenmins}
{
\expandafter\expandafter\expandafter\set@hyphenmins\csname #2hyphenmins\endcsname\relax
}
- }{
- \edef\tmpa{\csuse{\csname tmp@bcp47.tag\endcsname @hyphenmins}}
- \expandafter\expandafter\expandafter\set@hyphenmins\tmpa\relax
}
- \sys_if_engine_luatex:T{
+ \sys_if_engine_luatex:T
+ {
% Set \totalhyphenmin if specified
- \prop_get:NeNTF \g_xpg_langsetup_prop {#2/totalhyphenmin} \l_tmpa_tl
+ \prop_get:NeNT \l_xpg_langsetup_prop {#2/totalhyphenmin} \l_tmpb_tl
{
- \xpg@info{totalhyphenmin: '\l_tmpa_tl'}
- \expandafter\hyphenationmin \l_tmpa_tl
+ \xpg_info_msg:n {totalhyphenmin: '\l_tmpb_tl'}
+ \expandafter\hyphenationmin \l_tmpb_tl
}
- {}
}
}
@@ -6627,23 +6534,26 @@ to track the issues and follow progress.
\DeclareDocumentEnvironment { hyphenrules } { O{} m }
{
% Check for real language name and options
- \edef\xpg@tmp@opts{\xpg_alias_add_to_option_i:nn{#2}{#1}}
- \edef\xpg@tmp@lang{\xpg_alias_base_lang:n{#2}}
+ \tl_set:Nx \l_tmp_opts_tl { \xpg_alias_add_to_option_i:nn{#2}{#1} }
+ \tl_set:Nx \l_tmp_lang_tl { \xpg_alias_base_lang:n{#2} }
% Register the language options
- \__xpg_set_language_options:nnn {\xpg@tmp@lang} {\xpg@tmp@opts} {@xpg@set@langvariant}
+ \__xpg_set_language_options:nn { \l_tmp_lang_tl } { \l_tmp_opts_tl }
% Now switch patterns
- \__xpg_use_or_warn:c{\use:c{xpg@tmp@lang}@language}
+ \__xpg_use_or_warn:c{\use:c{l_tmp_lang_tl}@language}
% And activate hyphenmins
- \use@localhyphenmins[\xpg@tmp@opts]{\xpg@tmp@lang}
+ \__xpg_use_localhyphenmins:nn { \l_tmp_opts_tl } { \l_tmp_lang_tl }
}
{ }
-\AddToHook{begindocument/before}{
- \IfPackageLoadedTF{bidi}{
- \providecommand*{\aemph}[1]{$\overline{\hboxR{#1}}$}
+\hook_gput_code:nnn {begindocument/before} {.}
+{
+ \IfPackageLoadedTF{bidi}
+ {
+ \ProvideDocumentCommand \aemph { m } { $\overline{\hboxR{#1}}$ }
}{}
- \IfPackageLoadedTF{luabidi}{
- \providecommand*{\aemph}[1]{$\overline{\hbox{\RL{#1}}}$}
+ \IfPackageLoadedTF{luabidi}
+ {
+ \ProvideDocumentCommand \aemph { m } { $\overline{\hbox{\RL{#1}}}$ }
}{}
}
@@ -6677,7 +6587,8 @@ to track the issues and follow progress.
.value_required:n = true,
}
-\keys_set:nn { polyglossia } {
+\keys_set:nn { polyglossia }
+{
localmarks = false,
verbose = true,
babelshorthands = false,
@@ -6694,23 +6605,35 @@ to track the issues and follow progress.
\sys_if_engine_luatex:T{
\str_if_eq:eeF{\g_xpg_luatex_renderer_str}{none}
{
- \xpg@info{Setting~ LuaTeX~ font~ renderer~ to~ \g_xpg_luatex_renderer_str}
+ \xpg_info_msg:n{Setting~ LuaTeX~ font~ renderer~ to~ \g_xpg_luatex_renderer_str}
\exp_args:Ne \defaultfontfeatures{Renderer=\g_xpg_luatex_renderer_str}
}
}
-\bool_if:nF \g_xpg_verbose_bool {
- \gdef\@latex@info#1{\relax} % no latex info
- \gdef\@font@info#1{\relax} % no latex font info
- \gdef\@font@warning#1{\relax} % no latex font warnings
- \gdef\zf@PackageInfo#1{\relax} % no fontspec info
- \gdef\xpg@info#1{\relax} % no polyglossia info
+\bool_if:nF \g_xpg_verbose_bool
+{
+ \cs_gset_nopar:Npn \@latex@info #1 { \relax } % no latex info
+ \cs_gset_nopar:Npn \@font@info #1 { \relax } % no latex font info
+ \cs_gset_nopar:Npn \@font@warning #1 { \relax } % no latex font warnings
+ \msg_redirect_module:nnn { fontspec } { info } { none } % no fontspec info
+ \msg_redirect_module:nnn { polyglossia } { info } { none } % no polyglossia info
}
\bool_if:nT \g_xpg_localmarks_bool {
\__xpg_enable_local_marks:
}
+% common code to initiate babelshordhands in glosses
+\cs_new:Npn \InitializeBabelShorthands
+{
+ \cs_if_exist:cF {initiate@active@char}
+ {
+ \file_input:n {babelsh.def}
+ \initiate@active@char{"}
+ \shorthandoff{"}
+ }
+}
+
% Control shorthand (de-)activation
% This checks that the shorthand char is only deactivated
% if we have activated it ourselves and hence keeps
@@ -6738,21 +6661,22 @@ to track the issues and follow progress.
% Inherit shorthands in other languages
\NewDocumentCommand \inheritbabelshorthands { m m }
{
- \AddToHook{begindocument/before}{
+ \hook_gput_code:nnn {begindocument/before} {.}
+ {
% Load the involved languages if necessary
% Error if they do not exist
\tl_set:Nn \l__xpg_tmpa_lang_tl { \xpg_alias_base_lang:n{#1} }
\clist_if_in:NeF \xpg@loaded {\l__xpg_tmpa_lang_tl}{
\file_if_exist:nTF{gloss-\l__xpg_tmpa_lang_tl .ldf}
{ \setotherlanguage{#1} }
- { \xpg@error{ Source~ language~ #1,~ used~ in~
+ { \xpg_error_msg:n { Source~ language~ #1,~ used~ in~
\string\inheritbabelshorthands,~ does~ not~ exist } }
}
\tl_set:Nn \l__xpg_tmpb_lang_tl { \xpg_alias_base_lang:n{#2} }
\clist_if_in:NeF \xpg@loaded {\l__xpg_tmpb_lang_tl}{
\file_if_exist:nTF{gloss-\l__xpg_tmpb_lang_tl .ldf}
{ \setotherlanguage{#2} }
- { \xpg@error{ Target~ language~ #2,~ used~ in~
+ { \xpg_error_msg:n { Target~ language~ #2,~ used~ in~
\string\inheritbabelshorthands,~ does~ not~ exist } }
}
% Test whether the requested shorthands exist
@@ -6764,7 +6688,7 @@ to track the issues and follow progress.
{ \bool_set_true:N \l__xpg_no_shorthands_bool }
\bool_if:nT { \l__xpg_no_shorthands_bool }
{
- \xpg@error{ No~ babel~ shorthands~ exist~ for~ language~ #1 }
+ \xpg_error_msg:n { No~ babel~ shorthands~ exist~ for~ language~ #1 }
}
% If so, apply:
\bool_if:nF { \l__xpg_no_shorthands_bool }
@@ -6789,7 +6713,7 @@ to track the issues and follow progress.
\iflanguageloaded{\l__xpg_tmpa_lang_tl}{
\use:c{\l__xpg_tmpa_lang_tl @shorthands}
}{
- \xpg@error{ Language~ #1,~ requested~ in~
+ \xpg_error_msg:n { Language~ #1,~ requested~ in~
\string\startbabelshorthands,~ is~ not~ loaded }
}
}
@@ -7090,7 +7014,7 @@ to track the issues and follow progress.
\ifnum#1<5000
\Hebrewnumeral{#1}%
\else
- \ifnum#1<6000 % current millenium, print without thousands
+ \ifnum#1<6000 % current millennium, print without thousands
\@tempcnta=#1\relax
\if@xpg@hebrew@fullyear\else\advance\@tempcnta by -5000\fi
\Hebrewnumeral{\@tempcnta}%
@@ -7419,7 +7343,7 @@ l3calc. Please update expl3!
\@ifundefined{@Remainder}{\input{cal-util.def}}{}
%% The following functions are straightforward implementation
-%% of Reingold & Dershowitz, Calendrical Calculations, The Millenium Edition
+%% of Reingold & Dershowitz, Calendrical Calculations, The Millennium Edition
%%
\def\@FixedFromHijri#1#2#3#4{% year,month,day,counter
@@ -7494,82 +7418,15 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \end{macrocode}
% \iffalse
%</hijrical.sty>
-%<*polyglossia-french.lua>
+%<*polyglossia-cjk-spacing.lua>
% \fi
% \clearpage
%
-% \subsection{polyglossia-french.lua}
+% \subsection{polyglossia-cjk-spacing.lua}
% \begin{macrocode}
--
--- polyglossia-punct.lua
--- part of polyglossia v2.1 -- 2024/03/07
---
-
-require('polyglossia-punct')
-
-local function set_left_space(lang, char, kern, rubber)
- polyglossia.add_left_spaced_character(lang, char, kern, "space", rubber)
-end
-
-local function set_right_space(lang, char, kern, rubber)
- polyglossia.add_right_spaced_character(lang, char, kern, "space", rubber)
-end
-
-local function activate_french_punct(thincolonspace, autospaceguillemets)
- -- We need different language tags here to make switching of options possible
- -- within a paragraph.
- local lang = "french"
- if thincolonspace then
- lang = lang.."-thincolon"
- end
- if autospaceguillemets then
- lang = lang.."-autospace"
- end
-
- polyglossia.activate_punct(lang)
- polyglossia.clear_spaced_characters(lang)
-
- if thincolonspace then
- set_left_space(lang, ':', 0.5)
- else
- set_left_space(lang, ':', 1, true) -- stretchable and shrinkable space
- end
-
- set_left_space(lang, '!', 0.5)
- set_left_space(lang, '?', 0.5)
- set_left_space(lang, ';', 0.5)
- set_left_space(lang, '‼', 0.5)
- set_left_space(lang, '⁇', 0.5)
- set_left_space(lang, '⁈', 0.5)
- set_left_space(lang, '⁉', 0.5)
- set_left_space(lang, '‽', 0.5) -- U+203D (interrobang)
-
- if autospaceguillemets then
- set_left_space(lang, '»', 0.5)
- set_left_space(lang, '›', 0.5)
- set_right_space(lang, '«', 0.5)
- set_right_space(lang, '‹', 0.5)
- end
-end
-
-local function deactivate_french_punct()
- polyglossia.deactivate_punct()
-end
-
-polyglossia.activate_french_punct = activate_french_punct
-polyglossia.deactivate_french_punct = deactivate_french_punct
-% \end{macrocode}
-% \iffalse
-%</polyglossia-french.lua>
-%<*polyglossia-korean.lua>
-% \fi
-% \clearpage
-%
-% \subsection{polyglossia-korean.lua}
-% \begin{macrocode}
---
--- polyglossia-korean.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- polyglossia-cjk-spacing.lua
+-- part of polyglossia v2.2 -- 2024/07/15
--
local glyph_id = node.id"glyph"
@@ -7577,13 +7434,17 @@ local hbox_id = node.id"hlist"
local vbox_id = node.id"vlist"
local glue_id = node.id"glue"
local penalty_id = node.id"penalty"
-local disc_id = node.id"disc"
+local whatsit_id = node.id"whatsit"
+local math_id = node.id"math"
--
--- attr_korean: variant = plain (0), classic (1), modern (2)
+-- attr_cjk: variant = plain: 0, JP/classic: 1, KR/modern: 2, SC: 3, TC: 4
+--
+local attr_cjk = luatexbase.attributes["xpg@attr@cjkspacing"]
+--
+-- attr_josa: ONLY For Korean. DO NOT declare \newattribute for other langs
--
-local attr_korean = luatexbase.attributes["xpg@attr@korean"]
-local attr_josa = luatexbase.attributes["xpg@attr@autojosa"]
+local attr_josa = luatexbase.attributes["xpg@attr@autojosa"]
--
-- characters after which linebreak is not allowed
@@ -7632,9 +7493,9 @@ local nobr_after = {
-- characters before which linebreak is not allowed
-- (currently, not much differences among the followings)
-- 1: normal chars
--- 2: hangul jamo vowels and trailing consonants
+-- 2: hangul jamo vowels and trailing consonants plus combinings
-- 3: kana small letters
--- 0: dashes (supress visible spacing)
+-- 0: dashes (suppress visible spacing after this char)
--
local nobr_before = setmetatable({
[0x21] = 1, -- ! EXCLAMATION MARK
@@ -7645,7 +7506,7 @@ local nobr_before = setmetatable({
[0x2D] = 0, -- - HYPHEN-MINUS
[0x2E] = 1, -- . FULL STOP
[0x2F] = 0, -- / SOLIDUS
- [0x3A] = 0, -- : COLON
+ [0x3A] = 1, -- : COLON
[0x3B] = 1, -- ; SEMICOLON
[0x3E] = 1, -- > GREATER-THAN SIGN
[0x3F] = 1, -- ? QUESTION MARK
@@ -7657,11 +7518,11 @@ local nobr_before = setmetatable({
[0xBB] = 1, -- » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
[0x2013] = 0, -- – EN DASH
[0x2014] = 0, -- — EM DASH
- [0x2015] = 1, -- ― HORIZONTAL BAR
+ [0x2015] = 0, -- ― HORIZONTAL BAR
[0x2019] = 1, -- ’ RIGHT SINGLE QUOTATION MARK
[0x201D] = 1, -- ” RIGHT DOUBLE QUOTATION MARK
- [0x2025] = 1, -- ‥ TWO DOT LEADER
- [0x2026] = 1, -- … HORIZONTAL ELLIPSIS
+ [0x2025] = 0, -- ‥ TWO DOT LEADER
+ [0x2026] = 0, -- … HORIZONTAL ELLIPSIS
[0x232A] = 1, -- 〉 RIGHT-POINTING ANGLE BRACKET
[0x3001] = 1, -- 、 IDEOGRAPHIC COMMA
[0x3002] = 1, -- 。 IDEOGRAPHIC FULL STOP
@@ -7693,10 +7554,10 @@ local nobr_before = setmetatable({
[0x308E] = 3, -- ゎ HIRAGANA LETTER SMALL WA
[0x3095] = 3, -- ゕ HIRAGANA LETTER SMALL KA
[0x3096] = 3, -- ゖ HIRAGANA LETTER SMALL KE
- [0x3099] = 1, -- COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
- [0x309A] = 1, -- COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
- [0x309B] = 1, -- ゛ KATAKANA-HIRAGANA VOICED SOUND MARK
- [0x309C] = 1, -- ゜ KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+ [0x3099] = 2, -- COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
+ [0x309A] = 2, -- COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+ [0x309B] = 2, -- ゛ KATAKANA-HIRAGANA VOICED SOUND MARK
+ [0x309C] = 2, -- ゜ KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
[0x309D] = 1, -- ゝ HIRAGANA ITERATION MARK
[0x309E] = 1, -- ゞ HIRAGANA VOICED ITERATION MARK
[0x30A0] = 1, -- ゠ KATAKANA-HIRAGANA DOUBLE HYPHEN
@@ -7716,9 +7577,9 @@ local nobr_before = setmetatable({
[0x30FC] = 1, -- ー KATAKANA-HIRAGANA PROLONGED SOUND MARK
[0x30FD] = 1, -- ヽ KATAKANA ITERATION MARK
[0x30FE] = 1, -- ヾ KATAKANA VOICED ITERATION MARK
- [0xFE30] = 1, -- ︰ PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
- [0xFE31] = 1, -- ︱ PRESENTATION FORM FOR VERTICAL EM DASH
- [0xFE32] = 1, -- ︲ PRESENTATION FORM FOR VERTICAL EN DASH
+ [0xFE30] = 0, -- ︰ PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+ [0xFE31] = 0, -- ︱ PRESENTATION FORM FOR VERTICAL EM DASH
+ [0xFE32] = 0, -- ︲ PRESENTATION FORM FOR VERTICAL EN DASH
[0xFE36] = 1, -- ︶ PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
[0xFE38] = 1, -- ︸ PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
[0xFE3A] = 1, -- ︺ PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
@@ -7745,18 +7606,18 @@ local nobr_before = setmetatable({
[0xFF63] = 1, -- 」 HALFWIDTH RIGHT CORNER BRACKET
[0xFF64] = 1, -- 、 HALFWIDTH IDEOGRAPHIC COMMA
[0xFF65] = 1, -- ・ HALFWIDTH KATAKANA MIDDLE DOT
- [0xFF9E] = 1, -- ゙ HALFWIDTH KATAKANA VOICED SOUND MARK
- [0xFF9F] = 1, -- ゚ HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+ [0xFF9E] = 2, -- ゙ HALFWIDTH KATAKANA VOICED SOUND MARK
+ [0xFF9F] = 2, -- ゚ HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
}, { __index = function(_,c)
if c >= 0x1160 and c <= 0x11FF then return 2 end
if c >= 0xD7B0 and c <= 0xD7FF then return 2 end
- if c >= 0x302A and c <= 0x302F then return 1 end
+ if c >= 0x302A and c <= 0x302F then return 2 end -- tone marks
if c >= 0x31F0 and c <= 0x31FF then return 3 end
if c >= 0xFF67 and c <= 0xFF70 then return 3 end
- if c >= 0xFE00 and c <= 0xFE0F then return 1 end
+ if c >= 0xFE00 and c <= 0xFE0F then return 2 end -- variation selectors
if c >= 0xFE10 and c <= 0xFE19 and not (c == 0xFE17) then return 1 end
if c >= 0xFE50 and c <= 0xFE58 then return 1 end
- if c >= 0xE0100 and c <= 0xE01EF then return 1 end
+ if c >= 0xE0100 and c <= 0xE01EF then return 2 end -- variation selecters
end
})
@@ -7774,6 +7635,7 @@ local function is_cjk (c)
or c >= 0xFF00 and c <= 0xFFEF
or c >= 0x1F100 and c <= 0x1F2FF
or c >= 0x20000 and c <= 0x2FA1F
+ or c >= 0x30000 and c <= 0x323AF
or nobr_after[c] and c > 0x2014
or nobr_before[c] and c > 0x2014
end
@@ -7813,8 +7675,28 @@ local charclass = setmetatable({
}, { __index = function() return 0 end })
--
+-- get character class
+-- var : variant = plain, JP/classic, KR/modern, SC, TC
+-- c : codepoint
+--
+local function get_charclass (var, c)
+ if var < 3 then
+ return charclass[c]
+ elseif var == 3 then
+ -- SC : these are left aligned
+ return (c == 0xFF01 or c == 0xFF1F) and 4 -- FULLWIDTH EXCLAMATION/QUESTION MARK
+ or (c == 0xFF1A or c == 0xFF1B) and 2 -- FULLWIDTH COLON/SEMICOLON
+ or charclass[c]
+ end
+ -- TC : these are center aligned
+ return (c == 0x3001 or c == 0xFF0C) and 3 -- IDEOGRAPHIC/FULLWIDTH COMMA
+ or (c == 0x3002 or c == 0xFF0E) and 3 -- IDEOGRAPHIC/FULLWIDTH FULL STOP -- 5 ?
+ or charclass[c]
+end
+
+--
-- table for spacing between char classes
--- 1 stands for 0.5*fontsize when variant=classic
+-- 1 stands for 0.5*fontsize when variant = JP/classic or SC or TC
--
local intercharclass = { [0] =
{ [0] = nil, {1,1}, nil, {.5,.5} },
@@ -7846,7 +7728,7 @@ end
--
-- return 0.5*fontsize of given fontid
--- space: true if variant=modern; then 0.5*interword_space
+-- space: true if variant=KR/modern; then 0.5*interword_space
--
local function get_font_size (fid, space)
local size = font.getparameters(fid)
@@ -7860,7 +7742,7 @@ end
--
-- charclass 1 thru 4 will be packed in \hbox to 0.5em{\hss? curr \hss?}
--- when variant=classic/modern
+-- when variant ~= plain
--
local function glyph_to_box (head, curr, class)
local g, h = curr
@@ -7889,7 +7771,7 @@ end
--
-- insert spacing defined as charclass[a][b] between a and b
-- f: fontid
--- var: variant = plain, classic, modern
+-- var: variant = plain, JP/classic, KR/modern, SC, TC
-- cc: charclass of current char
-- nc: charclass of next char
-- nobr: linebreak is not allowed
@@ -7908,12 +7790,16 @@ end
--
-- insert inter-character spacing in other normal cases
--- f: fontid
--- var: variant = plain, classic, modern
--- x: true between cjk and non-cjk (a little more spacing)
+-- f: fontid
+-- var: variant = plain, JP/classic, KR/modern, SC, TC
+-- nobr: no linebreak
+-- x: true between cjk and non-cjk (a little more spacing)
--
-local function insert_penalty_glue (head, curr, f, var, x)
- if var ~= 1 then
+local function insert_penalty_glue (head, curr, f, var, nobr, x)
+ if nobr then
+ local penalty = get_new_penalty(10000)
+ head, curr = node.insert_after(head, curr, penalty)
+ elseif var == 0 or var == 2 then
local penalty = get_new_penalty(50)
head, curr = node.insert_after(head, curr, penalty)
end
@@ -7929,53 +7815,64 @@ end
--
-- main process for linebreak and inter-character spacing
--- lb: true if pre_linebreak_filter
--
-local function korean_break (head, lb)
+local function cjk_break (head)
local curr = head
while curr do
- if curr.id == glyph_id then
- local var = node.has_attribute(curr, attr_korean)
+ if attr_cjk and (curr.id == glyph_id or curr.id == math_id and curr.subtype == 1) then
+ local var = node.has_attribute(curr, attr_cjk)
if var then
- local c, f = curr.char or 0, curr.font or 0
- local cc, cjkc = charclass[c], is_cjk(c)
+ local c, f = curr.char or 0, curr.font
+ local cc, cjkc = get_charclass(var, c), is_cjk(c)
-- compress cjk punctuations when charclass is 1 thru 4
if var > 0 and cc > 0 and cc < 5 then
head, curr = glyph_to_box(head, curr, cc)
end
- local next = curr.next
- if next and next.id == glyph_id then
+ local next = node.getnext(curr)
+ while next and next.id == whatsit_id do -- skip whatsit nodes
+ curr, next = next, node.getnext(next)
+ end
+
+ if next and (next.id == glyph_id or next.id == math_id and next.subtype == 0) then
local n = next.char or 0
- local nc = charclass[n]
+ f = f or next.font or 0 -- in case of curr == math_off
+
+ -- skip combining. or dash+dash case to suppress stretching
+ if nobr_before[n] == 2 or (nobr_before[c] == 0 and nobr_before[n] == 0) then
+ goto skip_combining
+ end
+
+ local nc = get_charclass(var, n)
local nobr = nobr_before[n] or nobr_after[c]
-- insert spacing as of intercharclass
if var > 0 and intercharclass[cc][nc] then
head, curr = insert_cjk_penalty_glue(head, curr, f, var, cc, nc, nobr)
- -- or insert spacing when linebreak is allowed
- elseif not nobr then
+ else
local cjkn = is_cjk(n)
-- if curr or next is cjk char
if cjkc or cjkn then
- -- if between cjk and non-cjk
- if var > 0 and not (cjkc and cjkn) and nobr_before[c] ~= 0 then
- head, curr = insert_penalty_glue(head, curr, f, var, true)
+ -- plain variant / cjk+cjk / nobr cjk+noncjk / after dash
+ -- : insert a 0pt glue
+ if var == 0 or (cjkc and cjkn) or nobr or nobr_before[c] == 0 then
+ head, curr = insert_penalty_glue(head, curr, f, var, nobr)
- -- or under pre_linebreak_filter
- elseif lb then
- head, curr = insert_penalty_glue(head, curr, f, var)
+ -- other cases: insert a small glue
+ else
+ head, curr = insert_penalty_glue(head, curr, f, var, nobr, true)
end
end
end
end
end
end
- curr = curr.next
+ ::skip_combining::
+ curr = node.getnext(curr)
end
return head
end
@@ -7989,7 +7886,7 @@ end
local function reorder_tm (head)
local curr, tone = node.slide(head)
while curr do
- if curr.id == glyph_id and node.has_attribute(curr, attr_korean) then
+ if curr.id == glyph_id and node.has_attribute(curr, attr_cjk) then
local f = font.getfont(curr.font) or font.fonts[curr.font]
if f and f.hb then -- harfbuzz do the right thing
tone = nil
@@ -8005,7 +7902,7 @@ local function reorder_tm (head)
end
end
end
- curr = curr.prev
+ curr = node.getprev(curr)
end
return head
end
@@ -8092,7 +7989,7 @@ local function get_prev_char (p)
local pc = get_prev_char(node.slide(p.head))
if pc then return pc end
end
- p = p.prev
+ p = node.getprev(p)
end
end
@@ -8107,10 +8004,10 @@ local function auto_josa (head)
if josa then
local cc = curr.char or 0
if josa == 0 then
- josa = josa_code[get_prev_char(curr.prev) or 0x30]
+ josa = josa_code[get_prev_char(node.getprev(curr)) or 0x30]
end
if cc == 0xC774 then
- local n = curr.next
+ local n = node.getnext(curr)
if n and n.char and n.char >= 0xAC00 and n.char <= 0xD7A3 then
else
cc = 0xAC00
@@ -8129,7 +8026,7 @@ local function auto_josa (head)
node.unset_attribute(curr, attr_josa)
end
end
- curr = curr.next
+ curr = node.getnext(curr)
end
for _,v in ipairs(tofree) do node.free(v) end
return head
@@ -8140,45 +8037,86 @@ end
-- As char value of glyphs can be changed by opentype GSUB process,
-- we have to occupy the first position among callback functions.
--
-local prepend_to_callback
-if luatexbase.base_add_to_callback then
- prepend_to_callback = function(name, func, desc)
- luatexbase.add_to_callback(name, func, desc, 1)
+luatexbase.add_to_callback( "pre_shaping_filter",
+function(head)
+ if attr_josa then head = auto_josa(head) end
+ head = cjk_break(head)
+ if attr_josa then head = reorder_tm(head) end
+ return head
+end,
+"polyglossia.lang_cjk_spacing")
+
+-- vim:ft=lua:tw=0:sw=4:ts=4:expandtab
+% \end{macrocode}
+% \iffalse
+%</polyglossia-cjk-spacing.lua>
+%<*polyglossia-french.lua>
+% \fi
+% \clearpage
+%
+% \subsection{polyglossia-french.lua}
+% \begin{macrocode}
+--
+-- polyglossia-punct.lua
+-- part of polyglossia v2.2 -- 2024/07/15
+--
+
+require('polyglossia-punct')
+
+local function set_left_space(lang, char, kern, rubber)
+ polyglossia.add_left_spaced_character(lang, char, kern, "space", rubber)
+end
+
+local function set_right_space(lang, char, kern, rubber)
+ polyglossia.add_right_spaced_character(lang, char, kern, "space", rubber)
+end
+
+local function activate_french_punct(thincolonspace, autospaceguillemets)
+ -- We need different language tags here to make switching of options possible
+ -- within a paragraph.
+ local lang = "french"
+ if thincolonspace then
+ lang = lang.."-thincolon"
end
-else
- prepend_to_callback = function(name, func, desc)
- local t = { {func, desc} }
- for _,v in ipairs(luatexbase.callback_descriptions(name)) do
- table.insert(t, {luatexbase.remove_from_callback(name, v)})
- end
- for _,v in ipairs(t) do
- luatexbase.add_to_callback(name, v[1], v[2])
- end
+ if autospaceguillemets then
+ lang = lang.."-autospace"
+ end
+
+ polyglossia.activate_punct(lang)
+ polyglossia.clear_spaced_characters(lang)
+
+ if thincolonspace then
+ set_left_space(lang, ':', 0.5)
+ else
+ set_left_space(lang, ':', 1, true) -- stretchable and shrinkable space
+ end
+
+ set_left_space(lang, '!', 0.5)
+ set_left_space(lang, '?', 0.5)
+ set_left_space(lang, ';', 0.5)
+ set_left_space(lang, '‼', 0.5)
+ set_left_space(lang, '⁇', 0.5)
+ set_left_space(lang, '⁈', 0.5)
+ set_left_space(lang, '⁉', 0.5)
+ set_left_space(lang, '‽', 0.5) -- U+203D (interrobang)
+
+ if autospaceguillemets then
+ set_left_space(lang, '»', 0.5)
+ set_left_space(lang, '›', 0.5)
+ set_right_space(lang, '«', 0.5)
+ set_right_space(lang, '‹', 0.5)
end
end
-prepend_to_callback ("pre_linebreak_filter",
- function(head)
- head = auto_josa(head)
- head = korean_break(head, true)
- head = reorder_tm(head)
- return head
- end,
- "polyglossia.lang_korean")
-
-prepend_to_callback ("hpack_filter",
- function(head)
- head = auto_josa(head)
- head = korean_break(head)
- head = reorder_tm(head)
- return head
- end,
- "polyglossia.lang_korean")
+local function deactivate_french_punct()
+ polyglossia.deactivate_punct()
+end
--- vim:ft=lua:tw=0:sw=4:ts=4:expandtab
+polyglossia.activate_french_punct = activate_french_punct
+polyglossia.deactivate_french_punct = deactivate_french_punct
% \end{macrocode}
% \iffalse
-%</polyglossia-korean.lua>
+%</polyglossia-french.lua>
%<*polyglossia-latin.lua>
% \fi
% \clearpage
@@ -8187,7 +8125,7 @@ prepend_to_callback ("hpack_filter",
% \begin{macrocode}
--
-- polyglossia-latin.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
require('polyglossia-punct')
@@ -8242,14 +8180,13 @@ polyglossia.deactivate_latin_punct = deactivate_latin_punct
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
require('polyglossia') -- just in case...
local add_to_callback = luatexbase.add_to_callback
-local remove_from_callback = luatexbase.remove_from_callback
-local priority_in_callback = luatexbase.priority_in_callback
+local declare_callback_rule = luatexbase.declare_callback_rule
local new_attribute = luatexbase.new_attribute
local node = node
@@ -8573,13 +8510,16 @@ local function activate(lang)
-- important to be able to intermix languages with different spacings
-- in one paragraph.
tex.setattribute(punct_attr, id)
- for _, callback_name in ipairs{ "pre_linebreak_filter", "hpack_filter" } do
- if not priority_in_callback(callback_name, "polyglossia-punct.process") then
- add_to_callback(callback_name, process, "polyglossia-punct.process", 1)
- end
- end
end
+add_to_callback("pre_linebreak_filter",process,"polyglossia-punct.process")
+add_to_callback("hpack_filter",process,"polyglossia-punct.process")
+declare_callback_rule("pre_linebreak_filter",
+ "polyglossia-punct.process", "before", "luaotfload.node_processor")
+declare_callback_rule("hpack_filter",
+ "polyglossia-punct.process", "before", "luaotfload.node_processor")
+
+
local function deactivate()
tex.setattribute(punct_attr, -0x7FFFFFFF) -- this value means "unset"
-- Though it would make compilation slightly faster, it is not possible to
@@ -8610,7 +8550,7 @@ polyglossia.clear_spaced_characters = clear_spaced_characters
% \begin{macrocode}
--
-- polyglossia-sanskrit.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
require('polyglossia-punct')
@@ -8660,31 +8600,29 @@ polyglossia.deactivate_sanskrit_punct = deactivate_sanskrit_punct
% \begin{macrocode}
--
-- polyglossia-tibt.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
require('polyglossia') -- just in case...
local add_to_callback = luatexbase.add_to_callback
local remove_from_callback = luatexbase.remove_from_callback
+local declare_callback_rule = luatexbase.declare_callback_rule
local priority_in_callback = luatexbase.priority_in_callback
local next, type = next, type
-
-local nodes, fonts, node = nodes, fonts, node
-
-local nodecodes = nodes.nodecodes --- <= preloaded node.types()
+local node = node
local insert_node_before = node.insert_before
local insert_node_after = node.insert_after
-local remove_node = nodes.remove
+local remove_node = node.remove
local copy_node = node.copy
local has_attribute = node.has_attribute
local end_of_math = node.end_of_math
if not end_of_math then -- luatex < .76
local traverse_nodes = node.traverse_id
- local math_code = nodecodes.math
+ local math_code = node.id('math_char')
local end_of_math = function (n)
for n in traverse_nodes(math_code, n.next) do
return n
@@ -8692,10 +8630,10 @@ if not end_of_math then -- luatex < .76
end
end
--- node types as of April 2013
-local glyph_code = nodecodes.glyph
-local penalty_code = nodecodes.penalty
-local kern_code = nodecodes.kern
+-- node types as of April 2024
+local glyph_code = node.id('glyph')
+local penalty_code = node.id('penalty')
+local kern_code = node.id('kern')
-- we make a new node, so that we can copy it later on
local penalty_node = node.new(penalty_code)
@@ -8726,7 +8664,6 @@ local function process(head)
end
end
elseif id == math_code then
- -- warning: this is a feature of luatex > 0.76
start = end_of_math(start) -- weird, can return nil .. no math end?
end
if start then
@@ -8739,15 +8676,13 @@ end
local callback_name = "pre_linebreak_filter"
local function activate()
- if not priority_in_callback (callback_name, "polyglossia-tibt.process") then
- add_to_callback(callback_name, process, "polyglossia-tibt.process", 1)
- end
+ add_to_callback(callback_name, process, "polyglossia-tibt.process")
+ declare_callback_rule(callback_name,
+ "polyglossia-tibt.process", "before", "luaotfload.node_processor")
end
local function desactivate()
- if priority_in_callback (callback_name, "polyglossia-tibt.process") then
- remove_from_callback(callback_name, "polyglossia-tibt.process")
- end
+ remove_from_callback(callback_name, "polyglossia-tibt.process")
end
polyglossia.activate_tibt_eol = activate
@@ -8763,7 +8698,7 @@ polyglossia.desactivate_tibt_eol = desactivate
% \begin{macrocode}
--
-- polyglossia.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
local module_name = "polyglossia"
@@ -8839,7 +8774,7 @@ local function newloader(langentry)
end
-- language info will be written into the .log file
- local s = { "Language data for " .. langentry }
+ local s = { }
for k, v in pairs(langdata) do
if type(v) == 'table' then -- for 'synonyms'
s[#s+1] = k .. "\t" .. table.concat(v,',')
@@ -8847,7 +8782,10 @@ local function newloader(langentry)
s[#s+1] = k .. "\t" .. tostring(v)
end
end
- log_info(table.concat(s,"\n"))
+ local a = {}
+ for _,n in pairs(s) do table.insert(a, n) end
+ table.sort(a)
+ log_info("Language data for " .. langentry .. "\n" .. table.concat(a,"\n"))
--
-- LaTeX's \newlanguage increases language register (count19),
@@ -8857,7 +8795,7 @@ local function newloader(langentry)
-- this possible situation, our newloader() function will
-- unfortunately overwrite the language \lang@xyz.
--
- -- Threfore here we will compare LaTeX's \newlanguage number with
+ -- Therefore here we will compare LaTeX's \newlanguage number with
-- LuaTeX's lang.new() id and select the bigger one for our new
-- language object. Also we will update LaTeX's language register
-- by this new id, so that another possible \newlanguage should not
@@ -8872,7 +8810,7 @@ local function newloader(langentry)
local newlangid = math.max(langcnt, langid)
-- set language register for possible \newlanguage
tex.setcount('global', lang_register, newlangid)
- -- get new lang object if needeed
+ -- get new lang object if needed
if langid ~= newlangid then
langobject = lang.new(newlangid)
end
@@ -9716,7 +9654,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%% This is an algorithm from Reingold & Dershowitz,
-%% Calendrical Calculations, The Millenium Edition
+%% Calendrical Calculations, The Millennium Edition
%%
\def\@FixedFromGregorian#1#2#3#4{%
\setcounter{tmpA}{(#1-1)*365}%
@@ -10069,36 +10007,36 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \end{macrocode}
% \iffalse
%</xgreek-fixes.def>
-%<*gloss-acadien.ldf>
+%<*gloss-acadian.ldf>
% \fi
% \clearpage
%
-% \subsection{gloss-acadien.ldf}
+% \subsection{gloss-acadian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-acadien.ldf}[polyglossia: module for Canadian (Acadian) French]
% We provide this as a babel alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
% \end{macrocode}
% \iffalse
-%</gloss-acadien.ldf>
+%</gloss-acadian.ldf>
%<*gloss-aeb.ldf>
% \fi
% \clearpage
%
% \subsection{gloss-aeb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-aeb.ldf}[polyglossia: module for aeb (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
% \end{macrocode}
% \iffalse
@@ -10109,13 +10047,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-af.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-af.ldf}[polyglossia: module for af (Afrikaans)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{afrikaans}
+\InheritGlossFile{afrikaans}
% \end{macrocode}
% \iffalse
@@ -10126,13 +10064,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-afb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-afb.ldf}[polyglossia: module for afb (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
% \end{macrocode}
% \iffalse
@@ -10143,7 +10081,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-afrikaans.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-afrikaans.ldf}[polyglossia: module for Afrikaans]
@@ -10161,22 +10099,21 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{afrikaans}{af}
-\define@boolkey{afrikaans}[afrikaans@]{babelshorthands}[true]{}
-
+\DeclareKeys[polyglossia/gloss/afrikaans]
+ {
+ babelshorthands.if = afrikaans@babelshorthands,
+ babelshorthands.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{afrikaans}{babelshorthands=false}
+\InitializeGlossOptions{afrikaans}{babelshorthands=false}
\ifsystem@babelshorthands
- \setkeys{afrikaans}{babelshorthands=true}
+ \SetGlossOptions{afrikaans}{babelshorthands=true}
\else
- \setkeys{afrikaans}{babelshorthands=false}
+ \SetGlossOptions{afrikaans}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\afrikaans@shorthands{%
\xpg@activate@shorthands%
@@ -10248,7 +10185,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-albanian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-albanian.ldf}[polyglossia: module for Albanian]
@@ -10305,13 +10242,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-am.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-am.ldf}[polyglossia: module for am (Amharic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{amharic}
+\InheritGlossFile{amharic}
% \end{macrocode}
% \iffalse
@@ -10322,13 +10259,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-american.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-american.ldf}[polyglossia: module for American English]
% We provide this as a babel alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
% \end{macrocode}
% \iffalse
@@ -10339,7 +10276,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-amharic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-amharic.ldf}[polyglossia: module for Amharic]
\PolyglossiaSetup{amharic}{
@@ -10559,13 +10496,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-apd.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-apd.ldf}[polyglossia: module for apd (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
% \end{macrocode}
% \iffalse
@@ -10576,13 +10513,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-IQ.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-IQ.ldf}[polyglossia: module for ar-IQ (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-IQ,bcp47-language=ar,bcp47-region=IQ}%
@@ -10595,13 +10532,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-JO.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-JO.ldf}[polyglossia: module for ar-JO (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-JO,bcp47-language=ar,bcp47-region=JO}%
@@ -10614,13 +10551,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-LB.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-LB.ldf}[polyglossia: module for ar-LB (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-LB,bcp47-language=ar,bcp47-region=LB}%
@@ -10633,13 +10570,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-MR.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-MR.ldf}[polyglossia: module for ar-MR (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-MR,bcp47-language=ar,bcp47-region=MR}%
@@ -10652,13 +10589,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-PS.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-PS.ldf}[polyglossia: module for ar-PS (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-PS,bcp47-language=ar,bcp47-region=PS}%
@@ -10671,13 +10608,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-SY.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-SY.ldf}[polyglossia: module for ar-SY (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-SY,bcp47-language=ar,bcp47-region=SY}%
@@ -10690,13 +10627,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-YE.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar-YE.ldf}[polyglossia: module for ar-YE (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
\SetLanguageKeys{arabic}{bcp47=ar-YE,bcp47-language=ar,bcp47-region=YE}%
@@ -10709,13 +10646,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ar.ldf}[polyglossia: module for ar (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
% \end{macrocode}
% \iffalse
@@ -10726,7 +10663,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-arabic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-arabic.ldf}[polyglossia: module for Arabic]
\RequireBidi
@@ -10766,104 +10703,112 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias*[locale=default]{arabic}{apd}
\setlanguagealias*[locale=mashriq]{arabic}{ar-PS}
-\define@boolkey{arabic}[arabic@]{abjadalph}[true]{}
-
\newif\ifeastern@numerals
-\define@choicekey*+{arabic}{numerals}[\xpg@val\xpg@nr]{mashriq,maghrib,eastern,western}[mashriq]{%
- \ifcase\xpg@nr\relax
- % mashriq:
- \eastern@numeralstrue%
- \or
- % maghrib:
- \eastern@numeralsfalse
- \or
- % eastern:
- \eastern@numeralstrue%
- \or
- % western:
- \eastern@numeralsfalse
- \fi
- \xpg@info{Option: Arabic, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Arabic numerals option `#1'}}
-
-%this is needed for \abjad in arabicnumbers.sty
-\define@boolkey{arabic}[arabic@]{abjadjimnotail}[true]{%
- \ifarabic@abjadjimnotail
- \abjad@jim@notailtrue%
- \else
- \abjad@jim@notailfalse
- \fi}
-
-\define@choicekey*+{arabic}{locale}[\xpg@val\xpg@nr]{default,mashriq,libya,algeria,tunisia,morocco,mauritania}[default]{%
- \ifcase\xpg@nr\relax
- % default:
- \eastern@numeralstrue%
- \SetLanguageKeys{arabic}{bcp47=ar-YE,bcp47-language=ar}%
- \xpg@info{Option: arabic, locale=default}%
- \or
- % mashriq:
- \eastern@numeralstrue%
- \SetLanguageKeys{arabic}{bcp47=ar-IQ,bcp47-language=ar}%
- \xpg@info{Option: arabic, locale=mashriq}%
- \or
- % libya:
- \eastern@numeralstrue%
- \SetLanguageKeys{arabic}{bcp47=ayl,bcp47-language=ar,bcp47-region=LY}%
- \xpg@info{Option: arabic, locale=libya}%
- \or
- % algeria:
- \eastern@numeralsfalse%
- \SetLanguageKeys{arabic}{bcp47=arq,bcp47-language=ar,bcp47-region=DZ,bcp47-extension-u=nu-latn}%
- \xpg@info{Option: arabic, locale=algeria}%
- \or
- % tunisia:
- \eastern@numeralsfalse%
- \SetLanguageKeys{arabic}{bcp47=aeb,bcp47-language=ar,bcp47-region=TN,bcp47-extension-u=nu-latn}%
- \xpg@info{Option: arabic, locale=tunisia}%
- \or
- % morocco:
- \eastern@numeralsfalse%
- \SetLanguageKeys{arabic}{bcp47=ary,bcp47-language=ar,bcp47-region=MA,bcp47-extension-u=nu-latn}%
- \xpg@info{Option: arabic, locale=morocco}%
- \or
- % mauritania:
- \eastern@numeralstrue%
- \SetLanguageKeys{arabic}{bcp47=ar-MR,bcp47-language=ar,bcp47-region=MR}%
- \xpg@info{Option: arabic, locale=mauritania}%
- \fi
- \gdef\@@arabic@month{\@arabic@month{#1}}
- }{\xpg@warning{Unknown Arabic locale `#1'}}
-
\newif\if@hijrical
-\define@choicekey*+{arabic}{calendar}[\xpg@val\xpg@nr]{gregorian,hijri,islamic}[gregorian]{%
- \ifcase\xpg@nr\relax
- % gregorian:
- \@hijricalfalse
- \or
- % hijri:
- \@hijricaltrue
- \or
- % islamic:
- \@hijricaltrue
- \fi
- \xpg@info{Option: Arabic, calendar=\xpg@val}%
-}{\xpg@warning{Unknown Arabic calendar option `#1'}}
-
-
-\define@key{arabic}{hijricorrection}[0]{%
- \gdef\arabic@hijri@correction{#1}}%
-
\newif\ifarabic@customsep\arabic@customsepfalse
-\def\xpg@sepmark{}
-\define@key{arabic}{sectionsep}[.]{%
- \arabic@customseptrue%
- \gdef\xpg@sepmark{#1}%
-}
+
+\DeclareKeys[polyglossia/gloss/arabic]
+ {
+ hijricorrection.code = \gdef\arabic@hijri@correction{#1},
+ hijricorrection.default:n = 0,
+ sectionsep.code = \gdef\xpg@sepmark{#1}\arabic@customseptrue,
+ sectionsep.default:n = .,
+ abjadalph.if = arabic@abjadalph,
+ abjadalph.default:n = true,
+ abjadjimnotail.if = abjad@jim@notail,
+ abjadjimnotail.default:n = true,
+ numerals.choice:,
+ numerals / mashriq.code =
+ {%
+ \eastern@numeralstrue
+ },
+ numerals / maghrib.code =
+ {%
+ \eastern@numeralsfalse
+ },
+ numerals / eastern.code =
+ {%
+ \eastern@numeralstrue
+ },
+ numerals / western.code =
+ {%
+ \eastern@numeralsfalse
+ },
+ numerals.default:n = mashriq,
+ numerals/unknown.code = \xpg@warning{Unknown Arabic numerals option `#1'},
+ locale.choice:,
+ locale / default.code =
+ {%
+ \eastern@numeralstrue
+ \def\abjad@one{ا}%
+ \SetLanguageKeys{arabic}{bcp47=ar-YE,bcp47-language=ar}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale / mashriq.code =
+ {%
+ \eastern@numeralstrue
+ \def\abjad@one{ا}%
+ \SetLanguageKeys{arabic}{bcp47=ar-IQ,bcp47-language=ar}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale / libya.code =
+ {%
+ \eastern@numeralstrue
+ \def\abjad@one{ا}%
+ \SetLanguageKeys{arabic}{bcp47=ayl,bcp47-language=ar,bcp47-region=LY}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale / algeria.code =
+ {%
+ \eastern@numeralsfalse
+ \def\abjad@one{أ}%
+ \SetLanguageKeys{arabic}{bcp47=arq,bcp47-language=ar,bcp47-region=DZ,bcp47-extension-u=nu-latn}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale / tunisia.code =
+ {%
+ \eastern@numeralsfalse
+ \def\abjad@one{أ}%
+ \SetLanguageKeys{arabic}{bcp47=aeb,bcp47-language=ar,bcp47-region=TN,bcp47-extension-u=nu-latn}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale / morocco.code =
+ {%
+ \eastern@numeralsfalse
+ \def\abjad@one{أ}%
+ \SetLanguageKeys{arabic}{bcp47=ary,bcp47-language=ar,bcp47-region=MA,bcp47-extension-u=nu-latn}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale / mauritania.code =
+ {%
+ \eastern@numeralstrue
+ \def\abjad@one{ا}%
+ \SetLanguageKeys{arabic}{bcp47=ar-MR,bcp47-language=ar,bcp47-region=MR}%
+ \gdef\@@arabic@month{\@arabic@month{#1}}%
+ },
+ locale.default:n = default,
+ locale/unknown.code = \xpg@warning{Unknown Arabic locale `#1'},
+ calendar.choice:,
+ calendar / gregorian.code =
+ {%
+ \@hijricalfalse
+ },
+ calendar / hijri.code =
+ {%
+ \@hijricaltrue
+ },
+ calendar / islamic.code =
+ {%
+ \@hijricaltrue
+ },
+ calendar.default:n = gregorian,
+ calendar/unknown.code = \xpg@warning{Unknown Arabic calendar option `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{arabic}{locale=default,calendar=gregorian,numerals=mashriq,hijricorrection=0,abjadjimnotail=false}
+\InitializeGlossOptions{arabic}{locale=default,calendar=gregorian,numerals=mashriq,hijricorrection=0,abjadjimnotail=false}
% Register alias options
-\xpg@set@alias@values{arabic}{calendar}{islamic}{hijri}
+\SetLanguageAliasValues{arabic}{calendar}{islamic,hijri}
\def\arabicgregmonth@default#1{\ifcase#1%
% Egypt, Sudan, Yemen and Golf states
@@ -10883,9 +10828,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\arabicgregmonth@mauritania#1{\ifcase#1%
\or يناير\or فبراير\or مارس\or إبريل\or مايو\or يونيو\or يوليو\or أغشت\or شتمبر\or أكتوبر\or نوفمبر\or دجمبر\fi}
-\def\@arabic@month#1{\ifcsdef{arabicgregmonth@#1}{\expandafter\csname arabicgregmonth@#1\endcsname}%
-{\xpg@warning{Option `locale=#1' is not defined for Arabic: using `default' instead}%
-\arabicgregmonth@default}}
+\def\@arabic@month#1{%
+ \@ifundefined{arabicgregmonth@#1}%
+ {\xpg@warning{Option `locale=#1' is not defined for Arabic: using `default' instead}%
+ \arabicgregmonth@default}%
+ {\expandafter\csname arabicgregmonth@#1\endcsname}%
+}
%\Hijritoday is now locale-aware and will format the date with this macro:
\DefineFormatHijriDate{arabic}{\@ensure@RTL{\arabicnumber{\value{Hijriday}}%
@@ -10917,18 +10865,18 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\datearabic{%
\def\today{%
- \if@hijrical%
+ \if@hijrical
\Hijritoday[\arabic@hijri@correction]%
\else%
- \if@RTL%
+ \if@RTL
\arabicnumber\day\space\@@arabic@month{\month}%
\space\arabicnumber\year%
\else% in LR environment we format the gregorian date within \textenglish
- \ifcsdef{english@loaded}{\textenglish{\today}}%else US format
- {\normalfontlatin\ifcase\month\or January\or February\or March\or April\or May\or June\or%
- July\or August\or September\or October\or November\or December\fi%
+ \iflanguageloaded{english}{\textenglish{\today}}%else US format
+ {\normalfontlatin\ifcase\month\or January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
\space\number\day,\space\number\year}%
- \fi%
+ \fi
\fi}}
% Use \providecommand here as the ldf file might
@@ -10954,10 +10902,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\or ح\or ط\or ي\or ك\or ل\or م\or ن%
\or س\or ع\or ف\or ص\or ق\or ر\or ش%
\or ت\or ث\or خ\or ذ\or ض\or ظ\or غ%
- \else\xpg@ill@value{#1}{arabic@abjad@alph}\fi%
+ \else\xpg@ill@value{#1}{arabic@abjad@alph}\fi
}
-
\def\abjadmaghribi#1{%
\ifnum#1>1999\xpg@ill@value{#1}{abjad}%
\else
@@ -10980,111 +10927,111 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%maghribi س -> ص ص -> ض ش -> س ض -> ظ ظ -> غ غ -> ش
\def\abj@maghribi@num@ii#1{%
- \ifcase#1\or ي\or ك\or ل\or م\or ن%
+ \ifcase#1\abjad@zero\or ي\or ك\or ل\or م\or ن%
\or ص\or ع\or ف\or ض\fi
- \ifnum#1=\z@\abjad@zero\fi\abj@num@i}
+ \abj@num@i}
\def\abj@maghribi@num@iii#1{%
\ifcase#1\or ق\or ر\or س\or ت\or ث%
\or خ\or ذ\or ظ\or غ\fi
- \ifnum#1=\z@\fi\abj@maghribi@num@ii}
+ \abj@maghribi@num@ii}
\def\abj@maghribi@num@iv#1{%
\ifcase#1\or ش\fi
- \ifnum#1=\z@\fi\abj@maghribi@num@iii}
+ \abj@maghribi@num@iii}
\def\arabic@numbers{%
\ifarabic@abjadalph
- \let\@alph\abjadalph%
- \let\@Alph\abjadalph%
+ \let\@alph\abjadalph
+ \let\@Alph\abjadalph
\else
- \let\@alph\abjad%
- \let\@Alph\abjad%
+ \let\@alph\abjad
+ \let\@Alph\abjad
\fi
}
\def\noarabic@numbers{%
- \let\@alph\latin@alph%
- \let\@Alph\latin@Alph%
+ \let\@alph\latin@alph
+ \let\@Alph\latin@Alph
}
% Store original definition
\let\xpg@save@arabic\@arabic
\def\arabic@globalnumbers{%
- \let\@arabic\arabicnumber%
+ \let\@arabic\arabicnumber
\renewcommand\thefootnote{\localnumeral*{footnote}}%
\renewcommand\theequation{\localnumeral*{equation}}%
}
\def\noarabic@globalnumbers{%
- \let\@arabic\xpg@save@arabic%
+ \let\@arabic\xpg@save@arabic
}
\def\arabic@xetex@capsformat{%
- \let\xpg@save@sepmark\@SepMark%
+ \let\xpg@save@sepmark\@SepMark
\SepMark{\xpg@sepmark}
}
\def\noarabic@xetex@capsformat{%
- \ifcsdef{xpg@save@sepmark}{%
+ \ifcsname xpg@save@sepmark\endcsname
\SepMark{\xpg@save@sepmark}
- }{}%
+ \fi
}
\def\arabic@luatex@capsformat{%
%
% change chapter and part headings
\ifarabic@customsep
- \ifcsdef{chapter}{%
- \let\xpg@save@thesection\thesection%
+ \ifcsname chapter\endcsname
+ \let\xpg@save@thesection\thesection
\renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
- \let\xpg@save@theequation\theequation%
+ \let\xpg@save@theequation\theequation
\renewcommand*\theequation{%
\ifnum \c@chapter>\z@ \thechapter\xpg@sepmark\fi\@arabic\c@equation}
- \let\xpg@save@thefigure\thefigure%
+ \let\xpg@save@thefigure\thefigure
\renewcommand*\thefigure{%
\ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@figure}
- \let\xpg@save@thetable\thetable%
+ \let\xpg@save@thetable\thetable
\renewcommand*\thetable{%
\ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
- }{}
- \let\xpg@save@thesubsection\thesubsection%
+ \fi
+ \let\xpg@save@thesubsection\thesubsection
\renewcommand\thesubsection
{\thesection\xpg@sepmark\@arabic\c@subsection}
- \let\xpg@save@thesubsubsection\thesubsubsection%
+ \let\xpg@save@thesubsubsection\thesubsubsection
\renewcommand\thesubsubsection{\thesubsection\xpg@sepmark\@arabic\c@subsubsection}
- \let\xpg@save@theparagraph\theparagraph%
+ \let\xpg@save@theparagraph\theparagraph
\renewcommand\theparagraph
{\thesubsubsection\xpg@sepmark\@arabic\c@paragraph}
- \let\xpg@save@thesubparagraph\thesubparagraph%
+ \let\xpg@save@thesubparagraph\thesubparagraph
\renewcommand\thesubparagraph{\theparagraph\xpg@sepmark\@arabic\c@subparagraph}
- \fi% (end \ifarabic@customsep)
+ \fi % (end \ifarabic@customsep)
}
\def\noarabic@luatex@capsformat{%
- \ifcsdef{xpg@save@thesection}{%
- \let\thesection\xpg@save@thesection%
- }{}%
- \ifcsdef{xpg@save@theequation}{%
- \let\theequation\xpg@save@theequation%
- }{}%
- \ifcsdef{xpg@save@thefigure}{%
- \let\thefigure\xpg@save@thefigure%
- }{}%
- \ifcsdef{xpg@save@thetable}{%
- \let\thetable\xpg@save@thetable%
- }{}%
- \ifcsdef{xpg@save@thesubsection}{%
- \let\thesubsection\xpg@save@thesubsection%
- \ifcsdef{xpg@save@thesubsubsection}{%
- \let\thesubsubsection\xpg@save@thesubsubsection%
- }{}%
- }{}%
- \ifcsdef{xpg@save@theparagraph}{%
- \let\theparagraph\xpg@save@theparagraph%
- }{}%
- \ifcsdef{xpg@save@thesubparagraph}{%
- \let\thesubparagraph\xpg@save@thesubparagraph%
- }{}%
+ \ifcsname xpg@save@thesection\endcsname
+ \let\thesection\xpg@save@thesection
+ \fi
+ \ifcsname xpg@save@theequation\endcsname
+ \let\theequation\xpg@save@theequation
+ \fi
+ \ifcsname xpg@save@thefigure\endcsname
+ \let\thefigure\xpg@save@thefigure
+ \fi
+ \ifcsname xpg@save@thetable\endcsname
+ \let\thetable\xpg@save@thetable
+ \fi
+ \ifcsname xpg@save@thesubsection\endcsname
+ \let\thesubsection\xpg@save@thesubsection
+ \ifcsname xpg@save@thesubsubsection\endcsname
+ \let\thesubsubsection\xpg@save@thesubsubsection
+ \fi
+ \fi
+ \ifcsname xpg@save@theparagraph\endcsname
+ \let\theparagraph\xpg@save@theparagraph
+ \fi
+ \ifcsname xpg@save@thesubparagraph\endcsname
+ \let\thesubparagraph\xpg@save@thesubparagraph
+ \fi
}
\def\blockextras@arabic{%
@@ -11096,7 +11043,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\fi
\fi
}
-%
+
\def\noextras@arabic{%
\ifarabic@customsep
\ifxetex
@@ -11116,7 +11063,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-armenian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-armenian.ldf}[polyglossia: module for Armenian]
@@ -11139,43 +11086,49 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@eastern@armenian
\@eastern@armenianfalse
-\define@choicekey*+{armenian}{variant}[\xpg@val\xpg@nr]{western,eastern}[western]{%
- \ifcase\xpg@nr\relax
- % western:
- \@eastern@armenianfalse%
- \or
- % eastern:
- \@eastern@armeniantrue%
- \fi
- \xpg@info{Option: Armenian, variant=\xpg@val}%
-}{\xpg@warning{Unknown Armenian variant `#1'}}
\newif\if@armenian@numerals
\@armenian@numeralsfalse
-\define@key{armenian}{numerals}[armenian]{%
- \ifstrequal{#1}{arabic}{%
- \@armenian@numeralsfalse%
- \SetLanguageKeys{armenian}{bcp47-extension-u=nu-latn}%
- }{%
- \@armenian@numeralstrue%
- \SetLanguageKeys{armenian}{bcp47-extension-u={}}%
- }%
-}
-\define@boolkey{armenian}[armenian@]{capitalyiwn}[true]{%
- \ifarmenian@capitalyiwn
- % MakeUppercase capitalizes the ligature of letters ech and yiwn (U+0587)
- % to capital ech and yiwn (also the output if Armenian is not selected at all)
- \SetLanguageKeys{armenian}{bcp47-casing=hy-x-yiwn,bcp47-extension-x=yiwn}
- \else
- % Capitalize ech and yiwn ligature to capital ech and vew,
- % following Armenian spelling reform
- \SetLanguageKeys{armenian}{bcp47-casing=hy,bcp47-extension-x={}}
- \fi
-}
+\DeclareKeys[polyglossia/gloss/armenian]
+ {
+ variant.choice:,
+ variant / western.code =
+ {%
+ \@eastern@armenianfalse
+ },
+ variant / eastern.code =
+ {%
+ \@eastern@armeniantrue
+ },
+ variant.default:n = western,
+ variant/unknown.code = \xpg@warning{Unknown Armenian variant `#1'},
+ numerals.choice:,
+ numerals / armenian.code =
+ {%
+ \@armenian@numeralstrue
+ \SetLanguageKeys{armenian}{bcp47-extension-u={}}%
+ },
+ numerals / arabic.code =
+ {%
+ \@armenian@numeralsfalse
+ \SetLanguageKeys{armenian}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = armenian,
+ capitalyiwn.choice:,
+ capitalyiwn / true.code =
+ {%
+ \SetLanguageKeys{armenian}{bcp47-casing=hy-x-yiwn,bcp47-extension-x=yiwn}%
+ },
+ capitalyiwn / false.code =
+ {%
+ \SetLanguageKeys{armenian}{bcp47-casing=hy,bcp47-extension-x={}}%
+ },
+ capitalyiwn.default:n = true
+ }
% Register default options
-\xpg@initialize@gloss@options{armenian}{numerals=armenian,variant=western}
+\InitializeGlossOptions{armenian}{numerals=armenian,variant=western}
% Taken from ArmTeX. Audit!
\def\captionsarmenian{%
@@ -11324,13 +11277,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-arq.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-arq.ldf}[polyglossia: module for arq (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
% \end{macrocode}
% \iffalse
@@ -11341,13 +11294,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ary.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ary.ldf}[polyglossia: module for ary (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
% \end{macrocode}
% \iffalse
@@ -11358,13 +11311,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-arz.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-arz.ldf}[polyglossia: module for arz (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
% \end{macrocode}
% \iffalse
@@ -11375,13 +11328,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ast.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ast.ldf}[polyglossia: module for ast (Asturian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{asturian}
+\InheritGlossFile{asturian}
% \end{macrocode}
% \iffalse
@@ -11392,7 +11345,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-asturian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% Translated by Xuacu <xuacusk8 at gmail dot com>
% Contributed by Kevin Godby <godbyk at gmail dot com>
@@ -11452,13 +11405,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-australian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-australian.ldf}[polyglossia: module for Australian English]
% We provide this as a babel alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
% \end{macrocode}
% \iffalse
@@ -11469,13 +11422,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-austrian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-austrian.ldf}[polyglossia: module for Austrian German (old spelling)]
% We provide this as a babel alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -11486,13 +11439,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ayl.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ayl.ldf}[polyglossia: module for ayl (Arabic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{arabic}
+\InheritGlossFile{arabic}
% \end{macrocode}
% \iffalse
@@ -11503,13 +11456,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bahasa.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bahasa.ldf}[polyglossia: module for Bahasa Indonesia]
% We provide this as a babel alias
-\xpg@load@master@language{malay}
+\InheritGlossFile{malay}
% \end{macrocode}
% \iffalse
@@ -11520,14 +11473,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bahasai.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bahasai.ldf}[polyglossia: module for Bahasa Indonesia]
% We only provide this gloss for babel compatibility. Since bahasai is
% a malay variety, we use 'malay' with variant 'indonesian' now.
-\xpg@load@master@language{malay}
+\InheritGlossFile{malay}
% \end{macrocode}
% \iffalse
@@ -11538,14 +11491,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bahasam.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bahasam.ldf}[polyglossia: module for Bahasa Melayu]
% We only provide this gloss for babel compatibility. Since bahasam is
% a malay variety, we use 'malay' with variant 'malaysian' now.
-\xpg@load@master@language{malay}
+\InheritGlossFile{malay}
% \end{macrocode}
% \iffalse
@@ -11556,7 +11509,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-basque.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-basque.ldf}[polyglossia: module for Basque]
\PolyglossiaSetup{basque}{
@@ -11614,13 +11567,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-be-tarask.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-be-tarask.ldf}[polyglossia: module for be-tarask (Belarusian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{belarusian}
+\InheritGlossFile{belarusian}
% \end{macrocode}
% \iffalse
@@ -11631,13 +11584,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-be.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-be.ldf}[polyglossia: module for be (Belarusian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{belarusian}
+\InheritGlossFile{belarusian}
% \end{macrocode}
% \iffalse
@@ -11648,7 +11601,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-belarusian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-belarusian.ldf}[polyglossia: module for Belarusian]
@@ -11676,63 +11629,68 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias*{belarusian}{be}
\def\belarusian@spelling{modern}
-\define@choicekey*+{belarusian}{spelling}[\xpg@val\xpg@nr]{modern,classic,tarask}[modern]{%
- \ifcase\xpg@nr\relax
- % modern:
- \def\belarusian@spelling{modern}%
- \SetLanguageKeys{belarusian}{bcp47=be,bcp47-variant=1959acad}%
- \or
- % classic:
- \def\belarusian@spelling{tarask}%
- \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
- \or
- % tarask:
- \def\belarusian@spelling{tarask}%
- \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
- \fi
-}{\xpg@warning{Unknown Belarusian spelling `#1'}}
-
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{belarusian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\xpg@nr\relax
- % arabic:
- \cyrillic@numeralsfalse%
- \cyrillic@asbuk@numeralsfalse%
- \or
- % cyrillic:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \or
- % cyrillic-trad:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \or
- % cyrillic-alph:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralstrue%
- \fi
- \xpg@info{Option: Belarusian, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Belarusian numerals value `#1'}}
-\define@boolkey{belarusian}[belarusian@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/belarusian]
+ {
+ babelshorthands.if = belarusian@babelshorthands,
+ babelshorthands.default:n = true,
+ spelling.choice:,
+ spelling / modern.code =
+ {%
+ \def\belarusian@spelling{modern}%
+ \SetLanguageKeys{belarusian}{bcp47=be,bcp47-variant=1959acad}%
+ },
+ spelling / classic.code =
+ {%
+ \def\belarusian@spelling{tarask}%
+ \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
+ },
+ spelling / tarask.code =
+ {%
+ \def\belarusian@spelling{tarask}%
+ \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
+ },
+ spelling.default:n = modern,
+ spelling/unknown.code = \xpg@warning{Unknown Belarusian spelling `#1'},
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \cyrillic@numeralsfalse
+ \cyrillic@asbuk@numeralsfalse
+ },
+ numerals / cyrillic.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ },
+ numerals / cyrillic-trad.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ },
+ numerals / cyrillic-alph.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralstrue
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Belarusian numerals value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{belarusian}{babelshorthands=false,numerals=arabic,spelling=modern}
+\InitializeGlossOptions{belarusian}{babelshorthands=false,numerals=arabic,spelling=modern}
% Register alias options
-\xpg@set@alias@values{belarusian}{spelling}{classic}{tarask}
+\SetLanguageAliasValues{belarusian}{spelling}{classic,tarask}
\ifsystem@babelshorthands
- \setkeys{belarusian}{babelshorthands=true}
+ \SetGlossOptions{belarusian}{babelshorthands=true}
\else
- \setkeys{belarusian}{babelshorthands=false}
+ \SetGlossOptions{belarusian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\belarusian@shorthands{%
\xpg@activate@shorthands%
@@ -11976,7 +11934,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bengali.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% Translations provided by সাজেদুর রহিম জোয়ারদার <toshazed@gmail.com>
% TODO implement Bengali calendar
@@ -12005,30 +11963,36 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\ifbengali@devanagari@numerals
\newif\ifbengali@bengali@numerals
-\define@choicekey*+{bengali}{numerals}[\xpg@val\xpg@nr]{Devanagari,Bengali,Western}[Devanagari]{%
- \ifcase\xpg@nr\relax
- % Devanagari:
- \bengali@bengali@numeralsfalse%
- \bengali@devanagari@numeralstrue%
- \or
- % Bengali:
- \bengali@bengali@numeralstrue%
- \bengali@devanagari@numeralsfalse%
- \or
- % Western:
- \bengali@bengali@numeralsfalse%
- \bengali@devanagari@numeralsfalse%
- \fi
- \xpg@info{Option: Bengali, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Bengali numeral `#1'}}
\def\extras@bengali{}
\def\noextras@bengali{}
-\define@boolkey{bengali}[bengali@]{changecounternumbering}[true]{}
+\DeclareKeys[polyglossia/gloss/bengali]
+ {
+ changecounternumbering.if = bengali@changecounternumbering,
+ changecounternumbering.default:n = true,
+ numerals.choice:,
+ numerals / devanagari.code =
+ {%
+ \bengali@bengali@numeralsfalse
+ \bengali@devanagari@numeralstrue
+ },
+ numerals / bengali.code =
+ {%
+ \bengali@bengali@numeralstrue
+ \bengali@devanagari@numeralsfalse
+ },
+ numerals / western.code =
+ {%
+ \bengali@bengali@numeralsfalse
+ \bengali@devanagari@numeralsfalse
+ },
+ numerals.default:n = devanagari,
+ numerals/unknown.code = \xpg@warning{Unknown Bengali numeral `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{bengali}{changecounternumbering=false,numerals=Devanagari}
+\InitializeGlossOptions{bengali}{changecounternumbering=false,numerals=Devanagari}
\def\captionsbengali{%
\def\refname{তথ্যসূত্রসমূহ}%
@@ -12117,13 +12081,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bg.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bg.ldf}[polyglossia: module for bg (Bulgarian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{bulgarian}
+\InheritGlossFile{bulgarian}
% \end{macrocode}
% \iffalse
@@ -12134,13 +12098,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bn.ldf}[polyglossia: module for bn (Bengali)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{bengali}
+\InheritGlossFile{bengali}
% \end{macrocode}
% \iffalse
@@ -12151,13 +12115,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bo.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bo.ldf}[polyglossia: module for bo (Tibetan)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{tibetan}
+\InheritGlossFile{tibetan}
% \end{macrocode}
% \iffalse
@@ -12168,7 +12132,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bosnian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bosnian.ldf}[polyglossia: module for Bosnian]
@@ -12232,13 +12196,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-br.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-br.ldf}[polyglossia: module for br (Breton)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{breton}
+\InheritGlossFile{breton}
% \end{macrocode}
% \iffalse
@@ -12249,7 +12213,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-brazil.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-brazil.ldf}[polyglossia: module for Brazilian Portuguese]
@@ -12257,7 +12221,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% 'brazil' was selected in accordance with babel.
% Since brazil is a variety of portuguese, we use 'portuguese' now.
-\xpg@load@master@language{portuguese}
+\InheritGlossFile{portuguese}
% \end{macrocode}
% \iffalse
@@ -12268,7 +12232,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-breton.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-breton.ldf}[polyglossia: module for Breton]
\PolyglossiaSetup{breton}{
@@ -12376,13 +12340,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-british.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-british.ldf}[polyglossia: module for British English]
% We provide this as a babel alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
% \end{macrocode}
% \iffalse
@@ -12393,13 +12357,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bs.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bs.ldf}[polyglossia: module for bs (Bosnian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{bosnian}
+\InheritGlossFile{bosnian}
% \end{macrocode}
% \iffalse
@@ -12410,7 +12374,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bulgarian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for Bulgarian]
\PolyglossiaSetup{bulgarian}{
@@ -12473,15 +12437,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\figurename{Фигура}%
\def\tablename{Таблица}%
%\def\thepart{}%
- %\def\partname{}%
+ \def\partname{Част}%
\def\pagename{Стр.}%
\def\seename{вж.}%
\def\alsoname{вж.\ също и}%
\def\enclname{Приложения}%
\def\ccname{копия}%
- %\def\headtoname{}%
- \def\proofname{Proof}%
- \def\glossaryname{Glossary}%
+ \def\headtoname{За}%
+ \def\proofname{Доказателство}%
+ \def\glossaryname{Притурка}%
}
\def\datebulgarian{%
@@ -12512,13 +12476,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ca.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ca.ldf}[polyglossia: module for ca (Catalan)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{catalan}
+\InheritGlossFile{catalan}
% \end{macrocode}
% \iffalse
@@ -12529,13 +12493,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-canadian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-canadian.ldf}[polyglossia: module for Canadian English]
% We provide this as a babel alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
% \end{macrocode}
% \iffalse
@@ -12546,13 +12510,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-canadien.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-canadien.ldf}[polyglossia: module for Canadian French]
% We provide this as a babel alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
% \end{macrocode}
% \iffalse
@@ -12563,7 +12527,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-catalan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-catalan.ldf}[polyglossia: module for Catalan]
\PolyglossiaSetup{catalan}{
@@ -12581,21 +12545,21 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{catalan}{ca}
-\define@boolkey{catalan}[catalan@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/catalan]
+ {
+ babelshorthands.if = catalan@babelshorthands,
+ babelshorthands.default:n = true,
+ }
\ifsystem@babelshorthands
- \setkeys{catalan}{babelshorthands=true}
+ \SetGlossOptions{catalan}{babelshorthands=true}
\else
- \setkeys{catalan}{babelshorthands=false}
+ \SetGlossOptions{catalan}{babelshorthands=false}
\fi
% Register default options
-\xpg@initialize@gloss@options{catalan}{babelshorthands=false}
+\InitializeGlossOptions{catalan}{babelshorthands=false}
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
%%% adapted from Babel's catalan.ldf
\newdimen\leftllkern \newdimen\rightllkern \newdimen\raiselldim
@@ -12732,7 +12696,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-chinese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-chinese.ldf}[polyglossia: module for Chinese]
@@ -12756,51 +12720,60 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias*[variant=simplified]{chinese}{zh-CN}
\setlanguagealias*[variant=traditional]{chinese}{zh-TW}
-\providebool{chinese@traditional}
+\@ifundefined{ifchinese@traditional}%
+ {\newif\ifchinese@traditional}{}
-\def\chinese@variant{chinese}
-
-\newif\ifchinese@numerals
-\define@key{chinese}{numerals}[arabic]{%
- \ifstrequal{#1}{chinese}%
- {\chinese@numeralstrue%
- \SetLanguageKeys{chinese}{bcp47-extension-u=nu-hant}%
- }{\chinese@numeralsfalse%
- \SetLanguageKeys{chinese}{bcp47-extension-u=nu-latn}%
- }%
-}
+\@ifundefined{ifchinese@numerals}%
+ {\newif\ifchinese@numerals}{}
+\def\chinese@variant{chinese}
-\define@choicekey*+{chinese}{variant}[\xpg@val\xpg@nr]{cn,simplified,tw,traditional}[cn]{%
- \ifcase\xpg@nr\relax
- % cn:
- \chinese@traditionalfalse
- \SetLanguageKeys{chinese}{language={Chinese Simplified},langtag=ZHS,bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
- \xpg@info{Option: Chinese, variant=simplified}%
- \or
- % simplified:
- \chinese@traditionalfalse
- \SetLanguageKeys{chinese}{language={Chinese Simplified},langtag=ZHS,bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
- \xpg@info{Option: Chinese, variant=simplified}%
- \or
- % tw:
- \chinese@traditionaltrue
- \SetLanguageKeys{chinese}{language={Chinese Traditional},langtag=ZHT,bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
- \xpg@info{Option: Chinese, variant=traditional}%
- \or
- % traditional:
- \chinese@traditionaltrue
- \SetLanguageKeys{chinese}{language={Chinese Traditional},langtag=ZHT,bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
- \xpg@info{Option: Chinese, variant=traditional}%
- \fi
-}{\xpg@warning{Unknown Chinese variant `#1'}}
+\DeclareKeys[polyglossia/gloss/chinese]
+ {
+ variant.choice:,
+ variant / cn.code =
+ {%
+ \chinese@traditionalfalse
+ \SetLanguageKeys{chinese}{language={Chinese Simplified},langtag=ZHS,bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
+ },
+ variant / simplified.code =
+ {%
+ \chinese@traditionalfalse
+ \SetLanguageKeys{chinese}{language={Chinese Simplified},langtag=ZHS,bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
+ },
+ variant / tw.code =
+ {%
+ \chinese@traditionaltrue
+ \SetLanguageKeys{chinese}{language={Chinese Traditional},langtag=ZHT,bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
+ },
+ variant / traditional.code =
+ {%
+ \chinese@traditionaltrue
+ \SetLanguageKeys{chinese}{language={Chinese Traditional},langtag=ZHT,bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
+ },
+ variant.default:n = cn,
+ variant/unknown.code = \xpg@warning{Unknown Chinese variant `#1'},
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \chinese@numeralsfalse
+ \SetLanguageKeys{chinese}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / chinese.code =
+ {%
+ \chinese@numeralstrue
+ \SetLanguageKeys{chinese}{bcp47-extension-u=nu-hant}%
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Chinese numerals value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{chinese}{variant=cn,numerals=arabic}
-%\xpg@initialize@gloss@options{chinese}{variant=tw,numerals=arabic}
+\InitializeGlossOptions{chinese}{variant=cn,numerals=arabic}
+%\InitializeGlossOptions{chinese}{variant=tw,numerals=arabic}
% Register alias options
-\xpg@set@alias@values{chinese}{variant}{cn}{simplified}
-\xpg@set@alias@values{chinese}{variant}{tw}{traditional}
+\SetLanguageAliasValues{chinese}{variant}{cn,simplified}
+\SetLanguageAliasValues{chinese}{variant}{tw,traditional}
\def\chinese@capsformat{%
@@ -12852,7 +12825,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\enclname{附件}%
\def\ccname{抄送}%
\def\headtoname{收件人}%
- \def\\glossaryname{詞彙表}%
+ \def\glossaryname{詞彙表}%
}
\def\captions@chinese@simplified{%
\def\contentsname{目录}%
@@ -12875,7 +12848,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\enclname{附件}%
\def\ccname{抄送}%
\def\headtoname{收件人}%
- \def\\glossaryname{词汇表}%
+ \def\glossaryname{词汇表}%
}
\newcount\c@TempJNum%
@@ -13023,13 +12996,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ckb-Arab.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ckb-Arab.ldf}[polyglossia: module for ckb-Arab (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
% \end{macrocode}
% \iffalse
@@ -13040,13 +13013,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ckb-Latn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ckb-Latn.ldf}[polyglossia: module for ckb-Latn (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
% \end{macrocode}
% \iffalse
@@ -13057,30 +13030,47 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ckb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ckb.ldf}[polyglossia: module for ckb (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
% \end{macrocode}
% \iffalse
%</gloss-ckb.ldf>
+%<*gloss-classiclatin.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-classiclatin.ldf}
+% \begin{macrocode}
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
+%
+\ProvidesFile{gloss-classiclatin.ldf}[polyglossia: module for classic Latin]
+
+% We provide this as a babel alias
+
+\InheritGlossFile{latin}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-classiclatin.ldf>
%<*gloss-cop.ldf>
% \fi
% \clearpage
%
% \subsection{gloss-cop.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-cop.ldf}[polyglossia: module for cop (Coptic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{coptic}
+\InheritGlossFile{coptic}
% \end{macrocode}
% \iffalse
@@ -13091,7 +13081,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-coptic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-coptic.ldf}[polyglossia: module for Coptic]
\PolyglossiaSetup{coptic}{
@@ -13147,7 +13137,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-croatian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-croatian.ldf}[polyglossia: module for Croatian]
\PolyglossiaSetup{croatian}{
@@ -13169,40 +13159,40 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\RequirePackage{luavlna}
\fi
-\define@boolkey{croatian}[croatian@]{babelshorthands}[true]{}
-
-\define@boolkey{croatian}[croatian@]{disabledigraphs}[true]{}
-
-% Alias kept for backwards compatibility. Please do not remove
-\define@boolkey{croatian}[croatian@]{disableligatures}[true]{%
- \xpg@warning{The option disableligatures is deprected.\MessageBreak
- Please use disabledigraphs instead}%
- \ifcroatian@disableligatures
- \croatian@disabledigraphstrue
- \else
- \croatian@disabledigraphsfalse
- \fi
-}
-
-\define@boolkey{croatian}[croatian@]{splithyphens}[true]{}
-
-\define@boolkey{croatian}[croatian@]{localalph}[true]{}
+\DeclareKeys[polyglossia/gloss/croatian]
+ {
+ babelshorthands.if = croatian@babelshorthands,
+ babelshorthands.default:n = true,
+ disabledigraphs.if = croatian@disabledigraphs,
+ disabledigraphs.default:n = true,
+ splithyphens.if = croatian@splithyphens,
+ splithyphens.default:n = true,
+ localalph.if = croatian@localalph,
+ localalph.default:n = true,
+ disableligatures.choices:nn = { true, false }
+ {%
+ \xpg@warning{The option disableligatures is deprecated.\MessageBreak
+ Please use disabledigraphs instead}%
+ \ifcase\UseName{l_keys_choice_int}\or
+ \croatian@disabledigraphstrue
+ \or
+ \croatian@disabledigraphsfalse
+ \fi
+ },
+ disableligatures.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{croatian}{babelshorthands=false,disabledigraphs=false,
+\InitializeGlossOptions{croatian}{babelshorthands=false,disabledigraphs=false,
splithyphens=true,localalph=true}
\ifsystem@babelshorthands
- \setkeys{croatian}{babelshorthands=true}
+ \SetGlossOptions{croatian}{babelshorthands=true}
\else
- \setkeys{croatian}{babelshorthands=false}
+ \SetGlossOptions{croatian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\let\xpg@hyphen@char-
\def\croatian@@splhyphen#1{%
@@ -13423,13 +13413,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-cy.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-cy.ldf}[polyglossia: module for cy (Welsh)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{welsh}
+\InheritGlossFile{welsh}
% \end{macrocode}
% \iffalse
@@ -13440,13 +13430,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-cz.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-cz.ldf}[polyglossia: module for cz (Czech)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{czech}
+\InheritGlossFile{czech}
% \end{macrocode}
% \iffalse
@@ -13457,7 +13447,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-czech.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-czech.ldf}[polyglossia: module for Czech]
@@ -13480,26 +13470,26 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\RequirePackage{luavlna}
\fi
-\define@boolkey{czech}[czech@]{babelshorthands}[true]{}
-
-\define@boolkey{czech}[czech@]{splithyphens}[true]{}
-
-\define@boolkey{czech}[czech@]{vlna}[true]{}
+\DeclareKeys[polyglossia/gloss/czech]
+ {
+ babelshorthands.if = czech@babelshorthands,
+ babelshorthands.default:n = true,
+ splithyphens.if = czech@splithyphens,
+ splithyphens.default:n = true,
+ vlna.if = czech@vlna,
+ vlna.default:n = true
+ }
% Register default options
-\xpg@initialize@gloss@options{czech}{babelshorthands=false,splithyphens=true,vlna=true}
+\InitializeGlossOptions{czech}{babelshorthands=false,splithyphens=true,vlna=true}
\ifsystem@babelshorthands
- \setkeys{czech}{babelshorthands=true}
+ \SetGlossOptions{czech}{babelshorthands=true}
\else
- \setkeys{czech}{babelshorthands=false}
+ \SetGlossOptions{czech}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\czech@@splithyphen#1{%
\def\czech@sh@tmp{%
@@ -13716,13 +13706,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-da.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-da.ldf}[polyglossia: module for da (Danish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{danish}
+\InheritGlossFile{danish}
% \end{macrocode}
% \iffalse
@@ -13733,7 +13723,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-danish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-danish.ldf}[polyglossia: module for Danish]
\PolyglossiaSetup{danish}{
@@ -13790,13 +13780,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-AT-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-AT-1901.ldf}[polyglossia: module for de-AT-1901 (Austrian German, old spelling)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -13807,13 +13797,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-AT-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-AT-1996.ldf}[polyglossia: module for de-AT-1996 (Austrian German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -13824,13 +13814,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-AT.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-AT.ldf}[polyglossia: module for de-AT (Austrian German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -13841,13 +13831,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-CH-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-CH-1901.ldf}[polyglossia: module for de-CH-1901 (Swiss German, old spelling)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -13858,13 +13848,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-CH-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-CH-1996.ldf}[polyglossia: module for de-CH-1996 (Swiss German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -13875,13 +13865,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-CH.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-CH.ldf}[polyglossia: module for de-CH (Swiss German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -13892,13 +13882,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-DE-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-DE-1901.ldf}[polyglossia: module for de-DE-1901 (Germany's German, old spelling)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -13909,13 +13899,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-DE-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-DE-1996.ldf}[polyglossia: module for de-DE-1996 (Germany's German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -13926,13 +13916,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-DE.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-DE.ldf}[polyglossia: module for de-DE (Germany's German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -13943,13 +13933,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-AT-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-AT-1901-Latf.ldf}[polyglossia: module for de-AT-1901-Latf (Austrian German, old spelling)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -13960,13 +13950,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-AT-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-AT-1996-Latf.ldf}[polyglossia: module for de-AT-1996-Latf (Austrian German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -13977,13 +13967,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-AT.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-AT-Latf.ldf}[polyglossia: module for de-AT-Latf (Austrian German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -13994,13 +13984,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-CH-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-CH-1901-Latf.ldf}[polyglossia: module for de-CH-1901-Latf (Swiss German, old spelling)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -14011,13 +14001,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-CH-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-CH-1996-Latf.ldf}[polyglossia: module for de-CH-1996-Latf (Swiss German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -14028,13 +14018,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-CH.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-CH-Latf.ldf}[polyglossia: module for de-CH-Latf (Swiss German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -14045,13 +14035,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-DE-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-DE-1901-Latf.ldf}[polyglossia: module for de-DE-1901-Latf (Germany's German, old spelling)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -14062,13 +14052,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-DE-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-DE-1996-Latf.ldf}[polyglossia: module for de-DE-1996-Latf (Germany's German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -14079,13 +14069,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-DE.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-DE-Latf.ldf}[polyglossia: module for de-DE-Latf (Germany's German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -14096,13 +14086,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de-Latf.ldf}[polyglossia: module for de-Latf (German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -14113,13 +14103,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-de.ldf}[polyglossia: module for de (German)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -14130,7 +14120,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-divehi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-divehi.ldf}[polyglossia: module for Divehi]
@@ -14185,13 +14175,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-dsb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-dsb.ldf}[polyglossia: module for dsb (Sorbian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{sorbian}
+\InheritGlossFile{sorbian}
% \end{macrocode}
% \iffalse
@@ -14202,7 +14192,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-dutch.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-dutch.ldf}[polyglossia: module for Dutch]
\PolyglossiaSetup{dutch}{
@@ -14219,24 +14209,24 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{dutch}{nl}
-\define@boolkey{dutch}[dutch@]{babelshorthands}[true]{}
-
-\define@boolkey{dutch}[dutch@]{tremahyphenation}[true]{}
+\DeclareKeys[polyglossia/gloss/dutch]
+ {
+ babelshorthands.if = dutch@babelshorthands,
+ babelshorthands.default:n = true,
+ tremahyphenation.if = dutch@tremahyphenation,
+ tremahyphenation.default:n = true
+ }
% Register default options
-\xpg@initialize@gloss@options{dutch}{babelshorthands=false,tremahyphenation=true}
+\InitializeGlossOptions{dutch}{babelshorthands=false,tremahyphenation=true}
\ifsystem@babelshorthands
- \setkeys{dutch}{babelshorthands=true}
+ \SetGlossOptions{dutch}{babelshorthands=true}
\else
- \setkeys{dutch}{babelshorthands=false}
+ \SetGlossOptions{dutch}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\xpg@trema#1{\allowhyphens\discretionary{-}{#1}{\"{#1}}\allowhyphens}
@@ -14412,30 +14402,47 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-dv.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-dv.ldf}[polyglossia: module for dv (Divehi)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{divehi}
+\InheritGlossFile{divehi}
% \end{macrocode}
% \iffalse
%</gloss-dv.ldf>
+%<*gloss-ecclesiasticlatin.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-ecclesiasticlatin.ldf}
+% \begin{macrocode}
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
+%
+\ProvidesFile{gloss-ecclesiasticlatin.ldf}[polyglossia: module for ecclesiastic Latin]
+
+% We provide this as a babel alias
+
+\InheritGlossFile{latin}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-ecclesiasticlatin.ldf>
%<*gloss-el-monoton.ldf>
% \fi
% \clearpage
%
% \subsection{gloss-el-monoton.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-el-monoton.ldf}[polyglossia: module for el-monoton (Greek)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{greek}
+\InheritGlossFile{greek}
% \end{macrocode}
% \iffalse
@@ -14446,13 +14453,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-el-polyton.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-el-polyton.ldf}[polyglossia: module for el-polyton (Greek)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{greek}
+\InheritGlossFile{greek}
% \end{macrocode}
% \iffalse
@@ -14463,13 +14470,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-el.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-el.ldf}[polyglossia: module for el (Greek)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{greek}
+\InheritGlossFile{greek}
% \end{macrocode}
% \iffalse
@@ -14480,13 +14487,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-AU.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-en-AU.ldf}[polyglossia: module for en-AU (Australian English)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
% \end{macrocode}
% \iffalse
@@ -14497,13 +14504,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-CA.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
-\ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (Canadan English)]
+\ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (Canadian English)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
% \end{macrocode}
% \iffalse
@@ -14514,13 +14521,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-GB.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-en-GB.ldf}[polyglossia: module for en-GB (British English)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
% \end{macrocode}
% \iffalse
@@ -14531,13 +14538,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-NZ.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-en-NZ.ldf}[polyglossia: module for en-NZ (Newzealand English)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
% \end{macrocode}
% \iffalse
@@ -14548,13 +14555,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-US.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-en-US.ldf}[polyglossia: module for en-US (American English)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
% \end{macrocode}
% \iffalse
@@ -14565,13 +14572,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-en.ldf}[polyglossia: module for en (English)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
% \end{macrocode}
% \iffalse
@@ -14582,7 +14589,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-english.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-english.ldf}[polyglossia: module for English]
@@ -14614,9 +14621,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias[variant=canadian]{english}{canadian}
\setlanguagealias[variant=newzealand]{english}{newzealand}
-\providebool{british@hyphen}
-\providebool{english@ordinalmonthday}
-\providebool{british@dateformat}
+\@ifundefined{ifbritish@hyphen}%
+ {\newif\ifbritish@hyphen}{}
+\@ifundefined{ifenglish@ordinalmonthday}%
+ {\newif\ifenglish@ordinalmonthday}{}
+\@ifundefined{ifbritish@dateformat}%
+ {\newif\ifbritish@dateformat}{}
% US English (\l@english) is default
% Initialize its settings
@@ -14625,49 +14635,46 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\english@ordinalmonthdayfalse
\british@dateformatfalse
-% Option ordinalmonthday
-\define@boolkey{english}[english@]{ordinalmonthday}[true]{}
-
-\define@choicekey*+{english}{variant}[\xpg@val\xpg@nr]{uk,british,us,american,usmax,australian,newzealand,canadian}[us]{%
- \ifcase\xpg@nr\relax
+\DeclareKeys[polyglossia/gloss/english]
+ {
+ ordinalmonthday.if = english@ordinalmonthday,
+ ordinalmonthday.default:n = true,
+ variant.choices:nn = { uk, british, us, american, usmax, australian, newzealand, canadian }
+ {%
+ \ifcase\UseName{l_keys_choice_int}\or
% uk:
\british@hyphentrue
\british@dateformattrue
\english@ordinalmonthdaytrue
\SetLanguageKeys{english}{babelname=british,bcp47=en-GB,bcp47-language=en,bcp47-region=GB}%
- \xpg@info{Option: English, variant=british}%
\or
% british:
\british@hyphentrue
\british@dateformattrue
\english@ordinalmonthdaytrue
\SetLanguageKeys{english}{babelname=british,bcp47=en-GB,bcp47-language=en,bcp47-region=GB}%
- \xpg@info{Option: english variant=british}%
\or
% us:
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
\SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
- \xpg@info{Option: English, variant=american}%
\or
% american:
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
\SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
- \xpg@info{Option: English, variant=american}%
\or
% usmax:
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
\SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
- \xpg@info{Option: english variant=american (with additional patterns)}%
- \xpg@ifdefined{usenglishmax}{}%
+ \IfLanguageDefinedF{usenglishmax}%
{\xpg@warning{No hyphenation patterns were loaded for "US English Max"\MessageBreak
I will use the standard patterns for US English instead}%
- \adddialect\l@usenglishmax\l@english\relax%
+ \adddialect\l@usenglishmax\l@english
}%
\def\english@variant{usenglishmax}%
\or
@@ -14678,8 +14685,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\british@dateformattrue
\english@ordinalmonthdayfalse
\SetLanguageKeys{english}{babelname=australian,bcp47=en-AU,bcp47-language=en,bcp47-region=AU}%
- \xpg@info{Option: English, variant=australian}%
- \adddialect\l@australian\l@english%
+ \adddialect\l@australian\l@english
\or
% newzealand:
% These use the british hyphenation patterns
@@ -14688,8 +14694,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\british@dateformattrue
\english@ordinalmonthdayfalse
\SetLanguageKeys{english}{babelname=newzealand,bcp47=en-NZ,bcp47-language=en,bcp47-region=NZ}%
- \xpg@info{Option: English, variant=newzealand}%
- \adddialect\l@newzealand\l@english%
+ \adddialect\l@newzealand\l@english
\or
% canadian:
% This is currently equivalent to usenglish (as in babel)
@@ -14697,45 +14702,35 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\british@dateformatfalse
\english@ordinalmonthdayfalse
\SetLanguageKeys{english}{babelname=canadian,bcp47=en-CA,bcp47-language=en,bcp47-region=CA}%
- \xpg@info{Option: English, variant=american}%
- \adddialect\l@canadian\l@english%
+ \adddialect\l@canadian\l@english
\fi
\ifbritish@hyphen
- \xpg@ifdefined{ukenglish}{}%
+ \IfLanguageDefinedF{ukenglish}%
{\xpg@warning{No hyphenation patterns were loaded for British English\MessageBreak
I will use the patterns for US English instead}%
- \adddialect\l@ukenglish\l@english\relax%
+ \adddialect\l@ukenglish\l@english
}%
\def\english@variant{ukenglish}%
\fi
-}{\xpg@warning{Unknown English variant `#1'}}
+ },
+ variant.default:n = us,
+ variant/unknown.code = \xpg@warning{Unknown English variant `#1'},
+ }
% Register default options
-\xpg@initialize@gloss@options{english}{variant=us,ordinalmonthday=false}
+\InitializeGlossOptions{english}{variant=us,ordinalmonthday=false}
% Register alias options
-\xpg@set@alias@values{english}{variant}{us}{american}
-\xpg@set@alias@values{english}{variant}{uk}{british}
+\SetLanguageAliasValues{english}{variant}{us,american}
+\SetLanguageAliasValues{english}{variant}{uk,british}
\ifxetex
% Check if \l@english is defined. If not, try to set it to some variety
- % (specific order as in the csv list below), or null language if everything fails
- \xpg@ifdefined{english}{}{%
- \def\do##1{%
- \xpg@ifdefined{#1}%
- {\csletcs{l@english}{l@#1}\listbreak}%
- {%
- \xpg@warning{No hyphenation patterns for English found"\MessageBreak
- I will use the 'null' language instead}%
- \adddialect\l@english0
- }%
- }%
- \docsvlist{british, american, usenglishmax, australian, newzealand}
- \xpg@ifdefined{english}{}{}
- }%
+ % (specific order as in the csv list), or null language if everything fails
+ \TryPatternWithFallback{english}{british, american, usenglishmax, australian, newzealand}
\fi
\def\english@language{%
- \polyglossia@setup@language@patterns{\english@variant}%
+ \SetupPolyglossiaLangPatterns{\english@variant}%
}%
\def\captionsenglish{%
@@ -14793,13 +14788,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-eo.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-eo.ldf}[polyglossia: module for eo (Esperanto)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{esperanto}
+\InheritGlossFile{esperanto}
% \end{macrocode}
% \iffalse
@@ -14810,13 +14805,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-es-ES.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-es-ES.ldf}[polyglossia: module for es-ES (Spain's Spanish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{spanish}
+\InheritGlossFile{spanish}
% \end{macrocode}
% \iffalse
@@ -14827,13 +14822,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-es-MX.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-es-MX.ldf}[polyglossia: module for es-MX (Mexican Spanish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{spanish}
+\InheritGlossFile{spanish}
% \end{macrocode}
% \iffalse
@@ -14844,13 +14839,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-es.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-es.ldf}[polyglossia: module for es (Spanish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{spanish}
+\InheritGlossFile{spanish}
% \end{macrocode}
% \iffalse
@@ -14861,7 +14856,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-esperanto.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for Esperanto]
\PolyglossiaSetup{esperanto}{
@@ -14892,10 +14887,10 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\figurename{Figuro}%
\def\tablename{Tabelo}%
%\def\thepart{}%
- %\def\partname{}%
+ \def\partname{Parto}%
\def\pagename{Paĝo}%
\def\seename{vidu}%
- \def\alsoname{Parto}%
+ \def\alsoname{vidu ankaŭ}%
\def\enclname{Aldono(j)}%
\def\ccname{Kopie al}%
\def\headtoname{Al}%
@@ -14941,7 +14936,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-estonian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-estonian.ldf}[polyglossia: module for Estonian]
\PolyglossiaSetup{estonian}{
@@ -14981,7 +14976,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\ccname{Koopia(d)}%
%\def\headtoname{}%
\def\proofname{Korrektuur}%
- \def\glossaryname{Glossary}% <-- need translation
+ \def\glossaryname{Sõnastik}%
}
\def\dateestonian{%
\def\today{\number\day.\space\ifcase\month\or
@@ -14998,13 +14993,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-et.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-et.ldf}[polyglossia: module for et (Estonian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{estonian}
+\InheritGlossFile{estonian}
% \end{macrocode}
% \iffalse
@@ -15015,13 +15010,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-eu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-eu.ldf}[polyglossia: module for eu (Basque)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{basque}
+\InheritGlossFile{basque}
% \end{macrocode}
% \iffalse
@@ -15032,13 +15027,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fa.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fa.ldf}[polyglossia: module for fa (Persian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{persian}
+\InheritGlossFile{persian}
% \end{macrocode}
% \iffalse
@@ -15049,14 +15044,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-farsi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-farsi.ldf}[polyglossia: module for Farsi]
% We only provide this gloss for babel compatibility.
% The proper English language name is Persian.
-\xpg@load@master@language{persian}
+\InheritGlossFile{persian}
% \end{macrocode}
% \iffalse
@@ -15067,13 +15062,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fi.ldf}[polyglossia: module for fi (Finnish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{finnish}
+\InheritGlossFile{finnish}
% \end{macrocode}
% \iffalse
@@ -15084,7 +15079,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-finnish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-finnish.ldf}[polyglossia: module for Finnish]
\PolyglossiaSetup{finnish}{
@@ -15102,51 +15097,54 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{finnish}{fi}
-\define@boolkey{finnish}[finnish@]{babelshorthands}[true]{}
-
\newif\if@finnish@schoolhyphens
\newif\if@finnish@babelhyphens
-\define@choicekey*+{finnish}{hyphens}[\xpg@val\xpg@nr]{default,school,babel}[default]{%
- \ifcase\xpg@nr\relax
- % default:
- \@finnish@schoolhyphensfalse
- \@finnish@babelhyphensfalse
- \or
- % school:
- \@finnish@schoolhyphenstrue
- \@finnish@babelhyphensfalse
- \or
- % babel:
- \@finnish@schoolhyphensfalse
- \@finnish@babelhyphenstrue
- \fi
- \xpg@info{Option: Finnish, hyphens=\xpg@val}%
-}{\xpg@warning{Unknown Finnish hyphens `#1'}}
-
-% backwards compatibility
-\define@boolkey{finnish}[finnish@]{schoolhyphens}[true]{%
- \iffinnish@schoolhyphens
- \@finnish@schoolhyphenstrue
- \@finnish@babelhyphensfalse
- \else
- \@finnish@schoolhyphensfalse
- \fi
-}
+
+\DeclareKeys[polyglossia/gloss/finnish]
+ {
+ babelshorthands.if = finnish@babelshorthands,
+ babelshorthands.default:n = true,
+ hyphens.choice:,
+ hyphens / default.code =
+ {%
+ \@finnish@schoolhyphensfalse
+ \@finnish@babelhyphensfalse
+ },
+ hyphens / school.code =
+ {%
+ \@finnish@schoolhyphenstrue
+ \@finnish@babelhyphensfalse
+ },
+ hyphens / babel.code =
+ {%
+ \@finnish@schoolhyphensfalse
+ \@finnish@babelhyphenstrue
+ },
+ hyphens.default:n = default,
+ hyphens/unknown.code = \xpg@warning{Unknown Finnish hyphens `#1'},
+ schoolhyphens.choice:,
+ schoolhyphens / true.code =
+ {%
+ \@finnish@schoolhyphenstrue
+ \@finnish@babelhyphensfalse
+ },
+ schoolhyphens / false.code =
+ {%
+ \@finnish@schoolhyphensfalse
+ },
+ schoolhyphens.default:n = true
+ }
% Register default options
-\xpg@initialize@gloss@options{finnish}{babelshorthands=false,hyphens=default}
+\InitializeGlossOptions{finnish}{babelshorthands=false,hyphens=default}
\ifsystem@babelshorthands
- \setkeys{finnish}{babelshorthands=true}
+ \SetGlossOptions{finnish}{babelshorthands=true}
\else
- \setkeys{finnish}{babelshorthands=false}
+ \SetGlossOptions{finnish}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\finnish@shorthands{%
\xpg@activate@shorthands%
@@ -15191,15 +15189,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\finnish@language{%
\if@finnish@schoolhyphens
- \xpg@ifdefined{schoolfinnish}{%
- \polyglossia@setup@language@patterns{schoolfinnish}%
+ \IfLanguageDefinedTF{schoolfinnish}{%
+ \SetupPolyglossiaLangPatterns{schoolfinnish}%
}{%
\xpg@warning{Finnish 'School' hyphenation patterns (schoolfinnish) not available.\MessageBreak
I will use the standard patterns for Finnish instead}%
- \polyglossia@setup@language@patterns{finnish}%
+ \SetupPolyglossiaLangPatterns{finnish}%
}%
\else
- \polyglossia@setup@language@patterns{finnish}%
+ \SetupPolyglossiaLangPatterns{finnish}%
\fi
}
@@ -15253,13 +15251,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr-CA-u-sd-canb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fr-CA-u-sd-canb.ldf}[polyglossia: module for fr-CA-u-sd-canb (Canadian French, Acadian subvariety)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
% \end{macrocode}
% \iffalse
@@ -15270,13 +15268,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr-CA.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fr-CA.ldf}[polyglossia: module for fr-CA (Canadian French)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
% \end{macrocode}
% \iffalse
@@ -15287,13 +15285,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr-CH.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fr-CH.ldf}[polyglossia: module for fr-CH (Swiss French)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
% \end{macrocode}
% \iffalse
@@ -15304,13 +15302,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr-FR.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fr-FR.ldf}[polyglossia: module for fr-FR (France's French)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
% \end{macrocode}
% \iffalse
@@ -15321,13 +15319,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fr.ldf}[polyglossia: module for fr (French)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{french}
+\InheritGlossFile{french}
% \end{macrocode}
% \iffalse
@@ -15338,7 +15336,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-french.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-french.ldf}[polyglossia: module for French]
@@ -15368,43 +15366,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias[variant=canadian]{french}{canadien}
\def\french@variant{french}
-\define@choicekey*+{french}{variant}[\xpg@val\xpg@nr]{french,canadian,acadian,swiss}[french]{%
- \ifcase\xpg@nr\relax
- % french:
- \def\french@variant{french}%
- \SetLanguageKeys{french}{babelname=french,bcp47=fr-FR,bcp47-language=fr,bcp47-region=FR}%
- \french@thincolonspacefalse
- \or
- % canadian:
- \def\french@variant{canadien}%
- \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA,bcp47-extension-u=sd-caqc}%
- \xpg@ifdefined{canadien}{}%
- {\xpg@warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
- I will use the standard patterns for French instead}%
- \adddialect\l@canadien\l@french\relax}%
- \french@thincolonspacefalse
- \or
- % acadian:
- \def\french@variant{acadian}%
- \SetLanguageKeys{french}{babelname=acadian,bcp47=fr-CA-u-sd-canb,bcp47-language=fr,bcp47-region=CA,bcp47-extension-u=sd-canb}%
- \xpg@ifdefined{acadian}{}%
- {\xpg@warning{No hyphenation patterns were loaded for "French (Canada, Acadian)"\MessageBreak
- I will use the standard patterns for French instead}%
- \adddialect\l@acadian\l@french\relax}%
- \french@thincolonspacefalse
- \or
- % swiss:
- \def\french@variant{swissfrench}%
- \SetLanguageKeys{french}{babelname=french,bcp47=fr-CH,bcp47-language=fr,bcp47-region=CH}%
- \adddialect\l@swissfrench\l@french\relax%
- \french@thincolonspacetrue
- \fi
- \xpg@info{Option: French, variant=\xpg@val}%
-}{\xpg@warning{Unknown French variant `#1'}}
-
\def\french@language{%
- \polyglossia@setup@language@patterns{\french@variant}%
+ \SetupPolyglossiaLangPatterns{\french@variant}%
}%
\ifluatex
@@ -15424,91 +15388,103 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% Save original footnote definition
% Do this at the end of the preamble to catch other
% packages' footnote changes (#391)
-\AtEndPreamble{%
+\AddToHook{begindocument/before}{%
\let\xpg@orig@makefntext\@makefntext
}
-\define@boolkey{french}[french@]{frenchfootnote}[true]{}
-
-\define@boolkey{french}[french@]{autospacing}[true]{}
-\french@autospacingtrue
-
-\define@boolkey{french}[french@]{frenchpart}[true]{}
-\french@frenchparttrue
-
-\newif\iffrench@autospaceguillemets
-\define@boolkey{french}[french@]{autospaceguillemets}[true]{}
-\french@autospaceguillemetstrue
-
-\newif\iffrench@thincolonspace
-\define@boolkey{french}[french@]{thincolonspace}[true]{}
-\french@thincolonspacefalse
-
-% Backwards compatibility
-\define@boolkey{french}[french@]{automaticspacesaroundguillemets}[true]{%
- \iffrench@automaticspacesaroundguillemets
- \setkeys{french}{autospaceguillemets=true}%
- \else
- \setkeys{french}{autospaceguillemets=false}%
- \fi
-}
-
% name is for compatibility with babel
\let\french@ttfamilyORI\ttfamily
\DeclareRobustCommand\french@ttfamilyFB{\nofrench@punctuation\french@ttfamilyORI}
-% Allow to switch on autospacing in ttfamily context
-\define@boolkey{french}[french@]{autospacetypewriter}[true]{}
-\french@autospacetypewriterfalse
-
-% This is how babel-french has it
-\define@boolkey{french}[french@]{OriginalTypewriter}[true]{%
- \iffrench@OriginalTypewriter
- \setkeys{french}{autospacetypewriter=false}%
- \else
- \setkeys{french}{autospacetypewriter=true}%
- \fi
-}
-
% Configuration of item labels
\def\french@itemi{\textemdash}
\def\french@itemii{\textemdash}
\def\french@itemiii{\textemdash}
\def\french@itemiv{\textemdash}
-\define@key{french}{itemlabels}[\textemdash]{%
- \def\french@itemi{#1}
- \def\french@itemii{#1}
- \def\french@itemiii{#1}
- \def\french@itemiv{#1}
-}
-
-\define@key{french}{itemlabeli}[\textemdash]{%
- \def\french@itemi{#1}
-}
-
-\define@key{french}{itemlabelii}[\textemdash]{%
- \def\french@itemii{#1}
-}
-
-\define@key{french}{itemlabeliii}[\textemdash]{%
- \def\french@itemiii{#1}
-}
-
-\define@key{french}{itemlabeliv}[\textemdash]{%
- \def\french@itemiv{#1}
-}
+\newif\iffrench@autospacetypewriter
+\french@autospacetypewriterfalse
+\newif\iffrench@autospacing
+\french@autospacingtrue
+\newif\iffrench@frenchpart
+\french@frenchparttrue
+\newif\iffrench@autospaceguillemets
+\french@autospaceguillemetstrue
-\define@boolkey{french}[french@]{frenchitemlabels}[true]{}
+\DeclareKeys[polyglossia/gloss/french]
+ {
+ variant.choice:,
+ variant / french.code =
+ {%
+ \def\french@variant{french}%
+ \SetLanguageKeys{french}{babelname=french,bcp47=fr-FR,bcp47-language=fr,bcp47-region=FR}%
+ \french@thincolonspacefalse
+ },
+ variant / canadian.code =
+ {%
+ \def\french@variant{canadien}%
+ \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA,bcp47-extension-u=sd-caqc}%
+ \IfLanguageDefinedF{canadien}%
+ {\xpg@warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
+ I will use the standard patterns for French instead}%
+ \adddialect\l@canadien\l@french\relax}%
+ \french@thincolonspacefalse
+ },
+ variant / acadian.code =
+ {%
+ \def\french@variant{acadian}%
+ \SetLanguageKeys{french}{babelname=acadian,bcp47=fr-CA-u-sd-canb,bcp47-language=fr,bcp47-region=CA,bcp47-extension-u=sd-canb}%
+ \IfLanguageDefinedF{acadian}%
+ {\xpg@warning{No hyphenation patterns were loaded for "French (Canada, Acadian)"\MessageBreak
+ I will use the standard patterns for French instead}%
+ \adddialect\l@acadian\l@french\relax}%
+ \french@thincolonspacefalse
+ },
+ variant / swiss.code =
+ {%
+ \def\french@variant{swissfrench}%
+ \SetLanguageKeys{french}{babelname=french,bcp47=fr-CH,bcp47-language=fr,bcp47-region=CH}%
+ \adddialect\l@swissfrench\l@french\relax%
+ \french@thincolonspacetrue
+ },
+ variant.default:n = french,
+ variant/unknown.code = \xpg@warning{Unknown French variant `#1'},
+ frenchfootnote.if = french@frenchfootnote,
+ frenchfootnote.default:n = true,
+ autospacing.if = french@autospacing,
+ autospacing.default:n = true,
+ frenchpart.if = french@frenchpart,
+ frenchpart.default:n = true,
+ autospaceguillemets.if = french@autospaceguillemets,
+ autospaceguillemets.default:n = true,
+ thincolonspace.if = french@thincolonspace,
+ thincolonspace.default:n = true,
+ automaticspacesaroundguillemets.meta:n = {autospaceguillemets=#1},
+ autospacetypewriter.if = french@autospacetypewriter,
+ autospacetypewriter.default:n = true,
+ originaltypewriter.meta:n = {autospacetypewriter=#1},
+ itemlabeli.store = \french@itemi,
+ itemlabelii.store = \french@itemii,
+ itemlabeliii.store = \french@itemiii,
+ itemlabeliv.store = \french@itemiv,
+ frenchitemlabels.if = french@frenchitemlabels,
+ frenchitemlabels.default:n = true,
+ itemlabels.code =
+ \def\french@itemi{#1}%
+ \def\french@itemii{#1}%
+ \def\french@itemiii{#1}%
+ \def\french@itemiv{#1},
+ itemlabels.default:n = \textemdash
+ }
% Register default options
-\xpg@initialize@gloss@options{french}{variant=french,autospacing=true,thincolonspace=false,
+\InitializeGlossOptions{french}{variant=french,autospacing=true,thincolonspace=false,
autospaceguillemets=true,autospacetypewriter=false,
frenchfootnote=false,frenchitemlabels=false,
itemlabels=\textemdash,itemlabeli=\textemdash,itemlabelii=\textemdash,
itemlabeliii=\textemdash,itemlabeliv=\textemdash}
% Register alias options
-\xpg@set@alias@values{french}{variant}{canadian}{acadian}
+\SetLanguageAliasValues{french}{variant}{canadian,acadian}
\def\french@fontsetup{%
@@ -15679,100 +15655,100 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\french@capsformat{%
% Change part heading
% With titlesec
- \ifcsdef{titleformat}{%
- \ifcsdef{NR@part}{% Hyperref (nameref)
- \let\xpg@save@part@format\NR@part%
- \patchcmd{\NR@part}%
- {\partname\nobreakspace\thepart}%
- {\xpg@french@part\nobreakspace\partname}%
- {}%
- {\xpg@warning{Failed to patch part for French}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
+ \@ifundefined{titleformat}{%
+ % With KOMA
+ \@ifundefined{sectionformat}{%
+ % With memoir
+ \@ifundefined{@memptsize}{% (not \ifdefined\@memptsize)
+ % With standard classes
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\xpg@french@part\nobreakspace\partname}%
+ {}%
+ {\@ifundefined{part}{}{\xpg@warning{Failed to patch part for French}}}%
+ }% (end \ifdefined \@part)
+ }{% Hyperref
+ \let\xpg@save@part@format\NR@part%
+ \patchcmd{\NR@part}%
{\partname\nobreakspace\thepart}%
{\xpg@french@part\nobreakspace\partname}%
{}%
{\xpg@warning{Failed to patch part for French}}%
- }{}%
- }%
- }{% (not \ifdefined\titleformat)
- % With KOMA
- \ifcsdef{sectionformat}{%
- \ifcsdef{partformat}{%
- \let\xpg@save@part@format\partformat%
- \renewcommand{\partformat}{\xpg@french@part~\partname}%
- }{}%
- }{% (not \ifdefined\sectionformat)
- % With memoir
- \ifcsdef{@memptsize}{%
- \ifcsdef{NR@part}{% Hyperref (nameref)
- \let\xpg@save@part@format\NR@part%
- \patchcmd{\NR@part}{\printpartname \partnamenum \printpartnum}%
- {\partnamefont\xpg@french@part\partnamenum\printpartname}%
- {}%
- {\xpg@warning{Failed to patch part for French}}%
- }{% not hyperref
- \ifcsdef{@part}{%
+ }% (end \ifdefined\NR@part)
+ }{%
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
\let\xpg@save@part@format\@part%
\patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
{\partnamefont\xpg@french@part\partnamenum\printpartname}%
{}%
{\xpg@warning{Failed to patch part for French}}%
- }{}%
- }%
- }{% (not \ifdefined\@memptsize)
- % With standard classes
- \ifcsdef{NR@part}{% Hyperref
+ }%
+ }{% Hyperref (nameref)
\let\xpg@save@part@format\NR@part%
- \patchcmd{\NR@part}%
+ \patchcmd{\NR@part}{\printpartname \partnamenum \printpartnum}%
+ {\partnamefont\xpg@french@part\partnamenum\printpartname}%
+ {}%
+ {\xpg@warning{Failed to patch part for French}}%
+ }%
+ }% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\sectionformat)
+ \@ifundefined{partformat}{}{%
+ \let\xpg@save@part@format\partformat%
+ \renewcommand{\partformat}{\xpg@french@part~\partname}%
+ }%
+ }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
{\partname\nobreakspace\thepart}%
{\xpg@french@part\nobreakspace\partname}%
{}%
{\xpg@warning{Failed to patch part for French}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
- {\partname\nobreakspace\thepart}%
- {\xpg@french@part\nobreakspace\partname}%
- {}%
- {\ifcsdef{part}{\xpg@warning{Failed to patch part for French}}{}}%
- }{}% (end \ifdefined \NR@part)
- }% (end \ifdefined\@part)
- }% (end \ifdefined\@memptsize)
- }% (end \ifdefined\sectionformat)
+ }%
+ }{% Hyperref (nameref)
+ \let\xpg@save@part@format\NR@part%
+ \patchcmd{\NR@part}%
+ {\partname\nobreakspace\thepart}%
+ {\xpg@french@part\nobreakspace\partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for French}}%
+ }%
}% (end \ifdefined\titleformat)
}
\def\nofrench@capsformat{%
% Reset chapter and part heading
- \ifcsdef{titleformat}{%
- % With titlesec
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{NR@part}{%
- \let\NR@part\xpg@save@part@format%
- }{%
- \let\@part\xpg@save@part@format%
- }%
- }{}%
- }{% (not \ifdefined\titleformat)
- \ifcsdef{sectionformat}{%
- % With KOMA
- \ifcsdef{xpg@save@part@format}{%
- \let\partformat\xpg@save@part@format
- }{}%
- }{%
+ \@ifundefined{titleformat}{%
+ \@ifundefined{sectionformat}{%
% With memoir and standard classes
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{NR@part}{%
- \let\NR@part\xpg@save@part@format%
- }{%
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{NR@part}{%
\let\@part\xpg@save@part@format%
+ }{%
+ \let\NR@part\xpg@save@part@format%
}%
- }{}%
+ }%
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@part@format}{}{%
+ \let\partformat\xpg@save@part@format
+ }%
}% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
+ % With titlesec
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{NR@part}{%
+ \let\@part\xpg@save@part@format%
+ }{%
+ \let\NR@part\xpg@save@part@format%
+ }%
+ }%
}% (end \ifdefined\titleformat)
}
@@ -15783,7 +15759,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\if@xpg@french@footnote@set%
\else%
\iffrench@frenchfootnote%
- \ifdefstring{\xpg@main@language}{french}{%
+ \IfMainLanguageTF{french}{%
\ifx\@makefntext\undefined\else%
\long\def\french@makefntext##1{%
\parindent1em \noindent\quad%
@@ -15807,7 +15783,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\if@xpg@french@itemlabels@set%
\else%
\iffrench@frenchitemlabels
- \ifdefstring{\xpg@main@language}{french}{%
+ \IfMainLanguageTF{french}{%
\renewcommand{\labelitemi}{\french@itemi}%
\renewcommand{\labelitemii}{\french@itemii}%
\renewcommand{\labelitemiii}{\french@itemiii}%
@@ -15882,13 +15858,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-friulan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-friulan.ldf}[polyglossia: module for Friulian]
% We only provide this gloss for babel compatibility.
-\xpg@load@master@language{friulian}
+\InheritGlossFile{friulian}
% \end{macrocode}
% \iffalse
@@ -15899,7 +15875,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-friulian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-friulian.ldf}[polyglossia: module for Friulian]
@@ -15953,7 +15929,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
Lui\or Avost\or Setembar\or Otobar\or Novembar\or Dicembar%
\fi\space dal\space\number\year}}
-\AtEndPreamble{% the user or the class might define different values
+\AddToHook{begindocument/before}{% the user or the class might define different values
\edef\xpgfu@savedvalues{%
\clubpenalty=\the\clubpenalty\space
\@clubpenalty=\the\@clubpenalty\space
@@ -15985,13 +15961,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fur.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-fur.ldf}[polyglossia: module for fur (Friulian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{friulian}
+\InheritGlossFile{friulian}
% \end{macrocode}
% \iffalse
@@ -16002,13 +15978,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ga.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ga.ldf}[polyglossia: module for ga (Gaelic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{gaelic}
+\InheritGlossFile{gaelic}
% \end{macrocode}
% \iffalse
@@ -16019,7 +15995,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-gaelic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-gaelic.ldf}[polyglossia: module for Gaelic]
@@ -16043,23 +16019,28 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias[variant=scottish]{gaelic}{scottish}
\def\gaelic@variant{irish}
-\define@choicekey*+{gaelic}{variant}[\xpg@val\xpg@nr]{irish,scottish}[irish]{%
- \ifcase\xpg@nr\relax
- % irish:
- \gdef\gaelic@variant{irish}%
- \SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish,bcp47=ga,bcp47-language=ga}%
- \xpg@fontsetup@latin{gaelic}%
- \or
- % scottish:
- \gdef\gaelic@variant{scottish}%
- \SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish,bcp47=gd,bcp47-language=gd}%
- \xpg@fontsetup@latin{gaelic}%
- \fi
- \xpg@info{Option: gaelic, variant=\xpg@val}%
-}{\xpg@warning{Unknown gaelic variant `#1'}}
+
+\DeclareKeys[polyglossia/gloss/gaelic]
+ {
+ variant.choice:,
+ variant / irish.code =
+ {%
+ \gdef\gaelic@variant{irish}%
+ \SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish,bcp47=ga,bcp47-language=ga}%
+ \SetupLatinPolyglossiaFont{gaelic}%
+ },
+ variant / scottish.code =
+ {%
+ \gdef\gaelic@variant{scottish}%
+ \SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish,bcp47=gd,bcp47-language=gd}%
+ \SetupLatinPolyglossiaFont{gaelic}%
+ },
+ variant.default:n = irish,
+ variant/unknown.code = \xpg@warning{Unknown gaelic variant `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{gaelic}{variant=irish}
+\InitializeGlossOptions{gaelic}{variant=irish}
\def\captionsgaelic@irish{%
\def\refname{Tagairtí}%
@@ -16149,7 +16130,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-galician.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-galician.ldf}[polyglossia: module for Galician]
\PolyglossiaSetup{galician}{
@@ -16206,13 +16187,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-gd.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-gd.ldf}[polyglossia: module for gd (Gaelic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{gaelic}
+\InheritGlossFile{gaelic}
% \end{macrocode}
% \iffalse
@@ -16223,7 +16204,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-georgian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-georgian.ldf}[polyglossia: module for Georgian]
@@ -16243,34 +16224,37 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias*{georgian}{ka}
\newif\ifgeorgian@numerals
-\define@key{georgian}{numerals}[arabic]{%
- \ifstrequal{#1}{georgian}%
- {\georgian@numeralstrue%
- \SetLanguageKeys{georgian}{bcp47-extension-u=nu-geor}%
- }%
- {\georgian@numeralsfalse%
- \SetLanguageKeys{georgian}{bcp47-extension-u=nu-latn}%
- }%
-}
-
-\define@boolkey{georgian}[georgian@]{babelshorthands}[true]{}
-\define@boolkey{georgian}[georgian@]{oldmonthnames}[true]{}
+\DeclareKeys[polyglossia/gloss/georgian]
+ {
+ babelshorthands.if = georgian@babelshorthands,
+ babelshorthands.default:n = true,
+ oldmonthnames.if = georgian@oldmonthnames,
+ oldmonthnames.default:n = true,
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \georgian@numeralsfalse
+ \SetLanguageKeys{georgian}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / georgian.code =
+ {%
+ \georgian@numeralstrue
+ \SetLanguageKeys{georgian}{bcp47-extension-u=nu-geor}%
+ },
+ numerals.default:n = arabic
+ }
% Register default options
-\xpg@initialize@gloss@options{georgian}{babelshorthands=false,oldmonthnames=false,numerals=arabic}
+\InitializeGlossOptions{georgian}{babelshorthands=false,oldmonthnames=false,numerals=arabic}
\ifsystem@babelshorthands
- \setkeys{georgian}{babelshorthands=true}
+ \SetGlossOptions{georgian}{babelshorthands=true}
\else
- \setkeys{georgian}{babelshorthands=false}
+ \SetGlossOptions{georgian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\georgian@shorthands{%
\xpg@activate@shorthands%
@@ -16471,7 +16455,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-german.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-german.ldf}[polyglossia: module for German]
@@ -16520,51 +16504,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@german@oldspelling
\@german@oldspellingfalse
-\define@choicekey*+{german}{spelling}[\xpg@val\xpg@nr]{new,old,1901,1996}[new]{%
- \ifcase\xpg@nr\relax
- % new:
- \@german@oldspellingfalse
- \or
- % old:
- \@german@oldspellingtrue
- \or
- % 1901:
- \@german@oldspellingtrue
- \or
- % 1996:
- \@german@oldspellingfalse
- \fi
- \german@set@babelname%
- \xpg@info{Option: German, spelling=\xpg@val}%
-}{\xpg@warning{Unknown German spelling `#1'}}
\newif\if@austrian@locale
\@austrian@localefalse
\newif\if@swiss@locale
\@swiss@localefalse
-\define@choicekey*+{german}{variant}[\xpg@val\xpg@nr]{german,austrian,swiss}[german]{%
- \ifcase\xpg@nr\relax
- % german:
- \@swiss@localefalse%
- \@austrian@localefalse%
- \or
- % austrian:
- \@austrian@localetrue%
- \@swiss@localefalse%
- \or
- % swiss:
- \@swiss@localetrue%
- \@austrian@localefalse%
- \xpg@ifdefined{swissgerman}{}%
- {%
- \xpg@warning{No hyphenation patterns were loaded for "Swiss German (Old Spelling)"\MessageBreak
- I will use the standard patterns for German (old spelling) instead}%
- \adddialect\l@swissgerman\l@german\relax%
- }%
- \fi
- \german@set@babelname%
- \xpg@info{Option: German, variant=\xpg@val}%
-}{\xpg@warning{Unknown German variant `#1'}}
\def\german@set@babelname{%
\if@german@oldspelling
@@ -16613,58 +16557,110 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\newif\if@german@blackletter
-\define@choicekey*+{german}{script}[\xpg@val\xpg@nr]{latin,blackletter,fraktur}[latin]{%
- \ifcase\xpg@nr\relax
- % latin:
- \@german@blackletterfalse%
- \or
- % blackletter:
- \@german@blacklettertrue%
- \or
- % fraktur:
- \@german@blacklettertrue%
- \fi
- \german@set@babelname%
- \xpg@info{Option: German, script=\xpg@val}%
-}{\xpg@warning{Unknown German script `#1'}}
-
-\define@boolkey{german}[german@]{capitaleszett}[true]{%
- \ifgerman@capitaleszett
- % MakeUppercase capitalizes the eszett (U+00DF) with U+1E9E
- \SetLanguageKeys{german}{bcp47-casing=de-x-eszett,bcp47-extension-x=eszett}
- \else
- % Capitalize eszett as <SS>
- \SetLanguageKeys{german}{bcp47-casing=de,bcp47-extension-x={}}
- \fi
-}
-
-
-% Option defunc'ed, as both XeTeX and LuaTeX meanwhile
-% use the experimental German hyphenation patterns by default.
-\define@boolkey{german}[german@]{latesthyphen}[true]{}
-\define@boolkey{german}[german@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/german]
+ {
+ babelshorthands.if = german@babelshorthands,
+ babelshorthands.default:n = true,
+ latesthyphen.if = german@latesthyphen,
+ latesthyphen.default:n = true,
+ capitaleszett.choice:,
+ capitaleszett / true.code =
+ {% MakeUppercase capitalizes the eszett (U+00DF) with U+1E9E
+ \SetLanguageKeys{german}{bcp47-casing=de-x-eszett,bcp47-extension-x=eszett}%
+ },
+ capitaleszett / false.code =
+ {% Capitalize eszett as <SS>
+ \SetLanguageKeys{german}{bcp47-casing=de,bcp47-extension-x={}}%
+ },
+ capitaleszett.default:n = true,
+ script.choice:,
+ script / latin.code =
+ {%
+ \@german@blackletterfalse
+ \german@set@babelname
+ },
+ script / blackletter.code =
+ {%
+ \@german@blacklettertrue
+ \german@set@babelname
+ },
+ script / fraktur.code =
+ {%
+ \@german@blacklettertrue
+ \german@set@babelname
+ },
+ script.default:n = latin,
+ script/unknown.code = \xpg@warning{Unknown German script `#1'},
+ spelling.choice:,
+ spelling / new.code =
+ {%
+ \@german@oldspellingfalse
+ \german@set@babelname
+ },
+ spelling / old.code =
+ {%
+ \@german@oldspellingtrue
+ \german@set@babelname
+ },
+ spelling / 1901.code =
+ {%
+ \@german@oldspellingtrue
+ \german@set@babelname
+ },
+ spelling / 1996.code =
+ {%
+ \@german@oldspellingfalse
+ \german@set@babelname
+ },
+ spelling.default:n = new,
+ spelling/unknown.code = \xpg@warning{Unknown German spelling `#1'},
+ variant.choice:,
+ variant / german.code =
+ {%
+ \@swiss@localefalse
+ \@austrian@localefalse
+ \german@set@babelname
+ },
+ variant / austrian.code =
+ {%
+ \@austrian@localetrue
+ \@swiss@localefalse
+ \german@set@babelname
+ },
+ variant / swiss.code =
+ {%
+ \@swiss@localetrue
+ \@austrian@localefalse
+ \IfLanguageDefinedF{swissgerman}
+ {%
+ \xpg@warning{No hyphenation patterns were loaded for "Swiss German (Old Spelling)"\MessageBreak
+ I will use the standard patterns for German (old spelling) instead}%
+ \adddialect\l@swissgerman\l@german\relax
+ }%
+ \german@set@babelname
+ },
+ variant.default:n = german,
+ variant/unknown.code = \xpg@warning{Unknown German variant `#1'}
+ }
+
-\setkeys{german}{spelling,script,variant}
+\SetGlossOptions{german}{spelling,script,variant}
% Register default options
-\xpg@initialize@gloss@options{german}{variant=german,spelling=new,script=latin,babelshorthands=false}
+\InitializeGlossOptions{german}{variant=german,spelling=new,script=latin,babelshorthands=false}
% Register alias options
-\xpg@set@alias@values{german}{spelling}{new}{1996}
-\xpg@set@alias@values{german}{spelling}{old}{1901}
-\xpg@set@alias@values{german}{script}{blackletter}{fraktur}
+\SetLanguageAliasValues{german}{spelling}{new,1996}
+\SetLanguageAliasValues{german}{spelling}{old,1901}
+\SetLanguageAliasValues{german}{script}{blackletter,fraktur}
\ifsystem@babelshorthands
- \setkeys{german}{babelshorthands=true}
+ \SetGlossOptions{german}{babelshorthands=true}
\else
- \setkeys{german}{babelshorthands=false}
+ \SetGlossOptions{german}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\german@shorthands{%
\xpg@activate@shorthands%
@@ -16786,15 +16782,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\german@language{%
\if@german@oldspelling
\if@swiss@locale
- \polyglossia@setup@language@patterns{swissgerman}%
+ \SetupPolyglossiaLangPatterns{swissgerman}%
\else
- \polyglossia@setup@language@patterns{german}%
+ \SetupPolyglossiaLangPatterns{german}%
\fi
\if@austrian@locale
\adddialect\l@austrian\l@german%
\fi
\else
- \polyglossia@setup@language@patterns{ngerman}%
+ \SetupPolyglossiaLangPatterns{ngerman}%
\if@austrian@locale
\adddialect\l@naustrian\l@ngerman%
\fi
@@ -16825,13 +16821,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-germanb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-germanb.ldf}[polyglossia: module for German (old spelling)]
% We provide this as a babel alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -16842,13 +16838,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-gl.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-gl.ldf}[polyglossia: module for gl (Galician)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{galician}
+\InheritGlossFile{galician}
% \end{macrocode}
% \iffalse
@@ -16859,13 +16855,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-grc.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-grc.ldf}[polyglossia: module for grc (Greek)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{greek}
+\InheritGlossFile{greek}
% \end{macrocode}
% \iffalse
@@ -16876,7 +16872,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-greek.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-greek.ldf}[polyglossia: module for Greek]
@@ -16900,7 +16896,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*[variant=ancient]{greek}{grc}
-\setlanguagealias*[varant=polytonic]{greek}{el-polyton}
+\setlanguagealias*[variant=polytonic]{greek}{el-polyton}
\setlanguagealias*[variant=monotonic]{greek}{el-monoton}
\setlanguagealias*{greek}{el}
@@ -16920,44 +16916,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@greek@ancient\@greek@ancientfalse
\newif\if@greek@poly\@greek@polyfalse
-\define@choicekey*+{greek}{variant}[\xpg@val\xpg@nr]{monotonic,mono,polytonic,poly,ancient,ancientgreek}[monotonic]{%
- \xpg@ifdefined{greek}{}{%
- \xpg@nopatterns{greek}%
- \adddialect\l@greek\l@nohyphenation
- }%
- \ifcase\xpg@nr\relax
- % monotonic:
- \@greek@polyfalse
- \@greek@ancientfalse
- \or
- % mono:
- \@greek@polyfalse
- \@greek@ancientfalse
- \or
- % polytonic:
- \@greek@polytrue
- \@greek@ancientfalse
- \or
- % poly:
- \@greek@polytrue
- \@greek@ancientfalse
- \or
- % ancient:
- \@greek@polyfalse
- \@greek@ancienttrue
- \or
- % ancientgreek:
- \@greek@polyfalse
- \@greek@ancienttrue
- \fi
- \greek@set@langdata
- \xpg@info{Option: Greek, variant=\xpg@val}%
-}{\xpg@warning{Unknown Greek variant `#1'}}
-
-
\def\greek@set@langdata{%
\if@greek@ancient
- \xpg@ifdefined{ancientgreek}{}%
+ \IfLanguageDefinedF{ancientgreek}%
{\xpg@warning{No hyphenation patterns were loaded for Ancient Greek\MessageBreak
I will use the patterns loaded for \string\l@greek\space instead}%
\adddialect\l@ancientgreek\l@greek\relax}%
@@ -16967,7 +16928,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\SetLanguageKeys{greek}{babelname=greek,bcp47=grc,bcp47-language=grc,bcp47-variant={}}%
\else
\if@greek@poly
- \xpg@ifdefined{polygreek}{}%
+ \IfLanguageDefinedF{polygreek}%
{\xpg@warning{No hyphenation patterns were loaded for Polytonic Greek\MessageBreak
I will use the patterns loaded for \string\l@greek\space instead}%
\adddialect\l@polygreek\l@greek\relax}%
@@ -16976,7 +16937,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\dategreek{\datepolygreek}%
\SetLanguageKeys{greek}{babelname=polutonikogreek,bcp47=el-polyton,bcp47-language=el,bcp47-variant=polyton}%
\else% monotonic greek
- \xpg@ifdefined{monogreek}{}%
+ \IfLanguageDefinedF{monogreek}%
{\xpg@warning{No hyphenation patterns were loaded for Monotonic Greek\MessageBreak
I will use the patterns loaded for \string\l@greek\space instead}%
\adddialect\l@monogreek\l@greek\relax}%
@@ -16990,42 +16951,85 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\greek@language{%
- \polyglossia@setup@language@patterns{\greek@variant}%
+ \SetupPolyglossiaLangPatterns{\greek@variant}%
}
\newif\if@greek@numerals
-\define@choicekey*+{greek}{numerals}[\xpg@val\xpg@nr]{greek,arabic}[greek]{%
- \ifcase\xpg@nr\relax
- % greek:
- \@greek@numeralstrue%
- \SetLanguageKeys{greek}{bcp47-extension-u=nu-grek}%
- \or
- % arabic:
- \@greek@numeralsfalse%
- \SetLanguageKeys{greek}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Greek, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Greek numerals value `#1'}}
-
-\define@boolkey{greek}[greek@]{capitaliota}[true]{%
- \ifgreek@capitaliota
- % \MakeUppercase converts the ypogegrammeni (subscript muted iota) to capital iota
- \SetLanguageKeys{greek}{bcp47-casing=el-x-iota,bcp47-extension-x=iota}
- \else
- % \MakeUppercase retains the subscript versions (default)
- \SetLanguageKeys{greek}{bcp47-casing=el,bcp47-extension-x={}}
- \fi
-}
-
-\define@boolkey{greek}{attic}[true]{\xpg@warning{Greek option `attic' is no longer required.}}
+\DeclareKeys[polyglossia/gloss/greek]
+ {
+ variant.choices:nn = { monotonic, mono,polytonic, poly,ancient, ancientgreek }
+ {%
+ \CheckHyphenationPatterns{greek}%
+ \ifcase\UseName{l_keys_choice_int}\or
+ % monotonic:
+ \@greek@polyfalse
+ \@greek@ancientfalse
+ \or
+ % mono:
+ \@greek@polyfalse
+ \@greek@ancientfalse
+ \or
+ % polytonic:
+ \@greek@polytrue
+ \@greek@ancientfalse
+ \or
+ % poly:
+ \@greek@polytrue
+ \@greek@ancientfalse
+ \or
+ % ancient:
+ \@greek@polyfalse
+ \@greek@ancienttrue
+ \or
+ % ancientgreek:
+ \@greek@polyfalse
+ \@greek@ancienttrue
+ \fi
+ \greek@set@langdata
+ },
+ variant.default:n = monotonic,
+ variant/unknown.code = \xpg@warning{Unknown Greek variant `#1'},
+ numerals.choice:,
+ numerals / greek.code =
+ {%
+ \@greek@numeralstrue
+ \SetLanguageKeys{greek}{bcp47-extension-u=nu-grek}%
+ },
+ numerals / arabic.code =
+ {%
+ \@greek@numeralsfalse
+ \SetLanguageKeys{greek}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = greek,
+ numerals/unknown.code = \xpg@warning{Unknown Greek numerals value `#1'},
+ capitaliota.choice:,
+ capitaliota / true.code =
+ {%
+ \@greek@capitaliotatrue
+ % \MakeUppercase converts the ypogegrammeni (subscript muted iota) to capital iota
+ \SetLanguageKeys{greek}{bcp47-casing=el-x-iota,bcp47-extension-x=iota}%
+ },
+ capitaliota / false.code =
+ {%
+ \@greek@capitaliotafalse
+ % \MakeUppercase retains the subscript versions (default)
+ \SetLanguageKeys{greek}{bcp47-casing=el,bcp47-extension-x={}}%
+ },
+ capitaliota.default:n = true,
+ attic.choices:nn = { true, false }
+ {%
+ \xpg@warning{Greek option `attic' is no longer required.}
+ },
+ capitaliota.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{greek}{variant=monotonic,numerals=greek}
+\InitializeGlossOptions{greek}{variant=monotonic,numerals=greek}
% Register alias options
-\xpg@set@alias@values{greek}{variant}{monotonic}{mono}
-\xpg@set@alias@values{greek}{variant}{polytonic}{poly}
+\SetLanguageAliasValues{greek}{variant}{monotonic,mono}
+\SetLanguageAliasValues{greek}{variant}{polytonic,poly}
\def\monogreekcaptions{%
\def\refname{Αναφορές}%
@@ -17344,13 +17348,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-he.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-he.ldf}[polyglossia: module for he (Hebrew)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{hebrew}
+\InheritGlossFile{hebrew}
% \end{macrocode}
% \iffalse
@@ -17361,7 +17365,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hebrew.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hebrew.ldf}[polyglossia: module for Hebrew]
@@ -17387,41 +17391,48 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{hebrew}{he}
-% hebrewcal options
-\define@key{hebrew}{marcheshvan}[true]{\setkeys{hebrewcal}{marcheshvan=#1}}
-\define@key{hebrew}{transliteration}[alt]{\setkeys{hebrewcal}{transliteration=#1}}
-\define@key{hebrew}{fullyear}[true]{\setkeys{hebrewcal}{fullyear=#1}}
-
\newif\if@calendar@hebrew
-\define@choicekey*+{hebrew}{calendar}[\xpg@val\xpg@nr]{hebrew,gregorian}[gregorian]{%
- \ifcase\xpg@nr\relax
- % hebrew:
- \@calendar@hebrewtrue
- \or
- % gregorian:
- \@calendar@hebrewfalse
- \fi
- \xpg@info{Option: Hebrew, calendar=\xpg@val}%
-}{\xpg@warning{Unknown Hebrew calendar `#1'}}
-
\newif\if@hebrew@numerals
-\define@choicekey*+{hebrew}{numerals}[\xpg@val\xpg@nr]{hebrew,arabic}[arabic]{%
- \ifcase\xpg@nr\relax
- % hebrew:
- \@hebrew@numeralstrue
- \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-hebr}%
- \or
- % arabic:
- \@hebrew@numeralsfalse
- \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Hebrew, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Hebrew numerals value `#1'}}
-\setkeys{hebrew}{numerals}
+\DeclareKeys[polyglossia/gloss/hebrew]
+ {
+ marcheshvan.code = \setkeys{hebrewcal}{marcheshvan=#1},
+ marcheshvan.default:n = true,
+ transliteration.code = \setkeys{hebrewcal}{transliteration=#1},
+ transliteration.default:n = alt,
+ fullyear.code = \setkeys{hebrewcal}{fullyear=#1},
+ fullyear.default:n = true,
+ calendar.choice:,
+ calendar / hebrew.code =
+ {%
+ \@calendar@hebrewtrue
+ },
+ calendar / gregorian.code =
+ {%
+ \@calendar@hebrewfalse
+ },
+ calendar.default:n = gregorian,
+ calendar/unknown.code = \xpg@warning{Unknown Hebrew calendar `#1'},
+ numerals.choice:,
+ numerals / hebrew.code =
+ {%
+ \@hebrew@numeralstrue
+ \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-hebr}%
+ },
+ numerals / arabic.code =
+ {%
+ \@hebrew@numeralsfalse
+ \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Hebrew numerals value `#1'}
+ }
+
+
+\SetGlossOptions{hebrew}{numerals}
% Register default options
-\xpg@initialize@gloss@options{hebrew}{numerals=arabic,calendar=gregorian,marcheshvan=false,fullyear=false}
+\InitializeGlossOptions{hebrew}{numerals=arabic,calendar=gregorian,marcheshvan=false,fullyear=false}
\def\captionshebrew{%
\def\prefacename{מבוא}%
@@ -17535,13 +17546,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hi.ldf}[polyglossia: module for hi (Hindi)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{hindi}
+\InheritGlossFile{hindi}
% \end{macrocode}
% \iffalse
@@ -17552,7 +17563,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hindi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% UTF-8 strings kindly provided by Zdenĕk Wagner, 10-03-2008
% with corrections and additional contributions by Anshuman Pandey
@@ -17579,8 +17590,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifx\l@hindi\@undefined%
\ifx\l@sanskrit\@undefined%
- \xpg@nopatterns{Hindi}%
- \adddialect\l@hindi\l@nohyphenation%
+ \XPGNoPatternsFallback{hindi}%
\else
\xpg@warning{No hyphenation patterns were loaded for Hindi\MessageBreak
I will use the patterns for Sanskrit instead}
@@ -17589,26 +17599,31 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\fi
\def\hindi@language{%
- \polyglossia@setup@language@patterns{hindi}%
+ \SetupPolyglossiaLangPatterns{hindi}%
}
\newif\ifhindi@devanagari@numerals
\hindi@devanagari@numeralstrue
-\define@choicekey*+{hindi}{numerals}[\xpg@val\xpg@nr]{Devanagari,Western}[Devanagari]{%
- \ifcase\xpg@nr\relax
- % Devanagari:
- \hindi@devanagari@numeralstrue%
- \SetLanguageKeys{hindi}{bcp47-extension-u=nu-deva}%
- \or
- % Western:
- \hindi@devanagari@numeralsfalse%
- \SetLanguageKeys{hindi}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Hindi, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Hindi numeral `#1'}}
+
+\DeclareKeys[polyglossia/gloss/hindi]
+ {
+ numerals.choice:,
+ numerals / devanagari.code =
+ {%
+ \hindi@devanagari@numeralstrue
+ \SetLanguageKeys{hindi}{bcp47-extension-u=nu-deva}%
+ },
+ numerals / western.code =
+ {%
+ \hindi@devanagari@numeralsfalse
+ \SetLanguageKeys{hindi}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = devanagari,
+ numerals/unknown.code = \xpg@warning{Unknown Hindi numeral `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{hindi}{numerals=devanagari}
+\InitializeGlossOptions{hindi}{numerals=devanagari}
\newcommand{\hindinumerals}[2]{\hindinumber{#2}}
@@ -17628,6 +17643,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\contentsname{विषय सूची}%
\def\enclname{}%
\def\figurename{चित्र}% रेखाचित्र
+ \def\glossaryname{शब्दार्थ सूची}%
\def\headpagename{पृष्ठ}%
\def\headtoname{}%
\def\indexname{सूची}%
@@ -17639,6 +17655,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\pagename{पृष्ठ}%
\def\partname{खण्ड}%
\def\prefacename{प्रस्तावना}% प्राक्कथन
+ \def\proofname{प्रमाण}%
\def\refname{हवाले}%
\def\tablename{तालिका}%
\def\seename{देखिए}%
@@ -17671,13 +17688,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hr.ldf}[polyglossia: module for hr (Croatian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{croatian}
+\InheritGlossFile{croatian}
% \end{macrocode}
% \iffalse
@@ -17688,13 +17705,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hsb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hsb.ldf}[polyglossia: module for hsb (Higher Sorbian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{sorbian}
+\InheritGlossFile{sorbian}
% \end{macrocode}
% \iffalse
@@ -17705,13 +17722,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hu.ldf}[polyglossia: module for hu (Hungarian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{hungarian}
+\InheritGlossFile{hungarian}
% \end{macrocode}
% \iffalse
@@ -17722,7 +17739,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hungarian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hungarian.ldf}[polyglossia: module for Hungarian]
@@ -17749,53 +17766,61 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@hungarian@swapcaptions
\newif\if@hungarian@swapheadings
\newif\if@hungarian@swapheaders
-\define@choicekey*+{hungarian}{swapstrings}[\xpg@val\xpg@nr]{all,captions,headings,headers,hheaders,none}[all]{%
- \ifcase\xpg@nr\relax
- % all:
- \@hungarian@swapcaptionstrue%
- \@hungarian@swapheadingstrue%
- \@hungarian@swapheaderstrue%
- \or
- % captions:
- \@hungarian@swapcaptionstrue%
- \@hungarian@swapheadingsfalse%
- \@hungarian@swapheadersfalse%
- \or
- % headings:
- \@hungarian@swapcaptionsfalse%
- \@hungarian@swapheadingstrue%
- \@hungarian@swapheadersfalse%
- \or
- % headers:
- \@hungarian@swapcaptionsfalse%
- \@hungarian@swapheadingsfalse%
- \@hungarian@swapheaderstrue%
- \or
- % hheaders:
- \@hungarian@swapcaptionsfalse%
- \@hungarian@swapheadingstrue%
- \@hungarian@swapheaderstrue%
- \or
- % none:
- \@hungarian@swapcaptionsfalse%
- \@hungarian@swapheadingsfalse%
- \@hungarian@swapheadersfalse%
- \fi
- \xpg@info{Option: Hungarian, swapstrings=\xpg@val}%
-}{\xpg@warning{Unknown Hungarian swapstrings value `#1'}}
-% Force punctuation: 1) after section type counters; 2) after @chapapp in the running head
-\define@boolkey{hungarian}[hungarian@]{forceheadingpunctuation}[true]{}
+\DeclareKeys[polyglossia/gloss/hungarian]
+ {
+ forceheadingpunctuation.if = hungarian@forceheadingpunctuation,
+ forceheadingpunctuation.default:n = true,
+ swapstrings.choice:,
+ swapstrings / all.code =
+ {%
+ \@hungarian@swapcaptionstrue
+ \@hungarian@swapheadingstrue
+ \@hungarian@swapheaderstrue
+ },
+ swapstrings / captions.code =
+ {%
+ \@hungarian@swapcaptionstrue
+ \@hungarian@swapheadingsfalse
+ \@hungarian@swapheadersfalse
+ },
+ swapstrings / headings.code =
+ {%
+ \@hungarian@swapcaptionsfalse
+ \@hungarian@swapheadingstrue
+ \@hungarian@swapheadersfalse
+ },
+ swapstrings / headers.code =
+ {%
+ \@hungarian@swapcaptionsfalse
+ \@hungarian@swapheadingsfalse
+ \@hungarian@swapheaderstrue
+ },
+ swapstrings / hheaders.code =
+ {%
+ \@hungarian@swapcaptionsfalse
+ \@hungarian@swapheadingstrue
+ \@hungarian@swapheaderstrue
+ },
+ swapstrings / none.code =
+ {%
+ \@hungarian@swapcaptionsfalse
+ \@hungarian@swapheadingsfalse
+ \@hungarian@swapheadersfalse
+ },
+ swapstrings.default:n = all,
+ swapstrings/unknown.code = \xpg@warning{Unknown Hungarian swapstrings value `#1'}
+ }
% Register default options
% forceheadinpunctuatin is recommended, but the default value is false for compatibility reasons
-\xpg@initialize@gloss@options{hungarian}{swapstrings=all,
+\InitializeGlossOptions{hungarian}{swapstrings=all,
forceheadingpunctuation=false}
\def\hungarian@language{%
- \polyglossia@setup@language@patterns{hungarian}%
- \xpg@ifdefined{hungarian}{\adddialect\l@magyar\l@hungarian}{}%
+ \SetupPolyglossiaLangPatterns{hungarian}%
+ \IfLanguageDefinedT{hungarian}{\adddialect\l@magyar\l@hungarian}%
}%
\def\captionshungarian{%
@@ -17867,120 +17892,104 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% change chapter and part headings
\if@hungarian@swapheadings
% With titlesec
- \ifcsdef{titleformat}{%
- \ifcsdef{NR@part}{% Hyperref (nameref)
- \let\xpg@save@part@format\NR@part%
- \patchcmd{\NR@part}%
- {\partname\nobreakspace\thepart}%
- {\thepart.\nobreakspace\partname}%
- {}%
- {\xpg@warning{Failed to patch part for Hungarian}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
- {\partname\nobreakspace\thepart}%
- {\thepart.\nobreakspace\partname}%
- {}%
- {\xpg@warning{Failed to patch part for Hungarian}}%
- }{}%
- }
- \ifcsdef{chapter}{%
- \titleformat\chapter[display]%
- {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
- {\thechapter.\space\@chapapp}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
- }{}%
- }{% (not \ifdefined\titleformat)
+ \@ifundefined{titleformat}{%
% With KOMA
- \ifcsdef{sectionformat}{%
- \ifcsdef{partformat}{%
- \let\xpg@save@part@format\partformat%
- \renewcommand{\partformat}{\thepart.~\partname}%
- }{}%
- \ifcsdef{chapterformat}{%
- \let\xpg@save@chap@format\chapterformat%
- \renewcommand{\chapterformat}{\mbox{\thechapter\autodot%
- \IfUsePrefixLine{\nobreakspace\chapapp}{\enskip}}}%
- }{}%
- }{% (not \ifdefined\sectionformat)
- % With memoir
- \ifcsdef{@memptsize}{%
- \ifcsdef{@makechapterhead}{%
- \let\xpg@save@chap@format\@makechapterhead%
- \patchcmd{\@makechapterhead}{\printchaptername \chapternamenum \printchapternum}%
- {\printchapternum.\chapternamenum\printchaptername}%
- {}%
- {\xpg@warning{Failed to patch chapter for Hungarian}}%
- }{}%
- \ifcsdef{NR@part}{% Hyperref (nameref)
- \let\xpg@save@part@format\NR@part%
- \patchcmd{\NR@part}{\printpartname \partnamenum \printpartnum}%
- {\printpartnum.\partnamenum\printpartname}%
- {}%
- {\xpg@warning{Failed to patch part for Hungarian}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
- {\printpartnum.\partnamenum\printpartname}%
- {}%
- {\xpg@warning{Failed to patch part for Hungarian}}%
- }{}%
- }%
- }{% (not \ifdefined\@memptsize)
+ \@ifundefined{sectionformat}{%
+ % Memoir?
+ \@ifundefined{@memptsize}{%
% With standard classes
- \ifcsdef{@makechapterhead}{%
+ \@ifundefined{@makechapterhead}{}{%
\let\xpg@save@chap@format\@makechapterhead%
\patchcmd{\@makechapterhead}%
{\@chapapp\space \thechapter}%
{\thechapter.\space \@chapapp}%
{}%
{\xpg@warning{Failed to patch chapter for Hungarian}}%
- }{}%
- \ifcsdef{NR@part}{% Hyperref (nameref)
+ }%
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\thepart.\nobreakspace\partname}%
+ {}%
+ {\@ifundefined{part}{}{\xpg@warning{Failed to patch part for Hungarian}}}%
+ }% (end \ifdefined\@part)
+ }{% Hyperref (nameref)
\let\xpg@save@part@format\NR@part%
\patchcmd{\NR@part}%
{\partname\nobreakspace\thepart}%
{\thepart.\nobreakspace\partname}%
{}%
{\xpg@warning{Failed to patch part for Hungarian}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
- {\partname\nobreakspace\thepart}%
- {\thepart.\nobreakspace\partname}%
- {}%
- {\ifcsdef{part}{\xpg@warning{Failed to patch part for Hungarian}}{}}%
- }{}% (end \ifdefined\@part)
}% (end not hyperref)
- }% (end \ifdefined\@memptsize)
- }% (end \ifdefined\sectionformat)
+ }{% with memoir (\ifdefined\@memptsize)
+ \@ifundefined{@makechapterhead}{}{%
+ \let\xpg@save@chap@format\@makechapterhead%
+ \patchcmd{\@makechapterhead}{\printchaptername \chapternamenum \printchapternum}%
+ {\printchapternum.\chapternamenum\printchaptername}%
+ {}%
+ {\xpg@warning{Failed to patch chapter for Hungarian}}%
+ }%
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
+ {\printpartnum.\partnamenum\printpartname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Hungarian}}%
+ }%
+ }{% Hyperref (nameref)
+ \let\xpg@save@part@format\NR@part%
+ \patchcmd{\NR@part}{\printpartname \partnamenum \printpartnum}%
+ {\printpartnum.\partnamenum\printpartname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Hungarian}}%
+ }%
+ }% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\sectionformat)
+ \@ifundefined{partformat}{}{%
+ \let\xpg@save@part@format\partformat%
+ \renewcommand{\partformat}{\thepart.~\partname}%
+ }%
+ \@ifundefined{chapterformat}{}{%
+ \let\xpg@save@chap@format\chapterformat%
+ \renewcommand{\chapterformat}{\mbox{\thechapter\autodot%
+ \IfUsePrefixLine{\nobreakspace\chapapp}{\enskip}}}%
+ }%
+ }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\thepart.\nobreakspace\partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Hungarian}}%
+ }%
+ }{% Hyperref (nameref)
+ \let\xpg@save@part@format\NR@part%
+ \patchcmd{\NR@part}%
+ {\partname\nobreakspace\thepart}%
+ {\thepart.\nobreakspace\partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Hungarian}}%
+ }%
+ \@ifundefined{chapter}{}{%
+ \titleformat\chapter[display]%
+ {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
+ {\thechapter.\space\@chapapp}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
+ }%
}% (end \ifdefined\titleformat)
\fi% (end \if@hungarian@swapheadings)
%
% Change running headers
\if@hungarian@swapheaders
- \ifcsdef{chapterformat}{%
- % With KOMA
- \let\xpg@save@chaptermark@format\chaptermarkformat%
- \renewcommand*\chaptermarkformat{%
- \thechapter\autodot\ \IfChapterUsesPrefixLine{\chapapp\@hungarian@forced@dot\enskip}{}}
- }{% (not \ifdefined\chapterformat)
- \ifcsdef{@memptsize}{%
- % With memoir
- \let\xpg@save@chaptermark@format\chaptermark%
- \renewcommand*\chaptermark[1]{%
- \markboth{\memUChead{%
- \ifnum \c@secnumdepth >\m@ne
- \ifbool{@mainmatter}{%
- \thechapter.\ \@chapapp\@hungarian@forced@dot\ %
- }{}%
- \fi
- ##1}}{}}%
- }{% (not \ifdefined\@memptsize)
+ \@ifundefined{chapterformat}{%
+ \@ifundefined{@memptsize}{%
% With standard classes
- \ifcsdef{chaptermark}{%
+ \@ifundefined{chaptermark}{}{%
\ifpatchable{\chaptermark}%
{\@chapapp\ \thechapter.}%
{\let\xpg@save@chaptermark@format\chaptermark%
@@ -17990,8 +17999,24 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
{}%
{\xpg@warning{Failed to patch chaptermark for Hungarian}}}%
{}%
- }{}% (end \ifdefined\chaptermark)
+ }% (end \ifdefined\chaptermark)
+ }{% (\ifdefined\@memptsize)
+ % With memoir
+ \let\xpg@save@chaptermark@format\chaptermark%
+ \renewcommand*\chaptermark[1]{%
+ \markboth{\memUChead{%
+ \ifnum \c@secnumdepth >\m@ne
+ \ifbool{@mainmatter}{%
+ \thechapter.\ \@chapapp\@hungarian@forced@dot\ %
+ }{}%
+ \fi
+ ##1}}{}}%
}% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\chapterformat)
+ % With KOMA
+ \let\xpg@save@chaptermark@format\chaptermarkformat%
+ \renewcommand*\chaptermarkformat{%
+ \thechapter\autodot\ \IfChapterUsesPrefixLine{\chapapp\@hungarian@forced@dot\enskip}{}}
}% (end \ifdefined\chapterformat)
\fi% (end \if@hungarian@swapheaders)
}
@@ -18003,58 +18028,58 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\fnum@figure\xpg@save@fnum@figure%
%
% Reset chapter and part heading
- \ifcsdef{titleformat}{%
+ \@ifundefined{titleformat}{%
+ \@ifundefined{sectionformat}{%
+ % With memoir and standard classes
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{NR@part}{%
+ \let\@part\xpg@save@part@format%
+ }{%
+ \let\NR@part\xpg@save@part@format%
+ }%
+ }%
+ \@ifundefined{xpg@save@chap@format}{}{%
+ \let\@makechapterhead\xpg@save@chap@format
+ }%
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@part@format}{}{%
+ \let\partformat\xpg@save@part@format
+ }%
+ \@ifundefined{xpg@save@chap@format}{}{%
+ \let\chapterformat\xpg@save@chap@format
+ }%
+ }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
% With titlesec
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{NR@part}{%
- \let\NR@part\xpg@save@part@format%
- }{%
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{NR@part}{%
\let\@part\xpg@save@part@format%
+ }{%
+ \let\NR@part\xpg@save@part@format%
}%
- }{}%
- \ifcsdef{chapter}{%
+ }%
+ \@ifundefined{chapter}{}{%
\titleformat\chapter[display]%
{\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
{\@chapapp\space\thechapter}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
- }{}%
- }{% (not \ifdefined\titleformat)
- \ifcsdef{sectionformat}{%
- % With KOMA
- \ifcsdef{xpg@save@part@format}{%
- \let\partformat\xpg@save@part@format
- }{}%
- \ifcsdef{xpg@save@chap@format}{%
- \let\chapterformat\xpg@save@chap@format
- }{}%
- }{%
- % With memoir and standard classes
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{NR@part}{%
- \let\NR@part\xpg@save@part@format%
- }{%
- \let\@part\xpg@save@part@format%
- }%
- }{}%
- \ifcsdef{xpg@save@chap@format}{%
- \let\@makechapterhead\xpg@save@chap@format
- }{}%
- }% (end \ifdefined\sectionformat)
+ }%
}% (end \ifdefined\titleformat)
%
% Reset headers
- \ifcsdef{chaptermarkformat}{%
- % With KOMA
- \ifcsdef{xpg@save@chaptermark@format}{%
- \let\chaptermarkformat\xpg@save@chaptermark@format%
- }{}%
- }{%
- \ifcsdef{chaptermark}{%
+ \@ifundefined{chaptermarkformat}{%
+ \@ifundefined{chaptermark}{}{%
% With memoir and standard classes
- \ifcsdef{xpg@save@chaptermark@format}{%
+ \@ifundefined{xpg@save@chaptermark@format}{}{%
\let\chaptermark\xpg@save@chaptermark@format%
- }{}%
- }{}% (end \ifdefined\chaptermark)
- }% (end \ifdefined\chapterformat)
+ }%
+ }% (end \ifdefined\chaptermark)
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@chaptermark@format}{}{%
+ \let\chaptermarkformat\xpg@save@chaptermark@format%
+ }%
+ }% (end \ifdefined\chaptermarkformat)
}
% Hungarian needs 1) trailing dots in chapter headings; 2) trailing dot in section, subsection, etc, counters
\def\@hungarian@forced@dot{}
@@ -18121,13 +18146,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hy.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-hy.ldf}[polyglossia: module for hy (Armenian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{armenian}
+\InheritGlossFile{armenian}
% \end{macrocode}
% \iffalse
@@ -18138,13 +18163,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ia.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ia.ldf}[polyglossia: module for ia (Interlingua)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{interlingua}
+\InheritGlossFile{interlingua}
% \end{macrocode}
% \iffalse
@@ -18155,7 +18180,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-icelandic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for Icelandic]
\PolyglossiaSetup{icelandic}{
@@ -18213,13 +18238,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-id.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-id.ldf}[polyglossia: module for id (Malay)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{malay}
+\InheritGlossFile{malay}
% \end{macrocode}
% \iffalse
@@ -18230,7 +18255,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-interlingua.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for Interlingua]
\PolyglossiaSetup{interlingua}{
@@ -18288,14 +18313,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-irish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-irish.ldf}[polyglossia: module for Irish]
% We only provide this gloss for babel compatibility. Since irish is
% a gaelic variety, we use 'gaelic' with variant 'irish' now.
-\xpg@load@master@language{gaelic}
+\InheritGlossFile{gaelic}
% \end{macrocode}
% \iffalse
@@ -18306,13 +18331,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-is.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-is.ldf}[polyglossia: module for is (Icelandic)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{icelandic}
+\InheritGlossFile{icelandic}
% \end{macrocode}
% \iffalse
@@ -18323,13 +18348,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-it.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-it.ldf}[polyglossia: module for it (Italian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{italian}
+\InheritGlossFile{italian}
% \end{macrocode}
% \iffalse
@@ -18341,7 +18366,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \subsection{gloss-italian.ldf}
% \begin{macrocode}
% !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-italian.ldf}[polyglossia: module for Italian]
\PolyglossiaSetup{italian}{
@@ -18360,24 +18385,22 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{italian}{it}
-
-%%% CHANGES START %%% by Enrico Gregorio
-\define@boolkey{italian}[italian@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/italian]
+ {
+ babelshorthands.if = italian@babelshorthands,
+ babelshorthands.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{italian}{babelshorthands=false}
+\InitializeGlossOptions{italian}{babelshorthands=false}
\ifsystem@babelshorthands
- \setkeys{italian}{babelshorthands=true}
+ \SetGlossOptions{italian}{babelshorthands=true}
\else
- \setkeys{italian}{babelshorthands=false}
+ \SetGlossOptions{italian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\italian@shorthands{%
\xpg@activate@shorthands%
@@ -18457,7 +18480,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%%% CHANGES START %%% by Enrico Gregorio
\let\xpgit@savedvalues\empty
-\AtEndPreamble{% the user or the class might define different values
+\AddToHook{begindocument/before}{% the user or the class might define different values
\edef\xpgit@savedvalues{%
\clubpenalty=\the\clubpenalty\space
\@clubpenalty=\the\@clubpenalty\space
@@ -18493,13 +18516,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ja.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ja.ldf}[polyglossia: module for ja (Japanese)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{japanese}
+\InheritGlossFile{japanese}
% \end{macrocode}
% \iffalse
@@ -18510,7 +18533,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-japanese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-japanese.ldf}[polyglossia: module for Japanese]
@@ -18749,13 +18772,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ka.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ka.ldf}[polyglossia: module for ka (Georgian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{georgian}
+\InheritGlossFile{georgian}
% \end{macrocode}
% \iffalse
@@ -18767,7 +18790,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \subsection{gloss-kannada.ldf}
% \begin{macrocode}
%% gloss-kannada.ldf
-%% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+%% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%%
%% Copyright 2011 Aravinda VK <hallimanearavind AT gmail.com>,
%% Shankar Prasad <prasad.mvs AT gmail.com>,
@@ -18821,12 +18844,20 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\tmp@western{Western}
\newif\ifkannada@numerals
\kannada@numeralstrue
-
-\define@key{kannada}{numerals}[Kannada]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@western
- \kannada@numeralsfalse
- \fi}
+
+\DeclareKeys[polyglossia/gloss/kannada]
+ {
+ numerals.choice:,
+ numerals / kannada.code =
+ {%
+ \kannada@numeralstrue
+ },
+ numerals / western.code =
+ {%
+ \kannada@numeralsfalse
+ },
+ numerals.default:n = kannada
+ }
\def\captionskannada{%
@@ -18890,7 +18921,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-khmer.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-khmer.ldf}[polyglossia: module for Khmer]
\PolyglossiaSetup{khmer}{
@@ -18911,18 +18942,24 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@khmer@numerals
\def\tmp@khmer{khmer}
-\define@key{khmer}{numerals}[arabic]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@khmer%
- \@khmer@numeralstrue%
- \SetLanguageKeys{khmer}{bcp47-extension-u=nu-khmr}%
- \else%
- \@khmer@numeralsfalse%
- \SetLanguageKeys{khmer}{bcp47-extension-u=nu-latn}%
- \fi%
-}
-\setkeys{khmer}{numerals}
+\DeclareKeys[polyglossia/gloss/khmer]
+ {
+ numerals.choice:,
+ numerals / khmer.code =
+ {%
+ \@khmer@numeralstrue
+ \SetLanguageKeys{khmer}{bcp47-extension-u=nu-khmr}%
+ },
+ numerals / arabic.code =
+ {%
+ \@khmer@numeralsfalse
+ \SetLanguageKeys{khmer}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = arabic
+ }
+
+\SetGlossOptions{khmer}{numerals}
\def\captionskhmer{%
\def\prefacename{អារម្ភកថា}%
@@ -19073,13 +19110,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-km.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-km.ldf}[polyglossia: module for km (Khmer)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{khmer}
+\InheritGlossFile{khmer}
% \end{macrocode}
% \iffalse
@@ -19090,13 +19127,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kmr-Arab.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-kmr-Arab.ldf}[polyglossia: module for kmr-Arab (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
% \end{macrocode}
% \iffalse
@@ -19107,13 +19144,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kmr-Latn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-kmr-Latn.ldf}[polyglossia: module for kmr-Latn (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
% \end{macrocode}
% \iffalse
@@ -19124,13 +19161,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kmr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-kmr.ldf}[polyglossia: module for kmr (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
% \end{macrocode}
% \iffalse
@@ -19141,13 +19178,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-kn.ldf}[polyglossia: module for kn (Kannada)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kannada}
+\InheritGlossFile{kannada}
% \end{macrocode}
% \iffalse
@@ -19158,13 +19195,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ko.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ko.ldf}[polyglossia: module for ko (Korean)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{korean}
+\InheritGlossFile{korean}
% \end{macrocode}
% \iffalse
@@ -19175,7 +19212,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-korean.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-korean.ldf}[polyglossia: module for Korean]
@@ -19195,40 +19232,48 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{korean}{ko}
-% variant : plain (0), classic (1), or modern (2)
-\define@choicekey{korean}{variant}[\xpg@val\xpg@nr]{plain,classic,modern}[plain]{%
- \let\xpg@korean@variant\xpg@nr
-}
-% captions : hangul (0) or hanja (1)
-\define@choicekey{korean}{captions}[\xpg@val\xpg@nr]{hangul,hanja}[hangul]{%
- \let\xpg@korean@captions\xpg@nr
-}
-% swapstrings: all (0), headings (1), headers (2), or none (3)
\newif\if@korean@swapheadings
\newif\if@korean@swapheaders
-\define@choicekey*+{korean}{swapstrings}[\xpg@val\xpg@nr]{all,headings,headers,none}[all]{%
- \ifcase\xpg@nr\relax
- % all:
- \@korean@swapheadingstrue%
- \@korean@swapheaderstrue%
- \or
- % headings:
- \@korean@swapheadingstrue%
- \@korean@swapheadersfalse%
- \or
- % headers:
- \@korean@swapheadingsfalse%
- \@korean@swapheaderstrue%
- \or
- % none:
- \@korean@swapheadingsfalse%
- \@korean@swapheadersfalse%
- \fi
- \xpg@info{Option: Korean, swapstrings=\xpg@val}%
-}{\xpg@warning{Unknown Korean swapstrings value `#1'}}
+
+\DeclareKeys[polyglossia/gloss/korean]
+ {
+ variant.choices:nn = { plain, classic, modern }
+ {%
+ \edef\xpg@korean@variant{\the\numexpr\UseName{l_keys_choice_int}-1\relax}
+ },
+ variant.default:n = plain,
+ captions.choices:nn = { hangul, hanja }
+ {%
+ \edef\xpg@korean@captions{\the\numexpr\UseName{l_keys_choice_int}-1\relax}
+ },
+ captions.default:n = hangul,
+ swapstrings.choice:,
+ swapstrings / all.code =
+ {%
+ \@korean@swapheadingstrue
+ \@korean@swapheaderstrue
+ },
+ swapstrings / headings.code =
+ {%
+ \@korean@swapheadingstrue
+ \@korean@swapheadersfalse
+ },
+ swapstrings / headers.code =
+ {%
+ \@korean@swapheadingsfalse
+ \@korean@swapheaderstrue
+ },
+ swapstrings / none.code =
+ {%
+ \@korean@swapheadingsfalse
+ \@korean@swapheadersfalse
+ },
+ swapstrings.default:n = all,
+ swapstrings/unknown.code = \xpg@warning{Unknown Korean swapstrings value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{korean}{variant=plain,swapstrings=all,captions=hangul}
+\InitializeGlossOptions{korean}{variant=plain,swapstrings=all,captions=hangul}
\def\captionskorean{%
\ifcase\xpg@korean@captions\relax
@@ -19290,60 +19335,48 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% change chapter and part headings
\if@korean@swapheadings
% With titlesec
- \ifcsdef{titleformat}{%
- \ifcsdef{NR@part}{% Hyperref (nameref)
- \let\xpg@save@part@format\NR@part
- \patchcmd{\NR@part}%
- {\partname\nobreakspace\thepart}%
- {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
- {}%
- {\xpg@warning{Failed to patch part for Korean}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part
- \patchcmd{\@part}%
+ \@ifundefined{titleformat}{%
+ % With KOMA
+ \@ifundefined{sectionformat}{%
+ % With memoir
+ \@ifundefined{@memptsize}{%
+ % With standard classes
+ \@ifundefined{@makechapterhead}{}{%
+ \let\xpg@save@chap@format\@makechapterhead
+ \patchcmd{\@makechapterhead}%
+ {\@chapapp\space \thechapter}%
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \appendixname\space \thechapter
+ \else
+ \koreanTHEname\space \thechapter\space \@chapapp
+ \fi
+ }%
+ {}%
+ {\xpg@warning{Failed to patch chapter for Korean}}%
+ }%
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \ifpatchable{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\let\xpg@save@part@format\@part
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
+ {}%
+ {\@ifundefined{part}{}{\xpg@warning{Failed to patch part for Korean}}}}%
+ {}%
+ }% (end \ifdefined\@part)
+ }{% Hyperref (nameref)
+ \let\xpg@save@part@format\NR@part
+ \patchcmd{\NR@part}%
{\partname\nobreakspace\thepart}%
{\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
{}%
{\xpg@warning{Failed to patch part for Korean}}%
- }{}%
- }
- \ifcsdef{chapter}{%
- \titleformat\chapter[display]%
- {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}%
- {%
- \ifx\@chapapp\korean@appendix@chapapp
- \appendixname\space \thechapter
- \else
- \koreanTHEname\space \thechapter\space \@chapapp
- \fi
- }{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}%
- }{}%
- }{% (not \ifdefined\titleformat)
- % With KOMA
- \ifcsdef{sectionformat}{%
- \ifcsdef{partformat}{%
- \let\xpg@save@part@format\partformat
- \renewcommand*{\partformat}{\koreanTHEname~\thepart~\partname}%
- }{}%
- \ifcsdef{chapterformat}{%
- \let\xpg@save@chap@format\chapterformat
- \renewcommand*{\chapterformat}{\mbox{%
- \IfChapterUsesPrefixLine
- {%
- \ifx\@chapapp\korean@appendix@chapapp
- \chapapp\nobreakspace \thechapter\autodot
- \else
- \koreanTHEname\nobreakspace \thechapter\nobreakspace \chapapp\autodot
- \fi
- }%
- {\thechapter\autodot\enskip}%
- }}%
- }{}%
- }{% (not \ifdefined\sectionformat)
- % With memoir
- \ifcsdef{@memptsize}{%
- \ifcsdef{@makechapterhead}{%
+ }% (end not hyperref)
+ }{% (\ifdefined\@memptsize)
+ \@ifundefined{@makechapterhead}{}{%
\let\xpg@save@chap@format\@makechapterhead
\patchcmd{\@makechapterhead}%
{\printchaptername \chapternamenum \printchapternum}%
@@ -19361,19 +19394,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifpatchable\printchaptername\@chapapp
{\chapnamefont\koreanTHEname\chapternamenum}{}}%
\fi
- }{}%
- \ifcsdef{NR@part}{% Hyperref (nameref)
- \let\xpg@save@part@format\NR@part
- \patchcmd{\NR@part}%
- {\printpartname \partnamenum \printpartnum}%
- {\printkoreanpartthe \printpartnum\partnamenum \printpartname}%
- {}%
- {\xpg@warning{Failed to patch part for Korean}}%
- \ifdefined\printkoreanpartthe\else
- \def\printkoreanpartthe{\partnamefont\koreanTHEname\partnamenum}%
- \fi
- }{% not hyperref
- \ifcsdef{@part}{%
+ }%
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
\let\xpg@save@part@format\@part
\patchcmd{\@part}%
{\printpartname \partnamenum \printpartnum}%
@@ -19383,84 +19406,77 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifdefined\printkoreanpartthe\else
\def\printkoreanpartthe{\partnamefont\koreanTHEname\partnamenum}%
\fi
- }{}%
- }%
- }{% (not \ifdefined\@memptsize)
- % With standard classes
- \ifcsdef{@makechapterhead}{%
- \let\xpg@save@chap@format\@makechapterhead
- \patchcmd{\@makechapterhead}%
- {\@chapapp\space \thechapter}%
- {%
- \ifx\@chapapp\korean@appendix@chapapp
- \appendixname\space \thechapter
- \else
- \koreanTHEname\space \thechapter\space \@chapapp
- \fi
- }%
- {}%
- {\xpg@warning{Failed to patch chapter for Korean}}%
- }{}%
- \ifcsdef{NR@part}{% Hyperref (nameref)
+ }%
+ }{% Hyperref (nameref)
\let\xpg@save@part@format\NR@part
\patchcmd{\NR@part}%
- {\partname\nobreakspace\thepart}%
- {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
+ {\printpartname \partnamenum \printpartnum}%
+ {\printkoreanpartthe \printpartnum\partnamenum \printpartname}%
{}%
{\xpg@warning{Failed to patch part for Korean}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \ifpatchable{\@part}%
- {\partname\nobreakspace\thepart}%
- {\let\xpg@save@part@format\@part
- \patchcmd{\@part}%
- {\partname\nobreakspace\thepart}%
- {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
- {}%
- {\ifcsdef{part}{\xpg@warning{Failed to patch part for Korean}}{}}}%
- {}%
- }{}% (end \ifdefined\@part)
- }% (end not hyperref)
+ \ifdefined\printkoreanpartthe\else
+ \def\printkoreanpartthe{\partnamefont\koreanTHEname\partnamenum}%
+ \fi
+ }%
}% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\sectionformat)
+ \@ifundefined{partformat}{}{%
+ \let\xpg@save@part@format\partformat
+ \renewcommand*{\partformat}{\koreanTHEname~\thepart~\partname}%
+ }%
+ \@ifundefined{chapterformat}{}{%
+ \let\xpg@save@chap@format\chapterformat
+ \renewcommand*{\chapterformat}{\mbox{%
+ \IfChapterUsesPrefixLine
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \chapapp\nobreakspace \thechapter\autodot
+ \else
+ \koreanTHEname\nobreakspace \thechapter\nobreakspace \chapapp\autodot
+ \fi
+ }%
+ {\thechapter\autodot\enskip}%
+ }}%
+ }%
}% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
+ \@ifundefined{NR@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Korean}}%
+ }%
+ }{% Hyperref (nameref)
+ \let\xpg@save@part@format\NR@part
+ \patchcmd{\NR@part}%
+ {\partname\nobreakspace\thepart}%
+ {\koreanTHEname\nobreakspace \thepart\nobreakspace \partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Korean}}%
+ }%
+ \@ifundefined{chapter}{}{%
+ \titleformat\chapter[display]%
+ {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}%
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \appendixname\space \thechapter
+ \else
+ \koreanTHEname\space \thechapter\space \@chapapp
+ \fi
+ }{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}%
+ }%
}% (end \ifdefined\titleformat)
\fi % (end \if@korean@swapheadings)
%
% Change running headers
\if@korean@swapheaders
- \ifcsdef{chapterformat}{%
- % With KOMA
- \let\xpg@save@chaptermark@format\chaptermarkformat
- \renewcommand*\chaptermarkformat{%
- \IfChapterUsesPrefixLine
- {%
- \ifx\@chapapp\korean@appendix@chapapp
- \chapapp\ \thechapter\autodot
- \else
- \koreanTHEname\ \thechapter\ \chapapp\autodot
- \fi
- }%
- {\thechapter\autodot}%
- \enskip
- }%
- }{% (not \ifdefined\chapterformat)
- \ifcsdef{@memptsize}{%
- % With memoir
- \let\xpg@save@chaptermark@format\chaptermark
- \patchcmd{\chaptermark}%
- {\@chapapp\ \@nameuse{thechapter}}%
- {%
- \ifx\@chapapp\korean@appendix@chapapp
- \appendixname\ \@nameuse{thechapter}%
- \else
- \koreanTHEname\ \@nameuse{thechapter}\ \@chapapp
- \fi
- }%
- {}%
- {\xpg@warning{Failed to patch chaptermark for Korean}}%
- }{% (not \ifdefined\@memptsize)
+ \@ifundefined{chapterformat}{%
+ \@ifundefined{@memptsize}{%
% With standard classes
- \ifcsdef{chaptermark}{%
+ \@ifundefined{chaptermark}{}{%
\ifpatchable{\chaptermark}%
{\@chapapp\ \thechapter}%
{\let\xpg@save@chaptermark@format\chaptermark
@@ -19476,65 +19492,94 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
{}%
{\xpg@warning{Failed to patch chaptermark for Korean}}}%
{}%
- }{}% (end \ifdefined\chaptermark)
+ }% (end \ifdefined\chaptermark)
+ }{% (\ifdefined\@memptsize)
+ % With memoir
+ \let\xpg@save@chaptermark@format\chaptermark
+ \patchcmd{\chaptermark}%
+ {\@chapapp\ \@nameuse{thechapter}}%
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \appendixname\ \@nameuse{thechapter}%
+ \else
+ \koreanTHEname\ \@nameuse{thechapter}\ \@chapapp
+ \fi
+ }%
+ {}%
+ {\xpg@warning{Failed to patch chaptermark for Korean}}%
}% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\chapterformat)
+ % With KOMA
+ \let\xpg@save@chaptermark@format\chaptermarkformat
+ \renewcommand*\chaptermarkformat{%
+ \IfChapterUsesPrefixLine
+ {%
+ \ifx\@chapapp\korean@appendix@chapapp
+ \chapapp\ \thechapter\autodot
+ \else
+ \koreanTHEname\ \thechapter\ \chapapp\autodot
+ \fi
+ }%
+ {\thechapter\autodot}%
+ \enskip
+ }%
}% (end \ifdefined\chapterformat)
\fi % (end \if@korean@swapheaders)
}
\def\nokorean@headingsformat{%
% Reset chapter and part heading
- \ifcsdef{titleformat}{%
+ \@ifundefined{titleformat}{%
+ \@ifundefined{sectionformat}{%
+ % With memoir and standard classes
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{NR@part}{%
+ \let\@part\xpg@save@part@format
+ }{%
+ \let\NR@part\xpg@save@part@format
+ }%
+ }%
+ \@ifundefined{xpg@save@chap@format}{}{%
+ \let\@makechapterhead\xpg@save@chap@format
+ }%
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@part@format}{}{%
+ \let\partformat\xpg@save@part@format
+ }%
+ \@ifundefined{xpg@save@chap@format}{}{%
+ \let\chapterformat\xpg@save@chap@format
+ }%
+ }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
% With titlesec
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{NR@part}{%
- \let\NR@part\xpg@save@part@format
- }{%
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{NR@part}{%
\let\@part\xpg@save@part@format
+ }{%
+ \let\NR@part\xpg@save@part@format
}%
- }{}%
- \ifcsdef{chapter}{%
+ }%
+ \@ifundefined{chapter}{}{%
\titleformat\chapter[display]%
{\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}%
{\@chapapp\space\thechapter}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}%
- }{}%
- }{% (not \ifdefined\titleformat)
- \ifcsdef{sectionformat}{%
- % With KOMA
- \ifcsdef{xpg@save@part@format}{%
- \let\partformat\xpg@save@part@format
- }{}%
- \ifcsdef{xpg@save@chap@format}{%
- \let\chapterformat\xpg@save@chap@format
- }{}%
- }{%
- % With memoir and standard classes
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{NR@part}{%
- \let\NR@part\xpg@save@part@format
- }{%
- \let\@part\xpg@save@part@format
- }%
- }{}%
- \ifcsdef{xpg@save@chap@format}{%
- \let\@makechapterhead\xpg@save@chap@format
- }{}%
- }% (end \ifdefined\sectionformat)
+ }%
}% (end \ifdefined\titleformat)
%
% Reset headers
- \ifcsdef{chaptermarkformat}{%
- % With KOMA
- \ifcsdef{xpg@save@chaptermark@format}{%
- \let\chaptermarkformat\xpg@save@chaptermark@format
- }{}%
- }{%
- \ifcsdef{chaptermark}{%
+ \@ifundefined{chaptermarkformat}{%
+ \@ifundefined{chaptermark}{}{%
% With memoir and standard classes
- \ifcsdef{xpg@save@chaptermark@format}{%
+ \@ifundefined{xpg@save@chaptermark@format}{}{%
\let\chaptermark\xpg@save@chaptermark@format
- }{}%
- }{}% (end \ifdefined\chaptermark)
+ }%
+ }% (end \ifdefined\chaptermark)
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@chaptermark@format}{}{%
+ \let\chaptermarkformat\xpg@save@chaptermark@format
+ }%
}% (end \ifdefined\chapterformat)
}
@@ -19598,13 +19643,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\XeTeXinterchartokenstate\z@
\XeTeXlinebreakpenalty\z@
\XeTeXlinebreakskip\z@skip
- \XeTeXlinebreaklocale "en"
+ \XeTeXlinebreaklocale ""
\noextras@korean@common
}
\else % luatex
- \def\inlineextras@korean{\xpg@attr@korean\xpg@korean@variant\relax}
+ \def\inlineextras@korean{\xpg@attr@cjkspacing\xpg@korean@variant\relax}
\def\noextras@korean{%
- \unsetattribute\xpg@attr@korean
+ \unsetattribute\xpg@attr@cjkspacing
\noextras@korean@common
}
\fi
@@ -19624,7 +19669,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\newattribute\newluatexattribute
\let\unsetattribute\unsetluatexattribute
\fi
-\newattribute\xpg@attr@korean
+\newattribute\xpg@attr@cjkspacing
\newattribute\xpg@attr@autojosa
% user commands for Josa
% Josa : particles in Korean grammar that immediately follow a noun or pronoun.
@@ -19645,7 +19690,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\protected\def\로{\으 로}
\def\xpg@reset@josa {\global\let\xpg@josa@zwang\z@}\xpg@reset@josa
% load lua file for korean
-\directlua{ require "polyglossia-korean" }
+\directlua{ require "polyglossia-cjk-spacing" }
% \end{macrocode}
% \iffalse
%</gloss-korean.ldf>
@@ -19655,13 +19700,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ku-Arab.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ku-Arab.ldf}[polyglossia: module for ku-Arab (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
% \end{macrocode}
% \iffalse
@@ -19672,13 +19717,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ku-Latn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ku-Latn.ldf}[polyglossia: module for ku-Latn (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
% \end{macrocode}
% \iffalse
@@ -19689,13 +19734,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ku.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ku.ldf}[polyglossia: module for ku (Kurdish)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
% \end{macrocode}
% \iffalse
@@ -19706,7 +19751,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kurdish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% Created on September 1, 2019
% Last updated on May 17, 2020
@@ -19749,36 +19794,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@kurdish@kurmanji
\def\kurdish@variant{sorani}
-\define@choicekey*+{kurdish}{variant}[\xpg@val\xpg@nr]{sorani,kurmanji}[sorani]{%
- \ifcase\xpg@nr\relax
- % sorani:
- \def\kurdish@variant{sorani}%
- \@kurdish@kurmanjifalse%
- \or
- % kurmanji:
- \def\kurdish@variant{kurmanji}%
- \@kurdish@kurmanjitrue%
- \fi
- \kurdish@set@variety%
- \xpg@info{Option: kurdish, variant=\xpg@val}%
-}{\xpg@warning{Unknown Kurdish variant `#1'}}
\newif\if@kurdish@latin
\newif\if@kurdish@arabic
-\define@choicekey*+{kurdish}{script}[\xpg@val\xpg@nr]{arabic,latin}{%
- \ifcase\xpg@nr\relax
- % arabic:
- \@kurdish@latinfalse%
- \@kurdish@arabictrue%
- \or
- % latin:
- \@kurdish@latintrue%
- \@kurdish@arabicfalse%
- \fi
- \kurdish@set@variety%
- \xpg@info{Option: kurdish, script=\xpg@val}%
-}{\xpg@warning{Unknown Kurdish script `#1'}}
-
\newif\if@western@numerals
\newif\if@force@western@numerals
@@ -19795,7 +19813,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
\fi
\def\kurdish@script{latin}
- \xpg@fontsetup@latin{kurdish}%
+ \SetupLatinPolyglossiaFont{kurdish}%
\else
\if@kurdish@arabic% arabic explicitly set
\if@kurdish@kurmanji
@@ -19805,61 +19823,84 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\else
\SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
\fi
- \xpg@fontsetup@nonlatin{kurdish}%
+ \SetupNonLatinPolyglossiaFont{kurdish}%
\else% sorani=arabic, kurmanji=latin
\if@kurdish@kurmanji
\@western@numeralstrue%
\SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn,bcp47-language=kmr,bcp47-script=Latn,bcp47-casing=kmr-Latn}%
- \xpg@fontsetup@latin{kurdish}%
+ \SetupLatinPolyglossiaFont{kurdish}%
\def\kurdish@script{latin}
\else
\SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
- \xpg@fontsetup@nonlatin{kurdish}%
+ \SetupNonLatinPolyglossiaFont{kurdish}%
\fi
\fi
\fi
}
\newif\if@western@numerals
-\define@choicekey*+{kurdish}{numerals}[\xpg@val\xpg@nr]{eastern,western}[eastern]{%
- \ifcase\xpg@nr\relax
- % eastern:
- \@western@numeralsfalse%
- \or
- % western:
- \@western@numeralstrue%
- \@force@western@numeralstrue%
- \fi
- \xpg@info{Option: Kurdish, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Kurdish numerals option `#1'}}
\newif\ifkurdish@customsep\kurdish@customsepfalse
\def\xpg@sepmark{}
-\define@key{kurdish}{sectionsep}[.]{%
- \kurdish@customseptrue%
- \gdef\xpg@sepmark{#1}%
-}
-
-%this is needed for \abjad in arabicnumbers.sty
-\define@boolkey{kurdish}[kurdish@]{abjadjimnotail}[true]{%
- \ifkurdish@abjadjimnotail
- \abjad@jim@notailtrue%
- \else
- \abjad@jim@notailfalse
- \fi%
-}
-
-% NOT YET USED
-\define@key{kurdish}{locale}[default]{%
- \def\@kurdish@locale{#1}}
%TODO add option for CALENDAR
+\DeclareKeys[polyglossia/gloss/kurdish]
+ {
+ variant.choice:,
+ variant / sorani.code =
+ {%
+ \def\kurdish@variant{sorani}%
+ \@kurdish@kurmanjifalse
+ \kurdish@set@variety
+ },
+ variant / kurmanji.code =
+ {%
+ \def\kurdish@variant{kurmanji}%
+ \@kurdish@kurmanjitrue
+ \kurdish@set@variety
+ },
+ variant.default:n = sorani,
+ variant/unknown.code = \xpg@warning{Unknown Kurdish variant `#1'},
+ script.choice:,
+ script / arabic.code =
+ {%
+ \@kurdish@latinfalse
+ \@kurdish@arabictrue
+ \kurdish@set@variety
+ },
+ script / latin.code =
+ {%
+ \@kurdish@latintrue
+ \@kurdish@arabicfalse
+ \kurdish@set@variety
+ },
+ script.default:n = sorani,
+ script/unknown.code = \xpg@warning{Unknown Kurdish script `#1'},
+ numerals.choice:,
+ numerals / eastern.code =
+ {%
+ \@western@numeralsfalse
+ },
+ numerals / western.code =
+ {%
+ \@western@numeralstrue
+ \@force@western@numeralstrue
+ },
+ numerals.default:n = eastern,
+ numerals/unknown.code = \xpg@warning{Unknown Kurdish numerals value `#1'},
+ sectionsep.code = \gdef\xpg@sepmark{#1}\kurdish@customseptrue,
+ sectionsep.default:n = .,
+ abjadjimnotail.if = abjad@jim@notail,
+ abjadjimnotail.default:n = true,
+ locale.store = \@kurdish@locale
+ }
+
% Register default options
-\xpg@initialize@gloss@options{kurdish}{variant=sorani,locale=default,script=arabic,abjadjimnotail=false,numerals=eastern}
+\InitializeGlossOptions{kurdish}{variant=sorani,locale=default,script=arabic,abjadjimnotail=false,numerals=eastern}
\def\kurdish@language{%
- \polyglossia@setup@language@patterns{\kurdish@pattern}%
+ \SetupPolyglossiaLangPatterns{\kurdish@pattern}%
}%
\def\kurdishNativemonth#1{\ifcase#1%
@@ -20112,16 +20153,16 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nokurdish@xetex@capsformat{%
- \ifcsdef{xpg@save@sepmark}{%
+ \ifcsname xpg@save@sepmark\endcsname%
\SepMark{\xpg@save@sepmark}
- }{}%
+ \fi%
}
\def\kurdish@luatex@capsformat{%
%
% change chapter and part headings
\ifkurdish@customsep
- \ifcsdef{chapter}{%
+ \ifcsname chapter\endcsname%
\let\xpg@save@thesection\thesection%
\renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
\let\xpg@save@theequation\theequation%
@@ -20133,7 +20174,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\xpg@save@thetable\thetable%
\renewcommand*\thetable{%
\ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
- }{}
+ \fi%
\let\xpg@save@thesubsection\thesubsection%
\renewcommand\thesubsection
{\thesection\xpg@sepmark\@arabic\c@subsection}
@@ -20148,30 +20189,30 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nokurdish@luatex@capsformat{%
- \ifcsdef{xpg@save@thesection}{%
+ \ifcsname xpg@save@thesection\endcsname%
\let\thesection\xpg@save@thesection%
- }{}%
- \ifcsdef{xpg@save@theequation}{%
+ \fi%
+ \ifcsname xpg@save@theequation\endcsname%
\let\theequation\xpg@save@theequation%
- }{}%
- \ifcsdef{xpg@save@thefigure}{%
+ \fi%
+ \ifcsname xpg@save@thefigure\endcsname%
\let\thefigure\xpg@save@thefigure%
- }{}%
- \ifcsdef{xpg@save@thetable}{%
+ \fi%
+ \ifcsname xpg@save@thetable\endcsname%
\let\thetable\xpg@save@thetable%
- }{}%
- \ifcsdef{xpg@save@thesubsection}{%
+ \fi%
+ \ifcsname xpg@save@thesubsection\endcsname%
\let\thesubsection\xpg@save@thesubsection%
- \ifcsdef{xpg@save@thesubsubsection}{%
+ \ifcsname xpg@save@thesubsubsection\endcsname%
\let\thesubsubsection\xpg@save@thesubsubsection%
- }{}%
- }{}%
- \ifcsdef{xpg@save@theparagraph}{%
+ \fi%
+ \fi%
+ \ifcsname xpg@save@theparagraph\endcsname%
\let\theparagraph\xpg@save@theparagraph%
- }{}%
- \ifcsdef{xpg@save@thesubparagraph}{%
+ \fi%
+ \ifcsname xpg@save@thesubparagraph\endcsname%
\let\thesubparagraph\xpg@save@thesubparagraph%
- }{}%
+ \fi%
}
\def\blockextras@kurdish{%
@@ -20203,13 +20244,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kurmanji.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-kurmanji.ldf}[polyglossia: module for Kurmanji Kurdish]
% We provide this gloss for babel compatibility.
-\xpg@load@master@language{kurdish}
+\InheritGlossFile{kurdish}
% \end{macrocode}
% \iffalse
@@ -20220,13 +20261,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la-x-classic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-la-xclassic.ldf}[polyglossia: module for la-xclassic (Latin)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{latin}
+\InheritGlossFile{latin}
% \end{macrocode}
% \iffalse
@@ -20237,13 +20278,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la-x-ecclesia.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-la-xecclesiastic.ldf}[polyglossia: module for la-xecclesiastic (Latin)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{latin}
+\InheritGlossFile{latin}
% \end{macrocode}
% \iffalse
@@ -20254,13 +20295,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la-x-medieval.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-la-xmedieval.ldf}[polyglossia: module for la-xmedieval (Latin)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{latin}
+\InheritGlossFile{latin}
% \end{macrocode}
% \iffalse
@@ -20271,13 +20312,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-la.ldf}[polyglossia: module for la (Latin)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{latin}
+\InheritGlossFile{latin}
% \end{macrocode}
% \iffalse
@@ -20288,7 +20329,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lao.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao]
@@ -20312,14 +20353,23 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@lao@numerals
\def\tmp@lao{lao}
-\define@key{lao}{numerals}[arabic]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@lao\@lao@numeralstrue\else
- \@lao@numeralsfalse\fi
-}
+
+\DeclareKeys[polyglossia/gloss/lao]
+ {
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \@lao@numeralsfalse
+ },
+ numerals / lao.code =
+ {%
+ \@lao@numeralstrue
+ },
+ numerals.default:n = arabic
+ }
% Register default options
-\xpg@initialize@gloss@options{lao}{numerals=arabic}
+\InitializeGlossOptions{lao}{numerals=arabic}
% Translations provided by Brian Wilson <bountonw at gmail.com>
\def\captionslao{%
@@ -20399,7 +20449,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latex.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-latex.ldf}[polyglossia: module for default language]
@@ -20449,7 +20499,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latin.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin]
@@ -20484,6 +20534,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\bool_new:N \l_polyglossia_latin_use_v_bool
\bool_new:N \l_polyglossia_latin_use_ligatures_bool
\bool_new:N \l_polyglossia_latin_capitalize_month_bool
+\bool_new:N \l_polyglossia_latin_babelshorthands_bool
+\bool_new:N \l_polyglossia_latin_prosodic_shorthands_bool
+\bool_new:N \l_polyglossia_latin_ecclesiastic_footnotes_bool
\cs_new:Npn \polyglossia_latin_classical_character_codes:
{
@@ -20519,11 +20572,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\cs_new:Npn \polyglossia_latin_use_modern_patterns:
{
- \xpg@ifdefined {latin}
+ \IfLanguageDefinedTF {latin}
{
\def \latin@language
{
- \polyglossia@setup@language@patterns {latin}
+ \SetupPolyglossiaLangPatterns {latin}
\str_case:Vn \l_polyglossia_latin_variant_str
{
{classic} { \adddialect \l@classiclatin \l@latin }
@@ -20547,11 +20600,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\cs_new:Npn \polyglossia_latin_set_patterns:n #1
% #1 may be "classiclatin" or "liturgicallatin"
{
- \xpg@ifdefined {#1}
+ \IfLanguageDefinedTF {#1}
{
\def \latin@language
{
- \polyglossia@setup@language@patterns {#1}
+ \SetupPolyglossiaLangPatterns {#1}
\str_case:Vn \l_polyglossia_latin_variant_str
{
{classic} {
@@ -20767,7 +20820,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% Save original footnote definition
% Do this at the end of the preamble to catch other
% packages' footnote changes (#391)
-\AtEndPreamble{%
+\hook_gput_code:nnn { begindocument / before } {.}
+{
\cs_if_exist:NT \@makefntext
{
\cs_set_eq:NN \polyglossia_latin_original_footnote:n \@makefntext
@@ -20791,40 +20845,27 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\cs_new:Npn \polyglossia_latin_apply_footnote_option:
{
- \str_if_eq:VnTF \xpg@main@language {latin}
+ \IfMainLanguageTF {latin}
{
\cs_if_exist:NT \@makefntext
{
- \iflatin@ecclesiasticfootnotes
+ \bool_if:NTF \l_polyglossia_latin_ecclesiastic_footnotes_bool
+ {
\let \@makefntext \polyglossia_latin_variant_footnote:n
- \else
+ }
+ {
\let \@makefntext \polyglossia_latin_original_footnote:n
- \fi
+ }
}
}
{
- \iflatin@ecclesiasticfootnotes
- \msg_warning:nn {polyglossia} {latin / ineffective footnote option}
- \fi
- }
- }
-
-\define@boolkey {latin} [latin@] {ecclesiasticfootnotes} [true]
- {
- \token_if_eq_meaning:NNTF \@onlypreamble \@notprerr
- {
- % within the document
- \polyglossia_latin_apply_footnote_option:
- }
- {
- % within the preamble
- % The application of the option has to be postponed as the main
- % language may be undefined when the option is called.
- \AtBeginDocument { \polyglossia_latin_apply_footnote_option: }
+ \bool_if:NT \l_polyglossia_latin_ecclesiastic_footnotes_bool
+ {
+ \msg_warning:nn {polyglossia} {latin / ineffective footnote option}
+ }
}
}
-
%%%%% Language variants: classic, medieval, modern, and ecclesiastic
\str_new:N \l_polyglossia_latin_variant_str
@@ -20887,58 +20928,6 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\polyglossia_latin_use_modern_patterns:
}
-\define@key{latin}{variant}
- {
- \str_case:nnF {#1}
- {
- {classic}
- {
- \msg_info:nnn {polyglossia} {latin / language variant} {classic}
- \polyglossia_latin_classic_settings:
- }
- {medieval}
- {
- \msg_info:nnn {polyglossia} {latin / language variant} {medieval}
- \polyglossia_latin_medieval_settings:
- }
- {modern}
- {
- \msg_info:nnn {polyglossia} {latin / language variant} {modern}
- \polyglossia_latin_modern_settings:
- }
- {ecclesiastic}
- {
- \msg_info:nnn {polyglossia} {latin / language variant} {ecclesiastic}
- \polyglossia_latin_ecclesiastic_settings:
- }
- }
- {
- \msg_warning:nnn {polyglossia} {latin / illegal language variant} {#1}
- }
- }
-
-
-%%%%% Boolean options concerning spelling
-
-\define@boolkey{latin}[latin@]{usej}[true]
- {
- \iflatin@usej
- \bool_set_true:N \l_polyglossia_latin_use_j_bool
- \else
- \bool_set_false:N \l_polyglossia_latin_use_j_bool
- \fi
- }
-
-\define@boolkey{latin}[latin@]{capitalizemonth}[true]
- {
- \iflatin@capitalizemonth
- \bool_set_true:N \l_polyglossia_latin_capitalize_month_bool
- \else
- \bool_set_false:N \l_polyglossia_latin_capitalize_month_bool
- \fi
- }
-
-
%%%%% Hyphenation variants: classic, liturgical, and modern
\msg_new:nnn {polyglossia} {latin / hyphenation variant}
@@ -20951,23 +20940,6 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
The~Latin~hyphenation~variant~"#1"~is~undefined~\msg_line_context:.
}
-\define@key {latin} {hyphenation}
- {
- \str_case:nnTF {#1}
- {
- {classic} { \polyglossia_latin_set_patterns:n {classiclatin} }
- {liturgical} { \polyglossia_latin_set_patterns:n {liturgicallatin} }
- {modern} { \polyglossia_latin_use_modern_patterns: }
- }
- {
- \msg_info:nnn {polyglossia} {latin / hyphenation variant} {#1}
- }
- {
- \msg_warning:nnn {polyglossia} {latin / illegal hyphenation variant} {#1}
- }
- }
-
-
%%%%% Latin captions and date
\def \captionslatin
@@ -21039,30 +21011,89 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
}
-
-%%%%% Latin shorthands
-
-\define@boolkey{latin}[latin@]{babelshorthands}[true]
- {
- }
-
-\define@boolkey{latin}[latin@]{prosodicshorthands}[true]
+\DeclareKeys[polyglossia/gloss/latin]
{
+ babelshorthands.bool_set:N = \l_polyglossia_latin_babelshorthands_bool,
+ babelshorthands.default:n = true,
+ prosodicshorthands.bool_set:N = \l_polyglossia_latin_prosodic_shorthands_bool,
+ prosodicshorthands.default:n = true,
+ usej.bool_set:N = \l_polyglossia_latin_use_j_bool,
+ capitalizemonth.bool_set:N = \l_polyglossia_latin_capitalize_month_bool,
+ hyphenation.code =
+ \str_case:nnTF {#1}
+ {
+ {classic} { \polyglossia_latin_set_patterns:n {classiclatin} }
+ {liturgical} { \polyglossia_latin_set_patterns:n {liturgicallatin} }
+ {modern} { \polyglossia_latin_use_modern_patterns: }
+ }
+ {
+ \msg_info:nnn {polyglossia} {latin / hyphenation variant} {#1}
+ }
+ {
+ \msg_warning:nnn {polyglossia} {latin / illegal hyphenation variant} {#1}
+ },
+ variant.code =
+ \str_case:nnF {#1}
+ {
+ {classic}
+ {
+ \msg_info:nnn {polyglossia} {latin / language variant} {classic}
+ \polyglossia_latin_classic_settings:
+ }
+ {medieval}
+ {
+ \msg_info:nnn {polyglossia} {latin / language variant} {medieval}
+ \polyglossia_latin_medieval_settings:
+ }
+ {modern}
+ {
+ \msg_info:nnn {polyglossia} {latin / language variant} {modern}
+ \polyglossia_latin_modern_settings:
+ }
+ {ecclesiastic}
+ {
+ \msg_info:nnn {polyglossia} {latin / language variant} {ecclesiastic}
+ \polyglossia_latin_ecclesiastic_settings:
+ }
+ }
+ {
+ \msg_warning:nnn {polyglossia} {latin / illegal language variant} {#1}
+ },
+ ecclesiasticfootnotes.choices:nn = { true, false }
+ {
+ \ifcase\UseName{l_keys_choice_int}\or
+ \bool_set_true:N \l_polyglossia_latin_ecclesiastic_footnotes_bool
+ \else
+ \bool_set_false:N \l_polyglossia_latin_ecclesiastic_footnotes_bool
+ \fi
+ \xpg_if_in_preamble:TF
+ {
+ % within the preamble
+ % The application of the option has to be postponed as the main
+ % language may be undefined when the option is called.
+ \AtBeginDocument { \polyglossia_latin_apply_footnote_option: }
+ }
+ {
+ % within the document
+ \polyglossia_latin_apply_footnote_option:
+ }
+ },
+ ecclesiasticfootnotes.default:n = true
}
% Register default options
-\xpg@initialize@gloss@options{latin}{variant=modern,hyphenation=modern,babelshorthands=false,
+\InitializeGlossOptions{latin}{variant=modern,hyphenation=modern,babelshorthands=false,
prosodicshorthands=false,ecclesiasticfootnotes=false,
usej=false,capitalizemonth=true}
\ifsystem@babelshorthands
- \setkeys{latin}{babelshorthands=true}
+ \SetGlossOptions{latin}{babelshorthands=true}
\else
- \setkeys{latin}{babelshorthands=false}
+ \SetGlossOptions{latin}{babelshorthands=false}
\fi
\ExplSyntaxOff % babelsh.def does not support expl3 syntax
-\ifcsundef{initiate@active@char}{\input{babelsh.def}}{}
+\@ifundefined{initiate@active@char}{\input{babelsh.def}}{}
\ExplSyntaxOn
\initiate@active@char {"}
@@ -21094,13 +21125,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\AtBeginDocument
{
- \str_if_eq:VnTF \xpg@main@language {latin}
+ \IfMainLanguageTF {latin}
{
- \iflatin@prosodicshorthands
- \else
+ \bool_if:NF \l_polyglossia_latin_prosodic_shorthands_bool
+ {
\shorthandoff {=}
\shorthandoff* {^}
- \fi
+ }
}
{
% The following command should not be called if the main language
@@ -21462,7 +21493,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let \xpgla@savedvalues \empty
-\AtEndPreamble
+\hook_gput_code:nnn { begindocument / before } {.}
{
\edef \xpgla@savedvalues
{
@@ -21475,12 +21506,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def \noextras@latin
{
- \iflatin@babelshorthands
+ \bool_if:NT \l_polyglossia_latin_babelshorthands_bool
+ {
\polyglossia_latin_no_shorthands:
- \fi
- \iflatin@prosodicshorthands
+ }
+ \bool_if:NT \l_polyglossia_latin_prosodic_shorthands_bool
+ {
\polyglossia_latin_no_prosodic_shorthands:
- \fi
+ }
\xpgla@savedvalues
\polyglossia_latin_no_punctuation_spacing:
\polyglossia_latin_modern_character_codes:
@@ -21496,16 +21529,20 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
{
\polyglossia_latin_punctuation_spacing:
}
- \iflatin@babelshorthands
+ \bool_if:NTF \l_polyglossia_latin_babelshorthands_bool
+ {
\polyglossia_latin_shorthands:
- \else
+ }
+ {
\polyglossia_latin_no_shorthands:
- \fi
- \iflatin@prosodicshorthands
+ }
+ \bool_if:NTF \l_polyglossia_latin_prosodic_shorthands_bool
+ {
\polyglossia_latin_prosodic_shorthands:
- \else
+ }
+ {
\polyglossia_latin_no_prosodic_shorthands:
- \fi
+ }
}
\def \blockextras@latin
@@ -21558,64 +21595,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \end{macrocode}
% \iffalse
%</gloss-latin.ldf>
-%<*gloss-latinclassic.ldf>
-% \fi
-% \clearpage
-%
-% \subsection{gloss-latinclassic.ldf}
-% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
-%
-\ProvidesFile{gloss-latinclassic.ldf}[polyglossia: module for classic Latin]
-
-% We provide this as a babel alias
-
-\xpg@load@master@language{latin}
-
-% \end{macrocode}
-% \iffalse
-%</gloss-latinclassic.ldf>
-%<*gloss-latinecclesiastic.ldf>
-% \fi
-% \clearpage
-%
-% \subsection{gloss-latinecclesiastic.ldf}
-% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
-%
-\ProvidesFile{gloss-latinecclesiastic.ldf}[polyglossia: module for ecclesiastic Latin]
-
-% We provide this as a babel alias
-
-\xpg@load@master@language{latin}
-
-% \end{macrocode}
-% \iffalse
-%</gloss-latinecclesiastic.ldf>
-%<*gloss-latinmedieval.ldf>
-% \fi
-% \clearpage
-%
-% \subsection{gloss-latinmedieval.ldf}
-% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
-%
-\ProvidesFile{gloss-latinmedieval.ldf}[polyglossia: module for medieval Latin]
-
-% We provide this as a babel alias
-
-\xpg@load@master@language{latin}
-
-% \end{macrocode}
-% \iffalse
-%</gloss-latinmedieval.ldf>
%<*gloss-latvian.ldf>
% \fi
% \clearpage
%
% \subsection{gloss-latvian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-latvian.ldf}[polyglossia: module for Latvian]
\PolyglossiaSetup{latvian}{
@@ -21642,12 +21628,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\contentsname{Saturs}%
\def\listfigurename{Attēlu saraksts}%
\def\listtablename{Tabulu saraksts}%
- \def\indexname{Index}%
+ \def\indexname{Priekšmetu rādītājs}%
\def\figurename{Att.}%
\def\tablename{Tabula}%
\def\partname{Daļa}%
- \def\enclname{encl}%
- \def\ccname{cc}%
+ \def\enclname{Pielikumā}%
+ \def\ccname{Kopija(s)}%
\def\headtoname{To}%
\def\pagename{lpp.}%
\def\seename{sk.}%
@@ -21673,7 +21659,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lithuanian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% Translated by Paulius Sladkevičius <komsas@gmail.com>
@@ -21755,13 +21741,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lo.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-lo.ldf}[polyglossia: module for lo (Lao)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{lao}
+\InheritGlossFile{lao}
% \end{macrocode}
% \iffalse
@@ -21772,13 +21758,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lowersorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-lowersorbian.ldf}[polyglossia: module for Lower Sorbian]
% We provide this as a babel alias
-\xpg@load@master@language{sorbian}
+\InheritGlossFile{sorbian}
% \end{macrocode}
% \iffalse
@@ -21789,14 +21775,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lsorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-lsorbian.ldf}[polyglossia: module for Lower Sorbian]
% We only provide this gloss for babel compatibility. Since lsorbian is
% a sorbian variety, we use 'sorbian' with variant 'lower' now.
-\xpg@load@master@language{sorbian}
+\InheritGlossFile{sorbian}
% \end{macrocode}
% \iffalse
@@ -21807,13 +21793,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lt.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-lt.ldf}[polyglossia: module for lt (Lithuanian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{lithuanian}
+\InheritGlossFile{lithuanian}
% \end{macrocode}
% \iffalse
@@ -21824,13 +21810,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lv.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-lv.ldf}[polyglossia: module for lv (Latvian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{latvian}
+\InheritGlossFile{latvian}
% \end{macrocode}
% \iffalse
@@ -21841,7 +21827,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-macedonian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-macedonian.ldf}[polyglossia: module for Macedonian]
\PolyglossiaSetup{macedonian}{
@@ -21940,13 +21926,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-magyar.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-magyar.ldf}[polyglossia: module for Hungarian (Magyar)]
% We only provide this gloss for babel compatibility.
-\xpg@load@master@language{hungarian}
+\InheritGlossFile{hungarian}
% \end{macrocode}
% \iffalse
@@ -21957,7 +21943,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-malay.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-malay.ldf}[polyglossia: module for Malay]
@@ -21985,65 +21971,44 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% Backwards compat. alias
\setlanguagealias[variant=malaysian]{malay}{bahasam}
-\providebool{malay@melayu}
+\@ifundefined{ifmalay@melayu}%
+ {\newif\ifmalay@melayu}{}
\malay@melayufalse
\def\malay@variant{malay}
-\define@choicekey*+{malay}{variant}[\xpg@val\xpg@nr]{indonesian,malaysian}[malaysian]{%
- \ifcase\xpg@nr\relax
- % indonesian:
- \def\malay@variant{indonesian}%
- \malay@melayufalse
- \or
- % malaysian:
- \def\malay@variant{malay}%
- \malay@melayutrue
- \fi
- \ifmalay@melayu
- \SetLanguageKeys{malay}{language=Malay,langtag=MLY,babelname=bahasam,bcp47=zsm,bcp47-language=zsm}%
- \xpg@fontsetup@latin{malay}%
- % Check if \l@malay is defined. If not, try to set it to some variety
- % (specific order as in the csv list below), or null language if everything fails
- \xpg@ifdefined{malay}{}{%
- \def\do##1{%
- \xpg@ifdefined{##1}%
- {\csletcs{l@malay}{l@##1}\listbreak}%
- {}%
- }%
- \docsvlist{melayu,bahasam,bahasai,indonesian,indon,bahasa}
- \xpg@ifdefined{malay}{}{%
- \xpg@warning{No hyphenation patterns for Malay (Malaysian) found\MessageBreak
- I will use the 'null' language instead}%
- \adddialect\l@malay0%
- }%
- }%
- \else
- \SetLanguageKeys{malay}{language=Indonesian,langtag=IND,babelname=bahasa,bcp47=id,bcp47-language=id}%
- \xpg@fontsetup@latin{malay}%
- % Check if \l@indonesian is defined. If not, try to set it to some variety
- % (specific order as in the csv list below), or null language if everything fails
- \xpg@ifdefined{indonesian}{}{%
- \def\do##1{%
- \xpg@ifdefined{##1}%
- {\csletcs{l@indonesian}{l@##1}\listbreak}%
- {}%
- }%
- \docsvlist{indon,bahasai,bahasam,malay,melayu,bahasa}
- \xpg@ifdefined{indonesian}{}{%
- \xpg@warning{No hyphenation patterns for Malay (Indonesian) found\MessageBreak
- I will use the 'null' language instead}%
- \adddialect\l@indonesian0
- }%
- }%
- \fi
- \xpg@info{Option: malay, variant=\xpg@val}%
-}{\xpg@warning{Unknown malay variant `#1'}}
+
+\DeclareKeys[polyglossia/gloss/malay]
+ {
+ variant.choice:,
+ variant / indonesian.code =
+ {%
+ \def\malay@variant{indonesian}%
+ \malay@melayufalse
+ \SetLanguageKeys{malay}{language=Indonesian,langtag=IND,babelname=bahasa,bcp47=id,bcp47-language=id}%
+ \SetupLatinPolyglossiaFont{malay}%
+ % Check if \l@indonesian is defined. If not, try to set it to some variety
+ % (specific order as in the csv list), or null language if everything fails
+ \TryPatternWithFallback{indonesian}{indon,bahasai,bahasam,malay,melayu,bahasa}%
+ },
+ variant / malaysian.code =
+ {%
+ \def\malay@variant{malay}%
+ \malay@melayutrue
+ \SetLanguageKeys{malay}{language=Malay,langtag=MLY,babelname=bahasam,bcp47=zsm,bcp47-language=zsm}%
+ \SetupLatinPolyglossiaFont{malay}%
+ % Check if \l@malay is defined. If not, try to set it to some variety
+ % (specific order as in the csv list), or null language if everything fails
+ \TryPatternWithFallback{malay}{melayu,bahasam,bahasai,indonesian,indon,bahasa}%
+ },
+ variant.default:n = malaysian,
+ variant/unknown.code = \xpg@warning{Unknown malay variant `#1'},
+ }
% Register default options
-\xpg@initialize@gloss@options{malay}{variant=malaysian}
+\InitializeGlossOptions{malay}{variant=malaysian}
\def\malay@language{%
- \polyglossia@setup@language@patterns{\malay@variant}%
+ \SetupPolyglossiaLangPatterns{\malay@variant}%
}%
@@ -22156,7 +22121,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-malayalam.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for Malayalam]
@@ -22226,7 +22191,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-marathi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% Translations provided by Abhijit Navale <abhi_navale@live.in>
% Ordinals (1-100) added by Niranjan Tambe <niranjanvikastambe@gmail.com> on 14th December, 2019
@@ -22256,21 +22221,25 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\ifmarathi@devanagari@numerals
\marathi@devanagari@numeralstrue
-\define@choicekey*+{marathi}{numerals}[\xpg@val\xpg@nr]{Western,Devanagari}[Devanagari]{%
- \ifcase\xpg@nr\relax
- % Western:
- \marathi@devanagari@numeralsfalse%
- \SetLanguageKeys{marathi}{bcp47-extension-u=nu-latn}%
- \or
- % Devanagari:
- \marathi@devanagari@numeralstrue%
- \SetLanguageKeys{marathi}{bcp47-extension-u=nu-deva}%
- \fi
- \xpg@info{Option: Marathi, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Marathi numerals value `#1'}}
+\DeclareKeys[polyglossia/gloss/marathi]
+ {
+ numerals.choice:,
+ numerals / western.code =
+ {%
+ \marathi@devanagari@numeralsfalse
+ \SetLanguageKeys{marathi}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / devanagari.code =
+ {%
+ \marathi@devanagari@numeralstrue
+ \SetLanguageKeys{marathi}{bcp47-extension-u=nu-deva}%
+ },
+ numerals.default:n = devanagari,
+ numerals/unknown.code = \xpg@warning{Unknown Marathi numerals value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{marathi}{numerals=Devanagari}
+\InitializeGlossOptions{marathi}{numerals=Devanagari}
\newcommand{\marathinumerals}[2]{\marathinumber{#2}}
@@ -22370,19 +22339,36 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \end{macrocode}
% \iffalse
%</gloss-marathi.ldf>
+%<*gloss-medievallatin.ldf>
+% \fi
+% \clearpage
+%
+% \subsection{gloss-medievallatin.ldf}
+% \begin{macrocode}
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
+%
+\ProvidesFile{gloss-medievallatin.ldf}[polyglossia: module for medieval Latin]
+
+% We provide this as a babel alias
+
+\InheritGlossFile{latin}
+
+% \end{macrocode}
+% \iffalse
+%</gloss-medievallatin.ldf>
%<*gloss-mk.ldf>
% \fi
% \clearpage
%
% \subsection{gloss-mk.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-mk.ldf}[polyglossia: module for mk (Macedonian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{macedonian}
+\InheritGlossFile{macedonian}
% \end{macrocode}
% \iffalse
@@ -22393,13 +22379,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ml.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ml.ldf}[polyglossia: module for ml (Malayalam)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{malayalam}
+\InheritGlossFile{malayalam}
% \end{macrocode}
% \iffalse
@@ -22410,13 +22396,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-mn.ldf}[polyglossia: module for mn (Mongolian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{mongolian}
+\InheritGlossFile{mongolian}
% \end{macrocode}
% \iffalse
@@ -22427,7 +22413,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mongolian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-mongolian.ldf}[polyglossia: module for Mongolian]
@@ -22459,43 +22445,46 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{mongolian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\xpg@nr\relax
- % arabic:
- \cyrillic@numeralsfalse%
- \cyrillic@asbuk@numeralsfalse%
- \or
- % cyrillic:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \or
- % cyrillic-trad:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \or
- % cyrillic-alph:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralstrue%
- \fi
- \xpg@info{Option: Mongolian, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Mongolian numerals value `#1'}}
-\define@boolkey{mongolian}[mongolian@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/mongolian]
+ {
+ babelshorthands.if = mongolian@babelshorthands,
+ babelshorthands.default:n = true,
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \cyrillic@numeralsfalse
+ \cyrillic@asbuk@numeralsfalse
+ },
+ numerals / cyrillic.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ },
+ numerals / cyrillic-trad.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ },
+ numerals / cyrillic-alph.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralstrue
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Mongolian numerals value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{mongolian}{babelshorthands=false,numerals=arabic}
+\InitializeGlossOptions{mongolian}{babelshorthands=false,numerals=arabic}
\ifsystem@babelshorthands
- \setkeys{mongolian}{babelshorthands=true}
+ \SetGlossOptions{mongolian}{babelshorthands=true}
\else
- \setkeys{mongolian}{babelshorthands=false}
+ \SetGlossOptions{mongolian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\mongolian@shorthands{%
\xpg@activate@shorthands%
@@ -22548,7 +22537,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\bibname{Номзүй}%
\def\chaptername{Бүлэг}%
\def\appendixname{Хавсралт}%
- \ifcsundef{thechapter}%
+ \@ifundefined{thechapter}%
{\def\contentsname{Агуулга}}%
{\def\contentsname{Гарчиг}}%
\def\listfigurename{Зургийн жагсаалт}%
@@ -22666,13 +22655,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-mr.ldf}[polyglossia: module for mr (Marathi)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{marathi}
+\InheritGlossFile{marathi}
% \end{macrocode}
% \iffalse
@@ -22683,13 +22672,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-naustrian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-naustrian.ldf}[polyglossia: module for Austrian German (current spelling)]
% We provide this as a babel alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -22700,13 +22689,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-nb.ldf}[polyglossia: module for nb (Norwegian)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{norwegian}
+\InheritGlossFile{norwegian}
% \end{macrocode}
% \iffalse
@@ -22717,13 +22706,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-newzealand.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-newzealand.ldf}[polyglossia: module for Newzealand English]
% We provide this as a babel alias
-\xpg@load@master@language{english}
+\InheritGlossFile{english}
% \end{macrocode}
% \iffalse
@@ -22734,13 +22723,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ngerman.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ngerman.ldf}[polyglossia: module for German (current spelling)]
% We provide this as a babel alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -22751,7 +22740,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nko.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-nko.ldf}[Polyglossia: module for N’Ko]
\PolyglossiaSetup{nko}{%
@@ -22849,14 +22838,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-norsk.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-norsk.ldf}[polyglossia: module for Norwegian (Bokmal)]
% We only provide this gloss for babel compatibility. Since norsk is
% actually norwegian bokmal, we use 'norwegian' with variant 'bokmal' now.
-\xpg@load@master@language{norwegian}
+\InheritGlossFile{norwegian}
% \end{macrocode}
% \iffalse
@@ -22867,7 +22856,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-norwegian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-norwegian.ldf}[polyglossia: module for Norwegian]
\PolyglossiaSetup{norwegian}{
@@ -22889,28 +22878,32 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias[variant=nynorsk]{norwegian}{nynorsk}
\def\norwegian@variant{nynorsk}
-\define@choicekey*+{norwegian}{variant}[\xpg@val\xpg@nr]{nynorsk,bokmal}[nynorsk]{%
- \ifcase\xpg@nr\relax
- % nynorsk:
- \def\norwegian@variant{nynorsk}%
- \SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk,bcp47=nn,bcp47-language=nn}%
- \xpg@fontsetup@latin{norwegian}%
- \or
- % bokmal:
- \def\norwegian@variant{norsk}%
- \SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk,bcp47=nb,bcp47-language=nb}%
- \xpg@fontsetup@latin{norwegian}%
- \fi
- \xpg@info{Option: norwegian, variant=\xpg@val}%
-}{\xpg@warning{Unknown norwegian variant `#1'}}
+\DeclareKeys[polyglossia/gloss/norwegian]
+ {
+ variant.choice:,
+ variant / nynorsk.code =
+ {%
+ \def\norwegian@variant{nynorsk}%
+ \SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk,bcp47=nn,bcp47-language=nn}%
+ \SetupLatinPolyglossiaFont{norwegian}%
+ },
+ variant / bokmal.code =
+ {%
+ \def\norwegian@variant{norsk}%
+ \SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk,bcp47=nb,bcp47-language=nb}%
+ \SetupLatinPolyglossiaFont{norwegian}%
+ },
+ variant.default:n = nynorsk,
+ variant/unknown.code = \xpg@warning{Unknown norwegian variant `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{norwegian}{variant=nynorsk}
+\InitializeGlossOptions{norwegian}{variant=nynorsk}
\def\norwegian@language{%
- \polyglossia@setup@language@patterns{\norwegian@variant}%
+ \SetupPolyglossiaLangPatterns{\norwegian@variant}%
}%
\def\captionsnorwegian@nynorsk{%
@@ -22994,13 +22987,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nswissgerman.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-nswissgerman.ldf}[polyglossia: module for Swiss German (current spelling)]
% We provide this as a babel alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -23011,14 +23004,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nynorsk.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-nynorsk.ldf}[polyglossia: module for Norwegian (Nynorsk)]
% We only provide this gloss for babel compatibility. Since nynorsk is
% a norwegian variety, we use 'norwegian' with variant 'nynorsk' now.
-\xpg@load@master@language{norwegian}
+\InheritGlossFile{norwegian}
% \end{macrocode}
% \iffalse
@@ -23029,7 +23022,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-occitan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
%%
%% This is file `gloss-occitan.ldf',
@@ -23065,19 +23058,19 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{occitan}{oc}
-\define@boolkey{occitan}[occitan@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/occitan]
+ {
+ babelshorthands.if = occitan@babelshorthands,
+ babelshorthands.default:n = true
+ }
\ifsystem@babelshorthands
- \setkeys{occitan}{babelshorthands=true}
+ \SetGlossOptions{occitan}{babelshorthands=true}
\else
- \setkeys{occitan}{babelshorthands=false}
+ \SetGlossOptions{occitan}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\occitan@shorthands{%
\xpg@activate@shorthands%
@@ -23169,7 +23162,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\today{\occitanday\space \occitanmonth\space de~\number\year}%
}
\let\xpgoc@savedvalues\empty
-\AtEndPreamble{% the user or the class might define different values
+\AddToHook{begindocument/before}{% the user or the class might define different values
\edef\xpgoc@savedvalues{%
\clubpenalty=\the\clubpenalty\space
\@clubpenalty=\the\@clubpenalty\space
@@ -23210,7 +23203,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-odia.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% Translations provided by ଅଶୋକ ଦାସ୍ <das@pas.rochester.edu> and ଅଭିଷେକ ଜେନା <avisekjena@gmail.com>
% TODO implement Odia calendar
@@ -23242,32 +23235,37 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\ifodia@devanagari@numerals
\newif\ifodia@odia@numerals
-\define@choicekey*+{odia}{numerals}[\xpg@val\xpg@nr]{Devanagari,Odia,Western}[Devanagari]{%
- \ifcase\xpg@nr\relax
- % Devanagari:
- \odia@odia@numeralsfalse%
- \odia@devanagari@numeralstrue%
- \SetLanguageKeys{odia}{bcp47=or,bcp47-language=or,bcp47-extension-u=nu-deva}%
- \or
- % Odia:
- \odia@odia@numeralstrue%
- \odia@devanagari@numeralsfalse%
- \or
- % Western:
- \odia@odia@numeralsfalse%
- \odia@devanagari@numeralsfalse%
- \SetLanguageKeys{odia}{bcp47=or,bcp47-language=or,bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Odia, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Odia numeral `#1'}}
-
\def\extras@odia{}
\def\noextras@odia{}
-\define@boolkey{odia}[odia@]{changecounternumbering}[true]{}
+\DeclareKeys[polyglossia/gloss/odia]
+ {
+ changecounternumbering.if = odia@changecounternumbering,
+ changecounternumbering.default:n = true,
+ numerals.choice:,
+ numerals / devanagari.code =
+ {%
+ \odia@odia@numeralsfalse
+ \odia@devanagari@numeralstrue
+ \SetLanguageKeys{odia}{bcp47=or,bcp47-language=or,bcp47-extension-u=nu-deva}%
+ },
+ numerals / odia.code =
+ {%
+ \odia@odia@numeralstrue
+ \odia@devanagari@numeralsfalse
+ },
+ numerals / western.code =
+ {%
+ \odia@odia@numeralsfalse
+ \odia@devanagari@numeralsfalse
+ \SetLanguageKeys{odia}{bcp47=or,bcp47-language=or,bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = devanagari,
+ numerals/unknown.code = \xpg@warning{Unknown Odia numeral `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{odia}{changecounternumbering=false,numerals=Devanagari}
+\InitializeGlossOptions{odia}{changecounternumbering=false,numerals=Devanagari}
\def\captionsodia{%
\def\refname{ସନ୍ଦର୍ଭ}%
@@ -23370,13 +23368,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-or.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-odia.ldf}[polyglossia: module for or (Odia)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{odia}
+\InheritGlossFile{odia}
% \end{macrocode}
% \iffalse
@@ -23387,13 +23385,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-pa.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-pa.ldf}[polyglossia: module for pa (Punjabi)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{punjabi}
+\InheritGlossFile{punjabi}
% \end{macrocode}
% \iffalse
@@ -23404,7 +23402,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-persian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-persian.ldf}[polyglossia: module for Persian]
@@ -23433,42 +23431,36 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias{persian}{farsi}
\newif\if@western@numerals
-\define@choicekey*+{persian}{numerals}[\xpg@val\xpg@nr]{eastern,western}[eastern]{%
- \ifcase\xpg@nr\relax
- % eastern:
- \@western@numeralsfalse%
- \SetLanguageKeys{persian}{bcp47-extension-u=nu-arab}%
- \or
- % western:
- \@western@numeralstrue%
- \SetLanguageKeys{persian}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Persian, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Persian numerals option `#1'}}
-
\newif\ifpersian@customsep\persian@customsepfalse
\def\xpg@sepmark{}
-\define@key{persian}{sectionsep}[.]{%
- \persian@customseptrue%
- \gdef\xpg@sepmark{#1}%
-}
-
-%this is needed for \abjad in arabicnumbers.sty
-\define@boolkey{persian}[persian@]{abjadjimnotail}[true]{%
- \ifpersian@abjadjimnotail
- \abjad@jim@notailtrue%
- \else
- \abjad@jim@notailfalse
- \fi}
-
-% NOT YET USED
-\define@key{persian}{locale}[default]{%
- \def\@persian@locale{#1}}
%TODO add option for CALENDAR
+\DeclareKeys[polyglossia/gloss/persian]
+ {
+ sectionsep.code = \gdef\xpg@sepmark{#1}\persian@customseptrue,
+ sectionsep.default:n = .,
+ abjadjimnotail.if = abjad@jim@notail,
+ abjadjimnotail.default:n = true,
+ locale.store = \@persian@locale,
+ locale.default:n = default,
+ numerals.choice:,
+ numerals / eastern.code =
+ {%
+ \@western@numeralsfalse
+ \SetLanguageKeys{persian}{bcp47-extension-u=nu-arab}%
+ },
+ numerals / western.code =
+ {%
+ \@western@numeralstrue
+ \SetLanguageKeys{persian}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = eastern,
+ numerals/unknown.code = \xpg@warning{Unknown Persian numerals option `#1'}
+ }
+
% Register default options
-\xpg@initialize@gloss@options{persian}{locale=default,numerals=eastern,abjadjimnotail=false}
+\InitializeGlossOptions{persian}{locale=default,numerals=eastern,abjadjimnotail=false}
\def\farsigregmonth#1{\ifcase#1%
\or ژانویه\or فوریه\or مارس\or آوریل\or مه\or ژوئن\or ژوئیه\or اوت\or سپتامبر\or اکتبر\or نوامبر\or دسامبر\fi}
@@ -23553,16 +23545,16 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nopersian@xetex@capsformat{%
- \ifcsdef{xpg@save@sepmark}{%
+ \ifcsname xpg@save@sepmark\endcsname%
\SepMark{\xpg@save@sepmark}
- }{}%
+ \fi%
}
\def\persian@luatex@capsformat{%
%
% change chapter and part headings
\ifpersian@customsep
- \ifcsdef{chapter}{%
+ \ifcsname chapter\endcsname%
\let\xpg@save@thesection\thesection%
\renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
\let\xpg@save@theequation\theequation%
@@ -23574,7 +23566,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\xpg@save@thetable\thetable%
\renewcommand*\thetable{%
\ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
- }{}
+ \fi%
\let\xpg@save@thesubsection\thesubsection%
\renewcommand\thesubsection
{\thesection\xpg@sepmark\@arabic\c@subsection}
@@ -23589,30 +23581,30 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nopersian@luatex@capsformat{%
- \ifcsdef{xpg@save@thesection}{%
+ \ifcsname xpg@save@thesection\endcsname%
\let\thesection\xpg@save@thesection%
- }{}%
- \ifcsdef{xpg@save@theequation}{%
+ \fi%
+ \ifcsname xpg@save@theequation\endcsname%
\let\theequation\xpg@save@theequation%
- }{}%
- \ifcsdef{xpg@save@thefigure}{%
+ \fi%
+ \ifcsname xpg@save@thefigure\endcsname%
\let\thefigure\xpg@save@thefigure%
- }{}%
- \ifcsdef{xpg@save@thetable}{%
+ \fi%
+ \ifcsname xpg@save@thetable\endcsname%
\let\thetable\xpg@save@thetable%
- }{}%
- \ifcsdef{xpg@save@thesubsection}{%
+ \fi%
+ \ifcsname xpg@save@thesubsection\endcsname%
\let\thesubsection\xpg@save@thesubsection%
- \ifcsdef{xpg@save@thesubsubsection}{%
+ \ifcsname xpg@save@thesubsubsection\endcsname%
\let\thesubsubsection\xpg@save@thesubsubsection%
- }{}%
- }{}%
- \ifcsdef{xpg@save@theparagraph}{%
+ \fi%
+ \fi%
+ \ifcsname xpg@save@theparagraph\endcsname%
\let\theparagraph\xpg@save@theparagraph%
- }{}%
- \ifcsdef{xpg@save@thesubparagraph}{%
+ \fi%
+ \ifcsname xpg@save@thesubparagraph\endcsname%
\let\thesubparagraph\xpg@save@thesubparagraph%
- }{}%
+ \fi%
}
\def\blockextras@persian{%
@@ -23645,7 +23637,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \subsection{gloss-piedmontese.ldf}
% \begin{macrocode}
% !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-piedmontese.ldf}[2013/02/12 v1.0 polyglossia: module for Piedmontese]
\makeatletter
@@ -23663,19 +23655,19 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{piedmontese}{pms}
-\define@boolkey{piedmontese}[piedmontese@]{babelshorthands}[true]{}
+\DeclareKeys[polyglossia/gloss/piedmontese]
+ {
+ babelshorthands.if = piedmontese@babelshorthands,
+ babelshorthands.default:n = true
+ }
\ifsystem@babelshorthands
- \setkeys{piedmontese}{babelshorthands=true}
+ \SetGlossOptions{piedmontese}{babelshorthands=true}
\else
- \setkeys{piedmontese}{babelshorthands=false}
+ \SetGlossOptions{piedmontese}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\piedmontese@shorthands{%
\xpg@activate@shorthands%
@@ -23739,7 +23731,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
ëd luj\or d'agost\or dë stèmber\or d'otóber\or ëd novèmber\or dë dzèmber%
\fi\space dal\space\number\year}}
-\AtEndPreamble{%
+\AddToHook{begindocument/before}{%
\edef\xpgpms@savedvalues{%
\clubpenalty=\the\clubpenalty\space
\@clubpenalty=\the\@clubpenalty\space
@@ -23775,7 +23767,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-polish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-polish.ldf}[polyglossia: module for Polish]
@@ -23797,26 +23789,26 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\RequirePackage{luavlna}
\fi
-\define@boolkey{polish}[polish@]{babelshorthands}[true]{}
-
-\define@boolkey{polish}[polish@]{splithyphens}[true]{}
-
-\define@boolkey{polish}[polish@]{vlna}[true]{}
+\DeclareKeys[polyglossia/gloss/polish]
+ {
+ babelshorthands.if = polish@babelshorthands,
+ babelshorthands.default:n = true,
+ splithyphens.if = polish@splithyphens,
+ splithyphens.default:n = true,
+ vlna.if = polish@vlna,
+ vlna.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{polish}{babelshorthands=false,splithyphens=true,vlna=true}
+\InitializeGlossOptions{polish}{babelshorthands=false,splithyphens=true,vlna=true}
\ifsystem@babelshorthands
- \setkeys{polish}{babelshorthands=true}
+ \SetGlossOptions{polish}{babelshorthands=true}
\else
- \setkeys{polish}{babelshorthands=false}
+ \SetGlossOptions{polish}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\let\xpg@hyphen@char-
\def\polish@@splhyphen#1{%
@@ -24034,13 +24026,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-polutonikogreek.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-polutonikogreek.ldf}[polyglossia: module for polytonic Greek]
% We provide this as a babel alias
-\xpg@load@master@language{greek}
+\InheritGlossFile{greek}
% \end{macrocode}
% \iffalse
@@ -24051,7 +24043,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-portuges.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-portuges.ldf}[polyglossia: module for Portuguese]
@@ -24060,7 +24052,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% introduced it in 8.3 filename times). Since polyglossia uses full
% English language names, we use 'portuguese' now.
-\xpg@load@master@language{portuguese}
+\InheritGlossFile{portuguese}
% \end{macrocode}
% \iffalse
@@ -24071,7 +24063,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-portuguese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-portuguese.ldf}[polyglossia: module for Portuguese]
@@ -24101,41 +24093,42 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\fi
\def\portuguese@variant{portuges}
-\define@choicekey*+{portuguese}{variant}[\xpg@val\xpg@nr]{portuguese,brazilian}[portuguese]{%
- \ifcase\xpg@nr\relax
- % portuguese:
- \def\portuguese@variant{portuges}%
- \SetLanguageKeys{portuguese}{babelname=portuges,bcp47=pt-PT,bcp47-language=pt,bcp47-region=PT}%
- \or
- % brazilian:
- \def\portuguese@variant{brazil}%
- \SetLanguageKeys{portuguese}{babelname=brazil,bcp47=pt-BR,bcp47-language=pt,bcp47-region=BR}%
- % There are no specific brazil patterns
- \adddialect\l@brazil\l@portuges\relax%
- \fi
- \xpg@info{Option: portuguese, variant=\xpg@val}%
-}{\xpg@warning{Unknown portuguese variant `#1'}}
-
-\define@boolkey{portuguese}[portuguese@]{babelshorthands}[true]{}
-\define@boolkey{portuguese}[portuguese@]{splithyphens}[true]{}
+\DeclareKeys[polyglossia/gloss/portuguese]
+ {
+ babelshorthands.if = portuguese@babelshorthands,
+ babelshorthands.default:n = true,
+ splithyphens.if = portuguese@splithyphens,
+ splithyphens.default:n = true,
+ variant.choice:,
+ variant / portuguese.code =
+ {%
+ \def\portuguese@variant{portuges}%
+ \SetLanguageKeys{portuguese}{babelname=portuges,bcp47=pt-PT,bcp47-language=pt,bcp47-region=PT}%
+ },
+ variant / brazilian.code =
+ {%
+ \def\portuguese@variant{brazil}%
+ \SetLanguageKeys{portuguese}{babelname=brazil,bcp47=pt-BR,bcp47-language=pt,bcp47-region=BR}%
+ % There are no specific brazil patterns
+ \adddialect\l@brazil\l@portuges\relax
+ },
+ variant.default:n = portuguese,
+ variant/unknown.code = \xpg@warning{Unknown portuguese variant `#1'},
+ }
% Register default options
-\xpg@initialize@gloss@options{portuguese}{variant=portuguese,
+\InitializeGlossOptions{portuguese}{variant=portuguese,
babelshorthands=false,
splithyphens=true}
\ifsystem@babelshorthands
- \setkeys{portuguese}{babelshorthands=true}
+ \SetGlossOptions{portuguese}{babelshorthands=true}
\else
- \setkeys{portuguese}{babelshorthands=false}
+ \SetGlossOptions{portuguese}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\let\xpg@hyphen@char-
\def\portuguese@@splhyphen#1{%
@@ -24204,7 +24197,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\portuguese@language{%
- \polyglossia@setup@language@patterns{\portuguese@variant}%
+ \SetupPolyglossiaLangPatterns{\portuguese@variant}%
}%
\def\captionsportuguese@portuges{%
@@ -24302,7 +24295,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-punjabi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
% UTF-8 strings kindly provided by
% Arvinder Singh Kang, <17-11-2022>
@@ -24329,26 +24322,31 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\punjabi@language{%
% patterns are spelled panjabi
- \polyglossia@setup@language@patterns{panjabi}%
+ \SetupPolyglossiaLangPatterns{panjabi}%
}
\newif\ifpunjabi@gurmukhi@numerals
\punjabi@gurmukhi@numeralstrue
-\define@choicekey*+{punjabi}{numerals}[\xpg@val\xpg@nr]{Gurmukhi,Western}[Gurmukhi]{%
- \ifcase\xpg@nr\relax
- % Gurmukhi:
- \punjabi@gurmukhi@numeralstrue%
- \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-guru}%
- \or
- % Western:
- \punjabi@gurmukhi@numeralsfalse%
- \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Punjabi, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Punjabi numeral `#1'}}
+
+\DeclareKeys[polyglossia/gloss/punjabi]
+ {
+ numerals.choice:,
+ numerals / gurmukhi.code =
+ {%
+ \punjabi@gurmukhi@numeralstrue
+ \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-guru}%
+ },
+ numerals / western.code =
+ {%
+ \punjabi@gurmukhi@numeralsfalse
+ \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = gurmukhi,
+ numerals/unknown.code = \xpg@warning{Unknown Punjabi numeral `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{punjabi}{numerals=gurmukhi}
+\InitializeGlossOptions{punjabi}{numerals=gurmukhi}
\newcommand{\punjabinumerals}[2]{\punjabinumber{#2}}
@@ -24410,7 +24408,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-romanian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-romanian.ldf}[polyglossia: module for Romanian]
@@ -24469,7 +24467,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-romansh.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-romansh.ldf}[polyglossia: module for Romansh]
\makeatletter
@@ -24527,7 +24525,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-russian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-russian.ldf}[polyglossia: module for Russian]
@@ -24556,11 +24554,6 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias*[spelling=old]{russian}{ru-petr1708}
\newif\if@russian@modern
-\define@key{russian}{spelling}[modern]{%
- \ifstrequal{#1}{old}%
- {\@russian@modernfalse\SetLanguageKeys{russian}{bcp47=ru-petr1708,bcp47-variant=petr1708}}%
- {\@russian@moderntrue\SetLanguageKeys{russian}{bcp47=ru,bcp47-variant=luna1918}}%
-}
\def\captionsrussian{%
\if@russian@modern\captionsrussian@modern\else\captionsrussian@old\fi%
@@ -24572,49 +24565,68 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{russian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\xpg@nr\relax
- % arabic:
- \cyrillic@numeralsfalse%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{russian}{bcp47-extension-u=nu-latn}%
- \or
- % cyrillic:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
- \or
- % cyrillic-trad:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
- \or
- % cyrillic-alph:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralstrue%
- \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
- \fi
- \xpg@info{Option: Russian, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Russian numerals value `#1'}}
-\define@boolkey{russian}[russian@]{indentfirst}[true]{%
- \ifrussian@indentfirst
- \SetLanguageKeys{russian}{indentfirst=true}%
- \else
- \SetLanguageKeys{russian}{indentfirst=false}%
- \fi%
-}
-
-\define@boolkey{russian}[russian@]{babelshorthands}[true]{}
-
-% Force punctuation after heading number
-\define@boolkey{russian}[russian@]{forceheadingpunctuation}[true]{}
-
-% Define some math functions
-\define@boolkey{russian}[russian@]{mathfunctions}[true]{}
+\DeclareKeys[polyglossia/gloss/russian]
+ {
+ babelshorthands.if = russian@babelshorthands,
+ babelshorthands.default:n = true,
+ forceheadingpunctuation.if = russian@forceheadingpunctuation,
+ forceheadingpunctuation.default:n = true,
+ mathfunctions.if = russian@mathfunctions,
+ mathfunctions.default:n = true,
+ spelling.choice:,
+ spelling / modern.code =
+ {%
+ \@russian@moderntrue
+ \SetLanguageKeys{russian}{bcp47=ru,bcp47-variant=luna1918}%
+ },
+ spelling / old.code =
+ {%
+ \@russian@modernfalse
+ \SetLanguageKeys{russian}{bcp47=ru-petr1708,bcp47-variant=petr1708}%
+ },
+ spelling.default:n = modern,
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \cyrillic@numeralsfalse
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{russian}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / cyrillic.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals / cyrillic-trad.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals / cyrillic-alph.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralstrue
+ \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Russian numerals value `#1'},
+ indentfirst.choice:,
+ indentfirst / true.code =
+ {%
+ \SetLanguageKeys{russian}{indentfirst=true}%
+ },
+ indentfirst / false.code =
+ {%
+ \SetLanguageKeys{russian}{indentfirst=false}%
+ },
+ indentfirst.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{russian}{babelshorthands=false,
+\InitializeGlossOptions{russian}{babelshorthands=false,
spelling=modern,
numerals=arabic,
indentfirst=true,
@@ -24623,16 +24635,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifsystem@babelshorthands
- \setkeys{russian}{babelshorthands=true}
+ \SetGlossOptions{russian}{babelshorthands=true}
\else
- \setkeys{russian}{babelshorthands=false}
+ \SetGlossOptions{russian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\russian@shorthands{%
\xpg@activate@shorthands%
@@ -24684,7 +24692,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\bibname{Литература}%
\def\chaptername{Глава}%
\def\appendixname{Приложение}%
- \ifcsundef{thechapter}%
+ \@ifundefined{thechapter}%
{\def\contentsname{Содержание}}%
{\def\contentsname{Оглавление}}%
\def\listfigurename{Список иллюстраций}%
@@ -24727,7 +24735,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\bibname{Библіографія}%
\def\chaptername{Глава}%
\def\appendixname{Приложеніе}%
- \ifcsundef{thechapter}%
+ \@ifundefined{thechapter}%
{\def\contentsname{Содержаніе}}%
{\def\contentsname{Оглавленіе}}%
\def\listfigurename{Списокъ иллюстрацій}%
@@ -24926,7 +24934,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-sami.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-sami.ldf}[polyglossia: module for Sami]
@@ -24956,19 +24964,19 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% % northern:
% \def\sami@variant{samin}%
% \SetLanguageKeys{sami}{language=Northern Sami,langtag=NSM}%
-% \xpg@fontsetup@latin{sami}%
+% \SetupLatinPolyglossiaFont{sami}%
% \or
% % other:
% \def\sami@variant{}%
% \SetLanguageKeys{sami}{language= Sami,langtag=}%
-% \xpg@fontsetup@latin{sami}%
+% \SetupLatinPolyglossiaFont{sami}%
% \fi
% \xpg@info{Option: sami, variant=\xpg@val}%
%}{\xpg@warning{Unknown sami variant `#1'}}
%\def\sami@language{%
-% \polyglossia@setup@language@patterns{\sami@variant}%
+% \SetupPolyglossiaLangPatterns{\sami@variant}%
%}%
\def\captionssami@northern{%
@@ -25030,14 +25038,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-samin.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-samin.ldf}[polyglossia: module for Northern Sami]
% We only provide this gloss for babel compatibility. Since samin is
% a sami variety, we use 'sami' with variant 'northern' now.
-\xpg@load@master@language{sami}
+\InheritGlossFile{sami}
% \end{macrocode}
% \iffalse
@@ -25048,7 +25056,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-sanskrit.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for Sanskrit]
@@ -25077,56 +25085,55 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias*[script=gujarati]{sanskrit}{sa-Gujr}
\setlanguagealias*[script=latin]{sanskrit}{sa-Latn}
-\define@key{sanskrit}{Script}[devanagari]{%
- \ifcsdef{fontsetup@sanskrit@#1}%
- {\csname fontsetup@sanskrit@#1\endcsname}%
- {\xpg@error{`#1' is not a valid script for Sanskrit}%
- }%
-}
-
-\define@key{sanskrit}{script}[devanagari]{\setkeys{sanskrit}{Script=#1}}
-
\def\fontsetup@sanskrit@devanagari{%
\SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari,bcp47=sa-Deva,bcp47-language=sa,bcp47-script=Deva,bcp47-casing=sa-Deva}
- \xpg@fontsetup@nonlatin{sanskrit}}
+ \SetupNonLatinPolyglossiaFont{sanskrit}}
\def\fontsetup@sanskrit@gujarati{%
\SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati,bcp47=sa-Gujr,bcp47-language=sa,bcp47-script=Gujr,bcp47-casing=sa-Gujr}
- \xpg@fontsetup@nonlatin{sanskrit}}
+ \SetupNonLatinPolyglossiaFont{sanskrit}}
\def\fontsetup@sanskrit@malayalam{%
\SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam,bcp47=sa-Mlym,bcp47-language=sa,bcp47-script=Mlym,bcp47-casing=sa-Mlym}
- \xpg@fontsetup@nonlatin{sanskrit}}
+ \SetupNonLatinPolyglossiaFont{sanskrit}}
\def\fontsetup@sanskrit@bengali{%
\SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali,bcp47=sa-Beng,bcp47-language=sa,bcp47-script=Beng,bcp47-casing=sa-Beng}
- \xpg@fontsetup@nonlatin{sanskrit}}
+ \SetupNonLatinPolyglossiaFont{sanskrit}}
\def\fontsetup@sanskrit@kannada{%
\SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada,bcp47=sa-Knda,bcp47-language=sa,bcp47-script=Knda,bcp47-casing=sa-Knda}
- \xpg@fontsetup@nonlatin{sanskrit}}
+ \SetupNonLatinPolyglossiaFont{sanskrit}}
\def\fontsetup@sanskrit@telugu{%
\SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu,bcp47=sa-Relu,bcp47-language=sa,bcp47-script=Relu,bcp47-casing=sa-Relu}
- \xpg@fontsetup@nonlatin{sanskrit}}
+ \SetupNonLatinPolyglossiaFont{sanskrit}}
\def\fontsetup@sanskrit@latin{%
\SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin,bcp47=sa-Latn,bcp47-language=sa,bcp47-script=Latn,bcp47-casing=sa-Latn}
- \xpg@fontsetup@latin{sanskrit}}
+ \SetupLatinPolyglossiaFont{sanskrit}}
\newif\ifsanskrit@devanagari@numerals
\sanskrit@devanagari@numeralstrue
-\define@choicekey*+{sanskrit}{numerals}[\xpg@val\xpg@nr]{devanagari,western}[devanagari]{%
- \ifcase\xpg@nr\relax
- % devanagari:
- \sanskrit@devanagari@numeralstrue%
- \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-deva}%
- \or
- % western:
- \sanskrit@devanagari@numeralsfalse%
- \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Sanskrit, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Sanskrit numeral `#1'}}
+\DeclareKeys[polyglossia/gloss/sanskrit]
+ {
+ script.code = \@ifundefined{fontsetup@sanskrit@#1}%
+ {\xpg@error{`#1' is not a valid script for Sanskrit}}%
+ {\csname fontsetup@sanskrit@#1\endcsname},
+ script.default:n = devanagari,
+ numerals.choice:,
+ numerals / devanagari.code =
+ {%
+ \sanskrit@devanagari@numeralstrue
+ \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-deva}%
+ },
+ numerals / western.code =
+ {%
+ \sanskrit@devanagari@numeralsfalse
+ \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = devanagari,
+ numerals/unknown.code = \xpg@warning{Unknown Sanskrit numeral `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{sanskrit}{script=devanagari,numerals=devanagari}
+\InitializeGlossOptions{sanskrit}{script=devanagari,numerals=devanagari}
% Use \providecommand here as the ldf file might
% be reloaded via BCP.
@@ -25207,14 +25214,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-scottish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-scottish.ldf}[polyglossia: module for Scottish Gaelic]
% We only provide this gloss for babel compatibility. Since scottish is
% a gaelic variety, we use 'gaelic' with variant 'scottish' now.
-\xpg@load@master@language{gaelic}
+\InheritGlossFile{gaelic}
% \end{macrocode}
% \iffalse
@@ -25225,7 +25232,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-serbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-serbian.ldf}[polyglossia: module for Serbian]
%TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf
@@ -25266,67 +25273,10 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\fi
\newif\if@serbian@cyr
-\define@choicekey*+{serbian}{Script}[\xpg@val\xpg@nr]{cyrillic,latin}[cyrillic]{%
- \ifcase\xpg@nr\relax
- % cyrillic:
- \@serbian@cyrtrue
- \xpg@fontsetup@nonlatin{serbian}%
- \or
- % latin:
- \@serbian@cyrfalse
- \xpg@fontsetup@latin{serbian}%
- %TODO \def\serbian@language{\language=\l@serbianlat}%
- % or should we use Croatian patterns as a fallback for the time being???
- \fi
- \serbian@set@languagekeys%
- \xpg@info{Option: Serbian, script=\xpg@val}%
-}{\xpg@warning{Unknown Serbian script `#1'}}
-
-\define@key{serbian}{script}[cyrillic]{\setkeys{serbian}{Script=#1}}
-
\newif\if@serbian@ijekavian
-\define@choicekey*+{serbian}{variant}[\xpg@val\xpg@nr]{ekavian,ijekavian}[ekavian]{%
- \ifcase\xpg@nr\relax
- % ekavian:
- \@serbian@ijekavianfalse%
- \or
- % ijekavian:
- \@serbian@ijekaviantrue%
- \fi
- \serbian@set@languagekeys%
- \xpg@info{Option: Serbian, variant=\xpg@val}%
-}{\xpg@warning{Unknown Serbian variant `#1'}}
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{serbian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\xpg@nr\relax
- % arabic:
- \cyrillic@numeralsfalse%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{serbian}{bcp47-extension-u=nu-latn}%
- \or
- % cyrillic:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
- \or
- % cyrillic-trad:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
- \or
- % cyrillic-alph:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralstrue%
- \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
- \fi
- \xpg@info{Option: Serbian, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Serbian numerals value `#1'}}
-
-\define@boolkey{serbian}[serbian@]{splithyphens}[true]{}
-
-\define@boolkey{serbian}[serbian@]{datei}[true]{}
\def\serbian@set@languagekeys{%
\if@serbian@cyr
@@ -25344,10 +25294,75 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\fi%
}
-\setkeys{serbian}{Script,numerals}
+\DeclareKeys[polyglossia/gloss/serbian]
+ {
+ splithyphens.if = serbian@splithyphens,
+ splithyphens.default:n = true,
+ datei.if = serbian@datei,
+ datei.default:n = true,
+ variant.choice:,
+ variant / ekavian.code =
+ {%
+ \@serbian@ijekavianfalse
+ \serbian@set@languagekeys
+ },
+ variant / ijekavian.code =
+ {%
+ \@serbian@ijekaviantrue
+ \serbian@set@languagekeys
+ },
+ variant.default:n = ekavian,
+ variant/unknown.code = \xpg@warning{Unknown Serbian variant `#1'},
+ script.choice:,
+ script / cyrillic.code =
+ {%
+ \@serbian@cyrtrue
+ \SetupNonLatinPolyglossiaFont{serbian}%
+ \serbian@set@languagekeys
+ },
+ script / latin.code =
+ {%
+ \@serbian@cyrfalse
+ \SetupLatinPolyglossiaFont{serbian}%
+ %TODO \def\serbian@language{\language=\l@serbianlat}%
+ % or should we use Croatian patterns as a fallback for the time being???
+ \serbian@set@languagekeys
+ },
+ script.default:n = cyrillic,
+ script/unknown.code = \xpg@warning{Unknown Serbian script `#1'},
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \cyrillic@numeralsfalse
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{serbian}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / cyrillic.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals / cyrillic-trad.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals / cyrillic-alph.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralstrue
+ \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Serbian numerals value `#1'}
+ }
+
+\SetGlossOptions{serbian}{script,numerals}
% Register default options
-\xpg@initialize@gloss@options{serbian}{script=cyrillic,numerals=arabic,splithyphens=true}
+\InitializeGlossOptions{serbian}{script=cyrillic,numerals=arabic,splithyphens=true}
\def\captionsserbian{%
\if@serbian@cyr\captionsserbian@cyr\else\captionsserbian@lat\fi
@@ -25648,13 +25663,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-serbianc.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-serbianc.ldf}[polyglossia: module for Serbian (cyrillic)]
% We provide this as a babel alias
-\xpg@load@master@language{serbian}
+\InheritGlossFile{serbian}
% \end{macrocode}
% \iffalse
@@ -25665,7 +25680,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-slovak.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-slovak.ldf}[polyglossia: module for Slovak]
@@ -25686,26 +25701,26 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\RequirePackage{luavlna}
\fi
-\define@boolkey{slovak}[slovak@]{babelshorthands}[true]{}
-
-\define@boolkey{slovak}[slovak@]{splithyphens}[true]{}
-
-\define@boolkey{slovak}[slovak@]{vlna}[true]{}
+\DeclareKeys[polyglossia/gloss/slovak]
+ {
+ babelshorthands.if = slovak@babelshorthands,
+ babelshorthands.default:n = true,
+ splithyphens.if = slovak@splithyphens,
+ splithyphens.default:n = true,
+ vlna.if = slovak@vlna,
+ vlna.default:n = true,
+ }
% Register default options
-\xpg@initialize@gloss@options{slovak}{babelshorthands=false,splithyphens=true,vlna=true}
+\InitializeGlossOptions{slovak}{babelshorthands=false,splithyphens=true,vlna=true}
\ifsystem@babelshorthands
- \setkeys{slovak}{babelshorthands=true}
+ \SetGlossOptions{slovak}{babelshorthands=true}
\else
- \setkeys{slovak}{babelshorthands=false}
+ \SetGlossOptions{slovak}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\let\xpg@hyphen@char-
\def\slovak@@splhyphen#1{%
@@ -25881,7 +25896,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\contentsname{Obsah}%
\def\listfigurename{Zoznam obrázkov}%
\def\listtablename{Zoznam tabuliek}%
- \def\indexname{Index}%
+ \def\indexname{Register}%
\def\figurename{Obrázok}%
\def\tablename{Tabuľka}%
%\def\thepart{}%
@@ -25932,13 +25947,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-slovene.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-slovene.ldf}[polyglossia: module for Slovenian]
% We provide this as a babel alias
-\xpg@load@master@language{slovenian}
+\InheritGlossFile{slovenian}
% \end{macrocode}
% \iffalse
@@ -25949,7 +25964,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-slovenian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for Slovenian]
@@ -25970,10 +25985,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% Babel aliases
\setlanguagealias{slovenian}{slovene}
-\define@boolkey{slovenian}[slovenian@]{localalph}[true]{}
+\DeclareKeys[polyglossia/gloss/slovenian]
+ {
+ localalph.if = slovenian@localalph,
+ localalph.default:n = true
+ }
% Register default options
-\xpg@initialize@gloss@options{slovenian}{localalph=false}
+\InitializeGlossOptions{slovenian}{localalph=false}
\def\captionsslovenian{%
@@ -26041,7 +26060,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-sorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-sorbian.ldf}[polyglossia: module for Sorbian]
@@ -26069,60 +26088,40 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias[variant=upper]{sorbian}{uppersorbian}
\def\sorbian@variant{usorbian}
-\define@choicekey*+{sorbian}{variant}[\xpg@val\xpg@nr]{upper,lower}[upper]{%
- \ifcase\xpg@nr\relax
- % upper:
- \def\sorbian@variant{usorbian}%
- \SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian,bcp47=hsb,bcp47-language=hsb}%
- \xpg@fontsetup@latin{sorbian}%
- % Check if \l@usorbian is defined. If not, try to set it to some variety
- % (specific order as in the csv list below), or null language if everything fails
- \xpg@ifdefined{usorbian}{}{%
- \def\do##1{%
- \xpg@ifdefined{##1}%
- {\csletcs{l@usorbian}{l@##1}\listbreak}%
- {}%
- }%
- \docsvlist{uppersorbian}
- \xpg@ifdefined{usorbian}{}{%
- \xpg@warning{No hyphenation patterns for Upper Sorbian found\MessageBreak
- I will use the 'null' language instead}%
- \adddialect\l@usorbian0%
- }
- }%
- \or
- % lower:
- \def\sorbian@variant{lsorbian}%
- \SetLanguageKeys{sorbian}{language=Lower Sorbian,langtag=LSB,babelname=lowersorbian,bcp47=dsb,bcp47-language=dsb}%
- \xpg@fontsetup@latin{sorbian}%
- % Check if \l@lsorbian is defined. If not, try to set it to some variety
- % (specific order as in the csv list below), or null language if everything fails
- \xpg@ifdefined{lsorbian}{}{%
- \def\do##1{%
- \xpg@ifdefined{##1}%
- {\csletcs{l@lsorbian}{l@##1}\listbreak}%
- {}%
- }%
- \docsvlist{lowersorbian,Lsorbian,usorbian,uppersorbian}
- \xpg@ifdefined{lsorbian}{}{%
- \xpg@warning{No hyphenation patterns for Lower Sorbian found\MessageBreak
- I will use the 'null' language instead}%
- \adddialect\l@lsorbian0%
- }
- }%
- \fi
- \xpg@info{Option: sorbian, variant=\xpg@val}%
-}{\xpg@warning{Unknown sorbian variant `#1'}}
-
-\define@boolkey{sorbian}[sorbian@]{olddate}[true]{}
+\DeclareKeys[polyglossia/gloss/sorbian]
+ {
+ olddate.if = sorbian@olddate,
+ olddate.default:n = true,
+ variant.choice:,
+ variant / upper.code =
+ {%
+ \def\sorbian@variant{usorbian}%
+ \SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian,bcp47=hsb,bcp47-language=hsb}%
+ \SetupLatinPolyglossiaFont{sorbian}%
+ % Check if \l@usorbian is defined. If not, try to set it to some variety
+ % (specific order as in the csv list), or null language if everything fails
+ \TryPatternWithFallback{usorbian}{uppersorbian}%
+ },
+ variant / lower.code =
+ {%
+ \def\sorbian@variant{lsorbian}%
+ \SetLanguageKeys{sorbian}{language=Lower Sorbian,langtag=LSB,babelname=lowersorbian,bcp47=dsb,bcp47-language=dsb}%
+ \SetupLatinPolyglossiaFont{sorbian}%
+ % Check if \l@lsorbian is defined. If not, try to set it to some variety
+ % (specific order as in the csv list), or null language if everything fails
+ \TryPatternWithFallback{lsorbian}{lowersorbian,Lsorbian,usorbian,uppersorbian}%
+ },
+ variant.default:n = upper,
+ variant/unknown.code = \xpg@warning{Unknown sorbian variant `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{sorbian}{variant=upper,olddate=false}
+\InitializeGlossOptions{sorbian}{variant=upper,olddate=false}
\def\sorbian@language{%
- \polyglossia@setup@language@patterns{\sorbian@variant}%
+ \SetupPolyglossiaLangPatterns{\sorbian@variant}%
}%
@@ -26232,7 +26231,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-spanish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-spanish.ldf}[polyglossia: module for Spanish]
@@ -26261,52 +26260,58 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@spanish@mexico
\@spanish@mexicofalse
-\define@choicekey*+{spanish}{variant}[\xpg@val\xpg@nr]{spanish,mexican}[spanish]{%
- \ifcase\xpg@nr\relax
- % spanish:
- \@spanish@mexicofalse%
- \SetLanguageKeys{spanish}{babelname=spanish,bcp47=es-ES,bcp47-region=ES}%
- \or
- % mexican:
- \@spanish@mexicotrue%
- \SetLanguageKeys{spanish}{babelname=spanishmx,bcp47=es-MX,bcp47-region=MX}%
- \fi
- \xpg@info{Option: spanish, variant=\xpg@val}%
-}{\xpg@warning{Unknown spanish variant `#1'}}
% Localized math operators à la babel
\newif\ifspanish@accentedoperators
\newif\ifspanish@spacedoperators
\newif\ifspanish@locoperators
-\define@choicekey*+{spanish}{spanishoperators}[\xpg@val\xpg@nr]{all,accented,spaced,none}[all]{%
- \ifcase\xpg@nr\relax
- % all:
- \spanish@locoperatorstrue%
- \spanish@accentedoperatorstrue%
- \spanish@spacedoperatorstrue%
- \or
- % accented:
- \spanish@locoperatorsfalse%
- \spanish@accentedoperatorstrue%
- \spanish@spacedoperatorsfalse%
- \or
- % spaced:
- \spanish@locoperatorsfalse%
- \spanish@accentedoperatorsfalse%
- \spanish@spacedoperatorstrue%
- \or
- % none:
- \spanish@locoperatorsfalse%
- \spanish@accentedoperatorsfalse%
- \spanish@spacedoperatorsfalse%
- \fi
- \xpg@info{Option: Spanish, spanishoperators=\xpg@val}%
-}{\xpg@warning{Unknown spanishoperators value `#1'}}
-
+\DeclareKeys[polyglossia/gloss/spanish]
+ {
+ variant.choice:,
+ variant / spanish.code =
+ {%
+ \@spanish@mexicofalse
+ \SetLanguageKeys{spanish}{babelname=spanish,bcp47=es-ES,bcp47-region=ES}%
+ },
+ variant / mexican.code =
+ {%
+ \@spanish@mexicotrue
+ \SetLanguageKeys{spanish}{babelname=spanishmx,bcp47=es-MX,bcp47-region=MX}%
+ },
+ variant.default:n = spanish,
+ variant/unknown.code = \xpg@warning{Unknown spanish variant `#1'},
+ spanishoperators.choice:,
+ spanishoperators / all.code =
+ {%
+ \spanish@locoperatorstrue
+ \spanish@accentedoperatorstrue
+ \spanish@spacedoperatorstrue
+ },
+ spanishoperators / accented.code =
+ {%
+ \spanish@locoperatorsfalse
+ \spanish@accentedoperatorstrue
+ \spanish@spacedoperatorsfalse
+ },
+ spanishoperators / spaced.code =
+ {%
+ \spanish@locoperatorsfalse
+ \spanish@accentedoperatorsfalse
+ \spanish@spacedoperatorstrue
+ },
+ spanishoperators / none.code =
+ {%
+ \spanish@locoperatorsfalse
+ \spanish@accentedoperatorsfalse
+ \spanish@spacedoperatorsfalse
+ },
+ spanishoperators.default:n = all,
+ spanishoperators/unknown.code = \xpg@warning{Unknown spanishoperators value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{spanish}{variant=spanish,spanishoperators=none}
+\InitializeGlossOptions{spanish}{variant=spanish,spanishoperators=none}
\let\xpg@save@lim\lim
\let\xpg@save@limsup\limsup
@@ -26472,13 +26477,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-spanishmx.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-spanishmx.ldf}[polyglossia: module for Mexican Spanish]
% We provide this as a babel alias
-\xpg@load@master@language{spanish}
+\InheritGlossFile{spanish}
% \end{macrocode}
% \iffalse
@@ -26489,7 +26494,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-swedish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-swedish.ldf}[polyglossia: module for Swedish]
@@ -26554,13 +26559,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-swissgerman.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-swissgerman.ldf}[polyglossia: module for Swiss German (old spelling)]
% We provide this as a babel alias
-\xpg@load@master@language{german}
+\InheritGlossFile{german}
% \end{macrocode}
% \iffalse
@@ -26571,7 +26576,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-syriac.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-syriac.ldf}[polyglossia: module for Syriac]
@@ -26595,34 +26600,37 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{syriac}{syr}
-\def\syriacnumber#1{\@syriacnumber{#1}}%
+\def\syriacnumber#1{\@syriacnumber{#1}}
\newif\if@eastern@numerals
-\define@choicekey*+{syriac}{numerals}[\xpg@val\xpg@nr]{eastern,western,abjad}[eastern]{%
- \ifcase\xpg@nr\relax
- % eastern:
- \@eastern@numeralstrue
- \SetLanguageKeys{syriac}{bcp47-extension-u=nu-syrc}%
- \or
- % western:
- \@eastern@numeralsfalse
- \SetLanguageKeys{syriac}{bcp47-extension-u=nu-latn}%
- \or
- % abjad:
- \let\syriacnumber\abjadsyriac%
- \fi
- \xpg@info{Option: Syriac, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Syriac numerals option `#1'}}
-
\newif\ifsyriac@customsep\syriac@customsepfalse
\def\xpg@sepmark{}
-\define@key{syriac}{sectionsep}[.]{%
- \syriac@customseptrue%
- \gdef\xpg@sepmark{#1}%
-}
+
+\DeclareKeys[polyglossia/gloss/syriac]
+ {
+ sectionsep.code = \gdef\xpg@sepmark{#1}\syriac@customseptrue,
+ sectionsep.default:n = .,
+ numerals.choice:,
+ numerals / eastern.code =
+ {%
+ \@eastern@numeralstrue
+ \SetLanguageKeys{syriac}{bcp47-extension-u=nu-syrc}%
+ },
+ numerals / western.code =
+ {%
+ \@eastern@numeralsfalse
+ \SetLanguageKeys{syriac}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / abjad.code =
+ {%
+ \let\syriacnumber\abjadsyriac
+ },
+ numerals.default:n = eastern,
+ numerals/unknown.code = \xpg@warning{Unknown Syriac numerals option `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{syriac}{numerals=western}
+\InitializeGlossOptions{syriac}{numerals=western}
%\define@key{polyglossia}{syriaclocale}[default]{%
% \def\@syriac@locale{#1}}
@@ -26709,13 +26717,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\IfCharIsAvailableTF{0661}%
{\@ensure@LTR{\protect\arabicdigits{\number#1}}}%
{\@ensure@LTR{\arabicdigits{\number#1}}
- \ifcsdef{arabicfont}%
- {\@ensure@LTR{\protect\arabicdigits{\number#1}}%
- \xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs:
- I am using \string\arabicfont instead}}%
+ \@ifundefined{arabicfont}%
{\number#1%%% <---changed from \RL{\protect\reset@font\protect\number#1}%
\xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs:
since \string\arabicfont is not defined, we'll use Western numerals instead}}%
+ {\@ensure@LTR{\protect\arabicdigits{\number#1}}%
+ \xpg@warning{You have specified the option numerals=eastern for Syriac, but the Syriac font does not contain the appropriate glyphs:
+ I am using \string\arabicfont instead}}%
}%
\else
%%\RL{\protect\reset@font\number#1}%
@@ -26753,16 +26761,16 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nosyriac@xetex@capsformat{%
- \ifcsdef{xpg@save@sepmark}{%
+ \ifcsname xpg@save@sepmark\endcsname%
\SepMark{\xpg@save@sepmark}
- }{}%
+ \fi%
}
\def\syriac@luatex@capsformat{%
%
% change chapter and part headings
\ifsyriac@customsep
- \ifcsdef{chapter}{%
+ \ifcsname chapter\endcsname%
\let\xpg@save@thesection\thesection%
\renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
\let\xpg@save@theequation\theequation%
@@ -26774,7 +26782,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\xpg@save@thetable\thetable%
\renewcommand*\thetable{%
\ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
- }{}
+ \fi%
\let\xpg@save@thesubsection\thesubsection%
\renewcommand\thesubsection
{\thesection\xpg@sepmark\@arabic\c@subsection}
@@ -26789,30 +26797,30 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nosyriac@luatex@capsformat{%
- \ifcsdef{xpg@save@thesection}{%
+ \ifcsname xpg@save@thesection\endcsname%
\let\thesection\xpg@save@thesection%
- }{}%
- \ifcsdef{xpg@save@theequation}{%
+ \fi%
+ \ifcsname xpg@save@theequation\endcsname%
\let\theequation\xpg@save@theequation%
- }{}%
- \ifcsdef{xpg@save@thefigure}{%
+ \fi%
+ \ifcsname xpg@save@thefigure\endcsname%
\let\thefigure\xpg@save@thefigure%
- }{}%
- \ifcsdef{xpg@save@thetable}{%
+ \fi%
+ \ifcsname xpg@save@thetable\endcsname%
\let\thetable\xpg@save@thetable%
- }{}%
- \ifcsdef{xpg@save@thesubsection}{%
+ \fi%
+ \ifcsname xpg@save@thesubsection\endcsname%
\let\thesubsection\xpg@save@thesubsection%
- \ifcsdef{xpg@save@thesubsubsection}{%
+ \ifcsname xpg@save@thesubsubsection\endcsname%
\let\thesubsubsection\xpg@save@thesubsubsection%
- }{}%
- }{}%
- \ifcsdef{xpg@save@theparagraph}{%
+ \fi%
+ \fi%
+ \ifcsname xpg@save@theparagraph\endcsname%
\let\theparagraph\xpg@save@theparagraph%
- }{}%
- \ifcsdef{xpg@save@thesubparagraph}{%
+ \fi%
+ \ifcsname xpg@save@thesubparagraph\endcsname%
\let\thesubparagraph\xpg@save@thesubparagraph%
- }{}%
+ \fi%
}
\def\blockextras@syriac{%
@@ -26844,7 +26852,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-tamil.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-tamil.ldf}[polyglossia: module for Tamil]
@@ -26914,7 +26922,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-telugu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-telugu.ldf}[polyglossia: module for Telugu]
@@ -26987,7 +26995,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-thai.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-thai.ldf}[polyglossia: module for Thai]
%% This is partly based on thai-latex for Babel:
@@ -27018,19 +27026,25 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@thai@numerals
\def\tmp@thai{thai}
-\define@key{thai}{numerals}[arabic]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@thai
- \@thai@numeralstrue%
- \SetLanguageKeys{thai}{bcp47-extension-u=nu-thai}%
- \else
- \@thai@numeralsfalse%
- \SetLanguageKeys{thai}{bcp47-extension-u=nu-latn}%
- \fi
-}
+
+\DeclareKeys[polyglossia/gloss/thai]
+ {
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \@thai@numeralsfalse
+ \SetLanguageKeys{thai}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / thai.code =
+ {%
+ \@thai@numeralstrue
+ \SetLanguageKeys{thai}{bcp47-extension-u=nu-thai}%
+ },
+ numerals.default:n = arabic,
+ }
% Register default options
-\xpg@initialize@gloss@options{thai}{numerals=arabic}
+\InitializeGlossOptions{thai}{numerals=arabic}
\def\captionsthai{%
\def\refname{หนังสืออ้างอิง}%
@@ -27145,7 +27159,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-tibetan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-tibetan.ldf}[polyglossia: module for Tibetan]
%% Copyright 2013 Elie Roux
@@ -27171,20 +27185,18 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias*{tibetan}{bo}
\newif\if@tibetan@numerals
-\def\tmp@tibetan{tibetan}
-\define@key{tibetan}{numerals}[tibetan]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@tibetan
- \@tibetan@numeralstrue%
- \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-tibt}%
- \else
- \@tibetan@numeralsfalse%
- \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-latn}%
- \fi%
-}
+\DeclareKeys[polyglossia/gloss/tibetan]
+ {
+ numerals.choice:,
+ numerals/tibetan.code = \@tibetan@numeralstrue
+ \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-tibt},
+ numerals/arabic.code = \@tibetan@numeralsfalse
+ \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-latn},
+ numerals.default:n = tibetan
+ }
\ifluatex
- \newluatexattribute\xpg@tibteol %
+ \newattribute\xpg@tibteol %
\directlua{polyglossia.load_tibt_eol()}%
\fi
@@ -27209,7 +27221,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
% Register default options
-\xpg@initialize@gloss@options{tibetan}{numerals=tibetan}
+\InitializeGlossOptions{tibetan}{numerals=tibetan}
% some are known, but very few
% a few come from "Standardizing Tibetan Terms of Information Technology"
@@ -27371,7 +27383,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-turkish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-turkish.ldf}[polyglossia: module for Turkish]
\RequirePackage{hijrical}
@@ -27489,7 +27501,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-turkmen.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for Turkmen]
%% Translations provided by Nazar Annagurban <nazartm at gmail dot com>
@@ -27547,12 +27559,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ug.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)]
% BCP 47 tag for Uyghur
-\xpg@load@master@language{uyghur}
+\InheritGlossFile{uyghur}
% \end{macrocode}
% \iffalse
@@ -27563,7 +27575,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ukrainian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-ukrainian.ldf}[polyglossia: module for Ukrainian]
% Strings taken from Babel
@@ -27591,51 +27603,52 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\ifcyrillic@numerals
\newif\ifcyrillic@asbuk@numerals
-\define@choicekey*+{ukrainian}{numerals}[\xpg@val\xpg@nr]{arabic,cyrillic,cyrillic-trad,cyrillic-alph}[arabic]{%
- \ifcase\xpg@nr\relax
- % arabic:
- \cyrillic@numeralsfalse%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-latn}%
- \or
- % cyrillic:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
- \or
- % cyrillic-trad:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralsfalse%
- \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
- \or
- % cyrillic-alph:
- \cyrillic@numeralstrue%
- \cyrillic@asbuk@numeralstrue%
- \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
- \fi
- \xpg@info{Option: Ukrainian, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Ukrainian numerals value `#1'}}
-
-% Define some math functions
-\define@boolkey{ukrainian}[ukrainian@]{mathfunctions}[true]{}
+\DeclareKeys[polyglossia/gloss/ukrainian]
+ {
+ babelshorthands.if = ukrainian@babelshorthands,
+ babelshorthands.default:n = true,
+ mathfunctions.if = ukrainian@mathfunctions,
+ mathfunctions.default:n = true,
+ numerals.choice:,
+ numerals / arabic.code =
+ {%
+ \cyrillic@numeralsfalse
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-latn}%
+ },
+ numerals / cyrillic.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals / cyrillic-trad.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralsfalse
+ \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals / cyrillic-alph.code =
+ {%
+ \cyrillic@numeralstrue
+ \cyrillic@asbuk@numeralstrue
+ \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
+ },
+ numerals.default:n = arabic,
+ numerals/unknown.code = \xpg@warning{Unknown Ukrainian numerals value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{ukrainian}{numerals=arabic,mathfunctions=true}
-
-\define@boolkey{ukrainian}[ukrainian@]{babelshorthands}[true]{}
+\InitializeGlossOptions{ukrainian}{numerals=arabic,mathfunctions=true}
\ifsystem@babelshorthands
- \setkeys{ukrainian}{babelshorthands=true}
+ \SetGlossOptions{ukrainian}{babelshorthands=true}
\else
- \setkeys{ukrainian}{babelshorthands=false}
+ \SetGlossOptions{ukrainian}{babelshorthands=false}
\fi
-\ifcsundef{initiate@active@char}{%
- \input{babelsh.def}%
- \initiate@active@char{"}%
- \shorthandoff{"}%
-}{}
+\InitializeBabelShorthands
\def\ukrainian@shorthands{%
\xpg@activate@shorthands%
@@ -27862,13 +27875,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-uppersorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-uppersorbian.ldf}[polyglossia: module for Upper Sorbian]
% We provide this as a babel alias
-\xpg@load@master@language{sorbian}
+\InheritGlossFile{sorbian}
% \end{macrocode}
% \iffalse
@@ -27879,7 +27892,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-urdu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
%%% Adapted from a file contributed by Kamal Abdali
\ProvidesFile{gloss-urdu.ldf}[polyglossia: module for Urdu]
@@ -27906,52 +27919,46 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setlanguagealias*{urdu}{ur}
\newif\if@western@numerals
-\define@choicekey*+{urdu}{numerals}[\xpg@val\xpg@nr]{eastern,western}[eastern]{%
- \ifcase\xpg@nr\relax
- % eastern:
- \@western@numeralsfalse%
- \SetLanguageKeys{urdu}{bcp47-extension-u=nu-arab}%
- \or
- % western:
- \@western@numeralstrue%
- \SetLanguageKeys{urdu}{bcp47-extension-u=nu-latn}%
- \fi
- \xpg@info{Option: Urdu, numerals=\xpg@val}%
-}{\xpg@warning{Unknown Urdu numerals option `#1'}}
-
\newif\ifurdu@customsep\urdu@customsepfalse
\def\xpg@sepmark{}
-\define@key{urdu}{sectionsep}[.]{%
- \urdu@customseptrue%
- \gdef\xpg@sepmark{#1}%
-}
-
-%this is needed for \abjad in arabicnumbers.sty
-\define@boolkey{urdu}[urdu@]{abjadjimnotail}[true]{%
- \ifurdu@abjadjimnotail
- \abjad@jim@notailtrue%
- \else
- \abjad@jim@notailfalse
- \fi%
-}
-
\newif\if@hijrical
-\define@choicekey*+{urdu}{calendar}[\xpg@val\xpg@nr]{gregorian,hijri}[gregorian]{%
- \ifcase\xpg@nr\relax
- % gregorian:
- \@hijricalfalse
- \or
- % hijri:
- \@hijricaltrue
- \fi
- \xpg@info{Option: Urdu, calendar=\xpg@val}%
-}{\xpg@warning{Unknown Urdu calendar option `#1'}}
-\define@key{urdu}{hijricorrection}[0]{%
- \gdef\urdu@hijri@correction{#1}}%
+\DeclareKeys[polyglossia/gloss/urdu]
+ {
+ abjadjimnotail.if = abjad@jim@notail,
+ abjadjimnotail.default:n = true,
+ sectionsep.code = \gdef\xpg@sepmark{#1}\urdu@customseptrue,
+ sectionsep.default:n = .,
+ hijricorrection.code = \gdef\urdu@hijri@correction{#1},
+ hijricorrection.default:n = 0,
+ calendar.choice:,
+ calendar / gregorian.code =
+ {%
+ \@hijricalfalse
+ },
+ calendar / hijri.code =
+ {%
+ \@hijricaltrue
+ },
+ calendar.default:n = gregorian,
+ calendar/unknown.code = \xpg@warning{Unknown Urdu calendar option `#1'},
+ numerals.choice:,
+ numerals / eastern.code =
+ {%
+ \@western@numeralsfalse
+ \SetLanguageKeys{urdu}{bcp47-extension-u=nu-arab}%
+ },
+ numerals / western.code =
+ {%
+ \@western@numeralstrue
+ \SetLanguageKeys{urdu}{bcp47-extension-u=nu-latn}%
+ },
+ numerals.default:n = eastern,
+ numerals/unknown.code = \xpg@warning{Unknown Urdu numerals option `#1'}
+ }
% This should set the defaults
-\setkeys{urdu}{calendar,numerals,hijricorrection}
+\SetGlossOptions{urdu}{calendar,numerals,hijricorrection}
\def\urdugregmonth#1{\ifcase#1%
\or جنوری\or فروری\or مارچ\or اپریل\or مئی\or جون\or جولائی\or اگست\or ستمبر\or اکتوبر\or نومبر\or دسمبر\fi}
@@ -28038,16 +28045,16 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nourdu@xetex@capsformat{%
- \ifcsdef{xpg@save@sepmark}{%
+ \ifcsname xpg@save@sepmark\endcsname%
\SepMark{\xpg@save@sepmark}
- }{}%
+ \fi%
}
\def\urdu@luatex@capsformat{%
%
% change chapter and part headings
\ifurdu@customsep
- \ifcsdef{chapter}{%
+ \ifcsname chapter\endcsname%
\let\xpg@save@thesection\thesection%
\renewcommand*\thesection{\thechapter\xpg@sepmark\@arabic\c@section}
\let\xpg@save@theequation\theequation%
@@ -28059,7 +28066,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\xpg@save@thetable\thetable%
\renewcommand*\thetable{%
\ifnum\c@chapter>\z@\thechapter\xpg@sepmark\fi\@arabic\c@table}
- }{}
+ \fi%
\let\xpg@save@thesubsection\thesubsection%
\renewcommand\thesubsection
{\thesection\xpg@sepmark\@arabic\c@subsection}
@@ -28074,30 +28081,30 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}
\def\nourdu@luatex@capsformat{%
- \ifcsdef{xpg@save@thesection}{%
+ \ifcsname xpg@save@thesection\endcsname%
\let\thesection\xpg@save@thesection%
- }{}%
- \ifcsdef{xpg@save@theequation}{%
+ \fi%
+ \ifcsname xpg@save@theequation\endcsname%
\let\theequation\xpg@save@theequation%
- }{}%
- \ifcsdef{xpg@save@thefigure}{%
+ \fi%
+ \ifcsname xpg@save@thefigure\endcsname%
\let\thefigure\xpg@save@thefigure%
- }{}%
- \ifcsdef{xpg@save@thetable}{%
+ \fi%
+ \ifcsname xpg@save@thetable\endcsname%
\let\thetable\xpg@save@thetable%
- }{}%
- \ifcsdef{xpg@save@thesubsection}{%
+ \fi%
+ \ifcsname xpg@save@thesubsection\endcsname%
\let\thesubsection\xpg@save@thesubsection%
- \ifcsdef{xpg@save@thesubsubsection}{%
+ \ifcsname xpg@save@thesubsubsection\endcsname%
\let\thesubsubsection\xpg@save@thesubsubsection%
- }{}%
- }{}%
- \ifcsdef{xpg@save@theparagraph}{%
+ \fi%
+ \fi%
+ \ifcsname xpg@save@theparagraph\endcsname%
\let\theparagraph\xpg@save@theparagraph%
- }{}%
- \ifcsdef{xpg@save@thesubparagraph}{%
+ \fi%
+ \ifcsname xpg@save@thesubparagraph\endcsname%
\let\thesubparagraph\xpg@save@thesubparagraph%
- }{}%
+ \fi%
}
\def\blockextras@urdu{%
@@ -28129,14 +28136,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-usorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-usorbian.ldf}[polyglossia: module for Upper Sorbian]
% We only provide this gloss for babel compatibility. Since usorbian is
% a sorbian variety, we use 'sorbian' with variant 'upper' now.
-\xpg@load@master@language{sorbian}
+\InheritGlossFile{sorbian}
% \end{macrocode}
% \iffalse
@@ -28147,7 +28154,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-uyghur.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur]
%% Translations provided by Osman Tursun (Github Account: neouyghur)
@@ -28171,62 +28178,72 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@uyghur@swapcaptions
\newif\if@uyghur@swapheadings
\newif\if@uyghur@swapheaders
-\define@choicekey*+{uyghur}{swapstrings}[\xpg@val\xpg@nr]{all,captions,headings,headers,hheaders,none}[all]{%
- \ifcase\xpg@nr\relax
- % all:
- \@uyghur@swapcaptionstrue%
- \@uyghur@swapheadingstrue%
- \@uyghur@swapheaderstrue%
- \or
- % captions:
- \@uyghur@swapcaptionstrue%
- \@uyghur@swapheadingsfalse%
- \@uyghur@swapheadersfalse%
- \or
- % headings:
- \@uyghur@swapcaptionsfalse%
- \@uyghur@swapheadingstrue%
- \@uyghur@swapheadersfalse%
- \or
- % headers:
- \@uyghur@swapcaptionsfalse%
- \@uyghur@swapheadingsfalse%
- \@uyghur@swapheaderstrue%
- \or
- % hheaders:
- \@uyghur@swapcaptionsfalse%
- \@uyghur@swapheadingstrue%
- \@uyghur@swapheaderstrue%
- \or
- % none:
- \@uyghur@swapcaptionsfalse%
- \@uyghur@swapheadingsfalse%
- \@uyghur@swapheadersfalse%
- \fi
- \xpg@info{Option: Uyghur, swapstrings=\xpg@val}%
-}{\xpg@warning{Unknown Uyghur swapstrings value `#1'}}
-
\newif\if@uyghur@ordchapter
\newif\if@uyghur@romchapter
-\define@choicekey*+{uyghur}{chapterformat}[\xpg@val\xpg@nr]{ordinal,roman,arabic}[ordinal]{%
- \ifcase\xpg@nr\relax
- % ordinal:
- \@uyghur@ordchaptertrue%
- \@uyghur@romchapterfalse%
- \or
- % roman:
- \@uyghur@ordchapterfalse%
- \@uyghur@romchaptertrue%
- \or
- % arabic:
- \@uyghur@ordchapterfalse%
- \@uyghur@romchapterfalse%
- \fi
- \xpg@info{Option: Uyghur, chapterformat=\xpg@val}%
-}{\xpg@warning{Unknown Uyghur chapterformat value `#1'}}
+
+\DeclareKeys[polyglossia/gloss/uyghur]
+ {
+ chapterformat.choice:,
+ chapterformat / ordinal.code =
+ {%
+ \@uyghur@ordchaptertrue
+ \@uyghur@romchapterfalse
+ },
+ chapterformat / roman.code =
+ {%
+ \@uyghur@ordchapterfalse
+ \@uyghur@romchaptertrue
+ },
+ chapterformat / arabic.code =
+ {%
+ \@uyghur@ordchapterfalse
+ \@uyghur@romchapterfalse
+ },
+ chapterformat.default:n = ordinal,
+ chapterformat/unknown.code = \xpg@warning{Unknown Uyghur chapterformat value `#1'},
+ swapstrings.choice:,
+ swapstrings / all.code =
+ {%
+ \@uyghur@swapcaptionstrue
+ \@uyghur@swapheadingstrue
+ \@uyghur@swapheaderstrue
+ },
+ swapstrings / captions.code =
+ {%
+ \@uyghur@swapcaptionstrue
+ \@uyghur@swapheadingsfalse
+ \@uyghur@swapheadersfalse
+ },
+ swapstrings / headings.code =
+ {%
+ \@uyghur@swapcaptionsfalse
+ \@uyghur@swapheadingstrue
+ \@uyghur@swapheadersfalse
+ },
+ swapstrings / headers.code =
+ {%
+ \@uyghur@swapcaptionsfalse
+ \@uyghur@swapheadingsfalse
+ \@uyghur@swapheaderstrue
+ },
+ swapstrings / hheaders.code =
+ {%
+ \@uyghur@swapcaptionsfalse
+ \@uyghur@swapheadingstrue
+ \@uyghur@swapheaderstrue
+ },
+ swapstrings / none.code =
+ {%
+ \@uyghur@swapcaptionsfalse
+ \@uyghur@swapheadingsfalse
+ \@uyghur@swapheadersfalse
+ },
+ swapstrings.default:n = all,
+ swapstrings/unknown.code = \xpg@warning{Unknown Uyghur swapstrings value `#1'}
+ }
% Register default options
-\xpg@initialize@gloss@options{uyghur}{swapstrings=all,chapterformat=ordinal}
+\InitializeGlossOptions{uyghur}{swapstrings=all,chapterformat=ordinal}
\def\captionsuyghur{%
@@ -28274,120 +28291,104 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% change chapter and part headings
\if@uyghur@swapheadings
% With titlesec
- \ifcsdef{titleformat}{%
- \ifcsdef{H@old@part}{% Hyperref
- \let\xpg@save@part@format\H@old@part%
- \patchcmd{\H@old@part}%
- {\partname\nobreakspace\thepart}%
- {\the@uyghur@part\nobreakspace\partname}%
- {}%
- {\xpg@warning{Failed to patch part for Uyghur}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
- {\partname\nobreakspace\thepart}%
- {\the@uyghur@part\nobreakspace\partname}%
- {}%
- {\xpg@warning{Failed to patch part for Uyghur}}%
- }{}%
- }
- \ifcsdef{chapter}{%
- \titleformat\chapter[display]%
- {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
- {\the@uyghur@chapter\space\@chapapp}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
- }{}%
- }{% (not \ifdefined\titleformat)
+ \@ifundefined{titleformat}{%
% With KOMA
- \ifcsdef{sectionformat}{%
- \ifcsdef{partformat}{%
- \let\xpg@save@part@format\partformat%
- \renewcommand{\partformat}{\the@uyghur@part~\partname}%
- }{}%
- \ifcsdef{chapterformat}{%
- \let\xpg@save@chap@format\chapterformat%
- \renewcommand{\chapterformat}{\mbox{\the@uyghur@chapter%
- \IfUsePrefixLine{\nobreakspace\chapapp}{\enskip}}}%
- }{}%
- }{% (not \ifdefined\sectionformat)
+ \@ifundefined{sectionformat}{%
% With memoir
- \ifcsdef{@memptsize}{%
- \ifcsdef{@makechapterhead}{%
- \let\xpg@save@chap@format\@makechapterhead%
- \patchcmd{\@makechapterhead}{\printchaptername \chapternamenum \printchapternum}%
- {\chapnumfont\the@uyghur@chapter\chapternamenum\printchaptername}%
- {}%
- {\xpg@warning{Failed to patch chapter for Uyghur}}%
- }{}%
- \ifcsdef{H@old@part}{% Hyperref
- \let\xpg@save@part@format\H@old@part%
- \patchcmd{\H@old@part}{\printpartname \partnamenum \printpartnum}%
- {\chapnumfont\the@uyghur@part\partnamenum\printpartname}%
- {}%
- {\xpg@warning{Failed to patch part for Uyghur}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
- {\chapnumfont\the@uyghur@part\partnamenum\printpartname}%
- {}%
- {\xpg@warning{Failed to patch part for Uyghur}}%
- }{}%
- }%
- }{% (not \ifdefined\@memptsize)
+ \@ifundefined{@memptsize}{%
% With standard classes
- \ifcsdef{@makechapterhead}{%
+ \@ifundefined{@makechapterhead}{}{%
\let\xpg@save@chap@format\@makechapterhead%
\patchcmd{\@makechapterhead}%
{\@chapapp\space \thechapter}%
{\the@uyghur@chapter\space \@chapapp}%
{}%
{\xpg@warning{Failed to patch chapter for Uyghur}}%
- }{}%
- \ifcsdef{H@old@part}{% Hyperref
+ }%
+ \@ifundefined{H@old@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\the@uyghur@part\nobreakspace\partname}%
+ {}%
+ {\@ifundefined{part}{}{\xpg@warning{Failed to patch part for Uyghur}}}%
+ }% (end \ifdefined\@part)
+ }{% Hyperref
\let\xpg@save@part@format\H@old@part%
\patchcmd{\H@old@part}%
{\partname\nobreakspace\thepart}%
{\the@uyghur@part\nobreakspace\partname}%
{}%
{\xpg@warning{Failed to patch part for Uyghur}}%
- }{% not hyperref
- \ifcsdef{@part}{%
- \let\xpg@save@part@format\@part%
- \patchcmd{\@part}%
- {\partname\nobreakspace\thepart}%
- {\the@uyghur@part\nobreakspace\partname}%
- {}%
- {\ifcsdef{part}{\xpg@warning{Failed to patch part for Uyghur}}{}}%
- }{}% (end \ifdefined\@part)
}% (end not hyperref)
- }% (end \ifdefined\@memptsize)
- }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\@memptsize)
+ \@ifundefined{@makechapterhead}{}{%
+ \let\xpg@save@chap@format\@makechapterhead%
+ \patchcmd{\@makechapterhead}{\printchaptername \chapternamenum \printchapternum}%
+ {\chapnumfont\the@uyghur@chapter\chapternamenum\printchaptername}%
+ {}%
+ {\xpg@warning{Failed to patch chapter for Uyghur}}%
+ }%
+ \@ifundefined{H@old@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}{\printpartname \partnamenum \printpartnum}%
+ {\chapnumfont\the@uyghur@part\partnamenum\printpartname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Uyghur}}%
+ }%
+ }{% Hyperref
+ \let\xpg@save@part@format\H@old@part%
+ \patchcmd{\H@old@part}{\printpartname \partnamenum \printpartnum}%
+ {\chapnumfont\the@uyghur@part\partnamenum\printpartname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Uyghur}}%
+ }%
+ }% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\sectionformat)
+ \@ifundefined{partformat}{}{%
+ \let\xpg@save@part@format\partformat%
+ \renewcommand{\partformat}{\the@uyghur@part~\partname}%
+ }%
+ \@ifundefined{chapterformat}{}{%
+ \let\xpg@save@chap@format\chapterformat%
+ \renewcommand{\chapterformat}{\mbox{\the@uyghur@chapter%
+ \IfUsePrefixLine{\nobreakspace\chapapp}{\enskip}}}%
+ }%
+ }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
+ \@ifundefined{H@old@part}{% not hyperref
+ \@ifundefined{@part}{}{%
+ \let\xpg@save@part@format\@part%
+ \patchcmd{\@part}%
+ {\partname\nobreakspace\thepart}%
+ {\the@uyghur@part\nobreakspace\partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Uyghur}}%
+ }%
+ }{% Hyperref
+ \let\xpg@save@part@format\H@old@part%
+ \patchcmd{\H@old@part}%
+ {\partname\nobreakspace\thepart}%
+ {\the@uyghur@part\nobreakspace\partname}%
+ {}%
+ {\xpg@warning{Failed to patch part for Uyghur}}%
+ }%
+ \@ifundefined{chapter}{}{%
+ \titleformat\chapter[display]%
+ {\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
+ {\the@uyghur@chapter\space\@chapapp}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
+ }%
}% (end \ifdefined\titleformat)
\fi% (end \if@uyghur@swapheadings)
%
% Change running headers
\if@uyghur@swapheaders
- \ifcsdef{chapterformat}{%
- % With KOMA
- \let\xpg@save@chaptermark@format\chaptermarkformat%
- \renewcommand*\chaptermarkformat{%
- \the@uyghur@chapter\ \IfChapterUsesPrefixLine{\chapapp\enskip}{}}
- }{% (not \ifdefined\chapterformat)
- \ifcsdef{@memptsize}{%
- % With memoir
- \let\xpg@save@chaptermark@format\chaptermark%
- \renewcommand*\chaptermark[1]{%
- \markboth{\memUChead{%
- \ifnum \c@secnumdepth >\m@ne
- \ifbool{@mainmatter}{%
- \the@uyghur@chapter\ \@chapapp\ %
- }{}%
- \fi
- ##1}}{}}%
- }{% (not \ifdefined\@memptsize)
+ \@ifundefined{chapterformat}{%
+ \@ifundefined{@memptsize}{%
% With standard classes
- \ifcsdef{chaptermark}{%
+ \@ifundefined{chaptermark}{}{%
\ifpatchable{\chaptermark}%
{\@chapapp\ \thechapter.}%
{\let\xpg@save@chaptermark@format\chaptermark%
@@ -28397,21 +28398,38 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
{}%
{\xpg@warning{Failed to patch chaptermark for Uyghur}}}%
{}%
- }{}% (end \ifdefined\sectionmark)
- \ifcsdef{sectionmark}{%
- \ifpatchable{\sectionmark}%
- {\thesection.}%
- {\let\xpg@save@sectionmark@format\sectionmark%
- \patchcmd{\sectionmark}%
- {\thesection.}%
- {\thesection}%
- {}%
- {\xpg@warning{Failed to patch sectionmark for Uyghur}}}%
- {}%
- }{}% (end \ifdefined\chaptermark)
+ }% (end \ifdefined\sectionmark)
+ \@ifundefined{sectionmark}{}{%
+ \ifpatchable{\sectionmark}%
+ {\thesection.}%
+ {\let\xpg@save@sectionmark@format\sectionmark%
+ \patchcmd{\sectionmark}%
+ {\thesection.}%
+ {\thesection}%
+ {}%
+ {\xpg@warning{Failed to patch sectionmark for Uyghur}}%
+ }%
+ {}%
+ }% (end \ifdefined\chaptermark)
+ }{% (\ifdefined\@memptsize)
+ % With memoir
+ \let\xpg@save@chaptermark@format\chaptermark%
+ \renewcommand*\chaptermark[1]{%
+ \markboth{\memUChead{%
+ \ifnum \c@secnumdepth >\m@ne
+ \ifbool{@mainmatter}{%
+ \the@uyghur@chapter\ \@chapapp\ %
+ }{}%
+ \fi
+ ##1}}{}}%
}% (end \ifdefined\@memptsize)
+ }{% (\ifdefined\chapterformat)
+ % With KOMA
+ \let\xpg@save@chaptermark@format\chaptermarkformat%
+ \renewcommand*\chaptermarkformat{%
+ \the@uyghur@chapter\ \IfChapterUsesPrefixLine{\chapapp\enskip}{}}
}% (end \ifdefined\chapterformat)
- \fi% (end \if@uyghur@swapheaders)
+ \fi% (end \if@uyghur@swapheaders)
}
\def\nouyghur@capsformat{%
@@ -28421,62 +28439,62 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\fnum@figure\xpg@save@fnum@figure%
%
% Reset chapter and part heading
- \ifcsdef{titleformat}{%
+ \@ifundefined{titleformat}{%
+ \@ifundefined{sectionformat}{%
+ % With memoir and standard classes
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{H@old@part}{%
+ \let\@part\xpg@save@part@format%
+ }{%
+ \let\H@old@part\xpg@save@part@format%
+ }%
+ }%
+ \@ifundefined{xpg@save@chap@format}{}{%
+ \let\@makechapterhead\xpg@save@chap@format
+ }%
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@part@format}{}{%
+ \let\partformat\xpg@save@part@format
+ }%
+ \@ifundefined{xpg@save@chap@format}{}{%
+ \let\chapterformat\xpg@save@chap@format
+ }%
+ }% (end \ifdefined\sectionformat)
+ }{% (\ifdefined\titleformat)
% With titlesec
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{H@old@part}{%
- \let\H@old@part\xpg@save@part@format%
- }{%
+ \@ifundefined{xpg@save@part@format}{}{%
+ \@ifundefined{H@old@part}{%
\let\@part\xpg@save@part@format%
+ }{%
+ \let\H@old@part\xpg@save@part@format%
}%
- }{}%
- \ifcsdef{chapter}{%
+ }%
+ \@ifundefined{chapter}{}{%
\titleformat\chapter[display]%
{\@ifundefined{ttl@fil}{\raggedright}{\ttl@fil}\ttl@fonts\ttl@sizes6}
{\@chapapp\space\thechapter}{.8\baselineskip}{\ttl@sizes\z@\ttl@passexplicit}
- }{}%
- }{% (not \ifdefined\titleformat)
- \ifcsdef{sectionformat}{%
- % With KOMA
- \ifcsdef{xpg@save@part@format}{%
- \let\partformat\xpg@save@part@format
- }{}%
- \ifcsdef{xpg@save@chap@format}{%
- \let\chapterformat\xpg@save@chap@format
- }{}%
- }{%
- % With memoir and standard classes
- \ifcsdef{xpg@save@part@format}{%
- \ifcsdef{H@old@part}{%
- \let\H@old@part\xpg@save@part@format%
- }{%
- \let\@part\xpg@save@part@format%
- }%
- }{}%
- \ifcsdef{xpg@save@chap@format}{%
- \let\@makechapterhead\xpg@save@chap@format
- }{}%
- }% (end \ifdefined\sectionformat)
+ }%
}% (end \ifdefined\titleformat)
%
% Reset headers
- \ifcsdef{chaptermarkformat}{%
- % With KOMA
- \ifcsdef{xpg@save@chaptermark@format}{%
- \let\chaptermarkformat\xpg@save@chaptermark@format%
- }{}%
- }{%
- \ifcsdef{chaptermark}{%
+ \@ifundefined{chaptermarkformat}{%
+ \@ifundefined{chaptermark}{}{%
% With memoir and standard classes
- \ifcsdef{xpg@save@chaptermark@format}{%
+ \@ifundefined{xpg@save@chaptermark@format}{}{%
\let\chaptermark\xpg@save@chaptermark@format%
- }{}%
- }{}% (end \ifdefined\chaptermark)
- \ifcsdef{sectionmark}{%
- \ifcsdef{xpg@save@sectionmark@format}{%
+ }%
+ }% (end \ifdefined\chaptermark)
+ \@ifundefined{sectionmark}{}{%
+ \@ifundefined{xpg@save@sectionmark@format}{}{%
\let\sectionmark\xpg@save@sectionmark@format%
- }{}%
- }{}% (end \ifdefined\sectionmark)
+ }%
+ }% (end \ifdefined\sectionmark)
+ }{%
+ % With KOMA
+ \@ifundefined{xpg@save@chaptermark@format}{}{%
+ \let\chaptermarkformat\xpg@save@chaptermark@format%
+ }%
}% (end \ifdefined\chapterformat)
}
@@ -28512,22 +28530,22 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\the@uyghur@chapter\thechapter
\def\uyghur@chapterformat{%
- \ifcsdef{part}{%
+ \@ifundefined{part}{}{%
\if@uyghur@ordchapter%
\renewcommand{\the@uyghur@part}{\uyghurord{part}}%
\fi%
\if@uyghur@romchapter%
\renewcommand{\the@uyghur@part}{\Roman{part}}%
\fi%
- }{}%
- \ifcsdef{chapter}{%
+ }%
+ \@ifundefined{chapter}{}{%
\if@uyghur@ordchapter%
\renewcommand{\the@uyghur@chapter}{\uyghurord{chapter}}%
\fi%
\if@uyghur@romchapter%
\renewcommand{\the@uyghur@chapter}{\Roman{chapter}}%
\fi%
- }{}%
+ }%
}
\def\uyghur@numbers{%
@@ -28588,7 +28606,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-vietnamese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-vietnamese.ldf}[polyglossia: module for Vietnamese]
%% Strings contributed by Daniel Owens < dhowens . pmbx . net >
@@ -28647,7 +28665,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-welsh.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-welsh.ldf}[polyglossia: module for Welsh]
@@ -28664,21 +28682,26 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% BCP-47 compliant aliases
\setlanguagealias*{welsh}{cy}
-\providebool{welsh@formaldate}
+\@ifundefined{ifwelsh@formaldate}%
+ {\newif\ifwelsh@formaldate}{}
-\define@choicekey*+{welsh}{date}[\xpg@val\xpg@nr]{long,short}[short]{%
- \ifcase\xpg@nr\relax
- % long:
- \welsh@formaldatetrue
- \or
- % accented:
- \welsh@formaldatefalse
- \fi
- \xpg@info{Option: Welsh, date=\xpg@val}%
-}{\xpg@warning{Unknown date value `#1'}}
+\DeclareKeys[polyglossia/gloss/welsh]
+ {
+ date.choice:,
+ date / long.code =
+ {%
+ \welsh@formaldatetrue
+ },
+ date / short.code =
+ {%
+ \welsh@formaldatefalse
+ },
+ date.default:n = short,
+ date/unknown.code = \xpg@warning{Unknown date value `#1'},
+ }
% Register default options
-\xpg@initialize@gloss@options{welsh}{date=short}
+\InitializeGlossOptions{welsh}{date=short}
\def\captionswelsh{%
\def\refname{Cyfeiriadau}%
@@ -28747,13 +28770,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-zh-CN.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-zh-CN.ldf}[polyglossia: module for zh-CN (Chinese)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{chinese}
+\InheritGlossFile{chinese}
% \end{macrocode}
% \iffalse
@@ -28764,268 +28787,26 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-zh-TW.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v2.1 -- 2024/03/07)
+% Language definition file (part of polyglossia v2.2 -- 2024/07/15)
%
\ProvidesFile{gloss-zh-TW.ldf}[polyglossia: module for zh-TW (Chinese)]
% We provide this as a bcp47-compliant alias
-\xpg@load@master@language{chinese}
+\InheritGlossFile{chinese}
% \end{macrocode}
% \iffalse
%</gloss-zh-TW.ldf>
-%<*arabicdigits.map>
-% \fi
-% \clearpage
-%
-% \subsection{arabicdigits.map}
-% \begin{macrocode}
-; FC ...
-LHSName "Digits"
-RHSName "ArabicDigits"
-
-pass(Unicode)
-U+0030 <> U+0660 ;
-U+0031 <> U+0661 ;
-U+0032 <> U+0662 ;
-U+0033 <> U+0663 ;
-U+0034 <> U+0664 ;
-U+0035 <> U+0665 ;
-U+0036 <> U+0666 ;
-U+0037 <> U+0667 ;
-U+0038 <> U+0668 ;
-U+0039 <> U+0669 ;
-
-% \end{macrocode}
-% \iffalse
-%</arabicdigits.map>
-%<*bengalidigits.map>
-% \fi
-% \clearpage
-%
-% \subsection{bengalidigits.map}
-% \begin{macrocode}
-; FC ...
-LHSName "Digits"
-RHSName "BengaliDigits"
-
-pass(Unicode)
-U+0030 <> U+09E6 ;
-U+0031 <> U+09E7 ;
-U+0032 <> U+09E8 ;
-U+0033 <> U+09E9 ;
-U+0034 <> U+09EA ;
-U+0035 <> U+09EB ;
-U+0036 <> U+09EC ;
-U+0037 <> U+09ED ;
-U+0038 <> U+09EE ;
-U+0039 <> U+09EF ;
-
-% \end{macrocode}
-% \iffalse
-%</bengalidigits.map>
-%<*devanagaridigits.map>
-% \fi
-% \clearpage
-%
-% \subsection{devanagaridigits.map}
-% \begin{macrocode}
-; FC ...
-LHSName "Digits"
-RHSName "DevanagariDigits"
-
-pass(Unicode)
-U+0030 <> U+0966 ;
-U+0031 <> U+0967 ;
-U+0032 <> U+0968 ;
-U+0033 <> U+0969 ;
-U+0034 <> U+096A ;
-U+0035 <> U+096B ;
-U+0036 <> U+096C ;
-U+0037 <> U+096D ;
-U+0038 <> U+096E ;
-U+0039 <> U+096F ;
-
-% \end{macrocode}
-% \iffalse
-%</devanagaridigits.map>
-%<*farsidigits.map>
-% \fi
-% \clearpage
-%
-% \subsection{farsidigits.map}
-% \begin{macrocode}
-; FC ...
-LHSName "Digits"
-RHSName "FarsiDigits"
-
-pass(Unicode)
-U+0030 <> U+06F0 ;
-U+0031 <> U+06F1 ;
-U+0032 <> U+06F2 ;
-U+0033 <> U+06F3 ;
-U+0034 <> U+06F4 ;
-U+0035 <> U+06F5 ;
-U+0036 <> U+06F6 ;
-U+0037 <> U+06F7 ;
-U+0038 <> U+06F8 ;
-U+0039 <> U+06F9 ;
-
-% \end{macrocode}
-% \iffalse
-%</farsidigits.map>
-%<*gurmukhidigits.map>
-% \fi
-% \clearpage
-%
-% \subsection{gurmukhidigits.map}
-% \begin{macrocode}
-; FC ...
-LHSName "Digits"
-RHSName "GurmukhiDigits"
-
-pass(Unicode)
-U+0030 <> U+0A66 ;
-U+0031 <> U+0A67 ;
-U+0032 <> U+0A68 ;
-U+0033 <> U+0A69 ;
-U+0034 <> U+0A6A ;
-U+0035 <> U+0A6B ;
-U+0036 <> U+0A6C ;
-U+0037 <> U+0A6D ;
-U+0038 <> U+0A6E ;
-U+0039 <> U+0A6F ;
-
-% \end{macrocode}
-% \iffalse
-%</gurmukhidigits.map>
-%<*odiadigits.map>
-% \fi
-% \clearpage
-%
-% \subsection{odiadigits.map}
-% \begin{macrocode}
-; FC ...
-LHSName "Digits"
-RHSName "OdiaDigits"
-
-pass(Unicode)
-U+0030 <> U+0B66 ;
-U+0031 <> U+0B67 ;
-U+0032 <> U+0B68 ;
-U+0033 <> U+0B69 ;
-U+0034 <> U+0B6A ;
-U+0035 <> U+0B6B ;
-U+0036 <> U+0B6C ;
-U+0037 <> U+0B6D ;
-U+0038 <> U+0B6E ;
-U+0039 <> U+0B6F ;
-
-% \end{macrocode}
-% \iffalse
-%</odiadigits.map>
-%<*thaidigits.map>
-% \fi
-% \clearpage
-%
-% \subsection{thaidigits.map}
-% \begin{macrocode}
-; FC ...
-LHSName "Digits"
-RHSName "ThaiDigits"
-
-pass(Unicode)
-U+0030 <> U+0E50 ;
-U+0031 <> U+0E51 ;
-U+0032 <> U+0E52 ;
-U+0033 <> U+0E53 ;
-U+0034 <> U+0E54 ;
-U+0035 <> U+0E55 ;
-U+0036 <> U+0E56 ;
-U+0037 <> U+0E57 ;
-U+0038 <> U+0E58 ;
-U+0039 <> U+0E59 ;
-
-% \end{macrocode}
-% \iffalse
-%</thaidigits.map>
-%<*polyglossia-french.lua>
-% \fi
-% \clearpage
-%
-% \subsection{polyglossia-french.lua}
-% \begin{macrocode}
---
--- polyglossia-punct.lua
--- part of polyglossia v2.1 -- 2024/03/07
---
-
-require('polyglossia-punct')
-
-local function set_left_space(lang, char, kern, rubber)
- polyglossia.add_left_spaced_character(lang, char, kern, "space", rubber)
-end
-
-local function set_right_space(lang, char, kern, rubber)
- polyglossia.add_right_spaced_character(lang, char, kern, "space", rubber)
-end
-
-local function activate_french_punct(thincolonspace, autospaceguillemets)
- -- We need different language tags here to make switching of options possible
- -- within a paragraph.
- local lang = "french"
- if thincolonspace then
- lang = lang.."-thincolon"
- end
- if autospaceguillemets then
- lang = lang.."-autospace"
- end
-
- polyglossia.activate_punct(lang)
- polyglossia.clear_spaced_characters(lang)
-
- if thincolonspace then
- set_left_space(lang, ':', 0.5)
- else
- set_left_space(lang, ':', 1, true) -- stretchable and shrinkable space
- end
-
- set_left_space(lang, '!', 0.5)
- set_left_space(lang, '?', 0.5)
- set_left_space(lang, ';', 0.5)
- set_left_space(lang, '‼', 0.5)
- set_left_space(lang, '⁇', 0.5)
- set_left_space(lang, '⁈', 0.5)
- set_left_space(lang, '⁉', 0.5)
- set_left_space(lang, '‽', 0.5) -- U+203D (interrobang)
-
- if autospaceguillemets then
- set_left_space(lang, '»', 0.5)
- set_left_space(lang, '›', 0.5)
- set_right_space(lang, '«', 0.5)
- set_right_space(lang, '‹', 0.5)
- end
-end
-
-local function deactivate_french_punct()
- polyglossia.deactivate_punct()
-end
-
-polyglossia.activate_french_punct = activate_french_punct
-polyglossia.deactivate_french_punct = deactivate_french_punct
-% \end{macrocode}
-% \iffalse
-%</polyglossia-french.lua>
-%<*polyglossia-korean.lua>
+%<*polyglossia-cjk-spacing.lua>
% \fi
% \clearpage
%
-% \subsection{polyglossia-korean.lua}
+% \subsection{polyglossia-cjk-spacing.lua}
% \begin{macrocode}
--
--- polyglossia-korean.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- polyglossia-cjk-spacing.lua
+-- part of polyglossia v2.2 -- 2024/07/15
--
local glyph_id = node.id"glyph"
@@ -29033,13 +28814,17 @@ local hbox_id = node.id"hlist"
local vbox_id = node.id"vlist"
local glue_id = node.id"glue"
local penalty_id = node.id"penalty"
-local disc_id = node.id"disc"
+local whatsit_id = node.id"whatsit"
+local math_id = node.id"math"
--
--- attr_korean: variant = plain (0), classic (1), modern (2)
+-- attr_cjk: variant = plain: 0, JP/classic: 1, KR/modern: 2, SC: 3, TC: 4
+--
+local attr_cjk = luatexbase.attributes["xpg@attr@cjkspacing"]
+--
+-- attr_josa: ONLY For Korean. DO NOT declare \newattribute for other langs
--
-local attr_korean = luatexbase.attributes["xpg@attr@korean"]
-local attr_josa = luatexbase.attributes["xpg@attr@autojosa"]
+local attr_josa = luatexbase.attributes["xpg@attr@autojosa"]
--
-- characters after which linebreak is not allowed
@@ -29088,9 +28873,9 @@ local nobr_after = {
-- characters before which linebreak is not allowed
-- (currently, not much differences among the followings)
-- 1: normal chars
--- 2: hangul jamo vowels and trailing consonants
+-- 2: hangul jamo vowels and trailing consonants plus combinings
-- 3: kana small letters
--- 0: dashes (supress visible spacing)
+-- 0: dashes (suppress visible spacing after this char)
--
local nobr_before = setmetatable({
[0x21] = 1, -- ! EXCLAMATION MARK
@@ -29101,7 +28886,7 @@ local nobr_before = setmetatable({
[0x2D] = 0, -- - HYPHEN-MINUS
[0x2E] = 1, -- . FULL STOP
[0x2F] = 0, -- / SOLIDUS
- [0x3A] = 0, -- : COLON
+ [0x3A] = 1, -- : COLON
[0x3B] = 1, -- ; SEMICOLON
[0x3E] = 1, -- > GREATER-THAN SIGN
[0x3F] = 1, -- ? QUESTION MARK
@@ -29113,11 +28898,11 @@ local nobr_before = setmetatable({
[0xBB] = 1, -- » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
[0x2013] = 0, -- – EN DASH
[0x2014] = 0, -- — EM DASH
- [0x2015] = 1, -- ― HORIZONTAL BAR
+ [0x2015] = 0, -- ― HORIZONTAL BAR
[0x2019] = 1, -- ’ RIGHT SINGLE QUOTATION MARK
[0x201D] = 1, -- ” RIGHT DOUBLE QUOTATION MARK
- [0x2025] = 1, -- ‥ TWO DOT LEADER
- [0x2026] = 1, -- … HORIZONTAL ELLIPSIS
+ [0x2025] = 0, -- ‥ TWO DOT LEADER
+ [0x2026] = 0, -- … HORIZONTAL ELLIPSIS
[0x232A] = 1, -- 〉 RIGHT-POINTING ANGLE BRACKET
[0x3001] = 1, -- 、 IDEOGRAPHIC COMMA
[0x3002] = 1, -- 。 IDEOGRAPHIC FULL STOP
@@ -29149,10 +28934,10 @@ local nobr_before = setmetatable({
[0x308E] = 3, -- ゎ HIRAGANA LETTER SMALL WA
[0x3095] = 3, -- ゕ HIRAGANA LETTER SMALL KA
[0x3096] = 3, -- ゖ HIRAGANA LETTER SMALL KE
- [0x3099] = 1, -- COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
- [0x309A] = 1, -- COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
- [0x309B] = 1, -- ゛ KATAKANA-HIRAGANA VOICED SOUND MARK
- [0x309C] = 1, -- ゜ KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+ [0x3099] = 2, -- COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
+ [0x309A] = 2, -- COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+ [0x309B] = 2, -- ゛ KATAKANA-HIRAGANA VOICED SOUND MARK
+ [0x309C] = 2, -- ゜ KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
[0x309D] = 1, -- ゝ HIRAGANA ITERATION MARK
[0x309E] = 1, -- ゞ HIRAGANA VOICED ITERATION MARK
[0x30A0] = 1, -- ゠ KATAKANA-HIRAGANA DOUBLE HYPHEN
@@ -29172,9 +28957,9 @@ local nobr_before = setmetatable({
[0x30FC] = 1, -- ー KATAKANA-HIRAGANA PROLONGED SOUND MARK
[0x30FD] = 1, -- ヽ KATAKANA ITERATION MARK
[0x30FE] = 1, -- ヾ KATAKANA VOICED ITERATION MARK
- [0xFE30] = 1, -- ︰ PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
- [0xFE31] = 1, -- ︱ PRESENTATION FORM FOR VERTICAL EM DASH
- [0xFE32] = 1, -- ︲ PRESENTATION FORM FOR VERTICAL EN DASH
+ [0xFE30] = 0, -- ︰ PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+ [0xFE31] = 0, -- ︱ PRESENTATION FORM FOR VERTICAL EM DASH
+ [0xFE32] = 0, -- ︲ PRESENTATION FORM FOR VERTICAL EN DASH
[0xFE36] = 1, -- ︶ PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
[0xFE38] = 1, -- ︸ PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
[0xFE3A] = 1, -- ︺ PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
@@ -29201,18 +28986,18 @@ local nobr_before = setmetatable({
[0xFF63] = 1, -- 」 HALFWIDTH RIGHT CORNER BRACKET
[0xFF64] = 1, -- 、 HALFWIDTH IDEOGRAPHIC COMMA
[0xFF65] = 1, -- ・ HALFWIDTH KATAKANA MIDDLE DOT
- [0xFF9E] = 1, -- ゙ HALFWIDTH KATAKANA VOICED SOUND MARK
- [0xFF9F] = 1, -- ゚ HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+ [0xFF9E] = 2, -- ゙ HALFWIDTH KATAKANA VOICED SOUND MARK
+ [0xFF9F] = 2, -- ゚ HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
}, { __index = function(_,c)
if c >= 0x1160 and c <= 0x11FF then return 2 end
if c >= 0xD7B0 and c <= 0xD7FF then return 2 end
- if c >= 0x302A and c <= 0x302F then return 1 end
+ if c >= 0x302A and c <= 0x302F then return 2 end -- tone marks
if c >= 0x31F0 and c <= 0x31FF then return 3 end
if c >= 0xFF67 and c <= 0xFF70 then return 3 end
- if c >= 0xFE00 and c <= 0xFE0F then return 1 end
+ if c >= 0xFE00 and c <= 0xFE0F then return 2 end -- variation selectors
if c >= 0xFE10 and c <= 0xFE19 and not (c == 0xFE17) then return 1 end
if c >= 0xFE50 and c <= 0xFE58 then return 1 end
- if c >= 0xE0100 and c <= 0xE01EF then return 1 end
+ if c >= 0xE0100 and c <= 0xE01EF then return 2 end -- variation selecters
end
})
@@ -29230,6 +29015,7 @@ local function is_cjk (c)
or c >= 0xFF00 and c <= 0xFFEF
or c >= 0x1F100 and c <= 0x1F2FF
or c >= 0x20000 and c <= 0x2FA1F
+ or c >= 0x30000 and c <= 0x323AF
or nobr_after[c] and c > 0x2014
or nobr_before[c] and c > 0x2014
end
@@ -29269,8 +29055,28 @@ local charclass = setmetatable({
}, { __index = function() return 0 end })
--
+-- get character class
+-- var : variant = plain, JP/classic, KR/modern, SC, TC
+-- c : codepoint
+--
+local function get_charclass (var, c)
+ if var < 3 then
+ return charclass[c]
+ elseif var == 3 then
+ -- SC : these are left aligned
+ return (c == 0xFF01 or c == 0xFF1F) and 4 -- FULLWIDTH EXCLAMATION/QUESTION MARK
+ or (c == 0xFF1A or c == 0xFF1B) and 2 -- FULLWIDTH COLON/SEMICOLON
+ or charclass[c]
+ end
+ -- TC : these are center aligned
+ return (c == 0x3001 or c == 0xFF0C) and 3 -- IDEOGRAPHIC/FULLWIDTH COMMA
+ or (c == 0x3002 or c == 0xFF0E) and 3 -- IDEOGRAPHIC/FULLWIDTH FULL STOP -- 5 ?
+ or charclass[c]
+end
+
+--
-- table for spacing between char classes
--- 1 stands for 0.5*fontsize when variant=classic
+-- 1 stands for 0.5*fontsize when variant = JP/classic or SC or TC
--
local intercharclass = { [0] =
{ [0] = nil, {1,1}, nil, {.5,.5} },
@@ -29302,7 +29108,7 @@ end
--
-- return 0.5*fontsize of given fontid
--- space: true if variant=modern; then 0.5*interword_space
+-- space: true if variant=KR/modern; then 0.5*interword_space
--
local function get_font_size (fid, space)
local size = font.getparameters(fid)
@@ -29316,7 +29122,7 @@ end
--
-- charclass 1 thru 4 will be packed in \hbox to 0.5em{\hss? curr \hss?}
--- when variant=classic/modern
+-- when variant ~= plain
--
local function glyph_to_box (head, curr, class)
local g, h = curr
@@ -29345,7 +29151,7 @@ end
--
-- insert spacing defined as charclass[a][b] between a and b
-- f: fontid
--- var: variant = plain, classic, modern
+-- var: variant = plain, JP/classic, KR/modern, SC, TC
-- cc: charclass of current char
-- nc: charclass of next char
-- nobr: linebreak is not allowed
@@ -29364,12 +29170,16 @@ end
--
-- insert inter-character spacing in other normal cases
--- f: fontid
--- var: variant = plain, classic, modern
--- x: true between cjk and non-cjk (a little more spacing)
+-- f: fontid
+-- var: variant = plain, JP/classic, KR/modern, SC, TC
+-- nobr: no linebreak
+-- x: true between cjk and non-cjk (a little more spacing)
--
-local function insert_penalty_glue (head, curr, f, var, x)
- if var ~= 1 then
+local function insert_penalty_glue (head, curr, f, var, nobr, x)
+ if nobr then
+ local penalty = get_new_penalty(10000)
+ head, curr = node.insert_after(head, curr, penalty)
+ elseif var == 0 or var == 2 then
local penalty = get_new_penalty(50)
head, curr = node.insert_after(head, curr, penalty)
end
@@ -29385,53 +29195,64 @@ end
--
-- main process for linebreak and inter-character spacing
--- lb: true if pre_linebreak_filter
--
-local function korean_break (head, lb)
+local function cjk_break (head)
local curr = head
while curr do
- if curr.id == glyph_id then
- local var = node.has_attribute(curr, attr_korean)
+ if attr_cjk and (curr.id == glyph_id or curr.id == math_id and curr.subtype == 1) then
+ local var = node.has_attribute(curr, attr_cjk)
if var then
- local c, f = curr.char or 0, curr.font or 0
- local cc, cjkc = charclass[c], is_cjk(c)
+ local c, f = curr.char or 0, curr.font
+ local cc, cjkc = get_charclass(var, c), is_cjk(c)
-- compress cjk punctuations when charclass is 1 thru 4
if var > 0 and cc > 0 and cc < 5 then
head, curr = glyph_to_box(head, curr, cc)
end
- local next = curr.next
- if next and next.id == glyph_id then
+ local next = node.getnext(curr)
+ while next and next.id == whatsit_id do -- skip whatsit nodes
+ curr, next = next, node.getnext(next)
+ end
+
+ if next and (next.id == glyph_id or next.id == math_id and next.subtype == 0) then
local n = next.char or 0
- local nc = charclass[n]
+ f = f or next.font or 0 -- in case of curr == math_off
+
+ -- skip combining. or dash+dash case to suppress stretching
+ if nobr_before[n] == 2 or (nobr_before[c] == 0 and nobr_before[n] == 0) then
+ goto skip_combining
+ end
+
+ local nc = get_charclass(var, n)
local nobr = nobr_before[n] or nobr_after[c]
-- insert spacing as of intercharclass
if var > 0 and intercharclass[cc][nc] then
head, curr = insert_cjk_penalty_glue(head, curr, f, var, cc, nc, nobr)
- -- or insert spacing when linebreak is allowed
- elseif not nobr then
+ else
local cjkn = is_cjk(n)
-- if curr or next is cjk char
if cjkc or cjkn then
- -- if between cjk and non-cjk
- if var > 0 and not (cjkc and cjkn) and nobr_before[c] ~= 0 then
- head, curr = insert_penalty_glue(head, curr, f, var, true)
+ -- plain variant / cjk+cjk / nobr cjk+noncjk / after dash
+ -- : insert a 0pt glue
+ if var == 0 or (cjkc and cjkn) or nobr or nobr_before[c] == 0 then
+ head, curr = insert_penalty_glue(head, curr, f, var, nobr)
- -- or under pre_linebreak_filter
- elseif lb then
- head, curr = insert_penalty_glue(head, curr, f, var)
+ -- other cases: insert a small glue
+ else
+ head, curr = insert_penalty_glue(head, curr, f, var, nobr, true)
end
end
end
end
end
end
- curr = curr.next
+ ::skip_combining::
+ curr = node.getnext(curr)
end
return head
end
@@ -29445,7 +29266,7 @@ end
local function reorder_tm (head)
local curr, tone = node.slide(head)
while curr do
- if curr.id == glyph_id and node.has_attribute(curr, attr_korean) then
+ if curr.id == glyph_id and node.has_attribute(curr, attr_cjk) then
local f = font.getfont(curr.font) or font.fonts[curr.font]
if f and f.hb then -- harfbuzz do the right thing
tone = nil
@@ -29461,7 +29282,7 @@ local function reorder_tm (head)
end
end
end
- curr = curr.prev
+ curr = node.getprev(curr)
end
return head
end
@@ -29548,7 +29369,7 @@ local function get_prev_char (p)
local pc = get_prev_char(node.slide(p.head))
if pc then return pc end
end
- p = p.prev
+ p = node.getprev(p)
end
end
@@ -29563,10 +29384,10 @@ local function auto_josa (head)
if josa then
local cc = curr.char or 0
if josa == 0 then
- josa = josa_code[get_prev_char(curr.prev) or 0x30]
+ josa = josa_code[get_prev_char(node.getprev(curr)) or 0x30]
end
if cc == 0xC774 then
- local n = curr.next
+ local n = node.getnext(curr)
if n and n.char and n.char >= 0xAC00 and n.char <= 0xD7A3 then
else
cc = 0xAC00
@@ -29585,7 +29406,7 @@ local function auto_josa (head)
node.unset_attribute(curr, attr_josa)
end
end
- curr = curr.next
+ curr = node.getnext(curr)
end
for _,v in ipairs(tofree) do node.free(v) end
return head
@@ -29596,45 +29417,86 @@ end
-- As char value of glyphs can be changed by opentype GSUB process,
-- we have to occupy the first position among callback functions.
--
-local prepend_to_callback
-if luatexbase.base_add_to_callback then
- prepend_to_callback = function(name, func, desc)
- luatexbase.add_to_callback(name, func, desc, 1)
+luatexbase.add_to_callback( "pre_shaping_filter",
+function(head)
+ if attr_josa then head = auto_josa(head) end
+ head = cjk_break(head)
+ if attr_josa then head = reorder_tm(head) end
+ return head
+end,
+"polyglossia.lang_cjk_spacing")
+
+-- vim:ft=lua:tw=0:sw=4:ts=4:expandtab
+% \end{macrocode}
+% \iffalse
+%</polyglossia-cjk-spacing.lua>
+%<*polyglossia-french.lua>
+% \fi
+% \clearpage
+%
+% \subsection{polyglossia-french.lua}
+% \begin{macrocode}
+--
+-- polyglossia-punct.lua
+-- part of polyglossia v2.2 -- 2024/07/15
+--
+
+require('polyglossia-punct')
+
+local function set_left_space(lang, char, kern, rubber)
+ polyglossia.add_left_spaced_character(lang, char, kern, "space", rubber)
+end
+
+local function set_right_space(lang, char, kern, rubber)
+ polyglossia.add_right_spaced_character(lang, char, kern, "space", rubber)
+end
+
+local function activate_french_punct(thincolonspace, autospaceguillemets)
+ -- We need different language tags here to make switching of options possible
+ -- within a paragraph.
+ local lang = "french"
+ if thincolonspace then
+ lang = lang.."-thincolon"
end
-else
- prepend_to_callback = function(name, func, desc)
- local t = { {func, desc} }
- for _,v in ipairs(luatexbase.callback_descriptions(name)) do
- table.insert(t, {luatexbase.remove_from_callback(name, v)})
- end
- for _,v in ipairs(t) do
- luatexbase.add_to_callback(name, v[1], v[2])
- end
+ if autospaceguillemets then
+ lang = lang.."-autospace"
+ end
+
+ polyglossia.activate_punct(lang)
+ polyglossia.clear_spaced_characters(lang)
+
+ if thincolonspace then
+ set_left_space(lang, ':', 0.5)
+ else
+ set_left_space(lang, ':', 1, true) -- stretchable and shrinkable space
+ end
+
+ set_left_space(lang, '!', 0.5)
+ set_left_space(lang, '?', 0.5)
+ set_left_space(lang, ';', 0.5)
+ set_left_space(lang, '‼', 0.5)
+ set_left_space(lang, '⁇', 0.5)
+ set_left_space(lang, '⁈', 0.5)
+ set_left_space(lang, '⁉', 0.5)
+ set_left_space(lang, '‽', 0.5) -- U+203D (interrobang)
+
+ if autospaceguillemets then
+ set_left_space(lang, '»', 0.5)
+ set_left_space(lang, '›', 0.5)
+ set_right_space(lang, '«', 0.5)
+ set_right_space(lang, '‹', 0.5)
end
end
-prepend_to_callback ("pre_linebreak_filter",
- function(head)
- head = auto_josa(head)
- head = korean_break(head, true)
- head = reorder_tm(head)
- return head
- end,
- "polyglossia.lang_korean")
-
-prepend_to_callback ("hpack_filter",
- function(head)
- head = auto_josa(head)
- head = korean_break(head)
- head = reorder_tm(head)
- return head
- end,
- "polyglossia.lang_korean")
+local function deactivate_french_punct()
+ polyglossia.deactivate_punct()
+end
--- vim:ft=lua:tw=0:sw=4:ts=4:expandtab
+polyglossia.activate_french_punct = activate_french_punct
+polyglossia.deactivate_french_punct = deactivate_french_punct
% \end{macrocode}
% \iffalse
-%</polyglossia-korean.lua>
+%</polyglossia-french.lua>
%<*polyglossia-latin.lua>
% \fi
% \clearpage
@@ -29643,7 +29505,7 @@ prepend_to_callback ("hpack_filter",
% \begin{macrocode}
--
-- polyglossia-latin.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
require('polyglossia-punct')
@@ -29698,14 +29560,13 @@ polyglossia.deactivate_latin_punct = deactivate_latin_punct
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
require('polyglossia') -- just in case...
local add_to_callback = luatexbase.add_to_callback
-local remove_from_callback = luatexbase.remove_from_callback
-local priority_in_callback = luatexbase.priority_in_callback
+local declare_callback_rule = luatexbase.declare_callback_rule
local new_attribute = luatexbase.new_attribute
local node = node
@@ -30029,13 +29890,16 @@ local function activate(lang)
-- important to be able to intermix languages with different spacings
-- in one paragraph.
tex.setattribute(punct_attr, id)
- for _, callback_name in ipairs{ "pre_linebreak_filter", "hpack_filter" } do
- if not priority_in_callback(callback_name, "polyglossia-punct.process") then
- add_to_callback(callback_name, process, "polyglossia-punct.process", 1)
- end
- end
end
+add_to_callback("pre_linebreak_filter",process,"polyglossia-punct.process")
+add_to_callback("hpack_filter",process,"polyglossia-punct.process")
+declare_callback_rule("pre_linebreak_filter",
+ "polyglossia-punct.process", "before", "luaotfload.node_processor")
+declare_callback_rule("hpack_filter",
+ "polyglossia-punct.process", "before", "luaotfload.node_processor")
+
+
local function deactivate()
tex.setattribute(punct_attr, -0x7FFFFFFF) -- this value means "unset"
-- Though it would make compilation slightly faster, it is not possible to
@@ -30066,7 +29930,7 @@ polyglossia.clear_spaced_characters = clear_spaced_characters
% \begin{macrocode}
--
-- polyglossia-sanskrit.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
require('polyglossia-punct')
@@ -30116,31 +29980,29 @@ polyglossia.deactivate_sanskrit_punct = deactivate_sanskrit_punct
% \begin{macrocode}
--
-- polyglossia-tibt.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
require('polyglossia') -- just in case...
local add_to_callback = luatexbase.add_to_callback
local remove_from_callback = luatexbase.remove_from_callback
+local declare_callback_rule = luatexbase.declare_callback_rule
local priority_in_callback = luatexbase.priority_in_callback
local next, type = next, type
-
-local nodes, fonts, node = nodes, fonts, node
-
-local nodecodes = nodes.nodecodes --- <= preloaded node.types()
+local node = node
local insert_node_before = node.insert_before
local insert_node_after = node.insert_after
-local remove_node = nodes.remove
+local remove_node = node.remove
local copy_node = node.copy
local has_attribute = node.has_attribute
local end_of_math = node.end_of_math
if not end_of_math then -- luatex < .76
local traverse_nodes = node.traverse_id
- local math_code = nodecodes.math
+ local math_code = node.id('math_char')
local end_of_math = function (n)
for n in traverse_nodes(math_code, n.next) do
return n
@@ -30148,10 +30010,10 @@ if not end_of_math then -- luatex < .76
end
end
--- node types as of April 2013
-local glyph_code = nodecodes.glyph
-local penalty_code = nodecodes.penalty
-local kern_code = nodecodes.kern
+-- node types as of April 2024
+local glyph_code = node.id('glyph')
+local penalty_code = node.id('penalty')
+local kern_code = node.id('kern')
-- we make a new node, so that we can copy it later on
local penalty_node = node.new(penalty_code)
@@ -30182,7 +30044,6 @@ local function process(head)
end
end
elseif id == math_code then
- -- warning: this is a feature of luatex > 0.76
start = end_of_math(start) -- weird, can return nil .. no math end?
end
if start then
@@ -30195,15 +30056,13 @@ end
local callback_name = "pre_linebreak_filter"
local function activate()
- if not priority_in_callback (callback_name, "polyglossia-tibt.process") then
- add_to_callback(callback_name, process, "polyglossia-tibt.process", 1)
- end
+ add_to_callback(callback_name, process, "polyglossia-tibt.process")
+ declare_callback_rule(callback_name,
+ "polyglossia-tibt.process", "before", "luaotfload.node_processor")
end
local function desactivate()
- if priority_in_callback (callback_name, "polyglossia-tibt.process") then
- remove_from_callback(callback_name, "polyglossia-tibt.process")
- end
+ remove_from_callback(callback_name, "polyglossia-tibt.process")
end
polyglossia.activate_tibt_eol = activate
@@ -30219,7 +30078,7 @@ polyglossia.desactivate_tibt_eol = desactivate
% \begin{macrocode}
--
-- polyglossia.lua
--- part of polyglossia v2.1 -- 2024/03/07
+-- part of polyglossia v2.2 -- 2024/07/15
--
local module_name = "polyglossia"
@@ -30295,7 +30154,7 @@ local function newloader(langentry)
end
-- language info will be written into the .log file
- local s = { "Language data for " .. langentry }
+ local s = { }
for k, v in pairs(langdata) do
if type(v) == 'table' then -- for 'synonyms'
s[#s+1] = k .. "\t" .. table.concat(v,',')
@@ -30303,7 +30162,10 @@ local function newloader(langentry)
s[#s+1] = k .. "\t" .. tostring(v)
end
end
- log_info(table.concat(s,"\n"))
+ local a = {}
+ for _,n in pairs(s) do table.insert(a, n) end
+ table.sort(a)
+ log_info("Language data for " .. langentry .. "\n" .. table.concat(a,"\n"))
--
-- LaTeX's \newlanguage increases language register (count19),
@@ -30313,7 +30175,7 @@ local function newloader(langentry)
-- this possible situation, our newloader() function will
-- unfortunately overwrite the language \lang@xyz.
--
- -- Threfore here we will compare LaTeX's \newlanguage number with
+ -- Therefore here we will compare LaTeX's \newlanguage number with
-- LuaTeX's lang.new() id and select the bigger one for our new
-- language object. Also we will update LaTeX's language register
-- by this new id, so that another possible \newlanguage should not
@@ -30328,7 +30190,7 @@ local function newloader(langentry)
local newlangid = math.max(langcnt, langid)
-- set language register for possible \newlanguage
tex.setcount('global', lang_register, newlangid)
- -- get new lang object if needeed
+ -- get new lang object if needed
if langid ~= newlangid then
langobject = lang.new(newlangid)
end
@@ -30394,7 +30256,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\setmainfont{Linux Libertine O}
\defaultfontfeatures{Scale=MatchLowercase}
\setmonofont{Inconsolata}
-\newfontfamily\arabicfont[Script=Arabic]{Amiri}
+\newfontfamily\arabicfont[Script=Arabic]{Amiri}[%
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ Extension = .ttf,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic]
\newfontfamily\syriacfont[Script=Syriac]{Serto Jerusalem}
\newfontfamily\hebrewfont[Script=Hebrew]{Ezra SIL}
\newfontfamily\sanskritfont[Script=Devanagari]{Sanskrit 2003}
@@ -30530,7 +30397,12 @@ Quamquam sermone nativo fungi desinit, cumque nostris diebus perpauci Latine loq
\usepackage{xltxtra,url,amsmath}
\setmainfont{Linux Libertine O}
\defaultfontfeatures{Scale=MatchLowercase}
-\newfontfamily\arabicfont[Script=Arabic]{Amiri}
+\newfontfamily\arabicfont[Script=Arabic]{Amiri}[%
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ Extension = .ttf,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic]
\newfontfamily\arabicfonttt[Script=Arabic,Scale=.75]{DejaVu Sans Mono}
\newfontfamily\farsifont[Script=Arabic,Scale=1.1,WordSpace=2]{IranNastaliq}
\let\XeTeX\undefined
@@ -30700,7 +30572,7 @@ This is today: \today
% \typeout{* To finish the installation you have to move the following}
% \typeout{* file into a directory searched by TeX:}
% \typeout{*}
-% \typeout{* \space\space all *.sty, *.lua, *.def, *.lde and *.ldf files}
+% \typeout{* \space\space\space all *.sty, *.lua, *.def and *.ldf files}
% \typeout{*}
% \typeout{* You also need to compile the *.map files with teckit_compile}
% \typeout{* and place the resulting *.tec files under}
diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.pdf b/macros/unicodetex/latex/polyglossia/polyglossia.pdf
index d218332d9b..f7b12a7bd6 100644
--- a/macros/unicodetex/latex/polyglossia/polyglossia.pdf
+++ b/macros/unicodetex/latex/polyglossia/polyglossia.pdf
Binary files differ